diff --git a/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_0.json b/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_0.json new file mode 100644 index 0000000..06f4ffa --- /dev/null +++ b/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_0.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1.0,"startIndex":0,"numberOfSamples":1000,"samples":[-0.002403025022753476,-2.5083047211757836e-5,-1.721638967214743e-8,-0.002402558217007106,-2.5020003017226545e-5,-1.7146589882925253e-8,-0.002402152743739069,-2.4908815008776256e-5,-1.7018183343380784e-8,-0.0024018177616850914,-2.4779340864272868e-5,-1.686693112266686e-8,-0.0024015512294922256,-2.4661265859267777e-5,-1.672851429567895e-8,-0.0024013415089134365,-2.4580601237402673e-5,-1.6634308307010567e-8,-0.0024011692853140917,-2.4557354638250633e-5,-1.660856911234815e-8,-0.0024010094083213077,-2.460379520847823e-5,-1.666634004388421e-8,-0.002400832781870665,-2.472274606391698e-5,-1.681138635859172e-8,-0.0024006088674261195,-2.490565851910724e-5,-1.7033840158805374e-8,-0.0024003096414815053,-2.513083477542098e-5,-1.7307985763326293e-8,-0.002399915678730765,-2.5363106308028472e-5,-1.759177707540246e-8,-0.0023994239684226163,-2.5557205638682287e-5,-1.7830822072448312e-8,-0.0023988549431304905,-2.566700881355288e-5,-1.7969488578482e-8,-0.0023982538707374547,-2.5660422954022525e-5,-1.7968844164137065e-8,-0.002397681821948537,-2.553480284678542e-5,-1.7825226886235993e-8,-0.0023971964165357008,-2.53237668313255e-5,-1.7578462540315414e-8,-0.002396830441918346,-2.50885777844268e-5,-1.7301586465142487e-8,-0.0023965800106651434,-2.4896546614298096e-5,-1.7075078798371497e-8,-0.0023964084361551537,-2.4797687943490375e-5,-1.695902560230991e-8,-0.002396262002993096,-2.481096708533641e-5,-1.6976666372280337e-8,-0.0023960882393536166,-2.4923817586803518e-5,-1.7113670694608337e-8,-0.002395849219877066,-2.5101106375207836e-5,-1.732863106912266e-8,-0.002395527525579831,-2.5297461255455714e-5,-1.756761197379987e-8,-0.0023951260596151974,-2.546854998291281e-5,-1.7777564319951067e-8,-0.0023946640036132836,-2.5579325396643004e-5,-1.7916241394922998e-8,-0.0023941708783994835,-2.5608875350224024e-5,-1.7958135357141878e-8,-0.0023936800199459637,-2.5552141704174967e-5,-1.7896681829365477e-8,-0.00239322243029576,-2.5418865388500117e-5,-1.774311016303839e-8,-0.0023928218677541743,-2.5230314934074022e-5,-1.7522587181791123e-8,-0.0023924917832175113,-2.5014690159013176e-5,-1.7268730448048223e-8,-0.0023922342643846748,-2.480218762163173e-5,-1.7017686942652696e-8,-0.0023920407464684762,-2.4620565317509125e-5,-1.6802798466007283e-8,-0.0023918939307276768,-2.4491771693316273e-5,-1.6650542584010726e-8,-0.0023917702332855676,-2.442975015807349e-5,-1.6577888357278284e-8,-0.002391642329452238,-2.443909807420655e-5,-1.6590679729922046e-8,-0.002391481763245852,-2.4514179502452957e-5,-1.6682551340715887e-8,-0.0023912619080620466,-2.4638499724969643e-5,-1.6834129065335303e-8,-0.002390961805205984,-2.478455800610903e-5,-1.701276797456279e-8,-0.00239057134744484,-2.4915132198915024e-5,-1.717399678816932e-8,-0.0023900974268101054,-2.4987729973603072e-5,-1.7266795508165544e-8,-0.0023895689055318833,-2.496391501976109e-5,-1.7244787681999786e-8,-0.002389036165074365,-2.4823284691699932e-5,-1.7083063873624844e-8,-0.002388560578292379,-2.4577378315217863e-5,-1.6794918110509053e-8,-0.0023881937570601162,-2.4274142413621198e-5,-1.643724545979219e-8,-0.0023879553394346147,-2.3985163329236852e-5,-1.6095335313882396e-8,-0.002387823242597225,-2.3778727505381422e-5,-1.5850778179207802e-8,-0.002387743703083488,-2.3693514905278695e-5,-1.575012576846581e-8,-0.002387654469699301,-2.3727803248252375e-5,-1.57919573836453e-8,-0.0023875068224310926,-2.384701163322787e-5,-1.5935693828749185e-8,-0.0023872766838733636,-2.4000872036063545e-5,-1.6121849968027748e-8,-0.0023869645383715133,-2.4139837531397063e-5,-1.6291451853276617e-8,-0.0023865890688437295,-2.4225578577636494e-5,-1.6398545934918142e-8,-0.002386179207668243,-2.4235415814278647e-5,-1.641560182566368e-8,-0.0023857671367677994,-2.4162608465253676e-5,-1.633403013000638e-8,-0.00238538293231372,-2.4014446579879058e-5,-1.6162059832962554e-8,-0.002385050648932289,-2.3809267842749758e-5,-1.5921265822080736e-8,-0.0023847856192039767,-2.357281279621325e-5,-1.564223465313254e-8,-0.002384592973846085,-2.333418942320294e-5,-1.5359717819261274e-8,-0.0023844674152753756,-2.3121781930974167e-5,-1.5107704928910368e-8,-0.0023843942234786524,-2.2959461734624766e-5,-1.491486592392592e-8,-0.002384351361188566,-2.2863520256191973e-5,-1.4800873864748202e-8,-0.0023843123252193354,-2.28406536006252e-5,-1.4773996666932113e-8,-0.0023842493365599203,-2.2887020091128393e-5,-1.4829969279080835e-8,-0.0023841366567967904,-2.2988230871289267e-5,-1.4951960812478233e-8,-0.0023839539952364617,-2.312021069380629e-5,-1.5111546301631272e-8,-0.00238369008534005,-2.3251022890859802e-5,-1.527079819049034e-8,-0.0023833464925758774,-2.3344139544444378e-5,-1.5386101234343148e-8,-0.002382941139623567,-2.336411463944466e-5,-1.5414884137776942e-8,-0.002382509826925251,-2.328539769468119e-5,-1.532618136616557e-8,-0.0023821027927208825,-2.3103440347943915e-5,-1.5114003628255345e-8,-0.002381773349088804,-2.284408291453904e-5,-1.4808671898883374e-8,-0.0023815590512039917,-2.2563826220574735e-5,-1.4477243667166011e-8,-0.002381463086871345,-2.233471929550198e-5,-1.4205559558666824e-8,-0.0023814485095478804,-2.221697578834785e-5,-1.4065641166745777e-8,-0.002381452228381859,-2.2233998994991225e-5,-1.4085907881538568e-8,-0.002381411455037569,-2.2365307161191684e-5,-1.424262147988882e-8,-0.0023812864408547367,-2.2559894107652725e-5,-1.447559680357265e-8,-0.002381068549780454,-2.2758766135733266e-5,-1.4714854003566721e-8,-0.0023807747559344136,-2.291337561706086e-5,-1.4902487127724783e-8,-0.002380436370789755,-2.2994297064707167e-5,-1.5003052078078702e-8,-0.0023800885646524635,-2.299177707261808e-5,-1.5004382649226507e-8,-0.00237976327801646,-2.291211671228343e-5,-1.4913466509235396e-8,-0.0023794853741548514,-2.277298527889861e-5,-1.4750994633350504e-8,-0.0023792708581126575,-2.2599122259547465e-5,-1.4546281765613793e-8,-0.0023791261518308006,-2.241861685502684e-5,-1.4332799297124966e-8,-0.002379048025038435,-2.2259517123002332e-5,-1.4144070736454437e-8,-0.002379024159088545,-2.214660348294054e-5,-1.4009774292460906e-8,-0.0023790344674725033,-2.209831973031592e-5,-1.395206580492697e-8,-0.0023790533562057336,-2.2124111902023713e-5,-1.3982415286808531e-8,-0.002379052917494198,-2.222265873839312e-5,-1.4099513692685225e-8,-0.0023790067355613062,-2.238139064397462e-5,-1.428869841454831e-8,-0.002378893869389061,-2.257747476862916e-5,-1.4523091866730754e-8,-0.002378702581053121,-2.2780337278386994e-5,-1.476653436627111e-8,-0.002378433361551305,-2.2955662245878917e-5,-1.4978254730954575e-8,-0.002378100828725866,-2.3070719458652143e-5,-1.511914018072533e-8,-0.0023777339193535064,-2.310095367991105e-5,-1.515956714522654e-8,-0.0023773732909614727,-2.303748192499462e-5,-1.5088399696609955e-8,-0.0023770645160716658,-2.2893966475516838e-5,-1.492131520640025e-8,-0.002376846389675512,-2.2709585344523315e-5,-1.4704506770614907e-8,-0.0023767362857042957,-2.2543662682762967e-5,-1.4508420483594385e-8,-0.0023767187552697256,-2.2459283627088534e-5,-1.4408307234147157e-8,-0.0023767459611238515,-2.2499820209175073e-5,-1.445625065299755e-8,-0.0023767538670920077,-2.2670163085399482e-5,-1.4658709621930782e-8,-0.0023766872411040843,-2.2934727415897178e-5,-1.4973964372283597e-8,-0.0023765193201164465,-2.323369224805631e-5,-1.5331258141108677e-8,-0.0023762563410213845,-2.350669143427009e-5,-1.5658866089500266e-8,-0.002375928430938125,-2.371079089789632e-5,-1.5905466616878e-8,-0.0023755754730009244,-2.382701217823089e-5,-1.6047996748580552e-8,-0.0023752354105984904,-2.3857755177899014e-5,-1.6088754695381856e-8,-0.002374937643938984,-2.3820288416794153e-5,-1.6047823960984603e-8,-0.002374700710601401,-2.3740166302795695e-5,-1.5955340321399732e-8,-0.0023745323579410426,-2.364615831678585e-5,-1.584546360315411e-8,-0.002374430478790293,-2.356666639934087e-5,-1.575205426032653e-8,-0.002374384221762089,-2.352701024171114e-5,-1.57053729084508e-8,-0.0023743752258978223,-2.3547031862098734e-5,-1.572919102890182e-8,-0.0023743792463522813,-2.3638741087943782e-5,-1.5837991897107692e-8,-0.002374368580960303,-2.380412406762251e-5,-1.60343866710735e-8,-0.002374315566041234,-2.403369636554169e-5,-1.6307405665562255e-8,-0.0023741969508027684,-2.4306554286211768E-05,-1.663253558578559e-8,-0.0023739984897390765,-2.4592488041431972e-5,-1.6974166769903272e-8,-0.0023737187937815855,-2.485635257581502e-5,-1.729069822860392e-8,-0.0023733713634909127,-2.506433547134887e-5,-1.75419012861819e-8,-0.002372983923689407,-2.5191127286277645e-5,-1.769739737193478e-8,-0.002372594652471399,-2.5226659292504724e-5,-1.774469317666995e-8,-0.0023722453489884105,-2.518097690876975e-5,-1.7695084665231785e-8,-0.0023719720500917853,-2.508558541252764e-5,-1.758542950683843e-8,-0.0023717945137316262,-2.4989429346639012e-5,-1.7473550411127092e-8,-0.002371707467356645,-2.494832237534192e-5,-1.7425795584798645e-8,-0.002371677894372136,-2.5008867215187453e-5,-1.7497939205762146e-8,-0.0023716521953735695,-2.519167607485704e-5,-1.7715125311405072e-8,-0.002371573067713854,-2.548183725590846e-5,-1.8060341886620035e-8,-0.0023713996123746663,-2.5833052724984733e-5,-1.8479137373701417e-8,-0.002371120733790304,-2.6184543627960917e-5,-1.8899572452170946e-8,-0.002370755545988175,-2.6481976563885553e-5,-1.925703522704526e-8,-0.0023703426289241364,-2.6692240399045317e-5,-1.951183288718046e-8,-0.002369925545652223,-2.6807480392539526e-5,-1.9654094044252732e-8,-0.0023695414256623836,-2.6840554567015164e-5,-1.969852847864199e-8,-0.0023692152111846727,-2.681698378371743e-5,-1.9675010651785046e-8,-0.0023689586030738027,-2.676742403134865e-5,-1.961971546979294e-8,-0.002368771517557994,-2.672230169153053e-5,-1.9568738474777108e-8,-0.0023686442754798733,-2.6708491821190418e-5,-1.9554090992955217e-8,-0.0023685596467347297,-2.6747237733667733e-5,-1.960116950419851e-8,-0.0023684946354959537,-2.68525198499682e-5,-1.97267938434712e-8,-0.002368422377939945,-2.7029396546161804e-5,-1.9937245693158044e-8,-0.002368314731930507,-2.7272358283705946e-5,-2.0226327583010683e-8,-0.002368145999280894,-2.7564325967266348e-5,-2.0574158419038293e-8,-0.0023678977178564387,-2.7877297359742607e-5,-2.0947880438817348e-8,-0.002367563716932125,-2.8175607003251493e-5,-2.13054362009557e-8,-0.0023671538835179904,-2.842219417818171e-5,-2.1602912348808545e-8,-0.0023666947656918185,-2.8587099112517685e-5,-2.1804557557978034e-8,-0.002366225711058261,-2.865603679897383e-5,-2.1892948933762033e-8,-0.0023657906850576426,-2.8636207775475263e-5,-2.1875955583981355e-8,-0.0023654275601418958,-2.855700316341736e-5,-2.178772414823076e-8,-0.0023651577407058874,-2.8464659629023123e-5,-2.168254086275059e-8,-0.002364979157822262,-2.8411626526095733e-5,-2.162241058543541e-8,-0.0023648650418965824,-2.8442979454826838e-5,-2.166103733977592e-8,-0.0023647696710966484,-2.858341235909699e-5,-2.182833892955203e-8,-0.0023646404647817425,-2.8828964162584613e-5,-2.2120438590644107e-8,-0.002364433315624853,-2.9147094222646294e-5,-2.2499504905555506e-8,-0.0023641258489594833,-2.9486173871872614e-5,-2.2904806040155516e-8,-0.0023637232753826293,-2.979130710829397e-5,-2.3271375506734424e-8,-0.0023632546433513643,-3.0020135017275484e-5,-2.3548762139194928e-8,-0.002362761919778162,-3.0152532930312014e-5,-2.371261331000258e-8,-0.002362287259213515,-3.019176737033716e-5,-2.3766181246292998e-8,-0.002361863354709199,-3.015895406508579e-5,-2.3733906423839642e-8,-0.0023615089325091636,-3.0084812691876054e-5,-2.3651770841389847e-8,-0.00236122863993826,-3.0002168291456246e-5,-2.355846990290136e-8,-0.002361015342081342,-2.9940748794497447e-5,-2.3489231721847384e-8,-0.002360853090462664,-2.99242064708113e-5,-2.347223119682423e-8,-0.0023607198261957722,-2.9968579872684983e-5,-2.352671480071416e-8,-0.0023605896206938806,-3.008134175253829e-5,-2.3661849584525067e-8,-0.002360434817332799,-3.0260449420114613e-5,-2.3875596082544623e-8,-0.002360228724551759,-3.049336232044938e-5,-2.4153533560309604e-8,-0.002359949398259028,-3.0756647438100245e-5,-2.4468344706144205e-8,-0.0023595845450922696,-3.1017291850921676e-5,-2.4781284325725616e-8,-0.0023591366902662777,-3.1236974924948935e-5,-2.5047141991886597e-8,-0.0023586265980894577,-3.1379935910133564e-5,-2.5223485405296768e-8,-0.0023580922330621156,-3.1423318194842274e-5,-2.5282880705071384e-8,-0.002357581446433621,-3.136654245445751e-5,-2.5224014627911062e-8,-0.0023571393504713037,-3.123511772789739e-5,-2.507629936540768e-8,-0.0023567945569627356,-3.107585378526121e-5,-2.4894381030997065e-8,-0.002356549808293787,-3.094425143746427e-5,-2.474345004782824e-8,-0.0023563808398743354,-3.088856588907149e-5,-2.468058353057825e-8,-0.002356243673347264,-3.093631165990455e-5,-2.473883210055294e-8,-0.0023560873309623623,-3.108742146766624e-5,-2.491898425872327e-8,-0.002355867681615853,-3.131543790559243e-5,-2.5190695953120915e-8,-0.0023555585115042363,-3.157564626292947e-5,-2.5501820575724358e-8,-0.0023551570793018816,-3.1817414987353845e-5,-2.5792819079502532e-8,-0.0023546830395721335,-3.199708556138092e-5,-2.601196397786125e-8,-0.0023541715928763573,-3.2087761735616844e-5,-2.612699814404651e-8,-0.0023536634728575476,-3.208356074308803e-5,-2.6130313106072467e-8,-0.002353195112875602,-3.199796079202877e-5,-2.6037164980856268e-8,-0.0023527917127598285,-3.185788963483199e-5,-2.5878832104811108e-8,-0.0023524643421163408,-3.1696231806253835e-5,-2.569384848742031e-8,-0.002352210558042157,-3.15451429795799e-5,-2.5520122001298037e-8,-0.002352017095867703,-3.1431404225224024e-5,-2.5389404645823923e-8,-0.0023518632011028735,-3.137387309610943e-5,-2.532421829510982e-8,-0.0023517237164243985,-3.138241693585632e-5,-2.5336544634470662e-8,-0.0023515716747720653,-3.1457557889187125e-5,-2.542738407693742e-8,-0.002351380666688492,-3.159026777706401e-5,-2.5586503563180176e-8,-0.002351127544409854,-3.1761819323126654e-5,-2.5792232842799336e-8,-0.002350795997438297,-3.194420346482523e-5,-2.601189004377488e-8,-0.00235038109753939,-3.210218902073709e-5,-2.620411988036901e-8,-0.0023498939766626002,-3.2198362784118887e-5,-2.6324761207664516e-8,-0.002349364441336059,-3.2201906185988056e-5,-2.6337171516754927e-8,-0.002348838300113838,-3.2099820884316304e-5,-2.622549250364978e-8,-0.002348367104865175,-3.1906193387378433E-05,-2.6005638953133388e-8,-0.002347991928908947,-3.16632964565759e-5,-2.572670334096174e-8,-0.0023477278385863123,-3.1430895046698076e-5,-2.5458524871709287e-8,-0.0023475573302447783,-3.1266834683295797e-5,-2.526903432937616e-8,-0.0023474365947856223,-3.1207840834265524e-5,-2.5201788974958383e-8,-0.0023473111312674834,-3.125926073193481e-5,-2.5263855985966862e-8,-0.0023471329217680113,-3.139668630853095e-5,-2.5427484190962568e-8,-0.0023468725828316842,-3.157629805487812e-5,-2.564195034641037e-8,-0.00234652400711633,-3.174838223286182e-5,-2.5849203831761563e-8,-0.0023461023891960834,-3.1869477830964374e-5,-2.5998061315297644e-8,-0.0023456379459007243,-3.191071358278629e-5,-2.6054089874945166e-8,-0.002345167714297938,-3.1861618822297345e-5,-2.6004274687434745e-8,-0.0023447273964050676,-3.1729710102991125e-5,-2.5856743363241975e-8,-0.0023443447623778383,-3.15367263237694e-5,-2.5636504725218675e-8,-0.002344035611415732,-3.1312828941514695e-5,-2.5378716588854288e-8,-0.0023438025868741026,-3.1090321324122036e-5,-2.5121307043493483e-8,-0.002343636419494298,-3.0898215687290654e-5,-2.4898533605619872e-8,-0.0023435187346924568,-3.075840762917019e-5,-2.473640851696107e-8,-0.002343425470101371,-3.06836209512552e-5,-2.4650217468068794e-8,-0.002343330156203922,-3.067678824239108e-5,-2.46437581014699e-8,-0.0023432067557343844,-3.0731268964403044e-5,-2.4709591242115973e-8,-0.002343032205144756,-3.083142896996042e-5,-2.482971769728214e-8,-0.0023427890317182145,-3.09534849684997e-5,-2.4976536733214626e-8,-0.002342468429998982,-3.1066960867543575e-5,-2.5114480866863458e-8,-0.0023420738829506476,-3.113759753821509e-5,-2.520334251191813e-8,-0.0023416245655075696,-3.113286617338482e-5,-2.5204692814982757e-8,-0.002341156456037676,-3.1030702451985074e-5,-2.5092155875587517e-8,-0.0023407180452088712,-3.083007768640861e-5,-2.4863906224778936e-8,-0.0023403583393829482,-3.055874873840108e-5,-2.4551880478986413e-8,-0.002340109110049135,-3.027131810595971e-5,-2.421961909495806e-8,-0.0023399695530012623,-3.0033690127916367e-5,-2.394416454197952e-8,-0.0023399035996637175,-2.9898874983898596e-5,-2.378781857784365e-8,-0.0023398534173924984,-2.9886919236503446e-5,-2.3774659522504135e-8,-0.002339761711113448,-2.9979953784273124e-5,-2.388461211409085e-8,-0.0023395905205925225,-3.0132912884441697e-5,-2.4065731184666787e-8,-0.002339328969507674,-3.0291463113513845e-5,-2.4254908440399182e-8,-0.0023389905263682936,-3.0407909014329455e-5,-2.439632805788379e-8,-0.002338604647812188,-3.0450610353352113e-5,-2.4452510933726005e-8,-0.002338207386718835,-3.0406942615971795e-5,-2.4407957962391716e-8,-0.002337833512955816,-3.0281802581374335e-5,-2.4267646192649814e-8,-0.002337510916804099,-3.009374007485284e-5,-2.405271127085375e-8,-0.00233725717872705,-2.9870050109659613e-5,-2.379481298482102e-8,-0.0023370780896862574,-2.96415499392353e-5,-2.3530020163429226e-8,-0.0023369679571642664,-2.943765111817507e-5,-2.3292964938693384e-8,-0.002336911380731853,-2.928228272071026e-5,-2.311196745938867e-8,-0.0023368860519105425,-2.9191004014698512e-5,-2.3005572673000774e-8,-0.0023368660995786595,-2.9169474421886248e-5,-2.2980719814710166e-8,-0.002336825467155114,-2.921325593941368e-5,-2.3032512896595408e-8,-0.0023367409423963475,-2.9308629309781252e-5,-2.3145193486284356e-8,-0.002336594789812839,-2.94340434461076e-5,-2.329383537317645e-8,-0.002336377141683103,-2.9562078747041886e-5,-2.3446595994696407e-8,-0.0023360882937399465,-2.9662099579462933e-5,-2.3567732219797592e-8,-0.0023357408585416017,-2.9704065354320472e-5,-2.36219691020052e-8,-0.0023353611169372288,-2.9664178807460198e-5,-2.3581074777115405e-8,-0.002334987901996926,-2.953256184083392e-5,-2.3432902238347995e-8,-0.002334666656879615,-2.9321444023828176e-5,-2.3191111499019182e-8,-0.002334437144125591,-2.906967526378198e-5,-2.2900614292587276e-8,-0.0023343170286952335,-2.8837540628692366e-5,-2.263164135915559e-8,-0.002334289377364724,-2.868863915936848e-5,-2.245863079739621e-8,-0.0023343042731189534,-2.8664576401788524e-5,-2.243065985991554e-8,-0.002334297427240077,-2.8766728884431434e-5,-2.2550060161150142e-8,-0.00233421602436304,-2.8956937999179782e-5,-2.277304822604038e-8,-0.0023340366493231914,-2.9175695277364925e-5,-2.3030723691705274e-8,-0.0023337675567428337,-2.9365148437702835e-5,-2.325572494540632e-8,-0.002333439019167699,-2.948499872544599e-5,-2.3400714149062195e-8,-0.002333090235900311,-2.9517803647735512e-5,-2.3444668908795366e-8,-0.002332758701346869,-2.9466638538369463e-5,-2.3390385484474364e-8,-0.0023324738052357035,-2.934937562502968e-5,-2.3258055105401835e-8,-0.0023322540424882687,-2.919255582833955e-5,-2.3078281732160556e-8,-0.0023321064600515273,-2.902614663617285e-5,-2.2885999487207492e-8,-0.002332027286009202,-2.8879263050207602e-5,-2.271540058262342e-8,-0.0023320033619865835,-2.877662704188809e-5,-2.259567613496163e-8,-0.002332014289946477,-2.873576097567269e-5,-2.2547631244607782e-8,-0.002332035177135321,-2.8765014379972653e-5,-2.2581326280258576e-8,-0.0023320398449503863,-2.8862571973660708e-5,-2.2694919143851268e-8,-0.0023320042471653172,-2.9016654866027363e-5,-2.287492871831799e-8,-0.0023319096779583115,-2.9206946607571382e-5,-2.3097917898279694e-8,-0.002331745434296553,-2.940702053860624e-5,-2.333330260051453e-8,-0.0023315107913132412,-2.9587554741398894e-5,-2.354703004535643e-8,-0.002331216183994399,-2.9720241445388588e-5,-2.370604059396504e-8,-0.0023308833968589734,-2.9782371874826208e-5,-2.378354402409868e-8,-0.0023305442821816677,-2.976211745161164e-5,-2.376519028712881e-8,-0.002330237019842478,-2.9664138028036154e-5,-2.3655730605611676e-8,-0.002329998741183291,-2.9513937315933643e-5,-2.3484296706424633e-8,-0.0023298543227104943,-2.935776247905231e-5,-2.3304483190610554e-8,-0.0023298039688696283,-2.9254146272590037e-5,-2.3184600111912306e-8,-0.0023298161627486316,-2.9255771124284795e-5,-2.3186513526067538e-8,-0.002329833717182933,-2.9387407680729007e-5,-2.3339799540173714e-8,-0.00232979429485865,-2.963251445919433e-5,-2.3625939095795707e-8,-0.0023296555485235837,-2.993876684354111e-5,-2.3984573422930422e-8,-0.002329410031430962,-3.0240089226068864e-5,-2.433902191722381e-8,-0.002329082684861528,-3.048133910260082e-5,-2.4624941076546366e-8,-0.002328716252266335,-3.063272313348873e-5,-2.4807118980201846e-8,-0.0023283552432151315,-3.0691090518933916e-5,-2.4881121231374615e-8,-0.002328035235814446,-3.067316204035687e-5,-2.486564617259907e-8,-0.002327778453652459,-3.060672619689269e-5,-2.4792504271784795e-8,-0.0023275936390781573,-3.052324005011218e-5,-2.4698123022970693e-8,-0.002327477917828302,-3.0452785078251434e-5,-2.461765146651857e-8,-0.002327419112590265,-3.0420884134364204E-05,-2.458113394257909e-8,-0.0023273980040969685,-3.0446326357327403e-5,-2.4610839446448034e-8,-0.002327390669521878,-3.0539531096370326e-5,-2.4719266183936192e-8,-0.0023273711094918687,-3.070139397965835e-5,-2.4907774784639605e-8,-0.002327314298389271,-3.0922803788878494e-5,-2.5166047977091938e-8,-0.002327199604182002,-3.118523180180453e-5,-2.5472802828543438e-8,-0.0023270141555905726,-3.146275582275373e-5,-2.579813850369303e-8,-0.002326755507257778,-3.1725524753218145e-5,-2.6107509797618743e-8,-0.002326433025242352,-3.194433915074523e-5,-2.636696380227279e-8,-0.00232606757107646,-3.2095816875852493E-05,-2.6549064620552972e-8,-0.0023256892347763903,-3.216744119251998e-5,-2.663874128588696e-8,-0.0023253330548705857,-3.216173673953351e-5,-2.6638224765391106e-8,-0.002325032753407156,-3.209873777588853e-5,-2.6570101510359574e-8,-0.0023248127299698297,-3.201549252585091e-5,-2.6476970450584947e-8,-0.002324679419257254,-3.1960909325668365e-5,-2.641563798078472e-8,-0.002324614738368727,-3.198471760129885e-5,-2.6444333423830437e-8,-0.0023245759518624605,-3.2121629871326e-5,-2.6604171937243653e-8,-0.002324505785473568,-3.237602913514e-5,-2.6901108196581215e-8,-0.0023243518127423596,-3.271591879496891e-5,-2.7298653087985366e-8,-0.00232408675837698,-3.308237216229446e-5,-2.772870037338478e-8,-0.0023237183421038277,-3.341134600686158e-5,-2.8116827565107905e-8,-0.0023232834120907914,-3.365603424276712e-5,-2.8408283829963784e-8,-0.0023228315250686865,-3.379852594585868e-5,-2.8581601521190148e-8,-0.0023224081917482394,-3.384823308876176e-5,-2.8646918820079517e-8,-0.0023220447513682056,-3.3832392487888304e-5,-2.8635163154902712e-8,-0.0023217556857669294,-3.378539642682306e-5,-2.8585851446400122e-8,-0.0023215406467797794,-3.374081042009061e-5,-2.8537897313167375e-8,-0.002321388188291431,-3.3726795999537757e-5,-2.8524238705810844e-8,-0.002321279357326137,-3.376398701175925e-5,-2.8569237172436706e-8,-0.002321190580067218,-3.3864561252015965e-5,-2.8687469509032147e-8,-0.0023210960815719848,-3.403170234189584e-5,-2.8883032294239802e-8,-0.0023209703112198727,-3.425921865422195e-5,-2.9149091545929388e-8,-0.0023207907692627456,-3.453153525414017e-5,-2.9467892708359517e-8,-0.002320541348280485,-3.4824632907782434e-5,-2.9811852888919886e-8,-0.002320215787982576,-3.510859047522046e-5,-3.014647119465895e-8,-0.002319820326628823,-3.5352020534393274e-5,-3.0435397604764066e-8,-0.002319374429235887,-3.5528027890910064e-5,-3.064726176518535e-8,-0.0023189086929537852,-3.562058707993201e-5,-3.0763027321289934e-8,-0.0023184596969337903,-3.562967431567573e-5,-3.078198150000386e-8,-0.0023180625159862473,-3.557348082881343e-5,-3.072444153370548e-8,-0.0023177424037032486,-3.548664144440317e-5,-3.062992075551395e-8,-0.0023175074984734543,-3.5414226963611394e-5,-3.0550393228261676e-8,-0.0023173444808164832,-3.5402047537825155e-5,-3.053919267474974e-8,-0.002317219043515323,-3.548478675955916e-5,-3.063722510387765e-8,-0.0023170825452282313,-3.567474791693208e-5,-3.085971138660794e-8,-0.0023168847150472982,-3.595522696647335e-5,-3.118819869005432e-8,-0.0023165894160324624,-3.628263070896687e-5,-3.157275232013399e-8,-0.0023161874027681608,-3.659879209134966e-5,-3.194610912976707e-8,-0.002315699674318987,-3.6849589557777495e-5,-3.224527727736699e-8,-0.002315169322935829,-3.7001624225642415e-5,-3.2430960432418255e-8,-0.002314646199700832,-3.704960690848625e-5,-3.249625130896201e-8,-0.0023141720768090047,-3.701289220350198e-5,-3.246278529929417e-8,-0.0023137719944856,-3.692533958583261e-5,-3.2369181497699095e-8,-0.002313452787336121,-3.682436937453514e-5,-3.225850415814049e-8,-0.002313206349815514,-3.674303927821273e-5,-3.216911319350878e-8,-0.002313014513893187,-3.6705975238209506e-5,-3.21298653443614e-8,-0.002312853494672486,-3.6728114464930174e-5,-3.215852030546475e-8,-0.0023126972338266515,-3.681481612065799e-5,-3.226175333094992e-8,-0.0023125198655322456,-3.696232465768661e-5,-3.24356389814037e-8,-0.002312297893017724,-3.7158178604489365e-5,-3.266612338087536e-8,-0.0023120126639769563,-3.7381726521067834e-5,-3.292962936131338e-8,-0.002311653424383115,-3.760539504033395e-5,-3.319450237088803e-8,-0.0023112206387045776,-3.7797568417562995e-5,-3.3424282093674193e-8,-0.002310728536788081,-3.7927679776685745e-5,-3.3583518129125895e-8,-0.0023102052694704335,-3.7973269632081315e-5,-3.3645883688399196e-8,-0.002309689114953737,-3.792741024238655e-5,-3.3602769741033175e-8,-0.002309220367796046,-3.780365018678395e-5,-3.34690861984953e-8,-0.0023088306454635615,-3.763560952953059e-5,-3.328295822689161e-8,-0.0023085331437765486,-3.7470095324169245e-5,-3.30979876994702e-8,-0.0023083175552887736,-3.7355299923970754e-5,-3.296981668241202e-8,-0.0023081517291295645,-3.732774019023125e-5,-3.2941121239366296e-8,-0.0023079897002703125,-3.740204716129852e-5,-3.302971182509186e-8,-0.0023077837234663535,-3.7566599907923365e-5,-3.322321468544985e-8,-0.0023074969972720206,-3.778618699150824e-5,-3.348181192736664e-8,-0.002307113642460123,-3.801111136025596e-5,-3.374850764245679e-8,-0.002306642967714749,-3.819047303514916e-5,-3.3964389987148476e-8,-0.0023061164179579287,-3.8285780849737995e-5,-3.40844388236443e-8,-0.0023055780533455137,-3.828042081343265e-5,-3.408864550347391e-8,-0.0023050720265702773,-3.818189606197478e-5,-3.3984813393723e-8,-0.0023046316398957264,-3.801683262139339e-5,-3.3802987367837267e-8,-0.00230427334288954,-3.7821682524135505e-5,-3.358486019035794e-8,-0.0023039963644423222,-3.7633111972824855e-5,-3.337272686138091e-8,-0.002303786336992908,-3.748100255910153e-5,-3.320135317605305e-8,-0.0023036204437704402,-3.738497046118624e-5,-3.3093833427999516e-8,-0.002303472191629436,-3.735370107695463e-5,-3.306068870435814e-8,-0.002303315004370737,-3.738581151208172e-5,-3.310077586295026e-8,-0.0023031247168510474,-3.7471158388023855e-5,-3.32027746012847e-8,-0.002302881512812013,-3.759204402485969e-5,-3.334659244660564e-8,-0.002302571933303701,-3.772437161974421e-5,-3.3504698526810776e-8,-0.0023021913377570913,-3.7839318120416736e-5,-3.364401288936653e-8,-0.0023017466592312736,-3.790639624397905e-5,-3.3729365113627754e-8,-0.002301258499438132,-3.789868982799408e-5,-3.3729469251606456e-8,-0.0023007607416336475,-3.780025860121621e-5,-3.362545368835861e-8,-0.0023002955727393715,-3.761398422436507e-5,-3.341996763976326e-8,-0.002299903135206751,-3.7366095073082776e-5,-3.314251715734096e-8,-0.002299608241321281,-3.7103131944292765e-5,-3.284613208267745e-8,-0.002299409859179875,-3.687991824381861e-5,-3.259369265324991e-8,-0.002299279285932504,-3.674229260682073e-5,-3.243819215569253e-8,-0.002299168823546775,-3.6712133551511284e-5,-3.240551750739637e-8,-0.002299027108588892,-3.678121604662647e-5,-3.248721326687466e-8,-0.0022988143521173038,-3.6915489318077446e-5,-3.2645093229978927e-8,-0.0022985121434507642,-3.706652291671608e-5,-3.282408232012828e-8,-0.0022981259731840605,-3.718510344513982e-5,-3.296765596479805e-8,-0.002297681444338649,-3.723291069296564e-5,-3.3031266622567177e-8,-0.0022972163826716816,-3.7189964304819385e-5,-3.299108395567988e-8,-0.002296771289655474,-3.705699893642229e-5,-3.284699771750507e-8,-0.0022963804162048507,-3.685301926143306e-5,-3.2620069474865724e-8,-0.0022960653412444033,-3.66092080660818e-5,-3.234570517089325e-8,-0.0022958321994601843,-3.6361104881873565e-5,-3.206471491834107e-8,-0.002295672602594345,-3.6141216362085723e-5,-3.181475278986125e-8,-0.002295567237924504,-3.5973699239903435e-5,-3.162406563040041e-8,-0.0022954906243840873,-3.5871742882865936e-5,-3.150833328403298e-8,-0.002295415668514197,-3.583734289021038e-5,-3.1470303577740756e-8,-0.002295317231199662,-3.5862619387422194e-5,-3.15012747362056e-8,-0.002295174587684972,-3.593175025312556e-5,-3.158334026307848e-8,-0.0022949731503511582,-3.6022919077861825e-5,-3.169165951737354e-8,-0.0022947059593891967,-3.6110200777476796e-5,-3.1796616976641045e-8,-0.0022943752972072132,-3.616576445549112e-5,-3.186629056886203e-8,-0.002293994395917849,-3.616308491839482e-5,-3.1870055583428156e-8,-0.0022935884913046806,-3.608188698839053e-5,-3.1784218012190775e-8,-0.002293193570220022,-3.591490428985524e-5,-3.159981966187581e-8,-0.002292850700555697,-3.567488665407547e-5,-3.1330816136700846e-8,-0.0022925949121289655,-3.539799888834784e-5,-3.101814903088958e-8,-0.002292441079759657,-3.5138654460845667e-5,-3.072396888884776e-8,-0.0022923737482313526,-3.495377210004042e-5,-3.051367324612897e-8,-0.0022923487357085484,-3.4881645478195986e-5,-3.043169702193616e-8,-0.0022923082878944408,-3.492651926994169e-5,-3.048374540670587e-8,-0.0022922023645509603,-3.5057777584302726e-5,-3.063565736187704e-8,-0.002292004823110608,-3.522321745129158e-5,-3.0828335408719365e-8,-0.002291718031987991,-3.536782916311345e-5,-3.099901295008251e-8,-0.0022913672330241424,-3.544908418763723e-5,-3.109866179650461e-8,-0.002290990059070643,-3.544468044302114e-5,-3.1100956371175926e-8,-0.0022906260283061795,-3.535334262818601e-5,-3.1003445892457103e-8,-0.0022903084934227853,-3.5191150650947184e-5,-3.082366001102285e-8,-0.002290059645962504,-3.4985740590012e-5,-3.059271116004469e-8,-0.002289888308889336,-3.476990829758171e-5,-3.034806608016834e-8,-0.002289790112933232,-3.457553303386381e-5,-3.0126527996035566e-8,-0.0022897496397346197,-3.442855427528838e-5,-2.995832382862933e-8,-0.002289743927638933,-3.434557978525591e-5,-2.986303752963534e-8,-0.002289746588173612,-3.433235628935457e-5,-2.984772570762622e-8,-0.002289731806192985,-3.438399705495003e-5,-2.9907130752155833e-8,-0.0022896776371395563,-3.448658144544781e-5,-3.0025539997263514e-8,-0.002289568333240068,-3.4619516180843974e-5,-3.0179546880832127e-8,-0.002289395830989697,-3.47581192864351e-5,-3.034104020878307e-8,-0.0022891606980330746,-3.487624615385044e-5,-3.048017863245395e-8,-0.0022888727561433233,-3.494909690242651e-5,-3.0568516096956604e-8,-0.0022885513883073552,-3.4956571873741554e-5,-3.058275352336701e-8,-0.002288225022291335,-3.4887629910986334e-5,-3.050971134872694e-8,-0.0022879285346280604,-3.474558680788467e-5,-3.0352495822772635e-8,-0.002287697014005668,-3.4552914595581084e-5,-3.013619110840197e-8,-0.002287555258528512,-3.4352264826514714e-5,-2.990924381258495e-8,-0.002287505296293813,-3.419939650252042e-5,-2.9735499630763315e-8,-0.0022875185392014596,-3.414608973943245e-5,-2.9674650423240414e-8,-0.002287540654767576,-3.421841512072958e-5,-2.975725826269698e-8,-0.0022875109191809696,-3.44028369555647e-5,-2.9968681291149824e-8,-0.0022873866431173677,-3.4650463730046105e-5,-3.025373403994287e-8,-0.002287158332342123,-3.489747604808045e-5,-3.05398504214709e-8,-0.0022868484445149025,-3.5088852879194874e-5,-3.076405861695239e-8,-0.0022864982748903593,-3.519317267669936e-5,-3.0889870385194194e-8,-0.002286152562989151,-3.520525313625685e-5,-3.091044534452543e-8,-0.002285848351995372,-3.514064936767193e-5,-3.084259232463975e-8,-0.0022856095545583004,-3.5027359972136336e-5,-3.071759518882632e-8,-0.0022854458582351883,-3.4898128170332654e-5,-3.057260162184731e-8,-0.00228535406658743,-3.4784542000901826e-5,-3.0443888195242704e-8,-0.0022853205545476122,-3.471284955278595e-5,-3.0361936066289834e-8,-0.0022853242782383083,-3.4701131164836125e-5,-3.034799776992067e-8,-0.0022853401172956323,-3.475768108400181e-5,-3.0412079618106474e-8,-0.0022853423369857883,-3.488055943683937e-5,-3.055234935450222e-8,-0.0022853079331452636,-3.505829657473036e-5,-3.075595068991225e-8,-0.002285219540357508,-3.5271714452898415e-5,-3.1001145596984345e-8,-0.0022850675526555806,-3.5496617417606936e-5,-3.12604400979373e-8,-0.0022848513167228906,-3.5706935033342264e-5,-3.150417106161792e-8,-0.0022845794630886704,-3.587803665272236e-5,-3.170422273669897e-8,-0.0022842694256383967,-3.599011192601114e-5,-3.183778648177624e-8,-0.00228394612191299,-3.6031573527607656e-5,-3.1891182357691236e-8,-0.002283639559272516,-3.6002497987339216e-5,-3.1863829412209876e-8,-0.0022833807000028155,-3.591781523569677e-5,-3.17720571397393e-8,-0.002283194835117489,-3.580895633737797e-5,-3.1651234007313374e-8,-0.0022830926687873554,-3.572151453512309e-5,-3.155331255203707e-8,-0.0022830615120185546,-3.57062013456485e-5,-3.1536574359696766e-8,-0.002283061910144253,-3.5802515052971905e-5,-3.1646865496677e-8,-0.0022830358716624693,-3.602024681505544e-5,-3.1896238479571526e-8,-0.002282927452508825,-3.6329876875859376e-5,-3.2251745516056244e-8,-0.0022827062816265977,-3.667107036558002e-5,-3.264498114105585e-8,-0.0022823796709535715,-3.697658131461953e-5,-3.299928501542816e-8,-0.0022819864232603475,-3.719735460090399e-5,-3.325834215160285e-8,-0.0022815785791103415,-3.731532145924846e-5,-3.340080377913226e-8,-0.0022812032084957965,-3.734128205682896e-5,-3.3438034270071183e-8,-0.002280891871937716,-3.7304369843453694e-5,-3.3402379181189025e-8,-0.00228065814223643,-3.724061603780327e-5,-3.333439792808469e-8,-0.0022805000038872204,-3.718451764462349e-5,-3.327337443004344e-8,-0.0022804039844390635,-3.7164175330215406e-5,-3.325171023981485e-8,-0.002280349211641098,-3.7198996010101034e-5,-3.3292116454290506e-8,-0.0022803108906574855,-3.729879835377055e-5,-3.3406389414515064e-8,-0.002280263357184188,-3.746369139111816e-5,-3.359514042205903e-8,-0.0022801829142725643,-3.76845561343038e-5,-3.3848312986735143e-8,-0.0022800505440541212,-3.794419075362827e-5,-3.4146529008746734e-8,-0.002279854394613768,-3.821932509749697e-5,-3.446344080378021e-8,-0.002279591667380771,-3.8483592197162534e-5,-3.4769134737453335e-8,-0.0022792694769532365,-3.8711202674219674e-5,-3.503427192200282e-8,-0.002278904453787725,-3.888090559245803e-5,-3.523451107453436e-8,-0.002278520994022731,-3.897981593858639e-5,-3.5354790439935546e-8,-0.0022781481387727765,-3.900661067575245e-5,-3.539296714173588e-8,-0.002277815196272408,-3.897358681368924e-5,-3.536228182941742e-8,-0.0022775462453310945,-3.8907078916294634e-5,-3.5292063500544346e-8,-0.0022773537578315915,-3.88453723888866e-5,-3.5225611058902015e-8,-0.0022772323066882973,-3.88328268780596e-5,-3.5213664861948535e-8,-0.002277154719218136,-3.89093864059176e-5,-3.5302432695555914e-8,-0.002277074301351357,-3.909671606337604e-5,-3.551757119061668e-8,-0.0022769361938568297,-3.93858582620144e-5,-3.584980135264396e-8,-0.0022766965332619883,-3.9734321357865546e-5,-3.625133407898208e-8,-0.002276341115211891,-4.007817531691193e-5,-3.664954907985626e-8,-0.0022758922917568173,-4.035551223226274e-5,-3.697373201351628e-8,-0.0022753992488523085,-4.0528709716748785e-5,-3.7180470529775404e-8,-0.0022749180581077707,-4.059371095721217e-5,-3.726429156698758e-8,-0.0022744933359550488,-4.057442247318822e-5,-3.7251455930854735e-8,-0.0022741491150162865,-4.0509294110553696e-5,-3.718495011122612e-8,-0.0022738888817427747,-4.043836498717976e-5,-3.7109976390399145e-8,-0.0022737006122365193,-4.0394935220934196e-5,-3.706454561541384e-8,-0.0022735628534328385,-4.0401953921682715e-5,-3.7075254422409025e-8,-0.0022734497848497666,-4.047142453162688e-5,-3.7156399239620105e-8,-0.0022733348583905645,-4.060512607912676e-5,-3.731060746631049e-8,-0.0022731934580261463,-4.0795705115488924e-5,-3.752998308750005e-8,-0.00227300512552994,-4.102789765037355e-5,-3.7797496246937914e-8,-0.0022727556876095496,-4.128004247365327e-5,-3.808875005360056e-8,-0.002272439315133133,-4.152626986166031e-5,-3.837450044928072e-8,-0.0022720601389120266,-4.173970137526162e-5,-3.862427282168575e-8,-0.0022716327599983676,-4.1896595491755895e-5,-3.8811002059216745e-8,-0.0022711810539608945,-4.1980908267824755e-5,-3.8916135263443654e-8,-0.00227073496835204,-4.1988409487146426e-5,-3.8934279948754235e-8,-0.002270325441507122,-4.192927899551331e-5,-3.8876227340469446e-8,-0.002269978122215947,-4.1828177158028644e-5,-3.8769219119330844e-8,-0.00226970702629286,-4.172123601459589e-5,-3.865378498185866e-8,-0.0022695094556672577,-4.1649926366732944e-5,-3.857700174244831e-8,-0.002269363629343624,-4.165219466353312e-5,-3.858250738357373e-8,-0.0022692306298698933,-4.175204263636338e-5,-3.869853604806306e-8,-0.0022690619905320303,-4.195007217268219e-5,-3.892687238355782e-8,-0.0022688127656313537,-4.22189359377569e-5,-3.923733305382498e-8,-0.0022684568851602466,-4.2507766167857475e-5,-3.9572560430991624e-8,-0.002267998326091102,-4.275672312180571e-5,-3.986449700076138e-8,-0.0022674714734245843,-4.291695195769548e-5,-4.005713795935709e-8,-0.0022669291597497737,-4.296662160132691e-5,-4.012487438155247e-8,-0.0022664242564903914,-4.2915295188340505e-5,-4.007760659904807e-8,-0.0022659940652150863,-4.279611123618072e-5,-3.995206908990567e-8,-0.002265653503930502,-4.265191244855833e-5,-3.979631362883339e-8,-0.0022653969340296893,-4.252261313043785e-5,-3.965552378432056e-8,-0.0022652046236925952,-4.243769493960012e-5,-3.95634861733223e-8,-0.002265049794477369,-4.241380155046763e-5,-3.9539697044729416e-8,-0.0022649041082798216,-4.245547864330964e-5,-3.9589986428501323e-8,-0.00226474124918325,-4.255711975844435e-5,-3.970856627954339e-8,-0.0022645391613217362,-4.270500455743162e-5,-3.988028806109427e-8,-0.0022642816799547678,-4.287910780361013e-5,-4.008272167427198e-8,-0.002263960087918555,-4.3054900809357125e-5,-4.028824466566982e-8,-0.002263574719130994,-4.320567695985923e-5,-4.0466687322319195e-8,-0.0022631362204558894,-4.330590165289405e-5,-4.058908270551296e-8,-0.0022626656639188536,-4.3335670173572484e-5,-4.063264302083518e-8,-0.0022621925719040524,-4.328569846595285e-5,-4.0586363627982455e-8,-0.0022617502460647106,-4.316153538197371e-5,-4.045582192050501e-8,-0.0022613686905826485,-4.298517863381172e-5,-4.02651379123331e-8,-0.002261066659628733,-4.279254577136207e-5,-4.0054328367112326e-8,-0.002260845254738966,-4.2626492298289355e-5,-3.9871642378719045e-8,-0.002260685452234943,-4.252671070386968e-5,-3.976228848354713e-8,-0.0022605509404802003,-4.251909481418603e-5,-3.9756384567982686e-8,-0.002260396131472639,-4.260760900980759e-5,-3.985954021720435e-8,-0.002260177694963087,-4.277131989594658e-5,-4.004914789052283e-8,-0.002259866766101412,-4.2968166060102e-5,-4.027830918497738e-8,-0.002259458210637815,-4.3145372744970057e-5,-4.048742944540769e-8,-0.0022589733613924707,-4.3254145791464096e-5,-4.062085419440258e-8,-0.002258454294531585,-4.326392054614321e-5,-4.064315339359069e-8,-0.0022579511436190353,-4.3170655978861896e-5,-4.0548734377790825e-8,-0.0022575073922757242,-4.2995916330466316e-5,-4.036104128218041e-8,-0.0022571489718927946,-4.2777865460527206e-5,-4.012258232791228e-8,-0.0022568805697357453,-4.255884861731508e-5,-3.988102778980891e-8,-0.0022566887016491335,-4.2374725671374876e-5,-3.967716426716014e-8,-0.002256548444902981,-4.2248875604791526e-5,-3.953799287615894e-8,-0.002256430457477919,-4.2190877177150564e-5,-3.9475031093020603e-8,-0.0022563063262742698,-4.219814048656945e-5,-3.9485967035225393e-8,-0.0022561518892659908,-4.225864272457631e-5,-3.9557654446514965e-8,-0.0022559490620141626,-4.235363463796422e-5,-3.9669178707093105e-8,-0.0022556869196150115,-4.245992921932744e-5,-3.9794503964805914e-8,-0.002255362650026142,-4.2551960746738174e-5,-3.990484416493067e-8,-0.00225498259128279,-4.260418776905965e-5,-3.9971363026047316e-8,-0.0022545629951551973,-4.259443556510106e-5,-3.996888136177645e-8,-0.002254129647814144,-4.2508371758274345e-5,-3.988086135327218e-8,-0.0022537151993712646,-4.234455193159232e-5,-3.970509132900266e-8,-0.00225335330209883,-4.2118407480589275e-5,-3.9458268320626675e-8,-0.0022530698916637996,-4.186263655252896e-5,-3.917660732834667e-8,-0.0022528740190121094,-4.162180095563857e-5,-3.8909958155369906e-8,-0.002252752217450626,-4.1441201489894646e-5,-3.870944411348118e-8,-0.0022526698614514173,-4.1353325375690816e-5,-3.861225482382609e-8,-0.0022525801000990234,-4.136713774543938e-5,-3.862947201208333e-8,-0.0022524373733573866,-4.146464933767827e-5,-3.8741929345072135e-8,-0.002252210525373519,-4.1605994325611274e-5,-3.89055852814104e-8,-0.0022518911377591767,-4.1740803405337114e-5,-3.906405012373955e-8,-0.0022514949999607,-4.182182996698903e-5,-3.9163825942864726e-8,-0.0022510569958787445,-4.181681135790668e-5,-3.916776403591502e-8,-0.002250621342141275,-4.171557236139564e-5,-3.906331946104076e-8,-0.0022502301294550285,-4.15308425955026e-5,-3.886378396708598e-8,-0.002249913449319389,-4.129306958437996e-5,-3.860271679338941e-8,-0.002249683726453224,-4.104130530740587e-5,-3.832383998911728e-8,-0.002249535283975047,-4.0813295369522146e-5,-3.8069884935159855e-8,-0.0022494483048860476,-4.0637702512655366e-5,-3.787370255806774e-8,-0.002249395075586441,-4.053008747505458e-5,-3.775352485809548e-8,-0.002249346228387429,-4.049258564563083e-5,-3.771239510768213e-8,-0.0022492755010270257,-4.0516052192387256e-5,-3.774046242612261e-8,-0.0022491626277783426,-4.058321264511812e-5,-3.7818520580070174e-8,-0.0022489947436900195,-4.0671780343274614e-5,-3.7921589641568395e-8,-0.002248766957445944,-4.075711343877572e-5,-3.8021986797907276e-8,-0.0022484826632076446,-4.081452585563666e-5,-3.8091951714669235e-8,-0.002248153838048646,-4.0821728247974105e-5,-3.8106341905870566e-8,-0.002247801079960905,-4.076195151424849e-5,-3.804605949402225e-8,-0.002247452593148405,-4.0628012018448585e-5,-3.790257146744856e-8,-0.0022471409301629466,-4.042682459236734e-5,-3.768302732502345e-8,-0.00224689646765886,-4.018263561138499e-5,-3.7414039313886286e-8,-0.0022467379334867687,-3.993603737751534e-5,-3.71407722402369e-8,-0.0022466629330224067,-3.973603731085064e-5,-3.6918205817805125e-8,-0.0022466437937668942,-3.962548372148706e-5,-3.679484541297912e-8,-0.0022466332626418345,-3.962510713746668e-5,-3.679475135912498e-8,-0.0022465795112438054,-3.972433968955547e-5,-3.690704831574807e-8,-0.002246443844399572,-3.988431149987231e-5,-3.7089012125681974e-8,-0.0022462127331009103,-4.005144641550452e-5,-3.728104124941213e-8,-0.002245899726127667,-4.017461828870116e-5,-3.742571513024981e-8,-0.0022455385610210964,-4.021870065905526e-5,-3.7482979092119534e-8,-0.002245171991501091,-4.017101257208119e-5,-3.743755699529912e-8,-0.0022448406857828573,-4.0040872064166135e-5,-3.729877117661851e-8,-0.002244574842630709,-3.985434389103751e-5,-3.709499167218068e-8,-0.00224438953153147,-3.964658315948225e-5,-3.6865281132306804e-8,-0.002244283739282433,-3.9453769098646514e-5,-3.6650395806950313e-8,-0.0022442425786291715,-3.9306138580895836e-5,-3.648483998275852e-8,-0.0022442417262513318,-3.9223235736532204e-5,-3.639130046745756e-8,-0.002244252825270072,-3.921193238763609e-5,-3.637818766334322e-8,-0.002244248580715095,-3.926701981343953e-5,-3.6440147045714485e-8,-0.002244206665010873,-3.9373614587264704e-5,-3.656072898333406e-8,-0.0022441120851505714,-3.9510449394149734e-5,-3.671615220159067e-8,-0.002243958158082218,-3.9653224799783987e-5,-3.687916687487293e-8,-0.002243746569982561,-3.977754481038861e-5,-3.702240992509356e-8,-0.0022434870012997396,-3.986143852984975e-5,-3.7121211995940224e-8,-0.002243196539261886,-3.9887788360821346e-5,-3.715623183345602e-8,-0.002242898748955786,-3.984704324325663e-5,-3.711640914072695e-8,-0.0022426218280860106,-3.974042123909537e-5,-3.7002547544910815e-8,-0.0022423948446182447,-3.9583186860967147e-5,-3.683110598566761e-8,-0.002242241179018976,-3.940641160112801e-5,-3.663638469156625e-8,-0.00224216956598242,-3.925442123747653e-5,-3.646787712775838e-8,-0.002242165743912653,-3.917522022806908e-5,-3.63796461283401e-8,-0.0022421904430927637,-3.92042809462743e-5,-3.641210968875951e-8,-0.0022421888363345576,-3.934800163595166e-5,-3.657333079382851e-8,-0.0022421101287026773,-3.957707112540881e-5,-3.683135600408295e-8,-0.0022419276065207064,-3.983591431005777e-5,-3.712457446970693e-8,-0.0022416477393448642,-4.0063753426798325e-5,-3.73851192566621e-8,-0.0022413045475564155,-4.0215340963561835e-5,-3.7561970560884604e-8,-0.0022409449338205603,-4.0271819274777205e-5,-3.7633148529958066e-8,-0.0022406136872176463,-4.0240309319839884e-5,-3.7605480019251675e-8,-0.002240343470877864,-4.0146522531138636e-5,-3.750668536605433e-8,-0.002240150677565745,-4.002533269708593e-5,-3.7375157741474976e-8,-0.002240035711440105,-3.991240818250783e-5,-3.725076167766338e-8,-0.002239985804253139,-3.9838071993125945e-5,-3.7167903625866e-8,-0.0022399789880449567,-3.9823368021104823e-5,-3.715090319780558e-8,-0.0022399885175577506,-3.9878050065343086e-5,-3.721146830451135e-8,-0.002239987272940578,-4.000036042511323e-5,-3.734824122526935e-8,-0.0022399516443405575,-4.017838712946535e-5,-3.7548239619326853e-8,-0.002239864499431365,-4.0392596449678075e-5,-3.778973496167977e-8,-0.0022397169957782525,-4.061908331716644e-5,-3.804599535317224e-8,-0.002239509163109704,-4.083302738834809e-5,-3.828923970936112e-8,-0.00223924945058436,-4.101186342286681e-5,-3.8494196874711744e-8,-0.002238953599371396,-4.113797301515876e-5,-3.8641048926455915e-8,-0.0022386430618668383,-4.120100796303263e-5,-3.871793082545036e-8,-0.002238342944066297,-4.1200001151770064e-5,-3.872324181388282e-8,-0.0022380791839847307,-4.114530686782865e-5,-3.866788607866194e-8,-0.002237874380510262,-4.1060002066053976e-5,-3.857703907310176e-8,-0.00223774180926945,-4.097948394853225e-5,-3.848995354296783e-8,-0.00223767825635013,-4.094712480839855e-5,-3.845528558322179e-8,-0.002237658399419641,-4.1004061797862145e-5,-3.851967858482813e-8,-0.0022376356888406273,-4.11738325963669e-5,-3.8710382858211906e-8,-0.0022375542283195344,-4.144791944811161e-5,-3.9018797372337954e-8,-0.002237369976256706,-4.178239537910177e-5,-3.939648342269923e-8,-0.0022370705865857117,-4.211192540677199e-5,-3.97707040733493e-8,-0.002236681021205403,-4.237528136520402e-5,-4.0072894403993155e-8,-0.0022362515136581293,-4.2537390808246587e-5,-4.026326754963274e-8,-0.0022358368811051695,-4.2596592517748946e-5,-4.033897314519272e-8,-0.002235479455892738,-4.257760540665977e-5,-4.032647668471118e-8,-0.0022352014732815342,-4.251839568376904e-5,-4.026725325138652e-8,-0.0022350055128588357,-4.245824814262653e-5,-4.0204769494537755e-8,-0.002234879072292001,-4.2429981973685345e-5,-4.017588031994506e-8,-0.002234800143287794,-4.245617891594765e-5,-4.020647152992803e-8,-0.0022347421748675988,-4.254810062132713e-5,-4.030997076660549e-8,-0.002234678089860464,-4.2706022024608e-5,-4.04874490318804e-8,-0.002234583596800719,-4.292040013149177e-5,-4.072877100486095e-8,-0.0022344399196055193,-4.3173776366831664e-5,-4.101470592062815e-8,-0.002234235865992565,-4.344333894544913e-5,-4.13198704377615e-8,-0.002233969089473579,-4.370403283753067e-5,-4.1616299339581775e-8,-0.0022336463289874286,-4.393200590097062e-5,-4.1877337327494744e-8,-0.002233282501130823,-4.410796757286399e-5,-4.2081351239347404e-8,-0.0022328987863395795,-4.422003807868895e-5,-4.2214822045642e-8,-0.0022325199496675764,-4.426587777665794e-5,-4.227465236873269e-8,-0.0022321710530385326,-4.4253972215963034e-5,-4.226962591744968e-8,-0.0022318736432929433,-4.420392191805795e-5,-4.2220888713159193e-8,-0.0022316414113256896,-4.414545555348796e-5,-4.216110347774086e-8,-0.0022314754270215662,-4.4115440270257426e-5,-4.213136166132721e-8,-0.002231359823442391,-4.415175418461966e-5,-4.217445054382591e-8,-0.0022312601532689185,-4.4283382554984865e-5,-4.232367827957026e-8,-0.002231127767120565,-4.4518168017474204e-5,-4.258888372588604e-8,-0.0022309127621388284,-4.483326721123653e-5,-4.2945429863533486e-8,-0.0022305832777618443,-4.5176107345948044e-5,-4.33350641470657e-8,-0.0022301417812274774,-4.548042189951665e-5,-4.3683804639003184e-8,-0.00222962696006888,-4.5691654474732635e-5,-4.3930355472978606e-8,-0.0022290982784922498,-4.578732224176004e-5,-4.404886114752745e-8,-0.0022286126995498105,-4.578096414425489e-5,-4.405337631430236e-8,-0.002228207126679372,-4.571064953482692e-5,-4.39852734699268e-8,-0.002227893056699919,-4.562206961243283e-5,-4.38947320909112e-8,-0.002227660846567752,-4.555526540573994e-5,-4.382620421038141e-8,-0.002227487702103169,-4.55379758899719e-5,-4.381102028222137e-8,-0.0022273451775774154,-4.558426004228901e-5,-4.386564409422788e-8,-0.0022272045720067527,-4.569590592468164e-5,-4.39929402649985e-8,-0.002227040330898362,-4.586469098944103e-5,-4.418444952301841e-8,-0.0022268322499077128,-4.607464729273845e-5,-4.4422813065954085e-8,-0.0022265671012077232,-4.6304319138032545e-5,-4.46843227290974e-8,-0.002226239866699384,-4.65292374402582e-5,-4.4941773047288794e-8,-0.002225854484890745,-4.6724799757426735e-5,-4.51677431041688e-8,-0.0022254237956320375,-4.6869601410910074e-5,-4.5338309138385286e-8,-0.002224968272659459,-4.694890763075256e-5,-4.543684582222292e-8,-0.002224513374267207,-4.695764552052053e-5,-4.545727907051517e-8,-0.0022240857042466885,-4.690227807341315e-5,-4.5406156340506795e-8,-0.0022237084214524207,-4.680103654287797e-5,-4.530300679993751e-8,-0.002223396530534961,-4.668216756519775e-5,-4.517860947561035e-8,-0.002223152787249789,-4.658014304122351e-5,-4.507104168252101e-8,-0.002222964935742375,-4.652995213290346e-5,-4.501951893274435e-8,-0.002222805166025817,-4.655966574712351e-5,-4.505611999008108e-8,-0.0022226330833182246,-4.6682000764129616e-5,-4.519616588800026e-8,-0.002222403496610867,-4.6886909508180545e-5,-4.542958762812166e-8,-0.002222079087811143,-4.7138819175493126e-5,-4.571749442657403e-8,-0.0022216449448798823,-4.738267384694757e-5,-4.59987335824701e-8,-0.002221118171827722,-4.7560111136303446e-5,-4.620795613858712e-8,-0.002220545312392466,-4.763048075773373e-5,-4.629917145710085e-8,-0.002219986393474025,-4.758588464850228e-5,-4.626262271116031e-8,-0.002219493466999461,-4.745169161788492e-5,-4.612549476134362e-8,-0.0022190950899372997,-4.727349057060608e-5,-4.5937616176018814e-8,-0.0022187928437108866,-4.709946526084481e-5,-4.575211981967887e-8,-0.0022185676608473866,-4.6967148258508964e-5,-4.561086581454774e-8,-0.0022183897340214403,-4.6897877865561347e-5,-4.5538205382200175e-8,-0.002218227112864587,-4.689730372738356e-5,-4.55412865670691e-8,-0.0022180511931498754,-4.6958726789225835e-5,-4.5613476972552826e-8,-0.002217839478448058,-4.706684563405332e-5,-4.573834204511953e-8,-0.002217576767892167,-4.720088385532349e-5,-4.5893088802846886e-8,-0.0022172557391592737,-4.7337099909682e-5,-4.605143273264397e-8,-0.0022168773700565656,-4.74510906017821e-5,-4.6186255635813826e-8,-0.0022164511799183666,-4.752034046529439e-5,-4.627248139736567e-8,-0.002215994899699834,-4.7527295848164124e-5,-4.629045712510837e-8,-0.002215532947978386,-4.746279506796771e-5,-4.622968509992351e-8,-0.0022150932151455763,-4.732912349998839e-5,-4.60921625117704e-8,-0.0022147021652644183,-4.714160221841957e-5,-4.589418230010463e-8,-0.002214378969883185,-4.692762570971198e-5,-4.566542228593394e-8,-0.0022141300645164186,-4.672255695780222e-5,-4.544463178449744e-8,-0.0022139458137362612,-4.6562850713633075e-5,-4.52722393117001e-8,-0.00221380060967952,-4.64777591528412e-5,-4.518126383051442e-8,-0.0022136569173281237,-4.648149783906708e-5,-4.518852648490155e-8,-0.0022134729343128413,-4.65678409922886e-5,-4.5288350736913463e-8,-0.002213212730213477,-4.670898079689068e-5,-4.545089717714251e-8,-0.002212856797894262,-4.686004182357243e-5,-4.562684735817594e-8,-0.0022124099074522273,-4.6969555866714336e-5,-4.575890861717408e-8,-0.0022119026018825377,-4.699407898397332e-5,-4.579813949784263e-8,-0.0022113839010346006,-4.691226389953383e-5,-4.5719800103478644e-8,-0.0022109065487812933,-4.673212611187127e-5,-4.553166994833471e-8,-0.0022105106421530336,-4.6487513953655795e-5,-4.52703652159344e-8,-0.002210212924897253,-4.622545023671105e-5,-4.498750033432147e-8,-0.0022100056515220326,-4.599082657138239e-5,-4.4732842639896e-8,-0.0022098634270506174,-4.58151562763414e-5,-4.454182124988341e-8,-0.002209753114187779,-4.5712337116466916e-5,-4.4430643000829475e-8,-0.0022096423610802776,-4.568024895658921e-5,-4.439779129857697e-8,-0.0022095048224221024,-4.570516696428774e-5,-4.4428692789315846e-8,-0.0022093223580628898,-4.576643434562114e-5,-4.45008081941231e-8,-0.0022090854104389146,-4.5840198863217866e-5,-4.458782308690369e-8,-0.002208792684048753,-4.590211841998753e-5,-4.4662757683266604e-8,-0.002208450773065764,-4.592949249699432e-5,-4.470041059236587e-8,-0.0022080738356743857,-4.590342965342051e-5,-4.467976024450722e-8,-0.0022076829208446235,-4.581149511652582e-5,-4.45868263584567e-8,-0.0022073042325302127,-4.565081152181556e-5,-4.441802397944935e-8,-0.002206965605216999,-4.5430915166275075e-5,-4.418331181075295e-8,-0.0022066909305378285,-4.51749843519472e-5,-4.390764665471133e-8,-0.0022064933389565914,-4.49177448738443e-5,-4.3628860219709356e-8,-0.0022063692939843756,-4.469903269899099e-5,-4.339076928750656e-8,-0.002206296459441618,-4.455384182826084e-5,-4.323234070924075e-8,-0.002206237344690818,-4.450182876565845e-5,-4.317610450389361e-8,-0.002206148437110928,-4.454022855258338e-5,-4.322014158498983e-8,-0.0022059920678573607,-4.464314996140854e-5,-4.333696738013364e-8,-0.002205747078655037,-4.47677698551155e-5,-4.3480006469238615e-8,-0.0022054149560458707,-4.4865453971987394e-5,-4.359562672668298e-8,-0.0022050197778874484,-4.4894469310904836e-5,-4.363714563703815e-8,-0.002204602080350687,-4.483081733338681e-5,-4.357698088947024e-8,-0.0022042082496701748,-4.4674256976108435e-5,-4.34136267011671e-8,-0.002203878355963061,-4.444767502332483e-5,-4.317130450908105e-8,-0.002203636131830214,-4.418988337579432e-5,-4.289227455216706e-8,-0.0022034842767954172,-4.3944313012475434e-5,-4.2624468807672645e-8,-0.0022034062225738905,-4.374765150444576e-5,-4.240888990786396e-8,-0.0022033728732570334,-4.362214656382595e-5,-4.22709113039624e-8,-0.0022033511472193176,-4.357325021474196e-5,-4.2217405326860426e-8,-0.002203311259278957,-4.359184072021775e-5,-4.2238963148967383e-8,-0.002203231161403219,-4.365884984553331e-5,-4.2314893940482235e-8,-0.0022030981896355236,-4.37501815219e-5,-4.241868804084055e-8,-0.0022029088590102435,-4.3840715442687394e-5,-4.252255845087228e-8,-0.002202667855443351,-4.390713159132299e-5,-4.2600676139939876e-8,-0.0022023869397814195,-4.392991328620103e-5,-4.263141972686281e-8,-0.002202083971331653,-4.389514078579005e-5,-4.259929970541784e-8,-0.0022017817509400405,-4.3796571313615305e-5,-4.2497155377534966e-8,-0.002201506019114991,-4.363807773550661e-5,-4.232878802184368e-8,-0.002201281829056389,-4.3435865519477696e-5,-4.211145676298463e-8,-0.0022011278651603286,-4.321905966755535e-5,-4.187668985882363e-8,-0.002201049428771376,-4.3026635343832115e-5,-4.166711799444936e-8,-0.0022010326564595945,-4.2899212226683795e-5,-4.1527605488542144e-8,-0.0022010438605880736,-4.2866701401245325e-5,-4.149168981230639e-8,-0.002201036815050561,-4.2936311524374124e-5,-4.156826007306663e-8,-0.0022009668005209242,-4.3087189621691026e-5,-4.1735408849570453e-8,-0.002200805687849186,-4.3275540935940235e-5,-4.194576010041846e-8,-0.0022005511147673534,-4.344845205145683e-5,-4.214141087930924e-8,-0.0022002261579351164,-4.356010243054483e-5,-4.2271627325288035e-8,-0.0021998709471877614,-4.3583870411128616e-5,-4.230621553318354e-8,-0.0021995306329296136,-4.351713167905666e-5,-4.2241049980976345e-8,-0.002199244012936336,-4.337907539302264e-5,-4.209604395428574e-8,-0.0021990354974688524,-4.3203716761038325e-5,-4.190782352683438e-8,-0.0021989114882803953,-4.303068697336216e-5,-4.1719808660383815e-8,-0.0021988611198272934,-4.2896143039547516e-5,-4.157220587465444e-8,-0.002198860529686386,-4.28256834219112e-5,-4.149400848221767e-8,-0.0021988792290551736,-4.283052362484336e-5,-4.149848437908441e-8,-0.0021988868020958604,-4.290728558961128e-5,-4.158266825085552e-8,-0.002198858332636107,-4.30407374421635e-5,-4.1730227888167276e-8,-0.0021987776559889718,-4.320815607531913e-5,-4.191627227789234e-8,-0.0021986383828306827,-4.338394252488224e-5,-4.211255171468341e-8,-0.0021984432617016725,-4.354352417484422e-5,-4.229189520363366e-8,-0.0021982026851288055,-4.366616419637895e-5,-4.243138177200893e-8,-0.002197932987833362,-4.373685585806035e-5,-4.2514400830429825e-8,-0.0021976547873646343,-4.374776948947891e-5,-4.2532145447490745e-8,-0.0021973912163822202,-4.3699666494011446e-5,-4.248507449934088e-8,-0.002197165565964018,-4.360339553726757e-5,-4.238455982416569e-8,-0.0021969976661542537,-4.348102472191013e-5,-4.2254266098886135e-8,-0.0021968986060033643,-4.3365344851824027e-5,-4.212983081364773e-8,-0.002196864488916266,-4.329582521635688e-5,-4.205462845468875e-8,-0.00219687177106506,-4.330950164594914e-5,-4.206983298743024e-8,-0.0021968783763478264,-4.342774012978813e-5,-4.219976819299261e-8,-0.002196833942465688,-4.364410781791684e-5,-4.2438344229764724e-8,-0.0021966974953614438,-4.392134829558463e-5,-4.274547229078794e-8,-0.0021964542822063117,-4.420215324008212e-5,-4.305868573313644e-8,-0.002196122004749595,-4.4429633911088055e-5,-4.3315482134634745e-8,-0.002195743141195934,-4.456667055575025e-5,-4.3474511881865136e-8,-0.0021953688213683063,-4.460502832877005e-5,-4.352567029416044e-8,-0.0021950430896256865,-4.456276883725236e-5,-4.34875261233581e-8,-0.00219479325103675,-4.447456387533459e-5,-4.339707996174946e-8,-0.0021946271302473947,-4.4380500039176534e-5,-4.329781770575668e-8,-0.0021945353071144784,-4.43168589575551e-5,-4.322972528487527e-8,-0.0021944959560133495,-4.4310062852754164e-5,-4.322252177775724e-8,-0.002194480563537203,-4.4373660852183527e-5,-4.32920524953864e-8,-0.0021944595227321863,-4.450786864707432e-5,-4.343945466521452e-8,-0.0021944069506842096,-4.4701191951449525e-5,-4.36527150890374e-8,-0.0021943042180325003,-4.49335617950116e-5,-4.391005375463803e-8,-0.002194141906377647,-4.518027077748843e-5,-4.4184332052663467e-8,-0.0021939201779301136,-4.5416019876788224e-5,-4.444764386522221e-8,-0.002193647790767406,-4.561847347713716e-5,-4.4675332295713537e-8,-0.0021933402416158846,-4.5770915859345256e-5,-4.484892453692752e-8,-0.00219301755709073,-4.586399243241319e-5,-4.495797173896476e-8,-0.0021927019881854267,-4.589680376520009e-5,-4.50011490514789e-8,-0.002192415581968075,-4.587758677189852e-5,-4.498696354861374e-8,-0.002192177416627541,-4.582404354917942e-5,-4.493420418458068e-8,-0.0021920001056428633,-4.576302032079154e-5,-4.487180284605771e-8,-0.0021918853630141493,-4.5728554041258204e-5,-4.483694086387648e-8,-0.0021918193971149852,-4.575678790110061e-5,-4.486962210563871e-8,-0.0021917704552939657,-4.5876737000029106e-5,-4.500249145208053e-8,-0.0021916921793231213,-4.609805171784536e-5,-4.524715951212536e-8,-0.002191535722030832,-4.640085504307758e-5,-4.558273256144663e-8,-0.002191268622527711,-4.673572239421093e-5,-4.5955562378608346e-8,-0.0021908911531643392,-4.703860588774864e-5,-4.6295536372601254e-8,-0.0021904389342049485,-4.725525462149562e-5,-4.654284579454351e-8,-0.0021899688757674282,-4.7361335435271427e-5,-4.667003748796585e-8,-0.002189537217572945,-4.736738240175443e-5,-4.66875152635767e-8,-0.002189182178099598,-4.730905371796731e-5,-4.6633131046491385e-8,-0.0021889175315774733,-4.723144495265606e-5,-4.655539679656418e-8,-0.0021887354256682617,-4.717574835041439e-5,-4.6499184056199204e-8,-0.0021886135162408732,-4.717157179860376e-5,-4.649736314449432e-8,-0.0021885224957076004,-4.723435333698451e-5,-4.656775348526145e-8,-0.002188432196672109,-4.736596568910569e-5,-4.671343301511786e-8,-0.0021883159915355365,-4.755688007918747e-5,-4.69247944722332e-8,-0.002188153797184117,-4.7789060056815985e-5,-4.7182558125506696e-8,-0.0021879339216937933,-4.8039252490120275e-5,-4.7461392605544466e-8,-0.0021876538472704776,-4.828243590852618e-5,-4.773381750934838e-8,-0.002187319992989988,-4.849521912185547e-5,-4.7974061450627616e-8,-0.0021869464613131022,-4.865894024085986e-5,-4.816152081756237e-8,-0.0021865528992877276,-4.87620998684626e-5,-4.828339410490294e-8,-0.0021861618199906937,-4.8801891534619e-5,-4.833627312095251e-8,-0.0021857956854069802,-4.878486309271509e-5,-4.832680892763946e-8,-0.0021854738600616984,-4.8726762987137e-5,-4.8271587194920043e-8,-0.0021852094900030724,-4.86515128943926e-5,-4.8196176656966384e-8,-0.002185006334014698,-4.858914285791343e-5,-4.8133122371377696e-8,-0.0021848556724831675,-4.8572182159752406e-5,-4.8118210423692764e-8,-0.0021847340908449993,-4.862969584851901e-5,-4.818398533821574e-8,-0.0021846040333787834,-4.8778729210677626e-5,-4.835019658202303e-8,-0.0021844197065521583,-4.901477659668526e-5,-4.861300583671992e-8,-0.002184139908137586,-4.9305740268685153e-5,-4.89380239589084e-8,-0.002183745208710712,-4.959578164277363e-5,-4.926436436193073e-8,-0.0021832508778272947,-4.9822400093252296e-5,-4.9523381452495355e-8,-0.0021827054179990426,-4.9940812964766306e-5,-4.9665452368679164e-8,-0.002182172657790118,-4.9941786271621964e-5,-4.967953305482646e-8,-0.0021817074157041024,-4.985220421423567e-5,-4.959386599256073e-8,-0.002181338673865619,-4.9720142395811015e-5,-4.945991919619401e-8,-0.0021810666706533364,-4.9595568980319e-5,-4.933166537295909e-8,-0.0021808703783844,-4.951657478515571e-5,-4.92507832762818e-8,-0.0021807181941960203,-4.950399504420421e-5,-4.924073730655143e-8,-0.0021805769182982548,-4.956218364039945e-5,-4.9307324380953e-8,-0.0021804174795038798,-4.968259370492711e-5,-4.9442212976376634e-8,-0.0021802179110294567,-4.9847836933814006e-5,-4.9627109424267564e-8,-0.002179964670767143,-5.003531159657192e-5,-4.983764252872737e-8,-0.0021796530724134083,-5.0220385609024966e-5,-5.004692161411961e-8,-0.002179287108625143,-5.0379309817940806e-5,-5.0228863268068284e-8,-0.0021788786984716967,-5.049197671212808e-5,-5.0361312329529946e-8,-0.0021784462256297563,-5.054452595703909e-5,-5.04289060225776e-8,-0.0021780122025803136,-5.053151803276535e-5,-5.042538797210063e-8,-0.002177600157916581,-5.045722929573454e-5,-5.035495070136917e-8,-0.0021772310966522526,-5.0335776567875636e-5,-5.023237210708531e-8,-0.002176919902460922,-5.0189932859938544e-5,-5.0081843179902245e-8,-0.00217667207082299,-5.004853269807545e-5,-4.993436120974221e-8,-0.0021764812441906808,-4.994249777622941e-5,-4.982363597059191e-8,-0.0021763280507105863,-4.98996114264398e-5,-4.978052270196503e-8,-0.0021761809437515654,-4.9938185981473035e-5,-4.982603516805561e-8,-0.002176000149806595,-5.006025793450334e-5,-4.9963621703133264e-8,-0.002175745817326205,-5.024622884164902e-5,-5.0172910484799115e-8,-0.002175390157594791,-5.0454365055776456e-5,-5.0408841281164365e-8,-0.002174930337153652,-5.06288459355e-5,-5.061036106903455e-8,-0.002174395353711165,-5.071699644838109e-5,-5.0719362989473973e-8,-0.0021738401034926535,-5.0689679713245726e-5,-5.0703131233504954e-8,-0.0021733265233010663,-5.055363671187018e-5,-5.056794205359903e-8,-0.0021729011128648096,-5.034775070284775e-5,-5.035513085813307e-8,-0.0021725811078602674,-5.012585939427826e-5,-5.012259516349527e-8,-0.0021723547388293137,-4.993700515060601e-5,-4.992354472562844e-8,-0.0021721915116131806,-4.9812811310871116e-5,-4.979285902848771e-8,-0.0021720546749986677,-4.976445626435847e-5,-4.9743630077680485e-8,-0.002171910550591354,-4.978612573658363e-5,-4.977057674929707e-8,-0.0021717334408312126,-4.986073223887547e-5,-4.985593590639394e-8,-0.0021715072056702122,-4.9965197761627746e-5,-4.997503848354697e-8,-0.002171225123681876,-5.007442062639999e-5,-5.010064735726323e-8,-0.0021708891541935235,-5.0164162613396194e-5,-5.020624123144993e-8,-0.002170509011565236,-5.021337352113505e-5,-5.026869269970753e-8,-0.0021701010201165194,-5.020633834079381e-5,-5.027067408474085e-8,-0.002169686481978018,-5.013479660142251e-5,-5.02029350445516e-8,-0.0021692892001323122,-4.999980622314807e-5,-5.006625128102955e-8,-0.002168932022375522,-4.9812758371010945e-5,-4.9872480658075486e-8,-0.002168632724515974,-4.95948957641629e-5,-4.96440934171442e-8,-0.0021683999304833723,-4.9374905475583854e-5,-4.94117279890712e-8,-0.0021682299884622017,-4.9184517024424835e-5,-4.9209644023520306e-8,-0.0021681057683319905,-4.905256550499114e-5,-4.906946354132325e-8,-0.0021679981084059274,-4.899850303697785e-5,-4.901315398366616e-8,-0.0021678702118165865,-4.902660625417457e-5,-4.904654790153962e-8,-0.002167684855459021,-4.912228342329066e-5,-4.915496722137846e-8,-0.002167413675346147,-4.9252117611135175e-5,-4.930287422769272e-8,-0.0021670467328493287,-4.9369236645834006e-5,-4.9439453319941026e-8,-0.0021665991445428225,-4.942457392269512e-5,-4.951084310411176e-8,-0.0021661107109958544,-4.9382031214902844e-5,-4.9476821013151695e-8,-0.0021656359860024264,-4.923205966050717e-5,-4.932584479686643e-8,-0.0021652269664645565,-4.8996524294130615e-5,-4.908058662160895e-8,-0.0021649159058167063,-4.872105249104496e-5,-4.878982557957179e-8,-0.002164706655984438,-4.8458301673946887e-5,-4.8510450968611894e-8,-0.0021645777385677746,-4.825084661063017e-5,-4.8288973195301046e-8,-0.0021644934054848965,-4.812122783466715e-5,-4.81506379139743e-8,-0.0021644159176900527,-4.8071024900689184e-5,-4.809815557247862e-8,-0.0021643141929952214,-4.808594061576428e-5,-4.81168922637752e-8,-0.002164167674411756,-4.814266053659258e-5,-4.818208341414474e-8,-0.0021639667146355628,-4.8214709519840826e-5,-4.8265144796799985e-8,-0.0021637113015193915,-4.8276471408607926e-5,-4.833815104674628e-8,-0.0021634093935051597,-4.8305717497990586e-5,-4.8376751136334334e-8,-0.0021630753860666465,-4.8285336142651836e-5,-4.836216222000512e-8,-0.0021627286667312874,-4.8204863846761885e-5,-4.828283802361071e-8,-0.002162391861482956,-4.8062097732630306e-5,-4.813613888210156e-8,-0.0021620882679398825,-4.786457221389886e-5,-4.792984469758117e-8,-0.0021618381966684985,-4.763020148052184e-5,-4.768283959318655e-8,-0.0021616544721947527,-4.738615688544101e-5,-4.74240049864915e-8,-0.0021615380479013072,-4.716519867376527e-5,-4.718845234479752e-8,-0.002161475302072799,-4.699937039553237e-5,-4.701091284755469e-8,-0.0021614386393250546,-4.6912154688658707e-5,-4.691736184216948e-8,-0.002161391201800069,-4.6911292679655636e-5,-4.691717630397373e-8,-0.002161295075484384,-4.698475296081406e-5,-4.6998506562417824e-8,-0.002161121034202,-4.710162372082691e-5,-4.712886694957854e-8,-0.002160857131367918,-4.7218339997966116e-5,-4.726153824963162e-8,-0.0021605135166616594,-4.728911357216719e-5,-4.734669635449493e-8,-0.002160121614640899,-4.727811102218645e-5,-4.7344670899897986e-8,-0.002159727070259186,-4.71700332472349e-5,-4.72376676723403e-8,-0.002159377681774251,-4.697546153405605e-5,-4.703590761080976e-8,-0.0021591097858532486,-4.672829423936533e-5,-4.677517141941328e-8,-0.002158938074167603,-4.6475408602648845e-5,-4.650582202815821e-8,-0.002158852916009944,-4.626235480050213e-5,-4.627738514230599e-8,-0.002158825801635166,-4.612087538018337e-5,-4.612493766194266e-8,-0.002158819709787541,-4.606270599802699e-5,-4.606214934513943e-8,-0.002158799607308813,-4.608051665422589e-5,-4.6081993496327766e-8,-0.0021587395273344563,-4.615361327504223e-5,-4.616267371658823e-8,-0.002158625286072611,-4.625494118904886e-5,-4.627511694149892e-8,-0.002158453953359905,-4.635691120285143e-5,-4.638936013416345e-8,-0.002158231790057722,-4.643523375110354e-5,-4.647887273854775e-8,-0.002157971911670394,-4.647108233605865e-5,-4.652305041561149e-8,-0.0021576922476335206,-4.6452294121769896e-5,-4.650856384345036e-8,-0.0021574138014324212,-4.637428430326153e-5,-4.6430286990051256e-8,-0.0021571587957101316,-4.624105015071745e-5,-4.629227406134107e-8]} \ No newline at end of file diff --git a/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_1.json b/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_1.json new file mode 100644 index 0000000..8eb0d0e --- /dev/null +++ b/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_1.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1.0,"startIndex":1000,"numberOfSamples":1000,"samples":[-0.002156948117797158,-4.6066106188504274e-5,-4.610870837852341e-8,-0.0021567976844821175,-4.587262928957953e-5,-4.590411215695837e-8,-0.002156713908245568,-4.569170874283684e-5,-4.5711626484184725e-8,-0.0021566893595621928,-4.555761003533914e-5,-4.5568113732113295e-8,-0.002156700743371349,-4.549983445555494e-5,-4.5505741530892555e-8,-0.0021567115663395065,-4.5533671389188886e-5,-4.5541790676334716e-8,-0.0021566804178876843,-4.5652915406612466e-5,-4.5670622833809834e-8,-0.002156572912636481,-4.582870678241587e-5,-4.58621255953264e-8,-0.0021563728566239655,-4.601620142754535e-5,-4.6068577295811786e-8,-0.0021560880133587525,-4.616711622705171e-5,-4.623794070121091e-8,-0.002155748222189647,-4.62434863816923e-5,-4.6328641438483505e-8,-0.002155396920669294,-4.622782396424562e-5,-4.632067580425877e-8,-0.00215507933393081,-4.612686483113469e-5,-4.621997607570151e-8,-0.0021548310204559523,-4.596856314722607e-5,-4.605556460572259e-8,-0.0021546697448800787,-4.579380803487395e-5,-4.5870948767990285e-8,-0.0021545925009090403,-4.564545026639773e-5,-4.571243253541094e-8,-0.00215457808447119,-4.555777214888923e-5,-4.561767662258407e-8,-0.002154594019620961,-4.554927142265337e-5,-4.560764640929833e-8,-0.002154605368940617,-4.562040509803385e-5,-4.568383677005805e-8,-0.002154582628502511,-4.575613804937631e-5,-4.583074108471704e-8,-0.0021545067042819666,-4.593156748733217e-5,-4.602179515117175e-8,-0.0021543704349080905,-4.6118291920214145e-5,-4.6226298143065905e-8,-0.002154177429419203,-4.628970757896518e-5,-4.64152905393417e-8,-0.0021539395320203554,-4.642448039496704e-5,-4.656547403677698e-8,-0.0021536740325304696,-4.6508347419083976e-5,-4.6661248300741016e-8,-0.002153401212638439,-4.6534852085000904e-5,-4.669548060691322e-8,-0.0021531422886805827,-4.650565883599465e-5,-4.666974436961425e-8,-0.0021529174221249937,-4.6430830311047396e-5,-4.6594529114611347e-8,-0.002152743281384537,-4.632899782380846e-5,-4.648943285318694e-8,-0.0021526297364554913,-4.622682327908873e-5,-4.6382720029024235e-8,-0.0021525757781952213,-4.615665217809799e-5,-4.6309007987320986e-8,-0.0021525657635618595,-4.615111791560906e-5,-4.630363581540198e-8,-0.0021525683606683156,-4.623433111379003e-5,-4.639321479077921e-8,-0.0021525411131787307,-4.641162808298889e-5,-4.658444896551646e-8,-0.00215244181360915,-4.6662730585749126e-5,-4.685650807739798e-8,-0.002152243559761613,-4.69438336830974e-5,-4.716299443903288e-8,-0.0021519463173773905,-4.720028130623982e-5,-4.744536946490242e-8,-0.0021515783140552483,-4.738487646555355e-5,-4.7652539659263205e-8,-0.0021511863195340735,-4.7473012892754915e-5,-4.775714558013054e-8,-0.002150820158632104,-4.74681988823182e-5,-4.7761682951372046e-8,-0.0021505186509381763,-4.739759003524929e-5,-4.769404722497823e-8,-0.002150301454146949,-4.7301602034095665e-5,-4.75967746928141e-8,-0.002150167504080223,-4.722237577724007e-5,-4.751493736774092e-8,-0.0021500984653760494,-4.7194327180898005e-5,-4.7486029043007825e-8,-0.002150065007643072,-4.7238211715320985e-5,-4.753336591146179e-8,-0.002150034011848315,-4.735890504159874e-5,-4.7663329284699034e-8,-0.0021499752813515308,-4.754650144645341e-5,-4.7866189097583804e-8,-0.0021498666614940885,-4.777999559892799e-5,-4.811985529955003e-8,-0.002149696844734374,-4.8032435641353954e-5,-4.8395408706038154e-8,-0.0021494657462589853,-4.8276239272205825e-5,-4.866295866283441e-8,-0.0021491829316347584,-4.848761715432387e-5,-4.8896590036391526e-8,-0.002148864888882999,-4.864954755615883e-5,-4.9077698538029214e-8,-0.002148531969661492,-4.875324012053347e-5,-4.9196590948451486e-8,-0.00214820559302335,-4.879845385417849e-5,-4.925275811633043e-8,-0.0021479058723801398,-4.8793211725869386e-5,-4.9254476683867235e-8,-0.0021476494691693242,-4.875326148772683e-5,-4.921820529983365e-8,-0.0021474473356039884,-4.8701280224926454e-5,-4.916782927985692e-8,-0.002147302025734625,-4.8665427348109735e-5,-4.913330991550414e-8,-0.0021472046146883317,-4.867636961659977e-5,-4.914769826441347e-8,-0.0021471322071707254,-4.8761685544412094e-5,-4.924121019381598e-8,-0.0021470482597085038,-4.893732048233069e-5,-4.943192954490526e-8,-0.002146908584499707,-4.91979967179343e-5,-4.97152190263401E-08,-0.002146674363316176,-4.9511646656850674e-5,-5.0057427768996096e-8,-0.002146328667920062,-4.982422622000098e-5,-5.0400872447169334e-8,-0.0021458875359486144,-5.007688042712524e-5,-5.0682229364308553e-8,-0.002145397011314185,-5.0228379818507437e-5,-5.0856638807463407e-8,-0.0021449161791735768,-5.0270217445764416e-5,-5.091394422090286e-8,-0.002144495917953705,-5.0226434247242504e-5,-5.087865414824122e-8,-0.002144164522903363,-5.01408709895491e-5,-5.079660476566392e-8,-0.002143924532470479,-5.0060878640441164e-5,-5.0717902245852795e-8,-0.002143757959315198,-5.002483607513269e-5,-5.068379162791456e-8,-0.002143634896737234,-5.005585115815337e-5,-5.071984838493151e-8,-0.002143521842854634,-5.0160650756850324e-5,-5.083446444779818e-8,-0.002143388120717485,-5.0331651201626866e-5,-5.102064773664288e-8,-0.002143210184954386,-5.055054311417113e-5,-5.125954074459971e-8,-0.002142974117514982,-5.079251129394976e-5,-5.152482507010141e-8,-0.0021426765074378826,-5.103064468172294e-5,-5.178753018681961e-8,-0.0021423238391256607,-5.124006797853224e-5,-5.202065134245872e-8,-0.002141930651324379,-5.140134181465216e-5,-5.220297342970296e-8,-0.0021415168281439588,-5.150282446702924e-5,-5.2321688446799315e-8,-0.0021411044645297406,-5.154180999406271e-5,-5.237359158139016e-8,-0.0021407148054202576,-5.152449499997826e-5,-5.236496558245039e-8,-0.0021403655678020684,-5.146510002939213e-5,-5.231059043138093e-8,-0.002140068652238457,-5.138444270295482e-5,-5.2232268635753575e-8,-0.002139828133292629,-5.1308028225241545e-5,-5.2156950212399334e-8,-0.002139638422673149,-5.126350568803761e-5,-5.2114230564000163e-8,-0.00213948268691379,-5.1277018333799685e-5,-5.213259191254482e-8,-0.002139332290822501,-5.1367795817320406e-5,-5.223357239670482e-8,-0.0021391489883805194,-5.154098912009453e-5,-5.242383088390882e-8,-0.002138891970010422,-5.1780522562900146e-5,-5.268710604455327e-8,-0.0021385305995390066,-5.20462253084977e-5,-5.2980835455315765e-8,-0.002138059594008942,-5.2280784568316565e-5,-5.324353111816718e-8,-0.002137508049281609,-5.242840674319948e-5,-5.341489927661907e-8,-0.0021369333564798328,-5.245794992558174e-5,-5.3460757754233854e-8,-0.0021364000567887635,-5.237659280739311e-5,-5.338772944526506e-8,-0.0021359554177806913,-5.222499524366457e-5,-5.323816602452792e-8,-0.0021356157132549174,-5.205829004263862e-5,-5.307010206523827e-8,-0.002135367798385966,-5.1925718630202697e-5,-5.293584770307225e-8,-0.0021351802309842655,-5.185853393324863e-5,-5.2869237987871783e-8,-0.002135015709675917,-5.186747116928778e-5,-5.288277568269625e-8,-0.0021348401734937695,-5.194616985504687e-5,-5.2970891829753475e-8,-0.002134627758060293,-5.2076667370690687e-5,-5.311539888620349e-8,-0.002134362664862016,-5.22346501846903e-5,-5.329085053332862e-8,-0.0021340393185033547,-5.2393733389077045e-5,-5.3469096840437146e-8,-0.002133661644592146,-5.252894430972528e-5,-5.362316413179043e-8,-0.0021332416919183183,-5.2619642849676823e-5,-5.373058405670703e-8,-0.002132797639105352,-5.265187989316952e-5,-5.377605953151373e-8,-0.00213235123299873,-5.262008658853691e-5,-5.3753301407695094e-8,-0.0021319247547086106,-5.252787431710746e-5,-5.366582385721862e-8,-0.002131537812166341,-5.2387711692295135e-5,-5.3526527141880856e-8,-0.002131204386649835,-5.221948578729788e-5,-5.335616249926751e-8,-0.002130930436840616,-5.204813499564776e-5,-5.3180922715721016e-8,-0.0021307122475242276,-5.190051666082856e-5,-5.3029303636494595e-8,-0.002130535691096194,-5.1801663288743484e-5,-5.2928303953712826e-8,-0.002130376577415983,-5.1770519389418736e-5,-5.289893815879023e-8,-0.0021302025383327134,-5.1815158911048855e-5,-5.2950976313991277e-8,-0.002129977378036466,-5.192792796725971e-5,-5.3077407334747964E-08,-0.0021296688087945386,-5.208214555192072e-5,-5.325050928388623e-8,-0.0021292592998348823,-5.2233329336141494e-5,-5.342289782969275e-8,-0.002128757014872047,-5.2328224363975537e-5,-5.353718707965699e-8,-0.0021282003685288873,-5.232211388239153e-5,-5.354471701182651e-8,-0.0021276495587692528,-5.219820202071707e-5,-5.342650421322242e-8,-0.002127165444777017,-5.1977374748586926e-5,-5.32037987462269e-8,-0.002126786408919701,-5.1710339300552144e-5,-5.292980367635397e-8,-0.0021265166937946525,-5.145633618560855e-5,-5.2667177244896215e-8,-0.00212633105580082,-5.126167160748416e-5,-5.246538067689548e-8,-0.002126189328271234,-5.114869660600918e-5,-5.234897812409529e-8,-0.0021260510373621883,-5.111638783278097e-5,-5.231801132895357e-8,-0.002125884513579751,-5.114733030685652e-5,-5.235503053809026e-8,-0.0021256702248682435,-5.121572331910457e-5,-5.243327665430199e-8,-0.002125400455812279,-5.1293642979333694e-5,-5.252321996716058e-8,-0.0021250775059338096,-5.1355096043385815e-5,-5.259696904862907e-8,-0.0021247116610059085,-5.1378537621995244e-5,-5.2631164024147827e-8,-0.0021243192352671083,-5.134861185069034e-5,-5.2609026267915535e-8,-0.002123920533294502,-5.125749504161394e-5,-5.252187717870801e-8,-0.002123537513917045,-5.1105899487825944e-5,-5.237017732952232e-8,-0.0021231909824004935,-5.0903510148269925e-5,-5.21639052525058e-8,-0.002122897386272381,-5.066840160744641e-5,-5.192188374186477e-8,-0.0021226656718111524,-5.042508933637542e-5,-5.166975788992617e-8,-0.002122494839571998,-5.0201204525872756e-5,-5.143662126873064e-8,-0.0021223728064571974,-5.002307532138799e-5,-5.125052539179263e-8,-0.002122277063662247,-4.9910792187481684e-5,-5.1133373559448276e-8,-0.002122177350465051,-4.9873571668336e-5,-5.1095958839310544e-8,-0.002122040271899325,-4.990621895883855e-5,-5.113395766297128e-8,-0.002121835670220407,-4.998749569171908e-5,-5.122580454826739e-8,-0.002121544289358671,-5.008151805352115e-5,-5.133380683137773e-8,-0.0021211653940700756,-5.0143498952941705e-5,-5.141007127166793e-8,-0.0021207216447338448,-5.0130441492102875e-5,-5.1407976149345016e-8,-0.002120257496141451,-5.001520456175847e-5,-5.1297441102601807e-8,-0.002119828397979043,-4.9798850489622e-5,-5.107840402680578e-8,-0.0021194826754195456,-4.9513892869127156e-5,-5.078451782729881e-8,-0.002119244086201465,-4.921409445932999e-5,-5.0472444375840066e-8,-0.0021191046402436534,-4.8954748273117716e-5,-5.0200988226733736e-8,-0.002119031138708923,-4.8773978554723135e-5,-5.001124485406591e-8,-0.002118980101862301,-4.8684026206295004e-5,-4.991720030835334e-8,-0.00211891220827597,-4.867379334879302e-5,-4.990812813538284e-8,-0.0021188006530865576,-4.8717674424215837e-5,-4.9957631878584515e-8,-0.0021186330805224884,-4.878489183979079e-5,-5.003335885442783e-8,-0.002118409606923484,-4.8846210672363946e-5,-5.010414572430475e-8,-0.0021181395569648243,-4.887764161794287e-5,-5.0144131459874775e-8,-0.002117838428140765,-4.8862089859800686e-5,-5.013472762586503e-8,-0.0021175254797301053,-4.87900395563563e-5,-5.006548391793509e-8,-0.0021172217039225403,-4.865995177280172e-5,-4.9934517707598465e-8,-0.0021169477453683006,-4.8478584561881674e-5,-4.9748766630150475e-8,-0.002116721392799632,-4.8261007717598124e-5,-4.952391111144196e-8,-0.00211655455107997,-4.802973321358578e-5,-4.928344153787555e-8,-0.002116450096966629,-4.781233066898358e-5,-4.9056238260434893e-8,-0.0021163995074253497,-4.763723300556185e-5,-4.88723175000772e-8,-0.00211638238176434,-4.752806896211847e-5,-4.8757005535652654e-8,-0.0021163687749273766,-4.749765415455074e-5,-4.872463016284184e-8,-0.0021163245129189124,-4.75433801208055e-5,-4.8773504423959966e-8,-0.0021162186131261293,-4.7645689733550204e-5,-4.888400543678275e-8,-0.0021160311239636605,-4.7770598620135224e-5,-4.902087037517744e-8,-0.0021157594156345004,-4.787624496808221e-5,-4.913984622203423e-8,-0.0021154210653734945,-4.792249771712643e-5,-4.919779498322852e-8,-0.0021150518661444766,-4.788171611098116e-5,-4.916427157162084e-8,-0.0021146983037815758,-4.774784549571525e-5,-4.903151581702451e-8,-0.0021144054214774677,-4.754043449876239e-5,-4.881909664190108e-8,-0.002114203335655032,-4.730071511555959e-5,-4.857004998709531e-8,-0.0021140976257717674,-4.7079605315396366e-5,-4.8338297363515245e-8,-0.002114068243449401,-4.6921741162987395e-5,-4.817168920274723e-8,-0.0021140776517754515,-4.685238849929127e-5,-4.8097948508555413e-8,-0.002114084019446718,-4.6872596236596724e-5,-4.81192411375788e-8,-0.002114053227237637,-4.6963141965845496e-5,-4.821604606694751e-8,-0.002113965448400426,-4.7093502898033734e-5,-4.8356449951288814e-8,-0.0021138158726727416,-4.7231060835115885e-5,-4.8505867927921634e-8,-0.0021136117434029157,-4.73475915439524e-5,-4.863405741638106e-8,-0.002113368243224607,-4.742253450655109e-5,-4.8718797175518944e-8,-0.0021131048107557887,-4.7443958322278066e-5,-4.874708212682086e-8,-0.002112842390293642,-4.740840058984932e-5,-4.87150037508711e-8,-0.002112601402461571,-4.732044050097083e-5,-4.8627229494421786e-8,-0.002112399898104981,-4.71923458598116e-5,-4.84965171325286e-8,-0.0021122513870208202,-4.7043586695278016e-5,-4.834314259144425e-8,-0.002112162155506463,-4.689959768605062e-5,-4.8193650389836864e-8,-0.0021121284044120486,-4.678902511400128e-5,-4.807810872069021e-8,-0.002112134192586928,-4.6738909755118304e-5,-4.802520783954363e-8,-0.002112151736011111,-4.676805674809973e-5,-4.8055358790222776e-8,-0.0021121455008559073,-4.68802207502431e-5,-4.8173435647070684e-8,-0.002112080244306887,-4.705993268071947e-5,-4.8364140938563196e-8,-0.0021119310664213338,-4.727368018370931e-5,-4.8592931302070324e-8,-0.002111691895111901,-4.747730114612249e-5,-4.881352739322071e-8,-0.0021113788749667064,-4.7627699607907756e-5,-4.898012188224292e-8,-0.00211102704677318,-4.7694954771803144e-5,-4.9060201272908396e-8,-0.002110681352249585,-4.767075494556609e-5,-4.90436883734857e-8,-0.002110384874318121,-4.7570663804349934e-5,-4.894570849816082e-8,-0.0021101677401916797,-4.7429813825341904e-5,-4.8802430880724736e-8,-0.002110039696581039,-4.729335730533683e-5,-4.866125590022362e-8,-0.0021099884072854364,-4.7204358850854926e-5,-4.8568084600913465e-8,-0.002109983945387274,-4.7192708949043166e-5,-4.855543459993911e-8,-0.0021099879117350232,-4.726846620998511e-5,-4.863507382826351e-8,-0.0021099639576379094,-4.7421428985429237e-5,-4.879720662545984e-8,-0.0021098861854816123,-4.7626298326830003e-5,-4.901567331796005e-8,-0.002109743186109511,-4.7850789510772105e-5,-4.9256450069474826e-8,-0.002109537586825893,-4.8063526347891254e-5,-4.948609768053289e-8,-0.002109282655958739,-4.8239580975826655e-5,-4.967782243823404e-8,-0.0021089979409871034,-4.8363148343395243e-5,-4.981449771751667e-8,-0.002108705341277884,-4.8427999229028034e-5,-4.988923858233261e-8,-0.002108426170116319,-4.843672757019664e-5,-4.990457813568429e-8,-0.0021081790939703336,-4.8399655340769195e-5,-4.987120855545762e-8,-0.002107978462340765,-4.8333815691984267e-5,-4.98068240380907e-8,-0.0021078325085235445,-4.8261883157006745e-5,-4.973500790876879e-8,-0.002107741182028866,-4.8210487087105704e-5,-4.968358842430621e-8,-0.0021076938773007476,-4.820714020935879e-5,-4.9681591379790985e-8,-0.0021076680383246907,-4.827513281127266e-5,-4.975399170959863e-8,-0.002107630376401887,-4.842654419791798e-5,-4.991432609044488e-8,-0.0021075425159545343,-4.865523284848443e-5,-5.015711147352186e-8,-0.0021073713272879244,-4.893349928726431e-5,-5.045403692151433e-8,-0.002107101054149504,-4.921621165090497e-5,-5.075804312180078e-8,-0.00210674158544731,-4.9453141274911964e-5,-5.1016160495136004e-8,-0.0021063277292051657,-4.960526660686225e-5,-5.1186657637328415e-8,-0.0021059088236712936,-4.965767137535703e-5,-5.1252729209342855e-8,-0.002105533355710234,-4.962333434846008e-5,-5.122672710022117e-8,-0.002105235298687669,-4.953725574759237e-5,-5.114433301511661e-8,-0.0021050267301768173,-4.9444765358431426e-5,-5.105262008384059e-8,-0.0021048975954977385,-4.938895653500951e-5,-5.099704564916817e-8,-0.0021048209457205044,-4.940083264676395e-5,-5.1011036159970786e-8,-0.0021047611320736954,-4.9493878141675046e-5,-5.110997819652719e-8,-0.0021046825545899023,-4.9663315734863536e-5,-5.1290024568352304e-8,-0.002104557033149279,-4.98893453161492e-5,-5.1531150434198844e-8,-0.0021043684802190066,-5.0143026698940785e-5,-5.1803180748147716e-8,-0.002104114312419352,-5.0393089164750924e-5,-5.2073008844431506e-8,-0.0021038039107087792,-5.0611974369170696e-5,-5.2311154609061635e-8,-0.002103455142864527,-5.077997300985246e-5,-5.249634587215205e-8,-0.0021030901973043527,-5.088713159052434e-5,-5.261767665298347e-8,-0.002102731754757487,-5.093327497583167e-5,-5.2674658453290784e-8,-0.002102400038249737,-5.0926853473763044e-5,-5.267593710089334e-8,-0.002102110741705476,-5.088333895282607e-5,-5.2637516149960456e-8,-0.002101873489403106,-5.08235740242651e-5,-5.2580999673824274e-8,-0.0021016904381226816,-5.07720385838116e-5,-5.2531862498246874e-8,-0.0021015548084289933,-5.0754644122074386e-5,-5.2517309070279127e-8,-0.002101449525764805,-5.079541727592946e-5,-5.256294807274047e-8,-0.002101346863688587,-5.091147619245311e-5,-5.268753767417356e-8,-0.0021012107625705593,-5.110647842638639e-5,-5.2895930277749896e-8,-0.0021010036231113496,-5.1364431323432054e-5,-5.317225671965255e-8,-0.0021006978474307205,-5.164780092740599e-5,-5.347763770609452e-8,-0.0021002887607210427,-5.1904283966139336e-5,-5.3757151991875933e-8,-0.0020998017811831972,-5.2082983385010847e-5,-5.3956856249473105e-8,-0.002099287305051419,-5.2153786677272464e-5,-5.404424493360183e-8,-0.002098803714303415,-5.211938886395136e-5,-5.402099729340937e-8,-0.0020983970909576486,-5.201310176200273e-5,-5.392087032373497e-8,-0.0020980879471518285,-5.1884788106360025e-5,-5.379525398388802e-8,-0.0020978694594535633,-5.178355560077695e-5,-5.3695353664609535e-8,-0.0020977146033212875,-5.1744897802943776e-5,-5.3658858151211176e-8,-0.0020975867206337855,-5.17850538647107e-5,-5.370387698001164e-8,-0.002097449252174256,-5.1901448471996434e-5,-5.382901325735156e-8,-0.0020972727165282454,-5.2076755488728516e-5,-5.4017187239652266e-8,-0.002097038679265766,-5.228448053746355e-5,-5.424119501315798e-8,-0.002096741115512614,-5.2494770950254756e-5,-5.446974146690214e-8,-0.0020963856479537316,-5.267968073580639e-5,-5.467310941300608e-8,-0.0020959871806476727,-5.281730553664611e-5,-5.482773870037851e-8,-0.002095566547851664,-5.2894425618154075e-5,-5.49192091763326e-8,-0.0020951467983804607,-5.2907580747666326e-5,-5.494346629557186e-8,-0.0020947496865052926,-5.2862703551995284e-5,-5.490641407062349e-8,-0.00209439283463895,-5.277366064911636e-5,-5.482230500560337e-8,-0.002094087719578533,-5.266022168051224e-5,-5.471156076175677e-8,-0.0020938383034884785,-5.2545818362760925e-5,-5.459846822588298e-8,-0.00209364009071615,-5.245512424241938e-5,-5.4508786421523974e-8,-0.002093479524987209,-5.241128303972207e-5,-5.4467015989831044e-8,-0.002093333866675805,-5.243244496307399e-5,-5.449285675295966e-8,-0.002093172238328941,-5.25272454837531e-5,-5.459637339444828e-8,-0.002092959192295158,-5.2689536740216397e-5,-5.47721861308031e-8,-0.002092662162437497,-5.289419192472436e-5,-5.4994709404817255e-8,-0.002092262731012093,-5.3097515495686634e-5,-5.5218327291160634e-8,-0.0020917682925749906,-5.3246152076680836e-5,-5.5386719323868286e-8,-0.0020912168729252238,-5.32948950916572e-5,-5.5451705931345774e-8,-0.00209066831104737,-5.322638039161152e-5,-5.539407826225248e-8,-0.002090182976448214,-5.306061034027742e-5,-5.523368866112795e-8,-0.0020897991792229852,-5.2847036022818596e-5,-5.502129784760488e-8,-0.0020895220312050072,-5.264403046194828e-5,-5.481735951820511e-8,-0.002089327651578887,-5.2498344531242285e-5,-5.4670817165440435e-8,-0.002089176601984936,-5.243402752975581e-5,-5.46075905285881e-8,-0.002089027832962104,-5.2451886161662154e-5,-5.462976227025945e-8,-0.002088848145979607,-5.253524957931374e-5,-5.4721159636310425e-8,-0.002088616519163286,-5.265749417095675e-5,-5.485481113266398e-8,-0.0020883247601802828,-5.278870213189013e-5,-5.499971074275159e-8,-0.0020879761659435914,-5.290068935685728e-5,-5.512613172786507e-8,-0.002087583221816599,-5.297058683962383e-5,-5.520959628157752e-8,-0.002087164777385674,-5.29832296796577e-5,-5.5233626895864976e-8,-0.002086742950109644,-5.2932455223265686e-5,-5.519126877302781e-8,-0.002086339956581604,-5.282138748957507e-5,-5.508542075950947e-8,-0.0020859750527439137,-5.266171847400609e-5,-5.492801945295256e-8,-0.0020856618891764334,-5.247200185689632e-5,-5.4738177469182e-8,-0.0020854066000901466,-5.227520696881749e-5,-5.453962120190033e-8,-0.0020852067040709943,-5.209587655834655e-5,-5.4357819901512334e-8,-0.002085050761531667,-5.19570440334916e-5,-5.421693100956444e-8,-0.0020849188250382576,-5.187695475340274e-5,-5.4136513752244604e-8,-0.0020847838283227895,-5.1865633386018315e-5,-5.4127943797766366e-8,-0.002084614302700284,-5.192134366393279e-5,-5.4190517439071605e-8,-0.002084379177216386,-5.202743147570318e-5,-5.4307801867957737e-8,-0.0020840552632532838,-5.2151132764179095e-5,-5.444603412637725e-8,-0.0020836367229090016,-5.2246983387897786e-5,-5.4557508305702125e-8,-0.0020831432642481086,-5.226727446908682e-5,-5.45915998704627e-8,-0.00208262110484632,-5.217892051956154e-5,-5.451267651801983e-8,-0.0020821314693878165,-5.1979995231158984e-5,-5.4317639028435655e-8,-0.002081728580818981,-5.170500269403149e-5,-5.404156653193917e-8,-0.0020814384597434145,-5.1412711832119855e-5,-5.374512512192592e-8,-0.0020812512548079114,-5.1162601970100065e-5,-5.349017232141276e-8,-0.0020811301739922143,-5.0993981576040526e-5,-5.331814200443522e-8,-0.0020810288964036128,-5.091778800135395e-5,-5.324144113486929e-8,-0.0020809068797548306,-5.0920708246115815e-5,-5.324742058440525e-8,-0.002080737412895719,-5.0975044648063965e-5,-5.330822538299496e-8,-0.0020805090765344805,-5.104836915559959e-5,-5.339054776415609e-8,-0.0020802235105041346,-5.111032019083676e-5,-5.3462654102947513e-8,-0.0020798920087048986,-5.113645247824958e-5,-5.349856905196274e-8,-0.0020795322310856322,-5.111013067736273e-5,-5.3480319452971573e-8,-0.002079165270330489,-5.102337145825212e-5,-5.339903379738613e-8,-0.002078812929807196,-5.0877027322918444e-5,-5.325522084868336e-8,-0.0020784951021789507,-5.0680399754512935e-5,-5.3058323468374344e-8,-0.0020782272019827155,-5.0450194248135284e-5,-5.2825530483115977E-08,-0.002078017796904138,-5.020860124030872e-5,-5.257971627504764e-8,-0.002077866846658982,-4.998045829403398e-5,-5.234652763334412e-8,-0.002077764949227266,-4.9789769777337244e-5,-5.215090293742938e-8,-0.002077693796213007,-4.96559598259346e-5,-5.201333928555749e-8,-0.002077627945643406,-4.959024266445353e-5,-5.1946199184189877e-8,-0.0020775379573369774,-4.959258117963107e-5,-5.1950458272378425e-8,-0.002077394847759163,-4.964972754567608e-5,-5.20133946027985e-8,-0.0020771757956997636,-4.973494898228385e-5,-5.2107934240242226e-8,-0.0020768707597667575,-4.981047198397003e-5,-5.21948928946358e-8,-0.002076488719453658,-4.9833950263944744e-5,-5.222962698296795e-8,-0.0020760607752435137,-4.976947981592237e-5,-5.217368787144459e-8,-0.0020756363255762,-4.960119521007246e-5,-5.2009327355383566e-8,-0.0020752699804712604,-4.934370262592132e-5,-5.175068444401802e-8,-0.002075002258206543,-4.904167747827994e-5,-5.144355599514386e-8,-0.002074843505137487,-4.875527236421879e-5,-5.115030112001243e-8,-0.002074770885112081,-4.85375576824606e-5,-5.092642497342114e-8,-0.0020747400769557814,-4.841647775431193e-5,-5.080178737543361e-8,-0.00207470360549399,-4.839002227744564e-5,-5.077538800998163e-8,-0.0020746254988324455,-4.843356303392952e-5,-5.082265162308837e-8,-0.002074487411936633,-4.8512066229528486e-5,-5.090778965666528e-8,-0.002074287589063454,-4.8590652566310444e-5,-5.099462507142112e-8,-0.0020740364229402913,-4.864094211986411e-5,-5.105327235216716e-8,-0.0020737516117730406,-4.864364377231825e-5,-5.1063071939584795e-8,-0.0020734542779023923,-4.858893563414716e-5,-5.101324060777878e-8,-0.0020731661303226793,-4.847596434842968e-5,-5.090249495797251e-8,-0.0020729072209830705,-4.831209437291138e-5,-5.073826475982897e-8,-0.002072693884949742,-4.81119863715466e-5,-5.053563043378728e-8,-0.0020725366574624164,-4.789627336170478e-5,-5.031584456326077e-8,-0.002072438244777095,-4.76894406001386e-5,-5.0104114550785046e-8,-0.0020723920062757552,-4.751664405123388e-5,-4.992640119935618e-8,-0.002072381620741844,-4.7399626029792626e-5,-4.980535122260885e-8,-0.002072382493146707,-4.735231857382114e-5,-4.975587690759763e-8,-0.002072365126038206,-4.737703392101369e-5,-4.9781211913094104e-8,-0.0020723002115636837,-4.746229500170882e-5,-4.987048608611002e-8,-0.002072164686144449,-4.758318793891755e-5,-4.9998772052492005e-8,-0.0020719476479477516,-4.7704672733856255e-5,-5.0130175273880784e-8,-0.0020716548762382742,-4.778785681354576e-5,-5.0224127220180263E-08,-0.002071310506859259,-4.779875995902617e-5,-5.0244500497020163e-8,-0.0020709542977483263,-4.7718213318121765e-5,-5.017014103512715e-8,-0.002070633392768585,-4.755018007788747e-5,-5.0003890279004845e-8,-0.0020703892518739446,-4.7324560969728754e-5,-4.9775852540256276e-8,-0.002070243556064142,-4.709095642120351e-5,-4.953713265926498e-8,-0.002070189582318923,-4.690347790577672e-5,-4.93441179578025e-8,-0.002070194443298303,-4.6802416516879245e-5,-4.9239360290252976e-8,-0.002070211781957937,-4.680166452708117e-5,-4.923831183218621e-8,-0.0020701982102484394,-4.688757653287808e-5,-4.9327848095478144e-8,-0.0020701254502533,-4.702784331254064e-5,-4.947517696147768e-8,-0.002069984310820259,-4.718405080239909e-5,-4.9640685225447364e-8,-0.002069781881963152,-4.732196406548829e-5,-4.978861540585559e-8,-0.002069535727065262,-4.741708010271714e-5,-4.989300757237092e-8,-0.0020692682062174064,-4.7456088345065395e-5,-4.993946266170168e-8,-0.0020690022999483347,-4.743604483466135e-5,-4.9924473337753236e-8,-0.0020687589325963695,-4.736278778201662e-5,-4.9853830021207306e-8,-0.0020685552095647745,-4.724938104372905e-5,-4.9740931313843226e-8,-0.0020684029471759965,-4.7114721697835956e-5,-4.9605222607596616e-8,-0.002068307113632894,-4.698198596032385e-5,-4.9470525465095644e-8,-0.002068264210735056,-4.6876359384872586e-5,-4.936274057243991e-8,-0.0020682611085878133,-4.682161851644506e-5,-4.930645763105391e-8,-0.002068275207205279,-4.683559588593652e-5,-4.932042167102954e-8,-0.002068276840995726,-4.692525626768796e-5,-4.941250393336782e-8,-0.0020682343681795467,-4.708286526062035e-5,-4.9575641749325084e-8,-0.002068121336074826,-4.728509807584928e-5,-4.9786665145860586e-8,-0.002067923897843404,-4.7496385865671217e-5,-5.0009436305109905e-8,-0.0020676460373650566,-4.7676378285878495e-5,-5.0202301586995866e-8,-0.0020673105644500745,-4.77898332491647e-5,-5.032822287464823e-8,-0.002066955050994269,-4.781625324925658e-5,-5.036486940750825e-8,-0.0020666233471462645,-4.7756464778773514e-5,-5.0311739548860085e-8,-0.002066354580310086,-4.763398187934115e-5,-5.0191974764700023E-08,-0.0020661724200392493,-4.7490128745401975e-5,-5.004766473653001e-8,-0.0020660778693884388,-4.737345115377653e-5,-4.9929071504630356e-8,-0.002066048524221078,-4.732603099287772e-5,-4.9880421809209325e-8,-0.0020660453797246812,-4.737129330364156e-5,-4.992704483799921e-8,-0.0020660250285791494,-4.7508085193365105e-5,-5.006889477610717e-8,-0.0020659523841825966,-4.7713206060515434e-5,-5.028283650859611e-8,-0.0020658090029066624,-4.795053885650078e-5,-5.053188956294247e-8,-0.002065594771846483,-4.818222569886375e-5,-5.0776768516938594e-8,-0.002065324117375244,-4.837752105633615e-5,-5.0985184294608874e-8,-0.002065019767433622,-4.851728875182688e-5,-5.1136723525022014e-8,-0.0020647068446275245,-4.8594594783670716e-5,-5.1223668798557995e-8,-0.0020644086381638085,-4.861304972472082e-5,-5.124938607964203e-8,-0.002064144097864555,-4.8584434676873395e-5,-5.122584536957933e-8,-0.002063926468637026,-4.852647936788248e-5,-5.1171225339119544e-8,-0.0020637623786124806,-4.846100605905334e-5,-5.11079143446867e-8,-0.0020636508879348973,-4.841213269692522e-5,-5.106066445180714e-8,-0.002063582435238546,-4.8403934845334516e-5,-5.1054290024565175e-8,-0.002063538168965467,-4.8457018960260466e-5,-5.1110281108115146e-8,-0.002063490642966396,-4.858388401565267e-5,-5.12421042751145e-8,-0.002063407082221286,-4.8783799285689586e-5,-5.144985988199522e-8,-0.0020632559577338995,-4.9039126710606216e-5,-5.1716281192541857e-8,-0.0020630160427410785,-4.931581340272001e-5,-5.200696102828744e-8,-0.002062684941410063,-4.95699691789468e-5,-5.2276889335559116e-8,-0.0020622829172062315,-4.9759696099219955e-5,-5.2482526161209284e-8,-0.0020618491854511264,-4.9858113731482825e-5,-5.259526114699326e-8,-0.0020614313126430684,-4.98622055714111e-5,-5.261072103110058e-8,-0.0020610717124268244,-4.979388598943105e-5,-5.255018976438976e-8,-0.00206079622917913,-4.9693307260769264e-5,-5.2454091838812215e-8,-0.002060608259750969,-4.960738794563041e-5,-5.2370482519734586e-8,-0.0020604893759882652,-4.957747244117635e-5,-5.234243575739418e-8,-0.0020604054583355405,-4.962944279368117e-5,-5.239769021503708e-8,-0.00206031622426224,-4.976850689463904e-5,-5.254290844467591e-8,-0.0020601854537221713,-4.997959938080869e-5,-5.276367005121703e-8,-0.002059989171420568,-5.0232827495872717e-5,-5.3029781808228276e-8,-0.0020597197607184654,-5.049196909900188e-5,-5.330394627200139e-8,-0.002059385412596773,-5.0723251719086136e-5,-5.35509256812709e-8,-0.002059005920337264,-5.0901931837912855e-5,-5.374455696877302e-8,-0.0020586068325025636,-5.1015438910330984e-5,-5.387122879648511e-8,-0.0020582139353274493,-5.106332394108202e-5,-5.3929977985066915e-8,-0.0020578492211639973,-5.105516573900859e-5,-5.3930358175955645e-8,-0.002057528552028513,-5.100771436745336e-5,-5.388943054436595e-8,-0.0020572605931187234,-5.094215881551009e-5,-5.382886471043966e-8,-0.0020570463828137086,-5.088182315066045e-5,-5.3772543032440546e-8,-0.0020568790450358394,-5.0850080664488783e-5,-5.3744486331419684e-8,-0.0020567435004348058,-5.086799254343324e-5,-5.376655829843546e-8,-0.0020566165172875277,-5.0951144908211624e-5,-5.38553140117008e-8,-0.002056468009873697,-5.1105440079060466e-5,-5.40176449522486e-8,-0.002056264887091375,-5.13224346701609e-5,-5.4245796040435814e-8,-0.0020559784072281106,-5.157623756835036e-5,-5.451389058844007e-8,-0.0020555942713637253,-5.1825209665744814e-5,-5.4779432398487804e-8,-0.0020551217432332926,-5.202108670480498e-5,-5.4992587084446835e-8,-0.002054595971680873,-5.212442299521637e-5,-5.511211091620739e-8,-0.002054069540827032,-5.212000715115373e-5,-5.51213256728815e-8,-0.0020535954582683582,-5.202381128623128e-5,-5.503543356010499e-8,-0.002053209667556904,-5.187728707364314e-5,-5.48959111155173e-8,-0.002052921320923942,-5.1732422490422854e-5,-5.4755490408141264e-8,-0.0020527136286440546,-5.163540619096735e-5,-5.466165472016251e-8,-0.002052552370246584,-5.16152962902263e-5,-5.464504010682952e-8,-0.002052397089200715,-5.167979779085585e-5,-5.471483931427527e-8,-0.0020522111175157827,-5.1817015362214554e-5,-5.4860156203498216e-8,-0.002051968552414977,-5.200091488002448e-5,-5.505518884494557e-8,-0.002051657757119859,-5.219838699551085e-5,-5.5266251947721564e-8,-0.0020512816489339715,-5.237636228823249e-5,-5.5459107581815276e-8,-0.0020508553095427784,-5.2507832957142995e-5,-5.5605365688318714e-8,-0.0020504017421625635,-5.2575890404729004e-5,-5.568690921630114e-8,-0.002049946887543557,-5.257533993074332e-5,-5.5697769382127575e-8,-0.002049514984834118,-5.251207506856239e-5,-5.5643570315387093e-8,-0.0020491250330573053,-5.240083953067565e-5,-5.553919797775131e-8,-0.0020487886736325817,-5.226219084775036e-5,-5.540559549606092e-8,-0.002048509350314085,-5.211942672300324e-5,-5.526655233827838e-8,-0.0020482822912756475,-5.1995876311308334e-5,-5.514595440180733e-8,-0.0020480948969156336,-5.191250486751777e-5,-5.506543751527602e-8,-0.0020479273660762303,-5.188554270222557e-5,-5.5042078174011434e-8,-0.002047753716271682,-5.19237834715236e-5,-5.5085654827554707e-8,-0.002047543853386551,-5.202532476066097e-5,-5.5195172880639046e-8,-0.0020472677925593256,-5.2174216124140644e-5,-5.535514660858792e-8,-0.002046902870774027,-5.2338771760351975e-5,-5.553355877045675e-8,-0.0020464432837271392,-5.247451873274851e-5,-5.568470840459575e-8,-0.0020459084093877532,-5.253449204712567e-5,-5.575981860047395e-8,-0.002045343640214381,-5.2486027294355265e-5,-5.5724461720487053e-8,-0.002044808785656605,-5.2326853813685626e-5,-5.557525555895152e-8,-0.002044356731611969,-5.208986005362827e-5,-5.534487592771635e-8,-0.002044013525552351,-5.183141847200364e-5,-5.5090255370018856e-8,-0.002043771226817781,-5.160953417781544e-5,-5.48704621303244e-8,-0.0020435956589243583,-5.1464429347744986e-5,-5.472704260792385e-8,-0.0020434418674889353,-5.1410036594933055e-5,-5.4675282541850294e-8,-0.0020432684427998627,-5.14362548539681e-5,-5.470618039648655e-8,-0.0020430462096218717,-5.1516940304592496e-5,-5.4794150517663037e-8,-0.0020427612302023604,-5.161886518563504e-5,-5.490581755587025e-8,-0.002042413976632722,-5.170911019925943e-5,-5.50074620408479e-8,-0.0020420165420526716,-5.1760253982835196e-5,-5.5070471238764245e-8,-0.0020415890123641396,-5.1753638794210315e-5,-5.507496856439569e-8,-0.002041155494939975,-5.168102371657047e-5,-5.501178570621877e-8,-0.0020407401651533347,-5.154474405169965e-5,-5.488278817879703e-8,-0.0020403637204026146,-5.135653343018677e-5,-5.4699684377973364e-8,-0.002040040576882192,-5.113526412477106e-5,-5.448162890443747e-8,-0.002039777091455139,-5.09039490226065e-5,-5.425206240270826e-8,-0.0020395709362431877,-5.068649756636404e-5,-5.4035371776647424e-8,-0.002039411459954195,-5.050467571637247e-5,-5.385385724355181e-8,-0.002039280756574348,-5.037542727193322e-5,-5.372512326084712e-8,-0.0020391552857087123,-5.030852534711591e-5,-5.365977061904039e-8,-0.0020390080427771986,-5.030447590753775e-5,-5.365921376204627e-8,-0.002038811568452725,-5.0352607930303213e-5,-5.3713516384989046e-8,-0.0020385424324039243,-5.042973944197244e-5,-5.379970190700536e-8,-0.0020381875739485158,-5.050077044952324e-5,-5.388206675784495e-8,-0.0020377516616928775,-5.052330199125621e-5,-5.391680200972993e-8,-0.0020372625651711995,-5.045802416725423e-5,-5.386277190055731e-8,-0.0020367698775526524,-5.028392416035833e-5,-5.3697376840582164e-8,-0.0020363321435952564,-5.001196000452072e-5,-5.34308014077663e-8,-0.0020359951521852593,-4.968703486004547e-5,-5.310816086035136e-8,-0.0020357726478473404,-4.937288418461528e-5,-5.279414480895378e-8,-0.0020356419556401216,-4.9126855995544544e-5,-5.2547399322285394e-8,-0.002035556684070434,-4.897959533240644e-5,-5.2399885499866514e-8,-0.0020354668174017705,-4.892970414356411e-5,-5.2351307750795756e-8,-0.0020353344578759418,-4.8951698867931034e-5,-5.237686688565701e-8,-0.0020351402813209166,-4.900893595997211e-5,-5.2440021527677685e-8,-0.0020348825479860966,-4.906468718670452e-5,-5.250353037457378e-8,-0.0020345726105927375,-4.908894182699448e-5,-5.253641005057569e-8,-0.002034229863541913,-4.906144649731033e-5,-5.251727392128725e-8,-0.002033877432711455,-4.897243922319491e-5,-5.2435389666249733e-8,-0.002033538711092817,-4.882223756648143e-5,-5.2290488844127926e-8,-0.002033234470164266,-4.8620156756388854e-5,-5.2091736421230884e-8,-0.0020329804185158853,-4.838285072517303e-5,-5.185597492180308e-8,-0.0020327852353072594,-4.813206614562613e-5,-5.160531630998899e-8,-0.002032649254192641,-4.789178910703803e-5,-5.136415864036497e-8,-0.00203256409568354,-4.7684964149517676e-5,-5.115586867184493e-8,-0.002032513412831578,-4.7530207576543425e-5,-5.099954932398015e-8,-0.0020324746777436327,-4.743890663944881e-5,-5.0907215491822745e-8,-0.002032421864725609,-4.741298395352246e-5,-5.088156196373777e-8,-0.002032328861343699,-4.744359026821503e-5,-5.091451930689139e-8,-0.002032173443614939,-4.7510913626487626e-5,-5.098678990055797e-8,-0.002031941783002499,-4.75853718193778e-5,-5.106873150905396e-8,-0.0020316332829377146,-4.763092567556373e-5,-5.112349305662727e-8,-0.002031264678451989,-4.7611506845454626e-5,-5.111354889776993e-8,-0.0020308711459007655,-4.7500835256465015e-5,-5.101094070015697e-8,-0.002030501384939176,-4.7293891553481265e-5,-5.0809346057054425e-8,-0.0020302046550841244,-4.7015069114082157e-5,-5.053271389164446e-8,-0.002030012417735536,-4.6715860633814e-5,-5.023306514824246e-8,-0.0020299237206302333,-4.645858056483108e-5,-4.997393446583235e-8,-0.002029904534219609,-4.629246101907128e-5,-4.980599835191041e-8,-0.0020299027081861383,-4.6235733219535855e-5,-4.974874457112798e-8,-0.0020298691085456756,-4.6273355836021885e-5,-4.9787942532947575e-8,-0.002029772836986357,-4.6368492929145236e-5,-4.9886997870461254e-8,-0.0020296053518841788,-4.6478270704142267e-5,-5.0002696473796485e-8,-0.0020293762284797076,-4.6565779984025805e-5,-5.009732090515303e-8,-0.0020291058975264805,-4.660586503998099e-5,-5.0144678766039385e-8,-0.0020288190745721122,-4.658611551409667e-5,-5.013139050785385e-8,-0.0020285401833065263,-4.650544482721242e-5,-5.0055709880198454e-8,-0.0020282905163081324,-4.637198758862261e-5,-4.9925521941264115e-8,-0.0020280863812595215,-4.6201017541421475e-5,-4.975620376898143e-8,-0.002027937697407739,-4.6012910954525015e-5,-4.95684364968778e-8,-0.0020278468548150497,-4.5830932166805734e-5,-4.938584335030445e-8,-0.0020278079352926354,-4.5678563130217145e-5,-4.923225233991149e-8,-0.0020278066732735607,-4.5576287146234076e-5,-4.9128512005390405e-8,-0.0020278216052989797,-4.553814792964579e-5,-4.908913495339701e-8,-0.0020278266184087235,-4.5568694544187735e-5,-4.91192941943901e-8,-0.0020277947861438816,-4.566099727855335e-5,-4.921277950752152e-8,-0.0020277030598136164,-4.579640243999685e-5,-4.9351559556919325e-8,-0.0020275370670149273,-4.5946459644631754e-5,-4.950743825762933e-8,-0.0020272951641109476,-4.6077038467505365e-5,-4.964594133297112e-8,-0.0020269909380996286,-4.615441491887575e-5,-4.9732349917762104e-8,-0.002026653192492816,-4.615293081887066e-5,-4.973956903588067e-8,-0.002026322209052732,-4.606314805429271e-5,-4.965671815932576e-8,-0.0020260414134917063,-4.5898197313257225e-5,-4.949598467985722e-8,-0.002025845064816443,-4.569487890022771e-5,-4.929407616837752e-8,-0.0020257453978966516,-4.550622741121225e-5,-4.9104815330766504e-8,-0.0020257254701901042,-4.538541867435896e-5,-4.898274157296879e-8,-0.0020257433889951937,-4.536680350718691e-5,-4.89636608578841e-8,-0.0020257476215753702,-4.5453789008186565e-5,-4.905208248604179e-8,-0.002025695654193513,-4.562012774480506e-5,-4.922225373647776e-8,-0.0020255663701208917,-4.582262170758979e-5,-4.943082479997011e-8,-0.0020253618227586557,-4.6016984020625265e-5,-4.963283638283841e-8,-0.00202510099803616,-4.6169328034816214e-5,-4.979343944742674e-8,-0.002024811017417274,-4.626077683867761e-5,-4.989278000082901e-8,-0.002024519795827304,-4.6286832571634604e-5,-4.992561400738215e-8,-0.0020242514862415977,-4.625433913083903e-5,-4.989840752411386e-8,-0.002024024252686185,-4.617810969109077e-5,-4.982595556164917e-8,-0.0020238493406938953,-4.607808430854788e-5,-4.972841725462505e-8,-0.0020237306112493255,-4.597702408116703e-5,-4.96288581956967e-8,-0.002023664162763472,-4.589834984431947e-5,-4.955099750636145e-8,-0.0020236381094273855,-4.586365827157764e-5,-4.951673189348936e-8,-0.0020236329502209293,-4.5889656355000434e-5,-4.954314934249165e-8,-0.002023623153744319,-4.5984715081919234e-5,-4.963915423232379e-8,-0.0020235804546441657,-4.6145777376813115e-5,-4.980235686787022e-8,-0.002023478863220688,-4.635676148666589e-5,-5.0017332271608656e-8,-0.0020233006158513526,-4.658965624449702e-5,-5.025648223081647e-8,-0.002023041531229927,-4.6808945440860525e-5,-5.048423155390615e-8,-0.0020227139642913913,-4.6978896318268104e-5,-5.066420578545552e-8,-0.002022346013528821,-4.7072161309276584e-5,-5.0767917079637096e-8,-0.002021976583923614,-4.7077557162162256e-5,-5.0782829172766134e-8,-0.002021646938817805,-4.700482993717928e-5,-5.071753209060727e-8,-0.0020213903373314294,-4.688457071627136e-5,-5.060204845365824e-8,-0.00202122225761361,-4.676225438165741e-5,-5.048208770780828e-8,-0.002021134399579563,-4.668682793085823e-5,-5.040757499631068e-8,-0.0020210955157597492,-4.66964938733245e-5,-5.041810897949245e-8,-0.002021060207166187,-4.680660727557303e-5,-5.053039604591645e-8,-0.0020209831787395298,-4.700501284627893e-5,-5.073317426465869e-8,-0.0020208331782008873,-4.7257207541469374e-5,-5.0992163914768974e-8,-0.002020600749527367,-4.751873684499668e-5,-5.126249359928724e-8,-0.002020297495132843,-4.7748817668834114e-5,-5.150253416122725e-8,-0.002019949045350994,-4.791973032907616e-5,-5.168357842505219e-8,-0.002019586148214338,-4.801998291591459e-5,-5.1793273968425187e-8,-0.0020192374342056386,-4.8052601996660434e-5,-5.183409256541799e-8,-0.002018925159106304,-4.8031175323490096e-5,-5.181942050354247e-8,-0.0020186634942643855,-4.797571811880198e-5,-5.1769350061628944e-8,-0.002018458307559683,-4.7909321720409155e-5,-5.17071934570522e-8,-0.0020183074793059634,-4.7855657746552463e-5,-5.1656878184229704e-8,-0.0020182012242393878,-4.783688725574289e-5,-5.164083264519561e-8,-0.0020181224346406887,-4.7871384574551e-5,-5.167777089044754e-8,-0.002018047515893418,-4.797092449356852e-5,-5.177995991815182e-8,-0.0020179484270965854,-4.813745696818201e-5,-5.1950004632217014e-8,-0.0020177966111187182,-4.836022705575067e-5,-5.217785319666721e-8,-0.0020175689778127058,-4.861471743161788e-5,-5.243952149084699e-8,-0.0020172549083493363,-4.886518940475764e-5,-5.2699404555608824e-8,-0.0020168618491771245,-4.9071739379400246e-5,-5.291720278700551e-8,-0.0020164165457899337,-4.920074189090056e-5,-5.305839885690176e-8,-0.0020159601254947663,-4.923537724905972e-5,-5.310497994930823e-8,-0.0020155377782343923,-4.9182101111894395e-5,-5.3062208619770655e-8,-0.0020151863264922898,-4.9070186505180795e-5,-5.2958496549887175e-8,-0.0020149239683831454,-4.894424255995497e-5,-5.28381974040878e-8,-0.002014745466484543,-4.8852234007670655e-5,-5.2749744360003565e-8,-0.002014623980385843,-4.8832737442584404e-5,-5.2732795661562924E-08,-0.0020145187675945538,-4.8905033515197663e-5,-5.2807996323674024e-8,-0.002014386463354211,-4.9064737170752646e-5,-5.297217537397421e-8,-0.0020141926071653754,-4.928613889269881e-5,-5.3200321420099145e-8,-0.002013919923050992,-4.953032530867741e-5,-5.3453543629696204e-8,-0.002013571006866503,-4.975617191211685e-5,-5.369014468097558e-8,-0.0020131652167542056,-4.993046123284049e-5,-5.3875992139383384e-8,-0.002012731692604997,-5.0034158097124634e-5,-5.399109718532883e-8,-0.0020123014742402913,-5.0063845602625036e-5,-5.403129483295887e-8,-0.00201190121087524,-5.002933955111049e-5,-5.4005977959494064e-8,-0.002011549521326985,-4.994945558883987e-5,-5.393385164637899e-8,-0.002011255743455944,-4.984764678639762e-5,-5.383846809376056e-8,-0.0020110201985696686,-4.974843179222414e-5,-5.374453985485008e-8,-0.002010835083772604,-4.9674777295965575e-5,-5.367526613695328e-8,-0.0020106854277154628,-4.964606496865315e-5,-5.365032901804489e-8,-0.0020105500400673802,-4.9676073962541255e-5,-5.3683953076972764e-8,-0.0020104028617102853,-4.9770593190928885e-5,-5.3782559234610896e-8,-0.0020102154280196164,-4.992472116898015e-5,-5.39419945769669e-8,-0.002009961203093299,-5.01205774324166e-5,-5.4145045648848874e-8,-0.0020096220475094026,-5.032702956215601e-5,-5.436091558231032e-8,-0.0020091956873586328,-5.0503577918817376e-5,-5.454893403638213e-8,-0.0020087010935627442,-5.060963041617747e-5,-5.466782814365228e-8,-0.0020081776870822868,-5.06175125618987e-5,-5.468889528583259e-8,-0.0020076760813480246,-5.052404157729019e-5,-5.4607820427235687e-8,-0.0020072426309083852,-5.03543523152836e-5,-5.444874990717472e-8,-0.0020069043511348767,-5.015493124700536e-5,-5.42575575233768e-8,-0.0020066610667815107,-4.997871174697851e-5,-5.40871357697118e-8,-0.0020064875013838,-4.98690470565664e-5,-5.3981449732444325e-8,-0.0020063429428621477,-4.9848723760962696e-5,-5.396442162152271e-8,-0.0020061836818402717,-4.991653940438004e-5,-5.40361687618578e-8,-0.0020059740082301832,-5.005060728795719e-5,-5.4175883241144576e-8,-0.0020056933781890086,-5.021595398427699e-5,-5.434910207886136e-8,-0.0020053390005447076,-5.037374382076034e-5,-5.4516829286568113e-8,-0.0020049242019915922,-5.048986269802197e-5,-5.464425732666e-8,-0.0020044736538592134,-5.054119841472836e-5,-5.470733410760349e-8,-0.0020040170112563204,-5.0518666909647305e-5,-5.469609132681992e-8,-0.002003582651521957,-5.0426916644760484e-5,-5.461455429534083e-8,-0.002003192848389794,-5.028151267800684e-5,-5.4477987905210974e-8,-0.0020028610069787686,-5.010484787898947e-5,-5.430874706071043e-8,-0.0020025908720933084,-4.992194480586509e-5,-5.413196542421391e-8,-0.0020023771463984017,-4.9756918400443195e-5,-5.3971933421660555e-8,-0.002002206808863418,-4.963034306888264e-5,-5.384945799572805e-8,-0.0020020606277349035,-4.955729195151486e-5,-5.3779965287491494e-8,-0.002001914752160842,-4.9545629165052306e-5,-5.377186303277142e-8,-0.0020017426370449094,-4.959424701946217e-5,-5.382477021649585e-8,-0.0020015178700865826,-4.9691252782268014e-5,-5.392756337052816e-8,-0.002001218597218113,-4.981272984636775e-5,-5.4056892268100934e-8,-0.0020008337756181305,-4.9923598500677135e-5,-5.417780009747694e-8,-0.002000370096206164,-4.998267559890689e-5,-5.4248682766537245e-8,-0.0019998563334538166,-4.995319905600739e-5,-5.423191853970226e-8,-0.0019993405058199324,-4.981692900508882e-5,-5.4108211202206056e-8,-0.0019988771595501596,-4.958544642961348e-5,-5.388813032255459e-8,-0.001998508235516319,-4.930060305686856e-5,-5.361273486836377e-8,-0.0019982470792282445,-4.902112276864653e-5,-5.3340329163181614e-8,-0.001998074636703137,-4.880149849864028e-5,-5.31255233957502e-8,-0.0019979490776461596,-4.867431780069525e-5,-5.300163018068865e-8,-0.001997822100817167,-4.864355803151583e-5,-5.2973805172126e-8,-0.0019976535169998273,-4.8688691267618395e-5,-5.3022777123200866e-8,-0.001997419552504148,-4.8774601604832057e-5,-5.311433704727912e-8,-0.001997114744774493,-4.8862226688571974e-5,-5.320970261330998e-8,-0.0019967494607951706,-4.891701856579829e-5,-5.3273961127601174e-8,-0.0019963452028423133,-4.8914377496388965e-5,-5.328171644965104e-8,-0.0019959291743273603,-4.884227819040176e-5,-5.3220032150562435e-8,-0.0019955289872912786,-4.870151669163586e-5,-5.3088954045228216e-8,-0.001995168161878916,-4.850401085939419e-5,-5.289994962557313e-8,-0.0019948628903654394,-4.8269744288963775e-5,-5.267284224427861e-8,-0.0019946202670904343,-4.8023026531601735e-5,-5.2431967802807096e-8,-0.0019944379707342885,-4.7788675113880514e-5,-5.220224766362233e-8,-0.0019943051797844005,-4.7588659781935926e-5,-5.200579146376313e-8,-0.0019942042706509,-4.743954711749449e-5,-5.1859386167826104e-8,-0.001994112859914415,-4.735069680607469e-5,-5.1772781475901097e-8,-0.001994006037341234,-4.732295848864623e-5,-5.1747440313270875e-8,-0.001993858894812306,-4.7347710668200726e-5,-5.177551950964653e-8,-0.0019936496579878314,-4.740627635058635e-5,-5.18390919640976e-8,-0.001993363861819001,-4.7470190253398286e-5,-5.1910146838977426e-8,-0.0019929996205191062,-4.7503541595903896e-5,-5.195272017060764e-8,-0.0019925728195238626,-4.746902878186876e-5,-5.1928915188607375e-8,-0.001992119310680294,-4.7338527946317814e-5,-5.1809644671995214e-8,-0.001991689987214206,-4.710613654808492e-5,-5.1587956392584026e-8,-0.0019913363447532006,-4.6797293437381455e-5,-5.128838764343941e-8,-0.0019910904742861894,-4.6465669201456026e-5,-5.096398901617266e-8,-0.001990950368197197,-4.617513909028325e-5,-5.067840830528089e-8,-0.0019908806466250022,-4.5975167125504204e-5,-5.048140368418561e-8,-0.0019908285309041696,-4.5883747649525306e-5,-5.039181646697579e-8,-0.0019907446103717484,-4.588605349155747e-5,-5.039601315964357e-8,-0.0019905972795608703,-4.59456274268961e-5,-5.045866854053545e-8,-0.0019903769307380295,-4.601920467643337e-5,-5.053718566759492e-8,-0.001990092573971516,-4.60683822052351e-5,-5.059317403618827e-8,-0.0019897653271612717,-4.6066023946311286e-5,-5.059894157366422e-8,-0.0019894219047486518,-4.5998288524238066e-5,-5.0539804388693425e-8,-0.001989089388356069,-4.5864029542767294e-5,-5.041380553085208e-8,-0.001988791342582684,-4.5672889943786124e-5,-5.023002279694939e-8,-0.0019885450270769787,-4.544267119758317e-5,-5.000598811628438e-8,-0.001988359611822744,-4.519623780012269e-5,-4.9764511439258186e-8,-0.001988235373861473,-4.4958196634044265e-5,-4.9530237154278555e-8,-0.001988163874878257,-4.475155292368226e-5,-4.932622435749737e-8,-0.0019881291494703197,-4.4594624487372946e-5,-4.917088069716583e-8,-0.0019881097672433527,-4.449860634103792e-5,-4.907562319610449e-8,-0.0019880814361664893,-4.446599676205845e-5,-4.9043404078743095e-8,-0.001988019896370336,-4.448984902371915e-5,-4.90679788963876e-8,-0.0019879040251158317,-4.455382789815783e-5,-4.9133842968146527e-8,-0.001987719144006088,-4.463316087772778e-5,-4.921694042093964e-8,-0.001987460558236463,-4.46967620556441e-5,-4.9286514917244204e-8,-0.0019871370966062707,-4.471122399257981e-5,-4.9308929889939364e-8,-0.0019867735413332,-4.464753053386993e-5,-4.925440944020967e-8,-0.0019864096922321078,-4.449046879624519e-5,-4.910667619111871e-8,-0.001986093293887148,-4.424847454638656e-5,-4.887310764941467e-8,-0.0019858657165408035,-4.395851101024967e-5,-4.858986252843164e-8,-0.0019857444502105696,-4.36793761172567e-5,-4.831531748591886e-8,-0.0019857123157436644,-4.3471892985409506e-5,-4.811032585031551e-8,-0.001985722442942424,-4.3374678707536145e-5,-4.801403302963816e-8,-0.001985717837909519,-4.3389861516746215e-5,-4.802953349265059e-8,-0.0019856536347009303,-4.348657983914437e-5,-4.812711300883761e-8,-0.001985509793314366,-4.3617293200771854e-5,-4.826016677840372e-8,-0.001985291041141802,-4.373551017512467e-5,-4.8382599589213666e-8,-0.001985018982825112,-4.380710889702349e-5,-4.8460059289153266e-8,-0.00198472269519155,-4.381413163467009e-5,-4.8473904889146595e-8,-0.0019844313817317153,-4.3753602107519224e-5,-4.8420335013601454e-8,-0.0019841698777690116,-4.3634265418978614e-5,-4.830740886578302e-8,-0.00198395631013117,-4.347308097731399e-5,-4.815167459106861e-8,-0.00198380093609794,-4.32920529085931e-5,-4.7974972464015794e-8,-0.0019837056325942176,-4.311530044265703e-5,-4.7801388949448075e-8,-0.0019836639326078916,-4.2966205027643966e-5,-4.765430103584804e-8,-0.0019836616788419274,-4.2864560277764126e-5,-4.755351001687462e-8,-0.0019836784835310212,-4.2823816969524074e-5,-4.75125667742844e-8,-0.0019836901334029686,-4.284880913635948e-5,-4.753661876885519e-8,-0.0019836717844280323,-4.293443985340406e-5,-4.7621167559884083e-8,-0.001983601577361672,-4.306561983656408e-5,-4.775195443764006e-8,-0.00198346427639853,-4.321860830029743e-5,-4.79061064744248e-8,-0.001983254503428399,-4.3363817575379086e-5,-4.805466061004061e-8,-0.001982979128261479,-4.3470011868281195e-5,-4.8166508580713625e-8,-0.0019826583317162807,-4.350982227820718e-5,-4.8213806615591725e-8,-0.0019823245270563744,-4.346642997860529e-5,-4.817876549475533e-8,-0.0019820179079688013,-4.334055689306835e-5,-4.806092503305833e-8,-0.0019817776241884424,-4.315546627647395e-5,-4.788249609663614e-8,-0.001981629243341138,-4.295622121243347e-5,-4.768788218876515e-8,-0.00198157253207564,-4.279964969343516e-5,-4.753376447678903e-8,-0.0019815768110193243,-4.273555993575656e-5,-4.747031671641675e-8,-0.0019815896914275643,-4.2786939561310826e-5,-4.752132323658576e-8,-0.001981556964728314,-4.294065163758243e-5,-4.767470277125102e-8,-0.001981442898715948,-4.315455768342111e-5,-4.788935301045354e-8,-0.001981239994932547,-4.337586664281439e-5,-4.811318043326988e-8,-0.001980965615592369,-4.3559380683812036e-5,-4.830112897720887e-8,-0.001980651104271411,-4.3677669740602314e-5,-4.842535724700544e-8,-0.001980330622165264,-4.37224614567855e-5,-4.8476842035870866e-8,-0.001980033601616317,-4.370082309922366e-5,-4.846185712372692e-8,-0.001979781186553916,-4.362987461869388e-5,-4.8396913373778846e-8,-0.0019795853426471683,-4.35321462310607e-5,-4.8304189751421825e-8,-0.001979449164923876,-4.343211096476673e-5,-4.8208004801788516e-8,-0.001979367516891493,-4.335355049589747e-5,-4.81320762404166e-8,-0.0019793277939190233,-4.331724667908914e-5,-4.8097157631997425e-8,-0.0019793109779484602,-4.333865671006025e-5,-4.811875302716466e-8,-0.00197929334115372,-4.342552864224307e-5,-4.8204839307820454e-8,-0.0019792491585166726,-4.3575840607934675e-5,-4.835390191602501e-8,-0.0019791544719827683,-4.377676979296662e-5,-4.855390559455163e-8,-0.0019789914659854206,-4.400538864917376e-5,-4.878285284376596e-8,-0.001978752618067997,-4.423151487384888e-5,-4.9011380729146134e-8,-0.001978443571552841,-4.442266642057841e-5,-4.920743293376487e-8,-0.0019780837559768326,-4.455044155192306e-5,-4.93424419569069e-8,-0.001977704189216635,-4.459716325964112e-5,-4.9397956177720134e-8,-0.0019773423735596264,-4.4561466986321577e-5,-4.937141684655841e-8,-0.001977034607825835,-4.446140319979623e-5,-4.927959934097138e-8,-0.0019768066566202684,-4.433345001834858e-5,-4.915798984075471e-8,-0.0019766648048065616,-4.422600808807836e-5,-4.905454320636164e-8,-0.001976590642014865,-4.418718038152136e-5,-4.901754862575995e-8,-0.0019765433922679146,-4.424941926591262e-5,-4.908018505043689e-8,-0.0019764714799322142,-4.441704193678446e-5,-4.924782281001948e-8,-0.0019763299672662825,-4.466351711965738e-5,-4.949503779025665e-8,-0.0019760958592488333,-4.494111748014449e-5,-4.9774988214425593e-8,-0.001975773776278894,-4.519821653836421e-5,-5.003649186587927e-8,-0.001975390495162118,-4.539533451112828e-5,-5.0239976118785304e-8,-0.0019749831859174212,-4.551335871876182e-5,-5.0365773681986254e-8,-0.0019745879207018306,-4.555320514137526e-5,-5.041400386812903e-8,-0.0019742323786003236,-4.553037719774458e-5,-5.039938833552872e-8,-0.0019739331147513276,-4.5468406296927464e-5,-5.03448680797245e-8,-0.001973695819172792,-4.539349471122782e-5,-5.0276287499947574e-8,-0.0019735168135767726,-4.533089935511781e-5,-5.0218721062822205e-8,-0.0019733846944876474,-4.5302611923024283e-5,-5.019408501320979e-8,-0.0019732817668098417,-4.532562487218592e-5,-5.021939519624579e-8,-0.0019731854504376916,-4.5410207074392044e-5,-5.0305107394665245e-8,-0.0019730701622044603,-4.5557997564901036e-5,-5.045329830787116e-8,-0.001972910223039121,-4.576026673732602e-5,-5.0655959638034884e-8,-0.001972684031500541,-4.5997198476817514E-05,-5.0894198826261366e-8,-0.001972379090884328,-4.623929153514652e-5,-5.113944114811148e-8,-0.001971996635686588,-4.6451727228890164e-5,-5.135753400078218e-8,-0.0019715539766186102,-4.660160044857538e-5,-5.1515737334611745e-8,-0.0019710828542270687,-4.6666477609024985e-5,-5.159115485388241e-8,-0.001970623298040414,-4.664162896085638e-5,-5.1578016403124346e-8,-0.001970214212090245,-4.65432620191606e-5,-5.1491151948029e-8,-0.001969883242927487,-4.6406229230851866e-5,-5.1364075446337285e-8,-0.001969638857557791,-4.627639846031354e-5,-5.124174919757445e-8,-0.001969467008160238,-4.6199420166105754e-5,-5.116961866658035e-8,-0.0019693336914688433,-4.6208627966382286e-5,-5.1181552597747694e-8,-0.001969193371546135,-4.631535486871011e-5,-5.128996338486575e-8,-0.0019690015104308046,-4.650497733936632e-5,-5.148150977961362e-8,-0.001968727504736385,-4.6740821064600386e-5,-5.172064567922468e-8,-0.001968363316252578,-4.697522012612561e-5,-5.196041523031695e-8,-0.00196792440570595,-4.71636765838571e-5,-5.2156492160433425e-8,-0.001967443051877653,-4.727655930735045e-5,-5.227890703313716e-8,-0.0019669575953292872,-4.730437768201357e-5,-5.2317472555509746e-8,-0.0019665022928231123,-4.7256201646844035e-5,-5.228042290007389e-8,-0.0019661009362071376,-4.715377406937989e-5,-5.218873377314962e-8,-0.0019657647779907092,-4.702464970878444e-5,-5.206938544394163e-8,-0.001965493477560509,-4.689660585321579e-5,-5.194979398067257e-8,-0.001965277377825799,-4.6794002474408414e-5,-5.185413345399812e-8,-0.001965099914950498,-4.67357278760477e-5,-5.1801254050097615e-8,-0.0019649396611614903,-4.673397854378611e-5,-5.180348656861776e-8,-0.0019647721014879383,-4.6793187059781656e-5,-5.186563289514447e-8,-0.0019645716558417217,-4.690878647692816e-5,-5.1983771468773974e-8,-0.0019643145874512157,-4.706604455706395e-5,-5.214404907793817e-8,-0.001963983213520618,-4.7239795327600476e-5,-5.232226406608289e-8,-0.0019635711534783046,-4.7396399391850306e-5,-5.248560550378622e-8,-0.0019630881783210172,-4.749923158841316e-5,-5.2597912011238834e-8,-0.0019625620385825687,-4.7517783547080394e-5,-5.262860028092075e-8,-0.001962034600536159,-4.743810866143697e-5,-5.2563034466538445e-8,-0.001961551663459193,-4.7270187530390955e-5,-5.2409958425237556e-8,-0.0019611493437624405,-4.7047867070956564e-5,-5.2201684891901307e-8,-0.0019608425118726406,-4.682012526184868e-5,-5.198578136085175e-8,-0.001960620223510975,-4.663679110534357e-5,-5.1811253235307756e-8,-0.00196044964691645,-4.65343886842311e-5,-5.1714684022350806e-8,-0.001960286244385532,-4.652696232149927e-5,-5.171103424799668e-8,-0.0019600861987816276,-4.660393314075276e-5,-5.1791161198884274e-8,-0.001959817384072231,-4.673447845393499e-5,-5.192571546679343e-8,-0.0019594663672666632,-4.687647620848606e-5,-5.207366237327364e-8,-0.0019590402013480103,-4.69873681531962e-5,-5.219291849091948e-8,-0.0019585630459199917,-4.7034093216261266e-5,-5.2250281015410575e-8,-0.0019580689434451474,-4.699963912862847e-5,-5.222813797470916e-8,-0.001957593098636109,-4.6884855780413277E-05,-5.212650982795257e-8,-0.0019571642607120374,-4.6705755925512453e-5,-5.196056523166988e-8,-0.001956800031936092,-4.648795164335014e-5,-5.175520387715332e-8,-0.0019565055327110657,-4.626040613743492e-5,-5.1538868280151164e-8,-0.001956274664949442,-4.605019885705157e-5,-5.133830575689433e-8,-0.0019560927255029953,-4.587904903303501e-5,-5.117507505063576e-8,-0.001955939273522816,-4.5761480824035993e-5,-5.106372503209461e-8,-0.00195579066288265,-4.570401845100373e-5,-5.101104052329391e-8,-0.001955622211363207,-4.570476038673568e-5,-5.101566680936453e-8,-0.001955410378080181,-4.575298140689403e-5,-5.1067700552761083e-8,-0.0019551355106216866,-4.5828851541139104e-5,-5.114829612455283e-8,-0.0019547856381423576,-4.590392133545704e-5,-5.122995115968192e-8,-0.001954361197611504,-4.594364275569868e-5,-5.127880370114713e-8,-0.001953879361532978,-4.591336545457481e-5,-5.126044894606853e-8,-0.001953375159198017,-4.5788157126795125e-5,-5.114965466945004e-8,-0.0019528960573228693,-4.556404200060815e-5,-5.094156483201756e-8,-0.0019524888638265663,-4.52650121756844e-5,-5.0658773399677315e-8,-0.0019521829510683111,-4.493969555783338e-5,-5.03482415102804e-8,-0.001951978224705543,-4.4646436883604996e-5,-5.006686001308755e-8,-0.0019518449631389671,-4.4433199757164185e-5,-4.9861909053352045e-8,-0.0019517355290165363,-4.43223575013476e-5,-4.9756164208185047e-8,-0.0019516011374687279,-4.430667685873654e-5,-4.9743737900243164e-8,-0.0019514058087092413,-4.4355660121435736e-5,-4.979589561049797e-8,-0.0019511334488388776,-4.442707829644108e-5,-4.987196748279403e-8,-0.0019507882121724506,-4.4478635729643045e-5,-4.993057447552316e-8,-0.0019503903208332868,-4.447687118184344e-5,-4.9938400968221414e-8,-0.0019499696523796678,-4.440237013879302e-5,-4.9875550740711113e-8,-0.0019495587983859016,-4.425144642123595e-5,-4.973750799595954e-8,-0.0019491867583722598,-4.403481674939329e-5,-4.953408613857425e-8,-0.001948874170726926,-4.3773966244990976e-5,-4.928597425302703e-8,-0.0019486306854478142,-4.3496186610003896e-5,-4.901984567298104e-8,-0.0019484545808215287,-4.322941742227304e-5,-4.876319520040075e-8,-0.0019483342448092852,-4.299784164805793e-5,-4.853991498678627e-8,-0.0019482508367361243,-4.281882578092175e-5,-4.8367249272998264E-08,-0.0019481813406516451,-4.2701332047739913e-5,-4.8254265238426306e-8,-0.001948101431884755,-4.2645465612550796e-5,-4.820147285858156e-8,-0.0019479880023605153,-4.2642663695294445e-5,-4.820104258643957e-8,-0.0019478215084132696,-4.267621983914629e-5,-4.823725928348993e-8,-0.0019475884766814169,-4.2722120831818105e-5,-4.8287176766687065e-8,-0.001947284537476418,-4.2750605376743135e-5,-4.832193112023108e-8,-0.0019469179020162252,-4.272943149953421e-5,-4.830978464674593e-8,-0.001946512130701754,-4.2629987351193034e-5,-4.8222103668448865e-8,-0.0019461057920909896,-4.243645483759409e-5,-4.804249139879382e-8,-0.0019457459924259364,-4.2155871844775294e-5,-4.777688442978733e-8,-0.001945474433914433,-4.182357814670306e-5,-4.745909633402526e-8,-0.0019453099923769398,-4.149726260691403e-5,-4.7145127891331156e-8,-0.0019452376149965635,-4.123797713130104e-5,-4.689469161507122e-8,-0.0019452123501192205,-4.108646923628689e-5,-4.67481344270079e-8,-0.0019451775408544185,-4.104846697515171e-5,-4.671199913017461e-8,-0.001945086305653114,-4.10964890190002e-5,-4.67605464329462e-8,-0.00194491498170104,-4.118420798055841e-5,-4.6849415350206084e-8,-0.0019446649566739968,-4.1263439193324884e-5,-4.693190382853436e-8,-0.0019443564891179575,-4.129638690638195e-5,-4.6970831215838533e-8,-0.001944019871009889,-4.126124977537125e-5,-4.694416268183079e-8,-0.0019436874568431314,-4.115267744009283e-5,-4.6845757576426216e-8,-0.0019433878283089455,-4.097933082895468e-5,-4.668329117893592e-8,-0.0019431420227587768,-4.076018683375537e-5,-4.64748293924473e-8,-0.001942961425049852,-4.052037587530838e-5,-4.624478413720799e-8,-0.001942847090506267,-4.028693694379081e-5,-4.6019666043409794e-8,-0.001942790358890472,-4.008483999357206e-5,-4.5824064376144906e-8,-0.0019427745871054582,-3.9933607897037706e-5,-4.5677259981585586e-8,-0.0019427777616891982,-3.984486508728241e-5,-4.559083113158273e-8,-0.0019427755865315058,-3.982107608163827e-5,-4.556748866183424e-8,-0.0019427445679542873,-3.985544668643988e-5,-4.5601049016244416e-8,-0.0019426648249855798,-3.9932722126588916e-5,-4.5677213148583996e-8,-0.0019425225723483325,-4.003067731752825e-5,-4.577491057145826e-8,-0.00194231231186212,-4.0122223590998573e-5,-4.586815250812175e-8,-0.001942038840723702,-4.017825071467646e-5,-4.592859500544757e-8,-0.0019417189403766162,-4.017172995117602e-5,-4.592943591477745e-8,-0.0019413817963929902,-4.0083668653272205e-5,-4.5851299075569445e-8,-0.0019410663758636533,-3.9910612776753746e-5,-4.5689797651230024e-8,-0.0019408138567119492,-3.9671609827259084e-5,-4.546263553447091e-8,-0.0019406546006421536,-3.941021451110704e-5,-4.52117972507066e-8,-0.001940593319235403,-3.918608994782784e-5,-4.499543804327817e-8,-0.0019406012767298,-3.905498590278002e-5,-4.486832358067523e-8,-0.001940623920404477,-3.904542284858823e-5,-4.4859006867683975e-8,-0.0019406025544464632,-3.914639483061919e-5,-4.495769578301747e-8,-0.001940497520876102,-3.931411884703988e-5,-4.512260307194805e-8,-0.001940299698239888,-3.949212761192832e-5,-4.5299254342045724e-8,-0.0019400271696272137,-3.9631546521015266e-5,-4.5440050246729585e-8,-0.0019397134945464904,-3.970249901148748e-5,-4.55153769119164e-8,-0.0019393955892964717,-3.969592038203203e-5,-4.551557626730208e-8,-0.0019391053846128947,-3.961966037424788e-5,-4.544745102453445e-8,-0.0019388656601532564,-3.9492805816283906e-5,-4.532898685003671e-8,-0.0019386887618311728,-3.9340423201373115e-5,-4.518433473733331e-8,-0.0019385768153243493,-3.9189313030825355e-5,-4.5039624737876385e-8,-0.0019385226755074644,-3.9064588188579694e-5,-4.491950007652083e-8,-0.0019385113945777103,-3.89868350713039e-5,-4.4844233237342264e-8,-0.0019385222021650083,-3.8969763524809525e-5,-4.48273957066787e-8,-0.0019385310528990875,-3.9018436577778017e-5,-4.4874176736247263E-08,-0.001938513684450707,-3.912838732750907e-5,-4.498060099930697e-8,-0.0019384488723173468,-3.928589530112374e-5,-4.51338353807561e-8,-0.001938321483040145,-3.946943857740446e-5,-4.531354277085539e-8,-0.0019381250107120861,-3.965222629013153e-5,-4.5494184057548586e-8,-0.0019378633026130548,-3.9805684583894356e-5,-4.5648196322549064e-8,-0.0019375512317700392,-3.990367219926965e-5,-4.574992768613837e-8,-0.0019372141057675222,-3.9927275177831916e-5,-4.5780279834495175e-8,-0.0019368852732491004,-3.987006414845319e-5,-4.573198875575406e-8,-0.0019366009982821448,-3.9743041431457964e-5,-4.561474398462704e-8,-0.001936392008214114,-3.9577268369624826e-5,-4.545806912288991e-8,-0.0019362725887905185,-3.9421116423997146e-5,-4.530885190760244e-8,-0.0019362308367980837,-3.93293215936308e-5,-4.522070434461868e-8,-0.0019362265448863605,-3.934447117414749e-5,-4.5235796012735197e-8,-0.0019362021567699314,-3.947831204143984e-5,-4.5366449130396565e-8,-0.0019361044622756712,-3.9704499044345756e-5,-4.558787687093552e-8,-0.0019359055467726995,-3.9969038024905696e-5,-4.5848165191453386e-8,-0.001935610918476163,-4.0212436952495197e-5,-4.608967212085328e-8,-0.0019352522767100955,-4.0390248298052926e-5,-4.626892936144965e-8,-0.001934872343550989,-4.04826572347339e-5,-4.636602580928481e-8,-0.0019345110162189247,-4.0492973987788945e-5,-4.6383349171738214e-8,-0.0019341974042064007,-4.0440353373262014e-5,-4.633877244453355e-8,-0.00193394745527741,-4.035183976460438e-5,-4.6258113992407355e-8,-0.0019337648831009675,-4.025623586702828e-5,-4.6169223646382756e-8,-0.001933643297940725,-4.018010690860001e-5,-4.6098017218746215e-8,-0.0019335684391845415,-4.014524819687492e-5,-4.606588963420782e-8,-0.0019335202829593439,-4.016691288990378e-5,-4.608791074426844e-8,-0.001933475196842574,-4.025240778009302e-5,-4.617145854048994e-8,-0.0019334084174011334,-4.039999941699849e-5,-4.6315210257224784e-8,-0.0019332970460884604,-4.0598441631085976e-5,-4.6508730328468455e-8,-0.0019331234337040622,-4.0827636234276635e-5,-4.67330881859333e-8,-0.0019328784570221483,-4.1060782189105156e-5,-4.69628242270068e-8,-0.001932564016748744,-4.126806268614148e-5,-4.716934132885776e-8,-0.0019321940512386387,-4.14215942181376e-5,-4.732552837106896e-8,-0.001931793485630655,-4.1500945427768556e-5,-4.741103326315836e-8,-0.0019313948975945483,-4.149824340283206e-5,-4.741729676503009e-8,-0.0019310330346188518,-4.142188515293687e-5,-4.7351395895912765e-8,-0.0019307375352558293,-4.1297801414388954e-5,-4.723760067108958e-8,-0.0019305246932332914,-4.116693684145903e-5,-4.711522060800814e-8,-0.0019303901558369954,-4.107771840039374e-5,-4.7031429532281454e-8,-0.001930305702440573,-4.1073507327231025e-5,-4.70290097302363e-8,-0.001930223661133537,-4.117772149833033e-5,-4.71316652941459e-8,-0.0019300904151773313,-4.1382707713134946e-5,-4.733292449466249e-8,-0.0019298652063116251,-4.1649473063614e-5,-4.7595646288971316e-8,-0.0019295353407003367,-4.192078311450537e-5,-4.786461098057043e-8,-0.0019291195029987889,-4.214178037375372e-5,-4.8086494979264673e-8,-0.0019286581510240075,-4.227740391874418e-5,-4.822680388860586e-8,-0.0019281977027044515,-4.23190945630982e-5,-4.827648982478889e-8,-0.001927776949794641,-4.228093381957044e-5,-4.8248402386580654e-8,-0.0019274200721663662,-4.219051722902683e-5,-4.8168652620736966e-8,-0.001927135772707496,-4.20798850584923e-5,-4.8067954346620734e-8,-0.0019269198332215003,-4.197912027142969e-5,-4.797542280744417e-8,-0.0019267586318278405,-4.1912777277154615e-5,-4.7915023022203665e-8,-0.0019266323173630316,-4.189820026513446e-5,-4.7903834928403336e-8,-0.0019265173637764677,-4.194471819140883e-5,-4.795122144177823e-8,-0.0019263888011234276,-4.205308385953557e-5,-4.805829680961167e-8,-0.0019262225974915343,-4.221501646557592e-5,-4.821751718558146e-8,-0.0019259985568891125,-4.2413183674726635e-5,-4.8412658231367925e-8,-0.0019257037357562376,-4.262227688328076e-5,-4.861977364178274e-8,-0.0019253358507307667,-4.281183412618318e-5,-4.88097763412886e-8,-0.0019249056464002532,-4.295109158693287e-5,-4.895296804974039e-8,-0.00192443696510101,-4.3015405547280085e-5,-4.9025146674251664e-8,-0.001923963576351099,-4.299286159649854e-5,-4.901401418858055e-8,-0.0019235227456985294,-4.288907110417211e-5,-4.892397352513479e-8,-0.0019231466972611288,-4.2728295806226845e-5,-4.8777489495455956e-8,-0.0019228540148536525,-4.2549887097491935e-5,-4.861195243355361e-8]} \ No newline at end of file diff --git a/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_10.json b/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_10.json new file mode 100644 index 0000000..6540635 --- /dev/null +++ b/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_10.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1.0,"startIndex":10000,"numberOfSamples":1000,"samples":[1.9197471616856318e-4,7.996600532056201e-6,-1.2597360486632112e-8,1.923979354906972e-4,8.059544161443208e-6,-1.2601754449986743e-8,1.9274745963100852e-4,8.18217092448731e-6,-1.2612185701149495e-8,1.9301410614298842e-4,8.328459694631899e-6,-1.2625220207854334e-8,1.9320200661086356e-4,8.46367290461882e-6,-1.263746635903232e-8,1.933256574311564e-4,8.557979990756902e-6,-1.264596926377846e-8,1.9340729897750835e-4,8.588749871695277e-6,-1.2648467217789009e-8,1.9347454382165973e-4,8.54234886551231e-6,-1.2643575641672086e-8,1.9355780445299317e-4,8.41580428718647e-6,-1.2630935191527253e-8,1.9368703586457032e-4,8.218144650907273e-6,-1.2611321617725655e-8,1.9388759494511673e-4,7.970728457914735e-6,-1.2586673932584885e-8,1.9417557384287807e-4,7.70570255454025e-6,-1.2559972916060515e-8,1.9455353413614596e-4,7.461994170668981e-6,-1.2534909842557773e-8,1.950079268750979e-4,7.278838435440244e-6,-1.2515320800328438e-8,1.9550946566497787e-4,7.1877009230743185e-6,-1.250443183656935e-8,1.9601716991058025e-4,7.204296880679899e-6,-1.2504049076168112e-8,1.964858622143666e-4,7.322751895738212e-6,-1.2513893072518937e-8,1.9687601817327312e-4,7.513719443070609e-6,-1.2531293180978063e-8,1.9716418145619786e-4,7.727807131336245e-6,-1.255143733487227e-8,1.9735148270881055e-4,7.904972006017888e-6,-1.256828984627858e-8,1.9746717430474582e-4,7.989189307001313e-6,-1.2576107854737417e-8,1.9756414464783983e-4,7.945391162788686e-6,-1.2571208909452543e-8,1.9770522673983343e-4,7.772936988045046e-6,-1.255336219063038e-8,1.9794335851555265e-4,7.508737590816236e-6,-1.2526112219574885e-8,1.9830340643788719e-4,7.216310774252375e-6,-1.2495704511570225e-8,1.9877444051722307e-4,6.9643475770128966e-6,-1.2468991956480241e-8,1.9931605492441463e-4,6.804754497374457e-6,-1.2451273955690413e-8,1.99874367496323e-4,6.7599548302468994e-6,-1.2444993679265321e-8,2.0039900027274713e-4,6.82270849799812e-6,-1.2449629419202722e-8,2.0085428305204736e-4,6.964723431631095e-6,-1.2462470630692901e-8,2.012230129828281e-4,7.147810040913146e-6,-1.2479705950981818e-8,2.015048844233702e-4,7.3331078822919305e-6,-1.2497376827881843e-8,2.0171260728942556e-4,7.4869143007848404e-6,-1.2512018298014086e-8,2.0186784837753266e-4,7.583663846056725e-6,-1.2521002574264202e-8,2.0199788115223623e-4,7.6072954724533325e-6,-1.252268798054521e-8,2.0213287762151582e-4,7.552075776678594e-6,-1.25164799413586e-8,2.023032713093168e-4,7.423389313956485e-6,-1.250287524528341e-8,2.025365492604393e-4,7.238354929979809e-6,-1.2483501654253962e-8,2.0285312487000682e-4,7.025543178481034e-6,-1.2461102098633864e-8,2.032615548180566e-4,6.822697696785637e-6,-1.2439358398961576e-8,2.037542292355152e-4,6.671464949679808e-6,-1.2422433892723618e-8,2.043054648544205e-4,6.609017340781519e-6,-1.241418367286807e-8,2.0487402079284614e-4,6.658061470286973e-6,-1.2417141084804209e-8,2.0541091916908847e-4,6.8183286453880834e-6,-1.2431576848491557e-8,2.0587131297464264e-4,7.063148440915905e-6,-1.2455025250029365e-8,2.0622704282800456e-4,7.343452105811302e-6,-1.2482583077772363e-8,2.064756840198449e-4,7.598950788494315e-6,-1.2508013979414962e-8,2.0664282168786132e-4,7.773572333271332e-6,-1.2525372054527937e-8,2.0677643799377142e-4,7.830732911241555e-6,-1.2530654293509096e-8,2.069346139971509e-4,7.763969732585166e-6,-1.252297208136234e-8,2.0716968071363143e-4,7.599507240572051e-6,-1.2504868071919612e-8,2.075133831394106e-4,7.389324388835024e-6,-1.2481637303243253e-8,2.079680047158014e-4,7.196295440443784e-6,-1.2459822238997104e-8,2.0850678511286473e-4,7.076223630712314e-6,-1.2445361216516968e-8,2.09083353603553e-4,7.063208010991012e-6,-1.2442027977015235e-8,2.0964607359171694e-4,7.163288146015455e-6,-1.245068068918884e-8,2.1015153998119444e-4,7.357300167494584e-6,-1.2469466055778998e-8,2.105729208467013e-4,7.6098914082299795e-6,-1.2494715588623496e-8,2.1090206952705673e-4,7.880059152858419e-6,-1.2522068534104855e-8,2.1114705135521922e-4,8.129688725332927e-6,-1.2547426277362978e-8,2.11327623932954e-4,8.328785948689606e-6,-1.2567558359396523e-8,2.1147063027153733e-4,8.45781981905388e-6,-1.2580371063842255e-8,2.116062170779773e-4,8.508318739735103e-6,-1.2584953522756101e-8,2.1176489219544155e-4,8.482821664273282e-6,-1.2581533889456395e-8,2.1197487908306462e-4,8.394780190546323e-6,-1.2571439050506965e-8,2.1225908578335732e-4,8.268336110121104e-6,-1.2557075378613995e-8,2.1263125815806694e-4,8.137282943263268e-6,-1.2541867403695375e-8,2.1309149641396343e-4,8.042041677157666e-6,-1.2530015745409708e-8,2.1362232923984473e-4,8.023413973770414e-6,-1.2525906367685887e-8,2.141877185477536e-4,8.112834049185048e-6,-1.2533095524318957e-8,2.1473774581068903e-4,8.3210914871919e-6,-1.2553050116063849e-8,2.1522011129794914e-4,8.630080126066386e-6,-1.2584142235542132e-8,2.1559591766686086e-4,8.992908412392393e-6,-1.2621531987775295e-8,2.1585357677476676e-4,9.344915051726786e-6,-1.2658284937238318e-8,2.1601416666211921e-4,9.622593263837225e-6,-1.2687427039128446e-8,2.1612534488552648e-4,9.78287653756447e-6,-1.2704087855205246e-8,2.1624652249650514e-4,9.81514982519467e-6,-1.2706860844017089e-8,2.1643148366610137e-4,9.742398905621779e-6,-1.2697982257149455e-8,2.1671439125053968e-4,9.612686075077394e-6,-1.2682472194826136e-8,2.1710262618754617e-4,9.484942883597433e-6,-1.2666663487275253e-8,2.1757724992220657e-4,9.413689438536168e-6,-1.2656583095773519e-8,2.180998881122663e-4,9.436636301726828e-6,-1.2656579120301334e-8,2.1862349866680082e-4,9.567821662343242e-6,-1.2668481926430359e-8,2.1910382506955763e-4,9.797254291937394e-6,-1.2691451235088495e-8,2.1950852180187367e-4,1.0096209406878957e-5,-1.2722473686840802e-8,2.1982203208259762e-4,1.0425814221374339e-5,-1.2757289563240955e-8,2.2004593990235762e-4,1.0746017377170483e-5,-1.279141904043139e-8,2.2019594725035345e-4,1.1022697089033848e-5,-1.2821004358988786e-8,2.2029723714439854e-4,1.1231954282858246e-5,-1.284332207805951e-8,2.2037976133546005e-4,1.1361792925413278e-5,-1.285697045584737e-8,2.204743050715671e-4,1.1412058566647195e-5,-1.2861837839761607e-8,2.2060942735678435e-4,1.139360836886871e-5,-1.2858986747465736e-8,2.2080886496210573e-4,1.1327297175898568e-5,-1.2850546480647196e-8,2.2108883199633075e-4,1.1242779422350658e-5,-1.2839626876663463e-8,2.2145479727229533e-4,1.117656313941561e-5,-1.2830179748791994e-8,2.218978524119614e-4,1.1168241380550244e-5,-1.2826654765479383e-8,2.223918274118358e-4,1.125368271022084e-5,-1.2833271066266854e-8,2.2289360923823234e-4,1.1454892795233024e-5,-1.2852838922138324e-8,2.2334970247736352e-4,1.1768728623398749e-5,-1.288537714386462e-8,2.2371036423718345e-4,1.2159917386077626e-5,-1.2927189221052759e-8,2.2394786325905398e-4,1.2565129918165497e-5,-1.2971236046903973e-8,2.2407012789687003e-4,1.2910776320851335e-5,-1.3009149058543156e-8,2.2412080512659326e-4,1.3138423398335554e-5,-1.3034156281509835e-8,2.2416403518024246e-4,1.3225258584550226e-5,-1.3043432270151873e-8,2.242617193073924e-4,1.31895428771349e-5,-1.303873108036752e-8,2.244545122747121e-4,1.3080514119203897e-5,-1.302529805681681e-8,2.247533541484739e-4,1.2960154137190002e-5,-1.3009918312410972e-8,2.2514149681588606e-4,1.288542370013457e-5,-1.2999015386017868e-8,2.2558304221404233e-4,1.2896057941767493e-5,-1.2997297157850649e-8,2.2603369392279116e-4,1.3009117176953077e-5,-1.3007061790201875e-8,2.264507770082446e-4,1.3219243737167519e-5,-1.3028087674737915e-8,2.2680097981678127e-4,1.3502917845584759e-5,-1.3057987443448877e-8,2.2706512925085745e-4,1.3825112165154655e-5,-1.3092899943215674e-8,2.2723980182644377e-4,1.4146844760246526e-5,-1.312835960370297e-8,2.2733606659061404e-4,1.4432176615984899e-5,-1.316015072754668e-8,2.2737613010144923e-4,1.4653552288310205e-5,-1.3184975709050629e-8,2.2738889061095103e-4,1.4794967275872633e-5,-1.3200846957566375e-8,2.2740539458427508e-4,1.485298630857986e-5,-1.3207200828708261e-8,2.2745491914188558e-4,1.48361020505556e-5,-1.3204810600297655e-8,2.2756189301271438e-4,1.4763163136429955e-5,-1.3195611648549548e-8,2.2774342945347363e-4,1.4661392768367974e-5,-1.318251654013457e-8,2.2800711646406744e-4,1.4564073938727435e-5,-1.3169225227622847e-8,2.2834878588194946e-4,1.4507553748530596e-5,-1.3159958692847593e-8,2.287503519544513e-4,1.4526782542924386e-5,-1.3158983635572145e-8,2.2917872878590236e-4,1.4648464790645952e-5,-1.3169782666393387e-8,2.2958798770619958e-4,1.4881779191418465e-5,-1.3193861131791164e-8,2.2992738155013117e-4,1.5208892056563145e-5,-1.3229487616666131e-8,2.3015629354228862e-4,1.5580637661667213e-5,-1.3271075564489491e-8,2.3026234150305317e-4,1.5924292688085457e-5,-1.331008459441756e-8,2.3027280889853033e-4,1.6165999528322054e-5,-1.3337725131374554e-8,2.3024916735463958e-4,1.6259694822258185e-5,-1.3348408049319169e-8,2.3026415545918469e-4,1.6206222473384533e-5,-1.334196191813377e-8,2.303737207873722e-4,1.6050930760160185e-5,-1.3323325049974134e-8,2.3059936656605264e-4,1.586282236461781e-5,-1.3300188674521488e-8,2.309273397309413e-4,1.5709080036263402e-5,-1.328019137069129e-8,2.3131987266427655e-4,1.5637160807724585e-5,-1.3268952807786755e-8,2.3172978464227394e-4,1.5668110115491378e-5,-1.3269276372437528e-8,2.3211253167230013e-4,1.579838872190477e-5,-1.3281222326984168e-8,2.3243381968418038e-4,1.6005968044664794e-5,-1.3302645758738719e-8,2.326732628860945e-4,1.6257565449448583e-5,-1.3329918467555854e-8,2.3282524674238283e-4,1.651551762610959e-5,-1.3358697686405669e-8,2.3289788056306504e-4,1.674381866600482e-5,-1.3384673664069943e-8,2.3291052997145164e-4,1.6913063406322665e-5,-1.3404220672953126e-8,2.3289032072172143e-4,1.700401500413197e-5,-1.3414875180816028e-8,2.3286803858424185e-4,1.7009620439693355e-5,-1.3415595856352999e-8,2.328739025738482e-4,1.6935397883075238e-5,-1.3406804390503862e-8,2.3293373693946084e-4,1.6798289595216762e-5,-1.3390246403408823e-8,2.3306590757557672e-4,1.6624355851294292e-5,-1.3368746419574027e-8,2.3327907598190837e-4,1.6445739810291813e-5,-1.334591547674048e-8,2.3357067709120252e-4,1.6297106752196225e-5,-1.3325815392409889e-8,2.3392604926032666e-4,1.621152078481189e-5,-1.3312532903507163e-8,2.3431832644508823e-4,1.6215461539974096e-5,-1.3309583151627188e-8,2.3470981296471905e-4,1.6322593851986297e-5,-1.3319074542987742e-8,2.350563586266793e-4,1.6526652827706943e-5,-1.3340700335972787e-8,2.3531635632917516e-4,1.6795606538324656e-5,-1.3370882993466678e-8,2.3546449597391608e-4,1.7071515543042718e-5,-1.3402687449686616e-8,2.3550651143611578e-4,1.7281479296035646e-5,-1.3427194538859864e-8,2.354860662292638e-4,1.736119067195648e-5,-1.3436455207389577e-8,2.354745423562714e-4,1.7282664410910297e-5,-1.3426879119078932e-8,2.3554413988636483e-4,1.7069422488256228e-5,-1.340100684306105e-8,2.3573843359821594e-4,1.678735137254538e-5,-1.3366380140959267e-8,2.3605794175604995e-4,1.6516440745440828e-5,-1.333226482032832e-8,2.364666128436858e-4,1.6321330128306323e-5,-1.3306309980540544e-8,2.369106704107837e-4,1.6235316784717564e-5,-1.329272307712745e-8,2.373372411284009e-4,1.6259841608278305e-5,-1.3292124623119489e-8,2.3770594596677692e-4,1.6372931299750227e-5,-1.3302373390412671e-8,2.37993246071328e-4,1.6539681380754335e-5,-1.3319651568231e-8,2.3819211939730327e-4,1.6721074059761234e-5,-1.3339438365960858e-8,2.3830961030271236e-4,1.6880231173799742e-5,-1.335727306140373e-8,2.3836375681855868e-4,1.6986636247061285e-5,-1.3369334013755532e-8,2.3838035533166568e-4,1.701905501777484e-5,-1.33728675782703e-8,2.383895323005555e-4,1.6967478698558967e-5,-1.3366467989198284e-8,2.38422070556946e-4,1.6834089647268072e-5,-1.3350197399653409e-8,2.3850556570700744e-4,1.6633066038275236e-5,-1.3325545739040455e-8,2.3866072662191243e-4,1.6388979589520194e-5,-1.32952356240298e-8,2.3889832942241776e-4,1.613376763873816e-5,-1.3262897145540119e-8,2.3921726251748584e-4,1.5902571416136462e-5,-1.3232645062727092e-8,2.3960391772207974e-4,1.5728837101970084e-5,-1.3208572512056224e-8,2.4003306897066437e-4,1.5639090729009958e-5,-1.3194159292205045e-8,2.4047031694471747e-4,1.5647770280759835e-5,-1.3191601366742145e-8,2.408763192909911e-4,1.5752441997243236e-5,-1.320109658813078e-8,2.4121332685415593e-4,1.593012198481269e-5,-1.3220221033409507e-8,2.414543324312317e-4,1.6136500786482835e-5,-1.3243695130072412e-8,2.4159379503856346e-4,1.631092961927605e-5,-1.3263965868818756e-8,2.416563493402631e-4,1.6389819439386743e-5,-1.327294423034196e-8,2.416971351728686e-4,1.6327839253466488e-5,-1.3264745691624821e-8,2.4178793488179986e-4,1.611933231700696e-5,-1.323839068662466e-8,2.4199092390150611e-4,1.580664719687679e-5,-1.3198809867441091e-8,2.4233282522947923e-4,1.546635588883893e-5,-1.315515486800695e-8,2.42795161206397e-4,1.5179028049018296e-5,-1.3117189496490207e-8,2.4332560646111933e-4,1.5000197877739287e-5,-1.3091844309906427e-8,2.4386095630435782e-4,1.494730909943296e-5,-1.3081612462610715e-8,2.443476230301867e-4,1.5004081626133282e-5,-1.3084945993000656e-8,2.447521154769013e-4,1.513382584235183e-5,-1.3097713318885834e-8,2.4506227529865664e-4,1.529290726155764e-5,-1.3114741963102495e-8,2.4528352222681816e-4,1.5440210476210758e-5,-1.3130971246521739e-8,2.454337577216843e-4,1.554235342838633e-5,-1.3142157207141877e-8,2.4553879145722154e-4,1.5576059836117717e-5,-1.3145250706278301e-8,2.456286535961741e-4,1.5529165859651303e-5,-1.313858102750454e-8,2.4573440156436537e-4,1.5401067537156352e-5,-1.312192399297445e-8,2.4588495016140917e-4,1.5202739157127264e-5,-1.3096479904399723e-8,2.4610367254958987e-4,1.4956012999883382e-5,-1.3064759078539774e-8,2.4640490122437197e-4,1.4691580503364029e-5,-1.3030343464314749e-8,2.467909300514352e-4,1.444531172938255e-5,-1.299749108332309e-8,2.472503716788958e-4,1.4252978327617077e-5,-1.2970574858005676e-8,2.4775861981413225e-4,1.4143991993889015e-5,-1.2953383025503955e-8,2.482808292580495e-4,1.4135196216785739e-5,-1.2948356913590524e-8,2.4877732410946555e-4,1.4225995061342692e-5,-1.295589775406787e-8,2.492108317402965e-4,1.439598151292376e-5,-1.297390984283666e-8,2.495546496005041e-4,1.4605934664835293e-5,-1.2997753852338253e-8,2.4980058126312243e-4,1.4802976706468473e-5,-1.3020791083393111e-8,2.499648122532091e-4,1.4930522578149964e-5,-1.3035648974352602e-8,2.500889719183307e-4,1.4942625206491755e-5,-1.3036141981384923e-8,2.502332948927713e-4,1.4819937637970325e-5,-1.301942657528763e-8,2.5046053996871437e-4,1.458121681939785e-5,-1.2987549154608683e-8,2.508142835955966e-4,1.4282610184457833e-5,-1.294739872783118e-8,2.513011655620707e-4,1.4000896174505066e-5,-1.2908626141535389e-8,2.5188749805877945e-4,1.3806467779425598e-5,-1.288027326783674e-8,2.5251290861910285e-4,1.3739666020847875e-5,-1.286777210466249e-8,2.531129543478528e-4,1.3801980509944972e-5,-1.2871727408598455e-8,2.5363851477171943e-4,1.3963248403024858e-5,-1.288867324663838e-8,2.5406475771490327e-4,1.4177059797621997e-5,-1.2912910633960826e-8,2.543902585935145e-4,1.4395467555977205e-5,-1.2938351134914312e-8,2.5463093937902145e-4,1.457846819591566e-5,-1.295977796036463e-8,2.54813136638039e-4,1.4698160028561238e-5,-1.2973461632588474e-8,2.54967981581639e-4,1.4739503755468211e-5,-1.2977324579518188e-8,2.551274405562864e-4,1.4699654562096109e-5,-1.2970877284779953e-8,2.5532142348084824e-4,1.4587027197628657e-5,-1.2955077061468487e-8,2.5557518672666003e-4,1.4420380583572636e-5,-1.2932175481281603e-8,2.5590650103593743e-4,1.4227567224019883e-5,-1.2905548350362233e-8,2.5632253366152845e-4,1.4043212860365394e-5,-1.287943866108471e-8,2.568170361656435e-4,1.3904585536052271e-5,-1.285851192094646e-8,2.5736901125437294e-4,1.384542362248093e-5,-1.2847155402873307e-8,2.5794421239109947e-4,1.388843946076878e-5,-1.2848556465930347e-8,2.5850035030317047e-4,1.403829277109537e-5,-1.2863749847957166e-8,2.589956924459188e-4,1.4277505943607658e-5,-1.2890953907157057e-8,2.5939924357184515e-4,1.4567459494134127e-5,-1.2925525776831505e-8,2.596996993209261e-4,1.4855178454192225e-5,-1.2960705554380696e-8,2.5991041763439313e-4,1.5084813281586183e-5,-1.2989066766874659e-8,2.6006856585053105e-4,1.5211326349834672e-5,-1.3004361087109885e-8,2.602278725687631e-4,1.5213126500508729e-5,-1.3003294012197764e-8,2.6044583194747623e-4,1.5100107540589441e-5,-1.2986715711409487e-8,2.607678954750293e-4,1.4913817381501574e-5,-1.2959760458590743e-8,2.6121309337834975e-4,1.471789554231206e-5,-1.2930675613196354e-8,2.617666739936158e-4,1.4580147819581488e-5,-1.2908507750034461e-8,2.623838952785086e-4,1.4551998820653167e-5,-1.2900372867353652e-8,2.6300436611455946e-4,1.465364176688067e-5,-1.2909389577639032e-8,2.6357084573760297e-4,1.4871017273617807e-5,-1.293411963262422e-8,2.640443869669923e-4,1.5164543154651873e-5,-1.2969586613798102e-8,2.64410737769705e-4,1.548385098723045e-5,-1.3009177614068972e-8,2.6467821443590807e-4,1.5781554620764703e-5,-1.304650817055167e-8,2.648707916531887e-4,1.602193715049497e-5,-1.3076659266674922e-8,2.650204220774552e-4,1.6184189121099728e-5,-1.309668323525758e-8,0.00026516090400317594,1.626199634794566e-5,-1.3105583832666333e-8,2.653238016446657e-4,1.626157432670227e-5,-1.3104045518856175e-8,2.6553584872296177e-4,1.619953400725645e-5,-1.3094120073806924e-8,2.6581694404772865e-4,1.6101034287601604e-5,-1.3078966785871532e-8,2.6617803512994057e-4,1.599792643257314e-5,-1.3062635061321467e-8,2.666186743112128e-4,1.5926127147520803e-5,-1.3049789195619948e-8,2.671247177812508e-4,1.5921303481340893e-5,-1.3045222202262528e-8,2.6766743265218185e-4,1.6012313493671894e-5,-1.3053032308258361e-8,2.682058449019524e-4,1.6212993883764293e-5,-1.3075494404843321e-8,2.6869381754198406e-4,1.6514662380160417e-5,-1.3111934310112453e-8,2.690915392547794e-4,1.688312459406304e-5,-1.3158158531168263e-8,2.693782808806831e-4,1.726356887424719e-5,-1.3206971608799833e-8,2.695612194819721e-4,1.7593764377538284e-5,-1.3249899145305468e-8,2.696757969225932e-4,1.7821710710339604e-5,-1.3279603194733367e-8,2.697766262792751e-4,1.7921174890309415e-5,-1.3292069257397106e-8,2.699221571586634e-4,1.7899381168918985e-5,-1.3287759748585721e-8,2.701585140051222e-4,1.7794662659770487e-5,-1.3271427248333769e-8,2.7050743193193414e-4,1.7665574219650932e-5,-1.3250774476406711e-8,2.70961263500747e-4,1.7575149467220522e-5,-1.3234415117476824e-8,2.714859046544607e-4,1.7574737909080554e-5,-1.3229680863399421e-8,2.7203052331977687e-4,1.769170100835547e-5,-1.324083414757745e-8,2.7254117585821244e-4,1.7924189075479015e-5,-1.3268167506586092e-8,2.729741997691505e-4,1.8244128847031433e-5,-1.3308232751599827e-8,2.733054105239225e-4,1.860683481743521e-5,-1.335506308671976e-8,2.7353289682521516e-4,1.896345349760831e-5,-1.3401893664246537E-08,2.73673842637392e-4,1.9271996265799993e-5,-1.3442759869942829e-8,2.737578282615282e-4,1.9504213337008058e-5,-1.3473535503050086e-8,2.738194967147241e-4,1.9647848480923535e-5,-1.3492301040760689e-8,2.7389256852830313e-4,1.9705491001702175e-5,-1.3499197079042159e-8,2.740058704701865e-4,1.9691777654711647e-5,-1.3496023246278775e-8,2.741810262902575e-4,1.9630334079578346e-5,-1.3485807494797274e-8,2.744310131178127e-4,1.9551058078948304e-5,-1.347245824705066e-8,2.747588655876082e-4,1.948759434125028e-5,-1.3460484076347776e-8,2.7515620852405575e-4,1.9474357175009086e-5,-1.3454669802832967e-8,2.7560192124283077e-4,1.954221941430565e-5,-1.3459536895858992e-8,2.760620815654129e-4,1.9712188518429024e-5,-1.3478446229307413e-8,2.764931140341487e-4,1.998747860898367e-5,-1.3512381587099931e-8,2.768499825458415e-4,2.0346447047745347e-5,-1.3558791588758346e-8,2.7709934818909317e-4,2.0740975236487897e-5,-1.3611211001438215e-8,2.7723376707050325e-4,2.1104902391710272e-5,-1.3660381144345922e-8,2.7727951721184677e-4,2.1372977512600064e-5,-1.3696942301516698e-8,2.7729156569639065e-4,2.150364337470411e-5,-1.371469511192883e-8,2.7733590146886866e-4,2.1494482605572527e-5,-1.3712813986364758e-8,2.7746730910535865e-4,2.1382407878183956e-5,-1.3695935779833347e-8,2.777129170467314e-4,2.1229571564400812e-5,-1.3672319050985458e-8,2.7806720281447627e-4,2.1102980963536406e-5,-1.3651166775522754e-8,2.7849753778370835e-4,2.105639774177976e-5,-1.3640203101975407e-8,2.7895571606205595e-4,2.1119312740397868e-5,-1.36440855384151e-8,2.7939082054513723e-4,2.129380639205303e-5,-1.3663777942921247e-8,2.797602560487331e-4,2.155785003144518e-5,-1.3696778046641539e-8,2.8003725820557e-4,2.1872858482824725e-5,-1.3738005196123418e-8,2.802142004107094e-4,2.219328394309847e-5,-1.3781099702460829e-8,2.8030175709160225e-4,2.2476143948988695e-5,-1.381982555271776e-8,2.8032472939190016e-4,2.268859947612066e-5,-1.3849251125167231e-8,2.803159812312574e-4,2.2812371570131774e-5,-1.386647093141835e-8,2.803101183459111e-4,2.2844791364820303e-5,-1.387080182051307e-8,2.8033821087907477e-4,2.2797146171930603e-5,-1.3863552789390385e-8,2.8042420340903043e-4,2.2691458727297488e-5,-1.3847561307081722e-8,2.8058292600206835e-4,2.2556824850266946e-5,-1.3826691726476474e-8,2.8081916298474405e-4,2.2425953925453616e-5,-1.3805403994071266e-8,2.8112721903985157e-4,2.2331951025042324e-5,-1.3788383591687185e-8,2.8149066344888076e-4,2.2304951530066296e-5,-1.3780134438421739e-8,2.8188238547674434e-4,2.2367947560152177e-5,-1.3784386060479597e-8,2.822658721965546e-4,2.2531246589409013e-5,-1.380320444288144e-8,2.8259936195518845e-4,2.278597036190299e-5,-1.38358812243578e-8,2.828444569445365e-4,2.3098866508920356e-5,-1.3877999412904191e-8,2.82979105364523e-4,2.341279564136978e-5,-1.3921401485040897e-8,2.8301103748081484e-4,2.3657751771110462e-5,-1.3955814384309308e-8,2.8298340770177647e-4,2.37731328817469e-5,-1.3972176264270338e-8,2.8296484207766603e-4,2.3733029889624773e-5,-1.3966353021702428e-8,2.830249037760498e-4,2.3559828091315065e-5,-1.3941085550751729e-8,2.832073180871705e-4,2.331632681640619e-5,-1.3904875495648811e-8,2.8351576155621184e-4,2.308077284889224e-5,-1.3868553787955135e-8,2.8391769853862014e-4,2.2919547763551398e-5,-1.384157822144315e-8,2.8436019434869387e-4,2.287017449835268e-5,-1.3829694080640847e-8,2.847876469600927e-4,2.2937814065198065e-5,-1.3834319348602738e-8,2.8515485284144533e-4,2.3101223801610495e-5,-1.3853146215244e-8,2.85433793371567e-4,2.332264590269975e-5,-1.3881308460203237e-8,2.856153143340677e-4,2.3557815709961442e-5,-1.3912679492992264e-8,2.857074693224336e-4,2.3764383273789843e-5,-1.3941085356826256e-8,2.8573186713930584e-4,2.390828726211465e-5,-1.3961325891680267e-8,2.857188696819171e-4,2.39679560926046e-5,-1.3969911360196299e-8,2.8570231452007376e-4,2.3936257400670855e-5,-1.3965439487283113e-8,2.857144182944666e-4,2.382028199606721e-5,-1.394860030825303e-8,2.8578147687363805e-4,2.3639260037550102e-5,-1.3921869960500952e-8,2.8592084201393037e-4,2.342114432945347e-5,-1.3889012634409748e-8,2.8613931356911184e-4,2.3198585473751224e-5,-1.3854531958188717e-8,2.864327166543551e-4,2.3004883616430312e-5,-1.3823159470958645e-8,2.867863494363946e-4,2.2870125806672398e-5,-1.3799380523453057e-8,2.8717609388622425e-4,2.2817452101605205e-5,-1.378693317459741e-8,2.8757018441867614e-4,2.2859200077940465e-5,-1.378819562942302e-8,2.8793216925267906e-4,2.2992674449651844e-5,-1.3803413833910311e-8,2.8822619040308e-4,2.3196048522297792e-5,-1.3829891060439484e-8,2.8842548394305867e-4,2.3426397377221117e-5,-1.386152544402009e-8,2.885234854253173e-4,2.362330839766609e-5,-1.3889296541301406e-8,2.885438986592403e-4,2.3721722641275258e-5,-1.3903263102308176e-8,2.885424114376653e-4,2.3674183477913317e-5,-1.3896003696172715e-8,2.885929118709168e-4,2.3474313471584593e-5,-1.3866152311867126e-8,2.8875979009874574e-4,2.316637368653028e-5,-1.3819777847051538e-8,2.890704395776163e-4,2.283074746827438e-5,-1.3768264842029872e-8,2.895049885128943e-4,2.2551813469805068e-5,-1.3723757443181604e-8,2.900082669629545e-4,2.2387357101861408e-5,-1.3694865214262721e-8,2.9051374253208817e-4,2.235489612947439e-5,-1.36846867449533e-8,2.909649021340734e-4,2.2436103025525936e-5,-1.3691271872221072e-8,2.9132650488845045e-4,2.2590621258034392e-5,-1.3709370985045623e-8,2.9158637691061105e-4,2.2770429252790272e-5,-1.3732329579321405e-8,2.917517969683068e-4,2.2930448877807925e-5,-1.3753577653967498e-8,2.9184401188628566e-4,2.303489006955536e-5,-1.3767628184703838e-8,2.918927671925494e-4,2.3060445344766418e-5,-1.3770682898745772e-8,2.919314014291164e-4,2.299749274559909e-5,-1.3760937852867262e-8,2.9199247847638013e-4,2.2849926468667013e-5,-1.3738629102849638e-8,2.921039092862608e-4,2.2633834466347406e-5,-1.370584503210565e-8,2.92285666948327e-4,2.2375057960451114e-5,-1.3666144851793793e-8,2.925473850976914e-4,2.2105676829510934e-5,-1.3624037426111123e-8,2.9288716836903646e-4,2.185972836237773e-5,-1.3584395520403735e-8,2.93291734444017e-4,2.1668667070356885e-5,-1.355186975838904e-8,2.937378250344291e-4,2.1556973898122735e-5,-1.3530315087571015e-8,2.941947974500097e-4,2.1538210800188506e-5,-1.3522214675142932e-8,2.9462828965697827e-4,2.161178421989162e-5,-1.3528102494893166e-8,2.950049836659742e-4,2.176062612107966e-5,-1.3546028771640402e-8,2.9529877895283186e-4,2.1950341406551685e-5,-1.3571220417731373e-8,2.95498425036084e-4,2.2131299035723218e-5,-1.3596256341667975e-8,2.956153580837951e-4,2.22458472466366e-5,-1.361215968484941e-8,2.9568840667843486e-4,2.224225736534045e-5,-1.3610641296881544e-8,2.957800686939963e-4,2.2093977823393965e-5,-1.3587181550703598e-8,2.9595999348482825e-4,2.181678085271199e-5,-1.3543713834794471e-8,2.9627849161117025e-4,2.1471574018712877e-5,-1.3489060449153417e-8,2.9674319322068856e-4,2.1145294614123724e-5,-1.343609251827474e-8,2.9731425733706953e-4,2.09172161107864e-5,-1.3396774613550436e-8,2.9792187015270356e-4,2.082994835974585e-5,-1.3377886272534408e-8,2.984942122206886e-4,2.0880413673918396e-5,-1.3379586077781747e-8,2.989796522647844e-4,2.1030612573302552e-5,-1.3396809617098212e-8,2.993552928593664e-4,2.1226817991504233e-5,-1.3421929704689853e-8,2.9962420917402626e-4,2.141632957853267e-5,-1.3447160232838052e-8,2.998076048709863e-4,2.155742331817498e-5,-1.3466074608348756e-8,2.999366508951447e-4,2.162322261659597e-5,-1.3474303011588651e-8,3.0004605342871587e-4,2.160194083120627e-5,-1.3469704117491014e-8,3.001694758979349e-4,2.1495566477339442e-5,-1.3452259987949643e-8,3.003361714790454e-4,2.131801033581268e-5,-1.34238210598226e-8,3.00568250260884e-4,2.109291783629834e-5,-1.3387751649168571e-8,3.0087835205456256e-4,2.0850953582104578e-5,-1.3348491679679161e-8,3.012678716217725e-4,2.062624812724149e-5,-1.3311032550608233e-8,3.0172620046434173e-4,2.045193589878053e-5,-1.3280308792564854e-8,3.0223147737772435e-4,2.0355180263715515e-5,-1.3260534503027968e-8,3.027530905670879e-4,2.03523675046193e-5,-1.3254528922034592e-8,3.0325589739471393e-4,2.0445234386801097e-5,-1.326309141038214e-8,3.0370584098537583e-4,2.061873537337817e-5,-1.3284535301274032e-8,3.0407635475241393e-4,2.084132023298335e-5,-1.3314523112149486e-8,3.043548220950259e-4,2.106807932262644e-5,-1.334635951759101e-8,3.0454817712909907e-4,2.1247259597402573e-5,-1.337190847136496e-8,3.0468606841306306e-4,2.1330590886984806e-5,-1.338324729373875e-8,3.048190993710789e-4,2.1286814653441683e-5,-1.337492842426596e-8,3.0500947292813136e-4,2.1115405047104646e-5,-1.3346293728374482e-8,3.0531334240780847e-4,2.0854333144826318e-5,-1.330280661991811e-8,3.0575933228971686e-4,2.057446009779354e-5,-1.3255246543245369e-8,3.063336126043048e-4,2.035786012500672e-5,-1.3216390908366007e-8,3.0698195437051866e-4,2.0267933422058764e-5,-1.3196404367399528e-8,3.076297906607286e-4,2.0326989761099988e-5,-1.3199302777510673e-8,3.0820929098613465e-4,2.051301152374637e-5,-1.3222284594361782e-8,3.086790667643346e-4,2.0774250916837253e-5,-1.3257795354211066e-8,3.0902959140693113e-4,2.1050411845724763e-5,-1.3296685507824527e-8,3.0927719251130383e-4,2.1289582840270976e-5,-1.3330825505471842e-8,3.0945357058928e-4,2.145674944124067e-5,-1.33545105445674e-8,3.095961699201846e-4,2.153531284308726e-5,-1.3364818313685573e-8,3.0974146708267824e-4,2.152488868920895e-5,-1.3361368767381744e-8,3.0992097203242546e-4,2.1438017800151246e-5,-1.3345858365688848e-8,3.1015887202686857e-4,2.1297039816659653e-5,-1.3321563576426557e-8,3.1047036154725256e-4,2.1131275414374563e-5,-1.3292871575557973e-8,3.1086020309551777e-4,2.0974113615666323e-5,-1.3264820449894448e-8,0.00031132159469673937,2.0859458460963544e-5,-1.3242589706398116e-8,3.118358892299663e-4,2.08172018406579e-5,-1.3230876462418405e-8,3.123739556176808e-4,2.0867961619606607e-5,-1.3233145002595053e-8,3.1289980273878425e-4,2.1017999708571363e-5,-1.3250835029635484e-8,3.133765322075633e-4,2.1255710514705023e-5,-1.3282711917019378e-8,3.1377389441996034e-4,2.1551170659549085e-5,-1.332461455740315e-8,3.1407592571305155e-4,2.1859774047728385e-5,-1.3369828669154369e-8,3.1428671803730246e-4,2.212997996013805e-5,-1.3410177045357869e-8,3.14432506824964e-4,2.2314131680739853e-5,-1.3437721540724634e-8,3.1455876362506394e-4,2.2380463429616143e-5,-1.3446783871977407e-8,3.1472170043465105e-4,2.2323641852085563e-5,-1.3435813847370838e-8,3.1497476110345693e-4,2.217044112756572e-5,-1.3408494160108003e-8,3.153526234579617e-4,2.1976994096751363e-5,-1.337345682081832e-8,3.1585774444304715e-4,2.1815602165497123e-5,-1.3342262745022897e-8,3.1645594131746787e-4,2.1753230588716412e-5,-1.332596859353312e-8,3.170852855440563e-4,2.1829339986754936e-5,-1.3331486306519194e-8,3.1767609064744373e-4,2.204329336795916e-5,-1.335938578246327e-8,3.1817307131503856e-4,2.2357437282565592e-5,-1.3404182809004631e-8,3.185496252597622e-4,2.2713150253212193e-5,-1.3456770258106373e-8,3.188097318692035e-4,2.305068096859074e-5,-1.350756753269062e-8,3.1898017607109944e-4,2.3324049974074164e-5,-1.3548973772346303e-8,3.1909924742474843e-4,2.3507561072834535e-5,-1.3576520061523686e-8,3.192068961684871e-4,2.359541331330978e-5,-1.3588911123510958e-8,3.1933831976116504e-4,2.3597783076813762e-5,-1.358746123971623e-8,3.1952065880791903e-4,2.3536160980096142e-5,-1.3575362908229614e-8,3.19771579080949e-4,2.3439311888661372e-5,-1.3557025218592592e-8,3.200985885643759e-4,2.3340011786561243e-5,-1.3537543756519094e-8,3.2049846336595103e-4,2.3272031254568778e-5,-1.3522245412330314e-8,3.2095680118528186e-4,2.3266656684082567e-5,-1.3516194501257755e-8,3.214482960990994e-4,2.3348264536126095e-5,-1.3523546070473995e-8,3.219387035953197e-4,2.352905494166589e-5,-1.3546710031825095e-8,3.2238945173181284e-4,2.3803973484541637e-5,-1.3585453917150966e-8,3.2276517284783867e-4,2.414782235178386e-5,-1.3636274656717374e-8,3.2304300787259485e-4,2.4516917684648338e-5,-1.369247871891746e-8,3.2322093588827404e-4,2.4856694790520883e-5,-1.374527463790208e-8,3.2332167991338466e-4,2.5114409674883268e-5,-1.3785796286515207e-8,3.233897052011945e-4,2.525357146846435e-5,-1.3807516666649438e-8,3.2348120921461983e-4,2.5265406266578555e-5,-1.3808261001094046e-8,3.2364963922767976e-4,2.5173284625345988e-5,-1.3791120413398418e-8,3.2393091613960477e-4,2.5028248522414485e-5,-1.3763924450587002e-8,3.243327110819311e-4,2.489645279708152e-5,-1.3737355303383892e-8,3.2483114194985555e-4,2.4841661933600615e-5,-1.3722151158493351e-8,3.253764637315329e-4,2.4907661106982096e-5,-1.3726145974744325e-8,3.2590667505080653e-4,2.5106163518978407e-5,-1.3752074004335538e-8,3.263648743232834e-4,2.5414592771149465e-5,-1.3796943801410434e-8,3.267142644419916e-4,2.5784562274762126e-5,-1.3853232512079237e-8,3.2694560655390203e-4,2.6157379978950974e-5,-1.3911368702242648e-8,3.2707552207375036e-4,2.64802029079398e-5,-1.3962446344578679e-8,3.2713809920406574e-4,2.6717260951139974e-5,-1.4000191368277358e-8,3.2717430412455535e-4,2.685395991046812e-5,-1.4021757723105099e-8,3.272230250199076e-4,2.6895095773412356e-5,-1.4027518182301305e-8,3.273154328546555e-4,2.6859988741622723e-5,-1.4020303863838187e-8,3.27472427946398e-4,2.6777052624059808e-5,-1.4004517409235265e-8,3.2770404819257206e-4,2.667917357422416e-5,-1.3985374637999391e-8,3.2800968800751206e-4,2.6600135622202087e-5,-1.396833964272351e-8,3.283784197698704e-4,2.65715822213231e-5,-1.3958675851617953e-8,3.2878934377281676e-4,2.661975357857392e-5,-1.3960963251046796e-8,3.2921252136175277e-4,2.6761429111553565e-5,-1.397844020247438e-8,3.2961152402647006e-4,2.699907821559547e-5,-1.4012129808211943e-8,3.29948753915105e-4,2.7316263206531952e-5,-1.4059921868231094e-8,3.3019401009220286e-4,2.7675690266479282e-5,-1.4116060189696021e-8,3.303348983515174e-4,2.8023052525526852e-5,-1.417164175112956e-8,3.303851664433875e-4,2.8298564869411255e-5,-1.4216501609523993e-8,3.303858174704456e-4,2.845434313568276e-5,-1.4242167403395092e-8,3.303959416014983e-4,2.847131185450436e-5,-1.424477933710207e-8,3.304753311960585e-4,2.8367701265917583e-5,-1.4226626167552076e-8,3.3066574499633107e-4,2.8194592527739406e-5,-1.4195561924860455e-8,3.3097847333721307e-4,2.8020371048836455e-5,-1.4162617817120332e-8,3.3139229136450047e-4,2.7910733393913838e-5,-1.4138840614943994e-8,3.318610576038761e-4,2.7911418740544573e-5,-1.4132437583694847e-8,3.32327158660616e-4,2.8038257552148033e-5,-1.4146944421067845e-8,3.3273630146328536e-4,2.8275956095937735e-5,-1.4180721826563061e-8,3.3304982043797914e-4,2.8584590280257757e-5,-1.4227750741366778e-8,3.332518772704476e-4,2.8911198090895583e-5,-1.4279413650778645e-8,3.3335044303321585e-4,2.9203016014443303e-5,-1.4326720121414798e-8,3.3337264600420897e-4,2.9418844303718548e-5,-1.4362340255230543e-8,3.333565716870711e-4,2.953593528593423e-5,-1.438192328577023e-8,3.333423100299153e-4,2.955156240787833e-5,-1.4384490907506754e-8,3.333646227280616e-4,2.9480245799448394e-5,-1.4372041376989542e-8,3.3344841055820307e-4,2.9348582447400512e-5,-1.434870041016347e-8,3.3360692534264394e-4,2.9189588504290738e-5,-1.4319770705147037e-8,3.338418939605668e-4,2.903780052882538e-5,-1.429092220642219e-8,3.341445478842576e-4,2.8925502238673784e-5,-1.4267598983776846e-8,3.3449686902692956e-4,2.8879716510260736e-5,-1.4254567192028621e-8,3.34872893630502e-4,2.8919305085978387e-5,-1.4255452413328958e-8,3.3524046998712566e-4,2.905162633610626e-5,-1.4272125495191893e-8,3.3556438983591447e-4,2.926868042533546e-5,-1.4303906971243346e-8,3.358120415655983e-4,2.9543700862908523e-5,-1.4346787820191492e-8,3.359620973953016e-4,2.9830621885824582e-5,-1.4393165436296007e-8,3.3601476557872876e-4,3.0069847654572008e-5,-1.4432765793470925e-8,3.3599911919222826e-4,3.020259394749606e-5,-1.4455159337401374e-8,3.3597110300592314e-4,3.019141034190686e-5,-1.4453385307179457e-8,3.35998526488256e-4,3.00380349093956e-5,-1.4427081304578546e-8,3.3613729850181856e-4,2.9787423935761663e-5,-1.4383225010504009e-8,3.3641053011372276e-4,2.9513350056419022e-5,-1.4333808242876725e-8,3.368014006431015e-4,2.9292449987817804e-5,-1.4291641185111276e-8,3.3726185452744576e-4,2.9179980574871958e-5,-1.4266408426820145e-8,3.377303740186198e-4,2.9197037823386694e-5,-1.4262469364142498e-8,3.3814986945613203e-4,2.9330730888683372e-5,-1.427863436126763e-8,3.3848010158714516e-4,2.9543115154846164e-5,-1.4309336642064932e-8,3.38703273259897e-4,2.9783603206552747e-5,-1.4346471770152776e-8,3.388238715787891e-4,3.0001002317025725e-5,-1.4381352417660723e-8,3.388645512106792e-4,3.015313826145052e-5,-1.4406430035573901e-8,3.388596992978482e-4,3.0213214891368453e-5,-1.441656210821404e-8,3.388480896868653e-4,3.0172579589435465e-5,-1.4409671063513486e-8,3.3886595201610624e-4,3.0040010984943417e-5,-1.4386745775937594e-8,3.389415616773652e-4,2.983826465857231e-5,-1.435129353309962e-8,3.3909197448769624e-4,2.9599024245251944e-5,-1.4308467177209232e-8,3.393219732788287e-4,2.935743690567301e-5,-1.4264115645959442e-8,3.396247872186201e-4,2.9147198599977515e-5,-1.4223960274082391e-8,3.3998384944594585e-4,2.8996680396776103e-5,-1.419298232822601e-8,3.4037497978542483e-4,2.8925994092867653e-5,-1.4174970094013113e-8,3.4076876816749476e-4,2.8944576739562157e-5,-1.4172101451461987e-8,3.4113333363185183e-4,2.9048903134653624e-5,-1.4184452613283302e-8,3.4143806830900614e-4,2.9220259014859665e-5,-1.4209426481068721e-8,3.416592313159679e-4,2.942335957385573e-5,-1.4241300071719586e-8,3.4178768959361645e-4,2.9607879560626548e-5,-1.4271351102299056e-8,3.418373350901813e-4,2.971582378240197e-5,-1.4289150939638257e-8,3.4184996084014505e-4,2.9696727082961728e-5,-1.4285356690807156e-8,3.418902633601011e-4,2.952827110856552e-5,-1.425546855762454e-8,3.420270707706498e-4,2.9232745927517535e-5,-1.4202771104298555e-8,3.4230607491550166e-4,2.8876464783064984e-5,-1.4138250014917669e-8,3.4272891522547444e-4,2.8547270391760742e-5,-1.4076783978948293e-8,3.432521860159393e-4,2.8320914566404532e-5,-1.4031512125887654e-8,3.4380643577638096e-4,2.8235399587572567e-5,-1.4009518407800017e-8,3.4432227839255926e-4,2.8284922903914585e-5,-1.4010681330376893e-8,3.4474989405392577e-4,2.8430706232186193e-5,-1.4029244458375631e-8,3.450667007921132e-4,2.8618389049455682e-5,-1.405649452639386e-8,3.4527564357985356e-4,2.879355388007985e-5,-1.4083250375345564e-8,3.453987654829163e-4,2.8912049121438285e-5,-1.4101646097180218e-8,3.45469585268103e-4,2.894525815503267e-5,-1.4106194425210915e-8,3.4552604642457406e-4,2.8881730901118583e-5,-1.4094281874326899e-8,3.4560455047242703e-4,2.8726431535401165e-5,-1.4066215283106948e-8,3.457351529958053e-4,2.84982490045257e-5,-1.4024875511406945e-8,3.459380666037131e-4,2.8226171437823553e-5,-1.397505116091795e-8,3.462216637718113e-4,2.794459723979762e-5,-1.3922581182171141e-8,3.4658209986642525e-4,2.7688322235778394e-5,-1.3873458405560078e-8,3.4700449561030034e-4,2.748781270498401e-5,-1.3833031101689292e-8,3.474653304988083e-4,2.7365322208472776e-5,-1.3805386540778746e-8,3.479355692431911e-4,2.7332084280176915e-5,-1.3792904236856692e-8,3.483841987506852e-4,2.738651159118678e-5,-1.3795909548384521e-8,3.48782076015223e-4,2.7513276120753096e-5,-1.3812375954175199e-8,3.4910623716508923e-4,2.768327317176719e-5,-1.3837706596348546e-8,3.493450066374296e-4,2.785497909947437e-5,-1.3864767635512509e-8,3.4950380428156456e-4,2.7978582520697178e-5,-1.388452258098352e-8,3.496101796449104e-4,2.800470747307293e-5,-1.3887648902006153e-8,3.4971470295323565e-4,2.7898579782032046e-5,-1.3867255990212172e-8,3.498829672228969e-4,2.7657103890016168e-5,-1.3822133605209417e-8,3.5017591926531956e-4,2.7320571946380355e-5,-1.375894735333673e-8,3.5062370726759924e-4,2.6967510508779796e-5,-1.3691352108885298e-8,3.512076836751679e-4,2.668829415482261e-5,-1.3635359280006073e-8,3.518645594543916e-4,2.6549168451208284e-5,-1.3603044848274974e-8,3.525120860381075e-4,2.6567976763254272e-5,-1.359825241655584e-8,3.530801471377777e-4,2.671440633051558e-5,-1.3616465703002289e-8,3.5353016455276417e-4,2.692942938290615e-5,-1.3647971513994665e-8,3.538577002956241e-4,2.7148881753446637e-5,-1.3681795510084634e-8,3.540840771794443e-4,2.7320151877578618e-5,-1.3708567939664234e-8,3.542449634789241e-4,2.740961864282937e-5,-1.372191839944505e-8,3.543805993034693e-4,2.7403434203548572e-5,-1.3718799059739425e-8,3.545289983413223e-4,2.730498627401825e-5,-1.3699233288566783e-8,3.547216624954893e-4,2.7131303055044464e-5,-1.366581028187246e-8,3.5498087228620824e-4,2.690928730173587e-5,-1.3623050830270064e-8,3.5531797095255416e-4,2.6671814970846222e-5,-1.3576675347345746e-8,3.557325408326314e-4,2.6453572621222732e-5,-1.3532810617513158e-8,3.562126332903402e-4,2.628664184351773e-5,-1.3497191162436568e-8,3.5673629776197384e-4,2.619610347960688e-5,-1.3474416118620455e-8,3.5727449108908464e-4,2.6196233744873596e-5,-1.3467331827186608e-8,3.577951171362706e-4,2.628789151186731e-5,-1.3476583429700484e-8,3.582677504977914e-4,2.6457485603445368e-5,-1.3500355686777276e-8,3.5866856083210973e-4,2.667773719840518e-5,-1.3534335889835297e-8,3.58984983565573e-4,2.691031135287597e-5,-1.3571967951946276e-8,3.592197788921785e-4,2.7110381522096033e-5,-1.3605104433755066e-8,3.5939395836391525e-4,2.723347733466807e-5,-1.3625211838772243e-8,3.5954731475294516e-4,2.7245005640118063e-5,-1.3625233122092842e-8,3.5973439287282456e-4,2.7131819567977223e-5,-1.3601941703224978e-8,3.600135954575884e-4,2.6912915110491107e-5,-1.355814290805302e-8,3.60429073295564e-4,2.664325075241653e-5,-1.3503526756102676e-8,3.60990418920039e-4,2.64034696792908e-5,-1.3452835801158697e-8,3.6166146352094975e-4,2.6273775898966717e-5,-1.3421074493356377e-8,3.623688032765512e-4,2.630225709809558e-5,-1.3417659611230746e-8,3.6302889191182174e-4,2.6485921915614753e-5,-1.3442821004948017e-8,3.635787000997205e-4,2.6775836053406942e-5,-1.3488337737398986e-8,3.6399313254539714e-4,2.7100845265447172e-5,-1.3541675775041822e-8,3.6428387361378935e-4,2.739386253867796e-5,-1.3590675845310196e-8,3.644865074909421e-4,2.7608376878739416e-5,-1.3626575377250361e-8,3.6464576613601913e-4,2.7723005292816395e-5,-1.364495582745406e-8,3.6480461555127395e-4,2.77383404850266e-5,-1.3645341642181487e-8,3.6499818740537e-4,2.76710053685678e-5,-1.3630271402829668e-8,3.6525122259954397e-4,2.754788664050142e-5,-1.360432815008887e-8,3.6557730310316335e-4,2.7401492817728636e-5,-1.357329062063108e-8,3.659787553882458e-4,2.72661665993695e-5,-1.3543394730429565e-8,3.6644689750384423e-4,2.7174555417879994e-5,-1.352065178127914e-8,3.669628241382334e-4,2.7153908983776746e-5,-1.3510179030065285e-8,3.674992016602788e-4,2.7222166045638933e-5,-1.3515526234079713e-8,3.68023539090487e-4,2.73843521332642e-5,-1.3538046023492725e-8,3.685030041719975e-4,2.7630228716345682e-5,-1.357642629855776e-8,3.689102801263324e-4,2.793415315314418e-5,-1.362653567100988e-8,3.692294796808659e-4,2.825781083626839e-5,-1.368173224189925e-8,3.694608523244996e-4,2.8555916027981706e-5,-1.3733727733496358e-8,3.6962307871807993e-4,2.8784249160797294e-5,-1.3773978177336275e-8,3.697522993353289e-4,2.8908903102290343e-5,-1.3795451641862713e-8,3.6989731803456434e-4,2.8915385836666257e-5,-1.3794521381371401e-8,3.701106527110447e-4,2.8815745762559872e-5,-1.3772576532502819e-8,3.704358354453675e-4,2.8651045702873957e-5,-1.3736749819577554e-8,3.7089307273516974e-4,2.8486040803253674e-5,-1.369908367506479e-8,3.714679608227572e-4,2.8394043726751596e-5,-1.3673710854101186e-8,3.7210991213757036e-4,2.843405066778115e-5,-1.3672440108961631e-8,3.7274498490128303e-4,2.8628554579815174e-5,-1.3700371291720451e-8,3.733002400374539e-4,2.8953884905579092e-5,-1.375383654447321e-8,3.737283127161456e-4,2.934966667201483e-5,-1.3821992572909582e-8,3.74019840199307e-4,2.9742318752869464e-5,-1.3891158565206442e-8,3.741996113300426e-4,3.0069483883304552e-5,-1.3949424588473654e-8,3.743121974552402e-4,3.0294519375517385e-5,-1.3989456769194334e-8,3.7440629029591007e-4,3.0408720943630665e-5,-1.4009040575435913e-8,3.745237271452724e-4,3.042555417326966e-5,-1.4010137999684472e-8,3.7469432233555345e-4,3.0372415163084517e-5,-1.399745265579277e-8,3.7493481407911624e-4,3.0283392801809747e-5,-1.3977121315336288e-8,3.7524974009757705e-4,3.0194074963467853e-5,-1.3955729687359219e-8,3.7563276072333213e-4,3.013796030115297e-5,-1.3939607838651707e-8,3.7606789752317216e-4,3.014358067755694e-5,-1.3934276197156442e-8,3.765308715945007e-4,3.0231593508346177e-5,-1.394391327502817e-8,3.769911447976581e-4,3.0411553226949515e-5,-1.3970762499094855e-8,3.774153866080384e-4,3.067874957136116e-5,-1.4014505540693484e-8,3.7777276900158004e-4,3.101223988098575e-5,-1.4071785355970582e-8,3.780416881621932e-4,3.137561973052833e-5,-1.4136185048005719e-8,3.782164562994042e-4,3.1721813892388676e-5,-1.4198962795870701e-8,3.7831168136817563e-4,3.2002044707192615e-5,-1.4250643304019193e-8,3.7836207867593326e-4,3.2177378338159576e-5,-1.4283213281041604e-8,3.784166470845473e-4,3.222972568760059e-5,-1.4292338201740607e-8,3.7852801727424653e-4,3.216882097511682e-5,-1.4278915068388991e-8,3.7873941235653586e-4,3.2032643792585974e-5,-1.4249424676350356e-8,3.7907250187723524e-4,3.1880386191779476e-5,-1.4214835935159804e-8,3.79519524138801e-4,3.1778859253417956e-5,-1.4188143257430748e-8,3.800425591675725e-4,3.1785057707013906e-5,-1.4180988668013144e-8,3.8058155833472476e-4,3.192941802742809e-5,-1.420023019579586e-8,3.810702007095623e-4,3.220552703223705e-5,-1.424564138430845e-8,3.814550608339061e-4,3.257118968284767e-5,-1.4309824655516338e-8,3.8171088610531375e-4,3.2961679962287354e-5,-1.4380610992098202e-8,3.818457030615165e-4,3.3310117296884816e-5,-1.444499449135639e-8,3.8189440825249304e-4,3.356630414228731e-5,-1.4492871054400158e-8,3.8190518456659355e-4,3.3706990005561714e-5,-1.4519156100786139e-8,3.8192545511999565e-4,3.3735939536645784e-5,-1.4523932873023375e-8,0.00038199221663132936,3.36770574780388e-5,-1.4511243699103591e-8,3.8212794959808886e-4,3.356532850735636e-5,-1.44874232515469e-8,3.8234068283503006e-4,3.3438964212912564e-5,-1.445961632653455e-8,3.826260695837975e-4,3.333397058547786e-5,-1.4434725361888601e-8,3.8296985541619517e-4,3.328078604508245e-5,-1.4418750654133305e-8,3.8335002714571484e-4,3.3302014460873146e-5,-1.441635218389012e-8,3.837387391287661e-4,3.341034772114456e-5,-1.4430449062814374e-8,3.841046361875188e-4,3.3606223967194986e-5,-1.4461732780659432e-8,3.844163948873668e-4,3.3875453388444264e-5,-1.4508108409027856e-8,3.846481026697538e-4,3.4187920503036706e-5,-1.4564283527851176e-8,3.8478626988731516e-4,3.449926174844078e-5,-1.4621926226168586e-8,3.8483677916458626e-4,3.475742957885683e-5,-1.4670832194101453e-8,3.8482854708888275e-4,3.491455839733871e-5,-1.4701226812136726e-8,3.8481043392111564e-4,3.4941584971485933e-5,-1.4706695752866484e-8,3.8484010168733006e-4,3.484013825587449e-5,-1.468664371357169e-8,3.8496755452253895e-4,3.464574228765504e-5,-1.4647105606473425e-8,3.852194666708856e-4,3.4419635873436564e-5,-1.4599384135326243e-8,3.8559051584685747e-4,3.4231768838361375e-5,-1.4556966089518085e-8,3.8604470174984556e-4,3.4141257634779535e-5,-1.4531832281699271e-8,3.8652549596401316e-4,3.4180796113487486e-5,-1.4531324827219252e-8,3.8697101818921484e-4,3.434917801281351e-5,-1.4556386882613265e-8,3.8732970092140794e-4,3.461318978913546e-5,-1.4601550234372074e-8,3.875723463890504e-4,3.491766325493246e-5,-1.4656605918405712e-8,3.8769763284319733e-4,3.5200524303996284e-5,-1.4709446876581307e-8,3.8772997811639925e-4,3.540841369879993e-5,-1.474921260370285e-8,3.877109937265693e-4,3.550840337825738e-5,-1.476877406003373e-8,3.8768778169230556e-4,3.5492866851361164e-5,-1.476588786722735e-8,3.877020190388187e-4,3.5377264492801586e-5,-1.4742916279944912e-8,3.8778272420060984e-4,3.519311331097323e-5,-1.4705540490345767e-8,3.8794354267678884e-4,3.497940485725285e-5,-1.4661111679795208e-8,3.88183621815305e-4,3.4775082366194856e-5,-1.4617171125102894e-8,3.8849040862005046e-4,3.4613774624727124e-5,-1.4580401934381552e-8,3.888429039948693e-4,3.452069902788002e-5,-1.4556015515333534e-8,3.8921458948142855e-4,3.45109299576898e-5,-1.4547412738969088e-8,3.8957597873680495e-4,3.4588150401447517e-5,-1.455591709815627e-8,3.8989728274007056e-4,3.474336635341969e-5,-1.4580440622513306e-8,3.9015195396758514e-4,3.495368121352255e-5,-1.4617090694513199e-8,3.9032177735499337e-4,3.5182101792084835e-5,-1.4658947568485471e-8,3.9040340540185385e-4,3.5380277120652675e-5,-1.4696467881042956e-8,3.904146306630224e-4,3.549631641986946e-5,-1.4719008759851094e-8,3.903967427080332e-4,3.548836893154207e-5,-1.4717615696219794e-8,3.9040860609677376e-4,3.534095270614115e-5,-1.468840935651692e-8,3.905107938530057e-4,3.507658782265891e-5,-1.4635025503981219e-8,3.9074435561294203e-4,3.4754301960084933e-5,-1.4568447883446436e-8,3.911142837911334e-4,3.445237060488615e-5,-1.4503769375063293e-8,3.915867065914306e-4,3.4242280516138355e-5,-1.4455241755727162e-8,3.9210098851033884e-4,3.416630020580259e-5,-1.4431921054112957e-8,3.9258978921974933e-4,3.42277415173893e-5,-1.4435583191215956e-8,3.92997891960016e-4,3.43949587943332e-5,-1.446115512515839e-8,3.9329397995157005e-4,3.4614214184008465e-5,-1.4498870429778417e-8,3.934741228294369e-4,3.482529654460197e-5,-1.4537116508416524e-8,3.935585439745504e-4,3.497539271070658e-5,-1.456516089516988e-8,3.935841244453831e-4,3.502882428209544e-5,-1.4575248316469991e-8,3.935950084123615e-4,3.497180118274077e-5,-1.4563798423281858e-8,3.9363335905265697e-4,3.4812268755863353e-5,-1.453161028551469e-8,3.9373196934599825e-4,3.457567997812712e-5,-1.4483168817569692e-8,3.9390985158140024e-4,3.4298244121273065e-5,-1.442534785326174e-8,3.941710735045695e-4,3.401951202215226e-5,-1.4365908871774454e-8,3.945062887672119e-4,3.377587091359689e-5,-1.431215883946541e-8,3.948959058166358e-4,3.3595868201667825e-5,-1.4269990715109863e-8,3.9531378332501087e-4,3.34975018387911e-5,-1.4243345355196083e-8,3.95730734118531e-4,3.348697905005418e-5,-1.4233969882786683e-8,3.9611767962868447e-4,3.3558268125866676e-5,-1.424129255710753e-8,3.964487102877791e-4,3.3693000306870486e-5,-1.4262290516375536e-8,3.9670457560232427e-4,3.386072530925677e-5,-1.429136009013897e-8,3.96877142245794e-4,3.402026478479182e-5,-1.4320404114221407e-8,3.96974675963087e-4,3.412377428846557e-5,-1.433955280018419e-8,3.970263033690597e-4,3.412534347773198e-5,-1.4338948576893425e-8,3.970821930901893e-4,3.3994646882125137E-05,-1.4311677516442803e-8,3.972051269460485e-4,3.373258641401384e-5,-1.4257126814339408e-8,3.9745171697619185e-4,3.3380857036472385e-5,-1.4183048350455968e-8,3.9784887548471545e-4,3.3015677815108926e-5,-1.4104376616313594e-8,3.983784208606685e-4,3.272315572911758e-5,-1.4038376360391643e-8,3.989810077392129e-4,3.2567028222608205e-5,-1.3998275239165507e-8,3.995784033932848e-4,3.256650678484111e-5,-1.3988808427858587e-8,4.001011450991133e-4,3.269479846358877e-5,-1.4005705396679457e-8,4.0050766556828905e-4,3.2894820685850835e-5,-1.4038489709830286e-8,4.0078956955466436e-4,3.310064022337845e-5,-1.407446327281956e-8,4.0096621978551547e-4,3.325505206119748e-5,-1.4102093289319672e-8,4.010745404447036e-4,3.3319672146671645e-5,-1.4113112716440347e-8,4.0115849496576356e-4,3.3278246778498246e-5,-1.4103416685224999e-8,4.0126036221118603e-4,3.3135359116825646e-5,-1.4073080729645138e-8,4.014143685471576e-4,3.291243375807629e-5,-1.4025773677232568e-8,4.0164265136440953e-4,3.264223661405534e-5,-1.3967743564302586e-8,4.019534608500238e-4,3.236272447032621e-5,-1.390655605379301e-8,4.023414451750576e-4,3.211102729665613e-5,-1.3849797898036786e-8,4.0278971307670453e-4,3.191824538468825e-5,-1.3803953237611915e-8,4.032731686233601e-4,3.18056089510052e-5,-1.3773602883065726e-8,4.037624347508987e-4,3.178228329803735e-5,-1.376099772735688e-8,4.0422776760387706e-4,3.184466222614487e-5,-1.3765925422093045e-8,4.0464271102872616e-4,3.1976751617668895e-5,-1.3785736315062855e-8,4.049875078121135e-4,3.2151373504918296e-5,-1.3815449042655647e-8,4.0525242347578963e-4,3.2332175019236376e-5,-1.3847964962952615e-8,4.0544119121250843e-4,3.2476862419152035e-5,-1.3874561986942388e-8,4.05574305140568e-4,3.254270756363941e-5,-1.3885979640020726e-8,4.0569066632959827e-4,3.249544686392352e-5,-1.3874369128060043e-8,4.0584474135106326e-4,3.232141920233108e-5,-1.3836033795223245e-8,4.060959597117366e-4,3.203981711665866e-5,-1.3774198864523915e-8,4.0648944202457856e-4,3.170776499799547e-5,-1.3700205970255192e-8,4.070339380710125e-4,3.14094387988266e-5,-1.3631320248747382e-8,4.076901544592694e-4,3.122757281338524e-5,-1.3584880382566213e-8,4.083808447150242e-4,3.1209812559531696e-5,-1.357136683146307e-8,4.090200221087287e-4,3.1349995147856346e-5,-1.3590446140588086e-8,4.0954443123187515e-4,3.1595103343674464e-5,-1.3632168430282483e-8,4.099303837683666e-4,3.187049880203468e-5,-1.3681872256090355e-8,4.101918277261662e-4,3.210671035463291e-5,-1.3725481876963942e-8,4.103671176469619e-4,3.225608889167277e-5,-1.3752883934071199e-8,4.1050398879131114e-4,3.2297665182539014e-5,-1.3759059927073484e-8,4.106480562172606e-4,3.223425978678608e-5,-1.3743742869076615e-8,4.108359107796797e-4,3.208637535174844e-5,-1.371041895829871e-8,4.1109180515318115e-4,3.188566709771694e-5,-1.366514943234374e-8,4.1142658815250326e-4,3.166901056491771e-5,-1.3615380156688916e-8,4.118380537063425e-4,3.147326545835003e-5,-1.3568790580043022e-8,4.123123872285276e-4,3.1330693322293186e-5,-1.3532246924646132e-8,4.1282660990819755e-4,3.12650855735152e-5,-1.3510937230181173e-8,4.1335194038861985e-4,3.12888232285669e-5,-1.3507759179538763e-8,0.00041385782791872523,3.14012402587035e-5,-1.3523006860697865e-8,4.143162097043059e-4,3.158851800056764e-5,-1.3554343762603742e-8,4.147055736697891e-4,3.182504325345812e-5,-1.3596998591413753e-8,4.150145461827425e-4,3.207610038134238e-5,-1.3644157727172217e-8,4.1524476893370035e-4,3.230183268389632e-5,-1.368759809958973e-8,4.1541284364256985e-4,3.2462481911037404e-5,-1.3718658948585584e-8,4.1555091775811174e-4,3.252513293742975e-5,-1.3729683805619488e-8,4.1570478512098117e-4,3.247211793603926e-5,-1.3715984522395111e-8,4.159276624200048e-4,3.2310116826504505e-5,-1.3678055124053507e-8,4.1626805702971783e-4,3.2076790804311726e-5,-1.3623245822332607e-8,4.167524617387805e-4,3.1839355536118996e-5,-1.3565610929515464e-8,4.173687071937988e-4,3.1679433606488e-5,-1.352271054257597e-8,4.180608672886187e-4,3.166480571656874e-5,-1.3509541984888306e-8,4.187443288713044e-4,3.182021371545731e-5,-1.353221487846181e-8,4.193369682737023e-4,3.211533218369021e-5,-1.3585218588590153e-8,4.1978931227977685e-4,3.247863499575709e-5,-1.3654153761093438e-8,4.2009704087509506e-4,3.282777137229304e-5,-1.3721983897773367e-8,4.202929904690921e-4,3.309778073197644e-5,-1.377490014751364e-8,4.2042859167406205e-4,3.325494568929429e-5,-1.3805267082687721e-8,4.2055631802961126e-4,3.329635406528146e-5,-1.3811685967344244e-8,4.207187075410816e-4,3.324181570289828e-5,-1.3797529601781316e-8,4.209438553744661e-4,3.312430221578908e-5,-1.376914696052265e-8,4.212450114021482e-4,3.29820290127452e-5,-1.3734307231289387e-8,4.2162200611876914e-4,3.285276439909095e-5,-1.3700985550654417e-8,4.220632466273461e-4,3.276974175556986e-5,-1.3676406563612262e-8,4.225479806825113e-4,3.275847057478871e-5,-1.3666274054639809e-8,4.2304896717371235e-4,3.283409778896946e-5,-1.367416405793029e-8,4.23535782825238e-4,3.299935006506142e-5,-1.3701088573561653e-8,4.2397886988324306e-4,3.3243478824476034e-5,-1.374527589841765e-8,4.2435406637511227e-4,3.354279531934157e-5,-1.3802236076034794e-8,4.246470102477941e-4,3.3863147891369016e-5,-1.3865160722445153e-8,4.248566904943515e-4,3.4164346787876715e-5,-1.392568757735148e-8,4.249974307882397e-4,3.4406249583597606e-5,-1.3975043403899051e-8,4.2509869023787635e-4,3.455590008719841e-5,-1.4005525482322397e-8,4.252022353167417e-4,3.4594902384809774e-5,-1.4012200930378964e-8,4.2535628227180944e-4,3.452606191561703e-5,-1.3994602436161527e-8,4.2560627053101944e-4,3.437774195887487e-5,-1.3957997791203556e-8,4.259826655671023e-4,3.42033544248866e-5,-1.3913552496987838e-8,4.2648812302165757e-4,3.407288572264099e-5,-1.3876612700332113e-8,4.2708920644435e-4,3.405490071168592e-5,-1.3862734860228985e-8,4.2771960286236156e-4,3.419246160656786e-5,-1.388224482934693e-8,4.2829858276369735e-4,3.4483331127508464e-5,-1.39356667397566e-8,4.287591800201008e-4,3.487711132752329e-5,-1.401286696741407e-8,4.2907189221625086e-4,3.529375343362766e-5,-1.4096933853643936e-8,4.2925111181198606e-4,3.5653822332007866e-5,-1.4170691079982273e-8,4.293431436633978e-4,3.590386737424457e-5,-1.422220020649449e-8,4.294057069943159e-4,3.602629900089709e-5,-1.4246968028465437e-8,4.2949028887441184e-4,3.603476243390713e-5,-1.4247107509361492e-8,4.296326637699373e-4,3.596258975350247e-5,-1.422906114426545e-8,4.298507830160587e-4,3.585122067538412e-5,-1.4201284229219959e-8,4.30146821619837e-4,3.574178595192985e-5,-1.4172502101488057e-8,4.305105528179752e-4,3.567004669500458e-5,-1.4150577469349977e-8,4.309225690144668e-4,3.566353502127585e-5,-1.4141794633184363e-8,4.3135708115020477e-4,3.5739694174433475e-5,-1.4150368611616155e-8,4.3178466029482305e-4,3.5904363120716595e-5,-1.4178070671429282e-8,4.321754230960808e-4,3.615055457113382e-5,-1.4223940930016515e-8,4.3250300470527235e-4,3.645801938170371e-5,-1.4284152898436964e-8,4.327492141671965e-4,3.6794455062480333e-5,-1.4352180111878265e-8,4.329086361301494e-4,3.711914037777242e-5,-1.441944170755436e-8,4.329919362284678e-4,3.738922622588004e-5,-1.4476525706585657e-8,4.3302648954548616e-4,3.756805202918171e-5,-1.4514923144055002e-8,4.330533235187689e-4,3.763391300210855e-5,-1.4528989528198715e-8,4.331202330514279e-4,3.7587099620632155e-5,-1.4517675625248134e-8,4.33271953934643e-4,3.7453099149815584e-5,-1.4485529520827118e-8,4.335391170749413e-4,3.728040086638992e-5,-1.4442540122095772e-8,4.3392835970523195e-4,3.713209968463934e-5,-1.4402528788363379e-8,4.344165500758634e-4,3.707165347756771e-5,-1.4380064897967802e-8,4.3495230062594813e-4,3.714511840207765e-5,-1.438637838413005e-8,4.3546692736868404e-4,3.7364868229131036e-5,-1.4425430174624792e-8,4.3589372030768185e-4,3.7701867510223756e-5,-1.4491842764582526e-8,4.361893091351183e-4,3.8092289800798756e-5,-1.4572120153155367e-8,4.3634757852403625e-4,3.8457985039809324e-5,-1.464910812938325e-8,4.363991796352178e-4,3.8732147174392066e-5,-1.4707727290935779e-8,4.3639763452364114e-4,3.887826414780291e-5,-1.4739264857224268e-8,4.364001722647106e-4,3.889525252824335e-5,-1.474263969373984e-8,4.364523016838084e-4,3.881021476354108e-5,-1.4722977299200551e-8,4.365804771433114e-4,3.866556340462599e-5,-1.468896039574687e-8,4.367919722871205e-4,3.8506926413442914e-5,-1.4650297668231218e-8,4.370786669043261e-4,3.837491837753309e-5,-1.4615939698352876e-8,4.3742177567648004e-4,3.8300841711920557e-5,-1.4593067497875068e-8,4.377959505900983e-4,3.830495380523125e-5,-1.4586611379527836e-8,4.3817246361271725e-4,3.839583492266989e-5,-1.4599028669935255e-8,4.385219262133009e-4,3.856996202628723e-5,-1.4630154871815322e-8,4.388172474094774e-4,3.881133934777927e-5,-1.4677068982739351e-8,4.3903736753377824e-4,3.909172438758446e-5,-1.4734059655137036e-8,4.39171785700476e-4,3.9372492362129876e-5,-1.4792916472356046e-8,4.392250878709724e-4,3.9609287825052854e-5,-1.48438349018792e-8,4.392197841418492e-4,3.9760010138741e-5,-1.4877110525214467e-8,4.391952872335693e-4,3.9795215836805176e-5,-1.488546114998337e-8,4.392015028478242e-4,3.9708130526000964e-5,-1.4866368508482124e-8,4.392874740657098e-4,3.9520303226885334e-5,-1.4823547388579492e-8,4.3948798661524503e-4,3.927964654825381e-5,-1.4766788554084115e-8,4.3981252877586845e-4,3.905019462021475e-5,-1.4709963203151688e-8,4.4024057367895406e-4,3.889606668889953e-5,-1.4667637174980205e-8,4.407251019923313e-4,3.886426054421898e-5,-1.465121537204819e-8,4.4120371732378895e-4,3.897130268161372e-5,-1.4665702138134793e-8,4.4161456567829924e-4,3.919776198075389e-5,-1.4708062006301217e-8,4.41912806692747e-4,3.949272215218089e-5,-1.4767828043097781e-8,4.4208268554817335e-4,3.978761101197567e-5,-1.4829982902345276e-8,4.421409699762284e-4,4.001548958358082e-5,-1.4879284623686034e-8,4.421303237867017e-4,4.012928886396741e-5,-1.4904509091663218e-8,4.4210531633417574e-4,4.011254468451751e-5,-1.4901064005645254e-8,4.421168168722615e-4,3.997960143327207e-5,-1.487124044964496e-8,4.422004451507053e-4,3.9767094807069e-5,-1.4822485598136494e-8,4.4237183113721076e-4,3.9521669753076244e-5,-1.4764783122292205e-8,4.426279491665109e-4,3.928881642907068e-5,-1.4708204056709783e-8,4.429518454747351e-4,3.91054375635812e-5,-1.4661205248835662e-8,4.433181067887932e-4,3.899632725145631e-5,-1.4629752573422735e-8,4.436975223791884e-4,3.8973357147412855e-5,-1.4617048273316101e-8,4.4406056405082626e-4,3.903590468819179e-5,-1.4623561502714967e-8,4.4438008650014344e-4,3.91715076460056e-5,-1.4647122090138582e-8,4.446339768961001e-4,3.935646602380224e-5,-1.4682981479505956e-8,4.448083963396037e-4,3.955684978592832e-5,-1.4723927049201846e-8,4.4490177030358924e-4,3.973098128986008e-5,-1.4760714274992125e-8,4.4492878725670593e-4,3.9834759260079374e-5,-1.4783179135015065e-8,4.4492247041699046e-4,3.983068781073579e-5,-1.4782276848273152e-8,4.4493150521741963e-4,3.9699639584905065e-5,-1.4752832416571488e-8,4.4501065268293756e-4,3.945150399211428e-5,-1.4696101798232349e-8,4.452051621230111e-4,3.912878232058367e-5,-1.4620773630123115e-8,4.4553450758414917e-4,3.879851843897706e-5,-1.4541367888067542e-8,4.459831270119789e-4,3.853341144760553e-5,-1.4474199279655483e-8,4.4650334228181737e-4,3.83892962100095e-5,-1.4432428557074345e-8,4.470294963479162e-4,3.838843851633301e-5,-1.4422210720894016e-8,4.474971022466872e-4,3.8514644123259556e-5,-1.4441268698217063e-8,4.4785977033990704e-4,3.872025545847296e-5,-1.4480033042680275e-8,4.480991934681107e-4,3.8940889744311725e-5,-1.4524608121518424e-8,4.48226794522255e-4,3.911257774162124e-5,-1.4560498684405491e-8,4.482780588321118e-4,3.918669829382871e-5,-1.457607889926847e-8,4.4830195410043057e-4,3.913954024565277e-5,-1.4565007306195704e-8,4.483485381147606e-4,3.8974954360315984e-5,-1.4527125710483059e-8,4.484579671969714e-4,3.872030337677846e-5,-1.4467791545713628e-8,4.4865345969394e-4,3.841765061935548e-5,-1.4396030200337683e-8,4.489392960449042e-4,3.811327623924533e-5,-1.4322193270630174e-8,4.4930320331229367e-4,3.7848511485026534e-5,-1.4255821744391228e-8,4.497213338957374e-4,3.765366154702086e-5,-1.4204163537672068e-8,4.5016388935185643e-4,3.7545304813913294e-5,-1.4171463776027224e-8,4.5060002058532647e-4,3.752619081927828e-5,-1.415888242467012e-8,4.5100150770761724e-4,3.758652962581753e-5,-1.4164756572674547e-8,4.5134546376081325e-4,3.7705677615177184e-5,-1.4184941935731645e-8,4.5161665818218725e-4,3.785383751499737e-5,-1.4213111016563784e-8,4.518100423627256e-4,3.7994051971822126e-5,-1.4241074681839239e-8,4.5193371514478737e-4,3.8085369823532785e-5,-1.4259379743515523e-8,4.5201173652522936e-4,3.808847352382779e-5,-1.4258553184670598e-8,4.5208492668352473e-4,3.797471001575803e-5,-1.4231251193107125e-8,4.522066971808626e-4,3.77376787180318e-5,-1.4175095272905575e-8,4.5243135935849304e-4,3.7403252871591634e-5,-1.4095172040726785e-8,4.5279582657719995e-4,3.7030874343293475e-5,-1.4004497095542028e-8,4.5330172975054594e-4,3.6700112219684904e-5,-1.3921072538958264e-8,4.539088056613535e-4,3.648437266876659e-5,-1.3861984223206524e-8,4.545461169138244e-4,3.642372882885231e-5,-1.3837216692123784e-8,4.5513658700048617e-4,3.651138922317251e-5,-1.3846408129259836e-8,4.556220323441288e-4,3.66997016694241e-5,-1.3879890283223254e-8,4.559775185965056e-4,3.691969978430192e-5,-1.3922769386842146e-8,4.562122242740801e-4,3.710309854736905e-5,-1.3959682858114987e-8,4.5636084388552884e-4,3.7198647914217366e-5,-1.397848887776796e-8,4.564712492187718e-4,3.7180239677984124e-5,-1.3972296643507357e-8,4.5659257815677795e-4,3.7047788247771294e-5,-1.393998633269255e-8,4.5676585962010804e-4,3.682314037864092e-5,-1.3885605024489333e-8,4.57017899354544e-4,3.65430985371316e-5,-1.3816998895031419e-8,4.573585513254664e-4,3.625115082842816e-5,-1.3743986972765052e-8,4.5778120823241134e-4,3.5989329685002914e-5,-1.367641965358165e-8,4.582659310878471e-4,3.579152347703973e-5,-1.3622494409608255e-8,4.587842300484169e-4,3.567911872805785e-5,-1.3587614246913989e-8,4.5930436312677383e-4,3.565921697959824e-5,-1.357389940117045e-8,4.5979615512869434e-4,3.572510183973148e-5,-1.358027877351196e-8,4.6023475988321376e-4,3.585820060660067e-5,-1.360294284347647e-8,4.6060335832733674e-4,3.6030722091809204e-5,-1.3635911870639802e-8,4.60895139188042e-4,3.6208528902177354e-5,-1.3671590860836431e-8,4.6111494690815154e-4,3.635429757026502e-5,-1.3701352069797334e-8,4.612807925415506e-4,3.6431488839050474e-5,-1.3716346193401218e-8,4.614247987373746e-4,3.6410027954227026e-5,-1.3708835750741679e-8,4.6159205914533125e-4,3.62743262879114e-5,-1.3674231350069227e-8,4.6183498055835207e-4,3.6032773953528615e-5,-1.3613573886357206e-8,4.6220096368370197e-4,3.572504366766511e-5,-1.3535497406452498e-8,4.627142460022724e-4,3.5420516607509466e-5,-1.345601089443765e-8,4.633589570077975e-4,3.520158587923049e-5,-1.339462640412944e-8,4.640754895656249e-4,3.5133781640715624e-5,-1.336732887285183e-8,4.6477797333421513e-4,3.523710146370312e-5,-1.337976511947418e-8,4.653863109243403e-4,3.5476761963375476e-5,-1.3424888861955243e-8,4.658546211216421e-4,3.577942568893229e-5,-1.3486488367131025e-8,4.661813358342299e-4,3.6063351831523195e-5,-1.3545965988268696e-8,4.664004611033069e-4,3.626473218857858e-5,-1.3588320959816941e-8,4.665639958352068e-4,3.6350407228647365e-5,-1.360513303776225e-8,4.6672541684679767e-4,3.631790496298228e-5,-1.3594788762173888e-8,4.6692865416770923e-4,3.618845377576418e-5,-1.3561187150119446e-8,4.672026368560225e-4,3.5997925297469526e-5,-1.3511940939945172e-8,4.6755982834898976e-4,3.5788386314177225e-5,-1.3456575605413407e-8,4.67997179408685e-4,3.5601078032541834e-5,-1.3404875559273567e-8,4.684985923176623e-4,3.5470812389852354e-5,-1.3365423942936016e-8,4.6903849108559164e-4,3.542180047068913e-5,-1.3344439413006975e-8,4.695861596821659e-4,3.546508508953634e-5,-1.3345040436527447e-8,4.7011041192164126e-4,3.559772500847251e-5,-1.3367006714160734e-8,4.705840542170844e-4,3.580375537789526e-5,-1.3407016011675667e-8,4.7098759753275935e-4,3.6056678871433476e-5,-1.3459233547938723e-8,4.7131190949890184e-4,3.632298007574168e-5,-1.3516078049011552e-8,4.71559790690804e-4,3.6566204934469644e-5,-1.3569053058169974e-8,4.717465735754899e-4,3.6751383530202755E-05,-1.3609647477316639e-8,4.718998124130554e-4,3.684981905601746e-5,-1.3630405599256602e-8,4.7205781579265745e-4,3.684452081682734e-5,-1.3626310087204059e-8,4.7226605766033966e-4,3.673637051258554e-5,-1.3596506069195115e-8,4.725699924678846e-4,3.654994787786842e-5,-1.3546025765795578e-8,4.730033180778431e-4,3.6336041112372295e-5,-1.3486667699711668e-8,4.7357300089362716e-4,3.616604739808837e-5,-1.3435763281303896e-8,4.74246972161772e-4,3.611397064008277e-5,-1.3411769997669891e-8,4.7495468950762464e-4,3.6228226616847743e-5,-1.342728801093758e-8,4.756075265498231e-4,3.6506596772157785e-5,-1.3482806498111208e-8,4.761324789643435e-4,3.68921215314555e-5,-1.3565521966204982e-8,4.76500027685036e-4,3.729587464380291e-5,-1.3654665288008376e-8,4.7672987690625123e-4,3.763293743393644e-5,-1.3730017018062513e-8,4.768749775046739e-4,3.7850136442992455e-5,-1.3778472109271951e-8,4.7699763159739244e-4,3.7934345672070496e-5,-1.379606231317544e-8,4.7715085690734735e-4,3.790502947009683e-5,-1.3786386207802384e-8,4.7736947329048336e-4,3.780076670277705e-5,-1.3757715344810296e-8,4.7766881383462853e-4,3.7666865402247315e-5,-1.3720316041747617e-8,4.780473761409701e-4,3.7546640888132714e-5,-1.368447808114495e-8,4.7849069816615584e-4,3.747611264933771e-5,-1.3659170952435136e-8,4.789752246660876e-4,3.748091718942398e-5,-1.3651117518452754e-8,4.7947201707088224e-4,3.757448492495361e-5,-1.3664168314897276e-8,4.799505077512641e-4,3.775714321569889e-5,-1.3698971973992664e-8,4.803824002412184e-4,3.801622409426613e-5,-1.3752971782310215e-8]} \ No newline at end of file diff --git a/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_11.json b/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_11.json new file mode 100644 index 0000000..0dd6dde --- /dev/null +++ b/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_11.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1.0,"startIndex":11000,"numberOfSamples":1000,"samples":[4.807455898115237e-4,3.832746570992544e-5,-1.3820749559112586e-8,4.810276804026849e-4,3.8657939483712816e-5,-1.3894708855793208e-8,4.8122851144731977e-4,3.897037866353488e-5,-1.3966029941865335e-8,4.8136122169643126e-4,3.922846753666153e-5,-1.4025813189547578e-8,4.8145158055841605e-4,3.94025277918899e-5,-1.406634943105251e-8,4.815355041583503e-4,3.9474978459853574e-5,-1.408245537787128e-8,4.8165478219839815e-4,3.9445013590506954e-5,-1.4072791780691197e-8,4.8185089652025466e-4,3.933196966399209e-5,-1.4041008026015441e-8,4.8215671196515623e-4,3.9176311765079673e-5,-1.3996340784096513e-8,4.825864763543066e-4,3.9036228711670225e-5,-1.3953028790341758e-8,4.8312623641597524e-4,3.897747212754661e-5,-1.3927849119148707e-8,4.837291888970253e-4,3.9055456474574426e-5,-1.3935510387344442e-8,4.843221611312391e-4,3.929313827217236e-5,-1.3982860442730526e-8,4.848265247112546e-4,3.966499254457847e-5,-1.4064616609993489e-8,4.8518733416020557e-4,4.009980545620315e-5,-1.4163881241573302e-8,4.853950931909375e-4,4.050581912340954e-5,-1.425830655995102e-8,4.854866151667581e-4,4.080574058134305e-5,-1.4328715323638037e-8,4.85525688196407e-4,4.096178493042818e-5,-1.4365239392562207e-8,4.855772001398806e-4,4.0979862819758134e-5,-1.4368394366073396e-8,4.856885804979649e-4,4.089713112766541e-5,-1.4346234987150922e-8,4.8588326125485515e-4,4.076435074414623e-5,-1.4310345248447114e-8,4.8616296080937287e-4,4.063161994000118e-5,-1.4272594843316575e-8,4.865136173432042e-4,4.054008405187016e-5,-1.4243172616081504e-8,4.8691142789272524e-4,4.051847158520118e-5,-1.4229620182921136e-8,4.8732762934217247e-4,4.0582299326150006e-5,-1.4236433463507242e-8,4.8773212709177916e-4,4.07341134689005e-5,-1.4264941962397524e-8,4.880965967034294e-4,4.096407600183585e-5,-1.4313353517338398e-8,4.88397573177068e-4,4.1250927252936434e-5,-1.4376959666340294e-8,4.886197129387349e-4,4.1563798332032156e-5,-1.4448564853229553e-8,4.887589435265532e-4,4.1865488207741994e-5,-1.451924254306548e-8,4.888247307700336e-4,4.211748974787741e-5,-1.4579476522027053e-8,4.888405100767859e-4,4.228641181812268e-5,-1.462064263346648e-8,4.888415356313333e-4,4.235083017747227e-5,-1.463666315611464e-8,4.888699069788087e-4,4.2307124574301165e-5,-1.462554429370797e-8,4.889672434197426e-4,4.2172729191325406e-5,-1.459042628142175e-8,4.89166100944331e-4,4.198561886052198e-5,-1.4539802909504917e-8,4.894815424795779e-4,4.179941029790374e-5,-1.4486638095790344e-8,4.899045597653066e-4,4.16738571918689e-5,-1.4446179472955758e-8,4.903995543457572e-4,4.1661226263416274e-5,-1.4432491631334258e-8,4.909084078410756e-4,4.179064877681403e-5,-1.4454232713012669e-8,4.913629055658968e-4,4.205495921373214e-5,-1.4510927067288458e-8,4.917043498415898e-4,4.2406630471518614e-5,-1.4591584452824552e-8,4.919041260653661e-4,4.2768455240018365e-5,-1.4677226547185713e-8,4.91975143734432e-4,4.30581023135401e-5,-1.4747087713819914e-8,4.919667281492841e-4,4.321634341236769e-5,-1.4785795141156964e-8,4.919450134806429e-4,4.322488299346272e-5,-1.4787918091785175e-8,4.919696544610528e-4,4.310619995991277e-5,-1.4758043194016052e-8,4.920780610928328e-4,4.2909134196637064e-5,-1.4707389424281414e-8,4.922813225790399e-4,4.269033595193827e-5,-1.464944226297227e-8,4.925688425220637e-4,4.249988199139718e-5,-1.4596537842685818e-8,4.92916302217559e-4,4.2373819969799324e-5,-1.4557994767186664e-8,4.932930424762773e-4,4.233227598512297e-5,-1.4539483417289066e-8,4.936673798735039e-4,4.2380499169877454e-5,-1.4543082916464466e-8,4.940100632622315e-4,4.251078828128216e-5,-1.4567604259159937e-8,4.942967406427109e-4,4.27043504794895e-5,-1.4608973846901326e-8,4.945102476677884e-4,4.2933063498730834e-5,-1.4660638792530654e-8,4.946431248320447e-4,4.316170803770033e-5,-1.4714088579726986e-8,4.947001929114915e-4,4.335150966562856e-5,-1.4759675319273507e-8,4.947003518474758e-4,4.3465620460088586e-5,-1.4787908056141978e-8,4.946762700491294e-4,4.3476391218321277e-5,-1.4791230435817252e-8,4.946706632709735e-4,4.337312853241991e-5,-1.4766006598097854e-8,4.947286919062398e-4,4.316792790944356e-5,-1.4714140745679074e-8,4.948875598480194e-4,4.289680338026428e-5,-1.46436248866499e-8,4.951660198459949e-4,4.261431606960693e-5,-1.4567507684274658e-8,4.955572023782361e-4,4.238205390573295e-5,-1.4501266960766878e-8,4.960275056948562e-4,4.225356593077395e-5,-1.4459112508157139e-8,4.965226079965434e-4,4.225970770296015e-5,-1.445012992875491e-8,4.969797348841862e-4,4.239855798309805e-5,-1.4475344797421208e-8,4.973435745501257e-4,4.263333074298414e-5,-1.452672530286383e-8,4.975817616767804e-4,4.290011641573763e-5,-1.4588789841322534e-8,4.976949342797306e-4,4.31246291984686e-5,-1.4642736998874316e-8,4.977169933512843e-4,4.32435191844831e-5,-1.4671952404593025e-8,4.977043744489744e-4,4.3222752491909916e-5,-1.4666876259907704e-8,4.977180995272924e-4,4.30657402384419e-5,-1.4627283126456636e-8,4.978060190996614e-4,4.280844975449757e-5,-1.4561258969220208e-8,4.979920722311104e-4,4.2505071693506214e-5,-1.4481783123106343e-8,4.982749931993637e-4,4.221149461163865e-5,-1.4402704387878677e-8,4.986341351162414e-4,4.1972812399652274e-5,-1.4335614319282961e-8,4.99038023174974e-4,4.181724732728816e-5,-1.4288203371298527e-8,4.994521132236064e-4,4.1755451375511826e-5,-1.4263899128169458e-8,4.998442497099592e-4,4.1782774302784495e-5,-1.4262268021020732e-8,5.001879318353291e-4,4.1882399162322495e-5,-1.4279703860248156e-8,5.004642516735846e-4,4.202823461485221e-5,-1.4310113798395751e-8,5.006634317541689e-4,4.218742398465999e-5,-1.4345522650409268e-8,5.007865154243883e-4,4.232301933686223e-5,-1.4376697915433863e-8,5.008471450808845e-4,4.239771827120947e-5,-1.4394026271468186e-8,5.008726192415792e-4,4.237947661390274e-5,-1.4388889379628621e-8,5.009027064025104e-4,4.224906691188224e-5,-1.4355605708386248e-8,5.009844664141034e-4,4.200814399437556e-5,-1.4293595372097094e-8,5.011622958425812e-4,4.168457799010023e-5,-1.4208933086185455e-8,5.014648490094809e-4,4.133098997158663e-5,-1.4114222164068199e-8,5.018933871908035e-4,4.1014046129932506e-5,-1.4026120755346876e-8,5.024172779489319e-4,4.079629120466331e-5,-1.3960894019653134e-8,5.029800978344093e-4,4.0716851663191706e-5,-1.3929502673170868e-8,5.035149205751237e-4,4.0778803174321974e-5,-1.3934148788121047e-8,5.039631026052139e-4,4.0948067350335475e-5,-1.3967574412809247e-8,5.042898951464934e-4,4.116358529728348e-5,-1.4015214047407058e-8,5.044923433820881e-4,4.1354546447450864e-5,-1.405930760929713e-8,5.045980853346142e-4,4.145904379395495e-5,-1.4083628433054094e-8,5.046562864241187e-4,4.143903113694813e-5,-1.4077491031220824e-8,5.047237703547672e-4,4.128796116298141e-5,-1.4038013428869964e-8,5.048504577142612e-4,4.1029648300892024e-5,-1.3970152894372228e-8,5.050682042868694e-4,4.070946922079784e-5,-1.3884718542673423e-8,5.053857892959258e-4,4.038129871002777e-5,-1.3795175637434057e-8,5.057904773855169e-4,4.0094587167200846e-5,-1.3714342555419928e-8,5.062542972907671e-4,3.988514116215506e-5,-1.3651908298048012e-8,5.067420758582822e-4,3.9771018930213065e-5,-1.36131932106548e-8,5.072186700798977e-4,3.9752847710952766e-5,-1.3599056334601855e-8,5.076541049257842e-4,3.981679039448647e-5,-1.3606552572220539e-8,5.080265636895346e-4,3.993839829792082e-5,-1.3629887915207912e-8,5.083239056768367e-4,4.008625429723009e-5,-1.366134539027628e-8,5.085445405312649e-4,4.02251540015048e-5,-1.3692068130210929e-8,5.086982215653529e-4,4.031923748367069e-5,-1.3712790472901225e-8,5.088067942896942e-4,4.033585746282454e-5,-1.3714758380114217e-8,5.089042016332715e-4,4.0250984480183826e-5,-1.369110873241738e-8,5.090342370463796e-4,4.005630209267127e-5,-1.36387919547938e-8,5.09244162874289e-4,3.976656292219734e-5,-1.3560660497017656e-8,5.095732393487734e-4,3.942360984383623e-5,-1.3466737784983145e-8,5.100381218559963e-4,3.9092145563312785e-5,-1.3373334502326575e-8,5.106211663506831e-4,3.884421714299498e-5,-1.3299185546533904e-8,5.112695708256073e-4,3.873558642398053e-5,-1.325938777322804e-8,5.119093049859852e-4,3.878426446529394e-5,-1.3259745614206067e-8,5.124690770718819e-4,3.896273593345075e-5,-1.3294485083970076e-8,5.129030399538616e-4,3.920805997219822e-5,-1.3348486880023718e-8,5.13202292093832e-4,3.944384781038976e-5,-1.3402621757432825e-8,5.133926118135372e-4,3.9603311868793384e-5,-1.3439524368879208e-8,5.135225876503645e-4,3.964513077729718e-5,-1.344773648237942e-8,5.136484244188965e-4,3.955939833262208e-5,-1.3423498173910979e-8,5.138202846515992e-4,3.936503101320661e-5,-1.337045078206997e-8,5.140727251366115e-4,3.9101620258126494e-5,-1.3297891578819023e-8,5.144200439889327e-4,3.8818723273896924e-5,-1.3218230049065295e-8,5.148563248939854e-4,3.8565076244178615e-5,-1.31442269252279e-8,5.153592942705727e-4,3.8379720577811564e-5,-1.3086552229207539e-8,5.158965586590853e-4,3.8286402743178446e-5,-1.3052102047767048e-8,5.164325300028227e-4,3.829166482457637e-5,-1.3043289492522785e-8,5.169345624266961e-4,3.838611140678518e-5,-1.3058250794240458e-8,5.173773998025525e-4,3.854777091398222e-5,-1.3091694599441699e-8,5.177457469094699e-4,3.8746318140652296E-05,-1.3136024508001314e-8,5.180353753683765e-4,3.894721737733719e-5,-1.3182422098429487e-8,5.182533801875123e-4,3.9115464526579055e-5,-1.322176802538456e-8,5.184180207872244e-4,3.9219155018714586e-5,-1.3245479826195314e-8,5.185582174206982e-4,3.923339887816621e-5,-1.3246473160946539e-8,5.187121920390923e-4,3.9145162676454723e-5,-1.3220474590964729e-8,0.00051892397371530155,3.895909776742693e-5,-1.316773040159988e-8,5.192361363727685e-4,3.8702959631497384e-5,-1.3094695644609137e-8,5.19678041196177e-4,3.8429183553321686e-5,-1.3014701920521112e-8,5.20251698135249e-4,3.820781513346968e-5,-1.2946243125940887e-8,5.209217831712024e-4,3.810779889170091e-5,-1.2908049988956758e-8,5.216188239536118e-4,3.817071047034634e-5,-1.2912046211167408e-8,5.222596846655533e-4,3.8389929217076366e-5,-1.295764933741635e-8,5.227776981227885e-4,3.870942493105218e-5,-1.3031193682067312e-8,5.231462221446176e-4,3.90449333361414e-5,-1.3111251595486714e-8,5.233834624169179e-4,3.9315346546736246e-5,-1.3176687479802485e-8,5.235394281321812e-4,3.946752696132619e-5,-1.3213083897284422e-8,5.236754233317036e-4,3.9485713744511626e-5,-1.3215295714260378e-8,5.238462568216775e-4,3.9387314888452363e-5,-1.3186630329662888e-8,5.240896667697123e-4,3.921173128856953e-5,-1.3136310014778118e-8,5.244226644038686e-4,3.900801174331826e-5,-1.3076572242619164e-8,5.248426426550115e-4,3.882439799199982e-5,-1.3020069826079723e-8,5.253311937372029e-4,3.870065090327242e-5,-1.2977767650741354e-8,5.258593061790778e-4,3.8663123547147846e-5,-1.2957402470289928e-8,5.263931056407179e-4,3.8722437005912813e-5,-1.2962597830659435e-8,5.268994400545242e-4,3.887355383309786e-5,-1.2992693609541672e-8,5.273506944811689e-4,3.909786013135494e-5,-1.304323238147115e-8,5.277283618928682e-4,3.9366737045691754e-5,-1.310693161469982e-8,5.280251104455353e-4,3.964596224958332e-5,-1.3174889451303355e-8,5.282454335082373e-4,3.990022972843365e-5,-1.3237768428264953e-8,5.284052231946588e-4,4.009736888639202e-5,-1.3286836033079106e-8,5.285305494829884e-4,4.021225325537939e-5,-1.3314912562979519e-8,5.286557060394544e-4,4.0230579521206196e-5,-1.3317363974876683e-8,5.288202403339737e-4,4.015271335318547e-5,-1.3293259523465599e-8,5.290641459351538e-4,3.999743645858218e-5,-1.3246644881952389e-8,5.29420183065172e-4,3.980429049478516e-5,-1.3187490243689071e-8,5.299032094367221e-4,3.963165594186321e-5,-1.313141009986588e-8,5.304988417193463e-4,3.9546878333224285e-5,-1.3097054263167734e-8,5.311574317731786e-4,3.96065921173356e-5,-1.3100650126240523e-8,5.318014578119245e-4,3.98319165292681e-5,-1.3149038022273758e-8,5.32349611324718e-4,4.019180005671327e-5,-1.3234910936428494e-8,5.327485204893838e-4,4.0608738174731215e-5,-1.3338177317094923e-8,5.32993774836213e-4,4.098800442554419e-5,-1.3433731281722263e-8,5.331274981533502e-4,4.125409164773492e-5,-1.3501160283562443e-8,5.332164335123858e-4,4.137379163363762e-5,-1.353087213849061e-8,5.333259193608972e-4,4.13576666322837e-5,-1.3524569124303872e-8,5.335024650995162e-4,4.124644008992089e-5,-1.3491904463169542e-8,5.337679129261047e-4,4.109355822924989e-5,-1.3446225415098136e-8,5.341216559001369e-4,4.0951180469202836e-5,-1.340113134321436e-8,5.345463734211426e-4,4.0861572281668134e-5,-1.3368231159593744e-8,5.350143019353962e-4,4.0852955656746325e-5,-1.3355852072504397e-8,5.354928423825327e-4,4.093817556745151e-5,-1.3368381791204466e-8,5.359493976739728e-4,4.111506478866112e-5,-1.3406093750610092e-8,5.363555591240247e-4,4.136805710751307e-5,-1.3465430533373401e-8,5.366906062535734e-4,4.167087291184944e-5,-1.353970510439085e-8,5.369441549435876e-4,4.199017748541348e-5,-1.3620131233801054e-8,5.371176836764395e-4,4.229004758300979e-5,-1.3697055796399448e-8,5.372246939412618e-4,4.2536815840649555e-5,-1.376122922588961e-8,5.372894831724115e-4,4.2703741062777625e-5,-1.3804984921125316e-8,5.373446669618185e-4,4.277512234113474e-5,-1.3823300988072162e-8,0.00053742757544824975,4.27496117961429e-5,-1.3814764582700658e-8,5.375755603610683e-4,4.264248462223457e-5,-1.3782413644499372e-8,5.378200593904353e-4,4.2486472593883745e-5,-1.373430126808111e-8,5.381792508290428e-4,4.233015478549633e-5,-1.368338167500512e-8,5.386499283189473e-4,4.223204705859813e-5,-1.3646059069466792e-8,5.392010226639216e-4,4.224848840771485e-5,-1.3638780125339982e-8,5.397734225659609e-4,4.2415447202705524e-5,-1.3672723821927818e-8,5.402914650870005e-4,4.272937436938092e-5,-1.3748141826012162e-8,5.406870951769552e-4,4.3138228021123006e-5,-1.3851605137995859e-8,5.409276624223462e-4,4.355360016244392e-5,-1.3959259082476329e-8,5.410308634400444e-4,4.388299832113226e-5,-1.404572807505199e-8,5.410560312127462e-4,4.406544519190341e-5,-1.409387560046213e-8,5.410774246421454e-4,4.4090008179269903e-5,-1.4099829500317099e-8,5.411566007764416e-4,4.399025355105983e-5,-1.4071552354515442e-8,5.413273035270495e-4,4.3823916588713976e-5,-1.4023612135435341e-8,5.415945168970027e-4,4.365179453199496e-5,-1.3971835246327046e-8,5.41941678191083e-4,4.3523829968479546e-5,-1.3929763987744986e-8,5.423397870270695e-4,4.3473105445618066e-5,-1.3906988846966135e-8,5.427550475932729e-4,4.3515132910834864e-5,-1.3908697960636151e-8,5.431542404764803e-4,4.364960885200329e-5,-1.393582992804166e-8,5.435083954292767e-4,4.386290135691708e-5,-1.3985503452994463e-8,5.437955680521673e-4,4.413075019834189e-5,-1.4051648813651171e-8,5.440031193610353e-4,4.442130458093591e-5,-1.4125847171957948e-8,5.441294904295869e-4,4.4698775986850106e-5,-1.4198377383350764e-8,5.441851609821107e-4,4.4927902109817414e-5,-1.4259451932272639e-8,5.44192274379237e-4,4.5079042801761985e-5,-1.4300570677415424e-8,5.441825131835359e-4,4.513324877772769e-5,-1.4315854380231034e-8,5.441931678314615e-4,4.508643514283918e-5,-1.4303200161377657e-8,5.442616930190452e-4,4.495182030705989e-5,-1.4265097005812744e-8,5.444193252662113e-4,4.475992062198913e-5,-1.420891194830896e-8,5.446845113517835e-4,4.455563870804244e-5,-1.4146439051286658e-8,5.450570012046475e-4,4.439214140356481e-5,-1.4092482439868092e-8,5.455138259491807e-4,4.432123995689494e-5,-1.4062247519459378e-8,5.460091567979519e-4,4.4380529159655735e-5,-1.4067548181360422e-8,5.464806332929459e-4,4.457933352573298e-5,-1.411246534473196e-8,5.468639351101996e-4,4.488842557502628e-5,-1.41900303462031e-8,5.471137114483806e-4,4.5240836901430264e-5,-1.4282186009332701e-8,5.472228700801882e-4,4.5549104705021665e-5,-1.436459415403402e-8,5.472286408053625e-4,4.573542557700775e-5,-1.4415174862346914e-8,5.471991045330296e-4,4.576046398285103e-5,-1.4422216878027767e-8,5.47206448294467e-4,4.56349055279638e-5,-1.4387623676551349e-8,5.473019740297997e-4,4.5409058585348715e-5,-1.4324164571538933e-8,5.475045890269017e-4,4.5149831126079944e-5,-1.4249406835206891e-8,5.47803705825606e-4,4.4918876045973197e-5,-1.4180002072172085e-8,5.481698176479473e-4,4.4759851057189094e-5,-1.412830013525889e-8,5.48565692247331e-4,4.469494792163449e-5,-1.410125538583461e-8,5.489546078069922e-4,4.4727065395722936e-5,-1.4100722236229494e-8,5.493051789854964e-4,4.484400912140682e-5,-1.4124308082445898e-8,5.495938405083384e-4,4.5022613923846395e-5,-1.4166321890606745e-8,5.498062624304646e-4,4.523222436300298e-5,-1.4218687392005276e-8,5.499384595504489e-4,4.54378852388539e-5,-1.4271863647322725e-8,5.49997724894559e-4,4.560386201037831e-5,-1.4315865288538859e-8,5.500030030438457e-4,4.5697985530979016e-5,-1.434147018981161e-8,5.499839508065228e-4,4.5696843463098964e-5,-1.4341625669559141e-8,5.499779032270899e-4,4.559110119398946e-5,-1.4312908167490931e-8,5.500244181110129e-4,4.5389582007094315e-5,-1.4256724128095877e-8,5.50157883005538e-4,4.512048381923619e-5,-1.417984329569152e-8,5.503995686945172e-4,4.482844257285975e-5,-1.4093882581779136e-8,5.507511242321261e-4,4.456714389146746e-5,-1.4013561269086788e-8,5.511914791808575e-4,4.438847474538031e-5,-1.3953862718354635e-8,5.516785262955729e-4,4.43302010252111e-5,-1.3926532510634918e-8,5.521561635635225e-4,4.4404755979930705e-5,-1.3936611787065186e-8,5.525663239678071e-4,4.459220322119048e-5,-1.3979975801327925e-8,5.528642063231052e-4,4.484065587117192e-5,-1.4043007349154969e-8,5.530328973052125e-4,4.507661529127626e-5,-1.4105288308440919e-8,5.530916519570143e-4,4.522480506594574e-5,-1.4145236907282978e-8,5.530923528858961e-4,4.523202408225343e-5,-1.4147030087645297e-8,5.531031506537776e-4,4.5085084291692684e-5,-1.4105860437065999e-8,5.531855430718504e-4,4.4813819040833696e-5,-1.4028958709191986e-8,5.533755526889687e-4,4.447784879142051e-5,-1.3932084645392354e-8,5.536768815553462e-4,4.41448232435347e-5,-1.3833668292310375e-8,5.540662856310166e-4,4.387093911013423e-5,-1.3749517436350942e-8,5.545054107827476e-4,4.369036706870036e-5,-1.3689826206305373e-8,5.549526056740539e-4,4.3613801028485625e-5,-1.3658542876311258e-8,5.553711420623051e-4,4.363257224331595e-5,-1.3654223719707622e-8,5.55733434845886e-4,4.3724503286497815e-5,-1.3671440617076656e-8,5.560225166865299e-4,4.385919757848827e-5,-1.3702164569045507e-8,5.56232263778228e-4,4.400211587684637e-5,-1.3736921152732457e-8,5.563673733728169e-4,4.4117846392702796e-5,-1.376575922796316e-8,5.564433941300915e-4,4.4173372568585065e-5,-1.3779194966470485e-8,5.564864419333089e-4,4.414206095567587e-5,-1.3769317275568825e-8,5.565317072407061e-4,4.4008603643539826E-05,-1.373115531210439e-8,5.566196665612034e-4,4.377426004116058e-5,-1.3664180386757936e-8,5.567893255742785e-4,4.3460653879901505e-5,-1.3573495648336821e-8,5.5706903259323e-4,4.3109638309396154e-5,-1.3470018373719109e-8,5.574671621600434e-4,4.277713905643178e-5,-1.3369019224232388e-8,5.579663031544923e-4,4.25209069743737e-5,-1.3286905991693288e-8,5.585242506155931e-4,4.2385091814629774e-5,-1.323695369887385e-8,5.590827837639093e-4,4.238670958930531e-5,-1.322532616995296e-8,5.595820943030839e-4,4.2508928121728134e-5,-1.324879527303495e-8,5.599765436803205e-4,4.270375260425213e-5,-1.3295025360336303e-8,5.602470647653046e-4,4.290357624198227e-5,-1.3345467218010926e-8,5.604066433327727e-4,4.3038521618008536e-5,-1.3380135565607916e-8,5.604971361354452e-4,4.305496671614097e-5,-1.3382982052173816e-8,5.605778644400599e-4,4.293002467591174e-5,-1.3346289025681776e-8,5.607089623263255e-4,4.267729978794635e-5,-1.3272636519098559e-8,5.609347399582315e-4,4.234165410834814e-5,-1.3173718674744843e-8,5.61272824224999e-4,4.1984822487049506e-5,-1.3066489427049024e-8,5.617125088503604e-4,4.1667542738988164e-5,-1.2968201743518012e-8,5.622215885905281e-4,4.1434866394617e-5,-1.289219032748799e-8,5.627575830200749e-4,4.130882130901546e-5,-1.2845587660872705e-8,5.632786025023382e-4,4.1288594336048484e-5,-1.2829102735199409e-8,5.637508743402848e-4,4.135555763250854e-5,-1.2838217765699319e-8,5.641523616550949e-4,4.147987966628914e-5,-1.2864954028178306e-8,5.644734987008431e-4,4.1626480056051095e-5,-1.2899567931198906e-8,5.647164882240774e-4,4.1759528984558676e-5,-1.2931887162585448e-8,5.648942535231952e-4,4.184578296212132e-5,-1.2952297818560158e-8,5.650294889116143e-4,4.1857547900959665e-5,-1.2952577895423737e-8,5.651535715361088e-4,4.177605896823371e-5,-1.2926828568155383e-8,5.653044894483615e-4,4.159567182824132e-5,-1.287267633441649e-8,5.655225692094629e-4,4.132839759346974e-5,-1.279266224815386e-8,5.658430328778544e-4,4.100697766475647e-5,-1.2695307297663935e-8,5.662857653330005e-4,4.068344030322492e-5,-1.2594934042639526e-8,5.668451659124272e-4,4.042019197207262e-5,-1.2509327194232984e-8,5.674853336557398e-4,4.027347907363591e-5,-1.2455107328985577e-8,5.681455713211361e-4,4.027408208489247e-5,-1.244214622307206e-8,5.68756746685192e-4,4.0414004798879e-5,-1.2469513131187434e-8,5.692626340933667e-4,4.0646580039138516e-5,-1.2525133623159566e-8,5.696369955166504e-4,4.090066807453131e-5,-1.2589478046435055e-8,5.698896665275624e-4,4.110245921092196e-5,-1.2641551835441664e-8,5.700608716068607e-4,4.1195953729986446e-5,-1.2664715990718236e-8,5.702077505850598e-4,4.1155798139361454e-5,-1.2650540717421748e-8,5.703884759901265e-4,4.099042424392756e-5,-1.2600051493450478e-8,5.706483903579017e-4,4.073662588412746e-5,-1.2522583891047876e-8,5.710109691405875e-4,4.0448332338844876e-5,-1.243290518949643e-8,5.714748841309391e-4,4.0182934684654554E-05,-1.2347452802728689e-8,5.720170435890389e-4,3.9988544477136714e-5,-1.2280615128135358e-8,5.726001321744273e-4,3.9895057969472874e-5,-1.2241921421025485e-8,5.731821206679281e-4,3.991064069654339e-5,-1.2234717623019245e-8,5.737250198595423e-4,4.002343402058786e-5,-1.2256397133360156e-8,5.742009861844149e-4,4.0206784374766535e-5,-1.2299779958393722e-8,5.745952088943357e-4,4.042579305071043e-5,-1.2355009254206567e-8,5.749061274942017e-4,4.064339540438695e-5,-1.2411383146639144e-8,5.751440773201222e-4,4.0825069665894794e-5,-1.2458778726029885e-8,5.753293799587323e-4,4.094221059405223e-5,-1.2488629625521792e-8,5.754904006567578e-4,4.097477176506438e-5,-1.2494646793562146e-8,5.756615125629631e-4,4.0913864151746437e-5,-1.2473547362790684e-8,5.758803459554417e-4,4.076472695839921e-5,-1.24259847650868e-8,5.761832436211499e-4,4.0549772255380785e-5,-1.2357617600292305e-8,5.765979379808243e-4,4.0310124351701156e-5,-1.2279811549458918e-8,5.771336876089873e-4,4.010269549721812e-5,-1.2209012413795871e-8,5.777716895829274e-4,3.9989598090760646e-5,-1.2163757626176808e-8,5.784616465902294e-4,4.001937776225071e-5,-1.2159125570823381e-8,5.791308482835355e-4,4.020580099469462e-5,-1.2200322952745242e-8,5.797065295022585e-4,4.0515899636114696e-5,-1.2278907274980914e-8,5.80142457888133e-4,4.087731150446172e-5,-1.2374661952472232e-8,5.804354401798264e-4,4.120363917341638e-5,-1.2462792256088949e-8,5.806232139856671e-4,4.142456024104346e-5,-1.2522577976320966e-8,5.807671988462954e-4,4.1505812543823224e-5,-1.2543184545504214e-8,5.809309310098887e-4,4.145299058481706e-5,-1.2524943479233836e-8,5.811633911987712e-4,4.130273058000135e-5,-1.2477155055317291e-8,5.814906054594975e-4,4.110843349549538e-5,-1.241437134424403e-8,5.819145513730104e-4,4.092617541810449e-5,-1.2352610977888855e-8,5.824169208822125e-4,4.0803658015597504e-5,-1.2306198503680667e-8,5.829655041898003e-4,4.077300848955851e-5,-1.2285457641107754e-8,5.835216304790936e-4,4.08473506951388e-5,-1.2295353076190144e-8,5.840475044047213e-4,4.1020878040647856e-5,-1.2335168157344423e-8,5.845123946407954e-4,4.1271912795883656e-5,-1.2399194688289209e-8,5.848968676341912e-4,4.1568009920163966e-5,-1.247819580484653e-8,5.851947152164219e-4,4.1871931312817365e-5,-1.2561243079423654e-8,5.854127287371877e-4,4.214737362730478e-5,-1.2637501168654626e-8,5.855689082537816e-4,4.236363657066199e-5,-1.2697641820982583e-8,5.856898580934266e-4,4.2498978178316354e-5,-1.2734800220127118e-8,5.85807889067023e-4,4.254292268264029e-5,-1.2745207957826337e-8,5.859579513795578e-4,4.249795347224145e-5,-1.272871639020561e-8,5.861741086786202e-4,4.2380895742717424e-5,-1.2689360718495551e-8,5.8648484953241e-4,4.2223796026970555e-5,-1.2635890084310931e-8,5.869065735812319e-4,4.2073073991807874e-5,-1.2581801894459312e-8,5.874356319421588e-4,4.19846475120227e-5,-1.2544061137121026e-8,5.880413756125081e-4,4.201259995003142e-5,-1.2539678227518325e-8,5.886653049404993e-4,4.219108683589354e-5,-1.2580052638216501e-8,5.8923238679551e-4,4.2514839582835756e-5,-1.266480189970253e-8,5.896756386652956e-4,4.2930283800824865e-5,-1.2778839288959433e-8,5.89964101552167e-4,4.334851356362142e-5,-1.2896139522771572e-8,5.901171113360668e-4,4.367814905014522e-5,-1.298951948589008e-8,5.901947880698806e-4,4.38602737483596e-5,-1.3040992057450742e-8,5.902714285460607e-4,4.3885736496831144e-5,-1.3046861211874255e-8,5.904086373518427e-4,4.3789236335983746e-5,-1.3016096632518927e-8,5.90640488345573e-4,4.362965960038413e-5,-1.2964884842237333e-8,5.90971946441086e-4,4.34695603945582e-5,-1.2911008855333938e-8,5.913852195337234e-4,4.336092270372908e-5,-1.2869904121306538e-8,5.918485774305888e-4,4.333812126088688e-5,-1.285252461742886e-8,5.923245446952727e-4,4.3416150897318016e-5,-1.2864501648532461e-8,5.927764593066211e-4,4.359190961413261e-5,-1.2906114467297666e-8,5.931734732856898e-4,4.384714236114294e-5,-1.2972841846778543e-8,5.934942150203255e-4,4.4152466088083324e-5,-1.3056421398296158e-8,5.937291030815587e-4,4.447215885443439e-5,-1.3146311817982143e-8,5.938811933955622e-4,4.47693426906656e-5,-1.3231356330999967e-8,5.93965485886057e-4,4.5011077674093984e-5,-1.3301399351245954e-8,5.94006799600864e-4,4.5172770496475155e-5,-1.334862131885749e-8,5.940365840398179e-4,4.5241413682133494e-5,-1.336846818500244e-8,5.940891110207756e-4,4.521750624615486e-5,-1.3360212923084611e-8,5.941973595900601e-4,4.511571456359875e-5,-1.3327250246980502e-8,5.943887128092454e-4,4.4964352725929755e-5,-1.3277177720368145e-8,5.946803298205737e-4,4.480359021479988e-5,-1.3221572693952442E-08,5.950740552025116e-4,4.4681698944798734e-5,-1.3175121289205661e-8,5.955515209880322e-4,4.4648007751150914e-5,-1.3153551831570361e-8,5.960715426732222e-4,4.474149532569575e-5,-1.3169977028198143e-8,5.965733804112413e-4,4.4975795704802126e-5,-1.3229934760324216e-8,5.969897334847129e-4,4.5325368620618036e-5,-1.3326761651752678e-8,5.972695820723137e-4,4.572244176421522e-5,-1.3440440521292401e-8,5.974020923934746e-4,4.607385900358259e-5,-1.3542760448690568e-8,5.974260041454101e-4,4.6295468638069834e-5,-1.3607887991505155e-8,5.974149745012774e-4,4.63461491160932e-5,-1.3622690856111841e-8,5.974464645346873e-4,4.62408255489987e-5,-1.3590608456208522e-8,5.975733330563519e-4,4.603711609863486e-5,-1.3527729382284185e-8,5.978120949073726e-4,4.5808229996933905e-5,-1.3455010772294891e-8,5.981476506938362e-4,4.561887790575258e-5,-1.3391473757723922e-8,5.985457456463102e-4,4.551241536514983e-5,-1.3350535217826406e-8,5.989652880636257e-4,4.550820785410715e-5,-1.3339057205444769e-8,5.993671400674556e-4,4.560473672048171e-5,-1.3357888193002322e-8,5.997192571010954e-4,4.578464443118222e-5,-1.340296607210915e-8,5.999993638835912e-4,4.601975491101805e-5,-1.3466562670281527e-8,6.001963194062474e-4,4.627562551405624e-5,-1.353859250547407e-8,6.003106951839153e-4,4.651585668922163e-5,-1.3607999789540018e-8,6.003545828554706e-4,4.670640694476506e-5,-1.3664190858733449e-8,6.003504102879558e-4,4.681993271445912e-5,-1.3698426655564152e-8,6.003285040062579e-4,4.6839792267256964e-5,-1.3705039077842174e-8,6.003233654665366e-4,4.6763054815347505e-5,-1.3682318721009288e-8,6.00368980029104e-4,4.6601915443853456e-5,-1.3632979669015082e-8,6.004936892972919e-4,4.638313791509782e-5,-1.3564152706925421e-8,6.007152397239569e-4,4.6145339984406526e-5,-1.348684271745055e-8,6.010365913857648e-4,4.5934168128419516e-5,-1.3414767746104295e-8,6.014429942225124e-4,4.5795480210201754e-5,-1.3362464203894209e-8,6.019011057532637e-4,4.576653383496385e-5,-1.334252963495435e-8,6.023615895275835e-4,4.586559553492988e-5,-1.3362105344807452e-8,6.027669935205449e-4,4.608188309838632e-5,-1.3419300705541302e-8,6.030658883371729e-4,4.6370003546858796e-5,-1.350105745458068e-8,6.032312519987232e-4,4.66548633865428e-5,-1.3584497719127712e-8,6.032758091670896e-4,4.685133527899667e-5,-1.3643100300052348e-8,6.032535495762095e-4,4.6894725810143705e-5,-1.365628640799527e-8,6.03241729155245e-4,4.6767362660908595e-5,-1.3617683021674188e-8,6.033108166392385e-4,4.65049510596044e-5,-1.3537085025814027e-8,6.034993182490741e-4,4.617895985207165e-5,-1.3435213551070888e-8,6.038060843341433e-4,4.5867317225684895e-5,-1.3335114749071355e-8,6.041994185155103e-4,4.563018257654167e-5,-1.3255104395874068e-8,6.046332663829588e-4,4.549926714185694e-5,-1.3205572436516151e-8,6.05061438746373e-4,4.5478931464839044e-5,-1.3189054107180226e-8,6.054462336936745e-4,4.555306960662015e-5,-1.3201909329785792e-8,6.05762009514742e-4,4.5692876070382345e-5,-1.3236331295070042e-8,6.059957599659084e-4,4.586321651672058e-5,-1.3282117826334546e-8,6.061465022300673e-4,4.6027351570760987e-5,-1.332813231699191e-8,6.062243702543427e-4,4.615066462844048e-5,-1.3363565264245378e-8,6.062495021200464e-4,4.620409516581872e-5,-1.3379104609315037e-8,6.062503718534889e-4,4.616766157689615e-5,-1.3368067825864579e-8,6.062610395188557e-4,4.6033924576426214e-5,-1.3327457601791911e-8,6.063169469718518e-4,4.581063544655485e-5,-1.3258772884036288e-8,6.064494044595206e-4,4.55215188896636e-5,-1.3168331958415403e-8,6.066795318747286e-4,4.52042881604833e-5,-1.3066866709055663e-8,6.070128998625647e-4,4.490545427349359e-5,-1.2968213330564991e-8,6.074363111856063e-4,4.467226793872749e-5,-1.2887087372606102e-8,6.079179098524724e-4,4.4543009907630994e-5,-1.2836174421477544e-8,6.084112436310817e-4,4.453736700212919e-5,-1.282297992625794e-8,6.08863370461571e-4,4.464886329443632e-5,-1.2847073663286673e-8,6.092264758703546e-4,4.4841679024146196e-5,-1.289860746681526e-8,6.094712937410751e-4,4.505445305432866e-5,-1.2959127922180999e-8,6.095987972448405e-4,4.521292039621171e-5,-1.3005410854173592e-8,6.096448764943399e-4,4.5250510079934645e-5,-1.3016030794821033e-8,6.096730138384927e-4,4.513114561506076e-5,-1.2978711001202054e-8,6.097545631549566e-4,4.486402580498518e-5,-1.2895124516848801e-8,6.099439852908066e-4,4.450134061490781e-5,-1.2780348513948726e-8,6.102610819546051e-4,4.4118743907326676e-5,-1.265702267633818e-8,6.106884949894511e-4,4.378880296374916e-5,-1.2547376438516559e-8,6.111831302385094e-4,4.356052924504412e-5,-1.2467023709897674e-8,6.116930853079845e-4,4.3451843285146805e-5,-1.2422507196552202e-8,6.121718091847651e-4,4.3453283807383274e-5,-1.2412110270198072e-8,6.125859229567852e-4,4.3537061943772174e-5,-1.242828767855344e-8,6.129174051327997e-4,4.3666315988779066e-5,-1.2460290569013057e-8,6.131625421240779e-4,4.380214478201701e-5,-1.249629588729844e-8,6.133297797994605e-4,4.390824915390768e-5,-1.2524935334363993e-8,6.134376059320164e-4,4.395405443660182e-5,-1.2536392208869133e-8,6.135126429920539e-4,4.391729178049016e-5,-1.2523285610369912e-8,6.135875232541355e-4,4.37866565556534e-5,-1.248151062142838e-8,6.136978474050366e-4,4.3564553195397556e-5,-1.2411078877572878e-8,6.138776204707606e-4,4.3269171658970975e-5,-1.2316794930864575e-8,6.141531157431434e-4,4.293451537346142e-5,-1.2208394276352459e-8,6.145360882992824e-4,4.260690395661579e-5,-1.2099680577646451e-8,6.150183068876578e-4,4.233718420343913e-5,-1.2006354865178858e-8,6.155698862543469e-4,4.216944569007125e-5,-1.194266561911202e-8,6.161432780116315e-4,4.212893829735594e-5,-1.191760894514987e-8,6.166829962369822e-4,4.221304211145604e-5,-1.1931838226690434e-8,6.171390028809723e-4,4.2388733189199025e-5,-1.1976435073662864e-8,6.174801786565707e-4,4.2598204728411776e-5,-1.2034228597516467e-8,6.177039713164523e-4,4.2771969148489644e-5,-1.2083631887323418e-8,6.178390324477566e-4,4.284658717591776e-5,-1.2104190944765916e-8,6.179391490155112e-4,4.2782467541547576e-5,-1.2082381407395732e-8,6.180690499519215e-4,4.257622589977647e-5,-1.2015807665370394e-8,6.182856981106309e-4,4.2262641290182364e-5,-1.1914142478848567e-8,6.186214061728539e-4,4.1904306638940616e-5,-1.1796159869780265e-8,6.190753692770967e-4,4.1572254817565175e-5,-1.168386155567887e-8,6.196167242703293e-4,4.1325277041778395e-5,-1.1596058210408694e-8,6.201967488488639e-4,4.119594759437842e-5,-1.1543865254199268e-8,6.20764019662867e-4,4.118716574602068e-5,-1.1529328261415304e-8,6.21276549030351e-4,4.127757978552318e-5,-1.154678533548196e-8,6.217080946567695e-4,4.143120927489927e-5,-1.1585638643255654e-8,6.220491812385284e-4,4.1606888823869886e-5,-1.1633240123016763e-8,6.223049974865838e-4,4.176527688606243e-5,-1.1677161479087305e-8,6.224922388533137e-4,4.1873203335198556e-5,-1.1706688765447071e-8,6.226360955927154e-4,4.1906205539858945e-5,-1.1713717885084007e-8,6.227676718629662e-4,4.185030251602371e-5,-1.1693341505436549E-08,6.229214415278793e-4,4.1703735041523074e-5,-1.1644381723185078e-8,6.231319853664534e-4,4.147878640125714e-5,-1.1569970337746821e-8,6.234292802965761e-4,4.120299476324085e-5,-1.1478018587251494e-8,6.238323413543623e-4,4.0918246606836314e-5,-1.1381111507640178e-8,6.243421835840833e-4,4.067585345858345e-5,-1.1295177991775304e-8,6.249366570621865e-4,4.052646987191822e-5,-1.1236482520549367e-8,6.255707246045346e-4,4.0506051125566727e-5,-1.1217220872998886e-8,6.261847863392266e-4,4.062225481812146e-5,-1.124105993740093e-8,6.267202336075681e-4,4.08475845493812e-5,-1.1300642714626034e-8,6.271371716095217e-4,4.112393555640522e-5,-1.1378640363826194e-8,6.274272002337375e-4,4.137818217173511e-5,-1.1452374173663731e-8,6.276160661029025e-4,4.1543172110683946e-5,-1.1500321761911784e-8,6.277555903893943e-4,4.157642470580568e-5,-1.1508102924530854e-8,6.27908422691926e-4,4.147064598947023e-5,-1.1472061584588963e-8,6.281309101857208e-4,4.125382444025051e-5,-1.1399670417759892e-8,6.284589806615875e-4,4.0979990293322234e-5,-1.1307001676311571e-8,6.289004951050204e-4,4.071397673517665e-5,-1.1214196847662963e-8,6.294355537344494e-4,4.051475934856745e-5,-1.1140281814471427e-8,6.300239373611482e-4,4.0422039237037176e-5,-1.1098767800734435e-8,6.306167817204206e-4,4.044943019418976e-5,-1.1095165829009265e-8,6.311685570877783e-4,4.058515042629986e-5,-1.1126836428171848e-8,6.316459742628735e-4,4.079850842401508e-5,-1.1184776656645354e-8,6.320322305868174e-4,4.104897677346346e-5,-1.1256406714476454e-8,6.323269912046183e-4,4.129481071708473e-5,-1.1328374881368757e-8,6.325436800244089e-4,4.149944694038418e-5,-1.138873428162963e-8,6.327057717418874e-4,4.16353572641571e-5,-1.142829124798009e-8,6.3284320211077e-4,4.168599958414399e-5,-1.144127484924841e-8,6.329892507073682e-4,4.1646813714983565e-5,-1.1425641935138297e-8,6.331776221375067e-4,4.1525972124440285e-5,-1.1383308731724334e-8,6.334390698103364e-4,4.134505386970275e-5,-1.1320431548573354e-8,6.337968406765966e-4,4.1139068109295805e-5,-1.1247577530122925e-8,6.342606793062239e-4,4.0954382499360176e-5,-1.1179279984573037e-8,6.34820349377044e-4,4.084256691331992e-5,-1.1132243894526839e-8,6.354414692002509e-4,4.084884439949683e-5,-1.1121682761778917e-8,6.360679001502076e-4,4.0996568100376256e-5,-1.1156195968997953e-8,6.366339468110234e-4,4.1273455162251384e-5,-1.1233067444498262e-8,6.370847593082296e-4,4.162814226045832e-5,-1.1336844237008164e-8,6.37396720814852e-4,4.1982708229566924e-5,-1.1443112874876232e-8,6.375870858518857e-4,4.225789061658065e-5,-1.1526456467575253e-8,6.377074182492132e-4,4.239935949578947e-5,-1.1568844891267493e-8,6.378247532323368e-4,4.239301187350808e-5,-1.1564617122042744e-8,6.380001550354765e-4,4.226467189936685e-5,-1.1520634437041544e-8,6.382730696351323e-4,4.20678159364482e-5,-1.145275407366425e-8,6.386547983664781e-4,4.186642207611976e-5,-1.1380759726833166e-8,6.391301491825187e-4,4.1718969727590826e-5,-1.1323481608403951e-8,6.396645134501095e-4,4.16669354931265E-05,-1.1295058824572489e-8,6.402135211432802e-4,4.1728883630486846e-5,-1.130272523179324e-8,6.407329313863037e-4,4.189994975384543e-5,-1.1346210158588048e-8,6.411869273337647e-4,4.215579668992807e-5,-1.141864418294653e-8,6.415535317098374e-4,4.245951292741821e-5,-1.1508603446175233e-8,6.418266451670236e-4,4.276953906141313e-5,-1.160268944345754e-8,6.420150711981394e-4,4.3046889911181794e-5,-1.168800792468656e-8,6.42139481568027e-4,4.326056338850396e-5,-1.1754073581974093e-8,6.422284650134046e-4,4.3390762964130205e-5,-1.1793939423120785e-8,6.423145863944254e-4,4.343025232088572e-5,-1.1804643333497793e-8,6.424308611712833e-4,4.3384560725109035e-5,-1.1787259369334247e-8,6.426075271147033e-4,4.327164998942055e-5,-1.1746830998873365e-8,6.428686772623222e-4,4.312121499188235e-5,-1.1692290186969063e-8,6.43228211111064e-4,4.297319789412587e-5,-1.163620160738782e-8,6.436849034127897e-4,4.2874338512484316e-5,-1.1593853762600689e-8,6.442175178239869e-4,4.287106863696716e-5,-1.1581024865378009e-8,6.447826241944376e-4,4.299769946587701e-5,-1.1610003778983072e-8,6.453192106631316e-4,4.326148989808878e-5,-1.1684410461728622e-8,6.457633643151136e-4,4.363072674477005e-5,-1.179495428359945e-8,6.460709780358177e-4,4.403539258500074e-5,-1.1919425251124777e-8,6.46238269440531e-4,4.438654427814625e-5,-1.202896701159812e-8,6.463067360377512e-4,4.460863357575101e-5,-1.2098638955452586e-8,6.463473522053487e-4,4.466782983677177e-5,-1.2116629130642991e-8,6.464328198700985e-4,4.458091988511223e-5,-1.2087172530117929e-8,6.466134080396352e-4,4.440296244483021e-5,-1.2026767218001455e-8,6.469062893985017e-4,4.420432212394621e-5,-1.1957162905655501e-8,6.472980673486538e-4,4.4049415375376975e-5,-1.1898899064049858e-8,6.477545569824074e-4,4.398348465637827e-5,-1.1867178141227173e-8,6.482321283936542e-4,4.402769158632383e-5,-1.1870077472484313e-8,6.486874451684293e-4,4.4180110616365914e-5,-1.190843181001741e-8,6.490845942283705e-4,4.442004791255551e-5,-1.1976767655848106e-8,6.493996674170178e-4,4.471399475420608e-5,-1.2064930829832403e-8,6.496230132730473e-4,4.502224997790057e-5,-1.2160170877601224e-8,6.497593165315699e-4,4.530541463222377e-5,-1.2249376594925378e-8,6.498257985589669e-4,4.5530023897967826e-5,-1.2321106524374785e-8,6.498490150835266e-4,4.5672787320462324e-5,-1.2367125184429808e-8,6.49860849248668e-4,4.5723111388483726e-5,-1.2383285624306336e-8,6.498943459428724e-4,4.56838734642481e-5,-1.2369777794004631e-8,6.499798483583396e-4,4.5570805788698724e-5,-1.2330940194194202e-8,6.50141540921297e-4,4.5410946737608354e-5,-1.2274858062634918e-8,6.50394252361549e-4,4.524034632505981e-5,-1.2212820673742356e-8,6.507402898474811e-4,4.510081644081227e-5,-1.2158498221920027e-8,6.511662941424877e-4,4.503501619399875e-5,-1.2126476181320007e-8,6.516409652377725e-4,4.507883196177047e-5,-1.2129687005367259e-8,6.521158333795178e-4,4.525065636203942e-5,-1.2175577965498676e-8,6.525322031476455e-4,4.553941364164363e-5,-1.2261726884082065e-8,6.528365381010586e-4,4.5896913451435045e-5,-1.2372957541494924e-8,6.53001864278318e-4,4.6243075736359524e-5,-1.2482966177543175e-8,6.530450153429226e-4,4.6489294263523875e-5,-1.2562182212005331e-8,6.530262302326049e-4,4.657300931178719e-5,-1.2589338662501737e-8,6.530266241761063e-4,4.6484341852986244e-5,-1.2560253186849565e-8,6.531153745404709e-4,4.626789168937222e-5,-1.248839206681805e-8,6.533259500794602e-4,4.600025166059354e-5,-1.2397689341809364e-8,6.536518626923442e-4,4.5759473698595974e-5,-1.2312978138197302e-8,6.540578644141293e-4,4.56028117197643e-5,-1.2253084886290816e-8,6.544960449519266e-4,4.555825704891566e-5,-1.222809841334969e-8,6.549192256583115e-4,4.562646405711048e-5,-1.2239671643138295e-8,6.552892641813089e-4,4.578752220519903e-5,-1.2282737836356728e-8,6.555809511761707e-4,4.6008638879196065e-5,-1.23475952409882e-8,6.557831063329746e-4,4.625097547136351e-5,-1.2421941128098137e-8,6.558981448308248e-4,4.647540239116749e-5,-1.2492798538365653e-8,6.559406151232579e-4,4.664739366488725e-5,-1.2548313680324879e-8,6.55934795368779e-4,4.674108669115587e-5,-1.2579299722569738e-8,6.559114262674878e-4,4.674234926529412e-5,-1.258037528172128e-8,6.559037475636952e-4,4.6650576798607184e-5,-1.2550589153337167e-8,6.559431799480559e-4,4.647890047352641e-5,-1.2493483386171588e-8,6.560551490320222e-4,4.625272895401807e-5,-1.241665830734056e-8,6.562554736211841e-4,4.6006843480568736e-5,-1.2330965549949725e-8,6.565475621712678e-4,4.5781298533340715e-5,-1.224938677601268e-8,6.569205673771478e-4,4.561626701972796e-5,-1.2185538559539806e-8,6.573487109405446e-4,4.554580590585966e-5,-1.2151659149246088e-8,6.577924153502072e-4,4.5590415220543125e-5,-1.215594635662814e-8,6.58202593113294e-4,4.574881097857109e-5,-1.2199412084801173e-8,6.585297262397721e-4,4.59909687918636e-5,-1.2273096298199133e-8,6.587382425042407e-4,4.62568085760598e-5,-1.2357324481940705e-8,6.588231495329708e-4,4.646624084061321e-5,-1.2425073606254522e-8,6.588204978599106e-4,4.65431768960108e-5,-1.2450244405357208e-8,6.588012287440477e-4,4.644637290291428e-5,-1.2418191579088436e-8,6.588458419334591e-4,4.61899779128904e-5,-1.2332619928155143e-8,6.590119357198074e-4,4.5838877755827045e-5,-1.2214031205022718e-8,6.593137391720427e-4,4.548068499544168e-5,-1.2090617955505468e-8,6.597236153319567e-4,4.519227164557173e-5,-1.1987544773090963e-8,6.601895628610029e-4,4.5018724180246425e-5,-1.1920237507966108e-8,6.606554423138694e-4,4.49697296954195e-5,-1.189308702067798e-8,6.610749674083071e-4,4.502738150794323e-5,-1.1901620274760557e-8,6.614178803084616e-4,4.515738862713096e-5,-1.1935726383931564e-8,6.616706357616994e-4,4.531887849385159e-5,-1.1982572911828448e-8,6.61834447382716e-4,4.547133072107415e-5,-1.2028824379413137e-8,6.6192264137107e-4,4.5579126378920714e-5,-1.2062283892577649e-8,6.619580115031964e-4,4.561475770029697e-5,-1.2073180904243843e-8,6.619700433900955e-4,4.556135838574398e-5,-1.2055197467963607e-8,6.61991699576438e-4,4.5414661343623503e-5,-1.200620365179172e-8,6.620555712945934e-4,4.51840896179602e-5,-1.1928622796913211e-8,6.621894741458482e-4,4.489240920507422e-5,-1.182931385336294e-8,6.624119923538018e-4,4.457342997377879e-5,-1.1718880084197724e-8,6.627287685916333e-4,4.4267655432898346e-5,-1.1610397059841187e-8,6.631303288208212e-4,4.401622188040044e-5,-1.1517614629584648e-8,6.635920520441031e-4,4.3853814799379214e-5,-1.1452739383809711e-8,6.640766309640293e-4,4.3801500136949246e-5,-1.1423990223408127e-8,6.645391547065707e-4,4.3860465762502585e-5,-1.1433213609765761e-8,6.649348907757294e-4,4.400781803244625e-5,-1.1474022268078109e-8,6.652295738743438e-4,4.4196208170768975e-5,-1.1531237312247409e-8,6.654109062286146e-4,4.435975285734818e-5,-1.1582666541464982e-8,6.654978651706966e-4,4.442827675775156e-5,-1.1603994416442983e-8,6.655421492594667e-4,4.434891282437948e-5,-1.1576365369570233e-8,6.656163939754637e-4,4.410816482066763e-5,-1.1494114352982963e-8,6.657897957674164e-4,4.3742356818358154e-5,-1.136844192019311e-8,6.661014873919342e-4,4.332714263267976e-5,-1.1223980436229123e-8,6.66546435586102e-4,4.294919512763321e-5,-1.1089453851181167e-8,6.670813088959861e-4,4.267547632709114e-5,-1.0987569771282318e-8,6.676444956798761e-4,4.2535713727573955e-5,-1.0929181332560628e-8,6.681774843805674e-4,4.252258156620681e-5,-1.0913107238000703e-8,6.686384044883153e-4,4.260325002735994e-5,-1.0929587800350869e-8,6.690062161390295e-4,4.2733346818073974e-5,-1.0964592948012124e-8,6.692787368457985e-4,4.286787118068754e-5,-1.1003310653399214e-8,6.694682707915127e-4,4.296777011126571e-5,-1.1032406940396475e-8,6.695972389198812e-4,4.300322240539698e-5,-1.1041321064106932e-8,6.696946149272839e-4,4.295523829967347e-5,-1.1023008875669534e-8,6.697929196037282e-4,4.2816698354687566e-5,-1.0974419442589062e-8,6.699251733474295e-4,4.2593196764431914e-5,-1.0896807753560433e-8,6.701212865700194e-4,4.230341044442153e-5,-1.0795842637994127e-8,6.704037174690174e-4,4.1978221761531796e-5,-1.0681328919295532e-8,6.707828559139265e-4,4.1657672615155404e-5,-1.0566288547495148e-8,6.712532690016723e-4,4.138524242901553e-5,-1.0465216530512158e-8,6.717922865944109e-4,4.119981360746378e-5,-1.0391550497627238e-8,6.723621835534646e-4,4.112674104581725e-5,-1.0354712996658229e-8,6.729163674503193e-4,4.117028254115718e-5,-1.0357404924622589e-8,6.734087601805087e-4,4.1309743555585105e-5,-1.0393953428156289e-8,6.738045432664134e-4,4.150094656252346e-5,-1.0450378613876328e-8,6.740899326696811e-4,4.168357203370962e-5,-1.0506544084907395e-8,6.742784623792691e-4,4.1793849405908306e-5,-1.0540362360195925e-8,6.744112537778521e-4,4.178074134045985e-5,-1.053345924363471e-8,6.745493044657425e-4,4.1621948675312874e-5,-1.0476951591107518e-8,6.747577135709221e-4,4.1334207987166106e-5,-1.0375304924468307e-8,6.750854372839487e-4,4.097200972504231e-5,-1.0246168788815136e-8,6.755482329271165e-4,4.0612262569480024e-5,-1.0115334350837037e-8,6.761231653952755e-4,4.032957409188221e-5,-1.0008413784011982e-8,6.767578521833027e-4,4.017301604488647e-5,-9.94290139609733e-9,6.773894310269758e-4,4.015465619698559e-5,-9.924065754328441e-9,6.779636072244319e-4,4.025271194279116e-5,-9.945684323589636e-9,6.784462992592076e-4,4.042426218751692e-5,-9.994032077050076e-9,6.788262531519046e-4,4.0619750895181834e-5,-1.0052621713449427e-8,6.791114670866537e-4,4.0793953317949755e-5,-1.0105937498144301e-8,6.793233103813246e-4,4.091197852871128e-5,-1.0141630257049476e-8,6.794909850969935e-4,4.0951453051865014e-5,-1.01514585939184e-8,6.7964728168145e-4,4.090274064307937e-5,-1.0131510062344522e-8,6.798254076015645e-4,4.076859742149239e-5,-1.0082138915684628e-8,6.800561699820016e-4,4.0563850495158245e-5,-1.0007849266961698e-8,6.8036477449427e-4,4.031492566409186e-5,-9.917132870207206e-9,6.807668440871827e-4,4.0058407100975396e-5,-9.822042726828585e-9,6.812639721347429e-4,3.98374389784475e-5,-9.737104678895134e-9,6.818400995093161e-4,3.9695020030860256e-5,-9.677186556046806e-9,6.824608377364019e-4,3.966437272967973e-5,-9.65429089058683e-9,6.830778514977682e-4,3.975846050622824e-5,-9.673896804332269e-9,6.8363893699842e-4,3.996251016407234e-5,-9.732153955509115e-9,6.841017372567231e-4,4.023361206932423e-5,-9.815394137449953e-9,6.844466228191916e-4,4.05092582535884e-5,-9.902727164968086e-9,6.846838738110617e-4,4.072297495515305e-5,-9.971213593928136e-9,6.848523051199315e-4,4.082220466885166e-5,-1.000201594026922e-8,6.850095982123903e-4,4.07828469698932e-5,-9.98560223372568e-9,6.852171873960667e-4,4.0616222783899834e-5,-9.924483469796086e-9,6.855238737488718e-4,4.036653532224773e-5,-9.832728989987601e-9,6.859526224257744e-4,4.00993290741107e-5,-9.732322816114245e-9,6.86494446675017e-4,3.988386503340198e-5,-9.647264291981038e-9,6.871115650576727e-4,3.977452661168896e-5,-9.597109977300679e-9,6.877489646437295e-4,3.979728759741124e-5,-9.592045225736865e-9,6.883501673843535e-4,3.994563772478752e-5,-9.631095222420986e-9,6.888714062386018e-4,4.018638516815171e-5,-9.70376889018204e-9,6.89289773006254e-4,4.047168422173579e-5,-9.79400284884246e-9,6.896042371432542e-4,4.075196513064055e-5,-9.884614283434994e-9,6.898314601928995e-4,4.0985699460782386e-5,-9.960814485912439e-9,6.899994707481199e-4,4.114457896454388e-5,-1.0012195088317796e-8,6.901416346331935e-4,4.1214864630885974e-5,-1.0033353714839723e-8,6.902920197616812e-4,4.119656099349532e-5,-1.0023683572674945e-8,6.904821165138293e-4,4.1101881144250444e-5,-9.986848350330236e-9,6.907382638650003e-4,4.09537582206849e-5,-9.930264533573738e-9,6.910790024415842e-4,4.0784383529647454e-5,-9.864646068425661e-9,6.915118287645734e-4,4.06330723894299e-5,-9.803388502339166e-9,6.92029478921974e-4,4.054225759251511e-5,-9.761330963984282e-9,6.926069404711696e-4,4.055042383207215e-5,-9.752392841996608e-9,6.93201577440324e-4,4.068187369966381e-5,-9.785963135087253e-9,6.937591702126083e-4,4.0935603885594335e-5,-9.86281521804032e-9,6.942270330740719e-4,4.1278405821690475e-5,-9.972398042232453e-9,6.945712632534799e-4,4.164815702606528e-5,-1.0093706764041374e-8,6.947908016139201e-4,4.196965425274466e-5,-1.0200641875276863e-8,6.949204861200494e-4,4.217816671559534e-5,-1.027018519806173e-8,6.950204845917e-4,4.2240436893643125e-5,-1.0289782773011855e-8,6.951568783835051e-4,4.2163991349505506e-5,-1.0260761389728324e-8,6.953820071952732e-4,4.1992296890793167e-5,-1.0196951522017627e-8,6.957214881833488e-4,4.1789873918597023e-5,-1.0119904592446122e-8,6.961704254910497e-4,4.162399139921554e-5,-1.0052855248199617e-8,6.966977464138914e-4,4.154851515582117e-5,-1.0015196278929336e-8,6.972559483814732e-4,4.159322790104321e-5,-1.0018554243928807e-8,6.977931798100247e-4,4.1759927789965654e-5,-1.006500579411969e-8,6.982647541256812e-4,4.202510292476047e-5,-1.0147554437825793e-8,6.986416504509654e-4,4.2347742945279895e-5,-1.0252547579380231e-8,6.989144432942709e-4,4.267979568978907e-5,-1.0363254734980224e-8,6.990924889111561e-4,4.297633660441667e-5,-1.046354978955787e-8,6.991995765864698e-4,4.3203125469473766e-5,-1.0540778184890215e-8,6.992679525856361e-4,4.334055988722916e-5,-1.0587341630078698e-8,6.993324737511327e-4,4.338433788379723e-5,-1.0601042222300012e-8,6.994259422448656e-4,4.33439373540044e-5,-1.0584573537885036e-8,6.995758178822197e-4,4.324016014019141e-5,-1.0544655239898046e-8,6.998018846283525e-4,4.310255497934784e-5,-1.049116419505745e-8,7.001142366953494e-4,4.296687167505949e-5,-1.0436353487376878e-8,7.00511078834245e-4,4.28720812612912e-5,-1.0393964239501379e-8,7.009763426032131e-4,4.285598693783195e-5,-1.0377799290857615e-8,7.014781075470884e-4,4.294835757893481e-5,-1.0399281482030315e-8,7.01969994354906e-4,4.316142500987284e-5,-1.0463892261942207e-8,7.023982919714376e-4,4.3479848296496525E-05,-1.0567290124078954e-8,7.027162843902773e-4,4.385542505735799e-5,-1.0693127635927223e-8,7.029027821209852e-4,4.42135354664673e-5,-1.0815191406563102e-8,7.029758681401383e-4,4.44744496722845e-5,-1.0904987723913586e-8,7.029914590549362e-4,4.458263269534113e-5,-1.0942205658178163e-8,7.030240973959722e-4,4.4528749813272105e-5,-1.0922540209312683e-8,7.031394395161471e-4,4.435182467687107e-5,-1.0858532246731884e-8,7.033730001998939e-4,4.412187581728143e-5,-1.0773708033050758e-8,7.037236525719877e-4,4.391449186565976e-5,-1.0694038600834027e-8,7.041603691418619e-4,4.378961991431415e-5,-1.0640801646843702e-8,7.046353875274154e-4,4.378031259963003e-5,-1.0626632482199593e-8,7.050976569019387e-4,4.3890906265389334e-5,-1.0654550090175343e-8,7.055033512381783e-4,4.4101463726791514e-5,-1.0719012226212606e-8,7.058225832089542e-4,4.4375368649487437e-5,-1.0808140470310517e-8,7.060425584939559e-4,4.4667972118194066e-5,-1.0906544945457309e-8,7.061676354241381e-4,4.4934992978476056e-5,-1.0998328320161188e-8,7.062167941862384e-4,4.513963638656883e-5,-1.1069817830506132e-8,7.062192461146077e-4,4.525758094198104e-5,-1.1111586225981603e-8,7.062091365135665e-4,4.527941172781372e-5,-1.1119497270185845e-8,7.062203187254132e-4,4.521057587191405e-5,-1.1094762027694266e-8,7.062819845440831e-4,4.5069391812404094e-5,-1.1043233702560278e-8,7.06415505665796e-4,4.488393907460559e-5,-1.0974313413837001e-8,7.066323612634319e-4,4.4688540962570335e-5,-1.089978106738531e-8,7.069327966070445e-4,4.452012245181196e-5,-1.0832652650027417e-8,7.073048809528734e-4,4.4414291049901125e-5,-1.0785940512482935e-8,7.077239303819673e-4,4.4400593182769026e-5,-1.0771010723654536e-8,7.081530282662858e-4,4.449628480384157e-5,-1.0795218004047385e-8,7.08546309372772e-4,4.4698728013663695e-5,-1.0858860998889045e-8,7.088570074624559e-4,4.497837061391854e-5,-1.0952277710884579e-8,7.090511764918637e-4,4.527680031930541e-5,-1.1054882078469456e-8,7.091242875412201e-4,4.551603875633128e-5,-1.1138494306429178e-8,7.091120498076681e-4,4.562208888687946e-5,-1.117598713005094e-8,7.090846177539748e-4,4.5555482629709526e-5,-1.1152408119707443e-8,7.091216217038918e-4,4.533143658656323e-5,-1.1072207380177586e-8,7.092802036001695e-4,4.501504148607371e-5,-1.0957523637321026e-8,7.095747795025035e-4,4.469379194735881e-5,-1.0838617797559788e-8,7.099779924341384e-4,4.4444886939645104e-5,-1.0742641317809363e-8,7.104372322708001e-4,4.431417690490606e-5,-1.0686428868332595e-8,7.108944427121056e-4,4.43116119214771e-5,-1.067478403156329e-8,7.113007184917924e-4,4.441806234799192e-5,-1.0702470480375884e-8,7.116236793675328e-4,4.459632083759559e-5,-1.0757592826290675e-8,7.118492538786992e-4,4.480161570626685e-5,-1.0824953711808661e-8,7.11980233791131e-4,4.4989876558258635e-5,-1.0888886188899312e-8,7.120332870788396e-4,4.512373743613871e-5,-1.093553525218388e-8,7.120351830951165e-4,4.517671189813642e-5,-1.0954618391336977e-8,7.12018506314901e-4,4.513573773315998e-5,-1.094058962873492e-8,7.12017114163592e-4,4.500208629716573e-5,-1.0893112309757543e-8,7.120616914124563e-4,4.47905968840482e-5,-1.0816818974571956e-8,7.121758530794824e-4,4.452730583824109e-5,-1.0720449941183935e-8,7.12373225808455e-4,4.424582850797638e-5,-1.0615582948149321e-8,7.126557056969058e-4,4.3983020894276823E-05,-1.0515185840291802e-8,7.130128748690027e-4,4.377430370445033e-5,-1.0432097453514521e-8,7.134225026408814e-4,4.364884043657226e-5,-1.0377410518766734e-8,7.138521296875519e-4,4.3624612316220915e-5,-1.0358662531311387e-8,7.142621087199356e-4,4.370335181858926e-5,-1.0377769717223068e-8,7.146110340123279e-4,4.386580901383108e-5,-1.0428929632440784e-8,7.148644843579355e-4,4.406916289330847e-5,-1.0497305281474699e-8,7.150068229220568e-4,4.424991700273873e-5,-1.0559887164612516e-8,7.150530524366479e-4,4.4336178298709344e-5,-1.0590042672540263e-8,7.15053734810595e-4,4.42704276374271e-5,-1.056605287956476e-8,7.150846291680763e-4,4.403576931514396e-5,-1.0480847359923442e-8,7.152198511851885e-4,4.3670120179829765e-5,-1.0347183403858284e-8,7.155008744882165e-4,4.325529287265698e-5,-1.019372183871818e-8,7.159202063701489e-4,4.288442453165478e-5,-1.0053486378649688e-8,7.164288382090401e-4,4.262714020159595e-5,-9.95164253828637e-9,7.169595712173114e-4,4.2511112636761016e-5,-9.899008498589871e-9,7.174506599694499e-4,4.2524020942925516e-5,-9.892540841677029e-9,7.178598144621892e-4,4.2627404619268514e-5,-9.91983987587705e-9,7.181678446769699e-4,4.27721963699476e-5,-9.964266310840572e-9,7.183759126586623e-4,4.291045343841636e-5,-1.0008908875743132e-8,7.18500405594647e-4,4.300234497131943e-5,-1.0039122755238085e-8,7.185677828556197e-4,4.30196320106107e-5,-1.0044007543963475e-8,7.186101042079086e-4,4.294717412168661e-5,-1.001723346601736e-8,7.186610533817944e-4,4.278335317154585e-5,-9.957406051808767e-9,7.18752168284341e-4,4.253964376045135e-5,-9.867997924772748e-9,7.189091853091514e-4,4.2239192867652126e-5,-9.756827287293615e-9,7.191486680453425e-4,4.191412441845834e-5,-9.635062646698978e-9,7.194753833185204e-4,4.1601472907260915e-5,-9.515794554155215e-9,7.198809710473828e-4,4.1338056243998875e-5,-9.412302783608438e-9,7.203442861506658e-4,4.115483206636226e-5,-9.33615368049298e-9,7.208335901116579e-4,4.107136650050428e-5,-9.295250483512817e-9,7.21310582686931e-4,4.109113767836152e-5,-9.292009746461441e-9,7.217361374829578e-4,4.1198376722348027e-5,-9.321908690989147e-9,7.220776248483091e-4,4.135721706930838e-5,-9.372781644989014e-9,7.223174798075731e-4,4.151444248885548e-5,-9.42550576306746e-9,7.224616572947125e-4,4.160760778234224e-5,-9.456878589667109e-9,7.225448756233372e-4,4.157965702183735e-5,-9.445137808270311e-9,7.226279081272899e-4,4.139838628719147e-5,-9.377400707335786e-9,7.22782831518834e-4,4.107397411941798e-5,-9.256348015631858e-9,7.230679109607896e-4,4.066348908937088e-5,-9.10200491377539e-9,7.235030324353299e-4,4.025454393631868e-5,-8.94585670514005e-9,7.240604349135902e-4,3.993307278447048e-5,-8.819235976789946e-9,7.246770474161983e-4,3.9752475639384204e-5,-8.74220271896425e-9,7.25280167562206e-4,3.972032945361145e-5,-8.71863631377646e-9,7.258112499168408e-4,3.980545137139982e-5,-8.738490452126625e-9,7.262379795707331e-4,3.995588791311808e-5,-8.783922245220665e-9,7.265545698200255e-4,4.011659749582939e-5,-8.83541706972929e-9,7.267755339873465e-4,4.024105833074878e-5,-8.875936197311278e-9,7.269279845271264e-4,4.029652987094112e-5,-8.892976574019021e-9,7.270451450548466e-4,4.026516750216042e-5,-8.879235354411228e-9,7.271616327638609e-4,4.014326976173892e-5,-8.832575722188413e-9,7.273099551577129e-4,3.993996905439593e-5,-8.755682817923396e-9,7.275175140387404e-4,3.9675705000669275e-5,-8.65552457776656e-9,7.278037036096325e-4,3.938023732409923e-5,-8.542589315450922e-9,7.281770882665271e-4,3.9089662899162196e-5,-8.429786504232964e-9,7.286331360591269e-4,3.884197223268564e-5,-8.330888585721539e-9,7.291533677555678e-4,3.867120217350354e-5,-8.258515599405508e-9,7.297067738756757e-4,3.860090558086704e-5,-8.221844583454592e-9,7.302539666578742e-4,3.8638182704821905e-5,-8.224400957513714e-9,7.307538962269374e-4,3.876983049784128e-5,-8.262452625865695e-9,7.311722092434422e-4,3.896204742743471e-5,-8.324571705863522e-9,7.314897527645678e-4,3.9164524285314036e-5,-8.3927927962959e-9,7.317094414493923e-4,3.931904431090589e-5,-8.445566122962981e-9,7.318594845103638e-4,3.937201425400375e-5,-8.462392890762826e-9,7.319908066651358e-4,3.928917259530832e-5,-8.42948659848983e-9,7.321669790530052e-4,3.906885058053107e-5,-8.345010771919948e-9,7.324469928605998e-4,3.8748281868431985e-5,-8.22172192559327e-9,7.328651675913713e-4,3.839739804730499e-5,-8.084889760603431e-9,7.334166535442571e-4,3.809868218835139e-5,-7.964969302770367e-9,7.340570593855317e-4,3.791967584824037e-5,-7.88746795733556e-9,7.347180158889726e-4,3.789093829132095e-5,-7.864694610367329e-9,7.35330978895752e-4,3.799999059049531e-5,-7.893257941684946e-9,7.358473549973659e-4,3.820188625552753e-5,-7.95762224232136e-9,7.36247320859895e-4,3.8438037090302746e-5,-8.036768609057542e-9,7.365375874964547e-4,3.865343008418449e-5,-8.110432460280896e-9,7.367432165561168e-4,3.880698844533339e-5,-8.163005946748622e-9,7.368986354207467e-4,3.8875061863166875e-5,-8.185035831936871e-9,7.370405983510341e-4,3.885061218849014e-5,-8.173156102939069e-9,7.372035548293182e-4,3.8740714185469477e-5,-8.129326522098361e-9,7.374166923744471e-4,3.8563901864775714e-5,-8.05990590565618e-9,7.377017025310008e-4,3.834777065479802e-5,-7.974743340507008e-9,7.38070622142274e-4,3.8126512150255426e-5,-7.886238130470689e-9,7.385236155784789e-4,3.7937678633434624e-5,-7.80816935910351e-9,7.390471872462534e-4,3.7817479218706066e-5,-7.754041850862354e-9,7.39613896733862e-4,3.779443638936219e-5,-7.734832514708064e-9,7.401848806728716e-4,3.788221163124379e-5,-7.75635096994411e-9,7.407160397257579e-4,3.807351780711525e-5,-7.816863716772319e-9,7.411675017627108e-4,3.83377342940748e-5,-7.905958120875292e-9,7.415142919555773e-4,3.8624442718095306e-5,-8.005552813609206e-9,7.417549191637427e-4,3.887335159084064e-5,-8.093346705012602e-9,7.419146387750976e-4,3.902868594401002e-5,-8.14809060536792e-9,7.420415466924796e-4,3.9054260051663074e-5,-8.155305505607456e-9,7.421957712450767e-4,3.894484020912841e-5,-8.111780096870276e-9,7.424340938914088e-4,3.873006125504485e-5,-8.02737573183699e-9,7.42793899355561e-4,3.846880194086285e-5,-7.923264854219435e-9,7.432812620141698e-4,3.823437454532318e-5,-7.82664187542525e-9,7.438677441412036e-4,3.809405520022208e-5,-7.763143694430137e-9,7.444981839003461e-4,3.808955287654943e-5,-7.749409650064826e-9,7.451073361538792e-4,3.822586805072566e-5,-7.788599612458683e-9,7.456389114710405e-4,3.847282903416642e-5,-7.870587084328902e-9,7.460595325375159e-4,3.8777620572790256e-5,-7.97634017132848e-9,7.463633344203971e-4,3.90818258416466e-5,-8.084164382373755e-9,7.465679154850866e-4,3.9335967587656355e-5,-8.175197120055171e-9,7.467056704916095e-4,3.950769387356267e-5,-8.236653653676395e-9,7.468147802209882e-4,3.958364471163843e-5,-8.262748556136644e-9,7.469323302937862e-4,3.956728801685668e-5,-8.25406326448367e-9,7.470900224543724e-4,3.947522924674709e-5,-8.21625230612436E-09,7.473117786206921e-4,3.9333574246693434e-5,-8.15868872939971e-9,7.476122444451707e-4,3.917483364161524e-5,-8.093285230637837e-9,7.479954258414936e-4,3.9035053263447094e-5,-8.033430521419e-9,7.484532171378763e-4,3.8950407831258895e-5,-7.992775209673987e-9,7.489642810589979e-4,3.895244597740534e-5,-7.983527194781351e-9,7.494944525688141e-4,3.906165830601274e-5,-8.014060469529422e-9,7.500002746529996e-4,3.9280174203610924e-5,-8.086078232861302e-9,7.504369055959056e-4,3.9586013083436254e-5,-8.192238951203957e-9,7.507699029120727e-4,3.993257848288867e-5,-8.31570446363603e-9,7.509875768828624e-4,4.025651618290501e-5,-8.432888245201967e-9,7.511084739632404e-4,4.049377684511111e-5,-8.519412651981377e-9,7.511792950330379e-4,4.059903216808652e-5,-8.557453460506901e-9,7.51262580818493e-4,4.056073182061699e-5,-8.541545996409175e-9,7.514184424281146e-4,4.040549547796316e-5,-8.480474453332119e-9,7.516871944073718e-4,4.019036204144835e-5,-8.394680466844668e-9,7.520786833722089e-4,3.998634873333417e-5,-8.31041577663291e-9,7.525708694622507e-4,3.985920059382761e-5,-8.252707967838128e-9,7.531170338310043e-4,3.985300180192867e-5,-8.239147244363815e-9,7.536588526186752e-4,3.998070036708499e-5,-8.276008258796359e-9,7.541413990265233e-4,4.022342678605548e-5,-8.357544078241255e-9,7.54525863865062e-4,4.05380201242533e-5,-8.468421354961952e-9,7.547967008719969e-4,4.0869815523018587e-5,-8.588335122366214e-9,7.549619635945633e-4,4.116635887970118e-5,-8.697206288555848e-9,7.550480101612701e-4,4.1388047065979665e-5,-8.779387588935774e-9,7.550913554910073e-4,4.151357045899603e-5,-8.825967420826681e-9,7.551305842522161e-4,4.154031612162445e-5,-8.835132581061215e-9,7.552001895864037e-4,4.148139165922518e-5,-8.811164119887681e-9,7.55326828426084e-4,4.1361260126847735e-5,-8.762820923675844e-9,7.555274925687125e-4,4.12114438663705e-5,-8.70170647458801e-9,7.558087203055979e-4,4.1066871518413693e-5,-8.640891785799208e-9,7.561661037027524e-4,4.09626519740274e-5,-8.593743073534889e-9,7.565837873294337e-4,4.0930595848213674e-5,-8.572674913245856e-9,7.570343023719693e-4,4.0994708019895345e-5,-8.58746909968765e-9,7.574798432523166e-4,4.116526167701248e-5,-8.642942450707564e-9,7.578766597453443e-4,4.143219506580418e-5,-8.736227826676889e-9,7.581839700006578e-4,4.1760430647830195e-5,-8.85472089607003e-9,7.583769007372872e-4,4.209143613341075e-5,-8.97646260497755e-9,7.584593350854895e-4,4.235492678888832e-5,-9.074535079715516e-9,7.584693326984003e-4,4.249010700473473e-5,-9.125223368184249e-9,7.58470988460264e-4,4.246860282595259e-5,-9.116849569321388e-9,7.585337351705025e-4,4.230716762507732e-5,-9.054700673282172e-9,7.587083994551931e-4,4.206260627237825e-5,-8.959261900385463e-9,7.590114511903744e-4,4.181169099700161e-5,-8.858889905876627e-9,7.594231618304254e-4,4.162653730197789e-5,-8.780808674797843e-9,7.598974502542237e-4,4.155567159126383e-5,-8.744091746991325e-9,7.603770701441117e-4,4.161547883315085e-5,-8.756261200644959e-9,7.608083072352005e-4,4.1791395294714015e-5,-8.813314074637931e-9,7.611518311466191e-4,4.204568142158321e-5,-8.902175671211233e-9,7.613885521055572e-4,4.232834360337178e-5,-9.004492689727314e-9,7.615206177534766e-4,4.258845489577387e-5,-9.100837967244961e-9,7.61568322961355e-4,4.2783817580922045e-5,-9.174529986143186e-9,7.615641863347267e-4,4.288746563387388e-5,-9.214382010099968e-9,7.615458421224065e-4,4.289030424473849e-5,-9.215981555878051e-9,7.615493776879412e-4,4.280020160465099e-5,-9.181526671744856e-9,7.616042486398303e-4,4.26385797343642e-5,-9.118594656166542e-9,7.61730210455046e-4,4.2435795379432153e-5,-9.03837554219817e-9,7.61936050598561e-4,4.222646210520275e-5,-8.953874020503188e-9,7.622194897874063e-4,4.204535712200338e-5,-8.87837427683221e-9,7.625676250645121e-4,4.1923882039288665e-5,-8.824153587401546e-9,7.629576171601758e-4,4.188660389994002e-5,-8.801211913123232e-9,0.00076335781686778445,4.194730410322629e-5,-8.815719768604965e-9,7.637301806589586e-4,4.210424149540176e-5,-8.868024377405146e-9,7.640353866362429e-4,4.233530176320579e-5,-8.950502771608857e-9,7.642418368971225e-4,4.259542541961727e-5,-9.046295943306457e-9,7.643379706413167e-4,4.282042794217269e-5,-9.130652554192153e-9,7.643436783033333e-4,4.29411494887276e-5,-9.176459932444947e-9,7.643128225427903e-4,4.290719105443412e-5,-9.163573390875584e-9,7.643198908851147e-4,4.27107298651634e-5,-9.088104238947882e-9,7.644329712891078e-4,4.23954390951903e-5,-8.965872528852865e-9,7.646866633436667e-4,4.204199444422708e-5,-8.826934866527333e-9,7.650704200976676e-4,4.17372669333947e-5,-8.704057045239502e-9,7.655369936842672e-4,4.154471093131832e-5,-8.621706108552556e-9,7.660227565342318e-4,4.1489461027239444e-5,-8.590446292021975e-9,7.664679096395077e-4,4.155968867214678e-5,-8.60719762281304e-9,7.668295552510263e-4,4.1717667344140696e-5,-8.65897698447111e-9,7.670867797953163e-4,4.191334217832278e-5,-8.727615499482921e-9,7.672399375245228e-4,4.209611415617943e-5,-8.794011363368658e-9,7.673067113076542e-4,4.2223374435902354e-5,-8.841422117427617e-9,7.673167461421355e-4,4.226589688328241e-5,-8.857772846673981e-9,7.673057770691697e-4,4.221051342646373e-5,-8.837001052988211e-9,7.673098402283448e-4,4.206030802892788e-5,-8.779391079594279e-9,7.673601781277127e-4,4.18326361185597e-5,-8.690943756311483e-9,7.674793660680467e-4,4.1555511526051535e-5,-8.58199870451685e-9,7.676789770593695e-4,4.126301892957958e-5,-8.465429763661297e-9,7.679588364412986e-4,4.0990480338567314e-5,-8.354768907767848e-9,7.683075907368027e-4,4.077001331558171e-5,-8.262536838002104e-9,7.687041577968274e-4,4.062672035544098e-5,-8.198843955832656e-9,7.691197778494181e-4,4.057536670843389e-5,-8.170131786714939e-9,7.69520695114969e-4,4.061730481647757e-5,-8.17788778750396e-9,7.698719236009533e-4,4.073758088267318e-5,-8.217289031700045e-9,7.701429410375053e-4,4.090284202188645e-5,-8.276083307954193e-9,7.703158959245221e-4,4.106194157234824e-5,-8.334583011415699e-9]} \ No newline at end of file diff --git a/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_12.json b/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_12.json new file mode 100644 index 0000000..1edb28b --- /dev/null +++ b/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_12.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1.0,"startIndex":12000,"numberOfSamples":1000,"samples":[7.703954280162467e-4,4.1152337826266915e-5,-8.368108119871265e-9,7.704163319665058e-4,4.111507788730868e-5,-8.352989399151336e-9,7.704421464154993e-4,4.091720944904923e-5,-8.275542352848811e-9,7.705485092428724e-4,4.05724562623383e-5,-8.140252864992262e-9,7.707939985966856e-4,4.014524130054576e-5,-7.971353086916377e-9,7.71193504222048e-4,3.972957759547678e-5,-7.80469566907836e-9,7.717115053607008e-4,3.9412072212316335e-5,-7.673655282248528e-9,7.722792203821364e-4,3.924081276169691e-5,-7.597334312683116e-9,7.728228927422465e-4,3.921592014800571e-5,-7.576902082499595e-9,7.732865636479628e-4,3.930044006202883e-5,-7.599469965429773e-9,7.736417360467977e-4,3.9439508716162856e-5,-7.645015059481085e-9,7.738862021781628e-4,3.9577299627356655e-5,-7.692550022805146e-9,7.740375781067476e-4,3.9667776867413035e-5,-7.724156675043192e-9,7.741257583521852e-4,3.9679734947780095e-5,-7.727075835179889e-9,7.741863193020013e-4,3.959810915098842e-5,-7.69451274251175e-9,7.742552430288779e-4,3.9423328672554246e-5,-7.625696494804441e-9,7.743646142276804e-4,3.9169548057952974e-5,-7.525395913350832e-9,7.745390796275454e-4,3.886191912277735e-5,-7.4029175785362335e-9,7.747931611691499e-4,3.853296073940333e-5,-7.2706518736087654e-9,7.751296404933389e-4,3.821816871539602e-5,-7.14230656603222e-9,7.75539277044951e-4,3.795118644851318e-5,-7.03102083378519e-9,7.760019965895818e-4,3.7759097444815016e-5,-6.947589780698099e-9,7.764894114568546e-4,3.7658393030000226e-5,-6.898960011119357e-9,7.769683935525284e-4,3.765194567776308e-5,-6.887041206138857e-9,7.77405468600329e-4,3.7727187339015794e-5,-6.907852463658269e-9,7.777719367210197e-4,3.7855696317654865e-5,-6.951096001721251e-9,7.780497715515111e-4,3.799465132874708e-5,-7.000433114460731e-9,7.782381033839588e-4,3.809125972066116e-5,-7.035036448543083e-9,7.783590131789634e-4,3.809174285674149e-5,-7.033143881376136e-9,7.784595953194529e-4,3.795570392998253e-5,-6.97793131163529e-9,7.786057068107846e-4,3.767368510457848e-5,-6.864708360881282e-9,7.78863996118783e-4,3.728037531656348e-5,-6.706310810691064e-9,7.792756265371022e-4,3.685219468959701e-5,-6.532225465482031e-9,7.798348397283327e-4,3.648330405006227e-5,-6.379231745544197e-9,7.804875774404013e-4,3.624915992465997e-5,-6.277220111165846e-9,7.811532791147602e-4,3.6178446406365796e-5,-6.238248751260801e-9,7.817563618614648e-4,3.624887846641678e-5,-6.254752293779451e-9,7.822492066349364e-4,3.6404572752001926e-5,-6.305999039127454e-9,7.826184621073835e-4,3.658034238992342e-5,-6.367226110433409e-9,7.828786448897808e-4,3.672020080806501e-5,-6.416659701095429e-9,7.830611528872669e-4,3.678622737434062e-5,-6.439002339589363e-9,7.83204269111392e-4,3.6760045223355876e-5,-6.4262288080890655e-9,7.83346116265409e-4,3.6640538094929564e-5,-6.376990645821899e-9,7.835202865150684e-4,3.644047816686522e-5,-6.2955425776532835e-9,7.837530585274323e-4,3.618322636043522e-5,-6.190565289506217e-9,7.840613538345039e-4,3.5899528490766174e-5,-6.073894295370791e-9,7.844511692520874e-4,3.56240404001225e-5,-5.959079652820332e-9,7.849166362486965e-4,3.5391266889247926e-5,-5.859734881539029e-9,7.854401461991078e-4,3.5230870470624936e-5,-5.787703349498604e-9,7.85994077008628e-4,3.516280326863614e-5,-5.751203618221222e-9,7.865443681490566e-4,3.519312942196211e-5,-5.753224515569559e-9,7.870557121649313e-4,3.531147041257569e-5,-5.790462278713693e-9,7.874977374834473e-4,3.549084781661851e-5,-5.8530751899271e-9,7.878512977067683e-4,3.5690381696580056e-5,-5.925483082828172e-9,7.88113902130303e-4,3.586089281430252e-5,-5.9883395159535995e-9,7.883033069918536e-4,3.595324388575569e-5,-6.021732124830117e-9,7.884579960410935e-4,3.5929083510116866e-5,-6.009544248256601e-9,7.886327975757129e-4,3.577280030598468e-5,-5.9444715378693474e-9,7.888879780100181e-4,3.550164046195876e-5,-5.832367391647236e-9,7.8927192870103e-4,3.51687389345516e-5,-5.693704861085736e-9,7.898018205719634e-4,3.4853326117873307e-5,-5.559814012217819e-9,7.904515896948133e-4,3.4636846056963114e-5,-5.463410169207496e-9,7.911567365586743e-4,3.457328365667514e-5,-5.426733674861982e-9,7.91836723351535e-4,3.4669207955395765e-5,-5.453450884163303e-9,7.924237202788972e-4,3.488486649734166e-5,-5.5288267094573905e-9,7.928824548961669e-4,3.515389152880303e-5,-5.627269436403621e-9,7.932136820118008e-4,3.540839736028799e-5,-5.722097489506235e-9,7.934449059141124e-4,3.5597063748403574e-5,-5.792673659357338e-9,7.936168882573704e-4,3.569210775996662e-5,-5.827295173952732e-9,7.937723217445624e-4,3.568791359332356e-5,-5.822884193637893e-9,7.93948800831336e-4,3.559595323883983e-5,-5.783216738249511e-9,7.941754088277288e-4,3.543933477989003e-5,-5.716920600537979e-9,7.944713320113322e-4,3.524834071649752e-5,-5.635744464363097e-9,7.948452117223364e-4,3.505690102972568e-5,-5.5531067119024055e-9,7.952946621025866e-4,3.489936168856889e-5,-5.482741290558481e-9,7.958060134527227e-4,3.4806877971801684e-5,-5.437234302862502e-9,7.963548356244236e-4,3.4803064153757236e-5,-5.4263155715433935e-9,7.969080873912969e-4,3.4899187129560714e-5,-5.454979598662578e-9,7.974285582348853e-4,3.50899868901018e-5,-5.521799771482021e-9,7.978815595783528e-4,3.53517139310461e-5,-5.618028402827992e-9,7.982428279621153e-4,3.5643920541599894e-5,-5.728107579266846e-9,7.985056927078104e-4,3.591576113045357e-5,-5.8319638327390805e-9,7.986852279968585e-4,3.6116131940588234e-5,-5.908914090462572e-9,7.988176580367524e-4,3.620557989303193e-5,-5.942429308719043e-9,7.989544079791842e-4,3.616720864975489e-5,-5.924668401918435e-9,7.991513656849079e-4,3.601375362426653e-5,-5.859607617947738e-9,7.994550428476274e-4,3.5788266373648105e-5,-5.763648882378041e-9,7.99888593020665e-4,3.5556588356057684e-5,-5.662870662485801e-9,8.004419741134302e-4,3.539153188530321e-5,-5.586797190304597e-9,8.010710698253013e-4,3.5351857597047766e-5,-5.559879219657929e-9,8.017086298947224e-4,3.546304659868737e-5,-5.5935163200738305e-9,8.022846671415112e-4,3.5708577068191366e-5,-5.6822096378184195e-9,8.027481145977655e-4,3.603666410112383e-5,-5.805964874906324e-9,8.03080122412991e-4,3.637928126071499e-5,-5.9377647708489825e-9,8.032943410005627e-4,3.66738652272459e-5,-6.0522761139605395e-9,8.034269249007324e-4,3.687843167960255e-5,-6.132033879229968e-9,8.035230519879982e-4,3.697653334579644e-5,-6.1696217748146e-9,8.036257380118303e-4,3.6974206946549126e-5,-6.166656508896828e-9,8.037692352128727e-4,3.689330257374978e-5,-6.131278442552063e-9,8.039764427338145e-4,3.6764723596644845e-5,-6.075520263494496e-9,8.042586457584074e-4,3.662315128777011e-5,-6.013183162784273e-9,8.046160819092535e-4,3.6503272989771094e-5,-5.9582713714511854e-9,8.050385231957502e-4,3.643678976682334e-5,-5.9237473528870625e-9,8.055057955743184e-4,3.644934285412461e-5,-5.920288595123292e-9,8.05988792090945e-4,3.655676717208342e-5,-5.95478706400642e-9,8.064519656770659e-4,3.676075426661275e-5,-6.028574833606665e-9,8.068582848986766e-4,3.7045013088594046e-5,-6.1357749440002495e-9,8.071769237677392e-4,3.737399900933667e-5,-6.26261951082692e-9,8.073924491758243e-4,3.769659412573422e-5,-6.388754892200863e-9,8.075124666197616e-4,3.7955997865778476e-5,-6.491115253060035e-9,8.075698393218493e-4,3.8104352666225344e-5,-6.549812033282912e-9,8.07616918266904e-4,3.811755258854625e-5,-6.5542030392740885e-9,8.077125028108634e-4,3.8004458985452114e-5,-6.506795533466793e-9,8.079056000982033e-4,3.780654452780539e-5,-6.4233624926436094e-9,8.082214227720043e-4,3.758774308343327e-5,-6.3291414262697445e-9,8.086539871520523e-4,3.741775103981728e-5,-6.252328710187585e-9,8.091672759069606e-4,3.7353752588214316e-5,-6.216752306565877e-9,8.097045052884347e-4,3.742558962134468e-5,-6.235686559437506e-9,8.10203012993122e-4,3.7628423384850995e-5,-6.308502277607127e-9,8.106106251449948e-4,3.792510731679957e-5,-6.421212634856097e-9,8.108985322821864e-4,3.8257644162653106e-5,-6.550833196339432e-9,8.11066628774171e-4,3.856383400569566e-5,-6.6720638631456955e-9,8.111401568994287e-4,3.8793232686939005e-5,-6.763879623403471e-9,8.111600098107639e-4,3.89173073971411e-5,-6.813868422693099e-9,8.111711107269196e-4,3.893182181341246e-5,-6.8194280235812216e-9,8.112128636990658e-4,3.8852913529948424e-5,-6.786357912765378e-9,8.1131356935384e-4,3.8710088334482416e-5,-6.726121364291298e-9,8.114885730374386e-4,3.853908980505929e-5,-6.652976845483148e-9,8.117408037071133e-4,3.837625006855202e-5,-6.5816575047402725e-9,8.120622864326276e-4,3.825456404102906e-5,-6.5257403552766695e-9,8.124357145823514e-4,3.82008938099246e-5,-6.496493824519633e-9,8.128358550233297e-4,3.823344877076438e-5,-6.50185004606853e-9,8.132312194083829e-4,3.8358874558908814e-5,-6.54518991660995e-9,8.135869354214777e-4,3.856887726212377e-5,-6.623869747140799e-9,8.138698868858205e-4,3.8837323813125146e-5,-6.727869263055802e-9,8.140566018155787e-4,3.91199837876055e-5,-6.83950023112515e-9,8.141427039935174e-4,3.935979230186433e-5,-6.9354371500791985e-9,8.14150262656473e-4,3.949946847388898e-5,-6.9918722744796985e-9,8.141277285832854e-4,3.949960053306327e-5,-6.991994835378283e-9,8.141388942367572e-4,3.935526219250151e-5,-6.93289197521611e-9,8.142430879224422e-4,3.910207785679162e-5,-6.8281493368907015e-9,8.144749296276758e-4,3.880686864520632e-5,-6.704223833237992e-9,8.1483306083408e-4,3.854646680042599e-5,-6.592073096421126e-9,8.152821053230805e-4,3.838435896231063e-5,-6.5178631025860026e-9,8.157651947313659e-4,3.835428291873892e-5,-6.49629781434836e-9,8.162207450781731e-4,3.845478693315215e-5,-6.528135674230928e-9,8.16597684699937e-4,3.865376270796675e-5,-6.60159629155916e-9,8.168657158061926e-4,3.889947743847334e-5,-6.69644446442954e-9,8.170194049574676e-4,3.913422953807289e-5,-6.7893400986806185e-9,8.17076394641524e-4,3.930728020730456e-5,-6.85914255437804e-9,8.170710316645813e-4,3.938449175604022e-5,-6.891061862959034e-9,8.170454569870298e-4,3.935306732398158e-5,-6.878882809994513e-9,8.170405722878981e-4,3.9221105681444305e-5,-6.825033584806315e-9,8.1708896023377e-4,3.901310215359767e-5,-6.7388979016364186e-9,8.172108407223391e-4,3.87633764776707e-5,-6.634171213681119e-9,8.174130175522054e-4,3.850938229687362e-5,-6.526094414707984e-9,8.176899834395489e-4,3.8286205079792516e-5,-6.4291520891420515e-9,8.180260959470649e-4,3.812267075009407e-5,-6.3554492104173685e-9,8.183979894619872e-4,3.803873780290355e-5,-6.313637763487015e-9,8.187769116206049e-4,3.804351923521837e-5,-6.308093725118056e-9,8.191312129866966e-4,3.813337134793312e-5,-6.338063937256885e-9,8.194296942684052e-4,3.8289922698924704e-5,-6.396704673018225e-9,8.196467238419641e-4,3.847879781237149e-5,-6.470354270719354e-9,8.197695294206804e-4,3.8650968100779566e-5,-6.538921130269099e-9,8.19806513649201e-4,3.874943540462814e-5,-6.5785960033068025e-9,8.197929489727498e-4,3.8723134804595094e-5,-6.5676898771434025e-9,8.197883002079536e-4,3.854613941350416e-5,-6.4947236728071645e-9,8.198609759695765e-4,3.823403064971981e-5,-6.365297279203114e-9,8.200636944477346e-4,3.784594464219167e-5,-6.203000857389413e-9,0.000820411436661712,3.746667085519243e-5,-6.042172936215794e-9,8.208749674671344e-4,3.7176223092774686e-5,-5.915617415305801e-9,8.213932248000017e-4,3.7022992160726405e-5,-5.843759010230899e-9,8.218961027605576e-4,3.701275044446644e-5,-5.830076453078521e-9,8.223254904904929e-4,3.711435819021485e-5,-5.863118056849916e-9,8.226473843906112e-4,3.727482958449793e-5,-5.922239824745653e-9,8.228545590175748e-4,3.7435687186837764e-5,-5.983966399587255e-9,8.229627474394682e-4,3.7545885310616436e-5,-6.027176921838554e-9,8.230036090129152e-4,3.756990148797665e-5,-6.036554527428151e-9,8.230167806825249e-4,3.749138311092206e-5,-6.004372061981051e-9,8.230423185742567e-4,3.731317666393389e-5,-5.930818699795622e-9,8.231143493501816e-4,3.705449505134662e-5,-5.823063768625377e-9,8.23256553209646e-4,3.674606808012696e-5,-5.693352353058202e-9,8.234798189428454e-4,3.642429612693932e-5,-5.556571384393087e-9,8.237820413355269e-4,3.6125418828181186e-5,-5.427765212931279e-9,8.241496751844597e-4,3.588054059534543e-5,-5.320016584338888e-9,8.245603883153199e-4,3.571199342395666e-5,-5.242923452023574e-9,8.249861688108776e-4,3.563099782478505e-5,-5.201638270344065e-9,8.253965549120751e-4,3.563626588694151e-5,-5.1962726434097535e-9,8.257620082869455e-4,3.571323197160154e-5,-5.221486300041849e-9,8.260577695440884e-4,3.583385451251235e-5,-5.266230045559657e-9,8.262687299902825e-4,3.595753207818218e-5,-5.313924512584801e-9,8.263954241197148e-4,3.6034603798458864e-5,-5.343784865943491e-9,8.264598903887887e-4,3.601442540484084e-5,-5.334201311502159e-9,8.265081515702821e-4,3.585914554288692e-5,-5.268642284511385e-9,8.26604385596247e-4,3.556101693181241e-5,-5.143074426032549e-9,8.268132192939278e-4,3.515537353926115e-5,-4.971501142912185e-9,8.271738744510702e-4,3.471782861774951e-5,-4.7848532086355065e-9,8.276795586094963e-4,3.4340322196190036e-5,-4.621118053741745e-9,8.282766891716653e-4,3.4095760039524445e-5,-4.5108069909192165e-9,8.288861464980373e-4,3.401140563924369e-5,-4.465996728964361e-9,8.29433355059079e-4,3.406500941237964e-5,-4.4785874372255114e-9,8.298704729894737e-4,3.420103631857123e-5,-4.526688711410476e-9,8.301833096396713e-4,3.4353709967328716e-5,-4.583790454622501e-9,8.303862100769367e-4,3.446546478614344e-5,-4.626173157513306e-9,8.305118250621173e-4,3.449687603771798e-5,-4.6370194576684565e-9,8.306008664699762e-4,3.442941009341466e-5,-4.607762309491803e-9,8.306940322478887e-4,3.426386875947961e-5,-4.537752547464339e-9,8.308263261536525e-4,3.401682527001027e-5,-4.4330652748613145e-9,8.310232819304966e-4,3.371620106257414e-5,-4.304822699303797e-9,8.312987280593526e-4,3.339641097448233e-5,-4.167187973746248e-9,8.31653979219806e-4,3.309335744578138e-5,-4.0351952674026125e-9,8.32078417238307e-4,3.283958122742209e-5,-3.9226242940869606e-9,8.325514069439921e-4,3.26599656110982e-5,-3.8401496329485945e-9,8.330453353948687e-4,3.256846904668967e-5,-3.793977723288974e-9,8.335293651888821e-4,3.2566169333962955e-5,-3.785049055168084e-9,8.33973516225973e-4,3.264061001145597e-5,-3.808740687729704e-9,8.343528580041156e-4,3.2766396288388346e-5,-3.855005633134729e-9,8.346517248312861e-4,3.290709657118518e-5,-3.9089874063833434e-9,8.348679389439184e-4,3.301872928211123e-5,-3.95230090306051e-9,8.350167359300278e-4,3.305558632640454e-5,-3.965393684369818e-9,8.351331058149185e-4,3.297932755397413e-5,-3.9314416005053e-9,8.352699660831031e-4,3.277126367429032e-5,-3.8417220291605366e-9,8.354889117471341e-4,3.244507340953231e-5,-3.7012047953805833e-9,8.358419691208809e-4,3.205326833172769e-5,-3.531440109697599e-9,8.36348763283404e-4,3.167867290599403e-5,-3.3670502139274996e-9,8.369813197061595e-4,3.140782451156133e-5,-3.244586908337016e-9,8.376693061030729e-4,3.129669563122999e-5,-3.1881493598681102e-9,8.383263658012633e-4,3.134863920078477e-5,-3.200051972071662e-9,8.388826052155265e-4,3.151766556410064e-5,-3.2619908468242225e-9,8.393050072888866e-4,3.173205489277276e-5,-3.344664087646371e-9,8.395988757541516e-4,3.192172100776251e-5,-3.419003963066664e-9,8.397963286098811e-4,3.203621272799185e-5,-3.46362815353071e-9,8.399416326313247e-4,3.205061679819683e-5,-3.4674080518768483e-9,8.400794992423449e-4,3.1963263817541386e-5,-3.4287495907215916e-9,8.402479103687121e-4,3.179002909330446e-5,-3.3534888117140308e-9,8.404745687451004e-4,3.155830071326884e-5,-3.2525737289196144e-9,8.407754646399417e-4,3.130173895136262e-5,-3.1399368209433314e-9,8.41154541388092e-4,3.1055764720891035e-5,-3.0305415711644196e-9,8.416041280544131e-4,3.085345156272672e-5,-2.9385364426828023e-9,8.421061656017975e-4,3.072164283076384e-5,-2.8755213785209154e-9,8.426344113814458e-4,3.067736638925079e-5,-2.8490015368691745e-9,8.431577953645121e-4,3.072498523450466e-5,-2.8612024549307127e-9,8.436447971117692e-4,3.085470440573325e-5,-2.9084547718786858e-9,8.440683720702881e-4,3.1042869672780824e-5,-2.981273689818602e-9,8.444108321936859e-4,3.125426055813509e-5,-3.065198477158535e-9,8.446680629527056e-4,3.144642492558669e-5,-3.142451937358192e-9,8.448524507159502e-4,3.15759057443261e-5,-3.194437005461156e-9,8.449938340091091e-4,3.160610588444374e-5,-3.2050494314965393e-9,8.451374660071655e-4,3.151638576719877e-5,-3.1646699302547115e-9,8.453375715697237e-4,3.1311130994121866e-5,-3.0742611477808833e-9,8.456453986738488e-4,3.1025780835067146e-5,-2.94819557957702e-9,8.46092653379528e-4,3.0725045293271956e-5,-2.81368862948315e-9,8.466753220872281e-4,3.0488818598972834e-5,-2.704879810332908e-9,8.473471109643087e-4,3.038640446510119e-5,-2.6518278127619258e-9,8.480305696476147e-4,3.0449024854662588e-5,-2.668679548466348e-9,8.486441257401572e-4,3.065628903781551e-5,-2.7477040330430985e-9,8.491313375173792e-4,3.094576582096809e-5,-2.8631317709746885e-9,8.494766164139384e-4,3.123946697058364e-5,-2.9822273668107125e-9,8.497020423260754e-4,3.1471127846907625e-5,-3.0767866876898872e-9,8.498521170161459e-4,3.16017891014394e-5,-3.129775126187276e-9,8.499770409409726e-4,3.1621830699592834e-5,-3.1363362066964675e-9,8.501209480543094e-4,3.1544720456021056e-5,-3.1013685836141294e-9,8.503161532077362e-4,3.1398399640952655e-5,-3.036097487468567e-9,8.505816546173871e-4,3.1217759899263695e-5,-2.9550165687006546e-9,8.509236995527479e-4,3.103916188717301e-5,-2.8735662703891047e-9,8.513369862483362e-4,3.0896507607776705e-5,-2.8063743424389867e-9,8.518060495699486e-4,3.081805794501351e-5,-2.7657886014572145e-9,8.523069735798167e-4,3.082345930368575e-5,-2.7605358876292335e-9,8.528098318936862e-4,3.0920864735206294e-5,-2.79447672381635e-9,8.532822991542584e-4,3.110457416848017e-5,-2.8656065993726486e-9,8.536945524033567e-4,3.1354085988535145e-5,-2.965633018689591e-9,8.540249574865114e-4,3.163548969538209e-5,-3.080489694586202e-9,8.542654720972812e-4,3.190574453586719e-5,-3.192028596537508e-9,8.544254041595665e-4,3.211974836915866e-5,-3.28090202256463e-9,8.545322236510779e-4,3.2239278828225266e-5,-3.3303148632010992e-9,8.546285733291039e-4,3.224218246448245e-5,-3.330007151957699e-9,8.547652672831671e-4,3.2129878781118014e-5,-3.279649312494011e-9,8.549907364400541e-4,3.193111420486313e-5,-3.1907193571916717e-9,8.553382926807156e-4,3.1699773222277685e-5,-3.0858345714949625e-9,8.558140144434115e-4,3.150496484434305e-5,-2.9946769942906606e-9,8.563897321781071e-4,3.1413455736156216e-5,-2.9464704670555277e-9,8.570061787799461e-4,3.1468304822318046e-5,-2.960646903904852e-9,8.575886586831152e-4,3.167199701229673e-5,-3.039317862345337e-9,8.580709942206223e-4,3.198346246211776e-5,-3.1656988018487623e-9,8.584171135061124e-4,3.233248147476386e-5,-3.310099393214403e-9,8.586297960336273e-4,3.264478971416768e-5,-3.440645754903185e-9,8.587438963877701e-4,3.286515489171303e-5,-3.5332321749884526e-9,8.58810255130539e-4,3.2968897888927814e-5,-3.5765784450704622e-9,8.588794391843271e-4,3.2960802961293873e-5,-3.5719305847910328e-9,8.589911009932855e-4,3.2866533850223576e-5,-3.529577019202463e-9,8.591697919005255e-4,3.272249454060714e-5,-3.4646650245504987e-9,8.594251730433313e-4,3.256765883619841e-5,-3.393767811079765e-9,8.597541389353542e-4,3.2438210292960187e-5,-3.3325521813766835e-9,8.601432315592983e-4,3.236427582707883e-5,-3.2942803106507433e-9,8.605707893509768e-4,3.236765846754327e-5,-3.2887387933129255e-9,8.610090272757816e-4,3.245976837958149e-5,-3.3212886990489386e-9,8.614266330715411e-4,3.2639496241471747e-5,-3.3919234343927197e-9,8.617925265638105e-4,3.289145361493536e-5,-3.4944824234170423e-9,8.620810773671341e-4,3.318566240946574e-5,-3.616455097562243e-9,8.62278291344594e-4,3.3480062508905175e-5,-3.7399625948591e-9,8.623874686730959e-4,3.372681857367478e-5,-3.844371487446432e-9,8.624320722870976e-4,3.38822001208865e-5,-3.910489310686052e-9,8.624536695365803e-4,3.391801974913249e-5,-3.925509323340507e-9,8.625041693741896e-4,3.3831145103447495e-5,-3.887217720697746e-9,8.626336863724894e-4,3.364749744285424e-5,-3.805912914971897e-9,8.628771728569449e-4,3.34184061309152e-5,-3.703085242205503e-9,8.632436901356097e-4,3.3209472451514874e-5,-3.606852247536402e-9,8.637117164869609e-4,3.30843353744748e-5,-3.5450791305814132e-9,8.64232526978409e-4,3.30874054017447e-5,-3.537852982664476e-9,8.647417259564168e-4,3.32305264787094e-5,-3.591449619924816e-9,8.651764977358669e-4,3.348834402295054e-5,-3.695963620118213e-9,8.654934113410493e-4,3.380514974584113e-5,-3.827962144226022e-9,8.65680227216288e-4,3.411174050293928e-5,-3.957644664897803e-9,8.657570330287688e-4,3.4346041766830635e-5,-4.057808965225653e-9,8.657669387277931e-4,3.446932313815453e-5,-4.11101586076775e-9,8.657613435022625e-4,3.4472588411529344e-5,-4.112539581686109e-9,8.657862135868558e-4,3.4373094380466114e-5,-4.069050533975013e-9,8.658735763707832e-4,3.4205060581144676e-5,-3.99475967321788e-9,8.660388852455758e-4,3.400943296480929e-5,-3.907091687927469e-9,8.66282466493992e-4,3.3825844969993364e-5,-3.823219696797409e-9,8.665927137849105e-4,3.3687619719216236e-5,-3.7578388388344435e-9,8.669494024009601e-4,3.361913423273398e-5,-3.7219299984715987e-9,8.673264891657124e-4,3.363439881774626e-5,-3.7220625465320145e-9,8.676945418145927e-4,3.373592694579208e-5,-3.7598487309122184e-9,8.680234235964354e-4,3.391351714465576e-5,-3.831368929963179e-9,8.682859972296471e-4,3.4143297256214016e-5,-3.926691202132316e-9,8.684632880644983e-4,3.4388163647136244e-5,-4.029972466578756e-9,8.685506814790997e-4,3.460127638371885e-5,-4.120889818604067e-9,8.685633840062911e-4,3.4734023180121915e-5,-4.178058611548191e-9,8.685380720783138e-4,3.4748252417980764e-5,-4.184372534042753e-9,8.685276349437916e-4,3.462966914812959e-5,-4.132901756292709e-9,8.685883291320915e-4,3.439669502663824e-5,-4.030854924441111e-9,8.687628382465881e-4,3.409933619952682e-5,-3.8992420211352555e-9,8.690658895057307e-4,3.3806647123293056e-5,-3.767634596223998e-9,8.694785799556857e-4,3.358696397155016e-5,-3.66578227162126e-9,8.69953568550893e-4,3.348840676249508e-5,-3.6152232829612797e-9,8.704286241585501e-4,3.352635120659295e-5,-3.623705146793659e-9,8.708434233092473e-4,3.36810197345908e-5,-3.6838087593563796e-9,8.711544860856722e-4,3.390464015558857e-5,-3.775680273187482e-9,8.713445725476498e-4,3.4135193673201416e-5,-3.872743220397276e-9,8.714246913321904e-4,3.4312587501143965e-5,-3.948669842514471e-9,8.714288385999942e-4,3.4392832306213484e-5,-3.983673438771948e-9,8.714035709437477e-4,3.4356588349835174e-5,-3.968454991877816e-9,8.713959401397892e-4,3.4210390500048455e-5,-3.904979500162979e-9,8.714434314935408e-4,3.398142071965159e-5,-3.80439632081465e-9,8.715682144280527e-4,3.370866502664886e-5,-3.6833035835006632e-9,8.717760142029626e-4,3.343373250814609e-5,-3.5597712152619653e-9,8.720583485322628e-4,3.3193644320049306e-5,-3.450143545804329e-9,8.723963305223968e-4,3.301640385510928e-5,-3.367013852901416e-9,8.727645877754009e-4,3.2918942751948914e-5,-3.318240190622122e-9,8.731346053164378e-4,3.290646426016532e-5,-3.3065975355143806e-9,8.734775263631105e-4,3.297227361968222e-5,-3.329661479803068e-9,8.737669246598247e-4,3.3097659941762863e-5,-3.3797021541565744e-9,8.739822501713752e-4,3.325204966262417e-5,-3.443668277316694e-9,8.741134429392175e-4,3.339441456133996e-5,-3.5037068763647772e-9,8.741663973729802e-4,3.347758868121113e-5,-3.538992779628764e-9,8.741674829281171e-4,3.3457101736264556e-5,-3.529614543781381e-9,8.741636709228396e-4,3.33044797175946e-5,-3.4624919926690294e-9,8.742144615830622e-4,3.302135267114131e-5,-3.337668517116169e-9,8.743747932608298e-4,3.264687423555464e-5,-3.1716545924770886e-9,8.746743840366114e-4,3.2251051243278426e-5,-2.9946081022665746e-9,8.751039489192597e-4,3.1913364921373566e-5,-2.841130150424048e-9,8.75616678903275e-4,3.169573821909346e-5,-2.738595983860198e-9,8.761445007935473e-4,3.162302292091491e-5,-2.698649906049282e-9,8.766203447195945e-4,3.167892308982781e-5,-2.715236885002451e-9,8.769963987697803e-4,3.18159383463042e-5,-2.7686104110067445e-9,8.772531062745815e-4,3.197221978649029e-5,-2.8323654947714774e-9,8.773990475854998e-4,3.2088299096119665e-5,-2.880564943726866e-9,8.774645762292172e-4,3.211954673233677e-5,-2.893205151464858e-9,8.774924155916585e-4,3.204298846969703e-5,-2.8593905607603026e-9,8.775277330636137e-4,3.185874387139908e-5,-2.778242446816188e-9,8.776094585559394e-4,3.158700840416259e-5,-2.657838435817586e-9,8.777641128132043e-4,3.126183960920271e-5,-2.5126548703569532e-9,8.78002877757191e-4,3.092341017264447e-5,-2.360210638245288e-9,8.78321864386743e-4,3.061051760107952e-5,-2.217716237311034e-9,8.787048132667152e-4,3.0354696413936292e-5,-2.0993733631963004e-9,8.791271129207127e-4,3.0176554948077197e-5,-2.0146576508170057e-9,8.795600526842855e-4,3.0084265265720063e-5,-1.9675904842138486e-9,8.799746005764623e-4,3.0073592700195904e-5,-1.9567272155798592e-9,8.803445685727407e-4,3.0128701933306585e-5,-1.9754931411414064e-9,8.806494724082241e-4,3.0223295863434567e-5,-2.012635250546257e-9,8.808775707256542e-4,3.0322170015652122e-5,-2.052817626545346e-9,8.810294629751855e-4,3.0383874541022066e-5,-2.077700737209661e-9,8.811219817814094e-4,3.0365784932921254e-5,-2.068140259899549e-9,8.811907881742122e-4,3.0232911390513986e-5,-2.0081342888122047e-9,8.812885190182023e-4,2.997035224275941e-5,-1.8904615726488688e-9,8.814748050867232e-4,2.9595882363843328e-5,-1.7223897108962145e-9,8.817972325406356e-4,2.9164896341324755e-5,-1.5279575596742727e-9,8.822694105023639e-4,2.8759323793384683e-5,-1.343146342028477e-9,8.828590048460752e-4,2.846005103322195e-5,-1.203784176843767e-9,8.834961316970444e-4,2.8315408404152892e-5,-1.1317019817736651e-9,8.840994293836644e-4,2.83238474756633e-5,-1.1270381711241277e-9,8.846048503517724e-4,2.8439563876848128e-5,-1.1705107836514342e-9,8.849825261434277e-4,2.859423427913567e-5,-1.2327153363012424e-9,8.852377405673897e-4,2.872082247503333e-5,-1.2843809606697235e-9,8.854014350719654e-4,2.876976020388615e-5,-1.303411303612948e-9,8.855175691600622e-4,2.8715569658327886e-5,-1.277894686911527e-9,8.856319414654461e-4,2.8556383656666185e-5,-1.2061264571813115e-9,8.857841196699158e-4,2.8309570284204513e-5,-1.0949624616496077e-9,8.86002414496257e-4,2.800577749822175e-5,-9.574157297751806e-10,8.863013254260068e-4,2.7682541703841347e-5,-8.099261480403505e-10,8.866810883604368e-4,2.737801278175877e-5,-6.695408320630273e-10,8.871291034948231e-4,2.712535762590261e-5,-5.513048593649785e-10,8.876228817584209e-4,2.6948399119048687e-5,-4.661876242949888e-10,8.881339924077757e-4,2.6858865286951922e-5,-4.197713685400893e-10,8.886323956855838e-4,2.6855412138336997e-5,-4.1179225649502044e-10,8.890905424093482e-4,2.6924258581403914e-5,-4.3643441475982406e-10,8.89486876270744e-4,2.704096977561104e-5,-4.831197421077393e-10,8.898087302066524e-4,2.7172978043164845e-5,-5.375765842824722e-10,8.900547902185537e-4,2.7282747178927522e-5,-5.831513974124379e-10,8.902372653753913e-4,2.733186854749421e-5,-6.02542926548089e-10,8.903834851144673e-4,2.7286782595027556e-5,-5.803341451115104e-10,8.905356820182493e-4,2.712678713758405e-5,-5.066546828876249e-10,8.907466490935431e-4,2.6853822167289743e-5,-3.817222697006188e-10,8.910687379135351e-4,2.650095008026581e-5,-2.1981389275727818e-10,8.915358613141435e-4,2.613316302797963e-5,-4.974968918210426e-11,8.921441557986117e-4,2.583341569558239e-5,9.130127597938247e-11,8.928435576312597e-4,2.5673648601187617e-5,1.7077634639135572e-10,8.935508750856743e-4,2.5683679634147847e-5,1.7468326592194504e-10,8.941811428365587e-4,2.5837610180360195e-5,1.1381510218411522e-10,8.946793739990621e-4,2.6067113585673513e-5,1.8006901262402275e-11,8.950349091826171e-4,2.6291644820413183e-5,-7.717084794839584e-11,8.952750213494531e-4,2.6446389435700407e-5,-1.427663814093566e-10,8.954475970296075e-4,2.64960814946439e-5,-1.625988001066087e-10,8.956041887442954e-4,2.643519673510351e-5,-1.334689640026147e-10,8.957887712051753e-4,2.6280905283114967e-5,-6.224871917615731e-11,8.960323226691599e-4,2.6064317323041538e-5,3.777765165941726e-11,8.963513575114935e-4,2.5822815459411318e-5,1.5017549800954496e-10,8.96748509792149e-4,2.5594124919428984e-5,2.5799083696445723e-10,8.972140957359525e-4,2.5411712108030967e-5,3.459131555119787e-10,8.97728398380985e-4,2.5301088813513795e-5,4.0208667445015245e-10,8.982646818886401e-4,2.5276973108559064e-5,4.19511702332487e-10,8.987928885022273e-4,2.5341491278246515e-5,3.969097854818967e-10,8.992838386101128e-4,2.548373838032777e-5,3.389148700251626e-10,8.997135067687896e-4,2.5680959581705512e-5,2.5551799630259e-10,9.000668011166033e-4,2.590128913974731e-5,1.6084571383571664e-10,9.003404075887244e-4,2.610773225553987e-5,7.143433854803536e-11,9.005444531271067e-4,2.626306035931546e-5,4.124552392039377e-12,9.00702826310028e-4,2.6335350498633444e-5,-2.636373164642357e-11,9.008518990331428e-4,2.6304027478397698e-5,-1.0173572691243057e-11,9.010369750715351e-4,2.616622985452215e-5,5.4685092455799334e-11,9.013053376731691e-4,2.5942528849006335e-5,1.5954350428825642e-10,9.016950534266347e-4,2.5679451672258137e-5,2.8372503804596007e-10,9.022205066966907e-4,2.544470577148632e-5,3.9657633063202955e-10,9.028595081446744e-4,2.5311299328910574e-5,4.6464848630157026e-10,9.035509621163673e-4,2.5331826054565013e-5,4.634519661365919e-10,9.042106403831823e-4,2.5513725417149697e-5,3.8884970955208253e-10,9.047617243836385e-4,2.5811755065389144e-5,2.60664002639359e-10,9.051639505218222e-4,2.614554976562279e-5,1.1486292999309726e-10,9.054243849394402e-4,2.6432431256007105e-5,-1.1230224109221291e-11,9.055864786501333e-4,2.6615750824420068e-5,-9.174245642919217e-11,9.057083348203511e-4,2.6675961252054152e-5,-1.1728835587695205e-10,9.05843511575355e-4,2.6625694545636095e-5,-9.286576972832296e-11,9.06030514980889e-4,2.649764658641052e-5,-3.258481232105302e-11,9.06290090659766e-4,2.6332711316700743e-5,4.5492394804177083e-11,9.066269079166894e-4,2.617147979221003e-5,1.230902666428942e-10,9.07032727485054e-4,2.6049140781842117e-5,1.8405636274430814e-10,9.074895537591257e-4,2.5992565692749985e-5,2.1580884693763228e-10,9.079725233622418e-4,2.601842289978903e-5,2.1034058494702972e-10,9.08452843161885e-4,2.6131794189518346e-5,1.649501949413581e-10,9.089011187176733e-4,2.632531969086917e-5,8.266582317282753e-11,9.092912509323934e-4,2.657930002330282e-5,-2.7811191372744197e-11,9.096046947811349e-4,2.686337600497953e-5,-1.5287896453951608e-10,9.098343835696975e-4,2.7140160235303376e-5,-2.756580777618742e-10,9.099874027396871e-4,2.737067976970732e-5,-3.7839683569915226e-10,9.100856080701482e-4,2.7521019033657425e-5,-4.4541806075215186e-10,9.101636727790192e-4,2.756915427471307e-5,-4.662024595936307e-10,9.102644580498961e-4,2.751076592587584e-5,-4.3810314345020306E-10,9.104319511252228e-4,2.736291054800073e-5,-3.681879685719245e-10,9.107022221916946e-4,2.7164432891512126e-5,-2.736553609265788e-10,9.110933354507029e-4,2.6971680885033756e-5,-1.800824904443576e-10,9.11596330532063e-4,2.6848117080263942e-5,-1.167738231171905e-10,9.121710507471927e-4,2.6847793958635906e-5,-1.0913815308381964e-10,9.12751534970597e-4,2.6996070209376236e-5,-1.6964949395235283e-10,9.132634636288651e-4,2.72756008370633e-5,-2.9115810444199527e-10,9.136492992958313e-4,2.762733566158342e-5,-4.471383736182009e-10,9.138892892803114e-4,2.797002314543524e-5,-6.005507786510418e-10,9.140064810409892e-4,2.8229735821653137e-5,-7.173953360843062e-10,9.140537060586121e-4,2.8363778381520954e-5,-7.777099880424133e-10,9.14091744347561e-4,2.8368259804342512e-5,-7.790964097262822e-10,9.141707165736832e-4,2.8270290432506036e-5,-7.332676996715194e-10,9.143209375298112e-4,2.811333903517838e-5,-6.595294780294835e-10,9.145523676781168e-4,2.7943782175206335e-5,-5.787922436801097e-10,9.148586524660526e-4,2.780218073489562e-5,-5.09645207598181e-10,9.15222213264884e-4,2.771907523928594e-5,-4.663750532641056e-10,9.156186000215372e-4,2.771356286516508e-5,-4.581833019385022e-10,9.160198239972885e-4,2.7793018214471577e-5,-4.889247071998724e-10,9.163971548837643e-4,2.795307226790254e-5,-5.570122799444724e-10,9.167240149473723e-4,2.8177711329907586e-5,-6.554310086134877e-10,9.169794235753807e-4,2.8439962674449603e-5,-7.720472188029496e-10,9.171519825482253e-4,2.870402885777489e-5,-8.905750008556582e-10,9.172436935254598e-4,2.8929649817970348e-5,-9.925419838939779e-10,9.172722940063046e-4,2.9078832692983632e-5,-1.0603291660817625e-9,9.172706400546866e-4,2.912409780548574e-5,-1.080924584550345e-9,9.17282157849279e-4,2.9056323329246427e-5,-1.0495469582952546e-9,9.17352548715972e-4,2.8889652042343435e-5,-9.719977617501207e-10,9.175193386587934e-4,2.8661331040972106e-5,-8.647637143988589e-10,9.178017998224793e-4,2.842566755332037e-5,-7.524533284368034e-10,9.181939299909826e-4,2.824278153652306e-5,-6.627971222401617e-10,9.186627846165465e-4,2.8164133229208014e-5,-6.200278774014088e-10,9.19153691738718e-4,2.8217986087638425e-5,-6.380459293784765e-10,9.196025451004935e-4,2.8398984740483134E-05,-7.153326477966576e-10,9.199531003263491e-4,2.8666337663424036e-5,-8.338087002295918e-10,9.201741950295597e-4,2.8953522843619235e-5,-9.631226655409933e-10,9.202698561839225e-4,2.918802920852016e-5,-1.0697405631849333e-9,9.202770539297086e-4,2.9313951870328424e-5,-1.1274657767908662e-9,9.20251788073042e-4,2.9307694253609973e-5,-1.1248038587933661e-9,9.202503631241845e-4,2.918064509705824e-5,-1.0663142394564279e-9,9.203142811661418e-4,2.897003743896867e-5,-9.68530131895985e-10,9.204634699590332e-4,2.8724513202568727e-5,-8.534492296718607e-10,9.206973132387841e-4,2.849110787091789e-5,-7.426352211365498e-10,9.209999773637789e-4,2.8307067355278376e-5,-6.534492842105844e-10,9.213465790289916e-4,2.8196472237938423e-5,-5.974035621587512e-10,9.21708293335506e-4,2.8169942280115928e-5,-5.798940312517992e-10,9.220560080914304e-4,2.8225631349565033e-5,-6.005462214024394e-10,9.223629986190541e-4,2.8350410654034294e-5,-6.536955210792199e-10,9.226073866112044e-4,2.8520935298446312e-5,-7.28851240962084e-10,9.227750120124014e-4,2.8705005688838147e-5,-8.113094184352923e-10,9.228628541636617e-4,2.886416079327547e-5,-8.833278120249603e-10,9.228823589672353e-4,2.895853283479903e-5,-9.263428574000358e-10,9.228611534120579e-4,2.8954410829763517e-5,-9.244525203760215e-10,9.22841094274703e-4,2.8833597004887607e-5,-8.687589669821464e-10,9.228711087655056e-4,2.860178543460586e-5,-7.612984631604381e-10,9.229952903879357e-4,2.8291928119182712e-5,-6.167002132570091e-10,9.232395355675018e-4,2.7959342967609063e-5,-4.600776629160696e-10,9.236018170315074e-4,2.766851040299726e-5,-3.211006337196332e-10,9.240504121843283e-4,2.7475443382623978e-5,-2.2596816610665073e-10,9.24531262399518e-4,2.741170749626898e-5,-1.8999789985040983e-10,9.249820629694834e-4,2.747542499218661e-5,-2.1326498107148244e-10,9.25348579660942e-4,2.7631811895541113e-5,-2.805432543382063e-10,9.255984900902482e-4,2.7822723222327646e-5,-3.6544697746303546e-10,9.257290496695094e-4,2.798233184373522e-5,-4.3755816439126784e-10,9.25766534088789e-4,2.80545120609564e-5,-4.705154590635174e-10,9.257576987930197e-4,2.800685278340508e-5,-4.4865598588417815e-10,9.257561138535627e-4,2.7837106293070436e-5,-3.701910247767966e-10,9.258080615404461e-4,2.757056376533481e-5,-2.4616627976356377e-10,9.259425348434525e-4,2.7250326470559132e-5,-9.609656809923689e-11,9.261676807511085e-4,2.6924824434891593e-5,5.773311606893498e-11,9.264731188036599e-4,2.663697142690499e-5,1.9528968966108854e-10,9.268356351407438e-4,2.6417432659609167e-5,3.019901995562894e-10,9.272255509647921e-4,2.6282152592361178e-5,3.6997091936557287e-10,9.276120574189009e-4,2.6232846291373425e-5,3.9797540595297546e-10,9.279670116931762e-4,2.6258881085469936e-5,3.9055441141759986e-10,9.282675227858236e-4,2.633942937784366e-5,3.570959163618194e-10,9.284980234511821e-4,2.644547284239765e-5,3.109050504872678e-10,9.286524796636579e-4,2.654193492234242e-5,2.6822927772623276e-10,9.287369625751979e-4,2.6590780100069592e-5,2.468431766251289e-10,9.287720369209947e-4,2.6556135305642376e-5,2.636822102111064e-10,9.287934339306461e-4,2.6412028824363202e-5,3.312264037819188e-10,9.288486997992517e-4,2.6151880961107663e-5,4.530300718778846e-10,9.289878720362526e-4,2.5796515725207018e-5,6.199146734068698e-10,9.292487589067231e-4,2.5395465656098757e-5,8.092647167352129e-10,9.29641666352082e-4,2.5017209649756432e-5,9.894516360464816e-10,9.301413876496481e-4,2.472917795980915e-5,1.1290141747255939e-9,9.306922559167429e-4,2.4575229989538544e-5,1.2070780979559616e-9,9.312251819721861e-4,2.4561109000296633e-5,1.2202059312944135e-9,9.316789667520669e-4,2.465414560968802e-5,1.1827604254879246e-9,9.320169043861123e-4,2.479571175444768e-5,1.1213819953507269e-9,9.322336847376593e-4,2.4919677271373376e-5,1.0666004249723868e-9,9.323526991819391e-4,2.496981318218703e-5,1.044792681412822e-9,9.324168167771345e-4,2.4911728305382368e-5,1.072537792680831e-9,9.324763341556606e-4,2.473779692662344e-5,1.1541348440936524e-9,9.32577287240139e-4,2.446550131433796e-5,1.2821529509168165e-9,9.327524775390439e-4,2.4130741138395573e-5,1.440358563370683e-9,9.330166395630526e-4,2.3778318046824064e-5,1.608044416470438e-9,9.333661039477023e-4,2.345210977652227e-5,1.7646106799430005e-9,9.337821762564567e-4,2.3187164366326925e-5,1.8933448565731633e-9,9.342366534787011e-4,2.3004991867956138e-5,1.983756984261391e-9,9.346977645863617e-4,2.2912152275451638e-5,2.0323646948176415e-9,9.351352665974508e-4,2.2901360219547865e-5,2.0422501912195693e-9,9.355241516458479e-4,2.2953966611580642e-5,2.021915505548688e-9,9.358471024062418e-4,2.3042848220487e-5,1.983917263664366e-9,9.360962029673838e-4,2.313526295966051e-5,1.9435240421953627e-9,9.362744148421519e-4,2.319579877368126e-5,1.9173555450183216e-9,9.363970340869479e-4,2.3190008396632788e-5,1.921714213936969e-9,9.364926985739199e-4,2.3089580081948874e-5,1.970175219873316e-9,9.366025595028989e-4,2.287954350737153e-5,2.070174683549589e-9,9.367754583789063e-4,2.256662486320555e-5,2.219009962619075e-9,9.370572543760401e-4,2.2185503816041416e-5,2.40080151825208e-9,9.374749898088448e-4,2.179746684581724e-5,2.5870254829646286e-9,9.380215496738124e-4,2.1476617739059208e-5,2.7428988022427817e-9,9.386504920238448e-4,2.1285143976963856e-5,2.8389345262250392e-9,9.392879545260637e-4,2.124847926412409e-5,2.8626284858923288e-9,9.398581363504856e-4,2.1344635824425707e-5,2.8236063659948714e-9,9.403092110193681e-4,2.1513973951784947e-5,2.749245885993131e-9,9.406269138130842e-4,2.1682634723939766e-5,2.67386501863676e-9,9.408323763286779e-4,2.178648157968665e-5,2.6275885831474924e-9,9.409696504997068e-4,2.1786146578814432e-5,2.6292808737827737e-9,9.410906514838015e-4,2.1671298131321062e-5,2.6844268786052037e-9,9.41242649635597e-4,2.145702236312698e-5,2.786633456564728e-9,9.414601509848395e-4,2.1176178630965497e-5,2.9210047073092557e-9,9.417610200086401e-4,2.0870608445111807e-5,3.0681179766648086e-9,9.421460370053103e-4,2.0582809873944577e-5,3.207899651127782e-9,9.426010936837508e-4,2.0348968697412414e-5,3.3229824926066307e-9,9.431012540259686e-4,2.0193985304551373e-5,3.401195641488044e-9,9.436158120570794e-4,2.012884842892798e-5,3.436951038320817e-9,9.441134784478598e-4,2.015031500623975e-5,3.4314859276191417e-9,9.44566950904901e-4,2.0242534645964484e-5,3.3921135298370826e-9,9.449563631171996e-4,2.0379982085524475e-5,3.330805785534591e-9,9.45271517348029e-4,2.0530961708450033e-5,3.2625023737391606e-9,9.455131621575188e-4,2.0661233197895548e-5,3.203395247216593e-9,9.456936234191719e-4,2.0737740900431553e-5,3.1692023079153e-9,9.458369007988554e-4,2.073272466669384e-5,3.1732674706314038e-9,9.459779040524844e-4,2.0628653770206123e-5,3.224233945190357e-9,9.461597634391267e-4,2.0424167988906754e-5,3.3231751090821356e-9,9.46427574458297e-4,2.014003684687474e-5,3.4606600272122213e-9,9.468173676227388e-4,1.98221812789624e-5,3.615192303367057e-9,9.473413942934375e-4,1.9537012097558103e-5,3.755318583394564e-9,9.479753457182548e-4,1.9355058402098106e-5,3.847349600926752e-9,9.486571399076209e-4,1.9325058394134616e-5,3.867688552958027e-9,9.493040520760504e-4,1.9450539767815956e-5,3.814066075128484e-9,9.498430651538646e-4,1.9684623094334385e-5,3.7081770948540923e-9,9.502378728614017e-4,1.994861501821484e-5,3.5870008241428506e-9,9.504975307118342e-4,2.01632840220824e-5,3.4880374073031084e-9,9.506654032765242e-4,2.0274709481559317e-5,3.437068799563959e-9,9.507989420812344e-4,2.0264365859063468e-5,3.4433449550727618e-9,9.509516863480496e-4,2.0145143002205663e-5,3.5013586813003237e-9,9.511626032896819e-4,1.9950604861647016e-5,3.595755007819909e-9,9.514523625841899e-4,1.972359867900281e-5,3.7065483148110366e-9,9.518240846294337e-4,1.9507126203245064e-5,3.813351896094841e-9,9.522662841079077e-4,1.933798514493866e-5,3.898421280054506e-9,9.527567177104721e-4,1.9242649321887765e-5,3.94873970416592e-9,9.532666534200279e-4,1.9234898009828817e-5,3.9573083496472175e-9,9.537653046836214e-4,1.931500888982162e-5,3.923656171525834e-9,9.542241491314553e-4,1.9470419469034043e-5,3.853573929853045e-9,9.546208269205008e-4,1.967778168597357e-5,3.758113485784791e-9,9.549422337944906e-4,1.990624356532854e-5,3.6519733720235854e-9,9.551864658672643e-4,2.012153016907811e-5,3.5515235649189295e-9,9.553635348866212e-4,2.029033148993112e-5,3.4727284456947125e-9,9.554949463176509e-4,2.0384734278047446e-5,3.429079651875691e-9,9.55612166139684e-4,2.03866030610309e-5,3.4295402733541126e-9,9.557537872596488e-4,2.029183687422643e-5,3.4764900665650733e-9,9.559608378031081e-4,2.0114246891201803e-5,3.563775485379721e-9,9.562694312086343e-4,1.988802000189864e-5,3.6753836672060575e-9,9.567005353306505e-4,1.9666425812314765e-5,3.785918859393363e-9,9.572485741343938e-4,1.951354653734905e-5,3.864486310112931e-9,9.57873847869679e-4,1.9487015195238054e-5,3.8829949935352816e-9,9.58506375185627e-4,1.961495423927636e-5,3.827353654574862e-9,9.590658554599388e-4,1.9878214338844435e-5,3.706183686441474e-9,9.59491778185771e-4,2.021167822462048e-5,3.5503480856677113e-9,9.597671996149698e-4,2.0528378965229346e-5,3.4014299519401243e-9,9.599217284447296e-4,2.0753552855409916e-5,3.295380207449077e-9,9.600140258223889e-4,2.084893939258985e-5,3.2508500223577976e-9,9.601071466008167e-4,2.081721898662703e-5,3.2670417811981256e-9,9.602500853369318e-4,2.0691028420511654e-5,3.3288768573415605e-9,9.604701387776805e-4,2.051709319339869e-5,3.4144264007709955e-9,9.60773545484276e-4,2.034297332174702e-5,3.501100421052396e-9,9.611500679665309e-4,2.0208786324005668e-5,3.569552864573399e-9,9.615783591656324e-4,2.014318881895291e-5,3.6056735200335207e-9,9.620307130834803e-4,2.0161937110386437e-5,3.6014269400379457e-9,9.62477113531018e-4,2.0267731706648574e-5,3.5550823882264824e-9,9.628889049217328e-4,2.0450864920827385e-5,3.4710012484743916e-9,9.632422415170349e-4,2.069066577730867e-5,3.3589647822421636e-9,9.635212754316284e-4,2.0957906935666852e-5,3.2329849290971195e-9,9.637208099389389e-4,2.1218360815741975e-5,3.1095519476630494e-9,9.638478893925641e-4,2.143740445538196e-5,3.0054061149790872e-9,9.639218361763492e-4,2.158517204251695e-5,2.9350831633136274e-9,9.639725275225862e-4,2.164161332623286e-5,2.9085171189180765e-9,9.64036920303166e-4,2.1600821946777073e-5,2.928960887667208e-9,9.641539462469475e-4,2.1473982466179215e-5,2.991503500896854e-9,9.643579665181983e-4,2.129029021121154e-5,3.0824929931979146e-9,9.646710825382556e-4,2.1095019009386883e-5,3.180304929063653e-9,9.650951414487477e-4,2.0943493593642626e-5,3.2581268817857795e-9,9.656055505064805e-4,2.08898021785074e-5,3.2893920797482204e-9,9.661506527532753e-4,2.0970707862049013e-5,3.2556740154475738e-9,9.666609700686485e-4,2.1188936127107843e-5,3.154989219151684e-9,9.670695157136533e-4,2.1504456001118907e-5,3.0062342252277902e-9,9.673367523603838e-4,2.1842686062608042e-5,2.8453160317467475e-9,9.674669505838162e-4,2.2120216315934066e-5,2.7126670331229932e-9,9.675052672091475e-4,2.227588153984791e-5,2.6381300324599617e-9,9.67517310975436e-4,2.2290098639572074e-5,2.631571812351488e-9,9.675641549386202e-4,2.2184188610723864e-5,2.683192639935835e-9,9.676856175598294e-4,2.20050732406217e-5,2.770831293998539e-9,9.678958345343047e-4,2.1806797104405777e-5,2.8687326779884426e-9,9.681874796128061e-4,2.1636899335670483e-5,2.953998363007588e-9,9.685391645791842e-4,2.152957275673156e-5,3.00987037631748e-9,9.689223645110006e-4,2.150393434528262e-5,3.0266647100820593e-9,9.693065461435913e-4,2.1564905127593073e-5,3.0015027830697376e-9,9.696627464705727e-4,2.170489096403e-5,2.9376390040777005e-9,9.699663713453124e-4,2.190558400417185e-5,2.843664610904784e-9,9.701997585934131e-4,2.213998368625858e-5,2.732536103734538e-9,9.703546573483743e-4,2.2375052452482884e-5,2.6202568912921775e-9,9.704343769114892e-4,2.2575473791547756e-5,2.524023751178972e-9,9.70454924970594e-4,2.2708679506424222e-5,2.4597828841057676e-9,9.704442684490575e-4,2.2750680548228815e-5,2.4394191096140195e-9,9.70439123002729e-4,2.269163919856002e-5,2.4680675742140396e-9,9.704792630519241e-4,2.2539791907013454e-5,2.542185695856593e-9,9.706000419416595e-4,2.2322356320565065e-5,2.6490241837254375e-9,9.708244225247657e-4,2.208254490993235e-5,2.7679330778128663e-9,9.711561348596273e-4,2.1872563135784633e-5,2.8736116004682885e-9,9.715756674472968e-4,2.1743144202396543e-5,2.9411105609226534e-9,9.720408542324096e-4,2.1730926538918943e-5,2.952015717458691e-9,9.724936339510598e-4,2.1846219921065344e-5,2.9005828036571425e-9,9.728734724452532e-4,2.206526684943893e-5,2.797753482524233e-9,9.73135268736305e-4,2.2331915022099625e-5,2.670534930423955e-9,9.732656869873846e-4,2.2571721047228047e-5,2.5551777813643346e-9,9.732896097496811e-4,2.2715649390846857e-5,2.4855509251822116e-9,9.732616414073596e-4,2.272350320648063e-5,2.481624710067114e-9,9.732459633450723e-4,2.2595527734851322e-5,2.5437609524692543e-9,9.732948670608518e-4,2.2367393624596813e-5,2.6551037957679194e-9,9.73435775314028e-4,2.2093662920085047e-5,2.7895237218060307e-9,9.736697513088091e-4,2.18295826774539e-5,2.9203430820786453e-9,9.739779823635234e-4,2.1618463822268142e-5,3.0263986928152343e-9,9.743307630656896e-4,2.14864286442583e-5,3.094632000552376e-9,9.746951934172733e-4,2.1442559653592196e-5,3.120143478228777e-9,9.75040337470858e-4,2.1481561948537084e-5,3.105047155900916e-9,9.753402753088035e-4,2.1586872020260996e-5,3.0570669881734935e-9,9.755760407850127e-4,2.1733399542332765e-5,2.9882432258541283e-9,9.757372606998641e-4,2.1890007987213578e-5,2.913710103700545e-9,9.758238522467932e-4,2.2022308074060718e-5,2.8502981225779335e-9,9.758475695193567e-4,2.2096463822383953e-5,2.814649675643213e-9,9.75832592759985e-4,2.208441265972937e-5,2.8206647589847394e-9,9.758139779570534e-4,2.1970120824932505e-5,2.8764536267483205e-9,9.758329513980938e-4,2.1755459239150598e-5,2.9814657729990575e-9,9.759289405456378e-4,2.146343405290607e-5,3.1248755506446147e-9,9.761297562449015e-4,2.1136469459250627e-5,3.2863308207215907e-9,9.764427844228285e-4,2.0828722875066234e-5,3.4395760619971846e-9,9.768504235625822e-4,2.05936578116549e-5,3.558401665094199e-9,9.773119310828517e-4,2.047011212383905e-5,3.623414500991834e-9,9.777718670258082e-4,2.0470907088346007e-5,3.627703453703138e-9,9.781733258317801e-4,2.057752945621449e-5,3.5796494003707138e-9,9.784727031122457e-4,2.0742968740602736e-5,3.501766797457081e-9,9.786520083386822e-4,2.090280873294008e-5,3.4254174178099575e-9,9.787247391817811e-4,2.099234249163606e-5,3.3824366972435045e-9,9.787325073239532e-4,2.0964978181006943e-5,3.3960258792809006e-9,9.787325574450096e-4,2.080554329966027e-5,3.474116418782361e-9,9.78780386798012e-4,2.053316629811452e-5,3.607853339306525e-9,9.78914283306498e-4,2.0192836373745813e-5,3.7756288344559166e-9,9.79147450149718e-4,1.9840040928541138e-5,3.9505044744465266e-9,9.794691393037586e-4,1.9525344833017023e-5,4.107694790089413e-9,9.798520178516646e-4,1.928413468832371e-5,4.229601723499455e-9,9.802613780058582e-4,1.9132999458968806e-5,4.30768523320254e-9,9.806628425931363e-4,1.9071152761889917e-5,4.341903576740723e-9,9.810273134182267e-4,1.9084239326578834e-5,4.338962357581536e-9,9.81333537072951e-4,1.9148443642578993e-5,4.310353550740631e-9,9.81569296115634e-4,1.9233976343823555e-5,4.2706388260183405e-9,9.817321483998952e-4,1.9307966381521585e-5,4.235993167701627e-9,9.81830219636952e-4,1.933733918927407e-5,4.222757802688705e-9,9.818829501630556e-4,1.9292467400002797e-5,4.245632427234919e-9,9.819209964844942e-4,1.9152168044642423e-5,4.315222825428222e-9,9.8198392831691e-4,1.890983975966044e-5,4.435029642934434e-9,9.821143377150008e-4,1.857919889488635e-5,4.59861659028588e-9,9.823480141006478e-4,1.819663416702158e-5,4.788408783691395e-9,9.827021678395676e-4,1.781681352429813e-5,4.977767747591471e-9,9.8316630954625e-4,1.750019208422675e-5,5.1370239028109335e-9,9.837010460599907e-4,1.729533464359589e-5,5.242087342349132e-9,9.842471758127079e-4,1.722284340206006e-5,5.282365711457081e-9,9.847423799112572e-4,1.7267922501442923e-5,5.2645551112541595e-9,9.851390392167326e-4,1.7384650541422545e-5,5.210737350473865e-9,9.85416712413494e-4,1.7509721680699187e-5,5.151788515618179e-9,9.855858656559924e-4,1.7580163367743918e-5,5.118732221992248e-9,9.856830005405348e-4,1.754937325800318e-5,5.134813103943706e-9,9.857596419803308e-4,1.7397498039928058e-5,5.210281577132254e-9,9.858686370143312e-4,1.7134242430752782e-5,5.340872784086539e-9,9.860514093620037e-4,1.6794137806137563e-5,5.509998145968244e-9,9.863293550422345e-4,1.6426136917274978e-5,5.693759305662125e-9,9.867012674118518e-4,1.6080882897378395e-5,5.867166202605813e-9,9.871466831850105e-4,1.5799461394281728e-5,6.009706321470195e-9,9.876331363464859e-4,1.560644168178504e-5,6.108876220456722e-9,9.881244546795737e-4,1.5508013115131364e-5,6.16123561320287e-9,9.885877203164924e-4,1.5494168132305846e-5,6.1714423956312695e-9,9.889977731607897e-4,1.554301218967708e-5,6.150173958810571e-9,9.89339357154404e-4,1.5625438489487203e-5,6.11180328305642e-9,9.896077069428486e-4,1.5709163928471263e-5,6.072354236231378e-9,9.898084641090051e-4,1.5761986455145772e-5,6.047846128949401e-9,9.89957481892549e-4,1.575472773264608e-5,6.052821432389052e-9,9.900805416390554e-4,1.5664564164811243e-5,6.098708901861965e-9,9.902123484409752e-4,1.5479331179479615e-5,6.191709401312268e-9,9.903935258545628e-4,1.5202748222706768e-5,6.33020714370356e-9,9.906641160678208e-4,1.4859172652645127e-5,6.502381741232603e-9,9.910530106883304e-4,1.4494749524882107e-5,6.685572808518867e-9,9.915653761885476e-4,1.4170939529055735e-5,6.8494023081549725e-9,9.92173804543939e-4,1.3948485846748767e-5,6.963646567409606e-9,9.92820439606734e-4,1.3865800846189006e-5,7.008937764536123e-9,9.934330686488335e-4,1.3922023616282452e-5,6.98524850756154e-9,9.939493480964887e-4,1.4075052891534514e-5,6.91302227434678e-9,9.943372374337234e-4,1.4256527274009431e-5,6.825888020437902e-9,9.946022722861765e-4,1.4395571285888233e-5,6.75895614654633e-9,9.947808856143072e-4,1.4439740434982362e-5,6.738430832136037e-9,9.949257957257986e-4,1.4366093115323758e-5,6.776065172871318e-9,9.950905167510095e-4,1.418186073054903e-5,6.868729017701459e-9,9.953173989064848e-4,1.391790875148587e-5,7.001518418367263e-9,9.95630713119781e-4,1.3618756991412558e-5,7.152573416875709e-9,9.960345799292754e-4,1.3332040182830323e-5,7.29822948174995e-9,9.965148922381106e-4,1.3099245727471433e-5,7.4176277467670906e-9,9.970441941477112e-4,1.294893783688122e-5,7.496180701557594e-9,9.975882397394037e-4,1.2893264734091967e-5,7.527452492986098e-9,9.98112746713271e-4,1.2927881166143136e-5,7.513323955728468e-9,9.985890416039868e-4,1.3034634044303174e-5,7.462717843178684e-9,9.98997826875862e-4,1.3185900947308538e-5,7.389423516943071e-9,9.993309205324102e-4,1.3349405125668461e-5,7.3096360810763596e-9,9.99591375901445e-4,1.3492586365441474e-5,7.2397137309556e-9,9.99792668555754e-4,1.3586170648049899e-5,7.19436794380859e-9,9.999574846180697e-4,1.3607159236305784e-5,7.185183536470915e-9,0.0010001162353076604,1.3541721843540724e-5,7.219205045654568e-9,0.0010003049165363592,1.3388426048463978e-5,7.297338394204071e-9,0.0010005613623854227,1.3161776667357265e-5,7.4125560623676355e-9,0.0010009186855654698,1.2894930291567578e-5,7.548472365832492e-9,0.001001395431805748,1.2638913929780974e-5,7.679645009834532e-9,0.0010019842716833783,1.2454704246940159e-5,7.775465670467849e-9,0.0010026447567112351,1.2396089240531763e-5,7.80872345265965e-9,0.0010033080233894881,1.2487217081785896e-5,7.766920829338294e-9,0.0010038972478855197,1.2706548445498057e-5,7.660458605367358e-9,0.0010043565504526115,1.2989946449421098e-5,7.521224770364038e-9,0.001004672231437384,1.3254551939388285e-5,7.390681026669133e-9,0.0010048741581043606,1.3430195374539308e-5,7.304097230213788e-9,0.001005019125368549,1.3480998017901777e-5,7.27969563649755e-9,0.001005168386359312,1.340941335065461e-5,7.316596454133312e-9,0.0010053704906546521,1.3246930061867809e-5,7.3994046186029145e-9,0.0010056532197300141,1.3040000118914438e-5,7.505138119129774e-9,0.0010060229091539998,1.2837303701281687e-5,7.609490773330097e-9,0.0010064679702872599,1.2680694358525935e-5,7.691325334965295e-9,0.00100696410900686,1.2599802055308625e-5,7.73543576837147e-9,0.0010074799303969257,1.2609453088105831e-5,7.733972018905462e-9,0.0010079824262810555,1.270927137545503e-5,7.68678360040066e-9,0.001008441983199197,1.2885166585695294e-5,7.600766502657164e-9,0.0010088364680810365,1.3112382500046945e-5,7.488348827427479e-9,0.0010091540147537904,1.3359627618872047e-5,7.365366043977686e-9,0.0010093942793346546,1.3593707411098743e-5,7.248659658443538e-9,0.0010095681767792678,1.3783993741249416e-5,7.15377885761242e-9,0.0010096964280629517,1.3906222158150544e-5,7.093063507146875e-9,0.0010098073351207102,1.3945501108580383e-5,7.074156161434548e-9,0.001009933998475673,1.3898670498425644e-5,7.098839141011301e-9,0.0010101108925560731,1.3776156395851466e-5,7.162087545997906e-9,0.0010103693537762879,1.3603229200616472e-5,7.2513716092129284e-9,0.001010731370310706,1.3419833637562037e-5,7.3466457393835305e-9,0.0010112016762827962,1.3277108498864683e-5,7.422018074019115e-9,0.0010117598625822178,1.3228209751310446e-5,7.450356500270065e-9,0.0010123568768607588,1.3312347000828476e-5,7.411421404428368e-9,0.0010129222480500654,1.3535582819181508e-5,7.301724939909382e-9,0.001013385331984101,1.3858804132080293e-5,7.140781390672817e-9,0.001013703707706818,1.4205000113155494e-5,6.967497490960027e-9,0.0010138822454817784,1.448749274687313e-5,6.825833236491937e-9,0.0010139696115598694,1.464433393257325e-5,6.747309515966404e-9,0.001014034960781267,1.4658559233696529e-5,6.740744459985028e-9,0.0010141406929217946,1.4555765436898252e-5,6.793498539548968e-9,0.0010143254890754552,1.4386576477060897e-5,6.880297884166936e-9,0.0010146008251386124,1.420706593101242e-5,6.973012537470857e-9,0.0010149561275081414,1.4065065181815716e-5,7.047465907773897e-9,0.00101536675460542,1.3993570240248546e-5,7.0867457546242325e-9,0.0010158013574818438,1.4009210516690739e-5,7.0820601273590445e-9,0.0010162275161801665,1.4113340727320419e-5,7.032323770553171e-9,0.0010166159146742558,1.429419134817385e-5,6.943198192930504e-9,0.0010169435907143895,1.4529570251940101e-5,6.825790427443894e-9,0.001017196458485237,1.4790107827825064e-5,6.695003258799705e-9,0.0010173710222833715,1.5043063994411697e-5,6.5675509780237646e-9,0.0010174750556951806,1.5256600380969255e-5,6.459732390817189e-9,0.001017526963278131,1.5404159828331004e-5,6.385177403566588e-9,0.0010175537373666459,1.5468376233596634e-5,6.352868110860509e-9,0.001017587717364337,1.544402654131814e-5,6.365661713647204e-9,0.0010176624605994554,1.5339717534360233e-5,6.419435210938414e-9,0.0010178080063839555,1.5178075945731396e-5,6.502944076621323e-9,0.0010180457452669584,1.4994254410299033e-5,6.598491835633543e-9,0.001018383064035031,1.4832381264038678e-5,6.6836353960864175e-9,0.0010188083316972948,1.47391332796154e-5,6.734397667122887e-9,0.0010192878609278002,1.475363974145172e-5,6.730438678602947e-9,0.0010197678046505864,1.4894272655654495e-5,6.661915015952189e-9,0.00102018443463024,1.5145950174105276e-5,6.5361350999692345e-9,0.0010204836747962334,1.5455522234757765e-5,6.380048705078234e-9,0.0010206437243931602,1.5743334912936524e-5,6.2343512371156256e-9,0.0010206877187796243,1.5931055263172206e-5,6.139179160224897e-9,0.0010206758978202743,1.5972669549953236e-5,6.118206896081988e-9,0.0010206802785743953,1.587040614601252e-5,6.170538509004209e-9,0.0010207572457502255,1.5667653115910527e-5,6.274358304487625e-9,0.0010209325449119094,1.5426977239675342e-5,6.398084889086976e-9,0.0010212017498908892,1.520786821074164e-5,6.511580983868921e-9,0.0010215398590799887,1.5053291656116975e-5,6.5929010127443566e-9,0.001021912431934167,1.498569502034724e-5,6.630329259183798e-9,0.0010222841435015692,1.5008880327172054e-5,6.621529648464819e-9,0.0010226239917599095,1.5112068113238198e-5,6.571614831742929e-9,0.0010229080944826484,1.527401144689631e-5,6.491159177179544e-9,0.0010231212780165244,1.5466570242856973e-5,6.394419794620523e-9,0.001023258140679252,1.565799311163615e-5,6.29764201481796e-9,0.001023323723746117,1.581631986787821e-5,6.217269214912676e-9,0.0010233335657502231,1.5913194832607108e-5,6.1679458224003706e-9,0.001023312652942418,1.592801691867029e-5,6.160375068918902e-9,0.0010232928007281963,1.5851837316847298e-5,6.199331981376249e-9,0.0010233083950897286,1.5690131829775294e-5,6.282255337576482e-9,0.0010233908943278179,1.5463603240336597e-5,6.398818557630599e-9,0.0010235628682748299,1.5206365333078503e-5,6.531796793225194e-9,0.001023832615986048,1.4961295414609502e-5,6.659351030318273e-9,0.0010241904386357422,1.4772889164037382e-5,6.75860252344733e-9,0.001024607567166903,1.4678269177210256e-5,6.810218842264442e-9,0.001025038835875019,1.4697338813962965e-5,6.803536849223181e-9,0.0010254302198467145,1.4824014543455562e-5,6.7412161836967475e-9,0.001025731571596928,1.5021882123837198e-5,6.641636326261475e-9,0.0010259126052034333,1.522848767407803e-5,6.536783150416774e-9,0.0010259765363499528,1.5370953906319304e-5,6.464197088487894e-9,0.0010259633245588596,1.5390062552732196e-5,6.454503675266422e-9,0.0010259374918061134,1.5262568774086813e-5,6.519889575291671e-9,0.0010259645518792863,1.5009405517106155e-5,6.649894303135918e-9,0.0010260881771412683,1.4685110812366908e-5,6.816835676346961e-9,0.0010263193576777233,1.4355638624471758e-5,6.98711790063453e-9,0.0010266398889383535,1.4077159844329356e-5,7.1319926882616635e-9,0.001027014226018415,1.388425288732607e-5,7.2335633845970444e-9,0.0010274020414492461,1.3788133610311604e-5,7.285745723386852e-9,0.0010277670997235588,1.378095198171993e-5,7.292187151879546e-9,0.0010280818168414282,1.384189253769118e-5,7.263261955630348e-9,0.0010283288268859772,1.3942614549109414e-5,7.213352520340318e-9,0.0010285011445110084,1.405139140764495e-5,7.158731665697266e-9,0.0010286019408435882,1.413632711989153e-5,7.115870597147311e-9,0.0010286442540053864,1.4168322568558104e-5,7.09986088584424e-9,0.0010286504037499457,1.4124365397943462e-5,7.12268504128625e-9,0.0010286504791455998,1.3991292700524017e-5,7.191271681234185e-9,0.0010286791648484964,1.3769478993510954e-5,7.3056080066068604e-9,0.0010287705469715204,1.3475266008978337e-5,7.457494460578409e-9,0.001028951327632887,1.3140689311306862e-5,7.630660550566689e-9,0.0010292338285229816,1.280935564220711e-5,7.802822009644976e-9,0.0010296108825569928,1.2528353458002378e-5,7.949760843038067e-9,0.0010300546940236487,1.233759347627838e-5,8.050755726164393e-9,0.0010305208273311641,1.2259178009605778e-5,8.094075186049836e-9,0.0010309570900584187,1.2289732755782155e-5,8.08103476461809e-9,0.0010313157392175553,1.239822992254162e-5,8.027273387668908e-9,0.0010315663465513536,1.2530919495367793e-5,7.960336714121893e-9,0.0010317058209335492,1.2623500762804774e-5,7.913435014428099e-9,0.001031761762409121,1.2618455216019864e-5,7.916445804350526e-9,0.0010317863213620134,1.2482715648861428e-5,7.986708154305847e-9,0.0010318409415092163,1.2218875567850196e-5,8.123174915224233e-9,0.0010319770490094284,1.1864341225077265e-5,8.306813126168584e-9,0.00103222073763433,1.1478137897328902e-5,8.507363432120657e-9,0.001032567744181653,1.1121486498340977e-5,8.693293502779717e-9,0.001032989301697024,1.084087419509298e-5,8.840491614529463e-9,0.0010334441429188832,1.065944919603051e-5,8.936740074754993e-9,0.0010338905402688494,1.0577173083741774e-5,8.981736505163395e-9,0.0010342945423151325,1.0576383955421915e-5,8.98433665789792e-9,0.00103463375858786,1.0628837350001691e-5,8.958991422832772e-9,0.0010348979793146607,1.0701777354861157e-5,8.922621233770985e-9,0.0010350882727302663,1.0762337371071754e-5,8.89230185881902e-9,0.0010352157191526022,1.0780632780980312e-5,8.883608858628518e-9,0.0010353002554859072,1.0732303407048932e-5,8.90925860516677e-9,0.0010353694431257166,1.0601227344865006e-5,8.977690201699487e-9,0.0010354564618759658,1.0382697470573208e-5,9.09143350297743e-9,0.0010355964502504992,1.008658752883728e-5,9.245490273873833e-9,0.00103582062126145,9.739174784541215e-6,9.426394426544935e-9,0.001036148531357024,9.381685552026843e-6,9.612933762557046e-9,0.001036580411402926,9.063860868442835e-6,9.779418101910907e-9,0.0010370928511063498,8.832500434599207e-6,9.901545674027221e-9,0.0010376410685493903,8.717740287966906e-6,9.963490318062588e-9,0.001038168776362179,8.722090107823838e-6,9.963639543713632e-9,0.001038623174432724,8.817117820241822e-6,9.916433090139891e-9,0.0010389699638132367,8.949806345046257e-6,9.849185263172341e-9,0.0010392031310252545,9.056681538401306e-6,9.794814136056429e-9,0.0010393464417650642,9.081041880969784e-6,9.7828832107339e-9,0.0010394465445357972,8.98803121924295e-6,9.831716602058708e-9,0.0010395599652596504,8.773379181090786e-6,9.943793307826468e-9,0.0010397377850124105,8.463527638538071e-6,1.010562028455275e-8,0.0010400124740567555,8.107264085356009e-6,1.0292016552047566e-8,0.0010403907983126954,7.761647465210934e-6,1.047336668482392e-8,0.0010408546068110553,7.476975351250501e-6,1.0623406725890964e-8,0.0010413683448417354,7.285608742141655e-6,1.0725068130866081e-8,0.0010418898199738098,7.197436696745734e-6,1.077292879202111e-8,0.0010423802623030689,7.201792582882333e-6,1.0772323696065717e-8,0.0010428110604212102,7.273401012350935e-6,1.0736320365516424e-8,0.0010431666141344895,7.3794054706384364e-6,1.0682066369385867e-8,0.0010434442537033133,7.485424438284342e-6,1.062758834085327e-8,0.001043652630466233,7.559908129853109e-6,1.0589456096467488e-8,0.0010438096899647942,7.577040457584126e-6,1.0581220954317427e-8,0.0010439407598399314,7.518874452397437e-6,1.0612288493742078e-8,0.0010440766580099585,7.3774053804267025e-6,1.0686856280073861e-8,0.0010442511917944904,7.1569232978676465e-6,1.0802719477653824e-8,0.0010444971593526165,6.876269078840813e-6,1.0950114569202205e-8,0.001044840195797599,6.569674575005575e-6,1.1111270660756568e-8,0.0010452907905748228,6.284047442282688e-6,1.1261780001466925e-8,0.0010458366657182785,6.070632446913745e-6,1.1374885918198315e-8,0.0010464397212440041,5.970991705073476e-6,1.1428761032437083e-8,0.0010470419129418023,6.0012650636924906e-6,1.1414752486565529e-8,0.0010475808873286244,6.142246342171787e-6,1.134266195270011e-8,0.0010480101442759484,6.342031857499272e-6,1.1239472124113928e-8,0.0010483145665516262,6.531775462877667e-6,1.1141164514740623e-8,0.0010485141839921832,6.647674109549178e-6,1.1081204358546142e-8,0.0010486555927916323,6.649554437643226e-6,1.1080769771562399e-8,0.0010487962274780228,6.52970014858732e-6,1.1144090607712959e-8,0.001048988161110087,6.311113549640392e-6,1.1259318747852037e-8,0.001049266135585487,6.038217412853158e-6,1.140334069973273e-8,0.0010496417708631659,5.764112342343603e-6,1.1548386965958874e-8,0.001050103884713581,5.538005408647266e-6,1.1668579695155248e-8,0.0010506236688532541,5.395419538643018e-6,1.1745084312143063e-8,0.001051162793625547,5.352737678222033e-6,1.176905039772956e-8,0.0010516822059403249,5.4065291012566944e-6,1.1742069546748452e-8,0.0010521495626468031,5.5369304279269275e-6,1.1674479004989727e-8,0.0010525439851890206,5.7134564555245825e-6,1.1582329111142928e-8,0.0010528578438257308,5.9014015084172195e-6,1.1483979856274418e-8,0.0010530961263485919,6.067417747217445e-6,1.139710095373138e-8,0.0010532743691075914,6.1835874192326255e-6,1.133647354846759e-8,0.0010534160834845703,6.230045791333779e-6,1.1312589735762775e-8,0.001053550198721015,6.1966823130205854e-6,1.1330774854534354e-8,0.0010537085154161126,6.0844906794547615e-6,1.1390513063025623e-8,0.0010539227224054864,5.906847205676181e-6,1.1484802633572627e-8,0.00105422025687308,5.690435278638442e-6,1.1599668036115498e-8,0.0010546184278993171,5.4746708261865515e-6,1.1714426246353476e-8,0.001055117156275193,5.307635025766357e-6,1.1803769941651274e-8,0.001055692545616445,5.236529243510756e-6,1.184274644058134e-8,0.001056295705931545,5.292689648675187e-6,1.1814655608677331e-8,0.0010568617072468647,5.4757403210461624e-6,1.1719477956429268e-8,0.0010573293783666506,5.74604326804144e-6,1.157796966652239e-8,0.0010576645165347547,6.033560344798371e-6,1.1427058221344922e-8,0.0010578737870635731,6.261973517443829e-6,1.1307094518131505e-8,0.0010580009637449824,6.3760497725166996e-6,1.1247346419441141e-8,0.001058108517330219,6.358165356812837e-6,1.1257242872632262e-8,0.0010582556001528874,6.228289144348805e-6,1.1326384333356857e-8]} \ No newline at end of file diff --git a/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_13.json b/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_13.json new file mode 100644 index 0000000..33f96e3 --- /dev/null +++ b/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_13.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1.0,"startIndex":13000,"numberOfSamples":1000,"samples":[0.0010584823083198346,6.031818825503171e-6,1.14309469118811e-8,0.0010588036033781425,5.823520864538709e-6,1.1542103150393909e-8,0.0010592110744742987,5.6537248748726675e-6,1.1633248752700286e-8,0.0010596790894540058,5.559275280564943e-6,1.1684765345343194e-8,0.0010601724727019367,5.559236240846307e-6,1.1686339583847125e-8,0.0010606540091394276,5.654379293057021e-6,1.163732802349451e-8,0.0010610908819856466,5.829497270171977e-6,1.1545624012790231e-8,0.0010614594503400023,6.057715047147503e-6,1.1425423187205381e-8,0.001061747989835144,6.305862037083749e-6,1.1294367431781857e-8,0.0010619573719630783,6.539955951254238e-6,1.1170587469196216e-8,0.0010620999645025674,6.73003410085884e-6,1.107008326599654e-8,0.0010621972572704668,6.85379996171742e-6,1.1004756707165859e-8,0.0010622768540195135,6.898913123430779e-6,1.098119849532928e-8,0.0010623693266318172,6.864185869807982e-6,1.1000078885400938e-8,0.0010625050436689565,6.760079817880366e-6,1.1055907410923635e-8,0.001062710756522555,6.608668374463369e-6,1.1137052470541557e-8,0.0010630055440594903,6.442842455479279e-6,1.122613014857253e-8,0.0010633958133875673,6.303928192637586e-6,1.1301216346173524e-8,0.0010638698300656857,6.236227673998108e-6,1.1338700200742188e-8,0.0010643938207032379,6.277096687541316e-6,1.1318549017049607e-8,0.0010649135018336272,6.443029009602109e-6,1.1231761017071778e-8,0.0010653652534506645,6.716334917457601e-6,1.1087554932954997e-8,0.0010656971998236583,7.041447402084115e-6,1.0915428186536279e-8,0.0010658919742331224,7.338860744797124e-6,1.0757744815379704e-8,0.0010659770288683225,7.534292063466726e-6,1.0654138240953239e-8,0.001066013886508743,7.587831708115414e-6,1.0625935223163422e-8,0.0010660723258305996,7.506181686783977e-6,1.0669662265910576e-8,0.0010662052115061964,7.3335686443663195e-6,1.0761922260944352e-8,0.0010664358470525873,7.130863915281745e-6,1.0870481691937031e-8,0.0010667588393153595,6.955633515934309e-6,1.0964801902708683e-8,0.0010671485918925085,6.8498410434954626e-6,1.1022511941646397e-8,0.0010675694409390784,6.835426550329633e-6,1.1031759374762615e-8,0.0010679841615469535,6.915158645441867e-6,1.0990824083116765e-8,0.0010683599657830244,7.076052103195604e-6,1.0906394119921115e-8,0.0010686723933572796,7.293685466136946e-6,1.0791343615514796e-8,0.00106890765095213,7.536822311352906e-6,1.0662299642942404e-8,0.0010690635977016276,7.77211139688823e-6,1.0537115853861746e-8,0.001069149428980129,7.968577301214409e-6,1.0432429890255657e-8,0.0010691841550370862,8.101601929648258e-6,1.036149374624633e-8,0.0010691940071483454,8.156061538266819e-6,1.0332478423133815e-8,0.001069209055658057,8.128266563717782e-6,1.03474435063982e-8,0.0010692594713290538,8.026593480405271e-6,1.0402013164716527e-8,0.0010693717459872535,7.870945267100574e-6,1.0485664177770738e-8,0.0010695649713014753,7.691125951702836e-6,1.05825672334285e-8,0.0010698471837835711,7.524020444771572e-6,1.0673046459330192e-8,0.0010702118794917663,7.409199319244088e-6,1.073588364535248e-8,0.0010706353190277158,7.382260325524803e-6,1.0751866255570777e-8,0.0010710762838212979,7.465490347225327e-6,1.0708824642405977e-8,0.0010714809682874885,7.65702106935285E-06,1.0607528738465052e-8,0.0010717954666795326,7.92266264450533e-6,1.0466162353522634e-8,0.0010719849482146093,8.197549025520211e-6,1.031948512559187e-8,0.0010720518335533688,8.403355641842077e-6,1.0209555077841326e-8,0.0010720405373210041,8.477632103826806e-6,1.0169920153450947e-8,0.001072021738228369,8.400092320472587e-6,1.021150931330851e-8,0.0010720635198379748,8.199374023477202e-6,1.0319075409549964e-8,0.0010722065788787624,7.937147885028722e-6,1.0459750886515433e-8,0.00107245583521534,7.681893768449438e-6,1.0597036740148054e-8,0.0010727875503866039,7.487659268153709e-6,1.0702071381753594e-8,0.0010731630002383215,7.384581405590331e-6,1.075864496894142e-8,0.0010735409195010803,7.379180450137632e-6,1.0763066178824929e-8,0.001073885642552888,7.459556157906894e-6,1.0721462765445143e-8,0.0010741711464074789,7.60167164073378e-6,1.064650717664984e-8,0.0010743824677307964,7.774854624539591e-6,1.05545292946971e-8,0.0010745158753886549,7.946253107214568e-6,1.0463140800736486e-8,0.0010745783975093434,8.084663970024577e-6,1.0389154063601514e-8,0.0010745867148931046,8.164015707520659e-6,1.0346669113505363e-8,0.0010745652935797434,8.166515928713906e-6,1.0345347414447921e-8,0.0010745436064007652,8.085247843115634e-6,1.0389003625916266e-8,0.001074552414002862,7.925732239563838e-6,1.04747713355022e-8,0.0010746194263179607,7.705947602888145e-6,1.0593098065321354e-8,0.0010747649179418883,7.45457851834404e-6,1.0728675241616273e-8,0.0010749978735612412,7.207509835919612e-6,1.0862287758949862e-8,0.0010753131883688583,7.0027414856204215e-6,1.0973502950806292e-8,0.0010756904320888402,6.874033979996817e-6,1.1044059873554255e-8,0.0010760947834755237,6.8436529769841505e-6,1.1061787085804026e-8,0.001076481049891446,6.914886396186059e-6,1.1024693263841812e-8,0.0010768018290682909,7.066051634150347e-6,1.0944283327208556e-8,0.0010770200321076698,7.249261634913781e-6,1.0846289489249666e-8,0.001077123420982185,7.39804993243476e-6,1.076656197635394e-8,0.0010771348797026668,7.44585714263904e-6,1.0741042838621376e-8,0.0010771101367558554,7.350779981649652e-6,1.0792371226593277e-8,0.0010771194563272597,7.114340819791003e-6,1.091978472227473e-8,0.0010772207158111727,6.781925749825741e-6,1.1098942285178267e-8,0.001077438751988009,6.423598569950669e-6,1.1292263291924475e-8,0.0010777614606054466,6.107174429654953e-6,1.1463350840217734e-8,0.001078150988925822,5.878278442603043e-6,1.1587643347827043e-8,0.0010785602961386523,5.753858224937523e-6,1.1655892460490189e-8,0.0010789465240847547,5.72623912615062e-6,1.167203738632892e-8,0.0010792781883616845,5.7715171050260465e-6,1.1648769383961856e-8,0.0010795372547668179,5.857715055435001e-6,1.1603202812664468e-8,0.001079718408317149,5.950842140755552e-6,1.1553633958985417e-8,0.0010798274054571314,6.018931123532262e-6,1.1517348515355086e-8,0.0010798793764046966,6.034916081994106e-6,1.150903056702829e-8,0.0010798970957694128,5.979082561969348e-6,1.1539400992860876e-8,0.0010799088782759599,5.841386795654391e-6,1.1613943229511664e-8,0.001079945671266815,5.6234999239785664e-6,1.1731800417280663e-8,0.0010800370563297977,5.339960624404898e-6,1.1885168170973472e-8,0.0010802063626677298,5.017558699714286e-6,1.2059638070394361e-8,0.001080465709873069,4.692281975823613e-6,1.2235836282107038e-8,0.0010808121845919524,4.403722523375394e-6,1.239241282362964e-8,0.0010812263927673289,4.1875776377249006e-6,1.2510056790341688e-8,0.0010816742755761358,4.067606126441703e-6,1.2575830541311822e-8,0.0010821124162932766,4.048764490048608e-6,1.2586910279254428e-8,0.001082496394029135,4.1132067224480435e-6,1.2552812557360103e-8,0.0010827911400719823,4.220728194789922e-6,1.2495218049522599e-8,0.0010829814407256138,4.315035608807498e-6,1.2444602628550136e-8,0.0010830795939978,4.336331558319785e-6,1.2433397469308228e-8,0.0010831263014689158,4.238515418925506e-6,1.2486625405764085e-8,0.0010831815716910997,4.005888907583e-6,1.2612831618416838e-8,0.0010833062871192334,3.6615290203470267e-6,1.2799568273597161e-8,0.0010835411795810717,3.261162454656364e-6,1.3016729071965934e-8,0.0010838933778462134,2.8737930394674124e-6,1.3227010267237029e-8,0.001084337034999438,2.5585169726812227e-6,1.3398407369065678e-8,0.0010848260137734957,2.3486087687672093e-6,1.351281176227918e-8,0.0010853104715353803,2.2479370425633493e-6,1.3567994079646327e-8,0.0010857496852788604,2.2371567972056594e-6,1.3574322546551323e-8,0.0010861181451779231,2.2837281191620208e-6,1.3549388239562281e-8,0.0010864060912470594,2.3509882779473265e-6,1.351309848109019e-8,0.001086617167375567,2.4043382300803017e-6,1.348429676688557e-8,0.0010867653789912383,2.414780175748046e-6,1.3478800918996513e-8,0.0010868723951977914,2.36090336349784e-6,1.3508287044674754e-8,0.0010869652859729975,2.230320299619587e-6,1.357949036950374e-8,0.0010870742527047388,2.0210940838380106e-6,1.3693435401754393e-8,0.0010872297036982135,1.7431263470573831e-6,1.3844706627164613e-8,0.0010874581583647045,1.4188304041524766e-6,1.4021110351396713e-8,0.0010877770309646244,1.0819285734700634e-6,1.420434005833336e-8,0.0010881892473587201,7.732394508393998e-7,1.4372250040797893e-8,0.0010886795450963712,5.330813350595426e-7,1.4502949312721697e-8,0.001089214649730255,3.9140243490344096e-7,1.458013766244398e-8,0.0010897487258969283,3.584072521389756e-7,1.459820749252219e-8,0.0010902335819651038,4.191729634013468e-7,1.4565214418600275e-8,0.0010906310187498445,5.348153076480196e-7,1.4502295396028616e-8,0.0010909236281021046,6.506177348026824e-7,1.443926695100913e-8,0.001091120685014961,7.092800663955221e-7,1.4407391615029013e-8,0.001091257136747916,6.658869235087142e-7,1.4431183604022623e-8,0.0010913854479859381,5.005821622148568e-7,1.4521478794650966e-8,0.0010915618860652314,2.251478759511052e-7,1.467185398741576e-8,0.0010918307189155313,-1.1924299742407577e-7,1.4859864732950039e-8,0.0010922113493534546,-4.734372432057817e-7,1.5053255310459487e-8,0.0010926932935980337,-7.775556028587294e-7,1.5219334684945516e-8,0.0010932410472572044,-9.877102401363634e-7,1.533407805988485e-8,0.0010938063797259453,-1.0859165470122615e-6,1.5387566050399254e-8,0.001094342455259391,-1.080589230442882e-6,1.5384321095468852e-8,0.00109481445675083,-9.995980021090122e-7,1.5339569592932147e-8,0.0010952043212414967,-8.803420527904827e-7,1.5273828324478645e-8,0.0010955103354372215,-7.608506842509845e-7,1.520800473466209e-8,0.0010957438947718288,-6.738297010954895e-7,1.516008890171015e-8,0.0010959255739260278,-6.435882030741187e-7,1.514342886133524e-8,0.0010960816844447629,-6.848008439732961e-7,1.516603611113632e-8,0.001096241543978873,-8.02004725041787e-7,1.5230321629549556e-8,0.0010964350536024304,-9.891361497491146e-7,1.5332873831182345e-8,0.0010966898752015986,-1.2290044827439803e-6,1.5464206803068726e-8,0.0010970275583669783,-1.4932930260580311e-6,1.5608784981685757e-8,0.0010974584822657629,-1.7443109645131954e-6,1.574598051452959e-8,0.0010979764965260918,-1.9399561880694465e-6,1.5852762521604583e-8,0.0010985554895813923,-2.0426623918831098e-6,1.590856103716042e-8,0.0010991510076969397,-2.031063016383569e-6,1.590164521848076e-8,0.0010997091337757634,-1.9102678540224635e-6,1.5834788151340182e-8,0.0011001814643931509,-1.7151290714917107e-6,1.5727115299126148e-8,0.0011005408546707206,-1.5028952094650604e-6,1.5610105905041306e-8,0.001100790948640354,-1.3368393448549428e-6,1.5518581808694086e-8,0.001100965184316589,-1.2672952194125447e-6,1.5480237846173764e-8,0.0011011161176956588,-1.3175209969869768e-6,1.5507843040213407e-8,0.0011012998469212088,-1.4787697248972343e-6,1.5596542078759433e-8,0.001101561065014156,-1.7146998910046917e-6,1.5726308035865734e-8,0.0011019226990827457,-1.9724071175410574e-6,1.586801490545639e-8,0.001102382007116548,-2.196363356079692e-6,1.5991084228148263e-8,0.0011029132667145561,-2.3416096021800094e-6,1.6070722292919825e-8,0.0011034757514399483,-2.38310916619068e-6,1.6093077245681256e-8,0.0011040244786115357,-2.31927776315323e-6,1.6057225467888683e-8,0.0011045205794044041,-2.1694385072843676e-6,1.597381802522786e-8,0.0011049385690624493,-1.966838354498544e-6,1.5861252045493124e-8,0.0011052692443645087,-1.750001842086337e-6,1.5740883086523665e-8,0.0011055186380034719,-1.5550353774155559e-6,1.5632734001830676e-8,0.0011057045369247066,-1.4103695910270938e-6,1.5552549745965977e-8,0.0011058522277989002,-1.3341378137981495e-6,1.551032955262108e-8,0.0011059906217503908,-1.3335025490994153e-6,1.5509962936515426e-8,0.001106149150194748,-1.404950501845874e-6,1.5549420079728942e-8,0.0011063551807779252,-1.5348143523852197e-6,1.5621073311654e-8,0.0011066313631327655,-1.6998081049754247e-6,1.5712016164878937e-8,0.0011069922927926747,-1.8679853774396568e-6,1.580459705808824e-8,0.0011074402507398938,-2.0011637405826746e-6,1.5877740607269027e-8,0.0011079607077455421,-2.060248709035317e-6,1.5909858156164228e-8,0.001108519738968454,-2.0144254988523965e-6,1.588390462537339e-8,0.0011090667951459137,-1.8531436940924132e-6,1.5794016241904865e-8,0.0011095457522609323,-1.5962893152773853E-06,1.5651187561937485e-8,0.0011099131036531966,-1.295286315591519e-6,1.548393416264128e-8,0.0011101558729649911,-1.0201697065466408e-6,1.5331133204623056e-8,0.0011102988958696094,-8.358929741676526e-7,1.5228836499800212e-8,0.001110396160826366,-7.792957175517323e-7,1.519745019538023e-8,0.00111051078357651,-8.4832733122868e-7,1.5235767590110828e-8,0.0011106942753399312,-1.0069042485667557e-6,1.5323711725274e-8,0.00111097368196469,-1.1999692577389667e-6,1.5430718007157876e-8,0.0011113487938456635,-1.370515245006706e-6,1.5525164027079777e-8,0.0011117968919402519,-1.472886234678616e-6,1.5581716379428368e-8,0.00111228126468647,-1.4803580618799743e-6,1.5585522069862342e-8,0.0011127605283525728,-1.38735025143936e-6,1.553345118973782e-8,0.0011131969606502966,-1.207467615593322e-6,1.5433042494833323e-8,0.0011135628384484684,-9.68609089136904e-7,1.5299812786382335e-8,0.0011138441430138264,-7.063766770539463e-7,1.515359787677788e-8,0.0011140413969519087,-4.5716749529745555e-7,1.5014692696968984e-8,0.0011141679771116317,-2.5224292949749117e-7,1.4900524553462284e-8,0.0011142467106409985,-1.1360505719006956e-7,1.4823340179212186e-8,0.0011143057375622243,-5.1947099677121166e-8,1.478906414284595e-8,0.0011143745275428235,-6.641623982905153e-8,1.479718055412551e-8,0.0011144805411490116,-1.4554045014367347e-7,1.4841267716474989e-8,0.0011146465039405943,-2.6868186327244643e-7,1.4909818722617364e-8,0.0011148879464543517,-4.077487512787168e-7,1.4987193531681402e-8,0.0011152106069133069,-5.293572049765862e-7,1.5054810350341645e-8,0.001115607505557431,-5.981354506604627e-7,1.5092967998964315e-8,0.0011160562278251995,-5.82238372920153e-7,1.508390498897239e-8,0.0011165181858738054,-4.617774614729789e-7,1.5016501585294573e-8,0.0011169427756374372,-2.3916486858598275e-7,1.489207589936706e-8,0.001117279123695704,5.281074662320559e-8,1.4728931150574154e-8,0.0011174945353303808,3.5238253651923323e-7,1.4561593636104278e-8,0.0011175918891919794,5.85237341776037e-7,1.4431602483043102e-8,0.001117613973298778,6.922600246158575e-7,1.4371955080154304e-8,0.0011176285284481737,6.540692000960255e-7,1.4393394122909386e-8,0.0011177012518909313,4.973859584028976e-7,1.4480914676359373e-8,0.0011178724639969737,2.807665191832271e-7,1.4601797634793543e-8,0.0011181484319527568,7.064887876481905e-8,1.4718987525011862e-8,0.0011185068668504749,-7.890745011779789e-8,1.4802357637019236e-8,0.0011189091709123736,-1.3646153918415363e-7,1.4834384089423755e-8,0.0011193126105248509,-9.43931094899234e-8,1.48108065335213e-8,0.0011196792366973227,3.5164048593491474e-8,1.473837430297344e-8,0.0011199811858316087,2.26369559642981e-7,1.4631494218090753e-8,0.0011202031869314724,4.4589422366034254e-7,1.4508776239873582e-8,0.00112034310520379,6.586854121746841e-7,1.4389816343386903e-8,0.0011204109385747102,8.330417415667043e-7,1.4292352649188305e-8,0.0011204265234972595,9.446967691452359e-7,1.4229970169917528e-8,0.0011204162785695454,9.796302768584618e-7,1.4210520366177409e-8,0.0011204093914756884,9.354136766252925e-7,1.423536740670385e-8,0.0011204339509095645,8.210357617533893e-7,1.4299488573279187e-8,0.0011205135047749502,6.554492436680685e-7,1.4392288214421408e-8,0.0011206642577800594,4.652528434009131e-7,1.4498888367884619e-8,0.001120892869175372,2.817729973787914e-7,1.4601751044198787e-8,0.0011211947550755549,1.3757495990860276e-7,1.4682621069015419e-8,0.0011215528883894927,6.21872975976025e-8,1.4724918735586556e-8,0.001121937523487324,7.657802320904832e-8,1.471684663627745e-8,0.0011223081121608392,1.862337483495964e-7,1.4655293964103262e-8,0.0011226193191337492,3.7406125879550593e-7,1.4549846746055096e-8,0.001122832579558784,5.965725646991329e-7,1.4424943518651694e-8,0.001122931860338344,7.888398809784377e-7,1.4317073347269448e-8,0.0011229368584202211,8.823540066354003e-7,1.42646972284513e-8,0.0011229030163360236,8.31978931560535e-7,1.4293081372632381e-8,0.0011229027871189272,6.377983868581165e-7,1.4402074372500076e-8,0.0011229961745440554,3.466313844851877e-7,1.4565346045514696e-8,0.0011232080312209413,3.131213495657076e-8,1.4742059226319447e-8,0.0011235241667242122,-2.384517151272013e-7,1.4893183747109764e-8,0.0011239038866639104,-4.1705069829968125e-7,1.4993199888376666e-8,0.0011242978045176068,-4.891837396590307e-7,1.5033552385496457e-8,0.0011246618087164136,-4.650533911979487e-7,1.501996092483476e-8,0.0011249644073865193,-3.712956185955165e-7,1.4967350495564534e-8,0.0011251887847238463,-2.4226609099827207e-7,1.489497804254355e-8,0.0011253319323496448,-1.1342860023329529e-7,1.4822732804632492e-8,0.001125402634959825,-1.6748392335343594e-8,1.476855463336166e-8,0.0011254190551908455,2.2583818610430424e-8,1.4746592428163293e-8,0.001125406006350285,-1.147849811646348e-8,1.4765866874794957e-8,0.0011253918703925659,-1.2428284425453638e-7,1.4829389975213278e-8,0.001125405153669,-3.098575433825358e-7,1.4933811618400424e-8,0.001125470825285484,-5.515007109536961e-7,1.5069747750744837e-8,0.0011256068473051415,-8.237402109522106e-7,1.522287862447306e-8,0.0011258213742378021,-1.0955210324600928e-6,1.5375735433027346e-8,0.001126110953640497,-1.33434576076099e-6,1.551002392607651e-8,0.0011264599688784321,-1.5110754595557068e-6,1.5609325258051984e-8,0.0011268415324472347,-1.6050367155868619e-6,1.5661979950811296e-8,0.0011272200850014037,-1.6091063327225863e-6,1.5663968705012574e-8,0.0011275562307977297,-1.5342861631028003e-6,1.5621508044081852e-8,0.0011278144681279808,-1.4124327608801717e-6,1.5552595027563792e-8,0.001127973697196369,-1.2945868803236955e-6,1.548604925928786e-8,0.0011280382587597413,-1.2418556395565706e-6,1.5456333428887506e-8,0.0011280441049613882,-1.3076713541081708e-6,1.5493515389976944e-8,0.0011280530903307478,-1.5159246352740396e-6,1.5610950547436537e-8,0.001128132778175655,-1.8463668689740967e-6,1.579711977668449e-8,0.0011283296134604944,-2.238778351585612e-6,1.601804452302929e-8,0.0011286507402838491,-2.6162893563312223e-6,1.6230430827785135e-8,0.001129064849116733,-2.914505922934018e-6,1.639803217786027e-8,0.0011295188883964043,-3.1003495271215335e-6,1.650223555792818e-8,0.0011299585096496848,-3.1743954370268017e-6,1.6543390761059785e-8,0.0011303422387863712,-3.1616614223987634e-6,1.6535639899295777e-8,0.0011306468543703053,-3.099226465392222e-6,1.649993957729718e-8,0.0011308665355909385,-3.026115926253836e-6,1.6458343678529448e-8,0.0011310092877528594,-2.97696670198988e-6,1.643041637428008e-8,0.0011310930107738839,-2.9787150579821667e-6,1.643135725219101e-8,0.0011311420979546502,-3.048971357365785e-6,1.6471083224590702e-8,0.0011311844863316548,-3.1951543584245246e-6,1.655374177555831e-8,0.0011312487969415517,-3.4140426711787296e-6,1.667746050617603e-8,0.001131361247585663,-3.6918347099299193e-6,1.683438659836271e-8,0.0011315422288500833,-4.005155407124281e-6,1.701126248263884e-8,0.0011318028686057846,-4.323516118603748e-6,1.719082210152812e-8,0.001132142305142021,-4.613386976593811e-6,1.7354095519871995e-8,0.001132546459390808,-4.843583003603475e-6,1.7483454475893005e-8,0.0011329889427781129,-4.991272754047409e-6,1.7566013688537354e-8,0.0011334344413259357,-5.047541910774497e-6,1.7596784618951905e-8,0.001133844458183822,-5.021292733474158e-6,1.7580889129752105e-8,0.0011341848700335095,-4.94040959890774e-6,1.753421475919338e-8,0.0011344344119443499,-4.8491916969188745e-6,1.748193700907113e-8,0.0011345925814498685,-4.801059066100088e-6,1.745434825021528e-8,0.001134684387300292,-4.846227082445247e-6,1.7479841111046328e-8,0.0011347584805635495,-5.0160858158737145e-6,1.7576061597522453e-8,0.0011348759327808268,-5.309263400214288e-6,1.7742064468409605e-8,0.0011350908173706725,-5.6869034120381485e-6,1.7955706489080888e-8,0.0011354299176144932,-6.082800701089851e-6,1.8179418623203863e-8,0.0011358822190113598,-6.426124898603051e-6,1.8373054177066374e-8,0.0011364043809356825,-6.665757949870108e-6,1.8507648393622844e-8,0.0011369384853650538,-6.7840861137196476e-6,1.8573247563186413e-8,0.0011374316455507916,-6.795823634017219e-6,1.8578280026159067e-8,0.001137848673807987,-6.736604005607285e-6,1.85430965640259e-8,0.001138175543947817,-6.649378408098194e-6,1.8492219634553844e-8,0.0011384164599360274,-6.574091986083006e-6,1.8448433493018965e-8,0.0011385884812031334,-6.5420367269707E-06,1.8429543600599157e-8,0.0011387163515221173,-6.573764105960214e-6,1.844718403120001e-8,0.0011388284833158092,-6.678850501571657e-6,1.8506697577031452e-8,0.0011389539421612653,-6.856289459219892e-6,1.8607380918886297e-8,0.0011391198567281403,-7.094990988364993e-6,1.8742791852569966e-8,0.0011393486909906535,-7.374470404067843e-6,1.8901162544082247e-8,0.001139655105173082,-7.666288253826918e-6,1.9066235687773136e-8,0.0011400426757558419,-7.936983461486883e-6,1.921894205864218e-8,0.0011405013577337874,-8.152936837249098e-6,1.9340168556050783e-8,0.0011410069453844265,-8.286904307477137e-6,1.941447163411268e-8,0.001141523687978373,-8.325052062458535e-6,1.943407977800105e-8,0.0011420104921204704,-8.272482966705914e-6,1.940204081740356e-8,0.0011424298885641681,-8.155032071176124e-6,1.9333238629293002e-8,0.0011427577026877223,-8.01590505046847e-6,1.9252449665323856e-8,0.0011429907616206283,-7.907174957399983e-6,1.9189445751876634e-8,0.0011431501649271265,-7.877608061907913e-6,1.917200273740673e-8,0.0011432784491987938,-7.9594886944176e-6,1.9218374972079383e-8,0.0011434302434748492,-8.157983701078854e-6,1.9331275036921774e-8,0.0011436578055424847,-8.446881947193677e-6,1.949552477305666e-8,0.00114399515501405,-8.773659928063834e-6,1.9681008281834052e-8,0.001144446522983574,-9.073972603149053e-6,1.9850948567032337e-8,0.0011449845240813815,-9.291172843971188e-6,1.997301868872744e-8,0.0011455595354737658,-9.393027652032006e-6,2.0028869806567677e-8,0.0011461161009334714,-9.378716130867975e-6,2.001814630971795e-8,0.0011466089029168024,-9.274461172054308e-6,1.9956008806800238e-8,0.0011470122988015584,-9.121833292035425e-6,1.9866427698242803e-8,0.00114732188508422,-8.96496066277439e-6,1.977481168122164e-8,0.001147550426654242,-8.84115873090527e-6,1.970259092640148e-8,0.0011477216937115396,-8.776250220560751e-6,1.966451506584681e-8,0.0011478647584178116,-8.783503033521037e-6,1.966805944170667e-8,0.0011480097210303582,-8.864451422748417e-6,1.971393023358895e-8,0.0011481847339456337,-9.010282799110149e-6,1.9796897029095008e-8,0.0011484137013095736,-9.203162855983934e-6,1.9906583070119853e-8,0.0011487139621447924,-9.417536219790016e-6,2.0028232082651543e-8,0.0011490935669522466,-9.622008265590576e-6,2.0143797216780358e-8,0.0011495483701545808,-9.782674812070154e-6,2.0233850339937727e-8,0.0011500598968202766,-9.868530899457088e-6,2.0280675342107168e-8,0.001150595576793416,-9.858788234789456e-6,2.027245503525575e-8,0.0011511130407411538,-9.750551556433113e-6,2.0207673116114426e-8,0.0011515690958261268,-9.563815939238883e-6,2.0097983923800655e-8,0.0011519316806153635,-9.340392670730376e-6,1.9967584121287674e-8,0.001152190749497022,-9.135185026245966e-6,1.9848156573524196e-8,0.0011523634382926925,-9.001659265593388e-6,1.9770455193964563e-8,0.0011524907957058544,-8.976351650421527e-6,1.975535707782608e-8,0.0011526268209164589,-9.067935946616826e-6,1.9807599727437817e-8,0.0011528235054923113,-9.25449432683755e-6,1.9914294904382524e-8,0.0011531166414686328,-9.489552149459594e-6,2.0048491573720485e-8,0.0011535164504243166,-9.71476019621844e-6,2.0176519619224113e-8,0.0011540055000518578,-9.875454353321969e-6,2.0266935867828633e-8,0.0011545443526542588,-9.934597905884134e-6,2.029851857027083e-8,0.0011550830429836547,-9.881012223473731e-6,2.026498429883669e-8,0.0011555744937682764,-9.729706251418504e-6,2.0175168201088018e-8,0.0011559854772124829,-9.51504938883692e-6,2.0049071556327196e-8,0.0011563021464909625,-9.280042396553756e-6,1.991163982225793e-8,0.0011565296752859802,-9.065727818539686e-6,1.9786613888511836e-8,0.001156687736425848,-8.903688987058367e-6,1.9692182364519e-8,0.0011568044046975123,-8.8125619957311e-6,1.9638981965480233e-8,0.0011569105458751,-8.797789715304598e-6,1.9629991386652268e-8,0.0011570356151798416,-8.853178776230065e-6,1.9661469660227554e-8,0.0011572048275839113,-8.963029002850191e-6,1.9724213131765286e-8,0.0011574371573823965,-9.104180604326605e-6,1.9804750235027096e-8,0.0011577435098976399,-9.247950130788989e-6,1.9886461799431398e-8,0.0011581246406424353,-9.362476184699034e-6,1.9950934601369646e-8,0.001158568958664678,-9.41631267388031e-6,1.9980033554842147e-8,0.001159051135572797,-9.383982662467644e-6,1.9959107105592105e-8,0.0011595332400694842,-9.253407196201551e-6,1.988127948054991e-8,0.0011599704116754437,-9.033473617199929e-6,1.9751830591591057e-8,0.001160321905079089,-8.757962164306107e-6,1.9590469326886845e-8,0.0011605651381540996,-8.481352968156326e-6,1.9428884611557018e-8,0.0011607066977102414,-8.264780100526713e-6,1.9302555692561575e-8,0.0011607835786356816,-8.156211653841857e-6,1.9239208531028127e-8,0.001160852303938451,-8.173672131833849e-6,1.9249082973678126e-8,0.0011609704050213417,-8.299502401002055e-6,1.9321670102197103e-8,0.0011611786600939425,-8.487524842860316e-6,1.942996472795716e-8,0.00116149085756971,-8.678548440956826e-6,1.9539526753642373e-8,0.0011618930476837161,-8.817263786054158e-6,1.961829467481908e-8,0.0011623502480845786,-8.865197369246996e-6,1.9644073624203352e-8,0.0011628170462849206,-8.807345064885849e-6,1.9608343243756524e-8,0.001163248772606246,-8.652436380407108e-6,1.9516370694754277e-8,0.0011636107636861521,-8.42810745764086e-6,1.9384372461534673e-8,0.0011638841503945102,-8.17290291549061e-6,1.9234838808357553e-8,0.0011640675332915647,-7.927309243105636e-6,1.9091306227406572e-8,0.001164174910574985,-7.725934562782125e-6,1.897381570422459e-8,0.0011642310911780206,-7.592301438636944e-6,1.8895911963434465e-8,0.001164266183153776,-7.536686249750781e-6,1.8863426101585725e-8,0.0011643105098843333,-7.556534996681924e-6,1.8874751833990127e-8,0.0011643907219274397,-7.638508383357229e-6,1.892205030520054e-8,0.0011645272144765674,-7.761166811425134e-6,1.8992807601442906e-8,0.0011647324707863098,-7.897651936164617e-6,1.9071379900299287e-8,0.0011650098094900412,-8.018265814666975e-6,1.914048233352255e-8,0.0011653521888236509,-8.093307790327415e-6,1.9182839583695098e-8,0.001165741133615056,-8.096798948189496e-6,1.9183362843101123e-8,0.0011661465394286383,-8.01169930545659e-6,1.913219846759754e-8,0.0011665289267256526,-7.836536321099879e-6,1.9028592765835697e-8,0.0011668460658409007,-7.591725078170206e-6,1.8884569456476698e-8,0.0011670647742319771,-7.321672629410377e-6,1.872613603007408e-8,0.0011671752536712213,-7.087778965397692e-6,1.8589162929747138e-8,0.0011672007945532352,-6.950506281680236e-6,1.8508875117680157e-8,0.0011671946165852476,-6.946270276537636e-6,1.8506350208028936e-8,0.0011672219724961402,-7.071417197234697e-6,1.8579216055933185e-8,0.0011673358746302342,-7.283275108892446e-6,1.8702356985605753e-8,0.0011675594159570796,-7.517413113909867e-6,1.8838061377010595e-8,0.0011678822015231747,-7.710561368063675e-6,1.8949420655493054e-8,0.0011682689261397071,-7.818135372925264e-6,1.9010538692202126e-8,0.0011686730493583339,-7.821696462300443e-6,1.90108499425854e-8,0.0011690494583318888,-7.727720962976632e-6,1.8954353489254236e-8,0.0011693632444199163,-7.56134032774171e-6,1.885590552632025e-8,0.00116959424227111,-7.358324729191973e-6,1.8736493783482777e-8,0.0011697381322427927,-7.157289319737172e-6,1.861866602390422e-8,0.001169805015940991,-6.993028321525914e-6,1.852264983791331e-8,0.0011698161546601542,-6.891491872816817e-6,1.8463458014440653e-8,0.0011697995747586565,-6.866806023143072e-6,1.8449195474681566e-8,0.001169785345145261,-6.9204124414224666e-6,1.8480593608555368e-8,0.0011698012390084927,-7.0420511084665356e-6,1.8551596753815423e-8,0.0011698692959780039,-7.212115770190638e-6,1.865072612237821e-8,0.001170003535115469,-7.40476340602822e-6,1.876287162320732e-8,0.0011702087001298016,-7.591191261412983e-6,1.887118665962335e-8,0.001170479701385697,-7.742851069545861e-6,1.895896527939579e-8,0.0011708015200401624,-7.834746251544546e-6,1.9011588216858993e-8,0.0011711496211634048,-7.849130822009977e-6,1.9018713426567524e-8,0.0011714913924403504,-7.779910197998646e-6,1.8976869060788222e-8,0.0011717897544849946,-7.637523831636095e-6,1.889230519205385e-8,0.001172010309956273,-7.452738502943907e-6,1.8783182601489195e-8,0.0011721323598993924,-7.275994332800178e-6,1.867913794942048e-8,0.0011721611281580594,-7.168155593634209e-6,1.861581265298405e-8,0.0011721343191450696,-7.1813051484193844e-6,1.862357539268324e-8,0.0011721149049607846,-7.335813716215587e-6,1.87141217167984e-8,0.001172168800567516,-7.607145133330706e-6,1.8872833135365767e-8,0.0011723380208572738,-7.933227173421569e-6,1.9063184028057393e-8,0.0011726252496139771,-8.239481077610759e-6,1.924143891636807e-8,0.0011729975280554965,-8.466260519538257e-6,1.9372719916227837e-8,0.0011734031858778484,-8.584501548552111e-6,1.944016181411194e-8,0.001173790302185874,-8.596454295920204e-6,1.944531693494591e-8,0.0011741190787508823,-8.527161410478187e-6,1.9403109104349883e-8,0.0011743669348481497,-8.413502697600549e-6,1.933534155711618e-8,0.0011745284115409797,-8.294793736602777e-6,1.9265131227668844e-8,0.0011746124079364151,-8.206190261184355e-6,1.9213032276832187e-8,0.0011746385065752375,-8.174556373859033e-6,1.9194649111671876e-8,0.0011746330915234392,-8.216052103381338e-6,1.9219279634408336e-8,0.0011746253880197785,-8.335082109550146e-6,1.9289350289034145e-8,0.0011746435809791025,-8.524542340119898e-6,1.9400586230916127e-8,0.0011747112692470335,-8.767280557710057e-6,1.954286430798587e-8,0.0011748445359639791,-9.03865596643075e-6,1.9701692857538592e-8,0.0011750499632298852,-9.309966660718363e-6,1.9860201817912727e-8,0.001175323799399941,-9.552298843262974e-6,2.0001396821218872e-8,0.00117565222379474,-9.740381416028808e-6,2.0110439466007515e-8,0.0011760125740055314,-9.856258828588306e-6,2.0176834214821782e-8,0.001176375524771259,-9.89270749701017e-6,2.0196458357561633e-8,0.0011767084198622795,-9.856295447680713e-6,2.0173355725141192e-8,0.0011769802534832457,-9.769680052766479e-6,2.0121046365166935e-8,0.001177168799588408,-9.671871258832764e-6,2.0062613323586582e-8,0.0011772694476469777,-9.6141384720008e-6,2.002822704058926e-8,0.0011773031276615976,-9.649130357389883e-6,2.004871269724044e-8,0.001177317927990144,-9.813195811093411e-6,2.0145182911243707e-8,0.0011773784774201084,-1.0107742086366462e-5,2.031816622647421e-8,0.0011775429199502576,-1.0491244705205072e-5,2.054301185498362e-8,0.001177837880102486,-1.0891186429975976e-5,2.077695811502661e-8,0.0011782469508336748,-1.1232228758863288e-5,2.0975685618500445e-8,0.0011787199252995327,-1.1464270048217633e-5,2.1109807093236463e-8,0.001179195117857407,-1.1575096317836384e-5,2.1172327792887724e-8,0.0011796204060343677,-1.1585333083324484e-5,2.117567378298927e-8,0.001179964253721622,-1.153426084540048e-5,2.1143276835969646e-8,0.001180216947487361,-1.1465789942356163e-5,2.1101215758474892e-8,0.0011803864077251783,-1.1418915216628996e-5,2.107252293342305e-8,0.0011804924552570766,-1.1422849945557147e-5,2.1074313204903283e-8,0.0011805616351961057,-1.149534972563153e-5,2.111684828473406e-8,0.0011806231296561194,-1.164260838042896e-5,2.1203547272920038e-8,0.001180705405349917,-1.185983590457733e-5,2.133138289587363e-8,0.0011808332022572984,-1.2132380829244001e-5,2.1491566451183692e-8,0.0011810247593277404,-1.2437538534793616e-5,2.1670609888946692e-8,0.00118128939658047,-1.2747235945817167e-5,2.1851893747692842e-8,0.0011816258296817952,-1.3031688632184382e-5,2.2017816721285344e-8,0.0011820217409164156,-1.3263766786722557e-5,2.215238102483769e-8,0.0011824549343442512,-1.3423476824073942e-5,2.224386173036045e-8,0.0011828960923008392,-1.3501908143475178e-5,2.228715845248425e-8,0.0011833129578829248,-1.3504032616951642e-5,2.2285447254115404e-8,0.0011836756314048944,-1.3449812928952117e-5,2.2250794275112108e-8,0.001183962592413837,-1.3373153848677134e-5,2.2203458812617827e-8,0.0011841669322909438,-1.3318065327970467e-5,2.2169537514422055e-8,0.0011843016926503368,-1.3331175884827947e-5,2.2176482373441217e-8,0.0011844020642103072,-1.3450260247773386e-5,2.2246332098472546e-8,0.001184521202676278,-1.3690428025695983e-5,2.2387640451217336e-8,0.0011847171293863903,-1.4032994909381187e-5,2.2589027933433944e-8,0.001185032463777717,-1.4424743371322873e-5,2.281883562996951e-8,0.0011854755677246913,-1.4792794984495582e-5,2.3033918419938312e-8,0.0011860147396502052,-1.507088024578483e-5,2.319513060443558e-8,0.0011865905179456926,-1.5223319477673633e-5,2.328150001628114e-8,0.0011871389466646689,-1.5253718038456167e-5,2.3295410581307743e-8,0.0011876123061146714,-1.519648813755946e-5,2.3257586969311357e-8,0.0011879885113928858,-1.5099845661934605e-5,2.3196940123018956e-8,0.0011882695341677578,-1.501035144178206e-5,2.31412842396481e-8,0.0011884742356245803,-1.4963788315746421e-5,2.3111852364620775e-8,0.001188630530564791,-1.4982034546106686e-5,2.3121452402727265e-8,0.0011887692807419578,-1.507353292827563e-5,2.3174817880824452e-8,0.0011889202463939105,-1.5235106883747588e-5,2.3269772227890994e-8,0.0011891093972103773,-1.5453904219857056e-5,2.3398442893928934e-8,0.001189356787492648,-1.5709243646093957e-5,2.3548380493865156e-8,0.001189674562434833,-1.597465760311393e-5,2.3703767108688843e-8,0.0011900650705906138,-1.622059546320253e-5,2.3847010207390837e-8,0.0011905194959919482,-1.641817450904896e-5,2.396096721453941e-8,0.0011910177895063875,-1.6543919681829082e-5,2.403177226492937e-8,0.0011915306556030559,-1.6584788766736868e-5,2.4051839818261955e-8,0.001192023898945927,-1.6542298384545826e-5,2.4022324070467803e-8,0.001192464757553144,-1.643440146715635e-5,2.3954211093486313e-8,0.001192829119799411,-1.629404609753833e-5,2.3867395750016865e-8,0.001193108027212104,-1.6164104458207515e-5,2.3787569044241983e-8,0.0011933118430555575,-1.608921071912973e-5,2.3741272731391792e-8,0.0011934707320330146,-1.6105658509481013e-5,2.374985781205688e-8,0.0011936303976635173,-1.623111932778949e-5,2.3823425330801796e-8,0.0011938425904213918,-1.6456797947603263e-5,2.3956291913805633e-8,0.0011941512693824246,-1.6745405678767475e-5,2.4125926378533872e-8,0.0011945777513011316,-1.703806116613979e-5,2.4297131106293858e-8,0.0011951108176325653,-1.7270552184130284e-5,2.4431706269672658e-8,0.0011957078826386161,-1.7394145331375484e-5,2.4500786304503858e-8,0.001196308651953773,-1.7391670563142902e-5,2.4494397478295562e-8,0.0011968553574094527,-1.7280885870127336e-5,2.442346637634852e-8,0.0011973097438809756,-1.7104486121415902e-5,2.4313830319614202e-8,0.0011976600271846305,-1.6913544964189015e-5,2.4196263777647027e-8,0.0011979178287977973,-1.6752823815132273e-5,2.4097605696463648e-8,0.0011981097707620147,-1.6652578579863055e-5,2.4035827004151324e-8,0.0011982686801686477,-1.6626751066110573e-5,2.401899572758425e-8,0.0011984270612510747,-1.6674980003615707e-5,2.4046572026728495e-8,0.0011986131998672476,-1.6785856209140574e-5,2.411144126081378e-8,0.00119884907936858,-1.6939967517406705e-5,2.4201781684558578e-8,0.0011991490988296598,-1.7112385016964997e-5,2.430255743190104e-8,0.0011995189044720176,-1.727490968716899e-5,2.4396846663078468e-8,0.0011999541434850292,-1.73987053704685e-5,2.446740213138539e-8,0.0012004395264967585,-1.7457927525291007e-5,2.4498820966803372E-08,0.0012009491082435547,-1.743451264755266e-5,2.4480422287605266e-8,0.001201448900782843,-1.7323465817622007e-5,2.4409425154034857e-8,0.0012019025457898729,-1.713703206787251e-5,2.429344400128628e-8,0.0012022796375072394,-1.6905527800039264e-5,2.415095110327444e-8,0.001202564674709609,-1.66730256383639e-5,2.4008615527302114e-8,0.0012027634568679232,-1.6487847620334767e-5,2.3895505198766226e-8,0.001202904030611828,-1.6390163394670685e-5,2.3835574955575874e-8,0.0012030311028923925,-1.6400516224166192e-5,2.384078723594285e-8,0.0012031951747230444,-1.6513004713512284e-5,2.390712060734509e-8,0.001203439368777117,-1.6695385826531313e-5,2.4014786720648956e-8,0.0012037875416534632,-1.6896357132806125e-5,2.413273573212916e-8,0.0012042369997383238,-1.7058417430140396e-5,2.422642990299439e-8,0.001204758270153749,-1.7133153462624448e-5,2.42669920335499e-8,0.0012053027296240449,-1.7094557087145528e-5,2.4239131779032624e-8,0.001205816243419089,-1.694576087819249e-5,2.414512189749825e-8,0.001206254208107606,-1.671652593603102e-5,2.4003224447649546e-8,0.0012065924774887938,-1.6452686017868706e-5,2.3841274764580573e-8,0.0012068306855210508,-1.6202252980745935e-5,2.3688257288772364e-8,0.0012069882451567506,-1.6003642610002783e-5,2.3567193058502826e-8,0.0012070962548821874,-1.5879317737007825e-5,2.3491350212189728e-8,0.0012071891126864752,-1.5834987172204415e-5,2.3463848234982794e-8,0.0012072982435586271,-1.5862395994595704e-5,2.3479429419473134E-08,0.0012074484919681056,-1.5943390285158226e-5,2.3526960795175952e-8,0.0012076565349967772,-1.6053727644420263e-5,2.3591735054261115e-8,0.0012079303224518817,-1.6166109640853678e-5,2.3657270713232458e-8,0.0012082687433021958,-1.625265566416613e-5,2.370677465035961e-8,0.0012086611896754904,-1.6287448494366172e-5,2.372466631141001e-8,0.0012090872917999832,-1.6249836702848495e-5,2.3698580523446967e-8,0.0012095176855486077,-1.6128815528154758e-5,2.3622028928013453e-8,0.0012099170613362122,-1.592798579392285e-5,2.349739986274672e-8,0.0012102505659388227,-1.566936060894537e-5,2.3338237567455915e-8,0.0012104933479661164,-1.5393153749585413e-5,2.316906420901978e-8,0.0012106406191476266,-1.5150881099106516e-5,2.302113572545944e-8,0.001210713427762985,-1.4991745019339821e-5,2.2924136337323242e-8,0.0012107557250189674,-1.4946543294335746e-5,2.2896419733099684e-8,0.0012108221716802248,-1.5016161651831003e-5,2.293810304377412e-8,0.0012109612315525406,-1.5170264902251345e-5,2.3030401775421017e-8,0.0012112005956738774,-1.535671009607627e-5,2.3141465559964834e-8,0.0012115402123723076,-1.551722648703216e-5,2.3235958218962858e-8,0.0012119541203185218,-1.5603217342101987e-5,2.32846361790215e-8,0.0012123989690091418,-1.558704649773601e-5,2.32711262155396e-8,0.0012128258188160085,-1.546672637976945e-5,2.3194667025593706e-8,0.0012131919055231588,-1.526397476343263e-5,2.306882035076686e-8,0.001213469672752588,-1.5016981076206275e-5,2.2916988632259907e-8,0.0012136512717100716,-1.4770193242323362e-5,2.2766165374691033e-8,0.0012137479589100495,-1.4563974629347552e-5,2.2640665341646183e-8,0.0012137852603573004,-1.4426773355970368e-5,2.255743926778347e-8,0.0012137959093788662,-1.4371343522844578e-5,2.2523883713028728e-8,0.0012138128365966673,-1.439499826481813e-5,2.2538091856692798e-8,0.0012138638400819995,-1.4482668698853964e-5,2.2590762305896745e-8,0.0012139685086682349,-1.4611158244269921e-5,2.2667775734842887e-8,0.0012141370773553156,-1.4753294457875256e-5,2.2752669276880412e-8,0.0012143704447298367,-1.4881339284913565e-5,2.2828655628043122e-8,0.0012146606157735983,-1.4969696583580246e-5,2.2880242761076628e-8,0.0012149911979015464,-1.499739616837105e-5,2.2894754107216863e-8,0.001215338074413792,-1.495094088433912e-5,2.286409075695815e-8,0.0012156709220629822,-1.4827860365214653e-5,2.278691472150337e-8,0.0012159566967008494,-1.4640607873998432e-5,2.2671006872583375e-8,0.0012161661678526474,-1.4419214392042551e-5,2.253482998176492e-8,0.0012162834218881762,-1.4209794962010202e-5,2.2406545421342624e-8,0.001216315642396274,-1.4065845309811994e-5,2.2318651755283653e-8,0.0012162975273846636,-1.4032046896515793e-5,2.229810801795348e-8,0.001216284646636957,-1.412603160851158e-5,2.2355282871068613e-8,0.0012163354726003424,-1.4328040488737538e-5,2.2477767363016963e-8,0.0012164899159747096,-1.4585949126754397e-5,2.263355123417095e-8,0.001216755574130199,-1.4833892797710722e-5,2.278243853374842e-8,0.0012171078245810246,-1.5014490026863692e-5,2.2889603737556964e-8,0.001217501208749591,-1.5094377647005056e-5,2.2935034657986378e-8,0.0012178847630020077,-1.5068934395509631e-5,2.2916347417685273e-8,0.0012182150285436164,-1.4958137548021152e-5,2.2846155074825506e-8,0.0012184640069405344,-1.4797783644600629e-5,2.2746590779909395e-8,0.0012186220505673322,-1.4629683731770791e-5,2.2643235920746163e-8,0.001218696822913379,-1.449297270290909e-5,2.2559801522444672e-8,0.0012187095811834294,-1.4417539138099393e-5,2.2514186857630122e-8,0.0012186898663968694,-1.4420061297596525e-5,2.2516180023635898e-8,0.0012186696633395672,-1.4502833252156467e-5,2.2566860603567102e-8,0.0012186780735641304,-1.4655108434294776e-5,2.2659490899290508e-8,0.0012187372918174148,-1.4856253456001961e-5,2.2781443114298367e-8,0.001218860273629298,-1.5079824490775369e-5,2.2916635639418696e-8,0.0012190500435946263,-1.5297700051893458e-5,2.3047988343221898e-8,0.001219300200263371,-1.548365519236493e-5,2.3159560794279936e-8,0.0012195960618367548,-1.5616237415079354e-5,2.3238309613797606e-8,0.0012199161265676276,-1.568118550987916e-5,2.3275603178996437e-8,0.0012202338545077081,-1.567373100870673e-5,2.326866879195279e-8,0.0012205201561264112,-1.560100091808706e-5,2.3222067337371707e-8,0.001220747382989795,-1.5484226141098953e-5,2.3148995007320677e-8,0.0012208955835540899,-1.535941411892994e-5,2.3071605072069785e-8,0.0012209607427107806,-1.5274050539459638e-5,2.3018902382756045e-8,0.001220962475274646,-1.5277280997782236e-5,2.3020705792687032e-8,0.0012209458731045407,-1.5403436960660497e-5,2.309762894932575e-8,0.0012209717976255354,-1.565448470536381e-5,2.3250476497938733e-8,0.0012210955463632595,-1.5992317511104423e-5,2.345566341649283e-8,0.0012213435678971353,-1.634934524496698e-5,2.367175263118225e-8,0.0012217022640911984,-1.6653999885394203e-5,2.3855040758167472e-8,0.0012221254162641652,-1.685673242853055e-5,2.397543609100118e-8,0.0012225539172616843,-1.694295513018085e-5,2.4024369111537456e-8,0.0012229355612905532,-1.6930207344080828e-5,2.4013018459709848e-8,0.0012232368258948774,-1.6856088422204816e-5,2.3964815471614588e-8,0.001223445818883135,-1.6764870074623695e-5,2.3907108196114857e-8,0.0012235694616662836,-1.66972195773145e-5,2.3864781052871904e-8,0.0012236282176459417,-1.668400111843338e-5,2.3856473140188308e-8,0.0012236504409797394,-1.6743379709783217e-5,2.3892909894168513e-8,0.0012236671763620997,-1.6880175503808295e-5,2.3976645895061022e-8,0.001223707624433692,-1.708683221483701e-5,2.4102766441136323e-8,0.0012237954317209335,-1.734565340062886e-5,2.426029685357651e-8,0.0012239459921608604,-1.7631973134540477e-5,2.4434117926847972e-8,0.0012241649213519893,-1.791791608308859e-5,2.4607207076905056e-8,0.0012244478183697678,-1.817632574317451e-5,2.476299133590999e-8,0.0012247812244358886,-1.838435464330882e-5,2.4887533086232756e-8,0.0012251444556581857,-1.8526399189167512e-5,2.4971356499031972e-8,0.001225512030680893,-1.8596356874691012e-5,2.5010875116620252e-8,0.0012258566090267735,-1.8599249204608337e-5,2.500940666446154e-8,0.0012261525206215848,-1.8552184327634754e-5,2.4977727871947743e-8,0.0012263801754533244,-1.8484389126531722e-5,2.4934001023126065e-8,0.001226531589440995,-1.8435353897332787e-5,2.4902521731442044e-8,0.0012266163824655456,-1.844942436845583e-5,2.4910327037782435e-8,0.0012266658987470957,-1.8565429063659797e-5,2.498085133256966e-8,0.0012267312754294553,-1.880207278591228e-5,2.5125090674904964e-8,0.0012268713258371598,-1.914430998630717e-5,2.533341535608457e-8,0.001227131022819862,-1.954022969406463e-5,2.557377342250434e-8,0.0012275202373195173,-1.991570456003484e-5,2.5800673545950185e-8,0.0012280066605481112,-2.0202550073462475e-5,2.5972399157529153e-8,0.0012285289260753722,-2.036442274620531e-5,2.6066887113834473e-8,0.0012290215337736447,-2.0405843598096857e-5,2.608730247250189e-8,0.0012294364792536673,-2.0362831684957532e-5,2.605626237353159e-8,0.0012297525480403702,-2.0285001528169813e-5,2.600470001447718e-8,0.001229973287643303,-2.0219675206655426e-5,2.596192790923771e-8,0.00123011945294299,-2.0202577079814657e-5,2.5949829286862887e-8,0.0012302208090147814,-2.0254570927893388e-5,2.598089556577197e-8,0.001230309575850642,-2.0382079862008366e-5,2.6058620701201978e-8,0.0012304158345859968,-2.0579100696291248e-5,2.6178889594627654e-8,0.0012305643517482184,-2.0829746668818747e-5,2.6331638580619262e-8,0.0012307723235892732,-2.1111062515209374e-5,2.6502607204116547e-8,0.0012310478548748765,-2.1396114777007075e-5,2.6675202086625746e-8,0.0012313891899758615,-2.1657391046044656e-5,2.6832534064826254e-8,0.0012317848985939483,-2.187044513583133e-5,2.6959629716658373e-8,0.001232215249623264,-2.2017430944470345e-5,2.7045614719736176e-8,0.0012326547447966258,-2.209001773221379e-5,2.7085542859440893e-8,0.0012330755592392312,-2.2091326924775106e-5,2.70816135899996e-8,0.0012334516279752959,-2.203663011034868e-5,2.7043580150642033e-8,0.001233763101802164,-2.1952544155669515e-5,2.6988170698065287e-8,0.001234000846053606,-2.1874499915341305e-5,2.6937404354593894e-8,0.0012341705639102628,-2.184212653370876e-5,2.691563704449534e-8,0.0012342956223987628,-2.1891979650956894e-5,2.6945050302677308e-8,0.001234416688585595,-2.2047557895417835e-5,2.7039585964648845e-8,0.0012345855888722889,-2.23083766412273e-5,2.719839449139654e-8,0.0012348517249173988,-2.2642708147870215e-5,2.7401545144008608e-8,0.0012352433616983397,-2.2990593392258627e-5,2.7611962377998624e-8,0.0012357521897338616,-2.328103233247334e-5,2.778596961972363e-8,0.0012363319390749912,-2.3458241076732956e-5,2.7889391237730747e-8,0.001236914832205126,-2.3503051358274284e-5,2.7910738893106944e-8,0.0012374372602634584,-2.34370143285074e-5,2.7863779646029196e-8,0.0012378600978094599,-2.3308844078715344e-5,2.7779123129400366e-8,0.001238175025995959,-2.3173834169043024e-5,2.7691345091404345e-8,0.0012383987375117022,-2.3077516654817154e-5,2.7628715793488518e-8,0.0012385621901050622,-2.304804267920002e-5,2.7608434146434345e-8,0.001238700730871274,-2.3095701387628564e-5,2.7636418998067664e-8,0.0012388473917175444,-2.321606101218933e-5,2.7709418024290113e-8,0.0012390291726658905,-2.339397590953754e-5,2.781763697063455e-8,0.001239265187271221,-2.3607198404592336e-5,2.7947049692492793e-8,0.0012395656932513142,-2.3829477290720274e-5,2.808131142382676e-8,0.001239931567574002,-2.4033454791804963e-5,2.8203502070202986e-8,0.001240354197034772,-2.419368952870141e-5,2.8297948187087624e-8,0.0012408160639877112,-2.4289979933212816e-5,2.835226322126063e-8,0.0012412924936616241,-2.431076507997636e-5,2.835947104322042e-8,0.001241754847581157,-2.4255949556786933e-5,2.8319783468064274e-8,0.0012421750027906508,-2.413837942889537e-5,2.8241514856497743e-8,0.0012425305735050856,-2.398330917104594e-5,2.8140695039591662e-8,0.001242810041407821,-2.3825431793646963e-5,2.803911624686781e-8,0.0012430167548026835,-2.3703494765039817e-5,2.796086702784852e-8,0.0012431707595330977,-2.3653019187846447e-5,2.792773776976358e-8,0.0012433075282853305,-2.3697965910599013e-5,2.7954078812129726e-8,0.0012434727173970845,-2.3842679769997022e-5,2.8041949740427052e-8,0.001243712463212426,-2.4066405760676784e-5,2.8177927469785303e-8,0.0012440601035040232,-2.432362427984792e-5,2.8333484399655164e-8,0.0012445228361571915,-2.4553159928907133e-5,2.84706844897476e-8,0.001245074558848186,-2.469598742631698e-5,2.8553156726817562e-8,0.0012456608862963842,-2.4715959349908565e-5,2.8558858281151512e-8,0.001246216708050109,-2.4613291013679496e-5,2.8488399775580813e-8,0.001246688489499405,-2.4423038202625592e-5,2.8364074640010765e-8,0.0012470500759516796,-2.4199802086790886e-5,2.8220269933140577e-8,0.0012473056186578205,-2.3997923243581362e-5,2.8091007067191165e-8,0.0012474816718979766,-2.3856832628854112e-5,2.8000725693752732e-8,0.0012476152297567857,-2.3795467178827526e-5,2.796083255759579e-8,0.0012477434727424471,-2.3813936544781482e-5,2.797087896365848e-8,0.0012478974825907967,-2.3898538079999737e-5,2.802185450423327e-8,0.0012480994715242364,-2.4027063105389873e-5,2.8099607177080368e-8,0.0012483620860405254,-2.4173063448967265e-5,2.8187527217003586e-8,0.0012486885425988454,-2.4309038643380227e-5,2.8268487756534477e-8,0.0012490729604937483,-2.4409048929309893e-5,2.832640747738927e-8,0.0012495008229754566,-2.4451320673572244e-5,2.8347832218140762e-8,0.0012499499393055541,-2.442119484453209e-5,2.8323772418069707e-8,0.0012503925365264328,-2.4314275664468087e-5,2.8251695604431464e-8,0.0012507990005257714,-2.4139030867608762e-5,2.8137171704645568e-8,0.001251143262636996,-2.391768914256767e-5,2.7994415164953935e-8,0.0012514090363835088,-2.368426701735876e-5,2.7844976389814205e-8,0.0012515953110546903,-2.3479107716070564e-5,2.771421375274228e-8,0.0012517191350728285,-2.3340474530020665e-5,2.7625933544735366e-8,0.0012518141482856812,-2.3295030625602135e-5,2.7596407518891168e-8,0.00125192444142756,-2.334975383124914e-5,2.7629401271552236e-8,0.0012520946514939732,-2.348776438369355e-5,2.7713746828686006e-8,0.0012523583631477433,-2.3669877510084097e-5,2.7824516476769492e-8,0.0012527277286170939,-2.38425421336231e-5,2.7928118057615044e-8,0.0012531876409788102,-2.3951178423680048e-5,2.7990642199443437e-8,0.0012536974445180235,-2.395580939174183e-5,2.7987543221912417e-8,0.0012542012794675764,-2.3843814405731823e-5,2.7911488512020674e-8,0.0012546444912580575,-2.3634230998913443e-5,2.7774939914552914e-8,0.0012549898708866338,-2.337098949679818e-5,2.760582318235473e-8,0.0012552269467497428,-2.31078977299701e-5,2.7438033142794907e-8,0.0012553712247767674,-2.2892283909759187e-5,2.730112602560997e-8,0.001255455539610628,-2.2753872111695107e-5,2.7213370434487382e-8,0.0012555187275849952,-2.2701515499694785e-5,2.7179817449245153e-8,0.0012555962675502516,-2.2726235663317327e-5,2.719436714414756e-8,0.0012557148843836085,-2.280713457832666e-5,2.724360162183075e-8,0.001255890687072248,-2.2917285638186973e-5,2.7310518757386415e-8,0.001256129398595488,-2.3028282424195017e-5,2.7377340966423323e-8,0.0012564273842037858,-2.3113398094334926e-5,2.742741470506988e-8,0.001256772748129926,-2.3149894992070267e-5,2.7446594516070987e-8,0.0012571463545275083,-2.3121157899020574e-5,2.7424565261140528e-8,0.0012575231640768645,-2.3019131476612913e-5,2.7356401669610725e-8,0.001257874612111306,-2.284700440575688e-5,2.7244296214391676e-8,0.0012581727000068063,-2.2621361371800596e-5,2.7098925268443296e-8,0.0012583959412701018,-2.2372382207858894e-5,2.6939533510837228e-8,0.0012585362273141267,-2.2140433227805133e-5,2.6791698499354605e-8,0.0012586042852673735,-2.196814660205169e-5,2.6682241581275458e-8,0.0012586306549829782,-2.1889126806689826e-5,2.6632055608261722e-8,0.0012586601311620252,-2.1916855981065547e-5,2.664914718129419e-8,0.0012587403517282045,-2.2038399148444123e-5,2.672480002912566e-8,0.0012589081308858302,-2.2216070066749486e-5,2.6834805998698666e-8,0.001259178401966701,-2.2397001174915816e-5,2.6945651229235044e-8,0.0012595395662738137,-2.2527436600423014e-5,2.7023591961309044e-8,0.0012599565073977735,-2.2567114697326255e-5,2.704368259177285e-8,0.0012603800277351954,-2.249955563699239e-5,2.6996141762203254e-8,0.0012607598300570521,-2.2335587057110256e-5,2.6888416016816608e-8,0.0012610573544834757,-2.2109330675960614e-5,2.674249136516303e-8,0.0012612547690560867,-2.186800615213288e-5,2.6588343449294578e-8,0.0012613575758832708,-2.1658922356915117e-5,2.6455686208838244e-8,0.001261390591051946,-2.151793017938794e-5,2.6366737636690552e-8,0.00126138947197204,-2.146269522919313e-5,2.6332111564846554e-8,0.001261391218294045,-2.1491868003257122e-5,2.635046486548411e-8,0.0012614266428808319,-2.15888902989852e-5,2.641103229929555e-8,0.0012615162216082754,-2.1727952954471072e-5,2.6497431575663864e-8,0.0012616690635331466,-2.187983048108349e-5,2.6591299115901463e-8,0.0012618838439774989,-2.2016383972793845e-5,2.6675035116793972e-8,0.0012621505235054361,-2.2113585277586392e-5,2.6733624171416905e-8,0.0012624521180612978,-2.2153524616584108e-5,2.6755867859438524e-8,0.00126276632102878,-2.2126043067001626e-5,2.6735440962205498e-8,0.0012630672801498218,-2.2030481309721585e-5,2.6672051476437688e-8,0.0012633282001385453,-2.1877576094169603e-5,2.6572675677080794e-8,0.0012635254927225803,-2.1690821374928485e-5,2.6452399559931268e-8,0.0012636447200479173,-2.150581193844573e-5,2.6333924961939377e-8,0.0012636873694712005,-2.1365630790647973e-5,2.62445471842398e-8,0.001263675689203714,-2.1311092535360135e-5,2.6209908895091034e-8,0.001263651583389443,-2.1367352542053175e-5,2.624553285893486e-8,0.0012636669236140193,-2.1532112858698217e-5,2.6349454998586358e-8,0.0012637672086514252,-2.1772261625864342e-5,2.6500247615930587e-8,0.0012639754671761418,-2.2032532614826404e-5,2.666264158225693e-8,0.001264284192241647,-2.2253087100624153e-5,2.679874434506354e-8,0.0012646586664950854,-2.238799657886381e-5,2.687976398338216e-8,0.001265048952007261,-2.2417146448438736e-5,2.68935001124463e-8,0.0012654046375396352,-2.2348637976309602e-5,2.6845743928639548e-8,0.001265687166465729,-2.2213199967963506e-5,2.6756558234120423e-8,0.0012658770847539854,-2.205411237295862e-5,2.6653709859809845e-8,0.0012659757694239995,-2.1916095275190147e-5,2.6565519875628988e-8,0.0012660024992930466,-2.1835733466883678e-5,2.6514812194613012e-8,0.0012659883363219941,-2.183504682483079e-5,2.6514975770749016e-8,0.001265968564043513,-2.1918984668542527e-5,2.656857289282304e-8,0.0012659755016867593,-2.2076758125450218e-5,2.666835322071545e-8,0.0012660331867845541,-2.2286013655878877e-5,2.6799978389807436e-8,0.0012661546447266811,-2.2518299270481508e-5,2.6945459630868268e-8,0.0012663416011667139,-2.2744366594706175e-5,2.708642168120064e-8,0.0012665859156780787,-2.2938374403736194e-5,2.720666230998871e-8,0.0012668718340026004,-2.308069895407578e-5,2.729387607334129e-8,0.0012671783608418628,-2.315961813842999e-5,2.7340731279403066e-8,0.0012674815022603028,-2.3172399530941718e-5,2.734561490457562e-8,0.0012677565540440863,-2.3126206424985553e-5,2.7313258391016998e-8,0.0012679809078356128,-2.3038880813856224e-5,2.7255232108115096e-8,0.0012681379667225815,-2.293909764723427e-5,2.718996925380211e-8,0.001268222410981478,-2.2864607647463806e-5,2.714153350665855e-8,0.0012682458991817589,-2.285674137919671e-5,2.7136033101520892e-8,0.0012682404442877298,-2.294997743206441e-5,2.7194986348181077e-8,0.0012682552261359058,-2.3158135615329883e-5,2.732665258099185e-8,0.0012683438357439264,-2.3463184370203866e-5,2.751908579692521e-8,0.0012685445912806244,-2.381508922712379e-5,2.774017528295886e-8,0.0012688635218484556,-2.4146813037913072e-5,2.794723304902699e-8,0.0012692705636366676,-2.439852622614259e-5,2.8102383947438925e-8,0.0012697114811386142,-2.453808374801821e-5,2.818558432617654e-8,0.0012701278926337827,-2.456798692026666e-5,2.8199025785485304E-08,0.0012704747097447653,-2.451874191640579e-5,2.8162796580241977e-8,0.0012707290511519327,-2.4435369716645258e-5,2.8106093111468987e-8,0.00127089082105009,-2.4363968771578763e-5,2.8058468845464867e-8,0.0012709780445711418,-2.4341966719446985e-5,2.804354865594735e-8,0.0012710200656264432,-2.439279816146933e-5,2.8075722588673664e-8,0.001271050641705294,-2.4524258495752033e-5,2.8159296031538897e-8,0.0012711018882705825,-2.4729497552478398e-5,2.8289339641440367e-8,0.0012711994916664129,-2.4989923105568873e-5,2.8453680377103202e-8,0.0012713595362361608,-2.5279401250563086e-5,2.863560229913506e-8,0.0012715871496310693,-2.5568988582094783e-5,2.8816787886148046e-8,0.0012718768697763392,-2.5831442116825033e-5,2.898007870930307e-8,0.0012722144010838205,-2.6044933071783422e-5,2.911175618979125e-8,0.0012725792455093397,-2.619559555621507e-5,2.9203144635270495e-8,0.001272947626786604,-2.627888618297095e-5,2.9251514544716158e-8,0.0012732953571026233,-2.630006763486035e-5,2.9260441855358742e-8,0.0012736006475878774,-2.6274127894061375e-5,2.9239767557704245e-8,0.0012738470763975945,-2.6225193166156763e-5,2.9205161411702542e-8,0.0012740270157430664,-2.6185124088254545e-5,2.9177104177386633e-8,0.0012741455908807501,-2.6190414429344983e-5,2.9178785414269988e-8,0.001274224316427514,-2.62760887589678e-5,2.9232165679184445e-8,0.0012743020615554482,-2.646586880061536e-5,2.935178899471236e-8,0.001274429803943883,-2.6760187731966526e-5,2.9537333686976303e-8,0.0012746566213436674,-2.712756647179489e-5,2.976831346906732e-8,0.0012750096385508432,-2.7507546288788524e-5,3.0006033761210905e-8,0.0012754781610912526,-2.7829406560484464e-5,3.020548189174035e-8,0.001276013858158292,-2.8039650417442057e-5,3.033279425528792e-8,0.0012765492750488386,-2.812244159011328e-5,3.0378310890776146e-8,0.001277023642649741,-2.810137217333263e-5,3.035772861075833e-8,0.0012774012466509133,-2.802473521408781e-5,3.0302589247883327e-8,0.0012776758745853178,-2.7945890596938154e-5,3.024749497268067e-8,0.0012778647758220772,-2.79085430819153e-5,3.022048134829472e-8,0.001277998800793535,-2.793980262467159e-5,3.0238533240266736e-8,0.0012781132813501053,-2.804931557698271e-5,3.0307171318946226e-8,0.0012782413834105137,-2.8231718287190717e-5,3.042226138414893e-8,0.0012784098972853835,-2.8470294804898002e-5,3.0572571320992245e-8,0.0012786367518833218,-2.8740849073584766e-5,3.074235593251752e-8,0.0012789297433653374,-2.9015619036969142e-5,3.091384476109464e-8,0.0012792863683563302,-2.9267159831319898e-5,3.10696300382083e-8,0.0012796947422641365,-2.9471974501639326e-5,3.119488465856777e-8,0.0012801355484260517,-2.9613619515355336e-5,3.127929159311357e-8,0.0012805848824221722,-2.9684936207415627e-5,3.131847898599492e-8,0.001281017638662968,-2.968910490383866e-5,3.131473845451968e-8,0.0012814109964758992,-2.963950002011583e-5,3.1276957457645865e-8,0.0012817477332364437,-2.9558493616968298e-5,3.1219814796159154e-8,0.0012820192456920046,-2.9475284638605605e-5,3.116227933862801e-8,0.001282228197848576,-2.9422701983244574e-5,3.1125420021043346e-8,0.001282390606699797,-2.943268070189973e-5,3.112941115271035e-8,0.0012825366317504978,-2.9529907636028162e-5,3.118948519163852e-8,0.0012827084194776662,-2.9723676059624966e-5,3.131088059813362e-8,0.0012829528288665348,-2.9999700516418604e-5,3.1483844908667825e-8,0.0012833079130263225,-3.0316201547194518e-5,3.168132285335997e-8,0.0012837859765342673,-3.061020073146328e-5,3.1863018658290956e-8,0.0012843618450062628,-3.081684226297564e-5,3.198765635324121e-8,0.0012849765874220782,-3.089521995994752e-5,3.20294184946202e-8,0.0012855586318208988,-3.084588285428632e-5,3.1989175468429604e-8,0.0012860510837547415,-3.0708540178211655e-5,3.189304549666774e-8,0.001286429391721135,-3.054259065273131e-5,3.1779790208841204e-8,0.0012867022080911398,-3.0404062537684042e-5,3.1685762437681995e-8,0.001286900377279203,-3.0330777585708804e-5,3.163518182633183e-8,0.001287063300987379,-3.0338387143386424e-5,3.163759774986754e-8,0.001287228565364857,-3.042354922701865e-5,3.1690131287687944e-8,0.0012874261434639106,-3.056970632894269e-5,3.1781451277475414e-8,0.0012876761011276928,-3.075264889043229e-5,3.189554315979008e-8,0.001287988197340863,-3.094489886686548e-5,3.201458498978887e-8,0.0012883622633117567,-3.111913753711612e-5,3.2121090216733314e-8,0.0012887890246263095,-3.125116421789353e-5,3.219969606469643e-8,0.0012892514436496775,-3.1322610080414284e-5,3.223881626240157e-8,0.0012897267572810904,-3.132337450102907e-5,3.223217751474067e-8,0.0012901893827250341,-3.125348366035541e-5,3.2180042784654345e-8,0.0012906146194111945,-3.1123848609875844e-5,3.208974051574626e-8,0.0012909826969805158,-3.0955505293186115e-5,3.197517438868874e-8,0.0012912825565626971,-3.0777215881050795e-5,3.185520292845642e-8,0.0012915147687625943,-3.0621540642874033e-5,3.175097395022615e-8,0.001291693035842951,-3.0519716537336427E-05,3.168249183610786e-8,0.0012918438362249742,-3.0495841413462402e-5,3.1664819795655e-8,0.0012920037928547566,-3.056087693364674e-5,3.1704304670211076e-8,0.0012922141715474165,-3.0707282053063105e-5,3.17953364867465e-8,0.001292512034520009,-3.090599709338316e-5,3.1918661500173786e-8,0.0012929187002381516,-3.110850773894603e-5,3.2042880122178096e-8,0.0012934285950733568,-3.1256693423193994e-5,3.213078673276235e-8,0.0012940044453168913,-3.1300498297250774e-5,3.215061328521406e-8,0.001294584877820033,-3.12176444133966e-5,3.20885883560331e-8,0.001295104589766634,-3.102462475607171e-5,3.195596529494129e-8,0.0012955179603695564,-3.077085167751126e-5,3.178521309227125e-8,0.0012958131840410975,-3.0518540566581096e-5,3.1616916955709714e-8,0.0012960105999187787,-3.032026641965267e-5,3.148511085415194e-8,0.0012961495978159076,-3.0205433323736027e-5,3.140845109678617e-8,0.0012962734470908504,-3.0178565979806494e-5,3.1389212768773746e-8,0.0012964186126221632,-3.022527856628844e-5,3.141738252834504e-8,0.0012966099467786687,-3.032037295760454e-5,3.1476126820308665e-8,0.0012968600751613467,-3.043465498738407e-5,3.154631955101938e-8,0.0012971707339509185,-3.0539529403013107e-5,3.160949484610287e-8,0.0012975345391934867,-3.0609886172662965e-5,3.164960498486348e-8,0.0012979366525891216,-3.062613758462698e-5,3.1654217987039235e-8,0.0012983564533401342,-3.057599296156603e-5,3.1615600298714555e-8,0.0012987695840761062,-3.0456167864014533e-5,3.1531828857941956e-8,0.0012991507884455799,-3.027379091331488e-5,3.140775068646107e-8,0.0012994777236449333,-3.004683999448522e-5,3.125530194558217e-8,0.0012997353921117309,-2.9802813505353085e-5,3.1092622133109445e-8,0.0012999202861004046,-2.9575139003558806e-5,3.09416264273142e-8,0.0013000430270444395,-2.93974130243819e-5,3.0824133092212875e-8,0.001300128331498118,-2.9296350396882437e-5,3.075718715872455e-8,0.0013002116679433546,-2.928500804947685e-5,3.074866956412388e-8,0.0013003328193243616,-2.935801434543197e-5,3.0794343521651624e-8,0.001300527308605543,-2.9490231267340253e-5,3.0877225135393917e-8,0.0013008171756119307,-2.9639869058835446e-5,3.0969838317194383e-8,0.0013012031591031939,-2.9756515314625574e-5,3.10395465251122e-8,0.0013016609455879465,-2.9793446563434323e-5,3.105650235031395e-8,0.0013021442562541905,-2.972172931898944e-5,3.100263591424007e-8,0.0013025961177511457,-2.9541337275106654e-5,3.087867894617946e-8,0.0013029660006317406,-2.9283509335878423e-5,3.0705543544897195e-8,0.0013032261586196996,-2.9001308736517474e-5,3.051808034793436e-8,0.0013033793833759004,-2.875164122635431e-5,3.035331118242153e-8,0.0013034547749617115,-2.8577237008618275e-5,3.023868954419752e-8,0.0013034950005774671,-2.8496554952853205e-5,3.018561791167246e-8,0.0013035422626375217,-2.8503927091162528e-5,3.018972942257647e-8,0.0013036286487182313,-2.8576659673191224e-5,3.023572044825167e-8,0.0013037723920898197,-2.8683998777921855e-5,3.0303320007544866e-8,0.0013039784710675347,-2.8794434907111588e-5,3.037204952208462e-8,0.0013042411712836108,-2.8880283437659195e-5,3.042410362765577e-8,0.0013045469059940415,-2.8920083977942182e-5,3.044577741719525e-8,0.0013048765892900785,-2.8899827777303695e-5,3.042817208710491e-8,0.0013052076096280716,-2.8813836177220682e-5,3.0367751697282956e-8,0.0013055158699504063,-2.8665686201342626e-5,3.026699500311816e-8,0.0013057784723598796,-2.8469027833693583e-5,3.0134989400730604e-8,0.0013059774012722158,-2.824758312302742e-5,2.998744624708401e-8,0.0013061039917527009,-2.803329661145913e-5,2.984543622349855e-8,0.0013061631500154798,-2.786174715368294e-5,2.973227959525612e-8,0.0013061755169066931,-2.7764752904717206e-5,2.966860348764004e-8,0.0013061756394885842,-2.7761595595907e-5,2.9666567318660748e-8,0.0013062052931786697,-2.785175086959786e-5,2.972518749832201e-8,0.001306303142538855,-2.801230059159129e-5,2.9828826603746476e-8,0.0013064938194895942,-2.820182285028999e-5,2.9949955265754234e-8,0.001306780086361943,-2.8370168467178228e-5,3.005571106771042e-8,0.0013071407644421912,-2.8471378373462444e-5,3.0116392578181026e-8,0.0013075352201250116,-2.8475996159682643e-5,3.011342304590286e-8,0.001307913334487316,-2.8379292346448963e-5,3.0044539506056616e-8,0.0013082284553436203,-2.820295608258615e-5,2.992467194139616e-8,0.001308449795111905,-2.798934380814309e-5,2.9781980996995586e-8,0.0013085703641908598,-2.7789555942438875e-5,2.9649940584985727e-8,0.0013086075992558702,-2.7649081856834136e-5,2.9557946510256037e-8,0.0013085965713823258,-2.7596068441511594e-5,2.9523765739778143e-8,0.001308578775603071,-2.763613069992761e-5,2.9550353019012925e-8,0.0013085910545795772,-2.7754483402330733e-5,2.9627464816654964e-8,0.0013086582864577261,-2.7923038311927625e-5,2.973644409629548e-8,0.00130879097813508,-2.810881146934206e-5,2.985573633256056e-8,0.0013089866559391336,-2.8280794299983097e-5,2.9965288371083946e-8,0.0013092330853364449,-2.841421177594859e-5,3.004918959647898e-8,0.0013095117218239086,-2.849249915857971e-5,3.00968495932514e-8,0.0013098006051115334,-2.8507901829533638e-5,3.010335322333937e-8,0.0013100766331532816,-2.8461574612671678e-5,3.006956699423517e-8,0.00131031764281404,-2.8363692896845595e-5,3.0002285569679514e-8,0.0013105049028917662,-2.823351948220192e-5,2.991431821194102e-8,0.0013106264457913824,-2.809877946612421e-5,2.9824048280105456e-8,0.001310681133427025,-2.7993271777071674e-5,2.9753766780009736e-8,0.0013106824426351005,-2.795161269268233e-5,2.972610709291234e-8,0.0013106598420135267,-2.8000824017845768e-5,2.975846481850516e-8,0.001310655166280242,-2.8150479328616627e-5,2.9856575254154354e-8,0.0013107127876955784,-2.8385509043680695e-5,3.000993471753322e-8,0.0013108657814568222,-2.866643869990418e-5,3.0192141079751784e-8,0.0013111236756196114,-2.8939129152693387e-5,3.036744088323199e-8,0.0013114677764056418,-2.915104009753794e-5,3.0501486920959236e-8,0.001311856492484787,-2.9267251923133067e-5,3.0571854184595145e-8,0.001312238049311916,-2.9279859822208612e-5,3.057411525864111e-8,0.0013125651169096678,-2.9208198159179714e-5,3.0521802359526976e-8,0.0013128064021552001,-2.909142250826646e-5,3.044129361786551e-8,0.0013129525886068233,-2.897698933927629e-5,3.0364030849243177e-8,0.001313016206816826,-2.890865807546817e-5,3.031854722956662e-8,0.001313026461668143,-2.8916887043806896e-5,3.0324238748257375e-8,0.0013130209243820167,-2.901349026915853e-5,3.0388075426164644e-8,0.0013130364508609068,-2.91912467162573e-5,3.050460897562148e-8,0.0013131016267059507,-2.9427863667728573e-5,3.0658773423636455e-8,0.00131323234339437,-2.9692576163541312e-5,3.0830280966021656e-8,0.0013134309224520154,-2.9953194080713292e-5,3.099817761610996e-8]} \ No newline at end of file diff --git a/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_14.json b/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_14.json new file mode 100644 index 0000000..d4e8a6f --- /dev/null +++ b/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_14.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1.0,"startIndex":14000,"numberOfSamples":1000,"samples":[0.0013136880538731968,-3.0181825300251084e-5,3.1144455018197914e-8,0.0013139862307697747,-3.0358458604268804e-5,3.125626468859012e-8,0.0013143034381558063,-3.0472498704118995e-5,3.1326857923882795e-8,0.001314616342296335,-3.0522889122674205e-5,3.135568412117831e-8,0.0013149028238326915,-3.051757614543907e-5,3.134810730752583e-8,0.0013151441476950397,-3.0472812693602606e-5,3.1315005489895234e-8,0.001315327245423572,-3.041233669157899e-5,3.127221966442859e-8,0.0013154474985632677,-3.0365940022199845e-5,3.1239522569258994e-8,0.0013155119761371786,-3.0366482616605727e-5,3.123852579233063e-8,0.0013155421786821661,-3.044428590458291e-5,3.1288903751562086e-8,0.0013155741637083083,-3.061859253490029e-5,3.140279579367739e-8,0.0013156532826805987,-3.08878545724263e-5,3.15785553459714e-8,0.0013158221093964287,-3.122350814634265e-5,3.179684474210843e-8,0.0013161043666861684,-3.1573152017452694e-5,3.202287220092828e-8,0.001316492562279381,-3.187552478285449e-5,3.221630534507893e-8,0.0013169475071545026,-3.2081986318948946e-5,3.234541530079332e-8,0.0013174114482328236,-3.217362581767834e-5,3.2398333198900105e-8,0.0013178279759007432,-3.216549962188907e-5,3.238578137269618e-8,0.0013181587209702065,-3.209786877058771e-5,3.233512178519737e-8,0.0013183908584672483,-3.202101456924127e-5,3.2280078366949867e-8,0.0013185355723118594,-3.198087692229784e-5,3.22510415181099e-8,0.0013186210256550192,-3.200948903377424e-5,3.226871171627078e-8,0.001318683516304464,-3.212087078817048e-5,3.2341550899422565e-8,0.0013187592325329092,-3.2311333689063695e-5,3.246626921888799e-8,0.0013188777975085585,-3.256278527721231e-5,3.263027897225073e-8,0.0013190580943835157,-3.28478210560236e-5,3.281520552707126e-8,0.001319306537685271,-3.3135522599053245e-5,3.30007052286256e-8,0.0013196176305973269,-3.339691167788335e-5,3.3167938459672674e-8,0.0013199762931723731,-3.360923943949643e-5,3.330224076991175e-8,0.001320361240591444,-3.3758679883073964e-5,3.339478932604852e-8,0.0013207486407314094,-3.3841371491741154e-5,3.3443266039948134e-8,0.0013211154170834028,-3.3863122696377714e-5,3.345170814905867e-8,0.0013214419486963593,-3.3838325595684376e-5,3.342984862739796e-8,0.0013217143059939618,-3.3788485178276064e-5,3.3392152957732015e-8,0.0013219262892678202,-3.374042925569602e-5,3.3356565064026065e-8,0.0013220814837101608,-3.37239298755937e-5,3.334280561542386e-8,0.0013221952658236343,-3.3768093745891034e-5,3.336987271475884e-8,0.0013222959339579021,-3.389572813238187e-5,3.345230413051685e-8,0.0013224231012386285,-3.411559264521433e-5,3.359518483099222e-8,0.001322620987373266,-3.44143314836092e-5,3.378904291433436e-8,0.0013229254974994617,-3.47525377055976e-5,3.4007455453146385e-8,0.0013233481259613213,-3.507078420316715e-5,3.421110391244622e-8,0.0013238651644779758,-3.5307915680853196e-5,3.435980179531848e-8,0.0013244214578083684,-3.5424988893193025e-5,3.4428250117923195e-8,0.0013249498096669955,-3.5421322382391885e-5,3.441665080515855e-8,0.0013253957656545127,-3.533284530570563e-5,3.4349593606930406e-8,0.0013257341054285624,-3.521518782185486e-5,3.4264687362774436e-8,0.0013259708733802966,-3.5122901891955616e-5,3.4198504380576074e-8,0.0013261345823387194,-3.509485421874728e-5,3.4176685340857736e-8,0.0013262639590043055,-3.514877227589115e-5,3.421034115508173e-8,0.0013263974759466818,-3.5282692478288204e-5,3.42972534612874e-8,0.0013265664975942637,-3.547980948220061e-5,3.4425417060696266e-8,0.00132679174008558,-3.5714173837029465e-5,3.457707337361339e-8,0.0013270820868991236,-3.595606011854193e-5,3.473236215303623e-8,0.0013274350277215283,-3.617667618018595e-5,3.487237396855363e-8,0.0013278383205704806,-3.6352045676457e-5,3.4981566469251094e-8,0.0013282725585155749,-3.6465885830951754e-5,3.504952018493835e-8,0.0013287143399232126,-3.651136884131447e-5,3.507202780552796e-8,0.001329139723468503,-3.649166207236073e-5,3.5051459488144146e-8,0.0013295275370495275,-3.6419245769639135e-5,3.499636143139478e-8,0.0013298621741601225,-3.631427873602864e-5,3.492040029054349e-8,0.0013301357987788196,-3.620233676919433e-5,3.484081953074903e-8,0.0013303500182077856,-3.6111625895291846e-5,3.4776475543805855e-8,0.0013305170072328,-3.606960581815073e-5,3.4745462642883064e-8,0.0013306599051258836,-3.609882203418703e-5,3.4762278550856455e-8,0.0013308118536023116,-3.621166286686944e-5,3.483441417239421e-8,0.0013310123518564367,-3.64043217054422e-5,3.495855682409469e-8,0.0013312994223816388,-3.6651762152887505e-5,3.511751481890027e-8,0.0013316973518746693,-3.6907391838432765e-5,3.528018149292224e-8,0.0013322032136629622,-3.711186898684884e-5,3.540737536800615e-8,0.0013327798493111566,-3.721219549322923e-5,3.546437127639159e-8,0.0013333634934342639,-3.718420813249119e-5,3.543571757580381e-8,0.001333886255019829,-3.70450465515009e-5,3.53335093009964e-8,0.0013343019613464686,-3.6846215847581066e-5,3.5192757078025216e-8,0.001334600413137058,-3.6651362298198277e-5,3.505642654975122e-8,0.0013348042208097524,-3.6512872822752915e-5,3.495958564720737e-8,0.0013349544109773996,-3.6458841744971036e-5,3.49205708479965e-8,0.0013350949386154267,-3.649215529746224e-5,3.49404840851344e-8,0.0013352621732775469,-3.659679818886342e-5,3.500770195061645e-8,0.001335480179315456,-3.6746003522191745e-5,3.510363508802379e-8,0.0013357600358690303,-3.6909212409168185e-5,3.520756323936493e-8,0.0013361011544938224,-3.705705068984642e-5,3.52999605336332e-8,0.00133649332519081,-3.7164741980348925e-5,3.536463540591373e-8,0.0013369190829818159,-3.7214510810799346e-5,3.539015342857483e-8,0.0013373563443612583,-3.719721204638616e-5,3.537079341232845e-8,0.0013377813051418917,-3.711323131523201e-5,3.530711046883947e-8,0.0013381715937814552,-3.697254005026054e-5,3.520601101140213e-8,0.0013385094912165925,-3.6793660324817705e-5,3.5080116340020854e-8,0.0013387847813319696,-3.660147627572446e-5,3.494630461274569e-8,0.0013389968351418553,-3.642410292771776e-5,3.482354178926302e-8,0.0013391557003256266,-3.628905404552198e-5,3.473019081800264e-8,0.0013392819820180002,-3.621893946658274e-5,3.468102678374732e-8,0.0013394052631200586,-3.622700347066692e-5,3.468425016446891e-8,0.0013395607383982387,-3.631286700900988e-5,3.473878515860904e-8,0.0013397835600754613,-3.645915330073845e-5,3.483228424044899e-8,0.0013401005623555385,-3.663056453013473e-5,3.494077405219707e-8,0.0013405202232471124,-3.6777887727110934e-5,3.5031461893425745e-8,0.0013410241084409612,-3.684910446392256e-5,3.5070089714356354e-8,0.0013415655317836142,-3.68068037108336e-5,3.503236888286036e-8,0.0013420805713068025,-3.664539114072159e-5,3.491530557749418e-8,0.0013425100358751974,-3.6397470548011556e-5,3.47413920987351e-8,0.00134282186684753,-3.6122771266874264e-5,3.455114282299104e-8,0.0013430210440999052,-3.5884585735838275e-5,3.438718523558038e-8,0.0013431424937006674,-3.5727401868071906e-5,3.427912167202074e-8,0.00134323392387406,-3.5666709476200635e-5,3.423668442759081e-8,0.0013433393957544833,-3.569188452387105e-5,3.425186840423222e-8,0.0013434898472930886,-3.577592172660759e-5,3.430576805004325e-8,0.0013437006458960645,-3.588557734935549e-5,3.4375631883152696e-8,0.0013439733632099559,-3.598872432152733e-5,3.443987682266083e-8,0.0013442990272794215,-3.6058572131738544e-5,3.448082578605249e-8,0.0013446613049089872,-3.6075754726357985e-5,3.44859220020242e-8,0.001345039248616876,-3.6029368037547205e-5,3.444825503332818e-8,0.0013454098213895693,-3.591751673460431e-5,3.436684759254604e-8,0.0013457504724702282,-3.57474829484819e-5,3.424678910825797e-8,0.0013460419605556845,-3.5535332633184876e-5,3.409904369034362e-8,0.0013462713941414768,-3.530453678562293e-5,3.3939575913952353e-8,0.0013464350440412546,-3.5083247688415916e-5,3.3787496601098456e-8,0.001346540218956281,-3.490026072080504e-5,3.366224387151234e-8,0.0013466055506973335,-3.478008498355249e-5,3.358013732940204e-8,0.001346659241019408,-3.4737853074248655e-5,3.355088149022233e-8,0.0013467351263881956,-3.477505002897689e-5,3.3574748237485566e-8,0.0013468668157807983,-3.487707274585662e-5,3.36411293630354e-8,0.0013470805087412794,-3.501350818296307e-5,3.3728992049500143e-8,0.0013473874871725111,-3.5141989537112516e-5,3.3809694862078156e-8,0.0013477779846166242,-3.5216299066590065e-5,3.385250575241212e-8,0.0013482190793279586,-3.5198369687471605e-5,3.3832555330064887e-8,0.001348659613978359,-3.507162618165665e-5,3.3739577083562544e-8,0.001349043468490627,-3.485031268644354e-5,3.358395470384573e-8,0.001349327999366581,-3.4578485620740276e-5,3.3395893343763146e-8,0.0013494994616960665,-3.431622032059404e-5,3.321604676365601e-8,0.001349576900362316,-3.411840812110945e-5,3.3081186820720924e-8,0.0013496024923671088,-3.4016892922365775e-5,3.3012189592066463e-8,0.0013496246279193777,-3.401415154718749e-5,3.300992090644571e-8,0.0013496829179363164,-3.408870967312186e-5,3.305913434321514e-8,0.0013498005419856707,-3.420638364611618e-5,3.313629142245499e-8,0.001349983766265312,-3.433103577998142e-5,3.3216931742549514e-8,0.001350225503188383,-3.443167213616684e-5,3.328041116125517e-8,0.001350509870791549,-3.44857855079198e-5,3.3311987997451824e-8,0.001350816111848709,-3.44802776149318e-5,3.330325655153641e-8,0.0013511215354534733,-3.44113203272646e-5,3.325193674476666e-8,0.0013514038266242718,-3.428394324938091e-5,3.3161588903372553e-8,0.0013516432294084326,-3.41115562702498e-5,3.3041366067246576e-8,0.0013518249947347244,-3.391515061958602e-5,3.29055587983786e-8,0.0013519421489563276,-3.372159161237384e-5,3.277246672853169e-8,0.0013519981162253448,-3.35604192219653e-5,3.2662172488743894e-8,0.0013520082488663807,-3.345899609113347e-5,3.259313778399188e-8,0.0013519991491952143,-3.343655294053388e-5,3.257806735071459e-8,0.0013520049886915973,-3.349849264305731e-5,3.262004101630264e-8,0.0013520609158930905,-3.36328575909331e-5,3.2710241377374956e-8,0.0013521948074782938,-3.3810651240403614e-5,3.2828394204526694e-8,0.0013524194680195325,-3.399070247049815e-5,3.2946301667474426e-8,0.0013527275548078518,-3.412846985252045e-5,3.3033954284171145e-8,0.0013530910516223313,-3.41870260521444e-5,3.306696170857802e-8,0.0013534662186818406,-3.414758958099839e-5,3.303351712767489e-8,0.0013538036921596796,-3.401650121264336e-5,3.293885919569297e-8,0.0013540617630267778,-3.3825695437600704e-5,3.280532715743045e-8,0.0013542189655621978,-3.3625013396523797e-5,3.2666968653528377e-8,0.0013542809896239987,-3.3467679762926974e-5,3.255963827369867e-8,0.0013542783419837156,-3.3394020433318414e-5,3.251003853738814e-8,0.0013542554119995557,-3.342020697923614e-5,3.252828382153754e-8,0.0013542560140103023,-3.3536391035527796e-5,3.2606892142050424e-8,0.0013543116989025482,-3.371353007933651e-5,3.2725642792952345e-8,0.0013544365308802784,-3.391431273365121e-5,3.285910327271554e-8,0.0013546280975285543,-3.410316353858851e-5,3.2983383466057345e-8,0.0013548720539619643,-3.4252552907384106e-5,3.308026489902493e-8,0.001355147353668992,-3.43454908576762e-5,3.313870075252464e-8,0.0013554305468037433,-3.437553330264171e-5,3.315467676927687e-8,0.0013556988011802253,-3.434572357619407e-5,3.313045281129339e-8,0.0013559320038673691,-3.426735815892247e-5,3.30737806614842e-8,0.0013561145343338845,-3.415887769336406e-5,3.299724375590522e-8,0.0013562372346350193,-3.40446430953795e-5,3.291748056072256e-8,0.001356299729968249,-3.395293821719811e-5,3.285379960496967e-8,0.0013563126464800305,-3.39124616274109e-5,3.2825694374099335e-8,0.0013562986345168043,-3.394695718115785e-5,3.284908231937111e-8,0.0013562906901488832,-3.406854808973949e-5,3.2931730931658255e-8,0.0013563265580224901,-3.4271700357362895e-5,3.3069227097465745e-8,0.0013564394803830895,-3.453081024388408e-5,3.3243512234392763e-8,0.001356647830444362,-3.480395690125668e-5,3.342564568063368e-8,0.0013569477158602284,-3.504296952579012e-5,3.358281757335669e-8,0.0013573120584085639,-3.52068525793514e-5,3.368754392194241e-8,0.001357697050412798,-3.5273779767518736e-5,3.3725762172275216e-8,0.0013580538346326509,-3.524742322405932e-5,3.3700952947215904e-8,0.0013583414729187431,-3.515577457801083e-5,3.3633068996217375e-8,0.0013585373183607017,-3.504326814963739e-5,3.3552899090837633e-8,0.0013586421139425234,-3.4958781479045985e-5,3.3493719387707e-8,0.001358678685937704,-3.494290707046618e-5,3.3482624669021657e-8,0.001358684778336174,-3.501803608967189e-5,3.353396129882613e-8,0.001358702322909947,-3.518405715028354e-5,3.36466993389363e-8,0.0013587666406036992,-3.542061521536396e-5,3.380626499920978e-8,0.0013588989123856205,-3.5694495803273485e-5,3.398974496696862e-8,0.001359103663247866,-3.5969025766868755e-5,3.417229612867719e-8,0.0013593708567535968,-3.621226756590788e-5,3.4332592451649465e-8,0.0013596806793210175,-3.640207539916034e-5,3.4456072169122394e-8,0.0013600088338772479,-3.6527817297702786e-5,3.4535941490019846e-8,0.0013603309085686056,-3.6589745925869715e-5,3.4572666368770736e-8,0.0013606253906847028,-3.659727205627579e-5,3.4572817000381455e-8,0.0013608755966453268,-3.656705235731982e-5,3.45478428901892e-8,0.0013610710755603856,-3.652125748003627e-5,3.4512957394544435e-8,0.0013612090115036409,-3.648585481662091e-5,3.448596151433922e-8,0.0013612958461505,-3.648833256815448e-5,3.448560847301663e-8,0.0013613487825353768,-3.655412453139295e-5,3.452905427534737e-8,0.0013613960977975756,-3.6701245140876124e-5,3.4628141465119906e-8,0.0013614745650237811,-3.693358561190437e-5,3.4784884782548805e-8,0.0013616224205170902,-3.7235042204870165e-5,3.4987633233731027e-8,0.001361868091522445,-3.756832421090297e-5,3.521045772248526e-8,0.001362218255945228,-3.788197415238886e-5,3.541808383563176e-8,0.0013626514699812326,-3.812539193249165e-5,3.557619486093644e-8,0.001363122322234058,-3.8266165560665596e-5,3.566324383611881e-8,0.0013635754647547845,-3.830134386399334e-5,3.5678079037798024e-8,0.0013639630780626708,-3.825738313571894e-5,3.563975015298319e-8,0.001364258080357862,-3.817994201829989e-5,3.5580274568062977e-8,0.0013644589434662312,-3.811922202797349e-5,3.5534332460088205e-8,0.0013645865742663128,-3.81166924124298e-5,3.5530027944857735e-8,0.0013646762446455044,-3.819653354824757e-5,3.558310331044814e-8,0.001364767819829093,-3.8362605590993256e-5,3.569514079478911e-8,0.0013648967631197295,-3.8600238344742254e-5,3.585514627803409e-8,0.0013650874946786213,-3.888148752071901e-5,3.60434300221522e-8,0.0013653499642588421,-3.917227000116867e-5,3.62365942886353e-8,0.00136567964200512,-3.943967176457917e-5,3.6412451385441956e-8,0.0013660603709506384,-3.965784039600382e-5,3.65538578644758e-8,0.0013664688889499187,-3.981147629204727e-5,3.665089579529965e-8,0.0013668796761675812,-3.989679821734419e-5,3.6701401260529234e-8,0.0013672690955396569,-3.992052333462929e-5,3.6710241547116054e-8,0.0013676183253096337,-3.9897716306200194e-5,3.668789735721834e-8,0.0013679151464472477,-3.984932666566189e-5,3.664884493646582e-8,0.0013681550099158162,-3.979985343784534e-5,3.660997364210455e-8,0.0013683418187992174,-3.977508572660584e-5,3.658897704031485e-8,0.0013684886345164064,-3.9799531863791056e-5,3.6602481816290366e-8,0.0013686181140462686,-3.989297417404592e-5,3.6663608773571173e-8,0.0013687618136698219,-4.006569078124706e-5,3.677873040014451e-8,0.0013689567976789784,-4.031268759372785e-5,3.6943686509812775e-8,0.0013692379960220952,-4.0608958982055686e-5,3.714077674900414e-8,0.0013696263976024602,-4.0909688045915914e-5,3.733908018595111e-8,0.001370116858706226,-4.115943735403728e-5,3.7500783826076915e-8,0.0013706730192843547,-4.131030892561659e-5,3.759353716751259e-8,0.0013712357655380756,-4.1341651354543865e-5,3.760387092264407e-8,0.001371743681640421,-4.1269733274189294e-5,3.754378869036469e-8,0.0013721549303818486,-4.114093707006044e-5,3.744600118910848e-8,0.0013724590038156602,-4.1013018078885606e-5,3.7350822712677154e-8,0.0013726746583584263,-4.0935524588789915e-5,3.7292433498253575e-8,0.0013728388253621247,-4.093780361015353e-5,3.7290504667023286e-8,0.0013729936653109317,-4.102619609853645e-5,3.7348411588796894e-8,0.001373176359782013,-4.118762655376452e-5,3.745605098886693e-8,0.0013734130133102524,-4.139607981819826e-5,3.759467361926248e-8,0.0013737161837680623,-4.161950138762874e-5,3.7741869452387925e-8,0.0013740850229568907,-4.182594710895547e-5,3.787581954548767e-8,0.0013745072421834012,-4.198858396882682e-5,3.797857502949695e-8,0.0013749623837124778,-4.208926335925624e-5,3.803827857381001e-8,0.0013754258276343432,-4.2120407717748035e-5,3.8050265155743136e-8,0.001375872892622539,-4.2085198307853355e-5,3.801710263943968e-8,0.001376282469925798,-4.199628974034897e-5,3.7947728565110885e-8,0.0013766397572874227,-4.187345120748918e-5,3.7855899666402347e-8,0.0013769379150291574,-4.1740698791756187e-5,3.775826686919178e-8,0.0013771788132807986,-4.162339046388268e-5,3.76723488673647e-8,0.0013773731537905993,-4.154540420571933e-5,3.7614493141915814e-8,0.0013775401104706387,-4.1526264618012495e-5,3.759779228022895e-8,0.0013777064032593797,-4.157796597586423e-5,3.762987031680914e-8,0.001377904267471179,-4.170125910920436e-5,3.771044184184231e-8,0.0013781672206391812,-4.188175848661827e-5,3.78288749397831e-8,0.00137852256618738,-4.2087548328483725e-5,3.7962807628071696e-8,0.0013789809169083302,-4.2271422389212076e-5,3.807982991820045e-8,0.0013795260580142504,-4.238109909941585e-5,3.8144447194615674e-8,0.0013801120459359865,-4.237742637005507e-5,3.813041208095439e-8,0.0013806741263976,-4.225334424947585e-5,3.8033625865393774e-8,0.0013811520519300435,-4.2041187655938626e-5,3.787713159675286e-8,0.0013815136370865081,-4.180098864064637e-5,3.7703002181980215e-8,0.0013817644462791729,-4.159593522969593e-5,3.755522195444356e-8,0.0013819398040921613,-4.146995772891535e-5,3.7463973571636786e-8,0.0013820873195676013,-4.143814444971667e-5,3.74389528223684e-8,0.0013822508297504756,-4.1489856674521627e-5,3.747173694159376e-8,0.0013824612018183504,-4.159808318168086e-5,3.7542636676095634e-8,0.001382733677333939,-4.172918004101423e-5,3.76277743218216e-8,0.0013830692173663335,-4.185025959459586e-5,3.7704340994960595e-8,0.0013834575067367659,-4.193387127219509e-5,3.7753754368892116e-8,0.00138388030970731,-4.196070426809343e-5,3.776329962305264e-8,0.0013843148322871465,-4.1921028124019695e-5,3.7726878625517075e-8,0.0013847370777409624,-4.181512286564115e-5,3.7645150528966244e-8,0.0013851250900450299,-4.165273271465304e-5,3.752512539985943e-8,0.0013854619058602147,-4.145156074913463e-5,3.737919056711855e-8,0.0013857379458243554,-4.123483834305219e-5,3.722351350041851e-8,0.0013859525067954938,-4.1028195536964666e-5,3.707590164867331e-8,0.001386114186987945,-4.08562465832129e-5,3.6953376917189425e-8,0.0013862402914967716,-4.0739217947163935e-5,3.6869727504020365e-8,0.0013863552819137583,-4.068981038566365e-5,3.683325080139284e-8,0.0013864882812566375,-4.071045407698197e-5,3.684488191793497e-8,0.0013866695093654466,-4.0791084850707254e-5,3.689683217641563e-8,0.0013869252570760705,-4.0907845082072896e-5,3.6971967000828836e-8,0.0013872711358115565,-4.102392437415202e-5,3.7044638632372434e-8,0.0013877044103900269,-4.10944872644231e-5,3.708418444800822e-8,0.0013881982022425643,-4.107730918647336e-5,3.70621554354846e-8,0.0013887024507251455,-4.094823201885367e-5,3.696274535980045e-8,0.0013891560996636264,-4.071545369969397e-5,3.6792453536201996e-8,0.0013895088976246747,-4.042264374578624e-5,3.658214577314118e-8,0.0013897421255975183,-4.013475017712353e-5,3.637717862062872e-8,0.0013898751358086116,-3.99123909946508e-5,3.621955119697095e-8,0.0013899539157585976,-3.97898760399196e-5,3.613256495667892e-8,0.0013900305358917047,-3.976825529054825e-5,3.611605869920365e-8,0.0013901459897183817,-3.982280938552323e-5,3.615187595826213e-8,0.001390322583927315,-3.9916483926864295e-5,3.621354110721034e-8,0.0013905644815372748,-4.00116379826972e-5,3.627465691377648e-8,0.001390862196549241,-4.007719389834769e-5,3.6313891042696686e-8,0.0013911977272878053,-4.009168854677753e-5,3.631692015857626e-8,0.001391548803289706,-4.004388985804637e-5,3.627660019245447e-8,0.0013918921108757572,-3.9932383942914886e-5,3.619246897144912e-8,0.001392205925877442,-3.976474847087717e-5,3.607009012040189e-8,0.001392472481833256,-3.9556371616133894e-5,3.592027726302581e-8,0.0013926801795685095,-3.932876436594814e-5,3.5758025153182566e-8,0.0013928255206943443,-3.910712261197275e-5,3.5600891948591315e-8,0.0013929143574365078,-3.891704325009154e-5,3.546670424830646e-8,0.0013929619662561058,-3.878067864465175e-5,3.5370785800753655e-8,0.0013929916634681091,-3.8712865216251155e-5,3.5323145245009847e-8,0.0013930319212074739,-3.871783709874851e-5,3.532613964822986e-8,0.0013931121650108214,-3.878718027241075e-5,3.537313617747967e-8,0.0013932576761824852,-3.889956926863257e-5,3.544855030305457e-8,0.0013934841205019005,-3.902264562679513e-5,3.5529430896809445e-8,0.0013937923389470475,-3.911747336501126e-5,3.558876680690813e-8,0.0013941645951322254,-3.9146037401005566e-5,3.560072677257016e-8,0.0013945643433518572,-3.908149684330105e-5,3.554760976148454e-8,0.0013949419740809537,-3.8919080012482775e-5,3.54271205202408e-8,0.0013952477277678645,-3.868301987054237e-5,3.525691407233159e-8,0.001395448996586115,-3.842366805801884e-5,3.507242835859129e-8,0.0013955441184541493,-3.8202198743737096e-5,3.491619511363628e-8,0.001395563841894682,-3.806835542580855e-5,3.482237329132881e-8,0.0013955584098649994,-3.804297850225461e-5,3.4804676331452736e-8,0.0013955778157443777,-3.8114400232592614e-5,3.4854056156277526e-8,0.0013956561830292,-3.8248114880291454e-5,3.4945709067619815e-8,0.0013958061096767589,-3.840169374270801e-5,3.504970300817749e-8,0.001396021525706078,-3.853707477095065e-5,3.513962678304474e-8,0.0013962843041433993,-3.8627076516026636e-5,3.5197026880596114e-8,0.0013965707576988314,-3.865699570879773e-5,3.521229439063478e-8,0.0013968563725718281,-3.8623536025609064e-5,3.5183688298750485e-8,0.0013971187911648243,-3.8532907044979155e-5,3.511587978476073e-8,0.001397339741657006,-3.8398963032655006e-5,3.501866053362015e-8,0.0013975065707011172,-3.824149273866268e-5,3.490584928664414e-8,0.0013976137214529206,-3.808437691328442e-5,3.47941124837482e-8,0.0013976641337538325,-3.795316224892923e-5,3.470130668547223e-8,0.0013976701313359334,-3.787171824233571e-5,3.4644083108582145e-8,0.0013976530803277948,-3.785809777299285e-5,3.4634877223998395e-8,0.0013976411745630901,-3.792027581554576e-5,3.467883721971932e-8,0.0013976651171231898,-3.8052873706371765e-5,3.477154552196402e-8,0.001397752138213877,-3.8236151892252456e-5,3.489846164729002e-8,0.0013979195447783234,-3.8438219455829296e-5,3.5036710195449224e-8,0.0013981694399458889,-3.862056128580171e-5,3.515918741519236e-8,0.001398486147697437,-3.874608834560939e-5,3.524031957876636e-8,0.0013988374531938928,-3.878827062153085e-5,3.526239348503685e-8,0.001399180229735303,-3.873936055813441e-5,3.52210743179183e-8,0.0013994701906148062,-3.861521125226919e-5,3.5128449985403174e-8,0.0013996740998213511,-3.845410205611195e-5,3.501191367250836e-8,0.0013997808979702491,-3.830798334251088e-5,3.490787420794603e-8,0.0013998068841861602,-3.822734029112152e-5,3.485117466616385e-8,0.0013997912690781416,-3.824484084870901e-5,3.486381492238321e-8,0.001399782875381604,-3.836511152067367e-5,3.494805808686753e-8,0.0013998239209614296,-3.856545057793629e-5,3.508720829151086e-8,0.0013999383452429608,-3.880618248898522e-5,3.5253069111989446e-8,0.001400128687982977,-3.9044513556967366e-5,3.5415721677933286e-8,0.0014003803140351105,-3.924559928935504e-5,3.555119946742358e-8,0.0014006688652410718,-3.938796884383357e-5,3.564509648433299e-8,0.0014009672459019793,-3.946401158692379e-5,3.569268613464028e-8,0.0014012504631784645,-3.9477773714654874e-5,3.5697219627372335e-8,0.0014014983378744935,-3.9442025791079544e-5,3.566783351875651e-8,0.0014016968485090753,-3.937562123845998e-5,3.561776933093947e-8,0.0014018389311078144,-3.930135009856592e-5,3.556297869454529e-8,0.0014019252611881805,-3.924395351028988e-5,3.552079791655267e-8,0.0014019650674987158,-3.922771502573723e-5,3.550823547292913e-8,0.0014019765254487317,-3.927316184126799e-5,3.5539561321083074e-8,0.0014019859072127623,-3.939286678870541e-5,3.562326047613582e-8,0.0014020245683540645,-3.9587049026522654e-5,3.57589225433063e-8,0.0014021232793080098,-3.984050350448809e-5,3.5935183683834784e-8,0.0014023045619820167,-4.0122876368864325e-5,3.613011664758931e-8,0.001402575188517273,-4.0393711578013267e-5,3.631499515737404e-8,0.0014029218430838034,-4.0611873294491905e-5,3.6461068646827724e-8,0.0014033123169753285,-4.074679499372091e-5,3.654749216388009e-8,0.0014037026283073234,-4.078780138232347e-5,3.6567752091281347e-8,0.0014040481592061073,-4.074819558912667e-5,3.653228462529379e-8,0.0014043154629272954,-4.0662606574106574e-5,3.646629348386904e-8,0.0014044912857379814,-4.057825582912705e-5,3.640333363998543e-8,0.001404586199481951,-4.054249152292174e-5,3.6376420565956944E-08,0.0014046315916832204,-4.059001163717845e-5,3.640913312668297e-8,0.0014046706036646942,-4.073363552405963e-5,3.650939734711049e-8,0.0014047457709805932,-4.096173679938644e-5,3.6668033280187714e-8,0.0014048875975041877,-4.1243138982900314e-5,3.686248986601918e-8,0.0014051079231287907,-4.153727189609017e-5,3.706412048229687e-8,0.0014053996891925462,-4.180543919169627e-5,3.724605723962737e-8,0.0014057418851642401,-4.201928520354164e-5,3.7388982979293707e-8,0.0014061067325829505,-4.216459310863377e-5,3.748357386154352e-8,0.0014064662792454632,-4.2240904034702006e-5,3.75300453375767e-8,0.001406796935332708,-4.225873123662221e-5,3.753610982343233e-8,0.0014070818711074016,-4.223609237701761e-5,3.7514565091294765e-8,0.0014073119283782146,-4.219538055815336e-5,3.748118402098386e-8,0.0014074858454996213,-4.216086923191445e-5,3.7453036902211475e-8,0.0014076103837110468,-4.215657537536124e-5,3.744699428145286e-8,0.001407700482867457,-4.2203893189522455e-5,3.7477990165415446e-8,0.0014077790394113716,-4.231848459825597e-5,3.755673767593618e-8,0.0014078754676845311,-4.250633958081457e-5,3.768691664581742e-8,0.0014080219967517041,-4.275967059593405e-5,3.7862358742113034e-8,0.0014082470158322466,-4.305438268393406e-5,3.8065444478173206e-8,0.0014085662107764442,-4.3351709842482535e-5,3.826846229183665e-8,0.0014089744868300872,-4.360598119993927e-5,3.843922404533621e-8,0.0014094431536157055,-4.377765422595991e-5,3.8550288702544655e-8,0.0014099256069116926,-4.384699363489847e-5,3.8588547143931624e-8,0.001410370621965012,-4.3822017616625005e-5,3.8560684416864574e-8,0.0014107379906385569,-4.373660777036701e-5,3.8491618344667396e-8,0.001411009964557524,-4.363969764258664e-5,3.841657689536917e-8,0.0014111946000197385,-4.3580512043394426e-5,3.8370420063415034e-8,0.0014113211867777273,-4.359545857298468e-5,3.837829828573306e-8,0.0014114306461733982,-4.3700232323209964e-5,3.8450239351540594e-8,0.001411564408632792,-4.388818610139138e-5,3.858035161105931e-8,0.0014117547305501578,-4.4134232812283986e-5,3.874997182226532e-8,0.0014120184750084578,-4.440248212920195e-5,3.8933324817321076e-8,0.0014123552829552618,-4.4655279826922307e-5,3.910396017989396e-8,0.0014127498958597165,-4.4861304314633954e-5,3.924032595412258e-8,0.0014131773611926266,-4.500092974261656e-5,3.932930729967511e-8,0.0014136092759243295,-4.5068124233728125e-5,3.9367328715653395e-8,0.001414019350464863,-4.50693223258045e-5,3.9359414083827914e-8,0.001414387280570928,-4.5020436860496765e-5,3.931705416718012e-8,0.0014147007530842784,-4.4943253683445574e-5,3.925572649703533e-8,0.0014149560140847756,-4.486209219785531e-5,3.919262101512192e-8,0.0014151576551419522,-4.4801074437002196e-5,3.914474595500056e-8,0.001415318136201093,-4.478183557739158e-5,3.912726793698288e-8,0.0014154572003696824,-4.482122856836196e-5,3.9151802563573214e-8,0.0014156009001108517,-4.492859041749618e-5,3.9224425325897754e-8,0.0014157795097893533,-4.5102449376290346e-5,3.93433918158505e-8,0.0014160233109937125,-4.532727500167816e-5,3.94970098303655e-8,0.0014163555567608258,-4.557201265798743e-5,3.96628298780135e-8,0.0014167833913719533,-4.579313198730899e-5,3.980996986060289e-8,0.0014172901012929602,-4.594441145983626e-5,3.990606550755613e-8,0.0014178341748209257,-4.599235373069634e-5,3.9928088314464635e-8,0.0014183591944381855,-4.593096157451421e-5,3.987268351609923e-8,0.0014188124373602864,-4.5787093578951006e-5,3.975984439233655e-8,0.001419163393834719,-4.561185313227637e-5,3.9626636645945325e-8,0.0014194126920989531,-4.5462152420401115e-5,3.951386849890556e-8,0.0014195882504336435,-4.5382171232237414e-5,3.945270542300551e-8,0.0014197329253106763,-4.539256577330823e-5,3.9456983564371725e-8,0.0014198906236090039,-4.548923231726588e-5,3.952257759491028e-8,0.001420095771986858,-4.5648857684138e-5,3.963175850856077e-8,0.0014203677362581296,-4.5837385340540104e-5,3.975959325884974e-8,0.0014207096597213865,-4.601850510949015e-5,3.988016811818957e-8,0.0014211104809135435,-4.616063637726872e-5,3.9971495331700885e-8,0.0014215489510336552,-4.624177480943514e-5,4.001871904464167e-8,0.0014219986351035052,-4.6251956591088596e-5,4.0015574979438314e-8,0.0014224329376801295,-4.619339291718908e-5,3.996426457805398e-8,0.001422829353219783,-4.607871301987465e-5,3.9874120697775513e-8,0.0014231724530763103,-4.592798447099774e-5,3.9759530620922137e-8,0.0014234554326269762,-4.57652124151591e-5,3.9637548056577846e-8,0.0014236803642659415,-4.561496504861187e-5,3.952556952558051e-8,0.0014238575838519927,-4.5499512314608026e-5,3.943929979142778e-8,0.0014240046262760098,-4.543644346492547e-5,3.9390987574810174e-8,0.0014241448474782898,-4.543650107068099e-5,3.938780661528568e-8,0.0014243055769598875,-4.55014025622324e-5,3.943030334635427e-8,0.0014245153230789524,-4.562160361393435e-5,3.951093333991738e-8,0.0014247992679477627,-4.5774516750711624e-5,3.9613026810845106e-8,0.0014251725776000539,-4.592471607435623e-5,3.97111673534239e-8,0.0014256324150758487,-4.6028499832087334e-5,3.9774539919194244e-8,0.0014261519278773278,-4.604466942670059e-5,3.97745103455597e-8,0.0014266816106519023,-4.595018557846401e-5,3.9695557904295956e-8,0.0014271621257017225,-4.575388705227969e-5,3.9544859389287236e-8,0.0014275457311608392,-4.549845458283125e-5,3.935358890200528e-8,0.001427815306107102,-4.524605002091276e-5,3.916657774531871e-8,0.0014279894860666584,-4.505443172790813e-5,3.9025101307670685e-8,0.001428111845943068,-4.4957151971777735e-5,3.895259664595886e-8,0.0014282324457039898,-4.4956997998443266e-5,3.8950037799349965e-8,0.0014283921152246375,-4.5031813061035744e-5,3.9000405529012745e-8,0.001428614503799861,-4.514594302658012e-5,3.907728510090153e-8,0.0014289052039444517,-4.526123102336767e-5,3.915303573565249e-8,0.0014292549887714064,-4.5344780633131716e-5,3.9204408290150735e-8,0.0014296445351593818,-4.537328317671618e-5,3.921546485399938e-8,0.0014300491927835234,-4.533479827914965e-5,3.917854634066426e-8,0.0014304433224275918,-4.522881772940035e-5,3.909403114722347e-8,0.001430804033341362,-4.5065037434135e-5,3.896929881664266e-8,0.001431114134170649,-4.486114602985143e-5,3.8817147411994384e-8,0.001431364173594574,-4.463995090524377e-5,3.8653843304944497e-8,0.001431553477665542,-4.4426110315797016e-5,3.8496905092415785e-8,0.0014316900992935974,-4.4242818950062476e-5,3.8362786478080485e-8,0.0014317897941557708,-4.410886020323244e-5,3.8264727869013804e-8,0.0014318743099349634,-4.403620954390451e-5,3.8210949087253464e-8,0.0014319691565770345,-4.402814004867514e-5,3.8203232744223565e-8,0.0014321008288139233,-4.407781633250867e-5,3.823596615193787e-8,0.0014322933132242908,-4.4167493057523215e-5,3.829575167824442e-8,0.0014325635783059797,-4.426874231918825e-5,3.8361828243839776e-8,0.0014329159984174987,-4.4344806916418694e-5,3.8407962919808685e-8,0.0014333367610415697,-4.435666435111393e-5,3.840682171688473e-8,0.0014337910720800594,-4.4273697098380086e-5,3.833742616530986e-8,0.0014342273731959762,-4.408716016137151e-5,3.819450047412489e-8,0.0014345914434781843,-4.382020957560829e-5,3.79954130449742e-8,0.0014348470970175808,-4.352582193219588e-5,3.7778581483576264e-8,0.0014349925697684392,-4.326902649537983e-5,3.759070188014273e-8,0.0014350613489107376,-4.3101343714786775e-5,3.746837044387351e-8,0.0014351064354383872,-4.304237393549526e-5,3.74248666578265e-8,0.0014351786308693037,-4.3077895175319485e-5,3.744893988723652e-8,0.001435311120145527,-4.3171511316731736e-5,3.751349253798805e-8,0.001435514983638263,-4.3280124103506245e-5,3.7587031889058094e-8,0.0014357827442222175,-4.33657644870084e-5,3.764234602726513e-8,0.0014360950176135047,-4.340168328161423e-5,3.766080981694061e-8,0.0014364268982985113,-4.3373918763642415e-5,3.7633249662091946e-8,0.0014367527843651797,-4.328039694830718e-5,3.755898187846603e-8,0.0014370497401466067,-4.312909776010434e-5,3.7444270646673757e-8,0.0014372999251545048,-4.29358844997081e-5,3.730070931627148e-8,0.0014374923724849156,-4.2722063680720855e-5,3.71435536648068e-8,0.0014376241618117747,-4.251167408721932e-5,3.6989920136254e-8,0.0014377009262072043,-4.2328490779715396e-5,3.6856738666764285e-8,0.0014377364788064743,-4.2192837572660376e-5,3.675846863045126e-8,0.0014377513692969844,-4.2118585485798534e-5,3.6704856042820815e-8,0.001437770451447845,-4.2110786884528316e-5,3.669912913273134e-8,0.0014378196981251372,-4.21642244916051e-5,3.6736925449717485e-8,0.0014379224790505686,-4.226308798281828e-5,3.680616377621557e-8,0.0014380955334853483,-4.238200534606743e-5,3.6888012155040675e-8,0.0014383449114242503,-4.2488670304332985e-5,3.6959034935254815e-8,0.0014386623333420816,-4.254848883471872e-5,3.69946922542799e-8,0.001439023053413255,-4.253172746547254e-5,3.6974437223496824e-8,0.00143938722951177,-4.242284653717159e-5,3.688818009449981e-8,0.001439707137154768,-4.222971419566938e-5,3.674257304428873e-8,0.0014399409659193428,-4.198781671588203e-5,3.656376280190634e-8,0.001440069459918548,-4.1753765044836575e-5,3.6392606119182155e-8,0.001440106597622063,-4.158679104094984e-5,3.6271381464065536e-8,0.0014400959148385573,-4.1525832600832144e-5,3.622739349459521e-8,0.0014400927711180566,-4.15752438414865e-5,3.626283531393904e-8,0.0014401429180055368,-4.170699406909172e-5,3.635659541946491e-8,0.0014402691460889587,-4.1875615871244114e-5,3.6475292110604114e-8,0.0014404700687453444,-4.20353985030447e-5,3.658586574851633e-8,0.0014407270427852904,-4.215187194132588e-5,3.666388371140973e-8,0.001441013130719309,-4.220595818615349e-5,3.6696359973947585e-8,0.0014413003263376396,-4.219308157288958e-5,3.6680826446642095e-8,0.001441564033217401,-4.212012924590863e-5,3.662287749152233e-8,0.0014417853809006085,-4.2002181831792545e-5,3.653368462176073e-8,0.0014419523959797523,-4.185969337729201e-5,3.642799751790315e-8,0.0014420606999227586,-4.171600435622608e-5,3.632248964966348e-8,0.0014421139198980406,-4.159487387718513e-5,3.623411674528073e-8,0.0014421237028206181,-4.151777055500738e-5,3.6178218018737015e-8,0.0014421089934266833,-4.150085444996026e-5,3.6166287820635e-8,0.0014420941576250958,-4.155198804294638e-5,3.620370937664565e-8,0.0014421057972856064,-4.166845338362705e-5,3.628802792965738e-8,0.0014421685219863218,-4.183607922736202e-5,3.6408352528175015e-8,0.0014423002757643633,-4.203032172674412e-5,3.65463031098458e-8,0.0014425080608542666,-4.22195472333642e-5,3.667862994977846e-8,0.001442784991572208,-4.237031728117714e-5,3.6781252110025435e-8,0.0014431095090614871,-4.245409762385614e-5,3.6834180674033206e-8,0.0014434474962299161,-4.245454297942441e-5,3.682664986919906e-8,0.0014437579597159325,-4.237398291446551e-5,3.676149381934002e-8,0.0014440024218877274,-4.2236870836770005e-5,3.665727124065034e-8,0.0014441566692500326,-4.208735480065546e-5,3.654623465415403e-8,0.0014442210777839057,-4.197894413823149e-5,3.646678154580181e-8,0.0014442238639085503,-4.1957657259825583e-5,3.6451395741224957e-8,0.001444213177633174,-4.204514955028633e-5,3.6514704020701185e-8,0.0014442400148779796,-4.2230738483301597e-5,3.664799820937176e-8,0.001444340327612597,-4.2477002171248194e-5,3.6823531208232587E-08,0.0014445252831045401,-4.273521305190709e-5,3.700583739358809e-8,0.001444782633063003,-4.296167146369278e-5,3.716358146341754e-8,0.0014450854085491184,-4.312785702347721e-5,3.727679374827056e-8,0.001445401951167018,-4.322288651739154e-5,3.733842340885731e-8,0.001445703365975638,-4.3250813436262515e-5,3.735212787958807e-8,0.0014459674945798882,-4.32260760357198e-5,3.73288004390637e-8,0.001446180300220262,-4.316923443732345e-5,3.728344873718978e-8,0.0014463359582635035,-4.310370309668452e-5,3.723292189167686e-8,0.0014464365687389773,-4.305328850624032e-5,3.719426687269874e-8,0.0014464918465855834,-4.304002473972689e-5,3.718325365119318e-8,0.0014465186728166825,-4.308181819575483e-5,3.721266618215463e-8,0.0014465400355141305,-4.3189687170519945e-5,3.7290221487352145e-8,0.0014465827531187007,-4.336489798552785e-5,3.741640893771544e-8,0.0014466736056468219,-4.3596841039752464e-5,3.758294229173246e-8,0.0014468340922974643,-4.386279199894946e-5,3.77726972029659e-8,0.0014470748301542683,-4.413057535440872e-5,3.7961848327240886e-8,0.0014473912922101449,-4.4364408720834884e-5,3.812432810558878e-8,0.0014477626657607462,-4.453297875666711e-5,3.8237820661230854e-8,0.001448154854433801,-4.461771816489685e-5,3.828974037644961e-8,0.0014485274030723117,-4.461890202134063e-5,3.8281447589952853e-8,0.0014488429638407447,-4.455758179245559e-5,3.822931479912126e-8,0.001449077126957026,-4.447225398864734e-5,3.816195570741389e-8,0.001449226023125882,-4.441032020245069e-5,3.8113794316332475e-8,0.0014493090755652274,-4.441579020404974e-5,3.8116125833806295e-8,0.001449364947092221,-4.451633994090186e-5,3.818794133287042e-8,0.0014494407057380814,-4.471426477041007e-5,3.832972073058778e-8,0.0014495774144823556,-4.498555350055323e-5,3.8523117853081915e-8,0.0014497978450341655,-4.5288121537755064e-5,3.873716648698755e-8,0.001450101396289851,-4.557563857325436e-5,3.89383696430426e-8,0.0014504674700356046,-4.581077178440381e-5,3.9100206897818924e-8,0.001450864329811925,-4.59729347684755e-5,3.920855010190983e-8,0.001451258767715561,-4.605934108050844e-5,3.92621859121156e-8,0.001451623153623208,-4.608136827590191e-5,3.926997648012008e-8,0.0014519388956488832,-4.605924560935e-5,3.9246910208725725e-8,0.0014521971379447417,-4.6017229535460886e-5,3.9210629613232204e-8,0.0014523980389310705,-4.5980057149587095e-5,3.917896492879653e-8,0.0014525496603379358,-4.597051953376308e-5,3.9168276920308264e-8,0.0014526669574361673,-4.600759430739576e-5,3.9192135619664394e-8,0.0014527708281076104,-4.610453020282936e-5,3.9259884840940946e-8,0.0014528867245701964,-4.626654176388048e-5,3.9374895639106777e-8,0.0014530421048613528,-4.648831416903428e-5,3.9532731387203335e-8,0.0014532621468013511,-4.6752190201937326e-5,3.971990995005398e-8,0.0014535637916342824,-4.7028515568426274e-5,3.9914326393312656e-8,0.0014539493947660874,-4.727971460801391e-5,4.008841173852169e-8,0.0014544025921314587,-4.7468597955633217e-5,4.021531201044032e-8,0.0014548892922685616,-4.7569142347220584e-5,4.027675511472258e-8,0.0014553650558184153,-4.7575810436338764e-5,4.026972977663235e-8,0.0014557870851216873,-4.750717265528638e-5,4.020889782847651e-8,0.0014561265502366723,-4.7401772022354576e-5,4.012327246018735e-8,0.0014563767220609832,-4.730757137609055e-5,4.004821937536077e-8,0.00145655435776092,-4.726880621379515e-5,4.001569186801683e-8,0.001456694463586125,-4.73144514864003e-5,4.004587627083997e-8,0.0014568404770532691,-4.7451327393656046e-5,4.0142460997834714e-8,0.0014570327641523222,-4.7663290283813975e-5,4.029246947753112e-8,0.001457298519145466,-4.7916441311999795e-5,4.047043105356473e-8,0.0014576457793189451,-4.816871716330359e-5,4.064555627563837e-8,0.0014580630692166065,-4.8380870254886153e-5,4.07896946312839e-8,0.0014585242916217804,-4.85254475628263e-5,4.0883660976549706e-8,0.0014589966823086494,-4.859135992178545e-5,4.092028278391199e-8,0.0014594488895383127,-4.8583561201735886e-5,4.0903922552317477e-8,0.0014598568660654338,-4.851917902858856e-5,4.084752107398645e-8,0.001460206718017994,-4.8422238333548e-5,4.0768741953613706e-8,0.0014604949812930131,-4.831876578154884e-5,4.068648768877478e-8,0.0014607274013576004,-4.823314160900414e-5,4.0618350180221016e-8,0.0014609172150457537,-4.8185712318530414e-5,4.057893429465176e-8,0.001461083502746424,-4.8191179258434106E-05,4.0578670798416085e-8,0.001461249671904525,-4.82571706133708e-5,4.0622715345642995e-8,0.001461441693727446,-4.838261929000545e-5,4.07097296081658e-8,0.0014616854233344243,-4.8556014057686534e-5,4.083066061163576e-8,0.0014620023267894015,-4.8754249269082786e-5,4.0968058990523775e-8,0.0014624034953483796,-4.894358809285292e-5,4.109698020827211e-8,0.0014628831941533296,-4.908464338861261e-5,4.118875936509696e-8,0.0014634150433660768,-4.914226299762998e-5,4.121824393937142e-8,0.0014639548020531532,-4.9098224861191336e-5,4.117296927439143e-8,0.001464451637979818,-4.8961091183785824e-5,4.106020733296679e-8,0.0014648646915946838,-4.8766820370606e-5,4.090722801199529e-8,0.0014651772883869003,-4.8568009313809076e-5,4.075319349404685e-8,0.0014654017214941388,-4.8416426777365386e-5,4.063612262558724e-8,0.0014655731149098806,-4.834715390556542e-5,4.05811408271586e-8,0.0014657366598345033,-4.8370472978448067e-5,4.0594648027202523e-8,0.0014659342958094506,-4.847253437725393e-5,4.066516335293664e-8,0.0014661950114605521,-4.862215666828612e-5,4.076876008564538e-8,0.0014665301910791108,-4.8780249807602064e-5,4.0876316291687736e-8,0.0014669336173157724,-4.8909088442915184e-5,4.096041061837196e-8,0.0014673849869394323,-4.89797010783182e-5,4.10005813588427e-8,0.0014678556191269404,-4.8976435201010984e-5,4.0986359543432826e-8,0.0014683149714162325,-4.889830880085964e-5,4.091793502517985e-8,0.0014687365529222206,-4.875735290426732e-5,4.080472681276175e-8,0.0014691021142846357,-4.857481423921316e-5,4.0662543710692137e-8,0.0014694036337962362,-4.8376450354823765e-5,4.0510213167388694e-8,0.0014696432745798936,-4.8188046898087444e-5,4.0366429937764576e-8,0.0014698319277800106,-4.803190530328035e-5,4.0247286006004545e-8,0.0014699871102827962,-4.7924526915939426e-5,4.0164595796703556e-8,0.0014701307848855516,-4.787522027490336e-5,4.012482396092963e-8,0.0014702872622128149,-4.788517195205734e-5,4.012834089633514e-8,0.0014704809975428358,-4.794666693736669e-5,4.0168855709075365e-8,0.0014707338344027386,-4.804244009905834e-5,4.0233062784634995e-8,0.0014710611213139102,-4.814566107532364e-5,4.030084085232558e-8,0.0014714665413726273,-4.822181569590968e-5,4.034683134470572e-8,0.001471936732554558,-4.823419676772928e-5,4.0344537351810816e-8,0.0014724385787785134,-4.815393883152968e-5,4.02735824939934e-8,0.0014729232921461939,-4.7972708991935915e-5,4.012881131104992e-8,0.001473339733380658,-4.771194684085152e-5,3.99268721108642e-8,0.0014736534482333627,-4.7420811459529796e-5,3.97045678271898e-8,0.0014738614631978186,-4.716016424666695e-5,3.9506949528936975e-8,0.0014739933492919856,-4.697982067329245e-5,3.937043540172194e-8,0.0014740979744279096,-4.690167112469379e-5,3.931032980142313e-8,0.0014742246024554207,-4.691644256644111e-5,3.9318604552850936e-8,0.0014744082651071803,-4.69922299640802e-5,3.9370563974310175e-8,0.0014746637140043946,-4.708756851895923e-5,3.943489870131204e-8,0.0014749866046875014,-4.7162958123676244e-5,3.948243157993727e-8,0.001475358543065385,-4.71883294842356e-5,3.949159654624633e-8,0.001475753210166725,-4.714652817698946e-5,3.945074236392933e-8,0.001476142078096254,-4.7033888847950614e-5,3.9358189832320374e-8,0.0014764992123982724,-4.685887934392134e-5,3.9220928510260014e-8,0.0014768049713061416,-4.663938791887539e-5,3.905248086942313e-8,0.001477048391317066,-4.639911917690382e-5,3.8870289051615004e-8,0.0014772281442441146,-4.61636413222774e-5,3.86929540003015e-8,0.0014773521218631534,-4.595660324837137e-5,3.8537604231317574e-8,0.0014774358574483667,-4.579659133441228e-5,3.841765492707048e-8,0.0014775001956065402,-4.569496823083304e-5,3.8341186816552856e-8,0.0014775686820781154,-4.565470129067433e-5,3.830999686167372e-8,0.0014776649243166784,-4.566994456347111e-5,3.8319233095593914e-8,0.0014778099359220231,-4.5726192560117234e-5,3.83575570353092e-8,0.0014780193244124584,-4.580097117160524e-5,3.840782891730723e-8,0.0014783000450939625,-4.5865328797617776e-5,3.8448445201550915e-8,0.0014786467079729625,-4.588696439857752e-5,3.845582251437362e-8,0.0014790384080720245,-4.583611242343526e-5,3.840873944588172e-8,0.0014794383527260398,-4.56945594107753e-5,3.82947864626867e-8,0.001479799398450005,-4.5465999161076066e-5,3.811769435150879e-8,0.0014800774121277783,-4.518250806512075e-5,3.790185132520664e-8,0.0014802492942168032,-4.489995809258601e-5,3.768879845012064e-8,0.0014803258879004637,-4.467961171000656e-5,3.7523621216932424e-8,0.0014803496588216847,-4.456364916372832e-5,3.7436882425543227E-08,0.0014803767789849922,-4.455914717389837e-5,3.743285124826617e-8,0.00148045471663273,-4.463944669785187e-5,3.749072374826842e-8,0.0014806079903739232,-4.4759080332929866e-5,3.757599995374444e-8,0.0014808363575325631,-4.4871298219932226e-5,3.7653765328709984e-8,0.0014811213748755097,-4.49400791113898e-5,3.7697698950566665e-8,0.0014814353063795221,-4.494494148911797e-5,3.769349125262831e-8,0.0014817486607833878,-4.488064489949951e-5,3.7638296039217246e-8,0.0014820352591590176,-4.475444899156155e-5,3.75383511170801e-8,0.001482275222988769,-4.458271568201399e-5,3.740624045556785e-8,0.0014824566343186552,-4.438752806725547e-5,3.7258364186440963e-8,0.0014825762933425046,-4.41933973514123e-5,3.711263205430016e-8,0.0014826396781233982,-4.402407385189993e-5,3.698628868785702e-8,0.0014826601038704105,-4.3899537486014864e-5,3.689381745950238e-8,0.0014826570290835308,-4.3833355408042506e-5,3.684500249109746e-8,0.0014826535665252642,-4.383076384824262e-5,3.684342893133268e-8,0.0014826734964349505,-4.388776027353641e-5,3.688571137475423e-8,0.0014827381250709867,-4.3991250197185465e-5,3.696157870415823e-8,0.0014828632277558774,-4.4120225732295084e-5,3.7054853705114773e-8,0.0014830562790585913,-4.424796254416029e-5,3.7145299091021524e-8,0.001483314114902658,-4.4345226853738956e-5,3.721123064884487e-8,0.0014836212427355765,-4.438471351759688e-5,3.723292906691934e-8,0.0014839495880320053,-4.434704884177869e-5,3.719700534277648e-8,0.0014842612053440878,-4.4227969750309367e-5,3.7101437221589655e-8,0.001484515578411819,-4.4044706083483356e-5,3.6959930289161086e-8,0.0014846818321571568,-4.383767436946015e-5,3.6802887599284104e-8,0.001484752665298912,-4.366282494601175e-5,3.6671649941767425e-8,0.0014847523079773632,-4.357345179251354e-5,3.6605110282143873e-8,0.0014847306685902028,-4.3598461730291396e-5,3.662379044416523e-8,0.0014847439416985908,-4.372996532663204e-5,3.672084767057359e-8,0.001484832455576805,-4.392834159757466e-5,3.6866053246575335e-8,0.0014850084524969315,-4.414052139172515e-5,3.701958292803764e-8,0.0014852579225742377,-4.4319394962506785e-5,3.7146574635816525e-8,0.00148555111690797,-4.443521318072178e-5,3.7225576915926685e-8,0.0014858540251273446,-4.447773434048518e-5,3.724992857383376e-8,0.0014861364543161625,-4.445270363925244e-5,3.722482225495067e-8,0.0014863760913723298,-4.437656318307988e-5,3.716309655277369e-8,0.0014865597532513933,-4.427164451826376e-5,3.708154822513582e-8,0.0014866832683675857,-4.4162460074345484e-5,3.699824191460888e-8,0.0014867508559287582,-4.407282323694022e-5,3.693054466535894e-8,0.0014867742340000237,-4.402339782503651e-5,3.68934712540527e-8,0.0014867713714220555,-4.402943420367354e-5,3.689807422058526e-8,0.0014867646564762282,-4.409867285281513e-5,3.6949844467746125e-8,0.0014867782740302412,-4.422973621937711e-5,3.7047415402730984e-8,0.0014868348754921309,-4.441152508594255e-5,3.718204520461165e-8,0.0014869519465962582,-4.462400182095811e-5,3.733824048865543e-8,0.0014871384186216602,-4.484053098879151e-5,3.749566462993671e-8,0.0014873921480441546,-4.5031733174503954e-5,3.7632239067973675e-8,0.0014876988747097991,-4.517047600970056e-5,3.772804673560034e-8,0.0014880330851069787,-4.5237407062414714e-5,3.776948065811721e-8,0.0014883611336936045,-4.522638867386191e-5,3.7753106366925946e-8,0.0014886470419661934,-4.5148829423299135e-5,3.768853679617695e-8,0.0014888610099375744,-4.503511107630251e-5,3.75991142701746e-8,0.0014889893734640611,-4.493078727593386e-5,3.7518833390943256e-8,0.0014890426802024238,-4.4885939658503095e-5,3.74844077895564e-8,0.0014890568559620368,-4.493900359979849e-5,3.752344755667185e-8,0.0014890836459080803,-4.5101175184416406e-5,3.7643181361237684e-8,0.001489172305795643,-4.535029512050693e-5,3.7826206234394064e-8,0.0014893513815948645,-4.5639131365739326e-5,3.803685162170241e-8,0.0014896203853677792,-4.591379586939746e-5,3.8234980089391865e-8,0.0014899543663838013,-4.613185728141613e-5,3.8389462478218916e-8,0.0014903162297077394,-4.6271946349084726e-5,3.848520377485263e-8,0.0014906691385107214,-4.6333741604474694e-5,3.852289537208366e-8,0.0014909844428688587,-4.6332267253878814e-5,3.851449641139075e-8,0.0014912446994979787,-4.629096295265064e-5,3.8477884251820716e-8,0.001491443475023993,-4.623604922293549e-5,3.843262815520471e-8,0.0014915838036451312,-4.61927449105687e-5,3.8397284898482245e-8,0.0014916764513131834,-4.618284796155863e-5,3.838776175182558e-8,0.0014917383357409837,-4.622298504810592e-5,3.8416126988273096e-8,0.0014917909428913134,-4.632303584535767e-5,3.848944739748476e-8,0.0014918583550758398,-4.648458412369112e-5,3.860856466449232e-8,0.0014919645095770773,-4.669969166698596e-5,3.8767106301308565e-8,0.001492129594339425,-4.695065290037247e-5,3.895130296913219e-8,0.0014923659795207224,-4.721144655663761e-5,3.914118664687933e-8,0.0014926745732702724,-4.745133715731877e-5,3.931347861780057e-8,0.0014930428020581202,-4.764050267803905e-5,3.944599080200351e-8,0.0014934453287540244,-4.77567381989998e-5,3.952272977792478e-8,0.0014938479976421455,-4.7791615726440825e-5,3.9538419803086526e-8,0.0014942145959709434,-4.775437268653611e-5,3.950114664854367e-8,0.0014945152548361581,-4.7672147717775885e-5,3.943216537025932e-8,0.0014947347496844735,-4.758571958330954e-5,3.936237614997539e-8,0.0014948784839529095,-4.754071729882442e-5,3.9325587712150906e-8,0.001494973688060228,-4.7575580700830986e-5,3.934960606065222e-8,0.001495063893699758,-4.7709339668887554e-5,3.9447410821275483e-8,0.0014951967819727924,-4.793386974666786e-5,3.961177012530231e-8,0.0014954089548056488,-4.82150113356529e-5,3.9816407071216556e-8,0.001495713972368483,-4.8503439552528306e-5,4.0024278257678855e-8,0.0014960992299929698,-4.875088216767253e-5,4.0199671339311314e-8,0.0014965325627533485,-4.892426755697233e-5,4.031863181757441e-8,0.0014969742965597005,-4.9012244353112056e-5,4.037361715514292e-8,0.0014973887060458133,-4.90234527916337e-5,4.037196030438772e-8,0.0014977509975768778,-4.897987925534544e-5,4.033069659995429e-8,0.0014980493699429142,-4.8909370842569586e-5,4.0270872530960104e-8,0.0014982838272042372,-4.8839785143966184e-5,4.0213214367086265e-8,0.0014984636893112296,-4.879533379597899e-5,4.017552829673121e-8,0.0014986050564438516,-4.879459745805125e-5,4.0171351190536136e-8,0.0014987286878216618,-4.884940264365551e-5,4.020917276631506e-8,0.0014988581486848397,-4.8963892845157507e-5,4.029171690125393e-8,0.0014990177337836207,-4.9133541633318104e-5,4.0415144161886566e-8,0.0014992296650089489,-4.934439725353427e-5,4.056846910653133e-8,0.0014995103608385159,-4.957328780427341e-5,4.073379081419653e-8,0.0014998661313054954,-4.978992849651283e-5,4.0888033317214166E-08,0.001500289438846751,-4.996169395570395e-5,4.100670227701081e-8,0.0015007575640223773,-5.00609271009138e-5,4.1069476582698656e-8,0.0015012354183340914,-5.0073132062903215e-5,4.106633523245191e-8,0.001501682931435136,-5.000313393611321e-5,4.10020124318666e-8,0.0015020653958463235,-4.9876318236111225e-5,4.089664152349184e-8,0.001502363510762478,-4.973362668651773e-5,4.078166708635209e-8,0.0015025796036362987,-4.9621359434477365e-5,4.06919240015438e-8,0.001502737788613337,-4.957881774687852e-5,4.0656280257301776e-8,0.0015028778851812186,-4.9627518948032364e-5,4.0689710099869005e-8,0.001503044775055048,-4.9765138003926926e-5,4.078912007859041e-8,0.001503276131990282,-4.9966042084288354e-5,4.093418214974257e-8,0.0015035921340975534,-5.0188522911167886e-5,4.109307745813918e-8,0.0015039904959644906,-5.038664086853307e-5,4.12314822617478e-8,0.0015044484479765602,-5.052272450607022e-5,4.1321828260849926e-8,0.0015049305867960681,-5.057627006151882e-5,4.1349724488542334e-8,0.0015053992671028003,-5.0546698588028124e-5,4.1315734395285215e-8,0.001505823682333701,-5.0450202162379264e-5,4.123276774522326e-8,0.0015061851264551991,-5.03131376162049e-5,4.1120991139124105e-8,0.00150647810650972,-5.0164985415371416e-5,4.100254562995308e-8,0.0015067085911635734,-5.003289045076868e-5,4.0897557578942296e-8,0.0015068910568689683,-4.9938339881018866e-5,4.0821788084939146e-8,0.0015070455081733843,-4.989557017837055e-5,4.078553560863914e-8,0.0015071949768719031,-4.991095762554463e-5,4.079319265895584e-8,0.0015073634330199596,-4.998270255847455e-5,4.0842964940455486e-8,0.001507573648758257,-5.0100484272582855e-5,4.092657881678172e-8,0.001507844474226869,-5.024531275080717e-5,4.1029213145852094E-08,0.0015081872475477102,-5.039029477878423e-5,4.113020982278904e-8,0.001508601639381369,-5.0503348351200574e-5,4.1205288990591655e-8,0.0015090721800536042,-5.0552825964399286e-5,4.123090271547341e-8,0.0015095677542445187,-5.051598845732162e-5,4.119061726808571e-8,0.0015100464398749296,-5.0388137396494456e-5,4.1081869583940654e-8,0.0015104661524490966,-5.0188150732697904e-5,4.091992886992478e-8,0.0015107980562968522,-4.995626598255443e-5,4.073597315450068e-8,0.0015110369884425087,-4.974323096834382e-5,4.056865503257804e-8,0.0015112037636235288,-4.9594689096187027e-5,4.0452143784550536e-8,0.0015113382538688342,-4.9537390122333774e-5,4.040571885063075e-8,0.001511486651518908,-4.9572491390367476e-5,4.0428949376900265e-8,0.0015116882343063284,-4.9677288522526345e-5,4.0503412055625985e-8,0.001511965832908493,-4.981328246977489e-5,4.0599203239587485e-8,0.0015123218678560742,-4.993712667865752e-5,4.0683458185044255e-8,0.0015127398774388951,-5.001120491259384e-5,4.072833176366586e-8,0.0015131902459503254,-5.0011430442294444e-5,4.0716651632460574e-8,0.0015136381639806527,-4.9930908725903795e-5,4.064433406034829e-8,0.0015140516272895985,-4.977923819466192e-5,4.051953249837382e-8,0.0015144075622012096,-4.9578319631606846e-5,4.035928102066704e-8,0.0015146949683276282,-4.9356355695184494e-5,4.0184938821169755e-8,0.0015149150502128804,-4.9141887980333486e-5,4.0017799643976816e-8,0.0015150791746275875,-4.895917584109024e-5,3.9875772118617474e-8,0.0015152057997848073,-4.8825388632539786e-5,3.977139653273003e-8,0.0015153173317295856,-4.874940504486354e-5,3.971098695425316e-8,0.0015154374095433952,-4.8731643689852686e-5,3.9694467703771245e-8,0.0015155886318726306,-4.876432642304724e-5,3.971551230211538e-8,0.0015157903988936615,-4.8831866635134174e-5,3.976183295261236e-8,0.0015160564336704537,-4.891150797550089e-5,3.9815759747989534e-8,0.001516391691608481,-4.8974788479225625e-5,3.985552106330658e-8,0.0015167888924818176,-4.899079602098747e-5,3.985786664037715e-8,0.0015172258993118245,-4.893217400965164e-5,3.9802659015735863e-8,0.0015176663030841539,-4.878381729040918e-5,3.967934665594565e-8,0.0015180658418397924,-4.855185669703154e-5,3.9493549812086156e-8,0.0015183852145058741,-4.8267882631723335e-5,3.927002879151628e-8,0.001518605245428821,-4.7983227159816684E-05,3.904816418536927e-8,0.0015187364109845078,-4.7752853667001454e-5,3.8869607112691156e-8,0.0015188162107197098,-4.76157007253304e-5,3.876330623471329e-8,0.0015188951081814535,-4.7581646967552716e-5,3.87356971621642e-8,0.0015190187423242043,-4.763095682004308e-5,3.877055536279872e-8,0.0015192148843438057,-4.7724206359166875e-5,3.883693164021174e-8,0.0015194889111096335,-4.7816122036906335e-5,3.890001525702813e-8,0.0015198265573875282,-4.78675190041975e-5,3.893034461914193e-8,0.0015202006147450764,-4.785267690604367e-5,3.8909281403952436e-8,0.0015205786058022936,-4.776206764521024e-5,3.883074987792664e-8,0.001520929655959892,-4.7601511265561416e-5,3.8700210594517606e-8,0.0015212297485279174,-4.73889457227636e-5,3.853192522081979e-8,0.001521464985636384,-4.714978616986874e-5,3.834534142739313e-8,0.001521632714070136,-4.691181862109943e-5,3.8161308626593714e-8,0.0015217407259916819,-4.6700544473304215e-5,3.7998737945680615e-8,0.001521805050737679,-4.653561112622005e-5,3.7872078917049705e-8,0.0015218469609350476,-4.6428620942574455e-5,3.77897496515343e-8,0.0015218898209953303,-4.638232433864213e-5,3.7753505077697286e-8,0.0015219562588472324,-4.63908829784902e-5,3.775855431522331e-8,0.0015220657852472567,-4.644073196168358e-5,3.779415592915643e-8,0.0015222326849345393,-4.6511768353575117e-5,3.78445580321092e-8,0.0015224639302797234,-4.6578917633677744e-5,3.789033821231449e-8,0.0015227569400496383,-4.6614434070743716e-5,3.791035015751786e-8,0.0015230973823843132,-4.659163295010869e-5,3.788469386599491e-8,0.0015234580899453059,-4.6490764418833046e-5,3.779915028577375e-8,0.0015238011301948635,-4.630679101973296e-5,3.765088713532935e-8,0.0015240852672769784,-4.6056717425461094e-5,3.7453737167092474e-8,0.001524279176362041,-4.578158370729293e-5,3.723946842777562e-8,0.0015243761207970313,-4.5537893273890615e-5,3.7051147789336374e-8,0.0015244012465784203,-4.537833811089991e-5,3.692846975976653e-8,0.0015244043069810233,-4.5330485030194646e-5,3.689159982476225e-8,0.001524440051851727,-4.5386093677926136e-5,3.693319329946158e-8,0.0015245475921702796,-4.550706901455292e-5,3.70231970685862e-8,0.001524739631177373,-4.564256280847005e-5,3.712221109997426e-8,0.0015250039821238194,-4.574645320979391e-5,3.719506196713576e-8,0.001525312469978232,-4.57880724817201e-5,3.7219009823727845e-8,0.0015256311465300198,-4.575529177708597e-5,3.71858758629502e-8,0.0015259283156329572,-4.5652460184988825e-5,3.710009588757813e-8,0.001526179490549331,-4.549604863952453e-5,3.697504333756095e-8,0.0015263698298762106,-4.5309863016883735e-5,3.682918922629797e-8,0.0015264948690534665,-4.5120549024834013e-5,3.668269874859717e-8,0.0015265600057452486,-4.495356643058214e-5,3.65545436819091e-8,0.0015265789603062382,-4.4829825029204026e-5,3.646015826369734e-8,0.0015265714591917814,-4.476317621887072e-5,3.640967597256171e-8,0.001526560393019653,-4.47588814097071e-5,3.6406785222506725e-8,0.0015265687425595057,-4.481319012855167e-5,3.6448328955322366e-8,0.001526616673386339,-4.491402171639455e-5,3.6524727155707175e-8,0.001526719088838322,-4.5042478706087005e-5,3.662110821247449e-8,0.001526883671120863,-4.517492388060347e-5,3.671899335520608e-8,0.001527109357997393,-4.528556689050531e-5,3.679846629243785e-8,0.0015273852648541443,-4.5349660451110904e-5,3.684080865883039e-8,0.0015276902649918051,-4.5347572784252786e-5,3.683168213824624e-8,0.0015279940023550515,-4.5269982630066084e-5,3.676496818810432e-8,0.001528260741500139,-4.5123660491407865e-5,3.664687940483986e-8,0.0015284573649040436,-4.493568923535388e-5,3.649883068748661e-8,0.0015285651819203082,-4.475224028990135e-5,3.6356268024786054e-8,0.001528591522529057,-4.462799322930828e-5,3.6260564495138095e-8,0.0015285733068809862,-4.4606708170989893e-5,3.6244339332635135e-8,0.0015285663015500417,-4.4701580903939586e-5,3.631667920617675e-8,0.001528623057978843,-4.4888075568297965e-5,3.645788182105769e-8,0.0015287721301055885,-4.511488889181742e-5,3.662804240559266e-8,0.0015290104785997134,-4.532567197125326e-5,3.678385405657058e-8,0.0015293104382067145,-4.547810886081325e-5,3.689331286542308e-8,0.0015296334898081117,-4.555238252513215e-5,3.6942127930790746e-8,0.0015299425822774475,-4.5549875508693376e-5,3.6932458321921016e-8,0.0015302094618059117,-4.5487012585997464e-5,3.687784149123152e-8,0.0015304173593234294,-4.538838777224406e-5,3.6797650641900755e-8,0.0015305608012845585,-4.5281191160702335e-5,3.6712741731269536e-8,0.0015306441945146152,-4.5191250244956506e-5,3.664253537729438e-8,0.0015306800306723414,-4.514019365633332e-5,3.660306514411148e-8,0.0015306868440561443,-4.5143317412885504e-5,3.660554118454364e-8,0.0015306868688130097,-4.5208046874071456e-5,3.665525950628058e-8,0.001530703372269813,-4.533304361844633e-5,3.675088279926432e-8,0.0015307577071024677,-4.550816475509205e-5,3.6884311766138235e-8,0.0015308663545292767,-4.5715530714938635e-5,3.7041438425744794e-8,0.001531038403461839,-4.5931705831679506e-5,3.7203859056823594e-8,0.0015312738096312358,-4.613076201647923e-5,3.7351380006003594e-8,0.001531562647587085,-4.628797631784266e-5,3.7465058196804165e-8,0.001531885540287841,-4.638388948223532e-5,3.753045447184219e-8,0.0015322154350115606,-4.6408424099129384e-5,3.75407624833672e-8,0.0015325210181051422,-4.636473481435046e-5,3.749952617090675e-8,0.0015327722562987192,-4.62720299113284e-5,3.742243109933671e-8,0.0015329482178092664,-4.616568661040811e-5,3.7337038635539955e-8,0.0015330459667584296,-4.60922941785365e-5,3.7278814888025735e-8,0.001533087023241133,-4.609795126881395e-5,3.728225619249699e-8,0.001533115983708838,-4.621153374983078e-5,3.736837190134323e-8,0.0015331876400693626,-4.643018459294151e-5,3.753391652633899e-8,0.0015333461088477486,-4.6716886718747485e-5,3.7749779963297116e-8,0.001533607077938741,-4.701413330082583e-5,3.797158062251958e-8,0.0015339536898771556,-4.7266463413301e-5,3.8156979046495933e-8,0.0015343469210881689,-4.7438804933053115e-5,3.827972461061156e-8,0.0015347420400233514,-4.7522609577066365e-5,3.833423468532848e-8,0.0015351018922789568,-4.75311913550837e-5,3.833175719045527e-8,0.0015354032268769953,-4.7490536847499134e-5,3.8293014468682244e-8,0.0015356372503282487,-4.7430749661384474e-5,3.8241437080403724e-8,0.0015358072060457936,-4.738020854009638e-5,3.819867181103716e-8,0.0015359252275494756,-4.736231090740194e-5,3.818223813016995e-8,0.0015360095332831896,-4.739380510817324e-5,3.820445815928393e-8,0.0015360820478136717,-4.748383499571379e-5,3.82718722773441e-8,0.001536166141831675,-4.763330834665019e-5,3.838478548063725e-8,0.001536284194639195,-4.783458629340891e-5,3.8536969464764897e-8,0.0015364548174580863,-4.8071792138992605e-5,3.871582755825761e-8,0.001536689888308331,-4.832221693893701e-5,3.890347256035087e-8,0.001536991949021952,-4.8559125680806725e-5,3.907898810591917e-8,0.0015373526882001662,-4.875585201501901e-5,3.9221757056841037E-08,0.0015377531409755225,-4.889068042494506e-5,3.931538272353313e-8,0.0015381659828674545,-4.895167436888976e-5,3.9351451406966635e-8,0.0015385598715198048,-4.894040830492917e-5,3.9332267184161023e-8,0.0015389053503828088,-4.887366805568127e-5,3.927184980018389e-8,0.0015391815674583567,-4.878238533919379e-5,3.919473310592367e-8,0.0015393827610044833,-4.870713902780217e-5,3.913220935194622e-8,0.001539522826925547,-4.868983638924286e-5,3.911586463438951e-8,0.001539635551012186,-4.8762258491063296e-5,3.916897922140672e-8,0.0015397681169518995,-4.893424373568861e-5,3.929783969200081e-8,0.0015399675307219867,-4.9186670824232385e-5,3.9486747633733346e-8,0.0015402639575685848,-4.94746582698892e-5,3.970072063670472e-8,0.001540658896768355,-4.974203898215638e-5,3.989665648604e-8,0.0015411250260262703,-4.9940960584229624e-5,4.0038309783718896e-8,0.0015416177088270302,-5.0046684404287795e-5,4.010752915400204e-8,0.0015420911707916128,-5.006124568783706e-5,4.010688682435594e-8,0.0015425111740769344,-5.000709715400226e-5,4.00545534176231e-8,0.0015428603593231258,-4.9916572907574924e-5,3.9975967592465016e-8,0.001543137348004615,-4.9822560505639655e-5,3.9896549730067413e-8,0.0015433527728847896,-4.9752685894152456e-5,3.983728353617607e-8,0.0015435248853113634,-4.972672630231794e-5,3.981289716560943e-8,0.0015436759860362377,-4.975595477250484e-5,3.9831537088095255e-8,0.0015438297952060482,-4.984325147671539e-5,3.989494979643839e-8,0.0015440093369692496,-4.998334813656624e-5,3.999866380557658e-8,0.0015442348151259754,-5.016309804535865e-5,4.013214246585282e-8,0.0015445211154071746,-5.0362121259628284e-5,4.027925529887606e-8,0.0015448749611662643,-5.055446980018576e-5,4.0419618992163206e-8,0.0015452923005028491,-5.071189862384606e-5,4.053125674762409e-8,0.0015457569800726891,-5.0808855828295383E-05,4.059460327889975e-8,0.0015462418900000286,-5.082850879931722e-5,4.059724221672877e-8,0.0015467132993301472,-5.076823346637892e-5,4.0538094268894254e-8,0.0015471380038922773,-5.064252614673594e-5,4.042945683138028e-8,0.0015474916360774626,-5.048174585710053e-5,4.0295709244955134e-8,0.0015477657624747324,-5.0326348408581844e-5,4.016852598729084e-8,0.0015479715584376128,-5.02176988612463e-5,4.00795759607021e-8,0.001548138675163666,-5.018759931395581e-5,4.0052468864238434e-8,0.001548309019173918,-5.0249167170106635e-5,4.0095999848332944e-8,0.001548526363415651,-5.039173011559901e-5,4.020064552392213e-8,0.001548824072026234,-5.0581979693915296e-5,4.033985817256759e-8,0.0015492146318262102,-5.0772290610955474e-5,4.047669746431854e-8,0.0015496851936439822,-5.091443598787875e-5,4.057438892398452e-8,0.001550201601146154,-5.0973893683465014e-5,4.0607169310144533e-8,0.001550719547427848,-5.093895551994056e-5,4.0567056747315524e-8,0.0015511979549022272,-5.082132789363123e-5,4.0464060310906736e-8,0.001551609085796503,-5.064930767517722e-5,4.032070429909841e-8,0.001551942485882253,-5.045777032215602e-5,4.0164179972009266e-8,0.001552203365741154,-5.027932903282667e-5,4.0019527762343134e-8,0.0015524080338778475,-5.0138911795649996e-5,3.990557662144009e-8,0.0015525789206599471,-5.005169954767954e-5,3.983352487266917e-8,0.0015527405622942454,-5.0023207216840704e-5,3.980713258549693e-8,0.001552916795278977,-5.005024771803662e-5,3.982350168918181e-8,0.0015531287739189376,-5.012197934084325e-5,3.987384769919168e-8,0.0015533932025365111,-5.022080731770897e-5,3.99441559610026e-8,0.0015537202826231122,-5.03234457482546e-5,4.0016025565273536e-8,0.0015541112665716941,-5.0402810390084915e-5,4.0068239562396716e-8,0.0015545561079804125,-5.0431489448755314e-5,4.007959506236113e-8]} \ No newline at end of file diff --git a/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_15.json b/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_15.json new file mode 100644 index 0000000..dc1eb06 --- /dev/null +++ b/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_15.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1.0,"startIndex":15000,"numberOfSamples":1000,"samples":[0.001555032396790159,-5.038717964716439e-5,4.003321453737454e-8,0.001555507240340409,-5.025945257220019e-5,3.992178064606655e-8,0.0015559433318249748,-5.005568561411016e-5,3.975199831316558e-8,0.0015563086828940746,-4.9802949292686764e-5,3.9545822083813816e-8,0.001556587031841404,-4.9543375923704664e-5,3.9336583092513e-8,0.0015567845028372617,-4.93232976794034e-5,3.9160317297773175e-8,0.0015569291408115862,-4.9179757456819175e-5,3.904518941710335e-8,0.0015570631279621951,-4.912957061070448e-5,3.90031151041951e-8,0.0015572306984882043,-4.916483994647903e-5,3.902661169621281e-8,0.0015574660511056152,-4.9255840502179806e-5,3.9091477245714126e-8,0.0015577847760354089,-4.9359606772293576e-5,3.9163823082464017e-8,0.001558180685115808,-4.943135773630568e-5,3.920908834205859e-8,0.0015586283968716341,-4.943566203060656e-5,3.920059314584998e-8,0.0015590906701226305,-4.9354497209498185e-5,3.9125494924869697e-8,0.001559528261058972,-4.919020584318819e-5,3.8986728207848124e-8,0.0015599093591160292,-4.896289913685733e-5,3.880070214408021e-8,0.0015602159244718476,-4.870367300374791e-5,3.8591890031225615e-8,0.001560445583043622,-4.844627081761637e-5,3.838637217885279e-8,0.0015606095190522666,-4.821988699048854e-5,3.8206389463064e-8,0.001560728059333107,-4.80447105719932e-5,3.8067072967328046e-8,0.0015608258215469178,-4.7930366808124216e-5,3.797538689472998e-8,0.0015609276655558022,-4.787644642721989e-5,3.793059714039383e-8,0.0015610558505919753,-4.7874043041353836e-5,3.792543115973339e-8,0.0015612281647851558,-4.7907464781617856e-5,3.794734148986789e-8,0.0015614564996265033,-4.795579391508165e-5,3.797969902153523e-8,0.0015617453775785114,-4.7994480662788104e-5,3.8003106795686565e-8,0.001562090231917282,-4.799751763502489e-5,3.7997236526191586e-8,0.0015624757732016965,-4.7940913074933274e-5,3.7943666553683704e-8,0.0015628755385377238,-4.780797264952134e-5,3.783002608138753e-8,0.0015632543909054244,-4.759591895225801e-5,3.765503864336205e-8,0.0015635755508337965,-4.7321569326116703e-5,3.743272490582087e-8,0.0015638118247210714,-4.702212301492192e-5,3.719276938020053e-8,0.0015639572183669657,-4.674759666086147e-5,3.697442350326965e-8,0.0015640325431972783,-4.654548661616456e-5,3.681443353406246e-8,0.0015640803149591668,-4.644389332460276e-5,3.673389012822279e-8,0.0015641503210691414,-4.644165242496307e-5,3.673070606589074e-8,0.0015642829369577056,-4.651013021168292e-5,3.678135043023996e-8,0.0015644977495392904,-4.660446073429612e-5,3.685000664095114e-8,0.001564790749643378,-4.6677917336542896e-5,3.6900071652951433e-8,0.001565138707406003,-4.66938238368795e-5,3.690350083708066e-8,0.0015655073435626183,-4.663241657433939e-5,3.6845954665167155e-8,0.0015658602190323327,-4.649255514773499e-5,3.672776169544263e-8,0.0015661663607259592,-4.628936931980565e-5,3.656170224679889e-8,0.0015664055799049252,-4.6049225283354464e-5,3.636883604376693e-8,0.001566571002171141,-4.580336936715299e-5,3.6173502381504967e-8,0.0015666687673390187,-4.558160277952096e-5,3.599852488215996e-8,0.0015667154033415197,-4.5407215387777025e-5,3.586148463513818e-8,0.0015667338355941623,-4.529393320932333e-5,3.577253994149994e-8,0.0015667490993197454,-4.524500274399756e-5,3.573380667359368e-8,0.0015667846174289822,-4.5254024907903564e-5,3.57399848967389e-8,0.001566859497029681,-4.5306834496840176e-5,3.5779734964378544e-8,0.0015669868024443458,-4.5383715412729446e-5,3.583733887760147e-8,0.001567172455798627,-4.546158479647085e-5,3.5894430294282084e-8,0.0015674144103284765,-4.551618411695069e-5,3.593183701499408e-8,0.001567701899164982,-4.5524599621765035e-5,3.593172347162997e-8,0.0015680149455750063,-4.5468646452923546e-5,3.588034316011282e-8,0.001568325023881159,-4.533952995396979e-5,3.577163595791014e-8,0.001568598375261144,-4.514331996072684e-5,3.561129614715066e-8,0.0015688033307539359,-4.490516831986402e-5,3.5419775786897466e-8,0.0015689213635770478,-4.4668520678280764e-5,3.5231422956829793e-8,0.0015689580930293371,-4.448560774152507e-5,3.508694038347068e-8,0.001568947072838441,-4.439966029933874e-5,3.501951652065551e-8,0.0015689406813127415,-4.442653532989222e-5,3.5040594280255434e-8,0.0015689905208410501,-4.454694343553021e-5,3.5134005465375e-8,0.0015691279470960945,-4.471462114836585e-5,3.526264408522862e-8,0.001569355167197491,-4.4874982251366504e-5,3.5383351783517066e-8,0.0015696491590304815,-4.498328840192346e-5,3.5461324901144965e-8,0.0015699730086184231,-4.5014843868502684e-5,3.547806086334234e-8,0.0015702878466824224,-4.496644962533722e-5,3.5432227789964445e-8,0.0015705615045717492,-4.48522455988792e-5,3.5336015448358164e-8,0.0015707731361774711,-4.469737825179658e-5,3.520983386424041e-8,0.0015709146371371892,-4.453167337270511e-5,3.507720338549927e-8,0.0015709899450492496,-4.4384204168804375e-5,3.4960569188722246e-8,0.0015710129446352492,-4.427899769327988e-5,3.487815813513884e-8,0.0015710044338982897,-4.4232035758685976e-5,3.484187409746818e-8,0.0015709885901114629,-4.424966839076787e-5,3.48562113954969e-8,0.0015709893763831153,-4.4328433769242266e-5,3.491813422291662e-8,0.0015710273252120134,-4.4456174728882454e-5,3.501786728147512e-8,0.001571117095259444,-4.4614146603934006e-5,3.514044529398255e-8,0.0015712659471281585,-4.4779625550250765e-5,3.526772890807883e-8,0.0015714729990209998,-4.492865339998087e-5,3.5380643711257126e-8,0.0015717290886569444,-4.503882672267935e-5,3.5461540303863484e-8,0.0015720171486412,-4.509218250304847e-5,3.549662088853352e-8,0.0015723131710548195,-4.507838065681111e-5,3.547847663955526e-8,0.0015725883317389549,-4.499835421555663e-5,3.540880348366659e-8,0.001572813307826608,-4.486786800809496e-5,3.5300892636416496e-8,0.0015729655070056204,-4.47191603474519e-5,3.518058646081875e-8,0.0015730384980441499,-4.459776227937817e-5,3.5083578249073555e-8,0.0015730502214990328,-4.4551776967474605e-5,3.504702004926623e-8,0.0015730436787471955,-4.461436338745037e-5,3.5095992048822466e-8,0.0015730749295945277,-4.478695231412046e-5,3.5230609633398364e-8,0.00157319126570817,-4.5034672737442647e-5,3.542266299781257e-8,0.0015734115792861226,-4.529940702276995e-5,3.562602881073632e-8,0.0015737208148722149,-4.552319788898638e-5,3.5795178558746185e-8,0.0015740799139331147,-4.5667994072365434e-5,3.590075376760617e-8,0.0015744426094396393,-4.572297761098429e-5,3.593523410445762e-8,0.0015747694654922382,-4.570060260613509e-5,3.5909545233455296e-8,0.0015750350883362262,-4.56275210357777e-5,3.584556214181634e-8,0.0015752294134122743,-4.5535604842148e-5,3.576877953266378e-8,0.0015753556604648073,-4.545534529408837e-5,3.5703062165524755e-8,0.0015754271119554817,-4.541175214597163e-5,3.566756900441209e-8,0.0015754637850900197,-4.5422021566715475e-5,3.567516845886349e-8,0.0015754892419881964,-4.549435685857388e-5,3.5731726192643936e-8,0.0015755275323007985,-4.562767745693644e-5,3.5835969133508226e-8,0.0015756002822981585,-4.581213815904196e-5,3.597985887669808e-8,0.0015757240290649212,-4.603051129355547e-5,3.6149580268519345e-8,0.0015759080778055216,-4.626046736804536e-5,3.632726928230143e-8,0.0015761532032229398,-4.6477532670966515e-5,3.6493374497356665e-8,0.0015764513190264005,-4.66583682351069e-5,3.662937540080888e-8,0.0015767861221216862,-4.6784116146357104e-5,3.67205887315865e-8,0.0015771347357232419,-4.6843579857850895e-5,3.6758772560147956e-8,0.0015774703483009739,-4.683599304438294e-5,3.67442426941251e-8,0.0015777659552356682,-4.677317302149219e-5,3.66873186351272e-8,0.0015779995237324785,-4.668049190430199e-5,3.660873387655922e-8,0.0015781605555831091,-4.659528839149842e-5,3.6538079166891776e-8,0.0015782567852510353,-4.656091594072024e-5,3.650901070819981e-8,0.0015783179633283798,-4.6615418475760236e-5,3.655049543919046e-8,0.0015783922903835324,-4.677665068892878e-5,3.667544840847755e-8,0.0015785325756434202,-4.703036852583066e-5,3.687171431896692e-8,0.0015787756427616659,-4.733035159097787e-5,3.7102367094230025e-8,0.0015791259181678027,-4.761430923312568e-5,3.731827295238525e-8,0.0015795538411506713,-4.7828037828527396e-5,3.747709330858676e-8,0.0015800096969891477,-4.7943878769038486E-05,3.7557792145692596e-8,0.0015804431624417705,-4.796481847401571e-5,3.756375094216574e-8,0.0015808178057632656,-4.791635491291735e-5,3.7516101368887467e-8,0.0015811164141571583,-4.783405291768669e-5,3.744360223405161e-8,0.0015813392677104443,-4.775314048922322e-5,3.737423693485045e-8,0.0015814993203580124,-4.7702326404354844e-5,3.733035174588052e-8,0.0015816171643790661,-4.7701193814970105e-5,3.7326791516613286e-8,0.0015817169630395575,-4.775965776778595e-5,3.737071389079256e-8,0.001581823347515752,-4.787832470052812e-5,3.7462041637598934e-8,0.0015819588828547596,-4.8049258257063996e-5,3.7594106726625155e-8,0.0015821417963573898,-4.8257082895207296e-5,3.775446258471748e-8,0.0015823838479101893,-4.848060164321304e-5,3.792608585212836e-8,0.001582688504544025,-4.869520808633535e-5,3.8089269531459865e-8,0.0015830498625370153,-4.887615170356731e-5,3.822428825087552e-8,0.0015834527637300596,-4.9002351733972964e-5,3.8314560752223585e-8,0.0015838743628422021,-4.906026034512833e-5,3.834982706901485e-8,0.001584287221216587,-4.904715037019271e-5,3.832875105474419e-8,0.001584663741938823,-4.897310145628491e-5,3.826032241557493e-8,0.001584981463061841,-4.8861079857009655e-5,3.8163607031293117e-8,0.0015852285820703014,-4.874466991235223e-5,3.8065608345197424e-8,0.0015854088600154176,-4.8662962215500585e-5,3.7997004979177486e-8,0.0015855444217866606,-4.86522846509656e-5,3.798563784368472e-8,0.001585674261819128,-4.8735533803462465e-5,3.804836085608511e-8,0.001585846375312292,-4.891189807186035e-5,3.818334234181005e-8,0.00158610348310477,-4.9151982596995845e-5,3.836657757562266e-8,0.001586466654834368,-4.9403489989380824e-5,3.8556531405909456e-8,0.0015869251102463237,-4.960807810621859e-5,3.870740581132169e-8,0.0015874391429179613,-4.9722343633764594e-5,3.8785587350351096e-8,0.0015879553631793688,-4.973190214442801e-5,3.878064452942808e-8,0.001588425577199708,-4.9652024693980827e-5,3.870567071163837e-8,0.00158881977381429,-4.951725979120483e-5,3.8588846273972866e-8,0.0015891295065786543,-4.936775952074638e-5,3.84623889278333e-8,0.001589364066660281,-4.9238715531157035e-5,3.8354092314337146e-8,0.001589543909685928,-4.9154994199223596e-5,3.8283168581558065e-8,0.0015896945618050432,-4.9129902713118106e-5,3.825948659678869e-8,0.0015898422153512498,-4.916611627099987e-5,3.8284520145138256e-8,0.001590010859028341,-4.925727610695112e-5,3.8352726691160195e-8,0.0015902202966968217,-4.938958761833569e-5,3.845280876708773e-8,0.0015904844846205953,-4.954336749390981e-5,3.8568874325898195e-8,0.0015908099083882816,-4.969485381752708e-5,3.868182932013065e-8,0.0015911941068452644,-4.98187279964764e-5,3.8771413773902485e-8,0.0015916248545581027,-4.989160905264646e-5,3.881908380631811e-8,0.0015920807276100831,-4.9896318601345885e-5,3.881152013111638e-8,0.0015925336582621405,-4.982618528736371e-5,3.874409592893164e-8,0.0015929536328127007,-4.9688213379708714e-5,3.862330576383604e-8,0.0015933149629505758,-4.950379940089145e-5,3.846710078351864e-8,0.001593602808933612,-4.930610263244153e-5,3.830248200720968e-8,0.0015938182399501703,-4.913404445176729e-5,3.8160453318297506e-8,0.0015939802243672306,-4.902380951458289e-5,3.806916042959481e-8,0.0015941233988982489,-4.899946750049259e-5,3.8046581250505863e-8,0.0015942911880484664,-4.906498251129774e-5,3.80945375169188e-8,0.0015945249563040758,-4.920032285756388e-5,3.8196040630227036e-8,0.0015948515164234465,-4.9364207196608636e-5,3.8317796980507725e-8,0.001595273159867582,-4.950449066879408e-5,3.841854809931519e-8,0.0015957650230228916,-4.9573895929635576e-5,3.846143646287539e-8,0.0015962822947114133,-4.954513058246872e-5,3.842577890144347e-8,0.0015967748230214939,-4.941856956430488e-5,3.8312929742037596e-8,0.001597202494943064,-4.921934317902047e-5,3.814375061431865e-8,0.0015975448239908775,-4.898645979137916e-5,3.794978155712491e-8,0.0015978022649466863,-4.876005227964857e-5,3.7762998553756675e-8,0.0015979913135114392,-4.85719625681952e-5,3.76083609760703e-8,0.0015981373497028673,-4.84414879329937e-5,3.750059586381275e-8,0.0015982682896983585,-4.837523496803743e-5,3.744429677813117e-8,0.0015984102235238262,-4.8369073369492696e-5,3.743563223650375e-8,0.0015985848577516198,-4.8410619737028296e-5,3.746436079232389e-8,0.0015988080578801715,-4.848147621960483e-5,3.751556089859576e-8,0.0015990887787054714,-4.8559129023742496e-5,3.7571077107145096e-8,0.0015994279675657184,-4.861890144868653e-5,3.761106919377434e-8,0.0015998175105410416,-4.8636534469734454e-5,3.761614354464905e-8,0.0016002397772522405,-4.859177185400766e-5,3.757032802152641e-8,0.0016006686543139628,-4.84728413566226e-5,3.74647259539885e-8,0.0016010729910405593,-4.828097347843213e-5,3.7301095421887124e-8,0.0016014227983081818,-4.8033231546302496e-5,3.709395135898375e-8,0.0016016972164009232,-4.776158920159305e-5,3.686957478771082e-8,0.001601891799677878,-4.750708267512769e-5,3.6661070725469196e-8,0.0016020220967839574,-4.730984733590426e-5,3.65002268054441e-8,0.0016021214376728508,-4.7197895387483466e-5,3.640855159267248e-8,0.0016022329539292035,-4.7178441191331395e-5,3.6390568883612766e-8,0.001602398098868516,-4.723486700987873e-5,3.64317778525816e-8,0.0016026451775172069,-4.7330459524417435e-5,3.6502037536061675e-8,0.0016029812826023223,-4.741790311922242e-5,3.6563402100527594e-8,0.0016033900211863004,-4.7451924030049034e-5,3.658023478305435e-8,0.0016038359142873748,-4.7401493578198037e-5,3.65287527576269e-8,0.0016042743565764664,-4.725778830099e-5,3.6403069368047857e-8,0.0016046639296792753,-4.703526837810497e-5,3.621574128865795e-8,0.0016049768310006606,-4.676579911472799e-5,3.599284252644777e-8,0.0016052041001474093,-4.6488499312397777e-5,3.576575444073776e-8,0.0016053547788864799,-4.623936983449527e-5,3.556292473478258e-8,0.0016054506685802667,-4.604404725371659e-5,3.540424269592429e-8,0.00160551955904301,-4.591491456251917e-5,3.529894528530359e-8,0.0016055893304846428,-4.585176544402924e-5,3.5246319584402404e-8,0.0016056839738281931,-4.584435487657563e-5,3.523780378361235e-8,0.0016058214226180075,-4.58754099005351e-5,3.525934967930275e-8,0.0016060125662822487,-4.5923316964371105e-5,3.5293484731850514e-8,0.0016062607469574757,-4.5964330399595076e-5,3.5321033008763995e-8,0.0016065612721366269,-4.597465556251913e-5,3.5322825752794e-8,0.001606900939181552,-4.5932990607520925e-5,3.528185027009399e-8,0.0016072580949436541,-4.582396800827508e-5,3.518611857277115e-8,0.0016076041773001588,-4.564246758849356e-5,3.503214741997083e-8,0.001607907835484071,-4.539791130326102e-5,3.482829369055841e-8,0.001608142149154005,-4.511646354493401e-5,3.4596304332457856e-8,0.0016082937279128775,-4.483839603063741e-5,3.4368956580540236e-8,0.001608370164011681,-4.460905850485839e-5,3.418262319337986e-8,0.0016084013367679887,-4.4465215778220584e-5,3.4066244784300986e-8,0.0016084321421592992,-4.442209614898366e-5,3.4031040378216796e-8,0.0016085087032214472,-4.4467328910789975e-5,3.406590890538271e-8,0.001608663854204168,-4.4564751128790306e-5,3.414084287148784e-8,0.0016089078261996121,-4.466603533873435e-5,3.4216585652257157e-8,0.0016092268749752002,-4.472491235101269e-5,3.425621097733665e-8,0.0016095888815234746,-4.470896660568734e-5,3.4234524970492415e-8,0.00160995294459917,-4.46061700180591e-5,3.414304169545714e-8,0.0016102797685153603,-4.442554150736995e-5,3.39901449867369e-8,0.001610540291413511,-4.41928249660299e-5,3.379729090404697e-8,0.001610720877149768,-4.3942959524330366e-5,3.3592785051752095e-8,0.0016108243718107255,-4.3711535533740247e-5,3.340493987008991e-8,0.0016108673896750982,-4.352740556905542e-5,3.325631883018611e-8,0.0016108751528596623,-4.340803798367828e-5,3.31602500419108e-8,0.0016108756639389974,-4.3358117340029234e-5,3.31199083561361e-8,0.00161089471982018,-4.33708154841172e-5,3.312942713946964e-8,0.0016109525410755215,-4.34306101333567e-5,3.317612870807587e-8,0.0016110620470242626,-4.351655218140907e-5,3.3243045504261954e-8,0.001611228317562383,-4.360524372648092e-5,3.331122931252226e-8,0.0016114486396584151,-4.367330914275547e-5,3.336174083792286e-8,0.0016117127150576606,-4.3699607289291936e-5,3.33775293772246e-8,0.0016120029665654158,-4.366764384768521e-5,3.3345510827283086e-8,0.0016122953248352881,-4.35685848202546e-5,3.3259070099345036e-8,0.0016125613483437497,-4.340490324202378e-5,3.312093756709973e-8,0.0016127727551766623,-4.319382193216696e-5,3.294576076085041e-8,0.0016129088996316033,-4.296843215561775e-5,3.276074107332174e-8,0.0016129659137071207,-4.277350269527232e-5,3.260204841704383e-8,0.0016129634518711477,-4.2654123502679954e-5,3.250560511019986e-8,0.0016129434192342419,-4.263951160928507e-5,3.249413087936494e-8,0.0016129578689934336,-4.272950726670111e-5,3.25664702196115e-8,0.001613050232896208,-4.2892278302879625e-5,3.2696007974918103e-8,0.0016132395138366183,-4.307566567224347e-5,3.2840080832235315e-8,0.0016135153781361821,-4.3225967007183096e-5,3.295532521363271e-8,0.0016138447598283675,-4.330446141592195e-5,3.3011068605873004e-8,0.0016141845061787268,-4.329558915141256e-5,3.299579503566333e-8,0.0016144937858859182,-4.320654916003372e-5,3.29165093334752e-8,0.0016147426836319956,-4.3061418898431364e-5,3.2793617549553344e-8,0.0016149162538619413,-4.28932148940195e-5,3.2654235700933185e-8,0.0016150148382885333,-4.273622151749938e-5,3.252591778532962e-8,0.0016150517857130536,-4.261972946654225e-5,3.243173477682972e-8,0.001615049514803641,-4.256367933918242e-5,3.238701919898679e-8,0.0016150347633862986,-4.2576490174574447e-5,3.239787068664833e-8,0.0016150339039934956,-4.265505690214593e-5,3.24613058418649e-8,0.0016150690590622733,-4.278649690659109e-5,3.2566675877575025e-8,0.0016151554483356746,-4.2951022505443604e-5,3.269788817933618e-8,0.0016153001048231429,-4.312527285417708e-5,3.283598386574173e-8,0.0016155017602802555,-4.328548587995333e-5,3.2961656880308e-8,0.0016157514557302796,-4.3410193344149555e-5,3.305749480030836e-8,0.0016160335151886938,-4.348253336100209e-5,3.310998203842222e-8,0.0016163267962227231,-4.3492450229067064e-5,3.311139396130571e-8,0.001616606420595729,-4.343902077762299e-5,3.306167660919614e-8,0.001616846570836147,-4.3332918110579625e-5,3.297027424956425e-8,0.0016170251774682734,-4.319829401359851e-5,3.285736904569684e-8,0.0016171308087405997,-4.307222907662207e-5,3.2753160720529384e-8,0.0016171704476762414,-4.299915965162309e-5,3.2693234113441636e-8,0.0016171742841552047,-4.301865193973153e-5,3.2708769773927315e-8,0.0016171918923307148,-4.314894035091985e-5,3.281350053431754e-8,0.0016172768691222427,-4.337450691395369e-5,3.299396166424684e-8,0.0016174652144145727,-4.364756211844907e-5,3.321089173978478e-8,0.0016177597932134746,-4.390561146011057e-5,3.341354613711286e-8,0.0016181304852361284,-4.4095543629212986e-5,3.3559243265705895e-8,0.0016185284692897027,-4.4190547319258514e-5,3.362705585213057e-8,0.0016189045522376445,-4.4193243891010715e-5,3.362020601659291e-8,0.0016192223969067512,-4.412817824935237e-5,3.355967969498163e-8,0.0016194638193470891,-4.403063195720452e-5,3.34748138358053e-8,0.0016196280163832983,-4.393679585500097e-5,3.339511192107193e-8,0.0016197277267549035,-4.3877154423368346e-5,3.334489133236136e-8,0.0016197845593948158,-4.387287847418416e-5,3.334056960624522e-8,0.0016198245204375643,-4.3934319125600074e-5,3.3389732573910446e-8,0.0016198739737394417,-4.4060948688515964e-5,3.3491313790702704e-8,0.001619956137050907,-4.424248547766236e-5,3.3636593203828094e-8,0.0016200882954145463,-4.4460987523551896e-5,3.381084517949932e-8,0.0016202798937417601,-4.469366279624242e-5,3.399550450501883e-8,0.0016205316675254457,-4.4916122131234496e-5,3.417072218106146e-8,0.0016208358841783572,-4.51056635939364e-5,3.431804144775011e-8,0.0016211775123474187,-4.524417861154815e-5,3.442285758382958e-8,0.0016215360341788234,-4.532053562216261e-5,3.447647579529873e-8,0.0016218877589150979,-4.5332465127465866e-5,3.4477688314315185e-8,0.0016222086413283134,-4.528794941479019e-5,3.4433800071019065e-8,0.0016224777898770169,-4.520602795248432e-5,3.436102856785716e-8,0.0016226820080681198,-4.511649275684907e-5,3.428394416218811e-8,0.0016228212897336288,-4.505716598228851e-5,3.423303906504118e-8,0.0016229139005976808,-4.50670885186496e-5,3.423920259833186e-8,0.0016229978830992289,-4.51749217202737e-5,3.432456868826437e-8,0.0016231246866747196,-4.538503437297744e-5,3.449162408965321e-8,0.0016233428870291516,-4.566853319778398e-5,3.4716252957965794e-8,0.0016236772248806965,-4.596812991238768e-5,3.495178509204106e-8,0.0016241152647686152,-4.621869465816446e-5,3.514559949367053e-8,0.0016246116056889723,-4.637312377459764e-5,3.526003661180751e-8,0.0016251072872445914,-4.6418152194176277e-5,3.5285198490338464e-8,0.0016255516901675028,-4.637296697358738e-5,3.523771443245092e-8,0.0016259155653828902,-4.627592173555477e-5,3.5149685697300395e-8,0.0016261928281600965,-4.616943668607092e-5,3.5056106184870745e-8,0.0016263953747431522,-4.608946050777786e-5,3.4986134383754507e-8,0.00162654592076792,-4.606055522365073e-5,3.4959174040392114e-8,0.0016266717530924076,-4.6094961601108544e-5,3.498436583192719e-8,0.0016268002162611959,-4.619362578856872e-5,3.506170277704274e-8,0.0016269555762756986,-4.6347898809298577e-5,3.5183591772346576e-8,0.0016271567027249208,-4.654151467710764e-5,3.533649211716943e-8,0.0016274153179251607,-4.675286847043376e-5,3.550269075582101e-8,0.0016277348011426761,-4.695766887346226e-5,3.566236234788382e-8,0.0016281097039318963,-4.7132008983412574e-5,3.5796030279421156e-8,0.0016285262644494334,-4.7255678611228e-5,3.5887315314142226e-8,0.001628964073625187,-4.731526564371127e-5,3.5925567937765023E-08,0.0016293987695045343,-4.7306594472402196e-5,3.5907931482636357e-8,0.0016298055166128098,-4.723617482978707e-5,3.5840485560798704e-8,0.0016301629750232944,-4.7121376003895105e-5,3.573820180050115e-8,0.0016304574112304933,-4.698912835410786e-5,3.562359354313474e-8,0.001630686636381212,-4.687296006046646e-5,3.552402309108488e-8,0.001630863266571223,-4.6807921698255846e-5,3.546744809793738e-8,0.001631016074302961,-4.6822961021669483e-5,3.5476346222796364e-8,0.0016311873490471736,-4.6931285427303824e-5,3.556023149782128e-8,0.0016314241196807519,-4.712134705140385e-5,3.570874980570606e-8,0.0016317631244090534,-4.7353656267366736e-5,3.5889370924150126e-8,0.0016322143049490748,-4.756904084464057e-5,3.605411987293246e-8,0.0016327523237028758,-4.770869469055887e-5,3.615570802256036e-8,0.001633323721960312,-4.7737093003807625e-5,3.616600609540491e-8,0.0016338673630050457,-4.7654512699828896e-5,3.608614967055138e-8,0.0016343363161102794,-4.7492623882838964e-5,3.59428498486487e-8,0.0016347097760828822,-4.729839554612501e-5,3.577507367476015e-8,0.0016349924051370127,-4.7117130386448616e-5,3.5619987353530545e-8,0.0016352061343948639,-4.6981902350859326e-5,3.550426387925348e-8,0.0016353807083681227,-4.691028273741784e-5,3.544154910868567e-8,0.0016355464804455415,-4.690570628738172e-5,3.543383998937961e-8,0.001635730112170018,-4.696057989449839e-5,3.5474262687520425e-8,0.0016359523601496132,-4.705941012943231e-5,3.5549738432914185e-8,0.0016362269041772656,-4.718145036852111e-5,3.56431208201011e-8,0.0016365595879771274,-4.730304536267612e-5,3.5735016865504467e-8,0.0016369478987237219,-4.7400035126582016e-5,3.58056778292684e-8,0.0016373808483354118,-4.7450543227840547e-5,3.583728050603426e-8,0.0016378397017732427,-4.7438197284311285e-5,3.581663456998011e-8,0.0016383000265438497,-4.7355354305080354e-5,3.573790790644766e-8,0.001638735210162438,-4.720557229499285e-5,3.5604668453241686e-8,0.0016391211394910926,-4.700451726643738e-5,3.5430520082254106e-8,0.001639441306452008,-4.6778640180967995e-5,3.5237790208829276e-8,0.0016396912690668532,-4.6561377647454084e-5,3.5054142350092676e-8,0.0016398813658379573,-4.63872399230719e-5,3.490753406266736e-8,0.0016400368292994823,-4.628458200577974e-5,3.4820292858860436e-8,0.0016401946504560447,-4.6268117996810935e-5,3.480322538106792e-8,0.0016403967479677747,-4.6332728578918845e-5,3.485095674241419e-8,0.001640679685853359,-4.645083249127904e-5,3.494018708827335e-8,0.0016410627568417529,-4.657595311703952e-5,3.5032828146860476e-8,0.0016415385136823188,-4.665404102506928e-5,3.5085209016852697e-8,0.0016420712361589218,-4.6640593747802424e-5,3.506183028304087e-8,0.0016426066758982037,-4.651680204060536e-5,3.49483030632206e-8,0.0016430902029990438,-4.6296213477060036e-5,3.4756616314912035e-8,0.0016434846325752775,-4.601807762842053e-5,3.451956176891535e-8,0.0016437792010674768,-4.573164001443794e-5,3.4277753576294015e-8,0.0016439873944463735,-4.5480182565328244e-5,3.406648234300473e-8,0.0016441377649539473,-4.5291435015766347e-5,3.390791520498886e-8,0.0016442637177816871,-4.517553440841134e-5,3.38096166616314e-8,0.0016443960339398653,-4.512789702654878e-5,3.376713660815342e-8,0.0016445588953631549,-4.5133752929414504e-5,3.3767884966551584e-8,0.0016447684565497988,-4.517231429766106e-5,3.3794572068923304e-8,0.001645032669366525,-4.521994135279829e-5,3.382772789479797e-8,0.0016453514524502528,-4.5252519765481794e-5,3.3847558228796395e-8,0.0016457168505185967,-4.524759349498278e-5,3.38356608525806e-8,0.001646113327512554,-4.51867851078022e-5,3.3777059144320585e-8,0.0016465187233436285,-4.5058731090684236e-5,3.366270182651552e-8,0.0016469065595708819,-4.4862213010709696e-5,3.349209230451183e-8,0.0016472501485759548,-4.460855757214049e-5,3.327522050357837e-8,0.0016475282892311342,-4.43219688174928e-5,3.303267631530774e-8,0.001647731361928809,-4.40365769207798e-5,3.279298525555044e-8,0.0016478658173717641,-4.378990661504161e-5,3.2587010223876336e-8,0.001647955012278325,-4.361395560197095e-5,3.244050743190803e-8,0.0016480353368982224,-4.352634140384957e-5,3.236693816783387e-8,0.0016481481573200063,-4.352430208745986e-5,3.236282743263174e-8,0.0016483294908475749,-4.358362185466893e-5,3.240727442369534e-8,0.001648600066709863,-4.366323577305269e-5,3.2466074614676396e-8,0.0016489585077819739,-4.371486073861877e-5,3.249977289857885e-8,0.0016493799815096145,-4.369565905864213e-5,3.247396466644824e-8,0.0016498216574363398,-4.35805854427313e-5,3.236916312326058e-8,0.0016502342591044501,-4.337016148742985e-5,3.2186868815840264e-8,0.0016505762173780565,-4.309020706568123e-5,3.194909432152713e-8,0.0016508250968513124,-4.278317246005813e-5,3.1691092721698956e-8,0.0016509819009967624,-4.24946924788503e-5,3.1450271221881416e-8,0.0016510674183862332,-4.226105950962592e-5,3.125597438215787e-8,0.0016511135338679924,-4.210202576888828e-5,3.112374663814163e-8,0.0016511538874274358,-4.201993406387043e-5,3.105483497910188e-8,0.0016512170388640625,-4.200324771532353e-5,3.1039256218679945e-8,0.0016513230147448136,-4.2031673250908966e-5,3.106005739207479e-8,0.0016514824899899535,-4.2080862105879425e-5,3.109711887696447e-8,0.0016516973653265966,-4.212590433392133e-5,3.1129923067476226e-8,0.001651961729402234,-4.214373526750093e-5,3.113947244255304e-8,0.001652262709403183,-4.2115034434587586e-5,3.11098777670916e-8,0.001652581282236162,-4.20262355409554e-5,3.103010807540562e-8,0.001652893563089459,-4.1871968498026697e-5,3.089609413234407e-8,0.0016531733119630543,-4.165773999853627e-5,3.071294747399099e-8,0.001653396304072018,-4.1401950749318465e-5,3.0496512296258735e-8,0.0016535465337220673,-4.113559677284715e-5,3.027291157231968e-8,0.00165362283822673,-4.08978653952933e-5,3.007468972951524e-8,0.001653643051829214,-4.072709688518788e-5,2.993320892854408e-8,0.0016536425379715574,-4.064915069866908e-5,2.986905479463843e-8,0.0016536658656256423,-4.0667642322225216e-5,2.988415848613424e-8,0.0016537538623654171,-4.076077998128367e-5,2.995949305378407e-8,0.0016539310239152949,-4.088682206365838e-5,3.0059909699632935e-8,0.0016541982039326847,-4.099610396545309e-5,3.0144299811144e-8,0.0016545328263749025,-4.1044953793367646e-5,3.0177129842224954e-8,0.0016548957129889686,-4.100692229408898e-5,3.013755445295461e-8,0.0016552417765755723,-4.0878540058739154e-5,3.0023865014476645e-8,0.0016555313813681053,-4.0678744800547455e-5,2.985267628556814e-8,0.0016557394578348126,-4.0442706059349526e-5,2.965356616713717e-8,0.0016558602205119905,-4.0212091256584694e-5,2.9460936650144332e-8,0.0016559066064064827,-4.002467175107929e-5,2.9305507808049016e-8,0.0016559051411805651,-3.990618815504244e-5,2.9207810627581598e-8,0.0016558883208421219,-3.986641734804314e-5,2.9175190181454984e-8,0.0016558871094012825,-3.989970995789232e-5,2.920244204328383e-8,0.0016559255239323612,-3.9988717521732396e-5,2.9274958922300416e-8,0.0016560179934640134,-4.010939295998521e-5,2.9372803922459204e-8,0.0016561690600313398,-4.023567907279301e-5,2.947446435780696e-8,0.0016563744709726966,-4.0343077329543915e-5,2.9559704687070583e-8,0.0016566227473716701,-4.04110569171678e-5,2.9611550177314757e-8,0.0016568967011817656,-4.0424765170366424e-5,2.9617783814663727e-8,0.0016571748725286567,-4.03766005139679e-5,2.9572361572399208e-8,0.001657433277921752,-4.026798280415287e-5,2.9476932544257488e-8,0.0016576481341211992,-4.011122108290574e-5,2.9342315929308953e-8,0.0016578002161897344,-3.993068140079735e-5,2.918927620055278e-8,0.0016578808882250792,-3.97616016784514e-5,2.904730413787855e-8,0.0016578983842147038,-3.964455859766971e-5,2.894986463588264e-8,0.0016578810457861806,-3.961480375790006e-5,2.8925550308629004e-8,0.0016578735047228827,-3.968893422226867e-5,2.8987194852995764e-8,0.0016579242628156493,-3.985510074322592e-5,2.9124022121367424e-8,0.0016580686098759247,-4.007348282468502e-5,2.9302307407495906e-8,0.001658315212483153,-4.028875236110224e-5,2.9475907260284677e-8,0.0016586433615687947,-4.044883713349159e-5,2.9601907087753384e-8,0.0016590113970561915,-4.0520869931719907e-5,2.9653810852602028e-8,0.0016593709065407672,-4.049825768358674e-5,2.9627222749183985e-8,0.0016596801558158162,-4.039855087642855e-5,2.953777937619335e-8,0.0016599128451770951,-4.025546688761349e-5,2.9414208659192474e-8,0.001660061372670357,-4.010894002692455e-5,2.928985879812469e-8,0.0016601355508499426,-3.999598249842553e-5,2.9195098085642385e-8,0.0016601582578794414,-3.994386969418339e-5,2.9151836997324146e-8,0.0016601594601349523,-3.9966285990856224e-5,2.9170608546724392E-08,0.0016601699239930832,-4.006254573710791e-5,2.9250175101477995e-8,0.0016602158041532625,-4.021951416375853e-5,2.9379253301896273e-8,0.0016603149537395255,-4.041536412718664e-5,2.9539614735345927e-8,0.00166047527124585,-4.062408817363606e-5,2.970971399095024e-8,0.0016606948895783432,-4.081978853524619e-5,2.986812443718438e-8,0.0016609636296508186,-4.098007900947471e-5,2.9996308350286483e-8,0.0016612650174455234,-4.108841983012459e-5,3.0080601450579956e-8,0.0016615783991599132,-4.113565076063209e-5,3.01135932639863e-8,0.00166188105966781,-4.11211016170598e-5,3.009513534055636e-8,0.001662150531071203,-4.105352714493535e-5,3.0033097660775586e-8,0.0016623675379770072,-4.095183539624763e-5,2.994381510048298e-8,0.0016625201033940193,-4.0844962473662907e-5,2.98517361833591e-8,0.0016626087554811723,-4.0769446539057265e-5,2.9787188477707118e-8,0.0016626514160071732,-4.0762994359918156e-5,2.9780965991072815e-8,0.0016626848298044925,-4.0853432310140516e-5,2.9855291758414986e-8,0.0016627585180696237,-4.104557297078488e-5,3.001319945286181e-8,0.0016629196343020275,-4.1312810810254054e-5,3.023184378109478e-8,0.0016631936622173485,-4.1601319751516236e-5,3.046615302114082e-8,0.0016635717482644979,-4.1848343784879263e-5,3.0664058183648755e-8,0.0016640132555107746,-4.200576477773202e-5,3.0786057280139574e-8,0.0016644620386205267,-4.205590491481198e-5,3.0818301607812385e-8,0.001664866364125141,-4.201279974388258e-5,3.0773509768777413e-8,0.001665192705554029,-4.1912072651471524e-5,3.068227045198648e-8,0.0016654301308830564,-4.1797159168452974e-5,3.0581274453788686e-8,0.0016655875286445104,-4.170783384293948e-5,3.050359333944092e-8,0.001665687465604892,-4.167319984191924e-5,3.0472896827926416e-8,0.0016657594905155892,-4.170874776273719e-5,3.050124412626773e-8,0.0016658342301060726,-4.181625386895793e-5,3.058929521132896e-8,0.0016659386770511526,-4.1985505643195065e-5,3.0727965256502515e-8,0.0016660927790692734,-4.2197234556937535e-5,3.0900934221248055e-8,0.001666307394327278,-4.242676039351328e-5,3.108761361993264e-8,0.0016665836116936171,-4.2647885737481854e-5,3.1266263776837525e-8,0.0016669133750296294,-4.2836615240290816e-5,3.141699700450582e-8,0.0016672812040082632,-4.29742538784887e-5,3.1524353127941986e-8,0.001667666583854231,-4.3049585079543835e-5,3.157918783389978e-8,0.0016680466219054927,-4.306016694156729e-5,3.1579840829446867e-8,0.0016683988209936053,-4.3012919060955386e-5,3.153264421759085e-8,0.0016687039684606657,-4.2924075892586436e-5,3.145177637443578e-8,0.001668949248977301,-4.281847186208641e-5,3.135844372913255e-8,0.001669131786259909,-4.272775819299064e-5,3.127914542178871e-8,0.0016692623804481766,-4.268653070428464e-5,3.1242302733313314e-8,0.0016693680627836978,-4.272526972232355e-5,3.1272440060728026e-8,0.0016694908319522278,-4.286013130087455e-5,3.138195636848311e-8,0.0016696795079151228,-4.3082236687797025e-5,3.156257050561017e-8,0.0016699738397906113,-4.335263606913009e-5,3.178138863954782e-8,0.0016703860640257925,-4.3610062290433165e-5,3.1987399692878435e-8,0.0016708909850968417,-4.3792311883293744e-5,3.212916881254575e-8,0.0016714333005318656,-4.3861116917503015e-5,3.217546090751692e-8,0.0016719492822700806,-4.3815726814167675e-5,3.2126524444803504e-8,0.0016723897475633752,-4.368843070089595e-5,3.201025739742718e-8,0.0016727324810957033,-4.352796787840965e-5,3.1868119479992646e-8,0.0016729818078562674,-4.338203342372647e-5,3.174024705968066e-8,0.001673160510358554,-4.3286058936851166e-5,3.165596355869807e-8,0.0016733001997954202,-4.325918304672302e-5,3.1630534790235667e-8,0.0016734335563792723,-4.3305040518058526e-5,3.166611119385737e-8,0.0016735892269826305,-4.3414715646800075e-5,3.1754482304429493e-8,0.0016737888324904195,-4.357023755789901e-5,3.188016234879414e-8,0.0016740453537005702,-4.3748057320064645e-5,3.202330368510447e-8,0.0016743624861162748,-4.392241829557162e-5,3.216241408654458e-8,0.0016747348092937828,-4.406860454410632e-5,3.227695616684352e-8,0.0016751487805059524,-4.416603666815915e-5,3.234987839857888e-8,0.001675584637718124,-4.420100590072595e-5,3.236992864406305e-8,0.0016760191120139118,-4.4168658691226686e-5,3.23333885762874e-8,0.0016764286255676625,-4.407397693962139e-5,3.224493873197347e-8,0.0016767926831136699,-4.393169599546051e-5,3.211753662941352e-8,0.001677097237930815,-4.3765093105344423e-5,3.197123217472216e-8,0.00167733777658621,-4.360358105039846e-5,3.183091478114156e-8,0.001677521869398556,-4.347902774846859e-5,3.172303510741116e-8,0.0016776707408900074,-4.342049118287758e-5,3.167116295241453e-8,0.0016778187422698135,-4.3447130391136005e-5,3.1690241873688606e-8,0.0016780089503785252,-4.3560098509420256e-5,3.178016652122048e-8,0.0016782833720448765,-4.373614563117936e-5,3.192080369790514e-8,0.0016786683666438333,-4.3927655024510755e-5,3.207221484054373e-8,0.001679160369115784,-4.407367191046424e-5,3.2183808817329206e-8,0.0016797209875307913,-4.412114009758808e-5,3.221188471697183e-8,0.0016802880403294148,-4.404672142738793e-5,3.213771971384632e-8,0.001680798773740542,-4.386597338792192e-5,3.197519004817064e-8,0.0016812121713359505,-4.362439078443936e-5,3.176318558267004e-8,0.0016815186777889915,-4.337739128303645e-5,3.1548644038694827e-8,0.0016817358173011794,-4.317163234212843e-5,3.137068706839119e-8,0.0016818964774662018,-4.303518866881324e-5,3.125235326029229e-8,0.0016820373053456571,-4.2976515779093504e-5,3.1199916976096325e-8,0.0016821908517579908,-4.298835334932385e-5,3.120645643391533e-8,0.001682381643870257,-4.305295001771544e-5,3.125647495228362e-8,0.0016826248641123465,-4.314669659029766e-5,3.1329875743603594e-8,0.0016829262935964223,-4.3243765750394774e-5,3.1404959032322505e-8,0.0016832827993444842,-4.3319058823132525e-5,3.1460773886099394e-8,0.0016836831808576592,-4.335081474193989e-5,3.147921387142313e-8,0.0016841094761317773,-4.332309858073908e-5,3.144709006843145e-8,0.0016845389965708768,-4.322812581928537e-5,3.1358136502702837e-8,0.0016849472827916928,-4.30680097516396e-5,3.121454317459761e-8,0.001685311817324549,-4.28553785051464e-5,3.102747616737498e-8,0.0016856160259362443,-4.2612465496661675e-5,3.081620600067579e-8,0.0016858529647612876,-4.2368472572295754e-5,3.060568908899294e-8,0.0016860279929869306,-4.2155252212118004e-5,3.042272064814904e-8,0.0016861597397253318,-4.2001707138160697e-5,3.029110352696416e-8,0.001686278802546357,-4.192753075558542e-5,3.0226450956112963e-8,0.0016864236511896307,-4.1937096150845514e-5,3.023131644925384e-8,0.0016866333005143353,-4.20148809990313e-5,3.029172471873377e-8,0.0016869370383114897,-4.212468985170035e-5,3.0376837396555156e-8,0.0016873432300061099,-4.221528826700933e-5,3.0443795692792346e-8,0.0016878316433975797,-4.223370069387507e-5,3.044875659726567e-8,0.0016883549945588567,-4.214339067565662e-5,3.0361907947096335e-8,0.0016888524992501178,-4.193939125212146e-5,3.017996755366323e-8,0.0016892708942925403,-4.165129888299081e-5,2.992858118803242e-8,0.0016895823148465297,-4.1331399559831654e-5,2.9652240492607542e-8,0.0016897900659125485,-4.103474076847829e-5,2.9397395175287495e-8,0.0016899216625505006,-4.080203475990938e-5,2.919799465346154e-8,0.0016900157054978312,-4.0652031392961096e-5,2.906915313908238e-8,0.0016901099208097574,-4.058288462987776e-5,2.900853004866035e-8,0.0016902339270298944,-4.057817378667731e-5,2.900165126974593e-8,0.0016904065626526063,-4.061354355146046e-5,2.9027644312851774e-8,0.0016906360051758417,-4.0661950119559325e-5,2.9063648467584324e-8,0.0016909209995482196,-4.069723028481099e-5,2.9087710885649258e-8,0.0016912522654108416,-4.069653884596306e-5,2.9080721860103752e-8,0.0016916138646757722,-4.064230977992161e-5,2.9028017183053914e-8,0.0016919847467131485,-4.052416230559773e-5,2.8921020015667242e-8,0.0016923408945919195,-4.034078146507427e-5,2.8758904768726176e-8,0.0016926584456100585,-4.0101338254094135e-5,2.854984370404633e-8,0.0016929177886920088,-3.98256830559316e-5,2.8311126828899853e-8,0.001693108077881154,-3.954252987433632e-5,2.8067479641023334e-8,0.0016932310746483276,-3.928519728252996e-5,2.7847258747180767e-8,0.0016933029691601435,-3.908519792267514e-5,2.767686433700739e-8,0.0016933530634665743,-3.896487647791898e-5,2.7574483226122663e-8,0.0016934189419301243,-3.893091195901987e-5,2.7544749748504323e-8,0.0016935386906464923,-3.897054727601237e-5,2.7575867805514548e-8,0.001693741560057379,-3.905203356829756e-5,2.7640332995878002e-8,0.0016940391412425884,-3.9130122676386634e-5,2.7699808677760945e-8,0.0016944196388182435,-3.9156405028759944e-5,2.7713881316001143e-8,0.0016948479443695268,-3.909270277009998e-5,2.7651188701418565e-8,0.0016952732925359264,-3.892369137957591e-5,2.749979593321849e-8,0.0016956435737868081,-3.8663481150373246e-5,2.7272496371780773e-8,0.001695921508217519,-3.835205250275875e-5,2.7003629854952092e-8,0.0016960956761315402,-3.804202367397545e-5,2.67378143191e-8,0.0016961815319577094,-3.778160361537539e-5,2.6515529524935576e-8,0.001696213032473906,-3.7601416121365983e-5,2.6362069074866936e-8,0.0016962301457196613,-3.750973613700963e-5,2.628370233701135e-8,0.0016962680770975457,-3.749551816840239e-5,2.627045669394839e-8,0.0016963512376621233,-3.753538910232288e-5,2.63021853253086e-8,0.0016964917453452192,-3.7600818583413475e-5,2.635465438290942e-8,0.001696690651419292,-3.766350660714986e-5,2.6404007688425848e-8,0.001696940137771745,-3.769874102950349e-5,2.642947829630893e-8,0.0016972256658882062,-3.7687335396604675e-5,2.6414948818137022e-8,0.0016975277902204365,-3.761694740849289e-5,2.635007890531258e-8,0.001697823895555182,-3.7483365373189244e-5,2.6231474474216885e-8,0.0016980904064073249,-3.729186542931282e-5,2.6063916854335785e-8,0.0016983059629982868,-3.705818431813839e-5,2.5861193564983613e-8,0.00169845567523588,-3.6808209557159376e-5,2.5645733638452276e-8,0.0016985358748413822,-3.6575286342219624e-5,2.544614117888997e-8,0.0016985578725676185,-3.6394393189292205e-5,2.5292069524213555e-8,0.0016985486004877865,-3.629367901585675e-5,2.5206946956193076e-8,0.001698546470920179,-3.628561471787852e-5,2.5200532434859682e-8,0.0016985925376170278,-3.6361141746669543e-5,2.5264171502710526e-8,0.0016987192823167937,-3.648970911878939e-5,2.537113473313952e-8,0.0016989407603901555,-3.66260131869023e-5,2.548261022146134e-8,0.0016992475797464068,-3.672165020583402e-5,2.5557724392811732e-8,0.0016996084606618878,-3.673811638230782e-5,2.5564517650592807e-8,0.001699977956475142,-3.6657310285023185e-5,2.5488638588697726e-8,0.0017003082070326627,-3.648654916289649e-5,2.5337305501061796e-8,0.001700561508238771,-3.625653060246809e-5,2.5137301531646965e-8,0.0017007199892369825,-3.601259358681587e-5,2.492738326789755e-8,0.0017007892677775634,-3.580192599678626e-5,2.474739066190967e-8,0.0017007949978842718,-3.566104751616369e-5,2.462773297309177e-8,0.0017007740285271689,-3.560774970729352e-5,2.4582760104628268e-8,0.001700763881614479,-3.5639540723169225e-5,2.4609678123756305e-8,0.0017007942876682992,-3.5737747088271245e-5,2.4692199666377635e-8,0.0017008827935677405,-3.5874468764077714e-5,2.48064931342209e-8,0.0017010342865269056,-3.601946403066804e-5,2.4926953335125145e-8,0.0017012429683338664,-3.614526778038245e-5,2.503041713192252e-8,0.0017014952046849267,-3.623023427960677e-5,2.5098644185563178e-8,0.001701772238022168,-3.626002631665762e-5,2.5119562344499273e-8,0.0017020524196195597,-3.6228338899696296e-5,2.5087946189913077e-8,0.0017023131682198593,-3.613749747676565e-5,2.500601481098576e-8,0.0017025331952084945,-3.599911636755302e-5,2.488403054979358e-8,0.001702695545569224,-3.583443484893609e-5,2.4740519688495516e-8,0.001702791658995604,-3.567341761960704e-5,2.4601345097724025e-8,0.001702825905263925,-3.5551336305842663e-5,2.449660803475595e-8,0.0017028188818827854,-3.550180632355494e-5,2.4454604213756933e-8,0.001702806735149731,-3.5546798682885895e-5,2.4493348244526906e-8,0.0017028341827005904,-3.5686793861779424e-5,2.4612368548798255e-8,0.0017029417119942861,-3.589622192692521e-5,2.4789084250634145e-8,0.001703151464359933,-3.612826882154989e-5,2.4983140816697334e-8,0.0017034584180842351,-3.632857896050061e-5,2.514822835935455e-8,0.0017038313132765339,-3.645226816286234e-5,2.5246595649292e-8,0.0017042226379164888,-3.647699395454146e-5,2.5260079820686068e-8,0.0017045828447247262,-3.640761249596701e-5,2.5193854756660187e-8,0.0017048733046878682,-3.627237682470769e-5,2.5072903100127402e-8,0.0017050744960167964,-3.611354589471979e-5,2.4933747465570844e-8,0.0017051883610562926,-3.597597816658294e-5,2.4814589910546375e-8,0.0017052354342512147,-3.5896752180398834e-5,2.4746512664333185e-8,0.0017052482576193312,-3.589793749996182e-5,2.4747526264296278e-8,0.001705263072666433,-3.598363726072869e-5,2.482032549880074e-8,0.0017053119227668128,-3.614137236019604e-5,2.4953695706256513e-8,0.0017054169711461474,-3.6346798808851755e-5,2.5126630491637535e-8,0.001705587948875609,-3.656997064057401e-5,2.5313627491764613e-8,0.0017058225445119196,-3.678132058142517e-5,2.548965965479151e-8,0.0017061087821257628,-3.69561651974611e-5,2.563388881603951e-8,0.0017064282269366776,-3.70773600928232e-5,2.5731871018470053e-8,0.0017067591018042412,-3.713639521195745e-5,2.5776518819360373e-8,0.0017070789070781516,-3.71335783856623e-5,2.576833424327725e-8,0.001707366647808429,-3.7077896034809675e-5,2.5715344204894712e-8,0.0017076050669122245,-3.6986775316050295e-5,2.563286430776859e-8,0.0017077833482693745,-3.6885519284883346e-5,2.5542879446377526e-8,0.0017079005422884115,-3.6805662765103294e-5,2.547244983570222e-8,0.0017079692563718653,-3.678101653653675e-5,2.545019000338502e-8,0.0017080179220300188,-3.684031594380135e-5,2.549999137370553e-8,0.0017080887479602191,-3.699691368462634e-5,2.5632392147724558e-8,0.001708228641281455,-3.723898589582162e-5,2.583648649016691e-8,0.0017084735851781347,-3.752657719115359e-5,2.607763848747086e-8,0.0017088326289339622,-3.7800822890985845e-5,2.6305464895935834e-8,0.0017092809717665692,-3.800389880699946e-5,2.6470864658603684e-8,0.001709767617820864,-3.810010719756817e-5,2.6543979991628234e-8,0.0017102337850382358,-3.8086965178193554e-5,2.6523588534275293e-8,0.0017106319934249428,-3.799214504651016e-5,2.6434316445958196e-8,0.0017109375331463164,-3.786074079930412e-5,2.6315481437475767e-8,0.0017111503518974585,-3.774050858751181e-5,2.6208213356204093e-8,0.0017112901426587356,-3.767043065840216e-5,2.6145574168089167e-8,0.001711388473927356,-3.767435097338324e-5,2.6147233879245078e-8,0.0017114807478860903,-3.7759148181293965e-5,2.6218181852708225e-8,0.0017115993915441882,-3.791616629237784e-5,2.6350243451075947e-8,0.0017117688340202747,-3.812478479964005e-5,2.6525321161408846e-8,0.0017120025462314225,-3.8357269218783055e-5,2.671957407701288e-8,0.0017123022368902155,-3.858401705662783e-5,2.690781030939024e-8,0.0017126589667248331,-3.8778319536625255e-5,2.706742096037333e-8,0.0017130556713426438,-3.892000575518932e-5,2.718139609955358e-8,0.0017134704463890348,-3.8997637220543705e-5,2.72401837338603e-8,0.0017138799079658143,-3.900926090925543e-5,2.7242381927571813e-8,0.0017142621560916798,-3.896209930041389e-5,2.719452965369347e-8,0.0017145992769997747,-3.887164408049795e-5,2.7110327165076998e-8,0.0017148795732618073,-3.876038090260755e-5,2.7009443934541433e-8,0.0017150997739135154,-3.8656079592503165e-5,2.691587804537622e-8,0.0017152674011576832,-3.858919935674702e-5,2.6855564023675893e-8,0.001715402930080424,-3.858850645778573e-5,2.68525620088811e-8,0.0017155403030105689,-3.867411814540851e-5,2.6923223505940072e-8,0.001715723354598753,-3.884849496986257e-5,2.706875788258036e-8,0.0017159957908326042,-3.9088518326831626e-5,2.7268754434345864e-8,0.0017163851403779347,-3.9344697300168935e-5,2.748066663980295e-8,0.001716886993958065,-3.955318428218216e-5,2.7650053898035193e-8,0.0017174602847125158,-3.965909042471542e-5,2.773040269966326e-8,0.001718040134972025,-3.963938085916244e-5,2.770265841257851e-8,0.0017185625897166842,-3.9511228867599055e-5,2.758236823583223e-8,0.0017189868062355465,-3.932167724591736e-5,2.7410713552494807e-8,0.001719303790073166,-3.912724285345024e-5,2.7236765021706585e-8,0.0017195315916373054,-3.897569321704473e-5,2.710159348901865e-8,0.0017197039490144403,-3.889639604552238e-5,2.7029929542711243e-8,0.001719859026622647,-3.889874932274322e-5,2.7028998797406246e-8,0.0017200313178398767,-3.897534491821806e-5,2.7091549749431207e-8,0.0017202469671751624,-3.910684938799904e-5,2.7200319928931065e-8,0.001720521602018453,-3.926695176135516e-5,2.7332412797781222e-8,0.001720859794259045,-3.942689817955544e-5,2.7463158757262513e-8,0.001721255728863236,-3.955955466122989e-5,2.756947544016638e-8,0.0017216948873827532,-3.9642868900642176e-5,2.7632707506931933e-8,0.001722156569161592,-3.966254350579579e-5,2.764085344336467e-8,0.0017226170439005363,-3.9613697538888915e-5,2.7590003469533287e-8,0.001723052976870324,-3.9501301872358064e-5,2.7484764624405265e-8,0.0017234446600947672,-3.933941901930363e-5,2.733763268972299e-8,0.001723778754377761,-3.914951517199835e-5,2.7167486552635708e-8,0.0017240504576373702,-3.8958063040786535e-5,2.6997386666773607e-8,0.0017242650711087881,-3.8793531002493264e-5,2.6851810256787167e-8,0.0017244389431611393,-3.868270733259092e-5,2.675337383241879e-8,0.0017245995113033862,-3.864602832841346e-5,2.671885005626151e-8,0.0017247834536315045,-3.8691681327300336e-5,2.6754311849929e-8,0.0017250313802367769,-3.880929377612953e-5,2.6850034141866425e-8,0.001725377842565471,-3.896581169015178e-5,2.697723630726428e-8,0.0017258375470063556,-3.910800396460535e-5,2.7090318371162557e-8,0.0017263930836693708,-3.917572346874251e-5,2.7138107085967308e-8,0.0017269933872087041,-3.912436180795919e-5,2.7082925689746156e-8,0.0017275689865215494,-3.8945638522437385e-5,2.691835379492017e-8,0.0017280585048235183,-3.86727214245852e-5,2.6673635556659343e-8,0.001728431073422244,-3.836534884152783e-5,2.6400818438587404e-8,0.0017286923868734853,-3.808504387510162e-5,2.61532106623058e-8,0.0017288748816655678,-3.787530232705404e-5,2.5968120288942417e-8,0.0017290217154868146,-3.7754199534558863E-05,2.5860493154658515e-8,0.0017291734675064128,-3.771726995413944e-5,2.582562501534354e-8,0.0017293607820238672,-3.7744848247661723E-05,2.584579636728525e-8,0.001729602000315515,-3.780948874960963e-5,2.5896883802857644e-8,0.001729903599395464,-3.788165973355425e-5,2.595331727889163e-8,0.0017302617181777903,-3.7933690493989186e-5,2.5991389794231897e-8,0.0017306640141175572,-3.794259510943676e-5,2.5991547940454676e-8,0.001731091755867424,-3.789224556048095e-5,2.594015958103042e-8,0.001731522255539111,-3.7775051882364856e-5,2.5830937167328825e-8,0.0017319317604426708,-3.7593037290670407e-5,2.5665905426726304e-8,0.0017322987686243735,-3.735795299004614e-5,2.545555029736884e-8,0.0017326074067128012,-3.709011144855787e-5,2.5217806685687195e-8,0.0017328503457029842,-3.6815919057722917e-5,2.4975834819967113e-8,0.001733030801250284,-3.6564297546596944e-5,2.4754770932095832e-8,0.001733163245050693,-3.636230112525841e-5,2.4577788776660804e-8,0.0017332725692263016,-3.6230386059595666e-5,2.446195888578073e-8,0.001733391561335409,-3.6177777041230204e-5,2.4414354594100277e-8,0.0017335564073636222,-3.619837183913728e-5,2.4428778625296542e-8,0.001733799814146551,-3.626816379255833e-5,2.4483858210644657e-8,0.0017341419144584454,-3.634606741287226e-5,2.454398795466479e-8,0.0017345806750870597,-3.638048933612316e-5,2.4565021790145197e-8,0.0017350858869240476,-3.632295309658755e-5,2.4505843202086038e-8,0.0017356024788424108,-3.614624025006184e-5,2.4343764994910206e-8,0.0017360663216553012,-3.585874629062718e-5,2.408675934782713e-8,0.0017364275421104804,-3.550486845228883e-5,2.377374351553505e-8,0.001736668888599713,-3.514850340937432e-5,2.34602712311622e-8,0.001736808661045457,-3.4848567953173e-5,2.3197265336036242e-8,0.001736888544939611,-3.464037865199596e-5,2.301485336433552e-8,0.0017369558513605297,-3.4530440416808935e-5,2.29179595201377e-8,0.001737049707092597,-3.4502354376221574e-5,2.289165624475731e-8,0.0017371947516276504,-3.4526982344086895e-5,2.2910199010581445e-8,0.0017374008073448293,-3.4571512886728264e-5,2.2944984052831473e-8,0.001737665467048844,-3.460545560147143e-5,2.2969695297045837e-8,0.001737977290689824,-3.460390307791772e-5,2.296299541437974e-8,0.0017383186141002541,-3.454918032334136e-5,2.290982677063709e-8,0.0017386679295325906,-3.4431804356590167e-5,2.2802188582601254e-8,0.0017390021734525031,-3.42511906097866e-5,2.2639776047910924e-8,0.0017392992945751758,-3.40160914722638e-5,2.243042545250072e-8,0.0017395413117880889,-3.374434814309473e-5,2.2189933916874547e-8,0.0017397176600680104,-3.346135952529788e-5,2.1940688488459516e-8,0.0017398281621878566,-3.319689225605055e-5,2.170877243418754e-8,0.0017398847366847004,-3.2980307378858836e-5,2.1519663391740078e-8,0.00173991100205662,-3.283480466826047e-5,2.1393128136041958e-8,0.0017399392899709579,-3.27718231350248e-5,2.1338379242105724e-8,0.00174000521831946,-3.278698042141254e-5,2.1350723083240454e-8,0.001740140572588363,-3.285870325852261e-5,2.1410652793135758e-8,0.0017403655886877377,-3.295034303669861e-5,2.1485963701877946e-8,0.0017406820927880144,-3.301629939579607e-5,2.153721791335664e-8,0.0017410695269251995,-3.301209684177935e-5,2.152643905078453e-8,0.001741486310794703,-3.290702867540473e-5,2.1427864745405244e-8,0.0017418784545159788,-3.269589869418132e-5,2.1237862433750336e-8,0.0017421948525763043,-3.2404476839655194e-5,2.097945465702013e-8,0.001742404370709457,-3.208389090653782e-5,2.069734831489266e-8,0.001742506671572139,-3.179415040864402e-5,2.0443603476147352e-8,0.0017425307722198473,-3.158389373995162e-5,2.0260073766504838e-8,0.0017425223974869423,-3.147622681133658e-5,2.0166207874633754e-8,0.0017425275508909542,-3.146622368211866e-5,2.0157058325399752e-8,0.0017425801811898768,-3.152827253738807e-5,2.020986020759265e-8,0.0017426972860252556,-3.162719052466486e-5,2.02938080720638e-8,0.001742880085460341,-3.172780363660379e-5,2.0378372619537326e-8,0.001743118076178938,-3.180084546028723e-5,2.0438317988914532e-8,0.0017433934077427334,-3.1825558838409014e-5,2.045583270732787e-8,0.0017436844082488409,-3.179033969714021e-5,2.0421013873564265e-8,0.001743968178512343,-3.169263001235832e-5,2.0331783624667846e-8,0.0017442227209409098,-3.153871728518193e-5,2.0193782525411485e-8,0.0017444291701622036,-3.134350069999404e-5,2.002022746940685e-8,0.0017445744879534223,-3.112978763186553e-5,1.9831294365844262e-8,0.0017446545474839863,-3.092639446856581e-5,1.9652370870985962e-8,0.0017446769299296102,-3.0764373350770444e-5,1.9510621046903156e-8,0.0017446621867443558,-3.067120727891532e-5,1.9429795770389297e-8,0.001744642159515886,-3.066382603124781e-5,1.9424111620866493e-8,0.0017446545782597647,-3.074243219545489e-5,1.9492972810802038e-8,0.0017447345609175441,-3.088764647827402e-5,1.961870511808151e-8,0.0017449051754598907,-3.106281392238331e-5,1.9768826171514667e-8,0.0017451700230479688,-3.122163105108318e-5,1.9902887093021913e-8,0.001745510408947374,-3.1319374667683715e-5,1.9982307573413395e-8,0.001745888357283682,-3.1324766347923475e-5,1.998060209584599e-8,0.0017462551360621196,-3.122919694479231e-5,1.989118907219179e-8,0.0017465634988662125,-3.105046157655002e-5,1.9730384470556232e-8,0.001746780545164631,-3.0829192817083005e-5,1.9534083265630877e-8,0.0017468971763283654,-3.06181089004315e-5,1.9348284579479396e-8,0.0017469304559974707,-3.0466979567041213e-5,1.921600927524104e-8,0.001746917542182514,-3.0408580265584186e-5,1.916519343229281e-8,0.001746903536584843,-3.0450937289348743e-5,1.9202135362128732e-8,0.0017469283478326418,-3.057824727716383e-5,1.931250208156185e-8,0.0017470175401144699,-3.075870969388561e-5,1.9468283092315117e-8,0.0017471793662891689,-3.095489208974001e-5,1.9636835355944387e-8,0.00174740696584924,-3.1132521919019314e-5,1.978845734405289e-8,0.0017476831047323403,-3.126577909856488e-5,1.9900875698021727e-8,0.0017479851225330183,-3.1339285687671686e-5,1.9960887050540934e-8,0.0017482888771933986,-3.134799753916344e-5,1.9964247391127438e-8,0.001748571500534339,-3.1296247023240655e-5,1.9914888607216414e-8,0.0017488134063673208,-3.1196725784627565e-5,1.9824099003596076e-8,0.0017490001909731922,-3.106955308858083e-5,1.970973106837139e-8,0.0017491248720657058,-3.0941022082626086e-5,1.9595042768266226e-8,0.0017491904664698418,-3.084128927975832e-5,1.9506546090950694e-8,0.0017492122725144203,-3.080019758367981e-5,1.9470218613974216e-8,0.0017492184473760612,-3.084086291599031e-5,1.950583763271849e-8,0.0017492470171063378,-3.097194995726486e-5,1.9620297100766168e-8,0.0017493381646387358,-3.1181363894115793e-5,1.980227981843363e-8,0.0017495228601829887,-3.143510381205071e-5,2.0021485851797534e-8,0.0017498116793050868,-3.168386290175472e-5,2.023458425088819e-8,0.0017501889553554505,-3.18764773563137e-5,2.039704390946832e-8,0.001750615655745262,-3.197543249573554e-5,2.0476649055390935e-8,0.0017510402683068693,-3.1968199999134966e-5,2.0463276536587624e-8,0.0017514133531797574,-3.187031880307763e-5,2.037138563020928e-8,0.0017517005273633118,-3.1719998107685436e-5,2.0235063634656074e-8,0.001751890219662361,-3.156694813316782e-5,2.009806183335921e-8,0.0017519948081852045,-3.1459214757831945e-5,2.0002203745109712e-8,0.0017520456413406555,-3.14316280501743e-5,1.99773642676767e-8,0.001752083843670919,-3.149863525213701e-5,2.0035412948970665e-8,0.0017521497040240116,-3.1652918673865666e-5,2.0169255510395947e-8,0.0017522736069611874,-3.186951297035694e-5,2.0356620338662876e-8,0.0017524707370152176,-3.211356229077129e-5,2.056690037038114e-8,0.0017527403103441905,-3.234896981308914e-5,2.076865466262888e-8,0.0017530684808992239,-3.254545176213017e-5,2.0935651692450514e-8,0.0017534331318351181,-3.2682714956734884e-5,2.1050408448247448e-8,0.0017538088119477358,-3.275180452227584e-5,2.110531752462392e-8,0.0017541707526388716,-3.275447431229004e-5,2.1102114748483773e-8,0.0017544976901405082,-3.270162706579011e-5,2.105056824283674e-8,0.0017547738024637697,-3.2611589026689284e-5,2.096699993899653e-8,0.0017549902985381242,-3.250844445279376e-5,2.0872790992964694e-8,0.001755147084288628,-3.242014951493518e-5,2.0792620166438958e-8,0.001755254570490484,-3.2375793594230804e-5,2.0751927960372814e-8,0.001755335063281145,-3.2401220502996406e-5,2.0772996896363735e-8,0.0017554223357314845,-3.251259859283147e-5,2.0869356621329078e-8,0.0017555573977173214,-3.2708863724273736e-5,2.1039332104000612e-8,0.0017557790984082053,-3.29660727723672e-5,2.126132814313656e-8,0.0017561108323753565,-3.3238262436040336e-5,2.1494763264115556e-8,0.0017565485849542516,-3.346811995275699e-5,2.1689479904005575e-8,0.0017570576145160576,-3.360552772869162e-5,2.1801953478252693e-8,0.001757581785070488,-3.362585143779291e-5,2.1811245999041253e-8,0.0017580620722044517,-3.353851148587489e-5,2.1726427797049774e-8,0.001758455202278241,-3.3382035778471196e-5,2.158208310470156e-8,0.0017587444079113072,-3.320959575010596e-5,2.1425399176948597e-8,0.0017589399770165945,-3.307263661221911e-5,2.130160656072588e-8,0.0017590722808459125,-3.3008502295315075e-5,2.1243072677899854e-8,0.001759181556547813,-3.3034286998855964e-5,2.1264051244620618e-8,0.0017593078653479616,-3.314644102862432e-5,2.1360602034657684e-8,0.0017594831921096522,-3.332452486865661e-5,2.1514143545573805e-8,0.0017597265437465275,-3.353738875474003e-5,2.1697021326259336e-8,0.001760042245970357,-3.3750244753001815e-5,2.1878713640531822e-8,0.001760421146334321,-3.393124357669487e-5,2.2031497920959415e-8,0.0017608439638752132,-3.405644801825657e-5,2.2134681640893213e-8,0.0017612857471203435,-3.411264048046515e-5,2.2176972713998292e-8,0.0017617204091223166,-3.409797973084421e-5,2.2157031793999206e-8,0.0017621245438929386,-3.402096746414191e-5,2.208259287114386e-8,0.0017624801775086999,-3.3898450706873454e-5,2.1968740632231774e-8,0.0017627765982876126,-3.3753300304850276e-5,2.183585863215288e-8,0.001763011621842634,-3.3612016549370004e-5,2.1707446371806972e-8,0.0017631925713161728,-3.350214912888116e-5,2.1607729651469524e-8,0.0017633370417948848,-3.344913871513708e-5,2.1558783250075647e-8,0.0017634730174059953,-3.347197967528787e-5,2.1576714714329268e-8,0.0017636371116576798,-3.357742597786236e-5,2.1666704084487572e-8,0.0017638691979690627,-3.3753723774377576e-5,2.181772916999189e-8,0.0017642023031790117,-3.396680513750332e-5,2.1999445627985694e-8,0.0017646491667109299,-3.4163476660183754e-5,2.2165086343053056e-8,0.0017651911849654452,-3.428501454789286e-5,2.226334653764835e-8,0.001765778160698935,-3.428858702670496e-5,2.2257091907866984e-8,0.0017663432093342334,-3.416606996623403e-5,2.213983656780172e-8,0.0017668269543614896,-3.3948415208319496e-5,2.193955489711035e-8,0.001767197842766506,-3.369259112538415e-5,2.17070724834961e-8,0.0017674586193811824,-3.34596154530708e-5,2.1496498412280247e-8,0.001767639060592299,-3.329574652596208e-5,2.1348468166328244e-8,0.0017677821871205088,-3.3223440312985864e-5,2.1282180173486558e-8,0.0017679311822968995,-3.324154570836546e-5,2.129578103953367e-8,0.001768120512436396,-3.333086353608994e-5,2.1371561635770116e-8,0.0017683715270797181,-3.346142626072527e-5,2.148260408851196e-8,0.0017686914318105862,-3.3599409128902524e-5,2.1598953117881766e-8,0.0017690744739801523,-3.371291615094851e-5,2.1692652330809286e-8,0.0017695045695388376,-3.3776430454713476e-5,2.1741529840179073e-8,0.0017699588242402324,-3.3773791444695706e-5,2.1731694812881347e-8,0.0017704114732510778,-3.369964876976124e-5,2.1658752122008647e-8,0.0017708378094016797,-3.355943690940463e-5,2.152778106353521e-8,0.0017712176390383754,-3.336799684118138e-5,2.1352151053456795e-8,0.0017715378651225137,-3.314720089247531e-5,2.1151437607701027e-8,0.0017717941126926234,-3.2923077927578334e-5,2.0948840418387312e-8,0.0017719915599731899,-3.272273093629134e-5,2.0768364307715262e-8,0.0017721450953806894,-3.257108279253322e-5,2.063183815712094e-8,0.001772278789586462,-3.248736044869667e-5,2.0555760321616602e-8,0.0017724243969323124,-3.2481099228891417e-5,2.0547838756955484e-8,0.0017726180377305497,-3.2547672204280884e-5,2.06032360891902e-8,0.001772893902096436,-3.26643881516983e-5,2.070137445010743e-8,0.0017732745145420026,-3.278970120097843e-5,2.0805422495871913e-8,0.0017737592672930375,-3.286910117515717e-5,2.0867510935645095e-8,0.0017743165104114895,-3.285007607212869e-5,2.0841794381781585e-8,0.0017748868641271837,-3.27030730663727e-5,2.0702786663879134e-8,0.0017754014530360297,-3.2437768348831866e-5,2.0459662686927267e-8,0.0017758080743716612,-3.2102608481630945e-5,2.015584789108212e-8,0.0017760903595036206,-3.17656634260758e-5,1.985200104905266e-8,0.0017762693117928238,-3.1488255206219554e-5,1.9602496536206447e-8,0.0017763894591366236,-3.13062590108772e-5,1.9438747273234566e-8,0.001776500414190258,-3.12255836885439e-5,1.9365283650061506e-8,0.0017766430268873303,-3.1228419406428315e-5,1.9365541425495753e-8,0.0017768429247380117,-3.128342719222774e-5,1.9411160162745227e-8,0.0017771097947912773,-3.1355028823638904e-5,1.9470365609482324e-8,0.0017774396800211817,-3.141000926638304e-5,1.9513809181670135e-8,0.0017778182926467716,-3.142162035464175e-5,1.951808140830944e-8,0.0017782244717445747,-3.137198226709649e-5,1.946769186203101e-8,0.0017786336024299082,-3.12533185341731e-5,1.9356066032986675e-8,0.0017790209705546684,-3.1068226775794e-5,1.9185763398043137e-8,0.0017793650121143564,-3.08290205222032e-5,1.8967926769402895e-8,0.001779650296646995,-3.055604937514018e-5,1.8720829744334336e-8,0.0017798698743530228,-3.0274995636721267e-5,1.846747256260845e-8,0.001780026632235612,-3.001344158238894e-5,1.8232467517967285e-8,0.0017801335374979842,-2.9797089846618077e-5,1.8038579085288705e-8,0.0017802127450977066,-2.964590951538579e-5,1.7903218620709243e-8,0.0017802935187865058,-2.9570467972433672e-5,1.783518762572123e-8,0.0017804088777299578,-2.9568714404354944e-5,1.7831942719272197e-8,0.0017805907080136712,-2.9623577448738986e-5,1.7877681205500904e-8,0.0017808630276179797,-2.97023326731302e-5,1.7943009994474517e-8,0.0017812337934054229,-2.97595557883807e-5,1.7987695659313328e-8,0.0017816872967592035,-2.9745687070046982e-5,1.7968220015004007e-8,0.0017821813976015835,-2.962172070135213e-5,1.7850629717166458e-8,0.0017826548299887984,-2.9376324177287026e-5,1.762553130680372e-8,0.0017830461959892749,-2.903634032102028e-5,1.731731488754778e-8,0.0017833176117902473,-2.866124927995671e-5,1.6979208783705445e-8,0.001783469533852475,-2.832122375637814e-5,1.6673724822837606e-8,0.0017835376035968266,-2.80706105762117e-5,1.6448993998207882e-8,0.0017835749164607615,-2.793168172891396e-5,1.6324306949224888e-8,0.0017836317390693452,-2.7894493168831586e-5,1.6290136262871556e-8,0.0017837425116183111,-2.7927737072698468e-5,1.6318029727125984e-8,0.0017839222251040216,-2.7991952248573566e-5,1.6372552649405453e-8,0.0017841690180765415,-2.804960543379875e-5,1.6420305148628225e-8,0.0017844690921453375,-2.8070762770376914e-5,1.6434881896134044e-8,0.001784801494145308,-2.803540319002629e-5,1.6398785045025665e-8,0.0017851419554334824,-2.7933929717305372e-5,1.6303760303012625e-8,0.0017854659718042635,-2.7766907604290468e-5,1.6150522430904983e-8,0.0017857515136427459,-2.7544366750350456e-5,1.5948164497142894e-8,0.0017859816002243757,-2.7284609584283965e-5,1.571315251966609e-8,0.0017861467536977667,-2.7012260273114013e-5,1.5467614316026404e-8,0.0017862470230057806,-2.6755286369400636e-5,1.5236648496569402e-8,0.0017862930134701384,-2.654104265296623e-5,1.504470406978934e-8,0.001786305424195102,-2.6391773125555355e-5,1.491146539228525e-8,0.0017863128449208082,-2.6320220335777346e-5,1.4847885035371189e-8,0.0017863478278571186,-2.632612309632168e-5,1.4853112441925018e-8,0.0017864415524204687,-2.639440009895842e-5,1.491303463720827e-8,0.0017866176433893105,-2.649564870787032e-5,1.500094022968379e-8,0.0017868858723667914,-2.6589505322540724e-5,1.5080702406757717e-8,0.0017872368982414784,-2.66314436018206e-5,1.5112903973863852e-8,0.0017876399981771522,-2.6583121415397484e-5,1.5063969741293373e-8,0.0017880463839678022,-2.6424855833963814e-5,1.4917086903880453e-8,0.0017884001103203367,-2.61662566626825e-5,1.4681479769128718e-8,0.0017886554421320897,-2.5848825556468653e-5,1.439459563665528e-8,0.0017887942451537537,-2.5535601758596886e-5,1.4112816495281188e-8,0.0017888338091817063,-2.5289736988679483e-5,1.3892330893168733e-8,0.0017888195185604239,-2.515213106178181e-5,1.3769205429052592e-8,0.0017888063464290775,-2.5129846263159923e-5,1.3749151498984439e-8,0.0017888398156686227,-2.5199537269306553e-5,1.3810764966794239e-8,0.0017889451574657782,-2.5320670226036306e-5,1.391749936516575e-8,0.0017891262814678304,-2.544988601042015e-5,1.4030567902762325e-8,0.0017893708634015488,-2.5550922719877188e-5,1.4117760285831568e-8,0.0017896570726811836,-2.5599109255723216e-5,1.4157333008626661e-8,0.0017899592671993573,-2.5582042811262578e-5,1.4138489270469296e-8,0.0017902519438446774,-2.5498478260559e-5,1.4060321791036643e-8,0.0017905123629933307,-2.535677868794753e-5,1.3930440496755607e-8,0.0017907225488373376,-2.51734072821892e-5,1.3763682625522863e-8,0.0017908711693659085,-2.4971322438834654e-5,1.3580725771725944e-8,0.0017909554371954345,-2.4777821665357153e-5,1.3406151734326352e-8,0.0017909827283962571,-2.462135499749847e-5,1.3265522508586063e-8,0.001790971202300491,-2.4527148765017287e-5,1.3181360162542386e-8,0.0017909485628708425,-2.4512064252896147e-5,1.316846906372442e-8,0.0017909483769799933,-2.457975629539259e-5,1.3229610662378395e-8,0.0017910040460442844,-2.4717652977466054e-5,1.3352913035006776e-8,0.001791141441592685,-2.4897216452611835e-5,1.3512291120867038e-8,0.0017913719494893788,-2.5078198784446382e-5,1.367144672572904e-8,0.0017916878464235458,-2.5216509648907783e-5,1.3791025050547342e-8,0.0017920615866127356,-2.5274345945545365e-5,1.3837668829362787e-8,0.0017924499408709218,-2.5230505604992228e-5,1.3793113821811035e-8,0.001792803043549295,-2.508822447015411e-5,1.3660997294053245e-8]} \ No newline at end of file diff --git a/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_16.json b/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_16.json new file mode 100644 index 0000000..5dc8729 --- /dev/null +++ b/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_16.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1.0,"startIndex":16000,"numberOfSamples":1000,"samples":[0.0017930770944964171,-2.487756201187732e-5,1.3468791504217692e-8,0.0017932476264231187,-2.464987080068864e-5,1.3262714904077391e-8,0.0017933184724985877,-2.446409956071231e-5,1.3095425337680572e-8,0.0017933216314600794,-2.436869143477916e-5,1.3009865564682467e-8,0.0017933067138776958,-2.438639601001157e-5,1.3025800857085489e-8,0.0017933242278720884,-2.450889654783832e-5,1.3135191695059903e-8,0.0017934104016406212,-2.470298517826634e-5,1.330788790362845e-8,0.0017935796118112995,-2.4923857068963115e-5,1.35036193070344e-8,0.0017938254296263332,-2.512860398380717e-5,1.3684062401894767e-8,0.001794127049257825,-2.5285096932882215e-5,1.3820701756483629e-8,0.0017944568919538132,-2.537530987356056e-5,1.389769075082024e-8,0.0017947867111250417,-2.5394724503292413e-5,1.3911234845185292e-8,0.0017950914943699093,-2.5349982163249467e-5,1.3867468677974076e-8,0.0017953516485814604,-2.5256290869559507e-5,1.3780165902829643e-8,0.0017955543110713956,-2.513520274015715e-5,1.3668792904120013e-8,0.0017956944918898108,-2.501264398241291e-5,1.3556752559378335e-8,0.0017957763330320648,-2.4916631576514276e-5,1.3469287614057573e-8,0.0017958142078399008,-2.487403171878831e-5,1.343048298157746e-8,0.0017958328475770424,-2.4906014603702265e-5,1.3459107884232579e-8,0.001795865353512456,-2.5022541802827092e-5,1.3563657130380593e-8,0.001795948122041468,-2.521726303763574e-5,1.3737855679584164e-8,0.0017961127345561176,-2.546517299188524e-5,1.395871521848886e-8,0.0017963766324439366,-2.572537619201675e-5,1.4189187885469435e-8,0.0017967359302593923,-2.5949711291697144e-5,1.4386024761031048e-8,0.0017971637506210216,-2.6095329969824996e-5,1.451109103127541e-8,0.0017976155937020869,-2.6137143168968956e-5,1.4542469045381444e-8,0.0017980404371389018,-2.607573723966647e-5,1.4481422712615806e-8,0.001798394095120732,-2.5938065908348892e-5,1.4352832525648934e-8,0.0017986508156540284,-2.5770774714917362e-5,1.4199014670934582e-8,0.0017988099091846071,-2.5628118914854457e-5,1.4068743101640252e-8,0.0017988956039585806,-2.555773604555096e-5,1.4004458068040699e-8,0.0017989500158965364,-2.558822796060149e-5,1.4031230788508505e-8,0.0017990211621026053,-2.5722340085414784e-5,1.415084222610123e-8,0.0017991498357205768,-2.593791853046823e-5,1.4342850551324464e-8,0.0017993597382745207,-2.6195968610161597e-5,1.4571956673982097e-8,0.0017996538157950808,-2.645239065855816e-5,1.4798559267271849e-8,0.0018000169294873425,-2.666894130169837e-5,1.498852497549383e-8,0.0018004224996779246,-2.6820193009237008e-5,1.5119328433877708e-8,0.0018008399579285909,-2.6895709367472842e-5,1.5181911626012463e-8,0.0018012407279650508,-2.6898643187987404e-5,1.5179375808053418e-8,0.0018016019580566775,-2.6842624017871885e-5,1.512418529733506e-8,0.0018019083507358257,-2.6748422125539742e-5,1.503519386765796e-8,0.0018021529000758112,-2.664111066735776e-5,1.4935106313335826e-8,0.0018023373010458653,-2.654770620791294e-5,1.4848328300519829e-8,0.0018024724205052492,-2.6494772143160663e-5,1.4798742963175621e-8,0.0018025786668415908,-2.6505317999914305e-5,1.4806850211476605e-8,0.0018026854955645365,-2.659451656531552e-5,1.4885891179718516e-8,0.0018028287921071594,-2.6764406036804033e-5,1.5037147763755564e-8,0.0018030448604636129,-2.6999007434058543e-5,1.5245693907824705e-8,0.0018033608554715635,-2.726276700041339e-5,1.5479157196478573e-8,0.0018037839756043577,-2.750560873314212e-5,1.5692371417557645e-8,0.0018042943907072807,-2.767567790489397e-5,1.583886014992919e-8,0.0018048471164087917,-2.7736268154231167e-5,1.5886025345858665e-8,0.0018053841995643509,-2.7679480289528892e-5,1.582737530167465e-8,0.0018058526507647669,-2.752969711011927e-5,1.5685558185452904e-8,0.001806220217685462,-2.73353380759272e-5,1.550478294473961e-8,0.0018064829196074033,-2.715336860705409e-5,1.533667607943918e-8,0.001806663117932587,-2.7033305913710596e-5,1.5225741546222746e-8,0.001806800801895628,-2.7005730814722615e-5,1.5199028506319084e-8,0.0018069420013151019,-2.7077300335566203e-5,1.5261811538653193e-8,0.0018071276684187964,-2.7232000211422743e-5,1.5398964117004876e-8,0.0018073853085648632,-2.7437165696606414e-5,1.5580585890886757e-8,0.0018077246572371043,-2.7652248535832284e-5,1.576998693661435e-8,0.0018081377800550024,-2.7838089562507862e-5,1.5932006675260243e-8,0.0018086029626342595,-2.7964541054522235e-5,1.603977518121356e-8,0.0018090908374324907,-2.8014926126988497e-5,1.607861859878816e-8,0.00180957084697334,-2.7986978508900445e-5,1.6046829753568754e-8,0.0018100165314672806,-2.7890983536707856e-5,1.5953965389800106e-8,0.0018104089137041853,-2.774636589803873e-5,1.5817776136232783e-8,0.0018107380434183873,-2.7577939639375955e-5,1.5660833269492737e-8,0.0018110032945058872,-2.7412588632335316e-5,1.5507519669488106e-8,0.0018112130984671998,-2.727650820984009e-5,1.5381492498527788e-8,0.0018113845185778008,-2.719266881496396e-5,1.5303331370154355e-8,0.0018115426463610783,-2.7177984586301253e-5,1.5287947407869493e-8,0.0018117192686648675,-2.7239724617485946e-5,1.5341380468993828e-8,0.001811949680932402,-2.7371212382235838e-5,1.545703888127489e-8,0.0018122663836599232,-2.754807176709037e-5,1.561247872864076e-8,0.0018126893601793177,-2.772785807579092e-5,1.57692019263019e-8,0.001813215168157243,-2.7856683016959833e-5,1.5878661656300398e-8,0.001813810503341971,-2.788443523714781e-5,1.589593222254393e-8,0.0018144169960900853,-2.7784424994027194e-5,1.5797369795099836e-8,0.0018149690546354657,-2.7567238609616395e-5,1.5593102180247856e-8,0.0018154173615913274,-2.7279217321055754e-5,1.532562475157829e-8,0.001815745477353155,-2.698524284095293e-5,1.5054105867581623e-8,0.001815971625884253,-2.674564379645672e-5,1.4833294082824518e-8,0.0018161376350310534,-2.6598869981665784e-5,1.4697715161200344e-8,0.0018162930699050063,-2.6555272801256695e-5,1.46561098570472e-8,0.0018164816791041126,-2.6600309925083196e-5,1.4694563048089877e-8,0.001816733162707175,-2.6702680190249542e-5,1.4784125685246063e-8,0.0018170600913158257,-2.682355433898887e-5,1.4889335877885533e-8,0.0018174585911996668,-2.6924764974141972e-5,1.4975656178105195e-8,0.0018179114635388195,-2.697514492077015e-5,1.5015123550887387e-8,0.0018183927840198378,-2.69547379106428e-5,1.499003182489609e-8,0.0018188731580403156,-2.6856711418009936e-5,1.4894556739454665e-8,0.001819324793629755,-2.6687029559253713e-5,1.473440683021408e-8,0.0018197256785068433,-2.6462277654925132e-5,1.4524849413287513e-8,0.001820062373922574,-2.6206258898886165e-5,1.428764312060864e-8,0.001820331254382838,-2.5946127881015275e-5,1.4047536963377575e-8,0.001820538445168254,-2.5708755861324498e-5,1.3828946837314153e-8,0.0018206989383891886,-2.5517624437804906e-5,1.365308557110985e-8,0.0018208352337955717,-2.5390152599451144e-5,1.3535489407026761e-8,0.0018209755912363625,-2.533520724364273e-5,1.34837573147026e-8,0.001821151632775928,-2.5350517985874814e-5,1.3495281869197622e-8,0.0018213945362785741,-2.5420047270152325e-5,1.3555011738893574e-8,0.0018217289276931587,-2.551235675360919e-5,1.363413439824075e-8,0.001822164406689718,-2.5582239942904856e-5,1.3691653129699898e-8,0.001822686655285152,-2.557849948022469e-5,1.3681411343723724e-8,0.0018232531039378613,-2.5459295222371094e-5,1.3565889406493894e-8,0.0018237998026180275,-2.5211254782313133e-5,1.3333435451442727e-8,0.0018242618025331551,-2.48617013791813e-5,1.300934477782622e-8,0.0018245988973076108,-2.4473013353101097e-5,1.2650735273151976e-8,0.0018248114805428112,-2.4119027032174727e-5,1.2325005783849212e-8,0.0018249369229238492,-2.3856916289854328e-5,1.2084104532181132e-8,0.0018250308362240503,-2.371030618670482e-5,1.1949100841989596e-8,0.001825146047330891,-2.366910915234589e-5,1.1910159201163204e-8,0.0018253190675345766,-2.3700474694523012e-5,1.1936747643950821e-8,0.0018255659145471929,-2.3762271034004848e-5,1.1990121606287427e-8,0.0018258842445968248,-2.3813805840709907e-5,1.2033166516185259e-8,0.001826258169929863,-2.382242826521537e-5,1.2036355717542334e-8,0.0018266634773100754,-2.3766769983762126e-5,1.1980573637170289e-8,0.001827072388230482,-2.363782080690576e-5,1.1857967699394822e-8,0.0018274577516185762,-2.343858881848419e-5,1.1671564450583e-8,0.0018277966526101797,-2.318264021823313e-5,1.1433927158541618e-8,0.0018280733241575382,-2.2891668446499556e-5,1.1164967072672481e-8,0.0018282811577905753,-2.259224023359341e-5,1.0889004337993399e-8,0.001828423551827078,-2.231201801919025e-5,1.0631321018346868e-8,0.0018285135003267157,-2.207596922814408e-5,1.0414665395833809e-8,0.0018285721071275558,-2.1903000912757984e-5,1.0256127104231965e-8,0.0018286262706814032,-2.1803209435120533e-5,1.0164594038831645e-8,0.001828705702435555,-2.177583438325039e-5,1.0138909579633824e-8,0.001828839337656277,-2.1807956588344662e-5,1.0166784524005633e-8,0.0018290509329571627,-2.1874064192536067e-5,1.0224554437432966e-8,0.0018293535538177238,-2.1937215282132975e-5,1.027838557907086e-8,0.0018297433561300666,-2.1953289747187514e-5,1.0288214837085777e-8,0.0018301945153309169,-2.1879869760203124e-5,1.0215787794044302e-8,0.001830658946308421,-2.168992779500395e-5,1.0036992338479185e-8,0.0018310753618979378,-2.138679258668782e-5,9.755367998113473e-9,0.0018313889838965569,-2.1011704357252705e-5,9.40893730399691e-9,0.0018315746329431721,-2.063467135717398e-5,9.061841978804914e-9,0.0018316490783180249,-2.0328796754628263e-5,8.780851241439044e-9,0.0018316632653398112,-2.0141677331726018e-5,8.60917634137112e-9,0.001831679395233614,-2.0080681978185537e-5,8.55305072202464e-9,0.0018317476612021335,-2.0117816834583795e-5,8.586332987307337e-9,0.0018318940208144653,-2.0206428881992914e-5,8.665969743081962e-9,0.0018321201082134187,-2.0298263194615822e-5,8.747708166164193e-9,0.001832409908402203,-2.0354458317239478e-5,8.796142458866711e-9,0.00183273774398109,-2.035003732644327e-5,8.788718700893353e-9,0.001833074770107819,-2.027416826766039e-5,8.715846695855356e-9,0.001833393452426999,-2.0128529716534936e-5,8.579316424344743e-9,0.0018336705866361742,-1.992511730302927e-5,8.390268759309309e-9,0.0018338894912187423,-1.968387735533606e-5,8.167058601271752e-9,0.0018340416791292305,-1.943010095958344e-5,7.932910852662894e-9,0.0018341280134618974,-1.9191384559990707e-5,7.713154507289564e-9,0.0018341590816821458,-1.8994066898046752e-5,7.53193522572574e-9,0.0018341544149850127,-1.885940649167221e-5,7.40865932392435e-9,0.0018341403815578727,-1.8800038802715472e-5,7.3546966523347715e-9,0.0018341468535115438,-1.8817250628981883e-5,7.370872897137305e-9,0.0018342029234141627,-1.889956862277312e-5,7.446231414582977e-9,0.0018343321227258867,-1.9023083174690816e-5,7.558447698209529e-9,0.0018345476553118807,-1.9153707945490168e-5,7.676042116963366e-9,0.0018348481083950683,-1.9251549921866032e-5,7.762491329140837e-9,0.0018352144196331546,-1.9277769509678416e-5,7.782530133022137e-9,0.0018356096596253435,-1.920398976117508e-5,7.710681424220857e-9,0.0018359837763515755,-1.9022957466042443e-5,7.540865396769042e-9,0.0018362849741516284,-1.8756908829736255e-5,7.293910761478627e-9,0.0018364766833233455,-1.8457870012827724e-5,7.017737181329629e-9,0.0018365538571077135,-1.8194914639068882e-5,6.775647214996834e-9,0.001836548563460727,-1.803024372589666e-5,6.624410847690285e-9,0.0018365187675594202,-1.7995409567851337e-5,6.592525088216024e-9,0.0018365252877235454,-1.8081331449302935e-5,6.671177914624835e-9,0.0018366101542084223,-1.8246672589318575e-5,6.822077045534804e-9,0.0018367869375824912,-1.8436994200718304e-5,6.995122222991016e-9,0.001837043888830328,-1.8602938875977135e-5,7.145101322978344e-9,0.0018373537387537482,-1.8710583772040503e-5,7.241122599512904e-9,0.0018376837337121634,-1.8743874840279134e-5,7.2687428712580284e-9,0.0018380027530075403,-1.8702372696090056e-5,7.227808403795434e-9,0.0018382852635966235,-1.8597450955179613e-5,7.128926096284541e-9,0.001838513176276471,-1.8448670412689796e-5,6.990149973877557e-9,0.0018386767249291653,-1.8280754164638692e-5,6.8342449477846595e-9,0.0018387750038904136,-1.812090639012062e-5,6.686252226411574e-9,0.0018388162973281307,-1.799601728606697e-5,6.570911706461216e-9,0.0018388179260978472,-1.7929389648419776e-5,6.509607695224068e-9,0.0018388050594228275,-1.7937016075237906e-5,6.516893378261047e-9,0.0018388079846011016,-1.8023966004633595e-5,6.597145459559734e-9,0.001838857713922728,-1.818180313357647e-5,6.742223335637884e-9,0.0018389803552352245,-1.838806035919854e-5,6.9310780933096055e-9,0.0018391912530982262,-1.860858891245793e-5,7.132034188312767e-9,0.0018394902971468079,-1.88029481324306e-5,7.3078518212857724e-9,0.0018398597310770378,-1.8932177661136858e-5,7.422918615431776e-9,0.0018402654168871984,-1.896772954162206e-5,7.451423914551764e-9,0.0018406621235211068,-1.8899934385024923e-5,7.385028293072869e-9,0.0018410028729857332,-1.8743806537061265e-5,7.238049462551088e-9,0.0018412512510457238,-1.8539475868505472e-5,7.047719368366382e-9,0.0018413937282192889,-1.834483799071887e-5,6.86733900839635e-9,0.0018414470718991932,-1.8220140618210308e-5,6.752093172557913e-9,0.0018414557581306575,-1.8208514775956216e-5,6.741217444212319e-9,0.0018414780209857879,-1.8320709364073575e-5,6.844095149750602e-9,0.001841565803992494,-1.8532077021471085e-5,7.037638298125493e-9,0.0018417482230087799,-1.8793447944416692e-5,7.276395121919292e-9,0.001842025845932932,-1.9049480082961622e-5,7.509453930519011e-9,0.001842376034057044,-1.925507263145096e-5,7.69549565376883e-9,0.0018427639401787223,-1.9383990375315344e-5,7.810647629678605e-9,0.0018431531413094465,-1.942958955901095e-5,7.849070713791684e-9,0.0018435127392187048,-1.940088549418417e-5,7.8192866216250315E-09,0.001843820730492911,-1.9317320377072763e-5,7.739348166296656e-9,0.0018440648885501498,-1.9204160908646343e-5,7.632620118984367e-9,0.001844242531542363,-1.9089035068363377e-5,7.524612793811735e-9,0.0018443600647661403,-1.8999259868333292e-5,7.440521812341918e-9,0.001844432549312981,-1.8959307662865297e-5,7.402863667254894e-9,0.0018444829953387927,-1.8987874349045107e-5,7.428729689176291e-9,0.0018445407209490732,-1.9094430440071465e-5,7.52658268876082e-9,0.0018446380463958871,-1.9275761849198014e-5,7.693093256534828e-9,0.001844804951317121,-1.9513700180089063e-5,7.911127592194227e-9,0.0018450622049142106,-1.9775670897407012e-5,8.15036239379623e-9,0.0018454146537959305,-2.0019361155694627e-5,8.37168352380671e-9,0.0018458471645658634,-2.020149491512519e-5,8.53532123115057e-9,0.001846325472916595,-2.0288852030465627e-5,8.610991677718667e-9,0.001846802738334875,-2.0268255874207588e-5,8.587035433849896e-9,0.0018472305526570348,-2.0152106866842266e-5,8.475412368243551e-9,0.0018475714841345342,-1.99772538420524e-5,8.31053358635742e-9,0.0018478096100095864,-1.9796940495792812e-5,8.141712154172403e-9,0.0018479558587613187,-1.9667497884298463e-5,8.020816057287474e-9,0.0018480460497650023,-1.9633092096664974e-5,7.988216118779569e-9,0.0018481313475885142,-1.97130435184807e-5,8.061204673026506e-9,0.0018482635125553158,-1.989628715353263e-5,8.229056332405201e-9,0.0018484798977238869,-2.014547254945726e-5,8.45695909902495e-9,0.0018487937859131421,-2.0409270039150275e-5,8.697434490355547e-9,0.0018491933464550954,-2.0637777460108637e-5,8.904531720257321e-9,0.001849648388562267,-2.0794981895125802e-5,9.04525543618406e-9,0.0018501208603383453,-2.0864590650255843e-5,9.104868950596546e-9,0.0018505745805460858,-2.0849287684095834e-5,9.086145203825255e-9,0.0018509815951685388,-2.0766006244656177e-5,9.004964655845875e-9,0.0018513249009249032,-2.0640121265863943e-5,8.88493947825769e-9,0.0018515986248674762,-2.0500399014916906e-5,8.75275158592604e-9,0.0018518069924697927,-2.037529947986055e-5,8.634737803338043e-9,0.0018519630574627775,-2.029034519449881e-5,8.55444480376467e-9,0.0018520875544509319,-2.0265862670398454e-5,8.530515515536571e-9,0.0018522076118006106,-2.0314479503742223e-5,8.574357895458459e-9,0.001852354640478269,-2.043817792207266e-5,8.68743961998716e-9,0.0018525605725263623,-2.0625343158510295e-5,8.85862825193293e-9,0.0018528519045839407,-2.0849110173348045e-5,9.06276525797922e-9,0.0018532420360760945,-2.1069073571299936e-5,9.262339779435322e-9,0.001853724130935122,-2.123818424609054e-5,9.413907129041965e-9,0.0018542681745039775,-2.13146965067963e-5,9.479118156772436e-9,0.001854825500677946,-2.1275855803305648e-5,9.437327265942164e-9,0.0018553411001434338,-2.1127603421251835e-5,9.294511094167757e-9,0.001855769808091963,-2.0905197786356253e-5,9.083769325899609e-9,0.001856089934500493,-2.066366542445483e-5,8.856377940750694e-9,0.001856309055157489,-2.0461827016597087e-5,8.66688007773098e-9,0.0018564605291198604,-2.0346009610590452e-5,8.557941716365146e-9,0.0018565929794966702,-2.0338609963516525e-5,8.549815123998282e-9,0.0018567566935258077,-2.0434095465034442e-5,8.636794189047838e-9,0.0018569909246059376,-2.0602544164462002e-5,8.790679141975657e-9,0.001857315247217037,-2.079894845221756e-5,8.96952007306406e-9,0.0018577267622189627,-2.097526582003082e-5,9.12880609280628e-9,0.001858203223977554,-2.109175679528336e-5,9.231914666619509e-9,0.0018587104540100233,-2.1124682017155018e-5,9.257156442445109e-9,0.0018592113115679834,-2.106890188932159e-5,9.200104828967708e-9,0.0018596735056705283,-2.0935816127821806e-5,9.07163153057935e-9,0.0018600745996205108,-2.0748452915729757e-5,8.89332379757743e-9,0.0018604039664238258,-2.0535775690622106e-5,8.692194187757801e-9,0.0018606624467996109,-2.032768021272182e-5,8.496037214902576e-9,0.0018608607937328295,-2.0151290741381685e-5,8.329989644194028e-9,0.0018610177895546044,-2.0028404875289557e-5,8.214148845006132e-9,0.0018611584243115355,-1.9973516875703052e-5,8.161728802068476e-9,0.0018613119834204608,-1.999186368250376e-5,8.17725592983337e-9,0.0018615094730483387,-2.0077264157555704e-5,8.254611200906061e-9,0.0018617795921467622,-2.021010824142319e-5,8.375250055651793e-9,0.0018621426777235635,-2.0356759570897997e-5,8.507743574528015e-9,0.0018626030974959807,-2.0472527218197918e-5,8.610594760757943e-9,0.001863142529370494,-2.0510266452106173e-5,8.640213095127023e-9,0.001863718542838287,-2.0434462278556232e-5,8.563932655985352e-9,0.0018642726717816077,-2.0236362154722935e-5,8.374014217097276e-9,0.0018647478436570396,-1.9942109211313427e-5,8.095175761587323e-9,0.001865108368948935,-1.960728289796133e-5,7.779474788722417e-9,0.0018653524017467537,-1.9298711898535704e-5,7.4892916930745e-9,0.0018655107551995035,-1.9072315354648044e-5,7.27659510756275e-9,0.0018656340820196373,-1.895724351204022e-5,7.168151304633016e-9,0.0018657758320747826,-1.895135064135561e-5,7.161416176012306e-9,0.0018659780113648356,-1.9026593337249196e-5,7.229749985625541e-9,0.0018662631207856332,-1.9139791481250695e-5,7.332602529333776e-9,0.0018666323647777408,-1.9244376015289706e-5,7.426524029334083e-9,0.0018670686302071045,-1.93003096381889e-5,7.474374412439072e-9,0.0018675424105708905,-1.9280847880737214e-5,7.451532270409492e-9,0.0018680189994260549,-1.9175704489265866e-5,7.348747503653877e-9,0.0018684654564785955,-1.8990736169104185e-5,7.171778438188237e-9,0.0018688561260398076,-1.8744836865035615e-5,6.938463114669843e-9,0.0018691760026911882,-1.8465188498455326e-5,6.674284503730649e-9,0.001869421833270251,-1.818207784859466e-5,6.407542925266269e-9,0.0018696013388690184,-1.7924257543533537e-5,6.165035437391302e-9,0.0018697312745747144,-1.77154221714517e-5,5.968767927016784e-9,0.0018698350512996898,-1.7571817919185243e-5,5.8337191006715384e-9,0.0018699402886244905,-1.750060390009367e-5,5.76630978226681e-9,0.0018700762544792589,-1.7498573862310598e-5,5.763229760950721e-9,0.0018702708423503566,-1.7551071627329354e-5,5.8104800416812336e-9,0.0018705465025051088,-1.763137263486119e-5,5.882878383752786e-9,0.0018709146903029294,-1.770161615547732e-5,5.945007935726127e-9,0.0018713693790612124,-1.771717503436893e-5,5.955326079857078e-9,0.001871882005628167,-1.7636224585071255e-5,5.875056690709975e-9,0.0018724021730790383,-1.7434179833481032e-5,5.681589270232072e-9,0.0018728684333721528,-1.7118167658035483e-5,5.3819353393236815e-9,0.0018732287172204356,-1.6732355540166632e-5,5.017686966724454e-9,0.0018734616898216,-1.6346704189132433e-5,4.654472798669768e-9,0.0018735862278335242,-1.6031827206181716e-5,4.358367558462995e-9,0.0018736526901350647,-1.583326478782647e-5,4.1717537065880975e-9,0.0018737219046122688,-1.5758804508346698e-5,4.10148922345258e-9,0.0018738443004110933,-1.578241850439683e-5,4.12273758898688e-9,0.0018740479774201498,-1.5858384906640113e-5,4.192354118637595e-9,0.0018743368377812267,-1.5936813363410486e-5,4.2635170100055776e-9,0.0018746952507608576,-1.5975245333576563e-5,4.296582563572818e-9,0.001875095253598817,-1.594505681652756e-5,4.265000879239349e-9,0.0018755037392833745,-1.5833619336192383e-5,4.157239354603041e-9,0.0018758885761289046,-1.5643635440476038e-5,3.976084601740173e-9,0.001876223379869671,-1.539063040568846e-5,3.736258860742264e-9,0.0018764908158095375,-1.5099215718405392e-5,3.460921341786339e-9,0.0018766843555797306,-1.4798700313825205e-5,3.1775739251165955e-9,0.001876808514204054,-1.4518593640800304e-5,2.913862771528727e-9,0.001876877684600156,-1.428449594527703e-5,2.6937304046643276e-9,0.0018769138794313335,-1.4114849713635936e-5,2.534362112040424e-9,0.001876943877891384,-1.4018784813808756e-5,2.444153315210054e-9,0.0018769961556297737,-1.3994930354196748e-5,2.4215928014478305e-9,0.0018770976892354386,-1.4030988542626093e-5,2.454884423634573e-9,0.0018772705481379275,-1.4104015382463982e-5,2.5222631987773908e-9,0.001877528051302119,-1.4181603792678899e-5,2.5931789806121115e-9,0.0018778703569376982,-1.4224713941675174e-5,2.6310160704288327e-9,0.0018782801543122864,-1.4193451439422243e-5,2.598529820729149e-9,0.0018787205590664604,-1.405678212300852e-5,2.4669139600598395e-9,0.0018791386692319275,-1.3805285464980217e-5,2.2276810492311913e-9,0.0018794780123360833,-1.3462303276611882e-5,1.9030504386180313e-9,0.0018796988460152687,-1.3085081939944344e-5,1.5469771882351445e-9,0.001879797376121251,-1.2749246711917046e-5,1.2305366805810725e-9,0.001879810814909188,-1.2520431987685998e-5,1.0152379061173355e-9,0.0018798025069450173,-1.2428480565797385e-5,9.28792039154265e-10,0.0018798356637794984,-1.2459405930458762e-5,9.576569245815327e-10,0.0018799514652937973,-1.2567147881760806e-5,1.058227207885944e-9,0.0018801611228964044,-1.2694459694026742e-5,1.1765668337490139e-9,0.0018804504286041776,-1.2790844470236134e-5,1.2652815802583089e-9,0.0018807898296935043,-1.2822211239622132e-5,1.2925348480468322e-9,0.001881144296639176,-1.2773137375766395e-5,1.244082520275377e-9,0.001881480541304962,-1.2644829708590756e-5,1.1212779543347608e-9,0.0018817714830373492,-1.2451442593087324e-5,9.37573033027889e-10,0.0018819987877392661,-1.2216113471832141e-5,7.147943106851535e-10,0.0018821541835679256,-1.1967040551517974e-5,4.79481554800589e-10,0.001882239823342938,-1.1733614321682521e-5,2.592733145950963e-10,0.0018822677333682823,-1.1542659347071796e-5,7.937878641490489e-11,0.001882258290813125,-1.1414929386642006e-5,-4.073055482831923e-11,0.00188223769665013,-1.1362192719985606e-5,-9.008293919875422e-11,0.001882234648515446,-1.1385337979164145e-5,-6.800108198389007e-11,0.0018822765976668182,-1.147373068275585e-5,1.529829570741141e-11,0.0018823859220090569,-1.1605863972995146e-5,1.3934936610352848e-10,0.0018825762769299201,-1.1751333204930212e-5,2.7535196640362164e-10,0.001882849356696919,-1.1874174668779581e-5,3.8937810798312383e-10,0.0018831923326353601,-1.1937760844475924e-5,4.470257514000792e-10,0.0018835766745060477,-1.1911660763090492e-5,4.198775427362523e-10,0.0018839599006157666,-1.1780441166968134e-5,2.937343558620432e-10,0.0018842923200876947,-1.1552816367157377e-5,7.714292268036392e-11,0.0018845300065070212,-1.1267101431234662e-5,-1.935563353070176e-10,0.001884651848842402,-1.0986979616266467e-5,-4.582805070815646e-10,0.0018846729512961321,-1.0783668473551395e-5,-6.500369715974631e-10,0.001884644026311698,-1.0709107993313308e-5,-7.201687612284614e-10,0.0018846329849430254,-1.0774324376780514e-5,-6.586566194780138e-10,0.0018846977991100334,-1.0946622650667459e-5,-4.966346506891892e-10,0.0018848664449174443,-1.1166459365350037e-5,-2.9038739613313543e-10,0.0018851332005309256,-1.1371807843700045e-5,-9.836030862044166e-11,0.00188546833284025,-1.1516483567944784e-5,3.6072174092010136e-11,0.0018858320534413794,-1.1577196587717038e-5,9.118298144119174e-11,0.0018861858170151932,-1.1551897946543376e-5,6.526251494340663e-11,0.0018864988368209698,-1.1454250824736898e-5,-2.8641386320276168e-11,0.0018867506997908348,-1.130771157982184e-5,-1.683171289939276e-10,0.0018869317981828468,-1.114067253953726e-5,-3.269535468848281e-10,0.00188704288267068,-1.0982683580718171e-5,-4.766790893169354e-10,0.00188709425157458,-1.0861262431198378e-5,-5.915582605683498e-10,0.0018871045582005074,-1.0798915164720963e-5,-6.504092600231872e-10,0.0018870989904794264,-1.0810255077489202e-5,-6.395398827368157e-10,0.0018871065171513206,-1.089946266139451e-5,-5.551558313967678e-10,0.0018871561148395357,-1.1058676341069262e-5,-4.048719775294948e-10,0.0018872723151573511,-1.1267948529405112e-5,-2.077232698081918e-10,0.0018874707273317042,-1.1497174238386989e-5,7.702962172308863e-12,0.0018877543345839755,-1.1710094620244999e-5,2.0709679356946207e-10,0.0018881113731507087,-1.1870079468074387e-5,3.5592247332806187e-10,0.0018885154354453212,-1.1947025394181564e-5,4.2594198011051527e-10,0.0018889282709940963,-1.1924554434572256e-5,4.0198452420754266e-10,0.0018893057509901104,-1.180642796887354e-5,2.8793937793174093e-10,0.0018896072155190882,-1.1620319815144137e-5,1.102325230061882e-10,0.0018898073174633363,-1.141620503858083e-5,-8.378045830706647e-11,0.0018899072882816023,-1.1256680872880053e-5,-2.350144500265779e-10,0.00188994004525897,-1.1199004466727915e-5,-2.8962303888349816e-10,0.0018899634124805416,-1.1274091765243815e-5,-2.187662588737686e-10,0.0018900409279768637,-1.1472911999612212e-5,-3.133758064503063e-11,0.0018902183761997377,-1.1749297526970216e-5,2.2880621691449785e-10,0.0018905085190595347,-1.2038537620544541e-5,5.004579398597872e-10,0.0018908911977333046,-1.2281010673800587e-5,7.273646082903298e-10,0.0018913257026649535,-1.2438746635557551e-5,8.738262880584713e-10,0.001891766418942364,-1.2500025159169855e-5,9.289921702418269e-10,0.0018921745217345054,-1.2474898759061678e-5,9.025856295473614e-10,0.0018925235949496604,-1.2387224374957897e-5,8.173373978207359e-10,0.0018928006012498605,-1.2267242724669224e-5,7.019521780489794e-10,0.001893004532648849,-1.2146219309942353e-5,5.860420989860535e-10,0.0018931444568213974,-1.2052958305120446e-5,4.968374482519974e-10,0.0018932376922635935,-1.201136506885249e-5,4.5688395279176046e-10,0.0018933080932005942,-1.203830971069964e-5,4.820179060546816e-10,0.0018933840198379344,-1.2141431704543413e-5,5.792878687063079e-10,0.0018934954432214392,-1.2317048491958935e-5,7.449904944807481e-10,0.0018936698433884116,-1.2548874791752978e-5,9.63493451044306e-10,0.0018939271289290503,-1.2808571057900438e-5,1.207801973263226e-9,0.0018942745270844783,-1.3059009801183272e-5,1.4426931836520661e-9,0.0018947029628015445,-1.3260512884313262e-5,1.6306445395104082e-9,0.0018951865409454112,-1.3379240786205856e-5,1.739776196090901e-9,0.0018956861193035659,-1.339582085200682e-5,1.7520006276159735e-9,0.001896156784362993,-1.3311821218936873e-5,1.6691149414387627e-9,0.0018965578833635218,-1.315201628144059e-5,1.5148888736049156e-9,0.0018968634955145083,-1.2961201862073039e-5,1.3319718714925833e-9,0.0018970707895216053,-1.27953186054354e-5,1.1734090967998433e-9,0.0018972035254706415,-1.270792499395131e-5,1.0897877058615488e-9,0.0018973082905004745,-1.2734836504746565e-5,1.1147159041982071e-9,0.0018974426469162598,-1.2881765897702211e-5,1.2532161191392723e-9,0.0018976577334179135,-1.3120638566367633e-5,1.4783604413576136e-9,0.0018979817061840188,-1.3397830754750496e-5,1.7391592222003208e-9,0.001898411458923872,-1.3651830597880485e-5,1.9773042111285594e-9,0.0018989162166529016,-1.3832467412215963e-5,2.1453543532283e-9,0.0018994501504002229,-1.3913394698958246e-5,2.218528300226893e-9,0.0018999670934915821,-1.3894285229865015e-5,2.1967560935101533e-9,0.0019004313205916007,-1.3794987368719163e-5,2.0991062793393773e-9,0.0019008222473536457,-1.3646563923406225e-5,1.9552477096692173e-9,0.0019011342862434643,-1.3483210869567092e-5,1.7977502645593472e-9,0.0019013742670453792,-1.3336710126712298e-5,1.656805182705815e-9,0.0019015583445810035,-1.3233251710861967e-5,1.557210441490532e-9,0.0019017093215130678,-1.3191683234416556e-5,1.516718948288368e-9,0.0019018544551819409,-1.322222486221346e-5,1.5448335845441187e-9,0.0019020232614363063,-1.332508798252e-5,1.641518474045382e-9,0.0019022446122891282,-1.3489036976123344e-5,1.7958687511443292e-9,0.0019025425844261994,-1.369058867045455e-5,1.985394636394811e-9,0.0019029310998461496,-1.3895103526272778e-5,2.177098013812628e-9,0.0019034084130146504,-1.4061158291373949e-5,2.3316432829741173e-9,0.0019039536403952983,-1.4148798826174367e-5,2.411188360481643e-9,0.00190452798036301,-1.4130390523376207e-5,2.3896713112052716e-9,0.0019050821403015848,-1.4000599135125858e-5,2.262277159589695e-9,0.0019055688083909521,-1.3781106731241096e-5,2.0499028297317794e-9,0.0019059562148011579,-1.3517137805515713e-5,1.795813482384683e-9,0.0019062378216281627,-1.3266226807941069e-5,1.55488479026225e-9,0.0019064346707243743,-1.3082876840158903e-5,1.3789321851604236e-9,0.0019065897975290977,-1.300402884385789e-5,1.3028645792247607e-9,0.0019067566525288243,-1.3039478647258866e-5,1.335631681489911e-9,0.0019069848668208623,-1.3169664466781716e-5,1.458241594737562e-9,0.0019073072088376596,-1.3351363244590194e-5,1.6292950121476715e-9,0.0019077314104704636,-1.35297729754093e-5,1.7965331398129217e-9,0.0019082393455308658,-1.3653389545506359e-5,1.910981408664566e-9,0.0019087936495511212,-1.368692249063571e-5,1.9391998920108105e-9,0.0019093490888763,-1.36182247050182e-5,1.8698433679372743e-9,0.0019098643504093444,-1.3457815665676977e-5,1.7131785903247102e-9,0.0019103104535418381,-1.3232664882104302e-5,1.49513174647234e-9,0.001910674199703993,-1.2977653683504635e-5,1.2491153226176072e-9,0.001910957383345947,-1.2727836569487273e-5,1.0086216538112337e-9,0.0019111736376836673,-1.2513095263658599e-5,8.021151208985223e-10,0.0019113446910483782,-1.2355262008813369e-5,6.502990133921028e-10,0.0019114970699477254,-1.2266914435896981e-5,5.649887739956633e-10,0.001911659458251913,-1.2250863989869682e-5,5.48651037755953e-10,0.0019118603142655674,-1.2299688915426472e-5,5.939871771107086e-10,0.0019121250704395051,-1.2395224103850199e-5,6.83479516283135e-10,0.001912472298250459,-1.2508553962420433e-5,7.894175597020551e-10,0.0019129086995072113,-1.2601732458062466e-5,8.755614362231623e-10,0.0019134238587510172,-1.2632856875682743e-5,9.019823758839568e-10,0.0019139872139001782,-1.2565475255362356e-5,8.340185275907759e-10,0.0019145507149744756,-1.2380996991705414e-5,6.541016494998854e-10,0.0019150594943169597,-1.208942059331609e-5,3.720012705806915e-10,0.0019154687355826697,-1.1731803189978585e-5,2.7186751351475117e-11,0.0019157599073696201,-1.1370438510631843e-5,-3.2059589419623007e-10,0.0019159480871280882,-1.1069433649940181e-5,-6.099776897920081e-10,0.0019160765242110884,-1.0874351161307604e-5,-7.975067244527357e-10,0.001916201638240862,-1.0799731954230843e-5,-8.695695269755934e-10,0.0019163757206690922,-1.0828066294132719e-5,-8.432736692445251e-10,0.001916633663319116,-1.0918083407511515e-5,-7.583931686950212e-10,0.0019169865545414935,-1.1017681518618213e-5,-6.649208970516302e-10,0.0019174220148160516,-1.1077138327480256e-5,-6.104228457140029e-10,0.001917909652400136,-1.1059628873658679e-5,-6.300141180862712e-10,0.0019184095373273615,-1.0947442807596206e-5,-7.404583107456317e-10,0.0019188815145464583,-1.074336196537258e-5,-9.388858115135974e-10,0.0019192932808213034,-1.0467594123611643e-5,-1.20575358697917e-9,0.0019196256213150462,-1.0151606595075532e-5,-1.5107725145640873e-9,0.0019198741582867806,-9.830831037267878e-6,-1.8199155582087304e-9,0.001920048034328906,-9.53810189496491e-6,-2.101716952530784e-9,0.00192016664884815,-9.298985720095432e-6,-2.3317451423285186e-9,0.0019202557299710247,-9.129284586844093e-6,-2.4949779817672822e-9,0.0019203436982262987,-9.03425635494825e-6,-2.5865276762768656e-9,0.0019204586561453517,-9.008766308266697e-6,-2.6114761398253937e-9,0.0019206257964393613,-9.037767379553837e-6,-2.584400459288261e-9,0.0019208647556760669,-9.096934635335611e-6,-2.528749375572851e-9,0.0019211863918376449,-9.153791617985142e-6,-2.475744453410305e-9,0.0019215887893763244,-9.170318069016814e-6,-2.4618619106144695e-9,0.0019220532680969222,-9.108486698013456e-6,-2.5235177511399977e-9,0.0019225426370994027,-8.93968667282501e-6,-2.6880381102716844e-9,0.0019230051437690364,-8.656881355420935e-6,-2.9620064184294193e-9,0.0019233868768198299,-8.284641843373393e-6,-3.321635583237772e-9,0.0019236508865696793,-7.87924983238811e-6,-3.7126811593957043e-9,0.0019237944180940756,-7.513626152701059e-6,-4.064969808739745e-9,0.0019238530642237287,-7.251346875133989e-6,-4.317442787274023e-9,0.0019238875264319904,-7.123184534446885e-6,-4.440727658128514e-9,0.0019239602849499028,-7.118772335068044e-6,-4.445080751689829e-9,0.0019241150340064711,-7.195410187776e-6,-4.3718032484889515e-9,0.0019243672115235493,-7.296057858543114e-6,-4.275859784550209e-9,0.0019247056490780219,-7.366796576870663e-6,-4.209081160263236e-9,0.001925100638222425,-7.368390575798459e-6,-4.2090899838722325e-9,0.0019255136991263675,-7.28124033598263e-6,-4.29459094897082e-9,0.0019259062934330908,-7.105313322498182e-6,-4.465474633111174e-9,0.001926246455241092,-6.8569503429279765e-6,-4.705904064104801e-9,0.001926513155176582,-6.563908504672785e-6,-4.989086595641599e-9,0.0019266984060524598,-6.259565315487143e-6,-5.28285207654197e-9,0.0019268072181901595,-5.977125716265304e-6,-5.555231795710813e-9,0.0019268557194206991,-5.744607949504135e-6,-5.779286983994542e-9,0.001926867956789526,-5.581192829623622e-6,-5.93661711990306e-9,0.0019268720688889452,-5.495252817643273e-6,-6.019245563941074e-9,0.0019268965365545243,-5.483964670467983e-6,-6.029980211505466e-9,0.0019269669147046517,-5.534047865259946e-6,-5.981698489668393e-9,0.0019271030607710645,-5.623188311924287e-6,-5.895977467639949e-9,0.0019273166863302753,-5.7219540024492885e-6,-5.8012471529754476e-9,0.001927608964943563,-5.7963044626612365e-6,-5.730359732741071e-9,0.001927968073137577,-5.811296023443038e-6,-5.716996716285913e-9,0.001928367327868175,-5.736968151573158e-6,-5.789976737812062e-9,0.0019287657529438592,-5.556881102280313e-6,-5.965023129181158e-9,0.0019291137044280984,-5.2780252562612125e-6,-6.235225744033611e-9,0.0019293656129909568,-4.9378508432014095e-6,-6.564293224012181e-9,0.0019294981647026979,-4.601333003765205e-6,-6.88943201632588e-9,0.001929525485728095,-4.342876353937429e-6,-7.138863176862139e-9,0.0019294994801223031,-4.217696588858802e-6,-7.25946537969358e-9,0.0019294908116161604,-4.238299439230228e-6,-7.239417461315074e-9,0.001929560314582812,-4.371015270438031e-6,-7.111424613284696e-9,0.0019297377118852202,-4.55344246107046e-6,-6.935795233464066e-9,0.001930017314096714,-4.719917590952116e-6,-6.775858205910853e-9,0.001930367658027968,-4.821014209853837e-6,-6.679201920416775e-9,0.0019307459008136353,-4.8316120263198285e-6,-6.669947990797228e-9,0.0019311099639047478,-4.749855588336907e-6,-6.749791325681373e-9,0.001931426078730715,-4.591648798416053e-6,-6.903320619292728e-9,0.0019316723240502833,-4.384152509840636e-6,-7.104284083463843e-9,0.00193183957714851,-4.159855661523347e-6,-7.321298468100921e-9,0.0019319309590358179,-3.951522849872863e-6,-7.522721099309414e-9,0.001931960272729608,-3.7879464393165173e-6,-7.680755766459321e-9,0.0019319496225054618,-3.690498897752296e-6,-7.774788967531755e-9,0.0019319263202685097,-3.6706055523742944e-6,-7.793831867149322e-9,0.001931919267959071,-3.7283927164905087e-6,-7.737819257871908e-9,0.0019319552108667095,-3.852716726614077e-6,-7.617573393096083e-9,0.0019320552988749142,-4.02248969024826e-6,-7.453520879166667e-9,0.0019322322171346693,-4.209066647074804e-6,-7.27339092546293e-9,0.0019324880384187753,-4.379522397329557e-6,-7.109051304871561e-9,0.0019328128907126745,-4.5006846976982455e-6,-6.9926006585541975e-9,0.001933184500922892,-4.543960637217014e-6,-6.951680008281516e-9,0.0019335690805746674,-4.491239132575197e-6,-7.0037418708715674e-9,0.0019339247854987158,-4.3417098714221724e-6,-7.149447726110859e-9,0.0019342092422925217,-4.118009382523817e-6,-7.366743932940767e-9,0.0019343916827004838,-3.868204312684253e-6,-7.608992772716862e-9,0.001934467361572726,-3.658733712507117e-6,-7.811866984567964e-9,0.001934467204138646,-3.5553083996379697e-6,-7.911879053399946e-9,0.0019344532495840499,-3.5966460829545584e-6,-7.871776332288663e-9,0.0019344968195731504,-3.7753114217998696e-6,-7.698978894623498e-9,0.0019346495112623097,-4.03947689724567e-6,-7.443761240396356e-9,0.0019349242390860283,-4.315579736048795e-6,-7.177294842177374e-9,0.0019352959799658958,-4.537209508290387e-6,-6.9637480873944295e-9,0.0019357174371195988,-4.664295527601881e-6,-6.8417869033334726e-9,0.0019361376429321514,-4.687227031264865e-6,-6.820621053087697e-9,0.0019365149604292852,-4.620518272556331e-6,-6.886137513437268e-9,0.001936822735002006,-4.4930784615761195e-6,-7.01030959332819e-9,0.0019370497573068866,-4.3395817761451026e-6,-7.159541983283873e-9,0.0019371982714750445,-4.194332245529059e-6,-7.300606086896117e-9,0.0019372813098119841,-4.0872389658178436e-6,-7.404541171072901e-9,0.0019373200047168263,-4.041081596253815e-6,-7.449311969194115e-9,0.0019373408698219712,-4.06951090543502e-6,-7.421751862826817e-9,0.0019373728401152071,-4.175601163817662e-6,-7.318959872347354e-9,0.0019374438984557292,-4.351140097040351e-6,-7.14897163907601e-9,0.0019375773878386295,-4.577090029110529e-6,-6.930294004143148e-9,0.0019377884492321462,-4.8255307456941e-6,-6.690013847281935e-9,0.0019380811458521296,-5.063086450380342e-6,-6.460482833914179e-9,0.0019384468078961414,-5.2556340897116115e-6,-6.274765644942493e-9,0.001938864070694948,-5.373859826780817e-6,-6.161257575262624e-9,0.0019393008815218134,-5.39900090253849e-6,-6.138107237175963e-9,0.0019397185968336869,-5.328108998262378e-6,-6.208094891699568e-9,0.0019400783924782288,-5.178029968915432e-6,-6.3547673684562564e-9,0.001940350064460665,-4.986568248040517e-6,-6.541330751226949e-9,0.0019405222410656135,-4.808507589956162e-6,-6.714561951692604e-9,0.0019406110279473565,-4.704360703335738e-6,-6.815780527851394e-9,0.0019406619186682263,-4.722099909779016e-6,-6.798592282970913e-9,0.0019407397828170951,-4.877341093394415e-6,-6.6480630164182626e-9,0.0019409070239167167,-5.142645237546104e-6,-6.3909979796592525e-9,0.0019411991246476956,-5.455021750594156e-6,-6.08859132515089e-9,0.0019416113591816284,-5.739907638638507e-6,-5.813170806092759e-9,0.0019421039399188788,-5.938379623146413e-6,-5.621848443746926e-9,0.001942620441220814,-6.023358180511173e-6,-5.540825654139379e-9,0.0019431076064300335,-6.000155352616885e-6,-5.564854280690739e-9,0.0019435278468381142,-5.896618797745685e-6,-5.66679479290207e-9,0.0019438629592743444,-5.750852545969404e-6,-5.809548326748877e-9,0.0019441120808416875,-5.601534475667561e-6,-5.955480832384088e-9,0.001944287443752201,-5.482065741624393e-6,-6.072125549617999e-9,0.0019444101506376872,-5.417660736467644e-6,-6.135020234542866e-9,0.001944506708268009,-5.424015514502002e-6,-6.12900103028505e-9,0.0019446061453395735,-5.5065945921930115e-6,-6.048882321230036e-9,0.0019447372317435117,-5.660164219490716e-6,-5.899883466024544e-9,0.0019449253683826993,-5.8687316263243564E-06,-5.6976552684035205e-9,0.001945189030333371,-6.106463427556881e-6,-5.467362321854533e-9,0.001945536161431122,-6.340235377640483e-6,-5.241200084831334e-9,0.0019459613750219223,-6.534129514976202e-6,-5.0540407206024526E-09,0.0019464450016517627,-6.655627092463941e-6,-4.9374385215283745e-9,0.0019469548828858596,-6.682567740270542e-6,-4.912878296775678e-9,0.001947451269570495,-6.60932933283276e-6,-4.985758640608991e-9,0.0019478943525422965,-6.450513493834239e-6,-5.14178782748562e-9,0.0019482532181079584,-6.2407756398245034e-6,-5.347142200685174e-9,0.0019485145355209999,-6.029956846976695e-6,-5.553227818359947e-9,0.001948688832848761,-5.8732962326046545e-6,-5.706255960069141e-9,0.0019488117889920867,-5.817657136586249e-6,-5.76069054929591e-9,0.001948938125527602,-5.886667676818439e-6,-5.69370500652984e-9,0.0019491274075020232,-6.0699856033129015e-6,-5.515569915679763e-9,0.0019494249289553265,-6.3227915401508744E-06,-5.270071903094241e-9,0.001949845257742566,-6.578590377092514e-6,-5.022021831291358e-9,0.0019503668701211755,-6.771379833246088e-6,-4.8356927104913765e-9,0.001950941025999169,-6.857006618888046e-6,-4.754047856449597e-9,0.0019515098360051739,-6.823912357418047e-6,-4.788264987953578e-9,0.0019520240658229982,-6.690500284410137e-6,-4.920280238133386e-9,0.0019524536244067533,-6.49382548244997e-6,-5.113816259747165e-9,0.0019527895094792508,-6.276752315075202e-6,-5.326941081183438e-9,0.0019530401509459683,-6.078332438438705e-6,-5.521497393189113e-9,0.001953225817980965,-5.928567237035448e-6,-5.668236483345585e-9,0.0019533734478342783,-5.84651286102268e-6,-5.74866469745462e-9,0.0019535127069048035,-5.840135760566559e-6,-5.755159455452236e-9,0.0019536730713173847,-5.906707798229399e-6,-5.690546687804252e-9,0.0019538812761171337,-6.033223898987462e-6,-5.567654612994196e-9,0.0019541585144023286,-6.197000707763707e-6,-5.408699430107965e-9,0.0019545171385095907,-6.367107479822374e-6,-5.243879262195881e-9,0.0019549572076320533,-6.5074833444539475e-6,-5.108346058501838e-9,0.0019554639201165612,-6.582363249082454e-6,-5.03694129358835e-9,0.001956007498430186,-6.563809875728904e-6,-5.0568720809815e-9,0.001956546986261798,-6.4398326830353245e-6,-5.179789317621606e-9,0.001957038319601614,-6.220390777973844e-6,-5.3959025305882386e-9,0.001957445211377807,-5.938406346561329e-6,-5.6729623501463044E-09,0.0019577497434098727,-5.6441961139281294e-6,-5.961701088875459e-9,0.00195795905198493,-5.3940117834603315e-6,-6.207071934832427e-9,0.001958105475933685,-5.235595818058769e-6,-6.362420055449834e-9,0.0019582395183540724,-5.194843437985116e-6,-6.402542072145623e-9,0.001958417079498149,-5.267559275761301e-6,-6.331712684108876e-9,0.0019586841391798864,-5.419208397437096e-6,-6.183867152169376e-9,0.0019590632992368684,-5.5936274617679324e-6,-6.0140407497047866e-9,0.0019595468572287758,-5.728796846682779e-6,-5.882943397267424e-9,0.001960099404208329,-5.774659859002328e-6,-5.8395474337831e-9,0.0019606692273000065,-5.706491547132605e-6,-5.908007246472056e-9,0.001961203875844111,-5.5290734820936245e-6,-6.083550911233866e-9,0.001961663710892444,-5.271294504247528e-6,-6.33775249294814e-9,0.0019620291042840325,-4.974990706173587e-6,-6.62948408349352e-9,0.0019623006544432146,-4.683271223898374e-6,-6.916401377222745e-9,0.001962494734377491,-4.432015613971804e-6,-7.163317469825513e-9,0.00196263744876942,-4.24555166449937e-6,-7.3464495352867865e-9,0.001962759151531451,-4.135625053205161e-6,-7.454405906541533e-9,0.0019628903475563684,-4.102163162853727e-6,-7.487397138171459e-9,0.001963058825873597,-4.134581772027361e-6,-7.45591629508366e-9,0.0019632873735704035,-4.2130275752858015e-6,-7.37949782948698e-9,0.001963591384460584,-4.309670509689841e-6,-7.285447272084761e-9,0.001963976034392938,-4.390698571258319e-6,-7.2069014925367394E-09,0.00196443330876546,-4.419933657794488e-6,-7.1793089036528066e-9,0.0019649399761413515,-4.364865771727716e-6,-7.23453490273262e-9,0.001965458415821613,-4.2050069352158806e-6,-7.392670556572303e-9,0.0019659423021510165,-3.940624693125234e-6,-7.653438357820787e-9,0.001966347619651084,-3.5979703831828426e-6,-7.991020087185636e-9,0.001966646410720784,-3.2268073690315724e-6,-8.35646294373238e-9,0.001966837804951861,-2.88866026076316e-6,-8.6892469084276e-9,0.0019669507350560987,-2.638942552458159e-6,-8.93489923720782e-9,0.001967036219204756,-2.509897091168396e-6,-9.061792188439865e-9,0.0019671521102095036,-2.5011703515333097e-6,-9.070385947269845e-9,0.001967346338386762,-2.5810055380569523e-6,-8.992002968155938e-9,0.0019676443316525953,-2.696486676324743e-6,-8.878723391163976e-9,0.0019680437540308916,-2.788602202893239e-6,-8.788584213578214e-9,0.00196851699192739,-2.8074134547524235e-6,-8.77069512204032e-9,0.0019690198105688102,-2.723406029950918e-6,-8.854087293070188e-9,0.001969503286514971,-2.5325606025790628e-6,-9.042705655591e-9,0.0019699255438227234,-2.2545503651888572e-6,-9.317149614451272e-9,0.0019702602048416143,-1.9254253998824907e-6,-9.64186138287465e-9,0.0019704998243126686,-1.587626778063647e-6,-9.974977396460062e-9,0.001970654436207738,-1.2805361083925496e-6,-1.0277671836369529E-08,0.001970746848452303,-1.0338220010957484e-6,-1.0520734387427998e-8,0.001970806813276138,-8.642671882979529e-7,-1.0687691080751363e-8,0.0019708657346138646,-7.754852094272468e-7,-1.0775054263680461e-8,0.001970952685885467,-7.59358064857489e-7,-1.0790873734095068e-8,0.001971091690133412,-7.980785287859418e-7,-1.075270881326718e-8,0.0019712997330186763,-8.661819417994633e-7,-1.0685635082892515e-8,0.001971584912381313,-9.325958251431366e-7,-1.0620251655417039e-8,0.001971944386893563,-9.632389319096306e-7,-1.0590148555848218e-8,0.0019723623172643737,-9.250101036695197e-7,-1.0627989281767547e-8,0.001972808830631805,-7.919702181976068e-7,-1.0759406320346234e-8,0.0019732419679683944,-5.536462457545765e-7,-1.0994779047683153e-8,0.001973614823661226,-2.2335933302557065e-7,-1.1320973812675675e-8,0.0019738884737286657,1.5799990717252462e-7,-1.1697589927724113e-8,0.0019740473224203847,5.280347963458416e-7,-1.2062959771330483e-8,0.00197410928803649,8.20358883314744e-7,-1.2351497457826083e-8,0.001974123317235958,9.877098265902934e-7,-1.251656570489879e-8,0.001974153255924493,1.0192999814429548e-6,-1.2547588496020676e-8,0.0019742556717545824,9.434428611000109e-7,-1.2472576911245205e-8,0.0019744623865517686,8.154180584666158e-7,-1.2346103517772794e-8,0.001974774135226251,6.982018680757243e-7,-1.2230299564424663e-8,0.001975164866836536,6.44800593857355e-7,-1.2177471453811616e-8,0.001975592187135106,6.871905621175031e-7,-1.221921769330186e-8,0.001976009248334955,8.327104581488337e-7,-1.2362852376014084e-8,0.0019763749925609457,1.0663971388143509e-6,-1.259366276420492e-8,0.001976661273607453,1.3571121056137057e-6,-1.2880913658228117e-8,0.0019768563928079714,1.6655158949823804e-6,-1.3185711559255818e-8,0.001976965150873674,1.9522178827619e-6,-1.3469078659361015e-8,0.0019770060231024044,2.1846215565256827e-6,-1.3698753468466588e-8,0.001977006519814771,2.3414551764659016e-6,-1.3853691582153882E-08,0.0019769979445145433,2.4146980122888094e-6,-1.3925966248255384e-8,0.0019770105929741008,2.409217344158514e-6,-1.3920387497226856e-8,0.0019770700502998715,2.340825972519958e-6,-1.3852563760087515e-8,0.0019771946962903715,2.233613597212906e-6,-1.3746268263541514e-8,0.001977394083641216,2.117137695108602e-6,-1.3630691930216664e-8,0.00197766776849491,2.02355937158754e-6,-1.353764934893884e-8,0.0019780043391657534,1.9844130263776497e-6,-1.3498405475263642e-8,0.001978380746958981,2.0264143260061553e-6,-1.353951384539365e-8,0.001978762774876461,2.1656876800633962e-6,-1.3677055583687163e-8,0.00197910834678161,2.4005955486988004e-6,-1.3909478074330424e-8,0.0019793755690996236,2.7052325640155345e-6,-1.4211108687579435e-8,0.0019795358980323765,3.0280329593492748e-6,-1.4530782563116931e-8,0.0019795888602322726,3.3008762468395384e-6,-1.4800926854883546e-8,0.001979569909580966,3.4602522751505376e-6,-1.4958607317158036e-8,0.0019795428292347273,3.4729664075210322e-6,-1.4971007396679774e-8,0.0019795766858330343,3.3517185374406653e-6,-1.485078131230214e-8,0.001979719097725177,3.150012236996182e-6,-1.4650917551003886e-8,0.0019799807430923235,2.939717703579574e-6,-1.4442508997057445e-8,0.001980337179051505,2.785210747885825e-6,-1.4289220607364234e-8,0.001980742604001265,2.726455749296866e-6,-1.423061560237119e-8,0.0019811460867675897,2.7744247605888214e-6,-1.4277633511904348e-8,0.001981503955526798,2.915383589334282e-6,-1.4416788031389436e-8,0.0019817866606374806,3.119072655949307e-6,-1.4618203584318185e-8,0.0019819810541467733,3.3472878569643014e-6,-1.4844069697144964e-8,0.0019820896686203603,3.5612914305410776e-6,-1.5055977587760283e-8,0.00198212818028609,3.7276910519524167e-6,-1.522077511487346e-8,0.0019821217200457113,3.822702343827983e-6,-1.531483119915164e-8,0.001982100526968717,3.8346574475360094e-6,-1.5326546430867445e-8,0.001982095446197697,3.7647342774013897e-6,-1.525707214555077e-8,0.0019821337647565624,3.626027788928867e-6,-1.511936833404366e-8,0.00198223586051072,3.441229396883561e-6,-1.4935887639064302e-8,0.00198241295750562,3.2394074768603723e-6,-1.4735395171384388e-8,0.001982665941468611,3.0524134698759988e-6,-1.4549442314482317e-8,0.0019829850278711707,2.9111670054398966e-6,-1.4408723058841443e-8,0.0019833501452222605,2.841809897117393e-6,-1.4339272286988301e-8,0.0019837320752173157,2.8615334931783054e-6,-1.4358293854803897e-8,0.001984094861776407,2.9738376767734945e-6,-1.4469388182609625e-8,0.001984400625925791,3.163606036205151e-6,-1.465759406565055e-8,0.001984617903763515,3.39387177161666e-6,-1.4886148324894974e-8,0.001984733239124418,3.6078493427449448e-6,-1.5098540495896356e-8,0.001984762586708769,3.740319866084089e-6,-1.522990885918146e-8,0.001984755051949164,3.739151728899739e-6,-1.5228487094580237e-8,0.0019847812506757346,3.589373742862749e-6,-1.507949371776934e-8,0.0019849070018280613,3.324884794977739e-6,-1.481665653780441e-8,0.0019851657075547475,3.017077739740492e-6,-1.4510837813089766e-8,0.001985546337819205,2.7455641756043497e-6,-1.4240999293311826e-8,0.0019860027126962026,2.5689052542741243e-6,-1.4065234505030063e-8,0.001986474911058454,2.5102785475177926e-6,-1.4006586884914449e-8,0.001986909190146146,2.5597820777408202e-6,-1.4055310223533645e-8,0.001987269141598994,2.685729541695863e-6,-1.4180024373601416e-8,0.001987538415975901,2.8470244196991636e-6,-1.4339955147058143e-8,0.0019877184535379826,3.0026745725009918e-6,-1.4494369758932575e-8,0.001987824315689395,3.1178169485181043e-6,-1.4608579499453113e-8,0.0019878803285720108,3.1671431670578377e-6,-1.4657380747630862e-8,0.001987916017903525,3.1367378731829e-6,-1.4626916752757822e-8,0.00198796225735607,3.0248075252962984e-6,-1.4515412078652403e-8,0.001988047562103157,2.8413753222055076e-6,-1.4332850735856531e-8,0.0019881946131477435,2.60687216740141e-6,-1.4099542829987458e-8,0.001988417298411971,2.349527873938127e-6,-1.3843513258288562e-8,0.0019887187102340417,2.1016769841030624e-6,-1.3596844711551368e-8,0.001989090425727029,1.895388778983732e-6,-1.3391377619170956e-8,0.001989513160461744,1.7578895979745178e-6,-1.3254203612054567e-8,0.001989958770446367,1.7071788559904026e-6,-1.3203316404532476e-8,0.001990393534070427,1.7481911434179824e-6,-1.3243755974189393e-8,0.0019907827350952195,1.8697874359525122e-6,-1.336454230925692e-8,0.00199109681028482,2.0431157285996407e-6,-1.3536978415285554e-8,0.001991319151058384,2.222726763531207e-6,-1.371574429721612e-8,0.0019914544946981836,2.3526243150694117e-6,-1.3844968523515149e-8,0.0019915347809361574,2.379086977407752e-6,-1.3871077631016254e-8,0.001991617224389839,2.269346242030513e-6,-1.376144811926663e-8,0.0019917698902892863,2.0294384279911193e-6,-1.3522157951942242e-8,0.0019920466456429435,1.7095202837346074e-6,-1.3203206351826863e-8,0.001992463423863107,1.3885001624897012e-6,-1.288317749571206e-8,0.0019929908638321907,1.143480512993817e-6,-1.2638853847306288e-8,0.0019935682104733686,1.0214708448982725e-6,-1.2517091776224162e-8,0.0019941285130815195,1.0283869976145581e-6,-1.2523846927649901e-8,0.0019946200002937324,1.1365035316745898e-6,-1.2631538348227922e-8,0.001995015574720192,1.300685938679259e-6,-1.2795181679410482e-8,0.0019953118522825736,1.4734595686959486e-6,-1.2967407715671091e-8,0.0019955231121392253,1.6145721408287418e-6,-1.3108023269665573e-8,0.001995674485554681,1.6953207844439172e-6,-1.3188361405392658e-8,0.001995796372307964,1.6996250991069645e-6,-1.3192379686625797e-8,0.0019959203169879858,1.6236696505985474e-6,-1.3116312565503816e-8,0.0019960757921594096,1.475055708754886e-6,-1.2967807444551166e-8,0.0019962873383381975,1.271613814117125e-6,-1.2764702800757431e-8,0.001996571813660661,1.039617664310189e-6,-1.253321173415832e-8,0.001996935876688311,8.10987734279826e-7,-1.2305124592895642e-8,0.0019973742307001037,6.19237649378676e-7,-1.2113796509748371e-8,0.0019978693382533895,4.943937406260044e-7,-1.198913399233764e-8,0.0019983931254425164,4.575767847518032e-7,-1.1952232495962723e-8,0.0019989108215040154,5.162092500765573e-7,-1.2010593106379118e-8,0.0019993866344011147,6.609218430927506e-7,-1.215498240158599e-8,0.001999790531775251,8.650472468204294e-7,-1.2358850045151053e-8,0.0020001051872744658,1.0872195388065961e-6,-1.258086799786539e-8,0.0020003320300538583,1.2774384887276872e-6,-1.2770987731393865e-8,0.0020004948833237455,1.386820963278251e-6,-1.2880238021882123e-8,0.0020006389899060112,1.380409164658492e-6,-1.2873596607745973e-8,0.0020008230599442827,1.250445294729628e-6,-1.2743295658742569e-8,0.0020011035292148414,1.0248522465183068e-6,-1.2517287786395435e-8,0.0020015145004623476,7.642707366236366e-7,-1.2256256246504428e-8,0.002002052224806011,5.444286659134359e-7,-1.203598958625036e-8,0.0020026739455431216,4.2948544136936147e-7,-1.1920745495741174e-8,0.002003313579512777,4.496948714502562e-7,-1.1940890619262743e-8,0.0020039058326337656,5.94885512572639e-7,-1.208630936784008e-8,0.0020044058510690797,8.245709877731227e-7,-1.2316460457905977e-8,0.002004796841439746,1.0859096843776425e-6,-1.2578353220820108e-8,0.0020050868112686674,1.3296101468781744e-6,-1.2822521486441082e-8,0.0020053001577274294,1.5190539612688328e-6,-1.3012215262669332e-8,0.002005469139021302,1.6331027930982382e-6,-1.3126245137314179e-8,0.0020056275325741548,1.6652065850658668e-6,-1.3158091335992063e-8,0.0020058066106900104,1.6211993428942383e-6,-1.3113673482230696e-8,0.0020060325903481888,1.5170686408574125e-6,-1.3009079439298547e-8,0.002006324650222416,1.3769637497429265e-6,-1.2868534813545612e-8,0.0020066929754689877,1.2310800018681066e-6,-1.2722269046986007e-8,0.002007136798951896,1.1127780991151567e-6,-1.2603647647411476e-8,0.0020076429784578894,1.054378781853201e-6,-1.254500526328362e-8,0.002008186099861188,1.081598763449451e-6,-1.2572118807769247e-8,0.0020087311297168646,1.2074288608481698e-6,-1.2698088673752461e-8,0.002009239103287181,1.4270773152031296e-6,-1.2918234760844035e-8,0.0020096752789058284,1.716007875070945e-6,-1.3208055118895744e-8,0.0020100179652990918,2.0326550064858777e-6,-1.352587734554098e-8,0.0020102654993804938,2.3260539621831587e-6,-1.3820486693134687e-8,0.0020104390771972405,2.547030253336762e-6,-1.4042386690680413e-8,0.002010580106295075,2.6604804750482006e-6,-1.4156191902665433e-8,0.0020107419502173964,2.6557832329077294e-6,-1.4151139319925016e-8,0.0020109771879805558,2.5523069324261464e-6,-1.4046647718123685e-8,0.0020113229426591533,2.397375789826293e-6,-1.3890280276741745e-8,0.0020117884211216064,2.2554114694326285e-6,-1.3746841070905745e-8,0.0020123497341117697,2.1898980519676447e-6,-1.3680257875013628e-8,0.002012955651515441,2.2438213886840194e-6,-1.3733900181722728e-8,0.0020135433728180985,2.4266447610087438e-6,-1.39174182558369e-8,0.0020140579317852875,2.71366437476233e-6,-1.4206014604787913e-8,0.0020144668228012324,3.057204948402956e-6,-1.4551671002974376e-8,0.0020147647475891694,3.403199418756304e-6,-1.4899863316082618e-8,0.0020149692079483423,3.7055522989431925e-6,-1.520408419186706e-8,0.00201511150064555,3.9340846123691215e-6,-1.5433892567141782e-8,0.0020152277251075717,4.076173637410506e-6,-1.5576577887703656e-8,0.002015352239871468,4.134536644454852e-6,-1.563490853663456e-8,0.0020155138461719147,4.123692670047893e-6,-1.5623536213635403e-8,0.002015733840614426,4.0666243269108735e-6,-1.55656072328393e-8,0.0020160248674950276,3.992054942875605e-6,-1.549001455038565e-8,0.002016389829459018,3.93198510839712e-6,-1.542893704410032e-8,0.0020168206820040395,3.918765993757011e-6,-1.541493242521958e-8,0.0020172975756185623,3.980985777701276e-6,-1.5476833726911856E-08,0.0020177894153615887,4.137875398081949e-6,-1.5634127210906082e-8,0.002018257233673766,4.392939175307108e-6,-1.589050240627824e-8,0.0020186613266694954,4.728908346737077e-6,-1.6228694079735292e-8,0.0020189715206215524,5.107091194937329e-6,-1.660975065177038e-8,0.0020191776486713324,5.473615092617835e-6,-1.6979292753435012e-8,0.002019295779758033,5.772429950864491e-6,-1.7280651483171656e-8,0.002019366518176988,5.961349214838775e-6,-1.7471108259171236e-8,0.0020194449006417144,6.025194125173232e-6,-1.7535205282025255e-8,0.0020195851788385455,5.980999551576999e-6,-1.7490022440756466e-8,0.0020198257279237858,5.873603143711555e-6,-1.7380744515888384e-8,0.0020201787279912464,5.763467291729197e-6,-1.7268403150332105e-8,0.002020627231636164,5.710627551405569e-6,-1.7213706810198902e-8,0.002021130054639501,5.7592346508056935e-6,-1.7261429057047976e-8,0.002021632985760314,5.926817997082376e-6,-1.7429501306651574e-8,0.0020220830928120654,6.20118699778434e-6,-1.7705783145695567e-8,0.0020224418380563767,6.54565640069781e-6,-1.8053264624984565e-8,0.002022693062944097,6.910491614078083e-6,-1.842162169656846e-8,0.0020228439203432147,7.246330768272015e-6,-1.876083414523109e-8,0.00202291967499455,7.515105216752511e-6,-1.9032294027402762e-8,0.002022955371584404,7.695808702277565e-6,-1.9214681031198905e-8,0.0020229876289183193,7.785067752112486e-6,-1.9304540519772036e-8,0.002023048591573068,7.794246700981407e-6,-1.931333154928886e-8,0.0020231624980154585,7.745203409912733e-6,-1.926311028183914e-8,0.0020233442466032186,7.666212202219833e-6,-1.918240528759956e-8,0.0020235989734061375,7.588624354679677e-6,-1.9102866270263047e-8,0.002023921859131006,7.544034825291021e-6,-1.9056442936228402e-8,0.0020242978850773183,7.561308638331777e-6,-1.907241483206435e-8,0.0020247018586647472,7.662755338235264e-6,-1.9173526603769192e-8,0.0020250996748987574,7.859045107714878e-6,-1.9370801266084847e-8,0.0020254522736660083,8.143408211325172e-6,-1.9657586738974178e-8,0.0020257235021321623,8.487284167289417e-6,-2.0005064388235096e-8,0.0020258914008579325,8.841089839559924e-6,-2.0362983469746076e-8,0.0020259593522022504,9.143502782538063e-6,-2.0669092452411597e-8,0.002025960886878649,9.339097586877438e-6,-2.0867079499950275e-8,0.0020259529258870486,9.398254944606137e-6,-2.0926796085751366e-8,0.0020259980842913805,9.329515946722925e-6,-2.085676872498728e-8,0.0020261436498098338,9.177436067364245e-6,-2.0702003689784143e-8,0.002026406976788043,9.007145260904893e-6,-2.0528373390696197e-8,0.0020267726311981303,8.883574211806648e-6,-2.0401649057662443e-8,0.002027200045442295,8.85396367750792e-6,-2.0369837232274553e-8,0.00202763668051562,8.938366466169523e-6,-2.0453528387901555e-8,0.002028031669042613,9.128606584898225e-6,-2.0644735364591285e-8,0.0020283466335991557,9.39376249959402e-6,-2.0912327645621907e-8,0.00202856210099846,9.689503075361093e-6,-2.121142268331872e-8,0.002028679138809268,9.968698912730516e-6,-2.1494151041399055e-8,0.0020287166795685033,1.0191047732068404e-5,-2.1719481725996414e-8,0.0020287057358542504,1.0329897581158466e-5,-2.186021727137697e-8,0.0020286822638829623,1.0375287950705e-5,-2.1906123600102078e-8,0.0020286804677956084,1.0333353870444897e-5,-2.186332802988044e-8,0.0020287278066525257,1.022312602899354e-5,-2.175105158087606e-8,0.0020288421647846723,1.0072112218170743e-5,-2.1597111262225863e-8,0.0020290308875681577,9.911875842701016e-6,-2.143344844153332e-8,0.0020292909665944156,9.774243576700235e-6,-2.129232494824514e-8,0.0020296097239808366,9.688113323346603e-6,-2.1203133387480477e-8,0.0020299656877050217,9.67644684934271e-6,-2.11893658424898e-8,0.0020303297882378582,9.752905982662366e-6,-2.1265165055571597e-8,0.0020306676073327287,9.917766980710009e-6,-2.1431087980682735e-8,0.002030943934628873,1.0153584998504719e-5,-2.1669593622508353e-8,0.0020311306708723493,1.0422590466425067e-5,-2.1942323425636325e-8,0.002031217579951732,1.0669289798588603e-5,-2.219275019954811e-8,0.002031222335730858,1.0831796516238949e-5,-2.235778014634001e-8,0.002031193048301995,1.0861890930176747e-5,-2.2388241959551486e-8,0.00203119703859634,1.0746492481003186e-5,-2.2270735146629827e-8,0.002031297195154339,1.0517768776177442e-5,-2.2037844471414716e-8,0.0020315273094421984,1.0243291108028e-5,-2.1758092239078608e-8,0.0020318802493412753,1.0000530434740792e-5,-2.1510081000851584e-8,0.002032314137298937,9.850022664826762e-6,-2.1355340836590286e-8,0.002032770207259545,9.81982278786599e-6,-2.132258299426645e-8,0.0020331917199350323,9.904280503784482e-6,-2.14063888568104e-8,0.002033536949342053,1.0072489993620747e-5,-2.157566092331201e-8,0.0020337847861032054,1.0280151984724976e-5,-2.178555756437125e-8,0.002033934644404204,1.0480633734434917e-5,-2.1988684509594312e-8,0.002034002956023895,1.0633476288885205e-5,-2.2143773497299168e-8,0.0020340179562521273,1.0710065550269308e-5,-2.222152752762457e-8,0.002034013813275749,1.0696609639052564e-5,-2.2207730651406188e-8,0.002034024860105363,1.0594604521297306e-5,-2.2103765848150748e-8,0.002034080587443095,1.0419122419825089e-5,-2.19248717814829e-8,0.0020342019278727854,1.0195455518673118e-5,-2.169670062200928e-8,0.0020343991620295483,9.954802844166271e-6,-2.145091239995425e-8,0.0020346714321390342,9.729785129053017e-6,-2.122063084652677e-8,0.0020350074824118905,9.550386709694598e-6,-2.103636451097717e-8,0.002035387185509016,9.440493583899565e-6,-2.0922533216016104e-8,0.0020357836037984364,9.414912608424384e-6,-2.089444107511516e-8,0.0020361655489376162,9.476655420791237e-6,-2.0955452598258494e-8,0.002036501001353076,9.614310232276557e-6,-2.1094206564680248e-8,0.002036762210872142,9.79994037620005e-6,-2.1282363869390327e-8,0.0020369330481708123,9.989184837192771e-6,-2.1474658477092256e-8,0.002037017771296381,1.012628359366276e-5,-2.1614061269663444e-8,0.002037047915437464,1.015658110540848e-5,-2.164463677168314e-8,0.0020370813026867737,1.0046056108125668e-5,-2.153154985964805e-8,0.0020371875508600258,9.800650799576031e-6,-2.1280773292665346e-8,0.002037421936656467,9.472336381754918e-6,-2.094520101904596e-8,0.0020378005857027153,9.143072453333508e-6,-2.0608270685343048e-8,0.0020382928899801513,8.892876275813154e-6,-2.035149508235166e-8,0.0020388358398022157,8.770499811406708e-6,-2.0224669132370346e-8,0.002039359770557812,8.781941663669052e-6,-2.0234157130035133e-8,0.0020398103504522254,8.897729739466089e-6,-2.0350211586612295e-8,0.0020401588643933475,9.069382952218172e-6,-2.0523629149456965e-8,0.0020404019625274035,9.245293559122839e-6,-2.0701866584475123e-8,0.002040555827693921,9.381504609670853e-6,-2.0840025781472896e-8,0.0020406489259659406,9.447228151930216e-6,-2.0906536788607898e-8,0.0020407154331214734,9.426696770852405e-6,-2.088512838607746e-8,0.00204078985578392,9.318873354513713e-6,-2.077459998128169e-8,0.00204090271395194,9.135845367544504e-6,-2.0587206452044835e-8,0.0020410771407216085,8.900239108317796e-6,-2.034599700431967e-8,0.002041326419699712,8.641807325844239e-6,-2.0081292128129632e-8,0.0020416526435947345,8.393337339943669e-6,-1.982648942593215e-8,0.002042046703171445,8.186237577472187e-6,-1.9613586261310882e-8,0.0020424895896427346,8.046339142518472e-6,-1.9468954219893878e-8,0.0020429547843234747,7.990305000968632e-6,-1.940972395069631e-8,0.0020434115251253306,8.022843551834938e-6,-1.9440936885743926e-8,0.002043828782565443,8.134892448156656e-6,-1.9553616311880043e-8,0.0020441798602190554,8.302917025788585e-6,-1.972393223071845e-8,0.0020444477519546617,8.4896969525292e-6,-1.9913901817449882e-8,0.0020446311903293338,8.647706547103258e-6,-2.0074815114312748e-8,0.0020447501973034107,8.726723226422148e-6,-2.0155077328217368e-8,0.002044848244940901,8.686627904246379e-6,-2.011341515541943e-8,0.0020449867383772256,8.513737749746249e-6,-1.9935671842505055e-8,0.002045228541166259,8.234144633017872e-6,-1.964846070320371e-8,0.0020456134638839763,7.913572361465218e-6,-1.931898185881672e-8,0.0020461377861319533,7.63729312921591e-6,-1.9034476270744172e-8,0.0020467521585061633,7.477202828544634e-6,-1.8868592712503943e-8,0.002047381272856939,7.464688941483806e-6,-1.8853644549237028e-8,0.0020479532062943314,7.58431837206364e-6,-1.8974080315531745e-8,0.0020484215587382487,7.78774400789283e-6,-1.918060677428675e-8,0.0020487722662357426,8.015405362121847e-6,-1.941233147259879e-8,0.002049018198077936,8.214197838192044e-6,-1.9614843383185996e-8,0.0020491889216315115,8.346735295295853e-6,-1.9749735808637718e-8,0.0020493210512069144,8.393632060507522e-6,-1.979700451228811e-8,0.0020494512449664246,8.351957607960816e-6,-1.9753525015406534e-8,0.0020496117250101715,8.23232744734854e-6,-1.963010652990153e-8,0.002049827426776408,8.055769435622714e-6,-1.944827439536342e-8,0.002050114053526486,7.850558869214728e-6,-1.9236989441846953e-8,0.0020504767490431433,7.648847136675355e-6,-1.9029157282885984e-8,0.0020509094756088818,7.482854532348159e-6,-1.8857725613841873e-8,0.002051395453334524,7.380623768682452e-6,-1.8751377321085998e-8,0.0020519090052662243,7.361760387571575e-6,-1.8730230620980626e-8,0.0020524188593675297,7.433818308990292e-6,-1.8802173480598776e-8,0.0020528926844391848,7.589950602549962e-6,-1.8960428834936324e-8,0.0020533024421489844,7.808390524123514e-6,-1.9182928498524213e-8,0.0020536299340462158,8.054192913403938e-6,-1.9433978306497595e-8,0.0020538718361486044,8.283434195619361e-6,-1.9668482974938482e-8,0.0020540434289632683,8.45004521906672e-6,-1.9838956797592828e-8,0.0020541797514216247,8.515402796906978e-6,-1.99054534057615e-8,0.0020543322054149753,8.459930706160225e-6,-1.984759651675978e-8,0.0020545585952090927,8.293944827313858e-6,-1.9675807879402267e-8,0.0020549063810787,8.062431097372e-6,-1.9436246264897823e-8,0.0020553934153247633,7.837497117823304e-6,-1.920304947832446e-8,0.002055995700465939,7.696451661454231e-6,-1.9055809090821722e-8,0.002056651811353018,7.693154521324639e-6,-1.9050112336143213e-8,0.0020572846695030584,7.837818600247798e-6,-1.919671296351236e-8,0.002057829365555983,8.096658859821898e-6,-1.946106441052887e-8,0.002058252145844519,8.409493816274429e-6,-1.978134730901258e-8,0.0020585536030746266,8.712990432294358e-6,-2.0092375696100318e-8,0.002058759808669095,8.957877739096902e-6,-2.0343349339844396e-8]} \ No newline at end of file diff --git a/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_17.json b/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_17.json new file mode 100644 index 0000000..64ee0a0 --- /dev/null +++ b/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_17.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1.0,"startIndex":17000,"numberOfSamples":1000,"samples":[0.0020589095356776037,9.116105504093818e-6,-2.0505272164235435e-8,0.002059043510293161,9.180255067418492e-6,-2.0570390059257767e-8,0.0020591976431414568,9.159302745262173e-6,-2.054785882824188e-8,0.002059399625909375,9.073759899582225e-6,-2.045874721325323e-8,0.0020596674746746844,8.95148439515232e-6,-2.033170765436402e-8,0.00206000888513569,8.824207938457376e-6,-2.019937465729761e-8,0.002060420904195782,8.724308617167852e-6,-2.0095032184184587e-8,0.0020608899779143205,8.68132520947309e-6,-2.0049049012491025e-8,0.0020613928365786132,8.717972919315283e-6,-2.008482719556681e-8,0.0020618988348358,8.845955809078727e-6,-2.021453482958727e-8,0.002062374125258358,9.062441716260134e-6,-2.0435474508193457e-8,0.0020627874895708226,9.348364762479418e-6,-2.072826871336509e-8,0.0020631169945883126,9.669654112154566e-6,-2.1058015950605946e-8,0.0020633560604633263,9.98198746864013e-6,-2.137908652587735e-8,0.002063517288428266,1.023877017749716e-5,-2.164330411583651e-8,0.002063632645942536,1.0401139220424818e-5,-2.1810299545772995e-8,0.0020637491502467223,1.0448183572471843e-5,-2.185815206205818e-8,0.0020639198525462597,1.0385066085844465e-5,-2.1791885352537092e-8,0.002064190922547863,1.0246206042140799e-5,-2.1646843352671344e-8,0.002064587291919049,1.0090636415679369e-5,-2.1483949591921145e-8,0.0020651014652658243,9.988078798241432e-6,-2.13753442005915e-8,0.002065691367589172,9.998026570269695e-6,-2.1382754626188622e-8,0.002066291012197917,1.0149230388591655e-5,-2.153622147579785e-8,0.002066831501387849,1.0429452683376921e-5,-2.182338975756979e-8,0.002067263169333099,1.0791237145000513e-5,-2.2195367611649683e-8,0.002067568557615017,1.1170401662074308e-5,-2.2585814103541868e-8,0.0020677618994642912,1.1507219742502304e-5,-2.2932879418767003e-8,0.0020678786593962845,1.1760992660056131e-5,-2.319433420100162e-8,0.00206796228678175,1.1914801500387303e-5,-2.3352529680849556e-8,0.0020680536670884195,1.1972789302221374e-5,-2.3411612372762594e-8,0.002068185083895209,1.1954165594086708e-5,-2.339133460421787e-8,0.0020683778972125345,1.1887104070253944e-5,-2.3320744180844544e-8,0.002068642307553408,1.180390121082168e-5,-2.3233173740066774e-8,0.002068977856263579,1.1737393814191125e-5,-2.3162537647244684e-8,0.002069373999389383,1.1717978706675388e-5,-2.3140267827765654e-8,0.0020698107873335274,1.1770514429890422e-5,-2.3192140613020073e-8,0.0020702602014525747,1.1910715973072524e-5,-2.3334573248691355e-8,0.002070688939508567,1.2141252692424613e-5,-2.3570578997251697e-8,0.0020710632916822844,1.2448527390387745e-5,-2.3886375187523575e-8,0.002071356066541742,1.2801803268012288e-5,-2.4250382510760558e-8,0.0020715543319876706,1.3156451701310057e-5,-2.4616491549786515e-8,0.00207166551766087,1.3462116971780244e-5,-2.493246716960177e-8,0.002071719050649512,1.3674624989544023e-5,-2.5152297788431047e-8,0.0020717617377544535,1.3768431742533288e-5,-2.524915847137308e-8,0.0020718472574079074,1.374550081599251e-5,-2.5224700784713937e-8,0.0020720223622184525,1.363727582508806e-5,-2.5111195478472052e-8,0.0020723137031515636,1.3498471162329928e-5,-2.496519243244624e-8,0.002072719191338335,1.339381780152275e-5,-2.485385332221292e-8,0.002073206795757431,1.338096643139214e-5,-2.483723759380846e-8,0.0020737219362692,1.3494245133198445e-5,-2.4951381108780162e-8,0.00207420211020392,1.373455339359368e-5,-2.5197661804572466e-8,0.0020745944143773383,1.4069430089365293e-5,-2.554271199173207e-8,0.002074869746023746,1.4443723774723879e-5,-2.5929405831806994e-8,0.0020750285128816304,1.479667972622433e-5,-2.6294607590510123e-8,0.0020750966176363173,1.5078544268788864e-5,-2.6586483364644268e-8,0.0020751148669499956,1.5260889492796408e-5,-2.677529701011583e-8,0.0020751270004247535,1.5338783722705668e-5,-2.6855711891848633e-8,0.0020751704833224575,1.5326746513909972e-5,-2.684261106263222e-8,0.0020752715762822763,1.5251984116094389e-5,-2.6764080409271047e-8,0.002075444009124103,1.5147762629496005e-5,-2.6654533703698157e-8,0.002075689729548116,1.504827746606285e-5,-2.6549398220846943e-8,0.002076000366210549,1.4985082629739757e-5,-2.6481430881895264e-8,0.002076358657231711,1.498441301720375e-5,-2.6477967033587838e-8,0.0020767397992757677,1.5064587977735741e-5,-2.6558240543651232e-8,0.002077113259954405,1.5233004156103975e-5,-2.6730240753699176e-8,0.0020774459186594374,1.548284453443912e-5,-2.6987226620384064e-8,0.002077707337417931,1.5790500049088474e-5,-2.7304945193864276e-8,0.002077877261826839,1.6115682164498162e-5,-2.764165309505029e-8,0.0020779538822941765,1.6406603632449e-5,-2.7943458192743133e-8,0.0020779594398716464,1.6611353072832964e-5,-2.8156170195329946e-8,0.0020779390055978278,1.6693382219093287e-5,-2.824146792653341e-8,0.0020779502913158923,1.6645409426593984e-5,-2.8191416586278918e-8,0.002078046844161103,1.6494938438233428e-5,-2.803425405045996e-8,0.0020782610782756087,1.6297779276038386e-5,-2.782772424649056e-8,0.0020785941150732565,1.612175588363035e-5,-2.7642241561896423e-8,0.0020790159587568842,1.6027141518751153e-5,-2.754063775278662e-8,0.0020794748756735038,1.6050743503202965e-5,-2.756160492638588e-8,0.0020799118940896845,1.619791239208086e-5,-2.7711253577368164e-8,0.0020802757626315633,1.6443513592555717e-5,-2.7963924844698012e-8,0.0020805345246273253,1.674043522617959e-5,-2.8270877063799093e-8,0.002080681226938013,1.7032634096537527e-5,-2.857380300224129e-8,0.002080732951995497,1.7268943244941685e-5,-2.881925151534997e-8,0.002080724194408864,1.7413982316484317e-5,-2.8970092565580946e-8,0.0020806971435383278,1.745367834708195e-5,-2.901136620869484e-8,0.0020806920260737966,1.7394912621893336e-5,-2.8949975367327408e-8,0.002080739988704213,1.72607815502705e-5,-2.8809768850635676e-8,0.002080859515267317,1.70838985357426e-5,-2.8624560861473263e-8,0.0020810559636607064,1.6899885539921436e-5,-2.8431349761988563e-8,0.0020813230557203376,1.6742274751481572e-5,-2.8265022453786016e-8,0.0020816451171855417,1.6639033795220282e-5,-2.8154767386943654e-8,0.0020819993189068113,1.6610203007369465e-5,-2.812164312243963e-8,0.0020823577851628115,1.6665911699555345e-5,-2.817650914736122e-8,0.0020826899633292987,1.680426930790959e-5,-2.8317770861029884e-8,0.002082966018551884,1.7009150846059025e-5,-2.852896394235378e-8,0.002083162073066397,1.7248756752608075e-5,-2.8777135556946513e-8,0.0020832674579102563,1.7476932878513038e-5,-2.9014151463292816e-8,0.0020832924694833594,1.7639846001218737e-5,-2.9183675584427234e-8,0.0020832727739094805,1.7689422424584678e-5,-2.9235274256026354e-8,0.0020832653064138955,1.7601030960855478e-5,-2.9142946193151746e-8,0.0020833330245630757,1.7387646058308056e-5,-2.8919920603682593e-8,0.002083522753935488,1.7100955802243916e-5,-2.8619808329920083e-8,0.0020838468179513333,1.6815710705222776e-5,-2.8320330725747508e-8,0.002084278439419095,1.6604039049236554e-5,-2.8096659219011013e-8,0.0020847625566020353,1.6512511531122853e-5,-2.799759622144117e-8,0.002085235023267062,1.6551414097566436e-5,-2.8034351982823543e-8,0.0020856408987005555,1.6697366798988196e-5,-2.8183104552679034e-8,0.0020859461245631033,1.690450794263447e-5,-2.8396456266918066e-8,0.0020861415082864985,1.7118421130651345e-5,-2.8617819915088376e-8,0.0020862405867537945,1.7288696492304295e-5,-2.8794501922373435e-8,0.0020862736330299575,1.737809826474195e-5,-2.8887350772104285e-8,0.002086279804006059,1.7367702998098975e-5,-2.8876251011356654e-8,0.0020862990421835854,1.7258011428210435e-5,-2.8761400589556528e-8,0.002086365115922038,1.7066487746353264e-5,-2.8560802190087286e-8,0.0020865008408489875,1.682256943694604e-5,-2.8305053907286174e-8,0.002086715919263949,1.656156014476701e-5,-2.8030941270095572e-8,0.0020870071990390262,1.6318714925791584e-5,-2.7775237638634485e-8,0.0020873606761909773,1.612444436636325e-5,-2.7569706696292268e-8,0.0020877543487093165,1.6001012803300085e-5,-2.7437694306513178e-8,0.0020881612220372825,1.596050578626689e-5,-2.7392040420271822e-8,0.002088552230288847,1.6003549082607828e-5,-2.7433729548710437e-8,0.0020888992435952967,1.611837191802468e-5,-2.7550832366391624e-8,0.0020891786471092483,1.6280160651193357e-5,-2.7717702617435652e-8,0.0020893761169842166,1.6451350603092855e-5,-2.7895164399045403e-8,0.002089492678959948,1.6584503687808136e-5,-2.803347849401429e-8,0.0020895506186168747,1.6629975070205594e-5,-2.8080421596796448e-8,0.0020895956639829702,1.654957839540818e-5,-2.799570583593579e-8,0.002089690395538273,1.6333804471878623e-5,-2.7769090685971695e-8,0.002089896033722322,1.6014373257708863e-5,-2.7433529126734662e-8,0.0020902475806469254,1.5661140369289124e-5,-2.7061908434893643e-8,0.002090735796633609,1.5359270098771867e-5,-2.67432120407e-8,0.00209130859780546,1.5176778132377433e-5,-2.6548672939580005e-8,0.002091891842946931,1.5140754055244766e-5,-2.6506954770801897e-8,0.0020924165245282877,1.5233761825979138e-5,-2.660030176659009e-8,0.002092838108888907,1.5407435049015967e-5,-2.6778581186473033e-8,0.0020931426145603437,1.5602073463539797e-5,-2.697961713028947e-8,0.002093342524197185,1.576303163752042e-5,-2.7146256028244872e-8,0.0020934681224012187,1.5850536534203465e-5,-2.7236664035016808e-8,0.002093558330924372,1.584356238962605e-5,-2.7228488040135843e-8,0.002093652929189025,1.5739702587511593e-5,-2.711885649216876e-8,0.002093786585558144,1.5552692842214613e-5,-2.6921891528832596e-8,0.002093984610700063,1.530847635566744e-5,-2.6664625730728237e-8,0.002094260408522702,1.5040327883243397e-5,-2.6381866829385993e-8,0.0020946146605398033,1.4783590396206654e-5,-2.6110629573656682e-8,0.0020950361908124754,1.4570612940870071e-5,-2.5884801421741135e-8,0.002095504287982403,1.4426464136665532e-5,-2.573066979561237e-8,0.0020959920098880948,1.436589162782448e-5,-2.566378974830331e-8,0.0020964698904481064,1.4391654082877689e-5,-2.568727581986414e-8,0.002096909672107035,1.4494027260271335e-5,-2.5791262682142066e-8,0.002097287955238897,1.4651254484391914e-5,-2.595327902709219e-8,0.0020975898588619776,1.483086589384205e-5,-2.6139490483611765e-8,0.0020978129239909112,1.4992194433574303e-5,-2.6307227096703933e-8,0.002097971126731232,1.5091109530391926e-5,-2.6409931481351222e-8,0.002098097703998993,1.5088284225384236e-5,-2.6405927211233465e-8,0.002098243998954342,1.4961356647547054e-5,-2.6271336291410024e-8,0.002098470643735973,1.4718558663920096e-5,-2.601451060716538e-8,0.002098829142769062,1.4406847413029446e-5,-2.568461021728266e-8,0.002099338584112944,1.4104891981013634e-5,-2.5364227738068856e-8,0.002099970577078888,1.389718581053549e-5,-2.51422113367583e-8,0.0021006554024350413,1.3839945599057747e-5,-2.5077873022135188e-8,0.0021013089162565824,1.3939075366767634e-5,-2.5177804466452004e-8,0.0021018642410454017,1.4152966541286029e-5,-2.5398697748388907e-8,0.002102290544234685,1.4414719463911722e-5,-2.5670555129297722e-8,0.002102593458372229,1.4657717276490355e-5,-2.5923475251490083e-8,0.002102803823419274,1.4832523419603329e-5,-2.610539494337901e-8,0.002102963997051854,1.4912874042482475e-5,-2.6188440763515092e-8,0.00210311701985688,1.489429901720448e-5,-2.6167581509441245e-8,0.00210329981316489,1.4789514144286761e-5,-2.605589711490424e-8,0.0021035395604685125,1.4623216960515582e-5,-2.5879181897882027e-8,0.002103852012857229,1.4427256816148642e-5,-2.5670874573032203e-8,0.0021042409306866908,1.4236166858646234e-5,-2.546731313778813e-8,0.002104698454320543,1.4082882456060734e-5,-2.53031751996881e-8,0.0021052064752133293,1.3994654154339699e-5,-2.5207158431920774e-8,0.0021057391315831625,1.3989407920046565e-5,-2.519818244598461e-8,0.002106266387320575,1.4073050130678136e-5,-2.5282607415599342e-8,0.002106758334830071,1.423820083636465e-5,-2.5452924691916057e-8,0.0021071897012097697,1.4464569256647e-5,-2.568810271807864e-8,0.0021075440763852053,1.4720984983073159e-5,-2.5955605114652786e-8,0.002107817455023985,1.4968991587208612e-5,-2.6215033812032676e-8,0.0021080207898770947,1.5167881763610569e-5,-2.6423345985019315e-8,0.0021081811782254606,1.52812712911579e-5,-2.6541802838830476e-8,0.002108340721814446,1.5285367127017497e-5,-2.6544815228638046e-8,0.002108551393130802,1.5178224387244792e-5,-2.6429882679400344e-8,0.0021088642657054028,1.4987405902763008e-5,-2.6225817522741596e-8,0.0021093131823441873,1.477109413125047e-5,-2.5993980396136906e-8,0.0021098973634679687,1.4606796678395606e-5,-2.5816350529623914e-8,0.0021105729078048107,1.4566334520348138e-5,-2.5769076832392603e-8,0.0021112628777701157,1.4686483996552583e-5,-2.589140375989459e-8,0.002111884963727069,1.49524858304974e-5,-2.616814292368397e-8,0.0021123820416213326,1.530564027223351e-5,-2.653758083888853e-8,0.002112738443062604,1.566943862865359e-5,-2.6919021383359056e-8,0.0021129763380782042,1.597734406587063e-5,-2.7242128079128386e-8,0.002113139906608551,1.6188913189144726e-5,-2.7463982116337144e-8,0.0021132785147635735,1.6292255587917617e-5,-2.7571731956963736e-8,0.002113435244892276,1.6298231436790853e-5,-2.7576542617677282e-8,0.002113641467647694,1.623231108640538e-5,-2.750507948119659e-8,0.0021139155020888497,1.612742596429646e-5,-2.739200662875825e-8,0.002114263195353226,1.601868102419684e-5,-2.7274398004963558e-8,0.002114679097938746,1.5939462619916927e-5,-2.7187584649230205e-8,0.002115147857818045,1.591820498712063e-5,-2.7161697731839154e-8,0.0021156460082405507,1.5975354031712748e-5,-2.7218453269601503e-8,0.0021161445333496127,1.6120489838517026e-5,-2.736813658476198e-8,0.002116612541248858,1.6350066999505276e-5,-2.7607239032229045e-8,0.002117021983644663,1.6646569377117553e-5,-2.791754490148783e-8,0.002117352837098394,1.697979911393296e-5,-2.826741083990463e-8,0.0021175978015787107,1.731065634053247e-5,-2.8615637817191073e-8,0.00211776543378165,1.759725263509948e-5,-2.8917829165943654e-8,0.002117880769420787,1.7802584133189674e-5,-2.9134478291953385e-8,0.002117982886203447,1.7902584529889876e-5,-2.9239569317390042e-8,0.002118119198387002,1.7893289828263934e-5,-2.922832774864068e-8,0.002118336487991736,1.7795584944785858e-5,-2.9122440610658274e-8,0.0021186692843823997,1.7655389538035962e-5,-2.8970402749374115e-8,0.0021191276345471233,1.7536852324466382e-5,-2.8840362727093884e-8,0.0021196884143433207,1.7507199823531867e-5,-2.880401634238384e-8,0.002120295925762307,1.7615411346021366e-5,-2.8913861014445143e-8,0.0021208758106100725,1.787247903713528e-5,-2.9182079529307654e-8,0.002121359406182991,1.8244267405424016e-5,-2.9572807067690778e-8,0.0021217074721560777,1.8663209769622012e-5,-3.0014474124992184e-8,0.0021219209004431955,1.905356541542978e-5,-3.042663828206199e-8,0.0021220343298265485,1.9356536768551152e-5,-3.0746705244532125e-8,0.002122099166839674,1.954377814105041e-5,-3.094431491310143e-8,0.002122166330543905,1.9617217855782224e-5,-3.102119259421685e-8,0.0021222752180405586,1.9600531064406503e-5,-3.100215517299388e-8,0.002122449658514504,1.952878967527067e-5,-3.092419165467688e-8,0.0021226984612435964,1.9440127761138346e-5,-3.082765962692926e-8,0.002123017846957808,1.9370314072744265e-5,-3.075052790344494e-8,0.0021233940681903195,1.934948928989278e-5,-3.0724888774326296e-8,0.0021238056794888474,1.9399952935627528e-5,-3.077458440678296e-8,0.002124225682580438,1.9534193054597844e-5,-3.091310551719368e-8,0.002124624113565031,1.9752886458047202e-5,-3.1141464105636413e-8,0.002124971655833702,2.0043233580223036e-5,-3.144639940286134e-8,0.00212524450155675,2.037859705176521e-5,-3.179992728445566e-8,0.002125429949440885,2.0720660307119964e-5,-3.216153381034379e-8,0.0021255313735390655,2.1024952911718785e-5,-3.2483951488909524e-8,0.0021255706390746042,2.1249553405534983e-5,-3.272236244662322e-8,0.0021255862274255134,2.136531580176944e-5,-3.284530096658392e-8,0.002125626472329969,2.136477599867833e-5,-3.2844230643420137e-8,0.0021257389764561077,2.1266765123494018e-5,-3.273861136499655e-8,0.0021259586471253046,2.1114766388613177e-5,-3.2574325849611996e-8,0.0021262973922635143,2.0968604798671925e-5,-3.241497651320302e-8,0.0021267384416393392,2.0890666115759917e-5,-3.2327268627746654e-8,0.0021272376715695132,2.0929425811587144e-5,-3.236339970670092e-8,0.002127733046172089,2.110460424404699e-5,-3.2545061768599696e-8,0.00212816092546539,2.1399236109442378e-5,-3.2854762929754035e-8,0.0021284746737500223,2.176302809822261e-5,-3.3239236614057686e-8,0.002128658496133636,2.212740460159936e-5,-3.362543623506609e-8,0.0021287304336883744,2.2426834845535454e-5,-3.3943333219980947e-8,0.0021287335646911943,2.2617434207905126e-5,-3.414584047635682e-8,0.0021287204228760234,2.2685679731977404e-5,-3.421817395035784e-8,0.0021287380406940413,2.264602236182866e-5,-3.417535947240264e-8,0.002128818715188701,2.2531501692113913e-5,-3.4052283410800604e-8,0.002128977344015476,2.2382911676892006e-5,-3.3892197642410027e-8,0.002129213263803856,2.2240213464310166e-5,-3.373760006185234e-8,0.0021295139322477768,2.2137245808817076e-5,-3.362460002842891e-8,0.0021298586205894944,2.2099046795842652e-5,-3.358004972356987e-8,0.0021302214146577676,2.2140545104573738e-5,-3.362013028869592e-8,0.0021305737006618716,2.2265607580957118e-5,-3.374931398457121e-8,0.0021308867762918587,2.2466010723704024e-5,-3.39592257518173e-8,0.002131135293920836,2.2720594046935103e-5,-3.4227667717305434e-8,0.0021313019334212695,2.2995565753170124e-5,-3.451884933521096e-8,0.0021313829342262734,2.3247460182788705e-5,-3.4786456209133385e-8,0.0021313929103826883,2.3430080081429465e-5,-3.4981018338903236e-8,0.0021313662623369065,2.35053775592328e-5,-3.506154647311194e-8,0.002131352534668617,2.3455775394926864e-5,-3.500875472352498e-8,0.0021314050619435174,2.3293157757724045e-5,-3.483475480248656e-8,0.0021315656878382726,2.305959461858975e-5,-3.458394904972025e-8,0.002131851148769884,2.2817817875395575e-5,-3.432300884872676e-8,0.002132246675708553,2.2634145895239077e-5,-3.412278123476084e-8,0.0021327093056224787,2.255991732479814e-5,-3.4038512859965103e-8,0.0021331794386085386,2.261762912569421e-5,-3.4094941293936804e-8,0.002133596614516856,2.2795606804280943e-5,-3.4280365800889207e-8,0.0021339148569076657,2.3052078776754165e-5,-3.455073970041519e-8,0.0021341135296762083,2.3327034579694484e-5,-3.484217778475803e-8,0.0021342009716787884,2.355832491670355e-5,-3.508814955727273e-8,0.0021342101969445745,2.3697300658380293e-5,-3.523629751598651e-8,0.0021341884075972216,2.3719450332254015e-5,-3.525994944230765e-8,0.002134184081791398,2.3627331849970435e-5,-3.5161372712859956e-8,0.002134235900463689,2.3446066878692636e-5,-3.4967036409302774e-8,0.0021343663946126897,2.321429430328426e-5,-3.471798296710547e-8,0.0021345807976598918,2.2974350116389325e-5,-3.4459344612988514e-8,0.0021348696549837566,2.2764450779378168e-5,-3.4231980765256686e-8,0.0021352131046345666,2.2613905870942357e-5,-3.4067347153649095e-8,0.0021355851791665065,2.25409643711599e-5,-3.398518306415485e-8,0.002135957353588875,2.255223300982052e-5,-3.3992879723749303e-8,0.0021363013822437923,2.264265540717151e-5,-3.408542886166249e-8,0.0021365919676518924,2.279553658100697e-5,-3.4245382178955386e-8,0.0021368099415358917,2.298274820199354e-5,-3.444296877039347e-8,0.0021369464146205742,2.3165964903851673e-5,-3.463731317033913e-8,0.0021370076236995232,2.3300428516159704e-5,-3.4780406073762714e-8,0.0021370188901841084,2.334275576213467e-5,-3.482548254690987e-8,0.002137024662802771,2.3262920180390915e-5,-3.473993474880969e-8,0.0021370813223880038,2.3057492795026685e-5,-3.451958523389752e-8,0.002137241889275746,2.2757801904735166e-5,-3.41974981982623e-8,0.0021375370262618257,2.2426116340509338e-5,-3.3839966919214845e-8,0.002137961316631726,2.213800200907653e-5,-3.3527737842564464e-8,0.0021384728126343628,2.1957459800264673e-5,-3.332951347872889e-8,0.002139006670366777,2.191643370582827e-5,-3.3280036206354196e-8,0.0021394959229136664,2.2007302232413204e-5,-3.3371904617377737e-8,0.0021398901271324055,2.2189143712365275e-5,-3.3562023526722955e-8,0.002140166006414651,2.2402515162981413e-5,-3.378718549615929e-8,0.002140329077781706,2.2586184572995143e-5,-3.398186921720036e-8,0.0021404083035632985,2.2691063196128188e-5,-3.409319354061641e-8,0.002140446731689183,2.2688976940126358e-5,-3.409045739764433e-8,0.002140490895281052,2.2575699890952926e-5,-3.396857223236857e-8,0.0021405812375513067,2.2368761539972847e-5,-3.374586429282327e-8,0.002140745261299301,2.21013187905107e-5,-3.345758704823717e-8,0.002140994332456639,2.181402372302832e-5,-3.314720913566537e-8,0.002141324077070165,2.15469856889004e-5,-3.285775427864785e-8,0.002141717448243737,2.1333424920190157e-5,-3.262494699138589e-8,0.0021421491254591573,2.1195757227350775e-5,-3.247299004550511e-8,0.0021425900057506363,2.1143998775028036e-5,-3.2412859574264454e-8,0.002143011062769476,2.117578153748411e-5,-3.2442332125159627e-8,0.0021433864887417924,2.1277166088685482e-5,-3.254683206575627e-8,0.0021436964440635616,2.142377656843826e-5,-3.270056832632809e-8,0.0021439298869587705,2.1582271289495213e-5,-3.2867992137633203e-8,0.0021440878674806683,2.1712763255525305e-5,-3.3006289361086e-8,0.002144187054590783,2.1773439803346106e-5,-3.3070310510598916e-8,0.002144262009093983,2.172867744059509e-5,-3.302135431596869e-8,0.002144363336494184,2.156066898233932e-5,-3.2839788635029706e-8,0.0021445484486645283,2.128161554298987e-5,-3.253826914107641e-8,0.0021448640499980975,2.093968006406232e-5,-3.216820242252745e-8,0.0021453256085358927,2.0610778355504582e-5,-3.181096877059883e-8,0.002145905198301666,2.0374493068902587e-5,-3.155211428654284e-8,0.00214653761622983,2.028404497865664e-5,-3.144915450204835e-8,0.002147143609271417,2.0346789600608755e-5,-3.151058660106004e-8,0.0021476575414585346,2.0525272704293914e-5,-3.1696854344447995e-8,0.002148045581613403,2.0755200980876327e-5,-3.193942834876001e-8,0.0021483090662633483,2.0968393190590092e-5,-3.2165288983192186e-8,0.002148476685362016,2.111059951237463e-5,-3.231601401750927e-8,0.002148592188673189,2.115054857145032e-5,-3.235756967674147e-8,0.0021487026050471423,2.108140192452833e-5,-3.2282037014221544e-8,0.002148849218208448,2.091738286919093e-5,-3.2104180012498956e-8,0.0021490617141141114,2.0687943158359667e-5,-3.185531826563116e-8,0.0021493552248900965,2.043093865495207e-5,-3.1576037272193084e-8,0.0021497299103959574,2.018578295980443e-5,-3.1308781112487576e-8,0.0021501726730506327,1.99873898678633e-5,-3.109124846202539e-8,0.0021506604730088547,1.986152543363258e-5,-3.0951322070678607e-8,0.0021511645783630928,1.9821951349432184e-5,-3.0903980935864254e-8,0.0021516549924586936,1.986945352369192e-5,-3.0950285248140185e-8,0.0021521044365688485,1.9992440843010033e-5,-3.107804747030246e-8,0.0021524916686676407,2.016856874486101e-5,-3.126355090492214e-8,0.0021528042317079527,2.0367018571783807e-5,-3.147390414350625e-8,0.002153040804545645,2.0551375958833374e-5,-3.167000555671362e-8,0.002153213305985311,2.0683403675124328e-5,-3.181050955508008e-8,0.002153348503797179,2.0728467991859314e-5,-3.185767901736995e-8,0.002153487865791758,2.06633838486928e-5,-3.178596101433709e-8,0.002153683336498533,2.0486260716953912e-5,-3.159278162166714e-8,0.0021539866168050876,2.022543685029994e-5,-3.130833435668043e-8,0.0021544317139913717,1.9941401323367558e-5,-3.099772567279643e-8,0.0021550161923323133,1.9714632358069782e-5,-3.074786370682314e-8,0.002155692720036186,1.961840203113644e-5,-3.0638105864892124e-8,0.0021563809762338523,1.9688010875520684e-5,-3.070702518398803e-8,0.0021569972223773057,1.990511081944595e-5,-3.0935392402114285e-8,0.002157485124027573,2.0207307545267066e-5,-3.125638734645144e-8,0.002157830955696959,2.0515501898373752e-5,-3.1584963952577884e-8,0.0021580591073866546,2.0761657983135865e-5,-3.1847730058857165e-8,0.0021582161445200332,2.0904745124936695e-5,-3.200013957830926e-8,0.0021583539825240404,2.0933500471754782e-5,-3.20295538061186e-8,0.0021585179343003775,2.0861021855106574e-5,-3.194956386357729e-8,0.0021587404344839763,2.071653038410741e-5,-3.179127525102121e-8,0.0021590389475030915,2.0537441620192218e-5,-3.159486520542445e-8,0.0021594163239126024,2.0362778417702688e-5,-3.140248197378161e-8,0.002159862527034524,2.02278948399552e-5,-3.12524698579826e-8,0.002160357285130327,2.0160345669093216e-5,-3.117480508185589e-8,0.002160873478204498,2.017687657565958e-5,-3.1187780101922056e-8,0.002161381090914999,2.028164028054539e-5,-3.1296077539601465e-8,0.0021618514304895253,2.0465857833124282e-5,-3.1490443368311834e-8,0.0021622611359319007,2.0709012451658273e-5,-3.174899334089471e-8,0.002162595566211041,2.0981352258249935e-5,-3.203986438715612e-8,0.0021628513653473066,2.1247405686018214e-5,-3.232489338007879e-8,0.0021630380775924086,2.1470340095996585e-5,-3.256419591015205e-8,0.0021631786722644116,2.1617083222566323e-5,-3.272164177108625e-8,0.00216330868415945,2.1664275769114177e-5,-3.277135694153426e-8,0.0021634731281762807,2.1605065487863532e-5,-3.2705257492733154e-8,0.0021637197852005,2.1455812436603205e-5,-3.254053477237097e-8,0.0021640877997709013,2.1259948537739125e-5,-3.232400898296171e-8,0.002164592603377122,2.108438739205041e-5,-3.212829934769005e-8,0.0021652124263154904,2.1004045458292953e-5,-3.2034996857797784e-8,0.002165885927123784,2.107545579977581e-5,-3.21059404679378e-8,0.002166528501769656,2.1310646054636276e-5,-3.235474767326647e-8,0.0021670632549307834,2.1668132745757332e-5,-3.273691349900394e-8,0.0021674499574846086,2.2069275229952522e-5,-3.3167461209084994e-8,0.002167695398646148,2.2430414143251984e-5,-3.355576152777364e-8,0.0021678424617177497,2.2691454458900874e-5,-3.383651203996052e-8,0.002167948850623929,2.2828166985303557e-5,-3.398307877885336e-8,0.0021680682294110717,2.2848871903014454e-5,-3.400396925492826e-8,0.002168239621410091,2.2783477264658934e-5,-3.393109259567893e-8,0.0021684843405062296,2.2671975588932204e-5,-3.380744770218485e-8,0.0021688073255370847,2.2555681481195456e-5,-3.367771500329707e-8,0.0021692001470083005,2.247154601714925e-5,-3.358207900819488e-8,0.0021696442585630864,2.2448607182279223e-5,-3.355228837104354e-8,0.0021701141864079454,2.250565226458912e-5,-3.360901884393857e-8,0.0021705808201399487,2.2649663627314837e-5,-3.376013066261044e-8,0.002171014994842116,2.2875029470842755e-5,-3.399981066861581e-8,0.0021713914000250586,2.3163823595123173e-5,-3.430889349840126e-8,0.002171692521788873,2.348758011808522e-5,-3.4656770876542255e-8,0.0021719120261017694,2.381072758144914e-5,-3.500503838425244e-8,0.002172056961163761,2.4095477309522668e-5,-3.531268029929626e-8,0.002172148267756013,2.430773141450824e-5,-3.5542386815216575e-8,0.0021722192183669113,2.4423369339532766e-5,-3.5667380799741086e-8,0.0021723115797911727,2.443412716691192e-5,-3.567793407850738e-8,0.002172469370856416,2.435222243916228e-5,-3.558662383347489e-8,0.002172730141133899,2.4212483806263987e-5,-3.5430893243344456e-8,0.0021731143123856107,2.406994280862633e-5,-3.527059410845282e-8,0.0021736147553494305,2.399049051461565e-5,-3.517783640369402e-8,0.0021741911382967354,2.4033616638707532e-5,-3.5218066388396594e-8,0.0021747750128882433,2.4230582571380168e-5,-3.542607458320517e-8,0.0021752887669595176,2.4567528571206925e-5,-3.5787372573666643e-8,0.002175673052155437,2.49852415759974e-5,-3.623781078312394e-8,0.002175908854725856,2.5399662837313294e-5,-3.668591393596756e-8,0.0021760215228088064,2.5733306593570758e-5,-3.704716213606398e-8,0.002176065901163682,2.5940343519971294e-5,-3.727134201842648e-8,0.0021761034783204496,2.6014370722419524e-5,-3.735101978943853e-8,0.0021761840080405325,2.598057227504093e-5,-3.731306905929495e-8,0.0021763370696546024,2.5881272618678495e-5,-3.7203079961238056e-8,0.002176571964578955,2.5762734966788867e-5,-3.7071131130532555e-8,0.002176881812643163,2.5666444320064544e-5,-3.6962369095902545e-8,0.002177248530362033,2.562462645803108e-5,-3.6912097310867254e-8,0.0021776471185262275,2.56583990067598e-5,-3.694366624460091e-8,0.0021780490847102727,2.577707907708006e-5,-3.706762059466764e-8,0.002178425470464016,2.5977906113517757e-5,-3.7281338682605485e-8,0.002178749995054507,2.6246122306122735e-5,-3.7569099018844795e-8,0.00217900258816672,2.6555835903572176e-5,-3.7903003824289374e-8,0.0021791731432856958,2.687235363923373e-5,-3.8245472427078433e-8,0.002179264774642755,2.715651610226576e-5,-3.8553882093067663e-8,0.0021792954993946666,2.737100012726711e-5,-3.878734993897014e-8,0.0021792972905228126,2.7487801409019163e-5,-3.891485525836279e-8,0.0021793118845096627,2.7495392292255558e-5,-3.8923106738733907e-8,0.0021793835257311045,2.740366279969572e-5,-3.8822101383632065e-8,0.0021795497062576503,2.7244969924330507e-5,-3.864650695887784e-8,0.0021798315902990814,2.70702521421955e-5,-3.845164962605757e-8,0.0021802262299320907,2.693987847972113e-5,-3.8303651911103566e-8,0.0021807030536763806,2.6909868400577606e-5,-3.826434729027413e-8,0.002181207209043901,2.7015773686396604e-5,-3.837346895969279e-8,0.002181671386070132,2.7258810728352984e-5,-3.8633200520179275e-8,0.0021820347882051537,2.7600628586197033e-5,-3.9002200115334744e-8,0.002182263235355336,2.7971926183414146e-5,-3.940491263576584e-8,0.0021823611556105044,2.829417321789066e-5,-3.9755366604696456e-8,0.0021823687183090976,2.8505597620353956e-5,-3.9985695960752894e-8,0.002182345504518596,2.8579166128070304e-5,-4.006587420492795e-8,0.00218234968005574,2.852535965389795e-5,-4.000679786407413e-8,0.0021824224556048176,2.838187447749541e-5,-3.984911376569704e-8,0.0021825822079256305,2.8198197432587352e-5,-3.964648840870845e-8,0.002182826606343748,2.802230424969246e-5,-3.9451180587015695e-8,0.0021831385394179867,2.7892584515013404e-5,-3.930524420287103e-8,0.002183492363313434,2.7834558372804433e-5,-3.9236882225582924e-8,0.00218385884397354,2.7860496490932013e-5,-3.9259933128383583e-8,0.0021842086588251997,2.7970168372585447e-5,-3.937460019364952e-8,0.0021845150758582356,2.815172900254157e-5,-3.956836422313752e-8,0.0021847565668936496,2.838260505830918e-5,-3.9816914283289737e-8,0.002184919839335821,2.8630898322059892e-5,-4.0085638458821643e-8,0.002185003215576358,2.885819450463714e-5,-4.033263381846127e-8,0.00218501956630861,2.9024619642616696e-5,-4.0514173513386934e-8,0.002184997331671042,2.9096343678574037e-5,-4.0592881414629923e-8,0.0021849779434766005,2.9054458176741742e-5,-4.054747138967016e-8,0.0021850086809995705,2.890265974050007e-5,-4.0381253019101765e-8,0.0021851317555203866,2.867039550492026e-5,-4.012573894978999e-8,0.002185372477190764,2.8408972654841787e-5,-3.983659301605007e-8,0.002185730455124099,2.8180528313815657e-5,-3.958174677758403e-8,0.0021861771693066417,2.804251014407566e-5,-3.942450075684918e-8,0.002186661265337064,2.803206489062113e-5,-3.940634962351665e-8,0.0021871205644257144,2.8154906091556042e-5,-3.953453886956924e-8,0.0021874978725242504,2.8382145494403323e-5,-3.977826745766282e-8,0.002187756423815575,2.865671184733779e-5,-4.0075466582978284e-8,0.0021878902551987,2.8908425992492547e-5,-4.0349239996036213E-08,0.0021879255831569328,2.907366219308399e-5,-4.052949755270081e-8,0.002187912085216684,2.9112986253584563e-5,-4.057244739063578e-8,0.0021879072199879612,2.9020292931549317e-5,-4.0470759660277784E-08,0.0021879598630596396,2.8820635503511565e-5,-4.025130399634947e-8,0.0021880992812219192,2.855917509608077e-5,-3.996313733776403e-8,0.002188332056726784,2.8287020621832985e-5,-3.9662060963515264e-8,0.0021886456060208528,2.804939262502735e-5,-3.9397673106991304e-8,0.0021890148819920466,2.7878715380127772e-5,-3.9205757381181164e-8,0.002189409156221178,2.7792378102702624e-5,-3.9105747978824426e-8,0.0021897972687176166,2.7793455583849522e-5,-3.9101439536603146e-8,0.0021901511374968234,2.7872602070577086e-5,-3.9183008468822456e-8,0.0021904481235000325,2.80099950384596e-5,-3.932910624744156e-8,0.002190673074057688,2.8177065500827853e-5,-3.950871255388833e-8,0.0021908206554662854,2.8338483116444323e-5,-3.9683248872783535e-8,0.002190898034144987,2.8455330491275332e-5,-3.980999342254779e-8,0.002190927155960091,2.8490498477234655e-5,-3.9847964078533655e-8,0.0021909449561215767,2.841676049523602e-5,-3.9766800450551744e-8,0.002190999293289918,2.8226395593368268e-5,-3.955740530076425e-8,0.0021911391604951622,2.7938931175521973e-5,-3.924055987672371e-8,0.0021914004248092763,2.7602074739011113e-5,-3.886808440988153e-8,0.00219179202133541,2.7282286475806473e-5,-3.851264350198292e-8,0.002192289357213238,2.704625873866707e-5,-3.82475557684289e-8,0.0021928392696263337,2.6940105864173445e-5,-3.812399760810237e-8,0.0021933752027235077,2.697500409955819e-5,-3.815512007691709e-8,0.002193836370061701,2.712470614302269e-5,-3.8313049345572726e-8,0.0021941837606845793,2.7334592335765326e-5,-3.8538514178115646e-8,0.0021944084668189573,2.753776194502866e-5,-3.875830475133487e-8,0.002194531286417225,2.7672583796492192e-5,-3.890450991618433e-8,0.002194595052600508,2.769704623340426e-5,-3.893040017878978e-8,0.0021946525033668582,2.759686253141467e-5,-3.881953924029014e-8,0.002194753120305771,2.7386090076476726e-5,-3.858667842959779e-8,0.0021949323250686314,2.7100914061041817e-5,-3.82710888669168e-8,0.0021952055424206626,2.678902702000713e-5,-3.792497063521771e-8,0.0021955679291575467,2.6498107213706706e-5,-3.760078207771899e-8,0.0021959986568907772,2.626660204683497e-5,-3.73410335002723e-8,0.0021964674766541165,2.6118501228737073e-5,-3.7172439057852775e-8,0.0021969413113013753,2.60620374695922e-5,-3.7104408935529385e-8,0.0021973894608135576,2.6091132908844254e-5,-3.7130604436828466e-8,0.00219778705276762,2.6188108161646412e-5,-3.7231911539965425e-8,0.0021981171577645352,2.6326541689641457e-5,-3.7379570709525906e-8,0.0021983722862443157,2.647389410124768e-5,-3.753800898406534e-8,0.0021985558494707763,2.6594192238440678e-5,-3.766770585522208e-8,0.0021986837479933113,2.6651537795907375e-5,-3.772898009889921e-8,0.0021987855132714115,2.6615420265459276e-5,-3.76878288712398e-8,0.0021989034252902504,2.646839864760911e-5,-3.752446513210713e-8,0.002199087291365176,2.621516384114665e-5,-3.7243437839789706e-8,0.002199383129417582,2.588937576288623e-5,-3.688130790905145e-8,0.0021998169911259277,2.555241378810931e-5,-3.650538638656394e-8,0.0022003802001003703,2.5279351320183844e-5,-3.619836871761591e-8,0.0022010254563611044,2.513422877506996e-5,-3.603114654032077e-8,0.002201679461595271,2.5145548720641303e-5,-3.603578324988553e-8,0.0022022676262901954,2.5295397762231912e-5,-3.619337702747384e-8,0.0022027384098715387,2.552770043771887e-5,-3.6442911016991864e-8,0.0022030761947726936,2.5769490088737933e-5,-3.6704451465803936e-8,0.0022032999837505608,2.5953710056367697e-5,-3.690413133727294e-8,0.002203452495899009,2.6035101872089713e-5,-3.699166081129466e-8,0.00220358608653898,2.5996726968420892e-5,-3.6947657521712005e-8,0.0022037500668679825,2.584868135819004e-5,-3.678246540474378e-8,0.0022039815599960576,2.562183741456571e-5,-3.6529498934363496e-8,0.0022043004146107474,2.5359154396673204e-5,-3.6235824598435174e-8,0.0022047079845341367,2.510642092784503e-5,-3.595198121736966e-8,0.002205189271399241,2.490392157422305e-5,-3.5722695471243174e-8,0.0022057175485827437,2.4780291065975067e-5,-3.557995202152093e-8,0.002206260229099632,2.4749273402388118E-05,-3.553929040719807e-8,0.0022067847011294868,2.4809362891213233e-5,-3.559935513770356e-8,0.002207263133432532,2.494571788740346e-5,-3.574402276444476e-8,0.0022076757646234684,2.5133391696059046e-5,-3.594599847110066e-8,0.0022080127950028375,2.534094893318031e-5,-3.61707958606488e-8,0.0022082753512539274,2.5533983406702185e-5,-3.6380543421501094e-8,0.0022084759594946783,2.5678586499651885e-5,-3.653770547250637e-8,0.0022086387115195184,2.5745202620986414e-5,-3.6609273231779453e-8,0.002208798772150077,2.5713550443386234e-5,-3.6572240060008746e-8,0.002208999993716592,2.557900040024047e-5,-3.6420802882875486e-8,0.0022092887458073814,2.5359488384672675e-5,-3.6174216899908184e-8,0.0022097025167608603,2.5099812062111692e-5,-3.588172643050776e-8,0.0022102543881308777,2.4867936743048755e-5,-3.56185625830845e-8,0.0022109195242995543,2.4738476511340537e-5,-3.5467648422950415e-8,0.002211634051687777,2.4765337819048855e-5,-3.5489237515539794e-8,0.002212313150289902,2.495636083716276e-5,-3.5692713187243686e-8,0.0022128823429647753,2.526671790565515e-5,-3.602912278257172e-8,0.0022133046472050132,2.5616981016093155e-5,-3.641102991172894e-8,0.0022135888531115686,2.5924578071327065e-5,-3.6747220225829005e-8,0.0022137783155401383,2.6130440340332528e-5,-3.69721280559337e-8,0.0022139309577410685,2.6210438172246873e-5,-3.705850643683236e-8,0.0022141014474845195,2.6172901848814536e-5,-3.7014821330468624e-8,0.0022143303324376486,2.604895373490618e-5,-3.687478915277662e-8,0.002214639802017609,2.5881451700368056e-5,-3.668537821684993e-8,0.0022150338963010646,2.5715502764954452e-5,-3.649643735626844e-8,0.0022155011447347337,2.5591302194405776e-5,-3.6352737563078843e-8,0.0022160184567097205,2.553907975187675e-5,-3.628822151576024e-8,0.0022165557263009628,2.5575938852458807e-5,-3.63223191891732e-8,0.0022170807551756427,2.5704576800506107e-5,-3.6458407892383054e-8,0.002217564030701961,2.591385422119361e-5,-3.668441906146322e-8,0.0022179828448299827,2.6181049859668053e-5,-3.697537858622144e-8,0.0022183242804138395,2.6475407977684876e-5,-3.729737331333177e-8,0.002218586851652362,2.6762362021212276e-5,-3.7612202106384365e-8,0.002218780907528584,2.7007899392426868e-5,-3.7882116402540654e-8,0.00221892800983572,2.718282261799535e-5,-3.807443917791746e-8,0.0022190594291572868,2.7266897794539164e-5,-3.816614008581418e-8,0.002219213643884262,2.7253074171586324e-5,-3.814862701576736e-8,0.0022194321448706397,2.7151812912431053e-5,-3.8032782192625904e-8,0.0022197524438374,2.699457943246866e-5,-3.785310248538782e-8,0.0022201977516507457,2.6834004944931882e-5,-3.7668058896544666e-8,0.0022207647596439554,2.6736960739406968e-5,-3.755241769514929e-8,0.002221414588087056,2.6767401671111417e-5,-3.757801963905858e-8,0.0022220754445295104,2.696116773143545e-5,-3.778551747050506e-8,0.002222662982074354,2.7304481080951647e-5,-3.81602371398771e-8,0.002223112492580615,2.7732335963690483e-5,-3.8630272100101265e-8,0.0022234048892087036,2.815262001038408e-5,-3.9093316095525206e-8,0.002223570353579146,2.8482812379548647e-5,-3.9457507211628694e-8,0.0022236698422765312,2.8677471002609632e-5,-3.9671972494411865e-8,0.002223768955546225,2.8734606819302868e-5,-3.973390147896533e-8,0.002223918561912486,2.8685068606721128e-5,-3.9676852435000445e-8,0.002224146947177898,2.857614254949019e-5,-3.955275079853739e-8,0.002224460584546953,2.8457539680318737e-5,-3.9416539001133896e-8,0.0022248488878112726,2.8372409677147155e-5,-3.931628151961653e-8,0.0022252897394614136,2.8352697862785916e-5,-3.9287926512737694e-8,0.002225754439448891,2.8417200189247082e-5,-3.9352956850409215e-8,0.0022262119752000306,2.8571064147124517e-5,-3.9517646409515605e-8,0.0022266329015272588,2.8806246946617162e-5,-3.977346217838114e-8,0.002226992971723243,2.9102919767945163e-5,-4.009861614536306e-8,0.002227276408541931,2.9431986686848863e-5,-4.046090776146395e-8,0.002227478443459657,2.975881765135786e-5,-4.082189498635584e-8,0.0022276066367046955,3.00479536480172e-5,-4.114208286135804e-8,0.0022276806541805206,3.0268246647568305e-5,-4.1386550741833944e-8,0.0022277304168021564,3.0397850263698415e-5,-4.153044218187168e-8,0.0022277927064168696,3.0428497299104088e-5,-4.1563769098494404e-8,0.0022279064138012593,3.036858246513481e-5,-4.149502940286735e-8,0.002228106506621653,3.0244655302837534e-5,-4.13531517818982e-8,0.0022284166785792644,3.0100550888706932e-5,-4.1186794221321944e-8,0.0022288411897262855,2.9992625796661267e-5,-4.10591614928939e-8,0.0022293578310589434,2.997937361758266e-5,-4.1036340003927136e-8,0.002229915827113162,3.0105006870106393e-5,-4.116870189588894e-8,0.0022304437011137785,3.0380336855881893e-5,-4.146920822621145e-8,0.0022308696821551816,3.0770008843180174e-5,-4.189889481023213e-8,0.0022311489278408515,3.119747911794132e-5,-4.237238494059883e-8,0.002231282975267909,3.157105128869589e-5,-4.278709882978031e-8,0.0022313182697664352,3.181892335039289e-5,-4.3062523712161575e-8,0.0022313244787628863,3.1913280890993805e-5,-4.316712531818715e-8,0.0022313668866389517,3.187208721013959e-5,-4.312031825412391e-8,0.0022314877691962513,3.174329917730292e-5,-4.297493790279011e-8,0.0022317016189136243,3.1584440533183345e-5,-4.2794660080913634e-8,0.0022320000376087473,3.1447193001066374e-5,-4.263700565313382e-8,0.0022323599775302527,3.1369544649942365e-5,-4.2544629399779314e-8,0.0022327512669868426,3.13736485445689e-5,-4.254281430583861e-8,0.0022331420789577098,3.146660704082846e-5,-4.264014632464142e-8,0.002233502662649728,3.164221547907365e-5,-4.283028278424188e-8,0.0022338081602597494,3.188287847991798e-5,-4.309400116155361e-8,0.0022340411058888376,3.216172283638613e-5,-4.340155202858812e-8,0.002234193788318541,3.244531827001491e-5,-4.371572186288535e-8,0.002234270215537642,3.269748772071455e-5,-4.399608728756532e-8,0.0022342870174345488,3.288434625146084e-5,-4.4204595810092806e-8,0.0022342725300309807,3.298010211189754e-5,-4.431198509478476e-8,0.00223426358719864,3.297265366270278e-5,-4.430402838113176e-8,0.002234300042169446,3.28677210223566e-5,-4.4186255163092324e-8,0.0022344176501358816,3.269023712664952e-5,-4.398572890389884e-8,0.0022346404530500393,3.248215526411121e-5,-4.374887676761402e-8,0.0022349739993351363,3.229642695778004e-5,-4.3534981383312984e-8,0.002235400846601725,3.218729338221004e-5,-4.3405375317758714e-8,0.0022358801294424515,3.2197598996961654e-5,-4.3409074494626946e-8,0.0022363531613351687,3.234518444318427e-5,-4.356719715545998e-8,0.0022367562584270713,3.26124404623423e-5,-4.386088239969612e-8,0.002237039364916164,3.2944799036726895e-5,-4.4229360674700297e-8,0.002237184585255663,3.3263008754100455e-5,-4.458371191536925e-8,0.0022372152097443723,3.348808466964168e-5,-4.4835003790813605e-8,0.002237188268790842,3.356890037152168e-5,-4.492538522979582e-8,0.002237172973766367,3.3498373396684425e-5,-4.4846285550617134e-8,0.002237226446062347,3.331063740330506e-5,-4.463527151098567e-8,0.0022373785866876966,3.306356285861056e-5,-4.435657408777556e-8,0.0022376301801785795,3.281796598936418e-5,-4.407798109343235e-8,0.002237960293002327,3.262266212632057e-5,-4.385422435645071e-8,0.0022383364907900727,3.250798890852662e-5,-4.371970523753345e-8,0.002238723456645966,3.2485676809755455e-5,-4.3688197681211816e-8,0.0022390886143439774,3.255173487689696e-5,-4.3755889161178954e-8,0.002239405282078471,3.2689939993701276e-5,-4.390514695537152e-8,0.002239654500276259,3.2874917872497975e-5,-4.410791058122196e-8,0.002239826466603891,3.3074841894149056e-5,-4.43287154816248e-8,0.0022399219825763365,3.325431872964785e-5,-4.452793608909369e-8,0.00223995372724577,3.337818442270938e-5,-4.466602508507044e-8,0.002239946609945796,3.341665474095889e-5,-4.4709250539583116e-8,0.0022399361149010558,3.335152643078121e-5,-4.463662869840457e-8,0.0022399637177205746,3.318214901741799e-5,-4.4446666383878356e-8,0.0022400692719222156,3.292908438196356e-5,-4.4161604326662625e-8,0.0022402815961347503,3.263324461259011e-5,-4.382667142532589e-8,0.0022406097829435986,3.234928937051243e-5,-4.35029200728048e-8,0.0022410381982317313,3.2133989991873885e-5,-4.325433505758617e-8,0.002241527366860039,3.2032192958380706e-5,-4.31320710589e-8,0.002242021338402319,3.206407169227447e-5,-4.315991919307524e-8,0.002242460373611949,3.22173758634287e-5,-4.3325235858678146e-8,0.0022427962572554097,3.244758975145919e-5,-4.3578759913273076e-8,0.002243006285647738,3.268735329396462e-5,-4.384500203668317e-8,0.002243101254106713,3.2863977904254935e-5,-4.4041959824776854e-8,0.002243123492551911,3.292048609982193e-5,-4.410494856355586e-8,0.0022431341784470964,3.283271918257909e-5,-4.400603585822717e-8,0.002243194132145136,3.261533508896748e-5,-4.376093452019552e-8,0.0022433459529788004,3.2314277942817154e-5,-4.342065606321087e-8,0.0022436045440565053,3.198999227156275e-5,-4.305276261895022e-8,0.002243958133515982,3.169947891807182e-5,-4.2721289735892826e-8,0.002244376640907042,3.148388477407264e-5,-4.2472798095789184e-8,0.0022448221512804886,3.136378685678507e-5,-4.233096289601714e-8,0.0022452575632132565,3.134045113321896e-5,-4.2297823602288997e-8,0.002245652005153063,3.139999666608745e-5,-4.2358322241039085e-8,0.002245983472810847,3.151802159817808e-5,-4.248543069195238e-8,0.0022462398578507008,3.166353197668659e-5,-4.2644554056704593e-8,0.002246419446397792,3.180211929402931e-5,-4.2797108244559135e-8,0.0022465314514837314,3.1898991863196846e-5,-4.290391686790522e-8,0.0022465964763423293,3.192267915682146e-5,-4.292934587877446e-8,0.0022466461542808808,3.185001140863545e-5,-4.2846882077462555e-8,0.0022467207138888905,3.1672240851810194e-5,-4.264604611928958e-8,0.0022468631990779767,3.140089843834509e-5,-4.2339079016408486e-8,0.0022471100388813652,3.1070610463486265e-5,-4.196427300171984e-8,0.002247479746499827,3.073566784992554e-5,-4.158230565870342e-8,0.0022479638331529823,3.045874199951375e-5,-4.1263714808448154e-8,0.002248524763253154,3.02937857422682e-5,-4.1069733388505545e-8,0.002249103611883865,3.0268960024283786e-5,-4.1032988729356464e-8,0.0022496357222364597,3.0376558929030593e-5,-4.114590430823665e-8,0.002250068824548509,3.0574158665270486e-5,-4.1361647414439126e-8,0.0022503772247836114,3.07964029825346e-5,-4.160710741763205e-8,0.002250567802057482,3.097301904580212e-5,-4.1803061544443096e-8,0.002250676749711126,3.1047324392743566e-5,-4.188509138902905e-8,0.0022507586723131802,3.099010340839463e-5,-4.1819420951854353e-8,0.002250871480347393,3.080538471041008e-5,-4.1609680129912226e-8,0.0022510615188335178,3.052699532297764e-5,-4.1293253390966694e-8,0.002251353179262093,3.0207520227351978e-5,-4.092900157619033e-8,0.0022517456031207373,2.990365199999711e-5,-4.058081653528731e-8,0.002252216441744965,2.966277801546249e-5,-4.0302454700107246e-8,0.0022527301904458124,2.9514465763670236e-5,-4.012779775956819e-8,0.0022532475943158755,2.9467955847632948e-5,-4.0067851081194045e-8,0.0022537333307623537,2.9514413442723212e-5,-4.0113146302274113E-08,0.0022541607881451917,2.9631644844628163e-5,-4.023900335211374e-8,0.002254514189838657,2.9789237110179563e-5,-4.041133614434692e-8,0.0022547890266936274,2.9952985275678716e-5,-4.059167064094272e-8,0.0022549917913854377,3.0088440765969818e-5,-4.074114160771088e-8,0.0022551396035145384,3.016407696389352e-5,-4.08240201186456e-8,0.0022552597216511264,3.015481429148342e-5,-4.081164539487939e-8,0.0022553882919875423,3.0046508802163843e-5,-4.0687495180085486e-8,0.002255567099077569,2.9841357504034444e-5,-4.045337540522603e-8,0.0022558369388607233,2.9562838755949134e-5,-4.0135156504026914e-8,0.0022562271875581842,2.9257130726269753e-5,-3.978455631529007e-8,0.0022567436326642507,2.898714903281843e-5,-3.947255364662877e-8,0.0022573598823487835,2.8817209579511943e-5,-3.927213390100102e-8,0.002258018966071855,2.8791605493017066e-5,-3.923404737454537e-8,0.002258648117312685,2.891633036493332e-5,-3.936599702943412e-8,0.0022591820275492096,2.9154153382066135e-5,-3.962682189325287e-8,0.0022595839247476135,2.9436595028559185e-5,-3.993977198480979e-8,0.00225985505008105,2.9686790215993037e-5,-4.021816649643196e-8,0.002260030241699472,2.9842461088519565e-5,-4.039130403089442e-8,0.002260164133587199,2.9870701143892955e-5,-4.042125712911031e-8,0.0022603147060398874,2.9772008334002676e-5,-4.0307640364203134e-8,0.002260529356679789,2.957539212424842e-5,-4.008236218492744e-8,0.0022608360709949985,2.9328088618681445e-5,-3.9798262676794195e-8,0.002261240279369694,2.9083351681059975e-5,-3.951545849385412e-8,0.0022617268003365322,2.888909043567816e-5,-3.9288472509905356e-8,0.0022622655482008036,2.8779388123142624e-5,-3.915647214350556e-8,0.002262819189102602,2.8770098261314698e-5,-3.913805732001187e-8,0.002263350798057785,2.88586129564398e-5,-3.92308125522209e-8,0.0022638299762149723,2.9026875547142857e-5,-3.9414639258724473e-8,0.00226423666135669,2.9246199189130553e-5,-3.9657234352431613e-8,0.0022645626786873415,2.9482478245198007e-5,-3.992005306099529e-8,0.0022648116674165116,2.9700822468235492e-5,-4.016358408751382e-8,0.0022649981596772123,2.9869345096513426e-5,-4.0351602493104255e-8,0.00226514630501003,2.9962411033835785e-5,-4.04547762743576e-8,0.002265288298830657,2.9963862391270176e-5,-4.045428268554886e-8,0.0022654620702153745,2.9870664852001304e-5,-4.034600056798178e-8,0.002265707212446325,2.969691295175194e-5,-4.0145217890832345e-8,0.002266057956294179,2.947691133511338e-5,-3.9890345763315734e-8,0.0022665329039003286,2.926444328548644e-5,-3.964227072360827e-8,0.0022671236887107245,2.9124484378898093e-5,-3.9475022511818456E-08,0.002267788240646869,2.9115420126813518e-5,-3.945552451759843e-8,0.0022684561262601086,2.9265821438624493e-5,-3.9617054061131354e-8,0.0022690490903026677,2.955733641213853e-5,-3.993960157280089e-8,0.002269509515122626,2.992626254599793e-5,-4.035147042985752e-8,0.00226982162214845,3.0286068029203308e-5,-4.0754733553186254e-8,0.0022700138757717004,3.055897303667495e-5,-4.1061025649979134e-8,0.0022701436737226793,3.069989577380529e-5,-4.1218699906638504e-8,0.00227027517647685,3.070387520696665e-5,-4.122131101616223e-8,0.002270461042897145,3.059919619723711e-5,-4.1100011651257346e-8,0.002270732689133939,3.0433729733369717e-5,-4.090835113136894e-8,0.002271098337780852,3.026097227227714e-5,-4.070670005595391e-8,0.002271546105525531,3.012906258930677e-5,-4.0549886052690306e-8,0.002272049606456396,3.007354356655947e-5,-4.0478868217575704e-8,0.0022725744638758933,3.011354728086309e-5,-4.051615436512521e-8,0.0022730847790649704,3.0250954443169037e-5,-4.066458322488583e-8,0.002273548838725809,3.047206367789406e-5,-4.0909059104787467e-8,0.0022739434936463994,3.075113090835044e-5,-4.1220551846418976e-8,0.0022742568636345524,3.105504186902545e-5,-4.156147942044127e-8,0.0022744892839467825,3.134835492335001e-5,-4.189151521878511e-8,0.0022746527416301044,3.159798737144839e-5,-4.217292294439811e-8,0.0022747692873981264,3.177714018497166e-5,-4.237495585906838e-8,0.0022748688113758886,3.186850606857967e-5,-4.247743480535395e-8,0.002274986290774487,3.186699225575003e-5,-4.2473855910760004e-8,0.0022751583117732004,3.178213127539921e-5,-4.237427673206388e-8,0.0022754182619907173,3.1640017291713195e-5,-4.2207768491395545e-8,0.0022757894556965316,3.1483670873694755e-5,-4.202308555544977e-8,0.0022762763149492913,3.1369490725813464e-5,-4.188476186116999e-8,0.002276855832823401,3.135697026894548e-5,-4.186133900931318e-8,0.0022774744421386866,3.1490633861351893e-5,-4.200454099581501e-8,0.0022780569340058936,3.177865036092299e-5,-4.232457983909165e-8,0.0022785298502353986,3.217986098398422e-5,-4.277512950721424e-8,0.002278850878859694,3.261186828087253e-5,-4.326249088421801e-8,0.002279027127460274,3.29810254809563e-5,-4.3679853601427606e-8,0.0022791101135152944,3.3218485070021266e-5,-4.3948435338700015e-8,0.0022791716138773816,3.33017751806445e-5,-4.404203618293163e-8,0.0022792763622203156,3.325354630218967e-5,-4.3985619723857855e-8,0.0022794650184009696,3.312474867222378e-5,-4.3836336864797965e-8,0.0022797502493714416,3.297479872131966e-5,-4.3661248003750406e-8,0.00228012142820996,3.285672340462785e-5,-4.35206528604119e-8,0.0022805525144040995,3.2809069538178984e-5,-4.3458910771532503e-8,0.002281009749824412,3.28530678199272e-5,-4.350102367560977e-8,0.002281457946481573,3.299290573495884e-5,-4.3652647942342574e-8,0.0022818653863613037,3.3217663060474e-5,-4.390203862093646e-8,0.0022822076095379298,3.350430854908523e-5,-4.4223341324998374e-8,0.0022824701581385626,3.38215008984268e-5,-4.458094556850484e-8,0.0022826501909389498,3.413398695711384e-5,-4.493459121134231e-8,0.0022827568168762593,3.44073498830337e-5,-4.524485208989148e-8,0.0022828100447377627,3.4612658901913384e-5,-4.547843105508966e-8,0.0022828384740465075,3.4730475087631895e-5,-4.561266796396316e-8,0.002282876011570533,3.475388096679199e-5,-4.5638964500433376e-8,0.002282957848421652,3.469040464851831e-5,-4.5565062411767125e-8,0.0022831158204580496,3.456271833872463e-5,-4.541606069616092e-8,0.0022833731202049406,3.440786048574832e-5,-4.5233819572801423e-8,0.0022837383081319583,3.427425554837967e-5,-4.507378989735375e-8,0.0022841992424606486,3.42151255976047e-5,-4.4997528462908375e-8,0.0022847190630679586,3.427694413898361e-5,-4.505929978605274e-8,0.0022852381039333777,3.448341082476899e-5,-4.528736898920922e-8,0.002285686017006873,3.4819631970934466e-5,-4.566551541864208e-8,0.0022860045965692596,3.522625967483624e-5,-4.6126130449042295e-8,0.0022861729555042707,3.5613274931110104e-5,-4.65660689031637e-8,0.002286219685653516,3.5892392446296056e-5,-4.688394305335418e-8,0.002286211691889868,3.601177133491025e-5,-4.7019944247694604e-8,0.002286225505956513,3.5972626779050686e-5,-4.697479161031815e-8,0.0022863188543598124,3.58205873724714e-5,-4.6799832485411654e-8,0.00228651668635773,3.562198060753e-5,-4.6570120297171264e-8,0.002286812966928041,3.5440632292562546e-5,-4.635820450409294e-8,0.002287180868527256,3.532389707738892e-5,-4.6218365864022434e-8,0.002287583967878681,3.5298098790532246e-5,-4.618136168410986e-8,0.0022879848284268977,3.536980504236021e-5,-4.6255633734096165e-8,0.0022883504197809537,3.552946613083765e-5,-4.643115703668337e-8,0.002288655274879669,3.575541538610793e-5,-4.668378554344655e-8,0.0022888834463104927,3.60176745468646e-5,-4.697952823998258e-8,0.002289029789277668,3.6281738912671874e-5,-4.727893103740416e-8,0.002289100595889158,3.65126058036671e-5,-4.754178038619249e-8,0.0022891133320047745,3.667916372430841e-5,-4.773217946936401e-8,0.0022890950961498148,3.675871799412574e-5,-4.782371311654076e-8,0.0022890795607725576,3.674100774676719e-5,-4.7804003549630296e-8,0.002289102527511509,3.663093644990813e-5,-4.767785241181172e-8,0.002289196541348638,3.644938070154096e-5,-4.746830614559982e-8,0.0022893851939173337,3.6231636872978196e-5,-4.7215134114218746e-8,0.002289677840039512,3.602331407239086e-5,-4.6970406519053876e-8,0.0022900654708520327,3.58736629553553e-5,-4.679101983320465e-8,0.002290518708418688,3.582634915501503e-5,-4.6728061346799346e-8,0.0022909894789891827,3.590809695929047e-5,-4.681348212371508e-8,0.002291418352774001,3.611712058525191e-5,-4.704638370723802e-8,0.002291748752111823,3.641569025232455e-5,-4.7384109668672996e-8,0.0022919460643483626,3.6733133288591057e-5,-4.774556420547209e-8,0.0022920143328060607,3.6983858880081674e-5,-4.803206329891999e-8,0.002291999814615806,3.7096977477987554e-5,-4.8161604641847836e-8,0.002291975474626928,3.704374634491269e-5,-4.8100515063701843e-8,0.0022920128248449328,3.6846970662485426e-5,-4.787422973248501e-8,0.0022921567275596033,3.656759825553701e-5,-4.7551933742153225e-8,0.0022924155206640656,3.627866505605262e-5,-4.721685937218435e-8,0.0022927669894349093,3.6041857596996885e-5,-4.6939648387720506e-8,0.002293172035520522,3.589533984270876e-5,-4.676448884083824e-8,0.002293587774220062,3.585234950794764e-5,-4.670737294106673e-8,0.00229397625599273,3.5905780732209896e-5,-4.676107434656356e-8,0.0022943087935883965,3.603438248915831e-5,-4.690198432790658e-8,0.0022945674627496593,3.6208248273547327e-5,-4.709625363021303e-8,0.0022947453752612396,3.639309951270794e-5,-4.730469355160464e-8,0.002294846618012875,3.655385217382977e-5,-4.748694572871607e-8,0.0022948859966711527,3.6658142221179055e-5,-4.760561192507473e-8,0.0022948882229804706,3.66802485027254e-5,-4.7630789899419904e-8,0.002294885915277481,3.660536515102313e-5,-4.754496057001509e-8,0.0022949158390162044,3.64335141641052e-5,-4.7347464493291285e-8,0.002295013303258485,3.6181877526743895e-5,-4.705723761896796e-8,0.0022952053707549756,3.5884255428738196e-5,-4.6712359540665154e-8,0.0022955042500871392,3.558678939109289e-5,-4.6365392836542746e-8,0.002295902637857623,3.534001900618766e-5,-4.607449202272132e-8,0.002296372603345501,3.518847407688666e-5,-4.5891531629784525e-8,0.002296868936882388,3.515979486113663e-5,-4.584945571699113e-8,0.002297337100875107,3.525571375908133e-5,-4.595154991513938e-8,0.0022977251112613487,3.54474663309797e-5,-4.6165727461002804e-8,0.002297997511006086,3.567828648084553e-5,-4.642708208073091e-8,0.0022981479038201797,3.587486868504097e-5,-4.665101902295781e-8,0.0022982048890346418,3.59670990491837e-5,-4.6756152857442506e-8,0.0022982264993906746,3.591076706084595e-5,-4.66907281238414e-8,0.00229828244392896,3.570370688981107e-5,-4.645139989864305e-8,0.0022984305793150974,3.538654013029307e-5,-4.6084187811529834e-8,0.002298698613153666,3.502687277549902e-5,-4.5666380520174655e-8,0.0022990791902976694,3.4695334694455384e-5,-4.5279093849930466e-8,0.0022995381727997865,3.4445276278051516e-5,-4.49839970221804e-8,0.002300029218953335,3.430321854904224e-5,-4.4812265883725474e-8,0.0023005071520190556,3.426970567379333e-5,-4.4765358220823394e-8,0.0023009363058259054,3.432593949783263e-5,-4.4822399265362546e-8,0.0023012938617268945,3.444159290053393e-5,-4.494899788620879e-8,0.002301570006953491,3.458126436569647e-5,-4.51046246777301e-8,0.002301766800108603,3.470904311234521e-5,-4.524791553057968e-8,0.002301896888738061,3.479179416047871e-5,-4.534053254240823e-8,0.002301982375857608,3.480208071788327e-5,-4.535057802732492e-8,0.0023020534602801847,3.472142304601621e-5,-4.525634915545079e-8,0.0023021460538406057,3.454404162586172e-5,-4.505063369302154e-8,0.002302297520970304,3.4280415377693827e-5,-4.474483116108385e-8,0.00230254017354546,3.395911142067943e-5,-4.4371164167657605e-8,0.0023028932564570586,3.3624877587848964e-5,-4.398066536436923e-8,0.0023033555964254958,3.333152309155398e-5,-4.3635188638132984e-8,0.0023039020503271127,3.312995217770553e-5,-4.339376844190064e-8,0.002304486385520222,3.305425894193706e-5,-4.329658172175806e-8,0.002305051035348368,3.3110519998397165e-5,-4.335181227808648e-8,0.0023055413708626526,3.3272560571329226e-5,-4.353040435431237e-8,0.0023059202737308734,3.348666573581906e-5,-4.3771124818958763e-8,0.0023061786570983014,3.368428524135492e-5,-4.3994995923487775e-8,0.0023063388048928817,3.379947725797813e-5,-4.412542796611055e-8,0.0023064492323863275,3.378653186463361e-5,-4.410875759920423e-8,0.0023065718780325255,3.363277880294064e-5,-4.392931753536871e-8,0.0023067648430645355,3.336223440573916e-5,-4.361391666217241e-8,0.0023070660644278905,3.302816568314063e-5,-4.322345795297547e-8,0.002307483727852774,3.269679339994018e-5,-4.2834243518091083e-8,0.0023079967124393116,3.242829025455311e-5,-4.2516054578377455e-8,0.002308563857239961,3.2262195589673835e-5,-4.2315205384790976e-8,0.0023091372052619127,3.221149782256434e-5,-4.224750159055635e-8,0.002309673844341424,3.2265073740245427e-5,-4.2300823774791806e-8,0.0023101432068525158,3.239501720334835e-5,-4.244342832539441e-8,0.0023105295861446016,3.256496006872504e-5,-4.2633513685632894e-8,0.0023108314009869526,3.2736917316135974e-5,-4.282717939490637e-8,0.002311059046577513,3.287596311964373e-5,-4.298390962236588e-8,0.0023112325956021447,3.2953249680788354e-5,-4.30701110947523e-8,0.00231137979665109,3.294831861010061e-5,-4.306178209267358e-8,0.0023115340997543143,3.285151044406728e-5,-4.2947275355292e-8,0.0023117319317365243,3.2666777386046935e-5,-4.2730561942988145e-8,0.0023120082445560355,3.241439708027806e-5,-4.243445694518821e-8,0.0023123897136956896,3.213200948149292e-5,-4.210197938273945e-8,0.002312886188388601,3.1871514418046985e-5,-4.179294978549619e-8,0.0023134830361791667,3.168968477884489e-5,-4.157326718028376e-8,0.0023141388246951094,3.163282940214068e-5,-4.149718047268907e-8,0.002314792329840861,3.172005820484998e-5,-4.158778555622238e-8,0.002315378896673669,3.193290371843414e-5,-4.182474929661659e-8,0.0023158505127047306,3.2217740072628357e-5,-4.214680612835947e-8,0.0023161909435828218,3.2501262856054346e-5,-4.2469442360932653e-8,0.002316419671183998,3.271254277366566e-5,-4.27103290681903e-8,0.0023165841921237427,3.2802780436011716e-5,-4.2812247472897776e-8,0.0023167450214273137,3.2756541656388914e-5,-4.275628838705075e-8,0.0023169591271539453,3.259272819167442e-5,-4.256326379538918e-8,0.0023172663812004936,3.2356898186037265e-5,-4.228512778642178e-8,0.0023176817453812227,3.2108186977599e-5,-4.199006993769168e-8,0.002318194185054491,3.1904582986137214e-5,-4.174553762547756e-8,0.00231877176791076,3.1790160014621046e-5,-4.1603324561922454e-8,0.002319371007020906,3.1787119353049104e-5,-4.159008391244041e-8,0.0023199475183516252,3.189400454355314e-5,-4.17049622110272e-8,0.0023204650305293554,3.20894591354611e-5,-4.1923747329153166e-8,0.002320900868517307,3.2339315150879754e-5,-4.220702939293869e-8,0.0023212476092142357,3.260440417190498e-5,-4.2509329097549e-8,0.0023215118356965506,3.284715719192341e-5,-4.278686762213579e-8,0.0023217113982006393,3.3036182323788574e-5,-4.300295310375987e-8,0.002321872364162279,3.314903836216729e-5,-4.313120169100703e-8,0.0023220262092654128,3.3173971066507745e-5,-4.315751282036905e-8,0.002322207158400309,3.311135649858902e-5,-4.3081732272613976e-8,0.0023224491028571363,3.297521373884765e-5,-4.291948491394481e-8,0.002322781228382118,3.279447518776715e-5,-4.270382165655561e-8,0.0023232216822924234,3.261266466520483e-5,-4.248505510679363e-8,0.002323769722566849,3.2483621858754785e-5,-4.2325943183644296e-8,0.002324398904211897,3.2460944922610885e-5,-4.228942774440365e-8,0.002325056179267136,3.258120401470381e-5,-4.241896142727533e-8,0.002325671964702718,3.2846122159074696e-5,-4.271751943685757e-8,0.00232618144268266,3.321386581244003e-5,-4.3137207029593565e-8,0.0023265488268709705,3.36082031220369e-5,-4.3589753742231386e-8,0.0023267814240886583,3.394420957442691e-5,-4.397636855767629e-8,0.0023269254239565483,3.415782391829717e-5,-4.422212158225807e-8,0.002327046906947544,3.422452814123435e-5,-4.429770088385412e-8,0.002327209206277997,3.4160981089080925e-5,-4.422143906155781e-8,0.002327456336525311,3.401357864203633e-5,-4.4046282714445835E-08,0.002327805923589105,3.384194337626255e-5,-4.384093488623098e-8,0.002328250166554385,3.37036441574621e-5,-4.3672328614357636e-8,0.002328761740259225,3.364315089403521e-5,-4.3592791245387643e-8,0.002329301915681379,3.36856352720997e-5,-4.3632602011700155e-8,0.002329829055291661,3.383516729126079e-5,-4.379753708045467e-8,0.0023303062390849644,3.407663050535043e-5,-4.407078165874924e-8,0.0023307070359199853,3.438049828740393e-5,-4.441833484198168e-8,0.0023310187619350036,3.470925636680583e-5,-4.4796515547741785e-8,0.0023312431048083324,3.502410718649536e-5,-4.515990686671555e-8,0.002331394528886721,3.5290797443504604e-5,-4.5468276438613356e-8,0.002331497260081565,3.5483844383961805e-5,-4.569154976787356e-8,0.002331581733856791,3.558904226640621e-5,-4.581270005257149e-8,0.0023316810811048884,3.560465423137779e-5,-4.582909582100883e-8,0.002331827771099224,3.5541816076164474e-5,-4.575300867708182e-8,0.0023320501595354027,3.542447396167401e-5,-4.561169901534009e-8,0.0023323683909373285,3.528871876135906e-5,-4.5446880835164095e-8,0.0023327891822946096,3.51805346933835e-5,-4.531231018055253e-8,0.002333299958278486,3.515015003696038e-5,-4.52672578511267e-8,0.0023338645432176663,3.5241270465413334e-5,-4.5363790266725256e-8,0.002334424562220092,3.5475412457926315e-5,-4.562814505895616e-8,0.0023349112408662287,3.583613212030472e-5,-4.6041947983230845e-8,0.002335268146958933,3.626338247097496e-5,-4.6535418255023436e-8,0.0023354760591965088,3.666773954728629e-5,-4.700402689339779e-8,0.0023355644528050535,3.696270836812873e-5,-4.7346394509497067e-8,0.002335600051392683,3.7098371862978543e-5,-4.75036656435806e-8,0.002335658860810056,3.707695140177438e-5,-4.747763880896117e-8,0.0023357987401432536,3.694435600604198e-5,-4.732093922172631e-8,0.002336045463982361,3.6767616798790464e-5,-4.711093689128459e-8,0.002336393449628172,3.661235323283033e-5,-4.6923808409687194e-8,0.00233681482692482,3.6528212315890726e-5,-4.68177625437056e-8,0.002337270388702322,3.6542959451067806e-5,-4.682607312286444e-8,0.0023377189367930666,3.66625719363429e-5,-4.6956871248297825e-8,0.002338124071548144,3.687450363014641e-5,-4.7196561629315964e-8,0.002338458716826444,3.71523445299233e-5,-4.75149713046986e-8,0.0023387078440758034,3.7461115310449495e-5,-4.787144263559505e-8,0.002338869585723431,3.7762817841687184e-5,-4.822140859107426e-8,0.0023389547817296704,3.802184043837775e-5,-4.852287616148231e-8,0.0023389850485431105,3.820974950563554e-5,-4.87421532200505e-8,0.002338989627065774,3.830895059743735e-5,-4.885815585004515e-8,0.0023390014899789605,3.8314840733578865e-5,-4.8864887051675046e-8,0.002339053227796983,3.823643256374001e-5,-4.8772155817743224e-8,0.0023391730470084114,3.809565596331883e-5,-4.860485990028719e-8,0.002339381007965399,3.7925524692509784e-5,-4.840106376674009e-8,0.0023396854228536312,3.776719520424567e-5,-4.82088209371393e-8,0.0023400793116841023,3.76654727255943e-5,-4.808107898018889e-8,0.002340537481346002,3.766178500501879e-5,-4.8067398459253976e-8,0.0023410160318337752,3.778395059438169e-5,-4.820166978989883e-8,0.0023414571514578423,3.8033753723512084e-5,-4.8487112668261064e-8,0.002341802014567862,3.837655741982126e-5,-4.888372230559299e-8,0.0023420114228051465,3.874102641968516e-5,-4.930783648964436e-8,0.0023420863661792065,3.9036695298684036e-5,-4.965293287954776e-8,0.0023420745217566197,3.918717458210972e-5,-4.982885057806455e-8,0.0023420538209714603,3.91622722916344e-5,-4.9799546790811774e-8,0.0023421004046062298,3.8988852688015025e-5,-4.959573407663678e-8,0.0023422602630217295,3.8734768578304047e-5,-4.9296049457022376e-8,0.0023425391360975905,3.847893082192605e-5,-4.899224673303789e-8,0.0023429102765989336,3.828568044273994e-5,-4.8759531463412606e-8,0.0023433299940436355,3.819251167163617e-5,-4.8642341136861975e-8,0.0023437518655280796,3.8209551159922836e-5,-4.865357708177263e-8,0.0023441359775748295,3.8325147109487965e-5,-4.87807783260245e-8,0.002344453495623456,3.8512988018584136e-5,-4.8994075741131246e-8,0.002344688236531956,3.873852777500904e-5,-4.9253489797137967e-8,0.0023448367420634006,3.896429832747165e-5,-4.951513690495988e-8,0.002344907563344286,3.915445172418351e-5,-4.973668851539436e-8,0.002344919846223446,3.927885131661452e-5,-4.9882338277690744e-8,0.0023449010717055798,3.9316757036171124e-5,-4.992722780668246e-8,0.0023448838074805536,3.925979958184939e-5,-4.986094461349622e-8]} \ No newline at end of file diff --git a/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_18.json b/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_18.json new file mode 100644 index 0000000..a7e1312 --- /dev/null +++ b/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_18.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1.0,"startIndex":18000,"numberOfSamples":1000,"samples":[0.002344901558802442,3.911368303105064e-5,-4.968948981883951e-8,0.002344984132234963,3.8898163040661456e-5,-4.9435280092255396e-8,0.002345153076453194,3.8645137911801235e-5,-4.913505665071581e-8,0.0023454177649364274,3.8394882701718704e-5,-4.883571430956027e-8,0.0023457726182683734,3.8190636084535106e-5,-4.858818570335279e-8,0.0023461958479369647,3.8071833815956895e-5,-4.8439580759263196E-08,0.0023466502566154754,3.806617270836784e-5,-4.8423700396250246e-8,0.0023470871667342188,3.818099295284342e-5,-4.855052067391149e-8,0.0023474547964515697,3.8395736841710905e-5,-4.8796864492445077e-8,0.002347711548848421,3.865908630266998e-5,-4.9102715263344044e-8,0.0023478420825502667,3.889571950044163e-5,-4.937914952780937e-8,0.00234786961391877,3.902607152063935e-5,-4.9531851099022974e-8,0.0023478548636246925,3.899526350333567e-5,-4.949545923878963e-8,0.002347876570857601,3.8797420616696476e-5,-4.926230021920203e-8,0.0023480009856264934,3.8479554435582394e-5,-4.888691218568922e-8,0.002348257394842648,3.81212678497871e-5,-4.8462214576854004e-8,0.0023486326479069406,3.7803093228172886e-5,-4.8082513592352674e-8,0.0023490835964367573,3.75814623825538e-5,-4.781433129307214e-8,0.002349556312825578,3.747939916176964e-5,-4.768549705089819e-8,0.002350001794120482,3.7490379203984336e-5,-4.768944037993623e-8,0.002350384381521822,3.758800212452211e-5,-4.779618621991062e-8,0.0023506841057128985,3.773572437125139e-5,-4.796348785816809e-8,0.0023508956980960788,3.7894232799687954e-5,-4.814536983155262e-8,0.00235102648099269,3.802641740658273e-5,-4.829803528414698e-8,0.002351094173287532,3.810084978765315e-5,-4.838411531070628e-8,0.0023511246964647748,3.8094608924835005e-5,-4.837614007717066e-8,0.0023511496348331447,3.799585924542727e-5,-4.825963731338258e-8,0.0023512029179003826,3.780605403700456e-5,-4.803571540037979e-8,0.002351316493203054,3.754110540847055e-5,-4.772242618165293e-8,0.002351515254331023,3.723065606146325e-5,-4.7353971759481864e-8,0.0023518120205759476,3.6914840723378074e-5,-4.697706960436158e-8,0.0023522036900594134,3.663842066327486e-5,-4.664428486396447e-8,0.0023526697415857454,3.6442835626573675e-5,-4.6404850464569946E-08,0.0023531739492806607,3.635743472275251e-5,-4.629433098034591e-8,0.0023536695969230293,3.639153741844735e-5,-4.632502065598751e-8,0.002354107963028887,3.65290387843179e-5,-4.64791633358682e-8,0.0023544493334192655,3.672744771866113e-5,-4.670739713326941e-8,0.0023546748244885193,3.692340046714689e-5,-4.693502893752279e-8,0.0023547957604870243,3.704596407123413e-5,-4.707779081016492e-8,0.002354855915443392,3.703656572046711e-5,-4.70656375977696e-8,0.0023549223160394474,3.68699978500431e-5,-4.6867843166706427e-8,0.002355064610704272,3.656683381659626e-5,-4.65078344897485e-8,0.002355330456332751,3.6188645949168455e-5,-4.605762360942627e-8,0.0023557290800031,3.581614088997792e-5,-4.561209830788785e-8,0.0023562313149006323,3.552104851024793e-5,-4.525598622392911e-8,0.002356784170343763,3.534573263514571e-5,-4.503985226093692e-8,0.00235733028458666,3.529761527789713e-5,-4.49733843052568e-8,0.002357823000083982,3.535587514723036e-5,-4.503300722505471e-8,0.0023582334607192713,3.548324139112816e-5,-4.517550230472812e-8,0.0023585511399880337,3.5636946080439145e-5,-4.535076312918837e-8,0.002358780962041987,3.577633956909642e-5,-4.551078335076926e-8,0.0023589395842511522,3.5867314155800855e-5,-4.561499749370089e-8,0.002359052080351249,3.588475773629073e-5,-4.563332272362631e-8,0.002359149147828655,3.58142084645814e-5,-4.554820350082022e-8,0.0023592643626533377,3.565335730415486e-5,-4.5356402142557453E-08,0.002359430841246486,3.541339537933329e-5,-4.507057121932486e-8,0.0023596768567981123,3.511952535451973e-5,-4.471987460114685e-8,0.0023600205188522927,3.480948168500788e-5,-4.4348345490610194e-8,0.0023604644698905536,3.452896471445555e-5,-4.400967986329848e-8,0.002360992350010294,3.432364769813786e-5,-4.375798612579386e-8,0.002361569042366369,3.422878850205881e-5,-4.363559641492016e-8,0.0023621460051594665,3.4259012492440044e-5,-4.3660883375380844e-8,0.0023626713616961515,3.440164922381125e-5,-4.3820080092443e-8,0.002363102567048767,3.4616447316981465e-5,-4.4066547053651594e-8,0.002363418276529288,3.484277697645849e-5,-4.432896661511161e-8,0.002363625904080295,3.501331834422755e-5,-4.452741922922826e-8,0.002363762140673494,3.50713100177352e-5,-4.459391491625094e-8,0.0023638851680286292,3.498694287747205e-5,-4.449207573009896e-8,0.0023640594734086117,3.4767688893707976e-5,-4.422967279774819e-8,0.002364337052724743,3.44579776897352e-5,-4.385849503168624e-8,0.0023647414089119547,3.412668761857231e-5,-4.345970698104098e-8,0.002365260922020612,3.3846152104623893e-5,-4.3119075143364176e-8,0.0023658544426327192,3.367093165302294e-5,-4.290180278936738e-8,0.0023664660490979486,3.362478090509265e-5,-4.2836928949552116e-8,0.002367041894211088,3.3699477499923e-5,-4.29156715149733e-8,0.0023675425813141815,3.3863070665591675e-5,-4.3100929149056666e-8,0.002367948361133545,3.407186155979982e-5,-4.334131276515742e-8,0.0023682583104001854,3.4281125480317074e-5,-4.358383945165417e-8,0.002368486347050624,3.4452289918945094e-5,-4.378254145392837e-8,0.002368656569458454,3.455667745010834e-5,-4.3903037676489125e-8,0.002368799213631667,3.457704329979657e-5,-4.39244496666408e-8,0.0023689474323752143,3.450818698611703e-5,-4.384015205758009e-8,0.0023691344170632556,3.4357416482385305e-5,-4.3658308045106786e-8,0.002369390127550806,3.4144946605107745e-5,-4.340234799568976e-8,0.002369737050180081,3.390358038895181e-5,-4.311066755298774e-8,0.0023701849761484078,3.367640314542406e-5,-4.283404275674573e-8,0.002370725808074802,3.351105695568608e-5,-4.262900855450118e-8,0.0023713306372070224,3.344998149691437e-5,-4.254638292238252e-8,0.0023719519724518553,3.351806525291478e-5,-4.261657041710548e-8,0.0023725329401571575,3.371175366291013e-5,-4.283642668257849e-8,0.0023730222295828053,3.3995002702351264e-5,-4.316414308379054e-8,0.002373389973065274,3.430578520129685e-5,-4.3526671192005085e-8,0.0023736381505010734,3.4572328983584834e-5,-4.38388242013889e-8,0.0023738010098588143,3.473355012811767e-5,-4.402752760022938e-8,0.00237393531167498,3.4756315512409036e-5,-4.40524591922618e-8,0.0023741041518875864,3.4643979531241987e-5,-4.391644020525929e-8,0.0023743597715574142,3.443428581685144e-5,-4.366325823519776e-8,0.002374730275263065,3.418808569592938e-5,-4.336456918047751e-8,0.0023752135991477064,3.397259983293269e-5,-4.3100208376556956e-8,0.002375779941817866,3.384415723124978e-5,-4.293768908589405e-8,0.0023763813960745914,3.383531261076801e-5,-4.2916694132470866e-8,0.0023769653178674142,3.394966546843266e-5,-4.304258701004152e-8,0.0023774870203995034,3.416488144273135e-5,-4.3289677344681276e-8,0.002377918235263097,3.444154087954113e-5,-4.3611544323386645e-8,0.0023782499725694506,3.473394751413563e-5,-4.3953871457543554e-8,0.002378490676997382,3.499948400810439e-5,-4.4265690042450136e-8,0.002378661785361829,3.520478219905836e-5,-4.45068771402646e-8,0.0023787927125148967,3.5328684667322306e-5,-4.465179236135274e-8,0.0023789164661922424,3.5362982250262976e-5,-4.4690190041228925e-8,0.002379066168330197,3.531210837114164e-5,-4.462683919511151e-8,0.0023792721073279486,3.519257964256899e-5,-4.448085699607398e-8,0.0023795586569317585,3.50323249823028e-5,-4.4284979324380445e-8,0.0023799404698155602,3.486935159153574e-5,-4.408411931944888e-8,0.00238041786411957,3.4748539855140206e-5,-4.39317205628605e-8,0.0023809723866902452,3.471506365948844e-5,-4.38820214882267e-8,0.0023815649852208134,3.48036933953732e-5,-4.397726798401748e-8,0.0023821401857936045,3.502563195655052e-5,-4.423182507960411e-8,0.0023826385643343764,3.535804096673262e-5,-4.461940477123716e-8,0.002383015549616911,3.574351081297848e-5,-4.507218244911266e-8,0.0023832590121007622,3.610394768843331e-5,-4.549722500288198e-8,0.0023833960729126107,3.6365403192313095e-5,-4.5806082879119395e-8,0.0023834844707587666,3.6482794911242564e-5,-4.594430660481812e-8,0.0023835926131679144,3.6453070353420245e-5,-4.5907232417809996e-8,0.0023837780068744117,3.6312527567923084e-5,-4.573698815443366e-8,0.002384072504190872,3.612228458903607e-5,-4.550549834835012e-8,0.002384477540262076,3.594951747525463e-5,-4.529245938741677e-8,0.0023849679834993427,3.5850894327466484e-5,-4.516576690664186e-8,0.0023855013057676516,3.586164050491832e-5,-4.5168379713013465e-8,0.0023860287687607305,3.599113018920311e-5,-4.5312724744731254e-8,0.002386506003294634,3.6224400739596276e-5,-4.558208417162952e-8,0.0023869010817420566,3.65281921996621e-5,-4.5937482125035984e-8,0.0023871989250919125,3.685955147899608e-5,-4.632784241705567e-8,0.002387401820865755,3.7174763898084735e-5,-4.6700739768763154e-8,0.002387526785819297,3.7436733765039484e-5,-4.701140163670798e-8,0.0023876010849905364,3.761979915266924e-5,-4.7228628272774645e-8,0.00238765727041805,3.771186667545958e-5,-4.733742080218521e-8,0.002387728725155376,3.7714449644070145e-5,-4.7339022820513065e-8,0.0023878460686218663,3.764152424039279e-5,-4.724953688088123e-8,0.002388034216505095,3.751792399775393e-5,-4.709805432518741e-8,0.0023883096269505005,3.7377464417580596e-5,-4.692455759226862e-8,0.002388677274146209,3.726041803036959e-5,-4.677709598428318e-8,0.0023891272588487315,3.720938268477899e-5,-4.6706986835451093e-8,0.0023896319399229,3.7262272101778856e-5,-4.6760418636059854e-8,0.0023901458647094826,3.7441849520893325e-5,-4.696572132812101e-8,0.002390611746871633,3.774354152197786e-5,-4.731844757029362e-8,0.0023909747687158945,3.81269601588696e-5,-4.777091840959034e-8,0.002391202906290385,3.8519192870702565e-5,-4.823603735908806e-8,0.0023913040660786186,3.883476948556154e-5,-4.8611270833999345e-8,0.002391328128732739,3.9006667440986484e-5,-4.881589018117696e-8,0.00239134943562406,3.90124026913742e-5,-4.882222941094568e-8,0.002391438487576229,3.8880411452464615e-5,-4.866331475848319e-8,0.0023916383708005662,3.867507853522781e-5,-4.841510309828039e-8,0.00239195590432241,3.847153998643774e-5,-4.816669872463936e-8,0.0023923668018147257,3.833341819751815e-5,-4.799408876442468e-8,0.002392828007801345,3.830015839190798e-5,-4.794511807386538e-8,0.0023932907590552147,3.8383856123547755e-5,-4.8035481865629606e-8,0.00239371096036409,3.857245714578611e-5,-4.82521178047072e-8,0.0023940559931876475,3.883616405890264e-5,-4.856042818085454e-8,0.0023943082930363074,3.9134985874419545e-5,-4.891304887908877e-8,0.0023944662220829185,3.9426309839536574e-5,-4.925889576057055e-8,0.0023945426540706474,3.967167832740828e-5,-4.955145041930234e-8,0.0023945617795173573,3.984206233309221e-5,-4.975530429415886e-8,0.002394554803373748,3.992121054124771e-5,-4.985033218746083e-8,0.00239455526447015,3.990695202747839e-5,-4.983330111917577e-8,0.002394594661569528,3.9810623353083994e-5,-4.971716322616409e-8,0.0023946988252229935,3.965513390937551e-5,-4.952874150407233e-8,0.0023948850777624304,3.9472259325648355e-5,-4.9305586614794425e-8,0.00239515997526318,3.9299439114975593e-5,-4.909233045733194e-8,0.0023955174021503037,3.9175945382072434e-5,-4.893628682300761e-8,0.002395937007932476,3.9137890421156826e-5,-4.8881533371822775e-8,0.002396383695909191,3.921131979781866e-5,-4.896047917113908e-8,0.0023968099593563576,3.9403258047878505e-5,-4.918277327372618e-8,0.002397163497613983,3.969252739918278e-5,-4.952387416863947e-8,0.0023974015854493413,4.002518309701328e-5,-4.99193026544001e-8,0.002397509675261247,4.0321678158350774e-5,-5.027326909845036e-8,0.0023975151824612907,4.049998955523513e-5,-5.048669925554299e-8,0.0023974844671535013,4.050819106081807e-5,-5.049657166197553e-8,0.002397499090668801,4.034853438152713e-5,-5.0304833087084466e-8,0.0023976229322382613,4.007667775600651e-5,-4.997738881179162e-8,0.002397879519985696,3.977656534145411e-5,-4.96140773901125E-08,0.0023982502957491016,3.9527801939768744e-5,-4.93098968993077e-8,0.002398689129527083,3.938302665345923e-5,-4.912820157919039e-8,0.002399141121851689,3.936112368628708e-5,-4.9092584839070415e-8,0.002399557122870482,3.945190021821551e-5,-4.919217196871091e-8,0.002399901681190261,3.9625470595205126e-5,-4.939240127952472e-8,0.0024001557140803276,3.9841782493496445e-5,-4.9646053324931454e-8,0.00240031603823306,4.0058414074826275e-5,-4.990243651972935e-8,0.0024003933848322214,4.02365269468108e-5,-5.0114610330648764e-8,0.0024004095942288745,4.034539638022784e-5,-5.0245052214989265e-8,0.0024003941453741816,4.0365693589607254e-5,-5.0269831914895396e-8,0.0024003801497172756,4.0291449589680024e-5,-5.018110199371788e-8,0.0024004000531943383,4.013054961443052e-5,-4.9987707246810776e-8,0.0024004814327914467,3.990360304898532e-5,-4.9713797552627094e-8,0.0024006433784475078,3.96412645683471e-5,-4.9395635374628664e-8,0.002400893829350257,3.938038444905259e-5,-4.907710595026679e-8,0.0024012280072063545,3.9159384872200925e-5,-4.88043653842751e-8,0.002401627983789423,3.901309599496099e-5,-4.861979177381442e-8,0.0024020634684160267,3.896712290496793e-5,-4.8555194568685595e-8,0.0024024942344411503,3.903172416614497e-5,-4.862420076639316e-8,0.0024028751869229125,3.919562945854613e-5,-4.881439962151439e-8,0.0024031652429550516,3.942160059336088e-5,-4.908159561584208e-8,0.0024033401183291706,3.964740296327271e-5,-4.9350792145343485e-8,0.002403406122558092,3.9796826052265784e-5,-4.952959530944614e-8,0.0024034075771528214,3.9802695108078196e-5,-4.953626629721684e-8,0.002403418663533099,3.963531471377749e-5,-4.933424264248788e-8,0.002403517483513351,3.9320414167136537e-5,-4.895377104664041e-8,0.00240375400559779,3.893213949475224e-5,-4.848339885001966e-8,0.0024041310350306584,3.856275056172833e-5,-4.803360539427687e-8,0.002404608522803643,3.8287467657906244e-5,-4.7694797328705657e-8,0.002405124618903588,3.814364277978108e-5,-4.7512463896821273e-8,0.002405618526611032,3.812961405164927e-5,-4.748570334517685e-8,0.0024060450436589023,3.821594093326314e-5,-4.7580367143404314e-8,0.002406379515424713,3.8359386346411104e-5,-4.774544974096198e-8,0.0024066165603803674,3.851416440298249e-5,-4.7926337409967924e-8,0.002406766193043988,3.863916072047892e-5,-4.8073452764022304e-8,0.0024068496190933135,3.870200493814187e-5,-4.814731567974312e-8,0.0024068954751543747,3.8681384728337856e-5,-4.812157280049673e-8,0.0024069363302526986,3.8568469741027326e-5,-4.7984907944708237e-8,0.002407005092363638,3.8367620010703626e-5,-4.774197343294295e-8,0.0024071311642991904,3.8096143001373596e-5,-4.741307791637707e-8,0.00240733648448139,3.7782662926820594e-5,-4.703219316231057e-8,0.0024076319591230843,3.746376601902139e-5,-4.664296180742872e-8,0.0024080150100535243,3.717901842199488e-5,-4.629284851707181e-8,0.0024084688627471237,3.6964873105139e-5,-4.6025986316963574e-8,0.002408963950387803,3.684822663195842e-5,-4.587550926484438e-8,0.002409461535231225,3.6840528070730786e-5,-4.585634918576009e-8,0.0024099194289861434,3.6933325176103526e-5,-4.595954827428758e-8,0.002410299639091284,3.709615129870326e-5,-4.6149286023116704e-8,0.0024105775736920194,3.727809719448076e-5,-4.636443290545415e-8,0.0024107515290991625,3.7414947503234764e-5,-4.652707276927955e-8,0.0024108494422053167,3.744332346904537e-5,-4.6559778833502254e-8,0.0024109280582808607,3.732068196771385e-5,-4.641012552830863e-8,0.0024110599588631028,3.704486401008396e-5,-4.6074593882075726e-8,0.0024113092457543352,3.666207745630117e-5,-4.560832165779338e-8,0.0024117058579894443,3.625440453889971e-5,-4.511002792620606e-8,0.00241223320394758,3.590984658345839e-5,-4.468591059086578e-8,0.0024128367433007784,3.569068786073452e-5,-4.4411566261216975e-8,0.002413447167854588,3.561679042361314e-5,-4.431182379727306e-8,0.002414003943390364,3.566857531655897e-5,-4.4364131508880796e-8,0.002414468917828636,3.5802128924618506e-5,-4.45164528407243e-8,0.0024148287689588913,3.596582802687616e-5,-4.4707042649597976e-8,0.0024150906323866994,3.6112294226174406e-5,-4.487876186163635e-8,0.0024152756199526553,3.620466985756144e-5,-4.4986732147043753e-8,0.002415412983422486,3.621886433437632e-5,-4.5001246595991545e-8,0.002415535705571361,3.614384708305006e-5,-4.490832914512481e-8,0.0024156771163272757,3.59813440871689e-5,-4.470949129805716e-8,0.0024158678193869285,3.5745351613970705e-5,-4.442116416614326e-8,0.002416132416351302,3.546120330008051e-5,-4.4073537242749924e-8,0.0024164859220694446,3.516352548830468e-5,-4.370808294460031e-8,0.00241693034169506,3.4892359785693274e-5,-4.337295078484064e-8,0.0024174524408001833,3.468719086143528e-5,-4.3115900098566585e-8,0.002418023930833043,3.457944258321774e-5,-4.2975364635792224e-8,0.002418604957254082,3.4584872568489474e-5,-4.297126534219297e-8,0.002419150952416655,3.469789771516463e-5,-4.30979643194712e-8,0.0024196218300455495,3.48898251884466e-5,-4.3321783064122653e-8,0.0024199916518604678,3.51121471359681e-5,-4.3584618304832864e-8,0.002420256595170644,3.5304987746849386e-5,-4.381393076419317e-8,0.002420439070447764,3.54098460734516e-5,-4.393818240200917e-8,0.002420585972638163,3.5384692412318615e-5,-4.39053621156832e-8,0.0024207596255476035,3.521796937688811e-5,-4.3700303187940916e-8,0.00242102169533141,3.493649672842064e-5,-4.335458114598203e-8,0.0024214136673983418,3.460203389622349e-5,-4.294254391313394e-8,0.0024219412696859064,3.4294397281599166e-5,-4.2560928350924536e-8,0.002422570997871016,3.40859042454751e-5,-4.2297873198728576e-8,0.002423241774708797,3.401825188013031e-5,-4.220478688725671e-8,0.002423886226246646,3.4092534703597756e-5,-4.2284029344064495e-8,0.002424450990286084,3.4275193790697986e-5,-4.2495842308161056e-8,0.002424907897269756,3.4513860089160096e-5,-4.277731373829174e-8,0.002425254646420478,3.475404717614502e-5,-4.306250514379759e-8,0.0024255087764721997,3.495073098604035e-5,-4.329653600382793e-8,0.0024256997145779124,3.5073628211510956e-5,-4.344214009667556e-8,0.0024258619447215263,3.510795400575972e-5,-4.3480765687463235e-8,0.002426030203565686,3.505305808974759e-5,-4.341105272837135e-8,0.0024262362674914877,3.4920608081784176e-5,-4.3246676601309794e-8,0.0024265064422872465,3.473295174654087e-5,-4.3014350394663596e-8,0.0024268589868617334,3.4521461493677566e-5,-4.275180769052857e-8,0.002427301138503399,3.432410975088323e-5,-4.250490759677728e-8,0.0024278260913050916,3.418129571204661e-5,-4.2322676945393295e-8,0.002428411097108386,3.4129280643721544e-5,-4.2249456747169526e-8,0.002429018449007624,3.4191654643649516e-5,-4.231457750259257e-8,0.002429600921945329,3.4370848029145066e-5,-4.2521942446609057e-8,0.002430111852543173,3.464306742421111e-5,-4.284362752322127e-8,0.0024305177078212167,3.4960014332554184e-5,-4.322166147588011e-8,0.0024308089963019476,3.525864256604065e-5,-4.3579634420191055e-8,0.0024310052103568625,3.54768490791095e-5,-4.3841674275576033e-8,0.0024311514832499894,3.5570331945046896e-5,-4.3953026184890535e-8,0.0024313076209347257,3.552531869349453e-5,-4.389576556823521e-8,0.0024315325810961527,3.5363327353876604e-5,-4.369491031447773e-8,0.0024318686265469066,3.513647254223246e-5,-4.341303915546696e-8,0.0024323294873825944,3.491423748049786e-5,-4.3134445579347336e-8,0.002432896167264619,3.476495141289254e-5,-4.294268271529085e-8,0.0024335222309093078,3.4737272570903575e-5,-4.2897907650809233e-8,0.0024341473034816276,3.484777220801906e-5,-4.3021473228785095e-8,0.0024347141143896403,3.5078911481254485e-5,-4.3293103813853885e-8,0.0024351828565165653,3.5387420696509406e-5,-4.3660807647483854e-8,0.0024355382696882246,3.571869639847352e-5,-4.4058284519528546e-8,0.0024357886769330174,3.602113490945862e-5,-4.442243365076725e-8,0.0024359595899447976,3.6255981177570735e-5,-4.470551282002724e-8,0.002436085616257832,3.64014787157889e-5,-4.4880378715262854e-8,0.002436203431207954,3.645261201880796e-5,-4.49403083766768e-8,0.002436346881699283,3.641860110716656e-5,-4.489600455109322e-8,0.0024365439720128446,3.631989439005647e-5,-4.477193408814986e-8,0.002436814886263786,3.618547757967348e-5,-4.460305079373914e-8,0.0024371701965660787,3.605043991849035e-5,-4.443187709405474e-8,0.0024376087810835056,3.5953118153448417e-5,-4.430512313890507e-8,0.002438115638816738,3.593080766479197e-5,-4.42685612060324e-8,0.0024386606910261066,3.601319060175138e-5,-4.43590417894124e-8,0.0024392005329820178,3.621366124796751e-5,-4.459380937231256e-8,0.0024396852406738875,3.652073535771226e-5,-4.495979153559817e-8,0.002440070792536112,3.689393707336404e-5,-4.540830813754903e-8,0.0024403341938348043,3.7269028978704966e-5,-4.586125501539923e-8,0.0024404847869948067,3.757420212930339e-5,-4.6230801286461525e-8,0.0024405649339235085,3.775253295873212e-5,-4.6446847061845124e-8,0.0024406379971211724,3.778108573313487e-5,-4.6480442904616754e-8,0.0024407684360130493,3.7678040163525975e-5,-4.635265130274541e-8,0.002441002576816896,3.749564568269083e-5,-4.6126207922268527e-8,0.0024413569455008703,3.730344562480743e-5,-4.58853778897302e-8,0.0024418164775716804,3.716885726843634e-5,-4.571251766869334e-8,0.002442341086211704,3.7141004685513786e-5,-4.566838003723965e-8,0.002442877339190302,3.72411338432493e-5,-4.5780171769525656e-8,0.002443371731515466,3.746064251142103e-5,-4.603872319654958e-8,0.002443782406429579,3.7766052234272806e-5,-4.640413953378797e-8,0.002444086872764397,3.810893879139721e-5,-4.681768347059421e-8,0.002444284388309687,3.843785498667255e-5,-4.721633349478445e-8,0.002444393232414692,3.8709012326829734e-5,-4.7546011694557105e-8,0.002444444549161754,3.889334328329184e-5,-4.7770454539860257e-8,0.002444475074792687,3.8979187827749855e-5,-4.787468720267451e-8,0.0024445206944451194,3.8971331473534686e-5,-4.7863936944109584e-8,0.0024446118314487707,3.8887888173957045e-5,-4.775982946018779e-8,0.0024447706911564257,3.8756507830295623e-5,-4.7595742185117445e-8,0.002445009754862674,3.861079858955392e-5,-4.741246632391835e-8,0.002445330792627307,3.848709249206566e-5,-4.7254353116952106e-8,0.0024457239072774276,3.84210898084392e-5,-4.7165331531864033e-8,0.002446166646694304,3.844355610942536e-5,-4.71836986496915e-8,0.002446624062616858,3.857428817952799e-5,-4.733464480752854e-8,0.0024470514934107203,3.88144481598043e-5,-4.762062321108293e-8,0.002447402125327943,3.913928762815128e-5,-4.801212199106996e-8,0.0024476400881559847,3.9495739935443694e-5,-4.8444475535150416e-8,0.0024477561339314394,3.981049166716775e-5,-4.8827712071902615e-8,0.002447778077693695,4.001077266348328e-5,-4.9072160123498955e-8,0.0024477670483197492,4.005148747549024e-5,-4.9121840338880554e-8,0.0024477974812433497,3.993465087268592e-5,-4.897832831402965e-8,0.002447929926440992,3.9709268450711776e-5,-4.870064967828901e-8,0.0024481909223161946,3.9451954414470326e-5,-4.838174394154787e-8,0.0024485684783898502,3.923993501418732e-5,-4.811575988446022e-8,0.0024490213965491316,3.9129377699806304e-5,-4.797180052202577e-8,0.0024494948154261892,3.91451644029732e-5,-4.798138431887394e-8,0.002449935069477873,3.928119976470324e-5,-4.8138482471436045e-8,0.002450300397506881,3.9507323269912974e-5,-4.840749035993413e-8,0.0024505668157711494,3.9779044908857327e-5,-4.8734735279841313E-08,0.0024507297637555462,4.004759573096723e-5,-4.906061161920809e-8,0.002450802394303154,4.02688488745371e-5,-4.9330599704006644e-8,0.0024508113644507706,4.0410128173367605e-5,-4.95038655686505e-8,0.002450791125069385,4.0454212555310635e-5,-4.955844487476108e-8,0.0024507778465312773,4.040035570468197e-5,-4.949267054201453e-8,0.0024508040198822152,4.026270069107783e-5,-4.932327950223557e-8,0.0024508944505534447,4.006688255862525e-5,-4.908122347286046e-8,0.0024510638634689867,3.984580917053899e-5,-4.880648823794057e-8,0.00245131584498336,3.963541528939374e-5,-4.854295462312273e-8,0.002451642653661857,3.9470681141633724e-5,-4.833364518839405e-8,0.002452025536044154,3.938176083843848e-5,-4.8216083300638214e-8,0.002452435488543121,3.938977033584164e-5,-4.8217107227132724e-8,0.002452835048062748,3.950174696583605e-5,-4.8346481745672895e-8,0.0024531824507044967,3.970500384005907e-5,-4.858962496972789e-8,0.0024534396241559695,3.9962702831889606e-5,-4.890182990265696e-8,0.0024535843268946146,4.021443150526203e-5,-4.920880941676828e-8,0.002453623652929858,4.0386636134526066e-5,-4.9419622792017125e-8,0.002453601452891794,4.041499005959166e-5,-4.945444695873122e-8,0.0024535904575645672,4.0272043808040254e-5,-4.9278768855135644e-8,0.002453667088416081,3.9984366591700615e-5,-4.892445528448971e-8,0.0024538804961186404,3.9625472135700606e-5,-4.8481018851177726e-8,0.002454234041076148,3.9286627001372286e-5,-4.8059919577965076e-8,0.002454688758937021,3.90430339964667e-5,-4.7753378723272426e-8,0.002455182859858328,3.893307901809375e-5,-4.760913419343073e-8,0.0024556538362148746,3.895585698194267e-5,-4.762729962876685e-8,0.0024560537286482022,3.908100050787737e-5,-4.777201985779246e-8,0.00245635559786168,3.92623565237223e-5,-4.7987768345426784e-8,0.002456553543520675,3.945013089553443e-5,-4.821391608652092e-8,0.002456659304914327,3.9599666210168044e-5,-4.839543997652059e-8,0.002456697551274787,3.9677063676223765e-5,-4.849000855734107e-8,0.002456700822614684,3.966238759049165e-5,-4.847222180997126e-8,0.0024567044573505052,3.9550907364328136e-5,-4.833540821334541e-8,0.0024567417680072287,3.935256550822404e-5,-4.8091109193474636e-8,0.0024568398052084747,3.9089819952275556e-5,-4.776643242859904e-8,0.002457016102034005,3.879409971555748e-5,-4.739964644423014e-8,0.0024572767266246858,3.850135084065896e-5,-4.7034702557923994e-8,0.002457615714144817,3.8247292949526414e-5,-4.671548886753261e-8,0.002458015719767934,3.806281830374309e-5,-4.648030512056859e-8,0.0024584497093368225,3.7969709899505705e-5,-4.6356668032574766e-8,0.0024588835950892117,3.797672416493626e-5,-4.6356402548602995e-8,0.002459280019112911,3.8076035091713856e-5,-4.647098884390965e-8,0.0024596039507214372,3.8240450757803655e-5,-4.666776031810568e-8,0.0024598307142160007,3.842294852242427e-5,-4.68890281670926e-8,0.002459955918353923,3.8561282527527495e-5,-4.7057687283657186e-8,0.0024600044256263562,3.85906258738798e-5,-4.7093002809037085e-8,0.0024600323640595525,3.846469351560399e-5,-4.693699010582562e-8,0.002460115198327215,3.817888591278212e-5,-4.658318142014719e-8,0.0024603211513315733,3.778139333481038e-5,-4.609033001301854e-8,0.0024606816896058582,3.7360118141523624e-5,-4.5566248750844804e-8,0.0024611773581020993,3.700873869629158e-5,-4.5126111329188663e-8,0.0024617480565587665,3.679136890764092e-5,-4.484915535672109e-8,0.0024623194040428297,3.6725241793431914e-5,-4.4757458521259293e-8,0.002462828313114861,3.6785610286324895e-5,-4.4821776764596e-8,0.0024632368323780508,3.692313753770688e-5,-4.49825480110503e-8,0.002463533911415987,3.7081973038857536e-5,-4.517174974987359e-8,0.002463730207416001,3.72123954530806e-5,-4.5328262829285335e-8,0.0024638508339381053,3.727738907944816e-5,-4.540602228952397e-8,0.0024639287406243806,3.725496815222289e-5,-4.537712390347134e-8,0.002463999440178538,3.7138246844026674e-5,-4.523220853693909e-8,0.002464096769834068,3.693441043162565e-5,-4.4979410248424785e-8,0.002464249278477507,3.6662920271676045e-5,-4.464221452771284e-8,0.0024644771058909905,3.6352892349154964e-5,-4.4256185173269244e-8,0.0024647894963774355,3.60394813223482e-5,-4.3864446992286476e-8,0.00246518333004217,3.575928664507124e-5,-4.3512032388348086e-8,0.00246564308966862,3.5545192829730305e-5,-4.323961698689231e-8,0.002466142462746481,3.54212599682058e-5,-4.30773347216381e-8,0.0024666475561435836,3.539825611996659e-5,-4.303928925890125e-8,0.002467121549800276,3.5470424064565755e-5,-4.311941218583528e-8,0.002467530510301026,3.5614038369783264e-5,-4.328936880925462e-8,0.0024678501018424014,3.578830836147025e-5,-4.3499317664747304e-8,0.00246807277205011,3.5939557401127685e-5,-4.368284640476247e-8,0.0024682141340358534,3.6009986170699735e-5,-4.3767824546787344e-8,0.002468315806348312,3.595167953042106e-5,-4.369398422338407e-8,0.002468440719277613,3.574403825458124e-5,-4.343483114258189e-8,0.0024686576285004418,3.5408406295791984e-5,-4.301598790135291e-8,0.002469016756628685,3.5009868675168896e-5,-4.251749277816247e-8,0.002469527016305481,3.4639085816369505e-5,-4.2051331770138575e-8,0.0024701491272457075,3.437918303108398e-5,-4.172053655964463e-8,0.0024708107727132163,3.4275108324639473e-5,-4.1581346163947136e-8,0.0024714349391305145,3.432221330845508e-5,-4.162900742123513e-8,0.0024719649634269477,3.447673339527891e-5,-4.181047415170179e-8,0.0024723756773897968,3.4677347990773343e-5,-4.2050733510056084e-8,0.0024726711706196352,3.486498141779451e-5,-4.227704642717137e-8,0.002472875776800631,3.499457801076819e-5,-4.243345755026598e-8,0.002473024311147267,3.5039164456257024e-5,-4.248596282344877e-8,0.002473154485424879,3.49892258455584e-5,-4.24219893311207e-8,0.0024733018836487117,3.485023256564978e-5,-4.224757508831041e-8,0.0024734966693373177,3.4639859686924084e-5,-4.198405931463602e-8,0.002473761122223743,3.4385249288497285e-5,-4.166470061647262e-8,0.0024741075410927692,3.412005527399114e-5,-4.1330957835760266e-8,0.0024745365035125336,3.388081280598191e-5,-4.1027956557272016e-8,0.0024750358991933777,3.3702298329276224e-5,-4.0798783384882296e-8,0.002475581446443766,3.361205682415149e-5,-4.0677810154140694e-8,0.0024761393094790735,3.362488283309667e-5,-4.068393655070341e-8,0.00247667099923248,3.3738415010136826e-5,-4.081509111115514e-8,0.0024771401592741794,3.393112591255991e-5,-4.104553604679316e-8,0.0024775202300596727,3.4163782098038836e-5,-4.132736396042357e-8,0.0024778015552186553,3.4384841805604154e-5,-4.15968981141725e-8,0.002477996355230064,3.453957481857277e-5,-4.178587242689799e-8,0.002478139925461257,3.4582095835946386e-5,-4.183646089222978e-8,0.0024782863608294597,3.448855008036613e-5,-4.171792894077942e-8,0.002478497599215119,3.426810101996982e-5,-4.1440616533293496e-8,0.002478826423475806,3.3966768621773196e-5,-4.106097101147728e-8,0.002479297655651806,3.365920201414745e-5,-4.067146491268234e-8,0.0024798956470742607,3.3427359889743966e-5,-4.0374142208359564e-8,0.002480566263107198,3.333281657692773e-5,-4.0246164098665086e-8,0.0024812348815230548,3.339569240715765e-5,-4.031349099874403e-8,0.002481832069138389,3.359098154088289e-5,-4.054608293176884e-8,0.0024823140828337882,3.3862509899205475e-5,-4.087496962472572e-8,0.0024826701499891905,3.4144843169478624e-5,-4.121926049669797e-8,0.0024829174589391183,3.438196398751778e-5,-4.150927531351717e-8,0.002483090231395934,3.453716218275256e-5,-4.169890994247633e-8,0.0024832289273681676,3.459479555529096e-5,-4.1768010969739914e-8,0.0024833725099405357,3.455739202683464e-5,-4.171898971311369e-8,0.002483553953461178,3.444130953944551e-5,-4.1571586234288615e-8,0.002483797896582137,3.42726872143246e-5,-4.135789466565913e-8,0.002484119250717028,3.408404982664835e-5,-4.111811949072816e-8,0.0024845220544084173,3.3911157045767064e-5,-4.08966177191401e-8,0.0024849984608592214,3.378942234513219e-5,-4.073744810316272e-8,0.002485528319030998,3.37493393541924e-5,-4.0678740705520224e-8,0.0024860802611576817,3.381090099062003e-5,-4.07458217081001e-8,0.002486615292822404,3.3977887022200906e-5,-4.094410565553709e-8,0.0024870933615432594,3.4233776242617746e-5,-4.1253884823212716e-8,0.0024874822433588704,3.454145160287273e-5,-4.162972775740252e-8,0.0024877666980437367,3.4848325612800404e-5,-4.200659476353093e-8,0.002487954948091704,3.5096872718110185e-5,-4.2312767159825944e-8,0.0024880797904155523,3.523845842873798e-5,-4.248704298833028e-8,0.002488193043039279,3.5246843277377304e-5,-4.249570636640487e-8,0.0024883539592743067,3.512738494103619e-5,-4.234426909230887e-8,0.0024886140602875923,3.49187025600563e-5,-4.207987071532803e-8,0.002489002194927896,3.468515900952789e-5,-4.178219564842183e-8,0.0024895143834379584,3.450085337149065e-5,-4.1543686661381805e-8,0.002490112692358687,3.4428839747837344e-5,-4.144362746866002e-8,0.002490735095733774,3.4502254176917696e-5,-4.152441444489307e-8,0.002491313820334456,3.47148501990305e-5,-4.177943206499539e-8,0.0024917952057646542,3.5025110867509906e-5,-4.21578484386859e-8,0.002492153108185882,3.537166319265242e-5,-4.2583614770799746e-8,0.0024923915653697563,3.569250545655623e-5,-4.297938359576452e-8,0.0024925381077774505,3.594019773552308e-5,-4.328553882965522e-8,0.0024926327298874706,3.608907519420701e-5,-4.346936640882342e-8,0.0024927174854313663,3.6135139860801745e-5,-4.352511605516019e-8,0.0024928293045150462,3.6091731116077385e-5,-4.3468759712982866e-8,0.0024929962078651933,3.598404077227055e-5,-4.3331234070503576e-8,0.002493235828937878,3.584424198247867e-5,-4.315237723752643e-8,0.002493554988497319,3.5707654226319e-5,-4.297612739315671e-8,0.002493949475402431,3.560950550536974e-5,-4.284648196073154e-8,0.002494403814902926,3.558150409860973e-5,-4.2803251027824265e-8,0.0024948914829334063,3.5647523756435825e-5,-4.287670742727347e-8,0.0024953765911673344,3.581825773142045e-5,-4.308089582356996e-8,0.0024958182908375675,3.608573040867354e-5,-4.340666705533066e-8,0.0024961786512342457,3.641986140806195e-5,-4.381718846972339e-8,0.0024964332001036105,3.677013333856981e-5,-4.424981283072611e-8,0.002496580985875428,3.707466125980302e-5,-4.4627260595163124e-8,0.00249664942189288,3.7275972463325826e-5,-4.487730097257107e-8,0.002496690103679088,3.733875515066651e-5,-4.4954995613220536e-8,0.0024967655193018647,3.726250067358835e-5,-4.485864320894178e-8,0.002496931013734003,3.7083456871196986e-5,-4.46324458229267e-8,0.0024972186148263043,3.686490845186074e-5,-4.435466169172905e-8,0.002497628180291189,3.6679510733870065e-5,-4.411582351619956e-8,0.002498128079111284,3.658972340409257e-5,-4.3994441199673844e-8,0.0024986644042137227,3.663208106121771e-5,-4.4037246854020054e-8,0.0024991755753180833,3.680926861936187e-5,-4.4248953740883185e-8,0.002499608064555356,3.709163133072151e-5,-4.459370765840227e-8,0.0024999288144117358,3.742710477725366e-5,-4.500715060851872e-8,0.0025001310412585205,3.775603780312682e-5,-4.5414811573711545e-8,0.0025002324917523817,3.8025992028683344e-5,-4.57506862741052e-8,0.002500267909808244,3.82021913744237e-5,-4.5970516699009e-8,0.0025002791334092648,3.827161818741498e-5,-4.6057156152074936e-8,0.002500306150636883,3.824142696912959e-5,-4.601877616789812e-8,0.002500381023813219,3.813396254515294e-5,-4.588273798227383e-8,0.002500524917925695,3.7980819109320463e-5,-4.5688184530668866e-8,0.002500747387946368,3.781755623906785e-5,-4.547941847511398e-8,0.0025010467943652028,3.7679593748579237e-5,-4.530076608806616e-8,0.002501411000812327,3.759894473403009e-5,-4.5192519652786e-8,0.002501818061535664,3.76010451065458e-5,-4.518700349120371e-8,0.002502237249305373,3.7700983349453346e-5,-4.530383549196263e-8,0.002502631391630373,3.789891117462528e-5,-4.5544060670952407e-8,0.0025029618245448393,3.817544639615828e-5,-4.588418136956523e-8,0.0025031968555852867,3.8489391629367015e-5,-4.6273070203581374e-8,0.002503322900130418,3.878132383082006e-5,-4.6636329847159344e-8,0.0025033544659702643,3.898595666221756e-5,-4.689179674409995e-8,0.0025033366866835474,3.9052160624291637e-5,-4.6974744631872444e-8,0.002503335424761968,3.8963286204251026e-5,-4.686346369928086e-8,0.002503416415545243,3.874697513072474e-5,-4.659163332249408e-8,0.002503622458507168,3.846773122092755e-5,-4.623914977805023e-8,0.0025039595976610314,3.820530008492874e-5,-4.590530882256746e-8,0.002504397631776516,3.802946606966512e-5,-4.5677537488936655e-8,0.002504882299547712,3.798169372682445e-5,-4.560852435839345e-8,0.002505352221421315,3.806826004220745e-5,-4.570743517294879e-8,0.00250575432324309,3.8263797822131395e-5,-4.59439244261933e-8,0.0025060542893460607,3.852145546614233e-5,-4.6260390338084265e-8,0.002506241100184328,3.878568465963214e-5,-4.658768272125083e-8,0.0025063261680084966,3.900454144029845e-5,-4.686046599932783e-8,0.0025063382859264074,3.913932359754488e-5,-4.702948014495108e-8,0.0025063160483484925,3.917014569025023e-5,-4.706882713849625e-8,0.002506299694580531,3.9097007570934184e-5,-4.697758835500036e-8,0.0025063241642786917,3.893705066219002e-5,-4.677655197485161e-8,0.002506414458106024,3.8719469291395064e-5,-4.650187612960767e-8,0.002506583529031959,3.847966713294664e-5,-4.6197729527279165e-8,0.0025068322231723375,3.825390939784268e-5,-4.5909552105830005e-8,0.00250715042643049,3.8075081039815325e-5,-4.5678747389959236e-8,0.002507518671035578,3.79694315028609e-5,-4.553864588391083e-8,0.002507909881434134,3.7953757863868274e-5,-4.551099211154035e-8,0.0025082914429322,3.8032479762118567e-5,-4.560219705504129e-8,0.0025086283062298424,3.819441369790588e-5,-4.5799089344806656e-8,0.002508888222288745,3.8409920504514224e-5,-4.6065065644875405e-8,0.002509049867274366,3.863051042059274e-5,-4.633938175836797e-8,0.002509113004638694,3.879425510226927e-5,-4.654391267553016e-8,0.0025091068429147767,3.883993594289078e-5,-4.6601084959132783e-8,0.0025090898042000585,3.872875934821506e-5,-4.6461387254399373e-8,0.002509134996273683,3.846495952331999e-5,-4.6129379088556667e-8,0.002509303823785431,3.810176136963081e-5,-4.567118163005868e-8,0.0025096206611317003,3.77249340788089e-5,-4.519386918014874e-8,0.0025100635025889603,3.742094334698776e-5,-4.480570179737146e-8,0.0025105750725739227,3.7247279761174246e-5,-4.4579149479260436e-8,0.0025110856597778002,3.721891833235642e-5,-4.4533963341258614e-8,0.0025115347336513087,3.7312355209207396e-5,-4.464198908935113e-8,0.0025118837717088426,3.7479672497395944e-5,-4.4844363555259744e-8,0.0025121197805155586,3.766434463552293e-5,-4.507092241835546e-8,0.0025122524606316582,3.781403239390384e-5,-4.5256039989766344e-8,0.002512308218517646,3.788897265948401e-5,-4.534921710684068e-8,0.002512323198993744,3.7866377431753216e-5,-4.532087455967344e-8,0.0025123364352792246,3.774164049515155e-5,-4.5164209733579505e-8,0.002512383722153255,3.752690440451212e-5,-4.4893662222274306e-8,0.0025124927690744884,3.724752495244522e-5,-4.454058376296237e-8,0.0025126800686300593,3.6937187041074546e-5,-4.4147073781900625e-8,0.002512949640805612,3.663249847498581e-5,-4.3759102263850506e-8,0.0025132935154346414,3.636784559588725e-5,-4.3419995601533096e-8,0.0025136935134270817,3.6171127440481755e-5,-4.3165098457630535e-8,0.002514123766723244,3.606055777639336e-5,-4.301781026749884e-8,0.002514553618955688,3.604231707921164e-5,-4.298663815376317e-8,0.0025149508839445193,3.610876316223164e-5,-4.306282715704458e-8,0.0025152857940081257,3.6237122105096005e-5,-4.321846926867821e-8,0.0025155362609611655,3.6389174493579715e-5,-4.3405830751730746e-8,0.002515694790395706,3.651350376824656e-5,-4.356001367114698e-8,0.002515776049335391,3.6552764092910476e-5,-4.360815615449484e-8,0.0025158217306482694,3.64579617376964e-5,-4.348766977365181e-8,0.002515896936537497,3.620833883698536e-5,-4.317158041654697e-8,0.002516073071847446,3.5828669318152446e-5,-4.269046581534293e-8,0.002516399987719169,3.539060604592482e-5,-4.213413246847748e-8,0.0025168814606322987,3.499021840014745e-5,-4.162331415721513e-8,0.0025174707936113064,3.4710531005774946e-5,-4.126263149227772e-8,0.002518090589616577,3.459078644678115e-5,-4.1102057661954364e-8,0.002518663524727177,3.4618912918017596e-5,-4.112741399925282e-8,0.0025191361740298083,3.474582741761788e-5,-4.1278096176040484e-8,0.0025194875406559848,3.490802432070915e-5,-4.147510457868247e-8,0.002519725292742549,3.504638962014763e-5,-4.16444050552658e-8,0.0025198766141857846,3.5116951628882e-5,-4.173036446018124e-8,0.002519978706172601,3.509468993429849e-5,-4.1700694202266914e-8,0.002520071130482626,3.497310385097045e-5,-4.154621540106111e-8,0.002520190252699242,3.4761794687652565e-5,-4.1278135639874127e-8,0.0025203652372844786,3.448316626617987e-5,-4.092409555262571e-8,0.002520615191656812,3.416849468288395e-5,-4.05232510677893e-8,0.002520947440465501,3.385345763496335e-5,-4.0120551152513905e-8,0.002521357059662189,3.3573332103171066e-5,-3.976057689732734e-8,0.0025218278023055253,3.335822588172072e-5,-3.9481488035551096e-8,0.0025223344083919984,3.3228896480038676e-5,-3.930979257938309e-8,0.0025228460215779803,3.319367073788616e-5,-3.925652251261835e-8,0.0025233303087924958,3.324669892834196e-5,-3.9315015622613785e-8,0.0025237579626117535,3.336760095667987e-5,-3.946031753109398e-8,0.0025241074151963775,3.352256518500154e-5,-3.9650309128366536e-8,0.0025243697315655363,3.366716014331096e-5,-3.982900185191263e-8,0.002524553460207322,3.375163915239177e-5,-3.9933128485974816e-8,0.002524688300114605,3.37298851909107e-5,-3.9903559505638475e-8,0.002524824998114826,3.357240651657453e-5,-3.970202211903166e-8,0.0025250277665400896,3.328120777325597e-5,-3.933021967054159e-8,0.002525356611076024,3.289990453199541e-5,-3.8842803606554595e-8,0.0025258428381231134,3.250914558990305e-5,-3.834160036262284e-8,0.0025264698957574395,3.220189906693548e-5,-3.794432342774024e-8,0.0025271741566565867,3.2047197639093385e-5,-3.773873488953271e-8,0.002527868930050737,3.206296769477658e-5,-3.7748283537389005e-8,0.002528477957775852,3.2214078628227146e-5,-3.792951338789108e-8,0.0025289589671146006,3.243333093220877e-5,-3.8198347470684486e-8,0.002529308244893737,3.2649160481611736e-5,-3.8464834618929027e-8,0.002529551044230285,3.280554245702909e-5,-3.8658136766423037e-8,0.0025297276422903844,3.286996887218826e-5,-3.873662679239773e-8,0.0025298816375502052,3.283279972249427e-5,-3.8687266747971134e-8,0.002530052440279624,3.2702708511500886e-5,-3.852013964263886e-8,0.0025302712732322313,3.250144171865661e-5,-3.8262077101730963E-08,0.002530559210242333,3.22591991158146e-5,-3.7950935413685944e-8,0.002530926148178654,3.2010602838034795e-5,-3.7630466201304596e-8,0.002531370351391248,3.1790798148834993e-5,-3.7345270529438355e-8,0.0025318786907376338,3.1631370951251876e-5,-3.713553615551818e-8,0.0025324279262051433,3.155608559611767e-5,-3.703162366365894e-8,0.0025329874164920214,3.1576901848478516e-5,-3.704907123537745e-8,0.0025335233363896095,3.1691081346079224e-5,-3.71849683887019e-8,0.002534004013295205,3.1880164541897305e-5,-3.741660475396124e-8,0.0025344056658638974,3.211134266810114e-5,-3.770302889521404e-8,0.0025347176716889862,3.234141683476799e-5,-3.798981805268735e-8,0.0025349464931195965,3.25231453918205e-5,-3.821692596727692e-8,0.002535117468766687,3.261356425395861e-5,-3.832919965284332e-8,0.002535273522037362,3.25837585549067e-5,-3.828894828785741e-8,0.0025354694854592633,3.242890013057747e-5,-3.808899818124254e-8,0.0025357608919522735,3.217582413424165e-5,-3.776263794934066e-8,0.002536187666940124,3.1883621764644e-5,-3.738458087106923e-8,0.0025367568259437178,3.1632385404099197e-5,-3.7056717765237276e-8,0.0025374327525164407,3.1499190159307474e-5,-3.687752844703763e-8,0.0025381439662942977,3.152925181564535e-5,-3.690529396896161e-8,0.00253880714969785,3.1717495544648184e-5,-3.7134493175846014e-8,0.002539357012067217,3.201212311537006e-5,-3.7500132915228656e-8,0.002539765928854451,3.233760649167408e-5,-3.79067823651572e-8,0.0025400453147970577,3.2622583246552875e-5,-3.82638918563021e-8,0.0025402331112333227,3.281872156862578e-5,-3.850972952935261e-8,0.002540377487382661,3.290621872055572e-5,-3.8618458257282727e-8,0.002540524155092487,3.288979390474908e-5,-3.8595246105451726e-8,0.0025407093934606078,3.279105867884921e-5,-3.846681028316092e-8,0.002540957537634892,3.2641231271875194e-5,-3.827233474111451e-8,0.002541280815381751,3.247562338960235e-5,-3.805651702208651e-8,0.0025416799467947535,3.232966235413645e-5,-3.786445609457888e-8,0.002542144857740274,3.223562798311164e-5,-3.7737407372711096e-8,0.002542655579590631,3.221938662051105e-5,-3.7708565661377785e-8,0.0025431838362320446,3.229680174430522e-5,-3.779849423590047e-8,0.0025436960054889923,3.247013233511464e-5,-3.8010564296692125e-8,0.00254415790798978,3.272542643389036e-5,-3.8327620226833e-8,0.002544541182956549,3.303226997284184e-5,-3.871155421654684e-8,0.0025448301444755037,3.334704611861932e-5,-3.9107270584671315e-8,0.0025450273211040327,3.3620069672829226e-5,-3.9451574837501164e-8,0.002545155729501141,3.380568399136757e-5,-3.968592063249876e-8,0.002545256556630443,3.387319471601984e-5,-3.977037692107729e-8,0.0025453820443540687,3.3816009067509984e-5,-3.969547432241733e-8,0.002545584452323269,3.365650342624907e-5,-3.948871602576002e-8,0.0025459029162299583,3.344455147949948e-5,-3.9213016496428415e-8,0.0025463510522096334,3.324840420752361e-5,-3.895529090102889e-8,0.002546909232956193,3.3138246514345544e-5,-3.8805530645937213e-8,0.002547525817875957,3.31656565561402e-5,-3.883045961997576e-8,0.002548129745697608,3.334578366524815e-5,-3.9050513834874766e-8,0.002548651901131051,3.3650693689135876e-5,-3.9431034299941284e-8,0.00254904685669721,3.4018656743914485e-5,-3.989388291545174e-8,0.002549305056062235,3.4375770534290136e-5,-4.034493649891447e-8,0.002549450755241978,3.465939649203068e-5,-4.070401123079711e-8,0.0025495291586907494,3.4833241697630345e-5,-4.092420182378461e-8,0.002549590687379239,3.4890489219274215e-5,-4.099602575860678e-8,0.0025496789205144556,3.4848031855415884e-5,-4.0940251920067316e-8,0.0025498244612649898,3.473730209237217e-5,-4.079637327911076e-8,0.0025500436032672657,3.459585033605535e-5,-4.061196445682029e-8,0.002550339547154352,3.4461308211710806e-5,-4.0434988555481746e-8,0.0025507043433619027,3.4367523260307965e-5,-4.030880973480197e-8,0.0025511206731693597,3.4341897944161364e-5,-4.0268729945377805e-8,0.002551563424104876,3.4402972367080165e-5,-4.03388608138628e-8,0.002552001606617659,3.4557690980306746e-5,-4.0528610973922175e-8,0.002552401461273141,3.479848664498499e-5,-4.082892216673804e-8,0.0025527314827823774,3.510120673609544e-5,-4.120952912256527e-8,0.002552969364218686,3.542565410114826e-5,-4.161951137566323e-8,0.0025531095580215266,3.572058968524942e-5,-4.19935413975739e-8,0.002553168729760865,3.59339104478195e-5,-4.226480110017664e-8,0.0025531858573809097,3.602631744383978e-5,-4.238244913932361e-8,0.0025532150611217693,3.598419299693054e-5,-4.232817322961466e-8,0.002553312233386756,3.582648549097322e-5,-4.212517282076237e-8,0.0025535195183206613,3.560220174300033e-5,-4.1835212060668614e-8,0.002553852830502855,3.537869695525301e-5,-4.15439349344679e-8,0.0025542964378125308,3.5224255096316406e-5,-4.133880357556166e-8,0.002554806195557747,3.519005643611671e-5,-4.1286055750094206e-8,0.002555320571266334,3.5296537354939525e-5,-4.141303722830442e-8,0.0025557766128750385,3.552799805828805e-5,-4.170091750744843e-8,0.002556126465171574,3.583732608559857e-5,-4.209034923582469e-8,0.002556349360987087,3.615973932622834e-5,-4.249882289419115e-8,0.0025564551410904254,3.6431100822784126e-5,-4.284408179364047e-8,0.0025564785276809823,3.6604393384032696e-5,-4.306534222497807e-8,0.002556467160589559,3.6658984478097046e-5,-4.3135357610844236e-8,0.002556468510402671,3.660096821231846e-5,-4.306106582894111e-8,0.0025565200544311623,3.645675748916501e-5,-4.28755593884766e-8,0.0025566445046864778,3.626394236750845e-5,-4.262649174123844e-8,0.0025568493925952245,3.606285126280341e-5,-4.236530656389189e-8,0.002557129168848333,3.589047078361781e-5,-4.213942711868888e-8,0.0025574680949682657,3.5776750212926264e-5,-4.1987475893609535e-8,0.0025578429268030643,3.574244515459497e-5,-4.193647233080398e-8,0.002558225197975276,3.579750560221392e-5,-4.1999734310573656e-8,0.0025585835602312756,3.593934241195524e-5,-4.217460204810126e-8,0.002558887016647417,3.61509584570488e-5,-4.2439939751589254e-8,0.0025591098618594843,3.639984373749989e-5,-4.2754572922321514e-8,0.002559238497448476,3.663948624180955e-5,-4.305908526809104e-8,0.002559278835866122,3.6815737799850185e-5,-4.3283910146574906e-8,0.002559261046831353,3.68791601038681e-5,-4.336518833602966e-8,0.0025592372774527606,3.680125222475687e-5,-4.3265665007869605e-8,0.0025592697003744484,3.658826729490232e-5,-4.299250430234186e-8,0.0025594113266689754,3.6284623802832374e-5,-4.260177686092147e-8,0.0025596874257284618,3.596177093402923e-5,-4.218437109225698e-8,0.0025600863540812774,3.569620677368294e-5,-4.183807532178788e-8,0.002560563687246403,3.554623400075656e-5,-4.1637989758230514e-8,0.002561056690233244,3.553661609585996e-5,-4.161684553067492e-8,0.0025615023865055877,3.565507989845713e-5,-4.176023644906828e-8,0.002561853048804872,3.585927599621287e-5,-4.20151041647804e-8,0.0025620856129585094,3.6090108860365954e-5,-4.230643641429664e-8,0.0025622040446008454,3.628699041834416e-5,-4.255663518033421e-8,0.0025622353918832905,3.6401300490328786e-5,-4.270283147309331e-8,0.0025622213473997326,3.6405401558346106e-5,-4.2708678956345274e-8,0.0025622078408738705,3.6295813489391095e-5,-4.256872173084837e-8,0.0025622353848293975,3.609068615788058e-5,-4.230540259760305e-8,0.00256233232102081,3.582322550250386e-5,-4.1960772840867707e-8,0.002562511863801732,3.553353735483984e-5,-4.158605612885912e-8,0.0025627725248878294,3.526111693837438e-5,-4.123196242121757e-8,0.00256310070883618,3.503928727808233e-5,-4.0941482037820396e-8,0.0025634741471409566,3.4891828381175004e-5,-4.074551346356165e-8,0.002563865248603042,3.483125361276283e-5,-4.066063228427299e-8,0.002564244075042713,3.4857926898380974e-5,-4.068793102758481e-8,0.002564581202623444,3.495942454822687e-5,-4.0812119542659516e-8,0.00256485109943431,3.5110048036088305e-5,-4.100075191629571e-8,0.0025650367242128005,3.527118210779312e-5,-4.120451556732618e-8,0.002565135498337338,3.539413055019303e-5,-4.136076151439963e-8,0.0025651654120114266,3.5427525351978796e-5,-4.1403038721833427e-8,0.0025651680412939974,3.533045146974794e-5,-4.127809559426407e-8,0.0025652038004362098,3.508913423679075e-5,-4.096749224333056e-8,0.0025653363340437958,3.472992631684516e-5,-4.050439181559414e-8,0.0025656093621240807,3.431861032240273e-5,-3.997271395936973e-8,0.0025660270415399614,3.394124366569468e-5,-3.9482630402027894e-8,0.0025665499166005316,3.367374522340637e-5,-3.913169321930131e-8,0.0025671094737676993,3.3555941288687166e-5,-3.8971649823626466e-8,0.0025676326398133926,3.358238507761676e-5,-3.899658257921173e-8,0.00256806353887396,3.3710715096302974e-5,-3.915332696323073e-8,0.0025683748955028416,3.387946611070678e-5,-3.936392740831083e-8,0.0025685688159335627,3.402630843529469e-5,-3.954873741392243e-8,0.0025686706264498697,3.410151913115822e-5,-3.96436201055269e-8,0.002568719735740128,3.4075375284090386e-5,-3.9609586863852165e-8,0.0025687602388208127,3.3940249039981586e-5,-3.9435794394587893e-8,0.002568832735617296,3.370870760914346e-5,-3.913743671001868e-8,0.0025689681542897694,3.340879250968684e-5,-3.874991257803349e-8,0.0025691840551694215,3.307763210742136e-5,-3.832068947589197e-8,0.002569483538443005,3.275462578485857e-5,-3.790047634512565e-8,0.00256985645494049,3.2475309573827486e-5,-3.753521316052912e-8,0.0025702822795653883,3.226668899010827e-5,-3.725997236190257e-8,0.002570733820216625,3.214437650152126e-5,-3.70952464417701e-8,0.002571181033117111,3.211133565934368e-5,-3.70453424363933e-8,0.0025715946013054125,3.215772517602418e-5,-3.7098167201791944e-8,0.002571949318347555,3.226144137496881e-5,-3.722583343084536e-8,0.002572227570996682,3.2389277195387017e-5,-3.738598474604562e-8,0.0025724233208959243,3.249913626791757e-5,-3.752447594345222e-8,0.002572546572517723,3.2544481248383096e-5,-3.7581027423136185e-8,0.002572627105263867,3.248253008845186e-5,-3.7499865346558056e-8,0.0025727146254667485,3.2286766565557764e-5,-3.7246045798024494e-8,0.0025728713746888203,3.196144702345607e-5,-3.6824362906102526e-8,0.0025731546573224077,3.1551122395760685e-5,-3.6291732875808416e-8,0.0025735930611439093,3.113531128318894e-5,-3.5750349486020505e-8,0.0025741686669498156,3.080383281342957e-5,-3.5315932671875985e-8,0.002574818793527538,3.0622158898999846e-5,-3.5073179334983326e-8,0.002575459250901792,3.0606384083367444e-5,-3.5043561582390667e-8,0.0025760157713347175,3.072183306088944e-5,-3.518340880366333e-8,0.0025764462366678763,3.0902486165110045e-5,-3.5408643786040035e-8,0.0025767458975593516,3.107681621716422e-5,-3.562773879707096e-8,0.0025769394739584782,3.118739906047621e-5,-3.5766760816977004e-8,0.0025770682803444704,3.12001551469743e-5,-3.5781267605868635e-8,0.0025771782767451306,3.110525759781823e-5,-3.565767914468704e-8,0.0025773113662062915,3.091339865537416e-5,-3.540879179965687e-8,0.0025774999609862632,3.065026064735654e-5,-3.5066958787603745e-8,0.0025777640357551542,3.035060945700293e-5,-3.4676643389330934e-8,0.002578110043284982,3.0052507451921462e-5,-3.428694627394564e-8,0.002578531397055513,2.979192628154181e-5,-3.3944523195161236e-8,0.0025790103290381297,2.9598057935518227e-5,-3.368738209113566e-8,0.0025795209096909134,2.948965519446499e-5,-3.354007538112134e-8,0.002580032896739608,2.94727630782897e-5,-3.351077440578792e-8,0.0025805159234916397,2.954000878094914e-5,-3.3590389005577315e-8,0.002580943592558336,2.9671294779383406e-5,-3.375345201478358e-8,0.0025812972568394475,2.983567962877638e-5,-3.3960441519085414e-8,0.002581569412426488,2.9994385199715056e-5,-3.416148972868799e-8,0.002581766674986788,3.0105076417356167e-5,-3.430175679860849e-8,0.0025819120683374308,3.0127919994288804e-5,-3.4329229444587715e-8,0.002582045519993052,3.0034048227300084e-5,-3.420579656011638e-8,0.0025822203949664234,2.9816100977510195e-5,-3.392112802616561e-8,0.002582493526172687,2.9498181435378302e-5,-3.3505790908997055e-8,0.0025829078467866826,2.913934269067586e-5,-3.3035889417979293e-8,0.002583471922975573,2.8823154006253027e-5,-3.261957918279001e-8,0.0025841475821974037,2.8630944686295138e-5,-3.236241863773583e-8,0.0025848575009842015,2.860875020177161e-5,-3.23245690882075e-8,0.0025855132051104206,2.8747336224273945e-5,-3.249487409873808e-8,0.0025860483870083825,2.898840096044825e-5,-3.279872884323055e-8,0.0025864386289602428,2.925160284354101e-5,-3.31328354281292e-8,0.0025867003344974215,2.9464434140691195e-5,-3.340364643567008e-8,0.0025868758817611977,2.9580498213838604e-5,-3.355089908895895e-8,0.0025870163518221215,2.958356532888121e-5,-3.3552916689574256e-8,0.00258716874146591,2.948254760991543e-5,-3.342033057128494e-8,0.0025873690254704456,2.930331685653275e-5,-3.31857940505852e-8,0.0025876396104315717,2.908092911135896e-5,-3.289416461028243e-8,0.0025879892061104566,2.88534249664018e-5,-3.259456856612757e-8,0.0025884138089266786,2.8656989162023898e-5,-3.2334059412977954e-8,0.002588898359017111,2.8521979692271508e-5,-3.215231454490244e-8,0.002589419062272378,2.8469586189780088e-5,-3.2077164254932806e-8,0.002589946473323683,2.8509159090307877e-5,-3.212107523599057e-8,0.002590449393316276,2.8636563050092073e-5,-3.227904091415366e-8,0.002590899361197364,2.8834057391279875e-5,-3.2528461699677137e-8,0.00259127520629838,2.9071975778584452e-5,-3.2831291645010475e-8,0.0025915670649930126,2.9312176621478835e-5,-3.313838678718475e-8,0.0025917793326626975,2.951309804139549e-5,-3.33958896106978e-8,0.0025919320721802777,2.96361235160836e-5,-3.355336698452127e-8,0.002592060388232209,2.9652876016196784e-5,-3.357329612354791e-8,0.0025922110409532205,2.9552949250428954e-5,-3.344128213388367e-8,0.0025924352611730508,2.9350891816452204e-5,-3.3175402893513874e-8,0.0025927770732672843,2.908978789339379e-5,-3.2831114881942346e-8,0.0025932582302109035,2.8837351096213648e-5,-3.2496316807290324e-8,0.0025938644424488276,2.8670845449783314e-5,-3.2271752176790486e-8,0.00259454130569729,2.8651787572331885e-5,-3.223802204062918e-8,0.0025952073153012044,2.880006435961552e-5,-3.242178048536644e-8,0.0025957820237779284,2.9082752023308125e-5,-3.2781025144444316e-8,0.002596215451355888,2.942669394122801e-5,-3.3221292787055197e-8,0.0025965024447693404,2.9748129367640864e-5,-3.3634051131772567e-8,0.0025966765282158253,2.998185229157122e-5,-3.3934507817174133e-8,0.002596791242167228,3.009622528063916e-5,-3.408109516064842e-8,0.0025969011572768027,3.0092558261656323e-5,-3.4074756512656124e-8,0.002597049688176753,2.9995632087270322e-5,-3.3946851949197073e-8,0.0025972643186138377,2.9842572236855614e-5,-3.3744958806311066e-8,0.002597556681278304,2.9673938276303314e-5,-3.3521470462183287e-8,0.002597924726275709,2.9527819877394803e-5,-3.332595043754231e-8,0.0025983552864050196,2.9436122490796813e-5,-3.320019805897644e-8,0.002598826556628034,2.9421965307062316e-5,-3.3174709416024415e-8,0.0025993106853013,2.949756098639174e-5,-3.32658027069346e-8,0.002599776848353735,2.9662467082486734e-5,-3.347330412600232e-8,0.0026001951252648077,2.99025861685836e-5,-3.377926073172787e-8,0.0026005411717937273,3.019067108816419e-5,-3.414860105393843e-8,0.002600801115884702,3.048904747005782e-5,-3.453261736501532e-8,0.0026009756449572323,3.075479964565841e-5,-3.487558988314453e-8,0.0026010821201373643,3.094704699047445e-5,-3.512412559281178e-8,0.0026011537374556978,3.103526998712179e-5,-3.523794137373505e-8,0.0026012352359606815,3.100711111394474e-5,-3.52001023446636e-8,0.0026013752640351045,3.08739211784446e-5,-3.5024463414013454e-8,0.0026016160874248713,3.0672358090410115e-5,-3.475804093991398e-8,0.0026019820559800674,3.0460335902351476e-5,-3.447598865451195e-8,0.0026024694362678106,3.0306029731080202e-5,-3.4267389520307465e-8,0.0026030416290290835,3.0270338541856285e-5,-3.421233572704718e-8,0.0026036342474958208,3.0386657894908002e-5,-3.435533680675956e-8,0.0026041720030882468,3.064594194570206e-5,-3.4685549028801975e-8,0.0026045930310347977,3.09961293659131e-5,-3.513578419828963e-8,0.0026048698621258057,3.1359222083486464e-5,-3.560466452625087e-8,0.002605016277847952,3.165875436058266e-5,-3.5992435719287957e-8,0.0026050775582436726,3.1843809880593544e-5,-3.623231983185307e-8,0.0026051114117463955,3.1899280024474e-5,-3.630395313793583e-8,0.0026051700508598736,3.184180085895025e-5,-3.622821835659225e-8,0.0026052897100294578,3.1707923332180516e-5,-3.605202198717156e-8,0.0026054879335475844,3.154166996092474e-5,-3.5832271992857454e-8,0.0026057657097087847,3.138536625159791e-5,-3.5624031184444675e-8,0.0026061113393798714,3.1274330301516524e-5,-3.5473569113068227e-8,0.0026065041725679677,3.123426843754492e-5,-3.5414846395313414e-8,0.0026069176827509784,3.127995084377525e-5,-3.54676479866181e-8,0.0026073221793504135,3.141424395457776e-5,-3.563622226078849e-8,0.002607687760832499,3.162725534231478e-5,-3.590812143263662e-8,0.002607988052610515,3.189600175406857e-5,-3.6253749808592313e-8,0.0026082048747776295,3.218555030603266e-5,-3.662781876104157e-8,0.0026083332526672066,3.2452725750126513e-5,-3.697411627683993e-8,0.0026083853531278017,3.265297934002162e-5,-3.72343878712858e-8,0.0026083914259650088,3.2749867670578894e-5,-3.736065308576354e-8,0.002608396133617845,3.272507890931113e-5,-3.732831038939484e-8,0.0026084499787289036,3.258582024132688e-5,-3.714589715717855e-8,0.0026085974212649975,3.236651424287259e-5,-3.6857515677651e-8,0.0026088647679620098,3.2123260707560836e-5,-3.65358635683691e-8,0.002609251366434725,3.1921661831404596e-5,-3.6266559361749115e-8,0.0026097270315835943,3.182058662536569e-5,-3.612701970627575e-8,0.002610237284691165,3.185588171012813e-5,-3.6165054551592994e-8,0.002610716126815699,3.202876234196642e-5,-3.6383392719986345e-8,0.0026111037028992033,3.23033372673764e-5,-3.6736088564341154e-8,0.0026113636304113436,3.261570097552551e-5,-3.714014721843922e-8,0.002611493434829786,3.2892780986458314e-5,-3.750008482171149e-8,0.002611523495367077,3.307418573417459e-5,-3.7736560791061144E-08,0.002611505142783382,3.312826382278772e-5,-3.780750968567028e-8,0.002611493763715752,3.3056708359165294e-5,-3.771431792722278e-8,0.0026115341933477952,3.2888214172239555e-5,-3.749370515848177e-8,0.0026116528511147953,3.266635873779777e-5,-3.7202054725746606e-8,0.0026118568135878677,3.2437504850753895e-5,-3.6899719726700316e-8,0.0026121372770168093,3.22421675305727e-5,-3.663975855845446e-8,0.0026124744813415092,3.2110441667230555e-5,-3.646188211570326e-8,0.002612842227916604,3.206036322123708e-5,-3.639018811094762e-8,0.00261321139785924,3.2097696128144984e-5,-3.64327692480781e-8,0.00261355274464152,3.2216066114155835e-5,-3.658181139714531e-8,0.0026138396427348816,3.2397063044748426e-5,-3.681367790345908e-8,0.0026140514872013475,3.261067171343822e-5,-3.708942654441659e-8,0.0026141780311365196,3.2817050683532635e-5,-3.7357080590710184e-8,0.002614224114800926,3.297101014117252e-5,-3.7557436147006555e-8,0.002614213119889088,3.303013696291152e-5,-3.7634673802280204e-8,0.002614186549965068,3.296599359632987e-5,-3.755103806085695e-8,0.0026141973753741167,3.277534783937561e-5,-3.7301599143301795e-8,0.002614297046902401,3.248635183237581e-5,-3.69224435741917e-8,0.0026145197475576695,3.215508644569542e-5,-3.648630993783964e-8,0.002614870090159904,3.185171140863245e-5,-3.608467312200419e-8,0.0026153197674543857,3.164059402548646e-5,-3.5801927989370486e-8,0.0026158147703580206,3.156177686629293e-5,-3.569118447274441e-8,0.0026162903077401106,3.1620210993565046e-5,-3.5760006489734524e-8,0.0026166880991987354,3.1785560398102544e-5,-3.5969814749259693e-8,0.002616970841721617,3.200160523740788e-5,-3.624783231824479e-8,0.002617130261397801,3.220181753315225e-5,-3.65072435138508e-8,0.0026171871606737534,3.232655585316976e-5,-3.6669675925902054e-8,0.00261718397046602,3.233719347395405e-5,-3.6683842036219965e-8,0.0026171724016019787,3.222347506708292e-5,-3.6535405177033614e-8,0.0026172002283405987,3.200264024737339e-5,-3.624607593524087e-8,0.0026173011810684,3.171173130676567e-5,-3.586373455846947e-8,0.0026174902392406083,3.139662825485608e-5,-3.544818102047367e-8,0.0026177642440258567,3.110164755113335e-5,-3.5057518398642445e-8,0.0026181060091383474,3.086218416322592e-5,-3.4738433135395185e-8,0.0026184896650506663,3.070099873181416e-5,-3.452121062024481e-8,0.0026188855768160607,3.062736487635263e-5,-3.441851050195791e-8,0.0026192641644238587,3.063776642104189e-5,-3.44262138034998e-8,0.0026195987827379364,3.071705603650061e-5,-3.452490184616867e-8,0.0026198682621240295,3.083960982102611e-5,-3.4681327174304134e-8,0.0026200597799300902,3.0970713580179304e-5,-3.485016751422272e-8,0.0026201724252346513,3.106906901777973e-5,-3.497724556731821e-8,0.002620221032692184,3.1091763777759243e-5,-3.500601824118333e-8,0.0026202386178564006,3.10028288611161e-5,-3.4888839501679675e-8,0.0026202745150329704,3.0784947027866455e-5,-3.4602410900141006e-8,0.0026203852922867623,3.0450819216758257e-5,-3.416279062923851e-8,0.002620618265425924,3.0047622079189514e-5,-3.363132109745287e-8,0.002620992870319827,2.9648323815135033e-5,-3.31033303947174e-8,0.0026214894619416536,2.932979763141325e-5,-3.267956343422445e-8,0.0026220531242507274,2.9146566799369495e-5,-3.2431878766493014e-8,0.002622611657445149,2.9112958080091928e-5,-3.237984681690709e-8,0.0026230987533740094,2.9201352737337322e-5,-3.248826516711856e-8,0.0026234720422993033,2.935474709537481e-5,-3.268331002587069e-8,0.002623720696604966,2.950580934218716e-5,-3.28772184813543e-8,0.002623863141320352,2.9594733190630928e-5,-3.2991532941629956e-8,0.002623938403472255,2.9581523567624585e-5,-3.2973239176112444e-8,0.0026239948751797743,2.945153944445875e-5,-3.280223748832211e-8,0.002624079352158989,2.9214975075539966e-5,-3.249095709508292e-8,0.0026242282334253994,2.8901697565596798e-5,-3.207786296841002e-8,0.0026244620668671175,2.855315053807396e-5,-3.161700102240202e-8,0.0026247839524003213,2.821331655109691e-5,-3.116615430893701e-8,0.0026251814438661785,2.7920728883389294e-5,-3.077624804492969e-8,0.002625630821426735,2.770290261143587e-5,-3.048387523980967e-8,0.0026261023194173497,2.7573621615054672e-5,-3.030759911853844e-8,0.0026265650867071107,2.753272069170523e-5,-3.024760371638935e-8,0.0026269911754542366,2.7567495629662442e-5,-3.0287542037181364e-8,0.0026273585031503107,2.7654808956776647e-5,-3.0397305793839284e-8,0.0026276531846827346,2.776337289842733e-5,-3.0535989704684127e-8,0.0026278717322375995,2.785627661607388e-5,-3.0655133830369624e-8,0.0026280234298139303,2.7894361322732897e-5,-3.0703083939648824e-8,0.0026281325803872136,2.7841478039741167e-5,-3.063189326845691e-8,0.0026282392000712505,2.7672557297109677e-5,-3.040802070948686e-8,0.0026283955437060506,2.7384085700415085e-5,-3.002625965469175e-8,0.00262865565196701,2.700371371201096e-5,-2.9522515841626875e-8,0.002629057605315128,2.6592301817640855e-5,-2.897657699704715e-8,0.0026296042239974493,2.623136467768682e-5,-2.8495630917078668e-8,0.0026302538309996223,2.599585843503772e-5,-2.8178505464655922e-8,0.002630930614107705,2.5924188462011436e-5,-2.807623809106079e-8,0.0026315519205043305,2.6002942441934412e-5,-2.8171931342658712e-8,0.002632057542513618,2.6175113742488016e-5,-2.8391396121084223e-8,0.0026324258329257447,2.6364726212698507e-5,-2.8635308308118833e-8,0.002632672462723894,2.6502714775448774e-5,-2.881304110057633e-8,0.0026328380412312087,2.6543357889184606e-5,-2.8864178132588297e-8,0.0026329731241864014,2.6469411774491017e-5,-2.8765333495100423e-8,0.0026331258609140727,2.6289281768524357e-5,-2.852665947748336e-8,0.0026333338989213834,2.6030282261764095e-5,-2.8183285436663457e-8,0.002633620171689503,2.573080090149753e-5,-2.7785262712895203e-8,0.002633991642655656,2.5432731091922993e-5,-2.7387706234444074e-8,0.0026344403222787766,2.517473880061446e-5,-2.7041855038120544e-8,0.002634946113457011,2.498684705051351e-5,-2.6787753182580472e-8,0.0026354809501950237,2.4886802821856877e-5,-2.6649271729928865e-8,0.0026360135612485953,2.487845151655501e-5,-2.66318567861711e-8,0.0026365141657436557,2.4952076373098923e-5,-2.672296922722169e-8,0.002636958487571637,2.508635806998142e-5,-2.6894714182866534e-8,0.002637330770592852,2.5251345857424093e-5,-2.7107782135658014e-8,0.0026376258574601534,2.541191401004594e-5,-2.731596108184508e-8,0.002637850566159729,2.5531539580490765e-5,-2.747102088376633e-8,0.002638024527826738,2.557660264320669e-5,-2.7528304916922454e-8,0.0026381802741849004,2.552172015255805e-5,-2.7453780860784707e-8,0.0026383615500640014,2.535654692073106e-5,-2.7233147342018143e-8,0.0026386179885873363,2.5093413410281484e-5,-2.6882116638732477e-8,0.002638994289794082,2.4773009859853065e-5,-2.6454097522886618e-8]} \ No newline at end of file diff --git a/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_19.json b/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_19.json new file mode 100644 index 0000000..55ee759 --- /dev/null +++ b/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_19.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1.0,"startIndex":19000,"numberOfSamples":1000,"samples":[0.00263951402096563,2.446275040491078e-5,-2.6038117688221015e-8,0.0026401631724560673,2.4241976200195275e-5,-2.5739261712150362e-8,0.002640884349598046,2.417407411008679e-5,-2.5641764129475454e-8,0.0026415912918163185,2.4277459627606698e-5,-2.577057311285661e-8,0.0026422007751247287,2.4514250198517228e-5,-2.6076268743377622e-8,0.002642664329828072,2.4806135401016956e-5,-2.6455914313675208e-8,0.002642981408758501,2.5067420523334124e-5,-2.6796599674782414e-8,0.0026431902581784475,2.523476738670862e-5,-2.701462116287926e-8,0.0026433473077564114,2.5280434293348607e-5,-2.707291191164421e-8,0.0026435080278592402,2.5209814035850336e-5,-2.6977864625794997e-8,0.0026437153058168224,2.5051197769627946e-5,-2.6766036632474325e-8,0.002643995008250455,2.4844553414124373e-5,-2.6489610125027892e-8,0.002644356096346505,2.4632482174508258e-5,-2.6204648569688263e-8,0.002644792866933108,2.4453878979516923e-5,-2.5962750928942762e-8,0.002645287958825506,2.433962413644026e-5,-2.580522022561437e-8,0.0026458157625529125,2.4309628109960647e-5,-2.5758941317575327e-8,0.00264634623063722,2.4371028134717308e-5,-2.5833817493889664e-8,0.0026468490048528843,2.4517626043978552e-5,-2.6021955503015233e-8,0.002647297629221693,2.473075415894809e-5,-2.629884122598041e-8,0.002647673419069512,2.498168300232041e-5,-2.6626587976528904e-8,0.0026479684516871804,2.5235364563765828e-5,-2.6958906132239313e-8,0.0026481873145099825,2.54550480044092e-5,-2.724714977923732e-8,0.0026483474854581976,2.5607329200806667e-5,-2.744689859121178e-8,0.002648478321749667,2.5667306663201197e-5,-2.7524725198145248e-8,0.002648618565417001,2.562364143904652e-5,-2.746495256788262e-8,0.002648811933829168,2.548331398325493e-5,-2.7276137128600436e-8,0.002649099993304903,2.5275225022656478e-5,-2.6996080239347117e-8,0.0026495118344468096,2.5050470037239995e-5,-2.6692385337925312e-8,0.0026500516782408433,2.4875937156110125e-5,-2.6454031394300517e-8,0.0026506887377273874,2.481830242231187e-5,-2.637005584696817e-8,0.0026513571570154788,2.4919878684211346e-5,-2.649732055333089e-8,0.0026519727576500727,2.5176293414199947e-5,-2.6830682803784936e-8,0.00265246347865712,2.553137242424813e-5,-2.7296067819030845e-8,0.0026527977885291948,2.5897092428559638e-5,-2.777691417282513e-8,0.0026529937872264786,2.6188736914085377e-5,-2.8160834927125474e-8,0.0026531053400488365,2.6354405340763377e-5,-2.8378742435525895e-8,0.002653197143730883,2.6384803835271885e-5,-2.8417798104530085e-8,0.0026533237489522734,2.630496073324375e-5,-2.8310488620170042e-8,0.002653519415667135,2.61584941720321e-5,-2.8113966146280626e-8,0.0026537972075638358,2.5993391727317396e-5,-2.7891437296909137e-8,0.0026541528220946162,2.5852711656499893e-5,-2.7699980495729533e-8,0.002654569583467504,2.576980469437125e-5,-2.758418502662082e-8,0.002655022888269817,2.5766321279371505e-5,-2.7573341150534074e-8,0.0026554838903719694,2.5851487346184455e-5,-2.7680269328933923e-8,0.0026559228543872925,2.6021962722230312e-5,-2.7900982114737346e-8,0.0026563125592436493,2.6262270927647677e-5,-2.8215210320601784e-8,0.0026566318822620954,2.6546159408893735e-5,-2.8588246183577963e-8,0.0026568693325829773,2.683937297731775e-5,-2.8974675169938895e-8,0.00265702588046726,2.7104047119859548e-5,-2.9324209301872344e-8,0.0026571162804157502,2.730439944298196e-5,-2.9589182861804454e-8,0.002657168287578267,2.741298625135473e-5,-2.973278593466467e-8,0.002657219506910407,2.7416528074622072e-5,-2.9736788701860016e-8,0.002657312004454739,2.7320200846281446e-5,-2.9607346163960382e-8,0.0026574851280428084,2.714945498836805e-5,-2.9377627673142143e-8,0.0026577671410715864,2.6948550466389847e-5,-2.9106116594645743e-8,0.0026581666337407396,2.677480114515534e-5,-2.8869130261933987e-8,0.002658665644369953,2.668759153112913e-5,-2.874622335182529e-8,0.0026592177642860556,2.673249924766369e-5,-2.8798893801029236e-8,0.0026597551845333914,2.6923863313585407e-5,-2.9047096880029876e-8,0.0026602066278280773,2.7233239467283458e-5,-2.945360447347533e-8,0.0026605218701161496,2.759279450344971e-5,-2.992839322576825e-8,0.002660691339317348,2.791687831695263e-5,-3.0357403494703774e-8,0.0026607489650131524,2.813307297178182e-5,-3.064397603742436e-8,0.002660756316410744,2.820629128228656e-5,-3.0740975280116455e-8,0.00266077813131762,2.814444053347429e-5,-3.0658329382785926e-8,0.0026608626181401033,2.7987094517445165e-5,-3.044802835863527e-8,0.002661033282093157,2.7787369099427664e-5,-3.018018911351549e-8,0.002661290670229049,2.759646253123286e-5,-2.992268275086257e-8,0.002661618847227499,2.745466279524221e-5,-2.9729256636510297e-8,0.002661992324996788,2.7388048564438633e-5,-2.9635075082451442e-8,0.0026623814914065623,2.740846380825369e-5,-2.9656508743774662e-8,0.0026627564064791672,2.751469021981976e-5,-2.9792508338229933e-8,0.002663089657287003,2.769378081550649e-5,-3.002626101217006e-8,0.0026633589993581537,2.7922422231694105e-5,-3.032697532756177e-8,0.0026635502049094915,2.816877186333765e-5,-3.065235507227498e-8,0.002663660058606214,2.8395509491539593e-5,-3.095269273591784e-8,0.0026636988226479592,2.8564683516255168e-5,-3.1177317725720975e-8,0.0026636910185861354,2.8644267020628355e-5,-3.128328931824663e-8,0.002663673368164203,2.8615444636392442e-5,-3.124507257083623e-8,0.0026636892999802016,2.847882357726595e-5,-3.106284172552677e-8,0.0026637804953454328,2.8257367087954442e-5,-3.076651119240239e-8,0.0026639771539304236,2.7994347029093748e-5,-3.041320967031577e-8,0.002664289390944928,2.7745919962196963e-5,-3.0077603120369135e-8,0.0026647021583839263,2.7569343911087362e-5,-2.983632036881539e-8,0.002665175574611234,2.7508966541401323e-5,-2.9749234062979572e-8,0.002665651753105894,2.758308150002246e-5,-2.9841711448467954e-8,0.0026660679387967637,2.777557445101302e-5,-3.009314804079612e-8,0.002666373652606828,2.8036422130212083e-5,-3.043735504000154e-8,0.0026665467921051737,2.8293485634668975e-5,-3.0778184924067085e-8,0.002666601852555459,2.8473726055012245e-5,-3.1017907545195027e-8,0.0026665852853927806,2.8526301970881325e-5,-3.1088172804032435e-8,0.002666559122253182,2.843738526897907e-5,-3.0969895282801916e-8,0.0026665805053176046,2.823043592843639e-5,-3.069370740064932e-8,0.0026666863526158286,2.795380188020402e-5,-3.032352927191644e-8,0.002666888030781808,2.7663438827002143e-5,-2.993366290807507e-8,0.0026671748130789254,2.7408493516036183e-5,-2.958966680282094e-8,0.0026675216046985984,2.722333376093842e-5,-2.933771824724552e-8,0.0026678967932506742,2.7125467417972392e-5,-2.920171724683057e-8,0.002668268174343812,2.7116928055334394e-5,-2.918496557666993e-8,0.0026686067536675503,2.718687142750966e-5,-2.9273488870256556e-8,0.002668889153521843,2.7314125916714938e-5,-2.9439367095546293e-8,0.0026690995240611494,2.7469415229723713e-5,-2.9643692403226327e-8,0.002669231588881734,2.761768401200625e-5,-2.983969287822529e-8,0.0026692909045567758,2.772137604439484e-5,-2.9977123836592665e-8,0.002669296689582548,2.7745483589062654e-5,-3.0009007656812204e-8,0.0026692818814056923,2.76645400450632e-5,-2.9900964988722216e-8,0.002669289786419154,2.7470487600255673e-5,-2.9641735210395685e-8,0.0026693663135547675,2.7178855682651955e-5,-2.9251483856010147e-8,0.002669548600717101,2.6829814064937723e-5,-2.8783321052296953e-8,0.002669853232704221,2.6481571864986507e-5,-2.8314646721668814e-8,0.0026702686612265127,2.6196540227162797e-5,-2.792883344868289e-8,0.0026707555410017745,2.6024208042934442e-5,-2.769243626155642e-8,0.0026712556999075863,2.5986573478360687e-5,-2.7635653186376986e-8,0.002671707089748267,2.6071129511972674e-5,-2.7742712797765785e-8,0.0026720600901569886,2.6233603318288687e-5,-2.795522462078366e-8,0.002672290443135009,2.640954156364561e-5,-2.818742186699068e-8,0.0026724052428170825,2.653145786869803e-5,-2.8349002218997386e-8,0.002672440220313686,2.6546752821712073e-5,-2.8369163632258638e-8,0.0026724489957256573,2.6431102842522592e-5,-2.8214673922745004e-8,0.002672487698917711,2.6193125149463324e-5,-2.789629736013679e-8,0.0026726001820109838,2.586916578069951e-5,-2.746199942230688e-8,0.002672808644915501,2.551090053887501e-5,-2.6980507296689357e-8,0.0026731118372536797,2.5170934360175597e-5,-2.6522128760281473e-8,0.0026734896589889912,2.4891330726868854e-5,-2.6143393330707435e-8,0.0026739109227287,2.4697549447807037e-5,-2.5878832880513e-8,0.0026743410670043246,2.4597486622909633e-5,-2.5739543146492245e-8,0.002674747998989801,2.458373190904632e-5,-2.5716071958711425e-8,0.0026751057440529678,2.463704675194214e-5,-2.57830039780471e-8,0.0026753964831346907,2.47297865751725e-5,-2.5903529531835557e-8,0.00267561183646005,2.4828867315808e-5,-2.6033429491443315e-8,0.0026757540793394046,2.489859900654912e-5,-2.6124877326598502e-8,0.00267583747024861,2.4904174485618595e-5,-2.6131104709850983e-8,0.0026758891320712635,2.4816671777239062e-5,-2.6013096260213478e-8,0.0026759481268225807,2.4619877273035702e-5,-2.5748745104085175e-8,0.002676060878740094,2.4317891637757816e-5,-2.534308690420903e-8,0.002676271641860672,2.3940547910458253e-5,-2.4835628594163594e-8,0.0026766089922976954,2.3542240639262514e-5,-2.429887410844018e-8,0.002677072911743146,2.3190810939116947e-5,-2.3823549830955104e-8,0.002677629384711697,2.2947801471423495e-5,-2.349226195279842e-8,0.0026782174373540597,2.284747447523584e-5,-2.3351420427147178e-8,0.002678767190753552,2.2884450527373708e-5,-2.3394574904936935e-8,0.002679221246387928,2.3015772470718473e-5,-2.3564955982734086e-8,0.0026795504594499405,2.31755695605357e-5,-2.3774871289120044e-8,0.002679759170591716,2.3295137206169125e-5,-2.393243272963582e-8,0.0026798803135628544,2.3320917185443094e-5,-2.3965602905995443e-8,0.0026799640145154023,2.322577558520088e-5,-2.3837397612610006e-8,0.0026800639314745046,2.3012215146842673e-5,-2.3550384713622862E-08,0.0026802248899573116,2.2708392050599457e-5,-2.3141585163499967e-8,0.0026804742934984,2.235906805897442e-5,-2.2670554977751216e-8,0.0026808185968568944,2.2014267511493717e-5,-2.220428842578894e-8,0.0026812448336239396,2.171854636264718e-5,-2.180280461715125e-8,0.0026817259374465234,2.150323880680172e-5,-2.1508611094251824e-8,0.00268222781652349,2.1382809836528223e-5,-2.1341628366433782e-8,0.0026827161726339327,2.1355034347562173e-5,-2.1299284836488415e-8,0.0026831617535715744,2.140378470911418e-5,-2.1360196730420277e-8,0.0026835436457758872,2.1502965966267144e-5,-2.1489465414133864e-8,0.0026838509543692596,2.16204854567272e-5,-2.1644050147128995e-8,0.002684083542702058,2.1721810919128004e-5,-2.1777567204648777e-8,0.0026842524063363047,2.1773296218550722e-5,-2.184473901283113e-8,0.0026843798793523676,2.174584592951199e-5,-2.1806283785570994e-8,0.002684499254751002,2.1619604754520625e-5,-2.1635208600026604e-8,0.002684652615539522,2.1389936125771377e-5,-2.132488556836351e-8,0.0026848851553524585,2.1073684595338914e-5,-2.0897551736655894e-8,0.002685234761333537,2.071276203290809e-5,-2.040922349572789e-8,0.0026857179492677428,2.0370460882582813e-5,-1.9944823185549678e-8,0.002686317392056504,2.0116807827503108e-5,-1.9598553255649772e-8,0.002686979523907763,2.0004912349695077e-5,-1.9442129284992614e-8,0.0026876280837219843,2.0048512671163523e-5,-1.949455243073783e-8,0.0026881899249303247,2.0214024293583018e-5,-1.9711294931862544e-8,0.002688620249435145,2.043285656095454e-5,-2.000069039920413e-8,0.002688914623014258,2.0626936406510176e-5,-2.0258093448061607e-8,0.002689104448499188,2.073370425998305e-5,-2.0399378529749706e-8,0.0026892419298627126,2.0720641518941455e-5,-2.038044359813892e-8,0.00268938312888527,2.0587598019377475e-5,-2.0200427284762034e-8,0.002689574768650333,2.0360579482662567e-5,-1.989355990805515e-8,0.0026898465947728313,2.0081670543145843e-5,-1.9515867700560127e-8,0.0026902088053080623,1.9798500950558975e-5,-1.913120086648592e-8,0.002690653320029833,1.9555086732382298e-5,-1.8798959747669437e-8,0.0026911577108349486,1.9384918317815483e-5,-1.856468027518342e-8,0.0026916907283687213,1.9306783846534458e-5,-1.8454204375709315e-8,0.0026922183440946422,1.932346249716126e-5,-1.8471725008849565e-8,0.0026927093194704355,1.9422959535281348e-5,-1.8601349303398246e-8,0.002693139577075912,1.9581620030571056e-5,-1.8811304655394267e-8,0.0026934949979082095,1.9768275469618075e-5,-1.905959980051295e-8,0.0026937727037630865,1.9948579211282313e-5,-1.9299928293298172e-8,0.002693981227014739,2.008903816565814e-5,-1.9487102008012012e-8,0.0026941399761876384,2.0160743594175506e-5,-1.958202828436642e-8,0.002694278150304583,2.014308771745926e-5,-1.9556669135148625e-8,0.002694432839134833,2.0027814972522264e-5,-1.939951202924289e-8,0.0026946454407021474,1.9823465164879817e-5,-1.912164795226923e-8,0.002694955118743798,1.9559228013221924e-5,-1.876210188452582e-8,0.0026953885604227568,1.9285588555638527e-5,-1.8388822887488567e-8,0.002695947389646158,1.906784792733087e-5,-1.8090003030037158e-8,0.002696598361371597,1.8969529356223275e-5,-1.7951673808881418e-8,0.0026972747172651123,1.9028183067974308e-5,-1.8024976958726027e-8,0.002697894448259002,1.923482567582152e-5,-1.82982964892157e-8,0.0026983903263144058,1.953167385178543e-5,-1.8694084270395405e-8,0.0026987355972708806,1.9833273175935162e-5,-1.9097304148343785e-8,0.002698950451980689,2.005962260427181e-5,-1.9400090848296767e-8,0.0026990880859063043,2.016241265792062e-5,-1.9537100067242948e-8,0.0026992117922432905,2.013345355569334e-5,-1.949684506615443e-8,0.002699375647089422,1.999759245364751e-5,-1.9312213181089278e-8,0.002699614261285006,1.9798830819145078e-5,-1.9041939056218857e-8,0.0026999406340535597,1.9586801508834097e-5,-1.8752604336031518e-8,0.0027003488738597202,1.9406767550178475e-5,-1.850529554434705e-8,0.002700818970481651,1.9293437948365567e-5,-1.8347238284879605e-8,0.0027013220497049467,1.9267719508964687e-5,-1.8307237617048195e-8,0.002701825549465035,1.9335593552310834e-5,-1.839393020569358e-8,0.0027022980757690288,1.9488723621636194e-5,-1.8596431789749385e-8,0.002702713662607276,1.970654001153539e-5,-1.8887103092774177e-8,0.002703055157533248,1.9959543955443707e-5,-1.9226073522447195e-8,0.002703316448267429,2.0213520540267606e-5,-1.9567030088327615e-8,0.0027035033133196956,2.0434152409261692e-5,-1.986350378693203e-8,0.0027036329373279133,2.059147843487134e-5,-2.0074871352699753e-8,0.002703732317100221,2.0663912104588616e-5,-2.017172044859481e-8,0.002703835708462897,2.064176391337209e-5,-2.0140576017720335e-8,0.002703981045779454,2.0530222225002636e-5,-1.9987983238696774e-8,0.002704204955540068,2.0351562676141675e-5,-1.9743638549377247e-8,0.0027045358067139627,2.014570325430151e-5,-1.9461313750205066e-8,0.002704984805772576,1.996714707688034e-5,-1.92148397591981e-8,0.0027055368649279493,1.987574577050617e-5,-1.9085611169575944e-8,0.002706145685078051,1.9919963553539275e-5,-1.913981275734757e-8,0.0027067395839023285,2.0115935619329194e-5,-1.9399872245807953e-8,0.002707241964949466,2.0432627984345386e-5,-1.9824189275903496e-8,0.002707600561978769,2.079591363745013e-5,-2.031258854203578e-8,0.0027078094546453073,2.1114943868623784e-5,-2.0742078873478338e-8,0.0027079095029694275,2.1317626509160715e-5,-2.101494646065448e-8,0.002707967740739984,2.1374638784031844e-5,-2.1091231796414332e-8,0.0027080501916891273,2.1301291919555723e-5,-2.0991196408044287e-8,0.002708202805321296,2.1142645928582355e-5,-2.0775234408464792e-8,0.0027084452776870867,2.0954316120813476E-05,-2.0518098346501502e-8,0.002708774162575712,2.078764131629634e-5,-2.028905117718749e-8,0.002709169810830763,2.0681479161499233e-5,-2.014086685744763e-8,0.0027096034430987557,2.065925821172407e-5,-2.0105765910602988e-8,0.0027100428652535534,2.0729021182110605e-5,-2.0195268624788187e-8,0.0027104568599029244,2.088478077558925e-5,-2.0401806622108805e-8,0.0027108187654351296,2.1108546115977512e-5,-2.0701327617105837e-8,0.002711109496587725,2.1372986326076458e-5,-2.10568899223502e-8,0.002711319970232938,2.1644827851250796e-5,-2.142334211249965e-8,0.002711452708090201,2.1889050652350722e-5,-2.1753098561200446e-8,0.002711522206080725,2.207368852602839e-5,-2.2002679141313222e-8,0.002711553726110139,2.2174663760722812e-5,-2.2139227350930035e-8,0.0027115804817427185,2.2179989492678676E-05,-2.214615199321869e-8,0.0027116394229722046,2.2092790600064617e-5,-2.2027220749220564e-8,0.002711765902353902,2.1932661136871404e-5,-2.1808497541801675e-8,0.0027119875265561675,2.17349102139576e-5,-2.153749682666738e-8,0.0027123175594141167,2.154714321577371e-5,-2.1278725972971384e-8,0.002712748677090166,2.1422310197924048e-5,-2.1104340382649643e-8,0.0027132489457220156,2.1407462817094904e-5,-2.107881988743877e-8,0.002713763222707799,2.1528939153101463e-5,-2.12386510801654e-8,0.002714223539826301,2.17779711508261e-5,-2.1572526893751845e-8,0.0027145692235508168,2.210462782438041e-5,-2.201294395593925e-8,0.0027147705289971287,2.242831272043591e-5,-2.245045363896241e-8,0.002714842961370987,2.26651374401677e-5,-2.2770961975807826e-8,0.0027148417371246187,2.2759728481484883e-5,-2.2899019449501894e-8,0.0027148384646546696,2.270361220246182e-5,-2.2822761360270927e-8,0.002714894133814566,2.253147752919397e-5,-2.2588785865962968e-8,0.002715042481976411,2.230178058034443e-5,-2.227589996373742e-8,0.0027152877602880654,2.2075146022270574e-5,-2.196600255000497e-8,0.0027156119658795414,2.189977200438472e-5,-2.1724460810982776e-8,0.0027159847379479274,2.180547085498409e-5,-2.1592064109398672e-8,0.0027163717326484887,2.18037059038195e-5,-2.158495102003217e-8,0.0027167402462662167,2.189035707386248e-5,-2.169814943921391e-8,0.0027170626329077376,2.204902136902486e-5,-2.1909862774099005e-8,0.002717318577686348,2.225407880034124e-5,-2.2185536220454567e-8,0.002717496917322223,2.247368848952755e-5,-2.2481941172479003e-8,0.0027175971570509785,2.2673148098990517e-5,-2.2751819980273843e-8,0.002717630437619656,2.2818986025088118e-5,-2.2949521472554347e-8,0.002717619374232879,2.2883830547347417e-5,-2.3037639752791775e-8,0.0027175960863589687,2.2851508344780233e-5,-2.29939131948583e-8,0.002717598071460584,2.27213176952526e-5,-2.281699857396905e-8,0.0027176621709201596,2.2510260056520727e-5,-2.2529529271382513e-8,0.0027178174751903974,2.22521853070832e-5,-2.2177067543554316e-8,0.0027180784671276526,2.1993333213934358e-5,-2.1822217623532972e-8,0.0027184398641318065,2.178448760758116e-5,-2.153411268172913e-8,0.0027188745594770346,2.1670561409178468e-5,-2.137429317301222e-8,0.0027193360025531545,2.1679009178246315e-5,-2.1380826619141587e-8,0.002719766138446254,2.1809462677510583e-5,-2.1553961002315126e-8,0.00272010902935972,2.2028302823201387e-5,-2.184847600516649e-8,0.0027203278821346134,2.2272524858974438e-5,-2.2178797892063562e-8,0.0027204196799707763,2.24654419229855e-5,-2.2440404566424472e-8,0.002720419476537429,2.2541182151501676e-5,-2.2543308403420168e-8,0.002720389514355453,2.246792006086709e-5,-2.2443785172222848e-8,0.0027203968580779593,2.2257868624423312e-5,-2.2157995797522724e-8,0.0027204907531003454,2.1959156500183422e-5,-2.17509487518943e-8,0.0027206903780250197,2.1635680043467534e-5,-2.1309184877300774e-8,0.0027209858546815508,2.1346417556349277e-5,-2.0912787442917073e-8,0.002721347808163526,2.1132433058736414e-5,-2.06177932502233e-8,0.002721738732659261,2.101302770424033e-5,-2.045091160605777e-8,0.002722121842089695,2.0988064107378192e-5,-2.0412526919188236e-8,0.0027224663072612032,2.104272221321373e-5,-2.0482980964473065e-8,0.0027227497312666536,2.1152219247249398e-5,-2.0628864697851955e-8,0.0027229592187699085,2.1285646420264224e-5,-2.0808205423364215e-8,0.002723092024279769,2.140915534170127e-5,-2.0974851448080727e-8,0.002723156140984944,2.14891410191427e-5,-2.108288393508341e-8,0.002723170606461795,2.149605797679514e-5,-2.1091870780846034e-8,0.0027231647986974373,2.140913982897247e-5,-2.0973305086363463e-8,0.002723175747615389,2.122154123906254e-5,-2.0717585989345948e-8,0.0027232427667478894,2.094452464224403e-5,-2.0339705819586754e-8,0.0027233996145755853,2.0608713479640643e-5,-1.9880992713257535e-8,0.002723665721382843,2.026060892275378e-5,-1.9404470170278227e-8,0.0027240391567136266,1.9953854594028393e-5,-1.898310231028625e-8,0.002724494146855511,1.9736789731948312e-5,-1.8682948875842208e-8,0.002724984781134481,1.9639562245665583e-5,-1.8545605329381536e-8,0.002725454640230336,1.9664591180140306e-5,-1.8575060281540082e-8,0.0027258502841296267,1.978346436416098e-5,-1.8733227690675876e-8,0.0027261353236396123,1.9941877016394326e-5,-1.894645849238284e-8,0.002726301248658682,2.007230249813052e-5,-1.912271463933041e-8,0.0027263713289722514,2.011187104949174e-5,-1.9175991154117115e-8,0.002726395138448426,2.002057957804487e-5,-1.905127428909273e-8,0.002726434196991114,1.9793401183908815e-5,-1.8741182852925098e-8,0.0027265433420372793,1.946100805656228e-5,-1.828705235095383e-8,0.0027267551469351914,1.9078518607560066e-5,-1.7763682989189432e-8,0.002727073366580046,1.870747687105405e-5,-1.7254861286109985e-8,0.0027274765293817524,1.8398952985918913e-5,-1.683037011094019e-8,0.002727927993060576,1.818353027833995e-5,-1.6532295654523488e-8,0.0027283871266923043,1.8069347217504134e-5,-1.637222675764901e-8,0.0027288178204516824,1.804577514014172e-5,-1.633611041703065e-8,0.0027291931918580247,1.8089300870504294e-5,-1.6392157254153952e-8,0.0027294972768002954,1.816913014448269e-5,-1.649844892067187e-8,0.0027297251046408027,1.8251552466542002e-5,-1.660892918346911e-8,0.0027298822811575333,1.830324285422369e-5,-1.6677976929709144e-8,0.0027299846109979653,1.8294199006395545e-5,-1.6664471571957215e-8,0.0027300576392803658,1.8201084382144078e-5,-1.6536379482566312e-8,0.002730135367558795,1.801142871411346e-5,-1.6276481194654895e-8,0.0027302569950561194,1.772835840690819e-5,-1.5888815400112085e-8,0.002730460675000141,1.7374367034465673e-5,-1.540383280991605e-8,0.002730774317388617,1.6991538671805468e-5,-1.487874681986958e-8,0.002731205492992096,1.663554986253649e-5,-1.4389430286252634e-8,0.0027317346225685167,1.6362736100393333e-5,-1.401285392592605e-8,0.0027323159732417688,1.6213321694122396e-5,-1.3804237823242727e-8,0.0027328882043883593,1.6197272773221976e-5,-1.377768292956184e-8,0.002733391477933123,1.628923403372551e-5,-1.3899104903846669e-8,0.0027337846859482747,1.6435087027299024e-5,-1.4095004537599963e-8,0.002734056500043612,1.656745755001094e-5,-1.4273511480543449e-8,0.0027342271115420556,1.6624323330041047e-5,-1.4349761230979106e-8,0.002734341218625606,1.6564849873113524e-5,-1.4267579057934553e-8,0.0027344551943848145,1.6378505391622318e-5,-1.4012046808109738e-8,0.002734622289801755,1.608581588143182e-5,-1.3610682506044439e-8,0.0027348797656559553,1.5731229116967588e-5,-1.312384293400565e-8,0.0027352411979116873,1.5370487927067927e-5,-1.262758861964929e-8,0.0027356956705479342,1.5056407177672457e-5,-1.2194285616455754e-8,0.002736213318040265,1.4827270079832405e-5,-1.1876677483532097e-8,0.0027367546090290257,1.4700733657187753e-5,-1.169940036745348e-8,0.002737279962922846,1.4673731384326293e-5,-1.16586767454608e-8,0.0027377570640155654,1.4726736350655366e-5,-1.1728029197099415e-8,0.0027381648557289963,1.482989457646782e-5,-1.1866648191392354e-8,0.0027384946423735903,1.4948942426058718e-5,-1.2027544616739114e-8,0.002738749434445084,1.504985821963847e-5,-1.216399804528127e-8,0.0027389426406392242,1.5102225647928979e-5,-1.2234218749741384e-8,0.0027390967313658887,1.508190848938774e-5,-1.2205022203274869e-8,0.0027392418828776502,1.497377683520103e-5,-1.2055543818857391e-8,0.0027394140032673863,1.4774979914795335e-5,-1.1781703210623261e-8,0.0027396510558396095,1.449859754939216e-5,-1.1401214646296961e-8,0.0027399865631337478,1.4176337452192784e-5,-1.0957324233453986e-8,0.0027404401157403325,1.3857589419184968e-5,-1.0517579850249122e-8,0.002741006988407936,1.3601649709835046e-5,-1.016324470539438e-8,0.002741651946643131,1.3461932237357087e-5,-9.967701894510386e-9,0.0027423134297618586,1.3466164991872435e-5,-9.969292325791265e-9,0.0027429204127412043,1.3602045380436758e-5,-1.0151559338201335e-8,0.0027434161980657615,1.381781057785335e-5,-1.0443902181835858e-8,0.0027437775903663983,1.403930043979941e-5,-1.0744867582233018e-8,0.00274402026056172,1.4195086586668818e-5,-1.0956551973741348e-8,0.002744189707180539,1.4237647948831023e-5,-1.101361813162918e-8,0.0027443444308235623,1.4153214739371446e-5,-1.0896808965594635e-8,0.0027445391212823013,1.3960083614703103e-5,-1.063071839494125e-8,0.0027448126229584063,1.369940353501182e-5,-1.0271311517205686e-8,0.0027451820491002014,1.342296064314159e-5,-9.889353385649206e-9,0.0027456424369939375,1.3181296837245952e-5,-9.554228595057486e-9,0.0027461706266553357,1.301415215625418e-5,-9.320814951324564e-9,0.0027467319065318033,1.2944348784452829e-5,-9.220945708603037e-9,0.0027472878430236675,1.297566686114043e-5,-9.26028974478475e-9,0.0027478036209455806,1.3094521161716708e-5,-9.420488426281658e-9,0.0027482535395967965,1.3274409109423844e-5,-9.665206228210173e-9,0.002748624017387072,1.3481665911821765e-5,-9.94808846615289e-9,0.002748914201993835,1.3681151040180056e-5,-1.0220678594459335e-8,0.002749134840466332,1.3840922486020028e-5,-1.0438925666362003e-8,0.0027493062755827883,1.3935617636275572e-5,-1.0567851392877573e-8,0.0027494561978375956,1.3948871850020234e-5,-1.0584841736813426e-8,0.002749617298368145,1.3875330877006017e-5,-1.0482372438320108e-8,0.002749824478571436,1.3722661790345272e-5,-1.0270772986168708e-8,0.002750110830763187,1.3513482353169196e-5,-9.98093410823438e-9,0.00275050148863685,1.3286167853943228e-5,-9.665504146217214e-9,0.0027510052007713166,1.3092282740735443e-5,-9.395433012835077e-9,0.0027516054627253683,1.2987797311630384e-5,-9.247916863310523e-9,0.0027522560077975567,1.3016795714357577e-5,-9.283940992366734e-9,0.002752887270832192,1.3191513005764179e-5,-9.520705716744854e-9,0.0027534268750110877,1.3479307947422266e-5,-9.913575792228905e-9,0.002753827252818105,1.380820104122874e-5,-1.0363635022831688e-8,0.002754085066367869,1.4092408000508905e-5,-1.0752843979321471e-8,0.002754240423604777,1.4264671631161601e-5,-1.0988570669126968e-8,0.0027543577158397454,1.4297504261183262e-5,-1.1032801675695634e-8,0.0027545010082918016,1.4205075789953122e-5,-1.0904699986993847e-8,0.0027547161998007054,1.4030591799180186e-5,-1.0663283329901377e-8,0.0027550240194078655,1.3829185117178249e-5,-1.0384043206256625e-8,0.002755421453020712,1.3653474454465471e-5,-1.0139258403077382e-8,0.0027558875196220835,1.3544259564344984e-5,-9.985280220478687e-9,0.0027563903321073395,1.3525955479519786e-5,-9.956181654857124e-9,0.0027568938904163395,1.3605460183974092e-5,-1.0062009063794016e-8,0.002757364073561223,1.3773418082126131e-5,-1.029030898978133e-8,0.0027577735523741467,1.4007312606634619e-5,-1.0610254942756665e-8,0.002758105281049702,1.4275878871466236e-5,-1.0978721485269755e-8,0.0027583543129910426,1.4544196144378514e-5,-1.1347397176404875e-8,0.002758527884760369,1.4778781498711986e-5,-1.1669921998794136e-8,0.0027586439565762334,1.495202207329257e-5,-1.1908062139585563e-8,0.0027587286752269713,1.5045486741457556e-5,-1.2036263263573345e-8,0.002758813283168323,1.5052079543374385e-5,-1.2044567346228864e-8,0.0027589307562035483,1.497726783006875e-5,-1.1940277717807085e-8,0.0027591121400170103,1.4839587044545021e-5,-1.1748696271030066e-8,0.002759382258301141,1.4670374331164395e-5,-1.1512860934478634e-8,0.0027597543590631487,1.4512060743916354e-5,-1.1291303651724086e-8,0.002760223851724849,1.4413504572653444e-5,-1.1151667518328181e-8,0.002760762772812467,1.4420577561528979e-5,-1.1157671499436408e-8,0.002761318710750578,1.4561512390203414e-5,-1.1348746558323507e-8,0.00276182335825203,1.483046758444795e-5,-1.171717072812087e-8,0.002762213232767044,1.5178600777388183e-5,-1.2195628938203373e-8,0.0027624561618459875,1.5523579998102924e-5,-1.2670370954457433e-8,0.002762568055471419,1.577896645887847e-5,-1.3021911778698365e-8,0.002762607053442844,1.588892345218556e-5,-1.3173036202525945e-8,0.0027626477535367317,1.5847494556313896e-5,-1.3115353264673006e-8,0.002762752148698717,1.5693341116187472e-5,-1.290193227055894e-8,0.002762952717258098,1.5488291251018845e-5,-1.2617722370350503e-8,0.0027632510418019677,1.5294686690858635e-5,-1.2348462136331391e-8,0.0027636259344087917,1.5160707656321381e-5,-1.2160612203495138e-8,0.002764043924793039,1.511465428428553e-5,-1.2093523880228672e-8,0.002764468105360931,1.5165219435121325e-5,-1.2159711904489318e-8,0.0027648642771565795,1.5304554776486206e-5,-1.2348881160795975e-8,0.00276520491193756,1.551214917612753e-5,-1.2633083740317827e-8,0.0027654717421526196,1.5758859205074683e-5,-1.2972187445271782e-8,0.0027656573615933593,1.601108180866163e-5,-1.331966747011974e-8,0.0027657658412326984,1.623508143758839e-5,-1.3628693916074076e-8,0.0027658122315612965,1.6401336192405455e-5,-1.385824500072823e-8,0.0027658208032614435,1.64885423505343e-5,-1.397868551819702e-8,0.0027658220656359834,1.6486733828388484e-5,-1.397605157394892e-8,0.002765848891824904,1.639909794692674e-5,-1.3854513826157042e-8,0.0027659321674139512,1.6242317878778517e-5,-1.3636849548780435e-8,0.002766096303503263,1.6045369593808686e-5,-1.3362857387789591e-8,0.0027663548615603564,1.5846730676314847e-5,-1.308562701077851e-8,0.0027667064826740096,1.5689835021215877e-5,-1.2865361853446855e-8,0.002767131628491153,1.5616253392744474e-5,-1.2759959238257351e-8,0.002767591541465577,1.565613932350352e-5,-1.2811680422273687e-8,0.0027680318643640033,1.581672526418174e-5,-1.3031031172521404e-8,0.0027683935757452003,1.607229328191158e-5,-1.3382687188492964e-8,0.0027686315906423767,1.6362317419807093e-5,-1.3782849249591848e-8,0.0027687352106116232,1.660487394222258e-5,-1.4117902190796029e-8,0.002768738239820442,1.6725105080637398e-5,-1.4283993588661351e-8,0.0027687087079556953,1.6685822510540136e-5,-1.422947633870195e-8,0.0027687213527381837,1.650176304721841e-5,-1.3974559220475729e-8,0.0027688289978741332,1.622925799770131e-5,-1.3596908755438644e-8,0.002769048363398059,1.594031700512789e-5,-1.3195832869032236e-8,0.00276936337344147,1.569769408859385e-5,-1.2857958409166736e-8,0.002769738192543268,1.5541237964123733e-5,-1.2638499739393606e-8,0.002770130857577132,1.5485700596560033e-5,-1.2558236264973412e-8,0.0027705028435936804,1.5525121557837643e-5,-1.2609441752677153e-8,0.002770824104016123,1.5639139817898094e-5,-1.2764417778794309e-8,0.0027710750382562957,1.579871667179225e-5,-1.298325399628226e-8,0.002771246995946245,1.5970684935818387e-5,-1.322007185623983e-8,0.0027713422068845884,1.6121524757386047e-5,-1.3428307331702114e-8,0.0027713733059165882,1.622087961293736e-5,-1.3565689517813172e-8,0.0027713622519797507,1.6245092710609566e-5,-1.3599228831309594e-8,0.002771338258376431,1.6180665568763176e-5,-1.3510033682923686e-8,0.0027713344138243505,1.6027070557930125e-5,-1.3297175460530656e-8,0.0027713830768532144,1.579813080854103e-5,-1.2979564370243544e-8,0.0027715105782646693,1.5521323628688927e-5,-1.2595002061998987e-8,0.002771732045267941,1.5234636665673235e-5,-1.2195915802458485e-8,0.002772047301432447,1.4981007805899022e-5,-1.1841777298032802e-8,0.002772438752589332,1.4800880562158318e-5,-1.1588867502371844e-8,0.0027728720133379584,1.4723695349422957e-5,-1.1478455258934069e-8,0.0027733000270757664,1.475936384689405e-5,-1.1524829287417343e-8,0.0027736714038943994,1.4891518683271445e-5,-1.1705728640433002e-8,0.002773942949580787,1.5075513691583893e-5,-1.1959405556781578e-8,0.002774094298536084,1.5244784160866828e-5,-1.2193420369479077e-8,0.00277413935771806,1.5327642621168224e-5,-1.2308056164262575e-8,0.002774127095241945,1.5271382737278492e-5,-1.222991079233378e-8,0.002774127125267959,1.5063483024427677e-5,-1.1941373736095969e-8,0.002774204509579759,1.4737530909312808e-5,-1.1488800019336111e-8,0.0027743965548067697,1.43593324733346e-5,-1.0963210259393599e-8,0.0027747034985702353,1.4001351538615448e-5,-1.0464911437262635e-8,0.0027750951364715324,1.3719672259939094e-5,-1.007167416389651e-8,0.002775526051367617,1.3542754928601997e-5,-9.823200461899074e-9,0.0027759503581378433,1.3472044653032601e-5,-9.721903248961207e-9,0.0027763311030684443,1.3489110782461308e-5,-9.742655844025204e-9,0.0027766441055164853,1.356402503429683e-5,-9.84425800476849e-9,0.002776878237542247,1.3662175145885656e-5,-9.978801364369811e-9,0.00277703421910064,1.3749001999510627e-5,-1.0098250340897997e-8,0.002777123145672282,1.3793304300500613e-5,-1.0159108468992627e-8,0.002777165069365021,1.3769948799978488e-5,-1.012627712891473e-8,0.002777187380425079,1.366257139239754e-5,-9.976865115490197e-9,0.002777222427192686,1.3466379006569386e-5,-9.704079704233e-9,0.002777303795784524,1.3190508945819256e-5,-9.32046418862628e-9,0.0027774610887294536,1.285887005615791e-5,-8.859037531642524e-9,0.00277771379236086,1.250829794191475e-5,-8.370757335750319e-9,0.0027780656045215007,1.2183280121571277e-5,-7.917278908180143e-9,0.00277850108054271,1.1927476784055753e-5,-7.559280656595044e-9,0.002778986285044394,1.1773582658743977e-5,-7.3424319327927995e-9,0.0027794741941447932,1.1734065609188585e-5,-7.284473669250357e-9,0.0027799142794985264,1.1795451333347614e-5,-7.367127372081157e-9,0.00278026452821218,1.1918270864807826e-5,-7.535846169209884e-9,0.0027805032458643373,1.204384768123753e-5,-7.709138116829781e-9,0.0027806373209791524,1.2107676158375936e-5,-7.797171506191644e-9,0.002780703452468078,1.2057033090757864e-5,-7.726358310931846e-9,0.002780759925646668,1.186787561236933e-5,-7.46295792291357e-9,0.002780869728653987,1.155427127221588e-5,-7.026249491461181e-9,0.002781080498337681,1.1164946271353642e-5,-6.483757041896363e-9,0.002781409786732128,1.0767143875816982e-5,-5.928845847483083e-9,0.0027818421004138097,1.04248448157659e-5,-5.450501229246064e-9,0.0027823377629871307,1.0181105245430409e-5,-5.10879819574084e-9,0.002782847735319512,1.0050699713777196e-5,-4.924616944992279e-9,0.002783327243787241,1.0022856728953502e-5,-4.883325460734916e-9,0.0027837440651562097,1.0069594711575953e-5,-4.94624874966697e-9,0.0027840812269027786,1.015483206039899e-5,-5.063271670053514e-9,0.0027843360787357524,1.024152532104462e-5,-5.1827770304128115e-9,0.002784517883012557,1.0296305457586499e-5,-5.258162067166841e-9,0.0027846452783812006,1.0292292461840592e-5,-5.251838399917288e-9,0.002784744078074569,1.0211053940810853e-5,-5.138017383006263e-9,0.0027848451722726508,1.004447040455388e-5,-4.905319130341186e-9,0.002784981869337182,9.796760182050914e-6,-4.559563393831464e-9,0.0027851859388087303,9.486172936094592e-6,-4.1260871182282976e-9,0.0027854820195520776,9.145128566965864e-6,-3.649923337373014e-9,0.0027858809685050146,8.817212839408479e-6,-3.1916519447886542e-9,0.002786374004344479,8.549858663854469e-6,-2.8172810988601715e-9,0.002786930516713693,8.38311526590999e-6,-2.5826759770245543e-9,0.0027875021251903167,8.337323332657525e-6,-2.5164033042951878e-9,0.002788033442730153,8.404341144331321e-6,-2.6074358965324996e-9,0.0027884768663511967,8.546587963184419e-6,-2.8036922561923524e-9,0.002788806444515096,8.705359435428541e-6,-3.023511191011914e-9,0.002789025898946628,8.816155454370437e-6,-3.1769693624562517e-9,0.00278916808580964,8.826174280013064e-6,-3.1902919454504053e-9,0.0027892861494492062,8.708654066453408e-6,-3.0259083522581603e-9,0.002789439024007953,8.46996585135858e-6,-2.6924102085292982e-9,0.0027896754169786063,8.14743898998842e-6,-2.2415918566646356e-9,0.002790020989298804,7.798481749683577e-6,-1.7533598997337004e-9,0.0027904727105389194,7.484380983397801e-6,-1.3132102122914294e-9,0.0027910019465777094,7.254182931369871e-6,-9.89761674395551e-10,0.0027915644996498075,7.133899378245067e-6,-8.196308089392246e-10,0.002792113334641582,7.123723332179867e-6,-8.034153427098901e-10,0.0027926094573086616,7.202432983697204e-6,-9.117101623954198e-10,0.002793028233302452,7.335726174669705e-6,-1.0966748720526548e-9,0.0027933609484635524,7.4849003149403414e-6,-1.3041707157630382e-9,0.002793613109513304,7.61360949860106e-6,-1.4832721372423023e-9,0.002793801331699417,7.692125726622039e-6,-1.5923023708007069e-9,0.0027939501157332436,7.699650544928369e-6,-1.602113739190793e-9,0.0027940890449749374,7.62559574208575e-6,-1.4978805430814948e-9,0.0027942502546082484,7.47061613566804e-6,-1.2805101597583769e-9,0.002794465545354246,7.247708832349798e-6,-9.681400023267961e-10,0.0027947623730721393,6.982972729165114e-6,-5.97180208495864e-10,0.002795158293619206,6.714815163187818e-6,-2.2122179168722028e-10,0.0027956544044971682,6.489842552957791e-6,9.465788350054435e-11,0.0027962298905296608,6.353985618709735e-6,2.862426270105938e-10,0.0027968413003591638,6.339329590931643e-6,3.085594249353236e-10,0.002797430023565606,6.450574770211097e-6,1.5483829055035215e-10,0.0027979381407812233,6.657939065789282e-6,-1.33481326751483e-10,0.0027983274370340884,6.9023050870562255e-6,-4.73865860969561e-10,0.0027985929487883057,7.112534229482264e-6,-7.668664513252449e-10,0.0027987644712778367,7.227889781129287e-6,-9.274873085756629e-10,0.002798895846497114,7.215922522318092e-6,-9.102130577481535e-10,0.0027990476214502418,7.07954168609196e-6,-7.189055791823305e-10,0.002799270159329704,6.8528184660678055e-6,-4.0097058487487015e-10,0.0027995921098042825,6.589150394962895e-6,-3.089155205840986e-11,0.0028000160559371254,6.346543838175632e-6,3.10246237176008e-10,0.0028005208861621384,6.174077528739478e-6,5.536306075559972e-10,0.002801069138807742,6.102332622183427e-6,6.561508599671992e-10,0.002801616887775129,6.139228531226112e-6,6.063570042587458e-10,0.0028021235424224794,6.271340195284573e-6,4.227738196672006e-10,0.0028025593261495505,6.469448209654452e-6,1.462323628969768e-10,0.002802909202716053,6.696171451931554e-6,-1.7081556781815749e-10,0.0028031732715659992,6.913472533175175e-6,-4.748902722777455e-10,0.002803364595060627,7.088522312131387e-6,-7.198047146353163e-10,0.002803505761944061,7.197381055746142e-6,-8.718919784335805e-10,0.002803625279954858,7.226791581760613e-6,-9.125259098952547e-10,0.0028037543398572442,7.1748236665111314e-6,-8.389867042693141e-10,0.0028039239008144736,7.051055423278122e-6,-6.646711695244907e-10,0.0028041616337651505,6.8765748079719594e-6,-4.190817695600791e-10,0.0028044880974484863,6.6835013555270844e-6,-1.471822583423747e-10,0.0028049117634366405,6.5130028002482435e-6,9.333211200818222e-11,0.002805423407949294,6.410183518830969e-6,2.391581525590211e-10,0.0028059919682429956,6.414458134729057e-6,2.348761811647254e-10,0.0028065656354558507,6.545964496883274e-6,5.204916047160679e-11,0.0028070820322286597,6.792467980851788e-6,-2.923256812302114e-10,0.0028074875111325586,7.1049452709561795e-6,-7.295484999982558e-10,0.002807758398439204,7.408801568743201e-6,-1.1549479735996095e-9,0.002807912309953183,7.629016879277494e-6,-1.4632184010996237e-9,0.0028080018600268285,7.717209899264664e-6,-1.5864308892715257e-9,0.00280809416469148,7.666574793887121e-6,-1.5149558263742769e-9,0.0028082476851966315,7.509156810078956e-6,-1.293585924107478e-9,0.0028084967768828226,7.30058864751775e-6,-1.0001414868267381e-9,0.002808847262739549,7.101610708252468e-6,-7.196587372359342e-10,0.0028092805508106752,6.9632211202788204e-6,-5.236849754708002e-10,0.0028097620700029556,6.9179843415002716e-6,-4.5813084509820613e-10,0.0028102506436204987,6.977109497128568e-6,-5.3909443895529e-10,0.002810706875116468,7.1318269763759485e-6,-7.546337294862254e-10,0.002811099653827845,7.357649721019065e-6,-1.0705937383009498e-9,0.0028114103186717213,7.620360090645017e-6,-1.4389400470211245e-9,0.0028116342841793644,7.882562522965005e-6,-1.8069960493090511e-9,0.002811780336556491,8.109700436176797e-6,-2.1259981185286337e-9,0.0028118681577567702,8.274759500587497e-6,-2.3578054290919355e-9,0.002811924804212133,8.361260065829955e-6,-2.479149299892737e-9,0.002811980892546883,8.36454527445245e-6,-2.4834224476780367e-9,0.0028120670235339054,8.291786877210306e-6,-2.380638941437992e-9,0.002812210545938763,8.161235186498023e-6,-2.196355734372293e-9,0.0028124324269317093,8.000947582996757e-6,-1.9699141477060387e-9,0.0028127438794841287,7.846806856187975e-6,-1.7517213264542863e-9,0.002813142552806622,7.739137129470781e-6,-1.5985536553676695e-9,0.002813608808015108,7.716755992795095e-6,-1.5652027889490953e-9,0.002814103934259319,7.807540942446503e-6,-1.6911479779159391e-9,0.0028145735374341036,8.016337002635303e-6,-1.9834359406417603e-9,0.0028149593679730016,8.31455967856922e-6,-2.4019489267911616e-9,0.0028152192752681693,8.639495206008205e-6,-2.858393347499628e-9,0.002815347491924279,8.910155826623826e-6,-3.238690313459153e-9,0.0028153820992645705,9.056877288906372e-6,-3.444739279219633e-9,0.0028153917225959865,9.049565373279847e-6,-3.434183721829044e-9,0.0028154478006963196,8.907688181128402e-6,-3.234368005566589e-9,0.0028155987912163055,8.687766600877536e-6,-2.924641731063571e-9,0.002815858796138938,8.458997654451106e-6,-2.6021037702235526e-9,0.0028162112125574854,8.281283974367032e-6,-2.3508457347741356e-9,0.002816620244870729,8.193045999255578e-6,-2.2249439851131193e-9,0.002817043196425516,8.208464494140208e-6,-2.2446042949535775e-9,0.0028174399451113383,8.320583317078408e-6,-2.4004250119473305e-9,0.0028177788955663485,8.506869283546043e-6,-2.661052702041974e-9,0.0028180401266746525,8.735196722855205e-6,-2.9814634943747566e-9,0.002818216618208338,8.969546300902432e-6,-3.3109360361838935e-9,0.0028183139820533165,9.175233421802618e-6,-3.600466281728827e-9,0.0028183488727125663,9.323413400084446e-6,-3.809217986798757e-9,0.0028183463049050498,9.39458305470024e-6,-3.90954465122841e-9,0.0028183361606477814,9.380837778898787e-6,-3.890194719106599e-9,0.002818349263122649,9.286671155840795e-6,-3.757406772881838e-9,0.002818413492033781,9.128333531433483e-6,-3.53396419516556e-9,0.0028185502773691137,8.932029054209705e-6,-3.2566550844126667e-9,0.0028187715560268277,8.731181934898563e-6,-2.972477812164968e-9,0.0028190771735186674,8.562773878565448e-6,-2.7335615331514525e-9,0.002819452811212173,8.462515809163019e-6,-2.5904087552382515e-9,0.0028198689659859892,8.458399189389392e-6,-2.5827732791303527e-9,0.0028202823760493027,8.562461789260582e-6,-2.7279409911836136e-9,0.0028206420530898016,8.76203294867925e-6,-3.0082465413739715e-9,0.0028209016970371353,9.01428419331315e-6,-3.3633026041725225e-9,0.0028210372630595158,9.250300643214355e-6,-3.695772409602383e-9,0.0028210625026776777,9.393515552182452e-6,-3.897503770163006e-9,0.0028210309762700552,9.388841811821506e-6,-3.890735771174717e-9,0.0028210180397079793,9.227581680220804e-6,-3.6632088806019304e-9,0.002821090430482207,8.951597895319539e-6,-3.273910330543877e-9,0.002821281364602508,8.633748034245999e-6,-2.8253997402826636e-9,0.0028215841712364,8.34816387734706e-6,-2.4219756103304343e-9,0.0028219629940235817,8.147536600047868e-6,-2.1378075495426764e-9,0.0028223698510740254,8.054819543764938e-6,-2.0053439921519466e-9,0.002822758897752516,8.06627654451556e-6,-2.0195926662397562e-9,0.0028230947143213737,8.159510301354147e-6,-2.149322407764077e-9,0.0028233554406812823,8.301852148391436e-6,-2.348744115947894e-9,0.00282353282593384,8.45708600749022e-6,-2.5668892800147934e-9,0.002823630975521782,8.590367413029983e-6,-2.754534233626674e-9,0.002823664602469181,8.671985233133684e-6,-2.869577271902303e-9,0.0028236568220320374,8.680413957217215e-6,-2.881448031847007e-9,0.002823636368151626,8.604700974308771e-6,-2.77454826352887e-9,0.00282363417253053,8.446003171394267e-6,-2.55042869198829e-9,0.0028236793809163405,8.217892940976991e-6,-2.2281801649158934e-9,0.0028237951897224314,7.945063459574405e-6,-1.8425677017566835e-9,0.0028239951055245996,7.660380146708828e-6,-1.4398777251617586e-9,0.0028242801645024245,7.40050743300998e-6,-1.0718072754261351e-9,0.0028246375107151937,7.200455492493439e-6,-7.878393942073073e-10,0.002825040666646605,7.087470503711195e-6,-6.266431600801484e-10,0.002825451877475943,7.074723084324243e-6,-6.071044899922806e-10,0.00282582713879414,7.155466286875476e-6,-7.199525343266866e-10,0.0028261246005233435,7.299190176080726e-6,-9.222045847808211e-10,0.00282631625064073,7.452589468357933e-6,-1.138486076576167e-9,0.002826400528199012,7.5487591099507736e-6,-1.2740885116638722e-9,0.002826410104662908,7.52604944408374e-6,-1.2417419852670848e-9,0.0028264072933222306,7.3519489307029926e-6,-9.95445629992879e-10,0.002826464019776748,7.0400481913062265e-6,-5.543990372405558e-10,0.0028266339859106117,6.6478080126638315e-6,2.5428477574195166e-13,0.002826932486316038,6.254009951919073e-6,5.573195548555597e-10,0.002827334926475173,5.928910433440534e-6,1.017639188279871e-9,0.0028277917797869642,5.7135131054699254E-06,1.3232757200131534e-9,0.002828248468891538,5.614983691413445e-6,1.4639603114758254e-9,0.0028286601533812237,5.614073569452187e-6,1.4666632447107474e-9,0.0028289983913868215,5.676607424183315e-6,1.379463686399024e-9,0.002829251626940915,5.763552361016194e-6,1.257411163440545e-9,0.0028294226533315623,5.8378051497912814e-6,1.1529709034080448e-9,0.002829525391442807,5.868127420486881e-6,1.1104318965864509e-9,0.002829581983388046,5.831461400637911e-6,1.162556397104102e-9,0.0028296201636700017,5.714584370675174e-6,1.3281613329217984e-9,0.0028296704970861516,5.515438234757098e-6,1.610201352537694e-9,0.0028297631021037386,5.243980536622576e-6,1.9945855887171813e-9,0.0028299236827314406,4.922012339098648e-6,2.4504737826893106e-9,0.0028301691569658544,4.581263003820374e-6,2.933023335426697e-9,0.0028305037217332307,4.259296600010102e-6,3.3891673170969797e-9,0.002830916459461489,3.993408191619676e-6,3.766190530193445e-9,0.0028313814792820546,3.8133369601973606e-6,4.021977064794002e-9,0.0028318611572783646,3.7341893056990802e-6,4.135010647324168e-9,0.0028323123871055148,3.7511839643312496e-6,4.1118687449955575e-9,0.002832695135207755,3.837639289960757e-6,3.990171251095755e-9,0.0028329821184355144,3.947374265896908e-6,3.835263147375323e-9,0.0028331678013638183,4.02244680576321e-6,3.7292680413861366e-9,0.002833273994081028,4.0063226672806816e-6,3.752376733977591e-9,0.0028333486086335536,3.8605677828823e-6,3.959124752584863e-9,0.0028334548656437477,3.5800588386143807e-6,4.356815088093346e-9,0.0028336519146150165,3.199196575199989e-6,4.896744085319297e-9,0.002833973775156948,2.7832242943678695e-6,5.486528461109836e-9,0.002834417043797699,2.4062456980927005e-6,6.021220646396547e-9,0.002834944056387233,2.1262318186002894e-6,6.418661302859258e-9,0.0028354988875670265,1.969203084860813e-6,6.641874660667108e-9,0.0028360266300474844,1.927913656213458e-6,6.70098348403756e-9,0.0028364871221820765,1.971420933258333e-6,6.639725869469694e-9,0.0028368601012207684,2.0580493155069e-6,6.517137481949485e-9,0.002837143798391918,2.146084523307919e-6,6.392404569592256e-9,0.0028373505649315713,2.200262702481213e-6,6.315634711039505e-9,0.0028375022225614853,2.194747581939334e-6,6.323580516384682e-9,0.002837626278744532,2.1141632193792574e-6,6.438118184879123e-9,0.002837752983195648,1.9539503821470446e-6,6.665710573780227e-9,0.002837912672316925,1.720635357079953e-6,6.997035491702147e-9,0.0028381327625960472,1.4319563558805509e-6,7.406851308263388e-9,0.0028384339774149996,1.1162175023410766e-6,7.85496469067567e-9,0.0028388259645027686,8.098741102245192e-7,8.289678744088075e-9,0.0028393032769971362,5.525056854996284e-7,8.654901931555912e-9,0.002839843390194472,3.791424868007549e-7,8.900980702450035e-9,0.0028404085467517684,3.1124743347196077e-7,8.997452128487504e-9,0.002840952357445899,3.4901622113740223e-7,8.943973785765355e-9,0.002841430295633725,4.68119085106208e-7,8.775000509935415e-9,0.0028418113735728568,6.229385663401742e-7,8.555251582211405e-9,0.0028420874546643236,7.562180083845292e-7,8.366042862071104e-9,0.002842277186103206,8.12928826496597e-7,8.28557717186452e-9,0.0028424229792514757,7.548341939316745e-7,8.368220742089385e-9,0.0028425812098529235,5.718152359385369e-7,8.628388634888865e-9,0.002842807562695609,2.864119988032696e-7,9.034090564959052e-9,0.0028431411958904427,-5.075784686922267e-8,9.513435790152513e-9,0.002843592795816794,-3.745954342178899e-7,9.973922781259542e-9,0.00284414136383234,-6.243541079214667e-7,1.0329162879331443e-8,0.0028447415293055118,-7.608178796241404e-7,1.0523290713005752e-8,0.0028453383289325533,-7.7516339165713e-7,1.0543619193061516e-8,0.0028458829874018483,-6.870431643594794e-7,1.0418002465363624e-8,0.002846343745861855,-5.347045473568402e-7,1.0200845400060194e-8,0.002846709393672464,-3.626758819940621e-7,9.955588339874181e-9,0.0028469868913886353,-2.1168976993434465e-7,9.740321417669294e-9,0.0028471961486281772,-1.1277953739782726e-7,9.5993194186896e-9,0.002847364587199702,-8.507667609072321e-8,9.559858106078426e-9,0.0028475227795878447,-1.357926730672906e-7,9.63217247842041e-9,0.0028477012760148397,-2.6098770439544055e-7,9.810568108142715e-9,0.0028479280799226956,-4.4634904759132186e-7,1.0074568307647262e-8,0.002848226026012085,-6.678989044547163e-7,1.038996413878128e-8,0.002848609485491815,-8.932110104100397e-7,1.0710570698878495e-8,0.0028490803883028048,-1.08421348997412e-6,1.0982211998329638e-8,0.0028496244808374053,-1.2027066912850638e-6,1.1150545368581883e-8,0.0028502098087099434,-1.2189535497820264e-6,1.117325646547346e-8,0.0028507899812964224,-1.1218694346857707e-6,1.1034558640475975e-8,0.0028513137786630493,-9.269848437980516e-7,1.0756559639854864e-8,0.0028517396184371633,-6.772541783626091e-7,1.040045521595228e-8,0.002852049745857075,-4.3383629160081065e-7,1.0053410747715433e-8,0.002852257667938162,-2.588555502582333e-7,9.80397507841194e-9,0.0028524050176591494,-1.966808876808624e-7,9.715373390453078e-9,0.002852549088431962,-2.610733914805113e-7,9.807193562515353e-9,0.002852746181827145,-4.3236107396414083e-7,1.0051389365553414e-8,0.002853036583500799,-6.643300296990387e-7,1.0382115635541902e-8,0.0028534351813685878,-8.975086395893872e-7,1.0714629219647167e-8,0.002853929365115319,-1.0745790729053187e-6,1.096719853065988e-8,0.0028544839144717562,-1.1539281212368752e-6,1.1080391616891132e-8,0.002855051068247713,-1.1181731669905117e-6,1.1029268499031812e-8,0.002855582768565016,-9.75875355579879e-7,1.0825912624788529e-8,0.0028560415652221956,-7.566392276976092e-7,1.051252610395587e-8,0.0028564073406055135,-5.018534207721013e-7,1.0148247915315251e-8,0.002856678785926064,-2.5444286344771827e-7,9.794490668368394e-9,0.002856870524742683,-5.058886026101649e-8,9.503046426891806e-9,0.002857007914873242,8.512852095070961e-8,9.30908662963937e-9,0.0028571215454132087,1.412895044493818e-7,9.22891211852966e-9,0.002857242681589101,1.1896856287060092e-7,9.260923881079643e-9,0.0028573999738171854,3.009713316077348e-8,9.38800232202608e-9,0.0028576170512156747,-1.0428600410014353e-7,9.580041432918065e-9,0.002857910332403342,-2.5568229132032263e-7,9.796312889070212e-9,0.002858286478980994,-3.900984786692505e-7,9.988259642955946e-9,0.002858739364701392,-4.712582429285285e-7,1.0104059717794627e-8,0.00285924729195101,-4.661759280679692e-7,1.0096572400747676e-8,0.002859772355326098,-3.5361998523694726e-7,9.935435750221926e-9,0.0028602647405304277,-1.3415193562808552e-7,9.621442048735044e-9,0.0028606740590430527,1.6248167838119398e-7,9.197139078236257e-9,0.0028609662384943444,4.78853899398024e-7,8.74468806781909e-9,0.002861139063409164,7.44255750862787e-7,8.365236229068475e-9,0.0028612269346888057,8.984655386532225e-7,8.144871394043985e-9,0.002861290126468282,9.137233591571715e-7,8.123196247026203e-9,0.0028613933351704225,8.035260371148903e-7,8.280824203979028e-9,0.002861584483698411,6.150660520729815e-7,8.55027050948895e-9,0.0028618827041504077,4.113854839993796e-7,8.841474477305177e-9,0.0028622775767180642,2.524378755512151e-7,9.068802254899132e-9,0.0028627363987564036,1.8135003911035153e-7,9.17060221962431e-9,0.0028632149243848224,2.1781405590917407e-7,9.118624569170666e-9,0.002863668101326738,3.577669060595684e-7,8.918529212376947e-9,0.0028640588395250108,5.775725882547501e-7,8.603998240368662e-9,0.002864363874395403,8.409557603452859e-7,8.226895323903023e-9,0.002864576317683268,1.1070964706719793e-6,7.845700967819764e-9,0.0028647049562361203,1.3383042800297684e-6,7.514484405755572e-9,0.0028647709664122996,1.505912805444349e-6,7.274393180785887e-9,0.0028648031644739605,1.5936658590036488e-6,7.148753085068565e-9,0.0028648329825001757,1.5985844872876452e-6,7.141820831205116e-9,0.0028648901078107145,1.5298597346848266e-6,7.240401923975936e-9,0.0028649992237887115,1.40662889791498e-6,7.417073022953166e-9,0.002865177723667968,1.255395999935133e-6,7.63388684017037e-9,0.002865433962330402,1.1074017364182093e-6,7.84611558047985e-9,0.0028657656359532793,9.9575507730559e-7,8.006322067477023e-9,0.002866158158739561,9.517297115380463e-7,8.069644697438206e-9,0.0028665835690910722,9.99411061201828e-7,8.001485323787432e-9,0.0028670015032235038,1.1483302317519537e-6,7.788115041184415e-9,0.002867364559705957,1.3852827350377053e-6,7.448455109494122e-9,0.0028676299233594852,1.6691386030128764e-6,7.041536345565719e-9,0.0028677759678411305,1.9347439744128324e-6,6.660862146080923e-9,0.0028678167309223023,2.1103546939003207e-6,6.409323306547407e-9,0.0028678034788689843,2.144698261273195e-6,6.3603400593137696e-9,0.0028678078376921227,2.029720577821034e-6,6.525302617003996e-9,0.0028678938191672595,1.8044434865642015e-6,6.8481776203151215e-9,0.002868094666236441,1.5376263800915127e-6,7.230454856236507e-9,0.002868405913933894,1.3009574329347206e-6,7.569539411050057e-9,0.0028687938676968555,1.1474463535309566e-6,7.789602788927635e-9,0.002869210861589051,1.1019524188615657e-6,7.855057338570128e-9,0.002869609334325944,1.1622461307956396e-6,7.769013139741857e-9,0.002869951231852881,1.3057241037395412e-6,7.563711223382599e-9,0.002870212677215331,1.4976923875705954e-6,7.288744102079043e-9,0.002870385194690064,1.699062535904297e-6,7.000097817318875e-9,0.002870474725317542,1.8727935944983242e-6,6.75093165594071e-9,0.002870499135165648,1.988954290042755e-6,6.584275013804583e-9,0.00287048464138741,2.0282382639665136e-6,6.527917653518532e-9,0.0028704616140799583,1.9837809533528225e-6,6.5917562221991524E-09,0.0028704602549171655,1.8612665906276216e-6,6.767640226165102e-9,0.002870506668811975,1.6774673462495774e-6,7.031500508441279e-9,0.0028706197689758587,1.457604560662817e-6,7.34716419913411e-9,0.0028708091655566463,1.2320673332684813e-6,7.671058717135242e-9,0.0028710739127016565,1.0328358362055718e-6,7.957305852913069e-9,0.0028714019528153388,8.896734068155328e-7,8.163146833604354e-9,0.0028717702214416355,8.259448522978371e-7,8.254940922690583e-9,0.0028721457505871515,8.537612288983449e-7,8.215181934479207e-9,0.0028724887943640687,9.684630238408015e-7,8.050494120702066e-9,0.0028727594429303256,1.1436800035455436e-6,7.798780069504199e-9,0.0028729285817180555,1.3300651297795598e-6,7.531028042365649e-9,0.0028729915695690435,1.462263368762386e-6,7.341218977444032e-9,0.002872978448805743,1.4772429274966988e-6,7.3198920236120235e-9,0.002872951252863827,1.339998687991839e-6,7.517195289934864e-9,0.0028729836176172785,1.0630678713911078e-6,7.914951705548082e-9,0.0028731308183241877,7.051695488262558e-7,8.42876029911416e-9,0.0028734078884947605,3.473260311513201e-7,8.942348496380804e-9,0.0028737882087745852,6.114666054513867e-8,9.353047158655345e-9,0.002874219668384876,-1.1272126322969022e-7,9.602619303010073e-9,0.0028746456433421104,-1.6888577001482716e-7,9.683354937474298e-9,0.002875020314855133,-1.291094150016922e-7,9.626438926383505e-9,0.00287531548780091,-3.018828501717634e-8,9.484597230108128e-9,0.0028755210579180877,8.668647485398011e-8,9.31689120875924e-9,0.0028756422882183752,1.8328829012502568e-7,9.178200849892443e-9,0.002875696134402279,2.288312141503027e-7,9.112800066087184e-9,0.002875707547399061,2.025805089596482e-7,9.150562494597015e-9,0.002875705846174958,9.52630333672185e-8,9.304873938120105e-9,0.0028757210926035038,-9.052120703341189e-8,9.57200496741452e-9,0.0028757804866157105,-3.4091383411167794e-7,9.932003851136088e-9,0.002875904942563708,-6.325855214179894e-7,1.035130470799866e-8,0.0028761062305016523,-9.357358663929467e-7,1.0787070613173603e-8,0.002876385114451254,-1.2180331505464313e-6,1.1192851470911072e-8,0.002876730724811969,-1.4490859095561661e-6,1.1524975361779462e-8,0.002877121258656621,-1.6050876840491572e-6,1.174919121731711e-8,0.002877526072604426,-1.6732673197605107e-6,1.1847070930135468e-8,0.0028779092664162932,-1.6557908710847165e-6,1.1821668584018685e-8,0.0028782350578963945,-1.5726563757144414e-6,1.1701746720225946e-8,0.002878475324870978,-1.4624372605699738e-6,1.1542873713258664e-8,0.0028786189483200725,-1.3787231489666856e-6,1.1422265207849368e-8,0.002878680701003052,-1.3798468481290254e-6,1.1423915368175761e-8,0.002878704787159146,-1.5113471987390404e-6,1.1613291349036044e-8,0.002878756903957089,-1.785757177929549e-6,1.2008265758302951e-8,0.002878902862502164,-2.1705939820080316e-6,1.2561939708202041e-8,0.0028791817969540797,-2.5954920375929927e-6,1.3173007501556022e-8,0.002879589402551466,-2.9784185508799e-6,1.3723483959784089e-8,0.0028800817252932734,-3.2567032182663314e-6,1.4123284543802338e-8,0.0028805956227206074,-3.4055518723271702e-6,1.4336808076009957e-8,0.00288107208392016,-3.4376003397330977e-6,1.4382284035630344e-8,0.0028814710783001875,-3.3898579305011365e-6,1.43129954824349e-8,0.0028817755563885373,-3.3082580675083343e-6,1.4195060433588716e-8,0.002881988308033612,-3.2361154678533363e-6,1.4090836012607044e-8,0.0028821262129773463,-3.207791533507497e-6,1.4049812193983022e-8,0.0028822147082530657,-3.246215519180097e-6,1.4105033781258338e-8,0.0028822834027905776,-3.36241780936278e-6,1.4272395487930903e-8,0.002882362616150177,-3.5558741422002764e-6,1.4551103140709693e-8,0.0028824803465096684,-3.815258525621979e-6,1.4924750790070064e-8,0.002882659335415783,-4.119686711663455e-6,1.5363142882474208e-8,0.0028829141547347752,-4.440809412356523e-6,1.5825359058537653e-8,0.0028832486380844327,-4.746136382797398e-6,1.626457640078978e-8,0.0028836543274357697,-5.003595714935634e-6,1.6634632356475022e-8,0.0028841105948802857,-5.186858658952929e-6,1.6897660746955784e-8,0.0028845868380229104,-5.280659678729527e-6,1.703172244416492e-8,0.0028850468268388713,-5.285119178421869e-6,1.703703042675255e-8,0.0028854548808014517,-5.2180136555174015e-6,1.693924927655556e-8,0.00288578318588404,-5.1141539701945615e-6,1.678862920440044e-8,0.0028860192930803964,-5.021207939658294e-6,1.6653980349342108e-8,0.0028861723562649236,-4.991365507388845e-6,1.6610608238690897e-8,0.0028862757956466495,-5.06888921218822e-6,1.6722303008240677e-8,0.0028863833910300974,-5.2754810860775145e-6,1.7020219754766915e-8,0.002886556622110814,-5.598336802918629e-6,1.7485702072118628e-8,0.0028868448006271175,-5.988001271290007e-6,1.804727106737048e-8,0.0028872654738177545,-6.371171534302883e-6,1.8599132347397268e-8,0.002887795844354059,-6.675623117016277e-6,1.903710691825924e-8,0.0028883812762736244,-6.855447025490349e-6,1.9295003604406827e-8,0.0028889563468819752,-6.903610854021034e-6,1.9362747686658358e-8,0.0028894665800328696,-6.847559620219423e-6,1.9280059028761153e-8,0.0028898810668172878,-6.734011844686922e-6,1.911450684067196e-8,0.0028901940052642504,-6.612662324206851e-6,1.893795127279494e-8,0.0028904191547270935,-6.524988204859821e-6,1.881034874825922e-8,0.002890582222841485,-6.4992181867616665e-6,1.8772471855239283e-8,0.0028907142743236822,-6.549601240706169e-6,1.8844849350322546e-8,0.0028908470537224477,-6.677663335062472e-6,1.9029580088897277e-8,0.0028910098168515577,-6.87394958687946e-6,1.9312855656179486e-8,0.0028912269035187145,-7.1197167658875545e-6,1.966742957177217e-8,0.0028915154465618195,-7.388703555439692e-6,2.0055217248474415e-8,0.002891882983346302,-7.649501334948221e-6,2.0430764834169687e-8,0.002892325261621495,-7.869140909601243e-6,2.0746451553512368e-8,0.002892825069667161,-8.018140622490618e-6,2.095977025193972e-8,0.0028933531569161294,-8.0765493987099e-6,2.1042023401707183e-8,0.0028938720607829473,-8.039749741569616e-6,2.0986676926427616e-8,0.002894342905333149,-7.92219781746215e-6,2.081475472290096e-8,0.0028947341280570267,-7.757261613370963e-6,2.0574609101836252e-8,0.0028950300744023127,-7.592178937176516e-6,2.033462657209387e-8,0.0028952370056188714,-7.47855706718128e-6,2.0169463592427875e-8,0.0028953844081573035,-7.460137255342665e-6,2.0142316838205095e-8,0.00289552034348127,-7.560525475110968e-6,2.0287169809216575e-8,0.0028957008077851775,-7.774273461944861e-6,2.0595931401456922e-8,0.0028959747760086865,-8.06484752748952e-6,2.1015565228355683e-8,0.0028963687909720668,-8.37202856618837e-6,2.1458840848969644e-8,0.002896876822197008,-8.628384556733143e-6,2.1828161536226112e-8,0.002897460687328443,-8.779917072525279e-6,2.2045408873836965e-8,0.0028980621551318326,-8.802502597728348e-6,2.207573173944743e-8,0.002898621746734977,-8.706920074860234e-6,2.1934852495291796e-8,0.0028990957821008693,-8.531279911183452e-6,2.1678125082780306e-8,0.002899465167343782,-8.326114196731398e-6,2.137891611386844e-8,0.0028997348041497496,-8.13959047569529e-6,2.110712912790612e-8,0.002899926963249216,-8.007836040779991e-6,2.091513975889782e-8,0.002900073067994656,-7.951291908204955e-6,2.0832502054918495e-8,0.002900206831484279,-7.975306429587075e-6,2.0866828269500727e-8,0.002900359629928538,-8.072622529241776e-6,2.1007425546019428e-8,0.0029005576921144888,-8.226159990315293e-6,2.1229360644075667e-8,0.0029008202589749987,-8.411462892954981e-6,2.1497037476612273e-8,0.0029011579526491515,-8.59892006014462e-6,2.176744153154923e-8,0.0029015709907129882,-8.756361710375036e-6,2.1993920303424827e-8,0.002902047505571332,-8.85279154909494e-6,2.2131593765595492e-8,0.0029025628872768883,-8.863671727157463e-6,2.2145000075912374e-8,0.0029030815052825793,-8.777345014016352e-6,2.2017385091665053e-8,0.0029035620496829224,-8.600986341434939e-6,2.175931513310784e-8,0.002903966637114285,-8.363362576374002e-6,2.141266869690318e-8,0.0029042717781266334,-8.111634884846253e-6,2.1045980547935134e-8,0.002904477372654277,-7.901280532790563e-6,2.073978444425112e-8,0.002904609628244343,-7.781372369153714e-6,2.0565217145761693e-8,0.002904715791276944,-7.780057503835996e-6,2.056294239996993e-8,0.0029048518634546975,-7.895457374774159e-6,2.0729997122619613e-8,0.0029050672122561154,-8.095212921731798e-6,2.1019213111936452e-8,0.0029053908949938285,-8.324795261790677e-6,2.1351336711916632e-8,0.002905823673533291,-8.52201545814966e-6,2.1636089845854755e-8,0.0029063379482547036,-8.63355664871243e-6,2.1796127132877224e-8,0.00290688567731947,-8.628754999473182e-6,2.178700899956975e-8,0.002907411886688896,-8.506448804640417e-6,2.1607149038605026e-8,0.002907869313118284,-8.29292031099503e-6,2.1294847433827952e-8,0.002908229337953015,-8.032291094367549e-6,2.0914343210019756e-8,0.002908486197412823,-7.773494661513888e-6,2.0536855496935417e-8,0.0029086544808403334,-7.5585686559262325e-6,2.0223523711567358e-8,0.0029087623904295403,-7.415402414785589e-6,2.001484051067057e-8,0.002908843981353781,-7.35553482324306e-6,1.9927459583560743e-8,0.002908932726752054,-7.375649943051864e-6,1.9956406208574644e-8,0.0029090572536835126,-7.460809532075294e-6,2.0079817615799907e-8,0.002909238952715364,-7.5879228762615555e-6,2.0264014865399943e-8,0.0029094906884145105,-7.728775534689363e-6,2.0467914700593435e-8,0.0029098158523242937,-7.852662044244406e-6,2.064685157630933e-8,0.002910207338650096,-7.929175550194102e-6,2.0756624253538985e-8,0.0029106466203267355,-7.931911576665453e-6,2.0758877958416994e-8,0.002911103814377557,-7.843588459108618e-6,2.062855490190973e-8,0.0029115402023730556,-7.66224497593975e-6,2.0362916420013977e-8,0.002911914696322001,-7.406730952055019e-6,1.998953139422466e-8,0.0029121945161994208,-7.118129171687856e-6,1.9568325801371748e-8,0.0029123675377467186,-6.853478439441242e-6,1.918239985768633e-8,0.002912450734123804,-6.670885447814342e-6,1.8916298524169225e-8,0.002912488859188778,-6.610394269086291e-6,1.88281387438807e-8,0.0029125417695362995,-6.679120462312963e-6,1.8928018749465943e-8,0.0029126652147423104,-6.848070988212437e-6,1.9173497757355166e-8,0.0029128935517388484,-7.061935206702308e-6,1.9483944368025575e-8,0.002913231037578079,-7.256695642236208e-6,1.9766193972595816e-8,0.0029136533209005457,-7.377571585707302e-6,1.9940619511564884e-8,0.0029141165252539614,-7.391701575272796e-6,1.9959524190801965e-8,0.0029145697689046887,-7.293322714917477e-6,1.981463990082668e-8,0.0029149673788549375,-7.1018310443380406e-6,1.953430007430907e-8,0.002915278149714961,-6.8545563898393026e-6,1.9172935518929185e-8,0.002915490151865234,-6.596725101954491e-6,1.8796465187354656e-8,0.0029156107375936115,-6.371248850546456e-6,1.846741356078346e-8,0.002915662539790091,-6.210673245514143e-6,1.8233164243708407e-8,0.0029156771594396804,-6.1327104522359935e-6,1.8119444504375368e-8,0.002915688499493966,-6.139498762978267e-6,1.812926086634637e-8,0.0029157272510905927,-6.219687203803143e-6,1.824596696099231e-8,0.0029158172217261446,-6.3520114728173305e-6,1.843850247261238e-8,0.002915973412501954,-6.5091582694995025e-6,1.8667034188020637e-8,0.0029162012640837876,-6.6612268782975755e-6,1.888798608393158e-8,0.0029164964235661433,-6.778735787311186e-6,1.9058396783844645e-8,0.002916844658644618,-6.835584702079287e-6,1.91402221340199e-8,0.0029172220097263466,-6.812552966048134e-6,1.910544630322981e-8,0.002917595884444303,-6.7017614420562816e-6,1.8942618913472558e-8,0.002917928412307093,-6.511815863831633e-6,1.8664385893287575e-8,0.00291818347875855,-6.2719153866716e-6,1.8313480562819844e-8,0.002918337682433519,-6.031490122748525e-6,1.7962147335797165e-8,0.002918392453911434,-5.8514246809711895e-6,1.7699255420367632e-8,0.0029183808220965175,-5.785913109725185e-6,1.760375851831056e-8,0.002918361694896576,-5.860827931022856e-6,1.7713146738291097e-8,0.0029184005478205227,-6.060277614749884e-6,1.8003943123245615e-8,0.0029185450818061424,-6.330635628385983e-6,1.8397723097046376e-8,0.002918808813042895,-6.6005652769916755e-6,1.8790403319492904e-8,0.002919169951357401,-6.805733183674234e-6,1.908827114831872e-8,0.0029195829508730235,-6.906435273516535e-6,1.92336174657321e-8,0.002919994648581057,-6.893430674434389e-6,1.9213166424777753e-8]} \ No newline at end of file diff --git a/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_2.json b/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_2.json new file mode 100644 index 0000000..480e1a0 --- /dev/null +++ b/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_2.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1.0,"startIndex":2000,"numberOfSamples":1000,"samples":[-0.0019226433452019043,-4.2400202047522655e-5,-4.847209139509104e-8,-0.0019224915279308452,-4.232138293995991e-5,-4.839917575682174e-8,-0.0019223575599970867,-4.2339533342532786e-5,-4.841941987929699e-8,-0.0019221925201880694,-4.2455757141232014e-5,-4.853500256368106e-8,-0.0019219535221161883,-4.264378690983704e-5,-4.87214377132331e-8,-0.0019216173050324704,-4.285653639574512e-5,-4.893368444013015e-8,-0.0019211878632388768,-4.304035090341533e-5,-4.911986351109583e-8,-0.0019206944269591652,-4.3151566455827686e-5,-4.923733483565604e-8,-0.001920180782153211,-4.316840557061996e-5,-4.9264336921476375e-8,-0.0019196912154135558,-4.3093903838697776e-5,-4.920299044056076e-8,-0.001919259170950511,-4.2950548434361e-5,-4.9074301884897993e-8,-0.0019189019210674083,-4.277089886837732e-5,-4.8909249976046343e-8,-0.0019186208521778832,-4.258868047478004e-5,-4.8740241599705884e-8,-0.001918404926768647,-4.243272605567538e-5,-4.859521792579728e-8,-0.0019182349450095773,-4.2323928794774185e-5,-4.849461482060666e-8,-0.0019180872700253946,-4.2274266862589164E-05,-4.8450338629402915e-8,-0.001917936666180632,-4.228680533004299e-5,-4.846574052979398e-8,-0.00191775854316843,-4.2355896173164964e-5,-4.8535824807684226e-8,-0.0019175311877270766,-4.246735024004276e-5,-4.864742159638906e-8,-0.0019172384671460499,-4.25989290061144e-5,-4.877961167038227e-8,-0.0019168730864799963,-4.2721876682799584e-5,-4.890508625070886e-8,-0.0019164398837302117,-4.280432151427329e-5,-4.8993279677066866e-8,-0.0019159579014177714,-4.281706315274191e-5,-4.901583883335078e-8,-0.0019154594243000278,-4.27412144250086e-5,-4.8953968414289994e-8,-0.001914984557283099,-4.2575562469439085e-5,-4.880561552483321e-8,-0.0019145716125768752,-4.234039279521026e-5,-4.858934382627422e-8,-0.0019142459086730812,-4.207501807745824e-5,-4.834220694952108e-8,-0.0019140111182697102,-4.1828569489815494e-5,-4.811113500434928e-8,-0.0019138468399848853,-4.1646650455964184e-5,-4.794024685992306e-8,-0.0019137136475314569,-4.155842585264431e-5,-4.785840090516636e-8,-0.0019135639168575628,-4.156847538008292e-5,-4.787112479174571e-8,-0.001913354878178476,-4.165575436672902e-5,-4.795925785880041e-8,-0.001913060039736298,-4.1779660100407035e-5,-4.808445425303678e-8,-0.0019126758326174886,-4.189128905126362e-5,-4.8199834042895305e-8,-0.0019122216639617473,-4.194655693717889e-5,-4.8262624541360104e-8,-0.0019117335388331718,-4.191721880810053e-5,-4.8244930247959284e-8,-0.0019112535774869718,-4.17965282482666e-5,-4.8139407883790543e-8,-0.0019108191058004997,-4.159831661316574e-5,-4.795859671838348e-8,-0.001910454761111615,-4.13507805095086e-5,-4.7729094163578805e-8,-0.0019101693588310655,-4.108797784158734e-5,-4.74834365018481e-8,-0.0019099571113809235,-4.084210928294797e-5,-4.725264424568893e-8,-0.0019098014051956349,-4.06383521782112e-5,-4.706116300989979e-8,-0.001909679232807439,-4.049244367589526e-5,-4.6924445600308274e-8,-0.0019095650792493577,-4.041027304587661e-5,-4.684851156054176e-8,-0.0019094338706790138,-4.038850509596943e-5,-4.6830551880131895e-8,-0.0019092631960406178,-4.041545998091156e-5,-4.685979719885473e-8,-0.0019090353342274217,-4.0471961726856714e-5,-4.691831881589462e-8,-0.0019087395911655302,-4.053242839868951e-5,-4.698199191766588e-8,-0.0019083750969175394,-4.0566889485238066e-5,-4.7022295836454817e-8,-0.0019079535950202848,-4.05448090409642e-5,-4.7009857068801336e-8,-0.0019075008929219535,-4.0441352326518995e-5,-4.692041592595363e-8,-0.0019070548602137859,-4.024557340002766e-5,-4.674274417153859e-8,-0.0019066581194424014,-3.996789525520936e-5,-4.648596905336088e-8,-0.0019063458229643833,-3.964246667720178e-5,-4.618202616974119e-8,-0.001906132593687367,-3.932066250072738e-5,-4.5879631296205274e-8,-0.001906005112413036,-3.9056140911694693e-5,-4.563013841888741e-8,-0.0019059250849624966,-3.888725831245831e-5,-4.547077730150599e-8,-0.0019058418160187416,-3.882488208844757e-5,-4.541289156609024e-8,-0.0019057084893034362,-3.885058262649113e-5,-4.5439933455113804e-8,-0.0019054953071705263,-3.892448678948119e-5,-4.551462448108332e-8,-0.0019051956015066044,-3.899818092129441e-5,-4.559102248754266e-8,-0.001904824751066378,-3.902764552633575e-5,-4.562680789434229e-8,-0.0019044139453100216,-3.898286178877979e-5,-4.5592592314242095e-8,-0.0019040014133682513,-3.8852641286461894e-5,-4.547679044559279e-8,-0.0019036234930003598,-3.864464423892581e-5,-4.5285911009026024e-8,-0.0019033074182967,-3.838144973804248e-5,-4.504099501526467e-8,-0.0019030670807785748,-3.809414814477403e-5,-4.477156044224583e-8,-0.0019029021776647626,-3.7815292683842436e-5,-4.4508817510060506e-8,-0.001902800227035411,-3.757290803529455e-5,-4.427982585191298e-8,-0.0019027403062597105,-3.738655521525043e-5,-4.410361508352597e-8,-0.0019026972766109718,-3.726562021454014e-5,-4.3989482282936625e-8,-0.0019026455605967178,-3.720939282853564e-5,-4.393706825168861e-8,-0.001902562049494492,-3.720819681311018e-5,-4.393747898583925e-8,-0.0019024282429587474,-3.7244887169539354e-5,-4.397474157144386e-8,-0.0019022320167928473,-3.7296417780327447e-5,-4.402726172840666e-8,-0.0019019694121183246,-3.733563521997301e-5,-4.406942025345132e-8,-0.0019016466101295054,-3.7333817380047615e-5,-4.4073850286943826e-8,-0.001901281721675244,-3.72647279533573e-5,-4.401521158739995e-8,-0.0019009051492186858,-3.7110772537172744e-5,-4.387608872624823e-8,-0.0019005564761927897,-3.687070357499274e-5,-4.365449081610721e-8,-0.0019002760006965934,-3.656614621766662e-5,-4.3370288285066725e-8,-0.0019000913323042824,-3.624205466668279e-5,-4.306583828633659e-8,-0.0019000039601944792,-3.5956706816941076e-5,-4.279656932567122e-8,-0.0018999840816792122,-3.576226105855051e-5,-4.261250079410351e-8,-0.0018999792883793371,-3.568461104514584e-5,-4.253901137884262e-8,-0.001899933981398471,-3.5713853399087564e-5,-4.2567602344540055e-8,-0.0018998090711157681,-3.581022732657273e-5,-4.266128735242672e-8,-0.0018995924498515157,-3.5920529128532807E-05,-4.27699363285063e-8,-0.0018992979805863262,-3.599552540735251e-5,-4.284667515898346e-8,-0.001898956996465333,-3.60016505232314e-5,-4.2859033641491364e-8,-0.0018986077115788766,-3.5925404995038095e-5,-4.2793327231141533e-8,-0.0018982861274868695,-3.5772115322624845e-5,-4.2653762704726326e-8,-0.0018980197803509253,-3.556151123416992e-5,-4.245848237196928e-8,-0.0018978243192027849,-3.532201505409536e-5,-4.2234258129154944e-8,-0.0018977025183165013,-3.5084842908056075e-5,-4.201085903922587e-8,-0.001897645338891351,-3.487865622253372e-5,-4.181584089370757e-8,-0.001897634548299051,-3.472539749417785e-5,-4.1670438822720854e-8,-0.0018976462592206278,-3.4637684651986404E-05,-4.158699002545304e-8,-0.0018976547528813345,-3.461783260192269e-5,-4.156798431104482e-8,-0.0018976360025567379,-3.465835456450116e-5,-4.160658512785339e-8,-0.0018975704668702292,-3.474353699435762e-5,-4.168818028849286e-8,-0.0018974450856599756,-3.485154582856132e-5,-4.179238643199875e-8,-0.0018972547032642363,-3.4956750270050015e-5,-4.189517808310863e-8,-0.0018970031462578617,-3.5032293373468896e-5,-4.1971187462921197e-8,-0.001896704041121835,-3.5053177068163955e-5,-4.199649895495414e-8,-0.0018963811064912409,-3.500033872352196e-5,-4.195247884233675e-8,-0.0018960669388229457,-3.486606242620335e-5,-4.183101890714069e-8,-0.0018957986732221059,-3.466005594878666e-5,-4.1640536726904226e-8,-0.0018956091571617987,-3.441367338006517e-5,-4.141024300465335e-8,-0.0018955143084655717,-3.417789714991304e-5,-4.11883959487616e-8,-0.0018955015199407235,-3.401103934461799e-5,-4.103064766105313e-8,-0.0018955276091062383,-3.395751831846302e-5,-4.097979506922786e-8,-0.0018955320612609062,-3.4027724788744977e-5,-4.104650552871127e-8,-0.001895460925824634,-3.419213691026499e-5,-4.120354608540807e-8,-0.0018952876637236959,-3.439431347479264e-5,-4.139792350116541e-8,-0.0018950194973305701,-3.4574094187676726e-5,-4.157273141268476e-8,-0.00189468901820827,-3.468727701743215e-5,-4.168573954249668e-8,-0.0018943393648524587,-3.471417304124221e-5,-4.171758103848185e-8,-0.001894011175966523,-3.4658126432902484e-5,-4.1670568510380554e-8,-0.0018937347654549707,-3.4538913747532676e-5,-4.156270803527193e-8,-0.0018935271586108895,-3.438520384909261e-5,-4.1420753571334326e-8,-0.0018933922404869188,-3.4228171385826936e-5,-4.127420869753851e-8,-0.0018933224519850319,-3.409667569558539e-5,-4.115067186901395e-8,-0.001893301244193991,-3.40137190510597e-5,-4.10723266568858e-8,-0.0018933060255165923,-3.399399788202456e-5,-4.105348708812609e-8,-0.0018933114133081418,-3.404253904550354e-5,-4.109924608197351e-8,-0.0018932925837213562,-3.415443233452324e-5,-4.120524021833533e-8,-0.0018932284621856921,-3.431570348176952e-5,-4.135853030487643e-8,-0.001893104383091029,-3.4505267334039883e-5,-4.1539480078514925e-8,-0.00189291393259836,-3.469764551964496e-5,-4.172428673891212e-8,-0.0018926599383916741,-3.486610463956082e-5,-4.188783776156979e-8,-0.0018923546511316431,-3.498605241766292e-5,-4.2006785198344876e-8,-0.001892019101621626,-3.5038631408074926e-5,-4.206286015466167e-8,-0.0018916814855736094,-3.5014534367428806e-5,-4.204652314564249e-8,-0.001891374040852943,-3.491799599962725e-5,-4.196092987201902e-8,-0.0018911275262606326,-3.477018738663742e-5,-4.182542386637248e-8,-0.0018909628356181614,-3.460994197225293e-5,-4.167647877700423e-8,-0.0018908809794151223,-3.448870510773402e-5,-4.1563025636714426e-8,-0.001890855680381783,-3.4457266426274074e-5,-4.1533801407386716e-8,-0.0018908353879217353,-3.454621539121781e-5,-4.1618610494880996e-8,-0.0018907590601062614,-3.474930510512576e-5,-4.1812322746267864e-8,-0.0018905806559135173,-3.502183484605819e-5,-4.2073175486873276e-8,-0.0018902883688857062,-3.529801938551741e-5,-4.233914044230188e-8,-0.0018899068551920142,-3.551742428610809e-5,-4.255290749642152e-8,-0.001889483249018912,-3.564481602849056e-5,-4.268065997382881e-8,-0.0018890679245541686,-3.567523527632135e-5,-4.2716955210695495e-8,-0.00188870032072965,-3.562727788606181e-5,-4.267856906938492e-8,-0.0018884030745074487,-3.5532202829357725e-5,-4.2594437460528625e-8,-0.0018881823723488097,-3.54243921208098e-5,-4.2496795451858114e-8,-0.0018880312102406572,-3.533504994855418e-5,-4.2415230301185514e-8,-0.0018879332139387782,-3.5288747014991394e-5,-4.237330143238159e-8,-0.0018878660597741292,-3.5301680267534746e-5,-4.23867434249854e-8,-0.001887804493950075,-3.5380813257388804e-5,-4.246254511061698e-8,-0.0018877231921547025,-3.552361030820859e-5,-4.259866804167272e-8,-0.0018875996014664324,-3.5718391160070784e-5,-4.278440830777563e-8,-0.0018874167566322304,-3.594551788242534e-5,-4.300154835611885e-8,-0.0018871657927251448,-3.617965687985636e-5,-4.322647911791066e-8,-0.0018868476636197298,-3.639308212496223e-5,-4.3433238917490384e-8,-0.0018864736576865142,-3.655967876258171e-5,-4.359717299143751e-8,-0.0018860644895497603,-3.66591992046944e-5,-4.369885112248462e-8,-0.0018856478855353213,-3.668124668546799e-5,-4.37278181581545e-8,-0.0018852547440176993,-3.6628421846668554e-5,-4.3685686879638724e-8,-0.0018849140165977931,-3.651813115392309e-5,-4.358808695279573e-8,-0.0018846464338938206,-3.638236555382138e-5,-4.346473580791103e-8,-0.0018844576056432885,-3.6264235942699986e-5,-4.3356365793623564e-8,-0.0018843321784880178,-3.6209913884206997e-5,-4.3307130103906174e-8,-0.0018842322632395324,-3.625576306513159e-5,-4.335226126403655e-8,-0.0018841040436168481,-3.641349949400654e-5,-4.350374571050373e-8,-0.0018838940566287233,-3.6660400894427665e-5,-4.374080127460915e-8,-0.001883570085252579,-3.694276386559895e-5,-4.401301964778491e-8,-0.001883135475562002,-3.7194520085842316e-5,-4.425796870583932e-8,-0.001882627578444282,-3.73621475032825e-5,-4.442477583414205e-8,-0.0018821014403124572,-3.742201299485457e-5,-4.4490542846202025e-8,-0.001881609313986513,-3.7382507458315104e-5,-4.4462439215216833e-8,-0.0018811865907120172,-3.7274116019286886e-5,-4.436849914685254e-8,-0.001880847632416261,-3.713591350573811e-5,-4.424508395808057e-8,-0.00188058871037337,-3.7004918805228556e-5,-4.4126962304448526e-8,-0.0018803936614843618,-3.691021781204701e-5,-4.4041748300567786e-8,-0.0018802392951189633,-3.6870851790922326e-5,-4.400778710220607e-8,-0.0018800994849178696,-3.68957089255605e-5,-4.40339130327419e-8,-0.0018799481169941405,-3.698411204251374e-5,-4.411991825255021e-8,-0.0018797614670353787,-3.7126553405316096e-5,-4.425722892864331e-8,-0.0018795204776576248,-3.730559347706619e-5,-4.442976975442706e-8,-0.0018792131464299988,-3.749729428555327e-5,-4.46153152223929e-8,-0.0018788368365865878,-3.7673694011914794e-5,-4.4787772369335294e-8,-0.0018783998781203336,-3.780658890837698e-5,-4.492065092723705e-8,-0.0018779216417479986,-3.787236867220032e-5,-4.4991520603290696e-8,-0.0018774304478634798,-3.785712894848209e-5,-4.4986782858554793e-8,-0.001876959132956837,-3.776087580238688e-5,-4.490568783170876e-8,-0.001876538772816988,-3.759950843431476e-5,-4.476237298058196e-8,-0.0018761917084975216,-3.740363503756282e-5,-4.458499652618009e-8,-0.0018759253154816227,-3.721393836510612e-5,-4.441161416080866e-8,-0.0018757279816746558,-3.7073377257336396e-5,-4.4282962063134714e-8,-0.0018755687920489152,-3.701708377818567e-5,-4.4232881827984826e-8,-0.0018754023218197238,-3.706175871807319e-5,-4.427809041286009e-8,-0.0018751791516401983,-3.71976903316632e-5,-4.4410338519050925e-8,-0.0018748606150037481,-3.738752598197328e-5,-4.4594994984169714e-8,-0.0018744330348925565,-3.7574982787928245E-05,-4.47791613026569e-8,-0.0018739145177022712,-3.770239276914684e-5,-4.490826020461936e-8,-0.0018733495373167643,-3.773009490362128e-5,-4.4944415378813574e-8,-0.0018727931908080317,-3.764831441568e-5,-4.487773977743384e-8,-0.0018722931442570632,-3.7476441825173546e-5,-4.472576455407728e-8,-0.0018718776143170825,-3.72522449686114e-5,-4.452343076403651e-8,-0.0018715526178116695,-3.701813258333055e-5,-4.431030817274317e-8,-0.0018713062231411261,-3.681055615655657e-5,-4.4120686585272034e-8,-0.001871115468151383,-3.665468354723957e-5,-4.397851191896047e-8,-0.001870952694577932,-3.6563328602725056e-5,-4.389625440586987e-8,-0.0018707900517583916,-3.653811265418476e-5,-4.3875885637797216e-8,-0.0018706023334060244,-3.6571255822349916e-5,-4.391050608580251e-8,-0.0018703688700737859,-3.664722159578986e-5,-4.398588937722728e-8,-0.0018700751930006965,-3.6744157938658e-5,-4.408184554328447e-8,-0.0018697148769254426,-3.683557666976917e-5,-4.4173775089313205e-8,-0.0018692914772034106,-3.6892936200826666e-5,-4.423502611041501e-8,-0.0018688199023591616,-3.688965083963331e-5,-4.424057092448585e-8,-0.0018683261082645549,-3.680648604854699e-5,-4.4172010900809014e-8,-0.0018678439684996118,-3.663736658049673e-5,-4.4023038613393244e-8,-0.0018674088734324848,-3.639364723333976e-5,-4.3803546879327065e-8,-0.0018670490319146785,-3.610454803253589e-5,-4.354021989210011e-8,-0.001866776960604691,-3.581233195531623e-5,-4.327223113044107e-8,-0.0018665842545617494,-3.556274227869284e-5,-4.304246095848443e-8,-0.0018664419014308188,-3.539322985208859e-5,-4.2886518844144926e-8,-0.001866306540510951,-3.532250177755452e-5,-4.282282625286369e-8,-0.0018661311596336301,-3.5344543323723834e-5,-4.284673828172474e-8,-0.0018658774885188531,-3.542898898557433e-5,-4.293057236042494e-8,-0.0018655268253949977,-3.55281941668765e-5,-4.303001094315354e-8,-0.0018650860333417425,-3.55896847358241e-5,-4.309572055327366e-8,-0.0018645862558132557,-3.557072469934887e-5,-4.3087114771064386e-8,-0.001864074064290464,-3.54502290003869e-5,-4.298370377047688e-8,-0.0018635978679334747,-3.523359331224885e-5,-4.278980205390345e-8,-0.0018631947076426666,-3.494883476042089e-5,-4.2531058883068645e-8,-0.0018628822307316867,-3.4636347734627516E-05,-4.224496475448857e-8,-0.0018626577466252,-3.433705755884229e-5,-4.196979779298566e-8,-0.0018625028468491243,-3.408334448344101e-5,-4.173608792809358e-8,-0.0018623903292806535,-3.389462368841906e-5,-4.1562378749819724e-8,-0.001862290600784725,-3.377697613200107e-5,-4.145477037782527e-8,-0.0018621762300559555,-3.3725088096835355e-5,-4.14086669723388e-8,-0.0018620246347852986,-3.372488473601601e-5,-4.141123207304418e-8,-0.0018618195632346566,-3.375593156589706e-5,-4.1443656121148575e-8,-0.0018615521548540242,-3.3793432453618705e-5,-4.148302730689643e-8,-0.001861222100187459,-3.3810221048498295E-05,-4.15041470998425e-8,-0.0018608389284970092,-3.377941053241642e-5,-4.148192086511341e-8,-0.0018604228570434176,-3.367833230390359e-5,-4.139496124109246e-8,-0.0018600040268228783,-3.3493942425028966e-5,-4.123062094176194e-8,-0.001859618642548962,-3.322877352067173e-5,-4.0990619843655576e-8,-0.0018593011806838898,-3.290498445207031e-5,-4.0694967467908326e-8,-0.001859073836432133,-3.256319848003421e-5,-4.038105550600808e-8,-0.0018589370096645738,-3.225400787141628e-5,-4.0095898376829484e-8,-0.0018588658572420299,-3.202355089014602e-5,-3.988278237900221e-8,-0.001858815953690681,-3.1898535195761845e-5,-3.9767279252543205e-8,-0.0018587365322608792,-3.187731481624273e-5,-3.974875641256137e-8,-0.001858585847420525,-3.193072891426777e-5,-3.9800881931187754e-8,-0.0018583427276889898,-3.201157846011818e-5,-3.988018363222736e-8,-0.001858011024484624,-3.206838339685549e-5,-3.993871620605644e-8,-0.0018576168661056972,-3.2058722129593e-5,-3.993651170976707e-8,-0.001857200628294303,-3.1958785793748546e-5,-3.98506487342928e-8,-0.0018568063178679155,-3.1767390735336565e-5,-3.9679225404044e-8,-0.0018564711830394505,-3.150417991339459e-5,-3.943989843936122e-8,-0.0018562180244630548,-3.120309508365586e-5,-3.916393604405171e-8,-0.001856051832860989,-3.0903287984785486e-5,-3.888777991719524e-8,-0.0018559610387409902,-3.0640165715613776e-5,-3.864464037772421e-8,-0.0018559222165318323,-3.043888182499085e-5,-3.845831450517588e-8,-0.0018559062367179708,-3.031135180046263e-5,-3.8340287099323454e-8,-0.0018558839785556914,-3.025648674119293e-5,-3.828987583339211e-8,-0.0018558305005729916,-3.0262498510445098e-5,-3.829637141557298e-8,-0.0018557274688207667,-3.030998413607464e-5,-3.8341946180221575e-8,-0.0018555642923261315,-3.0374874455143256e-5,-3.8404431294548646e-8,-0.0018553386335638984,-3.043096245585696e-5,-3.8459652833342595e-8,-0.0018550567897867762,-3.0452262426219995e-5,-3.8483550463237314e-8,-0.0018547340635318174,-3.041572528206477e-5,-3.8454603062521525e-8,-0.0018543947164707576,-3.03048875961989e-5,-3.835716288178646e-8,-0.0018540704590361671,-3.0114692323656852e-5,-3.81859702743685e-8,-0.0018537960249984855,-2.985666954648834e-5,-3.79511015108531e-8,-0.0018536008786521339,-2.9562027461414482e-5,-3.768102528692731e-8,-0.0018534981424192035,-2.927893614320846e-5,-3.742024332911934e-8,-0.0018534751696137296,-2.9061233360087007e-5,-3.72188887172703e-8,-0.0018534923481789171,-2.8950357584252507e-5,-3.711593484750272e-8,-0.0018534940550578869,-2.8958436077817732e-5,-3.7123378482837e-8,-0.0018534282008300274,-2.9062277323979435e-5,-3.722046668883958e-8,-0.0018532645332598092,-2.921211788923309e-5,-3.736159207290112e-8,-0.0018530028720135114,-2.934986972526837e-5,-3.7493050320642694e-8,-0.0018526694542170326,-2.942727873570747e-5,-3.756982425163037e-8,-0.0018523058642196187,-2.9417150023504876e-5,-3.7566073539067835e-8,-0.0018519564866905035,-2.9316192868627697e-5,-3.7477965536880444e-8,-0.0018516584089416203,-2.9141557732680905e-5,-3.7320700414486564e-8,-0.001851435208412855,-2.8923992161479002e-5,-3.712235494419344e-8,-0.001851294541339165,-2.869997092993335e-5,-3.691666372244825e-8,-0.0018512288972952473,-2.850431556199019e-5,-3.673612972502268e-8,-0.0018512187605911334,-2.8364293030248146e-5,-3.6606422818222735e-8,-0.0018512372743969517,-2.8295880091963878e-5,-3.6542771387623024e-8,-0.001851255373367241,-2.830245486957463e-5,-3.654865101402205e-8,-0.0018512464347500161,-2.837567990696616e-5,-3.661658029509977e-8,-0.0018511897654824728,-2.849797616767571e-5,-3.6730452314410044e-8,-0.0018510726455833026,-2.864577894127868e-5,-3.6868605111867225e-8,-0.0018508911239511774,-2.879283048085962e-5,-3.700688885749968e-8,-0.0018506500169525825,-2.891316386992196e-5,-3.712138235946777e-8,-0.0018503624659893852,-2.8983841434482034e-5,-3.719083313132091e-8,-0.001850049192722774,-2.8987717253845237e-5,-3.719912582085492e-8,-0.00184973724683297,-2.8916604783197052e-5,-3.7138199915807674e-8,-0.0018494574590516221,-2.877500685094965e-5,-3.7011601488886906e-8,-0.001849239457271444,-2.8583618727700412e-5,-3.6837917133073514e-8,-0.001849103637120204,-2.8380420558935783e-5,-3.665199142573758e-8,-0.0018490512556514666,-2.8216113176951286e-5,-3.650082802289004e-8,-0.0018490568923369543,-2.814133170477168e-5,-3.643173901900574e-8,-0.001849070044366471,-2.8187498919253204e-5,-3.6474479853762786e-8,-0.0018490301023305032,-2.835027238269989e-5,-3.662573037762882e-8,-0.0018488899067574623,-2.8587217166636767e-5,-3.6846766146306595e-8,-0.0018486348257891318,-2.883361606393152e-5,-3.707797543919425e-8,-0.0018482863056600417,-2.902755950667316e-5,-3.726201459105288e-8,-0.0018478899852914469,-2.9130064005063796e-5,-3.736241363816512e-8,-0.0018474976562760789,-2.91321131307372e-5,-3.737016828147584e-8,-0.0018471524750899352,-2.905016180405401e-5,-3.729976063286029e-8,-0.0018468812786227445,-2.8916268553225196e-5,-3.718025357565311e-8,-0.0018466931172711491,-2.876806315238052e-5,-3.7046173746412294e-8,-0.0018465815057894385,-2.8640983775258864e-5,-3.6930365429741035e-8,-0.00184652829693714,-2.8563136245366806e-5,-3.685914654239289e-8,-0.0018465080445311866,-2.8552306292304803e-5,-3.6849396405970724e-8,-0.0018464923711327586,-2.8614698711177184e-5,-3.69072585309602e-8,-0.0018464540475209713,-2.874515858709884e-5,-3.702828145510411e-8,-0.001846370522506678,-2.8928669467886978e-5,-3.7198811661589566e-8,-0.001846226627091265,-2.9142919199792575e-5,-3.739840984195331e-8,-0.0018460161773210895,-2.936159596526058e-5,-3.7602928735736206e-8,-0.0018457424092981416,-2.9557907441157696e-5,-3.7787745528739335e-8,-0.0018454174436069045,-2.9707932709951874e-5,-3.793078679950588e-8,-0.001845060979936064,-2.9793682517744152e-5,-3.8015266553066575e-8,-0.0018446983139210466,-2.9805837685586976e-5,-3.803216933965162e-8,-0.001844357663506958,-2.974619611849742e-5,-3.7982560537325245e-8,-0.0018440664544479193,-2.9629797711193566e-5,-3.7879707314877856e-8,-0.001843845950446449,-2.948601531108566e-5,-3.775030341662861e-8,-0.0018437041818345754,-2.9356851092842417e-5,-3.763307774716062e-8,-0.0018436286704259478,-2.929018395984869e-5,-3.7572610524337075e-8,-0.0018435826591715672,-2.9326650546160026e-5,-3.7607099199983846e-8,-0.001843510243611047,-2.9482479522100277e-5,-3.7752270839027916e-8,-0.0018433534878047207,-2.9736569576451163e-5,-3.798922207122916e-8,-0.001843076228620517,-3.003258999787417e-5,-3.826624809927366e-8,-0.0018426810050820315,-3.0299279226205748e-5,-3.851758748645876e-8,-0.0018422077376924746,-3.0478508169391107e-5,-3.8689353289091895e-8,-0.0018417156239789582,-3.054470317700498e-5,-3.875746335719129e-8,-0.0018412606553196052,-3.050710730095082e-5,-3.872977574482587e-8,-0.001840880483325183,-3.0398882257686496e-5,-3.8636192256924036e-8,-0.001840590004125507,-3.026250677128237e-5,-3.851540126764517e-8,-0.0018403844397698059,-3.013820957242196e-5,-3.840435285169504e-8,-0.001840245361005513,-3.0057347763451893e-5,-3.8332152701456324e-8,-0.0018401466765782936,-3.0039751280580974e-5,-3.831749547487945e-8,-0.0018400595016326148,-3.0093363332831677e-5,-3.836817784862127e-8,-0.0018399559497764423,-3.0215015910877106e-5,-3.848169905675189e-8,-0.001839812170196447,-3.039186553279613e-5,-3.864654273812751e-8,-0.0018396108283989022,-3.060338054950594e-5,-3.884402378562721e-8,-0.0018393430417674114,-3.082394307346604e-5,-3.905071575977295e-8,-0.001839009544828154,-3.1026114366856945e-5,-3.924146216346563e-8,-0.0018386207708631277,-3.1184328723264915e-5,-3.939273712194119e-8,-0.0018381957305413437,-3.127857148136643e-5,-3.948596451419425e-8,-0.0018377597459139795,-3.1297656724416976e-5,-3.95104860508152e-8,-0.001837341137178437,-3.1241751125251476e-5,-3.946590292406994e-8,-0.0018369670512292443,-3.112376810976386e-5,-3.9363472022820164e-8,-0.0018366586561733092,-3.096932899220622e-5,-3.922626209101001e-8,-0.0018364258708403016,-3.0814812173559905e-5,-3.9087559514838445e-8,-0.0018362621920370473,-3.070252357614279e-5,-3.8986539372919337e-8,-0.0018361412688580824,-3.067203929167175e-5,-3.896025500527251e-8,-0.0018360180816703487,-3.0748042684471684e-5,-3.903223795898209e-8,-0.0018358378502917804,-3.092774827382751e-5,-3.920064225747588e-8,-0.0018355532968053283,-3.1174550168373766e-5,-3.9432189756387474e-8,-0.0018351446756584952,-3.142525945238052e-5,-3.966879216514516e-8,-0.001834631257077125,-3.161182618802566e-5,-3.9847630332795574e-8,-0.001834065391188641,-3.168747068911088e-5,-3.992527940095902e-8,-0.0018335116541834382,-3.164236364109196e-5,-3.989214970654177e-8,-0.0018330236496004874,-3.1501495858562004e-5,-3.977056585296882e-8,-0.0018326302885483708,-3.130976247069251e-5,-3.960119517536447e-8,-0.0018323344622033428,-3.111494455177007e-5,-3.94275962437217e-8,-0.0018321196002908996,-3.095597209536023e-5,-3.928554181120305e-8,-0.0018319582888422555,-3.085789845493625e-5,-3.919836392406287e-8,-0.0018318194757880513,-3.083157342368737e-5,-3.9176511626126014e-8,-0.0018316733480543946,-3.0875483927058214e-5,-3.9219089175635253e-8,-0.0018314943794796696,-3.097812687524317e-5,-3.931593991989682e-8,-0.0018312633560748676,-3.1120334429811935e-5,-3.9449760179892773e-8,-0.001830968913688379,-3.1277592120351454e-5,-3.9598246635518696e-8,-0.0018306087634235733,-3.14226374107931e-5,-3.9736499110668715e-8,-0.0018301904168349817,-3.152864766531905e-5,-3.9839932121797345e-8,-0.0018297309265778968,-3.1573033171681355e-5,-3.988771007373838e-8,-0.0018292551760944991,-3.154139489645285e-5,-3.986633134180522e-8,-0.0018287925523648566,-3.1430926466745534e-5,-3.977274223006469e-8,-0.0018283721888019805,-3.125244172846256e-5,-3.961626454205167e-8,-0.0018280173510476312,-3.1030241019074e-5,-3.941861928815817e-8,-0.0018277399014371466,-3.079933897322065e-5,-3.921157228495376e-8,-0.0018275359237807758,-3.060002936908609e-5,-3.9032106768399976e-8,-0.0018273836315456557,-3.0470075984707517e-5,-3.891530628053033e-8,-0.0018272448509398856,-3.0435259419920423e-5,-3.8885571590877783e-8,-0.0018270713806662069,-3.0500042234658058e-5,-3.8947817158765014e-8,-0.0018268166773114957,-3.064158208297821e-5,-3.908171343754616e-8,-0.0018264509824322654,-3.081128525962225e-5,-3.924294928095106e-8,-0.0018259745066705093,-3.0946791653507584e-5,-3.937422858396294e-8,-0.001825421200068397,-3.0992294321174295e-5,-3.942401662190722e-8,-0.001824848707194268,-3.091859675203208e-5,-3.936503312287334e-8,-0.0018243181665254498,-3.0732388589482095e-5,-3.920280801715213e-8,-0.0018238741939498265,-3.047033281073113e-5,-3.897033103345112e-8,-0.0018235344222076416,-3.0182968256406758e-5,-3.871343791162342e-8,-0.0018232907112232296,-2.9917962061241705e-5,-3.8475612220985564e-8,-0.0018231175915879915,-2.9709470223528575e-5,-3.8288287874661005e-8,-0.0018229820547856707,-2.9574767415543407e-5,-3.8167680241916334e-8,-0.0018228511227224586,-2.951575072500136e-5,-3.811601209651671e-8,-0.0018226963993247997,-2.9522399260808083e-5,-3.812455102291935e-8,-0.001822496346012939,-2.9576313361484465e-5,-3.817679071516764e-8,-0.00182223736569908,-2.9653667368211555e-5,-3.82511596794088e-8,-0.001821914484007764,-2.9727713244422272e-5,-3.8323339418991535e-8,-0.0018215319226575477,-2.9771325860086927e-5,-3.836859871537784e-8,-0.0018211033649289739,-2.9760077349048065e-5,-3.8364575828414726e-8,-0.0018206513209798074,-2.967600860452736e-5,-3.82946771372016e-8,-0.001820204868578569,-2.95117106918752e-5,-3.815177651088395e-8,-0.001819795308698592,-2.9273717903851084e-5,-3.7941337848129227e-8,-0.0018194499553985499,-2.8983792765006212e-5,-3.768268339819807e-8,-0.001819185216669178,-2.867678407238349e-5,-3.74071910297524e-8,-0.0018190008974349288,-2.83945853396037e-5,-3.715294339073842e-8,-0.001818877777254797,-2.8177048843502435e-5,-3.69565401325332e-8,-0.001818779842287521,-2.8051892787703585e-5,-3.684386725138177e-8,-0.0018186613648890997,-2.8026242318695985e-5,-3.682221547238342e-8,-0.0018184777104345217,-2.8082404782524753e-5,-3.687617397457534e-8,-0.0018181975534309522,-2.8179856821560048e-5,-3.6969212144048666e-8,-0.001817813196202531,-2.8264185854983048e-5,-3.705172966271644e-8,-0.001817345167041442,-2.8281685470529075e-5,-3.707441588866618e-8,-0.0018168381018592475,-2.8195553966210703e-5,-3.7003162870434875e-8,-0.0018163479603249767,-2.799754849487948e-5,-3.6829836985857307e-8,-0.0018159250008670967,-2.770979157575244e-5,-3.657403648862273e-8,-0.0018155995956956029,-2.7375894624095573e-5,-3.6275093682421794e-8,-0.0018153764219808644,-2.704596699485922e-5,-3.5978494998850386e-8,-0.0018152377869368145,-2.6762455524996808e-5,-3.572301447864534e-8,-0.001815152477201721,-2.6551760020655958e-5,-3.553302574177351e-8,-0.0018150853173970892,-2.6422470662984083e-5,-3.541677798998169e-8,-0.0018150042988686545,-2.6368080187245047e-5,-3.5368740905128105e-8,-0.001814884542944513,-2.637140326946383e-5,-3.5373559468304656e-8,-0.0018147098501943748,-2.640883213452553e-5,-3.540992975432918e-8,-0.001814472968339351,-2.6453705314678775e-5,-3.5453704890593495e-8,-0.0018141754822484056,-2.6478914642215583e-5,-3.548029701796509e-8,-0.0018138277280354835,-2.645933668573588e-5,-3.54668779570484e-8,-0.0018134485433922909,-2.63746995002284e-5,-3.539493771542412e-8,-0.0018130641999637516,-2.6213143484268603e-5,-3.525347116797519e-8,-0.0018127056529817164,-2.5975139443379584e-5,-3.504252776569707e-8,-0.0018124034131899443,-2.5676611824827752e-5,-3.477610412804476e-8,-0.0018121801872194175,-2.534931109205454e-5,-3.448259855575883e-8,-0.0018120429840718477,-2.503646524431114e-5,-3.420100849172037e-8,-0.0018119778375527472,-2.4783230392470123e-5,-3.3972382770939356e-8,-0.001811950347330866,-2.462408751833058e-5,-3.3828419190625865e-8,-0.0018119132838824324,-2.4571574822020067e-5,-3.3781151941416513e-8,-0.0018118193692635378,-2.461097139426063e-5,-3.381793208892705e-8,-0.0018116348830005524,-2.470333459138878e-5,-3.390395510139745e-8,-0.0018113494195414132,-2.479592830408992e-5,-3.399155855798691e-8,-0.0018109788397635016,-2.483652227449304e-5,-3.403315775348767e-8,-0.0018105608775236578,-2.4787225178468724e-5,-3.399388280325552e-8,-0.001810144903993606,-2.4634019749026035e-5,-3.386038668968676e-8,-0.0018097788424705386,-2.438943653685379e-5,-3.364343809426621e-8,-0.0018094970976968308,-2.408776623021186e-5,-3.3373712923926915e-8,-0.0018093131065530167,-2.3774611485516244e-5,-3.3092397700764274e-8,-0.0018092184234519324,-2.3494490111001275e-5,-3.283995827133673e-8,-0.0018091877331322158,-2.3280593294754563e-5,-3.2646790853564697e-8,-0.0018091871161683125,-2.314939866682767e-5,-3.252822506211939e-8,-0.0018091823293289193,-2.31004611501778e-5,-3.248421726376951e-8,-0.0018091448540584615,-2.311978262620908e-5,-3.250233499343941e-8,-0.0018090550794540737,-2.3184591180723153e-5,-3.2562086291900066e-8,-0.0018089031861997175,-2.3267897328885993e-5,-3.2639095018153503e-8,-0.0018086887334329814,-2.3342085624690892e-5,-3.2708403157821664e-8,-0.0018084198247745962,-2.338158487023955e-5,-3.2746898333729124e-8,-0.0018081122968712463,-2.3365150542970265e-5,-3.273533916353727e-8,-0.001807788822855228,-2.3278370617031e-5,-3.2660558495518114e-8,-0.0018074773359588981,-2.3116713555088714e-5,-3.251818044986732e-8,-0.0018072078836895496,-2.2888860456224638e-5,-3.231565942478291e-8,-0.0018070071067168634,-2.2619145607374683e-5,-3.2074584949186564e-8,-0.0018068904090166695,-2.2346867579039005e-5,-3.18301977417072e-8,-0.001806853807850492,-2.2119984734449717e-5,-3.162581546841964e-8,-0.0018068696241016469,-2.198255341150245e-5,-3.150153125112428e-8,-0.0018068904530553504,-2.195926967130759e-5,-3.1480191546692454e-8,-0.0018068624614854115,-2.2044177423088666e-5,-3.155704270849953e-8,-0.0018067433270976935,-2.2200245280886165e-5,-3.1699156433731375e-8,-0.0018065165630427827,-2.2371032429944445e-5,-3.1855811466588946e-8,-0.0018061958896326482,-2.2498959032548624e-5,-3.197492592167717e-8,-0.0018058190557784669,-2.2542034459431462e-5,-3.201819263383411e-8,-0.0018054353226003737,-2.2483393859611878e-5,-3.196979945333175e-8,-0.001805091981515879,-2.2332389766442987e-5,-3.183757466667896e-8,-0.0018048237525921153,-2.211905907663405e-5,-3.1648156894879373e-8,-0.0018046468284378982,-2.1884874969180767e-5,-3.1438765962970895e-8,-0.0018045577965828564,-2.167257080863706e-5,-3.124804952076372e-8,-0.0018045367469031802,-2.1517256483314775e-5,-3.1108003719807276e-8,-0.0018045532547471112,-2.1440415901790588e-5,-3.103843208390343e-8,-0.0018045734964459543,-2.1447606975861767e-5,-3.1044738831155513e-8,-0.0018045667264467702,-2.1529672691860464e-5,-3.111893588046535e-8,-0.0018045098804961046,-2.1666384245823865e-5,-3.1242914374253404e-8,-0.0018043898839023068,-2.183112130503548e-5,-3.1392708760228225e-8,-0.001804203954475141,-2.1995397908962797e-5,-3.1542638797071024e-8,-0.0018039586205425583,-2.2132522471774145e-5,-3.166864148494045e-8,-0.0018036682150897336,-2.222029327998615e-5,-3.1750683255942955e-8,-0.0018033532774611,-2.2243105107731316e-5,-3.1774601732825967e-8,-0.0018030388535303287,-2.2193945397383773e-5,-3.173385130063672e-8,-0.0018027522942073136,-2.2076575061598045e-5,-3.1631467135425805e-8,-0.0018025198123736337,-2.1907738260673892e-5,-3.148213395270582e-8,-0.0018023610503111382,-2.171835234695091e-5,-3.131339673265721e-8,-0.0018022817446064101,-2.155153029171974e-5,-3.1164020013668663e-8,-0.0018022664981731129,-2.145492195250491e-5,-3.107715875834362e-8,-0.0018022761116299893,-2.1466616576633423e-5,-3.1087611729159285e-8,-0.001802254637597213,-2.1598488185100718e-5,-3.1206666940015674e-8,-0.0018021472428660756,-2.182595909351053e-5,-3.1412695010306495e-8,-0.0018019218634438376,-2.2092822584774562e-5,-3.1655360838329714e-8,-0.0018015825756897933,-2.2331161258804622e-5,-3.187351846210822e-8,-0.0018011669858702807,-2.2485932648024347e-5,-3.2017362632812046e-8,-0.0018007305205330378,-2.2531424552391003e-5,-3.20632837968358e-8,-0.0018003274466781097,-2.247396849454174e-5,-3.201639378115172e-8,-0.001799997044701253,-2.2344006761817026e-5,-3.190352915618942e-8,-0.0017997576968600084,-2.2183994777753875e-5,-3.1762527108728355e-8,-0.0017996074214415598,-2.2037129804367622e-5,-3.163218737463046e-8,-0.0017995281388526994,-2.1939134700851098e-5,-3.1544874466880096e-8,-0.001799491474118722,-2.191336925847295e-5,-3.1522014871558e-8,-0.0017994648236848451,-2.196879034163294e-5,-3.157211653547259e-8,-0.0017994169612412726,-2.210030852102367e-5,-3.1690969385098476e-8,-0.0017993225970557186,-2.2291116208268445e-5,-3.1863685374065217e-8,-0.0017991654559053219,-2.2516364846537557e-5,-3.2068017711543623e-8,-0.0017989396964144166,-2.2747470340719118e-5,-3.2278281986817246e-8,-0.001798649733945888,-2.2956364822787877e-5,-3.246922246142647e-8,-0.0017983088087218547,-2.3119105042172602e-5,-3.2619262744900355e-8,-0.0017979368481374199,-2.3218557224021916e-5,-3.271288686018867e-8,-0.001797558043108042,-2.3246284945411038e-5,-3.274229168261259e-8,-0.0017971982454755217,-2.3203905608775542e-5,-3.2708591798824984e-8,-0.0017968820442133351,-2.3104089519329166e-5,-3.2622768771998037e-8,-0.0017966291126735867,-2.297111342990777e-5,-3.250628913382254e-8,-0.0017964493540700971,-2.2840186859440642e-5,-3.239064633254201e-8,-0.001796337092370337,-2.2753871040159905e-5,-3.231424590201427e-8,-0.001796266176874397,-2.2753701692947285e-5,-3.2314867821004395e-8,-0.0017961898758915664,-2.2866622884127602e-5,-3.241733430757836e-8,-0.0017960501969663332,-2.3089920943539757e-5,-3.261975895170297e-8,-0.0017957976108034395,-2.3383568322421448e-5,-3.288650179068292e-8,-0.0017954135250510931,-2.3679171476829465e-5,-3.315617804332179e-8,-0.0017949215447578652,-2.390518557869303e-5,-3.336437672142568e-8,-0.0017943787200954949,-2.401500851776904e-5,-3.3468942402757484e-8,-0.0017938521133034476,-2.400161061140643e-5,-3.346310636110839e-8,-0.0017933953283730748,-2.3893135268437862e-5,-3.3371567284018426e-8,-0.0017930360672664986,-2.3736813868647664e-5,-3.323619106299432e-8,-0.0017927757839283627,-2.3582117106361543e-5,-3.310107169625848e-8,-0.0017925963117210405,-2.3469363688785598e-5,-3.300241303329868e-8,-0.0017924682328384592,-2.342451096539411e-5,-3.296382113706184e-8,-0.0017923581550719071,-2.345828625550179e-5,-3.299539036168371e-8,-0.001792234150133278,-2.356759742598324e-5,-3.309481410911366e-8,-0.0017920696405059335,-2.3737980155055785e-5,-3.324947345493431e-8,-0.0017918461088012336,-2.3946656287756952e-5,-3.343914759620848e-8,-0.0017915547494891267,-2.416604836192296e-5,-3.363918826601897e-8,-0.0017911970460121622,-2.4367571375549456e-5,-3.382396166819764e-8,-0.0017907841940512808,-2.4525457139788785e-5,-3.3970302096064133e-8,-0.0017903353488858134,-2.4620205356925683e-5,-3.4060599419872674e-8,-0.001789874928831574,-2.464121873006898e-5,-3.408513361013069e-8,-0.0017894293545302076,-2.458842006514815e-5,-3.404350871950484e-8,-0.001789023505241213,-2.4472837169482275e-5,-3.394520600674971e-8,-0.0017886770648342907,-2.431614883409421e-5,-3.3809267595780996e-8,-0.0017884008200234735,-2.4149141187628658e-5,-3.366304609271047e-8,-0.001788192903348495,-2.4008712245158947e-5,-3.353964297579916e-8,-0.0017880354372265181,-2.393253545893989e-5,-3.347316905691076e-8,-0.0017878931539800256,-2.3950554353910987e-5,-3.34910405981934e-8,-0.0017877167144701928,-2.4073806065351983e-5,-3.360377068735919e-8,-0.001787453569690734,-2.428392045087678e-5,-3.379534491041236e-8,-0.0017870663495322726,-2.4530220442592966e-5,-3.402051298850108e-8,-0.0017865519910194932,-2.4741563720019448e-5,-3.4215448424805376e-8,-0.0017859491906381667,-2.4852189071213217e-5,-3.4321023197333045e-8,-0.001785325958533287,-2.482869995671932e-5,-3.4307016493753474e-8,-0.0017847528767015353,-2.4681669420333632e-5,-3.418245486606978e-8,-0.0017842781208460322,-2.4456188730650273e-5,-3.3987154219619505e-8,-0.0017839168488831807,-2.4210443635923462e-5,-3.3772695142451446e-8,-0.0017836554356915608,-2.3996010205156732e-5,-3.358499104157047e-8,-0.0017834629055072672,-2.384722325415727e-5,-3.345487005540549e-8,-0.0017833022278605421,-2.377911957973221e-5,-3.33961693481918e-8,-0.0017831382257718895,-2.3790191594592873e-5,-3.340803787799357e-8,-0.0017829420119458068,-2.386664304225821e-5,-3.347858835271957e-8,-0.0017826931337199766,-2.3986439556649512e-5,-3.35884337520014e-8,-0.001782380554182279,-2.4122805007119548e-5,-3.37138034186474e-8,-0.0017820030107513522,-2.424741808773985e-5,-3.382943346932811e-8,-0.0017815688268330704,-2.4333593880854584e-5,-3.391144581214018e-8,-0.0017810949919451016,-2.435957061890063e-5,-3.3940296734933424e-8,-0.0017806052023764001,-2.4311695591746605e-5,-3.3903609380761455e-8,-0.001780126733231539,-2.4186960953258744e-5,-3.3798419210927013e-8,-0.001779686389109376,-2.3994309151659606e-5,-3.363234575116789e-8,-0.0017793060255654567,-2.3754312161234117e-5,-3.3423362014270186e-8,-0.0017789982504817423,-2.3497003448101446e-5,-3.319796437690346e-8,-0.0017787629677499328,-2.325789658218794e-5,-3.2987743056121986e-8,-0.0017785853328477087,-2.307245026259536e-5,-3.2824528494159e-8,-0.001778435693719291,-2.29692203202828e-5,-3.2734270343295896e-8,-0.0017782724447692514,-2.2962114363640616e-5,-3.2729999425653523e-8,-0.0017780489744251891,-2.304310446279494e-5,-3.2805121499466924e-8,-0.0017777252482119056,-2.3178271529330762e-5,-3.292970232577239e-8,-0.0017772823647096638,-2.331129259651724e-5,-3.305351428606098e-8,-0.0017767346083272459,-2.3377529158287416e-5,-3.311868318348257e-8,-0.001776130764697321,-2.3326480780226323e-5,-3.3079844371637935e-8,-0.0017755397912121303,-2.3142506066602418e-5,-3.292267378791187e-8,-0.001775025923089456,-2.285130228165791e-5,-3.2669641431352325e-8,-0.001774626618706956,-2.2507845107702927e-5,-3.2369284423643596e-8,-0.0017743445685003865,-2.217390512592298e-5,-3.207630409849978e-8,-0.0017741544806826274,-2.1898231682136928e-5,-3.1834061464338805e-8,-0.0017740169436090173,-2.1707118952548065e-5,-3.166620956255327e-8,-0.001773891219541728,-2.1604779152879516e-5,-3.157692307526984e-8,-0.0017737432310165142,-2.157882930216389e-5,-3.155562491937049e-8,-0.0017735489504333692,-2.1606679331330368e-5,-3.1582552828697624e-8,-0.0017732949817235678,-2.1660754250425577e-5,-3.163336707176071e-8,-0.0017729779982578978,-2.1712249139899234e-5,-3.1682516270717386e-8,-0.0017726039251191308,-2.1733947237802756e-5,-3.170578892729579e-8,-0.0017721870422029683,-2.170274238348413e-5,-3.168258293259854e-8,-0.001771748742021881,-2.160228540957275e-5,-3.1598253034946674e-8,-0.001771315436498432,-2.142574791419228e-5,-3.144654198656495e-8,-0.0017709151725227585,-2.1178148251122183e-5,-3.123163082063926e-8,-0.0017705729667818262,-2.0877318554922502e-5,-3.096901728522543e-8,-0.00177030549185305,-2.055260685325797e-5,-3.0684433448224743e-8,-0.0017701162882080364,-2.0240789383713746e-5,-3.041032430169265e-8,-0.0017699929466398218,-1.99794218315807e-5,-3.018005089313501e-8,-0.0017699074633654773,-1.9798779288104986e-5,-3.002078373264498e-8,-0.0017698202590316055,-1.971411094245867e-5,-2.994657558110185e-8,-0.0017696875886955075,-1.9720002942223983e-5,-2.9953206911113435e-8,-0.0017694714315701055,-1.9788544043428927e-5,-3.0016365819494506e-8,-0.001769150179508032,-1.9872824099373976e-5,-3.009460999645151e-8,-0.0017687273917546744,-1.9916635597634004e-5,-3.013794933369788e-8,-0.0017682349328222557,-1.986951675134688e-5,-3.0101278511672435e-8,-0.00176772710105645,-1.970328034493384e-5,-2.995916376833186e-8,-0.0017672653670454336,-1.942323674398719e-5,-2.9715881402750377e-8,-0.0017668987135009146,-1.906762066737871e-5,-2.9404951820690843e-8,-0.0017666484557888058,-1.8694185914153163e-5,-2.9077305426574343e-8,-0.0017665045683398996,-1.836037649987278e-5,-2.8783779540595175e-8,-0.0017664336822339468,-1.810670803004512e-5,-2.85604298531802e-8,-0.0017663927590512497,-1.7949525459591675e-5,-2.8422063980110166e-8,-0.0017663414629926905,-1.7882936783559632e-5,-2.8363836548011972e-8,-0.001766249541876796,-1.7885707909765793e-5,-2.8367242121714928e-8,-0.001766099266242993,-1.7928819727490756e-5,-2.8406756909275128e-8,-0.0017658847993394775,-1.798137782732972e-5,-2.8455090069843767e-8,-0.001765610393070421,-1.8014480188581894e-5,-2.8486659197502897e-8,-0.0017652885448722823,-1.800366604960887e-5,-2.8479796999216368e-8,-0.0017649384258213695,-1.7930802219111313e-5,-2.8418420896184835e-8,-0.0017645842871166185,-1.778602853787445e-5,-2.829372109660203e-8,-0.0017642532352409623,-1.7569903288050705e-5,-2.81060198076404e-8,-0.001763971759473834,-1.7295278259522374e-5,-2.786641950500421e-8,-0.0017637607807011494,-1.698782162266873e-5,-2.7597305393828584e-8,-0.0017636298282722234,-1.668378910785923e-5,-2.7330463361969477e-8,-0.0017635720325075125,-1.6424062245120354e-5,-2.7101919283812356e-8,-0.0017635623160880396,-1.624485381333525e-5,-2.6943804573923697e-8,-0.0017635607308321933,-1.6167370096356146e-5,-2.6875224575923194e-8,-0.0017635211289864948,-1.6190012162179073e-5,-2.68952735608918e-8,-0.0017634030561349838,-1.6286391210993562e-5,-2.6981120973846906e-8,-0.0017631832067511017,-1.6410496829813158e-5,-2.7092420717209323e-8,-0.001762862804611093,-1.650784066444652e-5,-2.7181070789573557e-8,-0.001762468592752757,-1.6529538541808296e-5,-2.720366625840219e-8,-0.001762046894151369,-1.6445530812446836e-5,-2.713326263374019e-8,-0.0017616519554521687,-1.6253198861825676e-5,-2.696709599279156e-8,-0.0017613315225252794,-1.5978453405918325e-5,-2.672764292807032e-8,-0.0017611140058775958,-1.5668350101802668e-5,-2.645617877953825e-8,-0.0017610016624053787,-1.5377341425857762e-5,-2.6200694380823762e-8,-0.001760972152477191,-1.5152050261090025e-5,-2.6002466768736517e-8,-0.0017609872896826445,-1.5020078162915458e-5,-2.5886132235295784e-8,-0.0017610048499390252,-1.4986153105280482e-5,-2.585618781524479e-8,-0.0017609887967856529,-1.5035267740803247e-5,-2.5899659894477047e-8,-0.0017609151979063953,-1.5139768158020223e-5,-2.5992305073980463e-8,-0.001760773716567572,-1.5266958060346903e-5,-2.610532992986437e-8,-0.0017605661687073292,-1.5385079455718696e-5,-2.6210718388494383e-8,-0.0017603038826338377,-1.5467116653328303e-5,-2.6284636330568005e-8,-0.0017600050563999715,-1.5492918931559058e-5,-2.630931543163531e-8,-0.00175969254649456,-1.5450515709074643e-5,-2.6274181953792665e-8,-0.0017593918639489119,-1.5337330423786408e-5,-2.617687582404043e-8,-0.0017591287810466108,-1.516152233340109e-5,-2.6024399594225813e-8,-0.0017589258943309788,-1.4943092225619993e-5,-2.5834108333616962e-8,-0.0017587977883399433,-1.4713698844311321e-5,-2.563361964748376e-8,-0.001758745306123578,-1.4513557060983797e-5,-2.5458186180871662e-8,-0.0017587508567577885,-1.4384033445413648e-5,-2.534426611652559e-8,-0.0017587779139626098,-1.4356303112866524e-5,-2.5319563744401592e-8,-0.0017587774818432792,-1.4439371548397277e-5,-2.5392423095802513e-8,-0.0017587014180465244,-1.461308765223457e-5,-2.5545545630735418e-8,-0.0017585182143315644,-1.4831017637906244e-5,-2.573837988454579e-8,-0.001758224300036135,-1.5033522952700285e-5,-2.5918544356983626e-8,-0.0017578456814572269,-1.5165890121277228e-5,-2.6037769834404815e-8,-0.0017574296827317477,-1.5194062164951215e-5,-2.6065783871821737e-8,-0.0017570309130902051,-1.5112670663097581e-5,-2.5997452534758276e-8,-0.001756696813994369,-1.4944139321311835e-5,-2.5852086776316284e-8,-0.0017564568402563836,-1.473071652369088e-5,-2.566653582995585e-8,-0.0017563173354597894,-1.4522642160396031e-5,-2.548486082353178e-8,-0.0017562624354948073,-1.4365851015030895e-5,-2.5347546705261553e-8,-0.0017562599735600776,-1.4292151664489295e-5,-2.5282821848690496e-8,-0.001756270345717931,-1.4313890299943314e-5,-2.5301868529854778e-8,-0.0017562557588578422,-1.4423796145213121e-5,-2.5398581829437754e-8,-0.0017561874812613571,-1.4599191257972496e-5,-2.5553204717269587e-8,-0.0017560497205785389,-1.4808590783445874e-5,-2.573812424229174e-8,-0.0017558401001670073,-1.501849889141526e-5,-2.5923886858305346e-8,-0.0017555677036126833,-1.5198851791683837e-5,-2.6084035700955837e-8,-0.0017552499882569114,-1.5326523211685818e-5,-2.6198219746351277e-8,-0.0017549096171388453,-1.5387143092883683e-5,-2.625378099409158e-8,-0.0017545716844747704,-1.5375917958639373e-5,-2.624643446693762e-8,-0.0017542612485054693,-1.5298085448759974e-5,-2.618062930004095e-8,-0.0017540007404882867,-1.5169273450952789e-5,-2.6069861979063126e-8,-0.0017538066861335557,-1.5015531634949477e-5,-2.593675647987724e-8,-0.0017536853789179659,-1.4872118319182157e-5,-2.5812093138283254e-8,-0.0017536279768385933,-1.4779491480665109e-5,-2.5731383005018647e-8,-0.001753606952723239,-1.477510058162383e-5,-2.5727704626657337e-8,-0.0017535772625469973,-1.4881293853944655e-5,-2.5821044107833472e-8,-0.0017534854838303832,-1.5093084239007569e-5,-2.600743669074431e-8,-0.001753286710863749,-1.5372854528035302e-5,-2.6254185280220255e-8,-0.0017529628465813953,-1.5658309245887e-5,-2.650676375421154e-8,-0.0017525321779777868,-1.5882916451512282e-5,-2.6706754294287406e-8,-0.0017520438774256833,-1.599931632431093e-5,-2.6812413521358316e-8,-0.0017515603547515798,-1.599389242849295e-5,-2.6811474485739375e-8,-0.0017511370747768787,-1.58870721613282e-5,-2.6721446136561115e-8,-0.0017508085426400448,-1.5722498178991464e-5,-2.6580205900138525e-8,-0.001750583522276346,-1.5552126055896935e-5,-2.6433054088095324e-8,-0.0017504477988545496,-1.5423007708300132e-5,-2.6321212129111954e-8,-0.001750371174214469,-1.5368439711583733e-5,-2.62740633198849e-8,-0.001750315851837096,-1.5403810993203438e-5,-2.630543047416448e-8,-0.0017502443819633047,-1.552642617773328e-5,-2.641330452405617e-8,-0.0017501260881107377,-1.5718366270618406e-5,-2.6582255837826362e-8,-0.001749941315168841,-1.595138996435713e-5,-2.6787687878177625e-8,-0.0017496832210316077,-1.6192740022060927e-5,-2.7000937830024997e-8,-0.0017493572693855985,-1.6410744434680557e-5,-2.719422519070173e-8,-0.001748978948913387,-1.6579358203906588e-5,-2.7344668887639668e-8,-0.0017485704968312657,-1.6681163415333903e-5,-2.74369274282324e-8,-0.0017481574240992264,-1.670883282721197e-5,-2.7464466784574147e-8,-0.0017477653066889829,-1.666547427544194e-5,-2.742983935525184e-8,-0.0017474168841164288,-1.6564305460559376e-5,-2.7344394725503e-8,-0.001747129279233854,-1.6427879931202274e-5,-2.722763656186771e-8,-0.0017469110243550452,-1.6286771476204226e-5,-2.7106146180372478e-8,-0.0017467586534195868,-1.6177063093025705e-5,-2.7011472007132247e-8,-0.0017466533463252492,-1.6135412490742596e-5,-2.6975864478472212e-8,-0.0017465594178202246,-1.6190686058868135e-5,-2.7024931986323628e-8,-0.0017464276261986936,-1.6352739951425828e-5,-2.7167717614836124e-8,-0.0017462061719448097,-1.6602042086509395e-5,-2.7387475511613235e-8,-0.0017458589390846183,-1.688727509586495e-5,-2.7639480984314817e-8,-0.001745383793112345,-1.7137548063945405e-5,-2.7861723308800773e-8,-0.001744819115139456,-1.7287659579105718e-5,-2.7997065592867195e-8,-0.0017442316274042247,-1.7303833560797986e-5,-2.8015768007836517e-8,-0.0017436912573285538,-1.7194973975304273e-5,-2.7925287860788828e-8,-0.001743247452036388,-1.7004614184730193e-5,-2.7763247275154654e-8,-0.0017429180130239536,-1.6791404372740664e-5,-2.758049651565357e-8,-0.0017426913839497045,-1.6609904370917028e-5,-2.7424492345162885e-8,-0.001742536475141356,-1.649859690995107e-5,-2.7328913073261393e-8,-0.0017424137905466815,-1.6475754777084468e-5,-2.731001280582881e-8,-0.0017422844622990985,-1.6540670952381766e-5,-2.7367575703814308e-8,-0.001742116355369948,-1.6677544114767887e-5,-2.7488179361086792e-8,-0.0017418876343611228,-1.686031928037145e-5,-2.764933739189588e-8,-0.0017415883616594284,-1.70577248174131e-5,-2.782387438953023e-8,-0.0017412205022093819,-1.7238115114124338e-5,-2.7984175560639326e-8,-0.0017407965855088022,-1.737379930727008e-5,-2.8106002984605667e-8,-0.0017403372333003285,-1.744456666693547e-5,-2.81716008451723e-8,-0.0017398678463401798,-1.7440083829039737e-5,-2.817179627356715e-8,-0.0017394149398974874,-1.7360942313155324e-5,-2.8106908907450188e-8,-0.0017390025998627163,-1.7218462503755394e-5,-2.7986581351569095e-8,-0.0017386492629266872,-1.7033516940844868e-5,-2.78287765345854e-8,-0.0017383648667583472,-1.6834511621145167e-5,-2.7658071698212013e-8,-0.0017381483860776027,-1.6654526309760896e-5,-2.750323777098479e-8,-0.0017379857880764208,-1.6527352718845074e-5,-2.7393844848311547e-8,-0.0017378488996451671,-1.6481799532138352e-5,-2.735530264547702e-8,-0.0017376966372265247,-1.653390656976417e-5,-2.7402002468754002e-8,-0.0017374807521994074,-1.6678137811977933e-5,-2.752950967892001e-8,-0.0017371577619254865,-1.6881003467352378e-5,-2.7708880462880502e-8,-0.0017367058418978965,-1.7082956805723142e-5,-2.7888277038928824e-8,-0.0017361397871615877,-1.7213636041267133e-5,-2.8006313607759834e-8,-0.0017355130919502622,-1.7217983517437767e-5,-2.8014887489228886e-8,-0.0017349010873700975,-1.7080148864802256e-5,-2.789998107144859e-8,-0.0017343723348015217,-1.6829898005292252e-5,-2.7687166142917287e-8,-0.0017339647832955254,-1.6527764114669422e-5,-2.742869117101087e-8,-0.0017336786370508808,-1.6239846977128967e-5,-2.718170516827529e-8,-0.0017334849605685624,-1.6017009429821272e-5,-2.6990333500378085e-8,-0.0017333407869161536,-1.588567181395312e-5,-2.6877727087182345e-8,-0.0017332024740586718,-1.5848606242811324e-5,-2.6846667644146168e-8,-0.0017330340615586818,-1.5890746362680283e-5,-2.68844715727071e-8,-0.0017328110493750382,-1.598598400945783e-5,-2.696877596915934e-8,-0.00173252127473545,-1.6103053832416733e-5,-2.7072598915931684e-8,-0.0017321643150833425,-1.6210210138051937e-5,-2.716841036510506e-8,-0.0017317501140170313,-1.6278998147010685e-5,-2.723144593688566e-8,-0.0017312970188940173,-1.6287366080985484e-5,-2.7242447571344237e-8,-0.0017308292084595779,-1.6222185622260528e-5,-2.7189872388028625e-8,-0.001730373452436675,-1.6081006942388617e-5,-2.7071418830950497e-8,-0.0017299553582569695,-1.5872667604661172e-5,-2.6894553273205772e-8,-0.0017295955423252537,-1.5616500957420817e-5,-2.6675832877706237e-8,-0.0017293061873740823,-1.5340170469505593e-5,-2.6439061947713e-8,-0.0017290883470865532,-1.507625010199129e-5,-2.6212382075122478e-8,-0.0017289303472872032,-1.485771739629063e-5,-2.6024423253133448e-8,-0.0017288076171489378,-1.4712600788592941e-5,-2.5899692716363257e-8,-0.0017286843786890062,-1.4657982104751628e-5,-2.5853345982890227e-8,-0.0017285179920752429,-1.469378801204321e-5,-2.5885710544355952e-8,-0.0017282669016267444,-1.4797809692912494e-5,-2.597784298491023e-8,-0.0017279022709099565,-1.4924826606494031e-5,-2.6090678957383975e-8,-0.0017274210330882648,-1.5013539408658058e-5,-2.6171041964052904e-8,-0.0017268544886931924,-1.500339980186787e-5,-2.6166307322124555e-8,-0.0017262646488298942,-1.4857541654773406e-5,-2.6044338623451537e-8,-0.0017257250829835684,-1.4580494467278208e-5,-2.5808814537283378e-8,-0.0017252937794389228,-1.4218526667931194e-5,-2.5499476937908507e-8,-0.0017249930231404602,-1.3840794807331261e-5,-2.517585149150039e-8,-0.0017248067699141875,-1.351270711306445e-5,-2.4894335555473773e-8,-0.0017246934534974646,-1.3276295708485894e-5,-2.4691333401292228e-8,-0.0017246038274408126,-1.314433765536367e-5,-2.4578159853052325e-8,-0.0017244948196652298,-1.3105269854769773e-5,-2.454517288778279e-8,-0.0017243364526524838,-1.3132362073222714e-5,-2.456957312402072e-8,-0.0017241132667976712,-1.3192342565411862e-5,-2.4622786661510245e-8,-0.0017238228661482834,-1.325163183139236e-5,-2.4675851118792835e-8,-0.0017234735662261548,-1.3280343921097598e-5,-2.470291409721152e-8,-0.0017230820075737141,-1.3254924222723466e-5,-2.4683557620105018e-8,-0.0017226707950760843,-1.3160121817767504e-5,-2.4604525475472103e-8,-0.001722265910630456,-1.2990581890931382e-5,-2.4461095384133306e-8,-0.001721893605087852,-1.275194862461917e-5,-2.4258014835579526e-8,-0.0017215766694778005,-1.2461004044485085e-5,-2.400961012256891e-8,-0.0017213304202050618,-1.2144266502687791e-5,-2.373858904526001e-8,-0.0017211591144521662,-1.1834740035222872e-5,-2.3473278345894057e-8,-0.0017210536379387664,-1.15669121811399e-5,-2.3243368159746304e-8,-0.0017209912434660293,-1.137053703664978e-5,-2.3074600444917153e-8,-0.00172093786428734,-1.126418106526938e-5,-2.2983213066028008e-8,-0.0017208531150557185,-1.1249725559581083e-5,-2.2971150222902847e-8,-0.0017206977257007766,-1.1309037278010377e-5,-2.3023095245395752e-8,-0.0017204427559582552,-1.1404176889886242e-5,-2.3106548502949438e-8,-0.0017200791234227555,-1.1482681882738014e-5,-2.3176327687590162e-8,-0.0017196246541953794,-1.148889330573019e-5,-2.3184350335903796e-8,-0.001719124641958263,-1.1380227657635337e-5,-2.3093722950941158e-8,-0.0017186423638384035,-1.114361781624759e-5,-2.289295661201278e-8,-0.0017182400231541156,-1.0804036814357762e-5,-2.2603315828948557e-8,-0.0017179572397719124,-1.0418304686722344e-5,-2.2273489276189473e-8,-0.0017177979779009823,-1.0055136813138216e-5,-2.1962468500676522e-8,-0.0017177326568771723,-9.771363476111051e-6,-2.171915971274942e-8,-0.0017177126940655086,-9.59618259083335e-6,-2.1568855933039855e-8,-0.0017176882158911563,-9.528664202440341e-6,-2.151102115154199e-8,-0.0017176207842986657,-9.54532916023194e-6,-2.152570092195504e-8,-0.001717488539588401,-9.61114215968148e-6,-2.1582903167043163e-8,-0.0017172856020235222,-9.688935408136953e-6,-2.1650695633700068e-8,-0.0017170188075453885,-9.745503388018222e-6,-2.1700489974222203e-8,-0.001716704030343493,-9.75481187740589e-6,-2.1709853665659155e-8,-0.001716363051667733,-9.699527683861308e-6,-2.1663854398151375e-8,-0.0017160209740540878,-9.571902058244573e-6,-2.155581284513286e-8,-0.0017157037275235207,-9.374493289871258e-6,-2.1387892099804606e-8,-0.0017154351582843574,-9.12063251889091e-6,-2.1171465309349033e-8,-0.0017152334371241793,-8.834059379219236e-6,-2.0926792740536966e-8,-0.0017151070380174468,-8.54691461997685e-6,-2.0681324010697784e-8,-0.0017150511747853247,-8.295434661355793e-6,-2.0466057621787945e-8,-0.0017150460711992154,-8.113332137404114e-6,-2.030992124260642e-8,-0.0017150584488687581,-8.023886119027629e-6,-2.0233017236108107e-8,-0.0017150469068009022,-8.032794681682757e-6,-2.0240470470753276E-08,-0.0017149705846409252,-8.124212126971078e-6,-2.031895666669989e-8,-0.0017147992299687779,-8.261786867259084e-6,-2.043750161115691e-8,-0.0017145220766764634,-8.39524066367176e-6,-2.0553060054856926e-8,-0.001714152932724592,-8.471588872493842e-6,-2.062012893709478e-8,-0.0017137294505731322,-8.448766698921679e-6,-2.0602470471424994e-8,-0.0017133056268037235,-8.30827935977141e-6,-2.0484010951138584e-8,-0.0017129382965746429,-8.062726137621993e-6,-2.0275329834940626e-8,-0.0017126708829768335,-7.754388283059394e-6,-2.0012476947012425e-8,-0.0017125200757254853,-7.443621313326269e-6,-1.9747060849152198e-8,-0.0017124712795059404,-7.190431363037621e-6,-1.9530504080148718e-8,-0.001712485108463056,-7.0366396458408515e-6,-1.9398773754969298e-8,-0.0017125116285125956,-6.995979960543143e-6,-1.9363850589301513e-8,-0.0017125055152946264,-7.054904126090996e-6,-1.941433171688431e-8,-0.0017124362267456486,-7.181290036679982e-6,-1.9522819783303132e-8,-0.0017122912356786113,-7.33559115667751e-6,-1.9655458212988638e-8,-0.0017120739679193392,-7.480041670713854e-6,-1.9779851901213196e-8,-0.0017117993662422982,-7.584250733816216e-6,-1.9869913460128613e-8,-0.0017114893374762983,-7.627641340691138e-6,-1.9907989660052855e-8,-0.0017111690927208221,-7.6000125055850025e-6,-1.9885345225042433e-8,-0.0017108644073861132,-7.501412760528949e-6,-1.9802025000362843e-8,-0.0017105992780522003,-7.341978719606794e-6,-1.966667578346078e-8,-0.0017103933189507282,-7.1417111820099305e-6,-1.949632951528594e-8,-0.0017102585004460788,-6.929573781906971e-6,-1.9315642219774395e-8,-0.0017101954017993111,-6.7409497837180035e-6,-1.9154764556717096e-8,-0.0017101899463117245,-6.612514274616833e-6,-1.904501927146042e-8,-0.0017102124219094009,-6.574302226505446e-6,-1.9012164611844463e-8,-0.0017102208546907933,-6.640381461484933e-6,-1.906841604034119e-8,-0.0017101696872487946,-6.801430426475136e-6,-1.920604126355059e-8,-0.0017100221870999638,-7.023203351349197e-6,-1.939596217498844e-8,-0.0017097624173563275,-7.2532026779098715e-6,-1.959339512897098e-8,-0.0017094018542985613,-7.4343348959541015e-6,-1.9749511339903364e-8,-0.0017089776595243197,-7.520980981562084e-6,-1.982519953065219e-8,-0.0017085430785728673,-7.491875094526717e-6,-1.98021064005799e-8,-0.0017081533169143335,-7.355782261528479e-6,-1.968751486928549e-8,-0.0017078512816734047,-7.148736530329722e-6,-1.9512013140907094e-8,-0.0017076570788535014,-6.924050653939927e-6,-1.9321004792382517e-8,-0.0017075639301940206,-6.73805286028801e-6,-1.9162573935492407e-8,-0.0017075414744693901,-6.635623404704152e-6,-1.9075152574921577e-8,-0.0017075452538536885,-6.6397481673598866e-6,-1.907856769945405e-8,-0.0017075291279762277,-6.74799680854229e-6,-1.917095975773456e-8,-0.001707456464753147,-6.936270654025548e-6,-1.9331909124735297e-8,-0.001707306873839935,-7.167486224038338e-6,-1.9529815014463757e-8,-0.0017070774940020905,-7.40150152130711e-6,-1.9730384470556232e-8,-0.001706780055599116,-7.603160648750164e-6,-1.9903542367193303e-8,-0.0017064359548183703,-7.747073464223104e-6,-2.0027552034501053e-8,-0.0017060712869391593,-7.819370843360752e-6,-2.009053088308096e-8,-0.0017057128647851082,-7.81750689300007e-6,-2.0090272816758505e-8,-0.0017053853475831233,-7.749258787440385e-6,-2.0033369653230264e-8,-0.0017051090246987348,-7.63165252439743e-6,-1.9934273203516424e-8,-0.0017048976130836205,-7.48990374053086e-6,-1.9814391821666054e-8,-0.0017047556071532683,-7.355870167993619e-6,-1.9700800557958514e-8,-0.0017046752314598494,-7.265069438578037e-6,-1.962374814999241e-8,-0.001704633907873945,-7.251176602605976e-6,-1.9612010035070857e-8,-0.0017045942123405239,-7.337574074837141e-6,-1.968569133958673e-8,-0.0017045088636094908,-7.527447475358424e-6,-1.984773628854404e-8,-0.0017043321125059295,-7.796609969145614e-6,-2.0077728553648004e-8,-0.0017040352892301902,-8.094628881719389e-6,-2.033278529821439e-8,-0.0017036199174814714,-8.357321757473915e-6,-2.0558199710134475e-8,-0.0017031207453830734,-8.527279641554265e-6,-2.07049674527795e-8,-0.0017025957211632837,-8.573251713438601e-6,-2.0746330786424403e-8,-0.0017021073995130097,-8.499347348814524e-6,-2.0685612575558143e-8,-0.0017017044497118188,-8.341162243397592e-6,-2.0552915628861326e-8,-0.0017014101770728533,-8.152663137236833e-6,-2.0393996128262026e-8,-0.001701220123087332,-7.99029114266652e-6,-2.0256802195303342e-8,-0.0017011069963663247,-7.899440803721392e-6,-2.0180015465234488e-8,-0.0017010298088642021,-7.905934485141747e-6,-2.0185786978182623e-8,-0.0017009442845075707,-8.013087611659719e-6,-2.0277176829621546e-8,-0.001700812271449088,-8.203778005991368e-6,-2.043983579510598e-8,-0.001700608518360257,-8.446292559298515e-6,-2.0646923134808663e-8,-0.0017003238336688721,-8.702227743979316e-6,-2.086581340902206e-8,-0.0016999645473487364,-8.934420936028888e-6,-2.106486263485468e-8,-0.00169954913513485,-9.113190354238928e-6,-2.1218747636263865e-8,-0.0016991033874861217,-9.22001102864717e-6,-2.1311618593498575e-8,-0.0016986554807616981,-9.248647435155238e-6,-2.13380740034121e-8,-0.0016982318855080062,-9.204399731118582e-6,-2.1302519561850147e-8,-0.0016978543995590132,-9.10238542444722e-6,-2.121770451114759e-8,-0.0016975380294125626,-8.965565187764711e-6,-2.1103046899748445e-8,-0.0016972892355614753,-8.822716746064468e-6,-2.0982928734896224e-8,-0.001697104147393287,-8.706075816679848e-6,-2.0884721675880377e-8,-0.0016969666972081788,-8.647926619789557e-6,-2.0835920379221263e-8,-0.00169684740011825,-8.675181170249637e-6,-2.0859546028640884e-8,-0.0016967045804855362,-8.801519162920972e-6,-2.0967436610679105e-8,-0.0016964905065300056,-9.01844333619171e-6,-2.1152579343920042e-8,-0.0016961639731149969,-9.289415793960601e-6,-2.138406153842879e-8,-0.001695707106127775,-9.553311743058151e-6,-2.160998864081665e-8,-0.0016951385176591758,-9.741104001052941e-6,-2.1771702413548394e-8,-0.0016945128063564176,-9.801298769835388e-6,-2.1825425829586347e-8,-0.001693902985101117,-9.720976758235634e-6,-2.176009941619977e-8,-0.0016933741666031645,-9.529958261736527e-6,-2.1600847624303437e-8,-0.0016929627649807358,-9.286767509844959e-6,-2.1397063223247418e-8,-0.0016926700984223038,-9.056285660978077e-6,-2.1203544267075215e-8,-0.0016924690855679811,-8.890755742029625e-6,-2.1064502321326876e-8,-0.0016923170302585921,-8.819805710338477e-6,-2.1005150945671767e-8,-0.0016921682214408472,-8.8489478525651e-6,-2.1030391509463162e-8,-0.0016919833229793798,-8.963433333096914e-6,-2.1127991678712995e-8,-0.0016917350451069605,-9.1345146397534e-6,-2.1273812337831973e-8,-0.0016914106590955637,-9.326304850307346e-6,-2.1437577987506275e-8,-0.0016910119930584138,-9.50234733555081e-6,-2.158843896357954e-8,-0.0016905533915853798,-9.631291450467526e-6,-2.1699798048136526e-8,-0.0016900581754099764,-9.69110899668149e-6,-2.1752905508392625e-8,-0.0016895542586885487,-9.671493446052107e-6,-2.1738910779710982e-8,-0.0016890696305639124,-9.574362283327237e-6,-2.1659302094648493e-8,-0.0016886283866275086,-9.412685663855614e-6,-2.1524925607916213e-8,-0.001688247743667381,-9.208192002297713e-6,-2.1354054577412935e-8,-0.0016879360364431592,-8.98854909081757e-6,-2.1170017704178606e-8,-0.0016876914563649197,-8.784322466768402e-6,-2.0998642806816554e-8,-0.0016875013089274406,-8.625690463057586e-6,-2.086549585606093e-8,-0.0016873417279686287,-8.53858560005698e-6,-2.0792626469016813e-8,-0.001687178325547085,-8.539692110101775e-6,-2.079432297753112e-8,-0.0016869691166023061,-8.630151987089456e-6,-2.0871746461888742e-8,-0.0016866715029369072,-8.789267347131455e-6,-2.100754636158876e-8,-0.001686254318023176,-8.97163165767185e-6,-2.1163398058176738e-8,-0.0016857129301765929,-9.112940780203801e-6,-2.1284938230037018e-8,-0.0016850801573558933,-9.148161471228022e-6,-2.1317184884815498e-8,-0.001684422796496244,-9.037763226930734e-6,-2.122672379094548e-8,-0.0016838198027999708,-8.787797426035769e-6,-2.1018591580797273e-8,-0.0016833318949512636,-8.44940531154977e-6,-2.0735764854021037e-8,-0.0016829803888256231,-8.096954946202853e-6,-2.0440726785689123e-8,-0.0016827459755191082,-7.799047296914452e-6,-2.0191141842253217e-8,-0.001682583454796451,-7.598483392665845e-6,-2.0023083749209106e-8,-0.0016824406087873034,-7.507046345778621e-6,-1.9946647297024858e-8,-0.00168227233893414,-7.511005682637191e-6,-1.995050767444206e-8,-0.0016820477635596358,-7.580629314178077e-6,-2.0009840918065495e-8,-0.0016817519149339769,-7.679226904576688e-6,-2.0093885939198342e-8,-0.0016813844563981313,-7.770076038468931e-6,-2.017176810577966e-8,-0.00168095711875254,-7.821310599237092e-6,-2.02166337334569e-8,-0.0016804905773571324,-7.809332280904686e-6,-2.020854689581189e-8,-0.001680010953275545,-7.72105576611143e-6,-2.013639837823021e-8,-0.001679546036692029,-7.555014866778501e-6,-1.999884849506686e-8,-0.0016791214090587767,-7.3212178391739496e-6,-1.9804212819061585e-8,-0.0016787568208649483,-7.0396326381076e-6,-1.956919439356282e-8,-0.0016784633058374865,-6.737431280764423e-6,-1.9316573595337173e-8,-0.0016782413530992905,-6.445394475960026e-6,-1.907219462969039e-8,-0.001678080222805157,-6.193862700986028e-6,-1.8861571689255484e-8,-0.0016779584103784654,-6.008506027515523e-6,-1.8706342929766363e-8,-0.001677845249146384,-5.906093833141004e-6,-1.8620715185890165e-8,-0.0016777038192801804,-5.890290612856807e-6,-1.8607914310898255e-8,-0.0016774958004093384,-5.947719194763358e-6,-1.8656841222782147e-8,-0.0016771890493794792,-6.04551842846217e-6,-1.873997969081269e-8,-0.001676767832841618,-6.132885965309012e-6,-1.8814675758844495e-8,-0.0016762435242489034,-6.149771262434435e-6,-1.8830466334363702e-8,-0.0016756602448421592,-6.044400624246342e-6,-1.8743841862040513e-8,-0.001675087945535953,-5.795520152856072e-6,-1.8536922752685177e-8,-0.001674600133436057,-5.427392994706577e-6,-1.8229981102522346e-8,-0.0016742451149479186,-5.004926323171685e-6,-1.7877295972549893e-8,-0.0016740276746855878,-4.608399079730942e-6,-1.7546004506771972e-8,-0.0016739119980301556,-4.302510944871832e-6,-1.729026756861099e-8,-0.0016738412334485694,-4.117301795986611e-6,-1.7135338860309113e-8,-0.0016737597260480786,-4.047201977927108e-6,-1.7076725758927597e-8,-0.0016736272940627243,-4.062129813392705e-6,-1.708939796436854e-8,-0.0016734236526182423,-4.121225593287399e-6,-1.7139232302019368e-8,-0.0016731464204356393,-4.183527382690121e-6,-1.719194905092986e-8,-0.001672806667024793,-4.214324596648135e-6,-1.721846074771176e-8,-0.0016724243936852225,-4.1882372375009135e-6,-1.7197481453770475e-8,-0.0016720247121886067,-4.090499672781078e-6,-1.71166177315317e-8,-0.001671634560924054,-3.9173958791691575e-6,-1.697273167292582e-8,-0.0016712796064216253,-3.676148262014399e-6,-1.677183719774153e-8,-0.0016709811132979546,-3.3841381804794744e-6,-1.6528438089025636e-8,-0.001670752839878428,-3.067097445950772e-6,-1.626401154436992e-8,-0.0016705983902454557,-2.755995668689129e-6,-1.6004410253319553e-8,-0.0016705096420609104,-2.4827410471397807e-6,-1.5776279333381472e-8,-0.0016704667555038147,-2.2751486697532836e-6,-1.5602864533974782e-8,-0.001670440054529566,-2.151829226592785e-6,-1.5499751063543376e-8,-0.001670393800312215,-2.117817669325008e-6,-1.5471212409242127e-8,-0.001670291584102462,-2.1617204405963794e-6,-1.5507814775575798e-8,-0.0016701029794063543,-2.2550054075283997e-6,-1.5585801952800447e-8,-0.0016698110099757678,-2.354258371242796e-6,-1.5668961170856538e-8,-0.0016694193436379667,-2.4075797922360825e-6,-1.5713962061550806e-8,-0.0016689568880535386,-2.3659216383981152e-6,-1.5679837674904023e-8,-0.001668476255894404,-2.198389705642687e-6,-1.5540770761251108e-8,-0.0016680427111036224,-1.9070635849955495e-6,-1.5298448763090533e-8,-0.0016677138985701416,-1.5331708742942751e-6,-1.49871845626283e-8,-0.001667517861434114,-1.147223731015582e-6,-1.4665690841976024e-8,-0.0016674416245268775,-8.243545513833562e-7,-1.4396566986045408e-8,-0.0016674379465091208,-6.170824570407865e-7,-1.4223645290633774e-8,-0.0016674458929825874,-5.401446955353702e-7,-1.415932767755485e-8]} \ No newline at end of file diff --git a/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_20.json b/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_20.json new file mode 100644 index 0000000..1de0a54 --- /dev/null +++ b/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_20.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1.0,"startIndex":20000,"numberOfSamples":1000,"samples":[0.002920358133904192,-6.784113942412794e-6,1.9052440314477163e-8,0.0029206413912713745,-6.613636446664559e-6,1.880279195741177e-8,0.0029208307139081857,-6.4248857259363685e-6,1.8526799455172666e-8,0.002920930147853429,-6.259580496894272e-6,1.8285299846459358e-8,0.002920958301557765,-6.151401288497133e-6,1.8127384394993633e-8,0.002920943527534336,-6.121517965926748e-6,1.8083876197142136e-8,0.002920918375602291,-6.176714362040785e-6,1.816459054828576e-8,0.0029209142523147777,-6.309966452545619e-6,1.8359183512205728e-8,0.0029209570493570875,-6.502919273456435e-6,1.864078390277559e-8,0.0029210641805222245,-6.729529878146821e-6,1.8971329337261025e-8,0.0029212431239192664,-6.960111764971586e-6,1.9307474224319167e-8,0.0029214911994797127,-7.165144308668532e-6,1.960613535377138e-8,0.002921796120285953,-7.318617634903727e-6,1.982935162046132e-8,0.002922137007124233,-7.4010933087209115e-6,1.994874542519259e-8,0.0029224858842140738,-7.402792330024526e-6,1.9950053694911065e-8,0.0029228100891597296,-7.3269133160290385e-6,1.9838013786501703e-8,0.0029230765056806078,-7.192875581754198e-6,1.9641124744988003e-8,0.002923258593947595,-7.038021661925838e-6,1.941411030247615e-8,0.0029233461420444737,-6.914897975233613e-6,1.9233867338703342e-8,0.0029233550561071457,-6.88082642372724e-6,1.9184132872670825e-8,0.002923331035256764,-6.979157664713172e-6,1.9328047777690732e-8,0.002923340142385916,-7.2183869507838524e-6,1.9677702094935728e-8,0.002923445583922481,-7.561828631160178e-6,2.0179192009197127e-8,0.002923681317946548,-7.937980661899995e-6,2.072789220706034e-8,0.0029240384097172193,-8.268180631197756e-6,2.1208898937220332e-8,0.0029244717828463846,-8.495446917109097e-6,2.1539128515592525e-8,0.0029249206337382287,-8.5993447870362e-6,2.168897594018406e-8,0.0029253292642615033,-8.593866031641322e-6,2.1679150221309016e-8,0.002925659785723746,-8.515407336314436e-6,2.1563040883823154e-8,0.0029258958667452545,-8.409144036535884e-6,2.140676187245665e-8,0.0029260405842169023,-8.318330424117874e-6,2.1273515340970926e-8,0.0029261116369550147,-8.277597083016847e-6,2.1213831819462888e-8,0.0029261360482877165,-8.309529221173803e-6,2.1260608728115165e-8,0.0029261452014683505,-8.42340926017503e-6,2.142729184107828e-8,0.002926170313882796,-8.615486024606374e-6,2.1708269585437497e-8,0.00292623844165663,-8.870566448345604e-6,2.2081201504360447e-8,0.00292636924853009,-9.164729529600066e-6,2.2511001728707966e-8,0.0029265727710682966,-9.46889441648262e-6,2.295507952203869e-8,0.0029268483980316373,-9.752900430721535e-6,2.336931848773817e-8,0.0029271851539575938,-9.989600330613871e-6,2.371405611551756e-8,0.0029275631112714875,-1.0158516530347245e-5,2.3959412562508196e-8,0.002927955664309901,-1.0248883948905652e-5,2.408973052847181e-8,0.002928332543885939,-1.0262052169211477e-5,2.4107097524156514e-8,0.002928663659626732,-1.0213176614852856e-5,2.4033835922844377e-8,0.002928924086482032,-1.0131859571605514e-5,2.391343414198871e-8,0.002929100469893201,-1.006068720901442e-5,2.380835533385682e-8,0.00292919825272032,-1.0049779074946679e-5,2.3791978424671676e-8,0.0029292472514429032,-1.0145544621233506e-5,2.3932078427797663e-8,0.0029293008561212352,-1.0374107175155202e-5,2.4266580620660107e-8,0.0029294238469290295,-1.0725024417737487e-5,2.4779841229322424e-8,0.002929669111734987,-1.114611883277768e-5,2.539521780426727e-8,0.0029300535325597157,-1.1558053316444333e-5,2.599647534430263e-8,0.0029305485124082784,-1.1884615009568598e-5,2.647210161222967e-8,0.0029310923955805034,-1.2081611605397568e-5,2.675757842754958e-8,0.002931616304399638,-1.2148069338781219e-5,2.6851763811636517e-8,0.002932067285150511,-1.2117575796211164e-5,2.6804177118692685e-8,0.002932418917621506,-1.2040100109443465e-5,2.6688285414068273e-8,0.002932670230039864,-1.1965464765100921e-5,2.657720810322275e-8,0.0029328387680504554,-1.1933289258766363e-5,2.6528961772784398e-8,0.00293295270881014,-1.196897681852962e-5,2.658062017342903e-8,0.002933044376699607,-1.2083490982675024e-5,2.67480469420976e-8,0.0029331455921541476,-1.2274805413081184e-5,2.7028061070784242e-8,0.002933284292138651,-1.2529877406152909e-5,2.7401345594697467e-8,0.00293348183921598,-1.2826952297089921e-5,2.7835835906596038e-8,0.0029337508490475143,-1.3138354603080276e-5,2.829083170402535e-8,0.002934093645838865,-1.3433894030281315e-5,2.872201713802254e-8,0.0029345016544849406,-1.3684880135773215e-5,2.908736254701938e-8,0.0029349561406361926,-1.386840837531521e-5,2.935340201831078e-8,0.002935430486740117,-1.3971275110489517e-5,2.95009506018706e-8,0.002935893835760189,-1.3992889279387817e-5,2.9529348563241594e-8,0.002936315747796631,-1.3946693107954746e-5,2.9458526641335536e-8,0.0029366714399644074,-1.3859725730502529e-5,2.9328347332084718e-8,0.0029369471463227275,-1.3770076163005065e-5,2.919483182596872e-8,0.0029371450608840764,-1.3721886782902614e-5,2.912277265954847e-8,0.002937286864066753,-1.3757394229001907e-5,2.917400350300773e-8,0.0029374138979444495,-1.3905986529102212e-5,2.9391340967481903e-8,0.002937581299334286,-1.4172039349156543e-5,2.9780814874648412e-8,0.002937844163109093,-1.45262281968288e-5,3.029905020497397e-8,0.0029382377175291947,-1.4907319198974039e-5,3.085599616240686e-8,0.0029387598782889463,-1.5239082205155629e-5,3.13397558100923e-8,0.0029393676298225253,-1.5457827043506526e-5,3.165695446938089e-8,0.002939992216838139,-1.5536378976067384e-5,3.1767915909756623e-8,0.0029405653190518453,-1.5490797301223943e-5,3.169654522724492e-8,0.002941041254771594,-1.536815347138079e-5,3.151235350452084e-8,0.00294140542344543,-1.5225670745632641e-5,3.129971116966001e-8,0.0029416699353257774,-1.511314588614597e-5,3.113191036723647e-8,0.002941863403875871,-1.5063955018859357e-5,3.105791466104839e-8,0.002942020994539501,-1.5093505935668198e-5,3.110013611490886e-8,0.002942177366646585,-1.520170158147927e-5,3.125814014183412e-8,0.0029423625508156873,-1.537654151057894e-5,3.1514004634474597e-8,0.002942599690849947,-1.559743059921687e-5,3.183721614696178e-8,0.00294290359336924,-1.5838011990550073e-5,3.2188849522134435e-8,0.00294327957060671,-1.606891948600009e-5,3.252562907878252e-8,0.002943722566359027,-1.626091105834113e-5,3.2804552667574874e-8,0.0029442169460562008,-1.6388674978272435e-5,3.2988495583917805e-8,0.002944737613991192,-1.643514977217652e-5,3.3052553288382284e-8,0.002945253028492552,-1.6395599116742716e-5,3.299000825108424e-8,0.0029457301748656087,-1.6280316984019043e-5,3.2816276383530096e-8,0.0029461409054937337,-1.6114844458962526e-5,3.2569189442586106e-8,0.002946468467779173,-1.59369584836108e-5,3.230452078197805e-8,0.0029467127007430827,-1.5790452065963385e-5,3.20867790313752e-8,0.002946892484190752,-1.571653783339316e-5,3.19765091292342e-8,0.0029470444074099875,-1.574421226294738e-5,3.201610119609517e-8,0.00294721700040216,-1.5881334913556607e-5,3.2216717921521556e-8,0.002947460426363542,-1.6108825234197094e-5,3.2549869520431156e-8,0.002947812788728661,-1.6380947123874963e-5,3.294795449427606e-8,0.002948286406491707,-1.663423983095662e-5,3.3317466246604255e-8,0.0029488597757889802,-1.6805051579412595e-5,3.356478318315856e-8,0.0029494809972528905,-1.6850594771345913e-5,3.362711592054566e-8,0.0029500837834087173,-1.6764027436157334e-5,3.3494691584581735e-8,0.002950609547099543,-1.65754022846451e-5,3.321214488618771e-8,0.0029510248489415226,-1.6338277873894157e-5,3.285874310463184e-8,0.002951326908519711,-1.6110067758768604e-5,3.251932528889389e-8,0.002951537740617979,-1.5935923031543694e-5,3.226045946019777e-8,0.002951692897861342,-1.5841154803625142e-5,3.2119268917177497e-8,0.0029518308167177263,-1.5831373922113136e-5,3.210371527010424e-8,0.002951985680243071,-1.5896753371837802e-5,3.219898309769699e-8,0.0029521838394617654,-1.6017149276703177e-5,3.237510141211502e-8,0.0029524425171660266,-1.6166416508957604e-5,3.259333287301716e-8,0.002952769476479237,-1.631566760743691e-5,3.281097659429368e-8,0.0029531628666808734,-1.6435949662826805e-5,3.298530817637135e-8,0.002953611072809355,-1.6501010877409013e-5,3.307765926789581e-8,0.0029540929521073237,-1.6490693620487103e-5,3.305842467294873e-8,0.002954579264429746,-1.639499922671663e-5,3.291305556929234e-8,0.00295503617946976,-1.6218085914775832e-5,3.264794315872196e-8,0.0029554312636725514,-1.598068794654785e-5,3.2293958485677294e-8,0.002955741283648492,-1.5719093070127868e-5,3.1904895652031e-8,0.002955959806034109,-1.547937573783238e-5,3.154889715991773e-8,0.0029561017019983917,-1.5307268455907255e-5,3.129343797151466e-8,0.002956202124345455,-1.5236171399037398e-5,3.118759456372629e-8,0.002956309344895545,-1.5277053681785616e-5,3.124717312307237e-8,0.002956473061121083,-1.5413664099591182e-5,3.144774573045378e-8,0.002956731321048645,-1.56048785559379e-5,3.1728248939181924e-8,0.00295709965139376,-1.5793981380019647e-5,3.20047831722283e-8,0.002957565526219128,-1.592284518104132e-5,3.2191570296512827e-8,0.002958090281759539,-1.5947524626471783e-5,3.2223937815342005e-8,0.0029586188407144266,-1.5850738642942996e-5,3.2076690446522256e-8,0.002959094945026436,-1.5646720190761735e-5,3.177121976954928e-8,0.002959476848073268,-1.5376083073574004e-5,3.136786811924238e-8,0.0029597476091094625,-1.5092533249955837e-5,3.094622473963542e-8,0.0029599165389014807,-1.4847001851064014e-5,3.058161120537158e-8,0.0029600126576895124,-1.4675368085643121e-5,3.032691574396036e-8,0.0029600742944759875,-1.4593152680899354e-5,3.020479859533819e-8,0.0029601393336397405,-1.4596748310243467e-5,3.020960605628144e-8,0.002960238698290419,-1.4668406120361078e-5,3.031483113270092e-8,0.002960393348094185,-1.4782054688900286e-5,3.048176038556993e-8,0.0029606137208240614,-1.4908213038661743e-5,3.0666732803764704e-8,0.002960900307724539,-1.5017561814104221e-5,3.082638893027108e-8,0.002961244434757364,-1.50835587775595e-5,3.092151102287129e-8,0.0029616289196745093,-1.508481954343969e-5,3.092053838966425e-8,0.0029620288994349014,-1.5007922270276185e-5,3.080373072655211e-8,0.002962413625758523,-1.485083932757977e-5,3.056826258788275e-8,0.0029627502369207145,-1.4626387490437281e-5,3.023332794121676e-8,0.002963010182597418,-1.4364071234967201e-5,2.9842834228472034E-08,0.002963177767764606,-1.4107920694885702e-5,2.9462135061082662e-8,0.002963258245024794,-1.390835698351417e-5,2.9165907356940043e-8,0.002963281197327158,-1.3808595017261191e-5,2.9017964910745684e-8,0.0029632955592347656,-1.3829869002871433e-5,2.9049396981577167e-8,0.0029633562901483323,-1.396211303207011e-5,2.9244867118890364e-8,0.002963507429295757,-1.4165122782118485e-5,2.9544476640865564e-8,0.0029637685076608447,-1.4380196230406393e-5,2.986111941278739e-8,0.0029641293995320965,-1.4547336536681909e-5,3.010599812437667e-8,0.0029645544477331213,-1.462147944059388e-5,3.021262159737794e-8,0.002964993199433165,-1.4582947790407866e-5,3.015220993420224e-8,0.002965393786237881,-1.4440252912374524e-5,2.993775541428279e-8,0.002965715263846332,-1.4225700000439636e-5,2.9617431791449873e-8,0.002965936105661564,-1.3985740295725363e-5,2.926023813664994e-8,0.0029660572013795127,-1.3768956215185547e-5,2.893816297894991e-8,0.0029660991821764673,-1.361495218959358e-5,2.8709729777681658e-8,0.0029660954822132313,-1.3546940317984253e-5,2.8609061319606824e-8,0.0029660836753954115,-1.3569374678669404e-5,2.86424548981107e-8,0.002966097715672726,-1.3670152439685494e-5,2.8791723939980673e-8,0.002966162758787371,-1.382559151959131e-5,2.9021622975413763e-8,0.002966292909415142,-1.4006141463460001e-5,2.9288313696922994e-8,0.0029664912327432187,-1.4181368889154244e-5,2.9546719679842586e-8,0.00296675098439865,-1.432364071392131e-5,2.975594063607446e-8,0.0029670571768570203,-1.441068763053631e-5,2.988302426452729e-8,0.0029673880824924595,-1.4427641005829092e-5,2.990599124607975e-8,0.0029677168251591012,-1.4369146872198044e-5,2.9817001755657374e-8,0.002968013691011178,-1.4241810907193253e-5,2.962601250879183e-8,0.0029682500709710805,-1.4066513065220714e-5,2.93642059457502e-8,0.002968404731954602,-1.387910107568484e-5,2.9084963591962518e-8,0.002968471978193223,-1.3727039399383037e-5,2.88588007731629e-8,0.002968469059433979,-1.3659767445614165e-5,2.875897632722551e-8,0.0029684378958154877,-1.3713145157645224e-5,2.8838395498620046e-8,0.00296843646941631,-1.3893353069001035e-5,2.9105800690051132e-8,0.0029685202671800416,-1.4169383669450605e-5,2.9514779524273305e-8,0.0029687215722676882,-1.4480741544933563e-5,2.997532983204709e-8,0.0029690374925616814,-1.4758063993347154e-5,3.038452227517716e-8,0.002969432550313911,-1.494625005415047e-5,3.0660807023103234e-8,0.0029698527534371528,-1.501941615613648e-5,3.076614564288683e-8,0.002970242975131316,-1.4983590593674082e-5,3.070991787329774e-8,0.002970560707010411,-1.486978332026129e-5,3.053852833456252e-8,0.002970783380041674,-1.4722598896256202e-5,3.031840881526067e-8,0.0029709096528671933,-1.4588664344004444e-5,3.01187930361603e-8,0.0029709563531596737,-1.4507263299708571e-5,2.999782950169233e-8,0.0029709528196634203,-1.450412607323851e-5,2.9993430059943106e-8,0.0029709340930672533,-1.4588613765477793e-5,3.011917526326649e-8,0.0029709342235076834,-1.4754157039491757e-5,3.036503994043903e-8,0.0029709808089967682,-1.4981337496558506e-5,3.070201327711546e-8,0.0029710914938153535,-1.524256500555707e-5,3.1089054340748793e-8,0.0029712726180356206,-1.5507206205397086e-5,3.1480689014010646e-8,0.0029715197167699482,-1.5746211713835314e-5,3.1833846061620287e-8,0.002971819217195222,-1.5935676545529305e-5,3.211310994113541e-8,0.0029721506391493777,-1.6059298169857467e-5,3.2294356226821274e-8,0.002972488915422919,-1.6110085669579795e-5,3.236730284468479e-8,0.0029728068475521232,-1.609171171330991e-5,3.233754856855953e-8,0.0029730780491342918,-1.6019684593364873e-5,3.2228331099957483e-8,0.002973280996517472,-1.5922014544477006e-5,3.2081488017266414e-8,0.002973404663571169,-1.5838170077771026e-5,3.195582334149546e-8,0.0029734552005521004,-1.581431674792034e-5,3.1919928221359786e-8,0.002973461188362297,-1.589302000644207e-5,3.2036819078499595e-8,0.0029734728689441363,-1.609792381140514e-5,3.234121094806937e-8,0.0029735507610109523,-1.6418860094304986e-5,3.281753040259766e-8,0.002973744280704623,-1.6807320664665265e-5,3.3393348896120576e-8,0.0029740698756861514,-1.7189700640362698e-5,3.395915574472174e-8,0.002974502213153519,-1.7494403406110863e-5,3.4408643234550394e-8,0.002974984560957685,-1.767802825408724e-5,3.4677597890506306e-8,0.0029754513730213712,-1.773672456282881e-5,3.476073805538473e-8,0.002975849730807777,-1.7700253301847003e-5,3.470280180238341e-8,0.0029761508530331345,-1.7616516953682456e-5,3.4575409590022556e-8,0.0029763511916333146,-1.7535807952942615e-5,3.445351817065031e-8,0.0029764671850589274,-1.7499734982786542e-5,3.439891544803893e-8,0.002976527814731713,-1.753553605886131e-5,3.445182277720747e-8,0.0029765674333753333,-1.7654482487030005e-5,3.462863214504655e-8,0.0029766197783471023,-1.785285028144174e-5,3.4923452338110174e-8,0.002976713303471049,-1.8114495901758313e-5,3.531200044507124e-8,0.00297686786306883,-1.841450460826479e-5,3.575704849602197e-8,0.002977092820345906,-1.8723439945705067e-5,3.6214741069552453E-08,0.0029773865940886136,-1.9011730919729806e-5,3.6641106825301627e-8,0.00297773758195352,-1.9253744086145604e-5,3.6998098021908325e-8,0.002978126225410339,-1.9431077092030192e-5,3.725847234837322e-8,0.002978527778364898,-1.953481608938666e-5,3.740914085341509e-8,0.0029789154040244796,-1.9566826718393777e-5,3.7453087807647996e-8,0.002979263474936315,-1.9540223734977267e-5,3.741007038668588e-8,0.002979551126528603,-1.9479037319080024e-5,3.731610210216535e-8,0.002979766242014358,-1.9416859969519788e-5,3.722137847792964e-8,0.0029799099497124348,-1.9393715173435276e-5,3.7185523694292244e-8,0.002980000915971834,-1.94498533312271e-5,3.7268276541520824e-8,0.0029800772524500073,-1.9615566721707554e-5,3.7514326950814606e-8,0.002980192469529219,-1.9898167604817833e-5,3.7934040287157073e-8,0.0029804022602219083,-2.0271164712515565e-5,3.8487521814506124e-8,0.0029807434701728474,-2.067424132501533e-5,3.9084720785291444e-8,0.0029812147089178787,-2.1030261025836366e-5,3.961077233026522e-8,0.0029817719928732045,-2.127449949752043e-5,3.99694784583061e-8,0.0029823449666828935,-2.1379992430783766e-5,4.0121037663042906e-8,0.0029828645165091085,-2.136410513008704e-5,4.009182899623436e-8,0.0029832854451143304,-2.127531976246566e-5,3.995464665032265e-8,0.002983594498668351,-2.1171712511966522e-5,3.97964527218785e-8,0.0029838054954291746,-2.1103248487216302e-5,3.9691834147374094e-8,0.002983948836829765,-2.110276132606735e-5,3.968953147631429e-8,0.002984061290257191,-2.1184288397485705e-5,3.981006008442894e-8,0.002984178513731084,-2.1345484561751207E-05,4.004945855912969e-8,0.00298433040769511,-2.157146104983014e-5,4.0385128619668554e-8,0.002984538433971821,-2.183875045296736e-5,4.078179890719198e-8,0.002984814157245484,-2.2119128743535838e-5,4.1197228817699106e-8,0.0029851587068223267,-2.2383338100873876e-5,4.158774803164346e-8,0.0029855631058775885,-2.260472386163859e-5,4.191366897386889e-8,0.002986009558291577,-2.2762699849510053e-5,4.214444460091879e-8,0.002986473810408079,-2.2845709776562213e-5,4.226307152736928e-8,0.0029869284555065143,-2.285321248440732e-5,4.226903134195116e-8,0.0029873468009023675,-2.279640960153469e-5,4.217934987696174e-8,0.0029877069362470323,-2.2697618488155953e-5,4.202762496290873e-8,0.002987995706883981,-2.2588196005956238e-5,4.186087368514205e-8,0.0029882122724941918,-2.250493424394035e-5,4.173407992678916e-8,0.002988370845250907,-2.2484777608857293e-5,4.170223881865493e-8,0.0029885017936435655,-2.255756728162393e-5,4.180950622118746e-8,0.002988649508545319,-2.2737002269993502e-5,4.20757789848222e-8,0.002988864944534272,-2.3011660125789477e-5,4.248345478531366e-8,0.0029891917531914853,-2.3340375925996207e-5,4.2970713042447454e-8,0.0029896486141179545,-2.3657833305475466e-5,4.3439950290240724e-8,0.002990215930999584,-2.3893473135528555e-5,4.378597223794274e-8,0.0029908371871804683,-2.399812996226874e-5,4.393568517521914e-8,0.0029914382467285117,-2.396417191820179e-5,4.3878147729951906e-8,0.0029919551613743003,-2.38265851199188e-5,4.3666186218943454e-8,0.0029923547556799392,-2.364535922564181e-5,4.33899815622375e-8,0.0029926388924618567,-2.34815530183942e-5,4.314111317342226e-8,0.0029928352743501543,-2.3379858232251807e-5,4.298635560434982e-8,0.002992983643000855,-2.3362211966869825e-5,4.2958145653724355e-8,0.002993124239325345,-2.3429729514789833e-5,4.305762336091702e-8,0.0029932908205783236,-2.3568260581625195e-5,4.3263117748307686e-8,0.0029935075467194595,-2.3754218892099406e-5,4.353897939933425e-8,0.002993788115402275,-2.3959322132927218e-5,4.3842700238288005e-8,0.002994135865131543,-2.415427368613513e-5,4.413039745178603e-8,0.002994544317604473,-2.431187474329782e-5,4.436143642962751e-8,0.0029949981369148688,-2.4409940834154676e-5,4.4502773677267694e-8,0.002995474733920963,-2.4434159363146072e-5,4.453322269139798e-8,0.002995946867852737,-2.438065412063379e-5,4.444727962470359e-8,0.0029963863997792425,-2.4257633800533217e-5,4.425756592263305e-8,0.0029967688850502656,-2.4085455016201706e-5,4.399488097416399e-8,0.002997078338300538,-2.3894673268282683e-5,4.370522458009922e-8,0.002997311349129843,-2.3721945852451404e-5,4.344359182276227e-8,0.002997479656226587,-2.360404297666528e-5,4.32649398235654e-8,0.0029976103593761477,-2.357065305448074e-5,4.3213385803306306e-8,0.002997743110787153,-2.3636926496027646e-5,4.3311086910764544e-8,0.002997923748088096,-2.379704664473801e-5,4.354874311053949e-8,0.0029981942175954005,-2.4020889171051923e-5,4.388077348084879e-8,0.0029985799058661606,-2.4256592745038067e-5,4.422930981774514e-8,0.0029990778745615423,-2.444143335305884e-5,4.450051619084297e-8,0.002999651934402648,-2.4520419116148653e-5,4.461236561595702e-8,0.003000240119555401,-2.4466536425871935e-5,4.452486712152954e-8,0.0030007744382348467,-2.4292342453891288e-5,4.4257372821343864e-8,0.0030012043836071256,-2.4045254021272564e-5,4.388146492212079e-8,0.003001512146798215,-2.3788596603881732E-05,4.3492440534199405e-8,0.003001713011004348,-2.3579216292932016e-5,4.3175608587979206e-8,0.0030018440201570076,-2.345253767991309e-5,4.298382851303703e-8,0.0030019492490419297,-2.3418849803166555e-5,4.293202980731309e-8,0.0030020683571267115,-2.3467794115789163e-5,4.300412504387121e-8,0.003002230577040951,-2.3575924418412295e-5,4.3164515275253525e-8,0.0030024530481396073,-2.371369072928725e-5,4.336864156691746e-8,0.0030027414546316424,-2.3850507219765965e-5,4.357057053753451e-8,0.0030030914014577796,-2.395813305179184e-5,4.3728004665977624e-8,0.003003489836964812,-2.4013129247926298e-5,4.3805913400348664e-8,0.003003916505986112,-2.3999045197511412e-5,4.3779791639210484e-8,0.0030043458018004154,-2.3908648392456543e-5,4.3639009503235175e-8,0.003004749546491452,-2.3746015567883387e-5,4.338995688522113e-8,0.0030051010544452283,-2.3527756377723387e-5,4.305786620408989e-8,0.003005380278727441,-2.3282359290256304e-5,4.268578367873625e-8,0.0030055791218540325,-2.3046814799346892e-5,4.232942511550203e-8,0.003005705403471987,-2.2860300990568903e-5,4.2047613637055405e-8,0.0030057838269298923,-2.2755768795899834e-5,4.188959157506121e-8,0.0030058528292368726,-2.275134395340437e-5,4.188212374752424e-8,0.003005957307061821,-2.2843946110056914e-5,4.2020014794074984E-08,0.003006138413427418,-2.300724171618979e-5,4.226319699714995e-8,0.0030064225790959894,-2.319527741556905e-5,4.254234844837243e-8,0.003006812562702178,-2.335201743558618e-5,4.277330694714285e-8,0.0030072836012702583,-2.3425444976355578e-5,4.2878234687331705e-8,0.003007787264335132,-2.3382901257872224e-5,4.280856410095554e-8,0.003008263689228249,-2.3222450315454287e-5,4.2561953877304193e-8,0.0030086592071474436,-2.2974830200955383e-5,4.218511547518296e-8,0.0030089426676550976,-2.26937486182808e-5,4.17591305405803e-8,0.00300911333844383,-2.2438134195979213e-5,4.137267939823414e-8,0.003009197487585295,-2.225432969879038e-5,4.1095226879594374e-8,0.003009236757661162,-2.216547948200621e-5,4.0961121500672567e-8,0.003009274709149118,-2.217043771176245e-5,4.09681037873079e-8,0.0030093468102407217,-2.224960297551781e-5,4.108625065125137e-8,0.003009475717436156,-2.2373205783984607e-5,4.1270546851323725e-8,0.003009670815179887,-2.250862585044295e-5,4.147189797251425e-8,0.0030099299700386954,-2.2625428795493783e-5,4.164463699013084e-8,0.00301024187402901,-2.269838136100306e-5,4.1750971465696804e-8,0.003010588197802463,-2.2709282253166442e-5,4.17636812926794e-8,0.0030109454772800953,-2.2648401738654642e-5,4.1668279995880246e-8,0.0030112871514783373,-2.2515993789587058e-5,4.1465320020488957e-8,0.003011586410402015,-2.2323777967550487e-5,4.1172650945728414e-8,0.003011820354517727,-2.2095615453953176e-5,4.082642765490463e-8,0.0030119753682766987,-2.1866121724890676e-5,4.0478962804724885e-8,0.0030120526329220835,-2.167596603147096e-5,4.019155827324615e-8,0.003012071619005174,-2.1563470526289128e-5,4.002177521312465e-8,0.0030120689879420764,-2.1553983387326334e-5,4.0007412510859045e-8,0.0030120914835277484,-2.1650539471334874e-5,4.015251477306536e-8,0.003012183981443884,-2.1829957093484467e-5,4.0421644155871945e-8,0.003012376436940448,-2.2046872823385574e-5,4.074612539538994e-8,0.003012674385510726,-2.2245060636632923e-5,4.104120937557746e-8,0.003013056385483303,-2.237249037808146e-5,4.122877520759659e-8,0.003013479206572159,-2.2395363336080645e-5,4.125840285038834e-8,0.00301388907552939,-2.2307009988112173e-5,4.112064949092303e-8,0.003014235716569667,-2.21292539477236e-5,4.0848957479960844e-8,0.0030144852458368573,-2.1905904722336058e-5,4.0509715506145036e-8,0.003014628140393211,-2.1690273931464643e-5,4.0183354013727575e-8,0.0030146798861370155,-2.1530670765035162e-5,3.9942465173289727e-8,0.003014674513909391,-2.1458647516230403e-5,3.9834154839566405e-8,0.0030146539150070514,-2.1483480978725524e-5,3.9871866653527925e-8,0.003014657045850174,-2.159355446238517e-5,4.003762590554032e-8,0.0030147123189946208,-2.1762610361229233e-5,4.029158028075859e-8,0.0030148344079461886,-2.1957660138997936e-5,4.0583952504102195e-8,0.003015024723893025,-2.214588593896058e-5,4.0865392615269084e-8,0.0030152739036193445,-2.22993320272481e-5,4.109395623141755e-8,0.0030155648211872598,-2.2397503358356043e-5,4.123893927793968e-8,0.0030158753159103555,-2.242862410171888e-5,4.1282740545661414e-8,0.0030161804959735242,-2.239035571976067e-5,4.122196425411615e-8,0.0030164549748184135,-2.2290484655788065e-5,4.106850249505057e-8,0.0030166756785176938,-2.2147566876471484e-5,4.085053467582822e-8,0.0030168257902463656,-2.1990840651876128e-5,4.0612367627877493e-8,0.0030168998356597245,-2.185809576971141e-5,4.041113557692705e-8,0.003016908801918456,-2.1790004412026398e-5,4.030814374624823e-8,0.0030168827390098687,-2.1820318277313286e-5,4.035402021045058e-8,0.0030168675107474373,-2.19637983748077e-5,4.057054444845606e-8,0.003016913871536386,-2.220687703617631e-5,4.09366942603126e-8,0.003017061280745224,-2.2507121073764624e-5,4.138801109760418e-8,0.0030173232653145413,-2.28042122748035e-5,4.1833304318833444e-8,0.0030176816547766365,-2.3038752114974032e-5,4.218308051823787e-8,0.003018092461901088,-2.317060860472061e-5,4.2377204037070425e-8,0.0030185000617629827,-2.3189358211647577e-5,4.240056434796237e-8,0.0030188531890023565,-2.3114278349446322e-5,4.2282916648184983e-8,0.0030191172695145925,-2.298608274263823e-5,4.2086230161827244e-8,0.003019280521670172,-2.2854616393563075e-5,4.188596434454325e-8,0.00301935377876645,-2.27664496809722e-5,4.1752283274555145e-8,0.0030193653932179577,-2.2755137035095014e-5,4.173540981919782e-8,0.0030193531828910203,-2.2835689436507088e-5,4.185743087774839e-8,0.003019355569264338,-2.3003756094996915e-5,4.211123646364793e-8,0.003019403958407845,-2.323899690414335e-5,4.246574371735947e-8,0.003019517875462904,-2.3511172447957385e-5,4.2875145551518413e-8,0.003019703373553423,-2.3786991097561844e-5,4.328922423781491e-8,0.003019954219332213,-2.4036029761377636e-5,4.3662218358333147e-8,0.003020254766068992,-2.423482031971884e-5,4.395891153209101e-8,0.003020583367897793,-2.4369010761043288e-5,4.415784033020523e-8,0.0030209155492026242,-2.4434102956819604e-5,4.425239523927991e-8,0.0030212267021837735,-2.443546844269732e-5,4.4250868318591255e-8,0.0030214945520319145,-2.438812313993975e-5,4.417614262844354e-8,0.0030217018620748537,-2.4316298536123176e-5,4.406504030121207e-8,0.0030218398456035413,-2.4252307744576375e-5,4.396654725060574e-8,0.003021912331535931,-2.4233602777596313e-5,4.39372627104561e-8,0.0030219396761021347,-2.429662036167427e-5,4.4032012805518794e-8,0.0030219599100410016,-2.4466782499552282e-5,4.4288740896769435e-8,0.00302202361177359,-2.4746531459929342e-5,4.47105455738881e-8,0.003022180395983599,-2.5107010582484676e-5,4.525329764117915e-8,0.003022460057180725,-2.5490814286278737e-5,4.5829951905006934e-8,0.003022857627761485,-2.5828964736561783e-5,4.633626256410645e-8,0.003023332267934383,-2.6065721301283244e-5,4.668826880948124e-8,0.003023821927221237,-2.6178133626157623e-5,4.685181828073514e-8,0.0030242654527104103,-2.618060722133502e-5,4.6849397702988095e-8,0.00302462064736006,-2.6115003315723564e-5,4.674500325784846e-8,0.003024872054652819,-2.6034210741007566e-5,4.661907867346306e-8,0.003025029247398639,-2.5987096868666402e-5,4.654559337911846e-8,0.003025119674183166,-2.600869221520683e-5,4.657718713531259e-8,0.0030251798618585422,-2.6115962524536738e-5,4.6738915646380234e-8,0.003025247304514287,-2.6307892425086884e-5,4.702858653637406e-8,0.0030253540345252404,-2.6568373656992416e-5,4.742130825887169e-8,0.003025522180290973,-2.6870812112854194e-5,4.7876552038498893e-8,0.0030257616742353777,-2.718362842899639e-5,4.834647617031556e-8,0.0030260701248843638,-2.7475754898200334e-5,4.878418797216237e-8,0.003026434531440565,-2.7721296131052857e-5,4.915072369570908e-8,0.003026834267375794,-2.790282528074767e-5,4.941997646359749e-8,0.003027244652317317,-2.801310467185596e-5,4.958126578195143e-8,0.00302764045789911,-2.8055375984440208e-5,4.963976761859313e-8,0.0030279989828120874,-2.8042678247256376e-5,4.961548465878466e-8,0.003028302732030385,-2.7996614735003015e-5,4.9541371336797554e-8,0.0030285419382640503,-2.7945668380696642e-5,4.946074008271887e-8,0.0030287171664962805,-2.7922799028450726e-5,4.9423540183523226e-8,0.003028841979820805,-2.796162115926255e-5,4.948048077466765e-8,0.0030289448272879803,-2.8090202994150213e-5,4.967360897101288e-8,0.00302906808799766,-2.832216698757468e-5,5.002291747065914e-8,0.003029261393516597,-2.8646859820436187e-5,5.051165188848918e-8,0.0030295674732655794,-2.9023648863821986e-5,5.107788139765754e-8,0.0030300035036457318,-2.9387468552092513e-5,5.1622994265168756e-8,0.003030547654439084,-2.966892547984612e-5,5.204210187529804e-8,0.0030311419708281494,-2.9821700123341288e-5,5.226546402242462e-8,0.003031713429022907,-2.9841451121119933e-5,5.228710697781398e-8,0.0030322015269454838,-2.9764614366811912e-5,5.216297581619774e-8,0.003032576700297681,-2.964992539693665e-5,5.1982771928407634e-8,0.0030328427049061664,-2.95558177823456e-5,5.18354400080819e-8,0.0030330273738204275,-2.952483864326578e-5,5.178537523848844e-8,0.0030331699517057442,-2.9577898541893805e-5,5.1863748181959154e-8,0.0030333104138618784,-2.9715604944099784e-5,5.207074030425486e-8,0.003033482465717576,-2.9922976396352082e-5,5.238294189196952e-8,0.0030337098242709487,-3.017493755703473e-5,5.276185486031358e-8,0.0030340047066781646,-3.0441434203506502e-5,5.316170038656006e-8,0.0030343677318868385,-3.069201162682167e-5,5.353632168723621e-8,0.0030347889661070187,-3.089987345211356e-5,5.384526338775909e-8,0.0030352499978571756,-3.104524236184448e-5,5.405880170678398e-8,0.0030357268634388502,-3.111778908424594e-5,5.416158516454266e-8,0.0030361935715449567,-3.1117887001919675e-5,5.415451590233293e-8,0.003036625814699871,-3.105651407747209e-5,5.4054586154864e-8,0.003037004388893214,-3.095390233892545e-5,5.3892806738359834e-8,0.003037318044491069,-3.083722670992275e-5,5.3710656905416486e-8,0.0030375656938618433,-3.073753439132445e-5,5.355535566628204e-8,0.0030377579336559293,-3.068595891553895e-5,5.347403607373892e-8,0.0030379177300265737,-3.0709070813912385e-5,5.350663829087113e-8,0.00303807966723912,-3.0823076928323533e-5,5.367713979638666e-8,0.0030382864205653216,-3.102708512509555e-5,5.3983480616954495e-8,0.003038580787609243,-3.1297162733261364e-5,5.438876948576837e-8,0.0030389926926067358,-3.158502205672186e-5,5.481947606929273e-8,0.003039524072818,-3.1826340398447944e-5,5.517809779127173e-8,0.0030401396754807146,-3.196074975273588e-5,5.5373393880473416e-8,0.0030407732402690456,-3.1956872342941396e-5,5.5358273365942866e-8,0.0030413506216760183,-3.1827784431995975e-5,5.515324561172027e-8,0.0030418182463314066,-3.1625541651179424e-5,5.4838080988230775e-8,0.003042160215499455,-3.141800758364335e-5,5.4516451859117366e-8,0.003042396527409552,-3.126315753054347e-5,5.4276642795710085e-8,0.003042568426483442,-3.119410063882663e-5,5.416865946881467e-8,0.0030427219468042673,-3.121729790939866e-5,5.4201628447496637e-8,0.0030428965072263536,-3.131876817788899e-5,5.435349924198628e-8,0.0030431195875498325,-3.1472417249374476e-5,5.4583966139684054e-8,0.003043405671120528,-3.164719823662061e-5,5.48454888443154e-8,0.003043757278206,-3.181220441401584e-5,5.509103044165085e-8,0.0030441666670632966,-3.194016210578213e-5,5.527928024881129e-8,0.0030446177728978936,-3.2010055857858906e-5,5.537854846801234e-8,0.0030450884814295937,-3.200922767702134e-5,5.5369895852801475e-8,0.003045553386619406,-3.193493319092446e-5,5.524947681257876e-8,0.003045987115545042,-3.179510076572901e-5,5.502968803317016e-8,0.0030463680745412454,-3.1607871380829794e-5,5.473845618856727e-8,0.0030466821164058687,-3.139963516825679e-5,5.441621391559135e-8,0.0030469255028017037,-3.120163298944072e-5,5.4110664553357935e-8,0.003047106649642553,-3.1045429760949075e-5,5.3869815322197836e-8,0.003047246264489913,-3.0957724333207185e-5,5.373401644060654e-8,0.0030473756148905722,-3.0955076276420677e-5,5.372793333790556e-8,0.0030475327337165107,-3.10391075449408e-5,5.385333611732599e-8,0.0030477562593878016,-3.119291882112134e-5,5.408383161903094e-8,0.0030480767420623433,-3.138019112187306e-5,5.436371344206401e-8,0.003048506271394186,-3.154923496407961e-5,5.461427067933738e-8,0.003049029398017934,-3.164403612417949e-5,5.4750595244403097E-08,0.003049600741217892,-3.162181473782961e-5,5.470817249590223e-8,0.0030501546590933596,-3.147129459702184e-5,5.447053534930495e-8,0.0030506267199089275,-3.122124129326912e-5,5.408216609011085e-8,0.003050977543809847,-3.0931489493301834e-5,5.363475132421305e-8,0.0030512056349143645,-3.066970206362606e-5,5.323164358366911e-8,0.0030513427951945633,-3.048709541508865e-5,5.2950735410073135e-8,0.0030514375272195533,-3.0405493613713788e-5,5.2824725934812176e-8,0.0030515374213706445,-3.0418359774685625e-5,5.284287745599565e-8,0.003051677995809869,-3.050014466075965e-5,5.296553808075435e-8,0.0030518790092155215,-3.061696562449272e-5,5.314062781446654e-8,0.003052145625853913,-3.073469977610028e-5,5.3316031028704927e-8,0.0030524714707749288,-3.082377392153637e-5,5.344682144560079e-8,0.0030528417493476028,-3.086160174564249e-5,5.34988474804598e-8,0.0030532358836312897,-3.0833881042707114e-5,5.345060667689741e-8,0.003053629879526026,-3.0735485986035706e-5,5.3294565854492434e-8,0.0030539988364117142,-3.0571146292916206e-5,5.30382059792326e-8,0.0030543199507090837,-3.0355674406952507e-5,5.270438907050841e-8,0.0030545760956502454,-3.0113150877368533e-5,5.233010961195881e-8,0.00305475954547292,-2.9874438142143042e-5,5.1962653663563995e-8,0.003054874940487383,-2.967277780668974e-5,5.165280031939516e-8,0.0030549404324154324,-2.9537825570307475e-5,5.144563962738253e-8,0.0030549861390338404,-2.9489134143288323e-5,5.137059250576423e-8,0.0030550495976808005,-2.953061394193003e-5,5.143300630399881e-8,0.003055168710759939,-2.9647526534915528e-5,5.160970828560753e-8,0.0030553733364540553,-2.9807121158297693e-5,5.1850176986509324e-8,0.0030556770688369554,-2.9963521348213533e-5,5.208418350889287e-8,0.0030560711382057876,-3.0066914121891328e-5,5.223590149011024e-8,0.003056522783852153,-3.007606385331831e-5,5.224295582005858e-8,0.0030569803906741184,-2.9971466768568165e-5,5.207634125974998e-8,0.0030573862107332603,-2.9764480348069197e-5,5.1754164969916074e-8,0.0030576939719519337,-2.9497043921062268e-5,5.134105271121149e-8,0.0030578844960596806,-2.9229485363525857e-5,5.092940536552576e-8,0.0030579714726823846,-2.9020378842860718e-5,5.060856308901679e-8,0.00305799430929109,-2.890783769790072e-5,5.0436246780448754e-8,0.0030580024833647516,-2.8900743931462217e-5,5.042530128741445e-8,0.0030580398139917744,-2.8981793723107103e-5,5.0548579370877406e-8,0.0030581349144192635,-2.9117796452997896e-5,5.075489270553819e-8,0.0030582989710085853,-2.927092112731661e-5,5.0986296117823764e-8,0.00305852838098303,-2.9406906130383003e-5,5.1190589621726315e-8,0.00305880913029923,-2.9499417804318987e-5,5.132784410791377e-8,0.0030591209014314944,-2.9531615236497716e-5,5.1372652866946216e-8,0.003059440241717404,-2.949633831159525e-5,5.131434068941656e-8,0.00305974298908132,-2.9395907947313022e-5,5.1156659354477445e-8,0.0030600065090859636,-2.9241933794825013e-5,5.091753916282965e-8,0.00306021229511157,-2.9054948323373344e-5,5.062856693783168e-8,0.003060349177847135,-2.8863199511689882e-5,5.033312632870034e-8,0.003060416814008068,-2.8699745555567035e-5,5.008188395273282e-8,0.0030604284223485962,-2.8597283966096064e-5,4.992478512143156e-8,0.0030604111977471983,-2.858098323762389e-5,4.990002248696701e-8,0.0030604029204521956,-2.8660871126497475e-5,5.002240613766968e-8,0.0030604443802250266,-2.8826475438747818e-5,5.027527520898142e-8,0.0030605691021830185,-2.9046441406551585e-5,5.061009175503469e-8,0.00306079346737266,-2.927436144349517e-5,5.0955543464884993e-8,0.0030611106463299936,-2.945974872572592e-5,5.123445153963956e-8,0.003061490627398194,-2.9561147187201426e-5,5.1383839021491824e-8,0.0030618866932196325,-2.9557585511589545e-5,5.137235223398255e-8,0.0030622468460100747,-2.9455021239405097e-5,5.1209933881528055e-8,0.0030625273270125427,-2.9285654512983767e-5,5.0946554534423536e-8,0.0030627045011972953,-2.909970499319971e-5,5.065943900038011e-8,0.003062781223049597,-2.8951506243513924e-5,5.043168206571564e-8,0.0030627851170516554,-2.8884214842026012e-5,5.032886811317642e-8,0.003062759221135395,-2.8918582214671775e-5,5.038203695084455e-8,0.0030627487734678108,-2.9049687038960627e-5,5.0582911500186546e-8,0.0030627893702877065,-2.9251814457828465e-5,5.0891584468485985e-8,0.0030629003148716434,-2.9488179827505706e-5,5.1251525998749074e-8,0.0030630839037973016,-2.972103318011528e-5,5.160504457192073e-8,0.0030633288315558426,-2.9918997653759335e-5,5.190441062046527e-8,0.003063615124797014,-3.0060785653816723e-5,5.211739828811116e-8,0.003063918729338474,-3.013609360645597e-5,5.222854366679751e-8,0.003064214995878956,-3.014497667576545e-5,5.223815136496016e-8,0.0030644811540353513,-3.0096760320048008e-5,5.2160662139867385e-8,0.003064698316991432,-3.0009023509637796e-5,5.202315302953461e-8,0.0030648536429064674,-2.990656924730143e-5,5.186378488235481e-8,0.0030649429933266646,-2.9819741475536308e-5,5.1729180727117875e-8,0.0030649738454125133,-2.9781167475517766e-5,5.166933721709507e-8,0.0030649674206902153,-2.98201748061254e-5,5.172897531156119e-8,0.0030649581828044383,-2.9955006804012056e-5,5.19355879701887e-8,0.0030649887015580467,-3.0184701153387606e-5,5.2287079973691934e-8,0.0030650993228122743,-3.048438554024296e-5,5.274472973817438e-8,0.0030653151426291397,-3.080799959377198e-5,5.3237545317571995e-8,0.0030656356436287177,-3.109971429626911e-5,5.36798936350581e-8,0.003066032397083313,-3.131062399609393e-5,5.3997123564829124e-8,0.0030664566457068772,-3.141392264624986e-5,5.414878191396371e-8,0.003066853673243906,-3.141241782904111e-5,5.414000445922996e-8,0.003067178107954643,-3.1336255718859404e-5,5.401782535141934e-8,0.003067405017322031,-3.123297452844401e-5,5.385569119674471e-8,0.0030675342967685115,-3.115406523908855e-5,5.3732673458228506e-8,0.0030675883450696387,-3.1142126616185284e-5,5.3713731593782084e-8,0.003067604598905477,-3.122165258980363e-5,5.3835712946092174e-8,0.0030676253853558076,-3.139518885501176e-5,5.41016984091395e-8,0.0030676878955794595,-3.164514859820826e-5,5.448403678006608e-8,0.0030678167760080873,-3.1940102956282886e-5,5.4934156079083943e-8,0.00306802082106185,-3.22432379520567e-5,5.539556794925043e-8,0.0030682938008947383,-3.252038055262967e-5,5.581610023286302e-8,0.003068618188348601,-3.2745712319185725e-5,5.6156527333722295e-8,0.0030689700372110436,-3.290455445210272e-5,5.63947158589191e-8,0.0030693235621584002,-3.299368835276426e-5,5.652604281911584e-8,0.0030696546829265168,-3.302018003318915e-5,5.656158441311524e-8,0.003069943501781531,-3.299964329710182e-5,5.652548727111865e-8,0.0030701761356594238,-3.295448884467991e-5,5.6452316329964884e-8,0.0030703464351241215,-3.2912168983386934e-5,5.6384348797087725e-8,0.0030704579205523843,-3.290292724600728e-5,5.6368046064395786e-8,0.0030705257705411666,-3.2956240209135014e-5,5.6448491101539555e-8,0.003070577902929506,-3.3095212754677564e-5,5.666072725949836e-8,0.003070653303256023,-3.332901887976236e-5,5.7018206275630994e-8,0.0030707954675129484,-3.3645317050531466e-5,5.750131258839977e-8,0.003071040281409215,-3.4006866132882734e-5,5.805237688321617e-8,0.003071401442066699,-3.435724590922433e-5,5.858460257890024e-8,0.003071860664240823,-3.463707718078335e-5,5.900700173455468e-8,0.003072369948294953,-3.4805077484133635e-5,5.9256687131385314e-8,0.0030728668933984586,-3.4853323968064e-5,5.932224867940723e-8,0.00307329574470014,-3.4808729472292477e-5,5.9245906426521214e-8,0.0030736238628414326,-3.472127382584356e-5,5.910521892617646e-8,0.0030738476136962186,-3.4646440956723325e-5,5.898583976281836e-8,0.0030739883560582247,-3.462984017376718e-5,5.895772090868357e-8,0.0030740829181741033,-3.46981445897087e-5,5.906122528438606e-8,0.0030741729261370603,-3.485661305223858e-5,5.930354340403719e-8,0.0030742957031104122,-3.509154811261891e-5,5.966276668283171e-8,0.0030744779277463736,-3.537572740023708e-5,6.00964697542749e-8,0.0030747323559975367,-3.5675189893930766e-5,6.055223916889516e-8,0.003075057487670119,-3.5956061174078274e-5,6.097812908001633e-8,0.0030754397046584866,-3.619027550379833e-5,6.133134047523962e-8,0.0030758570531433604,-3.6359408441814945e-5,6.158398173260262e-8,0.0030762836935755364,-3.645637499575067e-5,6.17255797130405e-8,0.0030766941332692503,-3.6485215974385064e-5,6.176270393282051e-8,0.00307706662715048,-3.645952970605651e-5,6.17165520944473e-8,0.0030773855806581914,-3.64002479832436e-5,6.161954383422073e-8,0.0030776432027652626,-3.63332416409525e-5,6.151163570192726e-8,0.003077840759611733,-3.628682113866609e-5,6.143643256726638e-8,0.003077989627912044,-3.628885788142236e-5,6.143667890109774e-8,0.0030781120193623807,-3.6363006241524466e-5,6.154837667649236e-8,0.0030782405956229293,-3.652349964920907e-5,6.179278977302228e-8,0.0030784153961581056,-3.6768720995789186e-5,6.216668724687254e-8,0.003078676287039924,-3.707542807113103e-5,6.263368664319519e-8,0.0030790504999446576,-3.739763323181358e-5,6.312273725650803e-8,0.0030795385416962856,-3.767491089624212e-5,6.354097060212617e-8,0.0030801063485889927,-3.7851372011602716E-05,6.380282181650783e-8,0.003080691860843348,-3.789839797156401e-5,6.3864909335135015E-08,0.0030812263089583505,-3.782804205247127e-5,6.374660437345014e-8,0.0030816595018051856,-3.768799022595951e-5,6.352218567186832e-8,0.003081975175275685,-3.754141745986299e-5,6.328960513196501e-8,0.0030821904003572086,-3.7444257862379394e-5,6.313520651894206e-8,0.003082343638281676,-3.743069219176931e-5,6.311124043335557e-8,0.0030824800552818033,-3.7509564541134194e-5,6.323047245576145e-8,0.0030826400072475326,-3.7668452785068254e-5,6.347276711043042e-8,0.003082852413765722,-3.788093848520992e-5,6.379661295313797e-8,0.003083132266538477,-3.811403698482697e-5,6.415076333549884e-8,0.0030834808667202927,-3.833449478651092e-5,6.448396137955909e-8,0.0030838877341181153,-3.8513714836371074e-5,6.475242681002939e-8,0.0030843336004778847,-3.8631288755844996e-5,6.49251538042667e-8,0.003084794042322366,-3.867707285475078e-5,6.49869875714132e-8,0.0030852433321181686,-3.865183435490819e-5,6.49395475346079e-8,0.0030856581339217173,-3.856655888053119e-5,6.48001336398034e-8,0.0030860206460516367,-3.844058492853828e-5,6.459884806542256e-8,0.0030863208771382037,-3.8298947069799535e-5,6.437449277747022e-8,0.0030865580404335806,-3.816935596666206e-5,6.416988298112212e-8,0.0030867412223701774,-3.807898089265322e-5,6.402682842646071e-8,0.0030868893766480983,-3.8050984731237867e-5,6.398072676630348e-8,0.0030870304944824955,-3.810068561233592e-5,6.405462439468387e-8,0.003087199430753806,-3.823122572618231e-5,6.425261522376926e-8,0.0030874333446925814,-3.842914766591009e-5,6.455320872359164e-8,0.0030877636895722525,-3.866159342862816e-5,6.490525234810125e-8,0.0030882049718960573,-3.887836166676586e-5,6.523127311346362e-8,0.003088743561312213,-3.9022341755227606e-5,6.544356507347711e-8,0.003089333590640843,-3.904860755320145e-5,6.547348840413299e-8,0.0030899071036917716,-3.894510170953161e-5,6.530322358465656e-8,0.0030903979050176593,-3.8742004346281896e-5,6.498015271661827e-8,0.003090767228006569,-3.8501181533249536e-5,6.460049051721142e-8,0.0030910160608724553,-3.8290854101103754e-5,6.426997931057188e-8,0.0030911786470456865,-3.816087723268984e-5,6.406549047523721e-8,0.003091304636594572,-3.81308943961482e-5,6.401668515462453e-8,0.0030914415331645385,-3.819243835001492e-5,6.410948319588161e-8,0.003091624053373996,-3.831851468248846e-5,6.430123035197483e-8,0.0030918706623143453,-3.8474104361764894e-5,6.453722136219927e-8,0.0030921846709144477,-3.8624255014770126e-5,6.476330985906157e-8,0.0030925572633731823,-3.8739191826344275e-5,6.493373044917373e-8,0.0030929709124494467,-3.879722444333691e-5,6.501542077873879e-8,0.003093402731555433,-3.8786312162609277e-5,6.499027635350036e-8,0.0030938277663450082,-3.870467412242986e-5,6.485599547202599e-8,0.0030942222139669767,-3.856054410640383e-5,6.462566902485165e-8,0.003094566519648795,-3.8371053174280506e-5,6.432606100579885e-8,0.0030948481721392368,-3.816012347433993e-5,6.399436069664364e-8,0.003095063804553022,-3.795541247827492e-5,6.36734419165358e-8,0.003095220250846101,-3.778464042825393e-5,6.34061366452044e-8,0.003095334440344874,-3.76716671513097e-5,6.322910755980504e-8,0.00309543208101415,-3.76325912073004e-5,6.316677889485286e-8,0.0030955450293822886,-3.767217508425234e-5,6.32258396731875e-8,0.003095707183071852,-3.778095740397159e-5,6.339090801722296e-8,0.00309594862334514,-3.793365750566644e-5,6.36222778804018e-8,0.003096287931628474,-3.80901905074783e-5,6.385770713701393e-8,0.0030967236941520254,-3.8201303672671125e-5,6.402124536059043e-8,0.003097228280907147,-3.822036947682624e-5,6.404140759803494e-8,0.0030977490184312755,-3.8120022723220564e-5,6.387670810024808e-8,0.0030982210755350135,-3.7907147081520453e-5,6.353864073301886e-8,0.0030985900761617553,-3.762610731223205e-5,6.309655120907573e-8,0.0030988336384995293,-3.734434007536094e-5,6.265523738702239e-8,0.003098968816215725,-3.7126254709522466e-5,6.231441792645098e-8,0.003099041425769494,-3.7010331236075636e-5,6.213318613669418e-8,0.0030991055833493103,-3.7000963291756114e-5,6.211747094970239e-8,0.0030992057850765756,-3.707503307238412e-5,6.223050579274813e-8,0.0030993681475792695,-3.719515769679686e-5,6.241367766141261e-8,0.0030996000182369945,-3.7321886461173106e-5,6.260562024590069e-8,0.0030998940056717068,-3.742152940130405e-5,6.275433238229519e-8,0.003100233021590866,-3.7469791909199243e-5,6.282264287237035e-8,0.0031005946146256498,-3.74527865541713e-5,6.278957087078115e-8,0.0031009543309571943,-3.7366892039579344e-5,6.264995951136436e-8,0.003101288498980592,-3.721816385706405e-5,6.241351573364313e-8,0.0031015767979117176,-3.702139137135275e-5,6.210337620395833e-8,0.0031018047687390517,-3.679862687950359e-5,6.175387343947005e-8,0.0031019661991720264,-3.657686241831285e-5,6.140695022313485e-8,0.0031020649564957345,-3.638462538015085e-5,6.110684934249384e-8,0.0031021156285978737,-3.624768225270253e-5,6.089338495755532e-8,0.003102142484188417,-3.6184428286903e-5,6.079473351831937e-8,0.0031021765631752685,-3.620172937410701e-5,6.082097958568538e-8,0.0031022510076930674,-3.629208197157182e-5,6.095979473559371e-8,0.0031023950750430954,-3.643289906673445e-5,6.117550104443778e-8,0.0031026275545373554,-3.658852828809345e-5,6.141241349154455e-8,0.0031029505897565103,-3.6715498961018746e-5,6.160314515690131e-8,0.0031033454561945222,-3.677128760644678e-5,6.168223979401771e-8,0.0031037725875075316,-3.672594194239396e-5,6.160407633853862e-8,0.0031041783170027994,-3.6573890333345214e-5,6.13609507617016e-8,0.0031045091130757767,-3.634081561194844e-5,6.099349544356457e-8,0.0031047297909969312,-3.607980110758601e-5,6.058452494813771e-8,0.0031048374201034855,-3.585494963702326e-5,6.023352619407363e-8,0.003104862516995215,-3.5718644691785436e-5,6.002135737673514e-8,0.003104856093193385,-3.569405931092349e-5,5.998319444364333e-8,0.0031048700872880267,-3.577137790618058e-5,6.010288490586609e-8,0.003104941604094109,-3.5916960865466545e-5,6.032745899023271e-8,0.00310508658575867,-3.608784938858073e-5,6.058987181278256e-8,0.003105301813939656,-3.6244129061960325e-5,6.082825896614451e-8,0.0031055709169320175,-3.6355939860998774e-5,6.099670423139435e-8,0.003105870647986892,-3.6405690275413666e-5,6.106846533436347e-8,0.0031061756914431407,-3.638750956805874e-5,6.103492926911871e-8,0.0031064618740461935,-3.630572623697611e-5,6.090315332297189e-8,0.0031067083897661323,-3.617327510332381e-5,6.069340518034317e-8,0.0031068996748370463,-3.6010179052804656e-5,6.043687697777326e-8,0.0031070273067826453,-3.5841809895788134e-5,6.017304374810048e-8,0.003107091924907097,-3.569640763286369e-5,5.994580924865879e-8,0.003107104690948129,-3.5601421586642455e-5,5.979775912534584e-8,0.0031070874280543044,-3.557871974140187e-5,5.976263364692894e-8,0.0031070705639987084,-3.563939705212548e-5,5.985721638430891e-8,0.00310708845076731,-3.577953751271076e-5,6.007479140748683e-8,0.0031071724854550274,-3.597857902840596e-5,6.0382741421625e-8,0.003107343449944664,-3.620155104969642e-5,6.072622362437715e-8,0.0031076051132779385,-3.640540195274204e-5,6.10381901744192e-8,0.0031079410880545904,-3.6548419234103456e-5,6.125412657583635e-8,0.0031083163328670636,-3.6600797795219e-5,6.132843658673388e-8,0.003108683776045806,-3.655377779638129e-5,6.12484672972554e-8,0.0031089953478281146,-3.642449473760269e-5,6.104178540723422e-8,0.0031092151923365167,-3.6254006005909544e-5,6.077284786520125e-8,0.003109331132111241,-3.6097367552710236e-5,6.052739707346827e-8,0.00310935954808475,-3.6007610042852635e-5,6.038750927329051e-8,0.0031093404361101393,-3.601917120844064e-5,6.04059490162074e-8,0.0031093239113226005,-3.6137917913298556e-5,6.059089030936383e-8,0.003109354124427072,-3.6341991680345246e-5,6.090751315544337e-8,0.0031094576079410963,-3.6591899919457295e-5,6.12939239128099e-8,0.003109639723574992,-3.684400498898479e-5,6.168222747975021e-8,0.003109888172433052,-3.706155993675539e-5,6.201562972733295e-8,0.003110179865335902,-3.7220522609188814e-5,6.225730522644977e-8,0.0031104876813696455,-3.731061864999249e-5,6.239184703464731e-8,0.00311078539719096,-3.733367074941028e-5,6.242252235980394e-8,0.0031110506840359895,-3.730106234421321e-5,6.236728729470829e-8,0.003111266829818254,-3.723134017143124e-5,6.225510727514509e-8,0.0031114239398752712,-3.7148181411718e-5,6.212287206499815e-8,0.0031115201531575613,-3.7078419428024274e-5,6.201236188919679e-8,0.003111562975299694,-3.7049500972479054e-5,6.196625586571644e-8,0.003111570240611829,-3.7085775629295866e-5,6.20222732746493e-8,0.0031115696907623807,-3.720350361712773e-5,6.220533256957703e-8,0.003111595961660061,-3.740535774526301e-5,6.251900193071125e-8,0.0031116842348012787,-3.7676298720104116e-5,6.293919212979045e-8,0.0031118612256879658,-3.798340020650173e-5,6.341407163920447e-8,0.003112136139777003,-3.828150901245256e-5,6.387306782824209e-8,0.003112495379209596,-3.852427301854293e-5,6.424415997620797e-8,0.003112903926884855,-3.867726198381603e-5,6.447432367142958e-8,0.0031133136874417224,-3.872848224078679e-5,6.454579824951314e-8,0.0031136761793375063,-3.8692456923064396E-05,6.448222652228261e-8,0.0031139554371912236,-3.860656882561176e-5,6.434267804320025e-8,0.0031141372703484766,-3.8521032659985596e-5,6.420576709598722e-8,0.0031142324513703736,-3.848555621137015e-5,6.414873497201981e-8,0.003114273122112332,-3.85363882869955e-5,6.422732768153216e-8,0.0031143034616922818,-3.868736365238427e-5,6.446208120483557e-8,0.0031143674207793413,-3.892758353008189e-5,6.483503018920008e-8,0.003114497459059395,-3.9226240381586666e-5,6.529750515880651e-8,0.0031147078121036174,-3.954245370409532e-5,6.578559894383833e-8,0.00311499378960663,-3.983627974908429e-5,6.623730004445356e-8,0.0031153360888836355,-4.007726426013293e-5,6.660567612073376e-8,0.0031157075151952004,-4.024868825724295e-5,6.686529743458914e-8,0.00311607947574405,-4.034776414925683e-5,6.701237492469503e-8,0.0031164267230209515,-4.038331710088937e-5,6.706105409678788e-8,0.0031167301083817336,-4.037260325837689e-5,6.703845169512361e-8,0.003116977890976981,-4.033831580823609e-5,6.698004129434217e-8,0.0031171663505323325,-4.030610095786534e-5,6.692583316158584e-8,0.0031173002857739405,-4.030233658179883e-5,6.691691302618574e-8,0.0031173935830516013,-4.035158745219613e-5,6.699141672014888e-8,0.003117469472534857,-4.047311163717984e-5,6.71790093138832e-8,0.0031175594775110223,-4.067616621474953e-5,6.749354678239481e-8,0.0031176996760878236,-4.095478103045957e-5,6.792501578391407e-8,0.003117923245200117,-4.1284097202451735e-5,6.843400804444655e-8,0.003118249965451604,-4.162156390749211e-5,6.895378532468487e-8,0.0031186762577232225,-4.1915651713568604e-5,6.940399276282996e-8,0.0031191714040973333,-4.212116830683181e-5,6.971456663709166e-8,0.0031196840741649716,-4.2215346438736336e-5,6.985077033810668e-8,0.003120157847027817,-4.220674667049533e-5,6.98269624957057e-8,0.0031205489414833265,-4.2132362620646234e-5,6.97018734876997e-8,0.0031208383916512266,-4.20448327662397e-5,6.955836204462521e-8,0.003121034785095203,-4.199616018547974e-5,6.947774286240719e-8,0.003121168632125931,-4.202421267565137e-5,6.951862361251391e-8,0.0031212820770698153,-4.214528318978495e-5,6.970544612819716e-8,0.0031214177248149594,-4.235306877230772e-5,7.002722768273191e-8,0.0031216092731973467,-4.2622792035729374e-5,7.044435725304227e-8,0.0031218754919343627,-4.2918580516760454e-5,7.090035608149642e-8,0.0031222181803268524,-4.320209457310386e-5,7.133539946884241e-8,0.003122623947005099,-4.344044848734895e-5,7.169857291254788e-8,0.00312306884485219,-4.361179467816571e-5,7.195639886437939e-8,0.003123524289638139,-4.370774340490241e-5,7.209642624241596e-8,0.0031239626656890764,-4.373282262997294e-5,7.21262580887302e-8,0.0031243615440335547,-4.3701909396077086e-5,7.206948965492392e-8,0.0031247061538028763,-4.3636780471882876e-5,7.196033443639855e-8,0.0031249903765416783,-4.356272900897019e-5,7.183837800351165e-8,0.0031252168682957006,-4.3505688790359626e-5,7.174410685588453e-8,0.0031253968441908885,-4.348975073626395e-5,7.17150048965672e-8,0.0031255497310814042,-4.35346390742139e-5,7.178155313739291e-8,0.00312570246406995,-4.3652662272077505e-5,7.196242839516862e-8,0.0031258876523310264,-4.384487979547073e-5,7.225856364534224e-8,0.003126139361453899,-4.409699636109416e-5,7.26468964950289e-8,0.003126485461480311,-4.437689592985936e-5,7.307674195249288e-8,0.003126937079372063,-4.4637120813428204e-5,7.347383911846252e-8,0.003127478854765807,-4.482535361453673e-5,7.375675854161458e-8,0.0031280666690904416,-4.490213927602775e-5,7.386449999496449e-8,0.0031286382404406153,-4.4858518891369295e-5,7.37839353542856e-8,0.0031291344460409416,-4.472272685316552e-5,7.356017852034121e-8,0.0031295207052957296,-4.455029894921475e-5,7.328095575302624e-8,0.0031297969026368396,-4.440289276125083e-5,7.304320913549977e-8,0.0031299925059136854,-4.4327735522592144e-5,7.292069128837017e-8,0.0031301525953489643,-4.4346566926362245e-5,7.294663172919162e-8,0.003130323040755186,-4.44552245163689e-5,7.311334170083266e-8,0.0031305398839340287,-4.463002091424208e-5,7.338260528006618e-8,0.00313082404631057,-4.483652215332876e-5,7.369977824422968e-8,0.0031311803606072124,-4.503787355813529e-5,7.400698484506922e-8,0.0031315994383132096,-4.5201450522542784e-5,7.425347439859536e-8,0.0031320612381614877,-4.530356848674249e-5,7.440279963037097e-8,0.0031325396046175753,-4.533218545978504e-5,7.443682235158883e-8,0.003133007088926917,-4.528754210138793e-5,7.435654510846008e-8,0.003133439334571156,-4.51809403698077e-5,7.41801159799911e-8,0.003133818472273233,-4.503213230381495e-5,7.393873233871031e-8,0.003134135205289634,-4.486591093923118e-5,7.367133504974223e-8,0.0031343895555660316,-4.470855447784281e-5,7.34190699593144e-8,0.003134590575431148,-4.4584622562577654e-5,7.322027017012072e-8,0.0031347554245567386,-4.451420562905288e-5,7.310611312884732e-8,0.0031349080100163845,-4.451044644791041e-5,7.309669605942408e-8,0.0031350771198854635,-4.457710742852157e-5,7.319723119373661e-8,0.0031352936217133444,-4.47060605212665e-5,7.339422020383135e-8,0.0031355858958112227,-4.487510826442938e-5,7.365224958348347e-8,0.003135972822388433,-4.5047645339306655e-5,7.391369496033267e-8,0.0031364549294214225,-4.517674188187485e-5,7.410524949995039e-8,0.003137006880828943,-4.521608014150156e-5,7.415499865583744e-8,0.0031375773084138556,-4.513707215275879e-5,7.401903658596108e-8,0.003138101428611319,-4.494515854131807e-5,7.370680978793502e-8,0.0031385245037932065,-4.468383466731007e-5,7.328731665396651e-8,0.0031388241332245405,-4.441996388809048e-5,7.286597138629206e-8,0.003139017499846824,-4.421722026618582e-5,7.254276438257211e-8,0.003139150157383647,-4.411342074013215e-5,7.237653893372397e-8,0.0031392756212672386,-4.411288523762928e-5,7.237306272266767e-8,0.003139437968769991,-4.4192948719133804e-5,7.249557334607343e-8,0.0031396632755686426,-4.431658177299298e-5,7.268500837724008e-8,0.0031399588406845693,-4.444412071309936e-5,7.287870894461722e-8,0.0031403166737552367,-4.454122642373622e-5,7.302295817715162e-8,0.0031407183126958165,-4.4583109623867075e-5,7.307944575839242e-8,0.0031411394477191415,-4.4556196731207386e-5,7.302762227868937e-8,0.0031415539994911366,-4.445830099035177e-5,7.28647417048713e-8,0.003141937728993228,-4.429775179132686e-5,7.260437295376374e-8,0.0031422713373744243,-4.4091609934731785e-5,7.227358181570472e-8,0.0031425429027575314,-4.386309308749254e-5,7.190893225978437e-8,0.0031427494576673834,-4.363836426557965e-5,7.155149576181157e-8,0.0031428974772572276,-4.3442976873453624e-5,7.124128957024562e-8,0.003143002214192302,-4.329843267004607e-5,7.101185038058907e-8,0.003143086052266109,-4.321920239699395e-5,7.088551186228275e-8,0.0031431760678829164,-4.3210361139567735e-5,7.086966698763124e-8,0.0031433008971223707,-4.3265945431617366e-5,7.09542336198036e-8,0.003143486895319873,-4.336813785078726e-5,7.111052058211447e-8,0.0031437533847702066,-4.348759147027911e-5,7.12919612296051e-8,0.0031441069213620117,-4.358585463469756e-5,7.143813366953108e-8,0.003144535476545944,-4.362139298757207e-5,7.148429942205696e-8,0.003145005091611609,-4.3560203673701036e-5,7.137795505629189e-8,0.003145463126681861,-4.3389675112285365e-5,7.11003324650128e-8,0.003145851574927433,-4.3129979926205826e-5,7.068402441148508e-8,0.0031461283507413433,-4.2833959953962696e-5,7.021264040871186e-8,0.003146286100171612,-4.257032356693477e-5,6.979432110562806e-8,0.0031463558591178996,-4.239669820392884e-5,6.951932082306872e-8,0.003146392327049763,-4.233819904869464e-5,6.942631862677053e-8,0.0031464507043553205,-4.2383168839997224e-5,6.94958958380317e-8,0.0031465688651928546,-4.249459392815535e-5,6.966883115670779e-8,0.0031467612849682977,-4.262689345829094e-5,6.987285185595196e-8,0.0031470222789782287,-4.273918499304871e-5,7.004366315740973e-8,0.0031473330289561153,-4.2802158807808166e-5,7.013567759431403e-8,0.003147668417268007,-4.279983806022786e-5,7.01245308551207e-8,0.0031480021049310764,-4.272860133319068e-5,7.000526722286279e-8,0.0031483099313495784,-4.259528124034335e-5,6.978916831189976e-8,0.0031485723125253334,-4.241509647530167e-5,6.950045735299453e-8,0.0031487761173877083,-4.2209454417396814e-5,6.917289890407978e-8,0.0031489161538580373,-4.2003459881328945e-5,6.884596295593158e-8,0.003148996162170557,-4.1822953882087386e-5,6.856021556609623e-8,0.003149028978654053,-4.169106752864223e-5,6.835188836388549e-8,0.003149035482429731,-4.162464544196019e-5,6.824720046102467e-8,0.003149042199251593,-4.163112014627014e-5,6.825739085675065e-8,0.00314907771956232,-4.170639233813112e-5,6.837538674971382e-8,0.0031491682653819867,-4.18342132313785e-5,6.857492364962827e-8,0.0031493329122884942,-4.198742613049102e-5,6.881267918772647e-8,0.003149579039836493,-4.213120402571019e-5,6.903358555963276e-8,0.0031498986271138838,-4.2228420130555436e-5,6.91794432100356e-8,0.0031502664228729867,-4.2247298350746497e-5,6.920097199180307e-8,0.003150641701734798,-4.217078712182122e-5,6.907238815589541e-8,0.0031509754961388586,-4.200545381164349e-5,6.880509810771359e-8,0.0031512238608324395,-4.1785638196682574e-5,6.845392811745735e-8,0.0031513640821730364,-4.1567794289340616e-5,6.810802378555436e-8,0.003151406157010707,-4.141327484247085e-5,6.786370323995615e-8,0.0031513912510576945,-4.136560918026271e-5,6.778876311671728e-8,0.003151375804577231,-4.1434395174820625e-5,6.789730029476199e-8,0.0031514098642566202,-4.159482257943738e-5,6.81492342574456e-8,0.0031515215625475173,-4.18012216288661e-5,6.847194098192803e-8,0.0031517136174996478,-4.200494130433833e-5,6.878861599395965e-8,0.0031519692707481077,-4.216756787951769e-5,6.903911030241721e-8,0.003152261517243071,-4.2266490087485424e-5,6.918851693440988e-8,0.0031525610670786637,-4.229461685062819e-5,6.922644943555905e-8,0.0031528414655990046,-4.22573706176436e-5,6.9162068457332e-8,0.003153081775375267,-4.216923255662013e-5,6.901853417953314e-8,0.0031532678798198805,-4.205077312180638e-5,6.882835975902144e-8,0.0031533932546355388,-4.192616457967239e-5,6.862959482793142e-8,0.0031534595708972847,-4.1820803001536924e-5,6.84621653927876e-8,0.0031534770784778826,-4.175861379115542e-5,6.836364650161207e-8,0.0031534643622982412,-4.17588032667655e-5,6.836409543908077e-8,0.0031534468701465957,-4.183228856251606e-5,6.848035579602831e-8,0.003153453782052926,-4.197854007215975e-5,6.871105220452271e-8,0.003153513263736754,-4.218384148552481e-5,6.903390427614672e-8,0.0031536467429532566,-4.242196322172231e-5,6.940693592124387e-8,0.003153863430347162,-4.265783483101526e-5,6.977446531891138e-8,0.003154156585993926,-4.285397543340932e-5,7.007742427316526e-8,0.00315450279718283,-4.2978622186424466e-5,7.026625449926472e-8,0.0031548650041122103,-4.301400854080456e-5,7.031388230440871e-8,0.00315519943918034,-4.296289169347691e-5,7.022577473855363e-8,0.003155465859320983,-4.285109888117147e-5,7.00436294628589e-8,0.0031556391659936065,-4.272394847220358e-5,6.983943122484468e-8,0.0031557188612724523,-4.263555517927237e-5,6.969842457165365e-8,0.0031557317728420436,-4.263280101975123e-5,6.969387032889604e-8,0.0031557249027450757,-4.2739520543408744e-5,6.98623192302485e-8,0.0031557498994496218,-4.294833096833603e-5,7.019104128047928e-8,0.00315584589866597,-4.322452786249621e-5,7.062447804376743e-8,0.0031560287243041687,-4.3519737897634517e-5,7.108598411323216e-8,0.003156290210848438,-4.378791545601902e-5,7.150311106554863e-8,0.0031566054069980037,-4.3996660675542415e-5,7.182534984786604e-8,0.0031569423808284628,-4.4131253208340974e-5,7.203026754938302e-8,0.003157270337523358,-4.4192994871844845e-5,7.212064457656072e-8,0.003157564470837877,-4.419496903596624e-5,7.211761487890475e-8,0.003157808015852627,-4.415761251223253e-5,7.205364259861087e-8,0.0031579926823708912,-4.4105138784809375e-5,7.196695049477917e-8,0.0031581184957774153,-4.406285452731199e-5,7.189738913692536e-8,0.003158193599416625,-4.4054911516432865e-5,7.188294750699247e-8,0.003158234031798483,-4.4101897275740684e-5,7.195593087373301e-8,0.003158263018098467,-4.421788006294162e-5,7.213822712040806e-8,0.003158309054218505,-4.440704337455989e-5,7.243594276621938e-8,0.0031584021289597524,-4.466069514352587e-5,7.283470938809992e-8,0.0031585679463628875,-4.495603322513259e-5,7.329786169090022e-8,0.003158821045759386,-4.5258255933040026e-5,7.37699600181512e-8,0.003159158924190263,-4.5526890236963015e-5,7.418696615489833e-8,0.0031595597943583466,-4.572549126524957e-5,7.44916678688917e-8,0.003159985788919604,-4.5832004494916494e-5,7.465002833083531e-8,0.003160391467505701,-4.5846244908167024e-5,7.466284408960723e-8,0.003160735390904223,-4.5791651761595475e-5,7.456824370500927e-8,0.003160991329864051,-4.5710340506587154e-5,7.443354724124745e-8,0.0031611557652805296,-4.56525958579643e-5,7.433840211999739e-8,0.0031612493653574466,-4.566356507695597e-5,7.43536688058528e-8,0.0031613116320375638,-4.577082683019708e-5,7.452191859422641e-8,0.00316138983687732,-4.5976704493927694e-5,7.484561016922063e-8,0.0031615255351170207,-4.625816721714404e-5,7.52873081576349e-8,0.00316174330606514,-4.6574539940815696e-5,7.578215147025375e-8,0.0031620456464795553,-4.687999059605023e-5,7.625769376845123e-8,0.003162415165519021,-4.713588347181678e-5,7.665335200741533e-8,0.003162822036835446,-4.731880660958561e-5,7.693289460631574e-8,0.0031632329785881486,-4.7422738256966696e-5,7.708762391075058e-8,0.0031636185498555743,-4.7456548574135615e-5,7.713222429686289e-8,0.003163957394531511,-4.743930170684533e-5,7.709723112409955e-8,0.003164237749092535,-4.7395460395258866e-5,7.702145770310557e-8,0.0031644572629982944,-4.735103026805132e-5,7.694598016390119e-8,0.0031646221440750945,-4.733077694987257e-5,7.690981863864776e-8,0.003164746262745098,-4.735610332844896e-5,7.694660644621445e-8,0.003164850315648308,-4.744295341822404e-5,7.708123668442743e-8,0.003164960615211108,-4.7599282087552986e-5,7.732580598792541e-8,0.00316510674443353,-4.7822150507262595e-5,7.767502077308712e-8,0.0031653173075884386,-4.809522158373371e-5,7.810233831505504e-8,0.003165613500816317,-4.8388234367153477e-5,7.855932068502407e-8,0.003166001527547761,-4.8660505245747866e-5,7.898136490858256e-8,0.0031664667240323473,-4.886967395690606e-5,7.930165483686465e-8,0.0031669732473650035,-4.898427913808119e-5,7.947106008168446e-8,0.0031674717018881997,-4.899555012818512e-5,7.94766938590658e-8,0.0031679131839261526,-4.892263568963575e-5,7.934999749978144e-8,0.0031682643359964833,-4.8808002238974886e-5,7.91591853553536e-8,0.0031685171259444567,-4.8704610129976645e-5,7.898863798646383e-8,0.003168689888016564,-4.866027347872532e-5,7.891391738685978e-8,0.0031688203554882553,-4.870497925930795e-5,7.898168134647224e-8,0.0031689541483683986,-4.884458925824059e-5,7.919995944645049e-8,0.003169132666912061,-4.90615415154104e-5,7.953967154409288e-8,0.0031693835370994743,-4.932123743816433e-5,7.994513150365482e-8,0.0031697155633991425,-4.958174182690445e-5,8.034963065946353e-8,0.0031701188096189092,-4.9803993111668386e-5,8.069160780662406e-8,0.0031705690690595756,-4.995993501816825e-5,8.092735112553882e-8,0.0031710349046023332,-5.003685841512912e-5,8.103761860361142e-8,0.003171484997353245,-5.003758483585365e-5,8.10276899103105e-8,0.0031718939250299756,-4.997743721292307e-5,8.092241368604767e-8,0.0031722454763997874,-4.98796363572316e-5,8.075886678430627e-8]} \ No newline at end of file diff --git a/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_21.json b/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_21.json new file mode 100644 index 0000000..600fe28 --- /dev/null +++ b/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_21.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1.0,"startIndex":21000,"numberOfSamples":1000,"samples":[0.0031725336341924394,-4.9770637985046546e-5,8.057900832626396e-8,0.0031727619720193665,-4.967631255249218e-5,8.042370582661394e-8,0.0031729423213677447,-4.961918610821703e-5,8.032842301827844e-8,0.003173093301004051,-4.9616439750269165e-5,8.032005503717977e-8,0.0031732388512125246,-4.9678142521825614e-5,8.04140915834666e-8,0.003173406461172115,-4.980531114277095e-5,8.061152056197695e-8,0.003173624434517486,-4.998780080363393e-5,8.089554409980637e-8,0.0031739174410596086,-5.02027153676187e-5,8.122921958837977e-8,0.0031743000569504428,-5.0414905317985565e-5,8.155645946622467e-8,0.0031747693572844707,-5.058170552271261e-5,8.1809696462639e-8,0.003175299754099858,-5.066328166614758e-5,8.192630588543693e-8,0.003175844728509721,-5.06368615606572e-5,8.187106223913913e-8,0.003176348378152092,-5.0508762136083794e-5,8.16550486069026e-8,0.0031767639923363524,-5.0316402748498936e-5,8.133866443459827e-8,0.0031770709661550177,-5.011689791600365e-5,8.101329428919594e-8,0.0031772811274633317,-4.9967147620633346e-5,8.076944687326912e-8,0.003177432030673561,-4.9905479367471625e-5,8.066745206192551e-8,0.003177572270523811,-4.994259580574966e-5,8.072317955227706e-8,0.003177746439699948,-5.0063033684474547e-5,8.091070950808379e-8,0.0031779848344744835,-5.0233470557248106e-5,8.117598151931799e-8,0.0031782992076989803,-5.0413262606724425e-5,8.145387798184555e-8,0.003178683508504494,-5.056397454491497e-5,8.168346678500409e-8,0.0031791178624765563,-5.0656360805938936e-5,8.181895509495128e-8,0.003179574229733301,-5.067436252240991e-5,8.183576329438713e-8,0.003180022490647086,-5.0616168724939576e-5,8.173192449420742e-8,0.0031804358927458322,-5.049270511433461e-5,8.152548156884965e-8,0.0031807950553075313,-5.0324297904340744e-5,8.124910490024964e-8,0.0031810901697997096,-5.013646650496189e-5,8.094342997127281e-8,0.003181321456190578,-4.995570801310683e-5,8.065043893174666e-8,0.0031814982527144423,-4.9805917795511555e-5,8.040785329190629e-8,0.0031816373210504898,-4.970574993088201e-5,8.024497887522197e-8,0.0031817608717426495,-4.9666782981278536e-5,8.017978161620004e-8,0.0031818944706078238,-4.969213348437762e-5,8.021665586604609e-8,0.003182064656150664,-4.977526990474911e-5,8.034455083019423e-8,0.0031822958582123618,-4.9899054210053294e-5,8.053555151866265e-8,0.0031826060765792474,-5.00355420814562e-5,8.074475516704612e-8,0.0031830011463665404,-5.014786026254351e-5,8.091345990457809e-8,0.0031834686693217383,-5.0195995982255704e-5,8.097846711663703e-8,0.0031839746468371897,-5.01475748419181e-5,8.088913626890179e-8,0.0031844673261262986,-4.999173257679851e-5,8.062922765445895e-8,0.003184891172592454,-4.974957666882377e-5,8.023331134917238e-8,0.0031852075073160895,-4.9472597723993216e-5,7.978406694492346e-8,0.0031854111053174357,-4.922574084934537e-5,7.938518959159813e-8,0.0031855320833315435,-4.9062718900561163e-5,7.912193983519057e-8,0.003185621952271365,-4.9007423813544054e-5,7.903149987919705e-8,0.003185733140730741,-4.905026352546958e-5,7.909733195325303e-8,0.003185903073154297,-4.915750209942922e-5,7.926446313102022e-8,0.0031861477150601954,-4.9285511618747645e-5,7.946261622724468e-8,0.0031864630412842053,-4.9393086955828754e-5,7.962606325736776e-8,0.0031868305582437354,-4.944910682330027e-5,7.970578335261417e-8,0.0031872237417380285,-4.9435815064372105e-5,7.967442526435043e-8,0.003187613799646374,-4.934910556784959e-5,7.952642648280632e-8,0.0031879743406409483,-4.919701658863508e-5,7.927535204629794e-8,0.0031882849181979036,-4.899707191619981e-5,7.894954072044581e-8,0.0031885333705692622,-4.8772886247731465e-5,7.85867133852273e-8,0.0031887169235430774,-4.8550472591157195e-5,7.82281831475899e-8,0.0031888421191353347,-4.8354611885566905e-5,7.791317453714298e-8,0.0031889236591736768,-4.820561826479776e-5,7.767373204135999e-8,0.003188982392912168,-4.811685191685343e-5,7.753076281390647e-8,0.0031890428229633568,-4.80931088914721e-5,7.749144001256398e-8,0.003189130371339149,-4.8129751866914776e-5,7.754779717892457e-8,0.0031892684093893045,-4.821248076042052e-5,7.767640704932689e-8,0.003189474936144377,-4.8317827589117846e-5,7.78393091488724e-8,0.003189758740824415,-4.841472688601514e-5,7.798671830001753e-8,0.0031901151496382964,-4.846801130205281e-5,7.806277470675716e-8,0.0031905224205677797,-4.844497532884705e-5,7.801604196463123e-8,0.003190941284990858,-4.8325353983456495e-5,7.781525298490396e-8,0.0031913210506145494,-4.811258839800113e-5,7.746697340533311e-8,0.0031916141519961177,-4.784055752540146e-5,7.702604990677442e-8,0.003191795418319783,-4.7568255887754585e-5,7.658695371946121e-8,0.0031918755740832448,-4.73600221174305e-5,7.625217949764229e-8,0.003191898603829455,-4.725988960279658e-5,7.609132297246147e-8,0.0031919229650166662,-4.7275184045738147e-5,7.611500607230232e-8,0.003191998333085281,-4.737827479416436e-5,7.62779363395227e-8,0.0031921508881996145,-4.752216804202383e-5,7.65041794434679e-8,0.003192381393929433,-4.765854984268982e-5,7.671628736820805e-8,0.0031926718219546014,-4.7750056416319196e-5,7.685497758163076e-8,0.003192994371773742,-4.7775167613736925e-5,7.688676322707986e-8,0.0031933191121518447,-4.7727892633397725e-5,7.680310882032987e-8,0.0031936191057208192,-4.761498877639121e-5,7.661565929511285e-8,0.0031938734231599622,-4.74525826505499e-5,7.635065824624502e-8,0.0031940688710230926,-4.7262880918771545e-5,7.60436847923047e-8,0.0031942008964133926,-4.707097737875328e-5,7.573466367930087e-8,0.0031942737606263116,-4.6901719035824056e-5,7.546299629687368e-8,0.003194299972841271,-4.6776661718682426e-5,7.526278957837741e-8,0.003194298887206334,-4.6711226468842323e-5,7.51583342891208e-8,0.003194294386829285,-4.671240074914931e-5,7.516039741374076e-8,0.0031943118407074603,-4.6777394668392805e-5,7.526403312546946e-8,0.0031943746893159835,-4.6893437644436546e-5,7.544826377873212e-8,0.0031945009495270385,-4.7038759907479775e-5,7.567773903852656e-8,0.0031946998830175675,-4.7184820903478814e-5,7.590646855791671e-8,0.0031949691011137634,-4.729986237129749e-5,7.608369607755573e-8,0.0031952925157211496,-4.735397448743149e-5,7.616211706606225e-8,0.003195640046002511,-4.7325873413935426e-5,7.610866131565764e-8,0.0031959707011487326,-4.721084275969199e-5,7.591694218179518e-8,0.0031962407678702612,-4.7027544120006907e-5,7.561778712416466e-8,0.0031964172220154555,-4.68193172139658e-5,7.528100427078354e-8,0.003196492459990767,-4.664522204584982e-5,7.500092425591764e-8,0.003196492024360513,-4.6560407478603466e-5,7.486507180241458e-8,0.0031964677331033607,-4.6593856889802264e-5,7.491877034751068e-8,0.003196477403032644,-4.673659702635629e-5,7.514654134177191e-8,0.0031965625176653793,-4.694773588519694e-5,7.548204705047288e-8,0.0031967362693748544,-4.717322873987367e-5,7.583837429474331e-8,0.003196985533609338,-4.73651776342118e-5,7.613905990916508e-8,0.0031972812138878572,-4.74929888958597e-5,7.633588427653374e-8,0.003197589462630078,-4.7545490933105095e-5,7.64119965822908e-8,0.0031978796496195555,-4.752757942989125e-5,7.637620017022061e-8,0.00319812848863574,-4.745512493931714e-5,7.625453549820702e-8,0.00319832144886984,-4.73503257355979e-5,7.608275219379998e-8,0.003198452856742482,-4.723812082730018e-5,7.590064580016247e-8,0.0031985255501511783,-4.7143356527051194e-5,7.57476813144896e-8,0.0031985502819583764,-4.708825806567633e-5,7.565908112945316e-8,0.003198544736531598,-4.708995351933302e-5,7.566191375034777e-8,0.0031985318797554075,-4.7158036203798245e-5,7.577116598009077e-8,0.0031985373474858482,-4.729251335254058e-5,7.598640463765804e-8,0.003198585869566576,-4.7482775567525455e-5,7.629010685976644e-8,0.003198697155597323,-4.77081476564717e-5,7.664860219081877e-8,0.0031988819238857836,-4.794029858008897e-5,7.701607636820799e-8,0.003199138852327985,-4.8147471043280815e-5,7.734153154992998e-8,0.003199453210956632,-4.830010600773658e-5,7.757794512375888e-8,0.003199797758983186,-4.8377126251611665e-5,7.769236057072432e-8,0.0032001363178023106,-4.8371976704389703e-5,7.767540881795748e-8,0.0032004303140051693,-4.829716076321788e-5,7.754825940028813e-8,0.0032006480922657813,-4.818534649742223e-5,7.736402060215561e-8,0.0032007754503471137,-4.8084736666072045e-5,7.720004750070717e-8,0.0032008237523528764,-4.804734673697885e-5,7.713910918442968e-8,0.0032008304786310298,-4.811209016681051e-5,7.724247975155619e-8,0.0032008488052868407,-4.828932206014769e-5,7.75255161602495e-8,0.0032009288771208118,-4.8555592301733185e-5,7.794960329169746e-8,0.0032010998408043487,-4.886272668875077e-5,7.843695977208304e-8,0.003201361960637265,-4.915635461273817e-5,7.89004476629134e-8,0.0032016912406135044,-4.939361188750261e-5,7.927192014721211e-8,0.0032020513707647475,-4.955240233850549e-5,7.951689650027676e-8,0.003202405716929175,-4.963141986809062e-5,7.963431614369855e-8,0.003202725094131901,-4.964474472975755e-5,7.96475824883057e-8,0.0032029909049170156,-4.961523348656123e-5,7.959378125967193e-8,0.0032031952157390927,-4.9569099471490336e-5,7.951497736532009e-8,0.003203339535741044,-4.9532218017991734e-5,7.945241230521701e-8,0.003203433394698867,-4.9527674213515084e-5,7.944273135170713e-8,0.003203493051170196,-4.9573859322178696e-5,7.951503476725994e-8,0.0032035401504446515,-4.968261143955701e-5,7.968790885396807e-8,0.003203599881864006,-4.9857248372708116e-5,7.996622623173358e-8,0.0032036981474841027,-5.009083623491609e-5,8.033833401588e-8,0.003203857560932273,-5.036549668524096e-5,8.077497791863144e-8,0.003204092697562571,-5.0653692877754714e-5,8.123148677107812e-8,0.003204405679190628,-5.092213317310819e-5,8.165420910353239e-8,0.0032047836194003913,-5.1138171334250516e-5,8.199093925766638e-8,0.0032051993388942314,-5.1277508026645685e-5,8.220333981594443e-8,0.0032056159214573134,-5.1331152612609345e-5,8.227803147217174e-8,0.003205994476325643,-5.130950962968257e-5,8.223291039616594e-8,0.0032063034747539243,-5.124205747668012e-5,8.211628608958799e-8,0.0032065274675029567,-5.117202959915313e-5,8.199800522314307e-8,0.0032066727907678195,-5.114661833837934e-5,8.195353656090792e-8,0.003206768020942503,-5.120449980278048e-5,8.204400434520673e-8,0.003206857735831905,-5.1363916576045276e-5,8.229736031489842e-8,0.0032069901253816147,-5.161569359479557e-5,8.269759795845019e-8,0.0032072020803685336,-5.192501441612641e-5,8.318797642795423e-8,0.0032075077397297554,-5.2242393867866604e-5,8.368882847285539e-8,0.0032078955532431,-5.251946367429561e-5,8.412289258504691e-8,0.0032083345384939406,-5.272262269658563e-5,8.443706503733802e-8,0.0032087857334492185,-5.2839458337762004e-5,8.461246000974382e-8,0.0032092132683576424,-5.287735806351859e-5,8.466190722367029e-8,0.003209591378752329,-5.285732676741347e-5,8.461980304623928e-8,0.0032099067777057117,-5.28068081968459e-5,8.45304822826286e-8,0.0032101578456377655,-5.275393921740916e-5,8.443903221733049e-8,0.0032103524731652163,-5.272386017376191e-5,8.438550073902889e-8,0.003210505786562472,-5.273660287213019e-5,8.440164096217491e-8,0.0032106382225371155,-5.280577247081059e-5,8.450886182259405e-8,0.0032107738321281018,-5.293736316606222e-5,8.471631689347386e-8,0.0032109383060951215,-5.312841217033488e-5,8.501870672494748e-8,0.0032111560978738906,-5.3365752533195204e-5,8.53942849508674e-8,0.0032114462795934918,-5.362571089155793e-5,8.580446840164302e-8,0.003211817437324192,-5.3875979778961625e-5,8.619700739786424e-8,0.003212262941595191,-5.408075100149098e-5,8.651439387397291e-8,0.0032127589082548043,-5.42090965214644e-5,8.670741201761251e-8,0.003213267160170133,-5.4244595572723914e-5,8.675057308886833e-8,0.0032137438024166646,-5.419248668805494e-5,8.665344939450431e-8,0.003214151231767454,-5.4080711291759844e-5,8.646208359285265e-8,0.0032144693035585834,-5.395352361443707e-5,8.624839037585663e-8,0.003214701461565474,-5.385958237500533e-5,8.609072790016972e-8,0.003214873783886847,-5.383864063516811e-5,8.605238679805011e-8,0.0032150276171485034,-5.391105610832501e-5,8.616487457733809e-8,0.003215208326315366,-5.4072889410851724e-5,8.642041535988369e-8,0.0032154533705997484,-5.429755486548332e-5,8.677506471248515e-8,0.0032157828754069747,-5.4543390211428154e-5,8.716123185097693e-8,0.0032161952720170784,-5.47649828140714e-5,8.750601063943785e-8,0.0032166691643119804,-5.492483570390711e-5,8.7749822276115e-8,0.003217170484883344,-5.500177601999277e-5,8.785966932376333e-8,0.0032176621369899984,-5.499386164298536e-5,8.783350388091249e-8,0.0032181127441866936,-5.491583634520034e-5,8.76958803060696e-8,0.003218502126948113,-5.479314994168618e-5,8.748819344576886e-8,0.0032188229483265337,-5.465521433334049e-5,8.72578166749344e-8,0.0032190794757014783,-5.452988429357098e-5,8.704931644272088e-8,0.0032192849457666393,-5.443991014971355e-5,8.689888287838887e-8,0.003219458734952503,-5.440110974291796e-5,8.683149639470852e-8,0.003219623918717538,-5.442154904813298e-5,8.685964506488469e-8,0.0032198052118412182,-5.45010330062948e-5,8.698248405259667e-8,0.0032200268668433098,-5.463053766414709e-5,8.718490554543236e-8,0.0032203099278025797,-5.479171920972871e-5,8.743680309860852e-8,0.0032206683696555803,-5.4957218224956276e-5,8.769370344416006e-8,0.003221104252445989,-5.509302127948437e-5,8.790074530833945e-8,0.0032216031987040658,-5.516423932315975e-5,8.800209652952139e-8,0.003222132914621037,-5.514457142603367e-5,8.795617458979574e-8,0.003222647901010924,-5.502711200558859e-5,8.775290593353369e-8,0.0032231013851103294,-5.483131338436564e-5,8.74247239172623e-8,0.003223460966712298,-5.4600702849415643e-5,8.704264763661174e-8,0.003223720696988658,-5.43901749473945e-5,8.66955543476372e-8,0.0032239032022557705,-5.4248004296358326e-5,8.646099319840247e-8,0.003224051050262102,-5.4200944786757004e-5,8.638114273675721e-8,0.003224212268778945,-5.424827912428962e-5,8.645345453958669e-8,0.0032244265358801734,-5.4365234327404105e-5,8.663660081008881e-8,0.003224716276502034,-5.451231450454134e-5,8.686597920410975e-8,0.003225083737911467,-5.4646403659949004e-5,8.707189019189658e-8,0.0032255131188312245,-5.473059972318432e-5,8.719538813836393e-8,0.0032259761006378034,-5.4741087113638165e-5,8.719911679190398e-8,0.0032264390598020325,-5.467034723233956e-5,8.707212789604444e-8,0.003226870334335864,-5.452668660564738e-5,8.682879510984012e-8,0.0032272460710804887,-5.4330699940323715e-5,8.65029138253738e-8,0.0032275536298945894,-5.4109915442819836e-5,8.613902532997006e-8,0.003227792304669776,-5.389313593906661e-5,8.5783374691673e-8,0.0032279718677233277,-5.370570458175747e-5,8.547642058179856e-8,0.003228109845550558,-5.356634066004432e-5,8.524786544988952e-8,0.003228228456413095,-5.348557339633553e-5,8.511420042723426e-8,0.0032283518197443535,-5.346531342893715e-5,8.507801310989298e-8,0.0032285035568127823,-5.349896832429377e-5,8.512814037196994e-8,0.003228704536722173,-5.357174984312455e-5,8.524016481482288e-8,0.0032289703539402797,-5.366119984972382e-5,8.537735462686527e-8,0.00322930813206437,-5.373842092470895e-5,8.549282323459017e-8,0.003229712689921856,-5.377103839587337e-5,8.553448506801853e-8,0.0032301631836865975,-5.3729107718665944e-5,8.545465152637074e-8,0.0032306227277087924,-5.359428799950994e-5,8.522472059019744e-8,0.0032310441986026,-5.337012969281068e-5,8.48515280839209e-8,0.0032313836582013745,-5.30879790841398e-5,8.438660592029636e-8,0.0032316176061930268,-5.280197806460897e-5,8.391790250084734e-8,0.0032317548261706127,-5.2571609399665335e-5,8.354146004605948e-8,0.0032318343808087915,-5.243934120871027e-5,8.332524114371036e-8,0.00323190997001867,-5.24157284474321e-5,8.328513968311465e-8,0.003232029903870015,-5.247922773889295e-5,8.33849749888785e-8,0.0032322230037252673,-5.2587959715898925e-5,8.355594128527012e-8,0.0032324945300250224,-5.269508974157829e-5,8.372185756843382e-8,0.0032328299476484103,-5.2761097382812485e-5,8.381914925073835e-8,0.0032332022647684135,-5.2760565068347416e-5,8.380767128683809e-8,0.0032335796804347913,-5.268412304439345e-5,8.367349551296979e-8,0.003233931955256522,-5.2537170491451925e-5,8.342645104170425e-8,0.00323423510297691,-5.2336755010051395e-5,8.309480474079313e-8,0.003234474406802793,-5.210743061617814e-5,8.271847665355266e-8,0.0032346457437325534,-5.187668488346703e-5,8.234172294838152e-8,0.003234755280902423,-5.167055575138879e-5,8.200621219761825e-8,0.003234817807050895,-5.150997501251897e-5,8.174527616602243e-8,0.00323485410132211,-5.140821394599531e-5,8.157988013641992e-8,0.0032348878601373273,-5.1369622605597356e-5,8.15166024002056e-8,0.003234942697918216,-5.138953284328997e-5,8.154743911983669e-8,0.00323503947037617,-5.1454958354580704e-5,8.16508993774942e-8,0.0032351938886941546,-5.154582187779148e-5,8.179401797604287e-8,0.0032354142832091816,-5.16366609641141e-5,8.193524012891515e-8,0.003235699333554656,-5.1699018157927345e-5,8.202847891428973e-8,0.0032360358332845078,-5.170513116825102e-5,8.202923924758582e-8,0.003236397395298634,-5.163367599192616e-5,8.190391001440081e-8,0.0032367460274376706,-5.147751296830587e-5,8.164208997353886e-8,0.003237038911014802,-5.125146075858404e-5,8.126881868503913e-8,0.0032372413519731985,-5.099546813545693e-5,8.084938120768122e-8,0.0032373424767896393,-5.076735769152771e-5,8.04773994266105e-8,0.003237364737593232,-5.0623575968753e-5,8.024369261604461e-8,0.0032373583817348877,-5.0595930934664296e-5,8.01987556722749e-8,0.0032373814263608053,-5.067835383782129e-5,8.033154293976049e-8,0.0032374767927001143,-5.0831888417986464e-5,8.05778502518239e-8,0.0032376595358681605,-5.100299476696643e-5,8.08503013355666e-8,0.0032379179830066707,-5.1142929781694154e-5,8.106998345596535e-8,0.0032382234578475634,-5.121949714913483e-5,8.118548183125027e-8,0.0032385413765336594,-5.1220034229706235e-5,8.117745244402647e-8,0.0032388396301233986,-5.1148784000511076e-5,8.105395968506553e-8,0.00323909343633175,-5.1022080757357263e-5,8.084232217504016e-8,0.003239287476598087,-5.086344596635564e-5,8.058099601387515e-8,0.003239416418574005,-5.06993062299847e-5,8.031267394281034e-8,0.0032394844711164405,-5.055531403368913e-5,8.007849327535253e-8,0.0032395041778899027,-5.0453203864372276e-5,7.991313554603084e-8,0.003239494528968082,-5.0408228290502986e-5,7.98408045445796e-8,0.0032394784475627734,-5.0427301336513986e-5,7.987225828658261e-8,0.003239479791896909,-5.050810067219918e-5,8.000332058699083e-8,0.0032395202194974377,-5.063931236648878e-5,8.021522493846629e-8,0.003239616293252338,-5.080193546123921e-5,8.047671952390412e-8,0.003239777049036872,-5.097147176821398e-5,8.074769163503124e-8,0.003240002171167665,-5.112088531384368e-5,8.098412232278307e-8,0.0032402808961741075,-5.122423243494423e-5,8.114415044682696e-8,0.0032405918090109447,-5.126100829262938e-5,8.119521335082708e-8,0.003240904131438615,-5.122133435508816e-5,8.112236888320618e-8,0.003241181684719136,-5.111146117220087e-5,8.093692711688671e-8,0.003241390622446391,-5.095766931217798e-5,8.068237971757372e-8,0.0032415106650658305,-5.080520775946731e-5,8.04323546602781e-8,0.003241546514068598,-5.070868740467566e-5,8.027494782684523e-8,0.0032415324844812794,-5.071373081832885e-5,8.028313812372978e-8,0.003241523709398545,-5.083705921425271e-5,8.048281634683229e-8,0.0032415751240446157,-5.1057319994444045e-5,8.083823631077988e-8,0.003241719537245258,-5.132391935969942e-5,8.126660197144499e-8,0.0032419576140943988,-5.157842278878715e-5,8.167296421774885e-8,0.0032422632301883753,-5.177516910115313e-5,8.198373070848606e-8,0.0032425973491017465,-5.189151237656024e-5,8.216316480911329e-8,0.003242921385633165,-5.192728220314501e-5,8.221219939811576e-8,0.003243205429064354,-5.1898436692860174e-5,8.215775773060924e-8,0.0032434313058024543,-5.182970678799692e-5,8.204054311489319e-8,0.0032435923938506023,-5.1748673330064326e-5,8.190536290404036e-8,0.0032436920809447035,-5.1681708633171465e-5,8.179466859600291e-8,0.0032437419250657485,-5.165123951677518e-5,8.17443236041018e-8,0.0032437597611700603,-5.167373948957442e-5,8.178051974505204e-8,0.0032437676397874047,-5.1758154968282606e-5,8.191729901686929e-8,0.003243789408658554,-5.190473825027876e-5,8.215464440259327e-8,0.0032438478099100776,-5.2104555505873134e-5,8.247762756783664e-8,0.0032439612563935362,-5.234009583257239e-5,8.28573715553115e-8,0.0032441407595725984,-5.258721229750601e-5,8.325425050664329e-8,0.0032443875424479525,-5.281834024054875e-5,8.36232428780749e-8,0.0032446918276209393,-5.300675228469284e-5,8.392100559929466e-8,0.0032450332255609038,-5.3131371114476176e-5,8.411381289746435e-8,0.00324538295404514,-5.318148371486626e-5,8.418520437848297e-8,0.003245707983573782,-5.316071079859441e-5,8.414223757206918e-8,0.0032459772192329835,-5.3089364431137183e-5,8.401896535485175e-8,0.0032461694781570896,-5.300370532228837e-5,8.387484551908885e-8,0.003246281847351533,-5.2950284714670026e-5,8.37853066862844e-8,0.0032463352544695014,-5.297443793121066e-5,8.382308719834454e-8,0.0032463728424833803,-5.310479309421307e-5,8.403337508404443e-8,0.003246448216996769,-5.333992759564566e-5,8.441256609303461e-8,0.0032466062921121183,-5.364552457477591e-5,8.49040114435253e-8,0.0032468659901151594,-5.396605828032138e-5,8.541718992475005e-8,0.003247214553528512,-5.424562065011762e-5,8.586156956307863e-8,0.003247615679936334,-5.444642162568678e-5,8.617657458590432e-8,0.003248024912597425,-5.455655514944839e-5,8.634399975468773e-8,0.003248403432332568,-5.458687626580262e-5,8.638262859372707e-8,0.0032487255353343303,-5.4562352771310106e-5,8.633386467620277e-8,0.00324898008935198,-5.451326661190067e-5,8.624724859115626e-8,0.0032491685238771285,-5.4468896133598934e-5,8.617020704301661e-8,0.0032493017385686698,-5.44538837415368e-5,8.614231992982142e-8,0.0032493972235823195,-5.448639212370825e-5,8.619253072529561e-8,0.0032494766715691,-5.4577106999117414e-5,8.633766110669544e-8,0.003249563821635595,-5.4728537878472483e-5,8.658130339795376e-8,0.0032496821379050258,-5.4934496846960336e-5,8.691293350608795e-8,0.0032498520196944476,-5.5180047124981716e-5,8.730779131766455e-8,0.0032500875683692987,-5.544249647615775e-5,8.772852392629017e-8,0.0032503934051933206,-5.569395062737085e-5,8.812944569042736e-8,0.0032507623946056432,-5.5905572624570456e-5,8.846361811302392e-8,0.0032511752416808635,-5.60531534073218e-5,8.869203900002466e-8,0.0032516027189509527,-5.6122949655416366e-5,8.879316740083876e-8,0.003252010653866079,-5.6116271961945236e-5,8.87702629117698e-8,0.0032523669850277413,-5.605136928982403e-5,8.865417136694602e-8,0.0032526495630223616,-5.596163996267052e-5,8.850004846746351e-8,0.003252852996146235,-5.588978132512746e-5,8.837752315420322e-8,0.0032529925562878982,-5.58782471815996e-5,8.83550511189378e-8,0.003253103082055259,-5.595758026448335e-5,8.848108953757554e-8,0.0032532314776745693,-5.613576384150119e-5,8.876716640678854e-8,0.0032534234568621025,-5.6393001850667115e-5,8.917985280515563e-8,0.0032537084871765787,-5.668575826548498e-5,8.964767779069584e-8,0.0032540894242032077,-5.696017640428366e-5,9.008307761306017e-8,0.00325454214619616,-5.716962075359378e-5,9.041084937999461e-8,0.0032550252674333844,-5.728830620990315e-5,9.059011621990187e-8,0.003255494511827089,-5.731556283163272e-5,9.06209904156305e-8,0.003255914883576044,-5.7271048375594106e-5,9.0536487245569e-8,0.003256266746644497,-5.71854418674298e-5,9.03871423788393e-8,0.003256546050101389,-5.709145577327869e-5,9.022629331978918e-8,0.003256761198809244,-5.701770488175832e-5,9.010018411835402e-8,0.0032569290319573213,-5.6985589687069876e-5,9.004308407198988e-8,0.0032570712782715805,-5.700820517414628e-5,9.007569729439265e-8,0.003257211829634789,-5.709019855395602e-5,9.02050273070369e-8,0.003257374555642879,-5.722785472994945e-5,9.042451477474267e-8,0.0032575811280771455,-5.740918789972536e-5,9.07141464433097e-8,0.0032578484112563417,-5.761434937787547e-5,9.104111671626653e-8,0.003258185352705804,-5.781702102123823e-5,9.136217618930464e-8,0.0032585898547709312,-5.7987501554828986e-5,9.162880083070914e-8,0.003259046711760422,-5.8097856157750106e-5,9.179571951463989e-8,0.0032595281106661137,-5.812865707175766e-5,9.183195308320635e-8,0.003259997899742414,-5.807559874358659e-5,9.173151942039728e-8,0.003260419534272522,-5.7953377600878414e-5,9.151954278320197e-8,0.003260765818064894,-5.7794560130481856e-5,9.125009531413922e-8,0.0032610273094332534,-5.7642803315349266e-5,9.099481763997835e-8,0.0032612163205118245,-5.754195090058938e-5,9.082492438170712e-8,0.0032613648222029144,-5.752416949150301e-5,9.07918667306029e-8,0.0032615165714595593,-5.7600716096652344e-5,9.09125486368035e-8,0.003261715522120589,-5.7758163232549566e-5,9.116362370356967e-8,0.003261993680028687,-5.796146329096944e-5,9.148694570509478e-8,0.0032623620293660872,-5.8163394938097374e-5,9.180524978805767e-8,0.003262807665272582,-5.8317766793719975e-5,9.20437012761951e-8,0.0032632983134054426,-5.839199548958222e-5,9.215020451540345e-8,0.0032637924706452283,-5.8374669624859956e-5,9.210741718701442e-8,0.0032642511156409566,-5.827592207902026e-5,9.193302480930112e-8,0.0032646467560847373,-5.8121634092867766e-5,9.167002565308534e-8,0.003264967464613854,-5.794476140729533e-5,9.137245205768258e-8,0.0032652161360441057,-5.777729029325265e-5,9.109227604970783e-8,0.0032654068966987506,-5.764485386744147e-5,9.087078295628466e-8,0.003265560763456718,-5.756421591411039e-5,9.073466938213295e-8,0.0032657018358711034,-5.754278131830879e-5,9.069539608026732e-8,0.0032658544101094944,-5.757911789189286e-5,9.075008999633211e-8,0.0032660408074434333,-5.766372839766714e-5,9.088277448331733e-8,0.003266279396647697,-5.777976701135738e-5,9.106550153542938e-8,0.003266582301739539,-5.790395532285883e-5,9.12598753635655e-8,0.0032669526451217174,-5.80083795326496e-5,9.142009964322477e-8,0.003267381767555401,-5.8063972041273024e-5,9.149881185930952e-8,0.0032678476163183977,-5.804619770493952e-5,9.145646309337639e-8,0.003268316164476314,-5.79424713012002e-5,9.12733988533491e-8,0.0032687475221006164,-5.7759070899220414e-5,9.096097972973574e-8,0.003269106529960257,-5.7523825509117984e-5,9.056570793575683e-8,0.0032693746058921917,-5.7281393394498796e-5,9.01612217244734e-8,0.0032695575700859222,-5.7081169177186004e-5,8.982829299441299e-8,0.003269685200835826,-5.696205583363011e-5,8.962983858648573e-8,0.003269802214385346,-5.69404396125155e-5,8.959138558936853e-8,0.0032699545344188102,-5.700604476264368e-5,8.969464615227079e-8,0.0032701763009091883,-5.7126338282034846e-5,8.988518777066455e-8,0.003270481677542585,-5.725676162404585e-5,9.008956185060092e-8,0.0032708629470038705,-5.735286992395743e-5,9.023531943545998e-8,0.00327129431081459,-5.73809369580062e-5,9.026823726629858e-8,0.003271739599354458,-5.7324683909892404e-5,9.0162995318363e-8,0.0032721614993477402,-5.7187059246788255e-5,8.992569167509696e-8,0.0032725298445275717,-5.698731841848309e-5,8.958873870059514e-8,0.0032728270521627735,-5.675482647236528e-5,8.920055536744774e-8,0.003273049851570274,-5.652171851946322e-5,8.881356947561132e-8,0.0032732076970815966,-5.6316492523811355e-5,8.847388481842329e-8,0.003273319145670565,-5.615979289425225e-5,8.821459453534936e-8,0.0032734076545255755,-5.6062581528121386e-5,8.80529729256984e-8,0.003273497839452653,-5.602614665502433e-5,8.799058220459504e-8,0.003273612612866018,-5.604313201827532e-5,8.801494830994981e-8,0.0032737710867281598,-5.609888691693807e-5,8.81017115844299e-8,0.0032739868282610452,-5.617282175496241e-5,8.821681580619211e-8,0.0032742660365082388,-5.6239927611709573e-5,8.831905491514963e-8,0.003274605453936708,-5.627300819139812e-5,8.836386764965425e-8,0.0032749903608651097,-5.624637481283029e-5,8.830953041101465e-8,0.0032753938061936853,-5.614154823740327e-5,8.812653176627841e-8,0.0032757789936782864,-5.595449360495289e-5,8.78092919463083e-8,0.003276106647287594,-5.5701960526054305e-5,8.738628367074491e-8,0.0032763471421135533,-5.5422576587764e-5,8.692152997987455e-8,0.003276493258995722,-5.516877259292599e-5,8.650115186701256e-8,0.0032765664014518425,-5.499014654352684e-5,8.6206007430559e-8,0.003276610999942624,-5.491529491512299e-5,8.608196484440229e-8,0.00327667876464851,-5.494164014254628e-5,8.612345199946136e-8,0.0032768108494707626,-5.5038149965003114e-5,8.627829358674474e-8,0.0032770262708863127,-5.5157998227194705e-5,8.646888984364038e-8,0.0032773198064892668,-5.525387498988542e-5,8.661760852501955e-8,0.003277667339223204,-5.528988528837087e-5,8.666631731922832e-8,0.0032780346135977243,-5.5247658906088445e-5,8.658614562003795e-8,0.0032783860663120725,-5.512713483912658e-5,8.637835326428021e-8,0.0032786918994025917,-5.494363190933129e-5,8.606912261480339e-8,0.0032789327276445193,-5.472280951801439e-5,8.570104945011115e-8,0.003279101674465376,-5.449476059083265e-5,8.532342409842275e-8,0.0032792040453030104,-5.4288301754132294e-5,8.498301212375031e-8,0.0032792550494914192,-5.4126402494692005e-5,8.471678473867611e-8,0.00327927635003745,-5.402331015253779e-5,8.454741469132955e-8,0.003279292261048445,-5.398344931011103e-5,8.448159405887646e-8,0.0032793262697919023,-5.4001841681931624e-5,8.451073771217038e-8,0.0032793983038223334,-5.406554644950239e-5,8.461328637466328e-8,0.003279522775013503,-5.4155543035676e-5,8.475773055077884e-8,0.0032797071337421773,-5.4248736184423704e-5,8.490590178054932e-8,0.0032799506498463736,-5.432014534373688e-5,8.501666483516674e-8,0.003280243299674806,-5.434560660615751e-5,8.505051210231342e-8,0.003280565004985942,-5.430549748269372e-5,8.497579494488648e-8,0.003280886168989561,-5.4189871664097075e-5,8.47771184438119e-8,0.003281171139090372,-5.4004474659509736e-5,8.446499011144445e-8,0.003281386101154559,-5.377533480404946e-5,8.408301336304262e-8,0.0032815110470657827,-5.354778435894943e-5,8.370597725390225e-8,0.003281551525320081,-5.3376005048922325e-5,8.342256462979238e-8,0.0032815423544261006,-5.3303997698127796e-5,8.330417977081286e-8,0.0032815375199139597,-5.334662167257096e-5,8.337402779899631e-8,0.003281589425999078,-5.3482477388724635e-5,8.359571772677401e-8,0.003281729077837722,-5.366347603158219e-5,8.388931201996357e-8,0.0032819577992785165,-5.383448660629819e-5,8.416390530143764e-8,0.003282252028816867,-5.3951461208844274e-5,8.434755805679241e-8,0.003282575064733863,-5.399087527054447e-5,8.440270284958065e-8,0.0032828888308288045,-5.395041499415586e-5,8.432692167156779e-8,0.0032831620823933123,-5.384442525035143e-5,8.414501783308623e-8,0.003283374577592845,-5.369758720472906e-5,8.389827797025655e-8,0.0032835182149421297,-5.3538900495709054e-5,8.363445972132653e-8,0.003283596317507677,-5.3396677990892325e-5,8.339967143688218e-8,0.0032836217594359217,-5.3294597136367996e-5,8.323212142857587e-8,0.0032836142689651616,-5.3248868881598726e-5,8.31577096068053e-8,0.0032835972456282487,-5.326663219322064e-5,8.318754756177193e-8,0.003283594445314077,-5.33455619881586e-5,8.331735797629278e-8,0.003283626858166137,-5.34746355750414e-5,8.35286872417797e-8,0.0032837101355881193,-5.363590835227975e-5,8.379175121758466e-8,0.0032838527983820075,-5.3806929427041975e-5,8.406937560267436e-8,0.003284055181100754,-5.396343946274494e-5,8.432148778286718e-8,0.0032843089773761463,-5.40822511951771e-5,8.450998775388706e-8,0.003284597358913076,-5.414438100313206e-5,8.460404446842303e-8,0.003284895834787221,-5.413857912979374e-5,8.458595257932233e-8,0.003285174445296768,-5.406532947278778e-5,8.445757818292492e-8,0.0032854023338345904,-5.3940697089698616e-5,8.424636958756322e-8,0.0032855554831677934,-5.379806390910282e-5,8.400782714837921e-8,0.003285626815766494,-5.3684562539693467e-5,8.38193737194727e-8,0.0032856347701112503,-5.3649414340871245e-5,8.376117760633833e-8,0.0032856235616832005,-5.3725485877918647e-5,8.38860837426238e-8,0.003285650142636974,-5.391249164401037e-5,8.419236027689752e-8,0.0032857616382241683,-5.4173556173630084e-5,8.461836300416228e-8,0.003285976011289329,-5.444965808100916e-5,8.50665090145353e-8,0.003286277545198635,-5.468347961861177e-5,8.544264341871019e-8,0.0032866275363075573,-5.483838580460321e-5,8.568728752895917e-8,0.0032869809330381304,-5.490461627338049e-5,8.578565026164803e-8,0.0032872996339806037,-5.489474335285152e-5,8.575977711296552e-8,0.003287559053510933,-5.48347345844862e-5,8.565341922089876e-8,0.0032877491677817746,-5.475543920672599e-5,8.551775502054806e-8,0.0032878725457978937,-5.4686451467669074e-5,8.540127833973602e-8,0.0032879413934742783,-5.465235422268597e-5,8.534381381044643e-8,0.003287974597188788,-5.4670536130827427e-5,8.53731992403231e-8,0.003287994886136215,-5.474993658443841e-5,8.550343585455102e-8,0.003288026004617243,-5.489052942074253e-5,8.573393033814724e-8,0.0032880898877680324,-5.508355309891816e-5,8.604985500404462e-8,0.003288203921857211,-5.5312587539400495e-5,8.642385409484243e-8,0.0032883785505384453,-5.5555608027442216E-05,8.681938148259401e-8,0.0032886156357365445,-5.578790705412445e-5,8.719554080619211e-8,0.0032889078436774757,-5.5985521987479445e-5,8.751283667062376e-8,0.003289239125545009,-5.612881998939157e-5,8.77392146012537e-8,0.003289586318797038,-5.620594849831879e-5,8.78558281449679e-8,0.0032899218910641607,-5.621585137160659e-5,8.786195042061433e-8,0.0032902179191576634,-5.617054021271309e-5,8.77784760736655e-8,0.0032904515278464005,-5.609599525829377e-5,8.764903319639631e-8,0.003290611690989794,-5.603034994237022e-5,8.753663675600585e-8,0.0032907060886177963,-5.601757230920074e-5,8.751312401969255e-8,0.0032907648315062244,-5.60957001758165e-5,8.763993271030684e-8,0.00329083651219213,-5.628175714456582e-5,8.794367269940098e-8,0.003290973902945432,-5.656023599277606e-5,8.839762192953688e-8,0.003291213321631433,-5.6884077700507716e-5,8.892363541663668e-8,0.003291558763057707,-5.7191191598862794e-5,8.941943124269481e-8,0.0032919809643103797,-5.742839856654776e-5,8.979798297636507e-8,0.0032924313677109907,-5.756902600419823e-5,9.001640079964623e-8,0.0032928611324823196,-5.7616237434723784e-5,9.008120657162066e-8,0.003293234884122227,-5.759476981903807e-5,9.003437623650073e-8,0.003293535602904595,-5.753893290328132e-5,8.993321103832823e-8,0.003293762927268325,-5.7482792094576774e-5,8.983397854989548e-8,0.003293928650397064,-5.745439610101603e-5,8.978246898705095e-8,0.003294052074754002,-5.7473344437337244e-5,8.981023130920463e-8,0.003294156313027807,-5.755021904012821e-5,8.993390698836747e-8,0.0032942654733313977,-5.768674160814335e-5,9.01556607176256e-8,0.0032944022662521263,-5.787621616364838e-5,9.046394738638393e-8,0.003294585697181951,-5.810428412374258e-5,9.083470767938509e-8,0.003294828730883638,-5.835025192829971e-5,9.123350329312376e-8,0.0032951361110117538,-5.858935210068161e-5,9.161924961334033e-8,0.003295502862145243,-5.879608733804884e-5,9.194981099819587e-8,0.0032959140922813155,-5.894836427269165e-5,9.218894166181916e-8,0.003296346501630117,-5.903178845858687e-5,9.2313465377073e-8,0.0032967716942378903,-5.904330752969372e-5,9.231927451156279e-8,0.003297161013652729,-5.8993325195830865e-5,9.222465017716898e-8,0.0032974912528637187,-5.8905595820280855e-5,9.206977518622295e-8,0.0032977504065195102,-5.881449638135142e-5,9.191186754025751e-8,0.003297942473857903,-5.875940209359208e-5,9.181563871498607e-8,0.0032980898714052753,-5.877616173854993e-5,9.183921908280787e-8,0.0032982314957932714,-5.88866346272826e-5,9.201718962789459e-8,0.0032984146833885644,-5.908904162486795e-5,9.23451566292984e-8,0.0032986812779857745,-5.935379884542151e-5,9.277334751463147e-8,0.003299051997951586,-5.962945134656554e-5,9.321663709787946e-8,0.003299516827886728,-5.985901363351853e-5,9.358146928311346e-8,0.0033000378122319263,-5.999998453310655e-5,9.379868554416737e-8,0.003300563468977945,-6.003775679601342e-5,9.384541959529023e-8,0.003301046759699778,-5.9986342425414024e-5,9.374604054768167e-8,0.0033014576765286454,-5.987863396959832e-5,9.355579500500295e-8,0.003301786809054379,-5.975339670750789e-5,9.33390980278829e-8,0.0033020419823445663,-5.964508164161518e-5,9.315264867329e-8,0.0033022421362587082,-5.9578548895871055e-5,9.303685979764736e-8,0.003302411561432909,-5.9567748630520254e-5,9.301394192772079e-8,0.0033025757102160976,-5.961647141519134e-5,9.308938092423752e-8,0.003302758454813665,-5.971971311326604e-5,9.32543085753427e-8,0.003302980149123383,-5.986499809573707e-5,9.348767984635991e-8,0.0033032558966772426,-6.003362496588928e-5,9.375826851834662e-8,0.003303593705146403,-6.0202192353766145e-5,9.402715772445558e-8,0.0033039926166897105,-6.034495084095433e-5,9.425167222522078e-8,0.003304441386900897,-6.043737478577002e-5,9.439138689843304e-8,0.003304918618617791,-6.046082993353868e-5,9.441594479608006e-8,0.0033053952081656575,-6.040751190609572e-5,9.431324511412548e-8,0.0033058394190006372,-6.028418972979809e-5,9.409552551950787e-8,0.0033062239072710452,-6.011307792870043e-5,9.380056022170947e-8,0.0033065329819612454,-5.99287475949815e-5,9.348622559924204e-8,0.003306767914704313,-5.977122717532698e-5,9.321879190076651e-8,0.003306948486177933,-5.9676703637333575e-5,9.305741226162379e-8,0.0033071098761496675,-5.966803032891732e-5,9.303855751819586e-8,0.003307295078633383,-5.974750722150152e-5,9.316446634613662e-8,0.003307544114132092,-5.9894223093106617E-05,9.339925812123948e-8,0.0033078824817017226,-6.006764076265878e-5,9.367527554290179e-8,0.003308312428674662,-6.021771715946743e-5,9.390997219756039e-8,0.003308810868846452,-6.02993136284251e-5,9.402960860305769e-8,0.003309335890088662,-6.028585030600706e-5,9.39915224159716e-8,0.003309839846317023,-6.017646168426142e-5,9.379561381316522e-8,0.003310283495942255,-5.999380790271972e-5,9.348042402784567e-8,0.0033106453888089448,-5.977450811021991e-5,9.310709708273535e-8,0.0033109239015205183,-5.955734946844783e-5,9.273979011758474e-8,0.003311133299984977,-5.937407692846487e-5,9.243051520461885e-8,0.0033112972340637236,-5.924481776115903e-5,9.221178385233012e-8,0.0033114426199441147,-5.917750316763905e-5,9.209590179549796e-8,0.0033115952609545363,-5.9169497804775444e-5,9.207784107991695e-8,0.003311777204723194,-5.920987375766593e-5,9.213904652853273e-8,0.0033120052080999,-5.92814938356559e-5,9.225082851606375e-8,0.003312289594904694,-5.936274846059623e-5,9.237717028262174e-8,0.003312633024578902,-5.942929679557276e-5,9.247760893901174e-8,0.003313029137070735,-5.945642637260442e-5,9.251122688928723e-8,0.0033134615879803833,-5.942257807852542e-5,9.244260873645003e-8,0.0033139044987459776,-5.931413137224047e-5,9.22498336783901e-8,0.0033143255654085853,-5.913063940039792e-5,9.193309185903323e-8,0.003314692523404364,-5.888852657791199e-5,9.152061902109267e-8,0.003314982071759978,-5.862063074863608e-5,9.106765658072329e-8,0.0033151883441194956,-5.836990960235362e-5,9.064573525743296e-8,0.003315327061036844,-5.817820907612507e-5,9.032387007253822e-8,0.003315432756404787,-5.807381239007963e-5,9.014792415786519e-8,0.003315549502730872,-5.80625870862475e-5,9.012617527068651e-8,0.0033157184572218204,-5.8126053541180765e-5,9.022654455023874e-8,0.003315966551858763,-5.8226689676969886e-5,9.038585941639497e-8,0.0033162996332138915,-5.831825523870404e-5,9.052728727571216e-8,0.0033167015288640424,-5.835787971070538e-5,9.058041563143791e-8,0.0033171388754599613,-5.8316694902620264e-5,9.049864230177064e-8,0.003317570199537387,-5.818631498100734e-5,9.026951683504713e-8,0.0033179566224040904,-5.7979533462259516e-5,8.99154851350754e-8,0.0033182710352989515,-5.772533753434543e-5,8.94853309482593e-8,0.003318503156852944,-5.746022504077495e-5,8.903967082003617e-8,0.003318659520612165,-5.721893166409305e-5,8.863565691424088e-8,0.0033187593907932924,-5.7027409664830245e-5,8.831554830627552e-8,0.0033188288152567313,-5.6899447070337116e-5,8.810136402150192e-8,0.0033188949683195744,-5.683663868685322e-5,8.799503967854189e-8,0.0033189820031886176,-5.683044444173091e-5,8.79819251290983e-8,0.0033191086079180677,-5.686498657172212e-5,8.80353851458633e-8,0.0033192868090701146,-5.6919687627007744e-5,8.812108202417043e-8,0.0033195213608058194,-5.6971468212093134e-5,8.820056393045532e-8,0.003319809205334997,-5.6996756676009524e-5,8.823463939940167e-8,0.0033201388682853913,-5.6973850769248384e-5,8.818741927408212e-8,0.0033204901645404743,-5.688617916715095e-5,8.803185327819643e-8,0.0033208351653437364,-5.672667481568836e-5,8.775700668157399e-8,0.0033211417606726764,-5.650258196722333e-5,8.737589343481958e-8,0.0033213807589085697,-5.623860290952227e-5,8.693042466255639e-8,0.003321535704580842,-5.5975194089382036e-5,8.64882803546673e-8,0.003321611779853912,-5.575964063734652e-5,8.612788421461543e-8,0.0033216383488875716,-5.563121550563371e-5,8.591372038897917e-8,0.00332166160133251,-5.560648771923718e-5,8.587208299016034e-8,0.003321729332346463,-5.567246407025703e-5,8.597999999454416e-8,0.0033218749696411454,-5.5791288194139026e-5,8.617344710132884e-8,0.003322108078793622,-5.591357362818337e-5,8.636987047930183e-8,0.003322414074917141,-5.599359775464645e-5,8.649361999558831e-8,0.0033227610657908736,-5.600062818328033e-5,8.649468343439781e-8,0.0033231098129842453,-5.592409172339057e-5,8.635693899550423e-8,0.003323423401229845,-5.577304858807897e-5,8.60968278743868e-8,0.0033236746106560327,-5.5571625019046895e-5,8.57553706414179e-8,0.0033238501378285963,-5.535223551652658e-5,8.538670353148495e-8,0.003323951512978097,-5.5148243821503265e-5,8.504591708672522e-8,0.0033239930515267515,-5.4987516475655016e-5,8.477855814651931e-8,0.003323997693098464,-5.4888022929405465e-5,8.461360179444422e-8,0.0033239919654675055,-5.485601986581888e-5,8.456067453943338e-8,0.0033240012834951657,-5.4886614374086276e-5,8.461111130656435e-8,0.00332404640453801,-5.496599005265156e-5,8.474164448132102e-8,0.003324141328817078,-5.507438956499113e-5,8.491926542726227e-8,0.003324292421254159,-5.5189074106772154e-5,8.510604823670503e-8,0.0033244982624229583,-5.528690636714247e-5,8.526342573891019e-8,0.0033247498139609742,-5.534665974060568e-5,8.5356116539381e-8,0.003325030738318475,-5.535139742517621e-5,8.535622814349039e-8,0.003325318078773487,-5.529132808874682e-5,8.524810407518335e-8,0.0033255840434287193,-5.516732559483926e-5,8.503412127897562e-8,0.003325800025884042,-5.4994500283684165e-5,8.474038755337137e-8,0.003325943636647162,-5.4803921202816106e-5,8.441925947919739e-8,0.003326007954119694,-5.463949661780294e-5,8.414386557641033e-8,0.0033260093929748016,-5.454751850488496e-5,8.39906316797749e-8,0.0033259881913321188,-5.4560143825206843e-5,8.401195873056964e-8,0.0033259972865628765,-5.4680122236649234e-5,8.421112518435034e-8,0.003326082679984568,-5.4876669269890736e-5,8.453576539427439e-8,0.0033262656698723574,-5.509660108184346e-5,8.489670021080734e-8,0.0033265367421952,-5.528454025680654e-5,8.520177547374201e-8,0.0033268625692368203,-5.540089651290604e-5,8.53858406600953e-8,0.0033271997836301316,-5.5430263445104554e-5,8.542454745717457e-8,0.00332750801243725,-5.538020410605459e-5,8.533193941439912e-8,0.0033277582273325535,-5.527451512296222e-5,8.514878834424156e-8,0.0033279360985943923,-5.514504454421498e-5,8.492865234127454e-8,0.0033280417206101223,-5.502443713341801e-5,8.47257264967664e-8,0.0033280872119350394,-5.494062573953781e-5,8.458583816329359e-8,0.0033280931856418602,-5.4913121909954754e-5,8.454056432249686e-8,0.003328084687829209,-5.49510529651956e-5,8.460424445406648e-8,0.003328087119786794,-5.505287514330795e-5,8.477367296994299e-8,0.003328122619004344,-5.520754438276987e-5,8.503008040542494e-8,0.0033282072794208633,-5.539681605654844e-5,8.534289014342119e-8,0.0033283494784650124,-5.559823205385741e-5,8.567459021016955e-8,0.0033285493241682613,-5.5788247308437714e-5,8.5985886311372e-8,0.0033287989546007955,-5.594511202878772e-5,8.624053969095568e-8,0.0033290834152926,-5.605145404558202e-5,8.640978601385084e-8,0.0033293820025522038,-5.609665354800625e-5,8.647641681844645e-8,0.00332967012765513,-5.607914249037254e-5,8.64386360154981e-8,0.003329922108265471,-5.600868372770514e-5,8.63137014691309e-8,0.003330115618151409,-5.590807269377462e-5,8.614043768918587e-8,0.0033302381328333365,-5.58126677029861e-5,8.597808953775239e-8,0.0033302943335076583,-5.5765475825965935e-5,8.589791861426393e-8,0.0033303112431023363,-5.580611329656748e-5,8.596488539474054e-8,0.003330335893358347,-5.595512706192685e-5,8.621187561535514e-8,0.0033304217950196257,-5.620076748901601e-5,8.661809726569148e-8,0.0033306077541668403,-5.649824615334275e-5,8.710815973363818e-8,0.003330900673735715,-5.678551821777345e-5,8.757850948338549e-8,0.0033312733708816735,-5.7007580014031255e-5,8.793794593475561e-8,0.003331677827847687,-5.713506396332166e-5,8.81385544183494e-8,0.0033320641462310304,-5.7168762976044525e-5,8.818303689777447e-8,0.003332394888741356,-5.713232454494835e-5,8.81121521924967e-8,0.003332650948899174,-5.706056072566515e-5,8.79848172366316e-8,0.0033328307387244707,-5.69892054818512e-5,8.786079588531413e-8,0.003332946103134148,-5.6948270940260595e-5,8.7789662082767e-8,0.003333017524013881,-5.695869565914077e-5,8.780546633003202e-8,0.003333069785980845,-5.7031151550971855e-5,8.79250644837299e-8,0.003333128293176569,-5.7166122827538784e-5,8.814848616597651e-8,0.003333215942814037,-5.735486447701515e-5,8.846062555209589e-8,0.003333350526081416,-5.758107712399529e-5,8.883400189972032e-8,0.003333542711568079,-5.782323256543382e-5,8.923255045240708e-8,0.0033337948024626724,-5.805748921759443e-5,8.961641831353482e-8,0.0033341004955474854,-5.826092281925177e-5,8.994735848331943e-8,0.0033344456574180216,-5.8414663420069585e-5,9.019404254409442e-8,0.0033348099763535065,-5.850667539814434e-5,9.033680470762473e-8,0.0033351693972139954,-5.8534013007029704e-5,9.037145788055351e-8,0.0033354992652454255,-5.850435337312846e-5,9.031176994724097e-8,0.003335778150817505,-5.8436628216984924e-5,9.019026948162117e-8,0.0033359924676545083,-5.836033415719681e-5,9.005674088553579e-8,0.003336141696475799,-5.831247259530645e-5,8.99728131408324e-8,0.003336242937122228,-5.833081796090152e-5,9.000064726389226e-8,0.003336332072852576,-5.844314497737879e-5,9.018519988192054e-8,0.003336457993721301,-5.8654611621949015e-5,9.053364701309959e-8,0.003336668034416213,-5.8939341334053395e-5,9.100181248328803e-8,0.0033369886308538366,-5.9243988034202145e-5,9.15003563787348e-8,0.0033374117211466396,-5.950577741976175e-5,9.192485569877443e-8,0.0033378966406314506,-5.9676814334938345e-5,9.219623025373824e-8,0.003338387060585492,-5.974061238822445e-5,9.228818050131115e-8,0.003338832161640395,-5.9712769824558396e-5,9.222809662066525e-8,0.003339200660884803,-5.9629238348668325e-5,9.207713490030904e-8,0.0033394839946629365,-5.9531508527586526e-5,9.19051435138701e-8,0.00333969194933606,-5.9455615021928336e-5,9.177216062406416e-8,0.0033398456958361393,-5.9426735296063406e-5,9.171952556625893e-8,0.0033399714625476887,-5.94580076063395e-5,9.176821138029921e-8,0.0033400959454044452,-5.9551503177061825e-5,9.19207583444299e-8,0.003340243216604815,-5.969991931487511e-5,9.21642828744451e-8,0.003340432528612182,-5.988845372977386e-5,9.247363390315894e-8,0.00334067661964073,-6.009682747560091e-5,9.281470236403697e-8,0.003340980391006287,-6.0301603901974886e-5,9.314821825194654e-8,0.0033413400860247433,-6.047899922745841e-5,9.34344253905957e-8,0.0033417433406987395,-6.0608161718892285e-5,9.363861218700703e-8,0.0033421704338331562,-6.0674530868574566e-5,9.373681434940468e-8,0.003342596793867571,-6.067274472862805e-5,9.372073186756808e-8,0.003342996619504433,-6.060857747387037e-5,9.360092417739725e-8,0.0033433472973181913,-6.049938316515723e-5,9.340736779360886e-8,0.003343634076313921,-6.037265637678459e-5,9.318674843140178e-8,0.003343854352958671,-6.026253039672385e-5,9.29962869527095e-8,0.0033440207974379525,-6.02040503597778e-5,9.289398103642671e-8,0.00334416209570793,-6.0225227664861864e-5,9.292540486542561e-8,0.0033443195738953684,-6.033783862182839e-5,9.310869759814082e-8,0.0033445382535737425,-6.052967926745262e-5,9.342213643036966e-8,0.0033448528768625176,-6.076271261213488e-5,9.380146725962548e-8,0.0033452733341006566,-6.098129519580642e-5,9.415379750598335e-8,0.0033457773304763423,-6.11302103754188e-5,9.43875995339562e-8,0.003346316441695281,-6.117498982465232e-5,9.444642575943193e-8,0.0033468338086486238,-6.111354333006799e-5,9.432810795018451e-8,0.0033472838692474196,-6.097324927755117e-5,9.4079645301939e-8,0.0033476441985163447,-6.0797240704200516e-5,9.377398884436344e-8,0.0033479163084475117,-6.062888070521747e-5,9.348385258171712e-8,0.003348119017326552,-6.050124738963157e-5,9.326410433273226e-8,0.0033482798563691583,-6.043317112036643e-5,9.314535120928058e-8,0.0033484280459571253,-6.0429873261064216e-5,9.313533471622201e-8,0.0033485900303240564,-6.0485597297215256e-5,9.322360188274091e-8,0.0033487870427821647,-6.058650061285441e-5,9.338645264051759e-8,0.003349033779148276,-6.071317745669125e-5,9.359112405668456e-8,0.003349337512154647,-6.084287930407258e-5,9.379941019517652e-8,0.0033496973868342426,-6.0951778738148076e-5,9.39713912066027e-8,0.0033501040189214903,-6.1017654657638296e-5,9.406994902831682e-8,0.003350539852327468,-6.102313701204754e-5,9.406628005534092e-8,0.0033509808424563464,-6.0959184102096446e-5,9.394579478956938e-8,0.0033513997985662727,-6.0828035243102085e-5,9.371305998195274e-8,0.003351771242630648,-6.064464806465786e-5,9.339407682046672e-8,0.0033520770502697586,-6.043567280060645e-5,9.303431185934628e-8,0.0033523115992083793,-6.023549059632611e-5,9.269175686275925e-8,0.0033524849538567095,-6.0079656147178764e-5,9.242570667708549e-8,0.003352622868607595,-5.999683644913714e-5,9.228321247007672e-8,0.0033527629108964156,-6.0000858451751614e-5,9.228598308330152e-8,0.0033529466888537886,-6.0084899028015664e-5,9.242109352946563e-8,0.003353209163212818,-6.0220101719581925e-5,9.263915942649568e-8,0.003353567452423346,-6.036056292024498e-5,9.286301996208644e-8,0.003354013074553909,-6.045506176241125e-5,9.300742375322236e-8,0.003354511938151932,-6.0462793179074204e-5,9.300515855826013e-8,0.003355013937094379,-6.036701837740332e-5,9.282957547814603e-8,0.0033554690078815767,-6.018006277425595e-5,9.250263119120252e-8,0.0033558424476254254,-5.9937221757790955e-5,9.208440293612802e-8,0.0033561228412348943,-5.9683282240027307e-5,9.165030735952862e-8,0.003356320744440452,-5.9458664926667036e-5,9.126781835699132e-8,0.003356461215846782,-5.929059997108527e-5,9.09818074709203e-8,0.0033565749791113304,-5.919060979973586e-5,9.081060603989335e-8,0.0033566915189816907,-5.915640839670276e-5,9.07494897969949e-8,0.0033568350305881473,-5.91755770416691e-5,9.077702401431161e-8,0.003357022613830941,-5.9229226963443656e-5,9.086121990946202e-8,0.003357263701159578,-5.929496452229679e-5,9.096440629587108e-8,0.003357559911226247,-5.934921839576949e-5,9.104702421945221e-8,0.0033579049385909485,-5.9369383956175455e-5,9.1071192375381e-8,0.0033582845835001054,-5.9336313704812116e-5,9.100494733703145e-8,0.00335867744667257,-5.923739982099832e-5,9.082751861971475e-8,0.003359057001605932,-5.906997363720898e-5,9.053508695821385e-8,0.003359395616398978,-5.884413276926084e-5,9.014546329210125e-8,0.003359670484111321,-5.858354614172143e-5,8.96992412648217e-8,0.003359870306372325,-5.83227294745991e-5,8.925494292974744e-8,0.003360000476205311,-5.8100244081356475e-5,8.887733886137964e-8,0.0033600842939887445,-5.794905158876692e-5,8.862112733910623e-8,0.0033601588394004405,-5.7886876867381644e-5,8.851484939281549e-8,0.0033602660797591934,-5.790993390908707e-5,8.85506789176601e-8,0.003360441674025316,-5.799244505104898e-5,8.868407215376571e-8,0.003360704848971143,-5.809247460735285e-5,8.884397868653839e-8,0.003361052408555661,-5.8162610399993446e-5,8.895098477449679e-8,0.0033614587985430038,-5.816263041067814e-5,8.893850581578914e-8,0.003361882595100984,-5.807055435201572e-5,8.877103313526498e-8,0.0033622778382321966,-5.788851232418176e-5,8.845357733079992e-8,0.003362606646946412,-5.764123357960088e-5,8.802875740347297e-8,0.003362848722009863,-5.736772166360094e-5,8.756257923304475e-8,0.003363004624307182,-5.710951428610873e-5,8.712465566458204e-8,0.0033630925651310676,-5.690004657624532e-5,8.677046271557997e-8,0.0033631411170110623,-5.6758424875231495e-5,8.653114040510852e-8,0.003363181256001812,-5.668835779717318e-5,8.641199419472419e-8,0.0033632402740149748,-5.6680785627308535e-5,8.639713164955336e-8,0.0033633383786634027,-5.67180183840242e-5,8.64564805526587e-8,0.0033634874868962595,-5.6777755378881375e-5,8.65524655651299e-8,0.0033636912810481303,-5.683628445550697e-5,8.66452477529796e-8,0.003363945718484768,-5.687086249094485e-5,8.669663650025481e-8,0.0033642395389277832,-5.686171426360383e-5,8.667346696354637e-8,0.0033645548029027344,-5.6794222114151424e-5,8.655138743646585e-8,0.0033648679728196743,-5.6661634264931834e-5,8.631952160889124e-8,0.003365152316192434,-5.646808727765676e-5,8.598556119531746e-8,0.0033653823440695273,-5.6231009443925796e-5,8.557966538825618e-8,0.003365540348867742,-5.598115619209057e-5,8.515425825459867e-8,0.0033656236291926926,-5.5758262063050816e-5,8.477643543829795e-8,0.003365649237974656,-5.5601580627967396e-5,8.451187493962213e-8,0.003365652653538818,-5.5537505781072915e-5,8.440402629396734e-8,0.0033656789459104476,-5.5569291146105796e-5,8.445703766415184e-8,0.003365769023611574,-5.5674099565599833e-5,8.463116901817921e-8,0.003365946605285959,-5.580935658495085e-5,8.485389455646114e-8,0.003366211262409989,-5.592573091926771e-5,8.504204720695987e-8,0.0033665395943343838,-5.598132333980049e-5,8.512577176624952e-8,0.003366892961472996,-5.59521898282755e-5,8.506604596898847e-8,0.003367228357217615,-5.583677491599288e-5,8.486175343471328e-8,0.0033675090217883843,-5.565418314517531e-5,8.454632832083293e-8,0.0033677122812087027,-5.543770395775392e-5,8.417651191158752e-8,0.0033678331653782018,-5.522579913828783e-5,8.381704806824443e-8,0.0033678834944036373,-5.50530389308712e-5,8.352552276592036e-8,0.0033678872697589877,-5.494321345418341e-5,8.334103225252462e-8,0.003367874119813055,-5.490600237086945e-5,8.327889130742978e-8,0.0033678728417263332,-5.493731937946403e-5,8.333146207894089e-8,0.003367906582298691,-5.50223028120182e-5,8.347329601819736e-8,0.003367990240931756,-5.5139459330814e-5,8.36680693328067e-8,0.003368129820921837,-5.5264706650024884e-5,8.387526013174893e-8,0.0033683230141878383,-5.53746278372721e-5,8.405550425907457e-8,0.0033685602874602904,-5.544884667401181e-5,8.417455801548991e-8,0.0033688260245799536,-5.5471875403664845e-5,8.420648096017351e-8,0.0033690996964164,-5.54349217648513e-5,8.41368044105891e-8,0.0033693574390171246,-5.533796983745346e-5,8.396611154911362e-8,0.003369574738556079,-5.51920190230235e-5,8.371373979967595e-8,0.0033697309471166486,-5.502062543221554e-5,8.342014676700197e-8,0.0033698157191195807,-5.4858963662490004e-5,8.314502135403152e-8,0.00336983588693757,-5.4748211466438515e-5,8.295758836096101e-8,0.003369819180796456,-5.472435396786891e-5,8.291770942984493e-8,0.0033698103447281362,-5.4804144817696605e-5,8.305241791698605e-8,0.0033698580327925177,-5.497509215486744e-5,8.333937840761425e-8,0.00336999704671909,-5.519660736781785e-5,8.370918090270701e-8,0.003370235023755808,-5.541355414664154e-5,8.406846696487325e-8,0.0033705505910493,-5.557548077177791e-5,8.43325066766928e-8,0.0033709027002781183,-5.565191209448797e-5,8.445094442884492e-8,0.0033712449573918956,-5.563811944371171e-5,8.441726573141519e-8,0.0033715383281370122,-5.5551947479558465e-5,8.426301455023264e-8,0.0033717588003342688,-5.5425603682988634e-5,8.404350744757277e-8,0.0033718997534319347,-5.529628730757146e-5,8.382176259040501e-8,0.0033719703516509663,-5.519808521396885e-5,8.365483265879684e-8,0.0033719915125817105,-5.515616301581334e-5,8.358424368986457e-8,0.003371990670460589,-5.5183508520810655e-5,8.363084262341449e-8,0.003371996312094328,-5.5280222125438397e-5,8.37938999603007e-8,0.0033720332014755966,-5.543506986883743e-5,8.405389123547616e-8,0.0033721189855487107,-5.56286157858378e-5,8.437778720791833e-8,0.003372262458821144,-5.5837078683713314e-5,8.472545698884107e-8,0.0033724633940253805,-5.603614789623234e-5,8.505597653427594e-8,0.003372713546608454,-5.620417709122976e-5,8.533294234846123e-8,0.0033729982668022603,-5.632452546423462e-5,8.552844070193068e-8,0.00337329829570848,-5.6387235045065904e-5,8.562597120345452e-8,0.003373591662554191,-5.639037939243083e-5,8.56228158420924e-8,0.0033738558827816345,-5.634128823507716e-5,8.553209949381927e-8,0.0033740709065428706,-5.625757728164715e-5,8.538435984518772e-8,0.0033742233614416587,-5.6167318041165296e-5,8.522753464272809e-8,0.0033743120850930324,-5.6106839883563096e-5,8.512295286558207e-8,0.0033743535182657845,-5.6114284681771475e-5,8.51343302306435e-8,0.003374383584560917,-5.621816091412462e-5,8.530860378052354e-8,0.003374451653711905,-5.642363033026548e-5,8.565316246357324e-8,0.003374604874548048,-5.670392651341919e-5,8.612176775673318e-8,0.003374868363272367,-5.700515151316815e-5,8.662290807184912e-8,0.0033752327666612806,-5.726543902108981e-5,8.705223569982031e-8,0.003375657734454065,-5.743861941957818e-5,8.733251492462779e-8,0.00337608883276525,-5.7508964679654286e-5,8.743842547911098e-8,0.0033764770314720334,-5.749109053497066e-5,8.739613430904317e-8,0.003376791288154108,-5.741928432963936e-5,8.726484516431357e-8,0.003377021873463669,-5.733428391425587e-5,8.711405749206888e-8,0.003377177244553692,-5.727289468373037e-5,8.700584615729924e-8,0.0033772782065038614,-5.7261975296652276e-5,8.698482352101486e-8,0.003377351897211726,-5.731608876134401e-5,8.707450164078988e-8,0.0033774266600864046,-5.743750053577925e-5,8.727765185706965e-8,0.0033775279397840904,-5.761758344607225e-5,8.757892428997106e-8,0.0033776751676794963,-5.783921764291742e-5,8.794897670651642e-8,0.0033778797227997696,-5.807988352583364e-5,8.834963725304223e-8,0.0033781440270615184,-5.831509017006301e-5,8.873957895692964e-8,0.0033784617768650477,-5.8521803894550365e-5,8.908001953560924e-8,0.003378819238634322,-5.868149381761238e-5,8.933984781642511e-8,0.003379197323670683,-5.8782439093002966e-5,8.949957584080041e-8,0.003379574066231394,-5.882122050843463e-5,8.955393397490966e-8,0.003379927308581292,-5.880351542948081e-5,8.951323372093641e-8,0.0033802375736910525,-5.8744255904977356e-5,8.940353066295135e-8,0.003380491220639322,-5.86670851430349e-5,8.92654614473728e-8,0.003380684061250688,-5.8602724717853605e-5,8.915117457299559e-8,0.003380825238790617,-5.8585283278155506e-5,8.911787039413452e-8,0.0033809400725077258,-5.8645366370736766e-5,8.921617853680288e-8,0.0033810692089788217,-5.8799874204040243e-5,8.947323513780382e-8,0.003381260821250198,-5.904106722336901e-5,8.987469296042821e-8,0.0033815547925915685,-5.933123263112307e-5,9.0356110182332e-8,0.003381964109575867,-5.961028832185029e-5,9.081592148861166e-8,0.0033824647851254143,-5.981713959083937e-5,9.1151422106769e-8,0.003383003169851391,-5.9914358833980524e-5,9.130033548932249e-8,0.0033835175357943767,-5.9901254032734106e-5,9.126278647579509e-8,0.0033839605590798446,-5.980890433849116e-5,9.10926902260356e-8,0.00338431099616989,-5.968366488858203e-5,9.086948355865654e-8,0.0033845727837585357,-5.9570442762593056e-5,9.066948346775116e-8,0.0033847670858004075,-5.950243521857609e-5,9.05484296124944e-8,0.0033849232362922243,-5.9497727807565615e-5,9.053594275132374e-8,0.0033850716583332255,-5.956024397003957e-5,9.063751388399143e-8,0.0033852393421935963,-5.9682490187505253e-5,9.083949487511646e-8,0.0033854472176725985,-5.984859127500225e-5,9.111441080009529e-8,0.0033857086133339863,-6.003720459463659e-5,9.142588647628522e-8,0.0033860284271986017,-6.022439650227471e-5,9.173340583043047e-8,0.003386402955846923,-6.038656005091193e-5,9.199713865518988e-8,0.003386820462731965,-6.0503374088305864e-5,9.218289744117541e-8,0.003387262658810295,-6.05606230682693e-5,9.226693315388558e-8,0.0033877071395750856,-6.0552452997181255e-5,9.223981379163578e-8,0.0033881305330445235,-6.048266726105932e-5,9.210864890465263e-8,0.0033885120041810286,-6.036487174837796e-5,9.189727295160823e-8,0.003388836782278121,-6.022136221100909e-5,9.164417689053099e-8,0.003389099364723984,-6.008071140194549e-5,9.139814912203612e-8,0.003389306087909998,-5.9974056769629564e-5,9.121173103792565e-8,0.0033894766507592314,-5.992991778520634e-5,9.113234376727132e-8,0.0033896436217253243,-5.9967392439029444e-5,9.119094033650632e-8,0.003389848331184142,-6.00884494472235e-5,9.138938243016609e-8,0.003390131696696725,-6.027176738671097e-5,9.169052134537972e-8,0.003390520408645742,-6.0472489173007385e-5,9.20181223124543e-8,0.003391013048776062,-6.0632291852483944e-5,9.227391611926006e-8,0.003391574685345615,-6.069936708195099e-5,9.237117323434914e-8,0.0033921465752053356,-6.0649508463182645e-5,9.227013011226155e-8,0.003392668019375996,-6.049561955058757e-5,9.199390213601754e-8,0.003393098109249708,-6.027985582758634e-5,9.161498325294656e-8,0.003393425788317697,-6.005472021645174e-5,9.12229510324662e-8,0.00339366621882231,-5.986502345047448e-5,9.089367784604274e-8,0.003393849764889761,-5.973824800765525e-5,9.067301795341194e-8,0.0033940108887349028,-5.9683418753718195e-5,9.057517474706375e-8,0.0033941806177451347,-5.969475502631139e-5,9.058927390461232e-8,0.0033943828082887316,-5.9756555264083074e-5,9.068792616803152e-8,0.0033946329021984417,-5.984744069403636e-5,9.083450585144963e-8,0.003394937808251754,-5.994358255246006e-5,9.098854172687638e-8,0.003395296161910116,-6.002127117598997e-5,9.110993548500498e-8,0.003395698804414143,-6.0059267214638514e-5,9.116285658288206e-8,0.0033961296425301405,-6.004122350292775e-5,9.111984405853812e-8,0.0033965672449549665,-5.995817702591761e-5,9.096608893871411e-8,0.0033969875056327195,-5.9810681332088226e-5,9.070310529653611e-8,0.0033973673472186662,-5.960989551896998e-5,9.035055940505286e-8,0.0033976890073721226,-5.937702862808381e-5,8.994519524467432e-8,0.00339794414966279,-5.914078600227383e-5,8.953626954603158e-8,0.00339813686265762,-5.893285864413488e-5,8.91776383701858e-8,0.0033982846760873316,-5.8782022201718587e-5,8.891757350029357e-8,0.0033984170426695744,-5.8707756459061303e-5,8.878796990728907e-8,0.0033985710041651773,-5.8714419523522015e-5,8.879474808736464e-8,0.003398783964213327,-5.8787308590801815e-5,8.891163690828701e-8,0.003399084097724401,-5.889244323337396e-5,8.908026373626042e-8,0.003399480270250761,-5.898203293481756e-5,8.921967011645284e-8,0.0033999551699554283,-5.900646431000797e-5,8.924656326463904e-8,0.003400466358786225,-5.893049216975236e-5,8.91024588459512e-8,0.003400957801068039,-5.8747104648884236e-5,8.877683281588798e-8,0.003401378527359106,-5.848118000125292e-5,8.831304298309702e-8,0.0034016995373273343,-5.817987411373497e-5,8.779181892187154e-8,0.0034019205448226966,-5.789489120259509e-5,8.730103063936285e-8,0.0034020649231812825,-5.7666180030203005e-5,8.690798801868969e-8,0.003402168049287801,-5.751375176227864e-5,8.664571506488682e-8,0.003402265858276145,-5.743804869788241e-5,8.651389470980682e-8,0.00340238747932283,-5.742519852330234e-5,8.64881096032888e-8,0.0034025522455255973,-5.7453234933997976e-5,8.653057385184077e-8,0.0034027695489980392,-5.7497130460310654e-5,8.659865614011625e-8,0.003403039886903058,-5.753221388492227e-5,8.665054230622828e-8,0.0034033560870460524,-5.753644074444263e-5,8.664895352331391e-8,0.0034037044047870047,-5.7492186034072585e-5,8.656414307834132e-8,0.003404065680014834,-5.738807359108861e-5,8.637705347880114e-8,0.0034044170305128105,-5.722099116240365e-5,8.60828262613509e-8,0.003404734597935735,-5.6997926909140374e-5,8.569395943787588e-8,0.003404997558905359,-5.6736793275923886e-5,8.524163215191012e-8,0.0034051929890715296,-5.646520876211743e-5,8.477344074418974e-8,0.003405320408160798,-5.621648018227168e-5,8.434631513995815e-8,0.003405394300451476,-5.6022900264124296e-5,8.40149123124777e-8,0.0034054430646795236,-5.590772696450894e-5,8.381791884209707e-8,0.0034055038606741876,-5.587815564824331e-5,8.376626228374444e-8,0.0034056142384550816,-5.59216390476811e-5,8.383721738396868e-8,0.003405802567121793,-5.600706841995555e-5,8.397686437719106e-8,0.003406079762115114,-5.609104831024885e-5,8.411111539414267e-8,0.0034064347003346877,-5.6128202268790945e-5,8.416335082003054e-8,0.0034068351738956544,-5.6083285215666045e-5,8.407483916197228e-8,0.003407235151776666,-5.594181500695267e-5,8.382243623901492e-8,0.0034075871596243503,-5.5715353849958e-5,8.342714398589868e-8,0.0034078560389337632,-5.543856994368361e-5,8.294878555047174e-8,0.0034080288015259303,-5.5158405656903775e-5,8.246741739171249e-8,0.003408116556022004,-5.491960304745137e-5,8.20587213493105e-8,0.0034081483496585887,-5.475262430635319e-5,8.17736335484883e-8,0.0034081606287834965,-5.466819510979342e-5,8.162935251217643e-8,0.003408187213574958,-5.465879991060622e-5,8.161218884734959e-8,0.0034082529479952245,-5.470438823302094e-5,8.168747464274309e-8,0.0034083714747449156,-5.477893708194855e-5,8.181075694408507e-8,0.0034085458513296286,-5.4855751000708015e-5,8.193669718795236e-8,0.003408770414545297,-5.4910925975911326e-5,8.202480039048432e-8,0.003409032781106392,-5.4925363401297566e-5,8.204274072682829e-8,0.0034093155318804143,-5.488606600123461e-5,8.196858076576507e-8,0.0034095977133735593,-5.478735913882586e-5,8.179294852554372e-8,0.0034098566636729913,-5.463228818846857e-5,8.1521508229844755E-08,0.003410070752139286,-5.443391476149148e-5,8.117715796819658e-8,0.0034102233957102024,-5.4215684339399623e-5,8.0800505879973e-8,0.003410308068531649,-5.400958289018258e-5,8.044648266424068e-8]} \ No newline at end of file diff --git a/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_22.json b/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_22.json new file mode 100644 index 0000000..d5f6513 --- /dev/null +++ b/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_22.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1.0,"startIndex":22000,"numberOfSamples":1000,"samples":[0.003410332914201753,-5.3850894022675106e-5,8.017517098961131e-8,0.003410322528879365,-5.376958194615e-5,8.003701237438996e-8,0.0034103145652221627,-5.3780481135696216e-5,8.005617875605212e-8,0.0034103506775372276,-5.3876274061593275e-5,8.021888857849169e-8,0.003410464307410866,-5.402707135418975e-5,8.047308167596654e-8,0.003410669971601388,-5.4187778507499705e-5,8.074133887896081e-8,0.003410958362427396,-5.431078402439631e-5,8.094271511350002e-8,0.0034112988966924413,-5.435925986441926e-5,8.101538020005893e-8,0.0034116483046836123,-5.431671386401488e-5,8.093263501288651e-8,0.0034119621492173344,-5.41904204198061e-5,8.070834304160092e-8,0.0034122059256284677,-5.400841636122217e-5,8.039138838903804e-8,0.0034123629141804617,-5.38113276447821e-5,8.005145827068325e-8,0.003412436926427523,-5.3641509849942013e-5,7.976047048128742e-8,0.0034124495366027988,-5.3532666321671336e-5,7.957504010808949e-8,0.0034124330661485227,-5.350283981451321e-5,7.952484351765614e-8,0.0034124218722404974,-5.3552370565715433e-5,7.960947036368768e-8,0.0034124447457084236,-5.3666539079328896e-5,7.980316491937519e-8,0.0034125202858526367,-5.382106091332426e-5,8.00642647210325e-8,0.0034126555868305777,-5.398815305369993e-5,8.034545908014444e-8,0.0034128473776592204,-5.414152490629849e-5,8.06021342297411e-8,0.0034130843642180496,-5.425966542015235e-5,8.079783644736344e-8,0.0034133497512128354,-5.4327618445658844e-5,8.090725685897239e-8,0.003413623435855102,-5.4337869912637006e-5,8.091781018622006e-8,0.003413883907454681,-5.429097539492461e-5,8.083081580105819e-8,0.0034141102665403125,-5.419622361028624e-5,8.066268207707981e-8,0.0034142849136512055,-5.407215162017978e-5,8.044570051432896e-8,0.00341439730488426,-5.394617096384391e-5,8.022718223765307e-8,0.003414448551881033,-5.385201336379878e-5,8.006482802604857e-8,0.0034144554442633347,-5.382365677022172e-5,8.001619006311863e-8,0.003414451133210198,-5.388562472720168e-5,8.012215438343905e-8,0.0034144795115925615,-5.4042269894100845e-5,8.038890648236031e-8,0.003414582717752921,-5.427144088560471e-5,8.077748959286917e-8,0.0034147858366957128,-5.452785635760065e-5,8.120990068433355e-8,0.003415086335408109,-5.475685197042185e-5,8.159276299340531e-8,0.0034154541675420077,-5.491264135361651e-5,8.184854560101504e-8,0.003415842328369328,-5.497241133679643e-5,8.19395012048398e-8,0.0034162020648540446,-5.494079694397467e-5,8.187500799224558e-8,0.0034164960597480513,-5.484509224563486e-5,8.170297816008171e-8,0.003416705855690934,-5.472520370648011e-5,8.14923147861858e-8,0.0034168331491478627,-5.462263220717812e-5,8.131389578844407e-8,0.003416896425673255,-5.457135459703978e-5,8.122506662590603e-8,0.003416924864737033,-5.459196701501527e-5,8.125992201462119e-8,0.0034169512624180483,-5.468942093895768e-5,8.142580537893595e-8,0.0034170054267853647,-5.485407812356393e-5,8.17054100824689e-8,0.0034171092005408077,-5.506533196508355e-5,8.206310391954363e-8,0.0034172737893538854,-5.529662285957986e-5,8.24534661992994e-8,0.0034174994368857004,-5.552057481406241e-5,8.282992315001632e-8,0.0034177769459542693,-5.5713266654435735e-5,8.315188937008223e-8,0.0034180902481047706,-5.58571185539423e-5,8.338960767448971e-8,0.0034184192209990544,-5.594239734507513e-5,8.352672714006698e-8,0.0034187422744122974,-5.5967759795049916e-5,8.356130894842189e-8,0.0034190386613258106,-5.5940313585960716e-5,8.350600300356605e-8,0.0034192907451060053,-5.5875438829459745e-5,8.338772029482915e-8,0.0034194865853197334,-5.5796286755981725e-5,8.324661178228372e-8,0.0034196231618546383,-5.573239332743332e-5,8.313343416160889e-8,0.0034197100026956712,-5.571629566234729e-5,8.310353167794132e-8,0.0034197718373557965,-5.5777017730924494e-5,8.320565011677361e-8,0.0034198476546487924,-5.593045265235306e-5,8.346570742357244e-8,0.0034199832418701356,-5.6169307155583144e-5,8.387000547866622e-8,0.0034202166393619616,-5.64584557493018e-5,8.435767926960611e-8,0.0034205614639800535,-5.67418663020452e-5,8.483274082655738e-8,0.003420997727034218,-5.696140593963007e-5,8.51962311929662e-8,0.0034214773558268368,-5.707879301142648e-5,8.538365211417604e-8,0.0034219421419332224,-5.708851047552745e-5,8.538688805157197e-8,0.0034223438059788605,-5.701585691614104e-5,8.525060072019697e-8,0.0034226564954146083,-5.690413699843295e-5,8.504993386503595e-8,0.003422878920363075,-5.679944106094893e-5,8.486413227000239e-8,0.0034230291674335464,-5.6739176541925223e-5,8.475681081074442e-8,0.003423136660697731,-5.6746178962097036e-5,8.476606168603778e-8,0.0034232343831674863,-5.682746769406769e-5,8.490269488349289e-8,0.0034233527024106186,-5.697594757338996e-5,8.515352124084064e-8,0.003423515048462373,-5.717372366496969e-5,8.548725451920484e-8,0.003423735360724929,-5.739623453008071e-5,8.586162778920173e-8,0.0034240171921175824,-5.761661689063496e-5,8.623076555625632e-8,0.003424354282394761,-5.7809781532945634e-5,8.655200921001188e-8,0.003424732337212298,-5.795580012171021e-5,8.679159414405439e-8,0.0034251316600929604,-5.804228112995662e-5,8.692867283680107e-8,0.0034255301389273553,-5.8065571370678764e-5,8.695739993818016e-8,0.0034259061435299876,-5.8030942708281336e-5,8.68873016976559e-8,0.003426241192945239,-5.7952061490074354e-5,8.674237096252997e-8,0.003426522442310002,-5.784987818084441e-5,8.655906513984539e-8,0.0034267450710929025,-5.775090698206635e-5,8.638314938058331e-8,0.0034269146613510586,-5.768461436478088e-5,8.626498016672915e-8,0.0034270492888037753,-5.7679206341423455e-5,8.625215296635437e-8,0.0034271801115048016,-5.775513150463932e-5,8.637847340111039e-8,0.003427348318837799,-5.791673040416302e-5,8.66500111928406e-8,0.003427596290732135,-5.814466196255829e-5,8.703260278195282e-8,0.0034279529627239238,-5.8394327194921334e-5,8.744949479355945e-8,0.003428418470586544,-5.860576263431353e-5,8.77983298726461e-8,0.00342895785967562,-5.872474275422114e-5,8.79870966366347e-8,0.0034295111225311516,-5.872520138069127e-5,8.797231646130829e-8,0.0034300159367414112,-5.8619276575255356e-5,8.777608739665868e-8,0.003430429936364875,-5.8449346719175054e-5,8.747221956219683e-8,0.0034307409539403753,-5.8269005362368705e-5,8.715330218992734e-8,0.0034309636874953423,-5.812488879415304e-5,8.689927969838687e-8,0.0034311290547955646,-5.804651663753494e-5,8.676002574361577e-8,0.0034312730856115364,-5.804431513186724e-5,8.675224016919222e-8,0.003431428842749821,-5.811258599710215e-5,8.686495556850346e-8,0.003431621833748501,-5.823424073945281e-5,8.706799112634763e-8,0.0034318679871170456,-5.838549788451625e-5,8.732014432177786e-8,0.0034321731793053077,-5.854001187955921e-5,8.757621999925782e-8,0.0034325337535511193,-5.8672442465983527E-05,8.779300375802679e-8,0.0034329377969641297,-5.876149483775846e-5,8.79343338304245e-8,0.0034333670820067457,-5.8792422402358875e-5,8.7975316488367e-8,0.0034337996533433854,-5.875886549720411e-5,8.790547650809066e-8,0.0034342129023982814,-5.8663743295375374e-5,8.773032040338553e-8,0.0034345867528595554,-5.8519040728693963E-05,8.747098149349937e-8,0.00343490662495616,-5.834457618854895e-5,8.716204139286165e-8,0.003435165997133961,-5.816584043444344e-5,8.684766473704805e-8,0.003435368377604481,-5.8010940498476064e-5,8.657614158669101e-8,0.003435528469312809,-5.79066894188021e-5,8.639300030976978e-8,0.0034356721817477088,-5.787374966119817e-5,8.633265875065238e-8,0.0034358346431882215,-5.7920805816179714e-5,8.640865043476558e-8,0.00343605489737805,-5.8038637339463834e-5,8.660388209222903e-8,0.0034363663675272185,-5.8196543664505935e-5,8.686495377469283e-8,0.003436784132872785,-5.834498191690136e-5,8.710692888866458e-8,0.003437293776835478,-5.8427735873480615e-5,8.72341254787051e-8,0.0034378497110881335,-5.8402092841660325e-5,8.717442687949159e-8,0.0034383882973978448,-5.8257765502926945e-5,8.691145603639477e-8,0.003438851408713721,-5.802240303565348e-5,8.649384664598423e-8,0.0034392073380863355,-5.774932951993929e-5,8.601401185593557e-8,0.0034394577744100104,-5.749559608304214e-5,8.557022184800596e-8,0.003439630233895451,-5.7303386349150334e-5,8.523451882013677e-8,0.0034397639148655676,-5.71921018810065e-5,8.503923334835471e-8,0.003439897152082377,-5.716002300749245e-5,8.498019404726612e-8,0.0034400599773055985,-5.719061355114749e-5,8.502796230293353e-8,0.0034402713672934656,-5.725932344600479e-5,8.513976877355545e-8,0.0034405393098027363,-5.7338962376120295e-5,8.52687687250456e-8,0.0034408620305790096,-5.7403458295962594e-5,8.5370360365332e-8,0.0034412295639111826,-5.74305399376233e-5,8.540661686558558e-8,0.0034416255077720182,-5.7403819017073256e-5,8.534975049941572e-8,0.0034420290593737894,-5.7314494475115625e-5,8.518502074925517e-8,0.0034424175204084556,-5.7162649725107814e-5,8.491300299198063e-8,0.0034427693744096327,-5.695780291358059e-5,8.45505703435799e-8,0.003443067694390436,-5.671827027498391e-5,8.412977141244271e-8,0.0034433033585062117,-5.6469137408961e-5,8.369422260683416e-8,0.003443477522363603,-5.6238888006486065e-5,8.329312068593308e-8,0.0034436028265143223,-5.6054927768332085e-5,8.297335687745774e-8,0.0034437028776761053,-5.593849466785818e-5,8.277067663956046e-8,0.0034438096971042514,-5.589961405993521e-5,8.270110737924363e-8,0.0034439589152577502,-5.593284157050621e-5,8.275395289466784e-8,0.0034441825909026142,-5.601493075148707e-5,8.288821797121621e-8,0.0034445001635288017,-5.610621465702858e-5,8.303535737202917e-8,0.0034449095226591654,-5.615762951966539e-5,8.311147869532069e-8,0.0034453821233687756,-5.612393855092263e-5,8.303989847633601e-8,0.003445866927768903,-5.598013860657117e-5,8.277898571579688e-8,0.003446305117155568,-5.573359851034611e-5,8.234268399454156e-8,0.003446650688170405,-5.54237541297035e-5,8.179975395214818e-8,0.003446886420895123,-5.5107576665760024e-5,8.124862318937609e-8,0.0034470267259821934,-5.483846667724602e-5,8.078097385183255e-8,0.00344710766051307,-5.464993566767857e-5,8.04536936374894e-8,0.003447171789706657,-5.455038535028025e-5,8.028012646114274e-8,0.0034472558389312216,-5.452741901483898e-5,8.02378602589795e-8,0.003447384454009153,-5.455622510521429e-5,8.028347230580017e-8,0.003447569166450617,-5.460748845901849e-5,8.036626359875367e-8,0.003447810144196527,-5.465292154467429e-5,8.043768722291936e-8,0.0034480987268725206,-5.466849659176279e-5,8.045671557812648e-8,0.003448419783191651,-5.46362499989435e-5,8.039277888315682e-8,0.003448753772593059,-5.45454637568273e-5,8.022774113086465e-8,0.0034490787902391605,-5.439364106836301e-5,7.995762374625734e-8,0.003449372967644381,-5.41872734508112e-5,7.959400330433788e-8,0.0034496174799257423,-5.394199608711304e-5,7.916430464845655e-8,0.003449800033082265,-5.368150494101013e-5,7.870985989025718e-8,0.0034499182123150364,-5.343472982432336e-5,7.828086678372597e-8,0.003449981722370573,-5.323117506956941e-5,7.792815673433031e-8,0.0034500124919465153,-5.30949612652312e-5,7.769278778854012e-8,0.0034500419488425822,-5.303878495366926e-5,7.759565134357626e-8,0.003450105483013042,-5.305939695552917e-5,7.762989261880157e-8,0.0034502349108771345,-5.3136052000312036E-05,7.775860628781301e-8,0.00345045036327994,-5.3232896856317525e-5,7.791934553656435e-8,0.0034507534559009615,-5.330563477313901e-5,7.803586216602371e-8,0.0034511239123253042,-5.331189940292976e-5,7.80359816725961e-8,0.0034515217741313154,-5.3223411868618484e-5,7.787229296285301e-8,0.0034518963778732035,-5.303630985682997e-5,7.753954870439826e-8,0.003452200772443476,-5.277494601652743e-5,7.708083438603485e-8,0.0034524067233620208,-5.24857622131667e-5,7.657676351766069e-8,0.003452513539318852,-5.222238745671445e-5,7.611970105647155e-8,0.003452546358006263,-5.202834487641089e-5,7.578401494859984e-8,0.003452545316805372,-5.1925238857953614e-5,7.56059228122419e-8,0.0034525517079226162,-5.1910531969244896e-5,7.55799748568084e-8,0.0034525973425899702,-5.1963341595560646e-5,7.566935879164173e-8,0.003452699860306806,-5.2053492925631584e-5,7.582168477769657e-8,0.003452863075258511,-5.2149607426261665e-5,7.598291155508565e-8,0.0034530799060755258,-5.222439818684115e-5,7.61063070119408e-8,0.003453335818338361,-5.2257343532068194e-5,7.615685892232103e-8,0.003453611766785339,-5.223571891965294e-5,7.61129377116946e-8,0.0034538864899658996,-5.215494408708145e-5,7.596690383151867e-8,0.003454138506384482,-5.201882998128307e-5,7.572562427973521e-8,0.003454348337076918,-5.183978826068164e-5,7.541091271463072e-8,0.0034545013314538756,-5.1638552963418784e-5,7.505903324803353e-8,0.003454591043269122,-5.144265642680074e-5,7.47179322561575e-8,0.0034546224963198295,-5.128290588661151e-5,7.444094709790633e-8,0.003454614029832736,-5.118756231866206e-5,7.427657654620211e-8,0.0034545960964780477,-5.117499667449252e-5,7.425575471974446e-8,0.0034546059759224725,-5.124696696840789e-5,7.438038383349255e-8,0.003454678971542103,-5.13853618139435e-5,7.46180167622108e-8,0.003454838496800186,-5.155451806553497e-5,7.490622976898416e-8,0.003455088410098183,-5.170923490366474e-5,7.516676020545438e-8,0.0034554104312331923,-5.18063784397559e-5,7.53256558047392e-8,0.0034557677626890567,-5.181660232781692e-5,7.533338722547459e-8,0.003456114043853787,-5.173270086815992e-5,7.517894604581043e-8,0.0034564052677747885,-5.157212308820495e-5,7.48937718027089e-8,0.003456611436614271,-5.1372648185342906e-5,7.454392055414663e-8,0.0034567244663298784,-5.118206849108857e-5,7.421205085109125e-8,0.0034567595924578005,-5.104487112438851e-5,7.397444303572169e-8,0.0034567496932292933,-5.0990411029647274e-5,7.388079046187029e-8,0.0034567348219838017,-5.1026634462844346E-05,7.394368941315555e-8,0.0034567511208470503,-5.1140910162072285e-5,7.41404001886787e-8,0.003456822969488365,-5.130640701071599e-5,7.442407063670418e-8,0.0034569600809666373,-5.149059048477161e-5,7.473844540174441e-8,0.003457158836079232,-5.166263101478568e-5,7.503054191154755e-8,0.0034574058624226842,-5.179814342816616e-5,7.525864485773623e-8,0.0034576819982162126,-5.188131487414444e-5,7.53958236160267e-8,0.003457965624434055,-5.190529764163641e-5,7.543055726802653e-8,0.003458235153642075,-5.187182989119657e-5,7.536613158997809e-8,0.003458470988800748,-5.179074706531707e-5,7.52198852644471e-8,0.0034586575036994354,-5.1679536585510255e-5,7.502247538759579e-8,0.0034587855033521653,-5.156254212189298e-5,7.481641900418598e-8,0.0034588552057932243,-5.1469030724573484e-5,7.465256143383775e-8,0.0034588791061978532,-5.142920657003421e-5,7.458297859873786e-8,0.003458883218149259,-5.1467660711166246e-5,7.464955268013278e-8,0.0034589045776179444,-5.159510836468649e-5,7.48697763858947e-8,0.0034589835250980615,-5.180135000044591e-5,7.522485150187091e-8,0.0034591517840109193,-5.205370320062124e-5,7.56573232920082e-8,0.0034594206555359705,-5.2303828254811026e-5,7.608317761780516e-8,0.0034597750906966754,-5.250174966429808e-5,7.641623908985145e-8,0.0034601771049745287,-5.2611539439694236e-5,7.659526793472266e-8,0.003460577222136936,-5.262200185778321e-5,7.660223703442587e-8,0.003460928903507887,-5.254861496345348e-5,7.646534203758294e-8,0.003461200559315436,-5.2427345790902366e-5,7.624789704143432e-8,0.0034613819623500147,-5.230371513415596e-5,7.602909490634815e-8,0.00346148446467581,-5.2220931733726785e-5,7.58833715008536e-8,0.003461536103359664,-5.2210117968981436e-5,7.586364467457609e-8,0.003461573517811942,-5.2284544913011865e-5,7.599167543503633e-8,0.0034616329485504336,-5.243864613206289e-5,7.625673698865155e-8,0.003461742549106104,-5.265142211148723e-5,7.662177846795173e-8,0.003461917703165235,-5.2892782274308036e-5,7.703449448843473e-8,0.0034621599737674246,-5.313072477304534e-5,7.74396760194996e-8,0.0034624591084389793,-5.33374098966768e-5,7.778955053911857e-8,0.003462796779292467,-5.349304510582412e-5,7.805033191515012e-8,0.003463150686187144,-5.3587487694671127e-5,7.820488911072816e-8,0.0034634980867577683,-5.362014291759816e-5,7.825256020973388e-8,0.0034638184347490337,-5.35989854743125e-5,7.820751398896041e-8,0.0034640953366142095,-5.353936163065365e-5,7.809672470592285e-8,0.0034643182806015373,-5.3462782486652334e-5,7.795785220255605e-8,0.0034644845501561154,-5.339545627403919e-5,7.783656035226323e-8,0.0034646014413177184,-5.336592005983549e-5,7.778221516267927e-8,0.0034646882637985664,-5.3400881599815127e-5,7.78405393635882e-8,0.003464776653159077,-5.351867683920702e-5,7.804231285445772e-8,0.003464906957150965,-5.372111733504216e-5,7.838949782169935e-8,0.0034651189235659127,-5.398689725856593e-5,7.884418711991946e-8,0.0034654377510551313,-5.427171287388532e-5,7.932912268318844e-8,0.003465861181889111,-5.45189747063227e-5,7.974637922620187e-8,0.0034663557995089868,-5.4679006723517416e-5,8.001057810235294e-8,0.003466866832075317,-5.4727667638690595e-5,8.008101605182355e-8,0.003467337213583027,-5.467430917764118e-5,7.997525515932372e-8,0.0034677259185634294,-5.45558137956383e-5,7.975848386026634e-8,0.0034680175758430914,-5.4421850197762574e-5,7.951758779610465e-8,0.003468221945391668,-5.431943863471243e-5,7.93341221303494e-8,0.003468366749984431,-5.4282189894998705e-5,7.926564782173139e-8,0.003468488253575451,-5.432554626942201e-5,7.933775100923389e-8,0.003468622577673265,-5.4446940976185534e-5,7.954473091422483e-8,0.00346879910386759,-5.4629139136083834e-5,7.985575566520995e-8,0.003469036315266957,-5.484531500646757e-5,8.022385234336574e-8,0.0034693400970225562,-5.506482644748267e-5,8.05959068464886e-8,0.003469704347103154,-5.525874833196587e-5,8.09221138287859e-8,0.003470113426848338,-5.54043045866477e-5,8.116348069551332e-8,0.003470545719066106,-5.548767615842907e-5,8.129655797854296e-8,0.0034709775149081618,-5.550506450046016e-5,8.131522490515083e-8,0.0034713865350294564,-5.546223505877917e-5,8.122990831469518e-8,0.00347175466700389,-5.537307165347207e-5,8.10651077332558e-8,0.003472069935483391,-5.5257707024367603e-5,8.085614780070984e-8,0.0034723279767847086,-5.514048489525153e-5,8.064555763367976e-8,0.0034725332728849033,-5.504767565387728e-5,8.047894670947377e-8,0.0034727002510506733,-5.5004592720721175e-5,8.039983781883514e-8,0.003472853897452726,-5.5031486682279284e-5,8.044249502323219e-8,0.0034730286883273595,-5.513778809238864e-5,8.062209526950794e-8,0.003473263973229728,-5.531544130156531e-5,8.092351809161323e-8,0.0034735943076693245,-5.553413717659481e-5,8.129347436960563e-8,0.003474035665897499,-5.574326882078972e-5,8.16441259001113e-8,0.0034745731955609315,-5.5884742086398796e-5,8.18752580591423e-8,0.0034751596486798657,-5.5914583892773785e-5,8.19115493205368e-8,0.003475729749079442,-5.5822556153648676e-5,8.173640984494093e-8,0.0034762246796353497,-5.563705319293436e-5,8.140033666182622e-8,0.003476612701492186,-5.541203574155975e-5,8.099801039245487e-8,0.003476895422108325,-5.52051656998577e-5,8.063001150121857e-8,0.0034771002354880218,-5.50597528893753e-5,8.037124816213464e-8,0.003477266808137206,-5.499678333889154e-5,8.025718895626209e-8,0.003477434878777277,-5.501575513956466e-5,8.028567476587208e-8,0.0034776364077081026,-5.510010155564282e-5,8.042677847876208e-8,0.0034778919129647623,-5.522370891534653e-5,8.063443431098723e-8,0.003478209655577147,-5.53567664624354e-5,8.085668027157581e-8,0.003478586484780268,-5.547053781197861e-5,8.104383769654996e-8,0.003479009745324267,-5.5541137233202974e-5,8.115488223399064e-8,0.0034794599661624203,-5.55522999409954e-5,8.116209039532e-8,0.00347991406310937,-5.5497055559913984e-5,8.105385714697197e-8,0.00348034877409459,-5.5378226962704636e-5,8.083554656447708e-8,0.003480743967899695,-5.5207701396177e-5,8.052824678244802e-8,0.003481085399356866,-5.500462615502403e-5,8.016563989201027e-8,0.003481366669257658,-5.4792906661938594e-5,7.978960191727658e-8,0.0034815903954937507,-5.459831114198394e-5,7.944505128213398e-8,0.003481768645435652,-5.444530524158718e-5,7.917429462220676e-8,0.003481922641158277,-5.435363020679066e-5,7.901097650404148e-8,0.003482081557943241,-5.43344611388244e-5,7.897344901624152e-8,0.0034822796949849086,-5.438607219406785e-5,7.90574880741661e-8,0.0034825508886991334,-5.4489814677525574e-5,7.922969966297901e-8,0.003482919510198329,-5.460863179618924e-5,7.942530879637457e-8,0.00348338922468968,-5.4691530175031036e-5,7.955606784582527e-8,0.0034839341482262006,-5.468684887826709e-5,7.953314250976801e-8,0.003484500044929782,-5.456236411226566e-5,7.930171563250027e-8,0.003485020395764967,-5.432242661163013e-5,7.887051211495277e-8,0.003485441830665722,-5.4009666442778456e-5,7.831463037203127e-8,0.003485744308334187,-5.3687830051453043e-5,7.774555423085291e-8,0.003485944356059249,-5.341619454208322e-5,7.726643890430705e-8,0.0034860824605426953,-5.323068031905013e-5,7.69391413336341e-8,0.003486205192699337,-5.313887848336849e-5,7.677573716104043e-8,0.003486351616487765,-5.312585818689202e-5,7.674902644824243e-8,0.003486546989851855,-5.3163832246076e-5,7.680975614919294e-8,0.003486802071512451,-5.322081037736187e-5,7.690188262653895e-8,0.003487115234474545,-5.326655085161755e-5,7.697289095930539e-8,0.003487475361305784,-5.3276107450321254e-5,7.697977967690026e-8,0.00348786468748232,-5.323188756023941e-5,7.689243976502786e-8,0.003488261541112851,-5.3124867656400085e-5,7.669564695902987e-8,0.0034886431118577687,-5.2955187271283527e-5,7.639006967152842e-8,0.0034889883345022694,-5.273207584356439e-5,7.599217164183895e-8,0.00348928082718179,-5.247287143335613e-5,7.553253065060545e-8,0.0034895115406157772,-5.220092938007728e-5,7.505217138911657e-8,0.0034896806403166163,-5.194253721386278e-5,7.45970984578306e-8,0.003489798281891112,-5.17231700616895e-5,7.421163449310192e-8,0.003489884081885023,-5.156346255637453e-5,7.393127924950925e-8,0.0034899651917605482,-5.1475349070217194e-5,7.37759579390884e-8,0.0034900730046242873,-5.145880727187514e-5,7.374448490150087e-8,0.0034902384487222934,-5.149957504391051e-5,7.38108940008001e-8,0.003490485713360978,-5.1568581097192085e-5,7.392383226896056e-8,0.0034908247516596694,-5.162452953725788e-5,7.401135645851316e-8,0.0034912442178913756,-5.162129070334261e-5,7.399384833356589e-8,0.0034917082870866084,-5.152067046187914e-5,7.380600775763368e-8,0.003492161919526589,-5.1307906470345714e-5,7.342344472404727e-8,0.0034925468003312904,-5.100251708159784e-5,7.28812436475048e-8,0.0034928230231711763,-5.065567102917774e-5,7.22692085054129e-8,0.00349298480607223,-5.0332008284307815e-5,7.170010948102879e-8,0.003493060486880091,-5.008509810197167e-5,7.126687367301145e-8,0.0034930978108644877,-4.994040408769448e-5,7.10129659368693e-8,0.003493144812116986,-4.989292212429899e-5,7.092852991350264e-8,0.003493236329890927,-4.991616821749949e-5,7.09664233386691e-8,0.003493389382240401,-4.997451260323819e-5,7.106400377600212e-8,0.0034936049670886314,-5.003303046878982e-5,7.116036558566628e-8,0.0034938724850190725,-5.006315699024087e-5,7.120605641471014e-8,0.003494174181710002,-5.004500801825621e-5,7.116689888635155e-8,0.003494488647240114,-4.9967898958017656e-5,7.10247226686362e-8,0.003494793491455296,-4.983017838931351e-5,7.077701977191036e-8,0.0034950676495118685,-4.963883343406836e-5,7.043629688622425e-8,0.0034952936893218015,-4.940884123717768e-5,7.00290073852739e-8,0.0034954602703394025,-4.91619116469257e-5,6.959337044053813e-8,0.003495564525333123,-4.8924164351532744e-5,6.917524860206665e-8,0.0034956137545527114,-4.872255946766232e-5,6.882178267966077e-8,0.003495625715726868,-4.858035828766625e-5,6.857332667336269e-8,0.003495626962793271,-4.8512296531638016e-5,6.845495049254806e-8,0.003495649053141319,-4.852049680516395e-5,6.846936904534974e-8,0.00349572299679345,-4.859225484338337e-5,6.859329915473242e-8,0.0034958728136478237,-4.870052145709375e-5,6.877863372874697e-8,0.003496109274904872,-4.8807474643686194e-5,6.895900381066696e-8,0.0034964250870034323,-4.887130098211752e-5,6.906179269833887e-8,0.0034967931639454048,-4.885581409325789e-5,6.902485348345956e-8,0.0034971698712657363,-4.874139651093061e-5,6.881530246607359e-8,0.0034975044920154213,-4.853405294472491e-5,6.84449092255104e-8,0.0034977539089692195,-4.82679369446728e-5,6.797415829244196e-8,0.0034978977356623906,-4.799750824878962e-5,6.749837862946622e-8,0.003497946438249529,-4.778016802970108e-5,6.71174247409688e-8,0.003497937170337883,-4.765667743097292e-5,6.690162413586374e-8,0.0034979190953097782,-4.763908471093491e-5,6.687094352623798e-8,0.003497936251514583,-4.771117288133363e-5,6.699607854306233e-8,0.0034980160892215074,-4.783863709240464e-5,6.72164958349271e-8,0.0034981665960245093,-4.798196106874302e-5,6.746304065721289e-8,0.0034983797653029723,-4.810632101892896e-5,6.7675162011292e-8,0.003498637465113023,-4.818668505636025e-5,6.780961989824135e-8,0.003498916867361659,-4.820909523255125e-5,6.784251930616007e-8,0.0034991943722301896,-4.816994545602405e-5,6.77679407084832e-8,0.003499448182358842,-4.8074658565751284e-5,6.759564195017042e-8,0.003499660159392372,-4.793641707463699e-5,6.734892080114882e-8,0.003499817561197899,-4.777495464323169e-5,6.70625616249293e-8,0.0034999149556601225,-4.761498368904733e-5,6.678005875369204e-8,0.0034999561644388504,-4.7483672003196496e-5,6.654908362581237e-8,0.003499955598723389,-4.7406752130685654e-5,6.64145242188782e-8,0.003499937981419274,-4.7403373506660164e-5,6.64093764187308e-8,0.0034999354725625304,-4.748062569635709e-5,6.654518620862992e-8,0.0034999818663642855,-4.762947778629249e-5,6.680512211808298e-8,0.003500104737353191,-4.782411608126126e-5,6.714310459443665e-8,0.0035003176166506283,-4.802589279357225e-5,6.749101949715656e-8,0.0035006147541124916,-4.819155958831892e-5,6.777333062458293e-8,0.0035009704717046735,-4.8283900302600454e-5,6.79257035406021e-8,0.0035013438418472647,-4.828195062171539e-5,6.791269545624289e-8,0.0035016879794580935,-4.818789700989003e-5,6.77394776851162e-8,0.00350196195728518,-4.8028314713332036e-5,6.7453611515929e-8,0.0035021422800556846,-4.784851634702435e-5,6.713486096804716e-8,0.0035022301857497284,-4.770064526201016e-5,6.687425034339409e-8,0.0035022515726871335,-4.762872570098612e-5,6.674801281177754e-8,0.003502248809025409,-4.76559744371242e-5,6.6795665439382e-8,0.0035022673478896467,-4.777938593190681e-5,6.701087743219682e-8,0.003502342631637575,-4.7973344665574994e-5,6.734808187955503e-8,0.0035024922414820824,-4.819969702053791e-5,6.774024524213613e-8,0.003502715017307082,-4.841926028605082e-5,6.811897897486228e-8,0.0035029954034810603,-4.8600480484494276e-5,6.842952899629088e-8,0.003503309784163736,-4.872362633221379e-5,6.863790981889476e-8,0.0035036322351094896,-4.878127146575032e-5,6.873159448741184e-8,0.0035039386022962613,-4.877672372667128e-5,6.871671928860393e-8,0.003504208970165578,-4.87218399559206e-5,6.861430714964363e-8,0.003504429141433504,-4.863501729753385e-5,6.845682584882933e-8,0.00350459182981821,-4.853945290340068e-5,6.828516088744188e-8,0.0035046979735865453,-4.846124060565817e-5,6.814520400131455e-8,0.00350475808642424,-4.842667362547513e-5,6.808297903800876e-8,0.00350479302443529,-4.845822639406622e-5,6.813746753851686e-8,0.003504833027239744,-4.8569169986268695e-5,6.833115419174137e-8,0.003504913702238319,-4.8757838383985466e-5,6.866012446657687e-8,0.0035050683853181447,-4.900391199350466e-5,6.908782646579392e-8,0.0035053182256271995,-4.926964452673352e-5,6.954751938057267e-8,0.003505663509814919,-4.950767016413277e-5,6.995616209346973e-8,0.003506080502214955,-4.967398233611283e-5,7.023720489982495e-8,0.0035065262851390663,-4.974153435641874e-5,7.034430756266863e-8,0.003506950416802348,-4.970896615211756e-5,7.027638385694825e-8,0.003507309058355678,-4.960110682063593e-5,7.0078148342398e-8,0.003507576569966767,-4.9461571981689524e-5,6.982680430100155e-8,0.003507751260505524,-4.9340525835212706e-5,6.961036660223815e-8,0.0035078543380118467,-4.928155435713404e-5,6.950463542881697e-8,0.003507923017411245,-4.931120710474176e-5,6.955507505634865e-8,0.003508000088817847,-4.943373386134086e-5,6.976794205386932e-8,0.0035081230318595195,-4.9631997266688886e-5,7.011223942234489e-8,0.003508315707408989,-4.987372010955851e-5,7.053089174394624e-8,0.003508584634184765,-5.012067906449034e-5,7.095689951327328e-8,0.003508920154172877,-5.033779131119303e-5,7.13291488630146e-8,0.0035093011174319503,-5.0499608977751295e-5,7.16036029544808e-8,0.0035097008909079027,-5.059322819724562e-5,7.175822123658268e-8,0.003510092795370233,-5.0618099620991336e-5,7.179252228933486e-8,0.0035104540074803628,-5.058396686418179e-5,7.172395576915468e-8,0.0035107678630634256,-5.050815563358695e-5,7.15831936559844e-8,0.0035110250474179707,-5.041300190160958e-5,7.140965978633763e-8,0.003511224303772449,-5.0323602655051194e-5,7.124755864747469e-8,0.003511373081760116,-5.026556563032649e-5,7.114182180173342e-8,0.0035114881227789486,-5.026219499321855e-5,7.113303314780363e-8,0.003511595434404246,-5.0330578468163386e-5,7.125049337013055e-8,0.003511728512620591,-5.047647794780582e-5,7.15033405278639e-8,0.0035119233836461974,-5.0689046876978714e-5,7.187153222950117e-8,0.003512209769178392,-5.093800093324406e-5,7.230120436607415e-8,0.003512599955153083,-5.1176799888461815e-5,7.271049692322936e-8,0.003513080034794742,-5.135392592457402e-5,7.300940477436388e-8,0.003513609502076132,-5.14298349934786e-5,7.312941724983363e-8,0.0035141320281950124,-5.139216413429823e-5,7.305001548325024e-8,0.0035145936629104664,-5.1261041454466944e-5,7.28077595651944e-8,0.003514959887450534,-5.108168091747994e-5,7.248300624823855e-8,0.0035152241266274524,-5.090867675710344e-5,7.217204520177112e-8,0.0035154059396990682,-5.078968882418096e-5,7.195828527441259e-8,0.0035155420813633245,-5.075426745699315e-5,7.189270617613542e-8,0.0035156751083582306,-5.0809654038145116e-5,7.198679130075311e-8,0.003515843117254807,-5.094257374417173e-5,7.221607476825528e-8,0.0035160725094786714,-5.112494538587068e-5,7.253048594280297e-8,0.0035163744088703465,-5.132142690619098e-5,7.286773029032713e-8,0.0035167446049327736,-5.1497064920155425e-5,7.316666417595633e-8,0.003517166385541075,-5.1623642515698906e-5,7.337826896105822e-8,0.0035176151934762446,-5.168374224689177e-5,7.347259275945112e-8,0.0035180638474490854,-5.167220679053694e-5,7.344117159692746e-8,0.003518487230567752,-5.159533656149261e-5,7.329555446259182e-8,0.0035188657466365884,-5.146856119474064e-5,7.306321274190783e-8,0.0035191873567905307,-5.13134535075297e-5,7.278232032475649e-8,0.0035194484899109596,-5.1154771029381724e-5,7.249655785721567e-8,0.0035196543025420254,-5.101775638284942e-5,7.225031546170417e-8,0.0035198186084428556,-5.0925530397301455e-5,7.208400788541844e-8,0.0035199635105888586,-5.089622436322815e-5,7.202894163244655e-8,0.003520118343208592,-5.093945103045378e-5,7.210112224469392e-8,0.0035203169511922577,-5.105206016209678e-5,7.229397007328736e-8,0.003520592065648051,-5.1214188069510806e-5,7.2571689142489e-8,0.00352096625240208,-5.138810927673326e-5,7.286756429012272e-8,0.0035214411001403445,-5.1523353653888815e-5,7.309310451119305e-8,0.0035219896591436894,-5.15702050538723e-5,7.316168179423694e-8,0.0035225589618442157,-5.149859927706176e-5,7.302152157725176e-8,0.003523085668432638,-5.1313067895405906e-5,7.268175566529078e-8,0.003523518917940908,-5.105359802726036e-5,7.221375246224139e-8,0.003523838095962248,-5.0780520742168284e-5,7.17243210762634e-8,0.0035240564761216146,-5.0552185506667285e-5,7.13161973079306e-8,0.003524211505779421,-5.040730619616483e-5,7.105688273569124e-8,0.003524349502340482,-5.035813602950126e-5,7.096680808680643e-8,0.0035245122820342207,-5.039321453053906e-5,7.102455458373297e-8,0.003524729076631242,-5.0485092313253465e-5,7.1180850127246e-8,0.003525013583176288,-5.059899047337806e-5,7.137404304621766e-8,0.003525364590777378,-5.070022815478351e-5,7.154318300099117e-8,0.0035257686958330417,-5.075977742115368e-5,7.163764186847562e-8,0.003526204144558562,-5.075793251795897e-5,7.16233638631601e-8,0.003526645154897335,-5.06861406598159e-5,7.148591957241648e-8,0.003527066167471657,-5.0547118838004726e-5,7.123062042100954e-8,0.0035274455836368955,-5.03535175473795e-5,7.088014482938875e-8,0.003527768623758874,-5.012545639882056e-5,7.047021401502236e-8,0.0035280290362206864,-4.988738877980477e-5,7.004408058198917e-8,0.0035282296839363246,-4.966483945398808e-5,6.964675729891865e-8,0.003528382291270085,-4.9481325891113706e-5,6.931952735975422e-8,0.003528506567199636,-4.935546278755109e-5,6.909476075587484e-8,0.003528628724271695,-4.929815291741338e-5,6.899092748257108e-8,0.0035287791842859104,-4.9309749713025403e-5,6.900767973450815e-8,0.0035289888641371506,-4.9377284113068966e-5,6.912119895490268e-8,0.003529283256307753,-4.947268367777429e-5,6.92813827041382e-8,0.0035296742313782816,-4.955407009659888e-5,6.941439827038625e-8,0.003530151349516904,-4.957278427309963e-5,6.943511266213218e-8,0.0035306772094212354,-4.948747198735312e-5,6.92717079077621e-8,0.003531192964839601,-4.928195652942658e-5,6.889685346018671e-8,0.0035316365215482056,-4.89774365236009e-5,6.834895029601523e-8,0.003531966575744259,-4.862874958980648e-5,6.772540073203424e-8,0.0035321786442322665,-4.830377164926679e-5,6.714615431489767e-8,0.003532303511122255,-4.805750770984733e-5,6.670788672264682e-8,0.0035323910644271955,-4.7915439884981005e-5,6.645464473265158e-8,0.003532490905278016,-4.787198094158151e-5,6.637538089556046e-8,0.0035326391070453276,-4.7899603242805185e-5,6.6420465804465665E-08,0.003532853457600977,-4.79609329089279e-5,6.652335567882734e-8,0.003533134764875135,-4.801870810507902e-5,6.661826425948239e-8,0.0035334709225311187,-4.80420607780708e-5,6.6651124930788e-8,0.0035338414892082007,-4.800969554135657e-5,6.658497123133597e-8,0.003534221883309781,-4.791109649069916e-5,6.640185991590025e-8,0.0035345870911481937,-4.774650430734176e-5,6.610271983901248e-8,0.003534914922415681,-4.7525956167852065e-5,6.570564041722356e-8,0.003535188784668761,-4.726751897573049e-5,6.524278234784632e-8,0.003535399869757837,-4.699475689773158e-5,6.475593288560843e-8,0.003535548488616758,-4.673352273796198e-5,6.429082959559262e-8,0.0035356443027719678,-4.6508419457597334e-5,6.389085743601263e-8,0.003535705452163371,-4.633936348530399e-5,6.359090277517784e-8,0.0035357567090917945,-4.623851257366044e-5,6.341187165168234e-8,0.003535826730715225,-4.6207747236638295e-5,6.335626221346214e-8,0.0035359444328626815,-4.62369186224868e-5,6.340521229944e-8,0.0035361343987252193,-4.6303140463713727e-5,6.351750974087675e-8,0.0035364112077063,-4.637182901460024e-5,6.363172583245652e-8,0.0035367731674912405,-4.640084478194753e-5,6.367372155706706e-8,0.003537197303637594,-4.634911429135081e-5,6.357183762261232e-8,0.0035376391122535576,-4.618966433176537e-5,6.327964211385549e-8,0.003538041119459337,-4.592349949638268e-5,6.280007246840904e-8,0.0035383510638224264,-4.558644822183458e-5,6.219724757422401e-8,0.0035385429814836127,-4.524104977366377e-5,6.158200500178063e-8,0.0035386287865788782,-4.495389988038994e-5,6.107183348045023e-8,0.003538652157842681,-4.477026159769317e-5,6.074602879654554e-8,0.0035386688439036844,-4.47004078804151e-5,6.062170724859673e-8,0.003538726003163398,-4.4722809906257866e-5,6.065974926915645e-8,0.0035388505435425223,-4.4797903515981296e-5,6.078947944701308e-8,0.003539047874416657,-4.488281287540454e-5,6.093489620785433e-8,0.0035393068814284787,-4.4941391084842396e-5,6.103238884542969e-8,0.003539606554146499,-4.494882794965666e-5,6.103867464873075e-8,0.003539921676724328,-4.4892499760318906e-5,6.093205597538492e-8,0.003540226919719803,-4.477102781459113e-5,6.07105950251088e-8,0.0035404997394379314,-4.4592754938286915e-5,6.03893845810904e-8,0.0035407226338242614,-4.437398906963968e-5,5.999749164758063e-8,0.003540885022134315,-4.413694086471505e-5,5.957436958624628e-8,0.0035409847601478635,-4.3907158055120185e-5,5.91653320895687e-8,0.003541029039603609,-4.371029443432704e-5,5.881578782502931e-8,0.003541034222876167,-4.3568356911767184e-5,5.856451374224705e-8,0.0035410242820919035,-4.34959360356527e-5,5.843690932693798e-8,0.0035410278165807162,-4.349704460319828e-5,5.8439391136652944e-8,0.003541073866467474,-4.35631774348635e-5,5.8556051173999174e-8,0.003541186954993939,-4.367314619920436e-5,5.874856491748497e-8,0.0035413819586960823,-4.379504612211161e-5,5.895993621631804e-8,0.003541659481115643,-4.389056974908652e-5,5.9122364071120686e-8,0.0035420026717852874,-4.392188556736655e-5,5.9169501196338025e-8,0.0035423770266627625,-4.386091460591744e-5,5.9052739202674654e-8,0.003542735137307152,-4.369954534362978e-5,5.8758966934382756e-8,0.003543027709928473,-4.345726115647605e-5,5.8323693696870554e-8,0.003543219432923343,-4.318096116450492e-5,5.783045574779396e-8,0.0035433037039722254,-4.293306375151269e-5,5.7389662664115485e-8,0.003543307510625984,-4.2770211481893025e-5,5.710096925546551e-8,0.003543281657416864,-4.2722564889928e-5,5.7016803661170176e-8,0.0035432808969128654,-4.2784998811324036e-5,5.7127048886294805e-8,0.003543345083182791,-4.29237431526913e-5,5.7371094348610354e-8,0.0035434901225729534,-4.309218173774192e-5,5.766603094543882e-8,0.0035437096200434323,-4.324625449648452e-5,5.793397699501254e-8,0.003543982437111229,-4.335377416740421e-5,5.811844457672117e-8,0.003544280963361055,-4.339731616568985e-5,5.81892230593214e-8,0.003544577345674607,-4.337307492070495e-5,5.814014309175838e-8,0.0035448472547188253,-4.328818788598209e-5,5.798423922921832e-8,0.003545071945356522,-4.315800457900615e-5,5.774893393946444e-8,0.0035452395202854154,-4.300371531604833e-5,5.7471914844255585e-8,0.0035453459408502194,-4.285012265748278e-5,5.719723861116069e-8,0.0035453958923160433,-4.2723120313231096e-5,5.697084279090594e-8,0.0035454032149012556,-4.264651128545993e-5,5.683482254338785e-8,0.0035453903011499546,-4.2638151061864956e-5,5.682050114724788e-8,0.003545385835098054,-4.270593783651835e-5,5.6941284815840156e-8,0.0035454206037119564,-4.2844639289619016e-5,5.718710304786205e-8,0.003545521737679013,-4.3034763683612925e-5,5.7522579910149e-8,0.0035457064554863466,-4.3244478586494526e-5,5.7890672855239426e-8,0.0035459768841103315,-4.343484771283477e-5,5.822218243869248e-8,0.0035463175130871715,-4.35676865911608e-5,5.8449803092231185e-8,0.003546696374372438,-4.361459001005239e-5,5.852408386886376e-8,0.003547070408275864,-4.3565227278255075e-5,5.842791123349795e-8,0.0035473947092906958,-4.343266116837182e-5,5.8185596798430805e-8,0.003547634245769986,-4.3253317404532224e-5,5.786248016398101e-8,0.003547775128552845,-4.307980993012999e-5,5.755198880500784e-8,0.0035478310759871168,-4.296686019185961e-5,5.7350653828112885e-8,0.003547840931561206,-4.295416001320256e-5,5.732790326738767e-8,0.003547856465191098,-4.305323561587963e-5,5.7503072995357236e-8,0.0035479251065484753,-4.3244764513410865e-5,5.7840967381065036e-8,0.0035480755467052556,-4.3487437490787506e-5,5.82678059755974e-8,0.003548312159234838,-4.3733132149183526e-5,5.869821561074207e-8,0.003548618609759482,-4.394085957403888e-5,5.9059893258797215e-8,0.0035489665155445534,-4.4084657379925696e-5,5.930742385274079e-8,0.0035493243155301293,-4.4155064485646884e-5,5.94246850590516e-8,0.0035496635912923074,-4.415657349882108e-5,5.942017343141657e-8,0.003549962454933137,-4.4103723515838815e-5,5.932002348157367e-8,0.0035502068853032385,-4.401745537774121e-5,5.91615814739689e-8,0.0035503910919313167,-4.392223541541534e-5,5.898836758135166e-8,0.0035505176599334156,-4.3843716170544275e-5,5.884594653272736e-8,0.0035505977261718136,-4.3806355923926305e-5,5.877765373835154e-8,0.0035506509029348764,-4.38304481117814e-5,5.881923373523053e-8,0.0035507042417583052,-4.392838644885185e-5,5.8992150582505356e-8,0.003550789375607358,-4.4100629561268414e-5,5.9296460179193444e-8,0.0035509372747178996,-4.4332623510118206e-5,5.970549942120029e-8,0.0035511709877155606,-4.459455929913146e-5,6.016568287046157e-8,0.0035514981633926815,-4.4845618151110135e-5,6.060425933750863e-8,0.0035519062473257645,-4.504285818124529e-5,6.094521953949166e-8,0.003552363010141798,-4.515265199572119e-5,6.112959670344877e-8,0.0035528232538145662,-4.516091931665212e-5,6.113348597576136e-8,0.0035532400588138987,-4.5078419810363994e-5,6.097717700290937e-8,0.0035535771481694945,-4.4939099071296303e-5,6.07218955472018e-8,0.0035538186514130496,-4.479186991256323e-5,6.045492489427308e-8,0.0035539735035672354,-4.4688098423139305e-5,6.02672442098929e-8,0.0035540731748337205,-4.466810631879039e-5,6.022963420680442e-8,0.0035541630731403067,-4.475043551216551e-5,6.037388305148787e-8,0.003554289865126375,-4.4927280773815736e-5,6.068503341769779e-8,0.0035544886846951913,-4.516779476639947e-5,6.110755581298996e-8,0.0035547745839082123,-4.542805241964009e-5,6.156319330980759e-8,0.0035551408759050616,-4.5663759910920776e-5,6.197350799964669e-8,0.003555563963135248,-4.5841008864221135e-5,6.227883337795943e-8,0.0035560116876657694,-4.5941979139417047e-5,6.24482093400329e-8,0.0035564516280192447,-4.596527201117455e-5,6.24798008660841e-8,0.003556857010155012,-4.592266312849646e-5,6.239502440655055e-8,0.003557209714814007,-4.5834565631833704e-5,6.223046308066282e-8,0.003557501080364987,-4.572581403912075e-5,6.203040815733011e-8,0.0035577315537230697,-4.562240269450946e-5,6.184110140786349e-8,0.003557910036471095,-4.554903608560832e-5,6.170637764909142e-8,0.0035580533024840793,-4.552692161730423e-5,6.166368747736406e-8,0.0035581853049642667,-4.557119728743023e-5,6.173946177102266e-8,0.0035583356940717664,-4.568768485662425e-5,6.194333838364082e-8,0.0035585365708927026,-4.586927857225371e-5,6.226185510588425e-8,0.0035588166627198116,-4.609326999183041e-5,6.265390851272246e-8,0.003559193137323904,-4.632193829336071e-5,6.30520372167614e-8,0.003559663281878733,-4.650876999059089e-5,6.337362542760012e-8,0.003560200245713937,-4.661063021140253e-5,6.354254648899662e-8,0.0035607569317794813,-4.6602396654738655e-5,6.351506594055439e-8,0.003561278648384015,-4.6487494514614917e-5,6.32983887923139e-8,0.0035617199935504846,-4.6298558243764545e-5,6.29516014692535e-8,0.003562058627582537,-4.608741314362649e-5,6.256758166751812e-8,0.0035623004672044175,-4.5909078533960046e-5,6.224430829280521e-8,0.003562475581175662,-4.5806486601264316e-5,6.205760310203278e-8,0.0035626279001984354,-4.580067735294027e-5,6.204384806523509e-8,0.003562802954124633,-4.5888015756848204e-5,6.219537779330008e-8,0.003563037055132452,-4.6043654273636875e-5,6.246701201447148e-8,0.003563350070700666,-4.622932203076322e-5,6.27901620525839e-8,0.0035637427913076075,-4.6403085941301916e-5,6.309025042503193e-8,0.003564198880158738,-4.6528682381631946e-5,6.330320173165173e-8,0.0035646903766327347,-4.658232632749611e-5,6.338736538669235e-8,0.0035651848849890845,-4.6555732749513495e-5,6.332870370697999e-8,0.0035656523705938485,-4.645535269046844e-5,6.313929883122431e-8,0.0035660700713561725,-4.6298937321714985e-5,6.285117367268997e-8,0.003566425004528302,-4.611096934697695e-5,6.250815533966789e-8,0.0035667143995241142,-4.591827694533483e-5,6.215809174271331e-8,0.0035669448573334944,-4.574655007561588e-5,6.184666832943819e-8,0.0035671310343054594,-4.561778706202556e-5,6.161284724828767e-8,0.0035672942787601126,-4.554824175451044e-5,6.148516952915002e-8,0.0035674611803288114,-4.5546361387194964e-5,6.147805454901015e-8,0.003567661543033928,-4.5610385548273515e-5,6.158757512312564e-8,0.003567924912442449,-4.5725767445714075e-5,6.178702994408387e-8,0.0035682748142848095,-4.5863544983274e-5,6.202428486357496e-8,0.0035687207877180566,-4.598192357438832e-5,6.222480065079293e-8,0.0035692503506583244,-4.603366023380281e-5,6.230484445613422e-8,0.0035698255742100237,-4.597995195287227e-5,6.219611092854864e-8,0.0035703895352063105,-4.580682740172019e-5,6.187471998839677e-8,0.003570883632004423,-4.553525834522834e-5,6.137904502638934e-8,0.003571268864222055,-4.521699225352601e-5,6.080211684283172e-8,0.0035715396695708015,-4.4916408899932836e-5,6.025908338968015e-8,0.003571723198393817,-4.468799023289393e-5,5.984686372144387e-8,0.003571866379697392,-4.456067955242553e-5,5.961625196141818e-8,0.0035720191409290983,-4.453406964456066e-5,5.956536150564443e-8,0.0035722211083410766,-4.458410992868764e-5,5.965019352482582e-8,0.003572494625911943,-4.4673173061435514e-5,5.980293252365561e-8,0.0035728434568544545,-4.476028636567257e-5,5.995034390494367e-8,0.0035732552997467812,-4.480936493091201e-5,6.002839604720158e-8,0.003573706429317807,-4.479480285769821e-5,5.99920413721776e-8,0.0035741673042217212,-4.4704415364411226e-5,5.982025244393188e-8,0.0035746082437256763,-4.45398457623661e-5,5.951659167339322e-8,0.003575004335958261,-4.43147481520429e-5,5.9105889956792483e-8,0.003575338940318722,-4.405137481478573e-5,5.862814161090186e-8,0.0035756054724064797,-4.3776367002100296e-5,5.81310100746709e-8,0.0035758075061845546,-4.3516565870462726e-5,5.766237414128631e-8,0.0035759576042431298,-4.32955011747464e-5,5.726406668644314e-8,0.003576075473322457,-4.313078064462699e-5,5.696719548910158e-8,0.0035761858511276887,-4.3032185858342236e-5,5.678871564724287e-8,0.0035763162079560256,-4.300017921430965e-5,5.672876610846801e-8,0.0035764940524594456,-4.3024605140873026e-5,5.6768438605918676e-8,0.0035767432881861085,-4.30836704446525e-5,5.686814868430869e-8,0.0035770790275487753,-4.314407216803266e-5,5.6968106744896594e-8,0.0035775010573515023,-4.3164050813275044e-5,5.699394484154996e-8,0.003577987803146952,-4.310136895375068e-5,5.6870952361826546e-8,0.0035784948165471183,-4.292678335936257e-5,5.65479221696561e-8,0.003578962840272767,-4.2639405852658924e-5,5.602429479005061e-8,0.003579336851006414,-4.227498438897039e-5,5.536473452635238e-8,0.003579588685688661,-4.18979968512765e-5,5.468488805835137e-8,0.0035797296080622783,-4.1578011198993515e-5,5.4109049105691114e-8,0.0035798042114301037,-4.1363105981440804e-5,5.372259413331688e-8,0.0035798702564199783,-4.126542984896543e-5,5.354626012529212e-8,0.0035799774382410184,-4.126391236459329e-5,5.354128307652321e-8,0.003580154993927935,-4.1317791469285e-5,5.363395239974795e-8,0.003580409608935486,-4.1381581597515776e-5,5.374262013811699e-8,0.003580729783643385,-4.1415934670145685e-5,5.3797139133405634e-8,0.003581092408746188,-4.139336320909661e-5,5.3748926352074026e-8,0.003581469034566333,-4.130007224972205e-5,5.357400193982709e-8,0.0035818310034735766,-4.1135487314135264e-5,5.3271956810880735e-8,0.0035821534692491988,-4.0910476824976e-5,5.286268340386592e-8,0.003582418418358619,-4.06446935945381e-5,5.238161243589318e-8,0.0035826166797022483,-4.0363280171443215e-5,5.187384845082181e-8,0.00358274884529989,-4.009317462540421e-5,5.1387588037206476e-8,0.003582824995614943,-3.985933882274082e-5,5.096737917280055e-8,0.0035828632611508504,-3.9681384105172434e-5,5.064806914993073e-8,0.0035828875139954875,-3.957098298811167e-5,5.045014818249678e-8,0.003582924529544475,-3.953016479695639e-5,5.0376688098463605e-8,0.00358300081862799,-3.955047708564117e-5,5.0411877426842314e-8,0.0035831392261010796,-3.961300640930363e-5,5.052117648958689e-8,0.003583355214352302,-3.968931328155379e-5,5.065319072165797e-8,0.0035836526718863154,-3.974377438611344e-5,5.074407946967609e-8,0.003584019676710392,-3.973841845099247e-5,5.072633320424865e-8,0.0035844258489106545,-3.9641235948389545e-5,5.0543575221023724e-8,0.003584824176308066,-3.943762986883524e-5,5.0170788891649215e-8,0.0035851605988330357,-3.914173842671066e-5,4.963424297277142e-8,0.0035853918960880448,-3.880043670747472e-5,4.9018405921792256e-8,0.003585505322328108,-3.848249328671764e-5,4.844644654517097e-8,0.003585527515563994,-3.8253569503164206e-5,4.803549689485371e-8,0.0035855144146158527,-3.8149888897543195e-5,4.784960245800021e-8,0.0035855273906091824,-3.8166487904675314e-5,4.787887836846632e-8,0.0035856104495281117,-3.8265157169492204e-5,4.805402080142565e-8,0.0035857798816200707,-3.8393560363288984e-5,4.828082047147677e-8,0.0035860268763078557,-3.8503227747035004e-5,4.847250586230702e-8,0.003586326680961035,-3.855986372475001e-5,4.8568113786697065e-8,0.003586648121636525,-3.8546152355993225e-5,4.853728942981486e-8,0.0035869605978639182,-3.846010828728895e-5,4.837710529272839e-8,0.003587238303345829,-3.8311783073421156e-5,4.810602981932446e-8,0.0035874625495865785,-3.811982896336047e-5,4.775775329407981e-8,0.00358762304655042,-3.790829412712801e-5,4.7375493462969575e-8,0.003587718543212155,-3.7703539314087314e-5,4.700651815697953e-8,0.0035877568854504843,-3.753109690746856e-5,4.669652828927809e-8,0.0035877543189045003,-3.741240911193318e-5,4.648378792509094e-8,0.0035877337821993926,-3.736170012036886e-5,4.639348279578213e-8,0.003587722146397466,-3.738348798138e-5,4.643324183247487e-8,0.003587746637258956,-3.747117499085622e-5,4.659063494568057e-8,0.0035878308010265218,-3.760702188597041e-5,4.683321176191194e-8,0.0035879904688035855,-3.776372946249842e-5,4.7111485215557924e-8,0.0035882302134709367,-3.790765307608103e-5,4.736488113389693e-8,0.0035885407027646038,-3.800358818517712e-5,4.753047496748133e-8,0.0035888975265631912,-3.802122612155703e-5,4.755460390198331e-8,0.003589262683625903,-3.7943134492679234e-5,4.740703403510289e-8,0.003589590313060849,-3.777295305645327e-5,4.709535929441549e-8,0.0035898376636516174,-3.754070148435225e-5,4.6674180657203245e-8,0.003589979939820703,-3.730052104784748e-5,4.6240824276023414e-8,0.003590023371945228,-3.711708048632642e-5,4.5910925049693536e-8,0.0035900077501635065,-3.7042871910765236e-5,4.577784781514526e-8,0.0035899933020088546,-3.709707415007798e-5,4.587502096050476e-8,0.003590037208575344,-3.725873614994456e-5,4.6163979998570615e-8,0.0035901730111987757,-3.747812082032692e-5,4.655494611376622e-8,0.0035904033060219416,-3.769784537258867e-5,4.6944876133643913e-8,0.003590705852666982,-3.787137405914086e-5,4.725061888805473e-8,0.0035910458330059257,-3.7972004750569304e-5,4.7424881917477886e-8,0.0035913870901548824,-3.799305368319623e-5,4.7456342834723396e-8,0.003591699210907479,-3.794340612840332e-5,4.736148608065085e-8,0.0035919606768198722,-3.7842095199116786e-5,4.7174801397497153e-8,0.0035921596171359957,-3.7713708795726786e-5,4.6940568127754947e-8,0.003592293558379161,-3.758490512066759e-5,4.6706667488679346e-8,0.0035923688823323,-3.7481625279828046e-5,4.651961895285797e-8,0.0035924001126666325,-3.742650014676788e-5,4.641991343171655e-8,0.003592408782381076,-3.743612894819133e-5,4.643708427178588e-8,0.0035924214411165024,-3.751830128528744e-5,4.6584688608919025e-8,0.0035924664696293106,-3.7669705308534085e-5,4.685621045027915e-8,0.003592569774155505,-3.7874901547291835e-5,4.7223301285490726e-8,0.003592749902450613,-3.810728859606727e-5,4.763765035237718e-8,0.0035930135281971444,-3.833251364146036e-5,4.8037268016193544e-8,0.003593352477999401,-3.85142094254474e-5,4.835692293551611e-8,0.003593743318325711,-3.862124028617287e-5,4.8541211620976406e-8,0.0035941500803349773,-3.8635219635304036e-5,4.855799005285224e-8,0.0035945303054739485,-3.8556856029829644e-5,4.8409563859566875e-8,0.0035948441441678958,-3.84093266238022e-5,4.8138450958546775e-8,0.0035950652932258955,-3.823653707192244e-5,4.7823971958565097E-08,0.003595191000352243,-3.809453371200407e-5,4.7566669363102354e-8,0.003595246796889517,-3.803631027123147e-5,4.7461060314247433E-08,0.0035952816700368603,-3.809404780623166e-5,4.756396298769029e-8,0.0035953529476908017,-3.826654280703843e-5,4.7872228760978966e-8,0.0035955064360887307,-3.851914359448242e-5,4.832290540180464e-8,0.0035957614102684605,-3.8797097685212365e-5,4.8817364790469434e-8,0.0035961074408753227,-3.904519065318432e-5,4.925659081088645e-8,0.0035965125426542463,-3.922380619036841e-5,4.9569925989950274e-8,0.0035969362675940465,-3.9315732962972006e-5,4.972712682605005e-8,0.003597341109482439,-3.932441886961113e-5,4.9735041797245097e-8,0.0035976991308152764,-3.9267828750470704e-5,4.962644042986901e-8,0.0035979941492756103,-3.917176770050048e-5,4.944797265987095e-8,0.0035982212646163817,-3.906461231436291e-5,4.925073309806581e-8,0.0035983853864858173,-3.8973731332623625e-5,4.9083882869826816e-8,0.003598499705108412,-3.8923037020490345e-5,4.899027237780294e-8,0.003598584313547959,-3.893093107139329e-5,4.900272753215885e-8,0.003598664665047769,-3.900814200916675e-5,4.914012707459969e-8,0.003598769295912446,-3.91554181102269e-5,4.940325446403414e-8,0.003598926296552057,-3.936159589408526e-5,4.9771395938974046e-8,0.0035991584178781378,-3.9603052569638225e-5,5.020149262688757e-8,0.0035994774570306106,-3.9845742495034574e-5,5.063196470603437e-8,0.003599879456446016,-4.0050595060088164e-5,5.099254875986903e-8,0.0036003427551529487,-4.018188155414745e-5,5.121939647495595e-8,0.0036008305267239238,-4.021666105614067e-5,5.127201267350899e-8,0.003601298082359539,-4.015241628723848e-5,5.114683795044416e-8,0.0036017034785005065,-4.001010080325409e-5,5.0882498429844205e-8,0.0036020186446318633,-3.983102151691306e-5,5.055393791953197e-8,0.00360223784043595,-3.966773922720605e-5,5.025583994965174e-8,0.0036023807275160397,-3.957088011118183e-5,5.0078834765566855e-8,0.0036024884440489483,-3.957514576006304e-5,5.008445593779248e-8,0.003602612836630004,-3.9688759093846825e-5,5.028643421396089e-8,0.003602801507346342,-3.9890448396384285e-5,5.064559582445518e-8,0.0036030837132397233,-4.013591224250133e-5,5.1081729897139555e-8,0.0036034625787910108,-4.037175117016467e-5,5.149873123423126e-8,0.0036039164745840613,-4.0551277524241955e-5,5.181297742668326e-8,0.0036044080529050305,-4.0646004294966926e-5,5.197384946590186e-8,0.00360489619893693,-4.064945869958866e-5,5.197041780922286e-8,0.0036053460251226866,-4.0574082061552914e-5,5.182570742191499e-8,0.0036057344318386826,-4.044453999591332e-5,5.158455566701788e-8,0.0036060514579108944,-4.029075668722807e-5,5.130104481965624e-8,0.003606299011004411,-4.01424970484346e-5,5.1028778692332877e-8,0.0036064885833287518,-4.0025849226308426e-5,5.081459498933569e-8,0.003606638973317254,-3.9961099891688534e-5,5.069476213733481e-8,0.003606774332411993,-3.9961203232245695e-5,5.069221405358963e-8,0.0036069222452277806,-4.003023028212907e-5,5.081374865009258e-8,0.0036071112182922568,-4.016168303508934e-5,5.1047028727656355e-8,0.003607366963232316,-4.033714988858951e-5,5.135826999643147e-8,0.0036077072303672525,-4.0526398781894345e-5,5.169257162187404e-8,0.0036081358410376746,-4.069044856608033e-5,5.19795998409735e-8,0.00360863791472181,-4.0788768684664725e-5,5.214662964419998e-8,0.0036091792602710175,-4.079000858969095e-5,5.2137837160242114e-8,0.003609712280943959,-4.068309768113012e-5,5.1934170132578293e-8,0.0036101880918484254,-4.04838562463079e-5,5.1565076095717744e-8,0.0036105710604826644,-4.0233135214053623e-5,5.11049366675387e-8,0.0036108500263461432,-3.998610781681087e-5,5.065355467128838e-8,0.003611041677968052,-3.9796540409886596e-5,5.0307660035659015e-8,0.0036111851665100313,-3.970186618515915e-5,5.0134017422303575e-8,0.0036113304864999287,-3.971382372907988e-5,5.0152753919674675e-8,0.0036115247250119607,-3.98167918000583e-5,5.033467938084641e-8,0.0036118001491949494,-3.997345877334354e-5,5.061180843179813e-8,0.003612167114637999,-4.013564216404726e-5,5.089703004119631e-8,0.0036126132814578962,-4.025692196720492e-5,5.110687626163271e-8,0.0036131087640671185,-4.0303479742982214e-5,5.118093281193777e-8,0.0036136150876857724,-4.026034802700086e-5,5.109292725088119e-8,0.003614094856008835,-4.0132016043704154e-5,5.085165351686192e-8,0.0036145193074628326,-3.993836208888382e-5,5.0493512681573206e-8,0.003614872292763547,-3.9708210576448246e-5,5.0070825982924494e-8,0.003615150815762236,-3.947285164647236e-5,4.9640137095099506e-8,0.0036153632808230353,-3.926096931140428e-5,4.9253097195019005e-8,0.0036155267616432177,-3.909538048400595e-5,4.89506275147321e-8,0.0036156642392711075,-3.8991230807476714e-5,4.8759693003331155e-8,0.0036158021749105296,-3.895495080175904e-5,4.86914245950835e-8,0.0036159682275933073,-3.8983383111791493e-5,4.873955389149923e-8,0.003616188577386115,-3.9062911493915725e-5,4.887889729439448e-8,0.0036164842465590077,-3.9168981167351876e-5,4.906461395007111e-8,0.003616866127419069,-3.926707099410478e-5,4.9234122993500053E-08,0.003617329348913702,-3.931673398289274e-5,4.9314522167269587e-8,0.003617849150796829,-3.928001916208648e-5,4.923780665633049e-8,0.003618381798653043,-3.913360777112033e-5,4.896267227430695e-8,0.0036188735440883186,-3.888055553865431e-5,4.849554188132768e-8,0.003619276853702225,-3.855491658006466e-5,4.789873129478229e-8,0.0036195676184713646,-3.821416389457841e-5,4.7276580612196774e-8,0.0036197545025373444,-3.792090095161403e-5,4.6742254073388355e-8,0.0036198753513412853,-3.772222272857822e-5,4.6380371688515686e-8,0.0036199830801991757,-3.763623905030227e-5,4.6222755173165736e-8,0.00362012849213772,-3.7650144684676776e-5,4.624521707582522e-8,0.003620346940104583,-3.77278873639625e-5,4.6381754134727366e-8,0.0036206519317770578,-3.7822429509832206e-5,4.654694600928876e-8,0.0036210353347296935,-3.788800232657244e-5,4.6658156643896576e-8,0.0036214722356083732,-3.7889552847069945e-5,4.665250017723497e-8,0.0036219282737146377,-3.7808250334028e-5,4.6496606350338104e-8,0.003622367558528604,-3.764294604213074e-5,4.618907856043481e-8,0.003622759613618764,-3.740807222574171e-5,4.5756568470016735e-8,0.003623084197594277,-3.7129000539556704e-5,4.524531717165578e-8,0.0036233334897944123,-3.6836271033352585e-5,4.471070197478162e-8,0.003623511822352105,-3.656004150987419e-5,4.42072171491852e-8,0.003623633625770037,-3.632568696345636e-5,4.378055463898182e-8,0.0036237204746564565,-3.615095303416537e-5,4.3462496938331666e-8,0.0036237980238943072,-3.604451542869379e-5,4.326833725239851e-8,0.0036238932087061873,-3.600542881626248e-5,4.3195891834918523e-8,0.0036240316260941043,-3.6022998605292114e-5,4.322528366433578e-8,0.003624234754252283,-3.6076927455552074E-05,4.331926852948421e-8,0.0036245165668879796,-3.613800749232242e-5,4.34246123367742e-8,0.003624879311897084,-3.617023187311202e-5,4.3476066000601294e-8,0.0036253090835464646,-3.6135726391495956e-5,4.3405390637871034e-8,0.0036257732585274127,-3.6003592967351125e-5,4.315733397260209e-8,0.0036262232058954036,-3.576186980901324e-5,4.271111422394686e-8,0.003626605331546473,-3.542823247726426e-5,4.209956869519151e-8,0.003626879436036661,-3.50518579454549e-5,4.1412337399755736e-8,0.0036270365079126123,-3.470071004044956e-5,4.0772704917605835e-8,0.0036271047904969573,-3.443736111457935e-5,4.029373159298715e-8,0.0036271389316380864,-3.429581521273013e-5,4.003629528591115e-8,0.0036271983746661196,-3.427189565117347e-5,3.999186380888534e-8,0.0036273272627723543,-3.433001504928174e-5,4.009507060595036e-8,0.0036275443605000503,-3.441929039714666e-5,4.02532013146905e-8,0.003627843559349204,-3.448978456372097e-5,4.037574941419381e-8,0.0036282007307444626,-3.450355291645972e-5,4.039436204166938e-8,0.0036285824334346232,-3.443962968437811e-5,4.027168052144104e-8,0.003628953774846586,-3.4294406238919776e-5,4.000181674287031e-8,0.003629284453436167,-3.4079224683629005e-5,3.960585055025596e-8,0.00362955288864694,-3.381643465683662e-5,3.912462715686188e-8,0.0036297485036715003,-3.353465476085004e-5,3.8610171191587416e-8,0.0036298722480067286,-3.3263883330298314e-5,3.811684927278125e-8,0.003629935574821214,-3.303104643643447e-5,3.769332757952957e-8,0.003629958188257625,-3.285642390889165e-5,3.737611903004188e-8,0.003629964993502037,-3.275128511796277e-5,3.7185320702803963e-8,0.0036299828010852926,-3.271683137367501e-5,3.712271268820873e-8,0.003630037189355566,-3.274419552984249e-5,3.7171770693712e-8,0.003630149597490292,-3.281517977483511e-5,3.729903127915843e-8,0.0036303345419651353,-3.290362286671258e-5,3.7456641443449155e-8,0.0036305967997701106,-3.297753462876925e-5,3.758635247116539e-8,0.003630928513207681,-3.300252642506156e-5,3.762587782766384e-8,0.0036313068265694214,-3.294744940956532e-5,3.7519188323039196e-8,0.00363169380297549,-3.2792780456482834e-5,3.7231652891866554e-8,0.0036320412779389313,-3.254062980327011e-5,3.676798183842747e-8,0.0036323028298620714,-3.222229600651305e-5,3.618566999286661e-8,0.00363245144150968,-3.1896535693968474e-5,3.559165692670533e-8,0.003632494924818845,-3.163343128727202e-5,3.5112974053962996e-8,0.003632477752238004,-3.148784739433187e-5,3.4848610971418145e-8,0.0036324645616411712,-3.147677766139223e-5,3.4828549478256566e-8,0.003632513929295136,-3.1574620316264846e-5,3.5005434477029905e-8,0.0036326579319382944,-3.1727711619258e-5,3.528122902984301e-8,0.0036328967617592234,-3.187682011716218e-5,3.554823526809591e-8,0.0036332061434049393,-3.197502524181992e-5,3.572156454636925e-8,0.0036335495974229026,-3.1995847248725226e-5,3.575374279393732e-8,0.003633889293870905,-3.19333227910892e-5,3.563461873953822e-8,0.003634193172744235,-3.17978842240923e-5,3.538369154094479e-8,0.003634438615965457,-3.161109030916799e-5,3.504045625380042e-8,0.003634613855985011,-3.1400671454106465e-5,3.465541572534082e-8,0.003634718071699902,-3.11961575856113e-5,3.428219175465637e-8,0.003634760562279025,-3.102500639946222e-5,3.3970535921702535e-8,0.0036347591134491177,-3.0909251987672765e-5,3.376025962304962e-8,0.003634737607805422,-3.086278268132625e-5,3.367629517795057e-8,0.0036347229490649663,-3.088948453492992e-5,3.372533325761154e-8,0.003634741563228235,-3.0982560065987805e-5,3.389460784514429e-8,0.003634815901229414,-3.112512713113596e-5,3.4153020033679004e-8,0.0036349612766972193,-3.129198170965659e-5,3.4454394956192596e-8,0.003635183245992869,-3.145240784677646e-5,3.4742669582784826e-8,0.0036354757079425717,-3.1573956992053166e-5,3.495886526255861e-8,0.0036358199160614058,-3.1627212256825974e-5,3.504983415027823e-8,0.0036361849045063073,-3.159171660721317e-5,3.4979039620345153e-8,0.003636530479561921,-3.1462895172653124e-5,3.473901011215707e-8,0.0036368142578559253,-3.1258495477149596e-5,3.436280051338025e-8,0.003637003387374721,-3.102115681331883e-5,3.3928392231956515e-8,0.003637088755021439,-3.081237158304347e-5,3.35475459720963e-8,0.003637094946225761,-3.069500019812094e-5,3.333402234292594e-8,0.0036370770559699434,-3.0708848592774254e-5,3.335935424561485e-8,0.0036371013292986853,-3.085231309250355e-5,3.361973574732224e-8,0.0036372186076369544,-3.108268917674487e-5,3.4036836713625407e-8,0.0036374461301725914,-3.133543760619602e-5,3.449300493597974e-8,0.0036377666800752285,-3.154966294649507e-5,3.4877648547478624e-8,0.003638141297749838,-3.1685759118405125e-5,3.511925103365506e-8,0.0036385252843173046,-3.173024090401332e-5,3.5193980505349496e-8,0.0036388799750885084,-3.1691380373824776e-5,3.5117541386689996e-8,0.003639178463924923,-3.1591479016366276e-5,3.493096321710203e-8,0.003639406831918024,-3.145964120367891e-5,3.4687408289269027e-8,0.0036395631103395176,-3.132641488984484e-5,3.444246310972407e-8,0.003639655535314708,-3.122008096808154e-5,3.4247456211883176e-8,0.0036397006665107633,-3.1163893875378406e-5,3.414448139816457e-8,0.003639721329488939,-3.1173806420359784e-5,3.416226804857164e-8,0.0036397441644748767,-3.125655767899938e-5,3.431270209771732e-8,0.003639796568166988,-3.140832386339877e-5,3.458839076722247e-8,0.0036399030331303018,-3.161441580614675e-5,3.49621599593727e-8,0.0036400812861970703,-3.1850493516183555e-5,3.538933414193512e-8,0.0036403388783366928,-3.2085469069802425e-5,3.581309683606768e-8,0.003640670899708472,-3.228595888933305e-5,3.617266898678714e-8,0.003641059410890908,-3.242184074945234e-5,3.6413480741849684e-8,0.003641474976614793,-3.2472192397990765e-5,3.6497992784001544e-8,0.0036418804736073327,-3.243081777099901e-5,3.6415684316993066e-8,0.0036422373048892133,-3.231046066567557e-5,3.619054998193656e-8,0.003642513965287651,-3.2144261682321465e-5,3.588351146600024e-8,0.0036426959856221573,-3.198235682061668e-5,3.5586005065773693e-8,0.0036427944977556605,-3.1881697208743154e-5,3.5401356745524745e-8,0.0036428486849075714,-3.188933045907144e-5,3.5414444145402196e-8,0.0036429173685921887,-3.202403752604784e-5,3.565852233264122e-8,0.0036430596414088368,-3.226577445343364e-5,3.609629779052436e-8,0.0036433124954249867,-3.2561078847616284e-5,3.66299793816928e-8,0.0036436776177795477,-3.284337212027593e-5,3.713830880496045e-8,0.0036441242313400286,-3.3057030277970586e-5,3.7520345040000954e-8,0.0036446041810241324,-3.317277180321848e-5,3.772337507096917e-8,0.0036450692490085615,-3.3189738563198884e-5,3.7746545722749065e-8,0.003645482899676809,-3.3128175256394194e-5,3.7627357042686266e-8,0.0036458246434632187,-3.301933774306142e-5,3.7423151774873677e-8,0.003646089234413236,-3.289707990184836e-5,3.71957515176344e-8,0.003646283665094115,-3.279244336538491e-5,3.7001641525103554e-8,0.0036464239349174375,-3.273067656021924e-5,3.6886607019548715e-8,0.0036465323149864697,-3.272957018214073e-5,3.6882747854165715e-8,0.0036466349961541663,-3.279825429446103e-5,3.700630533575309e-8,0.0036467596710251142,-3.2936106766617314e-5,3.725568811188398e-8,0.0036469325807821826,-3.313193807407561e-5,3.7610026698915855e-8,0.0036471748124150484,-3.3364069240662704e-5,3.802938859382088e-8,0.003647498169133209,-3.360210126412473e-5,3.845809149088258e-8,0.0036479015316435363,-3.38109253939106e-5,3.883209072712449e-8,0.003648368986541947,-3.395689666898082e-5,3.909027582893097e-8,0.003648870921029724,-3.401521748118757e-5,3.9187927000580045e-8,0.0036493686380024244,-3.397675991479839e-5,3.91090927084104e-8,0.0036498219897588453,-3.385230235314705e-5,3.887418894134722e-8,0.0036501985693956885,-3.367263505175776e-5,3.854000701640252e-8,0.0036504824684245895,-3.348382883038354e-5,3.819088250354824e-8,0.003650680396759058,-3.333785800459016e-5,3.792145205144569e-8,0.003650822939161007,-3.3279840876376515e-5,3.781338373671198e-8,0.003650959134371577,-3.3334613467666114e-5,3.791106516073476e-8]} \ No newline at end of file diff --git a/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_23.json b/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_23.json new file mode 100644 index 0000000..c83a531 --- /dev/null +++ b/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_23.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1.0,"startIndex":23000,"numberOfSamples":1000,"samples":[0.003651144035305788,-3.3496975736922465e-5,3.820410327566936e-8,0.0036514219143992843,-3.3730554777606135e-5,3.862552436820353e-8,0.0036518112676496577,-3.397791609056264e-5,3.907035721036122e-8,0.00365229870095008,-3.417907449598782e-5,3.9429383363913e-8,0.00365284489977173,-3.4290356787269744e-5,3.962343833009104e-8,0.0036533992613388363,-3.429527055965991e-5,3.962310443890886e-8,0.003653915601993734,-3.4204210437811016e-5,3.9448034728001705e-8,0.0036543625588809866,-3.404606217387052e-5,3.915149562803171e-8,0.003654726821743164,-3.385745548023324e-5,3.880065521411588e-8,0.003655011114586897,-3.367402646076845e-5,3.846060844958942e-8,0.003655229952491537,-3.352516388562213e-5,3.818482941081412e-8,0.0036554053665251193,-3.343165583497147e-5,3.8010946814686524e-8,0.0036555634966590643,-3.3404964167691095e-5,3.7959478606448984e-8,0.0036557319972541605,-3.3447035834001456e-5,3.803352192134055e-8,0.0036559377077366316,-3.355009646938942e-5,3.821840523078073e-8,0.003656203941986329,-3.3696494348695236e-5,3.848145228658821e-8,0.0036565469978612378,-3.3859223781751256e-5,3.877301569526761e-8,0.0036569720596978405,-3.4004124438745524e-5,3.9030579556823116e-8,0.003657469498455847,-3.40947073072433e-5,3.918763315500793e-8,0.003658013393850613,-3.409978236972752e-5,3.918760770228968e-8,0.0036585642841328063,-3.400250012732713e-5,3.9000338042948336e-8,0.003659077039174998,-3.380774452480385e-5,3.8635466490843415e-8,0.0036595124517896076,-3.354428513728769e-5,3.8146233975437406e-8,0.0036598488695074555,-3.325957393919969e-5,3.761980345160911e-8,0.0036600895177045143,-3.30080589998171e-5,3.7155744789631976e-8,0.0036602626699706706,-3.2836659874036776e-5,3.6839414480127626e-8,0.0036604145345912036,-3.277203283919482e-5,3.671875744486885e-8,0.003660597076071134,-3.281332359526204e-5,3.679128814107534e-8,0.0036608541980586175,-3.293230507705976e-5,3.700462952878297e-8,0.003661210012998719,-3.308093000187256e-5,3.7270537712529526e-8,0.003661662575751951,-3.320440094368456e-5,3.74888633727299e-8,0.003662185161327315,-3.325597408349231e-5,3.7574542846225874e-8,0.003662734729255613,-3.320874898829924e-5,3.747900861351535e-8,0.0036632644530644296,-3.3060666580031256e-5,3.719917570818271e-8,0.003663735688217234,-3.283177311008349e-5,3.677230797634811e-8,0.003664125550367317,-3.255600900274537e-5,3.6260899113540797e-8,0.0036644288159946347,-3.227144312843095e-5,3.573475239964142e-8,0.003664655379067319,-3.20122786606644e-5,3.525635740926294e-8,0.0036648256060508692,-3.180406776074698e-5,3.487218993328028e-8,0.0036649655917790954,-3.166186058055134e-5,3.460940215582945e-8,0.003665103342555086,-3.15901849968733e-5,3.4475849367541365e-8,0.003665265988254904,-3.158372346364206e-5,3.4461364201339914e-8,0.003665477540567749,-3.162801003528849e-5,3.4539055157405407e-8,0.0036657565338192736,-3.17000936026722e-5,3.466655892539428e-8,0.0036661130590637785,-3.176968248208968e-5,3.478820502904388e-8,0.003666545202793297,-3.180174937323968e-5,3.483986629008923e-8,0.003667035788941662,-3.1761745550580205e-5,3.475855435760227e-8,0.0036675514497473767,-3.162389916152661e-5,3.449759311569503e-8,0.003668046654744528,-3.138114071038292e-5,3.404470126419763e-8,0.0036684741721542814,-3.105261032794423e-5,3.343560777759723e-8,0.003668799974560434,-3.068345735179965e-5,3.2753539214570226e-8,0.0036690165364966303,-3.0334013759936222e-5,3.2109244036842246e-8,0.0036691474276989216,-3.0061206934846583e-5,3.160683200695938e-8,0.0036692401145173264,-2.9900241087574385e-5,3.131020806459518e-8,0.0036693503292834495,-2.9854613982101406e-5,3.122493185911916e-8,0.003669525187357138,-2.989751080207272e-5,3.1301037813817e-8,0.0036697912282753556,-2.9982013376298203e-5,3.1452001909760237e-8,0.003670149929656101,-3.0055069990531985e-5,3.15804774867729e-8,0.00367058012275416,-3.007069224005011e-5,3.160245845426072e-8,0.003671045233915078,-2.9999480736268876e-5,3.14646043020311e-8,0.00367150289146305,-2.9833136999524488e-5,3.1152343179196404e-8,0.0036719145236925356,-2.9583830819543413e-5,3.068856987855197e-8,0.0036722528819754623,-2.9279274289988172e-5,3.012451965536157e-8,0.0036725060723375516,-2.8955216659429878e-5,2.9525956515840337e-8,0.003672677754130943,-2.864755268356975e-5,2.895869275364607e-8,0.003672784291843022,-2.838594682136872e-5,2.8476927435519246e-8,0.0036728502871910297,-2.8189969093245898e-5,2.8116221838894727e-8,0.0036729039195573616,-2.8067750927584617e-5,2.7891105878276732e-8,0.0036729730472076353,-2.8016458620949784e-5,2.7795998669456532e-8,0.0036730823256591566,-2.8023639314141942e-5,2.7807699502206006e-8,0.0036732510393670506,-2.806876922500443e-5,2.7888233842029837e-8,0.0036734911388206174,-2.8124848250507907e-5,2.7987802985082756e-8,0.003673805048096844,-2.8160365318995213e-5,2.8048454388623762e-8,0.0036741831643614118,-2.8142417714421486e-5,2.800989211450284e-8,0.0036746017845311393,-2.8042014596425726e-5,2.781926303572099e-8,0.003675023305396148,-2.7842042600133794e-5,2.7445742165138232e-8,0.003675401277467576,-2.7546573380207877e-5,2.6897486202051013e-8,0.0036756920590245525,-2.718737099853137e-5,2.623340000871415e-8,0.0036758711240840844,-2.682142732552505e-5,2.555844943167183e-8,0.0036759465937811365,-2.6515692647237495e-5,2.499551903112205e-8,0.0036759605227197774,-2.6323182982489206e-5,2.464151777744949e-8,0.0036759744983032644,-2.6262593443452535e-5,2.4530039671133795e-8,0.0036760466285700347,-2.6312844659637143e-5,2.462156779143457e-8,0.0036762123044454384,-2.6424126112870143e-5,2.4824015221802194e-8,0.003676476786014314,-2.6537239075107872e-5,2.5028430559382807e-8,0.0036768192350094923,-2.6601221243758545e-5,2.5141395201407517e-8,0.0036772028513650874,-2.658386925131194e-5,2.5104237965815816e-8,0.0036775858883604795,-2.6474864491415744e-5,2.4898599976612817e-8,0.0036779306440379686,-2.6283647779182486e-5,2.4542371246482394e-8,0.003678209538973982,-2.603439997978615e-5,2.408037372138913e-8,0.003678408358108114,-2.5759783494692988e-5,2.357282896906436e-8,0.003678526948850447,-2.5494493653466036e-5,2.308351403533256e-8,0.0036785777355817883,-2.5269467883076505e-5,2.2669143006386352e-8,0.003678582593628918,-2.5107461818455048e-5,2.2371273529194018e-8,0.003678568782474355,-2.5020417507422695e-5,2.2211520779320994e-8,0.0036785647042003374,-2.500871973525351e-5,2.21902445854814e-8,0.0036785961805071692,-2.5062054156622615e-5,2.228816628316454e-8,0.003678683593958781,-2.5161266743696174e-5,2.24697994986493e-8,0.003678839813725382,-2.528068865976697e-5,2.268772363615898e-8,0.0036790686589521994,-2.5390721102639514e-5,2.28873548323344e-8,0.0036793636633603534,-2.5460766843175067e-5,2.301239734670839e-8,0.0036797070625050198,-2.5462938404665122e-5,2.3011746096490555e-8,0.0036800695540226,-2.5377224112577794e-5,2.2849032250097418e-8,0.0036804123072578534,-2.5198284596178738e-5,2.251506689142407e-8,0.003680693157902537,-2.4942526484895308E-05,2.2040681988927512e-8,0.003680878158399637,-2.4651854910035483e-5,2.150341156448466e-8,0.0036809565821238504,-2.4388619881055524e-5,2.101802531841774e-8,0.003680952179938686,-2.4218042502926116e-5,2.0704157135192892e-8,0.003680920788736872,-2.418258152607271e-5,2.063924897056901e-8,0.0036809307429876595,-2.428216159309294e-5,2.082238656290625e-8,0.0036810354111426534,-2.4473729304710523e-5,2.1173726237950885e-8,0.003681253971997315,-2.4690578711906134e-5,2.1570233191745147e-8,0.0036815697161010955,-2.4868511669727512e-5,2.1893875946001677e-8,0.00368194233743989,-2.4964629040890916e-5,2.2066135288962184e-8,0.003682324212490332,-2.496342898745231e-5,2.2059068741709067e-8,0.0036826731166814996,-2.4873277705717296e-5,2.1888636709994033e-8,0.0036829591588462465,-2.4718729832185195e-5,2.1600441398920033e-8,0.003683167023967205,-2.4532594782350245e-5,2.1255080252265367e-8,0.0036832954099022645,-2.4349370543578626e-5,2.0916081024659693e-8,0.0036833550335923348,-2.4200218198591833e-5,2.0640692551785886e-8,0.0036833658565634006,-2.410924176009306e-5,2.047307011231562e-8,0.00368335380237866,-2.4090944865297163e-5,2.0439619325797367e-8,0.0036833471475006176,-2.4148859135246296e-5,2.054650508300012e-8,0.003683372810946003,-2.4275435196936255e-5,2.07794955328708e-8,0.003683452919780664,-2.445325289733475e-5,2.110623168930102e-8,0.003683602046501696,-2.465734339942249e-5,2.1480525304410102e-8,0.003683825298735307,-2.4858264023953814e-5,2.184802813428788e-8,0.0036841172991974114,-2.5025683730293013e-5,2.2152849985111426e-8,0.0036844620856947494,-2.5132324086251992e-5,2.234486049199623e-8,0.003684833943600737,-2.5158192450841574e-5,2.2387540094785343e-8,0.0036851994497372497,-2.5095227283073492e-5,2.226654684123872e-8,0.003685521611166236,-2.495214102688181e-5,2.199854944989616e-8,0.0036857671361551635,-2.4758044853092278e-5,2.1637716007903936e-8,0.0036859169029455434,-2.4561976529873086E-05,2.127462522493109e-8,0.0036859772914223593,-2.44246555966739e-5,2.102094321803886e-8,0.0036859863765741317,-2.4400569866343113e-5,2.0976459090247287e-8,0.0036860072100742725,-2.451503865503077e-5,2.1187033549314085e-8,0.0036861059724534228,-2.4748908547852973e-5,2.1616674172997784e-8,0.003686324629094954,-2.504318975211854e-5,2.2156284356747038e-8,0.003686664486266351,-2.5323155005089623e-5,2.2668137696737203e-8,0.0036870898114569946,-2.5527244493044108e-5,2.303909962374833e-8,0.003687546149128421,-2.5624766795011134e-5,2.3213143420424893e-8,0.00368798044731879,-2.5617338941137874e-5,2.3193859568407812e-8,0.0036883539373483384,-2.5529670793774248e-5,2.3027315403045705e-8,0.0036886463867155743,-2.5397760191839542e-5,2.2780188658898496e-8,0.003688854693802478,-2.5259351496340612e-5,2.2522155643143783e-8,0.0036889891708466456,-2.5147850491353615e-5,2.231471497123031e-8,0.0036890695533378795,-2.5088946206269493e-5,2.2205016955307542e-8,0.0036891214131626097,-2.5098827308126288e-5,2.222261384963983e-8,0.0036891729137179556,-2.518329063537529e-5,2.2377841591020216e-8,0.0036892516769625227,-2.5337494371236543e-5,2.2661397865423784e-8,0.0036893816097385863,-2.554645169281843e-5,2.3045303929869593e-8,0.0036895797925711486,-2.578657672893664e-5,2.3485809567516533e-8,0.0036898538468566012,-2.6028463573269312e-5,2.392855402626147e-8,0.003690200266554174,-2.624073990187162e-5,2.431568410168666e-8,0.0036906040827712275,-2.6394652975592825e-5,2.4594312535909952e-8,0.0036910401320671615,-2.646892578198544e-5,2.4725481010514338e-8,0.0036914760290490357,-2.6454258869800837e-5,2.469246723504824e-8,0.0036918767628710283,-2.6356872170899155e-5,2.450728188668473e-8,0.003692210885339878,-2.6200462392483775e-5,2.4214168577148188e-8,0.0036924581686777775,-2.602543095805307e-5,2.388800430693621e-8,0.003692617733382483,-2.5883626505455566e-5,2.362443103435925e-8,0.0036927139953002153,-2.58271594885082e-5,2.3519158494680385e-8,0.0036927961075991973,-2.5891978747853797e-5,2.3637775773338626e-8,0.0036929267649546634,-2.6081277797364088e-5,2.398538810384016e-8,0.0036931609455419815,-2.6358161739026842e-5,2.4493348826303326e-8,0.0036935234174346435,-2.665549718890737e-5,2.5037572254635175e-8,0.003693998101314756,-2.6900775812927172e-5,2.5484402286752192e-8,0.0036945360219985063,-2.7042710855034788e-5,2.5739608547857825e-8,0.0036950760446270714,-2.7065371302568437e-5,2.57743737612283e-8,0.003695565661023816,-2.6985691375977797e-5,2.5620578062499176e-8,0.00369597274607554,-2.684069713273219e-5,2.5347080120574853e-8,0.003696287324292012,-2.667345195030066e-5,2.5033662232297028e-8,0.0036965173262114045,-2.6523010525635966e-5,2.4752456189175374e-8,0.0036966825886261623,-2.6419227346433036e-5,2.455840471365584e-8,0.003696809522700842,-2.6380986372349695e-5,2.4486064306819182e-8,0.0036969270936339123,-2.6416117172469423e-5,2.454950799475654e-8,0.0036970637745599656,-2.6521893503182198e-5,2.4743286277766767e-8,0.0036972449046433265,-2.6685737210574117e-5,2.504376987032764e-8,0.0036974900334030988,-2.6886274245188e-5,2.541115595707101e-8,0.003697810176347896,-2.7095219934198905e-5,2.5793006605434385e-8,0.0036982053804941253,-2.728057365079077e-5,2.613018555159297e-8,0.003698663356525077,-2.7411217452902692e-5,2.6365357275177697e-8,0.0036991599725369096,-2.7462484334453646e-5,2.6453253365305067e-8,0.0036996621606698965,-2.7421763096580724e-5,2.6370997112730044e-8,0.00370013328491362,-2.729281033021235e-5,2.6126029195423446e-8,0.0037005403211717563,-2.7097411250876837e-5,2.5759105766375958e-8,0.0037008616198824073,-2.6873458549975153e-5,2.534063229254157e-8,0.0037010937154705065,-2.6669054268328128e-5,2.4959623377691335e-8,0.0037012553893138378,-2.6532771677849146e-5,2.470560529795536e-8,0.003701386925754609,-2.6501162935385394e-5,2.464554459140342e-8,0.0037015427319560873,-2.65862451416973e-5,2.4800881221936585e-8,0.0037017770840136652,-2.6767600671031702e-5,2.5133175185444305e-8,0.003702126226889177,-2.6994365678892358e-5,2.5547991564237983e-8,0.003702594034496086,-2.7199503702774686e-5,2.5921361512321817e-8,0.003703149146929241,-2.7322124217394617e-5,2.6140992193989e-8,0.0037037362260185593,-2.732763109091641e-5,2.6143421934714618e-8,0.003704295665546802,-2.721607872496196e-5,2.5929372282700263e-8,0.0037047816795343263,-2.7016566312550213e-5,2.5553267597604028e-8,0.003705171555362991,-2.6773370862474705e-5,2.509745527697299e-8,0.003705465407158616,-2.6531809403462105e-5,2.4645955131628586e-8,0.0037056802842188206,-2.6328749558537203e-5,2.4266888380384873e-8,0.003705842962671197,-2.6188473724591307e-5,2.4004889346311846e-8,0.0037059839388316924,-2.6122241314280676e-5,2.3880388417301026e-8,0.0037061332623507665,-2.6129556128220352e-5,2.3892034999399584e-8,0.003706317770909461,-2.6199800840217618e-5,2.4019772205175913e-8,0.0037065589557418377,-2.6313745875571078e-5,2.4227665838511646e-8,0.003706870840343872,-2.644512355745995e-5,2.4466855843329514e-8,0.003707257688373799,-2.6562856852741105e-5,2.4679720562225874e-8,0.003707711915905993,-2.6634592082949376e-5,2.4806441695489335e-8,0.003708213120455237,-2.663186058357122e-5,2.479455939697902e-8,0.0037087294412449907,-2.6536451255494063e-5,2.4610743259413702e-8,0.003709222214515911,-2.6346543661015368e-5,2.4252099963225886e-8,0.0037096538724641567,-2.6080329046030495e-5,2.3752812169666824e-8,0.003709997524539029,-2.577492734907529e-5,2.3182040780489726e-8,0.0037102454227998637,-2.5479672505274922e-5,2.263137359655951e-8,0.0037104132986381126,-2.524481178501241e-5,2.219379012489409e-8,0.0037105385684950997,-2.5108446768208215e-5,2.1939440481081604e-8,0.003710672201591465,-2.5085405601484373e-5,2.1895121723236657e-8,0.0037108659074224157,-2.5161493732589e-5,2.2033822651041703e-8,0.0037111577917986476,-2.5295461489293446e-5,2.2278586025456243e-8,0.0037115606470070174,-2.542917933201141e-5,2.2521498478199035e-8,0.0037120571654388006,-2.5503837048517596e-5,2.2653719725711947e-8,0.003712604656330799,-2.5477070966070233e-5,2.259714366597435e-8,0.0037131481138471807,-2.5334611035146297e-5,2.232587717598007e-8,0.0037136365417578987,-2.509202414715311e-5,2.1869364929837613e-8,0.0037140360486028587,-2.4786787143587042e-5,2.1297584304020552e-8,0.0037143354755474435,-2.4465255139622436e-5,2.069678054959071e-8,0.003714544467024974,-2.4170306202152613e-5,2.0146497047207724e-8,0.003714687020580643,-2.393338515246342e-5,1.9704838425664365e-8,0.0037147941125955726,-2.3771532108372094e-5,1.9403042636394202e-8,0.0037148976705766875,-2.3687944947412868e-5,1.924662719845783e-8,0.0037150265340877417,-2.367419895466894e-5,1.9219583030809972e-8,0.003715204015883382,-2.37127525260934e-5,1.928905809182854e-8,0.0037154462776015544,-2.377915294824585e-5,1.9409457545578542e-8,0.0037157608120527794,-2.384409788521174e-5,1.9526274662557453e-8,0.0037161447586631148,-2.387597552240848e-5,1.9580823667812967e-8,0.003716583383528966,-2.384460787773986e-5,1.9517213785745727e-8,0.0037170496879362957,-2.372665990986959e-5,1.929240272445178e-8,0.003717506623292282,-2.3512366057301022e-5,1.8888665065491976e-8,0.003717913280569818,-2.3211764390501293e-5,1.832510925529357e-8,0.0037182350231976446,-2.2857213753819283e-5,1.766226069432184e-8,0.0037184549931704456,-2.2499015996168416e-5,1.69938183046161e-8,0.0037185822522199053,-2.2193400184984013e-5,1.642422937600723e-8,0.0037186520125712316,-2.1986125984029035e-5,1.6038180871423233e-8,0.0037187166025020217,-2.1897980951190913e-5,1.5873715102312037e-8,0.0037188302313518797,-2.1918094714878887e-5,1.5909975868926e-8,0.0037190333250862505,-2.200738683831528e-5,1.6073822676410523e-8,0.003719341736464505,-2.211021106517147e-5,1.6261616807192078e-8,0.003719743573072058,-2.216979978548509e-5,1.636795341593824e-8,0.0037202036700935363,-2.214280148765948e-5,1.631260873446929e-8,0.0037206737661205037,-2.2009147434640982e-5,1.6058763393847896e-8,0.0037211051970497504,-2.1775071201819367e-5,1.5618506174731158e-8,0.003721460458739193,-2.1469112666244478e-5,1.5045318183279198e-8,0.0037217205729197273,-2.113297412457324e-5,1.4417004888548999e-8,0.0037218868002361744,-2.081050254733132e-5,1.3815164650950308e-8,0.0037219772900882707,-2.0538209327698315e-5,1.3307554545741322e-8,0.003722020789722907,-2.033950176989565e-5,1.2937408851043707e-8,0.00372204987109083,-2.022296133826621e-5,1.2720322617019088e-8,0.0037220953992123298,-2.018363795951063e-5,1.2646747001885697e-8,0.0037221828649194387,-2.0205878245740093e-5,1.26873047206367e-8,0.0037223303313133104,-2.02664502220618e-5,1.2798609312135926e-8,0.003722547317866394,-2.0337344535813425e-5,1.292845264550573e-8,0.0037228339677174557,-2.0388317730423293e-5,1.3020518278734751e-8,0.003723180190839855,-2.0389705420379754e-5,1.3019629712220013e-8,0.0037235650128087322,-2.0316187736311858e-5,1.2878799919059847e-8,0.003723957027956693,-2.0152005616268402e-5,1.256897561523051e-8,0.003724317479797812,-1.9897320189773163e-5,1.2090860847159705e-8,0.0037246074892309214,-1.9573777293026863e-5,1.1485194896322013e-8,0.0037247994563825186,-1.922551672634567e-5,1.0834500081040653e-8,0.003724889413287953,-1.8911635022200557e-5,1.024891375539621e-8,0.003724903860006442,-1.8689419208005423e-5,9.834890386340725e-9,0.0037248950039658825,-1.8593936835862856e-5,9.657227552497414e-9,0.0037249241617011717,-1.8624070004157957e-5,9.713213497022367e-9,0.0037250406734058938,-1.874272347827841e-5,9.933231932671707e-9,0.003725266442256563,-1.889068343187049e-5,1.0206743013046786e-8,0.003725591957814072,-1.900639132302381e-5,1.0419161121580107e-8,0.0037259828367480837,-1.9042941445738243e-5,1.0483445088589561e-8,0.0037263919105630754,-1.8977532859680972e-5,1.0357575288150131e-8,0.0037267718541946424,-1.8812970780198845e-5,1.004722544629047e-8,0.0037270852122032435,-1.857321752592454e-5,9.597390829866145e-9,0.0037273105106150057,-1.829556589372417e-5,9.077766944676528e-9,0.0037274442822466383,-1.8021665816886436e-5,8.566019197106112e-9,0.003727499446205275,-1.7789180452793088e-5,8.132238797880786e-9,0.0037275009651962054,-1.762549477405663e-5,7.827238632585327e-9,0.003727480107433613,-1.7544324987777415e-5,7.676278027300595e-9,0.003727468693735596,-1.7545252223564655e-5,7.678260381961283e-9,0.0037274943796830745,-1.7615546114334517e-5,7.809198521585769e-9,0.0037275775048591624,-1.773333185341448e-5,8.028155894012631e-9,0.003727729461688348,-1.7871140037744037e-5,8.283855986333845e-9,0.0037279521045785026,-1.7999224672154963e-5,8.520831022886832e-9,0.0037282376812551145,-1.80885880022614e-5,8.685033780576021e-9,0.0037285690243083164,-1.8114038809190196e-5,8.729555432946514e-9,0.003728920113641478,-1.8057767593507887e-5,8.621345067804234e-9,0.0037292576952676747,-1.7913835381609194e-5,8.349624258909386e-9,0.0037295452618239825,-1.769325645659619e-5,7.935342096310923e-9,0.003729750685610381,-1.742782377238727e-5,7.438195143004906e-9,0.0037298573864923707,-1.7169070621178025e-5,6.954523489002591e-9,0.0037298756982351187,-1.6978346810287705e-5,6.598664526266755e-9,0.003729847357057938,-1.690734999300974e-5,6.466620041821976e-9,0.0037298361456615196,-1.6976011363689884e-5,6.594939654273422e-9,0.0037299052651525726,-1.716065001020904e-5,6.938856540972064e-9,0.003730092529452638,-1.7401587629302746e-5,7.386701385086378e-9,0.0037303974273488636,-1.7626624987369516e-5,7.803782958842304e-9,0.0037307856005640463,-1.7776600142330956e-5,8.080023637204767e-9,0.0037312048557727917,-1.782075236454326e-5,8.158500185359126e-9,0.0037316025984929033,-1.7758874434021704e-5,8.039315141398938e-9,0.003731938096263313,-1.7614499874872118e-5,7.76676690099454e-9,0.0037321881752387263,-1.7424800949631686e-5,7.410439462798648e-9,0.003732347832913049,-1.7230987288991442e-5,7.047285654047261e-9,0.003732427807332729,-1.7070752855394434e-5,6.747564430999931e-9,0.0037324505819447216,-1.6972951318685194e-5,6.564937105062063e-9,0.0037324456392299724,-1.695435236964585e-5,6.530439072511247e-9,0.003732444524964121,-1.701842445824136e-5,6.650238763256346e-9,0.0037324762624747466,-1.7155994000405556e-5,6.906918712508451e-9,0.003732563584080442,-1.734745000939961e-5,7.263649467205659e-9,0.003732720347862681,-1.7566052220995436e-5,7.670403442963853e-9,0.003732950305259306,-1.7781762662003478e-5,8.071102483695934e-9,0.003733247046701793,-1.796503766997897e-5,8.410658713739836e-9,0.003733594793483443,-1.8090329320746774e-5,8.641476568061361e-9,0.003733969829689655,-1.8139333953936072e-5,8.729522514097567e-9,0.0037343425695851745,-1.8104141430392796e-5,8.660245887318678e-9,0.003734680606263795,-1.7990430125363365e-5,8.444572497323546e-9,0.003734953553838489,-1.782034694147802e-5,8.124239420623847e-9,0.003735140403146867,-1.7633507226156773e-5,7.77352976095781e-9,0.003735238848109435,-1.748329459267977e-5,7.4921953391734e-9,0.003735273477531778,-1.742550583944127e-5,7.384151459049214e-9,0.0037352966592492363,-1.749922907883764e-5,7.52182191537506e-9,0.0037353759026406193,-1.7706708770883272e-5,7.908742842178216e-9,0.003735568740471046,-1.8005201420696946e-5,8.464598259716825e-9,0.003735897522340255,-1.8320262806021934e-5,9.050180658370451e-9,0.0037363400742964556,-1.8575326378219387e-5,9.522633384422312e-9,0.0037368415776035976,-1.8720037863678725e-5,9.788290822532997e-9,0.0037373380712256233,-1.874245668787921e-5,9.825363797506921e-9,0.0037377771555825133,-1.8663787364666786e-5,9.673974471483982e-9,0.0037381282616453346,-1.852433494079792e-5,9.409797508911304e-9,0.0037383834002827367,-1.8369540890756483e-5,9.117901324121186e-9,0.003738552757404369,-1.824019873721411e-5,8.874473223547163e-9,0.003738658809558917,-1.8167100505264942e-5,8.736870253285727e-9,0.003738730844138739,-1.8168783218842287e-5,8.739462794445459e-9,0.0037388003329487827,-1.8251037280980622e-5,8.892751862877826e-9,0.00373889698628947,-1.8407514500518183e-5,9.18453775255549e-9,0.0037390453516148825,-1.8621272393550024e-5,9.582855243041857e-9,0.0037392620029640536,-1.886722395403692e-5,1.0040612490717398e-8,0.0037395535311001136,-1.9115464924135617e-5,1.0501851379362463e-8,0.0037399156645016815,-1.9335279841595094e-5,1.0909231443508442e-8,0.003740333727271666,-1.949936503986908e-5,1.1211879486748627e-8,0.0037407843754003085,-1.9587781487259298e-5,1.1372730485053469e-8,0.00374123843967038,-1.9591286559904284e-5,1.1374739407503882e-8,0.003741664694071747,-1.951376722599113e-5,1.1225445494692067e-8,0.003742034426709988,-1.9373566096839915e-5,1.0959456056172562e-8,0.0037423268826330203,-1.9203348136011737e-5,1.0638143074060602e-8,0.0037425355319994974,-1.9047512251718933e-5,1.0344682395521544e-8,0.003742674153842459,-1.8955552707843683e-5,1.0171510875620036e-8,0.003742780075672932,-1.897020365172007e-5,1.0198117014107015e-8,0.003742910352084255,-1.91115247419747e-5,1.0461391980825988e-8,0.003743127236642866,-1.936274082819314e-5,1.0929372494595087e-8,0.0037434748877366456,-1.966787992300605e-5,1.1497025901544866e-8,0.0037439582292228346,-1.994830716850865e-5,1.2017239417133448e-8,0.0037445380916303205,-2.0132874757777342e-5,1.235715857869903e-8,0.003745147304945264,-2.018475709919423e-5,1.24483095139559e-8,0.003745717536123864,-2.0110039024257403e-5,1.2302602979977455e-8,0.0037462009957385913,-1.994718213155144e-5,1.1992528512288664e-8,0.003746578533952196,-1.9748112336383324e-5,1.1615631205305184e-8,0.0037468562058775336,-1.9561943110626034e-5,1.1263957057301948e-8,0.0037470568320752493,-1.942580720910747e-5,1.1006894832462288e-8,0.003747211591296955,-1.936188801722068e-5,1.0885690830408487e-8,0.0037473537091404366,-1.937798694893093e-5,1.0914592901045096e-8,0.00374751426169476,-1.9469411529319156e-5,1.1084443738119213e-8,0.003747719306811906,-1.9621107982094123e-5,1.1366715498674678e-8,0.003747987653823677,-1.98098865025236e-5,1.171772196127629e-8,0.0037483289877986337,-2.00069900657524e-5,1.2083476553019989e-8,0.0037487424409848157,-2.018133651430223e-5,1.2405790481457967e-8,0.003749216049729212,-2.0303576953806943e-5,1.262985740223278e-8,0.0037497276616432853,-2.0350656359240593e-5,1.2712744009555985e-8,0.0037502476097356495,-2.0310161881186038e-5,1.263147987969798e-8,0.0037507430698388022,-2.01836052339569e-5,1.238917732256602e-8,0.003751183640813286,-1.9987806416820744e-5,1.201762072309364e-8,0.003751547358372743,-1.975377558398845e-5,1.1575159589463945e-8,0.0037518262278624856,-1.9522888966651756e-5,1.1139487350292194e-8,0.003752030366449994,-1.9340357022812065e-5,1.0795307888503861e-8,0.003752189575101569,-1.9246075080711368e-5,1.0617115929008991e-8,0.00375235065514588,-1.926362082860626e-5,1.0648597353873207e-8,0.00375256874733072,-1.9389760757096198e-5,1.0883103913087454e-8,0.0037528923589819,-1.95889336244771e-5,1.1253515334163685e-8,0.003753345377221318,-1.9798233653190108e-5,1.1641722277737352e-8,0.003753914085684261,-1.9945444226348306e-5,1.1912441558529761e-8,0.0037545482183929373,-1.997468342657704e-5,1.1961217063101045e-8,0.003755178268860511,-1.9866841003214947e-5,1.1752664664935419e-8,0.003755740498054235,-1.9643572837075e-5,1.132790926630942e-8,0.003756196287862252,-1.9354386897528227e-5,1.078027677361611e-8,0.0037565380292510645,-1.9056473937833167e-5,1.02173374524946e-8,0.003756783287516352,-1.879808625982981e-5,9.729641408606765e-9,0.003756964059188642,-1.8610299848009276e-5,9.375278483928095e-9,0.0037571168822495586,-1.850601029274588e-5,9.178087064121487e-9,0.0037572761536310796,-1.8482743679660896e-5,9.133032553034088e-9,0.003757470458105261,-1.8526444575679007e-5,9.213386299761704e-9,0.003757720726876309,-1.8614862202039136e-5,9.377117285257808e-9,0.0037580391353763576,-1.8720347719301517e-5,9.572164083264661e-9,0.0037584281701537876,-1.88124868526117e-5,9.741392613497707e-9,0.003758879845331222,-1.886115999095588e-5,9.828343171502811e-9,0.003759375547369298,-1.884045521805883e-5,9.784556157303305e-9,0.0037598873171901443,-1.8733336140393533e-5,9.578297218737537e-9,0.0037603812993048536,-1.8536245409891986e-5,9.20316322759362e-9,0.003760823522734917,-1.826223272290799e-5,8.683933253519903e-9,0.0037611872682305502,-1.794102306496649e-5,8.07668074991078e-9,0.003761460322951104,-1.761495849043393e-5,7.461118830695648e-9,0.003761649939215854,-1.7330967802997768e-5,6.925453527388214e-9,0.003761783669047966,-1.7130080930370736e-5,6.546618226195867e-9,0.0037619052215471355,-1.7036850169632218e-5,6.370380696093653e-9,0.0037620655927134623,-1.7051287457088965e-5,6.396265383341771e-9,0.0037623107889809214,-1.7145824206739997e-5,6.571987750426438e-9,0.0037626686506996173,-1.7269316797664524e-5,6.8011328521040325e-9,0.0037631385620556235,-1.7358826009662052e-5,6.965369983083214e-9,0.003763688525936491,-1.735727517214488e-5,6.957620478797519e-9,0.0037642627046168722,-1.7231514285195872e-5,6.7159383377332736e-9,0.003764798192409383,-1.6983144070799588e-5,6.243784790204022e-9,0.003765244475384821,-1.6646684177942917e-5,5.606514320308481e-9,0.003765577041731878,-1.6276113749033035e-5,4.905976489211403e-9,0.0037658001496303955,-1.5926872483978327e-5,4.246574565661419e-9,0.003765940043113608,-1.5641428521669665e-5,3.7080826046676444e-9,0.0037660339883212393,-1.5442580188857785e-5,3.3330932819261697e-9,0.0037661202972565054,-1.533378212849883e-5,3.1277370664346276e-9,0.0037662317987403426,-1.530331931720143e-5,3.0696368494463564e-9,0.00376639269783391,-1.5329353706236113e-5,3.117459743615627e-9,0.0037666175999535394,-1.5384239766858776e-5,3.2190461479142756e-9,0.003766911424015544,-1.5437798596845338e-5,3.3175546155956647e-9,0.0037672694199051165,-1.5460010735471215e-5,3.3565118674225895e-9,0.003767677144880793,-1.5423844881946676e-5,3.285127707090549e-9,0.0037681108405431198,-1.5308808573030386e-5,3.0649759961602738e-9,0.00376853909328297,-1.5105335091860154e-5,2.678249819012819e-9,0.0037689267978603287,-1.4819271966290807e-5,2.1362017496681052e-9,0.0037692419464796334,-1.4474679157593949e-5,1.4843891964449467e-9,0.003769464408607395,-1.4112525842013234e-5,8.001758661740843e-10,0.0037695940570376656,-1.3783562552421724e-5,1.7924187200268179e-10,0.003769654513644912,-1.3535943066435279e-5,-2.877953882684514e-10,0.003769689655352273,-1.3401132828683478e-5,-5.419454827697908e-10,0.0037697528877103145,-1.3383352936094304e-5,-5.756719343471206e-10,0.0037698924838657317,-1.3456848768446041e-5,-4.379133873754168e-10,0.0037701379529232566,-1.3572133855236433e-5,-2.2219011005250034e-10,0.0037704917152187136,-1.36690613658659e-5,-4.190341608565942e-11,0.003770928286669406,-1.3692704936665648e-5,-4.184426881656405e-13,0.003771400984222682,-1.360764722503169e-5,-1.6419689144365008e-10,0.0037718542846100875,-1.3406801484918508e-5,-5.462400593197952e-10,0.0037722383742051645,-1.3112239502991186e-5,-1.1045888736203505e-9,0.0037725215280944423,-1.2767820548965187e-5,-1.756277314541145e-9,0.003772696517123917,-1.2426225277517897e-5,-2.4018373226817705e-9,0.003772779492258509,-1.2135018031827889e-5,-2.9516198186066968e-9,0.0037728027992608884,-1.1926333275018554e-5,-3.345233937647147e-9,0.003772805248437262,-1.1812618336310583e-5,-3.559509949169215e-9,0.0037728234022769208,-1.1787985186950563e-5,-3.605855082757096e-9,0.003772885871274732,-1.1832888997680663e-5,-3.5213519611769673e-9,0.0037730107830056705,-1.1919671821302818e-5,-3.3582733409701644e-9,0.0037732054834411486,-1.201738319949041e-5,-3.1750111515168823e-9,0.0037734672788120238,-1.2095393134790393e-5,-3.029308059715573e-9,0.0037737843623683997,-1.2126141515841897e-5,-2.9731078275435696e-9,0.0037741366633792803,-1.2087713479066177e-5,-3.0477005332985616e-9,0.0037744969434948855,-1.1966854684521575e-5,-3.2780044851181107e-9,0.0037748329505799573,-1.1762652811277419e-5,-3.665584516120736e-9,0.0037751117090649177,-1.1490296257088035e-5,-4.1815534879312055e-9,0.003775306671071242,-1.1183066734645489e-5,-4.762857357367671e-9,0.0037754069823609203,-1.0889694911885241e-5,-5.3173572358538974e-9,0.0037754256798606545,-1.0664706834353456e-5,-5.742147928915882e-9,0.003775401726689244,-1.0552455653838138e-5,-5.953742048116789e-9,0.003775391866454253,-1.0570337492320954e-5,-5.9196954740658214E-09,0.0037754533346908404,-1.069965404964022e-5,-5.6757115830877735e-9,0.0037756245234761812,-1.0889973474384802e-5,-5.3172574611983255e-9,0.0037759125769722722,-1.1075505491388981e-5,-4.9685789284492975e-9,0.0037762927653174714,-1.119569145297422e-5,-4.743856103245313e-9,0.0037767180710236953,-1.1211551456236634e-5,-4.716422581730153e-9,0.0037771336262513635,-1.1113289439129748e-5,-4.904484620551893e-9,0.0037774906920141566,-1.0919093669290008e-5,-5.273435637376515e-9,0.0037777568305629415,-1.0667562119560446e-5,-5.750186818487831e-9,0.0037779208867569462,-1.0406866195721732e-5,-6.243650787702565e-9,0.003777992767016646,-1.018352746019933e-5,-6.665958168127169e-9,0.0037779989182269913,-1.0033140590648544e-5,-6.949989656900959e-9,0.0037779751011073896,-9.97469904417571e-6,-7.060078675057539e-9,0.0037779584786724603,-1.0009194292538516e-5,-6.994608417451776e-9,0.0037779809048557934,-1.0121958368840203e-5,-6.781516708789922e-9,0.0037780645720082466,-1.0287344353781977e-5,-6.469394097223917e-9,0.003778220234630747,-1.047413085648688e-5,-6.1172540917545026e-9,0.003778447456985994,-1.0650388607779883e-5,-5.785368244403539e-9,0.003778735979536752,-1.078723859059365e-5,-5.528224279977244e-9,0.0037790674522738318,-1.086163687447547e-5,-5.3893085312301e-9,0.0037794172242492487,-1.0858682366088469e-5,-5.396741791551607e-9,0.003779756331525049,-1.0773944571270184e-5,-5.55883105247937e-9,0.0037800542820276006,-1.0616049404699768e-5,-5.859127603922072e-9,0.0037802835715694304,-1.0409041615552987e-5,-6.251958361016585e-9,0.0037804265587483227,-1.019284428731572e-5,-6.661632999833887e-9,0.0037804839392265306,-1.0019107510829138e-5,-6.990419724209726e-9,0.003780481632655872,-9.940027335123063e-6,-7.139785874260027e-9,0.003780470551458204,-9.990760852975178e-6,-7.043636122099973e-9,0.0037805145003715693,-1.0171924492472818e-5,-6.701260118724001e-9,0.0037806679024364473,-1.0443026877787217e-5,-6.189548974586507e-9,0.003780953749669685,-1.0734040814978671e-5,-5.640990002948598e-9,0.003781354446672115,-1.0970848138577473e-5,-5.195569712053512e-9,0.0037818202123343133,-1.1100878236964057e-5,-4.952398320323635e-9,0.0037822885451625726,-1.1106690075405191e-5,-4.9441331682067115e-9,0.0037827037918562686,-1.1004732221553931e-5,-5.139393429677356e-9,0.003783029580921028,-1.083450210581651e-5,-5.463297256101165e-9,0.0037832528926456414,-1.0645014240624529e-5,-5.8230619263333884E-09,0.003783382008619057,-1.0483107839539345e-5,-6.130107278142606e-9,0.0037834411521074293,-1.0385293670330903e-5,-6.315462602182711e-9,0.003783463866855065,-1.0373167422302901e-5,-6.338434431871988e-9,0.003783486346677699,-1.0451924135314523e-5,-6.1894075059543604e-9,0.0037835415059761126,-1.0611498941792025e-5,-5.887657773983901e-9,0.0037836543994592214,-1.0829747870240204e-5,-5.475280541301254e-9,0.0037838393893894684,-1.1076912436351042e-5,-5.00868499477498e-9,0.0037840991940355684,-1.1320547095963303e-5,-4.549244861849569e-9,0.0037844256115939245,-1.1530111692398709e-5,-4.154636535393267e-9,0.003784801380528869,-1.168067724546158e-5,-3.871892905681978e-9,0.0037852026131201958,-1.1755664641185652e-5,-3.732277813199833e-9,0.0037856015155439153,-1.1748839795853997e-5,-3.747515652641209e-9,0.003785969367532291,-1.166580442859177e-5,-3.906921033511718e-9,0.00378628001510182,-1.1525110745466617e-5,-4.175235589964458e-9,0.003786514449205436,-1.1358637205725354e-5,-4.491921267897067e-9,0.0037866667919770496,-1.1209875032777431e-5,-4.774493370527981e-9,0.0037867507548969247,-1.1128029735137191e-5,-4.929817589830909e-9,0.0037868036489551913,-1.1156279232741838e-5,-4.8764159931144795e-9,0.0037868831215570773,-1.1315159538627571e-5,-4.575860551166065e-9,0.0037870524179700496,-1.1587432273622035e-5,-4.061235434398263e-9,0.0037873563096598654,-1.1915434657407038e-5,-3.441960618087722e-9,0.0037877994416602927,-1.2218268853877623e-5,-2.871179678081107e-9,0.00378834159065941,-1.2422814649923206e-5,-2.4871089224278254e-9,0.0037889140278449785,-1.249102829822317e-5,-2.361451809750297e-9,0.0037894464319104034,-1.2428832387716597e-5,-2.4826372919214795e-9,0.003789888854569995,-1.2276000741283246e-5,-2.775033513542293e-9,0.003790220598166225,-1.2087372015433666e-5,-3.13458685349092e-9,0.003790447689810322,-1.1915907774812648e-5,-3.4609407828149515e-9,0.0037905948035725874,-1.1802236082212254e-5,-3.6772233896817644e-9,0.003790696401172688,-1.1770385986698964e-5,-3.73808626895047e-9,0.003790789335206898,-1.1827575732369238e-5,-3.6300747743801807e-9,0.003790907337032187,-1.1966138926110403e-5,-3.3679632150517645e-9,0.0037910770946163676,-1.2166553303929558e-5,-2.9889909055131355e-9,0.0037913156361942314,-1.2401135693384962e-5,-2.545809144827838e-9,0.0037916289168516333,-1.263815898674036e-5,-2.0986190900712304e-9,0.0037920116463947694,-1.2846175399722612e-5,-1.7069510131467538e-9,0.0037924484233062025,-1.299819527970367e-5,-1.4217770124520617e-9,0.0037929160329965078,-1.3075228465631499e-5,-1.2788768709480869e-9,0.0037933865555892653,-1.3068858631174979e-5,-1.294030013439374e-9,0.0037938309814365434,-1.2982776331081918e-5,-1.4601266957738199e-9,0.0037942231481280977,-1.283322743822306e-5,-1.7462770627408988e-9,0.003794543866539171,-1.2648304256008901e-5,-2.0991058430070644e-9,0.003794785242433129,-1.2465858940810928e-5,-2.4467144889246194e-9,0.0037949550625008244,-1.232927438422763e-5,-2.7067816859225326e-9,0.003795080187817642,-1.2279927284374798e-5,-2.8009626097236014e-9,0.0037952065161867134,-1.2345871523227187e-5,-2.6763892980301933e-9,0.0037953921373555235,-1.2528542983790664e-5,-2.3307936469979733e-9,0.0037956913857025054,-1.2793157015980988e-5,-1.8305356927816436e-9,0.003796132776286854,-1.3071563213552118e-5,-1.3050406169510527e-9,0.0037967017325761278,-1.328280143626571e-5,-9.077926254452141e-10,0.0037973411548898497,-1.3364516232244082e-5,-7.568234874396928e-10,0.0037979727650269374,-1.3297561018064426e-5,-8.881042448926196e-10,0.003798527090663047,-1.3109356495992466e-5,-1.2492122368724608e-9,0.003798964917021712,-1.28570520619648e-5,-1.7313517826797332e-9,0.0037992820034057637,-1.2603783737617608e-5,-2.2145093402545987e-9,0.003799500926082306,-1.240063635168012e-5,-2.6017407417391375e-9,0.0037996585584883936,-1.2278587025970907e-5,-2.8344302677579545e-9,0.0037997952173949366,-1.2248205620853774e-5,-2.892780987975255e-9,0.0037999474748775944,-1.2303191954665917e-5,-2.789037696090718e-9,0.003800144171209063,-1.2424890429828608e-5,-2.5588855394347242e-9,0.0038004044225855666,-1.2586549203308632e-5,-2.2533402981175947e-9,0.003800736709459013,-1.2757180681021012e-5,-1.9313801867040904e-9,0.0038011386726849684,-1.2905234943333781e-5,-1.6529274004774604e-9,0.0038015976307220777,-1.300228941643676e-5,-1.4718298071475957e-9,0.0038020920655212837,-1.3026745702081325e-5,-1.4288825387251392e-9,0.0038025942999659027,-1.2967137471847075e-5,-1.5456250913598982e-9,0.0038030742779153713,-1.2824453504739554e-5,-1.8199956009474816e-9,0.0038035040835843223,-1.2613005619355985e-5,-2.224696148359336e-9,0.003803862725819495,-1.2359515273662385e-5,-2.7088896073266286e-9,0.0038041406058219682,-1.210021971862752e-5,-3.203654961905564e-9,0.003804343039903815,-1.187601536262798e-5,-3.6312222314006306e-9,0.0038044921992625045,-1.172572264151848e-5,-3.9178384073525195e-9,0.00380462650870891,-1.1677577510893996e-5,-4.010014190249887e-9,0.0038047960105914956,-1.1739750231113836e-5,-3.892553967922982e-9,0.0038050522524015824,-1.1892359741202971e-5,-3.603641811340095e-9,0.0038054328722651374,-1.2085474055587181e-5,-3.238495369877979e-9,0.003805944893983198,-1.224821847258572e-5,-2.931950879082715e-9,0.003806555314129275,-1.2310374852742212e-5,-2.8173999266934114e-9,0.003807197680863527,-1.2229146407934576e-5,-2.9759540232212596e-9,0.0038077950074467274,-1.2006673466743497e-5,-3.4031768325958983e-9,0.003808287639007238,-1.1687444632760447e-5,-4.014049779331443e-9,0.003808650970431554,-1.1338022030420527e-5,-4.681632012604156e-9,0.003808896131037573,-1.1022265614456972e-5,-5.284306129734353e-9,0.0038090582406506883,-1.0784417102233183e-5,-5.738002868905132e-9,0.0038091815513970188,-1.0643809594594406e-5,-6.006202185145872e-9,0.003809307974440942,-1.0597903969188504e-5,-6.094047127429888e-9,0.0038094707196667066,-1.062865600428072e-5,-6.036147477861492e-9,0.0038096919065528753,-1.070881560223071e-5,-5.8845641294033734e-9,0.003809982306819115,-1.0806887438420577e-5,-5.699365884995947e-9,0.003810341878982876,-1.0890883083801036e-5,-5.541482188826337e-9,0.003810760558410313,-1.0931470433055232e-5,-5.466698369518253e-9,0.003811219360612792,-1.0905036479831683e-5,-5.5198308461602985e-9,0.003811692191355198,-1.0796853778255012e-5,-5.728734249431048e-9,0.0038121488378866334,-1.0604042188757008e-5,-6.098714331775193e-9,0.0038125593293713445,-1.0337543772812268e-5,-6.608803289335694e-9,0.003812899313522184,-1.0022178567600895e-5,-7.211652084835195e-9,0.003813155569947561,-9.694053505107579e-6,-7.838435889364233e-9,0.003813330410478557,-9.395101236701062e-6,-8.409236512806301e-9,0.0038134436413059824,-9.165292526420089e-6,-8.847896464769259e-9,0.0038135310890633975,-9.033789295919845e-6,-9.098924795496566e-9,0.0038136392405932478,-9.010703935907942e-6,-9.143237881021444e-9,0.0038138161247166904,-9.081404582108e-6,-9.008993457535895e-9,0.003814099382214336,-9.205645720023213e-6,-8.773169562587337e-9,0.0038145038512597245,-9.323767143029389e-6,-8.549656250554983e-9,0.003815012795942145,-9.370894020933878e-6,-8.462137200027408e-9,0.0038155779477628124,-9.29673571143693E-06,-8.606350895718982e-9,0.0038161315938342274,-9.08397255339519e-6,-9.015063906599803e-9,0.0038166080185463146,-8.755923206484596e-6,-9.64348405426532e-9,0.003816965037754244,-8.368207760136484e-6,-1.0385219024877421e-8,0.003817195248806939,-7.988222530295059e-6,-1.1111520776134655e-8,0.0038173229340541176,-7.673167559394442e-6,-1.1713278449963451e-8,0.0038173910001939285,-7.456361956860252e-6,-1.212711923818663e-8,0.0038174460930694254,-7.344703089557365e-6,-1.234016488954878e-8,0.0038175278039535875,-7.323953104584782e-6,-1.2379836417372083e-8,0.00381766349450458,-7.3667834734719346E-06,-1.2298441630227018e-8,0.003817867345920316,-7.44006181186134e-6,-1.2159268639340678e-8,0.003818141527292887,-7.510114938000029e-6,-1.2026573341010378e-8,0.003818477933177015,-7.546220680736763e-6,-1.1958946292781465e-8,0.003818859819405176,-7.523169308927341e-6,-1.2004439996582582e-8,0.0038192634063506886,-7.4236603910782554e-6,-1.2196000644852678e-8,0.0038196599709800997,-7.2408663983656445e-6,-1.254657877456703e-8,0.003820019070571289,-6.980898470168708e-6,-1.3044426574530458e-8,0.0038203132898458427,-6.664287919255013e-6,-1.3650268900585339e-8,0.0038205242460868597,-6.325154432293589e-6,-1.4298887743684189e-8,0.0038206486164603457,-6.006817141678243e-6,-1.4907506500728048e-8,0.0038207020750147184,-5.75354803338733e-6,-1.5391558345619086e-8,0.0038207189146382747,-5.599839594091006e-6,-1.568521212544733e-8,0.0038207461938191602,-5.560151445206347e-6,-1.5760970711142652e-8,0.00382083315281559,-5.622636517693993e-6,-1.5641635859755003e-8,0.003821018492077559,-5.749455228146534e-6,-1.5399662200224305e-8,0.0038213190875863523,-5.884391306755396e-6,-1.5142562499287096e-8,0.0038217235693960125,-5.966361142703782e-6,-1.4987076158289204e-8,0.0038221931563597426,-5.9456270845393625e-6,-1.502819170366169e-8,0.0038226704818977797,-5.798272337779563e-6,-1.531149257821805e-8,0.0038230947974088572,-5.5340664292121286e-6,-1.581812655956149e-8,0.0038234191450172406,-5.194116998158923e-6,-1.6469310260958883e-8,0.003823623312951976,-4.838285790666961e-6,-1.7150435861376128e-8,0.0038237175482825378,-4.526986941152714e-6,-1.7745939341755873e-8,0.0038237362016777052,-4.3046651521168036e-6,-1.8170927741837015e-8,0.003823725137708133,-4.1908453164058315e-6,-1.8388262055022257e-8,0.003823728754133948,-4.180212251173304e-6,-1.8408322336149633e-8,0.0038237809830387044,-4.2490079943162265e-6,-1.8276693046141356e-8,0.0038239015028385787,-4.363551982793333e-6,-1.8057833412152605e-8,0.003824095946593768,-4.487740674388706e-6,-1.7820751134813358e-8,0.003824358126063857,-4.588281903972761e-6,-1.7629039709488436e-8,0.0038246727136478013,-4.637862217435199e-6,-1.753487003336477e-8,0.003825017627068585,-4.61711276381841e-6,-1.7575256806811815e-8,0.003825366118825118,-4.516259894351772e-6,-1.7768895996776932e-8,0.0038256891088083935,-4.336919177129825e-6,-1.8112701958105336e-8,0.0038259584950023394,-4.093846046758095e-6,-1.8578421203903003e-8,0.00382615197722384,-3.815735474025295e-6,-1.9111084395452904e-8,0.0038262592364493595,-3.543489200549398e-6,-1.963234108463913e-8,0.0038262880282502877,-3.3242349858685718e-6,-2.005195595532296e-8,0.0038262672917729517,-3.200584377536259e-6,-2.0288421016364784e-8,0.0038262439982333636,-3.197318624244381e-6,-2.029444817156697e-8,0.003826272400189211,-3.3105522427901474e-6,-2.0077656752741834e-8,0.0038263982363601133,-3.505059768382942e-6,-1.9705603558615896e-8,0.003826643866615569,-3.7224637285441357e-6,-1.929005491723827e-8,0.003827000550067141,-3.897808129259171e-6,-1.8955276671465806e-8,0.0038274307773840765,-3.9781801362031975e-6,-1.8802446818552187e-8,0.0038278791501668245,-3.936838386802747e-6,-1.8882656721060616e-8,0.003828287511464482,-3.7789936758587133e-6,-1.91858484343628e-8,0.003828609599833306,-3.538639788532877e-6,-1.9646859993872794e-8,0.0038288214789188135,-3.2682591437941436e-6,-2.01651251887211e-8,0.0038289254924217973,-3.0247269062595245e-6,-2.0631684713590868e-8,0.0038289472814131997,-2.855414110560565e-6,-2.0955834728401942e-8,0.0038289273259179074,-2.788188187669053e-6,-2.108429624581785e-8,0.0038289100096469695,-2.827593307999e-6,-2.100851341943847e-8,0.0038289336504991763,-2.957270847791984e-6,-2.0759969177050435e-8,0.0038290239989857604,-3.1466075062872564e-6,-2.0397397678011425e-8,0.0038291919363631554,-3.358735621529485e-6,-1.9991428033826533e-8,0.0038294345412146105,-3.5575484015966483e-6,-1.9611153660184545e-8,0.0038297379974115684,-3.7126062375014595e-6,-1.931477643950267e-8,0.0038300809546290265,-3.8019422327944494e-6,-1.9144289526878937e-8,0.003830437556664625,-3.813471476213471e-6,-1.9122815383613343e-8,0.0038307800423785735,-3.7458453013279217e-6,-1.925296167705247e-8,0.0038310813355700818,-3.6092600087004904e-6,-1.951522260747604e-8,0.003831318289772106,-3.4261620143933223e-6,-1.9866570427390518e-8,0.0038314761727888578,-3.2310651372663914e-6,-2.024078705408704e-8,0.003831554328173983,-3.067891478985199e-6,-2.0553606536838275e-8,0.00383157155253598,-2.9829338185445362e-6,-2.071629056719002e-8,0.0038315679388297268,-3.0127134004410304e-6,-2.0658964500687748e-8,0.0038315991481782685,-3.1692879484097765e-6,-2.0358751628086406e-8,0.0038317214021556132,-3.429727904878386e-6,-1.9859827008455862e-8,0.0038319713636641617,-3.7377031114383478e-6,-1.9270251199510938e-8,0.003832350581616624,-4.0199454376947184e-6,-1.8730381252591345e-8,0.003832823444733821,-4.211063811726861e-6,-1.8365375552540856e-8,0.0038333298168283644,-4.2746105018214276e-6,-1.82449115700899e-8,0.0038338051698647065,-4.211439514210527e-6,-1.8367216874901712e-8,0.003834198761806769,-4.0546278942909735e-6,-1.8668806860764246e-8,0.003834484151940069,-3.856273197654131e-6,-1.9049773936193798e-8,0.0038346613147808603,-3.6724518049993973e-6,-1.940260611015573e-8,0.0038347524550533677,-3.550605899014387e-6,-1.9636361789940677e-8,0.0038347942577808274,-3.52127028068912e-6,-1.969253972068335e-8,0.0038348288874075678,-3.5944825007219915e-6,-1.9551978029488838e-8,0.0038348954913967792,-3.7604912766397788e-6,-1.9233502467926943e-8,0.0038350235792819626,-3.9939514459539405e-6,-1.8785861778853742e-8,0.0038352291926199416,-4.260277158951203e-6,-1.8275496622939114e-8,0.003835514073341714,-4.522523088560736e-6,-1.7773291753942183e-8,0.0038358673369616493,-4.7473979554075516E-06,-1.7343025332758908e-8,0.0038362687210526454,-4.9095732722181525e-6,-1.7033139263666595e-8,0.00383669236799276,-4.99408908331157e-6,-1.6872194841765404e-8,0.003837110381916312,-4.997253315309627e-6,-1.6867206012024054e-8,0.0038374959397268127,-4.926686817006647e-6,-1.7003556999435392e-8,0.003837826168240292,-4.800973729438346e-6,-1.724561889505605e-8,0.0038380852198412027,-4.64897087800454e-6,-1.7538006826362915e-8,0.0038382680055769084,-4.508244405378731e-6,-1.780856000998818e-8,0.0038383845372422826,-4.4213473667315845e-6,-1.7975542156029803e-8,0.0038384635487548452,-4.428331072852901e-6,-1.7962111992879813e-8,0.003838552412999034,-4.554891468079644e-6,-1.7719129920892407e-8,0.003838709449637709,-4.79857611780019e-6,-1.7251579776228027e-8,0.003838986727658379,-5.120008018211622e-6,-1.6635275122453434e-8,0.0038394080255532118,-5.448208410521412e-6,-1.6006525398447498e-8,0.0038399539523913803,-5.703228860578149e-6,-1.5518689679738132e-8,0.003840565607656355,-5.826728491288216e-6,-1.5283563189269852e-8,0.0038411666084649057,-5.803303992373885e-6,-1.5330502316579828e-8,0.003841690669226006,-5.6615015185918996e-6,-1.5604511736937722e-8,0.0038421002535852433,-5.457713918832178e-6,-1.5997183329700725e-8,0.0038423907809453407,-5.254822630049416e-6,-1.6387728287251544e-8,0.003842584084612968,-5.1054363205735894e-6,-1.6675159725889587e-8,0.0038427176193724898,-5.043044755021766e-6,-1.6795248365588627e-8,0.003842834018332966,-5.07989312250766e-6,-1.6724578044920652e-8,0.003842972942410085,-5.209054269116863e-6,-1.6476567824802356e-8,0.0038431654789848045,-5.4086399567047076e-6,-1.60933997922233e-8,0.00384343077449617,-5.647036470412883e-6,-1.563595510392797e-8,0.00384377466746861,-5.888566057774086e-6,-1.5172890552403953e-8,0.003844190175581018,-6.098988812967744e-6,-1.477000694122479e-8,0.0038446595948861905,-6.250255466342545e-6,-1.4481091439427506e-8,0.003845157818995818,-6.324023724179862e-6,-1.4341201409106802e-8,0.0038456562996112983,-6.313615647304992e-6,-1.4362989566193652e-8,0.003846127011783707,-6.224437602563978e-6,-1.4535971378501742e-8,0.003846546039512686,-6.073206328661482e-6,-1.4828020425045514e-8,0.0038468967151338742,-5.886318244836747e-6,-1.518844046641186e-8,0.0038471724104394123,-5.6974965543184785e-6,-1.5552409101517088e-8,0.0038473791476006172,-5.544524492413738e-6,-1.5847232591313744e-8,0.0038475379016441485,-5.464345014145458e-6,-1.6001824499551356e-8,0.0038476855030219305,-5.485613097100651e-6,-1.596112434254084e-8,0.003847871879727775,-5.6186931393504005e-6,-1.5705383768277254e-8,0.0038481508803807564,-5.845389848453475e-6,-1.526986177286528e-8,0.003848563503714657,-6.114171536753636e-6,-1.4753886498476955e-8,0.0038491178160156275,-6.348715588209728e-6,-1.4304328128888127e-8,0.0038497770085141143,-6.472740813382431e-6,-1.4067840281603289e-8,0.0038504673064347367,-6.441502007513236e-6,-1.4130328256331074e-8,0.0038511053849232322,-6.261082594443713e-6,-1.4479857491646347e-8,0.003851629844832358,-5.983091492067725e-6,-1.5016874116127136e-8,0.003852018859395578,-5.680152288202065e-6,-1.5601434430578248e-8,0.0038522882875718684,-5.418923444947771e-6,-1.6105201466218447e-8,0.0038524776393092323,-5.243503092060938e-6,-1.644339124890214e-8,0.0038526343526436983,-5.171293042120779e-6,-1.658266798991624e-8,0.0038528022610099396,-5.196803821713961e-6,-1.6533754071038998e-8,0.003853015203081441,-5.2983925912731155e-6,-1.6338444310091512e-8,0.003853294442269686,-5.444945618229092e-6,-1.6056762373860484e-8,0.0038536482567425854,-5.601504835855946e-6,-1.5756133822008962e-8,0.0038540726814287585,-5.7339517789242305e-6,-1.550233250246981e-8,0.0038545530770026947,-5.813032433141409e-6,-1.535167747524828e-8,0.003855066511348219,-5.817774971569551e-6,-1.5344433001374196e-8,0.0038555849763886965,-5.738119863076067e-6,-1.5499788248752717e-8,0.0038560793166990247,-5.576384824864866e-6,-1.5813120373490353e-8,0.0038565234608473496,-5.347216994734051e-6,-1.6256150387493468e-8,0.0038568984147355433,-5.075979025649893e-6,-1.678004601450871e-8,0.00385719557764678,-4.795731754718215e-6,-1.7321162029551486e-8,0.0038574190570229696,-4.543041028615571e-6,-1.780903983008837e-8,0.003857586762326891,-4.352859428110214e-6,-1.817625138390654e-8,0.003857730049101876,-4.252572787910336e-6,-1.8369938134093778e-8,0.0038578912513364937,-4.255213948707043e-6,-1.8364992404288677e-8,0.003858117874957074,-4.3525404651654585e-6,-1.8177456727680517e-8,0.003858452354547486,-4.510210597999658e-6,-1.7873784612501723e-8,0.003858917791777117,-4.669051428707108e-6,-1.756829129472984e-8,0.003859503672194377,-4.756979406824098e-6,-1.7400082133742694e-8,0.003860160107605068,-4.712384004790362e-6,-1.7487936966225806e-8,0.0038608091664962376,-4.510570068775836e-6,-1.7879323414882926e-8,0.003861372398538454,-4.177424357879907e-6,-1.8524047943606895e-8,0.003861800506333025,-3.7795425476321384e-6,-1.9293349565570984e-8,0.0038620880164654562,-3.396288792625095e-6,-2.0033913711143205e-8,0.003862267166860147,-3.0911799396654256e-6,-2.062317555474824e-8,0.0038623893494130436,-2.8966628210158406e-6,-2.099867596807234e-8,0.003862506563495998,-2.8140990119499413e-6,-2.115798768293966e-8,0.0038626598321244918,-2.822389550608056e-6,-2.114198102596278e-8,0.003862874873005275,-2.8882527356427605e-6,-2.1014973901108832e-8,0.003863162336153394,-2.9744902195046028e-6,-2.0848814677809523e-8,0.0038635199304515298,-3.045533830271848e-6,-2.0712205478631623e-8,0.0038639348992436243,-3.0710234770790767e-6,-2.066378398501029e-8,0.0038643864355204357,-3.028367117469868e-6,-2.0747147455070232e-8,0.00386484822728367,-2.904831494192115e-6,-2.0986801911394604e-8,0.0038652914752601592,-2.699236644680084e-6,-2.1384920240420773e-8,0.003865688624510196,-2.4228755743300013e-6,-2.191962018272638e-8,0.00386601767419727,-2.0990064949875313e-6,-2.2545976090700474e-8,0.003866266452299767,-1.760409030734062e-6,-2.3200715561079226e-8,0.0038664359843247702,-1.4449098341719433e-6,-2.3810796904036255e-8,0.0038665420780329414,-1.1892409375748905e-6,-2.4305217895457498e-8,0.003866614450261009,-1.0220808697119544e-6,-2.4628464023641513e-8,0.0038666931331427633,-9.574329517630934e-7,-2.4753373068809092e-8,0.00386682224894407,-9.894664267422647e-7,-2.469119648990868e-8,0.0038670414158975728,-1.0900193002419434e-6,-2.449647640784153e-8,0.0038673755149895308,-1.2103925169421118e-6,-2.4263553007702945e-8,0.0038678247276590877,-1.2892296045959293e-6,-2.4111252377403624e-8,0.003868358444959499,-1.267252656795297e-6,-2.4154311249935473e-8,0.0038689178723244452,-1.106609395965305e-6,-2.446591385034712e-8,0.0038694306364283385,-8.077989637281885e-7,-2.504494355576824e-8,0.0038698345342124824,-4.141703486132289e-7,-2.5807311711834674e-8,0.003870099809101716,1.7314109784301966e-9,-2.661245619101961e-8,0.0038702378083155316,3.6458720020279093e-7,-2.7314567339474627e-8,0.0038702920854368386,6.214663267685033e-7,-2.7811317375819918e-8,0.0038703190910244194,7.53858335647063e-7,-2.8067074676155508e-8,0.00387036974897286,7.748010931081934e-7,-2.8107228302703305e-8,0.0038704788581488724,7.175311052953002e-7,-2.7996153658333026e-8,0.0038706626331334653,6.232083040671878e-7,-2.781347285744613e-8,0.0038709211656908133,5.318687125353667e-7,-2.7636609917695287e-8,0.003871242513436442,4.772284502188831e-7,-2.753078648423058e-8,0.003871606525933271,4.841804967947889e-7,-2.754418615260003e-8,0.0038719879135084533,5.675785755217659e-7,-2.7705577960566147e-8,0.003872358880346966,7.314004543716178e-7,-2.8022675148351287e-8,0.0038726919022138077,9.680249185641712e-7,-2.8480732932027746e-8,0.003872963138652044,1.2579586782204766e-6,-2.9042030043767234e-8,0.00387315657601737,1.5708285211382788e-6,-2.9647789466682646e-8,0.0038732683373289547,1.86855923238929e-6,-3.0224309921934445e-8,0.0038733099271485473,2.1112153111972303e-6,-3.069424612561177e-8,0.003873308852725411,2.2650543922665764e-6,-3.0992188082449424e-8,0.0038733053736022243,2.3111642765606837e-6,-3.108140596859698e-8,0.003873345192169577,2.2521788410355123e-6,-3.0966904370240415e-8,0.0038734693367986866,2.1146262125177263e-6,-3.0700024716839653e-8,0.003873703593536369,1.9454980220390796e-6,-3.037183659191588e-8,0.0038740502205765353,1.8030645268901052e-6,-3.009534652539585e-8,0.003874484463380578,1.7433559304306285e-6,-2.997927136727451e-8,0.003874957745425761,1.805067475563303e-6,-3.009872427079351e-8,0.0038754081819814224,1.9969121911983876e-6,-3.0470633717663e-8,0.0038757768904046563,2.2921729176794824e-6,-3.104314330933098e-8,0.0038760255596562514,2.6342273406501153e-6,-3.1706344087442033e-8,0.003876148467003275,2.953007064522305e-6,-3.232426651598912e-8,0.003876173208269964,3.1867247516892045e-6,-3.2777089184574225e-8,0.0038761496228379723,3.299682974732298e-6,-3.2995681880150156e-8,0.0038761325461103228,3.2890272755367357e-6,-3.297463097922817e-8,0.003876166403606068,3.179714693762658e-6,-3.276239593634084e-8,0.003876276896591104,3.0126859225590633e-6,-3.243833774524097e-8,0.0038764701624275557,2.8325579269208208e-6,-3.208888404389721e-8,0.0038767365992111737,2.6787515873070964e-6,-3.1790385133102694e-8,0.003877056148306675,2.580816495240054e-6,-3.160009687833867e-8,0.003877403029010765,2.556826343211539e-6,-3.1553084495681475e-8,0.0038777493008821016,2.613289973686861e-6,-3.166203618942354e-8,0.0038780675614554605,2.745446505360736e-6,-3.191780672517262e-8,0.003878333476381656,2.937524412643369e-6,-3.2289889347489e-8,0.0038785287779384415,3.1632353044676755e-6,-3.2727348319001116e-8,0.0038786449743421613,3.38733667833281e-6,-3.3161835770498974e-8,0.0038786873128192818,3.569409484611795e-6,-3.351491898098499e-8,0.003878677591593657,3.6707118908738144e-6,-3.371139093728882e-8,0.003878653651155005,3.663736005572876e-6,-3.369782934114989e-8,0.003878663611183559,3.5420997935283253e-6,-3.346179770353897e-8,0.003878754731082063,3.3267106762652564e-6,-3.304380167421774e-8,0.003878959662882301,3.0642480397399228e-6,-3.2534349810315585e-8,0.0038792851193151815,2.8166766000497898e-6,-3.2053637071171815e-8,0.003879707781335941,2.644580007151263e-6,-3.171924924585675e-8,0.003880179414535661,2.590044261113597e-6,-3.161296170025512e-8,0.003880639462395093,2.664856929841553e-6,-3.175779169109812e-8,0.003881030963909623,2.847441295081661e-6,-3.211196330829822e-8,0.003881315132026455,3.088989773401876e-6,-3.258074793403881e-8,0.003881480673019954,3.3267950065992406e-6,-3.304234350010906e-8,0.0038815453906210946,3.500934082932849e-6,-3.33803219040278e-8,0.0038815497710628015,3.5694288741531944e-6,-3.3513127109619604e-8,0.003881544796778198,3.5173837589184617e-6,-3.341184114435914e-8,0.003881578212321525,3.3577257039687044e-6,-3.310159999772678e-8,0.0038816837406748395,3.1243817248589497e-6,-3.264830861127478e-8,0.0038818760151617553,2.8614164265762064e-6,-3.213752525507882e-8,0.0038821512694009203,2.612341272483004e-6,-3.165370238768937e-8,0.0038824917692874394,2.4124461107722537e-6,-3.1265314802538124e-8,0.003882871480346175,2.2849072067360234e-6,-3.1017329356398934e-8,0.0038832611824149987,2.2398928027330586e-6,-3.0929494207351274e-8,0.0038836323245214632,2.275318774487282e-6,-3.099781618751069e-8,0.0038839597921307414,2.378108423025778e-6,-3.119699030134757e-8,0.0038842242152507703,2.5254286212354412e-6,-3.148275781095068e-8,0.0038844144663355965,2.686059250390416e-6,-3.179451894543604e-8,0.0038845306688387576,2.822639547206788e-6,-3.2059675183163195e-8,0.003884587357003466,2.8959475224504465e-6,-3.220196455639171e-8,0.0038846153737523,2.8722310269464106e-6,-3.21557550736718e-8,0.003884660056959134,2.7333387608771316e-6,-3.18857668919105e-8,0.0038847732762158013,2.4869046599035173e-6,-3.1406851357082614e-8,0.0038849991252745794,2.1712642698410145e-6,-3.0793495921892944e-8,0.0038853574442500984,1.8496451423368823e-6,-3.016850650976043e-8,0.0038858330515733975,1.5925789224385644e-6,-2.9668865383990577e-8,0.003886377556622482,1.4547566015723252e-6,-2.940082528056271e-8,0.0038869241473787107,1.4569552475180457e-6,-2.9404819127186324e-8,0.0038874085176017156,1.5809669809562609e-6,-2.9645564220367717e-8,0.003887786800305342,1.7780034980890623e-6,-3.002832302171855e-8,0.0038880447159318995,1.9850173646662214e-6,-3.0430573951043864e-8,0.0038881971924163384,2.1420596256770285e-6,-3.073574438290413e-8,0.003888280961175994,2.205781072292864e-6,-3.085948449380518e-8,0.0038883435694981065,2.1568374784550173e-6,-3.076410840731744e-8,0.0038884319296096136,2.0009593416802778e-6,-3.0460718017368735e-8,0.00388858281744708,1.7646673454508626e-6,-3.000089846925649e-8,0.003888816937092785,1.487387634284406e-6,-2.9461380448588014e-8,0.003889137213009564,1.2122368285186793e-6,-2.8926083312790018e-8,0.0038895308769200843,9.77741933194379e-7,-2.8469964105098837e-8,0.0038899740437511265,8.120453633245923e-7,-2.81477220260484e-8,0.003890437171818333,7.300902557734322e-7,-2.7988343358411724e-8,0.0038908900772970704,7.333723847624609e-7,-2.7994672649499975e-8,0.0038913058202770783,8.11313345377628e-7,-2.8146131740211625e-8,0.003891663485624368,9.432958331578632e-7,-2.8402680159512044e-8,0.0038919502946732623,1.1008399990349611e-6,-2.8708996787877187e-8,0.0038921635340459903,1.2499486900889057e-6,-2.8998973546822423e-8,0.0038923125934744473,1.3541502616078596e-6,-2.9201603267134142e-8,0.0038924208408559866,1.379197734291158e-6,-2.9250157793629576e-8,0.0038925260361622285,1.3003034856014153e-6,-2.909634192665132e-8,0.0038926769630940033,1.1115916402400212e-6,-2.8728743103664676e-8,0.0038929238963934186,8.34996763450161e-7,-2.819013439953649e-8,0.003893302729372596,5.229491681716229e-7,-2.7582633768285374e-8,0.0038938176635446077,2.486270920040773e-7,-2.704868519022275e-8,0.0038944323474479204,8.290889866841129e-8,-2.6726217478885122e-8,0.0038950779585628413,6.71542862886964e-8,-2.6695708784190685e-8,0.0038956768103849595,1.9679611586948285e-7,-2.694825472718397e-8,0.003896169311776245,4.2495370109331924e-7,-2.73925766726845e-8,0.003896530677936019,6.822594553111313e-7,-2.7893606935094835e-8,0.0038967721729981984,9.007324311420936e-7,-2.8318972956552194e-8,0.003896930972109137,1.0312737312306008e-6,-2.8573056292209646e-8,0.0038970560356940956,1.0512333616440805e-6,-2.8611714898809007e-8,0.0038971954492596143,9.637576168076825e-7,-2.84410251401411e-8,0.0038973875128366286,7.922909732076531e-7,-2.8106623400673385e-8,0.003897655773663217,5.73039745366953e-7,-2.7679078820458593e-8,0.0038980074203048315,3.470975623162463e-7,-2.723855936562174e-8,0.003898434383602654,1.532557749678879e-7,-2.686076811069166e-8,0.003898916483642837,2.2273778031217942e-8,-2.6605698033749048e-8,0.003899425869944706,-2.6879705272445377e-8,-2.651026260606674e-8,0.003899931946443452,1.135752503116599e-8,-2.658517606455315e-8,0.003900405988380751,1.2952483923987927e-7,-2.6815784333920333e-8,0.0039008248607193337,3.0902597073996624e-7,-2.7165815642283763e-8,0.0039011736945926885,5.228355224148576e-7,-2.7582659172522265e-8,0.003901447733469793,7.385703341824681e-7,-2.800327930437387e-8,0.0039016535931530446,9.218576909926763e-7,-2.8360689234556944e-8,0.003901810063641041,1.0402342282423203e-6,-2.8591513682344532e-8,0.0039019482346590566,1.068114437545263e-6,-2.8645727584383664e-8,0.0039021099156309434,9.933162871447647e-7,-2.8499486010026745e-8,0.0039023425147539973,8.245733393134014e-7,-2.816985246159411e-8,0.0039026886667243655,5.973876226969504e-7,-2.7726207946250197e-8,0.0039031709184319144,3.732053312467776e-7,-2.728856993304565e-8,0.003903776436955178,2.2643689124575264e-7,-2.7002203145251322e-8,0.0039044517336320776,2.1908852626009318e-7,-2.6988107235954432e-8,0.0039051160269753435,3.7343990320735743e-7,-2.728970832405026e-8,0.0039056904602020087,6.597257455398579e-7,-2.7848816986833218e-8,0.0039061274952976715,1.008182754458275e-6,-2.8529159419230002e-8,0.003906424029832539,1.337864454440272e-6,-2.917267690733211e-8,0.0039066143239121455,1.584673185538172e-6,-2.9654276855512307e-8,0.003906751629333246,1.7160417124478927e-6,-2.991045051383723e-8,0.003906889981347287,1.7312807173328777e-6,-2.993987957694521e-8,0.003907072257425082,1.6535639424178371e-6,-2.978777180552823e-8,0.003907324953080964,1.5196860399174986e-6,-2.9525923596991393e-8,0.003907657617907691,1.3710174126904936e-6,-2.9235136326534077e-8,0.003908064791635279,1.246627938272527e-6,-2.8991808582392042e-8,0.003908529121213566,1.178355331974727e-6,-2.8858246582644022e-8,0.0039090251008069895,1.1874723538953122e-6,-2.8876064406570793e-8,0.0039095231741027164,1.2828026766380307e-6,-2.9062457134925734e-8,0.003909993971965604,1.4602429723720258e-6,-2.940930205385144e-8,0.003910412376088683,1.7037257014122688e-6,-2.9885126077279e-8,0.003910760972899444,1.9875614267849495e-6,-3.043974711070414e-8,0.003911032543742426,2.279815827653438e-6,-3.1010855542352346e-8,0.003911231493909528,2.5463069029857515e-6,-3.153173238001942e-8,0.003911374222650876,2.7549910335127733e-6,-3.193972170951845e-8,0.003911488384327841,2.880624085469085e-6,-3.218531726661661e-8,0.003911610864352182,2.909667982481857e-6,-3.224183476086153e-8,0.003911783886839922,2.84536194505679e-6,-3.211546429333361e-8,0.003912048236733935,2.7121190655270843e-6,-3.1853969077637996e-8,0.003912432956737331,2.5569177610852085e-6,-3.1549408250500364e-8,0.003912942711842446,2.4439948046497946e-6,-3.13276712957956e-8,0.003913547494005578,2.439525781374463e-6,-3.1318405148871284e-8,0.003914182801008766,2.587612510786791e-6,-3.160796365905382e-8,0.00391476670682019,2.8876813198392386e-6,-3.219515496038958e-8,0.003915229878465214,3.288612511808708e-6,-3.297977441605243e-8,0.00391554262842195,3.707168304776008e-6,-3.3798756641249064e-8,0.003915722816780819,4.061134667377567e-6,-3.449114586943816e-8,0.0039158221519932715,4.297554871760769e-6,-3.495337435976911e-8,0.003915902612886247,4.403020028690837e-6,-3.5159304982510026e-8,0.003916016771863963,4.3972762305046315e-6,-3.51476057496457e-8,0.003916198069716032,4.319425094326008e-6,-3.499472431255641e-8,0.003916459596845121,4.214738888555488e-6,-3.4789167335719515e-8,0.003916797401300606,4.125457418511884e-6,-3.46135897824814e-8,0.003917195121291198,4.085545626385126e-6,-3.453456558879286e-8,0.003917628376812855,4.118078743411213e-6,-3.459741276197698e-8,0.00391806864547818,4.234057023541767e-6,-3.4823781820516536e-8,0.0039184868549933145,4.432100524385358e-6,-3.521100643460954e-8,0.003918856894454718,4.698942282664103e-6,-3.5733089149345645e-8,0.003919159062997544,5.010909292212568e-6,-3.634366398414867e-8,0.003919383180819294,5.336673361384431e-6,-3.698142096457321e-8,0.003919530829987342,5.641296545403175e-6,-3.757799607711368e-8,0.0039196162213828035,5.891218249778886e-6,-3.8067651883344666e-8,0.0039196653747344806,6.059652716046391e-6,-3.8397777275256786E-08,0.003919713456096689,6.131770978781817e-6,-3.853905013964011e-8,0.003919800276775679,6.108967573413839e-6,-3.849390802272054e-8,0.003919964045053333,6.011521522845613e-6,-3.830191792649171e-8,0.003920233494230299,5.878730153642338e-6,-3.804014811232711e-8,0.003920618992780859,5.764983763374026e-6,-3.781547454419313e-8,0.00392110459247313,5.730010496430183e-6,-3.7745352062984805e-8,0.0039216448866342514,5.822802882578071e-6,-3.792614771435408e-8,0.00392217165582521,6.062441369382195e-6,-3.839540769990899e-8,0.003922612784897084,6.424343781374744e-6,-3.910483982583697e-8,0.003922918279510956,6.842549813656679e-6,-3.9924854655693004e-8,0.0039230801956615,7.231684285990491e-6,-4.068779460101494e-8,0.003923134148926395,7.5187772284920845e-6,-4.125047503163074e-8,0.003923141833425455,7.667435752105012e-6,-4.1541586012182924e-8,0.003923166269325025,7.683166138878378e-6,-4.1571999586433136e-8,0.003923253198934327,7.602234341381125e-6,-4.1412808153840096e-8,0.00392342418128479,7.474463541507354e-6,-4.1161593315289665e-8,0.003923678875818511,7.348774715809465e-6,-4.091417238620076e-8]} \ No newline at end of file diff --git a/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_24.json b/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_24.json new file mode 100644 index 0000000..2a81d6b --- /dev/null +++ b/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_24.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1.0,"startIndex":24000,"numberOfSamples":1000,"samples":[0.003924001349468574,7.264665173102422e-6,-4.0747989552475184e-8,0.003924366586169156,7.248790607297544e-6,-4.0715438046854016e-8,0.0039247455983737215,7.31449699975775e-6,-4.084288354023843e-8,0.003925109134008881,7.462510402409807e-6,-4.1131928535769936e-8,0.003925430619334403,7.681943579661476e-6,-4.156132990390201e-8,0.003925688916221978,7.9515663056217e-6,-4.208949033990723e-8,0.003925871139610513,8.241724001493012e-6,-4.26582543580377e-8,0.003925975343160025,8.517452558510482e-6,-4.319903585164052e-8,0.003926012408625573,8.743124708146312e-6,-4.364190844664137e-8,0.0039260062351111815,8.888393011087458e-6,-4.392721436513869e-8,0.0039259914819518545,8.934553769547599e-6,-4.401802379763859e-8,0.003926008601681654,8.87995541059872e-6,-4.391078722925618e-8,0.003926096603853184,8.742886424791559e-6,-4.364111335220435e-8,0.003926284700461693,8.560700555841224e-6,-4.328218871863738e-8,0.003926584419799495,8.38460458304358e-6,-4.293463839580567e-8,0.003926983982520055,8.27018419490559e-6,-4.270791978660203e-8,0.003927446933578442,8.26450952654458e-6,-4.269489056436631e-8,0.003927917035426422,8.392007583137403e-6,-4.294388907717355e-8,0.003928330548152765,8.643213090672838e-6,-4.343648270886796e-8,0.003928634404239271,8.97202431142347e-6,-4.4082022548759444e-8,0.003928804571353034,9.306016764539644e-6,-4.473798796749362e-8,0.003928855847415065,9.568840746130847e-6,-4.525415343428905e-8,0.0039288366735898165,9.705875342600683e-6,-4.552310678124801e-8,0.003928810708523999,9.70075387287824e-6,-4.5512697637589113e-8,0.003928834802404048,9.575566014901797e-6,-4.526632710582171e-8,0.003928943827175889,9.377534807333275e-6,-4.487669985208786e-8,0.003929146690245219,9.161289638700064e-6,-4.445102369531869e-8,0.003929431010766044,8.97479258527682e-6,-4.408344678591044e-8,0.003929771249439363,8.851942834798086e-6,-4.3840594450064106e-8,0.003930136299987928,8.810775413828423e-6,-4.375803213461219e-8,0.0039304949376361325,8.854733935909684e-6,-4.3842713182813283e-8,0.003930819251349883,8.97490756364095e-6,-4.4077307493303816e-8,0.003931086911330102,9.152169769274805e-6,-4.442436000944777e-8,0.0039312831240633185,9.359120650070548e-6,-4.4830096409770687e-8,0.003931402736278697,9.562353565431697e-6,-4.522888479978551e-8,0.0039314523679986994,9.725809891954073e-6,-4.554983213541918e-8,0.003931451821677968,9.81581544058732e-6,-4.572667330703574e-8,0.0039314335373014,9.807739373223678e-6,-4.5710846370490446e-8,0.003931438847422937,9.693139686684408e-6,-4.5485541526462294e-8,0.003931510540598468,9.485126741041124e-6,-4.507628154878644e-8,0.0039316827752822045,9.21922505098598e-6,-4.455269004539336e-8,0.003931971055312627,8.947933809120098e-6,-4.401789076476449e-8,0.0039323657307728825,8.729358784614993e-6,-4.358622919525109e-8,0.003932831731699162,8.612643855888081e-6,-4.335462841531593e-8,0.003933315344617792,8.62429738570606e-6,-4.337560654570439e-8,0.003933756715300976,8.759463349484685e-6,-4.363994931455601e-8,0.003934105106059232,8.981053856326873e-6,-4.407485811762412e-8,0.003934332913929343,9.227877438043526e-6,-4.4559891225405716e-8,0.0039344440871193175,9.430525068002884e-6,-4.4958286576969273e-8,0.003934473402796723,9.530858688927084e-6,-4.5155432327327116e-8,0.003934475863914978,9.498545685117723e-6,-4.509149078422063e-8,0.003934509718222492,9.33827824991407e-6,-4.47756142603218e-8,0.003934619792227327,9.085158588882537e-6,-4.427682786107174e-8,0.003934827415641757,8.791280140237335e-6,-4.369760258181166e-8,0.00393512933343696,8.510038014808986e-6,-4.31429928445453e-8,0.0039355035636141015,8.284081649552148e-6,-4.269695029529051e-8,0.003935918018543304,8.139406686077033e-6,-4.241070000822375e-8,0.003936338353846052,8.084775818140693e-6,-4.2301584302013366e-8,0.003936733445406277,8.114176353890525e-6,-4.235787766689351e-8,0.0039370785461212525,8.210197709692123e-6,-4.254541828860122e-8,0.003937356971767464,8.347130480599071e-6,-4.281369430236631e-8,0.003937561263758311,8.493567783692922e-6,-4.310094762045791e-8,0.003937694438031615,8.615002843389891e-6,-4.333926631812809e-8,0.003937771330134241,8.67725650150846e-6,-4.346131796842194e-8,0.003937819322870859,8.651508326884634e-6,-4.3410256470381495e-8,0.003937877058427044,8.521099894445721e-6,-4.3153137231452934e-8,0.003937989463885939,8.288931327634417e-6,-4.269550841092151e-8,0.003938198228981029,7.982475866423666e-6,-4.209131265757179e-8,0.003938529202136906,7.652421272823026e-6,-4.144024574779018e-8,0.003938981172624146,7.362348631112524e-6,-4.086748201679056e-8,0.003939521858698951,7.171057158621901e-6,-4.048891544782165e-8,0.003940094615197016,7.113880374154503e-6,-4.0374365707466556e-8,0.0039406342007793785,7.190918645244552e-6,-4.052432522098116e-8,0.003941085456845227,7.366953288287352e-6,-4.086966435709471e-8,0.003941417979926735,7.582297213206803e-6,-4.1292902967637985e-8,0.003941632550878733,7.769811582108233e-6,-4.1661704613367465e-8,0.0039417586573959,7.872367731094012e-6,-4.186332403044912e-8,0.00394184498935138,7.856147459827803e-6,-4.183089280710224e-8,0.003941946090056001,7.716963831159671e-6,-4.155595404739903e-8,0.003942108844751583,7.478721284531861e-6,-4.1085488184775086e-8,0.003942362280649743,7.1851264448118275e-6,-4.0505610055412035e-8,0.003942713056297738,6.887545188092401e-6,-3.9917635489093076e-8,0.003943147094181412,6.63285056822077e-6,-3.9414089140640513e-8,0.00394363576055283,6.45458746493619e-6,-3.906122521138246e-8,0.003944143851940386,6.3689698481875325e-6,-3.889108334065558e-8,0.003944636869159611,6.375238897636767e-6,-3.89021835862169e-8,0.003945086178514301,6.458758785510235e-6,-3.906566285644976e-8,0.003945471885644119,6.595087712929455e-6,-3.9333345409787816e-8,0.003945784062145488,6.75381682031183e-6,-3.96453240801719e-8,0.0039460231949269235,6.9018086924852714e-6,-3.993631138475404e-8,0.003946200484182494,7.0061699834473986e-6,-4.0141443325436696e-8,0.003946338123548155,7.037663514739489e-6,-4.020297398706976e-8,0.003946469030517169,6.975321308310946e-6,-4.007939202239149e-8,0.0039466347171631935,6.8125615268396335e-6,-3.9757548945000605e-8,0.003946879526314831,6.563781000662389e-6,-3.926572917290399e-8,0.003947240113576192,6.26832771088985e-6,-3.8681519815076635e-8,0.00394773162032693,5.987155767768718e-6,-3.8125213666258697e-8,0.00394833606959585,5.788678511154436e-6,-3.7731893344309e-8,0.0039490010315956,5.726070108611301e-6,-3.760663760887806e-8,0.003949653254363835,5.815841448021564e-6,-3.778221021701663e-8,0.003950222933085804,6.029784395114221e-6,-3.8203094717768544e-8,0.003950666763769117,6.305251283013329e-6,-3.874572335149639e-8,0.003950978997636163,6.567633107643007e-6,-3.926282625402561e-8,0.003951187946508848,6.753390037519353e-6,-3.9628897768472654e-8,0.003951342970045106,6.82499234587586e-6,-3.9769697357740485e-8,0.00395149899125544,6.775528812781524e-6,-3.9671369919487616e-8,0.003951703461040263,6.625121099539185e-6,-3.9373432374454456e-8,0.003951987858015527,6.412572497682793e-6,-3.8952382552237284e-8,0.003952363959429004,6.185216687773946e-6,-3.8501729618800614e-8,0.003952824318389738,5.9890392604355895e-6,-3.811248119847719e-8,0.003953346084383744,5.8605580191022866e-6,-3.7857015174201214e-8,0.003953896995412957,5.821583390244034e-6,-3.777860582122305e-8,0.003954442092751837,5.877359468380301e-6,-3.7887672658214384e-8,0.003954949781935346,6.017769412892624e-6,-3.816417373000497e-8,0.003955396289717578,6.220694202785564e-6,-3.856432318594815e-8,0.003955768174884203,6.456367672750993e-6,-3.902927598979735e-8,0.003956063179994125,6.691705169501888e-6,-3.949369249275251e-8,0.003956290051901221,6.894111093467348e-6,-3.989319559509603e-8,0.003956467854520423,7.034854759428582e-6,-4.017095218887658e-8,0.0039566249669400816,7.092436622888951e-6,-4.0284290088954386e-8,0.003956797478346305,7.056481487425291e-6,-4.021245059161304e-8,0.003957025994777186,6.932388600346256e-6,-3.996590300588929e-8,0.003957349414623954,6.7458410699163445e-6,-3.959537173887109e-8,0.003957794778545756,6.544498614818847e-6,-3.9195220973930975e-8,0.003958364489074411,6.392651543668574e-6,-3.889283923884582e-8,0.003959026190955713,6.355295837039837e-6,-3.881705762450065e-8,0.003959713978117959,6.473712946892012e-6,-3.904975388942963e-8,0.003960346658841707,6.743821961530491e-6,-3.958294960032686e-8,0.003960857575990237,7.112323350996538e-6,-4.031115186969541e-8,0.0039612197932018854,7.496174919039376e-6,-4.10699402100219e-8,0.003961452306299503,7.814588012843276e-6,-4.169936348567501e-8,0.003961606574536528,8.01530911676443e-6,-4.209596468724888e-8,0.003961744529834369,8.08439052342442e-6,-4.223205431160473e-8,0.003961919898203691,8.041055608842375e-6,-4.2145503385516964e-8,0.003962167934107929,7.92540646416268e-6,-4.1915471608097986e-8,0.003962502766954194,7.785608877629877e-6,-4.1637175222764884e-8,0.003962919504652272,7.667738377555936e-6,-4.140189174962666e-8,0.00396339860412415,7.6088866362392024e-6,-4.128330394764023e-8,0.003963911081389532,7.633028280277278e-6,-4.132919427751386e-8,0.003964423927548092,7.749152914604407e-6,-4.1557593105492124e-8,0.003964905318504584,7.951432583245587e-6,-4.1957026443146924e-8,0.003965329172806784,8.221199670866641e-6,-4.249046155503989e-8,0.0039656786145144665,8.530378408627668e-6,-4.310220299700377e-8,0.003965947990889918,8.845841392371245e-6,-4.37266017606286e-8,0.003966143368775138,9.134007815143316e-6,-4.429715430491004e-8,0.003966281763390242,9.365126081644348e-6,-4.475489492347632e-8,0.003966389432433808,9.517028569907252e-6,-4.50557398961551e-8,0.0039664994413490615,9.578380169243303e-6,-4.517691762130738e-8,0.003966648478154706,9.551562333274848e-6,-4.512279719134597e-8,0.003966872442131501,9.455213790585541e-6,-4.493010285476397e-8,0.003967200009096507,9.325645135291122e-6,-4.4670856835179115e-8,0.003967643942139405,9.215087087823338e-6,-4.4448923046119814e-8,0.0039681916280942,9.183905742556441e-6,-4.438445858297688e-8,0.003968799131557344,9.284666046934797e-6,-4.4582129386551373e-8,0.003969395714603861,9.540259293398974e-6,-4.508756258136944e-8,0.0039699037202130414,9.926237027984614e-6,-4.585222439096121e-8,0.003970268552470416,1.0371684773005795e-5,-4.673521137896835e-8,0.003970482142169558,1.078412203468818e-5,-4.755282003004367e-8,0.0039705843561092195,1.10860283048514e-5,-4.815115477383973e-8,0.003970642360386332,1.1241376583518066e-5,-4.845874452293147e-8,0.003970722821708415,1.125981504453911e-5,-4.8494689966727235e-8,0.0039708723071808566,1.11829441885822e-5,-4.834134805360363e-8,0.003971110919069601,1.1065211622363857e-5,-4.810650188240576e-8,0.003971435431608885,1.0958632735931508e-5,-4.7893216781566505e-8,0.003971826265812919,1.0903990546723049e-5,-4.778250186894762e-8,0.003972254586729742,1.0927283245886881e-5,-4.782624238951511e-8,0.003972688105211575,1.1039249843146977e-5,-4.8046116883982526e-8,0.0039730955939297884,1.1236386675066273e-5,-4.843545087392066e-8,0.00397345054557075,1.1502799362280447e-5,-4.8962807876693554e-8,0.003973734208169738,1.1812792318729848e-5,-4.9577158828296015e-8,0.003973937950405579,1.2134265111817801e-5,-5.021471558067026e-8,0.003974064679006379,1.2432918992578263e-5,-5.080734411592102e-8,0.003974128944467808,1.2676973960732623e-5,-5.129190491821449e-8,0.003974155556457899,1.2841827542246017e-5,-5.1619414061577866e-8,0.0039741767870729505,1.2914097734147498e-5,-5.1763003268766806e-8,0.003974228381508199,1.2894585117898373e-5,-5.1723840310494984e-8,0.0039743446740342315,1.2799778794775203e-5,-5.1534278839920305e-8,0.003974553031218095,1.2661651645222267e-5,-5.1257656952560386e-8,0.00397486770830553,1.252526192551265e-5,-5.0983665712715536e-8,0.003975283624309093,1.244306855380536e-5,-5.081702986908633e-8,0.003975771762776541,1.2464764616558008e-5,-5.085712444532777e-8,0.003976279358595454,1.2622668128129355e-5,-5.1168686224427466e-8,0.003976738806949802,1.2915806066879637e-5,-5.174997205879499e-8,0.00397708712480231,1.3300494013523065e-5,-5.251398213335525e-8,0.003977290708495544,1.3697307875515348e-5,-5.3302462984544026e-8,0.003977362035950759,1.4017395454687275e-5,-5.393846232144907e-8,0.003977355858695399,1.4196719691249908e-5,-5.429455632185751e-8,0.003977345605575303,1.4218583669657343e-5,-5.433755885903962e-8,0.003977394646971235,1.4112859234273654e-5,-5.412679978292305e-8,0.003977538120767945,1.3937040535825622e-5,-5.377637606636613e-8,0.003977780313015663,1.3753373811437281e-5,-5.3409789340420174E-08,0.0039781024005110955,1.361276026355333e-5,-5.312812805725196e-8,0.003978473023124186,1.3547849219766439e-5,-5.299644136530384e-8,0.003978857094370713,1.3572654477401475e-5,-5.304293291262342e-8,0.00397922161367756,1.3685187261991948e-5,-5.326404503945597e-8,0.0039795391090315735,1.387078103509612e-5,-5.363091484811033e-8,0.003979789799970764,1.4105237357237993e-5,-5.4095556401576257e-8,0.0039799632178153825,1.4357845076354077e-5,-5.45968922420498e-8,0.003980059500806607,1.4594673222991368e-5,-5.506737604277994e-8,0.003980090142970023,1.4782539911570218e-5,-5.5440930753357645e-8,0.003980077642195864,1.4893710156689642e-5,-5.566226817310781e-8,0.003980053468419345,1.4910803096605801e-5,-5.56965853216742e-8,0.0039800541106269635,1.4830983623911673e-5,-5.553787293347947e-8,0.0039801154418540406,1.466838142817004e-5,-5.5213797919344863e-8,0.003980266139921954,1.4453775388946017e-5,-5.478524269653043e-8,0.003980521287767714,1.4231023369268172e-5,-5.4339391697161045e-8,0.003980877353979621,1.4050315119139707e-5,-5.397640762167942e-8,0.003981309717837675,1.395868469966156e-5,-5.3790488944141864e-8,0.003981774090037387,1.3988628469092594e-5,-5.3846999457069773e-8,0.003982213281677193,1.4146764402475845e-5,-5.415961657859051e-8,0.003982570011449755,1.4406143821260008e-5,-5.467482526558627e-8,0.003982804131697453,1.47071498764841e-5,-5.527369286809923e-8,0.003982908778352366,1.4970992193698437e-5,-5.579891732093303e-8,0.003982916824397885,1.5124448073961797e-5,-5.6104337480320424e-8,0.003982891263406429,1.5126160410236833e-5,-5.610742482232311e-8,0.00398290215454356,1.4980743595872157e-5,-5.581730514030468e-8,0.0039830019202654705,1.4733222541316497e-5,-5.532354528930037e-8,0.003983211326857249,1.4448727937037265e-5,-5.4755680309660146e-8,0.003983520104257227,1.4189885389384998e-5,-5.423828496751849e-8,0.003983897259054235,1.4001826693159665e-5,-5.386125283385029e-8,0.003984303459136277,1.3907216352427944e-5,-5.366993275012876e-8,0.003984700579759181,1.3908279420985249e-5,-5.3669095525382856e-8,0.003985057207973846,1.399170223752423e-5,-5.3832563887307894e-8,0.00398535107067196,1.4133635001783242e-5,-5.411306762933109e-8,0.003985569881970607,1.4303771905497005e-5,-5.445033306625039e-8,0.0039857117052029475,1.4468652878353123e-5,-5.4777689929636526e-8,0.003985785248092382,1.4594817843348775e-5,-5.502840613731594e-8,0.003985809897015252,1.4652472383143383e-5,-5.514301337657362e-8,0.003985814826438397,1.4619974837042523e-5,-5.5078226609295487e-8,0.0039858363205629195,1.4488750116827408e-5,-5.481669944437828e-8,0.003985912714645442,1.426742833517886e-5,-5.4375274115178266e-8,0.003986077146685968,1.3983468945714063e-5,-5.380829619913038e-8,0.003986349418788184,1.3680607655818763e-5,-5.320267121504874e-8,0.003986729243878734,1.3411429492368585e-5,-5.266321054783875e-8,0.003987193368925278,1.3226052188088213e-5,-5.229014065094215e-8,0.0039876982347206835,1.3159498917999302e-5,-5.2153854337675876E-08,0.00398818833657533,1.3221106579292605e-5,-5.227358445765773e-8,0.003988608901007278,1.338916970518754e-5,-5.260647556617648e-8,0.003988920183252699,1.3613194193081244e-5,-5.3051916801022585e-8,0.003989109646982799,1.3824650626505712e-5,-5.347299765131535e-8,0.003989197746223967,1.3954767944424933e-5,-5.373215558025435e-8,0.003989233827788415,1.3954763566654355e-5,-5.373171638754063e-8,0.003989281800794039,1.3811236850979288e-5,-5.3444699852450874e-8,0.003989400134260441,1.3549823535973889e-5,-5.292209959911019e-8,0.003989624365284392,1.3225093106393183e-5,-5.227268643727621e-8,0.003989959279866753,1.290162083662521e-5,-5.1625249279043706e-8,0.0039903824814073756,1.2635093520500604e-5,-5.109093995112096e-8,0.00399085532254792,1.2460509228031144e-5,-5.0739748289693165e-8,0.003991335096141489,1.2389290014694273e-5,-5.0594703090057124e-8,0.003991784193685639,1.2412788238110021e-5,-5.063879306432595e-8,0.0039921750376531425,1.2508400657934924e-5,-5.082710027342623e-8,0.0039924916979013365,1.264552801312763e-5,-5.109866380876292e-8,0.003992729733420645,1.2790244411010073e-5,-5.138580639540977e-8,0.003992895505481774,1.2908774182592685e-5,-5.162109554086806e-8,0.003993005539841018,1.2970483448082949e-5,-5.1743325651077926e-8,0.003993085805853583,1.2951169554634605e-5,-5.170407528089941e-8,0.0039931702182065525,1.2837098930575677e-5,-5.1475750096119304e-8,0.003993297356816803,1.2629535465925717e-5,-5.106062222453551e-8,0.003993504537036869,1.2348458326471559e-5,-5.04982889205154e-8,0.00399381928261621,1.2033164964636035e-5,-4.9866956012253766e-8,0.003994250001187529,1.1737322154317254e-5,-4.9273662215669775e-8,0.0039947794474397376,1.1517572315967707e-5,-4.883161802180583e-8,0.003995364932969854,1.1417909076784898e-5,-4.8629022529340004e-8,0.0039959471867255245,1.145512467560501e-5,-4.8699907040692296e-8,0.003996465923696541,1.1611411554188564e-5,-4.9009176717670445e-8,0.003996876828671035,1.1837637422183225e-5,-4.9458966925161574e-8,0.003997163971009506,1.2066380201857806e-5,-4.991458667779847e-8,0.003997343759283495,1.2230228260355551e-5,-5.024110820721207e-8,0.003997459714537061,1.227962356731739e-5,-5.033913205513782e-8,0.0039975700174394516,1.2195246540345806e-5,-5.016966528746188e-8,0.0039977315793668896,1.199171433994848e-5,-4.9761614483588085e-8,0.003997985303974457,1.1711837911922054e-5,-4.920037428897476e-8,0.003998346858193554,1.1413566865496914e-5,-4.8601769213070115e-8,0.0039988053495900785,1.1154143067304714e-5,-4.808037527313077e-8,0.0039993293627035445,1.0976671983429418e-5,-4.7722620398013583e-8,0.003999877225762814,1.0902767894712806e-5,-4.7571985490559816e-8,0.004000407493370264,1.0931979187466173e-5,-4.762776490445662e-8,0.00400088668699902,1.1046120607170104e-5,-4.785368769200271e-8,0.0040012933178902805,1.1215681826101956e-5,-4.8190753288722657e-8,0.004001618824597613,1.140602944436198e-5,-4.856968419517292e-8,0.004001866716617343,1.1582292382143262e-5,-4.8920729394387654e-8,0.004002051089467816,1.1712900988527266e-5,-4.9180732644461024e-8,0.004002195134543225,1.1772393926335084e-5,-4.9298705411811596e-8,0.0040023296147842545,1.1744241358596293e-5,-4.9241438831947997e-8,0.004002490702025333,1.1624164492064202e-5,-4.9000150214148706e-8,0.004002716177242634,1.1423787492992013e-5,-4.859784391910101e-8,0.0040030390227214704,1.1173356864132723e-5,-4.8094833920023865e-8,0.004003478361347815,1.0920997712239193e-5,-4.7587334303852796e-8,0.004004029802038545,1.0725563863908767e-5,-4.719320099784125e-8,0.004004659792221574,1.0641953511935584e-5,-4.7022548424382676e-8,0.004005309358395405,1.0702231547952575e-5,-4.713991105371558e-8,0.004005909305357476,1.0900742430031743e-5,-4.7534332339053704e-8,0.004006402231050277,1.1192022790909333e-5,-4.8115061170983004e-8,0.004006761493609258,1.1504328555145381e-5,-4.8738556290387605e-8,0.004006998416788491,1.1762810600434922e-5,-4.925487801263246e-8,0.0040071557972175655,1.1911802199676452e-5,-4.955234189469917e-8,0.004007292492485376,1.1928068755813912e-5,-4.9584090451901684e-8,0.004007466154921649,1.182270536529946e-5,-4.9371962164986925e-8,0.004007719484345561,1.1633960677447274e-5,-4.8992235679285965e-8,0.004008072516982853,1.1415035698476774e-5,-4.855132546462214e-8,0.004008521247009628,1.1220739757355388e-5,-4.81591306861145e-8,0.004009041556486812,1.1095986552782165e-5,-4.790595409748483e-8,0.004009596684482728,1.1068126254001404e-5,-4.784699794194256e-8,0.004010146061004549,1.1144061978931795e-5,-4.799641499742937e-8,0.0040106533603855915,1.1311869844993711e-5,-4.833044905420133e-8,0.004011092236707525,1.1545566812726804e-5,-4.8796997573800546e-8,0.004011449171177877,1.1811239466230054e-5,-4.9327987188523245e-8,0.004011723764818403,1.2072971677857698e-5,-4.985134835693644e-8,0.00401192736389657,1.2297623888833959e-5,-5.0300619813788786e-8,0.004012080963416897,1.2458294160137046e-5,-5.06218316152855e-8,0.004012212952149902,1.2536886563441079e-5,-5.077857415701251e-8,0.004012356748830488,1.2526361690877996e-5,-5.075648134300845e-8,0.004012547921684051,1.2433048238960548e-5,-5.0567928963629637e-8,0.0040128199805693305,1.2278886932150372e-5,-5.025666471468604e-8,0.004013197985529161,1.2102470950470938e-5,-4.990002190519058e-8,0.00401369000353784,1.1956510006150005e-5,-4.960388878819715e-8,0.004014278532066863,1.1898883530667995e-5,-4.948472066423443e-8,0.0040149167491389135,1.197622246061075e-5,-4.963648586630433e-8,0.004015535619726837,1.2203997061740317e-5,-5.0090569001978953e-8,0.004016064005360639,1.2553240036393509e-5,-5.0789018255737813e-8,0.0040164548830214815,1.2954750430225737e-5,-5.1592962190804215e-8,0.004016703733644348,1.3322431746732769e-5,-5.232951731508461e-8,0.004016848431434354,1.3584310465564186e-5,-5.2854110685949694e-8,0.004016951977140229,1.3704978067918915e-5,-5.309550581731473e-8,0.00401707918422125,1.3690726517722423e-5,-5.3066050186417026e-8,0.004017278464444657,1.3580022117076173e-5,-5.284257367174307e-8,0.004017573349390648,1.3427603643939568e-5,-5.253461517336548e-8,0.004017962524787026,1.3289293461804937e-5,-5.2254123260796106e-8,0.004018424992325505,1.3210932934703492e-5,-5.2093339215260626e-8,0.0040189273729024705,1.3221997414880813e-5,-5.211190437947683e-8,0.0040194315062708425,1.3333214209773679e-5,-5.2331872879317006e-8,0.004019901334926071,1.3537385768781908e-5,-5.273915282943784e-8,0.00402030839443015,1.3812681913253474e-5,-5.3290015781132485e-8,0.004020635440219238,1.4127527132908653e-5,-5.392095666905157e-8,0.004020878035146411,1.4446146519830484e-5,-5.455996088115213e-8,0.004021044226821732,1.473392798977689e-5,-5.513737746601209e-8,0.00402115275112109,1.496191131793451e-5,-5.559493860655362e-8,0.004021230393628464,1.5110074592057919e-5,-5.589227823087387e-8,0.004021308993990323,1.5169566143298608e-5,-5.601133518705951e-8,0.004021422225284333,1.5144214158221058e-5,-5.595940175161358e-8,0.0040216019835709,1.505150937068162e-5,-5.57712373201424e-8,0.004021873939755527,1.4922916833095616e-5,-5.550989215428107e-8,0.0040222517467002885,1.4802621499919506e-5,-5.5264327043482085e-8,0.004022730175355548,1.4742845077977562e-5,-5.513999395696767e-8,0.00402327924617558,1.4793651408929851e-5,-5.5238179247849234e-8,0.004023843665981839,1.498685836194858e-5,-5.562340967782772e-8,0.004024352851506316,1.5318263529964064e-5,-5.62874975195311e-8,0.004024743118745088,1.573836892528872e-5,-5.7130821512435726e-8,0.004024984194842726,1.6162535861771282e-5,-5.7982877436069443E-08,0.004025094377176705,1.6501026274800637e-5,-5.866291758713605e-8,0.004025133037057492,1.6693810177365013e-5,-5.9050065212816505e-8,0.0040251747474465615,1.6730082192383597e-5,-5.912247029379822e-8,0.004025281332087344,1.6644195416193686e-5,-5.894897656672424e-8,0.004025485746450353,1.6495866969054968e-5,-5.864930998217878e-8,0.004025790429201538,1.634835179138792e-5,-5.8350370181822665e-8,0.0040261746462862255,1.6253223052331517e-5,-5.815584387978385e-8,0.0040266044641294775,1.624327250382378e-5,-5.813200951807451e-8,0.004027041638836209,1.633135361213576e-5,-5.8305293951082345e-8,0.00402745025711566,1.6512469372403883e-5,-5.866622925242898e-8,0.00402780134494779,1.6767326438795646e-5,-5.917637987828972e-8,0.004028075926393701,1.7066612366788847e-5,-5.977686171643531e-8,0.004028266748303052,1.7375686093179322e-5,-6.039784671300595e-8,0.004028378700267617,1.7659404592882538e-5,-6.096841423803015e-8,0.004028427921096438,1.7886793273255926e-5,-6.142604364033798e-8,0.00402843964084909,1.8035151508268353e-5,-6.172486403108444e-8,0.004028445012514573,1.809312331270539e-5,-6.184175008856881e-8,0.0040284773268235005,1.8062494703952662e-5,-6.177988665082503e-8,0.004028567910222432,1.7958723498241694e-5,-6.156990468255793e-8,0.004028741861400401,1.781021131030546e-5,-6.12686094634135e-8,0.0040290136622913525,1.765619786846825e-5,-6.095496322789188e-8,0.0040293826809504,1.754280016104753e-5,-6.07222216328837e-8,0.004029829124215082,1.751619084809753e-5,-6.066410876225836e-8,0.004030312256108125,1.7612020509539247e-5,-6.085324393616324e-8,0.004030774031389632,1.7841815454699297e-5,-6.131341293797681e-8,0.00403115142107213,1.8180564860966387e-5,-6.199433879515745e-8,0.0040313974300052735,1.8563852856182064e-5,-6.27659191383855e-8,0.004031503203472192,1.8902856758312773e-5,-6.344869780801121e-8,0.004031507215610012,1.9116091643266002e-5,-6.387812802255732e-8,0.004031481930153734,1.916242569246173e-5,-6.397118926916185e-8,0.004031503768949901,1.9055383830683572e-5,-6.375504333127174e-8,0.004031624504421274,1.885153534554923e-5,-6.334344369125224e-8,0.00403185885677837,1.8623798019755862e-5,-6.288296518438462e-8,0.004032189274944319,1.8436620157024645e-5,-6.250321630029159e-8,0.004032579178971542,1.83324637336343e-5,-6.228981683190497e-8,0.004032986090714059,1.8329161981569122e-5,-6.227911243671427e-8,0.0040333708125981456,1.8423493871162983e-5,-6.246522183995398e-8,0.004033702484811329,1.8596808258675e-5,-6.281112340841897e-8,0.0040339608469825575,1.882045266602357e-5,-6.325939983367222e-8,0.004034137070431829,1.906045203237547e-5,-6.374161530130195e-8,0.004034233855241526,1.928170635220029e-5,-6.41868612531973e-8,0.004034264876079334,1.9452018078757834e-5,-6.453000617107153e-8,0.004034253391531761,1.9546047063260236e-5,-6.47197441623075e-8,0.004034229755724816,1.9548977882390267e-5,-6.472596597020264e-8,0.004034227730682795,1.9459320969577683e-5,-6.454533452522716e-8,0.004034279865723162,1.9290186380915923e-5,-6.420383235003002e-8,0.004034412486171448,1.9068594732676885e-5,-6.375547510633614e-8,0.00403464093034948,1.8832637893526655e-5,-6.327679436677401e-8,0.004034965687074627,1.8626536313167505e-5,-6.285707244922939e-8,0.004035370034247165,1.8493819644007736e-5,-6.258465123000945e-8,0.004035819874790727,1.846886648562048e-5,-6.252971679787746e-8,0.004036266904185114,1.856732169763407e-5,-6.272465029492704e-8,0.0040366565598250765,1.8777113738250836e-5,-6.31455681508602e-8,0.0040369414612311345,1.9053783781087113e-5,-6.370271942688705e-8,0.004037098344333292,1.932539834606959e-5,-6.42504851948613e-8,0.004037141902942749,1.951083270094533e-5,-6.462457097034529e-8,0.004037125865169994,1.954813798447868e-5,-6.46995458547251e-8,0.004037125861820998,1.9419995141300983e-5,-6.444028053955575e-8,0.00403721048480607,1.9160768124473176e-5,-6.391602935018678e-8,0.004037416430514758,1.88403649270376e-5,-6.326771012194285e-8,0.0040377405727112705,1.853563684839144e-5,-6.265022145619625e-8,0.004038149143064464,1.8305856043064805e-5,-6.218312567891382e-8,0.004038594479970898,1.8181596820678142e-5,-6.192833669694351e-8,0.004039029805036155,1.8165835433560526e-5,-6.189230839848963e-8,0.004039418015136255,1.8241197474729e-5,-6.204049708155263e-8,0.0040397350446880215,1.837815198734788e-5,-6.231370568667206e-8,0.004039969999138671,1.8541650006683282e-5,-6.264136381327966e-8,0.004040124041563737,1.8695860404660215e-5,-6.295108921511804e-8,0.004040209074777056,1.8807706049100226e-5,-6.317591860236914e-8,0.004040246363654397,1.88500021655281e-5,-6.32607471793734e-8,0.004040264737547788,1.8804636954320954e-5,-6.316879237455187e-8,0.004040297831687618,1.866571824947087e-5,-6.288791561688243e-8,0.004040379958326903,1.844201983765977e-5,-6.243550964565625e-8,0.004040540705219954,1.8157672301950075e-5,-6.185990253089828e-8,0.004040799030115895,1.7850119174229367e-5,-6.123634554926798e-8,0.0040411581509778,1.7564868093298403e-5,-6.065660011340943e-8,0.004041602732207329,1.734741098407994e-5,-6.021277355052825e-8,0.0040420995762303815,1.7233639004230466e-5,-5.997796689164541e-8,0.004042602323436688,1.724067110935005e-5,-5.998756494201581e-8,0.00404305992163886,1.736012884995211e-5,-6.022533875758978e-8,0.004043427966196684,1.7555910433464828e-5,-6.061865961283453e-8,0.0040436810936756275,1.7768500926616962e-5,-6.104709566844615e-8,0.004043823230883101,1.7927149455153616e-5,-6.1367140862782e-8,0.004043891164479845,1.7968977540453174e-5,-6.145110341710769e-8,0.004043947176700689,1.7860007267002482e-5,-6.122984744605595e-8,0.0040440603521150744,1.760913353792817e-5,-6.072111082777755e-8,0.004044282997667049,1.726658843338252e-5,-6.002633777071843e-8,0.004044633306112802,1.6905912165610116e-5,-5.929416783466505e-8,0.0040450925842591984,1.6598297213721576e-5,-5.866858772554347e-8,0.004045616463144047,1.6391968202125593e-5,-5.824729428445154e-8,0.004046152091763345,1.630410509649094e-5,-5.80653572847142e-8,0.004046652760383014,1.6324348036651065e-5,-5.8102214711525505e-8,0.004047085929565268,1.6424100266681775e-5,-5.830035937199191e-8,0.004047435228495953,1.6566189179488793e-5,-5.8584786032397173e-8,0.004047698959744002,1.671216642566975e-5,-5.8877737365682856e-8,0.004047887444712365,1.6826943646276348e-5,-5.9108127517374904e-8,0.00404802049508203,1.6881670483517197e-5,-5.9217433706880595e-8,0.004048125273323472,1.6855947238255258e-5,-5.9164217502915826e-8,0.004048234127401434,1.674008799311883e-5,-5.8928701076803824e-8,0.004048381670060571,1.6537530470193916e-5,-5.851761039418674e-8,0.004048600436416601,1.6266746291805815e-5,-5.796802584768781e-8,0.004048914984056892,1.5961326425245878e-5,-5.734760338043135e-8,0.004049335282066074,1.566668088020222e-5,-5.674801447212363e-8,0.0040498513719114376,1.5432414454828066e-5,-5.626965875165331e-8,0.004050431921230339,1.5301075079280176e-5,-5.5998974280483204e-8,0.004051028668995067,1.5296083993458358e-5,-5.598395649797168e-8,0.004051586738790464,1.5412983005455173e-5,-5.62162478465142e-8,0.004052058328986434,1.5617600591062285e-5,-5.6627167195976384e-8,0.004052415758160085,1.5852514347711364e-5,-5.7100596870077054e-8,0.004052659913064241,1.6050494133565283e-5,-5.7500160816537554e-8,0.0040528214440387015,1.6151570852562244e-5,-5.7703907353645075e-8,0.004052953861013157,1.611931020329749e-5,-5.763746552942237e-8,0.004053119682835466,1.595162622613579e-5,-5.729612717276807e-8,0.004053373025435257,1.5682212292362576e-5,-5.6747852350428666e-8,0.004053744027610918,1.537106055446932e-5,-5.611410681536437e-8,0.004054230846152612,1.5086637935810276e-5,-5.553375453822118e-8,0.004054802304411898,1.488624806595296e-5,-5.5123232299645195e-8,0.0040554095026198176,1.4802029857689209e-5,-5.494808734565473e-8,0.004056000829014219,1.4836834906018199e-5,-5.501449222707493e-8,0.0040565344012080526,1.496913360261363e-5,-5.527907211829798e-8,0.004056984713435475,1.5162646600086324e-5,-5.5668377746635783e-8,0.004057343673139978,1.537616244421555e-5,-5.609881419197702e-8,0.004057618154709957,1.5570907870645105e-5,-5.6491651348612124e-8,0.004057826336088842,1.571498161585009e-5,-5.678207302107251e-8,0.004057994236563965,1.5785663812756403e-5,-5.692387796847087e-8,0.004058152876449292,1.5770755436499932e-5,-5.6892175274642595e-8,0.004058335730497766,1.56698047725992e-5,-5.6685842838322767e-8,0.004058575736492297,1.5495479753201927e-5,-5.6330312045967666e-8,0.004058901067412491,1.5274593050186677e-5,-5.587969998232432e-8,0.0040593292989023755,1.504744016568601e-5,-5.541556302293769e-8,0.004059860688647646,1.4863522530534258e-5,-5.5038323485976716e-8,0.004060472924789321,1.4772178278052189e-5,-5.484831991380623e-8,0.004061121016256655,1.4808824187926628e-5,-5.491786333355384e-8,0.004061745398388068,1.4980995070619321e-5,-5.526278213620586e-8,0.0040622878335508355,1.5260905424743596e-5,-5.58271445794069e-8,0.00406270977840194,1.5589957864201896e-5,-5.6492254117461846e-8,0.004063005280007226,1.5895053516072876e-5,-5.71096919262533e-8,0.004063202722944347,1.611033761314179e-5,-5.7545486920249105e-8,0.004063355322523949,1.6195737978189514e-5,-5.7717829505718655e-8,0.004063524982892078,1.614629397440836e-5,-5.761611433490631e-8,0.0040637654881181635,1.5990874718776372e-5,-5.729846921069878e-8,0.0040641096822484745,1.5782374878243806e-5,-5.687200018963553e-8,0.004064563196214051,1.558309622417832e-5,-5.646323142518138e-8,0.004065105372946402,1.5449401160722053e-5,-5.6186965778914343e-8,0.004065696400389077,1.5419375479983378e-5,-5.612111731815594e-8,0.004066288252635861,1.5506240841777267e-5,-5.6293121212787874e-8,0.004066836155862962,1.5698542971993716e-5,-5.668010909236039e-8,0.004067307459695976,1.5966009975132922e-5,-5.7220705532581126e-8,0.00406768613309999,1.6268363193234948e-5,-5.783296271933897e-8,0.004067972917711898,1.6564106468153707e-5,-5.8432340733695405e-8,0.004068182486831887,1.681727652571284e-5,-5.894554234053274e-8,0.00406833933892352,1.7001503611134662e-5,-5.931880776278692e-8,0.004068473756113949,1.7101841750667816e-5,-5.952159722920657e-8,0.004068618388467829,1.7115337876791556e-5,-5.9547687041123166e-8,0.004068805319711415,1.7051183194416186e-5,-5.941546370891142e-8,0.004069063045413328,1.693080237181354e-5,-5.9168176976249445e-8,0.004069412642286213,1.6787584460103433e-5,-5.887352588619779e-8,0.004069862675046376,1.6665125654505054e-5,-5.862021049541122e-8,0.0040704033862420915,1.6612132979317868e-5,-5.8507611354420696e-8,0.004071002433343476,1.6672362317351996e-5,-5.8625252169843815e-8,0.004071606146962371,1.6870078458229394e-5,-5.90230533337598e-8,0.004072150180031084,1.7195707718266797e-5,-5.968194828764344e-8,0.004072579327330133,1.7600304654934825e-5,-6.050250155157372e-8,0.004072869038903364,1.800622384140864e-5,-6.132663264350784e-8,0.004073036765467772,1.8332569931295446e-5,-6.1989505493645e-8,0.004073135737926338,1.852349328887892e-5,-6.237718185712606e-8,0.004073234663677566,1.85650892687075e-5,-6.246099877342193e-8,0.004073394556097025,1.848476914851136e-5,-6.229627231999442e-8,0.004073652726352091,1.833737723399551e-5,-6.199414171839608e-8,0.004074017372470005,1.818678426452505e-5,-6.168431508746106e-8,0.0040744707750797445,1.808984214398682e-5,-6.148259812586677e-8,0.004074977337424825,1.8085790232343694e-5,-6.14693541796517e-8,0.004075493263269258,1.8191439776279438e-5,-6.167952512829171e-8,0.004075975798354961,1.840124607827241e-5,-6.210249277646861e-8,0.004076390776901895,1.8691144047334405e-5,-6.268964660170682e-8,0.004076717622217568,1.902494399145827e-5,-6.336732629192284e-8,0.004076951353972912,1.9361837440099986e-5,-6.405219775676581e-8,0.004077101746210127,1.96635091438295e-5,-6.46659095300111e-8,0.0040771903314508785,1.989970237527024e-5,-6.514655672234517e-8,0.004077246262806788,2.005165635670929e-5,-6.545569860243698e-8,0.004077302032084395,2.0113486301099913e-5,-6.558109876386352e-8,0.0040773896466789,2.0092092019349717e-5,-6.553647593087778e-8,0.004077537342209875,2.0006253451383885e-5,-6.535969647604283e-8,0.004077766555167821,1.988527789663943e-5,-6.511016738314298e-8,0.004078088689458051,1.976710784085783e-5,-6.486516989220184e-8,0.004078501328342447,1.96951136887764e-5,-6.471343334262049e-8,0.004078984379126887,1.971216651307541e-5,-6.474300004433253e-8,0.004079498090171917,1.985082590723176e-5,-6.502100525056876e-8,0.004079986278779378,2.0120252289371937e-5,-6.55667052274478e-8,0.004080388235941525,2.0494122797303468e-5,-6.632662153528476e-8,0.004080659282108669,2.0908086133771597e-5,-6.716933519624624e-8,0.0040807921628955995,2.1274886377819846e-5,-6.791652262392293e-8,0.004080825530396653,2.151542116556529e-5,-6.840653341073122e-8,0.00408083076942298,2.1590301346052778e-5,-6.855881484240877e-8,0.00408088328291802,2.1513241158620907e-5,-6.84010788689678e-8,0.004081035155949392,2.134019848115492e-5,-6.804703209129059e-8,0.004081302546732209,2.1144355238359504e-5,-6.764545015636383e-8,0.004081668918553097,2.0992072249557375e-5,-6.733141248227607e-8,0.00408209685499066,2.092848134334002e-5,-6.719713964870882e-8,0.004082540990125184,2.09731231952271e-5,-6.72830951751148e-8,0.004082958197133572,2.112218615191573e-5,-6.758231956110174e-8,0.00408331422869279,2.1353847294547875e-5,-6.805099975797541e-8,0.0040835874057665485,2.1634567155020024e-5,-6.862106700376206e-8,0.004083770116681637,2.1925434668298697e-5,-6.921309213990532e-8,0.004083868551366543,2.218816882099307e-5,-6.974866033503243e-8,0.0040839008942840345,2.239039499761978e-5,-7.016132947403248e-8,0.004083894232067077,2.250978778831476e-5,-7.0405207142333e-8,0.004083880571241067,2.25366960163881e-5,-7.046030306590217e-8,0.00408389252947929,2.2475031488631666e-5,-7.033426314434203e-8,0.004083959249418965,2.2341562177163083e-5,-7.00608865512821e-8,0.004084102836943754,2.2163971654346905e-5,-6.969625158825354e-8,0.004084335399848269,2.1977972812721735e-5,-6.931302372966625e-8,0.004084656614019778,2.1823582213426522e-5,-6.899305140282665e-8,0.004085051725131036,2.1740298666453316e-5,-6.881758196303943e-8,0.00408549043013785,2.1760499615591525e-5,-6.88536205880247e-8,0.004085928134416261,2.1900671848150498e-5,-6.913569532030017e-8,0.0040863118371121795,2.215161693360532e-5,-6.964550832191338e-8,0.004086592559838579,2.2471365259167905e-5,-7.029728262333709e-8,0.004086743511323791,2.278742626781085e-5,-7.094245749548945e-8,0.004086777069432108,2.3014650869490377e-5,-7.140649996468963e-8,0.004086748324489586,2.3086554162397423e-5,-7.155319319147187e-8,0.004086737210606845,2.298478523801362e-5,-7.134486880118048e-8,0.0040868162246094596,2.274751838270059e-5,-7.085933294161156e-8,0.004087022774633262,2.245098166859568e-5,-7.025197183973786e-8,0.004087351063401967,2.21773293531232e-5,-6.969023534135919e-8,0.004087762942117613,2.1988078250473938e-5,-6.929965848306815e-8,0.004088206426731321,2.1912888693068682e-5,-6.914113536613453e-8,0.0040886315320029145,2.1951514131721826e-5,-6.921484527465759e-8,0.004088999563181579,2.2082048330308014e-5,-6.947683655171173e-8,0.004089286694209541,2.227007195705091e-5,-6.985740065000953e-8,0.0040894840997412005,2.2476260228544262e-5,-7.027641992708612e-8,0.004089596524746182,2.2662126678655353e-5,-7.065510425729817e-8,0.004089640201779963,2.2794420332461283e-5,-7.092513321189004e-8,0.0040896402838893646,2.284862699133553e-5,-7.103599943485881e-8,0.004089627705490863,2.2811697616913437e-5,-7.096068474456991e-8,0.004089635411507748,2.2683801109797253e-5,-7.069921973276663e-8,0.004089694115390104,2.2478677051700234e-5,-7.027932793650815e-8,0.004089828036207196,2.2222286505042233e-5,-6.975365444924291e-8,0.004090051161470819,2.1949786269337134e-5,-6.919369964114232e-8,0.004090364511991667,2.170103932630054e-5,-6.86808528694382e-8,0.004090754790796106,2.151498959955255e-5,-6.829506592183514e-8,0.004091194666195651,2.142330844766789e-5,-6.810185855541579e-8,0.004091644993372157,2.1443624281504225e-5,-6.813824314344391e-8,0.0040920596967446154,2.1572833523424404e-5,-6.83986719144852e-8,0.004092394222561333,2.1782031162445324e-5,-6.88243378416857e-8,0.00409261763274889,2.2016102025325163e-5,-6.93022303226837e-8,0.0040927261558925485,2.2201941671687712e-5,-6.968213454108016e-8,0.004092752390399775,2.226781056753669e-5,-6.98165868041908e-8,0.004092761828782771,2.217010941896625e-5,-6.961594162020133e-8,0.004092832347522563,2.191489742469643e-5,-6.90924145000651e-8,0.004093023916310563,2.1559197363135236e-5,-6.836256507621499e-8,0.004093355382863215,2.1188443825140062e-5,-6.760103065423595e-8,0.004093801442773309,2.0883140487863215e-5,-6.697239893387999e-8,0.004094308353665391,2.0693642127327703e-5,-6.657980636574702e-8,0.004094815962852751,2.0632674505226746e-5,-6.644971858931919e-8,0.0040952745320277885,2.068224872375703e-5,-6.654596569206641e-8,0.0040956524926629954,2.0806194730034872e-5,-6.67951505187713e-8,0.004095937126088291,2.0961685991746184e-5,-6.711000602505771e-8,0.004096131713874594,2.1107263596701378e-5,-6.740571701477901e-8,0.004096251810518326,2.1207630473032185e-5,-6.760979080112129e-8,0.004096321810660583,2.123646163530461e-5,-6.766796655208107e-8,0.004096371868974252,2.117828020698269e-5,-6.754820351325027e-8,0.004096434786498749,2.102987222746858e-5,-6.724363080817744e-8,0.0040965424713340064,2.0801158863912584e-5,-6.677428971329367e-8,0.004096721827951759,2.0514974467630822e-5,-6.618661611930796e-8,0.004096990403276643,2.0205057223031076e-5,-6.554934138305202e-8,0.004097352573177603,1.9911884762201487e-5,-6.494509874821933e-8,0.0040977972420050135,1.9676507214749987e-5,-6.445798705026133e-8,0.00409829795293573,1.953307645034436e-5,-6.415839226662203e-8,0.00409881595753222,1.950131413892924e-5,-6.408749767114518e-8,0.0040993062317397294,1.958041987144307e-5,-6.424454113672405e-8,0.004099725949858662,1.9745840788228674e-5,-6.457984351456717e-8,0.004100044534043069,1.9950335607570126e-5,-6.499672432697775e-8,0.004100253632198516,2.013084019847643e-5,-6.536554032319219e-8,0.004100374104936217,2.0221969791798727e-5,-6.555157283498206e-8,0.004100455954183344,2.017477740412432e-5,-6.545379905395303e-8,0.0041005675891791,1.9975516702515512e-5,-6.504358355699308e-8,0.004100774805833544,1.965545542492212e-5,-6.438482789008002e-8,0.004101116885460426,1.928372582152993e-5,-6.361922074229146e-8,0.004101591870619371,1.894360567216253e-5,-6.291755062884213e-8,0.004102159238000308,1.8703470116557066e-5,-6.242018269746027e-8,0.00410275747591571,1.859703517591237e-5,-6.219659152435074e-8,0.0041033257619690735,1.8620141853715126e-5,-6.223872071816769e-8,0.004103819526959297,1.874065523208672e-5,-6.248114525442182e-8,0.004104216341986781,1.8912959818053868e-5,-6.283064370406833e-8,0.004104514378076207,1.909031638156852e-5,-6.319144791179558e-8,0.004104727475774354,1.9232607115184218e-5,-6.348113509152911e-8,0.004104879851426564,1.931006277488053e-5,-6.363836365897142e-8,0.004105001750774871,1.9304641429037065e-5,-6.362581755356893e-8,0.004105126061105588,1.9210481227772614e-5,-6.343120965738759e-8,0.004105285298052878,1.903412670485694e-5,-6.306774716776545e-8,0.004105508333763851,1.879451414608241e-5,-6.257405625726658e-8,0.004105816518487927,1.8522105372562953e-5,-6.201237977882163e-8,0.004106219408261088,1.8256224455901378e-5,-6.146316659960243e-8,0.004106711031782206,1.8039834534071813e-5,-6.101448588822051e-8,0.00410726820104739,1.7911758794004197e-5,-6.074620274769431e-8,0.00410785241819564,1.7897526858302653e-5,-6.071123337928272e-8,0.004108416180285091,1.8001212401072268e-5,-6.091866896065255e-8,0.0041089130241994485,1.820113748087769e-5,-6.132469615222139e-8,0.004109309104207408,1.8451646262672002e-5,-6.183595690444913e-8,0.0041095931983087045,1.869153552715818e-5,-6.232669811154938e-8,0.004109782084836411,1.8857869433917337e-5,-6.266717936609684e-8,0.004109919049387194,1.890226775739589e-5,-6.275732940350907e-8,0.004110064678761718,1.8805497319272342e-5,-6.255697025959145e-8,0.004110281124285083,1.858555641793577e-5,-6.210261238000375e-8,0.004110613703963449,1.829511610327427e-5,-6.150227952510236e-8,0.004111076186029953,1.8007169267841526e-5,-6.090602884987728e-8,0.004111646199815092,1.779292050803584e-5,-6.046048759796877e-8,0.0041122733354077975,1.770055011084275e-5,-6.026514317284309e-8,0.0041128962379817155,1.774357289428051e-5,-6.034829633072815e-8,0.004113460777981091,1.790224628658376e-5,-6.06698069713779e-8,0.004113932211375858,1.8134726118468195e-5,-6.114390913053563e-8,0.004114298813701848,1.8391239948785017e-5,-6.166830949707429e-8,0.004114568894174971,1.862570592744579e-5,-6.214811466500701e-8,0.004114764817887481,1.8802594772439982e-5,-6.251002429640857e-8,0.004114916941016438,1.8899611324047082e-5,-6.270792853777051e-8,0.004115058788903396,1.8907892822336005e-5,-6.272336282371548e-8,0.004115223529956793,1.883126597625609e-5,-6.256398245923092e-8,0.00411544112890223,1.8685396522870248e-5,-6.226179188618023e-8,0.004115735426728429,1.8496880076378558e-5,-6.187126850283822e-8,0.004116120670135077,1.830166124887891e-5,-6.146615285795259e-8,0.0041165976094830435,1.8141735245261587e-5,-6.113275473128614e-8,0.0041171501459813615,1.8059102673713814e-5,-6.095761535265301e-8,0.0041177444298378775,1.808677278934742e-5,-6.100903876410642e-8,0.0041183326482072515,1.8238377845822922e-5,-6.131565461947553e-8,0.004118862644895194,1.8500025366803055e-5,-6.184947666116739e-8,0.004119291845670744,1.882888305936909e-5,-6.252277761117837e-8,0.004119600995524518,1.916129270179671e-5,-6.320463576506777e-8,0.004119802051454148,1.9429176950619105e-5,-6.375467477591138e-8,0.004119936452241972,1.9579389208801835e-5,-6.406297574667329e-8,0.004120063979010977,1.958911524116044e-5,-6.408192449547398e-8,0.004120246088908799,1.9472222424355246e-5,-6.383944294513096e-8,0.00412052913259154,1.927501773422856e-5,-6.343041897475507e-8,0.004120932292519319,1.906320686341203e-5,-6.299000026420115e-8,0.0041214433902594435,1.890409343719484e-5,-6.265701578056743e-8,0.004122023468462977,1.884920647966687e-5,-6.253815085908088e-8,0.004122618451191795,1.8922390072082127e-5,-6.268323571647604e-8,0.004123173897075194,1.911656377839061e-5,-6.307832429936484e-8,0.0041236480036418895,1.939920158835302e-5,-6.365677983994343e-8,0.004124019202185466,1.9723461236942205e-5,-6.432213367561228e-8,0.004124287288244285,2.0040448516884058e-5,-6.49734234542431e-8,0.004124469567213898,2.0308896945277934e-5,-6.552527867409888e-8,0.004124594685466592,2.050066336393985e-5,-6.591937018917111e-8,0.004124696486907284,2.0602417835979338e-5,-6.61279466825767e-8,0.004124809121272801,2.0614914334906605e-5,-6.615231627858997e-8,0.00412496354787499,2.055127128513555e-5,-6.601926590271963e-8,0.004125184918062037,2.0435134717556e-5,-6.57772755655983e-8,0.004125490124622406,2.029885113054249e-5,-6.549281651963915e-8,0.004125884999648892,2.0181120072676474e-5,-6.524562199853932e-8,0.004126361187835996,2.012312227810521e-5,-6.512079755335909e-8,0.004126893637683346,2.016202160381174e-5,-6.519543374690128e-8,0.0041274407643772945,2.0321520249793008e-5,-6.551902559572129e-8,0.0041279499280898095,2.0601210358685798e-5,-6.609131944530118e-8,0.00412836969991199,2.0969274287628928e-5,-6.684706034379096e-8,0.004128666706476001,2.1364544730577544e-5,-6.766013860494177e-8,0.0041288402130868545,2.1711284432474734e-5,-6.837410979895914e-8,0.0041289260941142205,2.1943052421982018e-5,-6.88515335136089e-8,0.0041289863790102055,2.2025323150899638e-5,-6.902071138081227e-8,0.004129088666642758,2.1966206179071726e-5,-6.889782614187511e-8,0.0041292849632450085,2.1811418243791324e-5,-6.857662713945957e-8,0.0041295982485091585,2.1627811881081866e-5,-6.819461136355642e-8,0.004130019713586947,2.1483464269815928e-5,-6.789215710034456e-8,0.004130514847826705,2.1431037977969292e-5,-6.777831067919666e-8,0.004131034556120914,2.1497848193685356e-5,-6.79102050168444e-8,0.0041315275855180284,2.1683260008845836e-5,-6.828741599827955e-8,0.0041319514162801475,2.196236627165169e-5,-6.885922779761631e-8,0.0041322797208666745,2.2294052841138688e-5,-6.95410620986726e-8,0.004132505435793167,2.2631076927335552e-5,-7.023526137874012e-8,0.004132639559466678,2.2929656701609897e-5,-7.085103297987233e-8,0.0041327068073958445,2.3156619956378226e-5,-7.131941152567361e-8,0.004132739789933165,2.329325563893979e-5,-7.160135080100659e-8,0.0041327732697304005,2.3336073204430915e-5,-7.168931655885992e-8,0.004132839498526474,2.3295362222597494e-5,-7.160425905283545e-8,0.00413296489491445,2.319267720853539e-5,-7.139037898864675e-8,0.004133167727447015,2.3058081690060263e-5,-7.110948143247038e-8,0.004133456251584568,2.2927368246838634e-5,-7.083536734083875e-8,0.004133826864680379,2.2838893766911416e-5,-7.064744138921729e-8,0.004134262246139552,2.2829234263837425e-5,-7.062178621276581e-8,0.004134730285875639,2.2926717969593375e-5,-7.081769093706275e-8,0.004135185707911027,2.31425991815179e-5,-7.125916402041035e-8,0.0041355769071945506,2.346164589422353e-5,-7.191520269449173e-8,0.004135859441965122,2.383687117408675e-5,-7.268874415754124e-8,0.00413601369908566,2.4195039750171892e-5,-7.342810252300716e-8,0.004136058529573073,2.4456681249135846e-5,-7.396855759155849e-8,0.004136050487278654,2.456513384479195e-5,-7.419258398190955e-8,0.004136065019007573,2.4509860369459744e-5,-7.407805053129414e-8,0.004136168231272512,2.4330162569653813e-5,-7.370577611668552e-8,0.004136394459822497,2.409789030051738e-5,-7.322376999160329e-8,0.0041367395368764786,2.389056192725738e-5,-7.279186780905995e-8,0.0041371686481556655,2.3768649735412706e-5,-7.253505860848046e-8,0.004137631091783037,2.3763952092816136e-5,-7.251957894397494e-8,0.0041380747660009765,2.3878490225956004e-5,-7.275049880309497e-8,0.004138456791204421,2.4090059448810835e-5,-7.318286374029693e-8,0.004138749601503419,2.4360668956780575e-5,-7.37387885346733e-8,0.004138943194899096,2.4645468588374668e-5,-7.4325712073413e-8,0.004139044422775969,2.49009409295305e-5,-7.485336553975188e-8,0.0041390740178470385,2.509158954761269e-5,-7.52478055388981e-8,0.004139062078858488,2.519450532721772e-5,-7.546109277291754e-8,0.004139042857680081,2.5201537323836e-5,-7.547591881161818e-8,0.004139049681730755,2.5119185084212284e-5,-7.530538123596477e-8,0.004139110696144454,2.4966623708413148e-5,-7.498882514872912e-8,0.004139245793706889,2.4772544989273615e-5,-7.458527889421062e-8,0.004139464664095014,2.4571523457755883e-5,-7.416602259172535e-8,0.0041397656452513715,2.4400247311316832e-5,-7.380696250121588e-8,0.004140135103394312,2.4293510720908743e-5,-7.358048043260725e-8,0.004140547313718007,2.427954414351527e-5,-7.354575599206736e-8,0.004140965413628404,2.4374141223041407e-5,-7.373639326420042e-8,0.004141344873455721,2.457362346913388e-5,-7.414551482757032e-8,0.004141641326420783,2.48483642172095e-5,-7.471205791422762e-8,0.0041418235765014145,2.5141002654557318e-5,-7.53169965475809e-8,0.004141889215372904,2.537511100337642e-5,-7.58014858398564e-8,0.004141874921065243,2.5477517766043897e-5,-7.601342829768719e-8,0.004141851043315424,2.5408217951499304e-5,-7.58696248028512e-8,0.004141897199717203,2.5181416417097176e-5,-7.539927233814727e-8,0.004142070032062376,2.4862233791190885e-5,-7.473692425033855e-8,0.004142382136416294,2.4539521848464896e-5,-7.406615519129582e-8,0.004142802962387187,2.4291862821753357e-5,-7.354938496791458e-8,0.004143276515293847,2.4165133492908547e-5,-7.328171206236878e-8,0.004143742610608551,2.416776805253065e-5,-7.328119646301892e-8,0.004144152149564842,2.427840550811608e-5,-7.350451056510971e-8,0.004144474270556827,2.4457891470911152e-5,-7.387144252687797e-8,0.004144697408744952,2.4660435604785124e-5,-7.428767698568889e-8,0.004144827026181618,2.484202674459949e-5,-7.466207837487929e-8,0.004144881994566124,2.4966196964502726e-5,-7.491871231531306e-8,0.0041448905048311665,2.500781452275799e-5,-7.500493400442998e-8,0.004144885711446158,2.4955282841337656e-5,-7.489617429690564e-8,0.004144901261135358,2.481120187725696e-5,-7.459741678649363e-8,0.004144966982912023,2.4591489692204364e-5,-7.41413441693972e-8,0.004145105121592094,2.4322991873659133e-5,-7.358329870301691e-8,0.004145327544473218,2.403980237268326e-5,-7.299364256044502e-8,0.004145634190738719,2.377879003345024e-5,-7.24485997969921e-8,0.0041460127758167105,2.3574818073592004e-5,-7.202053283003591e-8,0.00414643966336036,2.3455929817344242e-5,-7.17680808924154e-8,0.004146881876040019,2.343860803994068e-5,-7.172625974921142e-8,0.0041473004753961136,2.3523144481116746e-5,-7.189658153429537e-8,0.004147656007247302,2.3689506623327728e-5,-7.223811648289735e-8,0.004147916808771172,2.3895221603221915e-5,-7.266284458651311e-8,0.0041480699650081705,2.4078275121643128e-5,-7.304167053080141e-8,0.004148132195104441,2.4168654642653938e-5,-7.322864004199276e-8,0.004148154320381181,2.4109831376965727e-5,-7.310586674653458e-8,0.004148211444887462,2.388423375298592e-5,-7.263656875158706e-8,0.004148377033934869,2.3528252738308904e-5,-7.189610084153054e-8,0.004148691963497075,2.3123109596003326e-5,-7.105280147716092e-8,0.0041491473031022115,2.27629923552026e-5,-7.030185625864194e-8,0.004149691355374006,2.251899382813585e-5,-6.979067613092937e-8,0.004150253959921051,2.2418989460666156e-5,-6.957735617198645e-8,0.0041507716459602394,2.2449203170718728e-5,-6.963393426794152e-8,0.0041512023452277315,2.2568972898863263e-5,-6.987681903782312e-8,0.004151528686471275,2.2727414027209948e-5,-7.020106669410957e-8,0.004151754402958528,2.287579296648152e-5,-7.050582576156142e-8,0.004151898371708361,2.2974592076086222e-5,-7.070894000466604e-8,0.004151988885126911,2.2996670531363484e-5,-7.075363347500511e-8,0.004152058955955876,2.2928322974470473e-5,-7.061092750138042e-8,0.004152142382845093,2.2769356506527704e-5,-7.02799821925708e-8,0.0041522701226427315,2.253246200945357e-5,-6.978684571499767e-8,0.004152466791086021,2.2241707192617996e-5,-6.91812637823709e-8,0.004152747431065876,2.192983419561754e-5,-6.853098876725601e-8,0.004153115009949348,2.163416853510276e-5,-6.791329347391853e-8,0.004153559267504416,2.1391372281000134e-5,-6.740420502635174e-8,0.004154057371060857,2.1231670864169294e-5,-6.706668724391143e-8,0.004154576533781043,2.1173336928637963e-5,-6.693925978559595e-8,0.004155078480972005,2.121824985076246e-5,-6.702665399660066e-8,0.00415552544495053,2.1349266802329204e-5,-6.729405133405011e-8,0.004155887326128362,2.153005321203464e-5,-6.76663910045802e-8,0.004156149549489265,2.1708297200182368e-5,-6.803485371706521e-8,0.004156320429207047,2.18236504091612e-5,-6.827342868724723e-8,0.004156435436193511,2.1821325191162423e-5,-6.826745995209362e-8,0.004156554325266331,2.1670061717922965e-5,-6.795132318021076e-8,0.004156747395736589,2.137880483492358e-5,-6.734326680703699e-8,0.004157071827894007,2.100211751024774e-5,-6.655662407843876e-8,0.004157547507220719,2.0626045399976664e-5,-6.577030263586701e-8,0.004158146618620178,2.033725265562143e-5,-6.516458127082557e-8,0.0041588047435924405,2.0191197783449442e-5,-6.485500848833399e-8,0.00415944679960301,2.0196654226797564e-5,-6.486025586921148e-8,0.004160012347865569,2.0321627878139327e-5,-6.51143438105989e-8,0.004160468885463152,2.0512010737360385e-5,-6.550526134746365e-8,0.004160812154099564,2.071068901280456e-5,-6.591452917912113e-8,0.004161059067630895,2.087014425419266e-5,-6.624331294613351e-8,0.004161239040043181,2.095792204410952e-5,-6.642382604808944e-8,0.004161386829742425,2.095738077188751e-5,-6.642102047979822e-8,0.0041615375835493676,2.0866361049708102e-5,-6.622998144256762e-8,0.004161723445766619,2.069540030448162e-5,-6.587231810027344e-8,0.004161970833005958,2.0465957657424777e-5,-6.53924752623177e-8,0.004162297807662163,2.0208374532718804e-5,-6.485342857751e-8,0.004162711465524075,1.9958972538912966e-5,-6.433060157681065e-8,0.004163205788963567,1.9755721872438256e-5,-6.390289279020207e-8,0.004163760874885751,1.9632401292486634e-5,-6.364064398012052e-8,0.0041643445126078645,1.9611945515193513e-5,-6.359191191485507e-8,0.004164916661599382,1.9700370056451175e-5,-6.376982675484982e-8,0.004165436593260296,1.9883038081479463e-5,-6.414465536185601e-8,0.004165871533002719,2.0124840290481865e-5,-6.464389273479223e-8,0.004166204973161034,2.03750141868381e-5,-6.516203187808346e-8,0.0041664427071129,2.0576291719662896e-5,-6.557950750839939e-8,0.004166614831251215,2.067725739446178e-5,-6.578854573835485e-8,0.004166772201513261,2.064596860090837e-5,-6.572180046924913e-8,0.004166976394844767,2.0481684872547044e-5,-6.537706967734264e-8,0.004167283762105637,2.0220289969068403e-5,-6.482876722062341e-8,0.0041677270966903575,1.9928853053708316e-5,-6.42166276496646e-8,0.004168301889621721,1.9687639520167372e-5,-6.370817178698891e-8,0.004168964945397345,1.9564346141463034e-5,-6.344493463573707e-8,0.0041696482095524585,1.9591663234778752e-5,-6.349560115607152e-8,0.004170281928490304,1.975909669494271e-5,-6.383883261318782e-8,0.004170815776114936,2.002177562328637e-5,-6.438149484450375e-8,0.004171229165072177,2.0319307693815556e-5,-6.499787658365365e-8,0.004171529641595815,2.0594371506068787e-5,-6.556842529790701e-8,0.004171744205095692,2.08044574697309e-5,-6.600426377969002e-8,0.004171909319060356,2.0925909999591906e-5,-6.625570255367975e-8,0.004172063035543002,2.095283945319605e-5,-6.631007474738575e-8,0.004172240006446445,2.0893942567726186e-5,-6.618518936112582e-8,0.004172468631381149,2.0769185793469826e-5,-6.592244924085984e-8,0.00417276921141435,2.0606998287037323e-5,-6.558098507505531e-8,0.004173152263607924,2.044171213681954e-5,-6.523229587640529e-8,0.004173616699217774,2.0310521591751063e-5,-6.49539193513707e-8,0.004174148228173609,2.0249146804649307e-5,-6.482044670278411e-8,0.0041747190205534725,2.0285797724636808e-5,-6.489100076513135e-8,0.004175290038969232,2.043401685070224e-5,-6.519431780277011e-8,0.004175817138082009,2.0686286120805764e-5,-6.571531492271147e-8,0.004176260742955059,2.1011275247548487e-5,-6.638915896100802e-8,0.004176596947866172,2.135738903704526e-5,-6.710846106930013e-8,0.004176826283818876,2.1663316572518304e-5,-6.774516430718877e-8,0.004176976440504031,2.187329985370935e-5,-6.818241888125293e-8,0.004177097171342621,2.1952541600749897e-5,-6.834687461472092e-8,0.004177248393652027,2.1897850265493772e-5,-6.823110493770005e-8,0.004177484698447774,2.1740143881249863e-5,-6.789904756326871e-8,0.004177840456289382,2.153777152476557e-5,-6.74722389787032e-8,0.004178319648003268,2.1361956093379974e-5,-6.709951969906079e-8,0.004178893720907776,2.1277850737766288e-5,-6.69174602353876e-8,0.004179508920172153,2.1326593435868438e-5,-6.701273548062968e-8,0.00418010143870764,2.1514398644594126e-5,-6.739909921106913e-8,0.004180615325979776,2.181278040040501e-5,-6.801760816720763e-8,0.004181016588925626,2.2169477458321236e-5,-6.875930338309788e-8,0.004181298828271539,2.2524986894682156e-5,-6.949975199756988e-8,0.004181480040607371,2.282791399696808e-5,-7.013122390191389e-8,0.0041815939531634075,2.304443453220907e-5,-7.058260201965475e-8,0.004181680312312281,2.3160968578745368e-5,-7.082508197011263e-8,0.0041817771738139765,2.31820016723154e-5,-7.086767934850143e-8,0.004181916138040746,2.3125777208913207e-5,-7.074824050457918e-8,0.004182119981389813,2.301988109644779e-5,-7.052420786013162e-8,0.004182401587912403,2.2897560902910874e-5,-7.026493333350233e-8,0.004182763226082177,2.279464572132352e-5,-7.004528039888718e-8,0.004183195714757309,2.27463722411251e-5,-6.993905040066949e-8,0.0041836776903782045,2.2783245722880823e-5,-7.001037080800247e-8,0.004184175936522711,2.2925337371297516e-5,-7.030174363642383e-8,0.004184648351533992,2.3175376573468616e-5,-7.081948145094982e-8,0.00418505106926234,2.351265779926658e-5,-7.152078397866612e-8,0.00418534981740814,2.3891456557676195e-5,-7.231026107348822e-8,0.004185532699444083,2.4247798955379997e-5,-7.305402455302344e-8,0.0041856186975773695,2.4515523630203316e-5,-7.361333203789702e-8,0.004185656116733408,2.4647127383329684e-5,-7.388829334143641e-8,0.004185709463990267,2.4630561585255983e-5,-7.385309068068146e-8,0.004185839553237669,2.4494045601495442e-5,-7.356612233607162e-8,0.004186085175026919,2.4297013898756418e-5,-7.315119149276783e-8,0.004186453058714402,2.4111865678345753e-5,-7.275951997366621e-8,0.00418691819641979,2.4003918546233812e-5,-7.252797509274851e-8,0.004187432570247736,2.4015686123816057e-5,-7.254618294928173e-8,0.004187938527366445,2.4158751006996613e-5,-7.283932258420115e-8,0.00418838289655064,2.4413937365967342e-5,-7.336815666881627e-8,0.004188728513422404,2.4738606360928003e-5,-7.404399556996649e-8,0.00418896077263449,2.5078536869024493e-5,-7.475342352649681e-8,0.004189088187108331,2.5380979408035573e-5,-7.538568393181177e-8,0.004189137637378765,2.560542386655624e-5,-7.585541248978948e-8,0.004189146482758514,2.5729746333905715e-5,-7.611571356090715e-8,0.004189154226481784,2.5751295531856018e-5,-7.616056328669566e-8,0.004189195811872894,2.5684118435083626e-5,-7.601902615037475e-8,0.004189297432699497,2.55542284301067e-5,-7.574531169066045e-8,0.004189474640743976,2.539461358412779e-5,-7.54082984053367e-8,0.004189731923761839,2.5240920754474522e-5,-7.508253449426259e-8,0.004190062893369365,2.5127892543049684e-5,-7.484086743090381e-8,0.004190450577587119,2.508605327542561e-5,-7.474758404267058e-8,0.004190867863493793,2.5137902888573805e-5,-7.48504270355493e-8,0.004191278851066964,2.5293029167128904e-5,-7.517021445445091e-8,0.004191642553303303,2.55423836176811e-5,-7.568861108228818e-8,0.004191920429727899,2.585359199989586e-5,-7.633807975528864e-8,0.004192087961726734,2.6171043691637975e-5,-7.700197953776512e-8,0.0041921473996541884,2.6425138639552714e-5,-7.753404214212685e-8,0.004192134962329874,2.655208648022618e-5,-7.780007245043969e-8,0.004192114992464122,2.6518357750800253e-5,-7.772933711625707e-8,0.004192159595389882,2.6337159580545134e-5,-7.734907825665287e-8,0.0041923223662205,2.6066037508450072e-5,-7.677941655751047e-8,0.004192619875803577,2.578592305862587e-5,-7.618950486964727e-8,0.0041930293080447165,2.557321200031067e-5,-7.57392457018824e-8,0.004193500258489232,2.5478197525003033e-5,-7.553431849801728e-8,0.004193972401104941,2.5516253407646417e-5,-7.560771560475328e-8,0.004194391412284077,2.5670481527066318e-5,-7.592504671513956e-8,0.004194719476384159,2.5901118869691845e-5,-7.640387556528128e-8,0.004194939943894964,2.6157253045760205e-5,-7.693795310378307e-8,0.004195057196908215,2.6387965736528168e-5,-7.742045708403442e-8,0.004195093049339342,2.655137914482246e-5,-7.776307074307687e-8,0.0041950809049979216,2.662075619193178e-5,-7.790902792572845e-8,0.0041950589164355375,2.6587196549228087e-5,-7.783901651533447e-8,0.004195063418449753,2.6459035460426867e-5,-7.75700484300396e-8,0.004195123687424457,2.6258649342688074e-5,-7.714875237095379e-8,0.004195258624765763,2.6017731648806405e-5,-7.664139315682479e-8,0.0041954753979068695,2.5772178721423704e-5,-7.612311259338277e-8,0.004195769575099257,2.5557431308106203e-5,-7.566822001278618e-8,0.004196126138573454,2.540453466231477e-5,-7.534204817948078e-8,0.004196520954855405,2.53367037714102e-5,-7.51938225051339e-8,0.004196922622790946,2.5365966871741377e-5,-7.524954946219042e-8,0.004197295156724912,2.5489504985313087e-5,-7.550410520029874e-8,0.004197602564194241,2.5685951525308174e-5,-7.591317047680027e-8,0.004197816369561635,2.5913292788382522e-5,-7.638861304882352e-8,0.004197925960352721,2.6111518336327034e-5,-7.68040568734833e-8,0.004197949030411529,2.6213720596972247e-5,-7.701841069760118e-8,0.004197935777056729,2.6166841984154432e-5,-7.691972134593537e-8,0.004197959246279704,2.5955973534895593e-5,-7.647632694596954e-8,0.004198090449018128,2.561816100677808e-5,-7.576574198158926e-8,0.0041983690577137925,2.523320397695459e-5,-7.495518310321368e-8,0.00419878704502883,2.4893403872054307e-5,-7.423809664192561e-8,0.004199294657828197,2.466944744060831e-5,-7.37627848726335e-8,0.004199822567905109,2.4590529631573546e-5,-7.35909004360926e-8,0.004200305861270729,2.4644214422214637e-5,-7.369713717322046e-8,0.0042006995521685,2.478930388189759e-5,-7.399597656866322e-8,0.0042009837510207735,2.497203494463084e-5,-7.437531825774549e-8,0.004201161612568837,2.5139530804678885e-5,-7.472443695283559e-8,0.0042012538478359,2.524867550071118e-5,-7.495254886807737e-8,0.004201292331705662,2.527094607106964e-5,-7.49991216701699e-8,0.00420131393742547,2.5194311755950153e-5,-7.483814941996342e-8,0.004201354951284227,2.502295376661067e-5,-7.447781373617757e-8,0.0042014462866753815,2.4775206437341213e-5,-7.395626000164893e-8,0.004201609778427287,2.448005996210069e-5,-7.333420007618452e-8,0.004201855844869758,2.4172631007671907e-5,-7.268529378705414e-8,0.004202182698645817,2.3889171851144942e-5,-7.208562808425933e-8,0.004202577017310062,2.3662279170995062e-5,-7.160372968477706e-8,0.004203015758641201,2.351672818202007e-5,-7.129194406720078e-8,0.004203468829726377,2.3466037764782944e-5,-7.11792747736706e-8,0.004203902457944527,2.3509754658052647e-5,-7.126556074908164e-8,0.004204283346550584,2.3631449505063676e-5,-7.151698648158335e-8,0.004204584061959764,2.3797752657327603e-5,-7.186374646115213e-8,0.0042047900364866496,2.3959694992948275e-5,-7.22027000677904e-8,0.0042049075001769935,2.4058568751254713e-5,-7.240978381987185e-8,0.004204969667533672,2.4038460412971196e-5,-7.23666645880367e-8,0.004205036113172845,2.386531479855544e-5,-7.200115046387884e-8,0.004205179685910332,2.3546624248548318e-5,-7.132872503889457e-8,0.0042054607744250174,2.313929579412769e-5,-7.046897812798647e-8,0.00420589989798239,2.27347232082449e-5,-6.961404483515537e-8,0.004206466015888612,2.242427014344388e-5,-6.895601774624227e-8,0.004207089445384607,2.2264274521212205e-5,-6.861351443079364e-8,0.004207690765000283,2.2260358548173973e-5,-6.859880736537034e-8,0.004208207794816714,2.2375384589948536e-5,-6.883449347627073e-8,0.004208608832725967,2.2550256047354552e-5,-6.919700655526116e-8,0.004208892174623421,2.2724239908018644e-5,-6.955907850228315e-8,0.0042090782601795,2.284808125073127e-5,-6.981713891001085e-8,0.004209200296160906,2.2889691428958756e-5,-6.990328564693268e-8,0.004209296350094005,2.283492007234416e-5,-6.97870980120373e-8,0.004209403565906254,2.268592751806816e-5,-6.947247890090181e-8,0.004209554005893156,2.2458595057271006e-5,-6.899240475833879e-8,0.004209771538720962,2.2179411033598958e-5,-6.840241608206303e-8,0.00421006954601963,2.1881833085248087e-5,-6.777287276654248e-8,0.0042104495193963105,2.1602047665670182e-5,-6.717991814560981e-8,0.0042109008189892645,2.137421177667367e-5,-6.669544160393412e-8,0.004211401868604031,2.1225620883696596e-5,-6.637699983388579e-8]} \ No newline at end of file diff --git a/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_25.json b/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_25.json new file mode 100644 index 0000000..56ed583 --- /dev/null +++ b/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_25.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1.0,"startIndex":25000,"numberOfSamples":1000,"samples":[0.0042119228229227776,2.117242668988509e-5,-6.625892772821196e-8,0.00421242951621424,2.1216421815835606e-5,-6.634559593072919e-8,0.004212888396602669,2.1343324948057996e-5,-6.660764965178544e-8,0.004213272077688695,2.1522955697259163e-5,-6.698208934125665e-8,0.004213565153061029,2.171164617537871e-5,-6.737707330135306e-8,0.004213769823711238,2.1857483451438128e-5,-6.768286051317844e-8,0.004213910198871436,2.190927122349849e-5,-6.779084064030356e-8,0.004214032922657624,2.1829493537962127e-5,-6.762116816618272e-8,0.004214200852587069,2.160938196621095e-5,-6.71548148810529e-8,0.004214477322022827,2.1280462370500936e-5,-6.645802296286292e-8,0.004214903100503305,2.091373094832423e-5,-6.568048925307495e-8,0.004215475880773675,2.0600151223130995e-5,-6.501412598684065e-8,0.004216145898744334,2.0417442948628495e-5,-6.462301093688222e-8,0.004216833579580056,2.0400376819345232e-5,-6.458079850055622e-8,0.004217459970123071,2.053157579362677e-5,-6.485132807375522e-8,0.004217972502130171,2.0755398012646987e-5,-6.531780445307867e-8,0.004218354775674382,2.100283844312381e-5,-6.583514699901046e-8,0.004218621473875984,2.1213061032032433e-5,-6.627523661803764e-8,0.004218806437975746,2.1344829856945014e-5,-6.655094448616457e-8,0.0042189509605779895,2.1378863630848206e-5,-6.662115374902181e-8,0.004219095409105211,2.1315105530184897e-5,-6.648517553484988e-8,0.004219274283414654,2.1168357298914947e-5,-6.617374421911176e-8,0.0042195135261831026,2.0964046864058137e-5,-6.574021509881736e-8,0.0042198289277669875,2.0734467344645254e-5,-6.52526270229363e-8,0.004220225061155502,2.0515161357874974e-5,-6.478598265567233e-8,0.004220694716869642,2.0341013243499278e-5,-6.441392136515793e-8,0.004221219187507694,2.024179213121955e-5,-6.419932023758131e-8,0.004221769966808666,2.0237378693578086e-5,-6.418431147260425e-8,0.0042223122778394,2.033346797221274e-5,-6.438129961003437e-8,0.004222810379006872,2.051879431947242e-5,-6.47670814186124e-8,0.0042232340746766765,2.0764877854194254e-5,-6.528213506219293e-8,0.004223565395287756,2.1029006330211313e-5,-6.583665389689409e-8,0.004223804128873946,2.1260585340412296e-5,-6.632374566900979e-8,0.004223970876957566,2.1410361180324564e-5,-6.663887945834917e-8,0.004224106369310762,2.14415465441151e-5,-6.670356203916723e-8,0.0042242657983087495,2.134115638552841e-5,-6.648957977625455e-8,0.004224507399419219,2.112855412696634e-5,-6.603731852191216e-8,0.004224876159364572,2.085686994094544e-5,-6.545888489491197e-8,0.004225386732174476,2.0603067839644234e-5,-6.491709513429656e-8,0.004226013160943935,2.0446027498544085e-5,-6.457905743766462e-8,0.004226693128151923,2.043932475634994e-5,-6.45585312505897e-8,0.004227347974683707,2.059163946791718e-5,-6.487440472016235e-8,0.004227909703767054,2.086563813515611e-5,-6.544822544194953e-8,0.004228341362829596,2.1195202646072075e-5,-6.614053530613902e-8,0.004228642402086946,2.1510125092377255e-5,-6.680302045077538e-8,0.004228840647210552,2.1755805619472572e-5,-6.732012834688552e-8,0.004228978598476052,2.190213346099413e-5,-6.762786101905045e-8,0.0042291010496863166,2.194302357527711e-5,-6.771287814009528e-8,0.0042292470592518745,2.1891133200885374e-5,-6.760145956889963e-8,0.004229446049571827,2.1771621167792976e-5,-6.73464393792848e-8,0.004229716468222322,2.1616855272094037e-5,-6.701607817399818e-8,0.004230065522044785,2.146232151279719e-5,-6.668539495546459e-8,0.004230489183412082,2.134317016838142e-5,-6.642880367863476e-8,0.004230972374903851,2.12906866823376e-5,-6.631261090471438e-8,0.004231489771832401,2.132821216102119e-5,-6.638640134078987e-8,0.00423200798906628,2.1466603019303647e-5,-6.667347585959588e-8,0.004232489876042049,2.1700112891328544e-5,-6.716214332465655e-8,0.004232901078212662,2.2004253231900497e-5,-6.780110661848243e-8,0.0042332180115707534,2.233735468493118e-5,-6.850259405413669e-8,0.004233435294041164,2.264690582136456e-5,-6.915558955274176e-8,0.004233570081750011,2.288024682846949e-5,-6.964836523197342e-8,0.004233661175459219,2.299740945877807e-5,-6.989570010663392e-8,0.00423376212210765,2.298272324126421e-5,-6.986362270031153e-8,0.004233929261141872,2.2851697779811398e-5,-6.958422181245012e-8,0.004234207211841524,2.2650495622957343e-5,-6.915475814576002e-8,0.004234615425259081,2.2446809897144912e-5,-6.871849564593151e-8,0.004235140014210337,2.231313047848069e-5,-6.842929415254376e-8,0.004235734703969059,2.230620625541042e-5,-6.840801170460767e-8,0.004236332511029088,2.2449320169543877e-5,-6.870475534746973e-8,0.004236865352914913,2.2724777630289437e-5,-6.928273029224622e-8,0.004237284245080581,2.3080599212484498e-5,-7.003223837757029e-8,0.004237571736415137,2.3448608166368112E-05,-7.080893495957507e-8,0.004237742342841121,2.3765484141766943e-5,-7.147847424023432e-8,0.004237833085799702,2.3988137660734125e-5,-7.194917126202141e-8,0.004237890189882673,2.4099447950975766e-5,-7.218425790080511e-8,0.004237957595590428,2.4105773514283147e-5,-7.219670738284095e-8,0.004238069919582637,2.4030269658422523e-5,-7.203516533111505e-8,0.004238249618365501,2.39056679238968e-5,-7.176871236223504e-8,0.004238506777009503,2.376842054507791e-5,-7.14744782604305e-8,0.004238839960336995,2.3654485763485328e-5,-7.122870298290076e-8,0.004239237195182148,2.359612316887198e-5,-7.109993006965748e-8,0.00423967689584437,2.3618836515735366e-5,-7.114251881836275e-8,0.00424012919339875,2.3737839999153642e-5,-7.138914208350213e-8,0.004240558555859129,2.3954028829091893e-5,-7.184219988672258e-8,0.004240928632216016,2.425035359666654e-5,-7.246603747851151e-8,0.004241209686151803,2.4590515496345863e-5,-7.31840475098621e-8,0.004241387602314709,2.4922420371615704e-5,-7.388587732093796e-8,0.00424147157146284,2.5187961743731242e-5,-7.44481247159738e-8,0.004241496426214619,2.5338027012562994e-5,-7.476619148263978e-8,0.004241516665120159,2.53481927416961e-5,-7.478765248745461e-8,0.004241592614544567,2.5228750538790737e-5,-7.453362965654456e-8,0.004241773093309497,2.5024267468472517e-5,-7.409800415341168e-8,0.004242080828456248,2.480219962828495e-5,-7.362345063271682e-8,0.004242505642303187,2.463448176734963e-5,-7.326256531566072e-8,0.004243007230734643,2.4578174120876555e-5,-7.313688342900408e-8,0.004243526169055569,2.4660842178798045e-5,-7.330574786416262e-8,0.004243999680967984,2.4874463362710607e-5,-7.375310120416703e-8,0.0042443776570801894,2.5179193207145155e-5,-7.439515440950807e-8,0.004244634361830328,2.551555261019759e-5,-7.510602778954726e-8,0.0042447725833558445,2.5820973313206575e-5,-7.575282082432305e-8,0.004244819645713096,2.6045265557054406e-5,-7.622855268466984e-8,0.004244817657500771,2.6160427534331055e-5,-7.647316726976563e-8,0.004244812063322777,2.6162998914343238e-5,-7.647870316326475e-8,0.004244842201737484,2.6070232563465724e-5,-7.628128320228887e-8,0.004244935733735506,2.5913058455968382e-5,-7.594622609168704e-8,0.004245106822619801,2.572872050475992e-5,-7.555241538069889e-8,0.004245356804103788,2.5554802441117856e-5,-7.517960510152853e-8,0.004245675934005867,2.5425040582432493e-5,-7.48995353162313e-8,0.004246045266184226,2.53664067068817e-5,-7.47697603900719e-8,0.004246438382144604,2.5396616745149382e-5,-7.482836234073875e-8,0.004246823330043397,2.552139706651534e-5,-7.508808847131201e-8,0.004247165619004974,2.5731389115804212e-5,-7.55296442638736e-8,0.004247433275937945,2.5999499171301278e-5,-7.609589214748047e-8,0.0042476044631466715,2.6280705900143398e-5,-7.669131102787287e-8,0.004247676613223559,2.6517177808645175e-5,-7.719284879324458e-8,0.004247673609435171,2.6650746595202952e-5,-7.747651982304646e-8,0.004247645708001549,2.66412350943042e-5,-7.74564776254694e-8,0.004247658309913079,2.6483856580341366e-5,-7.712204781528955e-8,0.004247771456591539,2.6216061034290582e-5,-7.655226898516179e-8,0.004248018640476505,2.590800755606473e-5,-7.589568494417051e-8,0.004248395212570714,2.563994069145496e-5,-7.532244221725396e-8,0.004248861259489376,2.5477021622606432e-5,-7.497104067998361e-8,0.00424935590167607,2.5452038700586148e-5,-7.491170753332291e-8,0.004249815624233812,2.5560514080836893e-5,-7.513587325912593e-8,0.0042501900081495896,2.5766672608186727e-5,-7.556853344785969e-8,0.004250451383611506,2.6015861961209102e-5,-7.609427999654669e-8,0.0042505977356969114,2.6248914551540066e-5,-7.658758795271883e-8,0.0042506498090625795,2.6415031884901112e-5,-7.694017883491166e-8,0.004250644097952955,2.648096828203765e-5,-7.708071584908982e-8,0.0042506237812728765,2.6435303290169302e-5,-7.698415129034421e-8,0.004250629816343292,2.6287691938557887e-5,-7.667036324682085e-8,0.0042506940711203485,2.6064200669597658e-5,-7.619435383064163e-8,0.00425083548128867,2.5800616341765846e-5,-7.563201480582007e-8,0.004251059186062351,2.5535598231431913e-5,-7.506549954746807e-8,0.004251357853991461,2.5304981396812947e-5,-7.457106386619228e-8,0.004251714123475805,2.5137752884505912e-5,-7.421052674232194e-8,0.004252103288002902,2.5053445751813735e-5,-7.402578044122805e-8,0.0042524958808914486,2.5060282096586535e-5,-7.403485203242214e-8,0.004252860347046862,2.5153483119387155e-5,-7.422821487858902e-8,0.004253166420302202,2.5313592833064807e-5,-7.4565027741937e-8,0.004253390056795452,2.5505445065978426e-5,-7.497072826604751e-8,0.004253520373611728,2.567954717105097e-5,-7.533987563241299e-8,0.004253567583483577,2.5778553226866115e-5,-7.555000192971296e-8,0.004253568477479618,2.57508981459835e-5,-7.549083696491824e-8,0.004253583802551681,2.5570092233629636e-5,-7.51055603806773e-8,0.004253683035294351,2.5251865633977112e-5,-7.44273175308893e-8,0.0042539191944363595,2.4857202588394434e-5,-7.35855734003273e-8,0.004254305764216735,2.447438286380503e-5,-7.276784994537231e-8,0.004254809815918776,2.4186839495990022e-5,-7.215147164839955e-8,0.004255365549942023,2.40441206534225e-5,-7.184200794898621e-8,0.004255899200387112,2.4050089820884473e-5,-7.184826829956902e-8,0.0042563516080044266,2.416972185021108e-5,-7.209662433728606e-8,0.004256690396141003,2.434605252160264e-5,-7.246675786316027e-8,0.0042569115892744334,2.4517943449023026e-5,-7.282912443145628e-8,0.0042570344588616455,2.463347637775471e-5,-7.30732558512375e-8,0.0042570934805204125,2.465775417313392e-5,-7.312438614433928e-8,0.004257129932313604,2.4575925834567138e-5,-7.295011734563332e-8,0.0042571843494951115,2.4392667825468296e-5,-7.255962537821784e-8,0.00425729039774817,2.4129023933815476e-5,-7.199717208281165e-8,0.004257470606229811,2.3817370327804808e-5,-7.133146006679518e-8,0.004257734255741909,2.349544247400287e-5,-7.064283667735547e-8,0.004258077393204028,2.3200390137071024e-5,-7.001050679824002e-8,0.004258484618862725,2.2963666553012255e-5,-6.950158216921607e-8,0.004258932027056634,2.2807293789006354e-5,-6.916316297269846e-8,0.0042593906153518026,2.2741586385370254e-5,-6.901757022449099e-8,0.0042598297434363165,2.276399055898611e-5,-6.905989169541386e-8,0.004260220606168873,2.2858651267932304e-5,-6.925694232532747e-8,0.004260539991874552,2.2996585299082128e-5,-6.954740578872719e-8,0.004260774793749827,2.3136869567961894e-5,-6.984415171021355e-8,0.004260927452055153,2.3230106921002925e-5,-7.004155848425731e-8,0.004261021309681241,2.3226075701983406e-5,-7.003196358517582e-8,0.004261102938290243,2.308688722779646e-5,-6.9733984200722e-8,0.004261236712509181,2.2804045770392858e-5,-6.912910597515336e-8,0.004261487734137989,2.2412204909363093e-5,-6.829103484152083e-8,0.004261895857940792,2.1987951130290533e-5,-6.738297115674651e-8,0.004262453748847359,2.1626559517556065e-5,-6.660796308383029e-8,0.004263104835077354,2.14049565306401e-5,-6.613002381831203e-8,0.004263765230072934,2.1352073118542486e-5,-6.601108302348439e-8,0.004264356348996169,2.14434400684497e-5,-6.619951822339648e-8,0.00426482929740014,2.1618744627758198e-5,-6.656745990661841e-8,0.004265171943391067,2.1807560186110623e-5,-6.696539410340849e-8,0.004265402331610535,2.194966411597293e-5,-6.726522140368924e-8,0.004265556764276095,2.2005321336605362e-5,-6.738204521109695e-8,0.004265678484351986,2.1957407300082035e-5,-6.727876331639272e-8,0.004265809259589074,2.1808924150594526e-5,-6.696101507231523e-8,0.004265983904005325,2.1578682448027443e-5,-6.646826954849454e-8,0.004266226920993157,2.1296504146896058e-5,-6.586379168206377e-8,0.004266550629286272,2.0998265292050864e-5,-6.522408289024045e-8,0.004266954602654954,2.072086530767614e-5,-6.46280184319503e-8,0.0042674264408546,2.0497353315112702e-5,-6.414629674705478e-8,0.004267943861511287,2.0352576012947905e-5,-6.383209365453901e-8,0.004268477960877023,2.0299833661802612e-5,-6.371398436365584e-8,0.004268997253092252,2.0338959047789847e-5,-6.379193925228933e-8,0.004269472004022922,2.0455923406950072e-5,-6.403649435074647e-8,0.004269878504480831,2.0623872099556896e-5,-6.439082513227808e-8,0.004270203091943123,2.0805512560485156e-5,-6.477560803074754e-8,0.004270445852852126,2.0956944805511876e-5,-6.509700275244613e-8,0.004270623800199121,2.10334314266037e-5,-6.525895403540025e-8,0.004270772558072353,2.0997890319405713e-5,-6.518152289098647e-8,0.00427094441011345,2.083220432249813e-5,-6.482534637528951e-8,0.004271199798210908,2.05492416329248e-5,-6.421755267416815e-8,0.00427159041645784,2.0199863007888447e-5,-6.346677840095314e-8,0.004272137010630017,1.986641311092636e-5,-6.274914812415897e-8,0.004272812866192905,1.9637907019181664e-5,-6.225512618287865e-8,0.004273546661830289,1.957484111226967e-5,-6.211428300886088e-8,0.004274248084309201,1.9683554754882735e-5,-6.234052528862284e-8,0.004274842584556,1.9916585609271047e-5,-6.283284863669002e-8,0.004275294989396107,2.0196932839426866e-5,-6.34271221447608e-8,0.004275612111248886,2.044876157713103e-5,-6.396157774097112e-8,0.004275829854443942,2.0618302854561106e-5,-6.432132893338302e-8,0.004275996344867708,2.068048102350494e-5,-6.445246254988373e-8,0.004276158761153353,2.0635703336763096e-5,-6.435525871581819e-8,0.00427635575964747,2.050278681984088e-5,-6.406929194779216e-8,0.004276614264766545,2.03118344130943e-5,-6.365844604760266e-8,0.004276948681532183,2.0098462742130343e-5,-6.319870838452115e-8,0.00427736112987467,1.9899240304877655e-5,-6.276838480380487e-8,0.004277842211255956,1.974773290141609e-5,-6.243949971073313e-8,0.004278372391904025,1.967077619426468e-5,-6.226968673760751e-8,0.004278924276628769,1.9684968915617704e-5,-6.229464867897638e-8,0.00427946603046503,1.9793798937027695e-5,-6.252207128612635e-8,0.004279965907331355,1.9986115124125946e-5,-6.292842834492383e-8,0.004280397398965965,2.0236567080278434e-5,-6.345990398536185e-8,0.004280744247696593,2.0508303055502708e-5,-6.403801521126411e-8,0.004281004505802116,2.075787626038736e-5,-6.45698971255669e-8,0.004281192901995228,2.0941958152062637e-5,-6.496252518206134e-8,0.004281340930710332,2.1025255578912166e-5,-6.513969573609285e-8,0.004281494037741554,2.0988991621400003e-5,-6.506040387677097e-8,0.004281705020143845,2.083884172795236e-5,-6.473613988226346e-8,0.004282022932066112,2.0609966237029076e-5,-6.424190093837948e-8,0.004282478182800925,2.0365345667199266e-5,-6.371269223823294e-8,0.004283067616495902,2.018344302717714e-5,-6.331700549222439e-8,0.004283747241477742,2.0134651144824004e-5,-6.320619458649664e-8,0.0042844407554519515,2.0253973496551404e-5,-6.345578723847007e-8,0.004285064598384449,2.0524555265033713e-5,-6.403009214368057e-8,0.004285558228008341,2.0883667246896797e-5,-6.479498002189184e-8,0.004285903068305841,2.1248575485531713e-5,-6.557331881327865e-8,0.004286121591209917,2.1546759971092086e-5,-6.620971443688664e-8,0.004286261550244254,2.173512138139228e-5,-6.661161891835543e-8,0.004286377010822107,2.1803562222643158e-5,-6.675698118613891e-8,0.004286514639174886,2.1767962224157696e-5,-6.667927461907289e-8,0.004286707249844844,2.1659831340824737e-5,-6.644549978914754e-8,0.004286972651294204,2.1517288514130502e-5,-6.613702981233638e-8,0.004287315036407035,2.137879459328305e-5,-6.583625969488997e-8,0.004287726996196279,2.1279125575024203e-5,-6.561792724729806e-8,0.00428819142343141,2.1246497524740444e-5,-6.554282703858169e-8,0.004288683412819257,2.1300005175710134e-5,-6.56522121072733e-8,0.004289172646002349,2.144705325197606e-5,-6.596225331674356e-8,0.004289626831671317,2.1681083267848825e-5,-6.64591918001667e-8,0.004290016489747565,2.1980505883871905e-5,-6.709706780234995e-8,0.0042903207017423875,2.2309974166205005e-5,-6.780039689973465e-8,0.004290532704681695,2.2624802256956494e-5,-6.847351420232322e-8,0.004290663720481053,2.2878545281189634e-5,-6.901668815447957e-8,0.004290743428588021,2.3032647343331645e-5,-6.934675430215987e-8,0.004290816160740989,2.3066060527652307e-5,-6.941783186631997e-8,0.004290932973482719,2.298241860165485e-5,-6.923692897416443e-8,0.004291140720082246,2.281268438762679e-5,-6.886989001401675e-8,0.004291469988513568,2.261171092999127e-5,-6.843422945885471e-8,0.0042919245712092595,2.244789438370406e-5,-6.807700264279899e-8,0.004292475971297328,2.238658804783379e-5,-6.793912075922681e-8,0.004293066649609138,2.2470558774809148e-5,-6.811318501504072e-8,0.004293623937526895,2.2703998892035536e-5,-6.860890598586648e-8,0.0042940818493636184,2.304812006375384e-5,-6.934344898792616e-8,0.004294402362672422,2.3432831436448893e-5,-7.016645002765099e-8,0.004294586104386337,2.378055743966283e-5,-7.091121590795328e-8,0.004294667795317409,2.4030920659155234e-5,-7.144780929009046e-8,0.004294700566059802,2.4155324165777983e-5,-7.171440891510901e-8,0.004294738209100082,2.4157840931771394e-5,-7.171925710040148e-8,0.0042948226573763385,2.4066452881318333e-5,-7.152192906009953e-8,0.004294978812281802,2.3921337639631674e-5,-7.120830502904449e-8,0.004295214901080934,2.3765000948817973e-5,-7.08694876550506e-8,0.004295525436407369,2.363587044291823e-5,-7.058807624485363e-8,0.004295894601684546,2.3564786623837452E-05,-7.04305813207749e-8,0.004296299122201778,2.357308522950433e-5,-7.044321503200956e-8,0.004296710657229467,2.367115187319423e-5,-7.064870539544668e-8,0.004297098295590391,2.38568917503796e-5,-7.104295898373251e-8,0.004297431906932636,2.4114275885103977e-5,-7.159190498213205e-8,0.004297686870625992,2.4412901902798002e-5,-7.223050607165677e-8,0.004297849991681794,2.4710049162891303e-5,-7.286710575334312e-8,0.004297925302316519,2.4956591162591826e-5,-7.339606327152146e-8,0.004297937372396556,2.5107015043400802e-5,-7.371925088269417e-8,0.004297929510021779,2.5131737805527713e-5,-7.377254984435431e-8,0.004297955548234345,2.5027789983162344e-5,-7.354890403274291e-8,0.004298066575615005,2.4823310836198834e-5,-7.310812995376074e-8,0.004298296552607654,2.4573070322224938e-5,-7.256747872959403e-8,0.004298651648983001,2.434559188780995e-5,-7.207413756368472e-8,0.004299106911661393,2.4205518413300738e-5,-7.176741926718479e-8,0.004299611453430702,2.4196312655059432e-5,-7.174150839999789e-8,0.0043001009376553104,2.4328171010078167e-5,-7.201924724959771e-8,0.004300514215980978,2.45747458074727e-5,-7.254478183774332e-8,0.00430080955408668,2.4880164403869278e-5,-7.319841098782959e-8,0.00430097535914321,2.5174795560467062e-5,-7.383040760602065e-8,0.004301031639911904,2.5394822709818133e-5,-7.430318462394381e-8,0.004301021854896047,2.549876742515806e-5,-7.452698087324046e-8,0.004300998826632299,2.5475424898201563e-5,-7.447707677090092e-8,0.0043010105133326326,2.5341837209243172e-5,-7.418955573869462e-8,0.00430109035070397,2.513426620792213e-5,-7.374198268112992e-8,0.004301253742716078,2.48970164755011e-5,-7.32294267491531e-8,0.004301499427306543,2.467299592201586e-5,-7.274417707510015e-8,0.0043018132999952385,2.4497627550464064e-5,-7.236262240548909e-8,0.004302172657874503,2.4395814589290057e-5,-7.213867310051331e-8,0.004302549817683467,2.4380785913499932e-5,-7.210122313442096e-8,0.0043029149958991805,2.44536492446394e-5,-7.225313252007961e-8,0.004303238964457443,2.460296377691644e-5,-7.2570238773880585E-08,0.00430349625434463,2.4804348391217722e-5,-7.300042578258291e-8,0.0043036695281246816,2.50209511462533e-5,-7.34645445614565e-8,0.0043037550770795956,2.5206324498041653e-5,-7.386254745634518e-8,0.004303768148276709,2.5311391686062272e-5,-7.408849797523384e-8,0.004303745290754547,2.5296058710614142e-5,-7.405564302472968e-8,0.0043037402219377715,2.5143263129179642e-5,-7.372674513257676e-8,0.004303811401843918,2.486984655474745e-5,-7.31375476237472e-8,0.004304003924871586,2.452738717704159e-5,-7.239861410051003e-8,0.004304332998053507,2.4189634346796077e-5,-7.166837537127397e-8,0.004304777053220583,2.3930305794275484e-5,-7.110548942813876e-8,0.0043052839373079,2.380055815885997e-5,-7.082046368346776e-8,0.004305786979287081,2.381512406074437e-5,-7.084577599968396e-8,0.004306223908680077,2.3950918898359302e-5,-7.113265222969439e-8,0.0043065521824008435,2.4156359154944985e-5,-7.157081214482665e-8,0.00430675720105395,2.4366745878058644e-5,-7.202132826384251e-8,0.00430685272341944,2.452074994873828e-5,-7.235202054839195e-8,0.0043068746876313785,2.457397362237289e-5,-7.246674040986775e-8,0.004306870807432403,2.450692094765032e-5,-7.232274420159353e-8,0.0043068889333198876,2.4326274108967804e-5,-7.193368553734489e-8,0.004306967157178836,2.4060115372153373e-5,-7.135951482856131e-8,0.004307127792060001,2.3749312473508598e-5,-7.068800846487233e-8,0.004307375847549257,2.3437998378882705e-5,-7.001424126954424e-8,0.0043077011487614265,2.316559033074148e-5,-6.942331161839482e-8,0.004308082476774727,2.296156998550824e-5,-6.897901648309085e-8,0.004308492160407662,2.2843008936849732e-5,-6.871848008341235e-8,0.00430890014225028,2.2814028032551207e-5,-6.865098180169714e-8,0.004309277281921247,2.2866200020617407e-5,-6.875880227967708e-8,0.004309598220494261,2.2979234337591817e-5,-6.899862356038913e-8,0.004309844408536244,2.3121853538730567e-5,-6.930329429478826e-8,0.0043100078615668095,2.3253479651415424e-5,-6.95853524949172e-8,0.004310095640386761,2.3328083445441076e-5,-6.974529757037752e-8,0.0043101338257101485,2.3301787131791224e-5,-6.968807200575135e-8,0.004310168187241177,2.3144787924465443e-5,-6.934892854607553e-8,0.004310257826444425,2.285531683637069e-5,-6.872365125157918e-8,0.004310459684221365,2.2469228310805165e-5,-6.788925321183882e-8,0.0043108073193948325,2.2056750050369026e-5,-6.699692997284909e-8,0.004311294032439131,2.170255209789584e-5,-6.622910378436072e-8,0.004311871307369093,2.1476062378587954e-5,-6.573553756794064e-8,0.004312465198993063,2.1407057452158824e-5,-6.558081946270183e-8,0.004313001977162613,2.147859710794636e-5,-6.572910476913147e-8,0.00431343005920553,2.1637960989153616e-5,-6.606750631843108e-8,0.004313730316577628,2.181691089414023e-5,-6.644950764688654e-8,0.004313914738250244,2.1951418489715036e-5,-6.673726332891451e-8,0.004314017860593639,2.1995240270097538e-5,-6.6830778021755e-8,0.00431408563427076,2.1926188546349096e-5,-6.668152880876458e-8,0.004314164844430976,2.1746350005664837e-5,-6.62931915957548e-8,0.00431429466372932,2.1478088191753095e-5,-6.571331506627689e-8,0.004314501024681896,2.1157447735519515e-5,-6.501929657323107e-8,0.004314794068269408,2.0826407239506826e-5,-6.430170217264929e-8,0.004315168523400873,2.0525388218328684e-5,-6.364798919827755e-8,0.00431560642180513,2.0287173353931803e-5,-6.31292183912412e-8,0.0043160812455876356,2.0132909454777427e-5,-6.279132138753954e-8,0.004316562520177888,2.007033177327738e-5,-6.265126152698634e-8,0.00431702006617794,2.00938082788825e-5,-6.269717769742918e-8,0.004317427588706235,2.018551638500187e-5,-6.28909388180351e-8,0.004317765712734754,2.0317234227004703e-5,-6.317193328846631e-8,0.004318024775138963,2.0452628316515763e-5,-6.34618604024906e-8,0.00431820770093002,2.0550394730606987e-5,-6.367139110618334e-8,0.004318332893899484,2.0569188001987255e-5,-6.371081436092053e-8,0.004318436011644906,2.04754635624101e-5,-6.350712260775898e-8,0.0043185681789404615,2.0254385622796044e-5,-6.302778494565895e-8,0.004318787523787666,1.9921423273137004e-5,-6.230594134708772e-8,0.004319142414166795,1.9528518015015e-5,-6.145372829533996e-8,0.004319650180655444,1.9156534321257355e-5,-6.064588141621515e-8,0.004320282432594846,1.8890460254098007e-5,-6.006610839445816e-8,0.00432096924731175,1.8786257539194468e-5,-5.983551079099197e-8,0.004321623889974825,1.8848028753740572e-5,-5.99633110710282e-8,0.004322174856199251,1.9029232241916958e-5,-6.03494594472305e-8,0.004322587553187694,1.9254995930678356e-5,-6.083272565155132e-8,0.004322867520357473,1.9450265918529555e-5,-6.125132934634046e-8,0.004323049667978551,1.956007946768571e-5,-6.148655784160723e-8,0.004323182862961931,1.9557648041747735e-5,-6.148015369528662e-8,0.004323316556168647,1.9443050480583164e-5,-6.123159791433297e-8,0.004323491840940722,1.9237131005163212e-5,-6.0785188942898e-8,0.004323736659978244,1.8974013586600857e-5,-6.021415798447603e-8,0.00432406401637427,1.8693883726101143e-5,-5.960523413418266e-8,0.004324472264424686,1.8436553474490432e-5,-5.904470094336049e-8,0.004324946983099295,1.8236033860153257e-5,-5.860648003866715e-8,0.004325464084859797,1.811635649105119e-5,-5.8342897748555724e-8,0.004325993794135984,1.8088868183602328e-5,-5.8278740560323874e-8,0.004326505053826906,1.8151193617222837e-5,-5.84090469392405e-8,0.004326969827564337,1.8287871460248693e-5,-5.870057233852731e-8,0.004327366867667058,1.8472348280178974e-5,-5.909613070587311e-8,0.004327684784604043,1.8669955227489085e-5,-5.952094345795759e-8,0.004327924409123366,1.8841706401499647e-5,-5.989069354469142e-8,0.004328100446453682,1.8948978694444737e-5,-6.012153384588638e-8,0.004328242207755195,1.8959396499784854e-5,-6.014285604854431e-8,0.00432839251061342,1.8854306712077532e-5,-5.991366270790545e-8,0.004328602976287375,1.8637363771232864e-5,-5.9441399495521534e-8,0.004328923808193235,1.834172061702968e-5,-5.879768517306489e-8,0.0043293877420519525,1.803074398317214e-5,-5.8119858923673065e-8,0.004329992303019424,1.7786082973530267e-5,-5.7585025996974733e-8,0.0043306904239555155,1.768141014178147e-5,-5.735306902442807e-8,0.004331400140317573,1.7751344357086818e-5,-5.749928204325917e-8,0.00433203358321681,1.797402614272783e-5,-5.79766211094402e-8,0.004332530332663138,1.828016466901793e-5,-5.8635303908857e-8,0.004332875915402321,1.858298602165903e-5,-5.928765562337491e-8,0.00433309804217549,1.8810034258350935e-5,-5.977689798049865e-8,0.004333248483983109,1.8921204984793378e-5,-6.001607106531904e-8,0.00433338344031064,1.891050947589809e-5,-5.999178553599807e-8,0.004333550076056095,1.879802272931174e-5,-5.974688447449809e-8,0.00433378028617974,1.8619161178224815e-5,-5.935746777534596e-8,0.004334089547866698,1.841532739235039e-5,-5.891288378805079e-8,0.004334478361386218,1.8227051919153682e-5,-5.8500987248132956e-8,0.004334934676237755,1.8089192813388756e-5,-5.819765687811798e-8,0.004335436753461419,1.8027479513569926e-5,-5.805910095808496e-8,0.0043359564346629785,1.805604332199269e-5,-5.8116315662884676e-8,0.004336462854060841,1.8175905259323786e-5,-5.837173979925861e-8,0.0043369265589401195,1.8374650843245116e-5,-5.8798606028170783e-8,0.0043373237749320314,1.8627644789034814e-5,-5.9343665372251605e-8,0.004337640287689868,1.8900903887741546e-5,-5.993342885257249e-8,0.004337874393414731,1.915541028175581e-5,-6.0483416036833585E-08,0.004338038508031595,1.935252810257927e-5,-6.090974291052553e-8,0.004338159117798005,1.9460134108828392e-5,-6.114232980148806e-8,0.004338274774933433,1.9459013263327866e-5,-6.113884811203717e-8,0.004338431681466829,1.9348999136279857e-5,-6.089826911602292e-8,0.004338676165081497,1.9153806772625883e-5,-6.047161761109011e-8,0.004339043688685932,1.8922294391678095e-5,-5.996487910391701e-8,0.004339545635601907,1.872276095381814e-5,-5.952661815361361e-8,0.004340158161930944,1.8627380820978457e-5,-5.9314042383671195e-8,0.004340820587457169,1.8688023122385006e-5,-5.944030774359304e-8,0.0043414499059315215,1.8912570225124942e-5,-5.992294543545765e-8,0.004341969354982378,1.9256317958197064e-5,-6.066513104038634e-8,0.00434233727438235,1.963727956575248e-5,-6.148895689362684e-8,0.004342559700425284,1.9968375421524345e-5,-6.22053917653275e-8,0.004342681194553419,2.0187890581981525e-5,-6.268039485374884e-8,0.004342762928135588,2.0273446998614515e-5,-6.286515201466919e-8,0.004342861762115175,2.0238340874590014e-5,-6.278807051788223e-8,0.0043430181177510525,2.0118621313219873e-5,-6.25268278416331e-8,0.004343252686041884,1.9959504096147545e-5,-6.217910056180777e-8,0.004343568466291725,1.9805367104343365e-5,-6.184105171446118e-8,0.004343954731686096,1.9693836953182042e-5,-6.159455561595036e-8,0.004344390973704534,1.9652723436851773e-5,-6.150043408182522e-8,0.004344850331140559,1.969838524407601e-5,-6.159471002910778e-8,0.004345302792489047,1.9834740731576415e-5,-6.188629404236862e-8,0.004345718569954192,2.0052786388798823e-5,-6.235588467085406e-8,0.004346071890108299,2.0330942481172956e-5,-6.295676357140448e-8,0.004346345120939216,2.0636843362656404e-5,-6.361874562488397e-8,0.004346532649407227,2.0931092520010435e-5,-6.425633112670948e-8,0.004346643556812209,2.1172987348254808e-5,-6.478105282775598e-8,0.004346702139067369,2.1327622981692872e-5,-6.511679997367014e-8,0.004346745608778673,2.137326837845882e-5,-6.521581332631904e-8,0.004346818808370958,2.130755124320618e-5,-6.507223672428581e-8,0.004346966320702236,2.1150975510158874e-5,-6.472999399619078e-8,0.004347222824520035,2.0946473775532036e-5,-6.428207114555517e-8,0.004347603087958219,2.0753784072168932e-5,-6.385844812624413e-8,0.004348093942432825,2.0637814013072452e-5,-6.36007815326696e-8,0.004348651739160019,2.0651659508830847e-5,-6.36252925003523e-8,0.0043492091234758985,2.0818025289423062e-5,-6.398208836552688e-8,0.004349692649033529,2.1116545144798856e-5,-6.462735152225057e-8,0.004350046851532632,2.148558579412229e-5,-6.542717677117046e-8,0.004350254077818288,2.1841590704683874e-5,-6.619972247540033e-8,0.004350339218690546,2.2108334127427978e-5,-6.677897296497183e-8,0.0043503570289232605,2.2241363549602545e-5,-6.706795464383658e-8,0.004350370300956235,2.2236598604831392e-5,-6.705740408002692e-8,0.004350430646805905,2.2122994339245096e-5,-6.680980212150948e-8,0.004350568672542956,2.1947338186704e-5,-6.642641374111236e-8,0.004350793241612556,2.1759652050497017e-5,-6.601571687264844e-8,0.0043510958731244245,2.1603418432720286e-5,-6.567227801223937e-8,0.004351456464205779,2.1510811396030194e-5,-6.546638399293138e-8,0.004351848247956533,2.1501213936502228e-5,-6.544069492800358e-8,0.004352241536665431,2.1581184167779784e-5,-6.560999904068952e-8,0.00435260671995346,2.174478040527643e-5,-6.596178678053824e-8,0.004352917203110646,2.1974004373243897e-5,-6.645716600620018e-8,0.004353152776554337,2.2239771173006768e-5,-6.70329889115276e-8,0.0043533034557195595,2.250423557099356e-5,-6.760694213289382e-8,0.004353373159793762,2.2725320394767957e-5,-6.808739588456914e-8,0.004353381934028024,2.2863721397970617e-5,-6.838860655220757e-8,0.004353365144473504,2.2891593869259356e-5,-6.844958399294913e-8,0.004353368520464555,2.2800891768739177e-5,-6.825225963723115e-8,0.004353439178980252,2.2608536352457108e-5,-6.783284315230564e-8,0.004353614398994551,2.235592337679717e-5,-6.728093363331758e-8,0.004353911091254241,2.210179351953395e-5,-6.672420060605343e-8,0.004354319093981324,2.1909457854221882e-5,-6.63007028625976e-8,0.00435480070535855,2.183105798865961e-5,-6.612459579585697e-8,0.004355297564439238,2.1892701313526038e-5,-6.62535720399581e-8,0.004355744274261172,2.208486894760374e-5,-6.666768156040473e-8,0.004356085988373349,2.2362140804206785e-5,-6.72684784304803e-8,0.004356294790867451,2.265429960519879e-5,-6.790310472655907e-8,0.004356378446729466,2.2886711643210605e-5,-6.840875002736263e-8,0.004356377083974059,2.300287959510685e-5,-6.866191818023424e-8,0.004356348835649946,2.2979906602058662e-5,-6.861222380829316e-8,0.004356351070803769,2.283100298627068e-5,-6.828791603511024e-8,0.0043564253033482265,2.2596103437619816e-5,-6.777550831067574e-8,0.004356590438485916,2.232692894571213e-5,-6.71873398673657e-8,0.004356843977258533,2.207328036231141e-5,-6.663181407464889e-8,0.00435716773989199,2.1874255200302816e-5,-6.619429149558181e-8,0.0043575345277402245,2.17545974438534e-5,-6.592907552880914e-8,0.00435791364940389,2.1724473774609717e-5,-6.585880479157714e-8,0.004358274835255978,2.1780736857639492e-5,-6.597708420358102e-8,0.00435859102021611,2.190842428008057e-5,-6.625166759485598e-8,0.004358840788105637,2.2082124326210005e-5,-6.66273960160543e-8,0.004359011140673432,2.2267590761594875e-5,-6.702970759557112e-8,0.004359100770459174,2.2424521416654e-5,-6.737069654700543e-8,0.0043591232349589806,2.2511572931629804e-5,-6.756005138998922e-8,0.004359108521787183,2.2494178942973776e-5,-6.752211476792377e-8,0.004359100878157092,2.235434252364082e-5,-6.721725820444066e-8,0.004359151203790916,2.209952344550378e-5,-6.666129656422452e-8,0.004359304391648528,2.1766202486049173e-5,-6.59333189575158e-8,0.004359585156155929,2.141440124607869e-5,-6.516384241477555e-8,0.004359988028082468,2.1112991988769316e-5,-6.450292098818624e-8,0.004360476321122433,2.0920264451710092e-5,-6.407788779132097e-8,0.004360991139310915,2.0866833130000284e-5,-6.395608344448584e-8,0.0043614672632936585,2.094691373648151e-5,-6.412567446990825e-8,0.00436185047259702,2.1120373710730043e-5,-6.449986452881506e-8,0.004362111124733698,2.1324180464702604e-5,-6.4941620161576e-8,0.004362250570187353,2.1489435250093217e-5,-6.53007002748905e-8,0.004362299121386524,2.155913544719217e-5,-6.54524253343876e-8,0.004362306490900004,2.1501808725852057e-5,-6.532755100187959e-8,0.004362327761153033,2.131732881203479e-5,-6.492513324816661e-8,0.0043624093738372635,2.103373524474476e-5,-6.430576510522246e-8,0.0043625793884881775,2.0697054625575986e-5,-6.356950528095524e-8,0.004362844207020741,2.0358383999011046e-5,-6.282776240788013e-8,0.004363191208127825,2.006260880711081e-5,-6.217865603614356e-8,0.004363594835992581,1.984133466131531e-5,-6.169150041406605e-8,0.004364023394089613,1.971031936272081e-5,-6.140108548051583e-8,0.004364444713893855,1.9670147056786693e-5,-6.130906149278202e-8,0.004364830116595006,1.9708457183723877e-5,-6.13887614197793e-8,0.004365157008842049,1.9802456355045293e-5,-6.159066614971228e-8,0.0043654108447642925,1.9921222630134676e-5,-6.184741174273681e-8,0.004365587133171469,2.002805687530203e-5,-6.207888714985402e-8,0.004365693773882021,2.0083687956816993e-5,-6.219920719112305e-8,0.004365753261816067,2.0051413982690625e-5,-6.21279557727769e-8,0.004365803266929434,1.990492580654581e-5,-6.18073352015643e-8,0.004365893211815998,1.963812772857377e-5,-6.122369196067238e-8,0.00436607468587738,1.9273718051626967e-5,-6.042630561545666e-8,0.004366386030933518,1.8864892817626648e-5,-5.953112197574838e-8,0.004366836077417156,1.8485075349996475e-5,-5.869834534688314e-8,0.004367395636384049,1.8206114824510273e-5,-5.808489610024617e-8,0.0043680034475078715,1.807342018736887e-5,-5.779018629925774e-8,0.004368585429190273,1.8090183319349116e-5,-5.7821670584522674e-8,0.004369078205338029,1.8218018646954217e-5,-5.8096130493753056e-8,0.004369446485515545,1.8391914972714372e-5,-5.8472137246485704e-8,0.00436968898915749,1.854111673960781e-5,-5.879546235081837e-8,0.004369833869388169,1.8607666783746486e-5,-5.893945230499611e-8,0.004369927829734204,1.8558083076927652e-5,-5.883053071818364e-8,0.0043700232722843815,1.8387261432697222e-5,-5.845686139765173e-8,0.004370166642890487,1.8115771799109823e-5,-5.78626810222891e-8,0.004370389908592708,1.778250420799372e-5,-5.7132479090411445e-8,0.004370706190176643,1.7434832951346612e-5,-5.63696521066772e-8,0.004371109765100231,1.7118586178875612e-5,-5.5674571774707e-8,0.00437157972214823,1.6869939219546253e-5,-5.5126719806860253e-8,0.004372085769119738,1.671054970042191e-5,-5.477386649502183e-8,0.004372594495239376,1.6646123535862942e-5,-5.462880762363998e-8,0.004373074761423813,1.6667710334556395e-5,-5.467217352867607e-8,0.004373501568673639,1.675457816700928e-5,-5.485876153998176e-8,0.004373858478157565,1.687756120804058e-5,-5.5124896858937915e-8,0.004374139111879542,1.7002287531392034e-5,-5.5395470307775045e-8,0.0043743482958161295,1.7092346989803696e-5,-5.559079621301812e-8,0.004374503133939031,1.7112951246571128e-5,-5.5634563689226273e-8,0.004374633720251839,1.7035925052044434e-5,-5.546478116239983e-8,0.00437478225005965,1.6846665517467146e-5,-5.504911354774486e-8,0.0043749983953135655,1.6552475631203626e-5,-5.440324873724291e-8,0.004375328872488854,1.618927976830758e-5,-5.360566541222857e-8,0.0043758013925030695,1.5821068508656155e-5,-5.2796405543630164e-8,0.004376408267399701,1.552634116046679e-5,-5.214735730105396e-8,0.004377099954417064,1.5371900421595234E-05,-5.180488666204743e-8,0.004377797060914417,1.5385036173928835e-5,-5.182897065432117e-8,0.004378418187720637,1.5540645773084347e-5,-5.2165003016123936e-8,0.004378909008357041,1.5771884933839974e-5,-5.266706122898232e-8,0.0043792572209281865,1.599719360222389e-5,-5.315697219265368e-8,0.004379488986244382,1.6147744983164754e-5,-5.34842622002332e-8,0.004379653735493992,1.6183696763184442e-5,-5.356159676976171e-8,0.004379807029548539,1.6097454183882332e-5,-5.337188796430934e-8,0.004379997377027852,1.5908215829117925e-5,-5.2956489809098333e-8,0.004380258535441446,1.5652790384862128e-5,-5.239536296392365e-8,0.004380606499311609,1.5376010872551103e-5,-5.178635373794103e-8,0.00438103981704955,1.5122274389860483e-5,-5.122678455064238e-8,0.0043815422062817,1.4928716380928159e-5,-5.079841505994918e-8,0.0043820867949589636,1.4820349015323273e-5,-5.055656434916802e-8,0.004382641303252554,1.4807475268811135e-5,-5.052422039228374e-8,0.004383173380248949,1.4885420145896664e-5,-5.0691348370280644e-8,0.004383655356796422,1.5036302184118528e-5,-5.1018815625741976e-8,0.004384067847834171,1.5232293344004387e-5,-5.144564428159387e-8,0.0043844019828522774,1.543961315370945e-5,-5.1897827868784535e-8,0.004384660446837142,1.5622634657119858e-5,-5.229728990740927e-8,0.0043848576711448175,1.5747902572815793e-5,-5.257058563354719e-8,0.0043850193932531934,1.5788236658408824e-5,-5.2657827564574646e-8,0.0043851814481957125,1.572732220635757e-5,-5.252279948825495e-8,0.004385386970873339,1.5565072314536914e-5,-5.216487783723147e-8,0.004385680534183977,1.532309143986357e-5,-5.163119876709418e-8,0.004386097920633204,1.5047759637200314e-5,-5.102352030618483e-8,0.004386652021040343,1.4806503360449029e-5,-5.0490006751438264e-8,0.004387319473877426,1.4672634763753373e-5,-5.019184730718326e-8,0.004388037475553013,1.4699180145777687e-5,-5.024571194944651e-8,0.004388719358254085,1.4892581471994294e-5,-5.066597535539156e-8,0.004389286252243407,1.5203884862031068e-5,-5.1345376667470573e-8,0.00438969797548042,1.5546829342512437e-5,-5.209476228885879e-8,0.004389964650890107,1.583302129175502e-5,-5.272030351592314e-8,0.004390134913807563,1.6002864742013964e-5,-5.309129370757188e-8,0.004390272271287374,1.6037840528340582e-5,-5.3166940446750974e-8,0.004390434097429688,1.595511112825302e-5,-5.298445643173724e-8,0.004390660057645578,1.579392903294117e-5,-5.262936255347156e-8,0.004390969109008046,1.5602006407262715e-5,-5.220585215637865e-8,0.0043913615412258964,1.542537772061049e-5,-5.1814795817357e-8,0.004391823037389939,1.5302039558842245e-5,-5.153985439117854e-8,0.004392329121287766,1.5258332624760626e-5,-5.143939304550827e-8,0.004392849551497714,1.5307073316800725e-5,-5.1542117695367437e-8,0.004393352682154456,1.54470359086033e-5,-5.18457185429351e-8,0.00439380971458905,1.566375392426153e-5,-5.23185628529972e-8,0.004394198597306122,1.5931683059558592e-5,-5.2904527284831545e-8,0.004394507186734965,1.621768345692803e-5,-5.353077333402549e-8,0.004394735227108045,1.6485492657756142e-5,-5.411762647781867e-8,0.004394894902223298,1.6700626893534787e-5,-5.45892803278868e-8,0.004395009971871057,1.6835218512750443e-5,-5.48843068576531e-8,0.004395113603586854,1.687246367982367e-5,-5.496537371682426e-8,0.004395244949411491,1.6810475067017456e-5,-5.482779901120044e-8,0.0043954442427448425,1.6665347947444088e-5,-5.450649984627839e-8,0.004395745883391455,1.6472740140844224e-5,-5.407968384406357e-8,0.0043961693024316155,1.6286178870649144e-5,-5.366522773031633e-8,0.0043967088244268844,1.616943709032258e-5,-5.340384348847231e-8,0.00439732633496883,1.6180870696195093e-5,-5.342443633742838e-8,0.004397953375547895,1.635135413255929e-5,-5.379535836427356e-8,0.0043985084347460835,1.6664842817597192e-5,-5.448152340898046e-8,0.004398926535594353,1.7055762545965226e-5,-5.533868602056141e-8,0.004399186184162931,1.7430878674003617e-5,-5.616169045398201e-8,0.004399316502889809,1.7706012639717648e-5,-5.676535310620799e-8,0.004399380619391071,1.7836085828877507e-5,-5.7050496127308454e-8,0.0043994479138703985,1.782330059445976e-5,-5.70217692683362e-8,0.004399571685962228,1.7705329205192075e-5,-5.676158687960766e-8,0.004399779842592975,1.7535919356775476e-5,-5.6387604272475e-8,0.004400076250313624,1.736849329520766e-5,-5.601691660456328e-8,0.0044004470021380936,1.7246443601718784e-5,-5.574493496590799e-8,0.0044008672958289925,1.7199144884804796e-5,-5.5636639903815625e-8,0.004401307044890794,1.724130099925887e-5,-5.572497188992369e-8,0.00440173510197177,1.737368836590099e-5,-5.6012208288017816e-8,0.004402122691783258,1.7584415933249197e-5,-5.6472543144591716e-8,0.004402446537357039,1.785064042267672e-5,-5.705582151470724e-8,0.004402691816659508,1.8141037663291022e-5,-5.7693066337959046e-8,0.004402854735432183,1.841939830699297e-5,-5.8304506128850546e-8,0.0044029441466111215,1.86494319283523e-5,-5.88101859483882e-8,0.004402981550175842,1.8800342453498846e-5,-5.914217622460607e-8,0.004402999067764595,1.8852377164001726e-5,-5.925669183407802e-8,0.004403035359985339,1.8801411674438728e-5,-5.914416507577008e-8,0.0044031298139103415,1.866162281600663e-5,-5.883524829467042e-8,0.004403315601073636,1.8465518632622366e-5,-5.8401102927705954e-8,0.004403612303337892,1.8260820798133723e-5,-5.794674902359043e-8,0.00440401903455858,1.810360352195355e-5,-5.7596036212635465e-8,0.004404509752154576,1.8047165882872968e-5,-5.746702598309528e-8,0.004405033516436402,1.812725114889848e-5,-5.763917890945277e-8,0.004405522902615492,1.834684093381671e-5,-5.8119578846809494e-8,0.0044059119457882465,1.866727755270758e-5,-5.8823215461512124e-8,0.004406159440016461,1.9013925428711905e-5,-5.958550245976834e-8,0.004406266628248096,1.9299284542711648e-5,-6.021339687547807e-8,0.004406277737108989,1.945484969608813e-5,-6.055575571644973e-8,0.004406261496645234,1.9454837423611572e-5,-6.055559500071444e-8,0.004406284449775708,1.9319660877416878e-5,-6.025761062267969e-8,0.00440639062788073,1.910099176720538e-5,-5.977521664665257e-8,0.004406594829344743,1.886022453602534e-5,-5.924323335780905e-8,0.004406887078573716,1.8651292088100253e-5,-5.878025539400848e-8,0.004407241761031286,1.8511880264080445e-5,-5.846944211875105e-8,0.0044076263524043535,1.8461551898719056e-5,-5.835435137480919e-8,0.0044080076754981524,1.8503530268696664e-5,-5.8442683603324096e-8,0.00440835579500999,1.862755742929406e-5,-5.871235534719573e-8,0.004408646532290339,1.881262321625275e-5,-5.911736690258402e-8,0.004408863496128932,1.9029458207028737e-5,-5.959328119831901e-8,0.004409000066919958,1.924325840921723e-5,-6.006330961355848e-8,0.004409061253908856,1.9417302526743488e-5,-6.044637646552229e-8,0.004409064800155661,1.9517894893698925e-5,-6.066804549783033e-8,0.00440904055014602,1.9520391771617026e-5,-6.067376479634501e-8,0.004409027212339246,1.9415263477098266e-5,-6.044217579738232e-8,0.004409066265143777,1.9212538136596372e-5,-5.99949182565613e-8,0.004409193715141178,1.8942795303234154e-5,-5.939893403493536e-8,0.0044094314113227616,1.865344497733075e-5,-5.875845298339941e-8,0.004409780143242562,1.8400286623901103e-5,-5.8196555817766816e-8,0.004410216569539457,1.8235638567657733e-5,-5.782905216370578e-8,0.004410695422717016,1.8195238170461436e-5,-5.773546974239403e-8,0.004411157650944433,1.8286844900537162e-5,-5.7933659296607315e-8,0.004411543971861461,1.8484117436023682e-5,-5.836601541020027e-8,0.004411811395675748,1.8729348317482946e-5,-5.890535923731313e-8,0.004411947793992804,1.89470109132833e-5,-5.938486561457419e-8,0.0044119780011767805,1.906592214848751e-5,-5.964712702981143e-8,0.004411956808968038,1.9042277832868503e-5,-5.9595124411453214e-8,0.004411950401682743,1.8873156757466962e-5,-5.92220569871064e-8,0.004412014554899769,1.8594182067809693e-5,-5.8606156280090905e-8,0.004412179536671111,1.8263848967560027e-5,-5.7876134214088945e-8,0.0044124466739733125,1.7943581917926447e-5,-5.716729690606632e-8,0.004412794575472388,1.7682304086576782e-5,-5.6587619247160394e-8,0.004413189368832398,1.7509204078874898e-5,-5.6201810628385806e-8,0.004413594086340192,1.743345530047553e-5,-5.603059765879325e-8,0.004413975065031127,1.7447630029714103e-5,-5.605809066694707e-8,0.004414305472350097,1.7532025516451413e-5,-5.6241179923360305e-8,0.004414567041261399,1.7658503065552773e-5,-5.651793566777759e-8,0.004414751115520992,1.779363418722658e-5,-5.681456751260478e-8,0.004414859663338807,1.7901658854669397e-5,-5.7052019121006296e-8,0.0044149062993784445,1.794805755027884e-5,-5.7153915757579485e-8,0.004414916691840586,1.7904389601374315e-5,-5.7057269944060924e-8,0.004414927200000021,1.77543682378513e-5,-5.672588204884182e-8,0.0044149804922138025,1.750003314877578e-5,-5.616395099473292e-8,0.00441511759337999,1.7165714561544804e-5,-5.542484487782527e-8,0.004415367428776234,1.679696126662312e-5,-5.460881274387819e-8,0.0044157368984729635,1.64525946058128e-5,-5.3845568238601775e-8,0.0044162055472075626,1.6190716787134946e-5,-5.3263516737987664e-8,0.004416727899593218,1.6052589799655223e-5,-5.295419024084609e-8,0.0044172437234548155,1.6049869174066154e-5,-5.294395078197559e-8,0.004417693384688244,1.615974344870538e-5,-5.3183040430361466e-8,0.004418033663467096,1.6329784446188893e-5,-5.355607037861073e-8,0.004418249405605174,1.6491255741248804e-5,-5.391129234465096e-8,0.004418357633513688,1.657727659886784e-5,-5.41007360539825e-8,0.004418402673640693,1.6540796109409133e-5,-5.4020027084270734e-8,0.004418443391223361,1.636694373579072e-5,-5.3635805163711675e-8,0.004418536429934856,1.6075637077552477e-5,-5.2991599870440183e-8,0.004418721153570862,1.5713686813819345e-5,-5.219048380509432e-8,0.004419011327149181,1.5339827180016276e-5,-5.136208116526004e-8,0.004419395436149071,1.5008693642004086e-5,-5.062720950800594e-8,0.004419843763828487,1.475917925423041e-5,-5.0072119853676645e-8,0.004420318190940414,1.4609543041482485e-5,-4.973758066953034e-8,0.004420781006999231,1.455837640529271e-5,-4.9620879180614367e-8,0.004421200875707693,1.4588855571197866e-5,-4.9685116993361385e-8,0.004421555921818236,1.4673832615992423e-5,-4.9870423302738325e-8,0.004421834861138942,1.4780363310829798e-5,-5.0103979045361175e-8,0.004422037237442245,1.4873349197413976e-5,-5.030810679146616e-8,0.0044221735003303324,1.4918708687383351e-5,-5.0407314602882546e-8,0.004422265076734925,1.488684665139391e-5,-5.0335987892971714e-8,0.004422343894139628,1.4757129675741033e-5,-5.004829930915722e-8,0.004422450182798508,1.4523472760162985e-5,-4.953057889944237e-8,0.004422627129488367,1.4199935359410018e-5,-4.8813710361903955e-8,0.004422911606825086,1.382367526534905e-5,-4.7979688149729203e-8,0.004423322237828266,1.3451651182103001e-5,-4.715436315562399e-8,0.00442384901396835,1.3148639319550321e-5,-4.6480995689175956e-8,0.004424450465700748,1.2968277830758903e-5,-4.6078384882655163e-8,0.004425062411682258,1.2934115116972632e-5,-4.599895383332543e-8,0.004425616532075163,1.3029713949506274e-5,-4.620678002907812e-8,0.00442606125460747,1.3203026493029452e-5,-4.658713648167632e-8,0.004426376247492937,1.3382921571667098e-5,-4.698291956016331e-8,0.0044265757656095205,1.3500398155340669e-5,-4.7241493967355725e-8,0.0044267015746751685,1.3506656906523134e-5,-4.7254652877251136e-8,0.004426809564985756,1.3383317501207797e-5,-4.698127400556689e-8,0.004426954798878417,1.3143641854113754e-5,-4.645015416988944e-8,0.004427178862902963,1.282611238434304e-5,-4.574598280569655e-8,0.004427502065621027,1.248309395401886e-5,-4.498442593684408e-8,0.004427921557662274,1.2167909243147152e-5,-4.4283605507852286e-8,0.0044284149290582065,1.1923590626574095e-5,-4.373914849628887e-8,0.004428947492553156,1.1775726251332769e-5,-4.340818287378602e-8,0.0044294807498054785,1.1730276245194692e-5,-4.330431159108967e-8,0.00442997978210213,1.1775616157272551e-5,-4.3402016286169154e-8,0.004430418284203898,1.1887104697408922e-5,-4.3646763807176316e-8,0.004430781078167451,1.2032394059880673e-5,-4.396683813881441e-8,0.004431064723837474,1.2176260557030221e-5,-4.428411771350637e-8,0.0044312770935376515,1.228454666456542e-5,-4.452283720664672e-8,0.004431436570445023,1.2327479539015128e-5,-4.4616919616307796e-8,0.004431571073044788,1.2282959424570596e-5,-4.451723465126646e-8,0.004431716519505703,1.2140402085948442e-5,-4.420012359781004e-8,0.004431913708413011,1.190525144918933e-5,-4.367745401611296e-8,0.004432202271488714,1.1603137979985335e-5,-4.3005902031456583e-8,0.00443261096494701,1.128105558813796e-5,-4.228959825337529e-8,0.004433145658560025,1.1001798769206879e-5,-4.166779716993523e-8,0.004433779801368679,1.082900401217352e-5,-4.12817006687968e-8,0.004434454646972603,1.0805123199301839e-5,-4.122560821070611e-8,0.004435094025680583,1.093179184586048e-5,-4.1503363883340675e-8,0.004435629850168535,1.1164738583475233e-5,-4.20170322203088e-8,0.004436026030782993,1.1428372850655338e-5,-4.259921088755147e-8,0.004436288544140871,1.1642827137621819e-5,-4.30729574358741e-8,0.00443645852333741,1.1749408550127374e-5,-4.33081550485094e-8,0.004436594888881352,1.1724150687214207e-5,-4.3251474414460785e-8,0.004436755874140951,1.1577909422798677e-5,-4.292656969019233e-8,0.00443698556045168,1.134743368171151e-5,-4.241440383930332e-8,0.004437307141160754,1.1082923092713402e-5,-4.1825890935872864e-8,0.004437722000943753,1.0835997728485317e-5,-4.1275427325207346e-8,0.004438212894918262,1.0650076781292515e-5,-4.0859608303239765e-8,0.004438749638289341,1.055393982394728e-5,-4.0642808497137944e-8,0.004439295959152751,1.0558721353467244e-5,-4.065026502851615e-8,0.004439816265453436,1.065819146280534e-5,-4.0868482817672476e-8,0.004440281272009354,1.0831676496297347e-5,-4.1251640135869176e-8,0.004440671831938921,1.1048643543678123e-5,-4.173183848769729e-8,0.004440980777783971,1.1273898329578631e-5,-4.2230779881881195e-8,0.00444121303269828,1.1472474912977608e-5,-4.267071508775094e-8,0.004441384565236301,1.1613723431763203e-5,-4.298351149337096e-8,0.004441520716355006,1.1674659260946504e-5,-4.311801611635916e-8,0.004441654103827259,1.1642927188475744e-5,-4.304658575328331e-8,0.004441821893723169,1.151970903380154e-5,-4.277157863485106e-8,0.004442061733825511,1.1322569755221519e-5,-4.2331789891194374e-8,0.004442405367359218,1.1087324544257746e-5,-4.1806717475930976e-8,0.004442869542993695,1.0866655575333044e-5,-4.1313536007648224e-8,0.004443445735403163,1.0722317764963522e-5,-4.0989728756109695e-8,0.004444093284368835,1.0708865030730829e-5,-4.0956817567218523e-8,0.0044447430760904995,1.085167507562386e-5,-4.127142029165161e-8,0.004445316435740319,1.1129602124610225e-5,-4.1886642259513546e-8,0.004445754128237322,1.1475626607160576e-5,-4.2653546623268654e-8,0.004446040101964218,1.180003031512926e-5,-4.3372752883896014e-8,0.004446205530673317,1.2024629257590159e-5,-4.387057130415036e-8,0.004446312162708855,1.2108771182796773e-5,-4.405669777283164e-8,0.004446427135514646,1.2055740045207085e-5,-4.3938284164400834e-8,0.004446602819718554,1.1902415131929761e-5,-4.3596893302424874e-8,0.004446867462772274,1.1702280581489064e-5,-4.3150880569211476e-8,0.00444722502652385,1.1510013581017392e-5,-4.272141346034424e-8,0.004447660112373166,1.1371009258943887e-5,-4.240940734950581e-8,0.004448144592351008,1.1315808141326373e-5,-4.228315760058449e-8,0.00444864413440166,1.1358103698667109e-5,-4.237371725707588e-8,0.004449124029971733,1.1495141539025288e-5,-4.2675501313854964e-8,0.004449554153193063,1.1709878328814522e-5,-4.315087896932633e-8,0.004449912835517964,1.1974488478859295e-5,-4.373794004970734e-8,0.004450189440411732,1.2254789064169708e-5,-4.4360459045246395e-8,0.004450385488268202,1.2515133469631053e-5,-4.493894052335691e-8,0.004450514285615522,1.2723218588808307e-5,-4.540139076746559e-8,0.004450599251519201,1.285424788009527e-5,-4.569253626675187e-8,0.0044506713012207,1.2894201090678989e-5,-4.578100104332719e-8,0.004450765540459394,1.2842246866083047e-5,-4.5664633203186566e-8,0.004450917284953617,1.2712332911019386e-5,-4.537412450667041e-8,0.004451157155322636,1.2533780867555994e-5,-4.497450577626395e-8,0.004451504873237557,1.2350163721766086e-5,-4.45628020467471e-8,0.004451961919675364,1.2214876307893983e-5,-4.425820466465791e-8,0.004452504731610211,1.218142064773772e-5,-4.418032467973815e-8,0.004453082319776596,1.2287689702351628e-5,-4.441399178406356e-8,0.0044536237576869794,1.2537566429059222e-5,-4.496809227303929e-8,0.004454058600129623,1.2889221277017663e-5,-4.5749448011482285e-8,0.004454344557171657,1.3261764007055407e-5,-4.657774011379726e-8,0.004454487209756872,1.356321056345686e-5,-4.724799032523849e-8,0.004454537817108847,1.3726577222573843e-5,-4.761103975360433e-8,0.004454569953530231,1.3733042945322505e-5,-4.762500825386583e-8,0.0044546503114754445,1.3611019367534598e-5,-4.7353008192290663e-8,0.004454819540444871,1.3417353161617989e-5,-4.692121901981639e-8,0.004455088006355839,1.3214963151419203e-5,-4.6469264458608674e-8,0.0044554417320164475,1.3056798315819873e-5,-4.6114776888332594e-8,0.00445585181070049,1.2978205618864193e-5,-4.5936593073707565e-8,0.004456283063848414,1.2995515360089378e-5,-4.597157388372203e-8,0.004456700455403941,1.3107894323916252e-5,-4.621850553884396e-8,0.0044570734879752745,1.3300386432833933e-5,-4.664459015113946e-8,0.004457379329847273,1.354733210799182e-5,-4.719288460843296e-8,0.004457605083715164,1.381611653844664e-5,-4.779065425340231e-8,0.004457749208594007,1.4071308351959136e-5,-4.835873390854053e-8,0.004457821935847933,1.4279162754995978e-5,-4.882171487818592e-8,0.004457844413589892,1.4412244841220207e-5,-4.9118304592704225e-8,0.004457846392811299,1.4453606997495086e-5,-4.9210578647334747e-8,0.004457862579541846,1.4399892313824196e-5,-4.909080557286075e-8,0.004457928006711199,1.4262935015950712e-5,-4.878499921089497e-8,0.0044580728160356475,1.406956442522464e-5,-4.835259699152093e-8,0.004458316817654614,1.385936585539174e-5,-4.7881662798881046e-8,0.004458664213340158,1.3680097018682372e-5,-4.7478820736234354e-8,0.004459099197509258,1.3580228791160693e-5,-4.725262339870064e-8,0.004459584026033035,1.3598195514992196e-5,-4.728940689142557e-8,0.004460062199621417,1.3749252092781208e-5,-4.762371409222547e-8,0.0044604695823886415,1.4013664681784223e-5,-4.8211740969940616e-8,0.004460753777901616,1.4333327715772738e-5,-4.8923755358978294e-8,0.004460895857321044,1.4624178301927179e-5,-4.957195585635171e-8,0.00446092230560696,1.4804495669279922e-5,-4.997383459421404e-8,0.004460896977374359,1.4826692738442146e-5,-5.002318300311229e-8,0.004460895349738283,1.4694329378561483e-5,-4.972790533985917e-8,0.004460976016780967,1.4455254987504552e-5,-4.919452719357374e-8,0.0044611646111219405,1.4178234027314433e-5,-4.857603680579923e-8,0.004461454185855782,1.3928460573193122e-5,-4.801746458935442e-8,0.0044618157539403095,1.3752419469232318e-5,-4.7622364855750946e-8,0.0044622107137216325,1.3673354803297678e-5,-4.7442825841443116e-8,0.00446260043945746,1.369354382664959e-5,-4.7484455725649896e-8,0.004462952022908023,1.3799219006272274e-5,-4.7717131725367e-8,0.004463241121058138,1.3965553328710682e-5,-4.8085882901992276e-8,0.004463453324834858,1.4160873361938923e-5,-4.852016867099879e-8,0.0044635849469705675,1.435036495631774e-5,-4.894218569650978e-8,0.004463643417515637,1.4499782775240661e-5,-4.9275285274911396e-8,0.004463647051016639,1.4579493829923948e-5,-4.945312739285398e-8,0.004463623708041326,1.456882906403381e-5,-4.9429429021382195e-8,0.004463607842406662,1.4460176219189537e-5,-4.918704040982184e-8,0.0044636357910401445,1.4261818394534823e-5,-4.874420470914212e-8,0.0044637397511841466,1.3998495202235436e-5,-4.815581116683994e-8,0.004463941391235043,1.3708962880863763e-5,-4.7508063679370155e-8,0.004464246337336341,1.3440376771153735e-5,-4.6906117413019404e-8,0.0044646407956383674,1.3240001878015215e-5,-4.645569825673976e-8,0.004465091381001237,1.3145269848031426e-5,-4.624087973870854e-8,0.004465549066273715,1.3173598219246631e-5,-4.6301165592733985e-8,0.004465957939694511,1.3314136875100861e-5,-4.661280004540448e-8,0.004466268576327031,1.352468763662037e-5,-4.708169932958065e-8,0.00446645372428031,1.3737541360524216e-5,-4.7556478385599956e-8,0.004466520878302181,1.3876287526487771e-5,-4.786615773013864e-8,0.004466514326078782,1.3880445157377903e-5,-4.7875375783545784e-8,0.004466502142877897,1.3727918531229615e-5,-4.753461483998569e-8,0.004466552086217613,1.344312403337607e-5,-4.689826847344771e-8,0.0044667082651349286,1.3085819784721498e-5,-4.609959388131855e-8,0.004466980019477852,1.2727550786706039e-5,-4.529813388914731e-8,0.004467345755137234,1.2428783962732317e-5,-4.4628795806165725e-8,0.004467765779943532,1.2225982089979055e-5,-4.4173112494455235e-8,0.004468196005854024,1.2129693991677846e-5,-4.395498255353792e-8,0.004468597642816224,1.2129490543834448e-5,-4.395156917433471e-8,0.00446894206410521,1.2201011417455164e-5,-4.410885737385981e-8,0.00446921225500677,1.2312244640502023e-5,-4.43555394468987e-8,0.004469402654481283,1.2428213420078234e-5,-4.46134499502362e-8,0.0044695185950805304,1.2514503621319245e-5,-4.48055188286882e-8,0.004469575723049835,1.2540430548831996e-5,-4.486296672886854e-8,0.004469599148903078,1.2482479511679878e-5,-4.473308223481721e-8,0.004469621667375493,1.2328204497541601e-5,-4.4387945702341005e-8,0.004469680258111596,1.2080054076724377e-5,-4.38329250854799e-8,0.004469810440791369,1.1757832861630705e-5,-4.3112118745779403e-8,0.004470038938882233,1.139812552580378e-5,-4.2307071423256166e-8,0.004470376233823944,1.1049363336854192e-5,-4.1525836645826615e-8,0.004470811437085582,1.0762470256707936e-5,-4.088220096014905e-8,0.004471311827050345,1.057885493987764e-5,-4.046892914926202e-8,0.004471828174441778,1.0518954079644614e-5,-4.0332120643179816e-8,0.00447230517930829,1.057478045414597e-5,-4.045439322306815e-8,0.004472694773246646,1.0709058764895794e-5,-4.075274930775221e-8,0.004472969079340785,1.0862056909000877e-5,-4.1093716830421817e-8,0.004473129460972397,1.096542999972803e-5,-4.1324306385980915e-8,0.004473208349376754,1.0960344314636686e-5,-4.131265117419883e-8,0.004473261801176122,1.0814980769902441e-5,-4.098727821687716e-8,0.004473353611162491,1.0535090952922028e-5,-4.036078520359405e-8,0.004473535890618031,1.0162456216834655e-5,-3.952640941680167e-8,0.004473833792415958,9.760956408521302e-6,-3.862688960352953e-8,0.004474240602953426,9.396173414810474e-6,-3.7808898628385294e-8,0.004474724001444978,9.11738920258227e-6,-3.718281945206038e-8,0.004475238859403357,8.948272943174389e-6,-3.6801887768029544e-8,0.0044757402350894555,8.887048525787006e-6,-3.6662466891908055e-8,0.004476192324498001,8.912754115928486e-6,-3.6717928510436886e-8,0.004476572466872101,8.99328366656885e-6,-3.689655835364853e-8,0.004476871540255352,9.092325994737656e-6,-3.711706737226179e-8,0.0044770926280973825,9.174281950373387e-6,-3.7299643889725875e-8,0.004477249315061717,9.207572991317009e-6,-3.737343689531388e-8,0.0044773641629216165,9.167232096321902e-6,-3.7282422144220036e-8,0.004477467204936426,9.037578898248145e-6,-3.699141801660316e-8,0.004477593756950581,8.815347168589488e-6,-3.649307148880597e-8,0.00447778058690321,8.512872182307729e-6,-3.5814955514758316e-8,0.004478059745215661,8.159958224253264e-6,-3.502372164908136e-8,0.004478450365817333,7.802247766408065e-6,-3.4221459193305144e-8,0.004478950468601355,7.494062159631074e-6,-3.3529720730520204e-8,0.004479532465119492,7.285542176108168e-6,-3.3060801908352687e-8,0.004480146136971822,7.2072554470058906e-6,-3.288331103792207e-8,0.004480730224220354,7.258279349781589e-6,-3.2995444030558204e-8,0.004481229449583244,7.4035582392112385e-6,-3.331896233314279e-8,0.004481610689525678,7.582522644393277e-6,-3.371838931973838e-8,0.004481872292063173,7.725939025928392e-6,-3.403868938062639e-8,0.00448204374844317,7.774910697168804e-6,-3.414782399457034e-8,0.004482176671298304,7.696059172490782e-6,-3.397078855811176e-8,0.004482330435030019,7.4890430319435334e-6,-3.350650916046562e-8,0.004482556672721601,7.1850969128227755e-6,-3.282465246101726e-8,0.0044828866992572885,6.837522641746615e-6,-3.2044432737991846e-8,0.0044833250857910616,6.507056498926579e-6,-3.130192899832561e-8,0.004483850858172803,6.24650987263678e-6,-3.071570165203201e-8,0.004484425307959444,6.08924159396039e-6,-3.036088489326645e-8,0.004485003194359061,6.044356934728174e-6,-3.025827024763154e-8,0.004485543401858622,6.098712850233066e-6,-3.0378643182073185e-8,0.004486016219005494,6.2234233182378906e-6,-3.0657287324259747e-8,0.0044864064166258944,6.3817652026060565e-6,-3.1011736157922704e-8,0.004486712974298434,6.536100940869929e-6,-3.135738930785751e-8,0.004486946987567679,6.652794334948827e-6,-3.16186317416998e-8,0.0044871290855611435,6.705289352964788e-6,-3.173578594963119e-8,0.004487287039748156,6.676139966458214e-6,-3.1669660514816774e-8,0.004487453549021817,6.558809591876483e-6,-3.1405558068106883e-8,0.004487663626245549,6.359694715241642e-6,-3.095779699979666e-8,0.004487950667436226,6.100153211559874e-6,-3.0374268126452117e-8,0.004488340386805238,5.817319379742182e-6,-2.973828357636435e-8,0.004488842722498734,5.561454687988725e-6,-2.9162651978515495e-8,0.004489443758855133,5.387386078451001e-6,-2.87704753805209e-8,0.00449010207955269,5.339481305214199e-6,-2.866142686948672e-8,0.004490754688042762,5.434077367358827e-6,-2.887228736862537e-8,0.004491334130057058,5.647948607453723e-6,-2.9351019643881805e-8,0.004491791249757919,5.921297869142392e-6,-2.99634549511861e-8,0.004492112629279643,6.17644552752166e-6,-3.0535254824106297e-8,0.00449232388491216,6.343735825162951e-6,-3.0910079891972617e-8,0.004492478423788278,6.3824291151391336e-6,-3.0996454297399085e-8,0.0044926387333911215,6.288994539844147e-6,-3.078631234061721e-8,0.004492858636300761,6.092913739653983e-6,-3.0345562453837724e-8,0.004493171588724417,5.844789364045817e-6,-2.9787493231587065e-8,0.00449358619792652,5.60206433789655e-6,-2.9240893731404095e-8,0.004494087869175982,5.4161245069199806e-6,-2.882123891207294e-8,0.004494644740160421,5.322864554289205e-6,-2.8609503663609465e-8,0.004495216006784931,5.337654872160231e-6,-2.864069875751362e-8,0.004495760772876803,5.45491845871229e-6,-2.8902689986086383e-8,0.00449624562807949,5.6517357057193595e-6,-2.9344127629553888e-8,0.004496649625176552,5.894052353282223e-6,-2.988837234120634e-8,0.004496966197981279,6.14368973988668e-6,-3.044936038422412e-8,0.004497202413708704,6.364618307242032e-6,-3.094585642668188e-8,0.004497376491928267,6.527582409948589e-6,-3.131194447327545e-8,0.004497514640436966,6.6129278100694005e-6,-3.150337999113445e-8,0.004497647925917268,6.612117621637158e-6,-3.150093270015358e-8,0.004497809336845073,6.528610724443239e-6,-3.131231070153016e-8,0.004498030707089667,6.3785361876222695e-6,-3.09736925859592e-8,0.004498338829174895,6.191080665260008e-6,-3.055066942661581e-8,0.004498750077775436,6.0076683654676744e-6,-3.013646953689903e-8,0.004499263612814337,5.8780642609847445e-6,-2.9843203850422515e-8,0.004499854940636369,5.851244450515609e-6,-2.9781269629881294E-08,0.004500473936466841,5.960397636023314e-6,-3.002551100540538e-8,0.004501052719345036,6.205775394502228e-6,-3.057655086561226e-8,0.00450152565398311,6.544818406940442e-6,-3.133855594471292e-8,0.004501855052718436,6.89991925988118e-6,-3.213677936923044e-8,0.004502048299394567,7.184984577129539e-6,-3.277745584916125e-8,0.00450215485481849,7.337928245096862e-6,-3.312096524996092e-8,0.004502244939964075,7.34104622514252e-6,-3.31275673941889e-8,0.0045023832883471036,7.220589179745083e-6,-3.285626158580508e-8,0.0045026110823796145,7.030850470500054e-6,-3.2428926008768215e-8,0.0045029404092560505,6.834169236371335e-6,-3.198546698313869e-8,0.004503358106314494,6.685082210089396e-6,-3.1648403907449894e-8,0.004503833931529304,6.621199922123047e-6,-3.150250475699595e-8,0.004504329393182454,6.659916022098113e-6,-3.158735035096041e-8,0.004504805490228415,6.79906815339101e-6,-3.18986098972113e-8,0.0045052288712172945,7.020052500014815e-6,-3.239479081077634e-8,0.004505576291020284,7.292536290791366e-6,-3.300768877577651e-8,0.004505837190189702,7.580099251624076e-6,-3.3655110613896705e-8,0.0045060143045280365,7.846042790020471e-6,-3.42541110553583e-8,0.004506122446663604,8.058625318459529e-6,-3.473295260761845e-8,0.0045061858442556986,8.195104654863028e-6,-3.504028264202122e-8,0.004506234642510104,8.244233774000591e-6,-3.515070923594395e-8,0.004506301185498216,8.20730170658394e-6,-3.506705303538336e-8,0.004506416396345633,8.098093426558627e-6,-3.482021907021817e-8,0.004506606235169193,7.94206498498607e-6,-3.446740371929097e-8,0.004506887964378976,7.774744655900673e-6,-3.4088620681013444e-8,0.004507265898608951,7.63883680811971e-6,-3.378026681707891e-8,0.004507726866888514,7.578827637892328e-6,-3.364294154809401e-8,0.0045082369085281135,7.631796357853752e-6,-3.376059550196789e-8,0.0045087423408103665,7.81442404265071e-6,-3.4171064362557586e-8,0.004509179270358261,8.109527450340536e-6,-3.48355963905556e-8]} \ No newline at end of file diff --git a/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_26.json b/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_26.json new file mode 100644 index 0000000..78aa7c4 --- /dev/null +++ b/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_26.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1.0,"startIndex":26000,"numberOfSamples":1000,"samples":[0.004509493310776733,8.460255546355793e-6,-3.5625800851343465e-8,0.004509663584584268,8.78152154032578e-6,-3.634960149730122e-8,0.004509716789810693,8.989819707723907e-6,-3.681866430913203e-8,0.004509719059465651,9.037418772725032e-6,-3.692552117143939e-8,0.004509748243703133,8.930185223519827e-6,-3.668355434778159e-8,0.004509863647122957,8.719470842231082e-6,-3.620846132642241e-8,0.004510089653785742,8.476972036399517e-6,-3.5661533171045015e-8,0.004510416800722429,8.269299770251092e-6,-3.51925282944491e-8,0.004510813094911667,8.1427235238956e-6,-3.4905561743649874e-8,0.004511237012805131,8.118815983827459e-6,-3.4849442039030304e-8,0.004511647598100416,8.19695215375018e-6,-3.5023237901990346e-8,0.004512010754110658,8.359585736620415e-6,-3.538793530902102e-8,0.004512302608721269,8.577895407180773e-6,-3.5878908014654e-8,0.004512511101780664,8.817020399356672e-6,-3.6417590410461715e-8,0.004512636407156604,9.040913865577355e-6,-3.692247406897225e-8,0.004512690307657771,9.216869444768706e-6,-3.7319489010541575e-8,0.004512694498577715,9.319590010896785e-6,-3.755134208751638e-8,0.004512677812454461,9.33448051439994e-6,-3.758499305360356e-8,0.004512672525088187,9.259714461186162e-6,-3.74162487552752e-8,0.004512710155956202,9.106773676260358e-6,-3.7070886445067697e-8,0.004512817232229619,8.899452134994748e-6,-3.660239062283695e-8,0.004513011361703757,8.671416905011533e-6,-3.6086549932726506e-8,0.0045132978459024205,8.462410007400726e-6,-3.561303803422552e-8,0.00451366700674806,8.313087368408677e-6,-3.5273853268424084e-8,0.004514092641922462,8.258223307030978e-6,-3.5147920393724736e-8,0.004514532771288454,8.318077690988317e-6,-3.5281410931936163e-8,0.004514934630932754,8.4888481118899e-6,-3.566597134940736e-8,0.004515245854344678,8.735374126556136e-6,-3.622214330179837e-8,0.0045154316998782295,8.991891199064452e-6,-3.6801147360575755e-8,0.004515492902915043,9.176856590224277e-6,-3.7218586920753816e-8,0.004515473030595792,9.22132948769478e-6,-3.731873347690093e-8,0.004515445973338222,9.09843419372188e-6,-3.704104339955742e-8,0.00451548682469044,8.835578371895206e-6,-3.644751863773576e-8,0.00451564268107663,8.500985857177386e-6,-3.5692080359945736e-8,0.0045159197183348996,8.174205711565663e-6,-3.495399269113799e-8,0.004516289609363855,7.91891452501725e-6,-3.437668106843999e-8,0.004516706111846334,7.769533914623208e-6,-3.403776290168179e-8,0.004517121078763411,7.73134067417984e-6,-3.3949388348932536e-8,0.0045174946878258695,7.787734155315276e-6,-3.4074540770568025e-8,0.004517799867137044,7.908923469211388e-6,-3.434642142253354e-8,0.004518023021591153,8.059160327422076e-6,-3.468456742654183e-8,0.004518163140214663,8.202005982025426e-6,-3.50066650311153e-8,0.004518230411948181,8.30424890030949e-6,-3.523747823122548e-8,0.004518244570725208,8.33915192550796e-6,-3.531634932075353e-8,0.004518232782286238,8.28935594403696e-6,-3.5203891163581475e-8,0.004518226774465987,8.149365170645358e-6,-3.488762043767852e-8,0.004518259006711036,7.927116613346235e-6,-3.438542274392408e-8,0.004518358060544222,7.643963370228097e-6,-3.3745425584923236e-8,0.004518543856405558,7.332621283429884e-6,-3.3041356370972954e-8,0.004518823498710852,7.0329632269025115e-6,-3.236314547040654e-8,0.004519188579967757,6.785903929501321e-6,-3.180325247605029e-8,0.004519614661144808,6.626048418181081e-6,-3.14401232958339e-8,0.0045200634304379044,6.5740276672578925e-6,-3.132079397132222e-8,0.004520487966458727,6.62956304606739e-6,-3.144502131997278e-8,0.00452084147546764,6.766843341505083e-6,-3.175463526314589e-8,0.004521089187148414,6.934764185105069e-6,-3.2134004538126606e-8,0.004521221269959029,7.065025688552307e-6,-3.2428442843453624e-8,0.004521261859102045,7.089574850293132e-6,-3.248384715700535e-8,0.0045212674299407694,6.964089990219654e-6,-3.2199939344201606e-8,0.004521310513078177,6.687544084459722e-6,-3.1574464342686096e-8,0.004521453447203763,6.305670157088708e-6,-3.071085821791362e-8,0.0045217253573987225,5.893958647960642e-6,-2.9779688167653515e-8,0.004522114733755025,5.529133856038296e-6,-2.8954214723599135e-8,0.004522579377927455,5.264744210794258e-6,-2.8355366465152043e-8,0.004523065009217748,5.120982847527676e-6,-2.802885167464862e-8,0.004523521972907846,5.088150002782038e-6,-2.7952986672350293e-8,0.004523914736487703,5.136932989628306e-6,-2.8061821235107004e-8,0.004524224518460753,5.229079919518181e-6,-2.8269112293518485e-8,0.004524447866784532,5.325356167857952e-6,-2.8486202260608446e-8,0.004524593830297251,5.390497834119252e-6,-2.8633216627973057e-8,0.004524681160259874,5.396171432205578e-6,-2.864585654482284e-8,0.004524735849207278,5.323027317101781e-6,-2.8480176026552257e-8,0.0045247886943237964,5.16249823096028e-6,-2.8116730602371682e-8,0.004524872353940403,4.918444281738836e-6,-2.7564280225240977e-8,0.0045250174349796965,4.608134848323794e-6,-2.68619228883987e-8,0.004525247591606092,4.261615509273891e-6,-2.6077583364155316e-8,0.004525574321292053,3.918549452938378e-6,-2.530086898948843e-8,0.00452599277311532,3.622150479587777e-6,-2.462943302074595e-8,0.0045264801545203655,3.4107258886289212e-6,-2.4149954956603862e-8,0.004526998018263306,3.308450392319929e-6,-2.3917312554474847e-8,0.004527498775693957,3.317760005942039e-6,-2.3937301228621522e-8,0.00452793558120547,3.415707219466181e-6,-2.415823276235786e-8,0.00452827373820132,3.555942963102195e-6,-2.4475281614218993e-8,0.004528501076735233,3.677053577969154e-6,-2.4749321189987848e-8,0.004528634255226658,3.7166708540264696e-6,-2.4838951555615288e-8,0.00452871788049019,3.6288209284880697e-6,-2.4639908971730102e-8,0.004528814461392247,3.399578871249497e-6,-2.4120586107355082e-8,0.004528986348915549,3.0544546974012395e-6,-2.3338735228699577e-8,0.004529275447593868,2.652362755159554e-6,-2.2427751850493508e-8,0.0045296894826229355,2.266809562799965e-6,-2.1554061940523532e-8,0.004530201357681512,1.962172998408435e-6,-2.0863453384503786e-8,0.004530761107800889,1.7757792179593227e-6,-2.044053421769499e-8,0.004531313427122603,1.7122786235617054e-6,-2.0295983770420518e-8,0.0045318125655776954,1.749367675975404e-6,-2.037944352447753e-8,0.004532230187937357,1.8490802478591477e-6,-2.0605011670815894e-8,0.00453255650096998,1.968861091375431e-6,-2.08762767548505e-8,0.004532797413529103,2.069429992863889e-6,-2.1104137100273155e-8,0.004532970455627508,2.1191957801873115e-6,-2.121685754164669e-8,0.004533101006844266,2.0963386322046738e-6,-2.1164869031366592e-8,0.004533219236241922,1.9898190337828303e-6,-2.09231193072752e-8,0.004533357423629913,1.8001513809640854e-6,-2.0492836790277707e-8,0.004533546992225019,1.540165048997408e-6,-1.9903207651827864e-8,0.004533814625910253,1.2352637227640804e-6,-1.9211889086172134e-8,0.0045341773121543635,9.220902568912064e-7,-1.8501932634248034e-8,0.004534637007950439,6.443360771918933e-7,-1.7872295458798828e-8,0.004535176664792075,4.4499167138597644e-7,-1.7420339103780497e-8,0.004535760035304328,3.557925328380303e-7,-1.7217978115692215e-8,0.004536337215533742,3.866412902473646e-7,-1.728772350881937e-8,0.004536855876733859,5.191842687487436e-7,-1.7588072274695526e-8,0.004537275385870752,7.081369882607212e-7,-1.8016430469229954e-8,0.004537579125593926,8.912435030713721e-7,-1.8431639886474907e-8,0.004537780530744449,1.005317578228007e-6,-1.8690357071296403e-8,0.004537920538034231,1.0034699039837472e-6,-1.868616129977461e-8,0.0045380570398233745,8.682810605385142e-7,-1.837946472292758e-8,0.004538249294644987,6.169983072998986e-7,-1.780931248930263e-8,0.004538541670781989,2.970358272201004e-7,-1.708319176747392e-8,0.004538951579800054,-2.7231731686069303e-8,-1.634711520277816e-8,0.004539465565272268,-2.9245638234442717e-7,-1.5744867236873657e-8,0.004540044817016876,-4.530987714794202e-7,-1.537993968878856e-8,0.004540637691521912,-4.913904592554641e-7,-1.5292863661002783e-8,0.0045411941681401885,-4.179588426089708e-7,-1.545968048557915e-8,0.0045416771529875445,-2.646725790176748e-7,-1.580808820140591e-8,0.004542067915028178,-7.389589463817978e-8,-1.624181308946475e-8,0.004542365941693601,1.1161571806108388e-7,-1.6663601282918254e-8,0.004542585366851695,2.557719936323004e-7,-1.6991327574329404e-8,0.004542750301596352,3.328556897280507e-7,-1.7166487509062615e-8,0.004542890539772055,3.288339048433999e-7,-1.7157205799619142e-8,0.004543038110357333,2.4148307307612337e-7,-1.6958505979006495e-8,0.00454322442352209,8.020747945813414e-8,-1.659185787564851e-8,0.004543477357567356,-1.341554185295706e-7,-1.6104693284517906e-8,0.0045438176089469635,-3.6995599015852086e-7,-1.5568968349127696e-8,0.004544254057927853,-5.868612278189073e-7,-1.507632289085078e-8,0.004544778812882803,-7.409000787411416e-7,-1.4726631776247386e-8,0.0045453638821404034,-7.933529756111925e-7,-1.4607830316871693e-8,0.004545962512626217,-7.226259496806341e-7,-1.4768947865738407e-8,0.004546517831531095,-5.353354038386974e-7,-1.5194914668309396e-8,0.004546978401910495,-2.705801777601392e-7,-1.5796839796783648e-8,0.004547315606031961,7.426064280520287e-9,-1.6428760347708144e-8,0.00454753489003374,2.2771495362971647e-7,-1.6929398929145512e-8,0.004547674975302893,3.348200634734904e-7,-1.7172762210130373e-8,0.004547795269270398,3.0546407671952013e-7,-1.7106022758788838e-8,0.004547957342816333,1.5361082419481356e-7,-1.6760923023671023e-8,0.004548207818776337,-7.620926519655014e-8,-1.623857269178295e-8,0.004548567688113334,-3.2310178950335675e-7,-1.5677235728358874e-8,0.004549029689400049,-5.261904517049809e-7,-1.5215224434557068e-8,0.004549562879332015,-6.387181991297879e-7,-1.4958938590346338e-8,0.004550122119909111,-6.369676213818445e-7,-1.4962560924246113e-8,0.004550659547407562,-5.227487180281773e-7,-1.522226203843342e-8,0.00455113503524916,-3.198295674394947e-7,-1.568415057741117e-8,0.004551523306381531,-6.614611648123595e-8,-1.6261898726347644e-8,0.004551816641272785,1.9551328796095916e-7,-1.685796274830549e-8,0.004552023601182218,4.2580724108011224e-7,-1.7382583753550408e-8,0.004552165189758773,5.945892816202448e-7,-1.7766991018379748e-8,0.004552270093790798,6.837932410099917e-7,-1.7970026091410244e-8,0.004552370226282839,6.880617875256065e-7,-1.797954851084639e-8,0.004552497089156715,6.141061808103928e-7,-1.781091130786019e-8,0.004552678823971549,4.796156243032983e-7,-1.7504429067141582e-8,0.004552937441607541,3.1202357072442164e-7,-1.7122570952647516e-8,0.004553285657210565,1.4683488458868566e-7,-1.6746191281231358e-8,0.004553723072438308,2.461230159602889e-8,-1.6467701649164962e-8,0.004554232297584862,-1.4673606685835707e-8,-1.6378198838017022e-8,0.004554776931368462,5.916408340345163e-8,-1.654648595704409e-8,0.004555304544316013,2.5471410996338887e-7,-1.699210890005788e-8,0.004555757580182239,5.487508779098537e-7,-1.766206390844868e-8,0.00455609163018589,8.847980560550384e-7,-1.8427567403072217e-8,0.004556294266149341,1.1862585904106192e-6,-1.9114066338961307e-8,0.00455639356224145,1.3819276275300728e-6,-1.955944643880223e-8,0.004556449423840962,1.4320994076717743e-6,-1.967347844662727e-8,0.00455653146260646,1.3415196289400694e-6,-1.9467164239301853e-8,0.004556695250636879,1.1538974614742377e-6,-1.9040064669564954e-8,0.00455696762660136,9.337292242152009e-7,-1.8538868697838413e-8,0.004557344253094815,7.457228920368247e-7,-1.8110674855141883e-8,0.004557796262614695,6.393184058846508e-7,-1.7867944352973605e-8,0.004558280964655819,6.408021303045762e-7,-1.7870661006435703e-8,0.004558752717751708,7.521507776956689e-7,-1.812364701480733e-8,0.004559171865542613,9.545520907436515e-7,-1.8584396920373626e-8,0.004559510918417762,1.214685417394258e-6,-1.9177186559210626e-8,0.0045597577345257365,1.492268065989241e-6,-1.9810175736451022e-8,0.004559915758252532,1.747525782261627e-6,-2.0392490975707653e-8,0.004560001790681829,1.947399946982737e-6,-2.084852456530275e-8,0.004560042130719432,2.069755428846989e-6,-2.112766147211479e-8,0.004560068031127442,2.105379942421046e-6,-2.1208875035905857e-8,0.004560111313149676,2.0580137470542224e-6,-2.110073390215724e-8,0.004560200668904181,1.943025512553438e-6,-2.083829693588606e-8,0.004560358702285993,1.785412603296129e-6,-2.0478523102675264e-8,0.004560599413535639,1.6174458646150957e-6,-2.009495393525646e-8,0.004560925771429382,1.4758038902445344e-6,-1.977126696599221e-8,0.004561327227637577,1.3976103681723366e-6,-1.9592281027131787e-8,0.004561777687863393,1.414475222692563e-6,-1.963031184849548e-8,0.004562235579990404,1.5439760444566057e-6,-1.9925614673578647e-8,0.004562648675447503,1.7796412722016043e-6,-2.046341689014831e-8,0.004562966076598825,2.0834817290894464e-6,-2.1156859279096877e-8,0.004563156563769151,2.3880171788488707e-6,-2.1851733662215338e-8,0.004563226026995868,2.6134961406077906e-6,-2.236596297709388e-8,0.004563222002259049,2.697182257226839e-6,-2.255654425324677e-8,0.004563218140920344,2.6200473503104345e-6,-2.2380369070183947e-8,0.004563285177328307,2.4142697533356353e-6,-2.1911080480621846e-8,0.00456346510562536,2.1474700508499156e-6,-2.1302898831592876e-8,0.0045637614855055355,1.8952029862123072e-6,-2.0727876983910757e-8,0.004564146109374209,1.717390042126911e-6,-2.0322347502066937e-8,0.004564573586655692,1.6467160412382832e-6,-2.0160696512706902e-8,0.004564995621143562,1.6879982482464885e-6,-2.025403919365333e-8,0.004565371098880404,1.823849272809698e-6,-2.0563061761098215e-8,0.004565671575998424,2.0224636955771143e-6,-2.1015577494141815e-8,0.004565883304822525,2.2451570701558744e-6,-2.1523520714831093e-8,0.004566007062175339,2.4528861969496664e-6,-2.1997743592595424e-8,0.004566056469157245,2.6116666971517507e-6,-2.23604574329312e-8,0.004566055109573586,2.6967378051573467e-6,-2.2554903643749895e-8,0.004566032787591015,2.6952576374760298e-6,-2.2551638035756678e-8,0.004566021340058094,2.6074130943391173e-6,-2.2351082445335482e-8,0.004566050456020915,2.445916611802514e-6,-2.198229461679592e-8,0.004566143978834918,2.234071638222029e-6,-2.1498460356284963e-8,0.004566316991076654,2.002834908710053e-6,-2.0970174692905903e-8,0.004566573698773829,1.7872369419549948e-6,-2.047735188978444e-8,0.004566906025496633,1.6222415688750605e-6,-2.009987915744285e-8,0.004567292941820179,1.5378947751270364e-6,-1.9906572258774763e-8,0.0045677009482845456,1.5534732761251689e-6,-1.9941722705096247e-8,0.004568086845586504,1.6706423254153708e-6,-2.0209304708076832e-8,0.004568404479915657,1.8669001932336232e-6,-2.065787129431821e-8,0.004568616641222311,2.0927296815380814e-6,-2.1174057753546027e-8,0.004568710628782926,2.277737563029436e-6,-2.159677431671749e-8,0.004568710906383361,2.3496980887248315e-6,-2.1760931647364762e-8,0.004568678450507578,2.2627328227331568e-6,-2.1561913449607736e-8,0.004568690934995052,2.0202730399911163e-6,-2.100789416692359e-8,0.004568811461316786,1.6765736725135978e-6,-2.0223021008261412e-8,0.004569064102334118,1.3138502582226867e-6,-1.939501198865483e-8,0.00456942983638702,1.0095623883627573e-6,-1.870048308376553e-8,0.0045698609228537225,8.126805895776015e-7,-1.8250956905805127e-8,0.004570301299600792,7.370286449055343e-7,-1.8077863586350383e-8,0.004570702395164331,7.675146472653699e-7,-1.8146849034032396e-8,0.004571031105591736,8.712119800734532e-7,-1.838299920858834e-8,0.004571271553897738,1.0077872223193491e-6,-1.8694474593890068e-8,0.004571423431715869,1.1371794672960694e-6,-1.898988427190855e-8,0.00457149912894306,1.224623094486609e-6,-1.9189713805360918e-8,0.004571520661368493,1.2439529482437433e-6,-1.9233970167685107e-8,0.004571516461258664,1.1798659800376192e-6,-1.90875063062554e-8,0.004571517887299565,1.0292685411183112e-6,-1.874320617434184e-8,0.00457155544903053,8.015811947188519e-7,-1.822266996676711e-8,0.004571654890494846,5.177527012148897e-7,-1.757386049492885e-8,0.0045718335249696285,2.0776980474633583e-7,-1.686531683855287e-8,0.004572097388308316,-9.323396016944465e-8,-1.6177255542095043e-8,0.004572439665645757,-3.4987692521596087e-7,-1.5590463436344316e-8,0.004572840644505964,-5.31972816140779e-7,-1.5173961796713732e-8,0.004573269348815289,-6.200415053200593e-7,-1.4972436045635267e-8,0.004573687024026574,-6.10406095595246e-7,-1.4994491965318193e-8,0.004574052809641157,-5.192579563073559e-7,-1.520320779417572e-8,0.00457433198222599,-3.843987328357727e-7,-1.5512049283710714e-8,0.004574506433080039,-2.6231970700412053e-7,-1.57915871799184e-8,0.004574585098804139,-2.1787955603130257e-7,-1.5893271807468845e-8,0.0045746091849351205,-3.056827632750247e-7,-1.569220003592137e-8,0.004574645498676162,-5.476968892825376e-7,-1.513834525051923e-8,0.004574765267068838,-9.184797312588896e-7,-1.4290196294897466e-8,0.00457501606601899,-1.3499749934384158e-6,-1.3303575679860455e-8,0.004575402559457306,-1.7569182650377685e-6,-1.2373436343486388e-8,0.00457588755670308,-2.0690376161348062e-6,-1.1660288023729968e-8,0.0045764106752221,-2.2521266223356963e-6,-1.1242149216779647e-8,0.004576911396180024,-2.3103385627944873e-6,-1.1109414454615705e-8,0.004577344958268909,-2.275047092560445e-6,-1.119036156480763e-8,0.004577688009744958,-2.190125367673378e-6,-1.1384764724171442e-8,0.00457793703023403,-2.1001362793857524e-6,-1.1590799048558753e-8,0.004578103680851678,-2.0432033769984585e-6,-1.1721260373927869e-8,0.004578209903486739,-2.0476287663152695e-6,-1.1711299731405369e-8,0.00457828387494594,-2.1305649056463137e-6,-1.1521549135013692e-8,0.004578356691217041,-2.2974938653969773e-6,-1.113942510021554e-8,0.004578459254883159,-2.5420904405371936e-6,-1.0579494532798996e-8,0.004578618975408969,-2.8466169571197294e-6,-9.882523233547e-9,0.004578856169100808,-3.183321162571054e-6,-9.112167432714705e-9,0.004579180478803452,-3.5174083811508843e-6,-8.34808453913955e-9,0.004579588120477424,-3.8118316727193404e-6,-7.674971745318212e-9,0.004580060934558044,-4.03352156185739e-6,-7.168392305513895e-9,0.0045805679854873955,-4.1600968235078126e-6,-6.87951141941344e-9,0.0045810699651512255,-4.185692981165825e-6,-6.821782230335321e-9,0.00458152603375295,-4.124467505914989e-6,-6.962856854404446e-9,0.004581902189684743,-4.010657797913334e-6,-7.224349646031663e-9,0.004582179915574498,-3.894438306832133e-6,-7.491268811747432e-9,0.004582363424246814,-3.833098119282915e-6,-7.632267271587255e-9,0.004582483126184382,-3.8777855317296025e-6,-7.53011848341852e-9,0.004582592398102796,-4.057840675385612e-6,-7.117693448106915e-9,0.004582755475052093,-4.367487092300224e-6,-6.408428922268497e-9,0.004583027684494128,-4.761913130848646e-6,-5.505193981758026e-9,0.004583434904318093,-5.1682652158940795e-6,-4.575001218916299e-9,0.004583962740856525,-5.509717091332434e-6,-3.793847647778333e-9,0.004584562235224711,-5.731726984261732e-6,-3.286608037184449e-9,0.0045851690079899594,-5.8173444046123675e-6,-3.092013230972495e-9,0.004585724984926677,-5.785936446522613e-6,-3.1655856948169594e-9,0.004586192672434863,-5.680003803249362e-6,-3.4098510201368928e-9,0.004586558909587067,-5.549240041603622e-6,-3.710862720240599e-9,0.004586831090544941,-5.438473165345392e-6,-3.965824489806852e-9,0.004587030516411275,-5.381337431846182e-6,-4.097587491428378e-9,0.004587186126494469,-5.398361853965937e-6,-4.059053627389166e-9,0.0045873298103882906,-5.49731379182367e-6,-3.8324359563939324e-9,0.004587493095288864,-5.6741958005571095e-6,-3.427014054705955e-9,0.0045877044693880785,-5.914235263036652e-6,-2.876857912876998e-9,0.004587986651218072,-6.192958116809043e-6,-2.238299632400325e-9,0.004588353448843592,-6.477950803344133e-6,-1.5858038797377467e-9,0.004588806428404769,-6.73216177730537e-6,-1.0043412823020856e-9,0.00458933233628059,-6.919340188748711e-6,-5.769299288868636e-10,0.004589902743292579,-7.011376771941958e-6,-3.6786881572565e-10,0.004590477310455618,-6.996130497857601e-6,-4.0485922692968167e-10,0.004591011167147137,-6.883260760486553e-6,-6.656513658249578e-10,0.0045914652682251846,-6.705371049354524e-6,-1.075393733113511e-9,0.004591817010039603,-6.512924106794449e-6,-1.5182606557942965e-9,0.004592067796621043,-6.363468442006583e-6,-1.8621675068497396e-9,0.004592244944227824,-6.307637731525589e-6,-1.9909320328163395e-9,0.004592396800370081,-6.375463343972728e-6,-1.835720290287429e-9,0.004592581636072272,-6.566741952320174e-6,-1.397147556305703e-9,0.004592852503308843,-6.848670800862258e-6,-7.506592754098574e-10,0.0045932418347822595,-7.16265852740837e-6,-3.085310633349787e-11,0.004593750787773998,-7.439775464126724e-6,6.039907256439864e-10,0.004594348004365676,-7.620693551409611e-6,1.0176568839792315e-9,0.004594979307958952,-7.67285027729872e-6,1.1353900564086016e-9,0.004595584733360852,-7.597882344516838e-6,9.60993606260401e-10,0.004596115629330661,-7.427042036220201e-6,5.663444100107817e-10,0.004596545284004681,-7.208277314545172e-6,6.172570217697634e-11,0.004596870828408168,-6.9916428475073475e-6,-4.377209163440163e-10,0.004597108555701069,-6.818392915343977e-6,-8.371051908542961e-10,0.004597286586221487,-6.715617670183615e-6,-1.0741512526115635e-9,0.004597438018468549,-6.6953943241077795e-6,-1.1211643140079087e-9,0.004597595917342151,-6.7563461785649045e-6,-9.814428534041288e-10,0.0045977900559172604,-6.8858632210796456e-6,-6.841521467843064e-10,0.004598044659033155,-7.062128212677125e-6,-2.796287018101613e-10,0.004598376318128057,-7.255916920005681e-6,1.6480339335871812e-10,0.004598791545151504,-7.4327601793754e-6,5.698408862789437e-10,0.004599284036273952,-7.55641510487658e-6,8.521963256757693e-10,0.004599832545317101,-7.59449169585154e-6,9.37519703522967e-10,0.004600401089893143,-7.526267837569374e-6,7.783330705853753e-10,0.0046009435048163455,-7.351117380604259e-6,3.7337668699399923e-10,0.004601413323426574,-7.094082392306315e-6,-2.1959916877791475e-10,0.004601777276461345,-6.804398311453375e-6,-8.872456883447427e-10,0.004602027574734469,-6.544807205465784e-6,-1.4852269544859042e-9,0.004602187108824936,-6.373998484428838e-6,-1.878640796994688e-9,0.004602304305622246,-6.328662725555859e-6,-1.983290254130587e-9,0.004602439234285484,-6.4122851305789306e-6,-1.7913894121004542e-9,0.004602646341656962,-6.59454075292182e-6,-1.372856112257814e-9,0.004602959791749618,-6.820555679744346e-6,-8.539567811146143e-10,0.004603385401025903,-7.026168406663905e-6,-3.8223413598513426e-10,0.004603900535041509,-7.154432726648315e-6,-8.862971018962839e-11,0.004604461221360877,-7.16909923779504e-6,-5.6530923583887666e-11,0.004605014161836207,-7.061911347469658e-6,-3.0496913721986693e-10,0.004605510173710997,-6.852198505821913e-6,-7.894778705239851e-10,0.004605915231864156,-6.579480498016876e-6,-1.4190378636351609e-9,0.004606216233404941,-6.291994615044852e-6,-2.0824711583876744e-9,0.00460642071017142,-6.035108556079831e-6,-2.675171494544614e-9,0.00460655193149057,-5.842863718623184e-6,-3.1186589302558516e-9,0.004606641995139615,-5.733972110264688e-6,-3.369853455113043e-9,0.004606725264452894,-5.711711571864843e-6,-3.4213163304000836e-9,0.0046068334424430035,-5.7661813773756325e-6,-3.2960088168680032e-9,0.004606992447073734,-5.877366283212291e-6,-3.0401786490361465e-9,0.004607220525040382,-6.01804827384349e-6,-2.7166204947669695e-9,0.004607526828035787,-6.156368380259616e-6,-2.3987754818787228e-9,0.004607909878637184,-6.2584771004198995e-6,-2.1646433927517645e-9,0.004608355861891447,-6.292108699703443e-6,-2.0885544550141327e-9,0.004608837460403657,-6.231941022115572e-6,-2.2288041686048496e-9,0.004609314869247811,-6.066944432541149e-6,-2.610692390028512e-9,0.004609741181179981,-5.808287594175388e-6,-3.208296374163034e-9,0.004610073532643847,-5.494016982094601e-6,-3.9337217762102935e-9,0.004610288280096579,-5.185259144008995e-6,-4.645941435360547e-9,0.004610393895995997,-4.950873931477467e-6,-5.186269288801948e-9,0.004610433184336685,-4.844246198175972e-6,-5.431895389162019e-9,0.004610470758879338,-4.8829096485003395e-6,-5.342766223918112e-9,0.0046105707030473,-5.0419564476459976e-6,-4.976589310976798e-9,0.004610775446429694,-5.26417400954597e-6,-4.465310329754646e-9,0.004611094963682681,-5.480348310975678e-6,-3.968302033161426e-9,0.00461150823724263,-5.62972692844612e-6,-3.625329611994953e-9,0.004611973094222571,-5.673786679284628e-6,-3.524987578971608e-9,0.0046124390559712505,-5.60146915226002e-6,-3.692726761576285e-9,0.004612859222188488,-5.427288532920816e-6,-4.095184948750271e-9,0.004613199097686521,-5.184761096077944e-6,-4.655216115005645e-9,0.00461344157660515,-4.917463952163088e-6,-5.272388730713527e-9,0.004613587996069912,-4.669665926120923e-6,-5.844552407820035e-9,0.004613655691602776,-4.478251084401866e-6,-6.28652082530562e-9,0.004613673077859672,-4.367267921755222e-6,-6.542744128551488e-9,0.00461367367651798,-4.345651474038695e-6,-6.592631310893555e-9,0.0046136904516331,-4.407814373872608e-6,-6.449178045460803e-9,0.004613751389181142,-4.536239263420983e-6,-6.152919507168062e-9,0.004613876649815567,-4.704994955452618e-6,-5.763751856803909e-9,0.004614077028175075,-4.883303608630905e-6,-5.352690069082215e-9,0.004614353162834188,-5.038827337005442e-6,-4.994329710158694e-9,0.004614695036423012,-5.140875843306533e-6,-4.759499974144619e-9,0.004615081647533657,-5.164078436357073e-6,-4.706796509128987e-9,0.004615481345908867,-5.093156815280933e-6,-4.871507157630509e-9,0.004615854140456318,-4.928932317867542e-6,-5.251665030544923e-9,0.004616157793161933,-4.694284295014727e-6,-5.794263848231378e-9,0.004616358878782183,-4.436656622864292e-6,-6.389541647842568e-9,0.004616447225878722,-4.222062557520083e-6,-6.884973524270293e-9,0.004616447316459371,-4.117217975337249e-6,-7.126660174101772e-9,0.0046164171712829195,-4.163817419832329e-6,-7.018720722844495e-9,0.004616430002982171,-4.358091358751388e-6,-6.5703061256921416e-9,0.004616545920780777,-4.64955458388336e-6,-5.898225015384205e-9,0.004616789519416018,-4.961068379082266e-6,-5.180477898492885e-9,0.004617144952363664,-5.21797868115541e-6,-4.5890532040936815e-9,0.004617567428571435,-5.370589400078979e-6,-4.238257150629672e-9,0.004618001377383055,-5.4024523567296e-6,-4.165786813726474e-9,0.00461839617858386,-5.326689531338634e-6,-4.341319230810882e-9,0.004618715659086564,-5.176427103811998e-6,-4.688546619249612e-9,0.004618941704013463,-4.994299138923035e-6,-5.1092602716603065e-9,0.0046190738457956015,-4.823500218588578e-6,-5.503860695653606e-9,0.004619126539673815,-4.701021915286869e-6,-5.786919842108562e-9,0.00461912513350184,-4.6530002781485684e-6,-5.897985711351209e-9,0.004619101113456684,-4.692128922859444e-6,-5.8076723886911916e-9,0.004619087174435325,-4.817110070681227e-6,-5.5190059356818914e-9,0.004619112672785507,-5.013950645613634e-6,-5.064416509080086e-9,0.004619199956383798,-5.258745206492392e-6,-4.499227652478228e-9,0.004619361925076508,-5.521396310506229e-6,-3.892989039720409e-9,0.004619600861690062,-5.769630238686212e-6,-3.3201995651143257e-9,0.0046199082837785595,-5.972903127371703e-6,-2.851352592334347e-9,0.004620265553426885,-6.106140175320044e-6,-2.5443702178223045e-9,0.004620645157437597,-6.15344235394916e-6,-2.4360418005486742e-9,0.004621012910332626,-6.111969284666793e-6,-2.5329705998129033e-9,0.004621331889116244,-5.995896088586415e-6,-2.8023280874564467e-9,0.004621569196957076,-5.839257062531263e-6,-3.16525563366286e-9,0.004621705946598681,-5.6949592448301445e-6,-3.499245426945735e-9,0.0046217486369424686,-5.626269776579186e-6,-3.6579976183436843e-9,0.004621736346891752,-5.688589628394338e-6,-3.5136773121236357e-9,0.004621735560203208,-5.9056093086997374e-6,-3.011976455429588e-9,0.004621818663207311,-6.252544277839716e-6,-2.2106262735571202e-9,0.004622034186749106,-6.660327133482274e-6,-1.269447535738715e-9,0.004622386277920894,-7.0421296244785226e-6,-3.8895869566759596e-10,0.004622835921998608,-7.326987257096725e-6,2.672247922603419e-10,0.004623320597655784,-7.481387241366695e-6,6.22078154458821e-10,0.004623778166074979,-7.511256501722334e-6,6.895832720469361e-10,0.0046241631750252934,-7.4503005879202574e-6,5.476957123973267e-10,0.0046244526906444455,-7.344777280885875e-6,3.031921981158643e-10,0.004624644751104253,-7.241142852555951e-6,6.324918068849496e-11,0.0046247535293354415,-7.178329664083658e-6,-8.227089394819571e-11,0.004624803929537004,-7.1838293799132266e-6,-6.982495105222414e-11,0.004624826696230001,-7.272134715425384e-6,1.3414464882997706e-10,0.004624854095060916,-7.444583539571314e-6,5.327371256362688e-10,0.004624916026302616,-7.690267618702546e-6,1.1006291093985203e-9,0.004625036574007785,-7.98793405485864e-6,1.7885067099525766e-9,0.004625231133799637,-8.30888821439031e-6,2.5298802519654072e-9,0.004625504428824734,-8.620815020618825e-6,3.2500039740028935e-9,0.004625849747329165,-8.892151827359156e-6,3.875986187591585e-9,0.0046262495157665465,-9.09652545200698e-6,4.346970267559263e-9,0.004626677147753625,-9.216883627944467e-6,4.623605244888573e-9,0.004627100098948487,-9.249002221467704e-6,4.6961442314090165e-9,0.004627484100502901,-9.204044867914665e-6,4.590434874603475e-9,0.004627798689161824,-9.109776567161958e-6,4.3708109803278244e-9,0.004628024187515499,-9.0095003276215e-6,4.1376398888795614e-9,0.004628159602392367,-8.956974239448121e-6,4.015455545081188e-9,0.004628229255540625,-9.005485803645908e-6,4.127521100134283e-9,0.004628283803510658,-9.1910726190435e-6,4.556926589182645e-9,0.004628390435834369,-9.514454774165462e-6,5.304877259037512e-9,0.004628610918423801,-9.931843970056032e-6,6.269651296939101e-9,0.004628975503068454,-1.03648245865506e-5,7.2696549997176675e-9,0.004629467998225569,-1.0728850454589621e-5,8.10939549229837e-9,0.004630032512152586,-1.0965482676576773e-5,8.65397700401509e-9,0.004630597398772655,-1.1060056137677217e-5,8.86984853736169e-9,0.004631101082919748,-1.1038122203419039e-5,8.816457412620772e-9,0.004631507147841215,-1.0948389067229884e-5,8.606690701628071e-9,0.004631806481354592,-1.0844288661248472e-5,8.364204739480547e-9,0.004632011465302068,-1.0771358781577292e-5,8.194291991699351e-9,0.004632147892557216,-1.0761401585255883e-5,8.170455351365712e-9,0.004632247893263616,-1.0831308542105932e-5,8.331728476942694e-9,0.00463234477781505,-1.0984114505098195e-5,8.685073680741978e-9,0.004632469369290628,-1.1210771926742844e-5,9.209415190899736e-9,0.004632647141513031,-1.1492171204089592e-5,9.860291714348777e-9,0.004632895765556187,-1.1801489544677315e-5,1.0575356211698413e-8,0.004633222987185644,-1.2107161747595294e-5,1.1281365019742708e-8,0.004633625109689717,-1.2376748980879223e-5,1.1903214390625413e-8,0.004634086659004174,-1.2581610090192167e-5,1.2374746891829162e-8,0.004634581752502566,-1.2701806877036646e-5,1.2650024924146413e-8,0.004635077356706937,-1.273044813037253e-5,1.2713298103112125e-8,0.004635538281190807,-1.2676599340062202e-5,1.2585709492729057e-8,0.004635933426539173,-1.2565907068775515e-5,1.2326775887080312e-8,0.0046362425090470906,-1.2438342120984666e-5,1.202920592778017e-8,0.004636462294497865,-1.234271921279755e-5,1.1806193185873564e-8,0.004636611028747824,-1.232775517799123e-5,1.1770617073140064e-8,0.004636729067608224,-1.2429993538057063e-5,1.2006973681361427e-8,0.004636873204322435,-1.2660614669240317e-5,1.2540806146547426e-8,0.004637103047741207,-1.2995764214321633e-5,1.3316407776853431e-8,0.004637461294852211,-1.3376967540621544e-5,1.4197950262497705e-8,0.00463795534065098,-1.3726217412767458e-5,1.5004554273269622e-8,0.004638550845381015,-1.3972478316380603e-5,1.5571711376454045e-8,0.004639183148953752,-1.4077211752893863e-5,1.5810383357853653e-8,0.0046397812865391925,-1.4045280259926954e-5,1.5732214181573113e-8,0.0046402914283477465,-1.3917086868911308e-5,1.5431235497281092e-8,0.004640688992994678,-1.3749519789539588e-5,1.50396004361683e-8,0.004640977811977925,-1.3597154104758875e-5,1.4683939035007512e-8,0.0046411816590931215,-1.3500634643284917e-5,1.4458435271925997e-8,0.004641334337283517,-1.3482814716284878e-5,1.4415936504639937e-8,0.004641471841569615,-1.3549864644392499e-5,1.45705737914381e-8,0.004641627345314647,-1.36943373473814e-5,1.4904873429144573e-8,0.004641828265389255,-1.3898382253809021e-5,1.5377192152694978e-8,0.004642094369945667,-1.4136568493739574e-5,1.592827642183505e-8,0.004642436229981527,-1.4378530825307724e-5,1.648746362443435e-8,0.004642853793025203,-1.4591962398589605e-5,1.6979710468902657e-8,0.00464333536372152,-1.4746476784586312e-5,1.7334602810121096e-8,0.004643857739129038,-1.481845010519349e-5,1.749756817785199e-8,0.00464438837763796,-1.479624509342569e-5,1.7441917675913e-8,0.0046448901141322415,-1.4684572553892183e-5,1.7178880316379137e-8,0.00464532817306209,-1.4506395760338885e-5,1.676197448758261e-8,0.0046456782783954416,-1.4300948688484878e-5,1.628240091514535e-8,0.004645933875498211,-1.4117326680498562e-5,1.5854168093428857e-8,0.004646110289799332,-1.4004423473821114e-5,1.5590715394014384e-8,0.004646244116896511,-1.399911276381716e-5,1.5577449679665026e-8,0.004646387005593405,-1.41153100211975e-5,1.5846355805771457e-8,0.004646594141764705,-1.4337032558028205e-5,1.6359950354097322e-8,0.004646909305258094,-1.4618613247030586e-5,1.701188561366317e-8,0.0046473503812339495,-1.4894178333601433e-5,1.7649042879564176e-8,0.004647900916773948,-1.5095625610264924e-5,1.811329983033688e-8,0.004648512809389593,-1.5173842404411922e-5,1.829077431406508e-8,0.004649120903019922,-1.5114403601433032e-5,1.8148248545685655e-8,0.004649663817187577,-1.4940331193331636e-5,1.7739550224659373e-8,0.004650101646361556,-1.4701189768492982e-5,1.7180166575556488e-8,0.004650423559198932,-1.4455016176381626e-5,1.6605176919502795e-8,0.004650644665764515,-1.4251827770794912e-5,1.613086614501808e-8,0.004650796624019296,-1.4124141025250696e-5,1.583268895658235e-8,0.004650917415804542,-1.4084914955533756e-5,1.5740543813909623e-8,0.004651043598431591,-1.4130241265291127e-5,1.5845089278510927e-8,0.0046512057278376125,-1.4243729279101672e-5,1.6107974164142077e-8,0.0046514261340793615,-1.4400690454054686e-5,1.6471579916206996e-8,0.00465171789456136,-1.4571531090473221e-5,1.6866922638427443e-8,0.004652084137226091,-1.4724599130893931e-5,1.7220302263998086e-8,0.00465251732741125,-1.4829134893015994e-5,1.746020024223448e-8,0.004652998819609395,-1.4859005735948932e-5,1.7525983107701823e-8,0.004653499526234626,-1.4797478165342453e-5,1.7378984205893643e-8,0.004653982822792938,-1.4642447874902636e-5,1.701461884775316e-8,0.004654410522758944,-1.4410540357957179e-5,1.6471859896107837e-8,0.004654751676673082,-1.4137726039344877e-5,1.5834608479389963e-8,0.0046549921899199246,-1.3874312315314267e-5,1.5219993013443092e-8,0.004655141733859297,-1.3673984905797297e-5,1.4752835810267254e-8,0.004655234441725839,-1.3579420898515158e-5,1.4532174851046341e-8,0.00465532189043984,-1.3609191262358246e-5,1.460084197006534e-8,0.00465545992364021,-1.3750758727023153e-5,1.4929278998332993e-8,0.004655693328327301,-1.3962304090208998e-5,1.5419907146882814e-8,0.004656043110456753,-1.4183068768481111e-5,1.5931259431933548e-8,0.0046565001678516875,-1.434927671056179e-5,1.631501554350779e-8,0.004657027305155954,-1.4411158052329369e-5,1.6455548921583325e-8,0.004657569281103155,-1.434612452943196e-5,1.630052615942731e-8,0.004658068049326739,-1.41639120076071e-5,1.5872851697627348e-8,0.0046584782426453645,-1.3901969676808915e-5,1.525993191601153e-8,0.0046587776708922075,-1.3613082255371558e-5,1.458484088844579e-8,0.004658969832612916,-1.3350233172794423e-5,1.397103491590227e-8,0.004659079003760188,-1.3154157206487545e-5,1.3513330900768914e-8,0.004659141208384155,-1.3046837117797856e-5,1.3262761688597618e-8,0.004659194957403009,-1.3031068730407019e-5,1.3225604937819598e-8,0.004659274330167408,-1.3094026415269862e-5,1.3371747416260096e-8,0.0046594050651191455,-1.3212282800757067e-5,1.3646426315830232e-8,0.004659602999671059,-1.3356523513515203e-5,1.3981232874721674e-8,0.004659873789227049,-1.3495310852038219E-05,1.430287645128278e-8,0.004660213024776066,-1.359808005239616e-5,1.4540151248134795e-8,0.00466060633304002,-1.3637992835869933e-5,1.4630579714044076e-8,0.00466102965981684,-1.3595349253137439e-5,1.4528372069494455e-8,0.004661450563042212,-1.3461902340691184e-5,1.421449651710166e-8,0.004661831730217652,-1.3245578696188559e-5,1.3707678548966238e-8,0.004662137755511344,-1.2973872164911173e-5,1.307227092715899e-8,0.004662344999202101,-1.2693012432152884e-5,1.2416231574338447e-8,0.0046624519407560735,-1.2460082818593683E-05,1.1872648439435237e-8,0.004662485004202495,-1.2327880026386206e-5,1.1564379854227212e-8,0.004662494901102442,-1.2327021407297365e-5,1.1562375295099926e-8,0.004662542595555069,-1.24533420275431e-5,1.185644126351985e-8,0.0046626799506357805,-1.2667322066857839e-5,1.2354101779958266e-8,0.004662933402383711,-1.2906251170550697e-5,1.2909087247827492e-8,0.004663297073919368,-1.3103506845817271e-5,1.3366273288023952e-8,0.004663736575308624,-1.3207064274389993e-5,1.360471420722314e-8,0.00466420034455511,-1.3191474217760806e-5,1.3565421464328888e-8,0.004664633821846689,-1.3061257113502004e-5,1.3259181775894936e-8,0.0046649923454657955,-1.284657142486857e-5,1.2756441236261749e-8,0.0046652500093320995,-1.2593575575264028e-5,1.2164869400910327e-8,0.004665403125135055,-1.2352518526780268e-5,1.160163133759852e-8,0.004665468293837048,-1.2166612359423423e-5,1.1167452954822372e-8,0.004665476372929213,-1.2064179756235221e-5,1.092829431744967e-8,0.004665464527011558,-1.205536188602705e-5,1.090765701107904e-8,0.00466546866248559,-1.2133139463074206e-5,1.1088976843000324e-8,0.004665517840456056,-1.2277264814901737e-5,1.1424838647350068e-8,0.00466563119751025,-1.245936221956031e-5,1.1848924275875613e-8,0.004665817006354218,-1.2647802841822536e-5,1.2287410809984839e-8,0.004666073053110041,-1.281166414378168e-5,1.2668190698852117e-8,0.004666387542373383,-1.292381306206243e-5,1.2928022906658796e-8,0.004666740117300406,-1.2963606556451226e-5,1.3018805625924864e-8,0.004667103089208761,-1.2919782368290056e-5,1.2914336858847914e-8,0.004667443516313451,-1.2793855787151033e-5,1.261828935995056e-8,0.004667727216102982,-1.2603634007130076e-5,1.2172443742013038e-8,0.004667925717887047,-1.2385223968453717e-5,1.1661335221281164e-8,0.004668025982969037,-1.2190587373047782e-5,1.1206425769168459e-8,0.004668040124918859,-1.2077562615726495e-5,1.0942668267392677e-8,0.004668009332740903,-1.2092131257680859e-5,1.0977046211594681e-8,0.004667995963365245,-1.2248776168792324e-5,1.1342816317376177e-8,0.004668063394253834,-1.2519839245074089e-5,1.1974895693262607e-8,0.004668252213447853,-1.2842352538933383e-5,1.272604191553377e-8,0.004668565476656956,-1.3140346753934688e-5,1.3419026252516424e-8,0.004668970137839872,-1.3350798188378615e-5,1.390712963685913e-8,0.00466941145688206,-1.3440881943664238e-5,1.4114239617360718e-8,0.004669831352637258,-1.3411820715628956e-5,1.4043647933471819e-8,0.004670183125758375,-1.3292231840828618e-5,1.3762398499525709e-8,0.004670439551567326,-1.3126587614643615e-5,1.3374333363953765e-8,0.0046705947835942166,-1.2963357965618242e-5,1.2992486691062576e-8,0.004670661871582767,-1.2845325839862214e-5,1.2716578643366719e-8,0.004670667699865216,-1.2802931475699457e-5,1.2617538625965364e-8,0.004670646681376949,-1.2850763728081769e-5,1.2729307862896565e-8,0.00467063427678483,-1.2987111806417097e-5,1.304775137827414e-8,0.004670661343090428,-1.3196164916613432e-5,1.353577457443399e-8,0.004670750064167247,-1.3452020070287972e-5,1.4132715042564545e-8,0.004670911777831962,-1.3723508501828329e-5,1.4765677409608379e-8,0.004671146597861861,-1.397894625705489e-5,1.5360669460035923e-8,0.004671444375319671,-1.4190158848444865e-5,1.5851986140975655e-8,0.004671786392194452,-1.4335593144657587e-5,1.6189419371909977e-8,0.004672147385320302,-1.440277455442945e-5,1.634395024210514e-8,0.004672497882915822,-1.439047323877524e-5,1.63128171558708e-8,0.004672807221955093,-1.4310754474099981e-5,1.6124358297051074e-8,0.004673047967062916,-1.4190585450886653e-5,1.5841798023873977e-8,0.004673202402940901,-1.4071681804180103e-5,1.556283414706472e-8,0.004673270739720579,-1.4006175424222032e-5,1.5409373309145138e-8,0.004673278417874302,-1.4045585886180635e-5,1.5501616287218707e-8,0.0046732771097705355,-1.4223112429589761e-5,1.5916656213600744e-8,0.0046733335426375954,-1.4535231411889031e-5,1.6645637433110732e-8,0.0046735060396706435,-1.4934337773744007e-5,1.7576826633511244e-8,0.004673819189801707,-1.5341741234222534e-5,1.852618723245616e-8,0.004674252268579398,-1.5677278964770178e-5,1.9306615085994873e-8,0.004674748944885229,-1.5888924620635015e-5,1.9797027686382072e-8,0.004675240882951573,-1.5966460031890974e-5,1.997414641383107e-8,0.004675670613593522,-1.593625842060622e-5,1.9900119679567408e-8,0.0046760041793818975,-1.5845643844857367e-5,1.9685820881802324e-8,0.00467623309851158,-1.5746690960885734e-5,1.945294625392006e-8,0.004676369818220206,-1.568457041001168e-5,1.930686205008403e-8,0.004676440772138309,-1.5691203227189234e-5,1.932191376955323e-8,0.004676479528732202,-1.5782987495501686e-5,1.9536206216259085e-8,0.004676520954653062,-1.5961033347667108e-5,1.995215400474037e-8,0.004676596422060922,-1.6212951573783454e-5,2.0540610281932875e-8,0.004676730027189161,-1.6515837372076925e-5,2.1247813816331533e-8,0.004676935979999788,-1.6840152095742693e-5,2.2004505046599017e-8,0.004677217318990602,-1.7154102391278926e-5,2.2736247570911134e-8,0.00467756602649892,-1.7428077777037665e-5,2.3373860561672378e-8,0.004677964479425937,-1.763863379374355e-5,2.3862716425329537e-8,0.0046783879238457065,-1.7771596392012232e-5,2.4169923607945506e-8,0.004678807583239352,-1.782417897198473e-5,2.4289203675387195e-8,0.004679194192743565,-1.780618647288843e-5,2.4243687912563586e-8,0.004679521978008149,-1.7740311713799754e-5,2.4086639550366526e-8,0.0046797732769125674,-1.7661270247751158e-5,2.3899445231071237e-8,0.004679943926326737,-1.7612934963310745e-5,2.378485408762777e-8,0.00468004874105327,-1.76419904879494e-5,2.38520116422879e-8,0.0046801248137174605,-1.7786845602176726e-5,2.4190427202702886e-8,0.004680228593309382,-1.806263404032576e-5,2.4834927068767032e-8,0.004680422650323219,-1.844760764224442e-5,2.5734020536887993e-8,0.0046807527992763975,-1.8880759513499523e-5,2.674458018490809e-8,0.0046812254701966765,-1.9278549072575866e-5,2.7671099756894892e-8,0.004681800427430815,-1.9566523632612258e-5,2.8339657629219468e-8,0.004682406079741662,-1.9708395147643984e-5,2.8665861411746463e-8,0.004682968366748158,-1.9715465849410977e-5,2.867679352392317e-8,0.004683435608529261,-1.9634266355882566e-5,2.8481924313167707e-8,0.0046837883337889595,-1.952439154406978e-5,2.822106187628867e-8,0.004684035487230924,-1.9439673756009193e-5,2.8020203083391307e-8,0.004684204485088165,-1.941806770279495e-5,2.7967929163297136e-8,0.00468433116167156,-1.9479029937500837e-5,2.8109428435669545e-8,0.004684452186456466,-1.9625176187452407e-5,2.845049597540157e-8,0.004684600168465979,-1.984553498761316e-5,2.896517248241957e-8,0.0046848006032723915,-2.0118998764571928e-5,2.9603786467988204e-8,0.0046850698397548065,-2.041773635670475e-5,3.0300926191513015e-8,0.004685413783371999,-2.0710763850050337e-5,3.098384943257845e-8,0.00468582740770953,-2.096777642395736e-5,3.1581541361914726e-8,0.004686295292293071,-2.1163165376747107e-5,3.203417446835051e-8,0.004686793459251504,-2.127986172954694e-5,3.230208207219933e-8,0.004687292561605285,-2.1312386356273433e-5,3.2372809600881676e-8,0.0046877621105637915,-2.126854613740853e-5,3.2264991110637834e-8,0.004688175258111988,-2.1169442043346494e-5,3.202831932504239e-8,0.004688513640797768,-2.104761290672734e-5,3.173919627450822e-8,0.004688771804655766,-2.0943260277204035e-5,3.149188772523059e-8,0.004688960704666771,-2.089847309766487e-5,3.138494951118754e-8,0.004689109427812848,-2.0949239557927876e-5,3.150244410680444e-8,0.0046892635417487075,-2.111546408427255e-5,3.189053130139887e-8,0.004689477922148566,-2.139077308886334e-5,3.253367882818093e-8,0.004689802698454854,-2.1736387602686895e-5,3.3340499356742825e-8,0.004690264446209853,-2.2085256460148676e-5,3.415361339714332e-8,0.004690850572478942,-2.2360461861946586e-5,3.4792836260214054e-8,0.004691507905376526,-2.2503277074614084e-5,3.512087981369812e-8,0.0046921603699025816,-2.2496547289027997e-5,3.5098078105129547e-8,0.004692737515622717,-2.2369205648309436e-5,3.4792895698371355e-8,0.0046931977430484575,-2.218033828194287e-5,3.434443116540985e-8,0.004693535450245421,-2.19946049648199e-5,3.390460552743203e-8,0.004693773572452373,-2.1862829343110403e-5,3.359254933534034e-8,0.0046939501630360635,-2.181362607661693e-5,3.3475032195887265e-8,0.004694106408800557,-2.1853986931876104e-5,3.356800326714713e-8,0.004694278929507639,-2.1974145041739544e-5,3.384814078091561e-8,0.004694495986966662,-2.2153135943492177e-5,3.4265942399950725e-8,0.00469477605708682,-2.236343686777121e-5,3.475658838964401e-8,0.004695127385027143,-2.25745849279392e-5,3.5248415385464474e-8,0.004695547882976639,-2.2756322352379375e-5,3.567032900021728e-8,0.004696025355911659,-2.2881787560675736e-5,3.595935203368904e-8,0.004696538399017729,-2.2930998865573962e-5,3.6068830865346576e-8,0.0046970585118214685,-2.2894428695522926e-5,3.597678695177047e-8,0.0046975538398428066,-2.277591695522771e-5,3.569266368776685e-8,0.004697994417085737,-2.2593897361128732e-5,3.52601055038316e-8,0.004698358163045725,-2.238005741037552e-5,3.475374675121492e-8,0.0046986364344812365,-2.2175013783692378e-5,3.4269031535764016e-8,0.0046988377483364,-2.2021316841364653e-5,3.3905777612987485e-8,0.004698988505350433,-2.1954843872662592E-05,3.3747957039559153e-8,0.00469913001615439,-2.199603289469974e-5,3.384312019587815e-8,0.004699311555481439,-2.2142626039551497e-5,3.418542095617081e-8,0.004699579681160445,-2.2366028659942287e-5,3.470720003209844e-8,0.004699965159038889,-2.261379023439517e-5,3.528496641002932e-8,0.0047004707613474824,-2.2820209470544427e-5,3.576439822294622e-8,0.004701065275270101,-2.29245915141501e-5,3.600321104272019e-8,0.0047016890656927665,-2.2891951736126434e-5,3.591970431021748e-8,0.004702272011748362,-2.2726666777386748e-5,3.5524736397453896e-8,0.004702756920507253,-2.2470877734699576e-5,3.491788013206634e-8,0.004703116987165939,-2.2187808782063738e-5,3.4248104068405246e-8,0.004703359534640568,-2.193925935774467e-5,3.3660754039070295e-8,0.004703517130520162,-2.176842696306175e-5,3.325714330433221e-8,0.004703633418269326,-2.1693450292192006e-5,3.3079469125848756e-8,0.004703750784664788,-2.1710014565138826e-5,3.311710181821752e-8,0.004703902999268972,-2.1798210735348334e-5,3.332284229703271e-8,0.00470411241473192,-2.1929606093883388e-5,3.362958798550564e-8,0.004704389870876045,-2.207267688476105e-5,3.396308166894864e-8,0.0047047356012256255,-2.2196523423997598e-5,3.425061394883235e-8,0.004705140226676658,-2.2273583221930157e-5,3.4427402906015455e-8,0.004705585684179088,-2.2282131344618075e-5,3.444250019797068e-8,0.004706046484988976,-2.2209080754436687e-5,3.426539393023329e-8,0.004706492021561705,-2.205305499960459e-5,3.389321201807501e-8,0.004706890608130669,-2.182697129221664e-5,3.3356730967267744e-8,0.00470721539646339,-2.1558758464267093e-5,3.2721977504560417e-8,0.004707451321018943,-2.12887104727388e-5,3.208392178194558e-8,0.004707601124258925,-2.1062650368795808e-5,3.1550339335174934e-8,0.004707687923092548,-2.092164673284272e-5,3.1217597646232705e-8,0.004707752373939844,-2.0890881213821516e-5,3.1144495257733445e-8,0.004707844271649323,-2.097124597532204e-5,3.1332583670419434e-8,0.004708010475613604,-2.113670162270532e-5,3.172008981581706e-8,0.004708282385389394,-2.1338748014371744e-5,3.219257613945702e-8,0.0047086664359290925,-2.15173693706775e-5,3.2608780636782456e-8,0.0047091404880734164,-2.161606952423453e-5,3.283599569519555e-8,0.004709657840613588,-2.159728736032355e-5,3.278626927707014e-8,0.0047101587972046815,-2.14536381865304e-5,3.244275536750323e-8,0.004710587092019814,-2.1210639927389882e-5,3.1866026733256766e-8,0.004710905784652387,-2.0918934500008726e-5,3.11756702803512e-8,0.004711106530119068,-2.0638435018091832e-5,3.051288304831013e-8,0.004711208865517889,-2.0420804081158147e-5,2.999917704131898e-8,0.004711250995690448,-2.029710843358638e-5,2.9707348003223693e-8,0.004711277151420492,-2.0274053881011356e-5,2.9652724627549498e-8,0.00471132674977426,-2.033766978305856e-5,2.9801983439850805e-8,0.00471142806619857,-2.046071242907155e-5,3.009067825446045e-8,0.004711596296366146,-2.061020016312087e-5,3.044100612335261e-8,0.004711834389857875,-2.0753171954947886e-5,3.077533281366249e-8,0.004712134965726818,-2.086041685204148e-5,3.1024925417154556e-8,0.004712482251510385,-2.090882235568343e-5,3.1135456149055995e-8,0.004712853737906606,-2.0883211847782863e-5,3.107133595210802e-8,0.004713221881139335,-2.0778334625325025e-5,3.082042383122008e-8,0.004713556597760101,-2.0601134262572815e-5,3.0399376917884984e-8,0.004713829354068818,-2.037263915355485e-5,2.9858068237885336e-8,0.004714019207495355,-2.0127999853239356e-5,2.9279591365504785e-8,0.004714120040236812,-1.9912737159773322e-5,2.8771311538676714e-8,0.00471414655809,-1.9773869991005393e-5,2.8443873226592142e-8,0.004714135386249772,-1.9746861801332327e-5,2.83804276963628e-8,0.004714138370032906,-1.984258160661189e-5,2.8606000254505665e-8,0.004714208596707071,-2.004036454826956e-5,2.9071316232283385e-8,0.004714383927031075,-2.029154199139544e-5,2.966130936884501e-8,0.00471467478824134,-2.0532945180363846e-5,3.022705867006223e-8,0.004715061013315357,-2.070513244011117e-5,3.0628741349271914e-8,0.00471549819391272,-2.0768559539906018e-5,3.0773644450018024e-8,0.004715930398805945,-2.0712828599232458e-5,3.06378229761092e-8,0.00471630479798327,-2.0557372487725065e-5,3.02675794944921e-8,0.00471658419168978,-2.0344538606421003e-5,2.9763064924636998e-8,0.004716754587575241,-2.012762846230072e-5,2.9250034311585e-8,0.004716826391143379,-1.9957347775696705e-5,2.8847903519089865e-8,0.004716829482927148,-1.9870328926400146e-5,2.8642734974974278e-8,0.004716804183631088,-1.9882591570309303e-5,2.8671899620700577e-8,0.004716791192796836,-1.9989005281011388e-5,2.8922902741116466e-8,0.004716823437325514,-2.016770532199581e-5,2.934387756265717e-8,0.004716921469150951,-2.0387043502867066e-5,2.986002387931219e-8,0.0047170924226144694,-2.0612596164450385e-5,3.0390138793191444e-8,0.004717331446500595,-2.081266616228881e-5,3.085955828244744e-8,0.00471762425529221,-2.0961852660023846e-5,3.120852397033979e-8,0.004717949786709429,-2.104309008518074e-5,3.139695112234478e-8,0.004718282560551554,-2.104890203008696e-5,3.1407378398035346e-8,0.00471859492533725,-2.0982516486430054e-5,3.1247623321056654e-8,0.004718859796079545,-2.0859052414961204e-5,3.0953605446153896e-8,0.004719054624823485,-2.0706285041295662e-5,3.059112867970817e-8,0.004719167008269947,-2.0563643657749342e-5,3.025342322589191e-8,0.0047192012609654915,-2.0477478018717793e-5,3.00498426889888e-8,0.00471918345441392,-2.0491050133859172e-5,3.0082155472353386e-8,0.004719160711673773,-2.0630138351970563e-5,3.041060704503147e-8,0.004719191097019601,-2.0889406258420564e-5,3.1021931692673706e-8,0.004719325043469325,-2.1227769789697886e-5,3.181866698159706e-8,0.0047195859260143365,-2.1578468896618452e-5,3.264310559084911e-8,0.004719960156972756,-2.187111814865657e-5,3.3329373513019146e-8,0.004720402230039262,-2.2055137896671795e-5,3.375863627291979e-8,0.004720851199728154,-2.211368644516015e-5,3.3891818178741824e-8,0.004721249742534635,-2.2064084478755165e-5,3.3770422384395773e-8,0.004721558271420089,-2.194802371751545e-5,3.349326327499581e-8,0.004721761248337392,-2.181765833721016e-5,3.318355542341268e-8,0.004721866556401599,-2.1722520963282726e-5,3.295805030285286e-8,0.004721900238871268,-2.169987115382176e-5,3.29043510790176e-8,0.004721898892204645,-2.176929055241197e-5,3.306826983285239e-8,0.004721901529417458,-2.193141803818353e-5,3.345092527192641e-8,0.004721942348745987,-2.2170269412426117e-5,3.401426136456454e-8,0.004722045516212493,-2.2458138717909424e-5,3.4692640398515564e-8,0.004722222546618573,-2.2761699487966296e-5,3.540726851507083e-8,0.0047224722135377,-2.3047940802877143e-5,3.6080226653327896e-8,0.004722782394577666,-2.3288951948910685e-5,3.6645758612571877e-8,0.004723132980101565,-2.3465103100195668e-5,3.7057739558551584e-8,0.004723499026608934,-2.3566743782828097e-5,3.729363200615465e-8,0.004723853726366984,-2.3594919509001365e-5,3.7356145869933e-8,0.004724171226410891,-2.356158846622636e-5,3.727375668144662e-8,0.00472442964344223,-2.3489522051841577e-5,3.710048713221879e-8,0.004724614776565834,-2.3411574874169688e-5,3.691415587823861e-8,0.004724724794459883,-2.3368277341243487e-5,3.6810591870453345e-8,0.0047247752100325596,-2.340213360934399e-5,3.6890033197833116e-8,0.004724801818033701,-2.354741153860014e-5,3.723294414462482e-8,0.00472485768521177,-2.3816423663497148e-5,3.786770260091306e-8,0.004725000635390749,-2.418751526032683e-5,3.8742466858000376e-8,0.004725272431033011,-2.4603620051597823e-5,3.972202334985268e-8,0.0047256788219663705,-2.4987702204493527e-5,4.062439541897351e-8,0.004726183285667441,-2.5270759185625143e-5,4.128696584233639e-8,0.004726720126803429,-2.541754230471784e-5,4.162712542300643e-8,0.004727219448344189,-2.5435941739691993e-5,4.166429361538732e-8,0.004727629770664268,-2.536784151980682e-5,4.149811650246318e-8,0.00472792886355938,-2.5270329894455154e-5,4.126387077300937e-8,0.00472812265068321,-2.5197835046972124e-5,4.109015364379114e-8,0.0047282373150355555,-2.5190669974525258e-5,4.1071880240448236e-8,0.004728309665470908,-2.5270343003186838e-5,4.125937504726307e-8,0.004728378624615121,-2.543968430350618e-5,4.165883422548709e-8,0.004728478767596398,-2.5685707126707573e-5,4.223916565564198e-8,0.004728635885651726,-2.5983880913205705e-5,4.294209090323031e-8,0.004728864409439411,-2.6303109090072288e-5,4.369389967187808e-8,0.00472916659618418,-2.6610845597161917e-5,4.44175634064523e-8,0.004729533321857145,-2.687781278328495e-5,4.5043926732075706e-8,0.00472994622235607,-2.708187235910797e-5,4.55208730022123e-8,0.004730380793270376,-2.721067737099242e-5,4.5819553184842186e-8,0.004730809906752847,-2.7262961196945158e-5,4.593735403726144e-8,0.004731207297948036,-2.724866569169805e-5,4.589813042879811e-8,0.004731550882303068,-2.7188193463415645e-5,4.5750407942570875e-8,0.004731825972564864,-2.7110878798737e-5,4.5563763450471336e-8,0.004732028530653421,-2.7052515132200603e-5,4.54229491228676e-8,0.004732168446389242,-2.7051350258781955e-5,4.541834024160813e-8,0.004732272116670077,-2.714157631827611e-5,4.563044734216501e-8,0.004732382358303023,-2.734381236381859e-5,4.610740117539504e-8,0.004732552676207028,-2.765400554259749e-5,4.6838853150868065e-8,0.004732833512182073,-2.803550331529912e-5,4.773748847006038e-8,0.004733252285295634,-2.842190019560124e-5,4.864598097253564e-8,0.004733796293531172,-2.8735835655547945e-5,4.9381511830951945e-8,0.004734411109839088,-2.891853713979851e-5,4.980557132802008e-8,0.004735019503554785,-2.895397730306729e-5,4.9880998252676156e-8,0.004735551138537044,-2.887270533546891e-5,4.9680920882470014e-8,0.00473596575267552,-2.873482839748109e-5,4.9348284107208375e-8,0.004736259519104328,-2.8605104853960317e-5,4.903667122874668e-8,0.004736457060975534,-2.8533821667809858e-5,4.886493863585071e-8,0.0047365979415711565,-2.85485921602435e-5,4.88979128990018e-8,0.004736724583238949,-2.8654807118183317e-5,4.914769787656253e-8,0.0047368742116397,-2.8840382877356432e-5,4.958511728727826e-8,0.004737074552126241,-2.9081541619000465e-5,5.015347478913712e-8,0.004737342012367782,-2.934812648323624e-5,5.078111482310837e-8,0.004737681309886265,-2.960821833601568e-5,5.139231870366264e-8,0.004738086098954303,-2.9832193363411564e-5,5.191692419486976e-8,0.004738540469209245,-2.9996259595434974e-5,5.229874245767923e-8,0.0047390212881655396,-3.0085394338945098e-5,5.2502529913061444e-8,0.004739501377336211,-3.0095423581682325e-5,5.251886124976056e-8,0.004739953305782397,-3.0033870472254683e-5,5.236603682676017e-8,0.004740353348319325,-2.9919407976351642e-5,5.208868447062693e-8,0.004740685200385828,-2.9779991128983356e-5,5.175327771239827e-8,0.004740943182403257,-2.9649741613378564e-5,5.1440738209547884e-8,0.004741134674185391,-2.9564621576085497e-5,5.1236171222247815e-8,0.004741281429687509,-2.955689735080932e-5,5.121571324845782e-8,0.004741419089674041,-2.9648317114137292e-5,5.1430346955513816e-8,0.004741593583568248,-2.984236535396184e-5,5.18876132323745e-8,0.0047418528064249385,-3.0117417530783683e-5,5.2535574522677666e-8,0.004742232999460031,-3.0424697664623252e-5,5.325821214909581e-8,0.004742742611363063,-3.069609207813721e-5,5.3894094209571386e-8,0.004743351393757184,-3.086414788615748e-5,5.4283751424790724e-8,0.004743994368040548,-3.088836563852584e-5,5.433186801908802e-8,0.004744593460110826,-3.0773559410401626e-5,5.4050676811265004e-8,0.004745086788273111,-3.0567784478253706e-5,5.3554919237006306e-8,0.004745448989905369,-3.034083898991905e-5,5.301067418598428e-8,0.0047456930853903715,-3.015732469647893e-5,5.257126350003612e-8,0.004745857698513026,-3.00585998089884e-5,5.233439298931279e-8,0.004745990240669041,-3.0058200221043662e-5,5.233146185427817e-8,0.004746133999600095,-3.01466801907586e-5,5.2539325380684306e-8,0.004746321325199566,-3.0299826522431672e-5,5.289999214373297e-8,0.004746571565708012,-3.048628868783824e-5,5.333878061980279e-8,0.004746891547053987,-3.067323831866283e-5,5.377769034777425e-8,0.004747276976592629,-3.083031101807034e-5,5.414468688672485e-8,0.0047477141402886116,-3.09325591886319E-05,5.4380693556431183e-8,0.004748181886555148,-3.096289364885244e-5,5.444541244979396e-8,0.004748654088097438,-3.09141513535335e-5,5.432224087989675e-8,0.004749102826477359,-3.079058892868887e-5,5.4021765189798875e-8,0.0047495023578297945,-3.060826542501298e-5,5.358256772490767e-8,0.004749833466407175,-3.0393770407297746e-5,5.306810148158317e-8,0.0047500874842839194,-3.018108231591561e-5,5.2559163277776153e-8,0.004750269208928283,-3.000667785776047e-5,5.214226026089898e-8,0.004750398005292498,-2.990333609399654e-5,5.1894905169507964e-8,0.004750506508683392,-2.9893424852776115e-5,5.186969825178604e-8,0.004750636541043871,-2.9982645840082855e-5,5.2079533030619567e-8,0.0047508320083346,-3.0155421919572188e-5,5.248676449937229e-8,0.004751128908639331,-3.037369192805859e-5,5.300052553271625e-8,0.0047515437134295745,-3.058146946640733e-5,5.348771766126394e-8,0.004752063484848125,-3.071700733657849e-5,5.380196084787112e-8,0.0047526432287152715,-3.073156493559227e-5,5.382809002665862e-8,0.004753215530274019,-3.060859876345908e-5,5.352758456900073e-8,0.004753711939495655,-3.0373149193153703e-5,5.2960713748294996e-8,0.004754087100048578,-3.0083973403278307e-5,5.226769683183297e-8,0.00475433293603724,-2.98112136590755e-5,5.1615475629158006e-8,0.004754476264544549,-2.9611822552670604e-5,5.113920082596975e-8,0.004754563953700199,-2.9514823359041654e-5,5.0907249040929476e-8,0.0047546455613278705,-2.9520016886330627e-5,5.0918372072733805e-8,0.004754761071596459,-2.9605722627759065e-5,5.112036823852704e-8,0.004754935662167024,-2.9739033755819657e-5,5.143462572713782e-8,0.0047551796096890735,-2.988434036747737e-5,5.1776389895648226e-8,0.004755490589258526,-3.0008869624587908e-5,5.206783588245407e-8,0.004755856442393838,-3.008584029224015e-5,5.224546763974042e-8,0.004756257668350731,-3.0096339668500227e-5,5.2264540791731686e-8,0.004756669706745484,-3.0030731792701057e-5,5.210242554479061e-8,0.004757065414585785,-2.9889908539192638e-5,5.176159886049536e-8,0.004757418195542284,-2.968619040159789e-5,5.1271759843174285e-8,0.00475770601363651,-2.9443203318333868e-5,5.0689459342253564e-8,0.004757915965546911,-2.9193873541743718e-5,5.009323271378707e-8,0.004758048438176281,-2.8975983699953833e-5,4.957295059706262e-8,0.0047581194741599594,-2.882542250153593e-5,4.921372935448555e-8,0.004758160019778779,-2.876818870394926e-5,4.9076934374705044e-8,0.004758211358591651,-2.8813062505827567e-5,4.9182827912228046e-8,0.004758317093348088,-2.894711954955259e-5,4.950002836532726e-8,0.004758513086696229,-2.913579719092093e-5,4.994582695633771e-8,0.004758817511140333,-2.932837760191171e-5,5.03993731608605e-8,0.004759223605850981,-2.9468701036464705e-5,5.072723219425754e-8,0.004759697867909933,-2.9509504216527897e-5,5.0817464553032814e-8,0.004760185864983653,-2.942696235017769e-5,5.061410130962157e-8,0.0047606259543624555,-2.9230317643366145e-5,5.0139889000795495e-8,0.004760967607467908,-2.896139174117637e-5,4.9494965504536796e-8,0.004761187350905263,-2.8682116608214554e-5,4.882704196243258e-8,0.004761294966547717,-2.8454389880011927e-5,4.828336259201367e-8,0.004761327275387122,-2.8321230768383856e-5,4.796585845162461e-8,0.004761333553681048,-2.829714704173953e-5,4.790836114893017e-8,0.0047613601652829966,-2.8369688621673795e-5,4.808053312846534e-8,0.004761440321646852,-2.8508399895063426e-5,4.8409387338905586e-8,0.004761590551451071,-2.8675522491192136e-5,4.880485640357133e-8,0.004761812082991868,-2.883449707617644e-5,4.917998782520274e-8,0.004762094385548418,-2.8955069947828657e-5,4.946298307321452e-8,0.004762418882065095,-2.9015693696433737e-5,4.960280392062293e-8,0.0047627620311700624,-2.9004461174501594e-5,4.95713500331758e-8,0.004763097828331392,-2.8919547543918302e-5,4.936452599578333e-8,0.004763400221147088,-2.8769621484632385e-5,4.90032528762637e-8,0.004763646058855578,-2.8574085268911304e-5,4.8534040160042696e-8,0.004763818946533213,-2.8362398774863e-5,4.802731915464349e-8,0.004763913739565946,-2.8171404920085826e-5,4.757097276326134e-8,0.004763940543520972,-2.8039773963918373e-5,4.725700354486537e-8,0.004763926283878361,-2.7999613583819032e-5,4.7161505527736824e-8,0.004763911790083301,-2.806694015820014e-5,4.732201788368541e-8,0.004763943561668426,-2.8234348316907707e-5,4.772020956502153e-8,0.004764061768513518,-2.846950262937871e-5,4.827848357257109e-8,0.004764288248044224,-2.8721294087771193e-5,4.8874818169044365e-8,0.004764618840848933,-2.893247019251986e-5,4.93729414401414e-8,0.004765022978940383,-2.905493603698263e-5,4.965875709174304e-8,0.004765450868508584,-2.9062967578863874e-5,4.967170122917772e-8,0.004765846191254104,-2.8960399760946087e-5,4.942169071629253e-8,0.00476616076776282,-2.8779715550303997e-5,4.8986766544630736e-8,0.004766367084636814,-2.8573141543301774e-5,4.849172329484978e-8,0.004766464911858467,-2.839814847115955e-5,4.807347695622499e-8,0.00476647980983421,-2.8301831799976193e-5,4.784386143983262e-8,0.004766454199070231,-2.830937480805551e-5,4.7862255367856655e-8,0.004766434603844106,-2.8420157629011527e-5,4.8126495550133353e-8,0.004766459867818386,-2.861169104607286e-5,4.8582435764613466e-8,0.004766553900979995,-2.8848469249434867e-5,4.9145161379864336e-8,0.004766723895020026,-2.9091731049801776e-5,4.9722271610959204e-8,0.004766962652236033,-2.9307102792118214e-5,5.023203099217928e-8,0.004767252783211253,-2.946903329270971e-5,5.061383669831442e-8,0.004767570966247876,-2.956252059197733e-5,5.083224211036534e-8,0.00476789143265435,-2.9583263200849124e-5,5.0877272768619633e-8,0.004768188657904238,-2.9537233992896767e-5,5.076341708753041e-8,0.004768439713838026,-2.9440208044921784e-5,5.0528530531352904e-8,0.004768626910754468,-2.9317193423369705e-5,5.0232483468787865e-8,0.004768741178477299,-2.9201099070795987e-5,4.9953931538163455e-8,0.004768786027644776,-2.9129513499080413e-5,4.978252629146496e-8,0.004768780936853772,-2.9138496012208616e-5,4.980400285879896e-8,0.0047687618966803106,-2.9253256552848995e-5,5.007792821246455e-8,0.004768776430770757,-2.94777909524039e-5,5.0613091054872876e-8,0.004768871988096792,-2.9788111750287958e-5,5.13515752527904e-8,0.004769080444607102,-3.013432954967566e-5,5.2173957718739495e-8,0.004769405284770623,-3.0453486715106665e-5,5.293006343952431e-8,0.004769818220406904,-3.0688999004594416e-5,5.3485350267577706e-8,0.00477026743433048,-3.080834002271513e-5,5.376298803352503e-8,0.004770693577738604,-3.081168201237658e-5,5.3764285152528835e-8,0.004771046589895863,-3.072935915638893e-5,5.3562407814568835e-8,0.004771297631526678,-3.0610999818195513e-5,5.3276237909610404e-8,0.004771443711692161,-3.051122681918304e-5,5.303613422492912e-8,0.004771505396973143,-3.047631542556714e-5,5.295212013490912e-8,0.004771519499267242,-3.0534710642808274e-5,5.3091406911566415e-8,0.004771529205577235,-3.0692816320908944e-5,5.346855026149306e-8,0.00477157418650815,-3.0936189653487376e-5,5.404847750248202e-8,0.004771682921045021,-3.123511651048176e-5,5.4759893534474465e-8,0.004771868687189363,-3.1552574400663744e-5,5.551430977654335e-8,0.004772129449714966,-3.1852223337845775e-5,5.622508871487745e-8,0.004772450721118148,-3.210457768014518e-5,5.682212037646142e-8,0.0047728099065585915,-3.2290564110685556e-5,5.726024480323222e-8,0.004773180754965365,-3.240266257319448e-5,5.752190311025016e-8,0.004773537085899212,-3.244442374528547e-5,5.761592957241243e-8,0.004773855633711976,-3.242925814099788e-5,5.757463774878549e-8,0.004774118342142201,-3.237905496994603e-5,5.7450525834272396e-8,0.004774314614586185,-3.23226647010406e-5,5.731264700502641e-8,0.004774443914942631,-3.2293765111534964e-5,5.724146147285952e-8,0.004774518652136438,-3.232717786829844e-5,5.731994509929363e-8,0.0047745663374796085,-3.245259117379958e-5,5.761852250142311e-8,0.004774628801644312,-3.268548015279706e-5,5.817341730913397e-8,0.004774755642402249,-3.301726301171104e-5,5.896332753649877e-8,0.004774990554962329,-3.340982109567715e-5,5.989660608993938e-8,0.004775353818295921,-3.3800784181514464e-5,6.082409330155231e-8,0.004775829687604098,-3.412186477507274e-5,6.158296115132251e-8,0.004776367868533359,-3.4323594773016025e-5,6.205572173406188e-8,0.004776900497853547,-3.439347655809735e-5,6.22134491263007e-8,0.004777365818310518,-3.435798439395554e-5,6.21203712505869e-8,0.004777726423271264,-3.426947678704886e-5,6.190234646575702e-8,0.004777975587727213,-3.418704078505039e-5,6.170085067616404e-8,0.004778133031878161,-3.416016772550692e-5,6.163388088984261e-8,0.004778235183303571,-3.42193194337018e-5,6.177353927618648e-8]} \ No newline at end of file diff --git a/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_27.json b/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_27.json new file mode 100644 index 0000000..2b68f8a --- /dev/null +++ b/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_27.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1.0,"startIndex":27000,"numberOfSamples":426,"samples":[0.004778324486778677,-3.437325503603603e-5,6.213990841775234e-8,0.0047784403655323285,-3.4611193149972956e-5,6.270647293317436e-8,0.004778612794687001,-3.490776213298559e-5,6.34120907874662e-8,0.004778858592736182,-3.52292773450405e-5,6.41760174740733e-8,0.004779180332297561,-3.554033000747647e-5,6.491361305699471e-8,0.0047795676373042825,-3.580972313910667e-5,6.555048782196374e-8,0.004780000304382801,-3.601491695515349e-5,6.603309632804475e-8,0.00478045244087296,-3.61445559073166e-5,6.63347373647879e-8,0.004780896788498023,-3.619907152539314e-5,6.64569282050896e-8,0.004781308537182374,-3.6189716300693844e-5,6.642701476463283e-8,0.004781668287402928,-3.613665338138569e-5,6.62935418736394e-8,0.004781964263597514,-3.606664631235279e-5,6.612070094818705e-8,0.004782194088007322,-3.6010502207012165e-5,6.598220199376154e-8,0.004782366358377176,-3.600003307813221e-5,6.595397202033107e-8,0.004782501973157172,-3.6063967015481664e-5,6.610431957871602e-8,0.004782634428155468,-3.622211612037997e-5,6.647996630880908e-8,0.004782807312744113,-3.647777437681964e-5,6.708796154697767e-8,0.004783066725500625,-3.681018070253991e-5,6.787788985789277e-8,0.004783447527929692,-3.717158351927006e-5,6.873512189479286e-8,0.004783956543699519,-3.749495769285591e-5,6.949941757309266e-8,0.004784561694818515,-3.7714824470447004e-5,7.001467512930746e-8,0.00478519734376055,-3.779386901530488e-5,7.019245393058328e-8,0.004785787298279908,-3.773988586048272e-5,7.005238005891471e-8,0.004786273540716633,-3.760159745695435e-5,6.971198893123057e-8,0.004786634261718939,-3.7446681679021194e-5,6.93338948131939e-8,0.004786883955125812,-3.7336538281738074e-5,6.90651418882107e-8,0.004787060855944783,-3.731025026111713e-5,6.89987545085644e-8,0.004787211498019626,-3.738052485901743e-5,6.916423518663561e-8,0.004787378723491085,-3.753768633517913e-5,6.953747098677388e-8,0.004787594743852002,-3.775688736390837e-5,7.005827277528313e-8,0.004787878341866488,-3.8005421267547694e-5,7.064797754466723e-8,0.004788234677867704,-3.824887091042978e-5,7.122411974828502e-8,0.004788656578890198,-3.845602832364749e-5,7.171211724931977e-8,0.004789126866304347,-3.8602762874008655e-5,7.205447458736902e-8,0.004789621527438917,-3.867476505188969e-5,7.221733392634786e-8,0.004790113453092092,-3.866900598852055e-5,7.219394452663505e-8,0.004790576389242894,-3.859380569021363e-5,7.200475975629059e-8,0.004790988658217021,-3.846749668906106e-5,7.169414035802423e-8,0.004791336185455692,-3.831592746623132e-5,7.132428928460062e-8,0.004791614602286293,-3.8169236193829984e-5,7.096748066882624e-8,0.004791830442019499,-3.8058199395276177E-05,7.069730505809583e-8,0.00479200147328233,-3.8010251494226334e-5,7.057912997799612e-8,0.00479215608282581,-3.8045112493544786e-5,7.065962097547686e-8,0.004792331243570715,-3.816988109148568e-5,7.095502401154791e-8,0.00479256801539422,-3.837391090721481e-5,7.143902873254914e-8,0.004792903356231363,-3.8625101009650084e-5,7.203412021826269e-8,0.00479335809982377,-3.887092912081732e-5,7.261428947824125e-8,0.004793923998139211,-3.904832069801235e-5,7.302876037880577e-8,0.004794557121329183,-3.910366330394545e-5,7.314982344552248e-8,0.004795186187943556,-3.901641098772414e-5,7.292918982979318e-8,0.004795737032643518,-3.881216157437762e-5,7.242916797983955e-8,0.004796161501972789,-3.855411099464743e-5,7.180203477009054e-8,0.004796453566145229,-3.831658356890081e-5,7.122636889591443e-8,0.004796644767523727,-3.815714860499036e-5,7.084000022037542e-8,0.004796785949434881,-3.8101951194646106e-5,7.070485098911682e-8,0.004796928139441377,-3.8146598603855446e-5,7.080934608157665e-8,0.004797110480654036,-3.8265789851055167e-5,7.109188904690533e-8,0.004797355877127002,-3.8424311612934556e-5,7.146748579270787e-8,0.004797671612426517,-3.8585616852327366e-5,7.184835086333892e-8,0.004798052093481322,-3.8717282547673696e-5,7.215687639979793e-8,0.004798481982683185,-3.879416904832568e-5,7.233306811500727e-8,0.0047989392109531745,-3.880032466659669e-5,7.233903786826962e-8,0.004799398014519919,-3.873014716490181e-5,7.216177815700216e-8,0.004799832156249859,-3.858883316916818e-5,7.181423253686315e-8,0.004800218353251468,-3.839193072968296e-5,7.133417138730679e-8,0.004800539728226463,-3.816370201797726e-5,7.07801739212383e-8,0.004800788798428815,-3.7934150450836535e-5,7.022440790334248e-8,0.004800969422381577,-3.773493298607536e-5,6.97427737273164e-8,0.004801097307136082,-3.7594608437565975e-5,6.940350057998089e-8,0.004801198860837516,-3.753375575082618e-5,6.925545753494772e-8,0.004801308307002621,-3.7560557353341817e-5,6.931760143740602e-8,0.004801463061629263,-3.766739513003747e-5,6.957089748412672e-8,0.0048016973159992595,-3.7829085241195104e-5,6.995424232825527e-8,0.004802033897188718,-3.800393663211438e-5,7.036721161540528e-8,0.004802475381486049,-3.8139426649914707e-5,7.068384881196978e-8,0.004802997237534293,-3.8183940325160886e-5,7.078086051437349e-8,0.0048035477616877155,-3.810365748834886e-5,7.057799420498539e-8,0.004804059432364746,-3.789890582121566e-5,7.007704800926735e-8,0.004804471058177286,-3.76100617891968e-5,6.93758159734603e-8,0.004804751226949466,-3.730566920695092e-5,6.863938578566553e-8,0.0048049094711126545,-3.705654492532993e-5,6.803781398940207e-8,0.004804988697932718,-3.691017647857788e-5,6.768458911635844e-8,0.004805045208603211,-3.687881976068849e-5,6.760819207952647e-8,0.004805128912216125,-3.6943695478478026e-5,6.776250536534154e-8,0.004805272128763522,-3.706800766501402e-5,6.805842303113509e-8,0.0048054875443432725,-3.72102043926267e-5,6.839587172762585e-8,0.004805771578807736,-3.733305531184578e-5,6.868556225257375e-8,0.004806109373196501,-3.740819210339049e-5,6.885971585954908e-8,0.004806479267214914,-3.741763766075652e-5,6.887556737614801e-8,0.00480685624919262,-3.7353970688048305e-5,6.871568343569287e-8,0.00480721474503835,-3.722005965565962e-5,6.838732853486281e-8,0.004807531254878627,-3.70285788369557e-5,6.792132402469517e-8,0.004807787168840347,-3.680107359176237e-5,6.736978068548045e-8,0.0048079717908961535,-3.656606685754552e-5,6.680147748275388e-8,0.004808085124176199,-3.635572067784862e-5,6.629375291303479e-8,0.0048081395655390005,-3.6201003683608846e-5,6.59208353445968e-8,0.004808159619935799,-3.61259119702826e-5,6.573995300854134e-8,0.004808179052187587,-3.614182096799145e-5,6.577781399967254e-8,0.0048082354644977225,-3.624339663861216e-5,6.602088125342372e-8,0.004808363016906486,-3.640739698014146e-5,6.641263422122376e-8,0.004808584568140996,-3.659514206004428e-5,6.685967165663355e-8,0.004808904762436531,-3.6758854267688404e-5,6.724710168628325e-8,0.00480930579650223,-3.685155258136531e-5,6.746239580653564e-8,0.0048097478566896616,-3.683927126708737e-5,6.742470100953433e-8,0.004810176029910032,-3.6712847565078014e-5,6.711298772615927e-8,0.0048105340254307105,-3.649482817530326e-5,6.658239512536003e-8,0.004810781727205723,-3.62365842449442e-5,6.595705126594526e-8,0.004810909644980501,-3.6003671889103674e-5,6.539470778083783e-8,0.004810942478516832,-3.5853999525254e-5,6.503419712779448e-8,0.004810929054258762,-3.581891665158464e-5,6.495006857326439e-8,0.0048109239580987374,-3.589619723046781e-5,6.513597488805307e-8,0.0048109704482596355,-3.605632765339819e-5,6.552011162684835e-8,0.004811091479469972,-3.625616637154878e-5,6.599830095926331e-8,0.0048112894999106535,-3.645235261818129e-5,6.646628961790225e-8,0.004811551496979631,-3.661003899809157e-5,6.684062633294758e-8,0.004811855326073649,-3.6706519877171644e-5,6.706718834733222e-8,0.004812175008010524,-3.673147922115121e-5,6.71216166824625e-8,0.00481248442724685,-3.668578285980148e-5,6.70063528600365e-8,0.004812759857408077,-3.6580011791983614e-5,6.67471364140862e-8,0.004812982021847438,-3.643312892218514e-5,6.638984182107787e-8,0.004813138260380984,-3.627105788419161e-5,6.599705939990736e-8,0.004813224984539436,-3.612453739463318e-5,6.56428706687843e-8,0.004813250027706149,-3.6025539008764395e-5,6.540413556464342e-8,0.004813233901618618,-3.600194055235022e-5,6.53476083256435e-8,0.004813208641342787,-3.6070981482546236e-5,6.55141956879046e-8,0.004813213185891162,-3.623309956685937e-5,6.590422431888505e-8,0.0048132853329533815,-3.6468577247922494e-5,6.646953796652841e-8,0.00481345196089862,-3.6739232782648675e-5,6.711775543238068e-8,0.004813720524850067,-3.699585543676539e-5,6.773031548224511e-8,0.004814074915372328,-3.718990777229592e-5,6.819070851646075e-8,0.004814477519636433,-3.7286327454266165e-5,6.841524919716474e-8,0.004814877412507499,-3.727371265226798e-5,6.837744468682739e-8,0.004815222824200392,-3.71687674239285e-5,6.811846623591315e-8,0.004815474776181273,-3.70132472069625e-5,6.773954080785747e-8,0.0048156180606356,-3.686348225678969e-5,6.737652512252384e-8,0.004815665783668138,-3.677486127562191e-5,6.716247159200004e-8,0.004815655222405848,-3.678604759224073e-5,6.718971555136587e-8,0.004815636005506843,-3.690868613654817e-5,6.74853269118757e-8,0.004815655154643246,-3.712641741469069e-5,6.800902880734398e-8,0.0048157448657402905,-3.740272786418989e-5,6.86723392503097e-8,0.004815916982414414,-3.769330697538445e-5,6.936842915828944e-8,0.004816164398472773,-3.79575991566434e-5,6.999989097850887e-8,0.004816466732888395,-3.8166161444911164e-5,7.049630552378684e-8,0.004816796998892661,-3.830332545250297e-5,7.082047667647441e-8,0.004817127128752034,-3.8366574426466915e-5,7.096680517792435e-8,0.004817431716377734,-3.8364425072400815e-5,7.095614538559232e-8,0.00481769031494261,-3.831406952629976e-5,7.0830151666776e-8,0.004817889007363463,-3.823930287395324e-5,7.064632660863894e-8,0.004818021924002364,-3.81685964240486e-5,7.047337979987863e-8,0.004818092995005395,-3.8132677946559405e-5,7.038533637487357e-8,0.004818117609598462,-3.8160829347254704e-5,7.045252292139183e-8,0.0048181231757472446,-3.8275439457385075e-5,7.072838433001155e-8,0.004818147032808319,-3.848524220234855e-5,7.123323584537503e-8,0.004818230263552585,-3.877913888410908e-5,7.193954194116859e-8,0.004818407376247594,-3.9123929426344404e-5,7.276667979907158e-8,0.004818694517905241,-3.946919365675648e-5,7.359290131063591e-8,0.004819081226702352,-3.975987623674142e-5,7.428575222689352e-8,0.004819530473516512,-3.99528372131395e-5,7.474192447320143e-8,0.004819988207444505,-4.003071053802827e-5,7.492052207630327e-8,0.0048203989246250615,-4.000728896884301e-5,7.485582965376748e-8,0.004820721175466344,-3.99227597487728e-5,7.464556945092878e-8,0.004820937782280773,-3.9831445677784674e-5,7.442110541926777e-8,0.004821058434419171,-3.978679151255124e-5,7.431111753324506e-8,0.004821115078288102,-3.982808284365596e-5,7.44096350669423e-8,0.0048211522270188,-3.9972043873461636e-5,7.475600152324611e-8,0.004821215190839854,-4.021085655268812e-5,7.533039650683856e-8,0.004821339447086454,-4.051642323333889e-5,7.606436621672032e-8,0.004821543793180569,-4.084903826994292e-5,7.686186217830935e-8,0.004821828560137223,-4.11675330397259e-5,7.762370019061549e-8,0.00482217843219588,-4.143791773110746e-5,7.826830249781045e-8,0.004822568060222116,-4.163862375087511e-5,7.874420409142698e-8,0.004822968276370532,-4.176204785493435e-5,7.903364411314588e-8,0.0048233512962861805,-4.1813332547424874e-5,7.914952587908982e-8,0.004823694268337095,-4.180773689787612e-5,7.912902718095061e-8,0.004823981341733217,-4.176770959006623e-5,7.902653839294732e-8,0.004824204843306262,-4.172022434438517e-5,7.890725119874452e-8,0.004824366170721857,-4.169434217802275e-5,7.884127164436675e-8,0.0048244767088938545,-4.1718500655906905e-5,7.889702962949885e-8,0.004824558542278362,-4.1816828861910714e-5,7.9132317175072e-8,0.004824644046356498,-4.2004005130913916e-5,7.958186192139638e-8,0.004824772810595939,-4.227902970506275e-5,8.02424031086156e-8,0.004824984330163837,-4.261986981161869e-5,8.105999852427741e-8,0.0048253063789773926,-4.2982701249766916e-5,8.192845535537351e-8,0.004825742302472369,-4.330968240475467e-5,8.2708249557431e-8,0.004826263889668254,-4.354578668059347e-5,8.326714000557609e-8,0.004826816164327769,-4.365883275531775e-5,8.352838122738419e-8,0.004827334389224904,-4.3652515189787744e-5,8.350199407923697e-8,0.0048277656748831246,-4.356505406150206e-5,8.328128245698638e-8,0.00482808475136242,-4.3454640222978786e-5,8.300742298950006e-8,0.0048282979694060126,-4.337986978855226e-5,8.282198985286413e-8,0.004828436715004647,-4.3383781338829196e-5,8.28283556019412e-8,0.004828545452468338,-4.3485739353153795e-5,8.307227830943268e-8,0.004828669442671055,-4.368097256269977e-5,8.354112596095182e-8,0.004828845131978453,-4.394543747541324e-5,8.417594361299053e-8,0.004829094332003,-4.42434357404026e-5,8.489003053203357e-8,0.004829422222056958,-4.453594609792681e-5,8.558908046994333e-8,0.004829818689134246,-4.4788154520325726e-5,8.618928271603903e-8,0.004830262162433468,-4.497503014521456e-5,8.663067376891177e-8,0.004830724791376845,-4.508429236527066e-5,8.688419593273334e-8,0.004831177763389958,-4.5116784857431304e-5,8.695250414418422e-8,0.0048315958105310045,-4.50848066644472e-5,8.686584714086303e-8,0.004831960372320328,-4.50092207251216e-5,8.667501419792826e-8,0.004832261385448886,-4.4916181410082026e-5,8.644339426785272e-8,0.004832498085672877,-4.4834021165063305e-5,8.623945104183476e-8,0.004832679280731162,-4.479034989518507e-5,8.612971656792317e-8,0.004832823322580668,-4.480906858922817e-5,8.61715560370843e-8,0.004832957631610085,-4.490685000713927e-5,8.640463908636807e-8,0.0048331170643941285,-4.508874878499018e-5,8.684036295819687e-8,0.004833339822081472,-4.5343323574385394e-5,8.745021561454051e-8,0.004833659599911437,-4.5639123415037367e-5,8.815754137046817e-8,0.004834094074838598,-4.592604139982e-5,8.884105976880853e-8,0.004834633097564738,-4.6145321609871045e-5,8.935914049205118e-8,0.004835233759482804,-4.624855257649796e-5,8.959560230484134e-8,0.004835829415303181,-4.621862951064732e-5,8.951018080070509e-8,0.004836352230776127,-4.6080232054244594e-5,8.916366565204528e-8,0.0048367583349983355,-4.589150422661235e-5,8.869757625100208e-8,0.004837041591904654,-4.572106996194247e-5,8.827831621545146e-8,0.004837230223456968,-4.562385027524527e-5,8.803847379686291e-8,0.004837371762779652,-4.562714338453696e-5,8.804318221037112e-8,0.004837516153686477,-4.572936473719342e-5,8.828738354028514e-8,0.004837703559825233,-4.590705729913291e-5,8.871321255880796e-8,0.00483795842100459,-4.6124666861455577e-5,8.923395641208231e-8,0.0048382884248457615,-4.634354743735913e-5,8.975592732878355e-8,0.004838686449812278,-4.652885932931713e-5,9.019505444720963e-8,0.004839134059291325,-4.6654302346770156e-5,9.048817401084265e-8,0.00483960577414928,-4.670490119196287e-5,9.059963781515475e-8,0.004840073592346507,-4.6677962776577816e-5,9.052354945919353e-8,0.004840511260350432,-4.6582397345525144e-5,9.028205993460479e-8,0.004840897899231785,-4.643670396318439e-5,8.992042145949509e-8,0.004841220660300779,-4.626596989787898e-5,8.949965282921296e-8,0.004841476202205037,-4.6098371678003375e-5,8.908802385796573e-8,0.004841671077489782,-4.596168029442229e-5,8.875259106524241e-8,0.004841821307091204,-4.587997080031785e-5,8.855125453694367e-8,0.004841951292609372,-4.587045888723051e-5,8.852512147964674e-8,0.004842091964053706,-4.5940344193465115e-5,8.869088863412212e-8,0.004842277739297711,-4.6083631809650075e-5,8.903322182845005e-8,0.004842541493972926,-4.627838807084122e-5,8.949828371537751e-8,0.004842906839177331,-4.648600438823033e-5,8.999219477976895e-8,0.004843378264295116,-4.665522221668618e-5,9.039097681872455e-8,0.004843932381435793,-4.6733606371812626e-5,9.056834871587784e-8,0.004844516593310677,-4.6686017948423326e-5,9.044026966797496e-8,0.004845061297440305,-4.651301745333522e-5,9.000924058638993e-8,0.004845504427784852,-4.6256995746914114e-5,8.93789350952813e-8,0.004845816313409309,-4.598827316210438e-5,8.872033893206934e-8,0.004846009719910427,-4.5777184591241536e-5,8.820391758061302e-8,0.004846129972474116,-4.566860671556084e-5,8.793778061329034e-8,0.0048462338316596935,-4.567181248329228e-5,8.794324136066889e-8,0.004846370227429732,-4.576600567215227e-5,8.816863162886767e-8,0.0048465699861102345,-4.591338738919411e-5,8.852141023091782e-8,0.004846844129874208,-4.6071908146491065e-5,8.889930925992923e-8,0.004847187112262369,-4.6204138643279386e-5,8.921179902089594e-8,0.004847581703514996,-4.6282067896565305e-5,8.939150694429025e-8,0.004848003735402131,-4.6289076937789076e-5,8.939877769506586e-8,0.004848426256645651,-4.6220321509909585e-5,8.922246700657916e-8,0.004848823209408606,-4.608209856359733e-5,8.887836627853265e-8,0.004849172664527739,-4.58903562975773e-5,8.840557932192903e-8,0.0048494595475039315,-4.5668426291373705e-5,8.786099087737668e-8,0.0048496777143903665,-4.544400174802944e-5,8.731188333905859e-8,0.004849831083297237,-4.524549703219852e-5,8.682706510070045e-8,0.0048499335706496585,-4.5098191704872816e-5,8.646751496052212e-8,0.004850007839811998,-4.502058698290767e-5,8.627758023189437e-8,0.004850082971399407,-4.502123491055191e-5,8.627733894012528e-8,0.00485019108473835,-4.509627653317102e-5,8.645669590689583e-8,0.004850362866722029,-4.522799803925022e-5,8.677198648497969e-8,0.004850621906510939,-4.5384910987798636e-5,8.71463393443206e-8,0.004850977946640694,-4.552441540774088e-5,8.747633199424684e-8,0.00485142013660625,-4.5599608404899196e-5,8.764862963748815e-8,0.0048519131380055204,-4.557121093968653e-5,8.756886324253519e-8,0.004852400538216197,-4.5422915883702246e-5,8.719862480298039e-8,0.004852819081156075,-4.517383633579113e-5,8.658536065820687e-8,0.004853121273694221,-4.4878623615075926e-5,8.586240756352643e-8,0.004853295526580276,-4.461012521329985e-5,8.52067471895604e-8,0.004853370910340709,-4.443133874108983e-5,8.477085726904584e-8,0.004853402989489355,-4.437253239360528e-5,8.462723494908248e-8,0.004853450340338429,-4.4425573958519136e-5,8.475489986913897e-8,0.004853555566747505,-4.4554520782041413e-5,8.506551757055743e-8,0.004853737798332979,-4.471246662007726e-5,8.54446544743408e-8,0.00485399486389547,-4.485554721718429e-5,8.57858896141624e-8,0.004854309864890948,-4.495075979662197e-5,8.600964247263456e-8,0.00485465803028982,-4.497849770452831e-5,8.6069040778254e-8,0.00485501203358417,-4.493206747983682e-5,8.594850455856457e-8,0.00485534568228858,-4.481608527441229e-5,8.565974574854902e-8,0.004855636618776108,-4.464461889212684e-5,8.523726941055656e-8,0.004855868536584048,-4.4439150233652795e-5,8.473347207406128e-8,0.0048560330722339125,-4.422617519806977e-5,8.421282174134603e-8,0.004856131296365982,-4.4034205116743515e-5,8.374453608584602e-8,0.004856174444895931,-4.389004599187381e-5,8.339349699528367e-8,0.004856183359155293,-4.381463425405478e-5,8.321012126246628e-8,0.004856186304500604,-4.381908244061987e-5,8.322079181766202e-8,0.0048562152009108475,-4.3901681750652377e-5,8.342065742125228e-8,0.004856300584346492,-4.4046572784289005e-5,8.37705159905011e-8,0.004856465867596215,-4.422466583704176e-5,8.419918887759595e-8,0.004856721671702306,-4.439714167069116e-5,8.46121777512187e-8,0.004857061176355107,-4.452169624559631e-5,8.490696041970339e-8,0.004857457829840346,-4.456149265628484e-5,8.499476400738042e-8,0.00485786732258919,-4.4495941699599566e-5,8.482662558070934e-8,0.0048582357611451545,-4.433064375541632e-5,8.44172762033907e-8,0.004858514335168011,-4.4101716857274364e-5,8.385533918607352e-8,0.004858676764439197,-4.386931833014717e-5,8.32873433067394e-8,0.004858731337204977,-4.369916734671689e-5,8.287271910808891e-8,0.004858719353578516,-4.363884359422422e-5,8.272626402178683e-8,0.004858699079100403,-4.370113971203409e-5,8.287790899006382e-8,0.004858723862983524,-4.3863152455982114e-5,8.32708541147057e-8,0.004858826040038608,-4.4079389942548624e-5,8.379377681762571e-8,0.00485901243298159,-4.429951477497208e-5,8.432416681478761e-8,0.004859269289883763,-4.448198863401187e-5,8.476146671893096e-8,0.004859570954995191,-4.460045524794661e-5,8.504236029963514e-8,0.004859887795941977,-4.464428204949593e-5,8.514179476144743e-8,0.004860191622124641,-4.461614115330714e-5,8.506688634502332e-8,0.004860458789785439,-4.452889224023546e-5,8.48492775788132e-8,0.004860671945597038,-4.440278682495274e-5,8.453839235720549e-8,0.004860821241729715,-4.426305156165498e-5,8.419563819915824e-8,0.004860905419245433,-4.4137473414217795e-5,8.388856225560573e-8,0.004860932724572903,-4.405349915154474e-5,8.368376120026044e-8,0.004860921196088654,-4.403452027360999e-5,8.363778704610134e-8,0.004860897562807879,-4.4095524083173727e-5,8.378654746993848e-8,0.004860894101884112,-4.4238943389541296e-5,8.413526183041853e-8,0.0048609433408634845,-4.4451997534014956e-5,8.465211854456047e-8,0.004861071294856948,-4.470688491827875e-5,8.526891053304732e-8,0.004861290736213975,-4.4964675805282034e-5,8.589067031036176e-8,0.004861596402411748,-4.518269904195639e-5,8.641375721967553e-8,0.00486196380325942,-4.5324110154403064e-5,8.674916232953769e-8,0.0048623525742310615,-4.536760086172835e-5,8.684603658726279e-8,0.004862714420798966,-4.531482706925229e-5,8.670954354944289e-8,0.004863004623796651,-4.519303097661249e-5,8.640693812132527e-8,0.004863194723425296,-4.505076964306804e-5,8.605688184505726e-8,0.0048632825102846704,-4.494612337857568e-5,8.58005774809639e-8,0.004863294732214557,-4.492967036023607e-5,8.576036145889535e-8,0.004863279646140609,-4.50281209417457e-5,8.600009804265731e-8,0.004863291238192513,-4.5235972657266385e-5,8.650521261792416e-8,0.004863371875000471,-4.5519265521149334e-5,8.719217023603693e-8,0.004863541092600532,-4.5828989880735264e-5,8.794132978880563e-8,0.0048637941431590335,-4.611699389480268e-5,8.863570335939151e-8,0.004864108348633099,-4.6347665140982225e-5,8.918925654220265e-8,0.00486445241548828,-4.650270904600831e-5,8.95582979767788e-8,0.0048647945683711405,-4.658026758675538e-5,8.973908538631549e-8,0.004865107760312099,-4.659122884457311e-5,8.975868058567857e-8,0.004865372216069882,-4.655509521210519e-5,8.966485595145175e-8,0.004865576369720018,-4.649651590121914e-5,8.95177115085765e-8,0.004865717179949249,-4.644257685804242e-5,8.938315205316097e-8,0.004865800395588709,-4.642041241650156e-5,8.932709842864613e-8,0.004865840829426269,-4.6454505120622764e-5,8.940887781848442e-8,0.004865862139653059,-4.656317873149144e-5,8.967262906616372e-8,0.00486589520436499,-4.675433988431925e-5,9.013692766243163e-8,0.00486597415698355,-4.7021367342236717e-5,9.07848659725663e-8,0.004866129742279287,-4.7340909048838094e-5,9.15588685419079e-8,0.004866380968437412,-4.7674714425056845e-5,9.236536298478788e-8,0.004866727661902241,-4.797676853483728e-5,9.309231162293983e-8,0.004867147324684734,-4.8204752728047944e-5,9.363717379329655e-8,0.004867598631309231,-4.833237436364809e-5,9.393686151571851e-8,0.00486803127888161,-4.835807099496604e-5,9.398874966956663e-8,0.004868399226752945,-4.8306738611208255e-5,9.385460419655338e-8,0.0048686730911499205,-4.8223736532853264e-5,9.364566598366033e-8,0.004868847969216985,-4.816304071077976e-5,9.349354754634237e-8,0.0048689445715649204,-4.817300077705271e-5,9.351546946352385e-8,0.004869003383995121,-4.8283613222312364e-5,9.378341924616291e-8,0.004869073380924081,-4.849890638879081e-5,9.43059380023238e-8,0.0048691985524858695,-4.8796843985408144e-5,9.50282614209952e-8,0.004869406558763143,-4.9136789945777165e-5,9.585077822881535e-8,0.0048697031730176215,-4.947169627205198e-5,9.665881714263925e-8,0.004870073718317038,-4.9760441298475204e-5,9.735263346838005e-8,0.004870489786100687,-4.9976304469416066e-5,9.786787764373727e-8,0.004870917867218918,-5.010990840288102e-5,9.818254906626896e-8,0.004871326805083185,-5.016747905294032e-5,9.831256717497081e-8,0.004871692531052498,-5.016661596207553e-5,9.830134495028733e-8,0.004872000142688164,-5.0131652452055496e-5,9.820844897666668e-8,0.004872244237261572,-5.008976155652556e-5,9.810014547881626e-8,0.004872428488982316,-5.0068019068499616e-5,9.804229692860984e-8,0.004872565118915182,-5.0091037618228904e-5,9.809461966944169e-8,0.0048726744092658725,-5.017854275436142e-5,9.830475483883204e-8,0.004872783856378547,-5.034234927557437e-5,9.870086948139556e-8,0.00487292606572329,-5.058265619676878e-5,9.928265588588883e-8,0.0048731343054660824,-5.0884445663438285e-5,1.0001269113882292e-7,0.004873435129492483,-5.1215919899950034e-5,1.0081284930929764e-7,0.0048738390660209,-5.153170034332811e-5,1.015723136253397e-7,0.004874332805219763,-5.178266204412348e-5,1.0217165527867006e-7,0.004874877889632444,-5.1930947916088274e-5,1.0251939608479708e-7,0.004875419222669628,-5.196437324983978e-5,1.0258697726965176e-7,0.004875901546822159,-5.190279042143044e-5,1.0242405238386324e-7,0.004876286929160504,-5.179247995187442e-5,1.0214451691172397e-7,0.004876565554442809,-5.1691121210262656e-5,1.0188954108256096e-7,0.004876756238178176,-5.165032541885692e-5,1.0178476106510073e-7,0.004876898311797196,-5.170234825273362e-5,1.0190790776405611e-7,0.004877039291090606,-5.185415619525043e-5,1.0227463542533915e-7,0.004877222603926023,-5.20886997024062e-5,1.0284205932149231e-7,0.004877478233490123,-5.237148471881915e-5,1.0352515418660084e-7,0.004877817707882309,-5.2659998699574115e-5,1.0421992098956346e-7,0.004878233764547773,-5.291357147653802e-5,1.0482740644614637e-7,0.004878704103850562,-5.310151400306657e-5,1.0527339067231532e-7,0.0048791978095219886,-5.3207947753445196e-5,1.0551996632875121e-7,0.004879682486508378,-5.323275948828798e-5,1.055676880907866e-7,0.0048801303140343175,-5.318929968967715e-5,1.0544982140066945e-7,0.004880521970866183,-5.3100190207577814e-5,1.0522202640813102e-7,0.004880848294653186,-5.299267897057388e-5,1.0495098947741473e-7,0.0048811102117961675,-5.289457264711433e-5,1.0470451475918726e-7,0.004881317747189281,-5.2831136722353006e-5,1.045440020638691e-7,0.004881488756100408,-5.282274765893747e-5,1.0451875219165502e-7,0.004881647595748994,-5.2882791831743e-5,1.0466084584560046e-7,0.004881823499265498,-5.301535663747745e-5,1.0497951455693293e-7,0.004882047968987757,-5.321257874700818e-5,1.0545473459947656e-7,0.004882350207115018,-5.34522364381064e-5,1.0603152097503244e-7,0.004882749931583773,-5.3697319596594616e-5,1.0661911602920183e-7,0.004883248411975124,-5.390029444311228e-5,1.0710159048430002e-7,0.004883821223283848,-5.40142565780382e-5,1.0736509452548331e-7,0.004884418535029374,-5.400964585550486e-5,1.07338516263783e-7,0.004884977331862179,-5.388945231346987e-5,1.0703038492932809e-7,0.004885442982784979,-5.369291520334631e-5,1.0653767571805211e-7,0.0048857896031786405,-5.348285896525935e-5,1.060146273029446e-7,0.004886027899428079,-5.33225701704739e-5,1.0561598542362421e-7,0.004886197488183362,-5.3254761974328e-5,1.0544546399226637e-7,0.004886350220054461,-5.329186339414478e-5,1.0553216327134056e-7,0.00488653376420074,-5.341832436145469e-5,1.058366269418165e-7,0.004886780973520583,-5.3599972431194304e-5,1.0627419538425782e-7,0.004887105836022719,-5.379505921217329e-5,1.0674231474866518e-7,0.00488750437159898,-5.3963749688183614e-5,1.071437647657893e-7,0.004887958428542934,-5.4074868096297026e-5,1.074029666188478e-7,0.004888440866556042,-5.410987220354813e-5,1.0747544257958971e-7,0.004888921197063378,-5.406429862465683e-5,1.0735113586693954e-7,0.004889370931079509,-5.3946902121682926e-5,1.0705217492870693e-7,0.004889767913025726,-5.377692855867965e-5,1.0662613496775146e-7,0.004890099148351,-5.3580229669963764e-5,1.0613649899040003e-7,0.0048903619623596834,-5.3384985707783635e-5,1.0565218481282615e-7,0.004890563646224889,-5.321774155887791e-5,1.0523787065252472e-7,0.004890720050330306,-5.310023848256073e-5,1.0494629332969267e-7,0.00489085365033552,-5.304708763981897e-5,1.0481260896297154e-7,0.004890991351657461,-5.306401912048959e-5,1.0485014474108545e-7]} \ No newline at end of file diff --git a/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_3.json b/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_3.json new file mode 100644 index 0000000..568a595 --- /dev/null +++ b/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_3.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1.0,"startIndex":3000,"numberOfSamples":1000,"samples":[-0.0016674126654346861,-5.729007527752374e-7,-1.4186514962201376e-8,-0.0016673064653587321,-6.734015165127343e-7,-1.4270276706700349e-8,-0.0016671184978181936,-7.942288639572809e-7,-1.4371055120518062e-8,-0.0016668581653082658,-8.937549802808163e-7,-1.4454094104781238e-8,-0.0016665462863460693,-9.416288807763305e-7,-1.4494058993362982e-8,-0.0016662092022260732,-9.201664606449159e-7,-1.4476216298494372e-8,-0.0016658745541862263,-8.237755484396502e-7,-1.4395945891238539e-8,-0.0016655683268689287,-6.578186550518726e-7,-1.4257765362438796e-8,-0.0016653124526036561,-4.3741842925891825e-7,-1.4074304544820363e-8,-0.0016651224530400707,-1.8607276082775895e-7,-1.3865132894139859e-8,-0.0016650049642489826,6.643303169026634e-8,-1.3655018765663274e-8,-0.0016649554928538104,2.8739437967418395e-7,-1.347113935991257e-8,-0.0016649572160637774,4.4604795424859426e-7,-1.3339056817593825e-8,-0.0016649817855313575,5.194876808583452e-7,-1.3277813795917761e-8,-0.0016649928181043465,4.985157505581373e-7,-1.329507262967021e-8,-0.00166495207648607,3.9179414860133283e-7,-1.3383654246342673e-8,-0.0016648274069321705,2.26664827416035e-7,-1.352084347660865e-8,-0.001664600739494372,4.5708357821865315e-8,-1.367124421905444e-8,-0.001664274219706894,-1.0088239670451744e-7,-1.3793127784445051e-8,-0.0016638726869829803,-1.6616023108150796e-7,-1.3847473701249546e-8,-0.0016634410124484337,-1.1869904209770958e-7,-1.3808176255662588e-8,-0.0016630354517974334,4.659577780072841e-8,-1.3671009811639623e-8,-0.001662709627560605,3.030262655914423e-7,-1.3458136463059741e-8,-0.0016624982880314673,5.958730436677693e-7,-1.3214963229037875e-8,-0.001662404794976831,8.568537842964569e-7,-1.2998163907749735e-8,-0.0016623988702162175,1.0254972177202318e-6,-1.2857973826241794e-8,-0.0016624271346917532,1.0685455003698803e-6,-1.2822084766277138e-8,-0.0016624319248438782,9.883600460942418e-7,-1.2888614390257493e-8,-0.001662369242835807,8.174787260993229e-7,-1.3030565315055226e-8,-0.0016622183938909184,6.041843871353809e-7,-1.3207794337616674e-8,-0.0016619818565370786,3.9717316279278375e-7,-1.3379782718210806e-8,-0.0016616789185444716,2.3502260822879676e-7,-1.3514435597222689e-8,-0.0016613377123989804,1.417265131744283e-7,-1.3591822041815075e-8,-0.0016609886089808544,1.2662367606576446e-7,-1.360423147824086e-8,-0.0016606598282278315,1.863922842656112e-7,-1.3554490273298172e-8,-0.0016603748199426104,3.0744517886406376e-7,-1.3453938412913645e-8,-0.0016601505255394024,4.680421085231016e-7,-1.3320649411749458e-8,-0.0016599957713533597,6.402384067973255e-7,-1.3177803860265977e-8,-0.0016599094977454972,7.922656339357963e-7,-1.3051723165875262e-8,-0.0016598791098382528,8.920717595398815e-7,-1.296895475612751e-8,-0.0016598798337515695,9.124839151887528e-7,-1.2952012505708826e-8,-0.001659876379622952,8.376861160842476e-7,-1.3014014454721298e-8,-0.0016598280484381447,6.695105801256583e-7,-1.3153456420237919e-8,-0.0016596973256014155,4.309782162426044e-7,-1.3351256087288848e-8,-0.001659460185844518,1.644717783767708e-7,-1.3572258355341262e-8,-0.0016591147270322442,-7.656124715275952e-8,-1.3772130406953462e-8,-0.0016586845140589572,-2.408327142852044e-7,-1.3908356700286018e-8,-0.0016582146152118225,-2.934361433791715e-7,-1.3952042824758485e-8,-0.0016577609941446497,-2.2641155822799227e-7,-1.3896646268225657e-8,-0.0016573762399432718,-6.21980795145008e-8,-1.3760786009222337e-8,-0.0016570956693766155,1.5125835864904947e-7,-1.3584155440668849e-8,-0.0016569277304044742,3.526938844470182e-7,-1.3417439166449944e-8,-0.0016568517179810498,4.838995413033776e-7,-1.3308801583491872e-8,-0.0016568239567060939,5.055051370474298e-7,-1.329085416886814e-8,-0.0016567907846579653,4.069873023778711e-7,-1.3372361772156796e-8,-0.0016567038867919353,2.0748592272561992e-7,-1.3537525963856996e-8,-0.001656532487673912,-5.231661404744325e-8,-1.375267653077842e-8,-0.0016562685745488837,-3.2332365832738283e-7,-1.3977143471321514e-8,-0.0016559247754694372,-5.607837026808751e-7,-1.4173848477561865e-8,-0.0016555275418913935,-7.327632792039998e-7,-1.4316343411791168e-8,-0.0016551092006448183,-8.233258722118555e-7,-1.4391445802169112e-8,-0.0016547013993568505,-8.316848376668471e-7,-1.439852456672699e-8,-0.0016543308264849162,-7.693391900307951e-7,-1.4347111821174578e-8,-0.0016540168884855639,-6.568154472154755e-7,-1.4254194224863743e-8,-0.00165377050241833,-5.208100635030763e-7,-1.4141844859881727e-8,-0.001653593196269087,-3.917048152325665e-7,-1.4035172614624135e-8,-0.001653476129350162,-3.0088888763530243e-7,-1.3960118899539777e-8,-0.0016533992421155022,-2.7714172882948965e-7,-1.3940479436687606e-8,-0.0016533313967630901,-3.4151069511884616e-7,-1.3993675666328718e-8,-0.001653232946576946,-5.008677652271779e-7,-1.4125420729844042e-8,-0.001653062183142646,-7.418000865678651e-7,-1.4324648124704472e-8,-0.0016527858361718897,-1.0281008249946432e-6,-1.456142157572885e-8,-0.0016523911376223348,-1.305464686483764e-6,-1.4790826634502255e-8,-0.0016518942603108112,-1.5146795210217696e-6,-1.4963914427081036e-8,-0.001651339688429203,-1.609920243457309e-6,-1.5042853245080335e-8,-0.0016507887609035258,-1.5746267527137686e-6,-1.501402985970417e-8,-0.0016503014049699613,-1.4275884845194972e-6,-1.4893009020259092e-8,-0.0016499186673924447,-1.2167625516751627e-6,-1.4719368976416159e-8,-0.0016496525262988243,-1.0042695210536724e-6,-1.4544312694847968e-8,-0.0016494852722868205,-8.488903215522008e-7,-1.4416272286595473e-8,-0.0016493768933366411,-7.916520763817829e-7,-1.4369068693422452e-8,-0.0016492770441696662,-8.477319335831267e-7,-1.441525088113211e-8,-0.0016491379089976894,-1.005586142802875e-6,-1.454535921366001e-8,-0.0016489247906258263,-1.2324077723442385e-6,-1.4732398295614608e-8,-0.0016486222435663186,-1.483745124523919e-6,-1.4939753931208416e-8,-0.0016482349077829455,-1.714387062746813e-6,-1.5130169934377415e-8,-0.0016477837047942081,-1.8876251196414704e-6,-1.5273388453025773e-8,-0.0016472992687706423,-1.9809318567924716e-6,-1.53508288088995e-8,-0.0016468148667739665,-1.987610693939075e-6,-1.5356941194346824e-8,-0.0016463605427636564,-1.915263460295526e-6,-1.529794271457019e-8,-0.0016459592556230336,-1.7824940981911972e-6,-1.5189110139549575e-8,-0.0016456248820582223,-1.6151699815473968e-6,-1.5051713360546717e-8,-0.0016453614347904178,-1.4430148462818047e-6,-1.4910218742385646e-8,-0.0016451628120618224,-1.2966201405178637e-6,-1.4789829372760213e-8,-0.0016450127057533186,-1.2044728826030512e-6,-1.4714032583746818e-8,-0.0016448847709624051,-1.1893868953393184e-6,-1.4701653351213367e-8,-0.0016447437874436506,-1.2638103881750775e-6,-1.4762980827432679e-8,-0.0016445491773054968,-1.4241708565546202e-6,-1.48951005064794e-8,-0.0016442623193067107,-1.645902905672155e-6,-1.5077791633897704e-8,-0.0016438578535539828,-1.8825890625995552e-6,-1.5272828105373147e-8,-0.0016433361724119703,-2.073293524915233e-6,-1.5430051194420875e-8,-0.0016427306855190664,-2.1595591992381907e-6,-1.5501400836018825e-8,-0.0016421028587470339,-2.107131410238427e-6,-1.545878784662949e-8,-0.0016415236596336047,-1.921503495197351e-6,-1.5306805835881395e-8,-0.0016410491716874508,-1.6475995048951014e-6,-1.508237666232406e-8,-0.0016407026930217476,-1.3532595827599134e-6,-1.4841150585489634e-8,-0.0016404710798181709,-1.1058220927750292e-6,-1.4638324030823384e-8,-0.0016403140434198668,-9.529880693486804e-7,-1.4513000663883932e-8,-0.0016401794241349037,-9.138189075949228e-7,-1.4480834585139251e-8,-0.001640017698453548,-9.79444485492997e-7,-1.4534599598191043e-8,-0.0016397921504842823,-1.1199629554508742e-6,-1.46498259445195e-8,-0.001639483962540219,-1.2938873374757163e-6,-1.4792536911725107e-8,-0.0016390929025693608,-1.4576102121358978e-6,-1.492701055511908e-8,-0.0016386346780947172,-1.5734220969873702e-6,-1.5022352898574618e-8,-0.0016381360741017184,-1.615194314249089e-6,-1.50571474431728e-8,-0.0016376290513289884,-1.5712506992188948e-6,-1.502179647791281e-8,-0.0016371449438908516,-1.4444928408342774e-6,-1.4918620999811586e-8,-0.0016367096648583616,-1.25031555175269e-6,-1.4760165902237422e-8,-0.0016363404739891797,-1.0131188796195411e-6,-1.4566365366279228e-8,-0.0016360443826047542,-7.623240043753878e-7,-1.4361298196704363e-8,-0.0016358178081207191,-5.285826195157557e-7,-1.4170084868955413e-8,-0.0016356469788772767,-3.4036970890659786e-7,-1.4016082203265821e-8,-0.001635508814606122,-2.207663722595964e-7,-1.3918227118982464e-8,-0.0016353723164385856,-1.840892669518823e-7,-1.3888261221685396e-8,-0.0016352009622329746,-2.3204470491520787e-7,-1.3927578205263703e-8,-0.0016349571713373055,-3.4963943026521634e-7,-1.4023883873503605e-8,-0.0016346099310555375,-5.023932688054426e-7,-1.4148931817790818e-8,-0.0016341454885156152,-6.3792299560969e-7,-1.4259849140121573e-8,-0.0016335782650784292,-6.955174267981529e-7,-1.4307009536395608e-8,-0.0016329555381133835,-6.248455078933967e-7,-1.4249353069369657e-8,-0.001632348566823429,-4.0811994916454653e-7,-1.4072462495238987e-8,-0.0016318292392897165,-7.307325909948915e-8,-1.3799065103672127e-8,-0.0016314426223732346,3.1411804635436726e-7,-1.348317422928833e-8,-0.0016311911484804568,6.740899862647185e-7,-1.3189486706427881e-8,-0.0016310385568320672,9.431757478148973e-7,-1.2969887537649966e-8,-0.0016309281956906096,1.0909595365989285e-6,-1.284917620325891e-8,-0.0016308035869936743,1.1218851358131656e-6,-1.2823744428951683e-8,-0.001630622539391083,1.0659851233981184e-6,-1.286910999649688e-8,-0.0016303628898681499,9.662126791094569e-7,-1.2950244535657924e-8,-0.0016300220532569065,8.673019924964457e-7,-1.303067628890683e-8,-0.0016296132995635643,8.078877149326865e-7,-1.3078931636879651e-8,-0.001629160810966706,8.157006448712503e-7,-1.3072446478192921e-8,-0.0016286945140845575,9.051596921306019e-7,-1.2999506114425888e-8,-0.001628245126395128,1.0769022975441644e-6,-1.285960415768863e-8,-0.0016278397306271277,1.3189544201936767e-6,-1.266248230864526e-8,-0.001627498165347806,1.6092434451098838e-6,-1.2426094284497363e-8,-0.0016272305284777825,1.919140067868813e-6,-1.2173739988352222e-8,-0.0016270360259148394,2.2175661941671596e-6,-1.1930728972988056e-8,-0.0016269031154630333,2.475096567993343e-6,-1.1721030329836182e-8,-0.0016268106690123906,2.6677037698851066e-6,-1.1564201830643506e-8,-0.0016267299509751117,2.7800877693262435e-6,-1.1472661493037969e-8,-0.0016266273869119789,2.808609891480967e-6,-1.1449301618478332e-8,-0.0016264683188791577,2.7638226285538478e-6,-1.148545475645509e-8,-0.001626222281076474,2.6722456015579204e-6,-1.1559486532781036e-8,-0.0016258702666007566,2.576093825543154e-6,-1.1637054006801947e-8,-0.001625413368763386,2.528652681956703e-6,-1.1674892793466553e-8,-0.0016248800163113045,2.5829769218688514e-6,-1.163000825805575e-8,-0.0016243264182511817,2.7739410660516134e-6,-1.147422855629942e-8,-0.001623824448257784,3.0994362029174313e-6,-1.1209399713251122e-8,-0.0016234371005962335,3.5125193005639037e-6,-1.0873674286989874e-8,-0.0016231924460283597,3.934280626806754e-6,-1.0531046713794774e-8,-0.0016230722116879442,4.2839261521980505e-6,-1.0247004462157263e-8,-0.0016230223920017024,4.509022315061528e-6,-1.0064052989792204e-8,-0.001622977701628644,4.599308318664541e-6,-9.990503166746648e-9,-0.0016228844735368534,4.580979504172208e-6,-1.0005062897292258e-8,-0.0016227124043607017,4.500425340947215e-6,-1.007001881606373e-8,-0.0016224552660553113,4.4079367639713336E-06,-1.0144494972609784e-8,-0.001622125516269599,4.346659224530802e-6,-1.0193467505461069e-8,-0.001621747326018003,4.347159211571133e-6,-1.0192193851439426e-8,-0.001621350394160166,4.425844840376646e-6,-1.0127472727933714e-8,-0.0016209651093993971,4.585398795260131e-6,-9.99724721593909e-9,-0.001620618755614523,4.816205832030953e-6,-9.809405621898151e-9,-0.0016203324293711152,5.0984795936064065e-6,-9.580037457445881e-9,-0.0016201185778446112,5.4050620808012625e-6,-9.331168050521922e-9,-0.0016199792751218015,5.7049341968223675e-6,-9.087925536625024e-9,-0.0016199055449921847,5.967355112173079e-6,-8.875191668941198e-9,-0.0016198780222882233,6.166231880713312e-6,-8.714053321567563e-9,-0.0016198689897785872,6.284171358720325e-6,-8.618507598772804e-9,-0.0016198456428020592,6.315766071306402e-6,-8.59280112903386e-9,-0.001619774385405621,6.26973000154361e-6,-8.629727496350617e-9,-0.0016196259296935819,6.169525357590731e-6,-8.710169915500509e-9,-0.0016193810015156772,6.052090182629365e-6,-8.804188184311565e-9,-0.0016190363271137104,5.963922429773775e-6,-8.87422587160706e-9,-0.0016186098081281857,5.953407381087274e-6,-8.88131796854117e-9,-0.0016181424573248472,6.058817784323751e-6,-8.794748910421731e-9,-0.0016176935536342239,6.293589642068541e-6,-8.60386918296675e-9,-0.001617326219104022,6.634329004002173e-6,-8.327694536227654e-9,-0.0016170853930605306,7.020289243504353e-6,-8.015286175478002e-9,-0.0016169778930223832,7.370415677596483e-6,-7.732028934152944e-9,-0.0016169675000937544,7.6131522800298654E-06,-7.535643904942126e-9,-0.0016169901136538418,7.713155380487486e-6,-7.454642010804234e-9,-0.0016169800837689205,7.679978347262525e-6,-7.481256003272846e-9,-0.0016168922572558102,7.556948303108508e-6,-7.580374851378752e-9,-0.0016167104555515727,7.400752728903742e-6,-7.706059646917471e-9,-0.0016164437683271215,7.26360821746386e-6,-7.816027752541982e-9,-0.0016161173530747812,7.183346466944154e-6,-7.879724076888564e-9,-0.0016157633104902577,7.180632707092512e-6,-7.880570755501255e-9,-0.0016154140207041772,7.260286490250837e-6,-7.814851788477083e-9,-0.001615098001463881,7.414069548772224e-6,-7.689396067402687e-9,-0.001614837378113596,7.623584166153096e-6,-7.519187049980965e-9,-0.0016146461104334338,7.863038966555796e-6,-7.325110558075486e-9,-0.0016145285922477045,8.102151822196889e-6,-7.13161729702838e-9,-0.0016144786655525626,8.30954750461279e-6,-6.963995681741373e-9,-0.0016144794389958994,8.456851025280304e-6,-6.8450772368244266e-9,-0.0016145044863076245,8.523247037034214e-6,-6.791555454796449e-9,-0.0016145208238440725,8.499790759989043e-6,-6.810504300559879e-9,-0.0016144936330299336,8.392510891781708e-6,-6.896885929710203e-9,-0.001614392228170857,8.223343280763281e-6,-7.032834909617165e-9,-0.0016141963521061268,8.028183732838383e-6,-7.189288356946133e-9,-0.0016139016436967962,7.851860839942969e-6,-7.330101133146092e-9,-0.0016135231106711163,7.740313336524296e-6,-7.4183830864822594e-9,-0.0016130954016894184,7.730606125699386e-6,-7.424519615650904e-9,-0.0016126685428214326,7.840105042654435e-6,-7.334806831697677e-9,-0.0016122981087462733,8.057474208610399e-6,-7.1585873366644e-9,-0.0016120303080747725,8.339676729142519e-6,-6.930579850289531e-9,-0.001611885615787256,8.619402313112867e-6,-6.704899178695777e-9,-0.0016118481928508355,8.824139607217275e-6,-6.539785116730204e-9,-0.001611868604140801,8.90107812285037e-6,-6.477642765675682e-9,-0.001611881154272387,8.835912981377337e-6,-6.529915716142489e-9,-0.0016118277460059921,8.655388821984905e-6,-6.674986610903632e-9,-0.001611675919713035,8.41338736769802e-6,-6.869352972909047e-9,-0.0016114237381993468,8.169993921702883e-6,-7.06452679210035e-9,-0.001611093177231819,7.974354515474472e-6,-7.220908293079042e-9,-0.0016107187721478148,7.856385780125358e-6,-7.3144902295771e-9,-0.0016103373933631776,7.826230747315016e-6,-7.33726541883732e-9,-0.0016099815773490676,7.877830737849756e-6,-7.294288237410739e-9,-0.0016096761674665666,7.993507370107692e-6,-7.199928950656389e-9,-0.0016094369744081014,8.147984768505116e-6,-7.074608444117655e-9,-0.0016092702451640983,8.311598200694667e-6,-6.942216930039938e-9,-0.00160917228355665,8.453152537768642e-6,-6.827830668858108e-9,-0.001609129179254943,8.543077992903146e-6,-6.755189047281374e-9,-0.0016091171262881026,8.557333011262786e-6,-6.743558851885236e-9,-0.0016091041391435737,8.481979668330493e-6,-6.804049103358642e-9,-0.0016090539129368906,8.317618601666572e-6,-6.9360391917084e-9,-0.0016089320065604345,8.082194724983374e-6,-7.1249350615802805e-9,-0.0016087135318696238,7.810443188597418e-6,-7.342654995567478e-9,-0.0016083904469439763,7.548814847622212e-6,-7.551773316743061e-9,-0.0016079759933311404,7.346151109873746e-6,-7.71307892483668e-9,-0.0016075042761180575,7.242056143792723e-6,-7.794939036152872e-9,-0.00160702430711951,7.255973870729432e-6,-7.782022387653911e-9,-0.0016065893832426634,7.380066935880531e-6,-7.680904798184895e-9,-0.0016062439692449664,7.578337494266571e-6,-7.520654677956422e-9,-0.0016060111996290365,7.793284040925081e-6,-7.347429731587253e-9,-0.001605884722251656,7.959699219668078e-6,-7.2134347447406345e-9,-0.0016058284903456366,8.02276170190471e-6,-7.162490523129645e-9,-0.001605786300256652,7.954794950983538e-6,-7.216659725347376e-9,-0.0016056989183379042,7.763856680531235e-6,-7.3693711382787e-9,-0.0016055223349501092,7.489910937153623e-6,-7.5884774454684e-9,-0.0016052394922760655,7.190282869697641e-6,-7.827929734487749e-9,-0.0016048613732839356,6.9214213509586415e-6,-8.042440056461898e-9,-0.0016044191014809085,6.724717813606781e-6,-8.19887721405118e-9,-0.0016039523942876091,6.620315668122966e-6,-8.281210552001504e-9,-0.0016034994404368291,6.608103489245576e-6,-8.289661775609236e-9,-0.00160309058100955,6.672612775449543e-6,-8.236730302719379e-9,-0.0016027456251598608,6.788717605477168e-6,-8.142605180973005e-9,-0.0016024734564696638,6.92643298585074e-6,-8.031328805630021e-9,-0.001602272562723833,7.054461000471735e-6,-7.927975303945096e-9,-0.0016021316395473646,7.1429733909865235e-6,-7.85643420942448e-9,-0.001602030096147785,7.166416618010949e-6,-7.837159326460504e-9,-0.0016019389325304322,7.106967943498292e-6,-7.884384590805072e-9,-0.001601822909317285,6.958748005321464e-6,-8.002733282683978e-9,-0.001601645025670833,6.732028706082511e-6,-8.183846196126166e-9,-0.0016013737843991493,6.455595568760507e-6,-8.404514185145453e-9,-0.0016009923060795966,6.174736476004758e-6,-8.628343547216521e-9,-0.0016005063926833,5.943025935706647e-6,-8.81240660038963e-9,-0.001599947436018963,5.80863970378304e-6,-8.918249717289788e-9,-0.0015993671346443959,5.799343297164342e-6,-8.923895711975885e-9,-0.001598824450917896,5.912206177088279e-6,-8.831981049727163e-9,-0.0015983691261643967,6.112691262219383e-6,-8.670353040535608e-9,-0.001598027750726865,6.34370842368762e-6,-8.484735141405814e-9,-0.001597796970333321,6.541210365541908e-6,-8.32624668865039e-9,-0.0015976453400901444,6.6511270032490696e-6,-8.237927113772566e-9,-0.0015975225826418882,6.642865882163979e-6,-8.244027233433758e-9,-0.0015973733172837778,6.5160674645092064e-6,-8.344671256899067e-9,-0.0015971514460371861,6.299134854850162e-6,-8.517063826659138e-9,-0.0015968312197721644,6.040236787256278e-6,-8.722695998097968e-9,-0.0015964119337554,5.793741677183589e-6,-8.918192024461737e-9,-0.0015959153524303371,5.606512708157547e-6,-9.066246268690955e-9,-0.0015953776009036073,5.508240931702783e-6,-9.143302312759663e-9,-0.0015948390145066778,5.5079279870896205e-6,-9.142302190616902e-9,-0.0015943353730508711,5.595937570596819e-6,-9.0710022424212708E-09,-0.0015938924112206762,5.749295724445448e-6,-8.947734194601513e-9,-0.0015935237022038362,5.937745603497693e-6,-8.796600268425784e-9,-0.0015932308952599915,6.128923308494835e-6,-8.643381449495809e-9,-0.0015930050349990598,6.292138592490837e-6,-8.512542405787741e-9,-0.0015928280496299403,6.401112560124816e-6,-8.425039499555748e-9,-0.001592674118163697,6.436402325511549e-6,-8.396358552439093e-9,-0.001592511242825915,6.388162226916735e-6,-8.434284847973138e-9,-0.0015923038548076277,6.259479463662382e-6,-8.536238644079333e-9,-0.0015920175360308354,6.069704190545227e-6,-8.686647143544019e-9,-0.0015916265581974022,5.855945053772369e-6,-8.855809836079169e-9,-0.0015911234432686942,5.66982094337028e-6,-9.002557749844637e-9,-0.0015905271902137126,5.566980643098267e-6,-9.082660120678599e-9,-0.0015898846649755427,5.5901058549402035e-6,-9.062364074658102e-9,-0.0015892607401442954,5.751420421663427e-6,-8.932240034166934e-9,-0.0015887185141690312,6.0241142294602755e-6,-8.713870498328418e-9,-0.0015882979764191441,6.3490168297115175e-6,-8.454426383873467e-9,-0.0015880035039804617,6.654182728757788e-6,-8.211064945180594e-9,-0.0015878052699886624,6.877775058584288e-6,-8.032786882775957e-9,-0.0015876517590710897,6.984489838970192e-6,-7.947450754328946e-9,-0.0015874863779336544,6.971221701182685e-6,-7.957325293941682e-9,-0.0015872619917445506,6.863185748489404e-6,-8.042215733171648e-9,-0.0015869502414554443,6.704200258300083e-6,-8.167230467721707e-9,-0.0015865450265327885,6.544861833301743e-6,-8.292209810873044e-9,-0.001586060881771174,6.431419708027262e-6,-8.380562643969391e-9,-0.0015855275390838218,6.397223103243651e-6,-8.4060105625722e-9,-0.001584982293378186,6.457920516330214e-6,-8.356321717507075e-9,-0.0015844620349776742,6.61081898948137e-6,-8.233749425801078e-9,-0.0015839966677754043,6.837813403661317e-6,-8.052680242552925e-9,-0.0015836049744388627,7.110512974486875e-6,-7.83558877254055e-9,-0.00158329313272495,7.39599782801762e-6,-7.60852007937778e-9,-0.0015830553572955281,7.661943418484884e-6,-7.397063210929995e-9,-0.0015828757453601038,7.88048537908479e-6,-7.223288825216026e-9,-0.0015827305073950087,8.030921094971425e-6,-7.103576255489422e-9,-0.0015825902239223386,8.10175707948008e-6,-7.046953362750228e-9,-0.0015824222470464458,8.09261347207407e-6,-7.0535751904136625e-9,-0.0015821938020142208,8.016239439311893e-6,-7.1131587433406575e-9,-0.001581876678930113,7.90023529461386e-6,-7.203688583790658e-9,-0.0015814541506088944,7.786937005316729e-6,-7.291589958387156e-9,-0.001580929437716428,7.72886735500687e-6,-7.33539011103742e-9,-0.001580332627237802,7.777305469592599e-6,-7.294769075619663e-9,-0.0015797203731629178,7.964409090283794e-6,-7.144630568893987e-9,-0.0015791630814620142,8.285391603077017e-6,-6.889058321940481e-9,-0.001578720878001717,8.692298812053108e-6,-6.566101724486824e-9,-0.001578419502984907,9.10747486170557e-6,-6.2370916464480965e-9,-0.0015782405062512823,9.452091527792786e-6,-5.9641611304561455e-9,-0.0015781312909732138,9.674079549613374e-6,-5.7882606428250385e-9,-0.001578027360075597,9.761402781761969e-6,-5.718703551331627e-9,-0.0015778737449317608,9.738155742011253e-6,-5.736256424581671e-9,-0.0015776373992268053,9.650582774239132e-6,-5.804222309092312e-9,-0.0015773098917586672,9.551555633876995e-6,-5.88077278945436e-9,-0.0015769037319662415,9.488450878456881e-6,-5.928572703455147e-9,-0.001576445875891479,9.49569390768316e-6,-5.920653078048749e-9,-0.001575970674530697,9.591327497139855e-6,-5.84304192231517e-9,-0.0015755133171369835,9.77658865659438e-6,-5.694997471322311e-9,-0.0015751042615903047,1.003778163139329e-5,-5.487458624638412e-9,-0.001574765041689377,1.0349895109118027e-5,-5.240176643150512e-9,-0.0015745057554236149,1.0681318357532525e-5,-4.978030419643896e-9,-0.001574324361526077,1.0998934195309128e-5,-4.727059345412328e-9,-0.0015742076584801335,1.1272847997949395e-5,-4.510760254880358e-9,-0.0015741334933916324,1.148015300643822e-5,-4.347106597166391e-9,-0.0015740736145208995,1.1607546540740536e-5,-4.2464524410951475e-9,-0.0015739967905234456,1.165297766004052e-5,-4.210215818202505e-9,-0.0015738721019847755,1.1626573124438477e-5,-4.230176567081147e-9,-0.0015736725816667494,1.1550994953670337e-5,-4.288272760115865e-9,-0.0015733796828682138,1.1460984868635478e-5,-4.357060355334619e-9,-0.0015729888863822469,1.1400977627530216e-5,-4.401668546947189e-9,-0.001572515654131937,1.1418948321355508e-5,-4.38465144129614e-9,-0.0015719991378984194,1.155499016771094e-5,-4.27489553861985e-9,-0.0015714991590845522,1.1825387317786e-5,-4.059992614526739e-9,-0.0015710820407434478,1.2207971645261938e-5,-3.757587705347629e-9,-0.00157079647604091,1.2639630181296142e-5,-3.4172617851035963e-9,-0.0015706506457699233,1.3034205729014649e-5,-3.106531606911105e-9,-0.0015706061696304065,1.3315507185698884e-5,-2.885049906609442e-9,-0.0015705947849098492,1.3446774868260129e-5,-2.7815199812259615e-9,-0.0015705471798354855,1.3439686701807493e-5,-2.7865797392088607e-9,-0.0015704165589056223,1.3341690442592115e-5,-2.8627232184856177e-9,-0.0015701872847721412,1.3213818456770147e-5,-2.9617956699222407e-9,-0.0015698706765883304,1.3111683729022345e-5,-3.0400379076245207e-9,-0.0015694951802119525,1.3074916344619818e-5,-3.0664473087197053e-9,-0.0015690965559719964,1.3124045477720016e-5,-3.02518922812497E-09,-0.0015687104237655423,1.3261776187223445e-5,-2.914483963298332e-9,-0.0015683672849147719,1.3476135614623932e-5,-2.744017121960997e-9,-0.001568089331561201,1.3744221248213585e-5,-2.531925583923272e-9,-0.001567888481635352,1.4036199389495978e-5,-2.301652902586154e-9,-0.0015677654444036897,1.431949385617295e-5,-2.0787019259425203e-9,-0.001567709854690696,1.4563082634763757e-5,-1.8873090716874538e-9,-0.0015677016010537767,1.474164561397543e-5,-1.7472081474154697e-9,-0.0015677133377832947,1.4839081201440235e-5,-1.6708576042155112e-9,-0.0015677139033290711,1.4850945784761677e-5,-1.6615071481920558e-9,-0.001567672273456403,1.4785614343760266e-5,-1.712298071717079e-9,-0.001567561728035762,1.4664077909571058e-5,-1.8064872373507266e-9,-0.001567363964362006,1.4518342278869283e-5,-1.9188087740274477e-9,-0.0015670730416101715,1.4388371092908044e-5,-2.017975036911366e-9,-0.001566699009351379,1.4317124795163991e-5,-2.0706086887569183e-9,-0.001566270342050259,1.434288706438812e-5,-2.0471994116831762e-9,-0.0015658331609196012,1.4488670512990482e-5,-1.9302484376469083e-9,-0.0015654445000836176,1.4750408147840926e-5,-1.72331580198987e-9,-0.0015651576376926135,1.5088818242514955e-5,-1.4572399696723894e-9,-0.0015650016611725502,1.543273520838367e-5,-1.1875289074112136e-9,-0.0015649646525930018,1.5699315031914638e-5,-9.786981777112633e-10,-0.0015649932080395524,1.5825615668091956e-5,-8.797288461446118e-10,-0.0015650127561441629,1.5794360168681763e-5,-9.039460652179229e-10,-0.0015649578766231919,1.5637909598140213e-5,-1.0258340424130335e-9,-0.0015647946888691952,1.5419919015121727e-5,-1.1953572908828253e-9,-0.001564525408102832,1.5208671664966406e-5,-1.3589165068917122e-9,-0.0015641786040441487,1.5056893076463547e-5,-1.4752664574075088e-9,-0.00156379486909857,1.4993534545273575e-5,-1.521981552315444e-9,-0.0015634150399108117,1.5024788854757072e-5,-1.4945831313107964e-9,-0.0015630731490801214,1.5139317110787819e-5,-1.4023153307767539e-9,-0.0015627932503844573,1.5314097884522007e-5,-1.2634546568637839e-9,-0.0015625884467632353,1.5519419283943223e-5,-1.1013546330723007e-9,-0.001562460875346721,1.5722949233932406e-5,-9.412785609553453e-10,-0.0015624021479970563,1.5893311969822037e-5,-8.076525173200512e-10,-0.0015623942663999986,1.600355815982286e-5,-7.213957276926135e-10,-0.0015624113087739449,1.603464562664121e-5,-6.972120092446669e-10,-0.0015624222244725121,1.5978599480086515e-5,-7.411073308205331e-10,-0.0015623947894483653,1.5840685366149302e-5,-8.486840929629714e-10,-0.0015623003825704094,1.563995164582476e-5,-1.0047498832725248e-9,-0.00156211896716867,1.5407677934949402e-5,-1.1846143530044873e-9,-0.0015618434715127026,1.5183522199556461e-5,-1.3572122413585078e-9,-0.001561482731818114,1.5009579708722523e-5,-1.4898312300154014e-9,-0.0015610623229379093,1.492287455651844e-5,-1.553978673492256e-9,-0.0015606225925568506,1.4946887881331915e-5,-1.5318866836714567e-9,-0.001560212971251659,1.5083203136375069e-5,-1.422837639342225e-9,-0.0015598818401117295,1.530556706953706e-5,-1.2475983890907835e-9,-0.0015596626235708532,1.5560011265301256e-5,-1.0482226412439358e-9,-0.001559559627593272,1.577486934926789e-5,-8.802955933378288e-10,-0.0015595405570984476,1.5881538273988095e-5,-7.9692043926817e-10,-0.0015595430360532403,1.5839771966023374e-5,-8.291538101517867e-10,-0.0015594959955338393,1.5654660779172335e-5,-9.72801001056983e-10,-0.0015593463001946208,1.5374391353418983e-5,-1.190114515735307e-9,-0.0015590762116928854,1.5069709060576866e-5,-1.4258030022227316e-9,-0.001558703847788798,1.4807611900845037e-5,-1.6276153266680996e-9,-0.0015582703547364113,1.4632787290015397e-5,-1.7608768873779355e-9,-0.00155782354477752,1.4561962806159921e-5,-1.812864234105201e-9,-0.0015574055106049006,1.4587994709651823e-5,-1.7895075593158592e-9,-0.0015570463687551211,1.4687835068240819e-5,-1.7090593224017948e-9,-0.0015567627265973315,1.4830172836249719e-5,-1.5960694700656643e-9,-0.0015565585721585488,1.4981143223910987e-5,-1.4769346528028385e-9,-0.0015564268779924705,1.5108248878273527e-5,-1.3768878228299211e-9,-0.001556351184307716,1.5183283689987646e-5,-1.3177718726983572e-9,-0.0015563071846080817,1.518499355836712e-5,-1.3159931882651027e-9,-0.001556264759061091,1.5101840586844419e-5,-1.3803631127402186e-9,-0.0015561910289953722,1.493467497760959e-5,-1.5099983155967233e-9,-0.001556054769142461,1.4698525876528096e-5,-1.692928407678446e-9,-0.0015558319325716652,1.4422419435365395e-5,-1.9062865699394374e-9,-0.00155551134062967,1.4146276673803998e-5,-2.118820791349384e-9,-0.0015550990200105716,1.3914554215767493e-5,-2.2959501362179986e-9,-0.0015546195256492723,1.376733680242155e-5,-2.406755127218841e-9,-0.001554113115567492,1.3730683214261952e-5,-2.4314473667369036e-9,-0.001553628664032215,1.3808584379673326e-5,-2.367474165297039e-9,-0.0015532132442453931,1.3978822784027847e-5,-2.232532482775318e-9,-0.0015529002123789554,1.4194626461009348e-5,-2.063117347756414e-9,-0.0015526985302697924,1.439325938164884e-5,-1.907804521574992e-9,-0.0015525869004329388,1.4511149461068737e-5,-1.8155962076796212e-9,-0.0015525163561113226,1.4502518791870292e-5,-1.821618126894051e-9,-0.0015524229966605255,1.4355340596169604e-5,-1.934861536785402e-9,-0.0015522480046320417,1.4097085782131253e-5,-2.1337720574238567e-9,-0.0015519570630758844,1.3785964147240603e-5,-2.373056019133126e-9,-0.0015515502090884452,1.3490805690072358e-5,-2.5993134735632945e-9,-0.0015510581583219735,1.3269136012428824e-5,-2.7680732374480753e-9,-0.0015505287216183647,1.3153018247135854e-5,-2.8547493909096727e-9,-0.0015500111337097319,1.3146302784594268e-5,-2.8566824400189927e-9,-0.0015495446374244918,1.3230505435768768e-5,-2.788469542937826e-9,-0.001549153320614908,1.3373991814169866e-5,-2.6747740927702085e-9,-0.0015488458317407083,1.3540368315253085e-5,-2.543818936185515e-9,-0.0015486175736199625,1.3694424215569561e-5,-2.422826603784886e-9,-0.0015484534953238353,1.3805782453544893e-5,-2.335244042665086e-9,-0.0015483305799586244,1.3851194736815257e-5,-2.2989915178837034e-9,-0.0015482199989999771,1.3816427644258473e-5,-2.3249912029369815e-9,-0.001548089463216438,1.369826171317471e-5,-2.41558809311908e-9,-0.0015479064843226234,1.3506495043573231e-5,-2.5629790637511724e-9,-0.0015476430650823826,1.3265142070830212e-5,-2.748308110889761e-9,-0.0015472817047777522,1.3011433188873347e-5,-2.9425170054115522e-9,-0.0015468215378123499,1.2791153939947237e-5,-3.1100615838046316e-9,-0.0015462823008519895,1.264978126784404e-5,-3.2158634430605283e-9,-0.0015457034820694632,1.2620793299373853e-5,-3.23437207800151e-9,-0.0015451371557708795,1.271461979911524e-5,-3.1580199349164043e-9,-0.0015446354809309358,1.2912598720449401e-5,-3.001718234269623e-9,-0.0015442364302565255,1.3169086681883902e-5,-2.801040276875315e-9,-0.0015439524938185769,1.342193894043896e-5,-2.604019123633512e-9,-0.0015437662068975597,1.3608488064402962e-5,-2.4588197532468753e-9,-0.0015436340713854192,1.3682357584886e-5,-2.4008622169249547e-9,-0.001543497962354699,1.3626252232787606e-5,-2.4430807619033354e-9,-0.00154330101649021,1.3456844397511336e-5,-2.572263294225788e-9,-0.0015430034083978895,1.3219882326718478e-5,-2.7529027871083723e-9,-0.0015425929181858147,1.2976711436722279e-5,-2.937645646025132e-9,-0.0015420866882192013,1.278670592403656e-5,-3.080856310691857e-9,-0.00154152398796979,1.2691851204048305e-5,-3.1504613502583297e-9,-0.001540953480044075,1.2708519035282108e-5,-3.1341863973903237e-9,-0.0015404202334010281,1.2827867903263539e-5,-3.039126457904035e-9,-0.0015399566733843208,1.302256759212801e-5,-2.886485245993735e-9,-0.0015395788942260255,1.325586308652444e-5,-2.7045866919813093e-9,-0.0015392872954454852,1.3489692472678766e-5,-2.5226746116671805e-9,-0.0015390695180788213,1.3690362719305401e-5,-2.3666060094382767e-9,-0.0015389039426561332,1.3831829101966165e-5,-2.2563601055744896e-9,-0.0015387628159656927,1.3897428531583792e-5,-2.20469239650718e-9,-0.0015386148936828994,1.388103058929039e-5,-2.2162086122068876e-9,-0.0015384280799308537,1.3788188762037226e-5,-2.28644706084773e-9,-0.0015381727896268602,1.3637252599749298e-5,-2.4010335015984904e-9,-0.00153782662638598,1.3459685165893791e-5,-2.5355047694054314e-9,-0.0015373803606947806,1.3298103454663454e-5,-2.6569224773298658e-9,-0.0015368439449366434,1.3200271754010526e-5,-2.7285944715443808e-9,-0.0015362497069414172,1.3208268582747388e-5,-2.7184455758695063e-9,-0.0015356491281297727,1.3344727868614513e-5,-2.609535624585385e-9,-0.0015351012857119798,1.3601376685119754e-5,-2.4087144532296773e-9,-0.001534655333305587,1.3936432395579682e-5,-2.1484399499017215e-9,-0.0015343338675460306,1.4284442308400234e-5,-1.8790986065537597e-9,-0.001534124900712501,1.4575769360907748e-5,-1.6540268609434805e-9,-0.001533986063403117,1.4757650849527079e-5,-1.5134089313619608e-9,-0.0015338585577077514,1.4808523097929115e-5,-1.4733758294952858e-9,-0.001533684646016743,1.4741520547899112e-5,-1.5234227094639102e-9,-0.001533422629589494,1.4597945041350879e-5,-1.6315309243635806e-9,-0.0015330556633583313,1.4434363097761433e-5,-1.7541719141681908e-9,-0.0015325932941699795,1.43077142414427e-5,-1.8477863331828831e-9,-0.0015320665277323265,1.426230754346835e-5,-1.878725396982042e-9,-0.0015315185461519663,1.4321473573738102e-5,-1.8295328556822685e-9,-0.001530993934766879,1.4485180350014558e-5,-1.7006180859558923e-9,-0.001530529287402824,1.4733246178698408e-5,-1.5076755247691595e-9,-0.0015301472235543963,1.5032273750256648e-5,-1.2763383865137975e-9,-0.001529854434526647,1.5343751423442615e-5,-1.0360201232972493e-9,-0.0015296430494533845,1.5631173065596047e-5,-8.145421075795626e-10,-0.0015294939224596445,1.5865044960165455e-5,-6.343581941131169e-10,-0.0015293804665335667,1.6025681201232713e-5,-5.104211518947967e-10,-0.0015292721800424954,1.6104406698012555e-5,-4.492264661427397e-10,-0.0015291376898846022,1.610398838942385e-5,-4.484456737093128e-10,-0.0015289476443276155,1.6038826092304203e-5,-4.967851368558057e-10,-0.0015286780300962212,1.5934920116292352e-5,-5.7407767303816e-10,-0.0015283144581671828,1.5828995706173513e-5,-6.520649957069123e-10,-0.001527857433495814,1.5765420962771622e-5,-6.968641554284709e-10,-0.0015273273599870595,1.578919190086431e-5,-6.74377333345776e-10,-0.001526766307082904,1.5934197950098757e-5,-5.592021348606761e-10,-0.0015262325434225242,1.6208917896855537e-5,-3.454009983392546e-10,-0.0015257856016340661,1.6585900155219326e-5,-5.434009904032178e-11,-0.001525465322369261,1.7003376453317625e-5,2.6667254099619e-10,-0.0015252747715500247,1.738282006332563e-5,5.577945753003107e-10,-0.0015251774516648478,1.765614484759572e-5,7.673293029466002e-10,-0.0015251111941016761,1.778888314628154e-5,8.693422948032573e-10,-0.0015250108675460873,1.7788373699605145e-5,8.698678813149482e-10,-0.0015248284104435656,1.769597096092772e-5,8.008933904221264e-10,-0.001524543138352943,1.7570342537972436e-5,7.074837082249667e-10,-0.001524161958697962,1.747014596631279e-5,6.344307222398109e-10,-0.00152371290844506,1.7441141511317046e-5,6.163780060845438e-10,-0.001523235851785127,1.7509215448337496e-5,6.72585413499027e-10,-0.0015227730669315363,1.7678694633934106e-5,8.058200670495614e-10,-0.0015223612736943114,1.7934688640477055e-5,1.0043203383510617e-9,-0.0015220259505717274,1.82482101335355e-5,1.2458005545171251e-9,-0.0015217783771147274,1.858278154644696e-5,1.502482588468059e-9,-0.0015216153779278,1.8901176203271382e-5,1.7461563926156706e-9,-0.001521521286606779,1.9171184850908933e-5,1.9524855806838318e-9,-0.0015214713531420381,1.936973086375099e-5,2.1040967574472464e-9,-0.0015214357043695024,1.9485117407839795e-5,2.1923000740043392e-9,-0.001521383137404215,1.9517692447771478e-5,2.217627952739704e-9,-0.0015212844821984616,1.9479511468266107e-5,2.1895835175049778e-9,-0.0015211156742934025,1.939342867657197e-5,2.1258913140746853e-9,-0.0015208608563400331,1.9291673965034527e-5,2.0512979780619082e-9,-0.001520515854495682,1.9213505125941906e-5,1.995657851135691e-9,-0.0015200919884612346,1.9200901897949216e-5,1.9905876211772794e-9,-0.0015196190517206686,1.9290978781291798e-5,2.0637415938522103e-9,-0.001519144803733725,1.9504713196396947e-5,2.2304122471037216e-9,-0.001518727462232059,1.9834280591372538e-5,2.484141135478913e-9,-0.0015184192950395239,2.0235367514319987e-5,2.7910634415758664e-9,-0.0015182452262433325,2.0633099952696904e-5,3.0944338572009063e-9,-0.0015181877354138221,2.094520859440517e-5,3.3320858875781925e-9,-0.0015181899043198905,2.1113683302729238e-5,3.4603240998125803e-9,-0.0015181776587180065,2.1127106051478163e-5,3.4708520228233463e-9,-0.0015180885131474918,2.1021030404410242e-5,3.391091106264991e-9,-0.0015178909438639508,2.0859213783789e-5,3.2698730446144373e-9,-0.0015175877233646422,2.0709171992738493e-5,3.1587082248994756e-9,-0.0015172073558787026,2.0623842481949752e-5,3.0977101310951086e-9,-0.0015167914191089214,2.063317965218757e-5,3.1092048210673748e-9,-0.0015163832619076432,2.0743705953134367e-5,3.1975368071754336e-9,-0.0015160200669873704,2.0942485608743105e-5,3.3523023756736195e-9,-0.0015157281682930876,2.1202788343014117e-5,3.5528268410564887e-9,-0.0015155208240000008,2.1490072546112796e-5,3.7727761422749006e-9,-0.0015153978329193042,2.1767775800983042e-5,3.984512020996164e-9,-0.0015153466823297202,2.2002561279956053e-5,4.162975427671088e-9,-0.0015153449752000046,2.2168662578104594e-5,4.2888951154383054e-9,-0.0015153638372301824,2.225102728825126e-5,4.351136659371982e-9,-0.001515371889179471,2.2246993016359994e-5,4.3479874066622305e-9,-0.0015153392563930425,2.216641597337143e-5,4.287271959233951e-9,-0.001515241213541778,2.2030490914074532e-5,4.1854284582402095e-9,-0.0015150613338686283,2.1869574703626888e-5,4.065761994294679e-9,-0.0015147941551076818,2.1720147110229897e-5,3.956004055400928e-9,-0.0015144474064621842,2.1620798118500058e-5,3.885163322724043e-9,-0.0015140436280418352,2.160676344805545e-5,3.879380610579873e-9,-0.0015136202312386242,2.1702388771875214e-5,3.956357484574458e-9,-0.001513226034844196,2.191177437422689e-5,4.1185205826258535e-9,-0.0015129120080209172,2.221001677650227e-5,4.346649078495528e-9,-0.001512715541928629,2.254041791686142e-5,4.597890678761155e-9,-0.001512642323751254,2.282451516198137e-5,4.8132638236435735e-9,-0.001512656112032841,2.2987226657755368e-5,4.936448725917021e-9,-0.0015126871339836351,2.2987814401065566e-5,4.937036368579893e-9,-0.0015126589666124984,2.283832816494508e-5,4.824488181507253e-9,-0.0015125191642603442,2.2596939508072832e-5,4.643164810446097e-9,-0.001512255771697461,2.234135481963672e-5,4.452159952580022e-9,-0.0015118937115124553,2.2139907404171068e-5,4.303255975411923e-9,-0.00151147883232571,2.203443093930126e-5,4.227845582902372e-9,-0.001511060993239207,2.2037202305538674e-5,4.234671953457867e-9,-0.0015106824975225093,2.213657085421608e-5,4.314282868663287e-9,-0.0015103725536317254,2.2305348342064856e-5,4.4455958177446396e-9,-0.001510145935250769,2.2508543748264166e-5,4.601885979825811e-9,-0.0015100037941396729,2.27093975733727e-5,4.75536669510632e-9,-0.0015099353530227085,2.2873996336669858e-5,4.880600371514767e-9,-0.0015099200916151164,2.2974973370313923e-5,4.957188134048892e-9,-0.0015099304637137257,2.2994496007904244e-5,4.971952359005194e-9,-0.0015099352286913673,2.2926461766264454e-5,4.920579998432417e-9,-0.0015099033645110472,2.277759522000927e-5,4.808472749402745e-9,-0.0015098082535331882,2.256704567886276e-5,4.650450638927179e-9,-0.0015096316019525189,2.2324318804894625e-5,4.469136915658275e-9,-0.0015093665766133704,2.208567924099814e-5,4.2921241199986e-9,-0.0015090197629728298,2.1889299652124044e-5,4.148176635499323e-9,-0.0015086116448405531,2.1769507934527783e-5,4.062815296740895e-9,-0.0015081753500045245,2.1750466832938717e-5,4.05360291565382e-9,-0.0015077531763032308,2.183960388547096e-5,4.125383508132904e-9,-0.0015073900399322092,2.202167990402843e-5,4.2660809956394935e-9,-0.0015071232263286609,2.225573764208077e-5,4.44462415416496e-9,-0.0015069693776782423,2.2478572667533146e-5,4.6136193435732875e-9,-0.0015069127900212765,2.261830809440704e-5,4.719430802140069e-9,-0.0015069025568193628,2.2617773461514468e-5,4.719545121206075e-9,-0.0015068654430890603,2.2459193836491986e-5,4.601005606662283e-9,-0.001506732732291867,2.2175454413684737e-5,4.388897633440769e-9,-0.0015064676102254564,2.1838262916960467e-5,4.1374773793336535e-9,-0.0015060770908259737,2.152899176668202e-5,3.9081543995164606e-9,-0.0015056034531821725,2.130964096087466e-5,3.747499605308365e-9,-0.0015051039831142801,2.120817745888039e-5,3.67616765940978e-9,-0.0015046318558587788,2.121994692951462e-5,3.6900798243215312e-9,-0.0015042251268647423,2.1317953608248667e-5,3.768369282876351e-9,-0.0015039036630436163,2.1464388035088392e-5,3.88222893943776e-9,-0.0015036707819547192,2.1619516091843104e-5,4.001665844105285e-9,-0.0015035165886605325,2.1747302655433718e-5,4.099689013291884e-9,-0.00150342132600212,2.1818716266063703e-5,4.154695925069204e-9,-0.001503358325448771,2.1813879500024203e-5,4.1519986156729824e-9,-0.0015032968462424501,2.1723736492507323e-5,4.08503905892022e-9,-0.0015032052341075262,2.155133538091197e-5,3.956368101994074e-9,-0.0015030546872407823,2.1312355770057032e-5,3.778071180337243e-9,-0.0015028235326783174,2.103420332333634e-5,3.5710789610787957e-9,-0.0015025013887804367,2.075307806093682e-5,3.362886440108658e-9,-0.0015020922453497882,2.0508886287330707e-5,3.183598559287639e-9,-0.0015016154742786625,2.0338452391119222e-5,3.0607104114683997e-9,-0.0015011040515861569,2.0268076034948164e-5,3.0134867470089806e-9,-0.001500599804274013,2.030688168146457e-5,3.04807733049152e-9,-0.0015001460726057133,2.044239395900025e-5,3.154424023362247e-9,-0.00149977856352969,2.0639604039527855e-5,3.305819021705255e-9,-0.0014995156172464786,2.0844817059723325e-5,3.461959279396227e-9,-0.0014993500137638414,2.0995399978085027e-5,3.576249789876038e-9,-0.0014992456432738306,2.1035335583678028e-5,3.60729449457631e-9,-0.0014991428844553212,2.0933644184201608e-5,3.532476786791916e-9,-0.0014989745730104767,2.0698804268457708e-5,3.3586078624101303e-9,-0.0014986888360896111,2.0380406021878866e-5,3.1231135922833585e-9,-0.0014982686733544998,2.0053717417477414e-5,2.88245886837212e-9,-0.001497737525690711,1.979300837962255e-5,2.692135997911263e-9,-0.001497148017881539,1.9647196210900128e-5,2.588415637713842e-9,-0.0014965613991866607,1.9629093705834248e-5,2.5803785904338805e-9,-0.0014960289411646245,1.971968706434261e-5,2.653283174951249e-9,-0.0014955820412908304,1.9880736800477454e-5,2.778157555940626e-9,-0.0014952309905867504,2.006787897714019e-5,2.9216817011335566e-9,-0.0014949687552116315,2.0239968863611068e-5,3.053154202397362e-9,-0.001494776174475137,2.0364131096063462e-5,3.1481831138080597e-9,-0.0014946265704327824,2.0417849223123522e-5,3.1901577490234746e-9,-0.0014944892845262566,2.038968095963877e-5,3.170735822070018e-9,-0.001494332545660484,2.0279629489477603e-5,3.090127645122555e-9,-0.0014941263545837618,2.009946410020862e-5,2.957370145196969e-9,-0.0014938459444002585,1.9872625600314708e-5,2.7902699955053625e-9,-0.0014934759328347927,1.9632856641228426e-5,2.614335134584265e-9,-0.0014930145655336932,1.9420569813598002e-5,2.4599538294097267e-9,-0.001492476702076429,1.9276431553751654e-5,2.3574741074222654e-9,-0.001491893815555032,1.923270705234934e-5,2.3306640563010123e-9,-0.0014913096645020614,1.930428755097455e-5,2.3900526656468323e-9,-0.0014907716135890666,1.9482318555866433e-5,2.5283426168944e-9,-0.0014903193643921373,1.973316438958572e-5,2.7198781518158167e-9,-0.0014899741448074898,2.0003956799043533e-5,2.9249937542774248e-9,-0.0014897315523588778,2.023395845028581e-5,3.098573729705269e-9,-0.0014895604078392077,2.036929696434408e-5,3.200967785115278e-9,-0.0014894086578894246,2.0377579597678796e-5,3.2087039570247428e-9,-0.0014892158047863976,2.0258385868426954e-5,3.122098731804692e-9,-0.001488929416536435,2.00457625312811e-5,2.9669485121319134e-9,-0.0014885210657221955,1.9800292408669174e-5,2.7885218058526498e-9,-0.0014879957071757151,1.9591794282292342e-5,2.6386436925550972e-9,-0.0014873899746012964,1.9478359809753334e-5,2.5601312681883347e-9,-0.0014867596618360918,1.949011570768919e-5,2.5748323704033555e-9,-0.0014861620498762876,1.96239922223134e-5,2.6799132147527057e-9,-0.0014856407320978139,1.9849868774778618e-5,2.8525944425785092e-9,-0.0014852179082245765,2.0123138972227992e-5,3.0595746869390322e-9,-0.001484894404555705,2.0397436089605455e-5,3.266468246613373e-9,-0.0014846544662120268,2.063358248057847e-5,3.444366312054756e-9,-0.0014844719149976677,2.080401172999627e-5,3.573026893968126e-9,-0.0014843155256631664,2.089389600951698e-5,3.6416569247405195e-9,-0.0014841529717873015,2.0900677734307805e-5,3.6485643076621275e-9,-0.0014839536957402732,2.083324538196875e-5,3.6005774495059056e-9,-0.0014836914694317035,2.0711220588510544e-5,3.5125354304605184e-9,-0.0014833473561297718,2.0564086382282243e-5,3.406608295349423e-9,-0.0014829133688975399,2.0429297886048457e-5,3.3108019367196984e-9,-0.0014823963710327067,2.0348185310062236e-5,3.2557973035666802E-09,-0.0014818207428450856,2.0358734524199104e-5,3.269510016130022e-9,-0.0014812274772494347,2.048563738802864e-5,3.369725367338494e-9,-0.0014806675693328044,2.0730221397913308e-5,3.556767697544755e-9,-0.0014801896123771137,2.106481501301274e-5,3.809538836492915e-9,-0.0014798249253679303,2.143590416769047e-5,4.088059593597637e-9,-0.0014795761455542354,2.177709692752412e-5,4.3431788306475135e-9,-0.0014794146511569793,2.202796158292254e-5,4.530508461441201e-9,-0.0014792883061481331,2.21516328538685e-5,4.623353141774396e-9,-0.0014791364524373138,2.2144870224967428e-5,4.620002061129199e-9,-0.001478906684187595,2.203791530288745e-5,4.543444647931511e-9,-0.0014785683235115793,2.1885258092804413e-5,4.434360357647662e-9,-0.0014781193401062422,2.1750689691606835e-5,4.339933827235743e-9,-0.0014775854795386373,2.169092982823376e-5,4.3017291032046366e-9,-0.001477012299802205,2.1742145708306606e-5,4.345842348530162e-9,-0.0014764526498468376,2.191281179061359e-5,4.477843345187745e-9,-0.0014759534363243591,2.2184454181331846e-5,4.683549499194312e-9,-0.0014755455960484022,2.2519217855883682e-5,4.93475027814799e-9,-0.0014752396898019221,2.2870962823821085e-5,5.1974073013490225e-9,-0.0014750271342094889,2.3195958122338928e-5,5.439457561441334e-9,-0.0014748851544931095,2.3460421517391652e-5,5.636259530417908e-9,-0.0014747829673421675,2.3644120169039524e-5,5.773169265596725e-9,-0.001474687320693333,2.374080291527646e-5,5.845840169919798e-9,-0.0014745666070528286,2.3756880234768512e-5,5.859274017653767e-9,-0.0014743937130802754,2.370958754850038e-5,5.826487086509059e-9,-0.0014741482569230124,2.3625217663658505e-5,5.767179828898929e-9,-0.001473818894785108,2.353730629244631e-5,5.7063097259063755e-9,-0.0014734060778071696,2.3484074946004946e-5,5.672082995091509e-9,-0.001472924981874492,2.3504008874457454e-5,5.692603170476783e-9,-0.0014724072644037177,2.3628534088270373e-5,5.790480507708103e-9,-0.0014718991918354172,2.387197597384268e-5,5.975569281186334e-9,-0.0014714535304005726,2.422153315886059e-5,6.2378093646216116e-9,-0.0014711147480171334,2.463284924493281e-5,6.5441791770475725e-9,-0.0014709018005976526,2.5037149761910478e-5,6.844044438239558e-9,-0.0014707971735682401,2.5361087416693702e-5,7.08371765685339e-9,-0.0014707499231823534,2.5551998946229314e-5,7.224937628064112e-9,-0.0014706928556039132,2.559617122586235e-5,7.2582251778159335e-9,-0.0014705654035565266,2.5521412187611647e-5,7.204692681405604e-9,-0.0014703314954858874,2.5384704814681434e-5,7.106814374546921e-9,-0.001469986538679709,2.5252782134341083e-5,7.013936096625625e-9,-0.0014695540981764408,2.5183955143550453e-5,6.968766442288963e-9,-0.0014690762900327096,2.5215950258180403e-5,6.998456432120111e-9,-0.0014686020708823385,2.5360870206104967e-5,7.1110940673169154e-9,-0.001468176386598783,2.5606318665205407e-5,7.296811789583651e-9,-0.001467831922902369,2.592100301791191e-5,7.532134484148677e-9,-0.0014675843884544473,2.6263002803544234e-5,7.786145194716698e-9,-0.0014674316308986469,2.6588795756606222e-5,8.027060457500164e-9,-0.0014673561469447757,2.6861167542429433e-5,8.22790296065784e-9,-0.001467329858105644,2.7054651629686617e-5,8.370365121482301e-9,-0.0014673197245071011,2.7158013293985568e-5,8.446566196624374e-9,-0.0014672929285562525,2.717410966689769e-5,8.458950180331899e-9,-0.0014672208834997042,2.7118011201820044e-5,8.4189307986924e-9,-0.0014670820001531884,2.7014370775278294e-5,8.34495143072538e-9,-0.0014668636033767842,2.6894642929169563e-5,8.260369284515231e-9,-0.0014665634811135814,2.6794222102966245e-5,8.19123024785904e-9,-0.0014661914098972825,2.674909228562432e-5,8.163696466874626e-9,-0.001465770520724381,2.679114846664634e-5,8.200590836488431e-9,-0.001465337400999473,2.6941364730020337e-5,8.316505230393117e-9,-0.0014649388274165344,2.720105595585084e-5,8.511638713086152e-9,-0.0014646228477321868,2.7543744071366404e-5,8.766111014759959e-9,-0.0014644237187200332,2.791300341092992e-5,9.03854416039646e-9,-0.001464344966501293,2.8232690622237343e-5,9.273507511061049e-9,-0.00146435037296069,2.8431059296295023e-5,9.418980704214775e-9,-0.0014643722903750673,2.8469546292426055e-5,9.447272055057291e-9,-0.0014643365365555757,2.835968319109381e-5,9.367378735882624e-9,-0.0014641906956874835,2.8157374663821298e-5,9.220801767421116e-9,-0.0014639203699168175,2.793907130398366e-5,9.063972153156974e-9,-0.001463547743641747,2.777469392086682e-5,8.94819704622287e-9,-0.0014631181589848093,2.770971394278009e-5,8.906400483072525e-9,-0.0014626840013922983,2.7759615661242276e-5,8.949152904876544e-9,-0.0014622919778576426,2.7913376841285792e-5,9.067487925009645e-9,-0.0014619755187329977,2.8141209895819113e-5,9.238874894232356e-9,-0.0014617515941158011,2.840319839203045e-5,9.43374255358404e-9,-0.0014616206414562979,2.8657228590944903e-5,9.621316724398479e-9,-0.0014615686117483452,2.88656511750599e-5,9.77438646312151e-9,-0.0014615705063021332,2.9000359578134314e-5,9.872855466969257e-9,-0.0014615948598680729,2.9046009835060456e-5,9.905967029354836e-9,-0.001461608579480747,2.900124632155569e-5,9.873148682283592e-9,-0.0014615815016667387,2.8877991973552452e-5,9.783504838835818e-9,-0.001461490094774729,2.86991569091944e-5,9.65415693656674e-9,-0.0014613200429391873,2.8495379357004293e-5,9.507823393054517e-9,-0.0014610677949529376,2.8301325099769305e-5,9.370010304543687e-9,-0.0014607412749224225,2.8151769243240655e-5,9.266016170060544e-9,-0.001460359934266054,2.807741831222614e-5,9.217802419101563e-9,-0.001459954104262802,2.810012125881796e-5,9.240548810429125e-9,-0.0014595629027557774,2.8227079611997363e-5,9.338632920695437e-9,-0.001459229207373408,2.8444570378339046e-5,9.501348366973721e-9,-0.0014589903312328463,2.8713478214577256e-5,9.699906185659169e-9,-0.0014588646330113623,2.8970928160528702e-5,9.888704607981145e-9,-0.0014588380390138703,2.9143000527045176e-5,1.0014441084658272e-8,-0.0014588592510678298,2.916941323267889e-5,1.0033827086917958e-8,-0.0014588523821274818,2.9030953044343186e-5,9.933409035109415e-9,-0.0014587456644553276,2.8762477106263568e-5,9.739062259576716e-9,-0.001458501091057045,2.844024437257861e-5,9.506799999855063e-9,-0.001458127143420008,2.8150315430128008e-5,9.299622484807696e-9,-0.001457669435461303,2.7957472722960843e-5,9.164649386359438e-9,-0.0014571891196582215,2.788982620398424e-5,9.12181556433836e-9,-0.001456742655817562,2.7940470402478702e-5,9.1652351867303225E-09,-0.0014563700347164715,2.807848674258035e-5,9.271524962474886e-9,-0.0014560912588836175,2.826144010513699e-5,9.409190716108027e-9,-0.0014559078903742333,2.8445360201978687e-5,9.546033498517481e-9,-0.0014558067229891146,2.859145029300421e-5,9.65399985693406e-9,-0.0014557639343839687,2.867025540336573e-5,9.712068997365372e-9,-0.0014557492065120391,2.8664138594720785e-5,9.707890097359682e-9,-0.0014557298001960863,2.8568493551007577e-5,9.638560286519974e-9,-0.0014556745936851589,2.839177608483774e-5,9.510625422205857e-9,-0.0014555579370875656,2.815423714782051e-5,9.339183329667601e-9,-0.0014553629537277198,2.788526924195518e-5,9.14595894628804e-9,-0.0014550838573302906,2.7619586166606147e-5,8.95646433151999e-9,-0.0014547270310782067,2.7392671032165182e-5,8.796565507284847e-9,-0.0014543107698863327,2.7235881381529104e-5,8.688803061502544e-9,-0.0014538636547068316,2.7171559156514596e-5,8.648806078255112e-9,-0.0014534215710303232,2.7208440099601352e-5,8.68207399305285e-9,-0.001453023162629078,2.7337595874378007e-5,8.781285876904159e-9,-0.0014527031545351094,2.7529636906441165e-5,8.924571639210088e-9,-0.0014524833008458392,2.7735059993107925e-5,9.075970709988018e-9,-0.0014523621957538728,2.7890571544417234e-5,9.190018425776328e-9,-0.0014523077282724134,2.793379091660291e-5,9.22219677030714e-9,-0.0014522585937687897,2.7825223830983982e-5,9.144582317840528e-9,-0.0014521403795198652,2.7569149189017554e-5,8.960821255109384e-9,-0.001451893505617349,2.7219493141957345e-5,8.71038541518176e-9,-0.0014514989868257015,2.6862149989671336e-5,8.455773632611902e-9,-0.0014509858377754307,2.6581283086955036e-5,8.257991564297597e-9,-0.0014504161415827162,2.642918854125528e-5,8.154588223766253e-9,-0.0014498591074915373,2.6414918608475404e-5,8.151437565096828e-9,-0.0014493694267968629,2.6511849721997745e-5,8.228438049517682e-9,-0.001448977429522189,2.667403387196817e-5,8.351639483937653e-9,-0.0014486894408670674,2.6851542282472955e-5,8.484552463610772e-9,-0.0014484932417684118,2.700055872143433e-5,8.595494996252945e-9,-0.0014483645278005612,2.7088384874182358e-5,8.661115546099852e-9,-0.0014482724252906584,2.709519725146361e-5,8.667505390416874e-9,-0.0014481837922433506,2.7014246607076915e-5,8.610209915657879e-9,-0.0014480667630384213,2.6851367625677863e-5,8.493819386236972e-9,-0.0014478939985973695,2.6623968239600285e-5,8.331252341426477e-9,-0.0014476458307236476,2.635924813759418e-5,8.142498231074953e-9,-0.00144731311061095,2.6091231865376743e-5,7.952456649511876e-9,-0.0014468992107673786,2.5856444834127285e-5,7.787722099695875e-9,-0.0014464205463444633,2.5688537660867144e-5,7.672567457310853e-9,-0.0014459051593164764,2.5612502082256553e-5,7.624669465502379e-9,-0.0014453891705153014,2.5639343311066898e-5,7.651283894303304e-9,-0.0014449112632642608,2.5762226244715e-5,7.746636370364774e-9,-0.0014445057152640856,2.595501245227754e-5,7.891145026699935e-9,-0.0014441946694093064,2.6173960497131583e-5,8.052917461887092e-9,-0.0014439806475695987,2.636349963132186e-5,8.192048807278225e-9,-0.0014438411873451745,2.646690890427581e-5,8.268250609640819e-9,-0.0014437286296687954,2.6441511003512633e-5,8.251567637578792e-9,-0.001443578444853297,2.6275165731848128e-5,8.1339948899965e-9,-0.0014433273202660133,2.5997083928831833e-5,7.937096006765073e-9,-0.001442936409115405,2.567444219779277e-5,7.709508223593939e-9,-0.0014424086701659907,2.5391506100637698e-5,7.511889392046065e-9,-0.0014417892862947695,2.5219227646515815e-5,7.3950023164529674e-9,-0.001441147821285167,2.5191187270965408e-5,7.382424698161206e-9,-0.0014405525671188652,2.5297654232244746e-5,7.46642211059057e-9,-0.0014400506984845914,2.549697136888099e-5,7.616367322101587e-9,-0.0014396609875323325,2.573422047511667e-5,7.792362299919142e-9,-0.0014393770763216152,2.595731091946943e-5,7.956884889193762e-9,-0.0014391755390315833,2.6126299063856226e-5,8.081435414644157e-9,-0.0014390240648945822,2.621661961154909e-5,8.14872862017226e-9,-0.0014388876944924675,2.6218749094750767e-5,8.152319004850451e-9,-0.0014387330155882449,2.6136521805769236e-5,8.095315097039274e-9,-0.0014385310964584244,2.5985249879172986e-5,7.98902323659588e-9,-0.0014382599562942464,2.578984727441783e-5,7.851630723953415e-9,-0.001437907000473791,2.558258430097201e-5,7.706602007982529e-9,-0.0014374713475980292,2.539984818095332e-5,7.580298299298504e-9,-0.0014369654370357835,2.5277430919184726E-05,7.498481675769508e-9,-0.0014364149450387434,2.524445155724815e-5,7.481837634246073e-9,-0.0014358560907401488,2.531680732424275e-5,7.541239382042651e-9,-0.0014353299421923447,2.549174348391302e-5,7.67395063074306e-9,-0.0014348742608147498,2.5745447771436074e-5,7.862124322155557e-9,-0.0014345144552345818,2.6035180886781052e-5,8.074600559849243e-9,-0.0014342558619612528,2.6306381027453562e-5,8.272200047331242e-9,-0.001434079589311781,2.6503932782313694e-5,8.415841468953633e-9,-0.0014339437223416472,2.658569469617018e-5,8.476099349229682e-9,-0.0014337909162949274,2.653533090809111e-5,8.442148816768944e-9,-0.0014335620776601706,2.6370518693983798e-5,8.32738512813637e-9,-0.0014332136074441035,2.614232716045764e-5,8.16878953155742e-9,-0.0014327328436069065,2.592319956427502e-5,8.01823403658462e-9,-0.0014321447131647473,2.5785451237951414e-5,7.927095900408931e-9,-0.0014315049081303302,2.5778022969174607e-5,7.92972291182139e-9,-0.001430881462440153,2.591187567232032e-5,8.0331743458699e-9,-0.0014303331772278684,2.616035797685171e-5,8.217711692267238e-9,-0.0014298944934438224,2.6472481447071226e-5,8.446469961108673e-9,-0.0014295714210435305,2.6790920056085873e-5,8.67839265732808e-9,-0.0014293466416022695,2.706669905365202e-5,8.878682424407924e-9,-0.0014291886521796292,2.726698482237647e-5,9.024249768378522e-9,-0.0014290605250002484,2.7376714200605378e-5,9.104750656058354e-9,-0.0014289262535661926,2.7396668664601868e-5,9.121125674470142e-9,-0.0014287546376585928,2.734037378186705e-5,9.083361209742851e-9,-0.0014285215854872378,2.7231132652078738e-5,9.008387004102195e-9,-0.0014282118094740023,2.7099446056366132e-5,8.91824477219024e-9,-0.0014278205169719102,2.6980369162120895e-5,8.838165817857077e-9,-0.0014273551041353886,2.6910052790540644e-5,8.794014126806641e-9,-0.001426836217410468,2.692081607168585e-5,8.808668492982802e-9,-0.0014262969989791532,2.703467650249471e-5,8.897360695655925e-9,-0.0014257791653392638,2.7256366225002294e-5,9.062761040100194e-9,-0.0014253252294257476,2.7568169951920956e-5,9.291482753990074e-9,-0.0014249678412150235,2.7929586139618507e-5,9.554082763102208e-9,-0.001424719247272349,2.8283922152095817e-5,9.8099633515569e-9,-0.0014245649540888968,2.857138997614607e-5,1.0016784431585915e-8,-0.001424464819701088,2.874523105273305e-5,1.0141889729331605e-8,-0.0014243621807249333,2.8785614912595313e-5,1.0172034668321106e-8,-0.001424198594399113,2.8706550061364885e-5,1.0118076747905602e-8,-0.0014239298298215845,2.855338333973738e-5,1.0012952173362216e-8,-0.0014235384273948743,2.8391359153604704e-5,9.903332600293055e-9,-0.001423039068963574,2.8288237213866135e-5,9.837163726172813e-9,-0.0014224748046457894,2.8295862255426144e-5,9.850620457112531e-9,-0.0014219048911750486,2.8436423102220665e-5,9.95855573897215e-9,-0.0014213881167722824,2.8698019217145672e-5,1.0151643259449534e-8,-0.001420967450066756,2.9040746996965335e-5,1.0400951762124473e-8,-0.0014206611416994707,2.941022918094345e-5,1.066766982712532e-8,-0.001420462210050991,2.9752840746124096e-5,1.0913884054961945e-8,-0.0014203445464611544,3.0027360180390388e-5,1.111072374244291e-8,-0.0014202718523974758,3.0210625033603962e-5,1.1242230035220288e-8,-0.0014202059478694213,3.0297793467362173e-5,1.130543514634517e-8,-0.0014201126851082163,3.0299379741317255e-5,1.1308212546961511e-8,-0.001419965354967399,3.023722740125861e-5,1.126641797154726e-8,-0.0014197463754245395,3.0140745523510838e-5,1.1201222166966375e-8,-0.0014194482287997765,3.004374201377961e-5,1.1136832656018542e-8,-0.0014190743137684472,2.9981438465230445e-5,1.1098298258684281e-8,-0.001418639809555389,2.9986901963587264e-5,1.1108885328964141e-8,-0.001418171968272546,3.008617815680982e-5,1.1186579824169502e-8,-0.0014177085861886171,3.0291942135319834e-5,1.133964646008498e-8,-0.001417293059956346,3.05967206924271e-5,1.1562003200599675e-8,-0.0014169650708668305,3.0968510049347896e-5,1.1830355814926381e-8,-0.0014167481369272308,3.135278601208798e-5,1.210581797947972e-8,-0.0014166384270926171,3.168371673086619e-5,1.2341922339142801e-8,-0.001416601011852032,3.1903068064781095e-5,1.2497950944243014e-8,-0.001416577597530908,3.197990561297152e-5,1.2552765821321245e-8,-0.001416504023895075,3.192205189348772e-5,1.2512782170450044e-8,-0.0014163303334027324,3.177388113563488e-5,1.241023118085146e-8,-0.0014160352058320256,3.160197306166359e-5,1.2292773285630224e-8,-0.00141563020412267,3.147525183817631e-5,1.2209223647116733e-8,-0.001415154182806351,3.144686499940079e-5,1.219665427065755e-8,-0.0014146612944608804,3.1542588220823e-5,1.2272337128455885e-8,-0.0014142068212377667,3.17574992652059e-5,1.2431711044918489e-8,-0.0014138345495532411,3.206030619328251e-5,1.2651790954942593e-8,-0.0014135683760217552,3.240316711893786e-5,1.2898338055852669e-8,-0.0014134095167311366,3.273394154711765e-5,1.3134557510283644e-8,-0.0014133391618895421,3.300757270905415e-5,1.3329020931988017e-8,-0.0014133249690354472,3.31939594183018e-5,1.34610409333419e-8,-0.0014133289896605121,3.328119077205221e-5,1.3522794560786908e-8,-0.001413314822460721,3.3274656159752014e-5,1.3518607273504532e-8,-0.0014132527079583823,3.3193518643689525e-5,1.3462443644765452e-8,-0.0014131223461608018,3.3066195373724894e-5,1.3374722960227905e-8,-0.001412913992766144,3.292604615376844e-5,1.3279258055873786e-8,-0.0014126286522506636,3.2807704536436217e-5,1.3200599557144906e-8,-0.0014122779793304208,3.274378481004234e-5,1.3161617579820244e-8,-0.0014118840527596287,3.276134215889836e-5,1.318093997452497e-8,-0.0014114785988180107,3.287744387268909e-5,1.3269863918137662e-8,-0.0014111005438624472,3.309364278437632e-5,1.3428626290622916e-8,-0.0014107903444190032,3.339035361538781e-5,1.3642698341029341e-8,-0.0014105801213301545,3.372401496582465e-5,1.388102605623399e-8,-0.0014104809172316352,3.403140528598448e-5,1.4099169038639324e-8,-0.0014104721889999377,3.4244418459823575e-5,1.4249623837810556e-8,-0.0014105012730983308,3.431313016865975e-5,1.4297897851110098e-8,-0.0014104976530675871,3.4227232153276674e-5,1.4237483279052317e-8,-0.0014103978203613941,3.4023102917727105e-5,1.409478258989675e-8,-0.0014101683041605874,3.37710788967813e-5,1.3920030577394821e-8,-0.0014098152448564095,3.3549879175073367e-5,1.3769043937615413e-8,-0.0014093780596700428,3.342166325020871e-5,1.3685419104499984e-8,-0.0014089135400348065,3.341756238018929e-5,1.3690309226175862e-8,-0.0014084788334548454,3.3535493238112093e-5,1.37811189010826e-8,-0.0014081186845767038,3.374669781848928e-5,1.3936497322555077e-8,-0.0014078585339577186,3.400633332696204e-5,1.4124144409347155e-8,-0.0014077028508541673,3.42645878758073e-5,1.4308805334751806e-8,-0.0014076373664685578,3.4476340111075574e-5,1.4459025629545484e-8,-0.0014076339312917433,3.4608360343685586e-5,1.4552028310657353e-8,-0.0014076568208633863,3.464345854701809e-5,1.457641017245677e-8,-0.001407669277186434,3.458141606859998e-5,1.4532638817739162e-8,-0.0014076391876356137,3.443714237304597e-5,1.4431695615751243e-8,-0.0014075431589499628,3.42369134134312e-5,1.4292440206539112e-8,-0.0014073687088618709,3.401369363319955e-5,1.4138337135936162e-8,-0.0014071148025871514,3.380247774740365e-5,1.3994150056515684e-8,-0.0014067912957618034,3.363619137526845e-5,1.3882976655598566e-8,-0.001406417785833611,3.3542132876375727e-5,1.3823657520053249e-8,-0.0014060220696082155,3.3538605100390865e-5,1.3828389059174037e-8,-0.0014056380007306819,3.363132267047934e-5,1.3900311168766636e-8,-0.0014053019647113963,3.3809476163547754e-5,1.403098639393186e-8,-0.0014050467952829435,3.404235090138576e-5,1.4198316878603361e-8,-0.0014048925106380783,3.427900969237467e-5,1.4366522015636952e-8,-0.0014048352740607154,3.4454830578689884e-5,1.4490717899879615e-8,-0.0014048394576729162,3.450785686877302e-5,1.452817586539771e-8,-0.0014048405652307403,3.4402642110255266e-5,1.4454790297227312e-8,-0.001404764049178016,3.415061768516878e-5,1.4279243287251102e-8,-0.0014045544794032856,3.381223147440442e-5,1.4044512501709342e-8,-0.001404199019517501,3.34753415760048e-5,1.3812662721467575e-8,-0.0014037308928993113,3.322120032523223e-5,1.3640780805957817e-8,-0.0014032126628860826,3.309751484531842e-5,1.3561886833224022e-8,-0.0014027118105852483,3.311012467826726e-5,1.3579138976547671e-8,-0.0014022815504324637,3.3230920394382554e-5,1.3671690150678322e-8,-0.0014019518800177807,3.341272421638346e-5,1.3805518700988216e-8,-0.0014017290980962978,3.360354473780993e-5,1.3943711301648619e-8,-0.0014016000243125806,3.375694744860536e-5,1.4053807349603574e-8,-0.001401537920759662,3.383830386691697e-5,1.4112051071441454e-8,-0.001401508516602354,3.38278961316903e-5,1.4105333153706423e-8,-0.0014014756088146735,3.372177220527613e-5,1.4031568509718768e-8,-0.0014014060660440912,3.353076489929489e-5,1.3898885331730495e-8,-0.0014012739860668733,3.327793091957308e-5,1.3723815329935129e-8,-0.0014010636973225197,3.2994742987017955e-5,1.3528667448275764e-8,-0.0014007713279077503,3.271646976821572e-5,1.3338315101143095e-8,-0.0014004048383781237,3.247734073521475e-5,1.3176767910392181e-8,-0.001399982720160362,3.230609707347399e-5,1.3063963984102755e-8,-0.0013995317115542282,3.222223618554686e-5,1.3013065431940527e-8,-0.0013990837824146862,3.223298100013896e-5,1.3028362806501945e-8,-0.0013986724408224693,3.2330914871978444e-5,1.310378977963939e-8,-0.0013983280897938944,3.249234472603756e-5,1.3222059543851011e-8,-0.0013980719157413676,3.26771022098923e-5,1.3354806377875613e-8,-0.001397908301055983,3.2831582187595467E-05,1.3464847011626819e-8,-0.001397817347062273,3.289747667782527e-5,1.3512189019105797e-8,-0.001397751512132713,3.28277047548693e-5,1.3464871106866769e-8,-0.0013976423203658295,3.260691801970788e-5,1.3312974762696126e-8,-0.0013974208313565252,3.2266892279175194e-5,1.3079220779759064e-8,-0.0013970462170215551,3.188350281420138e-5,1.2816866134850941e-8,-0.001396526429072313,3.15504266134185e-5,1.2591347003175733e-8,-0.0013959162362914407,3.134208482490942e-5,1.2454319312828303e-8,-0.0013952934212709952,3.12876940613365e-5,1.2425488800691024e-8,-0.0013947290248052181,3.1368994960239776e-5,1.2491155941132685e-8,-0.0013942677926455445,3.153656609401135e-5,1.2615901943459306e-8,-0.001393923604268954,3.173094679442987e-5,1.2757639356311874e-8,-0.0013936850245932673,3.189863660685751e-5,1.287894027262053e-8,-0.0013935243292366379,3.20005016684368e-5,1.295286703830315e-8,-0.0013934059148908537,3.2014351751696166e-5,1.2964583482053157e-8,-0.0013932926868055352,3.193431439306784e-5,1.29106853876459e-8,-0.0013931506171936453,3.176890244780789e-5,1.279767711238989e-8,-0.0013929521622677431,3.153852371658084e-5,1.2640170940633758e-8,-0.0013926789463034916,3.1272453315631026e-5,1.2458806214965603e-8]} \ No newline at end of file diff --git a/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_4.json b/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_4.json new file mode 100644 index 0000000..7170bac --- /dev/null +++ b/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_4.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1.0,"startIndex":4000,"numberOfSamples":1000,"samples":[-0.0013923237156324762,3.10051313115372e-5,1.227772476593132e-8,-0.0013918913030339685,3.0771749723490945e-5,1.2121506307793586e-8,-0.0013913982265213998,3.060338976954708e-5,1.2011722091998317e-8,-0.0013908707040811456,3.052231698115309e-5,1.1963565646016446e-8,-0.001390341194667023,3.053811122326968e-5,1.198311590315129e-8,-0.0013898437960375297,3.064516965374932e-5,1.206567850949141e-8,-0.0013894089283486013,3.0821985171837794e-5,1.219550046257788e-8,-0.0013890577325521491,3.103246124664618e-5,1.234697235237071e-8,-0.001388796542557306,3.12295787680487e-5,1.2487412403812631e-8,-0.0013886120720738905,3.136210718279558e-5,1.2581786671309725e-8,-0.0013884688947041909,3.1385084006792996e-5,1.2599819994917749e-8,-0.0013883119458332274,3.127360474065753e-5,1.2525244839418013e-8,-0.0013880771300425396,3.103666131759266e-5,1.2365079707027838e-8,-0.0013877108551321243,3.072388276790292e-5,1.2154123117817592e-8,-0.0013871929430152989,3.0416606360292832e-5,1.1948741207200948e-8,-0.001386550391714903,3.0201205713724095e-5,1.1808429582903155e-8,-0.0013858506737383077,3.01357997768827e-5,1.1772803776767341e-8,-0.0013851759104291312,3.0229273883448915e-5,1.1847175892297428e-8,-0.001384592881220668,3.0443874540562336e-5,1.2004550146250928e-8,-0.0013841349373795028,3.0716035009628255e-5,1.2200281016361826e-8,-0.0013838008265632472,3.098058540822912e-5,1.2389009867920565e-8,-0.0013835645353088798,3.118712181259742e-5,1.2536034707260684e-8,-0.0013833877106148682,3.130621279611001e-5,1.2621499602221395e-8,-0.0013832296076505604,3.132862793970199e-5,1.2639667607070031e-8,-0.0013830533398082588,3.12615629520694e-5,1.2596119024238894e-8,-0.0013828292717648978,3.1124447793189026e-5,1.2504739208443173e-8,-0.001382536894290198,3.094526718665489e-5,1.238515875044467e-8,-0.001382166093661862,3.0757242436986546e-5,1.2260502826500002e-8,-0.0013817180828804721,3.059536687843876e-5,1.2155030689028627e-8,-0.0013812057662645032,3.0492356610198686e-5,1.2091316281131741e-8,-0.001380652965115511,3.0473944416237442e-5,1.2086924984252354e-8,-0.0013800918794172976,3.055405387965315e-5,1.2151015510603047e-8,-0.0013795585330693598,3.073089776278415e-5,1.2281664264941277e-8,-0.0013790865545975047,3.098519781713838e-5,1.2464780864846123e-8,-0.0013787002512115332,3.128152698517288e-5,1.2675280274755086e-8,-0.0013784083744284533,3.1573186320784075e-5,1.2880703491497357e-8,-0.0013782000273174174,3.181021399913377e-5,1.3046891803617532e-8,-0.0013780438976636682,3.19495350745652e-5,1.3144947940134446E-08,-0.0013778917807731484,3.1965865743675875e-5,1.3158522917130986e-8,-0.0013776871187557247,3.186125601721507e-5,1.3090054814128084e-8,-0.0013773784345414448,3.167005542915762e-5,1.2963872114938864e-8,-0.0013769355296510653,3.145540027821075e-5,1.2823586040322064e-8,-0.0013763632310821636,3.129451925350386e-5,1.2721957602677264e-8,-0.0013757051938257864,3.12548297658547e-5,1.2704580862237566e-8,-0.0013750325167593762,3.136980980661643e-5,1.2793513871866098e-8,-0.0013744200205683455,3.162705495398507e-5,1.297932656913296e-8,-0.001373921486003332,3.197529339541822e-5,1.3226141868971426e-8,-0.0013735559011152846,3.2345581764334165e-5,1.348632479099502e-8,-0.001373308834962327,3.267443076739067e-5,1.371638565723486e-8,-0.0013731440063741707,3.2918760928589506e-5,1.3887174851188765e-8,-0.0013730169969555664,3.306017025212218e-5,1.3986670884338575e-8,-0.001372885707505598,3.310177282032628e-5,1.4017645484980559e-8,-0.0013727161916267327,3.3062157152929236e-5,1.3993385650784678e-8,-0.0013724849650755444,3.2969528124314865e-5,1.3933613214447525e-8,-0.0013721795043743403,3.2857132549704686e-5,1.3861350571725312e-8,-0.001371798199420233,3.275975393211377e-5,1.3800541749182052e-8,-0.001371350267391638,3.2710546394120883e-5,1.3773879566233536e-8,-0.0013708554660210265,3.273748651144435e-5,1.3800332746004124e-8,-0.0013703429392595617,3.285908614832062e-5,1.3892159705457934e-8,-0.0013698482842253537,3.3079732505826116e-5,1.4051723281032588e-8,-0.0013694081789119867,3.33859216188847e-5,1.4269017354682299e-8,-0.0013690527752354515,3.3745292715916165e-5,1.4521206280880815e-8,-0.0013687973523058758,3.411026251376824e-5,1.4775341685527618e-8,-0.001368635864809167,3.442685430142285e-5,1.4994571911094206e-8,-0.001368539190809793,3.464725058126877e-5,1.5146764379461272e-8,-0.0013684596653155585,3.474271507765218e-5,1.5213225547749854e-8,-0.001368341412275528,3.471292842213015e-5,1.519483961915156e-8,-0.0013681340963783179,3.458864103148684e-5,1.5113572919781048e-8,-0.001367806641243441,3.442624486265195e-5,1.50084742827696e-8,-0.0013673571913396174,3.429481060775766e-5,1.492663952720893e-8,-0.0013668159712882611,3.425816744323766e-5,1.4910976651613327e-8,-0.0013662389537410337,3.4356679623137404e-5,1.4987969233571176e-8,-0.0013656929127156684,3.45948313307106e-5,1.5159539607809455e-8,-0.0013652362239514341,3.493996318255312e-5,1.540252269790559e-8,-0.0013649025854399397,3.533339206451559e-5,1.5676457844807535e-8,-0.001364694017006319,3.5709311516460834e-5,1.5936510012581336e-8,-0.0013645848390629765,3.6013317990182196e-5,1.6146000719145376e-8,-0.001364533006244744,3.6213785847992433e-5,1.6284003030435945e-8,-0.0013644928514191061,3.630413358810897e-5,1.6346724249025713e-8,-0.0013644247321696538,3.629841553527456e-5,1.6344369702902035e-8,-0.0013643001276189908,3.622421100892573e-5,1.6296216699097295e-8,-0.0013641030557909385,3.611585301733881e-5,1.6225972675099123e-8,-0.001363829489218644,3.6009284510185593e-5,1.6158272516967093e-8,-0.0013634861732545276,3.59384398039273e-5,1.6116209694143087e-8,-0.0013630895393642458,3.593237657339973e-5,1.6119355456194334e-8,-0.0013626646638417342,3.601230966247092e-5,1.618170797397962e-8,-0.001362243629102119,3.61880268938273e-5,1.6309266089582144e-8,-0.0013618622841067652,3.64538655276576e-5,1.6497393820657673e-8,-0.0013615544772974737,3.6785502430891855e-5,1.6728827194428735e-8,-0.0013613437161679772,3.713991173468955e-5,1.697386187057922e-8,-0.001361234021080087,3.746108911824493e-5,1.719439828116546e-8,-0.0013612037638524796,3.7692536866159856e-5,1.7352457140518053e-8,-0.001361206847971344,3.779396838960132e-5,1.742144636974678e-8,-0.0013611832374142226,3.7756031020244054e-5,1.7396011201743785e-8,-0.001361076191644119,3.7606086154550635e-5,1.7295762883204998e-8,-0.0013608496577971183,3.7401677631123275e-5,1.716059227166306e-8,-0.0013604990488915285,3.721408821670011e-5,1.7039232838343093e-8,-0.0013600520125571307,3.710835900255645e-5,1.697551683056106e-8,-0.0013595600099726545,3.712640498271043e-5,1.699695432191236e-8,-0.0013590841935409244,3.727760024130748e-5,1.71086275657347e-8,-0.001358679890204125,3.7538440708709115e-5,1.7293378278633092e-8,-0.00135838372132039,3.7860514706880266e-5,1.7517577456580113e-8,-0.0013582064390924846,3.818407848658802e-5,1.7740504047095585e-8,-0.0013581329272131877,3.845318903981301e-5,1.7924558906917483e-8,-0.0013581286541984837,3.862806850028087e-5,1.804345582610699e-8,-0.0013581498661130592,3.869159882723496e-5,1.8086397228283904e-8,-0.0013581539476281528,3.8649261142348775e-5,1.8057850041261867e-8,-0.0013581071226586598,3.8524189345567815e-5,1.7974088393725628e-8,-0.0013579883897526658,3.835008509330396e-5,1.7858356144320932e-8,-0.00135779018044884,3.8164384929534315e-5,1.7736239335068338e-8,-0.001357517027048097,3.800295694389865e-5,1.7632074255281237e-8,-0.0013571835099064594,3.789645286761099e-5,1.7566453802397066e-8,-0.0013568122323385436,3.786770844912354e-5,1.7554432313878906e-8,-0.0013564319146861178,3.792940545542113e-5,1.760394100218013e-8,-0.0013560751230173448,3.808144637277682e-5,1.771409396726125e-8,-0.001355774723096159,3.830809315615486e-5,1.7873437098055103e-8,-0.0013555581129589143,3.85759738967685e-5,1.805883775217439e-8,-0.0013554390847187276,3.883530834118127e-5,1.8236503204011578e-8,-0.001355409076240439,3.9027250633763036e-5,1.836699003058032e-8,-0.0013554321238842734,3.909874292882928e-5,1.8415131641263553e-8,-0.0013554490528045462,3.90218298649933e-5,1.836291168093209e-8,-0.0013553934777036426,3.88088274293409e-5,1.8219570358978306e-8,-0.0013552148739573212,3.8513364752411945e-5,1.8022193158569097e-8,-0.0013548976458011926,3.821394753241361e-5,1.7824422483376295e-8,-0.0013544662886432806,3.7987376502045904e-5,1.767824374087245e-8,-0.001353975167144596,3.788495877740173e-5,1.7617747380746665e-8,-0.0013534897169433626,3.792082265498023e-5,1.765132964873523e-8,-0.0013530679623867672,3.807359000944715e-5,1.776318309780284e-8,-0.0013527479846985185,3.82970266342332e-5,1.7920945154219862e-8,-0.0013525427737545379,3.8534126622979775e-5,1.8085549434599747e-8,-0.0013524413684721215,3.8730475725509086e-5,1.8220348872787433e-8,-0.0013524143580498815,3.8844550459139665e-5,1.829793515757917e-8,-0.0013524218120327396,3.885388259987187e-5,1.830403299861606e-8,-0.0013524218425320289,3.8756778190668846e-5,1.8238389323156565e-8,-0.0013523781464381873,3.857000249417001e-5,1.8113029207340084e-8,-0.0013522652859119853,3.832360437107422e-5,1.7948697828581297e-8,-0.0013520711816035556,3.805446144349454e-5,1.7770522740602527e-8,-0.0013517970474576544,3.7800026057570636e-5,1.760383303417335e-8,-0.0013514555502732262,3.759328234789039e-5,1.7470765883749638e-8,-0.0013510681406707162,3.745922197053802e-5,1.7387859156658665e-8,-0.0013506622145259056,3.741251692416933e-5,1.7364450412879974e-8,-0.0013502682953014952,3.7455843878886433e-5,1.7401577299135237e-8,-0.0013499170098815133,3.757843888576176e-5,1.749114206947162e-8,-0.0013496352319221148,3.775487577483726e-5,1.7615323797154796e-8,-0.001349440649488639,3.794495617766193e-5,1.7746750386563e-8,-0.0013493347424008647,3.809671819615431e-5,1.7850659872577422e-8,-0.001349295890582923,3.8155046902679206e-5,1.7890635669466993e-8,-0.0013492766959825838,3.807708327935155e-5,1.783874654599152e-8,-0.0013492110735612106,3.785133903622449e-5,1.768815260529381e-8,-0.001349033855976422,3.751108479626499e-5,1.7461969909133265e-8,-0.0013487069795288752,3.71303580506857e-5,1.7210535401503925e-8,-0.0013482379377772538,3.67993136705882e-5,1.6994726215196717e-8,-0.001347678208637462,3.659042766946213e-5,1.6863046213677397e-8,-0.0013471024913643088,3.6534216931232214e-5,1.6835204236635903e-8,-0.0013465817610538201,3.661531138061667e-5,1.6899639174625656e-8,-0.0013461637307948591,3.67855921967629e-5,1.702274689456107e-8,-0.0013458659040266978,3.698362593147122e-5,1.716236688366139e-8,-0.0013456786096961092,3.715150481672573e-5,1.7279353443021854e-8,-0.0013455729607305563,3.7245547989349e-5,1.7344764650321256e-8,-0.0013455098437546319,3.724113849988471e-5,1.7342896275356996e-8,-0.0013454479816408654,3.713333537401668e-5,1.7271384802952297e-8,-0.0013453504339775678,3.693472237791048e-5,1.7139497446621565e-8,-0.0013451893773290563,3.66714125531848e-5,1.69653115025737e-8,-0.001344949053305138,3.6377906041960216e-5,1.677225728879621e-8,-0.0013446268270830342,3.6091487557028635e-5,1.658542561013439e-8,-0.0013442324429496473,3.584683872566402e-5,1.642801203779135e-8,-0.0013437858000863968,3.567151610583387e-5,1.6318286339007397e-8,-0.0013433138090793446,3.5582718952246464e-5,1.6267381969080993e-8,-0.0013428468552322854,3.5585336135370534e-5,1.6277959343087233e-8,-0.0013424151246411572,3.567102736278635e-5,1.6343650045473796e-8,-0.0013420448217986622,3.581815905326798e-5,1.6449191850671144e-8,-0.0013417540843769415,3.5992621037087415e-5,1.6571231526067074e-8,-0.0013415482762467888,3.6150103914661236e-5,1.6680073457991738e-8,-0.0013414149103668283,3.624123041516313e-5,1.6743183400191018e-8,-0.0013413198868642417,3.622112481074397e-5,1.6731446982117347e-8,-0.00134120845189209,3.606369069563323e-5,1.662842184473864e-8,-0.0013410151654745213,3.577732086480887e-5,1.644054815603201e-8,-0.0013406846000409867,3.5413460407537786e-5,1.6202722853245097e-8,-0.0013401964609990825,3.505743910760731e-5,1.597215167212452e-8,-0.001339580425708274,3.479926151774641e-5,1.5808809507200667e-8,-0.0013389081886428587,3.4697739505285814e-5,1.5751417893888703e-8,-0.0013382653066040724,3.475913717423584e-5,1.5803205836748927e-8,-0.0013377198411129057,3.494136132320177e-5,1.593492656261746e-8,-0.0013373043650111932,3.517656334298736e-5,1.610030358752367e-8,-0.001337015439682562,3.5396327466275055e-5,1.6253166407767607e-8,-0.0013368239990238355,3.5548502293726705e-5,1.6358821610884963e-8,-0.0013366882809558854,3.560374914900627e-5,1.639832805964985e-8,-0.001336564467218173,3.55549452941308e-5,1.636783817572624e-8,-0.001336413776905145,3.541320348266067e-5,1.627564290331889e-8,-0.0013362066349266496,3.520293709170862e-5,1.6138666700184393e-8,-0.0013359249232274644,3.4956909941254224e-5,1.5979096337218204e-8,-0.001335562924155841,3.4711420854670354e-5,1.582122151313896e-8,-0.0013351271377057652,3.4501629448674695e-5,1.568840971408109e-8,-0.0013346349529169633,3.435711455278746e-5,1.5600199028356044e-8,-0.0013341121333342526,3.429797828590833e-5,1.5569686455152157e-8,-0.0013335892705868344,3.433199575848479e-5,1.5601580165570786e-8,-0.0013330975858291425,3.4453164621146024e-5,1.5691228226897585e-8,-0.0013326644706178011,3.464175000353744e-5,1.5824749599259128e-8,-0.0013323090899715643,3.4865868704546576e-5,1.5980301002253026e-8,-0.001332038338966892,3.508467362609938e-5,1.6130447896255385e-8,-0.0013318434113794785,3.525330077002587e-5,1.6245627748951825e-8,-0.0013316975322695253,3.5330051294305984e-5,1.629891139049964e-8,-0.001331556286785722,3.528619312938393e-5,1.6272293810409786e-8,-0.0013313628892067757,3.5117465072944155e-5,1.6163989779264318e-8,-0.0013310606240185723,3.485372509921916e-5,1.5994525193249938e-8,-0.001330612092239529,3.4560074860567006e-5,1.5807325007709106e-8,-0.0013300188819388664,3.432251695865668e-5,1.5659203035008636e-8,-0.0013293294672254824,3.4218415257834896e-5,1.5600856484188996e-8,-0.0013286258106659328,3.4284781738908746e-5,1.565595284409048e-8,-0.0013279927272366466,3.45034557497139e-5,1.5811466092247673e-8,-0.001327487245815521,3.481218305757908e-5,1.6025241776050835e-8,-0.0013271243297834456,3.5132573390047304e-5,1.6244759544611692e-8,-0.0013268819281744182,3.539726971412401e-5,1.6425301589944376e-8,-0.0013267165573191055,3.556482846968116e-5,1.6539830337867083e-8,-0.0013265791200544272,3.5621827657685704e-5,1.65802341767557e-8,-0.0013264257556151145,3.5577571686315266e-5,1.6553560503722946e-8,-0.0013262233226004878,3.5456646993180176e-5,1.6476832678516347e-8,-0.0013259512363842734,3.529220284957108e-5,1.637245418374682e-8,-0.001325601512184336,3.512067149730725e-5,1.626470172512635e-8,-0.0013251780734556981,3.497753493359976e-5,1.6177001160356565e-8,-0.0013246955832461917,3.4893601735033355e-5,1.6129548566876927e-8,-0.0013241776457557696,3.48914999010468e-5,1.6137021291032074e-8,-0.001323654076904617,3.4982458503977466e-5,1.6206426975212878e-8,-0.001323157041794967,3.5163901163299414e-5,1.633548781930137e-8,-0.0013227162371304468,3.5418581049974166e-5,1.651211397605036e-8,-0.001322353687199993,3.571581068946272e-5,1.6715367990939248e-8,-0.0013220789387146789,3.601504810064792e-5,1.6918061706656873e-8,-0.0013218855424575772,3.627176280866538e-5,1.7090842854582353e-8,-0.0013217496703317407,3.644508967537851e-5,1.720733490398808e-8,-0.0013216315923340778,3.65064979819164e-5,1.7249749168249524e-8,-0.0013214807524120568,3.644842841848515e-5,1.7214291107647377e-8,-0.0013212451222116156,3.6291038759722376e-5,1.711523751546295e-8,-0.0013208846495029996,3.60839095678969e-5,1.6985751198887913e-8,-0.0013203863550454039,3.5898854230369885e-5,1.6873006904681262e-8,-0.0013197752519399667,3.581166273538234e-5,1.682623169287687e-8,-0.0013191132255276836,3.587626651540886e-5,1.6879911863534467e-8,-0.0013184815790603076,3.610241659999537e-5,1.7039381967031404e-8,-0.0013179528033887597,3.645020189165614e-5,1.7277474450637978e-8,-0.0013175658344386403,3.684610326885073e-5,1.7545256584706124e-8,-0.0013173174371027003,3.721139594219093e-5,1.7790800848516823e-8,-0.0013171711591591722,3.7487162393554715e-5,1.797564920289059e-8,-0.0013170751083556422,3.764583818573417e-5,1.8082333520008842e-8,-0.0013169783809209286,3.768958704883004e-5,1.8113134460390254e-8,-0.001316841058972772,3.764169488899078e-5,1.8084193168326844e-8,-0.001316637900558923,3.7536910324560003e-5,1.8018963620713753e-8,-0.0013163581227781179,3.74137736701684e-5,1.7943079177386814e-8,-0.0013160036253867771,3.730942928907114e-5,1.7880963442603383e-8,-0.0013155869869080489,3.725613444561233e-5,1.7853614375631473e-8,-0.0013151295414577234,3.7278505354125304e-5,1.787686235519351e-8,-0.0013146592408699255,3.7390914042800114e-5,1.7959684433815758e-8,-0.0013142077768859126,3.759497729467439e-5,1.8102557862085905e-8,-0.0013138065061219567,3.787768395385184e-5,1.829626511989185e-8,-0.0013134811566555547,3.821118959139425e-5,1.852186865762894e-8,-0.0013132460042088404,3.855535190871637e-5,1.8752556581883928e-8,-0.0013130988888896927,3.886358760935178e-5,1.895768052314085e-8,-0.0013130187880983333,3.9091668685304416e-5,1.9108648012779857e-8,-0.0013129673945528086,3.920788927157972e-5,1.9185567048502283e-8,-0.001312895240496861,3.920217618512819e-5,1.918302681873874e-8,-0.001312751730863596,3.9091588709663886e-5,1.911338071545348e-8,-0.0013124973851131767,3.892009752658912e-5,1.9006243630838438e-8,-0.0013121156803837925,3.875132474201483e-5,1.8903462645629538e-8,-0.0013116210944716046,3.865427657691962e-5,1.884969011796569e-8,-0.0013110596023093825,3.868436788208665e-5,1.8880112079492577e-8,-0.0013104989534392041,3.8865074759319735e-5,1.9008779400316116e-8,-0.0013100096397849926,3.917783531577995e-5,1.9222392671536106e-8,-0.001309642829716195,3.9566441267412706e-5,1.9483464693369486e-8,-0.0013094148936341004,3.995569860122959e-5,1.974262974906959e-8,-0.0013093055437344233,4.027611457180882e-5,1.9954738594955732e-8,-0.001309269039156997,4.048329051082387e-5,2.0091415425642147e-8,-0.0013092512762208149,4.0565121305456764e-5,2.0145608286767512e-8,-0.001309204630257768,4.053753924890765e-5,2.012862157893427e-8,-0.0013090962818779034,4.043433842048082e-5,2.0063277178960123e-8,-0.0013089102465701447,4.029664197237238e-5,1.997689758602726e-8,-0.0013086455823332675,4.0164989376255385e-5,1.9896096938048397e-8,-0.0013083132488531785,4.0074480065967925e-5,1.984365052124649e-8,-0.0013079330725531747,4.005204604799757e-5,1.9836785608003348e-8,-0.0013075312073712847,4.011466197911539e-5,1.9886069633644747e-8,-0.001307137746835643,4.026767679567208e-5,1.9994358344677895e-8,-0.0013067837953618638,4.0503094151805196e-5,2.01557240211866e-8,-0.001306497350497541,4.079836018355392e-5,2.0354765247593485e-8,-0.0013062978171497592,4.111688713507512e-5,2.0567103458832157e-8,-0.0013061898867567608,4.141184316071489e-5,2.076202115095573e-8,-0.0013061586859034154,4.163420723263055e-5,2.0907824211338083e-8,-0.001306168888940125,4.174442656977121e-5,2.097944515467198e-8,-0.0013061699709006594,4.1724685296821706e-5,2.0966324787464215e-8,-0.0013061076049721034,4.1587191985985025e-5,2.0877595932876798e-8,-0.0013059383156452651,4.137443165518275e-5,2.0741958445759947e-8,-0.0013056425938951044,4.115010375057371e-5,2.060146632532868e-8,-0.0013052319085176942,4.098302152604378e-5,2.0500810520890916e-8,-0.001304747148248314,4.092874780265062e-5,2.0475326047336553e-8,-0.0013042487662768554,4.101434730128175e-5,2.0541288681716853e-8,-0.0013038012226081626,4.1230688242288156e-5,2.0691321547541416e-8,-0.0013034559571685768,4.153480564579156e-5,2.0896370294196396e-8,-0.0013032379646765557,4.186207205593781e-5,2.111390047210881e-8,-0.0013031404096450596,4.214456168589532e-5,2.1299885763046148e-8,-0.0013031290193728036,4.232935992827865e-5,2.1420571741681682e-8,-0.0013031540596875038,4.23905340975399e-5,2.1460031357444974e-8,-0.0013031647722243158,4.233156537247573e-5,2.1421513055924925e-8,-0.0013031210288061141,4.217942322107834e-5,2.132339132411696e-8,-0.0013029993698451085,4.19743987627646e-5,2.1192421768565933e-8,-0.0013027936105723457,4.175999540557228e-5,2.1057114924379603e-8,-0.0013025120277159838,4.157542941681899e-5,2.094288448231488e-8,-0.0013021733414850117,4.145125605159004e-5,2.0869268627645957e-8,-0.001301802931785606,4.1407329810052036e-5,2.08486684580033e-8,-0.0013014297605223135,4.1451908374797514e-5,2.0885812894513818e-8,-0.001301083724057496,4.158098532303902e-5,2.097737756976615e-8,-0.0013007927456693646,4.177756479690925e-5,2.1111607157953057e-8,-0.0013005788777021498,4.201134797256275e-5,2.126826146359011e-8,-0.0013004531008736547,4.224008178027535e-5,2.1419659516259312e-8,-0.0013004095063849311,4.241435176037529e-5,2.1533904163364884e-8,-0.001300421059288809,4.248719684661846e-5,2.1581120022324038e-8,-0.0013004404355749176,4.2427837091928494e-5,2.154224223145945e-8,-0.0013004089398097013,4.223528221728633e-5,2.1417667998620045e-8,-0.001300273032166463,4.194483810430357e-5,2.1231287584532605e-8,-0.0013000028044365167,4.162178844603964e-5,2.1026176296912758e-8,-0.0012996038559836165,4.13426408192214e-5,2.0852193780685487e-8,-0.0012991166051237216,4.117141562699113e-5,2.075042537733095e-8,-0.0012986036072820868,4.11409724530234e-5,2.0741091404972655e-8,-0.00129813093698426,4.1245817779201306e-5,2.0819172199719124e-8,-0.0012977508063343123,4.144686388868798e-5,2.095795336418839e-8,-0.001297490230837804,4.168441992169005e-5,2.1117875653405696e-8,-0.0012973474395914163,4.1894427134593377e-5,2.1257279803455193e-8,-0.001297295439153459,4.2023506126082147e-5,2.1342116234441085e-8,-0.001297290782074011,4.2039616230905444e-5,2.135260920238544e-8,-0.0012972848326498105,4.193654440887813e-5,2.1285844007437435e-8,-0.0012972345579685953,4.173200901824314e-5,2.1154255926592056e-8,-0.0012971103085002236,4.146082617494708e-5,2.0981029477300475e-8,-0.0012968992859630204,4.116578087591e-5,2.0794135694006106e-8,-0.0012966049398672192,4.0888917956883526e-5,2.062073980233298e-8,-0.0012962436295018886,4.066503581169255e-5,2.048307865442981e-8,-0.0012958401889284622,4.051793533458231e-5,2.039611146731544e-8,-0.0012954236654983476,4.045897416475759e-5,2.036662737785466e-8,-0.001295023782419015,4.0486965044612695e-5,2.039320583348045e-8,-0.0012946679941183582,4.058855472756083e-5,2.04665171281949e-8,-0.001294378612670228,4.0738730472340536e-5,2.056977240662803e-8,-0.0012941693814056939,4.0901748941956324e-5,2.0679500965812705e-8,-0.0012940411451917645,4.1033526442706687e-5,2.0767257575044023e-8,-0.0012939771911233996,4.108715604463087e-5,2.0803239961642293e-8,-0.0012939403977219072,4.102298074380838e-5,2.0762689854466084e-8,-0.0012938758566673656,4.082263405184535e-5,2.0634736809638925e-8,-0.0012937224662835883,4.050242606522025e-5,2.04308134609819e-8,-0.0012934330065076513,4.0117530900919203e-5,2.0187204767311665e-8,-0.00129299496709262,3.974958987689844e-5,1.995693470396842e-8,-0.0012924399284722028,3.947942732467301e-5,1.97920270271869e-8,-0.0012918341252307118,3.935776650460108e-5,1.9724509449887175e-8,-0.0012912547182092019,3.938930857514804e-5,1.97562193674393e-8,-0.001290764690673244,3.9536318616132314E-05,1.9861433777957795e-8,-0.0012903973760540492,3.973598386964465e-5,1.999850762256767e-8,-0.001290153512484858,3.992107605315687e-5,2.0123564778314824e-8,-0.0012900074223779303,4.003630507822636e-5,2.0201177921784495e-8,-0.0012899173653183767,4.0047651738485965e-5,2.0210256251888748e-8,-0.001289836338458807,3.9945200597234635e-5,2.0145554957262593e-8,-0.0012897212998023743,3.9741174964429464E-05,2.0016045030261284e-8,-0.0012895399514628268,3.946480109359224e-5,1.984132894245313e-8,-0.001289274703109967,3.915530609271689e-5,1.9647018285539673e-8,-0.0012889236983102278,3.885435148165427e-5,1.9459904493796818e-8,-0.0012884992067051736,3.8599204907948656e-5,1.9303690980758627e-8,-0.0012880241094008248,3.841760919532316e-5,1.919581678542283e-8,-0.0012875274288492854,3.832480054634275e-5,1.9145604099175267e-8,-0.0012870398381923532,3.8322598965528926e-5,1.9153682307136752e-8,-0.001286589752637628,3.840001624621069e-5,1.921238243257403e-8,-0.001286200095515784,3.853470660398659e-5,1.9306731004946026e-8,-0.0012858854886256378,3.86948874374072e-5,1.9415831342562718e-8,-0.001285649499877651,3.8841815281819475e-5,1.9514646939711093e-8,-0.0012854817125208561,3.893347048250045e-5,1.9576511347082232e-8,-0.0012853550995704204,3.893063802338816e-5,1.957702413451274e-8,-0.0012852255062502298,3.880636244566652e-5,1.9499927026725242e-8,-0.0012850362965845573,3.855807120421911e-5,1.9344575221523857e-8,-0.0012847311762881526,3.821819412132976e-5,1.9132471126811794e-8,-0.0012842747415224602,3.785512960173213e-5,1.8907745295762985e-8,-0.0012836727720354248,3.755682902569352e-5,1.8726620068053298e-8,-0.0012829784848701268,3.739895052372073e-5,1.863702330001396e-8,-0.0012822761530718633,3.7413406126274804e-5,1.86584821716486e-8,-0.0012816490975353263,3.7576622715437714e-5,1.8774747376732938e-8,-0.0012811506382189232,3.782352818577273e-5,1.8943030423325083e-8,-0.001280792436308164,3.8075703038799706e-5,1.9112370169816575e-8,-0.0012805506354879592,3.8266803390174146e-5,1.924016463208864e-8,-0.001280380738437669,3.835616719714332e-5,1.9300925603521577e-8,-0.0012802324630361284,3.833113206068958e-5,1.9287565495948508e-8,-0.0012800605197691444,3.820264194508425e-5,1.920823586964087e-8,-0.0012798308757682997,3.799830026151315e-5,1.9081529959526996e-8,-0.001279523586304221,3.775524645033635e-5,1.8931707405877297e-8,-0.0012791333774328948,3.751366233471992e-5,1.8784512978711527e-8,-0.0012786686262423056,3.731102412992637e-5,1.866362274807214e-8,-0.001278148993439162,3.717726455085912e-5,1.858772206348688e-8,-0.001277601942460214,3.7131143654458575e-5,1.8568311190285354e-8,-0.001277058498171101,3.717813474632904e-5,1.860839408251708e-8,-0.0012765487555219646,3.7310038774287194e-5,1.8702216632045073e-8,-0.0012760977084929888,3.750624505138479e-5,1.8836075192321827e-8,-0.0012757217769639956,3.773626898786361e-5,1.8990020553034313e-8,-0.0012754261510291623,3.796321117292025e-5,1.9140234836138346e-8,-0.0012752029370164196,3.814797161205375e-5,1.92619071682081e-8,-0.0012750300928311285,3.825433491231409e-5,1.9332571089335484e-8,-0.0012748715426223701,3.825537269909844e-5,1.933609650898041e-8,-0.0012746797344262949,3.814138317428424e-5,1.926746861138821e-8,-0.0012744025805871105,3.7928235466975745e-5,1.9137729803848053e-8,-0.0012739963106319753,3.76626292022581e-5,1.897701998328715e-8,-0.0012734431088101711,3.741827327675125e-5,1.8832033009774208e-8,-0.0012727667106644165,3.7277449564075795e-5,1.875439150470419e-8,-0.0012720341118107905,3.730026444876515e-5,1.8781318347441222e-8,-0.0012713356167803904,3.749648014380484e-5,1.8917966913490027e-8,-0.0012707503868975216,3.7818967997163176e-5,1.913345694695096e-8,-0.0012703173742792029,3.818460780063819e-5,1.937431495323869e-8,-0.0012700276843224567,3.850870965846999e-5,1.958648929745315e-8,-0.0012698377681131297,3.873234768920965e-5,1.9732821725893906e-8,-0.0012696906468235986,3.883226562099348e-5,1.9799315570624595e-8,-0.0012695333572401244,3.881646913695297e-5,1.9792123553590806e-8,-0.0012693264687479164,3.8713735516634753e-5,1.9730552119127156e-8,-0.0012690470332673868,3.856312435152506e-5,1.9640099461015192e-8,-0.0012686878191508922,3.840594630060172e-5,1.9547213377593628E-08,-0.0012682550883168057,3.8280251328920796e-5,1.9475836828836382e-8,-0.0012677659821863632,3.8216972883763434e-5,1.9445125675948716e-8,-0.0012672456478990807,3.823702573972687e-5,1.9467782522189376e-8,-0.0012667239315270157,3.834915450270301e-5,1.954879813655444e-8,-0.0012662315252516165,3.8548712365379255e-5,1.9684700622829385e-8,-0.0012657956741872701,3.881779556352557e-5,1.9863631777743846E-08,-0.0012654358895180374,3.9127111421915734e-5,2.0066562567351532e-8,-0.0012651603219259492,3.943960149495701e-5,2.0269701099621573e-8,-0.0012649633922718845,3.97155188282893e-5,2.044787773900412e-8,-0.0012648251191054683,3.991847051986315e-5,2.0578512385264233e-8,-0.0012647124020133814,4.002181530954318e-5,2.0645672703362345e-8,-0.0012645824423290432,4.0014854271467307e-5,2.0643806946391964e-8,-0.001264388687972703,3.99081829052254e-5,2.0580779083148893e-8,-0.001264089784429187,3.973682895821391e-5,2.0479457047750557e-8,-0.0012636612589438738,3.955863316563664e-5,2.0376410433125773e-8,-0.001263107692385635,3.944474943991824e-5,2.031587286383709e-8,-0.0012624700916807313,3.9460627398303827e-5,2.0337965483915675e-8,-0.0012618210646095807,3.9641206055020366e-5,2.0463436185732815e-8,-0.0012612438544760331,3.997186027742948e-5,2.0682014530823786e-8,-0.0012608019231333165,4.03889145758586e-5,2.095293879084057e-8,-0.001260515403514942,4.080331509500292e-5,2.1219900523197546e-8,-0.0012603580066779792,4.1134769690694334e-5,2.143251915066937e-8,-0.0012602736669382706,4.133709908764442e-5,2.156229199212994e-8,-0.0012602001674625438,4.140455790552599e-5,2.1606510199617428e-8,-0.0012600871138250655,4.13627425982667e-5,2.1582334626039323e-8,-0.0012599037723692542,4.125395520943257e-5,2.1517286350261602e-8,-0.001259639059405887,4.112448324373034e-5,2.1440993984703374e-8,-0.0012592978126801822,4.1016374406620794e-5,2.1379934028673295e-8,-0.0012588963729254486,4.096310517242658e-5,2.1354792900167895e-8,-0.0012584587728795547,4.0987516848376617e-5,2.13793433801656e-8,-0.0012580135545439072,4.110070043061135e-5,2.145990419081642e-8,-0.001257590729174874,4.130124851631068e-5,2.1594960240885516e-8,-0.0012572184068382751,4.1574933436424366e-5,2.1774990856265992e-8,-0.0012569188758809874,4.1895365866185666e-5,2.198290829395347e-8,-0.0012567044061644376,4.2226400284913416e-5,2.2195638913385633e-8,-0.0012565736154616957,4.252676325544257e-5,2.2387154231576545e-8,-0.0012565095347204847,4.275674007069808e-5,2.2532803702984725e-8,-0.001256480413149145,4.2886024148070224e-5,2.261430451888185e-8,-0.0012564438185601924,4.290116127527485e-5,2.262433259898739e-8,-0.0012563537977570908,4.2810748157597085e-5,2.256953566001536e-8,-0.0012561701266762151,4.264685474788228e-5,2.2471059965738813e-8,-0.001255868216795208,4.246161786198218e-5,2.2362052663867524e-8,-0.00125544775922725,4.2318356345838705e-5,2.2281882031267264e-8,-0.0012549374800614776,4.22774052795677e-5,2.226731056823057e-8,-0.0012543928884045982,4.237873413357958e-5,2.2341924508824796e-8,-0.0012538846382849707,4.262624486160383e-5,2.2506767656905367e-8,-0.0012534783871114205,4.2981135163356555e-5,2.2736596297391955e-8,-0.0012532126561929605,4.3370682260662835e-5,2.2985558206766268e-8,-0.0012530852538086268,4.3711798272939364e-5,2.3201876301994538e-8,-0.0012530559769681426,4.393918260812166e-5,2.3345305957001018e-8,-0.0012530638749481211,4.4024288239515566e-5,2.3398863033464984e-8,-0.0012530490271740113,4.3977672971138264e-5,2.3370162208987406e-8,-0.0012529684380834512,4.383778762251783e-5,2.3284209882351702e-8,-0.0012528018888721966,4.365500575092296e-5,2.317318439808869e-8,-0.001252549834499636,4.34782797526141e-5,2.3067930135885604e-8,-0.0012522276998212633,4.334721846604825e-5,2.2992993745712078e-8,-0.0012518599576908918,4.3288848879161106e-5,2.2964722563118695e-8,-0.0012514754687159037,4.331706400168195e-5,2.299109201556656e-8,-0.0012511041057524219,4.343305080609753e-5,2.3072114029472213e-8,-0.0012507740089569535,4.362583037811218e-5,2.3200256491004583e-8,-0.001250508740600051,4.387284960062057e-5,2.336086149484763e-8,-0.0012503238892904954,4.414121645053139e-5,2.353297738143989e-8,-0.0012502232383400124,4.439057639247119e-5,2.3691245534858623e-8,-0.0012501953913701654,4.4578519987771495e-5,2.380937649691334e-8,-0.0012502124466062187,4.466862199857083e-5,2.386522426953918e-8,-0.0012502324655709908,4.463985453790723e-5,2.38466230351851e-8,-0.0012502066668911443,4.449465916127025e-5,2.3756267679178933e-8,-0.0012500904907569506,4.4262301368479445e-5,2.3613540810084584e-8,-0.0012498556988007213,4.3995081325114545e-5,2.3451824758728542e-8,-0.0012494996714732477,4.375734202677175e-5,2.3311357072906797e-8,-0.0012490486343557058,4.360978994232384e-5,2.3229326501100328e-8,-0.0012485532799728183,4.359328030608507e-5,2.3229896399582473e-8,-0.001248077323762565,4.3716595091107244e-5,2.331696995481848e-8,-0.0012476814413027032,4.395208150458591e-5,2.3471965518926978e-8,-0.0012474066926813987,4.424143994728845e-5,2.3657815110514976e-8,-0.001247262641945451,4.4511219507711075e-5,2.3828756487483382e-8,-0.0012472248755787513,4.469382181566311e-5,2.3943301525145774e-8,-0.0012472435198697964,4.474664503382738e-5,2.3975912178036033e-8,-0.001247259506344416,4.466205719091103e-5,2.3922954185837815e-8,-0.0012472217473297215,4.446513739596869e-5,2.3801066644975018e-8,-0.0012470987187946957,4.420202198632878e-5,2.3639715221988536e-8,-0.0012468817729012385,4.392519162060175e-5,2.3471897838937096e-8,-0.0012465817445801888,4.368137901444268e-5,2.3326586331146017e-8,-0.0012462224178688196,4.3504603084736476e-5,2.3224476425034505e-8,-0.0012458339394664786,4.3413868956406416e-5,2.317671064191687e-8,-0.0012454477067935401,4.341371210977519e-5,2.318536732956266e-8,-0.001245092875503066,4.349582099726864e-5,2.3244572533892913e-8,-0.001244793861427751,4.364070138997217e-5,2.334159650208275e-8,-0.0012445680145702208,4.381919330597018e-5,2.3457855646996076e-8,-0.0012444228840729505,4.399437802864513e-5,2.35701808197754e-8,-0.0012443530695937283,4.4124913953168016e-5,2.3652983748257247e-8,-0.0012443375127046577,4.4170905959475854e-5,2.36819578137255e-8,-0.001244339050323051,4.410267397222573e-5,2.3639490947179656e-8,-0.0012443085409083597,4.391102098493597e-5,2.352090842966235e-8,-0.0012441949428326805,4.361529559426061e-5,2.3339274923289387e-8,-0.0012439599109511782,4.3264248999509696e-5,2.3125688607710063e-8,-0.0012435919172900148,4.292632418466513e-5,2.2923014333021052e-8,-0.0012431132807987672,4.2670863701421686e-5,2.2774032688701237e-8,-0.0012425758812366372,4.2547004754978845e-5,2.2708303443627026e-8,-0.001242046681417017,4.256875652229016e-5,2.273310098467663e-8,-0.0012415887940260054,4.2711639999148036e-5,2.2831736522023835e-8,-0.0012412448848635037,4.292095325018456e-5,2.2969151481539737e-8,-0.0012410276081992223,4.312771971755229e-5,2.310214052847942e-8,-0.0012409187405165644,4.3266945611404475e-5,2.3190749585606232e-8,-0.001240876179833917,4.329319757536537e-5,2.3207763152117412e-8,-0.0012408462077011405,4.3189822733976015e-5,2.314410023143346e-8,-0.001240777320283415,4.297005585476495e-5,2.3009154427995445e-8,-0.0012406317702474867,4.267059575677806e-5,2.2826536022629307e-8,-0.0012403919863629748,4.234042689642282e-5,2.26269926746929e-8,-0.0012400610415698615,4.2028799199970334e-5,2.2440951581700866e-8,-0.0012396584394359302,4.1775753442481906e-5,2.229275950494211e-8,-0.001239213642370792,4.160681735016447e-5,2.2197568374873713e-8,-0.001238759622997134,4.153164993599383e-5,2.21606545642313e-8,-0.0012383277669794706,4.154532626799311e-5,2.217831390256571e-8,-0.0012379443945620973,4.163077699858882e-5,2.223941511624005e-8,-0.0012376284470835346,4.17613701854737e-5,2.2327028899360917e-8,-0.0012373896362990083,4.190335157601163e-5,2.2420000164546246e-8,-0.001237226498897373,4.201852746249583e-5,2.2494706995441768e-8,-0.0012371242703294284,4.2068080603654364e-5,2.2527507113518604e-8,-0.0012370533291036505,4.201858038815096e-5,2.249845761104157e-8,-0.001236970018387961,4.18506164139745e-5,2.239652980094868e-8,-0.0012368223070618539,4.1568658962976625e-5,2.2225481522563593e-8,-0.0012365619116138991,4.120801712255095e-5,2.2007914498811416e-8,-0.0012361611416612153,4.083280694899721e-5,2.1783828379414836e-8,-0.001235627714205694,4.052073423663693e-5,2.1601104914924004e-8,-0.0012350082702082678,4.0337708897671565e-5,2.149979267276202e-8,-0.0012343757042772982,4.031356310619789e-5,2.1497194944095898e-8,-0.0012338050721628741,4.043155020851939e-5,2.1581628688838263e-8,-0.001233349834870539,4.063630930677973e-5,2.1717708568439122e-8,-0.0012330286624901638,4.0854394434720134e-5,2.1859385815913868e-8,-0.001232825543872876,4.1016780529853954e-5,2.1964061307544442e-8,-0.0012326994687433222,4.1075328421856106e-5,2.20027389188401e-8,-0.001232597984556413,4.1010377237678075e-5,2.196447509602127e-8,-0.0012324701701386766,4.083038763729262e-5,2.1855784862297425e-8,-0.0012322765508626758,4.0566046838917725e-5,2.1696628675659008e-8,-0.0012319949600370919,4.026131873137667e-5,2.151464212796346e-8,-0.0012316222127142264,3.996359807215556e-5,2.1339009160521587e-8,-0.0012311720726316338,3.971485937041825e-5,2.1195127901571155e-8,-0.001230670573013148,3.954524762662862e-5,2.1100877649413684e-8,-0.0012301501032358588,3.946977464651513e-5,2.1064790494578928e-8,-0.0012296436170803153,3.9487963552311815e-5,2.108595595697376e-8,-0.0012291799191749856,3.958568949318732e-5,2.1155185653788322e-8,-0.0012287803742935324,3.973818698101526e-5,2.1256853700710867e-8,-0.001228456809047748,3.991337515449703e-5,2.1370956879184295e-8,-0.0012282101383242943,4.007518264093764e-5,2.1475236423481508e-8,-0.0012280293349605576,4.0187061533075706e-5,2.1547450730279715e-8,-0.0012278906587169442,4.0216265386799466e-5,2.1568075140606426e-8,-0.001227757733952711,4.0139660658889306e-5,2.152381649965794e-8,-0.001227584040852701,3.995131561109933e-5,2.141206714008766e-8,-0.0012273199557392438,3.9670437193476325e-5,2.1245481814044025e-8,-0.0012269256617048919,3.934568255249432e-5,2.1054357934419238e-8,-0.001226387988600605,3.9049849819512705e-5,2.088324803621528e-8,-0.0012257337792927004,3.886073981427376e-5,2.077925099285005e-8,-0.001225029176986983,3.8832259555441034e-5,2.0774438780732722e-8,-0.0012243597146831978,3.897014608672804e-5,2.087118383561181e-8,-0.001223799174185458,3.922790438935534e-5,2.1039910874573118e-8,-0.0012233842237546633,3.952612757691313e-5,2.123118242844517e-8,-0.001223107335217403,3.9782946538246464e-5,2.139456934167179e-8,-0.0012229273220081428,3.993907780657064e-5,2.1494114292522025e-8,-0.001222787747765819,3.996887325239496e-5,2.1515041468992588e-8,-0.0012226337779387417,3.987869845089384e-5,2.1462498186417195e-8,-0.0012224231672501788,3.9698352797038394e-5,2.135591073507243e-8,-0.001222131287192134,3.94706075535104e-5,2.1222223071618265e-8,-0.0012217517999359017,3.924165377627985e-5,2.1089871554669243e-8,-0.0012212945943425393,3.905340977839935e-5,2.0984126176207197e-8,-0.0012207820344604945,3.8937868022761935e-5,2.0923847255017387e-8,-0.0012202442110411317,3.891356765329418e-5,2.0919587003276005e-8,-0.0012197138193019857,3.898419985757117e-5,2.0972925719657997e-8,-0.0012192212575737466,3.913919956043711e-5,2.1076902982625034e-8,-0.0012187904880345962,3.9356035455342134e-5,2.1217396945348294e-8,-0.001218436045934365,3.960367962125383e-5,2.1375213106972125e-8,-0.00121816125440768,3.9846620466140236e-5,2.1528562534707792e-8,-0.0012179574526165029,4.004903399140244e-5,2.165570613461297e-8,-0.0012178040605647724,4.0179078031285165e-5,2.1737684879836926e-8,-0.001217669467291421,4.021348370120589e-5,2.1761144819940345e-8,-0.0012175131332450237,4.014272182328031e-5,2.1721351070588032e-8,-0.001217289990042325,3.997662689165655e-5,2.162532349147562e-8,-0.0012169585457825218,3.9749007528304005e-5,2.1494297600574853e-8,-0.0012164931847068905,3.9517836703297245e-5,2.136358703249228e-8,-0.0012158983378917096,3.9356329110915773e-5,2.1277115324960004e-8,-0.0012152176438466392,3.9332104759699913E-05,2.127493647531436e-8,-0.001214528479586985,3.947928991470707e-5,2.1376600643727462e-8,-0.0012139177363669367,3.9778311663362115e-5,2.1569180758206194e-8,-0.0012134484162272517,4.015900048914238e-5,2.180933946924029e-8,-0.0012131363021741985,4.052837642935356e-5,2.2040280902569133e-8,-0.0012129497831343294,4.080665261167639e-5,2.2213672818770073e-8,-0.0012128291159121656,4.095125233841926e-5,2.230428148992462e-8,-0.001212710628911282,4.096082546243361e-5,2.2312340353820234e-8,-0.0012125440419645064,4.0864936103992574e-5,2.2257017392004202e-8,-0.0012122998065612566,4.070927702557695e-5,2.2167052698862267e-8,-0.001211969092054254,4.054291261138361e-5,2.207270204179144e-8,-0.0012115601294701622,4.04096307802744e-5,2.2000393390250897e-8,-0.0012110935055385707,4.034290695442932e-5,2.1969806882960636e-8,-0.001210597514896922,4.0363263803066746e-5,2.1992540281281542e-8,-0.001210103734529621,4.047720018381726e-5,2.2071717239761007e-8,-0.0012096427900898502,4.0677387217859966e-5,2.22022573473533e-8,-0.0012092403935229314,4.094407090176532e-5,2.237175494917936e-8,-0.0012089138646246408,4.124773087837309e-5,2.2562054742508997e-8,-0.001208669509931094,4.155294488543246e-5,2.2751575294808985e-8,-0.0012085012343950414,4.1823087158483395e-5,2.2918206290301382e-8,-0.0012083905541689021,4.20253509279023e-5,2.304245225579731e-8,-0.0012083080279941285,4.213570362400274e-5,2.3110503419034456e-8,-0.0012082161114372763,4.2143459888724324e-5,2.3116949841108062e-8,-0.0012080735324706796,4.2055159230597596e-5,2.3066900585552403e-8,-0.001207841533426535,4.189723091537656e-5,2.297724001603263e-8,-0.0012074923383279116,4.171613868549196e-5,2.2876363669851336e-8,-0.001207019283053891,4.157362669411139e-5,2.2801120538061767e-8,-0.0012064459189305014,4.1534493783767346e-5,2.2789521758592166e-8,-0.0012058286024298984,4.164656524482071e-5,2.2869009240234377e-8,-0.0012052460554162017,4.19184087749905e-5,2.3043477200400544e-8,-0.0012047743940046401,4.2307229374438395e-5,2.3286316882609802e-8,-0.0012044572585227797,4.272895499439604e-5,2.3546579750409415e-8,-0.001204288381331058,4.308962693418823e-5,2.376779519103741e-8,-0.0012042176630236775,4.332107815521141e-5,2.390938507508682e-8,-0.0012041753802073372,4.340093341660907e-5,2.3958706867713977e-8,-0.00120409843142815,4.335014281596996e-5,2.3929491995290315e-8,-0.0012039461046134032,4.3216266495513626e-5,2.3851510393422998e-8,-0.0012037033879847602,4.305483536435831e-5,2.3758982441867673e-8,-0.001203376539335363,4.291599030590616e-5,2.368228317218689e-8,-0.00120298613557427,4.283755592078561e-5,2.364376268900528e-8,-0.00120256066507784,4.2842730196850536e-5,2.365655954004364e-8,-0.0012021315896690958,4.29401323049733e-5,2.3724918753893763e-8,-0.0012017295357681474,4.3124764351869256e-5,2.384500705422323e-8,-0.0012013810188355309,4.3379445958178134e-5,2.400589014719376e-8,-0.0012011053959982453,4.367684303151363e-5,2.4190760318183176e-8,-0.0012009120711434845,4.3982426851927915e-5,2.4378686124360526e-8,-0.001200798320179096,4.4258666524398955e-5,2.4547135559008024e-8,-0.0012007483813156155,4.447035815567847e-5,2.4675237441635286e-8,-0.0012007344048218429,4.45904789956841e-5,2.4747373111654414e-8,-0.0012007195396916456,4.4605667043112055E-05,2.475647427648304e-8,-0.0012006630679124704,4.4520319606676825e-5,2.4706349244549025e-8,-0.0012005271433299393,4.435834252862902e-5,2.4612444809990292e-8,-0.0012002844344340745,4.416178423355356e-5,2.450065938028214e-8,-0.0011999257549066937,4.39856842762662e-5,2.4403951995426074e-8,-0.0011994662184232547,4.3888471317910234e-5,2.435650342589999e-8,-0.001198947460842372,4.3917923813857226e-5,2.43855173915342e-8,-0.001198432684587654,4.409482178445086e-5,2.4501884310528832e-8,-0.0011979921332492878,4.43998509534339e-5,2.469284335350204e-8,-0.00119768078598594,4.4772044938470945e-5,2.492136091235081e-8,-0.0011975168459692923,4.512476493318901e-5,2.5135693210741254e-8,-0.00119747326559844,4.53756385533257e-5,2.528710231716238e-8,-0.0011974888649364393,4.547604253094459e-5,2.5347319618533324e-8,-0.0011974930862349044,4.542451975687877e-5,2.5316491092253453e-8,-0.0011974302262546881,4.525952548655604e-5,2.5218719541367353e-8,-0.0011972721728209824,4.5039793706352555e-5,2.509006550443868e-8,-0.0011970183063790395,4.48245155389913e-5,2.4966396418741908e-8,-0.001196687932279745,4.4660550904328974e-5,2.487559033145641e-8,-0.0011963111623788396,4.457738285834904e-5,2.4834604037411308e-8,-0.0011959215436754737,4.45871920184613e-5,2.4849769736576936e-8,-0.0011955511692190652,4.468712727908596e-5,2.4918432734679642e-8,-0.0011952275920148667,4.486193679281758e-5,2.5030717037665653e-8,-0.001194971551310585,4.508639373150898e-5,2.5171047327290172e-8,-0.001194794863314542,4.5327777567539424e-5,2.5319623085596163e-8,-0.001194698341899172,4.554901617532855e-5,2.5454274898017947e-8,-0.0011946701458042791,4.5713081220382614e-5,2.555310251854561e-8,-0.0011946854231435274,4.5788787339589856e-5,2.5597980508971714e-8,-0.0011947082714650892,4.575734391539159e-5,2.5578493326096783e-8,-0.0011946966519119835,4.561819225984636e-5,2.5495358009355167e-8,-0.0011946100335258174,4.539218001394653e-5,2.536213072497259e-8,-0.0011944184455051122,4.512031317912244e-5,2.5204163446924352e-8,-0.0011941107653257608,4.485734384224478e-5,2.5054453515492776e-8,-0.0011936999083235803,4.466088478508766e-5,2.4946937452023213e-8,-0.0011932230592092813,4.457796164782929e-5,2.4908499047797812e-8,-0.001192735881163747,4.463180004644925e-5,2.4951402925395812e-8,-0.0011923007264965835,4.481237616870531e-5,2.506816181625162e-8,-0.001191970530689217,4.507461064861558e-5,2.523093820360962e-8,-0.0011917724140860335,4.5347229185161454e-5,2.5397066980609755e-8,-0.0011916972032087528,4.5552150560644986e-5,2.552053976524705e-8,-0.0011917008223672682,4.5628853227269786e-5,2.55662585680403e-8,-0.001191718836140086,4.55536438037028e-5,2.5521241678494558e-8,-0.0011916882079971906,4.534483429463704e-5,2.5397506076360736e-8,-0.0011915661764232738,4.50523352358896e-5,2.52256885925892e-8,-0.0011913387387294007,4.47385355732246e-5,2.504346293478613e-8,-0.0011910180546011024,4.446011631860293e-5,2.4884567965759092e-8,-0.0011906333941084394,4.425692301702829e-5,2.4772196056940904e-8,-0.0011902211184680275,4.414860982271032e-5,2.4717178867113547e-8,-0.0011898169790774708,4.4136455261757274e-5,2.4719329452121577e-8,-0.0011894514485054754,4.4207250005153805e-5,2.4769977404092045e-8,-0.0011891472970888017,4.43372203473938e-5,2.4854416724191735e-8,-0.0011889182539292847,4.449528806773453e-5,2.4953861754942293e-8,-0.0011887678749798924,4.464592966057503e-5,2.504712463555681e-8,-0.0011886883030289687,4.4752380198887884e-5,2.5112510632544797e-8,-0.0011886592771498138,4.478098874931083e-5,2.5130424449580425e-8,-0.0011886483992062577,4.4707117457076194e-5,2.5086889829383304e-8,-0.0011886140329250244,4.4522010180780784e-5,2.4977592415005244e-8,-0.0011885119078034235,4.4238713784012066e-5,2.4811273251672534e-8,-0.0011883051844906306,4.3894051675223444e-5,2.461069041472246e-8,-0.0011879756183442926,4.354386275480496e-5,2.4409531085824178e-8,-0.0011875317045031677,4.3250911754683235e-5,2.4244998266980886e-8,-0.001187009814984017,4.306830808202916e-5,2.4147865942933328e-8,-0.0011864667588603476,4.302388062774488e-5,2.4133330210664937e-8,-0.0011859656180111609,4.3111034611001064e-5,2.4195943412766552e-8,-0.0011855592107146609,4.328925296709795e-5,2.4310387221332328e-8,-0.0011852761111206852,4.349413359054941e-5,2.443782423047731e-8,-0.0011851131455521931,4.3654131747047644e-5,2.4535986395746288e-8,-0.0011850365116463047,4.370946428713365e-5,2.4570271546609728e-8,-0.0011849914632903148,4.362784368851426e-5,2.4522773768495008e-8,-0.001184917896100419,4.341215487751708e-5,2.43964861556252e-8,-0.0011847668283073867,4.3097519747167916e-5,2.4213256739576758e-8,-0.001184512183165127,4.273915270154866e-5,2.400637699709233e-8,-0.001184154359433377,4.239606712181469e-5,2.381082880477647e-8,-0.001183715829325232,4.211673537541401e-5,2.3654834718410355e-8,-0.001183232091457753,4.193072848064575e-5,2.355508585492585e-8,-0.001182742076052658,4.184692919527811e-5,2.351593181722576e-8,-0.001182280783554334,4.185637277082278e-5,2.3531280291149167e-8,-0.0011818749650736491,4.193705913158789e-5,2.3587563717348847e-8,-0.0011815412371566454,4.20587459208501e-5,2.3666591547139997e-8,-0.001181285518418681,4.218688550045602e-5,2.374784651401943e-8,-0.0011811028444095974,4.2285853886151184e-5,2.381037385561812e-8,-0.001180977123076948,4.232217251513254e-5,2.3834703066651765e-8,-0.0011808810539391222,4.2268560697046846e-5,2.3805269882627502e-8,-0.0011807771612472478,4.2109361969074505e-5,2.3713602572318883e-8,-0.0011806214602274067,4.1846957049957275e-5,2.356200196449372e-8,-0.0011803711677501327,4.150714518977967e-5,2.3366529209186637e-8,-0.0011799963986054275,4.113978509884284e-5,2.3157162420999488e-8,-0.0011794927933482826,4.08108363408142e-5,2.2972909369344754e-8,-0.0011788890049142986,4.058504354233647e-5,2.2851491515976213e-8,-0.0011782430294203484,4.050438512482597e-5,2.2816671906510717e-8,-0.0011776263052778516,4.0571991173592686e-5,2.2868981508891815e-8,-0.0011771016155169122,4.074982996867079e-5,2.2984703383283737e-8,-0.0011767044632477951,4.097122380197114e-5,2.3123630234264177e-8,-0.0011764349839248737,4.1161829736862925e-5,2.3241707139593455e-8,-0.0011762614801303043,4.1260299791107996e-5,2.330328303434297e-8,-0.0011761320404088328,4.1232336783918625e-5,2.328924297558214e-8,-0.0011759893133244327,4.1075838938516295e-5,2.3199711124094704e-8,-0.0011757842580515552,4.081779203779472e-5,2.3051819147004552e-8,-0.001175486057786376,4.050513963720658e-5,2.2873984543674025e-8,-0.0011750866908770193,4.0192525827399625e-5,2.2698514425147638e-8,-0.0011745998913217442,3.9930000443378806e-5,2.2554401861589946e-8,-0.0011740555181366963,3.975350915748105e-5,2.2461942074838184e-8,-0.0011734914447389271,3.967996159531561e-5,2.2430123462058758e-8,-0.001172945410878914,3.970705295686038e-5,2.245677720924922e-8,-0.0011724486794790487,3.981662159239835e-5,2.2530685939862905e-8,-0.0011720222605774908,3.997974255206267e-5,2.263458529327139e-8,-0.0011716754580197422,4.0161947727554296e-5,2.274816904236688e-8,-0.0011714059108263474,4.032766224367516e-5,2.285064391621753e-8,-0.0011712002787532773,4.044378850159482e-5,2.2922839703133115e-8,-0.001171035100466492,4.048293650443117e-5,2.2949153547451752e-8,-0.0011708778846540614,4.042697766162125e-5,2.2919658210313572e-8,-0.0011706891457959967,4.0271429475899425e-5,2.2832600750891778e-8,-0.001170426728995793,4.0030416719605716e-5,2.269711830719015e-8,-0.0011700538042031948,3.9740414742010276e-5,2.253517245414926e-8,-0.0011695506069301434,3.945916078722506e-5,2.2380689483545792e-8,-0.0011689268944945577,3.9255517922141815e-5,2.227353935744273e-8,-0.001168228173677312,3.918909798715985e-5,2.224769728531718e-8,-0.0011675279781217165,3.9285907063139966e-5,2.2317220439852915e-8,-0.0011669049542857158,3.952322670802093e-5,2.24676871654407e-8,-0.0011664145207980038,3.9834885125080155e-5,2.265953681114611e-8,-0.001166070295452867,4.013563731944959e-5,2.2842517129925196e-8,-0.0011658440641923867,4.035108613749354e-5,2.2973299450432576e-8,-0.0011656808972777184,4.043846993678506e-5,2.302764914878378e-8,-0.0011655191438936243,4.039246802510346e-5,2.300366653105076e-8,-0.0011653067613803536,4.023909875147127e-5,2.291788321046429e-8,-0.001165010689103841,4.002390781978695e-5,2.2797942341975254e-8,-0.0011646197556137458,3.979940906101893e-5,2.2674938420648966e-8,-0.0011641429633779334,3.961443280877213e-5,2.2577103601577477e-8,-0.0011636049134929856,3.950632417993853e-5,2.252541402741315e-8,-0.0011630396411959254,3.9496218494349576e-5,2.253115281543781e-8,-0.001162483900516477,3.95874667786907e-5,2.2595320378682432e-8,-0.0011619709327954436,3.976699600781008e-5,2.2709638135691125e-8,-0.0011615255979191684,4.000893838449559e-5,2.2858712233979922e-8,-0.0011611613858706039,4.0279582776409567e-5,2.3022849008527116e-8,-0.001160879376169587,4.054263299169933e-5,2.3181024514051384e-8,-0.0011606687592218374,4.076394687408465e-5,2.3313608208272293e-8,-0.0011605083240079387,4.09154288041749e-5,2.3404666156265128e-8,-0.00116036847554564,4.097823517679709e-5,2.34438834621506e-8,-0.0011602136824594566,4.0945659648512586e-5,2.3428227761797474e-8,-0.0011600057215318002,4.0826012397539306e-5,2.3363471925632195e-8,-0.0011597086232655231,4.0645264473458956e-5,2.326545539839303e-8,-0.0011592962457193116,4.0447999006798314e-5,2.3160337368834338e-8,-0.00115876229853727,4.0293821820255384e-5,2.3082332980724006e-8,-0.0011581301558147067,4.0245920350732926e-5,2.3067127381392428e-8,-0.0011574563121098651,4.035081622828792e-5,2.3140425634618856e-8,-0.0011568199270357543,4.061526212816023e-5,2.3304961265381497e-8,-0.0011562968471505665,4.099409631845051e-5,2.353376588241085e-8,-0.0011559290458727804,4.140161770840252e-5,2.3776854904296303e-8,-0.0011557078806939019,4.1744238983237644e-5,2.3980097768470524e-8,-0.0011555814912751524,4.195588110422897e-5,2.4105697188319998E-08,-0.001155479481195814,4.201658493401853e-5,2.4142985129680127e-8,-0.00115533863075793,4.194919447273282e-5,2.4106395513946268e-8,-0.0011551182129401877,4.1802901903976074e-5,2.4025610864818883e-8,-0.0011548035981328402,4.163510488935334e-5,2.3934641492285587e-8,-0.0011544024679921467,4.149790402491649e-5,2.3863731188845464e-8,-0.0011539381598193543,4.143037373269924e-5,2.3834886083816383e-8,-0.0011534428504190312,4.145529592249755e-5,2.3860242372633465e-8,-0.0011529515734318722,4.157867605802834e-5,2.3942156152824156e-8,-0.001152497126030711,4.17910018793201e-5,2.407424330087287e-8,-0.00115210581430915,4.2069853360416185e-5,2.4243037050196697e-8,-0.001151794185245135,4.238365328686831e-5,2.4430139497299415e-8,-0.0011515669930675036,4.269628302794372e-5,2.461478437537122e-8,-0.0011514166348674099,4.2972125399724006e-5,2.4776661433350763e-8,-0.0011513241096236361,4.318091082678523e-5,2.4898702175336794e-8,-0.0011512612721551612,4.330181717597658e-5,2.496949457208967e-8,-0.001151194039557355,4.332656629776271e-5,2.4985098203453446e-8,-0.0011510862887999457,4.326145348232724e-5,2.4950132422663092e-8,-0.0011509043845628019,4.312830423117919e-5,2.4878096818187747e-8,-0.0011506225888506414,4.296414251839801e-5,2.4790856099194497e-8,-0.0011502295873348479,4.281860836006933e-5,2.4716871495239724e-8,-0.0011497354598191344,4.27473669523015e-5,2.4687324428481763e-8,-0.0011491767132249047,4.27998987093043e-5,2.4729297172923822e-8,-0.0011486149745644995,4.300208635109734e-5,2.4856210146960896e-8,-0.0011481242788471762,4.333890754543513e-5,2.505836780419132e-8,-0.0011477663805973333,4.37484335258334e-5,2.529978271595454e-8,-0.0011475638693054652,4.413754488074797e-5,2.552713565537854e-8,-0.0011474880690233208,4.441675095791563e-5,2.5689536506059154e-8,-0.0011474716437174161,4.4535329714636256e-5,2.5758576446798924e-8,-0.0011474381423005444,4.4496153607781065e-5,2.573686319342581e-8,-0.0011473298248947472,4.434525522139947e-5,2.5651963688180006e-8,-0.0011471206519927625,4.4148021131686344e-5,2.5542431090685233e-8,-0.0011468143867924144,4.396712744434881e-5,2.5444745012451112e-8,-0.001146435178096694,4.384958556407789e-5,2.538566338712817e-8,-0.0011460173053052653,4.382244135856911e-5,2.537984964690841e-8,-0.0011455972066733823,4.389369052636168e-5,2.543072424927479e-8,-0.001145208205189756,4.4055310810386594e-5,2.553258147049571e-8,-0.0011448771116926027,4.4286732802865605e-5,2.5672846892049696e-8,-0.001144621838537778,4.455834866317327e-5,2.5834176207532318e-8,-0.0011444496596464482,4.483524010238264e-5,2.5996533958276677e-8,-0.0011443561757723407,4.508136367107901e-5,2.6139484084071172e-8,-0.001144325302176957,4.526422796836885e-5,2.624479996609313e-8,-0.0011443306796744088,4.5359678801102835e-5,2.629920696942144e-8,-0.001144338684074093,4.535607232962796e-5,2.6296805202445227e-8,-0.0011443128443530714,4.525711697688811e-5,2.6240674007741413e-8,-0.0011442192204715602,4.5082805045375516e-5,2.6143256225398415e-8,-0.0011440321422607781,4.4868033997148654e-5,2.6025290536327584e-8,-0.0011437397009143968,4.465876200865301e-5,2.5913293776335838e-8,-0.0011433483936894827,4.450556201387472e-5,2.5835666573269417e-8,-0.0011428859132346458,4.4454301330230345e-5,2.5817407374967364e-8,-0.0011424002463549068,4.4534205124580296e-5,2.587362598157788e-8,-0.0011419527122034946,4.474530750720313e-5,2.600289980431649e-8,-0.0011416033368196802,4.505002810376823e-5,2.618294554588382e-8,-0.001141390428908636,4.5375931822066494e-5,2.6372385764556846e-8,-0.0011413123883100827,4.5634818511907473e-5,2.6521473534591453e-8,-0.001141323589395823,4.5754058078499044e-5,2.6589641295518906e-8,-0.0011413505127724332,4.570482861131677e-5,2.65614039044391e-8,-0.0011413207093381398,4.5510745451041515e-5,2.6451239643199213e-8,-0.001141188094617734,4.523323032317512e-5,2.6295158823665544e-8,-0.0011409425267060696,4.494512245552072e-5,2.613539055975473e-8,-0.0011406039242835295,4.470782444666231e-5,2.6007055239340012e-8,-0.001140209199720666,4.455976514490526e-5,2.5931497221064563e-8,-0.0011397998215520568,4.451513360626569e-5,2.591575701768682e-8,-0.001139413450043509,4.456814837601221e-5,2.595536246540539e-8,-0.0011390795966643849,4.469876670368622e-5,2.60379203690528e-8,-0.0011388178217883774,4.487777100093782e-5,2.614620234117578e-8,-0.001138637029323737,4.507087406977781e-5,2.6260499784491232e-8,-0.0011385351171898522,4.524231213375679e-5,2.636058011508952e-8,-0.001138498908997064,4.5358536475447353e-5,2.6427687830903223e-8,-0.001138504742717813,4.539239795883406e-5,2.6446876610957435e-8,-0.0011385203577618363,4.5327686077719404e-5,2.6409596426616204e-8,-0.001138508626476679,4.5163215308385346e-5,2.6316020938140107e-8,-0.001138433164520453,4.491524922861346e-5,2.617635271007851e-8,-0.0011382651611644248,4.461705208805853e-5,2.60103768433134e-8,-0.0011379901212315725,4.431475914112068e-5,2.5844832363761734e-8,-0.0011376128472153897,4.405962607495448e-5,2.5708742448517676e-8,-0.0011371591432191399,4.38977377850055e-5,2.5627459120037902e-8,-0.0011366732292220137,4.385892899825392e-5,2.561652405049774e-8,-0.0011362103950232623,4.394710877414942e-5,2.5676581411835278e-8,-0.0011358251542952108,4.413475261191414e-5,2.5790765942044402e-8,-0.0011355565320898134,4.436471443508226e-5,2.5926126309661128e-8,-0.0011354142388612493,4.456177182242592e-5,2.6040272006294392e-8,-0.0011353715564004837,4.4653360616528623e-5,2.6092925147649926e-8,-0.0011353705510015804,4.459362909579968e-5,2.605922322764486e-8,-0.0011353404038372476,4.4380227560943225e-5,2.5938971302698022e-8,-0.0011352217466509087,4.405454262243014e-5,2.5756616732937143e-8,-0.0011349852948189293,4.368490247039827e-5,2.5551578991552723e-8,-0.0011346366674042077,4.334216194977203e-5,2.5364227495662016e-8,-0.001134208126523297,4.307971922662928e-5,2.5224447033233243e-8,-0.0011337443916172296,4.292448780803408e-5,2.5146609857361533e-8,-0.0011332897864486306,4.287791196077834e-5,2.5130427988720302e-8,-0.0011328801743606684,4.292232941936807e-5,2.5164886702881576e-8,-0.0011325395437544183,4.302832693352377e-5,2.5232645329543546e-8,-0.0011322795036267984,4.316082969546979e-5,2.5313558114926845e-8,-0.0011320999644248192,4.328354167402069e-5,2.538712994851353e-8,-0.0011319900022255828,4.336233306022805e-5,2.5434328063291953e-8,-0.0011319286947636842,4.336840808418778e-5,2.5439298179225213e-8,-0.0011318863330729578,4.328188187579225e-5,2.5391365668682646e-8,-0.001131826798984989,4.309582777844892e-5,2.5287327028303578e-8,-0.0011317119237820342,4.282000536402383e-5,2.513352362103692e-8,-0.0011315081184450266,4.248267021715128e-5,2.4946745756693704e-8,-0.0011311944679122136,4.212855215251888e-5,2.47528810798855e-8,-0.001130770145740669,4.181171313272162e-5,2.458263730132284e-8,-0.0011302581872849279,4.158375073838242e-5,2.446470685820663e-8,-0.0011297031604086858,4.1480108144529596e-5,2.4418045723061402e-8,-0.001129162188693781,4.15087736209508e-5,2.4445738038119535e-8,-0.001128691235841923,4.164541695493883e-5,2.453267453652789e-8,-0.0011283303644603515,4.1837167858544846e-5,2.464812593336712e-8,-0.0011280922029762194,4.201470996660632e-5,2.4752841228200912e-8,-0.0011279572033331556,4.2109977185660934e-5,2.480903447905591e-8,-0.0011278777807429035,4.2074869072542864e-5,2.4790706388729773e-8,-0.0011277911058960631,4.189530837193729e-5,2.4691226160505966e-8,-0.0011276372138476932,4.15954194176583e-5,2.4525357679971217e-8,-0.0011273763094417542,4.1229584247699144e-5,2.4324526909304625e-8,-0.0011269987883137111,4.0865150594873515e-5,2.4126913313744505e-8,-0.0011265246487921932,4.056282496645149e-5,2.396636013648397e-8,-0.0011259939870450367,4.0362229990203176e-5,2.3864352719984643e-8,-0.0011254538280006646,4.027651035222083e-5,2.3827236887481313e-8,-0.0011249466443459084,4.029509964658356e-5,2.3848081936514294e-8,-0.0011245033782163948,4.0390924133027086e-5,2.3910968573532058e-8,-0.0011241409403492657,4.052829514471608e-5,2.3995517170635476e-8,-0.00112386263638038,4.066934213518109e-5,2.4080458369857855e-8,-0.001123659844043524,4.077852227744454e-5,2.4146059818045725e-8,-0.0011235138537491161,4.082575535334954e-5,2.417579891950277e-8,-0.0011233975399612892,4.078906093563617e-5,2.4157813543967808e-8,-0.0011232772130354719,4.065741806846923e-5,2.4086515680471002e-8,-0.0011231154772805123,4.043402590037051e-5,2.3964410167377178e-8,-0.0011228760409062776,4.0139252991621545e-5,2.380366568263808e-8,-0.0011225309508780508,3.9811507466245704e-5,2.362643573893063e-8,-0.0011220694021852218,3.9503593998477884e-5,2.3462607402847364e-8,-0.0011215052868612503,3.927276808058977e-5,2.334405693151438e-8,-0.0011208791815421717,3.916532907922445e-5,2.32959719470691e-8,-0.0011202512996662164,3.9200465609938846e-5,2.332793726446843e-8,-0.001119685750452599,3.936055511280073e-5,2.3428801926640012e-8,-0.0011192313624241938,3.959351310628623e-5,2.3568365483427852e-8,-0.0011189067970222813,3.982728786145331e-5,2.370580293829856e-8,-0.0011186957125675833,3.9990849821071303e-5,2.380156013682102e-8,-0.0011185529359586416,4.003380335406222e-5,2.382827657042045e-8,-0.0011184183604654927,3.9938559297950844e-5,2.3777363910180102e-8,-0.0011182335261142832,3.972257873820071e-5,2.365991178424167e-8,-0.0011179561348970367,3.943138742499119e-5,2.3502406776038373e-8,-0.0011175690250342211,3.9125231705559594e-5,2.333898219278873e-8,-0.0011170818909624026,3.8863484851492184e-5,2.3202592856615218e-8,-0.0011165261146400343,3.869113689297805e-5,2.3117576365828163e-8,-0.0011159450191786187,3.863070018781825e-5,2.309541688994295e-8,-0.001115382950846316,3.8680782729081375e-5,2.3134291481037248e-8,-0.0011148763323054643,3.88202433349568e-5,2.3221657136516122e-8,-0.0011144484116093652,3.9015366788503146e-5,2.333836405534532e-8,-0.0011141077300649053,3.922741200952648e-5,2.3462821981382622e-8,-0.0011138492060015412,3.941880989590515e-5,2.357433208540127e-8,-0.0011136564631223104,3.955748183796071e-5,2.3655382121537695e-8,-0.001113504398766395,3.961966181875024e-5,2.3693174947865333e-8,-0.0011133616119702572,3.9591985478981636e-5,2.3680806672121074e-8,-0.0011131929173312004,3.9473502927766754e-5,2.3618399758240768e-8,-0.001112962646214551,3.927781992830418e-5,2.3514237054040706e-8,-0.0011126396430199091,3.903476453581059e-5,2.338553477815076e-8,-0.0011122044622860591,3.878987372235069e-5,2.325794563447264e-8,-0.0011116579050496058,3.859916050478475e-5,2.3162471082326266e-8,-0.0011110277638066819,3.8517161490373446e-5,2.3128770665243614e-8,-0.0011103686318442126,3.857932217863279e-5,2.317550345585091e-8,-0.0011097504345893342,3.878498007287958e-5,2.3301147042226735e-8,-0.0011092368658773112,3.909083067031221e-5,2.348067606937274e-8,-0.001108862561025627,3.9421677057301995e-5,2.3671766690779e-8,-0.0011086207894536008,3.969541345367182e-5,2.3828789988108746e-8,-0.001108467784835197,3.9850203582443234e-5,2.3917930158623212e-8,-0.0011083400223898265,3.986149013467848e-5,2.3926558339224554e-8,-0.0011081749835332257,3.9744019406875444e-5,2.3864144977322292e-8,-0.0011079272311021648,3.954206227866765e-5,2.3756473773474773e-8,-0.0011075764036130426,3.9314276041815806e-5,2.3636846724881514e-8,-0.0011071276513506274,3.911872082508301e-5,2.353751460723729e-8,-0.001106606712234522,3.9001210256697606e-5,2.3483218868648787e-8,-0.0011060519911277476,3.8988244203939216e-5,2.3487531140898155e-8,-0.001105505670300844,3.908468395961993e-5,2.3551953376769463e-8,-0.001105005565791467,3.927568764132802e-5,2.3667339954019526e-8,-0.0011045790708096976,3.9531788880221474e-5,2.3816896490402398e-8,-0.0011042398847317478,3.9815546406795756e-5,2.397985579796228e-8,-0.0011039874767033147,4.008822786866677e-5,2.413504494817365e-8,-0.0011038086569949937,4.031539899273079e-5,2.4263827315283715e-8,-0.0011036803427045844,4.047087645509333e-5,2.4352204679952328e-8,-0.0011035726966564098,4.053916604625667e-5,2.4392162684179795e-8,-0.0011034522434320714,4.051692930416066e-5,2.438250815301555e-8,-0.0011032850399023103,4.041397991610771e-5,2.4329393420554233e-8,-0.0011030403485004744,4.0253960514007384e-5,2.424655679752155e-8,-0.001102695483905325,4.0074227905403326e-5,2.415503580398189e-8,-0.001102242193580227,3.992352368685253e-5,2.4081660659305638e-8,-0.0011016936673696796,3.985525563697915e-5,2.4055253488353385e-8,-0.0011010891641663526,3.991473667135059e-5,2.409971221190807e-8,-0.0011004912378463276,4.012168328025906e-5,2.422468321626409e-8,-0.0010999711538006204,4.045477360482803e-5,2.4417430252093232e-8,-0.0010995842055226655,4.084938248726866e-5,2.4641830821643385e-8,-0.0010993460929871167,4.121581701041971e-5,2.484844677700392e-8,-0.0010992250658169746,4.1472215284716905e-5,2.4992557013455944e-8,-0.0010991556460179283,4.1574464276116506e-5,2.505058969589844e-8,-0.0010990652089385281,4.1527398961356164e-5,2.5026265284520233e-8,-0.001098898156768374,4.1375312448001e-5,2.4945200752454744e-8,-0.0010986280334354423,4.118167475058328e-5,2.484337320183111e-8,-0.0010982574815838655,4.100937470290851e-5,2.4755843824772127e-8,-0.0010978110406426043,4.090738485072404e-5,2.4709226856153248e-8,-0.0010973257121964122,4.0904499228446404e-5,2.471836767874099e-8,-0.0010968421791160742,4.10083665738254e-5,2.4786177550209052e-8,-0.0010963977347210852,4.120779805968306e-5,2.4905329142025246e-8,-0.0010960210677344888,4.147702335351955e-5,2.506090255556026e-8,-0.0010957289251758702,4.178110279291195e-5,2.5233456325869303e-8,-0.001095524697387541,4.2081778366454555e-5,2.540215364575196e-8,-0.0010953988246681838,4.2343079153780506e-5,2.5547670181248777e-8,-0.0010953307583887954,4.253610901231246e-5,2.5654681311269465e-8,-0.0010952920447938042,4.264254236325311e-5,2.571372890267199e-8,-0.0010952499739452775,4.2656633559821643e-5,2.5722338660353446e-8,-0.0010951713587064734,4.2585944785351156e-5,2.5685421940828945e-8,-0.0010950263137780906,4.245110365085979e-5,2.5615053368196092e-8,-0.001094792159453469,4.2284683294743016e-5,2.5529653777638224e-8,-0.0010944577225138132,4.212890345796607e-5,2.5452477208888395e-8,-0.0010940280855575993,4.2031223829935575e-5,2.5409021613321293e-8]} \ No newline at end of file diff --git a/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_5.json b/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_5.json new file mode 100644 index 0000000..7f82b45 --- /dev/null +++ b/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_5.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1.0,"startIndex":5000,"numberOfSamples":1000,"samples":[-0.001093528836966317,4.203642676149489e-5,2.5422725793163846e-8,-0.0010930072646208094,4.217440867148639e-5,2.5508574660559997e-8,-0.0010925265640548522,4.2445448281040656e-5,2.566549440168746e-8,-0.0010921498584701538,4.280927315836898e-5,2.5870776828536737e-8,-0.0010919163003251823,4.318794211770871e-5,2.6081780444674054e-8,-0.001091820523294629,4.348883154959585e-5,2.624831762871915e-8,-0.00109181029138295,4.364045659227296e-5,2.6331989440280285e-8,-0.0010918072934319603,4.362110831307491e-5,2.6321766949888615e-8,-0.0010917391971531742,4.346321105608486e-5,2.6236404835428295e-8,-0.0010915640090047574,4.323393624900339e-5,2.611370862534541e-8,-0.0010912766199280236,4.3007345034387695e-5,2.599493426705449e-8,-0.0010909009016498547,4.284299979150903e-5,2.5912727223068096e-8,-0.001090476431342811,4.277625215835485e-5,2.5885719367964947e-8,-0.0010900465218413144,4.2817753215300766e-5,2.5918503099339365e-8,-0.0010896499951765957,4.2957752709860237e-5,2.6004412180594708e-8,-0.0010893164869373976,4.3171842376795946e-5,2.612906955898042e-8,-0.0010890641035068592,4.34265580743787e-5,2.6273675178051805e-8,-0.0010888984776027527,4.3684563677071033e-5,2.6417842719480934e-8,-0.0010888129019089097,4.3909513777838174e-5,2.65421057988998e-8,-0.0010887895341848287,4.407054827337014e-5,2.663018859077577e-8,-0.0010888016920848876,4.4146217427231046e-5,2.667102788931276e-8,-0.001088817192482838,4.4127450376416946e-5,2.6660363442769395e-8,-0.0010888024752733671,4.401909753500576e-5,2.6601590837686793e-8,-0.0010887270459753056,4.383981898364833e-5,2.65056658451493e-8,-0.0010885677996571497,4.362036647066958e-5,2.639002532249307e-8,-0.0010883129235325867,4.3400346577718806e-5,2.627658759927833e-8,-0.0010879651578661836,4.322346930498476e-5,2.6188934255361087e-8,-0.001087544097987234,4.313109216854214e-5,2.6148709458164907e-8,-0.001087086674855694,4.315374123594729e-5,2.617116796712862e-8,-0.001086644066498112,4.330094126455337e-5,2.6260046435218025e-8,-0.0010862728381159504,4.3551620609182124e-5,2.640284239026193e-8,-0.00108601928226965,4.38502022017017e-5,2.656903579292576e-8,-0.0010859001135970722,4.411523709589743e-5,2.6714781887700585e-8,-0.0010858889754997796,4.426383145393484e-5,2.6795876138844725e-8,-0.0010859203351680025,4.424423453619814e-5,2.6785128110422738e-8,-0.001085913618912209,4.4058578601592776e-5,2.668460538734044e-8,-0.001085805393800295,4.376072785978275e-5,2.6524487039470494e-8,-0.0010855708545136362,4.343117507166159e-5,2.6349304657863846e-8,-0.0010852250584937636,4.314592290426317e-5,2.620071963961655e-8,-0.0010848090868554553,4.295570916633156e-5,2.6105975798650347e-8,-0.001084372654611788,4.2880291469861494e-5,2.6074830737518084e-8,-0.0010839610398885847,4.291308032542563e-5,2.6102403255115617e-8,-0.0010836081790852113,4.302959653013973e-5,2.6174200961517643e-8,-0.0010833344520610171,4.3195574161869046e-5,2.6270850944433867e-8,-0.001083146945167361,4.3373198164366636e-5,2.637160337223827e-8,-0.0010830405767407777,4.352569954505452e-5,2.645674242392391e-8,-0.0010829995124754573,4.3621083270509026e-5,2.6509425138913995e-8,-0.001082998991414148,4.363548696163819e-5,2.6517334874121295e-8,-0.0010830078695757855,4.3556232067080865e-5,2.6474252100274967e-8,-0.0010829921546684827,4.338421730365343e-5,2.638134536379059e-8,-0.0010829195457739626,4.313495597945831e-5,2.6247737743075178e-8,-0.0010827645199852117,4.2837568459182473e-5,2.6089894868217516e-8,-0.0010825131481838203,4.2531405839397756e-5,2.5929625306960433e-8,-0.0010821667257754604,4.2260415291339646e-5,2.5790800121408916e-8,-0.001081743391863589,4.2065789758412284e-5,2.5695202717475755e-8,-0.0010812771260442285,4.197779093233889e-5,2.5658116797976546e-8,-0.00108081368235774,4.2007788209395396e-5,2.5684279138019833e-8,-0.0010804030553122393,4.214188129809646e-5,2.5764875776401685e-8,-0.0010800884167244415,4.2338329128859495e-5,2.5876603076949472e-8,-0.001079892778156456,4.2531881372048156e-5,2.598424858567189e-8,-0.001079807154698478,4.264767562282009e-5,2.6048107274120274e-8,-0.0010797867060579334,4.262394191909685e-5,2.6035904077434437e-8,-0.001079760973783162,4.243610779021697e-5,2.593546226975552e-8,-0.0010796577282035234,4.210950720238184e-5,2.5761387251077892e-8,-0.00107942993302375,4.171117273294466e-5,2.555057096694696e-8,-0.001079071274203828,4.132383281774707e-5,2.5348037433669575e-8,-0.001078613065447523,4.101676275871758e-5,2.5191031444188244e-8,-0.0010781076445001167,4.082789625905243e-5,2.509930154443339e-8,-0.0010776094725232313,4.076147500814069e-5,2.507401361434535e-8,-0.0010771620659250866,4.079616385676292e-5,2.5102488709573008e-8,-0.001076792527426751,4.089624684549766e-5,2.5164595184415124e-8,-0.001076511483357941,4.102115014348993e-5,2.523807558214155e-8,-0.001076315486299618,4.1131846253385905e-5,2.530198861820359e-8,-0.00107618985214185,4.1194730844247526e-5,2.533864785318205e-8,-0.0010761111699562399,4.118418519494565e-5,2.5334821170315685e-8,-0.0010760496321073894,4.1084740905426734e-5,2.5282775112651636e-8,-0.0010759717151872302,4.089317638698599e-5,2.5181368331821842e-8,-0.0010758437806077928,4.062025720268964e-5,2.5037000465379675e-8,-0.001075636874965737,4.029124488214523e-5,2.4863872287821255e-8,-0.001075332344175619,3.994403311673042e-5,2.4682887122784044e-8,-0.0010749270772761371,3.962409533524119e-5,2.4518755050929554e-8,-0.0010744366625150808,3.937631781230898e-5,2.439541151761965e-8,-0.0010738948032005251,3.92350369958662e-5,2.433057466908826e-8,-0.0010733481764564313,3.9214698025557454e-5,2.433083409288902e-8,-0.0010728472503692334,3.930384295442124e-5,2.4388737863373705e-8,-0.0010724347731497891,3.94645175457536e-5,2.44828950313044e-8,-0.0010721343835682733,3.9638151634969455e-5,2.458148402653822e-8,-0.001071942205574794,3.9757775235519326e-5,2.4648932372444277e-8,-0.001071824440490328,3.976485588304506e-5,2.4654800605721794e-8,-0.0010717234455627444,3.962693202706781e-5,2.4582909766611626e-8,-0.0010715727554048086,3.935008138551149e-5,2.4437676459267312e-8,-0.0010713175244551965,3.8979848282591754e-5,2.4244352737564492e-8,-0.0010709326265880106,3.858785169979547e-5,2.4041693976913273e-8,-0.0010704300073954966,3.8248525783302696e-5,2.386941805332488e-8,-0.0010698520086136918,3.801636200014798e-5,2.375603419291011e-8,-0.0010692550526086402,3.791333074165718e-5,2.371227592816189e-8,-0.0010686922574283954,3.792939556885814e-5,2.3731673323543086e-8,-0.0010682017404291997,3.80320722103819e-5,2.379598347049132e-8,-0.0010678024504110503,3.8178531959137147e-5,2.3881867002065674e-8,-0.001067495548138812,3.832556322890049e-5,2.3966240581430207e-8,-0.001067268273277274,3.843582509864842e-5,2.4029501058277472e-8,-0.0010670980487706369,3.848102746680633e-5,2.4057051807740725e-8,-0.0010669558863532884,3.844342728250387e-5,2.403996707058116e-8,-0.001066809160826231,3.8316803241082525e-5,2.3975457859135465e-8,-0.0010666243579828204,3.810746586828673e-5,2.386741669396789e-8,-0.0010663705574710293,3.7835149903862285e-5,2.3726898442079206e-8,-0.0010660241691441985,3.753288897009294e-5,2.3571997852970833e-8,-0.0010655747063436035,3.724442359481839e-5,2.3426335194630528e-8,-0.0010650302250668731,3.701779702157739e-5,2.331547794071486e-8,-0.0010644199291991467,3.68949742785659e-5,2.3261297539301097e-8,-0.001063791223981958,3.6899545236002384e-5,2.327544760228617e-8,-0.0010632000453968727,3.7026820203446666e-5,2.335429289972638e-8,-0.0010626963599818942,3.7241111127013385e-5,2.3477789197827204e-8,-0.0010623095681190381,3.748268981872828e-5,2.3613519575245354e-8,-0.0010620391726174265,3.768289862153553e-5,2.3724946388273585e-8,-0.0010618540779868658,3.7782581455481364e-5,2.3781234371721873e-8,-0.0010617006609737272,3.7748061352030124e-5,2.3765573920194672e-8,-0.0010615170480434892,3.758012724746697e-5,2.367965267011593e-8,-0.0010612495768359004,3.731371428715724e-5,2.3543130785882002e-8,-0.0010608669746345562,3.700835235428079e-5,2.3388256328231037e-8,-0.001060368182069979,3.6731912216637085e-5,2.325105313533104e-8,-0.0010597813426304625,3.654245594481344e-5,2.316169727120985e-8,-0.0010591544075762823,3.647402066316346e-5,2.313718174627855e-8,-0.0010585410167500333,3.653074230958909e-5,2.317853751683003e-8,-0.001057986920975386,3.669012758790272e-5,2.327290785733631e-8,-0.0010575211579176061,3.691257472653399e-5,2.339881300069309e-8,-0.001057153350837812,3.715260399430297e-5,2.3532138314401993e-8,-0.0010568758374386459,3.736812754225494e-5,2.365093104713143e-8,-0.0010566681914793606,3.752620921432137e-5,2.3738273286109503e-8,-0.0010565020401735535,3.760563844652094e-5,2.378349597906288e-8,-0.0010563451015339039,3.759754719033252e-5,2.3782437194464704e-8,-0.0010561643423562313,3.750528822528541e-5,2.3737377447389552e-8,-0.001055928777775758,3.734426906295574e-5,2.365696343832137e-8,-0.0010556126783150875,3.714173971895337e-5,2.3556054900511646e-8,-0.0010551998123746519,3.693577609363618e-5,2.3455071168099988e-8,-0.0010546886977346502,3.677200754758798e-5,2.3378106802298378e-8,-0.001054097575413405,3.66964742503015e-5,2.33490503669857e-8,-0.001053466266416154,3.674410830929957e-5,2.338552532428398e-8,-0.0010528513171096396,3.6925144473778674e-5,2.3491902560416617e-8,-0.0010523125721679219,3.721530665965493e-5,2.365441113669717e-8,-0.0010518941136466624,3.7556866487537555e-5,2.384196911473466e-8,-0.001051607652331739,3.787365765176419e-5,2.4014260649323585e-8,-0.0010514271013640408,3.809514403546298e-5,2.4134458275138142e-8,-0.001051297410707953,3.8178799703989044e-5,2.4180962088243847e-8,-0.001051153003686843,3.812136015142763e-5,2.415318391268279e-8,-0.00105093733776516,3.795628189484318e-5,2.4069945427589834e-8,-0.001050616809646753,3.7741095264425834e-5,2.396246019827039e-8,-0.0010501863481547247,3.754067586859115e-5,2.3865199592522806e-8,-0.0010496673073456411,3.7411575394765774e-5,2.380750812194908e-8,-0.0010490998191358019,3.739064048823195e-5,2.380774834712807e-8,-0.0010485322021737509,3.748944550858809e-5,2.38707245777141e-8,-0.0010480100257824426,3.769477583367159e-5,2.398835336975793e-8,-0.0010475672083879396,3.797425178348991e-5,2.4142928600404912e-8,-0.0010472208647171518,3.8285082197056416e-5,2.4311824887822292e-8,-0.0010469704046910332,3.858335909600687e-5,2.4472287017073512e-8,-0.0010468001087383734,3.883168894481607e-5,2.4605240478689e-8,-0.0010466836675630368,3.900401645641016e-5,2.469763622155349e-8,-0.0010465891449321784,3.9087623690885925e-5,2.4743396088065535e-8,-0.00104648333056439,3.908308679776768e-5,2.4743374271449885e-8,-0.0010463351903678341,3.900321589613522e-5,2.4704818833201865e-8,-0.0010461187174899236,3.887169112109677e-5,2.4640634398441143e-8,-0.0010458157657489216,3.872153411276594e-5,2.456847676636226e-8,-0.0010454194198092652,3.8592904649491364e-5,2.4509434847279802e-8,-0.0010449379598351336,3.85290470767447e-5,2.4485769249212857e-8,-0.0010443983417922637,3.8568960460999586e-5,2.4517067123617403e-8,-0.0010438466104127784,3.8736263817727636e-5,2.4614598497805885e-8,-0.0010433416549984493,3.902636136480175e-5,2.477493404220497e-8,-0.0010429399987465788,3.9398027050649106e-5,2.4975871277955936e-8,-0.0010426746362297934,3.9777843434769186e-5,2.5178904654138547e-8,-0.0010425380922074639,4.0081503788804406e-5,2.5340291710930592e-8,-0.0010424814444555638,4.0244644241275436e-5,2.5427023133151833e-8,-0.0010424322947735387,4.024690202392131e-5,2.5429321392407133e-8,-0.0010423219582340482,4.01162830340403e-5,2.5362869290134385e-8,-0.0010421073140257824,3.9914219183457514e-5,2.526080398688154e-8,-0.0010417790504298643,3.9712303792083824e-5,2.5161204349048078e-8,-0.001041357514815806,3.957206053756882e-5,2.509620077309175e-8,-0.0010408820867983744,3.953305791576254e-5,2.5085701841939114e-8,-0.0010403994183290342,3.960922925354849e-5,2.5135719972456448e-8,-0.001039953473752625,3.979097235888994e-5,2.5239903766051643e-8,-0.0010395783534878653,4.005056096735985e-5,2.538278306056733e-8,-0.0010392939602767437,4.034918264408066e-5,2.5543680164653243e-8,-0.001039104389012981,4.0644480901831106e-5,2.5700644896490313e-8,-0.0010389988421567525,4.089757785496551e-5,2.5833941072896978e-8,-0.0010389545970551956,4.107865514075927e-5,2.5928726316951552e-8,-0.0010389412824983889,4.11705030871186e-5,2.5976731161695342e-8,-0.001038925600905446,4.116986580467381e-5,2.5976894786312716e-8,-0.0010388757116827172,4.108687415422475e-5,2.5935077860987764e-8,-0.0010387648487817887,4.094320887370908e-5,2.586310945168862e-8,-0.0010385741873378635,4.0769583233729096e-5,2.5777407288912374e-8,-0.0010382952268426782,4.0602784133407614e-5,2.569728649515853e-8,-0.0010379320091739295,4.04820837611387e-5,2.564292327050562e-8,-0.0010375031926033312,4.0444330838904017e-5,2.56327270085341e-8,-0.0010370431136598767,4.0516825192555824e-5,2.5679750881275533e-8,-0.0010365998252919112,4.07078727032145e-5,2.5787103029239512e-8,-0.0010362274507746704,4.0997023108730364e-5,2.59432896351184e-8,-0.0010359711779905647,4.133023718538513e-5,2.6120005918730713e-8,-0.0010358476721283505,4.1627586877103866e-5,2.6276137158887212e-8,-0.0010358308191826967,4.180745449119192e-5,2.6370052259346927e-8,-0.0010358552027499252,4.18193769451226e-5,2.6376375102413223e-8,-0.0010358403135057738,4.166678727036104e-5,2.6297719124715485e-8,-0.0010357228189093813,4.140456572009227e-5,2.6163449539399887e-8,-0.0010354780401623975,4.111391003936417e-5,2.6016503918615263e-8,-0.0010351214402610947,4.0871490524131414e-5,2.5897043112633257e-8,-0.0010346952781462417,4.0728626709958974e-5,2.5831362930703574e-8,-0.0010342513894169626,4.070496768499591e-5,2.582864079884688e-8,-0.0010338376130666347,4.0792468598692156e-5,2.588333975697396e-8,-0.001033489928572441,4.09637112677769e-5,2.5979990127741127e-8,-0.0010332292836012598,4.118057987218832e-5,2.6098059615421084e-8,-0.0010330613284611158,4.140165888760393e-5,2.6215931638488723e-8,-0.0010329777530100068,4.158819846524718e-5,2.631390656871405e-8,-0.0010329586810779521,4.170886241656704e-5,2.6376437158564403e-8,-0.001032975936317296,4.1743274993385874e-5,2.6393736765147437e-8,-0.0010329969885598913,4.168421213030391e-5,2.636277559384442e-8,-0.0010329892783965391,4.153821954893292e-5,2.62875676595281e-8,-0.0010329244588995863,4.132454750884092e-5,2.6178635261370543e-8,-0.001032782060381272,4.10726094101633e-5,2.6051674387741775e-8,-0.0010325522769319654,4.0818357819433007e-5,2.5925576579428118e-8,-0.0010322377709549141,4.0599882712942876e-5,2.5819988038191913e-8,-0.0010318544785740738,4.045240035953763e-5,2.575258468299546e-8,-0.001031431325710975,4.0402610592020545e-5,2.5736166079833738e-8,-0.0010310082903914864,4.04622844238969e-5,2.577556155474702e-8,-0.0010306315696239265,4.062155526853457e-5,2.586455506912295e-8,-0.0010303445107737654,4.084394736602622e-5,2.5983723580936618e-8,-0.00103017415051348,4.106712011714914e-5,2.6101034286724267e-8,-0.00103011645990442,4.121429379152592e-5,2.617762452180817e-8,-0.0010301283373702107,4.1218183604357294e-5,2.617978519094077e-8,-0.0010301360479824519,4.1049891214193474e-5,2.6093535091742128e-8,-0.0010300617418679534,4.073592787552085e-5,2.5933314593629573e-8,-0.0010298552834028627,4.0349707833675383e-5,2.5737635695545288e-8,-0.0010295123624857808,3.9981058901976845e-5,2.555325702866578e-8,-0.0010290699371210256,3.970266737753418e-5,2.541762182017323e-8,-0.0010285862799355606,3.95510226577242e-5,2.5348871652570656e-8,-0.001028119665030133,3.952567217658717e-5,2.5345604153804084e-8,-0.0010277146398166707,3.9599592103778894e-5,2.5392608827923747e-8,-0.0010273969445857086,3.9732019239784237e-5,2.54679029136312e-8,-0.0010271741439923543,3.987889635605635e-5,2.554837330653049e-8,-0.0010270387420002831,3.999979218338487e-5,2.5613362144150908e-8,-0.0010269717730998133,4.006209216467498e-5,2.564665439659544e-8,-0.0010269462335600545,4.004361181148552e-5,2.563758062373979e-8,-0.001026930475247916,3.993429582593155e-5,2.5581696150718296e-8,-0.0010268917955752411,3.9737131056284514e-5,2.54811632465487e-8,-0.0010268003254188763,3.946803547779058e-5,2.5344696049297998e-8,-0.001026633045285693,3.9154302349015926e-5,2.51867793373167e-8,-0.001026377413673644,3.883136780108241e-5,2.502596843310329e-8,-0.0010260339595217747,3.8538067531633994e-5,2.4882331374804033e-8,-0.00102561729797183,3.8310807330376756e-5,2.477430480252826e-8,-0.0010251551932449294,3.8177261675103885e-5,2.471538175976041e-8,-0.001024685487708184,3.8150384280356484e-5,2.4711128828705612e-8,-0.0010242508292970316,3.822352571453758e-5,2.475696413222644e-8,-0.0010238910923221203,3.836763523516221e-5,2.4837113045173785e-8,-0.0010236336767047106,3.853222377882937e-5,2.492543131105467e-8,-0.0010234830537858264,3.865239008611646e-5,2.49891058187856e-8,-0.0010234129983969168,3.8663590948988006e-5,2.4996031285257513e-8,-0.0010233670245726736,3.852273512816904e-5,2.492524814844594e-8,-0.001023271959887443,3.822833359285693e-5,2.4776942964655382e-8,-0.0010230632432314934,3.782769524653137e-5,2.4575998844550145e-8,-0.0010227107525744934,3.740279961889332e-5,2.436473371991324e-8,-0.0010222302402959167,3.703969137491942e-5,2.418716232193019e-8,-0.0010216740030515826,3.6798124988745376e-5,2.4073362152007457e-8,-0.001021108290579188,3.669683896443461e-5,2.4031974626159863e-8,-0.0010205912572348655,3.6717350983459955e-5,2.4052398420585333e-8,-0.0010201604372997207,3.681830406381751e-5,2.411249122180296e-8,-0.0010198303307530497,3.6950727918991715e-5,2.418666800590093e-8,-0.0010195960756659162,3.706898533184759e-5,2.4251597017513103e-8,-0.001019439056359185,3.713670445797552e-5,2.4289132019925126e-8,-0.001019332059571601,3.7129221763336125e-5,2.428734485125245e-8,-0.0010192433493335681,3.70343141516297e-5,2.4240686043212892e-8,-0.0010191400194511332,3.685229866278754e-5,2.4149908608415946e-8,-0.0010189911883879065,3.659580376531763e-5,2.402192783224623e-8,-0.0010187714343872375,3.628895436908966e-5,2.3869435845986977e-8,-0.0010184645132939021,3.596533710163379e-5,2.3709873676371996e-8,-0.001018066855839815,3.566412672527142e-5,2.3563393719128077e-8,-0.0010175898667280023,3.542425031334137e-5,2.3449761052332165e-8,-0.0010170599390659412,3.5277162817117435e-5,2.3384558945173422e-8,-0.001016515394012989,3.523949770501541e-5,2.3375440811865953e-8,-0.0010160002224420199,3.530738001007149e-5,2.3419397704779323e-8,-0.0010155553831384591,3.545419198619564e-5,2.3501928264935122e-8,-0.001015209142874551,3.563302488615149e-5,2.3598624983890202e-8,-0.0010149684067089226,3.5784346527384886e-5,2.3679292211144022e-8,-0.0010148133891465872,3.584860072421633e-5,2.3714344288769612e-8,-0.0010146982630651578,3.5782055660811007E-05,2.3682629377636572e-8,-0.0010145599654888093,3.557207326886522e-5,2.3578848270284908e-8,-0.0010143351722388912,3.5245823371830506e-5,2.3417678410022003e-8,-0.0010139811800521554,3.486632047924191e-5,2.3231576085062046e-8,-0.001013492050599654,3.4513974439642034e-5,2.3061330561170134e-8,-0.0010129013184621315,3.4259974954934804e-5,2.2942555475658693e-8,-0.0010122691652813616,3.4143842428325755e-5,2.289440024171102e-8,-0.001011660964001645,3.416527319904436e-5,2.291564249859294e-8,-0.0010111280235503381,3.429134318278579e-5,2.2988645742694414e-8,-0.0010106976785511353,3.447205752042876e-5,2.3087503664077148e-8,-0.0010103730798261847,3.465571175252602e-5,2.3185940039964153e-8,-0.0010101387428839818,3.479919616418346e-5,2.3262469964226124e-8,-0.0010099675794849883,3.487271276682596e-5,2.3302608900919384e-8,-0.0010098269209837737,3.4860699206272e-5,2.3299134968487392e-8,-0.0010096829020666328,3.476102080226269e-5,2.3251535621906485e-8,-0.0010095036482449427,3.4583741581220033e-5,2.316533851284319e-8,-0.00100926202814437,3.434990375649573e-5,2.3051517011118484e-8,-0.0010089385902406682,3.409004467856952e-5,2.2925769286763956e-8,-0.0010085248696185096,3.384168830235557e-5,2.2807227493595864e-8,-0.0010080265806791115,3.3644931550302674e-5,2.2716140262856692e-8,-0.0010074654828322916,3.353571640167953e-5,2.26703687608163e-8,-0.0010068782778092742,3.353743271134205e-5,2.268110345686206e-8,-0.0010063112194841138,3.36528689313314e-5,2.274888894220196e-8,-0.0010058104572475534,3.3859569732431347e-5,2.286150383963712e-8,-0.0010054101212326877,3.411145176628525e-5,2.2995062591133473e-8,-0.0010051217418514823,3.434769733360527e-5,2.3118734876600543e-8,-0.0010049287823506632,3.450726125747007e-5,2.3202145373587556e-8,-0.0010047886815621875,3.454511779650876e-5,2.3223469127649264e-8,-0.001004642523791172,3.444551550645358e-5,2.317587375654054e-8,-0.0010044301777682276,3.4228082912857005e-5,2.307029016040388e-8,-0.0010041070053985303,3.394428660482434e-5,2.293333606477324e-8,-0.0010036572007801948,3.366424530591849e-5,2.280046957873214e-8,-0.0010030989670374397,3.3457142010512746e-5,2.2706067870780697e-8,-0.001002478977520436,3.3371580578821594e-5,2.2673661179006083e-8,-0.0010018578283530568,3.342312200493025e-5,2.2709939398912565e-8,-0.0010012922882052613,3.359334378293894e-5,2.2804621910948108e-8,-0.0010008212275209021,3.3839363188058443e-5,2.2935524319804295e-8,-0.0010004594328713067,3.410840614322706e-5,2.3076001992787873e-8,-0.0010001992187818722,3.4351274842747164e-5,2.320166356575127e-8,-0.0010000167281470184,3.453101661995363e-5,2.3294552412610813e-8,-9.998793317252265e-4,3.462633409658824e-5,2.3344654270450874e-8,-9.997518470452732e-4,3.4631318428131296e-5,2.3349607127017085e-8,-9.996009199043014e-4,3.455348552109253e-5,2.3313647478180466e-8,-9.9939795849614e-4,3.44114906802232e-5,2.3246470434010358e-8,-9.99121407187035e-4,3.4233040893128126e-5,2.3162210737379513e-8,-9.987590833800812e-4,3.405276743515656e-5,2.3078368950141786e-8,-9.983108679056524e-4,3.390926822320403e-5,2.3014265042933495e-8,-9.97791306534957e-4,3.384032770146051e-5,2.2988554306834156e-8,-9.972307991430098e-4,3.3875718713881964e-5,2.3015580148524872e-8,-9.966733564831009e-4,3.4028221102158114e-5,2.310094837163757e-8,-9.961691020362934e-4,3.428546408696686e-5,2.3237638825588425e-8,-9.957615865134595e-4,3.46069401339788e-5,2.3404762682669036e-8,-9.954733186501152e-4,3.493021100327155e-5,2.357086532821176e-8,-9.952956330342465e-4,3.5186762200118035e-5,2.370192787102682e-8,-9.95188477807128e-4,3.532262383638006e-5,2.377162507367407e-8,-9.950913872963697e-4,3.5315508210565336e-5,2.376975873492727e-8,-9.94941500795456e-4,3.518154860532421e-5,2.3705430116577784e-8,-9.946916452042978e-4,3.496972133573339e-5,2.3603993034892922e-8,-9.943224955306555e-4,3.4747072949003844e-5,2.3499389344168517e-8,-9.938459958236127e-4,3.458033160070616e-5,2.3424766870853507e-8,-9.933002965673123e-4,3.451936283405707e-5,2.3404222600228282e-8,-9.92738532106868e-4,3.4586492210376424e-5,2.34477123751599e-8,-9.922149570488884e-4,3.47737697346077e-5,2.35500702634693e-8,-9.917723365169562e-4,3.504802300243e-5,2.369389615669735e-8,-9.91433801696836e-4,3.536137626092322e-5,2.385500900287136e-8,-9.912006576782077e-4,3.566352992413874e-5,2.4008564476421496e-8,-9.910555099664157e-4,3.591217265700787e-5,2.4134077453991628e-8,-9.909685467225334e-4,3.607935109184319e-5,2.4218367354514807e-8,-9.90904493799253e-4,3.615353059249766e-5,2.4256393376223053e-8,-9.90828480212809e-4,3.613845925610944e-5,2.4250587005171246e-8,-9.90710154736621e-4,3.605041340979941e-5,2.420946428455628e-8,-9.905262925749175e-4,3.5915102415850375e-5,2.4146106990416895e-8,-9.902625674466235e-4,3.576480559520487e-5,2.407673810359449e-8,-9.899151595612757e-4,3.563558997580312e-5,2.4019285840091026e-8,-9.894925239248037e-4,3.556393259086711e-5,2.399161892926978e-8,-9.890169789091286e-4,3.558183032668142e-5,2.400906596769323e-8,-9.885248529442735e-4,3.570977187754583e-5,2.4080982598891237e-8,-9.880631022206629e-4,3.594816942793109e-5,2.4206693186517794e-8,-9.876803749587692e-4,3.6270078383065484e-5,2.4372152484305683e-8,-9.874125517596248e-4,3.662032117452578e-5,2.4549731590826265e-8,-9.872671120179847e-4,3.6926008414473374e-5,2.470348797116585e-8,-9.872146960178598e-4,3.7118461255131244e-5,2.4799926090503432e-8,-9.871951531337715e-4,3.715829143129886e-5,2.482028574407889e-8,-9.871375620403313e-4,3.705077677427379e-5,2.476806781996489e-8,-9.869847448893906e-4,3.684329236067619e-5,2.466765451933042e-8,-9.867105450566658e-4,3.660725536650436e-5,2.4555140657066402e-8,-9.86323904247596e-4,3.641469724773145e-5,2.4466432455541804e-8,-9.858615016007492e-4,3.631928880259697e-5,2.442766534764061e-8,-9.85374633250025e-4,3.634645237112784e-5,2.4450388419430107e-8,-9.849156337300748e-4,3.649235218034662e-5,2.453139904021426e-8,-9.845270231932197e-4,3.672923823051199e-5,2.465582036281864e-8,-9.842346708626541e-4,3.7014300862134964e-5,2.4801822245291615e-8,-9.840451716688692e-4,3.729969081586018e-5,2.4945700886248175e-8,-9.839470708571595e-4,3.754181375466232e-5,2.5066377411016933e-8,-9.839150653915634e-4,3.770836043790428e-5,2.514864253568232e-8,-9.83915845150665e-4,3.778218739727299e-5,2.5184832131647895e-8,-9.839141440703577e-4,3.776204586365129e-5,2.5175023720621267e-8,-9.838778946578378e-4,3.7660825559131726e-5,2.5126110722890017e-8,-9.837819111355383e-4,3.750231363693385e-5,2.5050212268447694e-8,-9.83610120160167e-4,3.731747931219535e-5,2.4962853060990782e-8,-9.833567922937184e-4,3.714089212336408e-5,2.4881163070795294e-8,-9.830272886633775e-4,3.700727412351498e-5,2.4822096717103307e-8,-9.826385911278707e-4,3.69477424015823e-5,2.4800505830703303e-8,-9.82219396284537e-4,3.698509836147771e-5,2.4826830050034716e-8,-9.818087670899545e-4,3.712771767756578e-5,2.4904243886600084e-8,-9.814515702841564e-4,3.7362648046258683e-5,2.5025539421476875e-8,-9.811889802018954e-4,3.7650571338024e-5,2.5170939795615703e-8,-9.810442154511204e-4,3.792755371116602e-5,2.5309102919604293e-8,-9.810080333830023e-4,3.811864493199592e-5,2.5403711739960307e-8,-9.81033207624282e-4,3.8163102204115404e-5,2.5425633123846726e-8,-9.810462359989666e-4,3.804100654306584e-5,2.5365828059548833e-8,-9.809743731534347e-4,3.778505688611488e-5,2.524112956896296e-8,-9.807739041156364e-4,3.746843502401319e-5,2.508825210734586e-8,-9.804438663459916e-4,3.717577379911337e-5,2.4949313572355698e-8,-9.800204118408863e-4,3.697428727925494e-5,2.485733884169189e-8,-9.795593431768212e-4,3.6897909348930136e-5,2.4828320900585492e-8,-9.791176972697106e-4,3.694613487266822e-5,2.4860822858248447e-8,-9.78740821256568e-4,3.709208601691692e-5,2.4940346749398108e-8,-9.784561041063255e-4,3.7293678129001164e-5,2.5045249521682385e-8,-9.782718489133458e-4,3.7504071244625615e-5,2.5152145120602866e-8,-9.781792758595254e-4,3.7679941882763186e-5,2.5239992535436655e-8,-9.781562333794412e-4,3.778745647138105e-5,2.5292850462091087e-8,-9.781718882523143e-4,3.780606999115621e-5,2.530147602469855e-8,-9.781918620216884e-4,3.773013883351006e-5,2.5263886480747403e-8,-9.781832167389938e-4,3.7568458080856365e-5,2.518501010675023e-8,-9.78118742072559e-4,3.7342042791065954e-5,2.507558218052921e-8,-9.779801236071979e-4,3.708061130398327e-5,2.4950452157285786e-8,-9.777597868775496e-4,3.681839353569755e-5,2.4826535622686178e-8,-9.774615375963498e-4,3.6589861622145944e-5,2.47206704952449e-8,-9.771002958644923e-4,3.642562803302159e-5,2.464752335844287e-8,-9.767011177636903e-4,3.6348412775412787e-5,2.461757103592887e-8,-9.762974059618317e-4,3.636884684333104e-5,2.463512177599872e-8,-9.759277035517238e-4,3.648101405343806e-5,2.4696356361916733e-8,-9.75629951246629e-4,3.665840901177218e-5,2.4787660934629145e-8,-9.754322748465593e-4,3.685252659570957e-5,2.4885193908702775e-8,-9.75340987613693e-4,3.699788916582287e-5,2.495739454375517e-8,-9.753299684090048e-4,3.702722840929396e-5,2.4972198717358794e-8,-9.753395265608093e-4,3.689599167738356e-5,2.490869287630752e-8,-9.752920720559031e-4,3.6606102877796636e-5,2.4768523544825133e-8,-9.751219280535475e-4,3.62127126348543e-5,2.457919604533296e-8,-9.748035378869218e-4,3.580501071706199e-5,2.4384716721739845e-8,-9.743604317943561e-4,3.5470563709328834E-05,2.4228018734390125e-8,-9.738510761405169e-4,3.526450154078282e-5,2.4135686744524703e-8,-9.733435765106256e-4,3.519840608946445e-5,2.411249078547065e-8,-9.728943634004211e-4,3.5247780682422384e-5,2.4145284649450995e-8,-9.725377477092212e-4,3.536768335651393e-5,2.4211049479849402e-8,-9.722848444423038e-4,3.550754893515966e-5,2.428448154165182e-8,-9.72127563371285e-4,3.562150854076412e-5,2.4343174928178926e-8,-9.720441769973178e-4,3.567417242302132e-5,2.437035998268252e-8,-9.720046367152485e-4,3.56432887461309e-5,2.4355963585866076e-8,-9.719752390974952e-4,3.552063301357858e-5,2.4296779131561367e-8,-9.719228596586245e-4,3.531171554305102e-5,2.4196141313711178e-8,-9.718188423673552e-4,3.503437202507118e-5,2.406317927089353e-8,-9.716423998941957e-4,3.471621408885309e-5,2.3911605715671775e-8,-9.713832408989576e-4,3.439096166140005e-5,2.3757978780585042e-8,-9.710430366130846e-4,3.409389102193965e-5,2.361948593481193e-8,-9.70635446133547e-4,3.3856923351839665e-5,2.3511491505683215e-8,-9.701846919981149e-4,3.370390574741038e-5,2.3445165212560717e-8,-9.697228228770885e-4,3.364647614797688e-5,2.342546325722505e-8,-9.692857745624962e-4,3.368081166293388e-5,2.3449670440655165e-8,-9.689081926968012e-4,3.378557365972413e-5,2.3506650641077334e-8,-9.686168099705691e-4,3.392170644199995e-5,2.357703705485365e-8,-9.684224658620934e-4,3.4035563171401795e-5,2.3634937383161203e-8,-9.68312113340623e-4,3.406746818840269e-5,2.3652061632635778e-8,-9.682443258694862e-4,3.396706662113197e-5,2.3604922859051918e-8,-9.681538286062369e-4,3.371329935534211e-5,2.348419799835916e-8,-9.679692761326831e-4,3.333058404686902e-5,2.330235800983941e-8,-9.676407409410866e-4,3.2888734991917684e-5,2.3093584924486144e-8,-9.671629996624705e-4,3.2480309923178234e-5,2.2902797651000153e-8,-9.665791080763037e-4,3.2184835146996645e-5,2.276825671546724e-8,-9.659613244934983e-4,3.204046428493923e-5,2.270778086296016e-8,-9.653822640887052e-4,3.203767611505963e-5,2.2715798323767404e-8,-9.648929276683705e-4,3.213287335072607e-5,2.2770213229558723e-8,-9.645149837962753e-4,3.226903530996189e-5,2.2842729866168465e-8,-9.642442355567376e-4,3.239247708087407e-5,2.2907171397624284e-8,-9.640587530216115e-4,3.24620993246358e-5,2.2943963859402317e-8,-9.639270001539048e-4,3.245248074250296e-5,2.2941464499432092e-8,-9.638140578411377e-4,3.235353569481727e-5,2.2895550510650823e-8,-9.6368595444148e-4,3.2168912493880215e-5,2.28086319018673e-8,-9.635128997527551e-4,3.191410788621952e-5,2.2688634455621677e-8,-9.632720633656184e-4,3.161432337084309e-5,2.2547969983926774e-8,-9.629500908473864e-4,3.1301728190777524e-5,2.2402276055104036e-8,-9.625451789726969e-4,3.101176374193039e-5,2.226867575507521e-8,-9.620681774777247e-4,3.077836455776551e-5,2.216345368450055e-8,-9.615420329416084e-4,3.0628500411465295e-5,2.209935540113096e-8,-9.609991467969121e-4,3.057690888665009e-5,2.2082994490797295e-8,-9.604766797714861e-4,3.062205911343596e-5,2.2112942498469528e-8,-9.600102747775835e-4,3.074434601472043e-5,2.2179018433807102e-8,-9.596270214263777e-4,3.090724439259373e-5,2.2263089974248304e-8,-9.593386562986945e-4,3.1061771792007744e-5,2.2341454918293274e-8,-9.591361349101454e-4,3.1154428547892235e-5,2.2388764734143828e-8,-9.589871735461636e-4,3.113854434292479e-5,2.2383389507898628e-8,-9.588390052667267e-4,3.0987899671081076e-5,2.23137088373979e-8,-9.586285812047179e-4,3.0709291166627064e-5,2.2183841699676357e-8,-9.583004549904042e-4,3.034807980718291e-5,2.20160808943815e-8,-9.578277490469907e-4,2.9980170319710332e-5,2.1846942684937246e-8,-9.572262091683876e-4,2.968886340238766e-5,2.1716059377740093e-8,-9.565515092747311e-4,2.953507814969651e-5,2.1651963566920276e-8,-9.558790138711099e-4,2.9536365304518656e-5,2.166217296734255e-8,-9.552767930981623e-4,2.9665583334704913e-5,2.173278583758932e-8,-9.547860467171304e-4,2.9867061406297094e-5,2.1836474927304304e-8,-9.544158266696612e-4,3.0078540975903094e-5,2.1943173400982044e-8,-9.541492278461368e-4,3.024805141205629e-5,2.20281932369835e-8,-9.539540335951516e-4,3.034185193150517e-5,2.2075920768301698e-8,-9.537924048895253e-4,3.0345247140230987e-5,2.208000983233228e-8,-9.536275311546465e-4,3.025982229495277e-5,2.204185499562896e-8,-9.534275077413425e-4,3.0099841725022342e-5,2.1968736705240954e-8,-9.531675967845711e-4,2.9889041402266785e-5,2.187225621318765e-8,-9.528318988517542e-4,2.9657867759765324e-5,2.1767059789256722e-8,-9.524149404686213e-4,2.9440645440285744e-5,2.1669541941369942e-8,-9.519231274636026e-4,2.9272003957849185e-5,2.1596154336982085e-8,-9.513754532627277e-4,2.9182105324352853e-5,2.156109047838405e-8,-9.508024505321581e-4,2.9190878090889825e-5,2.1573483188737836e-8,-9.502424663511357e-4,2.9302351813132366e-5,2.1634700321363326e-8,-9.49735030418587e-4,2.9500882232911995e-5,2.1736638845838566e-8,-9.493122042363756e-4,2.975120128025421e-5,2.1861931766478845e-8,-9.489899450602254e-4,3.0003488125871785e-5,2.19865714491652e-8,-9.487620601966599e-4,3.020311750055373e-5,2.2084695992892515e-8,-9.485988957950232e-4,3.030316317880326e-5,2.2134553407674564e-8,-9.484518091654521e-4,3.0276810472256283e-5,2.2124270364054122e-8,-9.482632222856166e-4,3.0126538386465414e-5,2.205597301242971e-8,-9.479807554179524e-4,2.9887047408005317e-5,2.194689841841948e-8,-9.475724436270446e-4,2.961960692398054e-5,2.1826477535904775e-8,-9.470384606933393e-4,2.9397309036501518e-5,2.1729216202936675e-8,-9.464140919087501e-4,2.9284117233135745e-5,2.168479093152599e-8,-9.457607135250013e-4,2.931474722874649e-5,2.1708699518209903e-8,-9.451468703045619e-4,2.948415363474355e-5,2.179756824154432e-8,-9.446272642077682e-4,2.975166154093429e-5,2.19313942223417e-8,-9.442287741878977e-4,3.005706659105484e-5,2.2081348790756766e-8,-9.439480612138644e-4,3.0340177706433605e-5,2.2219059244211306e-8,-9.437587330039747e-4,3.05555047742844e-5,2.232346391891961e-8,-9.436224123828684e-4,3.0678595514250895e-5,2.2383640253534496e-8,-9.434987028230832e-4,3.0705355294702186e-5,2.2398300631400305e-8,-9.433518093842979e-4,3.0647746413302585e-5,2.2373619930447855e-8,-9.431539596951896e-4,3.052879162175852e-5,2.2320812424416252e-8,-9.42886827941632e-4,3.0378337056025078e-5,2.2254139731918605e-8,-9.425421763466582e-4,3.0229750427711546e-5,2.2189391361884014e-8,-9.421224563862095e-4,3.011700715597695e-5,2.2142531937943215e-8,-9.416414774327706e-4,3.0071346469157127e-5,2.212810620989906e-8,-9.411245660268458e-4,3.0116816661240038e-5,2.215710354642401e-8,-9.406070615964384e-4,3.026467552618603e-5,2.2234316233793085e-8,-9.40129838692488e-4,3.050774422637882e-5,2.2355753528190237e-8,-9.397312194328286e-4,3.0817081031483444e-5,2.2507225708871276e-8,-9.394363651629871e-4,3.1143952690525606e-5,2.266544635054926e-8,-9.39247469629382e-4,3.14289902634384e-5,2.2802467253505157e-8,-9.391392811567771e-4,3.161734154321736e-5,2.28928419535772e-8,-9.390631834203985e-4,3.1675072753920046e-5,2.292128485717643e-8,-9.389595011470184e-4,3.160054917881444e-5,2.2887892684632222e-8,-9.38774017044829e-4,3.142629938669554e-5,2.2808821851867562E-08,-9.384731170441491e-4,3.121073248180759e-5,2.2712144428496986e-8,-9.380529653295315e-4,3.102263562512172e-5,2.2630329259409035e-8,-9.37540421932073e-4,3.0923179639618185e-5,2.2591680785415607e-8,-9.369857583175107e-4,3.095034383443137e-5,2.261312414301245e-8,-9.364492385837592e-4,3.1109898640259824e-5,2.269626110812058e-8,-9.359853619300495e-4,3.137546064701527e-5,2.2827755619925506e-8,-9.356295240548179e-4,3.16974681512932e-5,2.2983821119346855e-8,-9.353911527823038e-4,3.2017802198202046e-5,2.313717510433112e-8,-9.35254811672147e-4,3.228479107023496e-5,2.326399499414142e-8,-9.351875597689146e-4,3.2463820357644084e-5,2.3348709349042408e-8,-9.351488611202442e-4,3.2541398176328435e-5,2.338570291153537e-8,-9.350994833205346e-4,3.25234996917194e-5,2.3378386345866902e-8,-9.350074661012362e-4,3.2430678404906835e-5,2.333682380228043e-8,-9.348510276335349e-4,3.229243028857118e-5,2.3275080016553152e-8,-9.346193314669444e-4,3.214231620297721e-5,2.3208959235950077e-8,-9.34312262797197e-4,3.2014221186669155e-5,2.3154273367792384e-8,-9.339400414025882e-4,3.193933185076618e-5,2.3125418905859264e-8,-9.33522913696338e-4,3.194305448645945e-5,2.3133910756853474e-8,-9.330904862493931e-4,3.204115275895757e-5,2.3186578394138074e-8,-9.326796244283101e-4,3.223492294630654e-5,2.3283386135426127e-8,-9.323295184334296e-4,3.250635238251842e-5,2.3415326287966734e-8,-9.320730236673442e-4,3.281574833663746e-5,2.356349553000111e-8,-9.319252711366798e-4,3.310543782936856e-5,2.3700943505328696e-8,-9.318736216132645e-4,3.331219177128394e-5,2.3798471243414568e-8,-9.318752640651988e-4,3.338676318697942e-5,2.3833655432768257e-8,-9.31866963948998e-4,3.331301147491189e-5,2.3799668733206908e-8,-9.317849968972861e-4,3.311655040946259e-5,2.3709231637614105e-8,-9.315865645433877e-4,3.2857438239323513e-5,2.3591073380549135e-8,-9.312628626536916e-4,3.2610345594110236e-5,2.3480457903216238e-8,-9.308393005661033e-4,3.24417200448329e-5,2.3408301483171562e-8,-9.303651936824847e-4,3.239281090859414e-5,2.339318150193606e-8,-9.298986864069065e-4,3.24725338782039e-5,2.343818307136948e-8,-9.29492219127464e-4,3.265959531263871e-5,2.3532245846076462e-8,-9.291818021359038e-4,3.2911055999915944e-5,2.3654527540462002e-8,-9.289814804693926e-4,3.317408157338681e-5,2.3780107907133812e-8,-9.28883102878134e-4,3.339795710135585e-5,2.3885603751994195e-8,-9.288606081706539e-4,3.3543937048918637e-5,2.3953598676844333e-8,-9.288772589118661e-4,3.3591181371482934e-5,2.3975172255395918e-8,-9.288937419745458e-4,3.353814016920971e-5,2.395033272948154e-8,-9.288751893623011e-4,3.340004673214571e-5,2.3886721538417358e-8,-9.287959268978146e-4,3.320403594462646e-5,2.3797303763589087e-8,-9.286417064222096e-4,3.298355112980294e-5,2.369778683496962e-8,-9.284099392258089e-4,3.277328729013441e-5,2.3604298515993387e-8,-9.281087947963245e-4,3.260518664063019e-5,2.3531530406527254e-8,-9.277558922978596e-4,3.25053020042501e-5,2.3491259018736307e-8,-9.27376881127838e-4,3.2490978444289704E-05,2.349102519309791e-8,-9.270036743482587e-4,3.2567791005183e-5,2.3532761106056747e-8,-9.266715169341242e-4,3.2726055504754945e-5,2.361130945511728e-8,-9.264137151151058e-4,3.293770276831043e-5,2.3713172494102367e-8,-9.262532777753961e-4,3.315574465668824e-5,2.3816439311101114e-8,-9.261924253535585e-4,3.331972423030237e-5,2.389335984974595e-8,-9.262040127993932e-4,3.336992217268715e-5,2.3916815814377182e-8,-9.262317722939682e-4,3.326872605091641e-5,2.3870037451283865e-8,-9.26204733848964e-4,3.3020183443077696e-5,2.3755545743126395e-8,-9.260627882338456e-4,3.267485106444268e-5,2.3597373291928313e-8,-9.257806549268176e-4,3.2313603001887904e-5,2.343349628055146e-8,-9.253766285983505e-4,3.201794497161325e-5,2.3301884783205278e-8,-9.249026226141552e-4,3.1842977355389055e-5,2.3227766419155888e-8,-9.244236141866019e-4,3.1804942562237756e-5,2.321783898637054e-8,-9.239978305283136e-4,3.188429203691447e-5,2.3261932645223352e-8,-9.236643245273065e-4,3.203781785436325e-5,2.3339012154274225e-8,-9.234386977616611e-4,3.221281488408803e-5,2.3424069805742805e-8,-9.233147289125141e-4,3.235906739356297e-5,2.3493825767808208e-8,-9.232692914346888e-4,3.243722377144107e-5,2.3530540271546322e-8,-9.232686902572398e-4,3.242362191865267e-5,2.3524031114582375e-8,-9.232753070314963e-4,3.231198064538372e-5,2.347219924760264e-8,-9.232537561991422e-4,3.211234823824068e-5,2.3380345332508162e-8,-9.231758558037119e-4,3.1847866001873865e-5,2.3259584838009844e-8,-9.230239270817444e-4,3.155012781518374e-5,2.3124710835478002e-8,-9.227922362546493e-4,3.1253999746506684e-5,2.299185234886264e-8,-9.224867387452752e-4,3.0992724464646724e-5,2.2876250708263638e-8,-9.221236055597706e-4,3.079385597163362e-5,2.27903811393233e-8,-9.217270560533948e-4,3.067609570471294e-5,2.2742468990955336e-8,-9.213267796337176e-4,3.064680318714811e-5,2.2735346156833847e-8,-9.20954912564315e-4,3.0699934328855683e-5,2.2765581416612138e-8,-9.206421478418023e-4,3.08143607477365e-5,2.2822873109824424e-8,-9.204122660196305e-4,3.095320827010874e-5,2.2889943688910157e-8,-9.202747886912586e-4,3.106597764009101e-5,2.2943650815208422e-8,-9.20216936947342e-4,3.1095988189358365e-5,2.2958395502173376e-8,-9.201985234595585e-4,3.099497926622176e-5,2.2912665548665453e-8,-9.201557642877907e-4,3.074296687634402e-5,2.2797948208220792e-8,-9.200186966514138e-4,3.0364621739963786e-5,2.2626137511840795e-8,-9.197385636888824e-4,2.9929213138156976e-5,2.242949417390068e-8,-9.193108394574188e-4,2.9527970187913423e-5,2.225019669376877e-8,-9.187785340875029e-4,2.9238845703639758e-5,2.2123997801802605e-8,-9.182134225021054e-4,2.9098989670442113e-5,2.2067447146301895e-8,-9.176879830111815e-4,2.9098589555165532e-5,2.2075132170368005e-8,-9.17253784391652e-4,2.9193712335522423e-5,2.212586268610836e-8,-9.169332050515159e-4,2.932621852597383e-5,2.2192168520093514e-8,-9.167219505579218e-4,2.944065181810668e-5,2.224829932694638e-8,-9.165966656263807e-4,2.949439756587482e-5,2.2274934020959177e-8,-9.165233093736817e-4,2.9461840863147958e-5,2.226094758259148e-8,-9.164642868928159e-4,2.9334685108527463e-5,2.220331133229603e-8,-9.163839913645998e-4,2.9120232422900573e-5,2.2106066579955823e-8,-9.162530317647461e-4,2.883851348103519e-5,2.1978863978225656e-8,-9.160513185398048e-4,2.8518597058158136e-5,2.1835244906513958e-8,-9.15769988624412e-4,2.8194298243653313e-5,2.1690730238489156e-8,-9.154120664548803e-4,2.7899535170271005e-5,2.1560765750180442e-8,-9.149917488095805e-4,2.7663738874698725e-5,2.1458654195702416e-8,-9.145323801553542e-4,2.7507851429598272e-5,2.1393709233720136e-8,-9.140634112563936e-4,2.744128142921948e-5,2.136983448703116e-8,-9.136166435043148e-4,2.745994641856036e-5,2.1384644526880326e-8,-9.13221944692427e-4,2.754549808736449e-5,2.1429208794373388e-8,-9.129024910120398e-4,2.7665888640565562e-5,2.148847949703196e-8,-9.126694819496386e-4,2.7777706431344518e-5,2.154253176218981e-8,-9.125166098566058e-4,2.7831321553144563e-5,2.156899691685832e-8,-9.124157000485842e-4,2.7780165658292776e-5,2.1547232079309533e-8,-9.123165267733067e-4,2.759442992476146e-5,2.1464373542698462e-8,-9.121548623777333e-4,2.7276427140508372e-5,2.1322119221499095e-8,-9.118711019526034e-4,2.6870144591949852e-5,2.114094313683426e-8,-9.114350063079968e-4,2.6455006129514234e-5,2.0957209029743784e-8,-9.108634742462995e-4,2.6120092101343845e-5,2.081139801841706e-8,-9.102178200814272e-4,2.5929424367736944e-5,2.0732255869559906e-8,-9.095797117160946e-4,2.5898353086471822e-5,2.0726067368364644e-8,-9.090202329768966e-4,2.5993933266429337e-5,2.077699539719869e-8,-9.085793014011967e-4,2.615479802733407e-5,2.0856387709915296e-8,-9.082619863653898e-4,2.6315579246745158e-5,2.09341239475786e-8,-9.080467696016204e-4,2.6424152758084614e-5,2.098656643738969e-8,-9.078974977973308e-4,2.6448875948786817e-5,2.0999792057647626e-8,-9.077736775849799e-4,2.6378608518081082e-5,2.0969414117202983e-8,-9.076374388060467e-4,2.621931034153885e-5,2.089880711320176e-8,-9.074576563940846e-4,2.598981028468818e-5,2.0797007293920687e-8,-9.072123555606045e-4,2.5717763310892864e-5,2.067680801973962e-8,-9.068901702931364e-4,2.543581375595846e-5,2.055305287961445e-8,-9.064910919600087e-4,2.51777245706118e-5,2.044096225969404e-8,-9.060264239903059e-4,2.497429600456872e-5,2.0354350101638346e-8,-9.055176396903595e-4,2.4849147035049042e-5,2.0303725663131417e-8,-9.049938331462582e-4,2.48148520431951e-5,2.0294513960783498e-8,-9.044877759473634e-4,2.487013629166907e-5,2.0325761996341625e-8,-9.040309431041147e-4,2.4998716181532725e-5,2.0389648367651206e-8,-9.036480496186143e-4,2.5170219741609872e-5,2.0472012539751645e-8,-9.033517513971097e-4,2.534346091236584e-5,2.0553994872596846e-8,-9.031382345469437e-4,2.5472113323665762e-5,2.0614734900078757e-8,-9.029845516590252e-4,2.5512741628428336e-5,2.0635033273204925e-8,-9.028490149929373e-4,2.5434954827073677e-5,2.0601836238167363e-8,-9.026764902106563e-4,2.5232408447057923e-5,2.0513003051675774e-8,-9.02410173775587e-4,2.4931333305205534e-5,2.03809375747986e-8,-9.020092509206674e-4,2.459113424824214e-5,2.0232703367730958e-8,-9.014671775780341e-4,2.4291763948560345e-5,2.0104263036672917e-8,-9.008206650653747e-4,2.4108119510329703e-5,2.0028949316011377e-8,-9.001407652157997e-4,2.40815816794724e-5,2.002473027343289e-8,-8.995076036470077e-4,2.4204454860463047e-5,2.0087372224985797e-8,-8.989819618378563e-4,2.4426402095344975e-5,2.0193550978397385e-8,-8.985886426926948e-4,2.4677367529835956e-5,2.0311351442965695e-8,-8.983168875609791e-4,2.489249041554455e-5,2.0411570672683616e-8,-8.981321994515865e-4,2.5027742305275945e-5,2.0474734817052442e-8,-8.979905680705888e-4,2.506411353886881e-5,2.0492861273368607e-8,-8.978493659111419e-4,2.50042478933684e-5,2.0467761838839778e-8,-8.976735626310779e-4,2.486629512223054e-5,2.040810250953443e-8,-8.974383807300419e-4,2.46779904367794e-5,2.0326637181998767e-8,-8.971300793370073e-4,2.447195277178342e-5,2.0238087853917463e-8,-8.967460299014721e-4,2.4281946492655756e-5,2.0157529321890946e-8,-8.962944874862408e-4,2.41394984040332e-5,2.009894778188007e-8,-8.957939342688571e-4,2.4070383811391924e-5,2.0073707412014148e-8,-8.952715333108823e-4,2.4090842783267837e-5,2.0088849549234874e-8,-8.94760107898572e-4,2.420397021695154e-5,2.014545178891125e-8,-8.942933680114259e-4,2.4397265038716906e-5,2.0237535845060154e-8,-8.938997498069575e-4,2.4642474151023778e-5,2.0352064205131918e-8,-8.935958998883974e-4,2.4898610660257977E-05,2.047041270308535e-8,-8.933813137979958e-4,2.5118392150347438e-5,2.057138082449648e-8,-8.932357382837027e-4,2.525738915614616e-5,2.0635360425476936e-8,-8.931205738507962e-4,2.5284299096435977e-5,2.0648906749984923e-8,-8.929848689198422e-4,2.5190265415252555e-5,2.0608774843090036e-8,-8.927757350545704e-4,2.4994824362930195e-5,2.052437537467493e-8,-8.924519189134882e-4,2.4745797708676503e-5,2.0417514294488545e-8,-8.919975931406865e-4,2.4510848006438183e-5,2.031846414448125e-8,-8.914314961573257e-4,2.436039906856739e-5,2.0258291785338553e-8,-8.908058509117407e-4,2.4345690900774747e-5,2.0259156353576073e-8,-8.901923458736179e-4,2.4480408023514104e-5,2.032632704668696e-8,-8.896591855754514e-4,2.473538117757218e-5,2.0446077286436584e-8,-8.892494467896753e-4,2.505003874490458e-5,2.0590986107984132e-8,-8.889707658958967e-4,2.5354671159387962e-5,2.0729934824061592e-8,-8.887992171195747e-4,2.5592069573353648e-5,2.0837712880844427e-8,-8.886922966930062e-4,2.572983863637043e-5,2.0900398514110002e-8,-8.886031916452067e-4,2.576187327548421e-5,2.0915874009217856e-8,-8.884910916697882e-4,2.5702806387382103e-5,2.0891201501616617e-8,-8.883263469942507e-4,2.5580247122862124e-5,2.0839048300129043e-8,-8.880918126579759e-4,2.5427917810549098e-5,2.0774582188619598e-8,-8.877822930623571e-4,2.528066113611859e-5,2.071327182632323e-8,-8.874034503409459e-4,2.51709375729389e-5,2.0669390176493168e-8,-8.869707261418254e-4,2.5125989723721748e-5,2.0654810035291582e-8,-8.865081500699982e-4,2.5164954314173364e-5,2.067774642510077e-8,-8.86046435520712e-4,2.5295625909005256e-5,2.074132329135633e-8,-8.856195799846079e-4,2.5511276908268373e-5,2.0842176511925037e-8,-8.852594627043434e-4,2.578871501824554e-5,2.0969645761179816e-8,-8.849887434082308e-4,2.6089236359805585e-5,2.1106290594163275e-8,-8.848135668142814e-4,2.6363915683878577e-5,2.12303363316089e-8,-8.847186517320325e-4,2.6563437790964064e-5,2.132009779085571e-8,-8.846674515235134e-4,2.6650601378864086e-5,2.1359523275735847e-8,-8.846087189309281e-4,2.66117823350549e-5,2.1343206192558952e-8,-8.844884826177575e-4,2.6463259603390726e-5,2.1279054822091283e-8,-8.84264302201615e-4,2.6249677950410016e-5,2.1187425909026206e-8,-8.839176546726403e-4,2.6034332006823362e-5,2.109662263366006e-8,-8.83460649868888e-4,2.588342561020468e-5,2.1035784916221402e-8,-8.82934630955511e-4,2.584833167410523e-5,2.102703848956324e-8,-8.824002202963414e-4,2.595091364572211e-5,2.1079174189276926e-8,-8.81920975885244e-4,2.61768927835987e-5,2.1185003004173495e-8,-8.815456299885851e-4,2.648030419312936e-5,2.132360042425762e-8,-8.812952960849518e-4,2.6797977084991984e-5,2.146685384949102e-8,-8.811602994497689e-4,2.7068443874576867e-5,2.1587808754275467e-8,-8.811068251980501e-4,2.7247856141716944e-5,2.1667584069800153e-8,-8.81089260979772e-4,2.7317788146902162e-5,2.169866440830599e-8,-8.810626671495409e-4,2.7284359038585255e-5,2.168436095027221e-8,-8.809914703339173e-4,2.7171697969967655e-5,2.1635803660338795e-8,-8.80853375306616e-4,2.7013728986054004e-5,2.1568241334736312e-8,-8.806396376131523e-4,2.6847076911299085e-5,2.14978976330453e-8,-8.803534902028214e-4,2.670608170906783e-5,2.1439805851815076e-8,-8.800081064751453e-4,2.661959400830792e-5,2.140644761622855e-8,-8.796247407013677e-4,2.6608697363742646e-5,2.1406789555317838e-8,-8.792309875330124e-4,2.668453948521081e-5,2.1445354689839482e-8,-8.788585456571649e-4,2.684586308158884e-5,2.152116684744657e-8,-8.78539601693883e-4,2.7076554888474195e-5,2.162673250547703e-8,-8.783011687268403e-4,2.7344451028370228e-5,2.1747606543339466e-8,-8.781575952511767e-4,2.760340690883203e-5,2.1863392752506867e-8,-8.781030584565838e-4,2.780060405021578e-5,2.1951002414711444e-8,-8.781075985026394e-4,2.7889387640801088e-5,2.1990279643567898e-8,-8.781205807905475e-4,2.7844561840664714e-5,2.197066505165757e-8,-8.780829418086908e-4,2.767387999018061e-5,2.1896173090185512e-8,-8.779448870805086e-4,2.74194206923248e-5,2.178590013371832e-8,-8.776820355245091e-4,2.7146767973214645e-5,2.166911671129024e-8,-8.773032995196551e-4,2.692589193920319e-5,2.157667830482182e-8,-8.768478522267831e-4,2.6811226903755186e-5,2.153215088316852e-8,-8.763733034865937e-4,2.6827771709541934e-5,2.1545755773169187e-8,-8.759398672705631e-4,2.6966612293309254e-5,2.1612637371882027e-8,-8.75595423955086e-4,2.718972268856917e-5,2.171528609991872e-8,-8.753651397527334e-4,2.744156484383133e-5,2.182888124213572e-8,-8.75247681912975e-4,2.766380317219204e-5,2.1927841507686533e-8,-8.752182834583848e-4,2.7809084316441637e-5,2.1991802394858896e-8,-8.752370705991506e-4,2.78503969031841e-5,2.2009553750829985e-8,-8.752596751637627e-4,2.7784140827711733e-5,2.1980196488628183e-8,-8.752468743315799e-4,2.7627256123099378e-5,2.1911727125109708e-8,-8.751709906385506e-4,2.741056684869909e-5,2.181802519722558e-8,-8.750184292407893e-4,2.717106230583093e-5,2.1715442258405405e-8,-8.747891179445456e-4,2.6945211256019782e-5,2.161989799005169e-8,-8.744942264117304e-4,2.6764246324536103e-5,2.1544865267399724e-8,-8.741534012510591e-4,2.6651298588158375e-5,2.1500162537119337e-8,-8.73792188217311e-4,2.6619664630001775e-5,2.1491228293641114e-8,-8.734396730616577e-4,2.6671435073366737e-5,2.1518551762450664e-8,-8.731258580016011e-4,2.679606382670435e-5,2.1577100432093963e-8,-8.7287798682881e-4,2.696908317973565e-5,2.165584590639723e-8,-8.727151324958717e-4,2.7152056798777518e-5,2.1737843898724333e-8,-8.726411876491597e-4,2.7295776371153268e-5,2.180169400597056e-8,-8.72638123277193e-4,2.7348884643569248e-5,2.1825288578833227e-8,-8.726635290724197e-4,2.7272385770363037e-5,2.1792059497611342e-8,-8.726572026318421e-4,2.7056308642078688e-5,2.16981558387545e-8,-8.725583379939474e-4,2.673014546177635e-5,2.1556946339519295e-8,-8.723277672615219e-4,2.6358529275551267e-5,2.1397083391496553e-8,-8.719640776249092e-4,2.6020955368897574e-5,2.1253534423843147e-8,-8.715045501738401e-4,2.5784651947306544e-5,2.1155571953329428e-8,-8.71011034255676e-4,2.5683903518439307e-5,2.1117663450457478e-8,-8.705491307552995e-4,2.5713812934991007e-5,2.113685431521052e-8,-8.701702166525884e-4,2.5837496324388218e-5,2.119617587482424e-8,-8.699014006819977e-4,2.6000426627921144e-5,2.1271201276789622e-8,-8.697436570127698e-4,2.6145631661998167e-5,2.1336868320268546e-8,-8.696759171271625e-4,2.6225891752515828E-05,2.137282593288771e-8,-8.696624900426764e-4,2.621144415050257e-5,2.136666972028361e-8,-8.696616766384265e-4,2.609309797451578e-5,2.1315093592520665e-8,-8.696339802855976e-4,2.58812240139253e-5,2.1223246173929514e-8,-8.695486258957221e-4,2.560145694153938e-5,2.1102720086846007e-8,-8.693875014404906e-4,2.5288439658636282e-5,2.096877998090809e-8,-8.691463110554454e-4,2.4979158898865863e-5,2.083749001199522e-8,-8.688333814216199e-4,2.4707133641329762e-5,2.0723252879501703e-8,-8.684669509396333e-4,2.449818770419122e-5,2.0637035505226535e-8,-8.680718625220174e-4,2.4367943926356345e-5,2.0585317375536392e-8,-8.676763190924599e-4,2.432063005736646e-5,2.0569587886541e-8,-8.673088635246923e-4,2.4348592526606557e-5,2.0586157121313442e-8,-8.669953180759233e-4,2.4432155464044134e-5,2.0626149014017224e-8,-8.667551694766482e-4,2.4539935083866278e-5,2.0675728630559995e-8,-8.665969051568935e-4,2.4630410220170644e-5,2.0716875446414914e-8,-8.665124727648299e-4,2.4656354944466406e-5,2.0729342915038327e-8,-8.664725697134575e-4,2.4573949994687252e-5,2.0694555012387574e-8,-8.664264664054185e-4,2.43569138231536e-5,2.0601608133330403e-8,-8.663110139622543e-4,2.401199304406164e-5,2.0453867175701917e-8,-8.660704693962533e-4,2.3586965902470763e-5,2.0272378725582345e-8,-8.656806366986982e-4,2.316147155005631e-5,2.0091868871878088e-8,-8.651633988921566e-4,2.281978312873848e-5,1.9948869925345905e-8,-8.645805810525198e-4,2.2618527290404762e-5,1.9867633866200034e-8,-8.640097643843145e-4,2.256770525095591e-5,1.9851904328723277e-8,-8.635166675543678e-4,2.2633614094821955e-5,1.9886336038762515e-8,-8.63137948012429e-4,2.2757311910044172e-5,1.9944743482180508e-8,-8.628781813717942e-4,2.2875933655872637e-5,1.9999555353413913e-8,-8.62716501594731e-4,2.2938215554097242e-5,2.0028639520069148e-8,-8.626167844185233e-4,2.291219190087368e-5,2.0018587878018706e-8,-8.625373867297079e-4,2.2786717609544522e-5,1.9965210231098124e-8,-8.624388179572647e-4,2.256927580919071e-5,1.987237287145151e-8,-8.62289189850553e-4,2.2281913356921493e-5,1.975006320331657e-8,-8.620677332013985e-4,2.195621272300181e-5,1.9612130462789248e-8,-8.617664966194991e-4,2.16277997444501e-5,1.9473928068892485e-8,-8.613902656342819e-4,2.1330954467429593e-5,1.935006757875441e-8,-8.609548908336364e-4,2.109389378252815e-5,1.9252475069560743e-8,-8.60484364617139e-4,2.0935189055747062e-5,1.9188905233103563e-8,-8.600071436128826e-4,2.086164348674763e-5,1.91620410767755e-8,-8.595522857630777e-4,2.086763182325774e-5,1.916920143547591e-8,-8.591457649603986e-4,2.0935595960451394e-5,1.9202563113239573e-8,-8.588070106868445e-4,2.103741778004402e-5,1.9249802291736785e-8,-8.585455278490724e-4,2.1136657572340328e-5,1.9295144248855717e-8,-8.583574459539792e-4,2.119206027325631e-5,1.9320951414396224e-8,-8.582223041875423e-4,2.1163256231024873e-5,1.9310193204886934e-8,-8.581015046639913e-4,2.1019633830437e-5,1.9250187621650533e-8,-8.579412331421961e-4,2.0752106826417253e-5,1.913751847356446e-8,-8.576831677947019e-4,2.0384459053393114e-5,1.898276909784322e-8,-8.572838524692297e-4,1.997686961930766e-5,1.8811952221028124e-8,-8.567366035007616e-4,1.9613260947646273e-5,1.8661045623987466e-8,-8.560824766647061e-4,1.9371935268362093e-5,1.8563376708157653e-8,-8.553990379155328e-4,1.9293084341216936e-5,1.8535706064271064e-8,-8.547703530167884e-4,1.936321412352537e-5,1.8571651992880513e-8,-8.542559556665059e-4,1.952555465174852e-5,1.864632532315067e-8,-8.538756727449201e-4,1.970687106733324e-5,1.8727989569739696e-8,-8.536133022643489e-4,1.9843141688829028e-5,1.8789169711081318e-8,-8.534305325201742e-4,1.989357508587466e-5,1.8812667709058706e-8,-8.532814843157356e-4,1.984307509264013e-5,1.879252452479186e-8,-8.531232008002682e-4,1.969807749884717e-5,1.8732068113313398e-8,-8.529215833508998e-4,1.9480194465247334e-5,1.864101205609392e-8,-8.526540395091069e-4,1.9220106769211913e-5,1.8532719999846374e-8,-8.523103008730304e-4,1.8952387630912345e-5,1.8421969114052342e-8,-8.518922166171214e-4,1.8711017815063302e-5,1.83230973754797e-8,-8.514126718644334e-4,1.8525339647629737e-5,1.8248378472723516e-8,-8.508935758492765e-4,1.8416482805648164e-5,1.820658103690855e-8,-8.503628746581636e-4,1.839451037204468e-5,1.8201787199229734e-8,-8.498506739728784e-4,1.8456726342008194e-5,1.823266217066025e-8,-8.493848597949864e-4,1.858755364818312e-5,1.8292382925859e-8,-8.489867877928165e-4,1.8760075533750793e-5,1.8369304773500778e-8,-8.486675197616957e-4,1.8939094885436825e-5,1.8448317961918758e-8,-8.484249414374999e-4,1.908551666785093e-5,1.8512794690847823e-8,-8.482420318448436e-4,1.9161892414962764e-5,1.854700959220887e-8,-8.480866947760388e-4,1.9139120485201888e-5,1.853898427741999e-8,-8.47914089849887e-4,1.9004229019293404e-5,1.8483705191242097e-8,-8.476729841454053e-4,1.8768219337488148e-5,1.8386304668266145e-8,-8.473174336537129e-4,1.847105600233066e-5,1.8264025543393118e-8,-8.46823043761053e-4,1.8178888378359918e-5,1.814493877116609e-8,-8.462024594710862e-4,1.7968779622830955e-5,1.8061442704564362e-8,-8.455100213327113e-4,1.790201857047041e-5,1.8039011781499097e-8,-8.44827387250912e-4,1.7997506299222376e-5,1.8085063263440332e-8,-8.442336473553949e-4,1.82219741246474e-5,1.8184995677384506e-8,-8.437761660142642e-4,1.8504766407932626e-5,1.8308588065556925e-8,-8.434584576481965e-4,1.8767662195956877e-5,1.842267679658266e-8,-8.4324815382798e-4,1.895151458304113e-5,1.8502419193258396e-8,-8.430953104809079e-4,1.9028223922689918e-5,1.853631028756183e-8,-8.429494942284543e-4,1.8998849917980934e-5,1.852528741826402e-8,-8.427701821877676e-4,1.8884905878580218e-5,1.8478909462789928E-08,-8.425307640973115e-4,1.8718917804788393e-5,1.8411232187863652e-8,-8.4221863676526e-4,1.853706175763964e-5,1.8337626368837928e-8,-8.418337179676496e-4,1.837420046907955e-5,1.827269721178165e-8,-8.413866423383756e-4,1.8260484347668602e-5,1.822893007494307e-8,-8.408968704231464e-4,1.8218648925198794e-5,1.821564458019552e-8,-8.403904546985228e-4,1.8261602613572497e-5,1.8238040596675744e-8,-8.398971047784783e-4,1.8390365569227584e-5,1.8296347683661744e-8,-8.394462933471349e-4,1.859286581010708e-5,1.8385307406524103e-8,-8.390625554693548e-4,1.8844349042141637e-5,1.849434016111365e-8,-8.387606740926772e-4,1.9109956838288736e-5,1.86086555425353e-8,-8.38541735765671e-4,1.934955354341349e-5,1.871133966197072e-8,-8.383910411803681e-4,1.9524369896896514e-5,1.8786212347626552e-8,-8.382786396254357e-4,1.9604517498810704e-5,1.882101552190826e-8,-8.381628606157513e-4,1.957613104080785e-5,1.8810378176449664e-8,-8.379968680478822e-4,1.9446885164135782e-5,1.8758024552986323e-8,-8.377380159940519e-4,1.924845999124919e-5,1.8677651607636933e-8,-8.373591718549969e-4,1.9034058927322546e-5,1.8591733411884385e-8,-8.368597531357094e-4,1.886904423475679e-5,1.8527502435010273e-8,-8.362722099438048e-4,1.881422597460021e-5,1.8509963766801086e-8,-8.356585036787218e-4,1.890516421021724e-5,1.8553367099453363e-8,-8.350935969910999e-4,1.913599743885326e-5,1.865465529485676e-8,-8.346403242080155e-4,1.945802313397077e-5,1.8793064946602195e-8,-8.34327545916489e-4,1.979670869488179e-5,1.893732043323308e-8,-8.341432058884843e-4,2.0079064624085877e-5,1.905704488089487e-8,-8.340443957116498e-4,2.0256813697895776e-5,1.9132370964305275e-8,-8.339762461212966e-4,2.0315496394862994e-5,1.915767659009268e-8,-8.338890176634837e-4,2.0269954024688864e-5,1.9139616310843984e-8,-8.337477088005211e-4,2.015310994528189e-5,1.9092327487425826e-8,-8.335344195487556e-4,2.0004740360878148e-5,1.9032641784256222e-8,-8.332464619472108e-4,1.9863456916696745e-5,1.897669433393755e-8,-8.328930721117551e-4,1.9762094713418337e-5,1.8938027533986976e-8,-8.32492297882966e-4,1.9725314418621403e-5,1.8926665101186917e-8,-8.32068415293489e-4,1.97681582273195e-5,1.8948588036477114e-8,-8.316495311428089e-4,1.9894810847537727e-5,1.900526818571205e-8,-8.312647852018803e-4,2.0097427747145573e-5,1.909320121864192e-8,-8.309406311115315e-4,2.0355522535096095e-5,1.9203660731413604e-8,-8.306961138447342e-4,2.0636898921431595e-5,1.9323105247655924e-8,-8.305378232200559e-4,2.0901137965268803e-5,1.9434664802670044e-8,-8.304559556956476e-4,2.1106081507306507e-5,1.9520878928693548e-8,-8.304232734093543e-4,2.121667553013109e-5,1.9567400873830927e-8,-8.303983658234531e-4,2.121422167099143e-5,1.9566836162855173e-8,-8.303333870477527e-4,2.1103220227911646e-5,1.952153119702011e-8,-8.301848490250651e-4,2.0913258553630374e-5,1.9444248405592745e-8,-8.299248979192241e-4,2.069466744819484e-5,1.935621254368111e-8,-8.295501421522738e-4,2.0508232040964325e-5,1.928269583340997e-8,-8.290853574454966e-4,2.0410715377186484e-5,1.9246942812164235e-8,-8.285801055587781e-4,2.0439332177392955e-5,1.9263794111536346e-8,-8.2809766077195e-4,2.059951905236773e-5,1.9334808940806114e-8,-8.276980402284858e-4,2.086083916102179e-5,1.944680759157122e-8,-8.274201421640853e-4,2.1164367562493242e-5,1.957510063623294e-8,-8.272700826664273e-4,2.1440488239337026e-5,1.9690891838981256e-8,-8.272211164209307e-4,2.163042771909038e-5,1.9770119508971764e-8,-8.272248984694739e-4,2.1702369405362463e-5,1.980002378644996e-8,-8.27228099796603e-4,2.1656229173428763e-5,1.9781034701150995e-8,-8.271868289199328e-4,2.151765544352276e-5,1.9724204114230814e-8,-8.270743741962598e-4,2.1326531390819485e-5,1.9646358599563786e-8,-8.26882219952542e-4,2.1125677324855516e-5,1.9565355735798533e-8,-8.266169368517766e-4,2.095292185174144e-5,1.94967870339568e-8,-8.262957480189584e-4,2.0836914464318622e-5,1.9452286083130493e-8,-8.25942474644233e-4,2.0795532754586838e-5,1.9438941053262905e-8,-8.255843718992038e-4,2.083550384946244e-5,1.9459206265133282e-8,-8.252495647333255e-4,2.095228065573517e-5,1.9510899184512012e-8,-8.249644062349847e-4,2.112985311313308e-5,1.958715392852858e-8,-8.247500865889223e-4,2.1340896571258705e-5,1.96765117319045e-8,-8.24618243855376e-4,2.1548299489712724e-5,1.9763583444848516e-8,-8.245661579256653e-4,2.1709369314150928e-5,1.983081139445514e-8,-8.245731982415894e-4,2.1783542272099323e-5,1.9861656355918796e-8,-8.246010337711906e-4,2.174293624505869e-5,1.9844932417100713e-8,-8.24599762693081e-4,2.1582829143363222e-5,1.9779092489063103e-8,-8.245199320168276e-4,2.1327443144663598e-5,1.9674559193285197e-8,-8.243271463267552e-4,2.1027056964939968e-5,1.9552443886955017e-8,-8.240137478913354e-4,2.0745880537874062E-05,1.9439417625111437e-8,-8.236027048837928e-4,2.054443207807126e-5,1.9360323569771445e-8,-8.231420981185931e-4,2.046260583006955e-5,1.9331166390175837e-8,-8.226923062309316e-4,2.050897293837082e-5,1.9354816716611825e-8,-8.223101620532402e-4,2.065914064149752e-5,1.9420558033546697e-8,-8.220346412416486e-4,2.0863033376546166e-5,1.9507310836051278e-8,-8.218778118280972e-4,2.1058697312165184e-5,1.958944171580837e-8,-8.218233231961076e-4,2.1188662210092975e-5,1.964349015093813e-8,-8.218326197553458e-4,2.1214125651217814e-5,1.9653903415513317e-8,-8.21856605729153e-4,2.112285109501725e-5,1.9616154125454246e-8,-8.218486723198633e-4,2.092896166987658e-5,1.9536534435121197e-8,-8.21774900682099e-4,2.0665900016862456e-5,1.9429164058162805e-8,-8.216189955439171e-4,2.0376078120981753e-5,1.9311669317101807e-8,-8.213819939742871e-4,2.010103213726683e-5,1.9201115798957357e-8,-8.210785719648872e-4,1.987447711399243e-5,1.911118281263017e-8,-8.20732153301422e-4,1.9718757169934105e-5,1.905076891931154e-8,-8.203703758138432e-4,1.964388881521585e-5,1.9023668998090353e-8,-8.200215277640998e-4,1.9647991667492965e-5,1.9028805308153496e-8,-8.197118007420141e-4,1.971813517172542e-5,1.906061049159396e-8,-8.194627667111748e-4,1.983118207998987e-5,1.910940136475893e-8,-8.192884188063901e-4,1.99548908795387e-5,1.9161861647232118e-8,-8.191914615513263e-4,2.005020377589606e-5,1.920200887423933e-8,-8.191593400069361e-4,2.0076033762683125e-5,1.92131658914827e-8,-8.191616964490206e-4,1.999753215727303e-5,1.9181325413606254e-8,-8.191520734989105e-4,1.9797250015148836e-5,1.909967483876304e-8,-8.190765586708921e-4,1.948575838000759e-5,1.8972896885336155e-8,-8.188893026085382e-4,1.9105659284594878e-5,1.881876618035338e-8,-8.185698549347501e-4,1.8723588649551148e-5,1.8664805935860888e-8,-8.181336800547649e-4,1.8410527065246534e-5,1.8540121068539456e-8,-8.176292682317155e-4,1.8218322499468568e-5,1.8465698823274743e-8,-8.171225750854558e-4,1.816336880244077e-5,1.844774602721915e-8,-8.166763753560664e-4,1.8224017124166648e-5,1.8476781130729858e-8,-8.163333375780404e-4,1.8350561857245017e-5,1.853193523194076e-8,-8.16107745214289e-4,1.8481632209535812e-5,1.8587831243527868e-8,-8.159860616604793e-4,1.8560533642340127e-5,1.8621333711184525e-8,-8.159338548044192e-4,1.8547406867931718e-5,1.8616474714546974e-8,-8.159059685028022e-4,1.8425544094309115e-5,1.856691337547998e-8,-8.158571772717478e-4,1.8201877478809365e-5,1.8475986230218312e-8,-8.157511568267292e-4,1.790263037304738e-5,1.8354797984609146e-8,-8.155662647845826e-4,1.756578402681822e-5,1.8219061692464088e-8,-8.152974777324008e-4,1.7232463817564305e-5,1.80855624276064e-8,-8.149548380423059e-4,1.6939285910434784e-5,1.79690735294896e-8,-8.14559552341495e-4,1.6713010048744217e-5,1.7880250136234366e-8,-8.141391520903434e-4,1.6567887899189816e-5,1.7824625038532265e-8,-8.13722894907782e-4,1.65052911686815e-5,1.7802510165505718e-8,-8.133380240113629e-4,1.6514764792978118e-5,1.7809448528021547e-8,-8.130068823177181e-4,1.6575692411162992e-5,1.7836899066496914e-8,-8.127444898746023e-4,1.6659173301351172e-5,1.787301036505299e-8,-8.12556110967037e-4,1.6730231029844328e-5,1.79035428156178e-8,-8.1243455505061e-4,1.6751012160459823e-5,1.7913194389418595e-8,-8.123576337801389e-4,1.6686038010803166e-5,1.7887740556088877e-8,-8.122873281432063e-4,1.6510317217035855e-5,1.7817300812807638e-8,-8.12173296759821e-4,1.6219656866485414e-5,1.7700472205744483e-8,-8.119633169768517e-4,1.5839706948872637e-5,1.754794502201198e-8,-8.116204935794114e-4,1.5427302108426434e-5,1.7382995748216617e-8,-8.111412381260521e-4,1.5058049525129414e-5,1.723638629723847e-8,-8.105632272728717e-4,1.4801145884299286e-5,1.713607209252042e-8,-8.099554919138893e-4,1.4692744717581516e-5,1.7096374287795603e-8,-8.093939263332287e-4,1.4722847634811913e-5,1.7112747706322244e-8,-8.089353936498745e-4,1.484233801753127e-5,1.7164799969601408e-8]} \ No newline at end of file diff --git a/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_6.json b/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_6.json new file mode 100644 index 0000000..de22382 --- /dev/null +++ b/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_6.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1.0,"startIndex":6000,"numberOfSamples":1000,"samples":[-8.086030009769924e-4,1.4983810405869992e-5,1.7224897231104907e-8,-8.083859978917138e-4,1.5083891420443416e-5,1.7267300877946733e-8,-8.082495498012613e-4,1.5098334698112563e-5,1.727428602498279e-8,-8.08147627922185e-4,1.5007880436382382e-5,1.72384405012867e-8,-8.080344588306433e-4,1.4817024022017442e-5,1.716203842239244e-8,-8.078727223656254e-4,1.4548770451198794e-5,1.705477562558989e-8,-8.076383715174149e-4,1.4237727414253643e-5,1.6930867623711068e-8,-8.07322519250199e-4,1.3922902257012772e-5,1.6806096847405343e-8,-8.069308512481781e-4,1.3641062334595963e-5,1.6695163186853533e-8,-8.064810674365431e-4,1.3421371907981373e-5,1.6609600165603765e-8,-8.059989962711845e-4,1.3281793410593358e-5,1.65564122262766e-8,-8.055140919096513e-4,1.3227437282497666e-5,1.6537470119423336e-8,-8.050550211507427e-4,1.3250758311506548e-5,1.654960752689265e-8,-8.046459011976815e-4,1.3333167640947059e-5,1.658525704041747e-8,-8.04303377210941e-4,1.3447472960351647e-5,1.6633415280209964e-8,-8.040343930544604e-4,1.3560785131852206e-5,1.6680814883554258e-8,-8.038344371049681e-4,1.3637887698738715e-5,1.6713305884428016e-8,-8.036861808400415e-4,1.3645376246194308e-5,1.6717552173535383e-8,-8.035588881624019e-4,1.355715046434086e-5,1.668324932697258e-8,-8.034098545481887e-4,1.3361633179672876e-5,1.660599824235996e-8,-8.031899161995416e-4,1.3069806636622722e-5,1.6490473396248044e-8,-8.028548171317579e-4,1.2720836118968e-5,1.635260915989386e-8,-8.023817298130074e-4,1.2379672673151174e-5,1.6218567533971117e-8,-8.017848916609258e-4,1.21214866090865e-5,1.6118432225501397e-8,-8.011195394685814e-4,1.2004672862047483e-5,1.6075358566152277e-8,-8.004664161243661e-4,1.2045064498369676e-5,1.6095295025865495e-8,-7.999018683719954e-4,1.2207888551202842e-5,1.6163899894807838e-8,-7.994702224832471e-4,1.242340488168506e-5,1.625294935668257e-8,-7.991732540075557e-4,1.2615665237930678e-5,1.6331930886767175e-8,-7.989782632286061e-4,1.2727385321542004e-5,1.6378010390939176e-8,-7.988353176257354e-4,1.2731278778766297e-5,1.6380533700705246e-8,-7.98693545654588e-4,1.262891363153558e-5,1.6340492793338305e-8,-7.985117563218257e-4,1.2443008649451221e-5,1.6267331548458157e-8,-7.982633092416262e-4,1.2208291416633506e-5,1.617517573988445e-8,-7.97937024226046e-4,1.1963551111059878e-5,1.6079587401967125e-8,-7.975359220318068e-4,1.1745517867734186e-5,1.5995123017000115e-8,-7.970748169146011e-4,1.1584298423249006e-5,1.5933578635139873e-8,-7.96577147084504e-4,1.1500116000004205e-5,1.59027823489698e-8,-7.960712612774264e-4,1.1501312858278244e-5,1.5905873133149612e-8,-7.955863788122124e-4,1.1583659586297626e-5,1.5941057128577827e-8,-7.951485028139105e-4,1.1731083070377464e-5,1.6001886167851592e-8,-7.947767272267163e-4,1.191780985300591e-5,1.607808021319529e-8,-7.944803671342594e-4,1.2111620389700717e-5,1.615680382240154e-8,-7.942570988685387e-4,1.2277833661532118e-5,1.622426162217438e-8,-7.940921495251726e-4,1.2383811890041994e-5,1.6267523534675877e-8,-7.939586304605242e-4,1.2403888228974189e-5,1.627651653757225e-8,-7.938193280601158e-4,1.2324675476991541e-5,1.6246136706354253e-8,-7.936307142675456e-4,1.2150538325271284e-5,1.6178380649204796e-8,-7.933502814410618e-4,1.1908091876990174e-5,1.608405253597014e-8,-7.929477558193591e-4,1.164701184564693e-5,1.5982993948326116e-8,-7.924185834346178e-4,1.1433225812865484e-5,1.5901308272972388e-8,-7.91794201526995e-4,1.1331683271163489e-5,1.5864503448445484e-8,-7.911404620961953e-4,1.1381697803054312e-5,1.5887775959579784e-8,-7.905387505296019e-4,1.1576581858174432e-5,1.5968081661271605e-8,-7.900557579253249e-4,1.1862063556780149e-5,1.6083659449037498e-8,-7.897185238722374e-4,1.2157584885353175e-5,1.6202533533502623e-8,-7.895090488599649e-4,1.238821600505574e-5,1.629512295943271e-8,-7.893784662655317e-4,1.2508703453700893e-5,1.6343711956180873e-8,-7.892687928634058e-4,1.2510154891614356e-5,1.6345059350363414e-8,-7.891303130012338e-4,1.2412762325594466e-5,1.630746636423513e-8,-7.889301607306106e-4,1.22532563576661e-5,1.6245726990312346e-8,-7.886537075923972e-4,1.207350096757021e-5,1.6176528951831164e-8,-7.883021088407754e-4,1.1912612868365128e-5,1.611529698390703e-8,-7.878886554381245e-4,1.1802366938175958e-5,1.6074404646753326e-8,-7.874351827903575e-4,1.1764678405500699e-5,1.606225725212218e-8,-7.869686785579548e-4,1.1810193745663737e-5,1.6082821884922013e-8,-7.865178808041266e-4,1.1937644143326378e-5,1.613543027797478e-8,-7.861097334099989e-4,1.2134002375285157e-5,1.621485643068633e-8,-7.857657050956631e-4,1.2375715139896458e-5,1.631178566628287e-8,-7.854982761710509e-4,1.2631342722271491e-5,1.6413830995212057e-8,-7.853082129742637e-4,1.2865627763957707e-5,1.650712800670973e-8,-7.851832404152557e-4,1.3044611801087987e-5,1.6578365268496393e-8,-7.850984979333072e-4,1.3141234772513003e-5,1.661701655440917e-8,-7.850189859904393e-4,1.314074642924285e-5,1.6617484545055545e-8,-7.849040783473408e-4,1.3045167089176555e-5,1.658083277620777e-8,-7.847140887854131e-4,1.2875989940709468e-5,1.6515781106734278e-8,-7.84418739673568e-4,1.2674020385660439e-5,1.643854403323704e-8,-7.840067264380274e-4,1.2494690124657561e-5,1.637089555624342e-8,-7.834940629310338e-4,1.2397202649814611e-5,1.633586078646625e-8,-7.829269123445694e-4,1.242762480633356e-5,1.6351121218225165e-8,-7.823738580167101e-4,1.2600199243328678e-5,1.6421819173272966e-8,-7.819059640317111e-4,1.2886068491034284e-5,1.6536310251172648e-8,-7.815711190078477e-4,1.3218908359013295e-5,1.6668481029581357e-8,-7.813760467322517e-4,1.3518369457025356e-5,1.678692018769316e-8,-7.812866097556989e-4,1.3719738169680302e-5,1.6866455278038853e-8,-7.81245043675736e-4,1.3793772038801468e-5,1.689586528796916e-8,-7.811924892995569e-4,1.3748855436262393e-5,1.6878708749903426e-8,-7.810853126995724e-4,1.3619700644445478e-5,1.6828864667497608e-8,-7.809012145161698e-4,1.3452099763330615e-5,1.6764485192192976e-8,-7.806376216935296e-4,1.3290653946538645e-5,1.6703112676782687e-8,-7.803066615377375e-4,1.31716120529323e-5,1.6658847878700447e-8,-7.799298430182615e-4,1.311988593603372e-5,1.6641219568441624e-8,-7.795337437080761e-4,1.3148379669826384e-5,1.665500141543589e-8,-7.791466519745774e-4,1.3258192670318894e-5,1.6700371540229692e-8,-7.787956166079658e-4,1.3439123013885566e-5,1.6773161126941902e-8,-7.785034521569552e-4,1.3670540636302536e-5,1.6865211246133127e-8,-7.782855194761558e-4,1.3923070098588027e-5,1.6965022456657025e-8,-7.781465158733033e-4,1.4161671472159447e-5,1.705894395665733e-8,-7.780780274644127e-4,1.4350439747166847e-5,1.713304166764391e-8,-7.780578724819625e-4,1.4458808126371696e-5,1.717552433911576e-8,-7.780520945693767e-4,1.4468165316748068e-5,1.7179332308174036e-8,-7.780199264883032e-4,1.4377381074197417e-5,1.7144283672725583e-8,-7.779212697790456e-4,1.42055818063788e-5,1.707811591367681e-8,-7.777254715128031e-4,1.399092160934568e-5,1.6995928407681764e-8,-7.774196852037493e-4,1.37848241088391e-5,1.691784077706239e-8,-7.770148281025337e-4,1.3641905255902624e-5,1.68649932739021e-8,-7.7654695118254e-4,1.3606723344494496e-5,1.6854386908037733e-8,-7.760719733956719e-4,1.3699981752654324e-5,1.6893614104122298e-8,-7.756528920660803e-4,1.3908611710779359e-5,1.6977171984468366e-8,-7.753414973715193e-4,1.4185135339496087e-5,1.708636928482128e-8,-7.751607783545031e-4,1.4459758828692502e-5,1.7194078255654558e-8,-7.750965022472446e-4,1.4662655192892729e-5,1.7273331572288793e-8,-7.751031768498831e-4,1.4747011345581016e-5,1.730618293517172e-8,-7.751215862559233e-4,1.4701900854900151e-5,1.7288656969080978e-8,-7.750986283316115e-4,1.45502732264208e-5,1.7229950783472687e-8,-7.750005720993924e-4,1.4336090541435382e-5,1.714739884303355e-8,-7.748166257563864e-4,1.4108830030091316e-5,1.7060381671628664e-8,-7.74555246270904e-4,1.3911680743308552e-5,1.6985680755460048e-8,-7.742375216046733e-4,1.3775437312394145e-5,1.6935101840957774e-8,-7.738908672395347e-4,1.3716934985120997e-5,1.691492118059338e-8,-7.735443296708602e-4,1.373987657547806e-5,1.6926288994825302e-8,-7.732253688257358e-4,1.3836379992091725e-5,1.6965903557041073e-8,-7.729574201870145e-4,1.398850143961783e-5,1.702664562074045e-8,-7.727575479089458e-4,1.41697546103367e-5,1.7098179346093112e-8,-7.726338127068317e-4,1.4347167415583573e-5,1.7167741915981117e-8,-7.72582526013079e-4,1.4484672906976143e-5,1.7221441721592798e-8,-7.725862452751478e-4,1.4548420666369706e-5,1.724630156120042e-8,-7.726138958417847e-4,1.4513823225779425e-5,1.723297684502607e-8,-7.726244080267737e-4,1.4372974279860863e-5,1.717861929269323e-8,-7.725743889406402e-4,1.4139927504773041e-5,1.708890500581759e-8,-7.724286327675101e-4,1.3851021527237483e-5,1.6978122122320604e-8,-7.721705055599232e-4,1.3558663671444288e-5,1.6866694872960056e-8,-7.718085762849863e-4,1.3319387181004731e-5,1.6776479385700888e-8,-7.713767987397502e-4,1.3179295367351444e-5,1.6725086614472134e-8,-7.709275714331829e-4,1.3161122848693512e-5,1.6720920077215314e-8,-7.705191844169844e-4,1.3256827859980563e-5,1.6760442718757147e-8,-7.702008063045723e-4,1.3428227793557443e-5,1.6828582942267516e-8,-7.699990644679152e-4,1.361618554202354e-5,1.6902388068197547e-8,-7.699104039245936e-4,1.3756467861176603e-5,1.6957151603506948e-8,-7.699023224946573e-4,1.3797806695198463e-5,1.697331252819716e-8,-7.69923693570122e-4,1.3715970518988264e-5,1.6941802014512077e-8,-7.699204730517889e-4,1.3518607018056203e-5,1.686585566047806e-8,-7.698506029324883e-4,1.3239647040700348e-5,1.675881321149357e-8,-7.696928309426752e-4,1.292679553392078e-5,1.663924458294889e-8,-7.694477547487295e-4,1.2627916951666916e-5,1.6525649634657365e-8,-7.691330174202381e-4,1.2380977939982187e-5,1.6432564147368763e-8,-7.687761526504343e-4,1.2209237379755138e-5,1.6368739832210366e-8,-7.684079653894965e-4,1.2120781661778011e-5,1.633703602331063e-8,-7.680577369530784e-4,1.2110432408898472e-5,1.6335228492463344e-8,-7.677501944254693e-4,1.21623329271923e-5,1.6357054465017322e-8,-7.675035516029946e-4,1.2252353588631538e-5,1.6393155437041988e-8,-7.673278510063229e-4,1.2350244031443248e-5,1.6431898304259127e-8,-7.672231013092557e-4,1.2422047112441263e-5,1.6460286860244704e-8,-7.671772688900853e-4,1.243363156115782e-5,1.6465302548663993e-8,-7.671649640707796e-4,1.2356108383738767e-5,1.6435971563363704e-8,-7.671484101972802e-4,1.2173134658280302e-5,1.6366160768870968e-8,-7.670825263514741e-4,1.188858814480631e-5,1.6257519307403445e-8,-7.669249561884815e-4,1.153125860759139e-5,1.6121270567197454e-8,-7.666492306156377e-4,1.115245465159126e-5,1.5977261511360678e-8,-7.662560978121537e-4,1.0814456656206232e-5,1.5849466079461248e-8,-7.657770512027595e-4,1.05724402594284e-5,1.5758977593618244e-8,-7.65267023298901e-4,1.0456872508954073e-5,1.571723833544501e-8,-7.647885985095952e-4,1.0463873633946137e-5,1.5722417018223885e-8,-7.643941100002343e-4,1.0557097979145212e-5,1.5760262592280024e-8,-7.641121194876584e-4,1.0679365871370066e-5,1.580868049828012e-8,-7.639418824019487e-4,1.0769014504534602e-5,1.5844044262621295e-8,-7.63856040874777e-4,1.0775642632836637e-5,1.5847200884499e-8,-7.638095816807227e-4,1.067134664327151e-5,1.5807708446849496e-8,-7.637520719001363e-4,1.0455341968064698e-5,1.5725533933861105e-8,-7.636398633410946e-4,1.015159717703648e-5,1.5610082730947348e-8,-7.634452271731003e-4,9.80080001717917e-6,1.547706895850993e-8,-7.63160419406769e-4,9.449412193445568e-6,1.5344290126782374e-8,-7.627963935193374e-4,9.13916163473737e-6,1.522760366709052e-8,-7.623775983584871e-4,8.899634906261868e-6,1.5138131787055436e-8,-7.619351862275943e-4,8.745021320744058e-6,1.5081084100568852e-8,-7.615007251523846e-4,8.674467790722235e-6,1.50559612980206E-08,-7.611015754607918e-4,8.674636046522299e-6,1.5057573206547553e-8,-7.607580727699104e-4,8.723012138457471e-6,1.507730793528806e-8,-7.604819845856674e-4,8.79104729455283e-6,1.5104310215033872e-8,-7.602755220059144e-4,8.84693302571431e-6,1.512651308174354e-8,-7.60130395955743e-4,8.858401879917029e-6,1.5131688225382546e-8,-7.600268787531797e-4,8.796280560370882e-6,1.5108794499177295e-8,-7.599335469922736e-4,8.639531259323042e-6,1.5049899963453894e-8,-0.000759809210702789,8.381910431287344e-6,1.495271925500096e-8,-7.596089689111743e-4,8.038852722231386e-6,1.4823230368913413e-8,-7.592954714676379e-4,7.651012523481406e-6,1.4677004696445236e-8,-7.588534536653339e-4,7.279557888325591e-6,1.4537373653592984e-8,-7.583012167940397e-4,6.990438849818558e-6,1.4429384557414762e-8,-7.576907836367265e-4,6.831496399448591e-6,1.4371061617021388e-8,-7.570930731261787e-4,6.813281142864784e-6,1.4366159181078007e-8,-7.56573893838745e-4,6.904553518906711e-6,1.440256548875904e-8,-7.561728030269616e-4,7.044803405478948e-6,1.445716559337654e-8,-7.55894167206311e-4,7.166043359666975e-6,1.450415417168199e-8,-7.55711412564325e-4,7.212993883249746e-6,1.4522671727194704e-8,-7.555791656848098e-4,7.1549930276133835e-6,1.4501273602714309e-8,-7.554470640511585e-4,6.988776194001312e-6,1.443893097512812e-8,-7.552712370159999e-4,6.734529749762169e-6,1.4343479112262025e-8,-7.550218631592772e-4,6.428246653777687e-6,1.422866437274883e-8,-7.546866678361489e-4,6.112788824185316e-6,1.4110719482184918e-8,-7.542707923333388e-4,5.8292867079302145e-6,1.400510243390426e-8,-7.537936783321645e-4,5.610111184424559e-6,1.392387568318107e-8,-7.532839358400108e-4,5.474383321977379e-6,1.3874075234006555e-8,-7.527734587962739e-4,5.42640635004478e-6,1.3857186797906472e-8,-7.522919859404003e-4,5.45669894844625e-6,1.386957766596827e-8,-7.518629339501932e-4,5.544851652733658e-6,1.3903575419281547e-8,-7.515008253699221e-4,5.66324214311497e-6,1.3948838400251825e-8,-7.51210094786353e-4,5.780767390543559e-6,1.3993723032625362e-8,-7.509847483529711e-4,5.866229168685598e-6,1.4026532943938554e-8,-7.508084438557491e-4,5.891537175053618e-6,1.4036723339664531e-8,-7.506548991499108e-4,5.835186884660035e-6,1.4016225902040902e-8,-7.504890649576297e-4,5.6865153995048614e-6,1.3961069522205696e-8,-7.502702069824309e-4,5.450810519333698e-6,1.3873309470797243e-8,-7.499584705215199e-4,5.154093641144201e-6,1.376281194863296e-8,-7.495258303846799e-4,4.844492327076601e-6,1.3647730610076522e-8,-7.489697010459084e-4,4.585680212391129e-6,1.3551982235163058e-8,-7.483229773845283e-4,4.439424944083938e-6,1.3498642646116442e-8,-7.47651384167147e-4,4.441135789993236e-6,1.3500781498633393e-8,-7.47033630108719e-4,4.5810783550153105e-6,1.3554518828823992e-8,-7.465319640685318e-4,4.8048662841334895e-6,1.3639340521473976e-8,-7.461696806020518e-4,5.035072310667735e-6,1.3726250888424918e-8,-7.45927649234082e-4,5.200984456189078e-6,1.3788876550238137e-8,-7.457581262680648e-4,5.260058265685222e-6,1.3811432021938078e-8,-7.456046602651826e-4,5.203880705388684e-6,1.3790914319102578e-8,-7.454181631269655e-4,5.052110434397819e-6,1.373481274651468e-8,-7.451656280700271e-4,4.841472760620587e-6,1.3656958068869079e-8,-7.448325507537849e-4,4.61494382342504e-6,1.357343640410499e-8,-7.444214445461733e-4,4.413322175715639e-6,1.3499417669267064e-8,-7.439484346229335e-4,4.2694368736615086e-6,1.3447009746671435e-8,-7.434389857049532e-4,4.204518303627032e-6,1.3423957631836567e-8,-7.429232000552066e-4,4.22642353337615e-6,1.3433047936838739e-8,-7.424310713391792e-4,4.3296407656193255e-6,1.3472159698785832e-8,-7.419881612882491e-4,4.496920195240808e-6,1.3534885426142835e-8,-7.416121363128246e-4,4.702242436589464e-6,1.3611614172495427e-8,-7.413105280088105e-4,4.9146848337064315e-6,1.369092983616905e-8,-7.410798564648585e-4,5.102579289552534e-6,1.3761123342581654e-8,-7.409059284613239e-4,5.2374620959614515e-6,1.3811649751762265e-8,-7.40765021747722e-4,5.2976581500819286e-6,1.3834473325427858e-8,-7.406258251361314e-4,5.271569720175211e-6,1.3825313013330133e-8,-7.404522940607082e-4,5.16079816624066e-6,1.3784817350730312e-8,-7.402080188256512e-4,4.982998369865964e-6,1.3719616164717567e-8,-7.398629579022926e-4,4.773502162654375e-6,1.3642888630399176e-8,-7.394027814983437e-4,4.583451075155526e-6,1.3573616754794363e-8,-7.388391120671625e-4,4.471358391383276e-6,1.3533406453527241e-8,-7.382156353710173e-4,4.486293417993243e-6,1.3540246689754017e-8,-7.376025584177996e-4,4.646263952038066e-6,1.360057244394542e-8,-7.370753966750942e-4,4.923220958661702e-6,1.3703844593894654e-8,-7.366853493943496e-4,5.247831278658755e-6,1.3824412277992002e-8,-7.364384127765779e-4,5.535851078356583e-6,1.3931243008841947e-8,-7.362964904189415e-4,5.721421847439438e-6,1.400013251189647e-8,-7.361977969831083e-4,5.777834083495166e-6,1.4021317172913075e-8,-7.360817614101209e-4,5.717840477241389e-6,1.3999596259483795e-8,-7.359055977095308e-4,5.580085272187351e-6,1.3949330970951832e-8,-7.356494891230436e-4,5.412741838724204e-6,1.3888375540751401e-8,-7.353140711726487e-4,5.2611317114854454e-6,1.3833462198014537e-8,-7.349148352444343e-4,5.160747629068616e-6,1.3797605620566516e-8,-7.34476381499244e-4,5.134402307300587e-6,1.378907362699951e-8,-7.340275945238301e-4,5.1916865952263e-6,1.3811240956866352e-8,-7.335976379390709e-4,5.3295409738639065e-6,1.386285790594125e-8,-7.332124264851362e-4,5.533583318487555e-6,1.393857552488052e-8,-7.328914883847182e-4,5.780224195792896e-6,1.4029729175094004e-8,-7.326453464977734e-4,6.039657534633526e-6,1.412541622107681e-8,-7.324737353478441e-4,6.279722160979335e-6,1.4213885118568412e-8,-7.323650721376349e-4,6.470322863277057e-6,1.4284138014656952e-8,-7.322974036581984e-4,6.587844288483066e-6,1.4327549734585913e-8,-7.322407659586676e-4,6.619032470350085e-6,1.4339305787613665e-8,-7.321607813179032e-4,6.563928060747684e-6,1.4319492082724502e-8,-7.320233046863541e-4,6.4374966021072834e-6,1.4273690279829042e-8,-7.317999978283977e-4,6.269641412024475e-6,1.4212954276300681e-8,-7.314747508146167e-4,6.103003158628865e-6,1.415295567438129e-8,-7.310503956340962e-4,5.987372946262786e-6,1.4111888222525968e-8,-7.30553886574779e-4,5.969501086118192e-6,1.4106716472582734e-8,-7.300364338939657e-4,6.078516230287104e-6,1.4147877299553037e-8,-7.295642924788504e-4,6.3107236580662384e-6,1.4233817360402606e-8,-7.29198788762624e-4,6.622175486804494e-6,1.4348383535941494e-8,-7.289720333664855e-4,6.9380135239147e-6,1.4464270004578152e-8,-7.288720132220635e-4,7.178968146684719e-6,1.4552629285696456e-8,-7.288478475491566e-4,7.292033122646066e-6,1.4594189017363577e-8,-7.288324425920637e-4,7.267653302542506e-6,1.4585519239748402e-8,-7.287681356467766e-4,7.1358561174840265e-6,1.4537665753835853e-8,-7.286220514824529e-4,6.9483598487620115e-6,1.4469630977301123e-8,-7.28388085845522e-4,6.7592678922152605e-6,1.4401275496516345e-8,-7.280804913481166e-4,6.612273121504457e-6,1.4348581630811597e-8,-7.277252407959589e-4,6.5354231757555416e-6,1.4321716844225746e-8,-7.273527660572583e-4,6.540950211029966e-6,1.4324997142073501e-8,-7.269930114233965e-4,6.6273182842564705e-6,1.4357691570767854e-8,-7.26672240266485e-4,6.781718300136292e-6,1.4414990002890305e-8,-7.264107154812758e-4,6.982473886382033e-6,1.4488915944389668e-8,-7.262207318281119e-4,7.201524453767113e-6,1.4569238469116222e-8,-7.261048945983162e-4,7.407366857871365e-6,1.464452799757507e-8,-7.260549073749619e-4,7.568797659062485e-6,1.4703494431167381e-8,-7.26051465526772e-4,7.659436861891897e-6,1.4736614332348274e-8,-7.260658689683676e-4,7.662469338693832e-6,1.4737849783051846e-8,-7.260636091525101e-4,7.574690894230019e-6,1.4706123818166879e-8,-7.260097162467727e-4,7.408843381596091e-6,1.4646170303919831e-8,-7.258751869359084e-4,7.193327753172565e-6,1.4568414770672015e-8,-7.256434329193616e-4,6.968816351578809e-6,1.4487705994885722e-8,-7.253155606930208e-4,6.781829885047062e-6,1.4420936000282275e-8,-7.249132562182546e-4,6.6756763505280914e-6,1.4383719471977372e-8,-7.244778292372096e-4,6.679612946037396e-6,1.438647617104953e-8,-7.240638597492315e-4,6.798235959896041e-6,1.443065370266917e-8,-7.237266826504071e-4,7.004766318589259e-6,1.4506391489857573e-8,-7.235054613225411e-4,7.243025516191428e-6,1.4593301323513466e-8,-7.2340765660686e-4,7.441405783647142e-6,1.4665511557876749e-8,-7.234034010785615e-4,7.53631382926181e-6,1.4700082991218885e-8,-7.234351925205399e-4,7.495034347391305e-6,1.468523799630331e-8,-7.234393429224217e-4,7.325932982914151e-6,1.462407472647779e-8,-7.233679091640017e-4,7.071240070168453e-6,1.4531993918580552e-8,-7.2320061796834e-4,6.7884821942071435e-6,1.4429962503804012e-8,-7.229442000740695e-4,6.531515408382787e-6,1.4337580335722595e-8,-7.226237824510028e-4,6.338676971745417e-6,1.4268730878278133e-8,-7.222726609371696e-4,6.229186086844068e-6,1.4230270463511608e-8,-7.219243370456767e-4,6.204979076589403e-6,1.4222735101428858e-8,-7.216077209136364e-4,6.254637305234233e-6,1.424182454315981e-8,-7.213447052154808e-4,6.357313551246988e-6,1.427987548429127e-8,-7.211489353260135e-4,6.485977719230195e-6,1.432706196354135e-8,-7.210249390732579e-4,6.610178726644471e-6,1.4372391800318248e-8,-7.209673047686168e-4,6.69888928465445e-6,1.440471413451235e-8,-7.209601280974389e-4,6.7240278150433335e-6,1.4413965009805703e-8,-7.20977427897608e-4,6.664882671759e-6,1.4392744472576701e-8,-7.209854343714221e-4,6.51295128433434e-6,1.4338056762127022e-8,-7.209473640933031e-4,6.27595967171071e-6,1.4252764848687728e-8,-7.20830498270342e-4,5.979351536502665e-6,1.4146129546232638e-8,-7.206142541252474e-4,5.663667819126294e-6,1.4032848951131945e-8,-7.202969652261338e-4,5.377288241995543e-6,1.3930404038766788e-8,-7.198989165010806e-4,5.1656853148451214e-6,1.3855144520274798e-8,-7.194600346572165e-4,5.059761967389392e-6,1.381807600558674e-8,-7.190320840484526e-4,5.066413372274996e-6,1.3821501796020195e-8,-7.186667008859963e-4,5.164217116728777e-6,1.3857550892980985e-8,-7.184018625214499e-4,5.306290101127747e-6,1.3909277458429183e-8,-7.182503872805278e-4,5.430848543585556e-6,1.3954476928807232e-8,-7.181945402363831e-4,5.477745639924967e-6,1.3971593615188382e-8,-7.181899363308149e-4,5.406401461740874e-6,1.3946114620028615e-8,-7.181787956068019e-4,5.208432912413644e-6,1.3875092760960466e-8,-7.181080232052682e-4,4.909307597908525e-6,1.3767756999698908e-8,-7.179446434546303e-4,4.558250395919083e-6,1.3641890350548404e-8,-7.176825410055812e-4,4.2115104900122955e-6,1.3517783575060329e-8,-7.173394303115774e-4,3.9166207270580965e-6,1.3412530864261023e-8,-7.169476918402883e-4,3.7030604472824477e-6,1.3336657086835069e-8,-7.165441754546074e-4,3.5802790936875876e-6,1.3293434686648582e-8,-7.161624370313028e-4,3.540740334466443e-6,1.3280030267105057e-8,-7.158283342384227e-4,3.5648889198243974e-6,1.3289336702046267e-8,-7.155582446948228e-4,3.6259309695520506e-6,1.3311712356351884e-8,-7.153587035969551e-4,3.6936410852722728e-6,1.3336343509346127e-8,-7.152264834437153e-4,3.7373251672731826e-6,1.3352284086218272e-8,-7.151486443905965e-4,3.7285507918335262e-6,1.3349406474614047e-8,-7.151027106872547e-4,3.6443643170977546e-6,1.3319531867733131e-8,-7.150577088567976e-4,3.471371309569102e-6,1.3257885044742072e-8,-7.149771233861474e-4,3.2102934517910352e-6,1.3164734543938834e-8,-7.148246566289133e-4,2.879607352494538e-6,1.304671174381637e-8,-7.145727155168279e-4,2.5159715205526265e-6,1.2916970172838227e-8,-7.14211741474117e-4,2.1691340011926946e-6,1.2793345447593278e-8,-7.13756704294834e-4,1.8907340958244058e-6,1.2694309938959155e-8,-7.13246867286023e-4,1.7195895090076379e-6,1.263368292154631e-8,-7.127372110269032e-4,1.6687917986243744e-6,1.2616035558109819e-8,-7.122837106314069e-4,1.7200599947476228e-6,1.2634736954970411e-8,-7.11927625851379e-4,1.8279231828251246e-6,1.2673513419775649e-8,-7.116842639270483e-4,1.9322272870562014e-6,1.2710931582090524e-8,-7.115395372739504e-4,1.9745795969288553e-6,1.2726232447310445e-8,-7.114547557725002e-4,1.9136654302389338e-6,1.270474472926178e-8,-7.113777961538001e-4,1.735292690655213e-6,1.2641441637291946e-8,-7.112572859060644e-4,1.4546876493828617e-6,1.2541763992937194e-8,-7.110556761496227e-4,1.1107338000528394e-6,1.2419577806846834e-8,-7.107574398631749e-4,7.542984399074633e-7,1.2293006190122626e-8,-7.103703854584871e-4,4.3467766591549663e-7,1.2179579666103922e-8,-7.099206413352514e-4,1.8848792044254664e-7,1.209227121863942e-8,-7.094440058956009e-4,3.38112439872334e-8,1.2037433652280913e-8,-7.089770272256449e-4,-3.005946575574514e-8,1.2014751159396523e-8,-7.085502677011695e-4,-1.8942666134325098e-8,1.2018584823579895e-8,-7.081845728037587e-4,4.1504324056836106e-8,1.2039859175127503e-8,-7.078898530136206e-4,1.2085396250360532e-7,1.2067846450829226e-8,-7.07665357590904e-4,1.8796389173417595e-7,1.2091574008084617e-8,-7.075005062641622e-4,2.1404627281451953e-7,1.2100880394544461e-8,-7.073757642706145e-4,1.7527949313218791e-7,1.2087321949694448e-8,-7.072636271028598e-4,5.563556618695607e-8,1.2045175593473184e-8,-7.07130371455471e-4,-1.496666377152965e-7,1.1972682276401499e-8,-7.069396260706627e-4,-4.3038263800395507e-7,1.1873415802529695e-8,-7.06658736467273e-4,-7.585342773530107e-7,1.1757266370952408e-8,-7.062679103912365e-4,-1.0893111587869973e-6,1.164011958067034e-8,-7.057699493448573e-4,-1.3683565279279107e-6,1.1541242460665835e-8,-7.051958014848092e-4,-1.546143275736306e-6,1.1478149826314971e-8,-7.046006461074884e-4,-1.5955509000684547e-6,1.1460378253613378e-8,-7.040489785775769e-4,-1.5244730508863847e-6,1.1485082661954835e-8,-7.035938487042454e-4,-1.3758182686775965e-6,1.1537113738876136e-8,-7.032597812034259e-4,-1.2137575651664247e-6,1.1593901613711014e-8,-7.030369079407669e-4,-1.1027795845962554e-6,1.1632801609042198e-8,-7.028872532957906e-4,-1.0889580682558247e-6,1.1637630789638363e-8,-7.027584678100196e-4,-1.1897271998792792e-6,1.1602238033439061e-8,-7.025988796732991e-4,-1.3932883666335377e-6,1.1530725736851102e-8,-7.02369467900341e-4,-1.6652872066721532e-6,1.1435125811886794e-8,-7.020507465969052e-4,-1.959328698109832e-6,1.1331711320640786e-8,-7.016442939978633e-4,-2.2282184952551496e-6,1.1237034626369414e-8,-7.011697035243303e-4,-2.4335618600813347e-6,1.1164544945400339e-8,-7.006583801112918e-4,-2.5521150452073807e-6,1.1122365961218336e-8,-7.001460060304543e-4,-2.5781375982917395e-6,1.1112496075816941e-8,-6.996655112290227e-4,-2.5220161431554106e-6,1.1131319063948755e-8,-6.992418776281199e-4,-2.4062965783673872e-6,1.1171004748331547e-8,-6.988893060139256e-4,-2.260591788360715e-6,1.1221277939326513e-8,-6.986105278643894e-4,-2.1166353920163535e-6,1.1271116834225942e-8,-6.983975667488254e-4,-2.0042272969958953e-6,1.1310137596645092e-8,-6.982331775114807e-4,-1.948167868728002e-6,1.1329646935505253e-8,-6.980924984224593e-4,-1.9658036073505293e-6,1.1323502940205919e-8,-6.979449169280985e-4,-2.064692866216944e-6,1.128895545665963e-8,-6.977566158534427e-4,-2.240091878769088e-6,1.1227562045779688e-8,-6.974946560896657e-4,-2.4725062008836e-6,1.1146078731656455e-8,-6.971334322778307e-4,-2.7265579611108132e-6,1.1056870056968845e-8,-6.966634001809645e-4,-2.9535495920723803e-6,1.0976992639682918e-8,-6.960998225694706e-4,-3.1003923112501523e-6,1.0925024976391107e-8,-6.954864809875409e-4,-3.125514095301827e-6,1.0915470365326537e-8,-6.94888405730523e-4,-3.0171655312078273e-6,1.0952385872816837e-8,-6.943721615170897e-4,-2.8040956720319907e-6,1.1025740558355747e-8,-6.939812476892919e-4,-2.5493950355256136e-6,1.111363121856989e-8,-6.937199582600355e-4,-2.328052856844355e-6,1.119007794880418e-8,-6.935545525919977e-4,-2.199995786806156e-6,1.123431816683279e-8,-6.93429179173718e-4,-2.1924546956316556e-6,1.1236874298485071e-8,-6.932862200777068e-4,-2.2974342328778687e-6,1.1200440938200634e-8,-6.930818299262455e-4,-2.4806963116481874e-6,1.1136809772812793e-8,-6.927932877982263e-4,-2.69515791678022e-6,1.1062250907052743e-8,-6.924193527516066e-4,-2.8932872464684024e-6,1.0993214408490107e-8,-6.919763333906085e-4,-3.036081365862266e-6,1.0943205101581768e-8,-6.91492215226939e-4,-3.098326934476717e-6,1.0920952638432522e-8,-6.910002904512773e-4,-3.070683044984637e-6,1.0929697707612377e-8,-6.905331356871504e-4,-2.959140124946023e-6,1.0967394783237994e-8,-6.90117596465121e-4,-2.7823877442401985e-6,1.1027633804261848e-8,-6.897712626577218e-4,-2.567793687719598e-6,1.1101026790081565e-8,-6.895006358475275e-4,-2.3467550008997916e-6,1.1176795508382824e-8,-6.89300944615274e-4,-2.150115599113473e-6,1.1244329229978124e-8,-6.891573100006782e-4,-2.00424231133623e-6,1.1294520632905088e-8,-6.890467540316551e-4,-1.9280356409594636e-6,1.1320793607430406e-8,-6.889406381638624e-4,-1.930734024848246e-6,1.1319874885504703e-8,-6.888074504279619e-4,-2.0102414136189414e-6,1.1292397488351405e-8,-6.886161724085662e-4,-2.1518695593095066e-6,1.1243363432643985e-8,-6.883407101463712e-4,-2.327739840236361e-6,1.1182368829498123e-8,-6.879658514959947e-4,-2.497813089077346e-6,1.1123245267791766e-8,-6.874944007746656e-4,-2.6143891697839814e-6,1.108247815801189e-8,-6.869533275424424e-4,-2.6320148015926607e-6,1.1075749525894508e-8,-6.863944546199724e-4,-2.522826202578732e-6,1.1112635168862051e-8,-6.858844538666012e-4,-2.2926275030821306e-6,1.1191109583836215e-8,-6.854832279089802e-4,-1.9877298379677976e-6,1.1295269233710088e-8,-6.852191743942243e-4,-1.6834486218362717e-6,1.1399318636952878e-8,-6.850762207670568e-4,-1.4561494259965552e-6,1.1477115718733162e-8,-6.850017506227822e-4,-1.353885669014518e-6,1.1512169978020316e-8,-6.849299395502611e-4,-1.382232489232581e-6,1.1502489363880025e-8,-6.848057305429362e-4,-1.5099055715152289e-6,1.1458706325152704e-8,-6.845983153559325e-4,-1.6859188037799119e-6,1.1398245647313847e-8,-6.843027428170722e-4,-1.8571846721204412e-6,1.1339299333489303e-8,-6.839342878524915e-4,-1.9804742909492373e-6,1.1296704524613013e-8,-6.83520537940993e-4,-2.0280142608472192e-6,1.1280001238857747e-8,-6.830941226507634e-4,-1.9884992920636643e-6,1.1293074773063915e-8,-6.826870433621648e-4,-1.8656132505174621e-6,1.13346680053564e-8,-6.823264387413217e-4,-1.6753696630438363e-6,1.1399305110651174e-8,-6.82031487121087e-4,-1.4427423697938251e-6,1.1478456664893744e-8,-6.818114056550049e-4,-1.1978017957364357e-6,1.1561864398442774e-8,-6.816645845240956e-4,-9.716026242010502e-7,1.1638940368353777e-8,-6.81578901101889e-4,-7.920793248862827e-7,1.1700156773758746e-8,-6.815332503350359e-4,-6.803319074311323e-7,1.173830361103633e-8,-6.815001275355418e-4,-6.477490111422285e-7,1.1749467706559448e-8,-6.814489184104265e-4,-6.941843501332436e-7,1.1733661035226025e-8,-6.813496403718091e-4,-8.071935459534741e-7,1.1695093476635976e-8,-6.81177053403738e-4,-9.623862476189849e-7,1.164206416834527e-8,-6.809151476327394e-4,-1.1251098518570805e-6,1.158639073471916e-8,-6.80561933977751e-4,-1.254012468855875e-6,1.154218474453644e-8,-6.801338767888566e-4,-1.307464024167702e-6,1.1523643336190613e-8,-6.79668066854345e-4,-1.2535982747354408e-6,1.1541612761355467e-8,-6.792188902309273e-4,-1.0830088825351644e-6,1.1599275967291585e-8,-6.78845970446115e-4,-8.196398734036575e-7,1.1688487599342648e-8,-6.785938804680131e-4,-5.21865523976247e-7,1.1789443842818592e-8,-6.784716853381285e-4,-2.670917135713526e-7,1.1875898145539714e-8,-6.784454801674145e-4,-1.229862560247459e-7,1.1924869708763637e-8,-6.78451422731065e-4,-1.2039502744957288e-7,1.1925808501975738e-8,-6.784224136183189e-4,-2.4413852327126643e-7,1.188376744728601e-8,-6.783122474568518e-4,-4.450160638167141e-7,1.1815400961230667e-8,-6.781056774875232e-4,-6.622121589485789e-7,1.1741382274874111e-8,-6.778146379208505e-4,-8.426921141446391e-7,1.1679787181502826e-8,-6.774678679897052e-4,-9.513665380458594e-7,1.1642596348323024e-8,-6.771004646386013e-4,-9.730261227384026e-7,1.163500954750871e-8,-6.767463032638174e-4,-9.096388229470013e-7,1.165635793010542e-8,-6.764335621130428e-4,-7.761178639860844e-7,1.170155308564171e-8,-6.761823408651586e-4,-5.962181208590508e-7,1.1762500661860506e-8,-6.76003339470729e-4,-3.9886548663780184e-7,1.1829366116277767e-8,-6.758971746004418e-4,-2.1465214616865e-7,1.189177429067364e-8,-6.75854349008327e-4,-7.229850977163453e-8,1.1940006997847552e-8,-6.758560464209218e-4,4.947983413017979e-9,1.1966210837941946e-8,-6.75876029123182e-4,2.7488136745964224e-9,1.196554475242547e-8,-6.758837935815457e-4,-8.161918553295126e-8,1.1937085753012027e-8,-6.758487615666738e-4,-2.3790708629766936e-7,1.1884286585775744e-8,-6.757450114730958e-4,-4.432901815565406e-7,1.1814847546413683e-8,-6.75555981832124e-4,-6.647221873892998e-7,1.1739927591423942e-8,-6.752785440219556e-4,-8.632714013106472e-7,1.1672680443195546e-8,-6.749257989924772e-4,-1.0003070529774613e-6,1.1626159710092367e-8,-6.745277736728225e-4,-1.04533785405786e-6,1.1610666373841045e-8,-6.74128768082691e-4,-9.849061499935828e-7,1.1630749295767326e-8,-6.737798662443241e-4,-8.306924641557072e-7,1.1682486866486084e-8,-6.735259935027122e-4,-6.231378273326227e-7,1.1752281613645974e-8,-6.733897881249691e-4,-4.257941722485988e-7,1.1818755484053001e-8,-6.733589931298577e-4,-3.0779861157673254e-7,1.185861347121806e-8,-6.733862647382449e-4,-3.189045445843042e-7,1.1855019353474524e-8,-6.734052719418553e-4,-4.6933352922082787e-7,1.1804407956455615e-8,-6.73356095178138e-4,-7.26669545411652e-7,1.1717608951207223e-8,-6.732058920007578e-4,-1.03135768079192e-6,1.1614681309859787e-8,-6.729549688437168e-4,-1.3203085634674708e-6,1.1516948301661333e-8,-6.726292231984343e-4,-1.5456410863813466e-6,1.1440629950089799e-8,-6.722669138054278e-4,-1.6825813512472906e-6,1.1394139323916218e-8,-6.719069745690607e-4,-1.728292691642922e-6,1.1378462534167964e-8,-6.715817867987357e-4,-1.6963310651301452e-6,1.1389032635968985e-8,-6.713140269531039e-4,-1.6104898771342205e-6,1.1417818254359392e-8,-6.711159576172181e-4,-1.4997911391117643e-6,1.1455027849828653e-8,-6.7098967808978e-4,-1.3947627025395655e-6,1.1490377166722129e-8,-6.709276170943395e-4,-1.3244157649111584e-6,1.1514110299334853e-8,-6.709132260466664e-4,-1.3133527174552276e-6,1.1517964713543777e-8,-6.709221924822578e-4,-1.3787160274900425e-6,1.1496180968261428e-8,-6.709246793383498e-4,-1.5271024239717297e-6,1.144652479963841e-8,-6.708890101922466e-4,-1.7521057789037506e-6,1.1371108056069637e-8,-6.707867329827515e-4,-2.03349427394575e-6,1.1276673671676083e-8,-6.705983390374779e-4,-2.3389296906621046e-6,1.1174033427878806e-8,-6.703183942720542e-4,-2.6286525837106187e-6,1.1076507144233978e-8,-6.699586275639561e-4,-2.862764821608109e-6,1.0997482902064068e-8,-6.695477636789244e-4,-3.009877260332382e-6,1.0947514998244096e-8,-6.691275106414471e-4,-3.0553669347500317e-6,1.093155672567259e-8,-6.687448110835039e-4,-3.0073333148598256e-6,1.0946969098039167e-8,-6.684411914721439e-4,-2.8982694801256994e-6,1.09829603567278e-8,-6.682410506419115e-4,-2.7805932569171573e-6,1.1022061743662119e-8,-6.681420923177971e-4,-2.7151112480580224e-6,1.1043947687668447e-8,-6.681122430425281e-4,-2.7538322953627776e-6,1.103115103055556e-8,-6.680967532338296e-4,-2.922229780866871e-6,1.0975005824736362e-8,-6.680351768836946e-4,-3.208938989025025e-6,1.0879155445024393e-8,-6.678818198079746e-4,-3.569206800689314e-6,1.07584697087957e-8,-6.676199799142348e-4,-3.941264216912157e-6,1.0633592515886972e-8,-6.672637124200508e-4,-4.26723863883779e-6,1.0523919613312888e-8,-6.668484745365341e-4,-4.508722102625259e-6,1.0442353880863865e-8,-6.664173881818245e-4,-4.652194081672177e-6,1.0393476953270497e-8,-6.660096559372878e-4,-4.705856726945458e-6,1.0374609216835914e-8,-6.6565400917304e-4,-4.692450116383464e-6,1.0378215067070535e-8,-6.65366691378365e-4,-4.641992506869934e-6,1.0394325668100645e-8,-6.651520724436302e-4,-4.586289293999795e-6,1.0412367136578511e-8,-6.650041770194664e-4,-4.555288303349263e-6,1.0422370733593156e-8,-6.649082145975189e-4,-4.574557922642622e-6,1.0415807035090087e-8,-6.648419516531094e-4,-4.663098319825658e-6,1.0386306849815094e-8,-6.647772977923628e-4,-4.830967209773467e-6,1.0330446811403125e-8,-6.64682793482468e-4,-5.0767082913095886e-6,1.0248610310513204e-8,-6.645276535009935e-4,-5.385272368662441e-6,1.014569716509483e-8,-6.642874935506787e-4,-5.727739295789978e-6,1.0031241672519338e-8,-6.639508926581502e-4,-6.064303841982294e-6,9.918438764338643e-9,-6.635248175263377e-4,-6.351327713612035e-6,9.821803180388749e-9,-6.630363208422775e-4,-6.551644593751551e-6,9.753736842483382e-9,-6.625286011154107e-4,-6.6453412099685115e-6,9.720943269391243e-9,-6.620515220562129e-4,-6.637210765563028e-6,9.721958663164957e-9,-6.616490030515382e-4,-6.557815458928014e-6,9.746799934408593e-9,-6.613470434299081e-4,-6.457206611119339e-6,9.779019488102298e-9,-6.611460182660693e-4,-6.3927400851426745e-6,9.799687434697574e-9,-6.610196289517972e-4,-6.414181155194645e-6,9.79227361540468e-9,-6.609211623926225e-4,-6.550090663171576e-6,9.747151909141079e-9,-6.607958578615187e-4,-6.799453044112043e-6,9.664428684028409e-9,-6.605961968829965e-4,-7.131600161094896e-6,9.554052462247139e-9,-6.602952658559864e-4,-7.495192731900008e-6,9.432897717263338e-9,-6.59893337291204e-4,-7.833471097170003e-6,9.319721647992294e-9,-6.594154199307799e-4,-8.10003951822256e-6,9.229912967892944e-9,-6.589015974741606e-4,-8.26940720505979e-6,9.171982193286219e-9,-6.583948475325114e-4,-8.339570999084169e-6,9.146702941363071e-9,-6.579310057521284e-4,-8.32782653290947e-6,9.1484953460235e-9,-6.575332522116057e-4,-8.26326332931551e-6,9.167892353553748e-9,-6.572109057110091e-4,-8.179301464685762e-6,9.193979644439203e-9,-6.569608894446945e-4,-8.108097437895046e-6,9.21621770862212e-9,-6.56770170806039e-4,-8.077049399664383e-6,9.225578151807406e-9,-6.566181353193237e-4,-8.106736580969876e-6,9.2152178288862e-9,-6.56478602741209e-4,-8.209430423295186e-6,9.18097422655523e-9,-6.563217982510564e-4,-8.387533414582957e-6,9.121895607077113e-9,-6.561169927829369e-4,-8.631800308226666e-6,9.04085550962115e-9,-6.558365936151278e-4,-8.91992576094595e-6,8.945052981019506e-9,-6.55462020900297e-4,-9.216878126763627e-6,8.845932484547084e-9,-6.549905970801155e-4,-9.47883318251498e-6,8.757896962005024e-9,-6.544410174747893e-4,-9.66200422791736e-6,8.695387849400742e-9,-6.538536905887626e-4,-9.73541782277881e-6,8.668667779698704e-9,-6.532830284212719e-4,-9.693338183562016e-6,8.679746644976681e-9,-6.527824423394355e-4,-9.561069012846983e-6,8.72050444633388e-9,-6.523874598641779e-4,-9.389804754378765e-6,8.77438033627454e-9,-6.521043283306284e-4,-9.24162630277522e-6,8.821227300503736e-9,-6.519088365606864e-4,-9.170835057503315e-6,8.843328210896267e-9,-6.517549256998489e-4,-9.20896440435165e-6,8.83024338053133e-9,-6.515887679402991e-4,-9.35797527614904e-6,8.781065819974303e-9,-6.513631828401716e-4,-9.592194273994584e-6,8.703882366870197e-9,-6.510485784423071e-4,-9.866901365965093e-6,8.613066195460134e-9,-6.506383852720353e-4,-1.0130449155765347e-5,8.525370284901691e-9,-6.501484713535216e-4,-1.0336665778532513e-5,8.455876704000505e-9,-6.496113485493177e-4,-1.0454609877589606e-5,8.414782975243667e-9,-6.490671674646127e-4,-1.0473577830441985e-5,8.405737418544261e-9,-6.485542315122563e-4,-1.0402716045749107e-5,8.42594207718587e-9,-6.48101570190052e-4,-1.0266290315339773e-5,8.467673384414735e-9,-6.477249772667448e-4,-1.0096801161149698e-5,8.520499798179897e-9,-6.474264817325805e-4,-9.928189624151298e-6,8.573469231980985e-9,-6.471962142913522e-4,-9.790591753984345e-6,8.616798727509629e-9,-6.470153398393853e-4,-9.707072173579713e-6,8.642931881769316e-9,-6.4685902944632e-4,-9.691946903899617e-6,8.647090904414083e-9,-6.466990567131604e-4,-9.749935634588221e-6,8.627569008879582e-9,-6.465061945891082e-4,-9.875497327061216e-6,8.585973740369635e-9,-6.462529770962636e-4,-1.005213254042066e-5,8.527489357020453e-9,-6.459175297868126e-4,-1.0252057697941712e-5,8.46101921967877e-9,-6.454888874271263e-4,-1.0437434177263124e-5,8.398808897746156e-9,-6.449732096697071e-4,-1.0564966265109888e-5,8.354946495019238e-9,-6.4439852831923e-4,-1.0595381812212404e-5,8.34225639995346e-9,-6.438138844513587e-4,-1.0507072144502154e-5,8.367854756241516e-9,-6.432790367365826e-4,-1.0308974899831868e-5,8.428993979308454e-9,-6.428454586197086e-4,-1.0044472629606271e-5,8.511840347096126e-9,-6.425364546618369e-4,-9.780404242463435e-6,8.595019151624936e-9,-6.423374992473061e-4,-9.584105091257316e-6,8.656940621566346e-9,-6.422025862017104e-4,-9.499924509528801e-6,8.683268961814048e-9,-6.420723318815535e-4,-9.536788226021915e-6,8.6709032555823e-9,-6.418937058551346e-4,-9.670339340684684e-6,8.62736165406817e-9,-6.416333150807353e-4,-9.854985606826542e-6,8.567021549391805e-9,-6.412819489618678e-4,-1.0038675384978085e-5,8.506456394204669e-9,-6.40852233208935e-4,-1.0175358821881159e-5,8.460459308358457e-9,-6.403723843214741e-4,-1.0233119886925515e-5,8.439407583253215e-9,-6.398785177155639e-4,-1.0197922583846564e-5,8.44800812947473e-9,-6.394070755339369e-4,-1.0073651943128085e-5,8.485229457435074e-9,-6.389883923031362e-4,-9.879211991447938e-6,8.545190825663756e-9,-6.386421940044092e-4,-9.643564938301254e-6,8.61872891621823e-9,-6.383754932638375e-4,-9.399866438278023e-6,8.695270282083074e-9,-6.381828126059341e-4,-9.179868626602678e-6,8.764629424150486e-9,-6.380482197594612e-4,-9.009455497870036e-6,8.818449463555083e-9,-6.379484020972791e-4,-8.905757191846968e-6,8.851137444227476e-9,-6.378559844764216e-4,-8.875794396678722e-6,8.860308373744816e-9,-6.37742611576723e-4,-8.916182840260416e-6,8.846890961194638e-9,-6.375817826161573e-4,-9.013389503892508e-6,8.815063136955268e-9,-6.373517365413405e-4,-9.144324590548281e-6,8.772088767448038e-9,-6.37038822435467e-4,-9.277480646007872e-6,8.727983133697308e-9,-6.366416476230471e-4,-9.375433709051482e-6,8.69473010267958e-9,-6.361755073060954e-4,-9.400076070259292e-6,8.68460137525384e-9,-6.356751215483993e-4,-9.321725715954837e-6,8.70721463674457e-9,-6.351921226563311e-4,-9.131431137281154e-6,8.765577089452952e-9,-6.34783668220924e-4,-8.851983055038034e-6,8.852573074499977e-9,-6.34492590110691e-4,-8.53933103808297e-6,8.950528563696693e-9,-6.343273922649219e-4,-8.26772377613986e-6,9.035920785086607e-9,-6.342551582389573e-4,-8.102013804904856e-6,9.088118007656425e-9,-6.342142013915741e-4,-8.071933386762328e-6,9.097504097485443e-9,-6.341394360266019e-4,-8.163387841999844e-6,9.06827899549311e-9,-6.339853162802021e-4,-8.329403778276332e-6,9.01508325066568e-9,-6.337359214736137e-4,-8.510810762680521e-6,8.956528860220945e-9,-6.334023030696212e-4,-8.65473815155575e-6,8.909374863487501e-9,-6.330132471509208e-4,-8.725202991217194e-6,8.885158614041552e-9,-6.326051717095914e-4,-8.706169178413972e-6,8.889176992237429e-9,-6.32214019748295e-4,-8.599843727994052e-6,8.920959050065301e-9,-6.318697327111989e-4,-8.422780448879686e-6,8.975440229886825e-9,-6.315928418750007e-4,-8.20125617049522e-6,9.044392176943476e-9,-6.313926873838825e-4,-7.966459175451952e-6,9.117945199759327e-9,-6.31267082506243e-4,-7.749777386235528e-6,9.186104282521891e-9,-6.312033160743475e-4,-7.5785372180136775e-6,9.240130028371382e-9,-6.311803126735913e-4,-7.472534294452365e-6,9.273661681811642e-9,-6.311716770969148e-4,-7.441681249593242e-6,9.283469414099118e-9,-6.311491861629334e-4,-7.484987837433047e-6,9.269772409499044e-9,-6.310862639818491e-4,-7.590780571477355e-6,9.236162458649285e-9,-6.309612058273856e-4,-7.737892241529536e-6,9.189230845951367e-9,-6.307601275839634e-4,-7.897660405035442e-6,9.137956611667645e-9,-6.304796987183105e-4,-8.036756534142556e-6,9.09284140190737e-9,-6.301296693209371e-4,-8.121168651637492e-6,9.064674114885852e-9,-6.297347052073675e-4,-8.122014010732786e-6,9.062695008476826e-9,-6.293340333682221e-4,-8.02357893613418e-6,9.092032490280441e-9,-6.289764922907992e-4,-7.832498886235678e-6,9.150771158405365e-9,-6.287088356458074e-4,-7.584313389584958e-6,9.227855564074418e-9,-6.285582300395714e-4,-7.340955663643736e-6,9.303857526237659e-9,-6.285162181702288e-4,-7.173981894358338e-6,9.35622506385365e-9,-6.28535844534191e-4,-7.137050918742098e-6,9.367918818323381e-9,-6.285482266619833e-4,-7.242236086511384e-6,9.334891322630107e-9,-6.284908233474023e-4,-7.4556587282647425e-6,9.267547066221383e-9,-6.28330425274692e-4,-7.714648020679488e-6,9.185435045716488e-9,-6.28069302206002e-4,-7.95377724697567e-6,9.109102634548203e-9,-6.277362671666278e-4,-8.124785819023314e-6,9.053825972438715e-9,-6.273721375619873e-4,-8.204270724462586e-6,9.02715680817319e-9,-6.27017398081553e-4,-8.191793049541557e-6,9.029461806338658e-9,-6.267047725449272e-4,-8.103665827061228e-6,9.055810702686439e-9,-6.26456043916988e-4,-7.966249400547607e-6,9.098033223137005e-9,-6.26281416479543e-4,-7.810389877515416e-6,9.146451274581206e-9,-6.261800463441795e-4,-7.667092566462788e-6,9.191260130576387e-9,-6.261411718711373e-4,-7.564004290537873e-6,9.223675064183579e-9,-6.261457836463466e-4,-7.522438367703082e-6,9.23690378724907e-9,-6.261689058554466e-4,-7.554911651594159e-6,9.226935824039986e-9,-6.26182575765119e-4,-7.663394769762143e-6,9.193084339014298e-9,-6.261594321595429e-4,-7.83867655737204e-6,9.138166390547462e-9,-6.26076519398364e-4,-8.061135092227624e-6,9.068247870454783e-9,-6.259188201018052e-4,-8.302926480673475e-6,8.991964522431026e-9,-6.256821123187454e-4,-8.531474630101965e-6,8.919455933728389e-9,-6.253747887567023e-4,-8.714062415411706e-6,8.860964423618094e-9,-6.250183114255093e-4,-8.823240323023451e-6,8.825167866103795e-9,-6.246458882436894e-4,-8.842823215536685e-6,8.817300503612222e-9,-6.242985755887415e-4,-8.774026346559433e-6,8.837199099376945e-9,-6.240177934968095e-4,-8.640273119230142e-6,8.87774343727035e-9,-6.238340168367981e-4,-8.487734929015043e-6,8.924628410892147e-9,-6.237537835039231e-4,-8.37786762163323e-6,8.958649435262117e-9,-6.237508622334895e-4,-8.370050553809897e-6,8.961109428361436e-9,-6.237694285501078e-4,-8.498608243715725e-6,8.921029687418638e-9,-6.237425116459058e-4,-8.75592709653261e-6,8.840509552635665e-9,-6.236182223750581e-4,-9.0935440897417e-6,8.734482255018053e-9,-6.233789176946422e-4,-9.44210315649724e-6,8.62453087546554e-9,-6.230431618178639e-4,-9.738006393072087e-6,8.530559779025655e-9,-6.226528415322329e-4,-9.942072412796151e-6,8.464944949980187e-9,-6.222558156538971e-4,-1.0044216892862036e-5,8.431044644216811e-9,-6.218928123420268e-4,-1.0057759649626142e-5,8.424931676993069e-9,-6.215911924046659e-4,-1.0010051523072495e-5,8.438260126232764e-9,-6.213639804945358e-4,-9.934048776771606e-6,8.460847692598394e-9,-6.212115296909202e-4,-9.862436775050359e-6,8.482499035264433e-9,-6.211238864357817e-4,-9.823973462843352e-6,8.494171700339035e-9,-6.210830596535341e-4,-9.841115150435778e-6,8.488757155704299e-9,-6.210651942122257e-4,-9.928215073960674e-6,8.461672312188594e-9,-6.210429443543682e-4,-1.0090001829574346e-5,8.411340895070526e-9,-6.209883936927952e-4,-1.032045635967511e-5,8.339532086435201e-9,-6.208766895726924e-4,-1.0602611237518307e-5,8.251410557946112e-9,-6.206901011511374e-4,-1.0909904384581257e-5,8.155117882712867e-9,-6.204217801816662e-4,-1.1209428967393452e-5,8.060785794006027e-9,-6.200783346355796e-4,-1.1467000570356854e-5,7.978999665257574e-9,-6.196803527606607e-4,-1.1653487857353938e-5,7.918867885019981e-9,-6.192602675084233e-4,-1.1751341629004252e-5,7.886009589301413e-9,-6.18857430993645e-4,-1.1760013081941588e-5,7.880853644284182e-9,-6.185107199373036e-4,-1.1698990162283051e-5,7.897639687734814e-9,-6.182494033759342e-4,-1.1607106693188978e-5,7.924550386176266e-9,-6.180837782626559e-4,-1.1536704553317361e-5,7.945441153139379e-9,-6.17998354061986e-4,-1.1541930108901036e-5,7.943422534415343e-9,-6.179514865732182e-4,-1.1662608663681637e-5,7.905878369024749e-9,-6.178847530264709e-4,-1.1908666705688085e-5,7.829382187794986e-9,-6.177413716940561e-4,-1.225291771545529e-5,7.722050838337925e-9,-6.174866683392963e-4,-1.2638281908291842e-5,7.601388082277714e-9,-6.171202061499132e-4,-1.2997807711744528e-5,7.488094639614473e-9,-6.166733164451345e-4,-1.3277552122048224e-5,7.398956214429256e-9,-6.161948260617495e-4,-1.3451111439177265e-5,7.342324255674225e-9,-6.157338992816079e-4,-1.3521276834735159e-5,7.317585667968248e-9,-6.153277910312762e-4,-1.351221220619276e-5,7.3175400954822244e-9,-6.149969832299286e-4,-1.345864223227892e-5,7.331678474457581e-9,-6.147459001310118e-4,-1.3396792379450818e-5,7.3489284361196675e-9,-6.14566195981989e-4,-1.335865891362545e-5,7.3594093806847335e-9,-6.144404163975216e-4,-1.3369061432935648e-5,7.3553652588823905e-9,-6.143451013492217e-4,-1.3444276092296466e-5,7.331624223806665e-9,-6.142533201726146e-4,-1.3591271145411236e-5,7.285864502738724e-9,-6.141370824533147e-4,-1.3807054893883965e-5,7.2188286363125555e-9,-6.139701752177742e-4,-1.4078197634895255e-5,7.134475176715785e-9,-6.137317622253945e-4,-1.4381127354302388e-5,7.03989660873347e-9,-6.13410548401449e-4,-1.4684067691371548e-5,6.944744457685035e-9,-6.130086364730966e-4,-1.4951295234998012e-5,6.8599511266353936e-9,-6.125436581487522e-4,-1.5149749237378634e-5,6.795727421966501e-9,-6.120476639627279e-4,-1.5256983677622905e-5,6.759136642679807e-9,-6.115619176413706e-4,-1.5268340231572266e-5,6.751886205597447e-9,-6.111281095430912e-4,-1.520077746265615e-5,6.769114447606619e-9,-6.107779587857513e-4,-1.5091461683002552e-5,6.799746818271109e-9,-6.10524015294988e-4,-1.4990666324170982e-5,6.828571027830531e-9,-6.103544553284269e-4,-1.4950126437351983e-5,6.839718154874809e-9,-6.10233932630094e-4,-1.5009403395997819e-5,6.820816675408024e-9,-6.101112797303565e-4,-1.5183860384006196e-5,6.7667449207401965e-9,-6.099330136988942e-4,-1.5458296216177136e-5,6.6817180549403645e-9,-6.096591780398321e-4,-1.5789545255279567e-5,6.578625916310926e-9,-6.092759401267423e-4,-1.611861496564348e-5,6.475384794437283e-9,-6.087995316766636e-4,-1.638857118742033e-5,6.389456320634693e-9,-6.082696917744599e-4,-1.656102986792536e-5,6.332762451172584e-9,-6.07735931357823e-4,-1.6624724248411486e-5,6.309028251969762e-9,-6.07243028636269e-4,-1.659408062376702e-5,6.314176973263146e-9,-6.068212130456064e-4,-1.6500688633924005e-5,6.3388763395423195e-9,-6.064828882107512e-4,-1.6382732655089433e-5,6.3716957047222936e-9,-6.062244250029457e-4,-1.6276375396916556e-5,6.401688363734559e-9,-6.060303124501623e-4,-1.6210566121514825e-5,6.41997117246288e-9,-6.058775295989655e-4,-1.6204774019256874e-5,6.420448907864246e-9,-6.057391575612956e-4,-1.6268443228459086e-5,6.400024095330046e-9,-6.055871563899351e-4,-1.640110876257458e-5,6.358597590462493e-9,-6.053947651586242e-4,-1.6592563064539658e-5,6.299040120511544e-9,-6.051391799853258e-4,-1.6823062293831563e-5,6.2271479239230684e-9,-6.04804958969757e-4,-1.7064185629920318e-5,6.15140407656365e-9,-6.043880305658054e-4,-1.7281339145854306e-5,6.082244629251485e-9,-6.038993664978827e-4,-1.743882255386278e-5,6.03054138334135e-9,-6.033664982363028e-4,-1.7507647128342022e-5,6.005236775662678e-9,-6.028306776843586e-4,-1.747471621344875e-5,6.0105545030052955e-9,-6.02338498179153e-4,-1.7350074414647643e-5,6.043785475000533e-9,-6.019293636463869e-4,-1.7168208077473955e-5,6.094852354472843e-9,-6.016229799273229e-4,-1.6981102965108023e-5,6.148328418570691e-9,-6.014120043088848e-4,-1.6844415703121967e-5,6.1875079574704055e-9,-6.012631542790681e-4,-1.6801491798937394e-5,6.199152357907398e-9,-6.011264926259588e-4,-1.687094638850435e-5,6.177250027198649e-9,-6.009494858060641e-4,-1.7041783355707502e-5,6.124605564008008e-9,-6.006912495843881e-4,-1.7277030403387907e-5,6.051910031149934e-9,-6.003329547922971e-4,-1.7524265175610315e-5,5.974701125327572e-9,-5.998817609412311e-4,-1.7729749635034893e-5,5.909152133979997e-9,-5.993674834698096e-4,-1.7852060415235455e-5,5.8679359897686786e-9,-5.98833377167506e-4,-1.7871308208750187e-5,5.857377281089162e-9,-5.983242961249349e-4,-1.77916038049349e-5,5.876628602108236e-9,-5.978761089750183e-4,-1.763692721889734e-5,5.9188348328191164e-9,-5.97509246371083e-4,-1.744281060909608e-5,5.973566370425565e-9,-5.972272340443155e-4,-1.724717783696112e-5,6.029530158965291e-9,-5.970191412732754e-4,-1.708303930127975e-5,6.076760853223087e-9,-5.968639601907031e-4,-1.6974182393121108e-5,6.107949062772968e-9,-5.967351618909186e-4,-1.6933562355692315e-5,6.1189757620988596e-9,-5.966044914543551e-4,-1.6963408114122988e-5,6.108924653343465e-9,-5.964448552706594e-4,-1.7056054741231575e-5,6.079858424794432e-9,-5.962326779452772e-4,-1.719488339402509e-5,6.036551327657856e-9,-5.959503269411983e-4,-1.7355296242159556e-5,5.9862122504836265e-9,-5.955890709894159e-4,-1.7506243438176608e-5,5.9380510048463094e-9,-5.951525234145372e-4,-1.7613258416163484e-5,5.902393637339857e-9,-5.946596553230791e-4,-1.764400034962936e-5,5.889033529766786e-9,-5.941454005656148e-4,-1.757658081028564e-5,5.9047300999132285e-9,-5.936562505153676e-4,-1.740909145309199e-5,5.9503386560754e-9,-5.932393300043767e-4,-1.7166185049999746e-5,6.018820818675055e-9,-5.929270253618056e-4,-1.6897363809678338e-5,6.095715953083003e-9,-5.927235829331455e-4,-1.6664334583585255e-5,6.162832492505709e-9,-5.926012168281408e-4,-1.6521086061127168e-5,6.204080876826821e-9,-5.925088318791681e-4,-1.6495650783895652e-5,6.2108462578212325e-9,-5.923893296595289e-4,-1.6581983910685432e-5,6.18445634623603e-9,-5.921973240230338e-4,-1.6744373968298434e-5,6.135018198325406e-9,-5.919105305805832e-4,-1.6930486544110382e-5,6.077709827522491e-9,-5.915325837551485e-4,-1.708674963487434e-5,6.028320742756395e-9,-5.910887401414671e-4,-1.7171114333858196e-5,5.999481940305171e-9,-5.906173977802621e-4,-1.7160751663905477e-5,5.998318193545036e-9,-5.901602907269286e-4,-1.7054266849847147e-5,6.025679671747184e-9,-5.897536026274595e-4,-1.6869186278252847e-5,6.076768658723353e-9,-5.894215706944987e-4,-1.6636088071657184e-5,6.142787676934763e-9,-5.891734417193177e-4,-1.639112845867565e-5,6.21311247089221e-9,-5.890037891503861e-4,-1.616881901687457e-5,6.277444531418832e-9,-5.888953870874903e-4,-1.599649526801642e-5,6.32750261058349e-9,-5.888234156540204e-4,-1.5891120266408232e-5,6.358035497480615e-9,-5.887598278097893e-4,-1.585830828911002e-5,6.36716114540014e-9,-5.886770911880141e-4,-1.5892951435849457e-5,6.356201350362242e-9,-5.88551067772663e-4,-1.598065881617845e-5,6.329251478975357e-9,-5.883632730491481e-4,-1.609944079656462e-5,6.292675486505938e-9,-5.881029486085081e-4,-1.622153632414498e-5,6.254574948934901e-9,-5.877692932525501e-4,-1.6315735016464423e-5,6.224131558643309e-9,-5.873738337045345e-4,-1.6350916709415508e-5,6.2105932820424296e-9,-5.869421485315761e-4,-1.630165097021894e-5,6.221632150191717e-9,-5.865131121598357e-4,-1.6156063475258574e-5,6.261002414793579e-9,-5.861331744440621e-4,-1.592434760802166e-5,6.325989749491587e-9,-5.858441940187316e-4,-1.5643598634390996e-5,6.405942312898085e-9,-5.856671951075539e-4,-1.5373106219251778e-5,6.483607719282582e-9,-5.855897763285556e-4,-1.517729276675414e-5,6.540086767802591e-9,-5.855664407766135e-4,-1.5101743305100796e-5,6.561819413722951e-9,-5.855345304499817e-4,-1.5154956209859986e-5,6.545946710766161e-9,-5.854378007236991e-4,-1.5306366023333386e-5,6.500984799091855e-9,-5.852448952227367e-4,-1.550045098503084e-5,6.442830961710452e-9,-5.849551516575722e-4,-1.567734639813534e-5,6.388848412759949e-9,-5.845930082893017e-4,-1.5789777542943528e-5,6.352965558410412e-9,-5.841969678310368e-4,-1.5811729052473348e-5,6.343113417189745e-9,-5.838084552194186e-4,-1.5739511632880423e-5,6.360814546463471e-9,-5.834633032295308e-4,-1.5588003820527e-5,6.402145833924053e-9,-5.831864760835484e-4,-1.538472081382847e-5,6.4593502606737386e-9,-5.829896181558738e-4,-1.5163375096637597e-5,6.5226561160815544e-9,-5.828708999533577e-4,-1.4957769589611858e-5,6.582074977801076e-9,-5.828167555766546e-4,-1.479662672105976e-5,6.628984531476504e-9,-5.828049993600993e-4,-1.46998740108272e-5,6.657304486326205e-9,-5.828086784632086e-4,-1.4676619073704028e-5,6.664156600488167e-9,-5.828000486403008e-4,-1.472477456925716e-5,6.649997471487258e-9,-5.827541399829672e-4,-1.4832100153552331e-5,6.618295601842242e-9,-5.826515746817173e-4,-1.4978198357449995e-5,6.574915976578972e-9,-5.824806499688132e-4,-1.5136975222470618e-5,6.5273858129103555e-9,-0.00058223891266244855,-1.5279382997478107e-5,6.484113573877451e-9,-5.819343932522649e-4,-1.537659130322262e-5,6.453510098108357e-9,-5.815864337643335e-4,-1.540395190071223e-5,6.442875322162274e-9,-5.812255138914551e-4,-1.5346207013270155e-5,6.456887019322757e-9,-5.808906783087563e-4,-1.5203879326331496e-5,6.495696015125998e-9,-5.806227398257667e-4,-1.4999252917115385e-5,6.553106536171523e-9,-5.804523980144355e-4,-1.4778150938693695E-05,6.6159779015583296e-9,-5.803857787226134e-4,-1.460244790593015e-5,6.666344613112382e-9,-5.803949019080188e-4,-1.453107430828226e-5,6.68691651811743e-9,-5.804222577193308e-4,-1.4595598468279076e-5,6.6681996557004115e-9,-5.804015691477434e-4,-1.4784365571006996e-5,6.613182223466211e-9,-5.802844416075218e-4,-1.504659664064087e-5,6.536251455252701e-9,-5.800572407115345e-4,-1.5314205201811868e-5,6.456956105272316e-9,-5.79740462121484e-4,-1.5527257460748158e-5,6.392682319350163e-9,-5.793754455308698e-4,-1.564997575685766e-5,6.354031421288331e-9,-5.79008526869674e-4,-1.5673984575231004E-05,6.3438332685434564e-9,-5.786793595545836e-4,-1.561305703577987e-5,6.358555023821292e-9,-5.78414926698478e-4,-1.5494822966848187e-5,6.390561211013941e-9,-5.782279782895778e-4,-1.535291284406682e-5,6.430282529202295e-9,-5.781179986625985e-4,-1.5220866757312826e-5,6.467953037038186e-9,-5.780733038593612e-4,-1.5127728821522725e-5,6.494942808591026e-9,-5.780737214613339e-4,-1.5094878202343984e-5,6.5047765753731806e-9,-5.780937304323509e-4,-1.5133945325895573e-5,6.493829724860568e-9,-5.781059012122124e-4,-1.5245845768728994e-5,6.461654192249107e-9,-5.780844231366714e-4,-1.5420967008494582E-05,6.410916404303534e-9,-5.780084375089962e-4,-1.5640566187065733e-5,6.346952753693187e-9,-5.778647777628711e-4,-1.5879285361295647e-5,6.277008199105833e-9,-5.776498175490725e-4,-1.6108436934896513e-5,6.209288793870668e-9,-5.773703656839252e-4,-1.6299721111280603e-5,6.151931069035016e-9,-5.770436111533959e-4,-1.6429208290678547e-5,6.111913238799296e-9,-5.766960225533119e-4,-1.6481506020845262e-5,6.093889659946264e-9,-5.763608734161528e-4,-1.6454038016908552e-5,6.098936037071565e-9,-5.760736744361726e-4,-1.6361021724264736e-5,6.123317511020036e-9,-5.758647102549619e-4,-1.6235696451862072e-5,6.157725998483951e-9,-5.757488547335339e-4,-1.612803540234014e-5,6.1878352067051535e-9,-5.757153315080947e-4,-1.609480237938911e-5,6.197125012537102e-9,-5.757234435926061e-4,-1.6181340271018654e-5,6.17217305833007e-9,-5.757111211388329e-4,-1.6400971995423106e-5,6.108703432860775e-9,-5.756170143529824e-4,-1.6724228696811727e-5,6.014819069588441e-9,-5.754058752564376e-4,-1.7087730422599016e-5,5.908527015219574e-9,-5.750819117894468e-4,-1.7419566737748216e-5,5.810457691770534e-9,-5.746829127406637e-4,-1.7665934924859706e-5,5.736209930949652e-9,-5.742617293776332e-4,-1.7804887133825812e-5,5.692403621165638e-9,-5.738676244788915e-4,-1.7844643668928444e-5,5.677123312045796e-9,-5.735352118200017e-4,-1.781324586487339e-5,5.682774688163753e-9,-5.732813705044003e-4,-1.774712544477777e-5,5.699224028512855e-9,-5.731070706253558e-4,-1.7682465513048927e-5,5.716183635261324e-9,-5.730010810481334e-4,-1.7650014543434743e-5,5.7246996299768535e-9,-5.729437243720952e-4,-1.7672436560521165e-5,5.717992329661441e-9,-5.729101327422091e-4,-1.77629912703616e-5,5.691943387538161e-9,-5.728732254490138e-4,-1.7924881686606425e-5,5.645364913125561e-9,-5.728066872098459e-4,-1.8151183111504288e-5,5.580046983978404e-9,-5.726880446715707e-4,-1.8425518479711568e-5,5.500544376149344e-9,-5.725017360320156e-4,-1.8723776519021976e-5,5.4136497171616706e-9,-5.722417478110209e-4,-1.901709758465021e-5,5.327525281669176e-9,-5.719132058612187e-4,-1.9275973453983113e-5,5.250556794951275e-9,-5.715324599224961e-4,-1.9474966424702655e-5,5.190061549896955e-9,-5.711254487065863e-4,-1.9597425970417595e-5,5.150993130292952e-9,-5.707243215314012e-4,-1.963951786184574e-5,5.134796911166756e-9,-5.703624645452386e-4,-1.961289496480425e-5,5.138582384870229e-9,-5.700681701023597e-4,-1.9545349551733103e-5,5.154808129149603e-9,-5.698573617980196e-4,-1.947850234148492e-5,5.171796776237571e-9,-5.697265168248463e-4,-1.946126166119291e-5,5.175504776714801e-9,-5.696483046445741e-4,-1.9538307489946467e-5,5.152814866181088e-9,-5.695737447050487e-4,-1.9735023712205888e-5,5.095954657144991e-9,-5.694440581573207e-4,-2.0044122435153433e-5,5.006492424902162e-9,-5.692107976121244e-4,-2.0422259733411498e-5,4.896447185420986e-9,-5.688556702159739e-4,-2.080239735784011e-5,4.784807248298537e-9,-5.683984430252771e-4,-2.1118146298752406e-5,4.69055903235853e-9,-5.678877874524411e-4,-2.1327200844530532e-5,4.6259837892894646e-9,-5.673813072802742e-4,-2.1421699487486857e-5,4.593705379214873e-9,-5.669266461901139e-4,-2.1423333992840117e-5,4.588040913127525e-9,-5.665515251973581e-4,-2.1370168449335505e-5,4.598631280140418e-9,-5.66262954244887e-4,-2.1303510202976556e-5,4.614029495947506e-9,-5.660516519242294e-4,-2.1259150169743164e-5,4.624106881604416e-9,-5.658977760906469e-4,-2.1263246516499423e-5,4.621241923637268e-9,-5.657758344743934e-4,-2.1331262909287216e-5,4.600715978969188e-9,-5.656582879656547e-4,-2.146824690958318e-5,4.560744399958647e-9,-5.655182799852074e-4,-2.166944979816653e-5,4.502372881234427e-9,-5.653320939464026e-4,-2.19210611198664e-5,4.429288721729575e-9,-5.650817267772786e-4,-2.2201302733604196e-5,4.347494108741701e-9,-5.647576281566446e-4,-2.248238891148829e-5,4.2647329227178e-9,-5.64361175875774e-4,-2.273385814627313e-5,4.1895539317782425e-9,-5.639060211063388e-4,-2.2927360460003696e-5,4.129994037758887e-9,-5.634173669126164e-4,-2.3042324624474837e-5,4.092025805841426e-9,-5.629285951340259e-4,-2.3071330028784256e-5,4.078067292741761e-9,-5.624753358397186e-4,-2.3023652525244365e-5,4.085953126634584e-9,-5.620879235594856e-4,-2.2925599059856908e-5,4.1087412604200885e-9,-5.617838311213657e-4,-2.2816948292584702e-5,4.13556726191145e-9,-5.615618506350042e-4,-2.274366245931516e-5,4.1535543827756625e-9,-5.613996862607292e-4,-2.2747751693369897e-5,4.150602400752755e-9,-5.61256426475516e-4,-2.2855979724977274e-5,4.1186293748158945e-9,-5.61080812039059e-4,-2.307016575944345e-5,4.056477812301431e-9,-5.608247544560862e-4,-2.3362823347901296e-5,3.971353014138016e-9,-5.6045888275338e-4,-2.3681771753724775e-5,3.877666551810311e-9,-5.599840255643514e-4,-2.3964648029816697e-5,3.7929726560466655e-9,-5.594323224548366e-4,-2.4158896301923775e-5,3.732284697554104e-9,-5.588562140180068e-4,-2.4238382403495358e-5,3.7033386543166194e-9,-5.583104935056323e-4,-2.4208922097151482e-5,3.7049913841555217e-9,-5.578362118896362e-4,-2.4101634993633252e-5,3.729013562684922e-9,-5.574526700823866e-4,-2.395959922159319e-5,3.763717738012945e-9,-5.571580150477938e-4,-2.3824918225424018e-5,3.7974724057465164e-9,-5.56934945270612e-4,-2.3730431642789787e-5,3.820986693463586e-9,-5.567575402096818e-4,-2.369650431855389e-5,3.828264474037562e-9,-5.565968561839238e-4,-2.3731175634325677e-5,3.81667238499676e-9,-5.564247258473144e-4,-2.383170766272784e-5,3.786608603817477e-9,-5.562162343773809e-4,-2.3986308687498875e-5,3.741076017959136e-9,-5.559516320965893e-4,-2.41756410521933e-5,3.6852669334650524e-9,-5.556182989939095e-4,-2.4374329729557413e-5,3.626126257835752e-9,-5.552129829469255e-4,-2.455308708972398e-5,3.5717509128408136e-9,-5.547439478003086e-4,-2.4682169708976556e-5,3.5304410056635687e-9,-5.542320441001034e-4,-2.4736519034990855e-5,3.509299202176376e-9,-5.537093394875636e-4,-2.470209240070845e-5,3.5124945121858324e-9,-5.532141884717492e-4,-2.4581739735308707e-5,3.539625413001244e-9,-5.527827987017785e-4,-2.4398065123244182e-5,3.584874043486559e-9,-5.524392207026548e-4,-2.419093064879187e-5,3.6375935558350362E-09,-5.521871673866484e-4,-2.400904254983496e-5,3.6845003460724823e-9,-5.52006996859421e-4,-2.3897600320895216e-5,3.7129769442225496e-9,-5.518594417411545e-4,-2.3885806156130697e-5,3.714505319352247e-9,-5.516952472542898e-4,-2.3978206075858976e-5,3.6871706513466653e-9,-5.514680023266997e-4,-2.415252676916681e-5,3.636467576060659e-9,-5.511466570996784e-4,-2.436472997812125e-5,3.5741160763841065e-9,-5.507243054631822e-4,-2.456016575596165e-5,3.5151030037156743e-9,-5.502204943898792e-4,-2.4688078368491355e-5,3.4736716022299434e-9,-5.49675845316952e-4,-2.4715297420699776e-5,3.4594450841273604e-9,-5.491403496431156e-4,-2.4634524609268043e-5,3.475010754579904e-9,-5.486594079579832e-4,-2.4464309834586896e-5,3.5158016687115214e-9,-5.482626949453814e-4,-2.424130364105868e-5,3.572121989232335e-9,-5.479593003710058e-4,-2.400859263852101e-5,3.6322781071167195e-9,-5.477393924139225e-4,-2.380483572567349e-5,3.685543859039702e-9,-5.475800136344878e-4,-2.365734300350956e-5,3.7241138416981567e-9,-5.47451900115605e-4,-2.3579686113701558e-5,3.743864278401933e-9,-5.473251545092862e-4,-2.3572576485177517e-5,3.744220422532077e-9,-5.471730460260657e-4,-2.3626248739021626e-5,3.727569108803425e-9,-5.469742478632765e-4,-2.3723043848052887e-5,3.6985616396725427e-9,-5.467142469598954e-4,-2.3839630731377964e-5,3.6634824609621807e-9,-5.463866264206015e-4,-2.3948973655604125e-5,3.6296880385067596e-9,-5.4599456793534e-4,-2.4022629138410048e-5,3.604980769764583e-9,-5.455523444943196e-4,-2.4034135649642785e-5,3.5967054365603564e-9,-5.450858818683846e-4,-2.396401744104895e-5,3.6104037986387385e-9,-5.446308564687652e-4,-2.380610222496027e-5,3.648086038965713e-9,-5.442267710418497e-4,-2.3573376044700058e-5,3.7065940327411654e-9,-5.43906780201333e-4,-2.3300037015731352e-5,3.776970362392915e-9,-5.436858585814063e-4,-2.303631065445945e-5,3.8457757017923984e-9,-5.43552613478327e-4,-2.28353475000358e-5,3.898554409891338e-9,-5.434699258623914e-4,-2.2736277504907688e-5,3.924381501274142e-9,-5.433855832143338e-4,-2.275078970747129e-5,3.919540539705527e-9,-5.43248646299094e-4,-2.285936214945721e-5,3.888688548443496e-9,-5.430245801652687e-4,-2.3018194797770242e-5,3.8431759853901846e-9,-5.427037893107168e-4,-2.3172944399802506e-5,3.7974973736510936e-9,-5.423020260258028e-4,-2.3273629234107787e-5,3.765329016282113e-9,-5.418542195221602e-4,-2.328631805513169e-5,3.756319626683319e-9,-5.414045400541133e-4,-2.3199382210688513e-5,3.774257587440266e-9,-5.409955890221134e-4,-2.302384304625818e-5,3.8167930066406206e-9,-5.406592269132189e-4,-2.2788582348018324e-5,3.876564618794517e-9,-5.404109156371855e-4,-2.253214165155441e-5,3.943315026925249e-9,-5.402484736817223e-4,-2.2293496058127136e-5,4.00637464546443e-9,-5.401548723226671e-4,-2.210423231623976e-5,4.056855142789439e-9]} \ No newline at end of file diff --git a/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_7.json b/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_7.json new file mode 100644 index 0000000..00cb5c9 --- /dev/null +++ b/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_7.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1.0,"startIndex":7000,"numberOfSamples":1000,"samples":[-5.401035826582183e-4,-2.1983771746004456e-5,4.089071108861903e-9,-5.400645679375473e-4,-2.1937995914044596e-5,4.1010390739496695e-9,-5.400093979365809e-4,-2.1960549237341188e-5,4.094200825458988e-9,-5.399147607226752e-4,-2.203560775605646e-5,4.072680770337793e-9,-5.397644338651072e-4,-2.2140989396072942e-5,4.0424039620270295e-9,-5.395502643031555e-4,-2.2250959079911428e-5,4.010291455194114e-9,-5.392727708698771e-4,-2.233868896010399e-5,3.983582390762636e-9,-5.389417235021638e-4,-2.2378792834005243e-5,3.969178139964558e-9,-5.385766058145648e-4,-2.235055698671764e-5,3.972815745495291e-9,-5.382062428829531e-4,-2.2242365349685453e-5,3.9978965146973945e-9,-5.378662132655593e-4,-2.205712418011711e-5,4.043993326717811e-9,-5.375924932704364e-4,-2.181705877637256e-5,4.105479870305896e-9,-5.374109340395555e-4,-2.1564488189815053e-5,4.171221914461289e-9,-5.373252109046606e-4,-2.13546121672999e-5,4.226432351021938e-9,-5.373095626709229e-4,-2.123923851906108e-5,4.256999417283581e-9,-5.373130817418842e-4,-2.1246850964482913e-5,4.25485673473855e-9,-5.372765380678705e-4,-2.136960735856047e-5,4.221561718856039e-9,-5.371540300970259e-4,-2.156549994879516e-5,4.167859343731849e-9,-5.36928145915775e-4,-2.177449463181616e-5,4.109507993256763e-9,-5.36612298142394e-4,-2.193926959851254e-5,4.061836554881471e-9,-5.362421974391817e-4,-2.202084762893932e-5,4.035594559950374e-9,-5.358628658080441e-4,-2.200502185841941e-5,4.035163172736923e-9,-5.355167351147426e-4,-2.1900830823744038e-5,4.058798324504693e-9,-5.35235449411885e-4,-2.173439788390032e-5,4.100071676730384e-9,-5.350357193602122e-4,-2.15410881740401e-5,4.14980207032798e-9,-5.349185757880749e-4,-2.135782693181579e-5,4.198050291539687e-9,-5.348712290073628e-4,-2.121657442592248e-5,4.2359280087428855e-9,-5.348708000481933e-4,-2.1139615342117445e-5,4.257004944159546e-9,-5.348890826615417e-4,-2.113709309176623e-5,4.258128208977309e-9,-5.348974104172614e-4,-2.1206799246401138e-5,4.239584522007182e-9,-5.348708384321045e-4,-2.1335822917691524e-5,4.204678615706449e-9,-5.347911231697716e-4,-2.1503424398811796e-5,4.158913513206647e-9,-5.346483663470459e-4,-2.1684383203511062e-5,4.109023325019758e-9,-5.344415971986584e-4,-2.185222293312799e-5,4.062070768370815e-9,-5.341787121227865e-4,-2.198213649495927e-5,4.024683100836483e-9,-5.338760303296781e-4,-2.2053786749643512e-5,4.002365575691231e-9,-5.335574557412858e-4,-2.2054309116071213e-5,3.998758028608726e-9,-5.332528017860458e-4,-2.198181627770456e-5,4.014702338546216e-9,-5.32994271803446e-4,-2.1849184863030615e-5,4.047158626760407e-9,-5.328099775273082e-4,-2.1686695872980368E-05,4.088373074123842e-9,-5.327143982259301e-4,-2.1540670747909262e-5,4.1261167888255816e-9,-5.326982547305342e-4,-2.146472539588816e-5,4.145954976805639e-9,-5.327237676269208e-4,-2.150269819024173e-5,4.135827219007261e-9,-5.32732172820136e-4,-2.166880035547954e-5,4.091442962833996e-9,-5.32664363807273e-4,-2.193675634261866e-5,4.019307535221708e-9,-5.324850262715923e-4,-2.2247356034033065e-5,3.93482109123221e-9,-5.321959712692641e-4,-2.253169043764306e-5,3.856170494966331e-9,-5.318318024819819e-4,-2.2736299986202895e-5,3.797697407775919e-9,-5.314434001136979e-4,-2.283727543038531e-5,3.7661716224598815e-9,-5.310801862783224e-4,-2.2840328090950416e-5,3.760701663621395e-9,-5.307784695622606e-4,-2.277209911293882e-5,3.774865010501329e-9,-5.305570300482153e-4,-2.2669296597542187e-5,3.799377675031908e-9,-5.304177923198672e-4,-2.2569563199808032e-5,3.824373068544768e-9,-5.303490345079164e-4,-2.2505211219014473e-5,3.841055895162692e-9,-5.303294436667859e-4,-2.2499458669989806e-5,3.842819986704146e-9,-5.303323047521583e-4,-2.2564506861846283e-5,3.825934653411622e-9,-5.303295770130921e-4,-2.2701095439328812e-5,3.78981094362531e-9,-5.302956400451363e-4,-2.2899349303107257e-5,3.736840685640963e-9,-5.30210473665667e-4,-2.314073527658426e-5,3.6718507329490764e-9,-5.300620142371433e-4,-2.340093393614476e-5,3.601265981895817e-9,-5.298474349228372e-4,-2.3653284469214588e-5,3.532132956929273e-9,-5.29573308984056e-4,-2.3872320401723e-5,3.4711768964710575e-9,-5.292548431176042e-4,-2.403707365259649e-5,3.4239812057610383e-9,-5.289143407918906e-4,-2.4134058857944783e-5,3.3942741989696835e-9,-5.285789266630395e-4,-2.4159906281443744e-5,3.3832709646259577e-9,-5.282773952237134e-4,-2.4123609199085298e-5,3.389033411558258e-9,-5.280357364388392e-4,-2.404808982327215e-5,3.4059246595776906e-9,-5.278708810726782e-4,-2.3969949940549298e-5,3.4245089739342943e-9,-5.277831391864141e-4,-2.3935357712190903e-5,3.4325187746853774e-9,-5.277497546540487e-4,-2.3990053843999665e-5,3.417490568679712e-9,-5.277243373408124e-4,-2.416362760309801e-5,3.371043381811958e-9,-5.276472969010053e-4,-2.4453303594010498e-5,3.2933522318209953e-9,-5.274672038760931e-4,-2.4817592116745615e-5,3.1949762152372857e-9,-5.271634422555336e-4,-2.5188059386224728e-5,3.0937979755767632e-9,-5.267559068389037e-4,-2.549567899523349e-5,3.008057415556971e-9,-5.262952781608044e-4,-2.569664316277229e-5,2.9495561606916857e-9,-5.258412694183832e-4,-2.5783493066863733e-5,2.9207489680924703e-9,-5.254425066389419e-4,-2.5779503885456728e-5,2.9161612247094987e-9,-5.251263833011977e-4,-2.5724489785007588e-5,2.925940256027055e-9,-5.248986095698239e-4,-2.566102959629115e-5,2.9392604634341714e-9,-5.247480432907525e-4,-2.5625368004893986e-5,2.946595015690205e-9,-5.246528338231885e-4,-2.5643091786020372e-5,2.940887498147975e-9,-5.245858121778989e-4,-2.572797628618578e-5,2.918009092055048e-9,-5.245186697908287e-4,-2.5882406676612352e-5,2.8768303754599108e-9,-5.244252403009383e-4,-2.6098529986454154e-5,2.8190430572214277e-9,-5.242842104460674e-4,-2.6359918036558112e-5,2.748752781998075e-9,-5.240813809095547e-4,-2.664376012583758e-5,2.6718566779627634e-9,-5.23811405473642e-4,-2.6923697743507696e-5,2.5952305181850944e-9,-5.234786998958045e-4,-2.7173303690041893e-5,2.5257824612885647e-9,-5.230971720563157e-4,-2.7369871435687406e-5,2.4694878843742183e-9,-5.226886747385083e-4,-2.749801736194075e-5,2.4305157487672832e-9,-5.222802740203602e-4,-2.7552679878417226e-5,2.410501767346455e-9,-5.219004721067165e-4,-2.7541114744677728e-5,2.4080150610133087e-9,-5.215746064004773e-4,-2.748348611429587e-5,2.4182963593044943e-9,-5.213196916609409e-4,-2.741169261001642e-5,2.433387542607336e-9,-5.211390633776294e-4,-2.7365830864708946e-5,2.442883976030173e-9,-5.210177939670833e-4,-2.7387386588784694e-5,2.4356382416405185e-9,-5.2092103264559e-4,-2.7508753633437043e-5,2.4025749182162106e-9,-5.207983793056417e-4,-2.7740648686792387e-5,2.3401865242185253e-9,-5.205966266482828e-4,-2.806223642295004e-5,2.253350576167634e-9,-5.202789824851698e-4,-2.8421269302758358e-5,2.1554312055901617e-9,-5.198423209709797e-4,-2.8748981292602243e-5,2.064380772209385e-9,-5.193213569961983e-4,-2.8985277857182498e-5,1.996093068377223e-9,-5.187754286828383e-4,-2.9100856801229018e-5,1.95860814721846e-9,-5.182654734879904e-4,-2.910408008464851e-5,1.950328402209735e-9,-5.17834468885133e-4,-2.903146570281326e-5,1.9624204795998646e-9,-5.174994717055985e-4,-2.8930642345991606e-5,1.9830589980046977e-9,-5.172543344144145e-4,-2.8845521813800735e-5,2.0010793286060667e-9,-5.170775031307184e-4,-2.8808046397317225e-5,2.0080420772500573e-9,-5.169400421587481e-4,-2.883586587420426e-5,1.998918998843043e-9,-5.168116638617822e-4,-2.8933416322078027e-5,1.9719933681402133e-9,-5.166645952694133e-4,-2.9094191480639365e-5,1.928446821526537e-9,-5.16476024252827e-4,-2.930309443473024e-5,1.8718459878098334e-9,-5.162298604848831e-4,-2.9538674218475745e-5,1.8075644448687839e-9,-5.15918183163581e-4,-2.9775463189840496e-5,1.7421226458261029e-9,-5.155423951219354e-4,-2.9986754143992856e-5,1.682415416929058e-9,-5.151137407302886e-4,-3.0148054298078004e-5,1.6348102041026057e-9,-5.14652612618079e-4,-3.024103796625174e-5,1.6041685250154395e-9,-5.141862173715009e-4,-3.025736743569097e-5,1.5929194416540232e-9,-5.137445594032925e-4,-3.0201544061071227e-5,1.6003442662174793e-9,-5.133551073665073e-4,-3.0091913298744713e-5,1.6222546448333353e-9,-5.130369284461957e-4,-2.9959105712960137e-5,1.651244127376648e-9,-5.127954099507898e-4,-2.9841663506552026e-5,1.6776263789056898e-9,-5.126187743607301e-4,-2.977911818282605e-5,1.6910763709352394e-9,-5.124775920139699e-4,-2.980317215645477e-5,1.6828919402962205e-9,-5.123285291058596e-4,-2.992827896807966e-5,1.6485704768880652e-9,-5.121232184702717e-4,-3.0144080674584436e-5,1.5900146804836555e-9,-5.118216874803194e-4,-3.041333535976552e-5,1.5163090868023582e-9,-5.114069216089788e-4,-3.06788578426189e-5,1.4420450362417905e-9,-5.108941341159282e-4,-3.087997193374652e-5,1.383045829244638e-9,-5.103283884814538e-4,-3.097314754523197e-5,1.350950290890561e-9,-5.097696659935665e-4,-3.0946985077149386e-5,1.3492802047218747e-9,-5.092722871601308e-4,-3.0823751756630565e-5,1.3729826486285837e-9,-5.088689790088103e-4,-3.064783528784369e-5,1.4112787115572115e-9,-5.085657929059659e-4,-3.046880866802487e-5,1.4518356546063253e-9,-5.08346811352875e-4,-3.032757248561428e-5,1.4841879987672864e-9,-5.081833205273989e-4,-3.024951848205968e-5,1.5014927928567059e-9,-5.080425577921641e-4,-3.024389232124672e-5,1.5008319918093534e-9,-5.078937898414977e-4,-3.0306504584070308e-5,1.4827093655212703e-9,-5.077117106050379e-4,-3.042331137863873e-5,1.4502784815439696e-9,-5.074781087294359e-4,-3.0573627604291196e-5,1.4085697181512755e-9,-5.071827632231985e-4,-3.0732762305829554e-5,1.363783212066794e-9,-5.068241386956512e-4,-3.087440447664662e-5,1.322616276444108e-9,-5.064099743494193e-4,-3.097328317084115e-5,1.2915471371343079e-9,-5.059573813360568e-4,-3.100850766576199e-5,1.2759963019804067e-9,-5.054917280931815e-4,-3.09675266499804e-5,1.2793674539120017e-9,-5.050436028710859e-4,-3.085000943630236e-5,1.3021016279347987e-9,-5.046435847782699e-4,-3.067039629349787e-5,1.3410151010863194e-9,-5.043154041700915e-4,-3.0457621016956392e-5,1.3892739397176436e-9,-5.040690924503929e-4,-3.025093383015183e-5,1.4372920683562972e-9,-5.038963498673596e-4,-3.0091976510982597e-5,1.4745708467378526e-9,-5.037701041335682e-4,-3.001474285367648e-5,1.4921523724764496e-9,-5.036491510419384e-4,-3.0036038672483e-5,1.4850891219563646e-9,-5.034873278369172e-4,-3.0149240525066758e-5,1.4542250103523055e-9,-5.032453132593057e-4,-3.032361586041559e-5,1.4066373962624775e-9,-5.029021178492986e-4,-3.0510322165871625e-5,1.3543382658568904e-9,-5.024627404979756e-4,-3.06545113386691e-5,1.3112907864465489e-9,-5.01958677253733e-4,-3.0710749963624354e-5,1.2894420761309303e-9,-5.014397693770699e-4,-3.065674386674007e-5,1.2951067361437504e-9,-5.009594637119274e-4,-3.0499774007028698e-5,1.327181960804589e-9,-5.005591265624038e-4,-3.027289359707675e-5,1.3779593095465411e-9,-5.002577464773517e-4,-3.002286754188913e-5,1.4360302437884732e-9,-5.000502980916162e-4,-2.9795642680252517e-5,1.4898545010720947e-9,-4.999135018056022e-4,-2.96252177016554e-5,1.530564984614016e-9,-4.998148703059288e-4,-2.9528734833433275e-5,1.5533180663703762e-9,-4.997210391324866e-4,-2.9507108813167577e-5,1.557313949211449e-9,-4.996033580441727e-4,-2.95486805281199e-5,1.5450349761472517e-9,-4.994407134467235e-4,-2.963354086042027e-5,1.5212284427432084e-9,-4.99220513807549e-4,-2.9737275227078863e-5,1.4919412361183264e-9,-4.989388300780407e-4,-2.9833867578447486e-5,1.4637165471569636e-9,-4.986003615032496e-4,-2.989808300652266e-5,1.442933990607473e-9,-4.982184149831263e-4,-2.9907927865987277e-5,1.4351810441446417e-9,-4.978145252172193e-4,-2.9847712851288548e-5,1.4445248582206659e-9,-4.974169169914042e-4,-2.971176155615385e-5,1.4726359068551763e-9,-4.970569165391165e-4,-2.9508056286774713e-5,1.517893845763169e-9,-4.967628303390822e-4,-2.926026998042455e-5,1.574829976621728e-9,-4.96551978398408e-4,-2.900608455871382e-5,1.634431128285346e-9,-4.96423302209712e-4,-2.879027553840682e-5,1.6857146709917446e-9,-4.963541060645736e-4,-2.865323310167557e-5,1.7184681499924557e-9,-4.963036761354488e-4,-2.861842652841363e-5,1.7263462753477494e-9,-4.962236841992082e-4,-2.8683800491744274e-5,1.7091218148852898e-9,-4.960720233794146e-4,-2.8820919804120417e-5,1.673117417745899e-9,-4.958250916601518e-4,-2.898244031513813e-5,1.6295915726764063e-9,-4.954843911405692e-4,-2.911516518981793e-5,1.591663143962164e-9,-4.950757567029083e-4,-2.9174289607850693e-5,1.5708062654753593e-9,-4.946419883627445e-4,-2.9134683182893188e-5,1.5739443674704452e-9,-4.942313197632331e-4,-2.899634780038582e-5,1.601897900139963e-9,-4.938850760519116e-4,-2.8782878175581034e-5,1.6495407345080696e-9,-4.936280480341194e-4,-2.8533738897703263e-5,1.707525662802973e-9,-4.934641902772148e-4,-2.8293088750190768e-5,1.7649546067683797e-9,-4.933783032088761e-4,-2.80988640410467e-5,1.8121051613246878e-9,-4.933422254005704e-4,-2.7975289802310766e-5,1.842421094099516e-9,-4.933227875226166e-4,-2.793022331205908e-5,1.853363241919422e-9,-4.932888738289174e-4,-2.7956735636432285e-5,1.8461872237371115e-9,-4.932160962554518e-4,-2.8037116641906087e-5,1.8250326211687373e-9,-4.930889594766327e-4,-2.8147435486230603e-5,1.7957702854856959e-9,-4.929012427190119e-4,-2.8261502965497104e-5,1.7649326447086253e-9,-4.926554961798312e-4,-2.835390391705434e-5,1.7388763334173934e-9,-4.923623095573031e-4,-2.8402349479687208e-5,1.7231683216680764e-9,-4.920395867133475e-4,-2.8389889647024718e-5,1.722073563894763e-9,-4.917115540492151e-4,-2.8307497965287012e-5,1.7379836944677346e-9,-4.914067695061618e-4,-2.815714883271202e-5,1.7707008124423624e-9,-4.911541935152892e-4,-2.7954758530073625e-5,1.8166878141640076e-9,-4.9097673506944e-4,-2.773135265619518e-5,1.868683014872907e-9,-4.908829819257416e-4,-2.753002578310636e-5,1.9163130986412e-9,-4.908600342594571e-4,-2.7396792960745575e-5,1.9482274136412787e-9,-4.908721173909682e-4,-2.736633164669827e-5,1.9555585722015448e-9,-4.908685218729858e-4,-2.7447945016454782e-5,1.935427847646306e-9,-4.907995565142859e-4,-2.7619289411182313e-5,1.8926347984558103e-9,-4.906336832509187e-4,-2.7832348344015255e-5,1.8383867655335314e-9,-4.903676923646972e-4,-2.802925951189207e-5,1.7865984348223615e-9,-4.900260027571856e-4,-2.81603898676814e-5,1.7495716625922467e-9,-4.89651135545775e-4,-2.8197278587712897e-5,1.7348223698973235e-9,-4.892906052692192e-4,-2.8137212384925217e-5,1.7438257478064728e-9,-4.889850187707911e-4,-2.800028120231637e-5,1.7725003438639047e-9,-4.887600631930353e-4,-2.782169608840279e-5,1.8128296668897378e-9,-4.886231415493295e-4,-2.764229676123075e-5,1.8550063239660704e-9,-4.885642484701803e-4,-2.7499550273375093e-5,1.8896080581632753e-9,-4.88560103003217e-4,-2.7420633789239168e-5,1.9094190965771907e-9,-4.885802098906471e-4,-2.741859369588705e-5,1.9105887095828677e-9,-4.885932963466409e-4,-2.749186494528233e-5,1.892958847920264e-9,-4.885727070221833e-4,-2.7626586385723848e-5,1.8596151082628022e-9,-4.884999125827284e-4,-2.780056601507957e-5,1.815912403162441e-9,-4.883659918181414e-4,-2.7987688626019622e-5,1.7683031663824352e-9,-4.881714965792303e-4,-2.8161857991136438e-5,1.7232621331153711e-9,-4.879253817230721e-4,-2.8300053385778088e-5,1.6864793191295907e-9,-4.876435954604153e-4,-2.838460913858599e-5,1.6623231380987314e-9,-4.87347570898538e-4,-2.8405127125376862e-5,1.6534487206287574e-9,-4.870624676766653e-4,-2.8360400428380635e-5,1.660397458157364e-9,-4.8681464921107224e-4,-2.8260451760282097e-5,1.6810999234867354e-9,-4.8662762504571956e-4,-2.8128194590838857e-5,1.710378936760407e-9,-4.865159493111669e-4,-2.7999259061439134e-5,1.7398402884595435e-9,-4.864778001628795e-4,-2.7917688216241995e-5,1.758782346831438e-9,-4.864891773662556e-4,-2.7925623648319725e-5,1.7566564873211407e-9,-4.8650469881442816e-4,-2.8048055389582203e-5,1.7268436941845679e-9,-4.8646900022718986e-4,-2.8278862045047066e-5,1.6701987909042514e-9,-4.863366661408441e-4,-2.8577505119019685e-5,1.596014686119699e-9,-4.8609095859314307e-4,-2.888149066944309e-5,1.5191180487893385e-9,-4.8575031131327785e-4,-2.9129303897496962e-5,1.4543917377772392e-9,-4.853594628443761e-4,-2.928127077721007e-5,1.4117786999065398e-9,-4.8497195747729835e-4,-2.932864068445588e-5,1.394071849831376e-9,-4.846337505125269e-4,-2.92901557766113e-5,1.397598481510503e-9,-4.8437354423659196e-4,-2.9201624636557654e-5,1.4144787727407432e-9,-4.842002284292061e-4,-2.9104393029698005e-5,1.4351477859261177e-9,-4.841052181270292e-4,-2.903609161431683e-5,1.4504558263885193e-9,-4.84067228217977e-4,-2.9024670479161186e-5,1.4531643834621424e-9,-4.840577748119623e-4,-2.90853939257728e-5,1.438879930124667e-9,-4.8404655015113853e-4,-2.9220176531956694e-5,1.4064663055144139e-9,-4.840061936266715e-4,-2.9418854952069273e-5,1.3579222509944927e-9,-4.839159970403585e-4,-2.9661986241126522e-5,1.2977592972372048e-9,-4.8376421255598803e-4,-2.99245694584744e-5,1.2320364517035848e-9,-4.8354887698368103e-4,-3.0180063885511402e-5,1.1672683012708056e-9,-4.832772700501507e-4,-3.0404142004948953e-5,1.1094257627540442e-9,-4.829643557323166e-4,-3.0577722626730395e-5,1.06319106972272e-9,-4.826306810340864e-4,-3.068915192762852e-5,1.0314937573263063e-9,-4.823000236618913e-4,-3.073572511170575e-5,1.0152261736262526e-9,-4.819967854440488e-4,-3.07247596187981e-5,1.0130129991719876e-9,-4.8174290438235536e-4,-3.067424662353938e-5,1.0209817846856487e-9,-4.8155387647187757e-4,-3.061273027346073e-5,1.032629336411569e-9,-4.814336608023644e-4,-3.057734555154527e-5,1.0391143981355627e-9,-4.813692597631775e-4,-3.060832201910778e-5,1.0304832601707698e-9,-4.813275459614071e-4,-3.073869463472397e-5,9.981998565152625e-10,-4.812585659790297e-4,-3.09804507134622e-5,9.386721541243323e-10,-4.811087866201458e-4,-3.1312961751180574e-5,8.56262021686922e-10,-4.8084200197442165e-4,-3.168291882514008e-5,7.634346976835111e-10,-4.804573453938174e-4,-3.202098523525012e-5,6.767668830172286e-10,-4.799919742448245e-4,-3.226863232885468e-5,6.104833504614054e-10,-4.7950561722214457e-4,-3.239963129412474e-5,5.713324640502453e-10,-4.7905711130771735e-4,-3.2424683834516966e-5,5.57489239643948e-10,-4.7868648919253005e-4,-3.2380572165611614e-5,5.61014998658449e-10,-4.78408756745913e-4,-3.231372536823076e-5,5.715060758294507e-10,-0.00047821695541208484,-3.226672810540936e-5,5.790543339561175e-10,-4.780892929635116e-4,-3.2270696159169436e-5,5.759797425532569e-10,-4.7799654019284706e-4,-3.2342694027153804e-5,5.575709307492149e-10,-4.7790798337904856e-4,-3.2486240286347094e-5,5.222191413059654e-10,-4.7779572256916394e-4,-3.269322339193252e-5,4.712137846897875e-10,-4.776377532430203e-4,-3.294643314889626e-5,4.0828191455557877e-10,-4.7742011900052996e-4,-3.322255415686779e-5,3.3887550315425643e-10,-4.7713813362436103e-4,-3.3495522236272236e-5,2.692723543611399e-10,-4.767966058786844e-4,-3.374005506219493e-5,2.0561845121165476e-10,-4.764089810761079e-4,-3.3935100660724256e-5,1.5304719488686107e-10,-4.759953978571277e-4,-3.4066794130658526e-5,1.150012473363178e-10,-4.75579914293648e-4,-3.4130529894258694e-5,9.281539758685568e-11,-4.7518726401693057e-4,-3.4132012358599385e-5,8.552166664277137e-11,-4.7483937947707337e-4,-3.4087283256587925e-5,8.9808001360197e-11,-4.745518134530909e-4,-3.402168289331611e-5,1.0012352749726892e-10,-4.743301302744044e-4,-3.396758918434555e-5,1.0901384685598315e-10,-4.7416643965561046e-4,-3.3960444197777966e-5,1.0790405985855532e-10,-4.740368979791793e-4,-3.4032281179469596e-5,8.86169595898152e-11,-4.739021227586955e-4,-3.420250408423377e-5,4.5725881072999446e-11,-4.7371326042227083e-4,-3.446757033559661e-5,-2.0710561717845824e-11,-4.734254927457585e-4,-3.479429725681101e-5,-1.0330249928567228e-10,-4.7301639236006836e-4,-3.5123672220509924e-5,-1.881476569178234e-10,-4.725000431178112e-4,-3.5388839961071916e-5,-2.591876480176443e-10,-4.7192604541348076e-4,-3.554105374407855e-5,-3.044707002743182e-10,-4.7136099969806975e-4,-3.556883779945993e-5,-3.206993534357789e-10,-4.7086294225468346e-4,-3.549888047725581e-5,-3.1342792392102554e-10,-4.7046352272326177e-4,-3.538050951555742e-5,-2.935213287305637e-10,-4.7016473226171217e-4,-3.5265590743997314e-5,-2.726806915020762e-10,-4.699464136836216e-4,-3.5194260656001715e-5,-2.6030955535709985e-10,-4.697770469616606e-4,-3.518932915329649e-5,-2.622205939252974e-10,-4.696228012465099e-4,-3.5256920462369833e-5,-2.8060094716625834e-10,-4.6945333703288087e-4,-3.538992906669341e-5,-3.145484253008059e-10,-4.69244867902677e-4,-3.5571919634512485e-5,-3.607624652693146e-10,-4.6898164086817774e-4,-3.5780529452895425e-5,-4.1425452821863957e-10,-4.686566863176195e-4,-3.5990449974228233e-5,-4.690962154934373e-10,-4.6827208786035787e-4,-3.617631589754077e-5,-5.192139267408718e-10,-4.678386863652773e-4,-3.631568320727738e-5,-5.591870571551936e-10,-4.6737497335989225e-4,-3.6392083291211825e-5,-5.849904896303589e-10,-4.6690488301707415e-4,-3.639782201853782e-5,-5.94602599597509e-10,-4.6645445102384944e-4,-3.633592139146378e-5,-5.883906819014525e-10,-4.660476945176547e-4,-3.6220661871468307e-5,-5.692228942796334e-10,-4.657022695838701e-4,-3.6076407131886816e-5,-5.422815071321678e-10,-4.6542554666657507e-4,-3.5934607127357874e-5,-5.145430862929582e-10,-4.6521176990474016e-4,-3.582914597600692e-5,-4.93889587145379e-10,-4.650408921003716e-4,-3.579037660247443e-5,-4.878228226654467e-10,-4.6487973809540686e-4,-3.583822677071e-5,-5.017887049330647e-10,-4.646864289969452e-4,-3.5975183793548686e-5,-5.37296846788472e-10,-4.64418929535433e-4,-3.618107017587765e-5,-5.903807450996709e-10,-4.640473748557744e-4,-3.641280549063968e-5,-6.513004445318026e-10,-4.6356706963375163e-4,-3.6612571972860786e-5,-7.064066461510136e-10,-4.6300573393137634e-4,-3.672503075757567e-5,-7.42296675743031e-10,-4.624182914159778e-4,-3.671797163766815e-5,-7.508047679955584e-10,-4.6186855565977626e-4,-3.659550128472903e-5,-7.321670756526646e-10,-4.614064225580401e-4,-3.6395389241618036e-5,-6.944563282812404e-10,-4.610528332327597e-4,-3.6172385710832e-5,-6.498299076742612e-10,-4.607987283925611e-4,-3.597801715887471e-5,-6.100320374056605e-10,-4.6061468507508637e-4,-3.5846959612404006e-5,-5.833503649471653e-10,-4.6046349004600013e-4,-3.579313229929127e-5,-5.736387227312834e-10,-4.6030994274539054e-4,-3.5812705095171745e-5,-5.807834219497946e-10,-4.601262422144594e-4,-3.588972134772124e-5,-6.017486078129592e-10,-4.5989390505752053e-4,-3.600142119002202e-5,-6.316505581854882e-10,-4.596038614192552e-4,-3.61222398339944e-5,-6.646706362294414e-10,-4.592559568531993e-4,-3.6226694452753686e-5,-6.948193567656552e-10,-4.5885834703375316e-4,-3.629175808199892e-5,-7.166060109300918e-10,-4.584267277797475e-4,-3.629920933167143e-5,-7.25651034334448e-10,-4.5798303120869814e-4,-3.623817319516776e-5,-7.192617233124736e-10,-4.575530806030977e-4,-3.610762730040304e-5,-6.969458465337379e-10,-4.571628892970559e-4,-3.591815255208761e-5,-6.607620683323364e-10,-4.56833823604343e-4,-3.569198142091502e-5,-6.153534493322551e-10,-4.5657747279228704e-4,-3.54605678450924e-5,-5.675121322431022e-10,-4.5639155317605325e-4,-3.525945503013983e-5,-5.251872676244543e-10,-4.562582877399368e-4,-3.5121101489857186e-5,-4.960025021303906e-10,-4.561462404911574e-4,-3.5067166813251846e-5,-4.855281510313871e-10,-4.560157354184803e-4,-3.510209657136758e-5,-4.956760285975314e-10,-4.558271844438492e-4,-3.520973052125918e-5,-5.23642942124648e-10,-4.555509722539143e-4,-3.5354377231198915e-5,-5.618485388203806e-10,-4.551767900011865e-4,-3.5487271728465515e-5,-5.99216862288837e-10,-4.547194931700101e-4,-3.555821241925147e-5,-6.238372524193589e-10,-4.5421824807652514e-4,-3.553016757808225e-5,-6.264728450339745e-10,-4.537270827198009e-4,-3.539206308847836e-5,-6.037125880351339e-10,-4.532987076358123e-4,-3.5163679660655164e-5,-5.592847955933052e-10,-4.5296792741134556e-4,-3.488912728160238e-5,-5.027086388929701e-10,-4.527422313081323e-4,-3.462138798450755e-5,-4.458766460131134e-10,-4.5260323410913533e-4,-3.4405453702598874e-5,-3.9926413768010085e-10,-4.5251644486876176e-4,-3.426740951649623e-5,-3.6938487658784766e-10,-4.5244332300902997e-4,-3.421213627964388e-5,-3.5808595438001316e-10,-4.523505626185003e-4,-3.4227480505678286e-5,-3.632636675315268e-10,-4.5221482312207624e-4,-3.4290899461766846e-5,-3.8020116677613763e-10,-4.5202375557595886e-4,-3.437554371425792e-5,-4.029081427514244e-10,-4.5177505774483904e-4,-3.445460262322402e-5,-4.251869797649234e-10,-4.514749547370295e-4,-3.4504079311446706e-5,-4.4139362238526164e-10,-4.5113679020358777e-4,-3.450468018923218e-5,-4.469651496899405e-10,-4.507797731939009e-4,-3.444350711070474e-5,-4.388225099902334e-10,-4.504274678763231e-4,-3.431595710739258e-5,-4.1574789980056126e-10,-4.501053968208255e-4,-3.412772239306382e-5,-3.7876689398194317e-10,-4.49837245052929e-4,-3.3896171321560205e-5,-3.3143923698792594e-10,-4.4963967883302245e-4,-3.364990241377015e-5,-2.7982500286964254e-10,-4.495167350280108e-4,-3.342519780636138e-5,-2.3182893325347959e-10,-4.494557916595384e-4,-3.32588698365336e-5,-1.9575098987866422e-10,-4.494275238613324e-4,-3.317868246084438e-5,-1.7822526619476317e-10,-4.493912544321645e-4,-3.319433112785999e-5,-1.8215182067943742e-10,-4.4930491559363935e-4,-3.329257874488547e-5,-2.0541584757431906e-10,-4.491366544886963e-4,-3.343893518934762e-5,-2.409915239755049e-10,-4.4887423428689434e-4,-3.358582747083409e-5,-2.785249749837473e-10,-4.4852918924545023e-4,-3.3684857564196356e-5,-3.069592004180854e-10,-4.481345025764483e-4,-3.3699547562141865E-05,-3.174400965017838e-10,-4.477364173205387e-4,-3.36150453685436e-5,-3.056899582009406e-10,-4.473824653024104e-4,-3.3442075559446554e-5,-2.731645840371916e-10,-4.471089794236686e-4,-3.3213746559910004e-5,-2.2659609678642381e-10,-4.4693193476726584e-4,-3.2975892326254515e-5,-1.7600234698550785e-10,-4.4684415933761597e-4,-3.2774072581832724e-5,-1.318180279743324e-10,-4.468195596048631e-4,-3.264180812728822e-5,-1.0215906621877542e-10,-4.468221350963377e-4,-3.259390394722096e-5,-9.111564082088563e-11,-4.468159270102211e-4,-3.262613831507543e-5,-9.843768488394674e-11,-4.4677253154619184e-4,-3.271981887431175e-5,-1.2037327381122013e-10,-4.466747593938944e-4,-3.2848326037323585e-5,-1.5107991793165482e-10,-4.465169535590928e-4,-3.298315215165685e-5,-1.8405170853296948e-10,-4.4630337571044507e-4,-3.309824656748056e-5,-2.1323351666357844e-10,-4.4604597579605345e-4,-3.317263929462189e-5,-2.337308573244723e-10,-4.45762317539977e-4,-3.3191928530204014e-5,-2.421841171496663e-10,-4.454738218877487e-4,-3.314935956184844e-5,-2.369644191333686e-10,-4.4520398080873634e-4,-3.304699535971351e-5,-2.1835135532547503e-10,-4.449759188950929e-4,-3.289697404544757e-5,-1.887628854791514e-10,-4.448087241116615e-4,-3.2722220146874976e-5,-1.529489231537002e-10,-4.4471242614531716e-4,-3.2555363695373645e-5,-1.1787226547448037e-10,-4.446825403539786e-4,-3.2434324371631275e-5,-9.188130706746193e-11,-4.4469655992664646e-4,-3.2393735943472714e-5,-8.291075104452407e-11,-4.4471563063769776e-4,-3.245364245052461e-5,-9.596818943647909e-11,-4.446933654754844e-4,-3.2609831845342675e-5,-1.3086158754423952e-10,-4.445900359888028e-4,-3.2831347836709934e-5,-1.814400172328324e-10,-4.4438642125605143e-4,-3.306811219248421e-5,-2.370680722983898e-10,-4.4409080264432883e-4,-3.326622792760892e-5,-2.858581212801058e-10,-4.437360837083105e-4,-3.33843518504114e-5,-3.1823887552277983e-10,-4.433690949210459e-4,-3.340463330407339e-5,-3.294487374573945e-10,-4.430370755530498e-4,-3.3335321031998855e-5,-3.203184353265311e-10,-4.427759960089928e-4,-3.320596713714179e-5,-2.9650278742528307e-10,-4.4260339341241914e-4,-3.305809413124731e-5,-2.666935334285821e-10,-4.425164934095727e-4,-3.293443729480453e-5,-2.403889490512539e-10,-4.424951037855245e-4,-3.286939195932481e-5,-2.2573681301802528e-10,-4.4250792553513906e-4,-3.2882577323854434e-5,-2.2789539745179735e-10,-4.425203905633074e-4,-3.297653466831185e-5,-2.4823497974085815e-10,-4.425019734590562e-4,-3.313848660280707e-5,-2.8448803781729026e-10,-4.424313311491289e-4,-3.334499881923905e-5,-3.3168004394333305e-10,-4.422985572981347e-4,-3.3567784931305844e-5,-3.834657566606249e-10,-4.4210484891880924e-4,-3.377905354369237e-5,-4.3346022827032136e-10,-4.4186050614891556e-4,-3.3955460677570604e-5,-4.762630706971752e-10,-0.00044158229376506733,-3.408047587119074e-5,-5.080560853142402e-10,-4.4129088951131405e-4,-3.4145537682724034e-5,-5.268328707022444e-10,-4.4100864451780675e-4,-3.415060214756904e-5,-5.324321778308508e-10,-4.4075744431709034e-4,-3.4104538515809105e-5,-5.265509515466792e-10,-4.405562048159596e-4,-3.402543308853396e-5,-5.128193797311413e-10,-4.4041749799388676e-4,-3.394031824044413e-5,-4.968520411437988e-10,-4.4034317371603764e-4,-3.388321666420194e-5,-4.859836819661576e-10,-4.4031985380117906e-4,-3.389003663385937e-5,-4.882781596747447e-10,-4.4031667309458187e-4,-3.398947734201114e-5,-5.105417250572887e-10,-4.40288726603928e-4,-3.419139460117802e-5,-5.556392875995702e-10,-4.4018852720764694e-4,-3.447763007612022e-5,-6.202734840122589e-10,-4.3998312776834925e-4,-3.4802253044518366e-5,-6.948530997978604e-10,-4.396688525708522e-4,-3.510470657110431e-5,-7.662719727894685e-10,-4.3927463938373874e-4,-3.533108692677226e-5,-8.225278615720626e-10,-4.388514849831018e-4,-3.545261924397217e-5,-8.567545923869293e-10,-4.384542114569926e-4,-3.5472467064472854e-5,-8.687704570663886e-10,-4.381250309194333e-4,-3.542007387575285e-5,-8.640367362840351e-10,-4.3788477725332484e-4,-3.533865244353876e-5,-8.512299465652137e-10,-4.377321566231613e-4,-3.52722511840646e-5,-8.396926899517458e-10,-4.3764830456916964e-4,-3.525614476523123e-5,-8.374333127536711e-10,-4.376036478383992e-4,-3.531151963905395e-5,-8.498330044244647e-10,-4.3756499698159503e-4,-3.544392307484552e-5,-8.790159276265403e-10,-4.3750174764789934e-4,-3.56445680225368e-5,-9.238259471745557e-10,-4.3739057794072914e-4,-3.5893675770702265e-5,-9.803621067461992e-10,-4.372182577922428e-4,-3.6165025749781834e-5,-1.042950971201023e-9,-4.369824734841252e-4,-3.6430802734025703e-5,-1.1053246753441703e-9,-4.36690901264442e-4,-3.6665949804834746e-5,-1.1617407465670032e-9,-4.3635900542241446e-4,-3.685147801086402e-5,-1.2078249534317108e-9,-4.360071976804138e-4,-3.697647114841903e-5,-1.2410262063482944e-9,-4.356579555231565e-4,-3.7038915732516285e-5,-1.260728985867218e-9,-4.353331667358742e-4,-3.704575670653252e-5,-1.2681800873321904e-9,-4.350516275750907e-4,-3.701249208677096e-5,-1.2663789075441324e-9,-4.348264748497907e-4,-3.696235632581322e-5,-1.2599873663792249e-9,-4.3466228069439307e-4,-3.692480626009468e-5,-1.2551736513394884e-9,-4.3455177288540366e-4,-3.6932510170417106e-5,-1.25912798564809e-9,-4.3447301468774706e-4,-3.701572674939781e-5,-1.278902275184977e-9,-4.3438916026796164e-4,-3.71935894381788e-5,-1.3194060826546412e-9,-4.3425376802956616e-4,-3.74638561498117e-5,-1.3809346111075104e-9,-4.340236163024067e-4,-3.779593543622154e-5,-1.4574024307369292e-9,-4.3367640876553675e-4,-3.8134118564692025e-5,-1.5369256916288049e-9,-4.332244241737091e-4,-3.8414502041651824e-5,-1.6055222702572017e-9,-4.3271386018431076e-4,-3.858948430017033e-5,-1.652481129483999e-9,-4.3220787923143326e-4,-3.864607462666557e-5,-1.6743270763616353e-9,-4.317629656468537e-4,-3.860761863456337e-5,-1.6752156913577408e-9,-4.3141176547786695e-4,-3.8520414864384305e-5,-1.6642240440609935e-9,-4.3115868222643985e-4,-3.8435327419660585e-5,-1.651702421749401e-9,-4.3098557996193025e-4,-3.8393580822086956e-5,-1.6464759363415677e-9,-4.3086147835504085e-4,-3.841992287116871e-5,-1.65440671246263e-9,-4.307516674336233e-4,-3.8521823132790755e-5,-1.6780078303099869e-9,-4.306243804306794e-4,-3.8692067403099935e-5,-1.716664885505569e-9,-4.3045497513185133e-4,-3.891267180424769e-5,-1.7671843133691706e-9,-4.302282105989142e-4,-3.9159095494623204e-5,-1.824566327370246e-9,-4.299390751286171e-4,-3.940438880534627e-5,-1.8829431790449586e-9,-4.295924025130069e-4,-3.9623034498814555e-5,-1.936562263178734e-9,-4.292014630930585e-4,-3.9794261037469396e-5,-1.9806593157273097e-9,-4.287856876623859e-4,-3.9904630596068394e-5,-2.0120950226613972e-9,-4.28367754503315e-4,-3.994964610903417e-5,-2.0296763544745215e-9,-4.279704452993792e-4,-3.9934237516808346e-5,-2.0341813886434956e-9,-4.276136265667553e-4,-3.987227137249826e-5,-2.0282039753249915e-9,-4.273114688402678e-4,-3.978527077197651e-5,-2.0159259234067885e-9,-4.2706992488113834e-4,-3.9700366198973295e-5,-2.002829069662559e-9,-4.268845197863682e-4,-3.964737840173896e-5,-1.9952647642030475e-9,-4.267386265969893e-4,-3.965471131576109e-5,-1.999700373052887e-9,-4.266029510717304e-4,-3.9743544324180614e-5,-2.0214358793739664e-9,-4.26437834568534e-4,-3.992039295746758e-5,-2.0627867533072652e-9,-4.2620038657907274e-4,-4.016980373449743e-5,-2.1212012265236316e-9,-4.2585728334790284e-4,-4.0451299582123726e-5,-2.1883606719571155e-9,-4.25400265363133e-4,-4.070596598753596e-5,-2.25155109322746e-9,-4.248561337280175e-4,-4.0874859811857436e-5,-2.2977411834001216e-9,-4.242820619720334e-4,-4.092274432793028e-5,-2.3187965446079723e-9,-4.237451316903482e-4,-4.085341822572131e-5,-2.3147791360394584e-9,-4.2329694415442286e-4,-4.070654441064251e-5,-2.2932869092235596e-9,-4.229578411734412e-4,-4.0538947222353454e-5,-2.2656447239000503e-9,-4.2271688421275413e-4,-4.040304127911455e-5,-2.2426165588610284e-9,-4.225427433080427e-4,-4.0333144803596924e-5,-2.231704275563879e-9,-4.223968689264773e-4,-4.0342043136537935e-5,-2.2363639652971267e-9,-4.222434398179648e-4,-4.042433106460874e-5,-2.256430112670042e-9,-4.220548334090586e-4,-4.056222883882198e-5,-2.2890006714688703e-9,-4.218136677594013e-4,-4.073117018433807e-5,-2.3293788637137593e-9,-4.21512946299068e-4,-4.0904258616967875e-5,-2.3719643641673716e-9,-4.2115531676598317e-4,-4.105575217512033e-5,-2.4111025484600863e-9,-4.207517952197999e-4,-4.1163907229954436e-5,-2.441863734119646e-9,-4.203200113401336e-4,-4.121333480514526e-5,-2.460678044086568e-9,-4.198819221794372e-4,-4.119688223171917e-5,-2.4657691210332674e-9,-4.194609188969578e-4,-4.111682572964086e-5,-2.4573520283086842e-9,-4.1907848888926417e-4,-4.0985005162454883e-5,-2.4375869987131062e-9,-4.1875086145044143e-4,-4.082171835588424e-5,-2.4103369791762464e-9,-4.1848604840921634e-4,-4.065342570658751e-5,-2.3807851127628465e-9,-4.182816061708275e-4,-4.050935427302264e-5,-2.3549026071762925e-9,-4.1812347686722286e-4,-4.041715861848515e-5,-2.3387103150409148e-9,-4.1798629068454416e-4,-4.039789505126642e-5,-2.337275945283984e-9,-4.178356307985684e-4,-4.046059638808345e-5,-2.353438615303446e-9,-4.1763304542852736e-4,-4.0597133531294696e-5,-2.3864309135234715e-9,-4.17344485054109e-4,-4.07791348421971e-5,-2.4308988000567276e-9,-4.1695157842682465e-4,-4.095991780817399e-5,-2.477108670627579e-9,-4.16462448119742e-4,-4.108433698392642e-5,-2.5130503328766345e-9,-4.15915771968092e-4,-4.1106404871525956e-5,-2.528346010590168e-9,-4.153721159190534e-4,-4.100833523430551e-5,-2.5184530965389194e-9,-4.1489323356661917e-4,-4.0810007275967356e-5,-2.4867440031700544e-9,-4.1451934265011636e-4,-4.056149998336314e-5,-2.443004015897615e-9,-4.14257057163492e-4,-4.032253315069391e-5,-2.399280027476654e-9,-4.140829643037679e-4,-4.014115402159914e-5,-2.365624213252662e-9,-4.139573594589503e-4,-4.004203540654317e-5,-2.347719850083814e-9,-4.1383883902764264e-4,-4.0026135838993726e-5,-2.346648557292666e-9,-4.1369395521428763e-4,-4.007714518494776e-5,-2.359918634965156e-9,-4.1350116283010187e-4,-4.0169438678037385e-5,-2.3828275358386247e-9,-4.132509204849382e-4,-4.02745458009851e-5,-2.409672202656709e-9,-4.12944098431814e-4,-4.036544899383293e-5,-2.434693727626981e-9,-4.1259003312596384e-4,-4.0419283786942026e-5,-2.4528076757501718e-9,-4.1220463180241106e-4,-4.041920894315126e-5,-2.460165886913844e-9,-4.118084241146482e-4,-4.035589750016881e-5,-2.4545551866637317e-9,-4.114243079808707e-4,-4.0228769440772255e-5,-2.4356339267987566e-9,-4.1107472547243434e-4,-4.004674770704506e-5,-2.4050065497151834e-9,-4.107782411517076e-4,-3.982801465533893e-5,-2.3661110631512318e-9,-4.1054594259781567e-4,-3.959827057314572e-5,-2.3238887851075064e-9,-4.10378395758591e-4,-3.938732383127705e-5,-2.2842171118400988e-9,-4.1026395191599125e-4,-3.922422342717951e-5,-2.2530908614786637e-9,-4.101791123460307e-4,-3.9131562701737556e-5,-2.23557803383868e-9,-4.100913745510124e-4,-3.911997116984464e-5,-2.2346619299068557e-9,-4.099645570075549e-4,-3.9183950507037974e-5,-2.250178149363926e-9,-4.097661972198411e-4,-3.930021397784681e-5,-2.278150153434694e-9,-4.0947612025577423e-4,-3.9429780090729804e-5,-2.310922006873919e-9,-4.090943862753506e-4,-3.952493336780649e-5,-2.338459230035468e-9,-4.086456517799025e-4,-3.954111611657848e-5,-2.3508883014153373e-9,-4.081763984351799e-4,-3.945141594102922e-5,-2.34172318966217e-9,-4.0774310491620253e-4,-3.9258165010706924e-5,-2.3105104000586573e-9,-4.0739410414728915e-4,-3.899487440782558e-5,-2.2634068239480487e-9,-4.071530517716821e-4,-3.8715380711305496e-5,-2.2110648360130516e-9,-4.07012517735472e-4,-3.8474663908117465e-5,-2.1647814676881445e-9,-4.0694031503661626e-4,-3.83111097332982e-5,-2.132885090794267e-9,-4.0689355328915437e-4,-3.823811500140989e-5,-2.118905391336737e-9,-4.0683245131795863e-4,-3.824611552137267e-5,-2.121744169365106e-9,-4.0672875066320724e-4,-3.83106584547127e-5,-2.137053712749919e-9,-4.065681541205749e-4,-3.8401284561318635e-5,-2.1588842425524963e-9,-4.063489170280104e-4,-3.848820200325258e-5,-2.181051087605659e-9,-4.0607899542711783e-4,-3.854620981262006e-5,-2.198080022710527e-9,-4.0577321760118843e-4,-3.855665233157998e-5,-2.2057933114142437e-9,-4.054509336224549e-4,-3.850839314776131e-5,-2.2016348705458945e-9,-4.051339790749997e-4,-3.839848304650612e-5,-2.1848218714545927e-9,-4.0484452728607707e-4,-3.8232763492249975e-5,-2.1563917184551757e-9,-4.046024009615301e-4,-3.8026166396044666e-5,-2.1191704389762e-9,-4.0442170184689123e-4,-3.780206287518215e-5,-2.0776109012345515e-9,-4.043071522932379e-4,-3.7589916539575194e-5,-2.037394588277785e-9,-4.0425112417486777e-4,-3.7420805564781884e-5,-2.0046841607319565e-9,-4.0423270413599097e-4,-3.732108474951415e-5,-1.9850017433876396e-9,-4.042199941499895e-4,-3.7305461211264305e-5,-1.9818909364028005e-9,-4.041759729458141e-4,-3.7371576180890595e-5,-1.995722476799383e-9,-4.040669367934563e-4,-3.749819781395151e-5,-2.023080949156707e-9,-4.038714430168704e-4,-3.764824543910441e-5,-2.0570719150784504e-9,-4.0358723837979936e-4,-3.777652245214125e-5,-2.088652532821821e-9,-4.0323392522940814e-4,-3.784066890271968e-5,-2.108786263221883e-9,-4.028499668827034e-4,-3.7812733764463005e-5,-2.110917795052249e-9,-4.024839213955273e-4,-3.768809159565209e-5,-2.0930452841422504e-9,-4.0218154105103323e-4,-3.748838143603014e-5,-2.0586134771402745e-9,-4.0197245691300375e-4,-3.7256296497542606e-5,-2.0156987881971886e-9,-4.0186148165965595e-4,-3.7042976733979594e-5,-1.974586200188155e-9,-4.018283808339541e-4,-3.6892494178303976e-5,-1.944623987475064e-9,-4.0183608868270894e-4,-3.6829760565161567e-5,-1.9316327261505804e-9,-4.0184323029191903e-4,-3.685629057238657e-5,-1.9367984159228025e-9,-4.0181540972463755e-4,-3.6953941902521246e-5,-1.9571606390107712e-9,-4.0173160962337696e-4,-3.7093205760581396e-5,-1.9871078224997477e-9,-4.015852743493223e-4,-3.724183204408453e-5,-2.0200937211791826e-9,-4.013819118193629e-4,-3.737112093517171e-5,-2.0500268935527753e-9,-4.0113546642722405e-4,-3.745934046666174e-5,-2.072145790532876e-9,-4.008649162475529e-4,-3.749303145455463e-5,-2.0834320591036338e-9,-4.005915876567197e-4,-3.746722429672266e-5,-2.0827005722215756e-9,-4.00337051736825e-4,-3.7385338843855984e-5,-2.0705219071079996e-9,-4.0012112723467486e-4,-3.725911600757237e-5,-2.0491068141487655e-9,-3.9995945006566694e-4,-3.710838880148392e-5,-2.02219878218256e-9,-3.9986036290861937e-4,-3.696000071532959e-5,-1.9948926212214277e-9,-3.9982147601925637e-4,-3.684496081292581e-5,-1.9731958999948373e-9,-3.998270224104261e-4,-3.6793151712941985e-5,-1.9631309255681626e-9,-3.9984782850540707e-4,-3.6825820017548094e-5,-1.9693326621769157e-9,-3.9984567314217234e-4,-3.6947721487253395e-5,-1.9934475370821446e-9,-3.997823060669654e-4,-3.714229558595796e-5,-2.0329994613703186e-9,-3.996308094008664e-4,-3.7373115060623765e-5,-2.0814266273117242e-9,-3.99384988712439e-4,-3.759249203934011e-5,-2.1295566994293455e-9,-3.9906271036433164e-4,-3.775472405457742e-5,-2.1681019565900638e-9,-3.987016202917927e-4,-3.7829193936713294e-5,-2.190272534708571e-9,-3.9834887836798216e-4,-3.780875269054671e-5,-2.193608295241445e-9,-3.980485538263064e-4,-3.7711034648837475e-5,-2.1805271009791155e-9,-3.978305141809676e-4,-3.75729460791574e-5,-2.157555028882998e-9,-3.9770366530245046e-4,-3.744037328616604e-5,-2.1335311050243456e-9,-3.9765504299890545e-4,-3.735613027207092e-5,-2.1172878104897155e-9,-3.976546923721489e-4,-3.7349520461290274e-5,-2.1154458093897077e-9,-3.976645841027215e-4,-3.7430385886824955e-5,-2.1309453027747796e-9,-3.9764857481630915e-4,-3.7588969553787584e-5,-2.16269710822895e-9,-3.975803240688057e-4,-3.78008285196242e-5,-2.206328545718188e-9,-3.9744725472712117e-4,-3.8034406317778884e-5,-2.2556260006985536e-9,-3.972504331599879e-4,-3.825848207709496e-5,-2.304116143937135e-9,-3.970016678082849e-4,-3.8447576129588216e-5,-2.346328968114079e-9,-3.967195597523896e-4,-3.85847761019194e-5,-2.378535140950185e-9,-3.9642580202908984e-4,-3.8662499543895226e-5,-2.3989805580658325e-9,-3.9614227617272086e-4,-3.8682093918056946e-5,-2.407778956750608e-9,-3.9588887819566896e-4,-3.865305185717903e-5,-2.406662527805749e-9,-3.9568165300506234e-4,-3.8592229765188354e-5,-2.3987512411946675e-9,-3.9553072846361295e-4,-3.852295871827556e-5,-2.3883867003944353e-9,-3.9543774790634314e-4,-3.847345808670505e-5,-2.3809297326839213e-9,-3.9539305003282924e-4,-3.847364136251777e-5,-2.382287114028292e-9,-3.9537371824626544e-4,-3.854948972135635e-5,-2.397910865159832e-9,-3.9534454501332527e-4,-3.8715107497318946e-5,-2.4312142198376576e-9,-3.952641095528031e-4,-3.896460770802551e-5,-2.4818178598376683e-9,-3.9509636929992376e-4,-3.9268210077471814e-5,-2.5445577437541576e-9,-3.9482433024793544e-4,-3.957704143478872e-5,-2.6102337078048142e-9,-3.944590437311957e-4,-3.983728465279895e-5,-2.66827632892777e-9,-3.9403811672779804e-4,-4.000826568398732e-5,-2.7102607573795425e-9,-3.936136334447647e-4,-4.007582516475161e-5,-2.732568246881595e-9,-3.932354489171214e-4,-4.005509986930359e-5,-2.7370829288428234e-9,-3.9293735005261444e-4,-3.9983124149450465e-5,-2.730028550413103e-9,-3.927304162113228e-4,-3.990616554842289e-5,-2.7198283129693987e-9,-3.926037104670152e-4,-3.986712394333029e-5,-2.7148744382944538e-9,-3.925300340245018e-4,-3.989630581245046e-5,-2.721726552456415e-9,-3.924740322961887e-4,-4.000673567964125e-5,-2.7439566656949624e-9,-3.9240044960224226e-4,-4.0193797020507027e-5,-2.781711773518208e-9,-3.9228100027058804e-4,-4.043835453992976e-5,-2.8319939335662753e-9,-3.920988397429943e-4,-4.071220949346134e-5,-2.8895632795737313e-9,-3.918501286346216e-4,-4.098447018044798e-5,-2.9482215655903276e-9,-3.915428759247042e-4,-4.1227354423628e-5,-3.002126932202798e-9,-3.911938860598323e-4,-4.142035578932055e-5,-3.0468184632871506e-9,-3.908248865257149e-4,-4.1552391217979064e-5,-3.079773043002786e-9,-3.904587877773441e-4,-4.162213920665322e-5,-3.100490246668063e-9,-3.901166540589265e-4,-4.163716629526032e-5,-3.1102498369570066e-9,-3.898154596295406e-4,-4.1612528206521545e-5,-3.1117545046976984e-9,-3.895663343014008e-4,-4.15692477287104e-5,-3.108816873159751e-9,-3.893729274795302e-4,-4.1532643167673676e-5,-3.106122424164249e-9,-3.8922964958095066e-4,-4.1530120920376783e-5,-3.108959796232942e-9,-3.8911993547672825e-4,-4.158773400879558e-5,-3.1226873440949273e-9,-3.890154780111431e-4,-4.172477613316137e-5,-3.1516937951170783e-9,-3.8887832398421657e-4,-4.1946490302301866e-5,-3.1978260954989524e-9,-3.8866798799491536e-4,-4.2236923527193535e-5,-3.2587392014650204e-9,-3.883541075724722e-4,-4.255643026767475e-5,-3.3271796700881e-9,-3.879309179981178e-4,-4.2848970224092304e-5,-3.3923178303223024e-9,-3.874252936797595e-4,-4.3060086306725585e-5,-3.4432808142227515e-9,-3.8689085406422015e-4,-4.315822428367038e-5,-3.473343383367832e-9,-3.863889877673784e-4,-4.3147231358598694e-5,-3.4823712443678767e-9,-3.859670303418556e-4,-4.306282988945449e-5,-3.476235200012914e-9,-3.856450179732965e-4,-4.29567332020061e-5,-3.4640108169692097e-9,-3.8541502948697586e-4,-4.287851646215824e-5,-3.4548315486565543e-9,-3.852493149355605e-4,-4.2863147399264384e-5,-3.4556957290431317e-9,-3.851111325842977e-4,-4.2926194690833945e-5,-3.4704676625369628e-9,-3.849641750666217e-4,-4.306488479653104e-5,-3.4997555963823663e-9,-3.8477904449105344e-4,-4.326230537360815e-5,-3.541315667419064e-9,-3.845368505256895e-4,-4.349269606106779e-5,-3.5907716079917845e-9,-3.842305470775176e-4,-4.372677264988809e-5,-3.6425556238611925e-9,-3.838644713396162e-4,-4.393662457551494e-5,-3.690971057311515e-9,-3.834524001017426e-4,-4.4099766813166904e-5,-3.731195660582228e-9,-3.8301455462920074e-4,-4.4201952462350065e-5,-3.760022682061001e-9,-3.8257407697839317e-4,-4.42385677285092e-5,-3.776219192075404e-9,-3.821534971407641e-4,-4.42146190699868e-5,-3.78049345493217e-9,-3.8177167811354886e-4,-4.414353188785048e-5,-3.775176115440497e-9,-3.814415037458072e-4,-4.404520966037506e-5,-3.763795599090132e-9,-3.811682438952999e-4,-4.3943745048884684e-5,-3.750686091708826e-9,-3.8094841874788385e-4,-4.3864881721126706e-5,-3.740645067077998e-9,-3.807690606418496e-4,-4.383310219135978e-5,-3.738542478624394e-9,-3.8060747113549404e-4,-4.3868015094879415e-5,-3.7487069852998005e-9,-3.8043212896826716e-4,-4.397964230952124e-5,-3.77392849591353e-9,-3.8020614214202126e-4,-4.416283549922484e-5,-3.814126337469046e-9,-3.7989477348660916e-4,-4.43925934432593e-5,-3.8651369785543476e-9,-3.7947723172862823e-4,-4.462397219530305e-5,-3.918497560033356e-9,-3.789593875598948e-4,-4.4800964639163135e-5,-3.96317158934382e-9,-3.783796554624242e-4,-4.487522211492297e-5,-3.989310173516736e-9,-3.7780028171270733e-4,-4.482731494297352e-5,-3.992457390009027e-9,-3.772848187336151e-4,-4.4677289049787794e-5,-3.975587279866091e-9,-3.768738589342568e-4,-4.4476302813578715e-5,-3.947557776892742e-9,-3.765731596693725e-4,-4.4284647088400656e-5,-3.919157973229763e-9,-3.763583684669076e-4,-4.415011216339383e-5,-3.8993178944763496e-9,-3.7618935482083637e-4,-4.409689236608701e-5,-3.893153730927883e-9,-3.760245905568384e-4,-4.412564418670974e-5,-3.901816527226052e-9,-3.758305281239963e-4,-4.4219737409461237e-5,-3.923290331122069e-9,-3.755856622553639e-4,-4.435289044370741e-5,-3.953443754350989e-9,-3.752809867131644e-4,-4.449563849145108e-5,-3.987032034029203e-9,-3.749186681115099e-4,-4.462002058569582e-5,-4.018598786101294e-9,-3.745100126286204e-4,-4.4702883418774216e-5,-4.043293546650498e-9,-3.740730272909859e-4,-4.472824114947566e-5,-4.057558558959361e-9,-3.736296275242296e-4,-4.4688796131403827e-5,-4.059581153155581e-9,-3.732025909944763e-4,-4.4586579231906474e-5,-4.049448013925343e-9,-3.7281240901532864e-4,-4.4432606619089756e-5,-4.029008414573869e-9,-3.724743361521061e-4,-4.4245446122239154e-5,-4.001513612609417e-9,-3.7219604683176886e-4,-4.404881315412431e-5,-3.971147889469539e-9,-3.719761559946201e-4,-4.386851506422404e-5,-3.942550572712875e-9,-3.718036869016746e-4,-4.3729011292962504e-5,-3.920339561133363e-9,-3.716585476438696e-4,-4.364979112255484e-5,-3.908574248164302e-9,-3.715130942800803e-4,-4.364173138022532e-5,-3.910078188684471e-9,-3.713350457921283e-4,-4.370352841575415e-5,-3.925586069346227e-9,-3.7109238380513845e-4,-4.3818651024463044e-5,-3.9528488394828995e-9,-3.707607845405598e-4,-4.395425389302266e-5,-3.986112633364346e-9,-3.7033298488081413e-4,-4.406449097933762e-5,-4.01659369367896e-9,-3.698271408886742e-4,-4.4100617660546984e-5,-4.034478858226037e-9,-3.6928850300559833e-4,-4.402761136944001e-5,-4.032309510928544e-9,-3.6877886950402043e-4,-4.3841161627626426e-5,-4.008397336623387e-9,-3.68354844176475e-4,-4.3574127073054776e-5,-3.9681227490621515e-9,-3.680456442399449e-4,-4.328536888044946e-5,-3.921896540270247e-9,-3.678438514995482e-4,-4.303605390842075e-5,-3.88088052714649e-9,-3.6771344272492777e-4,-4.286765668321312e-5,-3.853066475373028e-9,-3.6760744211130974e-4,-4.279271827029995e-5,-3.841571155142976e-9,-3.6748400287878505e-4,-4.279868404809011e-5,-3.845110101089603e-9,-3.6731503805980255e-4,-4.2858040425471004e-5,-3.859505188909107e-9,-3.670878782353395e-4,-4.293828963274571e-5,-3.879232548481663e-9,-3.668030259099282e-4,-4.300887457302174e-5,-3.8986149146387406e-9,-3.664707239972699e-4,-4.304497730933188e-5,-3.912649349560868e-9,-3.6610775839668016e-4,-4.302929792015812e-5,-3.917575783781463e-9,-3.657347454762509e-4,-4.295287241734541e-5,-3.911245377621743e-9,-3.653736412651876e-4,-4.2815417391808795e-5,-3.893281236926014e-9,-3.650452228879931e-4,-4.2625259277326516e-5,-3.865029786249455e-9,-3.6476641984123815e-4,-4.239866016669585e-5,-3.8293301914713776e-9,-3.645476115673927e-4,-4.215819173345968e-5,-3.790137077788593e-9,-3.643903517009124e-4,-4.192994909126311e-5,-3.752032661708107e-9,-3.642861036996599e-4,-4.173977362622034e-5,-3.71966635491313e-9,-3.642164327955368e-4,-4.160892942215545e-5,-3.697132215015159e-9,-3.641549093482707e-4,-4.1549858066543754e-5,-3.6872863278909777e-9,-3.6407072313266787e-4,-4.1562773802817286e-5,-3.6910546876715064e-9,-3.639337297548633e-4,-4.1633785245227165e-5,-3.706842402789998e-9,-3.637205402382895e-4,-4.17351263688552e-5,-3.730239026226662e-9,-3.634210733541716e-4,-4.182826882524199e-5,-3.7543125950062615e-9,-3.6304426985984744e-4,-4.187077889867399e-5,-3.770791848359487e-9,-3.626205679360432e-4,-4.1827023967553126e-5,-3.772195287003563e-9,-3.621980590998262e-4,-4.168082324199709e-5,-3.754465893092228e-9,-3.6183040236259707e-4,-4.144515737090433e-5,-3.719051514202747e-9,-3.615588707716338e-4,-4.1162290906568653e-5,-3.6731031521314867e-9,-3.61396538504054e-4,-4.089083947416614e-5,-3.627175685529882e-9,-3.6132387086853867e-4,-4.0684523717909506e-5,-3.5913642442355727e-9,-3.612984871112935e-4,-4.057381858184938e-5,-3.57191628278744e-9,-3.6127263538453984e-4,-4.0559572504084276e-5,-3.5699106570700582e-9,-3.6120844626298833e-4,-4.061897653845609e-5,-3.5820719173724824e-9,-3.610852118619653e-4,-4.0717434213808e-5,-3.6026558942381903e-9,-3.608991626924136e-4,-4.0819528038116416e-5,-3.625305177385425e-9,-3.6065929725962267e-4,-4.0895889554540754e-5,-3.644354040211268e-9,-3.6038248887045136e-4,-4.092611299111932e-5,-3.6555594903413846e-9,-3.6008948797461456e-4,-4.089924983103489e-5,-3.6564197922185135e-9,-3.598020583044798e-4,-4.0813324951301555e-5,-3.6462285238279096e-9,-3.5954081132138837e-4,-4.06746448702424e-5,-3.625955167087689e-9,-3.593232203764928e-4,-4.049706401005377e-5,-3.5980159849031315e-9,-3.591614767911618e-4,-4.030096233320472e-5,-3.5659792059672047e-9,-3.5906017581369425e-4,-4.011143008152642e-5,-3.5342021902016163e-9,-3.590142746293756e-4,-3.9955202075565014e-5,-3.5073577657903728e-9,-3.5900813493897933e-4,-3.9856294031816824e-5,-3.4898049410216977e-9,-3.590165228657977e-4,-3.9830885148132995e-5,-3.484809323888809e-9,-3.5900811619758537e-4,-3.988259608517585e-5,-3.4937187933879266e-9,-3.589513508368191e-4,-3.9999692692636196e-5,-3.515316951993148e-9,-3.588215300116031e-4,-4.015553409221791e-5,-3.5456245459726613e-9,-3.586074994236263e-4,-4.031277515563591e-5,-3.578347724118303e-9,-3.5831611404968134e-4,-4.0430887172238557e-5,-3.6060328154525907e-9,-3.5797300106842354e-4,-4.0475752013014714e-5,-3.621798180660383e-9,-3.5761860209188446e-4,-4.0429328523306393E-05,-3.6212892232579545e-9,-3.572993273213688e-4,-4.029669010026284e-5,-3.604282007806e-9,-3.5705516107877836e-4,-4.01074134564653e-5,-3.575261109336151e-9,-3.56907171864305e-4,-3.990910227757714e-5,-3.542466178765705e-9,-3.5685000952815797e-4,-3.975360446642084e-5,-3.51546370509442e-9,-3.568535768631939e-4,-3.968060851260814e-5,-3.502095452651505e-9,-3.568738387353768e-4,-3.9705767185260144e-5,-3.506123139270059e-9,-3.568676969066613e-4,-3.981847075560239e-5,-3.526548679024781e-9,-3.568050583051709e-4,-3.9988930782059254e-5,-3.558632436406407e-9,-3.56673931076042e-4,-4.017965642244248e-5,-3.595815124716367e-9,-3.564788653472729e-4,-4.035578451744323e-5,-3.631596410599711e-9,-3.562358193015023e-4,-4.049130472750036e-5,-3.6608170038248088e-9,-3.5596655047241536e-4,-4.057119598922274e-5,-3.6802591959901357e-9,-3.556941971200325e-4,-4.059099060777297e-5,-3.688733399766354e-9,-3.554403466676326e-4,-4.055530827745248e-5,-3.6868596918516015e-9,-3.552231502274103e-4,-4.047630480756108e-5,-3.6767210257453985e-9,-3.550558309426621e-4,-4.0372330118324426e-5,-3.6615103358701634e-9,-3.549450842029947e-4,-4.0266541812810685e-5,-3.6452166207126978e-9,-3.5488926874896996e-4,-4.018488717008979e-5,-3.6323023478007748e-9,-3.5487679855453013e-4,-4.0152863925988295e-5,-3.6272565039705226e-9,-3.5488564634128154e-4,-4.019082120417089e-5,-3.6339063053833576e-9,-3.548851821818268e-4,-4.030831790087331e-5,-3.6544836887830023e-9,-3.548412788564619e-4,-4.049915486044093e-5,-3.6886696467672877e-9,-3.547243771613122e-4,-4.073952000048624e-5,-3.733057102710848e-9,-3.5451840841679887e-4,-4.0991294984085655e-5,-3.781467494098887e-9,-3.5422725173712733e-4,-4.121070540757682e-5,-3.826258266543762e-9,-3.538757710829669e-4,-4.136004087638724e-5,-3.8603033376723175e-9,-3.53504443877645e-4,-4.1418554823238366e-5,-3.879000807542093e-9,-3.5315908496719346e-4,-4.1388813578662445e-5,-3.881636157749867e-9,-3.528788443462086e-4,-4.1296476166252965e-5,-3.871679975513234e-9,-3.5268596813342254e-4,-4.118364620333568e-5,-3.855939529728651e-9,-3.525801622010045e-4,-4.109766926615156e-5,-3.84277572321506e-9,-3.5253922633776333e-4,-4.107846753507557e-5,-3.839853266345332e-9,-3.5252589900936437e-4,-4.1148172477191464e-5,-3.852089139473279e-9,-3.5249873593641004e-4,-4.130635182893659e-5,-3.880468677924388e-9,-3.524232758040045e-4,-4.153215835850133e-5,-3.922098707575269e-9,-3.5227977421103506e-4,-4.179200475176239e-5,-3.971370515911904e-9,-3.5206553777650213e-4,-4.2049383308559924e-5,-4.02168889154195e-9,-3.517923456022032e-4,-4.22732706596802e-5,-4.067108127961648e-9,-3.5148116482799436e-4,-4.2443054420599876e-5,-4.103423630040207e-9,-3.5115656427665365e-4,-4.254990072284108e-5,-4.128602719456839e-9,-3.508422977149487e-4,-4.259571927212223e-5,-4.1426852963775e-9,-3.505584283820493e-4,-4.2591075740938084e-5,-4.1473814440995675e-9,-3.503196597354921e-4,-4.2553010117369735e-5,-4.145588069811775e-9,-3.5013425081355416e-4,-4.250315194947812e-5,-4.140977734111264e-9,-3.5000296732766683e-4,-4.246594915992028e-5,-4.1376949637137355e-9,-3.4991789475969336e-4,-4.2466442610266224e-5,-4.140069290235601e-9,-3.4986146693382345e-4,-4.252696515740907e-5,-4.152177172551735e-9,-3.498066307483597e-4,-4.266243723623054e-5,-4.177099698568324e-9,-3.497195305195477e-4,-4.287472041112924e-5,-4.215884841538455e-9,-3.495659175480646e-4,-4.31478811621325e-5,-4.266536865943841e-9,-3.4932096349046604e-4,-4.3447520413318964e-5,-4.323660910585198e-9,-3.4897946134101256e-4,-4.372699512012349e-5,-4.379354851830018e-9,-3.4856132871286715e-4,-4.394038767390347e-5,-4.425380590164783e-9,-3.481082489458901e-4,-4.4057719624662955e-5,-4.455829749739181e-9,-3.4767160295073125e-4,-4.407548988414973e-5,-4.469069235668393e-9,-3.4729671592580966e-4,-4.401761276765464e-5,-4.468122927844235e-9,-3.470101043459885e-4,-4.392694681445468e-5,-4.459514042827404e-9,-3.4681399513372885e-4,-4.3851866775344917e-5,-4.4512484058967996e-9,-3.466884675872167e-4,-4.383320048423082e-5,-4.450711814114548e-9,-3.465989335162038e-4,-4.3895141685846634e-5,-4.463003731704032e-9,-3.4650592936654275e-4,-4.404155435899953e-5,-4.4899789588464385e-9,-3.4637451628011674e-4,-4.425746261242522e-5,-4.53010146035591e-9,-3.46181278482088e-4,-4.451449326164072e-5,-4.579071229769213e-9,-3.459177599712526e-4,-4.477844122387709e-5,-4.631023039653653e-9,-3.4559013570456575e-4,-4.501691233562397e-5,-4.679952084717743e-9,-3.452158716119919e-4,-4.520525913805162e-5,-4.720973867124305e-9,-3.4481879495999203e-4,-4.532981541959789e-5,-4.7511223937350465e-9,-3.4442408015957925e-4,-4.538843813449534e-5,-4.769589480143558e-9,-3.440542089166945e-4,-4.5389084894805184e-5,-4.7774936884748956e-9,-3.437263070319252e-4,-4.534740102436488e-5,-4.77738576894948e-9,-3.4345067735983324e-4,-4.5284143124787143e-5,-4.772713716467364e-9,-3.4323003778487113e-4,-4.5222842054429787e-5,-4.76739691027074e-9,-3.4305901194424496e-4,-4.518761784714889e-5,-4.765524511352927e-9,-3.429236989818069e-4,-4.52007347246193e-5,-4.771068404277782e-9,-3.428015696217947e-4,-4.5279382227483e-5,-4.787430575127021e-9,-3.426625060919474e-4,-4.543136538951815e-5,-4.8166784633623644E-09,-3.424723163020663e-4,-4.565015092623224e-5,-4.858517932523486e-9,-3.4219991287895055e-4,-4.591113849483137e-5,-4.9093917591879784e-9,-3.418278103507178e-4,-4.6172490727433865e-5,-4.962406765475092e-9,-3.413624942079579e-4,-4.6383736833411844e-5,-5.008742784565768e-9,-3.408383536332906e-4,-4.650185695871724e-5,-5.040476506469633e-9,-3.4030994982600497e-4,-4.650853684917004e-5,-5.053640312983224e-9,-3.398339484712107e-4,-4.641889431496161e-5,-5.0498114969366615e-9,-3.394494690556336e-4,-4.627597601679743e-5,-5.03533340901495e-9,-3.3916682212753793e-4,-4.6134299214963423e-5,-5.018789578479401e-9,-3.389684970747851e-4,-4.60416761329767e-5,-5.0082068715226695e-9,-3.388189563580666e-4,-4.602714616208865e-5,-5.009119290870518e-9,-3.386770001401216e-4,-4.609734320211425e-5,-5.023773996416256e-9,-3.385060967047203e-4,-4.623938128036451e-5,-5.051224680335727e-9,-3.382808819877009e-4,-4.642712042057251e-5,-5.0879722483668916e-9,-3.3798991630609986e-4,-4.662831095629719e-5,-5.128915587919849e-9,-3.3763548039858775e-4,-4.6811176467318076e-5,-5.16845422831316e-9,-3.3723121913479214e-4,-4.694969103565298e-5,-5.201576989894772e-9,-3.367983998553216e-4,-4.7027084779648636e-5,-5.224733145745607e-9,-3.3636159656376993e-4,-4.703738149569362e-5,-5.236319126134027e-9,-3.359445418555763e-4,-4.698513068870385e-5,-5.236724866703748e-9,-3.3556670577894265e-4,-4.688372871358966e-5,-5.228009274195705e-9,-3.3524095168534554e-4,-4.675286146676685e-5,-5.213367901026198e-9,-3.3497229454820115e-4,-4.661567260074138e-5,-5.196589566113095e-9,-3.3475746495397114e-4,-4.6496053972731513e-5,-5.181629379466889e-9,-3.3458496403935856e-4,-4.6416067332450106e-5,-5.172290074158099e-9,-3.3443550989848553e-4,-4.639329367171046e-5,-5.171902756508261e-9,-3.3428303229029717e-4,-4.64378573046309e-5,-5.182859497219969e-9,-3.3409679136510515e-4,-4.654895942300463e-5,-5.205901867299847e-9,-3.3384565314112754e-4,-4.671137333713532e-5,-5.2392644177281354e-9,-3.3350538321036714e-4,-4.689360879171389e-5,-5.278078891925973e-9,-3.330683964243518e-4,-4.705068211910057e-5,-5.314688239576653e-9,-3.3255256023083976e-4,-4.713428191609814e-5,-5.340419822664278e-9,-3.3200274383931173e-4,-4.71097541805525e-5,-5.3486420687704235e-9,-3.314797357602177e-4,-4.6972927801329136e-5,-5.337761831657595e-9,-3.3103860655846234e-4,-4.67558263411006e-5,-5.312260680512601e-9,-3.307076685003807e-4,-4.651535747158061e-5,-5.28090259224886e-9,-3.30480214378984e-4,-4.6310845214460665e-5,-5.2532057684234896e-9,-3.303220348953695e-4,-4.618357322333606e-5,-5.236272390095169e-9,-3.301874844254908e-4,-4.61477186883596e-5,-5.233313814606197e-9,-3.3003452239918076e-4,-4.619282888887948e-5,-5.243799607308075e-9,-3.2983367667361197e-4,-4.6292393090905275e-5,-5.264447531098321e-9,-3.2957087722242947e-4,-4.6413211027825386e-5,-5.2904004316313725e-9,-3.2924630863698787e-4,-4.652281087401979e-5,-5.316302669134748e-9,-3.288714144932077e-4,-4.659436358753661e-5,-5.337217434375077e-9,-3.284653025069503e-4,-4.6609576179093505e-5,-5.349376028202255e-9,-3.2805103471112654e-4,-4.656006986482792e-5,-5.35069069746132e-9,-3.2765205016821133e-4,-4.6447489372098676E-05,-5.340948027169847e-9,-3.2728894386480116e-4,-4.628254233746377e-5,-5.321669265696422e-9,-3.2697676918230653e-4,-4.608314579988514e-5,-5.295709141439522e-9,-3.2672307735294367e-4,-4.5871826451843845e-5,-5.266715731905392e-9,-3.265269163253492e-4,-4.567268490866273e-5,-5.238595811180517e-9,-3.263787833299249e-4,-4.5508326939279494e-5,-5.2150856928611045e-9,-3.262613612892449e-4,-4.5396953226487785e-5,-5.199410066665686e-9,-3.26150973687626e-4,-4.5349627530952965e-5,-5.193932690177878e-9,-3.2601983786595027e-4,-4.5367769831319596e-5,-5.1997081785981995e-9,-3.2583937029624085e-4,-4.544098475670977e-5,-5.215918457321146e-9,-3.2558503734766617e-4,-4.554569690961154e-5,-5.2393381578890325e-9,-3.252430307869566e-4,-4.5645933134909383e-5,-5.264196058241929e-9,-3.248178384294444e-4,-4.56983335628188e-5,-5.282923877448141e-9,-3.2433764411315686e-4,-4.566298738150629e-5,-5.288101154267343e-9,-3.238524934028116e-4,-4.55187894312056e-5,-5.275271384380036e-9,-3.2342122598822694e-4,-4.527677794176033e-5,-5.245365700942163e-9,-3.230898582700321e-4,-4.498163827286755e-5,-5.205044425823437e-9,-3.228725935037573e-4,-4.469651453348592e-5,-5.164266989512154e-9,-3.2274750094473347e-4,-4.4478159074842894e-5,-5.13235180184745e-9,-3.226689152698676e-4,-4.435700005748701e-5,-5.114830829337623e-9,-3.225871774071815e-4,-4.433186738587753e-5,-5.112508862693316e-9,-3.2246425807672813e-4,-4.437776497525427e-5,-5.1224162241922625e-9,-3.2228031504722966e-4,-4.445858657848031e-5,-5.139485592758135e-9,-3.2203286741891803e-4,-4.4538062588412724E-05,-5.1580709737048375e-9,-3.217324318411406e-4,-4.4586481028774453E-05,-5.173027330322962e-9,-3.213975733128406e-4,-4.458364652752997e-5,-5.180397855754135e-9,-3.210507152123642e-4,-4.451955192695055e-5,-5.177821168001773e-9,-3.20714821071863e-4,-4.43939735421001e-5,-5.164703758157465e-9,-3.2041064399458284e-4,-4.421548906702248e-5,-5.1421458139077516e-9,-3.2015437220027257e-4,-4.400000934734236e-5,-5.112638550353013e-9,-3.199556359923085e-4,-4.3768795235697604e-5,-5.079609309330488e-9,-3.1981598750983545e-4,-4.354585021416585e-5,-5.046904699548832e-9,-3.197281840014739e-4,-4.3354726543107915e-5,-5.018289250760496e-9,-3.196765829420705e-4,-4.321510531744181e-5,-4.997015044656991e-9,-3.1963870183165634e-4,-4.313959806056474e-5,-4.985452141399794e-9,-3.195878597550035e-4,-4.313112514042971e-5,-4.984725308729074e-9,-3.1949679113388595e-4,-4.318123126172128e-5,-4.994338339842217e-9,-3.1934206103072054e-4,-4.326970683766678e-5,-5.0118522340722995e-9,-3.191090769027233e-4,-4.336592775766331e-5,-5.032784985900198e-9,-3.1879727330728615e-4,-4.3432619842126424e-5,-5.0510003085641095e-9,-3.184242585414621e-4,-4.3432905625344e-5,-5.059844813029959e-9,-3.180265341602522e-4,-4.3340679734383175e-5,-5.054050804727019e-9,-3.1765375634226675e-4,-4.315212077889462e-5,-5.031931810784182e-9,-3.173550483018549e-4,-4.289299386726835e-5,-4.996837554368338e-9,-3.1716080997909414e-4,-4.261505262909454e-5,-4.9567039021442e-9,-3.170692069796597e-4,-4.237923706416617e-5,-4.921374850462595e-9,-3.170465026363197e-4,-4.223264659485568e-5,-4.898891858407981e-9,-3.170418960140496e-4,-4.21921256965402e-5,-4.892790866082162e-9,-3.1700761388347835e-4,-4.224278875220216e-5,-4.901672313350512e-9,-3.169131831034806e-4,-4.234911923149743e-5,-4.920678900423363e-9,-3.16749371627084e-4,-4.246978287171236e-5,-4.943593716023741e-9,-3.165243898644444e-4,-4.2568904032282556e-5,-4.964541739482594e-9,-3.1625720934575716e-4,-4.262161789567898e-5,-4.9789925323940574e-9,-3.159714090148497e-4,-4.2615163483100204e-5,-4.984192983307216e-9,-3.1569080936814757e-4,-4.254769010175503e-5,-4.979239205595006e-9,-3.154366980394452e-4,-4.242640923152246e-5,-4.964927408765917e-9,-3.1522594108550356e-4,-4.226576420878259e-5,-4.9434488536958256e-9,-3.150694594909588e-4,-4.2085617046374826e-5,-4.9179780034059015e-9,-3.1497088780468846e-4,-4.190919872197873e-5,-4.892216555795521e-9,-3.1492551795328115e-4,-4.1760510317359374e-5,-4.869937621819285e-9,-3.1491993926755705e-4,-4.166103135750512e-5,-4.85453930904946e-9,-3.1493292291119807e-4,-4.162602317937051e-5,-4.8486082924002386e-9,-3.149378852148921e-4,-4.166109759027768e-5,-4.853496717228234e-9,-3.149068763252208e-4,-4.1759869297922245e-5,-4.8689420569251265e-9,-3.1481563886056355e-4,-4.1903492821241635e-5,-4.892817724760096e-9,-3.146489018901334e-4,-4.206263788736928e-5,-4.921152563389806e-9,-3.1440486675449474e-4,-4.220199291018188e-5,-4.948556753677259e-9,-3.1409782736031844e-4,-4.2286972882281444e-5,-4.969141215356648e-9,-3.1375783301927705e-4,-4.229193221838251e-5,-4.9779020409811375e-9,-3.1342629281164673e-4,-4.2208473219180394e-5,-4.972322659694826e-9,-3.131469410284784e-4,-4.205134100763301e-5,-4.953675901336095e-9,-3.129532228356514e-4,-4.185850783786602e-5,-4.927339367737182e-9,-3.128559402293983e-4,-4.168268583803075e-5,-4.901590331357037e-9,-3.128372712174129e-4,-4.157504774094596e-5,-4.884996661975068e-9,-3.1285591758021213e-4,-4.1567376446027606e-5,-4.883435028626847e-9,-3.1286216261514294e-4,-4.166161325502891e-5,-4.898203035129861e-9,-3.128152510161355e-4,-4.1832011412133305e-5,-4.926093299613993e-9,-3.1269456478840265e-4,-4.2037319835952676e-5,-4.96108661782143e-9,-3.1250114325379443e-4,-4.2235381879465134e-5,-4.996540702951394e-9,-3.1225205877241923e-4,-4.239361488219513e-5,-5.026892948270938e-9,-3.119724750885652e-4,-4.249330688871886e-5,-5.048533140222312e-9,-3.116889276893549e-4,-4.252921835778996e-5,-5.059987008882629e-9,-3.1142503078342897e-4,-4.25069961860904e-5,-5.0616921955618265e-9,-3.111992283429283e-4,-4.244023805497469e-5,-5.055583300773006e-9,-3.1102368764590496e-4,-4.234797844643438e-5,-5.044617784933671e-9,-3.1090358734081304e-4,-4.22526006575234e-5,-5.032321067688745e-9,-3.108364399804756e-4,-4.217778740604939e-5,-5.022387283844178e-9,-3.108115257297438e-4,-4.214600986581236e-5,-5.018313830814128e-9,-3.1080993296466673e-4,-4.2175257475328325e-5,-5.023008475613783e-9,-3.1080593916080375e-4,-4.227521362395652e-5,-5.038322479284464e-9,-3.1077034837130563e-4,-4.244369565068855e-5,-5.06453984568056e-9,-3.1067585579162317e-4,-4.266468404943358e-5,-5.099969884051941e-9,-3.105035849258535e-4,-4.290936505875487e-5,-5.140877929168914e-9,-3.1024899896644803e-4,-4.314094465863473e-5,-5.181956628701638e-9,-3.0992505626402714e-4,-4.332264950955875e-5,-5.217361941575282e-9,-3.095610883380589e-4,-4.342700451466909e-5,-5.2421145403966415e-9,-3.091971222357173e-4,-4.3443817524911114e-5,-5.253502474396329e-9,-3.088746927985775e-4,-4.338445254519018e-5,-5.252067765269822e-9,-3.086262289687441e-4,-4.328075377912741e-5,-5.241813665026146e-9,-3.084657459880443e-4,-4.317815751980895e-5,-5.229427402694319e-9,-3.083838136062314e-4,-4.312402180818095e-5,-5.222569664693657e-9,-3.083492587428513e-4,-4.315408297432371e-5,-5.227650075739371e-9,-3.083181203766566e-4,-4.328165458806027e-5,-5.247856867561176e-9,-3.082471429138195e-4,-4.349411061585933e-5,-5.2822613795529054e-9,-3.081064848257633e-4,-4.375827146070421e-5,-5.3263709887758225e-9,-3.0788661043989416e-4,-4.403198008161343e-5,-5.373792020884821e-9,-3.0759759139367557e-4,-4.4276497491867025e-5,-5.418190385136207e-9,-3.072628362842785e-4,-4.4465056129220834e-5,-5.454790327401472e-9,-3.0691106900856074e-4,-4.458588788817899e-5,-5.481074258715986e-9,-3.0656967318466223e-4,-4.4640878311394534e-5,-5.496772186340735e-9,-3.0626062010192915e-4,-4.464213768265969e-5,-5.5034243148592386e-9,-3.0599865177202766e-4,-4.460833959835805e-5,-5.503787246380918e-9,-3.057908013060658e-4,-4.4561687503291136e-5,-5.501265100167681e-9,-3.0563641143263365e-4,-4.4525580714277986e-5,-5.4994619326435316e-9,-3.0552715792361276e-4,-4.4522582031122806e-5,-5.501861033144501e-9,-3.0544706109613843e-4,-4.457210286773981e-5,-5.511548919490009e-9,-0.00030537297561927964,-4.4687381552856436e-5,-5.5308628299553145e-9]} \ No newline at end of file diff --git a/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_8.json b/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_8.json new file mode 100644 index 0000000..777c056 --- /dev/null +++ b/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_8.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1.0,"startIndex":8000,"numberOfSamples":1000,"samples":[-3.0527640252829807e-4,-4.487182696660493e-5,-5.56088448082571e-9,-3.051274863200565e-4,-4.511556230951057e-5,-5.6008437940501195e-9,-3.049014822200931e-4,-4.5393887171247894e-5,-5.647698563779582e-9,-3.045865825423837e-4,-4.566978863347711e-5,-5.696284894052496e-9,-3.041902526794886e-4,-4.590165294193654e-5,-5.7403050551512475e-9,-3.0374053440293064e-4,-4.605480630272924e-5,-5.774008768966934e-9,-3.032803042778928e-4,-4.6112832816305496e-5,-5.793973590280497e-9,-3.028557483245855e-4,-4.608383761616052e-5,-5.800251345674449e-9,-3.025032355259023e-4,-4.599882516164128e-5,-5.796427523208801e-9,-3.022393949447573e-4,-4.5902896545994185e-5,-5.788631331365615e-9,-3.020574267495867e-4,-4.5842714571687194e-5,-5.7838921806700334e-9,-3.019300694661608e-4,-4.585434504667538e-5,-5.7883384069394884e-9,-3.0181769376023336e-4,-4.595468543172006e-5,-5.805682519418446e-9,-3.0167899235319e-4,-4.613834629665025e-5,-5.83635658405951e-9,-3.014813398322303e-4,-4.638044052124705e-5,-5.877534282545917e-9,-3.0120806044062887e-4,-4.664417952898078e-5,-5.924029708374941e-9,-3.008608032921932e-4,-4.689076983299546e-5,-5.969769115749644e-9,-3.004568895018775e-4,-4.70885065576558e-5,-6.009334760264992e-9,-3.000232042040917e-4,-4.7218579979817117e-5,-6.039104695872155e-9,-2.995891071912802e-4,-4.72766796425179e-5,-6.057736521969508e-9,-2.9918053358217385e-4,-4.7271135672653113e-5,-6.066024169441235e-9,-2.9881634126882297e-4,-4.721922325858296e-5,-6.066350982343671e-9,-2.9850682571005375e-4,-4.714317647578276e-5,-6.0620073426491385e-9,-2.982536857147729e-4,-4.706682514849363e-5,-6.056588919504954e-9,-2.9805063249734796e-4,-4.7013055973122464e-5,-6.053577596287479e-9,-2.978841024009395e-4,-4.700177778028711e-5,-6.0560846647952315e-9,-2.97733963612634e-4,-4.7047861809806975e-5,-6.066639640409404e-9,-2.975745746966664e-4,-4.715862391952254e-5,-6.086875521052076e-9,-2.9737697702912646e-4,-4.733079302488828e-5,-6.117026762619431e-9,-2.9711318240313096e-4,-4.754766231303244e-5,-6.1553289826818086e-9,-2.967630328757633e-4,-4.777820603997843e-5,-6.1976547684464505e-9,-2.963225516133362e-4,-4.7980702799556336e-5,-6.237878353608434e-9,-2.9581034269964766e-4,-4.8112531767448336e-5,-6.26929277722192e-9,-2.952671701271256e-4,-4.8144449769795835e-5,-6.286810452998715e-9,-2.9474584957997816e-4,-4.807330163392616e-5,-6.28897999422168e-9,-2.942942146728656e-4,-4.7925741507049555e-5,-6.278697823265868e-9,-2.939390776646052e-4,-4.774982986598883e-5,-6.2621933111198565e-9,-2.9367888471910724e-4,-4.759858957460034e-5,-6.246887112949443e-9,-2.9348722961036977e-4,-4.751366495959348e-5,-6.239195834786848e-9,-2.933236015115482e-4,-4.7515401306169104e-5,-6.243051945843658e-9,-2.9314581436119905e-4,-4.760093779409941e-5,-6.2593279168203955e-9,-2.9292007500896937e-4,-4.774844549298213e-5,-6.286013467788338e-9,-2.926269983387905e-4,-4.792463505513392e-5,-6.318926256564662e-9,-2.9226350769051096e-4,-4.80930810595307e-5,-6.352759512595941e-9,-2.918412941194005e-4,-4.822168516898902e-5,-6.382264012712696e-9,-2.9138274761924426e-4,-4.8288192173938596e-5,-6.4033284884177525e-9,-2.9091546827443674e-4,-4.828307144331461e-5,-6.4137142155758484e-9,-2.904666459630382e-4,-4.820960531850297e-5,-6.413290100567614e-9,-2.9005845372039675e-4,-4.808169188193544e-5,-6.403779607548024e-9,-2.897051121066428e-4,-4.7920298339887756e-5,-6.388175539851937e-9,-2.894117280467004e-4,-4.77495594070045e-5,-6.3700487926475646e-9,-2.891745460224369e-4,-4.7593309240161246e-5,-6.352958916462981e-9,-2.889819981834109e-4,-4.7472392700331755e-5,-6.340071065896678e-9,-2.8881605249833365e-4,-4.740260960082055e-5,-6.333942633116508e-9,-2.886536932128631e-4,-4.739292957383811e-5,-6.336355114475078e-9,-2.884687014832789e-4,-4.7443667570689896e-5,-6.348050662755428e-9,-2.8823427250380447e-4,-4.754452904089668e-5,-6.368308311532382e-9,-2.879272735231633e-4,-4.767303651414079e-5,-6.394467888137689e-9,-2.875345818250315e-4,-4.7794856179294424e-5,-6.4217381728864196e-9,-2.8706055734247936e-4,-4.786832012302628e-5,-6.443756519509059e-9,-2.865324198422822e-4,-4.785486234755549e-5,-6.4542037210419195e-9,-2.859983895327293e-4,-4.773390713864742e-5,-6.449179015088165e-9,-2.8551497623516194e-4,-4.7515537099475336e-5,-6.429222290163076e-9,-2.8512656698742036e-4,-4.724172825041583e-5,-6.399602792241161e-9,-2.8484791237568235e-4,-4.697228518879425e-5,-6.368414825098121e-9,-2.846599731981497e-4,-4.676227057336778e-5,-6.343524830079535e-9,-2.845204990113826e-4,-4.664360730421715e-5,-6.330077698450703e-9,-2.8438137789211793e-4,-4.661903031892221e-5,-6.32954910609419e-9,-2.842033332610527e-4,-4.666740117899054e-5,-6.340163616828402e-9,-2.8396352830062366e-4,-4.6754274987887116e-5,-6.357961127061933e-9,-2.836566692220362e-4,-4.684229725179311e-5,-6.377959739889069e-9,-2.8329216427076527e-4,-4.689886773239183e-5,-6.395189096969708e-9,-2.828896488527907e-4,-4.6900720390375284e-5,-6.405540596281919e-9,-2.824742018907562e-4,-4.6836037546351875e-5,-6.4064023526000905e-9,-2.8207178859335354e-4,-4.670471097933904e-5,-6.397002591025266e-9,-2.817052464373959e-4,-4.6517083949337426e-5,-6.378389721142845e-9,-2.8139115347079264e-4,-4.629149712487325e-5,-6.3530658178796655e-9,-2.811378256204399e-4,-4.605106192105769e-5,-6.324396845660935e-9,-2.8094456582733565e-4,-4.582011369839805e-5,-6.295969795469077e-9,-2.8080213121061873e-4,-4.562084808863251e-5,-6.271061910825657e-9,-2.806941282722342e-4,-4.547056083835451e-5,-6.252305778500468e-9,-2.805989529923734e-4,-4.537959014034061e-5,-6.241511789741509e-9,-2.80492067241958e-4,-4.5349843601162954e-5,-6.239532828776588e-9,-2.803485913613245e-4,-4.5373805665704785e-5,-6.246068068716576e-9,-2.8014639891832464e-4,-4.543399639996473e-5,-6.259380228216586e-9,-2.7987013346108646e-4,-4.550321157816095e-5,-6.276047783203556e-9,-2.795162996405821e-4,-4.5546626057891795e-5,-6.291045688354151e-9,-2.790984739623287e-4,-4.5527321372703615e-5,-6.298505516465384e-9,-2.7865004000894166e-4,-4.541620148794469e-5,-6.2933199008508685e-9,-2.7822043288384707e-4,-4.520484869900707e-5,-6.273276588202333e-9,-2.7786184532760936e-4,-4.4915535087074116e-5,-6.240723143326448e-9,-2.776091852793529e-4,-4.459975553570474e-5,-6.202458787212566e-9,-2.774638632702066e-4,-4.432123225548417e-5,-6.167368360824802e-9,-2.7739275622409024e-4,-4.41307893297388e-5,-6.142942429461774e-9,-2.7734363791847937e-4,-4.404793703195258e-5,-6.132712569902154e-9,-2.772666481119829e-4,-4.405873879426259e-5,-6.135803693451539e-9,-2.7712954630060494e-4,-4.41272344392883e-5,-6.148198003690473e-9,-2.769220926915838e-4,-4.421078330515423e-5,-6.164515668643785e-9,-2.7665243775120893e-4,-4.4271847046803456e-5,-6.179465722684056e-9,-2.7634044414996943e-4,-4.42840858576599e-5,-6.188763867311319e-9,-2.760112787880964e-4,-4.4233969441495255e-5,-6.1896325079837635e-9,-2.7569053678467995e-4,-4.4119908832911274e-5,-6.1810143630256235e-9,-2.7540081443001705e-4,-4.395037973603709e-5,-6.1635500652351195e-9,-2.7515925763830574e-4,-4.374163186724933e-5,-6.13931893200916e-9,-2.7497583229343773e-4,-4.351509382685275e-5,-6.1113765985356755e-9,-2.7485228599034487e-4,-4.3294504323835476e-5,-6.083191373407955e-9,-2.747818899337699e-4,-4.3102814240736015e-5,-6.0580978536060394e-9,-2.7475014030275356e-4,-4.2959058861573174e-5,-6.038863549547172e-9,-2.747364727847155e-4,-4.287561578709453e-5,-6.027414092691353e-9,-2.7471679197166814e-4,-4.2856211898555225e-5,-6.024680664675889e-9,-2.74666552518033e-4,-4.2894856634732136e-5,-6.0304870842090665e-9,-2.745641634544586e-4,-4.297583426922976e-5,-6.043429961128174e-9,-2.7439449831047824e-4,-4.307484329777695e-5,-6.060781782144661e-9,-2.7415239183585174e-4,-4.316139154284506e-5,-6.078538519547611e-9,-2.738458939963984e-4,-4.320289628151456e-5,-6.0918223659286445e-9,-2.7349833665268886e-4,-4.317111271140737e-5,-6.095829254040278e-9,-2.731473286401864e-4,-4.305077016877184e-5,-6.087300751131777e-9,-2.728384066406977e-4,-4.284850797286421e-5,-6.0661306830069746e-9,-2.726122464122091e-4,-4.2597682445614436e-5,-6.036317211131248e-9,-2.724883882208636e-4,-4.2353186226421395e-5,-6.005346149629137e-9,-2.724538993112942e-4,-4.21739660621937e-5,-5.981721324392774e-9,-2.7246601864680027e-4,-4.209994110375406e-5,-5.971667694606237e-9,-2.724694960632973e-4,-4.2136627145050584e-5,-5.976871636177898e-9,-2.724184831524113e-4,-4.225643997788255e-5,-5.9944559253544774e-9,-2.7229051896981396e-4,-4.241362759713718e-5,-6.018773549341146e-9,-2.720878961454436e-4,-4.2562043557314734e-5,-6.043635716054438e-9,-2.718303929497391e-4,-4.266714123706157e-5,-6.063913242192316e-9,-2.715458512132313e-4,-4.271024379125761e-5,-6.076285881259704e-9,-2.712626659453091e-4,-4.268748746246162e-5,-6.07938776767281e-9,-2.710052329722968e-4,-4.260653559518088e-5,-6.073631332430156e-9,-2.707916949070718e-4,-4.248307887576607e-5,-6.060863861100873e-9,-2.7063291676093104e-4,-4.233782096456377e-5,-6.043919283576518e-9,-2.70531999054325e-4,-4.2193858972839276e-5,-6.026112658845783e-9,-2.7048412159524855e-4,-4.207417276834723e-5,-6.010749252660998e-9,-2.704768085276078e-4,-4.199898085891688e-5,-6.0007083249929064e-9,-2.7049091718653486e-4,-4.198292846456885e-5,-5.998122765150181e-9,-2.705026716692996e-4,-4.203245930769175e-5,-6.0041500657964715e-9,-2.704867786001442e-4,-4.2143960157053555e-5,-6.018813110137525e-9,-2.7042033326989443e-4,-4.2303217237346e-5,-6.0408918160634616e-9,-2.702869966792254e-4,-4.248659500899885e-5,-6.067897441023674e-9,-2.7008072908028737e-4,-4.26641123975258e-5,-6.096212887106141e-9,-2.698083301299173e-4,-4.2804202514864496e-5,-6.121495193355481e-9,-2.6949017078992116e-4,-4.287971029548579e-5,-6.139410707238995e-9,-2.6915846953213103e-4,-4.287457712691834e-5,-6.146692366322419e-9,-2.688523188530164e-4,-4.2790136468926805e-5,-6.142330933965789e-9,-2.6860905054935876e-4,-4.2648942394378234e-5,-6.128480097984698e-9,-2.684529386021688e-4,-4.249325511328419e-5,-6.110525799006696e-9,-2.683846561272461e-4,-4.237577162193681e-5,-6.0958916495610374e-9,-2.6837713845480256e-4,-4.2343242447415576e-5,-6.091676533973367e-9,-2.6838259865424467e-4,-4.241897119821026e-5,-6.1020278393601044e-9,-2.6834954243159544e-4,-4.259356052706968e-5,-6.126618946744287e-9,-2.682414538672124e-4,-4.282968580925502e-5,-6.161071746178656e-9,-2.680473788683876e-4,-4.307777590451198e-5,-6.198928228542621e-9,-2.6778068952418554e-4,-4.329323584064263e-5,-6.233932842908828e-9,-2.6746984498891765e-4,-4.3447294758245534e-5,-6.261585257801009e-9,-2.6714767994234935e-4,-4.3529579126087075e-5,-6.279696539448954e-9,-2.6684354540698494e-4,-4.3545106782298875e-5,-6.288235271926127e-9,-2.6657927046700944e-4,-4.3509317188260445e-5,-6.288838671033637e-9,-2.6636794026195363e-4,-4.3443465401146905e-5,-6.284232359286678e-9,-2.662140688653375e-4,-4.33711394559145e-5,-6.277670357631493e-9,-2.661141777281877e-4,-4.331570058397092e-5,-6.272450417208355e-9,-2.660574130223562e-4,-4.329813146063895e-5,-6.271533343649169e-9,-2.6602631028516745e-4,-4.3334832510506525e-5,-6.277259574999488e-9,-2.6599810856047266e-4,-4.3435186752350394e-5,-6.291119283070944e-9,-2.6594709819864e-4,-4.35991710667151e-5,-6.313534449691571e-9,-2.6584826187483416e-4,-4.3815728146144786e-5,-6.3436577175095264e-9,-2.6568197080015167e-4,-4.406282185693006e-5,-6.379260979809167e-9,-2.654388737832523e-4,-4.4309976961368614e-5,-6.416844899921613e-9,-2.651235904796523e-4,-4.452352360454744e-5,-6.45208973946681e-9,-2.6475574490715504e-4,-4.467379291793127e-5,-6.480660100582804e-9,-2.643674413816663e-4,-4.474263772198858e-5,-6.499235785255884e-9,-2.639972203386808e-4,-4.472932230357101e-5,-6.506524425656316e-9,-2.636814333534693e-4,-4.4652981742684745e-5,-6.50394943475184e-9,-2.6344474410546685e-4,-4.455031096217054e-5,-6.4957052750673075e-9,-2.6329215242018296e-4,-4.446797824163044e-5,-6.487971527226249e-9,-2.6320539661309406e-4,-4.445066132419316e-5,-6.487318143828218e-9,-2.63146231141766e-4,-4.452761326611089e-5,-6.498693327228091e-9,-2.630670795117471e-4,-4.4702593314460794e-5,-6.523735117410233e-9,-2.629259962418986e-4,-4.495205403355389e-5,-6.560195481816707e-9,-2.626998326199566e-4,-4.523322969000845e-5,-6.6028055138425835e-9,-2.6238984542081514e-4,-4.5498615964264204e-5,-6.645151128486782e-9,-2.620181139265042e-4,-4.57101034480172e-5,-6.681643636040315e-9,-2.6161796896905014e-4,-4.584720776675456e-5,-6.7088001834994565e-9,-2.6122365300701173e-4,-4.590801043953323e-5,-6.725594759670876e-9,-2.608629732320002e-4,-4.590508421570969e-5,-6.733110680725014e-9,-2.605538971319134e-4,-4.585973386898697e-5,-6.733869753505527e-9,-2.6030410219870376e-4,-4.5796853823059685e-5,-6.731122265893311e-9,-2.601120119629486e-4,-4.574121346938611e-5,-6.728248726724007e-9,-2.5996821459528486e-4,-4.571499884470834e-5,-6.728333811525041e-9,-2.5985675252670267e-4,-4.573601546615178e-5,-6.733900781581118e-9,-2.597563470776258e-4,-4.581593891770877e-5,-6.7467347208660815e-9,-2.596420276961034e-4,-4.5958327928148174e-5,-6.76770494879153e-9,-2.594877524327709e-4,-4.6156630892450285e-5,-6.796534200413236e-9,-2.5927042693107434e-4,-4.6392942692009576e-5,-6.8315565589601714e-9,-2.589751849875842e-4,-4.663871238482509e-5,-6.86962752289666e-9,-2.586008062635789e-4,-4.685864046342157e-5,-6.906416881867135e-9,-2.5816311466290005e-4,-4.7018104873896896e-5,-6.937219567577798e-9,-2.5769402554871504e-4,-4.70926588010539e-5,-6.9581636155644655e-9,-2.5723517884218273e-4,-4.707644773329669e-5,-6.967428938305518e-9,-2.568273908815006e-4,-4.6986025040791123e-5,-6.966001210496018e-9,-2.564992393431867e-4,-4.685748280218821e-5,-6.957630999254399e-9,-2.5625871902160277e-4,-4.6737400412949545e-5,-6.947966529409689e-9,-2.5609074998136574e-4,-4.667043573132832e-5,-6.943105351110571e-9,-2.5596122517727485e-4,-4.6687347367702306e-5,-6.947967062704738e-9,-2.5582634783583117e-4,-4.6796866950713174e-5,-6.964938644351132e-9,-2.5564461158371896e-4,-4.698373076282578e-5,-6.993209196686726e-9,-2.553879109156633e-4,-4.7213518226825917E-05,-7.029044733220987e-9,-2.5504832832596024e-4,-4.744277599023395e-5,-7.066933407213379e-9,-2.5463858429774843e-4,-4.7630969964505535e-5,-7.1011838454172516e-9,-2.541865650862485e-4,-4.775023325017012e-5,-7.127396703046114e-9,-2.537265402404863e-4,-4.7790107831489385e-5,-7.143345909601783e-9,-2.532904918374822e-4,-4.775683549761495e-5,-7.1491178104008635e-9,-2.529021042786563e-4,-4.766889086299671e-5,-7.146663004807935e-9,-2.525741732148423e-4,-4.7551249353078e-5,-7.139062192878236e-9,-2.5230871169483677e-4,-4.743029000875771e-5,-7.129782907503167e-9,-2.5209851175530824e-4,-4.733012368995658e-5,-7.12209759254885e-9,-2.519291245187472e-4,-4.7270279788107355e-5,-7.1187265860613594e-9,-2.517806968882801e-4,-4.726422556842384e-5,-7.12166746585097e-9,-2.5162963986732293e-4,-4.731809415808857e-5,-7.132097650423624e-9,-2.514505510713131e-4,-4.742927313984141e-5,-7.1502341423829864e-9,-2.512190030433243e-4,-4.758501628393123e-5,-7.175103678264232e-9,-2.5091568236328035e-4,-4.7761815907209246e-5,-7.204305121348925e-9,-2.5053181294401e-4,-4.7926849500478765e-5,-7.233991717484305e-9,-2.500746237911642e-4,-4.804301276238442e-5,-7.259360514494356e-9,-2.495701519604955e-4,-4.8078046570921506e-5,-7.275783141609628e-9,-2.490601882212913e-4,-4.8015746621047336e-5,-7.280321967292176e-9,-2.4859206990471175e-4,-4.786450499113676e-5,-7.272987851368456e-9,-2.4820404096295365e-4,-4.7657974491023386e-5,-7.2570490683069305e-9,-2.479123719305355e-4,-4.744593983612639e-5,-7.238137844085153e-9,-2.477062542180496e-4,-4.7278801363755583e-5,-7.2225323219480234e-9,-2.475523859045091e-4,-4.719243023421515e-5,-7.2153509223338515e-9,-2.4740634073176207e-4,-4.7199163254914456e-5,-7.21928276128765e-9,-2.472256149075255e-4,-4.728689651818537e-5,-7.234113502680999e-9,-2.469800996566623e-4,-4.742481447800407e-5,-7.2570090226968695e-9,-2.4665781472638505e-4,-4.757279635380423e-5,-7.283374548153914e-9,-2.462655369996502e-4,-4.769151536169288e-5,-7.308038135183422e-9,-2.458251322065457e-4,-4.775085456159175e-5,-7.326465854721028e-9,-2.4536711100036463e-4,-4.77350886691006e-5,-7.3357152755733405e-9,-2.4492329122390537e-4,-4.764420066221715e-5,-7.334911212083219e-9,-2.4452039783219196e-4,-4.749169496663902e-5,-7.3251748443696005e-9,-2.441758732145271e-4,-4.7300134577938174e-5,-7.309112821670338e-9,-2.4389627170717684e-4,-4.7095968591426874e-5,-7.2900891206745445e-9,-2.4367780651202367e-4,-4.6904922721911e-5,-7.2715143086660904e-9,-2.4350820404063506e-4,-4.674862028056588e-5,-7.2563236900772534e-9,-2.4336901910568495e-4,-4.6642494199979074e-5,-7.246701350541432e-9,-2.4323787902715116e-4,-4.6594604978692496e-5,-7.243991435989502e-9,-2.4309057272598025e-4,-4.6604855006113405e-5,-7.248666445835073e-9,-2.4290326713360635e-4,-4.666429753503088e-5,-7.260234391154556e-9,-2.4265533867043101e-4,-4.67546250155109e-5,-7.2770527231963495e-9,-2.4233328045250883e-4,-4.684845105661854e-5,-7.29615811529741e-9,-2.4193563237893614e-4,-4.6911622727816726e-5,-7.313363425619466e-9,-2.4147769061437337e-4,-4.690904210391057e-5,-7.323911274472526e-9,-2.409931846698145e-4,-4.68145030450435e-5,-7.3237831866979765e-9,-2.405293638181594e-4,-4.6622304985804496e-5,-7.311327256640174e-9,-2.4013397134164407e-4,-4.6354911420302454e-5,-7.288398575368516e-9,-2.3983792521253927e-4,-4.606009583001144e-5,-7.260171753226957e-9,-2.396424964711392e-4,-4.579591722183568e-5,-7.233460507133913e-9,-2.3951876787466002e-4,-4.561007369104896e-5,-7.21434469153871e-9,-2.394196251219914e-4,-4.552433842374012e-5,-7.206304347525716e-9,-2.3929702425245816e-4,-4.553082614515197e-5,-7.209572961363757e-9,-2.3911604156302504e-4,-4.559902693265397e-5,-7.221607636814043e-9,-2.3886148969033618e-4,-4.56878141259867e-5,-7.238141334743658e-9,-2.385376124584638e-4,-4.57569458542221e-5,-7.25434375948497e-9,-2.381635151221613e-4,-4.5775227331894453e-5,-7.265844606590987e-9,-2.3776689984276165e-4,-4.57248113055291e-5,-7.26951760352044e-9,-2.3737775512568452e-4,-4.560224089873021e-5,-7.26396202658587e-9,-2.3702288262502966e-4,-4.541701560695537e-5,-7.249620171308552e-9,-2.3672182048234104e-4,-4.518837706556744e-5,-7.228512886555455e-9,-2.3648451210419064e-4,-4.494110071809932e-5,-7.203679129923876e-9,-2.3631073766417756e-4,-4.470112417759971e-5,-7.1784915077864556e-9,-2.3619104748406788e-4,-4.449166637344944e-5,-7.156032804897266e-9,-2.361087730659606e-4,-4.433028327220373e-5,-7.138674148007875e-9,-2.3604256281260482e-4,-4.422705852302139e-5,-7.1278965459513375e-9,-2.3596896071219697e-4,-4.41837594790764e-5,-7.124282211477298e-9,-2.358648734407393e-4,-4.419359846967748e-5,-7.127541904743606e-9,-2.3571005457793368e-4,-4.424139308519803e-5,-7.136477505700135e-9,-2.3548986076137152e-4,-4.4304182265018096e-5,-7.148875985336727e-9,-2.3519855436410849e-4,-4.435271161882365e-5,-7.16145714276836e-9,-2.348430390860336e-4,-4.4354724701945077e-5,-7.170110582162483e-9,-2.3444587375598763e-4,-4.428117792866847e-5,-7.170657306550671e-9,-2.3404509111068765e-4,-4.411557127942225e-5,-7.1601656476032516e-9,-2.3368771973065835e-4,-4.386412570504797e-5,-7.138447255205115e-9,-2.334157329157928e-4,-4.356117057573164e-5,-7.108920211252188e-9,-2.3324859251575434e-4,-4.326304457334257e-5,-7.077986722810363e-9,-2.3317225159038513e-4,-4.3029164658112595e-5,-7.0528241170588876e-9,-2.3314325821755143e-4,-4.289880884221161e-5,-7.038651316312173e-9,-2.3310674475310233e-4,-4.287707539508815e-5,-7.037006731343113e-9,-2.330173793949718e-4,-4.2937138101060195e-5,-7.045793591462278e-9,-2.3285221519255721e-4,-4.303448249497462e-5,-7.060613085178226e-9,-2.3261221161084732e-4,-4.312326355963217e-5,-7.076380098752534e-9,-2.3231616237874106e-4,-4.3167782922615494e-5,-7.0885642907420745e-9,-2.3199226213489643e-4,-4.3147504709399666e-5,-7.093925360427784e-9,-2.3167066135599025e-4,-4.305722178644823e-5,-7.090854405127532e-9,-2.3137815592412457e-4,-4.290464072813479e-5,-7.079431225173229e-9,-2.3113482317374794e-4,-4.2706990561187926e-5,-7.061239222047379e-9,-2.3095210624270325e-4,-4.248733394858226e-5,-7.0389514644621475e-9,-2.3083209319112942e-4,-4.22708356697799e-5,-7.0157556508521975e-9,-2.3076787058155768e-4,-4.208124244565444e-5,-6.994754152444318e-9,-2.3074481404720975e-4,-4.193779429781794e-5,-6.978475418029599e-9,-2.3074269629111773e-4,-4.185278131262165e-5,-6.9685812919441475e-9,-2.3073838954341724e-4,-4.183002690679065e-5,-6.9657828504140465e-9,-2.307087773182823e-4,-4.1864416184094224e-5,-6.969890191920407e-9,-2.3063358371772487e-4,-4.19423194920427e-5,-6.979881232260712e-9,-2.304980447362638e-4,-4.204276810737836e-5,-6.993919691136392e-9,-2.3029541532778425e-4,-4.2139396145542684e-5,-7.00935383163725e-9,-2.3002929420596648e-4,-4.220331442258605e-5,-7.022821179996584e-9,-2.297155277725766e-4,-4.220735882242904e-5,-7.0306406913778314e-9,-2.2938274641947577e-4,-4.2132214476566026e-5,-7.029632424365228e-9,-2.2906972807424893e-4,-4.197407643695822e-5,-7.018296801761733e-9,-2.2881761972917472e-4,-4.175160042946605e-5,-6.997961873684011e-9,-2.286567093282979e-4,-4.15075256296687e-5,-6.9732029722847966e-9,-2.2859182172845228e-4,-4.129977684881916e-5,-6.9508561159118375e-9,-2.2859518852719337e-4,-4.118158264999498e-5,-6.937623078004585e-9,-2.2861445669427582e-4,-4.1179317366699686e-5,-6.937368890191579e-9,-2.2859373178187907e-4,-4.128165726085842e-5,-6.949709434593278e-9,-2.2849535207625107e-4,-4.144683429672747e-5,-6.970641653126126e-9,-2.283102601143957e-4,-4.162180946726997e-5,-6.994513297007544e-9,-2.280546314648973e-4,-4.1760936140705576e-5,-7.015996457807604e-9,-2.2775905137933017e-4,-4.1836162324814815e-5,-7.0312662464705675e-9,-2.2745750303615093e-4,-4.183854159207291e-5,-7.038384862713035e-9,-2.2717978153226345e-4,-4.1774688473891304e-5,-7.037214328561364e-9,-2.269476550317656e-4,-4.166168283592476e-5,-7.029107904443636e-9,-2.2677360769187676e-4,-4.152239765949198e-5,-7.016489998134974e-9,-2.2666086428735168e-4,-4.13817553708349e-5,-7.002360297324509e-9,-2.2660400530891817e-4,-4.126365474609324e-5,-6.989766583218536e-9,-2.2659004542151717e-4,-4.1188304668478054e-5,-6.981333927974789e-9,-2.266000219235072e-4,-4.116989011754661e-5,-6.978931288333946e-9,-2.266111881676761e-4,-4.12146495166316e-5,-6.9835033237536505e-9,-2.2659985001449061e-4,-4.131967774449151e-5,-6.9950455254666655e-9,-2.2654460748588225e-4,-4.147283960401956e-5,-7.012666563520272e-9,-2.264295628693442e-4,-4.165394006870694e-5,-7.034672741319516e-9,-2.2624709886908756e-4,-4.183709352380845e-5,-7.058654437906543e-9,-2.259998866238783e-4,-4.1994173550205136e-5,-7.081632424729571e-9,-2.2570180047419192e-4,-4.20991362790095e-5,-7.100361989265034e-9,-2.2537742095192945e-4,-4.213298776272619e-5,-7.111886301353217e-9,-2.2505959382885995e-4,-4.208912506154797e-5,-7.114348718520941e-9,-2.2478421898691062e-4,-4.197821401236689e-5,-7.107904138739319e-9,-2.2458174592226204e-4,-4.1830607186345735e-5,-7.0953504217620375e-9,-2.244663606137209e-4,-4.169327376221295e-5,-7.081979987657558e-9,-2.2442665203386655e-4,-4.1618683723854355e-5,-7.074284006802257e-9,-2.2442408061700852e-4,-4.1646821969372816e-5,-7.077692877238242e-9,-2.2440397415766895e-4,-4.178786877968106e-5,-7.0943342038050634e-9,-2.2431615173148974e-4,-4.201628734466668e-5,-7.122132208245681e-9,-2.2413418489370047e-4,-4.2281316841771065e-5,-7.155838491573877e-9,-2.238625036955378e-4,-4.252762716447894e-5,-7.189267752364687e-9,-2.2352958981585374e-4,-4.271389191467571e-5,-7.217364886846549e-9,-2.231742512295794e-4,-4.2821232086966055e-5,-7.2372470959088515e-9,-2.2283320562756947e-4,-4.285179730744506e-5,-7.2482661351785805e-9,-2.2253387205703278e-4,-4.282232746248896e-5,-7.2515555960049095e-9,-2.2229206566917885e-4,-4.275713751688142e-5,-7.2494356512215224e-9,-2.2211260756237194e-4,-4.2682685880708425e-5,-7.244838453971768e-9,-2.2199099538278396e-4,-4.262399641811782e-5,-7.240796077498677e-9,-2.2191514949620428e-4,-4.260230497054901e-5,-7.240011891369483e-9,-2.2186707232957353e-4,-4.26332616889838e-5,-7.244543832697758e-9,-2.2182464125580366e-4,-4.2725338241283515e-5,-7.255615619695993e-9,-2.217638453501513e-4,-4.287842690194515e-5,-7.273534478793906e-9,-2.2166170729793913e-4,-4.308298693357485e-5,-7.2976765517466445e-9,-2.2149980429336165e-4,-4.332033803452491e-5,-7.326522432477613e-9,-2.2126785688274673e-4,-4.3564584276414805e-5,-7.357751075488498e-9,-2.20966584781167e-4,-4.3786290015324124e-5,-7.388436436288333e-9,-2.2060898292754956e-4,-4.395759483340187e-5,-7.415404439706891e-9,-2.202193504707468e-4,-4.405796910551689e-5,-7.435775583366592e-9,-2.1982983813928416e-4,-4.407947682940211e-5,-7.4476444040565705e-9,-2.1947474914701923e-4,-4.403040203489803e-5,-7.450766846569757e-9,-2.1918316392070605e-4,-4.393615767618415e-5,-7.447040423172644e-9,-2.1897091886597989e-4,-4.3836355658260945e-5,-7.440501159279104e-9,-2.188338255077648e-4,-4.3777167322247025e-5,-7.4366017543605706e-9,-2.187450180632313e-4,-4.379926707359548e-5,-7.440747299185002e-9,-2.1865951766138927e-4,-4.3924079338995526e-5,-7.456451577868975e-9,-2.1852701523895825e-4,-4.414394644131482e-5,-7.48388495394003e-9,-2.1830915181893224e-4,-4.442241000664643e-5,-7.51964660486929e-9,-2.1799327092026865e-4,-4.47064341649404e-5,-7.558021886353412e-9,-2.1759542948186208e-4,-4.4945093539923776e-5,-7.593080121112747e-9,-2.1715190572061313e-4,-4.510525927973701e-5,-7.62051102463403e-9,-2.1670511352975532e-4,-4.5177775919498044e-5,-7.63846614779529e-9,-2.1629130702600425e-4,-4.5174263035486545e-5,-7.647414111500688e-9,-2.1593400226015044e-4,-4.511913434864514e-5,-7.649461867526958e-9,-2.1564283671687278e-4,-4.504151932089862e-5,-7.647573809127245e-9,-2.1541555700511315e-4,-4.496945565191675e-5,-7.644907915657562e-9,-2.152409460728591e-4,-4.4926547873120016E-05,-7.644326527091175e-9,-2.1510150205944102e-4,-4.493027145003056e-5,-7.648080390942638e-9,-2.1497560662559327e-4,-4.499101379307958e-5,-7.65764086825275e-9,-2.1483945926710325e-4,-4.511125926355644e-5,-7.673632641449619e-9,-2.1466926637521481e-4,-4.528477274004901e-5,-7.695803268049495e-9,-2.144441173207301e-4,-4.549613641988964e-5,-7.722992976764426e-9,-2.1414962209211983e-4,-4.572138551931352e-5,-7.753133503949428e-9,-2.137817825713578e-4,-4.5930557875204e-5,-7.783365806364265e-9,-2.1334992695909555e-4,-4.609259275443571e-5,-7.810385927253544e-9,-2.1287718132165904e-4,-4.6182138061975344e-5,-7.831058043246478e-9,-2.123972901802133e-4,-4.618667111745394e-5,-7.843194529569795e-9,-2.1194776550871445e-4,-4.611156504767954e-5,-7.846275859882824e-9,-2.1156084382754122e-4,-4.598097245517623e-5,-7.841849026160612e-9,-2.1125475027746477e-4,-4.5833615902049135e-5,-7.833415837621815e-9,-2.1102786191385352e-4,-4.57141563789811e-5,-7.825754714870187e-9,-2.1085766176323766e-4,-4.5662121102797614e-5,-7.823773717687805e-9,-2.1070526783781765e-4,-4.570112440445812e-5,-7.831148800367581e-9,-2.1052503260910168e-4,-4.5831388471697066e-5,-7.84914193292144e-9,-2.1027715631769618e-4,-4.602835716858338e-5,-7.876058836978009e-9,-2.0993957436240816e-4,-4.6248926026246374e-5,-7.90766713758257e-9,-2.095146194759454e-4,-4.644402823389973e-5,-7.938509723459188e-9,-2.0902749841148404e-4,-4.6573103373786205e-5,-7.963593692431587e-9,-2.085173003005473e-4,-4.6614726939852604e-5,-7.979751223426029e-9,-2.080247685004384e-4,-4.656971988276465e-5,-7.986202202748241e-9,-2.0758195037667867e-4,-4.645702153575651e-5,-7.984303236040702e-9,-2.0720680107128868e-4,-4.630568678322192e-5,-7.976805592462343e-9,-2.069027746736158e-4,-4.6146864470554793E-05,-7.967006829227965e-9,-2.0666149949068237e-4,-4.6008053738656595e-5,-7.958051544835984e-9,-2.0646643337144435e-4,-4.591001322147901e-5,-7.952478950941206e-9,-2.0629619473845173e-4,-4.586558575032321e-5,-7.952010523962518e-9,-2.0612715730170046e-4,-4.587946155808738e-5,-7.957511462395227e-9,-2.0593551752786214e-4,-4.594814009737746e-5,-7.969025447952002e-9,-2.0569936999224403e-4,-4.6059814191126656e-5,-7.985789917193825e-9,-2.054013396767555e-4,-4.619444426954505e-5,-8.006201300389058e-9,-2.0503200586908336e-4,-4.632476440606799e-5,-8.027795774410303e-9,-2.0459370977526643e-4,-4.6419232557928356e-5,-8.04739911864323e-9,-2.0410341514187733e-4,-4.644771828424737e-5,-8.061606874456355e-9,-2.0359249297940358e-4,-4.6389591386022976e-5,-8.06761967917358e-9,-2.0310152417526018e-4,-4.6241943470151586e-5,-8.064208675557398e-9,-2.026701314330422e-4,-4.602412220191169e-5,-8.05238930586289e-9,-2.0232482212882342e-4,-4.5775201703916056e-5,-8.035415203185357e-9,-2.0206981769589567e-4,-4.5543952383211005e-5,-8.017995799141722e-9,-2.0188503857131567e-4,-4.5374719563007136e-5,-8.005002937932091e-9,-2.0173208974531864e-4,-4.5294685661682146e-5,-8.000132839061242e-9,-2.0156558865288865e-4,-4.530694102432007e-5,-8.004940251523124e-9,-2.0134563404935994e-4,-4.5390862347908655e-5,-8.018476540387911e-9,-2.010477628284383e-4,-4.5508700213428396e-5,-8.037583629336856e-9,-2.0066816008643582e-4,-4.56159424839469e-5,-8.05775420557668e-9,-2.002233040454102e-4,-4.5672547498502866e-5,-8.074324603901956e-9,-1.9974456130923202e-4,-4.5652156194690424e-5,-8.083656540042794e-9,-1.992695170896543e-4,-4.554701856445397e-5,-8.083957366931921e-9,-1.9883270591920156e-4,-4.5367698049175715e-5,-8.075522287619769e-9,-1.9845841745310465e-4,-4.513832170771045e-5,-8.060398815725766e-9,-1.981572124953109e-4,-4.488951139782889e-5,-8.041672208553757e-9,-1.9792619199168255e-4,-4.46514605035761e-5,-8.022654713173082e-9,-1.97751818665741e-4,-4.444885607769098e-5,-8.006221420156825e-9,-1.9761372928278598e-4,-4.429815409582809e-5,-7.994418534127477e-9,-1.9748834183331958e-4,-4.4206787770554826e-5,-7.988349103172298e-9,-1.9735172150645567e-4,-4.417347840913245e-5,-7.988243219864344e-9,-1.9718177685405577e-4,-4.4188897515318655e-5,-7.993577576316224e-9,-1.969602185929472e-4,-4.423633228093872e-5,-8.003137811219496e-9,-1.96674791367231e-4,-4.429249144944042e-5,-8.01500158984719e-9,-1.9632209229852586e-4,-4.43290434847933e-5,-8.026530943997656e-9,-1.9591072087203853e-4,-4.4315855466975366e-5,-8.03455558004738e-9,-1.9546352222861362e-4,-4.422685189198833e-5,-8.035926730100295e-9,-1.9501665604001342e-4,-4.404835137258371e-5,-8.028456381532183e-9,-1.9461311284592976e-4,-4.3787482447394696e-5,-8.011956426634773e-9,-1.9429036612252486e-4,-4.3475903590539156e-5,-7.988819905738023e-9,-1.9406609579109184e-4,-4.31641133352837e-5,-7.963631507898714e-9,-1.939293801808378e-4,-4.290607476846081e-5,-7.941776010191559e-9,-1.9384326424020214e-4,-4.274050836180446e-5,-7.927647618378034e-9,-1.9375801371840964e-4,-4.267820492195053e-5,-7.923311832665135e-9,-1.9362806935360174e-4,-4.270088509049269e-5,-7.928124868965717e-9,-1.934249241067107e-4,-4.277008015595093e-5,-7.93923136862352e-9,-1.931422172148227e-4,-4.284026359050476e-5,-7.952533831849908e-9,-1.9279378906395382e-4,-4.287086605432226e-5,-7.963753390058145e-9,-1.9240746774724533e-4,-4.283438753175265e-5,-7.96935681810304e-9,-1.9201729184363728e-4,-4.272004332166115e-5,-7.967224995384466e-9,-1.9165604145344355e-4,-4.253352928312996e-5,-7.956980058119363e-9,-1.9134921912310286e-4,-4.229384282667856e-5,-7.939923003820991e-9,-1.9111121492372828e-4,-4.202818834980984e-5,-7.91860535841166e-9,-1.9094402083634387e-4,-4.176615800307559e-5,-7.896162848299419e-9,-1.9083831639714896e-4,-4.1534410208336746e-5,-7.87561120850624e-9,-1.9077625422079947e-4,-4.1352743879738196e-5,-7.859295143438076e-9,-1.9073505303328413e-4,-4.123196142628293e-5,-7.848605195695082e-9,-1.9069054410135802e-4,-4.1173414159399545e-5,-7.843964753064974e-9,-1.906201224278099e-4,-4.116971136664543e-5,-7.844982280018888e-9,-1.905050256123524e-4,-4.1205978856558556e-5,-7.850625899117948e-9,-1.9033218543530693e-4,-4.126132493487268e-5,-7.859318656901609e-9,-1.9009597946679268e-4,-4.131052250053904e-5,-7.868951080561997e-9,-1.8980014139863044e-4,-4.1326260782891054e-5,-7.876912836277283e-9,-1.8945967012305145e-4,-4.128269700216912e-5,-7.880323549005257e-9,-1.8910169760086778e-4,-4.116102678475968e-5,-7.876614821307504e-9,-0.00018876338867391296,-4.0956863108143176e-5,-7.864445949430287e-9,-1.884847853602136e-4,-4.0687258733253435e-5,-7.844654109638144e-9,-1.8829616966925856e-4,-4.039278804799636e-5,-7.820672655457958e-9,-1.88203845813791e-4,-4.012954778719805e-5,-7.797856014628003e-9,-1.8818277508791647e-4,-3.995054240701812e-5,-7.781684520999545e-9,-1.881832875362198e-4,-3.988448188439229e-5,-7.77566376533795e-9,-1.8815018874959586e-4,-3.992443525486756e-5,-7.780096416824334e-9,-1.880434791354815e-4,-4.003285000490112e-5,-7.792321866458137e-9,-1.8784973035415947e-4,-4.015822215563545e-5,-7.808013539986401e-9,-1.8758115050261835e-4,-4.025292234742e-5,-7.822655543413694e-9,-1.872668184883031e-4,-4.02846843903453e-5,-7.832609350063291e-9,-1.869421745375567e-4,-4.024036343886389e-5,-7.835668960723405e-9,-1.866405011096358e-4,-4.012421563344865e-5,-7.831233109466725e-9,-1.8638746606769327e-4,-3.9953517066443375e-5,-7.820209997762073e-9,-1.8619833336478678e-4,-3.9753447846682424E-05,-7.804705559277455e-9,-1.8607713456172942e-4,-3.955211791223761e-5,-7.787528077260694e-9,-1.8601733956143633e-4,-3.937609305312275e-5,-7.771594675631029e-9,-1.8600372362801028e-4,-3.924671808006975e-5,-7.759377516311174e-9,-1.860151033940145e-4,-3.9177490549839045e-5,-7.752521038826082e-9,-1.86027579535179e-4,-3.917265795237302e-5,-7.751697825195558e-9,-1.8601784500762417e-4,-3.922712275877602e-5,-7.756683939980297e-9,-1.859660991240961e-4,-3.932748873083235e-5,-7.76655338904938e-9,-1.858583415306685e-4,-3.945386020008228e-5,-7.779863803220138e-9,-1.856880765199331e-4,-3.9582104032858643e-5,-7.794764745634513e-9,-1.8545751111847034e-4,-3.968648336286518e-5,-7.80905273811186e-9,-1.8517832726768282e-4,-3.974272194646584e-5,-7.820277095975539e-9,-1.8487191715710737e-4,-3.973182286832981e-5,-7.826043324454552e-9,-1.84568326062585e-4,-3.964498003485806e-5,-7.824607063924266e-9,-1.8430252736954805e-4,-3.948909619720772e-5,-7.81567723225054e-9,-1.841068015813026e-4,-3.9290916557531185e-5,-7.801120265142914e-9,-1.8399941650295114e-4,-3.9096168023688346e-5,-7.785080204503404e-9,-1.8397315757144196e-4,-3.8959732030985414e-5,-7.773061430941858e-9,-1.8399121969710352e-4,-3.892667494260442e-5,-7.769999153806498e-9,-1.8399720413110593e-4,-3.9012062532908605e-5,-7.778165646339316e-9,-1.8393709799280938e-4,-3.919247414624714e-5,-7.796192327999907e-9,-1.837809253347292e-4,-3.94159913142451e-5,-7.81983562463752e-9,-1.835314504140859e-4,-3.9624174692404916e-5,-7.843866044999501e-9,-1.832175926465497e-4,-3.9772376929694886e-5,-7.863852973816922e-9,-0.00018288007799367867,-3.983939802399363e-5,-7.877101234873762e-9,-1.825581525567214e-4,-3.9826609012344015e-5,-7.88278698428171e-9,-1.8228153953364634e-4,-3.975151493070294e-5,-7.881673076367993e-9,-1.8206747389102235e-4,-3.96403257759107e-5,-7.87567869457065e-9,-1.8192093438847728e-4,-3.952183195728649e-5,-7.867403264403688e-9,-1.818363144226791e-4,-3.94230088792691e-5,-7.859627774104685e-9,-1.8179960057993597e-4,-3.9365938879669173e-5,-7.854836651382487e-9,-1.817908037429815e-4,-3.9365650403408574e-5,-7.85483970570868e-9,-1.817866154295425e-4,-3.9428705477013426e-5,-7.860566324909944e-9,-1.81763290141203e-4,-3.955254076382139e-5,-7.872043997922005e-9,-1.8169966125836646e-4,-3.9725745338659054e-5,-7.888521312020506e-9,-1.8157997375724025e-4,-3.992943179925509e-5,-7.908654800013727e-9,-1.8139615201193202e-4,-4.01395859443014e-5,-7.930677800847704e-9,-1.8114926843234067e-4,-4.0330149429537525e-5,-7.952524911278175e-9,-1.808500494869329e-4,-4.047662276442048e-5,-7.971962158343955e-9,-1.8051827933978514e-4,-4.055992560857808e-5,-7.986810256067089e-9,-1.8018101316444614e-4,-4.0570277674346596e-5,-7.995336625795394e-9,-1.7986930754112723e-4,-4.0510916503467394e-5,-7.996822725172099e-9,-1.796128754203871e-4,-4.0400967753350356e-5,-7.992167447243349e-9,-1.7943243126465743e-4,-4.027577035424067e-5,-7.984224841668468e-9,-1.793308527151646e-4,-4.0182267013651894e-5,-7.97751603843064e-9,-1.7928650189256697e-4,-4.016762654034507e-5,-7.977085620844553e-9,-1.7925412028238575e-4,-4.026237728195528e-5,-7.986681974367066e-9,-1.791774416147169e-4,-4.046502137035069e-5,-8.007050548514257e-9,-1.79010578141659e-4,-4.07384889308924e-5,-8.03541534862946e-9,-1.7873692411944845e-4,-4.102346717380981e-5,-8.066621496285543e-9,-1.783741420058078e-4,-4.1261830836882335e-5,-8.095249938080533e-9,-1.7796361074475225e-4,-4.1416463164230464e-5,-8.117421582789139e-9,-1.7755290410782594e-4,-4.1478368578888085e-5,-8.131520449449486e-9,-1.7718135033389617e-4,-4.146198733197798e-5,-8.13797055610707e-9,-1.768730990346715e-4,-4.139529321745453e-5,-8.138602365296292e-9,-1.766365818208645e-4,-4.131042648440153e-5,-8.135996394797593e-9,-1.7646729539195152e-4,-4.123728457209718e-5,-8.132931548149722e-9,-1.7635140912427015e-4,-4.119998363428822e-5,-8.131940782911007e-9,-1.7626901592075078e-4,-4.1215139264067615e-5,-8.13497319552361e-9,-1.7619688175239353e-4,-4.129104627639256e-5,-8.143187102834443e-9,-1.7611095329391106e-4,-4.142731358893801e-5,-8.156888519239014e-9,-1.7598889716912629e-4,-4.1614887437690714e-5,-8.17558928584182e-9,-1.7581281192462515e-4,-4.183670829192403e-5,-8.198133122013413e-9,-1.7557194116890116e-4,-4.206939570725801e-5,-8.222846596370708e-9,-1.7526489185315834e-4,-4.2286145337228534e-5,-8.247693685378518e-9,-1.749007892130791e-4,-4.246067239676419e-5,-8.27045287578726e-9,-1.7449889291473196e-4,-4.257177890837406e-5,-8.288966601271894e-9,-1.7408636134491067e-4,-4.260785569445014e-5,-8.301502622549816e-9,-1.7369417612683185e-4,-4.257044116629862e-5,-8.307207425135431e-9,-1.733515749373912e-4,-4.247603925671317e-5,-8.306560538240727e-9,-1.7307951561946385e-4,-4.235546258407321e-5,-8.301660768772593e-9,-1.7288404300892215e-4,-4.224980670333177e-5,-8.296116391034056e-9,-1.7275126742316764e-4,-4.220232082429011e-5,-8.29435675977847e-9,-1.7264662508130276e-4,-4.2246603872407674e-5,-8.300377709365537e-9,-1.7252121501086634e-4,-4.239390927424923e-5,-8.316260399484159e-9,-1.723259194563172e-4,-4.262512746453453e-5,-8.341125038747223e-9,-1.7202921853819408e-4,-4.289359303196469e-5,-8.371205255110296e-9,-1.7163005621497463e-4,-4.314027956941037e-5,-8.401196120311941e-9,-1.7115808212438073e-4,-4.3314891182245837e-5,-8.426208336859534e-9,-1.706611339045414e-4,-4.3391899781138715e-5,-8.4432830383759e-9,-1.701876762651756e-4,-4.3374419715413495e-5,-8.4518562411058e-9,-1.6977323193821857e-4,-4.328714577136297e-5,-8.4533209117178e-9,-1.6943492968409378e-4,-4.316484300779904e-5,-8.450215049832509e-9,-1.691728141266524e-4,-4.304229490465962e-5,-8.445454567334958e-9,-1.689743734967421e-4,-4.294814563749508e-5,-8.441762371783732e-9,-1.6881942342299218e-4,-4.2902261156559144e-5,-8.441296223429344e-9,-1.6868404487941965e-4,-4.291519214458628e-5,-8.445444774098598e-9,-1.6854347563705814e-4,-4.2988495594045744e-5,-8.454766529152133e-9,-1.6837439851704656e-4,-4.3115257163194266e-5,-8.469036389597806e-9,-1.681571293442517e-4,-4.3280710287122344e-5,-8.487346444855007e-9,-1.6787800682957013e-4,-4.3463272785180736e-5,-8.508217625345404e-9,-1.675319055511752e-4,-4.363653952219832e-5,-8.529718093993882e-9,-1.6712433065999726e-4,-4.3772654109465174e-5,-8.549625270960761e-9,-1.6667221550076703e-4,-4.3847053130506195e-5,-8.565688893545171e-9,-1.6620251090174813e-4,-4.384394863589244e-5,-8.576022891083493e-9,-1.6574805161057994e-4,-4.3761243185843136e-5,-8.57958137502147e-9,-1.653410166729793e-4,-4.361321227414499e-5,-8.57659196538238e-9,-1.6500526069332353e-4,-4.3429595920686075e-5,-8.568780938240553e-9,-1.6474941938175833e-4,-4.325061380526027e-5,-8.559242374508827e-9,-1.6456278474184848e-4,-4.311845658282386e-5,-8.551872091484495e-9,-1.6441558827007797e-4,-4.306679435913246e-5,-8.55041163875152e-9,-1.6426459590353389e-4,-4.31107428021797e-5,-8.55731514316368e-9,-1.6406370565747632e-4,-4.324040567689213e-5,-8.572814975918328e-9,-1.6377738091422734e-4,-4.3421136814201817e-5,-8.594619277300757e-9,-1.6339259528422065e-4,-4.360218549923664e-5,-8.618509053213847e-9,-1.6292403742707357e-4,-4.3731933663244515e-5,-8.639692356752142e-9,-1.6240945516230828e-4,-4.3773994492029846e-5,-8.654343911008955e-9,-1.618968607756375e-4,-4.371721460881521e-5,-8.660647603934844e-9,-1.614295836691662e-4,-4.357579691594396e-5,-8.658990171403235e-9,-1.6103554540079272e-4,-4.338116258064244e-5,-8.65143750147207e-9,-1.6072371734170566e-4,-4.317072694826411e-5,-8.640899300411265e-9,-1.60486597377181e-4,-4.2978486922922624e-5,-8.630346264051817e-9,-1.6030553083480994e-4,-4.28295955015562e-5,-8.622255741822829e-9,-1.6015613527411944e-4,-4.2738546072660895e-5,-8.618310231123223e-9,-1.6001252941236853e-4,-4.270953342717434e-5,-8.619310983523769e-9,-1.5985023392522713e-4,-4.27376696865566e-5,-8.62524258194941e-9,-1.5964820616548375e-4,-4.281026269130828e-5,-8.635407427994393e-9,-1.5939063606626693e-4,-4.290797545834162e-5,-8.648555381100611e-9,-1.5906893911632526e-4,-4.300622619989431e-5,-8.662980381924239e-9,-1.586839320425307e-4,-4.307745905419132e-5,-8.6766176574788e-9,-1.5824763893893554e-4,-4.309485149551601e-5,-8.687224944489166e-9,-1.577836553301402e-4,-4.303761508032331e-5,-8.692728743322592e-9,-1.5732473003351639e-4,-4.2897150815443866e-5,-8.691735505534104e-9,-1.5690673041701025e-4,-4.2682099455994495e-5,-8.684069583127032e-9,-1.5655967783061677e-4,-4.241963218334136e-5,-8.671100768675983e-9,-1.5629842252569848e-4,-4.215106331379977e-5,-8.65564776892293e-9,-1.5611654367897435e-4,-4.1922027222526855e-5,-8.641393519477788e-9,-1.5598634365727104e-4,-4.1769990723229766e-5,-8.631943434242865e-9,-1.558655337576891e-4,-4.171332468953909e-5,-8.62980875112357e-9,-1.55708599326998e-4,-4.1745676230751626e-5,-8.635639653747643e-9,-1.5547926756793228e-4,-4.183738871643539e-5,-8.64796410233513e-9,-1.5516040876164026e-4,-4.194344529267842e-5,-8.663544317198107e-9,-1.5475857077794318e-4,-4.2015642345345564e-5,-8.678275332417251e-9,-1.5430178219828054e-4,-4.2015487508945786e-5,-8.688346657903147e-9,-1.538312653883322e-4,-4.1923888974596855e-5,-8.691272266061803e-9,-1.5338985144061818e-4,-4.174464729428951e-5,-8.686443715723425e-9,-1.5301108912570144e-4,-4.150107912857046e-5,-8.675074640975934e-9,-1.5271247020407983e-4,-4.1227745509928506e-5,-8.659650972450587e-9,-1.5249412865362623e-4,-4.096082102643691e-5,-8.643154944543995e-9,-1.5234202142190386e-4,-4.0730361657362306e-5,-8.628341074666747e-9,-1.522332666590427e-4,-4.0556036818412694e-5,-8.617240877586801e-9,-1.5214146355814283e-4,-4.044607832465574e-5,-8.610948820189256e-9,-1.5204082770238207e-4,-4.0398276306418136e-5,-8.609649713449356e-9,-1.5190894966737008e-4,-4.040182404940597e-5,-8.612791693953891e-9,-1.5172855998777816e-4,-4.04392073340307e-5,-8.619289651721801e-9,-1.5148890221367985e-4,-4.048788673301634e-5,-8.627671304566296e-9,-1.511871960678653e-4,-4.052207249406931e-5,-8.636154913727928e-9,-1.5083025434630082e-4,-4.051521495503619e-5,-8.642725787473477e-9,-1.5043574158394175e-4,-4.044383852156764e-5,-8.645327734018624e-9,-1.500319353466808e-4,-4.029297377626192e-5,-8.642261093560134e-9,-1.496544166579292e-4,-4.006242686937451e-5,-8.632759521112276e-9,-1.4933857066749907e-4,-3.9771500609913104e-5,-8.61753525645397e-9,-1.4910878327908136e-4,-3.9458613965874134e-5,-8.598961074703302e-9,-1.4896817540041468e-4,-3.9173255620837376e-5,-8.580634729706417e-9,-1.4889434793359147e-4,-3.896143953895252e-5,-8.566369717397555e-9,-1.488446779231985e-4,-3.885027635490195e-5,-8.558992598500318e-9,-1.4876971971684565e-4,-3.883878985692342e-5,-8.559461170923111e-9,-1.4862882605840358e-4,-3.889897430693147e-5,-8.566637964807312e-9,-1.484015496846831e-4,-3.8985699273179814e-5,-8.577719545041904e-9,-1.4809146958670756e-4,-3.9050500471712874e-5,-8.589075917670951e-9,-1.4772283139077166e-4,-3.90541832810773e-5,-8.597200861671296e-9,-1.4733252302452735e-4,-3.8975093804996464e-5,-8.599531021666814e-9,-1.46960319709348e-4,-3.8811988524448995e-5,-8.594969943036304e-9,-1.4663989849332713e-4,-3.8581911562734315e-5,-8.58402541962936e-9,-1.4639243737691714e-4,-3.831439622032589e-5,-8.568556760394407e-9,-1.4622381432699978e-4,-3.8043832331238845e-5,-8.551221326080342e-9,-1.4612546696149864e-4,-3.780203085357788e-5,-8.534793996272362e-9,-1.4607800835754142e-4,-3.761267871861787e-5,-8.521560570514165e-9,-1.46056126596556e-4,-3.748848840769632e-5,-8.512936995642796e-9,-1.4603336462438332e-4,-3.743087337648366e-5,-8.509368863912567e-9,-1.4598588657925202e-4,-3.743138625583485e-5,-8.510465027645555e-9,-1.4589496353338089e-4,-3.747399290628529e-5,-8.515247763091069e-9,-1.4574843347403674e-4,-3.753744263121957e-5,-8.522385868843517e-9,-1.4554162934537264e-4,-3.759745129656199e-5,-8.530332304446479e-9,-1.4527818133022795e-4,-3.7628889350479104e-5,-8.537375532161534e-9,-1.4497079464529807e-4,-3.76084521534279e-5,-8.541699439939246e-9,-1.446416124057033e-4,-3.751836753687077e-5,-8.541581339326527e-9,-1.4432111704455668e-4,-3.7351398285757994e-5,-8.535812444372269e-9,-1.4404404714688575e-4,-3.711638518574359e-5,-8.524282605408122e-9,-1.438412079624837e-4,-3.684187866182322e-5,-8.508477097627533e-9,-1.4372811461076546e-4,-3.657397293866363e-5,-8.491503673689153e-9,-1.436949746655447e-4,-3.636532952138359e-5,-8.477371791217123e-9,-1.437049148338037e-4,-3.625715011489158e-5,-8.469647157873269e-9,-1.4370460041685984e-4,-3.626225419817731e-5,-8.470096677118393e-9,-1.436435657655829e-4,-3.6359182629031623e-5,-8.478059693349249e-9,-1.4349217679652826e-4,-3.650097828056397e-5,-8.49083875172551e-9,-1.4324944734727836e-4,-3.663301747612782e-5,-8.50476357027434e-9,-1.4293924274250757e-4,-3.6710244446883646e-5,-8.516318183217591e-9,-1.42599606440927e-4,-3.670734481993864e-5,-8.522934387042323e-9,-1.4227107692698355e-4,-3.66208983276144e-5,-8.523380609554418e-9,-1.4198762087161575e-4,-3.646586091026803e-5,-8.517827359725516e-9,-1.4177127123896665e-4,-3.626931158012475e-5,-8.507668428407443e-9,-1.4163010445375599e-4,-3.606360234221836e-5,-8.495144285064709e-9,-1.4155881398565556e-4,-3.588006957388633e-5,-8.482821921176052e-9,-1.4154122929864088e-4,-3.574396664003745e-5,-8.473039059830415e-9,-1.4155410250967632e-4,-3.5671120527783085e-5,-8.467454781925923e-9,-1.4157137341078065e-4,-3.5666522461359366e-5,-8.46681890030178e-9,-1.4156819516112225e-4,-3.572468450852716e-5,-8.4709875707388e-9,-1.4152418460917606e-4,-3.58313730753767e-5,-8.47912807725831e-9,-1.4142558873947818e-4,-3.59661705458511e-5,-8.489992557926502e-9,-1.412664184643966e-4,-3.6105261696455e-5,-8.502137383045136e-9,-1.4104888166358994e-4,-3.6224110895191465e-5,-8.514032189748423e-9,-1.4078340386514088e-4,-3.630008132933925e-5,-8.524097794432883e-9,-1.4048831120426743e-4,-3.6315244359799485e-5,-8.530777751256682e-9,-1.4018893987105985e-4,-3.6259700669489686e-5,-8.532761075544734e-9,-1.399154045802046e-4,-3.613554770648095e-5,-8.529406358796928e-9,-1.396978493880879e-4,-3.5960758369385744e-5,-8.5212719609298e-9,-1.395584274220083e-4,-3.5770777754258144e-5,-8.510484614118273e-9,-1.395010799090941e-4,-3.5614419533547606e-5,-8.500584815712752e-9,-1.3950347955379841e-4,-3.554134224026499e-5,-8.495600252331792e-9,-1.395181326667312e-4,-3.5583057711782186e-5,-8.49852886633527e-9,-1.3948692048425989e-4,-3.573661667274257e-5,-8.509976577861838e-9,-1.3936409233349114e-4,-3.596248146847602e-5,-8.52783178092342e-9,-1.3913464178440764e-4,-3.6200002121230084e-5,-8.548219699136488e-9,-1.3881747770678196e-4,-3.6391341144876804e-5,-8.567072309384218e-9,-1.384540237025143e-4,-3.650005380239695e-5,-8.581375137160207e-9,-1.380914704582618e-4,-3.6517145395985524e-5,-8.589669620504838e-9,-1.3776939627770373e-4,-3.645667302158028e-5,-8.591982763540148e-9,-1.375129529417687e-4,-3.634680402050186e-5,-8.589508759325445e-9,-1.373315794560991e-4,-3.622095854655851e-5,-8.584220023840957e-9,-1.3722091216789167e-4,-3.61110737959683e-5,-8.578448656336925e-9,-1.3716598999432205e-4,-3.6043161150447865e-5,-8.574449379800085e-9,-1.37144819913883e-4,-3.6034601772228566e-5,-8.573995788120039e-9,-1.3713202193536196e-4,-3.60927847497726e-5,-8.578098184526851e-9,-1.3710237308793484e-4,-3.621495858814332e-5,-8.586914569799196e-9,-1.3703402980724396e-4,-3.6389181641333254e-5,-8.5998516774355e-9,-1.36911205202354e-4,-3.65962542961265e-5,-8.615789199981454e-9,-1.3672602214730465e-4,-3.68124573584491e-5,-8.633327431858329e-9,-1.36479349089764e-4,-3.701271677512592e-5,-8.650970819822634e-9,-1.3618068653054776e-4,-3.717379627140313e-5,-8.667222550115315e-9,-1.358472662707308e-4,-3.7277344343605105e-5,-8.680647089426607e-9,-1.3550242612119607e-4,-3.731274903926245e-5,-8.68999424871703e-9,-1.3517320152061808e-4,-3.727978006702851e-5,-8.694459140313209e-9,-1.3488680793789882e-4,-3.719092897384664e-5,-8.694073713436727e-9,-1.3466544021457864e-4,-3.707279073129639e-5,-8.69010051987593e-9,-1.3451925275556113e-4,-3.696481485133304e-5,-8.685177236944263e-9,-1.344388658671642e-4,-3.69131046298267e-5,-8.682934876706395e-9,-1.3439108416693466e-4,-3.695778715724225e-5,-8.68695839392729e-9,-1.3432331140892352e-4,-3.7116200157038535e-5,-8.699334814541392e-9,-1.3417981211901297e-4,-3.737010340084863e-5,-8.71951455375979e-9,-1.339246580951755e-4,-3.7667420214442775e-5,-8.744316749020727e-9,-1.3355816900488716e-4,-3.7941435370631326e-5,-8.769244026211392e-9,-1.3311593340372153e-4,-3.813725721253883e-5,-8.79029609068621e-9,-1.3265197371800877e-4,-3.8229929052285945e-5,-8.80518898519348e-9,-1.3221793913426716e-4,-3.822643977336777e-5,-8.813555366407018e-9,-1.318492290963614e-4,-3.8155740932226004e-5,-8.816480101901048e-9,-1.3156091565529496e-4,-3.8055615871408505e-5,-8.815891247203971e-9,-1.3135036452187486e-4,-3.796239043644523e-5,-8.814051427765528e-9,-1.31202438800492e-4,-3.7905049072083586e-5,-8.813160873514698e-9,-1.3109463784149872e-4,-3.79028210263575e-5,-8.81503385420893e-9,-1.3100122611687848e-4,-3.796469387651649e-5,-8.820852830416448e-9,-1.3089648863076503e-4,-3.80897908046812e-5,-8.83104051118581e-9,-1.3075748536931842e-4,-3.826825886682798e-5,-8.84527997381368e-9,-1.3056648321026467e-4,-3.848267424904795e-5,-8.862659526172724e-9,-1.3031305885508222e-4,-3.871009371470224e-5,-8.881878607082005e-9,-1.2999564462678402e-4,-3.8924886973358905e-5,-8.90144922639146e-9,-1.296221126551315e-4,-3.9102224081252054e-5,-8.919852317394064e-9,-1.292091137554164e-4,-3.9221787764163894e-5,-8.935653170963314e-9,-1.287801342980387e-4,-3.9271231345139034e-5,-8.947626178113364e-9,-1.2836237102655372e-4,-3.924893370147562e-5,-8.954946573809908e-9,-1.2798264289840097e-4,-3.916561004732102e-5,-8.957459750970044e-9,-1.2766262594780724e-4,-3.9044431207776e-5,-8.955969094344736e-9,-1.2741366297480022e-4,-3.891923161696911e-5,-8.952404162384802e-9,-1.2723168997357461e-4,-3.883000967390067e-5,-8.949679509496966e-9,-1.27093748029005e-4,-3.881487829910734e-5,-8.951097831921052e-9,-1.2695870357679422e-4,-3.8898685950468335e-5,-8.959323326278861e-9,-1.267751555869125e-4,-3.908106724078372e-5,-8.975233990146882e-9,-1.2649729890266872e-4,-3.933002315131596e-5,-8.997238422616873e-9,-1.2610380646318407e-4,-3.958793924368254e-5,-9.021623338742478e-9,-1.2560933231630603e-4,-3.979117636916569e-5,-9.043949542052622e-9,-1.250601064281325e-4,-3.989428803618717e-5,-9.060747657363913e-9,-1.2451535807132656e-4,-3.988519479442612e-5,-9.070550347589108e-9,-1.2402584828578883e-4,-3.978414776435241e-5,-9.073886011159246e-9,-1.236205981940215e-4,-3.963065544738354e-5,-9.07260038223968e-9,-1.2330492479386814e-4,-3.946804731107443e-5,-9.06907791995821e-9,-1.2306592379153069e-4,-3.9332584341514184e-5,-9.065663183276685e-9,-1.228800828847495e-4,-3.9248605036294036e-5,-9.064298093394783e-9,-1.2271974809462355e-4,-3.9227959023930204e-5,-9.066308761174449e-9,-1.2255751932836511e-4,-3.9271422800291845e-5,-9.07230522767062e-9,-1.2236902385258616e-4,-3.937056825807537e-5,-9.082190481665708e-9,-1.2213485314795255e-4,-3.950953825587356e-5,-9.0952670217167e-9,-1.2184219766310128e-4,-3.966680598205627e-5,-9.110401741288104e-9,-1.2148636162885278e-4,-3.981726696521993e-5,-9.12619905571748e-9,-1.2107197250418744e-4,-3.9935062083796264e-5,-9.141156188037495e-9,-1.2061333772280514e-4,-3.9997258003077964e-5,-9.153805898123638e-9,-1.2013331124746263e-4,-3.998800386203117e-5,-9.162873756252375e-9,-1.1966030668005657e-4,-3.990236796499482e-5,-9.167476141008514e-9,-1.1922355711720542e-4,-3.9748848224879454e-5,-9.16735668291749e-9,-1.1884727409519039e-4,-3.9549573910041856e-5,-9.163106709226148e-9,-1.1854484500946807e-4,-3.9337626281964046e-5,-9.156273357353645e-9,-1.1831435745928925e-4,-3.9151554868869843e-5,-9.149247534449742e-9,-1.1813661119487769e-4,-3.9027669333984225e-5,-9.144851147026704e-9,-1.1797667960421902e-4,-3.899110483450793e-5,-9.145628060950681e-9,-1.1778991790734548e-4,-3.904737063700308e-5,-9.15299150810211e-9,-1.175325624741728e-4,-3.9177091689939015e-5,-9.166537396277783e-9,-1.1717523308225653e-4,-3.933731131848976e-5,-9.183898816605155e-9,-1.1671489921126038e-4,-3.947171279421601e-5,-9.20137620436505e-9,-1.1617906373001206e-4,-3.952820645458404e-5,-9.215188158288917e-9,-1.1561807446250038e-4,-3.947694802803824e-5,-9.222771080593783e-9,-1.1508795403832579e-4,-3.931977427169145e-5,-9.223487247363517e-9,-1.1463218392673738e-4,-3.9086539305895255e-5,-9.21849929028679e-9,-1.142709592978943e-4,-3.8821745934336895e-5,-9.210076040428456e-9,-1.1400074179654687e-4,-3.856946273893001e-5,-9.20078618611514e-9,-1.1380094799943816e-4,-3.836294492571193e-5,-9.192886631995141e-9,-1.1364261812623197e-4,-3.822069459714716e-5,-9.1879765359956e-9,-1.1349551541127026e-4,-3.814719957123449e-5,-9.186871306246775e-9,-1.1333258761490281e-4,-3.8135736535814055e-5,-9.189633338269424e-9,-1.1313230069867286e-4,-3.817141008984336e-5,-9.195706259883106e-9,-1.1287982382393343e-4,-3.823369291997683e-5,-9.204097657482591e-9,-1.1256786310513337e-4,-3.829851605574717e-5,-9.213553802888529e-9,-1.1219751803139118e-4,-3.8340376762559447e-5,-9.22269414066259e-9,-1.1177904223869293e-4,-3.833503671167999e-5,-9.230116686601745e-9,-1.1133191698447232e-4,-3.826315103578705e-5,-9.234523255112086e-9,-1.1088335748373442e-4,-3.811461096830071e-5,-9.234910233392347e-9,-1.1046449079987319e-4,-3.789262697562118e-5,-9.230826308386785e-9,-1.1010413601670693e-4,-3.7615910350771354e-5,-9.222627139411862e-9,-1.0982130517158393e-4,-3.731722308065027e-5,-9.21160402770721e-9,-1.0961868889767661e-4,-3.703748088216355e-5,-9.199872312326249e-9,-1.0947969429209346e-4,-3.681630820680492e-5,-9.189976537874282e-9,-1.0937067838856088e-4,-3.668157414423921e-5,-9.184272074658242e-9,-1.0924829447019257e-4,-3.664109554625678e-5,-9.18424056176897e-9,-1.0907020550257687e-4,-3.667913877536005e-5,-9.189954915184103e-9,-1.0880642515705916e-4,-3.6759033088402764e-5,-9.199907267392656e-9,-1.0844824947981108e-4,-3.683171835853091e-5,-9.211326762762983e-9,-1.0801195079731945e-4,-3.684853152381634e-5,-9.220949393187014e-9,-1.0753533107081977e-4,-3.6774884340293415e-5,-9.225997564122934e-9,-1.0706735543311275e-4,-3.6600269285523224e-5,-9.22499909034669e-9,-1.0665405844386353e-4,-3.634060345263345e-5,-9.218128116932532e-9,-1.0632599695639417e-4,-3.6031911809698865e-5,-9.206981038369621e-9,-1.0609189824736788e-4,-3.5718319405997615e-5,-9.19395506438557e-9,-1.0593992002165717e-4,-3.543962353913638e-5,-9.181522987160879e-9,-1.0584432970216088e-4,-3.5222894444418944e-5,-9.171654265312317e-9,-1.0577377509585269e-4,-3.5079615353876484e-5,-9.165501882736301e-9,-1.0569811427307857e-4,-3.500714701067259e-5,-9.163352800650679e-9,-1.0559264518508524e-4,-3.499226206662488e-5,-9.164771801813917e-9,-1.0544004786505433e-4,-3.5014920510423576e-5,-9.16883982493074e-9,-1.0523095671395252e-4,-3.5051391464275926e-5,-9.174389778026609e-9,-1.0496405295401565e-4,-3.507665669286638e-5,-9.180172150801203e-9,-1.0464618835727268e-4,-3.506655725701059e-5,-9.184939032839345e-9,-1.0429252092118758e-4,-3.500030193581135e-5,-9.187495988674884e-9,-1.039261276946598e-4,-3.48637823947789e-5,-9.186800523449334e-9,-1.0357615793353864e-4,-3.46536541858101e-5,-9.182170455832e-9,-1.0327350441689744e-4,-3.4381246691956354e-5,-9.173580720955574e-9,-1.0304364939716516e-4,-3.4074253186413085e-5,-9.161923230549191e-9,-1.0289802766204464e-4,-3.3773697803369534e-5,-9.149039646343281e-9,-1.0282725778280255e-4,-3.3524929232600696e-5,-9.137394421723031e-9,-1.0280029662432293e-4,-3.336441855594974e-5,-9.129418606410994e-9,-1.0277162008556858e-4,-3.3307298589755e-5,-9.126750143428798e-9,-1.0269452672034878e-4,-3.334132380659976e-5,-9.129679824022376e-9,-1.0253530901109662e-4,-3.3430128766657056e-5,-9.137028969170211e-9,-1.0228281327026914e-4,-3.352418168582912e-5,-9.146483951023313e-9,-1.0195058478501845e-4,-3.357486167811767e-5,-9.155243273725392e-9,-1.0157200536431759e-4,-3.354696552794696e-5,-9.160762004820197e-9,-1.0119077576295845e-4,-3.3426523116505044e-5,-9.161389983981338e-9,-1.0084972538708518e-4,-3.322258471680729e-5,-9.1567428994038e-9,-1.0058085340582454e-4,-3.296319855077416e-5,-9.1477233287177e-9,-1.0039895151362752e-4,-3.268715204906611e-5,-9.13620386476633e-9,-1.0030009479870362e-4,-3.243403248359135e-5,-9.124482475916777e-9,-1.0026481761500761e-4,-3.2235448634192776e-5,-9.114685797381227e-9,-1.002643617789796e-4,-3.210959204158094e-5,-9.108299298278605e-9,-1.0026767382911762e-4,-3.205986487873324e-5,-9.105941746310106e-9,-1.0024717983614368e-4,-3.207681406252085e-5,-9.107401083971613e-9,-1.0018239318013028e-4,-3.214184576455504e-5,-9.111860642617299e-9,-1.0006142614792553e-4,-3.223125875718116e-5,-9.118191582072067e-9,-9.988108258667136e-5,-3.2319691729833556e-5,-9.1251948611398e-9,-9.964632646321523e-5,-3.238278403756544e-5,-9.131729422340635e-9,-9.936964829441685e-5,-3.239938756272473e-5,-9.136742201877834e-9,-9.907040628933112e-5,-3.235385780725714e-5,-9.139278262243717e-9,-9.877374852922494e-5,-3.22388541842853e-5,-9.138569270716463e-9,-9.850827687016545e-5,-3.2058685656720396e-5,-9.13425646517205e-9,-9.830143939364078e-5,-3.1832365719454527e-5,-9.126703455871307e-9,-9.817223068137955e-5,-3.159432274657247e-5,-9.117234559865558e-9,-9.812252419680496e-5,-3.138997708142053e-5,-9.108071823699427e-9,-9.813089016549055e-5,-3.126452109365012e-5,-9.10182146027846e-9,-9.815412222958905e-5,-3.124710157480261e-5,-9.100604093125194e-9,-9.813914491830552e-5,-3.1337456387429606e-5,-9.105211374499513e-9,-9.804153498796248e-5,-3.150322611607172e-5,-9.11475449547984e-9,-9.784154686536156e-5,-3.1690737195221436e-5,-9.127000792101932e-9,-9.754967528636868e-5,-3.1843765894223964e-5,-9.139172281973027e-9,-9.720055366819144e-5,-3.192085559051927e-5,-9.148776150107598e-9,-9.684015327249356e-5,-3.1904655488520306e-5,-9.154172659673398e-9,-9.651257696551535e-5,-3.180236177111936e-5,-9.154822358487452e-9,-9.62504127431069e-5,-3.163996841124646e-5,-9.151274976782774e-9,-9.60698168291565e-5,-3.145374077091899e-5,-9.144961054288212e-9,-9.596984265486474e-5,-3.128151423757891e-5,-9.137828523893096e-9,-9.593497386265119e-5,-3.115537334164327e-5,-9.131885483864583e-9,-9.593976606922285e-5,-3.109656681303233e-5,-9.128751308860314e-9,-9.595447136657913e-5,-3.111310201829616e-5,-9.129337933414458e-9,-9.595049936624177e-5,-3.119999178987712e-5,-9.133745810921736e-9,-9.590477548725535e-5,-3.134160856925637e-5,-9.141380171958168e-9,-9.580246226255177e-5,-3.151529116825042e-5,-9.151211708597388e-9,-9.563797539391283e-5,-3.16952830703858e-5,-9.162060481302314e-9,-9.541467373049275e-5,-3.185625961327806e-5,-9.172796825714589e-9,-9.514380915860319e-5,-3.197615493895167e-5,-9.182419310694514e-9,-9.48431552537596e-5,-3.2038443093745316e-5,-9.190051974883061e-9,-9.453543133902659e-5,-3.2034182987011704e-5,-9.194952520053085e-9,-9.424633486772374e-5,-3.1964113362905855e-5,-9.19662086089252e-9,-9.400158823504068e-5,-3.18408340759899e-5,-9.195038235111904e-9,-9.382220633420554e-5,-3.169033305608827e-5,-9.19095818861579e-9,-9.371778135278529e-5,-3.155104568024974e-5,-9.186065400464665e-9,-9.367914980804929e-5,-3.1468046822899884e-5,-9.182785199579648e-9,-9.367412170350315e-5,-3.1480918711509026e-5,-9.183626205872267e-9,-9.365156347345576e-5,-3.160755715402989e-5,-9.19020294586336e-9,-9.355668865963729e-5,-3.183175941432533e-5,-9.202419571888166e-9,-9.335267713728581e-5,-3.210430056471749e-5,-9.218371347956345e-9,-9.303667906521569e-5,-3.236020861117679e-5,-9.235103819495216e-9,-9.264032211325917e-5,-3.2543385860012626e-5,-9.249755228307922e-9,-9.221548591093086e-5,-3.262483810785695e-5,-9.26041652356236e-9,-9.181507378196565e-5,-3.260698117914955e-5,-9.266413523353581e-9,-9.147845491400025e-5,-3.251632942914815e-5,-9.268166415699002e-9,-9.122520847559706e-5,-3.239154168921172e-5,-9.266889513425695e-9,-9.105564635912965e-5,-3.227244723700269e-5,-9.2642646836748e-9,-9.095498913811478e-5,-3.219240887699171e-5,-9.262101784399266e-9,-9.08987318910297e-5,-3.217406213098664e-5,-9.261994204243429e-9,-9.085793054099272e-5,-3.222762121230062e-5,-9.265019829464496e-9,-9.080392835417925e-5,-3.2351052738033134e-5,-9.271567916967034e-9,-9.071228168806134e-5,-3.253168391369461e-5,-9.28134185774094e-9,-9.056569168800201e-5,-3.2748874236925676e-5,-9.293522462109239e-9,-9.035578936575062e-5,-3.297739074658915e-5,-9.307015941925984e-9,-9.008365802729651e-5,-3.319108369388331e-5,-9.32068773621464e-9,-8.975916266917992e-5,-3.336636099032471e-5,-9.33350717957054e-9,-8.939940883763627e-5,-3.348509546284864e-5,-9.344592008056796e-9,-8.902663953210632e-5,-3.353691102753202e-5,-9.353211946825554e-9,-8.866569313938621e-5,-3.352090126483869e-5,-9.35883336145802e-9,-8.834103551839693e-5,-3.3446806313605515e-5,-9.361261938630803e-9,-8.807317448099914e-5,-3.333560303798455e-5,-9.360872293875294e-9,-8.787408489854848e-5,-3.321895898344246e-5,-9.35881896249169e-9,-8.774178162211213e-5,-3.313618048205553e-5,-9.357051719661311e-9,-8.765551941425548e-5,-3.312704407820512e-5,-9.357971217288903e-9,-8.75747733839315e-5,-3.3219976944643985e-5,-9.363691049098633e-9,-8.74461410016907e-5,-3.341812218722618e-5,-9.375114762347986e-9,-8.7220065678816e-5,-3.3690479945789706e-5,-9.391311854138805e-9,-8.687212463896635e-5,-3.397702246395055e-5,-9.409699673510456e-9,-8.641654285989432e-5,-3.420979174434094e-5,-9.427069578077248e-9,-8.590181922728967e-5,-3.433967242416912e-5,-9.440848661633535e-9,-8.539061620032401e-5,-3.435314501297649e-5,-9.44984340985916e-9,-8.493672097339013e-5,-3.4271269582614564e-5,-9.454233252297501e-9,-8.45709727893319e-5,-3.413584988272384e-5,-9.45513539359531e-9,-8.429907159057472e-5,-3.399315338192215e-5,-9.454135610822126e-9,-8.410710066635141e-5,-3.388222278476255e-5,-9.452932691116559e-9,-8.39694300761685e-5,-3.382927951155617e-5,-9.453065287658341e-9,-8.385576288840835e-5,-3.384661045247159e-5,-9.455682021020762e-9,-8.373632656338405e-5,-3.39337961074905e-5,-9.461372860972362e-9,-8.358545827544782e-5,-3.407987563331084e-5,-9.470111676055729e-9,-8.338408132706894e-5,-3.426590539557689e-5,-9.481331913003121e-9,-8.312136430352067e-5,-3.446778153328366e-5,-9.494105686910258e-9,-8.279564587432089e-5,-3.465932720987703e-5,-9.507355644814983e-9,-8.241450667287213e-5,-3.481564090403858e-5,-9.520030613693909e-9,-8.19937854235765e-5,-3.491646452503521e-5,-9.531207314372736e-9,-8.155553782746594e-5,-3.494912799250977e-5,-9.540129776878508e-9,-8.112514759519504e-5,-3.491073158250606e-5,-9.546243568285508e-9,-8.072780222779476e-5,-3.480934834136822e-5,-9.549283156140592e-9,-8.038456389393579e-5,-3.466401475530754e-5,-9.549426224657887e-9,-8.010831362600719e-5,-3.450333338545574e-5,-9.54746360191402e-9,-7.989980971585162e-5,-3.4362440274271346e-5,-9.544875278633311e-9,-7.974437782718713e-5,-3.427773727254322e-5,-9.543676237437192e-9,-7.961061805952735e-5,-3.427884237468908e-5,-9.545950110564333e-9,-7.945341861300056e-5,-3.437837958684637e-5,-9.553132576768602e-9,-7.922353858236074e-5,-3.456254513569184e-5,-9.56529984876067e-9,-7.888371631202135e-5,-3.478810345141471e-5,-9.580865713138687e-9,-7.842594949679023e-5,-3.499174125974583e-5,-9.597013547859506e-9,-7.787972052612896e-5,-3.5111823238104886e-5,-9.61077091176288e-9,-7.730339317992335e-5,-3.5112654366270275e-5,-9.620133730535203e-9,-7.676190727235558e-5,-3.4997103078953485e-5,-9.624598331243174e-9,-7.630368913524509e-5,-3.480106932702219e-5,-9.62496228087358e-9,-7.594864786183333e-5,-3.457584341541249e-5,-9.622755990773589e-9,-7.568955618661085e-5,-3.4369955647098174e-5,-9.619710536672963e-9,-7.550120699012476e-5,-3.4218070735318946e-5,-9.617407235355379e-9,-7.53506844299028e-5,-3.4137703834965904e-5,-9.617061902570326e-9,-7.520512620818642e-5,-3.4130887726558557e-5,-9.619389347609227e-9,-7.503635353608889e-5,-3.4187713250424024e-5,-9.624544759331411e-9,-7.482323554456231e-5,-3.4289930549698735e-5,-9.63216195796353e-9,-7.455284746952063e-5,-3.441408243113663e-5,-9.641484197830746e-9,-7.422104933606681e-5,-3.4534311144901265e-5,-9.651545196785234e-9,-7.383266982034839e-5,-3.4625139821498456e-5,-9.661340808730684e-9,-7.340115252227199e-5,-3.466447763315732e-5,-9.669951148188559e-9,-7.29472860281118e-5,-3.4636811794840895e-5,-9.676610258024069e-9,-7.249670181575391e-5,-3.453612755069931e-5,-9.680751536488109e-9,-7.207617225320659e-5,-3.436789907206864e-5,-9.682071150846721e-9,-7.170907254595313e-5,-3.414954611457939e-5,-9.680633872207702e-9,-7.141062395474628e-5,-3.39088790257861e-5,-9.676997430229804e-9,-7.118375946617258e-5,-3.3680346460547944e-5,-9.672282908069223e-9,-7.101650731517465e-5,-3.349931488623629e-5,-9.668098481187566e-9,-7.088172523947388e-5,-3.33948756399492e-5,-9.666247026220778e-9,-7.074007291564022e-5,-3.3381977619494795e-5,-9.668224096412342e-9,-7.054706001923604e-5,-3.345448175111133e-5,-9.674640120668145e-9,-7.026421186175586e-5,-3.358188659485631e-5,-9.68481262676929e-9,-6.987236648803186e-5,-3.371310919852034e-5,-9.69679586348801e-9,-6.938216497629712e-5,-3.3789366876241454e-5,-9.707962916374584e-9,-6.883511643281062e-5,-3.376368965928737e-5,-9.715940864866819e-9,-6.829161852117123e-5,-3.3618736578177726e-5,-9.719434092883315e-9,-6.781005922500603e-5,-3.337302815858778e-5,-9.718519685799377e-9,-6.742756648217968e-5,-3.307197650765509e-5,-9.714369050431293e-9,-6.715167109481134e-5,-3.276964162612763e-5,-9.70868572509175e-9,-6.696431540140377e-5,-3.251149483555875e-5,-9.703181489926008e-9,-6.683272014943683e-5,-3.23249804831107e-5,-9.699229967536756e-9,-6.672046595425307e-5,-3.221830593712131e-5,-9.69768646622021e-9,-6.659514882482948e-5,-3.218413792480631e-5,-9.69883261424372e-9,-6.643222102070501e-5,-3.2204715407059465e-5,-9.702422223220024e-9,-6.621623206383647e-5,-3.225639014403438e-5,-9.707811412099236e-9,-6.594084229704343e-5,-3.231307689206832e-5,-9.714134303646899e-9,-6.560847130759857e-5,-3.234892257240772e-5,-9.720473000120565e-9,-6.522984548096849e-5,-3.2340745725612146e-5,-9.725978398839142e-9,-6.482324202400488e-5,-3.227068092840828e-5,-9.72993539962299e-9,-6.441292964570893e-5,-3.212909927557402e-5,-9.731798587080863e-9,-6.402628163536215e-5,-3.1917364877182857e-5,-9.731239839313383e-9,-6.368937200887575e-5,-3.164953586182567e-5,-9.728232443086724e-9,-6.342148728367543e-5,-3.135192586641782e-5,-9.723155862069091e-9,-6.3229704409613e-5,-3.105968506127635e-5,-9.716864968224381e-9,-6.310518395759158e-5,-3.081035792541784e-5,-9.710646408580894e-9,-6.302274843342547e-5,-3.0635492967811876e-5,-9.706009068758345e-9,-6.294459210654977e-5,-3.055226083848084e-5,-9.704313675315504e-9,-6.282790628516361e-5,-3.0557342633427204e-5,-9.706329094269245e-9,-6.263513206345579e-5,-3.062513212686725e-5,-9.711875217337033e-9]} \ No newline at end of file diff --git a/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_9.json b/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_9.json new file mode 100644 index 0000000..745c250 --- /dev/null +++ b/Cesium/Assets/IAU2006_XYS/IAU2006_XYS_9.json @@ -0,0 +1 @@ +{"version":"1.0","updated":"2008 Dec 02 20:00:00 UTC","interpolationOrder":9,"xysAlgorithm":"SOFA_DEL_PSI_EPS","sampleZeroJulianEphemerisDate":2442396.5,"stepSizeDays":1.0,"startIndex":9000,"numberOfSamples":1000,"samples":[-6.23446137633139e-5,-3.071164556992463e-5,-9.719731332151204e-9,-6.19586809157847e-5,-3.076438157665265e-5,-9.727914890125598e-9,-6.150587794551883e-5,-3.073654937098242e-5,-9.734280833128142e-9,-6.1034943329782044e-5,-3.060168191808949e-5,-9.737216476929997e-9,-6.0601038606681665e-5,-3.036287029042388e-5,-9.736134809126074e-9,-6.024888746053323e-5,-3.0051869736974383e-5,-9.731565682588457e-9,-5.999994090928063e-5,-2.971789522758825e-5,-9.724862066857019e-9,-5.9848834314815545e-5,-2.9411354882677176e-5,-9.71770907732456e-9,-5.976923198886018e-5,-2.916989718887004e-5,-9.711648469978378e-9,-5.972462316432335e-5,-2.9011586735457638e-5,-9.707751149758674e-9,-5.967870819510338e-5,-2.8935387308633597e-5,-9.70647628370283e-9,-5.9602228253192676e-5,-2.89259970676844e-5,-9.707695687073557e-9,-5.947591112549622e-5,-2.8959747148304846e-5,-9.710838540242717e-9,-5.929077173354268e-5,-2.9009608654381066e-5,-9.715094525623705e-9,-5.904719567985657e-5,-2.9048773862964067e-5,-9.71960852884578e-9,-5.8753773367436014e-5,-2.9053136374370507e-5,-9.72361187781754e-9,-5.842624685184096e-5,-2.9003338061866847e-5,-9.726475623750488e-9,-5.8086360356536405e-5,-2.8886966009567993e-5,-9.727714468149827e-9,-5.776002754298137e-5,-2.870105742876016e-5,-9.726995392498005e-9,-5.74741651198525e-5,-2.845449366073143e-5,-9.72419549652686e-9,-5.725183467800746e-5,-2.8169256139263426e-5,-9.71951151762819e-9,-5.7106100541113594e-5,-2.7879041181757347e-5,-9.713564114276547e-9,-5.7034227249689176e-5,-2.7623923778951554e-5,-9.707405962417725e-9,-5.7014849044397024e-5,-2.744114170465607e-5,-9.702361282140308e-9,-5.701050918052841e-5,-2.735425399096375e-5,-9.699698830847758e-9,-5.697609718243167e-5,-2.7364576162975244e-5,-9.700232368303819e-9,-5.6871038817050416e-5,-2.7448633497066595e-5,-9.704002376450864e-9,-5.667116781282969e-5,-2.7563221973356075e-5,-9.710182005555758e-9,-5.637617678776307e-5,-2.765667320675218e-5,-9.717264987992663e-9,-5.601027591624169e-5,-2.7682736375781414e-5,-9.723480590272698e-9,-5.561600483675091e-5,-2.7612936285683867e-5,-9.727297528384073e-9,-5.524303937361784e-5,-2.7443956618506687e-5,-9.727850312943274e-9,-5.493513840003189e-5,-2.7197955922928915e-5,-9.725154651913568e-9,-5.471906725691787e-5,-2.6915691607899557e-5,-9.72005407261872e-9,-5.4598911019501836e-5,-2.6644703453075705e-5,-9.713934027115233e-9,-5.455730383150816e-5,-2.64266189741069e-5,-9.708311206523093e-9,-5.4562420129529145e-5,-2.6287768574123053e-5,-9.704433569738843e-9,-5.457752704343605e-5,-2.623553492658023e-5,-9.703008653848694e-9,-5.456957532646678e-5,-2.6260220049275858e-5,-9.704121931504624e-9,-5.451464446828428e-5,-2.6340246599419492e-5,-9.707335422027123e-9,-5.439995050230707e-5,-2.6448131932234545e-5,-9.711898924726039e-9,-5.422339633670513e-5,-2.6555532499365036e-5,-9.716981565914689e-9,-5.399194066121386e-5,-2.663678226094542e-5,-9.721842938139277e-9,-5.37197431734721e-5,-2.667116151947731e-5,-9.725902670942154e-9,-5.342650643560834e-5,-2.6644534881516494e-5,-9.728727486336505e-9,-5.313587618209729e-5,-2.655097739679037e-5,-9.729995225631237e-9,-5.287334596399925e-5,-2.639462790136861e-5,-9.72950469114869e-9,-5.266297173036476e-5,-2.619143036945524e-5,-9.727266597271218e-9,-5.252243553464907e-5,-2.596971389861331e-5,-9.723645863256587e-9,-5.245681707745194e-5,-2.5767877042401753e-5,-9.719459836489783e-9,-5.245295661436816e-5,-2.562748717562385e-5,-9.715914975816248e-9,-5.247784135201871e-5,-2.558182145120203e-5,-9.714321344765071e-9,-5.248433005910525e-5,-2.5643167778965002e-5,-9.71565414605581e-9,-5.242443255043768e-5,-2.5794981125069657e-5,-9.720157774265109e-9,-5.2265507859568556e-5,-2.599424952537427e-5,-9.727205074415084e-9,-5.200192042456586e-5,-2.6184413784918434e-5,-9.735490249337039e-9,-5.165673914621095e-5,-2.6313264574752945e-5,-9.743443035999223e-9,-5.127351919687404e-5,-2.6348054742647138e-5,-9.749667801257827e-9,-5.0902725125982576e-5,-2.6282713166082426e-5,-9.75326720347049e-9,-5.0588284184408174e-5,-2.6136491038281e-5,-9.754009356253531e-9,-5.0357993370069754e-5,-2.5946393683606597e-5,-9.752342082004198e-9,-5.0219232993974796e-5,-2.5756667981670227e-5,-9.749262933352734e-9,-5.015982106504244e-5,-2.5608303159542794e-5,-9.746061951023208e-9,-5.0152906269271166e-5,-2.5530759317958693e-5,-9.743991748123502e-9,-5.016424167598713e-5,-2.5537314473559887e-5,-9.743957229389409e-9,-5.015987799753719e-5,-2.5624510658344092e-5,-9.746324283706057e-9,-5.011244865581866e-5,-2.5775123374663638e-5,-9.750904754883811e-9,-5.000492623338741e-5,-2.596321755352963e-5,-9.757101352467545e-9,-4.9831698223674514e-5,-2.6159651038122543e-5,-9.764134932390347e-9,-4.959756293540752e-5,-2.6336794409959954e-5,-9.77125471218565e-9,-4.9315586018946434e-5,-2.6471880876366733e-5,-9.777857341227311e-9,-4.900467765247903e-5,-2.6549048296052148e-5,-9.78350042703132e-9,-4.868733505302663e-5,-2.6560573645593127e-5,-9.787854781108205e-9,-4.8387507995782974e-5,-2.6507830841147043e-5,-9.790671063781774e-9,-4.812820015775109e-5,-2.640221991296037e-5,-9.791823659827242e-9,-4.792822925558667e-5,-2.626586053182433e-5,-9.791440657019166e-9,-4.7797688235235664e-5,-2.6131146731513124e-5,-9.790058210807481e-9,-4.7732434736905576e-5,-2.603750245204811e-5,-9.788680030956192e-9,-4.770949127982192e-5,-2.602362103765612e-5,-9.788622629016349e-9,-4.768699088683465e-5,-2.6115132800391774e-5,-9.791115783371455e-9,-4.7612514838547504e-5,-2.6311416798164514e-5,-9.796791594098938e-9,-4.744004786748611e-5,-2.6579162837951064e-5,-9.805340798551625e-9,-4.714894275327642e-5,-2.68596183979786e-5,-9.81558384504337e-9,-4.675409408145582e-5,-2.7088789244523173e-5,-9.82593563524379e-9,-4.63007016373858e-5,-2.7220538865820394e-5,-9.834966162719081e-9,-4.584698755933853e-5,-2.7240537539346205e-5,-9.841756608580806e-9,-4.544489497457328e-5,-2.716612358051693e-5,-9.845989371386469e-9,-4.512720869220526e-5,-2.7035870592725035e-5,-9.847894204339548e-9,-4.490350340869352e-5,-2.6895966227287968e-5,-9.848150476851382e-9,-4.4762813526265216e-5,-2.6788619054627426e-5,-9.847749002642056e-9,-4.467974944751262e-5,-2.6744535726717833e-5,-9.847788854326644e-9,-4.4621551529998665e-5,-2.67793858092927e-5,-9.849227199555758e-9,-4.4554711427458415e-5,-2.6893402551401513e-5,-9.852654250504786e-9,-4.445048423814215e-5,-2.7073346152810357e-5,-9.858177344922723e-9,-4.428881976659844e-5,-2.7296183901073322e-5,-9.865455416384905e-9,-4.406041691263042e-5,-2.753370714423536e-5,-9.873857188997167e-9,-4.376691930956634e-5,-2.7757247847319554e-5,-9.882664459772306e-9,-4.3419538053046194e-5,-2.7941805347373132e-5,-9.891234414250543e-9,-4.303660454191013e-5,-2.8069095603610774e-5,-9.899069051818642e-9,-4.264069174434751e-5,-2.8129368229640377e-5,-9.90579879900749e-9,-4.2255769073996823e-5,-2.8122238695490774e-5,-9.911139409555858e-9,-4.1904486407320275e-5,-2.8056896725693683e-5,-9.914892497705433e-9,-4.160543814119917e-5,-2.7951878164291356e-5,-9.9170275201943e-9,-4.137010911506443e-5,-2.783431847991674e-5,-9.917825281106567e-9,-4.119921521788755e-5,-2.7738086497587085e-5,-9.917998408072091e-9,-4.107878264055179e-5,-2.769954625238172e-5,-9.91867215364473e-9,-4.097763615938715e-5,-2.7749689768273665e-5,-9.921139370467895e-9,-4.0849404904229084e-5,-2.7902797854934692e-5,-9.926407792259145e-9,-4.0642441010064514e-5,-2.8145057541786642e-5,-9.934713814169385e-9,-4.031787237599612e-5,-2.8430538779043658e-5,-9.945298702787681e-9,-3.9868810330146976e-5,-2.8691908882654146e-5,-9.9566665170196e-9,-3.932833565054289e-5,-2.8864961803409028e-5,-9.967212572062042e-9,-3.875854394725441e-5,-2.891437192128338e-5,-9.975808367109482e-9,-3.822616913640833e-5,-2.8845330760606945e-5,-9.98201180056612e-9,-3.777943806979286e-5,-2.869613572190929e-5,-9.98594693625295e-9,-3.743725664498184e-5,-2.8519754654329504e-5,-9.98810862349428e-9,-3.719134397363045e-5,-2.8366020937962917e-5,-9.989234069973608e-9,-3.701525587842487e-5,-2.8270836040562245e-5,-9.99020103086058e-9,-3.6874340673262915e-5,-2.8252557552493446E-05,-9.991881928374356e-9,-3.6733633947777075e-5,-2.831302992680173e-5,-9.994958846882884e-9,-3.656313374093195e-5,-2.844073037686516e-5,-9.999766501751608e-9,-3.634100881655143e-5,-2.8614561011922926e-5,-1.000623541918002e-8,-3.605533964519792e-5,-2.8807801587885512e-5,-1.0013957531492734e-8,-3.570465334841229e-5,-2.8992079074828512e-5,-1.0022338457116705e-8,-3.529734816247884e-5,-2.914116709250595e-5,-1.0030762046344616e-8,-3.485006993645185e-5,-2.92343805861204e-5,-1.0038702615702036e-8,-3.4385142229079815e-5,-2.9259238226273796e-5,-1.0045757091094494e-8,-3.3927359255493513e-5,-2.9213049460563632e-5,-1.0051621058011619e-8,-3.350058407226353e-5,-2.9103332940466208e-5,-1.0056066702504657e-8,-3.3124457063630464e-5,-2.8947189972084985e-5,-1.0058976990550987e-8,-3.2811366323358286e-5,-2.8769735723801098e-5,-1.0060445345746964e-8,-3.256375787328263e-5,-2.8601623226662544e-5,-1.0060897143616392e-8,-3.2371816097269846e-5,-2.8475488693954947e-5,-1.0061145174295647e-8,-3.221189052935458e-5,-2.842075314931494e-5,-1.0062287880142022e-8,-3.204694100578321e-5,-2.8456309260332803e-5,-1.0065415316236122e-8,-3.183109485034811e-5,-2.8581804503757855e-5,-1.007118993199182e-8,-3.152026648812525e-5,-2.877048997646703e-5,-1.0079484318373714e-8,-3.108835216793204e-5,-2.8969238348406404e-5,-1.0089312218910324e-8,-3.0542974461299724e-5,-2.911131486583659e-5,-1.0099182540644034e-8,-2.992994780628945e-5,-2.9140766616140142e-5,-1.0107715115987456e-8,-2.9319253695152042e-5,-2.9036541761832005e-5,-1.0114124886146775e-8,-2.877809393386789e-5,-2.8820960229194144e-5,-1.0118307228329601e-8,-2.8346852894650365e-5,-2.8547443251060635e-5,-1.0120625267983092e-8,-2.803055359693186e-5,-2.8277133796314353e-5,-1.0121677071264258e-8,-2.7805852942645365e-5,-2.8058810315545394e-5,-1.0122171969069935e-8,-2.7634885870697304e-5,-2.7919586021142028e-5,-1.0122851241518537e-8,-2.7477784344898564e-5,-2.7865136011979794e-5,-1.0124374041290903e-8,-2.73005681768325e-5,-2.788470342701019e-5,-1.0127178785398857e-8,-2.707876938176712e-5,-2.7957027015369363e-5,-1.0131386580299943e-8,-2.6798428484780897e-5,-2.8055381987984983e-5,-1.0136799525049531e-8,-2.6455880523470634e-5,-2.8151496961065997e-5,-1.0142993650083491e-8,-2.6056989964450905e-5,-2.8218751221123247e-5,-1.0149458252670142e-8,-2.5615936366383297e-5,-2.82350089513246e-5,-1.0155717100330529e-8,-2.5153423477268736e-5,-2.8185218808561722e-5,-1.0161389371918144e-8,-2.469410784372093e-5,-2.80636100261117e-5,-1.0166188348621973e-8,-2.426321414819864e-5,-2.787501653366006e-5,-1.0169893731105325e-8,-2.3882668480529245e-5,-2.763487038497263e-5,-1.01723489245492e-8,-2.3567286234310905e-5,-2.7367666919278267e-5,-1.017351616196784e-8,-2.332156842397692e-5,-2.7103905438103306e-5,-1.017357593949472e-8,-2.3137641969046203e-5,-2.6875705732266855e-5,-1.0173013410180529e-8,-2.299476051584912e-5,-2.6711500845227496E-05,-1.017261329344951e-8,-2.2860705750699917e-5,-2.663018704620786e-5,-1.0173308322342749e-8,-2.2695665047880168e-5,-2.663518611623227e-5,-1.017589092482202e-8,-2.2459337873909423e-5,-2.6709603552242226e-5,-1.0180685150351775e-8,-2.212140867809451e-5,-2.6814846177850375e-5,-1.0187337375833014e-8,-2.1673671732367735e-5,-2.6895869468464378e-5,-1.0194873028803975e-8,-2.1139047774474032e-5,-2.68952440266726e-5,-1.0202044877588625e-8,-2.0570501852735378e-5,-2.6773653165214853e-5,-1.0207808391111026e-8,-2.0035779945461135e-5,-2.6527596262472074e-5,-1.0211650200164242e-8,-1.95929968856085e-5,-2.6192859779762135e-5,-1.0213616507492086e-8,-1.9270119523824262e-5,-2.5830075681245798e-5,-1.021413380368983e-8,-1.905933904298975e-5,-2.5500927912146165e-5,-1.021381348729072e-8,-1.892657043021345e-5,-2.5248592103061754e-5,-1.0213321886218076e-8,-1.8827443033921196e-5,-2.5090146839981592e-5,-1.0213277816654462e-8,-1.8720869387209668e-5,-2.5019585350191788e-5,-1.0214142627298827e-8,-1.8576464284264876e-5,-2.5015668692887527e-5,-1.0216127260583814e-8,-1.8376611843414558e-5,-2.504980617624261e-5,-1.0219166169699748e-8,-1.8115567499788158e-5,-2.5091878000311348e-5,-1.022297593256864e-8,-1.77975879404375e-5,-2.511396168920078e-5,-1.0227169183059294e-8,-1.743505293856026e-5,-2.5092754555130803e-5,-1.0231368833090536e-8,-1.7046707371919865e-5,-2.5011456803880348e-5,-1.0235274298180084e-8,-1.6655740859370975e-5,-2.4861532084328557e-5,-1.023866489114029e-8,-1.6287282974612118e-5,-2.464432330060455e-5,-1.0241365206381334e-8,-1.596501252310151e-5,-2.4372025169081737e-5,-1.024321801882643e-8,-1.570702113141324e-5,-2.406725812436014e-5,-1.0244103967347291e-8,-1.552160951313559e-5,-2.376063009939192e-5,-1.0244017040254267e-8,-1.5404061827608693e-5,-2.3486101581026236e-5,-1.0243161489551215e-8,-1.5335535519959935e-5,-2.327460877469775e-5,-1.0242006517918706e-8,-1.5284891552236783e-5,-2.314712391361825e-5,-1.0241237021644048e-8,-1.5213603604440276e-5,-2.3108728191468194e-5,-1.0241580512137116e-8,-1.5083201808082548e-5,-2.3145172717351075e-5,-1.0243555303704379e-8,-1.4864218209902013e-5,-2.32231622645874e-5,-1.0247243960115732e-8,-1.4545036900022462e-5,-2.3295366098052616e-5,-1.0252208937023976e-8,-1.4138251105215157e-5,-2.3310524416851092e-5,-1.0257614027791928e-8,-1.368146422366092e-5,-2.322748601135849e-5,-1.0262512342819018e-8,-1.322989051622768e-5,-2.3029486169829173e-5,-1.0266164007946504e-8,-1.2840855736179594e-5,-2.2732545405069593e-5,-1.0268236392507776e-8,-1.2555169579427251e-5,-2.238231187733215e-5,-1.0268825150242116e-8,-1.2383914527037539e-5,-2.2038912589209548e-5,-1.0268347802691693e-8,-1.2307249887307113e-5,-2.1756613087809175e-5,-1.0267393640885903e-8,-1.2284812012886326e-5,-2.156813016555327e-5,-1.0266572608916944e-8,-1.2270971936084373e-5,-2.1479552451146128e-5,-1.0266376938115249e-8,-1.2227457536302338e-5,-2.1474911265539056e-5,-1.0267077590847187e-8,-1.2129749205895953e-5,-2.1525263563921737e-5,-1.0268689111523196e-8,-1.1967892292312714e-5,-2.1597450054922837e-5,-1.0271017429226725e-8,-1.174422548889918e-5,-2.166023896731968e-5,-1.0273764819876203e-8,-1.1470257655664928e-5,-2.1687790859828148e-5,-1.0276640831595281e-8,-1.1163872918540682e-5,-2.16613873970703e-5,-1.0279429528370393e-8,-1.0847087574647729e-5,-2.1570437594962387e-5,-1.0281991235380007e-8,-1.0544002989509588e-5,-2.141339145539365e-5,-1.0284216045362617e-8,-1.0278390240021108e-5,-2.1198652865103365e-5,-1.0285974464584003e-8,-1.0070447996162899e-5,-2.0945037086426453e-5,-1.028711043152021e-8,-9.932690801530476e-6,-2.068088652200719e-5,-1.028749799157689e-8,-9.86563644678306e-6,-2.0440844298465255e-5,-1.0287141168707594e-8,-9.854764583517574e-6,-2.0259766952748523e-5,-1.028626273479879e-8,-9.870619619233569e-6,-2.01644508838674e-5,-1.0285319481300823e-8,-9.8733786193769e-6,-2.0165339281957866e-5,-1.0284908068411034e-8,-9.821625784056985e-6,-2.0251252759600633e-5,-1.0285579389915266e-8,-9.683168074476673e-6,-2.0389683901633625e-5,-1.0287635145367275e-8,-9.444561568473699e-6,-2.053338593781372e-5,-1.0290997813059452e-8,-9.116224347150207e-6,-2.063177957102368e-5,-1.0295216467786993e-8,-8.731339354531077e-6,-2.0644132770129046e-5,-1.0299605534523448e-8,-8.338457137712565e-6,-2.055092931652111e-5,-1.030345694288755e-8,-7.98933323349338e-6,-2.0360097137701205e-5,-1.0306242488373733e-8,-7.72506620945875e-6,-2.0105711184980106e-5,-1.0307743277604975e-8,-7.564775484823967e-6,-1.983876173135379e-5,-1.0308080804889762e-8,-7.500921681843046e-6,-1.9612526930376168e-5,-1.0307656350511951e-8,-7.503139782780013e-6,-1.946768074753192e-5,-1.0307019062928134e-8,-7.528820005869814e-6,-1.9422601531502887e-5,-1.0306699910081859e-8,-7.535794278292598e-6,-1.947177763761887e-5,-1.0307063665786794e-8,-7.492269894596984e-6,-1.959128917115925e-5,-1.0308233957531626e-8,-7.381486721375345e-6,-1.974765598713154e-5,-1.0310113143840973e-8,-7.201498312177095e-6,-1.990624677978869e-5,-1.031247670749912e-8,-6.962107167616799e-6,-2.0037161470478344e-5,-1.031508699283958e-8,-6.680993863389137e-6,-2.011834907841151e-5,-1.0317770097194946e-8,-6.380273436048308e-6,-2.0136768138740442e-5,-1.032042648831648e-8,-6.0838277247680745e-6,-2.0088636779103125e-5,-1.0322983928965702e-8,-5.815108860030673e-6,-1.9979521669310532e-5,-1.0325335032912242e-8,-5.594817165694961e-6,-1.9824453315227466e-5,-1.0327309582072665e-8,-5.437930590768389e-6,-1.9647685779100526e-5,-1.0328712972235372e-8,-5.349939383493514e-6,-1.948122710398913e-5,-1.0329423078834094e-8,-5.3228826376455855e-6,-1.936095973346019e-5,-1.0329498903693821e-8,-5.332864110333339e-6,-1.9319532507723174e-5,-1.0329235310495402e-8,-5.341522628441661e-6,-1.9376734531154476e-5,-1.0329117209882681e-8,-5.303353476159965e-6,-1.953039383977173e-5,-1.0329676054612896e-8,-5.17823507516099e-6,-1.9752454282041895e-5,-1.0331308373795825e-8,-4.945019491343102e-6,-1.9993909540435985e-5,-1.0334140752283602e-8,-4.610138350751177e-6,-2.019829297048899e-5,-1.0337995748268947e-8,-4.206914461260477e-6,-2.0318725218684748e-5,-1.0342450652703292e-8,-3.7858145479968068e-6,-2.033162353691172e-5,-1.0346947057188743e-8,-3.3999204340748854e-6,-2.0242322080569558e-5,-1.0350921705190584e-8,-3.090978422107698e-6,-2.0081863583639396e-5,-1.035394277316305e-8,-2.879939472361453e-6,-1.9897267305424163e-5,-1.0355827001534681e-8,-2.7637461044958318e-6,-1.9738805558921248e-5,-1.035669501194934e-8,-2.7182918430026305e-6,-1.9647845328083208e-5,-1.0356930437472887e-8,-2.706078182001334e-6,-1.964815539595743e-5,-1.0357046501868146e-8,-2.6861280184476436e-6,-1.9742416449230415e-5,-1.035751449251452e-8,-2.623356484294166e-6,-1.9914165200530054e-5,-1.0358627867133187e-8,-2.495051690997066e-6,-2.0133848461016657e-5,-1.0360457505484327e-8,-2.2933525948354025e-6,-2.0366613404506264e-5,-1.0362901596694904e-8,-2.024101506874866e-6,-2.057945330065126e-5,-1.036578541391425e-8,-1.703438490176005e-6,-2.0746243231691587e-5,-1.0368950180661795e-8,-1.353670649395772e-6,-2.085034603832491e-5,-1.0372285844231933e-8,-9.995092065925437e-7,-2.0885306200609506e-5,-1.0375703780683756e-8,-6.650892091385618e-7,-2.085449651147433e-5,-1.0379079635308058e-8,-3.715968940342627e-7,-2.0770428531116953e-5,-1.0382217349452199e-8,-1.3503446063713592e-7,-2.065397945826239e-5,-1.0384871607393536e-8,3.635039213145238e-8,-2.053328258334241e-5,-1.0386834569506982e-8,1.451554926153161e-7,-2.0441523455916053e-5,-1.038805057918194e-8,2.0789280435282035e-7,-2.041250688557186e-5,-1.0388697272151172e-8,2.56355366977416e-7,-2.047315309918241e-5,-1.0389176849844525e-8,3.3464806040304173e-7,-2.0633626967615144e-5,-1.039000389350313e-8,4.896682666698106e-7,-2.0878520990299207e-5,-1.0391635630909641e-8,7.558554175414243e-7,-2.1164864508976094e-5,-1.0394332164603972e-8,1.1400137473200676e-6,-2.143168146622313e-5,-1.039811235383832e-8,1.6149011662753742e-6,-2.161972150492724e-5,-1.040278944838272e-8,2.1267889603254867e-6,-2.169252145724684e-5,-1.0408016370122865e-8,2.613791080986166e-6,-2.1648099623553002e-5,-1.0413314414030032e-8,3.0255611796536674e-6,-2.1516600834236966e-5,-1.0418136661790554e-8,3.335896657502066e-6,-2.1347475609993867e-5,-1.0422008383847894e-8,3.5455028334495375e-6,-2.1193595706788387e-5,-1.0424695027343131e-8,3.6771057866818085e-6,-2.1098205117584193e-5,-1.0426297045670991e-8,3.766730983759074e-6,-2.1087212163472165e-5,-1.0427207186394536e-8,3.8543118584060025e-6,-2.116678673670468e-5,-1.0427955059979016e-8,3.97556153049034e-6,-2.1325112935168602e-5,-1.0429021553114722e-8,4.156112148298531e-6,-2.1536968915716497e-5,-1.043071137120023e-8,4.4083884967787636e-6,-2.1769858276116903e-5,-1.0433124870667529e-8,4.731238299426264e-6,-2.199039967092715e-5,-1.0436213182297564e-8,5.111871251593329e-6,-2.216982148981789e-5,-1.0439862617282118e-8,5.5293180610449155e-6,-2.228781360239789e-5,-1.0443951826756803e-8,5.958483105439134e-6,-2.2334471279948907e-5,-1.0448355486385057e-8,6.3739591557127685e-6,-2.2310548005592115e-5,-1.0452908274701619e-8,6.753167656295747e-6,-2.2226596306971968e-5,-1.0457371227043073e-8,7.0788641774440105e-6,-2.2101555638768476e-5,-1.0461442256004719e-8,7.341270437022586e-6,-2.19610250197676e-5,-1.0464828194753588e-8,7.540107011405848e-6,-2.18351220744106e-5,-1.0467357564690674e-8,7.686656069240698e-6,-2.1755428418429816e-5,-1.0469080980364281e-8,7.805377469636384e-6,-2.175014455624397e-5,-1.047029980195859e-8,7.933563002743403e-6,-2.1836872868918745e-5,-1.0471493607166954e-8,8.116719413656968e-6,-2.2013889674084526e-5,-1.0473170238320335e-8,8.397782946960609e-6,-2.2253242470900754e-5,-1.0475713376965965e-8,8.801167458084262e-6,-2.2501424654771112e-5,-1.0479313312473675e-8,9.31809147430383e-6,-2.2692544610459407e-5,-1.0483994091602052e-8,9.903277804372193e-6,-2.2771894060168208e-5,-1.0489651043077342e-8,1.0488693236733184e-5,-2.2718401944810526e-5,-1.0496011071352977e-8,1.1008517592282977e-5,-2.2552507598399298e-5,-1.0502567400688094e-8,1.14214527653244e-5,-2.2325484053898436e-5,-1.0508639692043991e-8,1.1719729539192924e-5,-2.2098427892878435e-5,-1.051360321451119e-8,1.192434757606461e-5,-2.192293983959106e-5,-1.0517149141774825e-8,1.2073148493867486e-5,-2.1830348879371115e-5,-1.0519399549919799e-8,1.2208507379845121e-5,-2.1829582167914723e-5,-1.0520823108331641e-8,1.2368142087573956e-5,-2.1910517424363665e-5,-1.0522026852220468e-8,1.2579647860001937e-5,-2.204963465047748e-5,-1.0523548294514526e-8,1.2858046046948135e-5,-2.2216044306126058e-5,-1.052573427092128e-8,1.3205504635807662e-5,-2.2377097194277054e-5,-1.0528728383253077e-8,1.3612660353343853e-5,-2.2503232700248113e-5,-1.0532528837699294e-8,1.4061128311368573e-5,-2.257179941745656e-5,-1.053705767622001e-8,1.4526835423976653e-5,-2.2569659248670465e-5,-1.0542194374134102e-8,1.4983796312142356e-5,-2.2494425657141477e-5,-1.0547763574333112e-8,1.5407831934948618e-5,-2.2354282969079747e-5,-1.0553504640982075e-8,1.5779770461427512e-5,-2.2166624359187616e-5,-1.0559067684047334e-8,1.608797482690634e-5,-2.195590135189993e-5,-1.0564065337397685e-8,1.6330245854374478e-5,-2.1750905552668204e-5,-1.0568177866410433e-8,1.6515130621988764e-5,-2.1581513602797013e-5,-1.0571271898841906e-8,1.6662595891771928e-5,-2.1474755707688038e-5,-1.0573475716392125e-8,1.680367989659793e-5,-2.144982680559584e-5,-1.0575164031555221e-8,1.6977991855744892e-5,-2.15119081550659e-5,-1.0576851619497795e-8,1.7227451460833117e-5,-2.164590037929872e-5,-1.0579043607594197e-8,1.758528349482335e-5,-2.1813063305720084e-5,-1.0582122319913347e-8,1.8061786594786307e-5,-2.1955189701945334e-5,-1.058632473338257e-8,1.8632948981106676e-5,-2.200995658499017e-5,-1.0591773118012249e-8,1.9241195983456193e-5,-2.193466323120593e-5,-1.0598445172373046e-8,1.981317133003406e-5,-2.1726452282952587e-5,-1.0606040069575834e-8,2.0287448616256157e-5,-2.1425281858291863e-5,-1.061388459734303e-8,2.0636332778655594e-5,-2.109672690297479e-5,-1.0621077002227759e-8,2.087033260256244e-5,-2.0805852875933422e-5,-1.0626847060734854e-8,2.1026869693195923e-5,-2.0597119217422514e-5,-1.0630882019558624e-8,2.115329294074093e-5,-2.0487273010198692e-5,-1.0633405474768798e-8,2.129300028400665e-5,-2.0468775249628576e-5,-1.0635008899056331e-8,2.1477766769687902e-5,-2.0517857674518222e-5,-1.0636384654839218e-8,2.172530639983127e-5,-2.0602735888928814e-5,-1.0638109815842078e-8,2.203989369531137e-5,-2.0690072956350867e-5,-1.0640550610319622e-8,2.2414327228279076e-5,-2.0749586688981025e-5,-1.0643876480653403e-8,2.2832428864176618e-5,-2.075731437602081e-5,-1.0648123545462657e-8,2.327186373709147e-5,-2.06979052512023e-5,-1.065324691100052e-8,2.370725263408254e-5,-2.056607264478361e-5,-1.065912813728469e-8,2.4113571523498897e-5,-2.0367140342581537e-5,-1.0665546197757955e-8,2.4469666599175597e-5,-2.011644324456059e-5,-1.067215081453571e-8,2.4761457155718238e-5,-1.9837455761494462e-5,-1.0678483547801098e-8,2.4984396740016067e-5,-1.9558825643028435e-5,-1.0684064625935296e-8,2.5144939672969598e-5,-1.9310587473940774e-5,-1.0688525639022025e-8,2.5260818881569855e-5,-1.9119802585786575e-5,-1.06917361236997e-8,2.535994562171527e-5,-1.9005914717674657e-5,-1.069386581323808e-8,2.5477696466233576e-5,-1.897609088271257e-5,-1.0695349149176802e-8,2.5652094341733997e-5,-1.902096367210599e-5,-1.0696767956414568e-8,2.5916298087693046e-5,-1.9111975005796678e-5,-1.0698709732170148e-8,2.628859728374691e-5,-1.9202643001807574e-5,-1.0701666562329869e-8,2.6762094197675117e-5,-1.9236556751696734e-5,-1.0705996336353121e-8,2.729911355674748e-5,-1.9163344524585584e-5,-1.0711891767678148e-8,2.783684602254258e-5,-1.895885387153898e-5,-1.0719277613221644e-8,2.8306670586864564e-5,-1.8639334239086277e-5,-1.072766183557865e-8,2.8659855505782475e-5,-1.8258763113995928e-5,-1.073612159190717e-8,2.8885279659063856e-5,-1.7888184927921706e-5,-1.0743575505291491e-8,2.9009231738796605e-5,-1.7588764782654586e-5,-1.0749225136080199e-8,2.908000233439939e-5,-1.7393518711195572e-5,-1.0752864147570606e-8,2.914855079008243e-5,-1.7304111401313012e-5,-1.0754868997586099e-8,2.9254770735155143e-5,-1.7298721919266967e-5,-1.0755947029287413e-8,2.9421960148790195e-5,-1.73433769434448e-5,-1.0756840443938963e-8,2.9657262395368594e-5,-1.7401543433202763e-5,-1.075813349050785e-8,2.9954830790562838e-5,-1.7440335048629465e-5,-1.0760197584755174e-8,3.0299471035757358e-5,-1.7433879737981824e-5,-1.0763229561035464e-8,3.066988743140981e-5,-1.7365039408173015e-5,-1.0767308977273792e-8,3.104156445903691e-5,-1.7226340848682806e-5,-1.0772421289059723e-8,3.138958150404849e-5,-1.7020431608455362e-5,-1.0778433463519163e-8,3.169160978062888e-5,-1.67599800034654e-5,-1.0785050830896731e-8,3.193113385062856e-5,-1.6466649719056538e-5,-1.0791801522036606e-8,3.2100549457274216e-5,-1.6168735086317945e-5,-1.0798090040294278e-8,3.2203473041458363e-5,-1.5897357896149383e-5,-1.080332573716205e-8,3.225558795119785e-5,-1.568153341658853e-5,-1.0807089151843031e-8,3.2283527758016355e-5,-1.5542734995758057e-5,-1.0809272801144117e-8,3.232156973954858e-5,-1.548986537631878e-5,-1.0810136690642487e-8,3.24062788787755e-5,-1.551564386066977e-5,-1.0810253821627844E-08,3.256954672694955e-5,-1.5595319915829232e-5,-1.0810370807169095e-8,3.2830743045217534e-5,-1.5688646392023816e-5,-1.0811243374832355e-8,3.318930936264058e-5,-1.5746136030541182e-5,-1.0813499406816032e-8,3.362016828548337e-5,-1.572010074949781e-5,-1.0817540474292183e-8,3.4075238666891787e-5,-1.5579179787124913e-5,-1.0823450353064908e-8,3.449382518613816e-5,-1.532196370613026e-5,-1.0830892582439516e-8,3.482107455406541e-5,-1.498254328611866e-5,-1.0839063244369992e-8,3.502767239053273e-5,-1.4622079522363778e-5,-1.0846829814097262e-8,3.5120439857015004e-5,-1.4307820231652071e-5,-1.085309302508078e-8,3.51375862864246e-5,-1.4089687106817873e-5,-1.085719959088525e-8,3.513199200269295e-5,-1.3986345854532377e-5,-1.085914650566585e-8,3.51525500412995e-5,-1.3985560988209588e-5,-1.085947705163363e-8,3.523209339490654e-5,-1.4054646803086456e-5,-1.0858988747294016e-8,3.5384088933798624e-5,-1.4153334684894148e-5,-1.0858452300955869e-8,3.560538153213612e-5,-1.4243709791482467e-5,-1.0858457682387729e-8,3.5881218350812025e-5,-1.4295764431560704e-5,-1.0859389106431877e-8,3.619005612992247e-5,-1.4289538747822578e-5,-1.0861464399875234e-8,3.650727263331189e-5,-1.4215445163763979e-5,-1.0864770150441248e-8,3.680795793798622e-5,-1.4073968871802461e-5,-1.0869255064842456e-8,3.7069338849790505e-5,-1.3875233842953704e-5,-1.0874690311021376e-8,3.7273324238066565e-5,-1.3638322204225281e-5,-1.0880636211450608e-8,3.740935211446729e-5,-1.338984019635138e-5,-1.0886460859978193e-8,3.747723555199965e-5,-1.3161108246832657e-5,-1.0891439508632244e-8,3.748918890039127e-5,-1.2983612439641286e-5,-1.0894923864558378e-8,3.746992648426565e-5,-1.2882969889767162e-5,-1.0896531846094513e-8,3.745388166964016e-5,-1.2872486930655807e-5,-1.089628939077259e-8,3.7479301400060466e-5,-1.2948111531254483e-5,-1.089466332568615e-8,3.758006931596514e-5,-1.3086710784613064e-5,-1.0892467653005773e-8,3.7777099336497654e-5,-1.3248905734680901e-5,-1.0890674230236611e-8,3.807156828641263e-5,-1.3386503835473725e-5,-1.0890190192257392e-8,3.844207700891592e-5,-1.3453370708504295e-5,-1.0891659080748418e-8,3.8847217212184006e-5,-1.341755372714709e-5,-1.0895313751720727e-8,3.9234030267991595e-5,-1.3271607631699584e-5,-1.090089279363746e-8,3.955132226947631e-5,-1.3037539781839813e-5,-1.0907643242370493e-8,3.976462669241938e-5,-1.2763223288738137e-5,-1.0914452499003047e-8,3.9867493531828635e-5,-1.250952451713426e-5,-1.0920130006578416e-8,3.988372523989806e-5,-1.2331758085782543e-5,-1.0923768775661982e-8,3.9858740281902724e-5,-1.226291312067013e-5,-1.0925025267279314e-8,3.98438771345933e-5,-1.2305852412647015e-5,-1.0924174807119913e-8,3.988096864166715e-5,-1.2436775734862486e-5,-1.092193559817097e-8,3.9993234799773925e-5,-1.2616327199137168e-5,-1.0919186656117713e-8,4.0184029323987886e-5,-1.2802124998079611e-5,-1.0916728214422174e-8,4.0441034122307655e-5,-1.295806215039957e-5,-1.0915158387722742e-8,4.07423430323965e-5,-1.3059008181614689e-5,-1.0914851840032176e-8,4.106194258997215e-5,-1.309190696252388e-5,-1.0915982377055156e-8,4.137369026554492e-5,-1.305496471159586e-5,-1.0918538217819229e-8,4.165397699143815e-5,-1.295627528662622e-5,-1.0922312589289403e-8,4.188372567499801e-5,-1.281253335343146e-5,-1.0926886273075621e-8,4.205038798547874e-5,-1.2647779157268254e-5,-1.0931637253225023e-8,4.2150263329725885e-5,-1.2491600175957169e-5,-1.0935808929506866e-8,4.219089514943613e-5,-1.2376014975777942e-5,-1.0938645719799141e-8,4.219264556971658e-5,-1.2330443038611213e-5,-1.0939574041035733e-8,4.2187994684927e-5,-1.2374868917154073e-5,-1.0938381011529256e-8,4.221708942536862e-5,-1.251262722220375e-5,-1.0935330563847715e-8,4.2319148750577894e-5,-1.272563608677644e-5,-1.0931164753811414e-8,4.252146931834362e-5,-1.2975210570017808e-5,-1.0926967333923104e-8,4.282981205890698e-5,-1.3209939979367455e-5,-1.0923913734952636e-8,4.3224317253663856e-5,-1.3379021269503886e-5,-1.092296888156952e-8,4.3663191015489984e-5,-1.3446687017306154e-5,-1.0924616375420668e-8,4.40932553261884e-5,-1.3402692615521834e-5,-1.0928699864093918e-8,4.446391154055205e-5,-1.3265486287865059e-5,-1.0934436131087437e-8,4.4740262897078254e-5,-1.3077370375528966e-5,-1.0940609312170373e-8,4.491180449520049e-5,-1.2893262674070154e-5,-1.0945898968800855e-8,4.49944176700801e-5,-1.2766207079580588e-5,-1.0949239480507803e-8,4.502512200115446e-5,-1.273370298418019e-5,-1.0950092267772875e-8,4.505116850684658e-5,-1.2808910095088956e-5,-1.0948539845884595e-8,4.511705275984765e-5,-1.2979305349759284e-5,-1.0945188231944347e-8,4.5253768849291526e-5,-1.3212635289537497e-5,-1.0940942427650663e-8,4.547343858202198e-5,-1.3467274984818715e-5,-1.093675586758881e-8,4.576991139681106e-5,-1.370288962080165e-5,-1.0933437996680767e-8,4.6123562686564354e-5,-1.3888173614010929e-5,-1.0931552459312198e-8,4.6507586318521756e-5,-1.4004532581867268e-5,-1.0931388495325245e-8,4.689364295154041e-5,-1.404638935558007e-5,-1.0932970781736282e-8,4.725592017948633e-5,-1.401955872819049e-5,-1.0936077710211673e-8,4.7573669880768315e-5,-1.3939013934426217e-5,-1.0940262282537435e-8,4.783282623871706e-5,-1.3826794886489019e-5,-1.0944887017204275e-8,4.8027394648472436e-5,-1.3710116999369636e-5,-1.0949190756732851e-8,4.816102679731794e-5,-1.361918978051325e-5,-1.095239527820225e-8,4.824866180786038e-5,-1.3583965343721564e-5,-1.0953844774146032e-8,4.8317389669767263E-05,-1.3629077500997938e-5,-1.0953156144793383e-8,4.8404937665998705e-5,-1.3766894228811147e-5,-1.0950352515756894e-8,4.85539270343216e-5,-1.3990186698127629e-5,-1.094594628661613e-8,4.880120852726276e-5,-1.4267952993854126e-5,-1.0940929580088114e-8,4.9164604434804093e-5,-1.4548760923785778e-5,-1.0936627198037842e-8,4.963284107903462e-5,-1.4773613411439147e-5,-1.0934389782899522e-8,5.016508945338154e-5,-1.4894876338232566e-5,-1.0935178671721424e-8,5.070227547728938e-5,-1.4892932210451892e-5,-1.0939190020118924e-8,5.118560276541905e-5,-1.4782534477633037e-5,-1.0945713139716886e-8,5.157392379064546e-5,-1.4606625431828425e-5,-1.095332893238933e-8,5.185338963389235e-5,-1.4421810233716862e-5,-1.0960371481365232e-8,5.203770610741841e-5,-1.4282157086463557e-5,-1.0965440644733544e-8,5.216122418436789e-5,-1.422646572966351e-5,-1.0967760623641757e-8,5.226841451573015e-5,-1.4271353392898255e-5,-1.0967288706004566e-8,5.2402901302713924e-5,-1.4410350265664105e-5,-1.0964601820102489e-8,5.2598368352539667e-5,-1.4617978010402564e-5,-1.0960658830434025e-8,5.2872840342696726e-5,-1.4857176091440661e-5,-1.0956540629101209e-8,5.322704970841118e-5,-1.5088075305254894e-5,-1.0953236332976238e-8,5.364663492512684e-5,-1.5275993367745722e-5,-1.0951500603035131e-8,5.410696514106418e-5,-1.539698624027727e-5,-1.095178087382418e-8,5.457893133346143e-5,-1.5440298921740233e-5,-1.0954194761142424e-8,5.50342383558213e-5,-1.540806131983914e-5,-1.0958542424790509e-8,5.544932692850507e-5,-1.5313173657149106e-5,-1.096434545062792e-8,5.580777697902618e-5,-1.5176465955951547e-5,-1.0970910845978872e-8,5.610161114139606e-5,-1.502389729946295e-5,-1.0977420875607443e-8,5.633207828382777e-5,-1.4883981469539802e-5,-1.0983045974823884e-8,5.651030827952544e-5,-1.4785143953867945e-5,-1.0987069782932988e-8,5.6657843445042456E-05,-1.475241870537396e-5,-1.098900869828785e-8,5.68064043339674e-5,-1.480281230944594e-5,-1.0988713689162896e-8,5.6995445257911e-5,-1.493919710310919e-5,-1.0986451645489575e-8,5.726569833881333e-5,-1.5144085304198487e-5,-1.0982961665724738e-8,5.7647873217573626e-5,-1.537676462498628e-5,-1.097945336000276e-8,5.8148783022304093e-5,-1.5578618482013747e-5,-1.0977468969124607e-8,5.8741629395056166e-5,-1.5689303712884644e-5,-1.0978518978595156e-8,5.936880170599819e-5,-1.5669452550320848e-5,-1.0983516728908241e-8,5.995982222233368e-5,-1.5518212400740367e-5,-1.0992265385709335e-8,6.045655109961612e-5,-1.5274524989521094e-5,-1.100336461316192e-8,6.083213388443301e-5,-1.500128721893175e-5,-1.1014687824535179e-8,6.109517706905173e-5,-1.476232162248893e-5,-1.1024177858417426e-8,6.128078642644321e-5,-1.4603933293794295e-5,-1.1030515003487311e-8,6.14360565632286e-5,-1.4546623392676997e-5,-1.1033379525122147e-8,6.160676979381152e-5,-1.4585862441534919e-5,-1.1033325129027129e-8,6.182836446050053e-5,-1.4698115916188576e-5,-1.103144492460905e-8,6.212137962144658e-5,-1.4848716247797194e-5,-1.1029016395917635e-8,6.249043218855688e-5,-1.499957486442772e-5,-1.1027231651313366e-8,6.292575713367833e-5,-1.5115848315998846e-5,-1.1027035010884309e-8,6.340659244996193e-5,-1.5171078050374148e-5,-1.1029042575856415e-8,6.39057084276371e-5,-1.5150397168465046e-5,-1.1033511588368882e-8,6.439430170432664e-5,-1.5051632264841132e-5,-1.1040338007405747e-8,6.484651366485014e-5,-1.4884453987230887e-5,-1.1049078955669309e-8,6.524295871579131e-5,-1.4668006957840344e-5,-1.1059009733669053e-8,6.557293822920603e-5,-1.4427696477046931e-5,-1.106922243082436e-8,6.583546021894932e-5,-1.4191801641639522e-5,-1.1078757988711264e-8,6.603942429151922e-5,-1.3988227254888844e-5,-1.1086754263160646e-8,6.620324712438544e-5,-1.3841351539194972e-5,-1.1092584244638724e-8,6.635399675116738e-5,-1.376871069724712e-5,-1.1095960923446284e-8,6.652567539394843e-5,-1.377713360613599e-5,-1.1097002545640146e-8,6.675562941069513e-5,-1.3858317394900903e-5,-1.109626926494747e-8,6.707780774668518e-5,-1.3985038180359028e-5,-1.1094780789983727e-8,6.751241829499467e-5,-1.4110813964274978e-5,-1.1093985695546706e-8,6.805398404589733e-5,-1.4176969697956724e-5,-1.1095592658974113e-8,6.866384590550756e-5,-1.4129570457204582e-5,-1.1101140430408416e-8,6.927548828970987e-5,-1.3942193950697216e-5,-1.1111323602410547e-8,6.981586375490909e-5,-1.3632135932979031e-5,-1.1125409233657399e-8,7.023376113526364e-5,-1.3257268294156674e-5,-1.1141255562749935e-8,7.051856313032443e-5,-1.2893039413830864e-5,-1.1156102060587921e-8,7.06990864524921e-5,-1.2603544775620664e-5,-1.1167680283957444e-8,7.082667807448929e-5,-1.2422764469719474e-5,-1.1174960488599823e-8,7.095499623308146e-5,-1.2351727669469376e-5,-1.1178226969257668e-8,7.112590319904138e-5,-1.2366745927631601e-5,-1.1178667858819269e-8,7.136360199813396e-5,-1.2431038164156497e-5,-1.117783577309838e-8,7.167471562637514e-5,-1.2504825814492575e-5,-1.1177222677717251e-8,7.20513073116622e-5,-1.2552337068439892e-5,-1.1178022183958767e-8,7.247483939519828e-5,-1.2546082636510993e-5,-1.1181041603564716e-8,7.292025057925622e-5,-1.2469246626440453e-5,-1.1186692155499417e-8,7.335996924164086e-5,-1.2316707228409032e-5,-1.1195001134773114e-8,7.376777185043507e-5,-1.2094851223874839e-5,-1.1205627668886617e-8,7.41223204444516e-5,-1.1820215935622424e-5,-1.1217891224875756e-8,7.441008632046292e-5,-1.1516986111407657e-5,-1.1230839822596301e-8,7.462727595584035e-5,-1.121357421653002e-5,-1.1243374292470443e-8,7.478054238337684e-5,-1.0938760084437633e-5,-1.1254418929902535e-8,7.48865297826223e-5,-1.0717820966566956e-5,-1.1263107130437595e-8,7.497036903850236e-5,-1.0568904309436396e-5,-1.1268942299422062e-8,7.506321783824891e-5,-1.0499811842188604e-5,-1.1271900341615984e-8,7.519881869817697e-5,-1.0505257389349248e-5,-1.1272463646632064e-8,7.540869080999105e-5,-1.056479190521469e-5,-1.1271600290428743e-8,7.571546174872404e-5,-1.0642370424357846e-5,-1.1270700670162078e-8,7.61246291272292e-5,-1.0689513165947758e-5,-1.1271446895380041e-8,7.661678435223831e-5,-1.0654320433158899e-5,-1.1275546237460665e-8,7.71448147730922e-5,-1.0497201563490087e-5,-1.1284249952033519e-8,7.764205458950148e-5,-1.0209521680141907e-5,-1.1297711821998253e-8,7.804347387462571e-5,-9.824875614952504e-6,-1.1314530735816466e-8,7.831185681715099e-5,-9.411967862924406e-6,-1.133196933848187e-8,7.84533388443129e-5,-9.048847109690942e-6,-1.134696307423481e-8,7.851205357156255e-5,-8.792740654590127e-6,-1.1357361358067248e-8,7.854866512846068e-5,-8.662856311024963e-6,-1.1362623719687482e-8,7.861729582289454e-5,-8.642245361453145e-6,-1.1363680031735883e-8,7.875197622822127e-5,-8.691794929389404e-6,-1.1362277223349593e-8,7.896418283479847e-5,-8.765841602924702e-6,-1.1360297098831838e-8,7.924709191886245e-5,-8.823284793479496e-6,-1.1359315593534433e-8,7.95818503140842e-5,-8.833269852576455e-6,-1.1360426738010168e-8,7.994322616848324e-5,-8.777041367256928e-6,-1.1364233495034238e-8,8.030394161526125e-5,-8.647855079034407e-6,-1.1370898907447606e-8,8.063800618353983e-5,-8.450099063104403e-6,-1.13801913797548e-8,8.092351739561471e-5,-8.197986994855086e-6,-1.139151507594174e-8,8.114517708580553e-5,-7.913748681025796e-6,-1.1403947928868321e-8,8.129649091610874e-5,-7.625053643838189e-6,-1.1416325803923466e-8,8.13812925714093e-5,-7.361498470228608e-6,-1.1427396960663914e-8,8.141408671042445e-5,-7.150374877007221e-6,-1.143603391639288e-8,8.141887617018724e-5,-7.012246466696308e-6,-1.1441458496670813e-8,8.142639354204631e-5,-6.9569547070524565e-6,-1.1443423882852663e-8,8.146989071188947e-5,-6.980733178277085e-6,-1.1442305223764873e-8,8.157988588747373e-5,-7.0650386142183395e-6,-1.1439079612900346e-8,8.177834068751832e-5,-7.177494714956207e-6,-1.1435206339439226e-8,8.207274310460953e-5,-7.275416748518267e-6,-1.1432431508335396e-8,8.24510452990543e-5,-7.312655501458012e-6,-1.1432513684254343e-8,8.287939415777408e-5,-7.250137973215447e-6,-1.14368513607406e-8,8.330545375814392e-5,-7.068926237825051e-6,-1.1446018896562171e-8,8.366980628525399e-5,-6.781801504635946e-6,-1.1459328098698728e-8,8.392475651610919e-5,-6.436424280153653e-6,-1.147469615909485e-8,8.405365240588183e-5,-6.103856380286995e-6,-1.1489120917511639e-8,8.407948845031888e-5,-5.853970011362507e-6,-1.1499731792143241e-8,8.405583920133282e-5,-5.729599983451548e-6,-1.1504887252346792e-8,8.404479026302159e-5,-5.733734864168806e-6,-1.1504668019600196e-8,8.409487550610288e-5,-5.8348805222652595e-6,-1.1500567610929476e-8,8.422953279231353e-5,-5.983832090974439e-6,-1.1494726575699467e-8,8.44475135877195e-5,-6.130958240035688e-6,-1.1489203384318796e-8,8.473016954110671e-5,-6.237308506807428e-6,-1.1485549198160168e-8,8.504997460131159e-5,-6.278822698858891e-6,-1.1484684339034437e-8,8.537722202659041e-5,-6.24604350020151e-6,-1.1486947837148801e-8,8.56843216611937e-5,-6.141962433049987e-6,-1.149219497561945e-8,8.594839135529726e-5,-5.979584647913548e-6,-1.1499878642207251e-8,8.615303700245352e-5,-5.7797022876110846e-6,-1.1509108282661373e-8,8.628989016331793e-5,-5.568700527437504e-6,-1.1518717192858226e-8,8.636003840534361e-5,-5.3759285752394796e-6,-1.1527377565087991e-8,8.637502793286532e-5,-5.230188533993722e-6,-1.1533784620290696e-8,8.635675385529202e-5,-5.155286769746592e-6,-1.1536897415011626e-8,8.63355224875678e-5,-5.165182714998419e-6,-1.1536184302568082e-8,8.634591892159362e-5,-5.259775561616308e-6,-1.1531803962477889e-8,8.642073115040163e-5,-5.4226586174864975e-6,-1.152465872996433e-8,8.65839351077441e-5,-5.622046886179956e-6,-1.1516287597576716e-8,8.684430755827092e-5,-5.8153923203604484e-6,-1.1508609070013934e-8,8.719130249188195e-5,-5.95728092691672e-6,-1.1503558232602766e-8,8.759455242721197e-5,-6.009491974966764e-6,-1.150267039330855e-8,8.800800850055604e-5,-5.95147211987009e-6,-1.1506668360848453e-8,8.837913286366379e-5,-5.7886627769627485e-6,-1.1515138637633855e-8,8.866225574551908e-5,-5.555373933240397e-6,-1.1526431984484355e-8,8.883301404506053e-5,-5.309063543337344e-6,-1.1537937388838975e-8,8.889840023466499e-5,-5.115164449411993e-6,-1.1546777723907165e-8,8.889656623832367e-5,-5.026383401286591e-6,-1.1550737585091733e-8,8.888441107440784e-5,-5.065123260574208e-6,-1.154900893343037e-8,8.891787950494431e-5,-5.21765631045529e-6,-1.1542374452129857e-8,8.903443511633252e-5,-5.442337151279303e-6,-1.1532775965427147e-8,8.924516874443352e-5,-5.686194762207577e-6,-1.1522563607641413e-8,8.953744138069596e-5,-5.90108623252899e-6,-1.1513813593362013e-8,8.988360538093972e-5,-6.053558073616242e-6,-1.1507938669655695e-8,9.025045498071756e-5,-6.127657333921901e-6,-1.1505594789433005e-8,9.06062942791196e-5,-6.123105910016481e-6,-1.1506768232466762e-8,9.092503624012695e-5,-6.051676523403866e-6,-1.1510921388865986e-8,9.118813404710323e-5,-5.933591903961702e-6,-1.1517128603869335e-8,9.138545565664259e-5,-5.794575433039127e-6,-1.1524189430321015e-8,9.151591271894805e-5,-5.66334449111308e-6,-1.1530742462923101e-8,9.158811085003475e-5,-5.568946066028995e-6,-1.1535410442970295e-8,9.162072310193748e-5,-5.537335450390624e-6,-1.1536995250412474e-8,9.164182458652515e-5,-5.58694690455087e-6,-1.1534711584048976e-8,9.168620213239225e-5,-5.723696108466005e-6,-1.152841879943091e-8,9.178992959661302e-5,-5.936777568263604e-6,-1.1518779345972147e-8,9.198249027190544e-5,-6.197337314678204e-6,-1.1507263760530225e-8,9.227820821065515e-5,-6.461935833751877e-6,-1.1495944136778205e-8,9.266993147833276e-5,-6.6812950165578724e-6,-1.1487076652143873e-8,9.31278874804674e-5,-6.8125918600802576e-6,-1.1482550916430714e-8,9.360510332344588e-5,-6.831677883244499e-6,-1.1483350519634967e-8,9.404841563306238e-5,-6.741163582188049e-6,-1.1489195433374426e-8,9.441208477567966e-5,-6.57151688468949e-6,-1.1498505989231926e-8,9.467017588287623e-5,-6.374429642810231e-6,-1.1508741618074349e-8,9.482411049793587e-5,-6.20983930092064e-6,-1.1517053215341923e-8,9.490280063124226e-5,-6.12986333255191e-6,-1.1521069363394867e-8,9.49546446025167e-5,-6.164351503798526e-6,-1.1519561592846616e-8,9.503343971679581e-5,-6.312991752990002e-6,-1.1512751366586703e-8,9.518296893644879e-5,-6.546957614728857e-6,-1.1502154648514587e-8,9.54258618892581e-5,-6.819249442704191e-6,-1.1490053068776307e-8,9.576033063758811e-5,-7.079181183195936e-6,-1.147882172959562e-8,9.616458460450145e-5,-7.285251177458946e-6,-1.1470361003639736e-8,9.660557779129375e-5,-7.412533789784719e-6,-1.1465779950685564e-8,9.70480253349657e-5,-7.454061673847203e-6,-1.1465342600263835e-8,9.746107955264904e-5,-7.418094434670623e-6,-1.1468592015480105e-8,9.782204348641294e-5,-7.323724614127018e-6,-1.1474549309030842e-8,9.811778004559563e-5,-7.196576837891347e-6,-1.1481914889362466e-8,9.834488254743438e-5,-7.065336659585935e-6,-1.1489242896633806e-8,9.85094970832235e-5,-6.958985648334306e-6,-1.1495095179541215e-8,9.862717385640469e-5,-6.90413645241066e-6,-1.1498196338733799e-8,9.8722513616579e-5,-6.921815594705209e-6,-1.1497607920369037e-8,9.882784972662761e-5,-7.023345607949021e-6,-1.1492923262731212e-8,9.897986411696639e-5,-7.205665995436498e-6,-1.148446098537155e-8,9.921318771121227e-5,-7.447586546246423e-6,-1.1473395307025696e-8,9.955120060763667e-5,-7.709619295232465e-6,-1.146172404791077e-8,9.999642762624879e-5,-7.940035443749168e-6,-1.1451968869426325e-8,1.0052494732063333e-4,-8.087647613726074e-6,-1.1446579632065744e-8,1.0108913471724907e-4,-8.117933472199266e-6,-1.1447169892722494e-8,1.016297505105532e-4,-8.025879558080473e-6,-1.1453875399227287e-8,1.0209339869072522e-4,-7.839290063002508e-6,-1.1465163461608666e-8,1.0244827762320929e-4,-7.610760831100816e-6,-1.1478236898852096e-8,1.0269227243374284e-4,-7.4019405703705335e-6,-1.1489879553959839e-8,1.0285149371859283e-4,-7.266368505272329e-6,-1.1497391887392736e-8,1.0297118136782965e-4,-7.236336161787715e-6,-1.1499280042755185e-8,1.0310270675950262e-4,-7.316726316035047e-6,-1.1495523318503002e-8,1.0329056362595021e-4,-7.486349598341804e-6,-1.148742159707798e-8,1.0356255453322497e-4,-7.705430672579288e-6,-1.1477144225777614e-8,1.0392519544575366e-4,-7.926623660176716e-6,-1.1467147125266295e-8,1.0436481553339658e-4,-8.106347722194308e-6,-1.1459615835618466e-8,1.048532139215313e-4,-8.213492770649762e-6,-1.1456056721422704e-8,1.0535556460250918e-4,-8.23373787288498e-6,-1.1457100913129077e-8,1.0583805546501133e-4,-8.169439622731186e-6,-1.1462518463608636e-8,1.0627352735391126e-4,-8.036400609196678e-6,-1.1471385560392026e-8,1.066445607363988e-4,-7.859266130393587e-6,-1.1482325768957206e-8,1.0694441306334356e-4,-7.666977342055716e-6,-1.1493758257334187e-8,1.0717666268625118e-4,-7.489017281889044e-6,-1.1504111986789331e-8,1.0735435490295485e-4,-7.35244966639261e-6,-1.1511999323604564e-8,1.0749903983642938e-4,-7.2792806829164845e-6,-1.1516363131548234e-8,1.0763957831135115e-4,-7.283580274524651e-6,-1.151661702847303e-8,1.0781007680501017e-4,-7.368012685883945e-6,-1.1512793302970118e-8,1.0804590054700001e-4,-7.520061810504988e-6,-1.1505692043057436e-8,1.0837680611466255e-4,-7.709425069854278e-6,-1.1496977420176755e-8,1.0881740161785823e-4,-7.889347522041987e-6,-1.1489103221812277e-8,1.0935759791410143e-4,-8.004876957400208e-6,-1.1484917776821892e-8,1.099584343313986e-4,-8.008601428695032e-6,-1.1486882532745956e-8,1.1055881062444225e-4,-7.879155597116695e-6,-1.1496092004950944e-8,1.1109371258594231e-4,-7.633039843956237e-6,-1.1511581608136923E-08,1.1151663459051103e-4,-7.321605202687162e-6,-1.1530431309502565e-8,1.1181492903404441e-4,-7.013454241810893e-6,-1.1548741122352925e-8,1.1201106022014476e-4,-6.771340174468865e-6,-1.1562985724005811e-8,1.1215140197415839e-4,-6.634405209780007e-6,-1.1571068149846324e-8,1.1228984212495073e-4,-6.611278102413541e-6,-1.1572697123814852e-8,1.1247315925664164e-4,-6.6831267112462406e-6,-1.1569144942454731e-8,1.127316993096942e-4,-6.812598750203812e-6,-1.156266778319374e-8,1.1307579932787652e-4,-6.954602663343077e-6,-1.1555859496188551e-8,1.1349688400417341e-4,-7.066217820959545e-6,-1.1551101049908461e-8,1.139717903089487e-4,-7.114299397794903e-6,-1.1550167056351804e-8,1.1446891416054345e-4,-7.080077937874377e-6,-1.1554002562827165e-8,1.149548174283551e-4,-6.960537575809596e-6,-1.1562667346861427e-8,1.1540007923220339e-4,-6.766933444370123e-6,-1.1575426285469924e-8,1.1578354861211906e-4,-6.521295786051894e-6,-1.1590947546989276e-8,1.1609463410885247e-4,-6.2519478086589645e-6,-1.160756007562344e-8,1.1633376296363593e-4,-5.989012039941205e-6,-1.1623518348194946e-8,1.1651156393922294e-4,-5.760573051355079e-6,-1.1637234212047214e-8,1.1664740182339614e-4,-5.589622358594828e-6,-1.1647459659802337e-8,1.1676759334021895e-4,-5.4915067272458905e-6,-1.1653428976732367e-8,1.1690326783015823e-4,-5.471531648050538e-6,-1.1654974611229112e-8,1.1708746557034123e-4,-5.5225030012895636e-6,-1.1652632718742514e-8,1.1735068033667883e-4,-5.622479874781477e-6,-1.1647735276380047e-8,1.1771412944112854e-4,-5.734062550996382e-6,-1.1642435438662262e-8,1.1818113725851937e-4,-5.8076621481172495e-6,-1.163954187668793e-8,1.1872926880585935e-4,-5.791344442245663e-6,-1.1642004245374285e-8,1.1930855430309953e-4,-5.647553044674574e-6,-1.1651984086518556e-8,1.1985155215788543e-4,-5.371443175151925e-6,-1.1669760410394222e-8,1.2029547121095116e-4,-4.99995084485974e-6,-1.1693115291372944e-8,1.2060678781026997e-4,-4.6024408688642385e-6,-1.1717833613867049e-8,1.2079400904598451e-4,-4.255199093046226e-6,-1.173926368756903e-8,1.2090126966665237e-4,-4.0137842781003e-6,-1.1754062382778059e-8,1.2098843584166365e-4,-3.897678566972292e-6,-1.176115704922468e-8,1.2111008984554611e-4,-3.891400665164609e-6,-1.1761637208694449e-8,1.213022496940009e-4,-3.95630760713687e-6,-1.1757971241563372e-8,1.2157839399120963e-4,-4.044896229076136e-6,-1.1753097167220337e-8,1.2193195516922581e-4,-4.112420305157807e-6,-1.1749718015863004e-8,1.2234182152848596e-4,-4.124267718560327e-6,-1.174987984666976e-8,1.227785275255919e-4,-4.059624660286843e-6,-1.1754780294877045e-8,1.2321007408265877e-4,-3.9124489345179326e-6,-1.1764728817057517e-8,1.2360698042256985e-4,-3.6904598768444323e-6,-1.1779212189448352e-8,1.2394631226203136e-4,-3.4126109266878824e-6,-1.1797041115608418e-8,1.242144823774108e-4,-3.1055077065965403e-6,-1.1816559520484416e-8,1.2440867826661164e-4,-2.799226073876711e-6,-1.1835897138338729e-8,1.2453685337986063e-4,-2.523031477587932e-6,-1.1853238148010125e-8,1.2461646512564885e-4,-2.301547896694e-6,-1.186706784611472e-8,1.2467235994619418e-4,-2.1516861724259745e-6,-1.1876371614580685e-8,1.2473410454800834e-4,-2.0803083645591164e-6,-1.1880779589050701e-8,1.2483283115915695e-4,-2.0825349597226646e-6,-1.1880660082478308e-8,1.2499748069359724e-4,-2.14069314709482e-6,-1.1877165836353078e-8,1.2525010295091812e-4,-2.2241823656063393e-6,-1.1872226457607199e-8,1.2559995192754653e-4,-2.2912602137460035e-6,-1.1868437590207958e-8,1.2603705811992328e-4,-2.2945068883105327e-6,-1.1868742828901586e-8,1.2652772420829495e-4,-2.191539426597471e-6,-1.1875794007561012e-8,1.2701630641300356e-4,-1.9604423994929207e-6,-1.1890987874401511e-8,1.2743771444703272e-4,-1.6147035257241735e-6,-1.1913481241468902e-8,1.2774003479321577e-4,-1.2075860053489198e-6,-1.1939854087612531e-8,1.2790733523272295e-4,-8.17705683285339e-7,-1.1965019553764724e-8,1.279679628288094e-4,-5.194673008425952e-7,-1.1984174542305361e-8,1.279816584662349e-4,-3.5470155045429583e-7,-1.1994671485721905e-8,1.280138942373341e-4,-3.2155917529888203e-7,-1.1996712018024326e-8,1.2811314916667707e-4,-3.832848611376374e-7,-1.1992721904466058e-8,1.2830082617175774e-4,-4.869902782138533e-7,-1.198611016092719e-8,1.2857305116365837e-4,-5.810461096132203e-7,-1.1980164163535222E-08,1.289084172136336e-4,-6.257202090277428e-7,-1.197740043466469e-8,1.2927653296285668e-4,-5.972525154990381e-7,-1.1979329944634138e-8,1.2964491995966202e-4,-4.877474608997493e-7,-1.1986472365228349e-8,1.2998387075651414e-4,-3.031311612369654e-7,-1.1998477370081351e-8,1.3026979244258862e-4,-6.038288953220458e-8,-1.2014282732417834e-8,1.3048752957989842e-4,2.1562191863560383e-7,-1.2032296857404085e-8,1.3063183983413705e-4,4.956069602951913e-7,-1.2050612633462722e-8,1.3070798712429174e-4,7.49696777087375e-7,-1.2067254493324593e-8,1.3073127127371782e-4,9.513984761652111e-7,-1.2080450782354818e-8,1.3072533232997706e-4,1.0813761032640532e-6,-1.2088898078971734e-8,1.3071932425519906e-4,1.1305045965556356e-6,-1.2091976791290884e-8,1.3074424349902703e-4,1.1018477731859764e-6,-1.2089887050399828e-8,1.3082870101893535e-4,1.0113362985932872e-6,-1.2083690937629776e-8,1.3099441618179766e-4,8.869501908669666e-7,-1.2075251931326807e-8,1.3125168068481923e-4,7.662116754938402e-7,-1.2067066918911372e-8,1.3159510738595574e-4,6.915586905267705e-7,-1.2061965515433264e-8,1.3200056820097142e-4,7.028841658829567e-7,-1.2062624571151364e-8,1.3242528918228636e-4,8.270198550287169e-7,-1.2070869118686841e-8,1.3281385380364976e-4,1.0657937989025924e-6,-1.2086852795495238e-8,1.3311208615874337e-4,1.3873940278361398e-6,-1.2108442324416934e-8,1.3328674475046086e-4,1.728378788589479e-6,-1.2131335420364398e-8,1.333423026531807e-4,2.011359960326922e-6,-1.2150284217646462e-8,1.333230859574093e-4,2.173641367897251e-6,-1.2161076558038903e-8,1.3329628509418603e-4,2.1916886718834704e-6,-1.2162183678561086e-8,1.3332488742110422e-4,2.0869799011873835e-6,-1.2155091872515184e-8,1.3344631607287334e-4,1.9118834458728775e-6,-1.214330168860428e-8,1.3366614959370036e-4,1.7270017762180142e-6,-1.213081977253317e-8,1.339647660819936e-4,1.5827822630531564e-6,-1.2120978054806648e-8,1.3430900171919165e-4,1.5107505188582636e-6,-1.2115885232530696e-8,1.346625507586368e-4,1.5227555156633589e-6,-1.2116379839448163e-8,1.3499278908367805e-4,1.6143357752029857e-6,-1.2122232655650623e-8,1.352743630890875e-4,1.7691319425712106e-6,-1.2132411706736463e-8,1.3549082147805045e-4,1.9628976716705375e-6,-1.214532559179744e-8,1.3563536205606977e-4,2.1669414090184472e-6,-1.2159041601093816e-8,1.3571114539193986e-4,2.3513531864422336e-6,-1.2171504657912729e-8,1.3573115122892719e-4,2.488365757099318e-6,-1.218077928907646e-8,1.3571726302195615e-4,2.555989521491244e-6,-1.2185316078541546e-8,1.3569814446294577e-4,2.5416602671032738e-6,-1.2184217684665625e-8,1.3570568585111713e-4,2.4452206623935392e-6,-1.2177449976565543e-8,1.3577024230789847e-4,2.280427964073108e-6,-1.216594442676682e-8,1.3591527737192273e-4,2.0743135607314645e-6,-1.2151550454018783e-8,1.361522991152803e-4,1.8640121265254014e-6,-1.213681987513195e-8,1.3647708727637718e-4,1.6911483786144465e-6,-1.2124630980449703e-8,1.3686810998498884e-4,1.5943000966245994e-6,-1.211767957644585e-8,1.3728794824521178e-4,1.6002951590033876e-6,-1.2117875538135754e-8,1.376885995265603e-4,1.715563961241601e-6,-1.2125719871977474e-8,1.380212492054774e-4,1.9198116421548985e-6,-1.2139827416802713e-8,1.3824979653251647e-4,2.16545754172393e-6,-1.2156862702966804e-8,1.3836476748777283e-4,2.3863798766054845e-6,-1.2172165361997345e-8,1.3839118089512586e-4,2.516681597723158e-6,-1.2181109204786456e-8,1.383836958661086e-4,2.5139173425388923e-6,-1.2180756018019766e-8,1.3840809682379775e-4,2.3754960365028225e-6,-1.2170971847677191e-8,1.3851731397930713e-4,2.1385549249810985e-6,-1.2154358737266609e-8,1.387345180742526e-4,1.8635150257748393e-6,-1.2135089041809021e-8,0.00013905061657867654,1.6115027181214983e-6,-1.21173713319074e-8,1.3943376606727773e-4,1.4271981388203693e-6,-1.2104305360794658e-8,1.3984300364040437e-4,1.3321511005655048e-6,-1.2097427842395805e-8,1.4023941764179271e-4,1.3266107575433846e-6,-1.2096814698533307e-8,1.4059252722173118e-4,1.3952876797859035e-6,-1.2101447432625885e-8,1.4088264636512158e-4,1.5134604515907064e-6,-1.2109616882522158e-8,1.4110100645417162e-4,1.651840139911393e-6,-1.211925900245617e-8,1.4124909369002032e-4,1.780117071596497e-6,-1.212821380203447e-8,1.41337902381737e-4,1.8698047521882043e-6,-1.2134441476175163e-8,1.413871243968482e-4,1.897057213198281e-6,-1.2136236886680415e-8,1.4142383018431504e-4,1.845841427761066e-6,-1.2132461012287831e-8,1.4147997719204125e-4,1.7113175489430788e-6,-1.2122777537746821e-8,1.4158823504138685e-4,1.502646517645388e-6,-1.2107840476713205e-8,1.4177619737628733e-4,1.2439767012537168e-6,-1.2089354094720186e-8,1.420599003828967e-4,9.723315462248096e-7,-1.206992596215161e-8,1.4243837480090518e-4,7.317359454874271e-7,-1.205266945550483e-8,1.428912639706557e-4,5.641719353741576e-7,-1.2040586686537376e-8,1.4338097885540922e-4,4.993306811954009e-7,-1.2035847099509482e-8,1.4385960277296563e-4,5.458783176763343e-7,-1.2039139663143369e-8,1.4427940471458366e-4,6.868122641353136e-7,-1.2049291370737595e-8,1.4460478846783334e-4,8.807411239238364e-7,-1.2063317321420302e-8,1.4482281559751307e-4,1.069839105541091e-6,-1.2076991054963683e-8,0.00014494904837242869,1.1937309248725323e-6,-1.2085887289049307e-8,1.4502568900064648e-4,1.2064426101944527e-6,-1.208665562177113e-8,1.4511070047506638e-4,1.0911379333922037e-6,-1.2078100163221958e-8,1.4526028585175462e-4,8.663198283372468e-7,-1.2061600256805915e-8,1.4551122674497707e-4,5.797058648325919e-7,-1.204063541031233e-8,1.45870714182893e-4,2.919007977922922e-7,-1.2019605889673682e-8,1.4631756661427476e-4,5.7383281304037876e-8,-1.2002481688680475e-8,1.4681257082234934e-4,-8.908235910099019e-8,-1.199182771411262e-8,1.4731178048653533e-4,-1.3681974382092278e-7,-1.1988462719314775e-8,1.4777718123388823e-4,-9.589928020150776e-8,-1.1991666707489123e-8,1.4818241807458256e-4,9.827970495226143e-9,-1.1999669866292774e-8,1.4851424057603252e-4,1.4975826284681487e-7,-1.2010174857616424e-8,1.4877150780700368e-4,2.9190903564939884e-7,-1.2020776035974408e-8,1.4896338718739874e-4,4.064988238931833e-7,-1.2029249027716422e-8,1.491076446423247e-4,4.6841038637613003e-7,-1.2033745868534184e-8,1.4922916257107874e-4,4.5938546572257956e-7,-1.2032953779941988e-8,1.493582247095228e-4,3.705242197180493e-7,-1.2026262139108474e-8,1.4952777954767635e-4,2.051005400277564e-7,-1.2013946805018194e-8,1.4976894050346446e-4,-1.904479417246828e-8,-1.19973299130609e-8,1.5010454947427974e-4,-2.6906541765304796e-7,-1.1978814248321542e-8,1.5054183504320976e-4,-5.005400438808663e-7,-1.1961656886072548e-8,1.510667193509588e-4,-6.659267765992611e-7,-1.1949384554955782e-8,1.5164312623254563e-4,-7.269820831206918e-7,-1.1944897119523432e-8,1.5221953156980696e-4,-6.673181911368249e-7,-1.1949511382214759e-8,1.5274192731700445e-4,-4.998737686083151e-7,-1.1962335916114308e-8,1.5316902981055573e-4,-2.655106490847173e-7,-1.198030645635063e-8,1.5348421088217352e-4,-2.266891378647792e-8,-1.1998944827432675e-8,1.537000877768807e-4,1.6834438575237464e-7,-1.2013585861232607e-8,1.538547110431581e-4,2.613132906223005e-7,-1.2020649305678164e-8,1.5400096519828458e-4,2.3581112219275996e-7,-1.2018566303697278e-8,1.5419235863208593e-4,1.0173672189554832e-7,-1.2008120314198619e-8,1.5446908544374386e-4,-1.043344103221339e-7,-1.1992147545698048e-8,1.548482390991489e-4,-3.2985719788034745e-7,-1.1974709621771796e-8,1.5532098094650596e-4,-5.207662508907146e-7,-1.1959996690102956e-8,1.5585716932915963e-4,-6.350241871756243e-7,-1.1951293605787887e-8,1.5641522266013897e-4,-6.511187991959759e-7,-1.1950307300835039e-8,1.569532769257661e-4,-5.697016549164902e-7,-1.1957005001839564e-8,1.5743798528095797e-4,-4.09469379855435e-7,-1.1969906863521253e-8,1.5784917981561064e-4,-2.0015710169451744e-7,-1.1986632887038163e-8,1.5818066995231428e-4,2.4528128874972442e-8,-1.2004482272335572e-8,1.584385964221662e-4,2.3238212408654543e-7,-1.2020894960770384e-8,1.5863886107822444e-4,3.9624199560292434e-7,-1.2033748244121223e-8,1.588046247824748e-4,4.961257588820515e-7,-1.2041519855910776e-8,1.5896414577085214e-4,5.208075434900433e-7,-1.2043387212766305e-8,1.5914861628490783e-4,4.6946391491526275e-7,-1.2039325589190074e-8,1.5938926955830503e-4,3.53541008361074e-7,-1.2030232908600866e-8,1.5971294009466412e-4,1.982741610365036e-7,-1.2018050074089633e-8,1.601357000258253e-4,4.2346553631336995e-8,-1.2005764507559371e-8,1.6065547610377416e-4,-6.653262914643824e-8,-1.199711354071502e-8,1.6124655500583345e-4,-8.178371801242496e-8,-1.1995829366236498e-8,1.618604147678731e-4,2.7237558855628032e-8,-1.200446695222325e-8,1.624361983654284e-4,2.6113543526894443e-7,-1.2023214939678597e-8,1.6291924082183584e-4,5.850389636777833e-7,-1.2049358081100115e-8,1.6328002909722807e-4,9.37029053897171e-7,-1.2077889657121621e-8,1.6352419934365228e-4,1.2479123374621913e-6,-1.2103126439366304e-8,1.6368904604779273e-4,1.4631281062483648e-6,-1.2120552485357369e-8,1.6382956183236765e-4,1.557395384432055e-6,-1.2128060940280816e-8,1.6400122926582002e-4,1.5381144862877748e-6,-1.2126239058948575e-8,1.6424588726093894e-4,1.439208355081074e-6,-1.2117853915445577e-8,1.6458370748174056e-4,1.3096328102448778e-6,-1.2106913755361764e-8,1.6501154402339606e-4,1.200644338827852e-6,-1.2097641160415495e-8,1.6550648589063686e-4,1.1547586852730628e-6,-1.2093577694547275e-8,1.6603290776267415e-4,1.198176070928625e-6,-1.209694831318382e-8,1.665511035023388e-4,1.3375614745420673e-6,-1.2108362039271342e-8,1.6702550418416318e-4,1.5612138983333382e-6,-1.2126873437650308e-8,1.674307780932752e-4,1.8436692523999273e-6,-1.2150349328123835e-8,1.677549195800197e-4,2.152050182706575e-6,-1.2176009110305286e-8,1.6799940801179606e-4,2.4524165413076667e-6,-1.2200981766056503e-8,1.6817724583540448e-4,2.7148658232038214e-6,-1.2222754118217347e-8,1.683099873280913e-4,2.9168866968960664e-6,-1.2239454785978735e-8,1.6842467146592558e-4,3.0452180407235236e-6,-1.224999322944638e-8,1.6855102695086848e-4,3.0968539557096263e-6,-1.2254119042353992e-8,1.6871880126855085e-4,3.079744230574199e-6,-1.2252464324778996e-8,1.6895472067160068e-4,3.0133940896606534e-6,-1.2246598903420829e-8,1.6927840464195295e-4,2.9289893043908684e-6,-1.2239070910506032e-8,1.6969685867088022e-4,2.8677904600524987e-6,-1.2233319274918822e-8,1.7019831718506845e-4,2.875824828445984e-6,-1.2233272151029017e-8,1.7074810284391787e-4,2.993272269193482e-6,-1.224246480019927e-8,1.7129098425295404e-4,3.2394101336393448e-6,-1.2262719249205929e-8,1.7176398102373194e-4,3.5987654038797006e-6,-1.2292867630372567e-8,1.7211809981800891e-4,4.018086806079489e-6,-1.2328398800877828e-8,1.723391427347796e-4,4.420818917734477e-6,-1.2362681188303285e-8,1.7245473153053103e-4,4.734662467285292e-6,-1.2389396409868513e-8,1.7252252726735316e-4,4.917578549027333e-6,-1.2404843785782865e-8,1.726071540897258e-4,4.968749604148368e-6,-1.2408893192054333e-8,1.727589046978858e-4,4.9221724964740185e-6,-1.2404411962237101e-8,1.7300260344177033e-4,4.83048076677902e-6,-1.2395876284086118e-8,1.7333699122422784e-4,4.748210739532242e-6,-1.2387966354953343e-8,1.7374060169450008e-4,4.719717242328655e-6,-1.2384556320964524e-8,1.7417998643729247e-4,4.77276442662093e-6,-1.2388155529251713e-8,1.7461775716833916e-4,4.916710446013261e-6,-1.2399710045232228e-8,1.7501937203030822e-4,5.1438468128633355e-6,-1.24186647572412e-8,1.7535828951289732e-4,5.432860035887848e-6,-1.2443225854658522e-8,1.756192629618798e-4,5.753664444472852e-6,-1.247077258016822e-8,1.7579965373443565e-4,6.07283129609336e-6,-1.249834752183416e-8,1.7590884946030766e-4,6.358829228718526e-6,-1.2523139875377372e-8,1.759661130968674e-4,6.586381943570775e-6,-1.2542883039875933e-8,1.759974500115724e-4,6.739459298134962e-6,-1.2556116611078232e-8,1.760321637278397e-4,6.812845618154416e-6,-1.2562313354106072e-8,1.7609950601134763e-4,6.812603660833107e-6,-1.2561914546371991e-8,1.7622548831381987e-4,6.755770295736606e-6,-1.2556315384687489e-8,1.7642970412317874e-4,6.669448359319251e-6,-1.2547819558221092e-8,1.7672181959903853e-4,6.589129298634931e-6,-1.2539538164845853e-8,1.7709754531837021e-4,6.555409184978373e-6,-1.253513882005936e-8,1.7753484841258758e-4,6.6077367992058346e-6,-1.2538298544744623e-8,1.7799261074736457e-4,6.774298835042637e-6,-1.2551762208519981e-8,1.7841520147040621e-4,7.059131678797954e-6,-1.2576102085454612e-8,1.7874610453487877e-4,7.431432411420299e-6,-1.2608660039097732e-8,1.7894917443968755e-4,7.825953175386766e-6,-1.264353962001558e-8,1.7902774380033063e-4,8.161207083206408e-6,-1.2673296174765145e-8,1.790278108183074e-4,8.37057801926549e-6,-1.2691829535203863e-8,1.7902000252517539e-4,8.429111940731165e-6,-1.2696822098010562e-8,1.7907052731275117e-4,8.359865779353108e-6,-1.2690259514578959e-8,1.792184376056174e-4,8.218710920752939e-6,-1.2677033409507345e-8,1.7946899122588982e-4,8.070217272528202e-6,-1.2662824877992331e-8,1.798005516314884e-4,7.968098174834111e-6,-1.2652431102927129e-8,1.8017678902342154e-4,7.945639373964074e-6,-1.2648941656457344e-8,1.8055783018827178e-4,8.014489469180937e-6,-1.2653594995131369e-8,1.809079743025977e-4,8.167991049630246e-6,-1.2666002492302427e-8,1.8120015594670137e-4,8.386055770599257e-6,-1.2684515636010646e-8,1.81418169137406e-4,8.640136272423779e-6,-1.2706635648062213e-8,1.8155745362714864e-4,8.897929471115659e-6,-1.2729437938407207e-8,1.816247890930127e-4,9.127778918254038e-6,-1.2749994232411722e-8,1.8163698371062952e-4,9.302709168045539e-6,-1.2765766433492419e-8,1.8161856182727902e-4,9.403888438419948e-6,-1.2774938041748913e-8,1.815985642893323e-4,9.423138551089404e-6,-1.2776645313126941e-8,1.8160681506560852e-4,9.36415692920561e-6,-1.2771087603012172e-8,1.8167007529985502e-4,9.242389932513445e-6,-1.2759527269267482e-8,1.8180839374719023e-4,9.083630182385395e-6,-1.2744194260900506e-8,1.8203189191582484e-4,8.921407254932055e-6,-1.272809684680252e-8,1.8233811686921964e-4,8.793234923543979e-6,-1.271472568547752e-8,1.8271007573164471e-4,8.735513832696627e-6,-1.2707603433132443e-8,1.831156226205783e-4,8.776587215035303e-6,-1.2709611967731912e-8,1.835098044135818e-4,8.927979072561361e-6,-1.2722097762312471e-8,1.8384221630675696e-4,9.175500192615347e-6,-1.27439367278731e-8,1.840705475552472e-4,9.474371020128938e-6,-1.2771002906062082e-8,1.841780628060236e-4,9.754616948466088e-6,-1.279667951127827e-8,1.8418683651227492e-4,9.940934290960093e-6,-1.281380356682737e-8,1.8415563603335129e-4,9.98187460304554e-6,-1.281747050358581e-8,1.8415861263877017e-4,9.872544364405676e-6,-1.2807136409084753e-8,1.842552921475183e-4,9.65575714304891e-6,-1.278665574601449e-8,1.8446960989311107e-4,9.401323160175794e-6,-1.2762350921109002e-8,1.847878917819339e-4,9.177921705907351e-6,-1.274048999348862e-8,1.851716145817177e-4,9.033077144764868e-6,-1.2725517880425859e-8,1.8557404333119885e-4,8.98674862545095e-6,-1.2719465951244568e-8,1.8595285565285299e-4,9.03489153155634e-6,-1.2722206457539776e-8,1.8627673471227903e-4,9.156961441484826e-6,-1.2732052732514901e-8,1.8652737698281774e-4,9.323291635298407e-6,-1.2746379558568107e-8,1.8669908398996258e-4,9.500851281252383e-6,-1.276214259667023e-8,1.867974540649122e-4,9.657494220093313e-6,-1.2776296198795173e-8,1.868377674238962e-4,9.765290802188679e-6,-1.2786140679959678e-8,1.8684306967336814e-4,9.803397871508996e-6,-1.2789619363565743e-8,1.868417147083351e-4,9.760610094037025e-6,-1.2785567727151342e-8,1.8686412458466885e-4,9.637324414561794e-6,-1.2773894189412115e-8,1.8693880886411663e-4,9.44635537749392e-6,-1.2755655110877828e-8,1.8708806034181723e-4,9.212124471751703e-6,-1.2732996276901077e-8,1.873239407935784e-4,8.968006164774606e-6,-1.2708946706398693e-8,1.8764524855502274e-4,8.751851247504868e-6,-1.2687053344743047e-8,1.8803613506589658e-4,8.600047003777075e-6,-1.267086308882513e-8,1.884668350213392e-4,8.540750156571121e-6,-1.266327943929974e-8,1.8889688401037388e-4,8.586957156317759e-6,-1.2665841049346619e-8,1.892813662336039e-4,8.7303677532984365E-06,-1.2678028004774141e-8,1.8958055151708885e-4,8.937957777496288e-6,-1.269682650981506e-8,1.8977205698003573e-4,9.154221964303619e-6,-1.2716894887330907e-8,1.8986226816951858e-4,9.312023948278568e-6,-1.2731645634466873e-8,1.8989097282145473e-4,9.3523306591095e-6,-1.2735235873700964e-8,1.899229344963519e-4,9.246977657328054e-6,-1.2724818924541804e-8,1.9002600500419477e-4,9.012639158824845e-6,-1.2701873808086355e-8,1.90245267253111e-4,8.705899735453676e-6,-1.267169944090641e-8,1.9058743747324758e-4,8.400731767561984e-6,-1.2641284800066107e-8,1.9102317062649488e-4,8.161375525659737e-6,-1.261678823134974e-8,1.915028135995743e-4,8.024638131175617e-6,-1.2601877107848063e-8]} \ No newline at end of file diff --git a/Cesium/Assets/Textures/NaturalEarthII/0/0/0.jpg b/Cesium/Assets/Textures/NaturalEarthII/0/0/0.jpg new file mode 100644 index 0000000..0cad646 Binary files /dev/null and b/Cesium/Assets/Textures/NaturalEarthII/0/0/0.jpg differ diff --git a/Cesium/Assets/Textures/NaturalEarthII/0/1/0.jpg b/Cesium/Assets/Textures/NaturalEarthII/0/1/0.jpg new file mode 100644 index 0000000..7e63bd6 Binary files /dev/null and b/Cesium/Assets/Textures/NaturalEarthII/0/1/0.jpg differ diff --git a/Cesium/Assets/Textures/NaturalEarthII/1/0/0.jpg b/Cesium/Assets/Textures/NaturalEarthII/1/0/0.jpg new file mode 100644 index 0000000..e65f1c7 Binary files /dev/null and b/Cesium/Assets/Textures/NaturalEarthII/1/0/0.jpg differ diff --git a/Cesium/Assets/Textures/NaturalEarthII/1/0/1.jpg b/Cesium/Assets/Textures/NaturalEarthII/1/0/1.jpg new file mode 100644 index 0000000..605f63f Binary files /dev/null and b/Cesium/Assets/Textures/NaturalEarthII/1/0/1.jpg differ diff --git a/Cesium/Assets/Textures/NaturalEarthII/1/1/0.jpg b/Cesium/Assets/Textures/NaturalEarthII/1/1/0.jpg new file mode 100644 index 0000000..319458e Binary files /dev/null and b/Cesium/Assets/Textures/NaturalEarthII/1/1/0.jpg differ diff --git a/Cesium/Assets/Textures/NaturalEarthII/1/1/1.jpg b/Cesium/Assets/Textures/NaturalEarthII/1/1/1.jpg new file mode 100644 index 0000000..a6a3859 Binary files /dev/null and b/Cesium/Assets/Textures/NaturalEarthII/1/1/1.jpg differ diff --git a/Cesium/Assets/Textures/NaturalEarthII/1/2/0.jpg b/Cesium/Assets/Textures/NaturalEarthII/1/2/0.jpg new file mode 100644 index 0000000..6913a2b Binary files /dev/null and b/Cesium/Assets/Textures/NaturalEarthII/1/2/0.jpg differ diff --git a/Cesium/Assets/Textures/NaturalEarthII/1/2/1.jpg b/Cesium/Assets/Textures/NaturalEarthII/1/2/1.jpg new file mode 100644 index 0000000..df89ed2 Binary files /dev/null and b/Cesium/Assets/Textures/NaturalEarthII/1/2/1.jpg differ diff --git a/Cesium/Assets/Textures/NaturalEarthII/1/3/0.jpg b/Cesium/Assets/Textures/NaturalEarthII/1/3/0.jpg new file mode 100644 index 0000000..8f27415 Binary files /dev/null and b/Cesium/Assets/Textures/NaturalEarthII/1/3/0.jpg differ diff --git a/Cesium/Assets/Textures/NaturalEarthII/1/3/1.jpg b/Cesium/Assets/Textures/NaturalEarthII/1/3/1.jpg new file mode 100644 index 0000000..ce2b06e Binary files /dev/null and b/Cesium/Assets/Textures/NaturalEarthII/1/3/1.jpg differ diff --git a/Cesium/Assets/Textures/NaturalEarthII/2/0/0.jpg b/Cesium/Assets/Textures/NaturalEarthII/2/0/0.jpg new file mode 100644 index 0000000..e3c0312 Binary files /dev/null and b/Cesium/Assets/Textures/NaturalEarthII/2/0/0.jpg differ diff --git a/Cesium/Assets/Textures/NaturalEarthII/2/0/1.jpg b/Cesium/Assets/Textures/NaturalEarthII/2/0/1.jpg new file mode 100644 index 0000000..f3ec321 Binary files /dev/null and b/Cesium/Assets/Textures/NaturalEarthII/2/0/1.jpg differ diff --git a/Cesium/Assets/Textures/NaturalEarthII/2/0/2.jpg b/Cesium/Assets/Textures/NaturalEarthII/2/0/2.jpg new file mode 100644 index 0000000..b59816c Binary files /dev/null and b/Cesium/Assets/Textures/NaturalEarthII/2/0/2.jpg differ diff --git a/Cesium/Assets/Textures/NaturalEarthII/2/0/3.jpg b/Cesium/Assets/Textures/NaturalEarthII/2/0/3.jpg new file mode 100644 index 0000000..795f212 Binary files /dev/null and b/Cesium/Assets/Textures/NaturalEarthII/2/0/3.jpg differ diff --git a/Cesium/Assets/Textures/NaturalEarthII/2/1/0.jpg b/Cesium/Assets/Textures/NaturalEarthII/2/1/0.jpg new file mode 100644 index 0000000..822b065 Binary files /dev/null and b/Cesium/Assets/Textures/NaturalEarthII/2/1/0.jpg differ diff --git a/Cesium/Assets/Textures/NaturalEarthII/2/1/1.jpg b/Cesium/Assets/Textures/NaturalEarthII/2/1/1.jpg new file mode 100644 index 0000000..4dd18ea Binary files /dev/null and b/Cesium/Assets/Textures/NaturalEarthII/2/1/1.jpg differ diff --git a/Cesium/Assets/Textures/NaturalEarthII/2/1/2.jpg b/Cesium/Assets/Textures/NaturalEarthII/2/1/2.jpg new file mode 100644 index 0000000..4540c7c Binary files /dev/null and b/Cesium/Assets/Textures/NaturalEarthII/2/1/2.jpg differ diff --git a/Cesium/Assets/Textures/NaturalEarthII/2/1/3.jpg b/Cesium/Assets/Textures/NaturalEarthII/2/1/3.jpg new file mode 100644 index 0000000..32c6e5a Binary files /dev/null and b/Cesium/Assets/Textures/NaturalEarthII/2/1/3.jpg differ diff --git a/Cesium/Assets/Textures/NaturalEarthII/2/2/0.jpg b/Cesium/Assets/Textures/NaturalEarthII/2/2/0.jpg new file mode 100644 index 0000000..7c39094 Binary files /dev/null and b/Cesium/Assets/Textures/NaturalEarthII/2/2/0.jpg differ diff --git a/Cesium/Assets/Textures/NaturalEarthII/2/2/1.jpg b/Cesium/Assets/Textures/NaturalEarthII/2/2/1.jpg new file mode 100644 index 0000000..3e7abe7 Binary files /dev/null and b/Cesium/Assets/Textures/NaturalEarthII/2/2/1.jpg differ diff --git a/Cesium/Assets/Textures/NaturalEarthII/2/2/2.jpg b/Cesium/Assets/Textures/NaturalEarthII/2/2/2.jpg new file mode 100644 index 0000000..0e0f1e9 Binary files /dev/null and b/Cesium/Assets/Textures/NaturalEarthII/2/2/2.jpg differ diff --git a/Cesium/Assets/Textures/NaturalEarthII/2/2/3.jpg b/Cesium/Assets/Textures/NaturalEarthII/2/2/3.jpg new file mode 100644 index 0000000..732c32f Binary files /dev/null and b/Cesium/Assets/Textures/NaturalEarthII/2/2/3.jpg differ diff --git a/Cesium/Assets/Textures/NaturalEarthII/2/3/0.jpg b/Cesium/Assets/Textures/NaturalEarthII/2/3/0.jpg new file mode 100644 index 0000000..576ec70 Binary files /dev/null and b/Cesium/Assets/Textures/NaturalEarthII/2/3/0.jpg differ diff --git a/Cesium/Assets/Textures/NaturalEarthII/2/3/1.jpg b/Cesium/Assets/Textures/NaturalEarthII/2/3/1.jpg new file mode 100644 index 0000000..6347041 Binary files /dev/null and b/Cesium/Assets/Textures/NaturalEarthII/2/3/1.jpg differ diff --git a/Cesium/Assets/Textures/NaturalEarthII/2/3/2.jpg b/Cesium/Assets/Textures/NaturalEarthII/2/3/2.jpg new file mode 100644 index 0000000..300aa58 Binary files /dev/null and b/Cesium/Assets/Textures/NaturalEarthII/2/3/2.jpg differ diff --git a/Cesium/Assets/Textures/NaturalEarthII/2/3/3.jpg b/Cesium/Assets/Textures/NaturalEarthII/2/3/3.jpg new file mode 100644 index 0000000..cd70fca Binary files /dev/null and b/Cesium/Assets/Textures/NaturalEarthII/2/3/3.jpg differ diff --git a/Cesium/Assets/Textures/NaturalEarthII/2/4/0.jpg b/Cesium/Assets/Textures/NaturalEarthII/2/4/0.jpg new file mode 100644 index 0000000..eabb83c Binary files /dev/null and b/Cesium/Assets/Textures/NaturalEarthII/2/4/0.jpg differ diff --git a/Cesium/Assets/Textures/NaturalEarthII/2/4/1.jpg b/Cesium/Assets/Textures/NaturalEarthII/2/4/1.jpg new file mode 100644 index 0000000..54e6b00 Binary files /dev/null and b/Cesium/Assets/Textures/NaturalEarthII/2/4/1.jpg differ diff --git a/Cesium/Assets/Textures/NaturalEarthII/2/4/2.jpg b/Cesium/Assets/Textures/NaturalEarthII/2/4/2.jpg new file mode 100644 index 0000000..311241c Binary files /dev/null and b/Cesium/Assets/Textures/NaturalEarthII/2/4/2.jpg differ diff --git a/Cesium/Assets/Textures/NaturalEarthII/2/4/3.jpg b/Cesium/Assets/Textures/NaturalEarthII/2/4/3.jpg new file mode 100644 index 0000000..5ba398c Binary files /dev/null and b/Cesium/Assets/Textures/NaturalEarthII/2/4/3.jpg differ diff --git a/Cesium/Assets/Textures/NaturalEarthII/2/5/0.jpg b/Cesium/Assets/Textures/NaturalEarthII/2/5/0.jpg new file mode 100644 index 0000000..e03c0c0 Binary files /dev/null and b/Cesium/Assets/Textures/NaturalEarthII/2/5/0.jpg differ diff --git a/Cesium/Assets/Textures/NaturalEarthII/2/5/1.jpg b/Cesium/Assets/Textures/NaturalEarthII/2/5/1.jpg new file mode 100644 index 0000000..01a1caf Binary files /dev/null and b/Cesium/Assets/Textures/NaturalEarthII/2/5/1.jpg differ diff --git a/Cesium/Assets/Textures/NaturalEarthII/2/5/2.jpg b/Cesium/Assets/Textures/NaturalEarthII/2/5/2.jpg new file mode 100644 index 0000000..372e3ef Binary files /dev/null and b/Cesium/Assets/Textures/NaturalEarthII/2/5/2.jpg differ diff --git a/Cesium/Assets/Textures/NaturalEarthII/2/5/3.jpg b/Cesium/Assets/Textures/NaturalEarthII/2/5/3.jpg new file mode 100644 index 0000000..fbcfa62 Binary files /dev/null and b/Cesium/Assets/Textures/NaturalEarthII/2/5/3.jpg differ diff --git a/Cesium/Assets/Textures/NaturalEarthII/2/6/0.jpg b/Cesium/Assets/Textures/NaturalEarthII/2/6/0.jpg new file mode 100644 index 0000000..334ab25 Binary files /dev/null and b/Cesium/Assets/Textures/NaturalEarthII/2/6/0.jpg differ diff --git a/Cesium/Assets/Textures/NaturalEarthII/2/6/1.jpg b/Cesium/Assets/Textures/NaturalEarthII/2/6/1.jpg new file mode 100644 index 0000000..ebbc3a0 Binary files /dev/null and b/Cesium/Assets/Textures/NaturalEarthII/2/6/1.jpg differ diff --git a/Cesium/Assets/Textures/NaturalEarthII/2/6/2.jpg b/Cesium/Assets/Textures/NaturalEarthII/2/6/2.jpg new file mode 100644 index 0000000..c3a8e97 Binary files /dev/null and b/Cesium/Assets/Textures/NaturalEarthII/2/6/2.jpg differ diff --git a/Cesium/Assets/Textures/NaturalEarthII/2/6/3.jpg b/Cesium/Assets/Textures/NaturalEarthII/2/6/3.jpg new file mode 100644 index 0000000..8f730f3 Binary files /dev/null and b/Cesium/Assets/Textures/NaturalEarthII/2/6/3.jpg differ diff --git a/Cesium/Assets/Textures/NaturalEarthII/2/7/0.jpg b/Cesium/Assets/Textures/NaturalEarthII/2/7/0.jpg new file mode 100644 index 0000000..75235d6 Binary files /dev/null and b/Cesium/Assets/Textures/NaturalEarthII/2/7/0.jpg differ diff --git a/Cesium/Assets/Textures/NaturalEarthII/2/7/1.jpg b/Cesium/Assets/Textures/NaturalEarthII/2/7/1.jpg new file mode 100644 index 0000000..036d682 Binary files /dev/null and b/Cesium/Assets/Textures/NaturalEarthII/2/7/1.jpg differ diff --git a/Cesium/Assets/Textures/NaturalEarthII/2/7/2.jpg b/Cesium/Assets/Textures/NaturalEarthII/2/7/2.jpg new file mode 100644 index 0000000..dfd2144 Binary files /dev/null and b/Cesium/Assets/Textures/NaturalEarthII/2/7/2.jpg differ diff --git a/Cesium/Assets/Textures/NaturalEarthII/2/7/3.jpg b/Cesium/Assets/Textures/NaturalEarthII/2/7/3.jpg new file mode 100644 index 0000000..82c2a34 Binary files /dev/null and b/Cesium/Assets/Textures/NaturalEarthII/2/7/3.jpg differ diff --git a/Cesium/Assets/Textures/NaturalEarthII/tilemapresource.xml b/Cesium/Assets/Textures/NaturalEarthII/tilemapresource.xml new file mode 100644 index 0000000..eb7b3f3 --- /dev/null +++ b/Cesium/Assets/Textures/NaturalEarthII/tilemapresource.xml @@ -0,0 +1,15 @@ + + + NE2_HR_LC_SR_W_DR_recolored.tif + + EPSG:4326 + + + + + + + + + + \ No newline at end of file diff --git a/Cesium/Assets/Textures/SkyBox/tycho2t3_80_mx.jpg b/Cesium/Assets/Textures/SkyBox/tycho2t3_80_mx.jpg new file mode 100644 index 0000000..2f29875 Binary files /dev/null and b/Cesium/Assets/Textures/SkyBox/tycho2t3_80_mx.jpg differ diff --git a/Cesium/Assets/Textures/SkyBox/tycho2t3_80_my.jpg b/Cesium/Assets/Textures/SkyBox/tycho2t3_80_my.jpg new file mode 100644 index 0000000..8036228 Binary files /dev/null and b/Cesium/Assets/Textures/SkyBox/tycho2t3_80_my.jpg differ diff --git a/Cesium/Assets/Textures/SkyBox/tycho2t3_80_mz.jpg b/Cesium/Assets/Textures/SkyBox/tycho2t3_80_mz.jpg new file mode 100644 index 0000000..476ca2c Binary files /dev/null and b/Cesium/Assets/Textures/SkyBox/tycho2t3_80_mz.jpg differ diff --git a/Cesium/Assets/Textures/SkyBox/tycho2t3_80_px.jpg b/Cesium/Assets/Textures/SkyBox/tycho2t3_80_px.jpg new file mode 100644 index 0000000..82bd54a Binary files /dev/null and b/Cesium/Assets/Textures/SkyBox/tycho2t3_80_px.jpg differ diff --git a/Cesium/Assets/Textures/SkyBox/tycho2t3_80_py.jpg b/Cesium/Assets/Textures/SkyBox/tycho2t3_80_py.jpg new file mode 100644 index 0000000..251e07c Binary files /dev/null and b/Cesium/Assets/Textures/SkyBox/tycho2t3_80_py.jpg differ diff --git a/Cesium/Assets/Textures/SkyBox/tycho2t3_80_pz.jpg b/Cesium/Assets/Textures/SkyBox/tycho2t3_80_pz.jpg new file mode 100644 index 0000000..d6d86c2 Binary files /dev/null and b/Cesium/Assets/Textures/SkyBox/tycho2t3_80_pz.jpg differ diff --git a/Cesium/Assets/Textures/moonSmall.jpg b/Cesium/Assets/Textures/moonSmall.jpg new file mode 100644 index 0000000..47f5252 Binary files /dev/null and b/Cesium/Assets/Textures/moonSmall.jpg differ diff --git a/Cesium/Assets/Textures/waterNormals.jpg b/Cesium/Assets/Textures/waterNormals.jpg new file mode 100644 index 0000000..eb1baa2 Binary files /dev/null and b/Cesium/Assets/Textures/waterNormals.jpg differ diff --git a/Cesium/Assets/Textures/waterNormalsSmall.jpg b/Cesium/Assets/Textures/waterNormalsSmall.jpg new file mode 100644 index 0000000..57b19d8 Binary files /dev/null and b/Cesium/Assets/Textures/waterNormalsSmall.jpg differ diff --git a/Cesium/Cesium.js b/Cesium/Cesium.js index 795ea6a..8719b42 100644 --- a/Cesium/Cesium.js +++ b/Cesium/Cesium.js @@ -1,7 +1,7 @@ /** * Cesium - https://github.com/AnalyticalGraphicsInc/cesium * - * Copyright 2011-2013 Cesium Contributors + * Copyright 2011-2014 Cesium Contributors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -286,26 +286,6 @@ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -/** - * @license - * Cellular noise ("Worley noise") in 2D in GLSL. - * Copyright (c) Stefan Gustavson 2011-04-19. All rights reserved. - * This code is released under the conditions of the MIT license. - * See LICENSE file for details. - */ - -/** - * @license - * Description : Array and textureless GLSL 2D/3D/4D simplex - * noise functions. - * Author : Ian McEwan, Ashima Arts. - * Maintainer : ijm - * Lastmod : 20110822 (ijm) - * License : Copyright (C) 2011 Ashima Arts. All rights reserved. - * Distributed under the MIT License. See LICENSE file. - * https://github.com/ashima/webgl-noise - */ - /** @license tween.js - https://github.com/sole/tween.js @@ -333,6 +313,8 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +// Copyright 2012 Google Inc., Apache 2.0 license. + /** * @license * Copyright (c) 2000-2005, Sean O'Neil (s_p_oneil@hotmail.com) @@ -372,29 +354,6 @@ Knockout JavaScript library v3.0.0 License: MIT (http://www.opensource.org/licenses/mit-license.php) */ -/** - * @license - * WeakMap shim - * (The MIT License) - * - * Copyright (c) 2012 Brandon Benvie - * - * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and - * associated documentation files (the 'Software'), to deal in the Software without restriction, - * including without limitation the rights to use, copy, modify, merge, publish, distribute, - * sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included with all copies or - * substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING - * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - /** * @license * Knockout ES5 plugin - https://github.com/SteveSanderson/knockout-es5 @@ -402,42 +361,43 @@ License: MIT (http://www.opensource.org/licenses/mit-license.php) * MIT license */ -!function(){var e,t,r;!function(i){function n(e,t){return w.call(e,t)}function o(e,t){var r,i,n,o,a,s,l,u,c,h,d=t&&t.split("/"),m=g.map,p=m&&m["*"]||{};if(e&&"."===e.charAt(0))if(t){for(d=d.slice(0,d.length-1),e=d.concat(e.split("/")),u=0;u0&&(e.splice(u-1,2),u-=2)}e=e.join("/")}else 0===e.indexOf("./")&&(e=e.substring(2));if((d||p)&&m){for(r=e.split("/"),u=r.length;u>0;u-=1){if(i=r.slice(0,u).join("/"),d)for(c=d.length;c>0;c-=1)if(n=m[d.slice(0,c).join("/")],n&&(n=n[i])){o=n,a=u;break}if(o)break;!s&&p&&p[i]&&(s=p[i],l=u)}!o&&s&&(o=s,a=l),o&&(r.splice(0,a,o),e=r.join("/"))}return e}function a(e,t){return function(){return m.apply(i,C.call(arguments,0).concat([e,t]))}}function s(e){return function(t){return o(t,e)}}function l(e){return function(t){v[e]=t}}function u(e){if(n(y,e)){var t=y[e];delete y[e],_[e]=!0,d.apply(i,t)}if(!n(v,e)&&!n(_,e))throw new Error("No "+e);return v[e]}function c(e){var t,r=e?e.indexOf("!"):-1;return r>-1&&(t=e.substring(0,r),e=e.substring(r+1,e.length)),[t,e]}function h(e){return function(){return g&&g.config&&g.config[e]||{}}}var d,m,p,f,v={},y={},g={},_={},w=Object.prototype.hasOwnProperty,C=[].slice;p=function(e,t){var r,i=c(e),n=i[0];return e=i[1],n&&(n=o(n,t),r=u(n)),n?e=r&&r.normalize?r.normalize(e,s(t)):o(e,t):(e=o(e,t),i=c(e),n=i[0],e=i[1],n&&(r=u(n))),{f:n?n+"!"+e:e,n:e,pr:n,p:r}},f={require:function(e){return a(e)},exports:function(e){var t=v[e];return"undefined"!=typeof t?t:v[e]={}},module:function(e){return{id:e,uri:"",exports:v[e],config:h(e)}}},d=function(e,t,r,o){var s,c,h,d,m,g,w=[];if(o=o||e,"function"==typeof r){for(t=!t.length&&r.length?["require","exports","module"]:t,m=0;md;d++){var m=e[d],p=m.x,f=m.y,v=m.z;n=Math.min(p,n),l=Math.max(p,l),a=Math.min(f,a),u=Math.max(f,u),s=Math.min(v,s),c=Math.max(v,c)}var y=r.minimum;y.x=n,y.y=a,y.z=s;var g=r.maximum;g.x=l,g.y=u,g.z=c;var _=i.add(y,g,r.center);return i.multiplyByScalar(_,.5,_),r},o.clone=function(e,r){return t(e)?t(r)?(r.minimum=i.clone(e.minimum,r.minimum),r.maximum=i.clone(e.maximum,r.maximum),r.center=i.clone(e.center,r.center),r):new o(e.minimum,e.maximum):void 0},o.equals=function(e,r){return e===r||t(e)&&t(r)&&i.equals(e.center,r.center)&&i.equals(e.minimum,r.minimum)&&i.equals(e.maximum,r.maximum)};var a=new i;return o.intersect=function(e,o){if(!t(e))throw new r("box is required.");if(!t(o))throw new r("plane is required.");a=i.subtract(e.maximum,e.minimum,a);var s=i.multiplyByScalar(a,.5,a),l=s.x*Math.abs(o.x)+s.y*Math.abs(o.y)+s.z*Math.abs(o.z),u=i.dot(e.center,o)+o.w;return u-l>0?n.INSIDE:0>u+l?n.OUTSIDE:n.INTERSECTING},o.prototype.clone=function(e){return o.clone(this,e)},o.prototype.intersect=function(e){return o.intersect(this,e)},o.prototype.equals=function(e){return o.equals(this,e)},o}),r("Core/BingMapsApi",["./defined"],function(e){"use strict";var t={};t.defaultKey=void 0;var r=!1;return t.getKey=function(i){return e(i)?i:e(t.defaultKey)?t.defaultKey:(r||(console.log("This application is using Cesium's default Bing Maps key. Please create a new key for the application as soon as possible and prior to deployment by visiting https://www.bingmapsportal.com/, and provide your key to Cesium by setting the Cesium.BingMapsApi.defaultKey property before constructing the CesiumWidget or any other object that uses the Bing Maps API."),r=!0),"Aj1ony_-Typ-KjG9SJWiKSHY23U1KmK7yAmZa9lDmuF2osXWkcZ22VPsqmCt0TCt")},t}),r("Core/Cartesian2",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,t,r,i){"use strict";var n=function(t,r){this.x=e(t,0),this.y=e(r,0)};n.fromElements=function(e,r,i){return t(i)?(i.x=e,i.y=r,i):new n(e,r)},n.clone=function(e,r){return t(e)?t(r)?(r.x=e.x,r.y=e.y,r):new n(e.x,e.y):void 0},n.fromCartesian3=n.clone,n.fromCartesian4=n.clone,n.packedLength=2,n.pack=function(t,r,i){i=e(i,0),r[i++]=t.x,r[i]=t.y},n.unpack=function(r,i,o){return i=e(i,0),t(o)||(o=new n),o.x=r[i++],o.y=r[i],o},n.fromArray=n.unpack,n.getMaximumComponent=function(e){return Math.max(e.x,e.y)},n.getMinimumComponent=function(e){return Math.min(e.x,e.y)},n.getMinimumByComponent=function(e,r,i){return t(i)||(i=new n),i.x=Math.min(e.x,r.x),i.y=Math.min(e.y,r.y),i},n.getMaximumByComponent=function(e,r,i){return t(i)||(i=new n),i.x=Math.max(e.x,r.x),i.y=Math.max(e.y,r.y),i},n.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y},n.magnitude=function(e){return Math.sqrt(n.magnitudeSquared(e))};var o=new n;n.distance=function(e,t){return n.subtract(e,t,o),n.magnitude(o)},n.normalize=function(e,r){var i=n.magnitude(e);return t(r)?(r.x=e.x/i,r.y=e.y/i,r):new n(e.x/i,e.y/i)},n.dot=function(e,t){return e.x*t.x+e.y*t.y},n.multiplyComponents=function(e,r,i){return t(i)?(i.x=e.x*r.x,i.y=e.y*r.y,i):new n(e.x*r.x,e.y*r.y)},n.add=function(e,r,i){return t(i)?(i.x=e.x+r.x,i.y=e.y+r.y,i):new n(e.x+r.x,e.y+r.y)},n.subtract=function(e,r,i){return t(i)?(i.x=e.x-r.x,i.y=e.y-r.y,i):new n(e.x-r.x,e.y-r.y)},n.multiplyByScalar=function(e,r,i){return t(i)?(i.x=e.x*r,i.y=e.y*r,i):new n(e.x*r,e.y*r)},n.divideByScalar=function(e,r,i){return t(i)?(i.x=e.x/r,i.y=e.y/r,i):new n(e.x/r,e.y/r)},n.negate=function(e,r){return t(r)?(r.x=-e.x,r.y=-e.y,r):new n(-e.x,-e.y)},n.abs=function(e,r){return t(r)?(r.x=Math.abs(e.x),r.y=Math.abs(e.y),r):new n(Math.abs(e.x),Math.abs(e.y))};var a=new n;n.lerp=function(e,t,r,i){return n.multiplyByScalar(t,r,a),i=n.multiplyByScalar(e,1-r,i),n.add(a,i,i)};var s=new n,l=new n;n.angleBetween=function(e,t){return n.normalize(e,s),n.normalize(t,l),Math.acos(n.dot(s,l))};var u=new n;return n.mostOrthogonalAxis=function(e,t){var r=n.normalize(e,u);return n.abs(r,r),t=r.x<=r.y?n.clone(n.UNIT_X,t):n.clone(n.UNIT_Y,t)},n.equals=function(e,r){return e===r||t(e)&&t(r)&&e.x===r.x&&e.y===r.y},n.equalsEpsilon=function(e,r,i){return e===r||t(e)&&t(r)&&Math.abs(e.x-r.x)<=i&&Math.abs(e.y-r.y)<=i},n.ZERO=i(new n(0,0)),n.UNIT_X=i(new n(1,0)),n.UNIT_Y=i(new n(0,1)),n.prototype.clone=function(e){return n.clone(this,e)},n.prototype.equals=function(e){return n.equals(this,e)},n.prototype.equalsEpsilon=function(e,t){return n.equalsEpsilon(this,e,t)},n.prototype.toString=function(){return"("+this.x+", "+this.y+")"},n}),r("ThirdParty/mersenne-twister",[],function(){var e=function(e){void 0==e&&(e=(new Date).getTime()),this.N=624,this.M=397,this.MATRIX_A=2567483615,this.UPPER_MASK=2147483648,this.LOWER_MASK=2147483647,this.mt=new Array(this.N),this.mti=this.N+1,this.init_genrand(e)};return e.prototype.init_genrand=function(e){for(this.mt[0]=e>>>0,this.mti=1;this.mti>>30;this.mt[this.mti]=(1812433253*((4294901760&e)>>>16)<<16)+1812433253*(65535&e)+this.mti,this.mt[this.mti]>>>=0}},e.prototype.genrand_int32=function(){var e,t=new Array(0,this.MATRIX_A);if(this.mti>=this.N){var r;for(this.mti==this.N+1&&this.init_genrand(5489),r=0;r>>1^t[1&e];for(;r>>1^t[1&e];e=this.mt[this.N-1]&this.UPPER_MASK|this.mt[0]&this.LOWER_MASK,this.mt[this.N-1]=this.mt[this.M-1]^e>>>1^t[1&e],this.mti=0}return e=this.mt[this.mti++],e^=e>>>11,e^=2636928640&e<<7,e^=4022730752&e<<15,e^=e>>>18,e>>>0},e.prototype.random=function(){return this.genrand_int32()*(1/4294967296)},e}),r("Core/Math",["./defaultValue","./defined","./DeveloperError","../ThirdParty/mersenne-twister"],function(e,t,r,i){"use strict";var n={};n.EPSILON1=.1,n.EPSILON2=.01,n.EPSILON3=.001,n.EPSILON4=1e-4,n.EPSILON5=1e-5,n.EPSILON6=1e-6,n.EPSILON7=1e-7,n.EPSILON8=1e-8,n.EPSILON9=1e-9,n.EPSILON10=1e-10,n.EPSILON11=1e-11,n.EPSILON12=1e-12,n.EPSILON13=1e-13,n.EPSILON14=1e-14,n.EPSILON15=1e-15,n.EPSILON16=1e-16,n.EPSILON17=1e-17,n.EPSILON18=1e-18,n.EPSILON19=1e-19,n.EPSILON20=1e-20,n.GRAVITATIONALPARAMETER=3986004418e5,n.SOLAR_RADIUS=6955e5,n.LUNAR_RADIUS=1737400,n.SIXTY_FOUR_KILOBYTES=65536,n.sign=function(e){return e>0?1:0>e?-1:0},n.sinh=function(e){var t=Math.pow(Math.E,e),r=Math.pow(Math.E,-1*e);return.5*(t-r)},n.cosh=function(e){var t=Math.pow(Math.E,e),r=Math.pow(Math.E,-1*e);return.5*(t+r)},n.lerp=function(e,t,r){return(1-r)*e+r*t},n.PI=Math.PI,n.ONE_OVER_PI=1/Math.PI,n.PI_OVER_TWO=.5*Math.PI,n.PI_OVER_THREE=Math.PI/3,n.PI_OVER_FOUR=Math.PI/4,n.PI_OVER_SIX=Math.PI/6,n.THREE_PI_OVER_TWO=.5*3*Math.PI,n.TWO_PI=2*Math.PI,n.ONE_OVER_TWO_PI=1/(2*Math.PI),n.RADIANS_PER_DEGREE=Math.PI/180,n.DEGREES_PER_RADIAN=180/Math.PI,n.RADIANS_PER_ARCSECOND=n.RADIANS_PER_DEGREE/3600,n.toRadians=function(e){return e*n.RADIANS_PER_DEGREE},n.toDegrees=function(e){return e*n.DEGREES_PER_RADIAN},n.convertLongitudeRange=function(e){var t=n.TWO_PI,r=e-Math.floor(e/t)*t;return r<-Math.PI?r+t:r>=Math.PI?r-t:r},n.negativePiToPi=function(e){for(var t=n.EPSILON10,r=n.PI,i=n.TWO_PI;-(r+t)>e;)e+=i;if(-r>e)return-r;for(;e>r+t;)e-=i;return e>r?r:e},n.zeroToTwoPi=function(e){var t=e%n.TWO_PI;return 0>t?(t+n.TWO_PI)%n.TWO_PI:t},n.equalsEpsilon=function(t,r,i){return i=e(i,0),Math.abs(t-r)<=i};var o=[1];n.factorial=function(e){var t=o.length;if(e>=t)for(var r=o[t-1],i=t;e>=i;i++)o.push(r*i);return o[e]},n.incrementWrap=function(t,r,i){return i=e(i,0),++t,t>r&&(t=i),t},n.isPowerOfTwo=function(e){return 0!==e&&0===(e&e-1)},n.nextPowerOfTwo=function(e){return--e,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,++e,e},n.clamp=function(e,t,r){return t>e?t:e>r?r:e};var a=new i;return n.setRandomNumberSeed=function(e){a=new i(e)},n.nextRandomNumber=function(){return a.random()},n}),r("Core/Cartographic",["./defaultValue","./defined","./DeveloperError","./freezeObject","./Math"],function(e,t,r,i,n){"use strict";var o=function(t,r,i){this.longitude=e(t,0),this.latitude=e(r,0),this.height=e(i,0)};return o.fromDegrees=function(r,i,a,s){return r=n.toRadians(e(r,0)),i=n.toRadians(e(i,0)),a=e(a,0),t(s)?(s.longitude=r,s.latitude=i,s.height=a,s):new o(r,i,a)},o.clone=function(e,r){return t(e)?t(r)?(r.longitude=e.longitude,r.latitude=e.latitude,r.height=e.height,r):new o(e.longitude,e.latitude,e.height):void 0},o.equals=function(e,r){return e===r||t(e)&&t(r)&&e.longitude===r.longitude&&e.latitude===r.latitude&&e.height===r.height},o.equalsEpsilon=function(e,i,n){if("number"!=typeof n)throw new r("epsilon is required and must be a number.");return e===i||t(e)&&t(i)&&Math.abs(e.longitude-i.longitude)<=n&&Math.abs(e.latitude-i.latitude)<=n&&Math.abs(e.height-i.height)<=n},o.toString=function(e){if(!t(e))throw new r("cartographic is required");return"("+e.longitude+", "+e.latitude+", "+e.height+")"},o.ZERO=i(new o(0,0,0)),o.prototype.clone=function(e){return o.clone(this,e)},o.prototype.equals=function(e){return o.equals(this,e)},o.prototype.equalsEpsilon=function(e,t){return o.equalsEpsilon(this,e,t)},o.prototype.toString=function(){return o.toString(this)},o}),r("Core/Ellipsoid",["./freezeObject","./defaultValue","./defined","./DeveloperError","./Math","./Cartesian3","./Cartographic"],function(e,t,r,i,n,o,a){"use strict";var s=function(e,r,a){if(e=t(e,0),r=t(r,0),a=t(a,0),0>e||0>r||0>a)throw new i("All radii components must be greater than or equal to zero.");this._radii=new o(e,r,a),this._radiiSquared=new o(e*e,r*r,a*a),this._radiiToTheFourth=new o(e*e*e*e,r*r*r*r,a*a*a*a),this._oneOverRadii=new o(0===e?0:1/e,0===r?0:1/r,0===a?0:1/a),this._oneOverRadiiSquared=new o(0===e?0:1/(e*e),0===r?0:1/(r*r),0===a?0:1/(a*a)),this._minimumRadius=Math.min(e,r,a),this._maximumRadius=Math.max(e,r,a),this._centerToleranceSquared=n.EPSILON1};s.clone=function(e,t){if(!r(e))return void 0;var i=e._radii;return r(t)?(o.clone(i,t._radii),o.clone(e._radiiSquared,t._radiiSquared),o.clone(e._radiiToTheFourth,t._radiiToTheFourth),o.clone(e._oneOverRadii,t._oneOverRadii),o.clone(e._oneOverRadiiSquared,t._oneOverRadiiSquared),t._minimumRadius=e._minimumRadius,t._maximumRadius=e._maximumRadius,t._centerToleranceSquared=e._centerToleranceSquared,t):new s(i.x,i.y,i.z)},s.fromCartesian3=function(e){return r(e)?new s(e.x,e.y,e.z):new s},s.WGS84=e(new s(6378137,6378137,6356752.314245179)),s.UNIT_SPHERE=e(new s(1,1,1)),s.MOON=e(new s(n.LUNAR_RADIUS,n.LUNAR_RADIUS,n.LUNAR_RADIUS)),s.prototype.getRadii=function(){return this._radii},s.prototype.getRadiiSquared=function(){return this._radiiSquared},s.prototype.getRadiiToTheFourth=function(){return this._radiiToTheFourth},s.prototype.getOneOverRadii=function(){return this._oneOverRadii},s.prototype.getOneOverRadiiSquared=function(){return this._oneOverRadiiSquared},s.prototype.getMinimumRadius=function(){return this._minimumRadius},s.prototype.getMaximumRadius=function(){return this._maximumRadius},s.prototype.clone=function(e){return s.clone(this,e)},s.prototype.geocentricSurfaceNormal=o.normalize,s.prototype.geodeticSurfaceNormalCartographic=function(e,t){if(!r(e))throw new i("cartographic is required.");var n=e.longitude,a=e.latitude,s=Math.cos(a),l=s*Math.cos(n),u=s*Math.sin(n),c=Math.sin(a);return r(t)||(t=new o),t.x=l,t.y=u,t.z=c,o.normalize(t,t)},s.prototype.geodeticSurfaceNormal=function(e,t){return t=o.multiplyComponents(e,this._oneOverRadiiSquared,t),o.normalize(t,t)};var l=new o,u=new o;s.prototype.cartographicToCartesian=function(e,t){var r=l,i=u;this.geodeticSurfaceNormalCartographic(e,r),o.multiplyComponents(this._radiiSquared,r,i);var n=Math.sqrt(o.dot(r,i));return o.divideByScalar(i,n,i),o.multiplyByScalar(r,e.height,r),o.add(i,r,t)},s.prototype.cartographicArrayToCartesianArray=function(e,t){if(!r(e))throw new i("cartographics is required.");var n=e.length;r(t)?t.length=n:t=new Array(n);for(var o=0;n>o;o++)t[o]=this.cartographicToCartesian(e[o],t[o]);return t};var c=new o,h=new o,d=new o;s.prototype.cartesianToCartographic=function(e,t){var i=this.scaleToGeodeticSurface(e,h);if(!r(i))return void 0;var s=this.geodeticSurfaceNormal(i,c),l=o.subtract(e,i,d),u=Math.atan2(s.y,s.x),m=Math.asin(s.z),p=n.sign(o.dot(l,e))*o.magnitude(l);return r(t)?(t.longitude=u,t.latitude=m,t.height=p,t):new a(u,m,p)},s.prototype.cartesianArrayToCartographicArray=function(e,t){if(!r(e))throw new i("cartesians is required.");var n=e.length;r(t)?t.length=n:t=new Array(n);for(var o=0;n>o;++o)t[o]=this.cartesianToCartographic(e[o],t[o]);return t};var m=new o,p=new o;return s.prototype.scaleToGeodeticSurface=function(e,t){if(!r(e))throw new i("cartesian is required.");var a=e.x,s=e.y,l=e.z,u=this._oneOverRadii,c=u.x,h=u.y,d=u.z,f=a*a*c*c,v=s*s*h*h,y=l*l*d*d,g=f+v+y,_=Math.sqrt(1/g),w=o.multiplyByScalar(e,_,m);if(gn.EPSILON12);return r(t)?(t.x=a*D,t.y=s*P,t.z=l*M,t):new o(a*D,s*P,l*M)},s.prototype.scaleToGeocentricSurface=function(e,t){if(!r(e))throw new i("cartesian is required.");var n=e.x,a=e.y,s=e.z,l=this._oneOverRadiiSquared,u=1/Math.sqrt(n*n*l.x+a*a*l.y+s*s*l.z);return o.multiplyByScalar(e,u,t)},s.prototype.transformPositionToScaledSpace=function(e,t){return o.multiplyComponents(e,this._oneOverRadii,t)},s.prototype.transformPositionFromScaledSpace=function(e,t){return o.multiplyComponents(e,this._radii,t)},s.prototype.equals=function(e){return this===e||r(e)&&o.equals(this._radii,e._radii)},s.prototype.toString=function(){return this._radii.toString()},s}),r("Core/GeographicProjection",["./defaultValue","./defined","./Cartesian3","./Cartographic","./Ellipsoid"],function(e,t,r,i,n){"use strict";var o=function(t){this._ellipsoid=e(t,n.WGS84),this._semimajorAxis=this._ellipsoid.getMaximumRadius(),this._oneOverSemimajorAxis=1/this._semimajorAxis};return o.prototype.getEllipsoid=function(){return this._ellipsoid},o.prototype.project=function(e,i){var n=this._semimajorAxis,o=e.longitude*n,a=e.latitude*n,s=e.height;return t(i)?(i.x=o,i.y=a,i.z=s,i):new r(o,a,s)},o.prototype.unproject=function(e,r){var n=this._oneOverSemimajorAxis,o=e.x*n,a=e.y*n,s=e.z;return t(r)?(r.longitude=o,r.latitude=a,r.height=s,r):new i(o,a,s)},o}),r("Core/BoundingRectangle",["./defaultValue","./defined","./DeveloperError","./Cartesian2","./Cartographic","./GeographicProjection","./Intersect"],function(e,t,r,i,n,o,a){"use strict";var s=function(t,r,i,n){this.x=e(t,0),this.y=e(r,0),this.width=e(i,0),this.height=e(n,0)};s.fromPoints=function(e,r){if(t(r)||(r=new s),!t(e)||0===e.length)return r.x=0,r.y=0,r.width=0,r.height=0,r;for(var i=e.length,n=e[0].x,o=e[0].y,a=e[0].x,l=e[0].y,u=1;i>u;u++){var c=e[u],h=c.x,d=c.y;n=Math.min(h,n),a=Math.max(h,a),o=Math.min(d,o),l=Math.max(d,l)}return r.x=n,r.y=o,r.width=a-n,r.height=l-o,r};var l=new o,u=new n,c=new n;return s.fromExtent=function(r,n,o){if(t(o)||(o=new s),!t(r))return o.x=0,o.y=0,o.width=0,o.height=0,o;n=e(n,l);var a=n.project(r.getSouthwest(u)),h=n.project(r.getNortheast(c));return i.subtract(h,a,h),o.x=a.x,o.y=a.y,o.width=h.x,o.height=h.y,o},s.clone=function(e,r){return t(e)?t(r)?(r.x=e.x,r.y=e.y,r.width=e.width,r.height=e.height,r):new s(e.x,e.y,e.width,e.height):void 0},s.union=function(e,i,n){if(!t(e))throw new r("left is required.");if(!t(i))throw new r("right is required.");t(n)||(n=new s);var o=Math.min(e.x,i.x),a=Math.min(e.y,i.y),l=Math.max(e.x+e.width,i.x+i.width),u=Math.max(e.y+e.height,i.y+i.height);return n.x=o,n.y=a,n.width=l-o,n.height=u-a,n},s.expand=function(e,i,n){if(!t(e))throw new r("rectangle is required.");if(!t(i))throw new r("point is required.");n=s.clone(e,n);var o=i.x-n.x,a=i.y-n.y;return o>n.width?n.width=o:0>o&&(n.width-=o,n.x=i.x),a>n.height?n.height=a:0>a&&(n.height-=a,n.y=i.y),n},s.intersect=function(e,i){if(!t(e))throw new r("left is required.");if(!t(i))throw new r("right is required.");var n=e.x,o=e.y,s=i.x,l=i.y;return n>s+i.width||n+e.widthl+i.height?a.OUTSIDE:a.INTERSECTING},s.equals=function(e,r){return e===r||t(e)&&t(r)&&e.x===r.x&&e.y===r.y&&e.width===r.width&&e.height===r.height},s.prototype.clone=function(e){return s.clone(this,e)},s.prototype.union=function(e,t){return s.union(this,e,t)},s.prototype.expand=function(e,t){return s.expand(this,e,t)},s.prototype.intersect=function(e){return s.intersect(this,e)},s.prototype.equals=function(e){return s.equals(this,e)},s}),r("Core/Cartesian4",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,t,r,i){"use strict";var n=function(t,r,i,n){this.x=e(t,0),this.y=e(r,0),this.z=e(i,0),this.w=e(n,0)};n.fromElements=function(e,r,i,o,a){return t(a)?(a.x=e,a.y=r,a.z=i,a.w=o,a):new n(e,r,i,o)},n.clone=function(e,r){return t(e)?t(r)?(r.x=e.x,r.y=e.y,r.z=e.z,r.w=e.w,r):new n(e.x,e.y,e.z,e.w):void 0},n.packedLength=4,n.pack=function(t,r,i){i=e(i,0),r[i++]=t.x,r[i++]=t.y,r[i++]=t.z,r[i]=t.w},n.unpack=function(r,i,o){return i=e(i,0),t(o)||(o=new n),o.x=r[i++],o.y=r[i++],o.z=r[i++],o.w=r[i],o},n.fromArray=n.unpack,n.getMaximumComponent=function(e){return Math.max(e.x,e.y,e.z,e.w)},n.getMinimumComponent=function(e){return Math.min(e.x,e.y,e.z,e.w)},n.getMinimumByComponent=function(e,r,i){return t(i)||(i=new n),i.x=Math.min(e.x,r.x),i.y=Math.min(e.y,r.y),i.z=Math.min(e.z,r.z),i.w=Math.min(e.w,r.w),i},n.getMaximumByComponent=function(e,r,i){return t(i)||(i=new n),i.x=Math.max(e.x,r.x),i.y=Math.max(e.y,r.y),i.z=Math.max(e.z,r.z),i.w=Math.max(e.w,r.w),i},n.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w},n.magnitude=function(e){return Math.sqrt(n.magnitudeSquared(e))};var o=new n;n.distance=function(e,t){return n.subtract(e,t,o),n.magnitude(o)},n.normalize=function(e,r){var i=n.magnitude(e);return t(r)?(r.x=e.x/i,r.y=e.y/i,r.z=e.z/i,r.w=e.w/i,r):new n(e.x/i,e.y/i,e.z/i,e.w/i)},n.dot=function(e,t){return e.x*t.x+e.y*t.y+e.z*t.z+e.w*t.w},n.multiplyComponents=function(e,r,i){return t(i)?(i.x=e.x*r.x,i.y=e.y*r.y,i.z=e.z*r.z,i.w=e.w*r.w,i):new n(e.x*r.x,e.y*r.y,e.z*r.z,e.w*r.w)},n.add=function(e,r,i){return t(i)?(i.x=e.x+r.x,i.y=e.y+r.y,i.z=e.z+r.z,i.w=e.w+r.w,i):new n(e.x+r.x,e.y+r.y,e.z+r.z,e.w+r.w)},n.subtract=function(e,r,i){return t(i)?(i.x=e.x-r.x,i.y=e.y-r.y,i.z=e.z-r.z,i.w=e.w-r.w,i):new n(e.x-r.x,e.y-r.y,e.z-r.z,e.w-r.w)},n.multiplyByScalar=function(e,r,i){return t(i)?(i.x=e.x*r,i.y=e.y*r,i.z=e.z*r,i.w=e.w*r,i):new n(e.x*r,e.y*r,e.z*r,e.w*r)},n.divideByScalar=function(e,r,i){return t(i)?(i.x=e.x/r,i.y=e.y/r,i.z=e.z/r,i.w=e.w/r,i):new n(e.x/r,e.y/r,e.z/r,e.w/r)},n.negate=function(e,r){return t(r)?(r.x=-e.x,r.y=-e.y,r.z=-e.z,r.w=-e.w,r):new n(-e.x,-e.y,-e.z,-e.w)},n.abs=function(e,r){return t(r)?(r.x=Math.abs(e.x),r.y=Math.abs(e.y),r.z=Math.abs(e.z),r.w=Math.abs(e.w),r):new n(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z),Math.abs(e.w))};var a=new n;n.lerp=function(e,t,r,i){return n.multiplyByScalar(t,r,a),i=n.multiplyByScalar(e,1-r,i),n.add(a,i,i)};var s=new n;return n.mostOrthogonalAxis=function(e,t){var r=n.normalize(e,s);return n.abs(r,r),t=r.x<=r.y?r.x<=r.z?r.x<=r.w?n.clone(n.UNIT_X,t):n.clone(n.UNIT_W,t):r.z<=r.w?n.clone(n.UNIT_Z,t):n.clone(n.UNIT_W,t):r.y<=r.z?r.y<=r.w?n.clone(n.UNIT_Y,t):n.clone(n.UNIT_W,t):r.z<=r.w?n.clone(n.UNIT_Z,t):n.clone(n.UNIT_W,t)},n.equals=function(e,r){return e===r||t(e)&&t(r)&&e.x===r.x&&e.y===r.y&&e.z===r.z&&e.w===r.w},n.equalsEpsilon=function(e,r,i){return e===r||t(e)&&t(r)&&Math.abs(e.x-r.x)<=i&&Math.abs(e.y-r.y)<=i&&Math.abs(e.z-r.z)<=i&&Math.abs(e.w-r.w)<=i},n.ZERO=i(new n(0,0,0,0)),n.UNIT_X=i(new n(1,0,0,0)),n.UNIT_Y=i(new n(0,1,0,0)),n.UNIT_Z=i(new n(0,0,1,0)),n.UNIT_W=i(new n(0,0,0,1)),n.prototype.clone=function(e){return n.clone(this,e)},n.prototype.equals=function(e){return n.equals(this,e)},n.prototype.equalsEpsilon=function(e,t){return n.equalsEpsilon(this,e,t)},n.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+", "+this.w+")"},n}),r("Core/Interval",["./defaultValue"],function(e){"use strict";var t=function(t,r){this.start=e(t,0),this.stop=e(r,0)};return t}),r("Core/Matrix3",["./Cartesian3","./defaultValue","./defined","./DeveloperError","./freezeObject","./Math"],function(e,t,r,i,n,o){"use strict";function a(e){for(var t=0,r=0;9>r;++r){var i=e[r];t+=i*i}return Math.sqrt(t)}function s(e){for(var t=0,r=0;3>r;++r){var i=e[u.getElementIndex(h[r],c[r])];t+=2*i*i}return Math.sqrt(t)}function l(e,t){for(var r=o.EPSILON15,i=0,n=1,a=0;3>a;++a){var s=Math.abs(e[u.getElementIndex(h[a],c[a])]);s>i&&(n=a,i=s)}var l=1,d=0,m=c[n],p=h[n];if(Math.abs(e[u.getElementIndex(p,m)])>r){var f,v=e[u.getElementIndex(p,p)],y=e[u.getElementIndex(m,m)],g=e[u.getElementIndex(p,m)],_=(v-y)/2/g;f=0>_?-1/(-_+Math.sqrt(1+_*_)):1/(_+Math.sqrt(1+_*_)),l=1/Math.sqrt(1+f*f),d=f*l}return t=u.clone(u.IDENTITY,t),t[u.getElementIndex(m,m)]=t[u.getElementIndex(p,p)]=l,t[u.getElementIndex(p,m)]=d,t[u.getElementIndex(m,p)]=-d,t}var u=function(e,r,i,n,o,a,s,l,u){this[0]=t(e,0),this[1]=t(n,0),this[2]=t(s,0),this[3]=t(r,0),this[4]=t(o,0),this[5]=t(l,0),this[6]=t(i,0),this[7]=t(a,0),this[8]=t(u,0)};u.clone=function(e,t){return r(e)?r(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t):new u(e[0],e[3],e[6],e[1],e[4],e[7],e[2],e[5],e[8]):void 0},u.fromArray=function(e,i,n){return i=t(i,0),r(n)||(n=new u),n[0]=e[i],n[1]=e[i+1],n[2]=e[i+2],n[3]=e[i+3],n[4]=e[i+4],n[5]=e[i+5],n[6]=e[i+6],n[7]=e[i+7],n[8]=e[i+8],n[9]=e[i+9],n},u.fromColumnMajorArray=function(e,t){return u.clone(e,t)},u.fromRowMajorArray=function(e,t){return r(t)?(t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8],t):new u(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])},u.fromQuaternion=function(e,t){var i=e.x*e.x,n=e.x*e.y,o=e.x*e.z,a=e.x*e.w,s=e.y*e.y,l=e.y*e.z,c=e.y*e.w,h=e.z*e.z,d=e.z*e.w,m=e.w*e.w,p=i-s-h+m,f=2*(n-d),v=2*(o+c),y=2*(n+d),g=-i+s-h+m,_=2*(l-a),w=2*(o-c),C=2*(l+a),x=-i-s+h+m;return r(t)?(t[0]=p,t[1]=y,t[2]=w,t[3]=f,t[4]=g,t[5]=C,t[6]=v,t[7]=_,t[8]=x,t):new u(p,f,v,y,g,_,w,C,x)},u.fromScale=function(e,t){return r(t)?(t[0]=e.x,t[1]=0,t[2]=0,t[3]=0,t[4]=e.y,t[5]=0,t[6]=0,t[7]=0,t[8]=e.z,t):new u(e.x,0,0,0,e.y,0,0,0,e.z)},u.fromUniformScale=function(e,t){return r(t)?(t[0]=e,t[1]=0,t[2]=0,t[3]=0,t[4]=e,t[5]=0,t[6]=0,t[7]=0,t[8]=e,t):new u(e,0,0,0,e,0,0,0,e)},u.fromRotationX=function(e,t){var i=Math.cos(e),n=Math.sin(e);return r(t)?(t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=i,t[5]=n,t[6]=0,t[7]=-n,t[8]=i,t):new u(1,0,0,0,i,-n,0,n,i)},u.fromRotationY=function(e,t){var i=Math.cos(e),n=Math.sin(e);return r(t)?(t[0]=i,t[1]=0,t[2]=-n,t[3]=0,t[4]=1,t[5]=0,t[6]=n,t[7]=0,t[8]=i,t):new u(i,0,n,0,1,0,-n,0,i)},u.fromRotationZ=function(e,t){var i=Math.cos(e),n=Math.sin(e);return r(t)?(t[0]=i,t[1]=n,t[2]=0,t[3]=-n,t[4]=i,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t):new u(i,-n,0,n,i,0,0,0,1)},u.toArray=function(e,t){return r(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8]]},u.getElementIndex=function(e,t){return 3*e+t},u.getColumn=function(t,i,n){var o=3*i,a=t[o],s=t[o+1],l=t[o+2];return r(n)?(n.x=a,n.y=s,n.z=l,n):new e(a,s,l)},u.setColumn=function(e,t,r,i){i=u.clone(e,i);var n=3*t;return i[n]=r.x,i[n+1]=r.y,i[n+2]=r.z,i},u.getRow=function(t,i,n){var o=t[i],a=t[i+3],s=t[i+6];return r(n)?(n.x=o,n.y=a,n.z=s,n):new e(o,a,s)},u.setRow=function(e,t,r,i){return i=u.clone(e,i),i[t]=r.x,i[t+3]=r.y,i[t+6]=r.z,i},u.multiply=function(e,t,i){var n=e[0]*t[0]+e[3]*t[1]+e[6]*t[2],o=e[1]*t[0]+e[4]*t[1]+e[7]*t[2],a=e[2]*t[0]+e[5]*t[1]+e[8]*t[2],s=e[0]*t[3]+e[3]*t[4]+e[6]*t[5],l=e[1]*t[3]+e[4]*t[4]+e[7]*t[5],c=e[2]*t[3]+e[5]*t[4]+e[8]*t[5],h=e[0]*t[6]+e[3]*t[7]+e[6]*t[8],d=e[1]*t[6]+e[4]*t[7]+e[7]*t[8],m=e[2]*t[6]+e[5]*t[7]+e[8]*t[8];return r(i)?(i[0]=n,i[1]=o,i[2]=a,i[3]=s,i[4]=l,i[5]=c,i[6]=h,i[7]=d,i[8]=m,i):new u(n,s,h,o,l,d,a,c,m)},u.multiplyByVector=function(t,i,n){var o=i.x,a=i.y,s=i.z,l=t[0]*o+t[3]*a+t[6]*s,u=t[1]*o+t[4]*a+t[7]*s,c=t[2]*o+t[5]*a+t[8]*s;return r(n)?(n.x=l,n.y=u,n.z=c,n):new e(l,u,c)},u.multiplyByScalar=function(e,t,i){return r(i)?(i[0]=e[0]*t,i[1]=e[1]*t,i[2]=e[2]*t,i[3]=e[3]*t,i[4]=e[4]*t,i[5]=e[5]*t,i[6]=e[6]*t,i[7]=e[7]*t,i[8]=e[8]*t,i):new u(e[0]*t,e[3]*t,e[6]*t,e[1]*t,e[4]*t,e[7]*t,e[2]*t,e[5]*t,e[8]*t) -},u.negate=function(e,t){return r(t)?(t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t[4]=-e[4],t[5]=-e[5],t[6]=-e[6],t[7]=-e[7],t[8]=-e[8],t):new u(-e[0],-e[3],-e[6],-e[1],-e[4],-e[7],-e[2],-e[5],-e[8])},u.transpose=function(e,t){var i=e[0],n=e[3],o=e[6],a=e[1],s=e[4],l=e[7],c=e[2],h=e[5],d=e[8];return r(t)?(t[0]=i,t[1]=n,t[2]=o,t[3]=a,t[4]=s,t[5]=l,t[6]=c,t[7]=h,t[8]=d,t):new u(i,a,c,n,s,h,o,l,d)};var c=[1,0,0],h=[2,2,1],d=new u,m=new u;return u.getEigenDecomposition=function(e,t){var i=o.EPSILON20,n=10,c=0,h=0;r(t)||(t={});for(var p=t.unitary=u.clone(u.IDENTITY,t.unitary),f=t.diagonal=u.clone(e,t.diagonal),v=i*a(f);n>h&&s(f)>v;)l(f,d),u.transpose(d,m),u.multiply(f,d,f),u.multiply(m,f,f),u.multiply(p,d,p),++c>2&&(++h,c=0);return t},u.abs=function(e,t){return r(t)?(t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t[3]=Math.abs(e[3]),t[4]=Math.abs(e[4]),t[5]=Math.abs(e[5]),t[6]=Math.abs(e[6]),t[7]=Math.abs(e[7]),t[8]=Math.abs(e[8]),t):new u(Math.abs(e[0]),Math.abs(e[3]),Math.abs(e[6]),Math.abs(e[1]),Math.abs(e[4]),Math.abs(e[7]),Math.abs(e[2]),Math.abs(e[5]),Math.abs(e[8]))},u.determinant=function(e){if(!r(e))throw new i("matrix is required");var t=e[0],n=e[3],o=e[6],a=e[1],s=e[4],l=e[7],u=e[2],c=e[5],h=e[8];return t*(s*h-c*l)+a*(c*o-n*h)+u*(n*l-s*o)},u.inverse=function(e,t){if(!r(e))throw new i("matrix is required");var n=e[0],a=e[1],s=e[2],l=e[3],c=e[4],h=e[5],d=e[6],m=e[7],p=e[8],f=u.determinant(e);if(Math.abs(f)<=o.EPSILON15)throw new i("matrix is not invertible");var v=new u(c*p-m*h,d*h-l*p,l*m-d*c,m*s-a*p,n*p-d*s,d*a-n*m,a*h-c*s,l*s-n*h,n*c-l*a),y=1/f;return u.multiplyByScalar(v,y,t)},u.equals=function(e,t){return e===t||r(e)&&r(t)&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]},u.equalsEpsilon=function(e,t,i){return e===t||r(e)&&r(t)&&Math.abs(e[0]-t[0])<=i&&Math.abs(e[1]-t[1])<=i&&Math.abs(e[2]-t[2])<=i&&Math.abs(e[3]-t[3])<=i&&Math.abs(e[4]-t[4])<=i&&Math.abs(e[5]-t[5])<=i&&Math.abs(e[6]-t[6])<=i&&Math.abs(e[7]-t[7])<=i&&Math.abs(e[8]-t[8])<=i},u.IDENTITY=n(new u(1,0,0,0,1,0,0,0,1)),u.COLUMN0ROW0=0,u.COLUMN0ROW1=1,u.COLUMN0ROW2=2,u.COLUMN1ROW0=3,u.COLUMN1ROW1=4,u.COLUMN1ROW2=5,u.COLUMN2ROW0=6,u.COLUMN2ROW1=7,u.COLUMN2ROW2=8,u.prototype.clone=function(e){return u.clone(this,e)},u.prototype.equals=function(e){return u.equals(this,e)},u.prototype.equalsEpsilon=function(e,t){return u.equalsEpsilon(this,e,t)},u.prototype.toString=function(){return"("+this[0]+", "+this[3]+", "+this[6]+")\n"+"("+this[1]+", "+this[4]+", "+this[7]+")\n"+"("+this[2]+", "+this[5]+", "+this[8]+")"},u}),r("Core/RuntimeError",["./defined"],function(e){"use strict";var t=function(e){this.name="RuntimeError",this.message=e;var t=new Error;this.stack=t.stack};return t.prototype.toString=function(){var t=this.name+": "+this.message;return e(this.stack)&&(t+="\n"+this.stack.toString()),t},t}),r("Core/Matrix4",["./Cartesian3","./Cartesian4","./defaultValue","./defined","./DeveloperError","./freezeObject","./Math","./Matrix3","./RuntimeError"],function(e,t,r,i,n,o,a,s,l){"use strict";var u=function(e,t,i,n,o,a,s,l,u,c,h,d,m,p,f,v){this[0]=r(e,0),this[1]=r(o,0),this[2]=r(u,0),this[3]=r(m,0),this[4]=r(t,0),this[5]=r(a,0),this[6]=r(c,0),this[7]=r(p,0),this[8]=r(i,0),this[9]=r(s,0),this[10]=r(h,0),this[11]=r(f,0),this[12]=r(n,0),this[13]=r(l,0),this[14]=r(d,0),this[15]=r(v,0)};u.clone=function(e,t){return i(e)?i(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t):new u(e[0],e[4],e[8],e[12],e[1],e[5],e[9],e[13],e[2],e[6],e[10],e[14],e[3],e[7],e[11],e[15]):void 0},u.fromArray=function(e,t,n){return t=r(t,0),i(n)||(n=new u),n[0]=e[t],n[1]=e[t+1],n[2]=e[t+2],n[3]=e[t+3],n[4]=e[t+4],n[5]=e[t+5],n[6]=e[t+6],n[7]=e[t+7],n[8]=e[t+8],n[9]=e[t+9],n[10]=e[t+10],n[11]=e[t+11],n[12]=e[t+12],n[13]=e[t+13],n[14]=e[t+14],n[15]=e[t+15],n},u.fromColumnMajorArray=function(e,t){return u.clone(e,t)},u.fromRowMajorArray=function(e,t){return i(t)?(t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15],t):new u(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])},u.fromRotationTranslation=function(e,t,r){return i(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=0,r[4]=e[3],r[5]=e[4],r[6]=e[5],r[7]=0,r[8]=e[6],r[9]=e[7],r[10]=e[8],r[11]=0,r[12]=t.x,r[13]=t.y,r[14]=t.z,r[15]=1,r):new u(e[0],e[3],e[6],t.x,e[1],e[4],e[7],t.y,e[2],e[5],e[8],t.z,0,0,0,1)},new s,u.fromTranslationQuaternionRotationScale=function(e,t,r,n){i(n)||(n=new u);var o=r.x,a=r.y,s=r.z,l=t.x*t.x,c=t.x*t.y,h=t.x*t.z,d=t.x*t.w,m=t.y*t.y,p=t.y*t.z,f=t.y*t.w,v=t.z*t.z,y=t.z*t.w,g=t.w*t.w,_=l-m-v+g,w=2*(c-y),C=2*(h+f),x=2*(c+y),S=-l+m-v+g,E=2*(p-d),b=2*(h-f),T=2*(p+d),A=-l-m+v+g;return n[0]=_*o,n[1]=x*o,n[2]=b*o,n[3]=0,n[4]=w*a,n[5]=S*a,n[6]=T*a,n[7]=0,n[8]=C*s,n[9]=E*s,n[10]=A*s,n[11]=0,n[12]=e.x,n[13]=e.y,n[14]=e.z,n[15]=1,n},u.fromTranslation=function(e,t){return u.fromRotationTranslation(s.IDENTITY,e,t)},u.fromScale=function(e,t){return i(t)?(t[0]=e.x,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e.y,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e.z,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t):new u(e.x,0,0,0,0,e.y,0,0,0,0,e.z,0,0,0,0,1)},u.fromUniformScale=function(e,t){return i(t)?(t[0]=e,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t):new u(e,0,0,0,0,e,0,0,0,0,e,0,0,0,0,1)};var c=new e,h=new e,d=new e;u.fromCamera=function(t,r){var n=t.eye,o=t.target,a=t.up;e.normalize(e.subtract(o,n,c),c),e.normalize(e.cross(c,a,h),h),e.normalize(e.cross(h,c,d),d);var s=h.x,l=h.y,m=h.z,p=c.x,f=c.y,v=c.z,y=d.x,g=d.y,_=d.z,w=n.x,C=n.y,x=n.z,S=s*-w+l*-C+m*-x,E=y*-w+g*-C+_*-x,b=p*w+f*C+v*x;return i(r)?(r[0]=s,r[1]=y,r[2]=-p,r[3]=0,r[4]=l,r[5]=g,r[6]=-f,r[7]=0,r[8]=m,r[9]=_,r[10]=-v,r[11]=0,r[12]=S,r[13]=E,r[14]=b,r[15]=1,r):new u(s,l,m,S,y,g,_,E,-p,-f,-v,b,0,0,0,1)},u.computePerspectiveFieldOfView=function(e,t,r,n,o){var a=Math.tan(.5*e),s=1/a,l=s/t,c=(n+r)/(r-n),h=2*n*r/(r-n);return i(o)?(o[0]=l,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=s,o[6]=0,o[7]=0,o[8]=0,o[9]=0,o[10]=c,o[11]=-1,o[12]=0,o[13]=0,o[14]=h,o[15]=0,o):new u(l,0,0,0,0,s,0,0,0,0,c,h,0,0,-1,0)},u.computeOrthographicOffCenter=function(e,t,r,n,o,a,s){var l=1/(t-e),c=1/(n-r),h=1/(a-o),d=-(t+e)*l,m=-(n+r)*c,p=-(a+o)*h;return l*=2,c*=2,h*=-2,i(s)?(s[0]=l,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=c,s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=h,s[11]=0,s[12]=d,s[13]=m,s[14]=p,s[15]=1,s):new u(l,0,0,d,0,c,0,m,0,0,h,p,0,0,0,1)},u.computePerspectiveOffCenter=function(e,t,r,n,o,a,s){var l=2*o/(t-e),c=2*o/(n-r),h=(t+e)/(t-e),d=(n+r)/(n-r),m=-(a+o)/(a-o),p=-1,f=-2*a*o/(a-o);return i(s)?(s[0]=l,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=c,s[6]=0,s[7]=0,s[8]=h,s[9]=d,s[10]=m,s[11]=p,s[12]=0,s[13]=0,s[14]=f,s[15]=0,s):new u(l,0,h,0,0,c,d,0,0,0,m,f,0,0,p,0)},u.computeInfinitePerspectiveOffCenter=function(e,t,r,n,o,a){var s=2*o/(t-e),l=2*o/(n-r),c=(t+e)/(t-e),h=(n+r)/(n-r),d=-1,m=-1,p=-2*o;return i(a)?(a[0]=s,a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=l,a[6]=0,a[7]=0,a[8]=c,a[9]=h,a[10]=d,a[11]=m,a[12]=0,a[13]=0,a[14]=p,a[15]=0,a):new u(s,0,c,0,0,l,h,0,0,0,d,p,0,0,m,0)},u.computeViewportTransformation=function(e,t,n,o){e=r(e,r.EMPTY_OBJECT);var a=r(e.x,0),s=r(e.y,0),l=r(e.width,0),c=r(e.height,0);t=r(t,0),n=r(n,1);var h=.5*l,d=.5*c,m=.5*(n-t),p=h,f=d,v=m,y=a+h,g=s+d,_=t+m,w=1;return i(o)?(o[0]=p,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=f,o[6]=0,o[7]=0,o[8]=0,o[9]=0,o[10]=v,o[11]=0,o[12]=y,o[13]=g,o[14]=_,o[15]=w,o):new u(p,0,0,y,0,f,0,g,0,0,v,_,0,0,0,w)},u.toArray=function(e,t){return i(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]]},u.getElementIndex=function(e,t){return 4*e+t},u.getColumn=function(e,r,n){var o=4*r,a=e[o],s=e[o+1],l=e[o+2],u=e[o+3];return i(n)?(n.x=a,n.y=s,n.z=l,n.w=u,n):new t(a,s,l,u)},u.setColumn=function(e,t,r,i){i=u.clone(e,i);var n=4*t;return i[n]=r.x,i[n+1]=r.y,i[n+2]=r.z,i[n+3]=r.w,i},u.getRow=function(e,r,n){var o=e[r],a=e[r+4],s=e[r+8],l=e[r+12];return i(n)?(n.x=o,n.y=a,n.z=s,n.w=l,n):new t(o,a,s,l)},u.setRow=function(e,t,r,i){return i=u.clone(e,i),i[t]=r.x,i[t+4]=r.y,i[t+8]=r.z,i[t+12]=r.w,i},u.multiply=function(e,t,r){var n=e[0],o=e[1],a=e[2],s=e[3],l=e[4],c=e[5],h=e[6],d=e[7],m=e[8],p=e[9],f=e[10],v=e[11],y=e[12],g=e[13],_=e[14],w=e[15],C=t[0],x=t[1],S=t[2],E=t[3],b=t[4],T=t[5],A=t[6],D=t[7],P=t[8],M=t[9],I=t[10],O=t[11],R=t[12],L=t[13],z=t[14],N=t[15],B=n*C+l*x+m*S+y*E,F=o*C+c*x+p*S+g*E,V=a*C+h*x+f*S+_*E,k=s*C+d*x+v*S+w*E,U=n*b+l*T+m*A+y*D,W=o*b+c*T+p*A+g*D,q=a*b+h*T+f*A+_*D,G=s*b+d*T+v*A+w*D,H=n*P+l*M+m*I+y*O,j=o*P+c*M+p*I+g*O,Y=a*P+h*M+f*I+_*O,X=s*P+d*M+v*I+w*O,Z=n*R+l*L+m*z+y*N,J=o*R+c*L+p*z+g*N,K=a*R+h*L+f*z+_*N,Q=s*R+d*L+v*z+w*N;return i(r)?(r[0]=B,r[1]=F,r[2]=V,r[3]=k,r[4]=U,r[5]=W,r[6]=q,r[7]=G,r[8]=H,r[9]=j,r[10]=Y,r[11]=X,r[12]=Z,r[13]=J,r[14]=K,r[15]=Q,r):new u(B,U,H,Z,F,W,j,J,V,q,Y,K,k,G,X,Q)},u.multiplyTransformation=function(e,t,r){var n=e[0],o=e[1],a=e[2],s=e[4],l=e[5],c=e[6],h=e[8],d=e[9],m=e[10],p=e[12],f=e[13],v=e[14],y=t[0],g=t[1],_=t[2],w=t[4],C=t[5],x=t[6],S=t[8],E=t[9],b=t[10],T=t[12],A=t[13],D=t[14],P=n*y+s*g+h*_,M=o*y+l*g+d*_,I=a*y+c*g+m*_,O=n*w+s*C+h*x,R=o*w+l*C+d*x,L=a*w+c*C+m*x,z=n*S+s*E+h*b,N=o*S+l*E+d*b,B=a*S+c*E+m*b,F=n*T+s*A+h*D+p,V=o*T+l*A+d*D+f,k=a*T+c*A+m*D+v;return i(r)?(r[0]=P,r[1]=M,r[2]=I,r[3]=0,r[4]=O,r[5]=R,r[6]=L,r[7]=0,r[8]=z,r[9]=N,r[10]=B,r[11]=0,r[12]=F,r[13]=V,r[14]=k,r[15]=1,r):new u(P,O,z,F,M,R,N,V,I,L,B,k,0,0,0,1)},u.multiplyByTranslation=function(e,t,r){var n=t.x,o=t.y,a=t.z,s=n*e[0]+o*e[4]+a*e[8]+e[12],l=n*e[1]+o*e[5]+a*e[9]+e[13],c=n*e[2]+o*e[6]+a*e[10]+e[14];return i(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r[9]=e[9],r[10]=e[10],r[11]=e[11],r[12]=s,r[13]=l,r[14]=c,r[15]=e[15],r):new u(e[0],e[4],e[8],s,e[1],e[5],e[9],l,e[2],e[6],e[10],c,e[3],e[7],e[11],e[15])};var m=new e;return u.multiplyByUniformScale=function(e,t,r){return m.x=t,m.y=t,m.z=t,u.multiplyByScale(e,m,r)},u.multiplyByScale=function(e,t,r){var n=t.x,o=t.y,a=t.z;return 1===n&&1===o&&1===a?u.clone(e,r):i(r)?(r[0]=n*e[0],r[1]=n*e[1],r[2]=n*e[2],r[3]=0,r[4]=o*e[4],r[5]=o*e[5],r[6]=o*e[6],r[7]=0,r[8]=a*e[8],r[9]=a*e[9],r[10]=a*e[10],r[11]=0,r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=1,r):new u(n*e[0],o*e[4],a*e[8],e[12],n*e[1],o*e[5],a*e[9],e[13],n*e[2],o*e[6],a*e[10],e[14],0,0,0,1)},u.multiplyByVector=function(e,r,n){var o=r.x,a=r.y,s=r.z,l=r.w,u=e[0]*o+e[4]*a+e[8]*s+e[12]*l,c=e[1]*o+e[5]*a+e[9]*s+e[13]*l,h=e[2]*o+e[6]*a+e[10]*s+e[14]*l,d=e[3]*o+e[7]*a+e[11]*s+e[15]*l;return i(n)?(n.x=u,n.y=c,n.z=h,n.w=d,n):new t(u,c,h,d)},u.multiplyByPointAsVector=function(t,r,n){var o=r.x,a=r.y,s=r.z,l=t[0]*o+t[4]*a+t[8]*s,u=t[1]*o+t[5]*a+t[9]*s,c=t[2]*o+t[6]*a+t[10]*s;return i(n)?(n.x=l,n.y=u,n.z=c,n):new e(l,u,c)},u.multiplyByPoint=function(t,r,n){var o=r.x,a=r.y,s=r.z,l=t[0]*o+t[4]*a+t[8]*s+t[12],u=t[1]*o+t[5]*a+t[9]*s+t[13],c=t[2]*o+t[6]*a+t[10]*s+t[14];return i(n)?(n.x=l,n.y=u,n.z=c,n):new e(l,u,c)},u.multiplyByScalar=function(e,t,r){return i(r)?(r[0]=e[0]*t,r[1]=e[1]*t,r[2]=e[2]*t,r[3]=e[3]*t,r[4]=e[4]*t,r[5]=e[5]*t,r[6]=e[6]*t,r[7]=e[7]*t,r[8]=e[8]*t,r[9]=e[9]*t,r[10]=e[10]*t,r[11]=e[11]*t,r[12]=e[12]*t,r[13]=e[13]*t,r[14]=e[14]*t,r[15]=e[15]*t,r):new u(e[0]*t,e[4]*t,e[8]*t,e[12]*t,e[1]*t,e[5]*t,e[9]*t,e[13]*t,e[2]*t,e[6]*t,e[10]*t,e[14]*t,e[3]*t,e[7]*t,e[11]*t,e[15]*t)},u.negate=function(e,t){return i(t)?(t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t[4]=-e[4],t[5]=-e[5],t[6]=-e[6],t[7]=-e[7],t[8]=-e[8],t[9]=-e[9],t[10]=-e[10],t[11]=-e[11],t[12]=-e[12],t[13]=-e[13],t[14]=-e[14],t[15]=-e[15],t):new u(-e[0],-e[4],-e[8],-e[12],-e[1],-e[5],-e[9],-e[13],-e[2],-e[6],-e[10],-e[14],-e[3],-e[7],-e[11],-e[15])},u.transpose=function(e,t){if(!i(t))return new u(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]);var r=e[1],n=e[2],o=e[3],a=e[6],s=e[7],l=e[11];return t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=r,t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=n,t[9]=a,t[10]=e[10],t[11]=e[14],t[12]=o,t[13]=s,t[14]=l,t[15]=e[15],t},u.abs=function(e,t){return i(t)?(t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t[3]=Math.abs(e[3]),t[4]=Math.abs(e[4]),t[5]=Math.abs(e[5]),t[6]=Math.abs(e[6]),t[7]=Math.abs(e[7]),t[8]=Math.abs(e[8]),t[9]=Math.abs(e[9]),t[10]=Math.abs(e[10]),t[11]=Math.abs(e[11]),t[12]=Math.abs(e[12]),t[13]=Math.abs(e[13]),t[14]=Math.abs(e[14]),t[15]=Math.abs(e[15]),t):new u(Math.abs(e[0]),Math.abs(e[4]),Math.abs(e[8]),Math.abs(e[12]),Math.abs(e[1]),Math.abs(e[5]),Math.abs(e[9]),Math.abs(e[13]),Math.abs(e[2]),Math.abs(e[6]),Math.abs(e[10]),Math.abs(e[14]),Math.abs(e[3]),Math.abs(e[7]),Math.abs(e[11]),Math.abs(e[15]))},u.equals=function(e,t){return e===t||i(e)&&i(t)&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15]},u.equalsEpsilon=function(e,t,r){return e===t||i(e)&&i(t)&&Math.abs(e[0]-t[0])<=r&&Math.abs(e[1]-t[1])<=r&&Math.abs(e[2]-t[2])<=r&&Math.abs(e[3]-t[3])<=r&&Math.abs(e[4]-t[4])<=r&&Math.abs(e[5]-t[5])<=r&&Math.abs(e[6]-t[6])<=r&&Math.abs(e[7]-t[7])<=r&&Math.abs(e[8]-t[8])<=r&&Math.abs(e[9]-t[9])<=r&&Math.abs(e[10]-t[10])<=r&&Math.abs(e[11]-t[11])<=r&&Math.abs(e[12]-t[12])<=r&&Math.abs(e[13]-t[13])<=r&&Math.abs(e[14]-t[14])<=r&&Math.abs(e[15]-t[15])<=r},u.getTranslation=function(t,r){return i(r)?(r.x=t[12],r.y=t[13],r.z=t[14],r):new e(t[12],t[13],t[14])},u.getRotation=function(e,t){return i(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[4],t[4]=e[5],t[5]=e[6],t[6]=e[8],t[7]=e[9],t[8]=e[10],t):new s(e[0],e[4],e[8],e[1],e[5],e[9],e[2],e[6],e[10])},u.inverse=function(e,t){var r=e[0],n=e[4],o=e[8],s=e[12],c=e[1],h=e[5],d=e[9],m=e[13],p=e[2],f=e[6],v=e[10],y=e[14],g=e[3],_=e[7],w=e[11],C=e[15],x=v*C,S=y*w,E=f*C,b=y*_,T=f*w,A=v*_,D=p*C,P=y*g,M=p*w,I=v*g,O=p*_,R=f*g,L=x*h+b*d+T*m-(S*h+E*d+A*m),z=S*c+D*d+I*m-(x*c+P*d+M*m),N=E*c+P*h+O*m-(b*c+D*h+R*m),B=A*c+M*h+R*d-(T*c+I*h+O*d),F=S*n+E*o+A*s-(x*n+b*o+T*s),V=x*r+P*o+M*s-(S*r+D*o+I*s),k=b*r+D*n+R*s-(E*r+P*n+O*s),U=T*r+I*n+O*o-(A*r+M*n+R*o);x=o*m,S=s*d,E=n*m,b=s*h,T=n*d,A=o*h,D=r*m,P=s*c,M=r*d,I=o*c,O=r*h,R=n*c;var W=x*_+b*w+T*C-(S*_+E*w+A*C),q=S*g+D*w+I*C-(x*g+P*w+M*C),G=E*g+P*_+O*C-(b*g+D*_+R*C),H=A*g+M*_+R*w-(T*g+I*_+O*w),j=E*v+A*y+S*f-(T*y+x*f+b*v),Y=M*y+x*p+P*v-(D*v+I*y+S*p),X=D*f+R*y+b*p-(O*y+E*p+P*f),Z=O*v+T*p+I*f-(M*f+R*v+A*p),J=r*L+n*z+o*N+s*B;if(Math.abs(J)b;b++){i.clone(e[b],n);var T=n.x,A=n.y,D=n.z;Tl.x&&i.clone(n,l),Au.y&&i.clone(n,u),Dc.z&&i.clone(n,c)}var P=i.magnitudeSquared(i.subtract(l,o,_)),M=i.magnitudeSquared(i.subtract(u,a,_)),I=i.magnitudeSquared(i.subtract(c,s,_)),O=o,R=l,L=P;M>L&&(L=M,O=a,R=u),I>L&&(L=I,O=s,R=c);var z=w;z.x=.5*(O.x+R.x),z.y=.5*(O.y+R.y),z.z=.5*(O.z+R.z);var N=i.magnitudeSquared(i.subtract(R,z,_)),B=Math.sqrt(N),F=C;F.x=o.x,F.y=a.y,F.z=s.z;var V=x;V.x=l.x,V.y=u.y,V.z=c.z;var k=i.multiplyByScalar(i.add(F,V,_),.5,S),U=0;for(b=0;E>b;b++){i.clone(e[b],n);var W=i.magnitude(i.subtract(n,k,_));W>U&&(U=W);var q=i.magnitudeSquared(i.subtract(n,z,_));if(q>N){var G=Math.sqrt(q);B=.5*(B+G),N=B*B;var H=G-B;z.x=(B*z.x+H*n.x)/G,z.y=(B*z.y+H*n.y)/G,z.z=(B*z.z+H*n.z)/G}}return U>B?(i.clone(z,r.center),r.radius=B):(i.clone(k,r.center),r.radius=U),r};var E=new s,b=new i,T=new i,A=new o,D=new o;h.fromExtent2D=function(e,t,r){return h.fromExtentWithHeights2D(e,t,0,0,r)},h.fromExtentWithHeights2D=function(r,n,o,a,s){if(t(s)||(s=new h),!t(r))return s.center=i.clone(i.ZERO,s.center),s.radius=0,s;n=e(n,E),r.getSouthwest(A),A.height=o,r.getNortheast(D),D.height=a;var l=n.project(A,b),u=n.project(D,T),c=u.x-l.x,d=u.y-l.y,m=u.z-l.z;s.radius=.5*Math.sqrt(c*c+d*d+m*m);var p=s.center;return p.x=l.x+.5*c,p.y=l.y+.5*d,p.z=l.z+.5*m,s};var P=[];h.fromExtent3D=function(r,i,n,o){i=e(i,a.WGS84),n=e(n,0);var s;return t(r)&&(s=r.subsample(i,n,P)),h.fromPoints(s,o)},h.fromVertices=function(r,n,o,a){if(t(a)||(a=new h),!t(r)||0===r.length)return a.center=i.clone(i.ZERO,a.center),a.radius=0,a;n=e(n,i.ZERO),o=e(o,3);var s=g;s.x=r[0]+n.x,s.y=r[1]+n.y,s.z=r[2]+n.z;for(var l=i.clone(s,d),u=i.clone(s,m),c=i.clone(s,p),E=i.clone(s,f),b=i.clone(s,v),T=i.clone(s,y),A=r.length,D=0;A>D;D+=o){var P=r[D]+n.x,M=r[D+1]+n.y,I=r[D+2]+n.z;s.x=P,s.y=M,s.z=I,PE.x&&i.clone(s,E),Mb.y&&i.clone(s,b),IT.z&&i.clone(s,T)}var O=i.magnitudeSquared(i.subtract(E,l,_)),R=i.magnitudeSquared(i.subtract(b,u,_)),L=i.magnitudeSquared(i.subtract(T,c,_)),z=l,N=E,B=O;R>B&&(B=R,z=u,N=b),L>B&&(B=L,z=c,N=T);var F=w;F.x=.5*(z.x+N.x),F.y=.5*(z.y+N.y),F.z=.5*(z.z+N.z);var V=i.magnitudeSquared(i.subtract(N,F,_)),k=Math.sqrt(V),U=C;U.x=l.x,U.y=u.y,U.z=c.z;var W=x;W.x=E.x,W.y=b.y,W.z=T.z;var q=i.multiplyByScalar(i.add(U,W,_),.5,S),G=0;for(D=0;A>D;D+=o){s.x=r[D]+n.x,s.y=r[D+1]+n.y,s.z=r[D+2]+n.z;var H=i.magnitude(i.subtract(s,q,_));H>G&&(G=H);var j=i.magnitudeSquared(i.subtract(s,F,_));if(j>V){var Y=Math.sqrt(j);k=.5*(k+Y),V=k*k;var X=Y-k;F.x=(k*F.x+X*s.x)/Y,F.y=(k*F.y+X*s.y)/Y,F.z=(k*F.z+X*s.z)/Y}}return G>k?(i.clone(F,a.center),a.radius=k):(i.clone(q,a.center),a.radius=G),a},h.fromCornerPoints=function(e,r,n){t(n)||(n=new h);var o=n.center;return i.add(e,r,o),i.multiplyByScalar(o,.5,o),n.radius=i.distance(o,r),n},h.fromEllipsoid=function(e,r){return t(r)||(r=new h),i.clone(i.ZERO,r.center),r.radius=e.getMaximumRadius(),r},h.clone=function(e,r){return t(e)?t(r)?(r.center=i.clone(e.center,r.center),r.radius=e.radius,r):new h(e.center,e.radius):void 0};var M=new i,I=new i;h.union=function(e,r,n){t(n)||(n=new h);var o=e.center,a=r.center;i.add(o,a,I);var s=i.multiplyByScalar(I,.5,I),l=i.magnitude(i.subtract(o,s,M))+e.radius,u=i.magnitude(i.subtract(a,s,M))+r.radius;return n.radius=Math.max(l,u),i.clone(s,n.center),n};var O=new i;h.expand=function(e,t,r){r=h.clone(e,r);var n=i.magnitude(i.subtract(t,r.center,O));return n>r.radius&&(r.radius=n),r},h.intersect=function(e,t){var r=e.center,n=e.radius,o=i.dot(t,r)+t.w;return-n>o?l.OUTSIDE:n>o?l.INTERSECTING:l.INSIDE};var R=new i;h.transform=function(e,r,n){return t(n)||(n=new h),n.center=c.multiplyByPoint(r,e.center,n.center),n.radius=Math.max(i.magnitude(c.getColumn(r,0,R)),i.magnitude(c.getColumn(r,1,R)),i.magnitude(c.getColumn(r,2,R)))*e.radius,n},h.transformWithoutScale=function(e,r,i){return t(i)||(i=new h),i.center=c.multiplyByPoint(r,e.center,i.center),i.radius=e.radius,i};var L=new i;h.getPlaneDistances=function(e,r,n,o){t(o)||(o=new u);var a=i.subtract(e.center,r,L),s=i.multiplyByScalar(n,i.dot(n,a),L),l=i.magnitude(s);return o.start=l-e.radius,o.stop=l+e.radius,o};for(var z=new i,N=new i,B=new i,F=new i,V=new i,k=new o,U=new Array(8),W=0;8>W;++W)U[W]=new i;var q=new s;return h.projectTo2D=function(t,r,n){r=e(r,q);var o=r.getEllipsoid(),a=t.center,s=t.radius,l=o.geodeticSurfaceNormal(a,z),u=i.cross(i.UNIT_Z,l,N);i.normalize(u,u);var c=i.cross(l,u,B);i.normalize(c,c),i.multiplyByScalar(l,s,l),i.multiplyByScalar(c,s,c),i.multiplyByScalar(u,s,u);var d=i.negate(c,V),m=i.negate(u,F),p=U,f=p[0];i.add(l,c,f),i.add(f,u,f),f=p[1],i.add(l,c,f),i.add(f,m,f),f=p[2],i.add(l,d,f),i.add(f,m,f),f=p[3],i.add(l,d,f),i.add(f,u,f),i.negate(l,l),f=p[4],i.add(l,c,f),i.add(f,u,f),f=p[5],i.add(l,c,f),i.add(f,m,f),f=p[6],i.add(l,d,f),i.add(f,m,f),f=p[7],i.add(l,d,f),i.add(f,u,f);for(var v=p.length,y=0;v>y;++y){var g=p[y];i.add(a,g,g);var _=o.cartesianToCartographic(g,k);r.project(_,g)}n=h.fromPoints(p,n),a=n.center;var w=a.x,C=a.y,x=a.z;return a.x=x,a.y=w,a.z=C,n},h.equals=function(e,r){return e===r||t(e)&&t(r)&&i.equals(e.center,r.center)&&e.radius===r.radius},h.prototype.clone=function(e){return h.clone(this,e)},h.prototype.union=function(e,t){return h.union(this,e,t)},h.prototype.expand=function(e,t){return h.expand(this,e,t)},h.prototype.intersect=function(e){return h.intersect(this,e)},h.prototype.getPlaneDistances=function(e,t,r){return h.getPlaneDistances(this,e,t,r)},h.prototype.projectTo2D=function(e,t){return h.projectTo2D(this,e,t)},h.prototype.equals=function(e){return h.equals(this,e)},h}),r("Core/Fullscreen",["./defined"],function(e){"use strict";var t,r={requestFullscreen:void 0,exitFullscreen:void 0,fullscreenEnabled:void 0,fullscreenElement:void 0,fullscreenchange:void 0,fullscreenerror:void 0},i={};return i.supportsFullscreen=function(){if(e(t))return t;t=!1;var i=document.body;if("function"==typeof i.requestFullscreen)return r.requestFullscreen="requestFullscreen",r.exitFullscreen="exitFullscreen",r.fullscreenEnabled="fullscreenEnabled",r.fullscreenElement="fullscreenElement",r.fullscreenchange="fullscreenchange",r.fullscreenerror="fullscreenerror",t=!0;for(var n,o=["webkit","moz","o","ms","khtml"],a=0,s=o.length;s>a;++a){var l=o[a];n=l+"RequestFullscreen","function"==typeof i[n]?(r.requestFullscreen=n,t=!0):(n=l+"RequestFullScreen","function"==typeof i[n]&&(r.requestFullscreen=n,t=!0)),n=l+"ExitFullscreen","function"==typeof document[n]?r.exitFullscreen=n:(n=l+"CancelFullScreen","function"==typeof document[n]&&(r.exitFullscreen=n)),n=l+"FullscreenEnabled",e(document[n])?r.fullscreenEnabled=n:(n=l+"FullScreenEnabled",e(document[n])&&(r.fullscreenEnabled=n)),n=l+"FullscreenElement",e(document[n])?r.fullscreenElement=n:(n=l+"FullScreenElement",e(document[n])&&(r.fullscreenElement=n)),n=l+"fullscreenchange",e(document["on"+n])&&("ms"===l&&(n="MSFullscreenChange"),r.fullscreenchange=n),n=l+"fullscreenerror",e(document["on"+n])&&("ms"===l&&(n="MSFullscreenError"),r.fullscreenerror=n)}return t},i.requestFullscreen=function(e){i.supportsFullscreen()&&e[r.requestFullscreen]()},i.exitFullscreen=function(){i.supportsFullscreen()&&document[r.exitFullscreen]()},i.isFullscreenEnabled=function(){return i.supportsFullscreen()?document[r.fullscreenEnabled]:void 0},i.getFullscreenElement=function(){return i.supportsFullscreen()?document[r.fullscreenElement]:void 0},i.isFullscreen=function(){return i.supportsFullscreen()?null!==i.getFullscreenElement():void 0},i.getFullscreenChangeEventName=function(){return i.supportsFullscreen()?r.fullscreenchange:void 0},i.getFullscreenErrorEventName=function(){return i.supportsFullscreen()?r.fullscreenerror:void 0},i}),r("Core/FeatureDetection",["./defined","./Fullscreen"],function(e,t){"use strict";function r(e){for(var t=e.split("."),r=0,i=t.length;i>r;++r)t[r]=parseInt(t[r],10);return t}function i(){if(!e(h)){var t=/ Chrome\/([\.0-9]+)/.exec(navigator.userAgent);null===t?h=!1:(h=!0,d=r(t[1]))}return h}function n(){return i()&&d}function o(){if(!e(m))if(i()||!/ Safari\/[\.0-9]+/.test(navigator.userAgent))m=!1;else{var t=/ Version\/([\.0-9]+)/.exec(navigator.userAgent);null===t?m=!1:(m=!0,p=r(t[1]))}return m}function a(){return o()&&p}function s(){if(!e(f)){var t=/ AppleWebKit\/([\.0-9]+)(\+?)/.exec(navigator.userAgent);null===t?f=!1:(f=!0,v=r(t[1]),v.isNightly=!!t[2])}return f}function l(){return s()&&v}function u(){if(!e(y)){var t=/ MSIE ([\.0-9]+)/.exec(navigator.userAgent);null===t?y=!1:(y=!0,g=r(t[1]))}return y}function c(){return u()&&g}var h,d,m,p,f,v,y,g,_,w={isChrome:i,chromeVersion:n,isSafari:o,safariVersion:a,isWebkit:s,webkitVersion:l,isInternetExplorer:u,internetExplorerVersion:c};return w.supportsCrossOriginImagery=function(){return e(_)||(_=o()&&l()[0]<536?!1:"withCredentials"in new XMLHttpRequest),_},w.supportsFullscreen=function(){return t.supportsFullscreen()},w.supportsTypedArrays=function(){return"undefined"!=typeof ArrayBuffer},w}),r("Core/ComponentDatatype",["./defaultValue","./defined","./DeveloperError","./FeatureDetection","./Enumeration"],function(e,t,r,i,n){"use strict";if(!i.supportsTypedArrays())return{};var o={BYTE:new n(5120,"BYTE",{sizeInBytes:Int8Array.BYTES_PER_ELEMENT}),UNSIGNED_BYTE:new n(5121,"UNSIGNED_BYTE",{sizeInBytes:Uint8Array.BYTES_PER_ELEMENT}),SHORT:new n(5122,"SHORT",{sizeInBytes:Int16Array.BYTES_PER_ELEMENT}),UNSIGNED_SHORT:new n(5123,"UNSIGNED_SHORT",{sizeInBytes:Uint16Array.BYTES_PER_ELEMENT}),FLOAT:new n(5126,"FLOAT",{sizeInBytes:Float32Array.BYTES_PER_ELEMENT}),DOUBLE:new n(5130,"DOUBLE",{sizeInBytes:Float64Array.BYTES_PER_ELEMENT})};return o.validate=function(e){return t(e)&&t(e.value)&&(e.value===o.BYTE.value||e.value===o.UNSIGNED_BYTE.value||e.value===o.SHORT.value||e.value===o.UNSIGNED_SHORT.value||e.value===o.FLOAT.value||e.value===o.DOUBLE.value)},o.createTypedArray=function(e,i){if(!t(e))throw new r("componentDatatype is required.");if(!t(i))throw new r("valuesOrLength is required.");switch(e.value){case o.BYTE.value:return new Int8Array(i);case o.UNSIGNED_BYTE.value:return new Uint8Array(i);case o.SHORT.value:return new Int16Array(i);case o.UNSIGNED_SHORT.value:return new Uint16Array(i);case o.FLOAT.value:return new Float32Array(i);case o.DOUBLE.value:return new Float64Array(i);default:throw new r("componentDatatype is not a valid enumeration value.")}},o.createArrayBufferView=function(i,n,a,s){if(!t(i))throw new r("componentDatatype is required.");if(!t(n))throw new r("buffer is required.");switch(a=e(a,0),s=e(s,(n.byteLength-a)/i.sizeInBytes),i.value){case o.BYTE.value:return new Int8Array(n,a,s);case o.UNSIGNED_BYTE.value:return new Uint8Array(n,a,s);case o.SHORT.value:return new Int16Array(n,a,s);case o.UNSIGNED_SHORT.value:return new Uint16Array(n,a,s);case o.FLOAT.value:return new Float32Array(n,a,s);case o.DOUBLE.value:return new Float64Array(n,a,s);default:throw new r("componentDatatype is not a valid enumeration value.")}},o}),r("Core/PrimitiveType",[],function(){"use strict";var e={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,validate:function(t){return t===e.POINTS||t===e.LINES||t===e.LINE_LOOP||t===e.LINE_STRIP||t===e.TRIANGLES||t===e.TRIANGLE_STRIP||t===e.TRIANGLE_FAN}};return e}),r("Core/GeometryAttribute",["./defaultValue","./defined","./DeveloperError"],function(e,t,r){"use strict";var i=function(i){if(i=e(i,e.EMPTY_OBJECT),!t(i.componentDatatype))throw new r("options.componentDatatype is required.");if(!t(i.componentsPerAttribute))throw new r("options.componentsPerAttribute is required.");if(i.componentsPerAttribute<1||i.componentsPerAttribute>4)throw new r("options.componentsPerAttribute must be between 1 and 4.");if(!t(i.values))throw new r("options.values is required.");this.componentDatatype=i.componentDatatype,this.componentsPerAttribute=i.componentsPerAttribute,this.normalize=e(i.normalize,!1),this.values=i.values};return i}),r("Core/GeometryAttributes",["./defaultValue"],function(e){"use strict";var t=function(t){t=e(t,e.EMPTY_OBJECT),this.position=t.position,this.normal=t.normal,this.st=t.st,this.binormal=t.binormal,this.tangent=t.tangent,this.color=t.color};return t}),r("Core/VertexFormat",["./defaultValue","./freezeObject"],function(e,t){"use strict";var r=function(t){t=e(t,e.EMPTY_OBJECT),this.position=e(t.position,!1),this.normal=e(t.normal,!1),this.st=e(t.st,!1),this.binormal=e(t.binormal,!1),this.tangent=e(t.tangent,!1)};return r.POSITION_ONLY=t(new r({position:!0})),r.POSITION_AND_NORMAL=t(new r({position:!0,normal:!0})),r.POSITION_NORMAL_AND_ST=t(new r({position:!0,normal:!0,st:!0})),r.POSITION_AND_ST=t(new r({position:!0,st:!0})),r.ALL=t(new r({position:!0,normal:!0,st:!0,binormal:!0,tangent:!0})),r.DEFAULT=r.POSITION_NORMAL_AND_ST,r}),r("Core/Geometry",["./defaultValue","./defined","./DeveloperError","./BoundingSphere"],function(e,t,r){"use strict";var i=function(i){if(i=e(i,e.EMPTY_OBJECT),!t(i.attributes))throw new r("options.attributes is required.");if(!t(i.primitiveType))throw new r("options.primitiveType is required.");this.attributes=i.attributes,this.indices=i.indices,this.primitiveType=i.primitiveType,this.boundingSphere=i.boundingSphere};return i.computeNumberOfVertices=function(e){if(!t(e))throw new r("geometry is required.");var i=-1;for(var n in e.attributes)if(e.attributes.hasOwnProperty(n)&&t(e.attributes[n])&&t(e.attributes[n].values)){var o=e.attributes[n],a=o.values.length/o.componentsPerAttribute;if(i!==a&&-1!==i)throw new r("All attribute lists must have the same number of attributes.");i=a}return i},i}),r("Core/BoxGeometry",["./defined","./DeveloperError","./Cartesian3","./ComponentDatatype","./PrimitiveType","./defaultValue","./BoundingSphere","./GeometryAttribute","./GeometryAttributes","./VertexFormat","./Geometry"],function(e,t,r,i,n,o,a,s,l,u,c){"use strict";var h=new r,d=function(i){i=o(i,o.EMPTY_OBJECT);var n=i.minimumCorner,a=i.maximumCorner;if(!e(n))throw new t("options.minimumCorner is required.");if(!e(a))throw new t("options.maximumCorner is required");var s=o(i.vertexFormat,u.DEFAULT);this._minimumCorner=r.clone(n),this._maximumCorner=r.clone(a),this._vertexFormat=s,this._workerName="createBoxGeometry"};return d.fromDimensions=function(i){i=o(i,o.EMPTY_OBJECT);var n=i.dimensions;if(!e(n))throw new t("options.dimensions is required.");if(n.x<0||n.y<0||n.z<0)throw new t("All dimensions components must be greater than or equal to zero.");var a=r.multiplyByScalar(n,.5),s=r.negate(a),l=a,u={minimumCorner:s,maximumCorner:l,vertexFormat:i.vertexFormat};return new d(u)},d.createGeometry=function(e){var t,o,u=e._minimumCorner,d=e._maximumCorner,m=e._vertexFormat,p=new l;if(m.position&&(m.st||m.normal||m.binormal||m.tangent)){if(m.position&&(o=new Float64Array(72),o[0]=u.x,o[1]=u.y,o[2]=d.z,o[3]=d.x,o[4]=u.y,o[5]=d.z,o[6]=d.x,o[7]=d.y,o[8]=d.z,o[9]=u.x,o[10]=d.y,o[11]=d.z,o[12]=u.x,o[13]=u.y,o[14]=u.z,o[15]=d.x,o[16]=u.y,o[17]=u.z,o[18]=d.x,o[19]=d.y,o[20]=u.z,o[21]=u.x,o[22]=d.y,o[23]=u.z,o[24]=d.x,o[25]=u.y,o[26]=u.z,o[27]=d.x,o[28]=d.y,o[29]=u.z,o[30]=d.x,o[31]=d.y,o[32]=d.z,o[33]=d.x,o[34]=u.y,o[35]=d.z,o[36]=u.x,o[37]=u.y,o[38]=u.z,o[39]=u.x,o[40]=d.y,o[41]=u.z,o[42]=u.x,o[43]=d.y,o[44]=d.z,o[45]=u.x,o[46]=u.y,o[47]=d.z,o[48]=u.x,o[49]=d.y,o[50]=u.z,o[51]=d.x,o[52]=d.y,o[53]=u.z,o[54]=d.x,o[55]=d.y,o[56]=d.z,o[57]=u.x,o[58]=d.y,o[59]=d.z,o[60]=u.x,o[61]=u.y,o[62]=u.z,o[63]=d.x,o[64]=u.y,o[65]=u.z,o[66]=d.x,o[67]=u.y,o[68]=d.z,o[69]=u.x,o[70]=u.y,o[71]=d.z,p.position=new s({componentDatatype:i.DOUBLE,componentsPerAttribute:3,values:o})),m.normal){var f=new Float32Array(72); -f[0]=0,f[1]=0,f[2]=1,f[3]=0,f[4]=0,f[5]=1,f[6]=0,f[7]=0,f[8]=1,f[9]=0,f[10]=0,f[11]=1,f[12]=0,f[13]=0,f[14]=-1,f[15]=0,f[16]=0,f[17]=-1,f[18]=0,f[19]=0,f[20]=-1,f[21]=0,f[22]=0,f[23]=-1,f[24]=1,f[25]=0,f[26]=0,f[27]=1,f[28]=0,f[29]=0,f[30]=1,f[31]=0,f[32]=0,f[33]=1,f[34]=0,f[35]=0,f[36]=-1,f[37]=0,f[38]=0,f[39]=-1,f[40]=0,f[41]=0,f[42]=-1,f[43]=0,f[44]=0,f[45]=-1,f[46]=0,f[47]=0,f[48]=0,f[49]=1,f[50]=0,f[51]=0,f[52]=1,f[53]=0,f[54]=0,f[55]=1,f[56]=0,f[57]=0,f[58]=1,f[59]=0,f[60]=0,f[61]=-1,f[62]=0,f[63]=0,f[64]=-1,f[65]=0,f[66]=0,f[67]=-1,f[68]=0,f[69]=0,f[70]=-1,f[71]=0,p.normal=new s({componentDatatype:i.FLOAT,componentsPerAttribute:3,values:f})}if(m.st){var v=new Float32Array(48);v[0]=0,v[1]=0,v[2]=1,v[3]=0,v[4]=1,v[5]=1,v[6]=0,v[7]=1,v[8]=1,v[9]=0,v[10]=0,v[11]=0,v[12]=0,v[13]=1,v[14]=1,v[15]=1,v[16]=0,v[17]=0,v[18]=1,v[19]=0,v[20]=1,v[21]=1,v[22]=0,v[23]=1,v[24]=1,v[25]=0,v[26]=0,v[27]=0,v[28]=0,v[29]=1,v[30]=1,v[31]=1,v[32]=1,v[33]=0,v[34]=0,v[35]=0,v[36]=0,v[37]=1,v[38]=1,v[39]=1,v[40]=0,v[41]=0,v[42]=1,v[43]=0,v[44]=1,v[45]=1,v[46]=0,v[47]=1,p.st=new s({componentDatatype:i.FLOAT,componentsPerAttribute:2,values:v})}if(m.tangent){var y=new Float32Array(72);y[0]=1,y[1]=0,y[2]=0,y[3]=1,y[4]=0,y[5]=0,y[6]=1,y[7]=0,y[8]=0,y[9]=1,y[10]=0,y[11]=0,y[12]=-1,y[13]=0,y[14]=0,y[15]=-1,y[16]=0,y[17]=0,y[18]=-1,y[19]=0,y[20]=0,y[21]=-1,y[22]=0,y[23]=0,y[24]=0,y[25]=1,y[26]=0,y[27]=0,y[28]=1,y[29]=0,y[30]=0,y[31]=1,y[32]=0,y[33]=0,y[34]=1,y[35]=0,y[36]=0,y[37]=-1,y[38]=0,y[39]=0,y[40]=-1,y[41]=0,y[42]=0,y[43]=-1,y[44]=0,y[45]=0,y[46]=-1,y[47]=0,y[48]=-1,y[49]=0,y[50]=0,y[51]=-1,y[52]=0,y[53]=0,y[54]=-1,y[55]=0,y[56]=0,y[57]=-1,y[58]=0,y[59]=0,y[60]=1,y[61]=0,y[62]=0,y[63]=1,y[64]=0,y[65]=0,y[66]=1,y[67]=0,y[68]=0,y[69]=1,y[70]=0,y[71]=0,p.tangent=new s({componentDatatype:i.FLOAT,componentsPerAttribute:3,values:y})}if(m.binormal){var g=new Float32Array(72);g[0]=0,g[1]=1,g[2]=0,g[3]=0,g[4]=1,g[5]=0,g[6]=0,g[7]=1,g[8]=0,g[9]=0,g[10]=1,g[11]=0,g[12]=0,g[13]=1,g[14]=0,g[15]=0,g[16]=1,g[17]=0,g[18]=0,g[19]=1,g[20]=0,g[21]=0,g[22]=1,g[23]=0,g[24]=0,g[25]=0,g[26]=1,g[27]=0,g[28]=0,g[29]=1,g[30]=0,g[31]=0,g[32]=1,g[33]=0,g[34]=0,g[35]=1,g[36]=0,g[37]=0,g[38]=1,g[39]=0,g[40]=0,g[41]=1,g[42]=0,g[43]=0,g[44]=1,g[45]=0,g[46]=0,g[47]=1,g[48]=0,g[49]=0,g[50]=1,g[51]=0,g[52]=0,g[53]=1,g[54]=0,g[55]=0,g[56]=1,g[57]=0,g[58]=0,g[59]=1,g[60]=0,g[61]=0,g[62]=1,g[63]=0,g[64]=0,g[65]=1,g[66]=0,g[67]=0,g[68]=1,g[69]=0,g[70]=0,g[71]=1,p.binormal=new s({componentDatatype:i.FLOAT,componentsPerAttribute:3,values:g})}t=new Uint16Array(36),t[0]=0,t[1]=1,t[2]=2,t[3]=0,t[4]=2,t[5]=3,t[6]=6,t[7]=5,t[8]=4,t[9]=7,t[10]=6,t[11]=4,t[12]=8,t[13]=9,t[14]=10,t[15]=8,t[16]=10,t[17]=11,t[18]=14,t[19]=13,t[20]=12,t[21]=15,t[22]=14,t[23]=12,t[24]=18,t[25]=17,t[26]=16,t[27]=19,t[28]=18,t[29]=16,t[30]=20,t[31]=21,t[32]=22,t[33]=20,t[34]=22,t[35]=23}else o=new Float64Array(24),o[0]=u.x,o[1]=u.y,o[2]=u.z,o[3]=d.x,o[4]=u.y,o[5]=u.z,o[6]=d.x,o[7]=d.y,o[8]=u.z,o[9]=u.x,o[10]=d.y,o[11]=u.z,o[12]=u.x,o[13]=u.y,o[14]=d.z,o[15]=d.x,o[16]=u.y,o[17]=d.z,o[18]=d.x,o[19]=d.y,o[20]=d.z,o[21]=u.x,o[22]=d.y,o[23]=d.z,p.position=new s({componentDatatype:i.DOUBLE,componentsPerAttribute:3,values:o}),t=new Uint16Array(36),t[0]=4,t[1]=5,t[2]=6,t[3]=4,t[4]=6,t[5]=7,t[6]=1,t[7]=0,t[8]=3,t[9]=1,t[10]=3,t[11]=2,t[12]=1,t[13]=6,t[14]=5,t[15]=1,t[16]=2,t[17]=6,t[18]=2,t[19]=3,t[20]=7,t[21]=2,t[22]=7,t[23]=6,t[24]=3,t[25]=0,t[26]=4,t[27]=3,t[28]=4,t[29]=7,t[30]=0,t[31]=1,t[32]=5,t[33]=0,t[34]=5,t[35]=4;var _=r.subtract(d,u,h),w=.5*r.magnitude(_);return new c({attributes:p,indices:t,primitiveType:n.TRIANGLES,boundingSphere:new a(r.ZERO,w)})},d}),r("Core/BoxOutlineGeometry",["./defined","./DeveloperError","./Cartesian3","./ComponentDatatype","./PrimitiveType","./defaultValue","./BoundingSphere","./Geometry","./GeometryAttribute","./GeometryAttributes"],function(e,t,r,i,n,o,a,s,l,u){"use strict";var c=new r,h=function(i){i=o(i,o.EMPTY_OBJECT);var n=i.minimumCorner,a=i.maximumCorner;if(!e(n))throw new t("options.minimumCorner is required.");if(!e(a))throw new t("options.maximumCorner is required");this._min=r.clone(n),this._max=r.clone(a),this._workerName="createBoxOutlineGeometry"};return h.fromDimensions=function(i){i=o(i,o.EMPTY_OBJECT);var n=i.dimensions;if(!e(n))throw new t("options.dimensions is required.");if(n.x<0||n.y<0||n.z<0)throw new t("All dimensions components must be greater than or equal to zero.");var a=r.multiplyByScalar(n,.5),s=r.negate(a),l=a,u={minimumCorner:s,maximumCorner:l};return new h(u)},h.createGeometry=function(e){var t=e._min,o=e._max,h=new u,d=new Uint16Array(24),m=new Float64Array(24);m[0]=t.x,m[1]=t.y,m[2]=t.z,m[3]=o.x,m[4]=t.y,m[5]=t.z,m[6]=o.x,m[7]=o.y,m[8]=t.z,m[9]=t.x,m[10]=o.y,m[11]=t.z,m[12]=t.x,m[13]=t.y,m[14]=o.z,m[15]=o.x,m[16]=t.y,m[17]=o.z,m[18]=o.x,m[19]=o.y,m[20]=o.z,m[21]=t.x,m[22]=o.y,m[23]=o.z,h.position=new l({componentDatatype:i.DOUBLE,componentsPerAttribute:3,values:m}),d[0]=4,d[1]=5,d[2]=5,d[3]=6,d[4]=6,d[5]=7,d[6]=7,d[7]=4,d[8]=0,d[9]=1,d[10]=1,d[11]=2,d[12]=2,d[13]=3,d[14]=3,d[15]=0,d[16]=0,d[17]=4,d[18]=1,d[19]=5,d[20]=2,d[21]=6,d[22]=3,d[23]=7;var p=r.subtract(o,t,c),f=.5*r.magnitude(p);return new s({attributes:h,indices:d,primitiveType:n.LINES,boundingSphere:new a(r.ZERO,f)})},h}),r("Core/Spline",["../Core/defaultValue","../Core/defined","../Core/DeveloperError"],function(e,t,r){"use strict";var i=function(){throw this.times=void 0,this.points=void 0,new r("This type should not be instantiated directly.")};return i.prototype.evaluate=function(){throw new r("This type should not be instantiated directly.")},i.prototype.findTimeInterval=function(i,n){if(!t(i))throw new r("time is required.");var o=this.times,a=o.length;if(io[a-1])throw new r("time is out of range.");if(n=e(n,0),i>=o[n]){if(a>n+1&&in+2&&i=0&&i>=o[n-1])return n-1;var s;if(i>o[n])for(s=n;a-1>s&&!(i>=o[s]&&i=0&&!(i>=o[s]&&i=0;--h)u[h]=r.subtract(l[h],r.multiplyByScalar(u[h+1],s[h]));return u},i}),r("Core/HermiteSpline",["./defaultValue","./defined","./DeveloperError","./Cartesian3","./Matrix4","./Cartesian4","./Spline","./TridiagonalSystemSolver"],function(e,t,r,i,n,o,a,s){"use strict";function l(e,r,n){var o=h,a=m,l=d,u=p;o.length=a.length=e.length-1,l.length=u.length=e.length;var c;o[0]=l[0]=1,a[0]=0;var f=u[0];for(t(f)||(f=u[0]=new i),i.clone(r,f),c=1;c2&&(t(s)||(s=d,n.multiplyByScalar(o[1],2,s),n.subtract(s,o[2],s),n.subtract(s,o[0],s),n.multiplyByScalar(s,.5,s)),!t(u))){var c=o.length-1;u=m,n.multiplyByScalar(o[c-1],2,u),n.subtract(o[c],u,u),n.add(u,o[c-2],u),n.multiplyByScalar(u,.5,u)}this.times=a,this.points=o,this.firstTangent=n.clone(s),this.lastTangent=n.clone(u),this._evaluateFunction=l(this),this._lastTimeIndex=0};return p.catmullRomCoefficientMatrix=new i(-.5,1,-.5,0,1.5,-2.5,0,1,-1.5,2,.5,0,.5,-.5,0,0),p.prototype.findTimeInterval=a.prototype.findTimeInterval,p.prototype.evaluate=function(e,t){return this._evaluateFunction(e,t)},p}),r("Core/IndexDatatype",["./defined","./DeveloperError","./Math"],function(e,t,r){"use strict";var i={UNSIGNED_BYTE:5121,UNSIGNED_SHORT:5123,UNSIGNED_INT:5125};return i.getSizeInBytes=function(e){switch(e){case i.UNSIGNED_BYTE:return Uint8Array.BYTES_PER_ELEMENT;case i.UNSIGNED_SHORT:return Uint16Array.BYTES_PER_ELEMENT;case i.UNSIGNED_INT:return Uint32Array.BYTES_PER_ELEMENT}throw new t("indexDatatype is required and must be a valid IndexDatatype constant.")},i.validate=function(t){return e(t)&&(t===i.UNSIGNED_BYTE||t===i.UNSIGNED_SHORT||t===i.UNSIGNED_INT)},i.createTypedArray=function(i,n){if(!e(i))throw new t("numberOfVertices is required.");return i>r.SIXTY_FOUR_KILOBYTES?new Uint32Array(n):new Uint16Array(n)},i}),r("Core/Quaternion",["./Cartesian3","./defaultValue","./defined","./DeveloperError","./freezeObject","./Math","./Matrix3"],function(e,t,r,i,n,o,a){"use strict";var s,l=function(e,r,i,n){this.x=t(e,0),this.y=t(r,0),this.z=t(i,0),this.w=t(n,0)};l.fromAxisAngle=function(t,i,n){var o=i/2,a=Math.sin(o);s=e.normalize(t,s);var u=s.x*a,c=s.y*a,h=s.z*a,d=Math.cos(o);return r(n)?(n.x=u,n.y=c,n.z=h,n.w=d,n):new l(u,c,h,d)};var u=[1,2,0],c=new Array(3);l.fromRotationMatrix=function(e,t){var i,n,o,s,h,d=e[a.COLUMN0ROW0],m=e[a.COLUMN1ROW1],p=e[a.COLUMN2ROW2],f=d+m+p;if(f>0)i=Math.sqrt(f+1),h=.5*i,i=.5/i,n=(e[a.COLUMN1ROW2]-e[a.COLUMN2ROW1])*i,o=(e[a.COLUMN2ROW0]-e[a.COLUMN0ROW2])*i,s=(e[a.COLUMN0ROW1]-e[a.COLUMN1ROW0])*i;else{var v=u,y=0;m>d&&(y=1),p>d&&p>m&&(y=2);var g=v[y],_=v[g];i=Math.sqrt(e[a.getElementIndex(y,y)]-e[a.getElementIndex(g,g)]-e[a.getElementIndex(_,_)]+1);var w=c;w[y]=.5*i,i=.5/i,h=(e[a.getElementIndex(_,g)]-e[a.getElementIndex(g,_)])*i,w[g]=(e[a.getElementIndex(g,y)]+e[a.getElementIndex(y,g)])*i,w[_]=(e[a.getElementIndex(_,y)]+e[a.getElementIndex(y,_)])*i,n=-w[0],o=-w[1],s=-w[2]}return r(t)?(t.x=n,t.y=o,t.z=s,t.w=h,t):new l(n,o,s,h)};var h=new e,d=new e,m=new l,p=new l,f=new l;l.packedLength=4,l.pack=function(e,r,i){i=t(i,0),r[i++]=e.x,r[i++]=e.y,r[i++]=e.z,r[i]=e.w},l.unpack=function(e,i,n){return i=t(i,0),r(n)||(n=new l),n.x=e[i],n.y=e[i+1],n.z=e[i+2],n.w=e[i+3],n},l.packedInterpolationLength=3,l.convertPackedArrayForInterpolation=function(e,t,r,i){l.unpack(e,4*r,f),l.conjugate(f,f);for(var n=0,o=r-t+1;o>n;n++){var a=3*n;l.unpack(e,4*(t+n),m),l.multiply(m,f,m),m.w<0&&l.negate(m,m),l.getAxis(m,h);var s=l.getAngle(m);i[a]=h.x*s,i[a+1]=h.y*s,i[a+2]=h.z*s}},l.unpackInterpolationResult=function(t,i,n,o,a){r(a)||(a=new l),e.fromArray(t,0,d);var s=e.magnitude(d);return l.unpack(i,4*o,p),0===s?l.clone(l.IDENTITY,m):l.fromAxisAngle(d,s,m),l.multiply(m,p,a)},l.clone=function(e,t){return r(e)?r(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t):new l(e.x,e.y,e.z,e.w):void 0},l.conjugate=function(e,t){return r(t)?(t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=e.w,t):new l(-e.x,-e.y,-e.z,e.w)},l.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w},l.magnitude=function(e){return Math.sqrt(l.magnitudeSquared(e))},l.normalize=function(e,t){var i=1/l.magnitude(e),n=e.x*i,o=e.y*i,a=e.z*i,s=e.w*i;return r(t)?(t.x=n,t.y=o,t.z=a,t.w=s,t):new l(n,o,a,s)},l.inverse=function(e,t){var r=l.magnitudeSquared(e);return t=l.conjugate(e,t),l.multiplyByScalar(t,1/r,t)},l.add=function(e,t,i){return r(i)?(i.x=e.x+t.x,i.y=e.y+t.y,i.z=e.z+t.z,i.w=e.w+t.w,i):new l(e.x+t.x,e.y+t.y,e.z+t.z,e.w+t.w)},l.subtract=function(e,t,i){return r(i)?(i.x=e.x-t.x,i.y=e.y-t.y,i.z=e.z-t.z,i.w=e.w-t.w,i):new l(e.x-t.x,e.y-t.y,e.z-t.z,e.w-t.w)},l.negate=function(e,t){return r(t)?(t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=-e.w,t):new l(-e.x,-e.y,-e.z,-e.w)},l.dot=function(e,t){return e.x*t.x+e.y*t.y+e.z*t.z+e.w*t.w},l.multiply=function(e,t,i){var n=e.x,o=e.y,a=e.z,s=e.w,u=t.x,c=t.y,h=t.z,d=t.w,m=s*u+n*d+o*h-a*c,p=s*c-n*h+o*d+a*u,f=s*h+n*c-o*u+a*d,v=s*d-n*u-o*c-a*h;return r(i)?(i.x=m,i.y=p,i.z=f,i.w=v,i):new l(m,p,f,v)},l.multiplyByScalar=function(e,t,i){return r(i)?(i.x=e.x*t,i.y=e.y*t,i.z=e.z*t,i.w=e.w*t,i):new l(e.x*t,e.y*t,e.z*t,e.w*t)},l.divideByScalar=function(e,t,i){return r(i)?(i.x=e.x/t,i.y=e.y/t,i.z=e.z/t,i.w=e.w/t,i):new l(e.x/t,e.y/t,e.z/t,e.w/t)},l.getAxis=function(t,i){var n=t.w;if(Math.abs(n-1)n&&(n=-n,a=y=l.negate(t,y)),1-nv;v+=3){var y,g=v+1,_=v+2,w=e.fromArray(t,v,h);w=n.scaleToGeodeticSurface(w,w),y=e.clone(w,d),u=n.geodeticSurfaceNormal(w,u);var C=e.multiplyByScalar(u,o,m);w=e.add(w,C,w),i&&(C=e.multiplyByScalar(u,a,C),y=e.add(y,C,y),l[v+f]=y.x,l[g+f]=y.y,l[_+f]=y.z),l[v]=w.x,l[g]=w.y,l[_]=w.z}return l};var f=new e,v=new e,y=new e;return a.computeEllipsePositions=function(t,i,n){var a=t.semiMinorAxis,s=t.semiMajorAxis,l=t.rotation,u=t.center,c=t.granularity,p=2.31,g=a*a,_=s*s,w=s*a,C=e.magnitude(u),x=e.normalize(u,f),S=e.cross(e.UNIT_Z,u,v);S=e.normalize(S,S);var E,b,T,A,D,P=e.cross(x,S,y),M=1+Math.ceil(r.PI_OVER_TWO/c),I=p/(M-1),O=2*M*(M+1),R=i?new Array(3*O):void 0,L=0,z=h,N=d,B=n?[]:void 0,F=n?[]:void 0,V=r.PI_OVER_TWO;for(E=0;M>E&&V>0;++E){if(z=o(V,l,P,S,g,w,_,C,x,z),N=o(Math.PI-V,l,P,S,g,w,_,C,x,N),i){for(R[L++]=z.x,R[L++]=z.y,R[L++]=z.z,T=2*E+2,b=1;T-1>b;++b)A=b/(T-1),D=e.lerp(z,N,A,m),R[L++]=D.x,R[L++]=D.y,R[L++]=D.z;R[L++]=N.x,R[L++]=N.y,R[L++]=N.z}n&&(F.unshift(z.x,z.y,z.z),0!==E&&B.push(N.x,N.y,N.z)),V=r.PI_OVER_TWO-(E+1)*I}for(M=E,E=M;E>0;--E){if(V=r.PI_OVER_TWO-(E-1)*I,z=o(-V,l,P,S,g,w,_,C,x,z),N=o(V+Math.PI,l,P,S,g,w,_,C,x,N),i){for(R[L++]=z.x,R[L++]=z.y,R[L++]=z.z,T=2*(E-1)+2,b=1;T-1>b;++b)A=b/(T-1),D=e.lerp(z,N,A,m),R[L++]=D.x,R[L++]=D.y,R[L++]=D.z;R[L++]=N.x,R[L++]=N.y,R[L++]=N.z}n&&(F.unshift(z.x,z.y,z.z),1!==E&&B.push(N.x,N.y,N.z))}var k={};return i&&(R.length!==L&&(O=L/3,R.length=L),k.positions=R,k.numPts=M),n&&(k.outerPositions=F.concat(B)),k},a}),r("Core/barycentricCoordinates",["./Cartesian2","./Cartesian3","./defined","./DeveloperError"],function(e,t,r,i){"use strict";var n=new t,o=new t,a=new t,s=function(s,l,u,c,h){if(!(r(s)&&r(l)&&r(u)&&r(c)))throw new i("point, p0, p1, and p2 are required.");r(h)||(h=new t);var d,m,p,f,v,y,g,_;r(l.z)?(d=t.subtract(u,l,n),m=t.subtract(c,l,o),p=t.subtract(s,l,a),f=t.dot(d,d),v=t.dot(d,m),y=t.dot(d,p),g=t.dot(m,m),_=t.dot(m,p)):(d=e.subtract(u,l,n),m=e.subtract(c,l,o),p=e.subtract(s,l,a),f=e.dot(d,d),v=e.dot(d,m),y=e.dot(d,p),g=e.dot(m,m),_=e.dot(m,p));var w=1/(f*g-v*v);return h.y=(g*y-v*_)*w,h.z=(f*_-v*y)*w,h.x=1-h.y-h.z,h};return s}),r("Core/EncodedCartesian3",["./Cartesian3","./defined","./DeveloperError"],function(e,t,r){"use strict";var i=function(){this.high=e.clone(e.ZERO),this.low=e.clone(e.ZERO)};i.encode=function(e,i){if(!t(e))throw new r("value is required");t(i)||(i={high:0,low:0});var n;return e>=0?(n=65536*Math.floor(e/65536),i.high=n,i.low=e-n):(n=65536*Math.floor(-e/65536),i.high=-n,i.low=e+n),i};var n={high:0,low:0};i.fromCartesian=function(e,o){if(!t(e))throw new r("cartesian is required");t(o)||(o=new i);var a=o.high,s=o.low;return i.encode(e.x,n),a.x=n.high,s.x=n.low,i.encode(e.y,n),a.y=n.high,s.y=n.low,i.encode(e.z,n),a.z=n.high,s.z=n.low,o};var o=new i;return i.writeElements=function(e,n,a){if(!t(e))throw new r("cartesian is required");if(!t(n))throw new r("cartesianArray is required");if("number"!=typeof a||0>a)throw new r("index must be a number greater than or equal to 0.");i.fromCartesian(e,o);var s=o.high,l=o.low;n[a]=s.x,n[a+1]=s.y,n[a+2]=s.z,n[a+3]=l.x,n[a+4]=l.y,n[a+5]=l.z},i}),r("Core/QuadraticRealPolynomial",["./DeveloperError","./Math"],function(e,t){"use strict";function r(e,r,i){var n=e+r;return t.sign(e)!==t.sign(r)&&Math.abs(n/Math.max(Math.abs(e),Math.abs(r)))s&&s/ll&&l/sa)return[];var u=Math.sqrt(a);return[-u,u]}if(0===o)return a=-n/i,0>a?[a,0]:[0,a];var c=n*n,h=4*i*o,d=r(c,-h,t.EPSILON14);if(0>d)return[];var m=-.5*r(n,t.sign(n)*Math.sqrt(d),t.EPSILON14);return n>0?[m/i,o/m]:[o/m,m/i]},i}),r("Core/CubicRealPolynomial",["./DeveloperError","./QuadraticRealPolynomial"],function(e,t){"use strict";function r(e,t,r,i){var n,o,a=e,s=t/3,l=r/3,u=i,c=a*l,h=s*u,d=s*s,m=l*l,p=a*l-d,f=a*u-s*l,v=s*u-m,y=4*p*v-f*f;if(0>y){var g,_,w;d*h>=c*m?(g=a,_=p,w=-2*s*p+a*f):(g=u,_=v,w=-u*f+2*l*v);var C=0>w?-1:1,x=-C*Math.abs(g)*Math.sqrt(-y);o=-w+x;var S=o/2,E=0>S?-Math.pow(-S,1/3):Math.pow(S,1/3),b=o===x?-E:-_/E;return n=0>=_?E+b:-w/(E*E+b*b+_),d*h>=c*m?[(n-s)/a]:[-u/(n+l)]}var T=p,A=-2*s*p+a*f,D=v,P=-u*f+2*l*v,M=Math.sqrt(y),I=Math.sqrt(3)/2,O=Math.abs(Math.atan2(a*M,-A)/3);n=2*Math.sqrt(-T);var R=Math.cos(O);o=n*R;var L=n*(-R/2-I*Math.sin(O)),z=o+L>2*s?o-s:L-s,N=a,B=z/N;O=Math.abs(Math.atan2(u*M,-P)/3),n=2*Math.sqrt(-D),R=Math.cos(O),o=n*R,L=n*(-R/2-I*Math.sin(O));var F=-u,V=2*l>o+L?o+l:L+l,k=F/V,U=N*V,W=-z*V-N*F,q=z*F,G=(l*W-s*q)/(-s*W+l*U);return G>=B?k>=B?k>=G?[B,G,k]:[B,k,G]:[k,B,G]:k>=B?[G,B,k]:k>=G?[G,k,B]:[k,G,B]}var i={};return i.discriminant=function(t,r,i,n){if("number"!=typeof t)throw new e("a is a required number.");if("number"!=typeof r)throw new e("b is a required number.");if("number"!=typeof i)throw new e("c is a required number.");if("number"!=typeof n)throw new e("d is a required number.");var o=t*t,a=r*r,s=i*i,l=n*n,u=18*t*r*i*n+a*s-27*o*l-4*(t*s*i+a*r*n);return u},i.realRoots=function(i,n,o,a){if("number"!=typeof i)throw new e("a is a required number.");if("number"!=typeof n)throw new e("b is a required number.");if("number"!=typeof o)throw new e("c is a required number.");if("number"!=typeof a)throw new e("d is a required number.");var s,l;if(0===i)return t.realRoots(n,o,a);if(0===n){if(0===o){if(0===a)return[0,0,0];l=-a/i;var u=0>l?-Math.pow(-l,1/3):Math.pow(l,1/3);return[u,u,u]}return 0===a?(s=t.realRoots(i,0,o),0===s.Length?[0]:[s[0],0,s[1]]):r(i,0,o,a)}return 0===o?0===a?(l=-n/i,0>l?[l,0,0]:[0,0,l]):r(i,n,0,a):0===a?(s=t.realRoots(i,n,o),0===s.length?[0]:s[1]<=0?[s[0],s[1],0]:s[0]>=0?[0,s[0],s[1]]:[s[0],0,s[1]]):r(i,n,o,a)},i}),r("Core/QuarticRealPolynomial",["./DeveloperError","./Math","./CubicRealPolynomial","./QuadraticRealPolynomial"],function(e,t,r,i){"use strict";function n(e,n,o,a){var s=e*e,l=n-3*s/8,u=o-n*e/2+s*e/8,c=a-o*e/4+n*s/16-3*s*s/256,h=r.realRoots(1,2*l,l*l-4*c,-u*u);if(h.length>0){var d=-e/4,m=h[h.length-1];if(Math.abs(m)=0&&y>=0){var g=Math.sqrt(v),_=Math.sqrt(y);return[d-_,d-g,d+g,d+_]}if(v>=0&&0>y)return f=Math.sqrt(v),[d-f,d+f];if(0>v&&y>=0)return f=Math.sqrt(y),[d-f,d+f]}return[]}if(m>0){var w=Math.sqrt(m),C=(l+m-u/w)/2,x=(l+m+u/w)/2,S=i.realRoots(1,w,C),E=i.realRoots(1,-w,x);return 0!==S.length?(S[0]+=d,S[1]+=d,0!==E.length?(E[0]+=d,E[1]+=d,S[1]<=E[0]?[S[0],S[1],E[0],E[1]]:E[1]<=S[0]?[E[0],E[1],S[0],S[1]]:S[0]>=E[0]&&S[1]<=E[1]?[E[0],S[0],S[1],E[1]]:E[0]>=S[0]&&E[1]<=S[1]?[S[0],E[0],E[1],S[1]]:S[0]>E[0]&&S[0]0){var p,f,v=m[0],y=n-v,g=y*y,_=e/2,w=y/2,C=g-4*a,x=g+4*Math.abs(a),S=u-4*v,E=u+4*Math.abs(v);if(0>v||S*x>C*E){var b=Math.sqrt(S);p=b/2,f=0===b?0:(e*w-o)/b}else{var T=Math.sqrt(C);p=0===T?0:(e*w-o)/T,f=T/2}var A,D;0===_&&0===p?(A=0,D=0):t.sign(_)===t.sign(p)?(A=_+p,D=v/A):(D=_-p,A=v/D);var P,M;0===w&&0===f?(P=0,M=0):t.sign(w)===t.sign(f)?(P=w+f,M=a/P):(M=w-f,P=a/M);var I=i.realRoots(1,A,P),O=i.realRoots(1,D,M);if(0!==I.length)return 0!==O.length?I[1]<=O[0]?[I[0],I[1],O[0],O[1]]:O[1]<=I[0]?[O[0],O[1],I[0],I[1]]:I[0]>=O[0]&&I[1]<=O[1]?[O[0],I[0],I[1],O[1]]:O[0]>=I[0]&&O[1]<=I[1]?[I[0],O[0],O[1],I[1]]:I[0]>O[0]&&I[0]c?1:0;switch(p+=0>h?p+1:p,p+=0>d?p+1:p,p+=0>m?p+1:p){case 0:return n(c,h,d,m);case 1:return o(c,h,d,m);case 2:return o(c,h,d,m);case 3:return n(c,h,d,m);case 4:return n(c,h,d,m);case 5:return o(c,h,d,m);case 6:return n(c,h,d,m);case 7:return n(c,h,d,m);case 8:return o(c,h,d,m);case 9:return n(c,h,d,m);case 10:return n(c,h,d,m);case 11:return o(c,h,d,m);case 12:return n(c,h,d,m);case 13:return n(c,h,d,m);case 14:return n(c,h,d,m);case 15:return n(c,h,d,m);default:return void 0}},a}),r("Core/IntersectionTests",["./defined","./DeveloperError","./Math","./Cartesian3","./Cartographic","./Matrix3","./QuadraticRealPolynomial","./QuarticRealPolynomial"],function(e,t,r,i,n,o,a,s){"use strict";function l(e,t,i){var n=e+t;return r.sign(e)!==r.sign(t)&&Math.abs(n/Math.max(Math.abs(e),Math.abs(t)))L;++L){var z,N=h[L],B=N*N,F=Math.max(1-B,0),V=Math.sqrt(F);z=r.sign(p)===r.sign(v)?l(p*B+v,f*N,r.EPSILON12):r.sign(v)===r.sign(f*N)?l(p*B,f*N+v,r.EPSILON12):l(p*B+f*N,v,r.EPSILON12);var k=l(y*N,g,r.EPSILON15),U=z*k;0>U?_.push(new i(u,c*N,c*V)):U>0?_.push(new i(u,c*N,c*-V)):0!==V?(_.push(new i(u,c*N,c*-V)),_.push(new i(u,c*N,c*V)),++L):_.push(new i(u,c*N,c*V))}return _}var c={};c.rayPlane=function(n,o,a){if(!e(n))throw new t("ray is required.");if(!e(o))throw new t("plane is required.");var s=n.origin,l=n.direction,u=o.normal,c=i.dot(u,l);if(Math.abs(c)h?void 0:(a=i.multiplyByScalar(l,h,a),i.add(s,a,a))};var h=new i,d=new i;c.rayEllipsoid=function(r,n){if(!e(r))throw new t("ray is required.");if(!e(n))throw new t("ellipsoid is required.");var o,a,s,l,u,c=n.getOneOverRadii(),m=i.multiplyComponents(c,r.origin,h),p=i.multiplyComponents(c,r.direction,d),f=i.magnitudeSquared(m),v=i.dot(m,p);if(f>1){if(v>=0)return void 0;var y=v*v;if(o=f-1,a=i.magnitudeSquared(p),s=a*o,s>y)return void 0;if(y>s){l=v*v-s,u=-v+Math.sqrt(l);var g=u/a,_=o/u;return _>g?{start:g,stop:_}:{start:_,stop:g}}var w=Math.sqrt(o/a);return{start:w,stop:w}}return 1>f?(o=f-1,a=i.magnitudeSquared(p),s=a*o,l=v*v-s,u=-v+Math.sqrt(l),{start:0,stop:u/a}):0>v?(a=i.magnitudeSquared(p),{start:0,stop:-v/a}):void 0},c.grazingAltitudeLocation=function(a,s){if(!e(a))throw new t("ray is required.");if(!e(s))throw new t("ellipsoid is required.");var l=a.origin,c=a.direction,h=s.geodeticSurfaceNormal(l);if(i.dot(c,h)>=0)return l;var d,m,p=e(this.rayEllipsoid(a,s)),f=s.transformPositionToScaledSpace(c),v=i.normalize(f),y=i.mostOrthogonalAxis(f),g=i.normalize(i.cross(y,v)),_=i.normalize(i.cross(v,g)),w=new o(v.x,g.x,_.x,v.y,g.y,_.y,v.z,g.z,_.z),C=o.transpose(w),x=o.fromScale(s.getRadii()),S=o.fromScale(s.getOneOverRadii()),E=new o(0,c.z,-c.y,-c.z,0,c.x,c.y,-c.x,0),b=o.multiply(o.multiply(C,S),E),T=o.multiply(o.multiply(b,x),w),A=o.multiplyByVector(b,l),D=u(T,i.negate(A),0,0,1),P=D.length;if(P>0){for(var M=i.ZERO,I=Number.NEGATIVE_INFINITY,O=0;P>O;++O){d=o.multiplyByVector(x,o.multiplyByVector(w,D[O]));var R=i.normalize(i.subtract(d,l)),L=i.dot(R,c);L>I&&(I=L,M=d)}var z=s.cartesianToCartographic(M);return I=r.clamp(I,0,1),m=i.magnitude(i.subtract(M,l))*Math.sqrt(1-I*I),m=p?-m:m,s.cartographicToCartesian(new n(z.longitude,z.latitude,m))}return void 0};var m=new i;return c.lineSegmentPlane=function(n,o,a,s){if(!e(n))throw new t("endPoint0 is required.");if(!e(o))throw new t("endPoint1 is required.");if(!e(a))throw new t("plane is required.");var l=i.subtract(o,n,m),u=a.normal,c=i.dot(u,l);if(Math.abs(c)d||d>1?void 0:(e(s)||(s=new i),i.multiplyByScalar(l,d,s),i.add(n,s,s),s)},c.trianglePlaneIntersection=function(r,n,o,a){if(!(e(r)&&e(n)&&e(o)&&e(a)))throw new t("p0, p1, p2, and plane are required.");var s=a.normal,l=a.distance,u=i.dot(s,r)+l<0,h=i.dot(s,n)+l<0,d=i.dot(s,o)+l<0,m=0;m+=u?1:0,m+=h?1:0,m+=d?1:0;var p,f;if((1===m||2===m)&&(p=new i,f=new i),1===m){if(u)return c.lineSegmentPlane(r,n,a,p),c.lineSegmentPlane(r,o,a,f),{positions:[r,n,o,p,f],indices:[0,3,4,1,2,4,1,4,3]}; -if(h)return c.lineSegmentPlane(n,o,a,p),c.lineSegmentPlane(n,r,a,f),{positions:[r,n,o,p,f],indices:[1,3,4,2,0,4,2,4,3]};if(d)return c.lineSegmentPlane(o,r,a,p),c.lineSegmentPlane(o,n,a,f),{positions:[r,n,o,p,f],indices:[2,3,4,0,1,4,0,4,3]}}else if(2===m){if(!u)return c.lineSegmentPlane(n,r,a,p),c.lineSegmentPlane(o,r,a,f),{positions:[r,n,o,p,f],indices:[1,2,4,1,4,3,0,3,4]};if(!h)return c.lineSegmentPlane(o,n,a,p),c.lineSegmentPlane(r,n,a,f),{positions:[r,n,o,p,f],indices:[2,0,4,2,4,3,1,3,4]};if(!d)return c.lineSegmentPlane(r,o,a,p),c.lineSegmentPlane(n,o,a,f),{positions:[r,n,o,p,f],indices:[0,1,4,0,4,3,2,3,4]}}return void 0},c}),r("Core/Plane",["./Cartesian3","./defined","./DeveloperError"],function(e,t,r){"use strict";var i=function(i,n){if(!t(i))throw new r("normal is required.");if(!t(n))throw new r("distance is required.");this.normal=e.clone(i),this.distance=n};return i.fromPointNormal=function(n,o,a){if(!t(n))throw new r("point is required.");if(!t(o))throw new r("normal is required.");var s=-e.dot(o,n);return t(a)?(e.clone(o,a.normal),a.distance=s,a):new i(o,s)},i.getPointDistance=function(i,n){if(!t(i))throw new r("plane is required.");if(!t(n))throw new r("point is required.");return e.dot(i.normal,n)+i.distance},i.prototype.getPointDistance=function(e){return i.getPointDistance(this,e)},i}),r("Core/Tipsify",["./defaultValue","./defined","./DeveloperError"],function(e,t,r){"use strict";var i={};return i.calculateACMR=function(i){i=e(i,e.EMPTY_OBJECT);var n=i.indices,o=i.maximumIndex,a=e(i.cacheSize,24);if(!t(n))throw new r("indices is required.");var s=n.length;if(3>s||0!==s%3)throw new r("indices length must be a multiple of three.");if(0>=o)throw new r("maximumIndex must be greater than zero.");if(3>a)throw new r("cacheSize must be greater than two.");if(!t(o)){o=0;for(var l=0,u=n[l];s>l;)u>o&&(o=u),++l,u=n[l]}for(var c=[],h=0;o+1>h;h++)c[h]=0;for(var d=a+1,m=0;s>m;++m)d-c[n[m]]>a&&(c[n[m]]=d,++d);return(d-a+1)/(s/3)},i.tipsify=function(i){function n(e,t,r,i){for(;t.length>=1;){var n=t[t.length-1];if(t.splice(t.length-1,1),e[n].numLiveTriangles>0)return n}for(;i>a;){if(e[a].numLiveTriangles>0)return++a,a-1;++a}return-1}function o(e,t,r,i,o,a,s){for(var l,u=-1,c=-1,h=0;hc||-1===c)&&(c=l,u=d)),++h}return-1===u?n(i,a,e,s):u}i=e(i,e.EMPTY_OBJECT);var a,s=i.indices,l=i.maximumIndex,u=e(i.cacheSize,24);if(!t(s))throw new r("indices is required.");var c=s.length;if(3>c||0!==c%3)throw new r("indices length must be a multiple of three.");if(0>=l)throw new r("maximumIndex must be greater than zero.");if(3>u)throw new r("cacheSize must be greater than two.");var h=0,d=0,m=s[d],p=c;if(t(l))h=l+1;else{for(;p>d;)m>h&&(h=m),++d,m=s[d];if(-1===h)return 0;++h}for(var f=[],v=0;h>v;v++)f[v]={numLiveTriangles:0,timeStamp:0,vertexTriangles:[]};d=0;for(var y=0;p>d;)f[s[d]].vertexTriangles.push(y),++f[s[d]].numLiveTriangles,f[s[d+1]].vertexTriangles.push(y),++f[s[d+1]].numLiveTriangles,f[s[d+2]].vertexTriangles.push(y),++f[s[d+2]].numLiveTriangles,++y,d+=3;var g=0,_=u+1;a=1;var w,C,x=[],S=[],E=0,b=[],T=c/3,A=[];for(v=0;T>v;v++)A[v]=!1;for(var D,P;-1!==g;){x=[],C=f[g],P=C.vertexTriangles.length;for(var M=0;P>M;++M)if(y=C.vertexTriangles[M],!A[y]){A[y]=!0,d=y+y+y;for(var I=0;3>I;++I)D=s[d],x.push(D),S.push(D),b[E]=D,++E,w=f[D],--w.numLiveTriangles,_-w.timeStamp>u&&(w.timeStamp=_,++_),++d}g=o(s,u,x,f,_,S,h)}return b},i}),r("Core/GeometryPipeline",["./barycentricCoordinates","./defaultValue","./defined","./DeveloperError","./Cartesian2","./Cartesian3","./Cartesian4","./Cartographic","./EncodedCartesian3","./Intersect","./IntersectionTests","./Math","./Matrix3","./Matrix4","./Plane","./GeographicProjection","./ComponentDatatype","./IndexDatatype","./PrimitiveType","./Tipsify","./BoundingSphere","./Geometry","./GeometryAttribute"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f,v,y,g,_,w,C,x){"use strict";function S(e,t,r,i,n){e[t++]=r,e[t++]=i,e[t++]=i,e[t++]=n,e[t++]=n,e[t]=r}function E(e){for(var t=e.length,r=6*(t/3),i=y.createTypedArray(t,r),n=0,o=0;t>o;o+=3,n+=6)S(i,n,e[o],e[o+1],e[o+2]);return i}function b(e){var t=e.length;if(t>=3){var r=6*(t-2),i=y.createTypedArray(t,r);S(i,0,e[0],e[1],e[2]);for(var n=6,o=3;t>o;++o,n+=6)S(i,n,e[o-1],e[o],e[o-2]);return i}return new Uint16Array}function T(e){if(e.length>0){for(var t=e.length-1,r=6*(t-1),i=y.createTypedArray(t,r),n=e[0],o=0,a=1;t>a;++a,o+=6)S(i,o,n,e[a],e[a+1]);return i}return new Uint16Array}function A(e){var t={};for(var i in e)if(e.hasOwnProperty(i)&&r(e[i])&&r(e[i].values)){var n=e[i];t[i]=new x({componentDatatype:n.componentDatatype,componentsPerAttribute:n.componentsPerAttribute,normalize:n.normalize,values:[]})}return t}function D(e,t,i){for(var n in t)if(t.hasOwnProperty(n)&&r(t[n])&&r(t[n].values))for(var o=t[n],a=0;aa;a+=3)o.unpack(i,a,Z),m.multiplyByPoint(e,Z,Z),o.pack(Z,i,a)}function M(e,t){if(r(t))for(var i=t.values,n=i.length,a=0;n>a;a+=3)o.unpack(i,a,Z),d.multiplyByVector(e,Z,Z),Z=o.normalize(Z,Z),o.pack(Z,i,a)}function I(e){var t,i=e.length,n={},o=e[0].geometry.attributes;for(t in o)if(o.hasOwnProperty(t)&&r(o[t])&&r(o[t].values)){for(var a=o[t],s=a.values.length,l=!0,u=1;i>u;++u){var c=e[u].geometry.attributes[t];if(!r(c)||a.componentDatatype.value!==c.componentDatatype.value||a.componentsPerAttribute!==c.componentsPerAttribute||a.normalize!==c.normalize){l=!1;break}s+=c.values.length}l&&(n[t]=new x({componentDatatype:a.componentDatatype,componentsPerAttribute:a.componentsPerAttribute,normalize:a.normalize,values:v.createTypedArray(a.componentDatatype,s)}))}return n}function O(e){if(r(e.indices))return e;var t=C.computeNumberOfVertices(e);if(3>t)throw new i("The number of vertices must be at least three.");if(0!==t%3)throw new i("The number of vertices must be a multiple of three.");for(var n=y.createTypedArray(t,t),o=0;t>o;++o)n[o]=o;return e.indices=n,e}function R(e){var t=C.computeNumberOfVertices(e);if(3>t)throw new i("The number of vertices must be at least three.");var r=y.createTypedArray(t,3*(t-2));r[0]=1,r[1]=0,r[2]=2;for(var n=3,o=3;t>o;++o)r[n++]=o-1,r[n++]=0,r[n++]=o;return e.indices=r,e.primitiveType=g.TRIANGLES,e}function L(e){var t=C.computeNumberOfVertices(e);if(3>t)throw new i("The number of vertices must be at least 3.");var r=y.createTypedArray(t,3*(t-2));r[0]=0,r[1]=1,r[2]=2,t>3&&(r[3]=0,r[4]=2,r[5]=3);for(var n=6,o=3;t-1>o;o+=2)r[n++]=o,r[n++]=o-1,r[n++]=o+1,t>o+2&&(r[n++]=o,r[n++]=o+1,r[n++]=o+2);return e.indices=r,e.primitiveType=g.TRIANGLES,e}function z(e){if(r(e.indices))return e;var t=C.computeNumberOfVertices(e);if(2>t)throw new i("The number of vertices must be at least two.");if(0!==t%2)throw new i("The number of vertices must be a multiple of 2.");for(var n=y.createTypedArray(t,t),o=0;t>o;++o)n[o]=o;return e.indices=n,e}function N(e){var t=C.computeNumberOfVertices(e);if(2>t)throw new i("The number of vertices must be at least two.");var r=y.createTypedArray(t,2*(t-1));r[0]=0,r[1]=1;for(var n=2,o=2;t>o;++o)r[n++]=o-1,r[n++]=o;return e.indices=r,e.primitiveType=g.LINES,e}function B(e){var t=C.computeNumberOfVertices(e);if(2>t)throw new i("The number of vertices must be at least two.");var r=y.createTypedArray(t,2*t);r[0]=0,r[1]=1;for(var n=2,o=2;t>o;++o)r[n++]=o-1,r[n++]=o;return r[n++]=t-1,r[n]=0,e.indices=r,e.primitiveType=g.LINES,e}function F(e){switch(e.primitiveType){case g.TRIANGLE_FAN:return R(e);case g.TRIANGLE_STRIP:return L(e);case g.TRIANGLES:return O(e);case g.LINE_STRIP:return N(e);case g.LINE_LOOP:return B(e);case g.LINES:return z(e)}return e}function V(e,t){Math.abs(e.y)=0||t.x>=0||r.x>=0)return void 0;var i=e.y<0,n=t.y<0,o=r.y<0;V(e,i),V(t,n),V(r,o);var a=0;a+=i?1:0,a+=n?1:0,a+=o?1:0;var s=ct.indices;1===a?(s[1]=3,s[2]=4,s[5]=6,s[7]=6,s[8]=5,i?(k(e,t,at,lt),k(e,r,st,ut),s[0]=0,s[3]=1,s[4]=2,s[6]=1):n?(k(t,r,at,lt),k(t,e,st,ut),s[0]=1,s[3]=2,s[4]=0,s[6]=2):o&&(k(r,e,at,lt),k(r,t,st,ut),s[0]=2,s[3]=0,s[4]=1,s[6]=0)):2===a&&(s[2]=4,s[4]=4,s[5]=3,s[7]=5,s[8]=6,i?n?o||(k(r,e,at,lt),k(r,t,st,ut),s[0]=0,s[1]=1,s[3]=0,s[6]=2):(k(t,r,at,lt),k(t,e,st,ut),s[0]=2,s[1]=0,s[3]=2,s[6]=1):(k(e,t,at,lt),k(e,r,st,ut),s[0]=1,s[1]=2,s[3]=1,s[6]=0));var l=ct.positions;return l[0]=e,l[1]=t,l[2]=r,ct.length=3,(1===a||2===a)&&(l[3]=at,l[4]=st,l[5]=lt,l[6]=ut,ct.length=7),ct}function W(t,i,a,s,l,u,c,h){if(r(l)||r(u)||r(c)||r(h)){var d,m,p,f,v,y,g,_,w,C,x,S,E,b,T,A,D,P,M=s.positions,I=M[0],O=M[1],R=M[2];r(l)&&(d=o.fromArray(l,3*t),m=o.fromArray(l,3*i),p=o.fromArray(l,3*a)),r(u)&&(f=o.fromArray(u,3*t),v=o.fromArray(u,3*i),y=o.fromArray(u,3*a)),r(c)&&(g=o.fromArray(c,3*t),_=o.fromArray(c,3*i),w=o.fromArray(c,3*a)),r(h)&&(C=n.fromArray(h,2*t),x=n.fromArray(h,2*i),S=n.fromArray(h,2*a));for(var L=3;L_;_+=3){var w=u[_],x=u[_+1],S=u[_+2],E=o.fromArray(i,3*w),b=o.fromArray(i,3*x),T=o.fromArray(i,3*S),A=U(E,b,T);if(r(A))if(c[3*w+1]=A.positions[0].y,c[3*x+1]=A.positions[1].y,c[3*S+1]=A.positions[2].y,A.length>3){for(var D=c.length/3,P=0;PM?f.push(u[_+M]):f.push(M-3+D)}for(var I=3;Id;d+=2){var m=n[d],f=n[d+1],v=o.fromArray(i,3*m),g=o.fromArray(i,3*f);if(Math.abs(v.y)h;h+=3)u[c++]=a[h],u[c++]=a[h+1],u[c++]=a[h+2],u[c++]=a[h]+s[h]*o,u[c++]=a[h+1]+s[h+1]*o,u[c++]=a[h+2]+s[h+2]*o;var d,m=e.boundingSphere;return r(m)&&(d=new w(m.center,m.radius+o)),new C({attributes:{position:new x({componentDatatype:v.DOUBLE,componentsPerAttribute:3,values:u})},primitiveType:g.LINES,boundingSphere:d})},H.createAttributeIndices=function(e){if(!r(e))throw new i("geometry is required.");var t,n=["position","positionHigh","positionLow","position3DHigh","position3DLow","position2DHigh","position2DLow","pickColor","normal","st","binormal","tangent"],o=e.attributes,a={},s=0,l=n.length;for(t=0;l>t;++t){var u=n[t];r(o[u])&&(a[u]=s++)}for(var c in o)o.hasOwnProperty(c)&&!r(a[c])&&(a[c]=s++);return a},H.reorderForPreVertexCache=function(e){if(!r(e))throw new i("geometry is required.");var t=C.computeNumberOfVertices(e),n=e.indices;if(r(n)){for(var o=new Int32Array(t),a=0;t>a;a++)o[a]=-1;for(var s,l=n,u=l.length,c=y.createTypedArray(t,u),h=0,d=0,m=0;u>h;)s=o[l[h]],-1!==s?c[d]=s:(s=l[h],o[s]=m,c[d]=m,++m),++h,++d;e.indices=c;var p=e.attributes;for(var f in p)if(p.hasOwnProperty(f)&&r(p[f])&&r(p[f].values)){for(var g=p[f],_=g.values,w=0,x=g.componentsPerAttribute,S=v.createTypedArray(g.componentDatatype,m*x);t>w;){var E=o[w];if(-1!==E)for(a=0;x>a;a++)S[x*E+a]=_[x*w+a];++w}g.values=S}}return e},H.reorderForPostVertexCache=function(e,t){if(!r(e))throw new i("geometry is required.");var n=e.indices;if(e.primitiveType===g.TRIANGLES&&r(n)){for(var o=n.length,a=0,s=0;o>s;s++)n[s]>a&&(a=n[s]);e.indices=_.tipsify({indices:n,maximumIndex:a,cacheSize:t})}return e},H.fitToUnsignedShortIndices=function(e){if(!r(e))throw new i("geometry is required.");if(r(e.indices)&&e.primitiveType!==g.TRIANGLES&&e.primitiveType!==g.LINES&&e.primitiveType!==g.POINTS)throw new i("geometry.primitiveType must equal to PrimitiveType.TRIANGLES, PrimitiveType.LINES, or PrimitiveType.POINTS.");var t=[],n=C.computeNumberOfVertices(e);if(r(e.indices)&&n>h.SIXTY_FOUR_KILOBYTES){var o,a=[],s=[],l=0,u=A(e.attributes),c=e.indices,d=c.length;e.primitiveType===g.TRIANGLES?o=3:e.primitiveType===g.LINES?o=2:e.primitiveType===g.POINTS&&(o=1);for(var m=0;d>m;m+=o){for(var p=0;o>p;++p){var f=c[m+p],v=a[f];r(v)||(v=l++,a[f]=v,D(u,e.attributes,f)),s.push(v)}l+o>h.SIXTY_FOUR_KILOBYTES&&(t.push(new C({attributes:u,indices:s,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere})),a=[],s=[],l=0,u=A(e.attributes))}0!==s.length&&t.push(new C({attributes:u,indices:s,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere}))}else t.push(e);return t};var j=new o,Y=new s;H.projectTo2D=function(e,t,n,a,s){if(!r(e))throw new i("geometry is required.");if(!r(t))throw new i("attributeName is required.");if(!r(n))throw new i("attributeName3D is required.");if(!r(a))throw new i("attributeName2D is required.");var l=e.attributes[t];if(!r(l))throw new i("geometry must have attribute matching the attributeName argument: "+t+".");if(l.componentDatatype.value!==v.DOUBLE.value)throw new i("The attribute componentDatatype must be ComponentDatatype.DOUBLE.");s=r(s)?s:new f;for(var u=s.getEllipsoid(),c=l.values,h=new Float64Array(c.length),d=0,m=0;md;++d)l.encode(s[d],X),c[d]=X.high,h[d]=X.low;var m=a.componentsPerAttribute;return e.attributes[n]=new x({componentDatatype:v.FLOAT,componentsPerAttribute:m,values:c}),e.attributes[o]=new x({componentDatatype:v.FLOAT,componentsPerAttribute:m,values:h}),delete e.attributes[t],e};var Z=new o,J=new m,K=new d;H.transformToWorldCoordinates=function(e){if(!r(e))throw new i("instance is required.");var t=e.modelMatrix;if(m.equals(t,m.IDENTITY))return e;var n=e.geometry.attributes;P(t,n.position),P(t,n.prevPosition),P(t,n.nextPosition),(r(n.normal)||r(n.binormal)||r(n.tangent))&&(m.inverse(t,J),m.transpose(J,J),m.getRotation(J,K),M(K,n.normal),M(K,n.binormal),M(K,n.tangent));var o=e.geometry.boundingSphere;return r(o)&&(e.geometry.boundingSphere=w.transform(o,t,o)),e.modelMatrix=m.clone(m.IDENTITY),e},H.combine=function(e){if(!r(e)||e.length<1)throw new i("instances is required and must have length greater than zero.");var t,n,a,s,l=e.length,u=e[0].modelMatrix,c=r(e[0].geometry.indices),h=e[0].geometry.primitiveType;for(n=1;l>n;++n){if(!m.equals(e[n].modelMatrix,u))throw new i("All instances must have the same modelMatrix.");if(r(e[n].geometry.indices)!==c)throw new i("All instance geometries must have an indices or not have one.");if(e[n].geometry.primitiveType!==h)throw new i("All instance geometries must have the same primitiveType.")}var d,p,f,v=I(e);for(t in v)if(v.hasOwnProperty(t))for(d=v[t].values,s=0,n=0;l>n;++n)for(p=e[n].geometry.attributes[t].values,f=p.length,a=0;f>a;++a)d[s++]=p[a];var _;if(c){var x=0;for(n=0;l>n;++n)x+=e[n].geometry.indices.length;var S=C.computeNumberOfVertices(new C({attributes:v,primitiveType:g.POINTS})),E=y.createTypedArray(S,x),b=0,T=0;for(n=0;l>n;++n){var A=e[n].geometry.indices,D=A.length;for(s=0;D>s;++s)E[b++]=T+A[s];T+=C.computeNumberOfVertices(e[n].geometry)}_=E}var P,M=new o,O=0;for(n=0;l>n;++n){if(P=e[n].geometry.boundingSphere,!r(P)){M=void 0;break}o.add(P.center,M,M)}if(r(M))for(o.divideByScalar(M,l,M),n=0;l>n;++n){P=e[n].geometry.boundingSphere;var R=o.magnitude(o.subtract(P.center,M))+P.radius;R>O&&(O=R)}return new C({attributes:v,indices:_,primitiveType:h,boundingSphere:r(M)?new w(M,O):void 0})};var Q=new o,$=new o,et=new o,tt=new o;H.computeNormal=function(e){if(!r(e))throw new i("geometry is required.");var t=e.attributes,n=e.indices;if(!r(t.position)||!r(t.position.values))throw new i("geometry.attributes.position.values is required.");if(!r(n))throw new i("geometry.indices is required.");if(n.length<2||0!==n.length%3)throw new i("geometry.indices length must be greater than 0 and be a multiple of 3.");if(e.primitiveType!==g.TRIANGLES)throw new i("geometry.primitiveType must be PrimitiveType.TRIANGLES.");for(var a=e.attributes.position.values,s=e.attributes.position.values.length/3,l=n.length,u=new Array(s),c=new Array(l/3),h=new Array(l),d=0;s>d;d++)u[d]={indexOffset:0,count:0,currentCount:0};var m=0;for(d=0;l>d;d+=3){var p=n[d],f=n[d+1],y=n[d+2],_=3*p,w=3*f,C=3*y;$.x=a[_],$.y=a[_+1],$.z=a[_+2],et.x=a[w],et.y=a[w+1],et.z=a[w+2],tt.x=a[C],tt.y=a[C+1],tt.z=a[C+2],u[p].count++,u[f].count++,u[y].count++,o.subtract(et,$,et),o.subtract(tt,$,tt),c[m]=o.cross(et,tt),m++}var S=0;for(d=0;s>d;d++)u[d].indexOffset+=S,S+=u[d].count;m=0;var E;for(d=0;l>d;d+=3){E=u[n[d]];var b=E.indexOffset+E.currentCount;h[b]=m,E.currentCount++,E=u[n[d+1]],b=E.indexOffset+E.currentCount,h[b]=m,E.currentCount++,E=u[n[d+2]],b=E.indexOffset+E.currentCount,h[b]=m,E.currentCount++,m++}var T=new Float32Array(3*s);for(d=0;s>d;d++){var A=3*d;if(E=u[d],E.count>0){for(o.clone(o.ZERO,Q),m=0;md;d+=3){var y=n[d],_=n[d+1],w=n[d+2];m=3*y,p=3*_,f=3*w;var C=2*y,S=2*_,E=2*w,b=a[m],T=a[m+1],A=a[m+2],D=l[C],P=l[C+1],M=l[S+1]-P,I=l[E+1]-P,O=1/((l[S]-D)*I-(l[E]-D)*M),R=(I*(a[p]-b)-M*(a[f]-b))*O,L=(I*(a[p+1]-T)-M*(a[f+1]-T))*O,z=(I*(a[p+2]-A)-M*(a[f+2]-A))*O;h[m]+=R,h[m+1]+=L,h[m+2]+=z,h[p]+=R,h[p+1]+=L,h[p+2]+=z,h[f]+=R,h[f+1]+=L,h[f+2]+=z}var N=new Float32Array(3*u),B=new Float32Array(3*u);for(d=0;u>d;d++){m=3*d,p=m+1,f=m+2;var F=o.fromArray(s,m,rt),V=o.fromArray(h,m,nt),k=o.dot(F,V);o.multiplyByScalar(F,k,it),o.normalize(o.subtract(V,it,V),V),B[m]=V.x,B[p]=V.y,B[f]=V.z,o.normalize(o.cross(F,V,V),V),N[m]=V.x,N[p]=V.y,N[f]=V.z}return e.attributes.tangent=new x({componentDatatype:v.FLOAT,componentsPerAttribute:3,values:B}),e.attributes.binormal=new x({componentDatatype:v.FLOAT,componentsPerAttribute:3,values:N}),e};var ot=new o,at=new o,st=new o,lt=new o,ut=new o,ct={positions:new Array(7),indices:new Array(9)};return H.wrapLongitude=function(e){if(!r(e))throw new i("geometry is required.");var t=e.boundingSphere;if(r(t)){var n=t.center.x-t.radius;if(n>0||w.intersect(t,a.UNIT_Y)!==u.INTERSECTING)return e}return F(e),e.primitiveType===g.TRIANGLES?q(e):e.primitiveType===g.LINES&&G(e),e},H}),r("Core/GeometryInstanceAttribute",["./defaultValue","./defined","./DeveloperError"],function(e,t,r){"use strict";var i=function(i){if(i=e(i,e.EMPTY_OBJECT),!t(i.componentDatatype))throw new r("options.componentDatatype is required.");if(!t(i.componentsPerAttribute))throw new r("options.componentsPerAttribute is required.");if(i.componentsPerAttribute<1||i.componentsPerAttribute>4)throw new r("options.componentsPerAttribute must be between 1 and 4.");if(!t(i.value))throw new r("options.value is required.");this.componentDatatype=i.componentDatatype,this.componentsPerAttribute=i.componentsPerAttribute,this.normalize=e(i.normalize,!1),this.value=i.value};return i}),r("Core/GeometryInstance",["./defaultValue","./defined","./DeveloperError","./Matrix4","./Geometry","./GeometryInstanceAttribute"],function(e,t,r,i){"use strict";var n=function(n){if(n=e(n,e.EMPTY_OBJECT),!t(n.geometry))throw new r("options.geometry is required.");this.geometry=n.geometry,this.modelMatrix=i.clone(e(n.modelMatrix,i.IDENTITY)),this.id=n.id,this.pickPrimitive=n.pickPrimitive,this.attributes=e(n.attributes,{})};return n}),r("Core/EllipseGeometry",["./defaultValue","./defined","./BoundingSphere","./Cartesian2","./Cartesian3","./Cartographic","./ComponentDatatype","./IndexDatatype","./DeveloperError","./Ellipsoid","./EllipseGeometryLibrary","./GeographicProjection","./Geometry","./GeometryPipeline","./GeometryInstance","./GeometryAttribute","./GeometryAttributes","./Math","./Matrix3","./PrimitiveType","./Quaternion","./VertexFormat"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f,v,y,g,_,w,C){"use strict";function x(e,t,r){var i=t.vertexFormat,o=t.center,s=t.semiMajorAxis,l=t.ellipsoid,u=t.stRotation,d=r?2*(e.length/3):e.length/3,m=i.st?new Float32Array(2*d):void 0,p=i.normal?new Float32Array(3*d):void 0,y=i.tangent?new Float32Array(3*d):void 0,_=i.binormal?new Float32Array(3*d):void 0,C=0,x=z,S=N,E=B,b=new h(l),T=b.project(l.cartesianToCartographic(o,F),V),A=l.scaleToGeodeticSurface(o,D);l.geodeticSurfaceNormal(A,A);for(var I=w.fromAxisAngle(A,u,L),k=g.fromQuaternion(I,R),U=e.length,W=r?U:0,q=2*(W/3),G=0;U>G;G+=3){var H=G+1,j=G+2,Y=n.fromArray(e,G,D);if(i.st){var X=g.multiplyByVector(k,Y,P),Z=b.project(l.cartesianToCartographic(X,F),M);n.subtract(Z,T,Z),O.x=(Z.x+s)/(2*s),O.y=(Z.y+s)/(2*s),r&&(m[C+q]=O.x,m[C+1+q]=O.y),m[C++]=O.x,m[C++]=O.y}x=l.geodeticSurfaceNormal(Y,x),(i.normal||i.tangent||i.binormal)&&((i.tangent||i.binormal)&&(S=n.cross(n.UNIT_Z,x,S),g.multiplyByVector(k,S,S)),i.normal&&(p[G]=x.x,p[H]=x.y,p[j]=x.z,r&&(p[G+W]=-x.x,p[H+W]=-x.y,p[j+W]=-x.z)),i.tangent&&(y[G]=S.x,y[H]=S.y,y[j]=S.z,r&&(y[G+W]=-S.x,y[H+W]=-S.y,y[j+W]=-S.z)),i.binormal&&(E=n.cross(x,S,E),_[G]=E.x,_[H]=E.y,_[j]=E.z,r&&(_[G+W]=E.x,_[H+W]=E.y,_[j+W]=E.z)))}var J=new v;if(i.position){var K=c.raisePositionsToHeight(e,t,r);J.position=new f({componentDatatype:a.DOUBLE,componentsPerAttribute:3,values:K})}return i.st&&(J.st=new f({componentDatatype:a.FLOAT,componentsPerAttribute:2,values:m})),i.normal&&(J.normal=new f({componentDatatype:a.FLOAT,componentsPerAttribute:3,values:p})),i.tangent&&(J.tangent=new f({componentDatatype:a.FLOAT,componentsPerAttribute:3,values:y})),i.binormal&&(J.binormal=new f({componentDatatype:a.FLOAT,componentsPerAttribute:3,values:_})),J}function S(e){var t,r,i,n,o,a=new Array(2*e*(e+1)),s=0;for(n=1;e>n;++n){for(i=n*(n+1),t=(n-1)*n,a[s++]=i++,a[s++]=t,a[s++]=i,r=2*n,o=0;r-1>o;++o)a[s++]=i,a[s++]=t++,a[s++]=t,a[s++]=i++,a[s++]=t,a[s++]=i;a[s++]=i++,a[s++]=t,a[s++]=i}for(r=2*e,++i,++t,n=0;r-1>n;++n)a[s++]=i,a[s++]=t++,a[s++]=t,a[s++]=i++,a[s++]=t,a[s++]=i;for(++t,++i,n=e-1;n>0;--n){for(a[s++]=t++,a[s++]=t,a[s++]=i,r=2*n,o=0;r-1>o;++o)a[s++]=i,a[s++]=t++,a[s++]=t,a[s++]=i++,a[s++]=t,a[s++]=i;a[s++]=t++,a[s++]=t++,a[s++]=i++}return a}function E(e){var t=e.center;k=n.multiplyByScalar(e.ellipsoid.geodeticSurfaceNormal(t,k),e.height,k),k=n.add(t,k,k);var i=new r(k,e.semiMajorAxis),o=c.computeEllipsePositions(e,!0,!1),a=o.positions,l=o.numPts,u=x(a,e,!1),h=S(l);return h=s.createTypedArray(a.length/3,h),{boundingSphere:i,attributes:u,indices:h}}function b(e,t){var r=t.vertexFormat,i=t.center,o=t.semiMajorAxis,s=t.ellipsoid,l=t.height,u=t.extrudedHeight,c=t.stRotation,d=2*(e.length/3),m=new Float64Array(3*d),p=r.st?new Float32Array(2*d):void 0,y=r.normal?new Float32Array(3*d):void 0,_=r.tangent?new Float32Array(3*d):void 0,C=r.binormal?new Float32Array(3*d):void 0,x=0,S=z,E=N,b=B,T=new h(s),A=T.project(s.cartesianToCartographic(i,F),V),k=s.scaleToGeodeticSurface(i,D);s.geodeticSurfaceNormal(k,k);for(var U=w.fromAxisAngle(k,c,L),W=g.fromQuaternion(U,R),q=e.length,G=2*(q/3),H=0;q>H;H+=3){var j,Y=H+1,X=H+2,Z=n.fromArray(e,H,D);if(r.st){var J=g.multiplyByVector(W,Z,P),K=T.project(s.cartesianToCartographic(J,F),M);n.subtract(K,A,K),O.x=(K.x+o)/(2*o),O.y=(K.y+o)/(2*o),p[x+G]=O.x,p[x+1+G]=O.y,p[x++]=O.x,p[x++]=O.y}Z=s.scaleToGeodeticSurface(Z,Z),j=n.clone(Z,P),S=s.geodeticSurfaceNormal(Z,S);var Q=n.multiplyByScalar(S,l,I);if(Z=n.add(Z,Q,Z),Q=n.multiplyByScalar(S,u,Q),j=n.add(j,Q,j),r.position&&(m[H+q]=j.x,m[Y+q]=j.y,m[X+q]=j.z,m[H]=Z.x,m[Y]=Z.y,m[X]=Z.z),r.normal||r.tangent||r.binormal){b=n.clone(S,b);var $=n.fromArray(e,(H+3)%q,I);n.subtract($,Z,$);var et=n.subtract(j,Z,M);S=n.normalize(n.cross(et,$,S),S),r.normal&&(y[H]=S.x,y[Y]=S.y,y[X]=S.z,y[H+q]=S.x,y[Y+q]=S.y,y[X+q]=S.z),r.tangent&&(E=n.normalize(n.cross(b,S,E),E),_[H]=E.x,_[Y]=E.y,_[X]=E.z,_[H+q]=E.x,_[H+1+q]=E.y,_[H+2+q]=E.z),r.binormal&&(C[H]=b.x,C[Y]=b.y,C[X]=b.z,C[H+q]=b.x,C[Y+q]=b.y,C[X+q]=b.z)}}var tt=new v;return r.position&&(tt.position=new f({componentDatatype:a.DOUBLE,componentsPerAttribute:3,values:m})),r.st&&(tt.st=new f({componentDatatype:a.FLOAT,componentsPerAttribute:2,values:p})),r.normal&&(tt.normal=new f({componentDatatype:a.FLOAT,componentsPerAttribute:3,values:y})),r.tangent&&(tt.tangent=new f({componentDatatype:a.FLOAT,componentsPerAttribute:3,values:_})),r.binormal&&(tt.binormal=new f({componentDatatype:a.FLOAT,componentsPerAttribute:3,values:C})),tt}function T(e){for(var t,r,i,n,o=e.length/3,a=s.createTypedArray(o,6*o),l=0,u=0;o-1>u;u++)t=u,i=u+o,r=t+1,n=r+o,a[l++]=t,a[l++]=i,a[l++]=r,a[l++]=r,a[l++]=i,a[l++]=n;return t=o-1,i=u+o,r=0,n=r+o,a[l++]=t,a[l++]=i,a[l++]=r,a[l++]=r,a[l++]=i,a[l++]=n,a}function A(e){var t=e.center,i=e.ellipsoid,o=e.semiMajorAxis,a=n.multiplyByScalar(i.geodeticSurfaceNormal(t,D),e.height,D);U.center=n.add(t,a,U.center),U.radius=o,a=n.multiplyByScalar(i.geodeticSurfaceNormal(t,a),e.extrudedHeight,a),W.center=n.add(t,a,W.center),W.radius=o;var l=c.computeEllipsePositions(e,!0,!0),u=l.positions,h=l.numPts,f=l.outerPositions,v=r.union(U,W),y=x(u,e,!0),g=S(h),w=g.length;g.length=2*w;for(var C=u.length/3,E=0;w>E;E+=3)g[E+w]=g[E+2]+C,g[E+1+w]=g[E+1]+C,g[E+2+w]=g[E]+C;var A=s.createTypedArray(2*C/3,g),P=new d({attributes:y,indices:A,primitiveType:_.TRIANGLES}),M=b(f,e);g=T(f);var I=s.createTypedArray(2*f.length/3,g),O=new d({attributes:M,indices:I,primitiveType:_.TRIANGLES}),R=m.combine([new p({geometry:P}),new p({geometry:O})]);return{boundingSphere:v,attributes:R.attributes,indices:R.indices}}var D=new n,P=new n,M=new n,I=new n,O=new i,R=new g,L=new w,z=new n,N=new n,B=new n,F=new o,V=new n,k=new n,U=new r,W=new r,q=function(r){r=e(r,e.EMPTY_OBJECT);var i=r.center,o=r.semiMajorAxis,a=r.semiMinorAxis,s=e(r.granularity,y.RADIANS_PER_DEGREE),c=e(r.height,0),h=r.extrudedHeight,d=t(h)&&!y.equalsEpsilon(c,h,1);if(!t(i))throw new l("center is required.");if(!t(o))throw new l("semiMajorAxis is required.");if(!t(a))throw new l("semiMinorAxis is required.");if(0>=o||0>=a)throw new l("Semi-major and semi-minor axes must be greater than zero.");if(a>o)throw new l("semiMajorAxis must be larger than the semiMajorAxis.");if(0>=s)throw new l("granularity must be greater than zero.");this._center=n.clone(i),this._semiMajorAxis=o,this._semiMinorAxis=a,this._ellipsoid=e(r.ellipsoid,u.WGS84),this._rotation=e(r.rotation,0),this._stRotation=e(r.stRotation,0),this._height=c,this._granularity=s,this._vertexFormat=e(r.vertexFormat,C.DEFAULT),this._extrudedHeight=h,this._extrude=d,this._workerName="createEllipseGeometry"};return q.createGeometry=function(e){var t,r={center:e._center,semiMajorAxis:e._semiMajorAxis,semiMinorAxis:e._semiMinorAxis,ellipsoid:e._ellipsoid,rotation:e._rotation,height:e._height,extrudedHeight:e._extrudedHeight,granularity:e._granularity,vertexFormat:e._vertexFormat,stRotation:e._stRotation};return e._extrude?(r.extrudedHeight=Math.min(e._extrudedHeight,e._height),r.height=Math.max(e._extrudedHeight,e._height),t=A(r)):t=E(r),new d({attributes:t.attributes,indices:t.indices,primitiveType:_.TRIANGLES,boundingSphere:t.boundingSphere})},q}),r("Core/CircleGeometry",["./defaultValue","./defined","./DeveloperError","./EllipseGeometry"],function(e,t,r,i){"use strict";var n=function(n){n=e(n,e.EMPTY_OBJECT);var o=n.radius;if(!t(o))throw new r("radius is required.");if(0>=o)throw new r("radius must be greater than zero.");var a={center:n.center,semiMajorAxis:o,semiMinorAxis:o,ellipsoid:n.ellipsoid,height:n.height,extrudedHeight:n.extrudedHeight,granularity:n.granularity,vertexFormat:n.vertexFormat,stRotation:n.stRotation};this._ellipseGeometry=new i(a),this._workerName="createCircleGeometry"};return n.createGeometry=function(e){return i.createGeometry(e._ellipseGeometry)},n}),r("Core/EllipseOutlineGeometry",["./defaultValue","./defined","./BoundingSphere","./Cartesian3","./ComponentDatatype","./IndexDatatype","./DeveloperError","./Ellipsoid","./EllipseGeometryLibrary","./Geometry","./GeometryAttribute","./GeometryAttributes","./Math","./PrimitiveType"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m){"use strict"; -function p(e){var t=e.center;y=i.multiplyByScalar(e.ellipsoid.geodeticSurfaceNormal(t,y),e.height,y),y=i.add(t,y,y);for(var a=new r(y,e.semiMajorAxis),s=l.computeEllipsePositions(e,!1,!0).outerPositions,u=new h({position:new c({componentDatatype:n.DOUBLE,componentsPerAttribute:3,values:l.raisePositionsToHeight(s,e,!1)})}),d=s.length/3,m=o.createTypedArray(d,2*d),p=0,f=0;d-1>f;f++)m[p++]=f,m[p++]=f+1;return m[p++]=d-1,m[p++]=0,{boundingSphere:a,attributes:u,indices:m}}function f(t){var a=e(t.numberOfVerticalLines,16);a=Math.max(a,0);var s=t.center,u=t.ellipsoid,d=t.semiMajorAxis,m=i.multiplyByScalar(u.geodeticSurfaceNormal(s,v),t.height,v);g.center=i.add(s,m,g.center),g.radius=d,m=i.multiplyByScalar(u.geodeticSurfaceNormal(s,m),t.extrudedHeight,m),_.center=i.add(s,m,_.center),_.radius=d;var p=l.computeEllipsePositions(t,!1,!0).outerPositions,f=new h({position:new c({componentDatatype:n.DOUBLE,componentsPerAttribute:3,values:l.raisePositionsToHeight(p,t,!0)})});p=f.position.values;var y=r.union(g,_),w=p.length/3,C=o.createTypedArray(w,2*w+2*a);w/=2;for(var x=0,S=0;w-1>S;S++)C[x++]=S,C[x++]=S+1,C[x++]=S+w,C[x++]=S+w+1;C[x++]=w-1,C[x++]=0,C[x++]=w+w-1,C[x++]=w;var E;if(a>0){var b=Math.min(a,w);E=Math.round(w/b)}var T=Math.min(E*a,w);if(a>0)for(S=0;T>S;S+=E)C[x++]=S,C[x++]=S+w;return{boundingSphere:y,attributes:f,indices:C}}var v=new i,y=new i,g=new r,_=new r,w=function(r){r=e(r,e.EMPTY_OBJECT);var n=r.center,o=r.semiMajorAxis,l=r.semiMinorAxis,u=e(r.granularity,d.RADIANS_PER_DEGREE),c=e(r.height,0),h=r.extrudedHeight,m=t(h)&&!d.equalsEpsilon(c,h,1);if(!t(n))throw new a("center is required.");if(!t(o))throw new a("semiMajorAxis is required.");if(!t(l))throw new a("semiMinorAxis is required.");if(0>=o||0>=l)throw new a("Semi-major and semi-minor axes must be greater than zero.");if(l>o)throw new a("semiMajorAxis must be larger than the semiMajorAxis.");if(0>=u)throw new a("granularity must be greater than zero.");this._center=i.clone(n),this._semiMajorAxis=o,this._semiMinorAxis=l,this._ellipsoid=e(r.ellipsoid,s.WGS84),this._rotation=e(r.rotation,0),this._height=c,this._granularity=u,this._extrudedHeight=h,this._extrude=m,this._numberOfVerticalLines=Math.max(e(r.numberOfVerticalLines,16),0),this._workerName="createEllipseOutlineGeometry"};return w.createGeometry=function(e){var t,r={center:e._center,semiMajorAxis:e._semiMajorAxis,semiMinorAxis:e._semiMinorAxis,ellipsoid:e._ellipsoid,rotation:e._rotation,height:e._height,extrudedHeight:e._extrudedHeight,granularity:e._granularity,numberOfVerticalLines:e._numberOfVerticalLines};return e._extrude?(r.extrudedHeight=Math.min(e._extrudedHeight,e._height),r.height=Math.max(e._extrudedHeight,e._height),t=f(r)):t=p(r),new u({attributes:t.attributes,indices:t.indices,primitiveType:m.LINES,boundingSphere:t.boundingSphere})},w}),r("Core/CircleOutlineGeometry",["./defaultValue","./defined","./DeveloperError","./EllipseOutlineGeometry"],function(e,t,r,i){"use strict";var n=function(n){n=e(n,e.EMPTY_OBJECT);var o=n.radius;if(!t(o))throw new r("radius is required.");if(0>=o)throw new r("radius must be greater than zero.");var a={center:n.center,semiMajorAxis:o,semiMinorAxis:o,ellipsoid:n.ellipsoid,height:n.height,extrudedHeight:n.extrudedHeight,granularity:n.granularity,numberOfVerticalLines:n.numberOfVerticalLines};this._ellipseGeometry=new i(a),this._workerName="createCircleOutlineGeometry"};return n.createGeometry=function(e){return i.createGeometry(e._ellipseGeometry)},n}),r("Core/binarySearch",["./defined","./DeveloperError"],function(e,t){"use strict";var r=function(r,i,n){if(!e(r))throw new t("array is required.");if(!e(i))throw new t("itemToFind is required.");if(!e(n))throw new t("comparator is required.");for(var o,a,s=0,l=r.length-1;l>=s;)if(o=~~((s+l)/2),a=n(r[o],i),0>a)s=o+1;else{if(!(a>0))return o;l=o-1}return~(l+1)};return r}),r("Core/TimeConstants",[],function(){"use strict";var e={SECONDS_PER_MILLISECOND:.001,SECONDS_PER_MINUTE:60,MINUTES_PER_HOUR:60,HOURS_PER_DAY:24,SECONDS_PER_HOUR:3600,MINUTES_PER_DAY:1440,SECONDS_PER_DAY:86400,DAYS_PER_JULIAN_CENTURY:36525,PICOSECOND:1e-9,MODIFIED_JULIAN_DATE_DIFFERENCE:2400000.5};return e}),r("Core/LeapSecond",["./defined","./DeveloperError"],function(e,t){"use strict";var r=function(r,i){if(!e(r))throw new t("date is required.");if(null===i||isNaN(i))throw new t("offset is required and must be a number.");this.julianDate=r,this.offset=i};return r.setLeapSeconds=function(e){if(!Array.isArray(e))throw new t("leapSeconds is required and must be an array.");r._leapSeconds=e,r._leapSeconds.sort(r.compareLeapSecondDate)},r.getLeapSeconds=function(){return r._leapSeconds},r.prototype.equals=function(e){return this.julianDate.equals(e.julianDate)&&this.offset===e.offset},r.compareLeapSecondDate=function(e,t){return e.julianDate.compareTo(t.julianDate)},r._leapSeconds=[],r}),r("Core/TimeStandard",[],function(){"use strict";var e={UTC:0,TAI:1};return e}),r("Core/isLeapYear",["./DeveloperError"],function(e){"use strict";function t(t){if(null===t||isNaN(t))throw new e("year is required and must be a number.");return 0===t%4&&0!==t%100||0===t%400}return t}),r("ThirdParty/sprintf",[],function(){function e(){var e=/%%|%(\d+\$)?([-+\'#0 ]*)(\*\d+\$|\*|\d+)?(\.(\*\d+\$|\*|\d+))?([scboxXuideEfFgG])/g,t=arguments,r=0,i=t[r++],n=function(e,t,r,i){r||(r=" ");var n=e.length>=t?"":Array(1+t-e.length>>>0).join(r);return i?e+n:n+e},o=function(e,t,r,i,o,a){var s=i-e.length;return s>0&&(e=r||!o?n(e,i,a,r):e.slice(0,t.length)+n("",s,"0",!0)+e.slice(t.length)),e},a=function(e,t,r,i,a,s,l){var u=e>>>0;return r=r&&u&&{2:"0b",8:"0",16:"0x"}[t]||"",e=r+n(u.toString(t),s||0,"0",!1),o(e,r,i,a,l)},s=function(e,t,r,i,n,a){return null!=i&&(e=e.slice(0,i)),o(e,"",t,r,n,a)},l=function(e,i,l,u,c,h,d){var m,p,f,v,y;if("%%"==e)return"%";for(var g=!1,_="",w=!1,C=!1,x=" ",S=l.length,E=0;l&&S>E;E++)switch(l.charAt(E)){case" ":_=" ";break;case"+":_="+";break;case"-":g=!0;break;case"'":x=l.charAt(E+1);break;case"0":w=!0;break;case"#":C=!0}if(u=u?"*"==u?+t[r++]:"*"==u.charAt(0)?+t[u.slice(1,-1)]:+u:0,0>u&&(u=-u,g=!0),!isFinite(u))throw new Error("sprintf: (minimum-)width must be finite");switch(h=h?"*"==h?+t[r++]:"*"==h.charAt(0)?+t[h.slice(1,-1)]:+h:"fFeE".indexOf(d)>-1?6:"d"==d?0:void 0,y=i?t[i.slice(0,-1)]:t[r++],d){case"s":return s(String(y),g,u,h,w,x);case"c":return s(String.fromCharCode(+y),g,u,h,w);case"b":return a(y,2,C,g,u,h,w);case"o":return a(y,8,C,g,u,h,w);case"x":return a(y,16,C,g,u,h,w);case"X":return a(y,16,C,g,u,h,w).toUpperCase();case"u":return a(y,10,C,g,u,h,w);case"i":case"d":return m=+y||0,m=Math.round(m-m%1),p=0>m?"-":_,y=p+n(String(Math.abs(m)),h,"0",!1),o(y,p,g,u,w);case"e":case"E":case"f":case"F":case"g":case"G":return m=+y,p=0>m?"-":_,f=["toExponential","toFixed","toPrecision"]["efg".indexOf(d.toLowerCase())],v=["toString","toUpperCase"]["eEfFgG".indexOf(d)%2],y=p+Math.abs(m)[f](h),o(y,p,g,u,w)[v]();default:return e}};return i.replace(e,l)}return e}),r("Core/JulianDate",["./DeveloperError","./binarySearch","./defined","./TimeConstants","./LeapSecond","./TimeStandard","./isLeapYear","../ThirdParty/sprintf"],function(e,t,r,i,n,o,a,s){"use strict";function l(e){v.julianDate=e;var r=n.getLeapSeconds(),i=t(r,v,n.compareLeapSecondDate);0>i&&(i=~i),i>=r.length&&(i=r.length-1);var o=r[i].offset;if(i>0){var a=e.getSecondsDifference(r[i].julianDate);a>o&&(i--,o=r[i].offset)}e.addSeconds(o,e)}function u(e,r){v.julianDate=e;var i=n.getLeapSeconds(),o=t(i,v,n.compareLeapSecondDate);if(0>o&&(o=~o),0===o)return e.addSeconds(-i[0].offset,r);if(o>=i.length)return e.addSeconds(-i[o-1].offset,r);var a=e.getSecondsDifference(i[o].julianDate);return 0===a?e.addSeconds(-i[o].offset,r):1>=a?void 0:e.addSeconds(-i[--o].offset,r)}function c(e,t,n){var a=0|t/i.SECONDS_PER_DAY;return e+=a,t-=i.SECONDS_PER_DAY*a,0>t&&(e--,t+=i.SECONDS_PER_DAY),r(n)?(n._julianDayNumber=e,n._secondsOfDay=t,n):new A(e,t,o.TAI)}function h(e,t,r,n,o,a,s){var l=0|(t-14)/12,u=e+4800+l,c=(0|1461*u/4)+(0|367*(t-2-12*l)/12)-(0|3*((u+100)/100)/4)+r-32075;n-=12,0>n&&(n+=24);var h=a+(n*i.SECONDS_PER_HOUR+o*i.SECONDS_PER_MINUTE+s*i.SECONDS_PER_MILLISECOND);return h>=43200&&(c-=1),[c,h]}function d(e){return h(e.getUTCFullYear(),e.getUTCMonth()+1,e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds())}var m=function(e,t,r,i,n,o,a,s){this.year=e,this.month=t,this.day=r,this.hour=i,this.minute=n,this.second=o,this.millisecond=a,this.isLeapSecond=s},p=[31,28,31,30,31,30,31,31,30,31,30,31],f=29,v={julianDate:void 0},y=/^(\d{4})$/,g=/^(\d{4})-(\d{2})$/,_=/^(\d{4})-?(\d{3})$/,w=/^(\d{4})-?W(\d{2})-?(\d{1})?$/,C=/^(\d{4})-?(\d{2})-?(\d{2})$/,x=/([Z+\-])?(\d{2})?:?(\d{2})?$/,S=/^(\d{2})(\.\d+)?/.source+x.source,E=/^(\d{2}):?(\d{2})(\.\d+)?/.source+x.source,b=/^(\d{2}):?(\d{2}):?(\d{2})(\.\d+)?/.source+x.source,T="Valid ISO 8601 date string required.",A=function(t,n,a){this._julianDayNumber=void 0,this._secondsOfDay=void 0;var s,u;if(r(t)||r(n)||r(a)){if(r(a)){if(a!==o.UTC&&a!==o.TAI)throw new e("timeStandard is not a known TimeStandard.")}else a=o.UTC;if(null===t||isNaN(t))throw new e("julianDayNumber is required.");if(null===n||isNaN(n))throw new e("julianSecondsOfDay is required.");s=0|t,u=n+(t-s)*i.SECONDS_PER_DAY}else{var h=new Date,m=d(h);s=m[0],u=m[1],a=o.UTC}c(s,u,this),a===o.UTC&&l(this)};A.clone=function(e,t){return r(e)?r(t)?(t._julianDayNumber=e._julianDayNumber,t._secondsOfDay=e._secondsOfDay,t):new A(e._julianDayNumber,e._secondsOfDay,o.TAI):void 0},A.fromDate=function(t,r){if(!(t instanceof Date)||isNaN(t.getTime()))throw new e("date must be a valid JavaScript Date.");var i=d(t);return new A(i[0],i[1],r)},A.fromIso8601=function(t){if("string"!=typeof t)throw new e(T);t=t.replace(",",".");var i,n,s,l=t.split("T"),u=1,c=1,d=0,m=0,v=0,x=0,D=l[0],P=l[1];if(!r(D))throw new e(T);var M;if(l=D.match(C),null!==l){if(M=D.split("-").length-1,M>0&&2!==M)throw new e(T);i=+l[1],u=+l[2],c=+l[3]}else if(l=D.match(g),null!==l)i=+l[1],u=+l[2];else if(l=D.match(y),null!==l)i=+l[1];else{var I;if(l=D.match(_),null!==l){if(i=+l[1],I=+l[2],s=a(i),1>I||s&&I>366||!s&&I>365)throw new e(T)}else{if(l=D.match(w),null===l)throw new e(T);i=+l[1];var O=+l[2],R=+l[3]||0;if(M=D.split("-").length-1,M>0&&(!r(l[3])&&1!==M||r(l[3])&&2!==M))throw new e(T);var L=new Date(Date.UTC(i,0,4));I=7*O+R-L.getUTCDay()-3}n=new Date(Date.UTC(i,0,1)),n.setUTCDate(I),u=n.getUTCMonth()+1,c=n.getUTCDate()}if(s=a(i),1>u||u>12||1>c||(2!==u||!s)&&c>p[u-1]||s&&2===u&&c>f)throw new e(T);var z;if(r(P)){if(l=P.match(b),null!==l){if(M=P.split(":").length-1,M>0&&2!==M&&3!==M)throw new e(T);d=+l[1],m=+l[2],v=+l[3],x=1e3*+(l[4]||0),z=5}else if(l=P.match(E),null!==l){if(M=P.split(":").length-1,M>0&&1!==M)throw new e(T);d=+l[1],m=+l[2],v=60*+(l[3]||0),z=4}else{if(l=P.match(S),null===l)throw new e(T);d=+l[1],m=60*+(l[2]||0),z=3}if(m>=60||v>=61||d>24||24===d&&(m>0||v>0||x>0))throw new e(T);var N=l[z],B=+l[z+1],F=+(l[z+2]||0);switch(N){case"+":d-=B,m-=F;break;case"-":d+=B,m+=F;break;case"Z":break;default:m+=new Date(Date.UTC(i,u-1,c,d,m)).getTimezoneOffset()}}else m+=new Date(Date.UTC(i,u-1,c)).getTimezoneOffset();var V=60===v;for(V&&v--;m>=60;)m-=60,d++;for(;d>=24;)d-=24,c++;for(n=s&&2===u?f:p[u-1];c>n;)c-=n,u++,u>12&&(u-=12,i++),n=s&&2===u?f:p[u-1];for(;0>m;)m+=60,d--;for(;0>d;)d+=24,c--;for(;1>c;)u--,1>u&&(u+=12,i--),n=s&&2===u?f:p[u-1],c+=n;var k=h(i,u,c,d,m,v,x),U=new A(k[0],k[1],o.UTC);return V&&U.addSeconds(1,U),U},A.fromTotalDays=function(t,r){if(null===t||isNaN(t))throw new e("totalDays is required.");return new A(t,0,r)},A.compare=function(e,t){var r=e._julianDayNumber-t._julianDayNumber;return 0!==r?r:e._secondsOfDay-t._secondsOfDay},A.equals=function(e,t){return e===t||r(e)&&r(t)&&e._julianDayNumber===t._julianDayNumber&&e._secondsOfDay===t._secondsOfDay},A.equalsEpsilon=function(t,r,i){if(null===i||isNaN(i))throw new e("epsilon is required and must be a number.");return Math.abs(t.getSecondsDifference(r))<=i},A.prototype.clone=function(e){return A.clone(this,e)},A.prototype.getTotalDays=function(){return this._julianDayNumber+this._secondsOfDay/i.SECONDS_PER_DAY},A.prototype.getJulianDayNumber=function(){return this._julianDayNumber},A.prototype.getJulianTimeFraction=function(){return this._secondsOfDay/i.SECONDS_PER_DAY},A.prototype.getSecondsOfDay=function(){return this._secondsOfDay};var D=new A(0,0,o.TAI);return A.prototype.toGregorianDate=function(){var e=!1,t=u(this,D);r(t)||(this.addSeconds(-1,D),t=u(D,D),e=!0);var n=t._julianDayNumber,o=t._secondsOfDay;o>=43200&&(n+=1);var a=0|n+68569,s=0|4*a/146097;a=0|a-(0|(146097*s+3)/4);var l=0|4e3*(a+1)/1461001;a=0|a-(0|1461*l/4)+31;var c=0|80*a/2447,h=0|a-(0|2447*c/80);a=0|c/11;var d=0|c+2-12*a,p=0|100*(s-49)+l+a,f=0|o/i.SECONDS_PER_HOUR,v=o-f*i.SECONDS_PER_HOUR,y=0|v/i.SECONDS_PER_MINUTE;v-=y*i.SECONDS_PER_MINUTE;var g=0|v,_=(v-g)/i.SECONDS_PER_MILLISECOND;return f+=12,f>23&&(f-=24),e&&(g+=1),new m(p,d,h,f,y,g,_,e)},A.prototype.toDate=function(){var e=this.toGregorianDate(),t=e.second;return e.isLeapSecond&&(t-=1),new Date(Date.UTC(e.year,e.month-1,e.day,e.hour,e.minute,t,e.millisecond))},A.prototype.toIso8601=function(e){var t,i=this.toGregorianDate();return r(e)||0===i.millisecond?r(e)&&0!==e?(t=(.01*i.millisecond).toFixed(e).replace(".","").slice(0,e),s("%04d-%02d-%02dT%02d:%02d:%02d.%sZ",i.year,i.month,i.day,i.hour,i.minute,i.second,t)):s("%04d-%02d-%02dT%02d:%02d:%02dZ",i.year,i.month,i.day,i.hour,i.minute,i.second):(t=(.01*i.millisecond).toString().replace(".",""),s("%04d-%02d-%02dT%02d:%02d:%02d.%sZ",i.year,i.month,i.day,i.hour,i.minute,i.second,t))},A.prototype.getSecondsDifference=function(e){var t=this,r=e,n=(r._julianDayNumber-t._julianDayNumber)*i.SECONDS_PER_DAY;return n+(r._secondsOfDay-t._secondsOfDay)},A.prototype.getMinutesDifference=function(e){return this.getSecondsDifference(e)/i.SECONDS_PER_MINUTE},A.prototype.getDaysDifference=function(e){var t=this,r=e,n=r._julianDayNumber-t._julianDayNumber,o=(r._secondsOfDay-t._secondsOfDay)/i.SECONDS_PER_DAY;return n+o},A.prototype.getTaiMinusUtc=function(){v.julianDate=this;var e=n.getLeapSeconds(),r=t(e,v,n.compareLeapSecondDate);return 0>r&&(r=~r,--r,0>r&&(r=0)),e[r].offset},A.prototype.addSeconds=function(t,r){if(null===t||isNaN(t))throw new e("seconds is required and must be a number.");return c(this._julianDayNumber,this._secondsOfDay+t,r)},A.prototype.addMinutes=function(t){if(null===t||isNaN(t))throw new e("duration is required and must be a number.");var r=this._secondsOfDay+t*i.SECONDS_PER_MINUTE;return new A(this._julianDayNumber,r,o.TAI)},A.prototype.addHours=function(t){if(null===t||isNaN(t))throw new e("duration is required and must be a number.");var r=this._secondsOfDay+t*i.SECONDS_PER_HOUR;return new A(this._julianDayNumber,r,o.TAI)},A.prototype.addDays=function(t){if(null===t||isNaN(t))throw new e("duration is required and must be a number.");var r=this._julianDayNumber+t;return new A(r,this._secondsOfDay,o.TAI)},A.prototype.lessThan=function(e){return A.compare(this,e)<0},A.prototype.lessThanOrEquals=function(e){return A.compare(this,e)<=0},A.prototype.greaterThan=function(e){return A.compare(this,e)>0},A.prototype.greaterThanOrEquals=function(e){return A.compare(this,e)>=0},A.prototype.compareTo=function(e){return A.compare(this,e)},A.prototype.equals=function(e){return A.equals(this,e)},A.prototype.equalsEpsilon=function(e,t){return A.equalsEpsilon(this,e,t)},0===n._leapSeconds.length&&(n._leapSeconds=[new n(new A(2441317,43210,o.TAI),10),new n(new A(2441499,43211,o.TAI),11),new n(new A(2441683,43212,o.TAI),12),new n(new A(2442048,43213,o.TAI),13),new n(new A(2442413,43214,o.TAI),14),new n(new A(2442778,43215,o.TAI),15),new n(new A(2443144,43216,o.TAI),16),new n(new A(2443509,43217,o.TAI),17),new n(new A(2443874,43218,o.TAI),18),new n(new A(2444239,43219,o.TAI),19),new n(new A(2444786,43220,o.TAI),20),new n(new A(2445151,43221,o.TAI),21),new n(new A(2445516,43222,o.TAI),22),new n(new A(2446247,43223,o.TAI),23),new n(new A(2447161,43224,o.TAI),24),new n(new A(2447892,43225,o.TAI),25),new n(new A(2448257,43226,o.TAI),26),new n(new A(2448804,43227,o.TAI),27),new n(new A(2449169,43228,o.TAI),28),new n(new A(2449534,43229,o.TAI),29),new n(new A(2450083,43230,o.TAI),30),new n(new A(2450630,43231,o.TAI),31),new n(new A(2451179,43232,o.TAI),32),new n(new A(2453736,43233,o.TAI),33),new n(new A(2454832,43234,o.TAI),34),new n(new A(2456109,43235,o.TAI),35)]),A}),r("Core/ClockStep",["./Enumeration"],function(e){"use strict";var t={TICK_DEPENDENT:new e(0,"TICK_DEPENDENT"),SYSTEM_CLOCK_MULTIPLIER:new e(1,"SYSTEM_CLOCK_MULTIPLIER"),SYSTEM_CLOCK:new e(2,"SYSTEM_CLOCK")};return t}),r("Core/ClockRange",["./Enumeration"],function(e){"use strict";var t={UNBOUNDED:new e(0,"UNBOUNDED"),CLAMPED:new e(1,"CLAMPED"),LOOP_STOP:new e(2,"LOOP_STOP")};return t}),r("Core/Event",["./DeveloperError"],function(e){"use strict";var t=function(){this._listeners=[],this._scopes=[]};return t.prototype.getNumberOfListeners=function(){return this._listeners.length},t.prototype.addEventListener=function(t,r){if("function"!=typeof t)throw new e("listener is required and must be a function.");this._listeners.push(t),this._scopes.push(r);var i=this;return function(){i.removeEventListener(t,r)}},t.prototype.removeEventListener=function(t,r){if("function"!=typeof t)throw new e("listener is required and must be a function.");for(var i=this._listeners,n=this._scopes,o=-1,a=0;ai;i++)e[i].apply(t[i],arguments)},t}),r("Core/Clock",["./defined","./DeveloperError","./JulianDate","./ClockStep","./ClockRange","./Event","./defaultValue"],function(e,t,r,i,n,o,a){"use strict";var s=function(s){s=a(s,a.EMPTY_OBJECT);var l=s.startTime,u=!e(l),c=s.stopTime,h=!e(c),d=s.currentTime,m=!e(d);if(u&&h&&m?(d=new r,l=r.clone(d),c=d.addDays(1)):u&&h?(l=r.clone(d),c=d.addDays(1)):u&&m?(l=c.addDays(-1),d=r.clone(l)):m&&h?(d=r.clone(l),c=l.addDays(1)):m?d=r.clone(l):h?c=d.addDays(1):u&&(l=r.clone(d)),l.greaterThan(c))throw new t("startTime must come before stopTime.");this.startTime=l,this.stopTime=c,this.currentTime=d,this.multiplier=a(s.multiplier,1),this.clockStep=a(s.clockStep,i.SYSTEM_CLOCK_MULTIPLIER),this.clockRange=a(s.clockRange,n.UNBOUNDED),this.shouldAnimate=a(s.shouldAnimate,!0),this.onTick=new o,this._lastSystemTime=Date.now()};return s.prototype.tick=function(){var e=Date.now(),t=this.currentTime,o=this.startTime,a=this.stopTime,s=this.multiplier;if(this.shouldAnimate)if(this.clockStep===i.SYSTEM_CLOCK)t=new r;else{if(this.clockStep===i.TICK_DEPENDENT)t=t.addSeconds(s);else{var l=e-this._lastSystemTime;t=t.addSeconds(s*(l/1e3))}if(this.clockRange===n.CLAMPED)t.lessThan(o)?t=o:t.greaterThan(a)&&(t=a);else if(this.clockRange===n.LOOP_STOP)for(t.lessThan(o)&&(t=r.clone(o));t.greaterThan(a);)t=o.addSeconds(a.getSecondsDifference(t))}return this.currentTime=t,this._lastSystemTime=e,this.onTick.raiseEvent(this),t},s}),r("Core/Color",["./defaultValue","./defined","./freezeObject","./DeveloperError","./FeatureDetection","./Math"],function(e,t,r,i,n,o){"use strict";function a(e,t,r){return 0>r&&(r+=1),r>1&&(r-=1),1>6*r?e+6*(t-e)*r:1>2*r?t:2>3*r?e+6*(t-e)*(2/3-r):e}var s=function(t,r,i,n){this.red=e(t,1),this.green=e(r,1),this.blue=e(i,1),this.alpha=e(n,1)};s.fromBytes=function(t,r,i,n){return t=s.byteToFloat(e(t,255)),r=s.byteToFloat(e(r,255)),i=s.byteToFloat(e(i,255)),n=s.byteToFloat(e(n,255)),new s(t,r,i,n)};var l,u,c;n.supportsTypedArrays()&&(l=new ArrayBuffer(4),u=new Uint32Array(l),c=new Uint8Array(l)),s.fromRgba=function(e){return u[0]=e,s.fromBytes(c[0],c[1],c[2],c[3])},s.fromHsl=function(t,r,i,n){t=e(t,0)%1,r=e(r,0),i=e(i,0),n=e(n,1);var o=i,l=i,u=i;if(0!==r){var c;c=.5>i?i*(1+r):i+r-i*r;var h=2*i-c;o=a(h,c,t+1/3),l=a(h,c,t),u=a(h,c,t-1/3)}return new s(o,l,u,n)},s.fromRandom=function(r,n){r=e(r,e.EMPTY_OBJECT);var a=r.red;if(!t(a)){var l=e(r.minimumRed,0),u=e(r.maximumRed,1);if(l>u)throw new i("minimumRed must be less than or equal to maximumRed");a=l+o.nextRandomNumber()*(u-l)}var c=r.green;if(!t(c)){var h=e(r.minimumGreen,0),d=e(r.maximumGreen,1);if(h>d)throw new i("minimumGreen must be less than or equal to maximumGreen");c=h+o.nextRandomNumber()*(d-h)}var m=r.blue;if(!t(m)){var p=e(r.minimumBlue,0),f=e(r.maximumBlue,1);if(p>f)throw new i("minimumBlue must be less than or equal to maximumBlue");m=p+o.nextRandomNumber()*(f-p)}var v=r.alpha;if(!t(v)){var y=e(r.minimumAlpha,0),g=e(r.maximumAlpha,1);if(y>g)throw new i("minimumAlpha must be less than or equal to maximumAlpha");v=y+o.nextRandomNumber()*(g-y)}return t(n)?(n.red=a,n.green=c,n.blue=m,n.alpha=v,n):new s(a,c,m,v)};var h=/^#([0-9a-f])([0-9a-f])([0-9a-f])$/i,d=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i,m=/^rgba?\(\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)(?:\s*,\s*([0-9.]+))?\s*\)$/i,p=/^hsla?\(\s*([0-9.]+)\s*,\s*([0-9.]+%)\s*,\s*([0-9.]+%)(?:\s*,\s*([0-9.]+))?\s*\)$/i;return s.fromCssColorString=function(r){if(!t(r))throw new i("color is required");var n=s[r.toUpperCase()];if(t(n))return s.clone(n);var o=h.exec(r);return null!==o?new s(parseInt(o[1],16)/15,parseInt(o[2],16)/15,parseInt(o[3],16)/15):(o=d.exec(r),null!==o?new s(parseInt(o[1],16)/255,parseInt(o[2],16)/255,parseInt(o[3],16)/255):(o=m.exec(r),null!==o?new s(parseFloat(o[1])/("%"===o[1].substr(-1)?100:255),parseFloat(o[2])/("%"===o[2].substr(-1)?100:255),parseFloat(o[3])/("%"===o[3].substr(-1)?100:255),parseFloat(e(o[4],"1.0"))):(o=p.exec(r),null!==o?s.fromHsl(parseFloat(o[1])/360,parseFloat(o[2])/100,parseFloat(o[3])/100,parseFloat(e(o[4],"1.0"))):void 0)))},s.packedLength=4,s.pack=function(r,n,o){if(!t(r))throw new i("value is required");if(!t(n))throw new i("array is required");o=e(o,0),n[o++]=r.red,n[o++]=r.green,n[o++]=r.blue,n[o]=r.alpha},s.unpack=function(r,n,o){if(!t(r))throw new i("array is required");return n=e(n,0),t(o)||(o=new s),o.red=r[n++],o.green=r[n++],o.blue=r[n++],o.alpha=r[n],o},s.byteToFloat=function(e){return e/255},s.floatToByte=function(e){return 1===e?255:0|256*e},s.clone=function(e,r){return t(e)?t(r)?(r.red=e.red,r.green=e.green,r.blue=e.blue,r.alpha=e.alpha,r):new s(e.red,e.green,e.blue,e.alpha):void 0},s.equals=function(e,r){return e===r||t(e)&&t(r)&&e.red===r.red&&e.green===r.green&&e.blue===r.blue&&e.alpha===r.alpha},s.prototype.clone=function(e){return s.clone(this,e)},s.prototype.equals=function(e){return s.equals(this,e)},s.prototype.equalsEpsilon=function(e,r){return this===e||t(e)&&Math.abs(this.red-e.red)<=r&&Math.abs(this.green-e.green)<=r&&Math.abs(this.blue-e.blue)<=r&&Math.abs(this.alpha-e.alpha)<=r},s.prototype.toString=function(){return"("+this.red+", "+this.green+", "+this.blue+", "+this.alpha+")"},s.prototype.toCssColorString=function(){var e=s.floatToByte(this.red),t=s.floatToByte(this.green),r=s.floatToByte(this.blue);return 1===this.alpha?"rgb("+e+","+t+","+r+")":"rgba("+e+","+t+","+r+","+this.alpha+")"},s.prototype.toBytes=function(e){var r=s.floatToByte(this.red),i=s.floatToByte(this.green),n=s.floatToByte(this.blue),o=s.floatToByte(this.alpha);return t(e)?(e[0]=r,e[1]=i,e[2]=n,e[3]=o,e):[r,i,n,o]},s.prototype.toRgba=function(){return c[0]=s.floatToByte(this.red),c[1]=s.floatToByte(this.green),c[2]=s.floatToByte(this.blue),c[3]=s.floatToByte(this.alpha),u[0]},s.ALICEBLUE=r(s.fromCssColorString("#F0F8FF")),s.ANTIQUEWHITE=r(s.fromCssColorString("#FAEBD7")),s.AQUA=r(s.fromCssColorString("#00FFFF")),s.AQUAMARINE=r(s.fromCssColorString("#7FFFD4")),s.AZURE=r(s.fromCssColorString("#F0FFFF")),s.BEIGE=r(s.fromCssColorString("#F5F5DC")),s.BISQUE=r(s.fromCssColorString("#FFE4C4")),s.BLACK=r(s.fromCssColorString("#000000")),s.BLANCHEDALMOND=r(s.fromCssColorString("#FFEBCD")),s.BLUE=r(s.fromCssColorString("#0000FF")),s.BLUEVIOLET=r(s.fromCssColorString("#8A2BE2")),s.BROWN=r(s.fromCssColorString("#A52A2A")),s.BURLYWOOD=r(s.fromCssColorString("#DEB887")),s.CADETBLUE=r(s.fromCssColorString("#5F9EA0")),s.CHARTREUSE=r(s.fromCssColorString("#7FFF00")),s.CHOCOLATE=r(s.fromCssColorString("#D2691E")),s.CORAL=r(s.fromCssColorString("#FF7F50")),s.CORNFLOWERBLUE=r(s.fromCssColorString("#6495ED")),s.CORNSILK=r(s.fromCssColorString("#FFF8DC")),s.CRIMSON=r(s.fromCssColorString("#DC143C")),s.CYAN=r(s.fromCssColorString("#00FFFF")),s.DARKBLUE=r(s.fromCssColorString("#00008B")),s.DARKCYAN=r(s.fromCssColorString("#008B8B")),s.DARKGOLDENROD=r(s.fromCssColorString("#B8860B")),s.DARKGRAY=r(s.fromCssColorString("#A9A9A9")),s.DARKGREEN=r(s.fromCssColorString("#006400")),s.DARKGREY=s.DARKGRAY,s.DARKKHAKI=r(s.fromCssColorString("#BDB76B")),s.DARKMAGENTA=r(s.fromCssColorString("#8B008B")),s.DARKOLIVEGREEN=r(s.fromCssColorString("#556B2F")),s.DARKORANGE=r(s.fromCssColorString("#FF8C00")),s.DARKORCHID=r(s.fromCssColorString("#9932CC")),s.DARKRED=r(s.fromCssColorString("#8B0000")),s.DARKSALMON=r(s.fromCssColorString("#E9967A")),s.DARKSEAGREEN=r(s.fromCssColorString("#8FBC8F")),s.DARKSLATEBLUE=r(s.fromCssColorString("#483D8B")),s.DARKSLATEGRAY=r(s.fromCssColorString("#2F4F4F")),s.DARKSLATEGREY=s.DARKSLATEGRAY,s.DARKTURQUOISE=r(s.fromCssColorString("#00CED1")),s.DARKVIOLET=r(s.fromCssColorString("#9400D3")),s.DEEPPINK=r(s.fromCssColorString("#FF1493")),s.DEEPSKYBLUE=r(s.fromCssColorString("#00BFFF")),s.DIMGRAY=r(s.fromCssColorString("#696969")),s.DIMGREY=s.DIMGRAY,s.DODGERBLUE=r(s.fromCssColorString("#1E90FF")),s.FIREBRICK=r(s.fromCssColorString("#B22222")),s.FLORALWHITE=r(s.fromCssColorString("#FFFAF0")),s.FORESTGREEN=r(s.fromCssColorString("#228B22")),s.FUSCHIA=r(s.fromCssColorString("#FF00FF")),s.GAINSBORO=r(s.fromCssColorString("#DCDCDC")),s.GHOSTWHITE=r(s.fromCssColorString("#F8F8FF")),s.GOLD=r(s.fromCssColorString("#FFD700")),s.GOLDENROD=r(s.fromCssColorString("#DAA520")),s.GRAY=r(s.fromCssColorString("#808080")),s.GREEN=r(s.fromCssColorString("#008000")),s.GREENYELLOW=r(s.fromCssColorString("#ADFF2F")),s.GREY=s.GRAY,s.HONEYDEW=r(s.fromCssColorString("#F0FFF0")),s.HOTPINK=r(s.fromCssColorString("#FF69B4")),s.INDIANRED=r(s.fromCssColorString("#CD5C5C")),s.INDIGO=r(s.fromCssColorString("#4B0082")),s.IVORY=r(s.fromCssColorString("#FFFFF0")),s.KHAKI=r(s.fromCssColorString("#F0E68C")),s.LAVENDER=r(s.fromCssColorString("#E6E6FA")),s.LAVENDAR_BLUSH=r(s.fromCssColorString("#FFF0F5")),s.LAWNGREEN=r(s.fromCssColorString("#7CFC00")),s.LEMONCHIFFON=r(s.fromCssColorString("#FFFACD")),s.LIGHTBLUE=r(s.fromCssColorString("#ADD8E6")),s.LIGHTCORAL=r(s.fromCssColorString("#F08080")),s.LIGHTCYAN=r(s.fromCssColorString("#E0FFFF")),s.LIGHTGOLDENRODYELLOW=r(s.fromCssColorString("#FAFAD2")),s.LIGHTGRAY=r(s.fromCssColorString("#D3D3D3")),s.LIGHTGREEN=r(s.fromCssColorString("#90EE90")),s.LIGHTGREY=s.LIGHTGRAY,s.LIGHTPINK=r(s.fromCssColorString("#FFB6C1")),s.LIGHTSEAGREEN=r(s.fromCssColorString("#20B2AA")),s.LIGHTSKYBLUE=r(s.fromCssColorString("#87CEFA")),s.LIGHTSLATEGRAY=r(s.fromCssColorString("#778899")),s.LIGHTSLATEGREY=s.LIGHTSLATEGRAY,s.LIGHTSTEELBLUE=r(s.fromCssColorString("#B0C4DE")),s.LIGHTYELLOW=r(s.fromCssColorString("#FFFFE0")),s.LIME=r(s.fromCssColorString("#00FF00")),s.LIMEGREEN=r(s.fromCssColorString("#32CD32")),s.LINEN=r(s.fromCssColorString("#FAF0E6")),s.MAGENTA=r(s.fromCssColorString("#FF00FF")),s.MAROON=r(s.fromCssColorString("#800000")),s.MEDIUMAQUAMARINE=r(s.fromCssColorString("#66CDAA")),s.MEDIUMBLUE=r(s.fromCssColorString("#0000CD")),s.MEDIUMORCHID=r(s.fromCssColorString("#BA55D3")),s.MEDIUMPURPLE=r(s.fromCssColorString("#9370DB")),s.MEDIUMSEAGREEN=r(s.fromCssColorString("#3CB371")),s.MEDIUMSLATEBLUE=r(s.fromCssColorString("#7B68EE")),s.MEDIUMSPRINGGREEN=r(s.fromCssColorString("#00FA9A")),s.MEDIUMTURQUOISE=r(s.fromCssColorString("#48D1CC")),s.MEDIUMVIOLETRED=r(s.fromCssColorString("#C71585")),s.MIDNIGHTBLUE=r(s.fromCssColorString("#191970")),s.MINTCREAM=r(s.fromCssColorString("#F5FFFA")),s.MISTYROSE=r(s.fromCssColorString("#FFE4E1")),s.MOCCASIN=r(s.fromCssColorString("#FFE4B5")),s.NAVAJOWHITE=r(s.fromCssColorString("#FFDEAD")),s.NAVY=r(s.fromCssColorString("#000080")),s.OLDLACE=r(s.fromCssColorString("#FDF5E6")),s.OLIVE=r(s.fromCssColorString("#808000")),s.OLIVEDRAB=r(s.fromCssColorString("#6B8E23")),s.ORANGE=r(s.fromCssColorString("#FFA500")),s.ORANGERED=r(s.fromCssColorString("#FF4500")),s.ORCHID=r(s.fromCssColorString("#DA70D6")),s.PALEGOLDENROD=r(s.fromCssColorString("#EEE8AA")),s.PALEGREEN=r(s.fromCssColorString("#98FB98")),s.PALETURQUOISE=r(s.fromCssColorString("#AFEEEE")),s.PALEVIOLETRED=r(s.fromCssColorString("#DB7093")),s.PAPAYAWHIP=r(s.fromCssColorString("#FFEFD5")),s.PEACHPUFF=r(s.fromCssColorString("#FFDAB9")),s.PERU=r(s.fromCssColorString("#CD853F")),s.PINK=r(s.fromCssColorString("#FFC0CB")),s.PLUM=r(s.fromCssColorString("#DDA0DD")),s.POWDERBLUE=r(s.fromCssColorString("#B0E0E6")),s.PURPLE=r(s.fromCssColorString("#800080")),s.RED=r(s.fromCssColorString("#FF0000")),s.ROSYBROWN=r(s.fromCssColorString("#BC8F8F")),s.ROYALBLUE=r(s.fromCssColorString("#4169E1")),s.SADDLEBROWN=r(s.fromCssColorString("#8B4513")),s.SALMON=r(s.fromCssColorString("#FA8072")),s.SANDYBROWN=r(s.fromCssColorString("#F4A460")),s.SEAGREEN=r(s.fromCssColorString("#2E8B57")),s.SEASHELL=r(s.fromCssColorString("#FFF5EE")),s.SIENNA=r(s.fromCssColorString("#A0522D")),s.SILVER=r(s.fromCssColorString("#C0C0C0")),s.SKYBLUE=r(s.fromCssColorString("#87CEEB")),s.SLATEBLUE=r(s.fromCssColorString("#6A5ACD")),s.SLATEGRAY=r(s.fromCssColorString("#708090")),s.SLATEGREY=s.SLATEGRAY,s.SNOW=r(s.fromCssColorString("#FFFAFA")),s.SPRINGGREEN=r(s.fromCssColorString("#00FF7F")),s.STEELBLUE=r(s.fromCssColorString("#4682B4")),s.TAN=r(s.fromCssColorString("#D2B48C")),s.TEAL=r(s.fromCssColorString("#008080")),s.THISTLE=r(s.fromCssColorString("#D8BFD8")),s.TOMATO=r(s.fromCssColorString("#FF6347")),s.TURQUOISE=r(s.fromCssColorString("#40E0D0")),s.VIOLET=r(s.fromCssColorString("#EE82EE")),s.WHEAT=r(s.fromCssColorString("#F5DEB3")),s.WHITE=r(s.fromCssColorString("#FFFFFF")),s.WHITESMOKE=r(s.fromCssColorString("#F5F5F5")),s.YELLOW=r(s.fromCssColorString("#FFFF00")),s.YELLOWGREEN=r(s.fromCssColorString("#9ACD32")),s}),r("Core/ColorGeometryInstanceAttribute",["./defaultValue","./defined","./Color","./ComponentDatatype","./DeveloperError"],function(e,t,r,i,n){"use strict";var o=function(t,n,o,a){t=e(t,1),n=e(n,1),o=e(o,1),a=e(a,1),this.componentDatatype=i.UNSIGNED_BYTE,this.componentsPerAttribute=4,this.normalize=!0,this.value=new Uint8Array([r.floatToByte(t),r.floatToByte(n),r.floatToByte(o),r.floatToByte(a)])};return o.fromColor=function(e){if(!t(e))throw new n("color is required.");return new o(e.red,e.green,e.blue,e.alpha)},o.toValue=function(e,r){if(!t(e))throw new n("color is required.");return t(r)?e.toBytes(r):new Uint8Array(e.toBytes())},o}),r("Core/CornerType",["../Core/Enumeration"],function(e){"use strict";var t={ROUNDED:new e(0,"ROUNDED"),MITERED:new e(1,"MITERED"),BEVELED:new e(2,"BEVELED")};return t}),r("ThirdParty/Uri",[],function(){function e(t){if(t instanceof e)this.scheme=t.scheme,this.authority=t.authority,this.path=t.path,this.query=t.query,this.fragment=t.fragment;else if(t){var r=i.exec(t);this.scheme=r[1],this.authority=r[2],this.path=r[3],this.query=r[4],this.fragment=r[5]}}function t(e){var t=unescape(e);return o.test(t)?t:e.toUpperCase()}function r(e,t,r,i){return(t||"")+r.toLowerCase()+(i||"")}e.prototype.scheme=null,e.prototype.authority=null,e.prototype.path="",e.prototype.query=null,e.prototype.fragment=null;var i=new RegExp("^(?:([^:/?#]+):)?(?://([^/?#]*))?([^?#]*)(?:\\?([^#]*))?(?:#(.*))?$");e.prototype.getScheme=function(){return this.scheme},e.prototype.getAuthority=function(){return this.authority},e.prototype.getPath=function(){return this.path},e.prototype.getQuery=function(){return this.query},e.prototype.getFragment=function(){return this.fragment},e.prototype.isAbsolute=function(){return!!this.scheme&&!this.fragment},e.prototype.isSameDocumentAs=function(e){return e.scheme==this.scheme&&e.authority==this.authority&&e.path==this.path&&e.query==this.query},e.prototype.equals=function(e){return this.isSameDocumentAs(e)&&e.fragment==this.fragment -},e.prototype.normalize=function(){this.removeDotSegments(),this.scheme&&(this.scheme=this.scheme.toLowerCase()),this.authority&&(this.authority=this.authority.replace(a,r).replace(n,t)),this.path&&(this.path=this.path.replace(n,t)),this.query&&(this.query=this.query.replace(n,t)),this.fragment&&(this.fragment=this.fragment.replace(n,t))};var n=/%[0-9a-z]{2}/gi,o=/[a-zA-Z0-9\-\._~]/,a=/(.*@)?([^@:]*)(:.*)?/;e.prototype.resolve=function(t){var r=new e;return this.scheme?(r.scheme=this.scheme,r.authority=this.authority,r.path=this.path,r.query=this.query):(r.scheme=t.scheme,this.authority?(r.authority=this.authority,r.path=this.path,r.query=this.query):(r.authority=t.authority,""==this.path?(r.path=t.path,r.query=this.query||t.query):("/"==this.path.charAt(0)?(r.path=this.path,r.removeDotSegments()):(r.path=t.authority&&""==t.path?"/"+this.path:t.path.substring(0,t.path.lastIndexOf("/")+1)+this.path,r.removeDotSegments()),r.query=this.query))),r.fragment=this.fragment,r},e.prototype.removeDotSegments=function(){var e,t=this.path.split("/"),r=[],i=""==t[0];for(i&&t.shift(),""==t[0]?t.shift():null;t.length;)e=t.shift(),".."==e?r.pop():"."!=e&&r.push(e);("."==e||".."==e)&&r.push(""),i&&r.unshift(""),this.path=r.join("/")},e.resolve=function(t,r){var i=s[t]||(s[t]=new e(t)),n=s[r]||(s[r]=new e(r));return i.resolve(n).toString()};var s={};return e.prototype.toString=function(){var e="";return this.scheme&&(e+=this.scheme+":"),this.authority&&(e+="//"+this.authority),e+=this.path,this.query&&(e+="?"+this.query),this.fragment&&(e+="#"+this.fragment),e},e}),r("Core/buildModuleUrl",["require","./defined","./DeveloperError","../ThirdParty/Uri"],function(e,t,r,i){"use strict";function n(){for(var e=document.getElementsByTagName("script"),t=0,r=e.length;r>t;++t){var i=e[t].getAttribute("src"),n=h.exec(i);if(null!==n)return n[1]}return void 0}function o(){if(t(l))return l;var e;if(e="undefined"!=typeof CESIUM_BASE_URL?CESIUM_BASE_URL:n(),!t(e))throw new r("Unable to determine Cesium base URL automatically, try defining a global variable called CESIUM_BASE_URL.");return l=new i(e).resolve(new i(document.location.href))}function a(t){return e.toUrl("../"+t)}function s(e){return new i(e).resolve(o()).toString()}var l,u,c,h=/((?:.*\/)|^)cesium[\w-]*\.js(?:\W|$)/i,d=function(r){t(u)||(u=t(e.toUrl)?a:s),t(c)||(c=document.createElement("a"));var i=u(r);return c.href=i,c.href=c.href,c.href};return d._cesiumScriptRegex=h,d}),r("Core/Iau2006XysSample",[],function(){"use strict";var e=function(e,t,r){this.x=e,this.y=t,this.s=r};return e}),r("Core/clone",["./defaultValue"],function(e){"use strict";var t=function(r,i){if(null===r||"object"!=typeof r)return r;i=e(i,!1);var n=new r.constructor;for(var o in r)if(r.hasOwnProperty(o)){var a=r[o];i&&(a=t(a,i)),n[o]=a}return n};return t}),r("Core/RequestErrorEvent",["./defined"],function(e){"use strict";var t=function(e,t){this.statusCode=e,this.response=t};return t.prototype.toString=function(){var t="Request has failed.";return e(this.statusCode)&&(t+=" Status Code: "+this.statusCode),t},t}),function(e){"use strict";e("ThirdParty/when",[],function(){function e(e,r,i,n){return t(e).then(r,i,n)}function t(e){var t,r;return e instanceof i?t=e:s(e)?(r=a(),e.then(function(e){r.resolve(e)},function(e){r.reject(e)},function(e){r.progress(e)}),t=r.promise):t=n(e),t}function r(t){return e(t,o)}function i(e){this.then=e}function n(e){var r=new i(function(r){try{return t(r?r(e):e)}catch(i){return o(i)}});return r}function o(e){var r=new i(function(r,i){try{return i?t(i(e)):o(e)}catch(n){return o(n)}});return r}function a(){function e(e,t,r){return d(e,t,r)}function r(e){return p(e)}function n(e){return p(o(e))}function s(e){return m(e)}var l,u,c,h,d,m,p;return u=new i(e),l={then:e,resolve:r,reject:n,progress:s,promise:u,resolver:{resolve:r,reject:n,progress:s}},c=[],h=[],d=function(e,t,r){var i,n;return i=a(),n="function"==typeof r?function(e){try{i.progress(r(e))}catch(t){i.progress(t)}}:function(e){i.progress(e)},c.push(function(r){r.then(e,t).then(i.resolve,i.reject,n)}),h.push(n),i.promise},m=function(e){return f(h,e),e},p=function(e){return e=t(e),d=e.then,p=t,m=y,f(c,e),h=c=C,e},l}function s(e){return e&&"function"==typeof e.then}function l(t,r,i,n,o){return v(2,arguments),e(t,function(t){function s(e){f(e)}function l(e){p(e)}var u,c,h,d,m,p,f,v,g,_;if(g=t.length>>>0,u=Math.max(0,Math.min(r,g)),h=[],c=g-u+1,d=[],m=a(),u)for(v=m.progress,f=function(e){d.push(e),--c||(p=f=y,m.reject(d))},p=function(e){h.push(e),--u||(p=f=y,m.resolve(h))},_=0;g>_;++_)_ in t&&e(t[_],l,s,v);else m.resolve(h);return m.then(i,n,o)})}function u(e,t,r,i){function n(e){return t?t(e[0]):e[0]}return l(e,1,n,r,i)}function c(e,t,r,i){return v(1,arguments),d(e,g).then(t,r,i)}function h(){return d(arguments,g)}function d(t,r){return e(t,function(t){var i,n,o,s,l,u;if(o=n=t.length>>>0,i=[],u=a(),o)for(s=function(t,n){e(t,r).then(function(e){i[n]=e,--o||u.resolve(i)},u.reject)},l=0;n>l;l++)l in t?s(t[l],l):--o;else u.resolve(i);return u.promise})}function m(t,r){var i=w.call(arguments,1);return e(t,function(t){var n;return n=t.length,i[0]=function(t,i,o){return e(t,function(t){return e(i,function(e){return r(t,e,o,n)})})},_.apply(t,i)})}function p(t,r,i){var n=arguments.length>2;return e(t,function(e){return e=n?i:e,r.resolve(e),e},function(e){return r.reject(e),o(e)},r.progress)}function f(e,t){for(var r,i=0;r=e[i++];)r(t)}function v(e,t){for(var r,i=t.length;i>e;)if(r=t[--i],null!=r&&"function"!=typeof r)throw new Error("arg "+i+" must be a function")}function y(){}function g(e){return e}var _,w,C;return e.defer=a,e.resolve=t,e.reject=r,e.join=h,e.all=c,e.map=d,e.reduce=m,e.any=u,e.some=l,e.chain=p,e.isPromise=s,i.prototype={always:function(e,t){return this.then(e,e,t)},otherwise:function(e){return this.then(C,e)},yield:function(e){return this.then(function(){return e})},spread:function(e){return this.then(function(t){return c(t,function(t){return e.apply(C,t)})})}},w=[].slice,_=[].reduce||function(e){var t,r,i,n,o;if(o=0,t=Object(this),n=t.length>>>0,r=arguments,r.length<=1)for(;;){if(o in t){i=t[o++];break}if(++o>=n)throw new TypeError}else i=r[1];for(;n>o;++o)o in t&&(i=e(i,t[o],o,t));return i},e})}("function"==typeof r&&r.amd?r:function(e){"object"==typeof exports?module.exports=e():this.when=e()}),r("Core/loadWithXhr",["./defined","./defaultValue","./DeveloperError","./RequestErrorEvent","../ThirdParty/when"],function(e,t,r,i,n){"use strict";var o=function(i){if(i=t(i,t.EMPTY_OBJECT),!e(i.url))throw new r("options.url is required.");var a=i.responseType,s=t(i.method,"GET"),l=i.data,u=i.headers;return n(i.url,function(e){var t=n.defer();return o.load(e,a,s,l,u,t),t.promise})};return o.load=function(t,r,n,o,a,s){var l=new XMLHttpRequest;if(l.open(n,t,!0),e(a))for(var u in a)a.hasOwnProperty(u)&&l.setRequestHeader(u,a[u]);e(r)&&(l.responseType=r),l.onload=function(){200===l.status?s.resolve(l.response):s.reject(new i(l.status,l.response))},l.onerror=function(){s.reject(new i)},l.send(o)},o.defaultLoad=o.load,o}),r("Core/loadText",["./loadWithXhr"],function(e){"use strict";var t=function(t,r){return e({url:t,headers:r})};return t}),r("Core/loadJson",["./clone","./defined","./loadText","./DeveloperError"],function(e,t,r,i){"use strict";var n={Accept:"application/json,*/*;q=0.01"},o=function(o,a){if(!t(o))throw new i("url is required.");return t(a)?t(a.Accept)||(a=e(a),a.Accept=n.Accept):a=n,r(o,a).then(function(e){return JSON.parse(e)})};return o}),r("Core/Iau2006XysData",["./buildModuleUrl","./defaultValue","./defined","./Iau2006XysSample","./JulianDate","./loadJson","./TimeStandard","../ThirdParty/when"],function(e,t,r,i,n,o,a,s){"use strict";function l(e,t,r){var i=h;return i._julianDayNumber=t,i._secondsOfDay=r,e._sampleZeroDateTT.getDaysDifference(i)}function u(t,i){if(t._chunkDownloadsInProgress[i])return t._chunkDownloadsInProgress[i];var n=s.defer();t._chunkDownloadsInProgress[i]=n;var a,l=t._xysFileUrlTemplate;return a=r(l)?l.replace("{0}",i):e("Assets/IAU2006_XYS/IAU2006_XYS_"+i+".json"),s(o(a),function(e){t._chunkDownloadsInProgress[i]=!1;for(var r=t._samples,o=e.samples,a=3*i*t._samplesPerXysFile,s=0,l=o.length;l>s;++s)r[a+s]=o[s];n.resolve()}),n.promise}var c=function(e){e=t(e,t.EMPTY_OBJECT),this._xysFileUrlTemplate=e.xysFileUrlTemplate,this._interpolationOrder=t(e.interpolationOrder,9),this._sampleZeroJulianEphemerisDate=t(e.sampleZeroJulianEphemerisDate,2442396.5),this._sampleZeroDateTT=new n(this._sampleZeroJulianEphemerisDate,0,a.TAI),this._stepSizeDays=t(e.stepSizeDays,1),this._samplesPerXysFile=t(e.samplesPerXysFile,1e3),this._totalSamples=t(e.totalSamples,27426),this._samples=new Array(3*this._totalSamples),this._chunkDownloadsInProgress=[];for(var r=this._interpolationOrder,i=this._denominators=new Array(r+1),o=this._xTable=new Array(r+1),s=Math.pow(this._stepSizeDays,r),l=0;r>=l;++l){i[l]=s,o[l]=l*this._stepSizeDays;for(var u=0;r>=u;++u)u!==l&&(i[l]*=l-u);i[l]=1/i[l]}this._work=new Array(r+1),this._coef=new Array(r+1)},h=new n(0,0,a.TAI);return c.prototype.preload=function(e,t,r,i){var n=l(this,e,t),o=l(this,r,i),a=0|n/this._stepSizeDays-this._interpolationOrder/2;0>a&&(a=0);var c=o/this._stepSizeDays-this._interpolationOrder/2|0+this._interpolationOrder;c>=this._totalSamples&&(c=this._totalSamples-1);for(var h=0|a/this._samplesPerXysFile,d=0|c/this._samplesPerXysFile,m=[],p=h;d>=p;++p)m.push(u(this,p));return s.all(m)},c.prototype.computeXysRadians=function(e,t,n){var o=l(this,e,t);if(0>o)return void 0;var a=0|o/this._stepSizeDays;if(a>=this._totalSamples)return void 0;var s=this._interpolationOrder,c=a-(0|s/2);0>c&&(c=0);var h=c+s;h>=this._totalSamples&&(h=this._totalSamples-1,c=h-s,0>c&&(c=0));var d=!1,m=this._samples;if(r(m[3*c])||(u(this,0|c/this._samplesPerXysFile),d=!0),r(m[3*h])||(u(this,0|h/this._samplesPerXysFile),d=!0),d)return void 0;r(n)?(n.x=0,n.y=0,n.s=0):n=new i(0,0,0);var p,f,v=o-c*this._stepSizeDays,y=this._work,g=this._denominators,_=this._coef,w=this._xTable;for(p=0;s>=p;++p)y[p]=v-w[p];for(p=0;s>=p;++p){for(_[p]=1,f=0;s>=f;++f)f!==p&&(_[p]*=y[f]);_[p]*=g[p];var C=3*(c+p);n.x+=_[p]*m[C++],n.y+=_[p]*m[C++],n.s+=_[p]*m[C]}return n},c}),r("Core/EarthOrientationParametersSample",[],function(){"use strict";var e=function(e,t,r,i,n){this.xPoleWander=e,this.yPoleWander=t,this.xPoleOffset=r,this.yPoleOffset=i,this.ut1MinusUtc=n};return e}),r("Core/EarthOrientationParameters",["./binarySearch","./defaultValue","./defined","./freezeObject","./loadJson","./EarthOrientationParametersSample","./JulianDate","./LeapSecond","./RuntimeError","./TimeConstants","./TimeStandard","../ThirdParty/when"],function(e,t,r,i,n,o,a,s,l,u,c,h){"use strict";function d(e,t){return a.compare(e.julianDate,t)}function m(t,i){if(!r(i.columnNames))return t._dataError="Error in loaded EOP data: The columnNames property is required.",void 0;if(!r(i.samples))return t._dataError="Error in loaded EOP data: The samples property is required.",void 0;var n=i.columnNames.indexOf("modifiedJulianDateUtc"),o=i.columnNames.indexOf("xPoleWanderRadians"),l=i.columnNames.indexOf("yPoleWanderRadians"),h=i.columnNames.indexOf("ut1MinusUtcSeconds"),m=i.columnNames.indexOf("xCelestialPoleOffsetRadians"),p=i.columnNames.indexOf("yCelestialPoleOffsetRadians"),f=i.columnNames.indexOf("taiMinusUtcSeconds");if(0>n||0>o||0>l||0>h||0>m||0>p||0>f)return t._dataError="Error in loaded EOP data: The columnNames property must include modifiedJulianDateUtc, xPoleWanderRadians, yPoleWanderRadians, ut1MinusUtcSeconds, xCelestialPoleOffsetRadians, yCelestialPoleOffsetRadians, and taiMinusUtcSeconds columns",void 0;var v=t._samples=i.samples,y=t._dates=[];t._dateColumn=n,t._xPoleWanderRadiansColumn=o,t._yPoleWanderRadiansColumn=l,t._ut1MinusUtcSecondsColumn=h,t._xCelestialPoleOffsetRadiansColumn=m,t._yCelestialPoleOffsetRadiansColumn=p,t._taiMinusUtcSecondsColumn=f,t._columnCount=i.columnNames.length,t._lastIndex=void 0;for(var g,_=t._addNewLeapSeconds,w=0,C=v.length;C>w;w+=t._columnCount){var x=v[w+n],S=v[w+f],E=x+u.MODIFIED_JULIAN_DATE_DIFFERENCE,b=new a(E,S,c.TAI);if(y.push(b),_){if(S!==g&&r(g)){var T=s.getLeapSeconds(),A=e(T,b,d);if(0>A){var D=new s(b,S);T.splice(~A,0,D)}}g=S}}}function p(e,t,r,i,n){var o=r*i;n.xPoleWander=t[o+e._xPoleWanderRadiansColumn],n.yPoleWander=t[o+e._yPoleWanderRadiansColumn],n.xPoleOffset=t[o+e._xCelestialPoleOffsetRadiansColumn],n.yPoleOffset=t[o+e._yCelestialPoleOffsetRadiansColumn],n.ut1MinusUtc=t[o+e._ut1MinusUtcSecondsColumn]}function f(e,t,r){return t+e*(r-t)}function v(e,t,r,i,n,o,a){var s=e._columnCount;if(o>t.length-1)return a.xPoleWander=0,a.yPoleWander=0,a.xPoleOffset=0,a.yPoleOffset=0,a.ut1MinusUtc=0,a;var l=t[n],u=t[o];if(l.equals(u)||i.equals(l))return p(e,r,n,s,a),a;if(i.equals(u))return p(e,r,o,s,a),a;var c=l.getSecondsDifference(i)/l.getSecondsDifference(u),h=n*s,d=o*s,m=r[h+e._ut1MinusUtcSecondsColumn],v=r[d+e._ut1MinusUtcSecondsColumn],y=v-m;if(y>.5||-.5>y){var g=r[h+e._taiMinusUtcSecondsColumn],_=r[d+e._taiMinusUtcSecondsColumn];g!==_&&(u.equals(i)?m=v:v-=_-g)}return a.xPoleWander=f(c,r[h+e._xPoleWanderRadiansColumn],r[d+e._xPoleWanderRadiansColumn]),a.yPoleWander=f(c,r[h+e._yPoleWanderRadiansColumn],r[d+e._yPoleWanderRadiansColumn]),a.xPoleOffset=f(c,r[h+e._xCelestialPoleOffsetRadiansColumn],r[d+e._xCelestialPoleOffsetRadiansColumn]),a.yPoleOffset=f(c,r[h+e._yCelestialPoleOffsetRadiansColumn],r[d+e._yCelestialPoleOffsetRadiansColumn]),a.ut1MinusUtc=f(c,m,v),a}var y=function(e){if(e=t(e,t.EMPTY_OBJECT),this._dates=void 0,this._samples=void 0,this._dateColumn=-1,this._xPoleWanderRadiansColumn=-1,this._yPoleWanderRadiansColumn=-1,this._ut1MinusUtcSecondsColumn=-1,this._xCelestialPoleOffsetRadiansColumn=-1,this._yCelestialPoleOffsetRadiansColumn=-1,this._taiMinusUtcSecondsColumn=-1,this._columnCount=0,this._lastIndex=-1,this._downloadPromise=void 0,this._dataError=void 0,this._addNewLeapSeconds=t(e.addNewLeapSeconds,!0),r(e.data))m(this,e.data);else if(r(e.url)){var i=this;this._downloadPromise=h(n(e.url),function(e){m(i,e)},function(){i._dataError="An error occurred while retrieving the EOP data from the URL "+e.url+"."})}else m(this,{columnNames:["dateIso8601","modifiedJulianDateUtc","xPoleWanderRadians","yPoleWanderRadians","ut1MinusUtcSeconds","lengthOfDayCorrectionSeconds","xCelestialPoleOffsetRadians","yCelestialPoleOffsetRadians","taiMinusUtcSeconds"],samples:[]})};return y.NONE=i({getPromiseToLoad:function(){return h()},compute:function(e,t){return r(t)?(t.xPoleWander=0,t.yPoleWander=0,t.xPoleOffset=0,t.yPoleOffset=0,t.ut1MinusUtc=0):t=new o(0,0,0,0,0),t}}),y.prototype.getPromiseToLoad=function(){return h(this._downloadPromise)},y.prototype.compute=function(t,i){if(!r(this._samples)){if(r(this._dataError))throw new l(this._dataError);return void 0}if(r(i)||(i=new o(0,0,0,0,0)),0===this._samples.length)return i.xPoleWander=0,i.yPoleWander=0,i.xPoleOffset=0,i.yPoleOffset=0,i.ut1MinusUtc=0,i;var n=this._dates,s=this._lastIndex,u=0,c=0;if(r(s)){var h=n[s],d=n[s+1],m=h.lessThanOrEquals(t),p=!r(d),f=p||d.greaterThanOrEquals(t);if(m&&f)return u=s,!p&&d.equals(t)&&++u,c=u+1,v(this,n,this._samples,t,u,c,i),i}var y=e(n,t,a.compare,this._dateColumn);return y>=0?(yu&&(u=0)),this._lastIndex=u,v(this,n,this._samples,t,u,c,i),i},y}),r("Core/Transforms",["./defaultValue","./defined","./DeveloperError","./Iau2006XysData","./Iau2006XysSample","./Math","./Matrix3","./Matrix4","./Cartesian2","./Cartesian3","./Cartesian4","./TimeConstants","./Ellipsoid","./EarthOrientationParameters","./EarthOrientationParametersSample","../ThirdParty/when"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f){"use strict";var v={},y=new u,g=new u,_=new u;v.eastNorthUpToFixedFrame=function(r,i,n){if(o.equalsEpsilon(r.x,0,o.EPSILON14)&&o.equalsEpsilon(r.y,0,o.EPSILON14)){var a=o.sign(r.z);return t(n)?(n[0]=0,n[1]=1,n[2]=0,n[3]=0,n[4]=-a,n[5]=0,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[10]=a,n[11]=0,n[12]=r.x,n[13]=r.y,n[14]=r.z,n[15]=1,n):new s(0,-a,0,r.x,1,0,0,r.y,0,0,a,r.z,0,0,0,1)}var l=y,c=g,h=_;return i=e(i,d.WGS84),i.geodeticSurfaceNormal(r,l),c.x=-r.y,c.y=r.x,c.z=0,u.normalize(c,c),u.cross(l,c,h),t(n)?(n[0]=c.x,n[1]=c.y,n[2]=c.z,n[3]=0,n[4]=h.x,n[5]=h.y,n[6]=h.z,n[7]=0,n[8]=l.x,n[9]=l.y,n[10]=l.z,n[11]=0,n[12]=r.x,n[13]=r.y,n[14]=r.z,n[15]=1,n):new s(c.x,h.x,l.x,r.x,c.y,h.y,l.y,r.y,c.z,h.z,l.z,r.z,0,0,0,1)};var w=new u,C=new u,x=new u;v.northEastDownToFixedFrame=function(r,i,n){if(o.equalsEpsilon(r.x,0,o.EPSILON14)&&o.equalsEpsilon(r.y,0,o.EPSILON14)){var a=o.sign(r.z);return t(n)?(n[0]=-a,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=1,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[10]=-a,n[11]=0,n[12]=r.x,n[13]=r.y,n[14]=r.z,n[15]=1,n):new s(-a,0,0,r.x,0,1,0,r.y,0,0,-a,r.z,0,0,0,1)}var l=w,c=C,h=x;return i=e(i,d.WGS84),i.geodeticSurfaceNormal(r,l),c.x=-r.y,c.y=r.x,c.z=0,u.normalize(c,c),u.cross(l,c,h),t(n)?(n[0]=h.x,n[1]=h.y,n[2]=h.z,n[3]=0,n[4]=c.x,n[5]=c.y,n[6]=c.z,n[7]=0,n[8]=-l.x,n[9]=-l.y,n[10]=-l.z,n[11]=0,n[12]=r.x,n[13]=r.y,n[14]=r.z,n[15]=1,n):new s(h.x,c.x,-l.x,r.x,h.y,c.y,-l.y,r.y,h.z,c.z,-l.z,r.z,0,0,0,1)};var S=24110.54841,E=8640184.812866,b=.093104,T=-62e-7,A=1.1772758384668e-19,D=72921158553e-15,P=o.TWO_PI/86400;v.computeTemeToPseudoFixedMatrix=function(e,r){var i,n=e.addSeconds(-e.getTaiMinusUtc()),s=n.getJulianDayNumber(),l=n.getSecondsOfDay(),u=s-2451545;i=l>=43200?(u+.5)/h.DAYS_PER_JULIAN_CENTURY:(u-.5)/h.DAYS_PER_JULIAN_CENTURY;var c=S+i*(E+i*(b+i*T)),d=c*P%o.TWO_PI,m=D+A*(s-2451545.5),p=(l+.5*h.SECONDS_PER_DAY)%h.SECONDS_PER_DAY,f=d+m*p,v=Math.cos(f),y=Math.sin(f);return t(r)?(r[0]=v,r[1]=-y,r[2]=0,r[3]=y,r[4]=v,r[5]=0,r[6]=0,r[7]=0,r[8]=1,r):new a(v,y,0,-y,v,0,0,0,1)},v.iau2006XysData=new i,v.earthOrientationParameters=m.NONE;var M=32.184,I=2451545;v.preloadIcrfFixed=function(e){var t=e.start.getJulianDayNumber(),r=e.start.getSecondsOfDay()+M,i=e.stop.getJulianDayNumber(),n=e.stop.getSecondsOfDay()+M,o=v.iau2006XysData.preload(t,r,i,n),a=v.earthOrientationParameters.getPromiseToLoad();return f.all([o,a])},v.computeIcrfToFixedMatrix=function(e,r){var i=v.computeFixedToIcrfMatrix(e,r);return t(i)?a.transpose(i,r):void 0};var O=new n(0,0,0),R=new p(0,0,0,0,0,0),L=new a,z=new a;v.computeFixedToIcrfMatrix=function(e,r){var i=v.earthOrientationParameters.compute(e,R);if(!t(i))return void 0;var n=e.getJulianDayNumber(),s=e.getSecondsOfDay()+M,l=v.iau2006XysData.computeXysRadians(n,s,O);if(!t(l))return void 0;var u=l.x+i.xPoleOffset,c=l.y+i.yPoleOffset,d=1/(1+Math.sqrt(1-u*u-c*c)),m=L;m[0]=1-d*u*u,m[3]=-d*u*c,m[6]=u,m[1]=-d*u*c,m[4]=1-d*c*c,m[7]=c,m[2]=-u,m[5]=-c,m[8]=1-d*(u*u+c*c);var p=a.fromRotationZ(-l.s,z),f=a.multiply(m,p,L),y=e.getJulianDayNumber(),g=e.getSecondsOfDay()-e.getTaiMinusUtc()+i.ut1MinusUtc,_=y-2451545,w=g/h.SECONDS_PER_DAY,C=.779057273264+w+.00273781191135448*(_+w);C=C%1*o.TWO_PI;var x=a.fromRotationZ(C,z),S=a.multiply(f,x,L),E=Math.cos(i.xPoleWander),b=Math.cos(i.yPoleWander),T=Math.sin(i.xPoleWander),A=Math.sin(i.yPoleWander),D=n-I+s/h.SECONDS_PER_DAY;D/=36525;var P=-47e-6*D*o.RADIANS_PER_DEGREE/3600,N=Math.cos(P),B=Math.sin(P),F=z;return F[0]=E*N,F[1]=E*B,F[2]=T,F[3]=-b*B+A*T*N,F[4]=b*N+A*T*B,F[5]=-A*E,F[6]=-A*B-b*T*N,F[7]=A*N-b*T*B,F[8]=b*E,a.multiply(S,F,r)};var N=new c;return v.pointToWindowCoordinates=function(e,t,r,i){var n=N;return s.multiplyByVector(e,c.fromElements(r.x,r.y,r.z,1,n),n),c.multiplyByScalar(n,1/n.w,n),s.multiplyByVector(t,n,n),l.fromCartesian4(n,i)},v}),r("Core/Ray",["./DeveloperError","./defaultValue","./Cartesian3"],function(e,t,r){"use strict";var i=function(e,i){i=r.clone(t(i,r.ZERO)),r.equals(i,r.ZERO)||r.normalize(i,i),this.origin=r.clone(t(e,r.ZERO)),this.direction=i};return i.prototype.getPoint=function(t,i){if("number"!=typeof t)throw new e("t is a required number");return i=r.multiplyByScalar(this.direction,t,i),r.add(this.origin,i,i)},i}),r("Core/EllipsoidTangentPlane",["./defaultValue","./defined","./DeveloperError","./Transforms","./AxisAlignedBoundingBox","./IntersectionTests","./Cartesian2","./Cartesian3","./Ellipsoid","./Matrix4","./Ray","./Plane"],function(e,t,r,i,n,o,a,s,l,u,c,h){"use strict";var d=function(n,o){if(!t(n))throw new r("origin is required.");if(o=e(o,l.WGS84),n=o.scaleToGeodeticSurface(n),!t(n))throw new r("origin must not be at the center of the ellipsoid.");var a=i.eastNorthUpToFixedFrame(n,o);this._ellipsoid=o,this._origin=s.clone(n),this._xAxis=s.fromCartesian4(u.getColumn(a,0)),this._yAxis=s.fromCartesian4(u.getColumn(a,1));var c=s.fromCartesian4(u.getColumn(a,2));this._plane=h.fromPointNormal(n,c)},m=new n;d.fromPoints=function(e,i){if(!t(e))throw new r("cartesians is required.");var o=n.fromPoints(e,m);return new d(o.center,i)},d.prototype.getEllipsoid=function(){return this._ellipsoid},d.prototype.getOrigin=function(){return this._origin};var p=new c,f=new s;d.prototype.projectPointOntoPlane=function(e,i){if(!t(e))throw new r("cartesian is required.");var n=p;n.origin=e,s.normalize(e,n.direction);var l=o.rayPlane(n,this._plane,f);if(t(l)||(s.negate(n.direction,n.direction),l=o.rayPlane(n,this._plane,f)),t(l)){var u=s.subtract(l,this._origin,l),c=s.dot(this._xAxis,u),h=s.dot(this._yAxis,u);return t(i)?(i.x=c,i.y=h,i):new a(c,h)}return void 0},d.prototype.projectPointsOntoPlane=function(e,i){if(!t(e))throw new r("cartesians is required.");t(i)||(i=[]);for(var n=0,o=e.length,a=0;o>a;a++){var s=this.projectPointOntoPlane(e[a],i[n]);t(s)&&(i[n]=s,n++)}return i.length=n,i};var v=new s;return d.prototype.projectPointsOntoEllipsoid=function(e,i){if(!t(e))throw new r("cartesians is required.");var n=e.length;t(i)?i.length=n:i=new Array(n);for(var o=this._ellipsoid,a=this._origin,l=this._xAxis,u=this._yAxis,c=v,h=0;n>h;++h){var d=e[h];s.multiplyByScalar(l,d.x,c);var m=i[h]=s.add(a,c,i[h]);s.multiplyByScalar(u,d.y,c),s.add(m,c,m),o.scaleToGeocentricSurface(m,m)}return i},d}),r("Core/EllipsoidGeodesic",["./freezeObject","./defaultValue","./defined","./DeveloperError","./Ellipsoid","./Math","./Cartesian3","./Cartographic"],function(e,t,r,i,n,o,a,s){"use strict";function l(e){var t=e._uSquared,r=e._ellipsoid.getMaximumRadius(),i=e._ellipsoid.getMinimumRadius(),n=(r-i)/r,o=Math.cos(e._startHeading),a=Math.sin(e._startHeading),s=(1-n)*Math.tan(e._start.latitude),l=1/Math.sqrt(1+s*s),u=l*s,c=Math.atan2(s,o),h=l*a,d=h*h,m=1-d,p=Math.sqrt(m),f=t/4,v=f*f,y=v*f,g=v*v,_=1+f-3*v/4+5*y/4-175*g/64,w=1-f+15*v/8-35*y/8,C=1-3*f+35*v/4,x=1-5*f,S=_*c-w*Math.sin(2*c)*f/2-C*Math.sin(4*c)*v/16-x*Math.sin(6*c)*y/48-5*Math.sin(8*c)*g/512,E=e._constants;E.a=r,E.b=i,E.f=n,E.cosineHeading=o,E.sineHeading=a,E.tanU=s,E.cosineU=l,E.sineU=u,E.sigma=c,E.sineAlpha=h,E.sineSquaredAlpha=d,E.cosineSquaredAlpha=m,E.cosineAlpha=p,E.u2Over4=f,E.u4Over16=v,E.u6Over64=y,E.u8Over256=g,E.a0=_,E.a1=w,E.a2=C,E.a3=x,E.distanceRatio=S}function u(e,t){return e*t*(4+e*(4-3*t))/16}function c(e,t,r,i,n,o,a){var s=u(e,r);return(1-s)*e*t*(i+s*n*(a+s*o*(2*a*a-1)))}function h(e,t,r,i,n,a,s){var l,u,h,d,m,p=(t-r)/t,f=a-i,v=Math.atan((1-p)*Math.tan(n)),y=Math.atan((1-p)*Math.tan(s)),g=Math.cos(v),_=Math.sin(v),w=Math.cos(y),C=Math.sin(y),x=g*w,S=g*C,E=_*C,b=_*w,T=f,A=o.TWO_PI,D=Math.cos(T),P=Math.sin(T);do{D=Math.cos(T),P=Math.sin(T);var M=S-b*D;h=Math.sqrt(w*w*P*P+M*M),u=E+x*D,l=Math.atan2(h,u);var I;0===h?(I=0,d=1):(I=x*P/h,d=1-I*I),A=T,m=u-2*E/d,isNaN(m)&&(m=0),T=f+c(p,I,d,l,h,u,m)}while(Math.abs(T-A)>o.EPSILON12);var O=d*(t*t-r*r)/(r*r),R=1+O*(4096+O*(O*(320-175*O)-768))/16384,L=O*(256+O*(O*(74-47*O)-128))/1024,z=m*m,N=L*h*(m+L*(u*(2*z-1)-L*m*(4*h*h-3)*(4*z-3)/6)/4),B=r*R*(l-N),F=Math.atan2(w*P,S-b*D),V=Math.atan2(g*P,S*D-b);e._distance=B,e._startHeading=F,e._endHeading=V,e._uSquared=O}function d(e,t,r,n){var o=a.normalize(n.cartographicToCartesian(t,p),m),u=a.normalize(n.cartographicToCartesian(r,p),p);if(Math.abs(Math.abs(a.angleBetween(o,u))-Math.PI)<.0125)throw new i("geodesic position is not unique");h(e,n.getMaximumRadius(),n.getMinimumRadius(),t.longitude,t.latitude,r.longitude,r.latitude),t.height=0,r.height=0,e._start=s.clone(t,e._start),e._end=s.clone(r,e._end),l(e)}var m=new a,p=new a,f=function(e,i,o){var a=t(o,n.WGS84);this._ellipsoid=a,this._start=new s,this._end=new s,this._constants={},this._startHeading=void 0,this._endHeading=void 0,this._distance=void 0,this._uSquared=void 0,r(e)&&r(i)&&d(this,e,i,a)};return f.prototype.getSurfaceDistance=function(){if(!r(this._distance))throw new i("start and end must be set before calling funciton getSurfaceDistance");return this._distance},f.prototype.setEndPoints=function(e,t){if(!r(e))throw new i("start cartographic position is required");if(!r(t))throw new i("end cartgraphic position is required");d(this,e,t,this._ellipsoid)},f.prototype.getStart=function(){return this._start},f.prototype.getEnd=function(){return this._end},f.prototype.getStartHeading=function(){if(!r(this._distance))throw new i("start and end must be set before calling funciton getStartHeading");return this._startHeading},f.prototype.getEndHeading=function(){if(!r(this._distance))throw new i("start and end must be set before calling funciton getEndHeading");return this._endHeading},f.prototype.interpolateUsingFraction=function(e,t){return this.interpolateUsingSurfaceDistance(this._distance*e,t)},f.prototype.interpolateUsingSurfaceDistance=function(e,t){if(!r(this._distance))throw new i("start and end must be set before calling funciton interpolateUsingSurfaceDistance");var n=this._constants,o=n.distanceRatio+e/n.b,a=Math.cos(2*o),l=Math.cos(4*o),u=Math.cos(6*o),h=Math.sin(2*o),d=Math.sin(4*o),m=Math.sin(6*o),p=Math.sin(8*o),f=o*o,v=o*f,y=n.u8Over256,g=n.u2Over4,_=n.u6Over64,w=n.u4Over16,C=2*v*y*a/3+o*(1-g+7*w/4-15*_/4+579*y/64-(w-15*_/4+187*y/16)*a-(5*_/4-115*y/16)*l-29*y*u/16)+(g/2-w+71*_/32-85*y/16)*h+(5*w/16-5*_/4+383*y/96)*d-f*((_-11*y/2)*h+5*y*d/2)+(29*_/96-29*y/16)*m+539*y*p/1536,x=Math.asin(Math.sin(C)*n.cosineAlpha),S=Math.atan(n.a/n.b*Math.tan(x));C-=n.sigma;var E=Math.cos(2*n.sigma+C),b=Math.sin(C),T=Math.cos(C),A=n.cosineU*T,D=n.sineU*b,P=Math.atan2(b*n.sineHeading,A-D*n.cosineHeading),M=P-c(n.f,n.sineAlpha,n.cosineSquaredAlpha,C,b,T,E);return r(t)?(t.longitude=this._start.longitude+M,t.latitude=S,t.height=0,t):new s(this._start.longitude+M,S,0)},f}),r("Core/PolylinePipeline",["./defaultValue","./defined","./DeveloperError","./Cartographic","./Cartesian3","./Cartesian4","./Ellipsoid","./EllipsoidGeodesic","./IntersectionTests","./Math","./Matrix4","./Plane"],function(e,t,r,i,n,o,a,s,l,u,c,h){"use strict";function d(e,t,r,i){var o=i.scaleToGeodeticSurface(e,T),a=i.scaleToGeodeticSurface(t,A),s=n.angleBetween(o,a),l=Math.ceil(s/r),u=new Array(3*l),c=i.cartesianToCartographic(o,S),h=i.cartesianToCartographic(a,E);D.setEndPoints(c,h);var d=D.getSurfaceDistance()/l,m=0;c.height=0;var p=i.cartographicToCartesian(c,b);u[m++]=p.x,u[m++]=p.y,u[m++]=p.z;for(var f=1;l>f;f++){var v=D.interpolateUsingSurfaceDistance(f*d,E);p=i.cartographicToCartesian(v,b),u[m++]=p.x,u[m++]=p.y,u[m++]=p.z}return u}function m(e,t,r){var i=P;return r.geodeticSurfaceNormal(e,i),n.multiplyByScalar(i,t,i),n.add(e,i,e),e}var p={},f=new c,v=new n,y=new n,g=new h(n.ZERO,0),_=new n,w=new h(n.ZERO,0),C=new n,x=new n,S=new i,E=new i,b=new n,T=new n,A=new n,D=new s,P=new n,M=new n;return p.wrapLongitude=function(r,i){var o=[],a=[];if(t(r)&&r.length>0){i=e(i,c.IDENTITY);var s=c.inverseTransformation(i,f),u=c.multiplyByPoint(s,n.ZERO,v),d=c.multiplyByPointAsVector(s,n.UNIT_Y,y),m=h.fromPointNormal(u,d,g),p=c.multiplyByPointAsVector(s,n.UNIT_X,_),S=h.fromPointNormal(u,p,w),E=1;o.push(n.clone(r[0]));for(var b=o[0],T=r.length,A=1;T>A;++A){var D=r[A];if(h.getPointDistance(S,b)<0||h.getPointDistance(S,D)<0){var P=l.lineSegmentPlane(b,D,m,C);if(t(P)){var M=n.multiplyByScalar(d,5e-9,x);h.getPointDistance(m,b)<0&&n.negate(M,M),o.push(n.add(P,M)),a.push(E+1),n.negate(M,M),o.push(n.add(P,M)),E=1}}o.push(n.clone(r[A])),E++,b=D}a.push(E)}return{positions:o,lengths:a}},p.removeDuplicates=function(e){if(!t(e))throw new r("positions is required.");var i=e.length;if(2>i)return e.slice(0);var o=[];o.push(e[0]);for(var a=1;i>a;++a){var s=e[a-1],l=e[a];n.equals(s,l)||o.push(l)}return o},p.scaleToSurface=function(i,n,o){if(!t(i))throw new r("positions is required");n=e(n,u.RADIANS_PER_DEGREE),o=e(o,a.WGS84);for(var s=i.length,l=[],c=0;s-1>c;c++){var h=i[c],m=i[c+1];l=l.concat(d(h,m,n,o))}var p=i[s-1],f=o.cartesianToCartographic(p,S);f.height=0;var v=o.cartographicToCartesian(f,b);return l.push(v.x,v.y,v.z),l},p.scaleToGeodeticHeight=function(i,o,s,l){if(!t(i))throw new r("positions must be defined.");if(!t(o))throw new r("height must be defined");s=e(s,a.WGS84);var u,c,h=i.length,d=M;if(t(l)){if(l.length!==i.length)throw new r("result.length must be equal to positions.length");c=l}else c=new Array(i.length);if(0===o){for(u=0;h>u;u+=3)d=s.scaleToGeodeticSurface(n.fromArray(i,u,d),d),c[u]=d.x,c[u+1]=d.y,c[u+2]=d.z;return c}var p;if(Array.isArray(o)){if(o.length!==h/3)throw new r("height.length must be equal to positions.length");for(u=0;h>u;u+=3)p=o[u/3],d=n.fromArray(i,u,d),d=m(d,p,s),c[u]=d.x,c[u+1]=d.y,c[u+2]=d.z}else for(p=o,u=0;h>u;u+=3)d=n.fromArray(i,u,d),d=m(d,p,s),c[u]=d.x,c[u+1]=d.y,c[u+2]=d.z;return c},p}),r("Core/PolylineVolumeGeometryLibrary",["./defined","./Cartesian2","./Cartesian3","./Cartesian4","./Cartographic","./CornerType","./DeveloperError","./EllipsoidTangentPlane","./PolylinePipeline","./Matrix3","./Matrix4","./Quaternion","./Transforms","./Math"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m){"use strict";function p(e,t){for(var r=new Array(e.length),i=0;io;o++)c[o]=t;return c.push(i),c}var h=i-t,d=h/u;for(o=1;u>o;o++){var m=t+o*d;c[o]=m}return c[0]=t,c.push(i),c}function v(e,i,n,o){var a=new s(n,o),l=a.projectPointOntoPlane(r.add(n,e,Z),Z),u=a.projectPointOntoPlane(r.add(n,i,J),J),c=t.angleBetween(l,u);return u.x*l.y-u.y*l.x>=0?-c:c}function y(e,t,i,n,o,a,s,l){var h=W,m=q;F=d.eastNorthUpToFixedFrame(e,o,F),h=c.multiplyByPointAsVector(F,B,h),h=r.normalize(h,h);var p=v(h,t,e,o);k=u.fromRotationZ(p,k),G.z=a,F=c.multiplyTransformation(F,c.fromRotationTranslation(k,G,V),F);var f=U;f[0]=s;for(var y=0;l>y;y++)for(var g=0;gl;l++){s=e[l];var u=s.x-o,c=s.y-a;i[n++]=u,i[n++]=0,i[n++]=c,i[n++]=u,i[n++]=0,i[n++]=c}return s=e[0],i[n++]=s.x-o,i[n++]=0,i[n++]=s.y-a,i}function w(e,t){for(var r=e.length,i=new Array(3*r),n=0,o=t.x+t.width/2,a=t.y+t.height/2,s=0;r>s;s++)i[n++]=e[s].x-o,i[n++]=0,i[n++]=e[s].y-a;return i}function C(e,t,i,n,a,s,l,c,d,p){var f,v=r.angleBetween(r.subtract(t,e,R),r.subtract(i,e,L)),g=n.value===o.BEVELED.value?0:Math.ceil(v/m.toRadians(5));f=a?u.fromQuaternion(h.fromAxisAngle(r.negate(e,R),v/(g+1),j),X):u.fromQuaternion(h.fromAxisAngle(e,v/(g+1),j),X);var _,w;if(t=r.clone(t,Y),g>0)for(var C=p?2:1,x=0;g>x;x++)t=u.multiplyByVector(f,t,t),_=r.subtract(t,e,R),_=r.normalize(_,_),a||(_=r.negate(_,_)),w=s.scaleToGeodeticSurface(t,L),l=y(w,_,c,l,s,d,1,C);else _=r.subtract(t,e,R),_=r.normalize(_,_),a||(_=r.negate(_,_)),w=s.scaleToGeodeticSurface(t,L),l=y(w,_,c,l,s,d,1,1),i=r.clone(i,Y),_=r.subtract(i,e,R),_=r.normalize(_,_),a||(_=r.negate(_,_)),w=s.scaleToGeodeticSurface(i,L),l=y(w,_,c,l,s,d,1,1);return l}function x(e,t){return m.equalsEpsilon(e.latitude,t.latitude,m.EPSILON6)&&m.equalsEpsilon(e.longitude,t.longitude,m.EPSILON6)}var S=[new r,new r],E=new r,b=new r,T=new r,A=new r,D=new r,P=new r,M=new r,I=new r,O=new r,R=new r,L=new r,z={},N=new n,B=new r(-1,0,0),F=new c,V=new c,k=new u,U=u.IDENTITY.clone(),W=new r,q=new i,G=new r,H=new r,j=new h,Y=new r,X=new u;z.removeDuplicatesFromShape=function(e){for(var r=e.length,i=[],n=r-1,o=0;r>o;n=o++){var a=e[n],s=e[o]; -t.equals(a,s)||i.push(s)}return i};var Z=new r,J=new r;z.angleIsGreaterThanPi=function(e,t,i,n){var o=new s(i,n),a=o.projectPointOntoPlane(r.add(i,e,Z),Z),l=o.projectPointOntoPlane(r.add(i,t,J),J);return l.x*a.y-l.y*a.x>=0};var K=new n,Q=new n;return z.removeDuplicatesFromPositions=function(e,t){var r=e.length;if(2>r)return e.slice(0);var i=[];i.push(e[0]);for(var n=1;r>n;++n){var o=e[n-1],a=e[n],s=t.cartesianToCartographic(o,K),l=t.cartesianToCartographic(a,Q);x(s,l)||i.push(a)}return i},z.computePositions=function(e,t,i,n,a){var s=n._ellipsoid,u=p(e,s),c=n._granularity,h=n._cornerType,d=a?_(t,i):w(t,i),v=a?w(t,i):void 0,x=i.height/2,L=i.width/2,N=e.length,B=[],F=a?[]:void 0,V=E,k=b,U=T,W=A,q=D,G=P,H=M,j=I,Y=O,X=e[0],Z=e[1];W=s.geodeticSurfaceNormal(X,W),V=r.subtract(Z,X,V),V=r.normalize(V,V),j=r.cross(W,V,j),j=r.normalize(j,j);var J=u[0],K=u[1];a&&(F=y(X,j,v,F,s,J+x,1,1)),Y=r.clone(X,Y),X=Z,k=r.negate(V,k);for(var Q,$,et=1;N-1>et;et++){var tt=a?2:1;Z=e[et+1],V=r.subtract(Z,X,V),V=r.normalize(V,V),U=r.add(V,k,U),U=r.normalize(U,U),W=s.geodeticSurfaceNormal(X,W);var rt=!r.equalsEpsilon(r.negate(U,R),W,m.EPSILON2);if(rt){U=r.cross(U,W,U),U=r.cross(W,U,U),U=r.normalize(U,U);var it=1/Math.max(.25,r.magnitude(r.cross(U,k,R))),nt=z.angleIsGreaterThanPi(V,k,X,s);nt?(q=r.add(X,r.multiplyByScalar(U,it*L,U),q),G=r.add(q,r.multiplyByScalar(j,L,G),G),S[0]=r.clone(Y,S[0]),S[1]=r.clone(G,S[1]),Q=f(S,J+x,K+x,c),$=l.scaleToSurface(S),B=g($,j,d,B,s,Q,1),j=r.cross(W,V,j),j=r.normalize(j,j),H=r.add(q,r.multiplyByScalar(j,L,H),H),h.value===o.ROUNDED.value||h.value===o.BEVELED.value?C(q,G,H,h,nt,s,B,d,K+x,a):(U=r.negate(U,U),B=y(X,U,d,B,s,K+x,it,tt)),Y=r.clone(H,Y)):(q=r.add(X,r.multiplyByScalar(U,it*L,U),q),G=r.add(q,r.multiplyByScalar(j,-L,G),G),S[0]=r.clone(Y,S[0]),S[1]=r.clone(G,S[1]),Q=f(S,J+x,K+x,c),$=l.scaleToSurface(S,c,s),B=g($,j,d,B,s,Q,1),j=r.cross(W,V,j),j=r.normalize(j,j),H=r.add(q,r.multiplyByScalar(j,-L,H),H),h.value===o.ROUNDED.value||h.value===o.BEVELED.value?C(q,G,H,h,nt,s,B,d,K+x,a):B=y(X,U,d,B,s,K+x,it,tt),Y=r.clone(H,Y)),k=r.negate(V,k)}else B=y(Y,j,d,B,s,J+x,1,1),Y=X;J=K,K=u[et+1],X=Z}S[0]=r.clone(Y,S[0]),S[1]=r.clone(X,S[1]),Q=f(S,J+x,K+x,c),$=l.scaleToSurface(S,c,s),B=g($,j,d,B,s,Q,1),a&&(F=y(X,j,v,F,s,K+x,1,1)),N=B.length;var ot=a?N+F.length:N,at=new Float64Array(ot);return at.set(B),a&&at.set(F,N),at},z}),r("Core/CorridorGeometryLibrary",["./defined","./Cartesian2","./Cartesian3","./CornerType","./EllipsoidTangentPlane","./PolylinePipeline","./PolylineVolumeGeometryLibrary","./Matrix3","./Quaternion","./Math"],function(e,t,r,i,n,o,a,s,l,u){"use strict";function c(e,t,n,o,a){var c=r.angleBetween(r.subtract(t,e,v),r.subtract(n,e,y)),h=o.value===i.BEVELED.value?1:Math.ceil(c/u.toRadians(5))+1,d=3*h,m=new Array(d);m[d-3]=n.x,m[d-2]=n.y,m[d-1]=n.z;var p;p=a?s.fromQuaternion(l.fromAxisAngle(r.negate(e,v),c/h,I),O):s.fromQuaternion(l.fromAxisAngle(e,c/h,I),O);var f=0;t=r.clone(t,v);for(var g=0;h>g;g++)t=s.multiplyByVector(p,t,t),m[f++]=t.x,m[f++]=t.y,m[f++]=t.z;return m}function h(e){var t=C,n=x,o=S,a=e[1];n=r.fromArray(e[1],a.length-3,n),o=r.fromArray(e[0],0,o),t=r.multiplyByScalar(r.add(n,o,t),.5,t);var s=c(t,n,o,i.ROUNDED,!1),l=e.length-1,u=e[l-1];a=e[l],n=r.fromArray(u,u.length-3,n),o=r.fromArray(a,0,o),t=r.multiplyByScalar(r.add(n,o,t),.5,t);var h=c(t,n,o,i.ROUNDED,!1);return[s,h]}function d(e,t,i,n){var o=v;return n?o=r.add(e,t,o):(t=r.negate(t,t),o=r.add(e,t,o)),[o.x,o.y,o.z,i.x,i.y,i.z]}function m(e,t,i,n){for(var o=new Array(e.length),a=new Array(e.length),s=r.multiplyByScalar(t,i,v),l=r.negate(s,y),u=0,c=e.length-1,h=0;hH;H++){g=s.geodeticSurfaceNormal(W,g),q=n[H+1],_=r.normalize(r.subtract(q,W,_),_),R=r.normalize(r.add(_,I,R),R);var X=!r.equalsEpsilon(r.negate(R,v),g,u.EPSILON2);if(X){R=r.cross(R,g,R),R=r.cross(g,R,R);var Z=l/Math.max(.25,r.magnitude(r.cross(R,I,v))),J=a.angleIsGreaterThanPi(_,I,W,s);R=r.multiplyByScalar(R,Z,R),J?(N=r.add(W,R,N),F=r.add(N,r.multiplyByScalar(O,l,F),F),B=r.add(N,r.multiplyByScalar(O,2*l,B),B),w[0]=r.clone(z,w[0]),w[1]=r.clone(F,w[1]),G=o.scaleToSurface(w,t,s),V=m(G,O,l,V),y&&(k.push(O.x,O.y,O.z),U.push(g.x,g.y,g.z)),L=r.clone(B,L),O=r.normalize(r.cross(g,_,O),O),B=r.add(N,r.multiplyByScalar(O,2*l,B),B),z=r.add(N,r.multiplyByScalar(O,l,z),z),f.value===i.ROUNDED.value||f.value===i.BEVELED.value?j.push({leftPositions:c(N,L,B,f,J)}):j.push({leftPositions:d(W,r.negate(R,R),B,J)})):(B=r.add(W,R,B),F=r.add(B,r.negate(r.multiplyByScalar(O,l,F),F),F),N=r.add(B,r.negate(r.multiplyByScalar(O,2*l,N),N),N),w[0]=r.clone(z,w[0]),w[1]=r.clone(F,w[1]),G=o.scaleToSurface(w,t,s),V=m(G,O,l,V),y&&(k.push(O.x,O.y,O.z),U.push(g.x,g.y,g.z)),L=r.clone(N,L),O=r.normalize(r.cross(g,_,O),O),N=r.add(B,r.negate(r.multiplyByScalar(O,2*l,N),N),N),z=r.add(B,r.negate(r.multiplyByScalar(O,l,z),z),z),f.value===i.ROUNDED.value||f.value===i.BEVELED.value?j.push({rightPositions:c(B,L,N,f,J)}):j.push({rightPositions:d(W,R,N,J)})),I=r.negate(_,I)}W=q}g=s.geodeticSurfaceNormal(W,g),w[0]=r.clone(z,w[0]),w[1]=r.clone(W,w[1]),G=o.scaleToSurface(w,t,s),V=m(G,O,l,V),y&&(k.push(O.x,O.y,O.z),U.push(g.x,g.y,g.z));var K;return f.value===i.ROUNDED.value&&(K=h(V,l,s)),{positions:V,corners:j,lefts:k,normals:U,endPositions:K}},f}),r("Core/CorridorGeometry",["./defaultValue","./defined","./DeveloperError","./Cartesian3","./CornerType","./CorridorGeometryLibrary","./ComponentDatatype","./Ellipsoid","./Geometry","./IndexDatatype","./Math","./PolylinePipeline","./PrimitiveType","./BoundingSphere","./GeometryAttribute","./GeometryAttributes","./VertexFormat"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f,v){"use strict";function y(e,t,r,n,a,s){var l=e.normals,u=e.tangents,c=e.binormals,h=i.normalize(i.cross(r,t,D),D);s.normal&&o.addAttribute(l,t,n,a),s.binormal&&o.addAttribute(c,r,n,a),s.tangent&&o.addAttribute(u,h,n,a)}function g(e,r,n){var s,l,h,d=e.positions,m=e.corners,v=e.endPositions,g=e.lefts,_=e.normals,w=new f,C=0,T=0,M=0;for(l=0;ll;l++)V=i.fromArray($,3*(J-1-l),V),F=i.fromArray($,3*(J+l),F),o.addAttribute(U,F,j),o.addAttribute(U,V,void 0,Y),y(H,X,Z,j,Y,r),z=j/3,B=z+1,L=(Y-2)/3,N=L-1,K[Q++]=L,K[Q++]=z,K[Q++]=N,K[Q++]=N,K[Q++]=z,K[Q++]=B,j+=3,Y-=3}var et=0,tt=0,rt=d[et++],it=d[et++];U.set(rt,j),U.set(it,Y-it.length+1),Z=i.fromArray(g,tt,Z);var nt,ot;for(h=it.length-3,l=0;h>l;l+=3)nt=n.geodeticSurfaceNormal(i.fromArray(rt,l,D),D),ot=n.geodeticSurfaceNormal(i.fromArray(it,h-l,P),P),X=i.normalize(i.add(nt,ot,X),X),y(H,X,Z,j,Y,r),z=j/3,B=z+1,L=(Y-2)/3,N=L-1,K[Q++]=L,K[Q++]=z,K[Q++]=N,K[Q++]=N,K[Q++]=z,K[Q++]=B,j+=3,Y-=3;for(nt=n.geodeticSurfaceNormal(i.fromArray(rt,h,D),D),ot=n.geodeticSurfaceNormal(i.fromArray(it,h,P),P),X=i.normalize(i.add(nt,ot,X),X),tt+=3,l=0;ll;l++)V=i.fromArray(pt,3*(O-l-1),V),F=i.fromArray(pt,3*l,F),o.addAttribute(U,V,void 0,Y),o.addAttribute(U,F,j),y(H,X,Z,j,Y,r),B=j/3,z=B-1,N=(Y-2)/3,L=N+1,K[Q++]=L,K[Q++]=z,K[Q++]=N,K[Q++]=N,K[Q++]=z,K[Q++]=B,j+=3,Y-=3}if(w.position=new p({componentDatatype:a.DOUBLE,componentsPerAttribute:3,values:U}),r.st){var ft,vt,yt=new Float32Array(2*(k/3)),gt=0;if(R){C/=3,T/=3;var _t=Math.PI/(O+1);vt=1/(C-O+1),ft=1/(T-O+1);var wt,Ct=O/2;for(l=Ct+1;O+1>l;l++)wt=c.PI_OVER_TWO+_t*l,yt[gt++]=ft*(1+Math.cos(wt)),yt[gt++]=.5*(1+Math.sin(wt));for(l=1;T-O+1>l;l++)yt[gt++]=l*ft,yt[gt++]=0;for(l=O;l>Ct;l--)wt=c.PI_OVER_TWO-l*_t,yt[gt++]=1-ft*(1+Math.cos(wt)),yt[gt++]=.5*(1+Math.sin(wt));for(l=Ct;l>0;l--)wt=c.PI_OVER_TWO-_t*l,yt[gt++]=1-vt*(1+Math.cos(wt)),yt[gt++]=.5*(1+Math.sin(wt));for(l=C-O;l>0;l--)yt[gt++]=l*vt,yt[gt++]=1;for(l=1;Ct+1>l;l++)wt=c.PI_OVER_TWO+_t*l,yt[gt++]=vt*(1+Math.cos(wt)),yt[gt++]=.5*(1+Math.sin(wt))}else{for(C/=3,T/=3,vt=1/(C-1),ft=1/(T-1),l=0;T>l;l++)yt[gt++]=l*ft,yt[gt++]=0;for(l=C;l>0;l--)yt[gt++]=(l-1)*vt,yt[gt++]=1}w.st=new p({componentDatatype:a.FLOAT,componentsPerAttribute:2,values:yt})}return r.normal&&(w.normal=new p({componentDatatype:a.FLOAT,componentsPerAttribute:3,values:H.normals})),r.tangent&&(w.tangent=new p({componentDatatype:a.FLOAT,componentsPerAttribute:3,values:H.tangents})),r.binormal&&(w.binormal=new p({componentDatatype:a.FLOAT,componentsPerAttribute:3,values:H.binormals})),{attributes:w,indices:K}}function _(e,t){if(!(t.normal||t.binormal||t.tangent||t.st))return e;var r,n,a=e.position.values;(t.normal||t.binormal)&&(r=e.normal.values,n=e.binormal.values);var s,l=e.position.values.length/18,u=3*l,c=2*l,h=2*u;if(t.normal||t.binormal||t.tangent){var d=t.normal?new Float32Array(6*u):void 0,m=t.binormal?new Float32Array(6*u):void 0,p=t.tangent?new Float32Array(6*u):void 0,f=x,v=S,y=E,g=b,_=T,w=A,C=h;for(s=0;u>s;s+=3){var D=C+h;f=i.fromArray(a,s,f),v=i.fromArray(a,s+u,v),y=i.fromArray(a,(s+3)%u,y),v=i.subtract(v,f,v),y=i.subtract(y,f,y),g=i.normalize(i.cross(v,y,g),g),t.normal&&(o.addAttribute(d,g,D),o.addAttribute(d,g,D+3),o.addAttribute(d,g,C),o.addAttribute(d,g,C+3)),(t.tangent||t.binormal)&&(w=i.fromArray(r,s,w),t.binormal&&(o.addAttribute(m,w,D),o.addAttribute(m,w,D+3),o.addAttribute(m,w,C),o.addAttribute(m,w,C+3)),t.tangent&&(_=i.normalize(i.cross(w,g,_),_),o.addAttribute(p,_,D),o.addAttribute(p,_,D+3),o.addAttribute(p,_,C),o.addAttribute(p,_,C+3))),C+=6}if(t.normal){for(d.set(r),s=0;u>s;s+=3)d[s+u]=-r[s],d[s+u+1]=-r[s+1],d[s+u+2]=-r[s+2];e.normal.values=d}else e.normal=void 0;if(t.binormal?(m.set(n),m.set(n,u),e.binormal.values=m):e.binormal=void 0,t.tangent){var P=e.tangent.values;p.set(P),p.set(P,u),e.tangent.values=p}}if(t.st){var M=e.st.values,I=new Float32Array(6*c);I.set(M),I.set(M,c);for(var O=2*c,R=0;2>R;R++){for(I[O++]=M[0],I[O++]=M[1],s=2;c>s;s+=2){var L=M[s],z=M[s+1];I[O++]=L,I[O++]=z,I[O++]=L,I[O++]=z}I[O++]=M[0],I[O++]=M[1]}e.st.values=I}return e}function w(e,t,r){r[t++]=e[0],r[t++]=e[1],r[t++]=e[2];for(var i=3;ix;x+=3){var A=d[x],D=d[x+1],P=d[x+2];b[T++]=P+p,b[T++]=D+p,b[T++]=A+p}c=_(c,t);var M,I,O,R;for(x=0;E>x;x+=2)M=x+E,I=M+E,O=M+1,R=I+1,b[T++]=M,b[T++]=I,b[T++]=O,b[T++]=O,b[T++]=I,b[T++]=R;return{attributes:c,indices:b}}var x=new i,S=new i,E=new i,b=new i,T=new i,A=new i,D=new i,P=new i,M=function(i){i=e(i,e.EMPTY_OBJECT);var o=i.positions;if(!t(o))throw new r("options.positions is required.");var a=i.width;if(!t(a))throw new r("options.width is required.");this._positions=o,this._width=a,this._ellipsoid=e(i.ellipsoid,s.WGS84),this._height=e(i.height,0),this._extrudedHeight=e(i.extrudedHeight,this._height),this._cornerType=e(i.cornerType,n.ROUNDED),this._vertexFormat=e(i.vertexFormat,v.DEFAULT),this._granularity=e(i.granularity,c.RADIANS_PER_DEGREE),this._workerName="createCorridorGeometry"};return M.createGeometry=function(e){var t=e._positions,i=e._height,n=e._extrudedHeight,a=i!==n,s=h.removeDuplicates(t);if(s.length<2)throw new r("Count of unique positions must be greater than 1.");var u,c=e._ellipsoid,p=e._vertexFormat,f={ellipsoid:c,positions:s,width:e._width,cornerType:e._cornerType,granularity:e._granularity,saveAttributes:!0};if(a){var v=Math.max(i,n);n=Math.min(i,n),i=v,f.height=i,f.extrudedHeight=n,u=C(f,p)}else{var y=o.computePositions(f);u=g(y,p,c),u.attributes.position.values=h.scaleToGeodeticHeight(u.attributes.position.values,i,c,u.attributes.position.values)}var _=u.attributes,w=m.fromVertices(_.position.values,void 0,3);return p.position||(u.attributes.position.values=void 0),new l({attributes:_,indices:u.indices,primitiveType:d.TRIANGLES,boundingSphere:w})},M}),r("Core/CorridorOutlineGeometry",["./defined","./DeveloperError","./Cartesian3","./CornerType","./CorridorGeometryLibrary","./ComponentDatatype","./Ellipsoid","./Geometry","./IndexDatatype","./Math","./PolylinePipeline","./PrimitiveType","./defaultValue","./BoundingSphere","./GeometryAttribute","./GeometryAttributes"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f){"use strict";function v(t,a,s){var u,c,h,d=[],m=t.positions,v=t.corners,y=t.endPositions,C=new f,x=0,S=0,E=0;for(c=0;cc;c++)R=r.fromArray(U,3*(F-1-c),R),O=r.fromArray(U,3*(F+c),O),n.addAttribute(z,O,N),n.addAttribute(z,R,void 0,B),P=N/3,I=P+1,D=(B-2)/3,M=D-1,V[k++]=D,V[k++]=M,V[k++]=P,V[k++]=I,N+=3,B-=3}var W=0,q=m[W++],G=m[W++];for(z.set(q,N),z.set(G,B-G.length+1),h=G.length-3,d.push(N/3,(B-2)/3),c=0;h>c;c+=3)P=N/3,I=P+1,D=(B-2)/3,M=D-1,V[k++]=D,V[k++]=M,V[k++]=P,V[k++]=I,N+=3,B-=3;for(c=0;cc;c++)R=r.fromArray(J,3*(T-c-1),R),O=r.fromArray(J,3*c,O),n.addAttribute(z,R,void 0,B),n.addAttribute(z,O,N),I=N/3,P=I-1,M=(B-2)/3,D=M+1,V[k++]=D,V[k++]=M,V[k++]=P,V[k++]=I,N+=3,B-=3;d.push(N/3)}else d.push(N/3,(B-2)/3);return V[k++]=N/3,V[k++]=(B-2)/3,C.position=new p({componentDatatype:o.DOUBLE,componentsPerAttribute:3,values:z}),{attributes:C,indices:V,wallIndices:d}}function y(e){var t=e.ellipsoid,r=n.computePositions(e),i=v(r,t,e.cornerType),o=i.wallIndices,a=e.height,s=e.extrudedHeight,u=i.attributes,h=i.indices,d=u.position.values,m=d.length,p=new Float64Array(m);p.set(d);var f=new Float64Array(2*m);d=c.scaleToGeodeticHeight(d,a,t,d),p=c.scaleToGeodeticHeight(p,s,t,p),f.set(d),f.set(p,m),u.position.values=f,m/=3;var y,g=h.length,_=l.createTypedArray(f.length/3,2*(g+o.length));_.set(h);var w=g;for(y=0;g>y;y+=2){var C=h[y],x=h[y+1];_[w++]=C+m,_[w++]=x+m}var S,E;for(y=0;ya;a++){var v=a/n*e.TWO_PI,y=Math.cos(v),g=Math.sin(v),_=y*i,w=g*i,C=y*r,x=g*r;h[m+p]=_,h[m+p+1]=w,h[m+p+2]=l,h[m+f]=C,h[m+f+1]=x,h[m+f+2]=s,m+=3,o&&(h[d++]=_,h[d++]=w,h[d++]=l,h[d++]=C,h[d++]=x,h[d++]=s)}return h},t}),r("Core/CylinderGeometry",["./defaultValue","./defined","./DeveloperError","./Cartesian2","./Cartesian3","./CylinderGeometryLibrary","./Math","./ComponentDatatype","./IndexDatatype","./PrimitiveType","./BoundingSphere","./Geometry","./GeometryAttribute","./GeometryAttributes","./VertexFormat"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p){"use strict";var f=new i,v=new n,y=new n,g=new n,_=new n,w=function(i){i=e(i,e.EMPTY_OBJECT);var n=i.length,o=i.topRadius,a=i.bottomRadius,s=e(i.vertexFormat,p.DEFAULT),l=e(i.slices,128);if(!t(n)||0>=n)throw new r("options.length must be greater than 0.");if(!t(o)||0>o)throw new r("options.topRadius must be greater than 0.");if(!t(a)||0>a)throw new r("options.bottomRadius must be greater than 0.");if(0===a&&0===o)throw new r("bottomRadius and topRadius cannot both equal 0.");if(3>l)throw new r("options.slices must be greater that 3.");this._length=n,this._topRadius=o,this._bottomRadius=a,this._vertexFormat=s,this._slices=l,this._workerName="createCylinderGeometry"};return w.createGeometry=function(e){var t,r=e._length,p=e._topRadius,w=e._bottomRadius,C=e._vertexFormat,x=e._slices,S=x+x,E=x+S,b=S+S,T=o.computePositions(r,p,w,x,!0),A=C.st?new Float32Array(2*b):void 0,D=C.normal?new Float32Array(3*b):void 0,P=C.tangent?new Float32Array(3*b):void 0,M=C.binormal?new Float32Array(3*b):void 0,I=C.normal||C.tangent||C.binormal;if(I){var O=C.tangent||C.binormal,R=0,L=0,z=0,N=v;N.z=0;var B=g,F=y;for(t=0;x>t;t++){var V=t/x*a.TWO_PI,k=Math.cos(V),U=Math.sin(V);I&&(N.x=k,N.y=U,O&&(B=n.normalize(n.cross(n.UNIT_Z,N,B),B)),C.normal&&(D[R++]=k,D[R++]=U,D[R++]=0,D[R++]=k,D[R++]=U,D[R++]=0),C.tangent&&(P[L++]=B.x,P[L++]=B.y,P[L++]=B.z,P[L++]=B.x,P[L++]=B.y,P[L++]=B.z),C.binormal&&(F=n.normalize(n.cross(N,B,F),F),M[z++]=F.x,M[z++]=F.y,M[z++]=F.z,M[z++]=F.x,M[z++]=F.y,M[z++]=F.z))}for(t=0;x>t;t++)C.normal&&(D[R++]=0,D[R++]=0,D[R++]=-1),C.tangent&&(P[L++]=1,P[L++]=0,P[L++]=0),C.binormal&&(M[z++]=0,M[z++]=-1,M[z++]=0);for(t=0;x>t;t++)C.normal&&(D[R++]=0,D[R++]=0,D[R++]=1),C.tangent&&(P[L++]=1,P[L++]=0,P[L++]=0),C.binormal&&(M[z++]=0,M[z++]=1,M[z++]=0)}var W=12*x-12,q=l.createTypedArray(b,W),G=0,H=0;for(t=0;x-1>t;t++)q[G++]=H,q[G++]=H+2,q[G++]=H+3,q[G++]=H,q[G++]=H+3,q[G++]=H+1,H+=2;for(q[G++]=S-2,q[G++]=0,q[G++]=1,q[G++]=S-2,q[G++]=1,q[G++]=S-1,t=1;x-1>t;t++)q[G++]=S+t+1,q[G++]=S+t,q[G++]=S;for(t=1;x-1>t;t++)q[G++]=E,q[G++]=E+t,q[G++]=E+t+1;var j=0;if(C.st){var Y=Math.max(p,w);for(t=0;b>t;t++){var X=n.fromArray(T,3*t,_);A[j++]=(X.x+Y)/(2*Y),A[j++]=(X.y+Y)/(2*Y)}}var Z=new m;C.position&&(Z.position=new d({componentDatatype:s.DOUBLE,componentsPerAttribute:3,values:T})),C.normal&&(Z.normal=new d({componentDatatype:s.FLOAT,componentsPerAttribute:3,values:D})),C.tangent&&(Z.tangent=new d({componentDatatype:s.FLOAT,componentsPerAttribute:3,values:P})),C.binormal&&(Z.binormal=new d({componentDatatype:s.FLOAT,componentsPerAttribute:3,values:M})),C.st&&(Z.st=new d({componentDatatype:s.FLOAT,componentsPerAttribute:2,values:A})),f.x=.5*r,f.y=Math.max(w,p);var J=new c(n.ZERO,i.magnitude(f));return new h({attributes:Z,indices:q,primitiveType:u.TRIANGLES,boundingSphere:J})},w}),r("Core/CylinderOutlineGeometry",["./defaultValue","./defined","./DeveloperError","./Cartesian2","./Cartesian3","./CylinderGeometryLibrary","./Math","./ComponentDatatype","./IndexDatatype","./PrimitiveType","./BoundingSphere","./Geometry","./GeometryAttribute","./GeometryAttributes"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m){"use strict";var p=new i,f=function(i){i=e(i,e.EMPTY_OBJECT);var n=i.length,o=i.topRadius,a=i.bottomRadius,s=e(i.slices,128),l=Math.max(e(i.numberOfVerticalLines,16),0);if(!t(n)||0>=n)throw new r("options.length must be greater than 0.");if(!t(o)||0>o)throw new r("options.topRadius must be greater than 0.");if(!t(a)||0>a)throw new r("options.bottomRadius must be greater than 0.");if(0===a&&0===o)throw new r("bottomRadius and topRadius cannot both equal 0.");if(3>s)throw new r("options.slices must be greater that 3.");this._length=n,this._topRadius=o,this._bottomRadius=a,this._slices=s,this._numberOfVerticalLines=l,this._workerName="createCylinderOutlineGeometry"};return f.createGeometry=function(e){var t,r=e._length,a=e._topRadius,f=e._bottomRadius,v=e._slices,y=e._numberOfVerticalLines,g=2*v,_=o.computePositions(r,a,f,v,!1),w=2*v;if(y>0){var C=Math.min(y,v);t=Math.round(v/C),w+=C}for(var x=l.createTypedArray(g,2*w),S=0,E=0;v-1>E;E++)x[S++]=E,x[S++]=E+1,x[S++]=E+v,x[S++]=E+1+v;if(x[S++]=v-1,x[S++]=0,x[S++]=v+v-1,x[S++]=v,y>0)for(E=0;v>E;E+=t)x[S++]=E,x[S++]=E+v;var b=new m;b.position=new d({componentDatatype:s.DOUBLE,componentsPerAttribute:3,values:_}),p.x=.5*r,p.y=Math.max(f,a);var T=new c(n.ZERO,i.magnitude(p));return new h({attributes:b,indices:x,primitiveType:u.LINES,boundingSphere:T})},f}),r("Core/DefaultProxy",[],function(){"use strict";var e=function(e){this.proxy=e};return e.prototype.getURL=function(e){return this.proxy+"?"+encodeURIComponent(e)},e}),r("Core/EllipsoidGeometry",["./defaultValue","./DeveloperError","./Cartesian3","./Math","./Ellipsoid","./ComponentDatatype","./IndexDatatype","./PrimitiveType","./BoundingSphere","./Geometry","./GeometryAttribute","./GeometryAttributes","./VertexFormat"],function(e,t,r,i,n,o,a,s,l,u,c,h,d){"use strict";var m=new r,p=new r,f=new r,v=new r,y=new r(1,1,1),g=Math.cos,_=Math.sin,w=function(i){i=e(i,e.EMPTY_OBJECT);var n=e(i.radii,y),o=e(i.stackPartitions,64),a=e(i.slicePartitions,64),s=e(i.vertexFormat,d.DEFAULT);if(3>a)throw new t("options.slicePartitions cannot be less than three.");if(3>o)throw new t("options.stackPartitions cannot be less than three.");this._radii=r.clone(n),this._stackPartitions=o,this._slicePartitions=a,this._vertexFormat=s,this._workerName="createEllipsoidGeometry"};return w.createGeometry=function(e){var t,d,y=e._radii,w=n.fromCartesian3(y),C=e._stackPartitions,x=e._slicePartitions,S=e._vertexFormat,E=2+(C-1)*x,b=new Float64Array(3*E),T=6*x*(C-1),A=a.createTypedArray(E,T),D=S.normal?new Float32Array(3*E):void 0,P=S.tangent?new Float32Array(3*E):void 0,M=S.binormal?new Float32Array(3*E):void 0,I=S.st?new Float32Array(2*E):void 0,O=new Array(x),R=new Array(x);for(t=0;x>t;t++){var L=i.TWO_PI*t/x;O[t]=g(L),R[t]=_(L)}var z=0;for(b[z++]=0,b[z++]=0,b[z++]=y.z,t=1;C>t;t++){var N=Math.PI*t/C,B=_(N),F=y.x*B,V=y.y*B,k=y.z*g(N);for(d=0;x>d;d++)b[z++]=O[d]*F,b[z++]=R[d]*V,b[z++]=k}b[z++]=0,b[z++]=0,b[z++]=-y.z;var U=new h;S.position&&(U.position=new c({componentDatatype:o.DOUBLE,componentsPerAttribute:3,values:b}));var W=0,q=0,G=0,H=0;if(S.st||S.normal||S.tangent||S.binormal){for(t=0;E>t;t++){var j=r.fromArray(b,3*t,m),Y=w.geodeticSurfaceNormal(j,p);if(S.st&&(I[W++]=Math.atan2(Y.y,Y.x)/i.TWO_PI+.5,I[W++]=Math.asin(Y.z)/Math.PI+.5),S.normal&&(D[q++]=Y.x,D[q++]=Y.y,D[q++]=Y.z),S.tangent||S.binormal){var X=f;if(0===t||t===E-1?(r.cross(r.UNIT_X,Y,X),r.normalize(X,X)):(r.cross(r.UNIT_Z,Y,X),r.normalize(X,X)),S.tangent&&(P[G++]=X.x,P[G++]=X.y,P[G++]=X.z),S.binormal){var Z=r.cross(Y,X,v);r.normalize(Z,Z),M[H++]=Z.x,M[H++]=Z.y,M[H++]=Z.z}}}S.st&&(U.st=new c({componentDatatype:o.FLOAT,componentsPerAttribute:2,values:I})),S.normal&&(U.normal=new c({componentDatatype:o.FLOAT,componentsPerAttribute:3,values:D})),S.tangent&&(U.tangent=new c({componentDatatype:o.FLOAT,componentsPerAttribute:3,values:P})),S.binormal&&(U.binormal=new c({componentDatatype:o.FLOAT,componentsPerAttribute:3,values:M}))}for(z=0,t=1;x>t;t++)A[z++]=0,A[z++]=t,A[z++]=t+1;for(A[z++]=0,A[z++]=x,A[z++]=1,t=0;C-2>t;t++){var J=t*x+1,K=(t+1)*x+1;for(d=0;x-1>d;d++)A[z++]=K+d,A[z++]=K+d+1,A[z++]=J+d+1,A[z++]=K+d,A[z++]=J+d+1,A[z++]=J+d;A[z++]=K+x-1,A[z++]=K,A[z++]=J,A[z++]=K+x-1,A[z++]=J,A[z++]=J+x-1}var Q=E-1;for(t=Q-1;t>Q-x;t--)A[z++]=Q,A[z++]=t,A[z++]=t-1;return A[z++]=Q,A[z++]=Q-x,A[z++]=Q-1,new u({attributes:U,indices:A,primitiveType:s.TRIANGLES,boundingSphere:l.fromEllipsoid(w)})},w}),r("Core/EllipsoidOutlineGeometry",["./defaultValue","./DeveloperError","./Cartesian3","./Math","./Ellipsoid","./ComponentDatatype","./IndexDatatype","./PrimitiveType","./BoundingSphere","./Geometry","./GeometryAttribute","./GeometryAttributes"],function(e,t,r,i,n,o,a,s,l,u,c,h){"use strict";var d=new r(1,1,1),m=Math.cos,p=Math.sin,f=function(i){i=e(i,e.EMPTY_OBJECT);var n=e(i.radii,d),o=e(i.stackPartitions,10),a=e(i.slicePartitions,8),s=e(i.subdivisions,128);if(1>o)throw new t("options.stackPartitions cannot be less than 1");if(0>a)throw new t("options.slicePartitions cannot be less than 0");if(0>s)throw new t("options.subdivisions must be greater than or equal to zero.");this._radii=r.clone(n),this._stackPartitions=o,this._slicePartitions=a,this._subdivisions=s,this._workerName="createEllipsoidOutlineGeometry"};return f.createGeometry=function(e){var t,r,d,f,v,y,g=e._radii,_=n.fromCartesian3(g),w=e._stackPartitions,C=e._slicePartitions,x=e._subdivisions,S=x*(w+C-1),E=S-C+2,b=new Float64Array(3*E),T=a.createTypedArray(E,2*S),A=0,D=new Array(x),P=new Array(x);for(t=0;x>t;t++)d=i.TWO_PI*t/x,D[t]=m(d),P[t]=p(d);for(t=1;w>t;t++)for(f=Math.PI*t/w,v=m(f),y=p(f),r=0;x>r;r++)b[A++]=g.x*D[r]*y,b[A++]=g.y*P[r]*y,b[A++]=g.z*v;for(D.length=C,P.length=C,t=0;C>t;t++)d=i.TWO_PI*t/C,D[t]=m(d),P[t]=p(d);for(b[A++]=0,b[A++]=0,b[A++]=g.z,t=1;x>t;t++)for(f=Math.PI*t/x,v=m(f),y=p(f),r=0;C>r;r++)b[A++]=g.x*D[r]*y,b[A++]=g.y*P[r]*y,b[A++]=g.z*v;for(b[A++]=0,b[A++]=0,b[A++]=-g.z,A=0,t=0;w-1>t;++t){var M=t*x;for(r=0;x-1>r;++r)T[A++]=M+r,T[A++]=M+r+1;T[A++]=M+x-1,T[A++]=M}var I=x*(w-1);for(r=1;C+1>r;++r)T[A++]=I,T[A++]=I+r;for(t=0;x-2>t;++t){var O=t*C+1+I,R=(t+1)*C+1+I;for(r=0;C-1>r;++r)T[A++]=R+r,T[A++]=O+r;T[A++]=R+C-1,T[A++]=O+C-1}var L=b.length/3-1;for(r=L-1;r>L-C-1;--r)T[A++]=L,T[A++]=r;var z=new h({position:new c({componentDatatype:o.DOUBLE,componentsPerAttribute:3,values:b})});return new u({attributes:z,indices:T,primitiveType:s.LINES,boundingSphere:l.fromEllipsoid(_)})},f}),r("Core/EllipsoidalOccluder",["./defaultValue","./defined","./DeveloperError","./Cartesian3","./BoundingSphere"],function(e,t,r,i,n){"use strict";function o(e,t,r){var n=e.transformPositionToScaledSpace(t,d),o=i.magnitudeSquared(n),a=Math.sqrt(o),s=i.divideByScalar(n,a,m);o=Math.max(1,o),a=Math.max(1,a);var l=i.dot(s,r),u=i.magnitude(i.cross(s,r)),c=1/a,h=Math.sqrt(o-1)*c;return 1/(l*c-u*h)}function a(e,t,r){return 0>=t||t===1/0||t!==t?void 0:i.multiplyByScalar(e,t,r)}function s(e,t){return e.transformPositionToScaledSpace(t,p),i.normalize(p,p)}var l=function(e,n){if(!t(e))throw new r("ellipsoid is required.");this._ellipsoid=e,this._cameraPosition=new i,this._cameraPositionInScaledSpace=new i,this._distanceToLimbInScaledSpaceSquared=0,t(n)&&this.setCameraPosition(n)};l.prototype.getEllipsoid=function(){return this._ellipsoid},l.prototype.setCameraPosition=function(e){var t=this._ellipsoid,r=t.transformPositionToScaledSpace(e,this._cameraPositionInScaledSpace),n=i.magnitudeSquared(r)-1;i.clone(e,this._cameraPosition),this._cameraPositionInScaledSpace=r,this._distanceToLimbInScaledSpaceSquared=n},l.prototype.getCameraPosition=function(){return this._cameraPosition};var u=new i;l.prototype.isPointVisible=function(e){var t=this._ellipsoid,r=t.transformPositionToScaledSpace(e,u);return this.isScaledSpacePointVisible(r)},l.prototype.isScaledSpacePointVisible=function(e){var t=this._cameraPositionInScaledSpace,r=this._distanceToLimbInScaledSpaceSquared,n=i.subtract(e,t,u),o=-i.dot(n,t),a=o>r&&o*o/i.magnitudeSquared(n)>r;return!a},l.prototype.computeHorizonCullingPoint=function(e,i,n){if(!t(e))throw new r("directionToPoint is required");if(!t(i))throw new r("positions is required");for(var l=this._ellipsoid,u=s(l,e),c=0,h=0,d=i.length;d>h;++h){var m=i[h],p=o(l,m,u);c=Math.max(c,p)}return a(u,c,n)};var c=new i;l.prototype.computeHorizonCullingPointFromVertices=function(n,l,u,h,d){if(!t(n))throw new r("directionToPoint is required");if(!t(l))throw new r("vertices is required");if(!t(u))throw new r("stride is required");h=e(h,i.ZERO);for(var m=this._ellipsoid,p=s(m,n),f=0,v=0,y=l.length;y>v;v+=u){c.x=l[v]+h.x,c.y=l[v+1]+h.y,c.z=l[v+2]+h.z;var g=o(m,c,p);f=Math.max(f,g)}return a(p,f,d)};var h=[];l.prototype.computeHorizonCullingPointFromExtent=function(e,o,a){if(!t(e))throw new r("extent is required."); -var s=e.subsample(o,0,h),l=n.fromPoints(s);return i.magnitude(l.center)<.1*o.getMinimumRadius()?void 0:this.computeHorizonCullingPoint(l.center,s,a)};var d=new i,m=new i,p=new i;return l}),r("Core/EventHelper",["./defined","./DeveloperError"],function(e,t){"use strict";var r=function(){this._removalFunctions=[]};return r.prototype.add=function(r,i,n){if(!e(r))throw new t("event is required");this._removalFunctions.push(r.addEventListener(i,n))},r.prototype.removeAll=function(){for(var e=this._removalFunctions,t=0,r=e.length;r>t;++t)e[t]();e.length=0},r}),r("Core/Extent",["./freezeObject","./defaultValue","./defined","./Ellipsoid","./Cartographic","./DeveloperError","./Math"],function(e,t,r,i,n,o,a){"use strict";var s=function(e,r,i,n){this.west=t(e,0),this.south=t(r,0),this.east=t(i,0),this.north=t(n,0)};s.fromDegrees=function(e,i,n,o,l){return e=a.toRadians(t(e,0)),i=a.toRadians(t(i,0)),n=a.toRadians(t(n,0)),o=a.toRadians(t(o,0)),r(l)?(l.west=e,l.south=i,l.east=n,l.north=o,l):new s(e,i,n,o)},s.fromCartographicArray=function(e,t){if(!r(e))throw new o("cartographics is required.");for(var i=Number.MAX_VALUE,n=-Number.MAX_VALUE,a=Number.MAX_VALUE,l=-Number.MAX_VALUE,u=0,c=e.length;c>u;u++){var h=e[u];i=Math.min(i,h.longitude),n=Math.max(n,h.longitude),a=Math.min(a,h.latitude),l=Math.max(l,h.latitude)}return r(t)?(t.west=i,t.south=a,t.east=n,t.north=l,t):new s(i,a,n,l)},s.clone=function(e,t){return r(e)?r(t)?(t.west=e.west,t.south=e.south,t.east=e.east,t.north=e.north,t):new s(e.west,e.south,e.east,e.north):void 0},s.prototype.clone=function(e){return s.clone(this,e)},s.prototype.equals=function(e){return s.equals(this,e)},s.equals=function(e,t){return e===t||r(e)&&r(t)&&e.west===t.west&&e.south===t.south&&e.east===t.east&&e.north===t.north},s.prototype.equalsEpsilon=function(e,t){if("number"!=typeof t)throw new o("epsilon is required and must be a number.");return r(e)&&Math.abs(this.west-e.west)<=t&&Math.abs(this.south-e.south)<=t&&Math.abs(this.east-e.east)<=t&&Math.abs(this.north-e.north)<=t},s.prototype.validate=function(){var e=this.north;if("number"!=typeof e)throw new o("north is required to be a number.");if(e<-a.PI_OVER_TWO||e>a.PI_OVER_TWO)throw new o("north must be in the interval [-Pi/2, Pi/2].");var t=this.south;if("number"!=typeof t)throw new o("south is required to be a number.");if(t<-a.PI_OVER_TWO||t>a.PI_OVER_TWO)throw new o("south must be in the interval [-Pi/2, Pi/2].");var r=this.west;if("number"!=typeof r)throw new o("west is required to be a number.");if(r<-Math.PI||r>Math.PI)throw new o("west must be in the interval [-Pi, Pi].");var i=this.east;if("number"!=typeof i)throw new o("east is required to be a number.");if(i<-Math.PI||i>Math.PI)throw new o("east must be in the interval [-Pi, Pi].")},s.prototype.getSouthwest=function(e){return r(e)?(e.longitude=this.west,e.latitude=this.south,e.height=0,e):new n(this.west,this.south)},s.prototype.getNorthwest=function(e){return r(e)?(e.longitude=this.west,e.latitude=this.north,e.height=0,e):new n(this.west,this.north)},s.prototype.getNortheast=function(e){return r(e)?(e.longitude=this.east,e.latitude=this.north,e.height=0,e):new n(this.east,this.north)},s.prototype.getSoutheast=function(e){return r(e)?(e.longitude=this.east,e.latitude=this.south,e.height=0,e):new n(this.east,this.south)},s.prototype.getCenter=function(e){return r(e)?(e.longitude=.5*(this.west+this.east),e.latitude=.5*(this.south+this.north),e.height=0,e):new n(.5*(this.west+this.east),.5*(this.south+this.north))},s.prototype.intersectWith=function(e,t){if(!r(e))throw new o("otherExtent is required.");var i=Math.max(this.west,e.west),n=Math.max(this.south,e.south),a=Math.min(this.east,e.east),l=Math.min(this.north,e.north);return r(t)?(t.west=i,t.south=n,t.east=a,t.north=l,t):new s(i,n,a,l)},s.prototype.contains=function(e){if(!r(e))throw new o("cartographic is required.");return e.longitude>=this.west&&e.longitude<=this.east&&e.latitude>=this.south&&e.latitude<=this.north},s.prototype.isEmpty=function(){return this.west>=this.east||this.south>=this.north};var l=new n;return s.prototype.subsample=function(e,n,o){e=t(e,i.WGS84),n=t(n,0),r(o)||(o=[]);var s=0,u=this.north,c=this.south,h=this.east,d=this.west,m=l;m.height=n,m.longitude=d,m.latitude=u,o[s]=e.cartographicToCartesian(m,o[s]),s++,m.longitude=h,o[s]=e.cartographicToCartesian(m,o[s]),s++,m.latitude=c,o[s]=e.cartographicToCartesian(m,o[s]),s++,m.longitude=d,o[s]=e.cartographicToCartesian(m,o[s]),s++,m.latitude=0>u?u:c>0?c:0;for(var p=1;8>p;++p){var f=-Math.PI+p*a.PI_OVER_TWO;f>d&&h>f&&(m.longitude=f,o[s]=e.cartographicToCartesian(m,o[s]),s++)}return 0===m.latitude&&(m.longitude=d,o[s]=e.cartographicToCartesian(m,o[s]),s++,m.longitude=h,o[s]=e.cartographicToCartesian(m,o[s]),s++),o.length=s,o},s.MAX_VALUE=e(new s(-Math.PI,-a.PI_OVER_TWO,Math.PI,a.PI_OVER_TWO)),s}),r("Core/Matrix2",["./Cartesian2","./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,t,r,i,n){"use strict";var o=function(e,r,i,n){this[0]=t(e,0),this[1]=t(i,0),this[2]=t(r,0),this[3]=t(n,0)};return o.clone=function(e,t){return r(e)?r(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t):new o(e[0],e[2],e[1],e[3]):void 0},o.fromArray=function(e,i,n){return i=t(i,0),r(n)||(n=new o),n[0]=e[i],n[1]=e[i+1],n[2]=e[i+2],n[3]=e[i+3],n},o.fromColumnMajorArray=function(e,t){return o.clone(e,t)},o.fromRowMajorArray=function(e,t){return r(t)?(t[0]=e[0],t[1]=e[2],t[2]=e[1],t[3]=e[3],t):new o(e[0],e[1],e[2],e[3])},o.fromScale=function(e,t){return r(t)?(t[0]=e.x,t[1]=0,t[2]=0,t[3]=e.y,t):new o(e.x,0,0,e.y)},o.fromUniformScale=function(e,t){return r(t)?(t[0]=e,t[1]=0,t[2]=0,t[3]=e,t):new o(e,0,0,e)},o.fromRotation=function(e,t){var i=Math.cos(e),n=Math.sin(e);return r(t)?(t[0]=i,t[1]=n,t[2]=-n,t[3]=i,t):new o(i,-n,n,i)},o.toArray=function(e,t){return r(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t):[e[0],e[1],e[2],e[3]]},o.getElementIndex=function(e,t){return 2*e+t},o.getColumn=function(t,i,n){var o=2*i,a=t[o],s=t[o+1];return r(n)?(n.x=a,n.y=s,n):new e(a,s)},o.setColumn=function(e,t,r,i){i=o.clone(e,i);var n=2*t;return i[n]=r.x,i[n+1]=r.y,i},o.getRow=function(t,i,n){var o=t[i],a=t[i+2];return r(n)?(n.x=o,n.y=a,n):new e(o,a)},o.setRow=function(e,t,r,i){return i=o.clone(e,i),i[t]=r.x,i[t+2]=r.y,i},o.multiply=function(e,t,i){var n=e[0]*t[0]+e[2]*t[1],a=e[0]*t[2]+e[2]*t[3],s=e[1]*t[0]+e[3]*t[1],l=e[1]*t[2]+e[3]*t[3];return r(i)?(i[0]=n,i[1]=s,i[2]=a,i[3]=l,i):new o(n,a,s,l)},o.multiplyByVector=function(t,i,n){var o=t[0]*i.x+t[2]*i.y,a=t[1]*i.x+t[3]*i.y;return r(n)?(n.x=o,n.y=a,n):new e(o,a)},o.multiplyByScalar=function(e,t,i){return r(i)?(i[0]=e[0]*t,i[1]=e[1]*t,i[2]=e[2]*t,i[3]=e[3]*t,i):new o(e[0]*t,e[2]*t,e[1]*t,e[3]*t)},o.negate=function(e,t){return r(t)?(t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t):new o(-e[0],-e[2],-e[1],-e[3])},o.transpose=function(e,t){var i=e[0],n=e[2],a=e[1],s=e[3];return r(t)?(t[0]=i,t[1]=n,t[2]=a,t[3]=s,t):new o(i,a,n,s)},o.abs=function(e,t){return r(t)?(t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t[3]=Math.abs(e[3]),t):new o(Math.abs(e[0]),Math.abs(e[2]),Math.abs(e[1]),Math.abs(e[3]))},o.equals=function(e,t){return e===t||r(e)&&r(t)&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]},o.equalsEpsilon=function(e,t,i){return e===t||r(e)&&r(t)&&Math.abs(e[0]-t[0])<=i&&Math.abs(e[1]-t[1])<=i&&Math.abs(e[2]-t[2])<=i&&Math.abs(e[3]-t[3])<=i},o.IDENTITY=n(new o(1,0,0,1)),o.COLUMN0ROW0=0,o.COLUMN0ROW1=1,o.COLUMN1ROW0=2,o.COLUMN1ROW1=3,o.prototype.clone=function(e){return o.clone(this,e)},o.prototype.equals=function(e){return o.equals(this,e)},o.prototype.equalsEpsilon=function(e,t){return o.equalsEpsilon(this,e,t)},o.prototype.toString=function(){return"("+this[0]+", "+this[2]+")\n"+"("+this[1]+", "+this[3]+")"},o}),r("Core/ExtentGeometry",["./defaultValue","./defined","./BoundingSphere","./Cartesian2","./Cartesian3","./Cartographic","./ComponentDatatype","./IndexDatatype","./DeveloperError","./Ellipsoid","./Extent","./Geometry","./GeometryInstance","./GeometryPipeline","./GeographicProjection","./GeometryAttribute","./GeometryAttributes","./Math","./Matrix2","./Matrix3","./PrimitiveType","./Quaternion","./VertexFormat"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f,v,y,g,_,w,C,x){"use strict";function S(e,t){return e<-y.PI_OVER_TWO||e>y.PI_OVER_TWO?!1:t>y.PI||t<-y.PI?!1:!0}function E(e,r,i,n,o){var a=e.radiiSquared;O=z.latitude-e.granYCos*r+i*e.granXSin;var s=et(O),l=tt(O),u=a.z*l;R=z.longitude+r*e.granYSin+i*e.granXCos;var c=s*et(R),h=s*tt(R),d=a.x*c,m=a.y*h,p=rt(d*c+m*h+u*l),f=d/p,v=m/p,y=u/p;t(n)&&(q.x=f+c*n,q.y=v+h*n,q.z=y+l*n),t(o)&&(Y.x=f+c*o,Y.y=v+h*o,Y.z=y+l*o)}function b(e,t){var r=new h({attributes:new v,primitiveType:w.TRIANGLES});return e.position&&(r.attributes.position=new f({componentDatatype:a.DOUBLE,componentsPerAttribute:3,values:t.positions})),e.normal&&(r.attributes.normal=new f({componentDatatype:a.FLOAT,componentsPerAttribute:3,values:t.normals})),e.tangent&&(r.attributes.tangent=new f({componentDatatype:a.FLOAT,componentsPerAttribute:3,values:t.tangents})),e.binormal&&(r.attributes.binormal=new f({componentDatatype:a.FLOAT,componentsPerAttribute:3,values:t.binormals})),r}function T(e,t,r,i,o){var a=e.length,s=t.normal?new Float32Array(a):void 0,l=t.tangent?new Float32Array(a):void 0,u=t.binormal?new Float32Array(a):void 0,c=0,h=i?a/2:0;a=i&&o?a/2:a;for(var d=0;a>d;d+=3){var m=n.fromArray(e,d,q),p=c+1,f=c+2;(t.normal||t.tangent||t.binormal)&&(G=r.geodeticSurfaceNormal(m,G),(t.tangent||t.binormal)&&(n.cross(n.UNIT_Z,G,H),_.multiplyByVector(U,H,H),n.normalize(H,H),t.binormal&&n.normalize(n.cross(G,H,j),j)),i&&(t.normal&&(s[c]=G.x,s[p]=G.y,s[f]=G.z),t.tangent&&(l[c]=H.x,l[p]=H.y,l[f]=H.z),t.binormal&&(u[c]=j.x,u[p]=j.y,u[f]=j.z)),o&&(t.normal&&(s[c+h]=-G.x,s[p+h]=-G.y,s[f+h]=-G.z),t.tangent&&(l[c+h]=-H.x,l[p+h]=-H.y,l[f+h]=-H.z),t.binormal&&(u[c+h]=j.x,u[p+h]=j.y,u[f+h]=j.z))),c+=3}return b(t,{positions:e,normals:s,tangents:l,binormals:u})}function A(e,t,r){for(var i=e.length,o=t.normal?new Float32Array(i):void 0,a=t.tangent?new Float32Array(i):void 0,s=t.binormal?new Float32Array(i):void 0,l=0,u=!0,c=i/2,h=0;c>h;h+=3){var d=n.fromArray(e,h,q),m=l+1,p=l+2;if(t.normal||t.tangent||t.binormal){var f=n.fromArray(e,h+3,J);if(u){var v=n.fromArray(e,h+c,K);n.subtract(f,d,f),n.subtract(v,d,v),G=n.normalize(n.cross(v,f,G),G),u=!1}n.equalsEpsilon(f,d,y.EPSILON10)&&(u=!0),(t.tangent||t.binormal)&&(j=r.geodeticSurfaceNormal(d,j),t.tangent&&(H=n.normalize(n.cross(j,G,H),H))),t.normal&&(o[l]=G.x,o[m]=G.y,o[p]=G.z,o[l+c]=G.x,o[m+c]=G.y,o[p+c]=G.z),t.tangent&&(a[l]=H.x,a[m]=H.y,a[p]=H.z,a[l+c]=H.x,a[m+c]=H.y,a[p+c]=H.z),t.binormal&&(s[l]=j.x,s[m]=j.y,s[p]=j.z,s[l+c]=j.x,s[m+c]=j.y,s[p+c]=j.z)}l+=3}return b(t,{positions:e,normals:o,tangents:a,binormals:s})}function D(e,r,i,n,o){return Q.x=(R-F.west)*n.lonScalar-.5,Q.y=(O-F.south)*n.latScalar-.5,g.multiplyByVector(V,Q,Q),Q.x+=.5,Q.y+=.5,t(o)&&(i[r+o]=Q.x,i[r+1+o]=Q.y),i[r++]=Q.x,i[r++]=Q.y,r}function P(e,t,r){return e[t+r]=Y.x,e[t++]=q.x,e[t+r]=Y.y,e[t++]=q.y,e[t+r]=Y.z,e[t++]=q.z,e}function M(e,t){for(var i=t.ellipsoid,n=t.size,o=t.height,l=t.width,u=t.surfaceHeight,c=0,h=e.position?new Float64Array(3*n):void 0,d=e.st?new Float32Array(2*n):void 0,m=0,p=0;o>p;++p)for(var v=0;l>v;++v)E(t,p,v,u),h[m++]=q.x,h[m++]=q.y,h[m++]=q.z,e.st&&(Q.x=(R-F.west)*t.lonScalar-.5,Q.y=(O-F.south)*t.latScalar-.5,g.multiplyByVector(V,Q,Q),Q.x+=.5,Q.y+=.5,d[c++]=Q.x,d[c++]=Q.y);for(var y=T(h,e,i,!0,!1),_=6*(l-1)*(o-1),w=s.createTypedArray(n,_),C=0,x=0,S=0;o-1>S;++S){for(var b=0;l-1>b;++b){var A=C,D=A+l,P=D+1,M=A+1;w[x++]=A,w[x++]=D,w[x++]=M,w[x++]=M,w[x++]=D,w[x++]=P,++C}++C}return y.indices=w,e.st&&(y.attributes.st=new f({componentDatatype:a.FLOAT,componentsPerAttribute:2,values:d})),{boundingSphere:r.fromExtent3D(t.extent,i,u),geometry:y}}function I(t,i){var o=i.surfaceHeight,l=i.extrudedHeight,u=Math.min(l,o),c=Math.max(l,o);if(y.equalsEpsilon(u,c,.1))return M(t,i);var h,p=i.height,v=i.width,g=i.size,_=i.ellipsoid,w=e(i.closeTop,!0),C=e(i.closeBottom,!0),x=2*v+2*p-4,S=2*(x+4),b=new Float64Array(3*S),I=t.st?new Float32Array(2*S):void 0,O=0,R=0,L=0,z=3*(S/2);for(h=0;p>h;h++)E(i,h,O,c,u),b=P(b,R,z),R+=3,t.st&&(L=D(t,L,I,i,S));for(h=p-1,O=0;v>O;O++)E(i,h,O,c,u),b=P(b,R,z),R+=3,t.st&&(L=D(t,L,I,i,S));for(O=v-1,h=p-1;h>=0;h--)E(i,h,O,c,u),b=P(b,R,z),R+=3,t.st&&(L=D(t,L,I,i,S));for(h=0,O=v-1;O>=0;O--)E(i,h,O,c,u),b=P(b,R,z),R+=3,t.st&&(L=D(t,L,I,i,S));var N=A(b,t,_);t.st&&(N.attributes.st=new f({componentDatatype:a.FLOAT,componentsPerAttribute:2,values:I}));var B,F,V,k,U,W=s.createTypedArray(S,6*x),G=b.length/6,H=0;for(U=0;G-1>U;U++){B=U,k=B+1;var j=n.fromArray(b,3*B,J),Q=n.fromArray(b,3*k,K);n.equalsEpsilon(j,Q,y.EPSILON10)||(F=B+G,V=F+1,W[H++]=B,W[H++]=F,W[H++]=k,W[H++]=k,W[H++]=F,W[H++]=V)}if(N.indices=W,C||w){var $,et,tt=0,rt=0;w&&(tt+=g,rt+=6*(v-1)*(p-1),$=c),C&&(tt+=g,rt+=6*(v-1)*(p-1),et=u);var it=new Float64Array(3*tt),nt=t.st?new Float32Array(2*tt):void 0,ot=s.createTypedArray(tt,rt);for(R=0,L=0,z=C&&w?3*g:0,h=0;p>h;++h)for(O=0;v>O;++O)E(i,h,O,$,et),C&&(it[R+z]=Y.x,it[R+1+z]=Y.y,it[R+2+z]=Y.z),w&&(it[R]=q.x,it[R+1]=q.y,it[R+2]=q.z),t.st&&(L=D(t,L,nt,i,2*g)),R+=3;var at=T(it,t,_,w,C);t.st&&(at.attributes.st=new f({componentDatatype:a.FLOAT,componentsPerAttribute:2,values:nt}));var st=0;for(H=0,z/=3,U=0;p-1>U;++U){for(var lt=0;v-1>lt;++lt)B=H,F=B+v,V=F+1,k=B+1,C&&(ot[st++]=k+z,ot[st++]=F+z,ot[st++]=B+z,ot[st++]=V+z,ot[st++]=F+z,ot[st++]=k+z),w&&(ot[st++]=B,ot[st++]=F,ot[st++]=k,ot[st++]=k,ot[st++]=F,ot[st++]=V),++H;++H}at.indices=ot,N=m.combine([new d({geometry:at}),new d({geometry:N})])}var ut=r.fromExtent3D(i.extent,_,c,Z),ct=r.fromExtent3D(i.extent,_,u,X),ht=r.union(ut,ct);return{boundingSphere:ht,geometry:N}}var O,R,L=new n,z=new o,N=new o,B=new n,F=new c,V=new g,k=new g,U=new _,W=new p,q=new n,G=new n,H=new n,j=new n,Y=new n,X=new r,Z=new r,J=new n,K=new n,Q=new i,$=new C,et=Math.cos,tt=Math.sin,rt=Math.sqrt,it=function(r){r=e(r,e.EMPTY_OBJECT);var i=r.extent,n=e(r.granularity,y.RADIANS_PER_DEGREE),o=e(r.ellipsoid,u.WGS84),a=e(r.height,0),s=r.rotation,c=r.stRotation,h=e(r.vertexFormat,x.DEFAULT);if(!t(i))throw new l("extent is required.");if(i.validate(),i.eastm.PI_OVER_TWO?!1:t>m.PI||t<-m.PI?!1:!0}function y(e,r,i,n,o){var a=e.radiiSquared;w=S.latitude-e.granYCos*r+i*e.granXSin;var s=O(w),l=R(w),u=a.z*l;C=S.longitude+r*e.granYSin+i*e.granXCos;var c=s*O(C),h=s*R(C),d=a.x*c,m=a.y*h,p=L(d*c+m*h+u*l),f=d/p,v=m/p,y=u/p;t(n)&&(D.x=f+c*n,D.y=v+h*n,D.z=y+l*n),t(o)&&(P.x=f+c*o,P.y=v+h*o,P.z=y+l*o)}function g(e){var t,i=e.extent,n=e.ellipsoid,o=e.size,s=e.height,l=e.width,u=e.surfaceHeight,c=new Float64Array(3*o),h=0,d=0;for(t=0;l>t;t++)y(e,d,t,u),c[h++]=D.x,c[h++]=D.y,c[h++]=D.z;for(t=l-1,d=1;s>d;d++)y(e,d,t,u),c[h++]=D.x,c[h++]=D.y,c[h++]=D.z;for(d=s-1,t=l-2;t>=0;t--)y(e,d,t,u),c[h++]=D.x,c[h++]=D.y,c[h++]=D.z;for(t=0,d=s-2;d>0;d--)y(e,d,t,u),c[h++]=D.x,c[h++]=D.y,c[h++]=D.z;for(var m=2*(c.length/3),p=a.createTypedArray(c.length/3,m),f=0,v=0;vs;s++)y(e,f,s,o,n),v[p+h]=P.x,v[p+h+1]=P.y,v[p+h+2]=P.z,v[p++]=D.x,v[p++]=D.y,v[p++]=D.z;for(s=c-1,f=1;u>f;f++)y(e,f,s,o,n),v[p+h]=P.x,v[p+h+1]=P.y,v[p+h+2]=P.z,v[p++]=D.x,v[p++]=D.y,v[p++]=D.z;for(f=u-1,s=c-2;s>=0;s--)y(e,f,s,o,n),v[p+h]=P.x,v[p+h+1]=P.y,v[p+h+2]=P.z,v[p++]=D.x,v[p++]=D.y,v[p++]=D.z;for(s=0,f=u-2;f>0;f--)y(e,f,s,o,n),v[p+h]=P.x,v[p+h+1]=P.y,v[p+h+2]=P.z,v[p++]=D.x,v[p++]=D.y,v[p++]=D.z;for(var _=2*(v.length/3)+8,w=a.createTypedArray(v.length/3,_),C=v.length/6,x=0,S=0;C-1>S;S++)w[x++]=S,w[x++]=S+1,w[x++]=S+C,w[x++]=S+C+1;w[x++]=C-1,w[x++]=0,w[x++]=C+C-1,w[x++]=C,w[x++]=0,w[x++]=C,w[x++]=c-1,w[x++]=C+c-1,w[x++]=c+u-2,w[x++]=c+u-2+C,w[x++]=2*c+u-3,w[x++]=2*c+u-3+C;var E=r.fromExtent3D(l,d,o,I),b=r.fromExtent3D(l,d,n,M),T=r.union(E,b);return{boundingSphere:T,positions:v,indices:w}}var w,C,x=new i,S=new n,E=new n,b=new i,T=new p,A=new u,D=new i,P=new i,M=new r,I=new r,O=Math.cos,R=Math.sin,L=Math.sqrt,z=function(r){r=e(r,e.EMPTY_OBJECT);var i=r.extent,n=e(r.granularity,m.RADIANS_PER_DEGREE),o=e(r.ellipsoid,l.WGS84),a=e(r.height,0),u=r.rotation;if(!t(i))throw new s("extent is required.");i.validate(),this._extent=i,this._granularity=n,this._ellipsoid=o,this._surfaceHeight=a,this._rotation=u,this._extrudedHeight=r.extrudedHeight,this._workerName="createExtentOutlineGeometry"};return z.createGeometry=function(e){var r=e._extent,n=e._granularity,a=e._ellipsoid,l=e._surfaceHeight,u=e._rotation,m=e._extrudedHeight,y=Math.ceil((r.east-r.west)/n)+1,w=Math.ceil((r.north-r.south)/n)+1,C=(r.east-r.west)/(y-1),D=(r.north-r.south)/(w-1),P=a.getRadiiSquared();r.getNorthwest(S),r.getCenter(E);var M=D,I=C,L=0,z=0;if(t(u)){var N=O(u);M*=N,I*=N;var B=R(u);L=D*B,z=C*B,A.project(S,x),A.project(E,b),i.subtract(x,b,x),p.fromRotation(u,T),p.multiplyByVector(T,x,x),i.add(x,b,x),A.unproject(x,S);var F=S.latitude,V=F+(y-1)*z,k=F-M*(w-1),U=F-M*(w-1)+(y-1)*z,W=Math.max(F,V,k,U),q=Math.min(F,V,k,U),G=S.longitude,H=G+(y-1)*I,j=G+(w-1)*L,Y=G+(w-1)*L+(y-1)*I,X=Math.max(G,H,j,Y),Z=Math.min(G,H,j,Y);if(!(v(W,Z)&&v(W,X)&&v(q,Z)&&v(q,X)))throw new s("Rotated extent is invalid.")}var J,K=2*y+2*w-4,Q={granYCos:M,granYSin:L,granXCos:I,granXSin:z,radiiSquared:P,ellipsoid:a,extent:r,width:y,height:w,surfaceHeight:l,size:K};J=t(m)?_(Q,m):g(Q);var $=new d({position:new h({componentDatatype:o.DOUBLE,componentsPerAttribute:3,values:J.positions})});return new c({attributes:$,indices:J.indices,primitiveType:f.LINES,boundingSphere:J.boundingSphere})},z}),r("Core/FAR",[],function(){"use strict";var e=5906376272e3;return e}),r("Core/HeightmapTessellator",["./defaultValue","./defined","./freezeObject","./DeveloperError","./Cartesian3","./Ellipsoid","./Math"],function(e,t,r,i,n,o,a){"use strict";var s={};return s.DEFAULT_STRUCTURE=r({heightScale:1,heightOffset:0,elementsPerHeight:1,stride:1,elementMultiplier:256,isBigEndian:!1}),s.computeVertices=function(r){if(!t(r)||!t(r.heightmap))throw new i("description.heightmap is required.");if(!t(r.width)||!t(r.height))throw new i("description.width and description.height are required.");if(!t(r.vertices))throw new i("description.vertices is required.");if(!t(r.nativeExtent))throw new i("description.nativeExtent is required.");if(!t(r.skirtHeight))throw new i("description.skirtHeight is required.");var l,u,c,h,d=Math.cos,m=Math.sin,p=Math.sqrt,f=Math.atan,v=Math.exp,y=a.PI_OVER_TWO,g=a.toRadians,_=r.vertices,w=r.heightmap,C=r.width,x=r.height,S=r.skirtHeight,E=e(r.isGeographic,!0),b=e(r.ellipsoid,o.WGS84),T=1/b.getMaximumRadius(),A=r.nativeExtent,D=r.extent;t(D)?(l=D.west,u=D.south,c=D.east,h=D.north):E?(l=g(A.west),u=g(A.south),c=g(A.east),h=g(A.north)):(l=A.west*T,u=y-2*f(v(-A.south*T)),c=A.east*T,h=y-2*f(v(-A.north*T)));var P=e(r.relativeToCenter,n.ZERO),M=e(r.structure,s.DEFAULT_STRUCTURE),I=e(M.heightScale,s.DEFAULT_STRUCTURE.heightScale),O=e(M.heightOffset,s.DEFAULT_STRUCTURE.heightOffset),R=e(M.elementsPerHeight,s.DEFAULT_STRUCTURE.elementsPerHeight),L=e(M.stride,s.DEFAULT_STRUCTURE.stride),z=e(M.elementMultiplier,s.DEFAULT_STRUCTURE.elementMultiplier),N=e(M.isBigEndian,s.DEFAULT_STRUCTURE.isBigEndian),B=(A.east-A.west)/(C-1),F=(A.north-A.south)/(x-1),V=b.getRadiiSquared(),k=V.x,U=V.y,W=V.z,q=0,G=65536,H=-65536,j=0,Y=x,X=0,Z=C;S>0&&(--j,++Y,--X,++Z);for(var J=j;Y>J;++J){var K=J;0>K&&(K=0),K>=x&&(K=x-1);var Q=A.north-F*K;Q=E?g(Q):y-2*f(v(-Q*T));for(var $=d(Q),et=m(Q),tt=W*et,rt=(Q-u)/(h-u),it=X;Z>it;++it){var nt=it;0>nt&&(nt=0),nt>=C&&(nt=C-1);var ot=A.west+B*nt;E?ot=g(ot):ot*=T;var at,st=K*C*L+nt*L;if(1===R)at=w[st];else{at=0;var lt;if(N)for(lt=0;R>lt;++lt)at=at*z+w[st+lt];else for(lt=R-1;lt>=0;--lt)at=at*z+w[st+lt]}at=at*I+O,H=Math.max(H,at),G=Math.min(G,at),(it!==nt||J!==K)&&(at-=S);var ut=$*d(ot),ct=$*m(ot),ht=k*ut,dt=U*ct,mt=p(ht*ut+dt*ct+tt*et),pt=1/mt,ft=ht*pt,vt=dt*pt,yt=tt*pt;_[q++]=ft+ut*at-P.x,_[q++]=vt+ct*at-P.y,_[q++]=yt+et*at-P.z,_[q++]=at;var gt=(ot-l)/(c-l);_[q++]=gt,_[q++]=rt}}return{maximumHeight:H,minimumHeight:G}},s}),r("Core/HermitePolynomialApproximation",["./defined","./Math"],function(e,t){"use strict";function r(e,t,i,n,o,a){var s,l,u,c=0;if(n>0){for(l=0;o>l;l++){for(s=!1,u=0;ul;l++){for(s=!1,u=0;ul;l++){s[l]=0;var v=new Array(p);for(f[l]=v,u=0;p>u;u++)v[u]=[]}var y=p,g=new Array(y);for(l=0;y>l;l++)g[l]=l;var _=p-1;for(h=0;a>h;h++){for(u=0;y>u;u++)m=g[u]*a+h,f[h][0].push(o[m]);for(l=1;y>l;l++){var w=!1;for(u=0;y-l>u;u++){var C,x=n[g[u]],S=n[g[u+l]];0>=S-x?(m=g[u]*a+a*l+h,C=o[m],f[h][l].push(C/i(l))):(C=f[h][l-1][u+1]-f[h][l-1][u],f[h][l].push(C/(S-x))),w=w||0!==C}w||(_=l-1)}}for(c=0,d=0;d>=c;c++)for(l=c;_>=l;l++){var E=r(t,g,n,c,l,[]);for(h=0;a>h;h++){var b=f[h][l][0];s[h+c*a]+=b*E}}return s},n}),r("Core/IauOrientationParameters",["./defined","./DeveloperError"],function(){"use strict";var e=function(e,t,r,i){this.rightAscension=e,this.declination=t,this.rotation=r,this.rotationRate=i};return e}),r("Core/Iau2000Orientation",["./defined","./IauOrientationParameters","./JulianDate","./Math","./TimeConstants"],function(e,t,r,i,n){"use strict";var o={},a=32.184,s=2451545,l=-.0529921,u=-.1059842,c=13.0120009,h=13.3407154,d=.9856003,m=26.4057084,p=13.064993,f=.3287146,v=1.7484877,y=-.1589763,g=.0036096,_=.1643573,w=12.9590088;return o.ComputeMoon=function(o,C){e(o)||(o=new r);var x=o.addSeconds(a),S=x.getTotalDays()-s,E=S/n.DAYS_PER_JULIAN_CENTURY,b=(125.045+l*S)*i.RADIANS_PER_DEGREE,T=(250.089+u*S)*i.RADIANS_PER_DEGREE,A=(260.008+c*S)*i.RADIANS_PER_DEGREE,D=(176.625+h*S)*i.RADIANS_PER_DEGREE,P=(357.529+d*S)*i.RADIANS_PER_DEGREE,M=(311.589+m*S)*i.RADIANS_PER_DEGREE,I=(134.963+p*S)*i.RADIANS_PER_DEGREE,O=(276.617+f*S)*i.RADIANS_PER_DEGREE,R=(34.226+v*S)*i.RADIANS_PER_DEGREE,L=(15.134+y*S)*i.RADIANS_PER_DEGREE,z=(119.743+g*S)*i.RADIANS_PER_DEGREE,N=(239.961+_*S)*i.RADIANS_PER_DEGREE,B=(25.053+w*S)*i.RADIANS_PER_DEGREE,F=Math.sin(b),V=Math.sin(T),k=Math.sin(A),U=Math.sin(D),W=Math.sin(P),q=Math.sin(M),G=Math.sin(I),H=Math.sin(O),j=Math.sin(R),Y=Math.sin(L),X=Math.sin(z),Z=Math.sin(N),J=Math.sin(B),K=Math.cos(b),Q=Math.cos(T),$=Math.cos(A),et=Math.cos(D),tt=Math.cos(P),rt=Math.cos(M),it=Math.cos(I),nt=Math.cos(O),ot=Math.cos(R),at=Math.cos(L),st=Math.cos(z),lt=Math.cos(N),ut=Math.cos(B),ct=(269.9949+.0031*E-3.8787*F-.1204*V+.07*k-.0172*U+.0072*q-.0052*Y+.0043*J)*i.RADIANS_PER_DEGREE,ht=(66.5392+.013*E+1.5419*K+.0239*Q-.0278*$+.0068*et-.0029*rt+9e-4*it+8e-4*at-9e-4*ut)*i.RADIANS_PER_DEGREE,dt=(38.3213+13.17635815*S-1.4e-12*S*S+3.561*F+.1208*V-.0642*k+.0158*U+.0252*W-.0066*q-.0047*G-.0046*H+.0028*j+.0052*Y+.004*X+.0019*Z-.0044*J)*i.RADIANS_PER_DEGREE,mt=(13.17635815-1.4e-12*2*S+3.561*K*l+.1208*Q*u-.0642*$*c+.0158*et*h+.0252*tt*d-.0066*rt*m-.0047*it*p-.0046*nt*f+.0028*ot*v+.0052*at*y+.004*st*g+.0019*lt*_-.0044*ut*w)/86400*i.RADIANS_PER_DEGREE;return e(C)||(C=new t),C.rightAscension=ct,C.declination=ht,C.rotation=dt,C.rotationRate=mt,C},o}),r("Core/IauOrientationAxes",["./Cartesian3","./defined","./DeveloperError","./Iau2000Orientation","./JulianDate","./Math","./Matrix3","./Quaternion"],function(e,t,r,i,n,o,a,s){"use strict";function l(r,i,n){var s=c;s.x=Math.cos(r+o.PI_OVER_TWO),s.y=Math.sin(r+o.PI_OVER_TWO),s.z=0;var l=Math.cos(i),u=d;u.x=l*Math.cos(r),u.y=l*Math.sin(r),u.z=Math.sin(i);var m=e.cross(u,s,h);return t(n)||(n=new a),n[0]=s.x,n[1]=m.x,n[2]=u.x,n[3]=s.y,n[4]=m.y,n[5]=u.y,n[6]=s.z,n[7]=m.z,n[8]=u.z,n}var u=function(e){t(e)&&"function"==typeof e||(e=i.ComputeMoon),this._computeFunction=e},c=new e,h=new e,d=new e,m=new a,p=new s;return u.prototype.evaluate=function(r,i){t(r)||(r=new n);var u=this._computeFunction(r),c=l(u.rightAscension,u.declination,i),h=o.zeroToTwoPi(u.rotation),d=s.fromAxisAngle(e.UNIT_Z,h,p),f=a.fromQuaternion(s.conjugate(d,d),m),v=a.multiply(f,c,c);return v},u}),r("Core/InterpolationAlgorithm",["./DeveloperError"],function(e){"use strict";var t={};return t.type=void 0,t.getRequiredDataPoints=function(){throw new e("This function defines an interface and should not be called directly.")},t.interpolateOrderZero=function(){throw new e("This function defines an interface and should not be called directly.")},t}),r("Core/TimeInterval",["./defined","./DeveloperError","./freezeObject","./JulianDate","./TimeStandard"],function(e,t,r,i,n){"use strict";var o=function(r,n,o,a,s){if(!e(r))throw new t("start must be specified.");if(!e(n))throw new t("stop must be specified.");e(o)||(o=!0),e(a)||(a=!0);var l=i.compare(n,r);this.start=r,this.stop=n,this.data=s,this.isStartIncluded=o,this.isStopIncluded=a,this.isEmpty=0>l||0===l&&(!o||!a)};return o.fromIso8601=function(e,t,r,n){var a=e.split("/"),s=i.fromIso8601(a[0]),l=i.fromIso8601(a[1]);return new o(s,l,t,r,n)},o.equals=function(t,r,n){return t===r||e(t)&&e(r)&&(t.isEmpty&&r.isEmpty||t.isStartIncluded===r.isStartIncluded&&t.isStopIncluded===r.isStopIncluded&&i.equals(t.start,r.start)&&i.equals(t.stop,r.stop)&&(t.data===r.data||e(n)&&n(t.data,r.data)))},o.equalsEpsilon=function(r,n,o,a){if("number"!=typeof o)throw new t("epsilon is required and must be a number.");return r===n||e(r)&&e(n)&&(r.isEmpty&&n.isEmpty||r.isStartIncluded===n.isStartIncluded&&r.isStopIncluded===n.isStopIncluded&&i.equalsEpsilon(r.start,n.start,o)&&i.equalsEpsilon(r.stop,n.stop,o)&&(r.data===n.data||e(a)&&a(r.data,n.data)))},o.prototype.clone=function(){return new o(this.start,this.stop,this.isStartIncluded,this.isStopIncluded,this.data)},o.EMPTY=r(new o(new i(0,0,n.TAI),new i(0,0,n.TAI),!1,!1)),o.prototype.intersect=function(t,r){if(!e(t))return o.EMPTY;var n,a,s,l=t.start,u=t.stop,c=t.isStartIncluded,h=t.isStopIncluded,d=this.start,m=this.stop,p=this.isStartIncluded,f=this.isStopIncluded;return l.greaterThanOrEquals(d)&&m.greaterThanOrEquals(l)?(a=!i.equals(l,d)&&c||p&&c,s=f&&h,n=e(r)?r(this.data,t.data):this.data,m.greaterThanOrEquals(u)?(s=s||!i.equals(u,m)&&h,new o(l,u,a,s,n)):(s=s||f,new o(l,m,a,s,n))):l.lessThanOrEquals(d)&&d.lessThanOrEquals(u)?(a=i.equals(l,d)===!1&&p||p&&c,s=f&&h,n=e(r)?r(this.data,t.data):this.data,m.greaterThanOrEquals(u)?(s=s||i.equals(u,m)===!1&&h,new o(d,u,a,s,n)):(s=s||f,new o(d,m,a,s,n))):o.EMPTY},o.prototype.contains=function(e){if(this.isEmpty)return!1;var t=i.compare(this.start,e);if(0===t)return this.isStartIncluded;var r=i.compare(e,this.stop);return 0===r?this.isStopIncluded:0>t&&0>r},o.prototype.equals=function(e,t){return o.equals(this,e,t)},o.prototype.equalsEpsilon=function(e,t,r){return o.equalsEpsilon(this,e,t,r)},o}),r("Core/Iso8601",["./freezeObject","./JulianDate","./TimeInterval"],function(e,t,r){"use strict";var i=e(t.fromIso8601("0000-01-01T00:00:00Z")),n=e(t.fromIso8601("9999-12-31T24:00:00Z")),o=e(new r(i,n,!0,!0)),a={MINIMUM_VALUE:i,MAXIMUM_VALUE:n,MAXIMUM_INTERVAL:o};return a}),r("Core/KeyboardEventModifier",["./Enumeration"],function(e){"use strict";var t={SHIFT:new e(0,"SHIFT"),CTRL:new e(1,"CTRL"),ALT:new e(2,"ALT")};return t}),r("Core/LagrangePolynomialApproximation",["./defined"],function(e){"use strict";var t={type:"Lagrange"};return t.getRequiredDataPoints=function(e){return Math.max(e+1,2)},t.interpolateOrderZero=function(t,r,i,n,o){e(o)||(o=new Array(n));var a,s,l=r.length;for(a=0;n>a;a++)o[a]=0;for(a=0;l>a;a++){var u=1;for(s=0;l>s;s++)if(s!==a){var c=r[a]-r[s];u*=(t-r[s])/c}for(s=0;n>s;s++)o[s]+=u*i[a*n+s]}return o},t}),r("Core/LinearApproximation",["./defined","./DeveloperError"],function(e,t){"use strict";var r={type:"Linear"};return r.getRequiredDataPoints=function(e){if(1!==e)throw new t("Linear interpolation can only generate a first degree polynomial.");return 2},r.interpolateOrderZero=function(r,i,n,o,a){if(2!==i.length)throw new t("The xTable provided to the linear interpolator must have exactly two elements.");if(0>=o)throw new t("There must be at least 1 dependent variable for each independent variable.");e(a)||(a=new Array(o));var s,l,u,c=i[0],h=i[1];if(c===h)throw new t("Divide by zero error: xTable[0] and xTable[1] are equal");for(s=0;o>s;s++)l=n[s],u=n[s+o],a[s]=((u-l)*r+h*l-c*u)/(h-c);return a},r}),r("Core/LinearSpline",["./defaultValue","./defined","./DeveloperError","./Spline","./Cartesian3"],function(e,t,r,i,n){"use strict";var o=function(i){i=e(i,e.EMPTY_OBJECT);var n=i.points,o=i.times;if(!t(n))throw new r("points is required.");if(n.length<2)throw new r("points.length must be greater than or equal to 2.");if(!t(o))throw new r("times is required.");if(o.length!==n.length)throw new r("times.length must be equal to points.length.");this.times=o,this.points=n,this._lastTimeIndex=0};return o.prototype.findTimeInterval=i.prototype.findTimeInterval,o.prototype.evaluate=function(e,r){var i=this.points,o=this.times,a=this._lastTimeIndex=this.findTimeInterval(e,this._lastTimeIndex),s=(e-o[a])/(o[a+1]-o[a]);return t(r)||(r=new n),n.lerp(i[a],i[a+1],s,r)},o}),r("Core/NearFarScalar",["./defaultValue","./defined","./DeveloperError"],function(e,t,r){"use strict";var i=function(t,r,i,n){this.near=e(t,0),this.nearValue=e(r,0),this.far=e(i,1),this.farValue=e(n,0)};return i.clone=function(e,r){return t(e)?t(r)?(r.near=e.near,r.nearValue=e.nearValue,r.far=e.far,r.farValue=e.farValue,r):new i(e.near,e.nearValue,e.far,e.farValue):void 0 -},i.packedLength=4,i.pack=function(i,n,o){if(!t(i))throw new r("value is required");if(!t(n))throw new r("array is required");o=e(o,0),n[o++]=i.near,n[o++]=i.nearValue,n[o++]=i.far,n[o]=i.farValue},i.unpack=function(n,o,a){if(!t(n))throw new r("array is required");return o=e(o,0),t(a)||(a=new i),a.near=n[o++],a.nearValue=n[o++],a.far=n[o++],a.farValue=n[o],a},i.equals=function(e,r){return e===r||t(e)&&t(r)&&e.near===r.near&&e.nearValue===r.nearValue&&e.far===r.far&&e.farValue===r.farValue},i.prototype.clone=function(e){return i.clone(this,e)},i.prototype.equals=function(e){return i.equals(this,e)},i}),r("Core/ObjectOrientedBoundingBox",["./defaultValue","./defined","./DeveloperError","./Cartesian3","./Intersect","./Matrix3","./BoundingRectangle"],function(e,t,r,i,n,o){"use strict";function a(e,t,r,i,n){var a=t[e]+r[0]*i[o.getElementIndex(0,e)]+r[1]*i[o.getElementIndex(1,e)]+r[2]*i[o.getElementIndex(2,e)];return Math.abs(n[e])>a?!0:!1}function s(e,t,r,i,n){var a=n[0]*i[o.getElementIndex(0,e)]+n[1]*i[o.getElementIndex(1,e)]+n[2]*i[o.getElementIndex(2,e)],s=r[e]+t[0]*i[o.getElementIndex(0,e)]+t[1]*i[o.getElementIndex(1,e)]+t[2]*i[o.getElementIndex(2,e)];return Math.abs(a)>s?!0:!1}function l(e,t,r,i,n,a){var s=a[(e+2)%3]*n[o.getElementIndex((e+1)%3,t)]-a[(e+1)%3]*n[o.getElementIndex((e+2)%3,t)],l=r[(e+1)%3]*n[o.getElementIndex((e+2)%3,t)]+r[(e+2)%3]*n[o.getElementIndex((e+1)%3,t)];return l+=i[(t+1)%3]*n[o.getElementIndex(e,(t+2)%3)]+i[(t+2)%3]*n[o.getElementIndex(e,(t+1)%3)],Math.abs(s)>l?!0:!1}var u=function(t,r,n){this.rotation=o.clone(e(t,o.IDENTITY)),this.translation=i.clone(e(r,i.ZERO)),this.scale=i.clone(e(n,i.ZERO))},c=new i,h=new i,d=new i,m=new i,p=new i;new i;var f=new o,v={unitary:new o,diagonal:new o};u.fromPoints=function(e,r){if(t(r)||(r=new u),!t(e)||0===e.length)return r.tranformMatrix=o.IDENTITY,r.translation=i.ZERO,r.scale=i.ZERO,r;var n,a=e.length,s=i.clone(e[0],c);for(n=1;a>n;n++)i.add(s,e[n],s);var l=1/a;i.multiplyByScalar(s,l,s);var y,g=0,_=0,w=0,C=0,x=0,S=0;for(n=0;a>n;n++)y=i.subtract(e[n],s,h),g+=y.x*y.x,_+=y.x*y.y,w+=y.x*y.z,C+=y.y*y.y,x+=y.y*y.z,S+=y.z*y.z;g*=l,_*=l,w*=l,C*=l,x*=l,S*=l;var E=f;E[0]=g,E[1]=_,E[2]=w,E[3]=_,E[4]=C,E[5]=x,E[6]=w,E[7]=x,E[8]=S;var b=o.getEigenDecomposition(E,v),T=o.transpose(b.unitary,r.rotation);y=i.subtract(e[0],s,h);var A=o.multiplyByVector(T,y,d),D=i.clone(A,m),P=i.clone(A,p);for(n=1;a>n;n++)y=i.subtract(e[n],s,y),o.multiplyByVector(T,y,A),i.getMinimumByComponent(P,A,P),i.getMaximumByComponent(D,A,D);var M=i.add(P,D,d);i.multiplyByScalar(M,.5,M),o.multiplyByVector(T,M,M),i.add(s,M,r.translation);var I=i.subtract(D,P,d);return i.multiplyByScalar(I,.5,r.scale),r},u.fromBoundingRectangle=function(e,i,n){if(!t(e))throw new r("boundingRectangle is required");t(n)||(n=new u),t(i)?o.fromRotationZ(i,n.rotation):o.clone(o.IDENTITY,n.rotation);var a=n.scale;a.x=.5*e.width,a.y=.5*e.height,a.z=0;var s=o.multiplyByVector(n.rotation,a,n.translation);return s.x+=e.x,s.y+=e.y,n},u.clone=function(e,r){return t(e)?t(r)?(o.clone(e.rotation,r.rotation),i.clone(e.translation,r.translation),i.clone(e.scale,r.scale),r):new u(e.rotation,e.translation,e.scale):void 0};var y=new o,g=new o,_=new i,w=new Array(3),C=new Array(3),x=new Array(3);return u.intersect=function(e,n){if(!t(e))throw new r("left is required");if(!t(n))throw new r("right is required");var u=o.transpose(e.rotation,y),c=o.multiply(u,n.rotation,g);o.abs(c,c);var h=w,d=C,m=x;return i.subtract(e.translation,n.translation,_),o.multiplyByVector(u,_,_),i.pack(_,h),i.pack(e.scale,d),i.pack(n.scale,m),a(0,d,m,c,h)?!1:a(1,d,m,c,h)?!1:a(2,d,m,c,h)?!1:s(0,d,m,c,h)?!1:s(1,d,m,c,h)?!1:s(2,d,m,c,h)?!1:l(0,0,d,m,c,h)?!1:l(1,0,d,m,c,h)?!1:l(2,0,d,m,c,h)?!1:l(0,1,d,m,c,h)?!1:l(1,1,d,m,c,h)?!1:l(2,1,d,m,c,h)?!1:l(0,2,d,m,c,h)?!1:l(1,2,d,m,c,h)?!1:l(2,2,d,m,c,h)?!1:!0},u.equals=function(e,r){return e===r||t(e)&&t(r)&&i.equals(e.transformedPosition,r.transformedPosition)&&o.equals(e.transformMatrix,r.transformMatrix)&&i.equals(e.extent,r.extent)},u.prototype.clone=function(e){return u.clone(this,e)},u.prototype.equals=function(e){return u.equals(this,e)},u}),r("Core/Visibility",["./Enumeration"],function(e){"use strict";var t={NONE:new e(-1,"NONE"),PARTIAL:new e(0,"PARTIAL"),FULL:new e(1,"FULL")};return t}),r("Core/Occluder",["./defaultValue","./defined","./DeveloperError","./Math","./Cartesian3","./Visibility","./Ellipsoid","./BoundingSphere"],function(e,t,r,i,n,o,a,s){"use strict";var l=function(e,i){if(!t(e))throw new r("occluderBoundingSphere is required.");if(!t(i))throw new r("camera position is required.");this._occluderPosition=n.clone(e.center),this._occluderRadius=e.radius,this._horizonDistance=0,this._horizonPlaneNormal=void 0,this._horizonPlanePosition=void 0,this._cameraPosition=void 0,this.setCameraPosition(i)};l.fromBoundingSphere=function(e,i,o){if(!t(e))throw new r("occluderBoundingSphere is required.");if(!t(i))throw new r("camera position is required.");return t(o)?(n.clone(e.center,o._occluderPosition),o._occluderRadius=e.radius,o.setCameraPosition(i),o):new l(e,i)},l.prototype.getPosition=function(){return this._occluderPosition},l.prototype.getRadius=function(){return this._occluderRadius};var u=new n;l.prototype.setCameraPosition=function(e){if(!t(e))throw new r("cameraPosition is required.");e=n.clone(e,this._cameraPosition);var i,o,a,s=n.subtract(this._occluderPosition,e,u),l=n.magnitudeSquared(s),c=this._occluderRadius*this._occluderRadius;if(l>c){i=Math.sqrt(l-c),l=1/Math.sqrt(l),o=n.multiplyByScalar(s,l,u);var h=i*i*l;a=n.add(e,n.multiplyByScalar(o,h,u),u)}else i=Number.MAX_VALUE;this._horizonDistance=i,this._horizonPlaneNormal=o,this._horizonPlanePosition=a,this._cameraPosition=e};var c=new n;l.prototype.isPointVisible=function(e){if(this._horizonDistance!==Number.MAX_VALUE){var t=n.subtract(e,this._occluderPosition,c),r=this._occluderRadius;if(r=n.magnitudeSquared(t)-r*r,r>0)return r=Math.sqrt(r)+this._horizonDistance,t=n.subtract(e,this._cameraPosition,t),r*r>n.magnitudeSquared(t)}return!1};var h=new n;l.prototype.isBoundingSphereVisible=function(e){var t=n.clone(e.center,h),r=e.radius;if(this._horizonDistance!==Number.MAX_VALUE){var i=n.subtract(t,this._occluderPosition,c),o=this._occluderRadius-r;if(o=n.magnitudeSquared(i)-o*o,r0?(o=Math.sqrt(o)+this._horizonDistance,i=n.subtract(t,this._cameraPosition,i),o*o+r*r>n.magnitudeSquared(i)):!1;if(o>0){i=n.subtract(t,this._cameraPosition,i);var a=n.magnitudeSquared(i),s=this._occluderRadius*this._occluderRadius,l=r*r;return(this._horizonDistance*this._horizonDistance+s)*l>a*s?!0:(o=Math.sqrt(o)+this._horizonDistance,o*o+l>a)}return!0}return!1},l.prototype.getVisibility=function(e){if(!t(e))throw new r("occludeeBS is required.");var i=n.clone(e.center),a=e.radius;if(a>this._occluderRadius)return o.FULL;if(this._horizonDistance!==Number.MAX_VALUE){var s=n.subtract(i,this._occluderPosition),l=this._occluderRadius-a,u=n.magnitudeSquared(s);if(l=u-l*l,l>0){l=Math.sqrt(l)+this._horizonDistance,s=n.subtract(i,this._cameraPosition);var c=n.magnitudeSquared(s);return c>l*l+a*a?o.NONE:(l=this._occluderRadius+a,l=u-l*l,l>0?(l=Math.sqrt(l)+this._horizonDistance,l*l+a*a>c?o.FULL:o.PARTIAL):(s=n.subtract(i,this._horizonPlanePosition),n.dot(s,this._horizonPlaneNormal)>-a?o.PARTIAL:o.FULL))}}return o.NONE},l.getOccludeePoint=function(e,i,o){if(!t(e))throw new r("occluderBoundingSphere is required.");if(!t(o))throw new r("positions is required.");if(0===o.length)throw new r("positions must contain at least one element");var a=n.clone(i),s=n.clone(e.center),u=e.radius,c=o.length;if(n.equals(s,i))throw new r("occludeePosition must be different than occluderBoundingSphere.center");var h=n.normalize(n.subtract(a,s)),d=-n.dot(h,s),m=l._anyRotationVector(s,h,d),p=l._horizonToPlaneNormalDotProduct(e,h,d,m,o[0]);if(!p)return void 0;for(var f,v=1;c>v;++v){if(f=l._horizonToPlaneNormalDotProduct(e,h,d,m,o[v]),!f)return void 0;p>f&&(p=f)}if(.0017453283658983088>p)return void 0;var y=u/p;return n.add(s,n.multiplyByScalar(h,y))};var d=[];return l.computeOccludeePointFromExtent=function(i,o){if(!t(i))throw new r("extent is required.");o=e(o,a.WGS84);var u=i.subsample(o,0,d),c=s.fromPoints(u),h=n.ZERO;return n.equals(h,c.center)?void 0:l.getOccludeePoint(new s(h,o.getMinimumRadius()),c.center,u)},l._anyRotationVector=function(e,t,r){var i=n.abs(t),o=i.x>i.y?0:1;(0===o&&i.z>i.x||1===o&&i.z>i.y)&&(o=2);var a=new n;0===o?(i.x=e.x,i.y=e.y+1,i.z=e.z+1,a=n.UNIT_X):1===o?(i.x=e.x+1,i.y=e.y,i.z=e.z+1,a=n.UNIT_Y):(i.x=e.x+1,i.y=e.y+1,i.z=e.z,a=n.UNIT_Z);var s=(n.dot(t,i)+r)/-n.dot(t,a);return n.normalize(n.subtract(n.add(i,n.multiplyByScalar(a,s)),e))},l._rotationVector=function(e,t,r,o,a){var s=n.subtract(o,e);if(s=n.normalize(s),n.dot(t,s)<.9999999847691291){var l=n.cross(t,s),u=n.magnitude(l);if(u>i.EPSILON13)return n.normalize(l)}return a},l._horizonToPlaneNormalDotProduct=function(e,t,r,i,o){var a=n.clone(o),s=n.clone(e.center),l=e.radius,u=n.subtract(s,a),c=n.magnitudeSquared(u),h=l*l;if(h>c)return!1;var d=c-h,m=Math.sqrt(d),p=Math.sqrt(c),f=1/p,v=m*f,y=v*m;u=n.normalize(u);var g=n.add(a,n.multiplyByScalar(u,y)),_=Math.sqrt(d-y*y),w=this._rotationVector(s,t,r,a,i),C=new n(w.x*w.x*u.x+(w.x*w.y-w.z)*u.y+(w.x*w.z+w.y)*u.z,(w.x*w.y+w.z)*u.x+w.y*w.y*u.y+(w.y*w.z-w.x)*u.z,(w.x*w.z-w.y)*u.x+(w.y*w.z+w.x)*u.y+w.z*w.z*u.z);C=n.normalize(C);var x=n.multiplyByScalar(C,_);w=n.normalize(n.subtract(n.add(g,x),s));var S=n.dot(t,w);w=n.normalize(n.subtract(n.subtract(g,x),s));var E=n.dot(t,w);return E>S?S:E},l}),r("Core/Packable",["../Core/DeveloperError"],function(e){"use strict";function t(){throw new e("This type should not be instantiated directly.")}var r={packedLength:void 0,pack:t,unpack:t};return r}),r("Core/PackableForInterpolation",["../Core/DeveloperError"],function(e){"use strict";function t(){throw new e("This type should not be instantiated directly.")}var r={packedInterpolationLength:void 0,convertPackedArrayForInterpolation:t,unpackInterpolationResult:t};return r}),r("Core/PolygonGeometryLibrary",["./defaultValue","./defined","./Cartesian3","./Ellipsoid"],function(e,t,r,i){"use strict";function n(e,t,i,n){return r.subtract(t,e,a),r.multiplyByScalar(a,i/n,a),r.add(e,a,a),[a.x,a.y,a.z]}var o={},a=new r;o.subdivideLine=function(e,t,i){var o=r.distance(e,t),a=r.angleBetween(e,t),s=a/i,l=Math.ceil(Math.log(s)/Math.log(2));1>l&&(l=0);var u=Math.pow(2,l),c=o/u,h=new Array(3*u),d=0;h[d++]=e.x,h[d++]=e.y,h[d++]=e.z;for(var m=1;u>m;m++){var p=n(e,t,m*c,o);h[d++]=p[0],h[d++]=p[1],h[d++]=p[2]}return h};var s=new r,l=new r,u=new r,c=new r;return o.scaleToGeodeticHeightExtruded=function(n,o,a,h,d){h=e(h,i.WGS84);var m=s,p=l,f=u,v=c;if(t(n)&&t(n.attributes)&&t(n.attributes.position))for(var y=n.attributes.position.values,g=y.length/2,_=0;g>_;_+=3)r.fromArray(y,_,f),h.geodeticSurfaceNormal(f,m),v=h.scaleToGeodeticSurface(f,v),p=r.multiplyByScalar(m,a,p),p=r.add(v,p,p),y[_+g]=p.x,y[_+1+g]=p.y,y[_+2+g]=p.z,d&&(v=r.clone(f,v)),p=r.multiplyByScalar(m,o,p),p=r.add(v,p,p),y[_]=p.x,y[_+1]=p.y,y[_+2]=p.z;return n},o}),r("Core/pointInsideTriangle",["./barycentricCoordinates","./Cartesian3","./DeveloperError"],function(e,t){"use strict";var r=new t,i=function(t,i,n,o){return e(t,i,n,o,r),r.x>0&&r.y>0&&r.z>0};return i}),r("Core/Queue",[],function(){"use strict";var e=function(){this._array=[],this._offset=0,this.length=0};return e.prototype.enqueue=function(e){this._array.push(e),this.length++},e.prototype.dequeue=function(){if(0===this.length)return void 0;var e=this._array,t=this._offset,r=e[t];return e[t]=void 0,t++,t>10&&2*t>e.length&&(this._array=e.slice(t),t=0),this._offset=t,this.length--,r},e.prototype.contains=function(e){return-1!==this._array.indexOf(e)},e.prototype.clear=function(){this._array.length=this._offset=this.length=0},e.prototype.sort=function(e){this._offset>0&&(this._array=this._array.slice(this._offset),this._offset=0),this._array.sort(e)},e}),r("Core/WindingOrder",["./Enumeration"],function(e){"use strict";var t={CLOCKWISE:new e(2304,"CLOCKWISE"),COUNTER_CLOCKWISE:new e(2305,"COUNTER_CLOCKWISE"),validate:function(e){return e===t.CLOCKWISE||e===t.COUNTER_CLOCKWISE}};return t}),r("Core/PolygonPipeline",["./DeveloperError","./Math","./Cartesian2","./Cartesian3","./defined","./Geometry","./GeometryAttribute","./Ellipsoid","./EllipsoidTangentPlane","./defaultValue","./pointInsideTriangle","./ComponentDatatype","./PrimitiveType","./Queue","./WindingOrder"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p){"use strict";function f(e,t,i){var n=r.subtract(t,e),o=r.subtract(i,t);return n.x*o.y-n.y*o.x>=0}function v(e){for(var t=e[0].x,r=0,i=0;it&&(t=e[i].x,r=i);return r}function y(e){for(var t=e[0][0].x,r=0,i=0;it&&(t=n,r=i)}return r}function g(e){for(var t=[],r=0;rc&&(c=t[h].x);c+=c-l;var d=new i(c,e.y,0);for(h=0;h=e.x||p.x>=e.x)&&(m.y>=e.y&&p.y<=e.y||m.y<=e.y&&p.y>=e.y)){var f=(p.y-m.y)*(d.x-e.x)-(p.x-m.x)*(d.y-e.y);if(0!==f){f=1/f;var y=((p.x-m.x)*(e.y-m.y)-(p.y-m.y)*(e.x-m.x))*f,g=((d.x-e.x)*(e.y-m.y)-(d.y-e.y)*(e.x-m.x))*f;if(y>=0&&1>=y&&g>=0&&1>=g){var _=new r(e.x+y*(d.x-e.x),e.y+y*(d.y-e.y)),w=r.subtract(_,e);f=r.magnitudeSquared(w),o>f&&(s=_,o=f,n[0]=h,n[1]=(h+1)%t.length)}}}}return s}function C(e,t){var i=y(t),n=t[i],o=v(n),a=n[o],s=[],l=w(a,e,s),u=_(e,l);if(-1!==u)return u;var h=r.magnitudeSquared(r.subtract(e[s[0]],a)),d=r.magnitudeSquared(r.subtract(e[s[1]],a)),m=d>h?e[s[0]]:e[s[1]],p=g(e),f=p.indexOf(m);-1!==f&&p.splice(f,1);for(var C=[],x=0;x0){var b=new r(1,0);for(x=0;xD&&(E=D,m=C[x])}}}return e.indexOf(m)}function x(e,t,r){for(var n=q.computeWindingOrder2D(e),o=0;oi&&(i=t.length-1),i===t.length&&(i=0),D(i,t),i}function D(t,n){var o=t-1,a=t+1;0>o&&(o=n.length-1),a===n.length&&(a=0);var s=r.subtract(n[o].position,n[t].position),l=r.subtract(n[a].position,n[t].position);if(s=new i(s.x,s.y,0),l=new i(l.x,l.y,0),P(s,l)){var u=new e("Superfluous vertex found.");throw u.vertexIndex=t,u}}function P(e,t){return 0===i.cross(e,t).z}function M(e,t){return i.cross(e,t).z<0}function I(e,t){return i.cross(e,t).z>0}function O(e,t,r){return i.cross(e,r).z>0&&i.cross(r,t).z>0}function R(e,t,r){return i.cross(e,r).z<0&&i.cross(r,t).z<0}function L(e,t,i){for(var n=0;nt||e>r)&&(t>e||r>e)||t===r&&t===e}function B(t){var r=t.length;if(3===r)return z(t)?[]:[t[0].index,t[1].index,t[2].index];if(t.length<3)throw new e("Invalid polygon: must have at least three vertices.");for(var i=!1,n=0;!i;){var o=10*t.length;if(n>o)return[];n++;for(var a=S(t.length),s=a+1;Math.abs(a-s)<2||Math.abs(a-s)>t.length-2;)s=S(t.length);if(a>s){var l=a;a=s,s=l}try{if(E(a,s,t)){var u=t.splice(a,s-a+1,t[a],t[s]);return B(t).concat(B(u))}}catch(c){if(c.hasOwnProperty("vertexIndex"))return t.splice(c.vertexIndex,1),B(t);throw c}}}var F=0,V=-1,k=1,U=new i,W=new i,q={removeDuplicates:function(t){if(!n(t))throw new e("positions is required.");var r=t.length;if(3>r)throw new e("At least three positions are required.");for(var o=[],a=r-1,s=0;r>s;a=s++){var l=t[a],u=t[s];i.equals(l,u)||o.push(u)}return o},computeArea2D:function(t){if(!n(t))throw new e("positions is required.");var r=t.length;if(3>r)throw new e("At least three positions are required.");for(var i=0,o=r-1,a=0;r>a;o=a++){var s=t[o],l=t[a];i+=s.x*l.y-l.x*s.y}return.5*i},computeWindingOrder2D:function(e){var t=q.computeArea2D(e);return t>=0?p.COUNTER_CLOCKWISE:p.CLOCKWISE},triangulate:function(t){if(!n(t))throw new e("positions is required.");var r=t.length;if(3>r)throw new e("At least three positions are required.");for(var i=[],o=0;r>o;++o)i[o]={position:t[o],index:o};return B(i)},resetSeed:function(e){F=u(e,0)},computeSubdivision:function(r,s,l){if(!n(r))throw new e("positions is required.");if(!n(s))throw new e("indices is required.");if(s.length<3)throw new e("At least three indices are required.");if(0!==s.length%3)throw new e("The number of indices must be divisable by three.");if(l=u(l,t.RADIANS_PER_DEGREE),0>=l)throw new e("granularity must be greater than zero.");for(var c=new m,p=s.length,f=0;p>f;f+=3)c.enqueue({i0:s[f],i1:s[f+1],i2:s[f+2]});for(var v,y=r.slice(0),g=[],_={};c.length>0;){var w,C,x=c.dequeue(),S=y[x.i0],E=y[x.i1],b=y[x.i2],T=i.angleBetween(S,E),A=i.angleBetween(E,b),D=i.angleBetween(b,S),P=Math.max(T,Math.max(A,D));P>l?T===P?(w=Math.min(x.i0,x.i1).toString()+" "+Math.max(x.i0,x.i1).toString(),v=_[w],v||(C=i.add(S,E),i.multiplyByScalar(C,.5,C),y.push(C),v=y.length-1,_[w]=v),c.enqueue({i0:x.i0,i1:v,i2:x.i2}),c.enqueue({i0:v,i1:x.i1,i2:x.i2})):A===P?(w=Math.min(x.i1,x.i2).toString()+" "+Math.max(x.i1,x.i2).toString(),v=_[w],v||(C=i.add(E,b),i.multiplyByScalar(C,.5,C),y.push(C),v=y.length-1,_[w]=v),c.enqueue({i0:x.i1,i1:v,i2:x.i0}),c.enqueue({i0:v,i1:x.i2,i2:x.i0})):D===P&&(w=Math.min(x.i2,x.i0).toString()+" "+Math.max(x.i2,x.i0).toString(),v=_[w],v||(C=i.add(b,S),i.multiplyByScalar(C,.5,C),y.push(C),v=y.length-1,_[w]=v),c.enqueue({i0:x.i2,i1:v,i2:x.i1}),c.enqueue({i0:v,i1:x.i0,i2:x.i1})):(g.push(x.i0),g.push(x.i1),g.push(x.i2))}var M=y.length,I=new Array(3*M),O=0;for(v=0;M>v;v++){var R=y[v];I[O++]=R.x,I[O++]=R.y,I[O++]=R.z}return new o({attributes:{position:new a({componentDatatype:h.DOUBLE,componentsPerAttribute:3,values:I})},indices:g,primitiveType:d.TRIANGLES})},scaleToGeodeticHeight:function(e,t,r,o){r=u(r,s.WGS84);var a=U,l=W;if(t=u(t,0),o=u(o,!0),n(e)&&n(e.attributes)&&n(e.attributes.position))for(var c=e.attributes.position.values,h=c.length,d=0;h>d;d+=3)i.fromArray(c,d,l),o&&(l=r.scaleToGeodeticSurface(l,l)),a=r.geodeticSurfaceNormal(l,a),i.multiplyByScalar(a,t,a),i.add(l,a,l),c[d]=l.x,c[d+1]=l.y,c[d+2]=l.z;return e},eliminateHoles:function(t,r,o){if(!n(t))throw new e("outerRing is required.");if(0===t.length)throw new e("outerRing must not be empty.");if(!n(r))throw new e("innerRings is required.");o=u(o,s.WGS84);for(var a=[],l=0;l0;)d=x(d,a,o);return d}};return q}),r("Core/PolygonGeometry",["./defaultValue","./BoundingRectangle","./BoundingSphere","./Cartesian2","./Cartesian3","./ComponentDatatype","./defined","./DeveloperError","./Ellipsoid","./EllipsoidTangentPlane","./Geometry","./GeometryAttribute","./GeometryAttributes","./GeometryInstance","./GeometryPipeline","./IndexDatatype","./Math","./Matrix3","./PolygonGeometryLibrary","./PolygonPipeline","./PrimitiveType","./Quaternion","./Queue","./VertexFormat","./WindingOrder"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f,v,y,g,_,w,C,x,S,E){"use strict";function b(e,t,r,i){for(var o=C.fromAxisAngle(e._plane.normal,r,O),s=y.fromQuaternion(o,R),l=Number.POSITIVE_INFINITY,u=Number.NEGATIVE_INFINITY,c=Number.POSITIVE_INFINITY,h=Number.NEGATIVE_INFINITY,d=t.length,m=0;d>m;++m){var p=n.clone(t[m],I);y.multiplyByVector(s,p,p);var f=e.projectPointOntoPlane(p,M);a(f)&&(l=Math.min(l,f.x),u=Math.max(u,f.x),c=Math.min(c,f.y),h=Math.max(h,f.y))}return i.x=l,i.y=c,i.width=u-l,i.height=h-c,i}function T(e,t,r,i){var n=u.fromPoints(t,e),a=n.projectPointsOntoPlane(t,L),s=_.computeWindingOrder2D(a);s===E.CLOCKWISE&&(a.reverse(),t.reverse());var l=_.triangulate(a);l.length<3&&(l=[0,1,2]);var d;if(i){for(var p=t.length,f=new Array(3*p),v=0,y=0;p>y;y++){var g=t[y];f[v++]=g.x,f[v++]=g.y,f[v++]=g.z}d=new c({attributes:{position:new h({componentDatatype:o.DOUBLE,componentsPerAttribute:3,values:f})},indices:l,primitiveType:w.TRIANGLES})}else d=_.computeSubdivision(t,l,r);return new m({geometry:d})}function A(e,t,r,a,s,l,c){if(e.st||e.normal||e.tangent||e.binormal){var d=u.fromPoints(r,a),m=b(d,r,s,z),p=q;p.x=m.x,p.y=m.y;var f=t.attributes.position.values,g=f.length,_=e.st?new Float32Array(2*(g/3)):void 0,w=e.normal?new Float32Array(g):void 0,x=e.tangent?new Float32Array(g):void 0,S=e.binormal?new Float32Array(g):void 0,E=0,T=0,A=B,D=F,P=V,M=!0,I=C.fromAxisAngle(d._plane.normal,s,j),O=y.fromQuaternion(I,Y),R=g/2,L=g/3;l&&(g/=2);for(var k=0;g>k;k+=3){var X=n.fromArray(f,k,H);if(e.st){var Z=y.multiplyByVector(O,X,N),J=d.projectPointOntoPlane(Z,G);i.subtract(J,p,J),l&&(_[E+L]=J.x/m.width,_[E+1+L]=J.y/m.height),_[E]=J.x/m.width,_[E+1]=J.y/m.height,E+=2}if(e.normal||e.tangent||e.binormal){var K=T+1,Q=T+2;if(c){if(g>k+3){var $=n.fromArray(f,k+3,U);if(M){var et=n.fromArray(f,k+g,W);n.subtract($,X,$),n.subtract(et,X,et),A=n.normalize(n.cross(et,$,A),A),M=!1}n.equalsEpsilon($,X,v.EPSILON10)&&(M=!0)}(e.tangent||e.binormal)&&(P=a.geodeticSurfaceNormal(X,P),e.tangent&&(D=n.normalize(n.cross(P,A,D),D)))}else A=a.geodeticSurfaceNormal(X,A),(e.tangent||e.binormal)&&(D=n.cross(n.UNIT_Z,A,D),D=n.normalize(y.multiplyByVector(O,D,D),D),e.binormal&&(P=n.normalize(n.cross(A,D,P),P)));e.normal&&(l&&!c?(w[T+R]=-A.x,w[K+R]=-A.y,w[Q+R]=-A.z):(w[T+R]=A.x,w[K+R]=A.y,w[Q+R]=A.z),w[T]=A.x,w[K]=A.y,w[Q]=A.z),e.tangent&&(l&&!c?(x[T+R]=-D.x,x[K+R]=-D.y,x[Q+R]=-D.z):(x[T+R]=D.x,x[K+R]=D.y,x[Q+R]=D.z),x[T]=D.x,x[K]=D.y,x[Q]=D.z),e.binormal&&(l&&(S[T+R]=P.x,S[K+R]=P.y,S[Q+R]=P.z),S[T]=P.x,S[K]=P.y,S[Q]=P.z),T+=3}}e.st&&(t.attributes.st=new h({componentDatatype:o.FLOAT,componentsPerAttribute:2,values:_})),e.normal&&(t.attributes.normal=new h({componentDatatype:o.FLOAT,componentsPerAttribute:3,values:w})),e.tangent&&(t.attributes.tangent=new h({componentDatatype:o.FLOAT,componentsPerAttribute:3,values:x})),e.binormal&&(t.attributes.binormal=new h({componentDatatype:o.FLOAT,componentsPerAttribute:3,values:S}))}return t}function D(e,t,r){var i,a,s,l,u,m,p,y,_,C=[],x=e.length;if(r)for(p=0;x>p;p++)y=e[p],_=e[(p+1)%x],C.push(y.x,y.y,y.z,_.x,_.y,_.z);else for(p=0;x>p;p++)y=e[p],_=e[(p+1)%x],i=g.subdivideLine(y,_,t),i.push(_.x,_.y,_.z),C=C.concat(i);C=C.concat(C),x=C.length;var S=f.createTypedArray(x/3,x-6*e.length);for(a=0,x/=6,p=0;x>p;p++)s=p,l=s+1,y=n.fromArray(C,3*s,U),_=n.fromArray(C,3*l,W),n.equalsEpsilon(y,_,v.EPSILON6)||(u=s+x,m=u+1,S[a++]=s,S[a++]=u,S[a++]=l,S[a++]=l,S[a++]=u,S[a++]=m);return new c({attributes:new d({position:new h({componentDatatype:o.DOUBLE,componentsPerAttribute:3,values:C})}),indices:S,primitiveType:w.TRIANGLES})}function P(e,t,r,i,n){var a=T(e,t,r,n).geometry,s=a.attributes.position.values,l=a.indices,u=s.concat(s),p=u.length/3,v=f.createTypedArray(p,2*l.length);v.set(l);var y,g=l.length,w=p/2;for(y=0;g>y;y+=3){var C=v[y]+w,x=v[y+1]+w,S=v[y+2]+w;v[y+g]=S,v[y+1+g]=x,v[y+2+g]=C}var b=new c({attributes:new d({position:new h({componentDatatype:o.DOUBLE,componentsPerAttribute:3,values:u})}),indices:v,primitiveType:a.primitiveType}),A={topAndBottom:new m({geometry:b})};A.walls=[];var P=i.outerRing,M=_.computeWindingOrder2D(P);M===E.CLOCKWISE&&(P=P.reverse());var I=D(P,r,n);A.walls.push(new m({geometry:I}));var O=i.holes;for(y=0;yD;D++){var z=O[D];if(z.positions=_.removeDuplicates(z.positions),z.positions.length<3)throw new s("At least three positions are required.");L.push(z.positions);var F=0;a(z.holes)&&(F=z.holes.length);for(var V=0;F>V;V++)b.enqueue(z.holes[V])}C.push({outerRing:I,holes:L});var U=_.eliminateHoles(I,L);E.push(U)}}l=E[0],t=r.fromPoints(l);var W,q=[];if(w){for(D=0;Dw;w++){var E=a[w],b=a[(w+1)%S];C.push(E.x,E.y,E.z,b.x,b.y,b.z)}else for(w=0;S>w;w++)C=C.concat(f.subdivideLine(a[w],a[(w+1)%S],r));S=C.length/3;var T=2*S,A=m.createTypedArray(C.length/3,T),D=0;for(w=0;S-1>w;w++)A[D++]=w,A[D++]=w+1;return A[D++]=S-1,A[D++]=0,new h({geometry:new l({attributes:new c({position:new u({componentDatatype:n.DOUBLE,componentsPerAttribute:3,values:new Float64Array(C)})}),indices:A,primitiveType:y.LINES})})}function C(e,t,r,i){var a=v.removeDuplicates(t);if(a.length<3)throw new o("Duplicate positions result in not enough positions to form a polygon.");var d=s.fromPoints(a,e),p=d.projectPointsOntoPlane(a,x),g=v.computeWindingOrder2D(p);g===_.CLOCKWISE&&(p.reverse(),a.reverse());var w,C=[],S=a.length,E=new Array(S);if(E[0]=0,i){var b,T;for(w=0;S-1>w;w++)b=a[w],T=a[(w+1)%S],C.push(b.x,b.y,b.z,T.x,T.y,T.z),E[w+1]=C.length/3;b=a[S-1],T=a[0],C.push(b.x,b.y,b.z,T.x,T.y,T.z)}else{for(w=0;S-1>w;w++)C=C.concat(f.subdivideLine(a[w],a[w+1],r)),E[w+1]=C.length/3;C=C.concat(f.subdivideLine(a[S-1],a[0],r))}S=C.length/3;var A=2*(2*S+E.length),D=m.createTypedArray(C.length/3,A),P=0;for(w=0;S-1>w;w++)D[P++]=w,D[P++]=w+1,D[P++]=w+S,D[P++]=w+1+S;for(D[P++]=S-1,D[P++]=0,D[P++]=S+S-1,D[P++]=S,w=0;wT;T++){var M=A.holes[T];_.push(M.positions);var I=0;t(M.holes)&&(I=M.holes.length);for(var O=0;I>O;O++)x.enqueue(M.holes[O])}_.push(D)}a=_[0],n=r.fromPoints(a);var R,L=[];if(m)for(T=0;T<_.length;T++)R=C(s,_[T],u,y),t(R)&&(R.geometry=f.scaleToGeodeticHeightExtruded(R.geometry,c,h,s,y),L.push(R)); -else for(T=0;T<_.length;T++)R=w(s,_[T],u,y),t(R)&&(R.geometry=v.scaleToGeodeticHeight(R.geometry,c,s,!y),L.push(R));R=d.combine(L);var z=n.center;return E=s.geodeticSurfaceNormal(z,E),S=i.multiplyByScalar(E,c,S),z=i.add(z,S,z),m&&(b=r.clone(n,b),z=b.center,S=i.multiplyByScalar(E,h,S),z=i.add(z,S,z),n=r.union(n,b,n)),new l({attributes:R.attributes,indices:R.indices,primitiveType:R.primitiveType,boundingSphere:n})},T}),r("Core/PolylineGeometry",["./defined","./DeveloperError","./ComponentDatatype","./IndexDatatype","./PrimitiveType","./defaultValue","./BoundingSphere","./Cartesian3","./PolylinePipeline","./VertexFormat","./Geometry","./GeometryAttribute","./GeometryAttributes","./Color"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m){"use strict";var p=function(r){r=o(r,o.EMPTY_OBJECT);var i=r.positions,n=r.colors,a=o(r.width,1),s=o(r.colorsPerVertex,!1);if(!e(i)||i.length<2)throw new t("At least two positions are required.");if(1>a)throw new t("width must be greater than or equal to one.");if(e(n)&&(s&&n.lengtho;++o)T+=4*b[o]-4;var D,P,M=new Float64Array(3*T),I=new Float64Array(3*T),O=new Float64Array(3*T),R=new Float32Array(2*T),L=w.st?new Float32Array(2*T):void 0,z=e(C)?new Uint8Array(4*T):void 0,N=0,B=0,F=0,V=0,k=0,U=0,W=E.length;for(u=0;W>u;++u){0===u?(P=f,s.subtract(E[0],E[1],P),s.add(E[0],P,P)):P=E[u-1],s.clone(P,y),s.clone(E[u],v),u===W-1?(P=f,s.subtract(E[W-1],E[W-2],P),s.add(E[W-1],P,P)):P=E[u+1],s.clone(P,g),D=b[k],u===U+D&&(U+=D,++k);var q,G,H=0===u-U,j=u===U+b[k]-1,Y=H?2:0,X=j?2:4;if(e(z)){var Z=u-k;q=H||x?C[Z]:C[Z-1],j||(G=C[Z])}for(p=Y;X>p;++p){s.pack(v,M,N),s.pack(y,I,N),s.pack(g,O,N),N+=3;var J=0>p-2?-1:1;if(R[B++]=2*(p%2)-1,R[B++]=J*_,w.st&&(L[F++]=u/(W-1),L[F++]=Math.max(R[B-2],0)),e(z)){var K=2>p?q:G;z[V++]=m.floatToByte(K.red),z[V++]=m.floatToByte(K.green),z[V++]=m.floatToByte(K.blue),z[V++]=m.floatToByte(K.alpha)}}}var Q=new d;Q.position=new h({componentDatatype:r.DOUBLE,componentsPerAttribute:3,values:M}),Q.prevPosition=new h({componentDatatype:r.DOUBLE,componentsPerAttribute:3,values:I}),Q.nextPosition=new h({componentDatatype:r.DOUBLE,componentsPerAttribute:3,values:O}),Q.expandAndWidth=new h({componentDatatype:r.FLOAT,componentsPerAttribute:2,values:R}),w.st&&(Q.st=new h({componentDatatype:r.FLOAT,componentsPerAttribute:2,values:L})),e(z)&&(Q.color=new h({componentDatatype:r.UNSIGNED_BYTE,componentsPerAttribute:4,values:z,normalize:!0})),A=b.length;var $=i.createTypedArray(T,6*E.length-6*A),et=0,tt=0;for(o=0;A>o;++o)for(D=b[o]-1,u=0;D>u;++u)$[tt++]=et,$[tt++]=et+2,$[tt++]=et+1,$[tt++]=et+1,$[tt++]=et+2,$[tt++]=et+3,et+=4;return new c({attributes:Q,indices:$,primitiveType:n.TRIANGLES,boundingSphere:a.fromPoints(E)})},p}),r("Core/PolylineVolumeGeometry",["./defined","./DeveloperError","./Cartesian3","./CornerType","./ComponentDatatype","./Ellipsoid","./Geometry","./GeometryPipeline","./IndexDatatype","./Math","./PolygonPipeline","./PolylineVolumeGeometryLibrary","./PrimitiveType","./defaultValue","./BoundingSphere","./BoundingRectangle","./GeometryAttribute","./GeometryAttributes","./VertexFormat","./WindingOrder"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f,v,y,g,_){"use strict";function w(e,t,r,i){var o=new y;i.position&&(o.position=new v({componentDatatype:n.DOUBLE,componentsPerAttribute:3,values:e}));var u,h,m,f,g,_,w=t.length,C=e.length/3,x=(C-2*w)/(2*w),S=c.triangulate(t),E=6*(x-1)*w+2*S.length,b=l.createTypedArray(C,E),T=2*w,A=0;for(u=0;x-1>u;u++){for(h=0;w-1>h;h++)m=2*h+2*u*w,_=m+T,f=m+1,g=f+T,b[A++]=f,b[A++]=m,b[A++]=g,b[A++]=g,b[A++]=m,b[A++]=_;m=2*w-2+2*u*w,f=m+1,g=f+T,_=m+T,b[A++]=f,b[A++]=m,b[A++]=g,b[A++]=g,b[A++]=m,b[A++]=_}if(i.st||i.tangent||i.binormal){var D,P,M=new Float32Array(2*C),I=1/(x-1),O=1/r.height,R=r.height/2,L=0;for(u=0;x>u;u++){for(D=u*I,P=O*(t[0].y+R),M[L++]=D,M[L++]=P,h=1;w>h;h++)P=O*(t[h].y+R),M[L++]=D,M[L++]=P,M[L++]=D,M[L++]=P;P=O*(t[0].y+R),M[L++]=D,M[L++]=P}for(h=0;w>h;h++)D=0,P=O*(t[h].y+R),M[L++]=D,M[L++]=P;for(h=0;w>h;h++)D=(x-1)*I,P=O*(t[h].y+R),M[L++]=D,M[L++]=P;o.st=new v({componentDatatype:n.FLOAT,componentsPerAttribute:2,values:new Float32Array(M)})}var z=C-2*w;for(u=0;uo;o++)m[f++]=o+g,m[f++]=o+g+1;for(m[f++]=s-1+g,m[f++]=g,i=h-1,g=i*s,o=0;s-1>o;o++)m[f++]=o+g,m[f++]=o+g+1;for(m[f++]=s-1+g,m[f++]=g,i=0;h-1>i;i++){var _=s*i,w=_+s;for(o=0;s>o;o++)m[f++]=o+_,m[f++]=o+w}var C=new a({attributes:r,indices:l.createTypedArray(u,m),boundingSphere:p.fromVertices(e),primitiveType:d.LINES});return C}var w=function(r){r=m(r,m.EMPTY_OBJECT);var n=r.polylinePositions;if(!e(n))throw new t("options.polylinePositions is required.");var a=r.shapePositions;if(!e(a))throw new t("options.shapePositions is required.");this._positions=n,this._shape=a,this._ellipsoid=m(r.ellipsoid,o.WGS84),this._cornerType=m(r.cornerType,i.ROUNDED),this._granularity=m(r.granularity,u.RADIANS_PER_DEGREE),this._workerName="createPolylineVolumeOutlineGeometry"},C=new f;return w.createGeometry=function(e){var r=e._positions,i=h.removeDuplicatesFromPositions(r,e._ellipsoid);if(i.length<2)throw new t("Count of unique polyline positions must be greater than 1.");var n=e._shape;if(n=h.removeDuplicatesFromShape(n),n.length<3)throw new t("Count of unique shape positions must be at least 3.");c.computeWindingOrder2D(n).value===g.CLOCKWISE.value&&n.reverse();var o=f.fromPoints(n,C),a=h.computePositions(i,n,o,e,!1);return _(a,n,o,e._ellipsoid)},w}),r("Core/QuaternionSpline",["./defaultValue","./defined","./DeveloperError","./Spline","./Quaternion"],function(e,t,r,i,n){"use strict";function o(e,r,i){var o=e.length,a=new Array(o);a[0]=t(r)?r:e[0],a[o-1]=t(i)?i:e[o-1];for(var s=1;o-1>s;++s)a[s]=n.innerQuadrangle(e[s-1],e[s],e[s+1]);return a}function a(e){var t=e.points,r=e.innerQuadrangles,i=e.times;if(t.length<3){var o=i[0],a=1/(i[1]-o),s=t[0],l=t[1];return function(e,t){var r=(e-o)*a;return n.slerp(s,l,r,t)}}return function(o,a){var s=e._lastTimeIndex=e.findTimeInterval(o,e._lastTimeIndex),l=(o-i[s])/(i[s+1]-i[s]),u=t[s],c=t[s+1],h=r[s],d=r[s+1];return n.squad(u,c,h,d,l,a)}}var s=function(i){i=e(i,e.EMPTY_OBJECT);var n=i.points,s=i.times,l=i.firstInnerQuadrangle,u=i.lastInnerQuadrangle;if(!t(n))throw new r("points is required.");if(n.length<2)throw new r("points.length must be greater than or equal to 2.");if(!t(s))throw new r("times is required.");if(s.length!==n.length)throw new r("times.length must be equal to points.length.");var c=o(n,l,u);this.times=s,this.points=n,this.innerQuadrangles=c,this._evaluateFunction=a(this),this._lastTimeIndex=0};return s.prototype.findTimeInterval=i.prototype.findTimeInterval,s.prototype.evaluate=function(e,t){return this._evaluateFunction(e,t)},s}),r("Core/ReferenceFrame",["./Enumeration"],function(e){"use strict";var t={FIXED:new e(0,"FIXED"),INERTIAL:new e(1,"INERTIAL")};return t}),r("Core/destroyObject",["./defaultValue","./DeveloperError"],function(e,t){"use strict";function r(){return!0}var i=function(i,n){function o(){throw new t(n)}n=e(n,"This object was destroyed, i.e., destroy() was called.");for(var a in i)"function"==typeof i[a]&&(i[a]=o);return i.isDestroyed=r,void 0};return i}),r("Core/ScreenSpaceEventType",["./Enumeration"],function(e){"use strict";var t={LEFT_DOWN:new e(0,"LEFT_DOWN"),LEFT_UP:new e(1,"LEFT_UP"),LEFT_CLICK:new e(2,"LEFT_CLICK"),LEFT_DOUBLE_CLICK:new e(3,"LEFT_DOUBLE_CLICK"),RIGHT_DOWN:new e(5,"RIGHT_DOWN"),RIGHT_UP:new e(6,"RIGHT_UP"),RIGHT_CLICK:new e(7,"RIGHT_CLICK"),RIGHT_DOUBLE_CLICK:new e(8,"RIGHT_DOUBLE_CLICK"),MIDDLE_DOWN:new e(10,"MIDDLE_DOWN"),MIDDLE_UP:new e(11,"MIDDLE_UP"),MIDDLE_CLICK:new e(12,"MIDDLE_CLICK"),MIDDLE_DOUBLE_CLICK:new e(13,"MIDDLE_DOUBLE_CLICK"),MOUSE_MOVE:new e(15,"MOUSE_MOVE"),WHEEL:new e(16,"WHEEL"),PINCH_START:new e(17,"PINCH_START"),PINCH_END:new e(18,"PINCH_END"),PINCH_MOVE:new e(19,"PINCH_MOVE")};return t}),r("Core/ScreenSpaceEventHandler",["./DeveloperError","./defined","./destroyObject","./Cartesian2","./ScreenSpaceEventType","./KeyboardEventModifier","./defaultValue"],function(e,t,r,i,n,o,a){"use strict";function s(e,t,r){if(e._element===document)return r.x=t.clientX,r.y=t.clientY,r;var i=e._element.getBoundingClientRect();return r.x=t.clientX-i.left,r.y=t.clientY-i.top,r}function l(e,r){var i=e.name;return t(r)&&(i+="+"+r.name),i}function u(e){return e.shiftKey?o.SHIFT:e.ctrlKey?o.CTRL:e.altKey?o.ALT:void 0}function c(e,r){var i=s(e,r,w.position);if(e._lastMousePosition.x=i.x,e._lastMousePosition.y=i.y,e._totalPixels=0,!e._seenAnyTouchEvents){var o,a=u(r);0===r.button?(e._leftMouseButtonDown=!0,o=e.getInputAction(n.LEFT_DOWN,a)):1===r.button?(e._middleMouseButtonDown=!0,o=e.getInputAction(n.MIDDLE_DOWN,a)):2===r.button&&(e._rightMouseButtonDown=!0,o=e.getInputAction(n.RIGHT_DOWN,a)),t(o)&&o(w),r.preventDefault()}}function h(e,r){var i,o,a=u(r);if(!e._seenAnyTouchEvents){0===r.button?(e._leftMouseButtonDown=!1,i=e.getInputAction(n.LEFT_UP,a),o=e.getInputAction(n.LEFT_CLICK,a)):1===r.button?(e._middleMouseButtonDown=!1,i=e.getInputAction(n.MIDDLE_UP,a),o=e.getInputAction(n.MIDDLE_CLICK,a)):2===r.button&&(e._rightMouseButtonDown=!1,i=e.getInputAction(n.RIGHT_UP,a),o=e.getInputAction(n.RIGHT_CLICK,a));var l=s(e,r,C.position),c=e._lastMousePosition.x-l.x,h=e._lastMousePosition.y-l.y;e._totalPixels+=Math.sqrt(c*c+h*h),t(i)&&i(C),t(o)&&e._totalPixels0)){var h=s(e,r.changedTouches[0],b.position),d=e._lastMousePosition.x-h.x,p=e._lastMousePosition.y-h.y;e._totalPixels+=Math.sqrt(d*d+p*p),t(i)&&i(b),t(o)&&e._totalPixelsD;D++,p+=v,++g){C=v>0?m[p]+f:f-m[p],S=C+d,E=-Math.cos(S),T=o.multiplyByScalar(c,E),E=Math.sin(S),A=o.multiplyByScalar(h,E),T=o.add(T,A,T),E=Math.cos(C),E*=E,b=Math.sin(C),b*=b,x=n/Math.sqrt(i*E+r*b),w=x/t,E=Math.sin(w/2);var P=a.normalize(new a(T.x*E,T.y*E,T.z*E,Math.cos(w/2))),M=s.fromQuaternion(P),I=s.multiplyByVector(M,u),O=o.normalize(I);I=o.multiplyByScalar(O,t),y[g]=I}}var u={computeCircleBoundary:function(n,o,a,s){if(!t(n)||!t(o)||!t(a))throw new r("ellipsoid, center, and radius are required.");if(0>=a)throw new r("radius must be greater than zero.");if(s=e(s,i.RADIANS_PER_DEGREE),0>=s)throw new r("granularity must be greater than zero.");return this.computeEllipseBoundary(n,o,a,a,0,s)},computeEllipseBoundary:function(n,a,s,u,c,h){if(!(t(n)&&t(a)&&t(s)&&t(u)))throw new r("ellipsoid, center, semiMajorAxis, and semiMinorAxis are required.");if(0>=s||0>=u)throw new r("Semi-major and semi-minor axes must be greater than zero.");if(c=e(c,0),h=e(h,i.RADIANS_PER_DEGREE),0>=h)throw new r("granularity must be greater than zero.");if(u>s){var d=s;s=u,u=d}for(var m=2.31,p=s*s,f=u*u,v=s*u,y=1-f/p,g=Math.sqrt(y),_=o.clone(a),w=o.magnitude(_),C=new o(0,0,1),x=1/w,S=o.multiplyByScalar(_,x),E=o.normalize(o.cross(C,_)),b=o.cross(S,E),T=1+Math.ceil(i.PI_OVER_TWO/h),A=m/(T-1),D=[],P=0,M=0,I=0;T>I;I++,M+=A,++P)if(D[P]=M-g*Math.sin(M),D[P]>=i.PI_OVER_TWO){D[P]=i.PI_OVER_TWO,T=I+1;break}var O=[];return l(n,w,p,f,v,g,S,E,b,c,D,0,0,1,O,0,T-1),l(n,w,p,f,v,g,S,E,b,c,D,T-1,Math.PI,-1,O,T-1,T-1),l(n,w,p,f,v,g,S,E,b,c,D,0,Math.PI,1,O,2*T-2,T-1),l(n,w,p,f,v,g,S,E,b,c,D,T-1,i.TWO_PI,-1,O,3*T-3,T),O.push(o.clone(O[0])),O},compute2DCircle:function(t,r){t=e(t,1),r=e(r,2*i.RADIANS_PER_DEGREE);for(var o=[],a=i.toRadians(1),s=2*Math.PI/a,l=0;s>l;l++)o.push(new n(t*Math.cos(a*l),t*Math.sin(a*l)));return o}};return u}),r("Core/ShowGeometryInstanceAttribute",["./defaultValue","./defined","./ComponentDatatype","./DeveloperError"],function(e,t,r,i){"use strict";var n=function(t){t=e(t,!0),this.componentDatatype=r.UNSIGNED_BYTE,this.componentsPerAttribute=1,this.normalize=!0,this.value=n.toValue(t)};return n.toValue=function(e,r){if(!t(e))throw new i("show is required.");return t(r)?(r[0]=e,r):new Uint8Array([e])},n}),r("Core/Simon1994PlanetaryPositions",["./Cartesian3","./defined","./DeveloperError","./JulianDate","./Math","./Matrix3","./TimeConstants","./TimeStandard"],function(e,t,r,i,n,o,a,s){"use strict";function l(e){var t=6.239996+.0172019696544*e;return.001657*Math.sin(t+.01671*Math.sin(t))}function u(e,t){t=e.addSeconds(w,t);var r=t.getTotalDays()-C;return t=t.addSeconds(l(r),t)}function c(i,a,s,l,u,c,m,p){if(0>s&&(s=-s,u+=n.PI),0>s||s>n.PI)throw new r("The inclination is out of range. Inclination must be greater than or equal to zero and less than or equal to Pi radians.");var v=i*(1-a),y=l-u,g=u,_=d(c-l,a),w=h(a,0);if("Hyperbolic"===w&&Math.abs(n.NegativePiToPi(_))>=Math.acos(-1/a))throw new r("The true anomaly of the hyperbolic orbit lies outside of the bounds of the hyperbola.");f(y,s,g,P);var C=v*(1+a),x=Math.cos(_),S=Math.sin(_),E=1+a*x;if(E<=n.Epsilon10)throw new r("elements cannot be converted to cartesian");var b=C/E;return t(p)?(p.x=b*x,p.y=b*S,p.z=0):p=new e(b*x,b*S,0),o.multiplyByVector(P,p,p)}function h(e,t){if(0>e)throw new r("eccentricity cannot be negative.");return t>=e?"Circular":1-t>e?"Elliptical":1+t>=e?"Parabolic":"Hyperbolic"}function d(e,t){if(0>t||t>=1)throw new r("eccentricity out of range.");var i=m(e,t);return p(i,t)}function m(e,t){if(0>t||t>=1)throw new r("eccentricity out of range.");var i=Math.floor(e/n.TWO_PI);e-=i*n.TWO_PI;var o,a=e+t*Math.sin(e)/(1-Math.sin(e+t)+Math.sin(e)),s=Number.MAX_VALUE;for(o=0;M>o&&Math.abs(s-a)>I;++o){s=a;var l=s-t*Math.sin(s)-e,u=1-t*Math.cos(s);a=s-l/u}if(o>=M)throw new r("Kepler equation did not converge");return s=a+i*n.TWO_PI}function p(e,t){if(0>t||t>=1)throw new r("eccentricity out of range.");var i=Math.floor(e/n.TWO_PI);e-=i*n.TWO_PI;var o=Math.cos(e)-t,a=Math.sin(e)*Math.sqrt(1-t*t),s=Math.atan2(a,o);return s=n.zeroToTwoPi(s),0>e&&(s-=n.TWO_PI),s+=i*n.TWO_PI}function f(e,i,a,s){if(0>i||i>n.PI)throw new r("inclination out of range");var l=Math.cos(e),u=Math.sin(e),c=Math.cos(i),h=Math.sin(i),d=Math.cos(a),m=Math.sin(a);return t(s)?(s[0]=d*l-m*u*c,s[1]=m*l+d*u*c,s[2]=u*h,s[3]=-d*u-m*l*c,s[4]=-m*u+d*l*c,s[5]=l*h,s[6]=m*h,s[7]=-d*h,s[8]=c):s=new o(d*l-m*u*c,-d*u-m*l*c,m*h,m*l+d*u*c,-m*u+d*l*c,-d*h,u*h,l*h,c),s}function v(e,t){u(e,Pt);var r=Pt.getJulianDayNumber()-x.getJulianDayNumber()+(Pt.getSecondsOfDay()-x.getSecondsOfDay())/a.SECONDS_PER_DAY,i=r/(10*a.DAYS_PER_JULIAN_CENTURY),n=.3595362*i,o=O+q*Math.cos(z*n)+K*Math.sin(z*n)+G*Math.cos(N*n)+Q*Math.sin(N*n)+H*Math.cos(B*n)+$*Math.sin(B*n)+j*Math.cos(F*n)+et*Math.sin(F*n)+Y*Math.cos(V*n)+tt*Math.sin(V*n)+X*Math.cos(k*n)+rt*Math.sin(k*n)+Z*Math.cos(U*n)+it*Math.sin(U*n)+J*Math.cos(W*n)+nt*Math.sin(W*n),s=R+L*i+mt*Math.cos(ot*n)+Ct*Math.sin(ot*n)+pt*Math.cos(at*n)+xt*Math.sin(at*n)+ft*Math.cos(st*n)+St*Math.sin(st*n)+vt*Math.cos(lt*n)+Et*Math.sin(lt*n)+yt*Math.cos(ut*n)+bt*Math.sin(ut*n)+gt*Math.cos(ct*n)+Tt*Math.sin(ct*n)+_t*Math.cos(ht*n)+At*Math.sin(ht*n)+wt*Math.cos(dt*n)+Dt*Math.sin(dt*n),l=.0167086342-.0004203654*i,h=102.93734808*T+11612.3529*A*i,d=469.97289*A*i,m=174.87317577*T-8679.27034*A*i;return c(o,l,d,h,m,s,E,t)}function y(e,t){u(e,Pt);var r=Pt.getJulianDayNumber()-x.getJulianDayNumber()+(Pt.getSecondsOfDay()-x.getSecondsOfDay())/a.SECONDS_PER_DAY,i=r/a.DAYS_PER_JULIAN_CENTURY,n=i*i,o=n*i,s=o*i,l=383397.7725+.004*i,h=.055545526-1.6e-8*i,d=5.15668983*T,m=-8e-5*i+.02966*n-42e-6*o-1.3e-7*s,p=83.35324312*T,f=14643420.2669*i-38.2702*n-.045047*o+21301e-8*s,v=125.04455501*T,y=-6967919.3631*i+6.3602*n+.007625*o-3586e-8*s,g=218.31664563*T,_=1732559343.4847*i-6.391*n+.006588*o-3169e-8*s,w=297.85019547*T+A*(1602961601.209*i-6.3706*n+.006593*o-3169e-8*s),C=93.27209062*T+A*(1739527262.8478*i-12.7512*n-.001037*o+417e-8*s),E=134.96340251*T+A*(1717915923.2178*i+31.8792*n+.051635*o-2447e-7*s),D=357.52910918*T+A*(129596581.0481*i-.5532*n+136e-6*o-1149e-8*s),P=310.17137918*T-A*(6967051.436*i+6.2068*n+.007618*o-3219e-8*s),M=2*w,I=4*w,O=6*w,R=2*E,L=3*E,z=4*E,N=2*C;l+=3400.4*Math.cos(M)-635.6*Math.cos(M-E)-235.6*Math.cos(E)+218.1*Math.cos(M-D)+181*Math.cos(M+E),h+=.014216*Math.cos(M-E)+.008551*Math.cos(M-R)-.001383*Math.cos(E)+.001356*Math.cos(M+E)-.001147*Math.cos(I-L)-914e-6*Math.cos(I-R)+869e-6*Math.cos(M-D-E)-627e-6*Math.cos(M)-394e-6*Math.cos(I-z)+282e-6*Math.cos(M-D-R)-279e-6*Math.cos(w-E)-236e-6*Math.cos(R)+231e-6*Math.cos(I)+229e-6*Math.cos(O-z)-201e-6*Math.cos(R-N),m+=486.26*Math.cos(M-N)-40.13*Math.cos(M)+37.51*Math.cos(N)+25.73*Math.cos(R-N)+19.97*Math.cos(M-D-N),f+=-55609*Math.sin(M-E)-34711*Math.sin(M-R)-9792*Math.sin(E)+9385*Math.sin(I-L)+7505*Math.sin(I-R)+5318*Math.sin(M+E)+3484*Math.sin(I-z)-3417*Math.sin(M-D-E)-2530*Math.sin(O-z)-2376*Math.sin(M)-2075*Math.sin(M-L)-1883*Math.sin(R)-1736*Math.sin(O-5*E)+1626*Math.sin(D)-1370*Math.sin(O-L),y+=-5392*Math.sin(M-N)-540*Math.sin(D)-441*Math.sin(M)+423*Math.sin(N)-288*Math.sin(R-N),_+=-3332.9*Math.sin(M)+1197.4*Math.sin(M-E)-662.5*Math.sin(D)+396.3*Math.sin(E)-218*Math.sin(M-D);var B=2*P,F=3*P;m+=46.997*Math.cos(P)*i-.614*Math.cos(M-N+P)*i+.614*Math.cos(M-N-P)*i-.0297*Math.cos(B)*n-.0335*Math.cos(P)*n+.0012*Math.cos(M-N+B)*n-16e-5*Math.cos(P)*o+4e-5*Math.cos(F)*o+4e-5*Math.cos(B)*o;var V=2.116*Math.sin(P)*i-.111*Math.sin(M-N-P)*i-.0015*Math.sin(P)*n;f+=V,_+=V,y+=-520.77*Math.sin(P)*i+13.66*Math.sin(M-N+P)*i+1.12*Math.sin(M-P)*i-1.06*Math.sin(N-P)*i+.66*Math.sin(B)*n+.371*Math.sin(P)*n-.035*Math.sin(M-N+B)*n-.015*Math.sin(M-N+P)*n+.0014*Math.sin(P)*o-.0011*Math.sin(F)*o-9e-4*Math.sin(B)*o,l*=b;var k=d+m*A,U=p+f*A,W=g+_*A,q=v+y*A;return c(l,h,k,U,q,W,S,t)}function g(t,r){return r=y(t,r),e.multiplyByScalar(r,It,r)}var _={},w=32.184,C=2451545,x=i.fromTotalDays(2451545,s.TAI),S=398600435e6,E=328900.56*1.012300034*S,b=1e3,T=n.RADIANS_PER_DEGREE,A=n.RADIANS_PER_ARCSECOND,D=14959787e4,P=new o,M=50,I=n.EPSILON8,O=1.0000010178*D,R=100.46645683*T,L=1295977422.83429*A,z=16002,N=21863,B=32004,F=10931,V=14529,k=16368,U=15318,W=32794,q=64e-7*D,G=-152*1e-7*D,H=62e-7*D,j=-8e-7*D,Y=32e-7*D,X=-41*1e-7*D,Z=19e-7*D,J=-11*1e-7*D,K=-150*1e-7*D,Q=-46*1e-7*D,$=68*1e-7*D,et=54e-7*D,tt=14e-7*D,rt=24e-7*D,it=-28*1e-7*D,nt=22e-7*D,ot=10,at=16002,st=21863,lt=10931,ut=1473,ct=32004,ht=4387,dt=73,mt=-325*1e-7,pt=-322*1e-7,ft=-79*1e-7,vt=232*1e-7,yt=-52*1e-7,gt=97e-7,_t=55e-7,wt=-41*1e-7,Ct=-105*1e-7,xt=-137*1e-7,St=258e-7,Et=35e-7,bt=-116*1e-7,Tt=-88*1e-7,At=-112*1e-7,Dt=-80*1e-7,Pt=new i,Mt=.012300034,It=-1*(Mt/(Mt+1)),Ot=new o(1.0000000000000002,5.619723173785822e-16,4.690511510146299e-19,-5.154129427414611e-16,.9174820620691819,-.39777715593191376,-2.23970096136568e-16,.39777715593191376,.9174820620691819),Rt=new e;return _.ComputeSunPositionInEarthInertialFrame=function(r,n){return t(r)||(r=new i),Rt=v(r,Rt),n=e.negate(Rt,n),g(r,Rt),e.subtract(n,Rt,n),o.multiplyByVector(Ot,n,n),n},_.ComputeMoonPositionInEarthInertialFrame=function(e,r){return t(e)||(e=new i),r=y(e,r),o.multiplyByVector(Ot,r,r),r},_}),r("Core/SimplePolylineGeometry",["./defined","./DeveloperError","./ComponentDatatype","./IndexDatatype","./PrimitiveType","./defaultValue","./BoundingSphere","./Geometry","./GeometryAttribute","./GeometryAttributes","./Color","./Cartesian3"],function(e,t,r,i,n,o,a,s,l,u,c,h){"use strict";var d=function(r){r=o(r,o.EMPTY_OBJECT);var i=r.positions,n=r.colors,a=o(r.colorsPerVertex,!1);if(!e(i)||i.length<2)throw new t("At least two positions are required.");if(e(n)&&(a&&n.lengtho;++o){var x,S=d[o];if(f&&o>0&&(h.pack(S,w,v),v+=3,x=m[o-1],C[y++]=c.floatToByte(x.red),C[y++]=c.floatToByte(x.green),C[y++]=c.floatToByte(x.blue),C[y++]=c.floatToByte(x.alpha)),f&&o===g-1)break;h.pack(S,w,v),v+=3,e(m)&&(x=m[o],C[y++]=c.floatToByte(x.red),C[y++]=c.floatToByte(x.green),C[y++]=c.floatToByte(x.blue),C[y++]=c.floatToByte(x.alpha))}var E=new u;E.position=new l({componentDatatype:r.DOUBLE,componentsPerAttribute:3,values:w}),e(m)&&(E.color=new l({componentDatatype:r.UNSIGNED_BYTE,componentsPerAttribute:4,values:C,normalize:!0}));var b=f?_:2*(_-1),T=i.createTypedArray(_,b),A=f?2:1;for(v=0,o=0;_-1>o;o+=A)T[v++]=o,T[v++]=o+1;return new s({attributes:E,indices:T,primitiveType:n.LINES,boundingSphere:a.fromPoints(d)})},d}),r("Core/SphereGeometry",["./defaultValue","./Cartesian3","./EllipsoidGeometry"],function(e,t,r){"use strict";var i=function(i){var n=e(i.radius,1),o=new t(n,n,n),a={radii:o,stackPartitions:i.stackPartitions,slicePartitions:i.slicePartitions,vertexFormat:i.vertexFormat};this._ellipsoidGeometry=new r(a),this._workerName="createSphereGeometry"};return i.createGeometry=function(e){return r.createGeometry(e._ellipsoidGeometry)},i}),r("Core/SphereOutlineGeometry",["./defaultValue","./Cartesian3","./EllipsoidOutlineGeometry"],function(e,t,r){"use strict";var i=function(i){var n=e(i.radius,1),o=new t(n,n,n),a={radii:o,stackPartitions:i.stackPartitions,slicePartitions:i.slicePartitions,subdivisions:i.subdivisions};this._ellipsoidGeometry=new r(a),this._workerName="createSphereOutlineGeometry"};return i.createGeometry=function(e){return r.createGeometry(e._ellipsoidGeometry)},i}),r("Core/Spherical",["./DeveloperError","./defaultValue","./defined"],function(e,t,r){"use strict";var i=function(e,r,i){this.clock=t(e,0),this.cone=t(r,0),this.magnitude=t(i,1)};return i.fromCartesian3=function(t,n){if(!r(t))throw new e("cartesian3 is required");var o=t.x,a=t.y,s=t.z,l=o*o+a*a;return r(n)||(n=new i),n.clock=Math.atan2(a,o),n.cone=Math.atan2(Math.sqrt(l),s),n.magnitude=Math.sqrt(l+s*s),n},i.clone=function(e,t){return r(e)?r(t)?(t.clock=e.clock,t.cone=e.cone,t.magnitude=e.magnitude,t):new i(e.clock,e.cone,e.magnitude):void 0},i.normalize=function(t,n){if(!r(t))throw new e("spherical is required");return r(n)?(n.clock=t.clock,n.cone=t.cone,n.magnitude=1,n):new i(t.clock,t.cone,1)},i.equals=function(e,t){return e===t||r(e)&&r(t)&&e.clock===t.clock&&e.cone===t.cone&&e.magnitude===t.magnitude},i.equalsEpsilon=function(e,i,n){return n=t(n,0),e===i||r(e)&&r(i)&&Math.abs(e.clock-i.clock)<=n&&Math.abs(e.cone-i.cone)<=n&&Math.abs(e.magnitude-i.magnitude)<=n},i.toString=function(e){return"("+e.clock+", "+e.cone+", "+e.magnitude+")"},i.prototype.clone=function(e){return i.clone(this,e)},i.prototype.normalize=function(e){return i.normalize(this,e)},i.prototype.equals=function(e){return i.equals(this,e)},i.prototype.equalsEpsilon=function(e,t){return i.equalsEpsilon(this,e,t)},i.prototype.toString=function(){return i.toString(this)},i}),r("Core/isCrossOriginUrl",["./defined"],function(e){"use strict";var t,r=function(r){e(t)||(t=document.createElement("a")),t.href=window.location.href;var i=t.host,n=t.protocol;return t.href=r,t.href=t.href,n!==t.protocol||i!==t.host};return r}),r("Core/TaskProcessor",["require","./buildModuleUrl","./defaultValue","./defined","./destroyObject","./isCrossOriginUrl","../ThirdParty/when","../ThirdParty/Uri"],function(e,t,r,i,n,o,a,s){"use strict";function l(e,t){--e._activeTasks;var r=t.data,n=r.id,o=e._deferreds,a=o[n];i(r.error)?a.reject(r.error):a.resolve(r.result),delete o[n]}function u(){if(i(h))return h;if(h=t("Workers/cesiumWorkerBootstrapper.js"),o(h)){var e,r='importScripts("'+h+'");';try{e=new Blob([r],{type:"application/javascript"})}catch(n){var a=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder,s=new a;s.append(r),e=s.getBlob("application/javascript")}var l=window.URL||window.webkitURL;h=l.createObjectURL(e)}return h}function c(n){var o=u(),a=new Worker(o);a.postMessage=r(a.webkitPostMessage,a.postMessage);var c={loaderConfig:{},workerModule:d._workerModulePrefix+n._workerName};if(i(d._loaderConfig))c.loaderConfig=d._loaderConfig;else if(i(e.toUrl)){var h=new s("..").resolve(new s(t("Workers/cesiumWorkerBootstrapper.js"))).toString();c.loaderConfig.baseUrl=h}else c.loaderConfig.paths={Workers:t("Workers")};a.postMessage(c),a.onmessage=function(e){l(n,e)},n._worker=a}var h,d=function(e,t){this._workerName=e,this._maximumActiveTasks=r(t,5),this._activeTasks=0,this._deferreds={},this._nextID=0 -};return d.prototype.scheduleTask=function(e,t){if(i(this._worker)||c(this),this._activeTasks>=this._maximumActiveTasks)return void 0;++this._activeTasks;var r=this._nextID++,n=a.defer();return this._deferreds[r]=n,this._worker.postMessage({id:r,parameters:e},t),n.promise},d.prototype.isDestroyed=function(){return!1},d.prototype.destroy=function(){return i(this._worker)&&this._worker.terminate(),n(this)},d._defaultWorkerModulePrefix="Workers/",d._workerModulePrefix=d._defaultWorkerModulePrefix,d._loaderConfig=void 0,d}),r("Core/TimeIntervalCollection",["./defined","./DeveloperError","./binarySearch","./TimeInterval","./JulianDate"],function(e,t,r,i,n){"use strict";function o(e,t){return n.compare(e.start,t.start)}function a(t,r,i,n){for(var o=0,a=0,l=new s,u=t._intervals,c=r._intervals;oa;a++)if(!i.equals(r[a],n[a],t))return!1;return!0},s.prototype.get=function(e){if(isNaN(e))throw new t("index must be a number.");return this._intervals[e]},s.prototype.getStart=function(){var e=this._intervals;return 0===e.length?void 0:e[0].start},s.prototype.getStop=function(){var e=this._intervals,t=e.length;return 0===t?void 0:e[t-1].stop},s.prototype.getLength=function(){return this._intervals.length},s.prototype.clear=function(){this._intervals=[]},s.prototype.isEmpty=function(){return 0===this._intervals.length},s.prototype.findIntervalContainingDate=function(e){var t=this.indexOf(e);return t>=0?this._intervals[t]:void 0},s.prototype.findDataForIntervalContainingDate=function(e){var t=this.indexOf(e);return t>=0?this._intervals[t].data:void 0},s.prototype.contains=function(e){return this.indexOf(e)>=0},s.prototype.indexOf=function(n){if(!e(n))throw new t("date required");var a=this._intervals,s=r(a,new i(n,n,!0,!0),o);return s>=0?a[s].isStartIncluded?s:s>0&&a[s-1].stop.equals(n)&&a[s-1].isStopIncluded?s-1:~s:(s=~s,s>0&&s-1s;s++)if(o=a[s],!(e(t)&&!o.start.equals(t)||e(r)&&!o.stop.equals(r)||e(i)&&o.isStartIncluded!==i||e(n)&&o.isStopIncluded!==n))return a[s];return void 0},s.prototype.addInterval=function(a,s){if(!e(a))throw new t("interval is required");if(!a.isEmpty){var l,u,c=this._intervals;if(0===c.length||a.start.greaterThan(c[c.length-1].stop))return c.push(a),void 0;for(u=r(c,a,o),0>u?u=~u:u>0&&a.isStartIncluded&&c[u-1].isStartIncluded&&c[u-1].start.equals(a.start)?--u:u0&&(l=n.compare(c[u-1].stop,a.start),(l>0||0===l&&(c[u-1].isStopIncluded||a.isStartIncluded))&&((e(s)?s(c[u-1].data,a.data):c[u-1].data===a.data)?(a=a.stop.greaterThan(c[u-1].stop)?new i(c[u-1].start,a.stop,c[u-1].isStartIncluded,a.isStopIncluded,a.data):new i(c[u-1].start,c[u-1].stop,c[u-1].isStartIncluded,c[u-1].isStopIncluded||a.stop.equals(c[u-1].stop)&&a.isStopIncluded,a.data),c.splice(u-1,1),--u):(l=n.compare(c[u-1].stop,a.stop),l>0||0===l&&c[u-1].isStopIncluded&&!a.isStopIncluded?c.splice(u-1,1,new i(c[u-1].start,a.start,c[u-1].isStartIncluded,!a.isStartIncluded,c[u-1].data),new i(a.stop,c[u-1].stop,!a.isStopIncluded,c[u-1].isStopIncluded,c[u-1].data)):c[u-1]=new i(c[u-1].start,a.start,c[u-1].isStartIncluded,!a.isStartIncluded,c[u-1].data))));u0||0===l&&(a.isStopIncluded||c[u].isStartIncluded));)if(e(s)?s(c[u].data,a.data):c[u].data===a.data)a=new i(a.start,c[u].stop.greaterThan(a.stop)?c[u].stop:a.stop,a.isStartIncluded,c[u].stop.greaterThan(a.stop)?c[u].isStopIncluded:a.isStopIncluded,a.data),c.splice(u,1);else{if(c[u]=new i(a.stop,c[u].stop,!a.isStopIncluded,c[u].isStopIncluded,c[u].data),!c[u].isEmpty)break;c.splice(u,1)}c.splice(u,0,a)}},s.prototype.removeInterval=function(n){if(!e(n))throw new t("interval is required");if(n.isEmpty)return!1;var a=!1,s=this._intervals,l=r(s,n,o);0>l&&(l=~l);var u=n.start,c=n.stop,h=n.isStartIncluded,d=n.isStopIncluded;if(l>0){var m=s[l-1],p=m.stop;(p.greaterThan(u)||p.equals(u)&&m.isStopIncluded&&h)&&(a=!0,(p.greaterThan(c)||m.isStopIncluded&&!d&&p.equals(c))&&s.splice(l,0,new i(c,p,!d,m.isStopIncluded,m.data)),s[l-1]=new i(m.start,u,m.isStartIncluded,!h,m.data))}var f=s[l];for(la;a++)u[a]=i;return u}var c=n-i,h=c/l;for(a=1;l>a;a++){var d=i+a*h;u[a]=d}return u[0]=i,u}function c(e,t){return s.equalsEpsilon(e.latitude,t.latitude,s.EPSILON6)&&s.equalsEpsilon(e.longitude,t.longitude,s.EPSILON6)}function h(r,i,n,o){var a=e(o),s=e(n),l=[],u=[],h=a?[]:void 0,d=i.length;if(2>d)return i.slice(0);var f=i[0];l.push(f);var v=r.cartesianToCartographic(f,m);s&&(v.height=n[0]),u.push(v.height),a&&h.push(o[0]);for(var y=1;d>y;++y){var g=i[y],_=r.cartesianToCartographic(g,p);s&&(_.height=n[y]),c(v,_)?v.height<_.height&&(u[u.length-1]=_.height):(l.push(g),u.push(_.height),a&&h.push(o[y])),t.clone(_,v)}return{positions:l,topHeights:u,bottomHeights:h}}var d={},m=new t,p=new t;return d.computePositions=function(t,r,s,c,d,m){var p=h(t,r,s,c);if(r=p.positions,s=p.topHeights,c=p.bottomHeights,r.length<2)throw new i("unique positions must be greater than or equal to 2");var f=e(c);if(r.length>=3){var v=n.fromPoints(r,t),y=v.projectPointsOntoPlane(r);o.computeWindingOrder2D(y)===l.CLOCKWISE&&(r.reverse(),s.reverse(),f&&c.reverse())}var g,_=r.length,w=[],C=f?[]:void 0,x=[];for(g=0;_-1>g;g++){var S=r[g],E=r[g+1],b=s[g],T=s[g+1];w=w.concat(u(S,E,b,T,d)),m&&w.push(T),f&&(S=r[g],E=r[g+1],b=c[g],T=c[g+1],C=C.concat(u(S,E,b,T,d)),m&&C.push(T)),m&&(x=x.concat(a.scaleToSurface([S,E],d,t)))}m||(x=a.scaleToSurface(r,d,t),w.push(s[_-1]),f&&C.push(c[_-1]));var A=f?a.scaleToGeodeticHeight(x,C,t):x.slice(0),D=a.scaleToGeodeticHeight(x,w,t);return{newWallPositions:x,bottomPositions:A,topPositions:D}},d}),r("Core/WallGeometry",["./defaultValue","./defined","./BoundingSphere","./Cartesian3","./ComponentDatatype","./IndexDatatype","./DeveloperError","./Ellipsoid","./Geometry","./GeometryAttribute","./GeometryAttributes","./Math","./PrimitiveType","./VertexFormat","./WallGeometryLibrary"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p){"use strict";var f=new i,v=new i,y=new i,g=new i,_=new i,w=new i,C=new i,x=new i,S=function(r){r=e(r,e.EMPTY_OBJECT);var i=r.positions,n=r.maximumHeights,o=r.minimumHeights;if(!t(i))throw new a("positions is required.");if(t(n)&&n.length!==i.length)throw new a("positions and maximumHeights must have the same length.");if(t(o)&&o.length!==i.length)throw new a("positions and minimumHeights must have the same length.");var l=e(r.vertexFormat,m.DEFAULT),u=e(r.granularity,h.RADIANS_PER_DEGREE),c=e(r.ellipsoid,s.WGS84);this._positions=i,this._minimumHeights=o,this._maximumHeights=n,this._vertexFormat=l,this._granularity=u,this._ellipsoid=c,this._workerName="createWallGeometry"};return S.fromConstantHeights=function(r){r=e(r,e.EMPTY_OBJECT);var i=r.positions;if(!t(i))throw new a("options.positions is required.");var n,o,s=r.minimumHeight,l=r.maximumHeight,u=t(s),c=t(l);if(u||c){var h=i.length;n=u?new Array(h):void 0,o=c?new Array(h):void 0;for(var d=0;h>d;++d)u&&(n[d]=s),c&&(o[d]=l)}var m={positions:i,maximumHeights:o,minimumHeights:n,ellipsoid:r.ellipsoid,vertexFormat:r.vertexFormat};return new S(m)},S.createGeometry=function(e){var t=e._positions,a=e._minimumHeights,s=e._maximumHeights,m=e._vertexFormat,S=e._granularity,E=e._ellipsoid,b=p.computePositions(E,t,s,a,S,!0),T=b.newWallPositions,A=b.bottomPositions,D=b.topPositions,P=T.length,M=2*P,I=m.position?new Float64Array(M):void 0,O=m.normal?new Float32Array(M):void 0,R=m.tangent?new Float32Array(M):void 0,L=m.binormal?new Float32Array(M):void 0,z=m.st?new Float32Array(2*(M/3)):void 0,N=0,B=0,F=0,V=0,k=0,U=x,W=C,q=w,G=!0;P/=3;var H;for(H=0;P>H;++H){var j=3*H,Y=i.fromArray(D,j,f),X=i.fromArray(A,j,v);if(m.position&&(I[N++]=X.x,I[N++]=X.y,I[N++]=X.z,I[N++]=Y.x,I[N++]=Y.y,I[N++]=Y.z),m.normal||m.tangent||m.binormal){var Z,J=new i,K=i.fromArray(T,j,v);if(P>H+1&&(Z=i.fromArray(T,j+3,y),J=i.fromArray(D,j+3,_)),G){var Q=i.subtract(J,Y,g),$=i.subtract(K,Y,f);U=i.normalize(i.cross($,Q,U),U),G=!1}i.equalsEpsilon(Z,K,h.EPSILON6)?G=!0:(m.tangent&&(W=i.normalize(i.subtract(Z,K,W),W)),m.binormal&&(q=i.normalize(i.cross(U,W,q),q))),m.normal&&(O[B++]=U.x,O[B++]=U.y,O[B++]=U.z,O[B++]=U.x,O[B++]=U.y,O[B++]=U.z),m.tangent&&(R[V++]=W.x,R[V++]=W.y,R[V++]=W.z,R[V++]=W.x,R[V++]=W.y,R[V++]=W.z),m.binormal&&(L[F++]=q.x,L[F++]=q.y,L[F++]=q.z,L[F++]=q.x,L[F++]=q.y,L[F++]=q.z)}if(m.st){var et=H/(P-1);z[k++]=et,z[k++]=0,z[k++]=et,z[k++]=1}}var tt=new c;m.position&&(tt.position=new u({componentDatatype:n.DOUBLE,componentsPerAttribute:3,values:I})),m.normal&&(tt.normal=new u({componentDatatype:n.FLOAT,componentsPerAttribute:3,values:O})),m.tangent&&(tt.tangent=new u({componentDatatype:n.FLOAT,componentsPerAttribute:3,values:R})),m.binormal&&(tt.binormal=new u({componentDatatype:n.FLOAT,componentsPerAttribute:3,values:L})),m.st&&(tt.st=new u({componentDatatype:n.FLOAT,componentsPerAttribute:2,values:z}));var rt=M/3;M-=6;var it=o.createTypedArray(rt,M),nt=0;for(H=0;rt-2>H;H+=2){var ot=H,at=H+2,st=i.fromArray(I,3*ot,f),lt=i.fromArray(I,3*at,v);if(!i.equalsEpsilon(st,lt,h.EPSILON6)){var ut=H+1,ct=H+3;it[nt++]=ut,it[nt++]=ot,it[nt++]=ct,it[nt++]=ct,it[nt++]=ot,it[nt++]=at}}return new l({attributes:tt,indices:it,primitiveType:d.TRIANGLES,boundingSphere:new r.fromVertices(I)})},S}),r("Core/WallOutlineGeometry",["./defaultValue","./defined","./BoundingSphere","./Cartesian3","./Cartographic","./ComponentDatatype","./IndexDatatype","./DeveloperError","./Ellipsoid","./Geometry","./GeometryAttribute","./GeometryAttributes","./Math","./PrimitiveType","./WallGeometryLibrary"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p){"use strict";var f=new i,v=new i,y=function(r){r=e(r,e.EMPTY_OBJECT);var i=r.positions,n=r.maximumHeights,o=r.minimumHeights;if(!t(i))throw new s("positions is required.");if(t(n)&&n.length!==i.length)throw new s("positions and maximumHeights must have the same length.");if(t(o)&&o.length!==i.length)throw new s("positions and minimumHeights must have the same length.");var a=e(r.granularity,d.RADIANS_PER_DEGREE),u=e(r.ellipsoid,l.WGS84);this._positions=i,this._minimumHeights=o,this._maximumHeights=n,this._granularity=a,this._ellipsoid=u,this._workerName="createWallOutlineGeometry"};return y.fromConstantHeights=function(r){r=e(r,e.EMPTY_OBJECT);var i=r.positions;if(!t(i))throw new s("options.positions is required.");var n,o,a=r.minimumHeight,l=r.maximumHeight,u=t(a),c=t(l);if(u||c){var h=i.length;n=u?new Array(h):void 0,o=c?new Array(h):void 0;for(var d=0;h>d;++d)u&&(n[d]=a),c&&(o[d]=l)}var m={positions:i,maximumHeights:o,minimumHeights:n,ellipsoid:r.ellipsoid};return new y(m)},y.createGeometry=function(e){var t=e._positions,n=e._minimumHeights,s=e._maximumHeights,l=e._granularity,y=e._ellipsoid,g=p.computePositions(y,t,s,n,l,!1),_=g.newWallPositions,w=g.bottomPositions,C=g.topPositions,x=_.length,S=2*x,E=new Float64Array(S),b=0;x/=3;var T;for(T=0;x>T;++T){var A=3*T,D=i.fromArray(C,A,f),P=i.fromArray(w,A,v);E[b++]=P.x,E[b++]=P.y,E[b++]=P.z,E[b++]=D.x,E[b++]=D.y,E[b++]=D.z}var M=new h({position:new c({componentDatatype:o.DOUBLE,componentsPerAttribute:3,values:E})}),I=S/3;S=2*I-4+I;var O=a.createTypedArray(I,S),R=0;for(T=0;I-2>T;T+=2){var L=T,z=T+2,N=i.fromArray(E,3*L,f),B=i.fromArray(E,3*z,v);if(!i.equalsEpsilon(N,B,d.EPSILON6)){var F=T+1,V=T+3;O[R++]=F,O[R++]=L,O[R++]=F,O[R++]=V,O[R++]=L,O[R++]=z}}return O[R++]=I-2,O[R++]=I-1,new u({attributes:M,indices:O,primitiveType:m.LINES,boundingSphere:new r.fromVertices(E)})},y}),r("Core/WebMercatorProjection",["./defaultValue","./defined","./Cartesian3","./Cartographic","./Math","./Ellipsoid"],function(e,t,r,i,n,o){"use strict";var a=function(t){this._ellipsoid=e(t,o.WGS84),this._semimajorAxis=this._ellipsoid.getMaximumRadius(),this._oneOverSemimajorAxis=1/this._semimajorAxis};return a.mercatorAngleToGeodeticLatitude=function(e){return n.PI_OVER_TWO-2*Math.atan(Math.exp(-e))},a.geodeticLatitudeToMercatorAngle=function(e){e>a.MaximumLatitude?e=a.MaximumLatitude:e<-a.MaximumLatitude&&(e=-a.MaximumLatitude);var t=Math.sin(e);return.5*Math.log((1+t)/(1-t))},a.MaximumLatitude=a.mercatorAngleToGeodeticLatitude(Math.PI),a.prototype.getEllipsoid=function(){return this._ellipsoid},a.prototype.project=function(e,i){var n=this._semimajorAxis,o=e.longitude*n,s=a.geodeticLatitudeToMercatorAngle(e.latitude)*n,l=e.height;return t(i)?(i.x=o,i.y=s,i.z=l,i):new r(o,s,l)},a.prototype.unproject=function(e,r){var n=this._oneOverSemimajorAxis,o=e.x*n,s=a.mercatorAngleToGeodeticLatitude(e.y*n),l=e.z;return t(r)?(r.longitude=o,r.latitude=s,r.height=l,r):new i(o,s,l)},a}),r("Core/cancelAnimationFrame",["./defined"],function(e){"use strict";var t=window.cancelAnimationFrame;!function(){if(!e(t))for(var r=["webkit","moz","ms","o"],i=0,n=r.length;n>i&&!e(t);)t=window[r[i]+"CancelAnimationFrame"],e(t)||(t=window[r[i]+"CancelRequestAnimationFrame"]),++i;e(t)||(t=clearTimeout)}();var r=function(e){t(e)};return r}),r("Core/combine",["./DeveloperError","./defaultValue","./defined"],function(e,t,r){"use strict";var i=function(e,r,i){r=t(r,!0),i=t(i,!0);for(var o={},a=0;a0&&(a+=-1===a.indexOf("?")?"?":"&",a+=h.join("&"));var p=s.proxy;return t(p)&&(a=p.getURL(a)),o.loadAndExecuteScript(a,l,u),u.promise};return o.loadAndExecuteScript=function(e,t,r){var i=document.createElement("script");i.async=!0,i.src=e;var n=document.getElementsByTagName("head")[0];i.onload=function(){i.onload=void 0,n.removeChild(i)},i.onerror=function(e){r.reject(e)},n.appendChild(i)},o.defaultLoadAndExecuteScript=o.loadAndExecuteScript,o}),r("Core/loadArrayBuffer",["./loadWithXhr"],function(e){"use strict";var t=function(t,r){return e({url:t,responseType:"arraybuffer",headers:r})};return t}),r("Core/loadBlob",["./loadWithXhr"],function(e){"use strict";var t=function(t,r){return e({url:t,responseType:"blob",headers:r})};return t}),r("Core/loadImage",["./defaultValue","./defined","./DeveloperError","./isCrossOriginUrl","../ThirdParty/when"],function(e,t,r,i,n){"use strict";var o=/^data:/,a=function(s,l){if(!t(s))throw new r("url is required.");return l=e(l,!0),n(s,function(e){var t;t=o.test(e)||!l?!1:i(e);var r=n.defer();return a.createImage(e,t,r),r.promise})};return a.createImage=function(e,t,r){var i=new Image;i.onload=function(){r.resolve(i)},i.onerror=function(e){r.reject(e)},t&&(i.crossOrigin=""),i.src=e},a.defaultCreateImage=a.createImage,a}),r("Core/loadImageViaBlob",["./loadBlob","./loadImage"],function(e,t){"use strict";var r=/^data:/,i=function(i){return r.test(i)?t(i):e(i).then(function(e){var r=window.URL.createObjectURL(e);return t(r,!1).then(function(t){return t.blob=e,window.URL.revokeObjectURL(r),t},function(e){return window.URL.revokeObjectURL(r),e})})},n=function(){try{var e=new XMLHttpRequest;return e.open("GET","#",!0),e.responseType="blob","blob"===e.responseType}catch(t){return!1}}();return n?i:t}),r("Core/loadXML",["./defined","./DeveloperError","./RequestErrorEvent","../ThirdParty/when"],function(e,t,r,i){"use strict";var n=function(r,o){if(!e(r))throw new t("url is required.");return i(r,function(e){var t=i.defer();return n.loadXML(e,o,t),t.promise})};return n.loadXML=function(t,i,n){var o=new XMLHttpRequest;if(o.overrideMimeType("text/xml"),o.open("GET",t,!0),e(i))for(var a in i)i.hasOwnProperty(a)&&o.setRequestHeader(a,i[a]);o.onload=function(){200===o.status?n.resolve(o.responseXML):n.reject(new r(o.status,o.response))},o.onerror=function(){n.reject(new r)},o.send()},n.defaultLoadXML=n.loadXML,n}),r("Core/requestAnimationFrame",["./defined"],function(e){"use strict";var t=window.requestAnimationFrame;!function(){if(!e(t))for(var r=["webkit","moz","ms","o"],i=0,n=r.length;n>i&&!e(t);)t=window[r[i]+"RequestAnimationFrame"],++i;if(!e(t)){var o=0;t=function(e){var t=Date.now(),r=Math.max(16-(t-o),0);return o=t+r,setTimeout(function(){e(o)},r)}}}();var r=function(e){return t(e)};return r}),r("Core/throttleRequestByServer",["./defaultValue","./defined","../ThirdParty/when"],function(e,t,r){"use strict";function i(e){return t(o)||(o=document.createElement("a")),o.href=e,o.hostname+"%"+o.port}function n(t,n){var o=i(t),l=e(s[o],0);return l>a?void 0:(s[o]=l+1,r(n(t),function(e){return s[o]--,e},function(e){return s[o]--,r.reject(e)}))}var o,a=6,s={};return n}),r("Core/wrapFunction",["./DeveloperError"],function(e){"use strict";var t=function(t,r,i){if("function"!=typeof r)throw new e("oldFunction is required to be a function.");if("function"!=typeof i)throw new e("oldFunction is required to be a function.");return function(){i.apply(t,arguments),r.apply(t,arguments)}};return t}),r("ThirdParty/measureText",[],function(){var e=function(e,t){return document.defaultView.getComputedStyle(e,null).getPropertyValue(t)},t=function(t,r,i,n){var o=t.measureText(r),a=e(t.canvas,"font-family"),s=e(t.canvas,"font-size").replace("px",""),l=!/\S/.test(r);o.fontsize=s;var u=document.createElement("div");u.style.position="absolute",u.style.opacity=0,u.style.font=s+"px "+a,u.innerHTML=r+"
"+r,document.body.appendChild(u),o.leading=1.2*s;var c=e(u,"height");if(c=c.replace("px",""),c>=2*s&&(o.leading=0|c/2),document.body.removeChild(u),l)o.ascent=0,o.descent=0,o.bounds={minx:0,maxx:o.width,miny:0,maxy:0},o.height=0;else{var h=document.createElement("canvas"),d=100;h.width=o.width+d,h.height=3*s,h.style.opacity=1,h.style.fontFamily=a,h.style.fontSize=s;var m=h.getContext("2d");m.font=s+"px "+a;var p=h.width,f=h.height,v=f/2;m.fillStyle="white",m.fillRect(-1,-1,p+2,f+2),i&&(m.strokeStyle="black",m.lineWidth=t.lineWidth,m.strokeText(r,d/2,v)),n&&(m.fillStyle="black",m.fillText(r,d/2,v));for(var y=m.getImageData(0,0,p,f).data,g=0,_=4*p,w=y.length;++g0&&255===y[g];);var x=0|g/_;for(g=0;w>g&&255===y[g];)g+=_,g>=w&&(g=g-w+4);var S=0|g%_/4,E=1;for(g=w-3;g>=0&&255===y[g];)g-=_,0>g&&(g=w-3-4*E++);var b=0|g%_/4+1;o.ascent=v-C,o.descent=x-v,o.bounds={minx:S-d/2,maxx:b-d/2,miny:0,maxy:x-C},o.height=1+(x-C)}return o};return t}),r("Core/writeTextToCanvas",["./defaultValue","./defined","./DeveloperError","./Color","../ThirdParty/measureText"],function(e,t,r,i,n){"use strict";var o=function(o,a){if(!t(o))throw new r("text is required.");if(""===o)return void 0;a=e(a,e.EMPTY_OBJECT);var s=e(a.font,"10px sans-serif"),l=document.createElement("canvas");l.width=l.height=1,l.style.font=s;var u=l.getContext("2d");u.font=s,u.textBaseline=e(a.textBaseline,"bottom"),l.style.visibility="hidden",document.body.appendChild(l);var c=e(a.stroke,!1),h=e(a.fill,!0),d=2*e(a.strokeWidth,1);u.lineWidth=d;var m=n(u,o,c,h);l.dimensions=m,document.body.removeChild(l),l.style.visibility="";var p=m.height-m.ascent;l.width=m.width,l.height=m.height;var f=l.height-p;if(u.font=s,c){var v=e(a.strokeColor,i.BLACK);u.strokeStyle=v.toCssColorString(),u.lineWidth=d,u.strokeText(o,0,f)}if(h){var y=e(a.fillColor,i.WHITE);u.fillStyle=y.toCssColorString(),u.fillText(o,0,f)}return l};return o}),r("DynamicScene/ConstantProperty",["../Core/defaultValue","../Core/defined","../Core/DeveloperError","../Core/Enumeration"],function(e,t,r,i){"use strict";var n=function(e){if(!t(e))throw new r("value is required.");var n="object"!=typeof e||Array.isArray(e)||e instanceof i;if(!n){if("function"!=typeof e.clone)throw new r("clone is a required function.");if("function"!=typeof e.equals)throw new r("equals is a required function.")}this._value=e,this._simple=n};return n.prototype.getValue=function(e,t){return this._simple?this._value:this._value.clone(t)},n.prototype.equals=function(e){return this===e||e instanceof n&&(this._simple&&this._value===e._value||!this._simple&&this._value.equals(e._value))},n}),r("DynamicScene/Property",["../Core/defined","../Core/DeveloperError"],function(e,t){"use strict";function r(){throw new t("This type should not be instantiated directly.")}var i=r;return i.prototype.getValue=r,i.prototype.equals=r,i.equals=function(t,r){return t===r||e(t)&&t.equals(r)},i}),r("DynamicScene/ColorMaterialProperty",["../Core/Color","../Core/defined","./ConstantProperty","./Property"],function(e,t,r,i){"use strict";var n=function(){this.color=new r(e.WHITE)};return n.prototype.getType=function(){return"Color"},n.prototype.getValue=function(e,r){return t(r)||(r={}),r.color=t(this.color)?this.color.getValue(e,r.color):void 0,r},n.prototype.equals=function(e){return this===e||e instanceof n&&i.equals(this.color,e.color)},n}),r("DynamicScene/createDynamicPropertyDescriptor",["../Core/defaultValue"],function(e){"use strict";function t(t,r,i){return{configurable:e(i,!1),get:function(){return this[r]},set:function(e){var i=this[r];i!==e&&(this[r]=e,this._propertyChanged.raiseEvent(this,t,e,i))}}}return t}),r("DynamicScene/DynamicObject",["../Core/createGuid","../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/DeveloperError","../Core/Event","../Core/JulianDate","../Core/TimeInterval","./createDynamicPropertyDescriptor"],function(e,t,r,i,n,o,a,s,l){"use strict";var u=["cachedAvailabilityDate","cachedAvailabilityValue","id","propertyChanged","propertyNames","isAvailable","clean","merge","addProperty","removeProperty"],c=function(t){this._cachedAvailabilityDate=void 0,this._cachedAvailabilityValue=void 0,r(t)||(t=e()),this._id=t,this._availability=void 0,this._position=void 0,this._orientation=void 0,this._billboard=void 0,this._cone=void 0,this._ellipsoid=void 0,this._ellipse=void 0,this._label=void 0,this._name=void 0,this._parent=void 0,this._path=void 0,this._point=void 0,this._polygon=void 0,this._polyline=void 0,this._pyramid=void 0,this._vertexPositions=void 0,this._vector=void 0,this._viewFrom=void 0,this._propertyChanged=new o,this._propertyNames=["parent","position","orientation","billboard","cone","ellipsoid","ellipse","label","path","point","polygon","polyline","pyramid","vertexPositions","vector","viewFrom"]};return i(c.prototype,{propertyChanged:{get:function(){return this._propertyChanged}},propertyNames:{get:function(){return this._propertyNames}},id:{get:function(){return this._id}},name:{configurable:!1,get:function(){return this._name},set:function(e){var t=this._name;t!==e&&(this._name=e,this._propertyChanged.raiseEvent(this,"name",e,t))}},availability:l("availability","_availability"),position:l("position","_position"),orientation:l("orientation","_orientation"),viewFrom:l("viewFrom","_viewFrom"),billboard:l("billboard","_billboard"),cone:l("cone","_cone"),ellipsoid:l("ellipsoid","_ellipsoid"),ellipse:l("ellipse","_ellipse"),label:l("label","_label"),parent:l("parent","_parent"),path:l("path","_path"),point:l("point","_point"),polygon:l("polygon","_polygon"),polyline:l("polyline","_polyline"),pyramid:l("pyramid","_pyramid"),vertexPositions:l("vertexPositions","_vertexPositions"),vector:l("vector","_vector")}),c.prototype.isAvailable=function(e){if(!r(e))throw new n("time is required.");var t=this._availability;return!r(t)||t.contains(e)},c.prototype.addProperty=function(e){if(!r(e))throw new n("propertyName is required.");var t=this._propertyNames;if(-1!==t.indexOf(e))throw new n(e+" is already a registered property.");if(-1!==u.indexOf(e))throw new n(e+" is a reserved property name.");t.push(e),Object.defineProperty(this,e,l(e,"_"+e,!0))},c.prototype.removeProperty=function(e){if(!r(e))throw new n("propertyName is required.");var t=this._propertyNames;if(-1!==u.indexOf(e))throw new n(e+" is a reserved property name.");if(-1===t.indexOf(e))throw new n(e+" is not a registered property.");this._propertyNames.push(e),delete this[e]},c.prototype.merge=function(e){if(!r(e))throw new n("source is required.");this.name=t(this.name,e.name),this.availability=t(e.availability,this.availability);for(var i=this._propertyNames,o=i.length,a=0;o>a;a++){var s=i[a],l=this[s],u=e[s];r(u)&&(r(l)?r(l.merge)&&l.merge(u):this[s]=r(u.merge)&&r(u.clone)?u.clone():u)}},c}),r("DynamicScene/DynamicObjectCollection",["../Core/createGuid","../Core/defined","../Core/defineProperties","../Core/Event","../Core/TimeInterval","../Core/Iso8601","../Core/DeveloperError","../Core/RuntimeError","./DynamicObject"],function(e,t,r,i,n,o,a,s,l){"use strict";function u(e){if(0===e._suspendCount){var t=e._added,r=e._removed;(0!==t.length||0!==r.length)&&(e._collectionChanged.raiseEvent(e,t,r),t.length=0,r.length=0,e._addedHash={},e._removedHash={})}}var c=function(){this._array=[],this._hash={},this._added=[],this._addedHash={},this._removed=[],this._removedHash={},this._suspendCount=0,this._collectionChanged=new i,this._id=e()};return c.prototype.suspendEvents=function(){this._suspendCount++},c.prototype.resumeEvents=function(){if(0===this._suspendCount)throw new a("resumeEvents can not be called before suspendEvents.");this._suspendCount--,u(this)},c.collectionChangedEventCallback=void 0,r(c.prototype,{collectionChanged:{get:function(){return this._collectionChanged}},id:{get:function(){return this._id}}}),c.prototype.computeAvailability=function(){for(var e=o.MAXIMUM_VALUE,r=o.MINIMUM_VALUE,i=this._array,a=0,s=i.length;s>a;a++){var l=i[a],u=l.availability;if(t(u)){var c=u.getStart(),h=u.getStop();c.lessThan(e)&&!c.equals(o.MINIMUM_VALUE)&&(e=c),h.greaterThan(r)&&!h.equals(o.MAXIMUM_VALUE)&&(r=h)}}return o.MAXIMUM_VALUE.equals(e)&&(e=o.MINIMUM_VALUE),o.MINIMUM_VALUE.equals(r)&&(r=o.MAXIMUM_VALUE),new n(e,r,!0,!0)},c.prototype.add=function(e){if(!t(e))throw new a("dynamicObject is required.");var r=e.id,i=this._hash;if(t(i[r]))throw new s("An object with id "+r+" already exists in this collection.");i[r]=e,this._array.push(e);var n=this._removed,o=-1,l=this._removedHash[r];t(l)&&(o=n.indexOf(l)),-1!==o?(n.splice(o,1),this._removedHash[r]=void 0):(this._added.push(e),this._addedHash[r]=e),u(this)},c.prototype.remove=function(e){if(!t(e))throw new a("dynamicObject is required");return this.removeById(e.id)},c.prototype.removeById=function(e){if(!t(e))throw new a("id is required.");var r=this._hash,i=this._array,n=r[e],o=t(n);if(o){r[e]=void 0,i.splice(i.indexOf(n),1);var s=this._added,l=-1,c=this._addedHash[e];t(c)&&(l=s.indexOf(c)),-1!==l?(s.splice(l,1),this._addedHash[e]=void 0):(this._removed.push(n),this._removedHash[e]=n),u(this)}return o},c.prototype.removeAll=function(){for(var e=this._array,r=e.length,i=this._removed,n=this._removedHash,o=this._addedHash,a=0;r>a;a++){var s=e[a],l=s.id,c=o[l];t(c)||(i.push(s),n[l]=s)}this._addedHash={},this._added.length=0,e.length=0,this._hash={},u(this)},c.prototype.getById=function(e){if(!t(e))throw new a("id is required.");return this._hash[e]},c.prototype.getObjects=function(){return this._array},c.prototype.getOrCreateObject=function(e){if(!t(e))throw new a("id is required.");var r=this._hash[e];return t(r)||(r=new l(e),this.add(r)),r},c}),r("DynamicScene/CompositeDynamicObjectCollection",["../Core/createGuid","../Core/defined","../Core/defineProperties","../Core/DeveloperError","../Core/Math","./DynamicObject","./DynamicObjectCollection"],function(e,t,r,i,n,o,a){"use strict";function s(e){for(var t=e.propertyNames,r=t.length,i=0;r>i;i++)e[t[i]]=void 0}function l(e,r,i){return function(n,o){for(var a=r.id,s=e._composite,l=s.getById(a),u=l[i],c=e._collectionsCopy,h=c.length,d=h-1;d>=0;d--){var m=c[d].getById(r.id);if(t(m)){var p=m[i];if(t(p)){var f=p[o];if(t(f))return u[o]=f,void 0}}}u[o]=void 0}}function u(e,r){var i=e._composite,n=e._eventHash;return function(o,a){var s=o.id,l=i.getById(s),u=l[a];h(n,r,o,a),c(e,n,r,o,a,o[a]);for(var d=e._collectionsCopy,m=d.length,p=!0,f=m-1;f>=0;f--){var v=d[f].getById(o.id);if(t(v)){var y=v[a];if(t(y)){if(p){if(p=!1,!t(y.merge)||!t(y.clone)){u=y;break}u=y.clone(u)}u.merge(y)}}}l[a]=u}}function c(e,r,i,n,o,a){if(t(a)&&t(a.propertyChanged)){var s=l(e,n,o);y[0]=i,y[1]=n.id,y[2]=o,r[JSON.stringify(y)]=a.propertyChanged.addEventListener(s)}}function h(e,r,i,n){y[0]=r,y[1]=i.id,y[2]=n;var o=JSON.stringify(y),a=e[o];t(a)&&(a(),e[o]=void 0)}function d(e,t,r,i){g[0]=r,g[1]=i.id,t[JSON.stringify(g)]=i.propertyChanged.addEventListener(u(e,r));for(var n=i.propertyNames,o=n.length,a=0;o>a;a++){var s=n[a];c(e,t,r,i,s,i[s])}}function m(e,t,r,i){g[0]=r,g[1]=i.id;var n=JSON.stringify(g);t[n](),t[n]=void 0;for(var o=i.propertyNames,a=o.length,s=0;a>s;s++){var l=o[s];h(t,r,i,l)}}function p(e){var r,i,n,l,u,c,h=e._collections,p=h.length,f=e._collectionsCopy,v=f.length,y=e._composite,g=new a,w=e._eventHash;for(r=0;v>r;r++)for(u=f[r],u.collectionChanged.removeEventListener(_.prototype._onCollectionChanged,e),n=u.getObjects(),c=u.id,l=n.length-1;l>-1;l--)i=n[l],m(e,w,c,i); -for(r=p-1;r>=0;r--)for(u=h[r],u.collectionChanged.addEventListener(_.prototype._onCollectionChanged,e),n=u.getObjects(),c=u.id,l=n.length-1;l>-1;l--){i=n[l],d(e,w,c,i);var C=g.getById(i.id);t(C)||(C=y.getById(i.id),t(C)?s(C):C=new o(i.id),g.add(C)),C.merge(i)}e._collectionsCopy=h.slice(0),y.suspendEvents(),y.removeAll();var x=g.getObjects();for(r=0;rr)throw new i("index must be greater than or equal to zero.");if(r>this._collections.length)throw new i("index must be less than or equal to the number of collections.");this._collections.splice(r,0,e)}else r=this._collections.length,this._collections.push(e);p(this)},_.prototype.removeCollection=function(e){var t=this._collections.indexOf(e);return-1!==t?(this._collections.splice(t,1),p(this),!0):!1},_.prototype.removeAllCollections=function(){this._collections.length=[],p(this)},_.prototype.containsCollection=function(e){return-1!==this._collections.indexOf(e)},_.prototype.indexOfCollection=function(e){return this._collections.indexOf(e)},_.prototype.getCollection=function(e){if(!t(e))throw new i("index is required.","index");return this._collections[e]},_.prototype.getCollectionsLength=function(){return this._collections.length},_.prototype.raiseCollection=function(e){var t=f(this._collections,e);v(this,t,t+1)},_.prototype.lowerCollection=function(e){var t=f(this._collections,e);v(this,t,t-1)},_.prototype.raiseCollectionToTop=function(e){var t=f(this._collections,e);t!==this._collections.length-1&&(this._collections.splice(t,1),this._collections.push(e),p(this))},_.prototype.lowerCollectionToBottom=function(e){var t=f(this._collections,e);0!==t&&(this._collections.splice(t,1),this._collections.splice(0,0,e),p(this))},_.prototype.suspendEvents=function(){this._composite.suspendEvents()},_.prototype.resumeEvents=function(){this._composite.resumeEvents()},_.prototype.computeAvailability=function(){return this._composite.computeAvailability()},_.prototype.getById=function(e){return this._composite.getById(e)},_.prototype.getObjects=function(){return this._composite.getObjects()},_.prototype._onCollectionChanged=function(e,r,i){var n=this._collectionsCopy,a=n.length,l=this._composite;l.suspendEvents();var u,c,h,p,f=i.length,v=this._eventHash,y=e.id;for(u=0;f>u;u++){var g=i[u];m(this,v,y,g);var _=g.id;for(c=a-1;c>=0;c--)h=n[c].getById(_),t(h)&&(t(p)||(p=l.getById(_),s(p)),p.merge(h));t(p)||l.removeById(_)}var w=r.length;for(u=0;w>u;u++){var C=r[u];d(this,v,y,C);var x=C.id;for(c=a-1;c>=0;c--)h=n[c].getById(x),t(h)&&(t(p)||(p=l.getById(x),t(p)?s(p):(p=new o(x),l.add(p))),p.merge(h))}l.resumeEvents()},_}),r("DynamicScene/CompositeMaterialProperty",["../Core/defined","../Core/defineProperties","../Core/DeveloperError","../Core/TimeIntervalCollection","./Property"],function(e,t,r,i,n){"use strict";var o=function(){this._intervals=new i};return t(o.prototype,{intervals:{get:function(){return this._intervals}}}),o.prototype.getType=function(t){if(!e(t))throw new r("time is required");var i=this._intervals.findDataForIntervalContainingDate(t);return e(i)?i.getType(t):void 0},o.prototype.getValue=function(t,i){if(!e(t))throw new r("time is required");var n=this._intervals.findDataForIntervalContainingDate(t);return e(n)?n.getValue(t,i):void 0},o.prototype.equals=function(e){return this===e||e instanceof o&&this._intervals.equals(e._intervals,n.equals)},o}),r("DynamicScene/CompositePositionProperty",["../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/DeveloperError","../Core/TimeIntervalCollection","../Core/ReferenceFrame","./Property"],function(e,t,r,i,n,o,a){"use strict";var s=function(t){this._intervals=new n,this._referenceFrame=e(t,o.FIXED)};return r(s.prototype,{intervals:{get:function(){return this._intervals}},referenceFrame:{get:function(){return this._referenceFrame},set:function(e){this._referenceFrame=e}}}),s.prototype.getValue=function(e,t){return this.getValueInReferenceFrame(e,o.FIXED,t)},s.prototype.getValueInReferenceFrame=function(e,r,n){if(!t(e))throw new i("time is required.");if(!t(r))throw new i("referenceFrame is required.");var o=this._intervals.findDataForIntervalContainingDate(e);return t(o)?o.getValueInReferenceFrame(e,r,n):void 0},s.prototype.equals=function(e){return this===e||e instanceof s&&this._referenceFrame===e._referenceFrame&&this._intervals.equals(e._intervals,a.equals)},s}),r("DynamicScene/CompositeProperty",["../Core/defined","../Core/defineProperties","../Core/DeveloperError","../Core/TimeIntervalCollection","./Property"],function(e,t,r,i,n){"use strict";var o=function(){this._intervals=new i};return t(o.prototype,{intervals:{get:function(){return this._intervals}}}),o.prototype.getValue=function(t,i){if(!e(t))throw new r("time is required");var n=this._intervals.findDataForIntervalContainingDate(t);return e(n)?n.getValue(t,i):void 0},o.prototype.equals=function(e){return this===e||e instanceof o&&this._intervals.equals(e._intervals,n.equals)},o}),r("DynamicScene/PositionProperty",["../Core/Cartesian3","../Core/defined","../Core/defineProperties","../Core/DeveloperError","../Core/Matrix3","../Core/ReferenceFrame","../Core/Transforms"],function(e,t,r,i,n,o,a){"use strict";function s(){throw new i("This type should not be instantiated directly.")}var l=s;r(l.prototype,{referenceFrame:{get:s}}),l.prototype.getValue=s,l.prototype.getValueInReferenceFrame=s,l.prototype.equals=s;var u=new n;return l.convertToReferenceFrame=function(r,i,s,l,c){if(s===l)return e.clone(i,c);var h=a.computeIcrfToFixedMatrix(r,u);return t(h)||(h=a.computeTemeToPseudoFixedMatrix(r,u)),s===o.INERTIAL?n.multiplyByVector(h,i,c):s===o.FIXED?n.multiplyByVector(n.transpose(h,u),i,c):void 0},l}),r("DynamicScene/ConstantPositionProperty",["./ConstantProperty","./PositionProperty","../Core/Cartesian3","../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/DeveloperError","../Core/ReferenceFrame","./Property"],function(e,t,r,i,n,o,a,s,l){"use strict";var u=function(t,r){this._property=new e(t),this._referenceFrame=i(r,s.FIXED)};return o(u.prototype,{referenceFrame:{get:function(){return this._referenceFrame}}}),u.prototype.getValue=function(e,t){return this.getValueInReferenceFrame(e,s.FIXED,t)},u.prototype.getValueInReferenceFrame=function(e,r,i){if(!n(e))throw new a("time is required.");if(!n(r))throw new a("referenceFrame is required.");var o=this._property.getValue(e,i);return t.convertToReferenceFrame(e,o,this._referenceFrame,r,o)},u.prototype.equals=function(e){return this===e||e instanceof u&&l.equals(this._property,e._property)&&this._referenceFrame===e._referenceFrame},u}),r("Scene/HorizontalOrigin",["../Core/Enumeration"],function(e){"use strict";var t={CENTER:new e(0,"CENTER"),LEFT:new e(1,"LEFT"),RIGHT:new e(-1,"RIGHT")};return t}),r("Scene/LabelStyle",["../Core/Enumeration"],function(e){"use strict";var t={FILL:new e(0,"FILL"),OUTLINE:new e(1,"OUTLINE"),FILL_AND_OUTLINE:new e(2,"FILL_AND_OUTLINE")};return t}),r("Scene/VerticalOrigin",["../Core/Enumeration"],function(e){"use strict";var t={CENTER:new e(0,"CENTER"),BOTTOM:new e(1,"BOTTOM"),TOP:new e(-1,"TOP")};return t}),r("DynamicScene/DynamicBillboard",["../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/DeveloperError","../Core/Event","./createDynamicPropertyDescriptor"],function(e,t,r,i,n,o){"use strict";var a=function(){this._image=void 0,this._width=void 0,this._height=void 0,this._scale=void 0,this._rotation=void 0,this._alignedAxis=void 0,this._horizontalOrigin=void 0,this._verticalOrigin=void 0,this._color=void 0,this._eyeOffset=void 0,this._pixelOffset=void 0,this._show=void 0,this._scaleByDistance=void 0,this._translucencyByDistance=void 0,this._pixelOffsetScaleByDistance=void 0,this._propertyChanged=new n};return r(a.prototype,{propertyChanged:{get:function(){return this._propertyChanged}},image:o("image","_image"),scale:o("scale","_scale"),rotation:o("rotation","_rotation"),alignedAxis:o("alignedAxis","_alignedAxis"),horizontalOrigin:o("horizontalOrigin","_horizontalOrigin"),verticalOrigin:o("verticalOrigin","_verticalOrigin"),color:o("color","_color"),eyeOffset:o("eyeOffset","_eyeOffset"),pixelOffset:o("pixelOffset","_pixelOffset"),show:o("show","_show"),width:o("width","_width"),height:o("height","_height"),scaleByDistance:o("scaleByDistance","_scaleByDistance"),translucencyByDistance:o("translucencyByDistance","_translucencyByDistance"),pixelOffsetScaleByDistance:o("pixelOffsetScaleByDistance","_pixelOffsetScaleByDistance")}),a.prototype.clone=function(e){return t(e)||(e=new a),e.color=this._color,e.eyeOffset=this._eyeOffset,e.horizontalOrigin=this._horizontalOrigin,e.image=this._image,e.pixelOffset=this._pixelOffset,e.scale=this._scale,e.rotation=this._rotation,e.alignedAxis=this._alignedAxis,e.show=this._show,e.verticalOrigin=this._verticalOrigin,e.width=this._width,e.height=this._height,e.scaleByDistance=this._scaleByDistance,e.translucencyByDistance=this._translucencyByDistance,e.pixelOffsetScaleByDistance=this._pixelOffsetScaleByDistance,e},a.prototype.merge=function(r){if(!t(r))throw new i("source is required.");this.color=e(this._color,r._color),this.eyeOffset=e(this._eyeOffset,r._eyeOffset),this.horizontalOrigin=e(this._horizontalOrigin,r._horizontalOrigin),this.image=e(this._image,r._image),this.pixelOffset=e(this._pixelOffset,r._pixelOffset),this.scale=e(this._scale,r._scale),this.rotation=e(this._rotation,r._rotation),this.alignedAxis=e(this._alignedAxis,r._alignedAxis),this.show=e(this._show,r._show),this.verticalOrigin=e(this._verticalOrigin,r._verticalOrigin),this.width=e(this._width,r._width),this.height=e(this._height,r._height),this.scaleByDistance=e(this._scaleByDistance,r._scaleByDistance),this.translucencyByDistance=e(this._translucencyByDistance,r._translucencyByDistance),this.pixelOffsetScaleByDistance=e(this._pixelOffsetScaleByDistance,r._pixelOffsetScaleByDistance)},a}),r("DynamicScene/DynamicClock",["../Core/Clock","../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/DeveloperError","../Core/Event","./createDynamicPropertyDescriptor"],function(e,t,r,i,n,o,a){"use strict";var s=function(){this._startTime=void 0,this._stopTime=void 0,this._currentTime=void 0,this._clockRange=void 0,this._clockStep=void 0,this._multiplier=void 0,this._propertyChanged=new o};return i(s.prototype,{propertyChanged:{get:function(){return this._propertyChanged}},startTime:a("startTime","_startTime"),stopTime:a("stopTime","_stopTime"),currentTime:a("currentTime","_currentTime"),clockRange:a("clockRange","_clockRange"),clockStep:a("clockStep","_clockStep"),multiplier:a("multiplier","_multiplier")}),s.prototype.clone=function(e){return r(e)||(e=new s),e.startTime=this.startTime,e.stopTime=this.stopTime,e.currentTime=this.currentTime,e.clockRange=this.clockRange,e.clockStep=this.clockStep,e.multiplier=this.multiplier,e},s.prototype.merge=function(e){if(!r(e))throw new n("source is required.");this.startTime=t(this.startTime,e.startTime),this.stopTime=t(this.stopTime,e.stopTime),this.currentTime=t(this.currentTime,e.currentTime),this.clockRange=t(this.clockRange,e.clockRange),this.clockStep=t(this.clockStep,e.clockStep),this.multiplier=t(this.multiplier,e.multiplier)},s.prototype.getValue=function(t){return r(t)||(t=new e),t.startTime=this.startTime,t.stopTime=this.stopTime,t.clockRange=this.clockRange,t.clockStep=this.clockStep,t.multiplier=this.multiplier,t.currentTime=this.currentTime,t},s}),r("DynamicScene/PolylineOutlineMaterialProperty",["../Core/Color","../Core/defined","./ConstantProperty","./Property"],function(e,t,r,i){"use strict";var n=function(){this.color=new r(e.WHITE),this.outlineColor=new r(e.BLACK),this.outlineWidth=new r(0)};return n.prototype.getType=function(){return"PolylineOutline"},n.prototype.getValue=function(e,r){return t(r)||(r={}),r.color=t(this.color)?this.color.getValue(e,r.color):void 0,r.outlineColor=t(this.outlineColor)?this.outlineColor.getValue(e,r.outlineColor):void 0,r.outlineWidth=t(this.outlineWidth)?this.outlineWidth.getValue(e):void 0,r},n.prototype.equals=function(e){return this===e||e instanceof n&&i.equals(this.color,e.color)&&i.equals(this.outlineColor,e.outlineColor)&&i.equals(this.outlineWidth,e.outlineWidth)},n}),r("DynamicScene/DynamicCone",["../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/DeveloperError","../Core/Event","./createDynamicPropertyDescriptor"],function(e,t,r,i,n,o){"use strict";var a=function(){this._minimumClockAngle=void 0,this._maximumClockAngle=void 0,this._innerHalfAngle=void 0,this._outerHalfAngle=void 0,this._capMaterial=void 0,this._innerMaterial=void 0,this._outerMaterial=void 0,this._silhouetteMaterial=void 0,this._intersectionColor=void 0,this._intersectionWidth=void 0,this._showIntersection=void 0,this._radius=void 0,this._show=void 0,this._propertyChanged=new n};return r(a.prototype,{propertyChanged:{get:function(){return this._propertyChanged}},minimumClockAngle:o("minimumClockAngle","_minimumClockAngle"),maximumClockAngle:o("maximumClockAngle","_maximumClockAngle"),innerHalfAngle:o("innerHalfAngle","_innerHalfAngle"),outerHalfAngle:o("outerHalfAngle","_outerHalfAngle"),capMaterial:o("capMaterial","_capMaterial"),innerMaterial:o("innerMaterial","_innerMaterial"),outerMaterial:o("outerMaterial","_outerMaterial"),silhouetteMaterial:o("silhouetteMaterial","_silhouetteMaterial"),intersectionColor:o("intersectionColor","_intersectionColor"),intersectionWidth:o("intersectionWidth","_intersectionWidth"),showIntersection:o("showIntersection","_showIntersection"),radius:o("radius","_radius"),show:o("show","_show")}),a.prototype.clone=function(e){return t(e)||(e=new a),e.show=this.show,e.innerHalfAngle=this.innerHalfAngle,e.outerHalfAngle=this.outerHalfAngle,e.minimumClockAngle=this.minimumClockAngle,e.maximumClockAngle=this.maximumClockAngle,e.radius=this.radius,e.showIntersection=this.showIntersection,e.intersectionColor=this.intersectionColor,e.intersectionWidth=this.intersectionWidth,e.capMaterial=this.capMaterial,e.innerMaterial=this.innerMaterial,e.outerMaterial=this.outerMaterial,e.silhouetteMaterial=this.silhouetteMaterial,e},a.prototype.merge=function(r){if(!t(r))throw new i("source is required.");this.show=e(this.show,r.show),this.innerHalfAngle=e(this.innerHalfAngle,r.innerHalfAngle),this.outerHalfAngle=e(this.outerHalfAngle,r.outerHalfAngle),this.minimumClockAngle=e(this.minimumClockAngle,r.minimumClockAngle),this.maximumClockAngle=e(this.maximumClockAngle,r.maximumClockAngle),this.radius=e(this.radius,r.radius),this.showIntersection=e(this.showIntersection,r.showIntersection),this.intersectionColor=e(this.intersectionColor,r.intersectionColor),this.intersectionWidth=e(this.intersectionWidth,r.intersectionWidth),this.capMaterial=e(this.capMaterial,r.capMaterial),this.innerMaterial=e(this.innerMaterial,r.innerMaterial),this.outerMaterial=e(this.outerMaterial,r.outerMaterial),this.silhouetteMaterial=e(this.silhouetteMaterial,r.silhouetteMaterial)},a}),r("DynamicScene/DynamicLabel",["../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/DeveloperError","../Core/Event","./createDynamicPropertyDescriptor"],function(e,t,r,i,n,o){"use strict";var a=function(){this._text=void 0,this._font=void 0,this._style=void 0,this._fillColor=void 0,this._outlineColor=void 0,this._outlineWidth=void 0,this._horizontalOrigin=void 0,this._verticalOrigin=void 0,this._eyeOffset=void 0,this._pixelOffset=void 0,this._scale=void 0,this._show=void 0,this._translucencyByDistance=void 0,this._pixelOffsetScaleByDistance=void 0,this._propertyChanged=new n};return r(a.prototype,{propertyChanged:{get:function(){return this._propertyChanged}},text:o("text","_text"),font:o("font","_font"),style:o("style","_style"),fillColor:o("fillColor","_fillColor"),outlineColor:o("outlineColor","_outlineColor"),outlineWidth:o("outlineWidth","_outlineWidth"),horizontalOrigin:o("horizontalOrigin","_horizontalOrigin"),verticalOrigin:o("verticalOrigin","_verticalOrigin"),eyeOffset:o("eyeOffset","_eyeOffset"),pixelOffset:o("pixelOffset","_pixelOffset"),scale:o("scale","_scale"),show:o("show","_show"),translucencyByDistance:o("translucencyByDistance","_translucencyByDistance"),pixelOffsetScaleByDistance:o("pixelOffsetScaleByDistance","_pixelOffsetScaleByDistance")}),a.prototype.clone=function(e){return t(e)||(e=new a),e.text=this.text,e.font=this.font,e.show=this.show,e.style=this.style,e.fillColor=this.fillColor,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.scale=this.scale,e.horizontalOrigin=this.horizontalOrigin,e.verticalOrigin=this.verticalOrigin,e.eyeOffset=this.eyeOffset,e.pixelOffset=this.pixelOffset,e.translucencyByDistance=this._translucencyByDistance,e.pixelOffsetScaleByDistance=this._pixelOffsetScaleByDistance,e},a.prototype.merge=function(r){if(!t(r))throw new i("source is required.");this.text=e(this.text,r.text),this.font=e(this.font,r.font),this.show=e(this.show,r.show),this.style=e(this.style,r.style),this.fillColor=e(this.fillColor,r.fillColor),this.outlineColor=e(this.outlineColor,r.outlineColor),this.outlineWidth=e(this.outlineWidth,r.outlineWidth),this.scale=e(this.scale,r.scale),this.horizontalOrigin=e(this.horizontalOrigin,r.horizontalOrigin),this.verticalOrigin=e(this.verticalOrigin,r.verticalOrigin),this.eyeOffset=e(this.eyeOffset,r.eyeOffset),this.pixelOffset=e(this.pixelOffset,r.pixelOffset),this.translucencyByDistance=e(this._translucencyByDistance,r._translucencyByDistance),this.pixelOffsetScaleByDistance=e(this._pixelOffsetScaleByDistance,r._pixelOffsetScaleByDistance)},a}),r("DynamicScene/DynamicDirectionsProperty",["../Core/defined","../Core/TimeInterval","../Core/TimeIntervalCollection","../Core/Cartesian3","../Core/Spherical","../Core/Iso8601"],function(e,t,r,i,n,o){"use strict";function a(t){var r,o,a=[],s=t.unitSpherical;if(e(s)){for(r=0,o=s.length;o>r;r+=2)a.push(new n(s[r],s[r+1]));this.spherical=a}if(s=t.unitCartesian,e(s)){for(r=0,o=s.length;o>r;r+=3)a.push(new i(s[r],s[r+1],s[r+2],!0));this.cartesian=a}}function s(r,i,n){var s=i.interval;s=e(s)?t.fromIso8601(s):o.MAXIMUM_INTERVAL.clone(),e(n)&&(s=s.intersect(n));var l=r._propertyIntervals,u=l.findInterval(s.start,s.stop);e(u)||(u=s,l.addInterval(u)),u.data=new a(i)}a.prototype.getValue=function(){var t=this.spherical;if(!e(t)){t=[],this.spherical=t;for(var r=this.cartesian,i=0,o=r.length;o>i;i++)t.push(n.fromCartesian3(r[i]))}return t};var l=function(){this._propertyIntervals=new r};return l.prototype.processCzmlIntervals=function(e,t,r){if(Array.isArray(e))for(var i=0,n=e.length;n>i;i++)s(this,e[i],t,r);else s(this,e,t,r)},l.prototype.getValue=function(t){var r=this._propertyIntervals.findIntervalContainingDate(t);return e(r)?r.data.getValue():void 0},l}),r("DynamicScene/DynamicEllipse",["../Core/Cartesian3","../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/DeveloperError","../Core/Ellipsoid","../Core/Event","../Core/Shapes","./createDynamicPropertyDescriptor"],function(e,t,r,i,n,o,a,s,l){"use strict";var u=function(){this._semiMajorAxis=void 0,this._semiMinorAxis=void 0,this._rotation=void 0,this._lastPosition=void 0,this._lastSemiMajorAxis=void 0,this._lastSemiMinorAxis=void 0,this._lastRotation=void 0,this._cachedVertexPositions=void 0,this._propertyChanged=new a};return i(u.prototype,{propertyChanged:{get:function(){return this._propertyChanged}},semiMajorAxis:l("semiMajorAxis","_semiMajorAxis"),semiMinorAxis:l("semiMinorAxis","_semiMinorAxis"),rotation:l("rotation","_rotation")}),u.prototype.clone=function(e){return r(e)||(e=new u),e.rotation=this.rotation,e.semiMajorAxis=this.semiMajorAxis,e.semiMinorAxis=this.semiMinorAxis,e},u.prototype.merge=function(e){if(!r(e))throw new n("source is required.");this.rotation=t(this.rotation,e.rotation),this.semiMajorAxis=t(this.semiMajorAxis,e.semiMajorAxis),this.semiMinorAxis=t(this.semiMinorAxis,e.semiMinorAxis)},u.prototype.getValue=function(t,i){var n=this._semiMajorAxis,a=this._semiMinorAxis;if(!r(i)||!r(n)||!r(a))return void 0;var l=n.getValue(t),u=a.getValue(t),c=0,h=this._rotation;if(r(h)&&(c=h.getValue(t)),!r(l)||!r(u)||0===l||0===u)return void 0;var d=this._lastPosition,m=this._lastSemiMajorAxis,p=this._lastSemiMinorAxis,f=this._lastRotation;return c===f&&m===l&&p===u&&e.equals(d,i)||(this._cachedVertexPositions=s.computeEllipseBoundary(o.WGS84,i,l,u,c),this._lastPosition=e.clone(i,this._lastPosition),this._lastRotation=c,this._lastSemiMajorAxis=l,this._lastSemiMinorAxis=u),this._cachedVertexPositions},u}),r("DynamicScene/DynamicEllipsoid",["../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/DeveloperError","../Core/Event","./createDynamicPropertyDescriptor"],function(e,t,r,i,n,o){"use strict";var a=function(){this._show=void 0,this._radii=void 0,this._material=void 0,this._propertyChanged=new n};return r(a.prototype,{propertyChanged:{get:function(){return this._propertyChanged}},show:o("show","_show"),radii:o("radii","_radii"),material:o("material","_material")}),a.prototype.clone=function(e){return t(e)||(e=new a),e.show=this.show,e.radii=this.radii,e.material=this.material,e},a.prototype.merge=function(r){if(!t(r))throw new i("source is required.");this.show=e(this.show,r.show),this.radii=e(this.radii,r.radii),this.material=e(this.material,r.material)},a}),r("DynamicScene/GridMaterialProperty",["../Core/Cartesian2","../Core/Color","../Core/defined","./ConstantProperty","./Property"],function(e,t,r,i,n){"use strict";var o=function(){this.color=new i(t.WHITE),this.cellAlpha=new i(.1),this.lineCount=new i(new e(8,8)),this.lineThickness=new i(new e(1,1))};return o.prototype.getType=function(){return"Grid"},o.prototype.getValue=function(e,t){return r(t)||(t={}),t.color=r(this.color)?this.color.getValue(e,t.color):void 0,t.cellAlpha=r(this.cellAlpha)?this.cellAlpha.getValue(e):void 0,t.lineCount=r(this.lineCount)?this.lineCount.getValue(e,t.lineCount):void 0,t.lineThickness=r(this.lineThickness)?this.lineThickness.getValue(e,t.lineThickness):void 0,t},o.prototype.equals=function(e){return this===e||e instanceof o&&n.equals(this.color,e.color)&&n.equals(this.cellAlpha,e.cellAlpha)&&n.equals(this.lineCount,e.lineCount)&&n.equals(this.lineThickness,e.lineThickness)},o}),r("DynamicScene/ImageMaterialProperty",["../Core/Cartesian2","../Core/defined","./ConstantProperty","./Property"],function(e,t,r,i){"use strict";var n=function(){this.image=void 0,this.repeat=new r(new e(1,1))};return n.prototype.getType=function(){return"Image"},n.prototype.getValue=function(e,r){return t(r)||(r={}),r.image=t(this.image)?this.image.getValue(e):void 0,r.repeat=t(this.repeat)?this.repeat.getValue(e,r.repeat):void 0,r},n.prototype.equals=function(e){return this===e||e instanceof n&&i.equals(this.image,e.image)&&i.equals(this.repeat,e.repeat)},n}),r("DynamicScene/DynamicPath",["../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/DeveloperError","../Core/Event","./createDynamicPropertyDescriptor"],function(e,t,r,i,n,o){"use strict";var a=function(){this._color=void 0,this._outlineColor=void 0,this._outlineWidth=void 0,this._show=void 0,this._width=void 0,this._resolution=void 0,this._leadTime=void 0,this._trailTime=void 0,this._propertyChanged=new n};return r(a.prototype,{propertyChanged:{get:function(){return this._propertyChanged}},color:o("color","_color"),outlineColor:o("outlineColor","_outlineColor"),outlineWidth:o("outlineWidth","_outlineWidth"),show:o("show","_show"),width:o("width","_width"),resolution:o("resolution","_resolution"),leadTime:o("leadTime","_leadTime"),trailTime:o("trailTime","_trailTime")}),a.prototype.clone=function(e){return t(e)||(e=new a),e.color=this.color,e.width=this.width,e.resolution=this.resolution,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.show=this.show,e.leadTime=this.leadTime,e.trailTime=this.trailTime,e},a.prototype.merge=function(r){if(!t(r))throw new i("source is required.");this.color=e(this.color,r.color),this.width=e(this.width,r.width),this.resolution=e(this.resolution,r.resolution),this.outlineColor=e(this.outlineColor,r.outlineColor),this.outlineWidth=e(this.outlineWidth,r.outlineWidth),this.show=e(this.show,r.show),this.leadTime=e(this.leadTime,r.leadTime),this.trailTime=e(this.trailTime,r.trailTime)},a}),r("DynamicScene/DynamicPoint",["../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/DeveloperError","../Core/Event","./createDynamicPropertyDescriptor"],function(e,t,r,i,n,o){"use strict";var a=function(){this._color=void 0,this._pixelSize=void 0,this._outlineColor=void 0,this._outlineWidth=void 0,this._show=void 0,this._scaleByDistance=void 0,this._propertyChanged=new n};return r(a.prototype,{propertyChanged:{get:function(){return this._propertyChanged}},color:o("color","_color"),pixelSize:o("pixelSize","_pixelSize"),outlineColor:o("outlineColor","_outlineColor"),outlineWidth:o("outlineWidth","_outlineWidth"),show:o("show","_show"),scaleByDistance:o("scaleByDistance","_scaleByDistance")}),a.prototype.clone=function(e){return t(e)||(e=new a),e.color=this.color,e.pixelSize=this.pixelSize,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.show=this.show,e.scaleByDistance=this.scaleByDistance,e},a.prototype.merge=function(r){if(!t(r))throw new i("source is required.");this.color=e(this.color,r.color),this.pixelSize=e(this.pixelSize,r.pixelSize),this.outlineColor=e(this.outlineColor,r.outlineColor),this.outlineWidth=e(this.outlineWidth,r.outlineWidth),this.show=e(this.show,r.show),this.scaleByDistance=e(this.scaleByDistance,r.scaleByDistance)},a}),r("DynamicScene/DynamicPolyline",["../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/DeveloperError","../Core/Event","./createDynamicPropertyDescriptor"],function(e,t,r,i,n,o){"use strict";var a=function(){this._show=void 0,this._material=void 0,this._width=void 0,this._propertyChanged=new n};return r(a.prototype,{propertyChanged:{get:function(){return this._propertyChanged}},show:o("show","_show"),material:o("material","_material"),width:o("width","_width")}),a.prototype.clone=function(e){return t(e)||(e=new a),e.show=this.show,e.material=this.material,e.width=this.width,e},a.prototype.merge=function(r){if(!t(r))throw new i("source is required.");this.show=e(this.show,r.show),this.material=e(this.material,r.material),this.width=e(this.width,r.width)},a}),r("DynamicScene/DynamicPolygon",["../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/DeveloperError","../Core/Event","./createDynamicPropertyDescriptor"],function(e,t,r,i,n,o){"use strict";var a=function(){this._show=void 0,this._material=void 0,this._propertyChanged=new n};return r(a.prototype,{propertyChanged:{get:function(){return this._propertyChanged}},show:o("show","_show"),material:o("material","_material")}),a.prototype.clone=function(e){return t(e)||(e=new a),e.show=this.show,e.material=this.material,e},a.prototype.merge=function(r){if(!t(r))throw new i("source is required.");this.show=e(this.show,r.show),this.material=e(this.material,r.material)},a}),r("DynamicScene/DynamicPyramid",["../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/DeveloperError","../Core/Event","./createDynamicPropertyDescriptor"],function(e,t,r,i,n,o){"use strict";var a=function(){this._show=void 0,this._directions=void 0,this._radius=void 0,this._showIntersection=void 0,this._intersectionColor=void 0,this._intersectionWidth=void 0,this._material=void 0,this._propertyChanged=new n};return r(a.prototype,{propertyChanged:{get:function(){return this._propertyChanged}},show:o("show","_show"),directions:o("directions","_directions"),radius:o("radius","_radius"),showIntersection:o("showIntersection","_showIntersection"),intersectionColor:o("intersectionColor","_intersectionColor"),intersectionWidth:o("intersectionWidth","_intersectionWidth"),material:o("material","_material")}),a.prototype.clone=function(e){return t(e)||(e=new a),e.show=this.show,e.directions=this.directions,e.radius=this.radius,e.showIntersection=this.showIntersection,e.intersectionColor=this.intersectionColor,e.intersectionWidth=this.intersectionWidth,e.material=this.material,e},a.prototype.merge=function(r){if(!t(r))throw new i("source is required.");this.show=e(this.show,r.show),this.directions=e(this.directions,r.directions),this.radius=e(this.radius,r.radius),this.showIntersection=e(this.showIntersection,r.showIntersection),this.intersectionColor=e(this.intersectionColor,r.intersectionColor),this.intersectionWidth=e(this.intersectionWidth,r.intersectionWidth),this.material=e(this.material,r.material)},a}),r("DynamicScene/DynamicVector",["../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/DeveloperError","../Core/Event","./createDynamicPropertyDescriptor"],function(e,t,r,i,n,o){"use strict";var a=function(){this._color=void 0,this._show=void 0,this._width=void 0,this._direction=void 0,this._length=void 0,this._propertyChanged=new n};return r(a.prototype,{propertyChanged:{get:function(){return this._propertyChanged}},color:o("color","_color"),show:o("show","_show"),width:o("width","_width"),direction:o("direction","_direction"),length:o("length","_length")}),a.prototype.clone=function(e){return t(e)||(e=new a),e.color=this.color,e.width=this.width,e.direction=this.direction,e.length=this.length,e.show=this.show,e},a.prototype.merge=function(r){if(!t(r))throw new i("source is required.");this.color=e(this.color,r.color),this.width=e(this.width,r.width),this.direction=e(this.direction,r.direction),this.length=e(this.length,r.length),this.show=e(this.show,r.show)},a}),r("DynamicScene/ReferenceProperty",["../Core/defaultValue","../Core/defined","../Core/DeveloperError"],function(e,t,r){"use strict";function i(e){var r=e._targetProperty;if(!t(r)){var i=e._dynamicObjectCollection,n=i.getById(e._targetObjectId);t(n)&&(r=n[e._targetPropertyName],e._targetProperty=r,e._targetObject=n)}return r}var n=function(e,i,n){if(!t(e))throw new r("dynamicObjectCollection is required.");if(!t(i))throw new r("targetObjectId is required.");if(!t(n))throw new r("targetPropertyName is required.");this._targetProperty=void 0,this._dynamicObjectCollection=e,this._targetObjectId=i,this._targetObject=void 0,this._targetPropertyName=n};return n.fromString=function(e,i){if(!t(e))throw new r("dynamicObjectCollection is required.");if(!t(i))throw new r("referenceString is required.");var o=i.split(".");if(2!==o.length)throw new r("referenceString must contain a single . delineating the target object ID and property name.");return new n(e,o[0],o[1])},n.prototype.getValue=function(e,n){if(!t(e))throw new r("time is required.");var o=i(this);return t(o)&&this._targetObject.isAvailable(e)?o.getValue(e,n):void 0},n.prototype.equals=function(e){return this===e||this._dynamicObjectCollection===e._dynamicObjectCollection&&this._targetObjectId===e._targetObjectId&&this._targetPropertyName===e._targetPropertyName},n}),r("DynamicScene/DynamicVertexPositionsProperty",["../Core/defined","../Core/TimeInterval","../Core/TimeIntervalCollection","../Core/Cartesian3","../Core/Cartographic","../Core/Iso8601","../Core/Ellipsoid","./ReferenceProperty"],function(e,t,r,i,n,o,a,s){"use strict";function l(t){var r,o,a,s=[];if(a=t.cartesian,e(a)){for(r=0,o=a.length;o>r;r+=3)s.push(new i(a[r],a[r+1],a[r+2])); -this.cartesian=s}else if(a=t.cartographicRadians,e(a)){for(r=0,o=a.length;o>r;r+=3)s.push(new n(a[r],a[r+1],a[r+2]));this.cartographic=s}else if(a=t.cartographicDegrees,e(a)){for(r=0,o=a.length;o>r;r+=3)s.push(n.fromDegrees(a[r],a[r+1],a[r+2]));this.cartographic=s}}var u=a.WGS84;l.prototype.getValue=function(){return e(this.cartesian)||(this.cartesian=u.cartographicArrayToCartesianArray(this.cartographic)),this.cartesian};var c=function(){this._propertyIntervals=new r};return c.prototype.processCzmlIntervals=function(e,t,r){if(Array.isArray(e))for(var i=0,n=e.length;n>i;i++)this._addCzmlInterval(e[i],t,r);else this._addCzmlInterval(e,t,r)},c.prototype.getValue=function(t){var r=this._propertyIntervals.findIntervalContainingDate(t);if(!e(r))return void 0;var i=r.data;if(Array.isArray(i)){for(var n=[],o=0,a=i.length;a>o;o++){var s=i[o].getValue(t);e(s)&&n.push(s)}return n}return i.getValue()},c.prototype._addCzmlInterval=function(r,i,n){var a=r.interval;a=e(a)?t.fromIso8601(a):o.MAXIMUM_INTERVAL.clone(),e(i)&&(a=a.intersect(i));var u=this._propertyIntervals,c=u.findInterval(a.start,a.stop);e(c)||(c=a,u.addInterval(c));var h=r.references;if(e(h)){for(var d=[],m=0,p=h.length;p>m;m++)d.push(s.fromString(n,h[m]));c.data=d}else c.data=new l(r)},c}),r("DynamicScene/SampledProperty",["../Core/binarySearch","../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/DeveloperError","../Core/JulianDate","../Core/LinearApproximation"],function(e,t,r,i,n,o,a){"use strict";function s(e,t,r){var i,n=e.length,o=r.length,a=n+o;if(e.length=a,n!==t){var s=n-1;for(i=a-1;i>=t;i--)e[i]=e[s--]}for(i=0;o>i;i++)e[t++]=r[i]}function l(e,t){return e instanceof o?e:"string"==typeof e?o.fromIso8601(e):t.addSeconds(e)}var u={packedLength:1,pack:function(e,r,i){i=t(i,0),r[i]=e},unpack:function(e,r){return r=t(r,0),e[r]}},c=[],h=[],d=function(t,i,n,a,u){for(var d,m,p,f,v,y,g=0;gp){for(p=~p,f=p*u,m=void 0,y=i[p];g=0||r(y)&&o.compare(v,y)>=0));){for(c[_++]=v,g+=1,d=0;u>d;d++)h[w++]=a[g],g+=1;m=v}_>0&&(h.length=w,s(n,f,h),c.length=_,s(i,p,c))}else{for(d=0;u>d;d++)g++,n[p*u+d]=a[g];g++}}},m=function(e){if(!r(e))throw new n("type is required.");var i=e;i===Number&&(i=u);var o=t(i.packedInterpolationLength,i.packedLength);this._type=e,this._innerType=i,this._interpolationDegree=1,this._interpolationAlgorithm=a,this._numberOfPoints=0,this._times=[],this._values=[],this._xTable=[],this._yTable=[],this._packedInterpolationLength=o,this._updateTableLength=!0,this._interpolationResult=new Array(o)};return i(m.prototype,{type:{get:function(){return this._type}},interpolationDegree:{get:function(){return this._interpolationDegree},set:function(e){this._interpolationDegree=e,this._updateTableLength=!0}},interpolationAlgorithm:{get:function(){return this._interpolationAlgorithm},set:function(e){this._interpolationAlgorithm=e,this._updateTableLength=!0}}}),m.prototype.getValue=function(t,i){if(!r(t))throw new n("time is required.");var a=this._innerType,s=this._times,l=this._values,u=e(s,t,o.compare);if(0>u){var c=this._xTable,h=this._yTable,d=this._interpolationAlgorithm,m=this._packedInterpolationLength;if(this._updateTableLength){this._updateTableLength=!1;var p=Math.min(d.getRequiredDataPoints(this._interpolationDegree),s.length);p!==this._numberOfPoints&&(this._numberOfPoints=p,c.length=p,h.length=p*m)}var f=this._numberOfPoints-1;if(1>f)return void 0;u=~u,u>=s.length&&(u=s.length-1);var v=0,y=s.length-1,g=y-v+1;if(f+1>g);else{var _=u-(0|f/2)-1;v>_&&(_=v);var w=_+f;w>y&&(w=y,_=w-f,v>_&&(_=v)),v=_,y=w}for(var C=y-v+1,x=0;C>x;++x)c[x]=s[y].getSecondsDifference(s[v+x]);if(r(a.convertPackedArrayForInterpolation))a.convertPackedArrayForInterpolation(l,v,y,h);else for(var S=0,E=a.packedLength,b=v*E,T=(y+1)*E;T>b;)h[S]=l[b],b++,S++;var A=s[y].getSecondsDifference(t),D=d.interpolateOrderZero(A,c,h,m,this._interpolationResult);return r(a.unpackInterpolationResult)?a.unpackInterpolationResult(D,l,v,y,i):a.unpack(D,0,i)}return a.unpack(this._values,u*a.packedLength,i)},m.prototype.addSample=function(e,t){if(!r(e))throw new n("time is required.");if(!r(t))throw new n("value is required.");var i=this._innerType,o=[e];i.pack(t,o,1),d(void 0,this._times,this._values,o,i.packedLength),this._updateTableLength=!0},m.prototype.addSamples=function(e,t){if(!r(e))throw new n("times is required.");if(!r(t))throw new n("values is required.");if(e.length!==t.length)throw new n("times and values must be the same length.");for(var i=this._innerType,o=e.length,a=[],s=0;o>s;s++)a.push(e[s]),i.pack(t[s],a,a.length);d(void 0,this._times,this._values,a,i.packedLength),this._updateTableLength=!0},m.prototype.addSamplesPackedArray=function(e,t){if(!r(e))throw new n("packedSamples is required.");d(t,this._times,this._values,e,this._innerType.packedLength),this._updateTableLength=!0},m.prototype.equals=function(e){if(this===e)return!0;if(!r(e))return!1;var t=this._times,i=e._times,n=t.length;if(n!==i.length)return!1;var a;for(a=0;n>a;a++)if(!o.equals(t[a],i[a]))return!1;var s=this._values,l=e._values;for(a=0;n>a;a++)if(s[a]!==l[a])return!1;return this._type===e._type&&this._interpolationDegree===e._interpolationDegree&&this._interpolationAlgorithm===e._interpolationAlgorithm},m._mergeNewSamples=d,m}),r("DynamicScene/SampledPositionProperty",["../Core/Cartesian3","../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/DeveloperError","../Core/ReferenceFrame","./PositionProperty","./Property","./SampledProperty"],function(e,t,r,i,n,o,a,s,l){"use strict";var u=function(r){this._property=new l(e),this._referenceFrame=t(r,o.FIXED)};return i(u.prototype,{referenceFrame:{get:function(){return this._referenceFrame}},interpolationDegree:{get:function(){return this._property.interpolationDegree},set:function(e){this._property.interpolationDegree=e}},interpolationAlgorithm:{get:function(){return this._property.interpolationAlgorithm},set:function(e){this._property.interpolationAlgorithm=e}}}),u.prototype.getValue=function(e,t){return this.getValueInReferenceFrame(e,o.FIXED,t)},u.prototype.getValueInReferenceFrame=function(e,t,i){if(!r(e))throw new n("time is required.");if(!r(t))throw new n("referenceFrame is required.");return i=this._property.getValue(e,i),r(i)?a.convertToReferenceFrame(e,i,this._referenceFrame,t,i):i},u.prototype.addSample=function(e,t){this._property.addSample(e,t)},u.prototype.addSamples=function(e,t){this._property.addSamples(e,t)},u.prototype.addSamplesPackedArray=function(e,t){this._property.addSamplesPackedArray(e,t)},u.prototype.equals=function(e){return this===e||s.equals(this._property,e._property)&&this._referenceFrame===e._referenceFrame},u}),r("DynamicScene/TimeIntervalCollectionPositionProperty",["../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/DeveloperError","../Core/ReferenceFrame","../Core/TimeIntervalCollection","./PositionProperty","./Property"],function(e,t,r,i,n,o,a,s){"use strict";var l=function(t){this._intervals=new o,this._referenceFrame=e(t,n.FIXED)};return r(l.prototype,{intervals:{get:function(){return this._intervals}},referenceFrame:{get:function(){return this._referenceFrame}}}),l.prototype.getValue=function(e,t){return this.getValueInReferenceFrame(e,n.FIXED,t)},l.prototype.getValueInReferenceFrame=function(e,r,n){if(!t(e))throw new i("time is required.");if(!t(r))throw new i("referenceFrame is required.");var o=this._intervals.findDataForIntervalContainingDate(e);return t(o)?a.convertToReferenceFrame(e,o,this._referenceFrame,r,n):void 0},l.prototype.equals=function(e){return this===e||e instanceof l&&this._intervals.equals(e._intervals,s.equals)&&this._referenceFrame===e._referenceFrame},l}),r("DynamicScene/TimeIntervalCollectionProperty",["../Core/defined","../Core/defineProperties","../Core/DeveloperError","../Core/Enumeration","../Core/TimeIntervalCollection","./Property"],function(e,t,r,i,n,o){"use strict";var a=function(){this._intervals=new n};return t(a.prototype,{intervals:{get:function(){return this._intervals}}}),a.prototype.getValue=function(t,n){if(!e(t))throw new r("time is required");var o=this._intervals.findDataForIntervalContainingDate(t);return!e(o)||"object"!=typeof o||Array.isArray(o)||o instanceof i?o:o.clone(n)},a.prototype.equals=function(e){return this===e||e instanceof a&&this._intervals.equals(e._intervals,o.equals)},a}),r("DynamicScene/CzmlDataSource",["../Core/Cartesian2","../Core/Cartesian3","../Core/Cartographic","../Core/Color","../Core/ClockRange","../Core/ClockStep","../Core/createGuid","../Core/defaultValue","../Core/defined","../Core/DeveloperError","../Core/Ellipsoid","../Core/Event","../Core/getFilenameFromUri","../Core/HermitePolynomialApproximation","../Core/Iso8601","../Core/JulianDate","../Core/LagrangePolynomialApproximation","../Core/LinearApproximation","../Core/loadJson","../Core/Math","../Core/Quaternion","../Core/ReferenceFrame","../Core/RuntimeError","../Core/Spherical","../Core/TimeInterval","../Core/TimeIntervalCollection","../Scene/HorizontalOrigin","../Scene/LabelStyle","../Scene/VerticalOrigin","./CompositeMaterialProperty","./CompositePositionProperty","./CompositeProperty","./ConstantPositionProperty","./ConstantProperty","./DynamicBillboard","./DynamicClock","./ColorMaterialProperty","./PolylineOutlineMaterialProperty","./DynamicCone","./DynamicLabel","./DynamicDirectionsProperty","./DynamicEllipse","./DynamicEllipsoid","./GridMaterialProperty","./ImageMaterialProperty","./DynamicObject","./DynamicObjectCollection","./DynamicPath","./DynamicPoint","./DynamicPolyline","./DynamicPolygon","./DynamicPyramid","./DynamicVector","./DynamicVertexPositionsProperty","./SampledPositionProperty","./SampledProperty","./TimeIntervalCollectionPositionProperty","./TimeIntervalCollectionProperty","../ThirdParty/Uri","../ThirdParty/when"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f,v,y,g,_,w,C,x,S,E,b,T,A,D,P,M,I,O,R,L,z,N,B,F,V,k,U,W,q,G,H,j,Y,X,Z,J,K,Q,$,et,tt,rt,it,nt,ot){"use strict";function at(e){var t=e.rgbaf;if(l(t))return t;var r=e.rgba;if(!l(r))return void 0;if(r.length===i.length)return[i.byteToFloat(r[0]),i.byteToFloat(r[1]),i.byteToFloat(r[2]),i.byteToFloat(r[3])];var n=r.length;t=new Array(n);for(var o=0;n>o;o+=5)t[o]=r[o],t[o+1]=i.byteToFloat(r[o+1]),t[o+2]=i.byteToFloat(r[o+2]),t[o+3]=i.byteToFloat(r[o+3]),t[o+4]=i.byteToFloat(r[o+4]);return t}function st(e,t){var r=s(e.image,e);if(l(t)){var i=new nt(document.location.href);t=new nt(t),r=new nt(r).resolve(t.resolve(i)).toString()}return r}function lt(e){if(l(e.cartesian))return e.cartesian;if(l(e.unitCartesian))return e.unitCartesian;var r,i,n,o=e.unitSpherical;if(l(o)){if(i=o.length,2===i)Vt.clock=o[0],Vt.cone=o[1],t.fromSpherical(Vt,Ft),n=[Ft.x,Ft.y,Ft.z];else{var a=0;for(n=new Array(4*(i/3)),r=0;i>r;r+=4)n[r]=o[a++],Vt.clock=o[a++],Vt.cone=o[a++],t.fromSpherical(Vt,Ft),n[r+1]=Ft.x,n[r+2]=Ft.y,n[r+3]=Ft.z}return n}var s=e.cartographicRadians;if(l(s)){if(3===s.length)kt.longitude=s[0],kt.latitude=s[1],kt.height=s[2],c.WGS84.cartographicToCartesian(kt,Ft),n=[Ft.x,Ft.y,Ft.z];else for(i=s.length,n=new Array(i),r=0;i>r;r+=4)kt.longitude=s[r+1],kt.latitude=s[r+2],kt.height=s[r+3],c.WGS84.cartographicToCartesian(kt,Ft),n[r]=s[r],n[r+1]=Ft.x,n[r+2]=Ft.y,n[r+3]=Ft.z;return n}var u=e.cartographicDegrees;if(!l(u))throw new x(JSON.stringify(e)+" is not a valid CZML interval.");if(3===u.length)kt.longitude=_.toRadians(u[0]),kt.latitude=_.toRadians(u[1]),kt.height=u[2],c.WGS84.cartographicToCartesian(kt,Ft),n=[Ft.x,Ft.y,Ft.z];else for(i=u.length,n=new Array(i),r=0;i>r;r+=4)kt.longitude=_.toRadians(u[r+1]),kt.latitude=_.toRadians(u[r+2]),kt.height=u[r+3],c.WGS84.cartographicToCartesian(kt,Ft),n[r]=u[r],n[r+1]=Ft.x,n[r+2]=Ft.y,n[r+3]=Ft.z;return n}function ut(r,n,o){switch(r){case Boolean:return s(n["boolean"],n);case e:return n.cartesian2;case t:return lt(n);case i:return at(n);case T:return T[s(n.horizontalOrigin,n)];case Image:return st(n,o);case f:return f.fromIso8601(s(n.date,n));case A:return A[s(n.labelStyle,n)];case Number:return s(n.number,n);case String:return s(n.string,n);case Array:return n.array;case w:var a=n.unitQuaternion;if(l(a)){if(4===a.length)return[-a[0],-a[1],-a[2],a[3]];a=a.slice(0);for(var c=0;cd;if(!v&&!h)return t[r]=l(e.unpack)?new R(e.unpack(c,0)):new R(c),!0;var y=!1,g=t[r];if(v&&!h){g instanceof tt||(g=new tt(e),t[r]=g,y=!0);var _,w=i.epoch;return l(w)&&(_=f.fromIso8601(w)),g.addSamplesPackedArray(c,_),ct(i,g),y}var C;if(!v&&h)return a=a.clone(),a.data=l(e.unpack)?e.unpack(c,0):c,l(g)||(g=new it,t[r]=g,y=!0),g instanceof it?g.intervals.addInterval(a):g instanceof I?(a.data=new R(a.data),g.intervals.addInterval(a)):(C=p.MAXIMUM_INTERVAL.clone(),C.data=g,y=!0,g=new I,t[r]=g,g.intervals.addInterval(C),a.data=new R(a.data),g.intervals.addInterval(a)),y;l(g)||(y=!0,g=new I,t[r]=g),g instanceof I||(C=p.MAXIMUM_INTERVAL.clone(),C.data=g,y=!0,g=new I,t[r]=g,g.intervals.addInterval(C));var x=g.intervals;return C=x.findInterval(a.start,a.stop,a.isStartIncluded,a.isStopIncluded),l(C)&&C.data instanceof tt||(C=a.clone(),C.data=new tt(e),x.addInterval(C)),C.data.addSamplesPackedArray(c,f.fromIso8601(i.epoch)),ct(i,C.data),y}function dt(e,t,r,i,n,o){if(l(i))if(Array.isArray(i))for(var a=0,s=i.length;s>a;a++)ht(e,t,r,i[a],n,o);else ht(e,t,r,i,n,o)}function mt(e,r,i,n){var o,a=i.interval;l(a)?(o=E.fromIso8601(a),l(n)&&(o=o.intersect(n))):l(n)&&(o=n);var u=C[s(i.referenceFrame,"FIXED")],c=lt(i),h=l(o)&&!o.equals(p.MAXIMUM_INTERVAL),d=t.packedLength,m=s(c.length,1),v="string"!=typeof c&&m>d;if(!v&&!h)return e[r]=new O(t.unpack(c),u),!0;var y=!1,g=e[r];if(v&&!h){g instanceof et&&g.referenceFrame===u||(g=new et(u),e[r]=g,y=!0);var _,w=i.epoch;return l(w)&&(_=f.fromIso8601(w)),g.addSamplesPackedArray(c,_),ct(i,g),y}var x;if(!v&&h)return o=o.clone(),o.data=t.unpack(c),l(g)||(g=new rt(u),e[r]=g,y=!0),g instanceof rt&&g.referenceFrame===u?g.intervals.addInterval(o):g instanceof M?(o.data=new O(o.data,u),g.intervals.addInterval(o)):(x=p.MAXIMUM_INTERVAL.clone(),x.data=g,y=!0,g=new M(g.referenceFrame),e[r]=g,g.intervals.addInterval(x),o.data=new O(o.data,u),g.intervals.addInterval(o)),y;l(g)?g instanceof M||(x=p.MAXIMUM_INTERVAL.clone(),x.data=g,y=!0,g=new M(g.referenceFrame),e[r]=g,g.intervals.addInterval(x)):(y=!0,g=new M(u),e[r]=g);var S=g.intervals;return x=S.findInterval(o.start,o.stop,o.isStartIncluded,o.isStopIncluded),l(x)&&x.data instanceof et&&x.data.referenceFrame===u||(x=o.clone(),x.data=new et(u),S.addInterval(x)),x.data.addSamplesPackedArray(c,f.fromIso8601(i.epoch)),ct(i,x.data),y}function pt(e,t,r,i,n){if(l(r))if(Array.isArray(r))for(var o=0,a=r.length;a>o;o++)mt(e,t,r[o],i,n);else mt(e,t,r,i,n)}function ft(e,t,r){return l(t)||l(r)?(e instanceof Wt||(e=new Wt),dt(Number,e,"_x",t),dt(Number,e,"_y",r),e):e}function vt(e,t,r,n,o){var a,u=r.interval;l(u)?(a=E.fromIso8601(u),l(n)&&(a=a.intersect(n))):l(n)&&(a=n),a=s(a,p.MAXIMUM_INTERVAL);var c=!1,h=e[t];l(h)||(h=new P,e[t]=h,c=!0);var d,m=h.intervals,f=m.findInterval(a.start,a.stop);l(f)?d=f.data:(f=a.clone(),m.addInterval(f));var v;return l(r.solidColor)?(d instanceof N||(d=new N),v=r.solidColor,dt(i,d,"color",v.color)):l(r.grid)?(d instanceof q||(d=new q),v=r.grid,dt(i,d,"color",v.color,void 0,o),dt(Number,d,"cellAlpha",v.cellAlpha,void 0,o),d.lineThickness=ft(d.lineThickness,v.rowThickness,v.columnThickness),d.lineCount=ft(d.lineCount,v.rowCount,v.columnCount)):l(r.image)&&(d instanceof G||(d=new G),v=r.image,dt(Image,d,"image",v.image,void 0,o),d.repeat=ft(d.repeat,v.horizontalRepeat,v.verticalRepeat)),f.data=d,c}function yt(e,t,r,i,n){if(l(r))if(Array.isArray(r))for(var o=0,a=r.length;a>o;o++)vt(e,t,r[o],i,n);else vt(e,t,r,i,n)}function gt(e,t){e.name=s(t.name,e.name)}function _t(e,t,r,i){var n=t.position;l(n)&&pt(e,"position",n,void 0,i)}function wt(e,r,i,n){var o=r.viewFrom;l(o)&&dt(t,e,"viewFrom",o,void 0,n)}function Ct(e,t,r,i){var n=t.orientation;l(n)&&dt(w,e,"orientation",n,void 0,i)}function xt(e,t,r){var i=t.vertexPositions;if(l(i)){var n=e.vertexPositions;l(n)||(e.vertexPositions=n=new $),n.processCzmlIntervals(i,void 0,r)}}function St(e,t){var r,i=t.availability;if(l(i)){var n;if(Array.isArray(i))for(var o=i.length,a=0;o>a;a++)l(n)||(n=new b),r=E.fromIso8601(i[a]),n.addInterval(r);else r=E.fromIso8601(i),n=new b,n.addInterval(r);e.availability=n}}function Et(r,n,o,a){var s=n.billboard;if(l(s)){var u=s.interval;l(u)&&(u=E.fromIso8601(u));var c=r.billboard;l(c)||(r.billboard=c=new L),dt(i,c,"color",s.color,u,a),dt(t,c,"eyeOffset",s.eyeOffset,u,a),dt(T,c,"horizontalOrigin",s.horizontalOrigin,u,a),dt(Image,c,"image",s.image,u,a),dt(e,c,"pixelOffset",s.pixelOffset,u,a),dt(Number,c,"scale",s.scale,u,a),dt(Number,c,"rotation",s.rotation,u,a),dt(t,c,"alignedAxis",s.alignedAxis,u,a),dt(Boolean,c,"show",s.show,u,a),dt(D,c,"verticalOrigin",s.verticalOrigin,u,a)}}function bt(e,t){var r=t.clock;if(l(r)&&"document"===e.id){var i=e.clock;if(l(i)||(i=new z,i.startTime=p.MAXIMUM_INTERVAL.start,i.stopTime=p.MAXIMUM_INTERVAL.stop,i.clockRange=n.LOOP_STOP,i.clockStep=o.SYSTEM_CLOCK_MULTIPLIER,i.multiplier=1,e.clock=i),l(r.interval)){var a=E.fromIso8601(r.interval);i.startTime=a.start,i.stopTime=a.stop}l(r.currentTime)&&(i.currentTime=f.fromIso8601(r.currentTime)),l(r.range)&&(i.clockRange=n[r.range]),l(r.step)&&(i.clockStep=o[r.step]),l(r.multiplier)&&(i.multiplier=r.multiplier)}}function Tt(e,t,r,n){var o=t.cone;if(l(o)){var a=o.interval;l(a)&&(a=E.fromIso8601(a));var s=e.cone;l(s)||(e.cone=s=new F),dt(Boolean,s,"show",o.show,a,n),dt(Number,s,"radius",o.radius,a,n),dt(Boolean,s,"showIntersection",o.showIntersection,a,n),dt(i,s,"intersectionColor",o.intersectionColor,a,n),dt(Number,s,"intersectionWidth",o.intersectionWidth,a,n),dt(Number,s,"innerHalfAngle",o.innerHalfAngle,a,n),dt(Number,s,"outerHalfAngle",o.outerHalfAngle,a,n),dt(Number,s,"minimumClockAngle",o.minimumClockAngle,a,n),dt(Number,s,"maximumClockAngle",o.maximumClockAngle,a,n),yt(s,"capMaterial",o.capMaterial,a,n),yt(s,"innerMaterial",o.innerMaterial,a,n),yt(s,"outerMaterial",o.outerMaterial,a,n),yt(s,"silhouetteMaterial",o.silhouetteMaterial,a,n)}}function At(e,t,r,i){var n=t.ellipse;if(l(n)){var o=n.interval;l(o)&&(o=E.fromIso8601(o));var a=e.ellipse;l(a)||(e.ellipse=a=new U),dt(Number,a,"rotation",n.rotation,o,i),dt(Number,a,"semiMajorAxis",n.semiMajorAxis,o,i),dt(Number,a,"semiMinorAxis",n.semiMinorAxis,o,i)}}function Dt(e,r,i,n){var o=r.ellipsoid;if(l(o)){var a=o.interval;l(a)&&(a=E.fromIso8601(a));var s=e.ellipsoid;l(s)||(e.ellipsoid=s=new W),dt(Boolean,s,"show",o.show,a,n),dt(t,s,"radii",o.radii,a,n),yt(s,"material",o.material,a,n)}}function Pt(r,n,o,a){var s=n.label;if(l(s)){var u=s.interval;l(u)&&(u=E.fromIso8601(u));var c=r.label;l(c)||(r.label=c=new V),dt(i,c,"fillColor",s.fillColor,u,a),dt(i,c,"outlineColor",s.outlineColor,u,a),dt(Number,c,"outlineWidth",s.outlineWidth,u,a),dt(t,c,"eyeOffset",s.eyeOffset,u,a),dt(T,c,"horizontalOrigin",s.horizontalOrigin,u,a),dt(String,c,"text",s.text,u,a),dt(e,c,"pixelOffset",s.pixelOffset,u,a),dt(Number,c,"scale",s.scale,u,a),dt(Boolean,c,"show",s.show,u,a),dt(D,c,"verticalOrigin",s.verticalOrigin,u,a),dt(String,c,"font",s.font,u,a),dt(A,c,"style",s.style,u,a)}}function Mt(e,t,r,n){var o=t.path;if(l(o)){var a=o.interval;l(a)&&(a=E.fromIso8601(a));var s=e.path;l(s)||(e.path=s=new Y),dt(i,s,"color",o.color,a,n),dt(Number,s,"width",o.width,a,n),dt(i,s,"outlineColor",o.outlineColor,a,n),dt(Number,s,"outlineWidth",o.outlineWidth,a,n),dt(Boolean,s,"show",o.show,a,n),dt(Number,s,"resolution",o.resolution,a,n),dt(Number,s,"leadTime",o.leadTime,a,n),dt(Number,s,"trailTime",o.trailTime,a,n)}}function It(e,t,r,n){var o=t.point;if(l(o)){var a=o.interval;l(a)&&(a=E.fromIso8601(a));var s=e.point;l(s)||(e.point=s=new X),dt(i,s,"color",o.color,a,n),dt(Number,s,"pixelSize",o.pixelSize,a,n),dt(i,s,"outlineColor",o.outlineColor,a,n),dt(Number,s,"outlineWidth",o.outlineWidth,a,n),dt(Boolean,s,"show",o.show,a,n)}}function Ot(e,t,r,i){var n=t.polygon;if(l(n)){var o=n.interval;l(o)&&(o=E.fromIso8601(o));var a=e.polygon;l(a)||(e.polygon=a=new J),dt(Boolean,a,"show",n.show,o,i),yt(a,"material",n.material,o,i)}}function Rt(e,t,r,n){var o=t.polyline;if(l(o)){var a=o.interval;l(a)&&(a=E.fromIso8601(a));var s=e.polyline;l(s)||(e.polyline=s=new Z);var u=s.material;if(l(a)){var c,h=u;h instanceof P||(h=new P,s.material=h,l(u)&&(c=p.MAXIMUM_INTERVAL.clone(),c.data=u,h.intervals.addInterval(c))),c=h.intervals.findInterval(a.start,a.stop,a.isStartIncluded,a.isStopIncluded),l(c)?u=c.data:(u=new B,c=a.clone(),c.data=u,h.intervals.addInterval(c))}else u instanceof B||(u=new B,s.material=u);dt(Boolean,s,"show",o.show,a,n),dt(Number,s,"width",o.width,a,n),dt(i,u,"color",o.color,a,n),dt(i,u,"outlineColor",o.outlineColor,a,n),dt(Number,u,"outlineWidth",o.outlineWidth,a,n)}}function Lt(e,t,r,n){var o=t.pyramid;if(l(o)){var a=o.interval;l(a)&&(a=E.fromIso8601(a));var s=e.pyramid;if(l(s)||(e.pyramid=s=new K),dt(Boolean,s,"show",o.show,a,n),dt(Number,s,"radius",o.radius,a,n),dt(Boolean,s,"showIntersection",o.showIntersection,a,n),dt(i,s,"intersectionColor",o.intersectionColor,a,n),dt(Number,s,"intersectionWidth",o.intersectionWidth,a,n),yt(s,"material",o.material,a,n),l(o.directions)){var u=s.directions;l(u)||(s.directions=u=new k),u.processCzmlIntervals(o.directions,a)}}}function zt(e,r,n,o){var a=r.vector;if(l(a)){var s=a.interval;l(s)&&(s=E.fromIso8601(s));var u=e.vector;l(u)||(e.vector=u=new Q),dt(i,u,"color",a.color,s,o),dt(Boolean,u,"show",a.show,s,o),dt(Number,u,"width",a.width,s,o),dt(t,u,"direction",a.direction,s,o),dt(Number,u,"length",a.length,s,o)}}function Nt(e,t,r,i,n){var o=e.id;if(l(o)||(o=a()),e["delete"]===!0)t.removeById(o);else{var s;s="document"===o?n._document:t.getOrCreateObject(o);var u=e.parent;l(u)&&(s.parent=t.getOrCreateObject(u));for(var c=r.length-1;c>-1;c--)r[c](s,e,t,i)}}function Bt(e,t,r){var i=e._dynamicObjectCollection;qt._processCzml(t,i,r,void 0,e);var a,s=i.computeAvailability(),u=e._document;if(l(u)&&l(u.clock))a=new z,a.startTime=u.clock.startTime,a.stopTime=u.clock.stopTime,a.clockRange=u.clock.clockRange,a.clockStep=u.clock.clockStep,a.multiplier=u.clock.multiplier,a.currentTime=u.clock.currentTime;else if(!s.start.equals(p.MINIMUM_VALUE)){a=new z,a.startTime=s.start,a.stopTime=s.stop,a.clockRange=n.LOOP_STOP;var c=a.startTime.getSecondsDifference(a.stopTime),h=Math.round(c/120);a.multiplier=h,a.currentTime=a.startTime,a.clockStep=o.SYSTEM_CLOCK_MULTIPLIER}var m;return l(u)&&l(u.name)&&(m=u.name),!l(m)&&l(r)&&(m=d(r)),e._name=m,a}var Ft=new t,Vt=new S,kt=new r,Ut={HERMITE:m,LAGRANGE:v,LINEAR:y},Wt=function(){this._x=new R(0),this._y=new R(0)};Wt.prototype.getValue=function(t,r){return l(r)||(r=new e),r.x=this._x.getValue(t),r.y=this._y.getValue(t),r};var qt=function(e){this._name=e,this._changed=new h,this._error=new h,this._clock=void 0,this._dynamicObjectCollection=new j,this._timeVarying=!0,this._document=new H};return qt.updaters=[bt,Et,At,Dt,Tt,Pt,gt,Mt,It,Ot,Rt,Lt,zt,_t,wt,Ct,xt,St],qt.prototype.getName=function(){return this._name},qt.prototype.getChangedEvent=function(){return this._changed},qt.prototype.getErrorEvent=function(){return this._error},qt.prototype.getClock=function(){return this._clock},qt.prototype.getDynamicObjectCollection=function(){return this._dynamicObjectCollection},qt.prototype.getIsTimeVarying=function(){return this._timeVarying},qt.prototype.process=function(e,t){if(!l(e))throw new u("czml is required.");this._clock=Bt(this,e,t)},qt.prototype.load=function(e,t){if(!l(e))throw new u("czml is required.");this._document=new H("document"),this._dynamicObjectCollection.removeAll(),this._clock=Bt(this,e,t)},qt.prototype.processUrl=function(e){if(!l(e))throw new u("url is required.");var t=this;return ot(g(e),function(r){t.process(r,e)},function(e){return t._error.raiseEvent(t,e),ot.reject(e)})},qt.prototype.loadUrl=function(e){if(!l(e))throw new u("url is required.");var t=this;return ot(g(e),function(r){t.load(r,e)},function(e){return t._error.raiseEvent(t,e),ot.reject(e)})},qt.processPacketData=dt,qt.processPositionPacketData=pt,qt.processMaterialPacketData=yt,qt._processCzml=function(e,t,r,i,n){if(i=l(i)?i:qt.updaters,Array.isArray(e))for(var o=0,a=e.length;a>o;o++)Nt(e[o],t,i,r,n);else Nt(e,t,i,r,n)},qt}),r("DynamicScene/DataSource",["../Core/DeveloperError"],function(e){"use strict";function t(){throw new e("This type should not be instantiated directly.")}var r=t;return r.prototype.getName=t,r.prototype.getChangedEvent=t,r.prototype.getErrorEvent=t,r.prototype.getClock=t,r.prototype.getDynamicObjectCollection=t,r.prototype.getIsTimeVarying=t,r}),r("DynamicScene/DataSourceCollection",["../Core/DeveloperError","../Core/defined","../Core/destroyObject","../Core/Event"],function(e,t,r,i){"use strict";var n=function(){this._dataSources=[],this.dataSourceAdded=new i,this.dataSourceRemoved=new i};return n.prototype.add=function(r){if(!t(r))throw new e("dataSource is required.");this._dataSources.push(r),this.dataSourceAdded.raiseEvent(this,r)},n.prototype.remove=function(e,t){var r=this._dataSources.indexOf(e);return-1!==r?(this._dataSources.splice(r,1),this.dataSourceRemoved.raiseEvent(this,e),"function"==typeof e.destroy&&t&&e.destroy(),!0):!1},n.prototype.removeAll=function(e){for(var t=this._dataSources,r=t.length-1;r>=0;r--)this.remove(t[r],e)},n.prototype.contains=function(e){return-1!==this.indexOf(e)},n.prototype.indexOf=function(e){return this._dataSources.indexOf(e)},n.prototype.get=function(r){if(!t(r))throw new e("index is required.");return this._dataSources[r]},n.prototype.getLength=function(){return this._dataSources.length},n.prototype.isDestroyed=function(){return!1},n.prototype.destroy=function(){return this.removeAll(!0),r(this)},n}),r("Renderer/BlendEquation",["../Core/Enumeration"],function(e){"use strict";var t={ADD:new e(32774,"ADD"),SUBTRACT:new e(32778,"SUBTRACT"),REVERSE_SUBTRACT:new e(32779,"REVERSE_SUBTRACT"),validate:function(e){return e===t.ADD||e===t.SUBTRACT||e===t.REVERSE_SUBTRACT}};return t}),r("Renderer/BlendFunction",["../Core/Enumeration"],function(e){"use strict";var t={ZERO:new e(0,"ZERO"),ONE:new e(1,"ONE"),SOURCE_COLOR:new e(768,"SOURCE_COLOR"),ONE_MINUS_SOURCE_COLOR:new e(769,"ONE_MINUS_SOURCE_COLOR"),DESTINATION_COLOR:new e(774,"DESTINATION_COLOR"),ONE_MINUS_DESTINATION_COLOR:new e(775,"ONE_MINUS_DESTINATION_COLOR"),SOURCE_ALPHA:new e(770,"SOURCE_ALPHA"),ONE_MINUS_SOURCE_ALPHA:new e(771,"ONE_MINUS_SOURCE_ALPHA"),DESTINATION_ALPHA:new e(772,"DESTINATION_ALPHA"),ONE_MINUS_DESTINATION_ALPHA:new e(773,"ONE_MINUS_DESTINATION_ALPHA"),CONSTANT_COLOR:new e(32769,"CONSTANT_COLOR"),ONE_MINUS_CONSTANT_COLOR:new e(32770,"ONE_MINUS_CONSTANT_COLOR"),CONSTANT_ALPHA:new e(32771,"CONSTANT_ALPHA"),ONE_MINUS_CONSTANT_ALPHA:new e(32772,"ONE_MINUS_CONSTANT_ALPHA"),SOURCE_ALPHA_SATURATE:new e(776,"SOURCE_ALPHA_SATURATE"),validate:function(e){return e===t.ZERO||e===t.ONE||e===t.SOURCE_COLOR||e===t.ONE_MINUS_SOURCE_COLOR||e===t.DESTINATION_COLOR||e===t.ONE_MINUS_DESTINATION_COLOR||e===t.SOURCE_ALPHA||e===t.ONE_MINUS_SOURCE_ALPHA||e===t.DESTINATION_ALPHA||e===t.ONE_MINUS_DESTINATION_ALPHA||e===t.CONSTANT_COLOR||e===t.ONE_MINUS_CONSTANT_COLOR||e===t.CONSTANT_ALPHA||e===t.ONE_MINUS_CONSTANT_ALPHA||e===t.SOURCE_ALPHA_SATURATE}};return t}),r("Renderer/BlendingState",["./BlendEquation","./BlendFunction"],function(e,t){"use strict";var r={DISABLED:{enabled:!1},ALPHA_BLEND:{enabled:!0,equationRgb:e.ADD,equationAlpha:e.ADD,functionSourceRgb:t.SOURCE_ALPHA,functionSourceAlpha:t.SOURCE_ALPHA,functionDestinationRgb:t.ONE_MINUS_SOURCE_ALPHA,functionDestinationAlpha:t.ONE_MINUS_SOURCE_ALPHA},PRE_MULTIPLIED_ALPHA_BLEND:{enabled:!0,equationRgb:e.ADD,equationAlpha:e.ADD,functionSourceRgb:t.ONE,functionSourceAlpha:t.ONE,functionDestinationRgb:t.ONE_MINUS_SOURCE_ALPHA,functionDestinationAlpha:t.ONE_MINUS_SOURCE_ALPHA},ADDITIVE_BLEND:{enabled:!0,equationRgb:e.ADD,equationAlpha:e.ADD,functionSourceRgb:t.SOURCE_ALPHA,functionSourceAlpha:t.SOURCE_ALPHA,functionDestinationRgb:t.ONE,functionDestinationAlpha:t.ONE}};return r}),r("Renderer/BufferUsage",["../Core/Enumeration"],function(e){"use strict";var t={STREAM_DRAW:new e(35040,"STREAM_DRAW"),STATIC_DRAW:new e(35044,"STATIC_DRAW"),DYNAMIC_DRAW:new e(35048,"DYNAMIC_DRAW"),validate:function(e){return e===t.STREAM_DRAW||e===t.STATIC_DRAW||e===t.DYNAMIC_DRAW}};return t}),r("Renderer/DrawCommand",[],function(){"use strict";var e=function(){this.boundingVolume=void 0,this.cull=!0,this.modelMatrix=void 0,this.primitiveType=void 0,this.vertexArray=void 0,this.count=void 0,this.offset=0,this.shaderProgram=void 0,this.uniformMap=void 0,this.renderState=void 0,this.framebuffer=void 0,this.pass=void 0,this.executeInClosestFrustum=!1,this.owner=void 0,this.debugShowBoundingVolume=!1,this.debugOverlappingFrustums=0};return e.prototype.execute=function(e,t){e.draw(this,t)},e}),r("Renderer/Pass",[],function(){"use strict";var e={OPAQUE:0,TRANSLUCENT:1,OVERLAY:2};return e}),r("Renderer/VertexArrayFacade",["../Core/ComponentDatatype","../Core/defaultValue","../Core/defined","../Core/destroyObject","../Core/DeveloperError","../Core/Math","./BufferUsage"],function(e,t,r,i,n,o,a){"use strict";function s(e,t){if(t.needsCommit&&t.vertexSizeInBytes>0){t.needsCommit=!1;var i=t.vertexBuffer,n=e._size*t.vertexSizeInBytes,o=r(i);if(!o||i.getSizeInBytes()0){var i=e.vertexSizeInBytes*t,n=e.vertexSizeInBytes*r;e.vertexBuffer.copyFromArrayView(new Uint8Array(e.arrayBuffer,i,n),i)}}function u(e){var t=e.vaByPurpose;if(r(t)){for(var i in t)if(t.hasOwnProperty(i))for(var n=t[i],o=n.length,a=0;o>a;++a)n[a].va.destroy();e.vaByPurpose=void 0}}var c=function(e,t,i){function o(e,t){return t.componentDatatype.sizeInBytes-e.componentDatatype.sizeInBytes}if(!e)throw new n("context is required.");if(!t||0===t.length)throw new n("At least one attribute is required.");var s=c._verifyAttributes(t);i=i||0;for(var l,u,h,d,m={},p=[],f=s.length,v=0;f>v;++v){var y=s[v];y.vertexBuffer?p.push(y):(h=y.purpose,l=m[h],r(l)||(l=m[h]={}),d=y.usage.toString(),u=l[d],r(u)||(u=l[d]=[]),u.push(y))}this._buffersByPurposeAndUsage={},this._allBuffers=[];for(h in m)if(m.hasOwnProperty(h)){l=m[h];var g=this._buffersByPurposeAndUsage[h];r(g)||(g=this._buffersByPurposeAndUsage[h]={});for(d in l)if(l.hasOwnProperty(d)){u=l[d],u.sort(o);var _,w=c._vertexSizeInBytes(u);switch(d){case a.STATIC_DRAW.toString():_=a.STATIC_DRAW;break;case a.STREAM_DRAW.toString():_=a.STREAM_DRAW;break;case a.DYNAMIC_DRAW.toString():_=a.DYNAMIC_DRAW}var C={purpose:h,vertexSizeInBytes:w,vertexBuffer:void 0,usage:_,needsCommit:!1,arrayBuffer:void 0,arrayViews:c._createArrayViews(u,w)};g[d]=C,this._allBuffers.push(C)}}this._size=0,this._precreated=p,this._context=e,this.writers=void 0,this.vaByPurpose=void 0,this.resize(i)};c._verifyAttributes=function(i){for(var o=[],s=0;si;++i){var n=e[i];t+=n.componentsPerAttribute*n.componentDatatype.sizeInBytes}var o=r>0?e[0].componentDatatype.sizeInBytes:0,a=o>0?t%o:0,s=0===a?0:o-a;return t+=s},c._createArrayViews=function(e,t){for(var r=[],i=0,n=e.length,o=0;n>o;++o){var a=e[o],s=a.componentDatatype;r.push({index:a.index,enabled:a.enabled,componentsPerAttribute:a.componentsPerAttribute,componentDatatype:s,normalize:a.normalize,offsetInBytes:i,vertexSizeInComponentType:t/s.sizeInBytes,view:void 0}),i+=a.componentsPerAttribute*s.sizeInBytes}return r},c.prototype.resize=function(e){this._size=e;var t=this._allBuffers;this.writers={};for(var i=0,n=t.length;n>i;++i){var o=t[i];c._resize(o,this._size);var a=this.writers[o.purpose];r(a)||(a=this.writers[o.purpose]=[]),c._appendWriters(a,o)}u(this)},c._resize=function(t,r){if(t.vertexSizeInBytes>0){var i=new ArrayBuffer(r*t.vertexSizeInBytes);if(t.arrayBuffer)for(var n=new Uint8Array(i),o=new Uint8Array(t.arrayBuffer),a=o.length,s=0;a>s;++s)n[s]=o[s];for(var l=t.arrayViews,u=l.length,c=0;u>c;++c){var h=l[c];h.view=e.createArrayBufferView(h.componentDatatype,i,h.offsetInBytes)}t.arrayBuffer=i}};var h=[function(e,t,r){return function(i,n){t[i*r]=n,e.needsCommit=!0}},function(e,t,r){return function(i,n,o){var a=i*r;t[a]=n,t[a+1]=o,e.needsCommit=!0}},function(e,t,r){return function(i,n,o,a){var s=i*r;t[s]=n,t[s+1]=o,t[s+2]=a,e.needsCommit=!0}},function(e,t,r){return function(i,n,o,a,s){var l=i*r;t[l]=n,t[l+1]=o,t[l+2]=a,t[l+3]=s,e.needsCommit=!0}}];return c._appendWriters=function(e,t){for(var r=t.arrayViews,i=r.length,n=0;i>n;++n){var o=r[n];e[o.index]=h[o.componentsPerAttribute-1](t,o.view,o.vertexSizeInComponentType)}},c.prototype.commit=function(e){for(var t,i=!1,n=this._allBuffers,a=0,l=n.length;l>a;++a)t=n[a],i=s(this,t)||i;if(i||!r(this.vaByPurpose)){var h=this._buffersByPurposeAndUsage;u(this),this.vaByPurpose={};for(var d in h)if(h.hasOwnProperty(d)){for(var m=h[d],p=[],f=Math.ceil(this._size/o.SIXTY_FOUR_KILOBYTES),v=0;f>v;++v){var y=[],g=h.all;if(g!==m)for(var _ in g)if(g.hasOwnProperty(_)){var w=g[_];c._appendAttributes(y,w,v*w.vertexSizeInBytes*o.SIXTY_FOUR_KILOBYTES)}for(var C in m)m.hasOwnProperty(C)&&(t=m[C],c._appendAttributes(y,t,v*t.vertexSizeInBytes*o.SIXTY_FOUR_KILOBYTES));y=y.concat(this._precreated),p.push({va:this._context.createVertexArray(y,e),indicesCount:1.5*(v!==f-1?o.SIXTY_FOUR_KILOBYTES:this._size%o.SIXTY_FOUR_KILOBYTES)})}this.vaByPurpose[d]=p}}},c._appendAttributes=function(e,t,r){for(var i=t.arrayViews,n=i.length,o=0;n>o;++o){var a=i[o];e.push({index:a.index,enabled:a.enabled,componentsPerAttribute:a.componentsPerAttribute,componentDatatype:a.componentDatatype,normalize:a.normalize,vertexBuffer:t.vertexBuffer,offsetInBytes:r+a.offsetInBytes,strideInBytes:t.vertexSizeInBytes})}},c.prototype.subCommit=function(e,t){if(0>e||e>=this._size)throw new n("offsetInVertices must be greater than or equal to zero and less than the vertex array size.");if(e+t>this._size)throw new n("offsetInVertices + lengthInVertices cannot exceed the vertex array size.");for(var r=this._allBuffers,i=0,o=r.length;o>i;++i)l(r[i],e,t)},c.prototype.endSubCommits=function(){for(var e=this._allBuffers,t=0,r=e.length;r>t;++t)e[t].needsCommit=!1},c.prototype.isDestroyed=function(){return!1},c.prototype.destroy=function(){for(var e=this._allBuffers,t=0,r=e.length;r>t;++t){var n=e[t];n.vertexBuffer=n.vertexBuffer&&n.vertexBuffer.destroy()}return u(this),i(this)},c}),r("Renderer/createShaderSource",["../Core/defaultValue","../Core/defined","../Core/DeveloperError"],function(e,t,r){"use strict";function i(i){i=e(i,e.EMPTY_OBJECT);var n=i.defines,o=i.sources,a=i.pickColorQualifier;if(t(a)&&"uniform"!==a&&"varying"!==a)throw new r("options.pickColorQualifier must be 'uniform' or 'varying'.");var s,l,u="";if(t(n)&&n.length>0)for(l=n.length,s=0;l>s;++s)0!==n[s].length&&(u+="#define "+n[s]+"\n");if(t(o)&&o.length>0)for(l=o.length,s=0;l>s;++s)u+="\n#line 0\n"+o[s];if(t(a)){var c=u.replace(/void\s+main\s*\(\s*(?:void)?\s*\)/g,"void czm_old_main()"),h=a+" vec4 czm_pickColor; \n"+"void main() \n"+"{ \n"+" czm_old_main(); \n"+" if (gl_FragColor.a == 0.0) { \n"+" discard; \n"+" } \n"+" gl_FragColor = czm_pickColor; \n"+"}";u=c+"\n"+h}return u}return i}),r("Scene/SceneMode",["../Core/Enumeration"],function(e){"use strict";var t={SCENE2D:new e(0,"SCENE2D",{morphTime:0}),COLUMBUS_VIEW:new e(1,"COLUMBUS_VIEW",{morphTime:0}),SCENE3D:new e(2,"SCENE3D",{morphTime:1}),MORPHING:new e(3,"MORPHING")};return t}),r("Scene/SceneTransforms",["../Core/defined","../Core/DeveloperError","../Core/Cartographic","../Core/Cartesian2","../Core/Cartesian3","../Core/Cartesian4","../Core/Matrix4","../Core/BoundingRectangle","../Core/Math","./SceneMode"],function(e,t,r,i,n,o,a,s,l,u){"use strict";var c={},h=new o(0,0,0,1),d=new o;c.wgs84ToWindowCoordinates=function(r,i,n){if(!e(r))throw new t("scene is required.");if(!e(i))throw new t("position is required.");if(c.computeActualWgs84Position(r.getFrameState(),i,h),!e(h))return n=void 0,void 0;var o=r.getUniformState().getViewProjection();return a.multiplyByVector(o,h,d),c.clipToWindowCoordinates(r.getContext(),d,n)},c.wgs84ToDrawingBufferCoordinates=function(r,i,n){if(!e(r))throw new t("scene is required.");if(!e(i))throw new t("position is required.");if(c.computeActualWgs84Position(r.getFrameState(),i,h),!e(h))return void 0;var s=r.getUniformState().getViewProjection();return a.multiplyByVector(s,o.fromElements(h.x,h.y,h.z,1,d),d),c.clipToDrawingBufferCoordinates(r.getContext(),d,n)};var m=new n,p=new r;c.computeActualWgs84Position=function(t,r,i){var o=t.mode;if(o===u.SCENE3D)return n.clone(r,i);var a=t.scene2D.projection;if(a.getEllipsoid().cartesianToCartographic(r,p),!e(p))return i=void 0;if(a.project(p,m),o===u.COLUMBUS_VIEW)return n.fromElements(m.z,m.x,m.y,i);if(o===u.SCENE2D)return n.fromElements(0,m.x,m.y,i);var s=t.morphTime;return n.fromElements(l.lerp(m.z,r.x,s),l.lerp(m.x,r.y,s),l.lerp(m.y,r.z,s),i)};var f=new n,v=new n,y=new s,g=new a;return c.clipToWindowCoordinates=function(e,t,r){var o=e.getCanvas();return n.divideByScalar(t,t.w,f),y.width=o.clientWidth,y.height=o.clientHeight,a.computeViewportTransformation(y,0,1,g),a.multiplyByPoint(g,f,v),i.fromCartesian3(v,r)},c.clipToDrawingBufferCoordinates=function(e,t,r){return n.divideByScalar(t,t.w,f),y.width=e.getDrawingBufferWidth(),y.height=e.getDrawingBufferHeight(),a.computeViewportTransformation(y,0,1,g),a.multiplyByPoint(g,f,v),i.fromCartesian3(v,r)},c.transformWindowToDrawingBuffer=function(e,t,r){var n=e.getCanvas(),o=e.getDrawingBufferWidth()/n.clientWidth,a=e.getDrawingBufferHeight()/n.clientHeight;return i.fromElements(t.x*o,t.y*a,r)},c}),r("Scene/Billboard",["../Core/defaultValue","../Core/defined","../Core/DeveloperError","../Core/Color","../Core/Cartesian2","../Core/Cartesian3","../Core/Cartesian4","../Core/NearFarScalar","../Core/Matrix4","./HorizontalOrigin","./VerticalOrigin","./SceneMode","./SceneTransforms"],function(e,t,r,i,n,o,a,s,l,u,c,h,d){"use strict";function m(e,r){var i=e._billboardCollection;t(i)&&(i._updateBillboard(e,r),e._dirty=!0)}var p={},f=function(a,s){if(a=e(a,p),t(a.scaleByDistance)&&a.scaleByDistance.far<=a.scaleByDistance.near)throw new r("scaleByDistance.far must be greater than scaleByDistance.near.");if(t(a.translucencyByDistance)&&a.translucencyByDistance.far<=a.translucencyByDistance.near)throw new r("translucencyByDistance.far must be greater than translucencyByDistance.near.");if(t(a.pixelOffsetScaleByDistance)&&a.pixelOffsetScaleByDistance.far<=a.pixelOffsetScaleByDistance.near)throw new r("pixelOffsetScaleByDistance.far must be greater than pixelOffsetScaleByDistance.near.");this._show=e(a.show,!0),this._position=o.clone(e(a.position,o.ZERO)),this._actualPosition=o.clone(this._position),this._pixelOffset=n.clone(e(a.pixelOffset,n.ZERO)),this._translate=new n(0,0),this._eyeOffset=o.clone(e(a.eyeOffset,o.ZERO)),this._verticalOrigin=e(a.verticalOrigin,c.CENTER),this._horizontalOrigin=e(a.horizontalOrigin,u.CENTER),this._scale=e(a.scale,1),this._imageIndex=e(a.imageIndex,-1),this._color=i.clone(e(a.color,i.WHITE)),this._rotation=e(a.rotation,0),this._alignedAxis=o.clone(e(a.alignedAxis,o.ZERO)),this._width=a.width,this._height=a.height,this._scaleByDistance=a.scaleByDistance,this._translucencyByDistance=a.translucencyByDistance,this._pixelOffsetScaleByDistance=a.pixelOffsetScaleByDistance,this._id=a.id,this._pickId=void 0,this._pickIdThis=a._pickIdThis,this._billboardCollection=s,this._dirty=!1,this._index=-1},v=f.SHOW_INDEX=0,y=f.POSITION_INDEX=1,g=f.PIXEL_OFFSET_INDEX=2,_=f.EYE_OFFSET_INDEX=3,w=f.HORIZONTAL_ORIGIN_INDEX=4,C=f.VERTICAL_ORIGIN_INDEX=5,x=f.SCALE_INDEX=6,S=f.IMAGE_INDEX_INDEX=7,E=f.COLOR_INDEX=8,b=f.ROTATION_INDEX=9,T=f.ALIGNED_AXIS_INDEX=10,A=f.SCALE_BY_DISTANCE_INDEX=11,D=f.TRANSLUCENCY_BY_DISTANCE_INDEX=12,P=f.PIXEL_OFFSET_SCALE_BY_DISTANCE_INDEX=13;f.NUMBER_OF_PROPERTIES=14,f.prototype.getPickId=function(r){return t(this._pickId)||(this._pickId=r.createPickId({primitive:e(this._pickIdThis,this),id:this._id})),this._pickId},f.prototype.getShow=function(){return this._show},f.prototype.setShow=function(e){if(!t(e))throw new r("value is required.");e!==this._show&&(this._show=e,m(this,v))},f.prototype.getPosition=function(){return this._position},f.prototype.setPosition=function(e){if(!t(e))throw new r("value is required.");var i=this._position;o.equals(i,e)||(o.clone(e,i),o.clone(e,this._actualPosition),m(this,y))},f.prototype._getActualPosition=function(){return this._actualPosition},f.prototype._setActualPosition=function(e){o.clone(e,this._actualPosition),m(this,y)},f.prototype.getPixelOffset=function(){return this._pixelOffset},f.prototype.setPixelOffset=function(e){if(!t(e))throw new r("value is required.");var i=this._pixelOffset;n.equals(i,e)||(n.clone(e,i),m(this,g))},f.prototype._setTranslate=function(e){if(!t(e))throw new r("value is required.");var i=this._translate;n.equals(i,e)||(n.clone(e,i),m(this,g))},f.prototype.getScaleByDistance=function(){return this._scaleByDistance},f.prototype.setScaleByDistance=function(e){if(!s.equals(this._scaleByDistance,e)){if(e.far<=e.near)throw new r("far distance must be greater than near distance.");m(this,A),this._scaleByDistance=s.clone(e,this._scaleByDistance)}},f.prototype.getTranslucencyByDistance=function(){return this._translucencyByDistance},f.prototype.setTranslucencyByDistance=function(e){if(!s.equals(this._translucencyByDistance,e)){if(e.far<=e.near)throw new r("far distance must be greater than near distance.");m(this,D),this._translucencyByDistance=s.clone(e,this._translucencyByDistance)}},f.prototype.getPixelOffsetScaleByDistance=function(){return this._pixelOffsetScaleByDistance},f.prototype.setPixelOffsetScaleByDistance=function(e){if(!s.equals(this._pixelOffsetScaleByDistance,e)){if(e.far<=e.near)throw new r("far distance must be greater than near distance.");m(this,P),this._pixelOffsetScaleByDistance=s.clone(e,this._pixelOffsetScaleByDistance)}},f.prototype.getEyeOffset=function(){return this._eyeOffset},f.prototype.setEyeOffset=function(e){if(!t(e))throw new r("value is required.");var i=this._eyeOffset;o.equals(i,e)||(o.clone(e,i),m(this,_))},f.prototype.getHorizontalOrigin=function(){return this._horizontalOrigin},f.prototype.setHorizontalOrigin=function(e){if(!t(e))throw new r("value is required.");this._horizontalOrigin!==e&&(this._horizontalOrigin=e,m(this,w))},f.prototype.getVerticalOrigin=function(){return this._verticalOrigin},f.prototype.setVerticalOrigin=function(e){if(!t(e))throw new r("value is required.");this._verticalOrigin!==e&&(this._verticalOrigin=e,m(this,C))},f.prototype.getScale=function(){return this._scale},f.prototype.setScale=function(e){if(!t(e))throw new r("value is required.");this._scale!==e&&(this._scale=e,m(this,x))},f.prototype.getImageIndex=function(){return this._imageIndex},f.prototype.setImageIndex=function(e){if("number"!=typeof e)throw new r("value is required and must be a number.");this._imageIndex!==e&&(this._imageIndex=e,m(this,S))},f.prototype.getColor=function(){return this._color},f.prototype.setColor=function(e){if(!t(e))throw new r("value is required.");var n=this._color;i.equals(n,e)||(i.clone(e,n),m(this,E))},f.prototype.getRotation=function(){return this._rotation},f.prototype.setRotation=function(e){if(!t(e))throw new r("value is required.");this._rotation!==e&&(this._rotation=e,m(this,b))},f.prototype.getAlignedAxis=function(){return this._alignedAxis},f.prototype.setAlignedAxis=function(e){if(!t(e))throw new r("value is required.");var i=this._alignedAxis;o.equals(i,e)||(o.clone(e,i),m(this,T))},f.prototype.getWidth=function(){return this._width},f.prototype.setWidth=function(e){this._width!==e&&(this._width=e,m(this,S))},f.prototype.getHeight=function(){return this._height},f.prototype.setHeight=function(e){this._height!==e&&(this._height=e,m(this,S))},f.prototype.getId=function(){return this._id};var M=new a;f._computeActualPosition=function(e,t,r){return t.mode===h.SCENE3D?e:(l.multiplyByPoint(r,e,M),d.computeActualWgs84Position(t,M))};var I=new l,O=new a,R=new o,L=new n;f._computeScreenSpacePosition=function(e,t,r,i,s,u){var c=u.camera,h=c.viewMatrix,m=c.frustum.projectionMatrix,p=l.multiplyTransformation(h,e,I),f=l.multiplyByVector(p,a.fromElements(t.x,t.y,t.z,1,O),O),v=o.multiplyComponents(r,o.normalize(f,R),R);f.x+=r.x+v.x,f.y+=r.y+v.y,f.z+=v.z;var y=l.multiplyByVector(m,f,O),g=d.clipToWindowCoordinates(s,y,new n),_=s.getUniformState(),w=n.multiplyByScalar(i,_.getHighResolutionSnapScale(),L);return g.x+=w.x,g.y+=w.y,g};var z=new n(0,0);return f.prototype.computeScreenSpacePosition=function(e,i){var o=this._billboardCollection;if(!t(o))throw new r("Billboard must be in a collection. Was it removed?");if(!t(e))throw new r("context is required.");if(!t(i))throw new r("frameState is required.");n.clone(this._pixelOffset,z),n.add(z,this._translate,z);var a=o.modelMatrix;return f._computeScreenSpacePosition(a,this._actualPosition,this._eyeOffset,z,e,i)},f.prototype.equals=function(e){return this===e||t(e)&&this._show===e._show&&this._imageIndex===e._imageIndex&&this._scale===e._scale&&this._verticalOrigin===e._verticalOrigin&&this._horizontalOrigin===e._horizontalOrigin&&o.equals(this._position,e._position)&&i.equals(this._color,e._color)&&n.equals(this._pixelOffset,e._pixelOffset)&&n.equals(this._translate,e._translate)&&o.equals(this._eyeOffset,e._eyeOffset)&&s.equals(this._scaleByDistance,e._scaleByDistance)&&s.equals(this._translucencyByDistance,e._translucencyByDistance)&&s.equals(this._pixelOffsetScaleByDistance,e._pixelOffsetScaleByDistance)&&this._id===e._id},f.prototype._destroy=function(){this._pickId=this._pickId&&this._pickId.destroy(),this._billboardCollection=void 0},f}),r("Shaders/BillboardCollectionVS",[],function(){"use strict";return"attribute vec3 positionHigh;\nattribute vec3 positionLow;\nattribute vec2 direction;\nattribute vec4 textureCoordinatesAndImageSize;\nattribute vec3 originAndShow;\nattribute vec4 pixelOffsetAndTranslate;\nattribute vec4 eyeOffsetAndScale;\nattribute vec4 rotationAndAlignedAxis;\nattribute vec4 scaleByDistance;\nattribute vec4 translucencyByDistance;\nattribute vec4 pixelOffsetScaleByDistance;\n#ifdef RENDER_FOR_PICK\nattribute vec4 pickColor;\n#else\nattribute vec4 color;\n#endif\nconst vec2 czm_highResolutionSnapScale = vec2(1.0, 1.0);\nvarying vec2 v_textureCoordinates;\n#ifdef RENDER_FOR_PICK\nvarying vec4 v_pickColor;\n#else\nvarying vec4 v_color;\n#endif\nfloat getNearFarScalar(vec4 nearFarScalar, float cameraDistSq)\n{\nfloat valueAtMin = nearFarScalar.y;\nfloat valueAtMax = nearFarScalar.w;\nfloat nearDistanceSq = nearFarScalar.x * nearFarScalar.x;\nfloat farDistanceSq = nearFarScalar.z * nearFarScalar.z;\ncameraDistSq = clamp(cameraDistSq, nearDistanceSq, farDistanceSq);\nfloat t = (cameraDistSq - nearDistanceSq) / (farDistanceSq - nearDistanceSq);\nt = pow(t, 0.15);\nreturn mix(valueAtMin, valueAtMax, t);\n}\nvoid main()\n{\nvec3 eyeOffset = eyeOffsetAndScale.xyz;\nfloat scale = eyeOffsetAndScale.w;\nvec2 textureCoordinates = textureCoordinatesAndImageSize.xy;\nvec2 imageSize = textureCoordinatesAndImageSize.zw;\nvec2 origin = originAndShow.xy;\nfloat show = originAndShow.z;\nvec2 pixelOffset = pixelOffsetAndTranslate.xy;\nvec2 translate = pixelOffsetAndTranslate.zw;\nvec4 p = czm_translateRelativeToEye(positionHigh, positionLow);\nvec4 positionEC = czm_modelViewRelativeToEye * p;\npositionEC = czm_eyeOffset(positionEC, eyeOffset);\npositionEC.xyz *= show;\n#if defined(EYE_DISTANCE_SCALING) || defined(EYE_DISTANCE_TRANSLUCENCY) || defined(EYE_DISTANCE_PIXEL_OFFSET)\nfloat lengthSq;\nif (czm_sceneMode == czm_sceneMode2D)\n{\nlengthSq = czm_eyeHeight2D.y;\n}\nelse\n{\nlengthSq = dot(positionEC.xyz, positionEC.xyz);\n}\n#endif\n#ifdef EYE_DISTANCE_SCALING\nscale *= getNearFarScalar(scaleByDistance, lengthSq);\nif (scale == 0.0)\n{\npositionEC.xyz = vec3(0.0);\n}\n#endif\nfloat translucency = 1.0;\n#ifdef EYE_DISTANCE_TRANSLUCENCY\ntranslucency = getNearFarScalar(translucencyByDistance, lengthSq);\nif (translucency == 0.0)\n{\npositionEC.xyz = vec3(0.0);\n}\n#endif\n#ifdef EYE_DISTANCE_PIXEL_OFFSET\nfloat pixelOffsetScale = getNearFarScalar(pixelOffsetScaleByDistance, lengthSq);\npixelOffset *= pixelOffsetScale;\n#endif\nvec4 positionWC = czm_eyeToWindowCoordinates(positionEC);\nvec2 halfSize = imageSize * scale * czm_highResolutionSnapScale;\nhalfSize *= ((direction * 2.0) - 1.0);\npositionWC.xy += (origin * abs(halfSize));\n#ifdef ROTATION\nfloat rotation = rotationAndAlignedAxis.x;\nvec3 alignedAxis = rotationAndAlignedAxis.yzw;\nif (!all(equal(rotationAndAlignedAxis, vec4(0.0))))\n{\nfloat angle = rotation;\nif (!all(equal(alignedAxis, vec3(0.0))))\n{\nvec3 pos = positionEC.xyz + czm_encodedCameraPositionMCHigh + czm_encodedCameraPositionMCLow;\nvec3 normal = normalize(cross(alignedAxis, pos));\nvec4 tangent = vec4(normalize(cross(pos, normal)), 0.0);\ntangent = czm_modelViewProjection * tangent;\nangle += sign(-tangent.x) * acos(tangent.y / length(tangent.xy));\n}\nfloat cosTheta = cos(angle);\nfloat sinTheta = sin(angle);\nmat2 rotationMatrix = mat2(cosTheta, sinTheta, -sinTheta, cosTheta);\nhalfSize = rotationMatrix * halfSize;\n}\n#endif\npositionWC.xy += halfSize;\npositionWC.xy += translate;\npositionWC.xy += (pixelOffset * czm_highResolutionSnapScale);\ngl_Position = czm_viewportOrthographic * vec4(positionWC.xy, -positionWC.z, 1.0);\nv_textureCoordinates = textureCoordinates;\n#ifdef RENDER_FOR_PICK\nv_pickColor = pickColor;\n#else\nv_color = color;\nv_color.a *= translucency;\n#endif\n}\n"}),r("Shaders/BillboardCollectionFS",[],function(){"use strict";return"uniform sampler2D u_atlas;\nvarying vec2 v_textureCoordinates;\n#ifdef RENDER_FOR_PICK\nvarying vec4 v_pickColor;\n#else\nvarying vec4 v_color;\n#endif\nvoid main()\n{\n#ifdef RENDER_FOR_PICK\nvec4 vertexColor = vec4(1.0, 1.0, 1.0, 1.0);\n#else\nvec4 vertexColor = v_color;\n#endif\nvec4 color = texture2D(u_atlas, v_textureCoordinates) * vertexColor;\nif (color.a == 0.0)\n{\ndiscard;\n}\n#ifdef RENDER_FOR_PICK\ngl_FragColor = v_pickColor;\n#else\ngl_FragColor = color;\n#endif\n}\n"}),r("Scene/BillboardCollection",["../Core/defined","../Core/DeveloperError","../Core/Color","../Core/defaultValue","../Core/destroyObject","../Core/Cartesian2","../Core/Cartesian3","../Core/EncodedCartesian3","../Core/Matrix4","../Core/ComponentDatatype","../Core/IndexDatatype","../Core/PrimitiveType","../Core/BoundingSphere","../Renderer/BlendingState","../Renderer/BufferUsage","../Renderer/DrawCommand","../Renderer/Pass","../Renderer/VertexArrayFacade","../Renderer/createShaderSource","./SceneMode","./Billboard","./HorizontalOrigin","../Shaders/BillboardCollectionVS","../Shaders/BillboardCollectionFS"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f,v,y,g,_,w,C,x,S){"use strict";function E(e){if(e._billboardsRemoved){e._billboardsRemoved=!1;for(var t=[],r=e._billboards,i=r.length,n=0,o=0;i>n;++n){var a=r[n];a&&(a._index=o++,t.push(a))}e._billboards=t}}function b(t){var r=16384,i=t.cache.billboardCollection_directionsVertexBuffer;if(e(i))return i;for(var n=new Uint8Array(2*4*r),o=0,a=0;r>o;++o)n[a++]=0,n[a++]=0,n[a++]=255,n[a++]=0,n[a++]=255,n[a++]=255,n[a++]=0,n[a++]=255;return i=t.createVertexBuffer(n,p.STATIC_DRAW),i.setVertexArrayDestroyable(!1),t.cache.billboardCollection_directionsVertexBuffer=i,i}function T(t){var r=16384,i=t.cache.billboardCollection_indexBuffer;if(e(i))return i;for(var n=6*r,o=new Uint16Array(n),a=0,s=0;n>a;a+=6,s+=4)o[a]=s,o[a+1]=s+1,o[a+2]=s+2,o[a+3]=s+0,o[a+4]=s+2,o[a+5]=s+3;return i=t.createIndexBuffer(o,p.STATIC_DRAW,c.UNSIGNED_SHORT),i.setVertexArrayDestroyable(!1),t.cache.billboardCollection_indexBuffer=i,i}function A(e,t,r){var i=b(e);return new y(e,[{index:nt.positionHigh,componentsPerAttribute:3,componentDatatype:u.FLOAT,usage:r[G]},{index:nt.positionLow,componentsPerAttribute:3,componentDatatype:u.FLOAT,usage:r[G]},{index:nt.pixelOffsetAndTranslate,componentsPerAttribute:4,componentDatatype:u.FLOAT,usage:r[H]},{index:nt.eyeOffsetAndScale,componentsPerAttribute:4,componentDatatype:u.FLOAT,usage:r[Z]},{index:nt.textureCoordinatesAndImageSize,componentsPerAttribute:4,componentDatatype:u.FLOAT,usage:r[J]},{index:nt.pickColor,componentsPerAttribute:4,normalize:!0,componentDatatype:u.UNSIGNED_BYTE,usage:p.STATIC_DRAW,purpose:st},{index:nt.color,componentsPerAttribute:4,normalize:!0,componentDatatype:u.UNSIGNED_BYTE,usage:r[K],purpose:at},{index:nt.originAndShow,componentsPerAttribute:3,componentDatatype:u.BYTE,usage:r[q]},{index:nt.direction,vertexBuffer:i,componentsPerAttribute:2,normalize:!0,componentDatatype:u.UNSIGNED_BYTE},{index:nt.rotationAndAlignedAxis,componentsPerAttribute:4,componentDatatype:u.FLOAT,usage:r[Q]},{index:nt.scaleByDistance,componentsPerAttribute:4,componentDatatype:u.FLOAT,usage:r[et]},{index:nt.translucencyByDistance,componentsPerAttribute:4,componentDatatype:u.FLOAT,usage:r[tt]},{index:nt.pixelOffsetScaleByDistance,componentsPerAttribute:4,componentDatatype:u.FLOAT,usage:r[rt]}],4*t)}function D(e,t,r,i,n){var o=4*n._index,a=n._getActualPosition();e._mode===_.SCENE3D&&(e._baseVolume.expand(a,e._baseVolume),e._boundingVolumeDirty=!0),s.fromCartesian(a,ut);var l=i[ot],u=l[nt.positionHigh],c=ut.high;u(o+0,c.x,c.y,c.z),u(o+1,c.x,c.y,c.z),u(o+2,c.x,c.y,c.z),u(o+3,c.x,c.y,c.z);var h=l[nt.positionLow],d=ut.low;h(o+0,d.x,d.y,d.z),h(o+1,d.x,d.y,d.z),h(o+2,d.x,d.y,d.z),h(o+3,d.x,d.y,d.z)}function P(e,t,r,i,n){var o=4*n._index,a=n.getPixelOffset(),s=n._translate;e._maxPixelOffset=Math.max(e._maxPixelOffset,a.x+s.x,a.y+s.y);var l=i[ot],u=l[nt.pixelOffsetAndTranslate];u(o+0,a.x,a.y,s.x,s.y),u(o+1,a.x,a.y,s.x,s.y),u(o+2,a.x,a.y,s.x,s.y),u(o+3,a.x,a.y,s.x,s.y)}function M(e,t,r,i,n){var o=4*n._index,a=n.getEyeOffset(),s=n.getScale();e._maxEyeOffset=Math.max(e._maxEyeOffset,Math.abs(a.x),Math.abs(a.y),Math.abs(a.z)),e._maxScale=Math.max(e._maxScale,s);var l=i[ot],u=l[nt.eyeOffsetAndScale];u(o+0,a.x,a.y,a.z,s),u(o+1,a.x,a.y,a.z,s),u(o+2,a.x,a.y,a.z,s),u(o+3,a.x,a.y,a.z,s)}function I(e,t,i,n,o){var a=4*o._index,s=n[st],l=s[nt.pickColor],u=o.getPickId(t).color,c=r.floatToByte(u.red),h=r.floatToByte(u.green),d=r.floatToByte(u.blue),m=r.floatToByte(u.alpha);l(a+0,c,h,d,m),l(a+1,c,h,d,m),l(a+2,c,h,d,m),l(a+3,c,h,d,m)}function O(e,t,i,n,o){var a=4*o._index,s=n[at],l=s[nt.color],u=o.getColor(),c=r.floatToByte(u.red),h=r.floatToByte(u.green),d=r.floatToByte(u.blue),m=r.floatToByte(u.alpha);l(a+0,c,h,d,m),l(a+1,c,h,d,m),l(a+2,c,h,d,m),l(a+3,c,h,d,m)}function R(e,t,r,i,n){var o=4*n._index,a=n.getHorizontalOrigin().value,s=n.getVerticalOrigin().value,l=n.getShow();0===n.getColor().alpha&&(l=!1),e._allHorizontalCenter=e._allHorizontalCenter&&a===C.CENTER.value;var u=i[ot],c=u[nt.originAndShow];c(o+0,a,s,l),c(o+1,a,s,l),c(o+2,a,s,l),c(o+3,a,s,l)}function L(r,n,o,a,s){var l=4*s._index,u=0,c=0,h=0,d=0,m=s.getImageIndex();if(-1!==m){var p=o[m];if(!e(p))throw new t("Invalid billboard image index: "+m);u=p.x,c=p.y,h=p.width,d=p.height}var f=u+h,v=c+d,y=r._textureAtlas.getTexture().getDimensions(),g=.5*i(s.getWidth(),y.x*h),_=.5*i(s.getHeight(),y.y*d);r._maxSize=Math.max(r._maxSize,g,_);var w=a[ot],C=w[nt.textureCoordinatesAndImageSize];C(l+0,u,c,g,_),C(l+1,f,c,g,_),C(l+2,f,v,g,_),C(l+3,u,v,g,_)}function z(e,t,r,i,n){var o=4*n._index,s=n.getRotation(),l=n.getAlignedAxis();0===s&&a.equals(l,a.ZERO)||(e._shaderRotation=!0);var u=l.x,c=l.y,h=l.z,d=i[ot],m=d[nt.rotationAndAlignedAxis];m(o+0,s,u,c,h),m(o+1,s,u,c,h),m(o+2,s,u,c,h),m(o+3,s,u,c,h)}function N(t,r,i,n,o){var a=4*o._index,s=n[ot],l=s[nt.scaleByDistance],u=0,c=1,h=1,d=1,m=o.getScaleByDistance();e(m)&&(u=m.near,c=m.nearValue,h=m.far,d=m.farValue,(1!==c||1!==d)&&(t._shaderScaleByDistance=!0)),l(a+0,u,c,h,d),l(a+1,u,c,h,d),l(a+2,u,c,h,d),l(a+3,u,c,h,d)}function B(t,r,i,n,o){var a=4*o._index,s=n[ot],l=s[nt.translucencyByDistance],u=0,c=1,h=1,d=1,m=o.getTranslucencyByDistance();e(m)&&(u=m.near,c=m.nearValue,h=m.far,d=m.farValue,(1!==c||1!==d)&&(t._shaderTranslucencyByDistance=!0)),l(a+0,u,c,h,d),l(a+1,u,c,h,d),l(a+2,u,c,h,d),l(a+3,u,c,h,d)}function F(t,r,i,n,o){var a=4*o._index,s=n[ot],l=s[nt.pixelOffsetScaleByDistance],u=0,c=1,h=1,d=1,m=o.getPixelOffsetScaleByDistance();e(m)&&(u=m.near,c=m.nearValue,h=m.far,d=m.farValue,(1!==c||1!==d)&&(t._shaderPixelOffsetScaleByDistance=!0)),l(a+0,u,c,h,d),l(a+1,u,c,h,d),l(a+2,u,c,h,d),l(a+3,u,c,h,d)}function V(e,t,r,i,n){D(e,t,r,i,n),P(e,t,r,i,n),M(e,t,r,i,n),I(e,t,r,i,n),O(e,t,r,i,n),R(e,t,r,i,n),L(e,t,r,i,n),z(e,t,r,i,n),N(e,t,r,i,n),B(e,t,r,i,n),F(e,t,r,i,n)}function k(t,r,i,n,o,a){var s;n.mode===_.SCENE3D?(s=t._baseVolume,t._boundingVolumeDirty=!0):s=t._baseVolume2D;for(var l=[],u=0;i>u;++u){var c=r[u],h=c.getPosition(),m=w._computeActualPosition(h,n,o);e(m)&&(c._setActualPosition(m),a?l.push(m):s.expand(m,s))}a&&d.fromPoints(l,s)}function U(e,t){var r=t.mode,i=t.scene2D.projection,n=e._billboards,o=e._billboardsToUpdate,a=e._modelMatrix;e._mode!==r||e._projection!==i||r!==_.SCENE3D&&!l.equals(a,e.modelMatrix)?(e._mode=r,e._projection=i,l.clone(e.modelMatrix,a),e._createVertexArray=!0,(r===_.SCENE3D||r===_.SCENE2D||r===_.COLUMBUS_VIEW)&&k(e,n,n.length,t,a,!0)):r===_.MORPHING?k(e,n,n.length,t,a,!0):(r===_.SCENE2D||r===_.COLUMBUS_VIEW)&&k(e,o,e._billboardsToUpdateIndex,t,a,!1)}function W(e,t,r,i){var n,o,s,l=r.camera,u=l.frustum,c=a.subtract(l.positionWC,i.center,ht),h=a.multiplyByScalar(l.directionWC,a.dot(c,l.directionWC),dt),d=Math.max(0,a.magnitude(h)-i.radius);ct.x=t.getDrawingBufferWidth(),ct.y=t.getDrawingBufferHeight();var m=u.getPixelSize(ct,d);n=Math.max(m.x,m.y),o=2*n*e._maxScale*e._maxSize,e._allHorizontalCenter&&(o*=.5),s=n*e._maxPixelOffset+e._maxEyeOffset,i.radius+=o+s}var q=w.SHOW_INDEX,G=w.POSITION_INDEX,H=w.PIXEL_OFFSET_INDEX,j=w.EYE_OFFSET_INDEX,Y=w.HORIZONTAL_ORIGIN_INDEX,X=w.VERTICAL_ORIGIN_INDEX,Z=w.SCALE_INDEX,J=w.IMAGE_INDEX_INDEX,K=w.COLOR_INDEX,Q=w.ROTATION_INDEX,$=w.ALIGNED_AXIS_INDEX,et=w.SCALE_BY_DISTANCE_INDEX,tt=w.TRANSLUCENCY_BY_DISTANCE_INDEX,rt=w.PIXEL_OFFSET_SCALE_BY_DISTANCE_INDEX,it=w.NUMBER_OF_PROPERTIES,nt={positionHigh:0,positionLow:1,pixelOffsetAndTranslate:2,eyeOffsetAndScale:3,textureCoordinatesAndImageSize:4,originAndShow:5,direction:6,pickColor:7,color:7,rotationAndAlignedAxis:8,scaleByDistance:9,translucencyByDistance:10,pixelOffsetScaleByDistance:11},ot="all",at="color",st="pick",lt=function(e){e=i(e,i.EMPTY_OBJECT),this._textureAtlas=void 0,this._textureAtlasGUID=void 0,this._destroyTextureAtlas=!0,this._sp=void 0,this._rs=void 0,this._vaf=void 0,this._spPick=void 0,this._billboards=[],this._billboardsToUpdate=[],this._billboardsToUpdateIndex=0,this._billboardsRemoved=!1,this._createVertexArray=!1,this._shaderRotation=!1,this._compiledShaderRotation=!1,this._compiledShaderRotationPick=!1,this._shaderScaleByDistance=!1,this._compiledShaderScaleByDistance=!1,this._compiledShaderScaleByDistancePick=!1,this._shaderTranslucencyByDistance=!1,this._compiledShaderTranslucencyByDistance=!1,this._compiledShaderTranslucencyByDistancePick=!1,this._shaderPixelOffsetScaleByDistance=!1,this._compiledShaderPixelOffsetScaleByDistance=!1,this._compiledShaderPixelOffsetScaleByDistancePick=!1,this._propertiesChanged=new Uint32Array(it),this._maxSize=0,this._maxEyeOffset=0,this._maxScale=1,this._maxPixelOffset=0,this._allHorizontalCenter=!0,this._baseVolume=new d,this._baseVolumeWC=new d,this._baseVolume2D=new d,this._boundingVolume=new d,this._boundingVolumeDirty=!1,this._colorCommands=[],this._pickCommands=[],this.modelMatrix=l.clone(i(e.modelMatrix,l.IDENTITY)),this._modelMatrix=l.clone(l.IDENTITY),this.debugShowBoundingVolume=i(e.debugShowBoundingVolume,!1),this._mode=_.SCENE3D,this._projection=void 0,this._buffersUsage=[p.STATIC_DRAW,p.STATIC_DRAW,p.STATIC_DRAW,p.STATIC_DRAW,p.STATIC_DRAW,p.STATIC_DRAW,p.STATIC_DRAW,p.STATIC_DRAW,p.STATIC_DRAW,p.STATIC_DRAW,p.STATIC_DRAW,p.STATIC_DRAW,p.STATIC_DRAW,p.STATIC_DRAW];var t=this;this._uniforms={u_atlas:function(){return t._textureAtlas.getTexture()}}};lt.prototype.add=function(e){var t=new w(e,this);return t._index=this._billboards.length,this._billboards.push(t),this._createVertexArray=!0,t},lt.prototype.remove=function(e){return this.contains(e)?(this._billboards[e._index]=null,this._billboardsRemoved=!0,this._createVertexArray=!0,e._destroy(),!0):!1},lt.prototype.removeAll=function(){this._destroyBillboards(),this._billboards=[],this._billboardsToUpdate=[],this._billboardsToUpdateIndex=0,this._billboardsRemoved=!1,this._createVertexArray=!0},lt.prototype._updateBillboard=function(e,t){e._dirty||(this._billboardsToUpdate[this._billboardsToUpdateIndex++]=e),++this._propertiesChanged[t]},lt.prototype.contains=function(t){return e(t)&&t._billboardCollection===this},lt.prototype.get=function(r){if(!e(r))throw new t("index is required.");return E(this),this._billboards[r]},lt.prototype.getLength=function(){return E(this),this._billboards.length},lt.prototype.getTextureAtlas=function(){return this._textureAtlas},lt.prototype.setTextureAtlas=function(e){this._textureAtlas!==e&&(this._textureAtlas=this._destroyTextureAtlas&&this._textureAtlas&&this._textureAtlas.destroy(),this._textureAtlas=e,this._createVertexArray=!0)},lt.prototype.getDestroyTextureAtlas=function(){return this._destroyTextureAtlas},lt.prototype.setDestroyTextureAtlas=function(e){this._destroyTextureAtlas=e},lt.prototype.computeNewBuffersUsage=function(){for(var e=this._buffersUsage,t=!1,r=this._propertiesChanged,i=0;it>i;++i){var n=0===r[i]?p.STATIC_DRAW:p.STREAM_DRAW;t=t||e[i]!==n,e[i]=n}return t};var ut=new s,ct=new o,ht=new a,dt=new a;return lt.prototype.update=function(t,r,i){var n=this._textureAtlas;if(e(n)){var o=n.getTextureCoordinates();if(0!==o.length){E(this),U(this,r);var a=this._billboards,s=a.length,u=this._billboardsToUpdate,c=this._billboardsToUpdateIndex,p=this._propertiesChanged,y=n.getGUID(),w=this._createVertexArray||this._textureAtlasGUID!==y;this._textureAtlasGUID=y;var C,b=r.passes,I=b.pick;if(w||!I&&this.computeNewBuffersUsage()){this._createVertexArray=!1;for(var k=0;it>k;++k)p[k]=0;if(this._vaf=this._vaf&&this._vaf.destroy(),s>0){this._vaf=A(t,s,this._buffersUsage),C=this._vaf.writers;for(var ot=0;s>ot;++ot){var lt=this._billboards[ot];lt._dirty=!1,V(this,t,o,C,lt)}this._vaf.commit(T(t))}this._billboardsToUpdateIndex=0}else if(c>0){var ut=[];if(p[G]&&ut.push(D),p[H]&&ut.push(P),(p[j]||p[Z])&&ut.push(M),p[J]&&ut.push(L),p[K]&&ut.push(O),(p[Y]||p[X]||p[q])&&ut.push(R),(p[Q]||p[$])&&ut.push(z),p[et]&&ut.push(N),p[tt]&&ut.push(B),p[rt]&&ut.push(F),C=this._vaf.writers,c/s>.1){for(var ct=0;c>ct;++ct){var ht=u[ct]; -ht._dirty=!1;for(var dt=0;dtmt;++mt){var pt=u[mt];pt._dirty=!1;for(var ft=0;ft1.5*s&&(u.length=s),e(this._vaf)&&e(this._vaf.vaByPurpose)){this._boundingVolumeDirty&&(this._boundingVolumeDirty=!1,d.transform(this._baseVolume,this.modelMatrix,this._baseVolumeWC));var vt,yt=l.IDENTITY;r.mode===_.SCENE3D?(yt=this.modelMatrix,vt=d.clone(this._baseVolumeWC,this._boundingVolume)):vt=d.clone(this._baseVolume2D,this._boundingVolume),W(this,t,r,vt);var gt,_t,wt,Ct;if(b.render){var xt=this._colorCommands;for(e(this._rs)||(this._rs=t.createRenderState({depthTest:{enabled:!0},blending:m.ALPHA_BLEND})),(!e(this._sp)||this._shaderRotation&&!this._compiledShaderRotation||this._shaderScaleByDistance&&!this._compiledShaderScaleByDistance||this._shaderTranslucencyByDistance&&!this._compiledShaderTranslucencyByDistance||this._shaderPixelOffsetScaleByDistance&&!this._compiledShaderPixelOffsetScaleByDistance)&&(this._sp=t.getShaderCache().replaceShaderProgram(this._sp,g({defines:[this._shaderRotation?"ROTATION":"",this._shaderScaleByDistance?"EYE_DISTANCE_SCALING":"",this._shaderTranslucencyByDistance?"EYE_DISTANCE_TRANSLUCENCY":"",this._shaderPixelOffsetScaleByDistance?"EYE_DISTANCE_PIXEL_OFFSET":""],sources:[x]}),S,nt),this._compiledShaderRotation=this._shaderRotation,this._compiledShaderScaleByDistance=this._shaderScaleByDistance,this._compiledShaderTranslucencyByDistance=this._shaderTranslucencyByDistance,this._compiledShaderPixelOffsetScaleByDistance=this._shaderPixelOffsetScaleByDistance),gt=this._vaf.vaByPurpose[at],_t=gt.length,xt.length=_t,Ct=0;_t>Ct;++Ct)wt=xt[Ct],e(wt)||(wt=xt[Ct]=new f),wt.boundingVolume=vt,wt.modelMatrix=yt,wt.primitiveType=h.TRIANGLES,wt.count=gt[Ct].indicesCount,wt.shaderProgram=this._sp,wt.uniformMap=this._uniforms,wt.vertexArray=gt[Ct].va,wt.renderState=this._rs,wt.pass=v.OPAQUE,wt.owner=this,wt.debugShowBoundingVolume=this.debugShowBoundingVolume,i.push(wt)}if(I){var St=this._pickCommands;for((!e(this._spPick)||this._shaderRotation&&!this._compiledShaderRotationPick||this._shaderScaleByDistance&&!this._compiledShaderScaleByDistancePick||this._shaderTranslucencyByDistance&&!this._compiledShaderTranslucencyByDistancePick||this._shaderPixelOffsetScaleByDistance&&!this._compiledShaderPixelOffsetScaleByDistancePick)&&(this._spPick=t.getShaderCache().replaceShaderProgram(this._spPick,g({defines:["RENDER_FOR_PICK",this._shaderRotation?"ROTATION":"",this._shaderScaleByDistance?"EYE_DISTANCE_SCALING":"",this._shaderTranslucencyByDistance?"EYE_DISTANCE_TRANSLUCENCY":"",this._shaderPixelOffsetScaleByDistance?"EYE_DISTANCE_PIXEL_OFFSET":""],sources:[x]}),g({defines:["RENDER_FOR_PICK"],sources:[S]}),nt),this._compiledShaderRotationPick=this._shaderRotation,this._compiledShaderScaleByDistancePick=this._shaderScaleByDistance,this._compiledShaderTranslucencyByDistancePick=this._shaderTranslucencyByDistance,this._compiledShaderPixelOffsetScaleByDistancePick=this._shaderPixelOffsetScaleByDistance),gt=this._vaf.vaByPurpose[st],_t=gt.length,St.length=_t,Ct=0;_t>Ct;++Ct)wt=St[Ct],e(wt)||(wt=St[Ct]=new f),wt.boundingVolume=vt,wt.modelMatrix=yt,wt.primitiveType=h.TRIANGLES,wt.count=gt[Ct].indicesCount,wt.shaderProgram=this._spPick,wt.uniformMap=this._uniforms,wt.vertexArray=gt[Ct].va,wt.renderState=this._rs,wt.pass=v.OPAQUE,wt.owner=this,i.push(wt)}}}}},lt.prototype.isDestroyed=function(){return!1},lt.prototype.destroy=function(){return this._textureAtlas=this._destroyTextureAtlas&&this._textureAtlas&&this._textureAtlas.destroy(),this._sp=this._sp&&this._sp.release(),this._spPick=this._spPick&&this._spPick.release(),this._vaf=this._vaf&&this._vaf.destroy(),this._destroyBillboards(),n(this)},lt.prototype._destroyBillboards=function(){for(var e=this._billboards,t=e.length,r=0;t>r;++r)e[r]&&e[r]._destroy()},lt}),r("Renderer/TextureAtlasBuilder",["../Core/Event","../Core/defined","../Core/DeveloperError","../Core/loadImage"],function(e,t,r,i){"use strict";function n(){this.imageLoaded=new e,this.index=-1,this.loaded=!1}var o=function(e){if(!t(e))throw new r("textureAtlas is required.");this.textureAtlas=e,this._idHash={}};return o.prototype.addTextureFromUrl=function(e,n){if(!t(e))throw new r("url is required.");if(!t(n))throw new r("textureAvailableCallback is required.");this.addTextureFromFunction(e,function(e,t){i(e).then(t)},n)},o.prototype.addTextureFromFunction=function(e,i,o){if(!t(e))throw new r("id is required.");if(!t(i))throw new r("getImageCallback is required.");if(!t(o))throw new r("textureAvailableCallback is required.");var a=this._idHash[e];if(t(a))return a.loaded?o(a.index):a.imageLoaded.addEventListener(o),void 0;this._idHash[e]=a=new n,a.imageLoaded.addEventListener(o);var s=this;i(e,function(t){if(!s.textureAtlas.isDestroyed()){var r=a.index=s.textureAtlas.addImage(t);a.loaded=!0,a.imageLoaded.raiseEvent(r,e),a.imageLoaded=void 0}})},o}),r("DynamicScene/DynamicBillboardVisualizer",["../Core/DeveloperError","../Core/defined","../Core/destroyObject","../Core/Color","../Core/Cartesian2","../Core/Cartesian3","../Scene/BillboardCollection","../Scene/HorizontalOrigin","../Scene/VerticalOrigin","../Renderer/TextureAtlasBuilder"],function(e,t,r,i,n,o,a,s,l,u){"use strict";function c(e,r,i){return function(n){var o=e._billboardVisualizerIndex;if(t(o)){var a=r.get(o);a._visualizerUrl===i&&(a._visualizerTextureAvailable=!0,a.setImageIndex(n))}}}function h(e,r,a){var u=a._billboard;if(t(u)){var h=a._position;if(t(h)){var d=u._image;if(t(d)){var y,g=u._show,_=a._billboardVisualizerIndex,w=a.isAvailable(r)&&(!t(g)||g.getValue(r));if(!w)return t(_)&&(y=e._billboardCollection.get(_),y.setShow(!1),y.setImageIndex(-1),y._visualizerUrl=void 0,y._visualizerTextureAvailable=!1,a._billboardVisualizerIndex=void 0,e._unusedIndexes.push(_)),void 0;if(t(_))y=e._billboardCollection.get(_);else{var C=e._unusedIndexes,x=C.length;x>0?(_=C.pop(),y=e._billboardCollection.get(_)):(_=e._billboardCollection.getLength(),y=e._billboardCollection.add()),a._billboardVisualizerIndex=_,y.dynamicObject=a,y._visualizerUrl=void 0,y._visualizerTextureAvailable=!1,y.setColor(i.WHITE),y.setEyeOffset(o.ZERO),y.setPixelOffset(n.ZERO),y.setScale(1),y.setHorizontalOrigin(s.CENTER),y.setVerticalOrigin(l.CENTER)}var S=d.getValue(r);if(S!==y._visualizerUrl&&(y._visualizerUrl=S,y._visualizerTextureAvailable=!1,e._textureAtlasBuilder.addTextureFromUrl(S,c(a,e._billboardCollection,S))),y.setShow(y._visualizerTextureAvailable),y._visualizerTextureAvailable){m=h.getValue(r,m),t(m)&&y.setPosition(m);var E=u._color;if(t(E)&&(p=E.getValue(r,p),t(p)&&y.setColor(p)),E=u._eyeOffset,t(E)&&(f=E.getValue(r,f),t(f)&&y.setEyeOffset(f)),E=u._pixelOffset,t(E)&&(v=E.getValue(r,v),t(v)&&y.setPixelOffset(v)),E=u._scale,t(E)){var b=E.getValue(r);t(b)&&y.setScale(b)}if(E=u._rotation,t(E)){var T=E.getValue(r);t(T)&&y.setRotation(T)}if(E=u._alignedAxis,t(E)){var A=E.getValue(r);t(A)&&y.setAlignedAxis(A)}if(E=u._horizontalOrigin,t(E)){var D=E.getValue(r);t(D)&&y.setHorizontalOrigin(D)}if(E=u._verticalOrigin,t(E)){var P=E.getValue(r);t(P)&&y.setVerticalOrigin(P)}E=u._width,t(E)&&y.setWidth(E.getValue(r)),E=u._height,t(E)&&y.setHeight(E.getValue(r)),E=u._scaleByDistance,t(E)&&y.setScaleByDistance(E.getValue(r)),E=u._translucencyByDistance,t(E)&&y.setTranslucencyByDistance(E.getValue(r)),E=u._pixelOffsetScaleByDistance,t(E)&&y.setPixelOffsetScaleByDistance(E.getValue(r))}}}}}var d=function(r,i){if(!t(r))throw new e("scene is required.");this._scene=r,this._unusedIndexes=[],this._dynamicObjectCollection=void 0;var n=this._billboardCollection=new a,o=this._textureAtlas=r.getContext().createTextureAtlas();this._textureAtlasBuilder=new u(o),n.setTextureAtlas(o),r.getPrimitives().add(n),this.setDynamicObjectCollection(i)};d.prototype.getScene=function(){return this._scene},d.prototype.getDynamicObjectCollection=function(){return this._dynamicObjectCollection},d.prototype.setDynamicObjectCollection=function(e){var r=this._dynamicObjectCollection;r!==e&&(t(r)&&(r.collectionChanged.removeEventListener(d.prototype._onObjectsRemoved,this),this.removeAllPrimitives()),this._dynamicObjectCollection=e,t(e)&&e.collectionChanged.addEventListener(d.prototype._onObjectsRemoved,this))},d.prototype.update=function(r){if(!t(r))throw new e("time is requied.");if(t(this._dynamicObjectCollection))for(var i=this._dynamicObjectCollection.getObjects(),n=0,o=i.length;o>n;n++)h(this,r,i[n])},d.prototype.removeAllPrimitives=function(){if(t(this._dynamicObjectCollection)){this._unusedIndexes=[],this._billboardCollection.removeAll();for(var e=this._dynamicObjectCollection.getObjects(),r=e.length-1;r>-1;r--)e[r]._billboardVisualizerIndex=void 0}},d.prototype.isDestroyed=function(){return!1},d.prototype.destroy=function(){return this.removeAllPrimitives(),this._scene.getPrimitives().remove(this._billboardCollection),r(this)};var m,p,f,v;return d.prototype._onObjectsRemoved=function(e,r,i){for(var n=this._billboardCollection,o=this._unusedIndexes,a=i.length-1;a>-1;a--){var s=i[a],l=s._billboardVisualizerIndex;if(t(l)){var u=n.get(l);u.setShow(!1),u.setImageIndex(-1),u._visualizerUrl=void 0,u._visualizerTextureAvailable=!1,s._billboardVisualizerIndex=void 0,o.push(l)}}},d}),r("Renderer/CullFace",["../Core/Enumeration"],function(e){"use strict";var t={FRONT:new e(1028,"FRONT"),BACK:new e(1029,"BACK"),FRONT_AND_BACK:new e(1032,"FRONT_AND_BACK"),validate:function(e){return e===t.FRONT||e===t.BACK||e===t.FRONT_AND_BACK}};return t}),r("Renderer/MipmapHint",["../Core/Enumeration"],function(e){"use strict";var t={DONT_CARE:new e(4352,"DONT_CARE"),FASTEST:new e(4353,"FASTEST"),NICEST:new e(4354,"NICEST"),validate:function(e){return e===t.DONT_CARE||e===t.FASTEST||e===t.NICEST}};return t}),r("Renderer/PixelDatatype",["../Core/Enumeration"],function(e){"use strict";var t={UNSIGNED_BYTE:new e(5121,"UNSIGNED_BYTE"),UNSIGNED_SHORT:new e(5123,"UNSIGNED_SHORT"),UNSIGNED_INT:new e(5125,"UNSIGNED_INT"),FLOAT:new e(5126,"FLOAT"),UNSIGNED_INT_24_8_WEBGL:new e(34042,"UNSIGNED_INT_24_8_WEBGL"),UNSIGNED_SHORT_4_4_4_4:new e(32819,"UNSIGNED_SHORT_4_4_4_4"),UNSIGNED_SHORT_5_5_5_1:new e(32820,"UNSIGNED_SHORT_5_5_5_1"),UNSIGNED_SHORT_5_6_5:new e(33635,"UNSIGNED_SHORT_5_6_5"),validate:function(e){return e===t.UNSIGNED_BYTE||e===t.UNSIGNED_SHORT||e===t.UNSIGNED_INT||e===t.FLOAT||e===t.UNSIGNED_INT_24_8_WEBGL||e===t.UNSIGNED_SHORT_4_4_4_4||e===t.UNSIGNED_SHORT_5_5_5_1||e===t.UNSIGNED_SHORT_5_6_5}};return t}),r("Renderer/PixelFormat",[],function(){"use strict";var e={DEPTH_COMPONENT:6402,DEPTH_STENCIL:34041,ALPHA:6406,RGB:6407,RGBA:6408,LUMINANCE:6409,LUMINANCE_ALPHA:6410,validate:function(t){return t===e.DEPTH_COMPONENT||t===e.DEPTH_STENCIL||t===e.ALPHA||t===e.RGB||t===e.RGBA||t===e.LUMINANCE||t===e.LUMINANCE_ALPHA},isColorFormat:function(t){return t===e.ALPHA||t===e.RGB||t===e.RGBA||t===e.LUMINANCE||t===e.LUMINANCE_ALPHA},isDepthFormat:function(t){return t===e.DEPTH_COMPONENT||t===e.DEPTH_STENCIL}};return e}),r("Renderer/TextureMagnificationFilter",[],function(){"use strict";var e={NEAREST:9728,LINEAR:9729,validate:function(t){return t===e.NEAREST||t===e.LINEAR}};return e}),r("Renderer/TextureMinificationFilter",[],function(){"use strict";var e={NEAREST:9728,LINEAR:9729,NEAREST_MIPMAP_NEAREST:9984,LINEAR_MIPMAP_NEAREST:9985,NEAREST_MIPMAP_LINEAR:9986,LINEAR_MIPMAP_LINEAR:9987,validate:function(t){return t===e.NEAREST||t===e.LINEAR||t===e.NEAREST_MIPMAP_NEAREST||t===e.LINEAR_MIPMAP_NEAREST||t===e.NEAREST_MIPMAP_LINEAR||t===e.LINEAR_MIPMAP_LINEAR}};return e}),r("Renderer/TextureWrap",[],function(){"use strict";var e={CLAMP_TO_EDGE:33071,REPEAT:10497,MIRRORED_REPEAT:33648,validate:function(t){return t===e.CLAMP_TO_EDGE||t===e.REPEAT||t===e.MIRRORED_REPEAT}};return e}),r("Renderer/Texture",["../Core/Cartesian2","../Core/defaultValue","../Core/defined","../Core/destroyObject","../Core/DeveloperError","../Core/Math","./MipmapHint","./PixelDatatype","./PixelFormat","./TextureMagnificationFilter","./TextureMinificationFilter","./TextureWrap"],function(e,t,r,i,n,o,a,s,l,u,c,h){"use strict";var d=function(t,r,i,n,o,a,s,l,u,c){this._gl=t,this._textureFilterAnisotropic=r,this._textureTarget=i,this._texture=n,this._pixelFormat=o,this._pixelDatatype=a,this._width=s,this._height=l,this._dimensions=new e(s,l),this._preMultiplyAlpha=u,this._flipY=c,this._sampler=void 0,this.setSampler()};return d.prototype.copyFrom=function(e,i,o){if(!r(e))throw new n("source is required.");if(l.isDepthFormat(this._pixelFormat))throw new n("Cannot call copyFrom when the texture pixel format is DEPTH_COMPONENT or DEPTH_STENCIL.");if(i=t(i,0),o=t(o,0),0>i)throw new n("xOffset must be greater than or equal to zero.");if(0>o)throw new n("yOffset must be greater than or equal to zero.");var a=e.width,s=e.height;if(i+a>this._width)throw new n("xOffset + source.width must be less than or equal to getWidth().");if(o+s>this._height)throw new n("yOffset + source.height must be less than or equal to getHeight().");var u=this._gl,c=this._textureTarget;u.pixelStorei(u.UNPACK_PREMULTIPLY_ALPHA_WEBGL,this._preMultiplyAlpha),u.pixelStorei(u.UNPACK_FLIP_Y_WEBGL,this._flipY),u.activeTexture(u.TEXTURE0),u.bindTexture(c,this._texture),e.arrayBufferView?u.texSubImage2D(c,0,i,o,a,s,this._pixelFormat,+this._pixelDatatype,e.arrayBufferView):u.texSubImage2D(c,0,i,o,this._pixelFormat,this._pixelDatatype,e),u.bindTexture(c,null)},d.prototype.copyFromFramebuffer=function(e,r,i,o,a,u){if(l.isDepthFormat(this._pixelFormat))throw new n("Cannot call copyFromFramebuffer when the texture pixel format is DEPTH_COMPONENT or DEPTH_STENCIL.");if(this._pixelDatatype===s.FLOAT)throw new n("Cannot call copyFromFramebuffer when the texture pixel data type is FLOAT.");if(e=t(e,0),r=t(r,0),i=t(i,0),o=t(o,0),a=t(a,this._width),u=t(u,this._height),0>e)throw new n("xOffset must be greater than or equal to zero.");if(0>r)throw new n("yOffset must be greater than or equal to zero.");if(0>i)throw new n("framebufferXOffset must be greater than or equal to zero.");if(0>o)throw new n("framebufferYOffset must be greater than or equal to zero.");if(e+a>this._width)throw new n("xOffset + width must be less than or equal to getWidth().");if(r+u>this._height)throw new n("yOffset + height must be less than or equal to getHeight().");var c=this._gl,h=this._textureTarget;c.activeTexture(c.TEXTURE0),c.bindTexture(h,this._texture),c.copyTexSubImage2D(h,0,e,r,i,o,a,u),c.bindTexture(h,null)},d.prototype.generateMipmap=function(e){if(l.isDepthFormat(this._pixelFormat))throw new n("Cannot call generateMipmap when the texture pixel format is DEPTH_COMPONENT or DEPTH_STENCIL.");if(this._width>1&&!o.isPowerOfTwo(this._width))throw new n("width must be a power of two to call generateMipmap().");if(this._height>1&&!o.isPowerOfTwo(this._height))throw new n("height must be a power of two to call generateMipmap().");if(e=t(e,a.DONT_CARE),!a.validate(e))throw new n("hint is invalid.");var r=this._gl,i=this._textureTarget;r.hint(r.GENERATE_MIPMAP_HINT,e),r.activeTexture(r.TEXTURE0),r.bindTexture(i,this._texture),r.generateMipmap(i),r.bindTexture(i,null)},d.prototype.getSampler=function(){return this._sampler},d.prototype.setSampler=function(e){if(!r(e)){var t=c.LINEAR,i=u.LINEAR;this._pixelDatatype===s.FLOAT&&(t=c.NEAREST,i=u.NEAREST),e={wrapS:h.CLAMP_TO_EDGE,wrapT:h.CLAMP_TO_EDGE,minificationFilter:t,magnificationFilter:i,maximumAnisotropy:1}}if(this._pixelDatatype===s.FLOAT){if(e.minificationFilter!==c.NEAREST&&e.minificationFilter!==c.NEAREST_MIPMAP_NEAREST)throw new n("Only NEAREST and NEAREST_MIPMAP_NEAREST minification filters are supported for floating point textures.");if(e.magnificationFilter!==u.NEAREST)throw new n("Only the NEAREST magnification filter is supported for floating point textures.")}var o=this._gl,a=this._textureTarget;o.activeTexture(o.TEXTURE0),o.bindTexture(a,this._texture),o.texParameteri(a,o.TEXTURE_MIN_FILTER,e.minificationFilter),o.texParameteri(a,o.TEXTURE_MAG_FILTER,e.magnificationFilter),o.texParameteri(a,o.TEXTURE_WRAP_S,e.wrapS),o.texParameteri(a,o.TEXTURE_WRAP_T,e.wrapT),r(this._textureFilterAnisotropic)&&o.texParameteri(a,this._textureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,e.maximumAnisotropy),o.bindTexture(a,null),this._sampler={wrapS:e.wrapS,wrapT:e.wrapT,minificationFilter:e.minificationFilter,magnificationFilter:e.magnificationFilter,maximumAnisotropy:e.maximumAnisotropy}},d.prototype.getPixelFormat=function(){return this._pixelFormat},d.prototype.getPixelDatatype=function(){return this._pixelDatatype},d.prototype.getDimensions=function(){return this._dimensions},d.prototype.getPreMultiplyAlpha=function(){return this._preMultiplyAlpha},d.prototype.getFlipY=function(){return this._flipY},d.prototype.getWidth=function(){return this._width},d.prototype.getHeight=function(){return this._height},d.prototype._getTexture=function(){return this._texture},d.prototype._getTarget=function(){return this._textureTarget},d.prototype.isDestroyed=function(){return!1},d.prototype.destroy=function(){return this._gl.deleteTexture(this._texture),i(this)},d}),r("Renderer/CubeMapFace",["../Core/defaultValue","../Core/DeveloperError","./PixelDatatype"],function(e,t,r){"use strict";var i=function(e,t,r,i,n,o,a,s,l){this._gl=e,this._texture=t,this._textureTarget=r,this._targetFace=i,this._pixelFormat=n,this._pixelDatatype=o,this._size=a,this._preMultiplyAlpha=s,this._flipY=l};return i.prototype.copyFrom=function(r,i,n){if(!r)throw new t("source is required.");i=e(i,0),n=e(n,0);var o=r.width,a=r.height;if(0>i)throw new t("xOffset must be greater than or equal to zero.");if(0>n)throw new t("yOffset must be greater than or equal to zero.");if(i+o>this._size)throw new t("xOffset + source.width must be less than or equal to getWidth().");if(n+a>this._size)throw new t("yOffset + source.height must be less than or equal to getHeight().");var s=this._gl,l=this._textureTarget;s.pixelStorei(s.UNPACK_PREMULTIPLY_ALPHA_WEBGL,this._preMultiplyAlpha),s.pixelStorei(s.UNPACK_FLIP_Y_WEBGL,this._flipY),s.activeTexture(s.TEXTURE0),s.bindTexture(l,this._texture),r.arrayBufferView?s.texSubImage2D(this._targetFace,0,i,n,o,a,this._pixelFormat,+this._pixelDatatype,r.arrayBufferView):s.texSubImage2D(this._targetFace,0,i,n,this._pixelFormat,+this._pixelDatatype,r),s.bindTexture(l,null)},i.prototype.copyFromFramebuffer=function(i,n,o,a,s,l){if(i=e(i,0),n=e(n,0),o=e(o,0),a=e(a,0),s=e(s,this._size),l=e(l,this._size),0>i)throw new t("xOffset must be greater than or equal to zero.");if(0>n)throw new t("yOffset must be greater than or equal to zero.");if(0>o)throw new t("framebufferXOffset must be greater than or equal to zero.");if(0>a)throw new t("framebufferYOffset must be greater than or equal to zero.");if(i+s>this._size)throw new t("xOffset + source.width must be less than or equal to getWidth().");if(n+l>this._size)throw new t("yOffset + source.height must be less than or equal to getHeight().");if(this._pixelDatatype===r.FLOAT)throw new t("Cannot call copyFromFramebuffer when the texture pixel data type is FLOAT.");var u=this._gl,c=this._textureTarget;u.activeTexture(u.TEXTURE0),u.bindTexture(c,this._texture),u.copyTexSubImage2D(this._targetFace,0,i,n,o,a,s,l),u.bindTexture(c,null)},i.prototype.getPixelFormat=function(){return this._pixelFormat},i.prototype.getPixelDatatype=function(){return this._pixelDatatype},i.prototype._getTexture=function(){return this._texture},i.prototype._getTarget=function(){return this._targetFace},i}),r("Renderer/CubeMap",["../Core/defined","../Core/DeveloperError","../Core/destroyObject","../Core/Math","./MipmapHint","./PixelDatatype","./TextureMagnificationFilter","./TextureMinificationFilter","./TextureWrap","./CubeMapFace"],function(e,t,r,i,n,o,a,s,l,u){"use strict";var c=function(e,t,r,i,n,o,a,s,l){this._gl=e,this._textureFilterAnisotropic=t,this._textureTarget=r,this._texture=i,this._pixelFormat=n,this._pixelDatatype=o,this._size=a,this._preMultiplyAlpha=s,this._flipY=l,this._sampler=void 0,this._positiveX=new u(e,i,r,e.TEXTURE_CUBE_MAP_POSITIVE_X,n,o,a,s,l),this._negativeX=new u(e,i,r,e.TEXTURE_CUBE_MAP_NEGATIVE_X,n,o,a,s,l),this._positiveY=new u(e,i,r,e.TEXTURE_CUBE_MAP_POSITIVE_Y,n,o,a,s,l),this._negativeY=new u(e,i,r,e.TEXTURE_CUBE_MAP_NEGATIVE_Y,n,o,a,s,l),this._positiveZ=new u(e,i,r,e.TEXTURE_CUBE_MAP_POSITIVE_Z,n,o,a,s,l),this._negativeZ=new u(e,i,r,e.TEXTURE_CUBE_MAP_NEGATIVE_Z,n,o,a,s,l),this.setSampler()};return c.prototype.getPositiveX=function(){return this._positiveX},c.prototype.getNegativeX=function(){return this._negativeX},c.prototype.getPositiveY=function(){return this._positiveY},c.prototype.getNegativeY=function(){return this._negativeY},c.prototype.getPositiveZ=function(){return this._positiveZ},c.prototype.getNegativeZ=function(){return this._negativeZ},c.prototype.generateMipmap=function(e){if(this._size>1&&!i.isPowerOfTwo(this._size))throw new t("width and height must be a power of two to call generateMipmap().");if(e=e||n.DONT_CARE,!n.validate(e))throw new t("hint is invalid.");var r=this._gl,o=this._textureTarget;r.hint(r.GENERATE_MIPMAP_HINT,e),r.activeTexture(r.TEXTURE0),r.bindTexture(o,this._texture),r.generateMipmap(o),r.bindTexture(o,null)},c.prototype.setSampler=function(r){if(!e(r)){var i=s.LINEAR,n=a.LINEAR;this._pixelDatatype===o.FLOAT&&(i=s.NEAREST,n=a.NEAREST),r={wrapS:l.CLAMP_TO_EDGE,wrapT:l.CLAMP_TO_EDGE,minificationFilter:i,magnificationFilter:n,maximumAnisotropy:1}}if(this._pixelDatatype===o.FLOAT){if(r.minificationFilter!==s.NEAREST&&r.minificationFilter!==s.NEAREST_MIPMAP_NEAREST)throw new t("Only NEAREST and NEAREST_MIPMAP_NEAREST minification filters are supported for floating point textures.");if(r.magnificationFilter!==a.NEAREST)throw new t("Only the NEAREST magnification filter is supported for floating point textures.")}var u=this._gl,c=this._textureTarget;u.activeTexture(u.TEXTURE0),u.bindTexture(c,this._texture),u.texParameteri(c,u.TEXTURE_MIN_FILTER,r.minificationFilter),u.texParameteri(c,u.TEXTURE_MAG_FILTER,r.magnificationFilter),u.texParameteri(c,u.TEXTURE_WRAP_S,r.wrapS),u.texParameteri(c,u.TEXTURE_WRAP_T,r.wrapT),e(this._textureFilterAnisotropic)&&u.texParameteri(c,this._textureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,r.maximumAnisotropy),u.bindTexture(c,null),this._sampler={wrapS:r.wrapS,wrapT:r.wrapT,minificationFilter:r.minificationFilter,magnificationFilter:r.magnificationFilter,maximumAnisotropy:r.maximumAnisotropy}},c.prototype.getSampler=function(){return this._sampler},c.prototype.getPixelFormat=function(){return this._pixelFormat},c.prototype.getPixelDatatype=function(){return this._pixelDatatype},c.prototype.getWidth=function(){return this._size},c.prototype.getHeight=function(){return this._size},c.prototype.getPreMultiplyAlpha=function(){return this._preMultiplyAlpha},c.prototype.getFlipY=function(){return this._flipY},c.prototype._getTexture=function(){return this._texture},c.prototype._getTarget=function(){return this._textureTarget},c.prototype.isDestroyed=function(){return!1},c.prototype.destroy=function(){return this._gl.deleteTexture(this._texture),this._positiveX=r(this._positiveX),this._negativeX=r(this._negativeX),this._positiveY=r(this._positiveY),this._negativeY=r(this._negativeY),this._positiveZ=r(this._positiveZ),this._negativeZ=r(this._negativeZ),r(this)},c}),r("Shaders/Materials/AsphaltMaterial",[],function(){"use strict";return"uniform vec4 asphaltColor;\nuniform float bumpSize;\nuniform float roughness;\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\nczm_material material = czm_getDefaultMaterial(materialInput);\nvec4 color = asphaltColor;\nvec2 st = materialInput.st;\nvec2 F = czm_cellular(st / bumpSize);\ncolor.rgb -= (F.x / F.y) * 0.1;\nfloat noise = czm_snoise(st / bumpSize);\nnoise = pow(noise, 5.0) * roughness;\ncolor.rgb += noise;\nmaterial.diffuse = color.rgb;\nmaterial.alpha = color.a;\nreturn material;\n}\n"}),r("Shaders/Materials/BlobMaterial",[],function(){"use strict";return"uniform vec4 lightColor;\nuniform vec4 darkColor;\nuniform float frequency;\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\nczm_material material = czm_getDefaultMaterial(materialInput);\nvec2 F = czm_cellular(materialInput.st * frequency);\nfloat t = 1.0 - F.x * F.x;\nvec4 color = mix(lightColor, darkColor, t);\nmaterial.diffuse = color.rgb;\nmaterial.alpha = color.a;\nreturn material;\n}\n"}),r("Shaders/Materials/BrickMaterial",[],function(){"use strict";return"uniform vec4 brickColor;\nuniform vec4 mortarColor;\nuniform vec2 brickSize;\nuniform vec2 brickPct;\nuniform float brickRoughness;\nuniform float mortarRoughness;\n#define Integral(x, p) ((floor(x) * p) + max(fract(x) - (1.0 - p), 0.0))\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\nczm_material material = czm_getDefaultMaterial(materialInput);\nvec2 st = materialInput.st;\nvec2 position = st / brickSize;\nif(fract(position.y * 0.5) > 0.5) {\nposition.x += 0.5;\n}\nvec2 filterWidth = vec2(0.02);\nvec2 useBrick = (Integral(position + filterWidth, brickPct) -\nIntegral(position, brickPct)) / filterWidth;\nfloat useBrickFinal = useBrick.x * useBrick.y;\nvec4 color = mix(mortarColor, brickColor, useBrickFinal);\nvec2 brickScaled = vec2(st.x / 0.1, st.y / 0.006);\nfloat brickNoise = abs(czm_snoise(brickScaled) * brickRoughness / 5.0);\ncolor.rg += brickNoise * useBrickFinal;\nvec2 mortarScaled = st / 0.005;\nfloat mortarNoise = max(czm_snoise(mortarScaled) * mortarRoughness, 0.0);\ncolor.rgb += mortarNoise * (1.0 - useBrickFinal);\nmaterial.diffuse = color.rgb;\nmaterial.alpha = color.a;\nreturn material;\n}\n"}),r("Shaders/Materials/BumpMapMaterial",[],function(){"use strict";return"uniform sampler2D image;\nuniform float strength;\nuniform vec2 repeat;\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\nczm_material material = czm_getDefaultMaterial(materialInput);\nvec2 st = materialInput.st;\nvec2 centerPixel = fract(repeat * st);\nfloat centerBump = texture2D(image, centerPixel).channel;\nfloat imageWidth = float(imageDimensions.x);\nvec2 rightPixel = fract(repeat * (st + vec2(1.0 / imageWidth, 0.0)));\nfloat rightBump = texture2D(image, rightPixel).channel;\nfloat imageHeight = float(imageDimensions.y);\nvec2 leftPixel = fract(repeat * (st + vec2(0.0, 1.0 / imageHeight)));\nfloat topBump = texture2D(image, leftPixel).channel;\nvec3 normalTangentSpace = normalize(vec3(centerBump - rightBump, centerBump - topBump, clamp(1.0 - strength, 0.1, 1.0)));\nvec3 normalEC = materialInput.tangentToEyeMatrix * normalTangentSpace;\nmaterial.normal = normalEC;\nmaterial.diffuse = vec3(0.01);\nreturn material;\n}\n"}),r("Shaders/Materials/CementMaterial",[],function(){"use strict";return"uniform vec4 cementColor;\nuniform float grainScale;\nuniform float roughness;\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\nczm_material material = czm_getDefaultMaterial(materialInput);\nfloat noise = czm_snoise(materialInput.st / grainScale);\nnoise = pow(noise, 5.0) * roughness;\nvec4 color = cementColor;\ncolor.rgb += noise;\nmaterial.diffuse = color.rgb;\nmaterial.alpha = color.a;\nreturn material;\n}\n"}),r("Shaders/Materials/CheckerboardMaterial",[],function(){"use strict";return"uniform vec4 lightColor;\nuniform vec4 darkColor;\nuniform vec2 repeat;\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\nczm_material material = czm_getDefaultMaterial(materialInput);\nvec2 st = materialInput.st;\nfloat b = mod(floor(repeat.s * st.s) + floor(repeat.t * st.t), 2.0);\nfloat scaledWidth = fract(repeat.s * st.s);\nscaledWidth = abs(scaledWidth - floor(scaledWidth + 0.5));\nfloat scaledHeight = fract(repeat.t * st.t);\nscaledHeight = abs(scaledHeight - floor(scaledHeight + 0.5));\nfloat value = min(scaledWidth, scaledHeight);\nvec4 currentColor = mix(lightColor, darkColor, b);\nvec4 color = czm_antialias(lightColor, darkColor, currentColor, value, 0.03);\nmaterial.diffuse = color.rgb;\nmaterial.alpha = color.a;\nreturn material;\n}\n"}),r("Shaders/Materials/DotMaterial",[],function(){"use strict";return"uniform vec4 lightColor;\nuniform vec4 darkColor;\nuniform vec2 repeat;\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\nczm_material material = czm_getDefaultMaterial(materialInput);\nfloat b = smoothstep(0.3, 0.32, length(fract(repeat * materialInput.st) - 0.5));\nvec4 color = mix(lightColor, darkColor, b);\nmaterial.diffuse = color.rgb;\nmaterial.alpha = color.a;\nreturn material;\n}\n"}),r("Shaders/Materials/FacetMaterial",[],function(){"use strict";return"uniform vec4 lightColor;\nuniform vec4 darkColor;\nuniform float frequency;\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\nczm_material material = czm_getDefaultMaterial(materialInput);\nvec2 F = czm_cellular(materialInput.st * frequency);\nfloat t = 0.1 + (F.y - F.x);\nvec4 color = mix(lightColor, darkColor, t);\nmaterial.diffuse = color.rgb;\nmaterial.alpha = color.a;\nreturn material;\n}\n"}),r("Shaders/Materials/FresnelMaterial",[],function(){"use strict";return"czm_material czm_getMaterial(czm_materialInput materialInput)\n{\nczm_material material = czm_getDefaultMaterial(materialInput);\nvec3 normalWC = normalize(czm_inverseViewRotation * material.normal);\nvec3 positionWC = normalize(czm_inverseViewRotation * materialInput.positionToEyeEC);\nfloat cosAngIncidence = max(dot(normalWC, positionWC), 0.0);\nmaterial.diffuse = mix(reflection.diffuse, refraction.diffuse, cosAngIncidence);\nreturn material;\n}\n"}),r("Shaders/Materials/GrassMaterial",[],function(){"use strict";return"uniform vec4 grassColor;\nuniform vec4 dirtColor;\nuniform float patchiness;\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\nczm_material material = czm_getDefaultMaterial(materialInput);\nvec2 st = materialInput.st;\nfloat noise1 = (czm_snoise(st * patchiness * 1.0)) * 1.0;\nfloat noise2 = (czm_snoise(st * patchiness * 2.0)) * 0.5;\nfloat noise3 = (czm_snoise(st * patchiness * 4.0)) * 0.25;\nfloat noise = sin(noise1 + noise2 + noise3) * 0.1;\nvec4 color = mix(grassColor, dirtColor, noise);\nfloat verticalNoise = czm_snoise(vec2(st.x * 100.0, st.y * 20.0)) * 0.02;\nfloat horizontalNoise = czm_snoise(vec2(st.x * 20.0, st.y * 100.0)) * 0.02;\nfloat stripeNoise = min(verticalNoise, horizontalNoise);\ncolor.rgb += stripeNoise;\nmaterial.diffuse = color.rgb;\nmaterial.alpha = color.a;\nreturn material;\n}\n"}),r("Shaders/Materials/GridMaterial",[],function(){"use strict";return"#ifdef GL_OES_standard_derivatives\n#extension GL_OES_standard_derivatives : enable\n#endif\nuniform vec4 color;\nuniform float cellAlpha;\nuniform vec2 lineCount;\nuniform vec2 lineThickness;\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\nczm_material material = czm_getDefaultMaterial(materialInput);\nvec2 st = materialInput.st;\nfloat scaledWidth = fract(lineCount.s * st.s);\nscaledWidth = abs(scaledWidth - floor(scaledWidth + 0.5));\nfloat scaledHeight = fract(lineCount.t * st.t);\nscaledHeight = abs(scaledHeight - floor(scaledHeight + 0.5));\nfloat value;\n#ifdef GL_OES_standard_derivatives\nconst float fuzz = 1.2;\nvec2 thickness = lineThickness - 1.0;\nvec2 dx = abs(dFdx(st));\nvec2 dy = abs(dFdy(st));\nvec2 dF = vec2(max(dx.s, dy.s), max(dx.t, dy.t)) * lineCount;\nvalue = min(\nsmoothstep(dF.s * thickness.s, dF.s * (fuzz + thickness.s), scaledWidth),\nsmoothstep(dF.t * thickness.t, dF.t * (fuzz + thickness.t), scaledHeight));\n#else\nconst float fuzz = 0.05;\nvec2 range = 0.5 - (lineThickness * 0.05);\nvalue = min(\n1.0 - smoothstep(range.s, range.s + fuzz, scaledWidth),\n1.0 - smoothstep(range.t, range.t + fuzz, scaledHeight));\n#endif\nfloat dRim = 1.0 - dot(materialInput.normalEC, normalize(materialInput.positionToEyeEC));\nfloat sRim = smoothstep(0.8, 1.0, dRim);\nvalue *= (1.0 - sRim);\nvec3 halfColor = color.rgb * 0.5;\nmaterial.diffuse = halfColor;\nmaterial.emission = halfColor;\nmaterial.alpha = color.a * (1.0 - ((1.0 - cellAlpha) * value));\nreturn material;\n}\n" -}),r("Shaders/Materials/NormalMapMaterial",[],function(){"use strict";return"uniform sampler2D image;\nuniform float strength;\nuniform vec2 repeat;\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\nczm_material material = czm_getDefaultMaterial(materialInput);\nvec4 textureValue = texture2D(image, fract(repeat * materialInput.st));\nvec3 normalTangentSpace = textureValue.channels;\nnormalTangentSpace.xy = normalTangentSpace.xy * 2.0 - 1.0;\nnormalTangentSpace.z = clamp(1.0 - strength, 0.1, 1.0);\nnormalTangentSpace = normalize(normalTangentSpace);\nvec3 normalEC = materialInput.tangentToEyeMatrix * normalTangentSpace;\nmaterial.normal = normalEC;\nreturn material;\n}\n"}),r("Shaders/Materials/ReflectionMaterial",[],function(){"use strict";return"uniform samplerCube cubeMap;\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\nczm_material material = czm_getDefaultMaterial(materialInput);\nvec3 normalWC = normalize(czm_inverseViewRotation * material.normal);\nvec3 positionWC = normalize(czm_inverseViewRotation * materialInput.positionToEyeEC);\nvec3 reflectedWC = reflect(positionWC, normalWC);\nmaterial.diffuse = textureCube(cubeMap, reflectedWC).channels;\nreturn material;\n}\n"}),r("Shaders/Materials/RefractionMaterial",[],function(){"use strict";return"uniform samplerCube cubeMap;\nuniform float indexOfRefractionRatio;\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\nczm_material material = czm_getDefaultMaterial(materialInput);\nvec3 normalWC = normalize(czm_inverseViewRotation * material.normal);\nvec3 positionWC = normalize(czm_inverseViewRotation * materialInput.positionToEyeEC);\nvec3 refractedWC = refract(positionWC, -normalWC, indexOfRefractionRatio);\nmaterial.diffuse = textureCube(cubeMap, refractedWC).channels;\nreturn material;\n}\n"}),r("Shaders/Materials/StripeMaterial",[],function(){"use strict";return"uniform vec4 lightColor;\nuniform vec4 darkColor;\nuniform float offset;\nuniform float repeat;\nuniform bool horizontal;\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\nczm_material material = czm_getDefaultMaterial(materialInput);\nfloat coord = mix(materialInput.st.s, materialInput.st.t, float(horizontal));\nfloat value = fract((coord - offset) * (repeat * 0.5));\nfloat dist = min(value, min(abs(value - 0.5), 1.0 - value));\nvec4 currentColor = mix(lightColor, darkColor, step(0.5, value));\nvec4 color = czm_antialias(lightColor, darkColor, currentColor, dist);\nmaterial.diffuse = color.rgb;\nmaterial.alpha = color.a;\nreturn material;\n}\n"}),r("Shaders/Materials/TieDyeMaterial",[],function(){"use strict";return"uniform vec4 lightColor;\nuniform vec4 darkColor;\nuniform float frequency;\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\nczm_material material = czm_getDefaultMaterial(materialInput);\nvec3 scaled = materialInput.str * frequency;\nfloat t = abs(czm_snoise(scaled));\nvec4 color = mix(lightColor, darkColor, t);\nmaterial.diffuse = color.rgb;\nmaterial.alpha = color.a;\nreturn material;\n}\n"}),r("Shaders/Materials/Water",[],function(){"use strict";return"uniform sampler2D specularMap;\nuniform sampler2D normalMap;\nuniform vec4 baseWaterColor;\nuniform vec4 blendColor;\nuniform float frequency;\nuniform float animationSpeed;\nuniform float amplitude;\nuniform float specularIntensity;\nuniform float fadeFactor;\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\nczm_material material = czm_getDefaultMaterial(materialInput);\nfloat time = czm_frameNumber * animationSpeed;\nfloat fade = max(1.0, (length(materialInput.positionToEyeEC) / 10000000000.0) * frequency * fadeFactor);\nfloat specularMapValue = texture2D(specularMap, materialInput.st).r;\nvec4 noise = czm_getWaterNoise(normalMap, materialInput.st * frequency, time, 0.0);\nvec3 normalTangentSpace = noise.xyz * vec3(1.0, 1.0, (1.0 / amplitude));\nnormalTangentSpace.xy /= fade;\nnormalTangentSpace = mix(vec3(0.0, 0.0, 50.0), normalTangentSpace, specularMapValue);\nnormalTangentSpace = normalize(normalTangentSpace);\nfloat tsPerturbationRatio = clamp(dot(normalTangentSpace, vec3(0.0, 0.0, 1.0)), 0.0, 1.0);\nmaterial.alpha = specularMapValue;\nmaterial.diffuse = mix(blendColor.rgb, baseWaterColor.rgb, specularMapValue);\nmaterial.diffuse += (0.1 * tsPerturbationRatio);\nmaterial.normal = normalize(materialInput.tangentToEyeMatrix * normalTangentSpace);\nmaterial.specular = specularIntensity;\nmaterial.shininess = 10.0;\nreturn material;\n}\n"}),r("Shaders/Materials/WoodMaterial",[],function(){"use strict";return"uniform vec4 lightWoodColor;\nuniform vec4 darkWoodColor;\nuniform float ringFrequency;\nuniform vec2 noiseScale;\nuniform float grainFrequency;\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\nczm_material material = czm_getDefaultMaterial(materialInput);\nvec2 st = materialInput.st;\nvec2 noisevec;\nnoisevec.x = czm_snoise(st * noiseScale.x);\nnoisevec.y = czm_snoise(st * noiseScale.y);\nvec2 location = st + noisevec;\nfloat dist = sqrt(location.x * location.x + location.y * location.y);\ndist *= ringFrequency;\nfloat r = fract(dist + noisevec[0] + noisevec[1]) * 2.0;\nif(r > 1.0)\nr = 2.0 - r;\nvec4 color = mix(lightWoodColor, darkWoodColor, r);\nr = abs(czm_snoise(vec2(st.x * grainFrequency, st.y * grainFrequency * 0.02))) * 0.2;\ncolor.rgb += lightWoodColor.rgb * r;\nmaterial.diffuse = color.rgb;\nmaterial.alpha = color.a;\nreturn material;\n}\n"}),r("Shaders/Materials/RimLightingMaterial",[],function(){"use strict";return"uniform vec4 color;\nuniform vec4 rimColor;\nuniform float width;\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\nczm_material material = czm_getDefaultMaterial(materialInput);\nfloat d = 1.0 - dot(materialInput.normalEC, normalize(materialInput.positionToEyeEC));\nfloat s = smoothstep(1.0 - width, 1.0, d);\nmaterial.diffuse = color.rgb;\nmaterial.emission = rimColor.rgb * s;\nmaterial.alpha = mix(color.a, rimColor.a, s);\nreturn material;\n}\n"}),r("Shaders/Materials/ErosionMaterial",[],function(){"use strict";return"uniform vec4 color;\nuniform float time;\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\nczm_material material = czm_getDefaultMaterial(materialInput);\nfloat alpha = 1.0;\nif (time != 1.0)\n{\nfloat t = 0.5 + (0.5 * czm_snoise(materialInput.str / (1.0 / 10.0)));\nif (t > time)\n{\nalpha = 0.0;\n}\n}\nmaterial.diffuse = color.rgb;\nmaterial.alpha = color.a * alpha;\nreturn material;\n}\n"}),r("Shaders/Materials/FadeMaterial",[],function(){"use strict";return"uniform vec4 fadeInColor;\nuniform vec4 fadeOutColor;\nuniform float maximumDistance;\nuniform bool repeat;\nuniform vec2 fadeDirection;\nuniform vec2 time;\nfloat getTime(float t, float coord)\n{\nfloat scalar = 1.0 / maximumDistance;\nfloat q = distance(t, coord) * scalar;\nif (repeat)\n{\nfloat r = distance(t, coord + 1.0) * scalar;\nfloat s = distance(t, coord - 1.0) * scalar;\nq = min(min(r, s), q);\n}\nreturn clamp(q, 0.0, 1.0);\n}\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\nczm_material material = czm_getDefaultMaterial(materialInput);\nvec2 st = materialInput.st;\nfloat s = getTime(time.x, st.s) * fadeDirection.s;\nfloat t = getTime(time.y, st.t) * fadeDirection.t;\nfloat u = length(vec2(s, t));\nvec4 color = mix(fadeInColor, fadeOutColor, u);\nmaterial.emission = color.rgb;\nmaterial.alpha = color.a;\nreturn material;\n}\n"}),r("Shaders/Materials/PolylineArrowMaterial",[],function(){"use strict";return"#extension GL_OES_standard_derivatives : enable\nuniform vec4 color;\nvarying float v_width;\nfloat getPointOnLine(vec2 p0, vec2 p1, float x)\n{\nfloat slope = (p0.y - p1.y) / (p0.x - p1.x);\nreturn slope * (x - p0.x) + p0.y;\n}\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\nczm_material material = czm_getDefaultMaterial(materialInput);\nvec2 st = materialInput.st;\nfloat base = 1.0 - abs(fwidth(st.s)) * 10.0;\nvec2 center = vec2(1.0, 0.5);\nfloat ptOnUpperLine = getPointOnLine(vec2(base, 1.0), center, st.s);\nfloat ptOnLowerLine = getPointOnLine(vec2(base, 0.0), center, st.s);\nfloat halfWidth = 0.15;\nfloat s = step(0.5 - halfWidth, st.t);\ns *= 1.0 - step(0.5 + halfWidth, st.t);\ns *= 1.0 - step(base, st.s);\nfloat t = step(base, materialInput.st.s);\nt *= 1.0 - step(ptOnUpperLine, st.t);\nt *= step(ptOnLowerLine, st.t);\nfloat dist;\nif (st.s < base)\n{\nfloat d1 = abs(st.t - (0.5 - halfWidth));\nfloat d2 = abs(st.t - (0.5 + halfWidth));\ndist = min(d1, d2);\n}\nelse\n{\nfloat d1 = czm_infinity;\nif (st.t < 0.5 - halfWidth && st.t > 0.5 + halfWidth)\n{\nd1 = abs(st.s - base);\n}\nfloat d2 = abs(st.t - ptOnUpperLine);\nfloat d3 = abs(st.t - ptOnLowerLine);\ndist = min(min(d1, d2), d3);\n}\nvec4 outsideColor = vec4(0.0);\nvec4 currentColor = mix(outsideColor, color, clamp(s + t, 0.0, 1.0));\nvec4 outColor = czm_antialias(outsideColor, color, currentColor, dist);\nmaterial.diffuse = outColor.rgb;\nmaterial.alpha = outColor.a;\nreturn material;\n}\n"}),r("Shaders/Materials/PolylineGlowMaterial",[],function(){"use strict";return"uniform vec4 color;\nuniform float glowPower;\nvarying float v_width;\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\nczm_material material = czm_getDefaultMaterial(materialInput);\nvec2 st = materialInput.st;\nfloat glow = glowPower / abs(st.t - 0.5);\nmaterial.emission = max(vec3(glow - 1.0 + color.rgb), color.rgb);\nmaterial.alpha = clamp(0.0, 1.0, glow) * color.a;\nreturn material;\n}\n"}),r("Shaders/Materials/PolylineOutlineMaterial",[],function(){"use strict";return"uniform vec4 color;\nuniform vec4 outlineColor;\nuniform float outlineWidth;\nvarying float v_width;\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\nczm_material material = czm_getDefaultMaterial(materialInput);\nvec2 st = materialInput.st;\nfloat halfInteriorWidth = 0.5 * (v_width - outlineWidth) / v_width;\nfloat b = step(0.5 - halfInteriorWidth, st.t);\nb *= 1.0 - step(0.5 + halfInteriorWidth, st.t);\nfloat d1 = abs(st.t - (0.5 - halfInteriorWidth));\nfloat d2 = abs(st.t - (0.5 + halfInteriorWidth));\nfloat dist = min(d1, d2);\nvec4 currentColor = mix(outlineColor, color, b);\nvec4 outColor = czm_antialias(outlineColor, color, currentColor, dist);\nmaterial.diffuse = outColor.rgb;\nmaterial.alpha = outColor.a;\nreturn material;\n}\n"}),r("Scene/Material",["../ThirdParty/when","../Core/loadImage","../Core/DeveloperError","../Core/createGuid","../Core/clone","../Core/Color","../Core/combine","../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/destroyObject","../Core/Cartesian2","../Core/Matrix2","../Core/Matrix3","../Core/Matrix4","../Renderer/Texture","../Renderer/CubeMap","../Shaders/Materials/AsphaltMaterial","../Shaders/Materials/BlobMaterial","../Shaders/Materials/BrickMaterial","../Shaders/Materials/BumpMapMaterial","../Shaders/Materials/CementMaterial","../Shaders/Materials/CheckerboardMaterial","../Shaders/Materials/DotMaterial","../Shaders/Materials/FacetMaterial","../Shaders/Materials/FresnelMaterial","../Shaders/Materials/GrassMaterial","../Shaders/Materials/GridMaterial","../Shaders/Materials/NormalMapMaterial","../Shaders/Materials/ReflectionMaterial","../Shaders/Materials/RefractionMaterial","../Shaders/Materials/StripeMaterial","../Shaders/Materials/TieDyeMaterial","../Shaders/Materials/Water","../Shaders/Materials/WoodMaterial","../Shaders/Materials/RimLightingMaterial","../Shaders/Materials/ErosionMaterial","../Shaders/Materials/FadeMaterial","../Shaders/Materials/PolylineArrowMaterial","../Shaders/Materials/PolylineGlowMaterial","../Shaders/Materials/PolylineOutlineMaterial"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f,v,y,g,_,w,C,x,S,E,b,T,A,D,P,M,I,O,R,L,z,N,B,F,V,k){"use strict";function U(e,t){e=s(e,s.EMPTY_OBJECT),t._strict=s(e.strict,!1),t._count=s(e.count,0),t._template=n(s(e.fabric,s.EMPTY_OBJECT)),t._template.uniforms=n(s(t._template.uniforms,s.EMPTY_OBJECT)),t._template.materials=n(s(t._template.materials,s.EMPTY_OBJECT)),t.type=l(t._template.type)?t._template.type:i(),t.shaderSource="",t.materials={},t.uniforms={},t._uniforms={},t._translucentFunctions=[];var r,o=tt._materialCache.getMaterial(t.type);if(l(o)){var u=n(o.fabric,!0);t._template=a([t._template,u]),r=o.translucent}H(t),l(o)||tt._materialCache.addMaterial(t.type,t),j(t),Z(t),Q(t);var c=0===t._translucentFunctions.length?!0:void 0;if(r=s(r,c),r=s(e.translucent,r),l(r))if("function"==typeof r){var h=function(){return r(t)};t._translucentFunctions.push(h)}else t._translucentFunctions.push(r)}function W(e,t,r,i){if(l(e))for(var n in e)if(e.hasOwnProperty(n)){var o=-1!==t.indexOf(n);(i&&!o||!i&&o)&&r(n,t)}}function q(e,t){for(var i="fabric: property name '"+e+"' is not valid. It should be ",n=0;n0&&(n[s]={type:"ivec3",x:1,y:1},J(e,s))}var u="uniform "+a+" "+t+";\n";-1===e.shaderSource.indexOf(u)&&(e.shaderSource=u+e.shaderSource);var c=t+"_"+e._count++;if(1===$(e,t,c)&&i)throw new r("strict: shader source does not use uniform '"+t+"'.");if(e.uniforms[t]=o,"sampler2D"===a)e._uniforms[c]=function(){return e._textures[t]},e._updateFunctions.push(Y(t));else if("samplerCube"===a)e._uniforms[c]=function(){return e._textures[t]},e._updateFunctions.push(X(t));else if(-1!==a.indexOf("mat")){var h=new nt[a];e._uniforms[c]=function(){return nt[a].fromColumnMajorArray(e.uniforms[t],h)}}else e._uniforms[c]=function(){return e.uniforms[t]}}}function K(e){var t=e.type;if(!l(t)){var r=typeof e;if("number"===r)t="float";else if("boolean"===r)t="bool";else if("string"===r)t=/^([rgba]){1,4}$/i.test(e)?"channels":e===tt.DefaultCubeMapId?"samplerCube":"sampler2D";else if("object"===r)if(Array.isArray(e))(4===e.length||9===e.length||16===e.length)&&(t="mat"+Math.sqrt(e.length));else{var i=0;for(var n in e)e.hasOwnProperty(n)&&(i+=1);i>=2&&4>=i?t="vec"+i:6===i&&(t="samplerCube")}}return t}function Q(e){var t=e._strict,i=e._template.materials;for(var n in i)if(i.hasOwnProperty(n)){var o=new tt({strict:t,fabric:i[n],count:e._count});e._count=o._count,e._uniforms=a([e._uniforms,o._uniforms]),e.materials[n]=o,e._translucentFunctions=e._translucentFunctions.concat(o._translucentFunctions);var s="czm_getMaterial",l=s+"_"+e._count++;$(o,s,l),e.shaderSource=o.shaderSource+e.shaderSource;var u=l+"(materialInput)";if(0===$(e,n,u)&&t)throw new r("strict: shader source does not use material '"+n+"'.")}}function $(e,t,r,i){i=s(i,!0);var n=0,o="a-zA-Z0-9_",a="(["+o+"])?",l="(["+o+(i?".":"")+"])?",u=new RegExp(l+t+a,"g");return e.shaderSource=e.shaderSource.replace(u,function(e,t,i){return t||i?e:(n+=1,r)}),n}function et(e,t,r){return $(e,t,t,r)}var tt=function(e){this.type=void 0,this.shaderSource=void 0,this.materials=void 0,this.uniforms=void 0,this._uniforms=void 0,this.translucent=void 0,this._strict=void 0,this._template=void 0,this._count=void 0,this._texturePaths={},this._loadedImages=[],this._loadedCubeMaps=[],this._textures={},this._updateFunctions=[],U(e,this),u(this,{type:{value:this.type,writable:!1}}),l(tt._uniformList[this.type])||(tt._uniformList[this.type]=Object.keys(this._uniforms))};tt._uniformList={},tt.fromType=function(e){if(!l(tt._materialCache.getMaterial(e)))throw new r("material with type '"+e+"' does not exist.");return new tt({fabric:{type:e}})},tt.prototype.isTranslucent=function(){if(l(this.translucent))return"function"==typeof this.translucent?this.translucent():this.translucent;for(var e=!0,t=this._translucentFunctions,r=t.length,i=0;r>i;++i){var n=t[i];if(e="function"==typeof n?e&&n():e&&n,!e)break}return e},tt.prototype.update=function(e){var t,r,i=this._loadedImages,n=i.length;for(t=0;n>t;++t){var o=i[t];r=o.id;var a=o.image,s=tt._textureCache.getTexture(this._texturePaths[r]);l(s)||(s=e.createTexture2D({source:a}),tt._textureCache.addTexture(this._texturePaths[r],s)),this._textures[r]=s;var u=r+"Dimensions";if(this.uniforms.hasOwnProperty(u)){var c=this.uniforms[u];c.x=s._width,c.y=s._height}}i.length=0;var h=this._loadedCubeMaps;for(n=h.length,t=0;n>t;++t){var d=h[t];r=d.id;var m=d.images,p=tt._textureCache.getTexture(this._texturePaths[r]);l(p)||(p=e.createCubeMap({source:{positiveX:m[0],negativeX:m[1],positiveY:m[2],negativeY:m[3],positiveZ:m[4],negativeZ:m[5]}}),tt._textureCache.addTexture(this._texturePaths[r],p)),this._textures[r]=p}h.length=0;var f=this._updateFunctions;for(n=f.length,t=0;n>t;++t)f[t](this,e);var v=this.materials;for(var y in v)v.hasOwnProperty(y)&&v[y].update(e)},tt.prototype.isDestroyed=function(){return!1},tt.prototype.destroy=function(){var e=this.materials,t=this.uniforms;for(var r in t)if(t.hasOwnProperty(r)){var i=this._texturePaths[r];tt._textureCache.releaseTexture(i)}for(var n in e)e.hasOwnProperty(n)&&e[n].destroy();return c(this)};var rt=["type","materials","uniforms","components","source"],it=["diffuse","specular","shininess","normal","emission","alpha"],nt={mat2:d,mat3:m,mat4:p};return tt._textureCache={_textures:{},addTexture:function(e,t){this._textures[e]={texture:t,count:1}},getTexture:function(e){var t=this._textures[e];return l(t)?(t.count++,t.texture):void 0},releaseTexture:function(e){var t=this._textures[e];l(t)&&0===--t.count&&(t.texture=t.texture&&t.texture.destroy(),this._textures[e]=void 0)}},tt._materialCache={_materials:{},addMaterial:function(e,t){this._materials[e]=t},getMaterial:function(e){return this._materials[e]}},tt.DefaultImageId="czm_defaultImage",tt.DefaultCubeMapId="czm_defaultCubeMap",tt.ColorType="Color",tt._materialCache.addMaterial(tt.ColorType,{fabric:{type:tt.ColorType,uniforms:{color:new o(1,0,0,.5)},components:{diffuse:"color.rgb",alpha:"color.a"}},translucent:function(e){return e.uniforms.color.alpha<1}}),tt.ImageType="Image",tt._materialCache.addMaterial(tt.ImageType,{fabric:{type:tt.ImageType,uniforms:{image:tt.DefaultImageId,repeat:new h(1,1)},components:{diffuse:"texture2D(image, fract(repeat * materialInput.st)).rgb",alpha:"texture2D(image, fract(repeat * materialInput.st)).a"}},translucent:!0}),tt.DiffuseMapType="DiffuseMap",tt._materialCache.addMaterial(tt.DiffuseMapType,{fabric:{type:tt.DiffuseMapType,uniforms:{image:tt.DefaultImageId,channels:"rgb",repeat:new h(1,1)},components:{diffuse:"texture2D(image, fract(repeat * materialInput.st)).channels"}},translucent:!1}),tt.AlphaMapType="AlphaMap",tt._materialCache.addMaterial(tt.AlphaMapType,{fabric:{type:tt.AlphaMapType,uniforms:{image:tt.DefaultImageId,channel:"a",repeat:new h(1,1)},components:{alpha:"texture2D(image, fract(repeat * materialInput.st)).channel"}},translucent:!0}),tt.SpecularMapType="SpecularMap",tt._materialCache.addMaterial(tt.SpecularMapType,{fabric:{type:tt.SpecularMapType,uniforms:{image:tt.DefaultImageId,channel:"r",repeat:new h(1,1)},components:{specular:"texture2D(image, fract(repeat * materialInput.st)).channel"}},translucent:!1}),tt.EmissionMapType="EmissionMap",tt._materialCache.addMaterial(tt.EmissionMapType,{fabric:{type:tt.EmissionMapType,uniforms:{image:tt.DefaultImageId,channels:"rgb",repeat:new h(1,1)},components:{emission:"texture2D(image, fract(repeat * materialInput.st)).channels"}},translucent:!1}),tt.BumpMapType="BumpMap",tt._materialCache.addMaterial(tt.BumpMapType,{fabric:{type:tt.BumpMapType,uniforms:{image:tt.DefaultImageId,channel:"r",strength:.8,repeat:new h(1,1)},source:w},translucent:!1}),tt.NormalMapType="NormalMap",tt._materialCache.addMaterial(tt.NormalMapType,{fabric:{type:tt.NormalMapType,uniforms:{image:tt.DefaultImageId,channels:"rgb",strength:.8,repeat:new h(1,1)},source:D},translucent:!1}),tt.ReflectionType="Reflection",tt._materialCache.addMaterial(tt.ReflectionType,{fabric:{type:tt.ReflectionType,uniforms:{cubeMap:tt.DefaultCubeMapId,channels:"rgb"},source:P},translucent:!1}),tt.RefractionType="Refraction",tt._materialCache.addMaterial(tt.RefractionType,{fabric:{type:tt.RefractionType,uniforms:{cubeMap:tt.DefaultCubeMapId,channels:"rgb",indexOfRefractionRatio:.9},source:M},translucent:!1}),tt.FresnelType="Fresnel",tt._materialCache.addMaterial(tt.FresnelType,{fabric:{type:tt.FresnelType,materials:{reflection:{type:tt.ReflectionType},refraction:{type:tt.RefractionType}},source:b},translucent:!1}),tt.BrickType="Brick",tt._materialCache.addMaterial(tt.BrickType,{fabric:{type:tt.BrickType,uniforms:{brickColor:new o(.6,.3,.1,1),mortarColor:new o(.8,.8,.7,1),brickSize:new h(.3,.15),brickPct:new h(.9,.85),brickRoughness:.2,mortarRoughness:.1},source:_},translucent:function(e){var t=e.uniforms;return t.brickColor.alpha<1||t.mortarColor.alpha<1}}),tt.WoodType="Wood",tt._materialCache.addMaterial(tt.WoodType,{fabric:{type:tt.WoodType,uniforms:{lightWoodColor:new o(.6,.3,.1,1),darkWoodColor:new o(.4,.2,.07,1),ringFrequency:3,noiseScale:new h(.7,.5),grainFrequency:27},source:L},translucent:function(e){var t=e.uniforms;return t.lightWoodColor.alpha<1||t.darkWoodColor.alpha<1}}),tt.AsphaltType="Asphalt",tt._materialCache.addMaterial(tt.AsphaltType,{fabric:{type:tt.AsphaltType,uniforms:{asphaltColor:new o(.15,.15,.15,1),bumpSize:.02,roughness:.2},source:y},translucent:function(e){return e.uniforms.asphaltColor.alpha<1}}),tt.CementType="Cement",tt._materialCache.addMaterial(tt.CementType,{fabric:{type:tt.CementType,uniforms:{cementColor:new o(.95,.95,.85,1),grainScale:.01,roughness:.3},source:C},translucent:function(e){return e.uniforms.cementColor.alpha<1}}),tt.GrassType="Grass",tt._materialCache.addMaterial(tt.GrassType,{fabric:{type:tt.GrassType,uniforms:{grassColor:new o(.25,.4,.1,1),dirtColor:new o(.1,.1,.1,1),patchiness:1.5},source:T},translucent:function(e){var t=e.uniforms;return t.grassColor.alpha<1||t.dirtColor.alpha<1}}),tt.GridType="Grid",tt._materialCache.addMaterial(tt.GridType,{fabric:{type:tt.GridType,uniforms:{color:new o(0,1,0,1),cellAlpha:.1,lineCount:new h(8,8),lineThickness:new h(1,1)},source:A},translucent:function(e){var t=e.uniforms;return t.color.alpha<1||t.cellAlpha<1}}),tt.StripeType="Stripe",tt._materialCache.addMaterial(tt.StripeType,{fabric:{type:tt.StripeType,uniforms:{horizontal:!0,lightColor:new o(1,1,1,.5),darkColor:new o(0,0,1,.5),offset:0,repeat:5},source:I},translucent:function(e){var t=e.uniforms;return t.lightColor.alpha<1||t.darkColor.alpha<0}}),tt.CheckerboardType="Checkerboard",tt._materialCache.addMaterial(tt.CheckerboardType,{fabric:{type:tt.CheckerboardType,uniforms:{lightColor:new o(1,1,1,.5),darkColor:new o(0,0,0,.5),repeat:new h(5,5)},source:x},translucent:function(e){var t=e.uniforms;return t.lightColor.alpha<1||t.darkColor.alpha<0}}),tt.DotType="Dot",tt._materialCache.addMaterial(tt.DotType,{fabric:{type:tt.DotType,uniforms:{lightColor:new o(1,1,0,.75),darkColor:new o(0,1,1,.75),repeat:new h(5,5)},source:S},translucent:function(e){var t=e.uniforms;return t.lightColor.alpha<1||t.darkColor.alpha<0}}),tt.TyeDyeType="TieDye",tt._materialCache.addMaterial(tt.TyeDyeType,{fabric:{type:tt.TyeDyeType,uniforms:{lightColor:new o(1,1,0,.75),darkColor:new o(1,0,0,.75),frequency:5},source:O},translucent:function(e){var t=e.uniforms;return t.lightColor.alpha<1||t.darkColor.alpha<0}}),tt.FacetType="Facet",tt._materialCache.addMaterial(tt.FacetType,{fabric:{type:tt.FacetType,uniforms:{lightColor:new o(.25,.25,.25,.75),darkColor:new o(.75,.75,.75,.75),frequency:10},source:E},translucent:function(e){var t=e.uniforms;return t.lightColor.alpha<1||t.darkColor.alpha<0}}),tt.BlobType="Blob",tt._materialCache.addMaterial(tt.BlobType,{fabric:{type:tt.BlobType,uniforms:{lightColor:new o(1,1,1,.5),darkColor:new o(0,0,1,.5),frequency:10},source:g},translucent:function(e){var t=e.uniforms;return t.lightColor.alpha<1||t.darkColor.alpha<0}}),tt.WaterType="Water",tt._materialCache.addMaterial(tt.WaterType,{fabric:{type:tt.WaterType,uniforms:{baseWaterColor:new o(.2,.3,.6,1),blendColor:new o(0,1,.699,1),specularMap:tt.DefaultImageId,normalMap:tt.DefaultImageId,frequency:10,animationSpeed:.01,amplitude:1,specularIntensity:.5,fadeFactor:1},source:R},translucent:function(e){var t=e.uniforms;return t.baseWaterColor.alpha<1||t.blendColor.alpha<0}}),tt.RimLightingType="RimLighting",tt._materialCache.addMaterial(tt.RimLightingType,{fabric:{type:tt.RimLightingType,uniforms:{color:new o(1,0,0,.7),rimColor:new o(1,1,1,.4),width:.3},source:z},translucent:function(e){var t=e.uniforms;return t.color.alpha<1||t.rimColor.alpha<0}}),tt.ErosionType="Erosion",tt._materialCache.addMaterial(tt.ErosionType,{fabric:{type:tt.ErosionType,uniforms:{color:new o(1,0,0,.5),time:1},source:N},translucent:function(e){return e.uniforms.color.alpha<1}}),tt.FadeType="Fade",tt._materialCache.addMaterial(tt.FadeType,{fabric:{type:tt.FadeType,uniforms:{fadeInColor:new o(1,0,0,1),fadeOutColor:new o(0,0,0,0),maximumDistance:.5,repeat:!0,fadeDirection:{x:!0,y:!0},time:new h(.5,.5)},source:B},translucent:function(e){var t=e.uniforms;return t.fadeInColor.alpha<1||t.fadeOutColor.alpha<0}}),tt.PolylineArrowType="PolylineArrow",tt._materialCache.addMaterial(tt.PolylineArrowType,{fabric:{type:tt.PolylineArrowType,uniforms:{color:new o(1,1,1,1)},source:F},translucent:!0}),tt.PolylineGlowType="PolylineGlow",tt._materialCache.addMaterial(tt.PolylineGlowType,{fabric:{type:tt.PolylineGlowType,uniforms:{color:new o(0,.5,1,1),glowPower:.1},source:V},translucent:!0}),tt.PolylineOutlineType="PolylineOutline",tt._materialCache.addMaterial(tt.PolylineOutlineType,{fabric:{type:tt.PolylineOutlineType,uniforms:{color:new o(1,1,1,1),outlineColor:new o(1,0,0,1),outlineWidth:1},source:k},translucent:function(e){var t=e.uniforms;return t.color.alpha<1||t.outlineColor.alpha<1}}),tt}),r("Shaders/EllipsoidVS",[],function(){"use strict";return"attribute vec3 position;\nuniform vec3 u_radii;\nvarying vec3 v_positionEC;\nvoid main()\n{\nvec4 p = vec4(u_radii * position, 1.0);\nv_positionEC = (czm_modelView * p).xyz;\ngl_Position = czm_modelViewProjection * p;\ngl_Position.z = clamp(gl_Position.z, gl_DepthRange.near, gl_DepthRange.far);\n}\n"}),r("Shaders/EllipsoidFS",[],function(){"use strict";return"#ifdef WRITE_DEPTH\n#ifdef GL_EXT_frag_depth\n#extension GL_EXT_frag_depth : enable\n#endif\n#endif\nuniform vec3 u_radii;\nuniform vec3 u_oneOverEllipsoidRadiiSquared;\nvarying vec3 v_positionEC;\nvec4 computeEllipsoidColor(czm_ray ray, float intersection, float side)\n{\nvec3 positionEC = czm_pointAlongRay(ray, intersection);\nvec3 positionMC = (czm_inverseModelView * vec4(positionEC, 1.0)).xyz;\nvec3 geodeticNormal = normalize(czm_geodeticSurfaceNormal(positionMC, vec3(0.0), u_oneOverEllipsoidRadiiSquared));\nvec3 sphericalNormal = normalize(positionMC / u_radii);\nvec3 normalMC = geodeticNormal * side;\nvec3 normalEC = normalize(czm_normal * normalMC);\nvec2 st = czm_ellipsoidWgs84TextureCoordinates(sphericalNormal);\nvec3 positionToEyeEC = -positionEC;\nczm_materialInput materialInput;\nmaterialInput.s = st.s;\nmaterialInput.st = st;\nmaterialInput.str = (positionMC + u_radii) / u_radii;\nmaterialInput.normalEC = normalEC;\nmaterialInput.tangentToEyeMatrix = czm_eastNorthUpToEyeCoordinates(positionMC, normalEC);\nmaterialInput.positionToEyeEC = positionToEyeEC;\nczm_material material = czm_getMaterial(materialInput);\n#ifdef ONLY_SUN_LIGHTING\nreturn czm_private_phong(normalize(positionToEyeEC), material);\n#else\nreturn czm_phong(normalize(positionToEyeEC), material);\n#endif\n}\nvoid main()\n{\nfloat maxRadius = max(u_radii.x, max(u_radii.y, u_radii.z)) * 1.5;\nvec3 direction = normalize(v_positionEC);\nvec3 ellipsoidCenter = czm_modelView[3].xyz;\nfloat t1 = -1.0;\nfloat t2 = -1.0;\nfloat b = -2.0 * dot(direction, ellipsoidCenter);\nfloat c = dot(ellipsoidCenter, ellipsoidCenter) - maxRadius * maxRadius;\nfloat discriminant = b * b - 4.0 * c;\nif (discriminant >= 0.0) {\nt1 = (-b - sqrt(discriminant)) * 0.5;\nt2 = (-b + sqrt(discriminant)) * 0.5;\n}\nif (t1 < 0.0 && t2 < 0.0) {\ndiscard;\n}\nfloat t = min(t1, t2);\nif (t < 0.0) {\nt = 0.0;\n}\nczm_ellipsoid ellipsoid = czm_ellipsoidNew(ellipsoidCenter, u_radii);\nczm_ray ray = czm_ray(t * direction, direction);\nczm_raySegment intersection = czm_rayEllipsoidIntersectionInterval(ray, ellipsoid);\nif (czm_isEmpty(intersection))\n{\ndiscard;\n}\nvec4 outsideFaceColor = (intersection.start != 0.0) ? computeEllipsoidColor(ray, intersection.start, 1.0) : vec4(0.0);\nvec4 insideFaceColor = (outsideFaceColor.a < 1.0) ? computeEllipsoidColor(ray, intersection.stop, -1.0) : vec4(0.0);\ngl_FragColor = mix(insideFaceColor, outsideFaceColor, outsideFaceColor.a);\ngl_FragColor.a = 1.0 - (1.0 - insideFaceColor.a) * (1.0 - outsideFaceColor.a);\n#ifdef WRITE_DEPTH\n#ifdef GL_EXT_frag_depth\nt = (intersection.start != 0.0) ? intersection.start : intersection.stop;\nvec3 positionEC = czm_pointAlongRay(ray, t);\nvec4 positionCC = czm_projection * vec4(positionEC, 1.0);\nfloat z = positionCC.z / positionCC.w;\nfloat n = gl_DepthRange.near;\nfloat f = gl_DepthRange.far;\ngl_FragDepthEXT = (z * (f - n) + f + n) * 0.5;\n#endif\n#endif\n}\n"}),r("Scene/EllipsoidPrimitive",["../Core/defaultValue","../Core/BoxGeometry","../Core/Cartesian3","../Core/combine","../Core/defined","../Core/DeveloperError","../Core/destroyObject","../Core/Matrix4","../Core/BoundingSphere","../Core/PrimitiveType","../Renderer/CullFace","../Renderer/BlendingState","../Renderer/BufferUsage","../Renderer/DrawCommand","../Renderer/createShaderSource","../Renderer/Pass","./Material","./SceneMode","../Shaders/EllipsoidVS","../Shaders/EllipsoidFS"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f,v,y,g,_){"use strict";function w(e){var i=e.cache.ellipsoidPrimitive_vertexArray;if(n(i))return i; -var o=t.createGeometry(t.fromDimensions({dimensions:new r(2,2,2)}));return i=e.createVertexArrayFromGeometry({geometry:o,attributeIndices:C,bufferUsage:d.STATIC_DRAW}),e.cache.ellipsoidPrimitive_vertexArray=i,i}var C={position:0},x=function(t){t=e(t,e.EMPTY_OBJECT),this.center=r.clone(e(t.center,r.ZERO)),this._center=new r,this.radii=r.clone(t.radii),this._radii=new r,this._oneOverEllipsoidRadiiSquared=new r,this._boundingSphere=new l,this.modelMatrix=s.clone(e(t.modelMatrix,s.IDENTITY)),this._modelMatrix=new s,this._computedModelMatrix=new s,this.show=e(t.show,!0),this.material=e(t.material,v.fromType(v.ColorType)),this._material=void 0,this._translucent=void 0,this.id=t.id,this._id=void 0,this.debugShowBoundingVolume=e(t.debugShowBoundingVolume,!1),this.onlySunLighting=e(t.onlySunLighting,!1),this._onlySunLighting=!1,this._owner=t._owner,this._sp=void 0,this._rs=void 0,this._va=void 0,this._pickSP=void 0,this._pickId=void 0,this._colorCommand=new m,this._colorCommand.owner=this,this._pickCommand=new m,this._pickCommand.owner=this;var i=this;this._uniforms={u_radii:function(){return i.radii},u_oneOverEllipsoidRadiiSquared:function(){return i._oneOverEllipsoidRadiiSquared}},this._pickUniforms={czm_pickColor:function(){return i._pickId.color}}};return x.prototype.update=function(t,a,d){if(this.show&&a.mode===y.SCENE3D&&n(this.center)&&n(this.radii)){if(!n(this.material))throw new o("this.material must be defined.");var m=this.material.isTranslucent(),v=this._translucent!==m;(!n(this._rs)||v)&&(this._translucent=m,this._rs=t.createRenderState({cull:{enabled:!0,face:c.FRONT},depthTest:{enabled:!0},depthMask:!m&&t.getFragmentDepth(),blending:m?h.ALPHA_BLEND:void 0})),n(this._va)||(this._va=w(t));var x=!1,S=this.radii;if(!r.equals(this._radii,S)){r.clone(S,this._radii);var E=this._oneOverEllipsoidRadiiSquared;E.x=1/(S.x*S.x),E.y=1/(S.y*S.y),E.z=1/(S.z*S.z),x=!0}s.equals(this.modelMatrix,this._modelMatrix)&&r.equals(this.center,this._center)||(s.clone(this.modelMatrix,this._modelMatrix),r.clone(this.center,this._center),s.multiplyByTranslation(this.modelMatrix,this.center,this._computedModelMatrix),x=!0),x&&(r.clone(r.ZERO,this._boundingSphere.center),this._boundingSphere.radius=r.getMaximumComponent(S),l.transform(this._boundingSphere,this._computedModelMatrix,this._boundingSphere));var b=this._material!==this.material;this._material=this.material,this._material.update(t);var T=this.onlySunLighting!==this._onlySunLighting;this._onlySunLighting=this.onlySunLighting;var A=this._colorCommand;if(b||T||v){var D=p({defines:[this.onlySunLighting?"ONLY_SUN_LIGHTING":"",!m&&t.getFragmentDepth()?"WRITE_DEPTH":""],sources:[this.material.shaderSource,_]});this._sp=t.getShaderCache().replaceShaderProgram(this._sp,g,D,C),A.primitiveType=u.TRIANGLES,A.vertexArray=this._va,A.renderState=this._rs,A.shaderProgram=this._sp,A.uniformMap=i([this._uniforms,this.material._uniforms],!1,!1),A.executeInClosestFrustum=m,A.owner=e(this._owner,this)}var P=a.passes;if(P.render&&(A.boundingVolume=this._boundingSphere,A.debugShowBoundingVolume=this.debugShowBoundingVolume,A.modelMatrix=this._computedModelMatrix,A.pass=m?f.TRANSLUCENT:f.OPAQUE,d.push(A)),P.pick){var M=this._pickCommand;if(n(this._pickId)&&this._id===this.id||(this._id=this.id,this._pickId=this._pickId&&this._pickId.destroy(),this._pickId=t.createPickId({primitive:this,id:this.id})),b||T||!n(this._pickSP)){var I=p({defines:[this.onlySunLighting?"ONLY_SUN_LIGHTING":"",!m&&t.getFragmentDepth()?"WRITE_DEPTH":""],sources:[this.material.shaderSource,_],pickColorQualifier:"uniform"});this._pickSP=t.getShaderCache().replaceShaderProgram(this._pickSP,g,I,C),M.primitiveType=u.TRIANGLES,M.vertexArray=this._va,M.renderState=this._rs,M.shaderProgram=this._pickSP,M.uniformMap=i([this._uniforms,this._pickUniforms,this.material._uniforms],!1,!1),M.executeInClosestFrustum=m,M.owner=e(this._owner,this)}M.boundingVolume=this._boundingSphere,M.modelMatrix=this._computedModelMatrix,M.pass=m?f.TRANSLUCENT:f.OPAQUE,d.push(M)}}},x.prototype.isDestroyed=function(){return!1},x.prototype.destroy=function(){return this._sp=this._sp&&this._sp.release(),this._pickSP=this._pickSP&&this._pickSP.release(),this._pickId=this._pickId&&this._pickId.destroy(),a(this)},x}),r("DynamicScene/MaterialProperty",["../Core/defined","../Core/DeveloperError","../Scene/Material"],function(e,t,r){"use strict";function i(){throw new t("This type should not be instantiated directly.")}var n=i;return n.prototype.getType=i,n.prototype.getValue=i,n.prototype.equals=i,n.getValue=function(t,i,n){if(e(i)){var o=i.getType(t);e(o)&&(e(n)&&n.type===o||(n=r.fromType(o)),i.getValue(t,n.uniforms))}return n},n}),r("DynamicScene/DynamicEllipsoidVisualizer",["../Core/defaultValue","../Core/defined","../Core/DeveloperError","../Core/destroyObject","../Core/Cartesian3","../Core/Matrix3","../Core/Matrix4","../Core/Quaternion","../Scene/EllipsoidPrimitive","../Scene/Material","./MaterialProperty"],function(e,t,r,i,n,o,a,s,l,u,c){"use strict";function h(r,i,h){var m=h._ellipsoid;if(t(m)){var v=m._radii;if(t(v)){var y=h._position;if(t(y)){var g=h._orientation;if(t(g)){var _,w=m._show,C=h._ellipsoidVisualizerIndex,x=h.isAvailable(i)&&(!t(w)||w.getValue(i));if(!x)return t(C)&&(_=r._ellipsoidCollection[C],_.show=!1,h._ellipsoidVisualizerIndex=void 0,r._unusedIndexes.push(C)),void 0;if(t(C))_=r._ellipsoidCollection[C];else{var S=r._unusedIndexes,E=S.length;E>0?(C=S.pop(),_=r._ellipsoidCollection[C]):(C=r._ellipsoidCollection.length,_=new l,r._ellipsoidCollection.push(_),r._primitives.add(_)),h._ellipsoidVisualizerIndex=C,_.dynamicObject=h,_.material=u.fromType(u.ColorType)}_.show=!0,_.radii=v.getValue(i,_.radii),p=e(y.getValue(i,p),_._visualizerPosition),f=e(g.getValue(i,f),_._visualizerOrientation),!t(p)||!t(f)||n.equals(p,_._visualizerPosition)&&s.equals(f,_._visualizerOrientation)||(a.fromRotationTranslation(o.fromQuaternion(f,d),p,_.modelMatrix),_._visualizerPosition=n.clone(p,_._visualizerPosition),_._visualizerOrientation=s.clone(f,_._visualizerOrientation)),_.material=c.getValue(i,m._material,_.material)}}}}}var d=new o,m=function(e,i){if(!t(e))throw new r("scene is required.");this._scene=e,this._unusedIndexes=[],this._primitives=e.getPrimitives(),this._ellipsoidCollection=[],this._dynamicObjectCollection=void 0,this.setDynamicObjectCollection(i)};m.prototype.getScene=function(){return this._scene},m.prototype.getDynamicObjectCollection=function(){return this._dynamicObjectCollection},m.prototype.setDynamicObjectCollection=function(e){var r=this._dynamicObjectCollection;r!==e&&(t(r)&&(r.collectionChanged.removeEventListener(m.prototype._onObjectsRemoved,this),this.removeAllPrimitives()),this._dynamicObjectCollection=e,t(e)&&e.collectionChanged.addEventListener(m.prototype._onObjectsRemoved,this))},m.prototype.update=function(e){if(!t(e))throw new r("time is requied.");if(t(this._dynamicObjectCollection))for(var i=this._dynamicObjectCollection.getObjects(),n=0,o=i.length;o>n;n++)h(this,e,i[n])},m.prototype.removeAllPrimitives=function(){var e,r;for(e=0,r=this._ellipsoidCollection.length;r>e;e++)this._primitives.remove(this._ellipsoidCollection[e]);if(t(this._dynamicObjectCollection)){var i=this._dynamicObjectCollection.getObjects();for(e=i.length-1;e>-1;e--)i[e]._ellipsoidVisualizerIndex=void 0}this._unusedIndexes=[],this._ellipsoidCollection=[]},m.prototype.isDestroyed=function(){return!1},m.prototype.destroy=function(){return this.removeAllPrimitives(),i(this)};var p,f;return m.prototype._onObjectsRemoved=function(e,r,i){for(var n=this._ellipsoidCollection,o=this._unusedIndexes,a=i.length-1;a>-1;a--){var s=i[a],l=s._ellipsoidVisualizerIndex;if(t(l)){var u=n[l];u.show=!1,o.push(l),s._ellipsoidVisualizerIndex=void 0}}},m}),r("Shaders/SensorVolume",[],function(){"use strict";return"uniform vec4 u_intersectionColor;\nuniform float u_intersectionWidth;\nbool inSensorShadow(vec3 coneVertexWC, czm_ellipsoid ellipsoidEC, vec3 pointWC)\n{\nvec3 D = ellipsoidEC.inverseRadii;\nvec3 q = D * coneVertexWC;\nfloat qMagnitudeSquared = dot(q, q);\nfloat test = qMagnitudeSquared - 1.0;\nvec3 temp = D * pointWC - q;\nfloat d = dot(temp, q);\nreturn (d < -test) && (d / length(temp) < -sqrt(test));\n}\nvec4 getIntersectionColor()\n{\nreturn u_intersectionColor;\n}\nfloat getIntersectionWidth()\n{\nreturn u_intersectionWidth;\n}\nvec2 sensor2dTextureCoordinates(float sensorRadius, vec3 pointMC)\n{\nfloat t = pointMC.z / sensorRadius;\nfloat s = 1.0 + (atan(pointMC.y, pointMC.x) / czm_twoPi);\ns = s - floor(s);\nreturn vec2(s, t);\n}\n"}),r("Shaders/CustomSensorVolumeVS",[],function(){"use strict";return"attribute vec4 position;\nattribute vec3 normal;\nvarying vec3 v_positionWC;\nvarying vec3 v_positionEC;\nvarying vec3 v_normalEC;\nvoid main()\n{\ngl_Position = czm_modelViewProjection * position;\nv_positionWC = (czm_model * position).xyz;\nv_positionEC = (czm_modelView * position).xyz;\nv_normalEC = czm_normal * normal;\n}\n"}),r("Shaders/CustomSensorVolumeFS",[],function(){"use strict";return"#ifdef GL_OES_standard_derivatives\n#extension GL_OES_standard_derivatives : enable\n#endif\nuniform bool u_showIntersection;\nuniform bool u_showThroughEllipsoid;\nuniform float u_sensorRadius;\nuniform float u_normalDirection;\nvarying vec3 v_positionWC;\nvarying vec3 v_positionEC;\nvarying vec3 v_normalEC;\nvec4 getColor(float sensorRadius, vec3 pointEC)\n{\nczm_materialInput materialInput;\nvec3 pointMC = (czm_inverseModelView * vec4(pointEC, 1.0)).xyz;\nmaterialInput.st = sensor2dTextureCoordinates(sensorRadius, pointMC);\nmaterialInput.str = pointMC / sensorRadius;\nvec3 positionToEyeEC = -v_positionEC;\nmaterialInput.positionToEyeEC = positionToEyeEC;\nvec3 normalEC = normalize(v_normalEC);\nmaterialInput.normalEC = u_normalDirection * normalEC;\nczm_material material = czm_getMaterial(materialInput);\nreturn mix(czm_phong(normalize(positionToEyeEC), material), vec4(material.diffuse, material.alpha), 0.4);\n}\nbool isOnBoundary(float value, float epsilon)\n{\nfloat width = getIntersectionWidth();\nfloat tolerance = width * epsilon;\n#ifdef GL_OES_standard_derivatives\nfloat delta = max(abs(dFdx(value)), abs(dFdy(value)));\nfloat pixels = width * delta;\nfloat temp = abs(value);\nreturn temp < tolerance && temp < pixels || (delta < 10.0 * tolerance && temp - delta < tolerance && temp < pixels);\n#else\nreturn abs(value) < tolerance;\n#endif\n}\nvec4 shade(bool isOnBoundary)\n{\nif (u_showIntersection && isOnBoundary)\n{\nreturn getIntersectionColor();\n}\nreturn getColor(u_sensorRadius, v_positionEC);\n}\nfloat ellipsoidSurfaceFunction(czm_ellipsoid ellipsoid, vec3 point)\n{\nvec3 scaled = ellipsoid.inverseRadii * point;\nreturn dot(scaled, scaled) - 1.0;\n}\nvoid main()\n{\nvec3 sensorVertexWC = czm_model[3].xyz;\nvec3 sensorVertexEC = czm_modelView[3].xyz;\nczm_ellipsoid ellipsoid = czm_getWgs84EllipsoidEC();\nfloat ellipsoidValue = ellipsoidSurfaceFunction(ellipsoid, v_positionWC);\nif (!u_showThroughEllipsoid)\n{\nif (ellipsoidValue < 0.0)\n{\ndiscard;\n}\nif (inSensorShadow(sensorVertexWC, ellipsoid, v_positionWC))\n{\ndiscard;\n}\n}\nif (distance(v_positionEC, sensorVertexEC) > u_sensorRadius)\n{\ndiscard;\n}\nbool isOnEllipsoid = isOnBoundary(ellipsoidValue, czm_epsilon3);\ngl_FragColor = shade(isOnEllipsoid);\n}\n"}),r("Scene/CustomSensorVolume",["../Core/defaultValue","../Core/defined","../Core/DeveloperError","../Core/Color","../Core/combine","../Core/destroyObject","../Core/FAR","../Core/Cartesian3","../Core/Matrix4","../Core/ComponentDatatype","../Core/PrimitiveType","../Core/BoundingSphere","../Renderer/BufferUsage","../Renderer/BlendingState","../Renderer/DrawCommand","../Renderer/createShaderSource","../Renderer/CullFace","../Renderer/Pass","./Material","../Shaders/SensorVolume","../Shaders/CustomSensorVolumeVS","../Shaders/CustomSensorVolumeFS","./SceneMode"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f,v,y,g,_,w,C,x){"use strict";function S(e){for(var t=e._directions,r=t.length,i=new Float32Array(3*r),n=isFinite(e.radius)?e.radius:a,o=[s.ZERO],l=r-2,u=r-1,c=0;r>c;l=u++,u=c++){var d=s.fromSpherical(t[l]),m=s.fromSpherical(t[u]),p=s.fromSpherical(t[c]),f=Math.max(s.angleBetween(d,m),s.angleBetween(m,p)),v=n/Math.cos(.5*f),y=s.multiplyByScalar(m,v);i[3*u]=y.x,i[3*u+1]=y.y,i[3*u+2]=y.z,o.push(y)}return h.fromPoints(o,e._boundingSphere),i}function E(e,t){for(var r=S(e),i=e._directions.length,n=new Float32Array(18*i),o=0,a=i-1,l=0;i>l;a=l++){var c=new s(r[3*a],r[3*a+1],r[3*a+2]),h=new s(r[3*l],r[3*l+1],r[3*l+2]),d=s.normalize(s.cross(h,c));n[o++]=0,n[o++]=0,n[o++]=0,n[o++]=d.x,n[o++]=d.y,n[o++]=d.z,n[o++]=h.x,n[o++]=h.y,n[o++]=h.z,n[o++]=d.x,n[o++]=d.y,n[o++]=d.z,n[o++]=c.x,n[o++]=c.y,n[o++]=c.z,n[o++]=d.x,n[o++]=d.y,n[o++]=d.z}var m=t.createVertexBuffer(new Float32Array(n),e.bufferUsage),p=6*Float32Array.BYTES_PER_ELEMENT,f=[{index:b.position,vertexBuffer:m,componentsPerAttribute:3,componentDatatype:u.FLOAT,offsetInBytes:0,strideInBytes:p},{index:b.normal,vertexBuffer:m,componentsPerAttribute:3,componentDatatype:u.FLOAT,offsetInBytes:3*Float32Array.BYTES_PER_ELEMENT,strideInBytes:p}];return t.createVertexArray(f)}var b={position:0,normal:1},T=function(r){r=e(r,e.EMPTY_OBJECT),this._pickId=void 0,this._pickIdThis=e(r._pickIdThis,this),this._frontFaceColorCommand=new p,this._backFaceColorCommand=new p,this._pickCommand=new p,this._boundingSphere=new h,this._boundingSphereWC=new h,this._frontFaceColorCommand.primitiveType=c.TRIANGLES,this._frontFaceColorCommand.boundingVolume=this._boundingSphereWC,this._frontFaceColorCommand.owner=this,this._backFaceColorCommand.primitiveType=this._frontFaceColorCommand.primitiveType,this._backFaceColorCommand.boundingVolume=this._frontFaceColorCommand.boundingVolume,this._backFaceColorCommand.owner=this,this._pickCommand.primitiveType=this._frontFaceColorCommand.primitiveType,this._pickCommand.boundingVolume=this._frontFaceColorCommand.boundingVolume,this._pickCommand.owner=this,this.show=e(r.show,!0),this.showIntersection=e(r.showIntersection,!0),this.showThroughEllipsoid=e(r.showThroughEllipsoid,!1),this._showThroughEllipsoid=this.showThroughEllipsoid,this.modelMatrix=l.clone(e(r.modelMatrix,l.IDENTITY)),this._modelMatrix=new l,this.bufferUsage=e(r.bufferUsage,d.STATIC_DRAW),this._bufferUsage=this.bufferUsage,this.radius=e(r.radius,Number.POSITIVE_INFINITY),this._directions=void 0,this._directionsDirty=!1,this.setDirections(r.directions),this.material=t(r.material)?r.material:g.fromType(g.ColorType),this._material=void 0,this._translucent=void 0,this.intersectionColor=i.clone(e(r.intersectionColor,i.WHITE)),this.intersectionWidth=e(r.intersectionWidth,5),this.id=r.id,this._id=void 0;var n=this;this._uniforms={u_showThroughEllipsoid:function(){return n.showThroughEllipsoid},u_showIntersection:function(){return n.showIntersection},u_sensorRadius:function(){return isFinite(n.radius)?n.radius:a},u_intersectionColor:function(){return n.intersectionColor},u_intersectionWidth:function(){return n.intersectionWidth},u_normalDirection:function(){return 1}},this._mode=x.SCENE3D};return T.prototype.setDirections=function(e){this._directions=e,this._directionsDirty=!0},T.prototype.getDirections=function(){return this._directions},T.prototype.update=function(e,i,o){if(this._mode=i.mode,this.show&&this._mode===x.SCENE3D){if(this.radius<0)throw new r("this.radius must be greater than or equal to zero.");if(!t(this.material))throw new r("this.material must be defined.");var a=this.material.isTranslucent();if(this._showThroughEllipsoid!==this.showThroughEllipsoid||!t(this._frontFaceColorCommand.renderState)||this._translucent!==a){this._showThroughEllipsoid=this.showThroughEllipsoid,this._translucent=a;var s;a?(s=e.createRenderState({depthTest:{enabled:!this.showThroughEllipsoid},depthMask:!1,blending:m.ALPHA_BLEND,cull:{enabled:!0,face:v.BACK}}),this._frontFaceColorCommand.renderState=s,this._frontFaceColorCommand.pass=y.TRANSLUCENT,s=e.createRenderState({depthTest:{enabled:!this.showThroughEllipsoid},depthMask:!1,blending:m.ALPHA_BLEND,cull:{enabled:!0,face:v.FRONT}}),this._backFaceColorCommand.renderState=s,this._backFaceColorCommand.pass=y.TRANSLUCENT,s=e.createRenderState({depthTest:{enabled:!this.showThroughEllipsoid},depthMask:!1,blending:m.ALPHA_BLEND}),this._pickCommand.renderState=s):(s=e.createRenderState({depthTest:{enabled:!0},depthMask:!0}),this._frontFaceColorCommand.renderState=s,this._frontFaceColorCommand.pass=y.OPAQUE,s=e.createRenderState({depthTest:{enabled:!0},depthMask:!0}),this._pickCommand.renderState=s)}var u=this._directionsDirty||this._bufferUsage!==this.bufferUsage;if(u){this._directionsDirty=!1,this._bufferUsage=this.bufferUsage,this._va=this._va&&this._va.destroy();var c=this._directions;c&&c.length>=3&&(this._frontFaceColorCommand.vertexArray=E(this,e),this._backFaceColorCommand.vertexArray=this._frontFaceColorCommand.vertexArray,this._pickCommand.vertexArray=this._frontFaceColorCommand.vertexArray)}if(t(this._frontFaceColorCommand.vertexArray)){var d=i.passes,p=!l.equals(this.modelMatrix,this._modelMatrix);p&&l.clone(this.modelMatrix,this._modelMatrix),(u||p)&&h.transform(this._boundingSphere,this.modelMatrix,this._boundingSphereWC),this._frontFaceColorCommand.modelMatrix=this.modelMatrix,this._backFaceColorCommand.modelMatrix=this._frontFaceColorCommand.modelMatrix,this._pickCommand.modelMatrix=this._frontFaceColorCommand.modelMatrix;var g=this._material!==this.material;if(this._material=this.material,this._material.update(e),d.render){var S=this._frontFaceColorCommand,T=this._backFaceColorCommand;if(g||!t(S.shaderProgram)){var A=f({sources:[_,this._material.shaderSource,C]});S.shaderProgram=e.getShaderCache().replaceShaderProgram(S.shaderProgram,w,A,b),S.uniformMap=n([this._uniforms,this._material._uniforms],!1,!1),T.shaderProgram=S.shaderProgram,T.uniformMap=n([this._uniforms,this._material._uniforms],!1,!1),T.uniformMap.u_normalDirection=function(){return-1}}a?o.push(this._backFaceColorCommand,this._frontFaceColorCommand):o.push(this._frontFaceColorCommand)}if(d.pick){var D=this._pickCommand;if(t(this._pickId)&&this._id===this.id||(this._id=this.id,this._pickId=this._pickId&&this._pickId.destroy(),this._pickId=e.createPickId({primitive:this._pickIdThis,id:this.id})),g||!t(D.shaderProgram)){var P=f({sources:[_,this._material.shaderSource,C],pickColorQualifier:"uniform"});D.shaderProgram=e.getShaderCache().replaceShaderProgram(D.shaderProgram,w,P,b);var M=this;D.uniformMap=n([this._uniforms,this._material._uniforms,{czm_pickColor:function(){return M._pickId.color}}],!1,!1)}D.pass=a?y.TRANSLUCENT:y.OPAQUE,o.push(D)}}}},T.prototype.isDestroyed=function(){return!1},T.prototype.destroy=function(){return this._frontFaceColorCommand.vertexArray=this._frontFaceColorCommand.vertexArray&&this._frontFaceColorCommand.vertexArray.destroy(),this._frontFaceColorCommand.shaderProgram=this._frontFaceColorCommand.shaderProgram&&this._frontFaceColorCommand.shaderProgram.release(),this._pickCommand.shaderProgram=this._pickCommand.shaderProgram&&this._pickCommand.shaderProgram.release(),this._pickId=this._pickId&&this._pickId.destroy(),o(this)},T}),r("DynamicScene/DynamicConeVisualizerUsingCustomSensor",["../Core/Cartesian3","../Core/Color","../Core/defined","../Core/destroyObject","../Core/DeveloperError","../Core/Quaternion","../Core/Math","../Core/Matrix3","../Core/Matrix4","../Core/Spherical","../Scene/CustomSensorVolume","../Scene/Material","./MaterialProperty"],function(e,t,r,i,n,o,a,s,l,u,c,h,d){"use strict";function m(e,t,i,n){var o=t[e];r(o)||(t[e]=o=new u),o.clock=i,o.cone=n,o.magnitude=1}function p(e,t,r,i,n){var o,s=0,l=a.toRadians(2);if(0===e&&t===a.TWO_PI)for(o=0;oo;o+=l)m(s++,n,o,i);if(m(s++,n,t,i),r){for(o=t;o>e;o-=l)m(s++,n,o,r);m(s++,n,e,r)}else m(s++,n,t,0)}return n.length=s,n}function f(i,n,u){var m=u._cone;if(r(m)){var f=u._position;if(r(f)){var y=u._orientation;if(r(y)){var w,C=m._show,x=u._coneVisualizerIndex,S=u.isAvailable(n)&&(!r(C)||C.getValue(n));if(!S)return r(x)&&(w=i._coneCollection[x],w.show=!1,u._coneVisualizerIndex=void 0,i._unusedIndexes.push(x)),void 0;if(r(x))w=i._coneCollection[x];else{var E=i._unusedIndexes,b=E.length;b>0?(x=E.pop(),w=i._coneCollection[x]):(x=i._coneCollection.length,w=new c,w._directionsScratch=[],i._coneCollection.push(w),i._primitives.add(w)),u._coneVisualizerIndex=x,w.dynamicObject=u,w.material=h.fromType(h.ColorType),w.intersectionColor=t.clone(t.YELLOW),w.intersectionWidth=5,w.radius=Number.POSITIVE_INFINITY,w.showIntersection=!0}w.show=!0;var T,A=m._minimumClockAngle;r(A)&&(T=A.getValue(n)),r(T)||(T=0);var D;A=m._maximumClockAngle,r(A)&&(D=A.getValue(n)),r(D)||(D=a.TWO_PI);var P;A=m._innerHalfAngle,r(A)&&(P=A.getValue(n)),r(P)||(P=0);var M;if(A=m._outerHalfAngle,r(A)&&(M=A.getValue(n)),r(M)||(M=Math.PI),(T!==w.minimumClockAngle||D!==w.maximumClockAngle||P!==w.innerHalfAngle||M!==w.outerHalfAngle)&&(w.setDirections(p(T,D,P,M,w._directionsScratch)),w.innerHalfAngle=P,w.maximumClockAngle=D,w.outerHalfAngle=M,w.minimumClockAngle=T),A=m._radius,r(A)){var I=A.getValue(n);r(I)&&(w.radius=I)}var O=f.getValue(n,g),R=y.getValue(n,_);if(!r(O)||!r(R)||e.equals(O,w._visualizerPosition)&&o.equals(R,w._visualizerOrientation)||(l.fromRotationTranslation(s.fromQuaternion(R,v),O,w.modelMatrix),w._visualizerPosition=e.clone(O,w._visualizerPosition),w._visualizerOrientation=o.clone(R,w._visualizerOrientation)),w.material=d.getValue(n,m._outerMaterial,w.material),A=m._intersectionColor,r(A)&&A.getValue(n,w.intersectionColor),A=m._intersectionWidth,r(A)){var L=A.getValue(n);r(L)&&(w.intersectionWidth=L)}}}}}var v=new s,y=function(e,t){if(!r(e))throw new n("scene is required.");this._scene=e,this._unusedIndexes=[],this._primitives=e.getPrimitives(),this._coneCollection=[],this._dynamicObjectCollection=void 0,this.setDynamicObjectCollection(t)};y.prototype.getScene=function(){return this._scene},y.prototype.getDynamicObjectCollection=function(){return this._dynamicObjectCollection},y.prototype.setDynamicObjectCollection=function(e){var t=this._dynamicObjectCollection;t!==e&&(r(t)&&(t.collectionChanged.removeEventListener(y.prototype._onObjectsRemoved,this),this.removeAllPrimitives()),this._dynamicObjectCollection=e,r(e)&&e.collectionChanged.addEventListener(y.prototype._onObjectsRemoved,this))},y.prototype.update=function(e){if(!r(e))throw new n("time is requied.");if(r(this._dynamicObjectCollection))for(var t=this._dynamicObjectCollection.getObjects(),i=0,o=t.length;o>i;i++)f(this,e,t[i])},y.prototype.removeAllPrimitives=function(){var e,t;for(e=0,t=this._coneCollection.length;t>e;e++)this._primitives.remove(this._coneCollection[e]);if(r(this._dynamicObjectCollection)){var i=this._dynamicObjectCollection.getObjects();for(e=i.length-1;e>-1;e--)i[e]._coneVisualizerIndex=void 0}this._unusedIndexes=[],this._coneCollection=[]},y.prototype.isDestroyed=function(){return!1},y.prototype.destroy=function(){return this.removeAllPrimitives(),i(this)};var g=new e,_=new o;return y.prototype._onObjectsRemoved=function(e,t,i){for(var n=this._coneCollection,o=this._unusedIndexes,a=i.length-1;a>-1;a--){var s=i[a],l=s._coneVisualizerIndex;if(r(l)){var u=n[l];u.show=!1,o.push(l),s._coneVisualizerIndex=void 0}}},y}),r("Scene/Label",["../Core/defaultValue","../Core/DeveloperError","../Core/Cartesian2","../Core/Cartesian3","../Core/Color","../Core/defined","../Core/NearFarScalar","./Billboard","./LabelStyle","./HorizontalOrigin","./VerticalOrigin"],function(e,t,r,i,n,o,a,s,l,u,c){"use strict";function h(e){e._rebindAllGlyphs||e._repositionAllGlyphs||e._labelCollection._labelsToUpdate.push(e),e._rebindAllGlyphs=!0}function d(e){e._rebindAllGlyphs||e._repositionAllGlyphs||e._labelCollection._labelsToUpdate.push(e),e._repositionAllGlyphs=!0}var m=function(a,s){if(a=e(a,e.EMPTY_OBJECT),o(a.translucencyByDistance)&&a.translucencyByDistance.far<=a.translucencyByDistance.near)throw new t("translucencyByDistance.far must be greater than translucencyByDistance.near.");if(o(a.pixelOffsetScaleByDistance)&&a.pixelOffsetScaleByDistance.far<=a.pixelOffsetScaleByDistance.near)throw new t("pixelOffsetScaleByDistance.far must be greater than pixelOffsetScaleByDistance.near.");this._text=e(a.text,""),this._show=e(a.show,!0),this._font=e(a.font,"30px sans-serif"),this._fillColor=n.clone(e(a.fillColor,n.WHITE)),this._outlineColor=n.clone(e(a.outlineColor,n.BLACK)),this._outlineWidth=e(a.outlineWidth,1),this._style=e(a.style,l.FILL),this._verticalOrigin=e(a.verticalOrigin,c.BOTTOM),this._horizontalOrigin=e(a.horizontalOrigin,u.LEFT),this._pixelOffset=r.clone(e(a.pixelOffset,r.ZERO)),this._eyeOffset=i.clone(e(a.eyeOffset,i.ZERO)),this._position=i.clone(e(a.position,i.ZERO)),this._scale=e(a.scale,1),this._id=a.id,this._translucencyByDistance=a.translucencyByDistance,this._pixelOffsetScaleByDistance=a.pixelOffsetScaleByDistance,this._labelCollection=s,this._glyphs=[],this._rebindAllGlyphs=!0,this._repositionAllGlyphs=!0};return m.prototype.getShow=function(){return this._show},m.prototype.setShow=function(e){if(!o(e))throw new t("value is required.");if(e!==this._show){this._show=e;for(var r=this._glyphs,i=0,n=r.length;n>i;i++){var a=r[i];o(a.billboard)&&a.billboard.setShow(e)}}},m.prototype.getPosition=function(){return this._position},m.prototype.setPosition=function(e){if(!o(e))throw new t("value is required.");var r=this._position;if(!i.equals(r,e)){i.clone(e,r);for(var n=this._glyphs,a=0,s=n.length;s>a;a++){var l=n[a];o(l.billboard)&&l.billboard.setPosition(e)}}},m.prototype.getText=function(){return this._text},m.prototype.setText=function(e){if(!o(e))throw new t("value is required.");e!==this._text&&(this._text=e,h(this))},m.prototype.getFont=function(){return this._font},m.prototype.setFont=function(e){if(!o(e))throw new t("value is required.");this._font!==e&&(this._font=e,h(this))},m.prototype.getFillColor=function(){return this._fillColor},m.prototype.setFillColor=function(e){if(!o(e))throw new t("value is required.");var r=this._fillColor;n.equals(r,e)||(n.clone(e,r),h(this))},m.prototype.getOutlineColor=function(){return this._outlineColor},m.prototype.setOutlineColor=function(e){if(!o(e))throw new t("value is required.");var r=this._outlineColor;n.equals(r,e)||(n.clone(e,r),h(this))},m.prototype.getOutlineWidth=function(){return this._outlineWidth},m.prototype.setOutlineWidth=function(e){if(!o(e))throw new t("value is required.");this._outlineWidth!==e&&(this._outlineWidth=e,h(this))},m.prototype.getStyle=function(){return this._style},m.prototype.setStyle=function(e){if(!o(e))throw new t("value is required.");this._style!==e&&(this._style=e,h(this))},m.prototype.getPixelOffset=function(){return this._pixelOffset},m.prototype.setPixelOffset=function(e){if(!o(e))throw new t("value is required.");var i=this._pixelOffset;r.equals(i,e)||(r.clone(e,i),d(this))},m.prototype.getTranslucencyByDistance=function(){return this._translucencyByDistance},m.prototype.setTranslucencyByDistance=function(e){if(!a.equals(this._translucencyByDistance,e)){if(e.far<=e.near)throw new t("far distance must be greater than near distance.");this._translucencyByDistance=a.clone(e,this._translucencyByDistance),h(this)}},m.prototype.getPixelOffsetScaleByDistance=function(){return this._pixelOffsetScaleByDistance},m.prototype.setPixelOffsetScaleByDistance=function(e){if(!a.equals(this._pixelOffsetScaleByDistance,e)){if(e.far<=e.near)throw new t("far distance must be greater than near distance.");this._pixelOffsetScaleByDistance=a.clone(e,this._pixelOffsetScaleByDistance),h(this)}},m.prototype.getEyeOffset=function(){return this._eyeOffset},m.prototype.setEyeOffset=function(e){if(!o(e))throw new t("value is required.");var r=this._eyeOffset;if(!i.equals(r,e)){i.clone(e,r);for(var n=this._glyphs,a=0,s=n.length;s>a;a++){var l=n[a];o(l.billboard)&&l.billboard.setEyeOffset(e)}}},m.prototype.getHorizontalOrigin=function(){return this._horizontalOrigin},m.prototype.setHorizontalOrigin=function(e){if(!o(e))throw new t("value is required.");this._horizontalOrigin!==e&&(this._horizontalOrigin=e,d(this))},m.prototype.getVerticalOrigin=function(){return this._verticalOrigin},m.prototype.setVerticalOrigin=function(e){if(!o(e))throw new t("value is required.");this._verticalOrigin!==e&&(this._verticalOrigin=e,d(this))},m.prototype.getScale=function(){return this._scale},m.prototype.getId=function(){return this._id},m.prototype.setScale=function(e){if(!o(e))throw new t("value is required.");if(this._scale!==e){this._scale=e;for(var r=this._glyphs,i=0,n=r.length;n>i;i++){var a=r[i];o(a.billboard)&&a.billboard.setScale(e)}d(this)}},m.prototype.computeScreenSpacePosition=function(e,r){if(!o(e))throw new t("context is required.");if(!o(r))throw new t("frameState is required.");var i=this._labelCollection,n=i.modelMatrix,a=s._computeActualPosition(this._position,r,n);return s._computeScreenSpacePosition(n,a,this._eyeOffset,this._pixelOffset,e,r)},m.prototype.equals=function(e){return this===e||o(e)&&this._show===e._show&&this._scale===e._scale&&this._style===e._style&&this._verticalOrigin===e._verticalOrigin&&this._horizontalOrigin===e._horizontalOrigin&&this._text===e._text&&this._font===e._font&&i.equals(this._position,e._position)&&n.equals(this._fillColor,e._fillColor)&&n.equals(this._outlineColor,e._outlineColor)&&r.equals(this._pixelOffset,e._pixelOffset)&&i.equals(this._eyeOffset,e._eyeOffset)&&a.equals(this._translucencyByDistance,e._translucencyByDistance)&&a.equals(this._pixelOffsetScaleByDistance,e._pixelOffsetScaleByDistance)&&this._id===e._id},m.prototype.isDestroyed=function(){return!1},m}),r("Scene/LabelCollection",["../Core/defaultValue","../Core/DeveloperError","../Core/defined","../Core/destroyObject","../Core/Cartesian2","../Core/Matrix4","../Core/writeTextToCanvas","./BillboardCollection","./Label","./LabelStyle","./HorizontalOrigin","./VerticalOrigin"],function(e,t,r,i,n,o,a,s,l,u,c,h){"use strict";function d(){this.textureInfo=void 0,this.dimensions=void 0,this.billboard=void 0}function m(e,t,r){this.labelCollection=e,this.index=t,this.dimensions=r}function p(e,t,r,i,n,o,s){return _.font=t,_.fillColor=r,_.strokeColor=i,_.strokeWidth=n,_.textBaseline=s===h.BOTTOM?"bottom":s===h.TOP?"top":"middle",_.fill=o===u.FILL||o===u.FILL_AND_OUTLINE,_.stroke=o===u.OUTLINE||o===u.FILL_AND_OUTLINE,a(e,_)}function f(e,t){t.textureInfo=void 0,t.dimensions=void 0;var i=t.billboard;r(i)&&(i.setShow(!1),i.setImageIndex(-1),i._pickId=i._pickId&&i._pickId.destroy(),e._spareBillboards.push(i),t.billboard=void 0)}function v(e,t){var i,n,o,a=t._text,s=a.length,l=t._glyphs,u=l.length;if(u>s)for(n=s;u>n;++n)f(e,l[n]);l.length=s;var h=e._glyphTextureCache,v=e._textureAtlas;for(o=0;s>o;++o){var y=a.charAt(o),g=t._font,_=t._fillColor,w=t._outlineColor,C=t._outlineWidth,x=t._style,S=t._verticalOrigin,E=JSON.stringify([y,g,_.toRgba(),w.toRgba(),C,+x,+S]),b=h[E];if(!r(b)){var T=p(y,g,_,w,C,x,S),A=-1;T.width>0&&T.height>0&&(A=v.addImage(T)),b=new m(e,A,T.dimensions),h[E]=b}if(i=l[o],r(i)?-1===b.index?f(e,i):r(i.textureInfo)&&(i.textureInfo=void 0):(i=new d,l[o]=i),i.textureInfo=b,i.dimensions=b.dimensions,-1!==b.index){var D=i.billboard;r(D)||(i.billboard=D=e._spareBillboards.length>0?e._spareBillboards.pop():e._billboardCollection.add(),D.setShow(t._show),D.setPosition(t._position),D.setEyeOffset(t._eyeOffset),D.setPixelOffset(t._pixelOffset),D.setHorizontalOrigin(c.LEFT),D.setVerticalOrigin(t._verticalOrigin),D.setScale(t._scale),D._pickIdThis=t,D._id=t._id),i.billboard.setImageIndex(b.index),i.billboard.setTranslucencyByDistance(t._translucencyByDistance),i.billboard.setPixelOffsetScaleByDistance(t._pixelOffsetScaleByDistance)}}t._repositionAllGlyphs=!0}function y(e){var t,i,n=e._glyphs,o=0,a=0,s=0,l=n.length;for(s=0;l>s;++s)t=n[s],i=t.dimensions,o+=i.width,a=Math.max(a,i.height);var u=e._scale,d=e._horizontalOrigin,m=0;d===c.CENTER?m-=o/2*u:d===c.RIGHT&&(m-=o*u),w.x=m,w.y=0;var p=e._verticalOrigin;for(s=0;l>s;++s)t=n[s],i=t.dimensions,p===h.BOTTOM||i.height===a?w.y=-i.descent*u:p===h.TOP?w.y=-(a-i.height)*u-i.descent*u:p===h.CENTER&&(w.y=-(a-i.height)/2*u-i.descent*u),r(t.billboard)&&t.billboard._setTranslate(w),w.x+=i.width*u -}function g(e,t){for(var r=t._glyphs,n=0,o=r.length;o>n;++n)f(e,r[n]);t._labelCollection=void 0,i(t)}var _={},w=new n,C=function(t){t=e(t,e.EMPTY_OBJECT),this._textureAtlas=void 0,this._billboardCollection=new s,this._billboardCollection.setDestroyTextureAtlas(!1),this._spareBillboards=[],this._glyphTextureCache={},this._labels=[],this._labelsToUpdate=[],this._totalGlyphCount=0,this.modelMatrix=o.clone(e(t.modelMatrix,o.IDENTITY)),this.debugShowBoundingVolume=e(t.debugShowBoundingVolume,!1)};return C.prototype.add=function(e){var t=new l(e,this);return this._labels.push(t),this._labelsToUpdate.push(t),t},C.prototype.remove=function(e){if(r(e)&&e._labelCollection===this){var t=this._labels.indexOf(e);if(-1!==t)return this._labels.splice(t,1),g(this,e),!0}return!1},C.prototype.removeAll=function(){for(var e=this._labels,t=0,r=e.length;r>t;++t)g(this,e[t]);e.length=0},C.prototype.contains=function(e){return r(e)&&e._labelCollection===this},C.prototype.get=function(e){if(!r(e))throw new t("index is required.");return this._labels[e]},C.prototype.getLength=function(){return this._labels.length},C.prototype.update=function(e,t,i){var n=this._billboardCollection;n.modelMatrix=this.modelMatrix,n.debugShowBoundingVolume=this.debugShowBoundingVolume,r(this._textureAtlas)||(this._textureAtlas=e.createTextureAtlas(),n.setTextureAtlas(this._textureAtlas));for(var o=this._labelsToUpdate,a=0,s=o.length;s>a;++a){var l=o[a];if(!l.isDestroyed()){var u=l._glyphs.length;l._rebindAllGlyphs&&(v(this,l),l._rebindAllGlyphs=!1),l._repositionAllGlyphs&&(y(l),l._repositionAllGlyphs=!1);var c=l._glyphs.length-u;this._totalGlyphCount+=c}}o.length=0,n.update(e,t,i)},C.prototype.isDestroyed=function(){return!1},C.prototype.destroy=function(){return this.removeAll(),this._billboardCollection=this._billboardCollection.destroy(),this._textureAtlas=this._textureAtlas&&this._textureAtlas.destroy(),i(this)},C}),r("DynamicScene/DynamicLabelVisualizer",["../Core/DeveloperError","../Core/defined","../Core/destroyObject","../Core/Color","../Core/Cartesian2","../Core/Cartesian3","../Scene/LabelCollection","../Scene/LabelStyle","../Scene/HorizontalOrigin","../Scene/VerticalOrigin"],function(e,t,r,i,n,o,a,s,l,u){"use strict";function c(e,r,a){var c=a._label;if(t(c)){var h=c._text;if(t(h)){var y=a._position;if(t(y)){var g,_=c._show,w=a._labelVisualizerIndex,C=a.isAvailable(r)&&(!t(_)||_.getValue(r));if(!C)return t(w)&&(g=e._labelCollection.get(w),g.setShow(!1),e._unusedIndexes.push(w),a._labelVisualizerIndex=void 0),void 0;if(t(w))g=e._labelCollection.get(w);else{var x=e._unusedIndexes,S=x.length;S>0?(w=x.pop(),g=e._labelCollection.get(w)):(w=e._labelCollection.getLength(),g=e._labelCollection.add()),a._labelVisualizerIndex=w,g.dynamicObject=a,g.setText(""),g.setScale(1),g.setFont("30px sans-serif"),g.setFillColor(i.WHITE),g.setOutlineColor(i.BLACK),g.setOutlineWidth(1),g.setStyle(s.FILL),g.setPixelOffset(n.ZERO),g.setEyeOffset(o.ZERO),g.setHorizontalOrigin(l.CENTER),g.setVerticalOrigin(u.CENTER)}g.setShow(C);var E=h.getValue(r);t(E)&&g.setText(E),d=y.getValue(r,d),t(d)&&g.setPosition(d);var b=c._scale;if(t(b)){var T=b.getValue(r);t(T)&&g.setScale(T)}if(b=c._font,t(b)){var A=b.getValue(r);t(A)&&g.setFont(A)}if(b=c._fillColor,t(b)&&(m=b.getValue(r,m),t(m)&&g.setFillColor(m)),b=c._outlineColor,t(b)&&(p=b.getValue(r,p),t(p)&&g.setOutlineColor(p)),b=c._outlineWidth,t(b)){var D=b.getValue(r);t(D)&&g.setOutlineWidth(D)}if(b=c._style,t(b)){var P=b.getValue(r);t(P)&&g.setStyle(P)}if(b=c._pixelOffset,t(b)&&(v=b.getValue(r,v),t(v)&&g.setPixelOffset(v)),b=c._eyeOffset,t(b)&&(f=b.getValue(r,f),t(f)&&g.setEyeOffset(f)),b=c._horizontalOrigin,t(b)){var M=b.getValue(r);t(M)&&g.setHorizontalOrigin(M)}if(b=c._verticalOrigin,t(b)){var I=b.getValue(r);t(I)&&g.setVerticalOrigin(I)}b=c._translucencyByDistance,t(b)&&g.setTranslucencyByDistance(b.getValue(r)),b=c._pixelOffsetScaleByDistance,t(b)&&g.setPixelOffsetScaleByDistance(b.getValue(r))}}}}var h=function(r,i){if(!t(r))throw new e("scene is required.");this._scene=r,this._unusedIndexes=[],this._dynamicObjectCollection=void 0;var n=this._labelCollection=new a;r.getPrimitives().add(n),this.setDynamicObjectCollection(i)};h.prototype.getScene=function(){return this._scene},h.prototype.getDynamicObjectCollection=function(){return this._dynamicObjectCollection},h.prototype.setDynamicObjectCollection=function(e){var r=this._dynamicObjectCollection;r!==e&&(t(r)&&(r.collectionChanged.removeEventListener(h.prototype._onObjectsRemoved,this),this.removeAllPrimitives()),this._dynamicObjectCollection=e,t(e)&&e.collectionChanged.addEventListener(h.prototype._onObjectsRemoved,this))},h.prototype.update=function(r){if(!t(r))throw new e("time is requied.");if(t(this._dynamicObjectCollection))for(var i=this._dynamicObjectCollection.getObjects(),n=0,o=i.length;o>n;n++)c(this,r,i[n])},h.prototype.removeAllPrimitives=function(){if(this._unusedIndexes=[],this._labelCollection.removeAll(),t(this._dynamicObjectCollection))for(var e=this._dynamicObjectCollection.getObjects(),r=e.length-1;r>-1;r--)e[r]._labelVisualizerIndex=void 0},h.prototype.isDestroyed=function(){return!1},h.prototype.destroy=function(){return this.removeAllPrimitives(),this._scene.getPrimitives().remove(this._labelCollection),r(this)};var d,m,p,f,v;return h.prototype._onObjectsRemoved=function(e,r,i){for(var n=this._labelCollection,o=this._unusedIndexes,a=i.length-1;a>-1;a--){var s=i[a],l=s._labelVisualizerIndex;if(t(l)){var u=n.get(l);u.setShow(!1),o.push(l),s._labelVisualizerIndex=void 0}}},h}),r("Scene/Polyline",["../Core/defaultValue","../Core/defined","../Core/DeveloperError","../Core/BoundingSphere","../Core/Color","../Core/PolylinePipeline","../Core/Matrix4","./Material"],function(e,t,r,i,n,o,a,s){"use strict";function l(e,r){++e._propertiesChanged[r];var i=e._polylineCollection;t(i)&&(i._updatePolyline(e,r),e._dirty=!0)}var u={},c=function(r,l){r=e(r,u),this._show=e(r.show,!0),this._width=e(r.width,1),this._material=r.material,t(this._material)||(this._material=s.fromType(s.ColorType),this._material.uniforms.color=new n(1,1,1,1));var c=r.positions;t(c)||(c=[]),this._positions=c,this._length=c.length,this._id=r.id;var h;t(l)&&(h=a.clone(l.modelMatrix)),this._modelMatrix=h,this._segments=o.wrapLongitude(c,h),this._actualLength=void 0,this._propertiesChanged=new Uint32Array(v),this._polylineCollection=l,this._dirty=!1,this._pickId=void 0,this._pickIdThis=r._pickIdThis,this._boundingVolume=i.fromPoints(this._positions),this._boundingVolumeWC=i.transform(this._boundingVolume,this._modelMatrix),this._boundingVolume2D=new i},h=c.SHOW_INDEX=0,d=c.WIDTH_INDEX=1,m=c.POSITION_INDEX=2,p=c.MATERIAL_INDEX=3,f=c.POSITION_SIZE_INDEX=4,v=c.NUMBER_OF_PROPERTIES=5;return c.prototype.getShow=function(){return this._show},c.prototype.setShow=function(e){if(!t(e))throw new r("value is required.");e!==this._show&&(this._show=e,l(this,h))},c.prototype.getPositions=function(){return this._positions},c.prototype.setPositions=function(e){if(!t(e))throw new r("value is required.");(this._positions.length!==e.length||this._positions.length!==this._length)&&l(this,f),this._positions=e,this._length=e.length,this._boundingVolume=i.fromPoints(this._positions,this._boundingVolume),this._boundingVolumeWC=i.transform(this._boundingVolume,this._modelMatrix,this._boundingVolumeWC),l(this,m),this.update()},c.prototype.update=function(){var e=a.IDENTITY;t(this._polylineCollection)&&(e=this._polylineCollection.modelMatrix);var r=this._segments.positions.length,n=this._segments.lengths,s=this._propertiesChanged[m]>0||this._propertiesChanged[f]>0;if((!a.equals(e,this._modelMatrix)||s)&&(this._segments=o.wrapLongitude(this._positions,e),this._boundingVolumeWC=i.transform(this._boundingVolume,e,this._boundingVolumeWC)),this._modelMatrix=e,this._segments.positions.length!==r)l(this,f);else for(var u=n.length,c=0;u>c;++c)if(n[c]!==this._segments.lengths[c]){l(this,f);break}},c.prototype.getMaterial=function(){return this._material},c.prototype.setMaterial=function(e){if(!t(e))throw new r("material is required.");this._material!==e&&(this._material=e,l(this,p))},c.prototype.getWidth=function(){return this._width},c.prototype.setWidth=function(e){if(!t(e))throw new r("value is required.");var i=this._width;e!==i&&(this._width=e,l(this,d))},c.prototype.getId=function(){return this._id},c.prototype.getPickId=function(r){return t(this._pickId)||(this._pickId=r.createPickId({primitive:e(this._pickIdThis,this),id:this._id})),this._pickId},c.prototype._clean=function(){this._dirty=!1;for(var e=this._propertiesChanged,t=0;v-1>t;++t)e[t]=0},c.prototype._destroy=function(){this._pickId=this._pickId&&this._pickId.destroy(),this._material=this._material&&this._material.destroy(),this._polylineCollection=void 0},c}),r("Shaders/PolylineCommon",[],function(){"use strict";return"const vec2 czm_highResolutionSnapScale = vec2(1.0, 1.0);\nvoid clipLineSegmentToNearPlane(\nvec3 p0,\nvec3 p1,\nout vec4 positionWC,\nout bool clipped,\nout bool culledByNearPlane)\n{\nculledByNearPlane = false;\nclipped = false;\nvec3 p1ToP0 = p1 - p0;\nfloat magnitude = length(p1ToP0);\nvec3 direction = normalize(p1ToP0);\nfloat endPoint0Distance = -(czm_currentFrustum.x + p0.z);\nfloat denominator = -direction.z;\nif (endPoint0Distance < 0.0 && abs(denominator) < czm_epsilon7)\n{\nculledByNearPlane = true;\n}\nelse if (endPoint0Distance < 0.0 && abs(denominator) > czm_epsilon7)\n{\nfloat t = (czm_currentFrustum.x + p0.z) / denominator;\nif (t < 0.0 || t > magnitude)\n{\nculledByNearPlane = true;\n}\nelse\n{\np0 = p0 + t * direction;\nclipped = true;\n}\n}\npositionWC = czm_eyeToWindowCoordinates(vec4(p0, 1.0));\n}\nvec4 getPolylineWindowCoordinates(vec4 position, vec4 previous, vec4 next, float expandDirection, float width, bool usePrevious) {\nvec4 endPointWC, p0, p1;\nbool culledByNearPlane, clipped;\nvec4 positionEC = czm_modelViewRelativeToEye * position;\nvec4 prevEC = czm_modelViewRelativeToEye * previous;\nvec4 nextEC = czm_modelViewRelativeToEye * next;\nclipLineSegmentToNearPlane(prevEC.xyz, positionEC.xyz, p0, clipped, culledByNearPlane);\nclipLineSegmentToNearPlane(nextEC.xyz, positionEC.xyz, p1, clipped, culledByNearPlane);\nclipLineSegmentToNearPlane(positionEC.xyz, usePrevious ? prevEC.xyz : nextEC.xyz, endPointWC, clipped, culledByNearPlane);\nif (culledByNearPlane)\n{\nreturn vec4(0.0, 0.0, 0.0, 1.0);\n}\nvec2 prevWC = normalize(p0.xy - endPointWC.xy);\nvec2 nextWC = normalize(p1.xy - endPointWC.xy);\nfloat expandWidth = width * 0.5;\nvec2 direction;\nif (czm_equalsEpsilon(normalize(previous.xyz - position.xyz), vec3(0.0), czm_epsilon1) || czm_equalsEpsilon(prevWC, -nextWC, czm_epsilon1))\n{\ndirection = vec2(-nextWC.y, nextWC.x);\n}\nelse if (czm_equalsEpsilon(normalize(next.xyz - position.xyz), vec3(0.0), czm_epsilon1) || clipped)\n{\ndirection = vec2(prevWC.y, -prevWC.x);\n}\nelse\n{\nvec2 normal = vec2(-nextWC.y, nextWC.x);\ndirection = normalize((nextWC + prevWC) * 0.5);\nif (dot(direction, normal) < 0.0)\n{\ndirection = -direction;\n}\nfloat sinAngle = abs(direction.x * nextWC.y - direction.y * nextWC.x);\nexpandWidth = clamp(expandWidth / sinAngle, 0.0, width * 2.0);\n}\nvec2 offset = direction * expandDirection * expandWidth * czm_highResolutionSnapScale;\nreturn vec4(endPointWC.xy + offset, -endPointWC.z, 1.0);\n}\n"}),r("Shaders/PolylineVS",[],function(){"use strict";return"attribute vec3 position3DHigh;\nattribute vec3 position3DLow;\nattribute vec3 position2DHigh;\nattribute vec3 position2DLow;\nattribute vec3 prevPosition3DHigh;\nattribute vec3 prevPosition3DLow;\nattribute vec3 prevPosition2DHigh;\nattribute vec3 prevPosition2DLow;\nattribute vec3 nextPosition3DHigh;\nattribute vec3 nextPosition3DLow;\nattribute vec3 nextPosition2DHigh;\nattribute vec3 nextPosition2DLow;\nattribute vec4 texCoordExpandWidthAndShow;\nattribute vec4 pickColor;\nvarying vec2 v_st;\nvarying float v_width;\nvarying vec4 czm_pickColor;\nvoid main()\n{\nfloat texCoord = texCoordExpandWidthAndShow.x;\nfloat expandDir = texCoordExpandWidthAndShow.y;\nfloat width = abs(texCoordExpandWidthAndShow.z) + 0.5;\nbool usePrev = texCoordExpandWidthAndShow.z < 0.0;\nfloat show = texCoordExpandWidthAndShow.w;\nvec4 p, prev, next;\nif (czm_morphTime == 1.0)\n{\np = czm_translateRelativeToEye(position3DHigh.xyz, position3DLow.xyz);\nprev = czm_translateRelativeToEye(prevPosition3DHigh.xyz, prevPosition3DLow.xyz);\nnext = czm_translateRelativeToEye(nextPosition3DHigh.xyz, nextPosition3DLow.xyz);\n}\nelse if (czm_morphTime == 0.0)\n{\np = czm_translateRelativeToEye(position2DHigh.zxy, position2DLow.zxy);\nprev = czm_translateRelativeToEye(prevPosition2DHigh.zxy, prevPosition2DLow.zxy);\nnext = czm_translateRelativeToEye(nextPosition2DHigh.zxy, nextPosition2DLow.zxy);\n}\nelse\n{\np = czm_columbusViewMorph(\nczm_translateRelativeToEye(position2DHigh.zxy, position2DLow.zxy),\nczm_translateRelativeToEye(position3DHigh.xyz, position3DLow.xyz),\nczm_morphTime);\nprev = czm_columbusViewMorph(\nczm_translateRelativeToEye(prevPosition2DHigh.zxy, prevPosition2DLow.zxy),\nczm_translateRelativeToEye(prevPosition3DHigh.xyz, prevPosition3DLow.xyz),\nczm_morphTime);\nnext = czm_columbusViewMorph(\nczm_translateRelativeToEye(nextPosition2DHigh.zxy, nextPosition2DLow.zxy),\nczm_translateRelativeToEye(nextPosition3DHigh.xyz, nextPosition3DLow.xyz),\nczm_morphTime);\n}\nvec4 positionWC = getPolylineWindowCoordinates(p, prev, next, expandDir, width, usePrev);\ngl_Position = czm_viewportOrthographic * positionWC * show;\nv_st = vec2(texCoord, clamp(expandDir, 0.0, 1.0));\nv_width = width;\nczm_pickColor = pickColor;\n}\n"}),r("Shaders/PolylineFS",[],function(){"use strict";return"varying vec2 v_st;\nvoid main()\n{\nczm_materialInput materialInput;\nmaterialInput.s = v_st.s;\nmaterialInput.st = v_st;\nmaterialInput.str = vec3(v_st, 0.0);\nczm_material material = czm_getMaterial(materialInput);\ngl_FragColor = vec4(material.diffuse + material.emission, material.alpha);\n}\n"}),r("Scene/PolylineCollection",["../Core/defaultValue","../Core/defined","../Core/DeveloperError","../Core/Color","../Core/destroyObject","../Core/Cartesian3","../Core/Cartesian4","../Core/EncodedCartesian3","../Core/Matrix4","../Core/Math","../Core/ComponentDatatype","../Core/IndexDatatype","../Core/PrimitiveType","../Core/BoundingSphere","../Core/Intersect","../Renderer/BlendingState","../Renderer/BufferUsage","../Renderer/DrawCommand","../Renderer/createShaderSource","../Renderer/Pass","./Material","./SceneMode","./Polyline","../Shaders/PolylineCommon","../Shaders/PolylineVS","../Shaders/PolylineFS"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f,v,y,g,_,w,C,x,S,E,b){"use strict";function T(e,r,i,n,o,a,s){for(var l=n.length,u=0,c=!0,h=e._vertexArrays,p=e.debugShowBoundingVolume,f=h.length,v=0;f>v;++v)for(var g=h[v],w=g.buckets,x=w.length,S=0;x>S;++S){for(var E,b,T,A=w[S],D=A.offset,M=s?A.bucket.shaderProgram:A.bucket.pickShaderProgram,I=A.bucket.polylines,O=I.length,R=0,L=0;O>L;++L){var z=I[L],N=P(z._material);if(N!==E){if(t(E)&&R>0){var B=b.isTranslucent();u>=l?(T=new y,T.owner=e,n.push(T)):T=n[u],++u,T.boundingVolume=m.clone(j,T.boundingVolume),T.modelMatrix=a,T.primitiveType=d.TRIANGLES,T.shaderProgram=M,T.vertexArray=g.va,T.renderState=B?e._translucentRS:e._opaqueRS,T.pass=B?_.TRANSLUCENT:_.OPAQUE,T.debugShowBoundingVolume=s?p:!1,T.uniformMap=b._uniforms,T.count=R,T.offset=D,D+=R,R=0,c=!0,o.push(T)}b=z._material,b.update(r),E=N}for(var F=z._locatorBuckets,V=F.length,k=0;V>k;++k){var U=F[k];U.locator===A&&(R+=U.count)}var W;i.mode===C.SCENE3D?W=z._boundingVolumeWC:i.mode===C.COLUMBUS_VIEW?W=z._boundingVolume2D:i.mode===C.SCENE2D?t(z._boundingVolume2D)&&(W=m.clone(z._boundingVolume2D,Y),W.center.x=0):t(z._boundingVolumeWC)&&t(z._boundingVolume2D)&&(W=m.union(z._boundingVolumeWC,z._boundingVolume2D,Y)),c?(c=!1,m.clone(W,j)):m.union(W,j,j)}t(E)&&R>0&&(u>=l?(T=new y,T.owner=e,n.push(T)):T=n[u],++u,T.boundingVolume=m.clone(j,T.boundingVolume),T.modelMatrix=a,T.primitiveType=d.TRIANGLES,T.shaderProgram=M,T.vertexArray=g.va,T.renderState=b.isTranslucent()?e._translucentRS:e._opaqueRS,T.pass=b.isTranslucent()?_.TRANSLUCENT:_.OPAQUE,T.debugShowBoundingVolume=s?p:!1,T.uniformMap=b._uniforms,T.count=R,T.offset=D,c=!0,o.push(T)),E=void 0}n.length=u}function A(e){for(var t=e._buffersUsage,r=!1,i=e._propertiesChanged,n=0;q-2>n;++n){var o=t[n];i[n]?o.bufferUsage!==v.STREAM_DRAW?(r=!0,o.bufferUsage=v.STREAM_DRAW,o.frameCount=100):o.frameCount=100:o.bufferUsage!==v.STATIC_DRAW&&(0===o.frameCount?(r=!0,o.bufferUsage=v.STATIC_DRAW):o.frameCount--)}return r}function D(e,r){e._createVertexArray=!1,R(e),L(e),M(e);var i,n,o=[[]],a=o[0],s=[0],l=0,d=[[]],m=0,p=e._polylineBuckets;for(i in p)p.hasOwnProperty(i)&&(n=p[i],n.updateShader(r),m+=n.lengthOfPositions);if(m>0){var f,y=e._mode,g=new Float32Array(3*6*m),_=new Uint8Array(4*m),w=new Float32Array(4*m),x=0,S=0,E=0;for(i in p)if(p.hasOwnProperty(i)){n=p[i],n.write(g,_,w,x,S,E,r),y===C.MORPHING&&(t(f)||(f=new Float32Array(3*6*m)),n.writeForMorph(f,x));var b=n.lengthOfPositions;x+=3*6*b,S+=4*b,E+=4*b,l=n.updateIndices(o,s,d,l)}var T=e._buffersUsage[k].bufferUsage,A=e._buffersUsage[F].bufferUsage,D=e._buffersUsage[V].bufferUsage,P=A===v.STREAM_DRAW||D===v.STREAM_DRAW?v.STREAM_DRAW:v.STATIC_DRAW;e._positionBuffer=r.createVertexBuffer(g,T);var I;t(f)&&(I=r.createVertexBuffer(f,T)),e._pickColorBuffer=r.createVertexBuffer(_,v.STATIC_DRAW),e._texCoordExpandWidthAndShowBuffer=r.createVertexBuffer(w,P);for(var O=4*Uint8Array.BYTES_PER_ELEMENT,z=3*Float32Array.BYTES_PER_ELEMENT,N=4*Float32Array.BYTES_PER_ELEMENT,B=0,U=o.length,W=0;U>W;++W)if(a=o[W],a.length>0){var q=new Uint16Array(a),H=r.createIndexBuffer(q,v.STATIC_DRAW,h.UNSIGNED_SHORT);B+=s[W];var j,Y,Z,J,K=6*(W*z*u.SIXTY_FOUR_KILOBYTES-B*z),Q=z+K,$=z+Q,et=z+$,tt=z+et,rt=z+tt,it=W*O*u.SIXTY_FOUR_KILOBYTES-B*O,nt=W*N*u.SIXTY_FOUR_KILOBYTES-B*N,ot=[{index:G.position3DHigh,componentsPerAttribute:3,componentDatatype:c.FLOAT,offsetInBytes:K,strideInBytes:6*z},{index:G.position3DLow,componentsPerAttribute:3,componentDatatype:c.FLOAT,offsetInBytes:Q,strideInBytes:6*z},{index:G.position2DHigh,componentsPerAttribute:3,componentDatatype:c.FLOAT,offsetInBytes:K,strideInBytes:6*z},{index:G.position2DLow,componentsPerAttribute:3,componentDatatype:c.FLOAT,offsetInBytes:Q,strideInBytes:6*z},{index:G.prevPosition3DHigh,componentsPerAttribute:3,componentDatatype:c.FLOAT,offsetInBytes:$,strideInBytes:6*z},{index:G.prevPosition3DLow,componentsPerAttribute:3,componentDatatype:c.FLOAT,offsetInBytes:et,strideInBytes:6*z},{index:G.prevPosition2DHigh,componentsPerAttribute:3,componentDatatype:c.FLOAT,offsetInBytes:$,strideInBytes:6*z},{index:G.prevPosition2DLow,componentsPerAttribute:3,componentDatatype:c.FLOAT,offsetInBytes:et,strideInBytes:6*z},{index:G.nextPosition3DHigh,componentsPerAttribute:3,componentDatatype:c.FLOAT,offsetInBytes:tt,strideInBytes:6*z},{index:G.nextPosition3DLow,componentsPerAttribute:3,componentDatatype:c.FLOAT,offsetInBytes:rt,strideInBytes:6*z},{index:G.nextPosition2DHigh,componentsPerAttribute:3,componentDatatype:c.FLOAT,offsetInBytes:tt,strideInBytes:6*z},{index:G.nextPosition2DLow,componentsPerAttribute:3,componentDatatype:c.FLOAT,offsetInBytes:rt,strideInBytes:6*z},{index:G.texCoordExpandWidthAndShow,componentsPerAttribute:4,componentDatatype:c.FLOAT,vertexBuffer:e._texCoordExpandWidthAndShowBuffer,offsetInBytes:nt},{index:G.pickColor,componentsPerAttribute:4,componentDatatype:c.UNSIGNED_BYTE,vertexBuffer:e._pickColorBuffer,offsetInBytes:it,normalize:!0}];y===C.SCENE3D?(j=e._positionBuffer,Y="vertexBuffer",Z=X,J="value"):y===C.SCENE2D||y===C.COLUMBUS_VIEW?(j=X,Y="value",Z=e._positionBuffer,J="vertexBuffer"):(j=I,Y="vertexBuffer",Z=e._positionBuffer,J="vertexBuffer"),ot[0][Y]=j,ot[1][Y]=j,ot[2][J]=Z,ot[3][J]=Z,ot[4][Y]=j,ot[5][Y]=j,ot[6][J]=Z,ot[7][J]=Z,ot[8][Y]=j,ot[9][Y]=j,ot[10][J]=Z,ot[11][J]=Z;var at=r.createVertexArray(ot,H);e._vertexArrays.push({va:at,buckets:d[W]})}}}function P(e){var t=w._uniformList[e.type],r=t.length;Z.length=2*r;for(var i=0,n=0;r>n;++n){var o=t[n];Z[i]=o,Z[i+1]=e._uniforms[o](),i+=2}return e.type+":"+JSON.stringify(Z)}function M(e){for(var r=e._mode,i=e._projection,n=e._modelMatrix,o=e._polylineBuckets={},a=e._polylines,s=a.length,l=0;s>l;++l){var u=a[l];if(u.getPositions().length>1){u.update();var c=u.getMaterial(),h=o[c.type];t(h)||(h=o[c.type]=new J(c,r,i,n)),h.addPolyline(u)}}}function I(e,t){var r=t.mode,i=t.scene2D.projection;e._mode===r&&e._projection===i&&l.equals(e._modelMatrix,e.modelMatrix)||(e._mode=r,e._projection=i,e._modelMatrix=l.clone(e.modelMatrix),e._createVertexArray=!0)}function O(e){if(e._polylinesRemoved){e._polylinesRemoved=!1;for(var r=[],i=e._polylines.length,n=0,o=0;i>n;++n){var a=e._polylines[n];t(a)&&(a._index=o++,r.push(a))}e._polylines=r}}function R(e){for(var r=e._polylines,i=r.length,n=0;i>n;++n)if(t(r[n])){var o=r[n]._bucket;t(o)&&(o.shaderProgram=o.shaderProgram&&o.shaderProgram.release())}}function L(e){for(var t=e._vertexArrays.length,r=0;t>r;++r)e._vertexArrays[r].va.destroy();e._vertexArrays.length=0}function z(e){for(var r=e._polylines,i=r.length,n=0;i>n;++n)t(r[n])&&r[n]._destroy()}function N(e,t,r){this.count=e,this.offset=t,this.bucket=r}function B(e){return o.dot(o.UNIT_X,e._boundingVolume.center)<0||e._boundingVolume.intersect(a.UNIT_Y)===p.INTERSECTING}var F=x.SHOW_INDEX,V=x.WIDTH_INDEX,k=x.POSITION_INDEX,U=x.MATERIAL_INDEX,W=x.POSITION_SIZE_INDEX,q=x.NUMBER_OF_PROPERTIES,G={texCoordExpandWidthAndShow:0,position3DHigh:1,position3DLow:2,position2DHigh:3,position2DLow:4,prevPosition3DHigh:5,prevPosition3DLow:6,prevPosition2DHigh:7,prevPosition2DLow:8,nextPosition3DHigh:9,nextPosition3DLow:10,nextPosition2DHigh:11,nextPosition2DLow:12,pickColor:13},H=function(t){t=e(t,e.EMPTY_OBJECT),this.modelMatrix=l.clone(e(t.modelMatrix,l.IDENTITY)),this._modelMatrix=l.clone(l.IDENTITY),this.debugShowBoundingVolume=e(t.debugShowBoundingVolume,!1),this._opaqueRS=void 0,this._translucentRS=void 0,this._colorCommands=[],this._pickCommands=[],this._polylinesUpdated=!1,this._polylinesRemoved=!1,this._createVertexArray=!1,this._propertiesChanged=new Uint32Array(q),this._polylines=[],this._polylineBuckets={},this._buffersUsage=[{bufferUsage:v.STATIC_DRAW,frameCount:0},{bufferUsage:v.STATIC_DRAW,frameCount:0},{bufferUsage:v.STATIC_DRAW,frameCount:0}],this._mode=void 0,this._polylinesToUpdate=[],this._vertexArrays=[],this._positionBuffer=void 0,this._pickColorBuffer=void 0,this._texCoordExpandWidthAndShowBuffer=void 0};H.prototype.add=function(e){var t=new x(e,this);return t._index=this._polylines.length,this._polylines.push(t),this._createVertexArray=!0,t},H.prototype.remove=function(e){if(this.contains(e)){if(this._polylines[e._index]=void 0,this._polylinesRemoved=!0,this._createVertexArray=!0,t(e._bucket)){var r=e._bucket;r.shaderProgram=r.shaderProgram&&r.shaderProgram.release(),r.pickShaderProgram=r.pickShaderProgram&&r.pickShaderProgram.release()}return e._destroy(),!0}return!1},H.prototype.removeAll=function(){R(this),z(this),this._polylineBuckets={},this._polylinesRemoved=!1,this._polylines.length=0,this._polylinesToUpdate.length=0,this._createVertexArray=!0},H.prototype.contains=function(e){return t(e)&&e._polylineCollection===this},H.prototype.get=function(e){if(!t(e))throw new r("index is required.");return O(this),this._polylines[e]},H.prototype.getLength=function(){return O(this),this._polylines.length},H.prototype.update=function(e,r,i){if(O(this),0!==this._polylines.length){I(this,r);var n,o=this._propertiesChanged;if(this._createVertexArray||A(this))D(this,e);else if(this._polylinesUpdated){var a=this._polylinesToUpdate;if(this._mode!==C.SCENE3D)for(var s=a.length,u=0;s>u;++u)n=a[u],n.update();if(o[W]||o[U])D(this,e);else for(var c=a.length,h=this._polylineBuckets,d=0;c>d;++d){n=a[d],o=n._propertiesChanged;var m=n._bucket,p=0;for(var v in h)if(h.hasOwnProperty(v)){if(h[v]===m){(o[k]||o[F]||o[V])&&m.writeUpdate(p,n,this._positionBuffer,this._texCoordExpandWidthAndShowBuffer);break}p+=h[v].lengthOfPositions}n._clean()}a.length=0,this._polylinesUpdated=!1}o=this._propertiesChanged;for(var y=0;q>y;++y)o[y]=0;var g=l.IDENTITY;r.mode===C.SCENE3D&&(g=this.modelMatrix);var _=r.passes,w=0!==r.morphTime;if(t(this._opaqueRS)&&this._opaqueRS.depthTest.enabled===w||(this._opaqueRS=e.createRenderState({depthMask:w,depthTest:{enabled:w}})),t(this._translucentRS)&&this._translucentRS.depthTest.enabled===w||(this._translucentRS=e.createRenderState({blending:f.ALPHA_BLEND,depthMask:!w,depthTest:{enabled:w}})),_.render){var x=this._colorCommands;T(this,e,r,x,i,g,!0)}if(_.pick){var S=this._pickCommands;T(this,e,r,S,i,g,!1)}}};var j=new m,Y=new m;H.prototype.isDestroyed=function(){return!1},H.prototype.destroy=function(){return L(this),R(this),z(this),n(this)};var X=[0,0,0],Z=[];H.prototype._updatePolyline=function(e,t){this._polylinesUpdated=!0,this._polylinesToUpdate.push(e),++this._propertiesChanged[t]};var J=function(e,t,r,i){this.polylines=[],this.lengthOfPositions=0,this.material=e,this.shaderProgram=void 0,this.pickShaderProgram=void 0,this.mode=t,this.projection=r,this.ellipsoid=r.getEllipsoid(),this.modelMatrix=i};J.prototype.addPolyline=function(e){var t=this.polylines;t.push(e),e._actualLength=this.getPolylinePositionsLength(e),this.lengthOfPositions+=e._actualLength,e._bucket=this},J.prototype.updateShader=function(e){if(!t(this.shaderProgram)){var r=g({sources:[S,E]}),i=g({sources:[this.material.shaderSource,b]}),n=g({sources:[i],pickColorQualifier:"varying"});this.shaderProgram=e.getShaderCache().getShaderProgram(r,i,G),this.pickShaderProgram=e.getShaderCache().getShaderProgram(r,n,G)}},J.prototype.getPolylinePositionsLength=function(e){var t;if(this.mode===C.SCENE3D||!B(e))return t=e.getPositions().length,4*t-4;var r=0,i=e._segments.lengths;t=i.length;for(var n=0;t>n;++n)r+=4*i[n]-4;return r};var K=new o,Q=new o,$=new o,et=new o;J.prototype.write=function(e,t,r,n,a,l,u){for(var c=this.mode,h=this.polylines,d=h.length,m=0;d>m;++m)for(var p,f=h[m],v=f.getWidth(),y=f.getShow()&&v>0,g=this.getSegments(f),_=g.positions,w=g.lengths,x=_.length,S=f.getPickId(u).color,E=0,b=0,T=0;x>T;++T){0===T?(p=et,o.subtract(_[0],_[1],p),o.add(_[0],p,p)):p=_[T-1],Q.x=p.x,Q.y=p.y,Q.z=c!==C.SCENE2D?p.z:0,p=_[T],K.x=p.x,K.y=p.y,K.z=c!==C.SCENE2D?p.z:0,T===x-1?(p=et,o.subtract(_[x-1],_[x-2],p),o.add(_[x-1],p,p)):p=_[T+1],$.x=p.x,$.y=p.y,$.z=c!==C.SCENE2D?p.z:0;var A=w[E];T===b+A&&(b+=A,++E);for(var D=0===T-b,P=T===b+w[E]-1,M=D?2:0,I=P?2:4,O=M;I>O;++O){s.writeElements(K,e,n),s.writeElements(Q,e,n+6),s.writeElements($,e,n+12),t[a]=i.floatToByte(S.red),t[a+1]=i.floatToByte(S.green),t[a+2]=i.floatToByte(S.blue),t[a+3]=i.floatToByte(S.alpha);var R=0>O-2?-1:1;r[l]=T/(x-1),r[l+1]=2*(O%2)-1,r[l+2]=R*v,r[l+3]=y,n+=18,a+=4,l+=4}}};var tt=new o,rt=new o,it=new o,nt=new o;J.prototype.writeForMorph=function(e,t){for(var r=this.modelMatrix,i=this.polylines,n=i.length,a=0;n>a;++a)for(var u=i[a],c=u._segments.positions,h=u._segments.lengths,d=c.length,m=0,p=0,f=0;d>f;++f){var v;0===f?(v=nt,o.subtract(c[0],c[1],v),o.add(c[0],v,v)):v=c[f-1],v=l.multiplyByPoint(r,v,rt);var y,g=l.multiplyByPoint(r,c[f],tt);f===d-1?(y=nt,o.subtract(c[d-1],c[d-2],y),o.add(c[d-1],y,y)):y=c[f+1],y=l.multiplyByPoint(r,y,it);var _=h[m];f===p+_&&(p+=_,++m);for(var w=0===f-p,C=f===p+h[m]-1,x=w?2:0,S=C?2:4,E=x;S>E;++E)s.writeElements(g,e,t),s.writeElements(v,e,t+6),s.writeElements(y,e,t+12),t+=18}};var ot=new Array(1);J.prototype.updateIndices=function(e,t,r,i){var n=r.length-1,o=new N(0,i,this);r[n].push(o);var a=0,s=e[e.length-1],l=0;s.length>0&&(l=s[s.length-1]+1);for(var c=this.polylines,h=c.length,d=0;h>d;++d){var m=c[d];m._locatorBuckets=[];var p;if(this.mode===C.SCENE3D){p=ot;var f=m.getPositions().length;if(!(f>0))continue;p[0]=f}else p=m._segments.lengths;var v=p.length;if(v>0){for(var y=0,g=0;v>g;++g)for(var _=p[g]-1,w=0;_>w;++w)l+4>=u.SIXTY_FOUR_KILOBYTES-1&&(m._locatorBuckets.push({locator:o,count:y}),y=0,t.push(4),s=[],e.push(s),l=0,o.count=a,a=0,i=0,o=new N(0,0,this),r[++n]=[o]),s.push(l,l+2,l+1),s.push(l+1,l+2,l+3),y+=6,a+=6,i+=6,l+=4;m._locatorBuckets.push({locator:o,count:y}),l+4>=u.SIXTY_FOUR_KILOBYTES-1&&(t.push(0),s=[],e.push(s),l=0,o.count=a,i=0,a=0,o=new N(0,0,this),r[++n]=[o])}m._clean()}return o.count=a,i},J.prototype.getPolylineStartIndex=function(e){for(var t=this.polylines,r=0,i=t.length,n=0;i>n;++n){var o=t[n];if(o===e)break;r+=o._actualLength}return r};var at={positions:void 0,lengths:void 0},st=new Array(1);return J.prototype.getSegments=function(e){var t=e.getPositions();if(this.mode===C.SCENE3D)return st[0]=t.length,at.positions=t,at.lengths=st,at;B(e)&&(t=e._segments.positions);for(var r,i,n=this.ellipsoid,a=this.projection,s=[],u=this.modelMatrix,c=t.length,h=0;c>h;++h)r=t[h],i=l.multiplyByPoint(u,r),s.push(a.project(n.cartesianToCartographic(i)));if(s.length>0){e._boundingVolume2D=m.fromPoints(s,e._boundingVolume2D);var d=e._boundingVolume2D.center;e._boundingVolume2D.center=new o(d.z,d.x,d.y)}return at.positions=s,at.lengths=e._segments.lengths,at},J.prototype.writeUpdate=function(e,t,r,i){var n=this.mode,a=t._actualLength;if(a){e+=this.getPolylineStartIndex(t);var l,u=new Float32Array(3*6*a),c=new Float32Array(4*a),h=0,d=0,m=this.getSegments(t),p=m.positions,f=m.lengths,v=0,y=0,g=t.getWidth(),_=t.getShow()&&g>0;a=p.length;for(var w=0;a>w;++w){0===w?(l=et,o.subtract(p[0],p[1],l),o.add(p[0],l,l)):l=p[w-1],Q.x=l.x,Q.y=l.y,Q.z=n!==C.SCENE2D?l.z:0,l=p[w],K.x=l.x,K.y=l.y,K.z=n!==C.SCENE2D?l.z:0,w===a-1?(l=et,o.subtract(p[a-1],p[a-2],l),o.add(p[a-1],l,l)):l=p[w+1],$.x=l.x,$.y=l.y,$.z=n!==C.SCENE2D?l.z:0;var x=f[v];w===y+x&&(y+=x,++v);for(var S=0===w-y,E=w===y+f[v]-1,b=S?2:0,T=E?2:4,A=b;T>A;++A){s.writeElements(K,u,h),s.writeElements(Q,u,h+6),s.writeElements($,u,h+12);var D=0>A-2?-1:1;c[d]=w/(a-1),c[d+1]=2*(A%2)-1,c[d+2]=D*g,c[d+3]=_,h+=18,d+=4}}r.copyFromArrayView(u,18*Float32Array.BYTES_PER_ELEMENT*e),i.copyFromArrayView(c,4*Float32Array.BYTES_PER_ELEMENT*e)}},H}),r("DynamicScene/DynamicPathVisualizer",["../Core/defined","../Core/DeveloperError","../Core/destroyObject","../Core/Cartesian3","../Core/Matrix3","../Core/Matrix4","../Core/Color","../Core/Transforms","../Core/ReferenceFrame","./SampledPositionProperty","./CompositePositionProperty","./TimeIntervalCollectionPositionProperty","../Scene/Material","../Scene/SceneMode","../Scene/PolylineCollection"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p){"use strict";function f(t,r,i,n,o,a,s,l){var u,c=t._property._times,h=s;u=t.getValueInReferenceFrame(r,o,l[h]),e(u)&&(l[h++]=u);for(var d,m,p,f=!e(n)||n.lessThanOrEquals(r)||n.greaterThanOrEquals(i),v=0,y=c.length,g=c[v],_=i,w=!1;y>v;){if(!f&&g.greaterThanOrEquals(n)&&(u=t.getValueInReferenceFrame(n,o,l[h]),e(u)&&(l[h++]=u),f=!0),g.greaterThan(r)&&g.lessThan(_)&&!g.equals(n)&&(u=t.getValueInReferenceFrame(g,o,l[h]),e(u)&&(l[h++]=u)),y-1>v){if(!w){var C=c[v+1],x=g.getSecondsDifference(C);w=x>a,w&&(d=Math.floor(x/a),m=0,p=x/Math.max(d,2),d=Math.max(d-2,1))}if(w&&d>m){g=g.addSeconds(p),m++;continue}}w=!1,v++,g=c[v]}return u=t.getValueInReferenceFrame(i,o,l[h]),e(u)&&(l[h++]=u),h}function v(t,r,i,n,o,a,s,l){for(var u,c=0,h=s,d=r,m=!e(n)||n.lessThanOrEquals(r)||n.greaterThanOrEquals(i);d.lessThan(i);)!m&&d.greaterThanOrEquals(n)&&(m=!0,u=t.getValueInReferenceFrame(n,o,l[h]),e(u)&&(l[h]=u,h++)),u=t.getValueInReferenceFrame(d,o,l[h]),e(u)&&(l[h]=u,h++),c++,d=r.addSeconds(a*c);return u=t.getValueInReferenceFrame(i,o,l[h]),e(u)&&(l[h]=u,h++),h}function y(t,r,i,n,o,a,s,l){for(var u=s,c=t.getIntervals(),h=0;h0?(h=E.pop(),o=this._polylineCollection.get(h)):(h=this._polylineCollection.getLength(),o=this._polylineCollection.add()),r._pathVisualizerIndex=h,o.dynamicObject=r,o.setWidth(1);var T=o.getMaterial();e(T)&&T.type===d.PolylineOutlineType||(T=d.fromType(d.PolylineOutlineType),o.setMaterial(T)),S=T.uniforms,a.clone(a.WHITE,S.color),a.clone(a.BLACK,S.outlineColor),S.outlineWidth=0}o.setShow(!0);var A=60;if(s=i._resolution,e(s)&&(A=s.getValue(t)),o.setPositions(_(n,l,u,t,this._referenceFrame,A,o.getPositions())),s=i._color,e(s)&&(S.color=s.getValue(t,S.color)),s=i._outlineColor,e(s)&&(S.outlineColor=s.getValue(t,S.outlineColor)),s=i._outlineWidth,e(s)&&(S.outlineWidth=s.getValue(t)),s=i._width,e(s)){var D=s.getValue(t);e(D)&&o.setWidth(D)}}}},C.prototype.removeObject=function(t){var r=t._pathVisualizerIndex;if(e(r)){var i=this._polylineCollection.get(r);i.setShow(!1),this._unusedIndexes.push(r),t._pathVisualizerIndex=void 0}},C.prototype.destroy=function(){return this._scene.getPrimitives().remove(this._polylineCollection),r(this)};var x=function(r,i){if(!e(r))throw new t("scene is required.");this._scene=r,this._updaters={},this._dynamicObjectCollection=void 0,this.setDynamicObjectCollection(i)};return x.prototype.getScene=function(){return this._scene},x.prototype.getDynamicObjectCollection=function(){return this._dynamicObjectCollection},x.prototype.setDynamicObjectCollection=function(t){var r=this._dynamicObjectCollection;r!==t&&(e(r)&&(r.collectionChanged.removeEventListener(x.prototype._onObjectsRemoved,this),this.removeAllPrimitives()),this._dynamicObjectCollection=t,e(t)&&t.collectionChanged.addEventListener(x.prototype._onObjectsRemoved,this))},x.prototype.update=function(r){if(!e(r))throw new t("time is requied.");if(e(this._dynamicObjectCollection)){var i=this._updaters;for(var n in i)i.hasOwnProperty(n)&&i[n].update(r);for(var o=this._dynamicObjectCollection.getObjects(),a=0,s=o.length;s>a;a++){var u=o[a];if(e(u._path)){var c=u._position;if(e(c)){var h=u._pathUpdater,d=l.FIXED;this._scene.mode===m.SCENE3D&&(d=c._referenceFrame);var p=this._updaters[d];h===p&&e(p)?p.updateObject(r,u):(e(h)&&h.removeObject(u),e(p)||(p=new C(this._scene,d),p.update(r),this._updaters[d]=p),u._pathUpdater=p,e(p)&&p.updateObject(r,u))}}}}},x.prototype.removeAllPrimitives=function(){var t=this._updaters;for(var r in t)t.hasOwnProperty(r)&&t[r].destroy();if(this._updaters={},e(this._dynamicObjectCollection))for(var i=this._dynamicObjectCollection.getObjects(),n=i.length-1;n>-1;n--)i[n]._pathUpdater=void 0,i[n]._pathVisualizerIndex=void 0},x.prototype.isDestroyed=function(){return!1},x.prototype.destroy=function(){return this.removeAllPrimitives(),r(this)},x.prototype._onObjectsRemoved=function(t,r,i){for(var n=i.length-1;n>-1;n--){var o=i[n],a=o._pathUpdater;e(a)&&a.removeObject(o)}},x}),r("DynamicScene/DynamicPointVisualizer",["../Core/Color","../Core/defaultValue","../Core/defined","../Core/destroyObject","../Core/DeveloperError","../Scene/BillboardCollection","../Renderer/TextureAtlasBuilder"],function(e,t,r,i,n,o,a){"use strict";function s(i,n,o){var a=o._point;if(r(a)){var s=o._position;if(r(s)){var l,m=a._show,p=o._pointVisualizerIndex,f=o.isAvailable(n)&&(!r(m)||m.getValue(n));if(!f)return r(p)&&(l=i._billboardCollection.get(p),l.setShow(!1),l.setImageIndex(-1),o._pointVisualizerIndex=void 0,i._unusedIndexes.push(p)),void 0;var v=!1;if(r(p))l=i._billboardCollection.get(p);else{var y=i._unusedIndexes,g=y.length;g>0?(p=y.pop(),l=i._billboardCollection.get(p)):(p=i._billboardCollection.getLength(),l=i._billboardCollection.add()),o._pointVisualizerIndex=p,l.dynamicObject=o,l._visualizerColor=e.clone(e.WHITE,l._visualizerColor),l._visualizerOutlineColor=e.clone(e.BLACK,l._visualizerOutlineColor),l._visualizerOutlineWidth=0,l._visualizerPixelSize=1,v=!0}l.setShow(!0),c=s.getValue(n,c),r(c)&&l.setPosition(c);var _=a._color;if(r(_)&&(u=_.getValue(n,u),e.equals(l._visualizerColor,u)||(e.clone(u,l._visualizerColor),v=!0)),_=a._outlineColor,r(_)&&(h=_.getValue(n,h),e.equals(l._visualizerOutlineColor,h)||(e.clone(h,l._visualizerOutlineColor),v=!0)),_=a._outlineWidth,r(_)){var w=_.getValue(n);l._visualizerOutlineWidth!==w&&(l._visualizerOutlineWidth=w,v=!0)}if(_=a._pixelSize,r(_)){var C=_.getValue(n);l._visualizerPixelSize!==C&&(l._visualizerPixelSize=C,v=!0)}if(_=a._scaleByDistance,r(_)&&(d=_.getValue(n,d),r(d)&&l.setScaleByDistance(d)),v){var x=t(l._visualizerColor,e.WHITE).toCssColorString(),S=t(l._visualizerOutlineColor,e.BLACK).toCssColorString(),E=t(l._visualizerPixelSize,3),b=t(l._visualizerOutlineWidth,2),T=JSON.stringify([x,E,S,b]);i._textureAtlasBuilder.addTextureFromFunction(T,function(e,t){var r=document.createElement("canvas"),i=E+2*b;r.height=r.width=i;var n=r.getContext("2d");n.clearRect(0,0,i,i),0!==b&&(n.beginPath(),n.arc(i/2,i/2,i/2,0,2*Math.PI,!0),n.closePath(),n.fillStyle=S,n.fill()),n.beginPath(),n.arc(i/2,i/2,E/2,0,2*Math.PI,!0),n.closePath(),n.fillStyle=x,n.fill(),t(r)},function(e){l.setImageIndex(e)})}}}}var l=function(e,t){if(!r(e))throw new n("scene is required.");this._scene=e,this._unusedIndexes=[],this._dynamicObjectCollection=void 0;var i=this._billboardCollection=new o,s=this._textureAtlas=e.getContext().createTextureAtlas();this._textureAtlasBuilder=new a(s),i.setTextureAtlas(s),e.getPrimitives().add(i),this.setDynamicObjectCollection(t)};l.prototype.getScene=function(){return this._scene},l.prototype.getDynamicObjectCollection=function(){return this._dynamicObjectCollection},l.prototype.setDynamicObjectCollection=function(e){var t=this._dynamicObjectCollection;t!==e&&(r(t)&&(t.collectionChanged.removeEventListener(l.prototype._onObjectsRemoved,this),this.removeAllPrimitives()),this._dynamicObjectCollection=e,r(e)&&e.collectionChanged.addEventListener(l.prototype._onObjectsRemoved,this))},l.prototype.update=function(e){if(!r(e))throw new n("time is requied.");if(r(this._dynamicObjectCollection))for(var t=this._dynamicObjectCollection.getObjects(),i=0,o=t.length;o>i;i++)s(this,e,t[i])},l.prototype.removeAllPrimitives=function(){if(this._unusedIndexes=[],this._billboardCollection.removeAll(),r(this._dynamicObjectCollection))for(var e=this._dynamicObjectCollection.getObjects(),t=e.length-1;t>-1;t--)e[t]._pointVisualizerIndex=void 0},l.prototype.isDestroyed=function(){return!1},l.prototype.destroy=function(){return this.removeAllPrimitives(),this._scene.getPrimitives().remove(this._billboardCollection),i(this)};var u,c,h,d;return l.prototype._onObjectsRemoved=function(e,t,i){for(var n=this._billboardCollection,o=this._unusedIndexes,a=i.length-1;a>-1;a--){var s=i[a],l=s._pointVisualizerIndex;if(r(l)){var u=n.get(l);u.setShow(!1),u.setImageIndex(-1),s._pointVisualizerIndex=void 0,o.push(l)}}},l}),r("Scene/Appearance",["../Core/clone","../Core/defaultValue","../Core/defined","../Renderer/BlendingState","../Renderer/CullFace","../Renderer/createShaderSource"],function(e,t,r,i,n,o){"use strict";var a=function(e){e=t(e,t.EMPTY_OBJECT),this.material=e.material,this.vertexShaderSource=e.vertexShaderSource,this.fragmentShaderSource=e.fragmentShaderSource,this.renderState=e.renderState,this.translucent=t(e.translucent,!0),this.closed=t(e.closed,!1)};return a.prototype.getFragmentShaderSource=function(){return o({defines:[this.flat?"FLAT":"",this.faceForward?"FACE_FORWARD":""],sources:[r(this.material)?this.material.shaderSource:"",this.fragmentShaderSource]})},a.prototype.isTranslucent=function(){return r(this.material)&&this.material.isTranslucent()||!r(this.material)&&this.translucent},a.prototype.getRenderState=function(){var t=this.isTranslucent(),r=e(this.renderState,!1);return t?(r.depthMask=!1,r.blending=i.ALPHA_BLEND):r.depthMask=!0,r},a.getDefaultRenderState=function(e,t){var r={depthTest:{enabled:!0}};return e&&(r.depthMask=!1,r.blending=i.ALPHA_BLEND),t&&(r.cull={enabled:!0,face:n.BACK}),r},a}),r("Shaders/Appearances/EllipsoidSurfaceAppearanceVS",[],function(){"use strict";return"attribute vec3 position3DHigh;\nattribute vec3 position3DLow;\nattribute vec2 st;\nvarying vec3 v_positionMC;\nvarying vec3 v_positionEC;\nvarying vec2 v_st;\nvoid main()\n{\nvec4 p = czm_computePosition();\nv_positionMC = position3DHigh + position3DLow;\nv_positionEC = (czm_modelViewRelativeToEye * p).xyz;\nv_st = st;\ngl_Position = czm_modelViewProjectionRelativeToEye * p;\n}\n"}),r("Shaders/Appearances/EllipsoidSurfaceAppearanceFS",[],function(){"use strict";return"varying vec3 v_positionMC;\nvarying vec3 v_positionEC;\nvarying vec2 v_st;\nvoid main()\n{\nczm_materialInput materialInput;\nvec3 normalEC = czm_normal3D * czm_geodeticSurfaceNormal(v_positionMC, vec3(0.0), vec3(1.0));\n#ifdef FACE_FORWARD\nnormalEC = normalize(faceforward(normalEC, vec3(0.0, 0.0, 1.0), -normalEC));\n#else\nnormalEC = normalize(normalEC);\n#endif\nmaterialInput.s = v_st.s;\nmaterialInput.st = v_st;\nmaterialInput.str = vec3(v_st, 0.0);\nmaterialInput.normalEC = normalEC;\nmaterialInput.tangentToEyeMatrix = czm_eastNorthUpToEyeCoordinates(v_positionMC, materialInput.normalEC);\nvec3 positionToEyeEC = -v_positionEC;\nmaterialInput.positionToEyeEC = positionToEyeEC;\nczm_material material = czm_getMaterial(materialInput);\n#ifdef FLAT\ngl_FragColor = vec4(material.diffuse + material.emission, material.alpha);\n#else\ngl_FragColor = czm_phong(normalize(positionToEyeEC), material);\n#endif\n}\n"}),r("Scene/EllipsoidSurfaceAppearance",["../Core/defaultValue","../Core/defined","../Core/VertexFormat","./Material","./Appearance","../Shaders/Appearances/EllipsoidSurfaceAppearanceVS","../Shaders/Appearances/EllipsoidSurfaceAppearanceFS"],function(e,t,r,i,n,o,a){"use strict";var s=function(r){r=e(r,e.EMPTY_OBJECT);var l=e(r.translucent,!0),u=e(r.aboveGround,!1);this.material=t(r.material)?r.material:i.fromType(i.ColorType),this.vertexShaderSource=e(r.vertexShaderSource,o),this.fragmentShaderSource=e(r.fragmentShaderSource,a),this.renderState=e(r.renderState,n.getDefaultRenderState(l,!u)),this.vertexFormat=s.VERTEX_FORMAT,this.flat=e(r.flat,!1),this.faceForward=e(r.faceForward,!1),this.translucent=l,this.closed=!1,this.aboveGround=u};return s.VERTEX_FORMAT=r.POSITION_AND_ST,s.prototype.getFragmentShaderSource=n.prototype.getFragmentShaderSource,s.prototype.isTranslucent=n.prototype.isTranslucent,s.prototype.getRenderState=n.prototype.getRenderState,s}),r("Renderer/VertexLayout",["../Core/Enumeration"],function(e){"use strict";var t={SEPARATE:new e(0,"SEPARATE"),INTERLEAVED:new e(1,"INTERLEAVED"),validate:function(e){return e===t.SEPARATE||e===t.INTERLEAVED}};return t}),r("Scene/PrimitivePipeline",["../Core/defined","../Core/defaultValue","../Core/Color","../Core/ComponentDatatype","../Core/DeveloperError","../Core/FeatureDetection","../Core/Geometry","../Core/GeometryAttribute","../Core/GeometryPipeline","../Core/Matrix4"],function(e,t,r,i,n,o,a,s,l,u){"use strict";function c(e,t,r){var i,n=!r,o=e.length;if(!n&&o>1){var a=e[0].modelMatrix;for(i=1;o>i;++i)if(!u.equals(a,e[i].modelMatrix)){n=!0;break}}if(n)for(i=0;o>i;++i)l.transformToWorldCoordinates(e[i]);else u.clone(e[0].modelMatrix,t)}function h(e,t){for(var n=e.length,o=0;n>o;++o){var a=e[o],l=a.geometry,u=l.attributes,c=u.position,h=4*(c.values.length/c.componentsPerAttribute);u.pickColor=new s({componentDatatype:i.UNSIGNED_BYTE,componentsPerAttribute:4,normalize:!0,values:new Uint8Array(h)});for(var d=t[o],m=r.floatToByte(d.red),p=r.floatToByte(d.green),f=r.floatToByte(d.blue),v=r.floatToByte(d.alpha),y=u.pickColor.values,g=0;h>g;g+=4)y[g]=m,y[g+1]=p,y[g+2]=f,y[g+3]=v}}function d(t){var r,i=t.length,n=[],o=t[0].attributes;for(r in o)if(o.hasOwnProperty(r)){for(var a=o[r],s=!0,l=1;i>l;++l){var u=t[l].attributes[r];if(!e(u)||a.componentDatatype.value!==u.componentDatatype.value||a.componentsPerAttribute!==u.componentsPerAttribute||a.normalize!==u.normalize){s=!1;break}}s&&n.push(r)}return n}function m(e,t){for(var r=e.length,n=0;r>n;++n)for(var o=e[n],l=o.attributes,u=o.geometry,c=a.computeNumberOfVertices(u),h=t.length,d=0;h>d;++d){for(var m=t[d],p=l[m],f=p.componentDatatype,v=p.value,y=v.length,g=i.createTypedArray(f,c*y),_=0;c>_;++_)g.set(v,_*y);u.attributes[m]=new s({componentDatatype:f,componentsPerAttribute:y,normalize:p.normalize,values:g})}}function p(e){var t,r=e.instances,o=e.pickIds,a=e.projection,s=e.elementIndexUintSupported,u=e.allow3DOnly,p=e.allowPicking,f=e.vertexCacheOptimize,v=e.modelMatrix,y=r.length,g=r[0].geometry.primitiveType;for(t=1;y>t;++t)if(r[t].geometry.primitiveType!==g)throw new n("All instance geometries must have the same primitiveType.");if(c(r,v,u),!u)for(t=0;y>t;++t)l.wrapLongitude(r[t].geometry);p&&h(r,o);var _=d(r);if(m(r,_),f)for(t=0;y>t;++t)l.reorderForPostVertexCache(r[t].geometry),l.reorderForPreVertexCache(r[t].geometry);var w,C=l.combine(r),x=C.attributes;if(u)for(w in x)x.hasOwnProperty(w)&&x[w].componentDatatype.value===i.DOUBLE.value&&l.encodeAttribute(C,w,w+"3DHigh",w+"3DLow");else for(w in x)if(x.hasOwnProperty(w)&&x[w].componentDatatype.value===i.DOUBLE.value){var S=w+"3D",E=w+"2D";l.projectTo2D(C,w,S,E,a),l.encodeAttribute(C,S,S+"High",S+"Low"),l.encodeAttribute(C,E,E+"High",E+"Low")}return s?[C]:l.fitToUnsignedShortIndices(C)}function f(e,t,r){for(var n=[],o=e.attributes,a=r.length,s=0;a>s;++s){var l=r[s],u=o[l],c=u.componentDatatype;c.value===i.DOUBLE.value&&(c=i.FLOAT);var h=i.createTypedArray(c,u.values);n.push({index:t[l],componentDatatype:c,componentsPerAttribute:u.componentsPerAttribute,normalize:u.normalize,values:h}),delete o[l]}return n}function v(r,i,n){for(var o=[],s=d(r),l=r.length,u={},c={},h=0;l>h;++h)for(var m=r[h],p=a.computeNumberOfVertices(m.geometry),f=s.length,v=0;f>v;++v)for(var y=s[v],g=n[y],_=p;_>0;){for(var w,C=t(c[y],0),x=i[C],S=x.length,E=0;S>E&&(w=x[E],w.index!==g);++E);e(o[h])||(o[h]={}),e(o[h][y])||(o[h][y]={dirty:!1,value:m.attributes[y].value,indices:[]});var b,T=w.values.length/w.componentsPerAttribute,A=t(u[y],0);T>A+_?(b=_,o[h][y].indices.push({attribute:w,offset:A,count:b}),u[y]=A+_):(b=T-A,o[h][y].indices.push({attribute:w,offset:A,count:b}),u[y]=0,c[y]=C+1),_-=b}return o}function y(e){return{type:e.constructor.name,buffer:e.buffer}}function g(e){return new w[e.type](e.buffer)}if(!o.supportsTypedArrays())return{};var _={};_.combineGeometry=function(e){for(var t={instances:e.instances,pickIds:e.pickIds,ellipsoid:e.ellipsoid,projection:e.projection,elementIndexUintSupported:e.elementIndexUintSupported,allow3DOnly:e.allow3DOnly,allowPicking:e.allowPicking,vertexCacheOptimize:e.vertexCacheOptimize,modelMatrix:u.clone(e.modelMatrix)},r=p(t),i=l.createAttributeIndices(r[0]),n=t.instances,o=d(n),a=[],s=r.length,c=0;s>c;++c){var h=r[c];a.push(f(h,i,o))}var m=v(n,a,i);return{geometries:r,modelMatrix:t.modelMatrix,attributeIndices:i,vaAttributes:a,vaAttributeIndices:m}};var w={Int8Array:Int8Array,Uint8Array:Uint8Array,Int16Array:Int16Array,Uint16Array:Uint16Array,Int32Array:Int32Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array};return _.transferGeometry=function(t,r){var i,n=t.attributes;for(var o in n)n.hasOwnProperty(o)&&e(n[o])&&e(n[o].values)&&(i=n[o].values,r.indexOf(n[o].values.buffer)<0&&r.push(i.buffer),e(i.type)||(n[o].values=y(i)));e(t.indices)&&(i=t.indices,r.push(i.buffer),e(i.type)||(t.indices=y(t.indices)))},_.transferGeometries=function(e,t){for(var r=e.length,i=0;r>i;++i)_.transferGeometry(e[i],t)},_.transferPerInstanceAttributes=function(e,t){for(var r=e.length,i=0;r>i;++i)for(var n=e[i],o=n.length,a=0;o>a;++a){var s=n[a].values;t.push(s.buffer),n[a].values=y(s)}},_.transferInstances=function(e,t){for(var r=e.length,i=0;r>i;++i){var n=e[i];_.transferGeometry(n.geometry,t)}},_.receiveGeometry=function(t){var r=t.attributes;for(var i in r)r.hasOwnProperty(i)&&e(r[i])&&e(r[i].values)&&(r[i].values=g(r[i].values));e(t.indices)&&(t.indices=g(t.indices))},_.receiveGeometries=function(e){for(var t=e.length,r=0;t>r;++r)_.receiveGeometry(e[r])},_.receivePerInstanceAttributes=function(e){for(var t=e.length,r=0;t>r;++r)for(var i=e[r],n=i.length,o=0;n>o;++o)i[o].values=g(i[o].values)},_.receiveInstances=function(e){for(var t=e.length,r=0;t>r;++r){var i=e[r];_.receiveGeometry(i.geometry)}},_}),r("Scene/PrimitiveState",["../Core/Enumeration"],function(e){"use strict";var t={READY:new e(0,"READY"),CREATING:new e(1,"CREATING"),CREATED:new e(2,"CREATED"),COMBINING:new e(3,"COMBINING"),COMBINED:new e(4,"COMBINED"),COMPLETE:new e(5,"COMPLETE"),FAILED:new e(6,"FAILED")};return t}),r("Scene/Primitive",["../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/DeveloperError","../Core/destroyObject","../Core/Matrix4","../Core/BoundingSphere","../Core/Geometry","../Core/GeometryAttribute","../Core/GeometryAttributes","../Core/GeometryInstance","../Core/GeometryInstanceAttribute","../Core/ComponentDatatype","../Core/TaskProcessor","../Core/GeographicProjection","../Core/clone","../Renderer/BufferUsage","../Renderer/VertexLayout","../Renderer/DrawCommand","../Renderer/createShaderSource","../Renderer/CullFace","../Renderer/Pass","./PrimitivePipeline","./PrimitiveState","./SceneMode","../ThirdParty/when"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f,v,y,g,_,w,C,x,S,E,b){"use strict";function T(e){return new l({componentDatatype:e.componentDatatype,componentsPerAttribute:e.componentsPerAttribute,normalize:e.normalize,values:new e.values.constructor(e.values)})}function A(e){var r=e.attributes,i=new u;for(var n in r)r.hasOwnProperty(n)&&t(r[n])&&(i[n]=T(r[n]));var o;if(t(e.indices)){var l=e.indices;o=new l.constructor(l)}return new s({attributes:i,indices:o,primitiveType:e.primitiveType,boundingSphere:a.clone(e.boundingSphere)})}function D(e){return new h({componentDatatype:e.componentDatatype,componentsPerAttribute:e.componentsPerAttribute,normalize:e.normalize,value:new e.value.constructor(e.value)})}function P(e,t){var r=e.attributes,i={};for(var n in r)r.hasOwnProperty(n)&&(i[n]=D(r[n]));return new c({geometry:t,modelMatrix:o.clone(e.modelMatrix),attributes:i})}function M(e,t){for(var r,i="",n="",o="";null!==(r=F.exec(t));){var a=r[1],s="vec4 czm_compute"+a[0].toUpperCase()+a.substr(1)+"()";i+=s+";\n",e.allow3DOnly?o+=s+"\n"+"{\n"+" return czm_translateRelativeToEye("+a+"3DHigh, "+a+"3DLow);\n"+"}\n\n":(n+="attribute vec3 "+a+"2DHigh;\n"+"attribute vec3 "+a+"2DLow;\n",o+=s+"\n"+"{\n"+" vec4 p;\n"+" if (czm_morphTime == 1.0)\n"+" {\n"+" p = czm_translateRelativeToEye("+a+"3DHigh, "+a+"3DLow);\n"+" }\n"+" else if (czm_morphTime == 0.0)\n"+" {\n"+" p = czm_translateRelativeToEye("+a+"2DHigh.zxy, "+a+"2DLow.zxy);\n"+" }\n"+" else\n"+" {\n"+" p = czm_columbusViewMorph(\n"+" czm_translateRelativeToEye("+a+"2DHigh.zxy, "+a+"2DLow.zxy),\n"+" czm_translateRelativeToEye("+a+"3DHigh, "+a+"3DLow),\n"+" czm_morphTime);\n"+" }\n"+" return p;\n"+"}\n\n")}return _({sources:[i,n,t,o]})}function I(e){var t=e.replace(/void\s+main\s*\(\s*(?:void)?\s*\)/g,"void czm_old_main()"),r="attribute vec4 pickColor; \nvarying vec4 czm_pickColor; \nvoid main() \n{ \n czm_old_main(); \n czm_pickColor = pickColor; \n}";return t+"\n"+r}function O(e,r){if(!t(e._attributeIndices.show))return r;var i=r.replace(/void\s+main\s*\(\s*(?:void)?\s*\)/g,"void czm_non_show_main()"),n="attribute float show;\nvoid main() \n{ \n czm_non_show_main(); \n gl_Position *= show; \n}";return i+"\n"+n}function R(e,r){var n=e.getVertexAttributes();for(var o in n)if(n.hasOwnProperty(o)&&!t(r[o]))throw new i("Appearance/Geometry mismatch. The appearance requires vertex shader attribute input '"+o+"', which was not computed as part of the Geometry. Use the appearance's vertexFormat property when constructing the geometry.")}function L(r,i,n){for(var o=[],a=n.length,s=0;a>s;++s){var l={primitive:e(n[s].pickPrimitive,i)};t(n[s].id)&&(l.id=n[s].id);var u=r.createPickId(l);i._pickIds.push(u),o.push(u.color)}return o}function z(e,t){return function(){return t[e].value}}function N(e,r,n){return function(o){if(!t(o)||!t(o.length)||o.length<1||o.length>4)throw new i("value must be and array with length between 1 and 4.");var a=r[e];a.value=o,a.dirty||(n.push(a),a.dirty=!0)}}var B=function(t){t=e(t,e.EMPTY_OBJECT),this.geometryInstances=t.geometryInstances,this.appearance=t.appearance,this._appearance=void 0,this._material=void 0,this.modelMatrix=o.clone(o.IDENTITY),this._modelMatrix=new o,this.show=e(t.show,!0),this.vertexCacheOptimize=e(t.vertexCacheOptimize,!1),this.releaseGeometryInstances=e(t.releaseGeometryInstances,!0),this.allow3DOnly=e(t.allow3DOnly,!1),this.allowPicking=e(t.allowPicking,!0),this.asynchronous=e(t.asynchronous,!0),this.debugShowBoundingVolume=e(t.debugShowBoundingVolume,!1),this._translucent=void 0,this._state=S.READY,this._createdGeometries=[],this._geometries=[],this._vaAttributes=void 0,this._error=void 0,this._boundingSphere=void 0,this._boundingSphereWC=void 0,this._boundingSphereCV=void 0,this._boundingSphere2D=void 0,this._perInstanceAttributeIndices=void 0,this._instanceIds=[],this._lastPerInstanceAttributeIndex=0,this._dirtyAttributes=[],this._va=[],this._attributeIndices=void 0,this._primitiveType=void 0,this._frontFaceRS=void 0,this._backFaceRS=void 0,this._sp=void 0,this._pickRS=void 0,this._pickSP=void 0,this._pickIds=[],this._colorCommands=[],this._pickCommands=[]},F=/attribute\s+vec(?:3|4)\s+(.*)3DHigh;/g,V=new m("taskDispatcher",Number.POSITIVE_INFINITY);return B.prototype.update=function(e,r,i){if(!(!this.show||!t(this.geometryInstances)&&0===this._va.length||t(this.geometryInstances)&&Array.isArray(this.geometryInstances)&&0===this.geometryInstances.length||!t(this.appearance)||r.mode!==E.SCENE3D&&this.allow3DOnly||!r.passes.render&&!r.passes.pick)){var n,s,l,u,c,h,m,T,D,z,N,B,F,k=r.scene2D.projection,U=this.allowPicking,W=this;if(this._state!==S.COMPLETE&&this._state!==S.COMBINED)if(this.asynchronous){if(this._state===S.FAILED)throw this._error;if(this._state===S.READY){N=Array.isArray(this.geometryInstances)?this.geometryInstances:[this.geometryInstances],h=N.length;var q=[];for(m=0;h>m;++m)l=N[m].geometry,this._instanceIds.push(N[m].id),t(l.attributes)&&t(l.primitiveType)?this._createdGeometries.push({geometry:A(l),index:m}):q.push(V.scheduleTask({task:l._workerName,geometry:l,index:m}));this._state=S.CREATING,b.all(q,function(e){W._geometries=e,W._state=S.CREATED},function(e){W._error=e,W._state=S.FAILED})}else if(this._state===S.CREATED){for(N=Array.isArray(this.geometryInstances)?this.geometryInstances:[this.geometryInstances],B=new Array(N.length),F=this._geometries.concat(this._createdGeometries),h=F.length,m=0;h>m;++m)l=F[m],D=l.index,B[D]=P(N[D],l.geometry);h=B.length;var G=[];x.transferInstances(B,G),z=V.scheduleTask({task:"combineGeometry",instances:B,pickIds:U?L(e,this,N):void 0,ellipsoid:k.getEllipsoid(),isGeographic:k instanceof p,elementIndexUintSupported:e.getElementIndexUint(),allow3DOnly:this.allow3DOnly,allowPicking:U,vertexCacheOptimize:this.vertexCacheOptimize,modelMatrix:this.modelMatrix},G),this._state=S.COMBINING,b(z,function(e){x.receiveGeometries(e.geometries),x.receivePerInstanceAttributes(e.vaAttributes),W._geometries=e.geometries,W._attributeIndices=e.attributeIndices,W._vaAttributes=e.vaAttributes,W._perInstanceAttributeIndices=e.vaAttributeIndices,o.clone(e.modelMatrix,W.modelMatrix),W._state=S.COMBINED},function(e){W._error=e,W._state=S.FAILED})}}else{for(N=Array.isArray(this.geometryInstances)?this.geometryInstances:[this.geometryInstances],h=N.length,F=this._createdGeometries,m=0;h>m;++m)l=N[m].geometry,this._instanceIds.push(N[m].id),t(l.attributes)&&t(l.primitiveType)?F.push({geometry:A(l),index:m}):F.push({geometry:l.constructor.createGeometry(l),index:m});for(B=new Array(N.length),h=F.length,m=0;h>m;++m)l=F[m],D=l.index,B[D]=P(N[D],l.geometry);var H=x.combineGeometry({instances:B,pickIds:U?L(e,this,N):void 0,ellipsoid:k.getEllipsoid(),projection:k,elementIndexUintSupported:e.getElementIndexUint(),allow3DOnly:this.allow3DOnly,allowPicking:U,vertexCacheOptimize:this.vertexCacheOptimize,modelMatrix:this.modelMatrix});this._geometries=H.geometries,this._attributeIndices=H.attributeIndices,this._vaAttributes=H.vaAttributes,this._perInstanceAttributeIndices=H.vaAttributeIndices,o.clone(H.modelMatrix,this.modelMatrix),this._state=S.COMBINED}var j=this._attributeIndices;if(this._state===S.COMBINED){F=this._geometries;var Y=this._vaAttributes;this._boundingSphere=a.clone(F[0].boundingSphere);var X=[];for(h=F.length,m=0;h>m;++m){l=F[m],u=Y[m];var Z=u.length;for(T=0;Z>T;++T)c=u[T],c.vertexBuffer=e.createVertexBuffer(c.values,v.DYNAMIC_DRAW),delete c.values;X.push(e.createVertexArrayFromGeometry({geometry:l,attributeIndices:j,bufferUsage:v.STATIC_DRAW,vertexLayout:y.INTERLEAVED,vertexArrayAttributes:u}))}this._va=X,this._primitiveType=F[0].primitiveType,this.releaseGeometryInstances&&(this.geometryInstances=void 0),this._geomtries=void 0,this._createdGeometries=void 0,this._state=S.COMPLETE}if(this._state===S.COMPLETE){var J=this.appearance,K=J.material,Q=!1,$=!1;this._appearance!==J?(this._appearance=J,this._material=K,Q=!0,$=!0):this._material!==K&&(this._material=K,$=!0);var et=this._appearance.isTranslucent();this._translucent!==et&&(this._translucent=et,Q=!0),t(this._material)&&this._material.update(e);var tt=J.closed&&et;if(Q){var rt=J.getRenderState();if(tt){var it=f(rt,!1);it.cull={enabled:!0,face:w.BACK},this._frontFaceRS=e.createRenderState(it),it.cull.face=w.FRONT,this._backFaceRS=e.createRenderState(it)}else this._frontFaceRS=e.createRenderState(rt),this._backFaceRS=this._frontFaceRS;if(U)this._pickRS=this._backFaceRS;else{var nt=f(rt,!1);nt.colorMask={red:!1,green:!1,blue:!1,alpha:!1},this._pickRS=e.createRenderState(nt)}}if($){var ot=e.getShaderCache(),at=M(this,J.vertexShaderSource);at=O(this,at);var st=J.getFragmentShaderSource();if(this._sp=ot.replaceShaderProgram(this._sp,at,st,j),R(this._sp,j),U){var lt=_({sources:[st],pickColorQualifier:"varying"});this._pickSP=ot.replaceShaderProgram(this._pickSP,I(at),lt,j)}else this._pickSP=ot.getShaderProgram(at,st,j);R(this._pickSP,j)}var ut=this._colorCommands,ct=this._pickCommands;if(Q||$){var ht=t(K)?K._uniforms:void 0,dt=et?C.TRANSLUCENT:C.OPAQUE;ut.length=this._va.length*(tt?2:1),ct.length=this._va.length,h=ut.length;var mt=0,pt=0;for(m=0;h>m;++m)tt&&(n=ut[m],t(n)||(n=ut[m]=new g),n.owner=this,n.primitiveType=this._primitiveType,n.vertexArray=this._va[mt],n.renderState=this._backFaceRS,n.shaderProgram=this._sp,n.uniformMap=ht,n.pass=dt,++m),n=ut[m],t(n)||(n=ut[m]=new g),n.owner=this,n.primitiveType=this._primitiveType,n.vertexArray=this._va[mt],n.renderState=this._frontFaceRS,n.shaderProgram=this._sp,n.uniformMap=ht,n.pass=dt,s=ct[pt],t(s)||(s=ct[pt]=new g),s.owner=this,s.primitiveType=this._primitiveType,s.vertexArray=this._va[mt],s.renderState=this._pickRS,s.shaderProgram=this._pickSP,s.uniformMap=ht,s.pass=dt,++pt,++mt}if(this._dirtyAttributes.length>0){for(u=this._dirtyAttributes,h=u.length,m=0;h>m;++m){c=u[m];var ft=c.value,vt=c.indices,yt=vt.length;for(T=0;yt>T;++T){D=vt[T];for(var gt=D.offset,_t=D.count,wt=D.attribute,Ct=wt.componentDatatype,xt=wt.componentsPerAttribute,St=d.createTypedArray(Ct,_t*xt),Et=0;_t>Et;++Et)St.set(ft,Et*xt);var bt=gt*xt*Ct.sizeInBytes;wt.vertexBuffer.copyFromArrayView(St,bt)}c.dirty=!1}u.length=0}o.equals(this.modelMatrix,this._modelMatrix)||(o.clone(this.modelMatrix,this._modelMatrix),this._boundingSphereWC=a.transform(this._boundingSphere,this.modelMatrix,this._boundingSphereWC),!this.allow3DOnly&&t(this._boundingSphere)&&(this._boundingSphereCV=a.projectTo2D(this._boundingSphereWC,k,this._boundingSphereCV),this._boundingSphere2D=a.clone(this._boundingSphereCV,this._boundingSphere2D),this._boundingSphere2D.center.x=0));var Tt;r.mode===E.SCENE3D?Tt=this._boundingSphereWC:r.mode===E.COLUMBUS_VIEW?Tt=this._boundingSphereCV:r.mode===E.SCENE2D&&t(this._boundingSphere2D)?Tt=this._boundingSphere2D:t(this._boundingSphereWC)&&t(this._boundingSphereCV)&&(Tt=a.union(this._boundingSphereWC,this._boundingSphereCV));var At=r.passes;if(At.render)for(h=ut.length,m=0;h>m;++m)ut[m].modelMatrix=this.modelMatrix,ut[m].boundingVolume=Tt,ut[m].debugShowBoundingVolume=this.debugShowBoundingVolume,i.push(ut[m]);if(At.pick)for(h=ct.length,m=0;h>m;++m)ct[m].modelMatrix=this.modelMatrix,ct[m].boundingVolume=Tt,i.push(ct[m])}}},B.prototype.getGeometryInstanceAttributes=function(e){if(!t(e))throw new i("id is required");if(!t(this._perInstanceAttributeIndices))throw new i("must call update before calling getGeometryInstanceAttributes");for(var n=-1,o=this._lastPerInstanceAttributeIndex,a=this._instanceIds,s=a.length,l=0;s>l;++l){var u=(o+l)%s;if(e===a[u]){n=u;break}}if(-1===n)return void 0;var c=this._perInstanceAttributeIndices[n],h={},d={},m=!1;for(var p in c)c.hasOwnProperty(p)&&(m=!0,d[p]={get:z(p,c),set:N(p,c,this._dirtyAttributes)});return m&&r(h,d),this._lastPerInstanceAttributeIndex=n,h},B.prototype.isDestroyed=function(){return!1},B.prototype.destroy=function(){var e,t;this._sp=this._sp&&this._sp.release(),this._pickSP=this._pickSP&&this._pickSP.release();var r=this._va;for(e=r.length,t=0;e>t;++t)r[t].destroy();this._va=void 0;var i=this._pickIds;for(e=i.length,t=0;e>t;++t)i[t].destroy();return this._pickIds=void 0,n(this)},B}),r("Scene/Polygon",["../Core/DeveloperError","../Core/defaultValue","../Core/defined","../Core/Color","../Core/destroyObject","../Core/Math","../Core/Ellipsoid","../Core/GeometryInstance","../Core/PolygonGeometry","./EllipsoidSurfaceAppearance","./Primitive","./Material"],function(e,t,r,i,n,o,a,s,l,u,c,h){"use strict";var d=function(n){n=t(n,t.EMPTY_OBJECT),this.ellipsoid=t(n.ellipsoid,a.WGS84),this._ellipsoid=void 0,this.granularity=t(n.granularity,o.RADIANS_PER_DEGREE),this._granularity=void 0,this.height=t(n.height,0),this._height=void 0,this.textureRotationAngle=t(n.textureRotationAngle,0),this._textureRotationAngle=void 0,this.show=t(n.show,!0);var s=h.fromType(h.ColorType);if(s.uniforms.color=new i(1,1,0,.5),this.material=t(n.material,s),this.id=n.id,this._id=void 0,this.asynchronous=t(n.asynchronous,!0),this.debugShowBoundingVolume=t(n.debugShowBoundingVolume,!1),this._positions=void 0,this._polygonHierarchy=void 0,this._createPrimitive=!1,this._primitive=void 0,r(n.positions)&&r(n.polygonHierarchy))throw new e("Either options.positions or options.polygonHierarchy can be provided, but not both.");r(n.positions)?this.setPositions(n.positions):r(n.polygonHierarchy)&&this.configureFromPolygonHierarchy(n.polygonHierarchy)};return d.prototype.getPositions=function(){return this._positions},d.prototype.setPositions=function(t){if(r(t)&&t.length<3)throw new e("At least three positions are required.");this._positions=t,this._polygonHierarchy=void 0,this._createPrimitive=!0},d.prototype.configureFromPolygonHierarchy=function(e){this._positions=void 0,this._polygonHierarchy=e,this._createPrimitive=!0},d.prototype.update=function(t,i,n){if(!r(this.ellipsoid))throw new e("this.ellipsoid must be defined."); -if(!r(this.material))throw new e("this.material must be defined.");if(this.granularity<0)throw new e("this.granularity and scene2D/scene3D overrides must be greater than zero.");if(this.show&&(this._createPrimitive||r(this._primitive))){if(this._createPrimitive||this._ellipsoid!==this.ellipsoid||this._granularity!==this.granularity||this._height!==this.height||this._textureRotationAngle!==this.textureRotationAngle||this._id!==this.id){if(this._createPrimitive=!1,this._ellipsoid=this.ellipsoid,this._granularity=this.granularity,this._height=this.height,this._textureRotationAngle=this.textureRotationAngle,this._id=this.id,this._primitive=this._primitive&&this._primitive.destroy(),!r(this._positions)&&!r(this._polygonHierarchy))return;var o;o=r(this._positions)?new s({geometry:l.fromPositions({positions:this._positions,height:this.height,vertexFormat:u.VERTEX_FORMAT,stRotation:this.textureRotationAngle,ellipsoid:this.ellipsoid,granularity:this.granularity}),id:this.id,pickPrimitive:this}):new s({geometry:new l({polygonHierarchy:this._polygonHierarchy,height:this.height,vertexFormat:u.VERTEX_FORMAT,stRotation:this.textureRotationAngle,ellipsoid:this.ellipsoid,granularity:this.granularity}),id:this.id,pickPrimitive:this}),this._primitive=new c({geometryInstances:o,appearance:new u({aboveGround:this.height>0}),asynchronous:this.asynchronous})}var a=this._primitive;a.debugShowBoundingVolume=this.debugShowBoundingVolume,a.appearance.material=this.material,a.update(t,i,n)}},d.prototype.isDestroyed=function(){return!1},d.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),n(this)},d}),r("DynamicScene/DynamicPolygonVisualizer",["../Core/Cartesian3","../Core/defined","../Core/DeveloperError","../Core/destroyObject","../Scene/Polygon","../Scene/Material","./MaterialProperty"],function(e,t,r,i,n,o,a){"use strict";function s(e,r,i){var s=i._polygon;if(t(s)){var l,c=s._show,h=i._ellipse,d=i._position,m=i._vertexPositions,p=i._polygonVisualizerIndex,f=i.isAvailable(r)&&(!t(c)||c.getValue(r)),v=t(m);if(!(f&&(v||t(h)&&t(d))))return t(p)&&(l=e._polygonCollection[p],l.show=!1,i._polygonVisualizerIndex=void 0,e._unusedIndexes.push(p)),void 0;if(t(p))l=e._polygonCollection[p];else{var y=e._unusedIndexes,g=y.length;g>0?(p=y.pop(),l=e._polygonCollection[p]):(p=e._polygonCollection.length,l=new n,l.asynchronous=!1,e._polygonCollection.push(l),e._primitives.add(l)),i._polygonVisualizerIndex=p,l.dynamicObject=i,l.material=o.fromType(o.ColorType)}l.show=!0;var _;_=v?m.getValue(r):h.getValue(r,d.getValue(r,u)),l._visualizerPositions!==_&&t(_)&&_.length>3&&(l.setPositions(_),l._visualizerPositions=_),l.material=a.getValue(r,s._material,l.material)}}var l=function(e,i){if(!t(e))throw new r("scene is required.");this._scene=e,this._unusedIndexes=[],this._primitives=e.getPrimitives(),this._polygonCollection=[],this._dynamicObjectCollection=void 0,this.setDynamicObjectCollection(i)};l.prototype.getScene=function(){return this._scene},l.prototype.getDynamicObjectCollection=function(){return this._dynamicObjectCollection},l.prototype.setDynamicObjectCollection=function(e){var r=this._dynamicObjectCollection;r!==e&&(t(r)&&(r.collectionChanged.removeEventListener(l.prototype._onObjectsRemoved,this),this.removeAllPrimitives()),this._dynamicObjectCollection=e,t(e)&&e.collectionChanged.addEventListener(l.prototype._onObjectsRemoved,this))},l.prototype.update=function(e){if(!t(e))throw new r("time is requied.");if(t(this._dynamicObjectCollection))for(var i=this._dynamicObjectCollection.getObjects(),n=0,o=i.length;o>n;n++)s(this,e,i[n])},l.prototype.removeAllPrimitives=function(){var e,r;for(e=0,r=this._polygonCollection.length;r>e;e++)this._primitives.remove(this._polygonCollection[e]);if(t(this._dynamicObjectCollection)){var i=this._dynamicObjectCollection.getObjects();for(e=i.length-1;e>-1;e--)i[e]._polygonVisualizerIndex=void 0}this._unusedIndexes=[],this._polygonCollection=[]},l.prototype.isDestroyed=function(){return!1},l.prototype.destroy=function(){return this.removeAllPrimitives(),i(this)};var u=new e;return l.prototype._onObjectsRemoved=function(e,r,i){for(var n=this._polygonCollection,o=this._unusedIndexes,a=i.length-1;a>-1;a--){var s=i[a],l=s._polygonVisualizerIndex;if(t(l)){var u=n[l];u.show=!1,o.push(l),s._polygonVisualizerIndex=void 0}}},l}),r("DynamicScene/DynamicPolylineVisualizer",["../Core/DeveloperError","../Core/defined","../Core/destroyObject","../Core/Cartesian3","./MaterialProperty","../Scene/Material","../Scene/PolylineCollection"],function(e,t,r,i,n,o,a){"use strict";function s(e,r,i){var a=i._polyline;if(t(a)){var s,l=a._show,c=i._ellipse,h=i._position,d=i._vertexPositions,m=i._polylineVisualizerIndex,p=i.isAvailable(r)&&(!t(l)||l.getValue(r));if(e._scene.getContext(),!(p&&(t(d)||t(c)&&t(h))))return t(m)&&(s=e._polylineCollection.get(m),s.setShow(!1),i._polylineVisualizerIndex=void 0,e._unusedIndexes.push(m)),void 0;if(t(m))s=e._polylineCollection.get(m);else{var f=e._unusedIndexes,v=f.length;v>0?(m=f.pop(),s=e._polylineCollection.get(m)):(m=e._polylineCollection.getLength(),s=e._polylineCollection.add()),i._polylineVisualizerIndex=m,s.dynamicObject=i,s.setWidth(1);var y=s.getMaterial();t(y)&&y.type===o.PolylineOutlineType||(y=o.fromType(o.PolylineOutlineType),s.setMaterial(y))}s.setShow(!0);var g;g=t(c)?c.getValue(r,h.getValue(r,u)):d.getValue(r),t(g)&&s._visualizerPositions!==g&&(s.setPositions(g),s._visualizerPositions=g);var _=a._material;if(t(_)&&s.setMaterial(n.getValue(r,_,s.getMaterial())),_=a._width,t(_)){var w=_.getValue(r);t(w)&&s.setWidth(w)}}}var l=function(r,i){if(!t(r))throw new e("scene is required.");this._scene=r,this._unusedIndexes=[],this._primitives=r.getPrimitives();var n=this._polylineCollection=new a;r.getPrimitives().add(n),this._dynamicObjectCollection=void 0,this.setDynamicObjectCollection(i)};l.prototype.getScene=function(){return this._scene},l.prototype.getDynamicObjectCollection=function(){return this._dynamicObjectCollection},l.prototype.setDynamicObjectCollection=function(e){var r=this._dynamicObjectCollection;r!==e&&(t(r)&&(r.collectionChanged.removeEventListener(l.prototype._onObjectsRemoved,this),this.removeAllPrimitives()),this._dynamicObjectCollection=e,t(e)&&e.collectionChanged.addEventListener(l.prototype._onObjectsRemoved,this))},l.prototype.update=function(r){if(!t(r))throw new e("time is requied.");if(t(this._dynamicObjectCollection))for(var i=this._dynamicObjectCollection.getObjects(),n=0,o=i.length;o>n;n++)s(this,r,i[n])},l.prototype.removeAllPrimitives=function(){var e;if(this._polylineCollection.removeAll(),t(this._dynamicObjectCollection)){var r=this._dynamicObjectCollection.getObjects();for(e=r.length-1;e>-1;e--)r[e]._polylineVisualizerIndex=void 0}this._unusedIndexes=[]},l.prototype.isDestroyed=function(){return!1},l.prototype.destroy=function(){return this.removeAllPrimitives(),this._scene.getPrimitives().remove(this._polylineCollection),r(this)};var u=new i;return l.prototype._onObjectsRemoved=function(e,r,i){for(var n=this._polylineCollection,o=this._unusedIndexes,a=i.length-1;a>-1;a--){var s=i[a],l=s._polylineVisualizerIndex;if(t(l)){var u=n.get(l);u.setShow(!1),o.push(l),s._polylineVisualizerIndex=void 0}}},l}),r("DynamicScene/DynamicPyramidVisualizer",["../Core/defaultValue","../Core/defined","../Core/DeveloperError","../Core/destroyObject","../Core/Cartesian3","../Core/Color","../Core/Matrix3","../Core/Matrix4","../Core/Quaternion","../Scene/CustomSensorVolume","../Scene/Material","./MaterialProperty"],function(e,t,r,i,n,o,a,s,l,u,c,h){"use strict";function d(r,i,d){var p=d._pyramid;if(t(p)){var y=p._directions;if(t(y)){var g=d._position;if(t(g)){var _=d._orientation;if(t(_)){var w,C=p._show,x=d._pyramidVisualizerIndex,S=d.isAvailable(i)&&(!t(C)||C.getValue(i));if(!S)return t(x)&&(w=r._pyramidCollection[x],w.show=!1,d._pyramidVisualizerIndex=void 0,r._unusedIndexes.push(x)),void 0;if(t(x))w=r._pyramidCollection[x];else{var E=r._unusedIndexes,b=E.length;b>0?(x=E.pop(),w=r._pyramidCollection[x]):(x=r._pyramidCollection.length,w=new u,r._pyramidCollection.push(w),r._primitives.add(w)),d._pyramidVisualizerIndex=x,w.dynamicObject=d,w.radius=Number.POSITIVE_INFINITY,w.showIntersection=!0,w.intersectionColor=o.YELLOW,w.intersectionWidth=5,w.material=c.fromType(c.ColorType)}w.show=!0;var T=y.getValue(i);t(T)&&w._visualizerDirections!==T&&(w.setDirections(T),w._visualizerDirections=T),f=e(g.getValue(i,f),w._visualizerPosition),v=e(_.getValue(i,v),w._visualizerOrientation),!t(f)||!t(v)||n.equals(f,w._visualizerPosition)&&l.equals(v,w._visualizerOrientation)||(s.fromRotationTranslation(a.fromQuaternion(v,m),f,w.modelMatrix),n.clone(f,w._visualizerPosition),l.clone(v,w._visualizerOrientation)),w.material=h.getValue(i,p._material,w.material);var A=p._intersectionColor;if(t(A)){var D=A.getValue(i,D);t(D)&&(w.intersectionColor=D)}if(A=p._intersectionWidth,t(A)){var P=A.getValue(i,P);t(P)&&(w.intersectionWidth=P)}if(A=p._radius,t(A)){var M=A.getValue(i,M);t(M)&&(w.radius=M)}}}}}}var m=new a,p=function(e,i){if(!t(e))throw new r("scene is required.");this._scene=e,this._unusedIndexes=[],this._primitives=e.getPrimitives(),this._pyramidCollection=[],this._dynamicObjectCollection=void 0,this.setDynamicObjectCollection(i)};p.prototype.getScene=function(){return this._scene},p.prototype.getDynamicObjectCollection=function(){return this._dynamicObjectCollection},p.prototype.setDynamicObjectCollection=function(e){var r=this._dynamicObjectCollection;r!==e&&(t(r)&&(r.collectionChanged.removeEventListener(p.prototype._onObjectsRemoved,this),this.removeAllPrimitives()),this._dynamicObjectCollection=e,t(e)&&e.collectionChanged.addEventListener(p.prototype._onObjectsRemoved,this))},p.prototype.update=function(e){if(!t(e))throw new r("time is requied.");if(t(this._dynamicObjectCollection))for(var i=this._dynamicObjectCollection.getObjects(),n=0,o=i.length;o>n;n++)d(this,e,i[n])},p.prototype.removeAllPrimitives=function(){var e,r;for(e=0,r=this._pyramidCollection.length;r>e;e++)this._primitives.remove(this._pyramidCollection[e]);if(t(this._dynamicObjectCollection)){var i=this._dynamicObjectCollection.getObjects();for(e=i.length-1;e>-1;e--)i[e]._pyramidVisualizerIndex=void 0}this._unusedIndexes=[],this._pyramidCollection=[]},p.prototype.isDestroyed=function(){return!1},p.prototype.destroy=function(){return this.removeAllPrimitives(),i(this)};var f,v;return p.prototype._onObjectsRemoved=function(e,r,i){for(var n=this._pyramidCollection,o=this._unusedIndexes,a=i.length-1;a>-1;a--){var s=i[a],l=s._pyramidVisualizerIndex;if(t(l)){var u=n[l];u.show=!1,o.push(l),s._pyramidVisualizerIndex=void 0}}},p}),r("DynamicScene/DynamicVectorVisualizer",["../Core/DeveloperError","../Core/defined","../Core/destroyObject","../Core/Cartesian3","../Core/Color","../Scene/Material","../Scene/PolylineCollection"],function(e,t,r,i,n,o,a){"use strict";function s(e,r,a){var s=a._vector;if(t(s)){var l,u=s._show,c=a._position,h=s._direction,d=s._length,m=a._vectorVisualizerIndex,p=a.isAvailable(r)&&(!t(u)||u.getValue(r));if(!(p&&t(h)&&t(c)&&t(d)))return t(m)&&(l=e._polylineCollection.get(m),l.setShow(!1),a._vectorVisualizerIndex=void 0,e._unusedIndexes.push(m)),void 0;var f;if(t(m))l=e._polylineCollection.get(m),f=l.getMaterial().uniforms;else{var v=e._unusedIndexes;v.length>0?(m=v.pop(),l=e._polylineCollection.get(m)):(m=e._polylineCollection.getLength(),l=e._polylineCollection.add(),l._visualizerPositions=[new i,new i]),a._vectorVisualizerIndex=m,l.dynamicObject=a,l.setWidth(1);var y=l.getMaterial();t(y)&&y.type===o.PolylineArrowType||(y=o.fromType(o.PolylineArrowType),l.setMaterial(y)),f=y.uniforms,n.clone(n.WHITE,f.color)}l.setShow(!0);var g=l._visualizerPositions,_=c.getValue(r,g[0]),w=h.getValue(r,g[1]),C=d.getValue(r);t(_)&&t(w)&&t(C)&&(i.add(_,i.multiplyByScalar(i.normalize(w,w),C,w),w),l.setPositions(g));var x=s._color;if(t(x)&&(f.color=x.getValue(r,f.color)),x=s._width,t(x)){var S=x.getValue(r);t(S)&&l.setWidth(S)}}}var l=function(r,i){if(!t(r))throw new e("scene is required.");this._scene=r,this._unusedIndexes=[],this._primitives=r.getPrimitives();var n=this._polylineCollection=new a;r.getPrimitives().add(n),this._dynamicObjectCollection=void 0,this.setDynamicObjectCollection(i)};return l.prototype.getScene=function(){return this._scene},l.prototype.getDynamicObjectCollection=function(){return this._dynamicObjectCollection},l.prototype.setDynamicObjectCollection=function(e){var r=this._dynamicObjectCollection;r!==e&&(t(r)&&(r.collectionChanged.removeEventListener(l.prototype._onObjectsRemoved,this),this.removeAllPrimitives()),this._dynamicObjectCollection=e,t(e)&&e.collectionChanged.addEventListener(l.prototype._onObjectsRemoved,this))},l.prototype.update=function(r){if(!t(r))throw new e("time is requied.");if(t(this._dynamicObjectCollection))for(var i=this._dynamicObjectCollection.getObjects(),n=0,o=i.length;o>n;n++)s(this,r,i[n])},l.prototype.removeAllPrimitives=function(){var e;if(this._polylineCollection.removeAll(),t(this._dynamicObjectCollection)){var r=this._dynamicObjectCollection.getObjects();for(e=r.length-1;e>-1;e--)r[e]._vectorVisualizerIndex=void 0}this._unusedIndexes=[]},l.prototype.isDestroyed=function(){return!1},l.prototype.destroy=function(){return this.removeAllPrimitives(),this._scene.getPrimitives().remove(this._polylineCollection),r(this)},l.prototype._onObjectsRemoved=function(e,r,i){for(var n=this._polylineCollection,o=this._unusedIndexes,a=i.length-1;a>-1;a--){var s=i[a],l=s._vectorVisualizerIndex;if(t(l)){var u=n.get(l);u.setShow(!1),o.push(l),s._vectorVisualizerIndex=void 0}}},l}),r("DynamicScene/VisualizerCollection",["../Core/defaultValue","../Core/defined","../Core/destroyObject"],function(e,t,r){"use strict";var i=function(e,r){this._visualizers=t(e)?e:[],this._dynamicObjectCollection=void 0,this.setDynamicObjectCollection(r)};return i.prototype.getVisualizers=function(){return this._visualizers.slice(0)},i.prototype.setVisualizers=function(r,i){i=e(i,!0);var n,o=this._visualizers;if(i)for(n=o.length-1;n>-1;n--){var a=o[n];-1===r.indexOf(a)&&a.destroy()}t(r)||(r=[]),this._visualizers=r;var s=this._dynamicObjectCollection;for(n=r.length-1;n>-1;n--)r[n].setDynamicObjectCollection(s)},i.prototype.getDynamicObjectCollection=function(){return this._dynamicObjectCollection},i.prototype.setDynamicObjectCollection=function(e){var t=this._dynamicObjectCollection;if(t!==e){this._dynamicObjectCollection=e;for(var r=this._visualizers,i=r.length-1;i>-1;i--)r[i].setDynamicObjectCollection(e)}},i.prototype.update=function(e){for(var t=this._visualizers,r=t.length-1;r>-1;r--)t[r].update(e)},i.prototype.removeAllPrimitives=function(){for(var e=this._visualizers,t=e.length-1;t>-1;t--)e[t].removeAllPrimitives()},i.prototype.isDestroyed=function(){return!1},i.prototype.destroy=function(t){if(t=e(t,!0),this.removeAllPrimitives(),t)for(var i=this._visualizers,n=i.length-1;n>-1;n--)i[n].destroy();return r(this)},i}),r("DynamicScene/DataSourceDisplay",["../Core/defaultValue","../Core/defined","../Core/destroyObject","../Core/DeveloperError","../Core/EventHelper","./DynamicBillboardVisualizer","./DynamicEllipsoidVisualizer","./DynamicConeVisualizerUsingCustomSensor","./DynamicLabelVisualizer","./DynamicPathVisualizer","./DynamicPointVisualizer","./DynamicPolygonVisualizer","./DynamicPolylineVisualizer","./DynamicPyramidVisualizer","./DynamicVectorVisualizer","./VisualizerCollection"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f){"use strict";var v=[o,a,s,l,c,h,d,m,u,p],y=function(r,o,a){if(!t(r))throw new i("scene is required.");if(!t(o))throw new i("dataSourceCollection is required.");this._eventHelper=new n,this._eventHelper.add(o.dataSourceAdded,this._onDataSourceAdded,this),this._eventHelper.add(o.dataSourceRemoved,this._onDataSourceRemoved,this),this._dataSourceCollection=o,this._scene=r,this._timeVaryingSources=[],this._staticSourcesToUpdate=[],this._visualizersTypes=e(a,v).slice(0);for(var s=0,l=o.getLength();l>s;s++)this._onDataSourceAdded(o,o.get(s))};return y.prototype.getScene=function(){return this._scene},y.prototype.getVisualizerTypes=function(){return this._visualizersTypes.slice(0)},y.prototype.getDataSources=function(){return this._dataSourceCollection},y.prototype.isDestroyed=function(){return!1},y.prototype.destroy=function(){this._eventHelper.removeAll();for(var e=this._dataSourceCollection,t=0,i=e.getLength();i>t;++t)this._onDataSourceRemoved(this._dataSourceCollection,e.get(t));return r(this)},y.prototype.update=function(e){if(!t(e))throw new i("time is required.");var r,n=this._timeVaryingSources,o=n.length;for(r=0;o>r;r++)n[r]._visualizerCollection.update(e);var a=this._staticSourcesToUpdate;if(o=a.length,o>0){for(r=0;o>r;r++)a[r]._visualizerCollection.update(e);a.length=0}},y.prototype._onDataSourceAdded=function(e,t){for(var r=this._visualizersTypes,i=r.length,n=new Array(i),o=this._scene,a=0;i>a;a++)n[a]=new r[a](o);var s=new f(n,t.getDynamicObjectCollection());t._visualizerCollection=s,t.getChangedEvent().addEventListener(this._onDataSourceChanged,this),this._onDataSourceChanged(t)},y.prototype._onDataSourceRemoved=function(e,t){t.getChangedEvent().removeEventListener(this._onDataSourceChanged,this);var r=this._timeVaryingSources.indexOf(t);-1!==r&&this._timeVaryingSources.splice(r,1);var i=this._staticSourcesToUpdate.indexOf(t);-1!==i&&this._staticSourcesToUpdate.splice(i,1),t._visualizerCollection.destroy(),t._visualizerCollection=void 0},y.prototype._onDataSourceChanged=function(e){var t=this._timeVaryingSources.indexOf(e),r=this._staticSourcesToUpdate.indexOf(e);e.getIsTimeVarying()?(-1===t&&this._timeVaryingSources.push(e),-1!==r&&this._staticSourcesToUpdate.splice(r,1)):(-1===r&&this._staticSourcesToUpdate.push(e),-1!==t&&this._timeVaryingSources.splice(r,1))},y}),r("Scene/CameraColumbusViewMode",["../Core/Enumeration"],function(e){"use strict";var t={FREE:new e(0,"FREE"),LOCKED:new e(1,"LOCKED")};return t}),r("DynamicScene/DynamicObjectView",["../Core/defaultValue","../Core/defined","../Core/DeveloperError","../Core/Math","../Core/Cartesian2","../Core/Cartesian3","../Core/Cartesian4","../Core/Cartographic","../Core/Quaternion","../Core/Matrix3","../Core/Matrix4","../Core/Ellipsoid","../Core/Transforms","../Scene/CameraColumbusViewMode","../Scene/SceneMode"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p){"use strict";function f(e,r,i,a,s,l,u,c){var h,d=e.scene,m=d.mode!==e._mode;m?(e._mode=d.mode,e._screenSpaceCameraController.enableTranslate=!1,h=o.magnitude(a)):h=i?o.magnitude(a):r.position.z;var p=s.getValue(l,e._lastCartesian);if(t(p)){var f=u.cartesianToCartographic(p,e._lastCartographic);f.height=h,i||m?(r.controller.setPositionCartographic(f),r.up.z=0,o.normalize(r.up,r.up),r.right.z=0,o.normalize(r.right,r.right),n.clone(r.right,e._first2dUp)):r.position=c.project(f),e._lastDistance=r.frustum.right-r.frustum.left,n.clone(r.right,e._last2dUp)}}function v(e,r,n,a,s,l,c){g(e,r,n,a);var m=s.getValue(l,e._lastCartesian);if(t(m)){var p=!1,f=l.addSeconds(.01),v=s.getValue(f,S);if(t(v)&&!o.equalsEpsilon(m,v,i.EPSILON6)){var y,T=d.computeFixedToIcrfMatrix(l,w),A=d.computeFixedToIcrfMatrix(f,C);t(T)&&t(A)?y=u.transpose(T,x):(y=d.computeTemeToPseudoFixedMatrix(l,x),T=u.transpose(y,w),A=d.computeTemeToPseudoFixedMatrix(f,C),u.transpose(A,A));var D=E;o.normalize(m,D),o.normalize(v,v),u.multiplyByVector(T,D,D),u.multiplyByVector(A,v,v);var P=o.cross(D,v,b);if(!o.equalsEpsilon(P,o.ZERO,i.EPSILON6)){var M=o.cross(P,D,S);u.multiplyByVector(y,M,M),u.multiplyByVector(y,P,P),u.multiplyByVector(y,D,D),o.normalize(M,M),o.normalize(P,P),o.normalize(D,D);var I=_;I[0]=M.x,I[1]=M.y,I[2]=M.z,I[3]=0,I[4]=P.x,I[5]=P.y,I[6]=P.z,I[7]=0,I[8]=D.x,I[9]=D.y,I[10]=D.z,I[11]=0,I[12]=m.x,I[13]=m.y,I[14]=m.z,I[15]=0,r.transform=I,p=!0}}p||(r.transform=d.eastNorthUpToFixedFrame(m,c,_)),e._screenSpaceCameraController.setEllipsoid(h.UNIT_SPHERE);var O=r.position;o.clone(O,e._lastOffset),e._lastDistance=o.magnitude(O)}}function y(e,r,i,n,a,s,l,u){g(e,r,i,n);var d=a.getValue(s,e._lastCartesian);if(t(d)){var p=l.cartesianToCartographic(d,e._lastCartographic),f=u.project(p);T.x=f.z,T.y=f.x,T.z=f.y;var v=r.transform;c.setColumn(v,3,T,v);var y=e._screenSpaceCameraController;y.enableTranslate=!1,y.setEllipsoid(h.UNIT_SPHERE),y.columbusViewMode=m.LOCKED,r.controller.constrainedAxis=o.UNIT_Z;var _=r.position;o.clone(_,e._lastOffset),e._lastDistance=o.magnitude(_)}}function g(e,t,r,a){var s=e.scene;if(t.controller.constrainedAxis=o.UNIT_Z,r)t.controller.lookAt(a,o.ZERO,o.UNIT_Z);else if(s.mode!==e._mode){e._mode=s.mode;var c=e._first2dUp,h=e._last2dUp;if(!n.equals(c,h)){var d=Math.acos(c.x);c.y<0&&(d=i.TWO_PI-d);var m=Math.acos(h.x);h.y<0&&(m=i.TWO_PI-m),h.x=0,h.y=0,c.x=0,c.y=0;var p=m-d,f=l.fromAxisAngle(o.UNIT_Z,p,A);u.multiplyByVector(u.fromQuaternion(f,D),a,a)}o.multiplyByScalar(o.normalize(a,a),e._lastDistance,a),t.controller.lookAt(a,o.ZERO,o.UNIT_Z)}}var _=new c,w=new u,C=new u,x=new u,S=new o,E=new o,b=new o,T=new a(0,0,0,1),A=new l,D=new u,P=new o(1e4,-1e4,1e4),M=new o,I=function(t,r,i){this.dynamicObject=t,this.scene=r,this._lastScene=void 0,this.ellipsoid=e(i,h.WGS84),this._lastDynamicObject=void 0,this._mode=void 0,this._lastCartesian=new o,this._lastCartographic=new s,this._lastDistance=void 0,this._lastOffset=new o,this._offsetScratch=new o,this._first2dUp=new n,this._last2dUp=new n};return I.prototype.update=function(e){if(!t(e))throw new r("time is required.");var i=this.scene;if(!t(i))throw new r("DynamicObjectView.scene is required.");i!==this._lastScene&&(this._lastScene=i,this._screenSpaceCameraController=i.getScreenSpaceCameraController());var n=this.dynamicObject;if(!t(n))throw new r("DynamicObjectView.dynamicObject is required.");var a=this.ellipsoid;if(!t(a))throw new r("DynamicObjectView.ellipsoid is required.");var s=this.dynamicObject.position;if(!t(s))throw new r("dynamicObject.position is required.");var l=n!==this._lastDynamicObject,u=this._offsetScratch;if(l){this._lastDynamicObject=n;var c=this.dynamicObject.viewFrom;t(c)&&t(c.getValue(e,u))||o.clone(P,u);var h=this._first2dUp,d=this._last2dUp;h.x=h.y=0,d.x=d.y=0,o.clone(u,this._lastOffset),this._lastDistance=o.magnitude(u),o.equals(o.normalize(u,M),o.UNIT_Z)&&(u.y-=.01)}else t(this._lastOffset)?u=this._lastOffset:o.clone(P,u);var m=i.mode;m===p.SCENE2D?f(this,i.getCamera(),l,u,s,e,a,i.scene2D.projection):m===p.SCENE3D?v(this,i.getCamera(),l,u,s,e,a):m===p.COLUMBUS_VIEW&&y(this,i.getCamera(),l,u,s,e,a,i.scene2D.projection)},I}),r("ThirdParty/topojson",[],function(){var e=function(){function e(e,t){function r(t){var r=e.arcs[t],i=r[0],n=[0,0];return r.forEach(function(e){n[0]+=e[0],n[1]+=e[1]}),[i,n]}var i={},n={},o={};t.forEach(function(e){var t=r(e);(i[t[0]]||(i[t[0]]=[])).push(e),(i[t[1]]||(i[t[1]]=[])).push(~e)}),t.forEach(function(e){var t,i,a=r(e),s=a[0],l=a[1];if(t=o[s])if(delete o[t.end],t.push(e),t.end=l,i=n[l]){delete n[i.start];var u=i===t?t:t.concat(i);n[u.start=t.start]=o[u.end=i.end]=u}else if(i=o[l]){delete n[i.start],delete o[i.end];var u=t.concat(i.map(function(e){return~e}).reverse());n[u.start=t.start]=o[u.end=i.start]=u}else n[t.start]=o[t.end]=t;else if(t=n[l])if(delete n[t.start],t.unshift(e),t.start=s,i=o[s]){delete o[i.end];var c=i===t?t:i.concat(t);n[c.start=i.start]=o[c.end=t.end]=c}else if(i=n[s]){delete n[i.start],delete o[i.end];var c=i.map(function(e){return~e}).reverse().concat(t);n[c.start=i.end]=o[c.end=t.end]=c}else n[t.start]=o[t.end]=t;else if(t=n[s])if(delete n[t.start],t.unshift(~e),t.start=l,i=o[l]){delete o[i.end];var c=i===t?t:i.concat(t);n[c.start=i.start]=o[c.end=t.end]=c}else if(i=n[l]){delete n[i.start],delete o[i.end];var c=i.map(function(e){return~e}).reverse().concat(t);n[c.start=i.end]=o[c.end=t.end]=c}else n[t.start]=o[t.end]=t;else if(t=o[l])if(delete o[t.end],t.push(~e),t.end=s,i=o[s]){delete n[i.start];var u=i===t?t:t.concat(i);n[u.start=t.start]=o[u.end=i.end]=u}else if(i=n[s]){delete n[i.start],delete o[i.end];var u=t.concat(i.map(function(e){return~e}).reverse());n[u.start=t.start]=o[u.end=i.start]=u}else n[t.start]=o[t.end]=t;else t=[e],n[t.start=s]=o[t.end=l]=t});var a=[];for(var s in o)a.push(o[s]);return a}function t(t,r,i){function o(e){0>e&&(e=~e),(h[e]||(h[e]=[])).push(c)}function a(e){e.forEach(o)}function s(e){e.forEach(a)}function l(e){"GeometryCollection"===e.type?e.geometries.forEach(l):e.type in d&&(c=e,d[e.type](e.arcs))}var u=[];if(arguments.length>1){var c,h=[],d={LineString:a,MultiLineString:s,Polygon:s,MultiPolygon:function(e){e.forEach(s)}};l(r),h.forEach(arguments.length<3?function(e,t){u.push(t)}:function(e,t){i(e[0],e[e.length-1])&&u.push(t)})}else for(var m=0,p=t.arcs.length;p>m;++m)u.push(m);return n(t,{type:"MultiLineString",arcs:e(t,u)})}function r(e,t){return"GeometryCollection"===t.type?{type:"FeatureCollection",features:t.geometries.map(function(t){return i(e,t)})}:i(e,t)}function i(e,t){var r={type:"Feature",id:t.id,properties:t.properties||{},geometry:n(e,t)};return null==t.id&&delete r.id,r}function n(e,t){function r(e,t){t.length&&t.pop();for(var r,i=p[0>e?~e:e],n=0,a=i.length,s=0,l=0;a>n;++n)t.push([(s+=(r=i[n])[0])*c+d,(l+=r[1])*h+m]);0>e&&o(t,a)}function i(e){return[e[0]*c+d,e[1]*h+m]}function n(e){for(var t=[],i=0,n=e.length;n>i;++i)r(e[i],t);return t.length<2&&t.push(t[0]),t}function a(e){for(var t=n(e);t.length<4;)t.push(t[0]);return t}function s(e){return e.map(a)}function l(e){var t=e.type;return"GeometryCollection"===t?{type:t,geometries:e.geometries.map(l)}:t in f?{type:t,coordinates:f[t](e)}:null}var u=e.transform,c=u.scale[0],h=u.scale[1],d=u.translate[0],m=u.translate[1],p=e.arcs,f={Point:function(e){return i(e.coordinates)},MultiPoint:function(e){return e.coordinates.map(i)},LineString:function(e){return n(e.arcs)},MultiLineString:function(e){return e.arcs.map(n)},Polygon:function(e){return s(e.arcs)},MultiPolygon:function(e){return e.arcs.map(s)}};return l(t)}function o(e,t){for(var r,i=e.length,n=i-t;n<--i;)r=e[n],e[n++]=e[i],e[i]=r}function a(e,t){for(var r=0,i=e.length;i>r;){var n=r+i>>>1;e[n]e&&(e=~e);var r=n[e];r?r.push(t):n[e]=[t]})}function r(e,r){e.forEach(function(e){t(e,r)})}function i(e,t){"GeometryCollection"===e.type?e.geometries.forEach(function(e){i(e,t)}):e.type in s&&s[e.type](e.arcs,t)}var n={},o=e.map(function(){return[]}),s={LineString:t,MultiLineString:r,Polygon:r,MultiPolygon:function(e,t){e.forEach(function(e){r(e,t)})}};e.forEach(i);for(var l in n)for(var u=n[l],c=u.length,h=0;c>h;++h)for(var d=h+1;c>d;++d){var m,p=u[h],f=u[d];(m=o[p])[l=a(m,f)]!==f&&m.splice(l,0,f),(m=o[f])[l=a(m,p)]!==p&&m.splice(l,0,p)}return o}return{version:"1.1.4",mesh:t,feature:r,neighbors:s}}();return e}),r("DynamicScene/GeoJsonDataSource",["../Core/createGuid","../Core/Cartographic","../Core/Color","../Core/defined","../Core/DeveloperError","../Core/getFilenameFromUri","../Core/RuntimeError","../Core/Ellipsoid","../Core/Event","../Core/loadJson","./ConstantProperty","./DynamicObject","./DynamicPoint","./DynamicPolyline","./DynamicPolygon","./ColorMaterialProperty","./DynamicObjectCollection","../ThirdParty/when","../ThirdParty/topojson"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f,v,y,g){"use strict";function _(t,r){var n=t.id;if(i(n)&&"Feature"===t.type){for(var o=2,a=n;i(r.getById(a));)a=n+"_"+o,o++;n=a}else n=e();var s=r.getOrCreateObject(n);return s.geoJson=t,s}function w(e,t){for(var r=new Array(e.length),i=0;ia;a++)C(e,o[a],void 0,i,n)}function S(e,t,r,n,o){for(var s=r.geometries,l=0,u=s.length;u>l;l++){var c=s[l],h=c.type,d=R[h];if(!i(d))throw new a("Unknown geometry type: "+h);d(e,t,c,n,o)}}function E(e,t,r,i){var n=_(t,e._dynamicObjectCollection);n.merge(e.defaultPoint),n.position=new c(i(r.coordinates))}function b(e,t,r,i){for(var n=r.coordinates,o=0;othis._sizeInBytes)throw new e("This buffer is not large enough.");var i=this._gl,n=this._bufferTarget;i.bindBuffer(n,this._buffer),i.bufferSubData(n,r,t),i.bindBuffer(n,null)},r.prototype._getBuffer=function(){return this._buffer},r.prototype.getSizeInBytes=function(){return this._sizeInBytes},r.prototype.getUsage=function(){return this._usage},r.prototype.getVertexArrayDestroyable=function(){return this._vertexArrayDestroyable},r.prototype.setVertexArrayDestroyable=function(e){this._vertexArrayDestroyable=e},r.prototype.isDestroyed=function(){return!1},r.prototype.destroy=function(){return this._gl.deleteBuffer(this._buffer),t(this)},r}),r("Renderer/ClearCommand",["../Core/Color","../Core/freezeObject"],function(e,t){"use strict";var r=function(){this.color=void 0,this.depth=void 0,this.stencil=void 0,this.renderState=void 0,this.framebuffer=void 0,this.owner=void 0},i=new r;return i.color=new e(0,0,0,0),i.depth=1,i.stencil=0,r.ALL=t(i),r.prototype.execute=function(e,t){e.clear(this,t)},r}),r("Renderer/Framebuffer",["../Core/DeveloperError","../Core/destroyObject","./PixelFormat"],function(e,t,r){"use strict";function i(e,t,r){e._bind();var i=e._gl;r?i.framebufferTexture2D(i.FRAMEBUFFER,t,r._getTarget(),r._getTexture(),0):i.framebufferTexture2D(i.FRAMEBUFFER,t,i.TEXTURE_2D,null,0),e._unBind()}function n(e,t,r){e._bind();var i=e._gl;r?i.framebufferRenderbuffer(i.FRAMEBUFFER,t,i.RENDERBUFFER,r._getRenderbuffer()):i.framebufferRenderbuffer(i.FRAMEBUFFER,t,i.RENDERBUFFER,null),e._unBind()}function o(e,t){e.destroyAttachments&&t&&t.destroy&&t.destroy()}var a=function(t,r){if(this._gl=t,this._framebuffer=t.createFramebuffer(),this._colorTexture=void 0,this._colorRenderbuffer=void 0,this._depthTexture=void 0,this._depthRenderbuffer=void 0,this._stencilRenderbuffer=void 0,this._depthStencilTexture=void 0,this._depthStencilRenderbuffer=void 0,this.destroyAttachments=!0,r){if(r.colorTexture&&r.colorRenderbuffer)throw new e("Cannot have both a color texture and color renderbuffer attachment.");if(r.depthTexture&&r.depthRenderbuffer)throw new e("Cannot have both a depth texture and depth renderbuffer attachment.");if(r.depthStencilTexture&&r.depthStencilRenderbuffer)throw new e("Cannot have both a depth-stencil texture and depth-stencil renderbuffer attachment.");var i=r.depthTexture||r.depthRenderbuffer,n=r.depthStencilTexture||r.depthStencilRenderbuffer;if(i&&n)throw new e("Cannot have both a depth and depth-stencil attachment.");if(r.stencilRenderbuffer&&n)throw new e("Cannot have both a stencil and depth-stencil attachment.");if(i&&r.stencilRenderbuffer)throw new e("Cannot have both a depth and stencil attachment.");r.colorTexture&&this.setColorTexture(r.colorTexture),r.colorRenderbuffer&&this.setColorRenderbuffer(r.colorRenderbuffer),r.depthTexture&&this.setDepthTexture(r.depthTexture),r.depthRenderbuffer&&this.setDepthRenderbuffer(r.depthRenderbuffer),r.stencilRenderbuffer&&this.setStencilRenderbuffer(r.stencilRenderbuffer),r.depthStencilTexture&&this.setDepthStencilTexture(r.depthStencilTexture),r.depthStencilRenderbuffer&&this.setDepthStencilRenderbuffer(r.depthStencilRenderbuffer)}};return a.prototype._bind=function(){var e=this._gl;e.bindFramebuffer(e.FRAMEBUFFER,this._framebuffer)},a.prototype._unBind=function(){var e=this._gl;e.bindFramebuffer(e.FRAMEBUFFER,null)},a.prototype.setColorTexture=function(t){if(t&&!r.isColorFormat(t.getPixelFormat()))throw new e("The color-texture pixel-format must be a color format.");i(this,this._gl.COLOR_ATTACHMENT0,t),o(this,this._colorTexture),this._colorTexture=t},a.prototype.getColorTexture=function(){return this._colorTexture},a.prototype.setColorRenderbuffer=function(e){n(this,this._gl.COLOR_ATTACHMENT0,e),o(this,this._colorRenderbuffer),this._colorRenderbuffer=e},a.prototype.getColorRenderbuffer=function(){return this._colorRenderbuffer},a.prototype.setDepthTexture=function(t){if(t&&t.getPixelFormat()!==r.DEPTH_COMPONENT)throw new e("The depth-texture pixel-format must be DEPTH_COMPONENT.");i(this,this._gl.DEPTH_ATTACHMENT,t),o(this,this._depthTexture),this._depthTexture=t},a.prototype.getDepthTexture=function(){return this._depthTexture},a.prototype.setDepthRenderbuffer=function(e){n(this,this._gl.DEPTH_ATTACHMENT,e),o(this,this._depthRenderbuffer),this._depthRenderbuffer=e},a.prototype.getDepthRenderbuffer=function(){return this._depthRenderbuffer},a.prototype.setStencilRenderbuffer=function(e){n(this,this._gl.STENCIL_ATTACHMENT,e),o(this,this._stencilRenderbuffer),this._stencilRenderbuffer=e},a.prototype.getStencilRenderbuffer=function(){return this._stencilRenderbuffer},a.prototype.setDepthStencilTexture=function(t){if(t&&t.getPixelFormat()!==r.DEPTH_STENCIL)throw new e("The depth-stencil pixel-format must be DEPTH_STENCIL.");i(this,this._gl.DEPTH_STENCIL_ATTACHMENT,t),o(this,this._depthStencilTexture),this._depthStencilTexture=t},a.prototype.getDepthStencilTexture=function(){return this._depthStencilTexture},a.prototype.setDepthStencilRenderbuffer=function(e){n(this,this._gl.DEPTH_STENCIL_ATTACHMENT,e),o(this,this._depthStencilRenderbuffer),this._depthStencilRenderbuffer=e},a.prototype.getDepthStencilRenderbuffer=function(){return this._depthStencilRenderbuffer},a.prototype.hasDepthAttachment=function(){return!!(this.getDepthTexture()||this.getDepthRenderbuffer()||this.getDepthStencilTexture()||this.getDepthStencilRenderbuffer())},a.prototype.isDestroyed=function(){return!1},a.prototype.destroy=function(){return this.destroyAttachments&&(this._colorTexture=this._colorTexture&&this._colorTexture.destroy&&this._colorTexture.destroy(),this._colorRenderbuffer=this._colorRenderbuffer&&this._colorRenderbuffer.destroy(),this._depthTexture=this._depthTexture&&this._depthTexture.destroy(),this._depthRenderbuffer=this._depthRenderbuffer&&this._depthRenderbuffer.destroy(),this._stencilRenderbuffer=this._stencilRenderbuffer&&this._stencilRenderbuffer.destroy(),this._depthStencilTexture=this._depthStencilTexture&&this._depthStencilTexture.destroy(),this._depthStencilRenderbuffer=this._depthStencilRenderbuffer&&this._depthStencilRenderbuffer.destroy()),this._gl.deleteFramebuffer(this._framebuffer),t(this)},a}),r("Renderer/PassState",[],function(){"use strict";var e=function(e){this.context=e,this.framebuffer=void 0,this.blendingEnabled=void 0,this.scissorTest=void 0};return e}),r("Renderer/RenderbufferFormat",["../Core/Enumeration"],function(e){"use strict";var t={RGBA4:new e(32854,"RGBA4"),RGB5_A1:new e(32855,"RGB5_A1"),RGB565:new e(36194,"RGB565"),DEPTH_COMPONENT16:new e(33189,"DEPTH_COMPONENT16"),STENCIL_INDEX8:new e(36168,"STENCIL_INDEX8"),DEPTH_STENCIL:new e(34041,"DEPTH_STENCIL"),validate:function(e){return e===t.RGBA4||e===t.RGB5_A1||e===t.RGB565||e===t.DEPTH_COMPONENT16||e===t.STENCIL_INDEX8||e===t.DEPTH_STENCIL}};return t}),r("Renderer/PickFramebuffer",["../Core/defaultValue","../Core/defined","../Core/destroyObject","../Core/Color","../Core/BoundingRectangle","./PassState","./RenderbufferFormat"],function(e,t,r,i,n,o,a){"use strict";var s=function(e){var t=new o(e);t.blendingEnabled=!1,t.scissorTest={enabled:!0,rectangle:new n},this._context=e,this._fb=void 0,this._passState=t,this._width=0,this._height=0};s.prototype.begin=function(e){var r=this._context,i=r.getDrawingBufferWidth(),o=r.getDrawingBufferHeight();return n.clone(e,this._passState.scissorTest.rectangle),t(this._fb)&&this._width===i&&this._height===o||(this._width=i,this._height=o,this._fb=this._fb&&this._fb.destroy(),this._fb=r.createFramebuffer({colorTexture:r.createTexture2D({width:i,height:o}),depthRenderbuffer:r.createRenderbuffer({format:a.DEPTH_COMPONENT16})}),this._passState.framebuffer=this._fb),this._passState};var l=new i;return s.prototype.end=function(r){for(var n=e(r.width,1),o=e(r.height,1),a=this._context,s=a.readPixels({x:r.x,y:r.y,width:n,height:o,framebuffer:this._fb}),u=Math.max(n,o),c=u*u,h=Math.floor(.5*n),d=Math.floor(.5*o),m=0,p=0,f=0,v=-1,y=0;c>y;++y){if(m>=-h&&h>=m&&p>=-d&&d>=p){var g=4*((d-p)*n+m+h);l.red=i.byteToFloat(s[g]),l.green=i.byteToFloat(s[g+1]),l.blue=i.byteToFloat(s[g+2]),l.alpha=i.byteToFloat(s[g+3]);var _=a.getObjectByPickColor(l);if(t(_))return _}if(m===p||0>m&&-m===p||m>0&&m===1-p){var w=f;f=-v,v=w}m+=f,p+=v}return void 0},s.prototype.isDestroyed=function(){return!1},s.prototype.destroy=function(){return this._fb=this._fb&&this._fb.destroy(),r(this)},s}),r("Renderer/Renderbuffer",["../Core/destroyObject"],function(e){"use strict";function t(t,r,i,n){var o=t.createRenderbuffer();t.bindRenderbuffer(t.RENDERBUFFER,o),t.renderbufferStorage(t.RENDERBUFFER,r,i,n),t.bindRenderbuffer(t.RENDERBUFFER,null),this.getFormat=function(){return r},this.getWidth=function(){return i},this.getHeight=function(){return n},this._getRenderbuffer=function(){return o},this.isDestroyed=function(){return!1},this.destroy=function(){return t.deleteRenderbuffer(o),e(this)}}return t}),r("Renderer/DepthFunction",["../Core/Enumeration"],function(e){"use strict";var t={NEVER:new e(512,"NEVER"),LESS:new e(513,"LESS"),EQUAL:new e(514,"EQUAL"),LESS_OR_EQUAL:new e(515,"LEQUAL"),GREATER:new e(516,"GREATER"),NOT_EQUAL:new e(517,"NOTEQUAL"),GREATER_OR_EQUAL:new e(518,"GEQUAL"),ALWAYS:new e(519,"ALWAYS"),validate:function(e){return e===t.NEVER||e===t.LESS||e===t.EQUAL||e===t.LESS_OR_EQUAL||e===t.GREATER||e===t.NOT_EQUAL||e===t.GREATER_OR_EQUAL||e===t.ALWAYS}};return t}),r("Renderer/StencilFunction",["../Core/Enumeration"],function(e){"use strict";var t={NEVER:new e(512,"NEVER"),LESS:new e(513,"LESS"),EQUAL:new e(514,"EQUAL"),LESS_OR_EQUAL:new e(515,"LESS_OR_EQUAL"),GREATER:new e(516,"GREATER"),NOT_EQUAL:new e(517,"NOT_EQUAL"),GREATER_OR_EQUAL:new e(518,"GREATER_OR_EQUAL"),ALWAYS:new e(519,"ALWAYS"),validate:function(e){return e===t.NEVER||e===t.LESS||e===t.EQUAL||e===t.LESS_OR_EQUAL||e===t.GREATER||e===t.NOT_EQUAL||e===t.GREATER_OR_EQUAL||e===t.ALWAYS}};return t}),r("Renderer/StencilOperation",["../Core/Enumeration"],function(e){"use strict";var t={ZERO:new e(0,"ZERO"),KEEP:new e(7680,"KEEP"),REPLACE:new e(7681,"REPLACE"),INCREMENT:new e(7682,"INCREMENT"),DECREMENT:new e(7683,"DECREMENT"),INVERT:new e(5386,"INVERT"),INCREMENT_WRAP:new e(34055,"INCREMENT_WRAP"),DECREMENT_WRAP:new e(34056,"DECREMENT_WRAP"),validate:function(e){return e===t.ZERO||e===t.KEEP||e===t.REPLACE||e===t.INCREMENT||e===t.DECREMENT||e===t.INVERT||e===t.INCREMENT_WRAP||e===t.DECREMENT_WRAP}};return t}),r("Renderer/RenderState",["../Core/Color","../Core/defaultValue","../Core/defined","../Core/DeveloperError","../Core/BoundingRectangle","../Core/RuntimeError","../Core/WindingOrder","./CullFace","./DepthFunction","./BlendEquation","./BlendFunction","./StencilFunction","./StencilOperation"],function(e,t,r,i,n,o,a,s,l,u,c,h,d){"use strict";function m(e,t,r){r?e.enable(t):e.disable(t)}function p(e,t){e.frontFace(t.frontFace)}function f(e,t){var r=t.cull,i=r.enabled;m(e,e.CULL_FACE,i),i&&e.cullFace(r.face)}function v(e,t){e.lineWidth(t.lineWidth)}function y(e,t){var r=t.polygonOffset,i=r.enabled;m(e,e.POLYGON_OFFSET_FILL,i),i&&e.polygonOffset(r.factor,r.units)}function g(e,t,i){var n=t.scissorTest,o=r(i.scissorTest)?i.scissorTest.enabled:n.enabled;if(m(e,e.SCISSOR_TEST,o),o){var a=r(i.scissorTest)?i.scissorTest.rectangle:n.rectangle;e.scissor(a.x,a.y,a.width,a.height)}}function _(e,t){var r=t.depthRange;e.depthRange(r.near,r.far)}function w(e,t){var r=t.depthTest,i=r.enabled;m(e,e.DEPTH_TEST,i),i&&e.depthFunc(r.func)}function C(e,t){var r=t.colorMask;e.colorMask(r.red,r.green,r.blue,r.alpha)}function x(e,t){e.depthMask(t.depthMask)}function S(e,t){e.stencilMask(t.stencilMask)}function E(e,t,i){var n=t.blending,o=r(i.blendingEnabled)?i.blendingEnabled:n.enabled;if(m(e,e.BLEND,o),o){var a=n.color,s=n.equationRgb,l=n.equationAlpha,u=n.functionSourceRgb,c=n.functionDestinationRgb,h=n.functionSourceAlpha,d=n.functionDestinationAlpha;e.blendColor(a.red,a.green,a.blue,a.alpha),e.blendEquationSeparate(s,l),e.blendFuncSeparate(u,c,h,d)}}function b(e,t){var r=t.stencilTest,i=r.enabled;if(m(e,e.STENCIL_TEST,i),i){var n=r.frontFunction,o=r.backFunction,a=r.reference,s=r.mask;e.stencilFunc(r.frontFunction,r.reference,r.mask),e.stencilFuncSeparate(e.BACK,o,a,s),e.stencilFuncSeparate(e.FRONT,n,a,s);var l=r.frontOperation,u=l.fail,c=l.zFail,h=l.zPass;e.stencilOpSeparate(e.FRONT,u,c,h);var d=r.backOperation,p=d.fail,f=d.zFail,v=d.zPass;e.stencilOpSeparate(e.BACK,p,f,v)}}function T(e,t){var r=t.sampleCoverage,i=r.enabled;m(e,e.SAMPLE_COVERAGE,i),i&&e.sampleCoverage(r.value,r.invert)}function A(e,t){m(e,e.DITHER,t.dither)}function D(e,t,i){var n=t.viewport;r(n)||(n=I,n.width=i.context.getDrawingBufferWidth(),n.height=i.context.getDrawingBufferHeight()),i.context.getUniformState().setViewport(n),e.viewport(n.x,n.y,n.width,n.height)}function P(e,t){var r=[];return e.frontFace!==t.frontFace&&r.push(p),(e.cull.enabled!==t.cull.enabled||e.cull.face!==t.cull.face)&&r.push(f),e.lineWidth!==t.lineWidth&&r.push(v),(e.polygonOffset.enabled!==t.polygonOffset.enabled||e.polygonOffset.factor!==t.polygonOffset.factor||e.polygonOffset.units!==t.polygonOffset.units)&&r.push(y),r.push(g),(e.depthRange.near!==t.depthRange.near||e.depthRange.far!==t.depthRange.far)&&r.push(_),(e.depthTest.enabled!==t.depthTest.enabled||e.depthTest.func!==t.depthTest.func)&&r.push(w),(e.colorMask.red!==t.colorMask.red||e.colorMask.green!==t.colorMask.green||e.colorMask.blue!==t.colorMask.blue||e.colorMask.alpha!==t.colorMask.alpha)&&r.push(C),e.depthMask!==t.depthMask&&r.push(x),r.push(E),e.stencilMask!==t.stencilMask&&r.push(S),(e.stencilTest.enabled!==t.stencilTest.enabled||e.stencilTest.frontFunction!==t.stencilTest.frontFunction||e.stencilTest.backFunction!==t.stencilTest.backFunction||e.stencilTest.reference!==t.stencilTest.reference||e.stencilTest.mask!==t.stencilTest.mask||e.stencilTest.frontOperation.fail!==t.stencilTest.frontOperation.fail||e.stencilTest.frontOperation.zFail!==t.stencilTest.frontOperation.zFail||e.stencilTest.backOperation.fail!==t.stencilTest.backOperation.fail||e.stencilTest.backOperation.zFail!==t.stencilTest.backOperation.zFail||e.stencilTest.backOperation.zPass!==t.stencilTest.backOperation.zPass)&&r.push(b),(e.sampleCoverage.enabled!==t.sampleCoverage.enabled||e.sampleCoverage.value!==t.sampleCoverage.value||e.sampleCoverage.invert!==t.sampleCoverage.invert)&&r.push(T),e.dither!==t.dither&&r.push(A),r.push(D),r}var M=function(m,p){var f=t(p,{}),v=t(f.cull,{}),y=t(f.polygonOffset,{}),g=t(f.scissorTest,{}),_=t(g.rectangle,{}),w=t(f.depthRange,{}),C=t(f.depthTest,{}),x=t(f.colorMask,{}),S=t(f.blending,{}),E=t(S.color,{}),b=t(f.stencilTest,{}),T=t(b.frontOperation,{}),A=t(b.backOperation,{}),D=t(f.sampleCoverage,{}),P=f.viewport;if(this.frontFace=t(f.frontFace,a.COUNTER_CLOCKWISE),this.cull={enabled:t(v.enabled,!1),face:t(v.face,s.BACK)},this.lineWidth=t(f.lineWidth,1),this.polygonOffset={enabled:t(y.enabled,!1),factor:t(y.factor,0),units:t(y.units,0)},this.scissorTest={enabled:t(g.enabled,!1),rectangle:n.clone(_)},this.depthRange={near:t(w.near,0),far:t(w.far,1)},this.depthTest={enabled:t(C.enabled,!1),func:t(C.func,l.LESS)},this.colorMask={red:t(x.red,!0),green:t(x.green,!0),blue:t(x.blue,!0),alpha:t(x.alpha,!0)},this.depthMask=t(f.depthMask,!0),this.stencilMask=t(f.stencilMask,-1),this.blending={enabled:t(S.enabled,!1),color:new e(t(E.red,0),t(E.green,0),t(E.blue,0),t(E.alpha,0)),equationRgb:t(S.equationRgb,u.ADD),equationAlpha:t(S.equationAlpha,u.ADD),functionSourceRgb:t(S.functionSourceRgb,c.ONE),functionSourceAlpha:t(S.functionSourceAlpha,c.ONE),functionDestinationRgb:t(S.functionDestinationRgb,c.ZERO),functionDestinationAlpha:t(S.functionDestinationAlpha,c.ZERO)},this.stencilTest={enabled:t(b.enabled,!1),frontFunction:t(b.frontFunction,h.ALWAYS),backFunction:t(b.backFunction,h.ALWAYS),reference:t(b.reference,0),mask:t(b.mask,-1),frontOperation:{fail:t(T.fail,d.KEEP),zFail:t(T.zFail,d.KEEP),zPass:t(T.zPass,d.KEEP)},backOperation:{fail:t(A.fail,d.KEEP),zFail:t(A.zFail,d.KEEP),zPass:t(A.zPass,d.KEEP)}},this.sampleCoverage={enabled:t(D.enabled,!1),value:t(D.value,1),invert:t(D.invert,!1)},this.dither=t(f.dither,!0),this.viewport=r(P)?new n(P.x,P.y,r(P.width)?P.width:m.getDrawingBufferWidth(),r(P.height)?P.height:m.getDrawingBufferHeight()):void 0,!a.validate(this.frontFace))throw new i("Invalid renderState.frontFace.");if(!s.validate(this.cull.face))throw new i("Invalid renderState.cull.face.");if(this.lineWidthm.getMaximumAliasedLineWidth())throw new o("renderState.lineWidth is out of range. Check getMinimumAliasedLineWidth() and getMaximumAliasedLineWidth().");if(this.scissorTest.rectangle.width<0||this.scissorTest.rectangle.height<0)throw new i("renderState.scissorTest.rectangle.width and renderState.scissorTest.rectangle.height must be greater than or equal to zero.");if(this.depthRange.near>this.depthRange.far)throw new i("renderState.depthRange.near can not be greater than renderState.depthRange.far.");if(this.depthRange.near<0)throw new i("renderState.depthRange.near must be greater than or equal to zero.");if(this.depthRange.far>1)throw new i("renderState.depthRange.far must be less than or equal to one.");if(!l.validate(this.depthTest.func))throw new i("Invalid renderState.depthTest.func.");if(this.blending.color.red<0||this.blending.color.red>1||this.blending.color.green<0||this.blending.color.green>1||this.blending.color.blue<0||this.blending.color.blue>1||this.blending.color.alpha<0||this.blending.color.alpha>1)throw new i("renderState.blending.color components must be greater than or equal to zero and less than or equal to one.");if(!u.validate(this.blending.equationRgb))throw new i("Invalid renderState.blending.equationRgb.");if(!u.validate(this.blending.equationAlpha))throw new i("Invalid renderState.blending.equationAlpha.");if(!c.validate(this.blending.functionSourceRgb))throw new i("Invalid renderState.blending.functionSourceRgb.");if(!c.validate(this.blending.functionSourceAlpha))throw new i("Invalid renderState.blending.functionSourceAlpha.");if(!c.validate(this.blending.functionDestinationRgb))throw new i("Invalid renderState.blending.functionDestinationRgb.");if(!c.validate(this.blending.functionDestinationAlpha))throw new i("Invalid renderState.blending.functionDestinationAlpha.");if(!h.validate(this.stencilTest.frontFunction))throw new i("Invalid renderState.stencilTest.frontFunction.");if(!h.validate(this.stencilTest.backFunction))throw new i("Invalid renderState.stencilTest.backFunction.");if(!d.validate(this.stencilTest.frontOperation.fail))throw new i("Invalid renderState.stencilTest.frontOperation.fail.");if(!d.validate(this.stencilTest.frontOperation.zFail))throw new i("Invalid renderState.stencilTest.frontOperation.zFail.");if(!d.validate(this.stencilTest.frontOperation.zPass))throw new i("Invalid renderState.stencilTest.frontOperation.zPass.");if(!d.validate(this.stencilTest.backOperation.fail))throw new i("Invalid renderState.stencilTest.backOperation.fail.");if(!d.validate(this.stencilTest.backOperation.zFail))throw new i("Invalid renderState.stencilTest.backOperation.zFail.");if(!d.validate(this.stencilTest.backOperation.zPass))throw new i("Invalid renderState.stencilTest.backOperation.zPass.");if(r(this.viewport)){if(this.viewport.width<0)throw new i("renderState.viewport.width must be greater than or equal to zero.");if(this.viewport.width>m.getMaximumViewportWidth())throw new o("renderState.viewport.width must be less than or equal to the maximum viewport width ("+this.getMaximumViewportWidth().toString()+"). Check getMaximumViewportWidth().");if(this.viewport.height<0)throw new i("renderState.viewport.height must be greater than or equal to zero.");if(this.viewport.height>m.getMaximumViewportHeight())throw new o("renderState.viewport.height must be less than or equal to the maximum viewport height ("+this.getMaximumViewportHeight().toString()+"). Check getMaximumViewportHeight().")}this.id=0,this._applyFunctions=[]},I=new n;return M.apply=function(e,t,r){p(e,t),f(e,t),v(e,t),y(e,t),g(e,t,r),_(e,t),w(e,t),C(e,t),x(e,t),S(e,t),E(e,t,r),b(e,t),T(e,t),A(e,t),D(e,t,r)},M.partialApply=function(e,t,i,n){var o=i._applyFunctions[t.id];r(o)||(o=P(t,i),i._applyFunctions[t.id]=o);for(var a=o.length,s=0;a>s;++s)o[s](e,i,n)},M}),r("Renderer/ShaderCache",["../Core/defined","../Core/destroyObject"],function(e,t){"use strict";var r=function(e){this._context=e,this._shaders={},this._shadersToRelease={}};return r.prototype.replaceShaderProgram=function(t,r,i,n){return e(t)&&t.release(),this.getShaderProgram(r,i,n)},r.prototype.getShaderProgram=function(e,t,r){var i,n=e+t+JSON.stringify(r);if(this._shaders[n])i=this._shaders[n],delete this._shadersToRelease[n];else{var o=this._context.createShaderProgram(e,t,r);i={cache:this,shaderProgram:o,keyword:n,count:0},o._cachedShader=i,this._shaders[n]=i}return++i.count,i.shaderProgram},r.prototype.destroyReleasedShaderPrograms=function(){var e=this._shadersToRelease;for(var t in e)if(e.hasOwnProperty(t)){var r=e[t];delete this._shaders[r.keyword],r.shaderProgram.destroy()}this._shadersToRelease={}},r.prototype.releaseShaderProgram=function(e){if(e){var t=e._cachedShader;t&&0===--t.count&&(this._shadersToRelease[t.keyword]=t)}return void 0},r.prototype.isDestroyed=function(){return!1},r.prototype.destroy=function(){var e=this._shaders;for(var r in e)e.hasOwnProperty(r)&&e[r].shaderProgram.destroy();return t(this)},r}),r("Shaders/Builtin/Constants/degreesPerRadian",[],function(){"use strict";return"const float czm_degreesPerRadian = 57.29577951308232;\n"}),r("Shaders/Builtin/Constants/epsilon1",[],function(){"use strict";return"const float czm_epsilon1 = 0.1;\n"}),r("Shaders/Builtin/Constants/epsilon2",[],function(){"use strict";return"const float czm_epsilon2 = 0.01;\n"}),r("Shaders/Builtin/Constants/epsilon3",[],function(){"use strict";return"const float czm_epsilon3 = 0.001;\n"}),r("Shaders/Builtin/Constants/epsilon4",[],function(){"use strict";return"const float czm_epsilon4 = 0.0001;\n"}),r("Shaders/Builtin/Constants/epsilon5",[],function(){"use strict";return"const float czm_epsilon5 = 0.00001;\n"}),r("Shaders/Builtin/Constants/epsilon6",[],function(){"use strict";return"const float czm_epsilon6 = 0.000001;\n"}),r("Shaders/Builtin/Constants/epsilon7",[],function(){"use strict";return"const float czm_epsilon7 = 0.0000001;\n"}),r("Shaders/Builtin/Constants/infinity",[],function(){"use strict";return"const float czm_infinity = 5906376272000.0;\n"}),r("Shaders/Builtin/Constants/oneOverPi",[],function(){"use strict";return"const float czm_oneOverPi = 0.3183098861837907;\n"}),r("Shaders/Builtin/Constants/oneOverTwoPi",[],function(){"use strict";return"const float czm_oneOverTwoPi = 0.15915494309189535;\n"}),r("Shaders/Builtin/Constants/pi",[],function(){"use strict";return"const float czm_pi = 3.141592653589793;\n"}),r("Shaders/Builtin/Constants/piOverFour",[],function(){"use strict";return"const float czm_piOverFour = 0.7853981633974483;\n"}),r("Shaders/Builtin/Constants/piOverSix",[],function(){"use strict";return"const float czm_piOverSix = 0.5235987755982988;\n"}),r("Shaders/Builtin/Constants/piOverThree",[],function(){"use strict";return"const float czm_piOverThree = 1.0471975511965976;\n"}),r("Shaders/Builtin/Constants/piOverTwo",[],function(){"use strict";return"const float czm_piOverTwo = 1.5707963267948966;\n"}),r("Shaders/Builtin/Constants/radiansPerDegree",[],function(){"use strict";return"const float czm_radiansPerDegree = 0.017453292519943295;\n" -}),r("Shaders/Builtin/Constants/sceneMode2D",[],function(){"use strict";return"const float czm_sceneMode2D = 0.0;\n"}),r("Shaders/Builtin/Constants/sceneMode3D",[],function(){"use strict";return"const float czm_sceneMode3D = 2.0;\n"}),r("Shaders/Builtin/Constants/sceneModeColumbusView",[],function(){"use strict";return"const float czm_sceneModeColumbusView = 1.0;\n"}),r("Shaders/Builtin/Constants/sceneModeMorphing",[],function(){"use strict";return"const float czm_sceneModeMorphing = 3.0;\n"}),r("Shaders/Builtin/Constants/solarRadius",[],function(){"use strict";return"const float czm_solarRadius = 695500000.0;\n"}),r("Shaders/Builtin/Constants/threePiOver2",[],function(){"use strict";return"const float czm_threePiOver2 = 4.71238898038469;\n"}),r("Shaders/Builtin/Constants/twoPi",[],function(){"use strict";return"const float czm_twoPi = 6.283185307179586;\n"}),r("Shaders/Builtin/Constants/webMercatorMaxLatitude",[],function(){"use strict";return"const float czm_webMercatorMaxLatitude = 1.4844222297453324;\n"}),r("Shaders/Builtin/Structs/ellipsoid",[],function(){"use strict";return"struct czm_ellipsoid\n{\nvec3 center;\nvec3 radii;\nvec3 inverseRadii;\nvec3 inverseRadiiSquared;\n};\n"}),r("Shaders/Builtin/Structs/material",[],function(){"use strict";return"struct czm_material\n{\nvec3 diffuse;\nfloat specular;\nfloat shininess;\nvec3 normal;\nvec3 emission;\nfloat alpha;\n};\n"}),r("Shaders/Builtin/Structs/materialInput",[],function(){"use strict";return"struct czm_materialInput\n{\nfloat s;\nvec2 st;\nvec3 str;\nvec3 normalEC;\nmat3 tangentToEyeMatrix;\nvec3 positionToEyeEC;\n};\n"}),r("Shaders/Builtin/Structs/ray",[],function(){"use strict";return"struct czm_ray\n{\nvec3 origin;\nvec3 direction;\n};\n"}),r("Shaders/Builtin/Structs/raySegment",[],function(){"use strict";return"struct czm_raySegment\n{\nfloat start;\nfloat stop;\n};\nconst czm_raySegment czm_emptyRaySegment = czm_raySegment(-czm_infinity, -czm_infinity);\nconst czm_raySegment czm_fullRaySegment = czm_raySegment(0.0, czm_infinity);\n"}),r("Shaders/Builtin/Functions/RGBToXYZ",[],function(){"use strict";return"vec3 czm_RGBToXYZ(vec3 rgb)\n{\nconst mat3 RGB2XYZ = mat3(0.4124, 0.2126, 0.0193,\n0.3576, 0.7152, 0.1192,\n0.1805, 0.0722, 0.9505);\nvec3 xyz = RGB2XYZ * rgb;\nvec3 Yxy;\nYxy.r = xyz.g;\nfloat temp = dot(vec3(1.0), xyz);\nYxy.gb = xyz.rg / temp;\nreturn Yxy;\n}\n"}),r("Shaders/Builtin/Functions/XYZToRGB",[],function(){"use strict";return"vec3 czm_XYZToRGB(vec3 Yxy)\n{\nconst mat3 XYZ2RGB = mat3( 3.2405, -0.9693, 0.0556,\n-1.5371, 1.8760, -0.2040,\n-0.4985, 0.0416, 1.0572);\nvec3 xyz;\nxyz.r = Yxy.r * Yxy.g / Yxy.b;\nxyz.g = Yxy.r;\nxyz.b = Yxy.r * (1.0 - Yxy.g - Yxy.b) / Yxy.b;\nreturn XYZ2RGB * xyz;\n}\n"}),r("Shaders/Builtin/Functions/antialias",[],function(){"use strict";return"vec4 czm_antialias(vec4 color1, vec4 color2, vec4 currentColor, float dist, float fuzzFactor)\n{\nfloat val1 = clamp(dist / fuzzFactor, 0.0, 1.0);\nfloat val2 = clamp((dist - 0.5) / fuzzFactor, 0.0, 1.0);\nval1 = val1 * (1.0 - val2);\nval1 = val1 * val1 * (3.0 - (2.0 * val1));\nval1 = pow(val1, 0.5);\nvec4 midColor = (color1 + color2) * 0.5;\nreturn mix(midColor, currentColor, val1);\n}\nvec4 czm_antialias(vec4 color1, vec4 color2, vec4 currentColor, float dist)\n{\nreturn czm_antialias(color1, color2, currentColor, dist, 0.1);\n}\n"}),r("Shaders/Builtin/Functions/cellular",[],function(){"use strict";return"vec3 _czm_permute289(vec3 x)\n{\nreturn mod((34.0 * x + 1.0) * x, 289.0);\n}\nvec2 czm_cellular(vec2 P)\n{\n#define K 0.142857142857\n#define Ko 0.428571428571\n#define jitter 1.0\nvec2 Pi = mod(floor(P), 289.0);\nvec2 Pf = fract(P);\nvec3 oi = vec3(-1.0, 0.0, 1.0);\nvec3 of = vec3(-0.5, 0.5, 1.5);\nvec3 px = _czm_permute289(Pi.x + oi);\nvec3 p = _czm_permute289(px.x + Pi.y + oi);\nvec3 ox = fract(p*K) - Ko;\nvec3 oy = mod(floor(p*K),7.0)*K - Ko;\nvec3 dx = Pf.x + 0.5 + jitter*ox;\nvec3 dy = Pf.y - of + jitter*oy;\nvec3 d1 = dx * dx + dy * dy;\np = _czm_permute289(px.y + Pi.y + oi);\nox = fract(p*K) - Ko;\noy = mod(floor(p*K),7.0)*K - Ko;\ndx = Pf.x - 0.5 + jitter*ox;\ndy = Pf.y - of + jitter*oy;\nvec3 d2 = dx * dx + dy * dy;\np = _czm_permute289(px.z + Pi.y + oi);\nox = fract(p*K) - Ko;\noy = mod(floor(p*K),7.0)*K - Ko;\ndx = Pf.x - 1.5 + jitter*ox;\ndy = Pf.y - of + jitter*oy;\nvec3 d3 = dx * dx + dy * dy;\nvec3 d1a = min(d1, d2);\nd2 = max(d1, d2);\nd2 = min(d2, d3);\nd1 = min(d1a, d2);\nd2 = max(d1a, d2);\nd1.xy = (d1.x < d1.y) ? d1.xy : d1.yx;\nd1.xz = (d1.x < d1.z) ? d1.xz : d1.zx;\nd1.yz = min(d1.yz, d2.yz);\nd1.y = min(d1.y, d1.z);\nd1.y = min(d1.y, d2.x);\nreturn sqrt(d1.xy);\n}\n"}),r("Shaders/Builtin/Functions/columbusViewMorph",[],function(){"use strict";return"vec4 czm_columbusViewMorph(vec4 position2D, vec4 position3D, float time)\n{\nvec3 p = mix(position2D.xyz, position3D.xyz, time);\nreturn vec4(p, 1.0);\n}\n"}),r("Shaders/Builtin/Functions/computePosition",[],function(){"use strict";return"vec4 czm_computePosition();\n"}),r("Shaders/Builtin/Functions/eastNorthUpToEyeCoordinates",[],function(){"use strict";return"mat3 czm_eastNorthUpToEyeCoordinates(vec3 positionMC, vec3 normalEC)\n{\nvec3 tangentMC = normalize(vec3(-positionMC.y, positionMC.x, 0.0));\nvec3 tangentEC = normalize(czm_normal3D * tangentMC);\nvec3 bitangentEC = normalize(cross(normalEC, tangentEC));\nreturn mat3(\ntangentEC.x, tangentEC.y, tangentEC.z,\nbitangentEC.x, bitangentEC.y, bitangentEC.z,\nnormalEC.x, normalEC.y, normalEC.z);\n}\n"}),r("Shaders/Builtin/Functions/ellipsoidContainsPoint",[],function(){"use strict";return"bool czm_ellipsoidContainsPoint(czm_ellipsoid ellipsoid, vec3 point)\n{\nvec3 scaled = ellipsoid.inverseRadii * (czm_inverseModelView * vec4(point, 1.0)).xyz;\nreturn (dot(scaled, scaled) <= 1.0);\n}\n"}),r("Shaders/Builtin/Functions/ellipsoidNew",[],function(){"use strict";return"czm_ellipsoid czm_ellipsoidNew(vec3 center, vec3 radii)\n{\nvec3 inverseRadii = vec3(1.0 / radii.x, 1.0 / radii.y, 1.0 / radii.z);\nvec3 inverseRadiiSquared = inverseRadii * inverseRadii;\nczm_ellipsoid temp = czm_ellipsoid(center, radii, inverseRadii, inverseRadiiSquared);\nreturn temp;\n}\n"}),r("Shaders/Builtin/Functions/ellipsoidWgs84TextureCoordinates",[],function(){"use strict";return"vec2 czm_ellipsoidWgs84TextureCoordinates(vec3 normal)\n{\nreturn vec2(atan(normal.y, normal.x) * czm_oneOverTwoPi + 0.5, asin(normal.z) * czm_oneOverPi + 0.5);\n}\n"}),r("Shaders/Builtin/Functions/equalsEpsilon",[],function(){"use strict";return"bool czm_equalsEpsilon(vec4 left, vec4 right, float epsilon) {\nreturn all(lessThanEqual(abs(left - right), vec4(epsilon)));\n}\nbool czm_equalsEpsilon(vec3 left, vec3 right, float epsilon) {\nreturn all(lessThanEqual(abs(left - right), vec3(epsilon)));\n}\nbool czm_equalsEpsilon(vec2 left, vec2 right, float epsilon) {\nreturn all(lessThanEqual(abs(left - right), vec2(epsilon)));\n}\nbool czm_equalsEpsilon(float left, float right, float epsilon) {\nreturn (abs(left - right) <= epsilon);\n}\n"}),r("Shaders/Builtin/Functions/eyeOffset",[],function(){"use strict";return"vec4 czm_eyeOffset(vec4 positionEC, vec3 eyeOffset)\n{\nvec4 p = positionEC;\nvec4 zEyeOffset = normalize(p) * eyeOffset.z;\np.xy += eyeOffset.xy + zEyeOffset.xy;\np.z += zEyeOffset.z;\nreturn p;\n}\n"}),r("Shaders/Builtin/Functions/eyeToWindowCoordinates",[],function(){"use strict";return"vec4 czm_eyeToWindowCoordinates(vec4 positionEC)\n{\nvec4 q = czm_projection * positionEC;\nq.xyz /= q.w;\nq.xyz = (czm_viewportTransformation * vec4(q.xyz, 1.0)).xyz;\nreturn q;\n}\n"}),r("Shaders/Builtin/Functions/geodeticSurfaceNormal",[],function(){"use strict";return"vec3 czm_geodeticSurfaceNormal(vec3 positionOnEllipsoid, vec3 ellipsoidCenter, vec3 oneOverEllipsoidRadiiSquared)\n{\nreturn normalize((positionOnEllipsoid - ellipsoidCenter) * oneOverEllipsoidRadiiSquared);\n}\n"}),r("Shaders/Builtin/Functions/getDefaultMaterial",[],function(){"use strict";return"czm_material czm_getDefaultMaterial(czm_materialInput materialInput)\n{\nczm_material material;\nmaterial.diffuse = vec3(0.0);\nmaterial.specular = 0.0;\nmaterial.shininess = 1.0;\nmaterial.normal = materialInput.normalEC;\nmaterial.emission = vec3(0.0);\nmaterial.alpha = 1.0;\nreturn material;\n}\n"}),r("Shaders/Builtin/Functions/getLambertDiffuse",[],function(){"use strict";return"float czm_getLambertDiffuse(vec3 lightDirectionEC, vec3 normalEC)\n{\nreturn max(dot(lightDirectionEC, normalEC), 0.0);\n}\n"}),r("Shaders/Builtin/Functions/getSpecular",[],function(){"use strict";return"float czm_getSpecular(vec3 lightDirectionEC, vec3 toEyeEC, vec3 normalEC, float shininess)\n{\nvec3 toReflectedLight = reflect(-lightDirectionEC, normalEC);\nfloat specular = max(dot(toReflectedLight, toEyeEC), 0.0);\nreturn pow(specular, shininess);\n}\n"}),r("Shaders/Builtin/Functions/getWaterNoise",[],function(){"use strict";return"vec4 czm_getWaterNoise(sampler2D normalMap, vec2 uv, float time, float angleInRadians)\n{\nfloat cosAngle = cos(angleInRadians);\nfloat sinAngle = sin(angleInRadians);\nvec2 s0 = vec2(1.0/17.0, 0.0);\nvec2 s1 = vec2(-1.0/29.0, 0.0);\nvec2 s2 = vec2(1.0/101.0, 1.0/59.0);\nvec2 s3 = vec2(-1.0/109.0, -1.0/57.0);\ns0 = vec2((cosAngle * s0.x) - (sinAngle * s0.y), (sinAngle * s0.x) + (cosAngle * s0.y));\ns1 = vec2((cosAngle * s1.x) - (sinAngle * s1.y), (sinAngle * s1.x) + (cosAngle * s1.y));\ns2 = vec2((cosAngle * s2.x) - (sinAngle * s2.y), (sinAngle * s2.x) + (cosAngle * s2.y));\ns3 = vec2((cosAngle * s3.x) - (sinAngle * s3.y), (sinAngle * s3.x) + (cosAngle * s3.y));\nvec2 uv0 = (uv/103.0) + (time * s0);\nvec2 uv1 = uv/107.0 + (time * s1) + vec2(0.23);\nvec2 uv2 = uv/vec2(897.0, 983.0) + (time * s2) + vec2(0.51);\nvec2 uv3 = uv/vec2(991.0, 877.0) + (time * s3) + vec2(0.71);\nuv0 = fract(uv0);\nuv1 = fract(uv1);\nuv2 = fract(uv2);\nuv3 = fract(uv3);\nvec4 noise = (texture2D(normalMap, uv0)) +\n(texture2D(normalMap, uv1)) +\n(texture2D(normalMap, uv2)) +\n(texture2D(normalMap, uv3));\nreturn ((noise / 4.0) - 0.5) * 2.0;\n}\n"}),r("Shaders/Builtin/Functions/getWgs84EllipsoidEC",[],function(){"use strict";return"czm_ellipsoid czm_getWgs84EllipsoidEC()\n{\nvec3 radii = vec3(6378137.0, 6378137.0, 6356752.314245);\nvec3 inverseRadii = vec3(1.0 / radii.x, 1.0 / radii.y, 1.0 / radii.z);\nvec3 inverseRadiiSquared = inverseRadii * inverseRadii;\nczm_ellipsoid temp = czm_ellipsoid(czm_view[3].xyz, radii, inverseRadii, inverseRadiiSquared);\nreturn temp;\n}\n"}),r("Shaders/Builtin/Functions/hue",[],function(){"use strict";return"vec3 czm_hue(vec3 rgb, float adjustment)\n{\nconst mat3 toYIQ = mat3(0.299, 0.587, 0.114,\n0.595716, -0.274453, -0.321263,\n0.211456, -0.522591, 0.311135);\nconst mat3 toRGB = mat3(1.0, 0.9563, 0.6210,\n1.0, -0.2721, -0.6474,\n1.0, -1.107, 1.7046);\nvec3 yiq = toYIQ * rgb;\nfloat hue = atan(yiq.z, yiq.y) + adjustment;\nfloat chroma = sqrt(yiq.z * yiq.z + yiq.y * yiq.y);\nvec3 color = vec3(yiq.x, chroma * cos(hue), chroma * sin(hue));\nreturn toRGB * color;\n}\n"}),r("Shaders/Builtin/Functions/isEmpty",[],function(){"use strict";return"bool czm_isEmpty(czm_raySegment interval)\n{\nreturn (interval.stop < 0.0);\n}\n"}),r("Shaders/Builtin/Functions/isFull",[],function(){"use strict";return"bool czm_isFull(czm_raySegment interval)\n{\nreturn (interval.start == 0.0 && interval.stop == czm_infinity);\n}\n"}),r("Shaders/Builtin/Functions/latitudeToWebMercatorFraction",[],function(){"use strict";return"float czm_latitudeToWebMercatorFraction(float latitude, float southMercatorYLow, float southMercatorYHigh, float oneOverMercatorHeight)\n{\nfloat sinLatitude = sin(latitude);\nfloat mercatorY = 0.5 * log((1.0 + sinLatitude) / (1.0 - sinLatitude));\nfloat t1 = 0.0 - southMercatorYLow;\nfloat e = t1 - 0.0;\nfloat t2 = ((-southMercatorYLow - e) + (0.0 - (t1 - e))) + mercatorY - southMercatorYHigh;\nfloat highDifference = t1 + t2;\nfloat lowDifference = t2 - (highDifference - t1);\nreturn highDifference * oneOverMercatorHeight + lowDifference * oneOverMercatorHeight;\n}\n"}),r("Shaders/Builtin/Functions/luminance",[],function(){"use strict";return"float czm_luminance(vec3 rgb)\n{\nconst vec3 W = vec3(0.2125, 0.7154, 0.0721);\nreturn dot(rgb, W);\n}\n"}),r("Shaders/Builtin/Functions/modelToWindowCoordinates",[],function(){"use strict";return"vec4 czm_modelToWindowCoordinates(vec4 position)\n{\nvec4 q = czm_modelViewProjection * position;\nq.xyz /= q.w;\nq.xyz = (czm_viewportTransformation * vec4(q.xyz, 1.0)).xyz;\nreturn q;\n}\n"}),r("Shaders/Builtin/Functions/multiplyWithColorBalance",[],function(){"use strict";return"vec3 czm_multiplyWithColorBalance(vec3 left, vec3 right)\n{\nconst vec3 W = vec3(0.2125, 0.7154, 0.0721);\nvec3 target = left * right;\nfloat leftLuminance = dot(left, W);\nfloat rightLuminance = dot(right, W);\nfloat targetLuminance = dot(target, W);\nreturn ((leftLuminance + rightLuminance) / (2.0 * targetLuminance)) * target;\n}\n"}),r("Shaders/Builtin/Functions/phong",[],function(){"use strict";return"float czm_private_getLambertDiffuseOfMaterial(vec3 lightDirectionEC, czm_material material)\n{\nreturn czm_getLambertDiffuse(lightDirectionEC, material.normal);\n}\nfloat czm_private_getSpecularOfMaterial(vec3 lightDirectionEC, vec3 toEyeEC, czm_material material)\n{\nreturn czm_getSpecular(lightDirectionEC, toEyeEC, material.normal, material.shininess);\n}\nvec4 czm_phong(vec3 toEye, czm_material material)\n{\nfloat diffuse = czm_private_getLambertDiffuseOfMaterial(vec3(0.0, 0.0, 1.0), material) + czm_private_getLambertDiffuseOfMaterial(vec3(0.0, 1.0, 0.0), material);\nfloat specular = czm_private_getSpecularOfMaterial(czm_sunDirectionEC, toEye, material) + czm_private_getSpecularOfMaterial(czm_moonDirectionEC, toEye, material);\nvec3 ambient = vec3(0.0);\nvec3 color = ambient + material.emission;\ncolor += material.diffuse * diffuse;\ncolor += material.specular * specular;\nreturn vec4(color, material.alpha);\n}\nvec4 czm_private_phong(vec3 toEye, czm_material material)\n{\nfloat diffuse = czm_private_getLambertDiffuseOfMaterial(czm_sunDirectionEC, material);\nfloat specular = czm_private_getSpecularOfMaterial(czm_sunDirectionEC, toEye, material);\nvec3 ambient = vec3(0.0);\nvec3 color = ambient + material.emission;\ncolor += material.diffuse * diffuse;\ncolor += material.specular * specular;\nreturn vec4(color, material.alpha);\n}\n"}),r("Shaders/Builtin/Functions/pointAlongRay",[],function(){"use strict";return"vec3 czm_pointAlongRay(czm_ray ray, float time)\n{\nreturn ray.origin + (time * ray.direction);\n}\n"}),r("Shaders/Builtin/Functions/rayEllipsoidIntersectionInterval",[],function(){"use strict";return"czm_raySegment czm_rayEllipsoidIntersectionInterval(czm_ray ray, czm_ellipsoid ellipsoid)\n{\nvec3 q = ellipsoid.inverseRadii * (czm_inverseModelView * vec4(ray.origin, 1.0)).xyz;\nvec3 w = ellipsoid.inverseRadii * (czm_inverseModelView * vec4(ray.direction, 0.0)).xyz;\nq = q - ellipsoid.inverseRadii * (czm_inverseModelView * vec4(ellipsoid.center, 1.0)).xyz;\nfloat q2 = dot(q, q);\nfloat qw = dot(q, w);\nif (q2 > 1.0)\n{\nif (qw >= 0.0)\n{\nreturn czm_emptyRaySegment;\n}\nelse\n{\nfloat qw2 = qw * qw;\nfloat difference = q2 - 1.0;\nfloat w2 = dot(w, w);\nfloat product = w2 * difference;\nif (qw2 < product)\n{\nreturn czm_emptyRaySegment;\n}\nelse if (qw2 > product)\n{\nfloat discriminant = qw * qw - product;\nfloat temp = -qw + sqrt(discriminant);\nfloat root0 = temp / w2;\nfloat root1 = difference / temp;\nif (root0 < root1)\n{\nczm_raySegment i = czm_raySegment(root0, root1);\nreturn i;\n}\nelse\n{\nczm_raySegment i = czm_raySegment(root1, root0);\nreturn i;\n}\n}\nelse\n{\nfloat root = sqrt(difference / w2);\nczm_raySegment i = czm_raySegment(root, root);\nreturn i;\n}\n}\n}\nelse if (q2 < 1.0)\n{\nfloat difference = q2 - 1.0;\nfloat w2 = dot(w, w);\nfloat product = w2 * difference;\nfloat discriminant = qw * qw - product;\nfloat temp = -qw + sqrt(discriminant);\nczm_raySegment i = czm_raySegment(0.0, temp / w2);\nreturn i;\n}\nelse\n{\nif (qw < 0.0)\n{\nfloat w2 = dot(w, w);\nczm_raySegment i = czm_raySegment(0.0, -qw / w2);\nreturn i;\n}\nelse\n{\nreturn czm_emptyRaySegment;\n}\n}\n}\n"}),r("Shaders/Builtin/Functions/saturation",[],function(){"use strict";return"vec3 czm_saturation(vec3 rgb, float adjustment)\n{\nconst vec3 W = vec3(0.2125, 0.7154, 0.0721);\nvec3 intensity = vec3(dot(rgb, W));\nreturn mix(intensity, rgb, adjustment);\n}\n"}),r("Shaders/Builtin/Functions/snoise",[],function(){"use strict";return"vec4 _czm_mod289(vec4 x)\n{\nreturn x - floor(x * (1.0 / 289.0)) * 289.0;\n}\nvec3 _czm_mod289(vec3 x)\n{\nreturn x - floor(x * (1.0 / 289.0)) * 289.0;\n}\nvec2 _czm_mod289(vec2 x)\n{\nreturn x - floor(x * (1.0 / 289.0)) * 289.0;\n}\nfloat _czm_mod289(float x)\n{\nreturn x - floor(x * (1.0 / 289.0)) * 289.0;\n}\nvec4 _czm_permute(vec4 x)\n{\nreturn _czm_mod289(((x*34.0)+1.0)*x);\n}\nvec3 _czm_permute(vec3 x)\n{\nreturn _czm_mod289(((x*34.0)+1.0)*x);\n}\nfloat _czm_permute(float x)\n{\nreturn _czm_mod289(((x*34.0)+1.0)*x);\n}\nvec4 _czm_taylorInvSqrt(vec4 r)\n{\nreturn 1.79284291400159 - 0.85373472095314 * r;\n}\nfloat _czm_taylorInvSqrt(float r)\n{\nreturn 1.79284291400159 - 0.85373472095314 * r;\n}\nvec4 _czm_grad4(float j, vec4 ip)\n{\nconst vec4 ones = vec4(1.0, 1.0, 1.0, -1.0);\nvec4 p,s;\np.xyz = floor( fract (vec3(j) * ip.xyz) * 7.0) * ip.z - 1.0;\np.w = 1.5 - dot(abs(p.xyz), ones.xyz);\ns = vec4(lessThan(p, vec4(0.0)));\np.xyz = p.xyz + (s.xyz*2.0 - 1.0) * s.www;\nreturn p;\n}\nfloat czm_snoise(vec2 v)\n{\nconst vec4 C = vec4(0.211324865405187,\n0.366025403784439,\n-0.577350269189626,\n0.024390243902439);\nvec2 i = floor(v + dot(v, C.yy) );\nvec2 x0 = v - i + dot(i, C.xx);\nvec2 i1;\ni1 = (x0.x > x0.y) ? vec2(1.0, 0.0) : vec2(0.0, 1.0);\nvec4 x12 = x0.xyxy + C.xxzz;\nx12.xy -= i1;\ni = _czm_mod289(i);\nvec3 p = _czm_permute( _czm_permute( i.y + vec3(0.0, i1.y, 1.0 )) + i.x + vec3(0.0, i1.x, 1.0 ));\nvec3 m = max(0.5 - vec3(dot(x0,x0), dot(x12.xy,x12.xy), dot(x12.zw,x12.zw)), 0.0);\nm = m*m ;\nm = m*m ;\nvec3 x = 2.0 * fract(p * C.www) - 1.0;\nvec3 h = abs(x) - 0.5;\nvec3 ox = floor(x + 0.5);\nvec3 a0 = x - ox;\nm *= 1.79284291400159 - 0.85373472095314 * ( a0*a0 + h*h );\nvec3 g;\ng.x = a0.x * x0.x + h.x * x0.y;\ng.yz = a0.yz * x12.xz + h.yz * x12.yw;\nreturn 130.0 * dot(m, g);\n}\nfloat czm_snoise(vec3 v)\n{\nconst vec2 C = vec2(1.0/6.0, 1.0/3.0) ;\nconst vec4 D = vec4(0.0, 0.5, 1.0, 2.0);\nvec3 i = floor(v + dot(v, C.yyy) );\nvec3 x0 = v - i + dot(i, C.xxx) ;\nvec3 g = step(x0.yzx, x0.xyz);\nvec3 l = 1.0 - g;\nvec3 i1 = min( g.xyz, l.zxy );\nvec3 i2 = max( g.xyz, l.zxy );\nvec3 x1 = x0 - i1 + C.xxx;\nvec3 x2 = x0 - i2 + C.yyy;\nvec3 x3 = x0 - D.yyy;\ni = _czm_mod289(i);\nvec4 p = _czm_permute( _czm_permute( _czm_permute(\ni.z + vec4(0.0, i1.z, i2.z, 1.0 ))\n+ i.y + vec4(0.0, i1.y, i2.y, 1.0 ))\n+ i.x + vec4(0.0, i1.x, i2.x, 1.0 ));\nfloat n_ = 0.142857142857;\nvec3 ns = n_ * D.wyz - D.xzx;\nvec4 j = p - 49.0 * floor(p * ns.z * ns.z);\nvec4 x_ = floor(j * ns.z);\nvec4 y_ = floor(j - 7.0 * x_ );\nvec4 x = x_ *ns.x + ns.yyyy;\nvec4 y = y_ *ns.x + ns.yyyy;\nvec4 h = 1.0 - abs(x) - abs(y);\nvec4 b0 = vec4( x.xy, y.xy );\nvec4 b1 = vec4( x.zw, y.zw );\nvec4 s0 = floor(b0)*2.0 + 1.0;\nvec4 s1 = floor(b1)*2.0 + 1.0;\nvec4 sh = -step(h, vec4(0.0));\nvec4 a0 = b0.xzyw + s0.xzyw*sh.xxyy ;\nvec4 a1 = b1.xzyw + s1.xzyw*sh.zzww ;\nvec3 p0 = vec3(a0.xy,h.x);\nvec3 p1 = vec3(a0.zw,h.y);\nvec3 p2 = vec3(a1.xy,h.z);\nvec3 p3 = vec3(a1.zw,h.w);\nvec4 norm = _czm_taylorInvSqrt(vec4(dot(p0,p0), dot(p1,p1), dot(p2, p2), dot(p3,p3)));\np0 *= norm.x;\np1 *= norm.y;\np2 *= norm.z;\np3 *= norm.w;\nvec4 m = max(0.6 - vec4(dot(x0,x0), dot(x1,x1), dot(x2,x2), dot(x3,x3)), 0.0);\nm = m * m;\nreturn 42.0 * dot( m*m, vec4( dot(p0,x0), dot(p1,x1),\ndot(p2,x2), dot(p3,x3) ) );\n}\nfloat czm_snoise(vec4 v)\n{\nconst vec4 C = vec4( 0.138196601125011,\n0.276393202250021,\n0.414589803375032,\n-0.447213595499958);\n#define F4 0.309016994374947451\nvec4 i = floor(v + dot(v, vec4(F4)) );\nvec4 x0 = v - i + dot(i, C.xxxx);\nvec4 i0;\nvec3 isX = step( x0.yzw, x0.xxx );\nvec3 isYZ = step( x0.zww, x0.yyz );\ni0.x = isX.x + isX.y + isX.z;\ni0.yzw = 1.0 - isX;\ni0.y += isYZ.x + isYZ.y;\ni0.zw += 1.0 - isYZ.xy;\ni0.z += isYZ.z;\ni0.w += 1.0 - isYZ.z;\nvec4 i3 = clamp( i0, 0.0, 1.0 );\nvec4 i2 = clamp( i0-1.0, 0.0, 1.0 );\nvec4 i1 = clamp( i0-2.0, 0.0, 1.0 );\nvec4 x1 = x0 - i1 + C.xxxx;\nvec4 x2 = x0 - i2 + C.yyyy;\nvec4 x3 = x0 - i3 + C.zzzz;\nvec4 x4 = x0 + C.wwww;\ni = _czm_mod289(i);\nfloat j0 = _czm_permute( _czm_permute( _czm_permute( _czm_permute(i.w) + i.z) + i.y) + i.x);\nvec4 j1 = _czm_permute( _czm_permute( _czm_permute( _czm_permute (\ni.w + vec4(i1.w, i2.w, i3.w, 1.0 ))\n+ i.z + vec4(i1.z, i2.z, i3.z, 1.0 ))\n+ i.y + vec4(i1.y, i2.y, i3.y, 1.0 ))\n+ i.x + vec4(i1.x, i2.x, i3.x, 1.0 ));\nvec4 ip = vec4(1.0/294.0, 1.0/49.0, 1.0/7.0, 0.0) ;\nvec4 p0 = _czm_grad4(j0, ip);\nvec4 p1 = _czm_grad4(j1.x, ip);\nvec4 p2 = _czm_grad4(j1.y, ip);\nvec4 p3 = _czm_grad4(j1.z, ip);\nvec4 p4 = _czm_grad4(j1.w, ip);\nvec4 norm = _czm_taylorInvSqrt(vec4(dot(p0,p0), dot(p1,p1), dot(p2, p2), dot(p3,p3)));\np0 *= norm.x;\np1 *= norm.y;\np2 *= norm.z;\np3 *= norm.w;\np4 *= _czm_taylorInvSqrt(dot(p4,p4));\nvec3 m0 = max(0.6 - vec3(dot(x0,x0), dot(x1,x1), dot(x2,x2)), 0.0);\nvec2 m1 = max(0.6 - vec2(dot(x3,x3), dot(x4,x4) ), 0.0);\nm0 = m0 * m0;\nm1 = m1 * m1;\nreturn 49.0 * ( dot(m0*m0, vec3( dot( p0, x0 ), dot( p1, x1 ), dot( p2, x2 )))\n+ dot(m1*m1, vec2( dot( p3, x3 ), dot( p4, x4 ) ) ) ) ;\n}\n"}),r("Shaders/Builtin/Functions/tangentToEyeSpaceMatrix",[],function(){"use strict";return"mat3 czm_tangentToEyeSpaceMatrix(vec3 normalEC, vec3 tangentEC, vec3 binormalEC)\n{\nvec3 normal = normalize(normalEC);\nvec3 tangent = normalize(tangentEC);\nvec3 binormal = normalize(binormalEC);\nreturn mat3(tangent.x, tangent.y, tangent.z,\nbinormal.x, binormal.y, binormal.z,\nnormal.x, normal.y, normal.z);\n}\n"}),r("Shaders/Builtin/Functions/translateRelativeToEye",[],function(){"use strict";return"vec4 czm_translateRelativeToEye(vec3 high, vec3 low)\n{\nvec3 highDifference = high - czm_encodedCameraPositionMCHigh;\nvec3 lowDifference = low - czm_encodedCameraPositionMCLow;\nreturn vec4(highDifference + lowDifference, 1.0);\n}\n"}),r("Shaders/Builtin/Functions/transpose",[],function(){"use strict";return"mat2 czm_transpose(mat2 matrix)\n{\nreturn mat2(\nmatrix[0][0], matrix[1][0],\nmatrix[0][1], matrix[1][1]);\n}\nmat3 czm_transpose(mat3 matrix)\n{\nreturn mat3(\nmatrix[0][0], matrix[1][0], matrix[2][0],\nmatrix[0][1], matrix[1][1], matrix[2][1],\nmatrix[0][2], matrix[1][2], matrix[2][2]);\n}\nmat4 czm_transpose(mat4 matrix)\n{\nreturn mat4(\nmatrix[0][0], matrix[1][0], matrix[2][0], matrix[3][0],\nmatrix[0][1], matrix[1][1], matrix[2][1], matrix[3][1],\nmatrix[0][2], matrix[1][2], matrix[2][2], matrix[3][2],\nmatrix[0][3], matrix[1][3], matrix[2][3], matrix[3][3]);\n}\n"}),r("Shaders/Builtin/Functions/windowToEyeCoordinates",[],function(){"use strict";return"vec4 czm_windowToEyeCoordinates(vec4 fragmentCoordinate)\n{\nfloat x = 2.0 * (fragmentCoordinate.x - czm_viewport.x) / czm_viewport.z - 1.0;\nfloat y = 2.0 * (fragmentCoordinate.y - czm_viewport.y) / czm_viewport.w - 1.0;\nfloat z = (fragmentCoordinate.z - czm_viewportTransformation[3][2]) / czm_viewportTransformation[2][2];\nvec4 q = vec4(x, y, z, 1.0);\nq /= fragmentCoordinate.w;\nq = czm_inverseProjection * q;\nreturn q;\n}\n"}),r("Shaders/Builtin/CzmBuiltins",["./Constants/degreesPerRadian","./Constants/epsilon1","./Constants/epsilon2","./Constants/epsilon3","./Constants/epsilon4","./Constants/epsilon5","./Constants/epsilon6","./Constants/epsilon7","./Constants/infinity","./Constants/oneOverPi","./Constants/oneOverTwoPi","./Constants/pi","./Constants/piOverFour","./Constants/piOverSix","./Constants/piOverThree","./Constants/piOverTwo","./Constants/radiansPerDegree","./Constants/sceneMode2D","./Constants/sceneMode3D","./Constants/sceneModeColumbusView","./Constants/sceneModeMorphing","./Constants/solarRadius","./Constants/threePiOver2","./Constants/twoPi","./Constants/webMercatorMaxLatitude","./Structs/ellipsoid","./Structs/material","./Structs/materialInput","./Structs/ray","./Structs/raySegment","./Functions/RGBToXYZ","./Functions/XYZToRGB","./Functions/antialias","./Functions/cellular","./Functions/columbusViewMorph","./Functions/computePosition","./Functions/eastNorthUpToEyeCoordinates","./Functions/ellipsoidContainsPoint","./Functions/ellipsoidNew","./Functions/ellipsoidWgs84TextureCoordinates","./Functions/equalsEpsilon","./Functions/eyeOffset","./Functions/eyeToWindowCoordinates","./Functions/geodeticSurfaceNormal","./Functions/getDefaultMaterial","./Functions/getLambertDiffuse","./Functions/getSpecular","./Functions/getWaterNoise","./Functions/getWgs84EllipsoidEC","./Functions/hue","./Functions/isEmpty","./Functions/isFull","./Functions/latitudeToWebMercatorFraction","./Functions/luminance","./Functions/modelToWindowCoordinates","./Functions/multiplyWithColorBalance","./Functions/phong","./Functions/pointAlongRay","./Functions/rayEllipsoidIntersectionInterval","./Functions/saturation","./Functions/snoise","./Functions/tangentToEyeSpaceMatrix","./Functions/translateRelativeToEye","./Functions/transpose","./Functions/windowToEyeCoordinates"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f,v,y,g,_,w,C,x,S,E,b,T,A,D,P,M,I,O,R,L,z,N,B,F,V,k,U,W,q,G,H,j,Y,X,Z,J,K,Q,$,et,tt,rt,it,nt,ot,at,st,lt,ut,ct){"use strict";return{czm_degreesPerRadian:e,czm_epsilon1:t,czm_epsilon2:r,czm_epsilon3:i,czm_epsilon4:n,czm_epsilon5:o,czm_epsilon6:a,czm_epsilon7:s,czm_infinity:l,czm_oneOverPi:u,czm_oneOverTwoPi:c,czm_pi:h,czm_piOverFour:d,czm_piOverSix:m,czm_piOverThree:p,czm_piOverTwo:f,czm_radiansPerDegree:v,czm_sceneMode2D:y,czm_sceneMode3D:g,czm_sceneModeColumbusView:_,czm_sceneModeMorphing:w,czm_solarRadius:C,czm_threePiOver2:x,czm_twoPi:S,czm_webMercatorMaxLatitude:E,czm_ellipsoid:b,czm_material:T,czm_materialInput:A,czm_ray:D,czm_raySegment:P,czm_RGBToXYZ:M,czm_XYZToRGB:I,czm_antialias:O,czm_cellular:R,czm_columbusViewMorph:L,czm_computePosition:z,czm_eastNorthUpToEyeCoordinates:N,czm_ellipsoidContainsPoint:B,czm_ellipsoidNew:F,czm_ellipsoidWgs84TextureCoordinates:V,czm_equalsEpsilon:k,czm_eyeOffset:U,czm_eyeToWindowCoordinates:W,czm_geodeticSurfaceNormal:q,czm_getDefaultMaterial:G,czm_getLambertDiffuse:H,czm_getSpecular:j,czm_getWaterNoise:Y,czm_getWgs84EllipsoidEC:X,czm_hue:Z,czm_isEmpty:J,czm_isFull:K,czm_latitudeToWebMercatorFraction:Q,czm_luminance:$,czm_modelToWindowCoordinates:et,czm_multiplyWithColorBalance:tt,czm_phong:rt,czm_pointAlongRay:it,czm_rayEllipsoidIntersectionInterval:nt,czm_saturation:ot,czm_snoise:at,czm_tangentToEyeSpaceMatrix:st,czm_translateRelativeToEye:lt,czm_transpose:ut,czm_windowToEyeCoordinates:ct}}),r("Renderer/ShaderProgram",["../Core/defined","../Core/DeveloperError","../Core/FeatureDetection","../Core/RuntimeError","../Core/destroyObject","../Core/Matrix2","../Core/Matrix3","../Core/Matrix4","./AutomaticUniforms","./UniformDatatype","../Shaders/Builtin/CzmBuiltins"],function(e,t,r,i,n,o,a,s,l,u,c){"use strict";function h(e,t){switch(t){case e.FLOAT:return function(){return u.FLOAT};case e.FLOAT_VEC2:return function(){return u.FLOAT_VEC2};case e.FLOAT_VEC3:return function(){return u.FLOAT_VEC3};case e.FLOAT_VEC4:return function(){return u.FLOAT_VEC4};case e.INT:return function(){return u.INT};case e.INT_VEC2:return function(){return u.INT_VEC2};case e.INT_VEC3:return function(){return u.INT_VEC3};case e.INT_VEC4:return function(){return u.INT_VEC4};case e.BOOL:return function(){return u.BOOL};case e.BOOL_VEC2:return function(){return u.BOOL_VEC2};case e.BOOL_VEC3:return function(){return u.BOOL_VEC3};case e.BOOL_VEC4:return function(){return u.BOOL_VEC4};case e.FLOAT_MAT2:return function(){return u.FLOAT_MAT2};case e.FLOAT_MAT3:return function(){return u.FLOAT_MAT3};case e.FLOAT_MAT4:return function(){return u.FLOAT_MAT4};case e.SAMPLER_2D:return function(){return u.SAMPLER_2D};case e.SAMPLER_CUBE:return function(){return u.SAMPLER_CUBE};default:throw new i("Unrecognized uniform type: "+t)}}function d(e,t,r){e.useProgram(t);for(var i=0,n=r.length,o=0;n>o;++o)i=r[o]._setSampler(i);return e.useProgram(null),i}function m(e){var t=e.indexOf("#version");if(-1!==t){var r=e.indexOf("\n",t);if(-1!==t){var i=e.substring(t,r+1),n=e.substring(0,t)+"//"+e.substring(t);return{version:i,source:n}}}return{version:"",source:e}}function p(t,r,i){for(var n,o=0;oc;++c)u+=0===c?"// Comment replaced to prevent problems when determining dependencies on built-in functions\n":"//\n";r=r.replace(s,u)}n={name:t,glslSource:r,dependsOn:[],requiredBy:[],evaluated:!1},i.push(n)}return n}function f(t,r){if(!t.evaluated){t.evaluated=!0;var i=t.glslSource.match(/\bczm_[a-zA-Z0-9_]*/g);e(i)&&null!==i&&(i=i.filter(function(e,t){return i.indexOf(e)===t}),i.forEach(function(e){if(e!==t.name&&D._czmBuiltinsAndUniforms.hasOwnProperty(e)){var i=p(e,D._czmBuiltinsAndUniforms[e],r);t.dependsOn.push(i),i.requiredBy.push(t),f(i,r)}}))}}function v(e){for(var r=[],i=[];e.length>0;){var n=e.pop();i.push(n),0===n.requiredBy.length&&r.push(n)}for(;r.length>0;){var o=r.shift();e.push(o);for(var a=0;a=0;--n)i=i+t[n].glslSource+"\n";return i.replace(r.glslSource,"")}function g(){return"#ifdef GL_FRAGMENT_PRECISION_HIGH \n precision highp float; \n#else \n precision mediump float; \n#endif \n\n"}function _(t,r,n,o,a){var s,l=m(n),u=m(o),c=l.version+y(l.source)+"\n#line 0\n"+l.source,h=u.version+g()+y(u.source)+"\n#line 0\n"+u.source,d=t.createShader(t.VERTEX_SHADER);t.shaderSource(d,c),t.compileShader(d);var p=t.createShader(t.FRAGMENT_SHADER);t.shaderSource(p,h),t.compileShader(p);var f=t.createProgram();if(t.attachShader(f,d),t.attachShader(f,p),t.deleteShader(d),t.deleteShader(p),e(a))for(var v in a)a.hasOwnProperty(v)&&t.bindAttribLocation(f,a[v],v);if(t.linkProgram(f),!t.getProgramParameter(f,t.LINK_STATUS)){if(!t.getShaderParameter(p,t.COMPILE_STATUS))throw s=t.getShaderInfoLog(p),t.deleteProgram(f),console.error("[GL] Fragment shader compile log: "+s),new i("Fragment shader failed to compile. Compile log: "+s);if(!t.getShaderParameter(d,t.COMPILE_STATUS))throw s=t.getShaderInfoLog(d),t.deleteProgram(f),console.error("[GL] Vertex shader compile log: "+s),new i("Vertex shader failed to compile. Compile log: "+s);throw s=t.getProgramInfoLog(f),t.deleteProgram(f),console.error("[GL] Shader program link log: "+s),new i("Program failed to link. Link log: "+s)}return r&&(s=t.getShaderInfoLog(d),e(s)&&s.length>0&&console.log("[GL] Vertex shader compile log: "+s)),r&&(s=t.getShaderInfoLog(p),e(s)&&s.length>0&&console.log("[GL] Fragment shader compile log: "+s)),r&&(s=t.getProgramInfoLog(f),e(s)&&s.length>0&&console.log("[GL] Shader program link log: "+s)),f}function w(e,t,r){for(var i={},n=0;r>n;++n){var o=e.getActiveAttrib(t,n),a=e.getAttribLocation(t,o.name);i[o.name]={name:o.name,type:o.type,index:a}}return i}function C(e,t){for(var r={},i=[],n=[],o=e.getProgramParameter(t,e.ACTIVE_UNIFORMS),a=0;o>a;++a){var s=e.getActiveUniform(t,a),l="[0]",u=-1!==s.name.indexOf(l,s.name.length-l.length)?s.name.slice(0,s.name.length-3):s.name;if(0!==u.indexOf("gl_"))if(s.name.indexOf("[")<0){var c=e.getUniformLocation(t,u),h=e.getUniform(t,c),d=new T(e,s,u,c,h);r[u]=d,i.push(d),d._setSampler&&n.push(d)}else{var m,p,f,v,y=u.indexOf("[");if(y>=0){if(m=r[u.slice(0,y)],"undefined"==typeof m)continue; -p=m._getLocations(),p.length<=1&&(f=m.value,v=e.getUniformLocation(t,u),p.push(v),f.push(e.getUniform(t,v)))}else{p=[],f=[];for(var g=0;go;++o)l[o].uniform.value=l[o].automaticUniform.getValue(r);for(n=a.length,o=0;n>o;++o)a[o]._set();if(i){var c=this._gl,h=this._program;if(c.validateProgram(h),!c.getProgramParameter(h,c.VALIDATE_STATUS))throw new t("Program validation failed. Link log: "+c.getProgramInfoLog(h))}},D.prototype.isDestroyed=function(){return!1},D.prototype.destroy=function(){return this._gl.deleteProgram(this._program),n(this)},D.prototype.release=function(){return this._cachedShader?this._cachedShader.cache.releaseShaderProgram(this):this.destroy()},D}),r("Renderer/TextureAtlas",["../Core/BoundingRectangle","../Core/Cartesian2","../Core/createGuid","../Core/defaultValue","../Core/defined","../Core/destroyObject","../Core/DeveloperError","./PixelFormat"],function(e,t,r,i,n,o,a,s){"use strict";function l(e,r,n,o,a){this.bottomLeft=i(e,t.ZERO),this.topRight=i(r,t.ZERO),this.childNode1=n,this.childNode2=o,this.imageIndex=a}function u(e,r){var i=e.getNumberOfImages(),o=2;if(i>0){var a=e._texture.getWidth(),s=e._texture.getHeight(),u=o*(a+r.width+e._borderWidthInPixels),c=o*(s+r.height+e._borderWidthInPixels),h=a/u,d=s/c,m=new l(new t(a+e._borderWidthInPixels,0),new t(u,s)),p=new l(new t,new t(u,s),e._root,m),f=new l(new t(0,s+e._borderWidthInPixels),new t(u,c)),v=new l(new t,new t(u,c),p,f);e._root=v;for(var y=0;ys||0>u)return void 0;if(0===s&&0===u)return r;if(s>u){r.childNode1=new l(new t(r.bottomLeft.x,r.bottomLeft.y),new t(r.bottomLeft.x+i.width,r.topRight.y));var h=r.bottomLeft.x+i.width+e._borderWidthInPixels;hu)throw new a("borderWidthInPixels must be greater than or equal to zero.");var c=i(e.initialSize,d);if(c.x<1||c.y<1)throw new a("initialSize must be greater than zero.");this._context=o,this._pixelFormat=i(e.pixelFormat,s.RGBA),this._borderWidthInPixels=u,this._textureCoordinates=[],this._guid=r(),this._texture=this._context.createTexture2D({width:c.x,height:c.y,pixelFormat:this._pixelFormat}),this._root=new l(new t,new t(c.x,c.y));var h=e.images;n(h)&&h.length>0&&this.addImages(h);var m=e.image;n(m)&&this.addImage(m)};return m.prototype.addImage=function(e){var t=this.getNumberOfImages();return h(this,e,t),this._guid=r(),t},m.prototype.addImages=function(e){if(!n(e)||e.length<1)throw new a("images is required and must have length greater than zero.");var t,i=[],o=e.length,s=this.getNumberOfImages();for(t=0;o>t;++t)i.push({image:e[t],index:t+s});for(i.sort(function(e,t){return Math.max(t.image.height,t.image.width)-Math.max(e.image.height,e.image.width)}),t=0;o>t;++t){var l=i[t];h(this,l.image,l.index)}return this._guid=r(),s},m.prototype.addSubRegions=function(t,i){for(var n=this.addImage(t),o=this._texture.getWidth(),a=this._texture.getHeight(),s=this.getNumberOfImages(),l=i.length,u=this._textureCoordinates[n],c=0;l>c;++c){var h=i[c];this._textureCoordinates.push(new e(u.x+h.x/o,u.y+h.y/a,h.width/o,h.height/a))}return this._guid=r(),s},m.prototype.getBorderWidthInPixels=function(){return this._borderWidthInPixels},m.prototype.getTextureCoordinates=function(){return this._textureCoordinates},m.prototype.getTexture=function(){return this._texture},m.prototype.getNumberOfImages=function(){return this._textureCoordinates.length},m.prototype.getGUID=function(){return this._guid},m.prototype.isDestroyed=function(){return!1},m.prototype.destroy=function(){return this._texture=this._texture&&this._texture.destroy(),o(this)},m}),r("Renderer/UniformState",["../Core/Matrix3","../Core/Matrix4","../Core/Cartesian2","../Core/Cartesian3","../Core/Cartesian4","../Core/Cartographic","../Core/defined","../Core/Math","../Core/EncodedCartesian3","../Core/BoundingRectangle","../Core/Transforms","../Core/Simon1994PlanetaryPositions","../Scene/SceneMode"],function(e,t,r,i,n,o,a,s,l,u,c,h,d){"use strict";function m(e,r){t.clone(r,e._view),t.getRotation(r,e._viewRotation),e._view3DDirty=!0,e._inverseView3DDirty=!0,e._modelViewDirty=!0,e._modelView3DDirty=!0,e._modelViewRelativeToEyeDirty=!0,e._inverseModelViewDirty=!0,e._inverseModelView3DDirty=!0,e._viewProjectionDirty=!0,e._modelViewProjectionDirty=!0,e._modelViewProjectionRelativeToEyeDirty=!0,e._modelViewInfiniteProjectionDirty=!0,e._normalDirty=!0,e._inverseNormalDirty=!0,e._normal3DDirty=!0,e._inverseNormal3DDirty=!0}function p(e,r){t.clone(r,e._inverseView),t.getRotation(r,e._inverseViewRotation)}function f(e,r){t.clone(r,e._projection),e._inverseProjectionDirty=!0,e._viewProjectionDirty=!0,e._modelViewProjectionDirty=!0,e._modelViewProjectionRelativeToEyeDirty=!0}function v(e,r){t.clone(r,e._infiniteProjection),e._modelViewInfiniteProjectionDirty=!0}function y(e,t){i.clone(t.positionWC,e._cameraPosition),i.clone(t.directionWC,e._cameraDirection),i.clone(t.rightWC,e._cameraRight),i.clone(t.upWC,e._cameraUp),e._encodedCameraPositionMCDirty=!0}function g(t,r){a(c.computeIcrfToFixedMatrix(r.time,B))||(B=c.computeTemeToPseudoFixedMatrix(r.time,B));var n=h.ComputeSunPositionInEarthInertialFrame(r.time,t._sunPositionWC);e.multiplyByVector(B,n,n),i.normalize(n,t._sunDirectionWC),n=e.multiplyByVector(t.getViewRotation3D(),n,t._sunDirectionEC),i.normalize(n,n),n=h.ComputeMoonPositionInEarthInertialFrame(r.time,t._moonDirectionEC),e.multiplyByVector(B,n,n),e.multiplyByVector(t.getViewRotation3D(),n,n),i.normalize(n,n);var o=r.scene2D.projection,s=o.getEllipsoid(),l=s.cartesianToCartographic(t._sunPositionWC,F);o.project(l,t._sunPositionColumbusView)}function _(e){if(e._viewportDirty){var r=e._viewport;t.computeOrthographicOffCenter(r.x,r.x+r.width,r.y,r.y+r.height,0,1,e._viewportOrthographicMatrix),t.computeViewportTransformation(r,0,1,e._viewportTransformation),e._viewportDirty=!1}}function w(e){e._inverseProjectionDirty&&(e._inverseProjectionDirty=!1,t.inverse(e._projection,e._inverseProjection))}function C(e){e._modelViewDirty&&(e._modelViewDirty=!1,t.multiplyTransformation(e._view,e._model,e._modelView))}function x(e){e._modelView3DDirty&&(e._modelView3DDirty=!1,t.multiplyTransformation(e.getView3D(),e._model,e._modelView3D))}function S(e){if(e._modelViewRelativeToEyeDirty){e._modelViewRelativeToEyeDirty=!1;var t=e.getModelView(),r=e._modelViewRelativeToEye;r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=t[3],r[4]=t[4],r[5]=t[5],r[6]=t[6],r[7]=t[7],r[8]=t[8],r[9]=t[9],r[10]=t[10],r[11]=t[11],r[12]=0,r[13]=0,r[14]=0,r[15]=t[15]}}function E(e){e._inverseModelViewDirty&&(e._inverseModelViewDirty=!1,t.inverse(e.getModelView(),e._inverseModelView))}function b(e){e._inverseModelView3DDirty&&(e._inverseModelView3DDirty=!1,t.inverse(e.getModelView3D(),e._inverseModelView3D))}function T(e){e._viewProjectionDirty&&(e._viewProjectionDirty=!1,t.multiply(e._projection,e._view,e._viewProjection))}function A(e){e._modelViewProjectionDirty&&(e._modelViewProjectionDirty=!1,t.multiply(e._projection,e.getModelView(),e._modelViewProjection))}function D(e){e._modelViewProjectionRelativeToEyeDirty&&(e._modelViewProjectionRelativeToEyeDirty=!1,t.multiply(e._projection,e.getModelViewRelativeToEye(),e._modelViewProjectionRelativeToEye))}function P(e){e._modelViewInfiniteProjectionDirty&&(e._modelViewInfiniteProjectionDirty=!1,t.multiply(e._infiniteProjection,e.getModelView(),e._modelViewInfiniteProjection))}function M(e){e._normalDirty&&(e._normalDirty=!1,t.transpose(e.getInverseModelView(),U),t.getRotation(U,e._normal))}function I(e){e._normal3DDirty&&(e._normal3DDirty=!1,t.transpose(e.getInverseModelView3D(),U),t.getRotation(U,e._normal3D))}function O(e){e._inverseNormalDirty&&(e._inverseNormalDirty=!1,t.getRotation(e.getInverseModelView(),e._inverseNormal))}function R(e){e._inverseNormal3DDirty&&(e._inverseNormal3DDirty=!1,t.getRotation(e.getInverseModelView3D(),e._inverseNormal3D))}function L(e){e._encodedCameraPositionMCDirty&&(e._encodedCameraPositionMCDirty=!1,t.multiplyByPoint(e.getInverseModel(),e._cameraPosition,W),l.fromCartesian(W,e._encodedCameraPositionMC))}function z(e,r,n,o,l,u,h,m){var p=q;p.x=e.y,p.y=e.z,p.z=e.x;var f=G;f.x=n.y,f.y=n.z,f.z=n.x;var v=H;v.x=o.y,v.y=o.z,v.z=o.x;var y=j;y.x=r.y,y.y=r.z,y.z=r.x,u===d.SCENE2D&&(p.z=.5*l);var g=h.unproject(p,Y);g.longitude=s.clamp(g.longitude,-Math.PI,Math.PI),g.latitude=s.clamp(g.latitude,-s.PI_OVER_TWO,s.PI_OVER_TWO);var _=h.getEllipsoid(),w=_.cartographicToCartesian(g,X),C=c.eastNorthUpToFixedFrame(w,_,Z);return t.multiplyByPointAsVector(C,f,f),t.multiplyByPointAsVector(C,v,v),t.multiplyByPointAsVector(C,y,y),a(m)||(m=new t),m[0]=f.x,m[1]=v.x,m[2]=-y.x,m[3]=0,m[4]=f.y,m[5]=v.y,m[6]=-y.y,m[7]=0,m[8]=f.z,m[9]=v.z,m[10]=-y.z,m[11]=0,m[12]=-i.dot(f,w),m[13]=-i.dot(v,w),m[14]=i.dot(y,w),m[15]=1,m}var N=function(){this._viewport=new u,this._viewportDirty=!1,this._viewportOrthographicMatrix=t.clone(t.IDENTITY),this._viewportTransformation=t.clone(t.IDENTITY),this._model=t.clone(t.IDENTITY),this._view=t.clone(t.IDENTITY),this._inverseView=t.clone(t.IDENTITY),this._projection=t.clone(t.IDENTITY),this._infiniteProjection=t.clone(t.IDENTITY),this._entireFrustum=new r,this._currentFrustum=new r,this._pixelSize=0,this._frameState=void 0,this._temeToPseudoFixed=e.clone(t.IDENTITY),this._view3DDirty=!0,this._view3D=new t,this._inverseView3DDirty=!0,this._inverseView3D=new t,this._inverseModelDirty=!0,this._inverseModel=new t,this._viewRotation=new e,this._inverseViewRotation=new e,this._viewRotation3D=new e,this._inverseViewRotation3D=new e,this._inverseProjectionDirty=!0,this._inverseProjection=new t,this._modelViewDirty=!0,this._modelView=new t,this._modelView3DDirty=!0,this._modelView3D=new t,this._modelViewRelativeToEyeDirty=!0,this._modelViewRelativeToEye=new t,this._inverseModelViewDirty=!0,this._inverseModelView=new t,this._inverseModelView3DDirty=!0,this._inverseModelView3D=new t,this._viewProjectionDirty=!0,this._viewProjection=new t,this._modelViewProjectionDirty=!0,this._modelViewProjection=new t,this._modelViewProjectionRelativeToEyeDirty=!0,this._modelViewProjectionRelativeToEye=new t,this._modelViewInfiniteProjectionDirty=!0,this._modelViewInfiniteProjection=new t,this._normalDirty=!0,this._normal=new e,this._normal3DDirty=!0,this._normal3D=new e,this._inverseNormalDirty=!0,this._inverseNormal=new e,this._inverseNormal3DDirty=!0,this._inverseNormal3D=new e,this._encodedCameraPositionMCDirty=!0,this._encodedCameraPositionMC=new l,this._cameraPosition=new i,this._sunPositionWC=new i,this._sunPositionColumbusView=new i,this._sunDirectionWC=new i,this._sunDirectionEC=new i,this._moonDirectionEC=new i,this._mode=void 0,this._mapProjection=void 0,this._cameraDirection=new i,this._cameraRight=new i,this._cameraUp=new i,this._frustum2DWidth=0,this._eyeHeight2D=new r},B=new e,F=new o;N.prototype.updateFrustum=function(e){f(this,e.projectionMatrix),a(e.infiniteProjectionMatrix)&&v(this,e.infiniteProjectionMatrix),this._currentFrustum.x=e.near,this._currentFrustum.y=e.far};var V=new r,k=new r;N.prototype.update=function(e,t){this._mode=t.mode,this._mapProjection=t.scene2D.projection;var r=t.camera;m(this,r.viewMatrix),p(this,r.inverseViewMatrix),y(this,r),t.mode===d.SCENE2D?(this._frustum2DWidth=r.frustum.right-r.frustum.left,this._eyeHeight2D.x=.5*this._frustum2DWidth,this._eyeHeight2D.y=this._eyeHeight2D.x*this._eyeHeight2D.x):(this._frustum2DWidth=0,this._eyeHeight2D.x=0,this._eyeHeight2D.y=0),g(this,t),V.x=e.getDrawingBufferWidth(),V.y=e.getDrawingBufferHeight();var i=r.frustum.getPixelSize(V,void 0,k);this._pixelSize=Math.max(i.x,i.y),this._entireFrustum.x=r.frustum.near,this._entireFrustum.y=r.frustum.far,this.updateFrustum(r.frustum),this._frameState=t,this._temeToPseudoFixed=c.computeTemeToPseudoFixedMatrix(t.time,this._temeToPseudoFixed)},N.prototype.setViewport=function(e){u.equals(e,this._viewport)||(u.clone(e,this._viewport),this._viewportDirty=!0)},N.prototype.getViewport=function(){return this._viewport},N.prototype.getViewportOrthographic=function(){return _(this),this._viewportOrthographicMatrix},N.prototype.getViewportTransformation=function(){return _(this),this._viewportTransformation},N.prototype.setModel=function(e){t.clone(e,this._model),this._modelView3DDirty=!0,this._inverseModelView3DDirty=!0,this._inverseModelDirty=!0,this._modelViewDirty=!0,this._modelViewRelativeToEyeDirty=!0,this._inverseModelViewDirty=!0,this._modelViewProjectionDirty=!0,this._modelViewProjectionRelativeToEyeDirty=!0,this._modelViewInfiniteProjectionDirty=!0,this._normalDirty=!0,this._inverseNormalDirty=!0,this._normal3DDirty=!0,this._inverseNormal3DDirty=!0,this._encodedCameraPositionMCDirty=!0},N.prototype.getModel=function(){return this._model},N.prototype.getInverseModel=function(){return this._inverseModelDirty&&(this._inverseModelDirty=!1,t.inverse(this._model,this._inverseModel)),this._inverseModel},N.prototype.getView=function(){return this._view},N.prototype.getView3D=function(){return this._view3DDirty&&(this._mode===d.SCENE3D?t.clone(this._view,this._view3D):z(this._cameraPosition,this._cameraDirection,this._cameraRight,this._cameraUp,this._frustum2DWidth,this._mode,this._mapProjection,this._view3D),t.getRotation(this._view3D,this._viewRotation3D),this._view3DDirty=!1),this._view3D},N.prototype.getViewRotation=function(){return this._viewRotation},N.prototype.getViewRotation3D=function(){return this.getView3D(),this._viewRotation3D},N.prototype.getInverseView=function(){return this._inverseView},N.prototype.getInverseView3D=function(){return this._inverseView3DDirty&&(t.inverseTransformation(this.getView3D(),this._inverseView3D),t.getRotation(this._inverseView3D,this._inverseViewRotation3D),this._inverseView3DDirty=!1),this._inverseView3D},N.prototype.getInverseViewRotation=function(){return this._inverseViewRotation},N.prototype.getInverseViewRotation3D=function(){return this.getInverseView3D(),this._inverseViewRotation3D},N.prototype.getProjection=function(){return this._projection},N.prototype.getInverseProjection=function(){return w(this),this._inverseProjection},N.prototype.getInfiniteProjection=function(){return this._infiniteProjection},N.prototype.getModelView=function(){return C(this),this._modelView},N.prototype.getModelView3D=function(){return x(this),this._modelView3D},N.prototype.getModelViewRelativeToEye=function(){return S(this),this._modelViewRelativeToEye},N.prototype.getInverseModelView=function(){return E(this),this._inverseModelView},N.prototype.getInverseModelView3D=function(){return b(this),this._inverseModelView3D},N.prototype.getViewProjection=function(){return T(this),this._viewProjection},N.prototype.getModelViewProjection=function(){return A(this),this._modelViewProjection},N.prototype.getModelViewProjectionRelativeToEye=function(){return D(this),this._modelViewProjectionRelativeToEye},N.prototype.getModelViewInfiniteProjection=function(){return P(this),this._modelViewInfiniteProjection};var U=new t;N.prototype.getNormal=function(){return M(this),this._normal},N.prototype.getNormal3D=function(){return I(this),this._normal3D},N.prototype.getInverseNormal=function(){return O(this),this._inverseNormal},N.prototype.getInverseNormal3D=function(){return R(this),this._inverseNormal3D},N.prototype.getEntireFrustum=function(){return this._entireFrustum},N.prototype.getCurrentFrustum=function(){return this._currentFrustum},N.prototype.getEyeHeight2D=function(){return this._eyeHeight2D},N.prototype.getPixelSize=function(){return this._pixelSize},N.prototype.getSunPositionWC=function(){return this._sunPositionWC},N.prototype.getSunPositionColumbusView=function(){return this._sunPositionColumbusView},N.prototype.getSunDirectionWC=function(){return this._sunDirectionWC},N.prototype.getSunDirectionEC=function(){return this._sunDirectionEC},N.prototype.getMoonDirectionEC=function(){return this._moonDirectionEC};var W=new i;N.prototype.getEncodedCameraPositionMCHigh=function(){return L(this),this._encodedCameraPositionMC.high},N.prototype.getEncodedCameraPositionMCLow=function(){return L(this),this._encodedCameraPositionMC.low},N.prototype.getFrameState=function(){return this._frameState},N.prototype.getTemeToPseudoFixedMatrix=function(){return this._temeToPseudoFixed},N.prototype.getHighResolutionSnapScale=function(){return 1};var q=new i,G=new i,H=new i,j=new i,Y=new o,X=new i,Z=new t;return N}),r("Renderer/VertexArray",["../Core/defaultValue","../Core/defined","../Core/destroyObject","../Core/DeveloperError","../Core/ComponentDatatype"],function(e,t,r,i,n){"use strict";function o(r,o,a){var s=t(o.vertexBuffer),l=t(o.value);if(!s&&!l)throw new i("attribute must have a vertexBuffer or a value.");if(s&&l)throw new i("attribute cannot have both a vertexBuffer and a value. It must have either a vertexBuffer property defining per-vertex data or a value property defining data for all vertices.");var u=o.value?o.value.length:o.componentsPerAttribute;if(1!==u&&2!==u&&3!==u&&4!==u){if(l)throw new i("attribute.value.length must be in the range [1, 4].");throw new i("attribute.componentsPerAttribute must be in the range [1, 4].")}if(t(o.componentDatatype)&&!n.validate(o.componentDatatype))throw new i("attribute must have a valid componentDatatype or not specify it.");if(t(o.strideInBytes)&&o.strideInBytes>255)throw new i("attribute must have a strideInBytes less than or equal to 255 or not specify it.");var c={index:e(o.index,a),enabled:e(o.enabled,!0),vertexBuffer:o.vertexBuffer,value:l?o.value.slice(0):void 0,componentsPerAttribute:u,componentDatatype:e(o.componentDatatype,n.FLOAT),normalize:e(o.normalize,!1),offsetInBytes:e(o.offsetInBytes,0),strideInBytes:e(o.strideInBytes,0)};if(s)c.vertexAttrib=function(e){e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer._getBuffer()),e.vertexAttribPointer(this.index,this.componentsPerAttribute,this.componentDatatype.value,this.normalize,this.strideInBytes,this.offsetInBytes),e.enableVertexAttribArray(this.index)},c.disableVertexAttribArray=function(e){e.disableVertexAttribArray(this.index)};else{switch(c.componentsPerAttribute){case 1:c.vertexAttrib=function(e){e.vertexAttrib1fv(this.index,this.value)};break;case 2:c.vertexAttrib=function(e){e.vertexAttrib2fv(this.index,this.value)};break;case 3:c.vertexAttrib=function(e){e.vertexAttrib3fv(this.index,this.value)};break;case 4:c.vertexAttrib=function(e){e.vertexAttrib4fv(this.index,this.value)}}c.disableVertexAttribArray=function(){}}r.push(c)}function a(e,r,i){for(var n=0;ni;++i){var n=e.getExtension(t[i]);if(n)return n}return void 0}function W(e,t,r,i){var n;"number"==typeof r?n=r:"object"==typeof r&&"number"==typeof r.byteLength&&(n=r.byteLength);var o=e.createBuffer();return e.bindBuffer(t,o),e.bufferData(t,r,i),e.bindBuffer(t,null),new p(e,t,n,i,o)}function q(e){if(e._validateFB){var t=e._gl,r=t.checkFramebufferStatus(t.FRAMEBUFFER);if(r!==t.FRAMEBUFFER_COMPLETE){var n;switch(r){case t.FRAMEBUFFER_INCOMPLETE_ATTACHMENT:n="Framebuffer is not complete. Incomplete attachment: at least one attachment point with a renderbuffer or texture attached has its attached object no longer in existence or has an attached image with a width or height of zero, or the color attachment point has a non-color-renderable image attached, or the depth attachment point has a non-depth-renderable image attached, or the stencil attachment point has a non-stencil-renderable image attached. Color-renderable formats include GL_RGBA4, GL_RGB5_A1, and GL_RGB565. GL_DEPTH_COMPONENT16 is the only depth-renderable format. GL_STENCIL_INDEX8 is the only stencil-renderable format.";break;case t.FRAMEBUFFER_INCOMPLETE_DIMENSIONS:n="Framebuffer is not complete. Incomplete dimensions: not all attached images have the same width and height.";break;case t.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:n="Framebuffer is not complete. Missing attachment: no images are attached to the framebuffer.";break;case t.FRAMEBUFFER_UNSUPPORTED:n="Framebuffer is not complete. Unsupported: the combination of internal formats of the attached images violates an implementation-dependent set of restrictions."}throw new i(n)}}}function G(e,t,r){var i=e._currentRenderState;i!==t&&(e._currentRenderState=t,S.partialApply(e._gl,i,t,r))}function H(e,t,i,n){var o=r(i.renderState)?i.renderState:e._defaultRenderState;r(t)&&(t._bind(),q(e,t));var a=i.shaderProgram;a._bind(),e._maxFrameTextureUnitIndex=Math.max(e._maxFrameTextureUnitIndex,a.maximumTextureUnitIndex),G(e,o,n)}function j(e,i){var n=i.primitiveType,o=i.vertexArray,a=i.offset,s=i.count;e._us.setModel(t(i.modelMatrix,d.IDENTITY)),i.shaderProgram._setUniforms(i.uniformMap,e._us,e._validateSP);var l=o.getIndexBuffer();r(l)?(a*=l.getBytesPerIndex(),s=t(s,l.getNumberOfIndices()),o._bind(),e._gl.drawElements(n,s,l.getIndexDatatype(),a),o._unBind()):(s=t(s,o.numberOfVertices),o._bind(),e._gl.drawArrays(n,a,s),o._unBind())}function Y(e){r(e)&&e._unBind()}function X(e){return e.values.length/e.componentsPerAttribute}function Z(e){return e.componentDatatype.sizeInBytes*e.componentsPerAttribute}function J(e){var t,i,n,o=[];for(i in e)e.hasOwnProperty(i)&&r(e[i])&&r(e[i].values)&&(o.push(i),e[i].componentDatatype.value===a.DOUBLE.value&&(e[i].componentDatatype=a.FLOAT,e[i].values=a.createTypedArray(a.FLOAT,e[i].values)));var s,u=o.length;if(u>0)for(s=X(e[o[0]]),t=1;u>t;++t){var c=X(e[o[t]]);if(c!==s)throw new l("Each attribute list must have the same number of vertices. Attribute "+o[t]+" has a different number of vertices "+"("+c.toString()+")"+" than attribute "+o[0]+" ("+s.toString()+").") -}o.sort(function(t,r){return e[r].componentDatatype.sizeInBytes-e[t].componentDatatype.sizeInBytes});var h=0,d={};for(t=0;u>t;++t)i=o[t],n=e[i],d[i]=h,h+=Z(n);if(h>0){var m=e[o[0]].componentDatatype.sizeInBytes,p=h%m;0!==p&&(h+=m-p);var f=s*h,v=new ArrayBuffer(f),y={};for(t=0;u>t;++t){i=o[t];var g=e[i].componentDatatype.sizeInBytes;y[i]={pointer:a.createTypedArray(e[i].componentDatatype,v),index:d[i]/g,strideInComponentType:h/g}}for(t=0;s>t;++t)for(var _=0;u>_;++_){i=o[_],n=e[i];for(var w=n.values,C=y[i],x=C.pointer,S=n.componentsPerAttribute,E=0;S>E;++E)x[C.index+E]=w[t*S+E];C.index+=C.strideInComponentType}return{buffer:v,offsetsInBytes:d,vertexSizeInBytes:h}}return void 0}function K(e,t,r){this._pickObjects=e,this.key=t,this.color=r}var Q=function(i,n){if(!window.WebGLRenderingContext)throw new l("The browser does not support WebGL. Visit http://get.webgl.org.");this._canvas=i,n=e(n,!0),n=t(n,{}),n.allowTextureFilterAnisotropic=t(n.allowTextureFilterAnisotropic,!0);var a=t(n.webgl,{});if(a.alpha=t(a.alpha,!1),a.failIfMajorPerformanceCaveat=t(a.failIfMajorPerformanceCaveat,!0),this._originalGLContext=i.getContext("webgl",a)||i.getContext("experimental-webgl",a)||void 0,!r(this._originalGLContext))throw new l("The browser supports WebGL, but initialization failed.");this._id=h(),this._validateFB=!1,this._validateSP=!1,this._logShaderCompilation=!1,this._throwOnWebGLError=!1,this._shaderCache=new E(this);var s=this._gl=this._originalGLContext;this._version=s.getParameter(s.VERSION),this._shadingLanguageVersion=s.getParameter(s.SHADING_LANGUAGE_VERSION),this._vendor=s.getParameter(s.VENDOR),this._renderer=s.getParameter(s.RENDERER),this._redBits=s.getParameter(s.RED_BITS),this._greenBits=s.getParameter(s.GREEN_BITS),this._blueBits=s.getParameter(s.BLUE_BITS),this._alphaBits=s.getParameter(s.ALPHA_BITS),this._depthBits=s.getParameter(s.DEPTH_BITS),this._stencilBits=s.getParameter(s.STENCIL_BITS),this._maximumCombinedTextureImageUnits=s.getParameter(s.MAX_COMBINED_TEXTURE_IMAGE_UNITS),this._maximumCubeMapSize=s.getParameter(s.MAX_CUBE_MAP_TEXTURE_SIZE),this._maximumFragmentUniformVectors=s.getParameter(s.MAX_FRAGMENT_UNIFORM_VECTORS),this._maximumTextureImageUnits=s.getParameter(s.MAX_TEXTURE_IMAGE_UNITS),this._maximumRenderbufferSize=s.getParameter(s.MAX_RENDERBUFFER_SIZE),this._maximumTextureSize=s.getParameter(s.MAX_TEXTURE_SIZE),this._maximumVaryingVectors=s.getParameter(s.MAX_VARYING_VECTORS),this._maximumVertexAttributes=s.getParameter(s.MAX_VERTEX_ATTRIBS),this._maximumVertexTextureImageUnits=s.getParameter(s.MAX_VERTEX_TEXTURE_IMAGE_UNITS),this._maximumVertexUniformVectors=s.getParameter(s.MAX_VERTEX_UNIFORM_VECTORS),this._aliasedLineWidthRange=s.getParameter(s.ALIASED_LINE_WIDTH_RANGE),this._aliasedPointSizeRange=s.getParameter(s.ALIASED_POINT_SIZE_RANGE),this._maximumViewportDimensions=s.getParameter(s.MAX_VIEWPORT_DIMS),this._antialias=s.getContextAttributes().antialias,this._standardDerivatives=U(s,["OES_standard_derivatives"]),this._elementIndexUint=U(s,["OES_element_index_uint"]),this._depthTexture=U(s,["WEBGL_depth_texture","WEBKIT_WEBGL_depth_texture"]),this._textureFloat=U(s,["OES_texture_float"]);var u=n.allowTextureFilterAnisotropic?U(s,["EXT_texture_filter_anisotropic","WEBKIT_EXT_texture_filter_anisotropic"]):void 0;this._textureFilterAnisotropic=u,this._maximumTextureFilterAnisotropy=r(u)?s.getParameter(u.MAX_TEXTURE_MAX_ANISOTROPY_EXT):1,this._vertexArrayObject=U(s,["OES_vertex_array_object"]),this._fragDepth=U(s,["EXT_frag_depth"]);var c=s.getParameter(s.COLOR_CLEAR_VALUE);this._clearColor=new o(c[0],c[1],c[2],c[3]),this._clearDepth=s.getParameter(s.DEPTH_CLEAR_VALUE),this._clearStencil=s.getParameter(s.STENCIL_CLEAR_VALUE);var d=new I,m=new z(this),p=this.createRenderState();this._defaultPassState=m,this._defaultRenderState=p,this._defaultTexture=void 0,this._defaultCubeMap=void 0,this._us=d,this._currentRenderState=p,this._maxFrameTextureUnitIndex=0,this._pickObjects={},this._nextPickColor=new Uint32Array(1),this.options=n,this.cache={},S.apply(s,p,m)};Q.prototype.getId=function(){return this._id},Q.prototype.getCanvas=function(){return this._canvas},Q.prototype.getShaderCache=function(){return this._shaderCache},Q.prototype.getUniformState=function(){return this._us},Q.prototype.getVersion=function(){return this._version},Q.prototype.getShadingLanguageVersion=function(){return this._shadingLanguageVersion},Q.prototype.getVendor=function(){return this._vendor},Q.prototype.getRenderer=function(){return this._renderer},Q.prototype.getRedBits=function(){return this._redBits},Q.prototype.getGreenBits=function(){return this._greenBits},Q.prototype.getBlueBits=function(){return this._blueBits},Q.prototype.getAlphaBits=function(){return this._alphaBits},Q.prototype.getDepthBits=function(){return this._depthBits},Q.prototype.getStencilBits=function(){return this._stencilBits},Q.prototype.getMaximumCombinedTextureImageUnits=function(){return this._maximumCombinedTextureImageUnits},Q.prototype.getMaximumCubeMapSize=function(){return this._maximumCubeMapSize},Q.prototype.getMaximumFragmentUniformVectors=function(){return this._maximumFragmentUniformVectors},Q.prototype.getMaximumTextureImageUnits=function(){return this._maximumTextureImageUnits},Q.prototype.getMaximumRenderbufferSize=function(){return this._maximumRenderbufferSize},Q.prototype.getMaximumTextureSize=function(){return this._maximumTextureSize},Q.prototype.getMaximumVaryingVectors=function(){return this._maximumVaryingVectors},Q.prototype.getMaximumVertexAttributes=function(){return this._maximumVertexAttributes},Q.prototype.getMaximumVertexTextureImageUnits=function(){return this._maximumVertexTextureImageUnits},Q.prototype.getMaximumVertexUniformVectors=function(){return this._maximumVertexUniformVectors},Q.prototype.getMinimumAliasedLineWidth=function(){return this._aliasedLineWidthRange[0]},Q.prototype.getMaximumAliasedLineWidth=function(){return this._aliasedLineWidthRange[1]},Q.prototype.getMinimumAliasedPointSize=function(){return this._aliasedPointSizeRange[0]},Q.prototype.getMaximumAliasedPointSize=function(){return this._aliasedPointSizeRange[1]},Q.prototype.getMaximumViewportWidth=function(){return this._maximumViewportDimensions[0]},Q.prototype.getMaximumViewportHeight=function(){return this._maximumViewportDimensions[1]},Q.prototype.getAntialias=function(){return this._antialias},Q.prototype.getStandardDerivatives=function(){return!!this._standardDerivatives},Q.prototype.getElementIndexUint=function(){return!!this._elementIndexUint},Q.prototype.getDepthTexture=function(){return!!this._depthTexture},Q.prototype.getFloatingPointTexture=function(){return!!this._textureFloat},Q.prototype.getTextureFilterAnisotropic=function(){return!!this._textureFilterAnisotropic},Q.prototype.getMaximumTextureFilterAnisotropy=function(){return this._maximumTextureFilterAnisotropy},Q.prototype.getVertexArrayObject=function(){return!!this._vertexArrayObject},Q.prototype.getFragmentDepth=function(){return!!this._fragDepth},Q.prototype.getValidateFramebuffer=function(){return this._validateFB},Q.prototype.setValidateFramebuffer=function(e){this._validateFB=e},Q.prototype.getValidateShaderProgram=function(){return this._validateSP},Q.prototype.setValidateShaderProgram=function(e){this._validateSP=e},Q.prototype.getThrowOnWebGLError=function(){return this._throwOnWebGLError},Q.prototype.setThrowOnWebGLError=function(e){this._throwOnWebGLError=e,this._gl=k(this._originalGLContext,e?F:null)},Q.prototype.getLogShaderCompilation=function(){return this._logShaderCompilation},Q.prototype.setLogShaderCompilation=function(e){this._logShaderCompilation=e},Q.prototype.getDefaultTexture=function(){return void 0===this._defaultTexture&&(this._defaultTexture=this.createTexture2D({source:{width:1,height:1,arrayBufferView:new Uint8Array([255,255,255,255])}})),this._defaultTexture},Q.prototype.getDefaultCubeMap=function(){if(void 0===this._defaultCubeMap){var e={width:1,height:1,arrayBufferView:new Uint8Array([255,255,255,255])};this._defaultCubeMap=this.createCubeMap({source:{positiveX:e,negativeX:e,positiveY:e,negativeY:e,positiveZ:e,negativeZ:e}})}return this._defaultCubeMap},Q.prototype.getDrawingBufferHeight=function(){return this._gl.drawingBufferHeight},Q.prototype.getDrawingBufferWidth=function(){return this._gl.drawingBufferWidth},Q.prototype.createShaderProgram=function(e,t,r){return new b(this._gl,this._logShaderCompilation,e,t,r)},Q.prototype.createVertexBuffer=function(e,t){return W(this._gl,this._gl.ARRAY_BUFFER,e,t)},Q.prototype.createIndexBuffer=function(e,t,r){if(r===s.UNSIGNED_INT&&!this.getElementIndexUint())throw new l("IndexDatatype.UNSIGNED_INT requires OES_element_index_uint, which is not supported on this system.");var i=s.getSizeInBytes(r),n=this._gl,o=W(n,n.ELEMENT_ARRAY_BUFFER,e,t),a=o.getSizeInBytes()/i;return o.getIndexDatatype=function(){return r},o.getBytesPerIndex=function(){return i},o.getNumberOfIndices=function(){return a},o},Q.prototype.createVertexArray=function(e,t){return new O(this._gl,this._vertexArrayObject,e,t)},Q.prototype.createTexture2D=function(e){e=t(e,t.EMPTY_OBJECT);var i=e.source,n=r(i)?i.width:e.width,o=r(i)?i.height:e.height,a=t(e.pixelFormat,_.RGBA),s=t(e.pixelDatatype,g.UNSIGNED_BYTE);if(s===g.FLOAT&&!this.getFloatingPointTexture())throw new l("When options.pixelDatatype is FLOAT, this WebGL implementation must support the OES_texture_float extension.");if(_.isDepthFormat(a)&&!this.getDepthTexture())throw new l("When options.pixelFormat is DEPTH_COMPONENT or DEPTH_STENCIL, this WebGL implementation must support WEBGL_depth_texture. Check getDepthTexture().");var u=e.preMultiplyAlpha||a===_.RGB||a===_.LUMINANCE,c=t(e.flipY,!0),h=this._gl,d=h.TEXTURE_2D,m=h.createTexture();return h.activeTexture(h.TEXTURE0),h.bindTexture(d,m),r(i)?(h.pixelStorei(h.UNPACK_PREMULTIPLY_ALPHA_WEBGL,u),h.pixelStorei(h.UNPACK_FLIP_Y_WEBGL,c),r(i.arrayBufferView)?h.texImage2D(d,0,a,n,o,0,a,s,i.arrayBufferView):h.texImage2D(d,0,a,a,s,i)):h.texImage2D(d,0,a,n,o,0,a,s,null),h.bindTexture(d,null),new T(h,this._textureFilterAnisotropic,d,m,a,s,n,o,u,c)},Q.prototype.createTexture2DFromFramebuffer=function(e,r,i,n,o){var a=this._gl;e=t(e,_.RGB),r=t(r,0),i=t(i,0),n=t(n,a.drawingBufferWidth),o=t(o,a.drawingBufferHeight);var s=a.TEXTURE_2D,l=a.createTexture();return a.activeTexture(a.TEXTURE0),a.bindTexture(s,l),a.copyTexImage2D(s,0,e,r,i,n,o,0),a.bindTexture(s,null),new T(a,this._textureFilterAnisotropic,s,l,e,void 0,n,o)},Q.prototype.createTextureAtlas=function(e){return e=t(e,{}),e.context=this,new A(e)},Q.prototype.createCubeMap=function(e){function i(e,t){t.arrayBufferView?p.texImage2D(e,0,c,u,u,0,c,h,t.arrayBufferView):p.texImage2D(e,0,c,c,h,t)}e=t(e,t.EMPTY_OBJECT);var n,o,a=e.source;if(r(a)){var s=[a.positiveX,a.negativeX,a.positiveY,a.negativeY,a.positiveZ,a.negativeZ];n=s[0].width,o=s[0].height}else n=e.width,o=e.height;var u=n,c=t(e.pixelFormat,_.RGBA),h=t(e.pixelDatatype,g.UNSIGNED_BYTE);if(h===g.FLOAT&&!this.getFloatingPointTexture())throw new l("When options.pixelDatatype is FLOAT, this WebGL implementation must support the OES_texture_float extension.");var d=e.preMultiplyAlpha||c===_.RGB||c===_.LUMINANCE,m=t(e.flipY,!0),p=this._gl,f=p.TEXTURE_CUBE_MAP,y=p.createTexture();return p.activeTexture(p.TEXTURE0),p.bindTexture(f,y),r(a)?(p.pixelStorei(p.UNPACK_PREMULTIPLY_ALPHA_WEBGL,d),p.pixelStorei(p.UNPACK_FLIP_Y_WEBGL,m),i(p.TEXTURE_CUBE_MAP_POSITIVE_X,a.positiveX),i(p.TEXTURE_CUBE_MAP_NEGATIVE_X,a.negativeX),i(p.TEXTURE_CUBE_MAP_POSITIVE_Y,a.positiveY),i(p.TEXTURE_CUBE_MAP_NEGATIVE_Y,a.negativeY),i(p.TEXTURE_CUBE_MAP_POSITIVE_Z,a.positiveZ),i(p.TEXTURE_CUBE_MAP_NEGATIVE_Z,a.negativeZ)):(p.texImage2D(p.TEXTURE_CUBE_MAP_POSITIVE_X,0,c,u,u,0,c,h,null),p.texImage2D(p.TEXTURE_CUBE_MAP_NEGATIVE_X,0,c,u,u,0,c,h,null),p.texImage2D(p.TEXTURE_CUBE_MAP_POSITIVE_Y,0,c,u,u,0,c,h,null),p.texImage2D(p.TEXTURE_CUBE_MAP_NEGATIVE_Y,0,c,u,u,0,c,h,null),p.texImage2D(p.TEXTURE_CUBE_MAP_POSITIVE_Z,0,c,u,u,0,c,h,null),p.texImage2D(p.TEXTURE_CUBE_MAP_NEGATIVE_Z,0,c,u,u,0,c,h,null)),p.bindTexture(f,null),new v(p,this._textureFilterAnisotropic,f,y,c,h,u,d,m)},Q.prototype.createFramebuffer=function(e){return new y(this._gl,e)},Q.prototype.createRenderbuffer=function(e){var i=this._gl;e=t(e,t.EMPTY_OBJECT);var n=t(e.format,x.RGBA4),o=r(e.width)?e.width:i.drawingBufferWidth,a=r(e.height)?e.height:i.drawingBufferHeight;return new C(i,n,o,a)};var $=0,et={};Q.prototype.createRenderState=function(e){var t=JSON.stringify(e),i=et[t];if(r(i))return i;var n=new S(this,e),o=JSON.stringify(n);return i=et[o],r(i)||(n.id=$++,i=n,et[o]=i),et[t]=i,i},Q.prototype.createSampler=function(e){var i={wrapS:t(e.wrapS,M.CLAMP_TO_EDGE),wrapT:t(e.wrapT,M.CLAMP_TO_EDGE),minificationFilter:t(e.minificationFilter,P.LINEAR),magnificationFilter:t(e.magnificationFilter,D.LINEAR),maximumAnisotropy:r(e.maximumAnisotropy)?e.maximumAnisotropy:1};return i};var tt=new L;return Q.prototype.clear=function(e,i){e=t(e,tt),i=t(i,this._defaultPassState);var n=this._gl,a=0,s=e.color,l=e.depth,u=e.stencil;r(s)&&(o.equals(this._clearColor,s)||(o.clone(s,this._clearColor),n.clearColor(s.red,s.green,s.blue,s.alpha)),a|=n.COLOR_BUFFER_BIT),r(l)&&(l!==this._clearDepth&&(this._clearDepth=l,n.clearDepth(l)),a|=n.DEPTH_BUFFER_BIT),r(u)&&(u!==this._clearStencil&&(this._clearStencil=u,n.clearStencil(u)),a|=n.STENCIL_BUFFER_BIT);var c=t(e.renderState,this._defaultRenderState);G(this,c,i);var h=t(e.framebuffer,i.framebuffer);r(h)&&(h._bind(),q(this,h)),n.clear(a),r(h)&&h._unBind()},Q.prototype.draw=function(e,r){r=t(r,this._defaultPassState);var i=t(e.framebuffer,r.framebuffer);H(this,i,e,r),j(this,e),Y(i)},Q.prototype.endFrame=function(){var e=this._gl;e.useProgram(null);var t=this._maxFrameTextureUnitIndex;this._maxFrameTextureUnitIndex=0;for(var r=0;t>r;++r)e.activeTexture(e.TEXTURE0+r),e.bindTexture(e.TEXTURE_2D,null),e.bindTexture(e.TEXTURE_CUBE_MAP,null)},Q.prototype.readPixels=function(e){var t=this._gl;e=e||{};var r=Math.max(e.x||0,0),i=Math.max(e.y||0,0),n=e.width||t.drawingBufferWidth,o=e.height||t.drawingBufferHeight,a=e.framebuffer||null,s=new Uint8Array(4*n*o);return a&&(a._bind(),q(this,a)),t.readPixels(r,i,n,o,t.RGBA,t.UNSIGNED_BYTE,s),a&&a._unBind(),s},Q.prototype.createVertexArrayFromGeometry=function(e){var i,n,o,l=t(e,t.EMPTY_OBJECT),u=t(l.geometry,t.EMPTY_OBJECT),h=t(l.bufferUsage,f.DYNAMIC_DRAW),d=t(l.attributeIndices,t.EMPTY_OBJECT),p=r(l.vertexLayout)&&l.vertexLayout===R.INTERLEAVED,v=l.vertexArrayAttributes,y=r(v)?v:[],g=u.attributes;if(p){var _=J(g);if(r(_)){o=this.createVertexBuffer(_.buffer,h);var w=_.offsetsInBytes,C=_.vertexSizeInBytes;for(i in g)g.hasOwnProperty(i)&&r(g[i])&&(n=g[i],r(n.values)?y.push({index:d[i],vertexBuffer:o,componentDatatype:n.componentDatatype,componentsPerAttribute:n.componentsPerAttribute,normalize:n.normalize,offsetInBytes:w[i],strideInBytes:C}):y.push({index:d[i],value:n.value,componentDatatype:n.componentDatatype,normalize:n.normalize}))}}else for(i in g)if(g.hasOwnProperty(i)&&r(g[i])){n=g[i];var x=n.componentDatatype;x.value===a.DOUBLE.value&&(x=a.FLOAT),o=void 0,r(n.values)&&(o=this.createVertexBuffer(a.createTypedArray(x,n.values),h)),y.push({index:d[i],vertexBuffer:o,value:n.value,componentDatatype:x,componentsPerAttribute:n.componentsPerAttribute,normalize:n.normalize})}var S,E=u.indices;return r(E)&&(S=c.computeNumberOfVertices(u)>m.SIXTY_FOUR_KILOBYTES&&this.getElementIndexUint()?this.createIndexBuffer(new Uint32Array(E),h,s.UNSIGNED_INT):this.createIndexBuffer(new Uint16Array(E),h,s.UNSIGNED_SHORT)),this.createVertexArray(y,S)},Q.prototype.createPickFramebuffer=function(){return new w(this)},Q.prototype.getObjectByPickColor=function(e){return this._pickObjects[e.toRgba()]},K.prototype.destroy=function(){return delete this._pickObjects[this.key],void 0},Q.prototype.createPickId=function(e){++this._nextPickColor[0];var t=this._nextPickColor[0];if(0===t)throw new l("Out of unique Pick IDs.");return this._pickObjects[t]=e,new K(this._pickObjects,t,o.fromRgba(t))},Q.prototype.isDestroyed=function(){return!1},Q.prototype.destroy=function(){var e=this.cache;for(var t in e)if(e.hasOwnProperty(t)){var i=e[t];r(i.destroy)&&i.destroy()}return this._shaderCache=this._shaderCache.destroy(),this._defaultTexture=this._defaultTexture&&this._defaultTexture.destroy(),this._defaultCubeMap=this._defaultCubeMap&&this._defaultCubeMap.destroy(),n(this)},Q}),r("Renderer/loadCubeMap",["../Core/defined","../Core/DeveloperError","../Core/loadImage","../ThirdParty/when"],function(e,t,r,i){"use strict";var n=function(n,o,a){if(!e(n))throw new t("context is required.");if(!(e(o)&&e(o.positiveX)&&e(o.negativeX)&&e(o.positiveY)&&e(o.negativeY)&&e(o.positiveZ)&&e(o.negativeZ)))throw new t("urls is required and must have positiveX, negativeX, positiveY, negativeY, positiveZ, and negativeZ properties.");var s=[r(o.positiveX,a),r(o.negativeX,a),r(o.positiveY,a),r(o.negativeY,a),r(o.positiveZ,a),r(o.negativeZ,a)];return i.all(s,function(e){return n.createCubeMap({source:{positiveX:e[0],negativeX:e[1],positiveY:e[2],negativeY:e[3],positiveZ:e[4],negativeZ:e[5]}})})};return n}),r("ThirdParty/Tween",[],function(){var e=e||function(){var e=[];return{REVISION:"7",getAll:function(){return e},removeAll:function(){e=[]},add:function(t){e.push(t)},remove:function(t){var r=e.indexOf(t);-1!==r&&e.splice(r,1)},update:function(t){if(0===e.length)return!1;var r=0,i=e.length;for(t=void 0!==t?t:Date.now();i>r;)e[r].update(t)?r++:(e.splice(r,1),i--);return!0}}}();return e.Tween=function(t){var r=t,i={},n={},o=1e3,a=0,s=null,l=e.Easing.Linear.None,u=e.Interpolation.Linear,c=[],h=null,d=!1,m=null,p=null;this.to=function(e,t){return void 0!==t&&(o=t),n=e,this},this.start=function(t){e.add(this),d=!1,s=void 0!==t?t:Date.now(),s+=a;for(var o in n)if(null!==r[o]){if(n[o]instanceof Array){if(0===n[o].length)continue;n[o]=[r[o]].concat(n[o])}i[o]=r[o]}return this},this.stop=function(){return e.remove(this),this},this.delay=function(e){return a=e,this},this.easing=function(e){return l=e,this},this.interpolation=function(e){return u=e,this},this.chain=function(){return c=arguments,this},this.onStart=function(e){return h=e,this},this.onUpdate=function(e){return m=e,this},this.onComplete=function(e){return p=e,this},this.update=function(e){if(s>e)return!0;d===!1&&(null!==h&&h.call(r),d=!0);var t=(e-s)/o;t=t>1?1:t;var a=l(t);for(var f in i){var v=i[f],y=n[f];r[f]=y instanceof Array?u(y,a):v+(y-v)*a}if(null!==m&&m.call(r,a),1==t){null!==p&&p.call(r);for(var g=0,_=c.length;_>g;g++)c[g].start(e);return!1}return!0}},e.Easing={Linear:{None:function(e){return e}},Quadratic:{In:function(e){return e*e},Out:function(e){return e*(2-e)},InOut:function(e){return(e*=2)<1?.5*e*e:-.5*(--e*(e-2)-1)}},Cubic:{In:function(e){return e*e*e},Out:function(e){return--e*e*e+1},InOut:function(e){return(e*=2)<1?.5*e*e*e:.5*((e-=2)*e*e+2)}},Quartic:{In:function(e){return e*e*e*e},Out:function(e){return 1- --e*e*e*e},InOut:function(e){return(e*=2)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2)}},Quintic:{In:function(e){return e*e*e*e*e},Out:function(e){return--e*e*e*e*e+1},InOut:function(e){return(e*=2)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2)}},Sinusoidal:{In:function(e){return 1-Math.cos(e*Math.PI/2)},Out:function(e){return Math.sin(e*Math.PI/2)},InOut:function(e){return.5*(1-Math.cos(Math.PI*e))}},Exponential:{In:function(e){return 0===e?0:Math.pow(1024,e-1)},Out:function(e){return 1===e?1:1-Math.pow(2,-10*e)},InOut:function(e){return 0===e?0:1===e?1:(e*=2)<1?.5*Math.pow(1024,e-1):.5*(-Math.pow(2,-10*(e-1))+2)}},Circular:{In:function(e){return 1-Math.sqrt(1-e*e)},Out:function(e){return Math.sqrt(1- --e*e)},InOut:function(e){return(e*=2)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1)}},Elastic:{In:function(e){var t,r=.1,i=.4;return 0===e?0:1===e?1:(!r||1>r?(r=1,t=i/4):t=i*Math.asin(1/r)/(2*Math.PI),-(r*Math.pow(2,10*(e-=1))*Math.sin((e-t)*2*Math.PI/i)))},Out:function(e){var t,r=.1,i=.4;return 0===e?0:1===e?1:(!r||1>r?(r=1,t=i/4):t=i*Math.asin(1/r)/(2*Math.PI),r*Math.pow(2,-10*e)*Math.sin((e-t)*2*Math.PI/i)+1)},InOut:function(e){var t,r=.1,i=.4;return 0===e?0:1===e?1:(!r||1>r?(r=1,t=i/4):t=i*Math.asin(1/r)/(2*Math.PI),(e*=2)<1?-.5*r*Math.pow(2,10*(e-=1))*Math.sin((e-t)*2*Math.PI/i):.5*r*Math.pow(2,-10*(e-=1))*Math.sin((e-t)*2*Math.PI/i)+1)}},Back:{In:function(e){var t=1.70158;return e*e*((t+1)*e-t)},Out:function(e){var t=1.70158;return--e*e*((t+1)*e+t)+1},InOut:function(e){var t=2.5949095;return(e*=2)<1?.5*e*e*((t+1)*e-t):.5*((e-=2)*e*((t+1)*e+t)+2)}},Bounce:{In:function(t){return 1-e.Easing.Bounce.Out(1-t)},Out:function(e){return 1/2.75>e?7.5625*e*e:2/2.75>e?7.5625*(e-=1.5/2.75)*e+.75:2.5/2.75>e?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},InOut:function(t){return.5>t?.5*e.Easing.Bounce.In(2*t):.5*e.Easing.Bounce.Out(2*t-1)+.5}}},e.Interpolation={Linear:function(t,r){var i=t.length-1,n=i*r,o=Math.floor(n),a=e.Interpolation.Utils.Linear;return 0>r?a(t[0],t[1],n):r>1?a(t[i],t[i-1],i-n):a(t[o],t[o+1>i?i:o+1],n-o)},Bezier:function(t,r){var i,n=0,o=t.length-1,a=Math.pow,s=e.Interpolation.Utils.Bernstein;for(i=0;o>=i;i++)n+=a(1-r,o-i)*a(r,i)*t[i]*s(o,i);return n},CatmullRom:function(t,r){var i=t.length-1,n=i*r,o=Math.floor(n),a=e.Interpolation.Utils.CatmullRom;return t[0]===t[i]?(0>r&&(o=Math.floor(n=i*(1+r))),a(t[(o-1+i)%i],t[o],t[(o+1)%i],t[(o+2)%i],n-o)):0>r?t[0]-(a(t[0],t[0],t[1],t[1],-n)-t[0]):r>1?t[i]-(a(t[i],t[i],t[i-1],t[i-1],n-i)-t[i]):a(t[o?o-1:0],t[o],t[o+1>i?i:o+1],t[o+2>i?i:o+2],n-o)},Utils:{Linear:function(e,t,r){return(t-e)*r+e},Bernstein:function(t,r){var i=e.Interpolation.Utils.Factorial;return i(t)/i(r)/i(t-r)},Factorial:function(){var e=[1];return function(t){var r,i=1;if(e[t])return e[t];for(r=t;r>1;r--)i*=r;return e[t]=i}}(),CatmullRom:function(e,t,r,i,n){var o=.5*(r-e),a=.5*(i-t),s=n*n,l=n*s;return(2*t-2*r+o+a)*l+(-3*t+3*r-2*o-a)*s+o*n+t}}},e}),r("Scene/AnimationCollection",["../Core/defined","../Core/DeveloperError","../Core/clone","../ThirdParty/Tween","../Core/defaultValue"],function(e,t,r,i,n){"use strict";var o=function(){};return o.prototype.add=function(o){if(o=n(o,n.EMPTY_OBJECT),!e(o.duration))throw new t("duration is required.");if(o.duration>0){var a=n(o.delayDuration,0),s=n(o.easingFunction,i.Easing.Linear.None),l=r(o.startValue),u=new i.Tween(l);return u.onCancel=o.onCancel,u.to(o.stopValue,o.duration),u.delay(a),u.easing(s),"function"==typeof o.onUpdate&&u.onUpdate(function(){o.onUpdate(l)}),u.onComplete(n(o.onComplete,null)),u.start(),{_tween:u}}"function"==typeof o.onComplete&&o.onComplete()},o.prototype.addAlpha=function(r,o,a,s){if(!e(r))throw new t("material is required.");var l=[];for(var u in r.uniforms)r.uniforms.hasOwnProperty(u)&&e(r.uniforms[u])&&e(r.uniforms[u].alpha)&&l.push(u);if(0===l.length)throw new t("material has no properties with alpha components.");o=n(o,0),a=n(a,1),s=n(s,n.EMPTY_OBJECT);var c=n(s.duration,3e3),h=n(s.delayDuration,0),d=n(s.easingFunction,i.Easing.Linear.None),m={alpha:o},p=new i.Tween(m);return p.to({alpha:a},c),p.delay(h),p.easing(d),p.onUpdate(function(){for(var e=l.length,t=0;e>t;++t)r.uniforms[l[t]].alpha=m.alpha}),p.onComplete(n(s.onComplete,null)),p.start(),{_tween:p}},o.prototype.addProperty=function(r,o,a,s,l){if(!e(r))throw new t("object is required.");if(!e(o))throw new t("property is required.");if(!e(r[o]))throw new t("object must have the specified property.");l=n(l,n.EMPTY_OBJECT);var u=n(l.duration,3e3),c=n(l.delayDuration,0),h=n(l.easingFunction,i.Easing.Linear.None),d={value:a},m=new i.Tween(d);return m.to({value:s},u),m.delay(c),m.easing(h),m.onUpdate(function(){r[o]=d.value}),m.onComplete(n(l.onComplete,null)),m.start(),{_tween:m}},o.prototype.addOffsetIncrement=function(r,o){if(!e(r))throw new t("material is required.");if(!e(r.uniforms.offset))throw new t("material must have an offset property.");o=n(o,n.EMPTY_OBJECT);var a=n(o.duration,3e3),s=n(o.delayDuration,0),l=n(o.easingFunction,i.Easing.Linear.None),u={offset:r.uniforms.offset},c=new i.Tween(u);return c.to({offset:r.uniforms.offset+1},a),c.delay(s),c.easing(l),c.onUpdate(function(){r.uniforms.offset=u.offset}),c.onComplete(function(){c.to({offset:r.uniforms.offset+1},a),c.start()}),c.start(),{_tween:c}},o.prototype.remove=function(t){if(e(t)){var r=i.getAll().length;return i.remove(t._tween),i.getAll().length===r-1}return!1},o.prototype.removeAll=function(){for(var e=i.getAll(),t=e.length,r=-1;++rn;n+=3)i=o(r,i,e[n],e[n+1],e[n+2]);return r}var s=function(){throw new t("This type should not be instantiated directly.")};s.attributeIndices={position3DAndHeight:0,textureCoordinates:1};var l=[];return s.getRegularGridIndices=function(t,r){var i=l[t];e(i)||(l[t]=i=[]);var n=i[r];if(!e(n)){n=i[r]=new Uint16Array(6*(t-1)*(r-1));for(var o=0,a=0,s=0;r-1>s;++s){for(var u=0;t-1>u;++u){var c=o,h=c+t,d=h+1,m=c+1;n[a++]=c,n[a++]=h,n[a++]=m,n[a++]=m,n[a++]=h,n[a++]=d,++o}++o}}return n},s.createTileEllipsoidGeometryFromBuffers=function(t,o,a,l){var u=r.FLOAT,c=o.vertices,h=t.createVertexBuffer(c,i.STATIC_DRAW),d=5*u.sizeInBytes,m=3;l&&(d+=u.sizeInBytes,++m);var p=[{index:s.attributeIndices.position3DAndHeight,vertexBuffer:h,componentDatatype:u,componentsPerAttribute:m,offsetInBytes:0,strideInBytes:d},{index:s.attributeIndices.textureCoordinates,vertexBuffer:h,componentDatatype:u,componentsPerAttribute:2,offsetInBytes:m*u.sizeInBytes,strideInBytes:d}],f=o.indices.indexBuffers||{},v=f[t.getId()];if(!e(v)||v.isDestroyed()){var y=o.indices;v=t.createIndexBuffer(y,i.STATIC_DRAW,n.UNSIGNED_SHORT),v.setVertexArrayDestroyable(!1),v.referenceCount=1,f[t.getId()]=v,o.indices.indexBuffers=f}else++v.referenceCount;a.vertexArray=t.createVertexArray(p,v)},s.createWireframeVertexArray=function(e,t,r){var o=a(r.indices),s=e.createIndexBuffer(o,i.STATIC_DRAW,n.UNSIGNED_SHORT);return e.createVertexArray(t._attributes,s)},s.heightmapTerrainQuality=.25,s.getEstimatedLevelZeroGeometricErrorForAHeightmap=function(e,t,r){return 2*e.getMaximumRadius()*Math.PI*s.heightmapTerrainQuality/(t*r)},s.prototype.requestTileGeometry=function(){throw new t("This type should not be instantiated directly.")},s.prototype.getErrorEvent=function(){throw new t("This type should not be instantiated directly.")},s.prototype.getLevelMaximumGeometricError=function(){throw new t("This type should not be instantiated directly.")},s.prototype.getCredit=function(){throw new t("This type should not be instantiated directly.")},s.prototype.getTilingScheme=function(){throw new t("This type should not be instantiated directly.")},s.prototype.hasWaterMask=function(){throw new t("This type should not be instantiated directly.")},s.prototype.isReady=function(){throw new t("This type should not be instantiated directly.")},s}),r("Scene/ImageryState",["../Core/Enumeration"],function(e){"use strict";var t={UNLOADED:new e(0,"UNLOADED"),TRANSITIONING:new e(1,"TRANSITIONING"),RECEIVED:new e(2,"RECEIVED"),TEXTURE_LOADED:new e(3,"TEXTURE_LOADED"),READY:new e(4,"READY"),FAILED:new e(5,"FAILED"),INVALID:new e(6,"INVALID"),PLACEHOLDER:new e(7,"PLACEHOLDER")};return t}),r("Scene/TerrainState",["../Core/Enumeration"],function(e){"use strict";var t={FAILED:new e(0,"FAILED"),UNLOADED:new e(1,"UNLOADED"),RECEIVING:new e(2,"RECEIVING"),RECEIVED:new e(3,"RECEIVED"),TRANSFORMING:new e(4,"TRANSFORMING"),TRANSFORMED:new e(5,"TRANSFORMED"),READY:new e(6,"READY")};return t}),r("Scene/TileState",["../Core/Enumeration"],function(e){"use strict";var t={START:new e(0,"START"),LOADING:new e(1,"LOADING"),READY:new e(2,"READY")};return t}),r("Scene/TileProviderError",["../Core/defaultValue","../Core/defined"],function(e,t){"use strict";var r=function(t,r,i,n,o,a){this.provider=t,this.message=r,this.x=i,this.y=n,this.level=o,this.timesRetried=e(a,0),this.retry=!1};return r.handleError=function(e,i,n,o,a,s,l,u){var c=e;return t(e)?(c.provider=i,c.message=o,c.x=a,c.y=s,c.level=l,c.retry=!1,++c.timesRetried):c=new r(i,o,a,s,l,0),n.getNumberOfListeners()>0?n.raiseEvent(c):(console.log('An error occurred in "'+i.constructor.name+'":'),console.log(o)),c.retry&&t(u)&&u(),c},r.handleSuccess=function(e){t(e)&&(e.timesRetried=-1)},r}),r("Scene/TileTerrain",["../Core/BoundingSphere","../Core/Cartesian3","../Core/defined","../Core/DeveloperError","./TerrainProvider","./TerrainState","./TileProviderError","../ThirdParty/when"],function(e,t,r,i,n,o,a,s){"use strict";function l(e,t,i,n,l){function u(t){e.data=t,e.state=o.RECEIVED}function c(){e.state=o.FAILED;var r="Failed to obtain terrain tile X: "+i+" Y: "+n+" Level: "+l+".";t._requestError=a.handleError(t._requestError,t,t.getErrorEvent(),r,i,n,l,h)}function h(){e.data=t.requestTileGeometry(i,n,l),r(e.data)?(e.state=o.RECEIVING,s(e.data,u,c)):e.state=o.UNLOADED}h()}function u(e,t,i,n,a,l){var u=i.getTilingScheme(),c=e.data,h=c.createMesh(u,n,a,l);r(h)&&(e.state=o.TRANSFORMING,s(h,function(t){e.mesh=t,e.state=o.TRANSFORMED},function(){e.state=o.FAILED}))}function c(e,t){n.createTileEllipsoidGeometryFromBuffers(t,e.mesh,e,!0),e.state=o.READY}var h=function(e){this.state=o.UNLOADED,this.data=void 0,this.mesh=void 0,this.vertexArray=void 0,this.upsampleDetails=e};return h.prototype.freeResources=function(){if(this.state=o.UNLOADED,this.data=void 0,this.mesh=void 0,r(this.vertexArray)){var e=this.vertexArray.getIndexBuffer();this.vertexArray.destroy(),this.vertexArray=void 0,!e.isDestroyed()&&r(e.referenceCount)&&(--e.referenceCount,0===e.referenceCount&&e.destroy())}},h.prototype.publishToTile=function(r){var i=this.mesh;t.clone(i.center,r.center),r.minimumHeight=i.minimumHeight,r.maximumHeight=i.maximumHeight,e.clone(i.boundingSphere3D,r.boundingSphere3D),t.clone(i.occludeePointInScaledSpace,r.occludeePointInScaledSpace),r.freeVertexArray(),r.vertexArray=this.vertexArray,this.vertexArray=void 0},h.prototype.processLoadStateMachine=function(e,t,r,i,n){this.state===o.UNLOADED&&l(this,t,r,i,n),this.state===o.RECEIVED&&u(this,e,t,r,i,n),this.state===o.TRANSFORMED&&c(this,e,t,r,i,n)},h.prototype.processUpsampleStateMachine=function(e,t,n,a,l){if(this.state===o.UNLOADED){var h=this.upsampleDetails;if(!r(h))throw new i("TileTerrain cannot upsample unless provided upsampleDetails.");var d=h.data,m=h.x,p=h.y,f=h.level;if(this.data=d.upsample(t.getTilingScheme(),m,p,f,n,a,l),!r(this.data))return;this.state=o.RECEIVING;var v=this;s(this.data,function(e){v.data=e,v.state=o.RECEIVED},function(){v.state=o.FAILED})}this.state===o.RECEIVED&&u(this,e,t,n,a,l),this.state===o.TRANSFORMED&&c(this,e,t,n,a,l)},h}),r("Scene/Tile",["../Core/BoundingSphere","../Core/Cartesian3","../Core/Cartesian4","../Core/defined","../Core/DeveloperError","./ImageryState","./TerrainState","./TileState","./TileTerrain","../Renderer/PixelDatatype","../Renderer/PixelFormat","../Renderer/TextureMagnificationFilter","../Renderer/TextureMinificationFilter","../Renderer/TextureWrap"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m){"use strict"; -function p(e,r,n){var o=v(e);i(o)&&(e.upsampledTerrain=new l(o)),_(e)&&(e.loadedTerrain=new l);for(var a=0,s=n.getLength();s>a;++a){var u=n.get(a);u.show&&u._createTileImagerySkeletons(e,r)}var c=e.tilingScheme.getEllipsoid(),h=e.extent;c.cartographicToCartesian(h.getSouthwest(),e.southwestCornerCartesian);var d=c.cartographicToCartesian(h.getSoutheast(),b);c.cartographicToCartesian(h.getNortheast(),e.northeastCornerCartesian);var m=c.cartographicToCartesian(h.getNorthwest(),T);t.negate(e.southwestCornerCartesian,S),t.cross(t.UNIT_Z,S,S),t.normalize(S,e.westNormal),t.negate(e.northeastCornerCartesian,S),t.cross(S,t.UNIT_Z,S),t.normalize(S,e.eastNormal),c.geodeticSurfaceNormal(d,E),t.subtract(e.southwestCornerCartesian,d,S),t.cross(E,S,S),t.normalize(S,e.southNormal),c.geodeticSurfaceNormal(m,E),t.subtract(e.northeastCornerCartesian,m,S),t.cross(E,S,S),t.normalize(S,e.northNormal)}function f(e,t,r){var n=e.loadedTerrain,o=e.upsampledTerrain,s=!1;if(i(n)){if(n.processLoadStateMachine(t,r,e.x,e.y,e.level),n.state.value>=a.RECEIVED.value){if(e.terrainData!==n.data){e.terrainData=n.data;var l=e.terrainData.getWaterMask();i(l)&&(i(e.waterMaskTexture)&&(--e.waterMaskTexture.referenceCount,0===e.waterMaskTexture.referenceCount&&e.waterMaskTexture.destroy()),e.waterMaskTexture=w(t,l),e.waterMaskTranslationAndScale.x=0,e.waterMaskTranslationAndScale.y=0,e.waterMaskTranslationAndScale.z=1,e.waterMaskTranslationAndScale.w=1),g(e)}s=!0}n.state===a.READY?(n.publishToTile(e),e.loadedTerrain=void 0,e.upsampledTerrain=void 0):n.state===a.FAILED&&(e.loadedTerrain=void 0)}!s&&i(o)&&(o.processUpsampleStateMachine(t,r,e.x,e.y,e.level),o.state.value>=a.RECEIVED.value&&e.terrainData!==o.data&&(e.terrainData=o.data,r.hasWaterMask()&&C(e,t),y(e)),o.state===a.READY?(o.publishToTile(e),e.upsampledTerrain=void 0):o.state===a.FAILED&&(e.upsampledTerrain=void 0))}function v(e){for(var t=e.parent;i(t)&&!i(t.terrainData);)t=t.parent;return i(t)?{data:t.terrainData,x:t.x,y:t.y,level:t.level}:void 0}function y(e){if(i(e.children))for(var t=0;4>t;++t){var r=e.children[t];if(r.state!==s.START){if(i(r.terrainData)&&!r.terrainData.wasCreatedByUpsampling())continue;i(r.upsampledTerrain)&&r.upsampledTerrain.freeResources(),r.upsampledTerrain=new l({data:e.terrainData,x:e.x,y:e.y,level:e.level}),r.state=s.LOADING}}}function g(e){if(i(e.children))for(var t=0;4>t;++t){var r=e.children[t];if(r.state!==s.START){if(i(r.terrainData)&&!r.terrainData.wasCreatedByUpsampling())continue;i(r.upsampledTerrain)&&r.upsampledTerrain.freeResources(),r.upsampledTerrain=new l({data:e.terrainData,x:e.x,y:e.y,level:e.level}),e.terrainData.isChildAvailable(e.x,e.y,r.x,r.y)&&(i(r.loadedTerrain)||(r.loadedTerrain=new l)),r.state=s.LOADING}}}function _(e){var t=e.parent;return i(t)?i(t.terrainData)?t.terrainData.isChildAvailable(t.x,t.y,e.x,e.y):!1:!0}function w(e,t){var r,n=e.cache.tile_waterMaskData;i(n)||(n=e.cache.tile_waterMaskData={allWaterTexture:void 0,allLandTexture:void 0,sampler:void 0,destroy:function(){i(this.allWaterTexture)&&this.allWaterTexture.destroy(),i(this.allLandTexture)&&this.allLandTexture.destroy()}});var o=Math.sqrt(t.length);return 1!==o||0!==t[0]&&255!==t[0]?(r=e.createTexture2D({pixelFormat:c.LUMINANCE,pixelDatatype:u.UNSIGNED_BYTE,source:{width:o,height:o,arrayBufferView:t}}),r.referenceCount=0,i(n.sampler)||(n.sampler=e.createSampler({wrapS:m.CLAMP_TO_EDGE,wrapT:m.CLAMP_TO_EDGE,minificationFilter:d.LINEAR,magnificationFilter:h.LINEAR})),r.setSampler(n.sampler)):(i(n.allWaterTexture)||(n.allWaterTexture=e.createTexture2D({pixelFormat:c.LUMINANCE,pixelDatatype:u.UNSIGNED_BYTE,source:{arrayBufferView:new Uint8Array([255]),width:1,height:1}}),n.allWaterTexture.referenceCount=1,n.allLandTexture=e.createTexture2D({pixelFormat:c.LUMINANCE,pixelDatatype:u.UNSIGNED_BYTE,source:{arrayBufferView:new Uint8Array([0]),width:1,height:1}}),n.allLandTexture.referenceCount=1),r=0===t[0]?n.allLandTexture:n.allWaterTexture),++r.referenceCount,r}function C(e){for(var t=e.parent;i(t)&&!i(t.terrainData)||t.terrainData.wasCreatedByUpsampling();)t=t.parent;if(i(t)&&i(t.waterMaskTexture)){e.waterMaskTexture=t.waterMaskTexture,++e.waterMaskTexture.referenceCount;var r=t.extent,n=e.extent,o=n.east-n.west,a=n.north-n.south,s=o/(r.east-r.west),l=a/(r.north-r.south);e.waterMaskTranslationAndScale.x=s*(n.west-r.west)/o,e.waterMaskTranslationAndScale.y=l*(n.south-r.south)/a,e.waterMaskTranslationAndScale.z=s,e.waterMaskTranslationAndScale.w=l}}var x=function(o){if(!i(o))throw new n("description is required.");if(i(o.x)&&i(o.y)){if(o.x<0||o.y<0)throw new n("description.x and description.y must be greater than or equal to zero.")}else if(!i(o.extent))throw new n("Either description.extent is required or description.x and description.y are required.");if(!i(o.level)||o.zoom<0)throw new n("description.level is required and must be greater than or equal to zero.");if(!i(o.tilingScheme))throw new n("description.tilingScheme is required.");this.tilingScheme=o.tilingScheme,this.x=o.x,this.y=o.y,this.level=o.level,this.parent=o.parent,this.children=void 0,this.extent=this.tilingScheme.tileXYToExtent(this.x,this.y,this.level),this.state=s.START,this.replacementPrevious=void 0,this.replacementNext=void 0,this.imagery=[],this.distance=0,this.southwestCornerCartesian=new t,this.northeastCornerCartesian=new t,this.westNormal=new t,this.southNormal=new t,this.eastNormal=new t,this.northNormal=new t,this.waterMaskTexture=void 0,this.waterMaskTranslationAndScale=new r(0,0,1,1),this.terrainData=void 0,this.center=new t,this.vertexArray=void 0,this.minimumHeight=0,this.maximumHeight=0,this.boundingSphere3D=new e,this.boundingSphere2D=new e,this.occludeePointInScaledSpace=new t,this.isRenderable=!1,this.loadedTerrain=void 0,this.upsampledTerrain=void 0};x.prototype.getChildren=function(){if(!i(this.children)){var e=this.tilingScheme,t=this.level+1,r=2*this.x,n=2*this.y;this.children=[new x({tilingScheme:e,x:r,y:n,level:t,parent:this}),new x({tilingScheme:e,x:r+1,y:n,level:t,parent:this}),new x({tilingScheme:e,x:r,y:n+1,level:t,parent:this}),new x({tilingScheme:e,x:r+1,y:n+1,level:t,parent:this})]}return this.children},x.prototype.freeResources=function(){i(this.waterMaskTexture)&&(--this.waterMaskTexture.referenceCount,0===this.waterMaskTexture.referenceCount&&this.waterMaskTexture.destroy(),this.waterMaskTexture=void 0),this.state=s.START,this.isRenderable=!1,this.terrainData=void 0,i(this.loadedTerrain)&&(this.loadedTerrain.freeResources(),this.loadedTerrain=void 0),i(this.upsampledTerrain)&&(this.upsampledTerrain.freeResources(),this.upsampledTerrain=void 0);var e,t,r=this.imagery;for(e=0,t=r.length;t>e;++e)r[e].freeResources();if(this.imagery.length=0,i(this.children)){for(e=0,t=this.children.length;t>e;++e)this.children[e].freeResources();this.children=void 0}this.freeVertexArray()},x.prototype.freeVertexArray=function(){var e;i(this.vertexArray)&&(e=this.vertexArray.getIndexBuffer(),this.vertexArray.destroy(),this.vertexArray=void 0,!e.isDestroyed()&&i(e.referenceCount)&&(--e.referenceCount,0===e.referenceCount&&e.destroy())),"undefined"!=typeof this.wireframeVertexArray&&(e=this.wireframeVertexArray.getIndexBuffer(),this.wireframeVertexArray.destroy(),this.wireframeVertexArray=void 0,e.isDestroyed()||"undefined"==typeof e.referenceCount||(--e.referenceCount,0===e.referenceCount&&e.destroy()))},x.prototype.processStateMachine=function(e,t,r){this.state===s.START&&(p(this,t,r),this.state=s.LOADING),this.state===s.LOADING&&f(this,e,t);for(var n=i(this.vertexArray),a=!i(this.loadedTerrain)&&!i(this.upsampledTerrain),l=this.imagery,u=0,c=l.length;c>u;++u){var h=l[u];if(i(h.loadingImagery)){if(h.loadingImagery.state===o.PLACEHOLDER){var d=h.loadingImagery.imageryLayer;if(d.getImageryProvider().isReady()){h.freeResources(),l.splice(u,1),d._createTileImagerySkeletons(this,t,u),--u,c=l.length;continue}}var m=h.processStateMachine(this,e);a=a&&m,n=n&&(m||i(h.readyImagery))}}u===c&&(n&&(this.isRenderable=!0),a&&(this.state=s.READY))};var S=new t,E=new t,b=new t,T=new t;return x}),r("Scene/TilingScheme",["../Core/defined","../Core/DeveloperError","./Tile"],function(e,t,r){"use strict";var i=function(){throw new t("This type should not be instantiated directly. Instead, use WebMercatorTilingScheme or GeographicTilingScheme.")};return i.prototype.getEllipsoid=function(){throw new t("This type should not be instantiated directly.")},i.prototype.getExtent=function(){throw new t("This type should not be instantiated directly.")},i.prototype.getProjection=function(){throw new t("This type should not be instantiated directly.")},i.prototype.getNumberOfXTilesAtLevel=function(){throw new t("This type should not be instantiated directly.")},i.prototype.getNumberOfYTilesAtLevel=function(){throw new t("This type should not be instantiated directly.")},i.prototype.createLevelZeroTiles=function(){throw new t("This type should not be instantiated directly.")},i.prototype.extentToNativeExtent=function(){throw new t("This type should not be instantiated directly.")},i.prototype.tileXYToNativeExtent=function(){throw new t("This type should not be instantiated directly.")},i.prototype.tileXYToExtent=function(){throw new t("This type should not be instantiated directly.")},i.prototype.positionToTileXY=function(){throw new t("This type should not be instantiated directly.")},i.createRectangleOfLevelZeroTiles=function(i,n,o){if(!e(i))throw new t("tilingScheme is required.");if(!e(n))throw new t("numberOfLevelZeroTilesX is required.");if(!e(o))throw new t("numberOfLevelZeroTilesY is required.");for(var a=new Array(n*o),s=0,l=0;o>l;++l)for(var u=0;n>u;++u)a[s++]=new r({tilingScheme:i,x:u,y:l,level:0});return a},i}),r("Scene/GeographicTilingScheme",["../Core/defaultValue","../Core/defined","../Core/DeveloperError","../Core/Math","../Core/Cartesian2","../Core/Ellipsoid","../Core/Extent","../Core/GeographicProjection","./TilingScheme"],function(e,t,r,i,n,o,a,s,l){"use strict";var u=function(t){t=e(t,{}),this._ellipsoid=e(t.ellipsoid,o.WGS84),this._extent=e(t.extent,a.MAX_VALUE),this._projection=new s(this._ellipsoid),this._numberOfLevelZeroTilesX=e(t.numberOfLevelZeroTilesX,2),this._numberOfLevelZeroTilesY=e(t.numberOfLevelZeroTilesY,1)};return u.prototype.getEllipsoid=function(){return this._ellipsoid},u.prototype.getExtent=function(){return this._extent},u.prototype.getProjection=function(){return this._projection},u.prototype.getNumberOfXTilesAtLevel=function(e){return this._numberOfLevelZeroTilesX<o.north||e.latitudeo.east)return void 0;var a=this.getNumberOfXTilesAtLevel(r),s=this.getNumberOfYTilesAtLevel(r),l=(o.east-o.west)/a,u=(o.north-o.south)/s,c=0|(e.longitude-o.west)/l;c>=a&&(c=a-1);var h=0|(o.north-e.latitude)/u;return h>=s&&(h=s-1),t(i)?(i.x=c,i.y=h,i):new n(c,h)},u}),r("Scene/TerrainMesh",[],function(){"use strict";var e=function(e,t,r,i,n,o,a){this.center=e,this.vertices=t,this.indices=r,this.minimumHeight=i,this.maximumHeight=n,this.boundingSphere3D=o,this.occludeePointInScaledSpace=a};return e}),r("Scene/HeightmapTerrainData",["../Core/defaultValue","../Core/defined","../Core/DeveloperError","../Core/HeightmapTessellator","../Core/Math","../Core/TaskProcessor","./GeographicTilingScheme","./TerrainMesh","./TerrainProvider","../ThirdParty/when"],function(e,t,r,i,n,o,a,s,l,u){"use strict";function c(e,t,r,i,n,o,a){var s=1,l=e._width,u=e._height,c=o*(l-1),h=c+l-1,d=a*(u-1),m=d+u-1,p=1<1)for(_=x;S>=_;++_)for(g=w;C>=g;++g)for(var R=(_*l+g)*O,L=0;O>L;++L)M[I++]=T[R+L];else for(_=x;S>=_;++_)for(g=w;C>=g;++g)M[I++]=T[_*l+g];return new y({buffer:M,width:E,height:b,childTileMask:0,structure:e._structure,createdByUpsampling:!0})}function h(e,t,r,i,o,a,s,l){var u,c,h,p,f=e._width,g=e._height,_=e._structure,w=_.stride,C=e._buffer,x=new C.constructor(f*g*w),S=t.tileXYToExtent(r,i,o),E=t.tileXYToExtent(a,s,l);if(w>1){var b=_.elementsPerHeight,T=_.elementMultiplier,A=_.isBigEndian,D=Math.pow(T,b-1);for(c=0;g>c;++c)for(h=n.lerp(E.north,E.south,c/(g-1)),u=0;f>u;++u){p=n.lerp(E.west,E.east,u/(f-1));var P=m(C,b,T,w,A,S,f,g,p,h);v(x,b,T,D,w,A,c*f+u,P)}}else for(c=0;g>c;++c)for(h=n.lerp(E.north,E.south,c/(g-1)),u=0;f>u;++u)p=n.lerp(E.west,E.east,u/(f-1)),x[c*f+u]=d(C,S,f,g,p,h);return new y({buffer:x,width:f,height:g,childTileMask:0,structure:e._structure,createdByUpsampling:!0})}function d(e,t,r,i,n,o){var a=(n-t.west)*(r-1)/(t.east-t.west),s=(o-t.south)*(i-1)/(t.north-t.south),l=0|a,u=l+1;u>=r&&(u=r-1,l=r-2);var c=0|s,h=c+1;h>=i&&(h=i-1,c=i-2);var d=a-l,m=s-c;c=i-1-c,h=i-1-h;var f=e[c*r+l],v=e[c*r+u],y=e[h*r+l],g=e[h*r+u];return p(d,m,f,v,y,g)}function m(e,t,r,i,n,o,a,s,l,u){var c=(l-o.west)*(a-1)/(o.east-o.west),h=(u-o.south)*(s-1)/(o.north-o.south),d=0|c,m=d+1;m>=a&&(m=a-1,d=a-2);var v=0|h,y=v+1;y>=s&&(y=s-1,v=s-2);var g=c-d,_=h-v;v=s-1-v,y=s-1-y;var w=f(e,t,r,i,n,v*a+d),C=f(e,t,r,i,n,v*a+m),x=f(e,t,r,i,n,y*a+d),S=f(e,t,r,i,n,y*a+m);return p(g,_,w,C,x,S)}function p(e,t,r,i,n,o){return e>t?r+e*(i-r)+t*(o-i):r+e*(o-n)+t*(n-r)}function f(e,t,r,i,n,o){o*=i;var a,s=0;if(n)for(a=0;t>a;++a)s=s*r+e[o+a];else for(a=t-1;a>=0;--a)s=s*r+e[o+a];return s}function v(e,t,r,i,n,o,a,s){a*=n;var l;if(o)for(l=0;t>l;++l)e[a+l]=0|s/i,s-=e[a+l]*i,i/=r;else for(l=t-1;l>=0;--l)e[a+l]=0|s/i,s-=e[a+l]*i,i/=r}var y=function(n){if(!t(n)||!t(n.buffer))throw new r("description.buffer is required.");if(!t(n.width))throw new r("description.width is required.");if(!t(n.height))throw new r("description.height is required.");this._buffer=n.buffer,this._width=n.width,this._height=n.height,this._childTileMask=e(n.childTileMask,15);var o=i.DEFAULT_STRUCTURE,a=n.structure;t(a)?a!==o&&(a.heightScale=e(a.heightScale,o.heightScale),a.heightOffset=e(a.heightOffset,o.heightOffset),a.elementsPerHeight=e(a.elementsPerHeight,o.elementsPerHeight),a.stride=e(a.stride,o.stride),a.elementMultiplier=e(a.elementMultiplier,o.elementMultiplier),a.isBigEndian=e(a.isBigEndian,o.isBigEndian)):a=o,this._structure=a,this._createdByUpsampling=e(n.createdByUpsampling,!1),this._waterMask=n.waterMask},g=new o("createVerticesFromHeightmap");return y.prototype.createMesh=function(e,i,n,o){if(!t(e))throw new r("tilingScheme is required.");if(!t(i))throw new r("x is required.");if(!t(n))throw new r("y is required.");if(!t(o))throw new r("level is required.");var c=e.getEllipsoid(),h=e.tileXYToNativeExtent(i,n,o),d=e.tileXYToExtent(i,n,o),m=c.cartographicToCartesian(d.getCenter()),p=this._structure,f=l.getEstimatedLevelZeroGeometricErrorForAHeightmap(c,this._width,e.getNumberOfXTilesAtLevel(0)),v=f/(1<1){var l=a.elementsPerHeight,u=a.elementMultiplier,c=a.isBigEndian;i=m(this._buffer,l,u,s,c,e,n,o,t,r)}else i=d(this._buffer,e,n,o,t,r);return i*a.heightScale+a.heightOffset},y.prototype.upsample=function(e,i,n,o,a,s,l){if(!t(e))throw new r("tilingScheme is required.");if(!t(i))throw new r("thisX is required.");if(!t(n))throw new r("thisY is required.");if(!t(o))throw new r("thisLevel is required.");if(!t(a))throw new r("descendantX is required.");if(!t(s))throw new r("descendantY is required.");if(!t(l))throw new r("descendantLevel is required.");var u=l-o;if(u>1)throw new r("Upsampling through more than one level at a time is not currently supported.");var d;return d=1===this._width%2&&1===this._height%2?c(this,e,i,n,o,a,s,l):h(this,e,i,n,o,a,s,l)},y.prototype.isChildAvailable=function(e,i,n,o){if(!t(e))throw new r("thisX is required.");if(!t(i))throw new r("thisY is required.");if(!t(n))throw new r("childX is required.");if(!t(o))throw new r("childY is required.");var a=2;return n!==2*e&&++a,o!==2*i&&(a-=2),0!==(this._childTileMask&1<l;++l){var h=s[l],d=4*h.x+h.y*o,m=r[d+3];m>0&&(n=!1)}n&&(r=void 0)}u._missingImagePixels=r,u._isReady=!0}function l(){u._missingImagePixels=void 0,u._isReady=!0}if(a=e(a,{}),!t(a.missingImageUrl))throw new n("description.missingImageUrl is required.");if(!t(a.pixelsToCheck))throw new n("description.pixelsToCheck is required.");this._pixelsToCheck=a.pixelsToCheck,this._missingImagePixels=void 0,this._missingImageByteLength=void 0,this._isReady=!1;var u=this;o(r(a.missingImageUrl),s,l)};return a.prototype.isReady=function(){return this._isReady},a.prototype.shouldDiscardImage=function(e){if(!this._isReady)throw new n("shouldDiscardImage must not be called before the discard policy is ready.");var r=this._pixelsToCheck,o=this._missingImagePixels;if(!t(o))return!1;if(t(e.blob)&&e.blob.size!==this._missingImageByteLength)return!1;for(var a=i(e),s=e.width,l=0,u=r.length;u>l;++l)for(var c=r[l],h=4*c.x+c.y*s,d=0;4>d;++d){var m=h+d;if(a[m]!==o[m])return!1}return!0},a}),r("Scene/ImageryProvider",["../Core/defined","../Core/loadImage","../Core/loadImageViaBlob","../Core/DeveloperError","../Core/throttleRequestByServer"],function(e,t,r,i,n){"use strict";var o=function(){throw this.defaultAlpha=void 0,this.defaultBrightness=void 0,this.defaultContrast=void 0,this.defaultHue=void 0,this.defaultSaturation=void 0,this.defaultGamma=void 0,new i("This type should not be instantiated directly.")};return o.prototype.isReady=function(){throw new i("This type should not be instantiated directly.")},o.prototype.getExtent=function(){throw new i("This type should not be instantiated directly.")},o.prototype.getTileWidth=function(){throw new i("This type should not be instantiated directly.")},o.prototype.getTileHeight=function(){throw new i("This type should not be instantiated directly.")},o.prototype.getMaximumLevel=function(){throw new i("This type should not be instantiated directly.")},o.prototype.getMinimumLevel=function(){throw new i("This type should not be instantiated directly.")},o.prototype.getTilingScheme=function(){throw new i("This type should not be instantiated directly.")},o.prototype.getTileDiscardPolicy=function(){throw new i("This type should not be instantiated directly.")},o.prototype.getErrorEvent=function(){throw new i("This type should not be instantiated directly.")},o.prototype.getCredit=function(){throw new i("This type should not be instantiated directly.")},o.prototype.getProxy=function(){throw new i("This type should not be instantiated directly.")},o.prototype.requestImage=function(){throw new i("This type should not be instantiated directly.")},o.loadImage=function(i,o){return e(i.getTileDiscardPolicy())?n(o,r):n(o,t)},o}),r("Scene/WebMercatorTilingScheme",["../Core/defaultValue","../Core/defined","../Core/Ellipsoid","../Core/Extent","../Core/Cartesian2","../Core/WebMercatorProjection","./TilingScheme"],function(e,t,r,i,n,o,a){"use strict";var s=function(a){if(a=e(a,{}),this._ellipsoid=e(a.ellipsoid,r.WGS84),this._numberOfLevelZeroTilesX=e(a.numberOfLevelZeroTilesX,1),this._numberOfLevelZeroTilesY=e(a.numberOfLevelZeroTilesY,1),this._projection=new o(this._ellipsoid),t(a.extentSouthwestInMeters)&&t(a.extentNortheastInMeters))this._extentSouthwestInMeters=a.extentSouthwestInMeters,this._extentNortheastInMeters=a.extentNortheastInMeters;else{var s=this._ellipsoid.getMaximumRadius()*Math.PI;this._extentSouthwestInMeters=new n(-s,-s),this._extentNortheastInMeters=new n(s,s)}var l=this._projection.unproject(this._extentSouthwestInMeters),u=this._projection.unproject(this._extentNortheastInMeters);this._extent=new i(l.longitude,l.latitude,u.longitude,u.latitude)};return s.prototype.getEllipsoid=function(){return this._ellipsoid},s.prototype.getExtent=function(){return this._extent},s.prototype.getProjection=function(){return this._projection},s.prototype.getNumberOfXTilesAtLevel=function(e){return this._numberOfLevelZeroTilesX<o.north||e.latitudeo.east)return void 0;var a=this.getNumberOfXTilesAtLevel(r),s=this.getNumberOfYTilesAtLevel(r),l=this._extentNortheastInMeters.x-this._extentSouthwestInMeters.x,u=l/a,c=this._extentNortheastInMeters.y-this._extentSouthwestInMeters.y,h=c/s,d=this._projection,m=d.project(e),p=m.x-this._extentSouthwestInMeters.x,f=this._extentNortheastInMeters.y-m.y,v=0|p/u;v>=a&&(v=a-1);var y=0|f/h;return y>=s&&(y=s-1),t(i)?(i.x=v,i.y=y,i):new n(v,y)},s}),r("Scene/ArcGisMapServerImageryProvider",["../Core/defaultValue","../Core/defined","../Core/jsonp","../Core/Cartesian2","../Core/DeveloperError","../Core/Event","./DiscardMissingTileImagePolicy","./GeographicTilingScheme","./ImageryProvider","./TileProviderError","./WebMercatorTilingScheme","./Credit","../ThirdParty/when"],function(e,t,r,i,n,o,a,s,l,u,c,h,d){"use strict";function m(e,r,i,n){var o;if(e._useTiles)o=e._url+"/tile/"+n+"/"+i+"/"+r;else{var a=e._tilingScheme.tileXYToNativeExtent(r,i,n),s=a.west+"%2C"+a.south+"%2C"+a.east+"%2C"+a.north;o=e._url+"/export?",o+="bbox="+s,o+="&bboxSR=4326&size=256%2C256&imageSR=4326&format=png&transparent=true&f=image"}var l=e._proxy;return t(l)&&(o=l.getURL(o)),o}var p=function(l){function p(e){var r=e.tileInfo;if(g._useTiles&&t(r)){if(g._tileWidth=r.rows,g._tileHeight=r.cols,102100===r.spatialReference.wkid)g._tilingScheme=new c;else{if(4326!==e.tileInfo.spatialReference.wkid){var n="Tile spatial reference WKID "+e.tileInfo.spatialReference.wkid+" is not supported.";return y=u.handleError(y,g,g._errorEvent,n,void 0,void 0,void 0,v),void 0}g._tilingScheme=new s}g._maximumLevel=e.tileInfo.lods.length-1,t(g._tileDiscardPolicy)||(g._tileDiscardPolicy=new a({missingImageUrl:m(g,0,0,g._maximumLevel),pixelsToCheck:[new i(0,0),new i(200,20),new i(20,200),new i(80,110),new i(160,130)],disableCheckIfAllPixelsAreTransparent:!0})),g._useTiles=!0}else g._tileWidth=256,g._tileHeight=256,g._tilingScheme=new s,g._useTiles=!1;t(e.copyrightText)&&e.copyrightText.length>0&&(g._credit=new h(e.copyrightText)),g._ready=!0,u.handleSuccess(y)}function f(){var e="An error occurred while accessing "+g._url+".";y=u.handleError(y,g,g._errorEvent,e,void 0,void 0,void 0,v)}function v(){var e=r(g._url,{parameters:{f:"json"},proxy:g._proxy});d(e,p,f)}if(l=e(l,{}),!t(l.url))throw new n("description.url is required.");this._url=l.url,this._tileDiscardPolicy=l.tileDiscardPolicy,this._proxy=l.proxy,this._tileWidth=void 0,this._tileHeight=void 0,this._maximumLevel=void 0,this._tilingScheme=void 0,this._credit=void 0,this._useTiles=e(l.usePreCachedTilesIfAvailable,!0),this._errorEvent=new o,this._ready=!1;var y,g=this;v()};return p.prototype.isUsingPrecachedTiles=function(){return this._useTiles},p.prototype.getUrl=function(){return this._url},p.prototype.getProxy=function(){return this._proxy},p.prototype.getTileWidth=function(){if(!this._ready)throw new n("getTileWidth must not be called before the imagery provider is ready.");return this._tileWidth},p.prototype.getTileHeight=function(){if(!this._ready)throw new n("getTileHeight must not be called before the imagery provider is ready.");return this._tileHeight},p.prototype.getMaximumLevel=function(){if(!this._ready)throw new n("getMaximumLevel must not be called before the imagery provider is ready.");return this._maximumLevel},p.prototype.getMinimumLevel=function(){if(!this._ready)throw new n("getMinimumLevel must not be called before the imagery provider is ready.");return 0},p.prototype.getTilingScheme=function(){if(!this._ready)throw new n("getTilingScheme must not be called before the imagery provider is ready.");return this._tilingScheme},p.prototype.getExtent=function(){if(!this._ready)throw new n("getExtent must not be called before the imagery provider is ready.");return this._tilingScheme.getExtent()},p.prototype.getTileDiscardPolicy=function(){if(!this._ready)throw new n("getTileDiscardPolicy must not be called before the imagery provider is ready.");return this._tileDiscardPolicy},p.prototype.getErrorEvent=function(){return this._errorEvent},p.prototype.isReady=function(){return this._ready},p.prototype.requestImage=function(e,t,r){if(!this._ready)throw new n("requestImage must not be called before the imagery provider is ready.");var i=m(this,e,t,r);return l.loadImage(this,i)},p.prototype.getCredit=function(){return this._credit},p}),r("Scene/BingMapsStyle",["../Core/Enumeration"],function(e){"use strict";var t={AERIAL:new e(0,"AERIAL",{imagerySetName:"Aerial"}),AERIAL_WITH_LABELS:new e(1,"AERIAL_WITH_LABELS",{imagerySetName:"AerialWithLabels"}),ROAD:new e(2,"ROAD",{imagerySetName:"Road"}),ORDNANCE_SURVEY:new e(3,"ORDNANCE_SURVEY",{imagerySetName:"OrdnanceSurvey"}),COLLINS_BART:new e(4,"COLLINS_BART",{imagerySetName:"CollinsBart"})};return t}),r("Scene/BingMapsImageryProvider",["../Core/defaultValue","../Core/defined","../Core/jsonp","../Core/BingMapsApi","../Core/Cartesian2","../Core/DeveloperError","../Core/Event","./BingMapsStyle","./DiscardMissingTileImagePolicy","./ImageryProvider","./TileProviderError","./WebMercatorTilingScheme","./Credit","../ThirdParty/when"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m){"use strict";function p(e,r,i,n){var o=e._imageUrlTemplate,a=f.tileXYToQuadKey(r,i,n);o=o.replace("{quadkey}",a);var s=e._imageUrlSubdomains,l=(r+i+n)%s.length;o=o.replace("{subdomain}",s[l]);var u=e._proxy;return t(u)&&(o=u.getURL(o)),o}var f=function v(u){function f(e){var r=e.resourceSets[0].resources[0];C._tileWidth=r.imageWidth,C._tileHeight=r.imageHeight,C._maximumLevel=r.zoomMax-1,C._imageUrlSubdomains=r.imageUrlSubdomains,C._imageUrlTemplate=r.imageUrl.replace("{culture}",""),t(C._tileDiscardPolicy)||(C._tileDiscardPolicy=new l({missingImageUrl:p(C,0,0,C._maximumLevel),pixelsToCheck:[new n(0,0),new n(120,140),new n(130,160),new n(200,50),new n(200,200)],disableCheckIfAllPixelsAreTransparent:!0})),C._ready=!0,c.handleSuccess(_)}function y(){var e="An error occurred while accessing "+w+".";_=c.handleError(_,C,C._errorEvent,e,void 0,void 0,void 0,g)}function g(){var e=r(w,{callbackParameterName:"jsonp",proxy:C._proxy});m(e,f,y)}if(u=e(u,{}),!t(u.url))throw new o("description.url is required.");this._key=i.getKey(u.key),this._url=u.url,this._mapStyle=e(u.mapStyle,s.AERIAL),this._tileDiscardPolicy=u.tileDiscardPolicy,this._proxy=u.proxy,this._credit=new d("Bing Imagery",v._logoData,"http://www.bing.com"),this.defaultGamma=1,(this._mapStyle===s.AERIAL||this._mapStyle===s.AERIAL_WITH_LABELS)&&(this.defaultGamma=1.3),this._tilingScheme=new h({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:2}),this._tileWidth=void 0,this._tileHeight=void 0,this._maximumLevel=void 0,this._imageUrlTemplate=void 0,this._imageUrlSubdomains=void 0,this._errorEvent=new a,this._ready=!1; -var _,w=this._url+"/REST/v1/Imagery/Metadata/"+this._mapStyle.imagerySetName+"?key="+this._key,C=this;g()};return f.prototype.getUrl=function(){return this._url},f.prototype.getProxy=function(){return this._proxy},f.prototype.getKey=function(){return this._key},f.prototype.getMapStyle=function(){return this._mapStyle},f.prototype.getTileWidth=function(){if(!this._ready)throw new o("getTileWidth must not be called before the imagery provider is ready.");return this._tileWidth},f.prototype.getTileHeight=function(){if(!this._ready)throw new o("getTileHeight must not be called before the imagery provider is ready.");return this._tileHeight},f.prototype.getMaximumLevel=function(){if(!this._ready)throw new o("getMaximumLevel must not be called before the imagery provider is ready.");return this._maximumLevel},f.prototype.getMinimumLevel=function(){if(!this._ready)throw new o("getMinimumLevel must not be called before the imagery provider is ready.");return 0},f.prototype.getTilingScheme=function(){if(!this._ready)throw new o("getTilingScheme must not be called before the imagery provider is ready.");return this._tilingScheme},f.prototype.getExtent=function(){if(!this._ready)throw new o("getExtent must not be called before the imagery provider is ready.");return this._tilingScheme.getExtent()},f.prototype.getTileDiscardPolicy=function(){if(!this._ready)throw new o("getTileDiscardPolicy must not be called before the imagery provider is ready.");return this._tileDiscardPolicy},f.prototype.getErrorEvent=function(){return this._errorEvent},f.prototype.isReady=function(){return this._ready},f.prototype.requestImage=function(e,t,r){if(!this._ready)throw new o("requestImage must not be called before the imagery provider is ready.");var i=p(this,e,t,r);return u.loadImage(this,i)},f.prototype.getCredit=function(){return this._credit},f._logoData="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAAWCAYAAACcy/8iAAAABGdBTUEAAK/INwWK6QAAAAlwSFlzAAAOwgAADsIBFShKgAAAABp0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjUuMTAw9HKhAAAL+UlEQVRYR9WYeVSXZRbHFZB9kX0H2UQBWUQFFJcKl9GOVIBLWDNKc7JSUxwVbFxGBBcUaVGSpCI7ogKOWohWipKC4oqaC4KyCIoCssiOznzuD36NecypM/8095zn/F7e57n3ud/7fO997ksvpLeamppq37591U1NTbXNzc31LCwsdE1MTDQMDQ2ZUlORRb8m6urqKkZGRn0Y2mZmZgaMvujqoaulo6PThyW9e8YfQ8RhAwMDDSsrK4MBAwbYeHh4OLi5udnZ29sb47g282osUzr9iyG6AFOXADk6OloNGjTIZfDgwQMRB1tbW9RNtAGt+izdp8bz5Fnr5RAUQ19fX/VZA0yqHIIqvsk60ekWTU1NVU5F19XV1TY2bk3Y7t2ZK1K/+jrSy8vLldM2RVFHV1dXw9jYWFMGADT09PTUed9HhHfa/fr1M5sW/OKI/RuC4wqSX965bWXIHG9vb1dLS0sjdNXZQw2dPqIrwRU7BEpD5sQObkhQlI79DEjmZC/REx3R1dbW1tDS0tJEV4s5Hd7rKQcM1ZXgc3h61tbWOvxqE3jRVWNObPbqhXIfABtxsh5nz57PevTocVdjY2PD0KFDx6IwEND2DGuebWTwbMUwx4AJTgt9TVxcXJyz4kas79ph3fl4h/mj+lSHW2sXTA5nMztSxZANjdjDFGeIgaXCFs/W8jemTDgJfcBoAUZdgghATd7pYdpI9kKs0LORwbM1e8uvPfadnJ2dOSvX/vjg6ODgYEPwrWGbYvC3OcOQd5rsr0rge8sJq4sz0NC3oODM4X8hjY1Nzb6+vtOdnJyCoOmoYcOGjfLz8xstg+dAHx8fP2jvaWNj44SubOS5dfGoFRUpHsV1X7vXXdzsczQibEwYUXbDSXFqIIwZQhADsaGwhZ2R7BFAnH1wyBkAloA0IoiGADLDtj0+DSJF/GRtj85odEbh02hPT8+gxYuXRKSnZ6zOzNyz6tOtye9GRkaOPnPmzPtnz559X35zc3NnJCYmeuCfHimqTvBVBLAGkTQnSsNOnjx1tBtwY3NwcPD8zz//YvPFi5e+v3PnToFyVFZW5l+9eu27AweyP8WBsYAZjnMjJk4Y++aWtQu2bouL+DIhdkkC9iba2dmNIDgvxcdvjCwoOJ1ZXl6ep7RTVVV16saN4qOHDx9Jff318FCA+3FiAwDugk0vgvPinj17E69du/4De55S6pWVleWfOlWQfeFCYc7du9UlDx8+bHz4sLnxVMGZb8PDw8devnw5/vjx44uqq6v31tfXHzl06NB4Trsvvkg6dQOGchZQwj8/vxtwa2tr+4MHD+o6OzvbeW5B8XZV1Z3rbHxVnltaWpuY67h3v6Z8x460LSNHjgxftGjxUhyo7OjoaL18+adTnED4zFmz5ty8eesK71oY7U1NTfeQ4h47FS0tLY1ip6Gh8f7Ro7np06dPf8PL23vSpsQPl1dU3L7a2dnV0dbW3sraqtu3K69WV98rbmxqqu1CHiM9vrY0Nzc3pKSkrOjfv79vRkbGlJiYmFFFRUWrCwsL56elpQ2Dqfpywr8KWKSr61EXm17bu3d/Skho6BQiHjRkyJCg114LCUtL27mpuLjkgmza2trW9sMPh//5wQd/j6mpqa0RXRhwYd68ectu3Sq9Jn/j8P38kyezoeB7sGKC1IdJkyaFpKZ+FX/lytV8QAuGrry8/O8XLly4jJMsEzwNDQ21Bw8e2hkePuMvUFn0Xl62fEU09gvQ6RTbly79dDEx8aNE/HoFhrjANsljK0DKsIAthoDVIr3UqN6KHFYAJjq/AFxWXlG0YEHkfN6PwYY7BcZJhjwTnMCIiL/OLi6+eUXWcgrtO9J27rp/v0YJuHD//m8y2ts7hCHNe/ft3xEYODIUhwaT0/2x44wdN5wZMXly8J+vF924LHowpy07++C3ytPD5hcEKAQ9P6g+EL1BUHPUjBlvzC0puVkoa+rq6u4uW7Y8CpBDyX0LhgFFUXJWj7W6vNdCrw/FubtKS9Eih80kh58EvGHDpniS/SXmXKGCCcOACOlzFZhSW5xl448//iS+DbSy/tr1ohLw1sozp3bpxIkT38mznO7q2LjlOO1PPbJGv6+YYhjjnCOOBW7btu0jWSty/nyhAogILHgXvSAOxIP19hQdJ/wZTAGciv0sCQx0biLW68hTd+bFTQ2CowZoNYKqxjtVDQ0N5XWnuJakwzKl6fCFUod69vpXWFjYHBRG4qQD14UBTYYWwdHi/sNG336cVMBKpL6+oV7W375dVf0k4Ly8vO/lGcD3YmPXRGFrkIDFjjrbihMaBM4MQD5JSUlrZa0IutceIfK8Oz3jK39//zAJFreBsMyLAI15++3ZkRUVFUWypra2rnz58pURvHcErLbYZigB/geoUgChRgQN4btbRmZmonKzrKzs3QRhItHyxDEbQJoBXobcgR5QfXxW1oF0Uk+xPv9kwWko/UzAa9asW4zTAwmWHlsqHCKI0rQYw5RBycnJcbJWZN/+b7JuV1aWCqspUA+OHcvdN2tWxFvk8ERy+JX18RtiqO7nZF/k8YHsg9vd3d0DCYg1BNTA9i87q6eFQKsCQroT26ioqBlE7gqbPaJy1lGBk4KDXwkjZ/2gjA8U9+b+DZg06eXXtmz5NEHyU2gFUECtTVAWracBr18f/zdOwJUT1mVLBWDAS/cjBcUdSq+WtSLJyZ+lRC9duhJQhdSAlvb29jZoW3Pnzt0S8rWCPRtlTzKp48SJvNwxY8ZIg+NN7MywL+zpztXniIosJDcMyWMPnJtzq7T0nFRBrpJONr6UmZn50a5du9bt2rV7LcUoiaJ0WhyRNVLJY2JW/yM6eukKAN8Xp3sAK3KYSludkJD4PsFy6qGc4gTopgSwAUWlf2pq6kpZK7J1a/Jm2BNMnk5OSfkylvv2m9LSslzu8BOlpaX55eUVl9txTECXlZWXUFgjsT0E/y2kBe2x/1zpLacMaKlmFtDYY8mS6HC6lFSagxIpSkIfACoEjF1cRe3cy2U5OTlfREdHvw0DgqKiot8jj29xt7aeO3f+JHP75fnevfslmzZ9OBOnbGGSFvspAFM7VDkVqaL227dvj2Qpy1takpK2xvBuODXCmzTzpasKkO6K8QJNzISQkNCZOUeP7ZPrUAJEcI+PGz9+AteOHZTW7LH/X0VFVVVVjRPQkTYTmjkEBgb6E70pcXFx75Bjy47k5Oz48ccTGVBueWxsLG3cwmkBAQH+5KBcF84vvPDi0BUrVk5Zs2bNW7NnvzN95syZU6H5W+iHkhae0M4Yh5SUE0rLZ6Um+qZ0SP4bNya8uXbtulmkSxD7+wDYjVrRHxY4MRwYjvgmrerwiRMnRtDc5AlgusKa5ORtUQTH+QkG/SbpTd8un1byHawnwCWvEWcp+Zy8F72tF89u8o45O5wwpZgZMgxwzphKbMmcHb/9+O0HGDtOy5K1hsxrsU5ZQUUUeQwAbQCass6WX5dx48YPj176wdSoqKXTaSYEvAd0dURXPkSc8WsIpz0tPz8/W2jd3NzSmJ6euZo73eX3AhYRZ1Sgm3Ql0nvqsIk+GxqBzZjNeDSRBt+A09GVnKHKy6Xeh7VyzWgzJzq6Mi/FENpqMacu4HrsK6U3e6hILrNWi3UGxMf6k082v07Tc76yquoneub0qVOnSdH0J4hezA+lzoxbtSpmFalSISdMu1kE26YSGPsnUuZ3S28orgIYFa5NVQGkHHKN9bwTwwp69qyXQqTCdSMB+3nIO2qEct3TotDFpnywa+Kzydy5814qKrpxkLohRbPt5s2bF/iI2fjqq6+Gz5+/YC4fG3sePKivliuJktLG3CquJW8YZPpEyvxPonDqGeN58lvWPCkKeuO0HmnjGBoWFpSTcyyltra2hDr2kMuiU+jbXTw7Ovh8raFyn05M/HARYH04fSspgNh5MmX+0CKNiPy7SIMCaERF78fXli83TjgfL+tpPj7j+/br/PyTXx45krOVU42G6n8iOPJNbglYLhnFHfx/AVYpiusR0PLvH32Am0NxR3LWnWbHh+tpCN/Mvjx7U6BcAWoLI6TH1xEqSwqKjW5Tvya9ev0bEj8/qn9c7kYAAAAASUVORK5CYII=",f.tileXYToQuadKey=function(e,t,r){for(var i="",n=r;n>=0;--n){var o=1<=0;--n){var o=1<r&&(t.x=r),t.x<-r&&(t.x=-r);var i=e._maxCoord.y*e.maximumTranslateFactor;t.y>i&&(t.y=i),t.y<-i&&(t.y=-i)}function w(e,r){var i,o=e._camera;if(t(r)){var a=n.clone(o.positionWC,K),s=n.clone(o.upWC,Q),l=n.clone(o.rightWC,$),u=n.clone(o.directionWC,et);i=o.transform,o.transform=m.multiplyTransformation(r,i,tt);var c=o.inverseTransform;m.multiplyByPoint(c,a,o.position),m.multiplyByPointAsVector(c,s,o.up),m.multiplyByPointAsVector(c,l,o.right),m.multiplyByPointAsVector(c,u,o.direction)}return i}function C(e,r){if(t(r)){var i=e._camera,o=n.clone(i.positionWC,rt),a=n.clone(i.upWC,it),s=n.clone(i.rightWC,nt),l=n.clone(i.directionWC,ot);i.transform=r,r=i.inverseTransform,m.multiplyByPoint(r,o,i.position),m.multiplyByPointAsVector(r,a,i.up),m.multiplyByPointAsVector(r,s,i.right),m.multiplyByPointAsVector(r,l,i.direction)}}function x(e,r,i){var o=e._camera,a=w(e,i),s=o.position,l=n.normalize(s,lt);if(t(e.constrainedAxis)){var u=n.equalsEpsilon(l,e.constrainedAxis,h.EPSILON2),c=n.equalsEpsilon(l,n.negate(e.constrainedAxis,ht),h.EPSILON2);if(u||c)(u&&0>r||c&&r>0)&&e.rotate(o.right,r);else{var d=n.normalize(e.constrainedAxis,ut),m=n.dot(l,d),p=Math.acos(m);r>0&&r>p&&(r=p),m=n.dot(l,n.negate(d,ht)),p=Math.acos(m),0>r&&-r>p&&(r=-p);var f=n.cross(d,l,ct);e.rotate(f,r)}}else e.rotate(o.right,r);C(e,a)}function S(e,r,i){t(e.constrainedAxis)?e.rotate(e.constrainedAxis,r,i):e.rotate(e._camera.up,r,i)}function E(e,r){var i=e._camera.frustum;if(!(t(i.left)&&t(i.right)&&t(i.top)&&t(i.bottom)))throw new s("The camera frustum is expected to be orthographic for 2D camera control.");r=.5*r;var n=i.right-r,o=i.left+r,a=e._maxCoord.x*e.maximumZoomFactor;n>a&&(n=a,o=-a);var l=i.top/i.right;i.right=n,i.left=o,i.top=i.right*l,i.bottom=-i.top}function b(e,t){var r=e._camera;e.move(r.direction,t)}function T(e,t){var r=e._camera,o=.5*-t.height,a=-o,s=r.frustum;if(a>o){var l=s.top/s.right;s.right=a,s.left=o,s.top=s.right*l,s.bottom=-s.top}i.clone(e._projection.project(t),r.position),n.negate(n.UNIT_Z,r.direction),n.clone(n.UNIT_Y,r.up),n.clone(n.UNIT_X,r.right)}function A(e,t){var r=e._camera,i=e._projection;r.position=i.project(t),n.negate(n.UNIT_Z,r.direction),n.clone(n.UNIT_Y,r.up),n.clone(n.UNIT_X,r.right)}function D(e,t){var r=e._camera,i=e._projection.getEllipsoid();i.cartographicToCartesian(t,r.position),n.negate(r.position,r.direction),n.normalize(r.direction,r.direction),n.cross(r.direction,n.UNIT_Z,r.right),n.cross(r.right,r.direction,r.up),n.cross(r.direction,r.up,r.right)}function P(e){var t=e._camera;return Math.atan2(t.right.y,t.right.x)}function M(e){var t=e._camera,r=e._projection.getEllipsoid(),i=v.eastNorthUpToFixedFrame(t.position,r,dt),n=m.getRotation(i,mt);d.transpose(n,n);var o=d.multiplyByVector(n,t.right,pt);return Math.atan2(o.y,o.x)}function I(e,t){var r=P(e);t=r-t,e.look(n.UNIT_Z,t)}function O(e,t){var r=e._camera,i=n.normalize(r.position,ft),o=M(e);t=o-t,e.look(i,t)}function R(e){var t=e._camera;return h.PI_OVER_TWO-Math.acos(-t.direction.z)}function L(e){var t=e._camera,r=n.normalize(t.position,vt);return n.negate(r,r),h.PI_OVER_TWO-Math.acos(n.dot(t.direction,r))}function z(e,t,r,i,o){var a=e;o&&(a=St);var s=t.north,l=t.south,u=t.east,c=t.west;c>u&&(u+=h.TWO_PI);var d=yt;d.longitude=u,d.latitude=s;var m=r.cartographicToCartesian(d,gt);d.latitude=l;var p=r.cartographicToCartesian(d,Ct);d.longitude=c;var f=r.cartographicToCartesian(d,_t);d.latitude=s;var v=r.cartographicToCartesian(d,wt),y=n.subtract(m,f,xt);n.multiplyByScalar(y,.5,y),n.add(f,y,y),n.subtract(v,y,v),n.subtract(p,y,p),n.subtract(m,y,m),n.subtract(f,y,f);var g=r.geodeticSurfaceNormal(y,a.direction);n.negate(g,g),n.normalize(g,g);var _=n.cross(g,n.UNIT_Z,a.right);n.normalize(_,_);var w=n.cross(_,g,a.up),C=Math.max(Math.abs(n.dot(w,v)),Math.abs(n.dot(w,p)),Math.abs(n.dot(w,m)),Math.abs(n.dot(w,f))),x=Math.max(Math.abs(n.dot(_,v)),Math.abs(n.dot(_,p)),Math.abs(n.dot(_,m)),Math.abs(n.dot(_,f))),S=Math.tan(.5*e.frustum.fovy),E=e.frustum.aspectRatio*S,b=Math.max(x/E,C/S),T=n.magnitude(y)+b;return n.normalize(y,y),n.multiplyByScalar(y,T,i)}function N(e,r,i,o,a){var s=r.north,l=r.south,u=r.east,c=r.west,h=e.inverseTransform,d=Et;d.longitude=u,d.latitude=s;var p=i.project(d,bt);m.multiplyByPoint(e.transform,p,p),m.multiplyByPoint(h,p,p),d.longitude=c,d.latitude=l;var f=i.project(d,Tt);m.multiplyByPoint(e.transform,f,f),m.multiplyByPoint(h,f,f);var v=Math.tan(.5*e.frustum.fovy),y=e.frustum.aspectRatio*v;if(t(o)||(o=new n),o.x=.5*(p.x-f.x)+f.x,o.y=.5*(p.y-f.y)+f.y,o.z=.5*Math.max((p.x-f.x)/y,(p.y-f.y)/v),!a){var g=n.clone(n.UNIT_Z,e.direction);n.negate(g,g),n.clone(n.UNIT_X,e.right),n.clone(n.UNIT_Y,e.up)}return o}function B(e,r,i,o,a){var s=r.north,l=r.south,u=r.east,c=r.west,h=At;h.longitude=u,h.latitude=s;var d=i.project(h,Dt);h.longitude=c,h.latitude=l;var m,p,f=i.project(h,Pt),v=.5*Math.abs(d.x-f.x),y=.5*Math.abs(d.y-f.y),g=e.frustum.right/e.frustum.top,_=y*g;if(v>_?(m=v,p=m/g):(p=y,m=_),y=Math.max(2*m,2*p),t(o)||(o=new n),o.x=.5*(d.x-f.x)+f.x,o.y=.5*(d.y-f.y)+f.y,a)h=i.unproject(o,h),h.height=y,o=i.project(h,o);else{var w=e.frustum;w.right=m,w.left=-m,w.top=p,w.bottom=-p;var C=n.clone(n.UNIT_Z,e.direction);n.negate(C,C),n.clone(n.UNIT_X,e.right),n.clone(n.UNIT_Y,e.up)}return o}function F(t,r,i,n){i=e(i,l.WGS84);var o=t.getPickRay(r,Mt),a=c.rayEllipsoid(o,i);return a?o.getPoint(a.start,n):void 0}function V(e,t,r,i){var n=e.getPickRay(t,It),o=n.origin;o.z=0;var a=r.unproject(o);return a.latitude<-h.PI_OVER_TWO||a.latitude>h.PI_OVER_TWO||a.longitude<-Math.PI||a.longitude>Math.PI?void 0:r.getEllipsoid().cartographicToCartesian(a,i)}function k(e,t,r,i){var o=e.getPickRay(t,Ot),a=-o.origin.x/o.direction.x;o.getPoint(a,i);var s=r.unproject(new n(i.y,i.z,0));return s.latitude<-h.PI_OVER_TWO||s.latitude>h.PI_OVER_TWO||s.longitude<-Math.PI||s.longitude>Math.PI?void 0:r.getEllipsoid().cartographicToCartesian(s,i)}function U(e,t,r){var i=e._context._canvas.clientWidth,o=e._context._canvas.clientHeight,a=Math.tan(.5*e.frustum.fovy),s=e.frustum.aspectRatio*a,l=e.frustum.near,u=2/i*t.x-1,c=2/o*(o-t.y)-1,h=e.positionWC;n.clone(h,r.origin);var d=n.multiplyByScalar(e.directionWC,l,Rt);n.add(h,d,d);var m=n.multiplyByScalar(e.rightWC,u*l*s,Lt),p=n.multiplyByScalar(e.upWC,c*l*a,zt),f=n.add(d,m,r.direction);return n.add(f,p,f),n.subtract(f,h,f),n.normalize(f,f),r}function W(e,t,r){var i=e._context._canvas.clientWidth,o=e._context._canvas.clientHeight,a=2/i*t.x-1;a*=.5*(e.frustum.right-e.frustum.left);var s=2/o*(o-t.y)-1;s*=.5*(e.frustum.top-e.frustum.bottom);var l=r.origin;return n.clone(e.position,l),l.x+=a,l.y+=s,n.clone(e.directionWC,r.direction),r}function q(e,t){var r=e._camera,i=r.position,o=i.x<-e._maxCoord.x||i.x>e._maxCoord.x,a=i.y<-e._maxCoord.y||i.y>e._maxCoord.y,s=o||a,l=r.frustum,u=l.top,c=l.bottom,d=l.right,m=l.left,p=e._frustum,f=d>e._frustum.right;if(s||f){var v=n.clone(i);v.x>e._maxCoord.x?v.x=e._maxCoord.x:v.x<-e._maxCoord.x&&(v.x=-e._maxCoord.x),v.y>e._maxCoord.y?v.y=e._maxCoord.y:v.y<-e._maxCoord.y&&(v.y=-e._maxCoord.y);var y=function(e){s&&(r.position=n.lerp(i,v,e.time)),f&&(r.frustum.top=h.lerp(u,p.top,e.time),r.frustum.bottom=h.lerp(c,p.bottom,e.time),r.frustum.right=h.lerp(d,p.right,e.time),r.frustum.left=h.lerp(m,p.left,e.time))};return{easingFunction:g.Easing.Exponential.Out,startValue:{time:0},stopValue:{time:1},duration:t,onUpdate:y}}return void 0}function G(e,t,r,i,o,a){var s=n.clone(t);r.y>i?s.y-=r.y-i:r.y<-i&&(s.y+=-i-r.y),r.z>o?s.z-=r.z-o:r.z<-o&&(s.z+=-o-r.z);var l=e._camera,u=function(e){var r=n.lerp(t,s,e.time);l.position=m.multiplyByPoint(l.inverseTransform,r,l.position)};return{easingFunction:g.Easing.Exponential.Out,startValue:{time:0},stopValue:{time:1},duration:a,onUpdate:u}}function H(e,t){var r=e._camera,i=r.position,o=r.direction,a=m.multiplyByPointAsVector(r.inverseTransform,n.UNIT_X,Nt),s=-n.dot(a,i)/n.dot(a,o),l=n.add(i,n.multiplyByScalar(o,s,Bt),Bt);l=m.multiplyByPoint(r.transform,l,l),i=m.multiplyByPoint(r.transform,r.position,Ft);var u=Math.tan(.5*e._camera.frustum.fovy),c=e._camera.frustum.aspectRatio*u,h=n.magnitude(n.subtract(i,l,Vt)),d=c*h,p=u*h,f=e._maxCoord.x,v=e._maxCoord.y,y=Math.max(d-f,f),g=Math.max(p-v,v);if(i.z<-y||i.z>y||i.y<-g||i.y>g){var _=l.y<-y||l.y>y,w=l.z<-g||l.z>g;if(_||w)return G(e,i,l,y,g,t)}return void 0}var j=function(e){if(!t(e))throw new s("camera is required.");this._camera=e,this._mode=y.SCENE3D,this._projection=new u,this.defaultMoveAmount=1e5,this.defaultLookAmount=Math.PI/60,this.defaultRotateAmount=Math.PI/3600,this.defaultZoomAmount=1e5,this.constrainedAxis=void 0,this.maximumTranslateFactor=1.5,this.maximumZoomFactor=2.5,this._maxCoord=new n,this._frustum=void 0},Y=new a(Math.PI,h.PI_OVER_TWO);j.prototype.update=function(e,r){var i=!1;e!==this._mode&&(this._mode=e,i=this._mode===y.SCENE2D);var n=r.projection;if(t(n)&&n!==this._projection&&(this._projection=n,this._maxCoord=n.project(Y,this._maxCoord)),i){var o=this._frustum=this._camera.frustum.clone();if(!(t(o.left)&&t(o.right)&&t(o.top)&&t(o.bottom)))throw new s("The camera frustum is expected to be orthographic for 2D camera control.");var a=2,l=o.top/o.right;o.right=this._maxCoord.x*a,o.left=-o.right,o.top=l*o.right,o.bottom=-o.top}};var X=new n;j.prototype.move=function(e,r){if(!t(e))throw new s("direction is required.");var i=this._camera.position;n.multiplyByScalar(e,r,X),n.add(i,X,i),this._mode===y.SCENE2D&&_(this,i)},j.prototype.moveForward=function(t){t=e(t,this.defaultMoveAmount),this.move(this._camera.direction,t)},j.prototype.moveBackward=function(t){t=e(t,this.defaultMoveAmount),this.move(this._camera.direction,-t)},j.prototype.moveUp=function(t){t=e(t,this.defaultMoveAmount),this.move(this._camera.up,t)},j.prototype.moveDown=function(t){t=e(t,this.defaultMoveAmount),this.move(this._camera.up,-t)},j.prototype.moveRight=function(t){t=e(t,this.defaultMoveAmount),this.move(this._camera.right,t)},j.prototype.moveLeft=function(t){t=e(t,this.defaultMoveAmount),this.move(this._camera.right,-t)},j.prototype.lookLeft=function(t){t=e(t,this.defaultLookAmount),this.look(this._camera.up,-t)},j.prototype.lookRight=function(t){t=e(t,this.defaultLookAmount),this.look(this._camera.up,t)},j.prototype.lookUp=function(t){t=e(t,this.defaultLookAmount),this.look(this._camera.right,-t)},j.prototype.lookDown=function(t){t=e(t,this.defaultLookAmount),this.look(this._camera.right,t)};var Z=new p,J=new d;j.prototype.look=function(r,i){if(!t(r))throw new s("axis is required.");var n=e(i,this.defaultLookAmount),o=p.fromAxisAngle(r,-n,Z),a=d.fromQuaternion(o,J),l=this._camera.direction,u=this._camera.up,c=this._camera.right;d.multiplyByVector(a,l,l),d.multiplyByVector(a,u,u),d.multiplyByVector(a,c,c)},j.prototype.twistLeft=function(t){t=e(t,this.defaultLookAmount),this.look(this._camera.direction,t)},j.prototype.twistRight=function(t){t=e(t,this.defaultLookAmount),this.look(this._camera.direction,-t)};var K=new n,Q=new n,$=new n,et=new n,tt=new m,rt=new n,it=new n,nt=new n,ot=new n,at=new p,st=new d;j.prototype.rotate=function(r,i,o){if(!t(r))throw new s("axis is required.");var a=this._camera,l=e(i,this.defaultRotateAmount),u=p.fromAxisAngle(r,-l,at),c=d.fromQuaternion(u,st),h=w(this,o);d.multiplyByVector(c,a.position,a.position),d.multiplyByVector(c,a.direction,a.direction),d.multiplyByVector(c,a.up,a.up),n.cross(a.direction,a.up,a.right),n.cross(a.right,a.direction,a.up),C(this,h)},j.prototype.rotateDown=function(t,r){t=e(t,this.defaultRotateAmount),x(this,t,r)},j.prototype.rotateUp=function(t,r){t=e(t,this.defaultRotateAmount),x(this,-t,r)};var lt=new n,ut=new n,ct=new n,ht=new n;j.prototype.rotateRight=function(t,r){t=e(t,this.defaultRotateAmount),S(this,-t,r)},j.prototype.rotateLeft=function(t,r){t=e(t,this.defaultRotateAmount),S(this,t,r)},j.prototype.zoomIn=function(t){t=e(t,this.defaultZoomAmount),this._mode===y.SCENE2D?E(this,t):b(this,t)},j.prototype.zoomOut=function(t){t=e(t,this.defaultZoomAmount),this._mode===y.SCENE2D?E(this,-t):b(this,-t)},j.prototype.getMagnitude=function(){var e=this._camera;return this._mode===y.SCENE3D?n.magnitude(e.position):this._mode===y.COLUMBUS_VIEW?Math.abs(e.position.z):this._mode===y.SCENE2D?Math.max(e.frustum.right-e.frustum.left,e.frustum.top-e.frustum.bottom):void 0},j.prototype.setPositionCartographic=function(e){if(!t(e))throw new s("cartographic is required.");this._mode===y.SCENE2D?T(this,e):this._mode===y.COLUMBUS_VIEW?A(this,e):this._mode===y.SCENE3D&&D(this,e)};var dt=new m,mt=new d,pt=new n,ft=new n,vt=new n;r(j.prototype,{heading:{get:function(){return this._mode===y.SCENE2D||this._mode===y.COLUMBUS_VIEW?P(this):this._mode===y.SCENE3D?M(this):void 0},set:function(e){if(!t(e))throw new s("angle is required.");this._mode===y.SCENE2D||this._mode===y.COLUMBUS_VIEW?I(this,e):this._mode===y.SCENE3D&&O(this,e)}},tilt:{get:function(){return this._mode===y.COLUMBUS_VIEW?R(this):this._mode===y.SCENE3D?L(this):void 0},set:function(e){if(!t(e))throw new s("angle is required.");if(this._mode===y.COLUMBUS_VIEW||this._mode===y.SCENE3D){var r=this._camera;e=h.clamp(e,0,h.PI_OVER_TWO),e-=this.tilt,this.look(r.right,e)}}}}),j.prototype.lookAt=function(e,r,i){if(!t(e))throw new s("eye is required");if(!t(r))throw new s("target is required");if(!t(i))throw new s("up is required");if(this._mode===y.SCENE2D)throw new s("lookAt is not supported in 2D mode because there is only one direction to look.");if(this._mode===y.MORPHING)throw new s("lookAt is not supported while morphing.");var o=this._camera;o.position=n.clone(e,o.position),o.direction=n.normalize(n.subtract(r,e,o.direction),o.direction),o.right=n.normalize(n.cross(o.direction,i,o.right),o.right),o.up=n.cross(o.right,o.direction,o.up)};var yt=new a,gt=new n,_t=new n,wt=new n,Ct=new n,xt=new n,St={direction:new n,right:new n,up:new n},Et=new a,bt=new n,Tt=new n,At=new a,Dt=new n,Pt=new n;j.prototype.getExtentCameraCoordinates=function(e,r){if(!t(e))throw new s("extent is required");return this._mode===y.SCENE3D?z(this._camera,e,this._projection.getEllipsoid(),r,!0):this._mode===y.COLUMBUS_VIEW?N(this._camera,e,this._projection,r,!0):this._mode===y.SCENE2D?B(this._camera,e,this._projection,r,!0):void 0},j.prototype.viewExtent=function(r,i){if(!t(r))throw new s("extent is required.");i=e(i,l.WGS84),this._mode===y.SCENE3D?z(this._camera,r,i,this._camera.position):this._mode===y.COLUMBUS_VIEW?N(this._camera,r,this._projection,this._camera.position):this._mode===y.SCENE2D&&B(this._camera,r,this._projection,this._camera.position)};var Mt=new f,It=new f,Ot=new f;j.prototype.pickEllipsoid=function(r,i,o){if(!t(r))throw new s("windowPosition is required.");return t(o)||(o=new n),i=e(i,l.WGS84),this._mode===y.SCENE3D?o=F(this,r,i,o):this._mode===y.SCENE2D?o=V(this,r,this._projection,o):this._mode===y.COLUMBUS_VIEW&&(o=k(this,r,this._projection,o)),o};var Rt=new n,Lt=new n,zt=new n;j.prototype.getPickRay=function(e,r){if(!t(e))throw new s("windowPosition is required.");t(r)||(r=new f);var i=this._camera,n=i.frustum;return t(n.aspectRatio)&&t(n.fovy)&&t(n.near)?U(i,e,r):W(i,e,r)};var Nt=new n,Bt=new n,Ft=new n,Vt=new n;return j.prototype.createCorrectPositionAnimation=function(e){if(!t(e))throw new s("duration is required.");return this._mode===y.SCENE2D?q(this,e):this._mode===y.COLUMBUS_VIEW?H(this,e):void 0},j}),r("Scene/CullingVolume",["../Core/defaultValue","../Core/defined","../Core/DeveloperError","../Core/Intersect"],function(e,t,r,i){"use strict";var n=function(t){this.planes=e(t,[])};return n.prototype.getVisibility=function(e){if(!t(e))throw new r("boundingVolume is required.");for(var n=this.planes,o=!1,a=0,s=n.length;s>a;++a){var l=e.intersect(n[a]);if(l===i.OUTSIDE)return i.OUTSIDE;l===i.INTERSECTING&&(o=!0)}return o?i.INTERSECTING:i.INSIDE},n}),r("Scene/PerspectiveOffCenterFrustum",["../Core/DeveloperError","../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/Cartesian2","../Core/Cartesian3","../Core/Cartesian4","../Core/Matrix4","../Scene/CullingVolume"],function(e,t,r,i,n,o,a,s,l){"use strict";function u(e){var t=e.top,r=e.bottom,i=e.right,n=e.left,o=e.near,a=e.far;(t!==e._top||r!==e._bottom||n!==e._left||i!==e._right||o!==e._near||a!==e._far)&&(e._left=n,e._right=i,e._top=t,e._bottom=r,e._near=o,e._far=a,e._perspectiveMatrix=s.computePerspectiveOffCenter(n,i,r,t,o,a,e._perspectiveMatrix),e._infinitePerspective=s.computeInfinitePerspectiveOffCenter(n,i,r,t,o,e._infinitePerspective))}var c=function(){this.left=void 0,this._left=void 0,this.right=void 0,this._right=void 0,this.top=void 0,this._top=void 0,this.bottom=void 0,this._bottom=void 0,this.near=1,this._near=this.near,this.far=5e8,this._far=this.far,this._cullingVolume=new l,this._perspectiveMatrix=void 0,this._infinitePerspective=void 0};i(c.prototype,{projectionMatrix:{get:function(){return u(this),this._perspectiveMatrix}},infiniteProjectionMatrix:{get:function(){return u(this),this._infinitePerspective}}});var h=new o,d=new o,m=new o,p=new o;return c.prototype.computeCullingVolume=function(e,t,i){var n=this._cullingVolume.planes,s=this.top,l=this.bottom,u=this.right,c=this.left,f=this.near,v=this.far,y=o.cross(t,i,h),g=d;o.multiplyByScalar(t,f,g),o.add(e,g,g);var _=m;o.multiplyByScalar(t,v,_),o.add(e,_,_);var w=p;o.multiplyByScalar(y,c,w),o.add(g,w,w),o.subtract(w,e,w),o.normalize(w,w),o.cross(w,i,w);var C=n[0];return r(C)||(C=n[0]=new a),C.x=w.x,C.y=w.y,C.z=w.z,C.w=-o.dot(w,e),o.multiplyByScalar(y,u,w),o.add(g,w,w),o.subtract(w,e,w),o.normalize(w,w),o.cross(i,w,w),C=n[1],r(C)||(C=n[1]=new a),C.x=w.x,C.y=w.y,C.z=w.z,C.w=-o.dot(w,e),o.multiplyByScalar(i,l,w),o.add(g,w,w),o.subtract(w,e,w),o.normalize(w,w),o.cross(y,w,w),C=n[2],r(C)||(C=n[2]=new a),C.x=w.x,C.y=w.y,C.z=w.z,C.w=-o.dot(w,e),o.multiplyByScalar(i,s,w),o.add(g,w,w),o.subtract(w,e,w),o.normalize(w,w),o.cross(w,y,w),C=n[3],r(C)||(C=n[3]=new a),C.x=w.x,C.y=w.y,C.z=w.z,C.w=-o.dot(w,e),C=n[4],r(C)||(C=n[4]=new a),C.x=t.x,C.y=t.y,C.z=t.z,C.w=-o.dot(t,g),o.negate(t,w),C=n[5],r(C)||(C=n[5]=new a),C.x=w.x,C.y=w.y,C.z=w.z,C.w=-o.dot(w,_),this._cullingVolume},c.prototype.getPixelSize=function(e,i,o){u(this);var a=e.x,s=e.y;i=t(i,this.near);var l=1/this.near,c=this.top*l,h=2*i*c/s;c=this.right*l;var d=2*i*c/a;return r(o)?(o.x=d,o.y=h,o):new n(d,h)},c.prototype.clone=function(e){return r(e)||(e=new c),e.right=this.right,e.left=this.left,e.top=this.top,e.bottom=this.bottom,e.near=this.near,e.far=this.far,e._left=void 0,e._right=void 0,e._top=void 0,e._bottom=void 0,e._near=void 0,e._far=void 0,e},c.prototype.equals=function(e){return r(e)&&this.right===e.right&&this.left===e.left&&this.top===e.top&&this.bottom===e.bottom&&this.near===e.near&&this.far===e.far},c}),r("Scene/PerspectiveFrustum",["../Core/defined","../Core/defineProperties","../Core/DeveloperError","../Scene/PerspectiveOffCenterFrustum"],function(e,t,r,i){"use strict";function n(e){var t=e._offCenterFrustum;(e.fovy!==e._fovy||e.aspectRatio!==e._aspectRatio||e.near!==e._near||e.far!==e._far)&&(e._fovy=e.fovy,e._aspectRatio=e.aspectRatio,e._near=e.near,e._far=e.far,t.top=e.near*Math.tan(.5*e.fovy),t.bottom=-t.top,t.right=e.aspectRatio*t.top,t.left=-t.right,t.near=e.near,t.far=e.far)}var o=function(){this._offCenterFrustum=new i,this.fovy=void 0,this._fovy=void 0,this.aspectRatio=void 0,this._aspectRatio=void 0,this.near=1,this._near=this.near,this.far=5e8,this._far=this.far};return t(o.prototype,{projectionMatrix:{get:function(){return n(this),this._offCenterFrustum.projectionMatrix}},infiniteProjectionMatrix:{get:function(){return n(this),this._offCenterFrustum.infiniteProjectionMatrix}}}),o.prototype.computeCullingVolume=function(e,t,r){return n(this),this._offCenterFrustum.computeCullingVolume(e,t,r)},o.prototype.getPixelSize=function(e,t,r){return n(this),this._offCenterFrustum.getPixelSize(e,t,r)},o.prototype.clone=function(t){return e(t)||(t=new o),t.fovy=this.fovy,t.aspectRatio=this.aspectRatio,t.near=this.near,t.far=this.far,t._fovy=void 0,t._aspectRatio=void 0,t._near=void 0,t._far=void 0,this._offCenterFrustum.clone(t._offCenterFrustum),t},o.prototype.equals=function(t){return e(t)?(n(this),n(t),this.fovy===t.fovy&&this.aspectRatio===t.aspectRatio&&this.near===t.near&&this.far===t.far&&this._offCenterFrustum.equals(t._offCenterFrustum)):!1},o}),r("Scene/Camera",["../Core/defined","../Core/defineProperties","../Core/DeveloperError","../Core/Math","../Core/Ellipsoid","../Core/Cartesian3","../Core/Cartesian4","../Core/Matrix4","./CameraController","./PerspectiveFrustum"],function(e,t,r,i,n,o,a,s,l,u){"use strict";function c(e){var t=e._right,r=e._up,i=e._direction,n=e._position,a=e._viewMatrix;a[0]=t.x,a[1]=r.x,a[2]=-i.x,a[3]=0,a[4]=t.y,a[5]=r.y,a[6]=-i.y,a[7]=0,a[8]=t.z,a[9]=r.z,a[10]=-i.z,a[11]=0,a[12]=-o.dot(t,n),a[13]=-o.dot(r,n),a[14]=o.dot(i,n),a[15]=1,s.multiply(a,e._invTransform,e._viewMatrix),s.inverseTransformation(e._viewMatrix,e._invViewMatrix)}function h(e){var t=e._position,r=!o.equals(t,e.position);r&&(t=o.clone(e.position,e._position));var n=e._direction,a=!o.equals(n,e.direction);a&&(n=o.clone(e.direction,e._direction));var l=e._up,u=!o.equals(l,e.up);u&&(l=o.clone(e.up,e._up));var h=e._right,d=!o.equals(h,e.right);d&&(h=o.clone(e.right,e._right));var p=e._transform,f=!s.equals(p,e.transform);if(f&&(p=s.clone(e.transform,e._transform),s.inverseTransformation(e._transform,e._invTransform)),(r||f)&&(e._positionWC=s.multiplyByPoint(p,t,e._positionWC)),a||u||d){var v=o.dot(n,o.cross(l,h,m));if(Math.abs(1-v)>i.EPSILON2){n=o.normalize(n,e._direction),o.clone(n,e.direction);var y=1/o.magnitudeSquared(l),g=o.dot(l,n)*y,_=o.multiplyByScalar(n,g,m);l=o.normalize(o.subtract(l,_,e._up),e._up),o.clone(l,e.up),h=o.cross(n,l,e._right),o.clone(h,e.right)}}(a||f)&&(e._directionWC=s.multiplyByPointAsVector(p,n,e._directionWC)),(u||f)&&(e._upWC=s.multiplyByPointAsVector(p,l,e._upWC)),(d||f)&&(e._rightWC=s.multiplyByPointAsVector(p,h,e._rightWC)),(r||a||u||d||f)&&c(e)}var d=function(t){if(!e(t))throw new r("context is required.");this.transform=s.clone(s.IDENTITY),this._transform=s.clone(s.IDENTITY),this._invTransform=s.clone(s.IDENTITY);var a=n.WGS84.getMaximumRadius(),h=o.multiplyByScalar(o.normalize(new o(0,-2,1)),2.5*a);this.position=h,this._position=o.clone(h),this._positionWC=o.clone(h);var d=o.normalize(o.negate(h));this.direction=d,this._direction=o.clone(d),this._directionWC=o.clone(d);var m=o.normalize(o.cross(d,o.UNIT_Z)),p=o.cross(m,d);this.up=p,this._up=o.clone(p),this._upWC=o.clone(p),m=o.cross(d,p),this.right=m,this._right=o.clone(m),this._rightWC=o.clone(m),this.frustum=new u,this.frustum.fovy=i.toRadians(60),this.frustum.aspectRatio=t.getDrawingBufferWidth()/t.getDrawingBufferHeight(),this.controller=new l(this),this._viewMatrix=new s,this._invViewMatrix=new s,c(this),this._context=t},m=new o;return t(d.prototype,{inverseTransform:{get:function(){return h(this),this._invTransform}},viewMatrix:{get:function(){return h(this),this._viewMatrix}},inverseViewMatrix:{get:function(){return h(this),this._invViewMatrix}},positionWC:{get:function(){return h(this),this._positionWC}},directionWC:{get:function(){return h(this),this._directionWC}},upWC:{get:function(){return h(this),this._upWC}},rightWC:{get:function(){return h(this),this._rightWC}}}),d.prototype.clone=function(){var e=new d(this._context);return e.position=o.clone(this.position),e.direction=o.clone(this.direction),e.up=o.clone(this.up),e.right=o.clone(this.right),e.transform=s.clone(this.transform),e.frustum=this.frustum.clone(),e},d.prototype.worldToCameraCoordinates=function(t,i){if(!e(t))throw new r("cartesian is required.");return s.multiplyByVector(this.inverseTransform,t,i)},d.prototype.cameraToWorldCoordinates=function(t,i){if(!e(t))throw new r("cartesian is required.");return s.multiplyByVector(this.transform,t,i)},d}),r("Scene/CameraEventType",["../Core/Enumeration"],function(e){"use strict";var t={LEFT_DRAG:new e(0,"LEFT_DRAG"),RIGHT_DRAG:new e(1,"RIGHT_DRAG"),MIDDLE_DRAG:new e(2,"MIDDLE_DRAG"),WHEEL:new e(3,"WHEEL"),PINCH:new e(4,"PINCH")};return t}),r("Scene/CameraEventAggregator",["../Core/defined","../Core/defaultValue","../Core/DeveloperError","../Core/destroyObject","../Core/Math","../Core/ScreenSpaceEventHandler","../Core/ScreenSpaceEventType","../Core/Cartesian2","../Core/KeyboardEventModifier","./CameraEventType"],function(e,t,r,i,n,o,a,s,l,u){"use strict";function c(t,r){var i=t.name;return e(r)&&(i+="+"+r.name),i}function h(e,t){s.clone(e.distance.startPosition,t.distance.startPosition),s.clone(e.distance.endPosition,t.distance.endPosition),s.clone(e.angleAndHeight.startPosition,t.angleAndHeight.startPosition),s.clone(e.angleAndHeight.endPosition,t.angleAndHeight.endPosition)}function d(t,r,i){var n=c(u.PINCH,r),o=t._update,l=t._isDown,d=t._pressTime,m=t._releaseTime;o[n]=!0,l[n]=!1;var p=t._movement[n];e(p)||(p=t._movement[n]={}),p.distance={startPosition:new s,endPosition:new s},p.angleAndHeight={startPosition:new s,endPosition:new s},p.prevAngle=0,t._eventHandler.setInputAction(function(){t._buttonsDown++,l[n]=!0,d[n]=new Date},a.PINCH_START,r),t._eventHandler.setInputAction(function(){t._buttonsDown=Math.max(t._buttonsDown-1,0),l[n]=!1,m[n]=new Date -},a.PINCH_END,r),t._eventHandler.setInputAction(function(e){if(l[n]){o[n]?(h(e,p),o[n]=!1,p.prevAngle=p.angleAndHeight.startPosition.x):(s.clone(e.distance.endPosition,p.distance.endPosition),s.clone(e.angleAndHeight.endPosition,p.angleAndHeight.endPosition));for(var t=p.angleAndHeight.endPosition.x,r=p.prevAngle,a=2*Math.PI;t>=r+Math.PI;)t-=a;for(;t0},y.prototype.getButtonPressTime=function(t,i){if(!e(t))throw new r("type is required.");var n=c(t,i);return this._pressTime[n]},y.prototype.getButtonReleaseTime=function(t,i){if(!e(t))throw new r("type is required.");var n=c(t,i);return this._releaseTime[n]},y.prototype.reset=function(){for(var e in this._update)this._update.hasOwnProperty(e)&&(this._update[e]=!0)},y.prototype.isDestroyed=function(){return!1},y.prototype.destroy=function(){return this._eventHandler=this._eventHandler&&this._eventHandler.destroy(),i(this)},y}),r("Scene/CameraFlightPath",["../Core/Cartesian2","../Core/Cartesian3","../Core/clone","../Core/defaultValue","../Core/defined","../Core/DeveloperError","../Core/HermiteSpline","../Core/Math","../Core/Matrix3","../Core/Quaternion","../Core/QuaternionSpline","../Scene/PerspectiveFrustum","../Scene/PerspectiveOffCenterFrustum","../Scene/SceneMode","../ThirdParty/Tween"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p){"use strict";function f(e,r,i){return t.cross(e,r,M),t.cross(M,e,I),P[0]=M.x,P[1]=I.x,P[2]=-e.x,P[3]=M.y,P[4]=I.y,P[5]=-e.y,P[6]=M.z,P[7]=I.z,P[8]=-e.z,u.fromRotationMatrix(P,i)}function v(e,t,r){var i,n,o;if(e instanceof h){var a=Math.tan(.5*e.fovy);return i=e.near,n=e.near*a,o=e.aspectRatio*n,Math.max(t*i/o,r*i/n)}return e instanceof d?(i=e.near,n=e.top,o=e.right,Math.max(t*i/o,r*i/n)):Math.max(t,r)}function y(e,r,i,n,o){var c,h,d,m=r.getMaximumRadius(),p=e.frustum,f=v(p,m,m),y=t.dot(t.normalize(i),t.normalize(n));if(t.magnitude(i)>f)h=m+.6*(f-m),d=.35;else{var g=t.subtract(i,n);h=t.magnitude(t.add(t.multiplyByScalar(g,.5),n));var _=t.magnitude(t.multiplyByScalar(e.up,t.dot(g,e.up))),w=t.magnitude(t.multiplyByScalar(e.right,t.dot(g,e.right)));h+=v(p,_,w),d=s.clamp(y+1,.25,.5)}var C,x,S,E,b=t.multiplyByScalar(t.normalize(n),h),T=t.multiplyByScalar(t.normalize(i),h);if(t.magnitude(n)>f&&y>.75)E=t.add(t.multiplyByScalar(t.subtract(i,n),.5),n),c=[i,E,n];else if(t.magnitude(i)>f&&y>0)E=t.add(t.multiplyByScalar(t.subtract(i,b),.5),b),c=[i,E,n];else{c=[i],x=Math.acos(t.dot(t.normalize(T),t.normalize(b))),C=t.cross(b,T),t.equalsEpsilon(C,t.ZERO,s.EPSILON6)&&(C=t.UNIT_Z);for(var A=d*x,D=x-A,P=D;P>0;P-=A)S=l.fromQuaternion(u.fromAxisAngle(C,P)),c.push(l.multiplyByVector(S,b));c.push(n)}for(var M=new Array(c.length),I=o/(c.length-1),O=0;Oh;++h)l=a[h],t.normalize(t.negate(l,O),O),t.normalize(t.cross(O,t.UNIT_Z,R),R),t.cross(R,O,L),s[h]=f(O,L,z);return l=a[u],n(i)&&n(o)?s[u]=f(i,o):(t.normalize(t.negate(l,O),O),t.normalize(t.cross(O,t.UNIT_Z,R),R),t.cross(R,O,L),s[u]=f(O,L,z)),new c({points:s,times:r.times})}function _(e,r,i,n,o){var a=e.camera,s=e.scene2D.projection.getEllipsoid(),u=y(a,s,a.position,r,i),c=g(a,u,n,o),h=function(e){var r=e.time,i=c.evaluate(r);l.fromQuaternion(i,D),a.position=u.evaluate(r),a.right=l.getRow(D,0,a.right),a.up=l.getRow(D,1,a.up),a.direction=t.negate(l.getRow(D,2,a.direction),a.direction)};return h}function w(e,r,i,n,o){var l,u,c=r.getMaximumRadius(),h=e.frustum,d=v(h,Math.PI*c,s.PI_OVER_TWO*c),m=.5;if(i.z>d)u=.6*d;else{var p=t.subtract(i,n);u=v(h,Math.abs(p.y),Math.abs(p.x))}var f=t.clone(n);f.z=u;var y=t.clone(i);y.z=u;var g;if(n.z>d)g=t.add(t.multiplyByScalar(t.subtract(i,n),.5),n),l=[i,g,n];else if(i.z>d)g=t.add(t.multiplyByScalar(t.subtract(i,f),.5),f),l=[i,g,n];else{l=[i];var _=t.subtract(y,f),w=t.magnitude(_);t.normalize(_,_);for(var C=m*w,x=w-C,S=x;S>0;S-=C)l.push(t.add(t.multiplyByScalar(_,S),f));l.push(n)}for(var E=new Array(l.length),b=o/(l.length-1),T=0;Tl;++l)a[l]=V;return a[s]=n(r)&&n(i)?f(r,i):V,new c({points:a,times:t.times})}function x(e,r,i,n,o){var a=e.camera,s=e.scene2D.projection.getEllipsoid(),u=w(a,s,t.clone(a.position),r,i),c=C(a,u,n,o),h=function(e){var r=e.time,i=c.evaluate(r);l.fromQuaternion(i,D),a.position=u.evaluate(r,a.position),a.right=l.getRow(D,0,a.right),a.up=l.getRow(D,1,a.up),a.direction=t.negate(l.getRow(D,2,a.direction),a.direction)};return h}function S(e,r,i,n,o){var a=e.camera,s=e.scene2D.projection.getEllipsoid(),u=t.clone(a.position);u.z=a.frustum.right-a.frustum.left;var c=w(a,s,u,r,i),h=C(a,c,t.negate(t.UNIT_Z),o),d=a.position.z,m=function(e){var r=e.time,i=h.evaluate(r);l.fromQuaternion(i,D),a.position=c.evaluate(r);var n=a.position.z;a.position.z=d,a.right=l.getRow(D,0,a.right),a.up=l.getRow(D,1,a.up),a.direction=t.negate(l.getRow(D,2,a.direction),a.direction);var o=a.frustum,s=o.top/o.right,u=.5*(n-(o.right-o.left));o.right+=u,o.left-=u,o.top=s*o.right,o.bottom=-o.top};return m}function E(e){var t={enableTranslate:e.enableTranslate,enableZoom:e.enableZoom,enableRotate:e.enableRotate,enableTilt:e.enableTilt,enableLook:e.enableLook};return e.enableTranslate=!1,e.enableZoom=!1,e.enableRotate=!1,e.enableTilt=!1,e.enableLook=!1,t}function b(e,t){e.enableTranslate=t.enableTranslate,e.enableZoom=t.enableZoom,e.enableRotate=t.enableRotate,e.enableTilt=t.enableTilt,e.enableLook=t.enableLook}var T={},A=new t,D=new l,P=new l,M=new t,I=new t,O=new t,R=new t,L=new t,z=new u,N=t.negate(t.UNIT_Z),B=t.normalize(t.cross(N,t.UNIT_Y)),F=t.cross(B,N),V=f(N,F),k=new t,U=new t,W=new t;return T.createAnimation=function(r,a){a=i(a,i.EMPTY_OBJECT);var l=a.destination,u=a.direction,c=a.up;if(!n(r))throw new o("scene is required.");if(!n(l))throw new o("destination is required.");if(n(u)&&!n(c)||n(c)&&!n(u))throw new o("If either direction or up is given, then both are required.");var h=r.getFrameState();if(h.mode===m.MORPHING)throw new o("frameState.mode cannot be SceneMode.MORPHING");var d=i(a.duration,3e3),f=r.getScreenSpaceCameraController(),v=E(f),y=function(e){var t=function(){"function"==typeof e&&e(),b(f,v)};return t},g=y(a.onComplete),w=y(a.onCancel),C=h.camera.frustum;if(h.mode===m.SCENE2D){if(e.equalsEpsilon(h.camera.position,l,s.EPSILON6)&&s.equalsEpsilon(Math.max(C.right-C.left,C.top-C.bottom),l.z,s.EPSILON6))return{duration:0,onComplete:g,onCancel:w}}else if(t.equalsEpsilon(l,h.camera.position,s.EPSILON6))return{duration:0,onComplete:g,onCancel:w};if(0>=d){var T=function(){var e=l;if(h.mode===m.SCENE3D?(n(a.direction)||n(a.up)?(k=a.direction,U=t.normalize(t.cross(k,a.up,U),U)):(k=t.normalize(t.negate(e,k),k),U=t.normalize(t.cross(k,t.UNIT_Z,U),U)),W=i(a.up,t.cross(U,k,W))):(n(a.direction)||n(a.up)?(k=a.direction,U=t.normalize(t.cross(k,a.up,U),U)):(k=t.negate(t.UNIT_Z,k),U=t.normalize(t.cross(k,t.UNIT_Y,U),U)),W=i(a.up,t.cross(U,k,W))),t.clone(e,h.camera.position),t.clone(k,h.camera.direction),t.clone(W,h.camera.up),t.clone(U,h.camera.right),h.mode===m.SCENE2D){var r=h.camera.position.z,o=C.top/C.right,s=.5*(r-(C.right-C.left));C.right+=s,C.left-=s,C.top=o*C.right,C.bottom=-C.top}"function"==typeof g&&g()};return{duration:0,onComplete:T,onCancel:w}}var A;return A=h.mode===m.SCENE3D?_(h,l,d,u,c):h.mode===m.SCENE2D?S(h,l,d,u,c):x(h,l,d,u,c),{duration:d,easingFunction:p.Easing.Sinusoidal.InOut,startValue:{time:0},stopValue:{time:d},onUpdate:A,onComplete:g,onCancel:w}},T.createAnimationCartographic=function(e,t){t=i(t,i.EMPTY_OBJECT);var a=t.destination;if(!n(e))throw new o("scene is required.");if(!n(a))throw new o("description.destination is required.");var s=e.getFrameState(),l=s.scene2D.projection;if(s.mode===m.SCENE3D){var u=l.getEllipsoid();u.cartographicToCartesian(a,A)}else{if(s.mode!==m.COLUMBUS_VIEW&&s.mode!==m.SCENE2D)throw new o("frameState.mode cannot be SceneMode.MORPHING");l.project(a,A)}var c=r(t);return c.destination=A,this.createAnimation(e,c)},T.createAnimationExtent=function(e,t){t=i(t,i.EMPTY_OBJECT);var a=t.destination,s=e.getFrameState();if(!n(s))throw new o("frameState is required.");if(!n(a))throw new o("description.destination is required.");if(s.mode===m.MORPHING)throw new o("frameState.mode cannot be SceneMode.MORPHING");var l=r(t),u=s.camera;return u.controller.getExtentCameraCoordinates(a,A),l.destination=A,this.createAnimation(e,l)},T}),r("Scene/Imagery",["../Core/defined","../Core/destroyObject","./ImageryState"],function(e,t,r){"use strict";var i=function(t,i,n,o,a){if(this.imageryLayer=t,this.x=i,this.y=n,this.level=o,0!==o){var s=0|i/2,l=0|n/2,u=o-1;this.parent=t.getImageryFromCache(s,l,u)}if(this.state=r.UNLOADED,this.imageUrl=void 0,this.image=void 0,this.texture=void 0,this.referenceCount=0,!e(a)&&t.getImageryProvider().isReady()){var c=t.getImageryProvider().getTilingScheme();a=c.tileXYToExtent(i,n,o)}this.extent=a};return i.createPlaceholder=function(e){var t=new i(e,0,0,0);return t.addReference(),t.state=r.PLACEHOLDER,t},i.prototype.addReference=function(){++this.referenceCount},i.prototype.releaseReference=function(){return--this.referenceCount,0===this.referenceCount?(this.imageryLayer.removeImageryFromCache(this),e(this.parent)&&this.parent.releaseReference(),e(this.image)&&e(this.image.destroy)&&this.image.destroy(),e(this.texture)&&e(this.texture.destroy)&&this.texture.destroy(),t(this),0):this.referenceCount},i}),r("Scene/TileImagery",["../Core/defined","./ImageryState"],function(e,t){"use strict";var r=function(e,t){this.readyImagery=void 0,this.loadingImagery=e,this.textureCoordinateExtent=t,this.textureTranslationAndScale=void 0};return r.prototype.freeResources=function(){e(this.readyImagery)&&this.readyImagery.releaseReference(),e(this.loadingImagery)&&this.loadingImagery.releaseReference()},r.prototype.processStateMachine=function(r,i){var n=this.loadingImagery,o=n.imageryLayer;if(n.state===t.UNLOADED&&(n.state=t.TRANSITIONING,o._requestImagery(n)),n.state===t.RECEIVED&&(n.state=t.TRANSITIONING,o._createTexture(i,n)),n.state===t.TEXTURE_LOADED&&(n.state=t.TRANSITIONING,o._reprojectTexture(i,n)),n.state===t.READY)return e(this.readyImagery)&&this.readyImagery.releaseReference(),this.readyImagery=this.loadingImagery,this.loadingImagery=void 0,this.textureTranslationAndScale=o._calculateTextureTranslationAndScale(r,this),!0;for(var a=n.parent,s=!1;e(a)&&a.state!==t.READY;)s=s||a.state!==t.FAILED&&a.state!==t.INVALID,a=a.parent;return this.readyImagery!==a&&(e(this.readyImagery)&&this.readyImagery.releaseReference(),this.readyImagery=a,e(a)&&(a.addReference(),this.textureTranslationAndScale=o._calculateTextureTranslationAndScale(r,this))),s||n.state!==t.FAILED&&n.state!==t.INVALID?!1:!0},r}),r("Scene/TexturePool",["../Core/defined","../Core/destroyObject","../Core/DeveloperError","../Renderer/PixelDatatype","../Renderer/PixelFormat","../Renderer/Texture"],function(e,t,r,i,n,o){"use strict";function a(t,r,i){return e(s)||(s=function(e,t,r){this._texture=e,this._textureTypeKey=t,this._pool=r},Object.keys(o.prototype).forEach(function(e){s.prototype[e]=function(){var t=this._texture;return t[e].apply(t,arguments)}}),s.prototype.destroy=function(){var t=this._pool._free[this._textureTypeKey];e(t)||(t=this._pool._free[this._textureTypeKey]=[]),t.length>=8?this._texture.destroy():t.push(this)}),new s(t,r,i)}var s,l=function(){this._free={}};return l.prototype.createTexture2D=function(t,o){if(!o)throw new r("description is required.");var s=o.source,l=e(s)?s.width:o.width,u=e(s)?s.height:o.height,c=o.pixelFormat||n.RGBA,h=+(o.pixelDatatype||i.UNSIGNED_BYTE),d=+(o.preMultiplyAlpha||c===n.RGB||c===n.LUMINANCE),m=JSON.stringify([l,u,c,h,d]),p=this._free[m];if(e(p)&&p.length>0){var f=p.pop();return e(s)&&f.copyFrom(s),f}return a(t.createTexture2D(o),m,this)},l.prototype.isDestroyed=function(){return!1},l.prototype.destroy=function(){var e=this._free;return Object.keys(e).forEach(function(t){e[t].forEach(function(e){e._texture.destroy()})}),t(this)},l}),r("Shaders/ReprojectWebMercatorFS",[],function(){"use strict";return"uniform sampler2D u_texture;\nvarying vec2 v_textureCoordinates;\nvoid main()\n{\ngl_FragColor = texture2D(u_texture, v_textureCoordinates);\n}\n"}),r("Shaders/ReprojectWebMercatorVS",[],function(){"use strict";return"attribute vec4 position;\nuniform vec2 u_textureDimensions;\nuniform float u_northLatitude;\nuniform float u_southLatitude;\nuniform float u_southMercatorYHigh;\nuniform float u_southMercatorYLow;\nuniform float u_oneOverMercatorHeight;\nvarying vec2 v_textureCoordinates;\nvoid main()\n{\nfloat currentLatitude = mix(u_southLatitude, u_northLatitude, position.y);\nfloat fraction = czm_latitudeToWebMercatorFraction(currentLatitude, u_southMercatorYLow, u_southMercatorYHigh, u_oneOverMercatorHeight);\nv_textureCoordinates = vec2(position.x, fraction);\ngl_Position = czm_viewportOrthographic * (position * vec4(u_textureDimensions, 1.0, 1.0));\n}\n"}),r("Scene/ImageryLayer",["../Core/defaultValue","../Core/defined","../Core/destroyObject","../Core/BoundingRectangle","../Core/ComponentDatatype","../Core/Cartesian2","../Core/Cartesian4","../Core/Color","../Core/Extent","../Core/FeatureDetection","../Core/Math","../Core/PrimitiveType","../Core/Geometry","../Core/GeometryAttribute","../Renderer/BufferUsage","../Renderer/MipmapHint","../Renderer/TextureMagnificationFilter","../Renderer/TextureMinificationFilter","../Renderer/TextureWrap","../Renderer/ClearCommand","./GeographicTilingScheme","./Imagery","./TileProviderError","./ImageryState","./TileImagery","./TerrainProvider","./TexturePool","../ThirdParty/when","../Shaders/ReprojectWebMercatorFS","../Shaders/ReprojectWebMercatorVS"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f,v,y,g,_,w,C,x,S,E,b,T,A,D,P){"use strict";function M(e,t,r){return JSON.stringify([e,t,r])}function I(r,o,a,l){var u=o.cache.imageryLayer_reproject;if(!t(u)){u=o.cache.imageryLayer_reproject={framebuffer:void 0,vertexArray:void 0,shaderProgram:void 0,renderState:void 0,sampler:void 0,destroy:function(){t(this.framebuffer)&&this.framebuffer.destroy(),t(this.vertexArray)&&this.vertexArray.destroy(),t(this.shaderProgram)&&this.shaderProgram.release()}},u.framebuffer=o.createFramebuffer(),u.framebuffer.destroyAttachments=!1;for(var c=new Array(131072),w=0,C=0;256>C;++C)for(var x=C/255,S=0;256>S;++S){var E=S/255;c[w++]=E,c[w++]=x}var T=new d({attributes:{position:new m({componentDatatype:n.FLOAT,componentsPerAttribute:2,values:c})},indices:b.getRegularGridIndices(256,256),primitiveType:h.TRIANGLES}),A={position:0};u.vertexArray=o.createVertexArrayFromGeometry({geometry:T,attributeIndices:A,bufferUsage:p.STATIC_DRAW}),u.shaderProgram=o.getShaderCache().getShaderProgram(P,D,A);var M=o.getMaximumTextureFilterAnisotropy();u.sampler=o.createSampler({wrapS:g.CLAMP_TO_EDGE,wrapT:g.CLAMP_TO_EDGE,minificationFilter:y.LINEAR,magnificationFilter:v.LINEAR,maximumAnisotropy:Math.min(M,e(r._maximumAnisotropy,M))})}a.setSampler(u.sampler);var I=a.getWidth(),O=a.getHeight();L.textureDimensions.x=I,L.textureDimensions.y=O,L.texture=a,L.northLatitude=l.north,L.southLatitude=l.south;var R=Math.sin(l.south),N=.5*Math.log((1+R)/(1-R));z[0]=N,L.southMercatorYHigh=z[0],L.southMercatorYLow=N-z[0],R=Math.sin(l.north);var B=.5*Math.log((1+R)/(1-R));L.oneOverMercatorHeight=1/(B-N);var F=r._texturePool.createTexture2D(o,{width:I,height:O,pixelFormat:a.getPixelFormat(),pixelDatatype:a.getPixelDatatype(),preMultiplyAlpha:a.getPreMultiplyAlpha()});F.generateMipmap(f.NICEST),u.framebuffer.setColorTexture(F);var V=new _;return V.color=s.BLACK,V.framebuffer=u.framebuffer,V.execute(o),t(u.renderState)&&u.renderState.viewport.width===I&&u.renderState.viewport.height===O||(u.renderState=o.createRenderState({viewport:new i(0,0,I,O)})),o.draw({framebuffer:u.framebuffer,shaderProgram:u.shaderProgram,renderState:u.renderState,primitiveType:h.TRIANGLES,vertexArray:u.vertexArray,uniformMap:L}),F}function O(e,t,r){var i=e._imageryProvider,n=i.getTilingScheme(),o=n.getEllipsoid(),a=Math.cos(r),s=n.getExtent(),l=o.getMaximumRadius()*(s.east-s.west)*a/(i.getTileWidth()*n.getNumberOfXTilesAtLevel(0)),u=l/t,c=Math.log(u)/Math.log(2),h=Math.round(c);return 0|h}var R=function N(t,r){this._imageryProvider=t,r=e(r,{}),this.alpha=e(r.alpha,e(t.defaultAlpha,1)),this.brightness=e(r.brightness,e(t.defaultBrightness,N.DEFAULT_BRIGHTNESS)),this.contrast=e(r.contrast,e(t.defaultContrast,N.DEFAULT_CONTRAST)),this.hue=e(r.hue,e(t.defaultHue,N.DEFAULT_HUE)),this.saturation=e(r.saturation,e(t.defaultSaturation,N.DEFAULT_SATURATION)),this.gamma=e(r.gamma,e(t.defaultGamma,N.DEFAULT_GAMMA)),this.show=e(r.show,!0),this._minimumTerrainLevel=r.minimumTerrainLevel,this._maximumTerrainLevel=r.maximumTerrainLevel,this._extent=e(r.extent,l.MAX_VALUE),this._maximumAnisotropy=r.maximumAnisotropy,this._imageryCache={},this._texturePool=new T,this._skeletonPlaceholder=new E(C.createPlaceholder(this)),this._show=!1,this._layerIndex=-1,this._isBaseLayer=!1,this._requestImageError=void 0};R.DEFAULT_BRIGHTNESS=1,R.DEFAULT_CONTRAST=1,R.DEFAULT_HUE=0,R.DEFAULT_SATURATION=1,R.DEFAULT_GAMMA=1,R.prototype.getImageryProvider=function(){return this._imageryProvider},R.prototype.getExtent=function(){return this._extent},R.prototype.isBaseLayer=function(){return this._isBaseLayer},R.prototype.isDestroyed=function(){return!1},R.prototype.destroy=function(){return this._texturePool=this._texturePool&&this._texturePool.destroy(),r(this)},R.prototype._createTileImagerySkeletons=function(e,r,i){if(t(this._minimumTerrainLevel)&&e.levelthis._maximumTerrainLevel)return!1;var n=this._imageryProvider;if(t(i)||(i=e.imagery.length),!n.isReady())return this._skeletonPlaceholder.loadingImagery.addReference(),e.imagery.splice(i,0,this._skeletonPlaceholder),!0;var o=e.extent.intersectWith(n.getExtent());if(o=o.intersectWith(this._extent),o.east<=o.west||o.north<=o.south){if(!this.isBaseLayer())return!1;var s=n.getExtent().intersectWith(this._extent),l=e.extent;l.south>=s.north?o.north=o.south=s.north:l.north<=s.south&&(o.north=o.south=s.south),l.west>=s.east?o.west=o.east=s.east:l.east<=s.west&&(o.west=o.east=s.west)}var u=0;o.south>0?u=o.south:o.north<0&&(u=o.north);var c=1,h=c*r.getLevelMaximumGeometricError(e.level),d=O(this,h,u);d=Math.max(0,d);var m=n.getMaximumLevel();if(d>m&&(d=m),t(n.getMinimumLevel)){var p=n.getMinimumLevel();p>d&&(d=p)}var f=n.getTilingScheme(),v=f.positionToTileXY(o.getNorthwest(),d),y=f.positionToTileXY(o.getSoutheast(),d),g=(e.extent.north-e.extent.south)/512,_=(e.extent.east-e.extent.west)/512,w=f.tileXYToExtent(v.x,v.y,d);Math.abs(w.south-e.extent.north)<_&&v.yv.y&&--y.y,Math.abs(C.west-e.extent.east)v.x&&--y.x;var x,S,b=e.extent,T=f.tileXYToExtent(v.x,v.y,d),A=0,D=1;!this.isBaseLayer()&&Math.abs(T.west-e.extent.west)>=g&&(A=Math.min(1,(T.west-b.west)/(b.east-b.west))),!this.isBaseLayer()&&Math.abs(T.north-e.extent.north)>=_&&(D=Math.max(0,(T.north-b.south)/(b.north-b.south)));for(var P=D,M=v.x;M<=y.x;M++){x=A,T=f.tileXYToExtent(M,v.y,d),A=Math.min(1,(T.east-b.west)/(b.east-b.west)),M===y.x&&(this.isBaseLayer()||Math.abs(T.east-e.extent.east)1e-5){var a=I(this,r,n,i.extent);n.destroy(),i.texture=n=a}if(c.isPowerOfTwo(n.getWidth())&&c.isPowerOfTwo(n.getHeight())){var s=r.cache.imageryLayer_mipmapSampler;if(!t(s)){var l=r.getMaximumTextureFilterAnisotropy();s=r.cache.imageryLayer_mipmapSampler=r.createSampler({wrapS:g.CLAMP_TO_EDGE,wrapT:g.CLAMP_TO_EDGE,minificationFilter:y.LINEAR_MIPMAP_LINEAR,magnificationFilter:v.LINEAR,maximumAnisotropy:Math.min(l,e(this._maximumAnisotropy,l))})}n.generateMipmap(f.NICEST),n.setSampler(s)}else{var u=r.cache.imageryLayer_nonMipmapSampler;t(u)||(u=r.cache.imageryLayer_nonMipmapSampler=r.createSampler({wrapS:g.CLAMP_TO_EDGE,wrapT:g.CLAMP_TO_EDGE,minificationFilter:y.LINEAR,magnificationFilter:v.LINEAR})),n.setSampler(u)}i.state=S.READY},R.prototype.getImageryFromCache=function(e,r,i,n){var o=M(e,r,i),a=this._imageryCache[o];return t(a)||(a=new C(this,e,r,i,n),this._imageryCache[o]=a),a.addReference(),a},R.prototype.removeImageryFromCache=function(e){var t=M(e.x,e.y,e.level);delete this._imageryCache[t]};var L={u_textureDimensions:function(){return this.textureDimensions},u_texture:function(){return this.texture},u_northLatitude:function(){return this.northLatitude},u_southLatitude:function(){return this.southLatitude},u_southMercatorYLow:function(){return this.southMercatorYLow},u_southMercatorYHigh:function(){return this.southMercatorYHigh},u_oneOverMercatorHeight:function(){return this.oneOverMercatorHeight},textureDimensions:new o,texture:void 0,northLatitude:0,southLatitude:0,southMercatorYHigh:0,southMercatorYLow:0,oneOverMercatorHeight:0},z=u.supportsTypedArrays()?new Float32Array(1):void 0;return R}),r("Scene/TileReplacementQueue",["../Core/defined","./ImageryState","./TerrainState"],function(e,t,r){"use strict";function i(e,t){var r=t.replacementPrevious,i=t.replacementNext;t===e._lastBeforeStartOfFrame&&(e._lastBeforeStartOfFrame=i),t===e.head?e.head=i:r.replacementNext=i,t===e.tail?e.tail=r:i.replacementPrevious=r,t.replacementPrevious=void 0,t.replacementNext=void 0,--e.count}var n=function(){this.head=void 0,this.tail=void 0,this.count=0,this._lastBeforeStartOfFrame=void 0};return n.prototype.markStartOfRenderFrame=function(){this._lastBeforeStartOfFrame=this.head},n.prototype.trimTiles=function(n){for(var o=this.tail,a=!0;a&&e(this._lastBeforeStartOfFrame)&&this.count>n&&e(o);){a=o!==this._lastBeforeStartOfFrame;for(var s=o.replacementPrevious,l=o.loadedTerrain,u=e(l)&&(l.state===r.RECEIVING||l.state===r.TRANSFORMING),c=o.upsampledTerrain,h=e(c)&&(c.state===r.RECEIVING||c.state===r.TRANSFORMING),d=!u&&!h,m=o.imagery,p=0,f=m.length;d&&f>p;++p){var v=m[p];d=!e(v.loadingImagery)||v.loadingImagery.state!==t.TRANSITIONING}d&&(o.freeResources(),i(this,o)),o=s}},n.prototype.markTileRendered=function(t){var r=this.head;return r===t?(t===this._lastBeforeStartOfFrame&&(this._lastBeforeStartOfFrame=t.replacementNext),void 0):(++this.count,e(r)?((e(t.replacementPrevious)||e(t.replacementNext))&&i(this,t),t.replacementPrevious=void 0,t.replacementNext=r,r.replacementPrevious=t,this.head=t,void 0):(t.replacementPrevious=void 0,t.replacementNext=void 0,this.head=t,this.tail=t,void 0))},n}),r("Scene/CentralBodySurface",["../Core/defaultValue","../Core/defined","../Core/destroyObject","../Core/BoundingSphere","../Core/Cartesian2","../Core/Cartesian3","../Core/Cartesian4","../Core/Cartographic","../Core/FeatureDetection","../Core/DeveloperError","../Core/EllipsoidalOccluder","../Core/Intersect","../Core/Matrix4","../Core/PrimitiveType","../Core/Queue","../Core/WebMercatorProjection","../Renderer/DrawCommand","../Renderer/Pass","./ImageryLayer","./ImageryState","./SceneMode","./TerrainProvider","./TileReplacementQueue","./TileState","../ThirdParty/when"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f,v,y,g,_,w,C,x,S,E){"use strict";function b(e,r){var i=e.loadingImagery;t(i)||(i=e.readyImagery);var n=r.loadingImagery;return t(n)||(n=r.readyImagery),i.imageryLayer._layerIndex-n.imageryLayer._layerIndex}function T(e){if(e._imageryLayerCollection._update(),e._layerOrderChanged){e._layerOrderChanged=!1;for(var r=e._tileReplacementQueue.head;t(r);)r.imagery.sort(b),r=r.replacementNext}}function A(e,r,i){var n=e._debug;if(!n.suspendLodUpdate){var o,a,s=e._tilesToRenderByTextureCount;for(o=0,a=s.length;a>o;++o){var l=s[o];t(l)&&(l.length=0)}var u=e._tileTraversalQueue;if(u.clear(),n.maxDepth=0,n.tilesVisited=0,n.tilesCulled=0,n.tilesRendered=0,n.texturesRendered=0,n.tilesWaitingForChildren=0,e._tileLoadQueue.length=0,e._tileReplacementQueue.markStartOfRenderFrame(),!t(e._levelZeroTiles)){if(!e._terrainProvider.isReady())return;var c=e._terrainProvider.getTilingScheme();e._levelZeroTiles=c.createLevelZeroTiles()}var h=i.camera.positionWC,d=e._terrainProvider.getTilingScheme().getEllipsoid(),m=d.cartesianToCartographic(h,W);e._ellipsoidalOccluder.setCameraPosition(h);var p,f=e._levelZeroTiles;for(o=0,a=f.length;a>o;++o)p=f[o],e._tileReplacementQueue.markTileRendered(p),p.state!==S.READY&&L(e,p),p.isRenderable&&I(e,i,p)?u.enqueue(p):(++n.tilesCulled,p.isRenderable||++n.tilesWaitingForChildren);for(;t(p=u.dequeue());)if(++n.tilesVisited,e._tileReplacementQueue.markTileRendered(p),p.level>n.maxDepth&&(n.maxDepth=p.level),D(e,r,i,h,m,p)o;++o)I(e,i,v[o])?u.enqueue(v[o]):++n.tilesCulled}else++n.tilesWaitingForChildren,M(e,p);n.enableDebugOutput&&(n.tilesVisited!==n.lastTilesVisited||n.tilesRendered!==n.lastTilesRendered||n.texturesRendered!==n.lastTexturesRendered||n.tilesCulled!==n.lastTilesCulled||n.maxDepth!==n.lastMaxDepth||n.tilesWaitingForChildren!==n.lastTilesWaitingForChildren)&&(console.log("Visited "+n.tilesVisited+", Rendered: "+n.tilesRendered+", Textures: "+n.texturesRendered+", Culled: "+n.tilesCulled+", Max Depth: "+n.maxDepth+", Waiting for children: "+n.tilesWaitingForChildren),n.lastTilesVisited=n.tilesVisited,n.lastTilesRendered=n.tilesRendered,n.lastTexturesRendered=n.texturesRendered,n.lastTilesCulled=n.tilesCulled,n.lastMaxDepth=n.maxDepth,n.lastTilesWaitingForChildren=n.tilesWaitingForChildren)}}function D(e,t,r,i,n,o){if(r.mode===w.SCENE2D)return P(e,t,r,i,n,o);var a=o.extent,s=1;if(r.mode===w.SCENE3D){var l=0;a.south>0?l=a.south:a.north<0&&(l=a.north),s=Math.cos(l)}var u=s*e._terrainProvider.getLevelMaximumGeometricError(o.level),c=Math.sqrt(O(r,i,n,o));o.distance=c;var h=t.getDrawingBufferHeight(),d=r.camera,m=d.frustum,p=m.fovy;return u*h/(2*c*Math.tan(.5*p))}function P(e,t,r,i,n,o){var a=r.camera,s=a.frustum,l=t.getDrawingBufferWidth(),u=t.getDrawingBufferHeight(),c=e._terrainProvider.getLevelMaximumGeometricError(o.level),h=Math.max(s.top-s.bottom,s.right-s.left)/Math.max(l,u);return c/h}function M(e,r){for(var i=0,n=r.imagery,o=0,a=n.length;a>o;++o){var s=n[o];t(s.readyImagery)&&0!==s.readyImagery.imageryLayer.alpha&&++i}var l=e._tilesToRenderByTextureCount[i];t(l)||(l=[],e._tilesToRenderByTextureCount[i]=l),l.push(r);var u=e._debug;++u.tilesRendered,u.texturesRendered+=i}function I(e,r,n){var a=r.cullingVolume,s=n.boundingSphere3D;if(r.mode!==w.SCENE3D&&(s=q,i.fromExtentWithHeights2D(n.extent,r.scene2D.projection,n.minimumHeight,n.maximumHeight,s),o.fromElements(s.center.z,s.center.x,s.center.y,s.center),r.mode===w.MORPHING&&(s=i.union(n.boundingSphere3D,s,s))),a.getVisibility(s)===h.OUTSIDE)return!1;if(r.mode===w.SCENE3D){var l=n.occludeePointInScaledSpace;return t(l)?e._ellipsoidalOccluder.isScaledSpacePointVisible(l):!0}return!0}function O(e,t,r,i){var n=i.southwestCornerCartesian,a=i.northeastCornerCartesian,s=i.westNormal,l=i.southNormal,u=i.eastNormal,c=i.northNormal,h=i.maximumHeight;e.mode!==w.SCENE3D&&(n=e.scene2D.projection.project(i.extent.getSouthwest(),G),n.z=n.y,n.y=n.x,n.x=0,a=e.scene2D.projection.project(i.extent.getNortheast(),H),a.z=a.y,a.y=a.x,a.x=0,s=j,u=o.UNIT_Y,l=Y,c=o.UNIT_Z,h=0);var d,m=o.subtract(t,n,X),p=o.dot(m,s),f=o.dot(m,l),v=o.subtract(t,a,X),y=o.dot(v,u),g=o.dot(v,c);d=e.mode===w.SCENE3D?r.height:t.x;var _=d-h,C=0;return p>0?C+=p*p:y>0&&(C+=y*y),f>0?C+=f*f:g>0&&(C+=g*g),_>0&&(C+=_*_),C}function R(e,t,r){for(var i=!0,n=r.getChildren(),o=0,a=n.length;a>o;++o){var s=n[o];e._tileReplacementQueue.markTileRendered(s),s.state!==S.READY&&L(e,s),s.isRenderable||(i=!1)}return i}function L(e,t){e._tileLoadQueue.push(t) -}function z(e,t){var r=e._tileLoadQueue,i=e._terrainProvider,n=e._imageryLayerCollection;if(0!==r.length){e._tileReplacementQueue.trimTiles(e._tileCacheSize);for(var o=Date.now(),a=e._loadQueueTimeSlice,s=o+a,l=r.length-1,u=l;u>=0;--u){var c=r[u];if(e._tileReplacementQueue.markTileRendered(c),c.processStateMachine(t,i,n),Date.now()>=s)break}}}function N(e,t){return e.distance-t.distance}function B(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])}function F(e){var t={u_center3D:function(){return this.center3D},u_tileExtent:function(){return this.tileExtent},u_modifiedModelView:function(){return this.modifiedModelView},u_dayTextures:function(){return this.dayTextures},u_dayTextureTranslationAndScale:function(){return this.dayTextureTranslationAndScale},u_dayTextureTexCoordsExtent:function(){return this.dayTextureTexCoordsExtent},u_dayTextureAlpha:function(){return this.dayTextureAlpha},u_dayTextureBrightness:function(){return this.dayTextureBrightness},u_dayTextureContrast:function(){return this.dayTextureContrast},u_dayTextureHue:function(){return this.dayTextureHue},u_dayTextureSaturation:function(){return this.dayTextureSaturation},u_dayTextureOneOverGamma:function(){return this.dayTextureOneOverGamma},u_dayIntensity:function(){return this.dayIntensity},u_southAndNorthLatitude:function(){return this.southAndNorthLatitude},u_southMercatorYLowAndHighAndOneOverHeight:function(){return this.southMercatorYLowAndHighAndOneOverHeight},u_waterMask:function(){return this.waterMask},u_waterMaskTranslationAndScale:function(){return this.waterMaskTranslationAndScale},center3D:void 0,modifiedModelView:new d,tileExtent:new a,dayTextures:[],dayTextureTranslationAndScale:[],dayTextureTexCoordsExtent:[],dayTextureAlpha:[],dayTextureBrightness:[],dayTextureContrast:[],dayTextureHue:[],dayTextureSaturation:[],dayTextureOneOverGamma:[],dayIntensity:0,southAndNorthLatitude:new n,southMercatorYLowAndHighAndOneOverHeight:new o,waterMask:void 0,waterMaskTranslationAndScale:new a};return B(t,e),t}function V(e,r,n,s,l,u,c,h){for(var p=n.camera.viewMatrix,C=r.getMaximumTextureImageUnits(),x=e._tileCommands,S=e._tileCommandUniformMaps,E=-1,b=e._tilesToRenderByTextureCount,T=0,A=b.length;A>T;++T){var D=b[T];if(t(D)&&0!==D.length){D.sort(N);for(var P=0,M=D.length;M>P;P++){var I=D[P],O=I.center,R=K,L=0,z=0,B=0,V=0,U=0;if(n.mode!==w.SCENE3D){var W=l.project(I.extent.getSouthwest(),et),q=l.project(I.extent.getNortheast(),tt);if(R.x=W.x,R.y=W.y,R.z=q.x,R.w=q.y,n.mode!==w.MORPHING&&(O=Q,O.x=0,O.y=.5*(R.z+R.x),O.z=.5*(R.w+R.y),R.x-=O.y,R.y-=O.z,R.z-=O.y,R.w-=O.z),l instanceof f){L=I.extent.south,z=I.extent.north;var G=f.geodeticLatitudeToMercatorAngle(L),H=f.geodeticLatitudeToMercatorAngle(z);Z[0]=G,B=Z[0],V=G-Z[0],U=1/(H-G)}}var j=$;j.x=O.x,j.y=O.y,j.z=O.z,j.w=1,d.multiplyByVector(p,j,j),d.setColumn(p,3,j,J);var Y=I.imagery,X=0,rt=Y.length;do{var it=0;++E;var nt=x[E];t(nt)||(nt=new v,nt.owner=I,nt.cull=!1,nt.boundingVolume=new i,x[E]=nt,S[E]=F(u)),nt.owner=I,nt.debugShowBoundingVolume=I===e._debug.boundingSphereTile;var ot=S[E];ot.center3D=I.center,a.clone(R,ot.tileExtent),ot.southAndNorthLatitude.x=L,ot.southAndNorthLatitude.y=z,ot.southMercatorYLowAndHighAndOneOverHeight.x=V,ot.southMercatorYLowAndHighAndOneOverHeight.y=B,ot.southMercatorYLowAndHighAndOneOverHeight.z=U,d.clone(J,ot.modifiedModelView);for(var at=!1,st=!1,lt=!1,ut=!1,ct=!1,ht=!1;C>it&&rt>X;){var dt=Y[X],mt=dt.readyImagery;if(++X,t(mt)&&mt.state===_.READY&&0!==mt.imageryLayer.alpha){var pt=mt.imageryLayer;t(dt.textureTranslationAndScale)||(dt.textureTranslationAndScale=pt._calculateTextureTranslationAndScale(I,dt)),ot.dayTextures[it]=mt.texture,ot.dayTextureTranslationAndScale[it]=dt.textureTranslationAndScale,ot.dayTextureTexCoordsExtent[it]=dt.textureCoordinateExtent,ot.dayTextureAlpha[it]="function"==typeof pt.alpha?pt.alpha(n,pt,mt.x,mt.y,mt.level):pt.alpha,ht=ht||1!==ot.dayTextureAlpha[it],ot.dayTextureBrightness[it]="function"==typeof pt.brightness?pt.brightness(n,pt,mt.x,mt.y,mt.level):pt.brightness,at=at||ot.dayTextureBrightness[it]!==g.DEFAULT_BRIGHTNESS,ot.dayTextureContrast[it]="function"==typeof pt.contrast?pt.contrast(n,pt,mt.x,mt.y,mt.level):pt.contrast,st=st||ot.dayTextureContrast[it]!==g.DEFAULT_CONTRAST,ot.dayTextureHue[it]="function"==typeof pt.hue?pt.hue(n,pt,mt.x,mt.y,mt.level):pt.hue,lt=lt||ot.dayTextureHue[it]!==g.DEFAULT_HUE,ot.dayTextureSaturation[it]="function"==typeof pt.saturation?pt.saturation(n,pt,mt.x,mt.y,mt.level):pt.saturation,ut=ut||ot.dayTextureSaturation[it]!==g.DEFAULT_SATURATION,ot.dayTextureOneOverGamma[it]="function"==typeof pt.gamma?1/pt.gamma(n,pt,mt.x,mt.y,mt.level):1/pt.gamma,ct=ct||ot.dayTextureOneOverGamma[it]!==1/g.DEFAULT_GAMMA,++it}}ot.dayTextures.length=it,ot.waterMask=I.waterMaskTexture,a.clone(I.waterMaskTranslationAndScale,ot.waterMaskTranslationAndScale),c.push(nt),nt.shaderProgram=s.getShaderProgram(r,T,at,st,lt,ut,ct,ht),nt.renderState=h,nt.primitiveType=m.TRIANGLES,nt.vertexArray=I.vertexArray,nt.uniformMap=ot,nt.pass=y.OPAQUE,e._debug.wireframe&&(k(r,e,I),t(I.wireframeVertexArray)&&(nt.vertexArray=I.wireframeVertexArray,nt.primitiveType=m.LINES));var ft=nt.boundingVolume;n.mode!==w.SCENE3D?(i.fromExtentWithHeights2D(I.extent,n.scene2D.projection,I.minimumHeight,I.maximumHeight,ft),o.fromElements(ft.center.z,ft.center.x,ft.center.y,ft.center),n.mode===w.MORPHING&&(ft=i.union(I.boundingSphere3D,ft,ft))):i.clone(I.boundingSphere3D,ft)}while(rt>X)}}}x.length=Math.max(0,E+1)}function k(e,r,i){if(!t(i.wireframeVertexArray)&&!t(i.meshForWireframePromise)&&(i.meshForWireframePromise=i.terrainData.createMesh(r._terrainProvider.getTilingScheme(),i.x,i.y,i.level),t(i.meshForWireframePromise))){var n=i.vertexArray;E(i.meshForWireframePromise,function(t){i.vertexArray===n&&(i.wireframeVertexArray=C.createWireframeVertexArray(e,i.vertexArray,t)),i.meshForWireframePromise=void 0})}}var U=function(e){if(!t(e.terrainProvider))throw new u("options.terrainProvider is required.");if(!t(e.imageryLayerCollection))throw new u("options.imageryLayerCollection is required.");this._terrainProvider=e.terrainProvider,this._imageryLayerCollection=e.imageryLayerCollection,this._imageryLayerCollection.layerAdded.addEventListener(U.prototype._onLayerAdded,this),this._imageryLayerCollection.layerRemoved.addEventListener(U.prototype._onLayerRemoved,this),this._imageryLayerCollection.layerMoved.addEventListener(U.prototype._onLayerMoved,this),this._imageryLayerCollection.layerShownOrHidden.addEventListener(U.prototype._onLayerShownOrHidden,this),this._layerOrderChanged=!1;var r=this._terrainProvider.getTilingScheme();this._levelZeroTiles=void 0,this._tilesToRenderByTextureCount=[],this._tileCommands=[],this._tileCommandUniformMaps=[],this._tileTraversalQueue=new p,this._tileLoadQueue=[],this._tileReplacementQueue=new x,this._maximumScreenSpaceError=2,this._tileCacheSize=100,this._loadQueueTimeSlice=5;var i=r.getEllipsoid();this._ellipsoidalOccluder=new c(i,o.ZERO),this._debug={enableDebugOutput:!1,wireframe:!1,boundingSphereTile:void 0,maxDepth:0,tilesVisited:0,tilesCulled:0,tilesRendered:0,texturesRendered:0,tilesWaitingForChildren:0,lastMaxDepth:-1,lastTilesVisited:-1,lastTilesCulled:-1,lastTilesRendered:-1,lastTexturesRendered:-1,lastTilesWaitingForChildren:-1,suspendLodUpdate:!1}};U.prototype.update=function(e,t,r,i,n,o,a){T(this),A(this,e,t),z(this,e,t),V(this,e,t,n,a,i,r,o)},U.prototype.getTerrainProvider=function(){return this._terrainProvider},U.prototype.setTerrainProvider=function(e){if(this._terrainProvider!==e){if(!t(e))throw new u("terrainProvider is required.");this._terrainProvider=e;var r=this._tileReplacementQueue;r.head=void 0,r.tail=void 0,r.count=0;var i=this._levelZeroTiles;if(t(i))for(var n=0;na;++a){var l=i[a],u=l.loadingImagery;if(t(u)||(u=l.readyImagery),u.imageryLayer===e)-1===n&&(n=a),l.freeResources(),++o;else if(-1!==n)break}-1!==n&&i.splice(n,o),e.isBaseLayer()&&(r.isRenderable=!1),r=r.replacementNext}},U.prototype._onLayerMoved=function(){t(this._levelZeroTiles)&&(this._layerOrderChanged=!0)},U.prototype._onLayerShownOrHidden=function(e,r,i){t(this._levelZeroTiles)&&(i?this._onLayerAdded(e,r):this._onLayerRemoved(e,r))},U.prototype.isDestroyed=function(){return!1},U.prototype.destroy=function(){var e=this._levelZeroTiles;if(t(e))for(var i=0;ip;++p)m+="color = sampleAndBlend(\n color,\n u_dayTextures["+p+"],\n"+" textureCoordinates,\n"+" u_dayTextureTexCoordsExtent["+p+"],\n"+" u_dayTextureTranslationAndScale["+p+"],\n"+(u?" u_dayTextureAlpha["+p+"],\n":"1.0,\n")+(n?" u_dayTextureBrightness["+p+"],\n":"0.0,\n")+(o?" u_dayTextureContrast["+p+"],\n":"0.0,\n")+(a?" u_dayTextureHue["+p+"],\n":"0.0,\n")+(s?" u_dayTextureSaturation["+p+"],\n":"0.0,\n")+(l?" u_dayTextureOneOverGamma["+p+"]);\n":"0.0);\n");m+=" return color;\n}",h=t.getShaderCache().getShaderProgram(d,m,this._attributeIndices),this._shaders[c]=h}return h},r.prototype.destroy=function(){return this.invalidateShaders(),t(this)},r}),r("Scene/EllipsoidTerrainProvider",["../Core/defaultValue","../Core/defined","../Core/Ellipsoid","../Core/Event","./HeightmapTerrainData","./TerrainProvider","./GeographicTilingScheme"],function(e,t,r,i,n,o,a){"use strict";var s=function(s){s=e(s,{}),this._tilingScheme=s.tilingScheme,t(this._tilingScheme)||(this._tilingScheme=new a({ellipsoid:e(s.ellipsoid,r.WGS84)})),this._levelZeroMaximumGeometricError=o.getEstimatedLevelZeroGeometricErrorForAHeightmap(this._tilingScheme.getEllipsoid(),64,this._tilingScheme.getNumberOfXTilesAtLevel(0));var l=16,u=16;this._terrainData=new n({buffer:new Uint8Array(l*u),width:16,height:16}),this._errorEvent=new i};return s.prototype.requestTileGeometry=function(){return this._terrainData},s.prototype.getErrorEvent=function(){return this._errorEvent},s.prototype.getLevelMaximumGeometricError=function(e){return this._levelZeroMaximumGeometricError/(1<i)throw new e("index must be greater than or equal to zero.");if(i>this._layers.length)throw new e("index must be less than or equal to the number of layers.");this._layers.splice(i,0,t)}else i=this._layers.length,this._layers.push(t);this._update(),this.layerAdded.raiseEvent(t,i)},u.prototype.addImageryProvider=function(t,i){if(!r(t))throw new e("imageryProvider is required.");var n=new a(t);return this.add(n,i),n},u.prototype.remove=function(e,r){r=t(r,!0);var i=this._layers.indexOf(e);return-1!==i?(this._layers.splice(i,1),this._update(),this.layerRemoved.raiseEvent(e,i),r&&e.destroy(),!0):!1},u.prototype.removeAll=function(e){e=t(e,!0);for(var r=this._layers,i=0,n=r.length;n>i;i++){var o=r[i];this.layerRemoved.raiseEvent(o,i),e&&o.destroy()}this._layers=[]},u.prototype.contains=function(e){return-1!==this.indexOf(e)},u.prototype.indexOf=function(e){return this._layers.indexOf(e)},u.prototype.get=function(t){if(!r(t))throw new e("index is required.","index");return this._layers[t]},u.prototype.getLength=function(){return this._layers.length},u.prototype.raise=function(e){var t=s(this._layers,e);l(this,t,t+1)},u.prototype.lower=function(e){var t=s(this._layers,e);l(this,t,t-1)},u.prototype.raiseToTop=function(e){var t=s(this._layers,e);t!==this._layers.length-1&&(this._layers.splice(t,1),this._layers.push(e),this._update(),this.layerMoved.raiseEvent(e,this._layers.length-1,t))},u.prototype.lowerToBottom=function(e){var t=s(this._layers,e);0!==t&&(this._layers.splice(t,1),this._layers.splice(0,0,e),this._update(),this.layerMoved.raiseEvent(e,0,t))},u.prototype.isDestroyed=function(){return!1},u.prototype.destroy=function(){return this.removeAll(!0),i(this)},u.prototype._update=function(){for(var e,t,i=!0,n=this._layers,o=0,a=n.length;a>o;++o)t=n[o],t._layerIndex=o,t.show?(t._isBaseLayer=i,i=!1):t._isBaseLayer=!1,t.show!==t._show&&(r(t._show)&&(r(e)||(e=[]),e.push(t)),t._show=t.show);if(r(e))for(o=0,a=e.length;a>o;++o)t=e[o],this.layerShownOrHidden.raiseEvent(t,t._layerIndex,t.show)},u}),r("Shaders/CentralBodyFS",[],function(){"use strict";return"#if TEXTURE_UNITS > 0\nuniform sampler2D u_dayTextures[TEXTURE_UNITS];\nuniform vec4 u_dayTextureTranslationAndScale[TEXTURE_UNITS];\n#ifdef APPLY_ALPHA\nuniform float u_dayTextureAlpha[TEXTURE_UNITS];\n#endif\n#ifdef APPLY_BRIGHTNESS\nuniform float u_dayTextureBrightness[TEXTURE_UNITS];\n#endif\n#ifdef APPLY_CONTRAST\nuniform float u_dayTextureContrast[TEXTURE_UNITS];\n#endif\n#ifdef APPLY_HUE\nuniform float u_dayTextureHue[TEXTURE_UNITS];\n#endif\n#ifdef APPLY_SATURATION\nuniform float u_dayTextureSaturation[TEXTURE_UNITS];\n#endif\n#ifdef APPLY_GAMMA\nuniform float u_dayTextureOneOverGamma[TEXTURE_UNITS];\n#endif\nuniform vec4 u_dayTextureTexCoordsExtent[TEXTURE_UNITS];\n#endif\n#ifdef SHOW_REFLECTIVE_OCEAN\nuniform sampler2D u_waterMask;\nuniform vec4 u_waterMaskTranslationAndScale;\nuniform float u_zoomedOutOceanSpecularIntensity;\n#endif\n#ifdef SHOW_OCEAN_WAVES\nuniform sampler2D u_oceanNormalMap;\n#endif\n#ifdef ENABLE_LIGHTING\nuniform vec2 u_lightingFadeDistance;\n#endif\nvarying vec3 v_positionMC;\nvarying vec3 v_positionEC;\nvarying vec2 v_textureCoordinates;\nvec3 sampleAndBlend(\nvec3 previousColor,\nsampler2D texture,\nvec2 tileTextureCoordinates,\nvec4 textureCoordinateExtent,\nvec4 textureCoordinateTranslationAndScale,\nfloat textureAlpha,\nfloat textureBrightness,\nfloat textureContrast,\nfloat textureHue,\nfloat textureSaturation,\nfloat textureOneOverGamma)\n{\nvec2 alphaMultiplier = step(textureCoordinateExtent.st, tileTextureCoordinates);\ntextureAlpha = textureAlpha * alphaMultiplier.x * alphaMultiplier.y;\nalphaMultiplier = step(vec2(0.0), textureCoordinateExtent.pq - tileTextureCoordinates);\ntextureAlpha = textureAlpha * alphaMultiplier.x * alphaMultiplier.y;\nvec2 translation = textureCoordinateTranslationAndScale.xy;\nvec2 scale = textureCoordinateTranslationAndScale.zw;\nvec2 textureCoordinates = tileTextureCoordinates * scale + translation;\nvec4 sample = texture2D(texture, textureCoordinates);\nvec3 color = sample.rgb;\nfloat alpha = sample.a;\n#ifdef APPLY_BRIGHTNESS\ncolor = mix(vec3(0.0), color, textureBrightness);\n#endif\n#ifdef APPLY_CONTRAST\ncolor = mix(vec3(0.5), color, textureContrast);\n#endif\n#ifdef APPLY_HUE\ncolor = czm_hue(color, textureHue);\n#endif\n#ifdef APPLY_SATURATION\ncolor = czm_saturation(color, textureSaturation);\n#endif\n#ifdef APPLY_GAMMA\ncolor = pow(color, vec3(textureOneOverGamma));\n#endif\nreturn mix(previousColor, color, alpha * textureAlpha);\n}\nvec3 computeDayColor(vec3 initialColor, vec2 textureCoordinates);\nvec4 computeWaterColor(vec3 positionEyeCoordinates, vec2 textureCoordinates, mat3 enuToEye, vec3 imageryColor, float specularMapValue);\nvoid main()\n{\nvec3 initialColor = vec3(0.0, 0.0, 0.5);\nvec3 startDayColor = computeDayColor(initialColor, clamp(v_textureCoordinates, 0.0, 1.0));\n#ifdef SHOW_TILE_BOUNDARIES\nif (v_textureCoordinates.x < (1.0/256.0) || v_textureCoordinates.x > (255.0/256.0) ||\nv_textureCoordinates.y < (1.0/256.0) || v_textureCoordinates.y > (255.0/256.0))\n{\nstartDayColor = vec3(1.0, 0.0, 0.0);\n}\n#endif\nvec4 color = vec4(startDayColor, 1.0);\n#if defined(SHOW_REFLECTIVE_OCEAN) || defined(ENABLE_LIGHTING)\nvec3 normalMC = normalize(czm_geodeticSurfaceNormal(v_positionMC, vec3(0.0), vec3(1.0)));\nvec3 normalEC = normalize(czm_normal3D * normalMC);\n#endif\n#ifdef SHOW_REFLECTIVE_OCEAN\nvec2 waterMaskTranslation = u_waterMaskTranslationAndScale.xy;\nvec2 waterMaskScale = u_waterMaskTranslationAndScale.zw;\nvec2 waterMaskTextureCoordinates = v_textureCoordinates * waterMaskScale + waterMaskTranslation;\nfloat mask = texture2D(u_waterMask, waterMaskTextureCoordinates).r;\nif (mask > 0.0)\n{\nmat3 enuToEye = czm_eastNorthUpToEyeCoordinates(v_positionMC, normalEC);\nvec2 ellipsoidTextureCoordinates = czm_ellipsoidWgs84TextureCoordinates(normalMC);\nvec2 ellipsoidFlippedTextureCoordinates = czm_ellipsoidWgs84TextureCoordinates(normalMC.zyx);\nvec2 textureCoordinates = mix(ellipsoidTextureCoordinates, ellipsoidFlippedTextureCoordinates, czm_morphTime * smoothstep(0.9, 0.95, normalMC.z));\ncolor = computeWaterColor(v_positionEC, textureCoordinates, enuToEye, startDayColor, mask);\n}\n#endif\n#ifdef ENABLE_LIGHTING\nfloat diffuseIntensity = clamp(czm_getLambertDiffuse(czm_sunDirectionEC, normalEC) * 5.0 + 0.3, 0.0, 1.0);\nfloat cameraDist = length(czm_view[3]);\nfloat fadeOutDist = u_lightingFadeDistance.x;\nfloat fadeInDist = u_lightingFadeDistance.y;\nfloat t = clamp((cameraDist - fadeOutDist) / (fadeInDist - fadeOutDist), 0.0, 1.0);\ndiffuseIntensity = mix(1.0, diffuseIntensity, t);\ngl_FragColor = vec4(color.rgb * diffuseIntensity, color.a);\n#else\ngl_FragColor = color;\n#endif\n}\n#ifdef SHOW_REFLECTIVE_OCEAN\nfloat waveFade(float edge0, float edge1, float x)\n{\nfloat y = clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0);\nreturn pow(1.0 - y, 5.0);\n}\nconst float oceanFrequency = 125000.0;\nconst float oceanAnimationSpeed = 0.006;\nconst float oceanAmplitude = 2.0;\nconst float oceanSpecularIntensity = 0.5;\nvec4 computeWaterColor(vec3 positionEyeCoordinates, vec2 textureCoordinates, mat3 enuToEye, vec3 imageryColor, float specularMapValue)\n{\nfloat time = czm_frameNumber * oceanAnimationSpeed;\nvec3 positionToEyeEC = -positionEyeCoordinates;\nfloat positionToEyeECLength = length(positionToEyeEC);\nvec3 normalizedpositionToEyeEC = normalize(normalize(positionToEyeEC));\nfloat waveIntensity = waveFade(70000.0, 1000000.0, positionToEyeECLength);\n#ifdef SHOW_OCEAN_WAVES\nvec4 noise = czm_getWaterNoise(u_oceanNormalMap, textureCoordinates * oceanFrequency, time, 0.0);\nvec3 normalTangentSpace = noise.xyz * vec3(1.0, 1.0, (1.0 / oceanAmplitude));\nnormalTangentSpace.xy *= waveIntensity;\nnormalTangentSpace = normalize(normalTangentSpace);\n#else\nvec3 normalTangentSpace = vec3(0.0, 0.0, 1.0);\n#endif\nvec3 normalEC = enuToEye * normalTangentSpace;\nconst vec3 waveHighlightColor = vec3(0.3, 0.45, 0.6);\nfloat diffuseIntensity = czm_getLambertDiffuse(czm_sunDirectionEC, normalEC);\nvec3 diffuseHighlight = waveHighlightColor * diffuseIntensity;\n#ifdef SHOW_OCEAN_WAVES\nfloat tsPerturbationRatio = normalTangentSpace.z;\nvec3 nonDiffuseHighlight = mix(waveHighlightColor * 5.0 * (1.0 - tsPerturbationRatio), vec3(0.0), diffuseIntensity);\n#else\nvec3 nonDiffuseHighlight = vec3(0.0);\n#endif\nfloat specularIntensity = czm_getSpecular(czm_sunDirectionEC, normalizedpositionToEyeEC, normalEC, 10.0) + 0.25 * czm_getSpecular(czm_moonDirectionEC, normalizedpositionToEyeEC, normalEC, 10.0);\nfloat surfaceReflectance = mix(0.0, mix(u_zoomedOutOceanSpecularIntensity, oceanSpecularIntensity, waveIntensity), specularMapValue);\nfloat specular = specularIntensity * surfaceReflectance;\nreturn vec4(imageryColor + diffuseHighlight + nonDiffuseHighlight + specular, 1.0);\n}\n#endif\n"}),r("Shaders/CentralBodyFSDepth",[],function(){"use strict";return"varying vec4 positionEC;\nvoid main()\n{\nczm_ellipsoid ellipsoid = czm_getWgs84EllipsoidEC();\nvec3 direction = normalize(positionEC.xyz);\nczm_ray ray = czm_ray(vec3(0.0), direction);\nczm_raySegment intersection = czm_rayEllipsoidIntersectionInterval(ray, ellipsoid);\nif (!czm_isEmpty(intersection))\n{\ngl_FragColor = vec4(1.0, 1.0, 0.0, 1.0);\n}\nelse\n{\ndiscard;\n}\n}\n"}),r("Shaders/CentralBodyFSPole",[],function(){"use strict";return"uniform vec3 u_color;\nvarying vec2 v_textureCoordinates;\nvoid main()\n{\nczm_ellipsoid ellipsoid = czm_getWgs84EllipsoidEC();\nvec3 direction = normalize(czm_windowToEyeCoordinates(gl_FragCoord).xyz);\nczm_ray ray = czm_ray(vec3(0.0), direction);\nczm_raySegment intersection = czm_rayEllipsoidIntersectionInterval(ray, ellipsoid);\nif (!czm_isEmpty(intersection))\n{\nvec3 positionEC = czm_pointAlongRay(ray, intersection.start);\nvec3 positionMC = (czm_inverseModelView * vec4(positionEC, 1.0)).xyz;\nvec3 normalMC = normalize(czm_geodeticSurfaceNormal(positionMC, vec3(0.0), vec3(1.0)));\nvec3 normalEC = normalize(czm_normal * normalMC);\nvec3 startDayColor = u_color;\ngl_FragColor = vec4(startDayColor, 1.0);\n}\nelse\n{\ndiscard;\n}\n}\n"}),r("Shaders/CentralBodyVS",[],function(){"use strict";return"attribute vec4 position3DAndHeight;\nattribute vec2 textureCoordinates;\nuniform vec3 u_center3D;\nuniform mat4 u_modifiedModelView;\nuniform vec4 u_tileExtent;\nuniform vec2 u_southAndNorthLatitude;\nuniform vec3 u_southMercatorYLowAndHighAndOneOverHeight;\nvarying vec3 v_positionMC;\nvarying vec3 v_positionEC;\nvarying vec2 v_textureCoordinates;\nvec4 getPosition(vec3 position3DWC);\nfloat get2DYPositionFraction();\nvec4 getPosition3DMode(vec3 position3DWC)\n{\nreturn czm_projection * (u_modifiedModelView * vec4(position3DAndHeight.xyz, 1.0));\n}\nfloat get2DMercatorYPositionFraction()\n{\nconst float maxTileWidth = 0.003068;\nfloat positionFraction = textureCoordinates.y;\nfloat southLatitude = u_southAndNorthLatitude.x;\nfloat northLatitude = u_southAndNorthLatitude.y;\nif (northLatitude - southLatitude > maxTileWidth)\n{\nfloat southMercatorYLow = u_southMercatorYLowAndHighAndOneOverHeight.x;\nfloat southMercatorYHigh = u_southMercatorYLowAndHighAndOneOverHeight.y;\nfloat oneOverMercatorHeight = u_southMercatorYLowAndHighAndOneOverHeight.z;\nfloat currentLatitude = mix(southLatitude, northLatitude, textureCoordinates.y);\ncurrentLatitude = clamp(currentLatitude, -czm_webMercatorMaxLatitude, czm_webMercatorMaxLatitude);\npositionFraction = czm_latitudeToWebMercatorFraction(currentLatitude, southMercatorYLow, southMercatorYHigh, oneOverMercatorHeight);\n}\nreturn positionFraction;\n}\nfloat get2DGeographicYPositionFraction()\n{\nreturn textureCoordinates.y;\n}\nvec4 getPositionPlanarEarth(vec3 position3DWC, float height2D)\n{\nfloat yPositionFraction = get2DYPositionFraction();\nvec4 rtcPosition2D = vec4(height2D, mix(u_tileExtent.st, u_tileExtent.pq, vec2(textureCoordinates.x, yPositionFraction)), 1.0);\nreturn czm_projection * (u_modifiedModelView * rtcPosition2D);\n}\nvec4 getPosition2DMode(vec3 position3DWC)\n{\nreturn getPositionPlanarEarth(position3DWC, 0.0);\n}\nvec4 getPositionColumbusViewMode(vec3 position3DWC)\n{\nreturn getPositionPlanarEarth(position3DWC, position3DAndHeight.w);\n}\nvec4 getPositionMorphingMode(vec3 position3DWC)\n{\nfloat yPositionFraction = get2DYPositionFraction();\nvec4 position2DWC = vec4(0.0, mix(u_tileExtent.st, u_tileExtent.pq, vec2(textureCoordinates.x, yPositionFraction)), 1.0);\nvec4 morphPosition = czm_columbusViewMorph(position2DWC, vec4(position3DWC, 1.0), czm_morphTime);\nreturn czm_modelViewProjection * morphPosition;\n}\nvoid main()\n{\nvec3 position3DWC = position3DAndHeight.xyz + u_center3D;\ngl_Position = getPosition(position3DWC);\n#if defined(SHOW_REFLECTIVE_OCEAN) || defined(ENABLE_LIGHTING)\nv_positionEC = (czm_modelView3D * vec4(position3DWC, 1.0)).xyz;\nv_positionMC = position3DWC;\n#endif\nv_textureCoordinates = textureCoordinates;\n}\n"}),r("Shaders/CentralBodyVSDepth",[],function(){"use strict";return"attribute vec4 position;\nvarying vec4 positionEC;\nvoid main()\n{\npositionEC = czm_modelView * position;\ngl_Position = czm_projection * positionEC;\n}\n"}),r("Shaders/CentralBodyVSPole",[],function(){"use strict";return"attribute vec4 position;\nvarying vec2 v_textureCoordinates;\nvoid main()\n{\nfloat x = (position.x - czm_viewport.x) / czm_viewport.z;\nfloat y = (position.y - czm_viewport.y) / czm_viewport.w;\nv_textureCoordinates = vec2(x, y);\ngl_Position = czm_viewportOrthographic * position;\n}\n"}),r("Scene/CentralBody",["../Core/buildModuleUrl","../Core/combine","../Core/loadImage","../Core/defaultValue","../Core/defined","../Core/destroyObject","../Core/BoundingRectangle","../Core/BoundingSphere","../Core/Cartesian2","../Core/Cartesian3","../Core/Cartographic","../Core/ComponentDatatype","../Core/Ellipsoid","../Core/Extent","../Core/FeatureDetection","../Core/GeographicProjection","../Core/Geometry","../Core/GeometryAttribute","../Core/Intersect","../Core/Math","../Core/Matrix4","../Core/Occluder","../Core/PrimitiveType","../Core/Transforms","../Renderer/BufferUsage","../Renderer/ClearCommand","../Renderer/DepthFunction","../Renderer/DrawCommand","../Renderer/createShaderSource","../Renderer/Pass","./CentralBodySurface","./CentralBodySurfaceShaderSet","./EllipsoidTerrainProvider","./ImageryLayerCollection","./SceneMode","./TerrainProvider","../Shaders/CentralBodyFS","../Shaders/CentralBodyFSDepth","../Shaders/CentralBodyFSPole","../Shaders/CentralBodyVS","../Shaders/CentralBodyVSDepth","../Shaders/CentralBodyVSPole","../ThirdParty/when"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f,v,y,g,_,w,C,x,S,E,b,T,A,D,P,M,I,O,R,L,z,N,B,F,V,k,U,W){"use strict";function q(e,t){var r=e._ellipsoid.getRadii(),i=t.camera.positionWC,n=u.multiplyComponents(e._ellipsoid.getOneOverRadii(),i,Z),o=u.magnitude(n),a=u.normalize(n,J),s=u.normalize(u.cross(u.UNIT_Z,n,K),K),l=u.normalize(u.cross(a,s,Q),Q),c=Math.sqrt(u.magnitudeSquared(n)-1),h=u.multiplyByScalar(a,1/o,Z),d=c/o,m=u.multiplyByScalar(s,d,J),p=u.multiplyByScalar(l,d,K),f=u.add(h,p,Q);u.subtract(f,m,f),u.multiplyComponents(r,f,f),u.pack(f,X,0);var v=u.subtract(h,p,Q);u.subtract(v,m,v),u.multiplyComponents(r,v,v),u.pack(v,X,3);var y=u.add(h,p,Q);u.add(y,m,y),u.multiplyComponents(r,y,y),u.pack(y,X,6);var g=u.subtract(h,p,Q);return u.add(g,m,g),u.multiplyComponents(r,g,g),u.pack(g,X,9),X}function G(e,t,r,i,n,o){var s,l=e._ellipsoid.cartographicToCartesian(new c(0,i)),h=e._ellipsoid.cartographicToCartesian(new c(Math.PI,i)),d=.5*u.magnitude(u.subtract(l,h)),m=e._ellipsoid.cartographicToCartesian(new c(0,r)),p=t.camera.direction;s=1-u.dot(u.negate(u.UNIT_Z),p)<_.EPSILON6?u.UNIT_X:u.normalize(u.cross(p,u.UNIT_Z));var f=u.add(m,u.multiplyByScalar(s,d)),v=u.add(m,u.multiplyByScalar(u.normalize(u.cross(u.UNIT_Z,s)),d));S.pointToWindowCoordinates(n,o,m,m),S.pointToWindowCoordinates(n,o,f,f),S.pointToWindowCoordinates(n,o,v,v);var y=Math.floor(Math.max(u.distance(v,m),u.distance(f,m))),g=y;return new a(Math.floor(m.x)-y,Math.floor(m.y)-g,2*y,2*g)}function H(e,r,i){var o=e._surface._terrainProvider;if(i.mode===L.SCENE3D&&o.isReady()){var a=o.getTilingScheme().getExtent(),l=r.getUniformState().getViewProjection(),u=$;u.width=r.getDrawingBufferWidth(),u.height=r.getDrawingBufferHeight();var c,d,p,f,x,S,b,T=w.computeViewportTransformation(u,0,1,et),A=.05,D=e._occluder;a.north<_.PI_OVER_TWO&&(c=new m(-Math.PI,a.north,Math.PI,_.PI_OVER_TWO),d=s.fromExtent3D(c,e._ellipsoid),p=i.cullingVolume.getVisibility(d)===g.OUTSIDE,f=C.computeOccludeePointFromExtent(c,e._ellipsoid),x=f&&!D.isPointVisible(f,0)||!D.isBoundingSphereVisible(d),e._drawNorthPole=!p&&!x,e._drawNorthPole&&(b=G(e,i,c.north,c.south-A,l,T),tt[0]=b.x,tt[1]=b.y,tt[2]=b.x+b.width,tt[3]=b.y,tt[4]=b.x+b.width,tt[5]=b.y+b.height,tt[6]=b.x,tt[7]=b.y+b.height,n(e._northPoleCommand.vertexArray)?e._northPoleCommand.vertexArray.getAttribute(0).vertexBuffer.copyFromArrayView(tt):(e._northPoleCommand.boundingVolume=s.fromExtent3D(c,e._ellipsoid),S=new v({attributes:{position:new y({componentDatatype:h.FLOAT,componentsPerAttribute:2,values:tt})}}),e._northPoleCommand.vertexArray=r.createVertexArrayFromGeometry({geometry:S,attributeIndices:{position:0},bufferUsage:E.STREAM_DRAW})))),a.south>-_.PI_OVER_TWO&&(c=new m(-Math.PI,-_.PI_OVER_TWO,Math.PI,a.south),d=s.fromExtent3D(c,e._ellipsoid),p=i.cullingVolume.getVisibility(d)===g.OUTSIDE,f=C.computeOccludeePointFromExtent(c,e._ellipsoid),x=f&&!D.isPointVisible(f)||!D.isBoundingSphereVisible(d),e._drawSouthPole=!p&&!x,e._drawSouthPole&&(b=G(e,i,c.south,c.north+A,l,T),tt[0]=b.x,tt[1]=b.y,tt[2]=b.x+b.width,tt[3]=b.y,tt[4]=b.x+b.width,tt[5]=b.y+b.height,tt[6]=b.x,tt[7]=b.y+b.height,n(e._southPoleCommand.vertexArray)?e._southPoleCommand.vertexArray.getAttribute(0).vertexBuffer.copyFromArrayView(tt):(e._southPoleCommand.boundingVolume=s.fromExtent3D(c,e._ellipsoid),S=new v({attributes:{position:new y({componentDatatype:h.FLOAT,componentsPerAttribute:2,values:tt})}}),e._southPoleCommand.vertexArray=r.createVertexArrayFromGeometry({geometry:S,attributeIndices:{position:0},bufferUsage:E.STREAM_DRAW}))));var P=0,M=e._imageryLayerCollection.getLength()>0?e._imageryLayerCollection.get(0):void 0;n(M)&&n(M.getImageryProvider())&&n(M.getImageryProvider().getPoleIntensity)&&(P=M.getImageryProvider().getPoleIntensity());var I={u_dayIntensity:function(){return P}},O=e;if(!n(e._northPoleCommand.uniformMap)){var R=t([I,{u_color:function(){return O.northPoleColor}}],!1,!1);e._northPoleCommand.uniformMap=t([R,e._drawUniforms],!1,!1)}if(!n(e._southPoleCommand.uniformMap)){var z=t([I,{u_color:function(){return O.southPoleColor}}],!1,!1);e._southPoleCommand.uniformMap=t([z,e._drawUniforms],!1,!1)}}}function j(e,t){var r=t.creditDisplay,i=e._surface._terrainProvider.getCredit();n(i)&&r.addCredit(i);for(var o=e._imageryLayerCollection,a=0,s=o.getLength();s>a;++a){var l=o.get(a); -l.show&&(i=l.getImageryProvider().getCredit(),n(i)&&r.addCredit(i))}}var Y=function(t){t=i(t,d.WGS84);var r=new O({ellipsoid:t}),n=new R;this.terrainProvider=r,this._ellipsoid=t,this._imageryLayerCollection=n,this._surface=new M({terrainProvider:r,imageryLayerCollection:n}),this._occluder=new C(new s(u.ZERO,t.getMinimumRadius()),u.ZERO),this._surfaceShaderSet=new I(z.attributeIndices),this._rsColor=void 0,this._rsColorWithoutDepthTest=void 0;var o=new b;o.depth=1,o.stencil=0,o.owner=this,this._clearDepthCommand=o,this._depthCommand=new A,this._depthCommand.primitiveType=x.TRIANGLES,this._depthCommand.boundingVolume=new s(u.ZERO,t.getMaximumRadius()),this._depthCommand.pass=P.OPAQUE,this._depthCommand.owner=this,this._northPoleCommand=new A,this._northPoleCommand.primitiveType=x.TRIANGLE_FAN,this._northPoleCommand.pass=P.OPAQUE,this._northPoleCommand.owner=this,this._southPoleCommand=new A,this._southPoleCommand.primitiveType=x.TRIANGLE_FAN,this._southPoleCommand.pass=P.OPAQUE,this._southPoleCommand.owner=this,this._drawNorthPole=!1,this._drawSouthPole=!1,this.northPoleColor=new u(2/255,6/255,18/255),this.southPoleColor=new u(1,1,1),this.show=!0,this._mode=L.SCENE3D,this._projection=void 0,this.oceanNormalMapUrl=e("Assets/Textures/waterNormalsSmall.jpg"),this.depthTestAgainstTerrain=!1,this.maximumScreenSpaceError=2,this.tileCacheSize=100,this.enableLighting=!1,this._enableLighting=!1,this.lightingFadeOutDistance=65e5,this.lightingFadeInDistance=9e6,this._lastOceanNormalMapUrl=void 0,this._oceanNormalMap=void 0,this._zoomedOutOceanSpecularIntensity=.5,this._showingPrettyOcean=!1,this._hasWaterMask=!1,this._lightingFadeDistance=new l(this.lightingFadeOutDistance,this.lightingFadeInDistance);var a=this;this._drawUniforms={u_zoomedOutOceanSpecularIntensity:function(){return a._zoomedOutOceanSpecularIntensity},u_oceanNormalMap:function(){return a._oceanNormalMap},u_lightingFadeDistance:function(){return a._lightingFadeDistance}}};Y.prototype.getEllipsoid=function(){return this._ellipsoid},Y.prototype.getImageryLayers=function(){return this._imageryLayerCollection};var X=p.supportsTypedArrays()?new Float32Array(12):[],Z=new u,J=new u,K=new u,Q=new u,$=new a,et=new w,tt=p.supportsTypedArrays()?new Float32Array(8):[];return Y.prototype.update=function(e,t,i){if(this.show){var o=e.getDrawingBufferWidth(),a=e.getDrawingBufferHeight();if(0!==o&&0!==a){var s=t.mode,l=t.scene2D.projection,u=!1;this._mode===s&&n(this._rsColor)||(u=!0,s===L.SCENE3D||s===L.COLUMBUS_VIEW?(this._rsColor=e.createRenderState({cull:{enabled:!0},depthTest:{enabled:!0}}),this._rsColorWithoutDepthTest=e.createRenderState({cull:{enabled:!0}}),this._depthCommand.renderState=e.createRenderState({cull:{enabled:!0},depthTest:{enabled:!0,func:T.ALWAYS},colorMask:{red:!1,green:!1,blue:!1,alpha:!1}})):(this._rsColor=e.createRenderState({cull:{enabled:!0}}),this._rsColorWithoutDepthTest=e.createRenderState({cull:{enabled:!0}}),this._depthCommand.renderState=e.createRenderState({cull:{enabled:!0}}))),this._northPoleCommand.renderState=this._rsColorWithoutDepthTest,this._southPoleCommand.renderState=this._rsColorWithoutDepthTest;var c=q(this,t);if(this._depthCommand.vertexArray)this._depthCommand.vertexArray.getAttribute(0).vertexBuffer.copyFromArrayView(c);else{var d=new v({attributes:{position:new y({componentDatatype:h.FLOAT,componentsPerAttribute:3,values:c})},indices:[0,1,2,2,1,3],primitiveType:x.TRIANGLES});this._depthCommand.vertexArray=e.createVertexArrayFromGeometry({geometry:d,attributeIndices:{position:0},bufferUsage:E.DYNAMIC_DRAW})}var m=e.getShaderCache();if(n(this._depthCommand.shaderProgram)||(this._depthCommand.shaderProgram=m.getShaderProgram(k,B,{position:0})),this._surface._terrainProvider.hasWaterMask()&&this.oceanNormalMapUrl!==this._lastOceanNormalMapUrl){this._lastOceanNormalMapUrl=this.oceanNormalMapUrl;var p=this;W(r(this.oceanNormalMapUrl),function(t){p._oceanNormalMap=p._oceanNormalMap&&p._oceanNormalMap.destroy(),p._oceanNormalMap=e.createTexture2D({source:t})})}var g=this._projection!==l,_=this._surface._terrainProvider.hasWaterMask(),w=this._hasWaterMask!==_,C=this._enableLighting!==this.enableLighting;if(!n(this._surfaceShaderSet)||!n(this._northPoleCommand.shaderProgram)||!n(this._southPoleCommand.shaderProgram)||u||g||w||C||n(this._oceanNormalMap)!==this._showingPrettyOcean){var S,b="vec4 getPosition(vec3 position3DWC) { return getPosition3DMode(position3DWC); }",A="vec4 getPosition(vec3 position3DWC) { return getPosition2DMode(position3DWC); }",P="vec4 getPosition(vec3 position3DWC) { return getPositionColumbusViewMode(position3DWC); }",M="vec4 getPosition(vec3 position3DWC) { return getPositionMorphingMode(position3DWC); }";switch(s){case L.SCENE3D:S=b;break;case L.SCENE2D:S=A;break;case L.COLUMBUS_VIEW:S=P;break;case L.MORPHING:S=M}var I,O="float get2DYPositionFraction() { return get2DGeographicYPositionFraction(); }",R="float get2DYPositionFraction() { return get2DMercatorYPositionFraction(); }";I=l instanceof f?O:R,this._surfaceShaderSet.baseVertexShaderString=D({defines:[_?"SHOW_REFLECTIVE_OCEAN":"",this.enableLighting?"ENABLE_LIGHTING":""],sources:[V,S,I]});var G=_&&n(this._oceanNormalMap);this._surfaceShaderSet.baseFragmentShaderString=D({defines:[_?"SHOW_REFLECTIVE_OCEAN":"",G?"SHOW_OCEAN_WAVES":"",this.enableLighting?"ENABLE_LIGHTING":""],sources:[N]}),this._surfaceShaderSet.invalidateShaders();var Y=m.replaceShaderProgram(this._northPoleCommand.shaderProgram,U,F,z.attributeIndices);this._northPoleCommand.shaderProgram=Y,this._southPoleCommand.shaderProgram=Y,this._showingPrettyOcean=n(this._oceanNormalMap),this._hasWaterMask=_,this._enableLighting=this.enableLighting}var X=t.camera.positionWC;this._occluder.setCameraPosition(X),H(this,e,t),this._mode=s,this._projection=l;var Z=t.passes;Z.render&&(s===L.SCENE3D&&(this._drawNorthPole&&i.push(this._northPoleCommand),this._drawSouthPole&&i.push(this._southPoleCommand)),this._zoomedOutOceanSpecularIntensity=s===L.SCENE3D?.5:0,this._lightingFadeDistance.x=this.lightingFadeOutDistance,this._lightingFadeDistance.y=this.lightingFadeInDistance,this._surface._maximumScreenSpaceError=this.maximumScreenSpaceError,this._surface._tileCacheSize=this.tileCacheSize,this._surface.setTerrainProvider(this.terrainProvider),this._surface.update(e,t,i,this._drawUniforms,this._surfaceShaderSet,this._rsColor,this._projection),j(this,t),(s===L.SCENE3D||s===L.COLUMBUS_VIEW)&&(this.depthTestAgainstTerrain||(i.push(this._clearDepthCommand),s===L.SCENE3D&&i.push(this._depthCommand)))),Z.pick&&i.push(this._depthCommand)}}},Y.prototype.isDestroyed=function(){return!1},Y.prototype.destroy=function(){return this._northPoleCommand.vertexArray=this._northPoleCommand.vertexArray&&this._northPoleCommand.vertexArray.destroy(),this._southPoleCommand.vertexArray=this._southPoleCommand.vertexArray&&this._southPoleCommand.vertexArray.destroy(),this._surfaceShaderSet=this._surfaceShaderSet&&this._surfaceShaderSet.destroy(),this._northPoleCommand.shaderProgram=this._northPoleCommand.shaderProgram&&this._northPoleCommand.shaderProgram.release(),this._southPoleCommand.shaderProgram=this._northPoleCommand.shaderProgram,this._depthCommand.shaderProgram=this._depthCommand.shaderProgram&&this._depthCommand.shaderProgram.release(),this._depthCommand.vertexArray=this._depthCommand.vertexArray&&this._depthCommand.vertexArray.destroy(),this._surface=this._surface&&this._surface.destroy(),this._oceanNormalMap=this._oceanNormalMap&&this._oceanNormalMap.destroy(),o(this)},Y}),r("Scene/CesiumTerrainProvider",["../Core/defaultValue","../Core/defined","../Core/loadArrayBuffer","../Core/throttleRequestByServer","../Core/DeveloperError","../Core/Event","./Credit","./GeographicTilingScheme","./HeightmapTerrainData","./TerrainProvider","../ThirdParty/when"],function(e,t,r,i,n,o,a,s,l,u,c){"use strict";var h=function(e){if(!t(e)||!t(e.url))throw new n("description.url is required.");this._url=e.url,this._proxy=e.proxy,this._tilingScheme=new s({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:1}),this._heightmapWidth=65,this._levelZeroMaximumGeometricError=u.getEstimatedLevelZeroGeometricErrorForAHeightmap(this._tilingScheme.getEllipsoid(),this._heightmapWidth,this._tilingScheme.getNumberOfXTilesAtLevel(0)),this._terrainDataStructure={heightScale:.2,heightOffset:-1e3,elementsPerHeight:1,stride:1,elementMultiplier:256,isBigEndian:!1},this._errorEvent=new o;var r=e.credit;"string"==typeof r&&(r=new a(r)),this._credit=r};return h.prototype.requestTileGeometry=function(n,o,a,s){var u=this._tilingScheme.getNumberOfYTilesAtLevel(a),h=this._url+"/"+a+"/"+n+"/"+(u-o-1)+".terrain",d=this._proxy;t(d)&&(h=d.getURL(h));var m;if(s=e(s,!0)){if(m=i(h,r),!t(m))return void 0}else m=r(h);var p=this;return c(m,function(e){var t=new Uint16Array(e,0,p._heightmapWidth*p._heightmapWidth);return new l({buffer:t,childTileMask:new Uint8Array(e,t.byteLength,1)[0],waterMask:new Uint8Array(e,t.byteLength+1,e.byteLength-t.byteLength-1),width:p._heightmapWidth,height:p._heightmapWidth,structure:p._terrainDataStructure})})},h.prototype.getErrorEvent=function(){return this._errorEvent},h.prototype.getLevelMaximumGeometricError=function(e){return this._levelZeroMaximumGeometricError/(1<r;++r)e[r].destroy();this._primitives=[]},o.prototype.contains=function(e){return!!(e&&e._external&&e._external._composites&&e._external._composites[this._guid])},o.prototype.raise=function(e){if(t(e)){var r=n(this,e),i=this._primitives;if(r!==i.length-1){var o=i[r];i[r]=i[r+1],i[r+1]=o}}},o.prototype.raiseToTop=function(e){if(t(e)){var r=n(this,e),i=this._primitives;r!==i.length-1&&(i.splice(r,1),i.push(e))}},o.prototype.lower=function(e){if(t(e)){var r=n(this,e),i=this._primitives;if(0!==r){var o=i[r];i[r]=i[r-1],i[r-1]=o}}},o.prototype.lowerToBottom=function(e){if(t(e)){var r=n(this,e),i=this._primitives;0!==r&&(i.splice(r,1),i.unshift(e))}},o.prototype.get=function(e){if(!t(e))throw new i("index is required.");return this._primitives[e]},o.prototype.getLength=function(){return this._primitives.length},o.prototype.update=function(e,t,r){if(this.show){this._centralBody&&this._centralBody.update(e,t,r);for(var i=this._primitives,n=i.length,o=0;n>o;++o)i[o].update(e,t,r)}},o.prototype.isDestroyed=function(){return!1},o.prototype.destroy=function(){return this.removeAll(),this._centralBody=this.destroyPrimitives&&this._centralBody&&this._centralBody.destroy(),r(this)},o}),r("Scene/CreditDisplay",["../Core/defaultValue","../Core/defined","../Core/destroyObject","../Core/DeveloperError","./Credit"],function(e,t,r,i,n){"use strict";function o(e,r,i){if(!t(e.element)){var n=e.getText(),o=e.getLink(),a=document.createElement("span");if(e.hasLink()){var s=document.createElement("a");s.textContent=n,s.href=o,s.target="_blank",a.appendChild(s)}else a.textContent=n;a.className="cesium-credit-text",e.element=a}if(r.hasChildNodes()){var l=document.createElement("span");l.textContent=i,l.className="cesium-credit-delimiter",r.appendChild(l)}r.appendChild(e.element)}function a(e,r){if(!t(e.element)){var i=e.getText(),n=e.getLink(),o=document.createElement("span"),a=document.createElement("img");if(a.src=e.getImageUrl(),a.style["vertical-align"]="bottom",t(i)&&(a.alt=i,a.title=i),e.hasLink()){var s=document.createElement("a");s.appendChild(a),s.href=n,s.target="_blank",o.appendChild(s)}else o.appendChild(a);o.className="cesium-credit-image",e.element=o}r.appendChild(e.element)}function s(e,t){for(var r=e.length,i=0;r>i;i++){var o=e[i];if(n.equals(o,t))return!0}return!1}function l(e){var r=e.element;if(t(r)){var i=r.parentNode;if(!e.hasImage()){var n=r.previousSibling;null===n&&(n=r.nextSibling),null!==n&&i.removeChild(n)}i.removeChild(r)}}function u(e,t){var r,i,n,a=e._displayedCredits.textCredits;for(r=0;r0}),asynchronous:this.asynchronous})}var s=this._primitive;s.appearance.material=this.material,s.debugShowBoundingVolume=this.debugShowBoundingVolume,s.update(t,i,n)}},m.prototype.isDestroyed=function(){return!1},m.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),n(this)},m}),r("Scene/FrameState",["./SceneMode"],function(e){"use strict";var t=function(t){this.mode=e.SCENE3D,this.morphTime=e.SCENE3D.morphTime,this.frameNumber=0,this.time=void 0,this.scene2D={projection:void 0},this.camera=void 0,this.cullingVolume=void 0,this.occluder=void 0,this.passes={render:!1,pick:!1},this.creditDisplay=t,this.events=[]};return t}),r("Scene/FrustumCommands",["../Core/defaultValue"],function(e){"use strict";var t=function(t,r){this.near=e(t,0),this.far=e(r,0),this.opaqueCommands=[],this.translucentCommands=[]};return t}),r("Scene/GoogleEarthImageryProvider",["../Core/defaultValue","../Core/defined","../Core/loadText","../Core/DeveloperError","../Core/RuntimeError","../Core/Event","../Core/Extent","./ImageryProvider","./TileProviderError","./WebMercatorTilingScheme","./GeographicTilingScheme","./Credit","../ThirdParty/when"],function(e,t,r,i,n,o,a,s,l,u,c,h,d){"use strict";function m(e,r,i,n){var o=e._imageUrlTemplate;o=o.replace("{x}",r),o=o.replace("{y}",i),o=o.replace("{zoom}",n+1);var a=e._proxy;return t(a)&&(o=a.getURL(o)),o}var p=function f(s){function m(e){var r;try{r=JSON.parse(e)}catch(i){r=JSON.parse(e.replace(/([\[\{,])[\n\r ]*([A-Za-z0-9]+)[\n\r ]*:/g,'$1"$2":'))}for(var o,s=0;st.right)throw new r("right must be greater than left.");if(t.bottom>t.top)throw new r("top must be greater than bottom.");if(t.near<=0||t.near>t.far)throw new r("near must be greater than zero and less than far.");t._left=t.left,t._right=t.right,t._top=t.top,t._bottom=t.bottom,t._near=t.near,t._far=t.far,t._orthographicMatrix=a.computeOrthographicOffCenter(t.left,t.right,t.bottom,t.top,t.near,t.far,t._orthographicMatrix)}}var u=function(){this.left=void 0,this._left=void 0,this.right=void 0,this._right=void 0,this.top=void 0,this._top=void 0,this.bottom=void 0,this._bottom=void 0,this.near=1,this._near=this.near,this.far=5e8,this._far=this.far,this._cullingVolume=new s,this._orthographicMatrix=void 0};t(u.prototype,{projectionMatrix:{get:function(){return l(this),this._orthographicMatrix}}});var c=new n,h=new n,d=new n,m=new n;return u.prototype.computeCullingVolume=function(t,i,a){if(!e(t))throw new r("position is required.");if(!e(i))throw new r("direction is required.");if(!e(a))throw new r("up is required.");var s=this._cullingVolume.planes,l=this.top,u=this.bottom,p=this.right,f=this.left,v=this.near,y=this.far,g=n.cross(i,a,c),_=h;n.multiplyByScalar(i,v,_),n.add(t,_,_);var w=d;n.multiplyByScalar(g,f,w),n.add(_,w,w);var C=s[0];return e(C)||(C=s[0]=new o),C.x=g.x,C.y=g.y,C.z=g.z,C.w=-n.dot(g,w),n.multiplyByScalar(g,p,w),n.add(_,w,w),C=s[1],e(C)||(C=s[1]=new o),C.x=-g.x,C.y=-g.y,C.z=-g.z,C.w=-n.dot(n.negate(g,m),w),n.multiplyByScalar(a,u,w),n.add(_,w,w),C=s[2],e(C)||(C=s[2]=new o),C.x=a.x,C.y=a.y,C.z=a.z,C.w=-n.dot(a,w),n.multiplyByScalar(a,l,w),n.add(_,w,w),C=s[3],e(C)||(C=s[3]=new o),C.x=-a.x,C.y=-a.y,C.z=-a.z,C.w=-n.dot(n.negate(a,m),w),C=s[4],e(C)||(C=s[4]=new o),C.x=i.x,C.y=i.y,C.z=i.z,C.w=-n.dot(i,_),n.multiplyByScalar(i,y,w),n.add(t,w,w),C=s[5],e(C)||(C=s[5]=new o),C.x=-i.x,C.y=-i.y,C.z=-i.z,C.w=-n.dot(n.negate(i,m),w),this._cullingVolume},u.prototype.getPixelSize=function(t,n,o){if(l(this),!e(t))throw new r("drawingBufferDimensions is required.");var a=t.x,s=t.y;if(0>=a)throw new r("drawingBufferDimensions.x must be greater than zero.");if(0>=s)throw new r("drawingBufferDimensions.y must be greater than zero.");var u=this.right-this.left,c=this.top-this.bottom,h=u/a,d=c/s;return e(o)?(o.x=h,o.y=d,o):new i(h,d)},u.prototype.clone=function(t){return e(t)||(t=new u),t.left=this.left,t.right=this.right,t.top=this.top,t.bottom=this.bottom,t.near=this.near,t.far=this.far,t._left=void 0,t._right=void 0,t._top=void 0,t._bottom=void 0,t._near=void 0,t._far=void 0,t},u.prototype.equals=function(t){return e(t)&&this.right===t.right&&this.left===t.left&&this.top===t.top&&this.bottom===t.bottom&&this.near===t.near&&this.far===t.far},u}),r("Shaders/Appearances/PerInstanceColorAppearanceVS",[],function(){"use strict";return"attribute vec3 position3DHigh;\nattribute vec3 position3DLow;\nattribute vec3 normal;\nattribute vec4 color;\nvarying vec3 v_positionEC;\nvarying vec3 v_normalEC;\nvarying vec4 v_color;\nvoid main()\n{\nvec4 p = czm_computePosition();\nv_positionEC = (czm_modelViewRelativeToEye * p).xyz;\nv_normalEC = czm_normal * normal;\nv_color = color;\ngl_Position = czm_modelViewProjectionRelativeToEye * p;\n}\n"}),r("Shaders/Appearances/PerInstanceColorAppearanceFS",[],function(){"use strict";return"varying vec3 v_positionEC;\nvarying vec3 v_normalEC;\nvarying vec4 v_color;\nvoid main()\n{\nvec3 positionToEyeEC = -v_positionEC;\nvec3 normalEC;\n#ifdef FACE_FORWARD\nnormalEC = normalize(faceforward(v_normalEC, vec3(0.0, 0.0, 1.0), -v_normalEC));\n#else\nnormalEC = normalize(v_normalEC);\n#endif\nczm_materialInput materialInput;\nmaterialInput.normalEC = normalEC;\nmaterialInput.positionToEyeEC = positionToEyeEC;\nczm_material material = czm_getDefaultMaterial(materialInput);\nmaterial.diffuse = v_color.rgb;\nmaterial.alpha = v_color.a;\ngl_FragColor = czm_phong(normalize(positionToEyeEC), material);\n}\n"}),r("Shaders/Appearances/PerInstanceFlatColorAppearanceVS",[],function(){"use strict";return"attribute vec3 position3DHigh;\nattribute vec3 position3DLow;\nattribute vec4 color;\nvarying vec4 v_color;\nvoid main()\n{\nvec4 p = czm_computePosition();\nv_color = color;\ngl_Position = czm_modelViewProjectionRelativeToEye * p;\n}\n"}),r("Scene/PerInstanceColorAppearance",["../Core/defaultValue","../Core/VertexFormat","./Appearance","../Shaders/Appearances/PerInstanceColorAppearanceVS","../Shaders/Appearances/PerInstanceColorAppearanceFS","../Shaders/Appearances/PerInstanceFlatColorAppearanceVS","../Shaders/Appearances/PerInstanceFlatColorAppearanceFS"],function(e,t,r,i,n,o,a){"use strict";var s=function(t){t=e(t,e.EMPTY_OBJECT);var l=e(t.translucent,!0),u=e(t.closed,!1),c=e(t.flat,!1),h=c?o:i,d=c?a:n,m=c?s.FLAT_VERTEX_FORMAT:s.VERTEX_FORMAT;this.material=void 0,this.vertexShaderSource=e(t.vertexShaderSource,h),this.fragmentShaderSource=e(t.fragmentShaderSource,d),this.renderState=e(t.renderState,r.getDefaultRenderState(l,u)),this.vertexFormat=m,this.flat=c,this.faceForward=e(t.faceForward,!1),this.translucent=l,this.closed=u};return s.VERTEX_FORMAT=t.POSITION_AND_NORMAL,s.FLAT_VERTEX_FORMAT=t.POSITION_ONLY,s.prototype.getFragmentShaderSource=r.prototype.getFragmentShaderSource,s.prototype.isTranslucent=r.prototype.isTranslucent,s.prototype.getRenderState=r.prototype.getRenderState,s}),r("Shaders/ViewportQuadVS",[],function(){"use strict";return"attribute vec4 position;\nattribute vec2 textureCoordinates;\nvarying vec2 v_textureCoordinates;\nvoid main()\n{\ngl_Position = position;\nv_textureCoordinates = textureCoordinates;\n}\n"}),r("Shaders/ViewportQuadFS",[],function(){"use strict";return"varying vec2 v_textureCoordinates;\nvoid main()\n{\nczm_materialInput materialInput;\nmaterialInput.s = v_textureCoordinates.s;\nmaterialInput.st = v_textureCoordinates;\nmaterialInput.str = vec3(v_textureCoordinates, 0.0);\nmaterialInput.normalEC = vec3(0.0, 0.0, -1.0);\nczm_material material = czm_getMaterial(materialInput);\ngl_FragColor = vec4(material.diffuse + material.emission, material.alpha);\n}\n"}),r("Scene/ViewportQuad",["../Core/Color","../Core/destroyObject","../Core/defined","../Core/DeveloperError","../Core/BoundingRectangle","../Core/ComponentDatatype","../Core/PrimitiveType","../Core/Geometry","../Core/GeometryAttribute","./Material","../Renderer/BufferUsage","../Renderer/BlendingState","../Renderer/DrawCommand","../Renderer/createShaderSource","../Renderer/Pass","../Shaders/ViewportQuadVS","../Shaders/ViewportQuadFS"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f,v){"use strict";function y(e){var t=e.cache.viewportQuad_vertexArray;if(r(t))return t;var i=new s({attributes:{position:new l({componentDatatype:o.FLOAT,componentsPerAttribute:2,values:[-1,-1,1,-1,1,1,-1,1]}),textureCoordinates:new l({componentDatatype:o.FLOAT,componentsPerAttribute:2,values:[0,0,1,0,1,1,0,1]})},primitiveType:a.TRIANGLES});return t=e.createVertexArrayFromGeometry({geometry:i,attributeIndices:_,bufferUsage:c.STATIC_DRAW}),e.cache.viewportQuad_vertexArray=t,t}var g=function(t,i){this._va=void 0,this._overlayCommand=new d,this._overlayCommand.primitiveType=a.TRIANGLE_FAN,this._overlayCommand.pass=p.OVERLAY,this._overlayCommand.owner=this,this.show=!0,r(t)||(t=new n),this.rectangle=n.clone(t),r(i)||(i=u.fromType(u.ColorType),i.uniforms.color=new e(1,1,1,1)),this.material=i,this._material=void 0},_={position:0,textureCoordinates:1};return g.prototype.update=function(e,t,o){if(this.show){if(!r(this.material))throw new i("this.material must be defined.");if(!r(this.rectangle))throw new i("this.rectangle must be defined.");r(this._va)||(this._va=y(e),this._overlayCommand.vertexArray=this._va);var a=this._overlayCommand.renderState;r(a)&&n.equals(a.viewport,this.rectangle)||(this._overlayCommand.renderState=e.createRenderState({blending:h.ALPHA_BLEND,viewport:this.rectangle}));var s=t.passes;if(s.render){if(this._material!==this.material){this._material=this.material;var l=m({sources:[this._material.shaderSource,v]});this._overlayCommand.shaderProgram=e.getShaderCache().replaceShaderProgram(this._overlayCommand.shaderProgram,f,l,_)}this._material.update(e),this._overlayCommand.uniformMap=this._material._uniforms,o.push(this._overlayCommand)}}},g.prototype.isDestroyed=function(){return!1},g.prototype.destroy=function(){return this._overlayCommand.shaderProgram=this._overlayCommand.shaderProgram&&this._overlayCommand.shaderProgram.release(),t(this)},g}),r("Scene/PerformanceDisplay",["../Core/BoundingRectangle","../Core/Color","../Core/defaultValue","../Core/defined","../Core/destroyObject","../Renderer/PixelFormat","./Material","./ViewportQuad"],function(e,t,r,i,n,o,a,s){"use strict";var l=t.fromCssColorString("#e52"),u=t.fromCssColorString("#de3"),c=t.fromCssColorString("rgba(0, 0, 30, 0.9)"),h=new e(0,0,80,40),d=function(e){e=r(e,r.EMPTY_OBJECT),this._fpsColor=r(e.fpsColor,l).toCssColorString(),this._frameTimeColor=r(e.frameTimeColor,u).toCssColorString(),this._backgroundColor=r(e.backgroundColor,c).toCssColorString(),this._font=r(e.font,"bold 10px Helvetica,Arial,sans-serif"),this._rectangle=r(e.rectangle,h),this._canvas=document.createElement("canvas"),this._canvas.width=this._rectangle.width,this._canvas.height=this._rectangle.height,this._canvasContext=this._canvas.getContext("2d"),this._canvasContext.font=this._font,this._canvasContext.lineWidth=1,this._bufferLength=this._rectangle.width,this._frameTimeSamples=new Array(this._bufferLength),this._fpsSamples=new Array(this._bufferLength);for(var t=0;t=this._bufferLength&&(this._frameTimeIndex=0),this._frameCount++;var c=this._fps,h=l-this._lastFpsSampleTime;h>1e3&&(c=this._fps=0|1e3*this._frameCount/h,this._fpsSamples[this._fpsIndex++]=c,this._fpsIndex>=this._bufferLength&&(this._fpsIndex=0),this._lastFpsSampleTime=l,this._frameCount=0);var d=this._canvasContext,m=this._rectangle.width,p=this._rectangle.height;d.clearRect(0,0,m,p),d.fillStyle=this._backgroundColor,d.fillRect(0,0,m,p),i(c)&&(d.fillStyle=this._fpsColor,d.textAlign="left",d.fillText(c+" FPS",1,10)),d.fillStyle=this._frameTimeColor,d.textAlign="right",d.fillText(u+" MS",m-1,10);for(var f=0;f0&&this._drawLine(this._fpsColor,f,c/100),u=this._frameTimeSamples[(f+this._frameTimeIndex)%this._bufferLength],u>0&&this._drawLine(this._frameTimeColor,f,u/200);i(this._quad)||(this._quad=new s(void 0,a.fromType(a.ImageType))),i(this._texture)?this._texture.copyFrom(this._canvas):(this._texture=e.createTexture2D({source:this._canvas,pixelFormat:o.RGBA}),this._quad.material.uniforms.image=this._texture);var v=e.getDrawingBufferHeight();if(v!==this._viewportHeight){this._viewportHeight=v;var y=this._quad.rectangle;y.x=this._rectangle.x,y.y=v-p-this._rectangle.y,y.width=m,y.height=p}this._quad.update(e,t,r)},d.prototype._drawLine=function(e,t,r){var i=this._canvasContext,n=this._rectangle.height,o=n-10;t=.5+t,i.beginPath(),i.strokeStyle=e,i.moveTo(t,n);var a=r*o;a>o&&(a=o);var s=n-a;i.lineTo(t,s),i.stroke()},d.prototype.destroy=function(){return this._quad=this._quad.destroy(),n(this)},d}),r("Shaders/Appearances/PolylineMaterialAppearanceVS",[],function(){"use strict";return"attribute vec3 position3DHigh;\nattribute vec3 position3DLow;\nattribute vec3 prevPosition3DHigh;\nattribute vec3 prevPosition3DLow;\nattribute vec3 nextPosition3DHigh;\nattribute vec3 nextPosition3DLow;\nattribute vec2 expandAndWidth;\nattribute vec2 st;\nvarying float v_width;\nvarying vec2 v_st;\nvoid main()\n{\nfloat expandDir = expandAndWidth.x;\nfloat width = abs(expandAndWidth.y) + 0.5;\nbool usePrev = expandAndWidth.y < 0.0;\nvec4 p = czm_computePosition();\nvec4 prev = czm_computePrevPosition();\nvec4 next = czm_computeNextPosition();\nv_width = width;\nv_st = st;\nvec4 positionWC = getPolylineWindowCoordinates(p, prev, next, expandDir, width, usePrev);\ngl_Position = czm_viewportOrthographic * positionWC;\n}\n"}),r("Scene/PolylineMaterialAppearance",["../Core/defaultValue","../Core/defined","../Core/VertexFormat","./Material","./Appearance","../Renderer/createShaderSource","../Shaders/Appearances/PolylineMaterialAppearanceVS","../Shaders/PolylineFS","../Shaders/PolylineCommon"],function(e,t,r,i,n,o,a,s,l){"use strict";var u=function(r){r=e(r,e.EMPTY_OBJECT);var c=e(r.translucent,!0),h=!1,d=o({sources:[l,a]}),m=s,p=u.VERTEX_FORMAT;this.material=t(r.material)?r.material:i.fromType(i.ColorType),this.vertexShaderSource=e(r.vertexShaderSource,d),this.fragmentShaderSource=e(r.fragmentShaderSource,m),this.renderState=e(r.renderState,n.getDefaultRenderState(c,h)),this.vertexFormat=p,this.translucent=c,this.closed=h};return u.VERTEX_FORMAT=r.POSITION_AND_ST,u.prototype.getFragmentShaderSource=n.prototype.getFragmentShaderSource,u.prototype.isTranslucent=n.prototype.isTranslucent,u.prototype.getRenderState=n.prototype.getRenderState,u}),r("Scene/RectangularPyramidSensorVolume",["../Core/clone","../Core/Color","../Core/defaultValue","../Core/defined","../Core/destroyObject","../Core/DeveloperError","../Core/Math","../Core/Matrix4","../Renderer/BufferUsage","./Material","./CustomSensorVolume"],function(e,t,r,i,n,o,a,s,l,u,c){"use strict";var h=function(n){n=r(n,r.EMPTY_OBJECT),this.show=r(n.show,!0),this.showIntersection=r(n.showIntersection,!0),this.showThroughEllipsoid=r(n.showThroughEllipsoid,!1),this.modelMatrix=s.clone(r(n.modelMatrix,s.IDENTITY)),this.bufferUsage=r(n.bufferUsage,l.STATIC_DRAW),this.radius=r(n.radius,Number.POSITIVE_INFINITY),this.xHalfAngle=r(n.xHalfAngle,a.PI_OVER_TWO),this._xHalfAngle=void 0,this.yHalfAngle=r(n.yHalfAngle,a.PI_OVER_TWO),this._yHalfAngle=void 0,this.material=i(n.material)?n.material:u.fromType(u.ColorType),this.intersectionColor=t.clone(r(n.intersectionColor,t.WHITE)),this.intersectionWidth=r(n.intersectionWidth,5),this.id=n.id;var o=e(n);o._pickIdThis=r(n._pickIdThis,this),this._customSensor=new c(o)};return h.prototype.update=function(e,t,r){if(this.xHalfAngle>a.PI_OVER_TWO||this.yHalfAngle>a.PI_OVER_TWO)throw new o("this.xHalfAngle and this.yHalfAngle must each be less than or equal to 90 degrees.");var i=this._customSensor;if(i.show=this.show,i.showIntersection=this.showIntersection,i.showThroughEllipsoid=this.showThroughEllipsoid,i.modelMatrix=this.modelMatrix,i.bufferUsage=this.bufferUsage,i.radius=this.radius,i.material=this.material,i.intersectionColor=this.intersectionColor,i.intersectionWidth=this.intersectionWidth,i.id=this.id,this._xHalfAngle!==this.xHalfAngle||this._yHalfAngle!==this.yHalfAngle){this._xHalfAngle=this.xHalfAngle,this._yHalfAngle=this.yHalfAngle;var n=Math.tan(Math.min(this.xHalfAngle,a.toRadians(89))),s=Math.tan(Math.min(this.yHalfAngle,a.toRadians(89))),l=Math.atan(n/s),u=Math.atan(Math.sqrt(n*n+s*s));i.setDirections([{clock:l,cone:u},{clock:a.toRadians(180)-l,cone:u},{clock:a.toRadians(180)+l,cone:u},{clock:-l,cone:u}])}i.update(e,t,r)},h.prototype.isDestroyed=function(){return!1},h.prototype.destroy=function(){return this._customSensor=this._customSensor&&this._customSensor.destroy(),n(this)},h}),r("Scene/ScreenSpaceCameraController",["../Core/defined","../Core/destroyObject","../Core/Cartesian2","../Core/Cartesian3","../Core/Cartesian4","../Core/Cartographic","../Core/DeveloperError","../Core/Ellipsoid","../Core/KeyboardEventModifier","../Core/FAR","../Core/IntersectionTests","../Core/Math","../Core/Matrix4","../Core/Ray","../Core/Transforms","./AnimationCollection","./CameraEventAggregator","./CameraEventType","./CameraColumbusViewMode","./SceneMode"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f,v,y,g,_){"use strict";function w(e,t){if(0>e)return 0;var r=25*(1-t);return Math.exp(-r*e)}function C(e){return r.equalsEpsilon(e.startPosition,e.endPosition,h.EPSILON14)}function x(t,n,o,a,s,l,u){var c=l[u];e(c)||(c=l[u]={startPosition:new r,endPosition:new r,motion:new r,active:!1});var h=t.getButtonPressTime(n,o),d=t.getButtonReleaseTime(n,o),m=h&&d&&(d.getTime()-h.getTime())/1e3,p=new Date,f=d&&(p.getTime()-d.getTime())/1e3;if(h&&d&&W>m){var v=w(f,a);if(c.active)r.clone(c.endPosition,c.startPosition),r.multiplyByScalar(c.motion,v,c.endPosition),r.add(c.startPosition,c.endPosition,c.endPosition),i.clone(r.ZERO,c.motion);else{var y=t.getLastMovement(n,o);if(!e(y)||C(y))return;c.motion.x=.5*(y.endPosition.x-y.startPosition.x),c.motion.y=.5*(y.endPosition.y-y.startPosition.y),r.clone(y.startPosition,c.startPosition),r.multiplyByScalar(c.motion,v,c.endPosition),r.add(c.startPosition,c.endPosition,c.endPosition),c.active=!0}if(isNaN(c.endPosition.x)||isNaN(c.endPosition.y)||C(c))return c.active=!1,void 0;t.isButtonDown(n,o)||s(l,c)}else c.active=!1}function S(t,r,i,n,o,a){if(e(i)){var s=t._aggregator;Array.isArray(i)||(q[0]=i,i=q);for(var l=i.length,u=0;l>u;++u){var c=i[u],h=e(c.eventType)?c.eventType:c,d=c.modifier,m=s.isMoving(h,d)&&s.getMovement(h,d);r&&(m?n(t,s.getMovement(h,d)):1>o&&x(s,h,d,o,n,t,a))}}}function E(t,r,i,n,o){var a=1;e(o)&&(a=h.clamp(Math.abs(o),.25,1));var s=t.minimumZoomDistance*a,l=t.maximumZoomDistance,u=n-s,c=i*u;c=h.clamp(c,t._minimumZoomRate,t._maximumZoomRate);var d=r.endPosition.y-r.startPosition.y,m=d/t._canvas.clientHeight;m=Math.min(m,t.maximumMovementRatio);var p=c*m;p>0&&Math.abs(n-s)<1||0>p&&Math.abs(n-l)<1||(s>n-p?p=n-s-1:n-p>l&&(p=n-l),t._cameraController.zoomIn(p))}function b(e,t){var r=e._cameraController,i=r.getPickRay(t.startPosition,G).origin,n=r.getPickRay(t.endPosition,H).origin;r.moveRight(i.x-n.x),r.moveUp(i.y-n.y)}function T(t,r){e(r.distance)&&(r=r.distance),E(t,r,t._zoomFactor,t._cameraController.getMagnitude())}function A(t,i){if(e(i.angleAndHeight))return D(t,i.angleAndHeight),void 0;var n=t._canvas.clientWidth,o=t._canvas.clientHeight,a=j;a.x=2/n*i.startPosition.x-1,a.y=2/o*(o-i.startPosition.y)-1,r.normalize(a,a);var s=Y;s.x=2/n*i.endPosition.x-1,s.y=2/o*(o-i.endPosition.y)-1,r.normalize(s,s);var l=Math.acos(a.x);a.y<0&&(l=h.TWO_PI-l);var u=Math.acos(s.x);s.y<0&&(u=h.TWO_PI-u);var c=u-l;t._cameraController.twistRight(c)}function D(e,t){var r=e._rotateFactor*e._rotateRateRangeAdjustment;r>e._maximumRotateRate&&(r=e._maximumRotateRate),rh.EPSILON6&&(i.normalize(m,m),r.move(m,f))}function I(t,r){e(r.angleAndHeight)&&(r=r.angleAndHeight);var n=$;n.x=t._canvas.clientWidth/2,n.y=t._canvas.clientHeight/2;var o=t._cameraController.getPickRay(n,et),a=i.UNIT_X,l=o.origin,u=o.direction,c=-i.dot(a,l)/i.dot(a,u),h=i.multiplyByScalar(u,c,tt);i.add(l,h,h);var m=d.fromTranslation(h,rt),p=t._ellipsoid;t.setEllipsoid(s.UNIT_SPHERE),z(t,r,m,i.UNIT_Z),t.setEllipsoid(p)}function O(t,r){e(r.distance)&&(r=r.distance);var n=it;n.x=t._canvas.clientWidth/2,n.y=t._canvas.clientHeight/2;var o=t._cameraController.getPickRay(n,nt),a=i.UNIT_X,s=o.origin,l=o.direction,u=-i.dot(a,s)/i.dot(a,l);E(t,r,t._zoomFactor,u)}function R(t){if(t.columbusViewMode===g.LOCKED)S(t,t.enableRotate,t.rotateEventTypes,z,t.inertiaSpin,"_lastInertiaSpinMovement"),S(t,t.enableZoom,t.zoomEventTypes,B,t.inertiaZoom,"_lastInertiaZoomMovement");else{if(t._aggregator.anyButtonDown()&&t._animationCollection.removeAll(),S(t,t.enableTilt,t.tiltEventTypes,I,t.inertiaSpin,"_lastInertiaTiltMovement"),S(t,t.enableTranslate,t.translateEventTypes,M,t.inertiaTranslate,"_lastInertiaTranslateMovement"),S(t,t.enableZoom,t.zoomEventTypes,O,t.inertiaZoom,"_lastInertiaZoomMovement"),S(t,t.enableLook,t.lookEventTypes,V),!(t._aggregator.anyButtonDown()||e(t._lastInertiaZoomMovement)&&t._lastInertiaZoomMovement.active||e(t._lastInertiaTranslateMovement)&&t._lastInertiaTranslateMovement.active||t._animationCollection.contains(t._animation))){var r=t._cameraController.createCorrectPositionAnimation(t.bounceAnimationTime);e(r)&&(t._animation=t._animationCollection.add(r))}t._animationCollection.update()}}function L(t,r){e(t._cameraController.pickEllipsoid(r.startPosition,t._ellipsoid,ot))?N(t,r):z(t,r)}function z(t,r,n,o,a){var s=t._cameraController,l=s.constrainedAxis;e(o)&&(s.constrainedAxis=o);var u=i.magnitude(s._camera.position),c=t._rotateFactor*(u-t._rotateRateRangeAdjustment);c>t._maximumRotateRate&&(c=t._maximumRotateRate),c0&&T>0||0>b&&0>T?-1:1;b=Math.abs(b);var D=v;v=E*(v*b-A*f*(1-S)),f=E*(f*S+A*D*(1-b))}}if(s.rotateRight(f,n),s.rotateUp(v,n),e(a)){var P=i.clone(s._camera.directionWC,at),M=d.inverseTransformation(n,ut);P=d.multiplyByPointAsVector(M,P,P);var I=-i.dot(P,o),O=Math.acos(I);O>a&&(O-=a,s.rotateUp(-O,n))}s.constrainedAxis=l}function N(t,r){var n=t._cameraController,o=n.pickEllipsoid(r.startPosition,t._ellipsoid,ct),a=n.pickEllipsoid(r.endPosition,t._ellipsoid,ht);if(e(o)&&e(a))if(o=n._camera.worldToCameraCoordinates(o,o),a=n._camera.worldToCameraCoordinates(a,a),e(n.constrainedAxis)){var s=n.constrainedAxis,l=i.mostOrthogonalAxis(s,dt);i.cross(l,s,l),i.normalize(l,l);var u=i.cross(s,l,mt),c=i.magnitude(o),d=i.dot(s,o),m=Math.acos(d/c),p=i.multiplyByScalar(s,d,pt);i.subtract(o,p,p),i.normalize(p,p);var f=i.magnitude(a),v=i.dot(s,a),y=Math.acos(v/f),g=i.multiplyByScalar(s,v,ft);i.subtract(a,g,g),i.normalize(g,g);var _=Math.acos(i.dot(p,l));i.dot(p,u)<0&&(_=h.TWO_PI-_);var w=Math.acos(i.dot(g,l));i.dot(g,u)<0&&(w=h.TWO_PI-w);var C,x=_-w;C=i.equalsEpsilon(s,n._camera.position,h.EPSILON2)?n._camera.right:i.cross(s,n._camera.position,dt);var S,E=i.cross(s,C,dt),b=i.dot(E,i.subtract(o,s,mt)),T=i.dot(E,i.subtract(a,s,mt));S=b>0&&T>0?y-m:b>0&&0>=T?i.dot(n._camera.position,s)>0?-m-y:m+y:m-y,n.rotateRight(x),n.rotateUp(S)}else{i.normalize(o,o),i.normalize(a,a);var A=i.dot(o,a),D=i.cross(o,a,dt);if(1>A&&!i.equalsEpsilon(D,i.ZERO,h.EPSILON14)){var P=Math.acos(A);n.rotate(D,P)}}}function B(t,r){e(r.distance)&&(r=r.distance);var n=t._cameraController._camera,o=t._ellipsoid,a=o.cartesianToCartographic(n.position).height,s=i.normalize(n.position,vt);E(t,r,t._zoomFactor,a,i.dot(s,n.direction))}function F(t,r){e(r.angleAndHeight)&&(r=r.angleAndHeight);var n=t._cameraController,o=t._ellipsoid,a=.25*t.minimumZoomDistance,l=o.cartesianToCartographic(t._cameraController._camera.position).height;if(!(l-a-1c&&(u=Math.acos(c)),u=r.startPosition.x>r.endPosition.x?-u:u;var h=t._horizontalRotationAxis;e(h)?n.look(h,u):n.lookLeft(u),o.x=0,o.y=r.startPosition.y,a.x=0,a.y=r.endPosition.y,s=n.getPickRay(o,Et).direction,l=n.getPickRay(a,bt).direction,u=0,c=i.dot(s,l),1>c&&(u=Math.acos(c)),u=r.startPosition.y>r.endPosition.y?-u:u,n.lookUp(u)}function k(e){S(e,e.enableRotate,e.rotateEventTypes,L,e.inertiaSpin,"_lastInertiaSpinMovement"),S(e,e.enableZoom,e.zoomEventTypes,B,e.inertiaZoom,"_lastInertiaZoomMovement"),S(e,e.enableTilt,e.tiltEventTypes,F,e.inertiaSpin,"_lastInertiaTiltMovement"),S(e,e.enableLook,e.lookEventTypes,V)}var U=function(t,r){if(!e(t))throw new a("canvas is required.");if(!e(r))throw new a("cameraController is required.");this.enableTranslate=!0,this.enableZoom=!0,this.enableRotate=!0,this.enableTilt=!0,this.enableLook=!0,this.inertiaSpin=.9,this.inertiaTranslate=.9,this.inertiaZoom=.8,this.maximumMovementRatio=.1,this.columbusViewMode=g.FREE,this.bounceAnimationTime=3e3,this.minimumZoomDistance=20,this.maximumZoomDistance=Number.POSITIVE_INFINITY,this.translateEventTypes=y.LEFT_DRAG,this.zoomEventTypes=[y.RIGHT_DRAG,y.WHEEL,y.PINCH],this.rotateEventTypes=y.LEFT_DRAG,this.tiltEventTypes=[y.MIDDLE_DRAG,y.PINCH,{eventType:y.LEFT_DRAG,modifier:l.CTRL}],this.lookEventTypes={eventType:y.LEFT_DRAG,modifier:l.SHIFT},this._canvas=t,this._cameraController=r,this._ellipsoid=s.WGS84,this._aggregator=new v(t),this._lastInertiaSpinMovement=void 0,this._lastInertiaZoomMovement=void 0,this._lastInertiaTranslateMovement=void 0,this._lastInertiaWheelZoomMovement=void 0,this._lastInertiaTiltMovement=void 0,this._animationCollection=new f,this._animation=void 0,this._horizontalRotationAxis=void 0;var i=this._ellipsoid.getMaximumRadius();this._zoomFactor=5,this._rotateFactor=1/i,this._rotateRateRangeAdjustment=i,this._maximumRotateRate=1.77,this._minimumRotateRate=2e-4,this._translateFactor=1,this._minimumZoomRate=20,this._maximumZoomRate=u};U.prototype.getEllipsoid=function(){return this._ellipsoid},U.prototype.setEllipsoid=function(e){e=e||s.WGS84;var t=e.getMaximumRadius();this._ellipsoid=e,this._rotateFactor=1/t,this._rotateRateRangeAdjustment=t};var W=.4,q=[],G=new m,H=new m,j=new r,Y=new r,X=new m,Z=new m,J=new i,K=new i,Q=new i,$=new r,et=new m,tt=new i,rt=new d,it=new r,nt=new m,ot=new i,at=i.clone(i.ZERO),st=new i,lt=new i,ut=new d,ct=n.clone(n.UNIT_W),ht=n.clone(n.UNIT_W),dt=new i,mt=new i,pt=new i,ft=new i,vt=new i,yt=new r,gt=new m,_t=new o,wt=n.clone(n.UNIT_W),Ct=new d,xt=new r,St=new r,Et=new m,bt=new m;return U.prototype.update=function(e){e===_.SCENE2D?P(this):e===_.COLUMBUS_VIEW?(this._horizontalRotationAxis=i.UNIT_Z,R(this)):e===_.SCENE3D&&(this._horizontalRotationAxis=void 0,k(this)),this._aggregator.reset()},U.prototype.isDestroyed=function(){return!1},U.prototype.destroy=function(){return this._spinHandler=this._spinHandler&&this._spinHandler.destroy(),this._translateHandler=this._translateHandler&&this._translateHandler.destroy(),this._lookHandler=this._lookHandler&&this._lookHandler.destroy(),this._rotateHandler=this._rotateHandler&&this._rotateHandler.destroy(),this._zoomHandler=this._zoomHandler&&this._zoomHandler.destroy(),this._zoomWheelHandler=this._zoomWheelHandler&&this._zoomWheelHandler.destroy(),this._pinchHandler=this._pinchHandler&&this._pinchHandler.destroy(),t(this)},U}),r("Shaders/PostProcessFilters/AdditiveBlend",[],function(){"use strict";return"uniform sampler2D u_texture0;\nuniform sampler2D u_texture1;\nuniform vec2 u_center;\nuniform float u_radius;\nvarying vec2 v_textureCoordinates;\nvoid main()\n{\nvec4 color0 = texture2D(u_texture0, v_textureCoordinates);\nvec4 color1 = texture2D(u_texture1, v_textureCoordinates);\nfloat x = length(gl_FragCoord.xy - u_center) / u_radius;\nfloat t = smoothstep(0.5, 0.8, x);\ngl_FragColor = mix(color0 + color1, color0, t);\n}\n"}),r("Shaders/PostProcessFilters/BrightPass",[],function(){"use strict";return"uniform sampler2D u_texture;\nuniform float u_avgLuminance;\nuniform float u_threshold;\nuniform float u_offset;\nvarying vec2 v_textureCoordinates;\nfloat key(float avg)\n{\nfloat guess = 1.5 - (1.5 / (avg * 0.1 + 1.0));\nreturn max(0.0, guess) + 0.1;\n}\nvoid main()\n{\nvec4 color = texture2D(u_texture, v_textureCoordinates);\nvec3 xyz = czm_RGBToXYZ(color.rgb);\nfloat luminance = xyz.r;\nfloat scaledLum = key(u_avgLuminance) * luminance / u_avgLuminance;\nfloat brightLum = max(scaledLum - u_threshold, 0.0);\nfloat brightness = brightLum / (u_offset + brightLum);\nxyz.r = brightness;\ngl_FragColor = vec4(czm_XYZToRGB(xyz), 1.0);\n}\n"}),r("Shaders/PostProcessFilters/GaussianBlur1D",[],function(){"use strict";return"#define SAMPLES 8\nuniform float delta;\nuniform float sigma;\nuniform float direction;\nuniform sampler2D u_texture;\nuniform vec2 u_step;\nvarying vec2 v_textureCoordinates;\nvoid main()\n{\nvec2 st = v_textureCoordinates;\nvec2 dir = vec2(1.0 - direction, direction);\nvec3 g;\ng.x = 1.0 / (sqrt(czm_twoPi) * sigma);\ng.y = exp((-0.5 * delta * delta) / (sigma * sigma));\ng.z = g.y * g.y;\nvec4 result = texture2D(u_texture, st) * g.x;\nfor (int i = 1; i < SAMPLES; ++i)\n{\ng.xy *= g.yz;\nvec2 offset = float(i) * dir * u_step;\nresult += texture2D(u_texture, st - offset) * g.x;\nresult += texture2D(u_texture, st + offset) * g.x;\n}\ngl_FragColor = result;\n}\n"}),r("Shaders/PostProcessFilters/PassThrough",[],function(){"use strict";return"uniform sampler2D u_texture;\nvarying vec2 v_textureCoordinates;\nvoid main()\n{\ngl_FragColor = texture2D(u_texture, v_textureCoordinates);\n}\n"}),r("Scene/SunPostProcess",["../Core/BoundingRectangle","../Core/Cartesian2","../Core/Cartesian4","../Core/Color","../Core/ComponentDatatype","../Core/defaultValue","../Core/defined","../Core/destroyObject","../Core/Geometry","../Core/GeometryAttribute","../Core/Math","../Core/Matrix4","../Core/PrimitiveType","../Core/Transforms","../Renderer/BufferUsage","../Renderer/ClearCommand","../Renderer/DrawCommand","../Renderer/PassState","../Renderer/PixelDatatype","../Renderer/PixelFormat","../Renderer/RenderbufferFormat","../Shaders/PostProcessFilters/AdditiveBlend","../Shaders/PostProcessFilters/BrightPass","../Shaders/PostProcessFilters/GaussianBlur1D","../Shaders/PostProcessFilters/PassThrough","../Shaders/ViewportQuadVS"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f,v,y,g,_,w,C,x,S,E,b){"use strict";function T(e){var t=e.cache.viewportQuad_vertexArray;if(a(t))return t;var r=new l({attributes:{position:new u({componentDatatype:n.FLOAT,componentsPerAttribute:2,values:[-1,-1,1,-1,1,1,-1,1]}),textureCoordinates:new u({componentDatatype:n.FLOAT,componentsPerAttribute:2,values:[0,0,1,0,1,1,0,1]})},primitiveType:d.TRIANGLES});return t=e.createVertexArrayFromGeometry({geometry:r,attributeIndices:D,bufferUsage:p.STATIC_DRAW}),e.cache.viewportQuad_vertexArray=t,t}var A=function(){this._fbo=void 0,this._downSampleFBO1=void 0,this._downSampleFBO2=void 0,this._clearFBO1Command=void 0,this._clearFBO2Command=void 0,this._downSampleCommand=void 0,this._brightPassCommand=void 0,this._blurXCommand=void 0,this._blurYCommand=void 0,this._blendCommand=void 0,this._fullScreenCommand=void 0,this._downSamplePassState=new y,this._downSamplePassState.scissorTest={enable:!0,rectangle:new e},this._upSamplePassState=new y,this._upSamplePassState.scissorTest={enabled:!0,rectangle:new e},this._uCenter=new t,this._uRadius=void 0,this._blurStep=new t};A.prototype.clear=function(e,t){var r=this._clearFBO1Command;i.clone(o(t,i.BLACK),r.color),r.execute(e),r=this._clearFBO2Command,i.clone(o(t,i.BLACK),r.color),r.execute(e)},A.prototype.execute=function(e){this._downSampleCommand.execute(e,this._downSamplePassState),this._brightPassCommand.execute(e,this._downSamplePassState),this._blurXCommand.execute(e,this._downSamplePassState),this._blurYCommand.execute(e,this._downSamplePassState),this._fullScreenCommand.execute(e),this._blendCommand.execute(e,this._upSamplePassState)};var D={position:0,textureCoordinates:1},P=new e,M=new e,I=new r,O=new t,R=new t,L=new h;return A.prototype.update=function(e){var r=e.getDrawingBufferWidth(),n=e.getDrawingBufferHeight(),o=this;if(!a(this._fbo)){this._fbo=e.createFramebuffer(),this._downSampleFBO1=e.createFramebuffer(),this._downSampleFBO2=e.createFramebuffer(),this._clearFBO1Command=new f,this._clearFBO1Command.color=new i,this._clearFBO1Command.framebuffer=this._downSampleFBO1,this._clearFBO2Command=new f,this._clearFBO2Command.color=new i,this._clearFBO2Command.framebuffer=this._downSampleFBO2;var s=d.TRIANGLE_FAN,l=T(e),u=this._downSampleCommand=new v;u.owner=this,u.primitiveType=s,u.vertexArray=l,u.shaderProgram=e.getShaderCache().getShaderProgram(b,E,D),u.uniformMap={},u.framebuffer=this._downSampleFBO1;var p=this._brightPassCommand=new v;p.owner=this,p.primitiveType=s,p.vertexArray=l,p.shaderProgram=e.getShaderCache().getShaderProgram(b,x,D),p.uniformMap={u_avgLuminance:function(){return.5},u_threshold:function(){return.25},u_offset:function(){return.1}},p.framebuffer=this._downSampleFBO2;var y=1,A=2,z=this._blurXCommand=new v;z.owner=this,z.primitiveType=s,z.vertexArray=l,z.shaderProgram=e.getShaderCache().getShaderProgram(b,S,D),z.uniformMap={delta:function(){return y},sigma:function(){return A},direction:function(){return 0}},z.framebuffer=this._downSampleFBO1;var N=this._blurYCommand=new v;N.owner=this,N.primitiveType=s,N.vertexArray=l,N.shaderProgram=e.getShaderCache().getShaderProgram(b,S,D),N.uniformMap={delta:function(){return y},sigma:function(){return A},direction:function(){return 1}},N.framebuffer=this._downSampleFBO2;var B=this._blendCommand=new v;B.owner=this,B.primitiveType=s,B.vertexArray=l,B.shaderProgram=e.getShaderCache().getShaderProgram(b,C,D),B.uniformMap={u_center:function(){return o._uCenter},u_radius:function(){return o._uRadius}};var F=this._fullScreenCommand=new v;F.owner=this,F.primitiveType=s,F.vertexArray=l,F.shaderProgram=e.getShaderCache().getShaderProgram(b,E,D),F.uniformMap={}}var V=Math.pow(2,Math.ceil(Math.log(r)/Math.log(2))-2),k=Math.pow(2,Math.ceil(Math.log(n)/Math.log(2))-2),U=Math.max(V,k),W=P;W.width=r,W.height=n;var q=M;q.width=U,q.height=U;var G=this._fbo,H=G.getColorTexture();if(!a(H)||H.getWidth()!==r||H.getHeight()!==n){this._blurStep.x=this._blurStep.y=1/U,G.setColorTexture(e.createTexture2D({width:r,height:n})),e.getDepthTexture()?G.setDepthTexture(e.createTexture2D({width:r,height:n,pixelFormat:_.DEPTH_COMPONENT,pixelDatatype:g.UNSIGNED_SHORT})):G.setDepthRenderbuffer(e.createRenderbuffer({format:w.DEPTH_COMPONENT16})),this._downSampleFBO1.setColorTexture(e.createTexture2D({width:U,height:U})),this._downSampleFBO2.setColorTexture(e.createTexture2D({width:U,height:U}));var j=e.createRenderState({viewport:q}),Y=e.createRenderState();this._downSampleCommand.uniformMap.u_texture=function(){return G.getColorTexture()},this._downSampleCommand.renderState=j,this._brightPassCommand.uniformMap.u_texture=function(){return o._downSampleFBO1.getColorTexture()},this._brightPassCommand.renderState=j,this._blurXCommand.uniformMap.u_texture=function(){return o._downSampleFBO2.getColorTexture()},this._blurXCommand.uniformMap.u_step=function(){return o._blurStep},this._blurXCommand.renderState=j,this._blurYCommand.uniformMap.u_texture=function(){return o._downSampleFBO1.getColorTexture()},this._blurYCommand.uniformMap.u_step=function(){return o._blurStep},this._blurYCommand.renderState=j,this._blendCommand.uniformMap.u_texture0=function(){return G.getColorTexture()},this._blendCommand.uniformMap.u_texture1=function(){return o._downSampleFBO2.getColorTexture()},this._blendCommand.renderState=Y,this._fullScreenCommand.uniformMap.u_texture=function(){return G.getColorTexture()},this._fullScreenCommand.renderState=Y}var X=e.getUniformState(),Z=X.getSunPositionWC(),J=X.getView(),K=X.getViewProjection(),Q=X.getProjection(),$=h.computeViewportTransformation(W,0,1,L),et=h.multiplyByPoint(J,Z,I),tt=m.pointToWindowCoordinates(K,$,Z,O);et.x+=c.SOLAR_RADIUS;var rt=m.pointToWindowCoordinates(Q,$,et,et),it=2*30*t.magnitude(t.subtract(rt,tt,rt)),nt=R;nt.x=it,nt.y=it;var ot=this._upSamplePassState.scissorTest.rectangle;return ot.x=Math.max(tt.x-.5*nt.x,0),ot.y=Math.max(tt.y-.5*nt.y,0),ot.width=Math.min(nt.x,r),ot.height=Math.min(nt.y,n),t.clone(tt,this._uCenter),this._uRadius=.5*Math.max(nt.x,nt.y),$=h.computeViewportTransformation(q,0,1,L),tt=m.pointToWindowCoordinates(K,$,Z,O),nt.x*=V/r,nt.y*=k/n,ot=this._downSamplePassState.scissorTest.rectangle,ot.x=Math.max(tt.x-.5*nt.x,0),ot.y=Math.max(tt.y-.5*nt.y,0),ot.width=Math.min(nt.x,r),ot.height=Math.min(nt.y,n),this._downSamplePassState.context=e,this._upSamplePassState.context=e,this._fbo},A.prototype.isDestroyed=function(){return!1},A.prototype.destroy=function(){return this._fbo=this._fbo&&this._fbo.destroy(),this._downSampleFBO1=this._downSampleFBO1&&this._downSampleFBO1.destroy(),this._downSampleFBO2=this._downSampleFBO2&&this._downSampleFBO2.destroy(),this._downSampleCommand=this._downSampleCommand&&this._downSampleCommand.shaderProgram&&this._downSampleCommand.shaderProgram.release(),this._brightPassCommand=this._brightPassCommand&&this._brightPassCommand.shaderProgram&&this._brightPassCommand.shaderProgram.release(),this._blurXCommand=this._blurXCommand&&this._blurXCommand.shaderProgram&&this._blurXCommand.shaderProgram.release(),this._blurYCommand=this._blurYCommand&&this._blurYCommand.shaderProgram&&this._blurYCommand.shaderProgram.release(),this._blendCommand=this._blendCommand&&this._blendCommand.shaderProgram&&this._blendCommand.shaderProgram.release(),this._fullScreenCommand=this._fullScreenCommand&&this._fullScreenCommand.shaderProgram&&this._fullScreenCommand.shaderProgram.release(),s(this)},A}),r("Scene/Scene",["../Core/Math","../Core/Color","../Core/defaultValue","../Core/defined","../Core/destroyObject","../Core/DeveloperError","../Core/GeographicProjection","../Core/Ellipsoid","../Core/Occluder","../Core/BoundingRectangle","../Core/BoundingSphere","../Core/Cartesian2","../Core/Cartesian3","../Core/Intersect","../Core/Interval","../Core/Matrix4","../Core/JulianDate","../Core/EllipsoidGeometry","../Core/GeometryInstance","../Core/GeometryPipeline","../Core/ColorGeometryInstanceAttribute","../Core/ShowGeometryInstanceAttribute","../Renderer/Context","../Renderer/ClearCommand","../Renderer/PassState","../Renderer/Pass","./Camera","./ScreenSpaceCameraController","./CompositePrimitive","./CullingVolume","./AnimationCollection","./SceneMode","./SceneTransforms","./FrameState","./OrthographicFrustum","./PerspectiveFrustum","./PerspectiveOffCenterFrustum","./FrustumCommands","./Primitive","./PerInstanceColorAppearance","./SunPostProcess","./CreditDisplay"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f,v,y,g,_,w,C,x,S,E,b,T,A,D,P,M,I,O,R,L,z,N,B,F,V,k,U){"use strict";function W(e){var t=e._primitives.getCentralBody();if(e.mode===I.SCENE3D&&i(t)){var r=t.getEllipsoid();return lt.radius=r.getMinimumRadius(),st=l.fromBoundingSphere(lt,e._camera.positionWC,st)}return void 0}function q(e){e.render=!1,e.pick=!1}function G(e,t,r){var i=e._camera,n=e._frameState;n.mode=e.mode,n.morphTime=e.morphTime,n.scene2D=e.scene2D,n.frameNumber=t,n.time=r,n.camera=i,n.cullingVolume=i.frustum.computeCullingVolume(i.positionWC,i.directionWC,i.upWC),n.occluder=W(e),n.events.length=0,q(n.passes)}function H(e,t,r,n,o){o.length=n;for(var a=0;n>a;++a){var s=Math.max(e,Math.pow(r,a)*e),l=Math.min(t,r*s);0!==a&&(s*=.99);var u=o[a];i(u)?(u.near=s,u.far=l):u=o[a]=new B(s,l)}}function j(e,t,r){e.debugShowFrustums&&(t.debugOverlappingFrustums=0);for(var n=e._frustumCommandsList,o=n.length,a=0;o>a;++a){var s=n[a],l=s.near,u=s.far;if(!(r.start>u)){if(r.stopc;++c)l[c].opaqueIndex=0,l[c].translucentIndex=0;var h,d=Number.MAX_VALUE,p=Number.MIN_VALUE,f=!1;e._frameState.mode===I.SCENE3D&&(h=e._frameState.occluder);for(var v=ut.planes,y=0;5>y;++y)v[y]=n.planes[y];n=ut;for(var g=t.length,_=0;g>_;++_){var w=t[_],C=w.pass;if(C===b.OVERLAY)r.push(w);else{var x=w.boundingVolume;if(i(x)){if(w.cull&&(n.getVisibility(x)===m.OUTSIDE||i(h)&&!h.isBoundingSphereVisible(x)))continue;ct=x.getPlaneDistances(s,a,ct),d=Math.min(d,ct.start),p=Math.max(p,ct.stop)}else ct.start=o.frustum.near,ct.stop=o.frustum.far,f=!(w instanceof S);j(e,w,ct)}}f?(d=o.frustum.near,p=o.frustum.far):(d=Math.min(Math.max(d,o.frustum.near),o.frustum.far),p=Math.max(Math.min(p,o.frustum.far),d));var E=e.farToNearRatio,T=Math.ceil(Math.log(p/d)/Math.log(E));d!==Number.MAX_VALUE&&(T!==u||0!==l.length&&(dl[u-1].far))&&(H(d,p,E,T,l),Y(e))}function X(e){var t={},r=e.getVertexAttributes();for(var i in r)r.hasOwnProperty(i)&&(t[i]=r[i].index);return t}function Z(e,r){var n=e.shaderProgram.fragmentShaderSource,o=n.replace(/void\s+main\s*\(\s*(?:void)?\s*\)/g,"void czm_Debug_main()"),a="void main() \n{ \n czm_Debug_main(); \n";if(r.debugShowCommands){i(e._debugColor)||(e._debugColor=t.fromRandom());var s=e._debugColor;a+=" gl_FragColor.rgb *= vec3("+s.red+", "+s.green+", "+s.blue+"); \n"}if(r.debugShowFrustums){var l=1&e.debugOverlappingFrustums?"1.0":"0.0",u=2&e.debugOverlappingFrustums?"1.0":"0.0",c=4&e.debugOverlappingFrustums?"1.0":"0.0";a+=" gl_FragColor.rgb *= vec3("+l+", "+u+", "+c+"); \n"}return a+="}",o+"\n"+a}function J(e,t,r,n){if(i(e.shaderProgram)){var o=e.shaderProgram,a=X(o);e.shaderProgram=r.getShaderCache().getShaderProgram(o.vertexShaderSource,Z(e,t),a),e.execute(r,n),e.shaderProgram.release(),e.shaderProgram=o}}function K(e,t,r,n){if((!i(t.debugCommandFilter)||t.debugCommandFilter(e))&&(t.debugShowCommands||t.debugShowFrustums?J(e,t,r,n):e.execute(r,n),e.debugShowBoundingVolume&&i(e.boundingVolume))){if(!i(t._debugSphere)){var o=y.createGeometry(new y({ellipsoid:s.UNIT_SPHERE,vertexFormat:V.FLAT_VERTEX_FORMAT}));t._debugSphere=new F({geometryInstances:new g({geometry:_.toWireframe(o),attributes:{color:new w(1,0,0,1)}}),appearance:new V({flat:!0,translucent:!1}),asynchronous:!1})}var a=f.multiplyByTranslation(f.IDENTITY,e.boundingVolume.center);t._debugSphere.modelMatrix=f.multiplyByUniformScale(a,e.boundingVolume.radius);var l=[];t._debugSphere.update(r,t._frameState,l),l[0].execute(r,n)}}function Q(e,t){if(i(e)){for(var r=t.mode===I.SCENE3D?t.occluder:void 0,n=t.cullingVolume,o=ut.planes,a=0;5>a;++a)o[a]=n.planes[a];n=ut;var s=e.boundingVolume;return i(e)&&(!i(e.boundingVolume)||!e.cull||n.getVisibility(s)!==m.OUTSIDE&&(!i(r)||r.isBoundingSphereVisible(s)))}}function $(e,r,n){var o,a=e._frameState,s=e._camera,l=e._context,u=l.getUniformState();o=i(s.frustum.fovy)?s.frustum.clone(ht):i(s.frustum.infiniteProjectionMatrix)?s.frustum.clone(dt):s.frustum.clone(mt),i(e.sun)&&e.sunBloom!==e._sunBloom?(e._sunPostProcess=e.sunBloom?new k:e._sunPostProcess.destroy(),e._sunBloom=e.sunBloom):!i(e.sun)&&i(e._sunPostProcess)&&(e._sunPostProcess=e._sunPostProcess.destroy(),e._sunBloom=!1);var c=a.passes.render&&i(e.skyBox)?e.skyBox.update(l,a):void 0,h=a.passes.render&&i(e.skyAtmosphere)?e.skyAtmosphere.update(l,a):void 0,d=a.passes.render&&i(e.sun)?e.sun.update(l,a):void 0,m=Q(d,a);m&&e.sunBloom&&(r.framebuffer=e._sunPostProcess.update(l));var p=e._clearColorCommand;t.clone(n,p.color),p.execute(l,r),m&&e.sunBloom&&e._sunPostProcess.clear(l,e.backgroundColor),o.near=s.frustum.near,o.far=s.frustum.far,u.updateFrustum(o),i(c)&&K(c,e,l,r),i(h)&&K(h,e,l,r),i(d)&&m&&(d.execute(l,r),e.sunBloom&&(e._sunPostProcess.execute(l),r.framebuffer=void 0));for(var f=e._clearDepthStencilCommand,v=e._frustumCommandsList,y=v.length,g=0;y>g;++g){f.execute(l,r);var _=y-g-1,w=v[_];o.near=w.near,o.far=w.far,u.updateFrustum(o);var C,x=w.opaqueCommands,S=w.opaqueIndex;for(C=0;S>C;++C)K(x[C],e,l,r);for(x=w.translucentCommands,S=x.length=w.translucentIndex,C=0;S>C;++C)K(x[C],e,l,r)}}function et(e,t){for(var r=e._context,i=e._overlayCommandList,n=i.length,o=0;n>o;++o)i[o].execute(r,t)}function tt(e){var t=e._context,r=e._frameState,n=e._commandList;e._primitives.update(t,r,n),i(e.moon)&&e.moon.update(t,r,n)}function rt(e){for(var t=e.events,r=t.length,i=0;r>i;++i)t[i].raiseEvent()}function it(e,t){var r=e._context,i=e._camera,n=i.frustum,o=r.getDrawingBufferWidth(),a=r.getDrawingBufferHeight(),s=2/o*t.x-1;s*=.5*(n.right-n.left);var l=2/a*(a-t.y)-1;l*=.5*(n.top-n.bottom);var u=i.position;u=new d(u.z,u.x,u.y),u.y+=s,u.z+=l,ft.x=o,ft.y=a;var c=n.getPixelSize(ft,void 0,vt),h=pt;return h.right=.5*c.x,h.left=-h.right,h.top=.5*c.y,h.bottom=-h.top,h.near=n.near,h.far=n.far,h.computeCullingVolume(u,i.directionWC,i.upWC)}function nt(e,t,r,i){var n=e._context,o=e._camera,a=o.frustum,s=a.near,l=n.getDrawingBufferWidth(),u=n.getDrawingBufferHeight(),c=Math.tan(.5*a.fovy),h=a.aspectRatio*c,d=2/l*t.x-1,m=2/u*(u-t.y)-1,p=d*s*h,f=m*s*c;ft.x=l,ft.y=u;var v=a.getPixelSize(ft,void 0,vt),y=.5*v.x*r,g=.5*v.y*i,_=yt;return _.top=f+g,_.bottom=f-g,_.right=p+y,_.left=p-y,_.near=s,_.far=a.far,_.computeCullingVolume(o.positionWC,o.directionWC,o.upWC)}function ot(e,t,r,i){return e.mode===I.SCENE2D?it(e,t,r,i):nt(e,t,r,i)}var at=function(e,r,n){var o=new x(e,r);i(n)||(n=document.createElement("div"),n.style.position="absolute",n.style.bottom="0",n.style["text-shadow"]="0px 0px 2px #000000",n.style.color="#ffffff",n.style["font-size"]="10pt",n.style["padding-right"]="5px",e.parentNode.appendChild(n)),this._frameState=new R(new U(n)),this._passState=new E(o),this._canvas=e,this._context=o,this._primitives=new D,this._pickFramebuffer=void 0,this._camera=new T(o),this._screenSpaceCameraController=new A(e,this._camera.controller),this._animations=new M,this._shaderFrameCount=0,this._sunPostProcess=void 0,this._commandList=[],this._frustumCommandsList=[],this._overlayCommandList=[],this._clearColorCommand=new S,this._clearColorCommand.color=new t,this._clearColorCommand.owner=!0;var l=new S;l.depth=1,l.stencil=1,l.owner=this,this._clearDepthStencilCommand=l,this.skyBox=void 0,this.skyAtmosphere=void 0,this.sun=void 0,this.sunBloom=!0,this._sunBloom=void 0,this.moon=void 0,this.backgroundColor=t.clone(t.BLACK),this.mode=I.SCENE3D,this.scene2D={projection:new a(s.WGS84)},this.morphTime=1,this.farToNearRatio=1e3,this.debugCommandFilter=void 0,this.debugShowCommands=!1,this.debugShowFrustums=!1,this.debugFrustumStatistics=void 0,this._debugSphere=void 0;var u=this._camera.frustum.near,c=this._camera.frustum.far,h=Math.ceil(Math.log(c/u)/Math.log(this.farToNearRatio));H(u,c,this.farToNearRatio,h,this._frustumCommandsList),G(this,0,new v),this.initializeFrame()};at.prototype.getCanvas=function(){return this._canvas},at.prototype.getContext=function(){return this._context},at.prototype.getPrimitives=function(){return this._primitives},at.prototype.getCamera=function(){return this._camera},at.prototype.getScreenSpaceCameraController=function(){return this._screenSpaceCameraController},at.prototype.getUniformState=function(){return this._context.getUniformState()},at.prototype.getFrameState=function(){return this._frameState},at.prototype.getAnimations=function(){return this._animations};var st,lt=new c,ut=new P,ct=new p,ht=new z,dt=new N,mt=new L;at.prototype.initializeFrame=function(){120===this._shaderFrameCount++&&(this._shaderFrameCount=0,this._context.getShaderCache().destroyReleasedShaderPrograms()),this._animations.update(),this._camera.controller.update(this.mode,this.scene2D),this._screenSpaceCameraController.update(this.mode)},at.prototype.render=function(n){i(n)||(n=new v);var o=this.getUniformState(),a=this._frameState,s=e.incrementWrap(a.frameNumber,15e6,1);G(this,s,n),a.passes.render=!0,a.creditDisplay.beginFrame();var l=this._context;o.update(l,a),this._commandList.length=0,this._overlayCommandList.length=0,tt(this),Y(this);var u=this._passState;$(this,u,r(this.backgroundColor,t.BLACK)),et(this,u),a.creditDisplay.endFrame(),l.endFrame(),rt(a)};var pt=new L,ft=new h,vt=new h,yt=new N,gt=3,_t=3,wt=new u(0,0,gt,_t),Ct=new t(0,0,0,0),xt=new h;return at.prototype.pick=function(e){if(!i(e))throw new o("windowPosition is undefined.");var t=this._context,r=this.getUniformState(),n=this._frameState,a=O.transformWindowToDrawingBuffer(t,e,xt);i(this._pickFramebuffer)||(this._pickFramebuffer=t.createPickFramebuffer()),G(this,n.frameNumber,n.time),n.cullingVolume=ot(this,a,gt,_t),n.passes.pick=!0,r.update(t,n),this._commandList.length=0,tt(this),Y(this),wt.x=a.x-.5*(gt-1),wt.y=t.getDrawingBufferHeight()-a.y-.5*(_t-1),$(this,this._pickFramebuffer.begin(wt),Ct);var s=this._pickFramebuffer.end(wt);return t.endFrame(),rt(n),s},at.prototype.drillPick=function(e){if(!i(e))throw new o("windowPosition is undefined.");for(var t=[],r=this.pick(e);i(r)&&i(r.primitive);){var n=r.primitive;if(t.push(r),i(n.show))n.show=!1;else if("function"==typeof n.setShow)n.setShow(!1);else if("function"==typeof n.getGeometryInstanceAttributes){var a=n.getGeometryInstanceAttributes(r.id);i(a)&&i(a.show)&&(a.show=C.toValue(!1))}r=this.pick(e)}for(var s=0;sS&&(C=0);var E=(S-C)*t;if(Er;++r)e[r].destroy();this._sensors=[]},a.prototype.contains=function(e){return e?-1!==this._sensors.indexOf(e):!1},a.prototype.get=function(t){if(!e(t))throw new r("index is required.");return this._sensors[t]},a.prototype.getLength=function(){return this._sensors.length},a.prototype.update=function(e,t,r){var i=t.mode;if(i===o.SCENE3D)for(var n=this._sensors,a=n.length,s=0;a>s;++s)n[s].update(e,t,r)},a.prototype.isDestroyed=function(){return!1},a.prototype.destroy=function(){return this.removeAll(),t(this)},a}),r("Scene/SingleTileImageryProvider",["../Core/defaultValue","../Core/defined","../Core/loadImage","../Core/DeveloperError","../Core/Event","../Core/Extent","./Credit","./GeographicTilingScheme","./TileProviderError","../ThirdParty/when"],function(e,t,r,i,n,o,a,s,l,u){"use strict";var c=function(c){function h(e){C._image=e,C._tileWidth=e.width,C._tileHeight=e.height,C._ready=!0,l.handleSuccess(C._errorEvent)}function d(){var e="Failed to load image "+g+".";w=l.handleError(w,C,C._errorEvent,e,0,0,0,m)}function m(){u(r(g),h,d)}c=e(c,{});var p=c.url;if(!t(p))throw new i("url is required.");this._url=p;var f=c.proxy;this._proxy=f;var v=e(c.extent,o.MAX_VALUE),y=new s({extent:v,numberOfLevelZeroTilesX:1,numberOfLevelZeroTilesY:1});this._tilingScheme=y,this._image=void 0,this._texture=void 0,this._tileWidth=0,this._tileHeight=0,this._errorEvent=new n,this._ready=!1;var g=p;t(f)&&(g=f.getURL(g));var _=c.credit;"string"==typeof _&&(_=new a(_)),this._credit=_;var w,C=this;m()};return c.prototype.getUrl=function(){return this._url},c.prototype.getProxy=function(){return this._proxy},c.prototype.getTileWidth=function(){if(!this._ready)throw new i("getTileWidth must not be called before the imagery provider is ready.");return this._tileWidth},c.prototype.getTileHeight=function(){if(!this._ready)throw new i("getTileHeight must not be called before the imagery provider is ready.");return this._tileHeight},c.prototype.getMaximumLevel=function(){if(!this._ready)throw new i("getMaximumLevel must not be called before the imagery provider is ready.");return 0},c.prototype.getMinimumLevel=function(){if(!this._ready)throw new i("getMinimumLevel must not be called before the imagery provider is ready.");return 0},c.prototype.getTilingScheme=function(){if(!this._ready)throw new i("getTilingScheme must not be called before the imagery provider is ready.");return this._tilingScheme},c.prototype.getExtent=function(){return this._tilingScheme.getExtent()},c.prototype.getTileDiscardPolicy=function(){if(!this._ready)throw new i("getTileDiscardPolicy must not be called before the imagery provider is ready.");return void 0},c.prototype.getErrorEvent=function(){return this._errorEvent},c.prototype.isReady=function(){return this._ready},c.prototype.requestImage=function(){if(!this._ready)throw new i("requestImage must not be called before the imagery provider is ready.");return this._image},c.prototype.getCredit=function(){return this._credit},c}),r("Shaders/SkyAtmosphereVS",[],function(){"use strict";return"attribute vec4 position;\nuniform float fCameraHeight;\nuniform float fCameraHeight2;\nuniform float fOuterRadius;\nuniform float fOuterRadius2;\nuniform float fInnerRadius;\nuniform float fScale;\nuniform float fScaleDepth;\nuniform float fScaleOverScaleDepth;\nconst float Kr = 0.0025;\nconst float fKr4PI = Kr * 4.0 * czm_pi;\nconst float Km = 0.0015;\nconst float fKm4PI = Km * 4.0 * czm_pi;\nconst float ESun = 15.0;\nconst float fKmESun = Km * ESun;\nconst float fKrESun = Kr * ESun;\nconst vec3 v3InvWavelength = vec3(\n5.60204474633241,\n9.473284437923038,\n19.643802610477206);\nconst float rayleighScaleDepth = 0.25;\nconst int nSamples = 2;\nconst float fSamples = 2.0;\nvarying vec3 v_rayleighColor;\nvarying vec3 v_mieColor;\nvarying vec3 v_toCamera;\nvarying vec3 v_positionEC;\nfloat scale(float fCos)\n{\nfloat x = 1.0 - fCos;\nreturn fScaleDepth * exp(-0.00287 + x*(0.459 + x*(3.83 + x*(-6.80 + x*5.25))));\n}\nvoid main(void)\n{\nvec3 v3Pos = position.xyz;\nvec3 v3Ray = v3Pos - czm_viewerPositionWC;\nfloat fFar = length(v3Ray);\nv3Ray /= fFar;\n#ifdef SKY_FROM_SPACE\nfloat B = 2.0 * dot(czm_viewerPositionWC, v3Ray);\nfloat C = fCameraHeight2 - fOuterRadius2;\nfloat fDet = max(0.0, B*B - 4.0 * C);\nfloat fNear = 0.5 * (-B - sqrt(fDet));\nvec3 v3Start = czm_viewerPositionWC + v3Ray * fNear;\nfFar -= fNear;\nfloat fStartAngle = dot(v3Ray, v3Start) / fOuterRadius;\nfloat fStartDepth = exp(-1.0 / fScaleDepth);\nfloat fStartOffset = fStartDepth*scale(fStartAngle);\n#else\nvec3 v3Start = czm_viewerPositionWC;\nfloat fHeight = length(v3Start);\nfloat fDepth = exp(fScaleOverScaleDepth * (fInnerRadius - fCameraHeight));\nfloat fStartAngle = dot(v3Ray, v3Start) / fHeight;\nfloat fStartOffset = fDepth*scale(fStartAngle);\n#endif\nfloat fSampleLength = fFar / fSamples;\nfloat fScaledLength = fSampleLength * fScale;\nvec3 v3SampleRay = v3Ray * fSampleLength;\nvec3 v3SamplePoint = v3Start + v3SampleRay * 0.5;\nvec3 v3FrontColor = vec3(0.0, 0.0, 0.0);\nfor(int i=0; ithis._outerRadius?this._spSkyFromSpace:this._spSkyFromAtmosphere,s},v.prototype.isDestroyed=function(){return!1},v.prototype.destroy=function(){var e=this._command;return e.vertexArray=e.vertexArray&&e.vertexArray.destroy(),this._spSkyFromSpace=this._spSkyFromSpace&&this._spSkyFromSpace.release(),this._spSkyFromAtmosphere=this._spSkyFromAtmosphere&&this._spSkyFromAtmosphere.release(),n(this)},v}),r("Shaders/SkyBoxVS",[],function(){"use strict";return"attribute vec3 position;\nvarying vec3 v_texCoord;\nvoid main()\n{\nvec3 p = czm_viewRotation * (czm_temeToPseudoFixed * (czm_entireFrustum.y * position));\ngl_Position = czm_projection * vec4(p, 1.0);\nv_texCoord = position.xyz;\n}\n"}),r("Shaders/SkyBoxFS",[],function(){"use strict";return"uniform samplerCube u_cubeMap;\nvarying vec3 v_texCoord;\nvoid main()\n{\nvec3 rgb = textureCube(u_cubeMap, normalize(v_texCoord)).rgb;\ngl_FragColor = vec4(rgb, czm_morphTime);\n}\n"}),r("Scene/SkyBox",["../Core/defaultValue","../Core/BoxGeometry","../Core/Cartesian3","../Core/defined","../Core/destroyObject","../Core/DeveloperError","../Core/Matrix4","../Core/GeometryPipeline","../Core/VertexFormat","../Core/PrimitiveType","../Renderer/loadCubeMap","../Renderer/BufferUsage","../Renderer/DrawCommand","../Renderer/BlendingState","../Scene/SceneMode","../Shaders/SkyBoxVS","../Shaders/SkyBoxFS"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f,v){"use strict";var y=function(t){this.sources=t.sources,this._sources=void 0,this.show=e(t.show,!0),this._command=new d,this._command.owner=this,this._cubeMap=void 0};return y.prototype.update=function(e,n){if(!this.show)return void 0;if(n.mode!==p.SCENE3D&&n.mode!==p.MORPHING)return void 0;if(!n.passes.render)return void 0;if(this._sources!==this.sources){this._sources=this.sources;var d=this.sources;if(!(i(d.positiveX)&&i(d.negativeX)&&i(d.positiveY)&&i(d.negativeY)&&i(d.positiveZ)&&i(d.negativeZ)))throw new o("sources is required and must have positiveX, negativeX, positiveY, negativeY, positiveZ, and negativeZ properties.");if(typeof d.positiveX!=typeof d.negativeX||typeof d.positiveX!=typeof d.positiveY||typeof d.positiveX!=typeof d.negativeY||typeof d.positiveX!=typeof d.positiveZ||typeof d.positiveX!=typeof d.negativeZ)throw new o("sources properties must all be the same type.");"string"==typeof d.positiveX?c(e,this._sources).then(function(e){g._cubeMap=g._cubeMap&&g._cubeMap.destroy(),g._cubeMap=e}):(this._cubeMap=this._cubeMap&&this._cubeMap.destroy(),this._cubeMap=e.createCubeMap({source:d}))}var y=this._command;if(!i(y.vertexArray)){var g=this;y.uniformMap={u_cubeMap:function(){return g._cubeMap}};var _=t.createGeometry(t.fromDimensions({dimensions:new r(2,2,2),vertexFormat:l.POSITION_ONLY})),w=s.createAttributeIndices(_);y.primitiveType=u.TRIANGLES,y.modelMatrix=a.clone(a.IDENTITY),y.vertexArray=e.createVertexArrayFromGeometry({geometry:_,attributeIndices:w,bufferUsage:h.STATIC_DRAW}),y.shaderProgram=e.getShaderCache().getShaderProgram(f,v,w),y.renderState=e.createRenderState({blending:m.ALPHA_BLEND})}return i(this._cubeMap)?y:void 0},y.prototype.isDestroyed=function(){return!1},y.prototype.destroy=function(){var e=this._command;return e.vertexArray=e.vertexArray&&e.vertexArray.destroy(),e.shaderProgram=e.shaderProgram&&e.shaderProgram.release(),this._cubeMap=this._cubeMap&&this._cubeMap.destroy(),n(this)},y}),r("Shaders/SunVS",[],function(){"use strict";return"attribute vec2 direction;\nuniform float u_size;\nvarying vec2 v_textureCoordinates;\nvoid main()\n{\nvec4 position;\nif (czm_morphTime == 1.0)\n{\nposition = vec4(czm_sunPositionWC, 1.0);\n}\nelse\n{\nposition = vec4(czm_sunPositionColumbusView.zxy, 1.0);\n}\nvec4 positionEC = czm_view * position;\nvec4 positionWC = czm_eyeToWindowCoordinates(positionEC);\nvec2 halfSize = vec2(u_size * 0.5);\nhalfSize *= ((direction * 2.0) - 1.0);\ngl_Position = czm_viewportOrthographic * vec4(positionWC.xy + halfSize, -positionWC.z, 1.0);\nv_textureCoordinates = direction;\n}\n"}),r("Shaders/SunFS",[],function(){"use strict";return"uniform sampler2D u_texture;\nvarying vec2 v_textureCoordinates;\nvoid main()\n{\ngl_FragColor = texture2D(u_texture, v_textureCoordinates);\n}\n"}),r("Shaders/SunTextureFS",[],function(){"use strict";return"uniform float u_glowLengthTS;\nuniform float u_radiusTS;\nvarying vec2 v_textureCoordinates;\nvec2 rotate(vec2 p, vec2 direction)\n{\nreturn vec2(p.x * direction.x - p.y * direction.y, p.x * direction.y + p.y * direction.x);\n}\nvec4 addBurst(vec2 position, vec2 direction)\n{\nvec2 rotatedPosition = rotate(position, direction) * vec2(25.0, 0.75);\nfloat radius = length(rotatedPosition);\nfloat burst = 1.0 - smoothstep(0.0, 0.55, radius);\nreturn vec4(burst);\n}\nvoid main()\n{\nvec2 position = v_textureCoordinates - vec2(0.5);\nfloat radius = length(position);\nfloat surface = step(radius, u_radiusTS);\nvec4 color = vec4(1.0, 1.0, surface + 0.2, surface);\nfloat glow = 1.0 - smoothstep(0.0, 0.55, radius);\ncolor.ba += mix(vec2(0.0), vec2(1.0), glow) * 0.75;\nvec4 burst = vec4(0.0);\nburst += 0.4 * addBurst(position, vec2(0.38942, 0.92106));\nburst += 0.4 * addBurst(position, vec2(0.99235, 0.12348));\nburst += 0.4 * addBurst(position, vec2(0.60327, -0.79754));\nburst += 0.3 * addBurst(position, vec2(0.31457, 0.94924));\nburst += 0.3 * addBurst(position, vec2(0.97931, 0.20239));\nburst += 0.3 * addBurst(position, vec2(0.66507, -0.74678));\ncolor += clamp(burst, vec4(0.0), vec4(1.0)) * 0.15;\ngl_FragColor = clamp(color, vec4(0.0), vec4(1.0));\n}\n"}),r("Scene/Sun",["../Core/BoundingSphere","../Core/Cartesian2","../Core/Cartesian3","../Core/Cartesian4","../Core/ComponentDatatype","../Core/defined","../Core/defineProperties","../Core/destroyObject","../Core/Math","../Core/PrimitiveType","../Core/Geometry","../Core/GeometryAttribute","../Core/Color","../Core/BoundingRectangle","../Core/Matrix4","../Renderer/BlendingState","../Renderer/BufferUsage","../Renderer/DrawCommand","../Renderer/PixelFormat","../Renderer/ClearCommand","./SceneTransforms","./SceneMode","../Shaders/SunVS","../Shaders/SunFS","../Shaders/ViewportQuadVS","../Shaders/SunTextureFS"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f,v,y,g,_,w,C,x,S,E,b){"use strict";function T(e){var t=e.cache.viewportQuad_vertexArray;if(o(t))return t;var r=new c({attributes:{position:new h({componentDatatype:n.FLOAT,componentsPerAttribute:2,values:[-1,-1,1,-1,1,1,-1,1]}),textureCoordinates:new h({componentDatatype:n.FLOAT,componentsPerAttribute:2,values:[0,0,1,0,1,1,0,1]})},primitiveType:u.TRIANGLES});return t=e.createVertexArrayFromGeometry({geometry:r,attributeIndices:D,bufferUsage:v.STATIC_DRAW}),e.cache.viewportQuad_vertexArray=t,t}var A=function(){this.show=!0,this._command=new y,this._boundingVolume=new e,this._boundingVolume2D=new e,this._texture=void 0,this._drawingBufferWidth=void 0,this._drawingBufferHeight=void 0,this._radiusTS=void 0,this._size=void 0,this.glowFactor=1,this._glowFactorDirty=!1;var t=this;this._uniformMap={u_texture:function(){return t._texture},u_size:function(){return t._size}}};a(A.prototype,{glowFactor:{get:function(){return this._glowFactor},set:function(e){e=Math.max(e,0),this._glowFactor=e,this._glowFactorDirty=!0}}});var D={position:0,textureCoordinates:1},P=new t,M=new t,I=new i,O=new i;return A.prototype.update=function(i,a){if(!this.show)return void 0;var s=a.mode;if(s===C.SCENE2D||s===C.MORPHING)return void 0;if(!a.passes.render)return void 0;var c=i.getDrawingBufferWidth(),h=i.getDrawingBufferHeight();if(!o(this._texture)||c!==this._drawingBufferWidth||h!==this._drawingBufferHeight||this._glowFactorDirty){this._texture=this._texture&&this._texture.destroy(),this._drawingBufferWidth=c,this._drawingBufferHeight=h,this._glowFactorDirty=!1;var A=Math.max(c,h);A=Math.pow(2,Math.ceil(Math.log(A)/Math.log(2))-2),this._texture=i.createTexture2D({width:A,height:A,pixelFormat:g.RGBA});var R=i.createFramebuffer({colorTexture:this._texture});R.destroyAttachments=!1;var L=new _;L.color=new d(0,0,0,0),L.framebuffer=R;var z=new y;z.owner=this,z.primitiveType=u.TRIANGLE_FAN,z.vertexArray=T(i),z.shaderProgram=i.getShaderCache().getShaderProgram(E,b,D),z.framebuffer=R,z.renderState=i.createRenderState({viewport:new m(0,0,A,A)}),this._glowLengthTS=5*this._glowFactor,this._radiusTS=.5*(1/(1+2*this._glowLengthTS));var N=this;z.uniformMap={u_glowLengthTS:function(){return N._glowLengthTS},u_radiusTS:function(){return N._radiusTS}},L.execute(i),z.execute(i),z.shaderProgram.release(),R.destroy()}var B=this._command;if(!o(B.vertexArray)){var F={direction:0},V=new Uint8Array(8);V[0]=0,V[1]=0,V[2]=255,V[3]=0,V[4]=255,V[5]=255,V[6]=0,V[7]=255;var k=i.createVertexBuffer(V,v.STATIC_DRAW),U=[{index:F.direction,vertexBuffer:k,componentsPerAttribute:2,normalize:!0,componentDatatype:n.UNSIGNED_BYTE}];B.vertexArray=i.createVertexArray(U),B.primitiveType=u.TRIANGLE_FAN,B.shaderProgram=i.getShaderCache().getShaderProgram(x,S,F),B.renderState=i.createRenderState({blending:f.ALPHA_BLEND}),B.uniformMap=this._uniformMap,B.boundingVolume=new e}var W=i.getUniformState().getSunPositionWC(),q=i.getUniformState().getSunPositionColumbusView(),G=this._boundingVolume,H=this._boundingVolume2D;r.clone(W,G.center),H.center.x=q.z,H.center.y=q.x,H.center.z=q.y,G.radius=l.SOLAR_RADIUS+l.SOLAR_RADIUS*this._glowLengthTS,H.radius=G.radius,s===C.SCENE3D?e.clone(G,B.boundingVolume):s===C.COLUMBUS_VIEW&&e.clone(H,B.boundingVolume);var j=w.computeActualWgs84Position(a,W,O),Y=r.magnitude(r.subtract(j,a.camera.position,O)),X=i.getUniformState().getProjection(),Z=I;Z.x=0,Z.y=0,Z.z=-Y,Z.w=1;var J=p.multiplyByVector(X,Z,O),K=w.clipToDrawingBufferCoordinates(i,J,P);Z.x=l.SOLAR_RADIUS;var Q=p.multiplyByVector(X,Z,O),$=w.clipToDrawingBufferCoordinates(i,Q,M);return this._size=Math.ceil(t.magnitude(t.subtract($,K,O))),this._size=2*this._size*(1+2*this._glowLengthTS),B},A.prototype.isDestroyed=function(){return!1},A.prototype.destroy=function(){var e=this._command;return e.vertexArray=e.vertexArray&&e.vertexArray.destroy(),e.shaderProgram=e.shaderProgram&&e.shaderProgram.release(),this._texture=this._texture&&this._texture.destroy(),s(this)},A}),r("Scene/TerrainData",["../Core/DeveloperError"],function(e){"use strict";var t=function(){throw new e("This type should not be instantiated directly.")};return t.prototype.interpolateHeight=function(){throw new e("This type should not be instantiated directly.")},t.prototype.isChildAvailable=function(){throw new e("This type should not be instantiated directly.")},t.prototype.getWaterMask=function(){throw new e("This type should not be instantiated directly.")},t.prototype.createMesh=function(){throw new e("This type should not be instantiated directly.")},t.prototype.upsample=function(){throw new e("This type should not be instantiated directly.")},t.prototype.wasCreatedByUpsampling=function(){throw new e("This type should not be instantiated directly.")},t}),r("Scene/TileCoordinatesImageryProvider",["../Core/defaultValue","../Core/Color","../Core/Event","./GeographicTilingScheme"],function(e,t,r,i){"use strict";var n=function(n){n=e(n,{}),this._tilingScheme=e(n.tilingScheme,new i),this._color=e(n.color,t.YELLOW),this._errorEvent=new r,this._tileWidth=e(n.tileWidth,256),this._tileHeight=e(n.tileHeight,256)};return n.prototype.getProxy=function(){return void 0},n.prototype.getTileWidth=function(){return this._tileWidth},n.prototype.getTileHeight=function(){return this._tileHeight},n.prototype.getMaximumLevel=function(){return void 0},n.prototype.getMinimumLevel=function(){return void 0},n.prototype.getTilingScheme=function(){return this._tilingScheme -},n.prototype.getExtent=function(){return this._tilingScheme.getExtent()},n.prototype.getTileDiscardPolicy=function(){return void 0},n.prototype.getErrorEvent=function(){return this._errorEvent},n.prototype.isReady=function(){return!0},n.prototype.requestImage=function(e,t,r){var i=document.createElement("canvas");i.width=256,i.height=256;var n=i.getContext("2d"),o=this._color.toCssColorString();n.strokeStyle=o,n.lineWidth=2,n.strokeRect(1,1,255,255);var a="L"+r+"X"+e+"Y"+t;return n.font="bold 25px Arial",n.textAlign="center",n.fillStyle="black",n.fillText(a,127,127),n.fillStyle=o,n.fillText(a,124,124),i},n.prototype.getCredit=function(){return void 0},n}),r("Scene/TileDiscardPolicy",["../Core/DeveloperError"],function(e){"use strict";var t=function(){throw new e("This type should not be instantiated directly.")};return t.prototype.isReady=function(){throw new e("This type should not be instantiated directly.")},t.prototype.shouldDiscardImage=function(){throw new e("This type should not be instantiated directly.")},t}),r("Scene/TileMapServiceImageryProvider",["../Core/defaultValue","../Core/defined","../Core/Cartographic","../Core/DeveloperError","../Core/Event","../Core/loadXML","../Core/Extent","./Credit","./ImageryProvider","./WebMercatorTilingScheme","./GeographicTilingScheme"],function(e,t,r,i,n,o,a,s,l,u,c){"use strict";function h(e,r,i,n){var o=e._tilingScheme.getNumberOfYTilesAtLevel(n),a=e._url+n+"/"+r+"/"+(o-i-1)+"."+e._fileExtension,s=e._proxy;return t(s)&&(a=s.getURL(a)),a}var d=/\/$/,m=function(l){if(l=e(l,{}),!t(l.url))throw new i("description.url is required.");var h=l.url;d.test(h)||(h+="/"),this._url=h,this._ready=!1,this._proxy=l.proxy,this._tileDiscardPolicy=l.tileDiscardPolicy,this._errorEvent=new n;var m=l.credit;"string"==typeof m&&(m=new s(m)),this._credit=m;var p=this;o(h+"tilemapresource.xml").then(function(i){var n=i.getElementsByTagName("TileFormat")[0];p._fileExtension=e(l.fileExtension,n.getAttribute("extension")),p._tileWidth=e(l.tileWidth,parseInt(n.getAttribute("width"),10)),p._tileHeight=e(l.tileHeight,parseInt(n.getAttribute("height"),10));var o=i.getElementsByTagName("TileSet");if(p._minimumLevel=e(l.minimumLevel,parseInt(o[0].getAttribute("order"),10)),p._maximumLevel=e(l.maximumLevel,parseInt(o[o.length-1].getAttribute("order"),10)),p._extent=l.extent,t(p._extent))p._extent=a.clone(p._extent);else{var s=i.getElementsByTagName("BoundingBox")[0],h=r.fromDegrees(parseFloat(s.getAttribute("miny")),parseFloat(s.getAttribute("minx"))),d=r.fromDegrees(parseFloat(s.getAttribute("maxy")),parseFloat(s.getAttribute("maxx")));p._extent=new a(h.longitude,h.latitude,d.longitude,d.latitude)}var m=l.tilingScheme;if(!t(m)){var f=i.getElementsByTagName("TileSets")[0].getAttribute("profile");m="geodetic"===f?new c:new u}p._extent.westm.getExtent().east&&(p._extent.east=m.getExtent().east),p._extent.southm.getExtent().north&&(p._extent.north=m.getExtent().north);var v=m.positionToTileXY(p._extent.getSouthwest(),p._minimumLevel),y=m.positionToTileXY(p._extent.getNortheast(),p._minimumLevel),g=(Math.abs(y.x-v.x)+1)*(Math.abs(y.y-v.y)+1);g>4&&(p._minimumLevel=0),p._tilingScheme=m,p._ready=!0},function(){p._fileExtension=e(l.fileExtension,"png"),p._tileWidth=e(l.tileWidth,256),p._tileHeight=e(l.tileHeight,256),p._minimumLevel=e(l.minimumLevel,0),p._maximumLevel=e(l.maximumLevel,18),p._tilingScheme=e(l.tilingScheme,new u),p._extent=e(l.extent,p._tilingScheme.getExtent()),p._ready=!0})};return m.prototype.getUrl=function(){return this._url},m.prototype.getProxy=function(){return this._proxy},m.prototype.getTileWidth=function(){if(!this._ready)throw new i("getTileWidth must not be called before the imagery provider is ready.");return this._tileWidth},m.prototype.getTileHeight=function(){if(!this._ready)throw new i("getTileHeight must not be called before the imagery provider is ready.");return this._tileHeight},m.prototype.getMinimumLevel=function(){if(!this._ready)throw new i("getMinimumLevel must not be called before the imagery provider is ready.");return this._minimumLevel},m.prototype.getMaximumLevel=function(){if(!this._ready)throw new i("getMaximumLevel must not be called before the imagery provider is ready.");return this._maximumLevel},m.prototype.getTilingScheme=function(){if(!this._ready)throw new i("getTilingScheme must not be called before the imagery provider is ready.");return this._tilingScheme},m.prototype.getExtent=function(){if(!this._ready)throw new i("getExtent must not be called before the imagery provider is ready.");return this._extent},m.prototype.getTileDiscardPolicy=function(){if(!this._ready)throw new i("getTileDiscardPolicy must not be called before the imagery provider is ready.");return this._tileDiscardPolicy},m.prototype.getErrorEvent=function(){return this._errorEvent},m.prototype.isReady=function(){return this._ready},m.prototype.requestImage=function(e,t,r){if(!this._ready)throw new i("requestImage must not be called before the imagery provider is ready.");var n=h(this,e,t,r);return l.loadImage(this,n)},m.prototype.getCredit=function(){return this._credit},m}),r("Scene/VRTheWorldTerrainProvider",["../Core/defaultValue","../Core/defined","../Core/loadImage","../Core/loadXML","../Core/getImagePixels","../Core/throttleRequestByServer","../Core/DeveloperError","../Core/Extent","../Core/Math","../Core/Ellipsoid","../Core/Event","./Credit","./TerrainProvider","./TileProviderError","./GeographicTilingScheme","./HeightmapTerrainData","../ThirdParty/when"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f,v){"use strict";function y(e,t){this.extent=e,this.maxLevel=t}function g(e,t,r,i){for(var n=e._tilingScheme,o=e._extents,a=n.tileXYToExtent(t,r,i),s=0,l=0;l0&&"/"!==this._url[this._url.length-1]&&(this._url+="/"),this._errorEvent=new c,this._ready=!1,this._proxy=r.proxy,this._terrainDataStructure={heightScale:.001,heightOffset:-1e3,elementsPerHeight:3,stride:4,elementMultiplier:256,isBigEndian:!0};var g=r.credit;"string"==typeof g&&(g=new h(g)),this._credit=g,this._tilingScheme=void 0,this._extents=[];var _,w=this,C=e(r.ellipsoid,u.WGS84);f()};w.prototype.requestTileGeometry=function(i,s,l,u){if(!this.isReady())throw new a("requestTileGeometry must not be called before isReady returns true.");var c=this._tilingScheme.getNumberOfYTilesAtLevel(l),h=this._url+l+"/"+i+"/"+(c-s-1)+".tif?cesium=true",d=this._proxy;t(d)&&(h=d.getURL(h));var m;if(u=e(u,!0)){if(m=o(h,r),!t(m))return void 0}else m=r(h);var p=this;return v(m,function(e){return new f({buffer:n(e),width:p._heightmapWidth,height:p._heightmapHeight,childTileMask:g(p,i,s,l),structure:p._terrainDataStructure})})},w.prototype.getErrorEvent=function(){return this._errorEvent},w.prototype.getLevelMaximumGeometricError=function(e){if(!this.isReady())throw new a("requestTileGeometry must not be called before isReady returns true.");return this._levelZeroMaximumGeometricError/(1<=0&&aa&&(o+="?");var s=e._parameters;for(var l in s)s.hasOwnProperty(l)&&(o+=l+"="+s[l]+"&");if(r(s.layers)||(o+="layers="+e._layers+"&"),r(s.srs)||(o+="srs=EPSG:4326&"),!r(s.bbox)){var u=e._tilingScheme.tileXYToNativeExtent(t,i,n),c=u.west+","+u.south+","+u.east+","+u.north;o+="bbox="+c+"&"}r(s.width)||(o+="width=256&"),r(s.height)||(o+="height=256&");var h=e._proxy;return r(h)&&(o=h.getURL(o)),o}var h=function d(i){if(i=t(i,{}),!r(i.url))throw new n("description.url is required.");if(!r(i.layers))throw new n("description.layers is required.");this._url=i.url,this._tileDiscardPolicy=i.tileDiscardPolicy,this._proxy=i.proxy,this._layers=i.layers;var l=e(d.DefaultParameters);if(r(i.parameters))for(var c in i.parameters)if(i.parameters.hasOwnProperty(c)){var h=c.toLowerCase();l[h]=i.parameters[c]}this._parameters=l,this._tileWidth=256,this._tileHeight=256,this._maximumLevel=i.maximumLevel;var m=t(i.extent,a.MAX_VALUE);this._tilingScheme=new u({extent:m});var p=i.credit;"string"==typeof p&&(p=new s(p)),this._credit=p,this._errorEvent=new o,this._ready=!0};return h.prototype.getUrl=function(){return this._url},h.prototype.getProxy=function(){return this._proxy},h.prototype.getLayers=function(){return this._layers},h.prototype.getTileWidth=function(){if(!this._ready)throw new n("getTileWidth must not be called before the imagery provider is ready.");return this._tileWidth},h.prototype.getTileHeight=function(){if(!this._ready)throw new n("getTileHeight must not be called before the imagery provider is ready.");return this._tileHeight},h.prototype.getMinimumLevel=function(){if(!this._ready)throw new n("getMinimumLevel must not be called before the imagery provider is ready.");return 0},h.prototype.getMaximumLevel=function(){if(!this._ready)throw new n("getMaximumLevel must not be called before the imagery provider is ready.");return this._maximumLevel},h.prototype.getTilingScheme=function(){if(!this._ready)throw new n("getTilingScheme must not be called before the imagery provider is ready.");return this._tilingScheme},h.prototype.getExtent=function(){if(!this._ready)throw new n("getExtent must not be called before the imagery provider is ready.");return this._tilingScheme.getExtent()},h.prototype.getTileDiscardPolicy=function(){if(!this._ready)throw new n("getTileDiscardPolicy must not be called before the imagery provider is ready.");return this._tileDiscardPolicy},h.prototype.getErrorEvent=function(){return this._errorEvent},h.prototype.isReady=function(){return this._ready},h.prototype.requestImage=function(e,t,r){if(!this._ready)throw new n("requestImage must not be called before the imagery provider is ready.");var i=c(this,e,t,r);return l.loadImage(this,i)},h.prototype.getCredit=function(){return this._credit},h.DefaultParameters=i({service:"WMS",version:"1.1.1",request:"GetMap",styles:"",format:"image/jpeg"}),h}),r("Scene/createTangentSpaceDebugPrimitive",["../Core/defaultValue","../Core/defined","../Core/DeveloperError","../Core/ColorGeometryInstanceAttribute","../Core/GeometryInstance","../Core/GeometryPipeline","../Core/Matrix4","./Primitive","./PerInstanceColorAppearance"],function(e,t,r,i,n,o,a,s,l){"use strict";function u(u){u=e(u,e.EMPTY_OBJECT);var c=[],h=u.geometry;if(!t(h))throw new r("options.geometry is required.");t(h.attributes)&&t(h.primitiveType)||(h=h.constructor.createGeometry(h));var d=h.attributes,m=a.clone(e(u.modelMatrix,a.IDENTITY)),p=e(u.length,1e4);return t(d.normal)&&c.push(new n({geometry:o.createLineSegmentsForVectors(h,"normal",p),attributes:{color:new i(1,0,0,1)},modelMatrix:m})),t(d.binormal)&&c.push(new n({geometry:o.createLineSegmentsForVectors(h,"binormal",p),attributes:{color:new i(0,1,0,1)},modelMatrix:m})),t(d.tangent)&&c.push(new n({geometry:o.createLineSegmentsForVectors(h,"tangent",p),attributes:{color:new i(0,0,1,1)},modelMatrix:m})),c.length>0?new s({geometryInstances:c,appearance:new l({flat:!0,translucent:!1})}):void 0}return u}),r("Scene/sampleTerrain",["../Core/DeveloperError","../Core/defined","../ThirdParty/when"],function(e,t,r){"use strict";function i(e){var t=e.positions,r=e.tilingScheme.tileXYToExtent(e.x,e.y,e.level);return function(e){for(var i=0;ir;r++)c[t[r]]=e});var h={propertychange:!0},d=n&&function(){for(var t=3,r=n.createElement("div"),i=r.getElementsByTagName("i");r.innerHTML="",i[0];);return t>4?t:e}();return{$a:["authenticity_token",/^__RequestVerificationToken(_.*)?$/],n:function(e,t){for(var r=0,i=e.length;i>r;r++)t(e[r])},l:function(e,t){if("function"==typeof Array.prototype.indexOf)return Array.prototype.indexOf.call(e,t);for(var r=0,i=e.length;i>r;r++)if(e[r]===t)return r;return-1},Ua:function(e,t,r){for(var i=0,n=e.length;n>i;i++)if(t.call(r,e[i]))return e[i];return null},ia:function(e,t){var r=u.a.l(e,t);r>=0&&e.splice(r,1)},Va:function(e){e=e||[];for(var t=[],r=0,i=e.length;i>r;r++)0>u.a.l(t,e[r])&&t.push(e[r]);return t},ha:function(e,t){e=e||[];for(var r=[],i=0,n=e.length;n>i;i++)r.push(t(e[i]));return r},ga:function(e,t){e=e||[];for(var r=[],i=0,n=e.length;n>i;i++)t(e[i])&&r.push(e[i]);return r},X:function(e,t){if(t instanceof Array)e.push.apply(e,t);else for(var r=0,i=t.length;i>r;r++)e.push(t[r]);return e},V:function(e,t,r){var i=u.a.l(u.a.Ha(e),t);0>i?r&&e.push(t):r||e.splice(i,1)},extend:function(e,t){if(t)for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);return e},K:t,Da:function(e,t){if(!e)return e;var r,i={};for(r in e)e.hasOwnProperty(r)&&(i[r]=t(e[r],r,e));return i},wa:function(e){for(;e.firstChild;)u.removeNode(e.firstChild)},Vb:function(e){e=u.a.Q(e);for(var t=n.createElement("div"),r=0,i=e.length;i>r;r++)t.appendChild(u.L(e[r]));return t},Ya:function(e,t){for(var r=0,i=e.length,n=[];i>r;r++){var o=e[r].cloneNode(!0);n.push(t?u.L(o):o)}return n},S:function(e,t){if(u.a.wa(e),t)for(var r=0,i=t.length;i>r;r++)e.appendChild(t[r])},nb:function(e,t){var r=e.nodeType?[e]:e;if(0o;o++)n.insertBefore(t[o],i);for(o=0,a=r.length;a>o;o++)u.removeNode(r[o])}},$:function(e,t){if(e.length){for(t=8===t.nodeType&&t.parentNode||t;e.length&&e[0].parentNode!==t;)e.splice(0,1);if(1d?e.setAttribute("selected",t):e.selected=t},la:function(t){return null===t||t===e?"":t.trim?t.trim():t.toString().replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")},ec:function(e,t){for(var r=[],i=(e||"").split(t),n=0,o=i.length;o>n;n++){var a=u.a.la(i[n]);""!==a&&r.push(a)}return r},ac:function(e,t){return e=e||"",t.length>e.length?!1:e.substring(0,t.length)===t},Gb:function(e,t){if(e===t)return!0;if(11===e.nodeType)return!1;if(t.contains)return t.contains(3===e.nodeType?e.parentNode:e);if(t.compareDocumentPosition)return 16==(16&t.compareDocumentPosition(e));for(;e&&e!=t;)e=e.parentNode;return!!e},va:function(e){return u.a.Gb(e,e.ownerDocument.documentElement)},Ra:function(e){return!!u.a.Ua(e,u.a.va)},v:function(e){return e&&e.tagName&&e.tagName.toLowerCase()},r:function(e,t,i){var n=d&&h[t];if(n||"undefined"==typeof a)if(n||"function"!=typeof e.addEventListener){if("undefined"==typeof e.attachEvent)throw Error("Browser doesn't support addEventListener or attachEvent");var o=function(t){i.call(e,t)},s="on"+t;e.attachEvent(s,o),u.a.C.ea(e,function(){e.detachEvent(s,o)})}else e.addEventListener(t,i,!1);else{if(r(e,t)){var l=i;i=function(e,t){var r=this.checked;t&&(this.checked=!0!==t.Ab),l.call(this,e),this.checked=r}}a(e).bind(t,i)}},da:function(e,t){if(!e||!e.nodeType)throw Error("element must be a DOM node when calling triggerEvent");if("undefined"!=typeof a){var o=[];r(e,t)&&o.push({Ab:e.checked}),a(e).trigger(t,o)}else if("function"==typeof n.createEvent){if("function"!=typeof e.dispatchEvent)throw Error("The supplied element doesn't support dispatchEvent");o=n.createEvent(c[t]||"HTMLEvents"),o.initEvent(t,!0,!0,i,0,0,0,0,0,!1,!1,!1,!1,0,e),e.dispatchEvent(o)}else{if("undefined"==typeof e.fireEvent)throw Error("Browser doesn't support triggering events");r(e,t)&&(e.checked=!0!==e.checked),e.fireEvent("on"+t)}},c:function(e){return u.M(e)?e():e},Ha:function(e){return u.M(e)?e.t():e},ma:function(e,t,r){if(t){var i=/\S+/g,n=e.className.match(i)||[];u.a.n(t.match(i),function(e){u.a.V(n,e,r)}),e.className=n.join(" ")}},Ma:function(t,r){var i=u.a.c(r);(null===i||i===e)&&(i="");var o=u.e.firstChild(t);!o||3!=o.nodeType||u.e.nextSibling(o)?u.e.S(t,[n.createTextNode(i)]):o.data=i,u.a.Jb(t)},pb:function(e,t){if(e.name=t,7>=d)try{e.mergeAttributes(n.createElement(""),!1)}catch(r){}},Jb:function(e){d>=9&&(e=1==e.nodeType?e:e.parentNode,e.style&&(e.style.zoom=e.style.zoom))},Hb:function(e){if(d){var t=e.style.width;e.style.width=0,e.style.width=t}},Zb:function(e,t){e=u.a.c(e),t=u.a.c(t);for(var r=[],i=e;t>=i;i++)r.push(i);return r},Q:function(e){for(var t=[],r=0,i=e.length;i>r;r++)t.push(e[r]);return t},cc:6===d,dc:7===d,ja:d,ab:function(e,t){for(var r=u.a.Q(e.getElementsByTagName("input")).concat(u.a.Q(e.getElementsByTagName("textarea"))),i="string"==typeof t?function(e){return e.name===t}:function(e){return t.test(e.name)},n=[],o=r.length-1;o>=0;o--)i(r[o])&&n.push(r[o]);return n},Wb:function(e){return"string"==typeof e&&(e=u.a.la(e))?s&&s.parse?s.parse(e):new Function("return "+e)():null},Na:function(e,t,r){if(!s||!s.stringify)throw Error("Cannot find JSON.stringify(). Some browsers (e.g., IE < 8) don't support it natively, but you can overcome this by adding a script reference to json2.js, downloadable from http://www.json.org/json2.js");return s.stringify(u.a.c(e),t,r)},Xb:function(e,r,i){i=i||{};var o=i.params||{},a=i.includeFields||this.$a,s=e;if("object"==typeof e&&"form"===u.a.v(e))for(var s=e.action,l=a.length-1;l>=0;l--)for(var c=u.a.ab(e,a[l]),h=c.length-1;h>=0;h--)o[c[h].name]=c[h].value;r=u.a.c(r);var d=n.createElement("form");d.style.display="none",d.action=s,d.method="post";for(var m in r)e=n.createElement("input"),e.name=m,e.value=u.a.Na(u.a.c(r[m])),d.appendChild(e);t(o,function(e,t){var r=n.createElement("input");r.name=e,r.value=t,d.appendChild(r)}),n.body.appendChild(d),i.submitter?i.submitter(d):d.submit(),setTimeout(function(){d.parentNode.removeChild(d)},0)}}}(),u.b("utils",u.a),u.b("utils.arrayForEach",u.a.n),u.b("utils.arrayFirst",u.a.Ua),u.b("utils.arrayFilter",u.a.ga),u.b("utils.arrayGetDistinctValues",u.a.Va),u.b("utils.arrayIndexOf",u.a.l),u.b("utils.arrayMap",u.a.ha),u.b("utils.arrayPushAll",u.a.X),u.b("utils.arrayRemoveItem",u.a.ia),u.b("utils.extend",u.a.extend),u.b("utils.fieldsIncludedWithJsonPost",u.a.$a),u.b("utils.getFormFields",u.a.ab),u.b("utils.peekObservable",u.a.Ha),u.b("utils.postJson",u.a.Xb),u.b("utils.parseJson",u.a.Wb),u.b("utils.registerEventHandler",u.a.r),u.b("utils.stringifyJson",u.a.Na),u.b("utils.range",u.a.Zb),u.b("utils.toggleDomNodeCssClass",u.a.ma),u.b("utils.triggerEvent",u.a.da),u.b("utils.unwrapObservable",u.a.c),u.b("utils.objectForEach",u.a.K),u.b("utils.addOrRemoveItem",u.a.V),u.b("unwrap",u.a.c),Function.prototype.bind||(Function.prototype.bind=function(e){var t=this,r=Array.prototype.slice.call(arguments);return e=r.shift(),function(){return t.apply(e,r.concat(Array.prototype.slice.call(arguments)))}}),u.a.f=new function(){function t(t,o){var a=t[i];if(!a||"null"===a||!n[a]){if(!o)return e;a=t[i]="ko"+r++,n[a]={}}return n[a]}var r=0,i="__ko__"+(new Date).getTime(),n={};return{get:function(r,i){var n=t(r,!1);return n===e?e:n[i]},set:function(r,i,n){(n!==e||t(r,!1)!==e)&&(t(r,!0)[i]=n)},clear:function(e){var t=e[i];return t?(delete n[t],e[i]=null,!0):!1},D:function(){return r++ +i}}},u.b("utils.domData",u.a.f),u.b("utils.domData.clear",u.a.f.clear),u.a.C=new function(){function t(t,r){var n=u.a.f.get(t,i);return n===e&&r&&(n=[],u.a.f.set(t,i,n)),n}function r(e){var i=t(e,!1);if(i)for(var i=i.slice(0),n=0;ni;i++)r(t[i])}return e},removeNode:function(e){u.L(e),e.parentNode&&e.parentNode.removeChild(e)}}},u.L=u.a.C.L,u.removeNode=u.a.C.removeNode,u.b("cleanNode",u.L),u.b("removeNode",u.removeNode),u.b("utils.domNodeDisposal",u.a.C),u.b("utils.domNodeDisposal.addDisposeCallback",u.a.C.ea),u.b("utils.domNodeDisposal.removeDisposeCallback",u.a.C.mb),function(){u.a.Fa=function(e){var t;if("undefined"!=typeof a){if(a.parseHTML)t=a.parseHTML(e)||[];else if((t=a.clean([e]))&&t[0]){for(e=t[0];e.parentNode&&11!==e.parentNode.nodeType;)e=e.parentNode;e.parentNode&&e.parentNode.removeChild(e)}}else{var r=u.a.la(e).toLowerCase();for(t=n.createElement("div"),r=r.match(/^<(thead|tbody|tfoot)/)&&[1,"","
"]||!r.indexOf("",""]||(!r.indexOf("",""]||[0,"",""],e="ignored
"+r[1]+e+r[2]+"
","function"==typeof i.innerShiv?t.appendChild(i.innerShiv(e)):t.innerHTML=e;r[0]--;)t=t.lastChild;t=u.a.Q(t.lastChild.childNodes)}return t},u.a.Ka=function(t,r){if(u.a.wa(t),r=u.a.c(r),null!==r&&r!==e)if("string"!=typeof r&&(r=r.toString()),"undefined"!=typeof a)a(t).html(r);else for(var i=u.a.Fa(r),n=0;ni;i++)t(n[i],r)}var r={};return{Ca:function(e){if("function"!=typeof e)throw Error("You can only pass a function to ko.memoization.memoize()");var t=(0|4294967296*(1+Math.random())).toString(16).substring(1)+(0|4294967296*(1+Math.random())).toString(16).substring(1);return r[t]=e,""},ub:function(t,i){var n=r[t];if(n===e)throw Error("Couldn't find any memo with ID "+t+". Perhaps it's already been unmemoized.");try{return n.apply(null,i||[]),!0}finally{delete r[t]}},vb:function(e,r){var i=[];t(e,i);for(var n=0,o=i.length;o>n;n++){var a=i[n].Fb,s=[a];r&&u.a.X(s,r),u.u.ub(i[n].Tb,s),a.nodeValue="",a.parentNode&&a.parentNode.removeChild(a)}},jb:function(e){return(e=e.match(/^\[ko_memo\:(.*?)\]$/))?e[1]:null}}}(),u.b("memoization",u.u),u.b("memoization.memoize",u.u.Ca),u.b("memoization.unmemoize",u.u.ub),u.b("memoization.parseMemoText",u.u.jb),u.b("memoization.unmemoizeDomNodeAndDescendants",u.u.vb),u.xa={throttle:function(e,t){e.throttleEvaluation=t;var r=null;return u.h({read:e,write:function(i){clearTimeout(r),r=setTimeout(function(){e(i)},t)}})},notify:function(e,t){e.equalityComparer="always"==t?null:r}};var c={undefined:1,"boolean":1,number:1,string:1};u.b("extenders",u.xa),u.sb=function(e,t,r){this.target=e,this.qa=t,this.Eb=r,u.s(this,"dispose",this.B)},u.sb.prototype.B=function(){this.Qb=!0,this.Eb()},u.ca=function(){this.F={},u.a.extend(this,u.ca.fn),u.s(this,"subscribe",this.T),u.s(this,"extend",this.extend),u.s(this,"getSubscriptionsCount",this.Lb)};var h="change";u.ca.fn={T:function(e,t,r){r=r||h;var i=new u.sb(this,t?e.bind(t):e,function(){u.a.ia(this.F[r],i)}.bind(this));return this.F[r]||(this.F[r]=[]),this.F[r].push(i),i},notifySubscribers:function(e,t){if(t=t||h,this.cb(t))try{u.i.Wa();for(var r,i=this.F[t].slice(0),n=0;r=i[n];++n)r&&!0!==r.Qb&&r.qa(e)}finally{u.i.end()}},cb:function(e){return this.F[e]&&this.F[e].length},Lb:function(){var e=0;return u.a.K(this.F,function(t,r){e+=r.length}),e},extend:function(e){var t=this;return e&&u.a.K(e,function(e,r){var i=u.xa[e];"function"==typeof i&&(t=i(t,r)||t)}),t}},u.fb=function(e){return null!=e&&"function"==typeof e.T&&"function"==typeof e.notifySubscribers},u.b("subscribable",u.ca),u.b("isSubscribable",u.fb),u.i=function(){var e=[];return{Wa:function(t){e.push(t&&{qa:t,Za:[]})},end:function(){e.pop()},lb:function(t){if(!u.fb(t))throw Error("Only subscribable things can act as dependencies");if(0=0;i--)r(t[i])&&(t[i]._destroy=!0);this.N()},destroyAll:function(t){return t===e?this.destroy(function(){return!0}):t?this.destroy(function(e){return 0<=u.a.l(t,e)}):[]},indexOf:function(e){var t=this();return u.a.l(t,e)},replace:function(e,t){var r=this.indexOf(e);r>=0&&(this.O(),this.t()[r]=t,this.N())}},u.a.n("pop push reverse shift sort splice unshift".split(" "),function(e){u.ba.fn[e]=function(){var t=this.t();return this.O(),this.Xa(t,e,arguments),t=t[e].apply(t,arguments),this.N(),t}}),u.a.n(["slice"],function(e){u.ba.fn[e]=function(){var t=this();return t[e].apply(t,arguments)}}),u.b("observableArray",u.ba);var m="arrayChange";u.xa.trackArrayChanges=function(e){function t(){if(!r){r=!0;var t=e.notifySubscribers;e.notifySubscribers=function(e,r){return r&&r!==h||++n,t.apply(this,arguments)};var o=[].concat(e.t()||[]);i=null,e.T(function(t){if(t=[].concat(t||[]),e.cb(m)){var r;(!i||n>1)&&(i=u.a.ra(o,t,{sparse:!0})),r=i,r.length&&e.notifySubscribers(r,m)}o=t,i=null,n=0})}}if(!e.Xa){var r=!1,i=null,n=0,o=e.T;e.T=e.subscribe=function(e,r,i){return i===m&&t(),o.apply(this,arguments)},e.Xa=function(e,t,o){function a(e,t,r){s.push({status:e,value:t,index:r})}if(r&&!n){var s=[],l=e.length,u=o.length,c=0;switch(t){case"push":c=l;case"unshift":for(t=0;u>t;t++)a("added",o[t],c+t);break;case"pop":c=l-1;case"shift":l&&a("deleted",e[c],c);break;case"splice":t=Math.min(Math.max(0,0>o[0]?l+o[0]:o[0]),l);for(var l=1===u?l:Math.min(t+(o[1]||0),l),u=t+u-2,c=Math.max(l,u),h=2;c>t;++t,++h)l>t&&a("deleted",e[t],t),u>t&&a("added",o[h],t);break;default:return}i=s}}}},u.h=function(t,r,i){function n(){u.a.n(w,function(e){e.B()}),w=[]}function o(){var e=s.throttleEvaluation;e&&e>=0?(clearTimeout(C),C=setTimeout(a,e)):a()}function a(){if(!d){if(g&&g()){if(!m)return _(),h=!0,void 0}else m=!1;d=!0;try{var t=u.a.ha(w,function(e){return e.target});u.i.Wa(function(r){var i;0<=(i=u.a.l(t,r))?t[i]=e:w.push(r.T(o))});for(var i=r?p.call(r):p(),n=t.length-1;n>=0;n--)t[n]&&w.splice(n,1)[0].B();h=!0,s.equalityComparer&&s.equalityComparer(c,i)||(s.notifySubscribers(c,"beforeChange"),c=i,s.notifySubscribers(c))}finally{u.i.end(),d=!1}w.length||_()}}function s(){if(0t;t++)e=e();return e})},u.toJSON=function(e,t,r){return e=u.tb(e),u.a.Na(e,t,r)},i.prototype={save:function(e,t){var r=u.a.l(this.keys,e);r>=0?this.Qa[r]=t:(this.keys.push(e),this.Qa.push(t))},get:function(t){return t=u.a.l(this.keys,t),t>=0?this.Qa[t]:e}}}(),u.b("toJS",u.tb),u.b("toJSON",u.toJSON),function(){u.k={o:function(t){switch(u.a.v(t)){case"option":return!0===t.__ko__hasDomDataOptionValue__?u.a.f.get(t,u.d.options.Ea):7>=u.a.ja?t.getAttributeNode("value")&&t.getAttributeNode("value").specified?t.value:t.text:t.value;case"select":return 0<=t.selectedIndex?u.k.o(t.options[t.selectedIndex]):e;default:return t.value}},na:function(t,r){switch(u.a.v(t)){case"option":switch(typeof r){case"string":u.a.f.set(t,u.d.options.Ea,e),"__ko__hasDomDataOptionValue__"in t&&delete t.__ko__hasDomDataOptionValue__,t.value=r;break;default:u.a.f.set(t,u.d.options.Ea,r),t.__ko__hasDomDataOptionValue__=!0,t.value="number"==typeof r?r:""}break;case"select":""===r&&(r=e),(null===r||r===e)&&(t.selectedIndex=-1);for(var i=t.options.length-1;i>=0;i--)if(u.k.o(t.options[i])==r){t.selectedIndex=i;break}1=l){t&&a.push(r?{key:t,value:r.join("")}:{unknown:t}),t=r=l=0;continue}}else if(58===d){if(!r)continue}else if(47===d&&h&&1"===n.createComment("test").text,a=o?/^\x3c!--\s*ko(?:\s+([\s\S]+))?\s*--\x3e$/:/^\s*ko(?:\s+([\s\S]+))?\s*$/,s=o?/^\x3c!--\s*\/ko\s*--\x3e$/:/^\s*\/ko\s*$/,l={ul:!0,ol:!0};u.e={P:{},childNodes:function(t){return e(t)?r(t):t.childNodes},Z:function(t){if(e(t)){t=u.e.childNodes(t);for(var r=0,i=t.length;i>r;r++)u.removeNode(t[r])}else u.a.wa(t)},S:function(t,r){if(e(t)){u.e.Z(t);for(var i=t.nextSibling,n=0,o=r.length;o>n;n++)i.parentNode.insertBefore(r[n],i)}else u.a.S(t,r)},kb:function(t,r){e(t)?t.parentNode.insertBefore(r,t.nextSibling):t.firstChild?t.insertBefore(r,t.firstChild):t.appendChild(r)},eb:function(t,r,i){i?e(t)?t.parentNode.insertBefore(r,i.nextSibling):i.nextSibling?t.insertBefore(r,i.nextSibling):t.appendChild(r):u.e.kb(t,r)},firstChild:function(r){return e(r)?!r.nextSibling||t(r.nextSibling)?null:r.nextSibling:r.firstChild},nextSibling:function(r){return e(r)&&(r=i(r)),r.nextSibling&&t(r.nextSibling)?null:r.nextSibling},Mb:e,bc:function(e){return(e=(o?e.text:e.nodeValue).match(a))?e[1]:null},ib:function(r){if(l[u.a.v(r)]){var n=r.firstChild;if(n)do if(1===n.nodeType){var o;o=n.firstChild;var a=null;if(o)do if(a)a.push(o);else if(e(o)){var s=i(o,!0);s?o=s:a=[o]}else t(o)&&(a=[o]);while(o=o.nextSibling);if(o=a)for(a=n.nextSibling,s=0;s=u.a.ja&&r in p?(r=p[r],n?t.removeAttribute(r):t[r]=i):n||t.setAttribute(r,i.toString()),"name"===r&&u.a.pb(t,n?"":i.toString())})}},function(){u.d.checked={after:["value","attr"],init:function(t,r,i){function n(){return i.has("checkedValue")?u.a.c(i.get("checkedValue")):t.value}function o(){var e=t.checked,o=d?n():e;if(m&&(!l||e)){var a=u.i.p(r);c?h!==o?(e&&(u.a.V(a,o,!0),u.a.V(a,h,!1)),h=o):u.a.V(a,o,e):u.g.oa(a,i,"checked",o,!0)}}function a(){var e=u.a.c(r());t.checked=c?0<=u.a.l(e,n()):s?e:n()===e}var s="checkbox"==t.type,l="radio"==t.type;if(s||l){var c=s&&u.a.c(r())instanceof Array,h=c?n():e,d=l||c,m=!1;l&&!t.name&&u.d.uniqueName.init(t,function(){return!0}),u.h(o,null,{I:t}),u.a.r(t,"click",o),u.h(a,null,{I:t}),m=!0}}},u.g.U.checked=!0,u.d.checkedValue={update:function(e,t){e.value=u.a.c(t())}}}(),u.d.css={update:function(e,t){var r=u.a.c(t());"object"==typeof r?u.a.K(r,function(t,r){r=u.a.c(r),u.a.ma(e,t,r)}):(r=String(r||""),u.a.ma(e,e.__ko__cssValue,!1),e.__ko__cssValue=r,u.a.ma(e,r,!0))}},u.d.enable={update:function(e,t){var r=u.a.c(t());r&&e.disabled?e.removeAttribute("disabled"):r||e.disabled||(e.disabled=!0)}},u.d.disable={update:function(e,t){u.d.enable.update(e,function(){return!u.a.c(t())})}},u.d.event={init:function(e,t,r,i,n){var o=t()||{};u.a.K(o,function(o){"string"==typeof o&&u.a.r(e,o,function(e){var a,s=t()[o];if(s){try{var l=u.a.Q(arguments);i=n.$data,l.unshift(i),a=s.apply(i,l)}finally{!0!==a&&(e.preventDefault?e.preventDefault():e.returnValue=!1)}!1===r.get(o+"Bubble")&&(e.cancelBubble=!0,e.stopPropagation&&e.stopPropagation())}})})}},u.d.foreach={hb:function(e){return function(){var t=e(),r=u.a.Ha(t);return r&&"number"!=typeof r.length?(u.a.c(t),{foreach:r.data,as:r.as,includeDestroyed:r.includeDestroyed,afterAdd:r.afterAdd,beforeRemove:r.beforeRemove,afterRender:r.afterRender,beforeMove:r.beforeMove,afterMove:r.afterMove,templateEngine:u.J.Aa}):{foreach:t,templateEngine:u.J.Aa}}},init:function(e,t){return u.d.template.init(e,u.d.foreach.hb(t))},update:function(e,t,r,i,n){return u.d.template.update(e,u.d.foreach.hb(t),r,i,n)}},u.g.Y.foreach=!1,u.e.P.foreach=!0,u.d.hasfocus={init:function(e,t,r){function i(i){e.__ko_hasfocusUpdating=!0;var n=e.ownerDocument;if("activeElement"in n){var o;try{o=n.activeElement}catch(a){o=n.body}i=o===e}n=t(),u.g.oa(n,r,"hasfocus",i,!0),e.__ko_hasfocusLastValue=i,e.__ko_hasfocusUpdating=!1}var n=i.bind(null,!0),o=i.bind(null,!1);u.a.r(e,"focus",n),u.a.r(e,"focusin",n),u.a.r(e,"blur",o),u.a.r(e,"focusout",o)},update:function(e,t){var r=!!u.a.c(t());e.__ko_hasfocusUpdating||e.__ko_hasfocusLastValue===r||(r?e.focus():e.blur(),u.i.p(u.a.da,null,[e,r?"focusin":"focusout"]))}},u.g.U.hasfocus=!0,u.d.hasFocus=u.d.hasfocus,u.g.U.hasFocus=!0,u.d.html={init:function(){return{controlsDescendantBindings:!0}},update:function(e,t){u.a.Ka(e,t())}};var f=u.a.f.D();l("if"),l("ifnot",!1,!0),l("with",!0,!1,function(e,t){return e.createChildContext(t)}),u.d.options={init:function(e){if("select"!==u.a.v(e))throw Error("options binding applies only to SELECT elements");for(;0","#comment",n)})},yb:function(e,t){return u.u.Ca(function(r,i){var n=r.nextSibling;n&&n.nodeName.toLowerCase()===t&&u.pa(n,e,i)})}}}(),u.b("__tr_ambtns",u.Oa.yb),function(){u.m={},u.m.j=function(e){this.j=e},u.m.j.prototype.text=function(){var e=u.a.v(this.j),e="script"===e?"text":"textarea"===e?"value":"innerHTML";if(0==arguments.length)return this.j[e];var t=arguments[0];"innerHTML"===e?u.a.Ka(this.j,t):this.j[e]=t};var t=u.a.f.D()+"_";u.m.j.prototype.data=function(e){return 1===arguments.length?u.a.f.get(this.j,t+e):(u.a.f.set(this.j,t+e,arguments[1]),void 0)};var r=u.a.f.D();u.m.W=function(e){this.j=e},u.m.W.prototype=new u.m.j,u.m.W.prototype.text=function(){if(0==arguments.length){var t=u.a.f.get(this.j,r)||{};return t.Pa===e&&t.sa&&(t.Pa=t.sa.innerHTML),t.Pa}u.a.f.set(this.j,r,{Pa:arguments[0]})},u.m.j.prototype.nodes=function(){return 0==arguments.length?(u.a.f.get(this.j,r)||{}).sa:(u.a.f.set(this.j,r,{sa:arguments[0]}),void 0)},u.b("templateSources",u.m),u.b("templateSources.domElement",u.m.j),u.b("templateSources.anonymousTemplate",u.m.W)}(),function(){function t(e,t,r){var i;for(t=u.e.nextSibling(t);e&&(i=e)!==t;)e=u.e.nextSibling(i),r(i,e)}function r(e,r){if(e.length){var i=e[0],n=e[e.length-1],o=i.parentNode,a=u.H.instance,s=a.preprocessNode;if(s){if(t(i,n,function(e,t){var r=e.previousSibling,o=s.call(a,e);o&&(e===i&&(i=o[0]||t),e===n&&(n=o[o.length-1]||r))}),e.length=0,!i)return;i===n?e.push(i):(e.push(i,n),u.a.$(e,o))}t(i,n,function(e){1!==e.nodeType&&8!==e.nodeType||u.Sa(r,e)}),t(i,n,function(e){1!==e.nodeType&&8!==e.nodeType||u.u.vb(e,[r])}),u.a.$(e,o)}}function i(e){return e.nodeType?e:0=o;o++)for(l=s,d.push(s=[]),u=c(p,o+f),a=h(0,o-1);u>=a;a++)s[a]=a?o?e[o-1]===t[a-1]?l[a-1]:c(l[a]||v,s[a-1]||v)+1:a+1:o+1;for(c=[],h=[],f=[],o=m,a=p;o||a;)p=d[o][a]-1,a&&p===d[o][a-1]?h.push(c[c.length]={status:r,value:t[--a],index:a}):o&&p===d[o-1][a]?f.push(c[c.length]={status:i,value:e[--o],index:o}):(--a,--o,n.sparse||c.push({status:"retained",value:t[a]}));if(h.length&&f.length){e=10*m;var y;for(t=r=0;(n.dontLimitMoves||e>t)&&(y=h[r]);r++){for(i=0;d=f[i];i++)if(y.value===d.value){y.moved=d.index,d.moved=y.index,f.splice(i,1),t=i=0;break}t+=i}}return c.reverse()}return function(t,r,i){return i="boolean"==typeof i?{dontLimitMoves:i}:i||{},t=t||[],r=r||[],t.length<=r.length?e(t,r,"added","deleted",i):e(r,t,"deleted","added",i)}}(),u.b("utils.compareArrays",u.a.ra),function(){function t(t,r,i,n,o){var a=[],s=u.h(function(){var e=r(i,o,u.a.$(a,t))||[];0r;r++)t[r]&&u.a.n(t[r].R,function(i){e(i,r,t[r].fa)})}n=n||[],a=a||{};var h=u.a.f.get(i,r)===e,d=u.a.f.get(i,r)||[],m=u.a.ha(d,function(e){return e.fa}),p=u.a.ra(m,n,a.dontLimitMoves),f=[],v=0,y=0,g=[],_=[];n=[];for(var w,C,x,S=[],m=[],E=0;C=p[E];E++)switch(x=C.moved,C.status){case"deleted":x===e&&(w=d[v],w.h&&w.h.B(),g.push.apply(g,u.a.$(w.R,i)),a.beforeRemove&&(n[E]=w,_.push(w))),v++;break;case"retained":l(E,v++);break;case"added":x!==e?l(E,x):(w={fa:C.value,za:u.q(y++)},f.push(w),_.push(w),h||(m[E]=w))}c(a.beforeMove,S),u.a.n(g,a.beforeRemove?u.L:u.removeNode);for(var b,E=0,h=u.e.firstChild(i);w=_[E];E++){for(w.R||u.a.extend(w,t(i,o,w.fa,s,w.za)),v=0;p=w.R[v];h=p.nextSibling,b=p,v++)p!==h&&u.e.eb(i,p,b);!w.Ob&&s&&(s(w.fa,w.R,w.za),w.Ob=!0)}c(a.beforeRemove,n),c(a.afterMove,S),c(a.afterAdd,m),u.a.f.set(i,r,f)}}(),u.b("utils.setDomNodeChildrenFromArrayMapping",u.a.Ja),u.J=function(){this.allowTemplateRewriting=!1},u.J.prototype=new u.w,u.J.prototype.renderTemplateSource=function(e){var t=(9>u.a.ja?0:e.nodes)?e.nodes():null;return t?u.a.Q(t.cloneNode(!0).childNodes):(e=e.text(),u.a.Fa(e))},u.J.Aa=new u.J,u.La(u.J.Aa),u.b("nativeTemplateEngine",u.J),function(){u.Ba=function(){var e=this.Rb=function(){if("undefined"==typeof a||!a.tmpl)return 0;try{if(0<=a.tmpl.tag.tmpl.open.toString().indexOf("__"))return 2}catch(e){}return 1}();this.renderTemplateSource=function(t,r,i){if(i=i||{},2>e)throw Error("Your version of jQuery.tmpl is too old. Please upgrade to jQuery.tmpl 1.0.0pre or later.");var o=t.data("precompiled");return o||(o=t.text()||"",o=a.template(null,"{{ko_with $item.koBindingContext}}"+o+"{{/ko_with}}"),t.data("precompiled",o)),t=[r.$data],r=a.extend({koBindingContext:r},i.templateOptions),r=a.tmpl(o,t,r),r.appendTo(n.createElement("div")),a.fragments={},r},this.createJavaScriptEvaluatorBlock=function(e){return"{{ko_code ((function() { return "+e+" })()) }}"},this.addTemplate=function(e,t){n.write("")},e>0&&(a.tmpl.tag.ko_code={open:"__.push($1 || '');"},a.tmpl.tag.ko_with={open:"with($1) {",close:"} "})},u.Ba.prototype=new u.w;var e=new u.Ba;0r;++r)e.call(t,this[r],r,this)},u=Object.getOwnPropertyNames,c=s?Object.defineProperty:function(e){return e},h=Function.prototype.toString,d=Object.create?Object.create:function(e){function t(){}return t.prototype=e,new t},m=Object.prototype.hasOwnProperty,p=/^\n?function\s?(\w*)?_?\(/,f=function(){function e(){var e=s(),i={};this.unlock=function(n){var o=h(n);if(m.call(o,e))return o[e](i);var a=d(null,t);return c(o,e,{value:new Function("s","l",r)(i,a)}),a}}var t={value:{writable:!0,value:i}},r="return function(k){if(k===s)return l}",o=d(null),s=function(){var e=Math.random().toString(36).slice(2);return e in o?s():o[e]=e},l=s(),h=function(e){if(m.call(e,l))return e[l];if(!Object.isExtensible(e))throw new TypeError("Object must be extensible");var t=d(null);return c(e,l,{value:t}),t};return n(Object,a("getOwnPropertyNames",function(e){var t=u(e);return m.call(e,l)&&t.splice(t.indexOf(l),1),t})),n(e.prototype,a("get",function(e){return this.unlock(e).value})),n(e.prototype,a("set",function(e,t){this.unlock(e).value=t})),e}(),v=function(e){function s(e){return this===t||null==this||this===s.prototype?new s(e):(v(this,new f),g(this,e),void 0)}function u(e){p(e);var t=y(this).get(e);return t===r?i:t}function c(e,t){p(e),y(this).set(e,t===i?r:t)}function h(e){return p(e),y(this).get(e)!==i}function d(e){p(e);var t=y(this),r=t.get(e)!==i;return t.set(e,i),r}function m(){return y(this),"[object WeakMap]"}var p=function(e){if(null==e||"object"!=typeof e&&"function"!=typeof e)throw new TypeError("Invalid WeakMap key")},v=function(t,r){var i=e.unlock(t);if(i.value)throw new TypeError("Object is already a WeakMap");i.value=r},y=function(t){var r=e.unlock(t).value;if(!r)throw new TypeError("WeakMap is not generic");return r},g=function(e,t){null!==t&&"object"==typeof t&&"function"==typeof t.forEach&&t.forEach(function(r,i){r instanceof Array&&2===r.length&&c.call(e,t[i][0],t[i][1])})};u._name="get",c._name="set",h._name="has",m._name="toString";try{var _=("return "+d).replace("e_","\\u0065"),w=new Function("unwrap","validate",_)(y,p)}catch(C){var w=d}var _=(""+Object).split("Object"),x=a("toString",function(){return _[0]+o(this)+_[1]});n(x,x);var S={__proto__:[]}instanceof Array?function(e){e.__proto__=x}:function(e){n(e,x)};return S(s),l.call([m,u,c,h,w],function(e){n(s.prototype,e),S(e)}),s}(new f);e.WeakMap=v}((0,eval)("this"))}),r("ThirdParty/knockout-es5",["./weakmap","exports"],function(e,r){!function(i,n){"use strict";function o(e,t){if(!e)throw new Error("When calling ko.track, you must pass an object as the first parameter.");var r=this,i=a(e,!0);return t=t||Object.getOwnPropertyNames(e),t.forEach(function(t){if(!(t in i)){var o=e[t],a=o instanceof Array,s=r.isObservable(o)?o:a?r.observableArray(o):r.observable(o);Object.defineProperty(e,t,{configurable:!0,enumerable:!0,get:s,set:r.isWriteableObservable(s)?s:n}),i[t]=s,a&&l(r,s)}}),e}function a(e,t){y||(y=_());var r=y.get(e);return!r&&t&&(r={},y.set(e,r)),r}function s(e,t,r){var i=this,n={owner:e,deferEvaluation:!0};if("function"==typeof r)n.read=r;else{if("value"in r)throw new Error('For ko.defineProperty, you must not specify a "value" for the property. You must provide a "get" function.');if("function"!=typeof r.get)throw new Error('For ko.defineProperty, the third parameter must be either an evaluator function, or an options object containing a function called "get".');n.read=r.get,n.write=r.set}return e[t]=i.computed(n),o.call(i,e,[t]),e}function l(e,t){var r=null;e.computed(function(){r&&(r.dispose(),r=null);var i=t();i instanceof Array&&(r=u(e,t,i)) -})}function u(e,t,r){var i=c(e,r);return i.subscribe(t)}function c(e,t){g||(g=_());var r=g.get(t);if(!r){r=new e.subscribable,g.set(t,r);var i={};h(t,r,i),d(e,t,r,i)}return r}function h(e,t,r){["pop","push","reverse","shift","sort","splice","unshift"].forEach(function(i){var n=e[i];e[i]=function(){var e=n.apply(this,arguments);return r.pause!==!0&&t.notifySubscribers(this),e}})}function d(e,t,r,i){["remove","removeAll","destroy","destroyAll","replace"].forEach(function(n){Object.defineProperty(t,n,{enumerable:!1,value:function(){var o;i.pause=!0;try{o=e.observableArray.fn[n].apply(e.observableArray(t),arguments)}finally{i.pause=!1}return r.notifySubscribers(t),o}})})}function m(e,t){if(!e)return null;var r=a(e,!1);return r&&r[t]||null}function p(e,t){var r=m(e,t);r&&r.valueHasMutated()}function f(e){e.track=o,e.getObservable=m,e.valueHasMutated=p,e.defineProperty=s}function v(){if("undefined"!=typeof module){var n=t("knockout"),o=t("weakmap");f(n),_=function(){return new o},module.exports=n}else"ko"in i?(f(i.ko),_=function(){return new i.WeakMap}):"undefined"!=typeof e&&(_=function(){return new e.WeakMap},r.attachToKo=f)}var y,g,_;v()}(this)}),r("Widgets/SvgPathBindingHandler",[],function(){"use strict";var e="http://www.w3.org/2000/svg",t="cesium-svgPath-svg",r={register:function(r){r.bindingHandlers.cesiumSvgPath={init:function(i,n){var o=document.createElementNS(e,"svg:svg");o.setAttribute("class",t);var a=document.createElementNS(e,"path");return o.appendChild(a),r.virtualElements.setDomNodeChildren(i,[o]),r.computed({read:function(){var e=r.unwrap(n());a.setAttribute("d",r.unwrap(e.path));var i=r.unwrap(e.width),s=r.unwrap(e.height);o.setAttribute("width",i),o.setAttribute("height",s),o.setAttribute("viewBox","0 0 "+i+" "+s),e.css&&o.setAttribute("class",t+" "+r.unwrap(e.css))},disposeWhenNodeIsRemoved:i}),{controlsDescendantBindings:!0}}},r.virtualElements.allowedBindings.cesiumSvgPath=!0}};return r}),r("ThirdParty/knockout",["./knockout-3.0.0","./knockout-es5","../Widgets/SvgPathBindingHandler"],function(e,t,r){"use strict";return t.attachToKo(e),r.register(e),e}),r("Widgets/getElement",["../Core/DeveloperError"],function(e){"use strict";var t=function(t){if("string"==typeof t){var r=document.getElementById(t);if(null===r)throw new e('Element with id "'+t+'" does not exist in the document.');t=r}return t};return t}),r("Widgets/subscribeAndEvaluate",["../ThirdParty/knockout"],function(e){"use strict";var t=function(t,r,i,n,o){return i.call(n,t[r]),e.getObservable(t,r).subscribe(i,n,o)};return t}),r("Widgets/Animation/Animation",["../../Core/defined","../../Core/defineProperties","../../Core/destroyObject","../../Core/DeveloperError","../../Core/Color","../getElement","../subscribeAndEvaluate"],function(e,t,r,i,n,o,a){"use strict";function s(e){return n.fromCssColorString(window.getComputedStyle(e).getPropertyValue("color"))}function l(e){var t=document.createElementNS(v,e.tagName);for(var r in e)if(e.hasOwnProperty(r)&&"tagName"!==r)if("children"===r){var i,n=e.children.length;for(i=0;n>i;++i)t.appendChild(l(e.children[i]))}else 0===r.indexOf("xlink:")?t.setAttributeNS(y,r.substring(6),e[r]):"textContent"===r?t.textContent=e[r]:t.setAttribute(r,e[r]);return t}function u(e,t,r){var i=document.createElementNS(v,"text");i.setAttribute("x",e),i.setAttribute("y",t),i.setAttribute("class","cesium-animation-svgText");var n=document.createElementNS(v,"tspan");return n.textContent=r,i.appendChild(n),i}function c(e,t,r){e.setAttribute("transform","translate(100,100) rotate("+r+")"),t.setAttribute("transform","rotate("+r+")")}function h(e,t){var r=t.alpha,i=1-r;return T.red=e.red*i+t.red*r,T.green=e.green*i+t.green*r,T.blue=e.blue*i+t.blue*r,T.toCssColorString()}function d(e,t,r){var i={tagName:"g","class":"cesium-animation-rectButton",transform:"translate("+e+","+t+")",children:[{tagName:"rect","class":"cesium-animation-buttonGlow",width:32,height:32,rx:2,ry:2},{tagName:"rect","class":"cesium-animation-buttonMain",width:32,height:32,rx:4,ry:4},{tagName:"use","class":"cesium-animation-buttonPath","xlink:href":r},{tagName:"title",textContent:""}]};return l(i)}function m(e,t,r){var i={tagName:"g","class":"cesium-animation-rectButton",transform:"translate("+e+","+t+")",children:[{tagName:"use","class":"cesium-animation-buttonGlow","xlink:href":"#animation_pathWingButton"},{tagName:"use","class":"cesium-animation-buttonMain","xlink:href":"#animation_pathWingButton"},{tagName:"use","class":"cesium-animation-buttonPath","xlink:href":r},{tagName:"title",textContent:""}]};return l(i)}function p(e,t){var r=e._viewModel,i=r.shuttleRingDragging;if(!i||f===e)if("mousedown"===t.type||i&&"mousemove"===t.type||"touchstart"===t.type&&1===t.touches.length||i&&"touchmove"===t.type&&1===t.touches.length){var n,o,a=e._centerX,s=e._centerY,l=e._svgNode,u=l.getBoundingClientRect();if("touchstart"===t.type||"touchmove"===t.type?(n=t.touches[0].clientX,o=t.touches[0].clientY):(n=t.clientX,o=t.clientY),!i&&(n>u.right||nu.bottom))return;var c=e._shuttleRingPointer.getBoundingClientRect(),h=n-a-u.left,d=o-s-u.top,m=180*Math.atan2(d,h)/Math.PI+90;m>180&&(m-=360);var p=r.shuttleRingAngle;i||nc.left&&o>c.top&&om?r.slower():m>p&&r.faster(),t.preventDefault()}else f=void 0,r.shuttleRingDragging=!1}var f,v="http://www.w3.org/2000/svg",y="http://www.w3.org/1999/xlink",g=n.fromCssColorString("rgba(247,250,255,0.384)"),_=n.fromCssColorString("rgba(143,191,255,0.216)"),w=n.fromCssColorString("rgba(153,197,255,0.098)"),C=n.fromCssColorString("rgba(255,255,255,0.086)"),x=n.fromCssColorString("rgba(255,255,255,0.267)"),S=n.fromCssColorString("rgba(255,255,255,0)"),E=n.fromCssColorString("rgba(66,67,68,0.3)"),b=n.fromCssColorString("rgba(0,0,0,0.5)"),T=new n,A=function(e,t){this._viewModel=t,this.svgElement=e,this._enabled=void 0,this._toggled=void 0;var r=this;this._clickFunction=function(){var e=r._viewModel.command;e.canExecute&&e()},e.addEventListener("click",this._clickFunction,!0),this._subscriptions=[a(t,"toggled",this.setToggled,this),a(t,"tooltip",this.setTooltip,this),a(t.command,"canExecute",this.setEnabled,this)]};A.prototype.destroy=function(){this.svgElement.removeEventListener("click",this._clickFunction,!0);for(var e=this._subscriptions,t=0,i=e.length;i>t;t++)e[t].dispose();r(this)},A.prototype.isDestroyed=function(){return!1},A.prototype.setEnabled=function(e){if(this._enabled!==e){if(this._enabled=e,!e)return this.svgElement.setAttribute("class","cesium-animation-buttonDisabled"),void 0;if(this._toggled)return this.svgElement.setAttribute("class","cesium-animation-rectButton cesium-animation-buttonToggled"),void 0;this.svgElement.setAttribute("class","cesium-animation-rectButton")}},A.prototype.setToggled=function(e){this._toggled!==e&&(this._toggled=e,this._enabled&&(e?this.svgElement.setAttribute("class","cesium-animation-rectButton cesium-animation-buttonToggled"):this.svgElement.setAttribute("class","cesium-animation-rectButton")))},A.prototype.setTooltip=function(e){this.svgElement.getElementsByTagName("title")[0].textContent=e};var D=function(t,r){if(!e(t))throw new i("container is required.");if(!e(r))throw new i("viewModel is required.");t=o(t),this._viewModel=r,this._container=t,this._centerX=0,this._centerY=0,this._defsElement=void 0,this._svgNode=void 0,this._topG=void 0,this._lastHeight=void 0,this._lastWidth=void 0;var n=document.createElement("style");n.textContent=".cesium-animation-rectButton .cesium-animation-buttonGlow { filter: url(#animation_blurred); }.cesium-animation-rectButton .cesium-animation-buttonMain { fill: url(#animation_buttonNormal); }.cesium-animation-buttonToggled .cesium-animation-buttonMain { fill: url(#animation_buttonToggled); }.cesium-animation-rectButton:hover .cesium-animation-buttonMain { fill: url(#animation_buttonHovered); }.cesium-animation-buttonDisabled .cesium-animation-buttonMain { fill: url(#animation_buttonDisabled); }.cesium-animation-shuttleRingG .cesium-animation-shuttleRingSwoosh { fill: url(#animation_shuttleRingSwooshGradient); }.cesium-animation-shuttleRingG:hover .cesium-animation-shuttleRingSwoosh { fill: url(#animation_shuttleRingSwooshHovered); }.cesium-animation-shuttleRingPointer { fill: url(#animation_shuttleRingPointerGradient); }.cesium-animation-shuttleRingPausePointer { fill: url(#animation_shuttleRingPointerPaused); }.cesium-animation-knobOuter { fill: url(#animation_knobOuter); }.cesium-animation-knobInner { fill: url(#animation_knobInner); }",document.head.insertBefore(n,document.head.childNodes[0]);var s=document.createElement("div");s.className="cesium-animation-theme",s.innerHTML='
',this._theme=s,this._themeNormal=s.childNodes[0],this._themeHover=s.childNodes[1],this._themeSelect=s.childNodes[2],this._themeDisabled=s.childNodes[3],this._themeKnob=s.childNodes[4],this._themePointer=s.childNodes[5],this._themeSwoosh=s.childNodes[6],this._themeSwooshHover=s.childNodes[7];var h=document.createElementNS(v,"svg:svg");this._svgNode=h,h.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xlink",y);var f=document.createElementNS(v,"g");this._topG=f,this._realtimeSVG=new A(m(3,4,"#animation_pathClock"),r.playRealtimeViewModel),this._playReverseSVG=new A(d(44,99,"#animation_pathPlayReverse"),r.playReverseViewModel),this._playForwardSVG=new A(d(124,99,"#animation_pathPlay"),r.playForwardViewModel),this._pauseSVG=new A(d(84,99,"#animation_pathPause"),r.pauseViewModel);var g=document.createElementNS(v,"g");g.appendChild(this._realtimeSVG.svgElement),g.appendChild(this._playReverseSVG.svgElement),g.appendChild(this._playForwardSVG.svgElement),g.appendChild(this._pauseSVG.svgElement);var _=l({tagName:"circle","class":"cesium-animation-shuttleRingBack",cx:100,cy:100,r:99});this._shuttleRingBackPanel=_;var w=l({tagName:"g","class":"cesium-animation-shuttleRingSwoosh",children:[{tagName:"use",transform:"translate(100,97) scale(-1,1)","xlink:href":"#animation_pathSwooshFX"},{tagName:"use",transform:"translate(100,97)","xlink:href":"#animation_pathSwooshFX"},{tagName:"line",x1:100,y1:8,x2:100,y2:22}]});this._shuttleRingSwooshG=w,this._shuttleRingPointer=l({tagName:"use","class":"cesium-animation-shuttleRingPointer","xlink:href":"#animation_pathPointer"});var C=l({tagName:"g",transform:"translate(100,100)"});this._knobOuter=l({tagName:"circle","class":"cesium-animation-knobOuter",cx:0,cy:0,r:71});var x=61,S=l({tagName:"circle","class":"cesium-animation-knobInner",cx:0,cy:0,r:x});this._knobDate=u(0,-24,""),this._knobTime=u(0,-7,""),this._knobStatus=u(0,-41,"");var E=l({tagName:"circle","class":"cesium-animation-blank",cx:0,cy:0,r:x}),b=document.createElementNS(v,"g");b.setAttribute("class","cesium-animation-shuttleRingG"),t.appendChild(s),f.appendChild(b),f.appendChild(C),f.appendChild(g),b.appendChild(_),b.appendChild(w),b.appendChild(this._shuttleRingPointer),C.appendChild(this._knobOuter),C.appendChild(S),C.appendChild(this._knobDate),C.appendChild(this._knobTime),C.appendChild(this._knobStatus),C.appendChild(E),h.appendChild(f),t.appendChild(h);var T=this,D=function(e){p(T,e)};this._mouseCallback=D,_.addEventListener("mousedown",D,!0),_.addEventListener("touchstart",D,!0),w.addEventListener("mousedown",D,!0),w.addEventListener("touchstart",D,!0),document.addEventListener("mousemove",D,!0),document.addEventListener("touchmove",D,!0),document.addEventListener("mouseup",D,!0),document.addEventListener("touchend",D,!0),this._shuttleRingPointer.addEventListener("mousedown",D,!0),this._shuttleRingPointer.addEventListener("touchstart",D,!0),this._knobOuter.addEventListener("mousedown",D,!0),this._knobOuter.addEventListener("touchstart",D,!0);var P,M=this._knobTime.childNodes[0],I=this._knobDate.childNodes[0],O=this._knobStatus.childNodes[0];this._subscriptions=[a(r.pauseViewModel,"toggled",function(e){P!==e&&(P=e,P?T._shuttleRingPointer.setAttribute("class","cesium-animation-shuttleRingPausePointer"):T._shuttleRingPointer.setAttribute("class","cesium-animation-shuttleRingPointer"))}),a(r,"shuttleRingAngle",function(e){c(T._shuttleRingPointer,T._knobOuter,e)}),a(r,"dateLabel",function(e){I.textContent!==e&&(I.textContent=e)}),a(r,"timeLabel",function(e){M.textContent!==e&&(M.textContent=e)}),a(r,"multiplierLabel",function(e){O.textContent!==e&&(O.textContent=e)})],this.applyThemeChanges(),this.resize()};return t(D.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}}),D.prototype.isDestroyed=function(){return!1},D.prototype.destroy=function(){var e=this._mouseCallback;this._shuttleRingBackPanel.removeEventListener("mousedown",e,!0),this._shuttleRingBackPanel.removeEventListener("touchstart",e,!0),this._shuttleRingSwooshG.removeEventListener("mousedown",e,!0),this._shuttleRingSwooshG.removeEventListener("touchstart",e,!0),document.removeEventListener("mousemove",e,!0),document.removeEventListener("touchmove",e,!0),document.removeEventListener("mouseup",e,!0),document.removeEventListener("touchend",e,!0),this._shuttleRingPointer.removeEventListener("mousedown",e,!0),this._shuttleRingPointer.removeEventListener("touchstart",e,!0),this._knobOuter.removeEventListener("mousedown",e,!0),this._knobOuter.removeEventListener("touchstart",e,!0),this._container.removeChild(this._svgNode),this._container.removeChild(this._theme),this._realtimeSVG.destroy(),this._playReverseSVG.destroy(),this._playForwardSVG.destroy(),this._pauseSVG.destroy();for(var t=this._subscriptions,i=0,n=t.length;n>i;i++)t[i].dispose();return r(this)},D.prototype.resize=function(){var e=this._container.clientWidth,t=this._container.clientHeight;if(e!==this._lastWidth||t!==this._lastHeight){var r=this._svgNode,i=200,n=132,o=e,a=t;0===e&&0===t?(o=i,a=n):0===e?(a=t,o=i*(t/n)):0===t&&(o=e,a=n*(e/i));var s=o/i,l=a/n;r.style.cssText="width: "+o+"px; height: "+a+"px; position: absolute; bottom: 0; left: 0; overflow: hidden;",r.setAttribute("width",o),r.setAttribute("height",a),r.setAttribute("viewBox","0 0 "+o+" "+a),this._topG.setAttribute("transform","scale("+s+","+l+")"),this._centerX=Math.max(1,100*s),this._centerY=Math.max(1,100*l),this._lastHeight=e,this._lastWidth=t}},D.prototype.applyThemeChanges=function(){var t=s(this._themeNormal),r=s(this._themeHover),i=s(this._themeSelect),n=s(this._themeDisabled),o=s(this._themeKnob),a=s(this._themePointer),u=s(this._themeSwoosh),c=s(this._themeSwooshHover),d=l({tagName:"defs",children:[{id:"animation_buttonNormal",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-color":h(t,g)},{tagName:"stop",offset:"12%","stop-color":h(t,_)},{tagName:"stop",offset:"46%","stop-color":h(t,w)},{tagName:"stop",offset:"81%","stop-color":h(t,C)}]},{id:"animation_buttonHovered",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-color":h(r,g)},{tagName:"stop",offset:"12%","stop-color":h(r,_)},{tagName:"stop",offset:"46%","stop-color":h(r,w)},{tagName:"stop",offset:"81%","stop-color":h(r,C)}]},{id:"animation_buttonToggled",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-color":h(i,g)},{tagName:"stop",offset:"12%","stop-color":h(i,_)},{tagName:"stop",offset:"46%","stop-color":h(i,w)},{tagName:"stop",offset:"81%","stop-color":h(i,C)}]},{id:"animation_buttonDisabled",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-color":h(n,x)},{tagName:"stop",offset:"75%","stop-color":h(n,S)}]},{id:"animation_blurred",tagName:"filter",width:"200%",height:"200%",x:"-50%",y:"-50%",children:[{tagName:"feGaussianBlur",stdDeviation:4,"in":"SourceGraphic"}]},{id:"animation_shuttleRingSwooshGradient",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-opacity":.2,"stop-color":u.toCssColorString()},{tagName:"stop",offset:"85%","stop-opacity":.85,"stop-color":u.toCssColorString()},{tagName:"stop",offset:"95%","stop-opacity":.05,"stop-color":u.toCssColorString()}]},{id:"animation_shuttleRingSwooshHovered",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-opacity":.2,"stop-color":c.toCssColorString()},{tagName:"stop",offset:"85%","stop-opacity":.85,"stop-color":c.toCssColorString()},{tagName:"stop",offset:"95%","stop-opacity":.05,"stop-color":c.toCssColorString()}]},{id:"animation_shuttleRingPointerGradient",tagName:"linearGradient",x1:"0%",y1:"50%",x2:"100%",y2:"50%",children:[{tagName:"stop",offset:"0%","stop-color":a.toCssColorString()},{tagName:"stop",offset:"40%","stop-color":a.toCssColorString()},{tagName:"stop",offset:"60%","stop-color":h(a,b)},{tagName:"stop",offset:"100%","stop-color":h(a,b)}]},{id:"animation_shuttleRingPointerPaused",tagName:"linearGradient",x1:"0%",y1:"50%",x2:"100%",y2:"50%",children:[{tagName:"stop",offset:"0%","stop-color":"#CCC"},{tagName:"stop",offset:"40%","stop-color":"#CCC"},{tagName:"stop",offset:"60%","stop-color":"#555"},{tagName:"stop",offset:"100%","stop-color":"#555"}]},{id:"animation_knobOuter",tagName:"linearGradient",x1:"20%",y1:"0%",x2:"90%",y2:"100%",children:[{tagName:"stop",offset:"5%","stop-color":h(o,g)},{tagName:"stop",offset:"60%","stop-color":h(o,E)},{tagName:"stop",offset:"85%","stop-color":h(o,_)}]},{id:"animation_knobInner",tagName:"linearGradient",x1:"20%",y1:"0%",x2:"90%",y2:"100%",children:[{tagName:"stop",offset:"5%","stop-color":h(o,E)},{tagName:"stop",offset:"60%","stop-color":h(o,g)},{tagName:"stop",offset:"85%","stop-color":h(o,C)}]},{id:"animation_pathReset",tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-16)",d:"M24.316,5.318,9.833,13.682,9.833,5.5,5.5,5.5,5.5,25.5,9.833,25.5,9.833,17.318,24.316,25.682z"},{id:"animation_pathPause",tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-16)",d:"M13,5.5,7.5,5.5,7.5,25.5,13,25.5zM24.5,5.5,19,5.5,19,25.5,24.5,25.5z"},{id:"animation_pathPlay",tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-16)",d:"M6.684,25.682L24.316,15.5L6.684,5.318V25.682z"},{id:"animation_pathPlayReverse",tagName:"path",transform:"translate(16,16) scale(-0.85,0.85) translate(-16,-16)",d:"M6.684,25.682L24.316,15.5L6.684,5.318V25.682z"},{id:"animation_pathLoop",tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-16)",d:"M24.249,15.499c-0.009,4.832-3.918,8.741-8.75,8.75c-2.515,0-4.768-1.064-6.365-2.763l2.068-1.442l-7.901-3.703l0.744,8.694l2.193-1.529c2.244,2.594,5.562,4.242,9.26,4.242c6.767,0,12.249-5.482,12.249-12.249H24.249zM15.499,6.75c2.516,0,4.769,1.065,6.367,2.764l-2.068,1.443l7.901,3.701l-0.746-8.693l-2.192,1.529c-2.245-2.594-5.562-4.245-9.262-4.245C8.734,3.25,3.25,8.734,3.249,15.499H6.75C6.758,10.668,10.668,6.758,15.499,6.75z"},{id:"animation_pathClock",tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-15.5)",d:"M15.5,2.374C8.251,2.375,2.376,8.251,2.374,15.5C2.376,22.748,8.251,28.623,15.5,28.627c7.249-0.004,13.124-5.879,13.125-13.127C28.624,8.251,22.749,2.375,15.5,2.374zM15.5,25.623C9.909,25.615,5.385,21.09,5.375,15.5C5.385,9.909,9.909,5.384,15.5,5.374c5.59,0.01,10.115,4.535,10.124,10.125C25.615,21.09,21.091,25.615,15.5,25.623zM8.625,15.5c-0.001-0.552-0.448-0.999-1.001-1c-0.553,0-1,0.448-1,1c0,0.553,0.449,1,1,1C8.176,16.5,8.624,16.053,8.625,15.5zM8.179,18.572c-0.478,0.277-0.642,0.889-0.365,1.367c0.275,0.479,0.889,0.641,1.365,0.365c0.479-0.275,0.643-0.887,0.367-1.367C9.27,18.461,8.658,18.297,8.179,18.572zM9.18,10.696c-0.479-0.276-1.09-0.112-1.366,0.366s-0.111,1.09,0.365,1.366c0.479,0.276,1.09,0.113,1.367-0.366C9.821,11.584,9.657,10.973,9.18,10.696zM22.822,12.428c0.478-0.275,0.643-0.888,0.366-1.366c-0.275-0.478-0.89-0.642-1.366-0.366c-0.479,0.278-0.642,0.89-0.366,1.367C21.732,12.54,22.344,12.705,22.822,12.428zM12.062,21.455c-0.478-0.275-1.089-0.111-1.366,0.367c-0.275,0.479-0.111,1.09,0.366,1.365c0.478,0.277,1.091,0.111,1.365-0.365C12.704,22.344,12.54,21.732,12.062,21.455zM12.062,9.545c0.479-0.276,0.642-0.888,0.366-1.366c-0.276-0.478-0.888-0.642-1.366-0.366s-0.642,0.888-0.366,1.366C10.973,9.658,11.584,9.822,12.062,9.545zM22.823,18.572c-0.48-0.275-1.092-0.111-1.367,0.365c-0.275,0.479-0.112,1.092,0.367,1.367c0.477,0.275,1.089,0.113,1.365-0.365C23.464,19.461,23.3,18.848,22.823,18.572zM19.938,7.813c-0.477-0.276-1.091-0.111-1.365,0.366c-0.275,0.48-0.111,1.091,0.366,1.367s1.089,0.112,1.366-0.366C20.581,8.702,20.418,8.089,19.938,7.813zM23.378,14.5c-0.554,0.002-1.001,0.45-1.001,1c0.001,0.552,0.448,1,1.001,1c0.551,0,1-0.447,1-1C24.378,14.949,23.929,14.5,23.378,14.5zM15.501,6.624c-0.552,0-1,0.448-1,1l-0.466,7.343l-3.004,1.96c-0.478,0.277-0.642,0.889-0.365,1.365c0.275,0.479,0.889,0.643,1.365,0.367l3.305-1.676C15.39,16.99,15.444,17,15.501,17c0.828,0,1.5-0.671,1.5-1.5l-0.5-7.876C16.501,7.072,16.053,6.624,15.501,6.624zM15.501,22.377c-0.552,0-1,0.447-1,1s0.448,1,1,1s1-0.447,1-1S16.053,22.377,15.501,22.377zM18.939,21.455c-0.479,0.277-0.643,0.889-0.366,1.367c0.275,0.477,0.888,0.643,1.366,0.365c0.478-0.275,0.642-0.889,0.366-1.365C20.028,21.344,19.417,21.18,18.939,21.455z"},{id:"animation_pathWingButton",tagName:"path",d:"m 4.5,0.5 c -2.216,0 -4,1.784 -4,4 l 0,24 c 0,2.216 1.784,4 4,4 l 13.71875,0 C 22.478584,27.272785 27.273681,22.511272 32.5,18.25 l 0,-13.75 c 0,-2.216 -1.784,-4 -4,-4 l -24,0 z"},{id:"animation_pathPointer",tagName:"path",d:"M-15,-65,-15,-55,15,-55,15,-65,0,-95z"},{id:"animation_pathSwooshFX",tagName:"path",d:"m 85,0 c 0,16.617 -4.813944,35.356 -13.131081,48.4508 h 6.099803 c 8.317138,-13.0948 13.13322,-28.5955 13.13322,-45.2124 0,-46.94483 -38.402714,-85.00262 -85.7743869,-85.00262 -1.0218522,0 -2.0373001,0.0241 -3.0506131,0.0589 45.958443,1.59437 82.723058,35.77285 82.723058,81.70532 z"}]});e(this._defsElement)?this._svgNode.replaceChild(d,this._defsElement):this._svgNode.appendChild(d),this._defsElement=d},D}),r("Widgets/createCommand",["../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/DeveloperError","../Core/Event","../ThirdParty/knockout"],function(e,t,r,i,n,o){"use strict";var a=function(a,s){function l(){if(!l.canExecute)throw new i("Cannot execute command, canExecute is false.");var e,t={args:arguments,cancel:!1};return u.raiseEvent(t),t.cancel||(e=a.apply(null,arguments),c.raiseEvent(e)),e}if(!t(a))throw new i("func is required.");s=e(s,!0);var u=new n,c=new n;return l.canExecute=s,o.track(l,["canExecute"]),r(l,{beforeExecute:{value:u},afterExecute:{value:c}}),l};return a}),r("Widgets/ToggleButtonViewModel",["../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/DeveloperError","../ThirdParty/knockout"],function(e,t,r,i,n){"use strict";var o=function(r,o){if(!t(r))throw new i("command is required.");this._command=r,o=e(o,e.EMPTY_OBJECT),this.toggled=e(o.toggled,!1),this.tooltip=e(o.tooltip,""),n.track(this,["toggled","tooltip"])};return r(o.prototype,{command:{get:function(){return this._command}}}),o}),r("Widgets/Animation/AnimationViewModel",["../../Core/binarySearch","../../Core/ClockStep","../../Core/ClockRange","../../Core/defined","../../Core/defineProperties","../../Core/DeveloperError","../createCommand","../ToggleButtonViewModel","../../ThirdParty/sprintf","../../ThirdParty/knockout"],function(e,t,r,i,n,o,a,s,l,u){"use strict";function c(e){e.clockStep===t.SYSTEM_CLOCK&&(e.clockStep=t.SYSTEM_CLOCK_MULTIPLIER,e.multiplier=1)}function h(e){c(e),e.shouldAnimate=!0}function d(e,t){return e-t}function m(t,r){var i=e(r,t,d);return 0>i?~i:i}function p(e,t){if(Math.abs(e)<=y)return e/y;var r,i,n=y,o=g,a=0;return e>0?(r=Math.log(t[t.length-1]),i=(r-a)/(o-n),Math.exp(a+i*(e-n))):(r=Math.log(-t[0]),i=(r-a)/(o-n),-Math.exp(a+i*(Math.abs(e)-n)))}function f(e,r,i){if(i.clockStep===t.SYSTEM_CLOCK)return y;if(Math.abs(e)<=1)return e*y;var n,o,a=y,s=g,l=0;return e>0?(n=Math.log(r[r.length-1]),o=(n-l)/(s-a),(Math.log(e)-l)/o+a):(n=Math.log(-r[0]),o=(n-l)/(s-a),-((Math.log(Math.abs(e))-l)/o+a))}var v=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],y=15,g=105,_=function(e){if(!i(e))throw new o("clockViewModel is required.");var n=this;this._clockViewModel=e,this._allShuttleRingTicks=[],this._dateFormatter=_.defaultDateFormatter,this._timeFormatter=_.defaultTimeFormatter,this.shuttleRingDragging=!1,this.snapToTicks=!1,u.track(this,["_allShuttleRingTicks","_dateFormatter","_timeFormatter","shuttleRingDragging","snapToTicks"]),this._sortedFilteredPositiveTicks=[],this.setShuttleRingTicks(_.defaultTicks),this.timeLabel=void 0,u.defineProperty(this,"timeLabel",function(){return n._timeFormatter(n._clockViewModel.currentTime,n)}),this.dateLabel=void 0,u.defineProperty(this,"dateLabel",function(){return n._dateFormatter(n._clockViewModel.currentTime,n)}),this.multiplierLabel=void 0,u.defineProperty(this,"multiplierLabel",function(){var e=n._clockViewModel;if(e.clockStep===t.SYSTEM_CLOCK)return"Today";var r=e.multiplier;return 0===r%1?r.toFixed(0)+"x":r.toFixed(3).replace(/0{0,3}$/,"")+"x"}),this.shuttleRingAngle=void 0,u.defineProperty(this,"shuttleRingAngle",{get:function(){return f(e.multiplier,n._allShuttleRingTicks,e)},set:function(e){e=Math.max(Math.min(e,g),-g);var r=n._allShuttleRingTicks,i=n._clockViewModel;if(i.clockStep=t.SYSTEM_CLOCK_MULTIPLIER,Math.abs(e)===g)return i.multiplier=e>0?r[r.length-1]:r[0],void 0;var o=p(e,r);if(n.snapToTicks)o=r[m(o,r)];else if(0!==o){var a=Math.abs(o);if(a>100){var s=a.toFixed(0).length-2,l=Math.pow(10,s);o=0|Math.round(o/l)*l}else a>y?o=Math.round(o):a>1?o=+o.toFixed(1):a>0&&(o=+o.toFixed(2))}i.multiplier=o}}),this._canAnimate=void 0,u.defineProperty(this,"_canAnimate",function(){var e=n._clockViewModel,t=e.clockRange;if(n.shuttleRingDragging||t===r.UNBOUNDED)return!0;var i=e.multiplier,o=e.currentTime,a=e.startTime,s=!1;if(t===r.LOOP_STOP)s=o.greaterThan(a)||o.equals(a)&&i>0;else{var l=e.stopTime;s=o.greaterThan(a)&&o.lessThan(l)||o.equals(a)&&i>0||o.equals(l)&&0>i}return s||(e.shouldAnimate=!1),s}),this._isSystemTimeAvailable=void 0,u.defineProperty(this,"_isSystemTimeAvailable",function(){var e=n._clockViewModel,t=e.clockRange;if(t===r.UNBOUNDED)return!0;var i=e.systemTime;return i.greaterThanOrEquals(e.startTime)&&i.lessThanOrEquals(e.stopTime)}),this._isAnimating=void 0,u.defineProperty(this,"_isAnimating",function(){return n._clockViewModel.shouldAnimate&&(n._canAnimate||n.shuttleRingDragging)});var l=a(function(){var e=n._clockViewModel;e.shouldAnimate?(c(e),e.shouldAnimate=!1):n._canAnimate&&h(e)});this._pauseViewModel=new s(l,{toggled:u.computed(function(){return!n._isAnimating}),tooltip:"Pause"});var d=a(function(){var e=n._clockViewModel;c(e);var t=e.multiplier;t>0&&(e.multiplier=-t),e.shouldAnimate=!0});this._playReverseViewModel=new s(d,{toggled:u.computed(function(){return n._isAnimating&&e.multiplier<0}),tooltip:"Play Reverse"});var v=a(function(){var e=n._clockViewModel;c(e);var t=e.multiplier;0>t&&(e.multiplier=-t),e.shouldAnimate=!0});this._playForwardViewModel=new s(v,{toggled:u.computed(function(){return n._isAnimating&&e.multiplier>0&&e.clockStep!==t.SYSTEM_CLOCK}),tooltip:"Play Forward"});var w=a(function(){var e=n._clockViewModel;e.clockStep=t.SYSTEM_CLOCK,e.multiplier=1,e.shouldAnimate=!0},u.getObservable(this,"_isSystemTimeAvailable"));this._playRealtimeViewModel=new s(w,{toggled:u.computed(function(){return e.shouldAnimate&&e.clockStep===t.SYSTEM_CLOCK}),tooltip:u.computed(function(){return n._isSystemTimeAvailable?"Today (real-time)":"Current time not in range"})}),this._slower=a(function(){var e=n._clockViewModel;c(e);var t=n._allShuttleRingTicks,r=e.multiplier,i=m(r,t)-1;i>=0&&(e.multiplier=t[i])}),this._faster=a(function(){var e=n._clockViewModel;c(e);var t=n._allShuttleRingTicks,r=e.multiplier,i=m(r,t)+1;it;++t)n=e[t],a.hasOwnProperty(n)||(a[n]=!0,s.push(n));s.sort(d);var l=[];for(r=s.length,t=r-1;t>=0;--t)n=s[t],0!==n&&l.push(-n);Array.prototype.push.apply(l,s),this._allShuttleRingTicks=l},n(_.prototype,{slower:{get:function(){return this._slower}},faster:{get:function(){return this._faster}},clockViewModel:{get:function(){return this._clockViewModel}},pauseViewModel:{get:function(){return this._pauseViewModel}},playReverseViewModel:{get:function(){return this._playReverseViewModel}},playForwardViewModel:{get:function(){return this._playForwardViewModel}},playRealtimeViewModel:{get:function(){return this._playRealtimeViewModel}},dateFormatter:{get:function(){return this._dateFormatter},set:function(e){if("function"!=typeof e)throw new o("dateFormatter must be a function");this._dateFormatter=e}},timeFormatter:{get:function(){return this._timeFormatter},set:function(e){if("function"!=typeof e)throw new o("timeFormatter must be a function");this._timeFormatter=e}}}),_._maxShuttleRingAngle=g,_._realtimeShuttleRingAngle=y,_}),r("Widgets/BaseLayerPicker/BaseLayerPickerViewModel",["../../Core/defined","../../Core/defineProperties","../../Core/DeveloperError","../createCommand","../../ThirdParty/knockout"],function(e,t,r,i,n){"use strict";var o=function(t,o){if(!e(t))throw new r("imageryLayers is required");if(e(o)){if(!Array.isArray(o))throw new r("imageryProviderViewModels must be an array")}else o=[];var a=this;this._imageryLayers=t,this.imageryProviderViewModels=o.slice(0),this.dropDownVisible=!1,n.track(this,["imageryProviderViewModels","dropDownVisible"]),this.selectedName=void 0,n.defineProperty(this,"selectedName",function(){var t=a.selectedItem;return e(t)?t.name:void 0}),this.selectedIconUrl=void 0,n.defineProperty(this,"selectedIconUrl",function(){var t=a.selectedItem;return e(t)?t.iconUrl:void 0}),this.selectedItem=void 0;var s=n.observable();this._currentProviders=[],n.defineProperty(this,"selectedItem",{get:function(){return s()},set:function(r){var i,n=a._currentProviders,o=n.length;for(i=0;o>i;i++)for(var l=t.getLength(),u=0;l>u;u++){var c=t.get(u);if(c.getImageryProvider()===n[i]){t.remove(c);break}}if(e(r)){var h=r.creationCommand();if(Array.isArray(h)){var d=h.length;for(i=d-1;i>=0;i--)t.addImageryProvider(h[i],0);a._currentProviders=h.slice(0)}else a._currentProviders=[h],t.addImageryProvider(h,0);s(r)}a.dropDownVisible=!1}}),this._toggleDropDown=i(function(){a.dropDownVisible=!a.dropDownVisible})};return t(o.prototype,{toggleDropDown:{get:function(){return this._toggleDropDown}},imageryLayers:{get:function(){return this._imageryLayers}}}),o}),r("Widgets/BaseLayerPicker/BaseLayerPicker",["../../Core/defined","../../Core/defineProperties","../../Core/destroyObject","../../Core/DeveloperError","../getElement","./BaseLayerPickerViewModel","../../ThirdParty/knockout"],function(e,t,r,i,n,o,a){"use strict";var s=function(t,r,s){if(!e(t))throw new i("container is required.");if(!e(r))throw new i("imageryLayers is required.");t=n(t);var l=new o(r,s),u=document.createElement("button");u.type="button",u.className="cesium-button cesium-toolbar-button",u.setAttribute("data-bind","attr: { title: selectedName },click: toggleDropDown"),t.appendChild(u); -var c=document.createElement("img");c.setAttribute("draggable","false"),c.className="cesium-baseLayerPicker-selected",c.setAttribute("data-bind","attr: { src: selectedIconUrl }"),u.appendChild(c);var h=document.createElement("div");h.className="cesium-baseLayerPicker-dropDown",h.setAttribute("data-bind",'css: { "cesium-baseLayerPicker-visible" : dropDownVisible, "cesium-baseLayerPicker-hidden" : !dropDownVisible },foreach: imageryProviderViewModels'),t.appendChild(h);var d=document.createElement("div");d.className="cesium-baseLayerPicker-item",d.setAttribute("data-bind",'css: { "cesium-baseLayerPicker-selectedItem" : $data === $parent.selectedItem },attr: { title: tooltip },visible: creationCommand.canExecute,click: function($data) { $parent.selectedItem = $data; }'),h.appendChild(d);var m=document.createElement("img");m.className="cesium-baseLayerPicker-itemIcon",m.setAttribute("data-bind","attr: { src: iconUrl }"),m.setAttribute("draggable","false"),d.appendChild(m);var p=document.createElement("div");p.className="cesium-baseLayerPicker-itemLabel",p.setAttribute("data-bind","text: name"),d.appendChild(p),a.applyBindings(l,u),a.applyBindings(l,h),this._viewModel=l,this._container=t,this._element=u,this._choices=h,this._closeDropDown=function(e){u.contains(e.target)||h.contains(e.target)||(l.dropDownVisible=!1)},document.addEventListener("mousedown",this._closeDropDown,!0),document.addEventListener("touchstart",this._closeDropDown,!0)};return t(s.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}}),s.prototype.isDestroyed=function(){return!1},s.prototype.destroy=function(){return document.removeEventListener("mousedown",this._closeDropDown,!0),document.removeEventListener("touchstart",this._closeDropDown,!0),a.cleanNode(this._element),a.cleanNode(this._choices),this._container.removeChild(this._element),this._container.removeChild(this._choices),r(this)},s}),r("Widgets/BaseLayerPicker/ImageryProviderViewModel",["../../Core/defineProperties","../../Core/defined","../../Core/DeveloperError","../createCommand","../../ThirdParty/knockout"],function(e,t,r,i,n){"use strict";var o=function(e){if(!t(e.name))throw new r("description.name is required.");if(!t(e.tooltip))throw new r("description.tooltip is required.");if(!t(e.iconUrl))throw new r("description.iconUrl is required.");if("function"!=typeof e.creationFunction)throw new r("description.creationFunction is required.");var o=e.creationFunction;t(o.canExecute)||(o=i(o)),this._creationCommand=o,this.name=e.name,this.tooltip=e.tooltip,this.iconUrl=e.iconUrl,n.track(this,["name","tooltip","iconUrl"])};return e(o.prototype,{creationCommand:{get:function(){return this._creationCommand}}}),o}),r("Widgets/BaseLayerPicker/createDefaultBaseLayers",["../BaseLayerPicker/ImageryProviderViewModel","../../Core/buildModuleUrl","../../Core/FeatureDetection","../../Core/DefaultProxy","../../Scene/BingMapsImageryProvider","../../Scene/BingMapsStyle","../../Scene/ArcGisMapServerImageryProvider","../../Scene/OpenStreetMapImageryProvider","../../Scene/TileMapServiceImageryProvider"],function(e,t,r,i,n,o,a,s,l){"use strict";function u(){var u=new i("http://cesiumjs.org/proxy/"),c=r.supportsCrossOriginImagery()?void 0:u,h=[];return h.push(new e({name:"Bing Maps Aerial",iconUrl:t("Widgets/Images/ImageryProviders/bingAerial.png"),tooltip:"Bing Maps aerial imagery \nhttp://www.bing.com/maps",creationFunction:function(){return new n({url:"http://dev.virtualearth.net",mapStyle:o.AERIAL,proxy:c})}})),h.push(new e({name:"Bing Maps Aerial with Labels",iconUrl:t("Widgets/Images/ImageryProviders/bingAerialLabels.png"),tooltip:"Bing Maps aerial imagery with label overlays \nhttp://www.bing.com/maps",creationFunction:function(){return new n({url:"http://dev.virtualearth.net",mapStyle:o.AERIAL_WITH_LABELS,proxy:c})}})),h.push(new e({name:"Bing Maps Roads",iconUrl:t("Widgets/Images/ImageryProviders/bingRoads.png"),tooltip:"Bing Maps standard road maps\nhttp://www.bing.com/maps",creationFunction:function(){return new n({url:"http://dev.virtualearth.net",mapStyle:o.ROAD,proxy:c})}})),h.push(new e({name:"ESRI World Imagery",iconUrl:t("Widgets/Images/ImageryProviders/esriWorldImagery.png"),tooltip:"World Imagery provides one meter or better satellite and aerial imagery in many parts of the world and lower resolution satellite imagery worldwide. The map includes NASA Blue Marble: Next Generation 500m resolution imagery at small scales (above 1:1,000,000), i-cubed 15m eSAT imagery at medium-to-large scales (down to 1:70,000) for the world, and USGS 15m Landsat imagery for Antarctica. The map features 0.3m resolution imagery in the continental United States and 0.6m resolution imagery in parts of Western Europe from DigitalGlobe. In other parts of the world, 1 meter resolution imagery is available from GeoEye IKONOS, i-cubed Nationwide Prime, Getmapping, AeroGRID, IGN Spain, and IGP Portugal. Additionally, imagery at different resolutions has been contributed by the GIS User Community.\nhttp://www.esri.com",creationFunction:function(){return new a({url:"http://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer",proxy:u})}})),h.push(new e({name:"ESRI World Street Map",iconUrl:t("Widgets/Images/ImageryProviders/esriWorldStreetMap.png"),tooltip:"This worldwide street map presents highway-level data for the world. Street-level data includes the United States; much of Canada; Japan; most countries in Europe; Australia and New Zealand; India; parts of South America including Argentina, Brazil, Chile, Colombia, and Venezuela; Ghana; and parts of southern Africa including Botswana, Lesotho, Namibia, South Africa, and Swaziland.\nhttp://www.esri.com",creationFunction:function(){return new a({url:"http://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer",proxy:u})}})),h.push(new e({name:"ESRI National Geographic",iconUrl:t("Widgets/Images/ImageryProviders/esriNationalGeographic.png"),tooltip:"This web map contains the National Geographic World Map service. This map service is designed to be used as a general reference map for informational and educational purposes as well as a basemap by GIS professionals and other users for creating web maps and web mapping applications.\nhttp://www.esri.com",creationFunction:function(){return new a({url:"http://services.arcgisonline.com/ArcGIS/rest/services/NatGeo_World_Map/MapServer/",proxy:u})}})),h.push(new e({name:"Open­Street­Map",iconUrl:t("Widgets/Images/ImageryProviders/openStreetMap.png"),tooltip:"OpenStreetMap (OSM) is a collaborative project to create a free editable map of the world.\nhttp://www.openstreetmap.org",creationFunction:function(){return new s({url:"http://tile.openstreetmap.org/",proxy:c})}})),h.push(new e({name:"Stamen Watercolor",iconUrl:t("Widgets/Images/ImageryProviders/stamenWatercolor.png"),tooltip:"Reminiscent of hand drawn maps, Stamen watercolor maps apply raster effect area washes and organic edges over a paper texture to add warm pop to any map.\nhttp://maps.stamen.com",creationFunction:function(){return new s({url:"http://tile.stamen.com/watercolor/",credit:"Map tiles by Stamen Design, under CC BY 3.0. Data by OpenStreetMap, under CC BY SA.",proxy:c})}})),h.push(new e({name:"Stamen Toner",iconUrl:t("Widgets/Images/ImageryProviders/stamenToner.png"),tooltip:"A high contrast black and white map.\nhttp://maps.stamen.com",creationFunction:function(){return new s({url:"http://tile.stamen.com/toner/",credit:"Map tiles by Stamen Design, under CC BY 3.0. Data by OpenStreetMap, under CC BY SA.",proxy:c})}})),h.push(new e({name:"MapQuest Open­Street­Map",iconUrl:t("Widgets/Images/ImageryProviders/mapQuestOpenStreetMap.png"),tooltip:"OpenStreetMap (OSM) is a collaborative project to create a free editable map of the world.\nhttp://www.openstreetmap.org",creationFunction:function(){return new s({url:"http://otile1.mqcdn.com/tiles/1.0.0/osm/",proxy:c})}})),h.push(new e({name:"The Black Marble",iconUrl:t("Widgets/Images/ImageryProviders/blackMarble.png"),tooltip:"The lights of cities and villages trace the outlines of civilization in this global view of the Earth at night as seen by NASA/NOAA's Suomi NPP satellite.",creationFunction:function(){return new l({url:"http://cesiumjs.org/blackmarble",maximumLevel:8,credit:"Black Marble imagery courtesy NASA Earth Observatory",proxy:c})}})),h.push(new e({name:"Natural Earth II",iconUrl:t("Widgets/Images/ImageryProviders/naturalEarthII.png"),tooltip:"Natural Earth II, darkened for contrast.\nhttp://www.naturalearthdata.com/",creationFunction:function(){return new l({url:t("Assets/Textures/NaturalEarthII")})}})),h}return u}),r("Widgets/CesiumWidget/CesiumWidget",["../../Core/buildModuleUrl","../../Core/Cartesian3","../../Core/Clock","../../Core/DefaultProxy","../../Core/defaultValue","../../Core/defined","../../Core/defineProperties","../../Core/destroyObject","../../Core/DeveloperError","../../Core/Ellipsoid","../../Core/Event","../../Core/FeatureDetection","../../Core/requestAnimationFrame","../../Core/ScreenSpaceEventHandler","../../Scene/BingMapsImageryProvider","../../Scene/CentralBody","../../Scene/Credit","../../Scene/Moon","../../Scene/Scene","../../Scene/SceneMode","../../Scene/SceneTransitioner","../../Scene/SkyAtmosphere","../../Scene/SkyBox","../../Scene/Sun","../getElement"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f,v,y,g,_,w,C,x,S,E){"use strict";function b(t){return e("Assets/Textures/SkyBox/tycho2t3_80_"+t+".jpg")}function T(e){function t(){if(!e.isDestroyed())try{e._useDefaultRenderLoop?(e.resize(),e.render(),d(t)):e._renderLoopRunning=!1}catch(r){e._useDefaultRenderLoop=!1,e._renderLoopRunning=!1,e._renderLoopError.raiseEvent(e,r),e._showRenderLoopErrors&&(e.showErrorPanel("An error occurred while rendering. Rendering has stopped.",r),console.error(r))}}e._renderLoopRunning=!0,d(t)}var A="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHYAAAAaCAYAAABikagwAAAAAXNSR0IArs4c6QAAAAlwSFlzAAAN1wAADdcBQiibeAAAAAd0SU1FB9wGGRQyF371QVsAABOHSURBVGje7Vp5cFTHmf91v2Nm3owGnYMuEEJCOBiEjDlsDMYQjGMOOwmXcWxiLywpJ9iuTXZd612corJssFOxi8LerXizxEGUvWsivNxxHHCQ8WYBYSFzmUMCCXQjaUajOd/V+4f6Kc14kI/KZv/xq+p6M/PmO15/9/c1wa0vwpcMQAHgBuAFoPG7mz8jAGwASQBxADFhJQGYACwAjK+vrr/AJQ8jVMqfuwH4AGQByAaQnTNqXGHWqHGFbq8/g1BJsgw9GQ12Bds/qWsxEvEeAEEAfQDCAKKCgPGVcP//BOsIVQHgAZAJIACgsHTqvDvK7150T2bR2DFaZm6W4slwUypR20yaiUg4OtDbcaP36rlPPt6/7f2B3q5mAB0AeriAE18J9y93kVu4X4W73BwAhQBK5v/gZ98ZVXXvDG92IJMx569MQDEoK0tPmOHu1s4L7799sH7vtvcAXAPQCaCfu2qLu+7h+Eh3sS8Bcyt48iVgPos2+4J7jS+BIx2etDBSynfH/Xq46y0CUL70n3/zXMmUuXepWoZHFCQhFIQARCBFJYV6/Nn+QHnVBH9Ovq/51JFWADpfJhcqEzyDcx9ukTTr/xr2VnDpng0nuHR0h1u3wvWF6EspgBIAFYAfQAGAsuU/rfm7kePvvJ0QiTj6QSgBISS9ujEGSikkxaXklIwfK8uK2Xru2HVurWKspZyezGmmWwp/LqVsupPQub4grPQ5YIejKQvPJAGflLLJSBGmxPEqKXhU4XdJEBq7BR5Z+L+DKx3MTTHWEaybx9WCud/btCJQMeX2Qevk+NPoks0YPArF/RUj0NyXxOmO2CAy1a1OmL9yUVfTmatXTx52EildYFQVNlgRmBR1xQJgCBbPBAVUhcw8lTObLz0FVk4RIEmJJyJNZzFBiCTFBRL+f50rriFUATRFiZSU/XYEAw6X5LlIUghZqXvl5p8pfycRZsgjymlKGw1Adm7JbRUVs785nwGghP5pp9mfFMOxWstmuC3gwdcrRqA/buJUWwyKRMAYgydrZNZt9337623njn+ixyN9nAmdM5nBvYOPfxc3mnEmTQ4T5VZv8hfz8aUKnocJd5tvVhxAhOMADzNefleFjRUFa/D/xzi8LQhIEpTG4VXnNBzlZYISufk7juCfqaAoLkHYcZ6HBAEM8O+ObJz3HcFDpJfDJwWYfiHMMTklviocKHv6I3+zRFLdKhEEatmALBFIBIibNhQ6KFyJEjT2JHDoUj/a+nVIVIBhBGOnzptWXzhmTFfT2TZBOH4AgSeeeGJqRUVFqdfr9btcLnVQXwapmqZpJZPJRCgUCh47duzie++9dwWAXl5enrlp06bF0WhUM01TYYwRrmg2vzNKqS3Lsunz+Yy6urpTP//5z09blkVLSkryVq9ePT03NzegqqqbUnqTGyOEMNM0k319fX2///3vz9bW1l4DYD700EPFy5Ytm65pmvbBBx9c2rp166Wnnnqq7MEHH5zAGIu8/vrr+w8ePPgJVwrRO2gAcg8cOLA2mUx62tvbB9avX39s+fLlo++///5JXNiwbXugpqam9tChQ2cEj6NzuQwlsi+//PKSzMzMQtu2qcfjMZqbm09v2LDht4J3sQEQOU2Jo8mKKzt7VEU5lSgFBi3PZkBZrgv3lGbCo1Jc7I7iSGN40JcQgoGkhXdO94ESQJEoGI+1k/M9mDKqQHEv++akl186e45rNAAE3njjjccWLFhwfyAQyJEkiabGbcc7JJNJva2trX3Lli3vvPbaa+eKi4uLV6xY8d10cf5TcZ8x5OXl5b366qs9lFLtrbfeWldVVXW7pmkuxhjS0SSEIJlMGitXrrz2/PPPv1lTU3NtypQp0x955JG/kmVZdrlcR7du3WrOnTt33pIlS+YDwNGjR68ePHiwjVtukm+wI9ichQsXPgUAHR0d3evXr78xc+bMu9asWbOQUjpENz8/v/jQoUP/IiiH40UzAeQvW7Zs1rp16/7a5/NpDr/19fWlGzZsOM4tNsphkc5iPaXTvl6uuDUvY4MZLwNQ4Ffw+LR8+KQQTCuJSQUFcMsEe88FoSkSKCFwyWSISQbg9pEefHdGAJHIdUydVjFecL3K448/Pm3hwoUPBAKBHFGIlmU5pRCRpMGEze12q2PHjh2zatWqeTt37gwODAxkOQIJhUJ6Y2Njn6IojFJqE0KYsGyPx0POnTvXnUgkfGvXrr1j5syZU7iFsKampv5YLBZ34GzbJgAwatSo7MzMTE95eXnZT37yk0dramr+PRQKZSQSCdPn88nBYNADID8UCmkAYBiGGQ6Hna6cksbdZliWZUuSRKPRKAAUBINBfywWM30+n+yEtenTp9+5YsWKGTt37oxwz+a44RwARc8+++xSr9eriQrY398v8311CUncTTHN0Q7Vl1OQJymq4iBwyxQPT8qDVwri1d1/i8ttp/AP39mOBeMn41pQx9mOGFSZ3qT52ZqMR6aMRGvXKfzbgX9Ea3PnSLEdOWXKlK/5/X4/AFy8ePHG6tWr90QikS5VVaOEEIsxRhljngcffLBi8+bNjxBCUFJSMrKkpMRvGIbboXP27Nn+2bNn/3cgEIgSQmKEEAOARQixKKVxRVEioVAoYtu2dMcdd4x24Hbv3t3+ox/96ONoNBqklMa4ppNkMinNnz8///nnn6/y+Xw0mUxaANy6rrsdl28YhguAX9d1F98jwn9TUjJkJ5N1DWV0ti0ByDAMw+PsbzQatX0+Hy0oKMhcvnz5nP3791+IxWJRIUaPfO655+ZVVlaOA4BoNGprmkZ5uJJThZouKyYAqOrWVEKoE7cwszQDlQUK3jr8S5y++iEIIXh55/fwylOH8e3KHHSEdfQnLFBuRbJEsLQyF27Sh3eO/iuudV+EaSuqkJF6MjMzs9xutwIAv/rVr06eOHHiEwCtPBHQOaPaxYsXLxcXF8cKCwtzOzo6+ltbW4OFhYU+h2nDMAgAqbu7W8xkLSEBcsos1bbtocZIIBBQs7Ky5Pb2dkvXdV1wfaipqemsqak5yF1bFABljNEU4Sj87nia1LKHCJWGLLh6AkDhiksAoLq6um/VqlWZWVlZ8gMPPHDHwoULK2tqasJcYJ7y8vKyb33rW/f4/X43YwybNm26vnnz5pIUb0tvVe44maSVjEfizDJtmwFlOS4srczGiQvv4ncnd4ASAkIo+mN92LLrB/j7Vb/GQxOz8Z/1PTDsQXc6p3QEqopU7Dr6S5y8fAiKpCKhs6SQSUqyLKsO4d7e3j4AvbxD1csFQQF4EolEaP369TVCFjuiqKiogG8w5s6dm8sY++ZwcfbZZ5/dvHXr1isnT55scVz+rFmz8urr6xc4Ls22bZZIJExd181oNGr09PREDx06dPmFF144Ho/HTVGIjiE4guECoyl1LYTPcppGEAghDAAikUjixRdfbHnppZfKfD6fa82aNfMOHz7cHgwGbwBwr1ix4u677rqrgsfU4I4dO66lCPZTXSkqpOaMa60e7mjuosw0RmYoWHf3SLT3NOKt91+CbsZBeOlDCcX5luP4rw9fw4wSH+4p9cMlU3xtpAfLJmej/vIR7PnjLyDRwXeKhoxubokWAOYkDXxTLE5brB11oTZMCrWoNQgymJwZhsHC4bAZjUaNaDRqxGIx3VnxeDzJky8TQGLHjh3n9u3bd6ytrS3U2dkZ6e3tjfX398cHBgYS8XjcIIQQr9frKioq8ldWVhb88Ic/vHfbtm3zAXhs25aHUx7uEt1COeXEXM3JfAWLvWnSxRhLbNu2rampqSlMCME3vvGNyXPmzKkCUFZeXn776tWr72WMwbZtvPDCCx+5XK6wo6BcOdhwQ4Chuu/KR39onDGS9T80u9ivkgiqD/0UbT2NcKvelMaEhXfrqlGaPwEPT5qH0lwvqopcaOtpxPb3/gmGmYBEFRBC0HUlfp67tQQALxMKYsaYU+tlcSadNN8NIOO+++4bnZ2d7Q+Hw+zIkSNJxtiQ9TQ1NUW3bNnSmJWVlZBlWaeUWs5SVTUxYsSIRF1dXScAwzTN2MMPP7w3Pz//ZFVVVUFubq7L6/VKmqZRl8ulKIriVlVVmz59ev6cOXMCLpeLLliwYDyAOpGm08SglA659mQy6eHTrwiPtRYXbi6vP2/yjI61AoDL5Ur09vZ2bt++/ezGjRvvppSSjRs3Lti9e/fvnnzyyfHjx48fyRjDwYMHL9TW1jYWFhZ6xfIs3UhUTlPQRwGE9Gv/c/ba9YGi2rPv0FONf/iUUB3Lj8SDqD60GYtmdGBcYSVOnL+K39b9Gp19zVDkwZzBSpLY9Qv9Z3lKHgOgmaYZd9zg1KlTS994441L3G3lcD6oo/1btmxZFwgEctrb27vWrFlzwLIs2cmKW1pa4q+//vp1AbchdIKiPGZHAJDFixcHpk+ffnsoFNLefvvt3ra2Nl0YSDhdt4zy8vLwsWPHsl0ul6ooigSACuEZXKBJwzAMxhhUVZW8Xm8uH5hQ3mCwOf95VVVVYx03yQVhUEpNQbBxADfefPPN6NKlS8dUVlYWVlZW5r344osz1q1bV8IYQzAYjFVXV5+IxWIdkiTlpfDCUgcC6Sw2CqBvw4ZN+7/9d+Wzo1avT5HU9N1tMpj4dfU14z/efxletx9xPYpIPAhVccO2bVBKcf189I/h3mSLkBi5b9y40RWLxZJer9f12GOPTa6oqMjq6enpJYQYlFLGyx21tLQ0MGnSpDGEECQSCZMQIjuNCF6aqI8++mheVlZWJrdYkzcoLEVREj6fL1FfX39x165dzfPnzy/7/ve/v1LXdWvlypVde/bsuRKLxQyn1LEsS2aMeebNm1fs8/lkxhgsy7IAJBRF0Yc2TZZ1AANNTU0djoJt2rRpzqxZs/K6urq6JUnSCSHMMAxZ07SsxYsXV1JKCWMMAwMDMQBhVVWTjtU6gr1y5Yq1d+/ej8aNG5eraZr6zDPPjPV4PBJjDLW1ted27dr1MYCYqqpDcpMkyRIaEyydxToxNgagr7e3t+XEe0rNxPkjnvhTznNr4Sb0KBL6YO9BovJQnRXptTqaPgr9wTLsDgAhTkOurq4+unz58vs1TRvl9/vVuXPnljHGxgqxw2GcEjLYJLlw4cKV06dPd06bNo04+MePH+/ftm3bNNG1iW5KVVVl//79ew4cONC8d+/ey88884ysKIp85513jpo8eXJh2pHX4EUIITh58uRFAN1utzvHcb0ejycGoKuurk5vbW29u7i4ODB69OisJ5988i4xxDhsKIoiEUJgmqZ94MCBOgBdmqaVODxrmhbhiaP+4x//+N2lS5dOmjBhwhiPxyMBQFdXV191dfX7tm23AdBdLtdQzFYUxWmb3iRcmqbh7vQfOz9+v/PdjvP6kcHuE288MJZWuM4Smw1mgkQvHw/v6Wga+BjADY53AEDfmTNnLq9du/Znp06datB13RA3ROwGmaZphcPhgX379v326aefftO27Tafz9fJGGOmadqMMSbLMpEkiaZbjDFommYQQsK1tbWNr7zyymvhcLifEIJbwRBCmGVZ1vHjxz9atGjRLwA0Z2dndzpdHb/fHwTQcuLEiYann3761fPnz3+i67pBCCGUUkoIofwjpZQS27ZZd3f3ja1bt1Zv3LhxL4CrmZmZPYQQkxCCjIyMEIB2AG0Amrdv3/6beDweNwzD1nXdPHXq1Indu3cf48+7MjIyupw98ng8EW4wCWH4kHbQLgsnJ4oAlN332Ji1hbeps6lEaLohQLrhQCJi9zcei77TcLh9H4CrALp4rLN5LBvBE4scAP6JEyfmBQIBL6VUopSCMcYGBgYSly5dCvX19YW5QkQAmD6fz3PvvfeWxmIxr2EYHqFXPBRrKKWWJEmG1+uNtbW1dTU0NNzgz7wA/OXl5bkFBQV+XsYQwVpZMpk0jh8/3snpRQCYo0aN8k6YMCHX5XLRa9euBRsaGnr4Jnp458c7ceLEbK/X6xL5MQzDbGhoCNq2HeO4YgBYWVmZv6KiIkdVVbS0tHQ3NDR0CsORrDlz5oyllHoYY3p9ff31cDjczeGhaVrGkiVLSg3DkLu7u/s+/PDDFn4UKeJYLhnmAJvGs9QCAKOnLMhfNHqSNl/LlHOpTORbWa4et2ORXqv1wgf9NVfO9B7nTYcuPvlICq02t9CJ8ggjOJomodOF0ZQtHNvxCC08pBnbmcIhO53jdA7mpXaKUkOSWGoxYaaKlIa7IozT0uET+XDGehDGhhBGb6bTmBHezeb8OyNPCPQk/ptzeHConCSfcZDNI1hWQXaBVl5254hZmSPVce4MKUdxEQ+VJMnUbcNIWJFoyOzoa02eOX2k+yg/79TFNWkgZchOUobe4vA63WzUEmpYsa+dCoM0Izgz5aQkTUOPpGvUpKFJBaUR8Q03cLdT8NkppyEgPGOCYcnCiNASsn2SwrstDA2Gxnbkc5xSdHGrcmaBWYoqZ+YUe4pcXuqXJCobupWIhaze3vZohzAfdOaKN2mSwPxwR0ZSZ6uptZoIN9yxFCYIiqV5v3THStgwNNPhvtXxFgzDP9K8q52Cj6ZRNnaLffoUDfI5zhVLgrvxCN0Ux5URYXYYF84Wf2qqf4uDV591ZuiLHir7c8F+mZOU5M+Iazg8n3mYjnxORkV3I6dxg6KrMQW3Yaexlq+uv8D1v2IL+t4z3B/NAAAAAElFTkSuQmCC",D=function(e,a){if(!o(e))throw new l("container is required.");e=E(e),a=n(a,{});var s=document.createElement("div");s.className="cesium-widget",e.appendChild(s),this._element=s;try{var d="http://www.w3.org/2000/svg",T=document.createElementNS(d,"svg");T.style.display="none",s.appendChild(T);var D=document.createElement("canvas");D.oncontextmenu=function(){return!1},D.onselectstart=function(){return!1},s.appendChild(D);var P=document.createElement("div");P.className="cesium-widget-credits",s.appendChild(P);var M=new g(D,a.contextOptions,P);M.getCamera().controller.constrainedAxis=t.UNIT_Z;var I=u.WGS84,O=M.getFrameState().creditDisplay,R=new v("Cesium",A,"http://cesiumjs.org/");O.addDefaultCredit(R);var L=new f(I);M.getPrimitives().setCentralBody(L);var z=a.skyBox;o(z)||(z=new x({sources:{positiveX:b("px"),negativeX:b("mx"),positiveY:b("py"),negativeY:b("my"),positiveZ:b("pz"),negativeZ:b("mz")}})),M.skyBox=z,M.skyAtmosphere=new C(I),M.sun=new S,M.moon=new y;var N=a.imageryProvider;o(N)||(N=new p({url:"http://dev.virtualearth.net",proxy:h.supportsCrossOriginImagery()?void 0:new i("http://cesiumjs.org/proxy/")})),N!==!1&&L.getImageryLayers().addImageryProvider(N),o(a.terrainProvider)&&(L.terrainProvider=a.terrainProvider),this._container=e,this._canvas=D,this._zoomDetector=T,this._canvasWidth=D.width,this._canvasHeight=D.height,this._scene=M,this._centralBody=L,this._clock=n(a.clock,new r),this._transitioner=new w(M,I),this._screenSpaceEventHandler=new m(D),this._useDefaultRenderLoop=void 0,this._renderLoopRunning=!1,this._creditContainer=P,this._canRender=!1,this._showRenderLoopErrors=n(a.showRenderLoopErrors,!0),this._renderLoopError=new c,a.sceneMode&&(a.sceneMode===_.SCENE2D&&this._transitioner.to2D(),a.sceneMode===_.COLUMBUS_VIEW&&this._transitioner.toColumbusView()),this.useDefaultRenderLoop=n(a.useDefaultRenderLoop,!0)}catch(B){var F="Error constructing CesiumWidget. Check if WebGL is enabled.";throw this.showErrorPanel(F,B),B}};return a(D.prototype,{container:{get:function(){return this._container}},sceneTransitioner:{get:function(){return this._transitioner}},canvas:{get:function(){return this._canvas}},creditContainer:{get:function(){return this._creditContainer}},scene:{get:function(){return this._scene}},centralBody:{get:function(){return this._centralBody}},clock:{get:function(){return this._clock}},screenSpaceEventHandler:{get:function(){return this._screenSpaceEventHandler}},onRenderLoopError:{get:function(){return this._renderLoopError}},useDefaultRenderLoop:{get:function(){return this._useDefaultRenderLoop},set:function(e){this._useDefaultRenderLoop!==e&&(this._useDefaultRenderLoop=e,e&&!this._renderLoopRunning&&T(this))}}}),D.prototype.showErrorPanel=function(e,t){var r=this._element,i=document.createElement("div");i.className="cesium-widget-errorPanel";var n=document.createElement("div");n.className="cesium-widget-errorPanel-content",i.appendChild(n);var a=document.createElement("div");a.className="cesium-widget-errorPanel-header",a.textContent=e,n.appendChild(a);var s;if(o(t)){var l=document.createElement("div");l.className="cesium-widget-errorPanel-scroll",n.appendChild(l),s=function(){l.style.maxHeight=Math.max(Math.round(.9*r.clientHeight-100),30)+"px"},s(),window.addEventListener("resize",s,!1);var u=document.createElement("div");u.className="cesium-widget-errorPanel-message",u.textContent=t,l.appendChild(u)}var c=document.createElement("div");c.className="cesium-widget-errorPanel-buttonPanel",n.appendChild(c);var h=document.createElement("button");h.type="button",h.className="cesium-button",h.textContent="OK",h.onclick=function(){o(s)&&window.removeEventListener("resize",s,!1),r.removeChild(i)},c.appendChild(h),r.appendChild(i)},D.prototype.isDestroyed=function(){return!1},D.prototype.destroy=function(){this._scene=this._scene&&this._scene.destroy(),this._container.removeChild(this._element),s(this)},D.prototype.resize=function(){var e=this._canvas,t=e.clientWidth,r=e.clientHeight;if(this._canvasWidth!==t||this._canvasHeight!==r){var i;i=o(window.devicePixelRatio)&&1!==window.devicePixelRatio?window.devicePixelRatio:1!==this._zoomDetector.currentScale?this._zoomDetector.currentScale:1,this._canvasWidth=t,this._canvasHeight=r,t*=i,r*=i,e.width=t,e.height=r;var n=0!==t&&0!==r;if(this._canRender=n,n){var a=this._scene.getCamera().frustum;o(a.aspectRatio)?a.aspectRatio=t/r:(a.top=a.right*(r/t),a.bottom=-a.top)}}},D.prototype.render=function(){this._scene.initializeFrame();var e=this._clock.tick();this._canRender&&this._scene.render(e)},D}),r("Widgets/ClockViewModel",["../Core/Clock","../Core/defined","../Core/defineProperties","../Core/destroyObject","../Core/EventHelper","../Core/JulianDate","../ThirdParty/knockout"],function(e,t,r,i,n,o,a){"use strict";var s=function(r){t(r)||(r=new e),this._clock=r,this._eventHelper=new n,this._eventHelper.add(r.onTick,this.synchronize,this);var i=a.observable(r.startTime);i.equalityComparer=o.equals,this.systemTime=a.observable(new o),this.systemTime.equalityComparer=o.equals,a.track(this,["systemTime"]),this.startTime=void 0,a.defineProperty(this,"startTime",{get:i,set:function(e){i(e),r.startTime=e}});var s=a.observable(r.stopTime);s.equalityComparer=o.equals,this.stopTime=void 0,a.defineProperty(this,"stopTime",{get:s,set:function(e){r.stopTime=e,s(e)}});var l=a.observable(r.currentTime);l.equalityComparer=o.equals,this.currentTime=void 0,a.defineProperty(this,"currentTime",{get:l,set:function(e){r.currentTime=e,l(e)}});var u=a.observable(r.multiplier);this.multiplier=void 0,a.defineProperty(this,"multiplier",{get:u,set:function(e){r.multiplier=e,u(e)}});var c=a.observable(r.clockStep);c.equalityComparer=function(e,t){return e===t},this.clockStep=void 0,a.defineProperty(this,"clockStep",{get:c,set:function(e){c(e),r.clockStep=e}});var h=a.observable(r.clockRange);h.equalityComparer=function(e,t){return e===t},this.clockRange=void 0,a.defineProperty(this,"clockRange",{get:h,set:function(e){h(e),r.clockRange=e}});var d=a.observable(r.shouldAnimate);this.shouldAnimate=void 0,a.defineProperty(this,"shouldAnimate",{get:d,set:function(e){d(e),r.shouldAnimate=e}})};return r(s.prototype,{clock:{get:function(){return this._clock}}}),s.prototype.synchronize=function(){var e=this._clock,t=e.startTime,r=e.stopTime,i=e.currentTime,n=e.multiplier,a=e.clockStep,s=e.clockRange,l=e.shouldAnimate;this.systemTime=new o,this.startTime=t,this.stopTime=r,this.currentTime=i,this.multiplier=n,this.clockStep=a,this.clockRange=s,this.shouldAnimate=l},s.prototype.isDestroyed=function(){return!1},s.prototype.destroy=function(){this._eventHelper.removeAll(),i(this)},s}),r("Widgets/Command",["../Core/DeveloperError"],function(e){"use strict";var t=function(){throw this.canExecute=void 0,this.beforeExecute=void 0,this.afterExecute=void 0,new e("This type should not be instantiated directly.")};return t}),r("Widgets/FullscreenButton/FullscreenButtonViewModel",["../../Core/defaultValue","../../Core/defineProperties","../../Core/destroyObject","../../Core/DeveloperError","../../Core/Fullscreen","../createCommand","../../ThirdParty/knockout"],function(e,t,r,i,n,o,a){"use strict";var s=function(t){var r=this,i=a.observable(n.isFullscreen()),s=a.observable(n.isFullscreenEnabled());this.isFullscreen=void 0,a.defineProperty(this,"isFullscreen",{get:function(){return i()}}),this.isFullscreenEnabled=void 0,a.defineProperty(this,"isFullscreenEnabled",{get:function(){return s()},set:function(e){s(e&&n.isFullscreenEnabled())}}),this.tooltip=void 0,a.defineProperty(this,"tooltip",function(){return this.isFullscreenEnabled?i()?"Exit full screen":"Full screen":"Full screen unavailable"}),this._command=o(function(){n.isFullscreen()?n.exitFullscreen():n.requestFullscreen(r._fullscreenElement)},a.getObservable(this,"isFullscreenEnabled")),this._fullscreenElement=e(t,document.body),this._callback=function(){i(n.isFullscreen())},document.addEventListener(n.getFullscreenChangeEventName(),this._callback)};return t(s.prototype,{fullscreenElement:{get:function(){return this._fullscreenElement},set:function(e){if(!(e instanceof Element))throw new i("value must be a valid Element.");this._fullscreenElement=e}},command:{get:function(){return this._command}}}),s.prototype.isDestroyed=function(){return!1},s.prototype.destroy=function(){document.removeEventListener(n.getFullscreenChangeEventName(),this._callback),r(this)},s}),r("Widgets/FullscreenButton/FullscreenButton",["../../Core/defined","../../Core/defineProperties","../../Core/DeveloperError","../../Core/destroyObject","../getElement","./FullscreenButtonViewModel","../../ThirdParty/knockout"],function(e,t,r,i,n,o,a){"use strict";var s="M 83.96875 17.5625 L 83.96875 17.59375 L 76.65625 24.875 L 97.09375 24.96875 L 76.09375 45.96875 L 81.9375 51.8125 L 102.78125 30.9375 L 102.875 51.15625 L 110.15625 43.875 L 110.1875 17.59375 L 83.96875 17.5625 z M 44.125 17.59375 L 17.90625 17.625 L 17.9375 43.90625 L 25.21875 51.1875 L 25.3125 30.96875 L 46.15625 51.8125 L 52 45.96875 L 31 25 L 51.4375 24.90625 L 44.125 17.59375 z M 46.0625 76.03125 L 25.1875 96.875 L 25.09375 76.65625 L 17.8125 83.9375 L 17.8125 110.21875 L 44 110.25 L 51.3125 102.9375 L 30.90625 102.84375 L 51.875 81.875 L 46.0625 76.03125 z M 82 76.15625 L 76.15625 82 L 97.15625 103 L 76.71875 103.0625 L 84.03125 110.375 L 110.25 110.34375 L 110.21875 84.0625 L 102.9375 76.8125 L 102.84375 97 L 82 76.15625 z",l="M 104.34375 17.5625 L 83.5 38.4375 L 83.40625 18.21875 L 76.125 25.5 L 76.09375 51.78125 L 102.3125 51.8125 L 102.3125 51.78125 L 109.625 44.5 L 89.1875 44.40625 L 110.1875 23.40625 L 104.34375 17.5625 z M 23.75 17.59375 L 17.90625 23.4375 L 38.90625 44.4375 L 18.5 44.53125 L 25.78125 51.8125 L 52 51.78125 L 51.96875 25.53125 L 44.6875 18.25 L 44.625 38.46875 L 23.75 17.59375 z M 25.6875 76.03125 L 18.375 83.3125 L 38.78125 83.40625 L 17.8125 104.40625 L 23.625 110.25 L 44.5 89.375 L 44.59375 109.59375 L 51.875 102.3125 L 51.875 76.0625 L 25.6875 76.03125 z M 102.375 76.15625 L 76.15625 76.1875 L 76.1875 102.4375 L 83.46875 109.71875 L 83.5625 89.53125 L 104.40625 110.375 L 110.25 104.53125 L 89.25 83.53125 L 109.6875 83.46875 L 102.375 76.15625 z",u=function(t,i){if(!e(t))throw new r("container is required.");t=n(t);var u=new o(i);u._exitFullScreenPath=l,u._enterFullScreenPath=s;var c=document.createElement("button");c.type="button",c.className="cesium-button cesium-fullscreenButton",c.setAttribute("data-bind","attr: { title: tooltip },click: command,enable: isFullscreenEnabled,cesiumSvgPath: { path: isFullscreen ? _exitFullScreenPath : _enterFullScreenPath, width: 128, height: 128 }"),t.appendChild(c),a.applyBindings(u,c),this._container=t,this._viewModel=u,this._element=c};return t(u.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}}),u.prototype.isDestroyed=function(){return!1},u.prototype.destroy=function(){return this._viewModel.destroy(),a.cleanNode(this._element),this._container.removeChild(this._element),i(this)},u}),r("Widgets/Geocoder/GeocoderViewModel",["../../Core/BingMapsApi","../../Core/Cartesian3","../../Core/defaultValue","../../Core/defined","../../Core/defineProperties","../../Core/DeveloperError","../../Core/Ellipsoid","../../Core/Extent","../../Core/jsonp","../../Core/Matrix3","../../Core/Matrix4","../../Scene/CameraFlightPath","../../Scene/SceneMode","../createCommand","../../ThirdParty/knockout","../../ThirdParty/when"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f){"use strict";function v(e){var r=e.searchText;if(!/^\s*$/.test(r)){e._isSearchInProgress=!0;var n=l(e._url+"REST/v1/Locations",{parameters:{query:r,key:e._key},callbackParameterName:"jsonp"}),o=e._geocodeInProgress=f(n,function(r){if(!o.cancel){if(e._isSearchInProgress=!1,0===r.resourceSets.length)return e.searchText=e._searchText+" (not found)",void 0;var n=r.resourceSets[0];if(0===n.resources.length)return e.searchText=e._searchText+" (not found)",void 0;var a=n.resources[0];e._searchText=a.name;var l=a.bbox,m=l[0],p=l[1],f=l[2],v=l[3],y=s.fromDegrees(p,m,v,f),g=e._scene.getCamera().controller.getExtentCameraCoordinates(y);if(i(g)){var _,w;e._scene.mode===d.SCENE3D?(_=t.UNIT_Z,w=t.negate(e._ellipsoid.geodeticSurfaceNormal(g))):(_=t.UNIT_Y,w=t.negate(t.UNIT_Z));var C={destination:g,duration:e._flightDuration,up:_,direction:w},x=e._scene.getCamera();if(!c.equals(x.transform,c.IDENTITY)){c.inverseTransformation(x.transform),c.multiplyByPoint(x.transform,x.position,x.position);var S=c.getRotation(x.transform);u.multiplyByVector(S,x.direction,x.direction),u.multiplyByVector(S,x.up,x.up),t.cross(x.direction,x.up,x.right),x.transform=c.IDENTITY,e._scene.getScreenSpaceCameraController().setEllipsoid(e._ellipsoid)}var E=h.createAnimation(e._scene,C);e._scene.getAnimations().add(E)}}},function(){o.cancel||(e._isSearchInProgress=!1,e.searchText=e._searchText+" (error)")})}}function y(e){e._isSearchInProgress=!1,i(e._geocodeInProgress)&&(e._geocodeInProgress.cancel=!0,e._geocodeInProgress=void 0)}var g=function(t){if(!i(t)||!i(t.scene))throw new o("description.scene is required.");this._url=r(t.url,"http://dev.virtualearth.net/"),this._url.length>0&&"/"!==this._url[this._url.length-1]&&(this._url+="/"),this._key=e.getKey(t.key),this._scene=t.scene,this._ellipsoid=r(t.ellipsoid,a.WGS84),this._flightDuration=r(t.flightDuration,1500),this._searchText="",this._isSearchInProgress=!1,this._geocodeInProgress=void 0;var n=this;this._searchCommand=m(function(){n.isSearchInProgress?y(n):v(n)}),p.track(this,["_searchText","_isSearchInProgress"]),this.isSearchInProgress=void 0,p.defineProperty(this,"isSearchInProgress",{get:function(){return this._isSearchInProgress}}),this.searchText=void 0,p.defineProperty(this,"searchText",{get:function(){return this.isSearchInProgress?"Searching...":this._searchText},set:function(e){if("string"!=typeof e)throw new o("value must be a valid string.");this._searchText=e}}),this.flightDuration=void 0,p.defineProperty(this,"flightDuration",{get:function(){return this._flightDuration},set:function(e){if(0>e)throw new o("value must be positive.");this._flightDuration=e}})};return n(g.prototype,{url:{get:function(){return this._url}},key:{get:function(){return this._key}},scene:{get:function(){return this._scene}},ellipsoid:{get:function(){return this._ellipsoid}},search:{get:function(){return this._searchCommand}}}),g}),r("Widgets/Geocoder/Geocoder",["../../Core/defined","../../Core/defineProperties","../../Core/destroyObject","../../Core/DeveloperError","../getElement","./GeocoderViewModel","../../ThirdParty/knockout"],function(e,t,r,i,n,o,a){"use strict";var s="M29.772,26.433l-7.126-7.126c0.96-1.583,1.523-3.435,1.524-5.421C24.169,8.093,19.478,3.401,13.688,3.399C7.897,3.401,3.204,8.093,3.204,13.885c0,5.789,4.693,10.481,10.484,10.481c1.987,0,3.839-0.563,5.422-1.523l7.128,7.127L29.772,26.433zM7.203,13.885c0.006-3.582,2.903-6.478,6.484-6.486c3.579,0.008,6.478,2.904,6.484,6.486c-0.007,3.58-2.905,6.476-6.484,6.484C10.106,20.361,7.209,17.465,7.203,13.885z",l="M24.778,21.419 19.276,15.917 24.777,10.415 21.949,7.585 16.447,13.087 10.945,7.585 8.117,10.415 13.618,15.917 8.116,21.419 10.946,24.248 16.447,18.746 21.948,24.248z",u=function(t){if(!e(t)||!e(t.container))throw new i("description.container is required."); -if(!e(t.scene))throw new i("description.scene is required.");var r=n(t.container),u=new o(t);u._startSearchPath=s,u._stopSearchPath=l;var c=document.createElement("form");c.setAttribute("data-bind","submit: search");var h=document.createElement("input");h.type="search",h.className="cesium-geocoder-input",h.setAttribute("placeholder","Enter an address or landmark..."),h.setAttribute("data-bind",'value: searchText,valueUpdate: "afterkeydown",css: { "cesium-geocoder-input-wide" : searchText.length > 0 }'),c.appendChild(h);var d=document.createElement("span");d.className="cesium-geocoder-searchButton",d.setAttribute("data-bind","click: search,cesiumSvgPath: { path: isSearchInProgress ? _stopSearchPath : _startSearchPath, width: 32, height: 32 }"),c.appendChild(d),r.appendChild(c),a.applyBindings(u,c),this._container=r,this._viewModel=u,this._form=c,this._onInputBegin=function(e){r.contains(e.target)||h.blur()},this._onInputEnd=function(e){r.contains(e.target)&&h.focus()},document.addEventListener("mousedown",this._onInputBegin,!0),document.addEventListener("mouseup",this._onInputEnd,!0),document.addEventListener("touchstart",this._onInputBegin,!0),document.addEventListener("touchend",this._onInputEnd,!0)};return t(u.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}}),u.prototype.isDestroyed=function(){return!1},u.prototype.destroy=function(){return document.removeEventListener("mousedown",this._onInputBegin,!0),document.removeEventListener("mouseup",this._onInputEnd,!0),document.removeEventListener("touchstart",this._onInputBegin,!0),document.removeEventListener("touchend",this._onInputEnd,!0),a.cleanNode(this._form),this._container.removeChild(this._form),r(this)},u}),r("Widgets/HomeButton/HomeButtonViewModel",["../../Core/Cartesian3","../../Core/Matrix3","../../Core/defaultValue","../../Core/defined","../../Core/defineProperties","../../Core/DeveloperError","../../Core/Ellipsoid","../../Core/Extent","../../Core/Matrix4","../../Scene/Camera","../../Scene/CameraColumbusViewMode","../../Scene/CameraFlightPath","../../Scene/SceneMode","../createCommand","../../ThirdParty/knockout"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p){"use strict";function f(r,n,o,a){var m=r.mode,p=r.getCamera();p.controller.constrainedAxis=e.UNIT_Z;var f=r.getScreenSpaceCameraController();f.setEllipsoid(n),f.columbusViewMode=c.FREE;var v=r.getContext();i(o)&&m===d.MORPHING&&o.completeMorph();var y,g;if(m===d.SCENE2D)p.transform=new l(0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1),g={destination:s.MAX_VALUE,duration:a},y=h.createAnimationExtent(r,g),r.getAnimations().add(y);else if(m===d.SCENE3D){e.add(p.position,l.getTranslation(p.transform),p.position);var _=l.getRotation(p.transform);t.multiplyByVector(_,p.direction,p.direction),t.multiplyByVector(_,p.up,p.up),t.multiplyByVector(_,p.right,p.right),p.transform=l.clone(l.IDENTITY);var w=new u(v);g={destination:w.position,duration:a,up:w.up,direction:w.direction},y=h.createAnimation(r,g),r.getAnimations().add(y)}else if(m===d.COLUMBUS_VIEW){p.transform=new l(0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1);var C=n.getMaximumRadius(),x=e.multiplyByScalar(e.normalize(new e(0,-1,1)),5*C),S=e.normalize(e.subtract(e.ZERO,x)),E=e.cross(S,e.UNIT_Z),b=e.cross(E,S);g={destination:x,duration:a,up:b,direction:S},y=h.createAnimation(r,g),r.getAnimations().add(y)}}var v=function(e,t,n,s){if(!i(e))throw new o("scene is required.");n=r(n,a.WGS84),s=r(s,1500),this._scene=e,this._ellipsoid=n,this._transitioner=t,this._flightDuration=s;var l=this;this._command=m(function(){f(l._scene,l._ellipsoid,l._transitioner,l._flightDuration)}),this.tooltip="View Home",p.track(this,["tooltip"])};return n(v.prototype,{sceneTransitioner:{get:function(){return this._transitioner}},scene:{get:function(){return this._scene}},ellipsoid:{get:function(){return this._ellipsoid}},command:{get:function(){return this._command}},flightDuration:{get:function(){return this._flightDuration},set:function(e){if(0>e)throw new o("value must be positive.");this._flightDuration=e}}}),v}),r("Widgets/HomeButton/HomeButton",["../../Core/defined","../../Core/defineProperties","../../Core/destroyObject","../../Core/DeveloperError","../getElement","./HomeButtonViewModel","../../ThirdParty/knockout"],function(e,t,r,i,n,o,a){"use strict";var s=function(t,r,s,l,u){if(!e(t))throw new i("container is required.");t=n(t);var c=new o(r,s,l,u);c._svgPath="M14,4l-10,8.75h20l-4.25-3.7188v-4.6562h-2.812v2.1875l-2.938-2.5625zm-7.0938,9.906v10.094h14.094v-10.094h-14.094zm2.1876,2.313h3.3122v4.25h-3.3122v-4.25zm5.8442,1.281h3.406v6.438h-3.406v-6.438z";var h=document.createElement("button");h.type="button",h.className="cesium-button cesium-toolbar-button cesium-home-button",h.setAttribute("data-bind","attr: { title: tooltip },click: command,cesiumSvgPath: { path: _svgPath, width: 28, height: 28 }"),t.appendChild(h),a.applyBindings(c,h),this._container=t,this._viewModel=c,this._element=h};return t(s.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}}),s.prototype.isDestroyed=function(){return!1},s.prototype.destroy=function(){return a.cleanNode(this._element),this._container.removeChild(this._element),r(this)},s}),r("Widgets/Observable",["../Core/DeveloperError"],function(e){"use strict";var t=function(){throw new e("This type should not be instantiated directly.")};return t}),r("Widgets/SceneModePicker/SceneModePickerViewModel",["../../Core/defineProperties","../../Core/defined","../../Core/destroyObject","../../Core/DeveloperError","../../Core/EventHelper","../../Scene/SceneMode","../createCommand","../../ThirdParty/knockout"],function(e,t,r,i,n,o,a,s){"use strict";var l=function(e){if(!t(e))throw new i("transitioner is required.");this._transitioner=e;var r=this,l=function(e,t,i){r.sceneMode=i,r.dropDownVisible=!1};this._eventHelper=new n,this._eventHelper.add(e.transitionStart,l),this.sceneMode=e.getScene().mode,this.dropDownVisible=!1,this.tooltip2D="2D",this.tooltip3D="3D",this.tooltipColumbusView="Columbus View",s.track(this,["sceneMode","dropDownVisible","tooltip2D","tooltip3D","tooltipColumbusView"]),this.selectedTooltip=void 0,s.defineProperty(this,"selectedTooltip",function(){var e=r.sceneMode;return e===o.SCENE2D?r.tooltip2D:e===o.SCENE3D?r.tooltip3D:r.tooltipColumbusView}),this._toggleDropDown=a(function(){r.dropDownVisible=!r.dropDownVisible}),this._morphTo2D=a(function(){e.morphTo2D()}),this._morphTo3D=a(function(){e.morphTo3D()}),this._morphToColumbusView=a(function(){e.morphToColumbusView()}),this._sceneMode=o};return e(l.prototype,{sceneTransitioner:{get:function(){return this._transitioner}},toggleDropDown:{get:function(){return this._toggleDropDown}},morphTo2D:{get:function(){return this._morphTo2D}},morphTo3D:{get:function(){return this._morphTo3D}},morphToColumbusView:{get:function(){return this._morphToColumbusView}}}),l.prototype.isDestroyed=function(){return!1},l.prototype.destroy=function(){this._eventHelper.removeAll(),r(this)},l}),r("Widgets/SceneModePicker/SceneModePicker",["../../Core/defineProperties","../../Core/defined","../../Core/destroyObject","../../Core/DeveloperError","../getElement","./SceneModePickerViewModel","../../ThirdParty/knockout"],function(e,t,r,i,n,o,a){"use strict";var s="m 32.401392,4.9330437 c -7.087603,0 -14.096095,2.884602 -19.10793,7.8946843 -5.0118352,5.010083 -7.9296167,11.987468 -7.9296167,19.072999 0,7.085531 2.9177815,14.097848 7.9296167,19.107931 4.837653,4.835961 11.541408,7.631372 18.374354,7.82482 0.05712,0.01231 0.454119,0.139729 0.454119,0.139729 l 0.03493,-0.104797 c 0.08246,7.84e-4 0.162033,0.03493 0.244525,0.03493 0.08304,0 0.161515,-0.03414 0.244526,-0.03493 l 0.03493,0.104797 c 0,0 0.309474,-0.129487 0.349323,-0.139729 6.867765,-0.168094 13.582903,-2.965206 18.444218,-7.82482 2.558195,-2.5573 4.551081,-5.638134 5.903547,-8.977584 1.297191,-3.202966 2.02607,-6.661489 2.02607,-10.130347 0,-6.237309 -2.366261,-12.31219 -6.322734,-17.116794 -0.0034,-0.02316 0.0049,-0.04488 0,-0.06986 -0.01733,-0.08745 -0.104529,-0.278855 -0.104797,-0.279458 -5.31e-4,-0.0012 -0.522988,-0.628147 -0.523984,-0.62878 -3.47e-4,-2.2e-4 -0.133444,-0.03532 -0.244525,-0.06987 C 51.944299,13.447603 51.751076,13.104317 51.474391,12.827728 46.462556,7.8176457 39.488996,4.9330437 32.401392,4.9330437 z m -2.130866,3.5281554 0.104797,9.6762289 c -4.111695,-0.08361 -7.109829,-0.423664 -9.257041,-0.943171 1.198093,-2.269271 2.524531,-4.124404 3.91241,-5.414496 2.167498,-2.0147811 3.950145,-2.8540169 5.239834,-3.3185619 z m 2.794579,0 c 1.280302,0.4754953 3.022186,1.3285948 5.065173,3.2486979 1.424667,1.338973 2.788862,3.303645 3.982275,5.728886 -2.29082,0.403367 -5.381258,0.621049 -8.942651,0.698645 L 33.065105,8.4611991 z m 5.728886,0.2445256 c 4.004072,1.1230822 7.793098,3.1481363 10.724195,6.0782083 0.03468,0.03466 0.07033,0.06991 0.104797,0.104797 -0.45375,0.313891 -0.923054,0.663002 -1.956205,1.082899 -0.647388,0.263114 -1.906242,0.477396 -2.829511,0.733577 -1.382296,-2.988132 -3.027146,-5.368585 -4.785716,-7.0213781 -0.422866,-0.397432 -0.835818,-0.6453247 -1.25756,-0.9781032 z m -15.33525,0.7685092 c -0.106753,0.09503 -0.207753,0.145402 -0.31439,0.244526 -1.684973,1.5662541 -3.298068,3.8232211 -4.680919,6.5672591 -0.343797,-0.14942 -1.035052,-0.273198 -1.292493,-0.419186 -0.956528,-0.542427 -1.362964,-1.022024 -1.537018,-1.292493 -0.0241,-0.03745 -0.01868,-0.0401 -0.03493,-0.06986 2.250095,-2.163342 4.948824,-3.869984 7.859752,-5.0302421 z m -9.641296,7.0912431 c 0.464973,0.571618 0.937729,1.169056 1.956205,1.746612 0.349907,0.198425 1.107143,0.335404 1.537018,0.523983 -1.20166,3.172984 -1.998037,7.051901 -2.165798,11.772162 C 14.256557,30.361384 12.934823,30.161483 12.280427,29.90959 10.644437,29.279855 9.6888882,28.674891 9.1714586,28.267775 8.6540289,27.860658 8.6474751,27.778724 8.6474751,27.778724 l -0.069864,0.03493 C 9.3100294,23.691285 11.163248,19.798527 13.817445,16.565477 z m 37.552149,0.523984 c 2.548924,3.289983 4.265057,7.202594 4.890513,11.318043 -0.650428,0.410896 -1.756876,1.001936 -3.563088,1.606882 -1.171552,0.392383 -3.163859,0.759153 -4.960377,1.117832 -0.04367,-4.752703 -0.784809,-8.591423 -1.88634,-11.807094 0.917574,-0.263678 2.170552,-0.486495 2.864443,-0.76851 1.274693,-0.518066 2.003942,-1.001558 2.654849,-1.467153 z m -31.439008,2.619917 c 2.487341,0.672766 5.775813,1.137775 10.479669,1.222628 l 0.104797,10.689263 0,0.03493 0,0.733577 c -5.435005,-0.09059 -9.512219,-0.519044 -12.610536,-1.117831 0.106127,-4.776683 0.879334,-8.55791 2.02607,-11.562569 z m 23.264866,0.31439 c 1.073459,3.067541 1.833795,6.821314 1.816476,11.702298 -3.054474,0.423245 -7.062018,0.648559 -11.702298,0.698644 l 0,-0.838373 -0.104796,-10.654331 c 4.082416,-0.0864 7.404468,-0.403886 9.990618,-0.908238 z M 8.2632205,30.922625 c 0.7558676,0.510548 1.5529563,1.013339 3.0041715,1.57195 0.937518,0.360875 2.612202,0.647642 3.91241,0.978102 0.112814,3.85566 0.703989,7.107756 1.606883,9.920754 -1.147172,-0.324262 -2.644553,-0.640648 -3.423359,-0.978102 -1.516688,-0.657177 -2.386627,-1.287332 -2.864443,-1.71168 -0.477816,-0.424347 -0.489051,-0.489051 -0.489051,-0.489051 L 9.8002387,40.319395 C 8.791691,37.621767 8.1584238,34.769583 8.1584238,31.900727 c 0,-0.330153 0.090589,-0.648169 0.1047967,-0.978102 z m 48.2763445,0.419186 c 0.0047,0.188973 0.06986,0.36991 0.06986,0.558916 0,2.938869 -0.620228,5.873558 -1.676747,8.628261 -0.07435,0.07583 -0.06552,0.07411 -0.454119,0.349323 -0.606965,0.429857 -1.631665,1.042044 -3.318562,1.676747 -1.208528,0.454713 -3.204964,0.850894 -5.135038,1.25756 0.84593,-2.765726 1.41808,-6.005357 1.606883,-9.815957 2.232369,-0.413371 4.483758,-0.840201 5.938479,-1.327425 1.410632,-0.472457 2.153108,-0.89469 2.96924,-1.327425 z m -38.530252,2.864443 c 3.208141,0.56697 7.372279,0.898588 12.575603,0.978103 l 0.174662,9.885821 c -4.392517,-0.06139 -8.106722,-0.320566 -10.863925,-0.803441 -1.051954,-2.664695 -1.692909,-6.043794 -1.88634,-10.060483 z m 26.793022,0.31439 c -0.246298,3.923551 -0.877762,7.263679 -1.816476,9.885822 -2.561957,0.361954 -5.766249,0.560708 -9.431703,0.62878 l -0.174661,-9.815957 c 4.491734,-0.04969 8.334769,-0.293032 11.42284,-0.698645 z M 12.035901,44.860585 c 0.09977,0.04523 0.105535,0.09465 0.209594,0.139729 1.337656,0.579602 3.441099,1.058072 5.589157,1.537018 1.545042,3.399208 3.548524,5.969402 5.589157,7.789888 -3.034411,-1.215537 -5.871615,-3.007978 -8.174142,-5.309699 -1.245911,-1.245475 -2.271794,-2.662961 -3.213766,-4.156936 z m 40.69605,0 c -0.941972,1.493975 -1.967855,2.911461 -3.213765,4.156936 -2.74253,2.741571 -6.244106,4.696717 -9.955686,5.868615 0.261347,-0.241079 0.507495,-0.394491 0.768509,-0.663713 1.674841,-1.727516 3.320792,-4.181056 4.645987,-7.265904 2.962447,-0.503021 5.408965,-1.122293 7.161107,-1.781544 0.284034,-0.106865 0.337297,-0.207323 0.593848,-0.31439 z m -31.404076,2.305527 c 2.645807,0.376448 5.701178,0.649995 9.466635,0.698645 l 0.139729,7.789888 c -1.38739,-0.480844 -3.316218,-1.29837 -5.659022,-3.388427 -1.388822,-1.238993 -2.743668,-3.0113 -3.947342,-5.100106 z m 20.365491,0.104797 c -1.04872,2.041937 -2.174337,3.779068 -3.353494,4.995309 -1.853177,1.911459 -3.425515,2.82679 -4.611055,3.353494 l -0.139729,-7.789887 c 3.13091,-0.05714 5.728238,-0.278725 8.104278,-0.558916 z",l="m 2.9825053,17.550598 0,1.368113 0,26.267766 0,1.368113 1.36811,0 54.9981397,0 1.36811,0 0,-1.368113 0,-26.267766 0,-1.368113 -1.36811,0 -54.9981397,0 -1.36811,0 z m 2.73623,2.736226 10.3292497,0 0,10.466063 -10.3292497,0 0,-10.466063 z m 13.0654697,0 11.69737,0 0,10.466063 -11.69737,0 0,-10.466063 z m 14.43359,0 11.69737,0 0,10.466063 -11.69737,0 0,-10.466063 z m 14.43359,0 10.32926,0 0,10.466063 -10.32926,0 0,-10.466063 z m -41.9326497,13.202288 10.3292497,0 0,10.329252 -10.3292497,0 0,-10.329252 z m 13.0654697,0 11.69737,0 0,10.329252 -11.69737,0 0,-10.329252 z m 14.43359,0 11.69737,0 0,10.329252 -11.69737,0 0,-10.329252 z m 14.43359,0 10.32926,0 0,10.329252 -10.32926,0 0,-10.329252 z",u="m 14.723969,17.675598 -0.340489,0.817175 -11.1680536,26.183638 -0.817175,1.872692 2.076986,0 54.7506996,0 2.07698,0 -0.81717,-1.872692 -11.16805,-26.183638 -0.34049,-0.817175 -0.91933,0 -32.414586,0 -0.919322,0 z m 1.838643,2.723916 6.196908,0 -2.928209,10.418977 -7.729111,0 4.460412,-10.418977 z m 9.02297,0 4.903049,0 0,10.418977 -7.831258,0 2.928209,-10.418977 z m 7.626964,0 5.584031,0 2.62176,10.418977 -8.205791,0 0,-10.418977 z m 8.410081,0 5.51593,0 4.46042,10.418977 -7.38863,0 -2.58772,-10.418977 z m -30.678091,13.142892 8.103649,0 -2.89416,10.282782 -9.6018026,0 4.3923136,-10.282782 z m 10.929711,0 8.614384,0 0,10.282782 -11.508544,0 2.89416,-10.282782 z m 11.338299,0 8.852721,0 2.58772,10.282782 -11.440441,0 0,-10.282782 z m 11.678781,0 7.86531,0 4.39231,10.282782 -9.6699,0 -2.58772,-10.282782 z",c=function(e,r){if(!t(e))throw new i("container is required.");if(!t(r))throw new i("transitioner is required.");e=n(e);var c=new o(r);c._globePath=s,c._flatMapPath=l,c._columbusViewPath=u;var h=document.createElement("span");h.className="cesium-sceneModePicker-wrapper cesium-toolbar-button",e.appendChild(h);var d=document.createElement("button");d.type="button",d.className="cesium-button cesium-toolbar-button",d.setAttribute("data-bind",'css: { "cesium-sceneModePicker-button2D": sceneMode === _sceneMode.SCENE2D, "cesium-sceneModePicker-button3D": sceneMode === _sceneMode.SCENE3D, "cesium-sceneModePicker-buttonColumbusView": sceneMode === _sceneMode.COLUMBUS_VIEW, "cesium-sceneModePicker-selected": dropDownVisible },attr: { title: selectedTooltip },click: toggleDropDown'),d.innerHTML='',h.appendChild(d);var m=document.createElement("button");m.type="button",m.className="cesium-button cesium-toolbar-button cesium-sceneModePicker-dropDown-icon",m.setAttribute("data-bind",'css: { "cesium-sceneModePicker-visible" : (dropDownVisible && (sceneMode !== _sceneMode.SCENE3D)) || (!dropDownVisible && (sceneMode === _sceneMode.SCENE3D)), "cesium-sceneModePicker-none" : sceneMode === _sceneMode.SCENE3D, "cesium-sceneModePicker-hidden" : !dropDownVisible },attr: { title: tooltip3D },click: morphTo3D,cesiumSvgPath: { path: _globePath, width: 64, height: 64 }'),h.appendChild(m);var p=document.createElement("button");p.type="button",p.className="cesium-button cesium-toolbar-button cesium-sceneModePicker-dropDown-icon",p.setAttribute("data-bind",'css: { "cesium-sceneModePicker-visible" : (dropDownVisible && (sceneMode !== _sceneMode.SCENE2D)), "cesium-sceneModePicker-none" : sceneMode === _sceneMode.SCENE2D, "cesium-sceneModePicker-hidden" : !dropDownVisible },attr: { title: tooltip2D },click: morphTo2D,cesiumSvgPath: { path: _flatMapPath, width: 64, height: 64 }'),h.appendChild(p);var f=document.createElement("button");f.type="button",f.className="cesium-button cesium-toolbar-button cesium-sceneModePicker-dropDown-icon",f.setAttribute("data-bind",'css: { "cesium-sceneModePicker-visible" : (dropDownVisible && (sceneMode !== _sceneMode.COLUMBUS_VIEW)) || (!dropDownVisible && (sceneMode === _sceneMode.COLUMBUS_VIEW)), "cesium-sceneModePicker-none" : sceneMode === _sceneMode.COLUMBUS_VIEW, "cesium-sceneModePicker-hidden" : !dropDownVisible},attr: { title: tooltipColumbusView },click: morphToColumbusView,cesiumSvgPath: { path: _columbusViewPath, width: 64, height: 64 }'),h.appendChild(f),a.applyBindings(c,h),this._viewModel=c,this._container=e,this._wrapper=h,this._closeDropDown=function(e){h.contains(e.target)||(c.dropDownVisible=!1)},document.addEventListener("mousedown",this._closeDropDown,!0),document.addEventListener("touchstart",this._closeDropDown,!0)};return e(c.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}}),c.prototype.isDestroyed=function(){return!1},c.prototype.destroy=function(){return this._viewModel.destroy(),document.removeEventListener("mousedown",this._closeDropDown,!0),document.removeEventListener("touchstart",this._closeDropDown,!0),a.cleanNode(this._wrapper),this._container.removeChild(this._wrapper),r(this)},c}),r("Widgets/Timeline/TimelineTrack",["../../Core/Color","../../Core/defined"],function(e,t){"use strict";function r(t,r,i,n){this.interval=t,this.height=r,this.color=i||new e(.5,.5,.5,1),this.backgroundColor=n||new e(0,0,0,0)}return r.prototype.render=function(e,r){var i=this.interval.start,n=this.interval.stop,o=r.startJulian,a=r.startJulian.addSeconds(r.duration);if(i.lessThan(o)&&n.greaterThan(a))e.fillStyle=this.color.toCssColorString(),e.fillRect(0,r.y,r.timeBarWidth,this.height);else if(i.lessThanOrEquals(a)&&n.greaterThanOrEquals(o)){var s,l,u;for(s=0;si&&(o+=i,i=0),i+o>e.timeBarWidth&&(o=e.timeBarWidth-i),o>0&&(t='')}return e.y+=this._height,t},e}),r("Widgets/Timeline/Timeline",["../../Core/DeveloperError","../../Core/ClockRange","../../Core/defined","../../Core/destroyObject","../../Core/JulianDate","../getElement","./TimelineTrack","./TimelineHighlightRange"],function(e,t,r,i,n,o,a,s){"use strict";function l(t,i){if(!r(t))throw new e("container is required.");if(!r(i))throw new e("clock is required.");t=o(t),this.container=t;var n=document.createElement("div");n.className="cesium-timeline-main",t.appendChild(n),this._topDiv=n,this._endJulian=void 0,this._epochJulian=void 0,this._lastXPos=void 0,this._scrubElement=void 0,this._startJulian=void 0,this._timeBarSecondsSpan=void 0,this._clock=i,this._scrubJulian=i.currentTime,this._mainTicSpan=-1,this._mouseMode=g.none,this._touchMode=_.none,this._touchState={centerX:0,spanX:0},this._mouseX=0,this._timelineDrag=0,this._timelineDragLocation=void 0,this._lastHeight=void 0,this._lastWidth=void 0,this._topDiv.innerHTML='
',this._timeBarEle=this._topDiv.childNodes[0],this._trackContainer=this._topDiv.childNodes[1],this._trackListEle=this._topDiv.childNodes[1].childNodes[0],this._needleEle=this._topDiv.childNodes[2],this._rulerEle=this._topDiv.childNodes[3],this._context=this._trackListEle.getContext("2d"),this._trackList=[],this._highlightRanges=[],this.zoomTo(i.startTime,i.stopTime),this._onMouseDown=c(this),this._onMouseUp=h(this),this._onMouseMove=d(this),this._onMouseWheel=m(this),this._onTouchStart=p(this),this._onTouchMove=v(this),this._onTouchEnd=f(this);var a=this._timeBarEle;document.addEventListener("mouseup",this._onMouseUp,!1),document.addEventListener("mousemove",this._onMouseMove,!1),a.addEventListener("mousedown",this._onMouseDown,!1),a.addEventListener("DOMMouseScroll",this._onMouseWheel,!1),a.addEventListener("mousewheel",this._onMouseWheel,!1),a.addEventListener("touchstart",this._onTouchStart,!1),a.addEventListener("touchmove",this._onTouchMove,!1),a.addEventListener("touchend",this._onTouchEnd,!1),this._topDiv.oncontextmenu=function(){return!1},i.onTick.addEventListener(this.updateFromClock,this),this.updateFromClock()}function u(e){return 10>e?"0"+e.toString():e.toString()}function c(e){return function(t){e._mouseMode!==g.touchOnly&&(0===t.button?(e._mouseMode=g.scrub,e._scrubElement&&(e._scrubElement.style.backgroundPosition="-16px 0"),e._onMouseMove(t)):(e._mouseX=t.clientX,e._mouseMode=2===t.button?g.zoom:g.slide)),t.preventDefault()}}function h(e){return function(){e._mouseMode=g.none,e._scrubElement&&(e._scrubElement.style.backgroundPosition="0px 0px"),e._timelineDrag=0,e._timelineDragLocation=void 0}}function d(e){return function(t){var r;if(e._mouseMode===g.scrub){t.preventDefault();var i=t.clientX-e._topDiv.getBoundingClientRect().left;0>i?(e._timelineDragLocation=0,e._timelineDrag=-.01*e._timeBarSecondsSpan):i>e._topDiv.clientWidth?(e._timelineDragLocation=e._topDiv.clientWidth,e._timelineDrag=.01*e._timeBarSecondsSpan):(e._timelineDragLocation=void 0,e._setTimeBarTime(i,i*e._timeBarSecondsSpan/e._topDiv.clientWidth))}else if(e._mouseMode===g.slide){if(r=e._mouseX-t.clientX,e._mouseX=t.clientX,0!==r){var n=r*e._timeBarSecondsSpan/e._topDiv.clientWidth;e.zoomTo(e._startJulian.addSeconds(n),e._endJulian.addSeconds(n))}}else e._mouseMode===g.zoom&&(r=e._mouseX-t.clientX,e._mouseX=t.clientX,0!==r&&e.zoomFrom(Math.pow(1.01,r)))}}function m(e){return function(t){var r=t.wheelDeltaY||t.wheelDelta||-t.detail;y=Math.max(Math.min(Math.abs(r),y),1),r/=y,e.zoomFrom(Math.pow(1.05,-r))}}function p(e){return function(t){var r,i,n=t.touches.length,o=e._topDiv.getBoundingClientRect().left;t.preventDefault(),e._mouseMode=g.touchOnly,1===n?(r=e._startJulian.getSecondsDifference(e._scrubJulian),i=Math.round(r*e._topDiv.clientWidth/e._timeBarSecondsSpan+o),Math.abs(t.touches[0].clientX-i)<50?(e._touchMode=_.scrub,e._scrubElement&&(e._scrubElement.style.backgroundPosition=1===n?"-16px 0":"0 0")):(e._touchMode=_.singleTap,e._touchState.centerX=t.touches[0].clientX-o)):2===n?(e._touchMode=_.slideZoom,e._touchState.centerX=.5*(t.touches[0].clientX+t.touches[1].clientX)-o,e._touchState.spanX=Math.abs(t.touches[0].clientX-t.touches[1].clientX)):e._touchMode=_.ignore}}function f(e){return function(t){var r=t.touches.length,i=e._topDiv.getBoundingClientRect().left;e._touchMode===_.singleTap?(e._touchMode=_.scrub,e._handleTouchMove(t)):e._touchMode===_.scrub&&e._handleTouchMove(t),e._mouseMode=g.touchOnly,1!==r?e._touchMode=r>0?_.ignore:_.none:e._touchMode===_.slideZoom&&(e._touchState.centerX=t.touches[0].clientX-i),e._scrubElement&&(e._scrubElement.style.backgroundPosition="0 0")}}function v(e){return function(t){var i,n,o,a,s,l,u=1,c=e._topDiv.getBoundingClientRect().left;e._touchMode===_.singleTap&&(e._touchMode=_.slideZoom),e._mouseMode=g.touchOnly,e._touchMode===_.scrub?(t.preventDefault(),1===t.changedTouches.length&&(n=t.changedTouches[0].clientX-c,n>=0&&n<=e._topDiv.clientWidth&&e._setTimeBarTime(n,n*e._timeBarSecondsSpan/e._topDiv.clientWidth))):e._touchMode===_.slideZoom&&(o=t.touches.length,2===o?(a=.5*(t.touches[0].clientX+t.touches[1].clientX)-c,s=Math.abs(t.touches[0].clientX-t.touches[1].clientX)):1===o&&(a=t.touches[0].clientX-c,s=0),r(a)&&(s>0&&e._touchState.spanX>0?(u=e._touchState.spanX/s,l=e._startJulian.addSeconds((e._touchState.centerX*e._timeBarSecondsSpan-a*e._timeBarSecondsSpan*u)/e._topDiv.clientWidth)):(i=e._touchState.centerX-a,l=e._startJulian.addSeconds(i*e._timeBarSecondsSpan/e._topDiv.clientWidth)),e.zoomTo(l,l.addSeconds(e._timeBarSecondsSpan*u)),e._touchState.centerX=a,e._touchState.spanX=s))}}var y=1e12,g={none:0,scrub:1,slide:2,zoom:3,touchOnly:4},_={none:0,scrub:1,slideZoom:2,singleTap:3,ignore:4},w=[.001,.002,.005,.01,.02,.05,.1,.25,.5,1,2,5,10,15,30,60,120,300,600,900,1800,3600,7200,14400,21600,43200,86400,172800,345600,604800,1296e3,2592e3,5184e3,7776e3,15552e3,31536e3,63072e3,126144e3,15768e4,31536e4,63072e4,126144e4,15768e5,31536e5,63072e5,126144e5,15768e6,31536e6],C=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];return l.prototype.addEventListener=function(e,t,r){this._topDiv.addEventListener(e,t,r)},l.prototype.removeEventListener=function(e,t,r){this._topDiv.removeEventListener(e,t,r)},l.prototype.isDestroyed=function(){return!1},l.prototype.destroy=function(){this._clock.onTick.removeEventListener(this.updateFromClock,this),document.removeEventListener("mouseup",this._onMouseUp,!1),document.removeEventListener("mousemove",this._onMouseMove,!1);var e=this._timeBarEle;e.removeEventListener("mousedown",this._onMouseDown,!1),e.removeEventListener("DOMMouseScroll",this._onMouseWheel,!1),e.removeEventListener("mousewheel",this._onMouseWheel,!1),e.removeEventListener("touchstart",this._onTouchStart,!1),e.removeEventListener("touchmove",this._onTouchMove,!1),e.removeEventListener("touchend",this._onTouchEnd,!1),this.container.removeChild(this._topDiv),i(this)},l.prototype.addHighlightRange=function(e,t){var r=new s(e,t);return this._highlightRanges.push(r),this.resize(),r},l.prototype.addTrack=function(e,t,r,i){var n=new a(e,t,r,i);return this._trackList.push(n),this._lastHeight=void 0,this.resize(),n},l.prototype.zoomTo=function(r,i){if(this._timeBarSecondsSpan=r.getSecondsDifference(i),this._timeBarSecondsSpan<=0)throw new e("Start time must come before end time.");if(this._startJulian=r,this._endJulian=i,this._clock&&this._clock.clockRange!==t.UNBOUNDED){var n=this._clock.startTime,o=this._clock.stopTime,a=n.getSecondsDifference(o),s=this._startJulian.getSecondsDifference(n),l=this._endJulian.getSecondsDifference(o);this._timeBarSecondsSpan>=a?(this._timeBarSecondsSpan=a,this._startJulian=this._clock.startTime,this._endJulian=this._clock.stopTime):s>0?(this._endJulian=this._endJulian.addSeconds(s),this._startJulian=n,this._timeBarSecondsSpan=this._startJulian.getSecondsDifference(this._endJulian)):0>l&&(this._startJulian=this._startJulian.addSeconds(l),this._endJulian=o,this._timeBarSecondsSpan=this._startJulian.getSecondsDifference(this._endJulian))}this._makeTics();var u=document.createEvent("Event");u.initEvent("setzoom",!0,!0),u.startJulian=this._startJulian,u.endJulian=this._endJulian,u.epochJulian=this._epochJulian,u.totalSpan=this._timeBarSecondsSpan,u.mainTicSpan=this._mainTicSpan,this._topDiv.dispatchEvent(u)},l.prototype.zoomFrom=function(e){var t=this._startJulian.getSecondsDifference(this._scrubJulian);e>1||0>t||t>this._timeBarSecondsSpan?t=.5*this._timeBarSecondsSpan:t+=t-.5*this._timeBarSecondsSpan;var r=this._timeBarSecondsSpan-t;this.zoomTo(this._startJulian.addSeconds(t-t*e),this._endJulian.addSeconds(r*e-r))},l.prototype.makeLabel=function(e){var t=e.toGregorianDate(),r=t.millisecond,i=" UTC";if(r>0&&this._timeBarSecondsSpan<3600){for(i=Math.floor(r).toString();i.length<3;)i="0"+i;i="."+i}return C[t.month-1]+" "+t.day+" "+t.year+" "+u(t.hour)+":"+u(t.minute)+":"+u(t.second)+i},l.prototype.smallestTicInPixels=7,l.prototype._makeTics=function(){function e(e){return Math.floor(x/e)*e}function t(e,t){return Math.ceil(e/t+.5)*t}function r(e){return(e-x)/v}function i(e,t){return e-t*Math.round(e/t)}var o,a=this._timeBarEle,s=this._startJulian.getSecondsDifference(this._scrubJulian),l=Math.round(s*this._topDiv.clientWidth/this._timeBarSecondsSpan),u=l-8,c=this;this._needleEle.style.left=l.toString()+"px";var h="",d=.01,m=31536e6,p=1e-10,f=0,v=this._timeBarSecondsSpan;d>v?(v=d,this._timeBarSecondsSpan=d,this._endJulian=this._startJulian.addSeconds(d)):v>m&&(v=m,this._timeBarSecondsSpan=m,this._endJulian=this._startJulian.addSeconds(m));var y=this._timeBarEle.clientWidth;10>y&&(y=10);var g,_=this._startJulian,C=Math.min(1e-5*(v/y),.4);g=v>31536e4?n.fromIso8601(_.toDate().toISOString().substring(0,2)+"00-01-01T00:00:00Z"):v>31536e3?n.fromIso8601(_.toDate().toISOString().substring(0,3)+"0-01-01T00:00:00Z"):v>86400?n.fromIso8601(_.toDate().toISOString().substring(0,4)+"-01-01T00:00:00Z"):n.fromIso8601(_.toDate().toISOString().substring(0,10)+"T00:00:00Z");var x=g.addSeconds(C).getSecondsDifference(this._startJulian),S=x+v;this._epochJulian=g,this._rulerEle.innerHTML=this.makeLabel(this._endJulian.addSeconds(-d));var E=this._rulerEle.offsetWidth+20,b=f;f-=p;var T={y:0,startTime:x,startJulian:_,epochJulian:g,duration:v,timeBarWidth:y,getAlpha:r};this._highlightRanges.forEach(function(e){h+=e.render(T)});var A=0,D=0,P=0,M=E/y;M>1&&(M=1),M*=this._timeBarSecondsSpan;var I,O=-1,R=-1,L=w.length;for(I=0;L>I;++I){var z=w[I];if(++O,A=z,z>M&&z>f)break;0>R&&y*(z/this._timeBarSecondsSpan)>=this.smallestTicInPixels&&(R=O)}if(O>0){for(;O>0;)if(--O,Math.abs(i(A,w[O]))<1e-5){w[O]>=f&&(D=w[O]);break}if(R>=0)for(;O>R;){if(Math.abs(i(D,w[R]))<1e-5&&w[R]>=f){P=w[R];break}++R}}f=b,f>p&&1e-5>P&&Math.abs(f-A)>p&&(P=f,A+p>=f&&(D=0));var N,B=-999999;if(y*(P/this._timeBarSecondsSpan)>=3)for(o=e(P);S>=o;o=t(o,P))h+='';if(y*(D/this._timeBarSecondsSpan)>=3)for(o=e(D);S>=o;o=t(o,D))h+='';if(y*(A/this._timeBarSecondsSpan)>=2){this._mainTicSpan=A,S+=A,o=e(A);for(var F=g.getTaiMinusUtc();S>=o;){var V=_.addSeconds(o-x);if(A>2.1){var k=V.getTaiMinusUtc();Math.abs(k-F)>.1&&(o+=k-F,V=_.addSeconds(o-x))}var U=Math.round(y*r(o)),W=this.makeLabel(V); -this._rulerEle.innerHTML=W,N=this._rulerEle.offsetWidth;var q=U-(N/2-1);q>B?(B=q+N+5,h+=''+''+W+""):h+='',o=t(o,A)}}else this._mainTicSpan=-1;h+='',a.innerHTML=h,this._scrubElement=a.lastChild,this._context.clearRect(0,0,this._trackListEle.width,this._trackListEle.height),T.y=0,this._trackList.forEach(function(e){e.render(c._context,T),T.y+=e.height})},l.prototype.updateFromClock=function(){this._scrubJulian=this._clock.currentTime;var e=this._scrubElement;if(r(this._scrubElement)){var t=this._startJulian.getSecondsDifference(this._scrubJulian),i=Math.round(t*this._topDiv.clientWidth/this._timeBarSecondsSpan);this._lastXPos!==i&&(this._lastXPos=i,e.style.left=i-8+"px",this._needleEle.style.left=i+"px")}r(this._timelineDragLocation)&&(this._setTimeBarTime(this._timelineDragLocation,this._timelineDragLocation*this._timeBarSecondsSpan/this._topDiv.clientWidth),this.zoomTo(this._startJulian.addSeconds(this._timelineDrag),this._endJulian.addSeconds(this._timelineDrag)))},l.prototype._setTimeBarTime=function(e,t){if(e=Math.round(e),this._scrubJulian=this._startJulian.addSeconds(t),this._scrubElement){var r=e-8;this._scrubElement.style.left=r.toString()+"px",this._needleEle.style.left=e.toString()+"px"}var i=document.createEvent("Event");i.initEvent("settime",!0,!0),i.clientX=e,i.timeSeconds=t,i.timeJulian=this._scrubJulian,i.clock=this._clock,this._topDiv.dispatchEvent(i)},l.prototype.resize=function(){var e=this.container.clientWidth,t=this.container.clientHeight;if(e!==this._lastWidth||t!==this._lastHeight){this._trackContainer.style.height=t+"px";var r=1;this._trackList.forEach(function(e){r+=e.height}),this._trackListEle.style.height=r.toString()+"px",this._trackListEle.width=this._trackListEle.clientWidth,this._trackListEle.height=r,this._makeTics(),this._lastWidth=e,this._lastHeight=t}},l}),r("Widgets/Viewer/Viewer",["../../Core/defaultValue","../../Core/defined","../../Core/DeveloperError","../../Core/defineProperties","../../Core/destroyObject","../../Core/Event","../../Core/EventHelper","../../Core/requestAnimationFrame","../../DynamicScene/DataSourceCollection","../../DynamicScene/DataSourceDisplay","../Animation/Animation","../Animation/AnimationViewModel","../BaseLayerPicker/BaseLayerPicker","../BaseLayerPicker/createDefaultBaseLayers","../CesiumWidget/CesiumWidget","../ClockViewModel","../FullscreenButton/FullscreenButton","../Geocoder/Geocoder","../getElement","../subscribeAndEvaluate","../HomeButton/HomeButton","../SceneModePicker/SceneModePicker","../Timeline/Timeline"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f,v,y,g,_,w,C,x){"use strict";function S(e){var t=e.clock;t.currentTime=e.timeJulian,t.shouldAnimate=!1}function E(e){function t(){if(!e.isDestroyed())try{e._useDefaultRenderLoop?(e.resize(),e.render(),s(t)):e._renderLoopRunning=!1}catch(r){e._useDefaultRenderLoop=!1,e._renderLoopRunning=!1,e._renderLoopError.raiseEvent(e,r),e._showRenderLoopErrors&&(e.cesiumWidget.showErrorPanel("An error occurred while rendering. Rendering has stopped.",r),console.error(r))}}e._renderLoopRunning=!0,s(t)}var b=function(i,n){function s(e){M.update(e.currentTime)}function E(e,r){if(1===e.getLength()){var i=r.getClock();t(i)&&(i.getValue(I),t(G)&&(G.updateFromClock(),G.zoomTo(i.startTime,i.stopTime)))}}if(!t(i))throw new r("container is required.");i=g(i),n=e(n,e.EMPTY_OBJECT);var b=!t(n.baseLayerPicker)||n.baseLayerPicker!==!1;if(b&&t(n.imageryProvider))throw new r("options.imageryProvider is not available when using the BaseLayerPicker widget. Either specify options.selectedImageryProviderViewModel instead or set options.baseLayerPicker to false.");if(!b&&t(n.selectedImageryProviderViewModel))throw new r("options.selectedImageryProviderViewModel is not available when not using the BaseLayerPicker widget. Either specify options.imageryProvider instead or set options.baseLayerPicker to true.");var T=document.createElement("div");T.className="cesium-viewer",i.appendChild(T);var A=document.createElement("div");A.className="cesium-viewer-cesiumWidgetContainer",T.appendChild(A);var D=new p(A,{terrainProvider:n.terrainProvider,imageryProvider:b?!1:n.imageryProvider,skyBox:n.skyBox,sceneMode:n.sceneMode,contextOptions:n.contextOptions,useDefaultRenderLoop:!1}),P=new l,M=new u(D.scene,P),I=D.clock,O=new f(I),R=new a,L=document.createElement("div");L.className="cesium-viewer-toolbar",T.appendChild(L);var z;if(!t(n.geocoder)||n.geocoder!==!1){var N=document.createElement("div");N.className="cesium-viewer-geocoderContainer",L.appendChild(N),z=new y({container:N,scene:D.scene,ellipsoid:D.centralBody.getEllipsoid()})}var B;t(n.homeButton)&&n.homeButton===!1||(B=new w(L,D.scene,D.sceneTransitioner,D.centralBody.getEllipsoid()),t(z)&&R.add(B.viewModel.command.afterExecute,function(){var e=z.viewModel;e.searchText="",e.isSearchInProgress&&e.search()}));var F;t(n.sceneModePicker)&&n.sceneModePicker===!1||(F=new C(L,D.sceneTransitioner));var V;if(b){var k=e(n.imageryProviderViewModels,m());V=new d(L,D.centralBody.getImageryLayers(),k),V.viewModel.selectedItem=e(n.selectedImageryProviderViewModel,k[0]);var U=L.getElementsByClassName("cesium-baseLayerPicker-dropDown");this._baseLayerPickerDropDown=U[0]}var W;if(!t(n.animation)||n.animation!==!1){var q=document.createElement("div");q.className="cesium-viewer-animationContainer",T.appendChild(q),W=new c(q,new h(O))}var G;if(!t(n.timeline)||n.timeline!==!1){var H=document.createElement("div");H.className="cesium-viewer-timelineContainer",T.appendChild(H),G=new x(H,I),G.addEventListener("settime",S,!1),G.zoomTo(I.startTime,I.stopTime)}var j;if(t(n.fullscreenButton)&&n.fullscreenButton===!1)t(G)&&(G.container.style.right=0);else{var Y=document.createElement("div");Y.className="cesium-viewer-fullscreenContainer",T.appendChild(Y),j=new v(Y,e(n.fullscreenElement,i)),this._fullscreenSubscription=_(j.viewModel,"isFullscreenEnabled",function(e){Y.style.display=e?"block":"none",t(G)&&(G.container.style.right=Y.clientWidth+"px",G.resize())})}R.add(I.onTick,s),R.add(P.dataSourceAdded,E),this._container=i,this._element=T,this._cesiumWidget=D,this._dataSourceCollection=P,this._dataSourceDisplay=M,this._clockViewModel=O,this._toolbar=L,this._homeButton=B,this._sceneModePicker=F,this._baseLayerPicker=V,this._animation=W,this._timeline=G,this._fullscreenButton=j,this._geocoder=z,this._eventHelper=R,this._lastWidth=0,this._lastHeight=0,this._useDefaultRenderLoop=void 0,this._renderLoopRunning=!1,this._showRenderLoopErrors=e(n.showRenderLoopErrors,!0),this._renderLoopError=new o,this.useDefaultRenderLoop=e(n.useDefaultRenderLoop,!0)};return i(b.prototype,{container:{get:function(){return this._container}},cesiumWidget:{get:function(){return this._cesiumWidget}},geocoder:{get:function(){return this._geocoder}},homeButton:{get:function(){return this._homeButton}},sceneModePicker:{get:function(){return this._sceneModePicker}},baseLayerPicker:{get:function(){return this._baseLayerPicker}},animation:{get:function(){return this._animation}},timeline:{get:function(){return this._timeline}},fullscreenButton:{get:function(){return this._fullscreenButton}},dataSourceDisplay:{get:function(){return this._dataSourceDisplay}},dataSources:{get:function(){return this._dataSourceCollection}},canvas:{get:function(){return this._cesiumWidget.canvas}},cesiumLogo:{get:function(){return this._cesiumWidget.cesiumLogo}},scene:{get:function(){return this._cesiumWidget.scene}},centralBody:{get:function(){return this._cesiumWidget.centralBody}},clock:{get:function(){return this._cesiumWidget.clock}},sceneTransitioner:{get:function(){return this._cesiumWidget.sceneTransitioner}},screenSpaceEventHandler:{get:function(){return this._cesiumWidget.screenSpaceEventHandler}},renderLoopError:{get:function(){return this._renderLoopError}},useDefaultRenderLoop:{get:function(){return this._useDefaultRenderLoop},set:function(e){this._useDefaultRenderLoop!==e&&(this._useDefaultRenderLoop=e,e&&!this._renderLoopRunning&&E(this))}}}),b.prototype.extend=function(e,i){if(!t(e))throw new r("mixin is required.");e(this,i)},b.prototype.resize=function(){var e=this._cesiumWidget;e.resize();var r=this._container,i=r.clientWidth,n=r.clientHeight;if(i!==this._lastWidth||n!==this._lastHeight){var o=this._baseLayerPickerDropDown;if(t(o)){var a=n-125;o.style.maxHeight=a+"px"}var s,l=t(this._timeline),u=t(this._animation),c=!u,h=0;if(u){var d=this._lastWidth;s=this._animation.container,i>900?900>=d&&(h=169,s.style.width="169px",s.style.height="112px",c=!0,this._animation.resize()):i>=600?(600>d||d>900)&&(h=136,s.style.width="136px",s.style.height="90px",c=!0,this._animation.resize()):(d>600||0===d)&&(h=106,s.style.width="106px",s.style.height="70px",c=!0,this._animation.resize())}if(c){var m=0,p=h+5;if(l&&(m=this._timeline.container.clientHeight+3,this._timeline.container.style.left=h+"px"),l||u){var f=e.creditContainer;f.style.bottom=m+"px",f.style.left=p+"px"}}l&&this._timeline.resize(),this._lastWidth=i,this._lastHeight=n}},b.prototype.render=function(){this._cesiumWidget.render()},b.prototype.isDestroyed=function(){return!1},b.prototype.destroy=function(){return this._container.removeChild(this._element),this._element.removeChild(this._toolbar),this._eventHelper.removeAll(),t(this._geocoder)&&(this._geocoder=this._geocoder.destroy()),t(this._homeButton)&&(this._homeButton=this._homeButton.destroy()),t(this._sceneModePicker)&&(this._sceneModePicker=this._sceneModePicker.destroy()),t(this._baseLayerPicker)&&(this._baseLayerPicker=this._baseLayerPicker.destroy()),t(this._animation)&&(this._element.removeChild(this._animation.container),this._animation=this._animation.destroy()),t(this._timeline)&&(this._timeline.removeEventListener("settime",S,!1),this._element.removeChild(this._timeline.container),this._timeline=this._timeline.destroy()),t(this._fullscreenButton)&&(this._fullscreenSubscription.dispose(),this._element.removeChild(this._fullscreenButton.container),this._fullscreenButton=this._fullscreenButton.destroy()),this._clockViewModel=this._clockViewModel.destroy(),this._dataSourceDisplay=this._dataSourceDisplay.destroy(),this._cesiumWidget=this._cesiumWidget.destroy(),this._dataSourceCollection=this._dataSourceCollection.destroy(),n(this)},b}),r("Widgets/Viewer/viewerDragDropMixin",["../../Core/defaultValue","../../Core/defined","../../Core/DeveloperError","../../Core/defineProperties","../../Core/Event","../../Core/wrapFunction","../../DynamicScene/CzmlDataSource","../../DynamicScene/GeoJsonDataSource","../../ThirdParty/when","../getElement"],function(e,t,r,i,n,o,a,s,l,u){"use strict";function c(e){e.stopPropagation(),e.preventDefault()}function h(e,r){var i=e;t(i)&&(i.removeEventListener("drop",r,!1),i.removeEventListener("dragenter",c,!1),i.removeEventListener("dragover",c,!1),i.removeEventListener("dragexit",c,!1))}function d(e,t){e.addEventListener("drop",t,!1),e.addEventListener("dragenter",c,!1),e.addEventListener("dragover",c,!1),e.addEventListener("dragexit",c,!1)}function m(e,t){var r=e.length,i=t.length;return r>i&&-1!==e.indexOf(t,r-i)}function p(e,t){var r,i=t.toUpperCase();if(m(i,".CZML"))r=a;else{if(!(m(i,".GEOJSON")||m(i,".JSON")||m(i,".TOPOJSON")))return e.dropError.raiseEvent(e,t,"Unrecognized file extension: "+t),void 0;r=s}return function(i){var n=new r;try{l(n.load(JSON.parse(i.target.result),t),function(){e.dataSources.add(n)},function(r){e.dropError.raiseEvent(e,t,r)})}catch(o){e.dropError.raiseEvent(e,t,o)}}}function f(e,t){return function(r){e.dropError.raiseEvent(e,t,r.target.error)}}var v=function(a,s){function l(e){c(e),y&&a.dataSources.removeAll();for(var t=e.dataTransfer.files,r=t.length,i=0;r>i;i++){var n=t[i],o=new FileReader;o.onload=p(a,n.name),o.onerror=f(a,n.name),o.readAsText(n)}}if(!t(a))throw new r("viewer is required.");if(a.hasOwnProperty("dropTarget"))throw new r("dropTarget is already defined by another mixin.");if(a.hasOwnProperty("dropEnabled"))throw new r("dropEnabled is already defined by another mixin.");if(a.hasOwnProperty("dropError"))throw new r("dropError is already defined by another mixin.");if(a.hasOwnProperty("clearOnDrop"))throw new r("clearOnDrop is already defined by another mixin.");s=e(s,e.EMPTY_OBJECT);var m=!0,v=new n,y=e(s.clearOnDrop,!0),g=e(s.dropTarget,a.container);g=u(g),i(a,{dropTarget:{get:function(){return g},set:function(e){if(!t(e))throw new r("value is required.");h(g,l),g=e,d(g,l)}},dropEnabled:{get:function(){return m},set:function(e){e!==m&&(e?d(g,l):h(g,l),m=e)}},dropError:{get:function(){return v}},clearOnDrop:{get:function(){return y},set:function(e){y=e}}}),d(g,l),a.destroy=o(a,a.destroy,function(){a.dropEnabled=!1}),a._handleDrop=l};return v}),r("Widgets/Viewer/viewerDynamicObjectMixin",["../../Core/defined","../../Core/DeveloperError","../../Core/defineProperties","../../Core/Event","../../Core/EventHelper","../../Core/ScreenSpaceEventType","../../Core/wrapFunction","../../Scene/SceneMode","../../DynamicScene/DynamicObjectView"],function(e,t,r,i,n,o,a,s,l){"use strict";var u=function(u){function c(t){e(y)&&y.update(t.currentTime)}function h(t){var r=u.scene.pick(t.position);e(r)&&e(r.primitive)&&e(r.primitive.dynamicObject)&&e(r.primitive.dynamicObject.position)&&(u.trackedObject=r.primitive.dynamicObject)}function d(){u.trackedObject=void 0}function m(e,t,r){for(var i=r.length,n=0;i>n;n++){var o=r[n];if(u.trackedObject===o){u.homeButton.viewModel.command();break}}}function p(e,t){t.getDynamicObjectCollection().collectionChanged.addEventListener(m)}function f(t,r){r.getDynamicObjectCollection().collectionChanged.removeEventListener(m),e(v)&&r.getDynamicObjectCollection().getById(u.trackedObject.id)===u.trackedObject&&u.homeButton.viewModel.command()}if(!e(u))throw new t("viewer is required.");if(u.hasOwnProperty("trackedObject"))throw new t("trackedObject is already defined by another mixin.");if(u.hasOwnProperty("objectTracked"))throw new t("objectTracked is already defined by another mixin.");var v,y,g=new n,_=new i;g.add(u.clock.onTick,c),e(u.homeButton)&&g.add(u.homeButton.viewModel.command.beforeExecute,d),e(u.geocoder)&&g.add(u.geocoder.viewModel.search.beforeExecute,d);for(var w=u.dataSources,C=w.getLength(),x=0;C>x;x++)p(w,w.get(x));g.add(u.dataSources.dataSourceAdded,p),g.add(u.dataSources.dataSourceRemoved,f),u.screenSpaceEventHandler.setInputAction(h,o.LEFT_CLICK),r(u,{trackedObject:{get:function(){return v},set:function(t){var r=u.scene.getFrameState().mode;(r===s.COLUMBUS_VIEW||r===s.SCENE2D)&&(u.scene.getScreenSpaceCameraController().enableTranslate=!e(t)),(r===s.COLUMBUS_VIEW||r===s.SCENE3D)&&(u.scene.getScreenSpaceCameraController().enableTilt=!e(t)),v!==t&&(v=t,y=e(t)?new l(t,u.scene,u.centralBody.getEllipsoid()):void 0,_.raiseEvent(u,t))}},objectTracked:{get:function(){return _}}}),u.destroy=a(u,u.destroy,function(){g.removeAll(),u.screenSpaceEventHandler.removeInputAction(o.LEFT_CLICK);for(var e=u.dataSources,t=e.getLength(),r=0;t>r;r++)f(e,e.get(r))})};return u}),r("Widgets/checkForChromeFrame",["../Core/FeatureDetection","./getElement","../ThirdParty/when"],function(e,t,r){"use strict";function i(e){e=t(e);var r=document.createElement("div");r.className="cesium-chromeFrameOverlay";var i=document.createElement("div");r.appendChild(i),i.innerHTML='Cesium requires WebGL, an open standard for displaying 3D content in a web browser. To enable WebGL in Internet Explorer, we recommend installing Google Chrome Frame, a free, unobtrusive plug-in offered by Google. To learn more about WebGL, visit http://www.khronos.org/webgl/.

Would you like to install Chrome Frame now?

';var n=document.createElement("p");i.appendChild(n);var o=document.createElement("a");o.href="#",o.innerHTML="Yes, install Google Chrome Frame",o.onclick=function(){window.CFInstall.check({mode:"overlay",destination:document.URL}),e.removeChild(r)},n.appendChild(o),n=document.createElement("p"),i.appendChild(n);var a=document.createElement("a");a.href="#",a.innerHTML="No, not at this time",a.onclick=function(){e.removeChild(r)},n.appendChild(a),e.appendChild(r)}var n=function(t){var n=r.defer();if(e.isInternetExplorer()){var o=document.createElement("script");o.type="text/javascript",o.src="//ajax.googleapis.com/ajax/libs/chrome-frame/1/CFInstall.min.js";var a=document.getElementsByTagName("head")[0];a.appendChild(o);var s=setInterval(function(){if(window.CFInstall){clearInterval(s);var e=!1;window.CFInstall.check({mode:"overlay",preventPrompt:!0,onmissing:function(){e=!0}}),e&&i(t),n.resolve(e)}},50)}else n.resolve(!1);return n.promise};return n}),r("Workers/createTaskProcessorWorker",["../Core/defaultValue","../Core/defined"],function(e,t){"use strict";var r=function(r){var i,n=[],o={id:void 0,result:void 0,error:void 0};return function(a){var s=a.data;n.length=0,o.id=s.id,o.error=void 0,o.result=void 0;try{o.result=r(s.parameters,n)}catch(l){o.error=l}t(i)||(i=e(self.webkitPostMessage,self.postMessage));try{i(o,n)}catch(l){o.result=void 0,o.error="postMessage failed with error: "+l+"\n with responseMessage: "+JSON.stringify(o),i(o)}}};return r}),r("Cesium",["./Core/AxisAlignedBoundingBox","./Core/BingMapsApi","./Core/BoundingRectangle","./Core/BoundingSphere","./Core/BoxGeometry","./Core/BoxOutlineGeometry","./Core/Cartesian2","./Core/Cartesian3","./Core/Cartesian4","./Core/Cartographic","./Core/CatmullRomSpline","./Core/CircleGeometry","./Core/CircleOutlineGeometry","./Core/Clock","./Core/ClockRange","./Core/ClockStep","./Core/Color","./Core/ColorGeometryInstanceAttribute","./Core/ComponentDatatype","./Core/CornerType","./Core/CorridorGeometry","./Core/CorridorGeometryLibrary","./Core/CorridorOutlineGeometry","./Core/CubicRealPolynomial","./Core/CylinderGeometry","./Core/CylinderGeometryLibrary","./Core/CylinderOutlineGeometry","./Core/DefaultProxy","./Core/DeveloperError","./Core/EarthOrientationParameters","./Core/EarthOrientationParametersSample","./Core/EllipseGeometry","./Core/EllipseGeometryLibrary","./Core/EllipseOutlineGeometry","./Core/Ellipsoid","./Core/EllipsoidGeodesic","./Core/EllipsoidGeometry","./Core/EllipsoidOutlineGeometry","./Core/EllipsoidTangentPlane","./Core/EllipsoidalOccluder","./Core/EncodedCartesian3","./Core/Enumeration","./Core/Event","./Core/EventHelper","./Core/Extent","./Core/ExtentGeometry","./Core/ExtentOutlineGeometry","./Core/FAR","./Core/FeatureDetection","./Core/Fullscreen","./Core/GeographicProjection","./Core/Geometry","./Core/GeometryAttribute","./Core/GeometryAttributes","./Core/GeometryInstance","./Core/GeometryInstanceAttribute","./Core/GeometryPipeline","./Core/HeightmapTessellator","./Core/HermitePolynomialApproximation","./Core/HermiteSpline","./Core/Iau2000Orientation","./Core/Iau2006XysData","./Core/Iau2006XysSample","./Core/IauOrientationAxes","./Core/IauOrientationParameters","./Core/IndexDatatype","./Core/InterpolationAlgorithm","./Core/Intersect","./Core/IntersectionTests","./Core/Interval","./Core/Iso8601","./Core/JulianDate","./Core/KeyboardEventModifier","./Core/LagrangePolynomialApproximation","./Core/LeapSecond","./Core/LinearApproximation","./Core/LinearSpline","./Core/Math","./Core/Matrix2","./Core/Matrix3","./Core/Matrix4","./Core/NearFarScalar","./Core/ObjectOrientedBoundingBox","./Core/Occluder","./Core/Packable","./Core/PackableForInterpolation","./Core/Plane","./Core/PolygonGeometry","./Core/PolygonGeometryLibrary","./Core/PolygonOutlineGeometry","./Core/PolygonPipeline","./Core/PolylineGeometry","./Core/PolylinePipeline","./Core/PolylineVolumeGeometry","./Core/PolylineVolumeGeometryLibrary","./Core/PolylineVolumeOutlineGeometry","./Core/PrimitiveType","./Core/QuadraticRealPolynomial","./Core/QuarticRealPolynomial","./Core/Quaternion","./Core/QuaternionSpline","./Core/Queue","./Core/Ray","./Core/ReferenceFrame","./Core/RequestErrorEvent","./Core/RuntimeError","./Core/ScreenSpaceEventHandler","./Core/ScreenSpaceEventType","./Core/Shapes","./Core/ShowGeometryInstanceAttribute","./Core/Simon1994PlanetaryPositions","./Core/SimplePolylineGeometry","./Core/SphereGeometry","./Core/SphereOutlineGeometry","./Core/Spherical","./Core/Spline","./Core/TaskProcessor","./Core/TimeConstants","./Core/TimeInterval","./Core/TimeIntervalCollection","./Core/TimeStandard","./Core/Tipsify","./Core/Transforms","./Core/TridiagonalSystemSolver","./Core/VertexFormat","./Core/Visibility","./Core/WallGeometry","./Core/WallGeometryLibrary","./Core/WallOutlineGeometry","./Core/WebMercatorProjection","./Core/WindingOrder","./Core/barycentricCoordinates","./Core/binarySearch","./Core/buildModuleUrl","./Core/cancelAnimationFrame","./Core/clone","./Core/combine","./Core/createGuid","./Core/defaultValue","./Core/defineProperties","./Core/defined","./Core/destroyObject","./Core/freezeObject","./Core/getFilenameFromUri","./Core/getImagePixels","./Core/isCrossOriginUrl","./Core/isLeapYear","./Core/jsonp","./Core/loadArrayBuffer","./Core/loadBlob","./Core/loadImage","./Core/loadImageViaBlob","./Core/loadJson","./Core/loadText","./Core/loadWithXhr","./Core/loadXML","./Core/pointInsideTriangle","./Core/requestAnimationFrame","./Core/throttleRequestByServer","./Core/wrapFunction","./Core/writeTextToCanvas","./DynamicScene/ColorMaterialProperty","./DynamicScene/CompositeDynamicObjectCollection","./DynamicScene/CompositeMaterialProperty","./DynamicScene/CompositePositionProperty","./DynamicScene/CompositeProperty","./DynamicScene/ConstantPositionProperty","./DynamicScene/ConstantProperty","./DynamicScene/CzmlDataSource","./DynamicScene/DataSource","./DynamicScene/DataSourceCollection","./DynamicScene/DataSourceDisplay","./DynamicScene/DynamicBillboard","./DynamicScene/DynamicBillboardVisualizer","./DynamicScene/DynamicClock","./DynamicScene/DynamicCone","./DynamicScene/DynamicConeVisualizerUsingCustomSensor","./DynamicScene/DynamicDirectionsProperty","./DynamicScene/DynamicEllipse","./DynamicScene/DynamicEllipsoid","./DynamicScene/DynamicEllipsoidVisualizer","./DynamicScene/DynamicLabel","./DynamicScene/DynamicLabelVisualizer","./DynamicScene/DynamicObject","./DynamicScene/DynamicObjectCollection","./DynamicScene/DynamicObjectView","./DynamicScene/DynamicPath","./DynamicScene/DynamicPathVisualizer","./DynamicScene/DynamicPoint","./DynamicScene/DynamicPointVisualizer","./DynamicScene/DynamicPolygon","./DynamicScene/DynamicPolygonVisualizer","./DynamicScene/DynamicPolyline","./DynamicScene/DynamicPolylineVisualizer","./DynamicScene/DynamicPyramid","./DynamicScene/DynamicPyramidVisualizer","./DynamicScene/DynamicVector","./DynamicScene/DynamicVectorVisualizer","./DynamicScene/DynamicVertexPositionsProperty","./DynamicScene/GeoJsonDataSource","./DynamicScene/GridMaterialProperty","./DynamicScene/ImageMaterialProperty","./DynamicScene/MaterialProperty","./DynamicScene/PolylineOutlineMaterialProperty","./DynamicScene/PositionProperty","./DynamicScene/Property","./DynamicScene/ReferenceProperty","./DynamicScene/SampledPositionProperty","./DynamicScene/SampledProperty","./DynamicScene/TimeIntervalCollectionPositionProperty","./DynamicScene/TimeIntervalCollectionProperty","./DynamicScene/VisualizerCollection","./DynamicScene/createDynamicPropertyDescriptor","./Renderer/AutomaticUniforms","./Renderer/BlendEquation","./Renderer/BlendFunction","./Renderer/BlendingState","./Renderer/Buffer","./Renderer/BufferUsage","./Renderer/ClearCommand","./Renderer/Context","./Renderer/CubeMap","./Renderer/CubeMapFace","./Renderer/CullFace","./Renderer/DepthFunction","./Renderer/DrawCommand","./Renderer/Framebuffer","./Renderer/MipmapHint","./Renderer/Pass","./Renderer/PassState","./Renderer/PickFramebuffer","./Renderer/PixelDatatype","./Renderer/PixelFormat","./Renderer/RenderState","./Renderer/Renderbuffer","./Renderer/RenderbufferFormat","./Renderer/ShaderCache","./Renderer/ShaderProgram","./Renderer/StencilFunction","./Renderer/StencilOperation","./Renderer/Texture","./Renderer/TextureAtlas","./Renderer/TextureAtlasBuilder","./Renderer/TextureMagnificationFilter","./Renderer/TextureMinificationFilter","./Renderer/TextureWrap","./Renderer/UniformDatatype","./Renderer/UniformState","./Renderer/VertexArray","./Renderer/VertexArrayFacade","./Renderer/VertexLayout","./Renderer/createShaderSource","./Renderer/loadCubeMap","./Scene/AnimationCollection","./Scene/Appearance","./Scene/ArcGisImageServerTerrainProvider","./Scene/ArcGisMapServerImageryProvider","./Scene/Billboard","./Scene/BillboardCollection","./Scene/BingMapsImageryProvider","./Scene/BingMapsStyle","./Scene/Camera","./Scene/CameraColumbusViewMode","./Scene/CameraController","./Scene/CameraEventAggregator","./Scene/CameraEventType","./Scene/CameraFlightPath","./Scene/CentralBody","./Scene/CentralBodySurface","./Scene/CentralBodySurfaceShaderSet","./Scene/CesiumTerrainProvider","./Scene/CompositePrimitive","./Scene/Credit","./Scene/CreditDisplay","./Scene/CullingVolume","./Scene/CustomSensorVolume","./Scene/DebugAppearance","./Scene/DebugModelMatrixPrimitive","./Scene/DiscardMissingTileImagePolicy","./Scene/EllipsoidPrimitive","./Scene/EllipsoidSurfaceAppearance","./Scene/EllipsoidTerrainProvider","./Scene/ExtentPrimitive","./Scene/FrameState","./Scene/FrustumCommands","./Scene/GeographicTilingScheme","./Scene/GoogleEarthImageryProvider","./Scene/GridImageryProvider","./Scene/HeightmapTerrainData","./Scene/HorizontalOrigin","./Scene/Imagery","./Scene/ImageryLayer","./Scene/ImageryLayerCollection","./Scene/ImageryProvider","./Scene/ImageryState","./Scene/Label","./Scene/LabelCollection","./Scene/LabelStyle","./Scene/Material","./Scene/MaterialAppearance","./Scene/Moon","./Scene/NeverTileDiscardPolicy","./Scene/OpenStreetMapImageryProvider","./Scene/OrthographicFrustum","./Scene/PerInstanceColorAppearance","./Scene/PerformanceDisplay","./Scene/PerspectiveFrustum","./Scene/PerspectiveOffCenterFrustum","./Scene/Polygon","./Scene/Polyline","./Scene/PolylineCollection","./Scene/PolylineColorAppearance","./Scene/PolylineMaterialAppearance","./Scene/Primitive","./Scene/PrimitivePipeline","./Scene/PrimitiveState","./Scene/RectangularPyramidSensorVolume","./Scene/Scene","./Scene/SceneMode","./Scene/SceneTransforms","./Scene/SceneTransitioner","./Scene/ScreenSpaceCameraController","./Scene/SensorVolumeCollection","./Scene/SingleTileImageryProvider","./Scene/SkyAtmosphere","./Scene/SkyBox","./Scene/Sun","./Scene/SunPostProcess","./Scene/TerrainData","./Scene/TerrainMesh","./Scene/TerrainProvider","./Scene/TerrainState","./Scene/TexturePool","./Scene/Tile","./Scene/TileCoordinatesImageryProvider","./Scene/TileDiscardPolicy","./Scene/TileImagery","./Scene/TileMapServiceImageryProvider","./Scene/TileProviderError","./Scene/TileReplacementQueue","./Scene/TileState","./Scene/TileTerrain","./Scene/TilingScheme","./Scene/VRTheWorldTerrainProvider","./Scene/VerticalOrigin","./Scene/ViewportQuad","./Scene/WebMapServiceImageryProvider","./Scene/WebMercatorTilingScheme","./Scene/createTangentSpaceDebugPrimitive","./Scene/sampleTerrain","./ThirdParty/Tween","./ThirdParty/Uri","./ThirdParty/knockout-3.0.0","./ThirdParty/knockout-es5","./ThirdParty/knockout","./ThirdParty/measureText","./ThirdParty/mersenne-twister","./ThirdParty/sprintf","./ThirdParty/topojson","./ThirdParty/weakmap","./ThirdParty/when","./Widgets/Animation/Animation","./Widgets/Animation/AnimationViewModel","./Widgets/BaseLayerPicker/BaseLayerPicker","./Widgets/BaseLayerPicker/BaseLayerPickerViewModel","./Widgets/BaseLayerPicker/ImageryProviderViewModel","./Widgets/BaseLayerPicker/createDefaultBaseLayers","./Widgets/CesiumWidget/CesiumWidget","./Widgets/ClockViewModel","./Widgets/Command","./Widgets/FullscreenButton/FullscreenButton","./Widgets/FullscreenButton/FullscreenButtonViewModel","./Widgets/Geocoder/Geocoder","./Widgets/Geocoder/GeocoderViewModel","./Widgets/HomeButton/HomeButton","./Widgets/HomeButton/HomeButtonViewModel","./Widgets/Observable","./Widgets/SceneModePicker/SceneModePicker","./Widgets/SceneModePicker/SceneModePickerViewModel","./Widgets/SvgPathBindingHandler","./Widgets/Timeline/Timeline","./Widgets/Timeline/TimelineHighlightRange","./Widgets/Timeline/TimelineTrack","./Widgets/ToggleButtonViewModel","./Widgets/Viewer/Viewer","./Widgets/Viewer/viewerDragDropMixin","./Widgets/Viewer/viewerDynamicObjectMixin","./Widgets/checkForChromeFrame","./Widgets/createCommand","./Widgets/getElement","./Widgets/subscribeAndEvaluate","./Workers/createTaskProcessorWorker"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f,v,y,g,_,w,C,x,S,E,b,T,A,D,P,M,I,O,R,L,z,N,B,F,V,k,U,W,q,G,H,j,Y,X,Z,J,K,Q,$,et,tt,rt,it,nt,ot,at,st,lt,ut,ct,ht,dt,mt,pt,ft,vt,yt,gt,_t,wt,Ct,xt,St,Et,bt,Tt,At,Dt,Pt,Mt,It,Ot,Rt,Lt,zt,Nt,Bt,Ft,Vt,kt,Ut,Wt,qt,Gt,Ht,jt,Yt,Xt,Zt,Jt,Kt,Qt,$t,er,tr,rr,ir,nr,or,ar,sr,lr,ur,cr,hr,dr,mr,pr,fr,vr,yr,gr,_r,wr,Cr,xr,Sr,Er,br,Tr,Ar,Dr,Pr,Mr,Ir,Or,Rr,Lr,zr,Nr,Br,Fr,Vr,kr,Ur,Wr,qr,Gr,Hr,jr,Yr,Xr,Zr,Jr,Kr,Qr,$r,ei,ti,ri,ii,ni,oi,ai,si,li,ui,ci,hi,di,mi,pi,fi,vi,yi,gi,_i,wi,Ci,xi,Si,Ei,bi,Ti,Ai,Di,Pi,Mi,Ii,Oi,Ri,Li,zi,Ni,Bi,Fi,Vi,ki,Ui,Wi,qi,Gi,Hi,ji,Yi,Xi,Zi,Ji,Ki,Qi,$i,en,tn,rn,nn,on,an,sn,ln,un,cn,hn,dn,mn,pn,fn,vn,yn,gn,_n,wn,Cn,xn,Sn,En,bn,Tn,An,Dn,Pn,Mn,In,On,Rn,Ln,zn,Nn,Bn,Fn,Vn,kn,Un,Wn,qn,Gn,Hn,jn,Yn,Xn,Zn,Jn,Kn,Qn,$n,eo,to,ro,io,no,oo,ao,so,lo,uo,co,ho,mo,po,fo,vo,yo,go,_o,wo,Co,xo,So,Eo,bo,To,Ao,Do,Po,Mo,Io,Oo,Ro,Lo,zo,No,Bo,Fo,Vo,ko,Uo,Wo,qo,Go,Ho,jo,Yo,Xo,Zo,Jo,Ko,Qo,$o,ea,ta,ra,ia,na,oa,aa,sa,la,ua,ca,ha,da,ma,pa,fa,va,ya,ga,_a,wa,Ca,xa,Sa,Ea,ba,Ta,Aa,Da,Pa,Ma,Ia,Oa,Ra,La,za,Na,Ba,Fa,Va,ka,Ua,Wa,qa,Ga,Ha,ja,Ya,Xa,Za,Ja,Ka,Qa,$a,es,ts,rs,is,ns,os,as,ss,ls,us,cs,hs,ds,ms,ps,fs){"use strict";var vs={_shaders:{}};return vs.AxisAlignedBoundingBox=e,vs.BingMapsApi=t,vs.BoundingRectangle=r,vs.BoundingSphere=i,vs.BoxGeometry=n,vs.BoxOutlineGeometry=o,vs.Cartesian2=a,vs.Cartesian3=s,vs.Cartesian4=l,vs.Cartographic=u,vs.CatmullRomSpline=c,vs.CircleGeometry=h,vs.CircleOutlineGeometry=d,vs.Clock=m,vs.ClockRange=p,vs.ClockStep=f,vs.Color=v,vs.ColorGeometryInstanceAttribute=y,vs.ComponentDatatype=g,vs.CornerType=_,vs.CorridorGeometry=w,vs.CorridorGeometryLibrary=C,vs.CorridorOutlineGeometry=x,vs.CubicRealPolynomial=S,vs.CylinderGeometry=E,vs.CylinderGeometryLibrary=b,vs.CylinderOutlineGeometry=T,vs.DefaultProxy=A,vs.DeveloperError=D,vs.EarthOrientationParameters=P,vs.EarthOrientationParametersSample=M,vs.EllipseGeometry=I,vs.EllipseGeometryLibrary=O,vs.EllipseOutlineGeometry=R,vs.Ellipsoid=L,vs.EllipsoidGeodesic=z,vs.EllipsoidGeometry=N,vs.EllipsoidOutlineGeometry=B,vs.EllipsoidTangentPlane=F,vs.EllipsoidalOccluder=V,vs.EncodedCartesian3=k,vs.Enumeration=U,vs.Event=W,vs.EventHelper=q,vs.Extent=G,vs.ExtentGeometry=H,vs.ExtentOutlineGeometry=j,vs.FAR=Y,vs.FeatureDetection=X,vs.Fullscreen=Z,vs.GeographicProjection=J,vs.Geometry=K,vs.GeometryAttribute=Q,vs.GeometryAttributes=$,vs.GeometryInstance=et,vs.GeometryInstanceAttribute=tt,vs.GeometryPipeline=rt,vs.HeightmapTessellator=it,vs.HermitePolynomialApproximation=nt,vs.HermiteSpline=ot,vs.Iau2000Orientation=at,vs.Iau2006XysData=st,vs.Iau2006XysSample=lt,vs.IauOrientationAxes=ut,vs.IauOrientationParameters=ct,vs.IndexDatatype=ht,vs.InterpolationAlgorithm=dt,vs.Intersect=mt,vs.IntersectionTests=pt,vs.Interval=ft,vs.Iso8601=vt,vs.JulianDate=yt,vs.KeyboardEventModifier=gt,vs.LagrangePolynomialApproximation=_t,vs.LeapSecond=wt,vs.LinearApproximation=Ct,vs.LinearSpline=xt,vs.Math=St,vs.Matrix2=Et,vs.Matrix3=bt,vs.Matrix4=Tt,vs.NearFarScalar=At,vs.ObjectOrientedBoundingBox=Dt,vs.Occluder=Pt,vs.Packable=Mt,vs.PackableForInterpolation=It,vs.Plane=Ot,vs.PolygonGeometry=Rt,vs.PolygonGeometryLibrary=Lt,vs.PolygonOutlineGeometry=zt,vs.PolygonPipeline=Nt,vs.PolylineGeometry=Bt,vs.PolylinePipeline=Ft,vs.PolylineVolumeGeometry=Vt,vs.PolylineVolumeGeometryLibrary=kt,vs.PolylineVolumeOutlineGeometry=Ut,vs.PrimitiveType=Wt,vs.QuadraticRealPolynomial=qt,vs.QuarticRealPolynomial=Gt,vs.Quaternion=Ht,vs.QuaternionSpline=jt,vs.Queue=Yt,vs.Ray=Xt,vs.ReferenceFrame=Zt,vs.RequestErrorEvent=Jt,vs.RuntimeError=Kt,vs.ScreenSpaceEventHandler=Qt,vs.ScreenSpaceEventType=$t,vs.Shapes=er,vs.ShowGeometryInstanceAttribute=tr,vs.Simon1994PlanetaryPositions=rr,vs.SimplePolylineGeometry=ir,vs.SphereGeometry=nr,vs.SphereOutlineGeometry=or,vs.Spherical=ar,vs.Spline=sr,vs.TaskProcessor=lr,vs.TimeConstants=ur,vs.TimeInterval=cr,vs.TimeIntervalCollection=hr,vs.TimeStandard=dr,vs.Tipsify=mr,vs.Transforms=pr,vs.TridiagonalSystemSolver=fr,vs.VertexFormat=vr,vs.Visibility=yr,vs.WallGeometry=gr,vs.WallGeometryLibrary=_r,vs.WallOutlineGeometry=wr,vs.WebMercatorProjection=Cr,vs.WindingOrder=xr,vs.barycentricCoordinates=Sr,vs.binarySearch=Er,vs.buildModuleUrl=br,vs.cancelAnimationFrame=Tr,vs.clone=Ar,vs.combine=Dr,vs.createGuid=Pr,vs.defaultValue=Mr,vs.defineProperties=Ir,vs.defined=Or,vs.destroyObject=Rr,vs.freezeObject=Lr,vs.getFilenameFromUri=zr,vs.getImagePixels=Nr,vs.isCrossOriginUrl=Br,vs.isLeapYear=Fr,vs.jsonp=Vr,vs.loadArrayBuffer=kr,vs.loadBlob=Ur,vs.loadImage=Wr,vs.loadImageViaBlob=qr,vs.loadJson=Gr,vs.loadText=Hr,vs.loadWithXhr=jr,vs.loadXML=Yr,vs.pointInsideTriangle=Xr,vs.requestAnimationFrame=Zr,vs.throttleRequestByServer=Jr,vs.wrapFunction=Kr,vs.writeTextToCanvas=Qr,vs.ColorMaterialProperty=$r,vs.CompositeDynamicObjectCollection=ei,vs.CompositeMaterialProperty=ti,vs.CompositePositionProperty=ri,vs.CompositeProperty=ii,vs.ConstantPositionProperty=ni,vs.ConstantProperty=oi,vs.CzmlDataSource=ai,vs.DataSource=si,vs.DataSourceCollection=li,vs.DataSourceDisplay=ui,vs.DynamicBillboard=ci,vs.DynamicBillboardVisualizer=hi,vs.DynamicClock=di,vs.DynamicCone=mi,vs.DynamicConeVisualizerUsingCustomSensor=pi,vs.DynamicDirectionsProperty=fi,vs.DynamicEllipse=vi,vs.DynamicEllipsoid=yi,vs.DynamicEllipsoidVisualizer=gi,vs.DynamicLabel=_i,vs.DynamicLabelVisualizer=wi,vs.DynamicObject=Ci,vs.DynamicObjectCollection=xi,vs.DynamicObjectView=Si,vs.DynamicPath=Ei,vs.DynamicPathVisualizer=bi,vs.DynamicPoint=Ti,vs.DynamicPointVisualizer=Ai,vs.DynamicPolygon=Di,vs.DynamicPolygonVisualizer=Pi,vs.DynamicPolyline=Mi,vs.DynamicPolylineVisualizer=Ii,vs.DynamicPyramid=Oi,vs.DynamicPyramidVisualizer=Ri,vs.DynamicVector=Li,vs.DynamicVectorVisualizer=zi,vs.DynamicVertexPositionsProperty=Ni,vs.GeoJsonDataSource=Bi,vs.GridMaterialProperty=Fi,vs.ImageMaterialProperty=Vi,vs.MaterialProperty=ki,vs.PolylineOutlineMaterialProperty=Ui,vs.PositionProperty=Wi,vs.Property=qi,vs.ReferenceProperty=Gi,vs.SampledPositionProperty=Hi,vs.SampledProperty=ji,vs.TimeIntervalCollectionPositionProperty=Yi,vs.TimeIntervalCollectionProperty=Xi,vs.VisualizerCollection=Zi,vs.createDynamicPropertyDescriptor=Ji,vs.AutomaticUniforms=Ki,vs.BlendEquation=Qi,vs.BlendFunction=$i,vs.BlendingState=en,vs.Buffer=tn,vs.BufferUsage=rn,vs.ClearCommand=nn,vs.Context=on,vs.CubeMap=an,vs.CubeMapFace=sn,vs.CullFace=ln,vs.DepthFunction=un,vs.DrawCommand=cn,vs.Framebuffer=hn,vs.MipmapHint=dn,vs.Pass=mn,vs.PassState=pn,vs.PickFramebuffer=fn,vs.PixelDatatype=vn,vs.PixelFormat=yn,vs.RenderState=gn,vs.Renderbuffer=_n,vs.RenderbufferFormat=wn,vs.ShaderCache=Cn,vs.ShaderProgram=xn,vs.StencilFunction=Sn,vs.StencilOperation=En,vs.Texture=bn,vs.TextureAtlas=Tn,vs.TextureAtlasBuilder=An,vs.TextureMagnificationFilter=Dn,vs.TextureMinificationFilter=Pn,vs.TextureWrap=Mn,vs.UniformDatatype=In,vs.UniformState=On,vs.VertexArray=Rn,vs.VertexArrayFacade=Ln,vs.VertexLayout=zn,vs.createShaderSource=Nn,vs.loadCubeMap=Bn,vs.AnimationCollection=Fn,vs.Appearance=Vn,vs.ArcGisImageServerTerrainProvider=kn,vs.ArcGisMapServerImageryProvider=Un,vs.Billboard=Wn,vs.BillboardCollection=qn,vs.BingMapsImageryProvider=Gn,vs.BingMapsStyle=Hn,vs.Camera=jn,vs.CameraColumbusViewMode=Yn,vs.CameraController=Xn,vs.CameraEventAggregator=Zn,vs.CameraEventType=Jn,vs.CameraFlightPath=Kn,vs.CentralBody=Qn,vs.CentralBodySurface=$n,vs.CentralBodySurfaceShaderSet=eo,vs.CesiumTerrainProvider=to,vs.CompositePrimitive=ro,vs.Credit=io,vs.CreditDisplay=no,vs.CullingVolume=oo,vs.CustomSensorVolume=ao,vs.DebugAppearance=so,vs.DebugModelMatrixPrimitive=lo,vs.DiscardMissingTileImagePolicy=uo,vs.EllipsoidPrimitive=co,vs.EllipsoidSurfaceAppearance=ho,vs.EllipsoidTerrainProvider=mo,vs.ExtentPrimitive=po,vs.FrameState=fo,vs.FrustumCommands=vo,vs.GeographicTilingScheme=yo,vs.GoogleEarthImageryProvider=go,vs.GridImageryProvider=_o,vs.HeightmapTerrainData=wo,vs.HorizontalOrigin=Co,vs.Imagery=xo,vs.ImageryLayer=So,vs.ImageryLayerCollection=Eo,vs.ImageryProvider=bo,vs.ImageryState=To,vs.Label=Ao,vs.LabelCollection=Do,vs.LabelStyle=Po,vs.Material=Mo,vs.MaterialAppearance=Io,vs.Moon=Oo,vs.NeverTileDiscardPolicy=Ro,vs.OpenStreetMapImageryProvider=Lo,vs.OrthographicFrustum=zo,vs.PerInstanceColorAppearance=No,vs.PerformanceDisplay=Bo,vs.PerspectiveFrustum=Fo,vs.PerspectiveOffCenterFrustum=Vo,vs.Polygon=ko,vs.Polyline=Uo,vs.PolylineCollection=Wo,vs.PolylineColorAppearance=qo,vs.PolylineMaterialAppearance=Go,vs.Primitive=Ho,vs.PrimitivePipeline=jo,vs.PrimitiveState=Yo,vs.RectangularPyramidSensorVolume=Xo,vs.Scene=Zo,vs.SceneMode=Jo,vs.SceneTransforms=Ko,vs.SceneTransitioner=Qo,vs.ScreenSpaceCameraController=$o,vs.SensorVolumeCollection=ea,vs.SingleTileImageryProvider=ta,vs.SkyAtmosphere=ra,vs.SkyBox=ia,vs.Sun=na,vs.SunPostProcess=oa,vs.TerrainData=aa,vs.TerrainMesh=sa,vs.TerrainProvider=la,vs.TerrainState=ua,vs.TexturePool=ca,vs.Tile=ha,vs.TileCoordinatesImageryProvider=da,vs.TileDiscardPolicy=ma,vs.TileImagery=pa,vs.TileMapServiceImageryProvider=fa,vs.TileProviderError=va,vs.TileReplacementQueue=ya,vs.TileState=ga,vs.TileTerrain=_a,vs.TilingScheme=wa,vs.VRTheWorldTerrainProvider=Ca,vs.VerticalOrigin=xa,vs.ViewportQuad=Sa,vs.WebMapServiceImageryProvider=Ea,vs.WebMercatorTilingScheme=ba,vs.createTangentSpaceDebugPrimitive=Ta,vs.sampleTerrain=Aa,vs.Tween=Da,vs.Uri=Pa,vs["knockout-3.0.0"]=Ma,vs["knockout-es5"]=Ia,vs.knockout=Oa,vs.measureText=Ra,vs["mersenne-twister"]=La,vs.sprintf=za,vs.topojson=Na,vs.weakmap=Ba,vs.when=Fa,vs.Animation=Va,vs.AnimationViewModel=ka,vs.BaseLayerPicker=Ua,vs.BaseLayerPickerViewModel=Wa,vs.ImageryProviderViewModel=qa,vs.createDefaultBaseLayers=Ga,vs.CesiumWidget=Ha,vs.ClockViewModel=ja,vs.Command=Ya,vs.FullscreenButton=Xa,vs.FullscreenButtonViewModel=Za,vs.Geocoder=Ja,vs.GeocoderViewModel=Ka,vs.HomeButton=Qa,vs.HomeButtonViewModel=$a,vs.Observable=es,vs.SceneModePicker=ts,vs.SceneModePickerViewModel=rs,vs.SvgPathBindingHandler=is,vs.Timeline=ns,vs.TimelineHighlightRange=os,vs.TimelineTrack=as,vs.ToggleButtonViewModel=ss,vs.Viewer=ls,vs.viewerDragDropMixin=us,vs.viewerDynamicObjectMixin=cs,vs.checkForChromeFrame=hs,vs.createCommand=ds,vs.getElement=ms,vs.subscribeAndEvaluate=ps,vs.createTaskProcessorWorker=fs,vs -}),t(["Cesium"],function(e){"use strict";var t="undefined"!=typeof window?window:"undefined"!=typeof self?self:{};t.Cesium=e},void 0,!0)}(); \ No newline at end of file +!function(){var e,t,r;!function(i){function n(e,t){return C.call(e,t)}function o(e,t){var r,i,n,o,a,s,l,u,c,h,d=t&&t.split("/"),m=_.map,p=m&&m["*"]||{};if(e&&"."===e.charAt(0))if(t){for(d=d.slice(0,d.length-1),e=d.concat(e.split("/")),u=0;u0&&(e.splice(u-1,2),u-=2)}e=e.join("/")}else 0===e.indexOf("./")&&(e=e.substring(2));if((d||p)&&m){for(r=e.split("/"),u=r.length;u>0;u-=1){if(i=r.slice(0,u).join("/"),d)for(c=d.length;c>0;c-=1)if(n=m[d.slice(0,c).join("/")],n&&(n=n[i])){o=n,a=u;break}if(o)break;!s&&p&&p[i]&&(s=p[i],l=u)}!o&&s&&(o=s,a=l),o&&(r.splice(0,a,o),e=r.join("/"))}return e}function a(e,t){return function(){return m.apply(i,S.call(arguments,0).concat([e,t]))}}function s(e){return function(t){return o(t,e)}}function l(e){return function(t){v[e]=t}}function u(e){if(n(g,e)){var t=g[e];delete g[e],y[e]=!0,d.apply(i,t)}if(!n(v,e)&&!n(y,e))throw new Error("No "+e);return v[e]}function c(e){var t,r=e?e.indexOf("!"):-1;return r>-1&&(t=e.substring(0,r),e=e.substring(r+1,e.length)),[t,e]}function h(e){return function(){return _&&_.config&&_.config[e]||{}}}var d,m,p,f,v={},g={},_={},y={},C=Object.prototype.hasOwnProperty,S=[].slice;p=function(e,t){var r,i=c(e),n=i[0];return e=i[1],n&&(n=o(n,t),r=u(n)),n?e=r&&r.normalize?r.normalize(e,s(t)):o(e,t):(e=o(e,t),i=c(e),n=i[0],e=i[1],n&&(r=u(n))),{f:n?n+"!"+e:e,n:e,pr:n,p:r}},f={require:function(e){return a(e)},exports:function(e){var t=v[e];return"undefined"!=typeof t?t:v[e]={}},module:function(e){return{id:e,uri:"",exports:v[e],config:h(e)}}},d=function(e,t,r,o){var s,c,h,d,m,_,C=[];if(o=o||e,"function"==typeof r){for(t=!t.length&&r.length?["require","exports","module"]:t,m=0;md;d++){var m=e[d],p=m.x,f=m.y,v=m.z;n=Math.min(p,n),l=Math.max(p,l),a=Math.min(f,a),u=Math.max(f,u),s=Math.min(v,s),c=Math.max(v,c)}var g=r.minimum;g.x=n,g.y=a,g.z=s;var _=r.maximum;_.x=l,_.y=u,_.z=c;var y=i.add(g,_,r.center);return i.multiplyByScalar(y,.5,y),r},o.clone=function(e,r){return t(e)?t(r)?(r.minimum=i.clone(e.minimum,r.minimum),r.maximum=i.clone(e.maximum,r.maximum),r.center=i.clone(e.center,r.center),r):new o(e.minimum,e.maximum):void 0},o.equals=function(e,r){return e===r||t(e)&&t(r)&&i.equals(e.center,r.center)&&i.equals(e.minimum,r.minimum)&&i.equals(e.maximum,r.maximum)};var a=new i;return o.intersect=function(e,t){a=i.subtract(e.maximum,e.minimum,a);var r=i.multiplyByScalar(a,.5,a),o=r.x*Math.abs(t.x)+r.y*Math.abs(t.y)+r.z*Math.abs(t.z),s=i.dot(e.center,t)+t.w;return s-o>0?n.INSIDE:0>s+o?n.OUTSIDE:n.INTERSECTING},o.prototype.clone=function(e){return o.clone(this,e)},o.prototype.intersect=function(e){return o.intersect(this,e)},o.prototype.equals=function(e){return o.equals(this,e)},o}),r("Core/BingMapsApi",["./defined"],function(e){"use strict";var t={};t.defaultKey=void 0;var r=!1;return t.getKey=function(i){return e(i)?i:e(t.defaultKey)?t.defaultKey:(r||(console.log("This application is using Cesium's default Bing Maps key. Please create a new key for the application as soon as possible and prior to deployment by visiting https://www.bingmapsportal.com/, and provide your key to Cesium by setting the Cesium.BingMapsApi.defaultKey property before constructing the CesiumWidget or any other object that uses the Bing Maps API."),r=!0),"Aj1ony_-Typ-KjG9SJWiKSHY23U1KmK7yAmZa9lDmuF2osXWkcZ22VPsqmCt0TCt")},t}),r("Core/Cartesian2",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,t,r,i){"use strict";var n=function(t,r){this.x=e(t,0),this.y=e(r,0)};n.fromElements=function(e,r,i){return t(i)?(i.x=e,i.y=r,i):new n(e,r)},n.clone=function(e,r){return t(e)?t(r)?(r.x=e.x,r.y=e.y,r):new n(e.x,e.y):void 0},n.fromCartesian3=n.clone,n.fromCartesian4=n.clone,n.packedLength=2,n.pack=function(t,r,i){i=e(i,0),r[i++]=t.x,r[i]=t.y},n.unpack=function(r,i,o){return i=e(i,0),t(o)||(o=new n),o.x=r[i++],o.y=r[i],o},n.fromArray=n.unpack,n.getMaximumComponent=function(e){return Math.max(e.x,e.y)},n.getMinimumComponent=function(e){return Math.min(e.x,e.y)},n.getMinimumByComponent=function(e,r,i){return t(i)||(i=new n),i.x=Math.min(e.x,r.x),i.y=Math.min(e.y,r.y),i},n.getMaximumByComponent=function(e,r,i){return t(i)||(i=new n),i.x=Math.max(e.x,r.x),i.y=Math.max(e.y,r.y),i},n.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y},n.magnitude=function(e){return Math.sqrt(n.magnitudeSquared(e))};var o=new n;n.distance=function(e,t){return n.subtract(e,t,o),n.magnitude(o)},n.normalize=function(e,r){var i=n.magnitude(e);return t(r)?(r.x=e.x/i,r.y=e.y/i,r):new n(e.x/i,e.y/i)},n.dot=function(e,t){return e.x*t.x+e.y*t.y},n.multiplyComponents=function(e,r,i){return t(i)?(i.x=e.x*r.x,i.y=e.y*r.y,i):new n(e.x*r.x,e.y*r.y)},n.add=function(e,r,i){return t(i)?(i.x=e.x+r.x,i.y=e.y+r.y,i):new n(e.x+r.x,e.y+r.y)},n.subtract=function(e,r,i){return t(i)?(i.x=e.x-r.x,i.y=e.y-r.y,i):new n(e.x-r.x,e.y-r.y)},n.multiplyByScalar=function(e,r,i){return t(i)?(i.x=e.x*r,i.y=e.y*r,i):new n(e.x*r,e.y*r)},n.divideByScalar=function(e,r,i){return t(i)?(i.x=e.x/r,i.y=e.y/r,i):new n(e.x/r,e.y/r)},n.negate=function(e,r){return t(r)?(r.x=-e.x,r.y=-e.y,r):new n(-e.x,-e.y)},n.abs=function(e,r){return t(r)?(r.x=Math.abs(e.x),r.y=Math.abs(e.y),r):new n(Math.abs(e.x),Math.abs(e.y))};var a=new n;n.lerp=function(e,t,r,i){return n.multiplyByScalar(t,r,a),i=n.multiplyByScalar(e,1-r,i),n.add(a,i,i)};var s=new n,l=new n;n.angleBetween=function(e,t){return n.normalize(e,s),n.normalize(t,l),Math.acos(n.dot(s,l))};var u=new n;return n.mostOrthogonalAxis=function(e,t){var r=n.normalize(e,u);return n.abs(r,r),t=r.x<=r.y?n.clone(n.UNIT_X,t):n.clone(n.UNIT_Y,t)},n.equals=function(e,r){return e===r||t(e)&&t(r)&&e.x===r.x&&e.y===r.y},n.equalsEpsilon=function(e,r,i){return e===r||t(e)&&t(r)&&Math.abs(e.x-r.x)<=i&&Math.abs(e.y-r.y)<=i},n.ZERO=i(new n(0,0)),n.UNIT_X=i(new n(1,0)),n.UNIT_Y=i(new n(0,1)),n.prototype.clone=function(e){return n.clone(this,e)},n.prototype.equals=function(e){return n.equals(this,e)},n.prototype.equalsEpsilon=function(e,t){return n.equalsEpsilon(this,e,t)},n.prototype.toString=function(){return"("+this.x+", "+this.y+")"},n}),r("ThirdParty/mersenne-twister",[],function(){var e=function(e){void 0==e&&(e=(new Date).getTime()),this.N=624,this.M=397,this.MATRIX_A=2567483615,this.UPPER_MASK=2147483648,this.LOWER_MASK=2147483647,this.mt=new Array(this.N),this.mti=this.N+1,this.init_genrand(e)};return e.prototype.init_genrand=function(e){for(this.mt[0]=e>>>0,this.mti=1;this.mti>>30;this.mt[this.mti]=(1812433253*((4294901760&e)>>>16)<<16)+1812433253*(65535&e)+this.mti,this.mt[this.mti]>>>=0}},e.prototype.genrand_int32=function(){var e,t=new Array(0,this.MATRIX_A);if(this.mti>=this.N){var r;for(this.mti==this.N+1&&this.init_genrand(5489),r=0;r>>1^t[1&e];for(;r>>1^t[1&e];e=this.mt[this.N-1]&this.UPPER_MASK|this.mt[0]&this.LOWER_MASK,this.mt[this.N-1]=this.mt[this.M-1]^e>>>1^t[1&e],this.mti=0}return e=this.mt[this.mti++],e^=e>>>11,e^=2636928640&e<<7,e^=4022730752&e<<15,e^=e>>>18,e>>>0},e.prototype.random=function(){return this.genrand_int32()*(1/4294967296)},e}),r("Core/Math",["./defaultValue","./defined","./DeveloperError","../ThirdParty/mersenne-twister"],function(e,t,r,i){"use strict";var n={};n.EPSILON1=.1,n.EPSILON2=.01,n.EPSILON3=.001,n.EPSILON4=1e-4,n.EPSILON5=1e-5,n.EPSILON6=1e-6,n.EPSILON7=1e-7,n.EPSILON8=1e-8,n.EPSILON9=1e-9,n.EPSILON10=1e-10,n.EPSILON11=1e-11,n.EPSILON12=1e-12,n.EPSILON13=1e-13,n.EPSILON14=1e-14,n.EPSILON15=1e-15,n.EPSILON16=1e-16,n.EPSILON17=1e-17,n.EPSILON18=1e-18,n.EPSILON19=1e-19,n.EPSILON20=1e-20,n.GRAVITATIONALPARAMETER=3986004418e5,n.SOLAR_RADIUS=6955e5,n.LUNAR_RADIUS=1737400,n.SIXTY_FOUR_KILOBYTES=65536,n.sign=function(e){return e>0?1:0>e?-1:0},n.sinh=function(e){var t=Math.pow(Math.E,e),r=Math.pow(Math.E,-1*e);return.5*(t-r)},n.cosh=function(e){var t=Math.pow(Math.E,e),r=Math.pow(Math.E,-1*e);return.5*(t+r)},n.lerp=function(e,t,r){return(1-r)*e+r*t},n.PI=Math.PI,n.ONE_OVER_PI=1/Math.PI,n.PI_OVER_TWO=.5*Math.PI,n.PI_OVER_THREE=Math.PI/3,n.PI_OVER_FOUR=Math.PI/4,n.PI_OVER_SIX=Math.PI/6,n.THREE_PI_OVER_TWO=.5*3*Math.PI,n.TWO_PI=2*Math.PI,n.ONE_OVER_TWO_PI=1/(2*Math.PI),n.RADIANS_PER_DEGREE=Math.PI/180,n.DEGREES_PER_RADIAN=180/Math.PI,n.RADIANS_PER_ARCSECOND=n.RADIANS_PER_DEGREE/3600,n.toRadians=function(e){return e*n.RADIANS_PER_DEGREE},n.toDegrees=function(e){return e*n.DEGREES_PER_RADIAN},n.convertLongitudeRange=function(e){var t=n.TWO_PI,r=e-Math.floor(e/t)*t;return r<-Math.PI?r+t:r>=Math.PI?r-t:r},n.negativePiToPi=function(e){for(var t=n.EPSILON10,r=n.PI,i=n.TWO_PI;-(r+t)>e;)e+=i;if(-r>e)return-r;for(;e>r+t;)e-=i;return e>r?r:e},n.zeroToTwoPi=function(e){var t=e%n.TWO_PI;return 0>t?(t+n.TWO_PI)%n.TWO_PI:t},n.equalsEpsilon=function(t,r,i){return i=e(i,0),Math.abs(t-r)<=i};var o=[1];n.factorial=function(e){var t=o.length;if(e>=t)for(var r=o[t-1],i=t;e>=i;i++)o.push(r*i);return o[e]},n.incrementWrap=function(t,r,i){return i=e(i,0),++t,t>r&&(t=i),t},n.isPowerOfTwo=function(e){return 0!==e&&0===(e&e-1)},n.nextPowerOfTwo=function(e){return--e,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,++e,e},n.clamp=function(e,t,r){return t>e?t:e>r?r:e};var a=new i;return n.setRandomNumberSeed=function(e){a=new i(e)},n.nextRandomNumber=function(){return a.random()},n}),r("Core/Cartographic",["./defaultValue","./defined","./DeveloperError","./freezeObject","./Math"],function(e,t,r,i,n){"use strict";var o=function(t,r,i){this.longitude=e(t,0),this.latitude=e(r,0),this.height=e(i,0)};return o.fromDegrees=function(r,i,a,s){return r=n.toRadians(e(r,0)),i=n.toRadians(e(i,0)),a=e(a,0),t(s)?(s.longitude=r,s.latitude=i,s.height=a,s):new o(r,i,a)},o.clone=function(e,r){return t(e)?t(r)?(r.longitude=e.longitude,r.latitude=e.latitude,r.height=e.height,r):new o(e.longitude,e.latitude,e.height):void 0},o.equals=function(e,r){return e===r||t(e)&&t(r)&&e.longitude===r.longitude&&e.latitude===r.latitude&&e.height===r.height},o.equalsEpsilon=function(e,r,i){return e===r||t(e)&&t(r)&&Math.abs(e.longitude-r.longitude)<=i&&Math.abs(e.latitude-r.latitude)<=i&&Math.abs(e.height-r.height)<=i},o.toString=function(e){return"("+e.longitude+", "+e.latitude+", "+e.height+")"},o.ZERO=i(new o(0,0,0)),o.prototype.clone=function(e){return o.clone(this,e)},o.prototype.equals=function(e){return o.equals(this,e)},o.prototype.equalsEpsilon=function(e,t){return o.equalsEpsilon(this,e,t)},o.prototype.toString=function(){return o.toString(this)},o}),r("Core/Ellipsoid",["./freezeObject","./defaultValue","./defined","./defineProperties","./DeveloperError","./Math","./Cartesian3","./Cartographic"],function(e,t,r,i,n,o,a,s){"use strict";var l=function(e,r,i){e=t(e,0),r=t(r,0),i=t(i,0),this._radii=new a(e,r,i),this._radiiSquared=new a(e*e,r*r,i*i),this._radiiToTheFourth=new a(e*e*e*e,r*r*r*r,i*i*i*i),this._oneOverRadii=new a(0===e?0:1/e,0===r?0:1/r,0===i?0:1/i),this._oneOverRadiiSquared=new a(0===e?0:1/(e*e),0===r?0:1/(r*r),0===i?0:1/(i*i)),this._minimumRadius=Math.min(e,r,i),this._maximumRadius=Math.max(e,r,i),this._centerToleranceSquared=o.EPSILON1};i(l.prototype,{radii:{get:function(){return this._radii}},radiiSquared:{get:function(){return this._radiiSquared}},radiiToTheFourth:{get:function(){return this._radiiToTheFourth}},oneOverRadii:{get:function(){return this._oneOverRadii}},oneOverRadiiSquared:{get:function(){return this._oneOverRadiiSquared}},minimumRadius:{get:function(){return this._minimumRadius}},maximumRadius:{get:function(){return this._maximumRadius}}}),l.clone=function(e,t){if(!r(e))return void 0;var i=e._radii;return r(t)?(a.clone(i,t._radii),a.clone(e._radiiSquared,t._radiiSquared),a.clone(e._radiiToTheFourth,t._radiiToTheFourth),a.clone(e._oneOverRadii,t._oneOverRadii),a.clone(e._oneOverRadiiSquared,t._oneOverRadiiSquared),t._minimumRadius=e._minimumRadius,t._maximumRadius=e._maximumRadius,t._centerToleranceSquared=e._centerToleranceSquared,t):new l(i.x,i.y,i.z)},l.fromCartesian3=function(e){return r(e)?new l(e.x,e.y,e.z):new l},l.WGS84=e(new l(6378137,6378137,6356752.314245179)),l.UNIT_SPHERE=e(new l(1,1,1)),l.MOON=e(new l(o.LUNAR_RADIUS,o.LUNAR_RADIUS,o.LUNAR_RADIUS)),l.prototype.clone=function(e){return l.clone(this,e)},l.prototype.geocentricSurfaceNormal=a.normalize,l.prototype.geodeticSurfaceNormalCartographic=function(e,t){var i=e.longitude,n=e.latitude,o=Math.cos(n),s=o*Math.cos(i),l=o*Math.sin(i),u=Math.sin(n);return r(t)||(t=new a),t.x=s,t.y=l,t.z=u,a.normalize(t,t)},l.prototype.geodeticSurfaceNormal=function(e,t){return t=a.multiplyComponents(e,this._oneOverRadiiSquared,t),a.normalize(t,t)};var u=new a,c=new a;l.prototype.cartographicToCartesian=function(e,t){var r=u,i=c;this.geodeticSurfaceNormalCartographic(e,r),a.multiplyComponents(this._radiiSquared,r,i);var n=Math.sqrt(a.dot(r,i));return a.divideByScalar(i,n,i),a.multiplyByScalar(r,e.height,r),a.add(i,r,t)},l.prototype.cartographicArrayToCartesianArray=function(e,t){var i=e.length;r(t)?t.length=i:t=new Array(i);for(var n=0;i>n;n++)t[n]=this.cartographicToCartesian(e[n],t[n]);return t};var h=new a,d=new a,m=new a;l.prototype.cartesianToCartographic=function(e,t){var i=this.scaleToGeodeticSurface(e,d);if(!r(i))return void 0;var n=this.geodeticSurfaceNormal(i,h),l=a.subtract(e,i,m),u=Math.atan2(n.y,n.x),c=Math.asin(n.z),p=o.sign(a.dot(l,e))*a.magnitude(l);return r(t)?(t.longitude=u,t.latitude=c,t.height=p,t):new s(u,c,p)},l.prototype.cartesianArrayToCartographicArray=function(e,t){var i=e.length;r(t)?t.length=i:t=new Array(i);for(var n=0;i>n;++n)t[n]=this.cartesianToCartographic(e[n],t[n]);return t};var p=new a,f=new a;return l.prototype.scaleToGeodeticSurface=function(e,t){var i=e.x,n=e.y,s=e.z,l=this._oneOverRadii,u=l.x,c=l.y,h=l.z,d=i*i*u*u,m=n*n*c*c,v=s*s*h*h,g=d+m+v,_=Math.sqrt(1/g),y=a.multiplyByScalar(e,_,p);if(go.EPSILON12);return r(t)?(t.x=i*A,t.y=n*P,t.z=s*D,t):new a(i*A,n*P,s*D)},l.prototype.scaleToGeocentricSurface=function(e,t){var r=e.x,i=e.y,n=e.z,o=this._oneOverRadiiSquared,s=1/Math.sqrt(r*r*o.x+i*i*o.y+n*n*o.z);return a.multiplyByScalar(e,s,t)},l.prototype.transformPositionToScaledSpace=function(e,t){return a.multiplyComponents(e,this._oneOverRadii,t)},l.prototype.transformPositionFromScaledSpace=function(e,t){return a.multiplyComponents(e,this._radii,t)},l.prototype.equals=function(e){return this===e||r(e)&&a.equals(this._radii,e._radii)},l.prototype.toString=function(){return this._radii.toString()},l}),r("Core/GeographicProjection",["./defaultValue","./defined","./defineProperties","./Cartesian3","./Cartographic","./Ellipsoid"],function(e,t,r,i,n,o){"use strict";var a=function(t){this._ellipsoid=e(t,o.WGS84),this._semimajorAxis=this._ellipsoid.maximumRadius,this._oneOverSemimajorAxis=1/this._semimajorAxis};return r(a.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}}),a.prototype.project=function(e,r){var n=this._semimajorAxis,o=e.longitude*n,a=e.latitude*n,s=e.height;return t(r)?(r.x=o,r.y=a,r.z=s,r):new i(o,a,s)},a.prototype.unproject=function(e,r){var i=this._oneOverSemimajorAxis,o=e.x*i,a=e.y*i,s=e.z;return t(r)?(r.longitude=o,r.latitude=a,r.height=s,r):new n(o,a,s)},a}),r("Core/BoundingRectangle",["./defaultValue","./defined","./DeveloperError","./Cartesian2","./Cartographic","./GeographicProjection","./Intersect"],function(e,t,r,i,n,o,a){"use strict";var s=function(t,r,i,n){this.x=e(t,0),this.y=e(r,0),this.width=e(i,0),this.height=e(n,0)};s.fromPoints=function(e,r){if(t(r)||(r=new s),!t(e)||0===e.length)return r.x=0,r.y=0,r.width=0,r.height=0,r;for(var i=e.length,n=e[0].x,o=e[0].y,a=e[0].x,l=e[0].y,u=1;i>u;u++){var c=e[u],h=c.x,d=c.y;n=Math.min(h,n),a=Math.max(h,a),o=Math.min(d,o),l=Math.max(d,l)}return r.x=n,r.y=o,r.width=a-n,r.height=l-o,r};var l=new o,u=new n,c=new n;return s.fromExtent=function(r,n,o){if(t(o)||(o=new s),!t(r))return o.x=0,o.y=0,o.width=0,o.height=0,o;n=e(n,l);var a=n.project(r.getSouthwest(u)),h=n.project(r.getNortheast(c));return i.subtract(h,a,h),o.x=a.x,o.y=a.y,o.width=h.x,o.height=h.y,o},s.clone=function(e,r){return t(e)?t(r)?(r.x=e.x,r.y=e.y,r.width=e.width,r.height=e.height,r):new s(e.x,e.y,e.width,e.height):void 0},s.union=function(e,r,i){t(i)||(i=new s);var n=Math.min(e.x,r.x),o=Math.min(e.y,r.y),a=Math.max(e.x+e.width,r.x+r.width),l=Math.max(e.y+e.height,r.y+r.height);return i.x=n,i.y=o,i.width=a-n,i.height=l-o,i},s.expand=function(e,t,r){r=s.clone(e,r);var i=t.x-r.x,n=t.y-r.y;return i>r.width?r.width=i:0>i&&(r.width-=i,r.x=t.x),n>r.height?r.height=n:0>n&&(r.height-=n,r.y=t.y),r},s.intersect=function(e,t){var r=e.x,i=e.y,n=t.x,o=t.y;return r>n+t.width||r+e.widtho+t.height?a.OUTSIDE:a.INTERSECTING},s.equals=function(e,r){return e===r||t(e)&&t(r)&&e.x===r.x&&e.y===r.y&&e.width===r.width&&e.height===r.height},s.prototype.clone=function(e){return s.clone(this,e)},s.prototype.union=function(e,t){return s.union(this,e,t)},s.prototype.expand=function(e,t){return s.expand(this,e,t)},s.prototype.intersect=function(e){return s.intersect(this,e)},s.prototype.equals=function(e){return s.equals(this,e)},s}),r("Core/Interval",["./defaultValue"],function(e){"use strict";var t=function(t,r){this.start=e(t,0),this.stop=e(r,0)};return t}),r("Core/Cartesian4",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,t,r,i){"use strict";var n=function(t,r,i,n){this.x=e(t,0),this.y=e(r,0),this.z=e(i,0),this.w=e(n,0)};n.fromElements=function(e,r,i,o,a){return t(a)?(a.x=e,a.y=r,a.z=i,a.w=o,a):new n(e,r,i,o)},n.clone=function(e,r){return t(e)?t(r)?(r.x=e.x,r.y=e.y,r.z=e.z,r.w=e.w,r):new n(e.x,e.y,e.z,e.w):void 0},n.packedLength=4,n.pack=function(t,r,i){i=e(i,0),r[i++]=t.x,r[i++]=t.y,r[i++]=t.z,r[i]=t.w},n.unpack=function(r,i,o){return i=e(i,0),t(o)||(o=new n),o.x=r[i++],o.y=r[i++],o.z=r[i++],o.w=r[i],o},n.fromArray=n.unpack,n.getMaximumComponent=function(e){return Math.max(e.x,e.y,e.z,e.w)},n.getMinimumComponent=function(e){return Math.min(e.x,e.y,e.z,e.w)},n.getMinimumByComponent=function(e,r,i){return t(i)||(i=new n),i.x=Math.min(e.x,r.x),i.y=Math.min(e.y,r.y),i.z=Math.min(e.z,r.z),i.w=Math.min(e.w,r.w),i},n.getMaximumByComponent=function(e,r,i){return t(i)||(i=new n),i.x=Math.max(e.x,r.x),i.y=Math.max(e.y,r.y),i.z=Math.max(e.z,r.z),i.w=Math.max(e.w,r.w),i},n.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w},n.magnitude=function(e){return Math.sqrt(n.magnitudeSquared(e))};var o=new n;n.distance=function(e,t){return n.subtract(e,t,o),n.magnitude(o)},n.normalize=function(e,r){var i=n.magnitude(e);return t(r)?(r.x=e.x/i,r.y=e.y/i,r.z=e.z/i,r.w=e.w/i,r):new n(e.x/i,e.y/i,e.z/i,e.w/i)},n.dot=function(e,t){return e.x*t.x+e.y*t.y+e.z*t.z+e.w*t.w},n.multiplyComponents=function(e,r,i){return t(i)?(i.x=e.x*r.x,i.y=e.y*r.y,i.z=e.z*r.z,i.w=e.w*r.w,i):new n(e.x*r.x,e.y*r.y,e.z*r.z,e.w*r.w)},n.add=function(e,r,i){return t(i)?(i.x=e.x+r.x,i.y=e.y+r.y,i.z=e.z+r.z,i.w=e.w+r.w,i):new n(e.x+r.x,e.y+r.y,e.z+r.z,e.w+r.w)},n.subtract=function(e,r,i){return t(i)?(i.x=e.x-r.x,i.y=e.y-r.y,i.z=e.z-r.z,i.w=e.w-r.w,i):new n(e.x-r.x,e.y-r.y,e.z-r.z,e.w-r.w)},n.multiplyByScalar=function(e,r,i){return t(i)?(i.x=e.x*r,i.y=e.y*r,i.z=e.z*r,i.w=e.w*r,i):new n(e.x*r,e.y*r,e.z*r,e.w*r)},n.divideByScalar=function(e,r,i){return t(i)?(i.x=e.x/r,i.y=e.y/r,i.z=e.z/r,i.w=e.w/r,i):new n(e.x/r,e.y/r,e.z/r,e.w/r)},n.negate=function(e,r){return t(r)?(r.x=-e.x,r.y=-e.y,r.z=-e.z,r.w=-e.w,r):new n(-e.x,-e.y,-e.z,-e.w)},n.abs=function(e,r){return t(r)?(r.x=Math.abs(e.x),r.y=Math.abs(e.y),r.z=Math.abs(e.z),r.w=Math.abs(e.w),r):new n(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z),Math.abs(e.w))};var a=new n;n.lerp=function(e,t,r,i){return n.multiplyByScalar(t,r,a),i=n.multiplyByScalar(e,1-r,i),n.add(a,i,i)};var s=new n;return n.mostOrthogonalAxis=function(e,t){var r=n.normalize(e,s);return n.abs(r,r),t=r.x<=r.y?r.x<=r.z?r.x<=r.w?n.clone(n.UNIT_X,t):n.clone(n.UNIT_W,t):r.z<=r.w?n.clone(n.UNIT_Z,t):n.clone(n.UNIT_W,t):r.y<=r.z?r.y<=r.w?n.clone(n.UNIT_Y,t):n.clone(n.UNIT_W,t):r.z<=r.w?n.clone(n.UNIT_Z,t):n.clone(n.UNIT_W,t)},n.equals=function(e,r){return e===r||t(e)&&t(r)&&e.x===r.x&&e.y===r.y&&e.z===r.z&&e.w===r.w},n.equalsEpsilon=function(e,r,i){return e===r||t(e)&&t(r)&&Math.abs(e.x-r.x)<=i&&Math.abs(e.y-r.y)<=i&&Math.abs(e.z-r.z)<=i&&Math.abs(e.w-r.w)<=i},n.ZERO=i(new n(0,0,0,0)),n.UNIT_X=i(new n(1,0,0,0)),n.UNIT_Y=i(new n(0,1,0,0)),n.UNIT_Z=i(new n(0,0,1,0)),n.UNIT_W=i(new n(0,0,0,1)),n.prototype.clone=function(e){return n.clone(this,e)},n.prototype.equals=function(e){return n.equals(this,e)},n.prototype.equalsEpsilon=function(e,t){return n.equalsEpsilon(this,e,t)},n.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+", "+this.w+")"},n}),r("Core/Matrix3",["./Cartesian3","./defaultValue","./defined","./DeveloperError","./freezeObject","./Math"],function(e,t,r,i,n,o){"use strict";function a(e){for(var t=0,r=0;9>r;++r){var i=e[r];t+=i*i}return Math.sqrt(t)}function s(e){for(var t=0,r=0;3>r;++r){var i=e[u.getElementIndex(h[r],c[r])];t+=2*i*i}return Math.sqrt(t)}function l(e,t){for(var r=o.EPSILON15,i=0,n=1,a=0;3>a;++a){var s=Math.abs(e[u.getElementIndex(h[a],c[a])]);s>i&&(n=a,i=s)}var l=1,d=0,m=c[n],p=h[n];if(Math.abs(e[u.getElementIndex(p,m)])>r){var f,v=e[u.getElementIndex(p,p)],g=e[u.getElementIndex(m,m)],_=e[u.getElementIndex(p,m)],y=(v-g)/2/_;f=0>y?-1/(-y+Math.sqrt(1+y*y)):1/(y+Math.sqrt(1+y*y)),l=1/Math.sqrt(1+f*f),d=f*l}return t=u.clone(u.IDENTITY,t),t[u.getElementIndex(m,m)]=t[u.getElementIndex(p,p)]=l,t[u.getElementIndex(p,m)]=d,t[u.getElementIndex(m,p)]=-d,t}var u=function(e,r,i,n,o,a,s,l,u){this[0]=t(e,0),this[1]=t(n,0),this[2]=t(s,0),this[3]=t(r,0),this[4]=t(o,0),this[5]=t(l,0),this[6]=t(i,0),this[7]=t(a,0),this[8]=t(u,0)};u.clone=function(e,t){return r(e)?r(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t):new u(e[0],e[3],e[6],e[1],e[4],e[7],e[2],e[5],e[8]):void 0},u.fromArray=function(e,i,n){return i=t(i,0),r(n)||(n=new u),n[0]=e[i],n[1]=e[i+1],n[2]=e[i+2],n[3]=e[i+3],n[4]=e[i+4],n[5]=e[i+5],n[6]=e[i+6],n[7]=e[i+7],n[8]=e[i+8],n[9]=e[i+9],n},u.fromColumnMajorArray=function(e,t){return u.clone(e,t)},u.fromRowMajorArray=function(e,t){return r(t)?(t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8],t):new u(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])},u.fromQuaternion=function(e,t){var i=e.x*e.x,n=e.x*e.y,o=e.x*e.z,a=e.x*e.w,s=e.y*e.y,l=e.y*e.z,c=e.y*e.w,h=e.z*e.z,d=e.z*e.w,m=e.w*e.w,p=i-s-h+m,f=2*(n-d),v=2*(o+c),g=2*(n+d),_=-i+s-h+m,y=2*(l-a),C=2*(o-c),S=2*(l+a),w=-i-s+h+m;return r(t)?(t[0]=p,t[1]=g,t[2]=C,t[3]=f,t[4]=_,t[5]=S,t[6]=v,t[7]=y,t[8]=w,t):new u(p,f,v,g,_,y,C,S,w)},u.fromScale=function(e,t){return r(t)?(t[0]=e.x,t[1]=0,t[2]=0,t[3]=0,t[4]=e.y,t[5]=0,t[6]=0,t[7]=0,t[8]=e.z,t):new u(e.x,0,0,0,e.y,0,0,0,e.z)},u.fromUniformScale=function(e,t){return r(t)?(t[0]=e,t[1]=0,t[2]=0,t[3]=0,t[4]=e,t[5]=0,t[6]=0,t[7]=0,t[8]=e,t):new u(e,0,0,0,e,0,0,0,e)},u.fromRotationX=function(e,t){var i=Math.cos(e),n=Math.sin(e);return r(t)?(t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=i,t[5]=n,t[6]=0,t[7]=-n,t[8]=i,t):new u(1,0,0,0,i,-n,0,n,i)},u.fromRotationY=function(e,t){var i=Math.cos(e),n=Math.sin(e);return r(t)?(t[0]=i,t[1]=0,t[2]=-n,t[3]=0,t[4]=1,t[5]=0,t[6]=n,t[7]=0,t[8]=i,t):new u(i,0,n,0,1,0,-n,0,i)},u.fromRotationZ=function(e,t){var i=Math.cos(e),n=Math.sin(e);return r(t)?(t[0]=i,t[1]=n,t[2]=0,t[3]=-n,t[4]=i,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t):new u(i,-n,0,n,i,0,0,0,1)},u.toArray=function(e,t){return r(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8]]},u.getElementIndex=function(e,t){return 3*e+t},u.getColumn=function(t,i,n){var o=3*i,a=t[o],s=t[o+1],l=t[o+2];return r(n)?(n.x=a,n.y=s,n.z=l,n):new e(a,s,l)},u.setColumn=function(e,t,r,i){i=u.clone(e,i);var n=3*t;return i[n]=r.x,i[n+1]=r.y,i[n+2]=r.z,i},u.getRow=function(t,i,n){var o=t[i],a=t[i+3],s=t[i+6];return r(n)?(n.x=o,n.y=a,n.z=s,n):new e(o,a,s)},u.setRow=function(e,t,r,i){return i=u.clone(e,i),i[t]=r.x,i[t+3]=r.y,i[t+6]=r.z,i},u.multiply=function(e,t,i){var n=e[0]*t[0]+e[3]*t[1]+e[6]*t[2],o=e[1]*t[0]+e[4]*t[1]+e[7]*t[2],a=e[2]*t[0]+e[5]*t[1]+e[8]*t[2],s=e[0]*t[3]+e[3]*t[4]+e[6]*t[5],l=e[1]*t[3]+e[4]*t[4]+e[7]*t[5],c=e[2]*t[3]+e[5]*t[4]+e[8]*t[5],h=e[0]*t[6]+e[3]*t[7]+e[6]*t[8],d=e[1]*t[6]+e[4]*t[7]+e[7]*t[8],m=e[2]*t[6]+e[5]*t[7]+e[8]*t[8];return r(i)?(i[0]=n,i[1]=o,i[2]=a,i[3]=s,i[4]=l,i[5]=c,i[6]=h,i[7]=d,i[8]=m,i):new u(n,s,h,o,l,d,a,c,m)},u.multiplyByVector=function(t,i,n){var o=i.x,a=i.y,s=i.z,l=t[0]*o+t[3]*a+t[6]*s,u=t[1]*o+t[4]*a+t[7]*s,c=t[2]*o+t[5]*a+t[8]*s; +return r(n)?(n.x=l,n.y=u,n.z=c,n):new e(l,u,c)},u.multiplyByScalar=function(e,t,i){return r(i)?(i[0]=e[0]*t,i[1]=e[1]*t,i[2]=e[2]*t,i[3]=e[3]*t,i[4]=e[4]*t,i[5]=e[5]*t,i[6]=e[6]*t,i[7]=e[7]*t,i[8]=e[8]*t,i):new u(e[0]*t,e[3]*t,e[6]*t,e[1]*t,e[4]*t,e[7]*t,e[2]*t,e[5]*t,e[8]*t)},u.negate=function(e,t){return r(t)?(t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t[4]=-e[4],t[5]=-e[5],t[6]=-e[6],t[7]=-e[7],t[8]=-e[8],t):new u(-e[0],-e[3],-e[6],-e[1],-e[4],-e[7],-e[2],-e[5],-e[8])},u.transpose=function(e,t){var i=e[0],n=e[3],o=e[6],a=e[1],s=e[4],l=e[7],c=e[2],h=e[5],d=e[8];return r(t)?(t[0]=i,t[1]=n,t[2]=o,t[3]=a,t[4]=s,t[5]=l,t[6]=c,t[7]=h,t[8]=d,t):new u(i,a,c,n,s,h,o,l,d)};var c=[1,0,0],h=[2,2,1],d=new u,m=new u;return u.getEigenDecomposition=function(e,t){var i=o.EPSILON20,n=10,c=0,h=0;r(t)||(t={});for(var p=t.unitary=u.clone(u.IDENTITY,t.unitary),f=t.diagonal=u.clone(e,t.diagonal),v=i*a(f);n>h&&s(f)>v;)l(f,d),u.transpose(d,m),u.multiply(f,d,f),u.multiply(m,f,f),u.multiply(p,d,p),++c>2&&(++h,c=0);return t},u.abs=function(e,t){return r(t)?(t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t[3]=Math.abs(e[3]),t[4]=Math.abs(e[4]),t[5]=Math.abs(e[5]),t[6]=Math.abs(e[6]),t[7]=Math.abs(e[7]),t[8]=Math.abs(e[8]),t):new u(Math.abs(e[0]),Math.abs(e[3]),Math.abs(e[6]),Math.abs(e[1]),Math.abs(e[4]),Math.abs(e[7]),Math.abs(e[2]),Math.abs(e[5]),Math.abs(e[8]))},u.determinant=function(e){var t=e[0],r=e[3],i=e[6],n=e[1],o=e[4],a=e[7],s=e[2],l=e[5],u=e[8];return t*(o*u-l*a)+n*(l*i-r*u)+s*(r*a-o*i)},u.inverse=function(e,t){var r=e[0],n=e[1],a=e[2],s=e[3],l=e[4],c=e[5],h=e[6],d=e[7],m=e[8],p=u.determinant(e);if(Math.abs(p)<=o.EPSILON15)throw new i("matrix is not invertible");var f=new u(l*m-d*c,h*c-s*m,s*d-h*l,d*a-n*m,r*m-h*a,h*n-r*d,n*c-l*a,s*a-r*c,r*l-s*n),v=1/p;return u.multiplyByScalar(f,v,t)},u.equals=function(e,t){return e===t||r(e)&&r(t)&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]},u.equalsEpsilon=function(e,t,i){return e===t||r(e)&&r(t)&&Math.abs(e[0]-t[0])<=i&&Math.abs(e[1]-t[1])<=i&&Math.abs(e[2]-t[2])<=i&&Math.abs(e[3]-t[3])<=i&&Math.abs(e[4]-t[4])<=i&&Math.abs(e[5]-t[5])<=i&&Math.abs(e[6]-t[6])<=i&&Math.abs(e[7]-t[7])<=i&&Math.abs(e[8]-t[8])<=i},u.IDENTITY=n(new u(1,0,0,0,1,0,0,0,1)),u.COLUMN0ROW0=0,u.COLUMN0ROW1=1,u.COLUMN0ROW2=2,u.COLUMN1ROW0=3,u.COLUMN1ROW1=4,u.COLUMN1ROW2=5,u.COLUMN2ROW0=6,u.COLUMN2ROW1=7,u.COLUMN2ROW2=8,u.prototype.clone=function(e){return u.clone(this,e)},u.prototype.equals=function(e){return u.equals(this,e)},u.prototype.equalsEpsilon=function(e,t){return u.equalsEpsilon(this,e,t)},u.prototype.toString=function(){return"("+this[0]+", "+this[3]+", "+this[6]+")\n"+"("+this[1]+", "+this[4]+", "+this[7]+")\n"+"("+this[2]+", "+this[5]+", "+this[8]+")"},u}),r("Core/RuntimeError",["./defined"],function(e){"use strict";var t=function(e){this.name="RuntimeError",this.message=e;var t;try{throw new Error}catch(r){t=r.stack}this.stack=t};return t.prototype.toString=function(){var t=this.name+": "+this.message;return e(this.stack)&&(t+="\n"+this.stack.toString()),t},t}),r("Core/Matrix4",["./Cartesian3","./Cartesian4","./defaultValue","./defined","./DeveloperError","./freezeObject","./Math","./Matrix3","./RuntimeError"],function(e,t,r,i,n,o,a,s,l){"use strict";var u=function(e,t,i,n,o,a,s,l,u,c,h,d,m,p,f,v){this[0]=r(e,0),this[1]=r(o,0),this[2]=r(u,0),this[3]=r(m,0),this[4]=r(t,0),this[5]=r(a,0),this[6]=r(c,0),this[7]=r(p,0),this[8]=r(i,0),this[9]=r(s,0),this[10]=r(h,0),this[11]=r(f,0),this[12]=r(n,0),this[13]=r(l,0),this[14]=r(d,0),this[15]=r(v,0)};u.clone=function(e,t){return i(e)?i(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t):new u(e[0],e[4],e[8],e[12],e[1],e[5],e[9],e[13],e[2],e[6],e[10],e[14],e[3],e[7],e[11],e[15]):void 0},u.fromArray=function(e,t,n){return t=r(t,0),i(n)||(n=new u),n[0]=e[t],n[1]=e[t+1],n[2]=e[t+2],n[3]=e[t+3],n[4]=e[t+4],n[5]=e[t+5],n[6]=e[t+6],n[7]=e[t+7],n[8]=e[t+8],n[9]=e[t+9],n[10]=e[t+10],n[11]=e[t+11],n[12]=e[t+12],n[13]=e[t+13],n[14]=e[t+14],n[15]=e[t+15],n},u.fromColumnMajorArray=function(e,t){return u.clone(e,t)},u.fromRowMajorArray=function(e,t){return i(t)?(t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15],t):new u(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])},u.fromRotationTranslation=function(e,t,r){return i(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=0,r[4]=e[3],r[5]=e[4],r[6]=e[5],r[7]=0,r[8]=e[6],r[9]=e[7],r[10]=e[8],r[11]=0,r[12]=t.x,r[13]=t.y,r[14]=t.z,r[15]=1,r):new u(e[0],e[3],e[6],t.x,e[1],e[4],e[7],t.y,e[2],e[5],e[8],t.z,0,0,0,1)},new s,u.fromTranslationQuaternionRotationScale=function(e,t,r,n){i(n)||(n=new u);var o=r.x,a=r.y,s=r.z,l=t.x*t.x,c=t.x*t.y,h=t.x*t.z,d=t.x*t.w,m=t.y*t.y,p=t.y*t.z,f=t.y*t.w,v=t.z*t.z,g=t.z*t.w,_=t.w*t.w,y=l-m-v+_,C=2*(c-g),S=2*(h+f),w=2*(c+g),E=-l+m-v+_,x=2*(p-d),b=2*(h-f),T=2*(p+d),A=-l-m+v+_;return n[0]=y*o,n[1]=w*o,n[2]=b*o,n[3]=0,n[4]=C*a,n[5]=E*a,n[6]=T*a,n[7]=0,n[8]=S*s,n[9]=x*s,n[10]=A*s,n[11]=0,n[12]=e.x,n[13]=e.y,n[14]=e.z,n[15]=1,n},u.fromTranslation=function(e,t){return u.fromRotationTranslation(s.IDENTITY,e,t)},u.fromScale=function(e,t){return i(t)?(t[0]=e.x,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e.y,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e.z,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t):new u(e.x,0,0,0,0,e.y,0,0,0,0,e.z,0,0,0,0,1)},u.fromUniformScale=function(e,t){return i(t)?(t[0]=e,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t):new u(e,0,0,0,0,e,0,0,0,0,e,0,0,0,0,1)};var c=new e,h=new e,d=new e;u.fromCamera=function(t,r){var n=t.eye,o=t.target,a=t.up;e.normalize(e.subtract(o,n,c),c),e.normalize(e.cross(c,a,h),h),e.normalize(e.cross(h,c,d),d);var s=h.x,l=h.y,m=h.z,p=c.x,f=c.y,v=c.z,g=d.x,_=d.y,y=d.z,C=n.x,S=n.y,w=n.z,E=s*-C+l*-S+m*-w,x=g*-C+_*-S+y*-w,b=p*C+f*S+v*w;return i(r)?(r[0]=s,r[1]=g,r[2]=-p,r[3]=0,r[4]=l,r[5]=_,r[6]=-f,r[7]=0,r[8]=m,r[9]=y,r[10]=-v,r[11]=0,r[12]=E,r[13]=x,r[14]=b,r[15]=1,r):new u(s,l,m,E,g,_,y,x,-p,-f,-v,b,0,0,0,1)},u.computePerspectiveFieldOfView=function(e,t,r,n,o){var a=Math.tan(.5*e),s=1/a,l=s/t,c=(n+r)/(r-n),h=2*n*r/(r-n);return i(o)?(o[0]=l,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=s,o[6]=0,o[7]=0,o[8]=0,o[9]=0,o[10]=c,o[11]=-1,o[12]=0,o[13]=0,o[14]=h,o[15]=0,o):new u(l,0,0,0,0,s,0,0,0,0,c,h,0,0,-1,0)},u.computeOrthographicOffCenter=function(e,t,r,n,o,a,s){var l=1/(t-e),c=1/(n-r),h=1/(a-o),d=-(t+e)*l,m=-(n+r)*c,p=-(a+o)*h;return l*=2,c*=2,h*=-2,i(s)?(s[0]=l,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=c,s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=h,s[11]=0,s[12]=d,s[13]=m,s[14]=p,s[15]=1,s):new u(l,0,0,d,0,c,0,m,0,0,h,p,0,0,0,1)},u.computePerspectiveOffCenter=function(e,t,r,n,o,a,s){var l=2*o/(t-e),c=2*o/(n-r),h=(t+e)/(t-e),d=(n+r)/(n-r),m=-(a+o)/(a-o),p=-1,f=-2*a*o/(a-o);return i(s)?(s[0]=l,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=c,s[6]=0,s[7]=0,s[8]=h,s[9]=d,s[10]=m,s[11]=p,s[12]=0,s[13]=0,s[14]=f,s[15]=0,s):new u(l,0,h,0,0,c,d,0,0,0,m,f,0,0,p,0)},u.computeInfinitePerspectiveOffCenter=function(e,t,r,n,o,a){var s=2*o/(t-e),l=2*o/(n-r),c=(t+e)/(t-e),h=(n+r)/(n-r),d=-1,m=-1,p=-2*o;return i(a)?(a[0]=s,a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=l,a[6]=0,a[7]=0,a[8]=c,a[9]=h,a[10]=d,a[11]=m,a[12]=0,a[13]=0,a[14]=p,a[15]=0,a):new u(s,0,c,0,0,l,h,0,0,0,d,p,0,0,m,0)},u.computeViewportTransformation=function(e,t,n,o){e=r(e,r.EMPTY_OBJECT);var a=r(e.x,0),s=r(e.y,0),l=r(e.width,0),c=r(e.height,0);t=r(t,0),n=r(n,1);var h=.5*l,d=.5*c,m=.5*(n-t),p=h,f=d,v=m,g=a+h,_=s+d,y=t+m,C=1;return i(o)?(o[0]=p,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=f,o[6]=0,o[7]=0,o[8]=0,o[9]=0,o[10]=v,o[11]=0,o[12]=g,o[13]=_,o[14]=y,o[15]=C,o):new u(p,0,0,g,0,f,0,_,0,0,v,y,0,0,0,C)},u.toArray=function(e,t){return i(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]]},u.getElementIndex=function(e,t){return 4*e+t},u.getColumn=function(e,r,n){var o=4*r,a=e[o],s=e[o+1],l=e[o+2],u=e[o+3];return i(n)?(n.x=a,n.y=s,n.z=l,n.w=u,n):new t(a,s,l,u)},u.setColumn=function(e,t,r,i){i=u.clone(e,i);var n=4*t;return i[n]=r.x,i[n+1]=r.y,i[n+2]=r.z,i[n+3]=r.w,i},u.getRow=function(e,r,n){var o=e[r],a=e[r+4],s=e[r+8],l=e[r+12];return i(n)?(n.x=o,n.y=a,n.z=s,n.w=l,n):new t(o,a,s,l)},u.setRow=function(e,t,r,i){return i=u.clone(e,i),i[t]=r.x,i[t+4]=r.y,i[t+8]=r.z,i[t+12]=r.w,i},u.multiply=function(e,t,r){var n=e[0],o=e[1],a=e[2],s=e[3],l=e[4],c=e[5],h=e[6],d=e[7],m=e[8],p=e[9],f=e[10],v=e[11],g=e[12],_=e[13],y=e[14],C=e[15],S=t[0],w=t[1],E=t[2],x=t[3],b=t[4],T=t[5],A=t[6],P=t[7],D=t[8],M=t[9],I=t[10],O=t[11],R=t[12],L=t[13],N=t[14],B=t[15],z=n*S+l*w+m*E+g*x,F=o*S+c*w+p*E+_*x,V=a*S+h*w+f*E+y*x,k=s*S+d*w+v*E+C*x,U=n*b+l*T+m*A+g*P,W=o*b+c*T+p*A+_*P,G=a*b+h*T+f*A+y*P,H=s*b+d*T+v*A+C*P,j=n*D+l*M+m*I+g*O,q=o*D+c*M+p*I+_*O,Y=a*D+h*M+f*I+y*O,X=s*D+d*M+v*I+C*O,Z=n*R+l*L+m*N+g*B,J=o*R+c*L+p*N+_*B,Q=a*R+h*L+f*N+y*B,K=s*R+d*L+v*N+C*B;return i(r)?(r[0]=z,r[1]=F,r[2]=V,r[3]=k,r[4]=U,r[5]=W,r[6]=G,r[7]=H,r[8]=j,r[9]=q,r[10]=Y,r[11]=X,r[12]=Z,r[13]=J,r[14]=Q,r[15]=K,r):new u(z,U,j,Z,F,W,q,J,V,G,Y,Q,k,H,X,K)},u.multiplyTransformation=function(e,t,r){var n=e[0],o=e[1],a=e[2],s=e[4],l=e[5],c=e[6],h=e[8],d=e[9],m=e[10],p=e[12],f=e[13],v=e[14],g=t[0],_=t[1],y=t[2],C=t[4],S=t[5],w=t[6],E=t[8],x=t[9],b=t[10],T=t[12],A=t[13],P=t[14],D=n*g+s*_+h*y,M=o*g+l*_+d*y,I=a*g+c*_+m*y,O=n*C+s*S+h*w,R=o*C+l*S+d*w,L=a*C+c*S+m*w,N=n*E+s*x+h*b,B=o*E+l*x+d*b,z=a*E+c*x+m*b,F=n*T+s*A+h*P+p,V=o*T+l*A+d*P+f,k=a*T+c*A+m*P+v;return i(r)?(r[0]=D,r[1]=M,r[2]=I,r[3]=0,r[4]=O,r[5]=R,r[6]=L,r[7]=0,r[8]=N,r[9]=B,r[10]=z,r[11]=0,r[12]=F,r[13]=V,r[14]=k,r[15]=1,r):new u(D,O,N,F,M,R,B,V,I,L,z,k,0,0,0,1)},u.multiplyByTranslation=function(e,t,r){var n=t.x,o=t.y,a=t.z,s=n*e[0]+o*e[4]+a*e[8]+e[12],l=n*e[1]+o*e[5]+a*e[9]+e[13],c=n*e[2]+o*e[6]+a*e[10]+e[14];return i(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r[9]=e[9],r[10]=e[10],r[11]=e[11],r[12]=s,r[13]=l,r[14]=c,r[15]=e[15],r):new u(e[0],e[4],e[8],s,e[1],e[5],e[9],l,e[2],e[6],e[10],c,e[3],e[7],e[11],e[15])};var m=new e;return u.multiplyByUniformScale=function(e,t,r){return m.x=t,m.y=t,m.z=t,u.multiplyByScale(e,m,r)},u.multiplyByScale=function(e,t,r){var n=t.x,o=t.y,a=t.z;return 1===n&&1===o&&1===a?u.clone(e,r):i(r)?(r[0]=n*e[0],r[1]=n*e[1],r[2]=n*e[2],r[3]=0,r[4]=o*e[4],r[5]=o*e[5],r[6]=o*e[6],r[7]=0,r[8]=a*e[8],r[9]=a*e[9],r[10]=a*e[10],r[11]=0,r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=1,r):new u(n*e[0],o*e[4],a*e[8],e[12],n*e[1],o*e[5],a*e[9],e[13],n*e[2],o*e[6],a*e[10],e[14],0,0,0,1)},u.multiplyByVector=function(e,r,n){var o=r.x,a=r.y,s=r.z,l=r.w,u=e[0]*o+e[4]*a+e[8]*s+e[12]*l,c=e[1]*o+e[5]*a+e[9]*s+e[13]*l,h=e[2]*o+e[6]*a+e[10]*s+e[14]*l,d=e[3]*o+e[7]*a+e[11]*s+e[15]*l;return i(n)?(n.x=u,n.y=c,n.z=h,n.w=d,n):new t(u,c,h,d)},u.multiplyByPointAsVector=function(t,r,n){var o=r.x,a=r.y,s=r.z,l=t[0]*o+t[4]*a+t[8]*s,u=t[1]*o+t[5]*a+t[9]*s,c=t[2]*o+t[6]*a+t[10]*s;return i(n)?(n.x=l,n.y=u,n.z=c,n):new e(l,u,c)},u.multiplyByPoint=function(t,r,n){var o=r.x,a=r.y,s=r.z,l=t[0]*o+t[4]*a+t[8]*s+t[12],u=t[1]*o+t[5]*a+t[9]*s+t[13],c=t[2]*o+t[6]*a+t[10]*s+t[14];return i(n)?(n.x=l,n.y=u,n.z=c,n):new e(l,u,c)},u.multiplyByScalar=function(e,t,r){return i(r)?(r[0]=e[0]*t,r[1]=e[1]*t,r[2]=e[2]*t,r[3]=e[3]*t,r[4]=e[4]*t,r[5]=e[5]*t,r[6]=e[6]*t,r[7]=e[7]*t,r[8]=e[8]*t,r[9]=e[9]*t,r[10]=e[10]*t,r[11]=e[11]*t,r[12]=e[12]*t,r[13]=e[13]*t,r[14]=e[14]*t,r[15]=e[15]*t,r):new u(e[0]*t,e[4]*t,e[8]*t,e[12]*t,e[1]*t,e[5]*t,e[9]*t,e[13]*t,e[2]*t,e[6]*t,e[10]*t,e[14]*t,e[3]*t,e[7]*t,e[11]*t,e[15]*t)},u.negate=function(e,t){return i(t)?(t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t[4]=-e[4],t[5]=-e[5],t[6]=-e[6],t[7]=-e[7],t[8]=-e[8],t[9]=-e[9],t[10]=-e[10],t[11]=-e[11],t[12]=-e[12],t[13]=-e[13],t[14]=-e[14],t[15]=-e[15],t):new u(-e[0],-e[4],-e[8],-e[12],-e[1],-e[5],-e[9],-e[13],-e[2],-e[6],-e[10],-e[14],-e[3],-e[7],-e[11],-e[15])},u.transpose=function(e,t){if(!i(t))return new u(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]);var r=e[1],n=e[2],o=e[3],a=e[6],s=e[7],l=e[11];return t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=r,t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=n,t[9]=a,t[10]=e[10],t[11]=e[14],t[12]=o,t[13]=s,t[14]=l,t[15]=e[15],t},u.abs=function(e,t){return i(t)?(t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t[3]=Math.abs(e[3]),t[4]=Math.abs(e[4]),t[5]=Math.abs(e[5]),t[6]=Math.abs(e[6]),t[7]=Math.abs(e[7]),t[8]=Math.abs(e[8]),t[9]=Math.abs(e[9]),t[10]=Math.abs(e[10]),t[11]=Math.abs(e[11]),t[12]=Math.abs(e[12]),t[13]=Math.abs(e[13]),t[14]=Math.abs(e[14]),t[15]=Math.abs(e[15]),t):new u(Math.abs(e[0]),Math.abs(e[4]),Math.abs(e[8]),Math.abs(e[12]),Math.abs(e[1]),Math.abs(e[5]),Math.abs(e[9]),Math.abs(e[13]),Math.abs(e[2]),Math.abs(e[6]),Math.abs(e[10]),Math.abs(e[14]),Math.abs(e[3]),Math.abs(e[7]),Math.abs(e[11]),Math.abs(e[15]))},u.equals=function(e,t){return e===t||i(e)&&i(t)&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15]},u.equalsEpsilon=function(e,t,r){return e===t||i(e)&&i(t)&&Math.abs(e[0]-t[0])<=r&&Math.abs(e[1]-t[1])<=r&&Math.abs(e[2]-t[2])<=r&&Math.abs(e[3]-t[3])<=r&&Math.abs(e[4]-t[4])<=r&&Math.abs(e[5]-t[5])<=r&&Math.abs(e[6]-t[6])<=r&&Math.abs(e[7]-t[7])<=r&&Math.abs(e[8]-t[8])<=r&&Math.abs(e[9]-t[9])<=r&&Math.abs(e[10]-t[10])<=r&&Math.abs(e[11]-t[11])<=r&&Math.abs(e[12]-t[12])<=r&&Math.abs(e[13]-t[13])<=r&&Math.abs(e[14]-t[14])<=r&&Math.abs(e[15]-t[15])<=r},u.getTranslation=function(t,r){return i(r)?(r.x=t[12],r.y=t[13],r.z=t[14],r):new e(t[12],t[13],t[14])},u.getRotation=function(e,t){return i(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[4],t[4]=e[5],t[5]=e[6],t[6]=e[8],t[7]=e[9],t[8]=e[10],t):new s(e[0],e[4],e[8],e[1],e[5],e[9],e[2],e[6],e[10])},u.inverse=function(e,t){var r=e[0],n=e[4],o=e[8],s=e[12],c=e[1],h=e[5],d=e[9],m=e[13],p=e[2],f=e[6],v=e[10],g=e[14],_=e[3],y=e[7],C=e[11],S=e[15],w=v*S,E=g*C,x=f*S,b=g*y,T=f*C,A=v*y,P=p*S,D=g*_,M=p*C,I=v*_,O=p*y,R=f*_,L=w*h+b*d+T*m-(E*h+x*d+A*m),N=E*c+P*d+I*m-(w*c+D*d+M*m),B=x*c+D*h+O*m-(b*c+P*h+R*m),z=A*c+M*h+R*d-(T*c+I*h+O*d),F=E*n+x*o+A*s-(w*n+b*o+T*s),V=w*r+D*o+M*s-(E*r+P*o+I*s),k=b*r+P*n+R*s-(x*r+D*n+O*s),U=T*r+I*n+O*o-(A*r+M*n+R*o);w=o*m,E=s*d,x=n*m,b=s*h,T=n*d,A=o*h,P=r*m,D=s*c,M=r*d,I=o*c,O=r*h,R=n*c;var W=w*y+b*C+T*S-(E*y+x*C+A*S),G=E*_+P*C+I*S-(w*_+D*C+M*S),H=x*_+D*y+O*S-(b*_+P*y+R*S),j=A*_+M*y+R*C-(T*_+I*y+O*C),q=x*v+A*g+E*f-(T*g+w*f+b*v),Y=M*g+w*p+D*v-(P*v+I*g+E*p),X=P*f+R*g+b*p-(O*g+x*p+D*f),Z=O*v+T*p+I*f-(M*f+R*v+A*p),J=r*L+n*N+o*B+s*z;if(Math.abs(J)b;b++){e.clone(t[b],n);var T=n.x,A=n.y,P=n.z;Tl.x&&e.clone(n,l),Au.y&&e.clone(n,u),PE.z&&e.clone(n,E)}var D=e.magnitudeSquared(e.subtract(l,o,_)),M=e.magnitudeSquared(e.subtract(u,a,_)),I=e.magnitudeSquared(e.subtract(E,s,_)),O=o,R=l,L=D;M>L&&(L=M,O=a,R=u),I>L&&(L=I,O=s,R=E);var N=y;N.x=.5*(O.x+R.x),N.y=.5*(O.y+R.y),N.z=.5*(O.z+R.z);var B=e.magnitudeSquared(e.subtract(R,N,_)),z=Math.sqrt(B),F=C;F.x=o.x,F.y=a.y,F.z=s.z;var V=S;V.x=l.x,V.y=u.y,V.z=E.z;var k=e.multiplyByScalar(e.add(F,V,_),.5,w),U=0;for(b=0;x>b;b++){e.clone(t[b],n);var W=e.magnitude(e.subtract(n,k,_));W>U&&(U=W);var G=e.magnitudeSquared(e.subtract(n,N,_));if(G>B){var H=Math.sqrt(G);z=.5*(z+H),B=z*z;var j=H-z;N.x=(z*N.x+j*n.x)/H,N.y=(z*N.y+j*n.y)/H,N.z=(z*N.z+j*n.z)/H}}return U>z?(e.clone(N,r.center),r.radius=z):(e.clone(k,r.center),r.radius=U),r};var E=new a,x=new e,b=new e,T=new t,A=new t;c.fromExtent2D=function(e,t,r){return c.fromExtentWithHeights2D(e,t,0,0,r)},c.fromExtentWithHeights2D=function(t,n,o,a,s){if(i(s)||(s=new c),!i(t))return s.center=e.clone(e.ZERO,s.center),s.radius=0,s;n=r(n,E),t.getSouthwest(T),T.height=o,t.getNortheast(A),A.height=a;var l=n.project(T,x),u=n.project(A,b),h=u.x-l.x,d=u.y-l.y,m=u.z-l.z;s.radius=.5*Math.sqrt(h*h+d*d+m*m);var p=s.center;return p.x=l.x+.5*h,p.y=l.y+.5*d,p.z=l.z+.5*m,s};var P=[];c.fromExtent3D=function(e,t,n,a){t=r(t,o.WGS84),n=r(n,0);var s;return i(e)&&(s=e.subsample(t,n,P)),c.fromPoints(s,a)},c.fromVertices=function(t,n,o,a){if(i(a)||(a=new c),!i(t)||0===t.length)return a.center=e.clone(e.ZERO,a.center),a.radius=0,a;n=r(n,e.ZERO),o=r(o,3);var s=g;s.x=t[0]+n.x,s.y=t[1]+n.y,s.z=t[2]+n.z;for(var l=e.clone(s,h),u=e.clone(s,d),E=e.clone(s,m),x=e.clone(s,p),b=e.clone(s,f),T=e.clone(s,v),A=t.length,P=0;A>P;P+=o){var D=t[P]+n.x,M=t[P+1]+n.y,I=t[P+2]+n.z;s.x=D,s.y=M,s.z=I,Dx.x&&e.clone(s,x),Mb.y&&e.clone(s,b),IT.z&&e.clone(s,T)}var O=e.magnitudeSquared(e.subtract(x,l,_)),R=e.magnitudeSquared(e.subtract(b,u,_)),L=e.magnitudeSquared(e.subtract(T,E,_)),N=l,B=x,z=O;R>z&&(z=R,N=u,B=b),L>z&&(z=L,N=E,B=T);var F=y;F.x=.5*(N.x+B.x),F.y=.5*(N.y+B.y),F.z=.5*(N.z+B.z);var V=e.magnitudeSquared(e.subtract(B,F,_)),k=Math.sqrt(V),U=C;U.x=l.x,U.y=u.y,U.z=E.z;var W=S;W.x=x.x,W.y=b.y,W.z=T.z;var G=e.multiplyByScalar(e.add(U,W,_),.5,w),H=0;for(P=0;A>P;P+=o){s.x=t[P]+n.x,s.y=t[P+1]+n.y,s.z=t[P+2]+n.z;var j=e.magnitude(e.subtract(s,G,_));j>H&&(H=j);var q=e.magnitudeSquared(e.subtract(s,F,_));if(q>V){var Y=Math.sqrt(q);k=.5*(k+Y),V=k*k;var X=Y-k;F.x=(k*F.x+X*s.x)/Y,F.y=(k*F.y+X*s.y)/Y,F.z=(k*F.z+X*s.z)/Y}}return H>k?(e.clone(F,a.center),a.radius=k):(e.clone(G,a.center),a.radius=H),a},c.fromCornerPoints=function(t,r,n){i(n)||(n=new c);var o=n.center;return e.add(t,r,o),e.multiplyByScalar(o,.5,o),n.radius=e.distance(o,r),n},c.fromEllipsoid=function(t,r){return i(r)||(r=new c),e.clone(e.ZERO,r.center),r.radius=t.maximumRadius,r},c.clone=function(t,r){return i(t)?i(r)?(r.center=e.clone(t.center,r.center),r.radius=t.radius,r):new c(t.center,t.radius):void 0};var D=new e,M=new e;c.union=function(t,r,n){i(n)||(n=new c);var o=t.center,a=r.center;e.add(o,a,M);var s=e.multiplyByScalar(M,.5,M),l=e.magnitude(e.subtract(o,s,D))+t.radius,u=e.magnitude(e.subtract(a,s,D))+r.radius;return n.radius=Math.max(l,u),e.clone(s,n.center),n};var I=new e;c.expand=function(t,r,i){i=c.clone(t,i);var n=e.magnitude(e.subtract(r,i.center,I));return n>i.radius&&(i.radius=n),i},c.intersect=function(t,r){var i=t.center,n=t.radius,o=e.dot(r,i)+r.w;return-n>o?s.OUTSIDE:n>o?s.INTERSECTING:s.INSIDE};var O=new e;c.transform=function(t,r,n){return i(n)||(n=new c),n.center=u.multiplyByPoint(r,t.center,n.center),n.radius=Math.max(e.magnitude(u.getColumn(r,0,O)),e.magnitude(u.getColumn(r,1,O)),e.magnitude(u.getColumn(r,2,O)))*t.radius,n},c.transformWithoutScale=function(e,t,r){return i(r)||(r=new c),r.center=u.multiplyByPoint(t,e.center,r.center),r.radius=e.radius,r};var R=new e;c.getPlaneDistances=function(t,r,n,o){i(o)||(o=new l);var a=e.subtract(t.center,r,R),s=e.multiplyByScalar(n,e.dot(n,a),R),u=e.magnitude(s);return o.start=u-t.radius,o.stop=u+t.radius,o};for(var L=new e,N=new e,B=new e,z=new e,F=new e,V=new t,k=new Array(8),U=0;8>U;++U)k[U]=new e;var W=new a;return c.projectTo2D=function(t,i,n){i=r(i,W);var o=i.ellipsoid,a=t.center,s=t.radius,l=o.geodeticSurfaceNormal(a,L),u=e.cross(e.UNIT_Z,l,N);e.normalize(u,u);var h=e.cross(l,u,B);e.normalize(h,h),e.multiplyByScalar(l,s,l),e.multiplyByScalar(h,s,h),e.multiplyByScalar(u,s,u);var d=e.negate(h,F),m=e.negate(u,z),p=k,f=p[0];e.add(l,h,f),e.add(f,u,f),f=p[1],e.add(l,h,f),e.add(f,m,f),f=p[2],e.add(l,d,f),e.add(f,m,f),f=p[3],e.add(l,d,f),e.add(f,u,f),e.negate(l,l),f=p[4],e.add(l,h,f),e.add(f,u,f),f=p[5],e.add(l,h,f),e.add(f,m,f),f=p[6],e.add(l,d,f),e.add(f,m,f),f=p[7],e.add(l,d,f),e.add(f,u,f);for(var v=p.length,g=0;v>g;++g){var _=p[g];e.add(a,_,_);var y=o.cartesianToCartographic(_,V);i.project(y,_)}n=c.fromPoints(p,n),a=n.center;var C=a.x,S=a.y,w=a.z;return a.x=w,a.y=C,a.z=S,n},c.equals=function(t,r){return t===r||i(t)&&i(r)&&e.equals(t.center,r.center)&&t.radius===r.radius},c.prototype.clone=function(e){return c.clone(this,e)},c.prototype.union=function(e,t){return c.union(this,e,t)},c.prototype.expand=function(e,t){return c.expand(this,e,t)},c.prototype.intersect=function(e){return c.intersect(this,e)},c.prototype.getPlaneDistances=function(e,t,r){return c.getPlaneDistances(this,e,t,r)},c.prototype.projectTo2D=function(e,t){return c.projectTo2D(this,e,t)},c.prototype.equals=function(e){return c.equals(this,e)},c}),r("Core/Fullscreen",["./defined"],function(e){"use strict";var t,r={requestFullscreen:void 0,exitFullscreen:void 0,fullscreenEnabled:void 0,fullscreenElement:void 0,fullscreenchange:void 0,fullscreenerror:void 0},i={};return i.supportsFullscreen=function(){if(e(t))return t;t=!1;var i=document.body;if("function"==typeof i.requestFullscreen)return r.requestFullscreen="requestFullscreen",r.exitFullscreen="exitFullscreen",r.fullscreenEnabled="fullscreenEnabled",r.fullscreenElement="fullscreenElement",r.fullscreenchange="fullscreenchange",r.fullscreenerror="fullscreenerror",t=!0;for(var n,o=["webkit","moz","o","ms","khtml"],a=0,s=o.length;s>a;++a){var l=o[a];n=l+"RequestFullscreen","function"==typeof i[n]?(r.requestFullscreen=n,t=!0):(n=l+"RequestFullScreen","function"==typeof i[n]&&(r.requestFullscreen=n,t=!0)),n=l+"ExitFullscreen","function"==typeof document[n]?r.exitFullscreen=n:(n=l+"CancelFullScreen","function"==typeof document[n]&&(r.exitFullscreen=n)),n=l+"FullscreenEnabled",e(document[n])?r.fullscreenEnabled=n:(n=l+"FullScreenEnabled",e(document[n])&&(r.fullscreenEnabled=n)),n=l+"FullscreenElement",e(document[n])?r.fullscreenElement=n:(n=l+"FullScreenElement",e(document[n])&&(r.fullscreenElement=n)),n=l+"fullscreenchange",e(document["on"+n])&&("ms"===l&&(n="MSFullscreenChange"),r.fullscreenchange=n),n=l+"fullscreenerror",e(document["on"+n])&&("ms"===l&&(n="MSFullscreenError"),r.fullscreenerror=n)}return t},i.requestFullscreen=function(e){i.supportsFullscreen()&&e[r.requestFullscreen]()},i.exitFullscreen=function(){i.supportsFullscreen()&&document[r.exitFullscreen]()},i.isFullscreenEnabled=function(){return i.supportsFullscreen()?document[r.fullscreenEnabled]:void 0},i.getFullscreenElement=function(){return i.supportsFullscreen()?document[r.fullscreenElement]:void 0},i.isFullscreen=function(){return i.supportsFullscreen()?null!==i.getFullscreenElement():void 0},i.getFullscreenChangeEventName=function(){return i.supportsFullscreen()?r.fullscreenchange:void 0},i.getFullscreenErrorEventName=function(){return i.supportsFullscreen()?r.fullscreenerror:void 0},i}),r("Core/FeatureDetection",["./defined","./Fullscreen"],function(e,t){"use strict";function r(e){for(var t=e.split("."),r=0,i=t.length;i>r;++r)t[r]=parseInt(t[r],10);return t}function i(){if(!e(h)){var t=/ Chrome\/([\.0-9]+)/.exec(navigator.userAgent);null===t?h=!1:(h=!0,d=r(t[1]))}return h}function n(){return i()&&d}function o(){if(!e(m))if(i()||!/ Safari\/[\.0-9]+/.test(navigator.userAgent))m=!1;else{var t=/ Version\/([\.0-9]+)/.exec(navigator.userAgent);null===t?m=!1:(m=!0,p=r(t[1]))}return m}function a(){return o()&&p}function s(){if(!e(f)){var t=/ AppleWebKit\/([\.0-9]+)(\+?)/.exec(navigator.userAgent);null===t?f=!1:(f=!0,v=r(t[1]),v.isNightly=!!t[2])}return f}function l(){return s()&&v}function u(){if(!e(g)){var t;"Microsoft Internet Explorer"===navigator.appName?(t=/MSIE ([0-9]{1,}[\.0-9]{0,})/.exec(navigator.userAgent),null!==t&&(g=!0,_=r(t[1]))):"Netscape"===navigator.appName?(t=/Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/.exec(navigator.userAgent),null!==t&&(g=!0,_=r(t[1]))):g=!1}return g}function c(){return u()&&_}var h,d,m,p,f,v,g,_,y={isChrome:i,chromeVersion:n,isSafari:o,safariVersion:a,isWebkit:s,webkitVersion:l,isInternetExplorer:u,internetExplorerVersion:c};y.supportsFullscreen=function(){return t.supportsFullscreen()},y.supportsTypedArrays=function(){return"undefined"!=typeof ArrayBuffer};var C;return y.supportsTransferringArrayBuffers=function(){if(!e(C)){if(!y.supportsTypedArrays())return C=!1,void 0;var t=new ArrayBuffer(1);try{postMessage({value:t},[t]),C=!0}catch(r){C=!1}}return C},y}),r("Core/ComponentDatatype",["./defaultValue","./defined","./DeveloperError","./FeatureDetection","./Enumeration"],function(e,t,r,i,n){"use strict";if(!i.supportsTypedArrays())return{};var o={BYTE:new n(5120,"BYTE",{sizeInBytes:Int8Array.BYTES_PER_ELEMENT}),UNSIGNED_BYTE:new n(5121,"UNSIGNED_BYTE",{sizeInBytes:Uint8Array.BYTES_PER_ELEMENT}),SHORT:new n(5122,"SHORT",{sizeInBytes:Int16Array.BYTES_PER_ELEMENT}),UNSIGNED_SHORT:new n(5123,"UNSIGNED_SHORT",{sizeInBytes:Uint16Array.BYTES_PER_ELEMENT}),FLOAT:new n(5126,"FLOAT",{sizeInBytes:Float32Array.BYTES_PER_ELEMENT}),DOUBLE:new n(5130,"DOUBLE",{sizeInBytes:Float64Array.BYTES_PER_ELEMENT})};return o.validate=function(e){return t(e)&&t(e.value)&&(e.value===o.BYTE.value||e.value===o.UNSIGNED_BYTE.value||e.value===o.SHORT.value||e.value===o.UNSIGNED_SHORT.value||e.value===o.FLOAT.value||e.value===o.DOUBLE.value)},o.createTypedArray=function(e,t){switch(e.value){case o.BYTE.value:return new Int8Array(t);case o.UNSIGNED_BYTE.value:return new Uint8Array(t);case o.SHORT.value:return new Int16Array(t);case o.UNSIGNED_SHORT.value:return new Uint16Array(t);case o.FLOAT.value:return new Float32Array(t);case o.DOUBLE.value:return new Float64Array(t);default:throw new r("componentDatatype is not a valid enumeration value.")}},o.createArrayBufferView=function(t,i,n,a){switch(n=e(n,0),a=e(a,(i.byteLength-n)/t.sizeInBytes),t.value){case o.BYTE.value:return new Int8Array(i,n,a);case o.UNSIGNED_BYTE.value:return new Uint8Array(i,n,a);case o.SHORT.value:return new Int16Array(i,n,a);case o.UNSIGNED_SHORT.value:return new Uint16Array(i,n,a);case o.FLOAT.value:return new Float32Array(i,n,a);case o.DOUBLE.value:return new Float64Array(i,n,a);default:throw new r("componentDatatype is not a valid enumeration value.")}},o}),r("Core/PrimitiveType",[],function(){"use strict";var e={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,validate:function(t){return t===e.POINTS||t===e.LINES||t===e.LINE_LOOP||t===e.LINE_STRIP||t===e.TRIANGLES||t===e.TRIANGLE_STRIP||t===e.TRIANGLE_FAN}};return e}),r("Core/GeometryAttribute",["./defaultValue","./defined","./DeveloperError"],function(e){"use strict";var t=function(t){t=e(t,e.EMPTY_OBJECT),this.componentDatatype=t.componentDatatype,this.componentsPerAttribute=t.componentsPerAttribute,this.normalize=e(t.normalize,!1),this.values=t.values};return t}),r("Core/GeometryAttributes",["./defaultValue"],function(e){"use strict";var t=function(t){t=e(t,e.EMPTY_OBJECT),this.position=t.position,this.normal=t.normal,this.st=t.st,this.binormal=t.binormal,this.tangent=t.tangent,this.color=t.color};return t}),r("Core/VertexFormat",["./defaultValue","./freezeObject"],function(e,t){"use strict";var r=function(t){t=e(t,e.EMPTY_OBJECT),this.position=e(t.position,!1),this.normal=e(t.normal,!1),this.st=e(t.st,!1),this.binormal=e(t.binormal,!1),this.tangent=e(t.tangent,!1)};return r.POSITION_ONLY=t(new r({position:!0})),r.POSITION_AND_NORMAL=t(new r({position:!0,normal:!0})),r.POSITION_NORMAL_AND_ST=t(new r({position:!0,normal:!0,st:!0})),r.POSITION_AND_ST=t(new r({position:!0,st:!0})),r.ALL=t(new r({position:!0,normal:!0,st:!0,binormal:!0,tangent:!0})),r.DEFAULT=r.POSITION_NORMAL_AND_ST,r}),r("Core/Geometry",["./defaultValue","./defined","./DeveloperError"],function(e,t,r){"use strict";var i=function(t){t=e(t,e.EMPTY_OBJECT),this.attributes=t.attributes,this.indices=t.indices,this.primitiveType=t.primitiveType,this.boundingSphere=t.boundingSphere};return i.computeNumberOfVertices=function(e){var i=-1;for(var n in e.attributes)if(e.attributes.hasOwnProperty(n)&&t(e.attributes[n])&&t(e.attributes[n].values)){var o=e.attributes[n],a=o.values.length/o.componentsPerAttribute;if(i!==a&&-1!==i)throw new r("All attribute lists must have the same number of attributes.");i=a}return i},i}),r("Core/BoxGeometry",["./defined","./DeveloperError","./Cartesian3","./ComponentDatatype","./PrimitiveType","./defaultValue","./BoundingSphere","./GeometryAttribute","./GeometryAttributes","./VertexFormat","./Geometry"],function(e,t,r,i,n,o,a,s,l,u,c){"use strict";var h=new r,d=function(e){e=o(e,o.EMPTY_OBJECT);var t=e.minimumCorner,i=e.maximumCorner,n=o(e.vertexFormat,u.DEFAULT);this._minimumCorner=r.clone(t),this._maximumCorner=r.clone(i),this._vertexFormat=n,this._workerName="createBoxGeometry"};return d.fromDimensions=function(e){e=o(e,o.EMPTY_OBJECT);var t=e.dimensions,i=r.multiplyByScalar(t,.5),n=r.negate(i),a=i,s={minimumCorner:n,maximumCorner:a,vertexFormat:e.vertexFormat};return new d(s)},d.createGeometry=function(e){var t,o,u=e._minimumCorner,d=e._maximumCorner,m=e._vertexFormat,p=new l;if(m.position&&(m.st||m.normal||m.binormal||m.tangent)){if(m.position&&(o=new Float64Array(72),o[0]=u.x,o[1]=u.y,o[2]=d.z,o[3]=d.x,o[4]=u.y,o[5]=d.z,o[6]=d.x,o[7]=d.y,o[8]=d.z,o[9]=u.x,o[10]=d.y,o[11]=d.z,o[12]=u.x,o[13]=u.y,o[14]=u.z,o[15]=d.x,o[16]=u.y,o[17]=u.z,o[18]=d.x,o[19]=d.y,o[20]=u.z,o[21]=u.x,o[22]=d.y,o[23]=u.z,o[24]=d.x,o[25]=u.y,o[26]=u.z,o[27]=d.x,o[28]=d.y,o[29]=u.z,o[30]=d.x,o[31]=d.y,o[32]=d.z,o[33]=d.x,o[34]=u.y,o[35]=d.z,o[36]=u.x,o[37]=u.y,o[38]=u.z,o[39]=u.x,o[40]=d.y,o[41]=u.z,o[42]=u.x,o[43]=d.y,o[44]=d.z,o[45]=u.x,o[46]=u.y,o[47]=d.z,o[48]=u.x,o[49]=d.y,o[50]=u.z,o[51]=d.x,o[52]=d.y,o[53]=u.z,o[54]=d.x,o[55]=d.y,o[56]=d.z,o[57]=u.x,o[58]=d.y,o[59]=d.z,o[60]=u.x,o[61]=u.y,o[62]=u.z,o[63]=d.x,o[64]=u.y,o[65]=u.z,o[66]=d.x,o[67]=u.y,o[68]=d.z,o[69]=u.x,o[70]=u.y,o[71]=d.z,p.position=new s({componentDatatype:i.DOUBLE,componentsPerAttribute:3,values:o})),m.normal){var f=new Float32Array(72);f[0]=0,f[1]=0,f[2]=1,f[3]=0,f[4]=0,f[5]=1,f[6]=0,f[7]=0,f[8]=1,f[9]=0,f[10]=0,f[11]=1,f[12]=0,f[13]=0,f[14]=-1,f[15]=0,f[16]=0,f[17]=-1,f[18]=0,f[19]=0,f[20]=-1,f[21]=0,f[22]=0,f[23]=-1,f[24]=1,f[25]=0,f[26]=0,f[27]=1,f[28]=0,f[29]=0,f[30]=1,f[31]=0,f[32]=0,f[33]=1,f[34]=0,f[35]=0,f[36]=-1,f[37]=0,f[38]=0,f[39]=-1,f[40]=0,f[41]=0,f[42]=-1,f[43]=0,f[44]=0,f[45]=-1,f[46]=0,f[47]=0,f[48]=0,f[49]=1,f[50]=0,f[51]=0,f[52]=1,f[53]=0,f[54]=0,f[55]=1,f[56]=0,f[57]=0,f[58]=1,f[59]=0,f[60]=0,f[61]=-1,f[62]=0,f[63]=0,f[64]=-1,f[65]=0,f[66]=0,f[67]=-1,f[68]=0,f[69]=0,f[70]=-1,f[71]=0,p.normal=new s({componentDatatype:i.FLOAT,componentsPerAttribute:3,values:f}) +}if(m.st){var v=new Float32Array(48);v[0]=0,v[1]=0,v[2]=1,v[3]=0,v[4]=1,v[5]=1,v[6]=0,v[7]=1,v[8]=1,v[9]=0,v[10]=0,v[11]=0,v[12]=0,v[13]=1,v[14]=1,v[15]=1,v[16]=0,v[17]=0,v[18]=1,v[19]=0,v[20]=1,v[21]=1,v[22]=0,v[23]=1,v[24]=1,v[25]=0,v[26]=0,v[27]=0,v[28]=0,v[29]=1,v[30]=1,v[31]=1,v[32]=1,v[33]=0,v[34]=0,v[35]=0,v[36]=0,v[37]=1,v[38]=1,v[39]=1,v[40]=0,v[41]=0,v[42]=1,v[43]=0,v[44]=1,v[45]=1,v[46]=0,v[47]=1,p.st=new s({componentDatatype:i.FLOAT,componentsPerAttribute:2,values:v})}if(m.tangent){var g=new Float32Array(72);g[0]=1,g[1]=0,g[2]=0,g[3]=1,g[4]=0,g[5]=0,g[6]=1,g[7]=0,g[8]=0,g[9]=1,g[10]=0,g[11]=0,g[12]=-1,g[13]=0,g[14]=0,g[15]=-1,g[16]=0,g[17]=0,g[18]=-1,g[19]=0,g[20]=0,g[21]=-1,g[22]=0,g[23]=0,g[24]=0,g[25]=1,g[26]=0,g[27]=0,g[28]=1,g[29]=0,g[30]=0,g[31]=1,g[32]=0,g[33]=0,g[34]=1,g[35]=0,g[36]=0,g[37]=-1,g[38]=0,g[39]=0,g[40]=-1,g[41]=0,g[42]=0,g[43]=-1,g[44]=0,g[45]=0,g[46]=-1,g[47]=0,g[48]=-1,g[49]=0,g[50]=0,g[51]=-1,g[52]=0,g[53]=0,g[54]=-1,g[55]=0,g[56]=0,g[57]=-1,g[58]=0,g[59]=0,g[60]=1,g[61]=0,g[62]=0,g[63]=1,g[64]=0,g[65]=0,g[66]=1,g[67]=0,g[68]=0,g[69]=1,g[70]=0,g[71]=0,p.tangent=new s({componentDatatype:i.FLOAT,componentsPerAttribute:3,values:g})}if(m.binormal){var _=new Float32Array(72);_[0]=0,_[1]=1,_[2]=0,_[3]=0,_[4]=1,_[5]=0,_[6]=0,_[7]=1,_[8]=0,_[9]=0,_[10]=1,_[11]=0,_[12]=0,_[13]=1,_[14]=0,_[15]=0,_[16]=1,_[17]=0,_[18]=0,_[19]=1,_[20]=0,_[21]=0,_[22]=1,_[23]=0,_[24]=0,_[25]=0,_[26]=1,_[27]=0,_[28]=0,_[29]=1,_[30]=0,_[31]=0,_[32]=1,_[33]=0,_[34]=0,_[35]=1,_[36]=0,_[37]=0,_[38]=1,_[39]=0,_[40]=0,_[41]=1,_[42]=0,_[43]=0,_[44]=1,_[45]=0,_[46]=0,_[47]=1,_[48]=0,_[49]=0,_[50]=1,_[51]=0,_[52]=0,_[53]=1,_[54]=0,_[55]=0,_[56]=1,_[57]=0,_[58]=0,_[59]=1,_[60]=0,_[61]=0,_[62]=1,_[63]=0,_[64]=0,_[65]=1,_[66]=0,_[67]=0,_[68]=1,_[69]=0,_[70]=0,_[71]=1,p.binormal=new s({componentDatatype:i.FLOAT,componentsPerAttribute:3,values:_})}t=new Uint16Array(36),t[0]=0,t[1]=1,t[2]=2,t[3]=0,t[4]=2,t[5]=3,t[6]=6,t[7]=5,t[8]=4,t[9]=7,t[10]=6,t[11]=4,t[12]=8,t[13]=9,t[14]=10,t[15]=8,t[16]=10,t[17]=11,t[18]=14,t[19]=13,t[20]=12,t[21]=15,t[22]=14,t[23]=12,t[24]=18,t[25]=17,t[26]=16,t[27]=19,t[28]=18,t[29]=16,t[30]=20,t[31]=21,t[32]=22,t[33]=20,t[34]=22,t[35]=23}else o=new Float64Array(24),o[0]=u.x,o[1]=u.y,o[2]=u.z,o[3]=d.x,o[4]=u.y,o[5]=u.z,o[6]=d.x,o[7]=d.y,o[8]=u.z,o[9]=u.x,o[10]=d.y,o[11]=u.z,o[12]=u.x,o[13]=u.y,o[14]=d.z,o[15]=d.x,o[16]=u.y,o[17]=d.z,o[18]=d.x,o[19]=d.y,o[20]=d.z,o[21]=u.x,o[22]=d.y,o[23]=d.z,p.position=new s({componentDatatype:i.DOUBLE,componentsPerAttribute:3,values:o}),t=new Uint16Array(36),t[0]=4,t[1]=5,t[2]=6,t[3]=4,t[4]=6,t[5]=7,t[6]=1,t[7]=0,t[8]=3,t[9]=1,t[10]=3,t[11]=2,t[12]=1,t[13]=6,t[14]=5,t[15]=1,t[16]=2,t[17]=6,t[18]=2,t[19]=3,t[20]=7,t[21]=2,t[22]=7,t[23]=6,t[24]=3,t[25]=0,t[26]=4,t[27]=3,t[28]=4,t[29]=7,t[30]=0,t[31]=1,t[32]=5,t[33]=0,t[34]=5,t[35]=4;var y=r.subtract(d,u,h),C=.5*r.magnitude(y);return new c({attributes:p,indices:t,primitiveType:n.TRIANGLES,boundingSphere:new a(r.ZERO,C)})},d}),r("Core/BoxOutlineGeometry",["./defined","./DeveloperError","./Cartesian3","./ComponentDatatype","./PrimitiveType","./defaultValue","./BoundingSphere","./Geometry","./GeometryAttribute","./GeometryAttributes"],function(e,t,r,i,n,o,a,s,l,u){"use strict";var c=new r,h=function(e){e=o(e,o.EMPTY_OBJECT);var t=e.minimumCorner,i=e.maximumCorner;this._min=r.clone(t),this._max=r.clone(i),this._workerName="createBoxOutlineGeometry"};return h.fromDimensions=function(e){e=o(e,o.EMPTY_OBJECT);var t=e.dimensions,i=r.multiplyByScalar(t,.5),n=r.negate(i),a=i,s={minimumCorner:n,maximumCorner:a};return new h(s)},h.createGeometry=function(e){var t=e._min,o=e._max,h=new u,d=new Uint16Array(24),m=new Float64Array(24);m[0]=t.x,m[1]=t.y,m[2]=t.z,m[3]=o.x,m[4]=t.y,m[5]=t.z,m[6]=o.x,m[7]=o.y,m[8]=t.z,m[9]=t.x,m[10]=o.y,m[11]=t.z,m[12]=t.x,m[13]=t.y,m[14]=o.z,m[15]=o.x,m[16]=t.y,m[17]=o.z,m[18]=o.x,m[19]=o.y,m[20]=o.z,m[21]=t.x,m[22]=o.y,m[23]=o.z,h.position=new l({componentDatatype:i.DOUBLE,componentsPerAttribute:3,values:m}),d[0]=4,d[1]=5,d[2]=5,d[3]=6,d[4]=6,d[5]=7,d[6]=7,d[7]=4,d[8]=0,d[9]=1,d[10]=1,d[11]=2,d[12]=2,d[13]=3,d[14]=3,d[15]=0,d[16]=0,d[17]=4,d[18]=1,d[19]=5,d[20]=2,d[21]=6,d[22]=3,d[23]=7;var p=r.subtract(o,t,c),f=.5*r.magnitude(p);return new s({attributes:h,indices:d,primitiveType:n.LINES,boundingSphere:new a(r.ZERO,f)})},h}),r("Core/Spline",["../Core/defaultValue","../Core/defined","../Core/DeveloperError"],function(e,t,r){"use strict";var i=function(){this.times=void 0,this.points=void 0,r.throwInstantiationError()};return i.prototype.evaluate=r.throwInstantiationError,i.prototype.findTimeInterval=function(t,r){var i=this.times,n=i.length;if(r=e(r,0),t>=i[r]){if(n>r+1&&tr+2&&t=0&&t>=i[r-1])return r-1;var o;if(t>i[r])for(o=r;n-1>o&&!(t>=i[o]&&t=0&&!(t>=i[o]&&t=0;--u)s[u]=r.subtract(a[u],r.multiplyByScalar(s[u+1],o[u]));return s},i}),r("Core/HermiteSpline",["./defaultValue","./defined","./DeveloperError","./Cartesian3","./Matrix4","./Cartesian4","./Spline","./LinearSpline","./TridiagonalSystemSolver"],function(e,t,r,i,n,o,a,s,l){"use strict";function u(e,r,n){var o=h,a=m,s=d,u=p;o.length=a.length=e.length-1,s.length=u.length=e.length;var c;o[0]=s[0]=1,a[0]=0;var f=u[0];for(t(f)||(f=u[0]=new i),i.clone(r,f),c=1;c2&&(t(a)||(a=d,n.multiplyByScalar(i[1],2,a),n.subtract(a,i[2],a),n.subtract(a,i[0],a),n.multiplyByScalar(a,.5,a)),!t(s))){var u=i.length-1;s=m,n.multiplyByScalar(i[u-1],2,s),n.subtract(i[u],s,s),n.add(s,i[u-2],s),n.multiplyByScalar(s,.5,s)}this.times=o,this.points=i,this.firstTangent=n.clone(a),this.lastTangent=n.clone(s),this._evaluateFunction=l(this),this._lastTimeIndex=0};return p.catmullRomCoefficientMatrix=new i(-.5,1,-.5,0,1.5,-2.5,0,1,-1.5,2,.5,0,.5,-.5,0,0),p.prototype.findTimeInterval=a.prototype.findTimeInterval,p.prototype.evaluate=function(e,t){return this._evaluateFunction(e,t)},p}),r("Core/IndexDatatype",["./defined","./DeveloperError","./Math"],function(e,t,r){"use strict";var i={UNSIGNED_BYTE:5121,UNSIGNED_SHORT:5123,UNSIGNED_INT:5125};return i.getSizeInBytes=function(e){switch(e){case i.UNSIGNED_BYTE:return Uint8Array.BYTES_PER_ELEMENT;case i.UNSIGNED_SHORT:return Uint16Array.BYTES_PER_ELEMENT;case i.UNSIGNED_INT:return Uint32Array.BYTES_PER_ELEMENT}},i.validate=function(t){return e(t)&&(t===i.UNSIGNED_BYTE||t===i.UNSIGNED_SHORT||t===i.UNSIGNED_INT)},i.createTypedArray=function(e,t){return e>r.SIXTY_FOUR_KILOBYTES?new Uint32Array(t):new Uint16Array(t)},i}),r("Core/Quaternion",["./Cartesian3","./defaultValue","./defined","./DeveloperError","./FeatureDetection","./freezeObject","./Math","./Matrix3"],function(e,t,r,i,n,o,a,s){"use strict";var l,u=function(e,r,i,n){this.x=t(e,0),this.y=t(r,0),this.z=t(i,0),this.w=t(n,0)};u.fromAxisAngle=function(t,i,n){var o=i/2,a=Math.sin(o);l=e.normalize(t,l);var s=l.x*a,c=l.y*a,h=l.z*a,d=Math.cos(o);return r(n)?(n.x=s,n.y=c,n.z=h,n.w=d,n):new u(s,c,h,d)};var c=[1,2,0],h=new Array(3);u.fromRotationMatrix=function(e,t){var i,n,o,a,l,d=e[s.COLUMN0ROW0],m=e[s.COLUMN1ROW1],p=e[s.COLUMN2ROW2],f=d+m+p;if(f>0)i=Math.sqrt(f+1),l=.5*i,i=.5/i,n=(e[s.COLUMN1ROW2]-e[s.COLUMN2ROW1])*i,o=(e[s.COLUMN2ROW0]-e[s.COLUMN0ROW2])*i,a=(e[s.COLUMN0ROW1]-e[s.COLUMN1ROW0])*i;else{var v=c,g=0;m>d&&(g=1),p>d&&p>m&&(g=2);var _=v[g],y=v[_];i=Math.sqrt(e[s.getElementIndex(g,g)]-e[s.getElementIndex(_,_)]-e[s.getElementIndex(y,y)]+1);var C=h;C[g]=.5*i,i=.5/i,l=(e[s.getElementIndex(y,_)]-e[s.getElementIndex(_,y)])*i,C[_]=(e[s.getElementIndex(_,g)]+e[s.getElementIndex(g,_)])*i,C[y]=(e[s.getElementIndex(y,g)]+e[s.getElementIndex(g,y)])*i,n=-C[0],o=-C[1],a=-C[2]}return r(t)?(t.x=n,t.y=o,t.z=a,t.w=l,t):new u(n,o,a,l)};var d=new e,m=new e,p=new u,f=new u,v=new u;u.packedLength=4,u.pack=function(e,r,i){i=t(i,0),r[i++]=e.x,r[i++]=e.y,r[i++]=e.z,r[i]=e.w},u.unpack=function(e,i,n){return i=t(i,0),r(n)||(n=new u),n.x=e[i],n.y=e[i+1],n.z=e[i+2],n.w=e[i+3],n},u.packedInterpolationLength=3,u.convertPackedArrayForInterpolation=function(e,t,r,i){u.unpack(e,4*r,v),u.conjugate(v,v);for(var n=0,o=r-t+1;o>n;n++){var a=3*n;u.unpack(e,4*(t+n),p),u.multiply(p,v,p),p.w<0&&u.negate(p,p),u.getAxis(p,d);var s=u.getAngle(p);i[a]=d.x*s,i[a+1]=d.y*s,i[a+2]=d.z*s}},u.unpackInterpolationResult=function(t,i,n,o,a){r(a)||(a=new u),e.fromArray(t,0,m);var s=e.magnitude(m);return u.unpack(i,4*o,f),0===s?u.clone(u.IDENTITY,p):u.fromAxisAngle(m,s,p),u.multiply(p,f,a)},u.clone=function(e,t){return r(e)?r(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t):new u(e.x,e.y,e.z,e.w):void 0},u.conjugate=function(e,t){return r(t)?(t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=e.w,t):new u(-e.x,-e.y,-e.z,e.w)},u.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w},u.magnitude=function(e){return Math.sqrt(u.magnitudeSquared(e))},u.normalize=function(e,t){var i=1/u.magnitude(e),n=e.x*i,o=e.y*i,a=e.z*i,s=e.w*i;return r(t)?(t.x=n,t.y=o,t.z=a,t.w=s,t):new u(n,o,a,s)},u.inverse=function(e,t){var r=u.magnitudeSquared(e);return t=u.conjugate(e,t),u.multiplyByScalar(t,1/r,t)},u.add=function(e,t,i){return r(i)?(i.x=e.x+t.x,i.y=e.y+t.y,i.z=e.z+t.z,i.w=e.w+t.w,i):new u(e.x+t.x,e.y+t.y,e.z+t.z,e.w+t.w)},u.subtract=function(e,t,i){return r(i)?(i.x=e.x-t.x,i.y=e.y-t.y,i.z=e.z-t.z,i.w=e.w-t.w,i):new u(e.x-t.x,e.y-t.y,e.z-t.z,e.w-t.w)},u.negate=function(e,t){return r(t)?(t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=-e.w,t):new u(-e.x,-e.y,-e.z,-e.w)},u.dot=function(e,t){return e.x*t.x+e.y*t.y+e.z*t.z+e.w*t.w},u.multiply=function(e,t,i){var n=e.x,o=e.y,a=e.z,s=e.w,l=t.x,c=t.y,h=t.z,d=t.w,m=s*l+n*d+o*h-a*c,p=s*c-n*h+o*d+a*l,f=s*h+n*c-o*l+a*d,v=s*d-n*l-o*c-a*h;return r(i)?(i.x=m,i.y=p,i.z=f,i.w=v,i):new u(m,p,f,v)},u.multiplyByScalar=function(e,t,i){return r(i)?(i.x=e.x*t,i.y=e.y*t,i.z=e.z*t,i.w=e.w*t,i):new u(e.x*t,e.y*t,e.z*t,e.w*t)},u.divideByScalar=function(e,t,i){return r(i)?(i.x=e.x/t,i.y=e.y/t,i.z=e.z/t,i.w=e.w/t,i):new u(e.x/t,e.y/t,e.z/t,e.w/t)},u.getAxis=function(t,i){var n=t.w;if(Math.abs(n-1)n&&(n=-n,o=_=u.negate(t,_)),1-nI;++I){var O=I+1,R=2*O+1;A[I]=1/(O*R),P[I]=O/R}return A[7]=T/136,P[7]=8*T/17,u.fastSlerp=function(e,t,i,n){r(n)||(n=new u);var o,a=u.dot(e,t);a>=0?o=1:(o=-1,a=-a);for(var s=a-1,l=1-i,c=i*i,h=l*l,d=7;d>=0;--d)D[d]=(A[d]*c-P[d])*s,M[d]=(A[d]*h-P[d])*s;var m=o*i*(1+D[0]*(1+D[1]*(1+D[2]*(1+D[3]*(1+D[4]*(1+D[5]*(1+D[6]*(1+D[7])))))))),p=l*(1+M[0]*(1+M[1]*(1+M[2]*(1+M[3]*(1+M[4]*(1+M[5]*(1+M[6]*(1+M[7])))))))),f=u.multiplyByScalar(e,p,b);return u.multiplyByScalar(t,m,n),u.add(f,n,n)},u.fastSquad=function(e,t,r,i,n,o){var a=u.fastSlerp(e,t,n,E),s=u.fastSlerp(r,i,n,x);return u.fastSlerp(a,s,2*n*(1-n),o)},u.equals=function(e,t){return e===t||r(e)&&r(t)&&e.x===t.x&&e.y===t.y&&e.z===t.z&&e.w===t.w},u.equalsEpsilon=function(e,t,i){return e===t||r(e)&&r(t)&&Math.abs(e.x-t.x)<=i&&Math.abs(e.y-t.y)<=i&&Math.abs(e.z-t.z)<=i&&Math.abs(e.w-t.w)<=i},u.ZERO=o(new u(0,0,0,0)),u.IDENTITY=o(new u(0,0,0,1)),u.prototype.clone=function(e){return u.clone(this,e)},u.prototype.equals=function(e){return u.equals(this,e)},u.prototype.equalsEpsilon=function(e,t){return u.equalsEpsilon(this,e,t)},u.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+", "+this.w+")"},u}),r("Core/EllipseGeometryLibrary",["./Cartesian3","./Math","./Matrix3","./Quaternion"],function(e,t,r,i){"use strict";function n(t,n,o,c,h,d,m,p,f,v){var g=t+n;e.multiplyByScalar(c,Math.cos(g),a),e.multiplyByScalar(o,Math.sin(g),s),e.add(a,s,a);var _=Math.cos(t);_*=_;var y=Math.sin(t);y*=y;var C=d/Math.sqrt(m*_+h*y),S=C/p;return i.fromAxisAngle(a,S,l),r.fromQuaternion(l,u),r.multiplyByVector(u,f,v),e.normalize(v,v),e.multiplyByScalar(v,p,v),v}var o={},a=new e,s=new e,l=new i,u=new r,c=new e,h=new e,d=new e,m=new e;o.raisePositionsToHeight=function(t,r,i){for(var n=r.ellipsoid,o=r.height,a=r.extrudedHeight,s=i?2*(t.length/3):t.length/3,l=new Float64Array(3*s),u=m,p=t.length,f=i?p:0,v=0;p>v;v+=3){var g,_=v+1,y=v+2,C=e.fromArray(t,v,c);C=n.scaleToGeodeticSurface(C,C),g=e.clone(C,h),u=n.geodeticSurfaceNormal(C,u);var S=e.multiplyByScalar(u,o,d);C=e.add(C,S,C),i&&(S=e.multiplyByScalar(u,a,S),g=e.add(g,S,g),l[v+f]=g.x,l[_+f]=g.y,l[y+f]=g.z),l[v]=C.x,l[_]=C.y,l[y]=C.z}return l};var p=new e,f=new e,v=new e;return o.computeEllipsePositions=function(r,i,o){var a=r.semiMinorAxis,s=r.semiMajorAxis,l=r.rotation,u=r.center,m=r.granularity,g=2.31,_=a*a,y=s*s,C=s*a,S=e.magnitude(u),w=e.normalize(u,p),E=e.cross(e.UNIT_Z,u,f);E=e.normalize(E,E);var x,b,T,A,P,D=e.cross(w,E,v),M=1+Math.ceil(t.PI_OVER_TWO/m),I=g/(M-1),O=2*M*(M+1),R=i?new Array(3*O):void 0,L=0,N=c,B=h,z=o?[]:void 0,F=o?[]:void 0,V=t.PI_OVER_TWO;for(x=0;M>x&&V>0;++x){if(N=n(V,l,D,E,_,C,y,S,w,N),B=n(Math.PI-V,l,D,E,_,C,y,S,w,B),i){for(R[L++]=N.x,R[L++]=N.y,R[L++]=N.z,T=2*x+2,b=1;T-1>b;++b)A=b/(T-1),P=e.lerp(N,B,A,d),R[L++]=P.x,R[L++]=P.y,R[L++]=P.z;R[L++]=B.x,R[L++]=B.y,R[L++]=B.z}o&&(F.unshift(N.x,N.y,N.z),0!==x&&z.push(B.x,B.y,B.z)),V=t.PI_OVER_TWO-(x+1)*I}for(M=x,x=M;x>0;--x){if(V=t.PI_OVER_TWO-(x-1)*I,N=n(-V,l,D,E,_,C,y,S,w,N),B=n(V+Math.PI,l,D,E,_,C,y,S,w,B),i){for(R[L++]=N.x,R[L++]=N.y,R[L++]=N.z,T=2*(x-1)+2,b=1;T-1>b;++b)A=b/(T-1),P=e.lerp(N,B,A,d),R[L++]=P.x,R[L++]=P.y,R[L++]=P.z;R[L++]=B.x,R[L++]=B.y,R[L++]=B.z}o&&(F.unshift(N.x,N.y,N.z),1!==x&&z.push(B.x,B.y,B.z))}var k={};return i&&(R.length!==L&&(O=L/3,R.length=L),k.positions=R,k.numPts=M),o&&(k.outerPositions=F.concat(z)),k},o}),r("Core/barycentricCoordinates",["./Cartesian2","./Cartesian3","./defined","./DeveloperError"],function(e,t,r){"use strict";var i=new t,n=new t,o=new t,a=function(a,s,l,u,c){r(c)||(c=new t);var h,d,m,p,f,v,g,_;r(s.z)?(h=t.subtract(l,s,i),d=t.subtract(u,s,n),m=t.subtract(a,s,o),p=t.dot(h,h),f=t.dot(h,d),v=t.dot(h,m),g=t.dot(d,d),_=t.dot(d,m)):(h=e.subtract(l,s,i),d=e.subtract(u,s,n),m=e.subtract(a,s,o),p=e.dot(h,h),f=e.dot(h,d),v=e.dot(h,m),g=e.dot(d,d),_=e.dot(d,m));var y=1/(p*g-f*f);return c.y=(g*v-f*_)*y,c.z=(p*_-f*v)*y,c.x=1-c.y-c.z,c};return a}),r("Core/EncodedCartesian3",["./Cartesian3","./defined","./DeveloperError"],function(e,t){"use strict";var r=function(){this.high=e.clone(e.ZERO),this.low=e.clone(e.ZERO)};r.encode=function(e,r){t(r)||(r={high:0,low:0});var i;return e>=0?(i=65536*Math.floor(e/65536),r.high=i,r.low=e-i):(i=65536*Math.floor(-e/65536),r.high=-i,r.low=e+i),r};var i={high:0,low:0};r.fromCartesian=function(e,n){t(n)||(n=new r);var o=n.high,a=n.low;return r.encode(e.x,i),o.x=i.high,a.x=i.low,r.encode(e.y,i),o.y=i.high,a.y=i.low,r.encode(e.z,i),o.z=i.high,a.z=i.low,n};var n=new r;return r.writeElements=function(e,t,i){r.fromCartesian(e,n);var o=n.high,a=n.low;t[i]=o.x,t[i+1]=o.y,t[i+2]=o.z,t[i+3]=a.x,t[i+4]=a.y,t[i+5]=a.z},r}),r("Core/QuadraticRealPolynomial",["./DeveloperError","./Math"],function(e,t){"use strict";function r(e,r,i){var n=e+r;return t.sign(e)!==t.sign(r)&&Math.abs(n/Math.max(Math.abs(e),Math.abs(r)))a&&a/ss&&s/ao)return[];var l=Math.sqrt(o);return[-l,l]}if(0===n)return o=-i/e,0>o?[o,0]:[0,o];var u=i*i,c=4*e*n,h=r(u,-c,t.EPSILON14);if(0>h)return[];var d=-.5*r(i,t.sign(i)*Math.sqrt(h),t.EPSILON14);return i>0?[d/e,n/d]:[n/d,d/e]},i}),r("Core/CubicRealPolynomial",["./DeveloperError","./QuadraticRealPolynomial"],function(e,t){"use strict";function r(e,t,r,i){var n,o,a=e,s=t/3,l=r/3,u=i,c=a*l,h=s*u,d=s*s,m=l*l,p=a*l-d,f=a*u-s*l,v=s*u-m,g=4*p*v-f*f;if(0>g){var _,y,C;d*h>=c*m?(_=a,y=p,C=-2*s*p+a*f):(_=u,y=v,C=-u*f+2*l*v);var S=0>C?-1:1,w=-S*Math.abs(_)*Math.sqrt(-g);o=-C+w;var E=o/2,x=0>E?-Math.pow(-E,1/3):Math.pow(E,1/3),b=o===w?-x:-y/x;return n=0>=y?x+b:-C/(x*x+b*b+y),d*h>=c*m?[(n-s)/a]:[-u/(n+l)]}var T=p,A=-2*s*p+a*f,P=v,D=-u*f+2*l*v,M=Math.sqrt(g),I=Math.sqrt(3)/2,O=Math.abs(Math.atan2(a*M,-A)/3);n=2*Math.sqrt(-T);var R=Math.cos(O);o=n*R;var L=n*(-R/2-I*Math.sin(O)),N=o+L>2*s?o-s:L-s,B=a,z=N/B;O=Math.abs(Math.atan2(u*M,-D)/3),n=2*Math.sqrt(-P),R=Math.cos(O),o=n*R,L=n*(-R/2-I*Math.sin(O));var F=-u,V=2*l>o+L?o+l:L+l,k=F/V,U=B*V,W=-N*V-B*F,G=N*F,H=(l*W-s*G)/(-s*W+l*U);return H>=z?k>=z?k>=H?[z,H,k]:[z,k,H]:[k,z,H]:k>=z?[H,z,k]:k>=H?[H,k,z]:[k,H,z]}var i={};return i.discriminant=function(e,t,r,i){var n=e*e,o=t*t,a=r*r,s=i*i,l=18*e*t*r*i+o*a-27*n*s-4*(e*a*r+o*t*i);return l},i.realRoots=function(e,i,n,o){var a,s;if(0===e)return t.realRoots(i,n,o);if(0===i){if(0===n){if(0===o)return[0,0,0];s=-o/e;var l=0>s?-Math.pow(-s,1/3):Math.pow(s,1/3);return[l,l,l]}return 0===o?(a=t.realRoots(e,0,n),0===a.Length?[0]:[a[0],0,a[1]]):r(e,0,n,o)}return 0===n?0===o?(s=-i/e,0>s?[s,0,0]:[0,0,s]):r(e,i,0,o):0===o?(a=t.realRoots(e,i,n),0===a.length?[0]:a[1]<=0?[a[0],a[1],0]:a[0]>=0?[0,a[0],a[1]]:[a[0],0,a[1]]):r(e,i,n,o)},i}),r("Core/QuarticRealPolynomial",["./DeveloperError","./Math","./CubicRealPolynomial","./QuadraticRealPolynomial"],function(e,t,r,i){"use strict";function n(e,n,o,a){var s=e*e,l=n-3*s/8,u=o-n*e/2+s*e/8,c=a-o*e/4+n*s/16-3*s*s/256,h=r.realRoots(1,2*l,l*l-4*c,-u*u);if(h.length>0){var d=-e/4,m=h[h.length-1];if(Math.abs(m)=0&&g>=0){var _=Math.sqrt(v),y=Math.sqrt(g);return[d-y,d-_,d+_,d+y]}if(v>=0&&0>g)return f=Math.sqrt(v),[d-f,d+f];if(0>v&&g>=0)return f=Math.sqrt(g),[d-f,d+f]}return[]}if(m>0){var C=Math.sqrt(m),S=(l+m-u/C)/2,w=(l+m+u/C)/2,E=i.realRoots(1,C,S),x=i.realRoots(1,-C,w);return 0!==E.length?(E[0]+=d,E[1]+=d,0!==x.length?(x[0]+=d,x[1]+=d,E[1]<=x[0]?[E[0],E[1],x[0],x[1]]:x[1]<=E[0]?[x[0],x[1],E[0],E[1]]:E[0]>=x[0]&&E[1]<=x[1]?[x[0],E[0],E[1],x[1]]:x[0]>=E[0]&&x[1]<=E[1]?[E[0],x[0],x[1],E[1]]:E[0]>x[0]&&E[0]0){var p,f,v=m[0],g=n-v,_=g*g,y=e/2,C=g/2,S=_-4*a,w=_+4*Math.abs(a),E=u-4*v,x=u+4*Math.abs(v);if(0>v||E*w>S*x){var b=Math.sqrt(E);p=b/2,f=0===b?0:(e*C-o)/b}else{var T=Math.sqrt(S);p=0===T?0:(e*C-o)/T,f=T/2}var A,P;0===y&&0===p?(A=0,P=0):t.sign(y)===t.sign(p)?(A=y+p,P=v/A):(P=y-p,A=v/P);var D,M;0===C&&0===f?(D=0,M=0):t.sign(C)===t.sign(f)?(D=C+f,M=a/D):(M=C-f,D=a/M);var I=i.realRoots(1,A,D),O=i.realRoots(1,P,M);if(0!==I.length)return 0!==O.length?I[1]<=O[0]?[I[0],I[1],O[0],O[1]]:O[1]<=I[0]?[O[0],O[1],I[0],I[1]]:I[0]>=O[0]&&I[1]<=O[1]?[O[0],I[0],I[1],O[1]]:O[0]>=I[0]&&O[1]<=I[1]?[I[0],O[0],O[1],I[1]]:I[0]>O[0]&&I[0]u?1:0;switch(m+=0>c?m+1:m,m+=0>h?m+1:m,m+=0>d?m+1:m){case 0:return n(u,c,h,d);case 1:return o(u,c,h,d);case 2:return o(u,c,h,d);case 3:return n(u,c,h,d);case 4:return n(u,c,h,d);case 5:return o(u,c,h,d);case 6:return n(u,c,h,d);case 7:return n(u,c,h,d);case 8:return o(u,c,h,d);case 9:return n(u,c,h,d);case 10:return n(u,c,h,d);case 11:return o(u,c,h,d);case 12:return n(u,c,h,d);case 13:return n(u,c,h,d);case 14:return n(u,c,h,d);case 15:return n(u,c,h,d);default:return void 0}},a}),r("Core/IntersectionTests",["./defined","./DeveloperError","./Math","./Cartesian3","./Cartographic","./Matrix3","./QuadraticRealPolynomial","./QuarticRealPolynomial"],function(e,t,r,i,n,o,a,s){"use strict";function l(e,t,i){var n=e+t;return r.sign(e)!==r.sign(t)&&Math.abs(n/Math.max(Math.abs(e),Math.abs(t)))L;++L){var N,B=h[L],z=B*B,F=Math.max(1-z,0),V=Math.sqrt(F);N=r.sign(p)===r.sign(v)?l(p*z+v,f*B,r.EPSILON12):r.sign(v)===r.sign(f*B)?l(p*z,f*B+v,r.EPSILON12):l(p*z+f*B,v,r.EPSILON12);var k=l(g*B,_,r.EPSILON15),U=N*k;0>U?y.push(new i(u,c*B,c*V)):U>0?y.push(new i(u,c*B,c*-V)):0!==V?(y.push(new i(u,c*B,c*-V)),y.push(new i(u,c*B,c*V)),++L):y.push(new i(u,c*B,c*V))}return y}var c={};c.rayPlane=function(e,t,n){var o=e.origin,a=e.direction,s=t.normal,l=i.dot(s,a);if(Math.abs(l)u?void 0:(n=i.multiplyByScalar(a,u,n),i.add(o,n,n))};var h=new i,d=new i;c.rayEllipsoid=function(e,t){var r,n,o,a,s,l=t.oneOverRadii,u=i.multiplyComponents(l,e.origin,h),c=i.multiplyComponents(l,e.direction,d),m=i.magnitudeSquared(u),p=i.dot(u,c);if(m>1){if(p>=0)return void 0;var f=p*p;if(r=m-1,n=i.magnitudeSquared(c),o=n*r,o>f)return void 0;if(f>o){a=p*p-o,s=-p+Math.sqrt(a);var v=s/n,g=r/s;return g>v?{start:v,stop:g}:{start:g,stop:v}}var _=Math.sqrt(r/n);return{start:_,stop:_}}return 1>m?(r=m-1,n=i.magnitudeSquared(c),o=n*r,a=p*p-o,s=-p+Math.sqrt(a),{start:0,stop:s/n}):0>p?(n=i.magnitudeSquared(c),{start:0,stop:-p/n}):void 0},c.grazingAltitudeLocation=function(t,a){var s=t.origin,l=t.direction,c=a.geodeticSurfaceNormal(s);if(i.dot(l,c)>=0)return s;var h,d,m=e(this.rayEllipsoid(t,a)),p=a.transformPositionToScaledSpace(l),f=i.normalize(p),v=i.mostOrthogonalAxis(p),g=i.normalize(i.cross(v,f)),_=i.normalize(i.cross(f,g)),y=new o(f.x,g.x,_.x,f.y,g.y,_.y,f.z,g.z,_.z),C=o.transpose(y),S=o.fromScale(a.radii),w=o.fromScale(a.oneOverRadii),E=new o(0,l.z,-l.y,-l.z,0,l.x,l.y,-l.x,0),x=o.multiply(o.multiply(C,w),E),b=o.multiply(o.multiply(x,S),y),T=o.multiplyByVector(x,s),A=u(b,i.negate(T),0,0,1),P=A.length;if(P>0){for(var D=i.ZERO,M=Number.NEGATIVE_INFINITY,I=0;P>I;++I){h=o.multiplyByVector(S,o.multiplyByVector(y,A[I]));var O=i.normalize(i.subtract(h,s)),R=i.dot(O,l);R>M&&(M=R,D=h)}var L=a.cartesianToCartographic(D);return M=r.clamp(M,0,1),d=i.magnitude(i.subtract(D,s))*Math.sqrt(1-M*M),d=m?-d:d,a.cartographicToCartesian(new n(L.longitude,L.latitude,d))}return void 0};var m=new i;return c.lineSegmentPlane=function(t,n,o,a){var s=i.subtract(n,t,m),l=o.normal,u=i.dot(l,s);if(Math.abs(u)h||h>1?void 0:(e(a)||(a=new i),i.multiplyByScalar(s,h,a),i.add(t,a,a),a)},c.trianglePlaneIntersection=function(e,t,r,n){var o=n.normal,a=n.distance,s=i.dot(o,e)+a<0,l=i.dot(o,t)+a<0,u=i.dot(o,r)+a<0,h=0;h+=s?1:0,h+=l?1:0,h+=u?1:0;var d,m;if((1===h||2===h)&&(d=new i,m=new i),1===h){if(s)return c.lineSegmentPlane(e,t,n,d),c.lineSegmentPlane(e,r,n,m),{positions:[e,t,r,d,m],indices:[0,3,4,1,2,4,1,4,3]};if(l)return c.lineSegmentPlane(t,r,n,d),c.lineSegmentPlane(t,e,n,m),{positions:[e,t,r,d,m],indices:[1,3,4,2,0,4,2,4,3]};if(u)return c.lineSegmentPlane(r,e,n,d),c.lineSegmentPlane(r,t,n,m),{positions:[e,t,r,d,m],indices:[2,3,4,0,1,4,0,4,3]}}else if(2===h){if(!s)return c.lineSegmentPlane(t,e,n,d),c.lineSegmentPlane(r,e,n,m),{positions:[e,t,r,d,m],indices:[1,2,4,1,4,3,0,3,4]};if(!l)return c.lineSegmentPlane(r,t,n,d),c.lineSegmentPlane(e,t,n,m),{positions:[e,t,r,d,m],indices:[2,0,4,2,4,3,1,3,4]};if(!u)return c.lineSegmentPlane(e,r,n,d),c.lineSegmentPlane(t,r,n,m),{positions:[e,t,r,d,m],indices:[0,1,4,0,4,3,2,3,4]}}return void 0},c}),r("Core/Plane",["./Cartesian3","./defined","./DeveloperError"],function(e,t){"use strict";var r=function(t,r){this.normal=e.clone(t),this.distance=r};return r.fromPointNormal=function(i,n,o){var a=-e.dot(n,i);return t(o)?(e.clone(n,o.normal),o.distance=a,o):new r(n,a)},r.getPointDistance=function(t,r){return e.dot(t.normal,r)+t.distance},r.prototype.getPointDistance=function(e){return r.getPointDistance(this,e)},r}),r("Core/Tipsify",["./defaultValue","./defined","./DeveloperError"],function(e,t){"use strict";var r={};return r.calculateACMR=function(r){r=e(r,e.EMPTY_OBJECT);var i=r.indices,n=r.maximumIndex,o=e(r.cacheSize,24),a=i.length;if(!t(n)){n=0;for(var s=0,l=i[s];a>s;)l>n&&(n=l),++s,l=i[s]}for(var u=[],c=0;n+1>c;c++)u[c]=0;for(var h=o+1,d=0;a>d;++d)h-u[i[d]]>o&&(u[i[d]]=h,++h);return(h-o+1)/(a/3)},r.tipsify=function(r){function i(e,t,r,i){for(;t.length>=1;){var n=t[t.length-1];if(t.splice(t.length-1,1),e[n].numLiveTriangles>0)return n}for(;i>o;){if(e[o].numLiveTriangles>0)return++o,o-1;++o}return-1}function n(e,t,r,n,o,a,s){for(var l,u=-1,c=-1,h=0;hc||-1===c)&&(c=l,u=d)),++h}return-1===u?i(n,a,e,s):u}r=e(r,e.EMPTY_OBJECT);var o,a=r.indices,s=r.maximumIndex,l=e(r.cacheSize,24),u=a.length,c=0,h=0,d=a[h],m=u;if(t(s))c=s+1;else{for(;m>h;)d>c&&(c=d),++h,d=a[h];if(-1===c)return 0;++c}for(var p=[],f=0;c>f;f++)p[f]={numLiveTriangles:0,timeStamp:0,vertexTriangles:[]};h=0;for(var v=0;m>h;)p[a[h]].vertexTriangles.push(v),++p[a[h]].numLiveTriangles,p[a[h+1]].vertexTriangles.push(v),++p[a[h+1]].numLiveTriangles,p[a[h+2]].vertexTriangles.push(v),++p[a[h+2]].numLiveTriangles,++v,h+=3;var g=0,_=l+1;o=1;var y,C,S=[],w=[],E=0,x=[],b=u/3,T=[];for(f=0;b>f;f++)T[f]=!1;for(var A,P;-1!==g;){S=[],C=p[g],P=C.vertexTriangles.length;for(var D=0;P>D;++D)if(v=C.vertexTriangles[D],!T[v]){T[v]=!0,h=v+v+v;for(var M=0;3>M;++M)A=a[h],S.push(A),w.push(A),x[E]=A,++E,y=p[A],--y.numLiveTriangles,_-y.timeStamp>l&&(y.timeStamp=_,++_),++h +}g=n(a,l,S,p,_,w,c)}return x},r}),r("Core/GeometryPipeline",["./barycentricCoordinates","./defaultValue","./defined","./DeveloperError","./Cartesian2","./Cartesian3","./Cartesian4","./Cartographic","./EncodedCartesian3","./Intersect","./IntersectionTests","./Math","./Matrix3","./Matrix4","./Plane","./GeographicProjection","./ComponentDatatype","./IndexDatatype","./PrimitiveType","./Tipsify","./BoundingSphere","./Geometry","./GeometryAttribute"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f,v,g,_,y,C,S,w){"use strict";function E(e,t,r,i,n){e[t++]=r,e[t++]=i,e[t++]=i,e[t++]=n,e[t++]=n,e[t]=r}function x(e){for(var t=e.length,r=6*(t/3),i=g.createTypedArray(t,r),n=0,o=0;t>o;o+=3,n+=6)E(i,n,e[o],e[o+1],e[o+2]);return i}function b(e){var t=e.length;if(t>=3){var r=6*(t-2),i=g.createTypedArray(t,r);E(i,0,e[0],e[1],e[2]);for(var n=6,o=3;t>o;++o,n+=6)E(i,n,e[o-1],e[o],e[o-2]);return i}return new Uint16Array}function T(e){if(e.length>0){for(var t=e.length-1,r=6*(t-1),i=g.createTypedArray(t,r),n=e[0],o=0,a=1;t>a;++a,o+=6)E(i,o,n,e[a],e[a+1]);return i}return new Uint16Array}function A(e){var t={};for(var i in e)if(e.hasOwnProperty(i)&&r(e[i])&&r(e[i].values)){var n=e[i];t[i]=new w({componentDatatype:n.componentDatatype,componentsPerAttribute:n.componentsPerAttribute,normalize:n.normalize,values:[]})}return t}function P(e,t,i){for(var n in t)if(t.hasOwnProperty(n)&&r(t[n])&&r(t[n].values))for(var o=t[n],a=0;aa;a+=3)o.unpack(i,a,Z),m.multiplyByPoint(e,Z,Z),o.pack(Z,i,a)}function M(e,t){if(r(t))for(var i=t.values,n=i.length,a=0;n>a;a+=3)o.unpack(i,a,Z),d.multiplyByVector(e,Z,Z),Z=o.normalize(Z,Z),o.pack(Z,i,a)}function I(e){var t,i=e.length,n={},o=e[0].geometry.attributes;for(t in o)if(o.hasOwnProperty(t)&&r(o[t])&&r(o[t].values)){for(var a=o[t],s=a.values.length,l=!0,u=1;i>u;++u){var c=e[u].geometry.attributes[t];if(!r(c)||a.componentDatatype.value!==c.componentDatatype.value||a.componentsPerAttribute!==c.componentsPerAttribute||a.normalize!==c.normalize){l=!1;break}s+=c.values.length}l&&(n[t]=new w({componentDatatype:a.componentDatatype,componentsPerAttribute:a.componentsPerAttribute,normalize:a.normalize,values:v.createTypedArray(a.componentDatatype,s)}))}return n}function O(e){if(r(e.indices))return e;for(var t=S.computeNumberOfVertices(e),i=g.createTypedArray(t,t),n=0;t>n;++n)i[n]=n;return e.indices=i,e}function R(e){var t=S.computeNumberOfVertices(e),r=g.createTypedArray(t,3*(t-2));r[0]=1,r[1]=0,r[2]=2;for(var i=3,n=3;t>n;++n)r[i++]=n-1,r[i++]=0,r[i++]=n;return e.indices=r,e.primitiveType=_.TRIANGLES,e}function L(e){var t=S.computeNumberOfVertices(e),r=g.createTypedArray(t,3*(t-2));r[0]=0,r[1]=1,r[2]=2,t>3&&(r[3]=0,r[4]=2,r[5]=3);for(var i=6,n=3;t-1>n;n+=2)r[i++]=n,r[i++]=n-1,r[i++]=n+1,t>n+2&&(r[i++]=n,r[i++]=n+1,r[i++]=n+2);return e.indices=r,e.primitiveType=_.TRIANGLES,e}function N(e){if(r(e.indices))return e;for(var t=S.computeNumberOfVertices(e),i=g.createTypedArray(t,t),n=0;t>n;++n)i[n]=n;return e.indices=i,e}function B(e){var t=S.computeNumberOfVertices(e),r=g.createTypedArray(t,2*(t-1));r[0]=0,r[1]=1;for(var i=2,n=2;t>n;++n)r[i++]=n-1,r[i++]=n;return e.indices=r,e.primitiveType=_.LINES,e}function z(e){var t=S.computeNumberOfVertices(e),r=g.createTypedArray(t,2*t);r[0]=0,r[1]=1;for(var i=2,n=2;t>n;++n)r[i++]=n-1,r[i++]=n;return r[i++]=t-1,r[i]=0,e.indices=r,e.primitiveType=_.LINES,e}function F(e){switch(e.primitiveType){case _.TRIANGLE_FAN:return R(e);case _.TRIANGLE_STRIP:return L(e);case _.TRIANGLES:return O(e);case _.LINE_STRIP:return B(e);case _.LINE_LOOP:return z(e);case _.LINES:return N(e)}return e}function V(e,t){Math.abs(e.y)=0||t.x>=0||r.x>=0)return void 0;var i=e.y<0,n=t.y<0,o=r.y<0;V(e,i),V(t,n),V(r,o);var a=0;a+=i?1:0,a+=n?1:0,a+=o?1:0;var s=ct.indices;1===a?(s[1]=3,s[2]=4,s[5]=6,s[7]=6,s[8]=5,i?(k(e,t,at,lt),k(e,r,st,ut),s[0]=0,s[3]=1,s[4]=2,s[6]=1):n?(k(t,r,at,lt),k(t,e,st,ut),s[0]=1,s[3]=2,s[4]=0,s[6]=2):o&&(k(r,e,at,lt),k(r,t,st,ut),s[0]=2,s[3]=0,s[4]=1,s[6]=0)):2===a&&(s[2]=4,s[4]=4,s[5]=3,s[7]=5,s[8]=6,i?n?o||(k(r,e,at,lt),k(r,t,st,ut),s[0]=0,s[1]=1,s[3]=0,s[6]=2):(k(t,r,at,lt),k(t,e,st,ut),s[0]=2,s[1]=0,s[3]=2,s[6]=1):(k(e,t,at,lt),k(e,r,st,ut),s[0]=1,s[1]=2,s[3]=1,s[6]=0));var l=ct.positions;return l[0]=e,l[1]=t,l[2]=r,ct.length=3,(1===a||2===a)&&(l[3]=at,l[4]=st,l[5]=lt,l[6]=ut,ct.length=7),ct}function W(t,i,a,s,l,u,c,h){if(r(l)||r(u)||r(c)||r(h)){var d,m,p,f,v,g,_,y,C,S,w,E,x,b,T,A,P,D,M=s.positions,I=M[0],O=M[1],R=M[2];r(l)&&(d=o.fromArray(l,3*t),m=o.fromArray(l,3*i),p=o.fromArray(l,3*a)),r(u)&&(f=o.fromArray(u,3*t),v=o.fromArray(u,3*i),g=o.fromArray(u,3*a)),r(c)&&(_=o.fromArray(c,3*t),y=o.fromArray(c,3*i),C=o.fromArray(c,3*a)),r(h)&&(S=n.fromArray(h,2*t),w=n.fromArray(h,2*i),E=n.fromArray(h,2*a));for(var L=3;Ly;y+=3){var C=u[y],w=u[y+1],E=u[y+2],x=o.fromArray(i,3*C),b=o.fromArray(i,3*w),T=o.fromArray(i,3*E),A=U(x,b,T);if(r(A))if(c[3*C+1]=A.positions[0].y,c[3*w+1]=A.positions[1].y,c[3*E+1]=A.positions[2].y,A.length>3){for(var P=c.length/3,D=0;DM?f.push(u[y+M]):f.push(M-3+P)}for(var I=3;Id;d+=2){var m=n[d],f=n[d+1],v=o.fromArray(i,3*m),_=o.fromArray(i,3*f);if(Math.abs(v.y)c;c+=3)l[u++]=o[c],l[u++]=o[c+1],l[u++]=o[c+2],l[u++]=o[c]+a[c]*n,l[u++]=o[c+1]+a[c+1]*n,l[u++]=o[c+2]+a[c+2]*n;var h,d=e.boundingSphere;return r(d)&&(h=new C(d.center,d.radius+n)),new S({attributes:{position:new w({componentDatatype:v.DOUBLE,componentsPerAttribute:3,values:l})},primitiveType:_.LINES,boundingSphere:h})},j.createAttributeLocations=function(e){var t,i=["position","positionHigh","positionLow","position3DHigh","position3DLow","position2DHigh","position2DLow","pickColor","normal","st","binormal","tangent"],n=e.attributes,o={},a=0,s=i.length;for(t=0;s>t;++t){var l=i[t];r(n[l])&&(o[l]=a++)}for(var u in n)n.hasOwnProperty(u)&&!r(o[u])&&(o[u]=a++);return o},j.reorderForPreVertexCache=function(e){var t=S.computeNumberOfVertices(e),i=e.indices;if(r(i)){for(var n=new Int32Array(t),o=0;t>o;o++)n[o]=-1;for(var a,s=i,l=s.length,u=g.createTypedArray(t,l),c=0,h=0,d=0;l>c;)a=n[s[c]],-1!==a?u[h]=a:(a=s[c],n[a]=d,u[h]=d,++d),++c,++h;e.indices=u;var m=e.attributes;for(var p in m)if(m.hasOwnProperty(p)&&r(m[p])&&r(m[p].values)){for(var f=m[p],_=f.values,y=0,C=f.componentsPerAttribute,w=v.createTypedArray(f.componentDatatype,d*C);t>y;){var E=n[y];if(-1!==E)for(o=0;C>o;o++)w[C*E+o]=_[C*y+o];++y}f.values=w}}return e},j.reorderForPostVertexCache=function(e,t){var i=e.indices;if(e.primitiveType===_.TRIANGLES&&r(i)){for(var n=i.length,o=0,a=0;n>a;a++)i[a]>o&&(o=i[a]);e.indices=y.tipsify({indices:i,maximumIndex:o,cacheSize:t})}return e},j.fitToUnsignedShortIndices=function(e){var t=[],i=S.computeNumberOfVertices(e);if(r(e.indices)&&i>h.SIXTY_FOUR_KILOBYTES){var n,o=[],a=[],s=0,l=A(e.attributes),u=e.indices,c=u.length;e.primitiveType===_.TRIANGLES?n=3:e.primitiveType===_.LINES?n=2:e.primitiveType===_.POINTS&&(n=1);for(var d=0;c>d;d+=n){for(var m=0;n>m;++m){var p=u[d+m],f=o[p];r(f)||(f=s++,o[p]=f,P(l,e.attributes,p)),a.push(f)}s+n>h.SIXTY_FOUR_KILOBYTES&&(t.push(new S({attributes:l,indices:a,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere})),o=[],a=[],s=0,l=A(e.attributes))}0!==a.length&&t.push(new S({attributes:l,indices:a,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere}))}else t.push(e);return t};var q=new o,Y=new s;j.projectTo2D=function(e,t,n,a,s){var l=e.attributes[t];s=r(s)?s:new f;for(var u=s.ellipsoid,c=l.values,h=new Float64Array(c.length),d=0,m=0;mc;++c)l.encode(o[c],X),s[c]=X.high,u[c]=X.low;var h=n.componentsPerAttribute;return e.attributes[r]=new w({componentDatatype:v.FLOAT,componentsPerAttribute:h,values:s}),e.attributes[i]=new w({componentDatatype:v.FLOAT,componentsPerAttribute:h,values:u}),delete e.attributes[t],e};var Z=new o,J=new m,Q=new d;j.transformToWorldCoordinates=function(e){var t=e.modelMatrix;if(m.equals(t,m.IDENTITY))return e;var i=e.geometry.attributes;D(t,i.position),D(t,i.prevPosition),D(t,i.nextPosition),(r(i.normal)||r(i.binormal)||r(i.tangent))&&(m.inverse(t,J),m.transpose(J,J),m.getRotation(J,Q),M(Q,i.normal),M(Q,i.binormal),M(Q,i.tangent));var n=e.geometry.boundingSphere;return r(n)&&(e.geometry.boundingSphere=C.transform(n,t,n)),e.modelMatrix=m.clone(m.IDENTITY),e},j.combine=function(e){var t,i,n,a,s=e.length;e[0].modelMatrix;var l,u,c,h=r(e[0].geometry.indices),d=e[0].geometry.primitiveType,m=I(e);for(t in m)if(m.hasOwnProperty(t))for(l=m[t].values,a=0,i=0;s>i;++i)for(u=e[i].geometry.attributes[t].values,c=u.length,n=0;c>n;++n)l[a++]=u[n];var p;if(h){var f=0;for(i=0;s>i;++i)f+=e[i].geometry.indices.length;var v=S.computeNumberOfVertices(new S({attributes:m,primitiveType:_.POINTS})),y=g.createTypedArray(v,f),w=0,E=0;for(i=0;s>i;++i){var x=e[i].geometry.indices,b=x.length;for(a=0;b>a;++a)y[w++]=E+x[a];E+=S.computeNumberOfVertices(e[i].geometry)}p=y}var T,A=new o,P=0;for(i=0;s>i;++i){if(T=e[i].geometry.boundingSphere,!r(T)){A=void 0;break}o.add(T.center,A,A)}if(r(A))for(o.divideByScalar(A,s,A),i=0;s>i;++i){T=e[i].geometry.boundingSphere;var D=o.magnitude(o.subtract(T.center,A))+T.radius;D>P&&(P=D)}return new S({attributes:m,indices:p,primitiveType:d,boundingSphere:r(A)?new C(A,P):void 0})};var K=new o,$=new o,et=new o,tt=new o;j.computeNormal=function(e){for(var t=e.indices,r=e.attributes,i=r.position.values,n=r.position.values.length/3,a=t.length,s=new Array(n),l=new Array(a/3),u=new Array(a),c=0;n>c;c++)s[c]={indexOffset:0,count:0,currentCount:0};var h=0;for(c=0;a>c;c+=3){var d=t[c],m=t[c+1],p=t[c+2],f=3*d,g=3*m,_=3*p;$.x=i[f],$.y=i[f+1],$.z=i[f+2],et.x=i[g],et.y=i[g+1],et.z=i[g+2],tt.x=i[_],tt.y=i[_+1],tt.z=i[_+2],s[d].count++,s[m].count++,s[p].count++,o.subtract(et,$,et),o.subtract(tt,$,tt),l[h]=o.cross(et,tt),h++}var y=0;for(c=0;n>c;c++)s[c].indexOffset+=y,y+=s[c].count;h=0;var C;for(c=0;a>c;c+=3){C=s[t[c]];var S=C.indexOffset+C.currentCount;u[S]=h,C.currentCount++,C=s[t[c+1]],S=C.indexOffset+C.currentCount,u[S]=h,C.currentCount++,C=s[t[c+2]],S=C.indexOffset+C.currentCount,u[S]=h,C.currentCount++,h++}var E=new Float32Array(3*n);for(c=0;n>c;c++){var x=3*c;if(C=s[c],C.count>0){for(o.clone(o.ZERO,K),h=0;hu;u+=3){var m=t[u],p=t[u+1],f=t[u+2];c=3*m,h=3*p,d=3*f;var g=2*m,_=2*p,y=2*f,C=r[c],S=r[c+1],E=r[c+2],x=n[g],b=n[g+1],T=n[_+1]-b,A=n[y+1]-b,P=1/((n[_]-x)*A-(n[y]-x)*T),D=(A*(r[h]-C)-T*(r[d]-C))*P,M=(A*(r[h+1]-S)-T*(r[d+1]-S))*P,I=(A*(r[h+2]-E)-T*(r[d+2]-E))*P;l[c]+=D,l[c+1]+=M,l[c+2]+=I,l[h]+=D,l[h+1]+=M,l[h+2]+=I,l[d]+=D,l[d+1]+=M,l[d+2]+=I}var O=new Float32Array(3*a),R=new Float32Array(3*a);for(u=0;a>u;u++){c=3*u,h=c+1,d=c+2;var L=o.fromArray(i,c,rt),N=o.fromArray(l,c,nt),B=o.dot(L,N);o.multiplyByScalar(L,B,it),o.normalize(o.subtract(N,it,N),N),R[c]=N.x,R[h]=N.y,R[d]=N.z,o.normalize(o.cross(L,N,N),N),O[c]=N.x,O[h]=N.y,O[d]=N.z}return e.attributes.tangent=new w({componentDatatype:v.FLOAT,componentsPerAttribute:3,values:R}),e.attributes.binormal=new w({componentDatatype:v.FLOAT,componentsPerAttribute:3,values:O}),e};var ot=new o,at=new o,st=new o,lt=new o,ut=new o,ct={positions:new Array(7),indices:new Array(9)};return j.wrapLongitude=function(e){var t=e.boundingSphere;if(r(t)){var i=t.center.x-t.radius;if(i>0||C.intersect(t,a.UNIT_Y)!==u.INTERSECTING)return e}return F(e),e.primitiveType===_.TRIANGLES?G(e):e.primitiveType===_.LINES&&H(e),e},j}),r("Core/GeometryInstance",["./defaultValue","./defined","./DeveloperError","./Matrix4"],function(e,t,r,i){"use strict";var n=function(t){t=e(t,e.EMPTY_OBJECT),this.geometry=t.geometry,this.modelMatrix=i.clone(e(t.modelMatrix,i.IDENTITY)),this.id=t.id,this.pickPrimitive=t.pickPrimitive,this.attributes=e(t.attributes,{})};return n}),r("Core/EllipseGeometry",["./defaultValue","./defined","./BoundingSphere","./Cartesian2","./Cartesian3","./Cartographic","./ComponentDatatype","./IndexDatatype","./DeveloperError","./Ellipsoid","./EllipseGeometryLibrary","./GeographicProjection","./Geometry","./GeometryPipeline","./GeometryInstance","./GeometryAttribute","./GeometryAttributes","./Math","./Matrix3","./PrimitiveType","./Quaternion","./VertexFormat"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f,v,g,_,y,C,S){"use strict";function w(e,t,r){var i=t.vertexFormat,o=t.center,s=t.semiMajorAxis,l=t.ellipsoid,u=t.stRotation,d=r?2*(e.length/3):e.length/3,m=i.st?new Float32Array(2*d):void 0,p=i.normal?new Float32Array(3*d):void 0,g=i.tangent?new Float32Array(3*d):void 0,y=i.binormal?new Float32Array(3*d):void 0,S=0,w=N,E=B,x=z,b=new h(l),T=b.project(l.cartesianToCartographic(o,F),V),A=l.scaleToGeodeticSurface(o,P);l.geodeticSurfaceNormal(A,A);for(var I=C.fromAxisAngle(A,u,L),k=_.fromQuaternion(I,R),U=e.length,W=r?U:0,G=2*(W/3),H=0;U>H;H+=3){var j=H+1,q=H+2,Y=n.fromArray(e,H,P);if(i.st){var X=_.multiplyByVector(k,Y,D),Z=b.project(l.cartesianToCartographic(X,F),M);n.subtract(Z,T,Z),O.x=(Z.x+s)/(2*s),O.y=(Z.y+s)/(2*s),r&&(m[S+G]=O.x,m[S+1+G]=O.y),m[S++]=O.x,m[S++]=O.y}w=l.geodeticSurfaceNormal(Y,w),(i.normal||i.tangent||i.binormal)&&((i.tangent||i.binormal)&&(E=n.cross(n.UNIT_Z,w,E),_.multiplyByVector(k,E,E)),i.normal&&(p[H]=w.x,p[j]=w.y,p[q]=w.z,r&&(p[H+W]=-w.x,p[j+W]=-w.y,p[q+W]=-w.z)),i.tangent&&(g[H]=E.x,g[j]=E.y,g[q]=E.z,r&&(g[H+W]=-E.x,g[j+W]=-E.y,g[q+W]=-E.z)),i.binormal&&(x=n.cross(w,E,x),y[H]=x.x,y[j]=x.y,y[q]=x.z,r&&(y[H+W]=x.x,y[j+W]=x.y,y[q+W]=x.z)))}var J=new v;if(i.position){var Q=c.raisePositionsToHeight(e,t,r);J.position=new f({componentDatatype:a.DOUBLE,componentsPerAttribute:3,values:Q})}return i.st&&(J.st=new f({componentDatatype:a.FLOAT,componentsPerAttribute:2,values:m})),i.normal&&(J.normal=new f({componentDatatype:a.FLOAT,componentsPerAttribute:3,values:p})),i.tangent&&(J.tangent=new f({componentDatatype:a.FLOAT,componentsPerAttribute:3,values:g})),i.binormal&&(J.binormal=new f({componentDatatype:a.FLOAT,componentsPerAttribute:3,values:y})),J}function E(e){var t,r,i,n,o,a=new Array(2*e*(e+1)),s=0;for(n=1;e>n;++n){for(i=n*(n+1),t=(n-1)*n,a[s++]=i++,a[s++]=t,a[s++]=i,r=2*n,o=0;r-1>o;++o)a[s++]=i,a[s++]=t++,a[s++]=t,a[s++]=i++,a[s++]=t,a[s++]=i;a[s++]=i++,a[s++]=t,a[s++]=i}for(r=2*e,++i,++t,n=0;r-1>n;++n)a[s++]=i,a[s++]=t++,a[s++]=t,a[s++]=i++,a[s++]=t,a[s++]=i;for(++t,++i,n=e-1;n>0;--n){for(a[s++]=t++,a[s++]=t,a[s++]=i,r=2*n,o=0;r-1>o;++o)a[s++]=i,a[s++]=t++,a[s++]=t,a[s++]=i++,a[s++]=t,a[s++]=i;a[s++]=t++,a[s++]=t++,a[s++]=i++}return a}function x(e){var t=e.center;k=n.multiplyByScalar(e.ellipsoid.geodeticSurfaceNormal(t,k),e.height,k),k=n.add(t,k,k);var i=new r(k,e.semiMajorAxis),o=c.computeEllipsePositions(e,!0,!1),a=o.positions,l=o.numPts,u=w(a,e,!1),h=E(l);return h=s.createTypedArray(a.length/3,h),{boundingSphere:i,attributes:u,indices:h}}function b(e,t){var r=t.vertexFormat,i=t.center,o=t.semiMajorAxis,s=t.ellipsoid,l=t.height,u=t.extrudedHeight,c=t.stRotation,d=2*(e.length/3),m=new Float64Array(3*d),p=r.st?new Float32Array(2*d):void 0,g=r.normal?new Float32Array(3*d):void 0,y=r.tangent?new Float32Array(3*d):void 0,S=r.binormal?new Float32Array(3*d):void 0,w=0,E=N,x=B,b=z,T=new h(s),A=T.project(s.cartesianToCartographic(i,F),V),k=s.scaleToGeodeticSurface(i,P);s.geodeticSurfaceNormal(k,k);for(var U=C.fromAxisAngle(k,c,L),W=_.fromQuaternion(U,R),G=e.length,H=2*(G/3),j=0;G>j;j+=3){var q,Y=j+1,X=j+2,Z=n.fromArray(e,j,P);if(r.st){var J=_.multiplyByVector(W,Z,D),Q=T.project(s.cartesianToCartographic(J,F),M);n.subtract(Q,A,Q),O.x=(Q.x+o)/(2*o),O.y=(Q.y+o)/(2*o),p[w+H]=O.x,p[w+1+H]=O.y,p[w++]=O.x,p[w++]=O.y}Z=s.scaleToGeodeticSurface(Z,Z),q=n.clone(Z,D),E=s.geodeticSurfaceNormal(Z,E);var K=n.multiplyByScalar(E,l,I);if(Z=n.add(Z,K,Z),K=n.multiplyByScalar(E,u,K),q=n.add(q,K,q),r.position&&(m[j+G]=q.x,m[Y+G]=q.y,m[X+G]=q.z,m[j]=Z.x,m[Y]=Z.y,m[X]=Z.z),r.normal||r.tangent||r.binormal){b=n.clone(E,b);var $=n.fromArray(e,(j+3)%G,I);n.subtract($,Z,$);var et=n.subtract(q,Z,M);E=n.normalize(n.cross(et,$,E),E),r.normal&&(g[j]=E.x,g[Y]=E.y,g[X]=E.z,g[j+G]=E.x,g[Y+G]=E.y,g[X+G]=E.z),r.tangent&&(x=n.normalize(n.cross(b,E,x),x),y[j]=x.x,y[Y]=x.y,y[X]=x.z,y[j+G]=x.x,y[j+1+G]=x.y,y[j+2+G]=x.z),r.binormal&&(S[j]=b.x,S[Y]=b.y,S[X]=b.z,S[j+G]=b.x,S[Y+G]=b.y,S[X+G]=b.z)}}var tt=new v;return r.position&&(tt.position=new f({componentDatatype:a.DOUBLE,componentsPerAttribute:3,values:m})),r.st&&(tt.st=new f({componentDatatype:a.FLOAT,componentsPerAttribute:2,values:p})),r.normal&&(tt.normal=new f({componentDatatype:a.FLOAT,componentsPerAttribute:3,values:g})),r.tangent&&(tt.tangent=new f({componentDatatype:a.FLOAT,componentsPerAttribute:3,values:y})),r.binormal&&(tt.binormal=new f({componentDatatype:a.FLOAT,componentsPerAttribute:3,values:S})),tt}function T(e){for(var t,r,i,n,o=e.length/3,a=s.createTypedArray(o,6*o),l=0,u=0;o-1>u;u++)t=u,i=u+o,r=t+1,n=r+o,a[l++]=t,a[l++]=i,a[l++]=r,a[l++]=r,a[l++]=i,a[l++]=n;return t=o-1,i=u+o,r=0,n=r+o,a[l++]=t,a[l++]=i,a[l++]=r,a[l++]=r,a[l++]=i,a[l++]=n,a}function A(e){var t=e.center,i=e.ellipsoid,o=e.semiMajorAxis,a=n.multiplyByScalar(i.geodeticSurfaceNormal(t,P),e.height,P);U.center=n.add(t,a,U.center),U.radius=o,a=n.multiplyByScalar(i.geodeticSurfaceNormal(t,a),e.extrudedHeight,a),W.center=n.add(t,a,W.center),W.radius=o;var l=c.computeEllipsePositions(e,!0,!0),u=l.positions,h=l.numPts,f=l.outerPositions,v=r.union(U,W),g=w(u,e,!0),_=E(h),C=_.length;_.length=2*C;for(var S=u.length/3,x=0;C>x;x+=3)_[x+C]=_[x+2]+S,_[x+1+C]=_[x+1]+S,_[x+2+C]=_[x]+S;var A=s.createTypedArray(2*S/3,_),D=new d({attributes:g,indices:A,primitiveType:y.TRIANGLES}),M=b(f,e);_=T(f);var I=s.createTypedArray(2*f.length/3,_),O=new d({attributes:M,indices:I,primitiveType:y.TRIANGLES}),R=m.combine([new p({geometry:D}),new p({geometry:O})]);return{boundingSphere:v,attributes:R.attributes,indices:R.indices}}var P=new n,D=new n,M=new n,I=new n,O=new i,R=new _,L=new C,N=new n,B=new n,z=new n,F=new o,V=new n,k=new n,U=new r,W=new r,G=function(r){r=e(r,e.EMPTY_OBJECT);var i=r.center,o=r.semiMajorAxis,a=r.semiMinorAxis,s=e(r.granularity,g.RADIANS_PER_DEGREE),l=e(r.height,0),c=r.extrudedHeight,h=t(c)&&!g.equalsEpsilon(l,c,1);this._center=n.clone(i),this._semiMajorAxis=o,this._semiMinorAxis=a,this._ellipsoid=e(r.ellipsoid,u.WGS84),this._rotation=e(r.rotation,0),this._stRotation=e(r.stRotation,0),this._height=l,this._granularity=s,this._vertexFormat=e(r.vertexFormat,S.DEFAULT),this._extrudedHeight=c,this._extrude=h,this._workerName="createEllipseGeometry"};return G.createGeometry=function(e){var t,r={center:e._center,semiMajorAxis:e._semiMajorAxis,semiMinorAxis:e._semiMinorAxis,ellipsoid:e._ellipsoid,rotation:e._rotation,height:e._height,extrudedHeight:e._extrudedHeight,granularity:e._granularity,vertexFormat:e._vertexFormat,stRotation:e._stRotation};return e._extrude?(r.extrudedHeight=Math.min(e._extrudedHeight,e._height),r.height=Math.max(e._extrudedHeight,e._height),t=A(r)):t=x(r),new d({attributes:t.attributes,indices:t.indices,primitiveType:y.TRIANGLES,boundingSphere:t.boundingSphere})},G}),r("Core/CircleGeometry",["./defaultValue","./defined","./DeveloperError","./EllipseGeometry"],function(e,t,r,i){"use strict";var n=function(t){t=e(t,e.EMPTY_OBJECT);var r=t.radius,n={center:t.center,semiMajorAxis:r,semiMinorAxis:r,ellipsoid:t.ellipsoid,height:t.height,extrudedHeight:t.extrudedHeight,granularity:t.granularity,vertexFormat:t.vertexFormat,stRotation:t.stRotation};this._ellipseGeometry=new i(n),this._workerName="createCircleGeometry"};return n.createGeometry=function(e){return i.createGeometry(e._ellipseGeometry)},n}),r("Core/EllipseOutlineGeometry",["./defaultValue","./defined","./BoundingSphere","./Cartesian3","./ComponentDatatype","./IndexDatatype","./DeveloperError","./Ellipsoid","./EllipseGeometryLibrary","./Geometry","./GeometryAttribute","./GeometryAttributes","./Math","./PrimitiveType"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m){"use strict";function p(e){var t=e.center;g=i.multiplyByScalar(e.ellipsoid.geodeticSurfaceNormal(t,g),e.height,g),g=i.add(t,g,g);for(var a=new r(g,e.semiMajorAxis),s=l.computeEllipsePositions(e,!1,!0).outerPositions,u=new h({position:new c({componentDatatype:n.DOUBLE,componentsPerAttribute:3,values:l.raisePositionsToHeight(s,e,!1)})}),d=s.length/3,m=o.createTypedArray(d,2*d),p=0,f=0;d-1>f;f++)m[p++]=f,m[p++]=f+1;return m[p++]=d-1,m[p++]=0,{boundingSphere:a,attributes:u,indices:m}}function f(t){var a=e(t.numberOfVerticalLines,16);a=Math.max(a,0);var s=t.center,u=t.ellipsoid,d=t.semiMajorAxis,m=i.multiplyByScalar(u.geodeticSurfaceNormal(s,v),t.height,v);_.center=i.add(s,m,_.center),_.radius=d,m=i.multiplyByScalar(u.geodeticSurfaceNormal(s,m),t.extrudedHeight,m),y.center=i.add(s,m,y.center),y.radius=d;var p=l.computeEllipsePositions(t,!1,!0).outerPositions,f=new h({position:new c({componentDatatype:n.DOUBLE,componentsPerAttribute:3,values:l.raisePositionsToHeight(p,t,!0)})});p=f.position.values;var g=r.union(_,y),C=p.length/3,S=o.createTypedArray(C,2*C+2*a);C/=2;for(var w=0,E=0;C-1>E;E++)S[w++]=E,S[w++]=E+1,S[w++]=E+C,S[w++]=E+C+1;S[w++]=C-1,S[w++]=0,S[w++]=C+C-1,S[w++]=C;var x;if(a>0){var b=Math.min(a,C);x=Math.round(C/b)}var T=Math.min(x*a,C);if(a>0)for(E=0;T>E;E+=x)S[w++]=E,S[w++]=E+C;return{boundingSphere:g,attributes:f,indices:S}}var v=new i,g=new i,_=new r,y=new r,C=function(r){r=e(r,e.EMPTY_OBJECT);var n=r.center,o=r.semiMajorAxis,a=r.semiMinorAxis,l=e(r.granularity,d.RADIANS_PER_DEGREE),u=e(r.height,0),c=r.extrudedHeight,h=t(c)&&!d.equalsEpsilon(u,c,1);this._center=i.clone(n),this._semiMajorAxis=o,this._semiMinorAxis=a,this._ellipsoid=e(r.ellipsoid,s.WGS84),this._rotation=e(r.rotation,0),this._height=u,this._granularity=l,this._extrudedHeight=c,this._extrude=h,this._numberOfVerticalLines=Math.max(e(r.numberOfVerticalLines,16),0),this._workerName="createEllipseOutlineGeometry"};return C.createGeometry=function(e){var t,r={center:e._center,semiMajorAxis:e._semiMajorAxis,semiMinorAxis:e._semiMinorAxis,ellipsoid:e._ellipsoid,rotation:e._rotation,height:e._height,extrudedHeight:e._extrudedHeight,granularity:e._granularity,numberOfVerticalLines:e._numberOfVerticalLines};return e._extrude?(r.extrudedHeight=Math.min(e._extrudedHeight,e._height),r.height=Math.max(e._extrudedHeight,e._height),t=f(r)):t=p(r),new u({attributes:t.attributes,indices:t.indices,primitiveType:m.LINES,boundingSphere:t.boundingSphere})},C}),r("Core/CircleOutlineGeometry",["./defaultValue","./defined","./DeveloperError","./EllipseOutlineGeometry"],function(e,t,r,i){"use strict";var n=function(t){t=e(t,e.EMPTY_OBJECT);var r=t.radius,n={center:t.center,semiMajorAxis:r,semiMinorAxis:r,ellipsoid:t.ellipsoid,height:t.height,extrudedHeight:t.extrudedHeight,granularity:t.granularity,numberOfVerticalLines:t.numberOfVerticalLines};this._ellipseGeometry=new i(n),this._workerName="createCircleOutlineGeometry"};return n.createGeometry=function(e){return i.createGeometry(e._ellipseGeometry)},n}),r("Core/ClockRange",["./Enumeration"],function(e){"use strict";var t={UNBOUNDED:new e(0,"UNBOUNDED"),CLAMPED:new e(1,"CLAMPED"),LOOP_STOP:new e(2,"LOOP_STOP")};return t}),r("Core/ClockStep",["./Enumeration"],function(e){"use strict";var t={TICK_DEPENDENT:new e(0,"TICK_DEPENDENT"),SYSTEM_CLOCK_MULTIPLIER:new e(1,"SYSTEM_CLOCK_MULTIPLIER"),SYSTEM_CLOCK:new e(2,"SYSTEM_CLOCK")};return t}),r("Core/Event",["./DeveloperError"],function(){"use strict";var e=function(){this._listeners=[],this._scopes=[]};return e.prototype.getNumberOfListeners=function(){return this._listeners.length},e.prototype.addEventListener=function(e,t){this._listeners.push(e),this._scopes.push(t);var r=this;return function(){r.removeEventListener(e,t)}},e.prototype.removeEventListener=function(e,t){for(var r=this._listeners,i=this._scopes,n=-1,o=0;oi;i++)e[i].apply(t[i],arguments)},e}),r("Core/getTimestamp",["./defined"],function(e){"use strict";var t;return t="undefined"!=typeof performance&&e(performance.now)?function(){return performance.now()}:function(){return Date.now()}}),r("Core/binarySearch",["./defined","./DeveloperError"],function(){"use strict";var e=function(e,t,r){for(var i,n,o=0,a=e.length-1;a>=o;)if(i=~~((o+a)/2),n=r(e[i],t),0>n)o=i+1;else{if(!(n>0))return i;a=i-1}return~(a+1)};return e}),r("Core/TimeConstants",[],function(){"use strict";var e={SECONDS_PER_MILLISECOND:.001,SECONDS_PER_MINUTE:60,MINUTES_PER_HOUR:60,HOURS_PER_DAY:24,SECONDS_PER_HOUR:3600,MINUTES_PER_DAY:1440,SECONDS_PER_DAY:86400,DAYS_PER_JULIAN_CENTURY:36525,PICOSECOND:1e-9,MODIFIED_JULIAN_DATE_DIFFERENCE:2400000.5};return e}),r("Core/isArray",["./defined"],function(e){"use strict";var t=Array.isArray;return e(t)||(t=function(e){return"[object Array]"===Object.prototype.toString.call(e)}),t}),r("Core/LeapSecond",["./defined","./DeveloperError","./isArray"],function(){"use strict";var e=function(e,t){this.julianDate=e,this.offset=t};return e.setLeapSeconds=function(t){e._leapSeconds=t,e._leapSeconds.sort(e.compareLeapSecondDate)},e.getLeapSeconds=function(){return e._leapSeconds},e.prototype.equals=function(e){return this.julianDate.equals(e.julianDate)&&this.offset===e.offset},e.compareLeapSecondDate=function(e,t){return e.julianDate.compareTo(t.julianDate)},e._leapSeconds=[],e}),r("Core/TimeStandard",[],function(){"use strict";var e={UTC:0,TAI:1};return e}),r("Core/isLeapYear",["./DeveloperError"],function(){"use strict";function e(e){return 0===e%4&&0!==e%100||0===e%400}return e}),r("ThirdParty/sprintf",[],function(){function e(){var e=/%%|%(\d+\$)?([-+\'#0 ]*)(\*\d+\$|\*|\d+)?(\.(\*\d+\$|\*|\d+))?([scboxXuideEfFgG])/g,t=arguments,r=0,i=t[r++],n=function(e,t,r,i){r||(r=" ");var n=e.length>=t?"":Array(1+t-e.length>>>0).join(r);return i?e+n:n+e},o=function(e,t,r,i,o,a){var s=i-e.length;return s>0&&(e=r||!o?n(e,i,a,r):e.slice(0,t.length)+n("",s,"0",!0)+e.slice(t.length)),e},a=function(e,t,r,i,a,s,l){var u=e>>>0;return r=r&&u&&{2:"0b",8:"0",16:"0x"}[t]||"",e=r+n(u.toString(t),s||0,"0",!1),o(e,r,i,a,l)},s=function(e,t,r,i,n,a){return null!=i&&(e=e.slice(0,i)),o(e,"",t,r,n,a)},l=function(e,i,l,u,c,h,d){var m,p,f,v,g;if("%%"==e)return"%";for(var _=!1,y="",C=!1,S=!1,w=" ",E=l.length,x=0;l&&E>x;x++)switch(l.charAt(x)){case" ":y=" ";break;case"+":y="+";break;case"-":_=!0;break;case"'":w=l.charAt(x+1);break;case"0":C=!0;break;case"#":S=!0}if(u=u?"*"==u?+t[r++]:"*"==u.charAt(0)?+t[u.slice(1,-1)]:+u:0,0>u&&(u=-u,_=!0),!isFinite(u))throw new Error("sprintf: (minimum-)width must be finite");switch(h=h?"*"==h?+t[r++]:"*"==h.charAt(0)?+t[h.slice(1,-1)]:+h:"fFeE".indexOf(d)>-1?6:"d"==d?0:void 0,g=i?t[i.slice(0,-1)]:t[r++],d){case"s":return s(String(g),_,u,h,C,w);case"c":return s(String.fromCharCode(+g),_,u,h,C);case"b":return a(g,2,S,_,u,h,C);case"o":return a(g,8,S,_,u,h,C);case"x":return a(g,16,S,_,u,h,C);case"X":return a(g,16,S,_,u,h,C).toUpperCase();case"u":return a(g,10,S,_,u,h,C);case"i":case"d":return m=+g||0,m=Math.round(m-m%1),p=0>m?"-":y,g=p+n(String(Math.abs(m)),h,"0",!1),o(g,p,_,u,C);case"e":case"E":case"f":case"F":case"g":case"G":return m=+g,p=0>m?"-":y,f=["toExponential","toFixed","toPrecision"]["efg".indexOf(d.toLowerCase())],v=["toString","toUpperCase"]["eEfFgG".indexOf(d)%2],g=p+Math.abs(m)[f](h),o(g,p,_,u,C)[v]();default:return e}};return i.replace(e,l)}return e}),r("Core/JulianDate",["./DeveloperError","./binarySearch","./defined","./defaultValue","./TimeConstants","./LeapSecond","./TimeStandard","./isLeapYear","../ThirdParty/sprintf"],function(e,t,r,i,n,o,a,s,l){"use strict";function u(e){g.julianDate=e;var r=o.getLeapSeconds(),i=t(r,g,o.compareLeapSecondDate);0>i&&(i=~i),i>=r.length&&(i=r.length-1);var n=r[i].offset;if(i>0){var a=e.getSecondsDifference(r[i].julianDate);a>n&&(i--,n=r[i].offset)}e.addSeconds(n,e)}function c(e,r){g.julianDate=e;var i=o.getLeapSeconds(),n=t(i,g,o.compareLeapSecondDate);if(0>n&&(n=~n),0===n)return e.addSeconds(-i[0].offset,r);if(n>=i.length)return e.addSeconds(-i[n-1].offset,r);var a=e.getSecondsDifference(i[n].julianDate); +return 0===a?e.addSeconds(-i[n].offset,r):1>=a?void 0:e.addSeconds(-i[--n].offset,r)}function h(e,t,i){var o=0|t/n.SECONDS_PER_DAY;return e+=o,t-=n.SECONDS_PER_DAY*o,0>t&&(e--,t+=n.SECONDS_PER_DAY),r(i)?(i._julianDayNumber=e,i._secondsOfDay=t,i):new P(e,t,a.TAI)}function d(e,t,r,i,o,a,s){var l=0|(t-14)/12,u=e+4800+l,c=(0|1461*u/4)+(0|367*(t-2-12*l)/12)-(0|3*((u+100)/100)/4)+r-32075;i-=12,0>i&&(i+=24);var h=a+(i*n.SECONDS_PER_HOUR+o*n.SECONDS_PER_MINUTE+s*n.SECONDS_PER_MILLISECOND);return h>=43200&&(c-=1),[c,h]}function m(e){return d(e.getUTCFullYear(),e.getUTCMonth()+1,e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds())}var p=function(e,t,r,i,n,o,a,s){this.year=e,this.month=t,this.day=r,this.hour=i,this.minute=n,this.second=o,this.millisecond=a,this.isLeapSecond=s},f=[31,28,31,30,31,30,31,31,30,31,30,31],v=29,g={julianDate:void 0},_=/^(\d{4})$/,y=/^(\d{4})-(\d{2})$/,C=/^(\d{4})-?(\d{3})$/,S=/^(\d{4})-?W(\d{2})-?(\d{1})?$/,w=/^(\d{4})-?(\d{2})-?(\d{2})$/,E=/([Z+\-])?(\d{2})?:?(\d{2})?$/,x=/^(\d{2})(\.\d+)?/.source+E.source,b=/^(\d{2}):?(\d{2})(\.\d+)?/.source+E.source,T=/^(\d{2}):?(\d{2}):?(\d{2})(\.\d+)?/.source+E.source,A="Valid ISO 8601 date string required.",P=function(e,t,o){this._julianDayNumber=void 0,this._secondsOfDay=void 0;var s,l;if(r(e)||r(t)||r(o))o=i(o,a.UTC),s=0|e,l=t+(e-s)*n.SECONDS_PER_DAY;else{var c=new Date,d=m(c);s=d[0],l=d[1],o=a.UTC}h(s,l,this),o===a.UTC&&u(this)};P.clone=function(e,t){return r(e)?r(t)?(t._julianDayNumber=e._julianDayNumber,t._secondsOfDay=e._secondsOfDay,t):new P(e._julianDayNumber,e._secondsOfDay,a.TAI):void 0},P.fromDate=function(e,t){var r=m(e);return new P(r[0],r[1],t)},P.fromIso8601=function(t){t=t.replace(",",".");var i,n,o,l=t.split("T"),u=1,c=1,h=0,m=0,p=0,g=0,E=l[0],D=l[1];if(!r(E))throw new e(A);var M;if(l=E.match(w),null!==l){if(M=E.split("-").length-1,M>0&&2!==M)throw new e(A);i=+l[1],u=+l[2],c=+l[3]}else if(l=E.match(y),null!==l)i=+l[1],u=+l[2];else if(l=E.match(_),null!==l)i=+l[1];else{var I;if(l=E.match(C),null!==l){if(i=+l[1],I=+l[2],o=s(i),1>I||o&&I>366||!o&&I>365)throw new e(A)}else{if(l=E.match(S),null===l)throw new e(A);i=+l[1];var O=+l[2],R=+l[3]||0;if(M=E.split("-").length-1,M>0&&(!r(l[3])&&1!==M||r(l[3])&&2!==M))throw new e(A);var L=new Date(Date.UTC(i,0,4));I=7*O+R-L.getUTCDay()-3}n=new Date(Date.UTC(i,0,1)),n.setUTCDate(I),u=n.getUTCMonth()+1,c=n.getUTCDate()}if(o=s(i),1>u||u>12||1>c||(2!==u||!o)&&c>f[u-1]||o&&2===u&&c>v)throw new e(A);var N;if(r(D)){if(l=D.match(T),null!==l){if(M=D.split(":").length-1,M>0&&2!==M&&3!==M)throw new e(A);h=+l[1],m=+l[2],p=+l[3],g=1e3*+(l[4]||0),N=5}else if(l=D.match(b),null!==l){if(M=D.split(":").length-1,M>0&&1!==M)throw new e(A);h=+l[1],m=+l[2],p=60*+(l[3]||0),N=4}else{if(l=D.match(x),null===l)throw new e(A);h=+l[1],m=60*+(l[2]||0),N=3}if(m>=60||p>=61||h>24||24===h&&(m>0||p>0||g>0))throw new e(A);var B=l[N],z=+l[N+1],F=+(l[N+2]||0);switch(B){case"+":h-=z,m-=F;break;case"-":h+=z,m+=F;break;case"Z":break;default:m+=new Date(Date.UTC(i,u-1,c,h,m)).getTimezoneOffset()}}else m+=new Date(Date.UTC(i,u-1,c)).getTimezoneOffset();var V=60===p;for(V&&p--;m>=60;)m-=60,h++;for(;h>=24;)h-=24,c++;for(n=o&&2===u?v:f[u-1];c>n;)c-=n,u++,u>12&&(u-=12,i++),n=o&&2===u?v:f[u-1];for(;0>m;)m+=60,h--;for(;0>h;)h+=24,c--;for(;1>c;)u--,1>u&&(u+=12,i--),n=o&&2===u?v:f[u-1],c+=n;var k=d(i,u,c,h,m,p,g),U=new P(k[0],k[1],a.UTC);return V&&U.addSeconds(1,U),U},P.fromTotalDays=function(e,t){return new P(e,0,t)},P.compare=function(e,t){var r=e._julianDayNumber-t._julianDayNumber;return 0!==r?r:e._secondsOfDay-t._secondsOfDay},P.equals=function(e,t){return e===t||r(e)&&r(t)&&e._julianDayNumber===t._julianDayNumber&&e._secondsOfDay===t._secondsOfDay},P.equalsEpsilon=function(e,t,r){return Math.abs(e.getSecondsDifference(t))<=r},P.prototype.clone=function(e){return P.clone(this,e)},P.prototype.getTotalDays=function(){return this._julianDayNumber+this._secondsOfDay/n.SECONDS_PER_DAY},P.prototype.getJulianDayNumber=function(){return this._julianDayNumber},P.prototype.getJulianTimeFraction=function(){return this._secondsOfDay/n.SECONDS_PER_DAY},P.prototype.getSecondsOfDay=function(){return this._secondsOfDay};var D=new P(0,0,a.TAI);return P.prototype.toGregorianDate=function(){var e=!1,t=c(this,D);r(t)||(this.addSeconds(-1,D),t=c(D,D),e=!0);var i=t._julianDayNumber,o=t._secondsOfDay;o>=43200&&(i+=1);var a=0|i+68569,s=0|4*a/146097;a=0|a-(0|(146097*s+3)/4);var l=0|4e3*(a+1)/1461001;a=0|a-(0|1461*l/4)+31;var u=0|80*a/2447,h=0|a-(0|2447*u/80);a=0|u/11;var d=0|u+2-12*a,m=0|100*(s-49)+l+a,f=0|o/n.SECONDS_PER_HOUR,v=o-f*n.SECONDS_PER_HOUR,g=0|v/n.SECONDS_PER_MINUTE;v-=g*n.SECONDS_PER_MINUTE;var _=0|v,y=(v-_)/n.SECONDS_PER_MILLISECOND;return f+=12,f>23&&(f-=24),e&&(_+=1),new p(m,d,h,f,g,_,y,e)},P.prototype.toDate=function(){var e=this.toGregorianDate(),t=e.second;return e.isLeapSecond&&(t-=1),new Date(Date.UTC(e.year,e.month-1,e.day,e.hour,e.minute,t,e.millisecond))},P.prototype.toIso8601=function(e){var t,i=this.toGregorianDate();return r(e)||0===i.millisecond?r(e)&&0!==e?(t=(.01*i.millisecond).toFixed(e).replace(".","").slice(0,e),l("%04d-%02d-%02dT%02d:%02d:%02d.%sZ",i.year,i.month,i.day,i.hour,i.minute,i.second,t)):l("%04d-%02d-%02dT%02d:%02d:%02dZ",i.year,i.month,i.day,i.hour,i.minute,i.second):(t=(.01*i.millisecond).toString().replace(".",""),l("%04d-%02d-%02dT%02d:%02d:%02d.%sZ",i.year,i.month,i.day,i.hour,i.minute,i.second,t))},P.prototype.getSecondsDifference=function(e){var t=this,r=e,i=(r._julianDayNumber-t._julianDayNumber)*n.SECONDS_PER_DAY;return i+(r._secondsOfDay-t._secondsOfDay)},P.prototype.getMinutesDifference=function(e){return this.getSecondsDifference(e)/n.SECONDS_PER_MINUTE},P.prototype.getDaysDifference=function(e){var t=this,r=e,i=r._julianDayNumber-t._julianDayNumber,o=(r._secondsOfDay-t._secondsOfDay)/n.SECONDS_PER_DAY;return i+o},P.prototype.getTaiMinusUtc=function(){g.julianDate=this;var e=o.getLeapSeconds(),r=t(e,g,o.compareLeapSecondDate);return 0>r&&(r=~r,--r,0>r&&(r=0)),e[r].offset},P.prototype.addSeconds=function(e,t){return h(this._julianDayNumber,this._secondsOfDay+e,t)},P.prototype.addMinutes=function(e){var t=this._secondsOfDay+e*n.SECONDS_PER_MINUTE;return new P(this._julianDayNumber,t,a.TAI)},P.prototype.addHours=function(e){var t=this._secondsOfDay+e*n.SECONDS_PER_HOUR;return new P(this._julianDayNumber,t,a.TAI)},P.prototype.addDays=function(e){var t=this._julianDayNumber+e;return new P(t,this._secondsOfDay,a.TAI)},P.prototype.lessThan=function(e){return P.compare(this,e)<0},P.prototype.lessThanOrEquals=function(e){return P.compare(this,e)<=0},P.prototype.greaterThan=function(e){return P.compare(this,e)>0},P.prototype.greaterThanOrEquals=function(e){return P.compare(this,e)>=0},P.prototype.compareTo=function(e){return P.compare(this,e)},P.prototype.equals=function(e){return P.equals(this,e)},P.prototype.equalsEpsilon=function(e,t){return P.equalsEpsilon(this,e,t)},0===o._leapSeconds.length&&(o._leapSeconds=[new o(new P(2441317,43210,a.TAI),10),new o(new P(2441499,43211,a.TAI),11),new o(new P(2441683,43212,a.TAI),12),new o(new P(2442048,43213,a.TAI),13),new o(new P(2442413,43214,a.TAI),14),new o(new P(2442778,43215,a.TAI),15),new o(new P(2443144,43216,a.TAI),16),new o(new P(2443509,43217,a.TAI),17),new o(new P(2443874,43218,a.TAI),18),new o(new P(2444239,43219,a.TAI),19),new o(new P(2444786,43220,a.TAI),20),new o(new P(2445151,43221,a.TAI),21),new o(new P(2445516,43222,a.TAI),22),new o(new P(2446247,43223,a.TAI),23),new o(new P(2447161,43224,a.TAI),24),new o(new P(2447892,43225,a.TAI),25),new o(new P(2448257,43226,a.TAI),26),new o(new P(2448804,43227,a.TAI),27),new o(new P(2449169,43228,a.TAI),28),new o(new P(2449534,43229,a.TAI),29),new o(new P(2450083,43230,a.TAI),30),new o(new P(2450630,43231,a.TAI),31),new o(new P(2451179,43232,a.TAI),32),new o(new P(2453736,43233,a.TAI),33),new o(new P(2454832,43234,a.TAI),34),new o(new P(2456109,43235,a.TAI),35)]),P}),r("Core/Clock",["./ClockRange","./ClockStep","./defaultValue","./defined","./DeveloperError","./Event","./getTimestamp","./JulianDate"],function(e,t,r,i,n,o,a,s){"use strict";var l=function(n){n=r(n,r.EMPTY_OBJECT);var l=n.startTime,u=!i(l),c=n.stopTime,h=!i(c),d=n.currentTime,m=!i(d);u&&h&&m?(d=new s,l=s.clone(d),c=d.addDays(1)):u&&h?(l=s.clone(d),c=d.addDays(1)):u&&m?(l=c.addDays(-1),d=s.clone(l)):m&&h?(d=s.clone(l),c=l.addDays(1)):m?d=s.clone(l):h?c=d.addDays(1):u&&(l=s.clone(d)),this.startTime=l,this.stopTime=c,this.currentTime=d,this.multiplier=r(n.multiplier,1),this.clockStep=r(n.clockStep,t.SYSTEM_CLOCK_MULTIPLIER),this.clockRange=r(n.clockRange,e.UNBOUNDED),this.shouldAnimate=r(n.shouldAnimate,!0),this.onTick=new o,this._lastSystemTime=a()};return l.prototype.tick=function(){var r=a(),i=this.currentTime,n=this.startTime,o=this.stopTime,l=this.multiplier;if(this.shouldAnimate)if(this.clockStep===t.SYSTEM_CLOCK)i=new s;else{if(this.clockStep===t.TICK_DEPENDENT)i=i.addSeconds(l);else{var u=r-this._lastSystemTime;i=i.addSeconds(l*(u/1e3))}if(this.clockRange===e.CLAMPED)i.lessThan(n)?i=n:i.greaterThan(o)&&(i=o);else if(this.clockRange===e.LOOP_STOP)for(i.lessThan(n)&&(i=s.clone(n));i.greaterThan(o);)i=n.addSeconds(o.getSecondsDifference(i))}return this.currentTime=i,this._lastSystemTime=r,this.onTick.raiseEvent(this),i},l}),r("Core/Color",["./defaultValue","./defined","./freezeObject","./DeveloperError","./FeatureDetection","./Math"],function(e,t,r,i,n,o){"use strict";function a(e,t,r){return 0>r&&(r+=1),r>1&&(r-=1),1>6*r?e+6*(t-e)*r:1>2*r?t:2>3*r?e+6*(t-e)*(2/3-r):e}var s=function(t,r,i,n){this.red=e(t,1),this.green=e(r,1),this.blue=e(i,1),this.alpha=e(n,1)};s.fromBytes=function(t,r,i,n){return t=s.byteToFloat(e(t,255)),r=s.byteToFloat(e(r,255)),i=s.byteToFloat(e(i,255)),n=s.byteToFloat(e(n,255)),new s(t,r,i,n)};var l,u,c;n.supportsTypedArrays()&&(l=new ArrayBuffer(4),u=new Uint32Array(l),c=new Uint8Array(l)),s.fromRgba=function(e){return u[0]=e,s.fromBytes(c[0],c[1],c[2],c[3])},s.fromHsl=function(t,r,i,n){t=e(t,0)%1,r=e(r,0),i=e(i,0),n=e(n,1);var o=i,l=i,u=i;if(0!==r){var c;c=.5>i?i*(1+r):i+r-i*r;var h=2*i-c;o=a(h,c,t+1/3),l=a(h,c,t),u=a(h,c,t-1/3)}return new s(o,l,u,n)},s.fromRandom=function(r,i){r=e(r,e.EMPTY_OBJECT);var n=r.red;if(!t(n)){var a=e(r.minimumRed,0),l=e(r.maximumRed,1);n=a+o.nextRandomNumber()*(l-a)}var u=r.green;if(!t(u)){var c=e(r.minimumGreen,0),h=e(r.maximumGreen,1);u=c+o.nextRandomNumber()*(h-c)}var d=r.blue;if(!t(d)){var m=e(r.minimumBlue,0),p=e(r.maximumBlue,1);d=m+o.nextRandomNumber()*(p-m)}var f=r.alpha;if(!t(f)){var v=e(r.minimumAlpha,0),g=e(r.maximumAlpha,1);f=v+o.nextRandomNumber()*(g-v)}return t(i)?(i.red=n,i.green=u,i.blue=d,i.alpha=f,i):new s(n,u,d,f)};var h=/^#([0-9a-f])([0-9a-f])([0-9a-f])$/i,d=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i,m=/^rgba?\(\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)(?:\s*,\s*([0-9.]+))?\s*\)$/i,p=/^hsla?\(\s*([0-9.]+)\s*,\s*([0-9.]+%)\s*,\s*([0-9.]+%)(?:\s*,\s*([0-9.]+))?\s*\)$/i;return s.fromCssColorString=function(r){var i=s[r.toUpperCase()];if(t(i))return s.clone(i);var n=h.exec(r);return null!==n?new s(parseInt(n[1],16)/15,parseInt(n[2],16)/15,parseInt(n[3],16)/15):(n=d.exec(r),null!==n?new s(parseInt(n[1],16)/255,parseInt(n[2],16)/255,parseInt(n[3],16)/255):(n=m.exec(r),null!==n?new s(parseFloat(n[1])/("%"===n[1].substr(-1)?100:255),parseFloat(n[2])/("%"===n[2].substr(-1)?100:255),parseFloat(n[3])/("%"===n[3].substr(-1)?100:255),parseFloat(e(n[4],"1.0"))):(n=p.exec(r),null!==n?s.fromHsl(parseFloat(n[1])/360,parseFloat(n[2])/100,parseFloat(n[3])/100,parseFloat(e(n[4],"1.0"))):void 0)))},s.packedLength=4,s.pack=function(t,r,i){i=e(i,0),r[i++]=t.red,r[i++]=t.green,r[i++]=t.blue,r[i]=t.alpha},s.unpack=function(r,i,n){return i=e(i,0),t(n)||(n=new s),n.red=r[i++],n.green=r[i++],n.blue=r[i++],n.alpha=r[i],n},s.byteToFloat=function(e){return e/255},s.floatToByte=function(e){return 1===e?255:0|256*e},s.clone=function(e,r){return t(e)?t(r)?(r.red=e.red,r.green=e.green,r.blue=e.blue,r.alpha=e.alpha,r):new s(e.red,e.green,e.blue,e.alpha):void 0},s.equals=function(e,r){return e===r||t(e)&&t(r)&&e.red===r.red&&e.green===r.green&&e.blue===r.blue&&e.alpha===r.alpha},s.prototype.clone=function(e){return s.clone(this,e)},s.prototype.equals=function(e){return s.equals(this,e)},s.prototype.equalsEpsilon=function(e,r){return this===e||t(e)&&Math.abs(this.red-e.red)<=r&&Math.abs(this.green-e.green)<=r&&Math.abs(this.blue-e.blue)<=r&&Math.abs(this.alpha-e.alpha)<=r},s.prototype.toString=function(){return"("+this.red+", "+this.green+", "+this.blue+", "+this.alpha+")"},s.prototype.toCssColorString=function(){var e=s.floatToByte(this.red),t=s.floatToByte(this.green),r=s.floatToByte(this.blue);return 1===this.alpha?"rgb("+e+","+t+","+r+")":"rgba("+e+","+t+","+r+","+this.alpha+")"},s.prototype.toBytes=function(e){var r=s.floatToByte(this.red),i=s.floatToByte(this.green),n=s.floatToByte(this.blue),o=s.floatToByte(this.alpha);return t(e)?(e[0]=r,e[1]=i,e[2]=n,e[3]=o,e):[r,i,n,o]},s.prototype.toRgba=function(){return c[0]=s.floatToByte(this.red),c[1]=s.floatToByte(this.green),c[2]=s.floatToByte(this.blue),c[3]=s.floatToByte(this.alpha),u[0]},s.ALICEBLUE=r(s.fromCssColorString("#F0F8FF")),s.ANTIQUEWHITE=r(s.fromCssColorString("#FAEBD7")),s.AQUA=r(s.fromCssColorString("#00FFFF")),s.AQUAMARINE=r(s.fromCssColorString("#7FFFD4")),s.AZURE=r(s.fromCssColorString("#F0FFFF")),s.BEIGE=r(s.fromCssColorString("#F5F5DC")),s.BISQUE=r(s.fromCssColorString("#FFE4C4")),s.BLACK=r(s.fromCssColorString("#000000")),s.BLANCHEDALMOND=r(s.fromCssColorString("#FFEBCD")),s.BLUE=r(s.fromCssColorString("#0000FF")),s.BLUEVIOLET=r(s.fromCssColorString("#8A2BE2")),s.BROWN=r(s.fromCssColorString("#A52A2A")),s.BURLYWOOD=r(s.fromCssColorString("#DEB887")),s.CADETBLUE=r(s.fromCssColorString("#5F9EA0")),s.CHARTREUSE=r(s.fromCssColorString("#7FFF00")),s.CHOCOLATE=r(s.fromCssColorString("#D2691E")),s.CORAL=r(s.fromCssColorString("#FF7F50")),s.CORNFLOWERBLUE=r(s.fromCssColorString("#6495ED")),s.CORNSILK=r(s.fromCssColorString("#FFF8DC")),s.CRIMSON=r(s.fromCssColorString("#DC143C")),s.CYAN=r(s.fromCssColorString("#00FFFF")),s.DARKBLUE=r(s.fromCssColorString("#00008B")),s.DARKCYAN=r(s.fromCssColorString("#008B8B")),s.DARKGOLDENROD=r(s.fromCssColorString("#B8860B")),s.DARKGRAY=r(s.fromCssColorString("#A9A9A9")),s.DARKGREEN=r(s.fromCssColorString("#006400")),s.DARKGREY=s.DARKGRAY,s.DARKKHAKI=r(s.fromCssColorString("#BDB76B")),s.DARKMAGENTA=r(s.fromCssColorString("#8B008B")),s.DARKOLIVEGREEN=r(s.fromCssColorString("#556B2F")),s.DARKORANGE=r(s.fromCssColorString("#FF8C00")),s.DARKORCHID=r(s.fromCssColorString("#9932CC")),s.DARKRED=r(s.fromCssColorString("#8B0000")),s.DARKSALMON=r(s.fromCssColorString("#E9967A")),s.DARKSEAGREEN=r(s.fromCssColorString("#8FBC8F")),s.DARKSLATEBLUE=r(s.fromCssColorString("#483D8B")),s.DARKSLATEGRAY=r(s.fromCssColorString("#2F4F4F")),s.DARKSLATEGREY=s.DARKSLATEGRAY,s.DARKTURQUOISE=r(s.fromCssColorString("#00CED1")),s.DARKVIOLET=r(s.fromCssColorString("#9400D3")),s.DEEPPINK=r(s.fromCssColorString("#FF1493")),s.DEEPSKYBLUE=r(s.fromCssColorString("#00BFFF")),s.DIMGRAY=r(s.fromCssColorString("#696969")),s.DIMGREY=s.DIMGRAY,s.DODGERBLUE=r(s.fromCssColorString("#1E90FF")),s.FIREBRICK=r(s.fromCssColorString("#B22222")),s.FLORALWHITE=r(s.fromCssColorString("#FFFAF0")),s.FORESTGREEN=r(s.fromCssColorString("#228B22")),s.FUSCHIA=r(s.fromCssColorString("#FF00FF")),s.GAINSBORO=r(s.fromCssColorString("#DCDCDC")),s.GHOSTWHITE=r(s.fromCssColorString("#F8F8FF")),s.GOLD=r(s.fromCssColorString("#FFD700")),s.GOLDENROD=r(s.fromCssColorString("#DAA520")),s.GRAY=r(s.fromCssColorString("#808080")),s.GREEN=r(s.fromCssColorString("#008000")),s.GREENYELLOW=r(s.fromCssColorString("#ADFF2F")),s.GREY=s.GRAY,s.HONEYDEW=r(s.fromCssColorString("#F0FFF0")),s.HOTPINK=r(s.fromCssColorString("#FF69B4")),s.INDIANRED=r(s.fromCssColorString("#CD5C5C")),s.INDIGO=r(s.fromCssColorString("#4B0082")),s.IVORY=r(s.fromCssColorString("#FFFFF0")),s.KHAKI=r(s.fromCssColorString("#F0E68C")),s.LAVENDER=r(s.fromCssColorString("#E6E6FA")),s.LAVENDAR_BLUSH=r(s.fromCssColorString("#FFF0F5")),s.LAWNGREEN=r(s.fromCssColorString("#7CFC00")),s.LEMONCHIFFON=r(s.fromCssColorString("#FFFACD")),s.LIGHTBLUE=r(s.fromCssColorString("#ADD8E6")),s.LIGHTCORAL=r(s.fromCssColorString("#F08080")),s.LIGHTCYAN=r(s.fromCssColorString("#E0FFFF")),s.LIGHTGOLDENRODYELLOW=r(s.fromCssColorString("#FAFAD2")),s.LIGHTGRAY=r(s.fromCssColorString("#D3D3D3")),s.LIGHTGREEN=r(s.fromCssColorString("#90EE90")),s.LIGHTGREY=s.LIGHTGRAY,s.LIGHTPINK=r(s.fromCssColorString("#FFB6C1")),s.LIGHTSEAGREEN=r(s.fromCssColorString("#20B2AA")),s.LIGHTSKYBLUE=r(s.fromCssColorString("#87CEFA")),s.LIGHTSLATEGRAY=r(s.fromCssColorString("#778899")),s.LIGHTSLATEGREY=s.LIGHTSLATEGRAY,s.LIGHTSTEELBLUE=r(s.fromCssColorString("#B0C4DE")),s.LIGHTYELLOW=r(s.fromCssColorString("#FFFFE0")),s.LIME=r(s.fromCssColorString("#00FF00")),s.LIMEGREEN=r(s.fromCssColorString("#32CD32")),s.LINEN=r(s.fromCssColorString("#FAF0E6")),s.MAGENTA=r(s.fromCssColorString("#FF00FF")),s.MAROON=r(s.fromCssColorString("#800000")),s.MEDIUMAQUAMARINE=r(s.fromCssColorString("#66CDAA")),s.MEDIUMBLUE=r(s.fromCssColorString("#0000CD")),s.MEDIUMORCHID=r(s.fromCssColorString("#BA55D3")),s.MEDIUMPURPLE=r(s.fromCssColorString("#9370DB")),s.MEDIUMSEAGREEN=r(s.fromCssColorString("#3CB371")),s.MEDIUMSLATEBLUE=r(s.fromCssColorString("#7B68EE")),s.MEDIUMSPRINGGREEN=r(s.fromCssColorString("#00FA9A")),s.MEDIUMTURQUOISE=r(s.fromCssColorString("#48D1CC")),s.MEDIUMVIOLETRED=r(s.fromCssColorString("#C71585")),s.MIDNIGHTBLUE=r(s.fromCssColorString("#191970")),s.MINTCREAM=r(s.fromCssColorString("#F5FFFA")),s.MISTYROSE=r(s.fromCssColorString("#FFE4E1")),s.MOCCASIN=r(s.fromCssColorString("#FFE4B5")),s.NAVAJOWHITE=r(s.fromCssColorString("#FFDEAD")),s.NAVY=r(s.fromCssColorString("#000080")),s.OLDLACE=r(s.fromCssColorString("#FDF5E6")),s.OLIVE=r(s.fromCssColorString("#808000")),s.OLIVEDRAB=r(s.fromCssColorString("#6B8E23")),s.ORANGE=r(s.fromCssColorString("#FFA500")),s.ORANGERED=r(s.fromCssColorString("#FF4500")),s.ORCHID=r(s.fromCssColorString("#DA70D6")),s.PALEGOLDENROD=r(s.fromCssColorString("#EEE8AA")),s.PALEGREEN=r(s.fromCssColorString("#98FB98")),s.PALETURQUOISE=r(s.fromCssColorString("#AFEEEE")),s.PALEVIOLETRED=r(s.fromCssColorString("#DB7093")),s.PAPAYAWHIP=r(s.fromCssColorString("#FFEFD5")),s.PEACHPUFF=r(s.fromCssColorString("#FFDAB9")),s.PERU=r(s.fromCssColorString("#CD853F")),s.PINK=r(s.fromCssColorString("#FFC0CB")),s.PLUM=r(s.fromCssColorString("#DDA0DD")),s.POWDERBLUE=r(s.fromCssColorString("#B0E0E6")),s.PURPLE=r(s.fromCssColorString("#800080")),s.RED=r(s.fromCssColorString("#FF0000")),s.ROSYBROWN=r(s.fromCssColorString("#BC8F8F")),s.ROYALBLUE=r(s.fromCssColorString("#4169E1")),s.SADDLEBROWN=r(s.fromCssColorString("#8B4513")),s.SALMON=r(s.fromCssColorString("#FA8072")),s.SANDYBROWN=r(s.fromCssColorString("#F4A460")),s.SEAGREEN=r(s.fromCssColorString("#2E8B57")),s.SEASHELL=r(s.fromCssColorString("#FFF5EE")),s.SIENNA=r(s.fromCssColorString("#A0522D")),s.SILVER=r(s.fromCssColorString("#C0C0C0")),s.SKYBLUE=r(s.fromCssColorString("#87CEEB")),s.SLATEBLUE=r(s.fromCssColorString("#6A5ACD")),s.SLATEGRAY=r(s.fromCssColorString("#708090")),s.SLATEGREY=s.SLATEGRAY,s.SNOW=r(s.fromCssColorString("#FFFAFA")),s.SPRINGGREEN=r(s.fromCssColorString("#00FF7F")),s.STEELBLUE=r(s.fromCssColorString("#4682B4")),s.TAN=r(s.fromCssColorString("#D2B48C")),s.TEAL=r(s.fromCssColorString("#008080")),s.THISTLE=r(s.fromCssColorString("#D8BFD8")),s.TOMATO=r(s.fromCssColorString("#FF6347")),s.TURQUOISE=r(s.fromCssColorString("#40E0D0")),s.VIOLET=r(s.fromCssColorString("#EE82EE")),s.WHEAT=r(s.fromCssColorString("#F5DEB3")),s.WHITE=r(s.fromCssColorString("#FFFFFF")),s.WHITESMOKE=r(s.fromCssColorString("#F5F5F5")),s.YELLOW=r(s.fromCssColorString("#FFFF00")),s.YELLOWGREEN=r(s.fromCssColorString("#9ACD32")),s}),r("Core/ColorGeometryInstanceAttribute",["./defaultValue","./defined","./Color","./ComponentDatatype","./DeveloperError"],function(e,t,r,i){"use strict";var n=function(t,n,o,a){t=e(t,1),n=e(n,1),o=e(o,1),a=e(a,1),this.componentDatatype=i.UNSIGNED_BYTE,this.componentsPerAttribute=4,this.normalize=!0,this.value=new Uint8Array([r.floatToByte(t),r.floatToByte(n),r.floatToByte(o),r.floatToByte(a)])};return n.fromColor=function(e){return new n(e.red,e.green,e.blue,e.alpha)},n.toValue=function(e,r){return t(r)?e.toBytes(r):new Uint8Array(e.toBytes())},n}),r("Core/CornerType",["../Core/Enumeration"],function(e){"use strict";var t={ROUNDED:new e(0,"ROUNDED"),MITERED:new e(1,"MITERED"),BEVELED:new e(2,"BEVELED")};return t}),r("Core/EllipsoidGeodesic",["./Cartesian3","./Cartographic","./defaultValue","./defined","./DeveloperError","./Ellipsoid","./Math"],function(e,t,r,i,n,o,a){"use strict";function s(e){var t=e._uSquared,r=e._ellipsoid.maximumRadius,i=e._ellipsoid.minimumRadius,n=(r-i)/r,o=Math.cos(e._startHeading),a=Math.sin(e._startHeading),s=(1-n)*Math.tan(e._start.latitude),l=1/Math.sqrt(1+s*s),u=l*s,c=Math.atan2(s,o),h=l*a,d=h*h,m=1-d,p=Math.sqrt(m),f=t/4,v=f*f,g=v*f,_=v*v,y=1+f-3*v/4+5*g/4-175*_/64,C=1-f+15*v/8-35*g/8,S=1-3*f+35*v/4,w=1-5*f,E=y*c-C*Math.sin(2*c)*f/2-S*Math.sin(4*c)*v/16-w*Math.sin(6*c)*g/48-5*Math.sin(8*c)*_/512,x=e._constants;x.a=r,x.b=i,x.f=n,x.cosineHeading=o,x.sineHeading=a,x.tanU=s,x.cosineU=l,x.sineU=u,x.sigma=c,x.sineAlpha=h,x.sineSquaredAlpha=d,x.cosineSquaredAlpha=m,x.cosineAlpha=p,x.u2Over4=f,x.u4Over16=v,x.u6Over64=g,x.u8Over256=_,x.a0=y,x.a1=C,x.a2=S,x.a3=w,x.distanceRatio=E}function l(e,t){return e*t*(4+e*(4-3*t))/16}function u(e,t,r,i,n,o,a){var s=l(e,r);return(1-s)*e*t*(i+s*n*(a+s*o*(2*a*a-1)))}function c(e,t,r,i,n,o,s){var l,c,h,d,m,p=(t-r)/t,f=o-i,v=Math.atan((1-p)*Math.tan(n)),g=Math.atan((1-p)*Math.tan(s)),_=Math.cos(v),y=Math.sin(v),C=Math.cos(g),S=Math.sin(g),w=_*C,E=_*S,x=y*S,b=y*C,T=f,A=a.TWO_PI,P=Math.cos(T),D=Math.sin(T);do{P=Math.cos(T),D=Math.sin(T);var M=E-b*P;h=Math.sqrt(C*C*D*D+M*M),c=x+w*P,l=Math.atan2(h,c);var I;0===h?(I=0,d=1):(I=w*D/h,d=1-I*I),A=T,m=c-2*x/d,isNaN(m)&&(m=0),T=f+u(p,I,d,l,h,c,m)}while(Math.abs(T-A)>a.EPSILON12);var O=d*(t*t-r*r)/(r*r),R=1+O*(4096+O*(O*(320-175*O)-768))/16384,L=O*(256+O*(O*(74-47*O)-128))/1024,N=m*m,B=L*h*(m+L*(c*(2*N-1)-L*m*(4*h*h-3)*(4*N-3)/6)/4),z=r*R*(l-B),F=Math.atan2(C*D,E-b*P),V=Math.atan2(_*D,E*P-b);e._distance=z,e._startHeading=F,e._endHeading=V,e._uSquared=O}function h(r,i,n,o){e.normalize(o.cartographicToCartesian(i,m),d),e.normalize(o.cartographicToCartesian(n,m),m),c(r,o.maximumRadius,o.minimumRadius,i.longitude,i.latitude,n.longitude,n.latitude),i.height=0,n.height=0,r._start=t.clone(i,r._start),r._end=t.clone(n,r._end),s(r)}var d=new e,m=new e,p=function(e,n,a){var s=r(a,o.WGS84);this._ellipsoid=s,this._start=new t,this._end=new t,this._constants={},this._startHeading=void 0,this._endHeading=void 0,this._distance=void 0,this._uSquared=void 0,i(e)&&i(n)&&h(this,e,n,s)};return p.prototype.getSurfaceDistance=function(){return this._distance},p.prototype.setEndPoints=function(e,t){h(this,e,t,this._ellipsoid)},p.prototype.getStart=function(){return this._start},p.prototype.getEnd=function(){return this._end},p.prototype.getStartHeading=function(){return this._startHeading},p.prototype.getEndHeading=function(){return this._endHeading},p.prototype.interpolateUsingFraction=function(e,t){return this.interpolateUsingSurfaceDistance(this._distance*e,t)},p.prototype.interpolateUsingSurfaceDistance=function(e,r){var n=this._constants,o=n.distanceRatio+e/n.b,a=Math.cos(2*o),s=Math.cos(4*o),l=Math.cos(6*o),c=Math.sin(2*o),h=Math.sin(4*o),d=Math.sin(6*o),m=Math.sin(8*o),p=o*o,f=o*p,v=n.u8Over256,g=n.u2Over4,_=n.u6Over64,y=n.u4Over16,C=2*f*v*a/3+o*(1-g+7*y/4-15*_/4+579*v/64-(y-15*_/4+187*v/16)*a-(5*_/4-115*v/16)*s-29*v*l/16)+(g/2-y+71*_/32-85*v/16)*c+(5*y/16-5*_/4+383*v/96)*h-p*((_-11*v/2)*c+5*v*h/2)+(29*_/96-29*v/16)*d+539*v*m/1536,S=Math.asin(Math.sin(C)*n.cosineAlpha),w=Math.atan(n.a/n.b*Math.tan(S));C-=n.sigma;var E=Math.cos(2*n.sigma+C),x=Math.sin(C),b=Math.cos(C),T=n.cosineU*b,A=n.sineU*x,P=Math.atan2(x*n.sineHeading,T-A*n.cosineHeading),D=P-u(n.f,n.sineAlpha,n.cosineSquaredAlpha,C,x,b,E);return i(r)?(r.longitude=this._start.longitude+D,r.latitude=w,r.height=0,r):new t(this._start.longitude+D,w,0)},p}),r("Core/PolylinePipeline",["./Cartesian3","./Cartographic","./defaultValue","./defined","./DeveloperError","./Ellipsoid","./EllipsoidGeodesic","./IntersectionTests","./isArray","./Math","./Matrix4","./Plane"],function(e,t,r,i,n,o,a,s,l,u,c,h){"use strict";function d(t,r,i,n){var o=n.scaleToGeodeticSurface(t,T),a=n.scaleToGeodeticSurface(r,A),s=e.angleBetween(o,a),l=Math.ceil(s/i),u=new Array(3*l),c=n.cartesianToCartographic(o,E),h=n.cartesianToCartographic(a,x);P.setEndPoints(c,h);var d=P.getSurfaceDistance()/l,m=0;c.height=0;var p=n.cartographicToCartesian(c,b);u[m++]=p.x,u[m++]=p.y,u[m++]=p.z;for(var f=1;l>f;f++){var v=P.interpolateUsingSurfaceDistance(f*d,x);p=n.cartographicToCartesian(v,b),u[m++]=p.x,u[m++]=p.y,u[m++]=p.z}return u}function m(t,r,i){var n=D;return i.geodeticSurfaceNormal(t,n),e.multiplyByScalar(n,r,n),e.add(t,n,t),t}var p={},f=new c,v=new e,g=new e,_=new h(e.ZERO,0),y=new e,C=new h(e.ZERO,0),S=new e,w=new e,E=new t,x=new t,b=new e,T=new e,A=new e,P=new a,D=new e,M=new e;return p.wrapLongitude=function(t,n){var o=[],a=[];if(i(t)&&t.length>0){n=r(n,c.IDENTITY);var l=c.inverseTransformation(n,f),u=c.multiplyByPoint(l,e.ZERO,v),d=c.multiplyByPointAsVector(l,e.UNIT_Y,g),m=h.fromPointNormal(u,d,_),p=c.multiplyByPointAsVector(l,e.UNIT_X,y),E=h.fromPointNormal(u,p,C),x=1;o.push(e.clone(t[0]));for(var b=o[0],T=t.length,A=1;T>A;++A){var P=t[A];if(h.getPointDistance(E,b)<0||h.getPointDistance(E,P)<0){var D=s.lineSegmentPlane(b,P,m,S);if(i(D)){var M=e.multiplyByScalar(d,5e-9,w);h.getPointDistance(m,b)<0&&e.negate(M,M),o.push(e.add(D,M)),a.push(x+1),e.negate(M,M),o.push(e.add(D,M)),x=1}}o.push(e.clone(t[A])),x++,b=P}a.push(x)}return{positions:o,lengths:a}},p.removeDuplicates=function(t){var r=t.length;if(2>r)return t.slice(0);var i=[];i.push(t[0]);for(var n=1;r>n;++n){var o=t[n-1],a=t[n];e.equals(o,a)||i.push(a)}return i},p.scaleToSurface=function(e,t,i){t=r(t,u.RADIANS_PER_DEGREE),i=r(i,o.WGS84);for(var n=e.length,a=[],s=0;n-1>s;s++){var l=e[s],c=e[s+1];a=a.concat(d(l,c,t,i))}var h=e[n-1],m=i.cartesianToCartographic(h,E);m.height=0;var p=i.cartographicToCartesian(m,b);return a.push(p.x,p.y,p.z),a},p.scaleToGeodeticHeight=function(t,a,s,u){s=r(s,o.WGS84);var c,h,d=t.length,p=M;if(i(u)){if(u.length!==t.length)throw new n("result.length must be equal to positions.length");h=u}else h=new Array(t.length);if(0===a){for(c=0;d>c;c+=3)p=s.scaleToGeodeticSurface(e.fromArray(t,c,p),p),h[c]=p.x,h[c+1]=p.y,h[c+2]=p.z;return h}var f;if(l(a)){if(a.length!==d/3)throw new n("height.length must be equal to positions.length");for(c=0;d>c;c+=3)f=a[c/3],p=e.fromArray(t,c,p),p=m(p,f,s),h[c]=p.x,h[c+1]=p.y,h[c+2]=p.z}else for(f=a,c=0;d>c;c+=3)p=e.fromArray(t,c,p),p=m(p,f,s),h[c]=p.x,h[c+1]=p.y,h[c+2]=p.z;return h},p}),r("ThirdParty/Uri",[],function(){function e(t){if(t instanceof e)this.scheme=t.scheme,this.authority=t.authority,this.path=t.path,this.query=t.query,this.fragment=t.fragment;else if(t){var r=i.exec(t);this.scheme=r[1],this.authority=r[2],this.path=r[3],this.query=r[4],this.fragment=r[5]}}function t(e){var t=unescape(e);return o.test(t)?t:e.toUpperCase()}function r(e,t,r,i){return(t||"")+r.toLowerCase()+(i||"")}e.prototype.scheme=null,e.prototype.authority=null,e.prototype.path="",e.prototype.query=null,e.prototype.fragment=null;var i=new RegExp("^(?:([^:/?#]+):)?(?://([^/?#]*))?([^?#]*)(?:\\?([^#]*))?(?:#(.*))?$");e.prototype.getScheme=function(){return this.scheme},e.prototype.getAuthority=function(){return this.authority},e.prototype.getPath=function(){return this.path},e.prototype.getQuery=function(){return this.query},e.prototype.getFragment=function(){return this.fragment},e.prototype.isAbsolute=function(){return!!this.scheme&&!this.fragment},e.prototype.isSameDocumentAs=function(e){return e.scheme==this.scheme&&e.authority==this.authority&&e.path==this.path&&e.query==this.query},e.prototype.equals=function(e){return this.isSameDocumentAs(e)&&e.fragment==this.fragment},e.prototype.normalize=function(){this.removeDotSegments(),this.scheme&&(this.scheme=this.scheme.toLowerCase()),this.authority&&(this.authority=this.authority.replace(a,r).replace(n,t)),this.path&&(this.path=this.path.replace(n,t)),this.query&&(this.query=this.query.replace(n,t)),this.fragment&&(this.fragment=this.fragment.replace(n,t))};var n=/%[0-9a-z]{2}/gi,o=/[a-zA-Z0-9\-\._~]/,a=/(.*@)?([^@:]*)(:.*)?/;return e.prototype.resolve=function(t){var r=new e;return this.scheme?(r.scheme=this.scheme,r.authority=this.authority,r.path=this.path,r.query=this.query):(r.scheme=t.scheme,this.authority?(r.authority=this.authority,r.path=this.path,r.query=this.query):(r.authority=t.authority,""==this.path?(r.path=t.path,r.query=this.query||t.query):("/"==this.path.charAt(0)?(r.path=this.path,r.removeDotSegments()):(r.path=t.authority&&""==t.path?"/"+this.path:t.path.substring(0,t.path.lastIndexOf("/")+1)+this.path,r.removeDotSegments()),r.query=this.query))),r.fragment=this.fragment,r},e.prototype.removeDotSegments=function(){var e,t=this.path.split("/"),r=[],i=""==t[0];for(i&&t.shift(),""==t[0]?t.shift():null;t.length;)e=t.shift(),".."==e?r.pop():"."!=e&&r.push(e);("."==e||".."==e)&&r.push(""),i&&r.unshift(""),this.path=r.join("/")},e.prototype.toString=function(){var e="";return this.scheme&&(e+=this.scheme+":"),this.authority&&(e+="//"+this.authority),e+=this.path,this.query&&(e+="?"+this.query),this.fragment&&(e+="#"+this.fragment),e},e}),r("Core/buildModuleUrl",["require","./defined","./DeveloperError","../ThirdParty/Uri"],function(e,t,r,i){"use strict";function n(){for(var e=document.getElementsByTagName("script"),t=0,r=e.length;r>t;++t){var i=e[t].getAttribute("src"),n=h.exec(i);if(null!==n)return n[1]}return void 0}function o(){if(t(l))return l;var e;if(e="undefined"!=typeof CESIUM_BASE_URL?CESIUM_BASE_URL:n(),!t(e))throw new r("Unable to determine Cesium base URL automatically, try defining a global variable called CESIUM_BASE_URL.");return l=new i(e).resolve(new i(document.location.href))}function a(t){return e.toUrl("../"+t)}function s(e){return new i(e).resolve(o()).toString()}var l,u,c,h=/((?:.*\/)|^)cesium[\w-]*\.js(?:\W|$)/i,d=function(r){t(u)||(u=t(e.toUrl)?a:s),t(c)||(c=document.createElement("a"));var i=u(r);return c.href=i,c.href=c.href,c.href};return d._cesiumScriptRegex=h,d}),r("Core/Iau2006XysSample",[],function(){"use strict";var e=function(e,t,r){this.x=e,this.y=t,this.s=r};return e}),r("Core/clone",["./defaultValue"],function(e){"use strict";var t=function(r,i){if(null===r||"object"!=typeof r)return r;i=e(i,!1);var n=new r.constructor;for(var o in r)if(r.hasOwnProperty(o)){var a=r[o];i&&(a=t(a,i)),n[o]=a}return n};return t}),r("Core/parseResponseHeaders",[],function(){"use strict";var e=function(e){var t={};if(!e)return t;for(var r=e.split("\r\n"),i=0;i0){var a=n.substring(0,o),s=n.substring(o+2);t[a]=s}}return t};return e}),r("Core/RequestErrorEvent",["./defined","./parseResponseHeaders"],function(e,t){"use strict";var r=function(e,r,i){this.statusCode=e,this.response=r,this.responseHeaders=i,"string"==typeof this.responseHeaders&&(this.responseHeaders=t(this.responseHeaders))};return r.prototype.toString=function(){var t="Request has failed.";return e(this.statusCode)&&(t+=" Status Code: "+this.statusCode),t},r}),function(e){"use strict";e("ThirdParty/when",[],function(){function e(e,r,i,n){return t(e).then(r,i,n)}function t(e){var t,r;return e instanceof i?t=e:s(e)?(r=a(),e.then(function(e){r.resolve(e)},function(e){r.reject(e)},function(e){r.progress(e)}),t=r.promise):t=n(e),t}function r(t){return e(t,o)}function i(e){this.then=e}function n(e){var r=new i(function(r){try{return t(r?r(e):e)}catch(i){return o(i)}});return r}function o(e){var r=new i(function(r,i){try{return i?t(i(e)):o(e)}catch(n){return o(n)}});return r}function a(){function e(e,t,r){return d(e,t,r) +}function r(e){return p(e)}function n(e){return p(o(e))}function s(e){return m(e)}var l,u,c,h,d,m,p;return u=new i(e),l={then:e,resolve:r,reject:n,progress:s,promise:u,resolver:{resolve:r,reject:n,progress:s}},c=[],h=[],d=function(e,t,r){var i,n;return i=a(),n="function"==typeof r?function(e){try{i.progress(r(e))}catch(t){i.progress(t)}}:function(e){i.progress(e)},c.push(function(r){r.then(e,t).then(i.resolve,i.reject,n)}),h.push(n),i.promise},m=function(e){return f(h,e),e},p=function(e){return e=t(e),d=e.then,p=t,m=g,f(c,e),h=c=S,e},l}function s(e){return e&&"function"==typeof e.then}function l(t,r,i,n,o){return v(2,arguments),e(t,function(t){function s(e){f(e)}function l(e){p(e)}var u,c,h,d,m,p,f,v,_,y;if(_=t.length>>>0,u=Math.max(0,Math.min(r,_)),h=[],c=_-u+1,d=[],m=a(),u)for(v=m.progress,f=function(e){d.push(e),--c||(p=f=g,m.reject(d))},p=function(e){h.push(e),--u||(p=f=g,m.resolve(h))},y=0;_>y;++y)y in t&&e(t[y],l,s,v);else m.resolve(h);return m.then(i,n,o)})}function u(e,t,r,i){function n(e){return t?t(e[0]):e[0]}return l(e,1,n,r,i)}function c(e,t,r,i){return v(1,arguments),d(e,_).then(t,r,i)}function h(){return d(arguments,_)}function d(t,r){return e(t,function(t){var i,n,o,s,l,u;if(o=n=t.length>>>0,i=[],u=a(),o)for(s=function(t,n){e(t,r).then(function(e){i[n]=e,--o||u.resolve(i)},u.reject)},l=0;n>l;l++)l in t?s(t[l],l):--o;else u.resolve(i);return u.promise})}function m(t,r){var i=C.call(arguments,1);return e(t,function(t){var n;return n=t.length,i[0]=function(t,i,o){return e(t,function(t){return e(i,function(e){return r(t,e,o,n)})})},y.apply(t,i)})}function p(t,r,i){var n=arguments.length>2;return e(t,function(e){return e=n?i:e,r.resolve(e),e},function(e){return r.reject(e),o(e)},r.progress)}function f(e,t){for(var r,i=0;r=e[i++];)r(t)}function v(e,t){for(var r,i=t.length;i>e;)if(r=t[--i],null!=r&&"function"!=typeof r)throw new Error("arg "+i+" must be a function")}function g(){}function _(e){return e}var y,C,S;return e.defer=a,e.resolve=t,e.reject=r,e.join=h,e.all=c,e.map=d,e.reduce=m,e.any=u,e.some=l,e.chain=p,e.isPromise=s,i.prototype={always:function(e,t){return this.then(e,e,t)},otherwise:function(e){return this.then(S,e)},yield:function(e){return this.then(function(){return e})},spread:function(e){return this.then(function(t){return c(t,function(t){return e.apply(S,t)})})}},C=[].slice,y=[].reduce||function(e){var t,r,i,n,o;if(o=0,t=Object(this),n=t.length>>>0,r=arguments,r.length<=1)for(;;){if(o in t){i=t[o++];break}if(++o>=n)throw new TypeError}else i=r[1];for(;n>o;++o)o in t&&(i=e(i,t[o],o,t));return i},e})}("function"==typeof r&&r.amd?r:function(e){"object"==typeof exports?module.exports=e():this.when=e()}),r("Core/loadWithXhr",["./defined","./defaultValue","./DeveloperError","./RequestErrorEvent","../ThirdParty/when"],function(e,t,r,i,n){"use strict";var o=function(e){e=t(e,t.EMPTY_OBJECT);var r=e.responseType,i=t(e.method,"GET"),a=e.data,s=e.headers;return n(e.url,function(e){var t=n.defer();return o.load(e,r,i,a,s,t),t.promise})};return o.load=function(t,r,n,o,a,s){var l=new XMLHttpRequest;if(l.open(n,t,!0),e(a))for(var u in a)a.hasOwnProperty(u)&&l.setRequestHeader(u,a[u]);e(r)&&(l.responseType=r),l.onload=function(){200===l.status?s.resolve(l.response):s.reject(new i(l.status,l.response,l.getAllResponseHeaders()))},l.onerror=function(){s.reject(new i)},l.send(o)},o.defaultLoad=o.load,o}),r("Core/loadText",["./loadWithXhr"],function(e){"use strict";var t=function(t,r){return e({url:t,headers:r})};return t}),r("Core/loadJson",["./clone","./defined","./loadText","./DeveloperError"],function(e,t,r){"use strict";var i={Accept:"application/json,*/*;q=0.01"},n=function(n,o){return t(o)?t(o.Accept)||(o=e(o),o.Accept=i.Accept):o=i,r(n,o).then(function(e){return JSON.parse(e)})};return n}),r("Core/Iau2006XysData",["./buildModuleUrl","./defaultValue","./defined","./Iau2006XysSample","./JulianDate","./loadJson","./TimeStandard","../ThirdParty/when"],function(e,t,r,i,n,o,a,s){"use strict";function l(e,t,r){var i=h;return i._julianDayNumber=t,i._secondsOfDay=r,e._sampleZeroDateTT.getDaysDifference(i)}function u(t,i){if(t._chunkDownloadsInProgress[i])return t._chunkDownloadsInProgress[i];var n=s.defer();t._chunkDownloadsInProgress[i]=n;var a,l=t._xysFileUrlTemplate;return a=r(l)?l.replace("{0}",i):e("Assets/IAU2006_XYS/IAU2006_XYS_"+i+".json"),s(o(a),function(e){t._chunkDownloadsInProgress[i]=!1;for(var r=t._samples,o=e.samples,a=3*i*t._samplesPerXysFile,s=0,l=o.length;l>s;++s)r[a+s]=o[s];n.resolve()}),n.promise}var c=function(e){e=t(e,t.EMPTY_OBJECT),this._xysFileUrlTemplate=e.xysFileUrlTemplate,this._interpolationOrder=t(e.interpolationOrder,9),this._sampleZeroJulianEphemerisDate=t(e.sampleZeroJulianEphemerisDate,2442396.5),this._sampleZeroDateTT=new n(this._sampleZeroJulianEphemerisDate,0,a.TAI),this._stepSizeDays=t(e.stepSizeDays,1),this._samplesPerXysFile=t(e.samplesPerXysFile,1e3),this._totalSamples=t(e.totalSamples,27426),this._samples=new Array(3*this._totalSamples),this._chunkDownloadsInProgress=[];for(var r=this._interpolationOrder,i=this._denominators=new Array(r+1),o=this._xTable=new Array(r+1),s=Math.pow(this._stepSizeDays,r),l=0;r>=l;++l){i[l]=s,o[l]=l*this._stepSizeDays;for(var u=0;r>=u;++u)u!==l&&(i[l]*=l-u);i[l]=1/i[l]}this._work=new Array(r+1),this._coef=new Array(r+1)},h=new n(0,0,a.TAI);return c.prototype.preload=function(e,t,r,i){var n=l(this,e,t),o=l(this,r,i),a=0|n/this._stepSizeDays-this._interpolationOrder/2;0>a&&(a=0);var c=o/this._stepSizeDays-this._interpolationOrder/2|0+this._interpolationOrder;c>=this._totalSamples&&(c=this._totalSamples-1);for(var h=0|a/this._samplesPerXysFile,d=0|c/this._samplesPerXysFile,m=[],p=h;d>=p;++p)m.push(u(this,p));return s.all(m)},c.prototype.computeXysRadians=function(e,t,n){var o=l(this,e,t);if(0>o)return void 0;var a=0|o/this._stepSizeDays;if(a>=this._totalSamples)return void 0;var s=this._interpolationOrder,c=a-(0|s/2);0>c&&(c=0);var h=c+s;h>=this._totalSamples&&(h=this._totalSamples-1,c=h-s,0>c&&(c=0));var d=!1,m=this._samples;if(r(m[3*c])||(u(this,0|c/this._samplesPerXysFile),d=!0),r(m[3*h])||(u(this,0|h/this._samplesPerXysFile),d=!0),d)return void 0;r(n)?(n.x=0,n.y=0,n.s=0):n=new i(0,0,0);var p,f,v=o-c*this._stepSizeDays,g=this._work,_=this._denominators,y=this._coef,C=this._xTable;for(p=0;s>=p;++p)g[p]=v-C[p];for(p=0;s>=p;++p){for(y[p]=1,f=0;s>=f;++f)f!==p&&(y[p]*=g[f]);y[p]*=_[p];var S=3*(c+p);n.x+=y[p]*m[S++],n.y+=y[p]*m[S++],n.s+=y[p]*m[S]}return n},c}),r("Core/EarthOrientationParametersSample",[],function(){"use strict";var e=function(e,t,r,i,n){this.xPoleWander=e,this.yPoleWander=t,this.xPoleOffset=r,this.yPoleOffset=i,this.ut1MinusUtc=n};return e}),r("Core/EarthOrientationParameters",["./binarySearch","./defaultValue","./defined","./EarthOrientationParametersSample","./freezeObject","./loadJson","./JulianDate","./LeapSecond","./RuntimeError","./TimeConstants","./TimeStandard","../ThirdParty/when"],function(e,t,r,i,n,o,a,s,l,u,c,h){"use strict";function d(e,t){return a.compare(e.julianDate,t)}function m(t,i){if(!r(i.columnNames))return t._dataError="Error in loaded EOP data: The columnNames property is required.",void 0;if(!r(i.samples))return t._dataError="Error in loaded EOP data: The samples property is required.",void 0;var n=i.columnNames.indexOf("modifiedJulianDateUtc"),o=i.columnNames.indexOf("xPoleWanderRadians"),l=i.columnNames.indexOf("yPoleWanderRadians"),h=i.columnNames.indexOf("ut1MinusUtcSeconds"),m=i.columnNames.indexOf("xCelestialPoleOffsetRadians"),p=i.columnNames.indexOf("yCelestialPoleOffsetRadians"),f=i.columnNames.indexOf("taiMinusUtcSeconds");if(0>n||0>o||0>l||0>h||0>m||0>p||0>f)return t._dataError="Error in loaded EOP data: The columnNames property must include modifiedJulianDateUtc, xPoleWanderRadians, yPoleWanderRadians, ut1MinusUtcSeconds, xCelestialPoleOffsetRadians, yCelestialPoleOffsetRadians, and taiMinusUtcSeconds columns",void 0;var v=t._samples=i.samples,g=t._dates=[];t._dateColumn=n,t._xPoleWanderRadiansColumn=o,t._yPoleWanderRadiansColumn=l,t._ut1MinusUtcSecondsColumn=h,t._xCelestialPoleOffsetRadiansColumn=m,t._yCelestialPoleOffsetRadiansColumn=p,t._taiMinusUtcSecondsColumn=f,t._columnCount=i.columnNames.length,t._lastIndex=void 0;for(var _,y=t._addNewLeapSeconds,C=0,S=v.length;S>C;C+=t._columnCount){var w=v[C+n],E=v[C+f],x=w+u.MODIFIED_JULIAN_DATE_DIFFERENCE,b=new a(x,E,c.TAI);if(g.push(b),y){if(E!==_&&r(_)){var T=s.getLeapSeconds(),A=e(T,b,d);if(0>A){var P=new s(b,E);T.splice(~A,0,P)}}_=E}}}function p(e,t,r,i,n){var o=r*i;n.xPoleWander=t[o+e._xPoleWanderRadiansColumn],n.yPoleWander=t[o+e._yPoleWanderRadiansColumn],n.xPoleOffset=t[o+e._xCelestialPoleOffsetRadiansColumn],n.yPoleOffset=t[o+e._yCelestialPoleOffsetRadiansColumn],n.ut1MinusUtc=t[o+e._ut1MinusUtcSecondsColumn]}function f(e,t,r){return t+e*(r-t)}function v(e,t,r,i,n,o,a){var s=e._columnCount;if(o>t.length-1)return a.xPoleWander=0,a.yPoleWander=0,a.xPoleOffset=0,a.yPoleOffset=0,a.ut1MinusUtc=0,a;var l=t[n],u=t[o];if(l.equals(u)||i.equals(l))return p(e,r,n,s,a),a;if(i.equals(u))return p(e,r,o,s,a),a;var c=l.getSecondsDifference(i)/l.getSecondsDifference(u),h=n*s,d=o*s,m=r[h+e._ut1MinusUtcSecondsColumn],v=r[d+e._ut1MinusUtcSecondsColumn],g=v-m;if(g>.5||-.5>g){var _=r[h+e._taiMinusUtcSecondsColumn],y=r[d+e._taiMinusUtcSecondsColumn];_!==y&&(u.equals(i)?m=v:v-=y-_)}return a.xPoleWander=f(c,r[h+e._xPoleWanderRadiansColumn],r[d+e._xPoleWanderRadiansColumn]),a.yPoleWander=f(c,r[h+e._yPoleWanderRadiansColumn],r[d+e._yPoleWanderRadiansColumn]),a.xPoleOffset=f(c,r[h+e._xCelestialPoleOffsetRadiansColumn],r[d+e._xCelestialPoleOffsetRadiansColumn]),a.yPoleOffset=f(c,r[h+e._yCelestialPoleOffsetRadiansColumn],r[d+e._yCelestialPoleOffsetRadiansColumn]),a.ut1MinusUtc=f(c,m,v),a}var g=function(e){if(e=t(e,t.EMPTY_OBJECT),this._dates=void 0,this._samples=void 0,this._dateColumn=-1,this._xPoleWanderRadiansColumn=-1,this._yPoleWanderRadiansColumn=-1,this._ut1MinusUtcSecondsColumn=-1,this._xCelestialPoleOffsetRadiansColumn=-1,this._yCelestialPoleOffsetRadiansColumn=-1,this._taiMinusUtcSecondsColumn=-1,this._columnCount=0,this._lastIndex=-1,this._downloadPromise=void 0,this._dataError=void 0,this._addNewLeapSeconds=t(e.addNewLeapSeconds,!0),r(e.data))m(this,e.data);else if(r(e.url)){var i=this;this._downloadPromise=h(o(e.url),function(e){m(i,e)},function(){i._dataError="An error occurred while retrieving the EOP data from the URL "+e.url+"."})}else m(this,{columnNames:["dateIso8601","modifiedJulianDateUtc","xPoleWanderRadians","yPoleWanderRadians","ut1MinusUtcSeconds","lengthOfDayCorrectionSeconds","xCelestialPoleOffsetRadians","yCelestialPoleOffsetRadians","taiMinusUtcSeconds"],samples:[]})};return g.NONE=n({getPromiseToLoad:function(){return h()},compute:function(e,t){return r(t)?(t.xPoleWander=0,t.yPoleWander=0,t.xPoleOffset=0,t.yPoleOffset=0,t.ut1MinusUtc=0):t=new i(0,0,0,0,0),t}}),g.prototype.getPromiseToLoad=function(){return h(this._downloadPromise)},g.prototype.compute=function(t,n){if(!r(this._samples)){if(r(this._dataError))throw new l(this._dataError);return void 0}if(r(n)||(n=new i(0,0,0,0,0)),0===this._samples.length)return n.xPoleWander=0,n.yPoleWander=0,n.xPoleOffset=0,n.yPoleOffset=0,n.ut1MinusUtc=0,n;var o=this._dates,s=this._lastIndex,u=0,c=0;if(r(s)){var h=o[s],d=o[s+1],m=h.lessThanOrEquals(t),p=!r(d),f=p||d.greaterThanOrEquals(t);if(m&&f)return u=s,!p&&d.equals(t)&&++u,c=u+1,v(this,o,this._samples,t,u,c,n),n}var g=e(o,t,a.compare,this._dateColumn);return g>=0?(gu&&(u=0)),this._lastIndex=u,v(this,o,this._samples,t,u,c,n),n},g}),r("Core/Transforms",["./defaultValue","./defined","./DeveloperError","./Iau2006XysData","./Iau2006XysSample","./Math","./Matrix3","./Matrix4","./Cartesian2","./Cartesian3","./Cartesian4","./TimeConstants","./Ellipsoid","./EarthOrientationParameters","./EarthOrientationParametersSample","../ThirdParty/when"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f){"use strict";var v={},g=new u,_=new u,y=new u;v.eastNorthUpToFixedFrame=function(r,i,n){if(o.equalsEpsilon(r.x,0,o.EPSILON14)&&o.equalsEpsilon(r.y,0,o.EPSILON14)){var a=o.sign(r.z);return t(n)?(n[0]=0,n[1]=1,n[2]=0,n[3]=0,n[4]=-a,n[5]=0,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[10]=a,n[11]=0,n[12]=r.x,n[13]=r.y,n[14]=r.z,n[15]=1,n):new s(0,-a,0,r.x,1,0,0,r.y,0,0,a,r.z,0,0,0,1)}var l=g,c=_,h=y;return i=e(i,d.WGS84),i.geodeticSurfaceNormal(r,l),c.x=-r.y,c.y=r.x,c.z=0,u.normalize(c,c),u.cross(l,c,h),t(n)?(n[0]=c.x,n[1]=c.y,n[2]=c.z,n[3]=0,n[4]=h.x,n[5]=h.y,n[6]=h.z,n[7]=0,n[8]=l.x,n[9]=l.y,n[10]=l.z,n[11]=0,n[12]=r.x,n[13]=r.y,n[14]=r.z,n[15]=1,n):new s(c.x,h.x,l.x,r.x,c.y,h.y,l.y,r.y,c.z,h.z,l.z,r.z,0,0,0,1)};var C=new u,S=new u,w=new u;v.northEastDownToFixedFrame=function(r,i,n){if(o.equalsEpsilon(r.x,0,o.EPSILON14)&&o.equalsEpsilon(r.y,0,o.EPSILON14)){var a=o.sign(r.z);return t(n)?(n[0]=-a,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=1,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[10]=-a,n[11]=0,n[12]=r.x,n[13]=r.y,n[14]=r.z,n[15]=1,n):new s(-a,0,0,r.x,0,1,0,r.y,0,0,-a,r.z,0,0,0,1)}var l=C,c=S,h=w;return i=e(i,d.WGS84),i.geodeticSurfaceNormal(r,l),c.x=-r.y,c.y=r.x,c.z=0,u.normalize(c,c),u.cross(l,c,h),t(n)?(n[0]=h.x,n[1]=h.y,n[2]=h.z,n[3]=0,n[4]=c.x,n[5]=c.y,n[6]=c.z,n[7]=0,n[8]=-l.x,n[9]=-l.y,n[10]=-l.z,n[11]=0,n[12]=r.x,n[13]=r.y,n[14]=r.z,n[15]=1,n):new s(h.x,c.x,-l.x,r.x,h.y,c.y,-l.y,r.y,h.z,c.z,-l.z,r.z,0,0,0,1)};var E=24110.54841,x=8640184.812866,b=.093104,T=-62e-7,A=1.1772758384668e-19,P=72921158553e-15,D=o.TWO_PI/86400;v.computeTemeToPseudoFixedMatrix=function(e,r){var i,n=e.addSeconds(-e.getTaiMinusUtc()),s=n.getJulianDayNumber(),l=n.getSecondsOfDay(),u=s-2451545;i=l>=43200?(u+.5)/h.DAYS_PER_JULIAN_CENTURY:(u-.5)/h.DAYS_PER_JULIAN_CENTURY;var c=E+i*(x+i*(b+i*T)),d=c*D%o.TWO_PI,m=P+A*(s-2451545.5),p=(l+.5*h.SECONDS_PER_DAY)%h.SECONDS_PER_DAY,f=d+m*p,v=Math.cos(f),g=Math.sin(f);return t(r)?(r[0]=v,r[1]=-g,r[2]=0,r[3]=g,r[4]=v,r[5]=0,r[6]=0,r[7]=0,r[8]=1,r):new a(v,g,0,-g,v,0,0,0,1)},v.iau2006XysData=new i,v.earthOrientationParameters=m.NONE;var M=32.184,I=2451545;v.preloadIcrfFixed=function(e){var t=e.start.getJulianDayNumber(),r=e.start.getSecondsOfDay()+M,i=e.stop.getJulianDayNumber(),n=e.stop.getSecondsOfDay()+M,o=v.iau2006XysData.preload(t,r,i,n),a=v.earthOrientationParameters.getPromiseToLoad();return f.all([o,a])},v.computeIcrfToFixedMatrix=function(e,r){var i=v.computeFixedToIcrfMatrix(e,r);return t(i)?a.transpose(i,r):void 0};var O=new n(0,0,0),R=new p(0,0,0,0,0,0),L=new a,N=new a;v.computeFixedToIcrfMatrix=function(e,r){var i=v.earthOrientationParameters.compute(e,R);if(!t(i))return void 0;var n=e.getJulianDayNumber(),s=e.getSecondsOfDay()+M,l=v.iau2006XysData.computeXysRadians(n,s,O);if(!t(l))return void 0;var u=l.x+i.xPoleOffset,c=l.y+i.yPoleOffset,d=1/(1+Math.sqrt(1-u*u-c*c)),m=L;m[0]=1-d*u*u,m[3]=-d*u*c,m[6]=u,m[1]=-d*u*c,m[4]=1-d*c*c,m[7]=c,m[2]=-u,m[5]=-c,m[8]=1-d*(u*u+c*c);var p=a.fromRotationZ(-l.s,N),f=a.multiply(m,p,L),g=e.getJulianDayNumber(),_=e.getSecondsOfDay()-e.getTaiMinusUtc()+i.ut1MinusUtc,y=g-2451545,C=_/h.SECONDS_PER_DAY,S=.779057273264+C+.00273781191135448*(y+C);S=S%1*o.TWO_PI;var w=a.fromRotationZ(S,N),E=a.multiply(f,w,L),x=Math.cos(i.xPoleWander),b=Math.cos(i.yPoleWander),T=Math.sin(i.xPoleWander),A=Math.sin(i.yPoleWander),P=n-I+s/h.SECONDS_PER_DAY;P/=36525;var D=-47e-6*P*o.RADIANS_PER_DEGREE/3600,B=Math.cos(D),z=Math.sin(D),F=N;return F[0]=x*B,F[1]=x*z,F[2]=T,F[3]=-b*z+A*T*B,F[4]=b*B+A*T*z,F[5]=-A*x,F[6]=-A*z-b*T*B,F[7]=A*B-b*T*z,F[8]=b*x,a.multiply(E,F,r)};var B=new c;return v.pointToWindowCoordinates=function(e,t,r,i){var n=B;return s.multiplyByVector(e,c.fromElements(r.x,r.y,r.z,1,n),n),c.multiplyByScalar(n,1/n.w,n),s.multiplyByVector(t,n,n),l.fromCartesian4(n,i)},v}),r("Core/Ray",["./DeveloperError","./defaultValue","./Cartesian3"],function(e,t,r){"use strict";var i=function(e,i){i=r.clone(t(i,r.ZERO)),r.equals(i,r.ZERO)||r.normalize(i,i),this.origin=r.clone(t(e,r.ZERO)),this.direction=i};return i.prototype.getPoint=function(e,t){return t=r.multiplyByScalar(this.direction,e,t),r.add(this.origin,t,t)},i}),r("Core/EllipsoidTangentPlane",["./defaultValue","./defined","./defineProperties","./DeveloperError","./Transforms","./AxisAlignedBoundingBox","./IntersectionTests","./Cartesian2","./Cartesian3","./Ellipsoid","./Matrix4","./Ray","./Plane"],function(e,t,r,i,n,o,a,s,l,u,c,h,d){"use strict";var m=function(t,r){r=e(r,u.WGS84),t=r.scaleToGeodeticSurface(t);var i=n.eastNorthUpToFixedFrame(t,r);this._ellipsoid=r,this._origin=l.clone(t),this._xAxis=l.fromCartesian4(c.getColumn(i,0)),this._yAxis=l.fromCartesian4(c.getColumn(i,1));var o=l.fromCartesian4(c.getColumn(i,2));this._plane=d.fromPointNormal(t,o)};r(m.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},origin:{get:function(){return this._origin}}});var p=new o;m.fromPoints=function(e,t){var r=o.fromPoints(e,p);return new m(r.center,t)};var f=new h,v=new l;m.prototype.projectPointOntoPlane=function(e,r){var i=f;i.origin=e,l.normalize(e,i.direction);var n=a.rayPlane(i,this._plane,v);if(t(n)||(l.negate(i.direction,i.direction),n=a.rayPlane(i,this._plane,v)),t(n)){var o=l.subtract(n,this._origin,n),u=l.dot(this._xAxis,o),c=l.dot(this._yAxis,o);return t(r)?(r.x=u,r.y=c,r):new s(u,c)}return void 0},m.prototype.projectPointsOntoPlane=function(e,r){t(r)||(r=[]);for(var i=0,n=e.length,o=0;n>o;o++){var a=this.projectPointOntoPlane(e[o],r[i]);t(a)&&(r[i]=a,i++)}return r.length=i,r};var g=new l;return m.prototype.projectPointsOntoEllipsoid=function(e,r){var i=e.length;t(r)?r.length=i:r=new Array(i);for(var n=this._ellipsoid,o=this._origin,a=this._xAxis,s=this._yAxis,u=g,c=0;i>c;++c){var h=e[c];l.multiplyByScalar(a,h.x,u);var d=r[c]=l.add(o,u,r[c]);l.multiplyByScalar(s,h.y,u),l.add(d,u,d),n.scaleToGeocentricSurface(d,d)}return r},m}),r("Core/PolylineVolumeGeometryLibrary",["./Cartesian2","./Cartesian3","./Cartesian4","./Cartographic","./CornerType","./EllipsoidTangentPlane","./Math","./Matrix3","./Matrix4","./PolylinePipeline","./Quaternion","./Transforms"],function(e,t,r,i,n,o,a,s,l,u,c,h){"use strict";function d(e,t){for(var r=new Array(e.length),i=0;io;o++)c[o]=r;return c.push(i),c}var h=i-r,d=h/u;for(o=1;u>o;o++){var m=r+o*d;c[o]=m}return c[0]=r,c.push(i),c}function p(r,i,n,a){var s=new o(n,a),l=s.projectPointOntoPlane(t.add(n,r,Y),Y),u=s.projectPointOntoPlane(t.add(n,i,X),X),c=e.angleBetween(l,u);return u.x*l.y-u.y*l.x>=0?-c:c}function f(e,r,i,n,o,a,u,c){var d=k,m=U;B=h.eastNorthUpToFixedFrame(e,o,B),d=l.multiplyByPointAsVector(B,N,d),d=t.normalize(d,d);var f=p(d,r,e,o);F=s.fromRotationZ(f,F),W.z=a,B=l.multiplyTransformation(B,l.fromRotationTranslation(F,W,z),B);var v=V;v[0]=u;for(var g=0;c>g;g++)for(var _=0;_l;l++){s=e[l];var u=s.x-o,c=s.y-a;i[n++]=u,i[n++]=0,i[n++]=c,i[n++]=u,i[n++]=0,i[n++]=c}return s=e[0],i[n++]=s.x-o,i[n++]=0,i[n++]=s.y-a,i}function _(e,t){for(var r=e.length,i=new Array(3*r),n=0,o=t.x+t.width/2,a=t.y+t.height/2,s=0;r>s;s++)i[n++]=e[s].x-o,i[n++]=0,i[n++]=e[s].y-a;return i}function y(e,r,i,o,l,u,h,d,m,p){var v,g=t.angleBetween(t.subtract(r,e,I),t.subtract(i,e,O)),_=o.value===n.BEVELED.value?0:Math.ceil(g/a.toRadians(5));v=l?s.fromQuaternion(c.fromAxisAngle(t.negate(e,I),g/(_+1),H),q):s.fromQuaternion(c.fromAxisAngle(e,g/(_+1),H),q);var y,C;if(r=t.clone(r,j),_>0)for(var S=p?2:1,w=0;_>w;w++)r=s.multiplyByVector(v,r,r),y=t.subtract(r,e,I),y=t.normalize(y,y),l||(y=t.negate(y,y)),C=u.scaleToGeodeticSurface(r,O),h=f(C,y,d,h,u,m,1,S);else y=t.subtract(r,e,I),y=t.normalize(y,y),l||(y=t.negate(y,y)),C=u.scaleToGeodeticSurface(r,O),h=f(C,y,d,h,u,m,1,1),i=t.clone(i,j),y=t.subtract(i,e,I),y=t.normalize(y,y),l||(y=t.negate(y,y)),C=u.scaleToGeodeticSurface(i,O),h=f(C,y,d,h,u,m,1,1);return h}function C(e,t){return a.equalsEpsilon(e.latitude,t.latitude,a.EPSILON6)&&a.equalsEpsilon(e.longitude,t.longitude,a.EPSILON6)}var S=[new t,new t],w=new t,E=new t,x=new t,b=new t,T=new t,A=new t,P=new t,D=new t,M=new t,I=new t,O=new t,R={},L=new i,N=new t(-1,0,0),B=new l,z=new l,F=new s,V=s.IDENTITY.clone(),k=new t,U=new r,W=new t,G=new t,H=new c,j=new t,q=new s;R.removeDuplicatesFromShape=function(t){for(var r=t.length,i=[],n=r-1,o=0;r>o;n=o++){var a=t[n],s=t[o];e.equals(a,s)||i.push(s)}return i};var Y=new t,X=new t;R.angleIsGreaterThanPi=function(e,r,i,n){var a=new o(i,n),s=a.projectPointOntoPlane(t.add(i,e,Y),Y),l=a.projectPointOntoPlane(t.add(i,r,X),X);return l.x*s.y-l.y*s.x>=0};var Z=new i,J=new i;return R.removeDuplicatesFromPositions=function(e,t){var r=e.length;if(2>r)return e.slice(0);var i=[];i.push(e[0]);for(var n=1;r>n;++n){var o=e[n-1],a=e[n],s=t.cartesianToCartographic(o,Z),l=t.cartesianToCartographic(a,J);C(s,l)||i.push(a)}return i},R.computePositions=function(e,r,i,o,s){var l=o._ellipsoid,c=d(e,l),h=o._granularity,p=o._cornerType,C=s?g(r,i):_(r,i),O=s?_(r,i):void 0,L=i.height/2,N=i.width/2,B=e.length,z=[],F=s?[]:void 0,V=w,k=E,U=x,W=b,G=T,H=A,j=P,q=D,Y=M,X=e[0],Z=e[1];W=l.geodeticSurfaceNormal(X,W),V=t.subtract(Z,X,V),V=t.normalize(V,V),q=t.cross(W,V,q),q=t.normalize(q,q);var J=c[0],Q=c[1];s&&(F=f(X,q,O,F,l,J+L,1,1)),Y=t.clone(X,Y),X=Z,k=t.negate(V,k);for(var K,$,et=1;B-1>et;et++){var tt=s?2:1;Z=e[et+1],V=t.subtract(Z,X,V),V=t.normalize(V,V),U=t.add(V,k,U),U=t.normalize(U,U),W=l.geodeticSurfaceNormal(X,W);var rt=!t.equalsEpsilon(t.negate(U,I),W,a.EPSILON2);if(rt){U=t.cross(U,W,U),U=t.cross(W,U,U),U=t.normalize(U,U);var it=1/Math.max(.25,t.magnitude(t.cross(U,k,I))),nt=R.angleIsGreaterThanPi(V,k,X,l);nt?(G=t.add(X,t.multiplyByScalar(U,it*N,U),G),H=t.add(G,t.multiplyByScalar(q,N,H),H),S[0]=t.clone(Y,S[0]),S[1]=t.clone(H,S[1]),K=m(S,J+L,Q+L,h),$=u.scaleToSurface(S),z=v($,q,C,z,l,K,1),q=t.cross(W,V,q),q=t.normalize(q,q),j=t.add(G,t.multiplyByScalar(q,N,j),j),p.value===n.ROUNDED.value||p.value===n.BEVELED.value?y(G,H,j,p,nt,l,z,C,Q+L,s):(U=t.negate(U,U),z=f(X,U,C,z,l,Q+L,it,tt)),Y=t.clone(j,Y)):(G=t.add(X,t.multiplyByScalar(U,it*N,U),G),H=t.add(G,t.multiplyByScalar(q,-N,H),H),S[0]=t.clone(Y,S[0]),S[1]=t.clone(H,S[1]),K=m(S,J+L,Q+L,h),$=u.scaleToSurface(S,h,l),z=v($,q,C,z,l,K,1),q=t.cross(W,V,q),q=t.normalize(q,q),j=t.add(G,t.multiplyByScalar(q,-N,j),j),p.value===n.ROUNDED.value||p.value===n.BEVELED.value?y(G,H,j,p,nt,l,z,C,Q+L,s):z=f(X,U,C,z,l,Q+L,it,tt),Y=t.clone(j,Y)),k=t.negate(V,k)}else z=f(Y,q,C,z,l,J+L,1,1),Y=X;J=Q,Q=c[et+1],X=Z}S[0]=t.clone(Y,S[0]),S[1]=t.clone(X,S[1]),K=m(S,J+L,Q+L,h),$=u.scaleToSurface(S,h,l),z=v($,q,C,z,l,K,1),s&&(F=f(X,q,O,F,l,Q+L,1,1)),B=z.length;var ot=s?B+F.length:B,at=new Float64Array(ot);return at.set(z),s&&at.set(F,B),at},R}),r("Core/CorridorGeometryLibrary",["./defined","./Cartesian3","./CornerType","./PolylinePipeline","./PolylineVolumeGeometryLibrary","./Matrix3","./Quaternion","./Math"],function(e,t,r,i,n,o,a,s){"use strict";function l(e,i,n,l,u){var c=t.angleBetween(t.subtract(i,e,p),t.subtract(n,e,f)),h=l.value===r.BEVELED.value?1:Math.ceil(c/s.toRadians(5))+1,d=3*h,m=new Array(d);m[d-3]=n.x,m[d-2]=n.y,m[d-1]=n.z;var v;v=u?o.fromQuaternion(a.fromAxisAngle(t.negate(e,p),c/h,D),M):o.fromQuaternion(a.fromAxisAngle(e,c/h,D),M);var g=0;i=t.clone(i,p);for(var _=0;h>_;_++)i=o.multiplyByVector(v,i,i),m[g++]=i.x,m[g++]=i.y,m[g++]=i.z;return m}function u(e){var i=y,n=C,o=S,a=e[1];n=t.fromArray(e[1],a.length-3,n),o=t.fromArray(e[0],0,o),i=t.multiplyByScalar(t.add(n,o,i),.5,i);var s=l(i,n,o,r.ROUNDED,!1),u=e.length-1,c=e[u-1];a=e[u],n=t.fromArray(c,c.length-3,n),o=t.fromArray(a,0,o),i=t.multiplyByScalar(t.add(n,o,i),.5,i);var h=l(i,n,o,r.ROUNDED,!1);return[s,h]}function c(e,r,i,n){var o=p;return n?o=t.add(e,r,o):(r=t.negate(r,r),o=t.add(e,r,o)),[o.x,o.y,o.z,i.x,i.y,i.z]}function h(e,r,i,n){for(var o=new Array(e.length),a=new Array(e.length),s=t.multiplyByScalar(r,i,p),l=t.negate(s,f),u=0,c=e.length-1,h=0;hj;j++){D=m.geodeticSurfaceNormal(W,D),G=a[j+1],M=t.normalize(t.subtract(G,W,M),M),R=t.normalize(t.add(M,I,R),R);var X=!t.equalsEpsilon(t.negate(R,p),D,s.EPSILON2);if(X){R=t.cross(R,D,R),R=t.cross(D,R,R);var Z=f/Math.max(.25,t.magnitude(t.cross(R,I,p))),J=n.angleIsGreaterThanPi(M,I,W,m);R=t.multiplyByScalar(R,Z,R),J?(B=t.add(W,R,B),F=t.add(B,t.multiplyByScalar(O,f,F),F),z=t.add(B,t.multiplyByScalar(O,2*f,z),z),_[0]=t.clone(N,_[0]),_[1]=t.clone(F,_[1]),H=i.scaleToSurface(_,o,m),V=h(H,O,f,V),g&&(k.push(O.x,O.y,O.z),U.push(D.x,D.y,D.z)),L=t.clone(z,L),O=t.normalize(t.cross(D,M,O),O),z=t.add(B,t.multiplyByScalar(O,2*f,z),z),N=t.add(B,t.multiplyByScalar(O,f,N),N),v.value===r.ROUNDED.value||v.value===r.BEVELED.value?q.push({leftPositions:l(B,L,z,v,J)}):q.push({leftPositions:c(W,t.negate(R,R),z,J)})):(z=t.add(W,R,z),F=t.add(z,t.negate(t.multiplyByScalar(O,f,F),F),F),B=t.add(z,t.negate(t.multiplyByScalar(O,2*f,B),B),B),_[0]=t.clone(N,_[0]),_[1]=t.clone(F,_[1]),H=i.scaleToSurface(_,o,m),V=h(H,O,f,V),g&&(k.push(O.x,O.y,O.z),U.push(D.x,D.y,D.z)),L=t.clone(B,L),O=t.normalize(t.cross(D,M,O),O),B=t.add(z,t.negate(t.multiplyByScalar(O,2*f,B),B),B),N=t.add(z,t.negate(t.multiplyByScalar(O,f,N),N),N),v.value===r.ROUNDED.value||v.value===r.BEVELED.value?q.push({rightPositions:l(z,L,B,v,J)}):q.push({rightPositions:c(W,R,B,J)})),I=t.negate(M,I)}W=G}D=m.geodeticSurfaceNormal(W,D),_[0]=t.clone(N,_[0]),_[1]=t.clone(W,_[1]),H=i.scaleToSurface(_,o,m),V=h(H,O,f,V),g&&(k.push(O.x,O.y,O.z),U.push(D.x,D.y,D.z));var Q;return v.value===r.ROUNDED.value&&(Q=u(V)),{positions:V,corners:q,lefts:k,normals:U,endPositions:Q}},m}),r("Core/CorridorGeometry",["./defaultValue","./defined","./DeveloperError","./Cartesian3","./CornerType","./CorridorGeometryLibrary","./ComponentDatatype","./Ellipsoid","./Geometry","./IndexDatatype","./Math","./PolylinePipeline","./PrimitiveType","./BoundingSphere","./GeometryAttribute","./GeometryAttributes","./VertexFormat"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f,v){"use strict";function g(e,t,r,n,a,s){var l=e.normals,u=e.tangents,c=e.binormals,h=i.normalize(i.cross(r,t,P),P);s.normal&&o.addAttribute(l,t,n,a),s.binormal&&o.addAttribute(c,r,n,a),s.tangent&&o.addAttribute(u,h,n,a)}function _(e,r,n){var s,l,h,d=e.positions,m=e.corners,v=e.endPositions,_=e.lefts,y=e.normals,C=new f,S=0,T=0,M=0;for(l=0;ll;l++)V=i.fromArray($,3*(J-1-l),V),F=i.fromArray($,3*(J+l),F),o.addAttribute(U,F,q),o.addAttribute(U,V,void 0,Y),g(j,X,Z,q,Y,r),N=q/3,z=N+1,L=(Y-2)/3,B=L-1,Q[K++]=L,Q[K++]=N,Q[K++]=B,Q[K++]=B,Q[K++]=N,Q[K++]=z,q+=3,Y-=3}var et=0,tt=0,rt=d[et++],it=d[et++];U.set(rt,q),U.set(it,Y-it.length+1),Z=i.fromArray(_,tt,Z);var nt,ot;for(h=it.length-3,l=0;h>l;l+=3)nt=n.geodeticSurfaceNormal(i.fromArray(rt,l,P),P),ot=n.geodeticSurfaceNormal(i.fromArray(it,h-l,D),D),X=i.normalize(i.add(nt,ot,X),X),g(j,X,Z,q,Y,r),N=q/3,z=N+1,L=(Y-2)/3,B=L-1,Q[K++]=L,Q[K++]=N,Q[K++]=B,Q[K++]=B,Q[K++]=N,Q[K++]=z,q+=3,Y-=3;for(nt=n.geodeticSurfaceNormal(i.fromArray(rt,h,P),P),ot=n.geodeticSurfaceNormal(i.fromArray(it,h,D),D),X=i.normalize(i.add(nt,ot,X),X),tt+=3,l=0;ll;l++)V=i.fromArray(pt,3*(O-l-1),V),F=i.fromArray(pt,3*l,F),o.addAttribute(U,V,void 0,Y),o.addAttribute(U,F,q),g(j,X,Z,q,Y,r),z=q/3,N=z-1,B=(Y-2)/3,L=B+1,Q[K++]=L,Q[K++]=N,Q[K++]=B,Q[K++]=B,Q[K++]=N,Q[K++]=z,q+=3,Y-=3}if(C.position=new p({componentDatatype:a.DOUBLE,componentsPerAttribute:3,values:U}),r.st){var ft,vt,gt=new Float32Array(2*(k/3)),_t=0;if(R){S/=3,T/=3;var yt=Math.PI/(O+1);vt=1/(S-O+1),ft=1/(T-O+1);var Ct,St=O/2;for(l=St+1;O+1>l;l++)Ct=c.PI_OVER_TWO+yt*l,gt[_t++]=ft*(1+Math.cos(Ct)),gt[_t++]=.5*(1+Math.sin(Ct));for(l=1;T-O+1>l;l++)gt[_t++]=l*ft,gt[_t++]=0;for(l=O;l>St;l--)Ct=c.PI_OVER_TWO-l*yt,gt[_t++]=1-ft*(1+Math.cos(Ct)),gt[_t++]=.5*(1+Math.sin(Ct));for(l=St;l>0;l--)Ct=c.PI_OVER_TWO-yt*l,gt[_t++]=1-vt*(1+Math.cos(Ct)),gt[_t++]=.5*(1+Math.sin(Ct));for(l=S-O;l>0;l--)gt[_t++]=l*vt,gt[_t++]=1;for(l=1;St+1>l;l++)Ct=c.PI_OVER_TWO+yt*l,gt[_t++]=vt*(1+Math.cos(Ct)),gt[_t++]=.5*(1+Math.sin(Ct))}else{for(S/=3,T/=3,vt=1/(S-1),ft=1/(T-1),l=0;T>l;l++)gt[_t++]=l*ft,gt[_t++]=0;for(l=S;l>0;l--)gt[_t++]=(l-1)*vt,gt[_t++]=1}C.st=new p({componentDatatype:a.FLOAT,componentsPerAttribute:2,values:gt})}return r.normal&&(C.normal=new p({componentDatatype:a.FLOAT,componentsPerAttribute:3,values:j.normals})),r.tangent&&(C.tangent=new p({componentDatatype:a.FLOAT,componentsPerAttribute:3,values:j.tangents})),r.binormal&&(C.binormal=new p({componentDatatype:a.FLOAT,componentsPerAttribute:3,values:j.binormals})),{attributes:C,indices:Q}}function y(e,t){if(!(t.normal||t.binormal||t.tangent||t.st))return e;var r,n,a=e.position.values;(t.normal||t.binormal)&&(r=e.normal.values,n=e.binormal.values); +var s,l=e.position.values.length/18,u=3*l,c=2*l,h=2*u;if(t.normal||t.binormal||t.tangent){var d=t.normal?new Float32Array(6*u):void 0,m=t.binormal?new Float32Array(6*u):void 0,p=t.tangent?new Float32Array(6*u):void 0,f=w,v=E,g=x,_=b,y=T,C=A,S=h;for(s=0;u>s;s+=3){var P=S+h;f=i.fromArray(a,s,f),v=i.fromArray(a,s+u,v),g=i.fromArray(a,(s+3)%u,g),v=i.subtract(v,f,v),g=i.subtract(g,f,g),_=i.normalize(i.cross(v,g,_),_),t.normal&&(o.addAttribute(d,_,P),o.addAttribute(d,_,P+3),o.addAttribute(d,_,S),o.addAttribute(d,_,S+3)),(t.tangent||t.binormal)&&(C=i.fromArray(r,s,C),t.binormal&&(o.addAttribute(m,C,P),o.addAttribute(m,C,P+3),o.addAttribute(m,C,S),o.addAttribute(m,C,S+3)),t.tangent&&(y=i.normalize(i.cross(C,_,y),y),o.addAttribute(p,y,P),o.addAttribute(p,y,P+3),o.addAttribute(p,y,S),o.addAttribute(p,y,S+3))),S+=6}if(t.normal){for(d.set(r),s=0;u>s;s+=3)d[s+u]=-r[s],d[s+u+1]=-r[s+1],d[s+u+2]=-r[s+2];e.normal.values=d}else e.normal=void 0;if(t.binormal?(m.set(n),m.set(n,u),e.binormal.values=m):e.binormal=void 0,t.tangent){var D=e.tangent.values;p.set(D),p.set(D,u),e.tangent.values=p}}if(t.st){var M=e.st.values,I=new Float32Array(6*c);I.set(M),I.set(M,c);for(var O=2*c,R=0;2>R;R++){for(I[O++]=M[0],I[O++]=M[1],s=2;c>s;s+=2){var L=M[s],N=M[s+1];I[O++]=L,I[O++]=N,I[O++]=L,I[O++]=N}I[O++]=M[0],I[O++]=M[1]}e.st.values=I}return e}function C(e,t,r){r[t++]=e[0],r[t++]=e[1],r[t++]=e[2];for(var i=3;iw;w+=3){var A=d[w],P=d[w+1],D=d[w+2];b[T++]=D+p,b[T++]=P+p,b[T++]=A+p}c=y(c,t);var M,I,O,R;for(w=0;x>w;w+=2)M=w+x,I=M+x,O=M+1,R=I+1,b[T++]=M,b[T++]=I,b[T++]=O,b[T++]=O,b[T++]=I,b[T++]=R;return{attributes:c,indices:b}}var w=new i,E=new i,x=new i,b=new i,T=new i,A=new i,P=new i,D=new i,M=function(t){t=e(t,e.EMPTY_OBJECT);var r=t.positions,i=t.width;this._positions=r,this._width=i,this._ellipsoid=e(t.ellipsoid,s.WGS84),this._height=e(t.height,0),this._extrudedHeight=e(t.extrudedHeight,this._height),this._cornerType=e(t.cornerType,n.ROUNDED),this._vertexFormat=e(t.vertexFormat,v.DEFAULT),this._granularity=e(t.granularity,c.RADIANS_PER_DEGREE),this._workerName="createCorridorGeometry"};return M.createGeometry=function(e){var t,r=e._positions,i=e._height,n=e._extrudedHeight,a=i!==n,s=h.removeDuplicates(r),u=e._ellipsoid,c=e._vertexFormat,p={ellipsoid:u,positions:s,width:e._width,cornerType:e._cornerType,granularity:e._granularity,saveAttributes:!0};if(a){var f=Math.max(i,n);n=Math.min(i,n),i=f,p.height=i,p.extrudedHeight=n,t=S(p,c)}else{var v=o.computePositions(p);t=_(v,c,u),t.attributes.position.values=h.scaleToGeodeticHeight(t.attributes.position.values,i,u,t.attributes.position.values)}var g=t.attributes,y=m.fromVertices(g.position.values,void 0,3);return c.position||(t.attributes.position.values=void 0),new l({attributes:g,indices:t.indices,primitiveType:d.TRIANGLES,boundingSphere:y})},M}),r("Core/CorridorOutlineGeometry",["./BoundingSphere","./Cartesian3","./ComponentDatatype","./CornerType","./CorridorGeometryLibrary","./defaultValue","./defined","./DeveloperError","./Ellipsoid","./Geometry","./GeometryAttribute","./GeometryAttributes","./IndexDatatype","./Math","./PolylinePipeline","./PrimitiveType"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f){"use strict";function v(e,o){var s,l,u,m=[],p=e.positions,f=e.corners,v=e.endPositions,g=new h,S=0,w=0,E=0;for(l=0;ll;l++)O=t.fromArray(k,3*(z-1-l),O),I=t.fromArray(k,3*(z+l),I),n.addAttribute(L,I,N),n.addAttribute(L,O,void 0,B),P=N/3,M=P+1,A=(B-2)/3,D=A-1,F[V++]=A,F[V++]=D,F[V++]=P,F[V++]=M,N+=3,B-=3}var U=0,W=p[U++],G=p[U++];for(L.set(W,N),L.set(G,B-G.length+1),u=G.length-3,m.push(N/3,(B-2)/3),l=0;u>l;l+=3)P=N/3,M=P+1,A=(B-2)/3,D=A-1,F[V++]=A,F[V++]=D,F[V++]=P,F[V++]=M,N+=3,B-=3;for(l=0;ll;l++)O=t.fromArray(Z,3*(b-l-1),O),I=t.fromArray(Z,3*l,I),n.addAttribute(L,O,void 0,B),n.addAttribute(L,I,N),M=N/3,P=M-1,D=(B-2)/3,A=D+1,F[V++]=A,F[V++]=D,F[V++]=P,F[V++]=M,N+=3,B-=3;m.push(N/3)}else m.push(N/3,(B-2)/3);return F[V++]=N/3,F[V++]=(B-2)/3,g.position=new c({componentDatatype:r.DOUBLE,componentsPerAttribute:3,values:L}),{attributes:g,indices:F,wallIndices:m}}function g(e){var t=e.ellipsoid,r=n.computePositions(e),i=v(r,e.cornerType),o=i.wallIndices,a=e.height,s=e.extrudedHeight,l=i.attributes,u=i.indices,c=l.position.values,h=c.length,m=new Float64Array(h);m.set(c);var f=new Float64Array(2*h);c=p.scaleToGeodeticHeight(c,a,t,c),m=p.scaleToGeodeticHeight(m,s,t,m),f.set(c),f.set(m,h),l.position.values=f,h/=3;var g,_=u.length,y=d.createTypedArray(f.length/3,2*(_+o.length));y.set(u);var C=_;for(g=0;_>g;g+=2){var S=u[g],w=u[g+1];y[C++]=S+h,y[C++]=w+h}var E,x;for(g=0;ga;a++){var v=a/n*e.TWO_PI,g=Math.cos(v),_=Math.sin(v),y=g*i,C=_*i,S=g*r,w=_*r;h[m+p]=y,h[m+p+1]=C,h[m+p+2]=l,h[m+f]=S,h[m+f+1]=w,h[m+f+2]=s,m+=3,o&&(h[d++]=y,h[d++]=C,h[d++]=l,h[d++]=S,h[d++]=w,h[d++]=s)}return h},t}),r("Core/CylinderGeometry",["./defaultValue","./defined","./DeveloperError","./Cartesian2","./Cartesian3","./CylinderGeometryLibrary","./Math","./ComponentDatatype","./IndexDatatype","./PrimitiveType","./BoundingSphere","./Geometry","./GeometryAttribute","./GeometryAttributes","./VertexFormat"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p){"use strict";var f=new i,v=new n,g=new n,_=new n,y=new n,C=function(t){t=e(t,e.EMPTY_OBJECT);var r=t.length,i=t.topRadius,n=t.bottomRadius,o=e(t.vertexFormat,p.DEFAULT),a=e(t.slices,128);this._length=r,this._topRadius=i,this._bottomRadius=n,this._vertexFormat=o,this._slices=a,this._workerName="createCylinderGeometry"};return C.createGeometry=function(e){var t,r=e._length,p=e._topRadius,C=e._bottomRadius,S=e._vertexFormat,w=e._slices,E=w+w,x=w+E,b=E+E,T=o.computePositions(r,p,C,w,!0),A=S.st?new Float32Array(2*b):void 0,P=S.normal?new Float32Array(3*b):void 0,D=S.tangent?new Float32Array(3*b):void 0,M=S.binormal?new Float32Array(3*b):void 0,I=S.normal||S.tangent||S.binormal;if(I){var O=S.tangent||S.binormal,R=0,L=0,N=0,B=v;B.z=0;var z=_,F=g;for(t=0;w>t;t++){var V=t/w*a.TWO_PI,k=Math.cos(V),U=Math.sin(V);I&&(B.x=k,B.y=U,O&&(z=n.normalize(n.cross(n.UNIT_Z,B,z),z)),S.normal&&(P[R++]=k,P[R++]=U,P[R++]=0,P[R++]=k,P[R++]=U,P[R++]=0),S.tangent&&(D[L++]=z.x,D[L++]=z.y,D[L++]=z.z,D[L++]=z.x,D[L++]=z.y,D[L++]=z.z),S.binormal&&(F=n.normalize(n.cross(B,z,F),F),M[N++]=F.x,M[N++]=F.y,M[N++]=F.z,M[N++]=F.x,M[N++]=F.y,M[N++]=F.z))}for(t=0;w>t;t++)S.normal&&(P[R++]=0,P[R++]=0,P[R++]=-1),S.tangent&&(D[L++]=1,D[L++]=0,D[L++]=0),S.binormal&&(M[N++]=0,M[N++]=-1,M[N++]=0);for(t=0;w>t;t++)S.normal&&(P[R++]=0,P[R++]=0,P[R++]=1),S.tangent&&(D[L++]=1,D[L++]=0,D[L++]=0),S.binormal&&(M[N++]=0,M[N++]=1,M[N++]=0)}var W=12*w-12,G=l.createTypedArray(b,W),H=0,j=0;for(t=0;w-1>t;t++)G[H++]=j,G[H++]=j+2,G[H++]=j+3,G[H++]=j,G[H++]=j+3,G[H++]=j+1,j+=2;for(G[H++]=E-2,G[H++]=0,G[H++]=1,G[H++]=E-2,G[H++]=1,G[H++]=E-1,t=1;w-1>t;t++)G[H++]=E+t+1,G[H++]=E+t,G[H++]=E;for(t=1;w-1>t;t++)G[H++]=x,G[H++]=x+t,G[H++]=x+t+1;var q=0;if(S.st){var Y=Math.max(p,C);for(t=0;b>t;t++){var X=n.fromArray(T,3*t,y);A[q++]=(X.x+Y)/(2*Y),A[q++]=(X.y+Y)/(2*Y)}}var Z=new m;S.position&&(Z.position=new d({componentDatatype:s.DOUBLE,componentsPerAttribute:3,values:T})),S.normal&&(Z.normal=new d({componentDatatype:s.FLOAT,componentsPerAttribute:3,values:P})),S.tangent&&(Z.tangent=new d({componentDatatype:s.FLOAT,componentsPerAttribute:3,values:D})),S.binormal&&(Z.binormal=new d({componentDatatype:s.FLOAT,componentsPerAttribute:3,values:M})),S.st&&(Z.st=new d({componentDatatype:s.FLOAT,componentsPerAttribute:2,values:A})),f.x=.5*r,f.y=Math.max(C,p);var J=new c(n.ZERO,i.magnitude(f));return new h({attributes:Z,indices:G,primitiveType:u.TRIANGLES,boundingSphere:J})},C}),r("Core/CylinderOutlineGeometry",["./BoundingSphere","./Cartesian2","./Cartesian3","./ComponentDatatype","./CylinderGeometryLibrary","./defaultValue","./defined","./DeveloperError","./Geometry","./GeometryAttribute","./GeometryAttributes","./IndexDatatype","./PrimitiveType"],function(e,t,r,i,n,o,a,s,l,u,c,h,d){"use strict";var m=new t,p=function(e){e=o(e,o.EMPTY_OBJECT);var t=e.length,r=e.topRadius,i=e.bottomRadius,n=o(e.slices,128),a=Math.max(o(e.numberOfVerticalLines,16),0);this._length=t,this._topRadius=r,this._bottomRadius=i,this._slices=n,this._numberOfVerticalLines=a,this._workerName="createCylinderOutlineGeometry"};return p.createGeometry=function(o){var a,s=o._length,p=o._topRadius,f=o._bottomRadius,v=o._slices,g=o._numberOfVerticalLines,_=2*v,y=n.computePositions(s,p,f,v,!1),C=2*v;if(g>0){var S=Math.min(g,v);a=Math.round(v/S),C+=S}for(var w=h.createTypedArray(_,2*C),E=0,x=0;v-1>x;x++)w[E++]=x,w[E++]=x+1,w[E++]=x+v,w[E++]=x+1+v;if(w[E++]=v-1,w[E++]=0,w[E++]=v+v-1,w[E++]=v,g>0)for(x=0;v>x;x+=a)w[E++]=x,w[E++]=x+v;var b=new c;b.position=new u({componentDatatype:i.DOUBLE,componentsPerAttribute:3,values:y}),m.x=.5*s,m.y=Math.max(f,p);var T=new e(r.ZERO,t.magnitude(m));return new l({attributes:b,indices:w,primitiveType:d.LINES,boundingSphere:T})},p}),r("Core/DefaultProxy",[],function(){"use strict";var e=function(e){this.proxy=e};return e.prototype.getURL=function(e){return this.proxy+"?"+encodeURIComponent(e)},e}),r("Core/EllipsoidGeometry",["./defaultValue","./DeveloperError","./Cartesian2","./Cartesian3","./Math","./Ellipsoid","./ComponentDatatype","./IndexDatatype","./PrimitiveType","./BoundingSphere","./Geometry","./GeometryAttribute","./GeometryAttributes","./VertexFormat"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m){"use strict";var p=new i,f=new i,v=new i,g=new i,_=new i,y=new i(1,1,1),C=Math.cos,S=Math.sin,w=function(t){t=e(t,e.EMPTY_OBJECT);var r=e(t.radii,y),n=e(t.stackPartitions,64),o=e(t.slicePartitions,64),a=e(t.vertexFormat,m.DEFAULT);this._radii=i.clone(r),this._stackPartitions=n,this._slicePartitions=o,this._vertexFormat=a,this._workerName="createEllipsoidGeometry"};return w.createGeometry=function(e){var t,m,y=e._radii,w=o.fromCartesian3(y),E=e._vertexFormat,x=e._slicePartitions+1,b=e._stackPartitions+1,T=b*x,A=new Float64Array(3*T),P=6*(x-1)*(b-1),D=s.createTypedArray(T,P),M=E.normal?new Float32Array(3*T):void 0,I=E.tangent?new Float32Array(3*T):void 0,O=E.binormal?new Float32Array(3*T):void 0,R=E.st?new Float32Array(2*T):void 0,L=new Array(x),N=new Array(x),B=0;for(t=0;x>t;t++){var z=n.TWO_PI*t/(x-1);L[t]=C(z),N[t]=S(z),A[B++]=0,A[B++]=0,A[B++]=y.z}for(t=1;b-1>t;t++){var F=Math.PI*t/(b-1),V=S(F),k=y.x*V,U=y.y*V,W=y.z*C(F);for(m=0;x>m;m++)A[B++]=L[m]*k,A[B++]=N[m]*U,A[B++]=W}for(t=0;x>t;t++)A[B++]=0,A[B++]=0,A[B++]=-y.z;var G=new d;E.position&&(G.position=new h({componentDatatype:a.DOUBLE,componentsPerAttribute:3,values:A}));var H=0,j=0,q=0,Y=0;if(E.st||E.normal||E.tangent||E.binormal){for(t=0;T>t;t++){var X=i.fromArray(A,3*t,p),Z=w.geodeticSurfaceNormal(X,f);if(E.st){var J=r.negate(Z,_);r.magnitude(J)A.length&&(B=3*(t-x*Math.floor(.5*b))),i.fromArray(A,B,J),w.geodeticSurfaceNormal(J,J),r.negate(J,J)),R[H++]=Math.atan2(J.y,J.x)/n.TWO_PI+.5,R[H++]=Math.asin(Z.z)/Math.PI+.5}if(E.normal&&(M[j++]=Z.x,M[j++]=Z.y,M[j++]=Z.z),E.tangent||E.binormal){var Q=v;if(x>t||t>T-x-1?(i.cross(i.UNIT_X,Z,Q),i.normalize(Q,Q)):(i.cross(i.UNIT_Z,Z,Q),i.normalize(Q,Q)),E.tangent&&(I[q++]=Q.x,I[q++]=Q.y,I[q++]=Q.z),E.binormal){var K=i.cross(Z,Q,g);i.normalize(K,K),O[Y++]=K.x,O[Y++]=K.y,O[Y++]=K.z}}}E.st&&(G.st=new h({componentDatatype:a.FLOAT,componentsPerAttribute:2,values:R})),E.normal&&(G.normal=new h({componentDatatype:a.FLOAT,componentsPerAttribute:3,values:M})),E.tangent&&(G.tangent=new h({componentDatatype:a.FLOAT,componentsPerAttribute:3,values:I})),E.binormal&&(G.binormal=new h({componentDatatype:a.FLOAT,componentsPerAttribute:3,values:O}))}for(B=0,t=0;b>t;t++){var $=t*x,et=(t+1)*x;for(m=0;x-1>m;m++)D[B++]=et+m,D[B++]=et+m+1,D[B++]=$+m+1,D[B++]=et+m,D[B++]=$+m+1,D[B++]=$+m}return new c({attributes:G,indices:D,primitiveType:l.TRIANGLES,boundingSphere:u.fromEllipsoid(w)})},w}),r("Core/EllipsoidOutlineGeometry",["./defaultValue","./DeveloperError","./Cartesian3","./Math","./Ellipsoid","./ComponentDatatype","./IndexDatatype","./PrimitiveType","./BoundingSphere","./Geometry","./GeometryAttribute","./GeometryAttributes"],function(e,t,r,i,n,o,a,s,l,u,c,h){"use strict";var d=new r(1,1,1),m=Math.cos,p=Math.sin,f=function(t){t=e(t,e.EMPTY_OBJECT);var i=e(t.radii,d),n=e(t.stackPartitions,10),o=e(t.slicePartitions,8),a=e(t.subdivisions,128);this._radii=r.clone(i),this._stackPartitions=n,this._slicePartitions=o,this._subdivisions=a,this._workerName="createEllipsoidOutlineGeometry"};return f.createGeometry=function(e){var t,r,d,f,v,g,_=e._radii,y=n.fromCartesian3(_),C=e._stackPartitions,S=e._slicePartitions,w=e._subdivisions,E=w*(C+S-1),x=E-S+2,b=new Float64Array(3*x),T=a.createTypedArray(x,2*E),A=0,P=new Array(w),D=new Array(w);for(t=0;w>t;t++)d=i.TWO_PI*t/w,P[t]=m(d),D[t]=p(d);for(t=1;C>t;t++)for(f=Math.PI*t/C,v=m(f),g=p(f),r=0;w>r;r++)b[A++]=_.x*P[r]*g,b[A++]=_.y*D[r]*g,b[A++]=_.z*v;for(P.length=S,D.length=S,t=0;S>t;t++)d=i.TWO_PI*t/S,P[t]=m(d),D[t]=p(d);for(b[A++]=0,b[A++]=0,b[A++]=_.z,t=1;w>t;t++)for(f=Math.PI*t/w,v=m(f),g=p(f),r=0;S>r;r++)b[A++]=_.x*P[r]*g,b[A++]=_.y*D[r]*g,b[A++]=_.z*v;for(b[A++]=0,b[A++]=0,b[A++]=-_.z,A=0,t=0;C-1>t;++t){var M=t*w;for(r=0;w-1>r;++r)T[A++]=M+r,T[A++]=M+r+1;T[A++]=M+w-1,T[A++]=M}var I=w*(C-1);for(r=1;S+1>r;++r)T[A++]=I,T[A++]=I+r;for(t=0;w-2>t;++t){var O=t*S+1+I,R=(t+1)*S+1+I;for(r=0;S-1>r;++r)T[A++]=R+r,T[A++]=O+r;T[A++]=R+S-1,T[A++]=O+S-1}var L=b.length/3-1;for(r=L-1;r>L-S-1;--r)T[A++]=L,T[A++]=r;var N=new h({position:new c({componentDatatype:o.DOUBLE,componentsPerAttribute:3,values:b})});return new u({attributes:N,indices:T,primitiveType:s.LINES,boundingSphere:l.fromEllipsoid(y)})},f}),r("Core/EllipsoidalOccluder",["./defaultValue","./defined","./defineProperties","./DeveloperError","./Cartesian3","./BoundingSphere"],function(e,t,r,i,n,o){"use strict";function a(e,t,r){var i=e.transformPositionToScaledSpace(t,m),o=n.magnitudeSquared(i),a=Math.sqrt(o),s=n.divideByScalar(i,a,p);o=Math.max(1,o),a=Math.max(1,a);var l=n.dot(s,r),u=n.magnitude(n.cross(s,r)),c=1/a,h=Math.sqrt(o-1)*c;return 1/(l*c-u*h)}function s(e,t,r){return 0>=t||t===1/0||t!==t?void 0:n.multiplyByScalar(e,t,r)}function l(e,t){return e.transformPositionToScaledSpace(t,f),n.normalize(f,f)}var u=function(e,r){this._ellipsoid=e,this._cameraPosition=new n,this._cameraPositionInScaledSpace=new n,this._distanceToLimbInScaledSpaceSquared=0,t(r)&&(this.cameraPosition=r)};r(u.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},cameraPosition:{get:function(){return this._cameraPosition},set:function(e){var t=this._ellipsoid,r=t.transformPositionToScaledSpace(e,this._cameraPositionInScaledSpace),i=n.magnitudeSquared(r)-1;n.clone(e,this._cameraPosition),this._cameraPositionInScaledSpace=r,this._distanceToLimbInScaledSpaceSquared=i}}});var c=new n;u.prototype.isPointVisible=function(e){var t=this._ellipsoid,r=t.transformPositionToScaledSpace(e,c);return this.isScaledSpacePointVisible(r)},u.prototype.isScaledSpacePointVisible=function(e){var t=this._cameraPositionInScaledSpace,r=this._distanceToLimbInScaledSpaceSquared,i=n.subtract(e,t,c),o=-n.dot(i,t),a=o>r&&o*o/n.magnitudeSquared(i)>r;return!a},u.prototype.computeHorizonCullingPoint=function(e,t,r){for(var i=this._ellipsoid,n=l(i,e),o=0,u=0,c=t.length;c>u;++u){var h=t[u],d=a(i,h,n);o=Math.max(o,d)}return s(n,o,r)};var h=new n;u.prototype.computeHorizonCullingPointFromVertices=function(t,r,i,o,u){o=e(o,n.ZERO);for(var c=this._ellipsoid,d=l(c,t),m=0,p=0,f=r.length;f>p;p+=i){h.x=r[p]+o.x,h.y=r[p+1]+o.y,h.z=r[p+2]+o.z;var v=a(c,h,d);m=Math.max(m,v)}return s(d,m,u)};var d=[];u.prototype.computeHorizonCullingPointFromExtent=function(e,t,r){var i=e.subsample(t,0,d),a=o.fromPoints(i);return n.magnitude(a.center)<.1*t.minimumRadius?void 0:this.computeHorizonCullingPoint(a.center,i,r)};var m=new n,p=new n,f=new n;return u}),r("Core/EventHelper",["./defined","./DeveloperError"],function(){"use strict";var e=function(){this._removalFunctions=[]};return e.prototype.add=function(e,t,r){var i=e.addEventListener(t,r);this._removalFunctions.push(i);var n=this;return function(){i();var e=n._removalFunctions;e.splice(e.indexOf(i),1)}},e.prototype.removeAll=function(){for(var e=this._removalFunctions,t=0,r=e.length;r>t;++t)e[t]();e.length=0},e}),r("Core/Extent",["./freezeObject","./defaultValue","./defined","./Ellipsoid","./Cartographic","./DeveloperError","./Math"],function(e,t,r,i,n,o,a){"use strict";var s=function(e,r,i,n){this.west=t(e,0),this.south=t(r,0),this.east=t(i,0),this.north=t(n,0)};s.fromDegrees=function(e,i,n,o,l){return e=a.toRadians(t(e,0)),i=a.toRadians(t(i,0)),n=a.toRadians(t(n,0)),o=a.toRadians(t(o,0)),r(l)?(l.west=e,l.south=i,l.east=n,l.north=o,l):new s(e,i,n,o)},s.fromCartographicArray=function(e,t){for(var i=Number.MAX_VALUE,n=-Number.MAX_VALUE,o=Number.MAX_VALUE,a=-Number.MAX_VALUE,l=0,u=e.length;u>l;l++){var c=e[l];i=Math.min(i,c.longitude),n=Math.max(n,c.longitude),o=Math.min(o,c.latitude),a=Math.max(a,c.latitude)}return r(t)?(t.west=i,t.south=o,t.east=n,t.north=a,t):new s(i,o,n,a)},s.clone=function(e,t){return r(e)?r(t)?(t.west=e.west,t.south=e.south,t.east=e.east,t.north=e.north,t):new s(e.west,e.south,e.east,e.north):void 0},s.prototype.clone=function(e){return s.clone(this,e)},s.prototype.equals=function(e){return s.equals(this,e)},s.equals=function(e,t){return e===t||r(e)&&r(t)&&e.west===t.west&&e.south===t.south&&e.east===t.east&&e.north===t.north},s.prototype.equalsEpsilon=function(e,t){return r(e)&&Math.abs(this.west-e.west)<=t&&Math.abs(this.south-e.south)<=t&&Math.abs(this.east-e.east)<=t&&Math.abs(this.north-e.north)<=t},s.prototype.validate=function(){},s.prototype.getSouthwest=function(e){return r(e)?(e.longitude=this.west,e.latitude=this.south,e.height=0,e):new n(this.west,this.south)},s.prototype.getNorthwest=function(e){return r(e)?(e.longitude=this.west,e.latitude=this.north,e.height=0,e):new n(this.west,this.north)},s.prototype.getNortheast=function(e){return r(e)?(e.longitude=this.east,e.latitude=this.north,e.height=0,e):new n(this.east,this.north)},s.prototype.getSoutheast=function(e){return r(e)?(e.longitude=this.east,e.latitude=this.south,e.height=0,e):new n(this.east,this.south)},s.prototype.getCenter=function(e){return r(e)?(e.longitude=.5*(this.west+this.east),e.latitude=.5*(this.south+this.north),e.height=0,e):new n(.5*(this.west+this.east),.5*(this.south+this.north))},s.prototype.intersectWith=function(e,t){var i=Math.max(this.west,e.west),n=Math.max(this.south,e.south),o=Math.min(this.east,e.east),a=Math.min(this.north,e.north);return r(t)?(t.west=i,t.south=n,t.east=o,t.north=a,t):new s(i,n,o,a)},s.prototype.contains=function(e){return e.longitude>=this.west&&e.longitude<=this.east&&e.latitude>=this.south&&e.latitude<=this.north},s.prototype.isEmpty=function(){return this.west>=this.east||this.south>=this.north};var l=new n;return s.prototype.subsample=function(e,n,o){e=t(e,i.WGS84),n=t(n,0),r(o)||(o=[]);var s=0,u=this.north,c=this.south,h=this.east,d=this.west,m=l;m.height=n,m.longitude=d,m.latitude=u,o[s]=e.cartographicToCartesian(m,o[s]),s++,m.longitude=h,o[s]=e.cartographicToCartesian(m,o[s]),s++,m.latitude=c,o[s]=e.cartographicToCartesian(m,o[s]),s++,m.longitude=d,o[s]=e.cartographicToCartesian(m,o[s]),s++,m.latitude=0>u?u:c>0?c:0;for(var p=1;8>p;++p){var f=-Math.PI+p*a.PI_OVER_TWO;f>d&&h>f&&(m.longitude=f,o[s]=e.cartographicToCartesian(m,o[s]),s++)}return 0===m.latitude&&(m.longitude=d,o[s]=e.cartographicToCartesian(m,o[s]),s++,m.longitude=h,o[s]=e.cartographicToCartesian(m,o[s]),s++),o.length=s,o},s.MAX_VALUE=e(new s(-Math.PI,-a.PI_OVER_TWO,Math.PI,a.PI_OVER_TWO)),s}),r("Core/Matrix2",["./Cartesian2","./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,t,r,i,n){"use strict";var o=function(e,r,i,n){this[0]=t(e,0),this[1]=t(i,0),this[2]=t(r,0),this[3]=t(n,0)};return o.clone=function(e,t){return r(e)?r(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t):new o(e[0],e[2],e[1],e[3]):void 0},o.fromArray=function(e,i,n){return i=t(i,0),r(n)||(n=new o),n[0]=e[i],n[1]=e[i+1],n[2]=e[i+2],n[3]=e[i+3],n},o.fromColumnMajorArray=function(e,t){return o.clone(e,t)},o.fromRowMajorArray=function(e,t){return r(t)?(t[0]=e[0],t[1]=e[2],t[2]=e[1],t[3]=e[3],t):new o(e[0],e[1],e[2],e[3])},o.fromScale=function(e,t){return r(t)?(t[0]=e.x,t[1]=0,t[2]=0,t[3]=e.y,t):new o(e.x,0,0,e.y)},o.fromUniformScale=function(e,t){return r(t)?(t[0]=e,t[1]=0,t[2]=0,t[3]=e,t):new o(e,0,0,e)},o.fromRotation=function(e,t){var i=Math.cos(e),n=Math.sin(e);return r(t)?(t[0]=i,t[1]=n,t[2]=-n,t[3]=i,t):new o(i,-n,n,i)},o.toArray=function(e,t){return r(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t):[e[0],e[1],e[2],e[3]]},o.getElementIndex=function(e,t){return 2*e+t},o.getColumn=function(t,i,n){var o=2*i,a=t[o],s=t[o+1];return r(n)?(n.x=a,n.y=s,n):new e(a,s)},o.setColumn=function(e,t,r,i){i=o.clone(e,i);var n=2*t;return i[n]=r.x,i[n+1]=r.y,i},o.getRow=function(t,i,n){var o=t[i],a=t[i+2];return r(n)?(n.x=o,n.y=a,n):new e(o,a)},o.setRow=function(e,t,r,i){return i=o.clone(e,i),i[t]=r.x,i[t+2]=r.y,i},o.multiply=function(e,t,i){var n=e[0]*t[0]+e[2]*t[1],a=e[0]*t[2]+e[2]*t[3],s=e[1]*t[0]+e[3]*t[1],l=e[1]*t[2]+e[3]*t[3];return r(i)?(i[0]=n,i[1]=s,i[2]=a,i[3]=l,i):new o(n,a,s,l)},o.multiplyByVector=function(t,i,n){var o=t[0]*i.x+t[2]*i.y,a=t[1]*i.x+t[3]*i.y;return r(n)?(n.x=o,n.y=a,n):new e(o,a)},o.multiplyByScalar=function(e,t,i){return r(i)?(i[0]=e[0]*t,i[1]=e[1]*t,i[2]=e[2]*t,i[3]=e[3]*t,i):new o(e[0]*t,e[2]*t,e[1]*t,e[3]*t)},o.negate=function(e,t){return r(t)?(t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t):new o(-e[0],-e[2],-e[1],-e[3])},o.transpose=function(e,t){var i=e[0],n=e[2],a=e[1],s=e[3];return r(t)?(t[0]=i,t[1]=n,t[2]=a,t[3]=s,t):new o(i,a,n,s)},o.abs=function(e,t){return r(t)?(t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t[3]=Math.abs(e[3]),t):new o(Math.abs(e[0]),Math.abs(e[2]),Math.abs(e[1]),Math.abs(e[3]))},o.equals=function(e,t){return e===t||r(e)&&r(t)&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]},o.equalsEpsilon=function(e,t,i){return e===t||r(e)&&r(t)&&Math.abs(e[0]-t[0])<=i&&Math.abs(e[1]-t[1])<=i&&Math.abs(e[2]-t[2])<=i&&Math.abs(e[3]-t[3])<=i},o.IDENTITY=n(new o(1,0,0,1)),o.COLUMN0ROW0=0,o.COLUMN0ROW1=1,o.COLUMN1ROW0=2,o.COLUMN1ROW1=3,o.prototype.clone=function(e){return o.clone(this,e)},o.prototype.equals=function(e){return o.equals(this,e)},o.prototype.equalsEpsilon=function(e,t){return o.equalsEpsilon(this,e,t)},o.prototype.toString=function(){return"("+this[0]+", "+this[2]+")\n"+"("+this[1]+", "+this[3]+")"},o}),r("Core/ExtentGeometry",["./defaultValue","./defined","./BoundingSphere","./Cartesian2","./Cartesian3","./Cartographic","./ComponentDatatype","./IndexDatatype","./DeveloperError","./Ellipsoid","./Extent","./Geometry","./GeometryInstance","./GeometryPipeline","./GeographicProjection","./GeometryAttribute","./GeometryAttributes","./Math","./Matrix2","./Matrix3","./PrimitiveType","./Quaternion","./VertexFormat"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f,v,g,_,y,C,S,w){"use strict";function E(e,t){return e<-g.PI_OVER_TWO||e>g.PI_OVER_TWO?!1:t>g.PI||t<-g.PI?!1:!0}function x(e,r,i,n,o){var a=e.radiiSquared;O=N.latitude-e.granYCos*r+i*e.granXSin;var s=et(O),l=tt(O),u=a.z*l;R=N.longitude+r*e.granYSin+i*e.granXCos;var c=s*et(R),h=s*tt(R),d=a.x*c,m=a.y*h,p=rt(d*c+m*h+u*l),f=d/p,v=m/p,g=u/p;t(n)&&(G.x=f+c*n,G.y=v+h*n,G.z=g+l*n),t(o)&&(Y.x=f+c*o,Y.y=v+h*o,Y.z=g+l*o)}function b(e,t){var r=new h({attributes:new v,primitiveType:C.TRIANGLES});return e.position&&(r.attributes.position=new f({componentDatatype:a.DOUBLE,componentsPerAttribute:3,values:t.positions})),e.normal&&(r.attributes.normal=new f({componentDatatype:a.FLOAT,componentsPerAttribute:3,values:t.normals})),e.tangent&&(r.attributes.tangent=new f({componentDatatype:a.FLOAT,componentsPerAttribute:3,values:t.tangents})),e.binormal&&(r.attributes.binormal=new f({componentDatatype:a.FLOAT,componentsPerAttribute:3,values:t.binormals})),r}function T(e,t,r,i,o){var a=e.length,s=t.normal?new Float32Array(a):void 0,l=t.tangent?new Float32Array(a):void 0,u=t.binormal?new Float32Array(a):void 0,c=0,h=i?a/2:0;a=i&&o?a/2:a;for(var d=0;a>d;d+=3){var m=n.fromArray(e,d,G),p=c+1,f=c+2;(t.normal||t.tangent||t.binormal)&&(H=r.geodeticSurfaceNormal(m,H),(t.tangent||t.binormal)&&(n.cross(n.UNIT_Z,H,j),y.multiplyByVector(U,j,j),n.normalize(j,j),t.binormal&&n.normalize(n.cross(H,j,q),q)),i&&(t.normal&&(s[c]=H.x,s[p]=H.y,s[f]=H.z),t.tangent&&(l[c]=j.x,l[p]=j.y,l[f]=j.z),t.binormal&&(u[c]=q.x,u[p]=q.y,u[f]=q.z)),o&&(t.normal&&(s[c+h]=-H.x,s[p+h]=-H.y,s[f+h]=-H.z),t.tangent&&(l[c+h]=-j.x,l[p+h]=-j.y,l[f+h]=-j.z),t.binormal&&(u[c+h]=q.x,u[p+h]=q.y,u[f+h]=q.z))),c+=3}return b(t,{positions:e,normals:s,tangents:l,binormals:u})}function A(e,t,r){for(var i=e.length,o=t.normal?new Float32Array(i):void 0,a=t.tangent?new Float32Array(i):void 0,s=t.binormal?new Float32Array(i):void 0,l=0,u=!0,c=i/2,h=0;c>h;h+=3){var d=n.fromArray(e,h,G),m=l+1,p=l+2;if(t.normal||t.tangent||t.binormal){var f=n.fromArray(e,h+3,J);if(u){var v=n.fromArray(e,h+c,Q);n.subtract(f,d,f),n.subtract(v,d,v),H=n.normalize(n.cross(v,f,H),H),u=!1}n.equalsEpsilon(f,d,g.EPSILON10)&&(u=!0),(t.tangent||t.binormal)&&(q=r.geodeticSurfaceNormal(d,q),t.tangent&&(j=n.normalize(n.cross(q,H,j),j))),t.normal&&(o[l]=H.x,o[m]=H.y,o[p]=H.z,o[l+c]=H.x,o[m+c]=H.y,o[p+c]=H.z),t.tangent&&(a[l]=j.x,a[m]=j.y,a[p]=j.z,a[l+c]=j.x,a[m+c]=j.y,a[p+c]=j.z),t.binormal&&(s[l]=q.x,s[m]=q.y,s[p]=q.z,s[l+c]=q.x,s[m+c]=q.y,s[p+c]=q.z)}l+=3}return b(t,{positions:e,normals:o,tangents:a,binormals:s})}function P(e,r,i,n,o){return K.x=(R-F.west)*n.lonScalar-.5,K.y=(O-F.south)*n.latScalar-.5,_.multiplyByVector(V,K,K),K.x+=.5,K.y+=.5,t(o)&&(i[r+o]=K.x,i[r+1+o]=K.y),i[r++]=K.x,i[r++]=K.y,r}function D(e,t,r){return e[t+r]=Y.x,e[t++]=G.x,e[t+r]=Y.y,e[t++]=G.y,e[t+r]=Y.z,e[t++]=G.z,e}function M(e,t){for(var i=t.ellipsoid,n=t.size,o=t.height,l=t.width,u=t.surfaceHeight,c=0,h=e.position?new Float64Array(3*n):void 0,d=e.st?new Float32Array(2*n):void 0,m=0,p=0;o>p;++p)for(var v=0;l>v;++v)x(t,p,v,u),h[m++]=G.x,h[m++]=G.y,h[m++]=G.z,e.st&&(K.x=(R-F.west)*t.lonScalar-.5,K.y=(O-F.south)*t.latScalar-.5,_.multiplyByVector(V,K,K),K.x+=.5,K.y+=.5,d[c++]=K.x,d[c++]=K.y);for(var g=T(h,e,i,!0,!1),y=6*(l-1)*(o-1),C=s.createTypedArray(n,y),S=0,w=0,E=0;o-1>E;++E){for(var b=0;l-1>b;++b){var A=S,P=A+l,D=P+1,M=A+1;C[w++]=A,C[w++]=P,C[w++]=M,C[w++]=M,C[w++]=P,C[w++]=D,++S}++S}return g.indices=C,e.st&&(g.attributes.st=new f({componentDatatype:a.FLOAT,componentsPerAttribute:2,values:d})),{boundingSphere:r.fromExtent3D(t.extent,i,u),geometry:g}}function I(t,i){var o=i.surfaceHeight,l=i.extrudedHeight,u=Math.min(l,o),c=Math.max(l,o);if(g.equalsEpsilon(u,c,.1))return M(t,i);var h,p=i.height,v=i.width,_=i.size,y=i.ellipsoid,C=e(i.closeTop,!0),S=e(i.closeBottom,!0),w=2*v+2*p-4,E=2*(w+4),b=new Float64Array(3*E),I=t.st?new Float32Array(2*E):void 0,O=0,R=0,L=0,N=3*(E/2);for(h=0;p>h;h++)x(i,h,O,c,u),b=D(b,R,N),R+=3,t.st&&(L=P(t,L,I,i,E));for(h=p-1,O=0;v>O;O++)x(i,h,O,c,u),b=D(b,R,N),R+=3,t.st&&(L=P(t,L,I,i,E));for(O=v-1,h=p-1;h>=0;h--)x(i,h,O,c,u),b=D(b,R,N),R+=3,t.st&&(L=P(t,L,I,i,E));for(h=0,O=v-1;O>=0;O--)x(i,h,O,c,u),b=D(b,R,N),R+=3,t.st&&(L=P(t,L,I,i,E));var B=A(b,t,y);t.st&&(B.attributes.st=new f({componentDatatype:a.FLOAT,componentsPerAttribute:2,values:I}));var z,F,V,k,U,W=s.createTypedArray(E,6*w),H=b.length/6,j=0;for(U=0;H-1>U;U++){z=U,k=z+1;var q=n.fromArray(b,3*z,J),K=n.fromArray(b,3*k,Q);n.equalsEpsilon(q,K,g.EPSILON10)||(F=z+H,V=F+1,W[j++]=z,W[j++]=F,W[j++]=k,W[j++]=k,W[j++]=F,W[j++]=V)}if(B.indices=W,S||C){var $,et,tt=0,rt=0;C&&(tt+=_,rt+=6*(v-1)*(p-1),$=c),S&&(tt+=_,rt+=6*(v-1)*(p-1),et=u);var it=new Float64Array(3*tt),nt=t.st?new Float32Array(2*tt):void 0,ot=s.createTypedArray(tt,rt);for(R=0,L=0,N=S&&C?3*_:0,h=0;p>h;++h)for(O=0;v>O;++O)x(i,h,O,$,et),S&&(it[R+N]=Y.x,it[R+1+N]=Y.y,it[R+2+N]=Y.z),C&&(it[R]=G.x,it[R+1]=G.y,it[R+2]=G.z),t.st&&(L=P(t,L,nt,i,2*_)),R+=3;var at=T(it,t,y,C,S);t.st&&(at.attributes.st=new f({componentDatatype:a.FLOAT,componentsPerAttribute:2,values:nt}));var st=0;for(j=0,N/=3,U=0;p-1>U;++U){for(var lt=0;v-1>lt;++lt)z=j,F=z+v,V=F+1,k=z+1,S&&(ot[st++]=k+N,ot[st++]=F+N,ot[st++]=z+N,ot[st++]=V+N,ot[st++]=F+N,ot[st++]=k+N),C&&(ot[st++]=z,ot[st++]=F,ot[st++]=k,ot[st++]=k,ot[st++]=F,ot[st++]=V),++j;++j}at.indices=ot,B=m.combine([new d({geometry:at}),new d({geometry:B})])}var ut=r.fromExtent3D(i.extent,y,c,Z),ct=r.fromExtent3D(i.extent,y,u,X),ht=r.union(ut,ct);return{boundingSphere:ht,geometry:B}}var O,R,L=new n,N=new o,B=new o,z=new n,F=new c,V=new _,k=new _,U=new y,W=new p,G=new n,H=new n,j=new n,q=new n,Y=new n,X=new r,Z=new r,J=new n,Q=new n,K=new i,$=new S,et=Math.cos,tt=Math.sin,rt=Math.sqrt,it=function(t){t=e(t,e.EMPTY_OBJECT);var r=t.extent,i=e(t.granularity,g.RADIANS_PER_DEGREE),n=e(t.ellipsoid,u.WGS84),o=e(t.height,0),a=t.rotation,s=t.stRotation,l=e(t.vertexFormat,w.DEFAULT);this._extent=r,this._granularity=i,this._ellipsoid=n,this._surfaceHeight=o,this._rotation=a,this._stRotation=s,this._vertexFormat=l,this._extrudedHeight=t.extrudedHeight,this._closeTop=t.closeTop,this._closeBottom=t.closeBottom,this._workerName="createExtentGeometry" +};return it.createGeometry=function(e){var r=e._extent,i=e._granularity,o=e._ellipsoid,a=e._surfaceHeight,s=e._rotation,u=e._stRotation,d=e._vertexFormat,m=e._extrudedHeight,p=e._closeTop,f=e._closeBottom,g=Math.ceil((r.east-r.west)/i)+1,C=Math.ceil((r.north-r.south)/i)+1,w=(r.east-r.west)/(g-1),x=(r.north-r.south)/(C-1),b=o.radiiSquared;c.clone(r,F),r.getNorthwest(N),r.getCenter(B);var T=x,A=w,P=0,D=0;if(t(s)){var O=et(s);T*=O,A*=O;var R=tt(s);P=x*R,D=w*R,W.project(N,L),W.project(B,z),n.subtract(L,z,L),_.fromRotation(s,k),_.multiplyByVector(k,L,L),n.add(L,z,L),W.unproject(L,N);var G=N.latitude,H=G+(g-1)*D,j=G-T*(C-1),q=G-T*(C-1)+(g-1)*D,Y=Math.max(G,H,j,q),X=Math.min(G,H,j,q),Z=N.longitude,Q=Z+(g-1)*A,K=Z+(C-1)*P,rt=Z+(C-1)*P+(g-1)*A,it=Math.max(Z,Q,K,rt),nt=Math.min(Z,Q,K,rt);if(!(E(Y,nt)&&E(Y,it)&&E(X,nt)&&E(X,it)))throw new l("Rotated extent is invalid.");F.north=Y,F.south=X,F.east=it,F.west=nt}var ot=1/(F.east-F.west),at=1/(F.north-F.south),st=g*C;if(t(u)){_.fromRotation(-u,V);var lt=o.cartographicToCartesian(B,J);n.normalize(lt,lt),S.fromAxisAngle(lt,-u,$),y.fromQuaternion($,U)}else _.clone(_.IDENTITY,V),y.clone(y.IDENTITY,U);var ut,ct={granYCos:T,granYSin:P,granXCos:A,granXSin:D,radiiSquared:b,ellipsoid:o,lonScalar:ot,latScalar:at,extent:r,width:g,height:C,surfaceHeight:a,size:st,extrudedHeight:m,closeTop:p,closeBottom:f};ut=t(m)?I(d,ct):M(d,ct);var ht=ut.boundingSphere;return ut=ut.geometry,new h({attributes:new v(ut.attributes),indices:ut.indices,primitiveType:ut.primitiveType,boundingSphere:ht})},it}),r("Core/ExtentOutlineGeometry",["./defaultValue","./defined","./BoundingSphere","./Cartesian3","./Cartographic","./ComponentDatatype","./IndexDatatype","./DeveloperError","./Ellipsoid","./GeographicProjection","./Geometry","./GeometryAttribute","./GeometryAttributes","./Math","./Matrix2","./PrimitiveType"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f){"use strict";function v(e,t){return e<-m.PI_OVER_TWO||e>m.PI_OVER_TWO?!1:t>m.PI||t<-m.PI?!1:!0}function g(e,r,i,n,o){var a=e.radiiSquared;C=E.latitude-e.granYCos*r+i*e.granXSin;var s=O(C),l=R(C),u=a.z*l;S=E.longitude+r*e.granYSin+i*e.granXCos;var c=s*O(S),h=s*R(S),d=a.x*c,m=a.y*h,p=L(d*c+m*h+u*l),f=d/p,v=m/p,g=u/p;t(n)&&(P.x=f+c*n,P.y=v+h*n,P.z=g+l*n),t(o)&&(D.x=f+c*o,D.y=v+h*o,D.z=g+l*o)}function _(e){var t,i=e.extent,n=e.ellipsoid,o=e.size,s=e.height,l=e.width,u=e.surfaceHeight,c=new Float64Array(3*o),h=0,d=0;for(t=0;l>t;t++)g(e,d,t,u),c[h++]=P.x,c[h++]=P.y,c[h++]=P.z;for(t=l-1,d=1;s>d;d++)g(e,d,t,u),c[h++]=P.x,c[h++]=P.y,c[h++]=P.z;for(d=s-1,t=l-2;t>=0;t--)g(e,d,t,u),c[h++]=P.x,c[h++]=P.y,c[h++]=P.z;for(t=0,d=s-2;d>0;d--)g(e,d,t,u),c[h++]=P.x,c[h++]=P.y,c[h++]=P.z;for(var m=2*(c.length/3),p=a.createTypedArray(c.length/3,m),f=0,v=0;vs;s++)g(e,f,s,o,n),v[p+h]=D.x,v[p+h+1]=D.y,v[p+h+2]=D.z,v[p++]=P.x,v[p++]=P.y,v[p++]=P.z;for(s=c-1,f=1;u>f;f++)g(e,f,s,o,n),v[p+h]=D.x,v[p+h+1]=D.y,v[p+h+2]=D.z,v[p++]=P.x,v[p++]=P.y,v[p++]=P.z;for(f=u-1,s=c-2;s>=0;s--)g(e,f,s,o,n),v[p+h]=D.x,v[p+h+1]=D.y,v[p+h+2]=D.z,v[p++]=P.x,v[p++]=P.y,v[p++]=P.z;for(s=0,f=u-2;f>0;f--)g(e,f,s,o,n),v[p+h]=D.x,v[p+h+1]=D.y,v[p+h+2]=D.z,v[p++]=P.x,v[p++]=P.y,v[p++]=P.z;for(var y=2*(v.length/3)+8,C=a.createTypedArray(v.length/3,y),S=v.length/6,w=0,E=0;S-1>E;E++)C[w++]=E,C[w++]=E+1,C[w++]=E+S,C[w++]=E+S+1;C[w++]=S-1,C[w++]=0,C[w++]=S+S-1,C[w++]=S,C[w++]=0,C[w++]=S,C[w++]=c-1,C[w++]=S+c-1,C[w++]=c+u-2,C[w++]=c+u-2+S,C[w++]=2*c+u-3,C[w++]=2*c+u-3+S;var x=r.fromExtent3D(l,d,o,I),b=r.fromExtent3D(l,d,n,M),T=r.union(x,b);return{boundingSphere:T,positions:v,indices:C}}var C,S,w=new i,E=new n,x=new n,b=new i,T=new p,A=new u,P=new i,D=new i,M=new r,I=new r,O=Math.cos,R=Math.sin,L=Math.sqrt,N=function(t){t=e(t,e.EMPTY_OBJECT);var r=t.extent,i=e(t.granularity,m.RADIANS_PER_DEGREE),n=e(t.ellipsoid,l.WGS84),o=e(t.height,0),a=t.rotation;this._extent=r,this._granularity=i,this._ellipsoid=n,this._surfaceHeight=o,this._rotation=a,this._extrudedHeight=t.extrudedHeight,this._workerName="createExtentOutlineGeometry"};return N.createGeometry=function(e){var r=e._extent,n=e._granularity,a=e._ellipsoid,l=e._surfaceHeight,u=e._rotation,m=e._extrudedHeight,g=Math.ceil((r.east-r.west)/n)+1,C=Math.ceil((r.north-r.south)/n)+1,S=(r.east-r.west)/(g-1),P=(r.north-r.south)/(C-1),D=a.radiiSquared;r.getNorthwest(E),r.getCenter(x);var M=P,I=S,L=0,N=0;if(t(u)){var B=O(u);M*=B,I*=B;var z=R(u);L=P*z,N=S*z,A.project(E,w),A.project(x,b),i.subtract(w,b,w),p.fromRotation(u,T),p.multiplyByVector(T,w,w),i.add(w,b,w),A.unproject(w,E);var F=E.latitude,V=F+(g-1)*N,k=F-M*(C-1),U=F-M*(C-1)+(g-1)*N,W=Math.max(F,V,k,U),G=Math.min(F,V,k,U),H=E.longitude,j=H+(g-1)*I,q=H+(C-1)*L,Y=H+(C-1)*L+(g-1)*I,X=Math.max(H,j,q,Y),Z=Math.min(H,j,q,Y);if(!(v(W,Z)&&v(W,X)&&v(G,Z)&&v(G,X)))throw new s("Rotated extent is invalid.")}var J,Q=2*g+2*C-4,K={granYCos:M,granYSin:L,granXCos:I,granXSin:N,radiiSquared:D,ellipsoid:a,extent:r,width:g,height:C,surfaceHeight:l,size:Q};J=t(m)?y(K,m):_(K);var $=new d({position:new h({componentDatatype:o.DOUBLE,componentsPerAttribute:3,values:J.positions})});return new c({attributes:$,indices:J.indices,primitiveType:f.LINES,boundingSphere:J.boundingSphere})},N}),r("Core/FAR",[],function(){"use strict";var e=5906376272e3;return e}),r("Core/GeometryInstanceAttribute",["./defaultValue","./defined","./DeveloperError"],function(e){"use strict";var t=function(t){t=e(t,e.EMPTY_OBJECT),this.componentDatatype=t.componentDatatype,this.componentsPerAttribute=t.componentsPerAttribute,this.normalize=e(t.normalize,!1),this.value=t.value};return t}),r("Core/HeightmapTessellator",["./defaultValue","./defined","./freezeObject","./DeveloperError","./Cartesian3","./Ellipsoid","./Math"],function(e,t,r,i,n,o,a){"use strict";var s={};return s.DEFAULT_STRUCTURE=r({heightScale:1,heightOffset:0,elementsPerHeight:1,stride:1,elementMultiplier:256,isBigEndian:!1}),s.computeVertices=function(r){var i,l,u,c,h=Math.cos,d=Math.sin,m=Math.sqrt,p=Math.atan,f=Math.exp,v=a.PI_OVER_TWO,g=a.toRadians,_=r.vertices,y=r.heightmap,C=r.width,S=r.height,w=r.skirtHeight,E=e(r.isGeographic,!0),x=e(r.ellipsoid,o.WGS84),b=1/x.maximumRadius,T=r.nativeExtent,A=r.extent;t(A)?(i=A.west,l=A.south,u=A.east,c=A.north):E?(i=g(T.west),l=g(T.south),u=g(T.east),c=g(T.north)):(i=T.west*b,l=v-2*p(f(-T.south*b)),u=T.east*b,c=v-2*p(f(-T.north*b)));var P=e(r.relativeToCenter,n.ZERO),D=e(r.structure,s.DEFAULT_STRUCTURE),M=e(D.heightScale,s.DEFAULT_STRUCTURE.heightScale),I=e(D.heightOffset,s.DEFAULT_STRUCTURE.heightOffset),O=e(D.elementsPerHeight,s.DEFAULT_STRUCTURE.elementsPerHeight),R=e(D.stride,s.DEFAULT_STRUCTURE.stride),L=e(D.elementMultiplier,s.DEFAULT_STRUCTURE.elementMultiplier),N=e(D.isBigEndian,s.DEFAULT_STRUCTURE.isBigEndian),B=(T.east-T.west)/(C-1),z=(T.north-T.south)/(S-1),F=x.radiiSquared,V=F.x,k=F.y,U=F.z,W=0,G=65536,H=-65536,j=0,q=S,Y=0,X=C;w>0&&(--j,++q,--Y,++X);for(var Z=j;q>Z;++Z){var J=Z;0>J&&(J=0),J>=S&&(J=S-1);var Q=T.north-z*J;Q=E?g(Q):v-2*p(f(-Q*b));for(var K=h(Q),$=d(Q),et=U*$,tt=(Q-l)/(c-l),rt=Y;X>rt;++rt){var it=rt;0>it&&(it=0),it>=C&&(it=C-1);var nt=T.west+B*it;E?nt=g(nt):nt*=b;var ot,at=J*C*R+it*R;if(1===O)ot=y[at];else{ot=0;var st;if(N)for(st=0;O>st;++st)ot=ot*L+y[at+st];else for(st=O-1;st>=0;--st)ot=ot*L+y[at+st]}ot=ot*M+I,H=Math.max(H,ot),G=Math.min(G,ot),(rt!==it||Z!==J)&&(ot-=w);var lt=K*h(nt),ut=K*d(nt),ct=V*lt,ht=k*ut,dt=m(ct*lt+ht*ut+et*$),mt=1/dt,pt=ct*mt,ft=ht*mt,vt=et*mt;_[W++]=pt+lt*ot-P.x,_[W++]=ft+ut*ot-P.y,_[W++]=vt+$*ot-P.z,_[W++]=ot;var gt=(nt-i)/(u-i);_[W++]=gt,_[W++]=tt}}return{maximumHeight:H,minimumHeight:G}},s}),r("Core/HermitePolynomialApproximation",["./defined","./Math"],function(e,t){"use strict";function r(e,t,i,n,o,a){var s,l,u,c=0;if(n>0){for(l=0;o>l;l++){for(s=!1,u=0;ul;l++){for(s=!1,u=0;ul;l++){s[l]=0;var v=new Array(p);for(f[l]=v,u=0;p>u;u++)v[u]=[]}var g=p,_=new Array(g);for(l=0;g>l;l++)_[l]=l;var y=p-1;for(h=0;a>h;h++){for(u=0;g>u;u++)m=_[u]*a+h,f[h][0].push(o[m]);for(l=1;g>l;l++){var C=!1;for(u=0;g-l>u;u++){var S,w=n[_[u]],E=n[_[u+l]];0>=E-w?(m=_[u]*a+a*l+h,S=o[m],f[h][l].push(S/i(l))):(S=f[h][l-1][u+1]-f[h][l-1][u],f[h][l].push(S/(E-w))),C=C||0!==S}C||(y=l-1)}}for(c=0,d=0;d>=c;c++)for(l=c;y>=l;l++){var x=r(t,_,n,c,l,[]);for(h=0;a>h;h++){var b=f[h][l][0];s[h+c*a]+=b*x}}return s},n}),r("Core/IauOrientationParameters",[],function(){"use strict";var e=function(e,t,r,i){this.rightAscension=e,this.declination=t,this.rotation=r,this.rotationRate=i};return e}),r("Core/Iau2000Orientation",["./defined","./IauOrientationParameters","./JulianDate","./Math","./TimeConstants"],function(e,t,r,i,n){"use strict";var o={},a=32.184,s=2451545,l=-.0529921,u=-.1059842,c=13.0120009,h=13.3407154,d=.9856003,m=26.4057084,p=13.064993,f=.3287146,v=1.7484877,g=-.1589763,_=.0036096,y=.1643573,C=12.9590088;return o.ComputeMoon=function(o,S){e(o)||(o=new r);var w=o.addSeconds(a),E=w.getTotalDays()-s,x=E/n.DAYS_PER_JULIAN_CENTURY,b=(125.045+l*E)*i.RADIANS_PER_DEGREE,T=(250.089+u*E)*i.RADIANS_PER_DEGREE,A=(260.008+c*E)*i.RADIANS_PER_DEGREE,P=(176.625+h*E)*i.RADIANS_PER_DEGREE,D=(357.529+d*E)*i.RADIANS_PER_DEGREE,M=(311.589+m*E)*i.RADIANS_PER_DEGREE,I=(134.963+p*E)*i.RADIANS_PER_DEGREE,O=(276.617+f*E)*i.RADIANS_PER_DEGREE,R=(34.226+v*E)*i.RADIANS_PER_DEGREE,L=(15.134+g*E)*i.RADIANS_PER_DEGREE,N=(119.743+_*E)*i.RADIANS_PER_DEGREE,B=(239.961+y*E)*i.RADIANS_PER_DEGREE,z=(25.053+C*E)*i.RADIANS_PER_DEGREE,F=Math.sin(b),V=Math.sin(T),k=Math.sin(A),U=Math.sin(P),W=Math.sin(D),G=Math.sin(M),H=Math.sin(I),j=Math.sin(O),q=Math.sin(R),Y=Math.sin(L),X=Math.sin(N),Z=Math.sin(B),J=Math.sin(z),Q=Math.cos(b),K=Math.cos(T),$=Math.cos(A),et=Math.cos(P),tt=Math.cos(D),rt=Math.cos(M),it=Math.cos(I),nt=Math.cos(O),ot=Math.cos(R),at=Math.cos(L),st=Math.cos(N),lt=Math.cos(B),ut=Math.cos(z),ct=(269.9949+.0031*x-3.8787*F-.1204*V+.07*k-.0172*U+.0072*G-.0052*Y+.0043*J)*i.RADIANS_PER_DEGREE,ht=(66.5392+.013*x+1.5419*Q+.0239*K-.0278*$+.0068*et-.0029*rt+9e-4*it+8e-4*at-9e-4*ut)*i.RADIANS_PER_DEGREE,dt=(38.3213+13.17635815*E-1.4e-12*E*E+3.561*F+.1208*V-.0642*k+.0158*U+.0252*W-.0066*G-.0047*H-.0046*j+.0028*q+.0052*Y+.004*X+.0019*Z-.0044*J)*i.RADIANS_PER_DEGREE,mt=(13.17635815-1.4e-12*2*E+3.561*Q*l+.1208*K*u-.0642*$*c+.0158*et*h+.0252*tt*d-.0066*rt*m-.0047*it*p-.0046*nt*f+.0028*ot*v+.0052*at*g+.004*st*_+.0019*lt*y-.0044*ut*C)/86400*i.RADIANS_PER_DEGREE;return e(S)||(S=new t),S.rightAscension=ct,S.declination=ht,S.rotation=dt,S.rotationRate=mt,S},o}),r("Core/IauOrientationAxes",["./Cartesian3","./defined","./Iau2000Orientation","./JulianDate","./Math","./Matrix3","./Quaternion"],function(e,t,r,i,n,o,a){"use strict";function s(r,i,a){var s=u;s.x=Math.cos(r+n.PI_OVER_TWO),s.y=Math.sin(r+n.PI_OVER_TWO),s.z=0;var l=Math.cos(i),d=h;d.x=l*Math.cos(r),d.y=l*Math.sin(r),d.z=Math.sin(i);var m=e.cross(d,s,c);return t(a)||(a=new o),a[0]=s.x,a[1]=m.x,a[2]=d.x,a[3]=s.y,a[4]=m.y,a[5]=d.y,a[6]=s.z,a[7]=m.z,a[8]=d.z,a}var l=function(e){t(e)&&"function"==typeof e||(e=r.ComputeMoon),this._computeFunction=e},u=new e,c=new e,h=new e,d=new o,m=new a;return l.prototype.evaluate=function(r,l){t(r)||(r=new i);var u=this._computeFunction(r),c=s(u.rightAscension,u.declination,l),h=n.zeroToTwoPi(u.rotation),p=a.fromAxisAngle(e.UNIT_Z,h,m),f=o.fromQuaternion(a.conjugate(p,p),d),v=o.multiply(f,c,c);return v},l}),r("Core/InterpolationAlgorithm",["./DeveloperError"],function(e){"use strict";var t={};return t.type=void 0,t.getRequiredDataPoints=e.throwInstantiationError,t.interpolateOrderZero=e.throwInstantiationError,t}),r("Core/Intersections2D",["./Cartesian3","./defined","./DeveloperError"],function(e,t){"use strict";var r={};return r.clipTriangleAtAxisAlignedThreshold=function(e,r,i,n,o,a){t(a)?a.length=0:a=[];var s,l,u;r?(s=e>i,l=e>n,u=e>o):(s=i>e,l=n>e,u=o>e);var c,h,d,m,p,f,v=s+l+u;return 1===v?s?(c=(e-i)/(n-i),h=(e-i)/(o-i),a.push(1),a.push(2),1!==h&&(a.push(-1),a.push(0),a.push(2),a.push(h)),1!==c&&(a.push(-1),a.push(0),a.push(1),a.push(c))):l?(d=(e-n)/(o-n),m=(e-n)/(i-n),a.push(2),a.push(0),1!==m&&(a.push(-1),a.push(1),a.push(0),a.push(m)),1!==d&&(a.push(-1),a.push(1),a.push(2),a.push(d))):u&&(p=(e-o)/(i-o),f=(e-o)/(n-o),a.push(0),a.push(1),1!==f&&(a.push(-1),a.push(2),a.push(1),a.push(f)),1!==p&&(a.push(-1),a.push(2),a.push(0),a.push(p))):2===v?s||i===e?l||n===e?u||o===e||(h=(e-i)/(o-i),d=(e-n)/(o-n),a.push(2),a.push(-1),a.push(0),a.push(2),a.push(h),a.push(-1),a.push(1),a.push(2),a.push(d)):(f=(e-o)/(n-o),c=(e-i)/(n-i),a.push(1),a.push(-1),a.push(2),a.push(1),a.push(f),a.push(-1),a.push(0),a.push(1),a.push(c)):(m=(e-n)/(i-n),p=(e-o)/(i-o),a.push(0),a.push(-1),a.push(1),a.push(0),a.push(m),a.push(-1),a.push(2),a.push(0),a.push(p)):3===v||(a.push(0),a.push(1),a.push(2)),a},r.computeBarycentricCoordinates=function(r,i,n,o,a,s,l,u,c){var h=n-l,d=l-a,m=s-u,p=o-u,f=1/(m*h+d*p),v=i-u,g=r-l,_=(m*g+d*v)*f,y=(-p*g+h*v)*f,C=1-_-y;return t(c)?(c.x=_,c.y=y,c.z=C,c):new e(_,y,C)},r}),r("Core/TimeInterval",["./defined","./DeveloperError","./freezeObject","./JulianDate","./TimeStandard"],function(e,t,r,i,n){"use strict";var o=function(t,r,n,o,a){e(n)||(n=!0),e(o)||(o=!0);var s=i.compare(r,t);this.start=t,this.stop=r,this.data=a,this.isStartIncluded=n,this.isStopIncluded=o,this.isEmpty=0>s||0===s&&(!n||!o)};return o.fromIso8601=function(e,t,r,n){var a=e.split("/"),s=i.fromIso8601(a[0]),l=i.fromIso8601(a[1]);return new o(s,l,t,r,n)},o.equals=function(t,r,n){return t===r||e(t)&&e(r)&&(t.isEmpty&&r.isEmpty||t.isStartIncluded===r.isStartIncluded&&t.isStopIncluded===r.isStopIncluded&&i.equals(t.start,r.start)&&i.equals(t.stop,r.stop)&&(t.data===r.data||e(n)&&n(t.data,r.data)))},o.equalsEpsilon=function(t,r,n,o){return t===r||e(t)&&e(r)&&(t.isEmpty&&r.isEmpty||t.isStartIncluded===r.isStartIncluded&&t.isStopIncluded===r.isStopIncluded&&i.equalsEpsilon(t.start,r.start,n)&&i.equalsEpsilon(t.stop,r.stop,n)&&(t.data===r.data||e(o)&&o(t.data,r.data)))},o.prototype.clone=function(){return new o(this.start,this.stop,this.isStartIncluded,this.isStopIncluded,this.data)},o.EMPTY=r(new o(new i(0,0,n.TAI),new i(0,0,n.TAI),!1,!1)),o.prototype.intersect=function(t,r){if(!e(t))return o.EMPTY;var n,a,s,l=t.start,u=t.stop,c=t.isStartIncluded,h=t.isStopIncluded,d=this.start,m=this.stop,p=this.isStartIncluded,f=this.isStopIncluded;return l.greaterThanOrEquals(d)&&m.greaterThanOrEquals(l)?(a=!i.equals(l,d)&&c||p&&c,s=f&&h,n=e(r)?r(this.data,t.data):this.data,m.greaterThanOrEquals(u)?(s=s||!i.equals(u,m)&&h,new o(l,u,a,s,n)):(s=s||f,new o(l,m,a,s,n))):l.lessThanOrEquals(d)&&d.lessThanOrEquals(u)?(a=i.equals(l,d)===!1&&p||p&&c,s=f&&h,n=e(r)?r(this.data,t.data):this.data,m.greaterThanOrEquals(u)?(s=s||i.equals(u,m)===!1&&h,new o(d,u,a,s,n)):(s=s||f,new o(d,m,a,s,n))):o.EMPTY},o.prototype.contains=function(e){if(this.isEmpty)return!1;var t=i.compare(this.start,e);if(0===t)return this.isStartIncluded;var r=i.compare(e,this.stop);return 0===r?this.isStopIncluded:0>t&&0>r},o.prototype.equals=function(e,t){return o.equals(this,e,t)},o.prototype.equalsEpsilon=function(e,t,r){return o.equalsEpsilon(this,e,t,r)},o}),r("Core/Iso8601",["./freezeObject","./JulianDate","./TimeInterval"],function(e,t,r){"use strict";var i=e(t.fromIso8601("0000-01-01T00:00:00Z")),n=e(t.fromIso8601("9999-12-31T24:00:00Z")),o=e(new r(i,n,!0,!0)),a={MINIMUM_VALUE:i,MAXIMUM_VALUE:n,MAXIMUM_INTERVAL:o};return a}),r("Core/KeyboardEventModifier",["./Enumeration"],function(e){"use strict";var t={SHIFT:new e(0,"SHIFT"),CTRL:new e(1,"CTRL"),ALT:new e(2,"ALT")};return t}),r("Core/LagrangePolynomialApproximation",["./defined"],function(e){"use strict";var t={type:"Lagrange"};return t.getRequiredDataPoints=function(e){return Math.max(e+1,2)},t.interpolateOrderZero=function(t,r,i,n,o){e(o)||(o=new Array(n));var a,s,l=r.length;for(a=0;n>a;a++)o[a]=0;for(a=0;l>a;a++){var u=1;for(s=0;l>s;s++)if(s!==a){var c=r[a]-r[s];u*=(t-r[s])/c}for(s=0;n>s;s++)o[s]+=u*i[a*n+s]}return o},t}),r("Core/LinearApproximation",["./defined","./DeveloperError"],function(e){"use strict";var t={type:"Linear"};return t.getRequiredDataPoints=function(){return 2},t.interpolateOrderZero=function(t,r,i,n,o){e(o)||(o=new Array(n));var a,s,l,u=r[0],c=r[1];for(a=0;n>a;a++)s=i[a],l=i[a+n],o[a]=((l-s)*t+c*s-u*l)/(c-u);return o},t}),r("Core/NearFarScalar",["./defaultValue","./defined","./DeveloperError"],function(e,t){"use strict";var r=function(t,r,i,n){this.near=e(t,0),this.nearValue=e(r,0),this.far=e(i,1),this.farValue=e(n,0)};return r.clone=function(e,i){return t(e)?t(i)?(i.near=e.near,i.nearValue=e.nearValue,i.far=e.far,i.farValue=e.farValue,i):new r(e.near,e.nearValue,e.far,e.farValue):void 0},r.packedLength=4,r.pack=function(t,r,i){i=e(i,0),r[i++]=t.near,r[i++]=t.nearValue,r[i++]=t.far,r[i]=t.farValue},r.unpack=function(i,n,o){return n=e(n,0),t(o)||(o=new r),o.near=i[n++],o.nearValue=i[n++],o.far=i[n++],o.farValue=i[n],o},r.equals=function(e,r){return e===r||t(e)&&t(r)&&e.near===r.near&&e.nearValue===r.nearValue&&e.far===r.far&&e.farValue===r.farValue},r.prototype.clone=function(e){return r.clone(this,e)},r.prototype.equals=function(e){return r.equals(this,e)},r}),r("Core/ObjectOrientedBoundingBox",["./Cartesian3","./defaultValue","./defined","./DeveloperError","./Matrix3"],function(e,t,r,i,n){"use strict";function o(e,t,r,i,o){var a=t[e]+r[0]*i[n.getElementIndex(0,e)]+r[1]*i[n.getElementIndex(1,e)]+r[2]*i[n.getElementIndex(2,e)];return Math.abs(o[e])>a?!0:!1}function a(e,t,r,i,o){var a=o[0]*i[n.getElementIndex(0,e)]+o[1]*i[n.getElementIndex(1,e)]+o[2]*i[n.getElementIndex(2,e)],s=r[e]+t[0]*i[n.getElementIndex(0,e)]+t[1]*i[n.getElementIndex(1,e)]+t[2]*i[n.getElementIndex(2,e)];return Math.abs(a)>s?!0:!1}function s(e,t,r,i,o,a){var s=a[(e+2)%3]*o[n.getElementIndex((e+1)%3,t)]-a[(e+1)%3]*o[n.getElementIndex((e+2)%3,t)],l=r[(e+1)%3]*o[n.getElementIndex((e+2)%3,t)]+r[(e+2)%3]*o[n.getElementIndex((e+1)%3,t)];return l+=i[(t+1)%3]*o[n.getElementIndex(e,(t+2)%3)]+i[(t+2)%3]*o[n.getElementIndex(e,(t+1)%3)],Math.abs(s)>l?!0:!1}var l=function(r,i,o){this.rotation=n.clone(t(r,n.IDENTITY)),this.translation=e.clone(t(i,e.ZERO)),this.scale=e.clone(t(o,e.ZERO))},u=new e,c=new e,h=new e,d=new e,m=new e,p=new n,f={unitary:new n,diagonal:new n};l.fromPoints=function(t,i){if(r(i)||(i=new l),!r(t)||0===t.length)return i.tranformMatrix=n.IDENTITY,i.translation=e.ZERO,i.scale=e.ZERO,i;var o,a=t.length,s=e.clone(t[0],u);for(o=1;a>o;o++)e.add(s,t[o],s);var v=1/a;e.multiplyByScalar(s,v,s);var g,_=0,y=0,C=0,S=0,w=0,E=0;for(o=0;a>o;o++)g=e.subtract(t[o],s,c),_+=g.x*g.x,y+=g.x*g.y,C+=g.x*g.z,S+=g.y*g.y,w+=g.y*g.z,E+=g.z*g.z;_*=v,y*=v,C*=v,S*=v,w*=v,E*=v;var x=p;x[0]=_,x[1]=y,x[2]=C,x[3]=y,x[4]=S,x[5]=w,x[6]=C,x[7]=w,x[8]=E;var b=n.getEigenDecomposition(x,f),T=n.transpose(b.unitary,i.rotation);g=e.subtract(t[0],s,c);var A=n.multiplyByVector(T,g,h),P=e.clone(A,d),D=e.clone(A,m);for(o=1;a>o;o++)g=e.subtract(t[o],s,g),n.multiplyByVector(T,g,A),e.getMinimumByComponent(D,A,D),e.getMaximumByComponent(P,A,P);var M=e.add(D,P,h);e.multiplyByScalar(M,.5,M),n.multiplyByVector(T,M,M),e.add(s,M,i.translation);var I=e.subtract(P,D,h);return e.multiplyByScalar(I,.5,i.scale),i},l.fromBoundingRectangle=function(e,t,i){r(i)||(i=new l),r(t)?n.fromRotationZ(t,i.rotation):n.clone(n.IDENTITY,i.rotation);var o=i.scale;o.x=.5*e.width,o.y=.5*e.height,o.z=0;var a=n.multiplyByVector(i.rotation,o,i.translation);return a.x+=e.x,a.y+=e.y,i},l.clone=function(t,i){return r(t)?r(i)?(n.clone(t.rotation,i.rotation),e.clone(t.translation,i.translation),e.clone(t.scale,i.scale),i):new l(t.rotation,t.translation,t.scale):void 0};var v=new n,g=new n,_=new e,y=new Array(3),C=new Array(3),S=new Array(3);return l.intersect=function(t,r){var i=n.transpose(t.rotation,v),l=n.multiply(i,r.rotation,g);n.abs(l,l);var u=y,c=C,h=S;return e.subtract(t.translation,r.translation,_),n.multiplyByVector(i,_,_),e.pack(_,u),e.pack(t.scale,c),e.pack(r.scale,h),o(0,c,h,l,u)?!1:o(1,c,h,l,u)?!1:o(2,c,h,l,u)?!1:a(0,c,h,l,u)?!1:a(1,c,h,l,u)?!1:a(2,c,h,l,u)?!1:s(0,0,c,h,l,u)?!1:s(1,0,c,h,l,u)?!1:s(2,0,c,h,l,u)?!1:s(0,1,c,h,l,u)?!1:s(1,1,c,h,l,u)?!1:s(2,1,c,h,l,u)?!1:s(0,2,c,h,l,u)?!1:s(1,2,c,h,l,u)?!1:s(2,2,c,h,l,u)?!1:!0},l.equals=function(t,i){return t===i||r(t)&&r(i)&&e.equals(t.transformedPosition,i.transformedPosition)&&n.equals(t.transformMatrix,i.transformMatrix)&&e.equals(t.extent,i.extent)},l.prototype.clone=function(e){return l.clone(this,e)},l.prototype.equals=function(e){return l.equals(this,e)},l}),r("Core/Visibility",["./Enumeration"],function(e){"use strict";var t={NONE:new e(-1,"NONE"),PARTIAL:new e(0,"PARTIAL"),FULL:new e(1,"FULL")};return t}),r("Core/Occluder",["./BoundingSphere","./Cartesian3","./defaultValue","./defined","./DeveloperError","./Ellipsoid","./Math","./Visibility"],function(e,t,r,i,n,o,a,s){"use strict";var l=function(e,r){this._occluderPosition=t.clone(e.center),this._occluderRadius=e.radius,this._horizonDistance=0,this._horizonPlaneNormal=void 0,this._horizonPlanePosition=void 0,this._cameraPosition=void 0,this.setCameraPosition(r)};l.fromBoundingSphere=function(e,r,o){if(!i(e))throw new n("occluderBoundingSphere is required.");if(!i(r))throw new n("camera position is required.");return i(o)?(t.clone(e.center,o._occluderPosition),o._occluderRadius=e.radius,o.setCameraPosition(r),o):new l(e,r)},l.prototype.getPosition=function(){return this._occluderPosition},l.prototype.getRadius=function(){return this._occluderRadius};var u=new t;l.prototype.setCameraPosition=function(e){if(!i(e))throw new n("cameraPosition is required.");e=t.clone(e,this._cameraPosition);var r,o,a,s=t.subtract(this._occluderPosition,e,u),l=t.magnitudeSquared(s),c=this._occluderRadius*this._occluderRadius;if(l>c){r=Math.sqrt(l-c),l=1/Math.sqrt(l),o=t.multiplyByScalar(s,l,u);var h=r*r*l;a=t.add(e,t.multiplyByScalar(o,h,u),u)}else r=Number.MAX_VALUE;this._horizonDistance=r,this._horizonPlaneNormal=o,this._horizonPlanePosition=a,this._cameraPosition=e};var c=new t;l.prototype.isPointVisible=function(e){if(this._horizonDistance!==Number.MAX_VALUE){var r=t.subtract(e,this._occluderPosition,c),i=this._occluderRadius;if(i=t.magnitudeSquared(r)-i*i,i>0)return i=Math.sqrt(i)+this._horizonDistance,r=t.subtract(e,this._cameraPosition,r),i*i>t.magnitudeSquared(r)}return!1};var h=new t;l.prototype.isBoundingSphereVisible=function(e){var r=t.clone(e.center,h),i=e.radius;if(this._horizonDistance!==Number.MAX_VALUE){var n=t.subtract(r,this._occluderPosition,c),o=this._occluderRadius-i;if(o=t.magnitudeSquared(n)-o*o,i0?(o=Math.sqrt(o)+this._horizonDistance,n=t.subtract(r,this._cameraPosition,n),o*o+i*i>t.magnitudeSquared(n)):!1;if(o>0){n=t.subtract(r,this._cameraPosition,n);var a=t.magnitudeSquared(n),s=this._occluderRadius*this._occluderRadius,l=i*i;return(this._horizonDistance*this._horizonDistance+s)*l>a*s?!0:(o=Math.sqrt(o)+this._horizonDistance,o*o+l>a)}return!0}return!1},l.prototype.getVisibility=function(e){if(!i(e))throw new n("occludeeBS is required.");var r=t.clone(e.center),o=e.radius;if(o>this._occluderRadius)return s.FULL;if(this._horizonDistance!==Number.MAX_VALUE){var a=t.subtract(r,this._occluderPosition),l=this._occluderRadius-o,u=t.magnitudeSquared(a);if(l=u-l*l,l>0){l=Math.sqrt(l)+this._horizonDistance,a=t.subtract(r,this._cameraPosition);var c=t.magnitudeSquared(a);return c>l*l+o*o?s.NONE:(l=this._occluderRadius+o,l=u-l*l,l>0?(l=Math.sqrt(l)+this._horizonDistance,l*l+o*o>c?s.FULL:s.PARTIAL):(a=t.subtract(r,this._horizonPlanePosition),t.dot(a,this._horizonPlaneNormal)>-o?s.PARTIAL:s.FULL))}}return s.NONE},l.getOccludeePoint=function(e,r,i){var o=t.clone(r),a=t.clone(e.center),s=e.radius,u=i.length;if(t.equals(a,r))throw new n("occludeePosition must be different than occluderBoundingSphere.center");var c=t.normalize(t.subtract(o,a)),h=-t.dot(c,a),d=l._anyRotationVector(a,c,h),m=l._horizonToPlaneNormalDotProduct(e,c,h,d,i[0]);if(!m)return void 0;for(var p,f=1;u>f;++f){if(p=l._horizonToPlaneNormalDotProduct(e,c,h,d,i[f]),!p)return void 0;m>p&&(m=p)}if(.0017453283658983088>m)return void 0;var v=s/m;return t.add(a,t.multiplyByScalar(c,v))};var d=[];return l.computeOccludeePointFromExtent=function(i,n){n=r(n,o.WGS84);var a=i.subsample(n,0,d),s=e.fromPoints(a),u=t.ZERO;return t.equals(u,s.center)?void 0:l.getOccludeePoint(new e(u,n.minimumRadius),s.center,a)},l._anyRotationVector=function(e,r,i){var n=t.abs(r),o=n.x>n.y?0:1;(0===o&&n.z>n.x||1===o&&n.z>n.y)&&(o=2);var a=new t;0===o?(n.x=e.x,n.y=e.y+1,n.z=e.z+1,a=t.UNIT_X):1===o?(n.x=e.x+1,n.y=e.y,n.z=e.z+1,a=t.UNIT_Y):(n.x=e.x+1,n.y=e.y+1,n.z=e.z,a=t.UNIT_Z);var s=(t.dot(r,n)+i)/-t.dot(r,a);return t.normalize(t.subtract(t.add(n,t.multiplyByScalar(a,s)),e))},l._rotationVector=function(e,r,i,n,o){var s=t.subtract(n,e);if(s=t.normalize(s),t.dot(r,s)<.9999999847691291){var l=t.cross(r,s),u=t.magnitude(l);if(u>a.EPSILON13)return t.normalize(l)}return o},l._horizonToPlaneNormalDotProduct=function(e,r,i,n,o){var a=t.clone(o),s=t.clone(e.center),l=e.radius,u=t.subtract(s,a),c=t.magnitudeSquared(u),h=l*l;if(h>c)return!1;var d=c-h,m=Math.sqrt(d),p=Math.sqrt(c),f=1/p,v=m*f,g=v*m;u=t.normalize(u);var _=t.add(a,t.multiplyByScalar(u,g)),y=Math.sqrt(d-g*g),C=this._rotationVector(s,r,i,a,n),S=new t(C.x*C.x*u.x+(C.x*C.y-C.z)*u.y+(C.x*C.z+C.y)*u.z,(C.x*C.y+C.z)*u.x+C.y*C.y*u.y+(C.y*C.z-C.x)*u.z,(C.x*C.z-C.y)*u.x+(C.y*C.z+C.x)*u.y+C.z*C.z*u.z);S=t.normalize(S);var w=t.multiplyByScalar(S,y);C=t.normalize(t.subtract(t.add(_,w),s));var E=t.dot(r,C);C=t.normalize(t.subtract(t.subtract(_,w),s));var x=t.dot(r,C);return x>E?E:x},l}),r("Core/Packable",["../Core/DeveloperError"],function(e){"use strict";var t={packedLength:void 0,pack:e.throwInstantiationError,unpack:e.throwInstantiationError};return t}),r("Core/PackableForInterpolation",["../Core/DeveloperError"],function(e){"use strict";var t={packedInterpolationLength:void 0,convertPackedArrayForInterpolation:e.throwInstantiationError,unpackInterpolationResult:e.throwInstantiationError};return t}),r("Core/PolygonGeometryLibrary",["./defaultValue","./defined","./Cartesian3","./Ellipsoid"],function(e,t,r,i){"use strict";function n(e,t,i,n){return r.subtract(t,e,a),r.multiplyByScalar(a,i/n,a),r.add(e,a,a),[a.x,a.y,a.z]}var o={},a=new r;o.subdivideLine=function(e,t,i){var o=r.distance(e,t),a=r.angleBetween(e,t),s=a/i,l=Math.ceil(Math.log(s)/Math.log(2));1>l&&(l=0);var u=Math.pow(2,l),c=o/u,h=new Array(3*u),d=0;h[d++]=e.x,h[d++]=e.y,h[d++]=e.z;for(var m=1;u>m;m++){var p=n(e,t,m*c,o);h[d++]=p[0],h[d++]=p[1],h[d++]=p[2]}return h};var s=new r,l=new r,u=new r,c=new r;return o.scaleToGeodeticHeightExtruded=function(n,o,a,h,d){h=e(h,i.WGS84);var m=s,p=l,f=u,v=c;if(t(n)&&t(n.attributes)&&t(n.attributes.position))for(var g=n.attributes.position.values,_=g.length/2,y=0;_>y;y+=3)r.fromArray(g,y,f),h.geodeticSurfaceNormal(f,m),v=h.scaleToGeodeticSurface(f,v),p=r.multiplyByScalar(m,a,p),p=r.add(v,p,p),g[y+_]=p.x,g[y+1+_]=p.y,g[y+2+_]=p.z,d&&(v=r.clone(f,v)),p=r.multiplyByScalar(m,o,p),p=r.add(v,p,p),g[y]=p.x,g[y+1]=p.y,g[y+2]=p.z;return n},o}),r("Core/pointInsideTriangle",["./barycentricCoordinates","./Cartesian3"],function(e,t){"use strict";var r=new t,i=function(t,i,n,o){return e(t,i,n,o,r),r.x>0&&r.y>0&&r.z>0};return i}),r("Core/Queue",[],function(){"use strict";var e=function(){this._array=[],this._offset=0,this.length=0};return e.prototype.enqueue=function(e){this._array.push(e),this.length++},e.prototype.dequeue=function(){if(0===this.length)return void 0;var e=this._array,t=this._offset,r=e[t];return e[t]=void 0,t++,t>10&&2*t>e.length&&(this._array=e.slice(t),t=0),this._offset=t,this.length--,r},e.prototype.contains=function(e){return-1!==this._array.indexOf(e)},e.prototype.clear=function(){this._array.length=this._offset=this.length=0},e.prototype.sort=function(e){this._offset>0&&(this._array=this._array.slice(this._offset),this._offset=0),this._array.sort(e)},e}),r("Core/WindingOrder",["./Enumeration"],function(e){"use strict";var t={CLOCKWISE:new e(2304,"CLOCKWISE"),COUNTER_CLOCKWISE:new e(2305,"COUNTER_CLOCKWISE"),validate:function(e){return e===t.CLOCKWISE||e===t.COUNTER_CLOCKWISE}};return t}),r("Core/PolygonPipeline",["./DeveloperError","./Math","./Cartesian2","./Cartesian3","./defined","./Geometry","./GeometryAttribute","./Ellipsoid","./EllipsoidTangentPlane","./defaultValue","./pointInsideTriangle","./ComponentDatatype","./PrimitiveType","./Queue","./WindingOrder"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p){"use strict";function f(e,t,i){var n=r.subtract(t,e),o=r.subtract(i,t);return n.x*o.y-n.y*o.x>=0}function v(e){for(var t=e[0].x,r=0,i=0;it&&(t=e[i].x,r=i);return r}function g(e){for(var t=e[0][0].x,r=0,i=0;it&&(t=n,r=i)}return r}function _(e){for(var t=[],r=0;rc&&(c=t[h].x);c+=c-l;var d=new i(c,e.y,0);for(h=0;h=e.x||p.x>=e.x)&&(m.y>=e.y&&p.y<=e.y||m.y<=e.y&&p.y>=e.y)){var f=(p.y-m.y)*(d.x-e.x)-(p.x-m.x)*(d.y-e.y);if(0!==f){f=1/f;var g=((p.x-m.x)*(e.y-m.y)-(p.y-m.y)*(e.x-m.x))*f,_=((d.x-e.x)*(e.y-m.y)-(d.y-e.y)*(e.x-m.x))*f;if(g>=0&&1>=g&&_>=0&&1>=_){var y=new r(e.x+g*(d.x-e.x),e.y+g*(d.y-e.y)),C=r.subtract(y,e);f=r.magnitudeSquared(C),o>f&&(s=y,o=f,n[0]=h,n[1]=(h+1)%t.length)}}}}return s}function S(e,t){var i=g(t),n=t[i],o=v(n),a=n[o],s=[],l=C(a,e,s),u=y(e,l);if(-1!==u)return u;var h=r.magnitudeSquared(r.subtract(e[s[0]],a)),d=r.magnitudeSquared(r.subtract(e[s[1]],a)),m=d>h?e[s[0]]:e[s[1]],p=_(e),f=p.indexOf(m);-1!==f&&p.splice(f,1);for(var S=[],w=0;w0){var b=new r(1,0);for(w=0;wP&&(x=P,m=S[w])}}}return e.indexOf(m)}function w(e,t,r){for(var n=G.computeWindingOrder2D(e),o=0;oi&&(i=t.length-1),i===t.length&&(i=0),P(i,t),i +}function P(t,n){var o=t-1,a=t+1;0>o&&(o=n.length-1),a===n.length&&(a=0);var s=r.subtract(n[o].position,n[t].position),l=r.subtract(n[a].position,n[t].position);if(s=new i(s.x,s.y,0),l=new i(l.x,l.y,0),D(s,l)){var u=new e("Superfluous vertex found.");throw u.vertexIndex=t,u}}function D(e,t){return 0===i.cross(e,t).z}function M(e,t){return i.cross(e,t).z<0}function I(e,t){return i.cross(e,t).z>0}function O(e,t,r){return i.cross(e,r).z>0&&i.cross(r,t).z>0}function R(e,t,r){return i.cross(e,r).z<0&&i.cross(r,t).z<0}function L(e,t,i){for(var n=0;nt||e>r)&&(t>e||r>e)||t===r&&t===e}function z(t){var r=t.length;if(3===r)return N(t)?[]:[t[0].index,t[1].index,t[2].index];if(t.length<3)throw new e("Invalid polygon: must have at least three vertices.");for(var i=!1,n=0;!i;){var o=10*t.length;if(n>o)return[];n++;for(var a=E(t.length),s=a+1;Math.abs(a-s)<2||Math.abs(a-s)>t.length-2;)s=E(t.length);if(a>s){var l=a;a=s,s=l}try{if(x(a,s,t)){var u=t.splice(a,s-a+1,t[a],t[s]);return z(t).concat(z(u))}}catch(c){if(c.hasOwnProperty("vertexIndex"))return t.splice(c.vertexIndex,1),z(t);throw c}}}var F=0,V=-1,k=1,U=new i,W=new i,G={removeDuplicates:function(e){for(var t=e.length,r=[],n=t-1,o=0;t>o;n=o++){var a=e[n],s=e[o];i.equals(a,s)||r.push(s)}return r},computeArea2D:function(e){for(var t=e.length,r=0,i=t-1,n=0;t>n;i=n++){var o=e[i],a=e[n];r+=o.x*a.y-a.x*o.y}return.5*r},computeWindingOrder2D:function(e){var t=G.computeArea2D(e);return t>=0?p.COUNTER_CLOCKWISE:p.CLOCKWISE},triangulate:function(e){for(var t=e.length,r=[],i=0;t>i;++i)r[i]={position:e[i],index:i};return z(r)},resetSeed:function(e){F=u(e,0)},computeSubdivision:function(e,r,n){n=u(n,t.RADIANS_PER_DEGREE);for(var s=new m,l=r.length,c=0;l>c;c+=3)s.enqueue({i0:r[c],i1:r[c+1],i2:r[c+2]});for(var p,f=e.slice(0),v=[],g={};s.length>0;){var _,y,C=s.dequeue(),S=f[C.i0],w=f[C.i1],E=f[C.i2],x=i.angleBetween(S,w),b=i.angleBetween(w,E),T=i.angleBetween(E,S),A=Math.max(x,Math.max(b,T));A>n?x===A?(_=Math.min(C.i0,C.i1).toString()+" "+Math.max(C.i0,C.i1).toString(),p=g[_],p||(y=i.add(S,w),i.multiplyByScalar(y,.5,y),f.push(y),p=f.length-1,g[_]=p),s.enqueue({i0:C.i0,i1:p,i2:C.i2}),s.enqueue({i0:p,i1:C.i1,i2:C.i2})):b===A?(_=Math.min(C.i1,C.i2).toString()+" "+Math.max(C.i1,C.i2).toString(),p=g[_],p||(y=i.add(w,E),i.multiplyByScalar(y,.5,y),f.push(y),p=f.length-1,g[_]=p),s.enqueue({i0:C.i1,i1:p,i2:C.i0}),s.enqueue({i0:p,i1:C.i2,i2:C.i0})):T===A&&(_=Math.min(C.i2,C.i0).toString()+" "+Math.max(C.i2,C.i0).toString(),p=g[_],p||(y=i.add(E,S),i.multiplyByScalar(y,.5,y),f.push(y),p=f.length-1,g[_]=p),s.enqueue({i0:C.i2,i1:p,i2:C.i1}),s.enqueue({i0:p,i1:C.i0,i2:C.i1})):(v.push(C.i0),v.push(C.i1),v.push(C.i2))}var P=f.length,D=new Array(3*P),M=0;for(p=0;P>p;p++){var I=f[p];D[M++]=I.x,D[M++]=I.y,D[M++]=I.z}return new o({attributes:{position:new a({componentDatatype:h.DOUBLE,componentsPerAttribute:3,values:D})},indices:v,primitiveType:d.TRIANGLES})},scaleToGeodeticHeight:function(e,t,r,o){r=u(r,s.WGS84);var a=U,l=W;if(t=u(t,0),o=u(o,!0),n(e)&&n(e.attributes)&&n(e.attributes.position))for(var c=e.attributes.position.values,h=c.length,d=0;h>d;d+=3)i.fromArray(c,d,l),o&&(l=r.scaleToGeodeticSurface(l,l)),a=r.geodeticSurfaceNormal(l,a),i.multiplyByScalar(a,t,a),i.add(l,a,l),c[d]=l.x,c[d+1]=l.y,c[d+2]=l.z;return e},eliminateHoles:function(e,t,r){r=u(r,s.WGS84);for(var n=[],o=0;o0;)c=w(c,n,r);return c}};return G}),r("Core/PolygonGeometry",["./defaultValue","./BoundingRectangle","./BoundingSphere","./Cartesian2","./Cartesian3","./ComponentDatatype","./defined","./DeveloperError","./Ellipsoid","./EllipsoidTangentPlane","./Geometry","./GeometryAttribute","./GeometryAttributes","./GeometryInstance","./GeometryPipeline","./IndexDatatype","./Math","./Matrix3","./PolygonGeometryLibrary","./PolygonPipeline","./PrimitiveType","./Quaternion","./Queue","./VertexFormat","./WindingOrder"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f,v,g,_,y,C,S,w,E,x){"use strict";function b(e,t,r,i){for(var o=S.fromAxisAngle(e._plane.normal,r,O),s=g.fromQuaternion(o,R),l=Number.POSITIVE_INFINITY,u=Number.NEGATIVE_INFINITY,c=Number.POSITIVE_INFINITY,h=Number.NEGATIVE_INFINITY,d=t.length,m=0;d>m;++m){var p=n.clone(t[m],I);g.multiplyByVector(s,p,p);var f=e.projectPointOntoPlane(p,M);a(f)&&(l=Math.min(l,f.x),u=Math.max(u,f.x),c=Math.min(c,f.y),h=Math.max(h,f.y))}return i.x=l,i.y=c,i.width=u-l,i.height=h-c,i}function T(e,t,r,i){var n=u.fromPoints(t,e),a=n.projectPointsOntoPlane(t,L),s=y.computeWindingOrder2D(a);s===x.CLOCKWISE&&(a.reverse(),t.reverse());var l=y.triangulate(a);l.length<3&&(l=[0,1,2]);var d;if(i){for(var p=t.length,f=new Array(3*p),v=0,g=0;p>g;g++){var _=t[g];f[v++]=_.x,f[v++]=_.y,f[v++]=_.z}d=new c({attributes:{position:new h({componentDatatype:o.DOUBLE,componentsPerAttribute:3,values:f})},indices:l,primitiveType:C.TRIANGLES})}else d=y.computeSubdivision(t,l,r);return new m({geometry:d})}function A(e,t,r,a,s,l,c){if(e.st||e.normal||e.tangent||e.binormal){var d=u.fromPoints(r,a),m=b(d,r,s,N),p=G;p.x=m.x,p.y=m.y;var f=t.attributes.position.values,_=f.length,y=e.st?new Float32Array(2*(_/3)):void 0,C=e.normal?new Float32Array(_):void 0,w=e.tangent?new Float32Array(_):void 0,E=e.binormal?new Float32Array(_):void 0,x=0,T=0,A=z,P=F,D=V,M=!0,I=S.fromAxisAngle(d._plane.normal,s,q),O=g.fromQuaternion(I,Y),R=_/2,L=_/3;l&&(_/=2);for(var k=0;_>k;k+=3){var X=n.fromArray(f,k,j);if(e.st){var Z=g.multiplyByVector(O,X,B),J=d.projectPointOntoPlane(Z,H);i.subtract(J,p,J),l&&(y[x+L]=J.x/m.width,y[x+1+L]=J.y/m.height),y[x]=J.x/m.width,y[x+1]=J.y/m.height,x+=2}if(e.normal||e.tangent||e.binormal){var Q=T+1,K=T+2;if(c){if(_>k+3){var $=n.fromArray(f,k+3,U);if(M){var et=n.fromArray(f,k+_,W);n.subtract($,X,$),n.subtract(et,X,et),A=n.normalize(n.cross(et,$,A),A),M=!1}n.equalsEpsilon($,X,v.EPSILON10)&&(M=!0)}(e.tangent||e.binormal)&&(D=a.geodeticSurfaceNormal(X,D),e.tangent&&(P=n.normalize(n.cross(D,A,P),P)))}else A=a.geodeticSurfaceNormal(X,A),(e.tangent||e.binormal)&&(P=n.cross(n.UNIT_Z,A,P),P=n.normalize(g.multiplyByVector(O,P,P),P),e.binormal&&(D=n.normalize(n.cross(A,P,D),D)));e.normal&&(l&&!c?(C[T+R]=-A.x,C[Q+R]=-A.y,C[K+R]=-A.z):(C[T+R]=A.x,C[Q+R]=A.y,C[K+R]=A.z),C[T]=A.x,C[Q]=A.y,C[K]=A.z),e.tangent&&(l&&!c?(w[T+R]=-P.x,w[Q+R]=-P.y,w[K+R]=-P.z):(w[T+R]=P.x,w[Q+R]=P.y,w[K+R]=P.z),w[T]=P.x,w[Q]=P.y,w[K]=P.z),e.binormal&&(l&&(E[T+R]=D.x,E[Q+R]=D.y,E[K+R]=D.z),E[T]=D.x,E[Q]=D.y,E[K]=D.z),T+=3}}e.st&&(t.attributes.st=new h({componentDatatype:o.FLOAT,componentsPerAttribute:2,values:y})),e.normal&&(t.attributes.normal=new h({componentDatatype:o.FLOAT,componentsPerAttribute:3,values:C})),e.tangent&&(t.attributes.tangent=new h({componentDatatype:o.FLOAT,componentsPerAttribute:3,values:w})),e.binormal&&(t.attributes.binormal=new h({componentDatatype:o.FLOAT,componentsPerAttribute:3,values:E}))}return t}function P(e,t,r){var i,a,s,l,u,m,p,g,y,S=[],w=e.length;if(r)for(p=0;w>p;p++)g=e[p],y=e[(p+1)%w],S.push(g.x,g.y,g.z,y.x,y.y,y.z);else for(p=0;w>p;p++)g=e[p],y=e[(p+1)%w],i=_.subdivideLine(g,y,t),i.push(y.x,y.y,y.z),S=S.concat(i);S=S.concat(S),w=S.length;var E=f.createTypedArray(w/3,w-6*e.length);for(a=0,w/=6,p=0;w>p;p++)s=p,l=s+1,g=n.fromArray(S,3*s,U),y=n.fromArray(S,3*l,W),n.equalsEpsilon(g,y,v.EPSILON6)||(u=s+w,m=u+1,E[a++]=s,E[a++]=u,E[a++]=l,E[a++]=l,E[a++]=u,E[a++]=m);return new c({attributes:new d({position:new h({componentDatatype:o.DOUBLE,componentsPerAttribute:3,values:S})}),indices:E,primitiveType:C.TRIANGLES})}function D(e,t,r,i,n){var a=T(e,t,r,n).geometry,s=a.attributes.position.values,l=a.indices,u=s.concat(s),p=u.length/3,v=f.createTypedArray(p,2*l.length);v.set(l);var g,_=l.length,C=p/2;for(g=0;_>g;g+=3){var S=v[g]+C,w=v[g+1]+C,E=v[g+2]+C;v[g+_]=E,v[g+1+_]=w,v[g+2+_]=S}var b=new c({attributes:new d({position:new h({componentDatatype:o.DOUBLE,componentsPerAttribute:3,values:u})}),indices:v,primitiveType:a.primitiveType}),A={topAndBottom:new m({geometry:b})};A.walls=[];var D=i.outerRing,M=y.computeWindingOrder2D(D);M===x.CLOCKWISE&&(D=D.reverse());var I=P(D,r,n);A.walls.push(new m({geometry:I}));var O=i.holes;for(g=0;gP;P++){var N=O[P];if(N.positions=y.removeDuplicates(N.positions),N.positions.length<3)throw new s("At least three positions are required.");L.push(N.positions);var F=0;a(N.holes)&&(F=N.holes.length);for(var V=0;F>V;V++)b.enqueue(N.holes[V])}S.push({outerRing:I,holes:L});var U=y.eliminateHoles(I,L);x.push(U)}}l=x[0],t=r.fromPoints(l);var W,G=[];if(C){for(P=0;P_;_++){var E=o[_],x=o[(_+1)%S];C.push(E.x,E.y,E.z,x.x,x.y,x.z)}else for(_=0;S>_;_++)C=C.concat(f.subdivideLine(o[_],o[(_+1)%S],r));S=C.length/3;var b=2*S,T=m.createTypedArray(C.length/3,b),A=0;for(_=0;S-1>_;_++)T[A++]=_,T[A++]=_+1;return T[A++]=S-1,T[A++]=0,new h({geometry:new l({attributes:new c({position:new u({componentDatatype:n.DOUBLE,componentsPerAttribute:3,values:new Float64Array(C)})}),indices:T,primitiveType:g.LINES})})}function S(e,t,r,i){var o=v.removeDuplicates(t),a=s.fromPoints(o,e),d=a.projectPointsOntoPlane(o,w),p=v.computeWindingOrder2D(d);p===y.CLOCKWISE&&(d.reverse(),o.reverse());var _,C=[],S=o.length,E=new Array(S);if(E[0]=0,i){var x,b;for(_=0;S-1>_;_++)x=o[_],b=o[(_+1)%S],C.push(x.x,x.y,x.z,b.x,b.y,b.z),E[_+1]=C.length/3;x=o[S-1],b=o[0],C.push(x.x,x.y,x.z,b.x,b.y,b.z)}else{for(_=0;S-1>_;_++)C=C.concat(f.subdivideLine(o[_],o[_+1],r)),E[_+1]=C.length/3;C=C.concat(f.subdivideLine(o[S-1],o[0],r))}S=C.length/3;var T=2*(2*S+E.length),A=m.createTypedArray(C.length/3,T),P=0;for(_=0;S-1>_;_++)A[P++]=_,A[P++]=_+1,A[P++]=_+S,A[P++]=_+1+S;for(A[P++]=S-1,A[P++]=0,A[P++]=S+S-1,A[P++]=S,_=0;_T;T++){var M=A.holes[T];y.push(M.positions);var I=0;t(M.holes)&&(I=M.holes.length);for(var O=0;I>O;O++)w.enqueue(M.holes[O])}y.push(P)}a=y[0],n=r.fromPoints(a);var R,L=[];if(m)for(T=0;To;++o)T+=4*b[o]-4;var P,D,M=new Float64Array(3*T),I=new Float64Array(3*T),O=new Float64Array(3*T),R=new Float32Array(2*T),L=C.st?new Float32Array(2*T):void 0,N=e(S)?new Uint8Array(4*T):void 0,B=0,z=0,F=0,V=0,k=0,U=0,W=x.length;for(u=0;W>u;++u){0===u?(D=f,s.subtract(x[0],x[1],D),s.add(x[0],D,D)):D=x[u-1],s.clone(D,g),s.clone(x[u],v),u===W-1?(D=f,s.subtract(x[W-1],x[W-2],D),s.add(x[W-1],D,D)):D=x[u+1],s.clone(D,_),P=b[k],u===U+P&&(U+=P,++k);var G,H,j=0===u-U,q=u===U+b[k]-1,Y=j?2:0,X=q?2:4;if(e(N)){var Z=u-k;G=j||w?S[Z]:S[Z-1],q||(H=S[Z])}for(p=Y;X>p;++p){s.pack(v,M,B),s.pack(g,I,B),s.pack(_,O,B),B+=3;var J=0>p-2?-1:1;if(R[z++]=2*(p%2)-1,R[z++]=J*y,C.st&&(L[F++]=u/(W-1),L[F++]=Math.max(R[z-2],0)),e(N)){var Q=2>p?G:H;N[V++]=m.floatToByte(Q.red),N[V++]=m.floatToByte(Q.green),N[V++]=m.floatToByte(Q.blue),N[V++]=m.floatToByte(Q.alpha)}}}var K=new d;K.position=new h({componentDatatype:r.DOUBLE,componentsPerAttribute:3,values:M}),K.prevPosition=new h({componentDatatype:r.DOUBLE,componentsPerAttribute:3,values:I}),K.nextPosition=new h({componentDatatype:r.DOUBLE,componentsPerAttribute:3,values:O}),K.expandAndWidth=new h({componentDatatype:r.FLOAT,componentsPerAttribute:2,values:R}),C.st&&(K.st=new h({componentDatatype:r.FLOAT,componentsPerAttribute:2,values:L})),e(N)&&(K.color=new h({componentDatatype:r.UNSIGNED_BYTE,componentsPerAttribute:4,values:N,normalize:!0})),A=b.length;var $=i.createTypedArray(T,6*x.length-6*A),et=0,tt=0;for(o=0;A>o;++o)for(P=b[o]-1,u=0;P>u;++u)$[tt++]=et,$[tt++]=et+2,$[tt++]=et+1,$[tt++]=et+1,$[tt++]=et+2,$[tt++]=et+3,et+=4;return new c({attributes:K,indices:$,primitiveType:n.TRIANGLES,boundingSphere:a.fromPoints(x)})},p}),r("Core/PolylineVolumeGeometry",["./BoundingRectangle","./BoundingSphere","./ComponentDatatype","./CornerType","./defaultValue","./defined","./DeveloperError","./Ellipsoid","./Geometry","./GeometryAttribute","./GeometryAttributes","./GeometryPipeline","./IndexDatatype","./Math","./PolygonPipeline","./PolylineVolumeGeometryLibrary","./PrimitiveType","./VertexFormat","./WindingOrder"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f,v,g,_){"use strict";function y(e,i,n,o){var a=new c;o.position&&(a.position=new u({componentDatatype:r.DOUBLE,componentsPerAttribute:3,values:e}));var s,m,f,g,_,y,C=i.length,S=e.length/3,w=(S-2*C)/(2*C),E=p.triangulate(i),x=6*(w-1)*C+2*E.length,b=d.createTypedArray(S,x),T=2*C,A=0;for(s=0;w-1>s;s++){for(m=0;C-1>m;m++)f=2*m+2*s*C,y=f+T,g=f+1,_=g+T,b[A++]=g,b[A++]=f,b[A++]=_,b[A++]=_,b[A++]=f,b[A++]=y;f=2*C-2+2*s*C,g=f+1,_=g+T,y=f+T,b[A++]=g,b[A++]=f,b[A++]=_,b[A++]=_,b[A++]=f,b[A++]=y}if(o.st||o.tangent||o.binormal){var P,D,M=new Float32Array(2*S),I=1/(w-1),O=1/n.height,R=n.height/2,L=0;for(s=0;w>s;s++){for(P=s*I,D=O*(i[0].y+R),M[L++]=P,M[L++]=D,m=1;C>m;m++)D=O*(i[m].y+R),M[L++]=P,M[L++]=D,M[L++]=P,M[L++]=D;D=O*(i[0].y+R),M[L++]=P,M[L++]=D}for(m=0;C>m;m++)P=0,D=O*(i[m].y+R),M[L++]=P,M[L++]=D;for(m=0;C>m;m++)P=(w-1)*I,D=O*(i[m].y+R),M[L++]=P,M[L++]=D;a.st=new u({componentDatatype:r.FLOAT,componentsPerAttribute:2,values:new Float32Array(M)})}var N=S-2*C;for(s=0;sa;a++)v[g++]=a+_,v[g++]=a+_+1;for(v[g++]=s-1+_,v[g++]=_,o=p-1,_=o*s,a=0;s-1>a;a++)v[g++]=a+_,v[g++]=a+_+1;for(v[g++]=s-1+_,v[g++]=_,o=0;p-1>o;o++){var y=s*o,C=y+s;for(a=0;s>a;a++)v[g++]=a+y,v[g++]=a+C}var S=new l({attributes:n,indices:h.createTypedArray(d,v),boundingSphere:t.fromVertices(e),primitiveType:f.LINES});return S}var _=function(e){e=n(e,n.EMPTY_OBJECT);var t=e.polylinePositions,r=e.shapePositions;this._positions=t,this._shape=r,this._ellipsoid=n(e.ellipsoid,s.WGS84),this._cornerType=n(e.cornerType,i.ROUNDED),this._granularity=n(e.granularity,d.RADIANS_PER_DEGREE),this._workerName="createPolylineVolumeOutlineGeometry"},y=new e;return _.createGeometry=function(t){var r=t._positions,i=p.removeDuplicatesFromPositions(r,t._ellipsoid),n=t._shape;n=p.removeDuplicatesFromShape(n),m.computeWindingOrder2D(n).value===v.CLOCKWISE.value&&n.reverse();var o=e.fromPoints(n,y),a=p.computePositions(i,n,o,t,!1);return g(a,n)},_}),r("Core/QuaternionSpline",["./defaultValue","./defined","./DeveloperError","./Spline","./Quaternion"],function(e,t,r,i,n){"use strict";function o(e,r,i){var o=e.length,a=new Array(o);a[0]=t(r)?r:e[0],a[o-1]=t(i)?i:e[o-1];for(var s=1;o-1>s;++s)a[s]=n.innerQuadrangle(e[s-1],e[s],e[s+1]);return a}function a(e){var t=e.points,r=e.innerQuadrangles,i=e.times;if(t.length<3){var o=i[0],a=1/(i[1]-o),s=t[0],l=t[1];return function(e,t){var r=(e-o)*a;return n.fastSlerp(s,l,r,t)}}return function(o,a){var s=e._lastTimeIndex=e.findTimeInterval(o,e._lastTimeIndex),l=(o-i[s])/(i[s+1]-i[s]),u=t[s],c=t[s+1],h=r[s],d=r[s+1];return n.fastSquad(u,c,h,d,l,a)}}var s=function(t){t=e(t,e.EMPTY_OBJECT);var r=t.points,i=t.times,n=t.firstInnerQuadrangle,s=t.lastInnerQuadrangle,l=o(r,n,s);this.times=i,this.points=r,this.innerQuadrangles=l,this._evaluateFunction=a(this),this._lastTimeIndex=0};return s.prototype.findTimeInterval=i.prototype.findTimeInterval,s.prototype.evaluate=function(e,t){return this._evaluateFunction(e,t)},s}),r("Core/ReferenceFrame",["./Enumeration"],function(e){"use strict";var t={FIXED:new e(0,"FIXED"),INERTIAL:new e(1,"INERTIAL")};return t}),r("Core/destroyObject",["./defaultValue","./DeveloperError"],function(e,t){"use strict";function r(){return!0}var i=function(i,n){function o(){throw new t(n)}n=e(n,"This object was destroyed, i.e., destroy() was called.");for(var a in i)"function"==typeof i[a]&&(i[a]=o);return i.isDestroyed=r,void 0};return i}),r("Core/ScreenSpaceEventType",["./Enumeration"],function(e){"use strict";var t={LEFT_DOWN:new e(0,"LEFT_DOWN"),LEFT_UP:new e(1,"LEFT_UP"),LEFT_CLICK:new e(2,"LEFT_CLICK"),LEFT_DOUBLE_CLICK:new e(3,"LEFT_DOUBLE_CLICK"),RIGHT_DOWN:new e(5,"RIGHT_DOWN"),RIGHT_UP:new e(6,"RIGHT_UP"),RIGHT_CLICK:new e(7,"RIGHT_CLICK"),RIGHT_DOUBLE_CLICK:new e(8,"RIGHT_DOUBLE_CLICK"),MIDDLE_DOWN:new e(10,"MIDDLE_DOWN"),MIDDLE_UP:new e(11,"MIDDLE_UP"),MIDDLE_CLICK:new e(12,"MIDDLE_CLICK"),MIDDLE_DOUBLE_CLICK:new e(13,"MIDDLE_DOUBLE_CLICK"),MOUSE_MOVE:new e(15,"MOUSE_MOVE"),WHEEL:new e(16,"WHEEL"),PINCH_START:new e(17,"PINCH_START"),PINCH_END:new e(18,"PINCH_END"),PINCH_MOVE:new e(19,"PINCH_MOVE")};return t}),r("Core/ScreenSpaceEventHandler",["./Cartesian2","./defaultValue","./defined","./destroyObject","./DeveloperError","./ScreenSpaceEventType","./KeyboardEventModifier"],function(e,t,r,i,n,o,a){"use strict";function s(e,t,r){if(e._element===document)return r.x=t.clientX,r.y=t.clientY,r;var i=e._element.getBoundingClientRect();return r.x=t.clientX-i.left,r.y=t.clientY-i.top,r}function l(e,t){var i=e.name;return r(t)&&(i+="+"+t.name),i}function u(e){return e.shiftKey?a.SHIFT:e.ctrlKey?a.CTRL:e.altKey?a.ALT:void 0}function c(e,t){var i=s(e,t,C.position);if(e._lastMousePosition.x=i.x,e._lastMousePosition.y=i.y,e._totalPixels=0,!e._seenAnyTouchEvents){var n,a=u(t);0===t.button?(e._leftMouseButtonDown=!0,n=e.getInputAction(o.LEFT_DOWN,a)):1===t.button?(e._middleMouseButtonDown=!0,n=e.getInputAction(o.MIDDLE_DOWN,a)):2===t.button&&(e._rightMouseButtonDown=!0,n=e.getInputAction(o.RIGHT_DOWN,a)),r(n)&&n(C),t.preventDefault()}}function h(e,t){var i,n,a=u(t);if(!e._seenAnyTouchEvents){0===t.button?(e._leftMouseButtonDown=!1,i=e.getInputAction(o.LEFT_UP,a),n=e.getInputAction(o.LEFT_CLICK,a)):1===t.button?(e._middleMouseButtonDown=!1,i=e.getInputAction(o.MIDDLE_UP,a),n=e.getInputAction(o.MIDDLE_CLICK,a)):2===t.button&&(e._rightMouseButtonDown=!1,i=e.getInputAction(o.RIGHT_UP,a),n=e.getInputAction(o.RIGHT_CLICK,a));var l=s(e,t,S.position),c=e._lastMousePosition.x-l.x,h=e._lastMousePosition.y-l.y;e._totalPixels+=Math.sqrt(c*c+h*h),r(i)&&i(S),r(n)&&e._totalPixels0)){var h=s(e,t.changedTouches[0],b.position),d=e._lastMousePosition.x-h.x,p=e._lastMousePosition.y-h.y;e._totalPixels+=Math.sqrt(d*d+p*p),r(i)&&i(b),r(n)&&e._totalPixelsP;P++,p+=v,++_){S=v>0?m[p]+f:f-m[p],E=S+d,x=-Math.cos(E),T=o.multiplyByScalar(c,x),x=Math.sin(E),A=o.multiplyByScalar(h,x),T=o.add(T,A,T),x=Math.cos(S),x*=x,b=Math.sin(S),b*=b,w=n/Math.sqrt(i*x+r*b),C=w/t,x=Math.sin(C/2);var D=a.normalize(new a(T.x*x,T.y*x,T.z*x,Math.cos(C/2))),M=s.fromQuaternion(D),I=s.multiplyByVector(M,u),O=o.normalize(I);I=o.multiplyByScalar(O,t),g[_]=I}}var u={computeCircleBoundary:function(t,r,n,o){return o=e(o,i.RADIANS_PER_DEGREE),this.computeEllipseBoundary(t,r,n,n,0,o) +},computeEllipseBoundary:function(t,r,n,a,s,u){if(s=e(s,0),u=e(u,i.RADIANS_PER_DEGREE),a>n){var c=n;n=a,a=c}for(var h=2.31,d=n*n,m=a*a,p=n*a,f=1-m/d,v=Math.sqrt(f),g=o.clone(r),_=o.magnitude(g),y=new o(0,0,1),C=1/_,S=o.multiplyByScalar(g,C),w=o.normalize(o.cross(y,g)),E=o.cross(S,w),x=1+Math.ceil(i.PI_OVER_TWO/u),b=h/(x-1),T=[],A=0,P=0,D=0;x>D;D++,P+=b,++A)if(T[A]=P-v*Math.sin(P),T[A]>=i.PI_OVER_TWO){T[A]=i.PI_OVER_TWO,x=D+1;break}var M=[];return l(t,_,d,m,p,v,S,w,E,s,T,0,0,1,M,0,x-1),l(t,_,d,m,p,v,S,w,E,s,T,x-1,Math.PI,-1,M,x-1,x-1),l(t,_,d,m,p,v,S,w,E,s,T,0,Math.PI,1,M,2*x-2,x-1),l(t,_,d,m,p,v,S,w,E,s,T,x-1,i.TWO_PI,-1,M,3*x-3,x),M.push(o.clone(M[0])),M},compute2DCircle:function(t,r){t=e(t,1),r=e(r,2*i.RADIANS_PER_DEGREE);for(var o=[],a=i.toRadians(1),s=2*Math.PI/a,l=0;s>l;l++)o.push(new n(t*Math.cos(a*l),t*Math.sin(a*l)));return o}};return u}),r("Core/ShowGeometryInstanceAttribute",["./defaultValue","./defined","./ComponentDatatype","./DeveloperError"],function(e,t,r){"use strict";var i=function(t){t=e(t,!0),this.componentDatatype=r.UNSIGNED_BYTE,this.componentsPerAttribute=1,this.normalize=!0,this.value=i.toValue(t)};return i.toValue=function(e,r){return t(r)?(r[0]=e,r):new Uint8Array([e])},i}),r("Core/Simon1994PlanetaryPositions",["./Cartesian3","./defined","./DeveloperError","./JulianDate","./Math","./Matrix3","./TimeConstants","./TimeStandard"],function(e,t,r,i,n,o,a,s){"use strict";function l(e){var t=6.239996+.0172019696544*e;return.001657*Math.sin(t+.01671*Math.sin(t))}function u(e,t){t=e.addSeconds(C,t);var r=t.getTotalDays()-S;return t=t.addSeconds(l(r),t)}function c(i,a,s,l,u,c,m,p){if(0>s&&(s=-s,u+=n.PI),0>s||s>n.PI)throw new r("The inclination is out of range. Inclination must be greater than or equal to zero and less than or equal to Pi radians.");var v=i*(1-a),g=l-u,_=u,y=d(c-l,a),C=h(a,0);if("Hyperbolic"===C&&Math.abs(n.NegativePiToPi(y))>=Math.acos(-1/a))throw new r("The true anomaly of the hyperbolic orbit lies outside of the bounds of the hyperbola.");f(g,s,_,D);var S=v*(1+a),w=Math.cos(y),E=Math.sin(y),x=1+a*w;if(x<=n.Epsilon10)throw new r("elements cannot be converted to cartesian");var b=S/x;return t(p)?(p.x=b*w,p.y=b*E,p.z=0):p=new e(b*w,b*E,0),o.multiplyByVector(D,p,p)}function h(e,t){if(0>e)throw new r("eccentricity cannot be negative.");return t>=e?"Circular":1-t>e?"Elliptical":1+t>=e?"Parabolic":"Hyperbolic"}function d(e,t){if(0>t||t>=1)throw new r("eccentricity out of range.");var i=m(e,t);return p(i,t)}function m(e,t){if(0>t||t>=1)throw new r("eccentricity out of range.");var i=Math.floor(e/n.TWO_PI);e-=i*n.TWO_PI;var o,a=e+t*Math.sin(e)/(1-Math.sin(e+t)+Math.sin(e)),s=Number.MAX_VALUE;for(o=0;M>o&&Math.abs(s-a)>I;++o){s=a;var l=s-t*Math.sin(s)-e,u=1-t*Math.cos(s);a=s-l/u}if(o>=M)throw new r("Kepler equation did not converge");return s=a+i*n.TWO_PI}function p(e,t){if(0>t||t>=1)throw new r("eccentricity out of range.");var i=Math.floor(e/n.TWO_PI);e-=i*n.TWO_PI;var o=Math.cos(e)-t,a=Math.sin(e)*Math.sqrt(1-t*t),s=Math.atan2(a,o);return s=n.zeroToTwoPi(s),0>e&&(s-=n.TWO_PI),s+=i*n.TWO_PI}function f(e,i,a,s){if(0>i||i>n.PI)throw new r("inclination out of range");var l=Math.cos(e),u=Math.sin(e),c=Math.cos(i),h=Math.sin(i),d=Math.cos(a),m=Math.sin(a);return t(s)?(s[0]=d*l-m*u*c,s[1]=m*l+d*u*c,s[2]=u*h,s[3]=-d*u-m*l*c,s[4]=-m*u+d*l*c,s[5]=l*h,s[6]=m*h,s[7]=-d*h,s[8]=c):s=new o(d*l-m*u*c,-d*u-m*l*c,m*h,m*l+d*u*c,-m*u+d*l*c,-d*h,u*h,l*h,c),s}function v(e,t){u(e,Dt);var r=Dt.getJulianDayNumber()-w.getJulianDayNumber()+(Dt.getSecondsOfDay()-w.getSecondsOfDay())/a.SECONDS_PER_DAY,i=r/(10*a.DAYS_PER_JULIAN_CENTURY),n=.3595362*i,o=O+G*Math.cos(N*n)+Q*Math.sin(N*n)+H*Math.cos(B*n)+K*Math.sin(B*n)+j*Math.cos(z*n)+$*Math.sin(z*n)+q*Math.cos(F*n)+et*Math.sin(F*n)+Y*Math.cos(V*n)+tt*Math.sin(V*n)+X*Math.cos(k*n)+rt*Math.sin(k*n)+Z*Math.cos(U*n)+it*Math.sin(U*n)+J*Math.cos(W*n)+nt*Math.sin(W*n),s=R+L*i+mt*Math.cos(ot*n)+St*Math.sin(ot*n)+pt*Math.cos(at*n)+wt*Math.sin(at*n)+ft*Math.cos(st*n)+Et*Math.sin(st*n)+vt*Math.cos(lt*n)+xt*Math.sin(lt*n)+gt*Math.cos(ut*n)+bt*Math.sin(ut*n)+_t*Math.cos(ct*n)+Tt*Math.sin(ct*n)+yt*Math.cos(ht*n)+At*Math.sin(ht*n)+Ct*Math.cos(dt*n)+Pt*Math.sin(dt*n),l=.0167086342-.0004203654*i,h=102.93734808*T+11612.3529*A*i,d=469.97289*A*i,m=174.87317577*T-8679.27034*A*i;return c(o,l,d,h,m,s,x,t)}function g(e,t){u(e,Dt);var r=Dt.getJulianDayNumber()-w.getJulianDayNumber()+(Dt.getSecondsOfDay()-w.getSecondsOfDay())/a.SECONDS_PER_DAY,i=r/a.DAYS_PER_JULIAN_CENTURY,n=i*i,o=n*i,s=o*i,l=383397.7725+.004*i,h=.055545526-1.6e-8*i,d=5.15668983*T,m=-8e-5*i+.02966*n-42e-6*o-1.3e-7*s,p=83.35324312*T,f=14643420.2669*i-38.2702*n-.045047*o+21301e-8*s,v=125.04455501*T,g=-6967919.3631*i+6.3602*n+.007625*o-3586e-8*s,_=218.31664563*T,y=1732559343.4847*i-6.391*n+.006588*o-3169e-8*s,C=297.85019547*T+A*(1602961601.209*i-6.3706*n+.006593*o-3169e-8*s),S=93.27209062*T+A*(1739527262.8478*i-12.7512*n-.001037*o+417e-8*s),x=134.96340251*T+A*(1717915923.2178*i+31.8792*n+.051635*o-2447e-7*s),P=357.52910918*T+A*(129596581.0481*i-.5532*n+136e-6*o-1149e-8*s),D=310.17137918*T-A*(6967051.436*i+6.2068*n+.007618*o-3219e-8*s),M=2*C,I=4*C,O=6*C,R=2*x,L=3*x,N=4*x,B=2*S;l+=3400.4*Math.cos(M)-635.6*Math.cos(M-x)-235.6*Math.cos(x)+218.1*Math.cos(M-P)+181*Math.cos(M+x),h+=.014216*Math.cos(M-x)+.008551*Math.cos(M-R)-.001383*Math.cos(x)+.001356*Math.cos(M+x)-.001147*Math.cos(I-L)-914e-6*Math.cos(I-R)+869e-6*Math.cos(M-P-x)-627e-6*Math.cos(M)-394e-6*Math.cos(I-N)+282e-6*Math.cos(M-P-R)-279e-6*Math.cos(C-x)-236e-6*Math.cos(R)+231e-6*Math.cos(I)+229e-6*Math.cos(O-N)-201e-6*Math.cos(R-B),m+=486.26*Math.cos(M-B)-40.13*Math.cos(M)+37.51*Math.cos(B)+25.73*Math.cos(R-B)+19.97*Math.cos(M-P-B),f+=-55609*Math.sin(M-x)-34711*Math.sin(M-R)-9792*Math.sin(x)+9385*Math.sin(I-L)+7505*Math.sin(I-R)+5318*Math.sin(M+x)+3484*Math.sin(I-N)-3417*Math.sin(M-P-x)-2530*Math.sin(O-N)-2376*Math.sin(M)-2075*Math.sin(M-L)-1883*Math.sin(R)-1736*Math.sin(O-5*x)+1626*Math.sin(P)-1370*Math.sin(O-L),g+=-5392*Math.sin(M-B)-540*Math.sin(P)-441*Math.sin(M)+423*Math.sin(B)-288*Math.sin(R-B),y+=-3332.9*Math.sin(M)+1197.4*Math.sin(M-x)-662.5*Math.sin(P)+396.3*Math.sin(x)-218*Math.sin(M-P);var z=2*D,F=3*D;m+=46.997*Math.cos(D)*i-.614*Math.cos(M-B+D)*i+.614*Math.cos(M-B-D)*i-.0297*Math.cos(z)*n-.0335*Math.cos(D)*n+.0012*Math.cos(M-B+z)*n-16e-5*Math.cos(D)*o+4e-5*Math.cos(F)*o+4e-5*Math.cos(z)*o;var V=2.116*Math.sin(D)*i-.111*Math.sin(M-B-D)*i-.0015*Math.sin(D)*n;f+=V,y+=V,g+=-520.77*Math.sin(D)*i+13.66*Math.sin(M-B+D)*i+1.12*Math.sin(M-D)*i-1.06*Math.sin(B-D)*i+.66*Math.sin(z)*n+.371*Math.sin(D)*n-.035*Math.sin(M-B+z)*n-.015*Math.sin(M-B+D)*n+.0014*Math.sin(D)*o-.0011*Math.sin(F)*o-9e-4*Math.sin(z)*o,l*=b;var k=d+m*A,U=p+f*A,W=_+y*A,G=v+g*A;return c(l,h,k,U,G,W,E,t)}function _(t,r){return r=g(t,r),e.multiplyByScalar(r,It,r)}var y={},C=32.184,S=2451545,w=i.fromTotalDays(2451545,s.TAI),E=398600435e6,x=328900.56*1.012300034*E,b=1e3,T=n.RADIANS_PER_DEGREE,A=n.RADIANS_PER_ARCSECOND,P=14959787e4,D=new o,M=50,I=n.EPSILON8,O=1.0000010178*P,R=100.46645683*T,L=1295977422.83429*A,N=16002,B=21863,z=32004,F=10931,V=14529,k=16368,U=15318,W=32794,G=64e-7*P,H=-152*1e-7*P,j=62e-7*P,q=-8e-7*P,Y=32e-7*P,X=-41*1e-7*P,Z=19e-7*P,J=-11*1e-7*P,Q=-150*1e-7*P,K=-46*1e-7*P,$=68*1e-7*P,et=54e-7*P,tt=14e-7*P,rt=24e-7*P,it=-28*1e-7*P,nt=22e-7*P,ot=10,at=16002,st=21863,lt=10931,ut=1473,ct=32004,ht=4387,dt=73,mt=-325*1e-7,pt=-322*1e-7,ft=-79*1e-7,vt=232*1e-7,gt=-52*1e-7,_t=97e-7,yt=55e-7,Ct=-41*1e-7,St=-105*1e-7,wt=-137*1e-7,Et=258e-7,xt=35e-7,bt=-116*1e-7,Tt=-88*1e-7,At=-112*1e-7,Pt=-80*1e-7,Dt=new i,Mt=.012300034,It=-1*(Mt/(Mt+1)),Ot=new o(1.0000000000000002,5.619723173785822e-16,4.690511510146299e-19,-5.154129427414611e-16,.9174820620691819,-.39777715593191376,-2.23970096136568e-16,.39777715593191376,.9174820620691819),Rt=new e;return y.ComputeSunPositionInEarthInertialFrame=function(r,n){return t(r)||(r=new i),Rt=v(r,Rt),n=e.negate(Rt,n),_(r,Rt),e.subtract(n,Rt,n),o.multiplyByVector(Ot,n,n),n},y.ComputeMoonPositionInEarthInertialFrame=function(e,r){return t(e)||(e=new i),r=g(e,r),o.multiplyByVector(Ot,r,r),r},y}),r("Core/SimplePolylineGeometry",["./defined","./DeveloperError","./ComponentDatatype","./IndexDatatype","./PrimitiveType","./defaultValue","./BoundingSphere","./Geometry","./GeometryAttribute","./GeometryAttributes","./Color","./Cartesian3"],function(e,t,r,i,n,o,a,s,l,u,c,h){"use strict";var d=function(e){e=o(e,o.EMPTY_OBJECT);var t=e.positions,r=e.colors,i=o(e.colorsPerVertex,!1);this._positions=t,this._colors=r,this._perVertex=i,this._workerName="createSimplePolylineGeometry"};return d.createGeometry=function(t){var o,d=t._positions,m=t._colors,p=t._perVertex,f=e(m)&&!p,v=0,g=0,_=d.length,y=f?2*d.length-2:d.length,C=new Float64Array(3*y),S=e(m)?new Uint8Array(4*y):void 0;for(o=0;_>o;++o){var w,E=d[o];if(f&&o>0&&(h.pack(E,C,v),v+=3,w=m[o-1],S[g++]=c.floatToByte(w.red),S[g++]=c.floatToByte(w.green),S[g++]=c.floatToByte(w.blue),S[g++]=c.floatToByte(w.alpha)),f&&o===_-1)break;h.pack(E,C,v),v+=3,e(m)&&(w=m[o],S[g++]=c.floatToByte(w.red),S[g++]=c.floatToByte(w.green),S[g++]=c.floatToByte(w.blue),S[g++]=c.floatToByte(w.alpha))}var x=new u;x.position=new l({componentDatatype:r.DOUBLE,componentsPerAttribute:3,values:C}),e(m)&&(x.color=new l({componentDatatype:r.UNSIGNED_BYTE,componentsPerAttribute:4,values:S,normalize:!0}));var b=f?y:2*(y-1),T=i.createTypedArray(y,b),A=f?2:1;for(v=0,o=0;y-1>o;o+=A)T[v++]=o,T[v++]=o+1;return new s({attributes:x,indices:T,primitiveType:n.LINES,boundingSphere:a.fromPoints(d)})},d}),r("Core/SphereGeometry",["./defaultValue","./Cartesian3","./EllipsoidGeometry"],function(e,t,r){"use strict";var i=function(i){var n=e(i.radius,1),o=new t(n,n,n),a={radii:o,stackPartitions:i.stackPartitions,slicePartitions:i.slicePartitions,vertexFormat:i.vertexFormat};this._ellipsoidGeometry=new r(a),this._workerName="createSphereGeometry"};return i.createGeometry=function(e){return r.createGeometry(e._ellipsoidGeometry)},i}),r("Core/SphereOutlineGeometry",["./defaultValue","./Cartesian3","./EllipsoidOutlineGeometry"],function(e,t,r){"use strict";var i=function(i){var n=e(i.radius,1),o=new t(n,n,n),a={radii:o,stackPartitions:i.stackPartitions,slicePartitions:i.slicePartitions,subdivisions:i.subdivisions};this._ellipsoidGeometry=new r(a),this._workerName="createSphereOutlineGeometry"};return i.createGeometry=function(e){return r.createGeometry(e._ellipsoidGeometry)},i}),r("Core/Spherical",["./DeveloperError","./defaultValue","./defined"],function(e,t,r){"use strict";var i=function(e,r,i){this.clock=t(e,0),this.cone=t(r,0),this.magnitude=t(i,1)};return i.fromCartesian3=function(e,t){var n=e.x,o=e.y,a=e.z,s=n*n+o*o;return r(t)||(t=new i),t.clock=Math.atan2(o,n),t.cone=Math.atan2(Math.sqrt(s),a),t.magnitude=Math.sqrt(s+a*a),t},i.clone=function(e,t){return r(e)?r(t)?(t.clock=e.clock,t.cone=e.cone,t.magnitude=e.magnitude,t):new i(e.clock,e.cone,e.magnitude):void 0},i.normalize=function(e,t){return r(t)?(t.clock=e.clock,t.cone=e.cone,t.magnitude=1,t):new i(e.clock,e.cone,1)},i.equals=function(e,t){return e===t||r(e)&&r(t)&&e.clock===t.clock&&e.cone===t.cone&&e.magnitude===t.magnitude},i.equalsEpsilon=function(e,i,n){return n=t(n,0),e===i||r(e)&&r(i)&&Math.abs(e.clock-i.clock)<=n&&Math.abs(e.cone-i.cone)<=n&&Math.abs(e.magnitude-i.magnitude)<=n},i.toString=function(e){return"("+e.clock+", "+e.cone+", "+e.magnitude+")"},i.prototype.clone=function(e){return i.clone(this,e)},i.prototype.normalize=function(e){return i.normalize(this,e)},i.prototype.equals=function(e){return i.equals(this,e)},i.prototype.equalsEpsilon=function(e,t){return i.equalsEpsilon(this,e,t)},i.prototype.toString=function(){return i.toString(this)},i}),r("Core/isCrossOriginUrl",["./defined"],function(e){"use strict";var t,r=function(r){e(t)||(t=document.createElement("a")),t.href=window.location.href;var i=t.host,n=t.protocol;return t.href=r,t.href=t.href,n!==t.protocol||i!==t.host};return r}),r("Core/TaskProcessor",["require","./buildModuleUrl","./defaultValue","./defined","./destroyObject","./isCrossOriginUrl","../ThirdParty/when","../ThirdParty/Uri"],function(e,t,r,i,n,o,a,s){"use strict";function l(e,t){--e._activeTasks;var r=t.data,n=r.id;if(i(n)){var o=e._deferreds,a=o[n];i(r.error)?a.reject(r.error):a.resolve(r.result),delete o[n]}}function u(){if(i(h))return h;if(h=t("Workers/cesiumWorkerBootstrapper.js"),o(h)){var e,r='importScripts("'+h+'");';try{e=new Blob([r],{type:"application/javascript"})}catch(n){var a=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder,s=new a;s.append(r),e=s.getBlob("application/javascript")}var l=window.URL||window.webkitURL;h=l.createObjectURL(e)}return h}function c(n){var o=u(),a=new Worker(o);a.postMessage=r(a.webkitPostMessage,a.postMessage);var c={loaderConfig:{},workerModule:d._workerModulePrefix+n._workerName};if(i(d._loaderConfig))c.loaderConfig=d._loaderConfig;else if(i(e.toUrl)){var h=new s("..").resolve(new s(t("Workers/cesiumWorkerBootstrapper.js"))).toString();c.loaderConfig.baseUrl=h}else c.loaderConfig.paths={Workers:t("Workers")};a.postMessage(c),a.onmessage=function(e){l(n,e)},n._worker=a}var h,d=function(e,t){this._workerName=e,this._maximumActiveTasks=r(t,5),this._activeTasks=0,this._deferreds={},this._nextID=0},m=[];return d.prototype.scheduleTask=function(e,t){if(i(this._worker)||c(this),this._activeTasks>=this._maximumActiveTasks)return void 0;++this._activeTasks,i(t)||(t=m);var r=this._nextID++,n=a.defer();return this._deferreds[r]=n,this._worker.postMessage({id:r,parameters:e},t),n.promise},d.prototype.isDestroyed=function(){return!1},d.prototype.destroy=function(){return i(this._worker)&&this._worker.terminate(),n(this)},d._defaultWorkerModulePrefix="Workers/",d._workerModulePrefix=d._defaultWorkerModulePrefix,d._loaderConfig=void 0,d}),r("Core/TimeIntervalCollection",["./defined","./defineProperties","./DeveloperError","./Event","./binarySearch","./TimeInterval","./JulianDate"],function(e,t,r,i,n,o,a){"use strict";function s(e,t){return a.compare(e.start,t.start)}function l(t,r,i,n){for(var o=0,a=0,s=new u,l=t._intervals,c=r._intervals;oa;a++)if(!o.equals(r[a],i[a],t))return!1;return!0},u.prototype.get=function(e){return this._intervals[e]},u.prototype.clear=function(){this._intervals.length>0&&(this._intervals.length=0,this._intervalsChanged.raiseEvent(this))},u.prototype.findIntervalContainingDate=function(e){var t=this.indexOf(e);return t>=0?this._intervals[t]:void 0},u.prototype.findDataForIntervalContainingDate=function(e){var t=this.indexOf(e);return t>=0?this._intervals[t].data:void 0},u.prototype.contains=function(e){return this.indexOf(e)>=0},u.prototype.indexOf=function(e){var t=this._intervals,r=n(t,new o(e,e,!0,!0),s);return r>=0?t[r].isStartIncluded?r:r>0&&t[r-1].stop.equals(e)&&t[r-1].isStopIncluded?r-1:~r:(r=~r,r>0&&r-1s;s++)if(o=a[s],!(e(t)&&!o.start.equals(t)||e(r)&&!o.stop.equals(r)||e(i)&&o.isStartIncluded!==i||e(n)&&o.isStopIncluded!==n))return a[s];return void 0},u.prototype.addInterval=function(t,r){if(!t.isEmpty){var i,l,u=this._intervals;if(0===u.length||t.start.greaterThan(u[u.length-1].stop))return u.push(t),this._intervalsChanged.raiseEvent(this),void 0;for(l=n(u,t,s),0>l?l=~l:l>0&&t.isStartIncluded&&u[l-1].isStartIncluded&&u[l-1].start.equals(t.start)?--l:l0&&(i=a.compare(u[l-1].stop,t.start),(i>0||0===i&&(u[l-1].isStopIncluded||t.isStartIncluded))&&((e(r)?r(u[l-1].data,t.data):u[l-1].data===t.data)?(t=t.stop.greaterThan(u[l-1].stop)?new o(u[l-1].start,t.stop,u[l-1].isStartIncluded,t.isStopIncluded,t.data):new o(u[l-1].start,u[l-1].stop,u[l-1].isStartIncluded,u[l-1].isStopIncluded||t.stop.equals(u[l-1].stop)&&t.isStopIncluded,t.data),u.splice(l-1,1),--l):(i=a.compare(u[l-1].stop,t.stop),i>0||0===i&&u[l-1].isStopIncluded&&!t.isStopIncluded?u.splice(l-1,1,new o(u[l-1].start,t.start,u[l-1].isStartIncluded,!t.isStartIncluded,u[l-1].data),new o(t.stop,u[l-1].stop,!t.isStopIncluded,u[l-1].isStopIncluded,u[l-1].data)):u[l-1]=new o(u[l-1].start,t.start,u[l-1].isStartIncluded,!t.isStartIncluded,u[l-1].data))));l0||0===i&&(t.isStopIncluded||u[l].isStartIncluded));)if(e(r)?r(u[l].data,t.data):u[l].data===t.data)t=new o(t.start,u[l].stop.greaterThan(t.stop)?u[l].stop:t.stop,t.isStartIncluded,u[l].stop.greaterThan(t.stop)?u[l].isStopIncluded:t.isStopIncluded,t.data),u.splice(l,1);else{if(u[l]=new o(t.stop,u[l].stop,!t.isStopIncluded,u[l].isStopIncluded,u[l].data),!u[l].isEmpty)break;u.splice(l,1)}u.splice(l,0,t),this._intervalsChanged.raiseEvent(this)}},u.prototype.removeInterval=function(e){if(e.isEmpty)return!1;var t=!1,r=this._intervals,i=n(r,e,s);0>i&&(i=~i);var a=e.start,l=e.stop,u=e.isStartIncluded,c=e.isStopIncluded;if(i>0){var h=r[i-1],d=h.stop;(d.greaterThan(a)||d.equals(a)&&h.isStopIncluded&&u)&&(t=!0,(d.greaterThan(l)||h.isStopIncluded&&!c&&d.equals(l))&&r.splice(i,0,new o(l,d,!c,h.isStopIncluded,h.data)),r[i-1]=new o(h.start,a,h.isStartIncluded,!u,h.data))}var m=r[i];for(ia;a++)u[a]=i;return u}var c=n-i,h=c/l;for(a=1;l>a;a++){var d=i+a*h;u[a]=d}return u[0]=i,u}function c(e,t){return s.equalsEpsilon(e.latitude,t.latitude,s.EPSILON14)&&s.equalsEpsilon(e.longitude,t.longitude,s.EPSILON14)}function h(r,i,n,o){var a=e(o),s=e(n),l=[],u=[],h=a?[]:void 0,d=i.length;if(2>d)return{positions:i};var f=i[0];l.push(f);var v=r.cartesianToCartographic(f,m);s&&(v.height=n[0]),u.push(v.height),a&&h.push(o[0]);for(var g=1;d>g;++g){var _=i[g],y=r.cartesianToCartographic(_,p);s&&(y.height=n[g]),c(v,y)?v.height=3){var f=n.fromPoints(r,t),v=f.projectPointsOntoPlane(r);o.computeWindingOrder2D(v)===l.CLOCKWISE&&(r.reverse(),i.reverse(),p&&s.reverse())}var g,_=r.length,y=[],C=p?[]:void 0,S=[];for(g=0;_-1>g;g++){var w=r[g],E=r[g+1],x=i[g],b=i[g+1];y=y.concat(u(w,E,x,b,c)),d&&y.push(b),p&&(w=r[g],E=r[g+1],x=s[g],b=s[g+1],C=C.concat(u(w,E,x,b,c)),d&&C.push(b)),d&&(S=S.concat(a.scaleToSurface([w,E],c,t)))}d||(S=a.scaleToSurface(r,c,t),y.push(i[_-1]),p&&C.push(s[_-1]));var T=p?a.scaleToGeodeticHeight(S,C,t):S.slice(0),A=a.scaleToGeodeticHeight(S,y,t);return{newWallPositions:S,bottomPositions:T,topPositions:A}},d}),r("Core/WallGeometry",["./defaultValue","./defined","./BoundingSphere","./Cartesian3","./ComponentDatatype","./IndexDatatype","./DeveloperError","./Ellipsoid","./Geometry","./GeometryAttribute","./GeometryAttributes","./Math","./PrimitiveType","./VertexFormat","./WallGeometryLibrary"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p){"use strict";var f=new i,v=new i,g=new i,_=new i,y=new i,C=new i,S=new i,w=new i,E=function(t){t=e(t,e.EMPTY_OBJECT);var r=t.positions,i=t.maximumHeights,n=t.minimumHeights,o=e(t.vertexFormat,m.DEFAULT),a=e(t.granularity,h.RADIANS_PER_DEGREE),l=e(t.ellipsoid,s.WGS84);this._positions=r,this._minimumHeights=n,this._maximumHeights=i,this._vertexFormat=o,this._granularity=a,this._ellipsoid=l,this._workerName="createWallGeometry"};return E.fromConstantHeights=function(r){r=e(r,e.EMPTY_OBJECT);var i,n,o=r.positions,a=r.minimumHeight,s=r.maximumHeight,l=t(a),u=t(s);if(l||u){var c=o.length;i=l?new Array(c):void 0,n=u?new Array(c):void 0;for(var h=0;c>h;++h)l&&(i[h]=a),u&&(n[h]=s)}var d={positions:o,maximumHeights:n,minimumHeights:i,ellipsoid:r.ellipsoid,vertexFormat:r.vertexFormat};return new E(d)},E.createGeometry=function(e){var t=e._positions,a=e._minimumHeights,s=e._maximumHeights,m=e._vertexFormat,E=e._granularity,x=e._ellipsoid,b=p.computePositions(x,t,s,a,E,!0),T=b.newWallPositions,A=b.bottomPositions,P=b.topPositions,D=T.length,M=2*D,I=m.position?new Float64Array(M):void 0,O=m.normal?new Float32Array(M):void 0,R=m.tangent?new Float32Array(M):void 0,L=m.binormal?new Float32Array(M):void 0,N=m.st?new Float32Array(2*(M/3)):void 0,B=0,z=0,F=0,V=0,k=0,U=w,W=S,G=C,H=!0;D/=3;var j;for(j=0;D>j;++j){var q=3*j,Y=i.fromArray(P,q,f),X=i.fromArray(A,q,v);if(m.position&&(I[B++]=X.x,I[B++]=X.y,I[B++]=X.z,I[B++]=Y.x,I[B++]=Y.y,I[B++]=Y.z),m.normal||m.tangent||m.binormal){var Z,J=new i,Q=i.fromArray(T,q,v);if(D>j+1&&(Z=i.fromArray(T,q+3,g),J=i.fromArray(P,q+3,y)),H){var K=i.subtract(J,Y,_),$=i.subtract(Q,Y,f);U=i.normalize(i.cross($,K,U),U),H=!1}i.equalsEpsilon(Z,Q,h.EPSILON6)?H=!0:(m.tangent&&(W=i.normalize(i.subtract(Z,Q,W),W)),m.binormal&&(G=i.normalize(i.cross(U,W,G),G))),m.normal&&(O[z++]=U.x,O[z++]=U.y,O[z++]=U.z,O[z++]=U.x,O[z++]=U.y,O[z++]=U.z),m.tangent&&(R[V++]=W.x,R[V++]=W.y,R[V++]=W.z,R[V++]=W.x,R[V++]=W.y,R[V++]=W.z),m.binormal&&(L[F++]=G.x,L[F++]=G.y,L[F++]=G.z,L[F++]=G.x,L[F++]=G.y,L[F++]=G.z)}if(m.st){var et=j/(D-1);N[k++]=et,N[k++]=0,N[k++]=et,N[k++]=1}}var tt=new c;m.position&&(tt.position=new u({componentDatatype:n.DOUBLE,componentsPerAttribute:3,values:I})),m.normal&&(tt.normal=new u({componentDatatype:n.FLOAT,componentsPerAttribute:3,values:O})),m.tangent&&(tt.tangent=new u({componentDatatype:n.FLOAT,componentsPerAttribute:3,values:R})),m.binormal&&(tt.binormal=new u({componentDatatype:n.FLOAT,componentsPerAttribute:3,values:L})),m.st&&(tt.st=new u({componentDatatype:n.FLOAT,componentsPerAttribute:2,values:N}));var rt=M/3;M-=6;var it=o.createTypedArray(rt,M),nt=0;for(j=0;rt-2>j;j+=2){var ot=j,at=j+2,st=i.fromArray(I,3*ot,f),lt=i.fromArray(I,3*at,v);if(!i.equalsEpsilon(st,lt,h.EPSILON6)){var ut=j+1,ct=j+3;it[nt++]=ut,it[nt++]=ot,it[nt++]=ct,it[nt++]=ct,it[nt++]=ot,it[nt++]=at}}return new l({attributes:tt,indices:it,primitiveType:d.TRIANGLES,boundingSphere:new r.fromVertices(I)})},E}),r("Core/WallOutlineGeometry",["./BoundingSphere","./Cartesian3","./ComponentDatatype","./defaultValue","./defined","./DeveloperError","./Ellipsoid","./Geometry","./GeometryAttribute","./GeometryAttributes","./IndexDatatype","./Math","./PrimitiveType","./WallGeometryLibrary"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m){"use strict";var p=new t,f=new t,v=function(e){e=i(e,i.EMPTY_OBJECT);var t=e.positions,r=e.maximumHeights,n=e.minimumHeights,o=i(e.granularity,h.RADIANS_PER_DEGREE),s=i(e.ellipsoid,a.WGS84);this._positions=t,this._minimumHeights=n,this._maximumHeights=r,this._granularity=o,this._ellipsoid=s,this._workerName="createWallOutlineGeometry"};return v.fromConstantHeights=function(e){e=i(e,i.EMPTY_OBJECT);var t,r,o=e.positions,a=e.minimumHeight,s=e.maximumHeight,l=n(a),u=n(s);if(l||u){var c=o.length;t=l?new Array(c):void 0,r=u?new Array(c):void 0;for(var h=0;c>h;++h)l&&(t[h]=a),u&&(r[h]=s)}var d={positions:o,maximumHeights:r,minimumHeights:t,ellipsoid:e.ellipsoid};return new v(d)},v.createGeometry=function(i){var n=i._positions,o=i._minimumHeights,a=i._maximumHeights,v=i._granularity,g=i._ellipsoid,_=m.computePositions(g,n,a,o,v,!1),y=_.newWallPositions,C=_.bottomPositions,S=_.topPositions,w=y.length,E=2*w,x=new Float64Array(E),b=0;w/=3;var T;for(T=0;w>T;++T){var A=3*T,P=t.fromArray(S,A,p),D=t.fromArray(C,A,f);x[b++]=D.x,x[b++]=D.y,x[b++]=D.z,x[b++]=P.x,x[b++]=P.y,x[b++]=P.z}var M=new u({position:new l({componentDatatype:r.DOUBLE,componentsPerAttribute:3,values:x})}),I=E/3;E=2*I-4+I;var O=c.createTypedArray(I,E),R=0;for(T=0;I-2>T;T+=2){var L=T,N=T+2,B=t.fromArray(x,3*L,p),z=t.fromArray(x,3*N,f);if(!t.equalsEpsilon(B,z,h.EPSILON6)){var F=T+1,V=T+3;O[R++]=F,O[R++]=L,O[R++]=F,O[R++]=V,O[R++]=L,O[R++]=N}}return O[R++]=I-2,O[R++]=I-1,new s({attributes:M,indices:O,primitiveType:d.LINES,boundingSphere:new e.fromVertices(x)})},v}),r("Core/WebMercatorProjection",["./defaultValue","./defined","./defineProperties","./Cartesian3","./Cartographic","./Math","./Ellipsoid"],function(e,t,r,i,n,o,a){"use strict";var s=function(t){this._ellipsoid=e(t,a.WGS84),this._semimajorAxis=this._ellipsoid.maximumRadius,this._oneOverSemimajorAxis=1/this._semimajorAxis};return r(s.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}}),s.mercatorAngleToGeodeticLatitude=function(e){return o.PI_OVER_TWO-2*Math.atan(Math.exp(-e))},s.geodeticLatitudeToMercatorAngle=function(e){e>s.MaximumLatitude?e=s.MaximumLatitude:e<-s.MaximumLatitude&&(e=-s.MaximumLatitude);var t=Math.sin(e);return.5*Math.log((1+t)/(1-t))},s.MaximumLatitude=s.mercatorAngleToGeodeticLatitude(Math.PI),s.prototype.project=function(e,r){var n=this._semimajorAxis,o=e.longitude*n,a=s.geodeticLatitudeToMercatorAngle(e.latitude)*n,l=e.height;return t(r)?(r.x=o,r.y=a,r.z=l,r):new i(o,a,l)},s.prototype.unproject=function(e,r){var i=this._oneOverSemimajorAxis,o=e.x*i,a=s.mercatorAngleToGeodeticLatitude(e.y*i),l=e.z;return t(r)?(r.longitude=o,r.latitude=a,r.height=l,r):new n(o,a,l)},s}),r("Core/cancelAnimationFrame",["./defined"],function(e){"use strict";var t=window.cancelAnimationFrame;!function(){if(!e(t))for(var r=["webkit","moz","ms","o"],i=0,n=r.length;n>i&&!e(t);)t=window[r[i]+"CancelAnimationFrame"],e(t)||(t=window[r[i]+"CancelRequestAnimationFrame"]),++i;e(t)||(t=clearTimeout)}();var r=function(e){t(e)};return r}),r("Core/combine",["./defaultValue","./defined"],function(e,t){"use strict";var r=function(i,n,o){o=e(o,!1);var a,s,l,u={},c=t(i),h=t(n);if(c)for(a in i)i.hasOwnProperty(a)&&(s=i[a],h&&o&&"object"==typeof s&&n.hasOwnProperty(a)?(l=n[a],u[a]="object"==typeof l?r(s,l,o):s):u[a]=s);if(h)for(a in n)n.hasOwnProperty(a)&&!u.hasOwnProperty(a)&&(l=n[a],u[a]=l);return u};return r}),r("Core/createGuid",[],function(){"use strict";var e=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var t=0|16*Math.random(),r="x"===e?t:8|3&t;return r.toString(16)})};return e}),r("Core/formatError",["./defined"],function(e){"use strict";var t=function(t){var r,i=t.name,n=t.message;r=e(i)&&e(n)?i+": "+n:t.toString();var o=t.stack;return e(o)&&(r+="\n"+o),r};return t}),r("Core/getFilenameFromUri",["./defined","./DeveloperError","../ThirdParty/Uri"],function(e,t,r){"use strict";var i=function(e){var t=new r(e);t.normalize();var i=t.path,n=i.lastIndexOf("/");return-1!==n&&(i=i.substr(n+1)),i};return i}),r("Core/getImagePixels",["./defined"],function(e){"use strict";var t={},r=function(r,i,n){e(i)||(i=r.width),e(n)||(n=r.height);var o=t[i];e(o)||(o={},t[i]=o);var a=o[n];if(!e(a)){var s=document.createElement("canvas");s.width=i,s.height=n,a=s.getContext("2d"),a.globalCompositeOperation="copy",o[n]=a}return a.drawImage(r,0,0,i,n),a.getImageData(0,0,i,n).data};return r}),r("Core/jsonp",["./defaultValue","./defined","./DeveloperError","../ThirdParty/when"],function(e,t,r,i){"use strict";function n(e,t,r){e.push(encodeURIComponent(t)+"="+encodeURIComponent(r))}var o=function(r,a){a=e(a,e.EMPTY_OBJECT);var s,l=i.defer();do s="jsonp"+Math.random().toString().substring(2,8);while(t(window[s]));window[s]=function(e){l.resolve(e);try{delete window[s]}catch(t){window[s]=void 0}};var u=e(a.callbackParameterName,"callback"),c=[];n(c,u,s);var h=e(a.parameters,e.EMPTY_OBJECT);for(var d in h)h.hasOwnProperty(d)&&n(c,d,h[d]);c.length>0&&(r+=-1===r.indexOf("?")?"?":"&",r+=c.join("&"));var m=a.proxy;return t(m)&&(r=m.getURL(r)),o.loadAndExecuteScript(r,s,l),l.promise};return o.loadAndExecuteScript=function(e,t,r){var i=document.createElement("script");i.async=!0,i.src=e;var n=document.getElementsByTagName("head")[0];i.onload=function(){i.onload=void 0,n.removeChild(i)},i.onerror=function(e){r.reject(e)},n.appendChild(i)},o.defaultLoadAndExecuteScript=o.loadAndExecuteScript,o}),r("Core/loadArrayBuffer",["./loadWithXhr"],function(e){"use strict";var t=function(t,r){return e({url:t,responseType:"arraybuffer",headers:r})};return t}),r("Core/loadBlob",["./loadWithXhr"],function(e){"use strict";var t=function(t,r){return e({url:t,responseType:"blob",headers:r})};return t}),r("Core/loadImage",["./defaultValue","./defined","./DeveloperError","./isCrossOriginUrl","../ThirdParty/when"],function(e,t,r,i,n){"use strict";var o=/^data:/,a=function(t,r){return r=e(r,!0),n(t,function(e){var t;t=o.test(e)||!r?!1:i(e);var s=n.defer();return a.createImage(e,t,s),s.promise})};return a.createImage=function(e,t,r){var i=new Image;i.onload=function(){r.resolve(i)},i.onerror=function(e){r.reject(e)},t&&(i.crossOrigin=""),i.src=e},a.defaultCreateImage=a.createImage,a}),r("Core/loadImageViaBlob",["./loadBlob","./loadImage","../ThirdParty/when"],function(e,t,r){"use strict";var i=/^data:/,n=function(n){return i.test(n)?t(n):e(n).then(function(e){var i=window.URL.createObjectURL(e);return t(i,!1).then(function(t){return t.blob=e,window.URL.revokeObjectURL(i),t},function(e){return window.URL.revokeObjectURL(i),r.reject(e)})})},o=function(){try{var e=new XMLHttpRequest;return e.open("GET","#",!0),e.responseType="blob","blob"===e.responseType}catch(t){return!1}}();return o?n:t}),r("Core/loadXML",["./defined","./DeveloperError","./RequestErrorEvent","../ThirdParty/when"],function(e,t,r,i){"use strict";var n=function(e,t){return i(e,function(e){var r=i.defer();return n.loadXML(e,t,r),r.promise})};return n.loadXML=function(t,i,n){var o=new XMLHttpRequest;if(o.overrideMimeType("text/xml"),o.open("GET",t,!0),e(i))for(var a in i)i.hasOwnProperty(a)&&o.setRequestHeader(a,i[a]);o.onload=function(){200===o.status?n.resolve(o.responseXML):n.reject(new r(o.status,o.response))},o.onerror=function(){n.reject(new r)},o.send()},n.defaultLoadXML=n.loadXML,n}),r("Core/requestAnimationFrame",["./defined"],function(e){"use strict";var t=window.requestAnimationFrame;!function(){if(!e(t))for(var r=["webkit","moz","ms","o"],i=0,n=r.length;n>i&&!e(t);)t=window[r[i]+"RequestAnimationFrame"],++i;if(!e(t)){var o=0;t=function(e){var t=Date.now(),r=Math.max(16-(t-o),0);return o=t+r,setTimeout(function(){e(o)},r)}}}();var r=function(e){return t(e)};return r}),r("Core/throttleRequestByServer",["./defaultValue","./defined","../ThirdParty/when"],function(e,t,r){"use strict";function i(e){return t(o)||(o=document.createElement("a")),o.href=e,o.hostname+"%"+o.port +}function n(t,n){var o=i(t),l=e(s[o],0);return l>a?void 0:(s[o]=l+1,r(n(t),function(e){return s[o]--,e},function(e){return s[o]--,r.reject(e)}))}var o,a=6,s={};return n}),r("Core/wrapFunction",["./DeveloperError"],function(){"use strict";var e=function(e,t,r){return function(){r.apply(e,arguments),t.apply(e,arguments)}};return e}),r("ThirdParty/measureText",[],function(){var e=function(e,t){return document.defaultView.getComputedStyle(e,null).getPropertyValue(t)},t=function(t,r,i,n){var o=t.measureText(r),a=e(t.canvas,"font-family"),s=e(t.canvas,"font-size").replace("px",""),l=!/\S/.test(r);o.fontsize=s;var u=document.createElement("div");u.style.position="absolute",u.style.opacity=0,u.style.font=s+"px "+a,u.innerHTML=r+"
"+r,document.body.appendChild(u),o.leading=1.2*s;var c=e(u,"height");if(c=c.replace("px",""),c>=2*s&&(o.leading=0|c/2),document.body.removeChild(u),l)o.ascent=0,o.descent=0,o.bounds={minx:0,maxx:o.width,miny:0,maxy:0},o.height=0;else{var h=document.createElement("canvas"),d=100;h.width=o.width+d,h.height=3*s,h.style.opacity=1,h.style.fontFamily=a,h.style.fontSize=s;var m=h.getContext("2d");m.font=s+"px "+a;var p=h.width,f=h.height,v=f/2;m.fillStyle="white",m.fillRect(-1,-1,p+2,f+2),i&&(m.strokeStyle="black",m.lineWidth=t.lineWidth,m.strokeText(r,d/2,v)),n&&(m.fillStyle="black",m.fillText(r,d/2,v));for(var g=m.getImageData(0,0,p,f).data,_=0,y=4*p,C=g.length;++_0&&255===g[_];);var w=0|_/y;for(_=0;C>_&&255===g[_];)_+=y,_>=C&&(_=_-C+4);var E=0|_%y/4,x=1;for(_=C-3;_>=0&&255===g[_];)_-=y,0>_&&(_=C-3-4*x++);var b=0|_%y/4+1;o.ascent=v-S,o.descent=w-v,o.bounds={minx:E-d/2,maxx:b-d/2,miny:0,maxy:w-S},o.height=1+(w-S)}return o};return t}),r("Core/writeTextToCanvas",["./defaultValue","./defined","./DeveloperError","./Color","../ThirdParty/measureText"],function(e,t,r,i,n){"use strict";var o=function(t,r){if(""===t)return void 0;r=e(r,e.EMPTY_OBJECT);var o=e(r.font,"10px sans-serif"),a=document.createElement("canvas");a.width=a.height=1,a.style.font=o;var s=a.getContext("2d");s.font=o,s.textBaseline=e(r.textBaseline,"bottom"),a.style.visibility="hidden",document.body.appendChild(a);var l=e(r.stroke,!1),u=e(r.fill,!0),c=2*e(r.strokeWidth,1);s.lineWidth=c;var h=n(s,t,l,u);a.dimensions=h,document.body.removeChild(a),a.style.visibility="";var d=h.height-h.ascent;a.width=h.width,a.height=h.height;var m=a.height-d;if(s.font=o,l){var p=e(r.strokeColor,i.BLACK);s.strokeStyle=p.toCssColorString(),s.lineWidth=c,s.strokeText(t,0,m)}if(u){var f=e(r.fillColor,i.WHITE);s.fillStyle=f.toCssColorString(),s.fillText(t,0,m)}return a};return o}),r("DynamicScene/createDynamicPropertyDescriptor",["../Core/defaultValue","../Core/defined"],function(e,t){"use strict";function r(e,r,i,n){return{configurable:n,get:function(){return this[r]},set:function(n){var o=this[r],a=this[i];t(a)&&(a(),this[i]=void 0),o!==n&&(this[r]=n,this._definitionChanged.raiseEvent(this,e,n,o)),t(n)&&t(n.definitionChanged)&&(this[i]=n.definitionChanged.addEventListener(function(){this._definitionChanged.raiseEvent(this,e,n,n)},this))}}}function i(t,i){return r(t,"_"+t,"_"+t+"Subscription",e(i,!1))}return i}),r("DynamicScene/ConstantProperty",["../Core/defineProperties","../Core/DeveloperError","../Core/Enumeration","../Core/Event","../Core/isArray"],function(e,t,r,i,n){"use strict";var o=function(e){this._value=void 0,this._simple=!0,this._definitionChanged=new i,this.setValue(e)};return e(o.prototype,{isConstant:{value:!0},definitionChanged:{get:function(){return this._definitionChanged}}}),o.prototype.getValue=function(e,t){return this._simple?this._value:this._value.clone(t)},o.prototype.setValue=function(e){var t=this._value,i=this._simple;(i&&t!==e||!i&&!t.equals(e))&&(i="object"!=typeof e||n(e)||e instanceof r,this._value=i?e:e.clone(),this._simple=i,this._definitionChanged.raiseEvent(this))},o.prototype.equals=function(e){return this===e||e instanceof o&&(this._simple&&this._value===e._value||!this._simple&&this._value.equals(e._value))},o}),r("DynamicScene/Property",["../Core/defined","../Core/defineProperties","../Core/DeveloperError"],function(e,t,r){"use strict";var i=function(){r.throwInstantiationError()};return t(i.prototype,{isConstant:{get:r.throwInstantiationError},definitionChanged:{get:r.throwInstantiationError}}),i.prototype.getValue=r.throwInstantiationError,i.prototype.equals=r.throwInstantiationError,i.equals=function(t,r){return t===r||e(t)&&t.equals(r)},i.arrayEquals=function(t,r){if(t===r)return!0;if(!e(t)||!e(r)||t.length!==r.length)return!1;for(var n=t.length,o=0;n>o;o++)if(!i.equals(t[o],r[o]))return!1;return!0},i.isConstant=function(t){return!e(t)||t.isConstant},i}),r("DynamicScene/ColorMaterialProperty",["../Core/Color","../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/DeveloperError","../Core/Event","./createDynamicPropertyDescriptor","./ConstantProperty","./Property"],function(e,t,r,i,n,o,a,s,l){"use strict";var u=function(r){this._definitionChanged=new o,this._color=void 0,this._colorSubscription=void 0,this.color=t(r,new s(e.WHITE))};return u.fromColor=function(e){return new u(new s(e))},i(u.prototype,{isConstant:{get:function(){return l.isConstant(this._color)}},definitionChanged:{get:function(){return this._definitionChanged}},color:a("color")}),u.prototype.getType=function(){return"Color"},u.prototype.getValue=function(e,t){return r(t)||(t={}),t.color=r(this._color)?this._color.getValue(e,t.color):void 0,t},u.prototype.equals=function(e){return this===e||e instanceof u&&l.equals(this._color,e._color)},u.prototype._raiseDefinitionChanged=function(){this._definitionChanged.raiseEvent(this)},u}),r("DynamicScene/DynamicObject",["../Core/createGuid","../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/DeveloperError","../Core/Event","./createDynamicPropertyDescriptor"],function(e,t,r,i,n,o,a){"use strict";var s=function(t){this._cachedAvailabilityDate=void 0,this._cachedAvailabilityValue=void 0,r(t)||(t=e()),this._id=t,this._availability=void 0,this._parent=void 0,this._name=void 0,this._definitionChanged=new o,this._position=void 0,this._positionSubscription=void 0,this._orientation=void 0,this._orientationSubscription=void 0,this._billboard=void 0,this._billboardSubscription=void 0,this._cone=void 0,this._coneSubscription=void 0,this._ellipsoid=void 0,this._ellipsoidSubscription=void 0,this._ellipse=void 0,this._ellipseSubscription=void 0,this._label=void 0,this._labelSubscription=void 0,this._path=void 0,this._pathSubscription=void 0,this._point=void 0,this._pointSubscription=void 0,this._polygon=void 0,this._polygonSubscription=void 0,this._polyline=void 0,this._polylineSubscription=void 0,this._pyramid=void 0,this._pyramidSubscription=void 0,this._vertexPositions=void 0,this._vertexPositionsSubscription=void 0,this._vector=void 0,this._vectorSubscription=void 0,this._viewFrom=void 0,this._viewFromSubscription=void 0,this._description=void 0,this._descriptionSubscription=void 0,this._propertyNames=["parent","position","orientation","billboard","cone","ellipsoid","ellipse","label","path","point","polygon","polyline","pyramid","vertexPositions","vector","viewFrom","description"]};return i(s.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},propertyNames:{get:function(){return this._propertyNames}},id:{get:function(){return this._id}},name:{configurable:!1,get:function(){return this._name},set:function(e){var t=this._name;t!==e&&(this._name=e,this._definitionChanged.raiseEvent(this,"name",e,t))}},availability:a("availability"),position:a("position"),orientation:a("orientation"),viewFrom:a("viewFrom"),billboard:a("billboard"),cone:a("cone"),ellipsoid:a("ellipsoid"),ellipse:a("ellipse"),label:a("label"),model:a("model","_model"),parent:a("parent"),path:a("path"),point:a("point"),polygon:a("polygon"),polyline:a("polyline"),pyramid:a("pyramid"),vertexPositions:a("vertexPositions"),vector:a("vector"),description:a("description")}),s.prototype.isAvailable=function(e){var t=this._availability;return!r(t)||t.contains(e)},s.prototype.addProperty=function(e){var t=this._propertyNames;t.push(e),Object.defineProperty(this,e,a(e,!0))},s.prototype.removeProperty=function(e){this._propertyNames,this._propertyNames.push(e),delete this[e]},s.prototype.merge=function(e){this.name=t(this.name,e.name),this.availability=t(e.availability,this.availability);for(var i=this._propertyNames,n=i.length,o=0;n>o;o++){var a=i[o],s=this[a],l=e[a];r(l)&&(r(s)?r(s.merge)&&s.merge(l):this[a]=r(l.merge)&&r(l.clone)?l.clone():l)}},s}),r("DynamicScene/DynamicObjectCollection",["../Core/AssociativeArray","../Core/createGuid","../Core/defined","../Core/defineProperties","../Core/Event","../Core/TimeInterval","../Core/Iso8601","../Core/DeveloperError","../Core/RuntimeError","./DynamicObject"],function(e,t,r,i,n,o,a,s,l,u){"use strict";function c(e){if(0===e._suspendCount){var t=e._addedObjects,r=e._removedObjects;(0!==t.length||0!==r.length)&&(e._collectionChanged.raiseEvent(e,t.values,r.values),t.removeAll(),r.removeAll())}}var h=function(){this._objects=new e,this._addedObjects=new e,this._removedObjects=new e,this._suspendCount=0,this._collectionChanged=new n,this._id=t()};return h.prototype.suspendEvents=function(){this._suspendCount++},h.prototype.resumeEvents=function(){this._suspendCount--,c(this)},h.collectionChangedEventCallback=void 0,i(h.prototype,{collectionChanged:{get:function(){return this._collectionChanged}},id:{get:function(){return this._id}}}),h.prototype.computeAvailability=function(){for(var e=a.MAXIMUM_VALUE,t=a.MINIMUM_VALUE,i=this._objects.values,n=0,s=i.length;s>n;n++){var l=i[n],u=l.availability;if(r(u)){var c=u.start,h=u.stop;c.lessThan(e)&&!c.equals(a.MINIMUM_VALUE)&&(e=c),h.greaterThan(t)&&!h.equals(a.MAXIMUM_VALUE)&&(t=h)}}return a.MAXIMUM_VALUE.equals(e)&&(e=a.MINIMUM_VALUE),a.MINIMUM_VALUE.equals(t)&&(t=a.MAXIMUM_VALUE),new o(e,t,!0,!0)},h.prototype.add=function(e){var t=e.id,i=this._objects;if(r(i.get(t)))throw new l("An object with id "+t+" already exists in this collection.");i.set(t,e),this._removedObjects,this._removedObjects.remove(t)||this._addedObjects.set(t,e),c(this)},h.prototype.remove=function(e){return this.removeById(e.id)},h.prototype.removeById=function(e){var t=this._objects,r=t.get(e);return this._objects.remove(e)?(this._addedObjects.remove(e)||this._removedObjects.set(e,r),c(this),!0):!1},h.prototype.removeAll=function(){for(var e=this._objects,t=e.length,i=e.values,n=this._addedObjects,o=this._removedObjects,a=0;t>a;a++){var s=i[a],l=s.id,u=n.get(l);r(u)||o.set(l,s)}e.removeAll(),n.removeAll(),c(this)},h.prototype.getById=function(e){return this._objects.get(e)},h.prototype.getObjects=function(){return this._objects.values},h.prototype.getOrCreateObject=function(e){var t=this._objects.get(e);return r(t)||(t=new u(e),this.add(t)),t},h}),r("DynamicScene/CompositeDynamicObjectCollection",["../Core/createGuid","../Core/defined","../Core/defineProperties","../Core/DeveloperError","../Core/Math","./DynamicObject","./DynamicObjectCollection"],function(e,t,r,i,n,o,a){"use strict";function s(e){for(var t=e.propertyNames,r=t.length,i=0;r>i;i++)e[t[i]]=void 0}function l(e,r,i){return function(n,o){for(var a=r.id,s=e._composite,l=s.getById(a),u=l[i],c=e._collections,h=c.length,d=h-1;d>=0;d--){var m=c[d].getById(r.id);if(t(m)){var p=m[i];if(t(p)){var f=p[o];if(t(f))return u[o]=f,void 0}}}u[o]=void 0}}function u(e,r){var i=e._composite,n=e._eventHash;return function(o,a){var s=o.id,l=i.getById(s),u=l[a];h(n,r,o,a),c(e,n,r,o,a,o[a]);for(var d=e._collections,m=d.length,p=!0,f=m-1;f>=0;f--){var v=d[f].getById(o.id);if(t(v)){var g=v[a];if(t(g)){if(p){if(p=!1,!t(g.merge)||!t(g.clone)){u=g;break}u=g.clone(u)}u.merge(g)}}}l[a]=u}}function c(e,r,i,n,o,a){if(t(a)&&t(a.definitionChanged)){var s=l(e,n,o);g[0]=i,g[1]=n.id,g[2]=o,r[JSON.stringify(g)]=a.definitionChanged.addEventListener(s)}}function h(e,r,i,n){g[0]=r,g[1]=i.id,g[2]=n;var o=JSON.stringify(g),a=e[o];t(a)&&(a(),e[o]=void 0)}function d(e,t,r,i){_[0]=r,_[1]=i.id,t[JSON.stringify(_)]=i.definitionChanged.addEventListener(u(e,r));for(var n=i.propertyNames,o=n.length,a=0;o>a;a++){var s=n[a];c(e,t,r,i,s,i[s])}}function m(e,t,r,i){_[0]=r,_[1]=i.id;var n=JSON.stringify(_);t[n](),t[n]=void 0;for(var o=i.propertyNames,a=o.length,s=0;a>s;s++){var l=o[s];h(t,r,i,l)}}function p(e){if(e._shouldRecomposite=!0,0===e._suspendCount){var r,i,n,l,u,c,h=e._collections,p=h.length,f=e._collectionsCopy,v=f.length,g=e._composite,_=new a,C=e._eventHash;for(r=0;v>r;r++)for(u=f[r],u.collectionChanged.removeEventListener(y.prototype._onCollectionChanged,e),n=u.getObjects(),c=u.id,l=n.length-1;l>-1;l--)i=n[l],m(e,C,c,i);for(r=p-1;r>=0;r--)for(u=h[r],u.collectionChanged.addEventListener(y.prototype._onCollectionChanged,e),n=u.getObjects(),c=u.id,l=n.length-1;l>-1;l--){i=n[l],d(e,C,c,i);var S=_.getById(i.id);t(S)||(S=g.getById(i.id),t(S)?s(S):S=new o(i.id),_.add(S)),S.merge(i)}e._collectionsCopy=h.slice(0),g.suspendEvents(),g.removeAll();var w=_.getObjects();for(r=0;ru;u++){var _=i[u];m(this,v,g,_);var y=_.id;for(c=a-1;c>=0;c--)h=n[c].getById(y),t(h)&&(t(p)||(p=l.getById(y),s(p)),p.merge(h));t(p)||l.removeById(y)}var C=r.length;for(u=0;C>u;u++){var S=r[u];d(this,v,g,S);var w=S.id;for(c=a-1;c>=0;c--)h=n[c].getById(w),t(h)&&(t(p)||(p=l.getById(w),t(p)?s(p):(p=new o(w),l.add(p))),p.merge(h))}l.resumeEvents()},y}),r("DynamicScene/CompositeProperty",["./Property","../Core/defined","../Core/defineProperties","../Core/DeveloperError","../Core/Event","../Core/EventHelper","../Core/TimeIntervalCollection"],function(e,t,r,i,n,o,a){"use strict";function s(e,r,i,n){var o=function(){i.raiseEvent(e)},a=[];r.removeAll();for(var s=n.length,l=0;s>l;l++){var u=n.get(l);t(u.data)&&-1===a.indexOf(u.data)&&r.add(u.data.definitionChanged,o)}}var l=function(){this._eventHelper=new o,this._definitionChanged=new n,this._intervals=new a,this._intervals.changedEvent.addEventListener(l.prototype._intervalsChanged,this)};return r(l.prototype,{isConstant:{get:function(){return this._intervals.empty}},definitionChanged:{get:function(){return this._definitionChanged}},intervals:{get:function(){return this._intervals}}}),l.prototype.getValue=function(e,r){var i=this._intervals.findDataForIntervalContainingDate(e);return t(i)?i.getValue(e,r):void 0},l.prototype.equals=function(t){return this===t||t instanceof l&&this._intervals.equals(t._intervals,e.equals)},l.prototype._intervalsChanged=function(){s(this,this._eventHelper,this._definitionChanged,this._intervals),this._definitionChanged.raiseEvent(this)},l}),r("DynamicScene/CompositeMaterialProperty",["../Core/defined","../Core/defineProperties","../Core/DeveloperError","../Core/Event","./CompositeProperty","./Property"],function(e,t,r,i,n,o){"use strict";var a=function(){this._definitionChanged=new i,this._composite=new n,this._composite.definitionChanged.addEventListener(a.prototype._raiseDefinitionChanged,this)};return t(a.prototype,{isConstant:{get:function(){return this._composite.isConstant}},definitionChanged:{get:function(){return this._definitionChanged}},intervals:{get:function(){return this._composite._intervals}}}),a.prototype.getType=function(t){var r=this._composite._intervals.findDataForIntervalContainingDate(t);return e(r)?r.getType(t):void 0},a.prototype.getValue=function(t,r){var i=this._composite._intervals.findDataForIntervalContainingDate(t);return e(i)?i.getValue(t,r):void 0},a.prototype.equals=function(e){return this===e||e instanceof a&&this._composite.equals(e._composite,o.equals)},a.prototype._raiseDefinitionChanged=function(){this._definitionChanged.raiseEvent(this)},a}),r("DynamicScene/CompositePositionProperty",["../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/DeveloperError","../Core/Event","../Core/ReferenceFrame","./CompositeProperty","./Property"],function(e,t,r,i,n,o,a,s){"use strict";var l=function(t){this._referenceFrame=e(t,o.FIXED),this._definitionChanged=new n,this._composite=new a,this._composite.definitionChanged.addEventListener(l.prototype._raiseDefinitionChanged,this)};return r(l.prototype,{isConstant:{get:function(){return this._composite.isConstant}},definitionChanged:{get:function(){return this._definitionChanged}},intervals:{get:function(){return this._composite.intervals}},referenceFrame:{get:function(){return this._referenceFrame},set:function(e){this._referenceFrame=e}}}),l.prototype.getValue=function(e,t){return this.getValueInReferenceFrame(e,o.FIXED,t)},l.prototype.getValueInReferenceFrame=function(e,r,i){var n=this._composite._intervals.findDataForIntervalContainingDate(e);return t(n)?n.getValueInReferenceFrame(e,r,i):void 0},l.prototype.equals=function(e){return this===e||e instanceof l&&this._referenceFrame===e._referenceFrame&&this._composite.equals(e._composite,s.equals)},l.prototype._raiseDefinitionChanged=function(){this._definitionChanged.raiseEvent(this)},l}),r("DynamicScene/PositionProperty",["../Core/Cartesian3","../Core/defined","../Core/defineProperties","../Core/DeveloperError","../Core/Matrix3","../Core/ReferenceFrame","../Core/Transforms"],function(e,t,r,i,n,o,a){"use strict";var s=function(){i.throwInstantiationError()};r(s.prototype,{isConstant:{get:i.throwInstantiationError},definitionChanged:{get:i.throwInstantiationError},referenceFrame:{get:i.throwInstantiationError}}),s.prototype.getValue=i.throwInstantiationError,s.prototype.getValueInReferenceFrame=i.throwInstantiationError,s.prototype.equals=i.throwInstantiationError;var l=new n;return s.convertToReferenceFrame=function(r,i,s,u,c){if(!t(i))return i;if(s===u)return e.clone(i,c);var h=a.computeIcrfToFixedMatrix(r,l);return t(h)||(h=a.computeTemeToPseudoFixedMatrix(r,l)),s===o.INERTIAL?n.multiplyByVector(h,i,c):s===o.FIXED?n.multiplyByVector(n.transpose(h,l),i,c):void 0},s}),r("DynamicScene/ConstantPositionProperty",["./PositionProperty","../Core/Cartesian3","../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/DeveloperError","../Core/Event","../Core/ReferenceFrame"],function(e,t,r,i,n,o,a,s){"use strict";var l=function(e,i){this._definitionChanged=new a,this._value=t.clone(e),this._referenceFrame=r(i,s.FIXED)};return n(l.prototype,{isConstant:{get:function(){return!i(this._value)||this._referenceFrame===s.FIXED}},definitionChanged:{get:function(){return this._definitionChanged}},referenceFrame:{get:function(){return this._referenceFrame}}}),l.prototype.getValue=function(e,t){return this.getValueInReferenceFrame(e,s.FIXED,t)},l.prototype.setValue=function(e,r){var n=!1;t.equals(this._value,e)||(n=!0,this._value=t.clone(e)),i(r)&&this._referenceFrame!==r&&(n=!0,this._referenceFrame=r),n&&this._definitionChanged.raiseEvent(this)},l.prototype.getValueInReferenceFrame=function(t,r,i){return e.convertToReferenceFrame(t,this._value,this._referenceFrame,r,i)},l.prototype.equals=function(e){return this===e||e instanceof l&&t.equals(this._value,e._value)&&this._referenceFrame===e._referenceFrame},l}),r("Scene/HorizontalOrigin",["../Core/Enumeration"],function(e){"use strict";var t={CENTER:new e(0,"CENTER"),LEFT:new e(1,"LEFT"),RIGHT:new e(-1,"RIGHT")};return t}),r("Scene/LabelStyle",["../Core/Enumeration"],function(e){"use strict";var t={FILL:new e(0,"FILL"),OUTLINE:new e(1,"OUTLINE"),FILL_AND_OUTLINE:new e(2,"FILL_AND_OUTLINE")};return t}),r("Scene/VerticalOrigin",["../Core/Enumeration"],function(e){"use strict";var t={CENTER:new e(0,"CENTER"),BOTTOM:new e(1,"BOTTOM"),TOP:new e(-1,"TOP")};return t}),r("DynamicScene/DynamicBillboard",["../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/DeveloperError","../Core/Event","./createDynamicPropertyDescriptor"],function(e,t,r,i,n,o){"use strict";var a=function(){this._image=void 0,this._imageSubscription=void 0,this._width=void 0,this._widthSubscription=void 0,this._height=void 0,this._heightSubscription=void 0,this._scale=void 0,this._scaleSubscription=void 0,this._rotation=void 0,this._rotationSubscription=void 0,this._alignedAxis=void 0,this._alignedAxisSubscription=void 0,this._horizontalOrigin=void 0,this._horizontalOriginSubscription=void 0,this._verticalOrigin=void 0,this._verticalOriginSubscription=void 0,this._color=void 0,this._colorSubscription=void 0,this._eyeOffset=void 0,this._eyeOffsetSubscription=void 0,this._pixelOffset=void 0,this._pixelOffsetSubscription=void 0,this._show=void 0,this._showSubscription=void 0,this._scaleByDistance=void 0,this._scaleByDistanceSubscription=void 0,this._translucencyByDistance=void 0,this._translucencyByDistanceSubscription=void 0,this._pixelOffsetScaleByDistance=void 0,this._pixelOffsetScaleByDistanceSubscription=void 0,this._definitionChanged=new n};return r(a.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},image:o("image"),scale:o("scale"),rotation:o("rotation"),alignedAxis:o("alignedAxis"),horizontalOrigin:o("horizontalOrigin"),verticalOrigin:o("verticalOrigin"),color:o("color"),eyeOffset:o("eyeOffset"),pixelOffset:o("pixelOffset"),show:o("show"),width:o("width"),height:o("height"),scaleByDistance:o("scaleByDistance"),translucencyByDistance:o("translucencyByDistance"),pixelOffsetScaleByDistance:o("pixelOffsetScaleByDistance")}),a.prototype.clone=function(e){return t(e)||(e=new a),e.color=this._color,e.eyeOffset=this._eyeOffset,e.horizontalOrigin=this._horizontalOrigin,e.image=this._image,e.pixelOffset=this._pixelOffset,e.scale=this._scale,e.rotation=this._rotation,e.alignedAxis=this._alignedAxis,e.show=this._show,e.verticalOrigin=this._verticalOrigin,e.width=this._width,e.height=this._height,e.scaleByDistance=this._scaleByDistance,e.translucencyByDistance=this._translucencyByDistance,e.pixelOffsetScaleByDistance=this._pixelOffsetScaleByDistance,e},a.prototype.merge=function(t){this.color=e(this._color,t._color),this.eyeOffset=e(this._eyeOffset,t._eyeOffset),this.horizontalOrigin=e(this._horizontalOrigin,t._horizontalOrigin),this.image=e(this._image,t._image),this.pixelOffset=e(this._pixelOffset,t._pixelOffset),this.scale=e(this._scale,t._scale),this.rotation=e(this._rotation,t._rotation),this.alignedAxis=e(this._alignedAxis,t._alignedAxis),this.show=e(this._show,t._show),this.verticalOrigin=e(this._verticalOrigin,t._verticalOrigin),this.width=e(this._width,t._width),this.height=e(this._height,t._height),this.scaleByDistance=e(this._scaleByDistance,t._scaleByDistance),this.translucencyByDistance=e(this._translucencyByDistance,t._translucencyByDistance),this.pixelOffsetScaleByDistance=e(this._pixelOffsetScaleByDistance,t._pixelOffsetScaleByDistance)},a}),r("DynamicScene/DynamicClock",["../Core/Clock","../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/DeveloperError","../Core/Event","../Core/JulianDate","./createDynamicPropertyDescriptor"],function(e,t,r,i,n,o,a,s){"use strict";var l=function(){this._startTime=void 0,this._stopTime=void 0,this._currentTime=void 0,this._clockRange=void 0,this._clockStep=void 0,this._multiplier=void 0,this._definitionChanged=new o};return i(l.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},startTime:s("startTime"),stopTime:s("stopTime"),currentTime:s("currentTime"),clockRange:s("clockRange"),clockStep:s("clockStep"),multiplier:s("multiplier")}),l.prototype.clone=function(e){return r(e)||(e=new l),e.startTime=this.startTime,e.stopTime=this.stopTime,e.currentTime=this.currentTime,e.clockRange=this.clockRange,e.clockStep=this.clockStep,e.multiplier=this.multiplier,e},l.prototype.equals=function(e){return this===e||r(e)&&a.equals(this.startTime,e.startTime)&&a.equals(this.stopTime,e.stopTime)&&a.equals(this.currentTime,e.currentTime)&&this.clockRange===e.clockRange&&this.clockStep===e.clockStep&&this.multiplier===e.multiplier},l.prototype.merge=function(e){this.startTime=t(this.startTime,e.startTime),this.stopTime=t(this.stopTime,e.stopTime),this.currentTime=t(this.currentTime,e.currentTime),this.clockRange=t(this.clockRange,e.clockRange),this.clockStep=t(this.clockStep,e.clockStep),this.multiplier=t(this.multiplier,e.multiplier)},l.prototype.getValue=function(t){return r(t)||(t=new e),t.startTime=this.startTime,t.stopTime=this.stopTime,t.clockRange=this.clockRange,t.clockStep=this.clockStep,t.multiplier=this.multiplier,t.currentTime=this.currentTime,t},l}),r("DynamicScene/PolylineOutlineMaterialProperty",["../Core/Color","../Core/defined","../Core/defineProperties","../Core/Event","./createDynamicPropertyDescriptor","./ConstantProperty","./Property"],function(e,t,r,i,n,o,a){"use strict";var s=function(){this._definitionChanged=new i,this._color=void 0,this._colorSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this.color=new o(e.WHITE),this.outlineColor=new o(e.BLACK),this.outlineWidth=new o(0)};return r(s.prototype,{isConstant:{get:function(){return a.isConstant(this._color)&&a.isConstant(this._outlineColor)&&a.isConstant(this._outlineWidth)}},definitionChanged:{get:function(){return this._definitionChanged}},color:n("color"),outlineColor:n("outlineColor"),outlineWidth:n("outlineWidth")}),s.prototype.getType=function(){return"PolylineOutline"},s.prototype.getValue=function(e,r){return t(r)||(r={}),r.color=t(this._color)?this._color.getValue(e,r.color):void 0,r.outlineColor=t(this._outlineColor)?this._outlineColor.getValue(e,r.outlineColor):void 0,r.outlineWidth=t(this._outlineWidth)?this._outlineWidth.getValue(e):void 0,r},s.prototype.equals=function(e){return this===e||e instanceof s&&a.equals(this._color,e._color)&&a.equals(this._outlineColor,e._outlineColor)&&a.equals(this._outlineWidth,e._outlineWidth)},s.prototype._raiseDefinitionChanged=function(){this._definitionChanged.raiseEvent(this)},s}),r("DynamicScene/DynamicCone",["../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/DeveloperError","../Core/Event","./createDynamicPropertyDescriptor"],function(e,t,r,i,n,o){"use strict";var a=function(){this._minimumClockAngle=void 0,this._minimumClockAngleSubscription=void 0,this._maximumClockAngle=void 0,this._maximumClockAngleSubscription=void 0,this._innerHalfAngle=void 0,this._innerHalfAngleSubscription=void 0,this._outerHalfAngle=void 0,this._outerHalfAngleSubscription=void 0,this._capMaterial=void 0,this._capMaterialSubscription=void 0,this._innerMaterial=void 0,this._innerMaterialSubscription=void 0,this._outerMaterial=void 0,this._outerMaterialSubscription=void 0,this._silhouetteMaterial=void 0,this._silhouetteMaterialSubscription=void 0,this._intersectionColor=void 0,this._intersectionColorSubscription=void 0,this._intersectionWidth=void 0,this._intersectionWidthSubscription=void 0,this._showIntersection=void 0,this._showIntersectionSubscription=void 0,this._radius=void 0,this._radiusSubscription=void 0,this._show=void 0,this._showSubscription=void 0,this._definitionChanged=new n};return r(a.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},minimumClockAngle:o("minimumClockAngle"),maximumClockAngle:o("maximumClockAngle"),innerHalfAngle:o("innerHalfAngle"),outerHalfAngle:o("outerHalfAngle"),capMaterial:o("capMaterial"),innerMaterial:o("innerMaterial"),outerMaterial:o("outerMaterial"),silhouetteMaterial:o("silhouetteMaterial"),intersectionColor:o("intersectionColor"),intersectionWidth:o("intersectionWidth"),showIntersection:o("showIntersection"),radius:o("radius"),show:o("show")}),a.prototype.clone=function(e){return t(e)||(e=new a),e.show=this.show,e.innerHalfAngle=this.innerHalfAngle,e.outerHalfAngle=this.outerHalfAngle,e.minimumClockAngle=this.minimumClockAngle,e.maximumClockAngle=this.maximumClockAngle,e.radius=this.radius,e.showIntersection=this.showIntersection,e.intersectionColor=this.intersectionColor,e.intersectionWidth=this.intersectionWidth,e.capMaterial=this.capMaterial,e.innerMaterial=this.innerMaterial,e.outerMaterial=this.outerMaterial,e.silhouetteMaterial=this.silhouetteMaterial,e},a.prototype.merge=function(t){this.show=e(this.show,t.show),this.innerHalfAngle=e(this.innerHalfAngle,t.innerHalfAngle),this.outerHalfAngle=e(this.outerHalfAngle,t.outerHalfAngle),this.minimumClockAngle=e(this.minimumClockAngle,t.minimumClockAngle),this.maximumClockAngle=e(this.maximumClockAngle,t.maximumClockAngle),this.radius=e(this.radius,t.radius),this.showIntersection=e(this.showIntersection,t.showIntersection),this.intersectionColor=e(this.intersectionColor,t.intersectionColor),this.intersectionWidth=e(this.intersectionWidth,t.intersectionWidth),this.capMaterial=e(this.capMaterial,t.capMaterial),this.innerMaterial=e(this.innerMaterial,t.innerMaterial),this.outerMaterial=e(this.outerMaterial,t.outerMaterial),this.silhouetteMaterial=e(this.silhouetteMaterial,t.silhouetteMaterial)},a}),r("DynamicScene/DynamicLabel",["../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/DeveloperError","../Core/Event","./createDynamicPropertyDescriptor"],function(e,t,r,i,n,o){"use strict";var a=function(){this._text=void 0,this._textSubscription=void 0,this._font=void 0,this._fontSubscription=void 0,this._style=void 0,this._styleSubscription=void 0,this._fillColor=void 0,this._fillColorSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._horizontalOrigin=void 0,this._horizontalOriginSubscription=void 0,this._verticalOrigin=void 0,this._verticalOriginSubscription=void 0,this._eyeOffset=void 0,this._eyeOffsetSubscription=void 0,this._pixelOffset=void 0,this._pixelOffsetSubscription=void 0,this._scale=void 0,this._scaleSubscription=void 0,this._show=void 0,this._showSubscription=void 0,this._translucencyByDistance=void 0,this._translucencyByDistanceSubscription=void 0,this._pixelOffsetScaleByDistance=void 0,this._pixelOffsetScaleByDistanceSubscription=void 0,this._definitionChanged=new n +};return r(a.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},text:o("text"),font:o("font"),style:o("style"),fillColor:o("fillColor"),outlineColor:o("outlineColor"),outlineWidth:o("outlineWidth"),horizontalOrigin:o("horizontalOrigin"),verticalOrigin:o("verticalOrigin"),eyeOffset:o("eyeOffset"),pixelOffset:o("pixelOffset"),scale:o("scale"),show:o("show"),translucencyByDistance:o("translucencyByDistance"),pixelOffsetScaleByDistance:o("pixelOffsetScaleByDistance")}),a.prototype.clone=function(e){return t(e)||(e=new a),e.text=this.text,e.font=this.font,e.show=this.show,e.style=this.style,e.fillColor=this.fillColor,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.scale=this.scale,e.horizontalOrigin=this.horizontalOrigin,e.verticalOrigin=this.verticalOrigin,e.eyeOffset=this.eyeOffset,e.pixelOffset=this.pixelOffset,e.translucencyByDistance=this._translucencyByDistance,e.pixelOffsetScaleByDistance=this._pixelOffsetScaleByDistance,e},a.prototype.merge=function(t){this.text=e(this.text,t.text),this.font=e(this.font,t.font),this.show=e(this.show,t.show),this.style=e(this.style,t.style),this.fillColor=e(this.fillColor,t.fillColor),this.outlineColor=e(this.outlineColor,t.outlineColor),this.outlineWidth=e(this.outlineWidth,t.outlineWidth),this.scale=e(this.scale,t.scale),this.horizontalOrigin=e(this.horizontalOrigin,t.horizontalOrigin),this.verticalOrigin=e(this.verticalOrigin,t.verticalOrigin),this.eyeOffset=e(this.eyeOffset,t.eyeOffset),this.pixelOffset=e(this.pixelOffset,t.pixelOffset),this.translucencyByDistance=e(this._translucencyByDistance,t._translucencyByDistance),this.pixelOffsetScaleByDistance=e(this._pixelOffsetScaleByDistance,t._pixelOffsetScaleByDistance)},a}),r("DynamicScene/DynamicEllipse",["../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/DeveloperError","../Core/Event","./createDynamicPropertyDescriptor"],function(e,t,r,i,n,o){"use strict";var a=function(){this._semiMajorAxis=void 0,this._semiMajorAxisSubscription=void 0,this._semiMinorAxis=void 0,this._semiMinorAxisSubscription=void 0,this._rotation=void 0,this._rotationSubscription=void 0,this._show=void 0,this._showSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._height=void 0,this._heightSubscription=void 0,this._extrudedHeight=void 0,this._extrudedHeightSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._stRotation=void 0,this._stRotationSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._numberOfVerticalLines=void 0,this._numberOfVerticalLinesSubscription=void 0,this._definitionChanged=new n};return r(a.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},semiMajorAxis:o("semiMajorAxis"),semiMinorAxis:o("semiMinorAxis"),rotation:o("rotation"),show:o("show"),material:o("material"),height:o("height"),extrudedHeight:o("extrudedHeight"),granularity:o("granularity"),stRotation:o("stRotation"),fill:o("fill"),outline:o("outline"),outlineColor:o("outlineColor"),numberOfVerticalLines:o("numberOfVerticalLines")}),a.prototype.clone=function(e){return t(e)||(e=new a),e.rotation=this.rotation,e.semiMajorAxis=this.semiMajorAxis,e.semiMinorAxis=this.semiMinorAxis,e.show=this.show,e.material=this.material,e.height=this.height,e.extrudedHeight=this.extrudedHeight,e.granularity=this.granularity,e.stRotation=this.stRotation,e.fill=this.fill,e.outline=this.outline,e.outlineColor=this.outlineColor,e.numberOfVerticalLines=this.numberOfVerticalLines,e},a.prototype.merge=function(t){this.rotation=e(this.rotation,t.rotation),this.semiMajorAxis=e(this.semiMajorAxis,t.semiMajorAxis),this.semiMinorAxis=e(this.semiMinorAxis,t.semiMinorAxis),this.show=e(this.show,t.show),this.material=e(this.material,t.material),this.height=e(this.height,t.height),this.extrudedHeight=e(this.extrudedHeight,t.extrudedHeight),this.granularity=e(this.granularity,t.granularity),this.stRotation=e(this.stRotation,t.stRotation),this.fill=e(this.fill,t.fill),this.outline=e(this.outline,t.outline),this.outlineColor=e(this.outlineColor,t.outlineColor),this.numberOfVerticalLines=e(this.numberOfVerticalLines,t.numberOfVerticalLines)},a}),r("DynamicScene/DynamicEllipsoid",["../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/DeveloperError","../Core/Event","./createDynamicPropertyDescriptor"],function(e,t,r,i,n,o){"use strict";var a=function(){this._show=void 0,this._showSubscription=void 0,this._radii=void 0,this._radiiSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._stackPartitions=void 0,this._stackPartitionsSubscription=void 0,this._slicePartitions=void 0,this._slicePartitionsSubscription=void 0,this._subdivisions=void 0,this._subdivisionsSubscription=void 0,this._definitionChanged=new n};return r(a.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:o("show"),radii:o("radii"),material:o("material"),fill:o("fill"),outline:o("outline"),outlineColor:o("outlineColor"),stackPartitions:o("stackPartitions"),slicePartitions:o("slicePartitions"),subdivisions:o("subdivisions")}),a.prototype.clone=function(e){return t(e)||(e=new a),e.show=this.show,e.radii=this.radii,e.material=this.material,e.fill=this.fill,e.outline=this.outline,e.outlineColor=this.outlineColor,e.stackPartitions=this.stackPartitions,e.slicePartitions=this.slicePartitions,e.subdivisions=this.subdivisions,e},a.prototype.merge=function(t){this.show=e(this.show,t.show),this.radii=e(this.radii,t.radii),this.material=e(this.material,t.material),this.fill=e(this.fill,t.fill),this.outline=e(this.outline,t.outline),this.outlineColor=e(this.outlineColor,t.outlineColor),this.stackPartitions=e(this.stackPartitions,t.stackPartitions),this.slicePartitions=e(this.slicePartitions,t.slicePartitions),this.subdivisions=e(this.subdivisions,t.subdivisions)},a}),r("DynamicScene/GridMaterialProperty",["../Core/Cartesian2","../Core/Color","../Core/defined","../Core/defineProperties","../Core/Event","./createDynamicPropertyDescriptor","./ConstantProperty","./Property"],function(e,t,r,i,n,o,a,s){"use strict";var l=function(){this._definitionChanged=new n,this._color=void 0,this._colorSubscription=void 0,this._cellAlpha=void 0,this._cellAlphaSubscription=void 0,this._lineCount=void 0,this._lineCountSubscription=void 0,this._lineThickness=void 0,this._lineThicknessSubscription=void 0,this.color=new a(t.WHITE),this.cellAlpha=new a(.1),this.lineCount=new a(new e(8,8)),this.lineThickness=new a(new e(1,1))};return i(l.prototype,{isConstant:{get:function(){return s.isConstant(this._color)&&s.isConstant(this._cellAlpha)&&s.isConstant(this._lineCount)&&s.isConstant(this._lineThickness)}},definitionChanged:{get:function(){return this._definitionChanged}},color:o("color"),cellAlpha:o("cellAlpha"),lineCount:o("lineCount"),lineThickness:o("lineThickness")}),l.prototype.getType=function(){return"Grid"},l.prototype.getValue=function(e,t){return r(t)||(t={}),t.color=r(this._color)?this._color.getValue(e,t.color):void 0,t.cellAlpha=r(this._cellAlpha)?this._cellAlpha.getValue(e):void 0,t.lineCount=r(this._lineCount)?this._lineCount.getValue(e,t.lineCount):void 0,t.lineThickness=r(this._lineThickness)?this._lineThickness.getValue(e,t.lineThickness):void 0,t},l.prototype.equals=function(e){return this===e||e instanceof l&&s.equals(this._color,e._color)&&s.equals(this._cellAlpha,e._cellAlpha)&&s.equals(this._lineCount,e._lineCount)&&s.equals(this._lineThickness,e._lineThickness)},l.prototype._raiseDefinitionChanged=function(){this._definitionChanged.raiseEvent(this)},l}),r("DynamicScene/ImageMaterialProperty",["../Core/Cartesian2","../Core/defined","../Core/defineProperties","../Core/Event","./createDynamicPropertyDescriptor","./ConstantProperty","./Property"],function(e,t,r,i,n,o,a){"use strict";var s=function(){this._definitionChanged=new i,this._image=void 0,this._imageSubscription=void 0,this._repeat=void 0,this._repeatSubscription=void 0,this.repeat=new o(new e(1,1))};return r(s.prototype,{isConstant:{get:function(){return a.isConstant(this._image)&&a.isConstant(this._repeat)}},definitionChanged:{get:function(){return this._definitionChanged}},image:n("image"),repeat:n("repeat")}),s.prototype.getType=function(){return"Image"},s.prototype.getValue=function(e,r){return t(r)||(r={}),r.image=t(this._image)?this._image.getValue(e):void 0,r.repeat=t(this._repeat)?this._repeat.getValue(e,r.repeat):void 0,r},s.prototype.equals=function(e){return this===e||e instanceof s&&a.equals(this._image,e._image)&&a.equals(this._repeat,e._repeat)},s.prototype._raiseDefinitionChanged=function(){this._definitionChanged.raiseEvent(this)},s}),r("DynamicScene/DynamicModel",["../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/DeveloperError","../Core/Event","./createDynamicPropertyDescriptor"],function(e,t,r,i,n,o){"use strict";var a=function(){this._show=void 0,this._showSubscription=void 0,this._scale=void 0,this._scaleSubscription=void 0,this._uri=void 0,this._uriSubscription=void 0,this._definitionChanged=new n};return r(a.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:o("show"),scale:o("scale"),uri:o("uri")}),a.prototype.clone=function(e){return t(e)||(e=new a),e.show=this.show,e.scale=this.scale,e.uri=this.uri,e},a.prototype.merge=function(t){this.show=e(this.show,t.show),this.scale=e(this.scale,t.scale),this.uri=e(this.uri,t.uri)},a}),r("DynamicScene/DynamicPath",["../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/DeveloperError","../Core/Event","./createDynamicPropertyDescriptor"],function(e,t,r,i,n,o){"use strict";var a=function(){this._color=void 0,this._colorSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._show=void 0,this._showSubscription=void 0,this._width=void 0,this._widthSubscription=void 0,this._resolution=void 0,this._resolutionSubscription=void 0,this._leadTime=void 0,this._leadTimeSubscription=void 0,this._trailTime=void 0,this._trailTimeSubscription=void 0,this._definitionChanged=new n};return r(a.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},color:o("color"),outlineColor:o("outlineColor"),outlineWidth:o("outlineWidth"),show:o("show"),width:o("width"),resolution:o("resolution"),leadTime:o("leadTime"),trailTime:o("trailTime")}),a.prototype.clone=function(e){return t(e)||(e=new a),e.color=this.color,e.width=this.width,e.resolution=this.resolution,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.show=this.show,e.leadTime=this.leadTime,e.trailTime=this.trailTime,e},a.prototype.merge=function(t){this.color=e(this.color,t.color),this.width=e(this.width,t.width),this.resolution=e(this.resolution,t.resolution),this.outlineColor=e(this.outlineColor,t.outlineColor),this.outlineWidth=e(this.outlineWidth,t.outlineWidth),this.show=e(this.show,t.show),this.leadTime=e(this.leadTime,t.leadTime),this.trailTime=e(this.trailTime,t.trailTime)},a}),r("DynamicScene/DynamicPoint",["../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/DeveloperError","../Core/Event","./createDynamicPropertyDescriptor"],function(e,t,r,i,n,o){"use strict";var a=function(){this._color=void 0,this._colorSubscription=void 0,this._pixelSize=void 0,this._pixelSizeSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._show=void 0,this._showSubscription=void 0,this._scaleByDistance=void 0,this._scaleByDistanceSubscription=void 0,this._definitionChanged=new n};return r(a.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},color:o("color"),pixelSize:o("pixelSize"),outlineColor:o("outlineColor"),outlineWidth:o("outlineWidth"),show:o("show"),scaleByDistance:o("scaleByDistance")}),a.prototype.clone=function(e){return t(e)||(e=new a),e.color=this.color,e.pixelSize=this.pixelSize,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.show=this.show,e.scaleByDistance=this.scaleByDistance,e},a.prototype.merge=function(t){this.color=e(this.color,t.color),this.pixelSize=e(this.pixelSize,t.pixelSize),this.outlineColor=e(this.outlineColor,t.outlineColor),this.outlineWidth=e(this.outlineWidth,t.outlineWidth),this.show=e(this.show,t.show),this.scaleByDistance=e(this.scaleByDistance,t.scaleByDistance)},a}),r("DynamicScene/DynamicPolyline",["../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/DeveloperError","../Core/Event","./createDynamicPropertyDescriptor"],function(e,t,r,i,n,o){"use strict";var a=function(){this._show=void 0,this._showSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._width=void 0,this._widthSubscription=void 0,this._definitionChanged=new n};return r(a.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:o("show"),material:o("material"),width:o("width")}),a.prototype.clone=function(e){return t(e)||(e=new a),e.show=this.show,e.material=this.material,e.width=this.width,e},a.prototype.merge=function(t){this.show=e(this.show,t.show),this.material=e(this.material,t.material),this.width=e(this.width,t.width)},a}),r("DynamicScene/DynamicPolygon",["../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/DeveloperError","../Core/Event","./createDynamicPropertyDescriptor"],function(e,t,r,i,n,o){"use strict";var a=function(){this._show=void 0,this._showSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._height=void 0,this._heightSubscription=void 0,this._extrudedHeight=void 0,this._extrudedHeightSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._stRotation=void 0,this._stRotationSubscription=void 0,this._perPositionHeight=void 0,this._perPositionHeightSubscription=void 0,this._definitionChanged=new n};return r(a.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:o("show"),material:o("material"),height:o("height"),extrudedHeight:o("extrudedHeight"),granularity:o("granularity"),stRotation:o("stRotation"),fill:o("fill"),outline:o("outline"),outlineColor:o("outlineColor"),perPositionHeight:o("perPositionHeight")}),a.prototype.clone=function(e){return t(e)||(e=new a),e.show=this.show,e.material=this.material,e.height=this.height,e.extrudedHeight=this.extrudedHeight,e.granularity=this.granularity,e.stRotation=this.stRotation,e.fill=this.fill,e.outline=this.outline,e.outlineColor=this.outlineColor,e.perPositionHeight=this.perPositionHeight,e},a.prototype.merge=function(t){this.show=e(this.show,t.show),this.material=e(this.material,t.material),this.height=e(this.height,t.height),this.extrudedHeight=e(this.extrudedHeight,t.extrudedHeight),this.granularity=e(this.granularity,t.granularity),this.stRotation=e(this.stRotation,t.stRotation),this.fill=e(this.fill,t.fill),this.outline=e(this.outline,t.outline),this.outlineColor=e(this.outlineColor,t.outlineColor),this.perPositionHeight=e(this.perPositionHeight,t.perPositionHeight)},a}),r("DynamicScene/DynamicPyramid",["../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/DeveloperError","../Core/Event","./createDynamicPropertyDescriptor"],function(e,t,r,i,n,o){"use strict";var a=function(){this._show=void 0,this._showSubscription=void 0,this._directions=void 0,this._directionsSubscription=void 0,this._radius=void 0,this._radiusSubscription=void 0,this._showIntersection=void 0,this._showIntersectionSubscription=void 0,this._intersectionColor=void 0,this._intersectionColorSubscription=void 0,this._intersectionWidth=void 0,this._intersectionWidthSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._definitionChanged=new n};return r(a.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:o("show"),directions:o("directions"),radius:o("radius"),showIntersection:o("showIntersection"),intersectionColor:o("intersectionColor"),intersectionWidth:o("intersectionWidth"),material:o("material")}),a.prototype.clone=function(e){return t(e)||(e=new a),e.show=this.show,e.directions=this.directions,e.radius=this.radius,e.showIntersection=this.showIntersection,e.intersectionColor=this.intersectionColor,e.intersectionWidth=this.intersectionWidth,e.material=this.material,e},a.prototype.merge=function(t){this.show=e(this.show,t.show),this.directions=e(this.directions,t.directions),this.radius=e(this.radius,t.radius),this.showIntersection=e(this.showIntersection,t.showIntersection),this.intersectionColor=e(this.intersectionColor,t.intersectionColor),this.intersectionWidth=e(this.intersectionWidth,t.intersectionWidth),this.material=e(this.material,t.material)},a}),r("DynamicScene/DynamicVector",["../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/DeveloperError","../Core/Event","./createDynamicPropertyDescriptor"],function(e,t,r,i,n,o){"use strict";var a=function(){this._color=void 0,this._colorSubscription=void 0,this._show=void 0,this._showSubscription=void 0,this._width=void 0,this._widthSubscription=void 0,this._direction=void 0,this._directionSubscription=void 0,this._length=void 0,this._lengthSubscription=void 0,this._definitionChanged=new n};return r(a.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},color:o("color"),show:o("show"),width:o("width"),direction:o("direction"),length:o("length")}),a.prototype.clone=function(e){return t(e)||(e=new a),e.color=this.color,e.width=this.width,e.direction=this.direction,e.length=this.length,e.show=this.show,e},a.prototype.merge=function(t){this.color=e(this.color,t.color),this.width=e(this.width,t.width),this.direction=e(this.direction,t.direction),this.length=e(this.length,t.length),this.show=e(this.show,t.show)},a}),r("DynamicScene/PositionPropertyArray",["../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/DeveloperError","../Core/Event","../Core/EventHelper","../Core/ReferenceFrame","./Property"],function(e,t,r,i,n,o,a,s){"use strict";var l=function(t,r){this._value=void 0,this._definitionChanged=new n,this._eventHelper=new o,this._referenceFrame=e(r,a.FIXED),this.setValue(t)};return r(l.prototype,{isConstant:{get:function(){var e=this._value;if(!t(e))return!0;for(var r=e.length,i=0;r>i;i++)if(!s.isConstant(e[i]))return!1;return!0}},definitionChanged:{get:function(){return this._definitionChanged}},referenceFrame:{get:function(){return this._referenceFrame}}}),l.prototype.getValue=function(e,t){return this.getValueInReferenceFrame(e,a.FIXED,t)},l.prototype.getValueInReferenceFrame=function(e,r,i){var n=this._value;if(!t(n))return void 0;var o=n.length;t(i)||(i=new Array(o));for(var a=0,s=0;o>a;){var l=n[a],u=l.getValueInReferenceFrame(e,r,i[a]);t(u)&&(i[s]=u,s++),a++}return i.length=s,i},l.prototype.setValue=function(e){var r=this._eventHelper;if(r.removeAll(),t(e)){this._value=e.slice();for(var i=e.length,n=0;i>n;n++){var o=e[n];t(o)&&r.add(o.definitionChanged,l.prototype._raiseDefinitionChanged,this)}}else this._value=void 0;this._definitionChanged.raiseEvent(this)},l.prototype.equals=function(e){return this===e||e instanceof l&&this._referenceFrame===e._referenceFrame&&s.arrayEquals(this._value,e._value)},l.prototype._raiseDefinitionChanged=function(){this._definitionChanged.raiseEvent(this)},l}),r("DynamicScene/ReferenceProperty",["../Core/defined","../Core/defineProperties","../Core/DeveloperError","../Core/Event","../DynamicScene/Property"],function(e,t,r,i,n){"use strict";function o(t){var r=t._targetProperty;if(!e(r)){var i=t._dynamicObjectCollection,n=i.getById(t._targetObjectId);e(n)&&(r=n[t._targetPropertyName],t._targetProperty=r,t._targetObject=n)}return r}var a=function(e,t,r){this._targetProperty=void 0,this._dynamicObjectCollection=e,this._targetObjectId=t,this._targetObject=void 0,this._targetPropertyName=r,this._definitionChanged=new i};return t(a.prototype,{isConstant:{get:function(){return n.isConstant(o(this))}},definitionChanged:{get:function(){return this._definitionChanged}}}),a.fromString=function(e,t){var r=t.split(".");return new a(e,r[0],r[1])},a.prototype.getValue=function(t,r){var i=o(this);return e(i)&&this._targetObject.isAvailable(t)?i.getValue(t,r):void 0},a.prototype.getValueInReferenceFrame=function(t,r,i){var n=o(this);return e(n)&&this._targetObject.isAvailable(t)?n.getValueInReferenceFrame(t,r,i):void 0},a.prototype.equals=function(e){return this===e||this._dynamicObjectCollection===e._dynamicObjectCollection&&this._targetObjectId===e._targetObjectId&&this._targetPropertyName===e._targetPropertyName},a}),r("DynamicScene/SampledProperty",["../Core/binarySearch","../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/DeveloperError","../Core/Event","../Core/JulianDate","../Core/LinearApproximation"],function(e,t,r,i,n,o,a,s){"use strict";function l(e,t,r){var i,n=e.length,o=r.length,a=n+o;if(e.length=a,n!==t){var s=n-1;for(i=a-1;i>=t;i--)e[i]=e[s--]}for(i=0;o>i;i++)e[t++]=r[i]}function u(e,t){return e instanceof a?e:"string"==typeof e?a.fromIso8601(e):t.addSeconds(e)}var c={packedLength:1,pack:function(e,r,i){i=t(i,0),r[i]=e},unpack:function(e,r){return r=t(r,0),e[r]}},h=[],d=[],m=function(t,i,n,o,s){for(var c,m,p,f,v,g,_=0;_p){for(p=~p,f=p*s,m=void 0,g=i[p];_=0||r(g)&&a.compare(v,g)>=0));){for(h[y++]=v,_+=1,c=0;s>c;c++)d[C++]=o[_],_+=1;m=v}y>0&&(d.length=C,l(n,f,d),h.length=y,l(i,p,h))}else{for(c=0;s>c;c++)_++,n[p*s+c]=o[_];_++}}},p=function(e){var r=e;r===Number&&(r=c);var i=t(r.packedInterpolationLength,r.packedLength);this._type=e,this._innerType=r,this._interpolationDegree=1,this._interpolationAlgorithm=s,this._numberOfPoints=0,this._times=[],this._values=[],this._xTable=[],this._yTable=[],this._packedInterpolationLength=i,this._updateTableLength=!0,this._interpolationResult=new Array(i),this._definitionChanged=new o};return i(p.prototype,{isConstant:{get:function(){return 0===this._values.length}},definitionChanged:{get:function(){return this._definitionChanged}},type:{get:function(){return this._type}},interpolationDegree:{get:function(){return this._interpolationDegree}},interpolationAlgorithm:{get:function(){return this._interpolationAlgorithm}}}),p.prototype.getValue=function(t,i){var n=this._innerType,o=this._times,s=this._values,l=e(o,t,a.compare);if(0>l){var u=this._xTable,c=this._yTable,h=this._interpolationAlgorithm,d=this._packedInterpolationLength;if(this._updateTableLength){this._updateTableLength=!1;var m=Math.min(h.getRequiredDataPoints(this._interpolationDegree),o.length);m!==this._numberOfPoints&&(this._numberOfPoints=m,u.length=m,c.length=m*d)}var p=this._numberOfPoints-1;if(1>p)return void 0;l=~l,l>=o.length&&(l=o.length-1);var f=0,v=o.length-1,g=v-f+1;if(p+1>g);else{var _=l-(0|p/2)-1;f>_&&(_=f);var y=_+p;y>v&&(y=v,_=y-p,f>_&&(_=f)),f=_,v=y}for(var C=v-f+1,S=0;C>S;++S)u[S]=o[v].getSecondsDifference(o[f+S]);if(r(n.convertPackedArrayForInterpolation))n.convertPackedArrayForInterpolation(s,f,v,c);else for(var w=0,E=n.packedLength,x=f*E,b=(v+1)*E;b>x;)c[w]=s[x],x++,w++;var T=o[v].getSecondsDifference(t),A=h.interpolateOrderZero(T,u,c,d,this._interpolationResult);return r(n.unpackInterpolationResult)?n.unpackInterpolationResult(A,s,f,v,i):n.unpack(A,0,i)}return n.unpack(this._values,l*n.packedLength,i)},p.prototype.setInterpolationOptions=function(e){var t=!1,r=e.interpolationAlgorithm,i=e.interpolationDegree;this._interpolationAlgorithm!==r&&(this._interpolationAlgorithm=r,t=!0),this._interpolationDegree!==i&&(this._interpolationDegree=i,t=!0),t&&(this._updateTableLength=!0,this._definitionChanged.raiseEvent(this))},p.prototype.addSample=function(e,t){var r=this._innerType,i=[e];r.pack(t,i,1),m(void 0,this._times,this._values,i,r.packedLength),this._updateTableLength=!0,this._definitionChanged.raiseEvent(this)},p.prototype.addSamples=function(e,t){for(var r=this._innerType,i=e.length,n=[],o=0;i>o;o++)n.push(e[o]),r.pack(t[o],n,n.length);m(void 0,this._times,this._values,n,r.packedLength),this._updateTableLength=!0,this._definitionChanged.raiseEvent(this)},p.prototype.addSamplesPackedArray=function(e,t){m(t,this._times,this._values,e,this._innerType.packedLength),this._updateTableLength=!0,this._definitionChanged.raiseEvent(this)},p.prototype.equals=function(e){if(this===e)return!0;if(!r(e))return!1;var t=this._times,i=e._times,n=t.length;if(n!==i.length)return!1;var o;for(o=0;n>o;o++)if(!a.equals(t[o],i[o]))return!1;var s=this._values,l=e._values;for(o=0;n>o;o++)if(s[o]!==l[o])return!1;return this._type===e._type&&this._interpolationDegree===e._interpolationDegree&&this._interpolationAlgorithm===e._interpolationAlgorithm},p._mergeNewSamples=m,p}),r("DynamicScene/SampledPositionProperty",["./PositionProperty","./Property","./SampledProperty","../Core/Cartesian3","../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/DeveloperError","../Core/Event","../Core/ReferenceFrame"],function(e,t,r,i,n,o,a,s,l,u){"use strict";var c=function(e){this._property=new r(i),this._definitionChanged=new l,this._referenceFrame=n(e,u.FIXED),this._property._definitionChanged.addEventListener(function(){this._definitionChanged.raiseEvent(this)},this)};return a(c.prototype,{isConstant:{get:function(){return this._property.isConstant}},definitionChanged:{get:function(){return this._definitionChanged}},referenceFrame:{get:function(){return this._referenceFrame}},interpolationDegree:{get:function(){return this._property.interpolationDegree}},interpolationAlgorithm:{get:function(){return this._property.interpolationAlgorithm}}}),c.prototype.getValue=function(e,t){return this.getValueInReferenceFrame(e,u.FIXED,t)},c.prototype.getValueInReferenceFrame=function(t,r,i){return i=this._property.getValue(t,i),o(i)?e.convertToReferenceFrame(t,i,this._referenceFrame,r,i):i},c.prototype.setInterpolationOptions=function(e){this._property.setInterpolationOptions(e)},c.prototype.addSample=function(e,t){this._property.addSample(e,t)},c.prototype.addSamples=function(e,t){this._property.addSamples(e,t)},c.prototype.addSamplesPackedArray=function(e,t){this._property.addSamplesPackedArray(e,t)},c.prototype.equals=function(e){return this===e||t.equals(this._property,e._property)&&this._referenceFrame===e._referenceFrame},c}),r("DynamicScene/TimeIntervalCollectionPositionProperty",["./PositionProperty","./Property","../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/DeveloperError","../Core/Event","../Core/ReferenceFrame","../Core/TimeIntervalCollection"],function(e,t,r,i,n,o,a,s,l){"use strict";var u=function(e){this._definitionChanged=new a,this._intervals=new l,this._intervals.changedEvent.addEventListener(u.prototype._intervalsChanged,this),this._referenceFrame=r(e,s.FIXED)};return n(u.prototype,{isConstant:{get:function(){return this._intervals.empty}},definitionChanged:{get:function(){return this._definitionChanged}},intervals:{get:function(){return this._intervals}},referenceFrame:{get:function(){return this._referenceFrame}}}),u.prototype.getValue=function(e,t){return this.getValueInReferenceFrame(e,s.FIXED,t)},u.prototype.getValueInReferenceFrame=function(t,r,n){var o=this._intervals.findDataForIntervalContainingDate(t);return i(o)?e.convertToReferenceFrame(t,o,this._referenceFrame,r,n):void 0},u.prototype.equals=function(e){return this===e||e instanceof u&&this._intervals.equals(e._intervals,t.equals)&&this._referenceFrame===e._referenceFrame},u.prototype._intervalsChanged=function(){this._definitionChanged.raiseEvent(this)},u}),r("DynamicScene/TimeIntervalCollectionProperty",["./Property","../Core/defined","../Core/defineProperties","../Core/DeveloperError","../Core/Enumeration","../Core/Event","../Core/isArray","../Core/TimeIntervalCollection"],function(e,t,r,i,n,o,a,s){"use strict";var l=function(){this._definitionChanged=new o,this._intervals=new s,this._intervals.changedEvent.addEventListener(l.prototype._intervalsChanged,this)};return r(l.prototype,{isConstant:{get:function(){return this._intervals.empty}},definitionChanged:{get:function(){return this._definitionChanged}},intervals:{get:function(){return this._intervals}}}),l.prototype.getValue=function(e,r){var i=this._intervals.findDataForIntervalContainingDate(e);return!t(i)||"object"!=typeof i||a(i)||i instanceof n?i:i.clone(r)},l.prototype.equals=function(t){return this===t||t instanceof l&&this._intervals.equals(t._intervals,e.equals)},l.prototype._intervalsChanged=function(){this._definitionChanged.raiseEvent(this)},l}),r("DynamicScene/CzmlDataSource",["../Core/Cartesian2","../Core/Cartesian3","../Core/Cartographic","../Core/Color","../Core/ClockRange","../Core/ClockStep","../Core/createGuid","../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/DeveloperError","../Core/Ellipsoid","../Core/Event","../Core/getFilenameFromUri","../Core/HermitePolynomialApproximation","../Core/isArray","../Core/Iso8601","../Core/JulianDate","../Core/LagrangePolynomialApproximation","../Core/LinearApproximation","../Core/loadJson","../Core/Math","../Core/Quaternion","../Core/ReferenceFrame","../Core/RuntimeError","../Core/Spherical","../Core/TimeInterval","../Core/TimeIntervalCollection","../Scene/HorizontalOrigin","../Scene/LabelStyle","../Scene/VerticalOrigin","./CompositeMaterialProperty","./CompositePositionProperty","./CompositeProperty","./ConstantPositionProperty","./ConstantProperty","./createDynamicPropertyDescriptor","./DynamicBillboard","./DynamicClock","./ColorMaterialProperty","./PolylineOutlineMaterialProperty","./DynamicCone","./DynamicLabel","./DynamicEllipse","./DynamicEllipsoid","./GridMaterialProperty","./ImageMaterialProperty","./DynamicModel","./DynamicObject","./DynamicObjectCollection","./DynamicPath","./DynamicPoint","./DynamicPolyline","./DynamicPolygon","./DynamicPyramid","./DynamicVector","./PositionPropertyArray","./ReferenceProperty","./SampledPositionProperty","./SampledProperty","./TimeIntervalCollectionPositionProperty","./TimeIntervalCollectionProperty","../ThirdParty/Uri","../ThirdParty/when"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f,v,g,_,y,C,S,w,E,x,b,T,A,P,D,M,I,O,R,L,N,B,z,F,V,k,U,W,G,H,j,q,Y,X,Z,J,Q,K,$,et,tt,rt,it,nt,ot,at,st,lt,ut){"use strict";function ct(e,t,r){return l(t)||l(r)?(e instanceof Yt||(e=new Yt),_t(Number,e,"x",t),_t(Number,e,"y",r),e):e}function ht(e){var t=e.rgbaf;if(l(t))return t;var r=e.rgba;if(!l(r))return void 0;if(r.length===i.length)return[i.byteToFloat(r[0]),i.byteToFloat(r[1]),i.byteToFloat(r[2]),i.byteToFloat(r[3])];var n=r.length;t=new Array(n);for(var o=0;n>o;o+=5)t[o]=r[o],t[o+1]=i.byteToFloat(r[o+1]),t[o+2]=i.byteToFloat(r[o+2]),t[o+3]=i.byteToFloat(r[o+3]),t[o+4]=i.byteToFloat(r[o+4]);return t}function dt(e,t){var r=s(e.image,e);if(l(t)){var i=new lt(document.location.href);t=new lt(t),r=new lt(r).resolve(t.resolve(i)).toString()}return r}function mt(e,t){var r=s(e.uri,e);if(l(t)){var i=new lt(document.location.href);t=new lt(t),r=new lt(r).resolve(t.resolve(i)).toString()}return r}function pt(e){if(l(e.cartesian))return e.cartesian;if(l(e.unitCartesian))return e.unitCartesian;var r,i,n,o=e.unitSpherical;if(l(o)){if(i=o.length,2===i)Zt.clock=o[0],Zt.cone=o[1],t.fromSpherical(Zt,Xt),n=[Xt.x,Xt.y,Xt.z];else{var a=0;for(n=new Array(4*(i/3)),r=0;i>r;r+=4)n[r]=o[a++],Zt.clock=o[a++],Zt.cone=o[a++],t.fromSpherical(Zt,Xt),n[r+1]=Xt.x,n[r+2]=Xt.y,n[r+3]=Xt.z}return n}var s=e.cartographicRadians;if(l(s)){if(3===s.length)Jt.longitude=s[0],Jt.latitude=s[1],Jt.height=s[2],h.WGS84.cartographicToCartesian(Jt,Xt),n=[Xt.x,Xt.y,Xt.z];else for(i=s.length,n=new Array(i),r=0;i>r;r+=4)Jt.longitude=s[r+1],Jt.latitude=s[r+2],Jt.height=s[r+3],h.WGS84.cartographicToCartesian(Jt,Xt),n[r]=s[r],n[r+1]=Xt.x,n[r+2]=Xt.y,n[r+3]=Xt.z;return n}var u=e.cartographicDegrees;if(!l(u))throw new x(JSON.stringify(e)+" is not a valid CZML interval."); +if(3===u.length)Jt.longitude=S.toRadians(u[0]),Jt.latitude=S.toRadians(u[1]),Jt.height=u[2],h.WGS84.cartographicToCartesian(Jt,Xt),n=[Xt.x,Xt.y,Xt.z];else for(i=u.length,n=new Array(i),r=0;i>r;r+=4)Jt.longitude=S.toRadians(u[r+1]),Jt.latitude=S.toRadians(u[r+2]),Jt.height=u[r+3],h.WGS84.cartographicToCartesian(Jt,Xt),n[r]=u[r],n[r+1]=Xt.x,n[r+2]=Xt.y,n[r+3]=Xt.z;return n}function ft(r,n,o){switch(r){case Boolean:return s(n["boolean"],n);case e:return n.cartesian2;case t:return pt(n);case i:return ht(n);case P:return P[s(n.horizontalOrigin,n)];case Image:return dt(n,o);case g:return g.fromIso8601(s(n.date,n));case D:return D[s(n.labelStyle,n)];case Number:return s(n.number,n);case String:return s(n.string,n);case Array:return n.array;case w:var a=n.unitQuaternion;if(l(a)){if(4===a.length)return[-a[0],-a[1],-a[2],a[3]];a=a.slice(0);for(var u=0;ud;if(!p&&!h)return t[r]=l(e.unpack)?new N(e.unpack(c,0)):new N(c),!0;var f,_=!1,y=t[r],C=i.epoch;if(l(C)&&(f=g.fromIso8601(C)),p&&!h)return y instanceof ot||(y=new ot(e),t[r]=y,_=!0),y.addSamplesPackedArray(c,f),vt(i,y),_;var S;if(!p&&h)return a=a.clone(),a.data=l(e.unpack)?e.unpack(c,0):c,l(y)||(y=new st,t[r]=y,_=!0),y instanceof st?y.intervals.addInterval(a):y instanceof R?(a.data=new N(a.data),y.intervals.addInterval(a)):(S=v.MAXIMUM_INTERVAL.clone(),S.data=y,_=!0,y=new R,t[r]=y,y.intervals.addInterval(S),a.data=new N(a.data),y.intervals.addInterval(a)),_;l(y)||(_=!0,y=new R,t[r]=y),y instanceof R||(S=v.MAXIMUM_INTERVAL.clone(),S.data=y,_=!0,y=new R,t[r]=y,y.intervals.addInterval(S));var w=y.intervals;return S=w.findInterval(a.start,a.stop,a.isStartIncluded,a.isStopIncluded),l(S)&&S.data instanceof ot||(S=a.clone(),S.data=new ot(e),w.addInterval(S)),S.data.addSamplesPackedArray(c,f),vt(i,S.data),_}function _t(e,t,r,i,n,o){if(l(i))if(f(i))for(var a=0,s=i.length;s>a;a++)gt(e,t,r,i[a],n,o);else gt(e,t,r,i,n,o)}function yt(e,r,i,n){var o,a=i.interval;l(a)?(o=T.fromIso8601(a),l(n)&&(o=o.intersect(n))):l(n)&&(o=n);var u=s(E[i.referenceFrame],void 0),c=pt(i),h=l(o)&&!o.equals(v.MAXIMUM_INTERVAL),d=t.packedLength,m=s(c.length,1),p="string"!=typeof c&&m>d;if(!p&&!h)return e[r]=new L(t.unpack(c),u),!0;var f,_=!1,y=e[r],C=i.epoch;if(l(C)&&(f=g.fromIso8601(C)),p&&!h)return(!(y instanceof nt)||l(u)&&y.referenceFrame!==u)&&(y=new nt(u),e[r]=y,_=!0),y.addSamplesPackedArray(c,f),vt(i,y),_;var S;if(!p&&h)return o=o.clone(),o.data=t.unpack(c),l(y)||(y=new at(u),e[r]=y,_=!0),y instanceof at&&l(u)&&y.referenceFrame===u?y.intervals.addInterval(o):y instanceof O?(o.data=new L(o.data,u),y.intervals.addInterval(o)):(S=v.MAXIMUM_INTERVAL.clone(),S.data=y,_=!0,y=new O(y.referenceFrame),e[r]=y,y.intervals.addInterval(S),o.data=new L(o.data,u),y.intervals.addInterval(o)),_;l(y)?y instanceof O||(S=v.MAXIMUM_INTERVAL.clone(),S.data=y,_=!0,y=new O(y.referenceFrame),e[r]=y,y.intervals.addInterval(S)):(_=!0,y=new O(u),e[r]=y);var w=y.intervals;return S=w.findInterval(o.start,o.stop,o.isStartIncluded,o.isStopIncluded),l(S)&&S.data instanceof nt&&(!l(u)||S.data.referenceFrame===u)||(S=o.clone(),S.data=new nt(u),w.addInterval(S)),S.data.addSamplesPackedArray(c,f),vt(i,S.data),_}function Ct(e,t,r,i,n){if(l(r))if(f(r))for(var o=0,a=r.length;a>o;o++)yt(e,t,r[o],i,n);else yt(e,t,r,i,n)}function St(e,t,r,n,o){var a,s=r.interval;l(s)?(a=T.fromIso8601(s),l(n)&&(a=a.intersect(n))):l(n)&&(a=n);var u,c,h=e[t];if(l(a)){h instanceof I||(h=new I,e[t]=h);var d=h.intervals;c=d.findInterval(a.start,a.stop),l(c)?u=c.data:(c=a.clone(),d.addInterval(c))}else u=h;var m;l(r.solidColor)?(u instanceof V||(u=new V),m=r.solidColor,_t(i,u,"color",m.color)):l(r.grid)?(u instanceof j||(u=new j),m=r.grid,_t(i,u,"color",m.color,void 0,o),_t(Number,u,"cellAlpha",m.cellAlpha,void 0,o),u.lineThickness=ct(u.lineThickness,m.rowThickness,m.columnThickness),u.lineCount=ct(u.lineCount,m.rowCount,m.columnCount)):l(r.image)&&(u instanceof q||(u=new q),m=r.image,_t(Image,u,"image",m.image,void 0,o),u.repeat=ct(u.repeat,m.horizontalRepeat,m.verticalRepeat)),l(c)?c.data=u:e[t]=u}function wt(e,t,r,i,n){if(l(r))if(f(r))for(var o=0,a=r.length;a>o;o++)St(e,t,r[o],i,n);else St(e,t,r,i,n)}function Et(e,t){e.name=s(t.name,e.name)}function xt(e,t,r,i){var n=t.description;l(n)&&_t(String,e,"description",n,void 0,i)}function bt(e,t,r,i){var n=t.position;l(n)&&Ct(e,"position",n,void 0,i)}function Tt(e,r,i,n){var o=r.viewFrom;l(o)&&_t(t,e,"viewFrom",o,void 0,n)}function At(e,t,r,i){var n=t.orientation;l(n)&&_t(w,e,"orientation",n,void 0,i)}function Pt(e,i,n){var o,a,s=i.references;if(l(s)){var u=[];for(o=0,a=s.length;a>o;o++)u.push(it.fromString(n,s[o]));var c=i.interval;l(c)?(c=T.fromIso8601(c),e.vertexPositions instanceof O||(e.vertexPositions=new O,c.data=new rt(u),e.vertexPositions.intervals.addInterval(c))):e.vertexPositions=new rt(u)}else{var d=[],m=i.cartesian;if(l(m)){for(o=0,a=m.length;a>o;o+=3)d.push(new t(m[o],m[o+1],m[o+2]));i.array=d}else if(m=i.cartographicRadians,l(m)){for(o=0,a=m.length;a>o;o+=3)d.push(h.WGS84.cartographicToCartesian(new r(m[o],m[o+1],m[o+2])));i.array=d}else if(m=i.cartographicDegrees,l(m)){for(o=0,a=m.length;a>o;o+=3)d.push(h.WGS84.cartographicToCartesian(r.fromDegrees(m[o],m[o+1],m[o+2])));i.array=d}l(i.array)&&_t(Array,e,"vertexPositions",i)}}function Dt(e,t,r){var i=t.vertexPositions;if(l(i))if(f(i))for(var n=i.length,o=0;n>o;o++)Pt(e,i[o],r);else Pt(e,i,r)}function Mt(e,t){var r,i=t.availability;if(l(i)){var n;if(f(i))for(var o=i.length,a=0;o>a;a++)l(n)||(n=new A),r=T.fromIso8601(i[a]),n.addInterval(r);else r=T.fromIso8601(i),n=new A,n.addInterval(r);e.availability=n}}function It(r,n,o,a){var s=n.billboard;if(l(s)){var u=s.interval;l(u)&&(u=T.fromIso8601(u));var c=r.billboard;l(c)||(r.billboard=c=new z),_t(i,c,"color",s.color,u,a),_t(t,c,"eyeOffset",s.eyeOffset,u,a),_t(P,c,"horizontalOrigin",s.horizontalOrigin,u,a),_t(Image,c,"image",s.image,u,a),_t(e,c,"pixelOffset",s.pixelOffset,u,a),_t(Number,c,"scale",s.scale,u,a),_t(Number,c,"rotation",s.rotation,u,a),_t(t,c,"alignedAxis",s.alignedAxis,u,a),_t(Boolean,c,"show",s.show,u,a),_t(M,c,"verticalOrigin",s.verticalOrigin,u,a)}}function Ot(e,t){var r=t.clock;if(l(r)&&"document"===e.id){var i=e.clock;if(l(i)||(i=new F,i.startTime=v.MAXIMUM_INTERVAL.start,i.stopTime=v.MAXIMUM_INTERVAL.stop,i.clockRange=n.LOOP_STOP,i.clockStep=o.SYSTEM_CLOCK_MULTIPLIER,i.multiplier=1,e.clock=i),l(r.interval)){var a=T.fromIso8601(r.interval);i.startTime=a.start,i.stopTime=a.stop}l(r.currentTime)&&(i.currentTime=g.fromIso8601(r.currentTime)),l(r.range)&&(i.clockRange=n[r.range]),l(r.step)&&(i.clockStep=o[r.step]),l(r.multiplier)&&(i.multiplier=r.multiplier)}}function Rt(e,t,r,n){var o=t.cone;if(l(o)){var a=o.interval;l(a)&&(a=T.fromIso8601(a));var s=e.cone;l(s)||(e.cone=s=new U),_t(Boolean,s,"show",o.show,a,n),_t(Number,s,"radius",o.radius,a,n),_t(Boolean,s,"showIntersection",o.showIntersection,a,n),_t(i,s,"intersectionColor",o.intersectionColor,a,n),_t(Number,s,"intersectionWidth",o.intersectionWidth,a,n),_t(Number,s,"innerHalfAngle",o.innerHalfAngle,a,n),_t(Number,s,"outerHalfAngle",o.outerHalfAngle,a,n),_t(Number,s,"minimumClockAngle",o.minimumClockAngle,a,n),_t(Number,s,"maximumClockAngle",o.maximumClockAngle,a,n),wt(s,"capMaterial",o.capMaterial,a,n),wt(s,"innerMaterial",o.innerMaterial,a,n),wt(s,"outerMaterial",o.outerMaterial,a,n),wt(s,"silhouetteMaterial",o.silhouetteMaterial,a,n)}}function Lt(e,t,r,n){var o=t.ellipse;if(l(o)){var a=o.interval;l(a)&&(a=T.fromIso8601(a));var s=e.ellipse;l(s)||(e.ellipse=s=new G),_t(Boolean,s,"show",o.show,a,n),_t(Number,s,"rotation",o.rotation,a,n),_t(Number,s,"semiMajorAxis",o.semiMajorAxis,a,n),_t(Number,s,"semiMinorAxis",o.semiMinorAxis,a,n),_t(Number,s,"height",o.height,a,n),_t(Number,s,"extrudedHeight",o.extrudedHeight,a,n),_t(Number,s,"granularity",o.granularity,a,n),_t(Number,s,"stRotation",o.stRotation,a,n),wt(s,"material",o.material,a,n),_t(Boolean,s,"fill",o.fill,a,n),_t(Boolean,s,"outline",o.outline,a,n),_t(i,s,"outlineColor",o.outlineColor,a,n),_t(Number,s,"numberOfVerticalLines",o.numberOfVerticalLines,a,n)}}function Nt(e,r,n,o){var a=r.ellipsoid;if(l(a)){var s=a.interval;l(s)&&(s=T.fromIso8601(s));var u=e.ellipsoid;l(u)||(e.ellipsoid=u=new H),_t(Boolean,u,"show",a.show,s,o),_t(t,u,"radii",a.radii,s,o),wt(u,"material",a.material,s,o),_t(Boolean,u,"fill",a.fill,s,o),_t(Boolean,u,"outline",a.outline,s,o),_t(i,u,"outlineColor",a.outlineColor,s,o)}}function Bt(r,n,o,a){var s=n.label;if(l(s)){var u=s.interval;l(u)&&(u=T.fromIso8601(u));var c=r.label;l(c)||(r.label=c=new W),_t(i,c,"fillColor",s.fillColor,u,a),_t(i,c,"outlineColor",s.outlineColor,u,a),_t(Number,c,"outlineWidth",s.outlineWidth,u,a),_t(t,c,"eyeOffset",s.eyeOffset,u,a),_t(P,c,"horizontalOrigin",s.horizontalOrigin,u,a),_t(String,c,"text",s.text,u,a),_t(e,c,"pixelOffset",s.pixelOffset,u,a),_t(Number,c,"scale",s.scale,u,a),_t(Boolean,c,"show",s.show,u,a),_t(M,c,"verticalOrigin",s.verticalOrigin,u,a),_t(String,c,"font",s.font,u,a),_t(D,c,"style",s.style,u,a)}}function zt(e,t,r,i){var n=t.model;if("undefined"!=typeof n){var o=n.interval;l(o)&&(o=T.fromIso8601(o));var a=e.model;l(a)||(e.model=a=new Y),_t(Boolean,a,"show",n.show,o,i),_t(Number,a,"scale",n.scale,o,i),_t(lt,a,"uri",n.gltf,o,i)}}function Ft(e,t,r,n){var o=t.path;if(l(o)){var a=o.interval;l(a)&&(a=T.fromIso8601(a));var s=e.path;l(s)||(e.path=s=new J),_t(i,s,"color",o.color,a,n),_t(Number,s,"width",o.width,a,n),_t(i,s,"outlineColor",o.outlineColor,a,n),_t(Number,s,"outlineWidth",o.outlineWidth,a,n),_t(Boolean,s,"show",o.show,a,n),_t(Number,s,"resolution",o.resolution,a,n),_t(Number,s,"leadTime",o.leadTime,a,n),_t(Number,s,"trailTime",o.trailTime,a,n)}}function Vt(e,t,r,n){var o=t.point;if(l(o)){var a=o.interval;l(a)&&(a=T.fromIso8601(a));var s=e.point;l(s)||(e.point=s=new Q),_t(i,s,"color",o.color,a,n),_t(Number,s,"pixelSize",o.pixelSize,a,n),_t(i,s,"outlineColor",o.outlineColor,a,n),_t(Number,s,"outlineWidth",o.outlineWidth,a,n),_t(Boolean,s,"show",o.show,a,n)}}function kt(e,t,r,n){var o=t.polygon;if(l(o)){var a=o.interval;l(a)&&(a=T.fromIso8601(a));var s=e.polygon;l(s)||(e.polygon=s=new $),_t(Boolean,s,"show",o.show,a,n),wt(s,"material",o.material,a,n),_t(Number,s,"height",o.height,a,n),_t(Number,s,"extrudedHeight",o.extrudedHeight,a,n),_t(Number,s,"granularity",o.granularity,a,n),_t(Number,s,"stRotation",o.stRotation,a,n),_t(Boolean,s,"fill",o.fill,a,n),_t(Boolean,s,"outline",o.outline,a,n),_t(i,s,"outlineColor",o.outlineColor,a,n),_t(Boolean,s,"perPositionHeight",o.perPositionHeight,a,n)}}function Ut(e,t,r,n){var o=t.polyline;if(l(o)){var a=o.interval;l(a)&&(a=T.fromIso8601(a));var s=e.polyline;l(s)||(e.polyline=s=new K);var u=s.material;if(l(a)){var c,h=u;h instanceof I||(h=new I,s.material=h,l(u)&&(c=v.MAXIMUM_INTERVAL.clone(),c.data=u,h.intervals.addInterval(c))),c=h.intervals.findInterval(a.start,a.stop,a.isStartIncluded,a.isStopIncluded),l(c)?u=c.data:(u=new k,c=a.clone(),c.data=u,h.intervals.addInterval(c))}else u instanceof k||(u=new k,s.material=u);_t(Boolean,s,"show",o.show,a,n),_t(Number,s,"width",o.width,a,n),_t(i,u,"color",o.color,a,n),_t(i,u,"outlineColor",o.outlineColor,a,n),_t(Number,u,"outlineWidth",o.outlineWidth,a,n)}}function Wt(e,r,i,n){var o,a,s=[],u=r.unitSpherical;if(l(u)){for(o=0,a=u.length;a>o;o+=2)s.push(new b(u[o],u[o+1]));r.array=s}if(u=r.unitCartesian,l(u)){for(o=0,a=u.length;a>o;o+=3)s.push(b.fromCartesian3(new t(u[o],u[o+1],u[o+2])));r.array=s}_t(Array,e,"directions",r,i,n)}function Gt(e,t,r,n){var o=t.pyramid;if(l(o)){var a=o.interval;l(a)&&(a=T.fromIso8601(a));var s=e.pyramid;l(s)||(e.pyramid=s=new et),_t(Boolean,s,"show",o.show,a,n),_t(Number,s,"radius",o.radius,a,n),_t(Boolean,s,"showIntersection",o.showIntersection,a,n),_t(i,s,"intersectionColor",o.intersectionColor,a,n),_t(Number,s,"intersectionWidth",o.intersectionWidth,a,n),wt(s,"material",o.material,a,n);var u=o.directions;if(l(u))if(f(u))for(var c=u.length,h=0;c>h;h++)Wt(s,u[h],a,n);else Wt(s,u,a,n)}}function Ht(e,r,n,o){var a=r.vector;if(l(a)){var s=a.interval;l(s)&&(s=T.fromIso8601(s));var u=e.vector;l(u)||(e.vector=u=new tt),_t(i,u,"color",a.color,s,o),_t(Boolean,u,"show",a.show,s,o),_t(Number,u,"width",a.width,s,o),_t(t,u,"direction",a.direction,s,o),_t(Number,u,"length",a.length,s,o)}}function jt(e,t,r,i,n){var o=e.id;if(l(o)||(o=a()),e["delete"]===!0)t.removeById(o);else{var s;s="document"===o?n._document:t.getOrCreateObject(o);var u=e.parent;l(u)&&(s.parent=t.getOrCreateObject(u));for(var c=r.length-1;c>-1;c--)r[c](s,e,t,i)}}function qt(e,t,r){var i=e._dynamicObjectCollection;i.suspendEvents(),Kt._processCzml(t,i,r,void 0,e);var a,s=e._document,u=!1;if(l(s.clock))a=s.clock;else{var c=i.computeAvailability();if(!c.start.equals(v.MINIMUM_VALUE)){var h=c.start,d=c.stop,p=h.getSecondsDifference(d),f=Math.round(p/120);a=new F,a.startTime=h,a.stopTime=d,a.clockRange=n.LOOP_STOP,a.multiplier=f,a.currentTime=h,a.clockStep=o.SYSTEM_CLOCK_MULTIPLIER}}l(a)&&(l(e._clock)||(e._clock=new F,u=!0),a.equals(e._clock)||(a.clone(e._clock),u=!0));var g;l(s.name)?g=s.name:l(r)&&(g=m(r)),e._name!==g&&(e._name=g,u=!0),i.resumeEvents(),u&&e._changed.raiseEvent(e)}var Yt=function(){this._definitionChanged=new d,this._x=void 0,this._xSubscription=void 0,this._y=void 0,this._ySubscription=void 0,this.x=new N(0),this.y=new N(.1)};u(Yt.prototype,{isConstant:{get:function(){return this._x.isConstant&&this._y.isConstant}},definitionChanged:{get:function(){return this._definitionChanged}},x:B("x"),y:B("y")}),Yt.prototype.getValue=function(t,r){return l(r)||(r=new e),r.x=this._x.getValue(t),r.y=this._y.getValue(t),r},Yt.prototype._raiseDefinitionChanged=function(){this._definitionChanged.raiseEvent(this)};var Xt=new t,Zt=new b,Jt=new r,Qt={HERMITE:p,LAGRANGE:_,LINEAR:y},Kt=function(e){this._name=e,this._changed=new d,this._error=new d,this._clock=void 0,this._dynamicObjectCollection=new Z,this._timeVarying=!0,this._document=new X};return Kt.updaters=[Ot,It,Lt,Nt,Rt,Bt,zt,Et,xt,Ft,Vt,kt,Ut,Gt,Ht,bt,Tt,At,Dt,Mt],Kt.prototype.getChangedEvent=function(){return this._changed},Kt.prototype.getErrorEvent=function(){return this._error},Kt.prototype.getDynamicObjectCollection=function(){return this._dynamicObjectCollection},Kt.prototype.getName=function(){return this._name},Kt.prototype.getClock=function(){return this._clock},Kt.prototype.getIsTimeVarying=function(){return this._timeVarying},Kt.prototype.process=function(e,t){qt(this,e,t)},Kt.prototype.load=function(e,t){this._document=new X("document"),this._dynamicObjectCollection.removeAll(),qt(this,e,t)},Kt.prototype.processUrl=function(e){var t=this;return ut(C(e),function(r){t.process(r,e)},function(e){return t._error.raiseEvent(t,e),ut.reject(e)})},Kt.prototype.loadUrl=function(e){var t=this;return ut(C(e),function(r){t.load(r,e)},function(e){return t._error.raiseEvent(t,e),ut.reject(e)})},Kt.processPacketData=_t,Kt.processPositionPacketData=Ct,Kt.processMaterialPacketData=wt,Kt._processCzml=function(e,t,r,i,n){if(i=l(i)?i:Kt.updaters,f(e))for(var o=0,a=e.length;a>o;o++)jt(e[o],t,i,r,n);else jt(e,t,i,r,n)},Kt}),r("DynamicScene/DataSource",["../Core/DeveloperError"],function(e){"use strict";var t=function(){e.throwInstantiationError()};return t.prototype.getChangedEvent=e.throwInstantiationError,t.prototype.getErrorEvent=e.throwInstantiationError,t.prototype.getDynamicObjectCollection=e.throwInstantiationError,t.prototype.getName=e.throwInstantiationError,t.prototype.getClock=e.throwInstantiationError,t.prototype.getIsTimeVarying=e.throwInstantiationError,t}),r("DynamicScene/DataSourceCollection",["../Core/DeveloperError","../Core/defined","../Core/defineProperties","../Core/destroyObject","../Core/Event"],function(e,t,r,i,n){"use strict";var o=function(){this._dataSources=[],this.dataSourceAdded=new n,this.dataSourceRemoved=new n};return r(o.prototype,{length:{get:function(){return this._dataSources.length}}}),o.prototype.add=function(e){this._dataSources.push(e),this.dataSourceAdded.raiseEvent(this,e)},o.prototype.remove=function(e,t){var r=this._dataSources.indexOf(e);return-1!==r?(this._dataSources.splice(r,1),this.dataSourceRemoved.raiseEvent(this,e),"function"==typeof e.destroy&&t&&e.destroy(),!0):!1},o.prototype.removeAll=function(e){for(var t=this._dataSources,r=t.length-1;r>=0;r--)this.remove(t[r],e)},o.prototype.contains=function(e){return-1!==this.indexOf(e)},o.prototype.indexOf=function(e){return this._dataSources.indexOf(e)},o.prototype.get=function(e){return this._dataSources[e]},o.prototype.isDestroyed=function(){return!1},o.prototype.destroy=function(){return this.removeAll(!0),i(this)},o}),r("Renderer/BlendEquation",["../Core/Enumeration"],function(e){"use strict";var t={ADD:new e(32774,"ADD"),SUBTRACT:new e(32778,"SUBTRACT"),REVERSE_SUBTRACT:new e(32779,"REVERSE_SUBTRACT"),validate:function(e){return e===t.ADD||e===t.SUBTRACT||e===t.REVERSE_SUBTRACT}};return t}),r("Renderer/BlendFunction",["../Core/Enumeration"],function(e){"use strict";var t={ZERO:new e(0,"ZERO"),ONE:new e(1,"ONE"),SOURCE_COLOR:new e(768,"SOURCE_COLOR"),ONE_MINUS_SOURCE_COLOR:new e(769,"ONE_MINUS_SOURCE_COLOR"),DESTINATION_COLOR:new e(774,"DESTINATION_COLOR"),ONE_MINUS_DESTINATION_COLOR:new e(775,"ONE_MINUS_DESTINATION_COLOR"),SOURCE_ALPHA:new e(770,"SOURCE_ALPHA"),ONE_MINUS_SOURCE_ALPHA:new e(771,"ONE_MINUS_SOURCE_ALPHA"),DESTINATION_ALPHA:new e(772,"DESTINATION_ALPHA"),ONE_MINUS_DESTINATION_ALPHA:new e(773,"ONE_MINUS_DESTINATION_ALPHA"),CONSTANT_COLOR:new e(32769,"CONSTANT_COLOR"),ONE_MINUS_CONSTANT_COLOR:new e(32770,"ONE_MINUS_CONSTANT_COLOR"),CONSTANT_ALPHA:new e(32771,"CONSTANT_ALPHA"),ONE_MINUS_CONSTANT_ALPHA:new e(32772,"ONE_MINUS_CONSTANT_ALPHA"),SOURCE_ALPHA_SATURATE:new e(776,"SOURCE_ALPHA_SATURATE"),validate:function(e){return e===t.ZERO||e===t.ONE||e===t.SOURCE_COLOR||e===t.ONE_MINUS_SOURCE_COLOR||e===t.DESTINATION_COLOR||e===t.ONE_MINUS_DESTINATION_COLOR||e===t.SOURCE_ALPHA||e===t.ONE_MINUS_SOURCE_ALPHA||e===t.DESTINATION_ALPHA||e===t.ONE_MINUS_DESTINATION_ALPHA||e===t.CONSTANT_COLOR||e===t.ONE_MINUS_CONSTANT_COLOR||e===t.CONSTANT_ALPHA||e===t.ONE_MINUS_CONSTANT_ALPHA||e===t.SOURCE_ALPHA_SATURATE}};return t}),r("Renderer/BlendingState",["./BlendEquation","./BlendFunction"],function(e,t){"use strict";var r={DISABLED:{enabled:!1},ALPHA_BLEND:{enabled:!0,equationRgb:e.ADD,equationAlpha:e.ADD,functionSourceRgb:t.SOURCE_ALPHA,functionSourceAlpha:t.SOURCE_ALPHA,functionDestinationRgb:t.ONE_MINUS_SOURCE_ALPHA,functionDestinationAlpha:t.ONE_MINUS_SOURCE_ALPHA},PRE_MULTIPLIED_ALPHA_BLEND:{enabled:!0,equationRgb:e.ADD,equationAlpha:e.ADD,functionSourceRgb:t.ONE,functionSourceAlpha:t.ONE,functionDestinationRgb:t.ONE_MINUS_SOURCE_ALPHA,functionDestinationAlpha:t.ONE_MINUS_SOURCE_ALPHA},ADDITIVE_BLEND:{enabled:!0,equationRgb:e.ADD,equationAlpha:e.ADD,functionSourceRgb:t.SOURCE_ALPHA,functionSourceAlpha:t.SOURCE_ALPHA,functionDestinationRgb:t.ONE,functionDestinationAlpha:t.ONE}};return r}),r("Renderer/BufferUsage",["../Core/Enumeration"],function(e){"use strict";var t={STREAM_DRAW:new e(35040,"STREAM_DRAW"),STATIC_DRAW:new e(35044,"STATIC_DRAW"),DYNAMIC_DRAW:new e(35048,"DYNAMIC_DRAW"),validate:function(e){return e===t.STREAM_DRAW||e===t.STATIC_DRAW||e===t.DYNAMIC_DRAW}};return t}),r("Renderer/DrawCommand",[],function(){"use strict";var e=function(){this.boundingVolume=void 0,this.cull=!0,this.modelMatrix=void 0,this.primitiveType=void 0,this.vertexArray=void 0,this.count=void 0,this.offset=0,this.shaderProgram=void 0,this.uniformMap=void 0,this.renderState=void 0,this.framebuffer=void 0,this.pass=void 0,this.executeInClosestFrustum=!1,this.owner=void 0,this.debugShowBoundingVolume=!1,this.debugOverlappingFrustums=0};return e.prototype.execute=function(e,t){e.draw(this,t)},e}),r("Renderer/Pass",[],function(){"use strict";var e={OPAQUE:0,TRANSLUCENT:1,OVERLAY:2};return e}),r("Renderer/VertexArrayFacade",["../Core/ComponentDatatype","../Core/defaultValue","../Core/defined","../Core/destroyObject","../Core/DeveloperError","../Core/Math","./BufferUsage"],function(e,t,r,i,n,o,a){"use strict";function s(e,t){if(t.needsCommit&&t.vertexSizeInBytes>0){t.needsCommit=!1;var i=t.vertexBuffer,n=e._size*t.vertexSizeInBytes,o=r(i);if(!o||i.getSizeInBytes()0){var i=e.vertexSizeInBytes*t,n=e.vertexSizeInBytes*r;e.vertexBuffer.copyFromArrayView(new Uint8Array(e.arrayBuffer,i,n),i)}}function u(e){var t=e.vaByPurpose;if(r(t)){for(var i in t)if(t.hasOwnProperty(i))for(var n=t[i],o=n.length,a=0;o>a;++a)n[a].va.destroy();e.vaByPurpose=void 0}}var c=function(e,t,i){function n(e,t){return t.componentDatatype.sizeInBytes-e.componentDatatype.sizeInBytes}var o=c._verifyAttributes(t);i=i||0;for(var s,l,u,h,d={},m=[],p=o.length,f=0;p>f;++f){var v=o[f];v.vertexBuffer?m.push(v):(u=v.purpose,s=d[u],r(s)||(s=d[u]={}),h=v.usage.toString(),l=s[h],r(l)||(l=s[h]=[]),l.push(v))}this._buffersByPurposeAndUsage={},this._allBuffers=[];for(u in d)if(d.hasOwnProperty(u)){s=d[u];var g=this._buffersByPurposeAndUsage[u];r(g)||(g=this._buffersByPurposeAndUsage[u]={});for(h in s)if(s.hasOwnProperty(h)){l=s[h],l.sort(n);var _,y=c._vertexSizeInBytes(l);switch(h){case a.STATIC_DRAW.toString():_=a.STATIC_DRAW;break;case a.STREAM_DRAW.toString():_=a.STREAM_DRAW;break;case a.DYNAMIC_DRAW.toString():_=a.DYNAMIC_DRAW}var C={purpose:u,vertexSizeInBytes:y,vertexBuffer:void 0,usage:_,needsCommit:!1,arrayBuffer:void 0,arrayViews:c._createArrayViews(l,y)};g[h]=C,this._allBuffers.push(C)}}this._size=0,this._precreated=m,this._context=e,this.writers=void 0,this.vaByPurpose=void 0,this.resize(i)};c._verifyAttributes=function(i){for(var o=[],s=0;si;++i){var n=e[i];t+=n.componentsPerAttribute*n.componentDatatype.sizeInBytes}var o=r>0?e[0].componentDatatype.sizeInBytes:0,a=o>0?t%o:0,s=0===a?0:o-a;return t+=s},c._createArrayViews=function(e,t){for(var r=[],i=0,n=e.length,o=0;n>o;++o){var a=e[o],s=a.componentDatatype;r.push({index:a.index,enabled:a.enabled,componentsPerAttribute:a.componentsPerAttribute,componentDatatype:s,normalize:a.normalize,offsetInBytes:i,vertexSizeInComponentType:t/s.sizeInBytes,view:void 0}),i+=a.componentsPerAttribute*s.sizeInBytes}return r},c.prototype.resize=function(e){this._size=e;var t=this._allBuffers;this.writers={};for(var i=0,n=t.length;n>i;++i){var o=t[i];c._resize(o,this._size);var a=this.writers[o.purpose];r(a)||(a=this.writers[o.purpose]=[]),c._appendWriters(a,o)}u(this)},c._resize=function(t,r){if(t.vertexSizeInBytes>0){var i=new ArrayBuffer(r*t.vertexSizeInBytes);if(t.arrayBuffer)for(var n=new Uint8Array(i),o=new Uint8Array(t.arrayBuffer),a=o.length,s=0;a>s;++s)n[s]=o[s];for(var l=t.arrayViews,u=l.length,c=0;u>c;++c){var h=l[c];h.view=e.createArrayBufferView(h.componentDatatype,i,h.offsetInBytes)}t.arrayBuffer=i}};var h=[function(e,t,r){return function(i,n){t[i*r]=n,e.needsCommit=!0}},function(e,t,r){return function(i,n,o){var a=i*r;t[a]=n,t[a+1]=o,e.needsCommit=!0}},function(e,t,r){return function(i,n,o,a){var s=i*r;t[s]=n,t[s+1]=o,t[s+2]=a,e.needsCommit=!0}},function(e,t,r){return function(i,n,o,a,s){var l=i*r;t[l]=n,t[l+1]=o,t[l+2]=a,t[l+3]=s,e.needsCommit=!0}}];return c._appendWriters=function(e,t){for(var r=t.arrayViews,i=r.length,n=0;i>n;++n){var o=r[n];e[o.index]=h[o.componentsPerAttribute-1](t,o.view,o.vertexSizeInComponentType)}},c.prototype.commit=function(e){for(var t,i=!1,n=this._allBuffers,a=0,l=n.length;l>a;++a)t=n[a],i=s(this,t)||i;if(i||!r(this.vaByPurpose)){var h=this._buffersByPurposeAndUsage;u(this),this.vaByPurpose={};for(var d in h)if(h.hasOwnProperty(d)){for(var m=h[d],p=[],f=Math.ceil(this._size/o.SIXTY_FOUR_KILOBYTES),v=0;f>v;++v){var g=[],_=h.all;if(_!==m)for(var y in _)if(_.hasOwnProperty(y)){var C=_[y];c._appendAttributes(g,C,v*C.vertexSizeInBytes*o.SIXTY_FOUR_KILOBYTES)}for(var S in m)m.hasOwnProperty(S)&&(t=m[S],c._appendAttributes(g,t,v*t.vertexSizeInBytes*o.SIXTY_FOUR_KILOBYTES));g=g.concat(this._precreated),p.push({va:this._context.createVertexArray(g,e),indicesCount:1.5*(v!==f-1?o.SIXTY_FOUR_KILOBYTES:this._size%o.SIXTY_FOUR_KILOBYTES)})}this.vaByPurpose[d]=p}}},c._appendAttributes=function(e,t,r){for(var i=t.arrayViews,n=i.length,o=0;n>o;++o){var a=i[o];e.push({index:a.index,enabled:a.enabled,componentsPerAttribute:a.componentsPerAttribute,componentDatatype:a.componentDatatype,normalize:a.normalize,vertexBuffer:t.vertexBuffer,offsetInBytes:r+a.offsetInBytes,strideInBytes:t.vertexSizeInBytes})}},c.prototype.subCommit=function(e,t){for(var r=this._allBuffers,i=0,n=r.length;n>i;++i)l(r[i],e,t)},c.prototype.endSubCommits=function(){for(var e=this._allBuffers,t=0,r=e.length;r>t;++t)e[t].needsCommit=!1},c.prototype.isDestroyed=function(){return!1},c.prototype.destroy=function(){for(var e=this._allBuffers,t=0,r=e.length;r>t;++t){var n=e[t];n.vertexBuffer=n.vertexBuffer&&n.vertexBuffer.destroy()}return u(this),i(this)},c}),r("Renderer/createShaderSource",["../Core/defaultValue","../Core/defined","../Core/DeveloperError"],function(e,t,r){"use strict";function i(i){i=e(i,e.EMPTY_OBJECT);var n=i.defines,o=i.sources,a=i.pickColorQualifier;if(t(a)&&"uniform"!==a&&"varying"!==a)throw new r("options.pickColorQualifier must be 'uniform' or 'varying'.");var s,l,u="";if(t(n)&&n.length>0)for(l=n.length,s=0;l>s;++s)0!==n[s].length&&(u+="#define "+n[s]+"\n");if(t(o)&&o.length>0)for(l=o.length,s=0;l>s;++s)u+="\n#line 0\n"+o[s];if(t(a)){var c=u.replace(/void\s+main\s*\(\s*(?:void)?\s*\)/g,"void czm_old_main()"),h=a+" vec4 czm_pickColor; \n"+"void main() \n"+"{ \n"+" czm_old_main(); \n"+" if (gl_FragColor.a == 0.0) { \n"+" discard; \n"+" } \n"+" gl_FragColor = czm_pickColor; \n"+"}";u=c+"\n"+h}return u}return i}),r("Scene/SceneMode",["../Core/Enumeration"],function(e){"use strict";var t={SCENE2D:new e(0,"SCENE2D",{morphTime:0}),COLUMBUS_VIEW:new e(1,"COLUMBUS_VIEW",{morphTime:0}),SCENE3D:new e(2,"SCENE3D",{morphTime:1}),MORPHING:new e(3,"MORPHING")};return t}),r("Scene/SceneTransforms",["../Core/defined","../Core/DeveloperError","../Core/Cartographic","../Core/Cartesian2","../Core/Cartesian3","../Core/Cartesian4","../Core/Matrix4","../Core/BoundingRectangle","../Core/Math","./SceneMode"],function(e,t,r,i,n,o,a,s,l,u){"use strict";var c,h={},d=new o(0,0,0,1),m=new o;h.wgs84ToWindowCoordinates=function(t,r,i){if(h.computeActualWgs84Position(t.frameState,r,d),!e(d))return i=void 0,void 0;var n=t.camera;return c=a.multiply(n.frustum.projectionMatrix,n.viewMatrix,c),a.multiplyByVector(c,d,m),h.clipToWindowCoordinates(t.context,m,i)},h.wgs84ToDrawingBufferCoordinates=function(t,r,i){if(h.computeActualWgs84Position(t.frameState,r,d),!e(d))return void 0;var n=t.context.getUniformState().getViewProjection();return a.multiplyByVector(n,o.fromElements(d.x,d.y,d.z,1,m),m),h.clipToDrawingBufferCoordinates(t.context,m,i)};var p=new n,f=new r;h.computeActualWgs84Position=function(t,r,i){var o=t.mode;if(o===u.SCENE3D)return n.clone(r,i);var a=t.scene2D.projection;if(a.ellipsoid.cartesianToCartographic(r,f),!e(f))return i=void 0;if(a.project(f,p),o===u.COLUMBUS_VIEW)return n.fromElements(p.z,p.x,p.y,i);if(o===u.SCENE2D)return n.fromElements(0,p.x,p.y,i);var s=t.morphTime;return n.fromElements(l.lerp(p.z,r.x,s),l.lerp(p.x,r.y,s),l.lerp(p.y,r.z,s),i)};var v=new n,g=new n,_=new s,y=new a;return h.clipToWindowCoordinates=function(e,t,r){var o=e.getCanvas();return n.divideByScalar(t,t.w,v),_.width=o.clientWidth,_.height=o.clientHeight,a.computeViewportTransformation(_,0,1,y),a.multiplyByPoint(y,v,g),i.fromCartesian3(g,r)},h.clipToDrawingBufferCoordinates=function(e,t,r){return n.divideByScalar(t,t.w,v),_.width=e.getDrawingBufferWidth(),_.height=e.getDrawingBufferHeight(),a.computeViewportTransformation(_,0,1,y),a.multiplyByPoint(y,v,g),i.fromCartesian3(g,r)},h.transformWindowToDrawingBuffer=function(e,t,r){var n=e.getCanvas(),o=e.getDrawingBufferWidth()/n.clientWidth,a=e.getDrawingBufferHeight()/n.clientHeight;return i.fromElements(t.x*o,t.y*a,r)},h}),r("Scene/Billboard",["../Core/defaultValue","../Core/defined","../Core/DeveloperError","../Core/Color","../Core/Cartesian2","../Core/Cartesian3","../Core/Cartesian4","../Core/NearFarScalar","../Core/Matrix4","./HorizontalOrigin","./VerticalOrigin","./SceneMode","./SceneTransforms"],function(e,t,r,i,n,o,a,s,l,u,c,h,d){"use strict";function m(e,r){var i=e._billboardCollection;t(i)&&(i._updateBillboard(e,r),e._dirty=!0)}var p=function(t,r){t=e(t,e.EMPTY_OBJECT),this._show=e(t.show,!0),this._position=o.clone(e(t.position,o.ZERO)),this._actualPosition=o.clone(this._position),this._pixelOffset=n.clone(e(t.pixelOffset,n.ZERO)),this._translate=new n(0,0),this._eyeOffset=o.clone(e(t.eyeOffset,o.ZERO)),this._verticalOrigin=e(t.verticalOrigin,c.CENTER),this._horizontalOrigin=e(t.horizontalOrigin,u.CENTER),this._scale=e(t.scale,1),this._imageIndex=e(t.imageIndex,-1),this._color=i.clone(e(t.color,i.WHITE)),this._rotation=e(t.rotation,0),this._alignedAxis=o.clone(e(t.alignedAxis,o.ZERO)),this._width=t.width,this._height=t.height,this._scaleByDistance=t.scaleByDistance,this._translucencyByDistance=t.translucencyByDistance,this._pixelOffsetScaleByDistance=t.pixelOffsetScaleByDistance,this._id=t.id,this._collection=e(t.collection,r),this._pickId=void 0,this._pickIdThis=t._pickIdThis,this._billboardCollection=r,this._dirty=!1,this._index=-1},f=p.SHOW_INDEX=0,v=p.POSITION_INDEX=1,g=p.PIXEL_OFFSET_INDEX=2,_=p.EYE_OFFSET_INDEX=3,y=p.HORIZONTAL_ORIGIN_INDEX=4,C=p.VERTICAL_ORIGIN_INDEX=5,S=p.SCALE_INDEX=6,w=p.IMAGE_INDEX_INDEX=7,E=p.COLOR_INDEX=8,x=p.ROTATION_INDEX=9,b=p.ALIGNED_AXIS_INDEX=10,T=p.SCALE_BY_DISTANCE_INDEX=11,A=p.TRANSLUCENCY_BY_DISTANCE_INDEX=12,P=p.PIXEL_OFFSET_SCALE_BY_DISTANCE_INDEX=13;p.NUMBER_OF_PROPERTIES=14,p.prototype.getPickId=function(r){return t(this._pickId)||(this._pickId=r.createPickId({primitive:e(this._pickIdThis,this),collection:this._collection,id:this._id})),this._pickId},p.prototype.getShow=function(){return this._show},p.prototype.setShow=function(e){e!==this._show&&(this._show=e,m(this,f))},p.prototype.getPosition=function(){return this._position},p.prototype.setPosition=function(e){var t=this._position;o.equals(t,e)||(o.clone(e,t),o.clone(e,this._actualPosition),m(this,v))},p.prototype._getActualPosition=function(){return this._actualPosition +},p.prototype._setActualPosition=function(e){o.clone(e,this._actualPosition),m(this,v)},p.prototype.getPixelOffset=function(){return this._pixelOffset},p.prototype.setPixelOffset=function(e){var t=this._pixelOffset;n.equals(t,e)||(n.clone(e,t),m(this,g))},p.prototype._setTranslate=function(e){var t=this._translate;n.equals(t,e)||(n.clone(e,t),m(this,g))},p.prototype.getScaleByDistance=function(){return this._scaleByDistance},p.prototype.setScaleByDistance=function(e){s.equals(this._scaleByDistance,e)||(m(this,T),this._scaleByDistance=s.clone(e,this._scaleByDistance))},p.prototype.getTranslucencyByDistance=function(){return this._translucencyByDistance},p.prototype.setTranslucencyByDistance=function(e){s.equals(this._translucencyByDistance,e)||(m(this,A),this._translucencyByDistance=s.clone(e,this._translucencyByDistance))},p.prototype.getPixelOffsetScaleByDistance=function(){return this._pixelOffsetScaleByDistance},p.prototype.setPixelOffsetScaleByDistance=function(e){s.equals(this._pixelOffsetScaleByDistance,e)||(m(this,P),this._pixelOffsetScaleByDistance=s.clone(e,this._pixelOffsetScaleByDistance))},p.prototype.getEyeOffset=function(){return this._eyeOffset},p.prototype.setEyeOffset=function(e){var t=this._eyeOffset;o.equals(t,e)||(o.clone(e,t),m(this,_))},p.prototype.getHorizontalOrigin=function(){return this._horizontalOrigin},p.prototype.setHorizontalOrigin=function(e){this._horizontalOrigin!==e&&(this._horizontalOrigin=e,m(this,y))},p.prototype.getVerticalOrigin=function(){return this._verticalOrigin},p.prototype.setVerticalOrigin=function(e){this._verticalOrigin!==e&&(this._verticalOrigin=e,m(this,C))},p.prototype.getScale=function(){return this._scale},p.prototype.setScale=function(e){this._scale!==e&&(this._scale=e,m(this,S))},p.prototype.getImageIndex=function(){return this._imageIndex},p.prototype.setImageIndex=function(e){this._imageIndex!==e&&(this._imageIndex=e,m(this,w))},p.prototype.getColor=function(){return this._color},p.prototype.setColor=function(e){var t=this._color;i.equals(t,e)||(i.clone(e,t),m(this,E))},p.prototype.getRotation=function(){return this._rotation},p.prototype.setRotation=function(e){this._rotation!==e&&(this._rotation=e,m(this,x))},p.prototype.getAlignedAxis=function(){return this._alignedAxis},p.prototype.setAlignedAxis=function(e){var t=this._alignedAxis;o.equals(t,e)||(o.clone(e,t),m(this,b))},p.prototype.getWidth=function(){return this._width},p.prototype.setWidth=function(e){this._width!==e&&(this._width=e,m(this,w))},p.prototype.getHeight=function(){return this._height},p.prototype.setHeight=function(e){this._height!==e&&(this._height=e,m(this,w))},p.prototype.getId=function(){return this._id};var D=new a;p._computeActualPosition=function(e,t,r){return t.mode===h.SCENE3D?e:(l.multiplyByPoint(r,e,D),d.computeActualWgs84Position(t,D))};var M=new l,I=new a,O=new o,R=new n;p._computeScreenSpacePosition=function(e,t,r,i,s,u){var c=u.camera,h=c.viewMatrix,m=c.frustum.projectionMatrix,p=l.multiplyTransformation(h,e,M),f=l.multiplyByVector(p,a.fromElements(t.x,t.y,t.z,1,I),I),v=o.multiplyComponents(r,o.normalize(f,O),O);f.x+=r.x+v.x,f.y+=r.y+v.y,f.z+=v.z;var g=l.multiplyByVector(m,f,I),_=d.clipToWindowCoordinates(s,g,new n),y=s.getUniformState(),C=n.multiplyByScalar(i,y.getHighResolutionSnapScale(),R);return _.x+=C.x,_.y+=C.y,_};var L=new n(0,0);return p.prototype.computeScreenSpacePosition=function(e,t){var r=this._billboardCollection;n.clone(this._pixelOffset,L),n.add(L,this._translate,L);var i=r.modelMatrix;return p._computeScreenSpacePosition(i,this._actualPosition,this._eyeOffset,L,e,t)},p.prototype.equals=function(e){return this===e||t(e)&&this._show===e._show&&this._imageIndex===e._imageIndex&&this._scale===e._scale&&this._verticalOrigin===e._verticalOrigin&&this._horizontalOrigin===e._horizontalOrigin&&o.equals(this._position,e._position)&&i.equals(this._color,e._color)&&n.equals(this._pixelOffset,e._pixelOffset)&&n.equals(this._translate,e._translate)&&o.equals(this._eyeOffset,e._eyeOffset)&&s.equals(this._scaleByDistance,e._scaleByDistance)&&s.equals(this._translucencyByDistance,e._translucencyByDistance)&&s.equals(this._pixelOffsetScaleByDistance,e._pixelOffsetScaleByDistance)&&this._id===e._id},p.prototype._destroy=function(){this._pickId=this._pickId&&this._pickId.destroy(),this._billboardCollection=void 0},p}),r("Shaders/BillboardCollectionVS",[],function(){"use strict";return"attribute vec3 positionHigh;\nattribute vec3 positionLow;\nattribute vec2 direction;\nattribute vec4 textureCoordinatesAndImageSize;\nattribute vec3 originAndShow;\nattribute vec4 pixelOffsetAndTranslate;\nattribute vec4 eyeOffsetAndScale;\nattribute vec4 rotationAndAlignedAxis;\nattribute vec4 scaleByDistance;\nattribute vec4 translucencyByDistance;\nattribute vec4 pixelOffsetScaleByDistance;\n#ifdef RENDER_FOR_PICK\nattribute vec4 pickColor;\n#else\nattribute vec4 color;\n#endif\nconst vec2 czm_highResolutionSnapScale = vec2(1.0, 1.0);\nvarying vec2 v_textureCoordinates;\n#ifdef RENDER_FOR_PICK\nvarying vec4 v_pickColor;\n#else\nvarying vec4 v_color;\n#endif\nfloat getNearFarScalar(vec4 nearFarScalar, float cameraDistSq)\n{\nfloat valueAtMin = nearFarScalar.y;\nfloat valueAtMax = nearFarScalar.w;\nfloat nearDistanceSq = nearFarScalar.x * nearFarScalar.x;\nfloat farDistanceSq = nearFarScalar.z * nearFarScalar.z;\ncameraDistSq = clamp(cameraDistSq, nearDistanceSq, farDistanceSq);\nfloat t = (cameraDistSq - nearDistanceSq) / (farDistanceSq - nearDistanceSq);\nt = pow(t, 0.15);\nreturn mix(valueAtMin, valueAtMax, t);\n}\nvoid main()\n{\nvec3 eyeOffset = eyeOffsetAndScale.xyz;\nfloat scale = eyeOffsetAndScale.w;\nvec2 textureCoordinates = textureCoordinatesAndImageSize.xy;\nvec2 imageSize = textureCoordinatesAndImageSize.zw;\nvec2 origin = originAndShow.xy;\nfloat show = originAndShow.z;\nvec2 pixelOffset = pixelOffsetAndTranslate.xy;\nvec2 translate = pixelOffsetAndTranslate.zw;\nvec4 p = czm_translateRelativeToEye(positionHigh, positionLow);\nvec4 positionEC = czm_modelViewRelativeToEye * p;\npositionEC = czm_eyeOffset(positionEC, eyeOffset);\npositionEC.xyz *= show;\n#if defined(EYE_DISTANCE_SCALING) || defined(EYE_DISTANCE_TRANSLUCENCY) || defined(EYE_DISTANCE_PIXEL_OFFSET)\nfloat lengthSq;\nif (czm_sceneMode == czm_sceneMode2D)\n{\nlengthSq = czm_eyeHeight2D.y;\n}\nelse\n{\nlengthSq = dot(positionEC.xyz, positionEC.xyz);\n}\n#endif\n#ifdef EYE_DISTANCE_SCALING\nscale *= getNearFarScalar(scaleByDistance, lengthSq);\nif (scale == 0.0)\n{\npositionEC.xyz = vec3(0.0);\n}\n#endif\nfloat translucency = 1.0;\n#ifdef EYE_DISTANCE_TRANSLUCENCY\ntranslucency = getNearFarScalar(translucencyByDistance, lengthSq);\nif (translucency == 0.0)\n{\npositionEC.xyz = vec3(0.0);\n}\n#endif\n#ifdef EYE_DISTANCE_PIXEL_OFFSET\nfloat pixelOffsetScale = getNearFarScalar(pixelOffsetScaleByDistance, lengthSq);\npixelOffset *= pixelOffsetScale;\n#endif\nvec4 positionWC = czm_eyeToWindowCoordinates(positionEC);\nvec2 halfSize = imageSize * scale * czm_highResolutionSnapScale;\nhalfSize *= ((direction * 2.0) - 1.0);\npositionWC.xy += (origin * abs(halfSize));\n#ifdef ROTATION\nfloat rotation = rotationAndAlignedAxis.x;\nvec3 alignedAxis = rotationAndAlignedAxis.yzw;\nif (!all(equal(rotationAndAlignedAxis, vec4(0.0))))\n{\nfloat angle = rotation;\nif (!all(equal(alignedAxis, vec3(0.0))))\n{\nvec3 pos = positionEC.xyz + czm_encodedCameraPositionMCHigh + czm_encodedCameraPositionMCLow;\nvec3 normal = normalize(cross(alignedAxis, pos));\nvec4 tangent = vec4(normalize(cross(pos, normal)), 0.0);\ntangent = czm_modelViewProjection * tangent;\nangle += sign(-tangent.x) * acos(tangent.y / length(tangent.xy));\n}\nfloat cosTheta = cos(angle);\nfloat sinTheta = sin(angle);\nmat2 rotationMatrix = mat2(cosTheta, sinTheta, -sinTheta, cosTheta);\nhalfSize = rotationMatrix * halfSize;\n}\n#endif\npositionWC.xy += halfSize;\npositionWC.xy += translate;\npositionWC.xy += (pixelOffset * czm_highResolutionSnapScale);\ngl_Position = czm_viewportOrthographic * vec4(positionWC.xy, -positionWC.z, 1.0);\nv_textureCoordinates = textureCoordinates;\n#ifdef RENDER_FOR_PICK\nv_pickColor = pickColor;\n#else\nv_color = color;\nv_color.a *= translucency;\n#endif\n}\n"}),r("Shaders/BillboardCollectionFS",[],function(){"use strict";return"uniform sampler2D u_atlas;\nvarying vec2 v_textureCoordinates;\n#ifdef RENDER_FOR_PICK\nvarying vec4 v_pickColor;\n#else\nvarying vec4 v_color;\n#endif\nvoid main()\n{\n#ifdef RENDER_FOR_PICK\nvec4 vertexColor = vec4(1.0, 1.0, 1.0, 1.0);\n#else\nvec4 vertexColor = v_color;\n#endif\nvec4 color = texture2D(u_atlas, v_textureCoordinates) * vertexColor;\nif (color.a == 0.0)\n{\ndiscard;\n}\n#ifdef RENDER_FOR_PICK\ngl_FragColor = v_pickColor;\n#else\ngl_FragColor = color;\n#endif\n}\n"}),r("Scene/BillboardCollection",["../Core/defined","../Core/defineProperties","../Core/DeveloperError","../Core/Color","../Core/defaultValue","../Core/destroyObject","../Core/Cartesian2","../Core/Cartesian3","../Core/EncodedCartesian3","../Core/Matrix4","../Core/ComponentDatatype","../Core/IndexDatatype","../Core/PrimitiveType","../Core/BoundingSphere","../Renderer/BlendingState","../Renderer/BufferUsage","../Renderer/DrawCommand","../Renderer/Pass","../Renderer/VertexArrayFacade","../Renderer/createShaderSource","./SceneMode","./Billboard","./HorizontalOrigin","../Shaders/BillboardCollectionVS","../Shaders/BillboardCollectionFS"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f,v,g,_,y,C,S,w,E,x){"use strict";function b(e){if(e._billboardsRemoved){e._billboardsRemoved=!1;for(var t=[],r=e._billboards,i=r.length,n=0,o=0;i>n;++n){var a=r[n];a&&(a._index=o++,t.push(a))}e._billboards=t}}function T(t){var r=16384,i=t.cache.billboardCollection_directionsVertexBuffer;if(e(i))return i;for(var n=new Uint8Array(2*4*r),o=0,a=0;r>o;++o)n[a++]=0,n[a++]=0,n[a++]=255,n[a++]=0,n[a++]=255,n[a++]=255,n[a++]=0,n[a++]=255;return i=t.createVertexBuffer(n,f.STATIC_DRAW),i.setVertexArrayDestroyable(!1),t.cache.billboardCollection_directionsVertexBuffer=i,i}function A(t){var r=16384,i=t.cache.billboardCollection_indexBuffer;if(e(i))return i;for(var n=6*r,o=new Uint16Array(n),a=0,s=0;n>a;a+=6,s+=4)o[a]=s,o[a+1]=s+1,o[a+2]=s+2,o[a+3]=s+0,o[a+4]=s+2,o[a+5]=s+3;return i=t.createIndexBuffer(o,f.STATIC_DRAW,h.UNSIGNED_SHORT),i.setVertexArrayDestroyable(!1),t.cache.billboardCollection_indexBuffer=i,i}function P(e,t,r){var i=T(e);return new _(e,[{index:ot.positionHigh,componentsPerAttribute:3,componentDatatype:c.FLOAT,usage:r[j]},{index:ot.positionLow,componentsPerAttribute:3,componentDatatype:c.FLOAT,usage:r[j]},{index:ot.pixelOffsetAndTranslate,componentsPerAttribute:4,componentDatatype:c.FLOAT,usage:r[q]},{index:ot.eyeOffsetAndScale,componentsPerAttribute:4,componentDatatype:c.FLOAT,usage:r[J]},{index:ot.textureCoordinatesAndImageSize,componentsPerAttribute:4,componentDatatype:c.FLOAT,usage:r[Q]},{index:ot.pickColor,componentsPerAttribute:4,normalize:!0,componentDatatype:c.UNSIGNED_BYTE,usage:f.STATIC_DRAW,purpose:lt},{index:ot.color,componentsPerAttribute:4,normalize:!0,componentDatatype:c.UNSIGNED_BYTE,usage:r[K],purpose:st},{index:ot.originAndShow,componentsPerAttribute:3,componentDatatype:c.BYTE,usage:r[H]},{index:ot.direction,vertexBuffer:i,componentsPerAttribute:2,normalize:!0,componentDatatype:c.UNSIGNED_BYTE},{index:ot.rotationAndAlignedAxis,componentsPerAttribute:4,componentDatatype:c.FLOAT,usage:r[$]},{index:ot.scaleByDistance,componentsPerAttribute:4,componentDatatype:c.FLOAT,usage:r[tt]},{index:ot.translucencyByDistance,componentsPerAttribute:4,componentDatatype:c.FLOAT,usage:r[rt]},{index:ot.pixelOffsetScaleByDistance,componentsPerAttribute:4,componentDatatype:c.FLOAT,usage:r[it]}],4*t)}function D(e,t,r,i,n){var o=4*n._index,a=n._getActualPosition();e._mode===C.SCENE3D&&(e._baseVolume.expand(a,e._baseVolume),e._boundingVolumeDirty=!0),l.fromCartesian(a,ct);var s=i[at],u=s[ot.positionHigh],c=ct.high;u(o+0,c.x,c.y,c.z),u(o+1,c.x,c.y,c.z),u(o+2,c.x,c.y,c.z),u(o+3,c.x,c.y,c.z);var h=s[ot.positionLow],d=ct.low;h(o+0,d.x,d.y,d.z),h(o+1,d.x,d.y,d.z),h(o+2,d.x,d.y,d.z),h(o+3,d.x,d.y,d.z)}function M(e,t,r,i,n){var o=4*n._index,a=n.getPixelOffset(),s=n._translate;e._maxPixelOffset=Math.max(e._maxPixelOffset,a.x+s.x,a.y+s.y);var l=i[at],u=l[ot.pixelOffsetAndTranslate];u(o+0,a.x,a.y,s.x,s.y),u(o+1,a.x,a.y,s.x,s.y),u(o+2,a.x,a.y,s.x,s.y),u(o+3,a.x,a.y,s.x,s.y)}function I(e,t,r,i,n){var o=4*n._index,a=n.getEyeOffset(),s=n.getScale();e._maxEyeOffset=Math.max(e._maxEyeOffset,Math.abs(a.x),Math.abs(a.y),Math.abs(a.z)),e._maxScale=Math.max(e._maxScale,s);var l=i[at],u=l[ot.eyeOffsetAndScale];u(o+0,a.x,a.y,a.z,s),u(o+1,a.x,a.y,a.z,s),u(o+2,a.x,a.y,a.z,s),u(o+3,a.x,a.y,a.z,s)}function O(e,t,r,n,o){var a=4*o._index,s=n[lt],l=s[ot.pickColor],u=o.getPickId(t).color,c=i.floatToByte(u.red),h=i.floatToByte(u.green),d=i.floatToByte(u.blue),m=i.floatToByte(u.alpha);l(a+0,c,h,d,m),l(a+1,c,h,d,m),l(a+2,c,h,d,m),l(a+3,c,h,d,m)}function R(e,t,r,n,o){var a=4*o._index,s=n[st],l=s[ot.color],u=o.getColor(),c=i.floatToByte(u.red),h=i.floatToByte(u.green),d=i.floatToByte(u.blue),m=i.floatToByte(u.alpha);l(a+0,c,h,d,m),l(a+1,c,h,d,m),l(a+2,c,h,d,m),l(a+3,c,h,d,m)}function L(e,t,r,i,n){var o=4*n._index,a=n.getHorizontalOrigin().value,s=n.getVerticalOrigin().value,l=n.getShow();0===n.getColor().alpha&&(l=!1),e._allHorizontalCenter=e._allHorizontalCenter&&a===w.CENTER.value;var u=i[at],c=u[ot.originAndShow];c(o+0,a,s,l),c(o+1,a,s,l),c(o+2,a,s,l),c(o+3,a,s,l)}function N(e,t,r,i,o){var a=4*o._index,s=0,l=0,u=0,c=0,h=o.getImageIndex();if(-1!==h){var d=r[h];s=d.x,l=d.y,u=d.width,c=d.height}var m=s+u,p=l+c,f=e._textureAtlas.getTexture().getDimensions(),v=.5*n(o.getWidth(),f.x*u),g=.5*n(o.getHeight(),f.y*c);e._maxSize=Math.max(e._maxSize,v,g);var _=i[at],y=_[ot.textureCoordinatesAndImageSize];y(a+0,s,l,v,g),y(a+1,m,l,v,g),y(a+2,m,p,v,g),y(a+3,s,p,v,g)}function B(e,t,r,i,n){var o=4*n._index,a=n.getRotation(),l=n.getAlignedAxis();0===a&&s.equals(l,s.ZERO)||(e._shaderRotation=!0);var u=l.x,c=l.y,h=l.z,d=i[at],m=d[ot.rotationAndAlignedAxis];m(o+0,a,u,c,h),m(o+1,a,u,c,h),m(o+2,a,u,c,h),m(o+3,a,u,c,h)}function z(t,r,i,n,o){var a=4*o._index,s=n[at],l=s[ot.scaleByDistance],u=0,c=1,h=1,d=1,m=o.getScaleByDistance();e(m)&&(u=m.near,c=m.nearValue,h=m.far,d=m.farValue,(1!==c||1!==d)&&(t._shaderScaleByDistance=!0)),l(a+0,u,c,h,d),l(a+1,u,c,h,d),l(a+2,u,c,h,d),l(a+3,u,c,h,d)}function F(t,r,i,n,o){var a=4*o._index,s=n[at],l=s[ot.translucencyByDistance],u=0,c=1,h=1,d=1,m=o.getTranslucencyByDistance();e(m)&&(u=m.near,c=m.nearValue,h=m.far,d=m.farValue,(1!==c||1!==d)&&(t._shaderTranslucencyByDistance=!0)),l(a+0,u,c,h,d),l(a+1,u,c,h,d),l(a+2,u,c,h,d),l(a+3,u,c,h,d)}function V(t,r,i,n,o){var a=4*o._index,s=n[at],l=s[ot.pixelOffsetScaleByDistance],u=0,c=1,h=1,d=1,m=o.getPixelOffsetScaleByDistance();e(m)&&(u=m.near,c=m.nearValue,h=m.far,d=m.farValue,(1!==c||1!==d)&&(t._shaderPixelOffsetScaleByDistance=!0)),l(a+0,u,c,h,d),l(a+1,u,c,h,d),l(a+2,u,c,h,d),l(a+3,u,c,h,d)}function k(e,t,r,i,n){D(e,t,r,i,n),M(e,t,r,i,n),I(e,t,r,i,n),O(e,t,r,i,n),R(e,t,r,i,n),L(e,t,r,i,n),N(e,t,r,i,n),B(e,t,r,i,n),z(e,t,r,i,n),F(e,t,r,i,n),V(e,t,r,i,n)}function U(t,r,i,n,o,a){var s;n.mode===C.SCENE3D?(s=t._baseVolume,t._boundingVolumeDirty=!0):s=t._baseVolume2D;for(var l=[],u=0;i>u;++u){var c=r[u],h=c.getPosition(),d=S._computeActualPosition(h,n,o);e(d)&&(c._setActualPosition(d),a?l.push(d):s.expand(d,s))}a&&m.fromPoints(l,s)}function W(e,t){var r=t.mode,i=t.scene2D.projection,n=e._billboards,o=e._billboardsToUpdate,a=e._modelMatrix;e._mode!==r||e._projection!==i||r!==C.SCENE3D&&!u.equals(a,e.modelMatrix)?(e._mode=r,e._projection=i,u.clone(e.modelMatrix,a),e._createVertexArray=!0,(r===C.SCENE3D||r===C.SCENE2D||r===C.COLUMBUS_VIEW)&&U(e,n,n.length,t,a,!0)):r===C.MORPHING?U(e,n,n.length,t,a,!0):(r===C.SCENE2D||r===C.COLUMBUS_VIEW)&&U(e,o,e._billboardsToUpdateIndex,t,a,!1)}function G(e,t,r,i){var n,o,a,l=r.camera,u=l.frustum,c=s.subtract(l.positionWC,i.center,dt),h=s.multiplyByScalar(l.directionWC,s.dot(c,l.directionWC),mt),d=Math.max(0,s.magnitude(h)-i.radius);ht.x=t.getDrawingBufferWidth(),ht.y=t.getDrawingBufferHeight();var m=u.getPixelSize(ht,d);n=Math.max(m.x,m.y),o=2*n*e._maxScale*e._maxSize,e._allHorizontalCenter&&(o*=.5),a=n*e._maxPixelOffset+e._maxEyeOffset,i.radius+=o+a}var H=S.SHOW_INDEX,j=S.POSITION_INDEX,q=S.PIXEL_OFFSET_INDEX,Y=S.EYE_OFFSET_INDEX,X=S.HORIZONTAL_ORIGIN_INDEX,Z=S.VERTICAL_ORIGIN_INDEX,J=S.SCALE_INDEX,Q=S.IMAGE_INDEX_INDEX,K=S.COLOR_INDEX,$=S.ROTATION_INDEX,et=S.ALIGNED_AXIS_INDEX,tt=S.SCALE_BY_DISTANCE_INDEX,rt=S.TRANSLUCENCY_BY_DISTANCE_INDEX,it=S.PIXEL_OFFSET_SCALE_BY_DISTANCE_INDEX,nt=S.NUMBER_OF_PROPERTIES,ot={positionHigh:0,positionLow:1,pixelOffsetAndTranslate:2,eyeOffsetAndScale:3,textureCoordinatesAndImageSize:4,originAndShow:5,direction:6,pickColor:7,color:7,rotationAndAlignedAxis:8,scaleByDistance:9,translucencyByDistance:10,pixelOffsetScaleByDistance:11},at="all",st="color",lt="pick",ut=function(e){e=n(e,n.EMPTY_OBJECT),this._textureAtlas=void 0,this._textureAtlasGUID=void 0,this._destroyTextureAtlas=!0,this._sp=void 0,this._rs=void 0,this._vaf=void 0,this._spPick=void 0,this._billboards=[],this._billboardsToUpdate=[],this._billboardsToUpdateIndex=0,this._billboardsRemoved=!1,this._createVertexArray=!1,this._shaderRotation=!1,this._compiledShaderRotation=!1,this._compiledShaderRotationPick=!1,this._shaderScaleByDistance=!1,this._compiledShaderScaleByDistance=!1,this._compiledShaderScaleByDistancePick=!1,this._shaderTranslucencyByDistance=!1,this._compiledShaderTranslucencyByDistance=!1,this._compiledShaderTranslucencyByDistancePick=!1,this._shaderPixelOffsetScaleByDistance=!1,this._compiledShaderPixelOffsetScaleByDistance=!1,this._compiledShaderPixelOffsetScaleByDistancePick=!1,this._propertiesChanged=new Uint32Array(nt),this._maxSize=0,this._maxEyeOffset=0,this._maxScale=1,this._maxPixelOffset=0,this._allHorizontalCenter=!0,this._baseVolume=new m,this._baseVolumeWC=new m,this._baseVolume2D=new m,this._boundingVolume=new m,this._boundingVolumeDirty=!1,this._colorCommands=[],this._pickCommands=[],this.modelMatrix=u.clone(n(e.modelMatrix,u.IDENTITY)),this._modelMatrix=u.clone(u.IDENTITY),this.debugShowBoundingVolume=n(e.debugShowBoundingVolume,!1),this._mode=C.SCENE3D,this._projection=void 0,this._buffersUsage=[f.STATIC_DRAW,f.STATIC_DRAW,f.STATIC_DRAW,f.STATIC_DRAW,f.STATIC_DRAW,f.STATIC_DRAW,f.STATIC_DRAW,f.STATIC_DRAW,f.STATIC_DRAW,f.STATIC_DRAW,f.STATIC_DRAW,f.STATIC_DRAW,f.STATIC_DRAW,f.STATIC_DRAW];var t=this;this._uniforms={u_atlas:function(){return t._textureAtlas.getTexture()}}};t(ut.prototype,{length:{get:function(){return b(this),this._billboards.length}},textureAtlas:{get:function(){return this._textureAtlas},set:function(e){this._textureAtlas!==e&&(this._textureAtlas=this._destroyTextureAtlas&&this._textureAtlas&&this._textureAtlas.destroy(),this._textureAtlas=e,this._createVertexArray=!0)}},destroyTextureAtlas:{get:function(){return this._destroyTextureAtlas},set:function(e){this._destroyTextureAtlas=e}}}),ut.prototype.add=function(e){var t=new S(e,this);return t._index=this._billboards.length,this._billboards.push(t),this._createVertexArray=!0,t},ut.prototype.remove=function(e){return this.contains(e)?(this._billboards[e._index]=null,this._billboardsRemoved=!0,this._createVertexArray=!0,e._destroy(),!0):!1},ut.prototype.removeAll=function(){this._destroyBillboards(),this._billboards=[],this._billboardsToUpdate=[],this._billboardsToUpdateIndex=0,this._billboardsRemoved=!1,this._createVertexArray=!0},ut.prototype._updateBillboard=function(e,t){e._dirty||(this._billboardsToUpdate[this._billboardsToUpdateIndex++]=e),++this._propertiesChanged[t]},ut.prototype.contains=function(t){return e(t)&&t._billboardCollection===this},ut.prototype.get=function(e){return b(this),this._billboards[e]},ut.prototype.computeNewBuffersUsage=function(){for(var e=this._buffersUsage,t=!1,r=this._propertiesChanged,i=0;nt>i;++i){var n=0===r[i]?f.STATIC_DRAW:f.STREAM_DRAW;t=t||e[i]!==n,e[i]=n}return t};var ct=new l,ht=new a,dt=new s,mt=new s;return ut.prototype.update=function(t,r,i){var n=this._textureAtlas;if(e(n)){var o=n.getTextureCoordinates();if(0!==o.length){b(this),W(this,r);var a=this._billboards,s=a.length,l=this._billboardsToUpdate,c=this._billboardsToUpdateIndex,h=this._propertiesChanged,f=n.getGUID(),_=this._createVertexArray||this._textureAtlasGUID!==f;this._textureAtlasGUID=f;var S,w=r.passes,T=w.pick;if(_||!T&&this.computeNewBuffersUsage()){this._createVertexArray=!1;for(var O=0;nt>O;++O)h[O]=0;if(this._vaf=this._vaf&&this._vaf.destroy(),s>0){this._vaf=P(t,s,this._buffersUsage),S=this._vaf.writers;for(var U=0;s>U;++U){var at=this._billboards[U];at._dirty=!1,k(this,t,o,S,at)}this._vaf.commit(A(t))}this._billboardsToUpdateIndex=0}else if(c>0){var ut=[];if(h[j]&&ut.push(D),h[q]&&ut.push(M),(h[Y]||h[J])&&ut.push(I),h[Q]&&ut.push(N),h[K]&&ut.push(R),(h[X]||h[Z]||h[H])&&ut.push(L),(h[$]||h[et])&&ut.push(B),h[tt]&&ut.push(z),h[rt]&&ut.push(F),h[it]&&ut.push(V),S=this._vaf.writers,c/s>.1){for(var ct=0;c>ct;++ct){var ht=l[ct];ht._dirty=!1;for(var dt=0;dtmt;++mt){var pt=l[mt];pt._dirty=!1;for(var ft=0;ft1.5*s&&(l.length=s),e(this._vaf)&&e(this._vaf.vaByPurpose)){this._boundingVolumeDirty&&(this._boundingVolumeDirty=!1,m.transform(this._baseVolume,this.modelMatrix,this._baseVolumeWC));var vt,gt=u.IDENTITY;r.mode===C.SCENE3D?(gt=this.modelMatrix,vt=m.clone(this._baseVolumeWC,this._boundingVolume)):vt=m.clone(this._baseVolume2D,this._boundingVolume),G(this,t,r,vt);var _t,yt,Ct,St;if(w.render){var wt=this._colorCommands;for(e(this._rs)||(this._rs=t.createRenderState({depthTest:{enabled:!0},blending:p.ALPHA_BLEND})),(!e(this._sp)||this._shaderRotation&&!this._compiledShaderRotation||this._shaderScaleByDistance&&!this._compiledShaderScaleByDistance||this._shaderTranslucencyByDistance&&!this._compiledShaderTranslucencyByDistance||this._shaderPixelOffsetScaleByDistance&&!this._compiledShaderPixelOffsetScaleByDistance)&&(this._sp=t.getShaderCache().replaceShaderProgram(this._sp,y({defines:[this._shaderRotation?"ROTATION":"",this._shaderScaleByDistance?"EYE_DISTANCE_SCALING":"",this._shaderTranslucencyByDistance?"EYE_DISTANCE_TRANSLUCENCY":"",this._shaderPixelOffsetScaleByDistance?"EYE_DISTANCE_PIXEL_OFFSET":""],sources:[E]}),x,ot),this._compiledShaderRotation=this._shaderRotation,this._compiledShaderScaleByDistance=this._shaderScaleByDistance,this._compiledShaderTranslucencyByDistance=this._shaderTranslucencyByDistance,this._compiledShaderPixelOffsetScaleByDistance=this._shaderPixelOffsetScaleByDistance),_t=this._vaf.vaByPurpose[st],yt=_t.length,wt.length=yt,St=0;yt>St;++St)Ct=wt[St],e(Ct)||(Ct=wt[St]=new v),Ct.boundingVolume=vt,Ct.modelMatrix=gt,Ct.primitiveType=d.TRIANGLES,Ct.count=_t[St].indicesCount,Ct.shaderProgram=this._sp,Ct.uniformMap=this._uniforms,Ct.vertexArray=_t[St].va,Ct.renderState=this._rs,Ct.pass=g.OPAQUE,Ct.owner=this,Ct.debugShowBoundingVolume=this.debugShowBoundingVolume,i.push(Ct)}if(T){var Et=this._pickCommands;for((!e(this._spPick)||this._shaderRotation&&!this._compiledShaderRotationPick||this._shaderScaleByDistance&&!this._compiledShaderScaleByDistancePick||this._shaderTranslucencyByDistance&&!this._compiledShaderTranslucencyByDistancePick||this._shaderPixelOffsetScaleByDistance&&!this._compiledShaderPixelOffsetScaleByDistancePick)&&(this._spPick=t.getShaderCache().replaceShaderProgram(this._spPick,y({defines:["RENDER_FOR_PICK",this._shaderRotation?"ROTATION":"",this._shaderScaleByDistance?"EYE_DISTANCE_SCALING":"",this._shaderTranslucencyByDistance?"EYE_DISTANCE_TRANSLUCENCY":"",this._shaderPixelOffsetScaleByDistance?"EYE_DISTANCE_PIXEL_OFFSET":""],sources:[E]}),y({defines:["RENDER_FOR_PICK"],sources:[x]}),ot),this._compiledShaderRotationPick=this._shaderRotation,this._compiledShaderScaleByDistancePick=this._shaderScaleByDistance,this._compiledShaderTranslucencyByDistancePick=this._shaderTranslucencyByDistance,this._compiledShaderPixelOffsetScaleByDistancePick=this._shaderPixelOffsetScaleByDistance),_t=this._vaf.vaByPurpose[lt],yt=_t.length,Et.length=yt,St=0;yt>St;++St)Ct=Et[St],e(Ct)||(Ct=Et[St]=new v),Ct.boundingVolume=vt,Ct.modelMatrix=gt,Ct.primitiveType=d.TRIANGLES,Ct.count=_t[St].indicesCount,Ct.shaderProgram=this._spPick,Ct.uniformMap=this._uniforms,Ct.vertexArray=_t[St].va,Ct.renderState=this._rs,Ct.pass=g.OPAQUE,Ct.owner=this,i.push(Ct)}}}}},ut.prototype.isDestroyed=function(){return!1},ut.prototype.destroy=function(){return this._textureAtlas=this._destroyTextureAtlas&&this._textureAtlas&&this._textureAtlas.destroy(),this._sp=this._sp&&this._sp.release(),this._spPick=this._spPick&&this._spPick.release(),this._vaf=this._vaf&&this._vaf.destroy(),this._destroyBillboards(),o(this)},ut.prototype._destroyBillboards=function(){for(var e=this._billboards,t=e.length,r=0;t>r;++r)e[r]&&e[r]._destroy()},ut}),r("Renderer/TextureAtlasBuilder",["../Core/Event","../Core/defined","../Core/DeveloperError","../Core/loadImage"],function(e,t,r,i){"use strict";function n(){this.imageLoaded=new e,this.index=-1,this.loaded=!1}var o=function(e){this.textureAtlas=e,this._idHash={}};return o.prototype.addTextureFromUrl=function(e,t){this.addTextureFromFunction(e,function(e,t){i(e).then(t)},t)},o.prototype.addTextureFromFunction=function(e,r,i){var o=this._idHash[e];if(t(o))return o.loaded?i(o.index):o.imageLoaded.addEventListener(i),void 0;this._idHash[e]=o=new n,o.imageLoaded.addEventListener(i);var a=this;r(e,function(t){if(!a.textureAtlas.isDestroyed()){var r=o.index=a.textureAtlas.addImage(t);o.loaded=!0,o.imageLoaded.raiseEvent(r,e),o.imageLoaded=void 0}})},o}),r("DynamicScene/DynamicBillboardVisualizer",["../Core/DeveloperError","../Core/defined","../Core/destroyObject","../Core/Color","../Core/Cartesian2","../Core/Cartesian3","../Scene/BillboardCollection","../Scene/HorizontalOrigin","../Scene/VerticalOrigin","../Renderer/TextureAtlasBuilder"],function(e,t,r,i,n,o,a,s,l,u){"use strict";function c(e,r,i){return function(n){var o=e._billboardVisualizerIndex;if(t(o)){var a=r.get(o);a._visualizerUrl===i&&(a._visualizerTextureAvailable=!0,a.setImageIndex(n))}}}function h(e,r,a){var u=a._billboard;if(t(u)){var h=a._position;if(t(h)){var d=u._image;if(t(d)){var g,_=u._show,y=a._billboardVisualizerIndex,C=a.isAvailable(r)&&(!t(_)||_.getValue(r));if(!C)return t(y)&&(g=e._billboardCollection.get(y),g.setShow(!1),g.setImageIndex(-1),g._visualizerUrl=void 0,g._visualizerTextureAvailable=!1,a._billboardVisualizerIndex=void 0,e._unusedIndexes.push(y)),void 0;if(t(y))g=e._billboardCollection.get(y);else{var S=e._unusedIndexes,w=S.length;w>0?(y=S.pop(),g=e._billboardCollection.get(y)):(y=e._billboardCollection.length,g=e._billboardCollection.add()),a._billboardVisualizerIndex=y,g.id=a,g._visualizerUrl=void 0,g._visualizerTextureAvailable=!1,g.setColor(i.WHITE),g.setEyeOffset(o.ZERO),g.setPixelOffset(n.ZERO),g.setScale(1),g.setHorizontalOrigin(s.CENTER),g.setVerticalOrigin(l.CENTER)}var E=d.getValue(r);if(E!==g._visualizerUrl&&(g._visualizerUrl=E,g._visualizerTextureAvailable=!1,e._textureAtlasBuilder.addTextureFromUrl(E,c(a,e._billboardCollection,E))),g.setShow(g._visualizerTextureAvailable),g._visualizerTextureAvailable){m=h.getValue(r,m),t(m)&&g.setPosition(m);var x=u._color;if(t(x)&&(p=x.getValue(r,p),t(p)&&g.setColor(p)),x=u._eyeOffset,t(x)&&(f=x.getValue(r,f),t(f)&&g.setEyeOffset(f)),x=u._pixelOffset,t(x)&&(v=x.getValue(r,v),t(v)&&g.setPixelOffset(v)),x=u._scale,t(x)){var b=x.getValue(r);t(b)&&g.setScale(b)}if(x=u._rotation,t(x)){var T=x.getValue(r);t(T)&&g.setRotation(T)}if(x=u._alignedAxis,t(x)){var A=x.getValue(r);t(A)&&g.setAlignedAxis(A)}if(x=u._horizontalOrigin,t(x)){var P=x.getValue(r);t(P)&&g.setHorizontalOrigin(P)}if(x=u._verticalOrigin,t(x)){var D=x.getValue(r);t(D)&&g.setVerticalOrigin(D)}x=u._width,t(x)&&g.setWidth(x.getValue(r)),x=u._height,t(x)&&g.setHeight(x.getValue(r)),x=u._scaleByDistance,t(x)&&g.setScaleByDistance(x.getValue(r)),x=u._translucencyByDistance,t(x)&&g.setTranslucencyByDistance(x.getValue(r)),x=u._pixelOffsetScaleByDistance,t(x)&&g.setPixelOffsetScaleByDistance(x.getValue(r))}}}}}var d=function(e,t){this._scene=e,this._unusedIndexes=[],this._dynamicObjectCollection=void 0;var r=this._billboardCollection=new a,i=this._textureAtlas=e.context.createTextureAtlas();this._textureAtlasBuilder=new u(i),r.textureAtlas=i,e.primitives.add(r),this.setDynamicObjectCollection(t)};d.prototype.getScene=function(){return this._scene},d.prototype.getDynamicObjectCollection=function(){return this._dynamicObjectCollection},d.prototype.setDynamicObjectCollection=function(e){var r=this._dynamicObjectCollection;r!==e&&(t(r)&&(r.collectionChanged.removeEventListener(d.prototype._onObjectsRemoved,this),this.removeAllPrimitives()),this._dynamicObjectCollection=e,t(e)&&e.collectionChanged.addEventListener(d.prototype._onObjectsRemoved,this))},d.prototype.update=function(e){if(t(this._dynamicObjectCollection))for(var r=this._dynamicObjectCollection.getObjects(),i=0,n=r.length;n>i;i++)h(this,e,r[i])},d.prototype.removeAllPrimitives=function(){if(t(this._dynamicObjectCollection)){this._unusedIndexes=[],this._billboardCollection.removeAll();for(var e=this._dynamicObjectCollection.getObjects(),r=e.length-1;r>-1;r--)e[r]._billboardVisualizerIndex=void 0}},d.prototype.isDestroyed=function(){return!1},d.prototype.destroy=function(){return this.setDynamicObjectCollection(void 0),this._scene.primitives.remove(this._billboardCollection),r(this)};var m,p,f,v;return d.prototype._onObjectsRemoved=function(e,r,i){for(var n=this._billboardCollection,o=this._unusedIndexes,a=i.length-1;a>-1;a--){var s=i[a],l=s._billboardVisualizerIndex;if(t(l)){var u=n.get(l);u.setShow(!1),u.setImageIndex(-1),u._visualizerUrl=void 0,u._visualizerTextureAvailable=!1,s._billboardVisualizerIndex=void 0,o.push(l)}}},d}),r("Renderer/CullFace",["../Core/Enumeration"],function(e){"use strict";var t={FRONT:new e(1028,"FRONT"),BACK:new e(1029,"BACK"),FRONT_AND_BACK:new e(1032,"FRONT_AND_BACK"),validate:function(e){return e===t.FRONT||e===t.BACK||e===t.FRONT_AND_BACK}};return t}),r("Renderer/MipmapHint",["../Core/Enumeration"],function(e){"use strict";var t={DONT_CARE:new e(4352,"DONT_CARE"),FASTEST:new e(4353,"FASTEST"),NICEST:new e(4354,"NICEST"),validate:function(e){return e===t.DONT_CARE||e===t.FASTEST||e===t.NICEST}};return t}),r("Renderer/PixelDatatype",[],function(){"use strict";var e={UNSIGNED_BYTE:5121,UNSIGNED_SHORT:5123,UNSIGNED_INT:5125,FLOAT:5126,UNSIGNED_INT_24_8_WEBGL:34042,UNSIGNED_SHORT_4_4_4_4:32819,UNSIGNED_SHORT_5_5_5_1:32820,UNSIGNED_SHORT_5_6_5:33635,validate:function(t){return t===e.UNSIGNED_BYTE||t===e.UNSIGNED_SHORT||t===e.UNSIGNED_INT||t===e.FLOAT||t===e.UNSIGNED_INT_24_8_WEBGL||t===e.UNSIGNED_SHORT_4_4_4_4||t===e.UNSIGNED_SHORT_5_5_5_1||t===e.UNSIGNED_SHORT_5_6_5}};return e}),r("Renderer/PixelFormat",[],function(){"use strict";var e={DEPTH_COMPONENT:6402,DEPTH_STENCIL:34041,ALPHA:6406,RGB:6407,RGBA:6408,LUMINANCE:6409,LUMINANCE_ALPHA:6410,validate:function(t){return t===e.DEPTH_COMPONENT||t===e.DEPTH_STENCIL||t===e.ALPHA||t===e.RGB||t===e.RGBA||t===e.LUMINANCE||t===e.LUMINANCE_ALPHA},isColorFormat:function(t){return t===e.ALPHA||t===e.RGB||t===e.RGBA||t===e.LUMINANCE||t===e.LUMINANCE_ALPHA},isDepthFormat:function(t){return t===e.DEPTH_COMPONENT||t===e.DEPTH_STENCIL}};return e}),r("Renderer/TextureMagnificationFilter",[],function(){"use strict";var e={NEAREST:9728,LINEAR:9729,validate:function(t){return t===e.NEAREST||t===e.LINEAR}};return e}),r("Renderer/TextureMinificationFilter",[],function(){"use strict";var e={NEAREST:9728,LINEAR:9729,NEAREST_MIPMAP_NEAREST:9984,LINEAR_MIPMAP_NEAREST:9985,NEAREST_MIPMAP_LINEAR:9986,LINEAR_MIPMAP_LINEAR:9987,validate:function(t){return t===e.NEAREST||t===e.LINEAR||t===e.NEAREST_MIPMAP_NEAREST||t===e.LINEAR_MIPMAP_NEAREST||t===e.NEAREST_MIPMAP_LINEAR||t===e.LINEAR_MIPMAP_LINEAR +}};return e}),r("Renderer/TextureWrap",[],function(){"use strict";var e={CLAMP_TO_EDGE:33071,REPEAT:10497,MIRRORED_REPEAT:33648,validate:function(t){return t===e.CLAMP_TO_EDGE||t===e.REPEAT||t===e.MIRRORED_REPEAT}};return e}),r("Renderer/Texture",["../Core/Cartesian2","../Core/defaultValue","../Core/defined","../Core/destroyObject","../Core/DeveloperError","../Core/Math","./MipmapHint","./PixelDatatype","./PixelFormat","./TextureMagnificationFilter","./TextureMinificationFilter","./TextureWrap"],function(e,t,r,i,n,o,a,s,l,u,c,h){"use strict";var d=function(t,r,i,n,o,a,s,l,u,c){this._gl=t,this._textureFilterAnisotropic=r,this._textureTarget=i,this._texture=n,this._pixelFormat=o,this._pixelDatatype=a,this._width=s,this._height=l,this._dimensions=new e(s,l),this._preMultiplyAlpha=u,this._flipY=c,this._sampler=void 0,this.setSampler()};return d.prototype.copyFrom=function(e,r,i){r=t(r,0),i=t(i,0);var n=this._gl,o=this._textureTarget;n.pixelStorei(n.UNPACK_PREMULTIPLY_ALPHA_WEBGL,this._preMultiplyAlpha),n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,this._flipY),n.activeTexture(n.TEXTURE0),n.bindTexture(o,this._texture),e.arrayBufferView?n.texSubImage2D(o,0,r,i,e.width,e.height,this._pixelFormat,this._pixelDatatype,e.arrayBufferView):n.texSubImage2D(o,0,r,i,this._pixelFormat,this._pixelDatatype,e),n.bindTexture(o,null)},d.prototype.copyFromFramebuffer=function(e,r,i,n,o,a){e=t(e,0),r=t(r,0),i=t(i,0),n=t(n,0),o=t(o,this._width),a=t(a,this._height);var s=this._gl,l=this._textureTarget;s.activeTexture(s.TEXTURE0),s.bindTexture(l,this._texture),s.copyTexSubImage2D(l,0,e,r,i,n,o,a),s.bindTexture(l,null)},d.prototype.generateMipmap=function(e){e=t(e,a.DONT_CARE);var r=this._gl,i=this._textureTarget;r.hint(r.GENERATE_MIPMAP_HINT,e),r.activeTexture(r.TEXTURE0),r.bindTexture(i,this._texture),r.generateMipmap(i),r.bindTexture(i,null)},d.prototype.getSampler=function(){return this._sampler},d.prototype.setSampler=function(e){if(!r(e)){var t=c.LINEAR,i=u.LINEAR;this._pixelDatatype===s.FLOAT&&(t=c.NEAREST,i=u.NEAREST),e={wrapS:h.CLAMP_TO_EDGE,wrapT:h.CLAMP_TO_EDGE,minificationFilter:t,magnificationFilter:i,maximumAnisotropy:1}}if(this._pixelDatatype===s.FLOAT){if(e.minificationFilter!==c.NEAREST&&e.minificationFilter!==c.NEAREST_MIPMAP_NEAREST)throw new n("Only NEAREST and NEAREST_MIPMAP_NEAREST minification filters are supported for floating point textures.");if(e.magnificationFilter!==u.NEAREST)throw new n("Only the NEAREST magnification filter is supported for floating point textures.")}var o=this._gl,a=this._textureTarget;o.activeTexture(o.TEXTURE0),o.bindTexture(a,this._texture),o.texParameteri(a,o.TEXTURE_MIN_FILTER,e.minificationFilter),o.texParameteri(a,o.TEXTURE_MAG_FILTER,e.magnificationFilter),o.texParameteri(a,o.TEXTURE_WRAP_S,e.wrapS),o.texParameteri(a,o.TEXTURE_WRAP_T,e.wrapT),r(this._textureFilterAnisotropic)&&o.texParameteri(a,this._textureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,e.maximumAnisotropy),o.bindTexture(a,null),this._sampler={wrapS:e.wrapS,wrapT:e.wrapT,minificationFilter:e.minificationFilter,magnificationFilter:e.magnificationFilter,maximumAnisotropy:e.maximumAnisotropy}},d.prototype.getPixelFormat=function(){return this._pixelFormat},d.prototype.getPixelDatatype=function(){return this._pixelDatatype},d.prototype.getDimensions=function(){return this._dimensions},d.prototype.getPreMultiplyAlpha=function(){return this._preMultiplyAlpha},d.prototype.getFlipY=function(){return this._flipY},d.prototype.getWidth=function(){return this._width},d.prototype.getHeight=function(){return this._height},d.prototype._getTexture=function(){return this._texture},d.prototype._getTarget=function(){return this._textureTarget},d.prototype.isDestroyed=function(){return!1},d.prototype.destroy=function(){return this._gl.deleteTexture(this._texture),i(this)},d}),r("Renderer/CubeMapFace",["../Core/defaultValue","../Core/DeveloperError","./PixelDatatype"],function(e){"use strict";var t=function(e,t,r,i,n,o,a,s,l){this._gl=e,this._texture=t,this._textureTarget=r,this._targetFace=i,this._pixelFormat=n,this._pixelDatatype=o,this._size=a,this._preMultiplyAlpha=s,this._flipY=l};return t.prototype.copyFrom=function(t,r,i){r=e(r,0),i=e(i,0);var n=this._gl,o=this._textureTarget;n.pixelStorei(n.UNPACK_PREMULTIPLY_ALPHA_WEBGL,this._preMultiplyAlpha),n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,this._flipY),n.activeTexture(n.TEXTURE0),n.bindTexture(o,this._texture),t.arrayBufferView?n.texSubImage2D(this._targetFace,0,r,i,t.width,t.height,this._pixelFormat,this._pixelDatatype,t.arrayBufferView):n.texSubImage2D(this._targetFace,0,r,i,this._pixelFormat,this._pixelDatatype,t),n.bindTexture(o,null)},t.prototype.copyFromFramebuffer=function(t,r,i,n,o,a){t=e(t,0),r=e(r,0),i=e(i,0),n=e(n,0),o=e(o,this._size),a=e(a,this._size);var s=this._gl,l=this._textureTarget;s.activeTexture(s.TEXTURE0),s.bindTexture(l,this._texture),s.copyTexSubImage2D(this._targetFace,0,t,r,i,n,o,a),s.bindTexture(l,null)},t.prototype.getPixelFormat=function(){return this._pixelFormat},t.prototype.getPixelDatatype=function(){return this._pixelDatatype},t.prototype._getTexture=function(){return this._texture},t.prototype._getTarget=function(){return this._targetFace},t}),r("Renderer/CubeMap",["../Core/defined","../Core/DeveloperError","../Core/destroyObject","../Core/defaultValue","../Core/Math","./MipmapHint","./PixelDatatype","./TextureMagnificationFilter","./TextureMinificationFilter","./TextureWrap","./CubeMapFace"],function(e,t,r,i,n,o,a,s,l,u,c){"use strict";var h=function(e,t,r,i,n,o,a,s,l){this._gl=e,this._textureFilterAnisotropic=t,this._textureTarget=r,this._texture=i,this._pixelFormat=n,this._pixelDatatype=o,this._size=a,this._preMultiplyAlpha=s,this._flipY=l,this._sampler=void 0,this._positiveX=new c(e,i,r,e.TEXTURE_CUBE_MAP_POSITIVE_X,n,o,a,s,l),this._negativeX=new c(e,i,r,e.TEXTURE_CUBE_MAP_NEGATIVE_X,n,o,a,s,l),this._positiveY=new c(e,i,r,e.TEXTURE_CUBE_MAP_POSITIVE_Y,n,o,a,s,l),this._negativeY=new c(e,i,r,e.TEXTURE_CUBE_MAP_NEGATIVE_Y,n,o,a,s,l),this._positiveZ=new c(e,i,r,e.TEXTURE_CUBE_MAP_POSITIVE_Z,n,o,a,s,l),this._negativeZ=new c(e,i,r,e.TEXTURE_CUBE_MAP_NEGATIVE_Z,n,o,a,s,l),this.setSampler()};return h.prototype.getPositiveX=function(){return this._positiveX},h.prototype.getNegativeX=function(){return this._negativeX},h.prototype.getPositiveY=function(){return this._positiveY},h.prototype.getNegativeY=function(){return this._negativeY},h.prototype.getPositiveZ=function(){return this._positiveZ},h.prototype.getNegativeZ=function(){return this._negativeZ},h.prototype.generateMipmap=function(e){e=i(e,o.DONT_CARE);var t=this._gl,r=this._textureTarget;t.hint(t.GENERATE_MIPMAP_HINT,e),t.activeTexture(t.TEXTURE0),t.bindTexture(r,this._texture),t.generateMipmap(r),t.bindTexture(r,null)},h.prototype.setSampler=function(r){if(!e(r)){var i=l.LINEAR,n=s.LINEAR;this._pixelDatatype===a.FLOAT&&(i=l.NEAREST,n=s.NEAREST),r={wrapS:u.CLAMP_TO_EDGE,wrapT:u.CLAMP_TO_EDGE,minificationFilter:i,magnificationFilter:n,maximumAnisotropy:1}}if(this._pixelDatatype===a.FLOAT){if(r.minificationFilter!==l.NEAREST&&r.minificationFilter!==l.NEAREST_MIPMAP_NEAREST)throw new t("Only NEAREST and NEAREST_MIPMAP_NEAREST minification filters are supported for floating point textures.");if(r.magnificationFilter!==s.NEAREST)throw new t("Only the NEAREST magnification filter is supported for floating point textures.")}var o=this._gl,c=this._textureTarget;o.activeTexture(o.TEXTURE0),o.bindTexture(c,this._texture),o.texParameteri(c,o.TEXTURE_MIN_FILTER,r.minificationFilter),o.texParameteri(c,o.TEXTURE_MAG_FILTER,r.magnificationFilter),o.texParameteri(c,o.TEXTURE_WRAP_S,r.wrapS),o.texParameteri(c,o.TEXTURE_WRAP_T,r.wrapT),e(this._textureFilterAnisotropic)&&o.texParameteri(c,this._textureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,r.maximumAnisotropy),o.bindTexture(c,null),this._sampler={wrapS:r.wrapS,wrapT:r.wrapT,minificationFilter:r.minificationFilter,magnificationFilter:r.magnificationFilter,maximumAnisotropy:r.maximumAnisotropy}},h.prototype.getSampler=function(){return this._sampler},h.prototype.getPixelFormat=function(){return this._pixelFormat},h.prototype.getPixelDatatype=function(){return this._pixelDatatype},h.prototype.getWidth=function(){return this._size},h.prototype.getHeight=function(){return this._size},h.prototype.getPreMultiplyAlpha=function(){return this._preMultiplyAlpha},h.prototype.getFlipY=function(){return this._flipY},h.prototype._getTexture=function(){return this._texture},h.prototype._getTarget=function(){return this._textureTarget},h.prototype.isDestroyed=function(){return!1},h.prototype.destroy=function(){return this._gl.deleteTexture(this._texture),this._positiveX=r(this._positiveX),this._negativeX=r(this._negativeX),this._positiveY=r(this._positiveY),this._negativeY=r(this._negativeY),this._positiveZ=r(this._positiveZ),this._negativeZ=r(this._negativeZ),r(this)},h}),r("Shaders/Materials/BumpMapMaterial",[],function(){"use strict";return"uniform sampler2D image;\nuniform float strength;\nuniform vec2 repeat;\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\nczm_material material = czm_getDefaultMaterial(materialInput);\nvec2 st = materialInput.st;\nvec2 centerPixel = fract(repeat * st);\nfloat centerBump = texture2D(image, centerPixel).channel;\nfloat imageWidth = float(imageDimensions.x);\nvec2 rightPixel = fract(repeat * (st + vec2(1.0 / imageWidth, 0.0)));\nfloat rightBump = texture2D(image, rightPixel).channel;\nfloat imageHeight = float(imageDimensions.y);\nvec2 leftPixel = fract(repeat * (st + vec2(0.0, 1.0 / imageHeight)));\nfloat topBump = texture2D(image, leftPixel).channel;\nvec3 normalTangentSpace = normalize(vec3(centerBump - rightBump, centerBump - topBump, clamp(1.0 - strength, 0.1, 1.0)));\nvec3 normalEC = materialInput.tangentToEyeMatrix * normalTangentSpace;\nmaterial.normal = normalEC;\nmaterial.diffuse = vec3(0.01);\nreturn material;\n}\n"}),r("Shaders/Materials/CheckerboardMaterial",[],function(){"use strict";return"uniform vec4 lightColor;\nuniform vec4 darkColor;\nuniform vec2 repeat;\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\nczm_material material = czm_getDefaultMaterial(materialInput);\nvec2 st = materialInput.st;\nfloat b = mod(floor(repeat.s * st.s) + floor(repeat.t * st.t), 2.0);\nfloat scaledWidth = fract(repeat.s * st.s);\nscaledWidth = abs(scaledWidth - floor(scaledWidth + 0.5));\nfloat scaledHeight = fract(repeat.t * st.t);\nscaledHeight = abs(scaledHeight - floor(scaledHeight + 0.5));\nfloat value = min(scaledWidth, scaledHeight);\nvec4 currentColor = mix(lightColor, darkColor, b);\nvec4 color = czm_antialias(lightColor, darkColor, currentColor, value, 0.03);\nmaterial.diffuse = color.rgb;\nmaterial.alpha = color.a;\nreturn material;\n}\n"}),r("Shaders/Materials/DotMaterial",[],function(){"use strict";return"uniform vec4 lightColor;\nuniform vec4 darkColor;\nuniform vec2 repeat;\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\nczm_material material = czm_getDefaultMaterial(materialInput);\nfloat b = smoothstep(0.3, 0.32, length(fract(repeat * materialInput.st) - 0.5));\nvec4 color = mix(lightColor, darkColor, b);\nmaterial.diffuse = color.rgb;\nmaterial.alpha = color.a;\nreturn material;\n}\n"}),r("Shaders/Materials/FresnelMaterial",[],function(){"use strict";return"czm_material czm_getMaterial(czm_materialInput materialInput)\n{\nczm_material material = czm_getDefaultMaterial(materialInput);\nvec3 normalWC = normalize(czm_inverseViewRotation * material.normal);\nvec3 positionWC = normalize(czm_inverseViewRotation * materialInput.positionToEyeEC);\nfloat cosAngIncidence = max(dot(normalWC, positionWC), 0.0);\nmaterial.diffuse = mix(reflection.diffuse, refraction.diffuse, cosAngIncidence);\nreturn material;\n}\n"}),r("Shaders/Materials/GridMaterial",[],function(){"use strict";return"#ifdef GL_OES_standard_derivatives\n#extension GL_OES_standard_derivatives : enable\n#endif\nuniform vec4 color;\nuniform float cellAlpha;\nuniform vec2 lineCount;\nuniform vec2 lineThickness;\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\nczm_material material = czm_getDefaultMaterial(materialInput);\nvec2 st = materialInput.st;\nfloat scaledWidth = fract(lineCount.s * st.s);\nscaledWidth = abs(scaledWidth - floor(scaledWidth + 0.5));\nfloat scaledHeight = fract(lineCount.t * st.t);\nscaledHeight = abs(scaledHeight - floor(scaledHeight + 0.5));\nfloat value;\n#ifdef GL_OES_standard_derivatives\nconst float fuzz = 1.2;\nvec2 thickness = lineThickness - 1.0;\nvec2 dx = abs(dFdx(st));\nvec2 dy = abs(dFdy(st));\nvec2 dF = vec2(max(dx.s, dy.s), max(dx.t, dy.t)) * lineCount;\nvalue = min(\nsmoothstep(dF.s * thickness.s, dF.s * (fuzz + thickness.s), scaledWidth),\nsmoothstep(dF.t * thickness.t, dF.t * (fuzz + thickness.t), scaledHeight));\n#else\nconst float fuzz = 0.05;\nvec2 range = 0.5 - (lineThickness * 0.05);\nvalue = min(\n1.0 - smoothstep(range.s, range.s + fuzz, scaledWidth),\n1.0 - smoothstep(range.t, range.t + fuzz, scaledHeight));\n#endif\nfloat dRim = 1.0 - abs(dot(materialInput.normalEC, normalize(materialInput.positionToEyeEC)));\nfloat sRim = smoothstep(0.8, 1.0, dRim);\nvalue *= (1.0 - sRim);\nvec3 halfColor = color.rgb * 0.5;\nmaterial.diffuse = halfColor;\nmaterial.emission = halfColor;\nmaterial.alpha = color.a * (1.0 - ((1.0 - cellAlpha) * value));\nreturn material;\n}\n"}),r("Shaders/Materials/NormalMapMaterial",[],function(){"use strict";return"uniform sampler2D image;\nuniform float strength;\nuniform vec2 repeat;\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\nczm_material material = czm_getDefaultMaterial(materialInput);\nvec4 textureValue = texture2D(image, fract(repeat * materialInput.st));\nvec3 normalTangentSpace = textureValue.channels;\nnormalTangentSpace.xy = normalTangentSpace.xy * 2.0 - 1.0;\nnormalTangentSpace.z = clamp(1.0 - strength, 0.1, 1.0);\nnormalTangentSpace = normalize(normalTangentSpace);\nvec3 normalEC = materialInput.tangentToEyeMatrix * normalTangentSpace;\nmaterial.normal = normalEC;\nreturn material;\n}\n"}),r("Shaders/Materials/ReflectionMaterial",[],function(){"use strict";return"uniform samplerCube cubeMap;\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\nczm_material material = czm_getDefaultMaterial(materialInput);\nvec3 normalWC = normalize(czm_inverseViewRotation * material.normal);\nvec3 positionWC = normalize(czm_inverseViewRotation * materialInput.positionToEyeEC);\nvec3 reflectedWC = reflect(positionWC, normalWC);\nmaterial.diffuse = textureCube(cubeMap, reflectedWC).channels;\nreturn material;\n}\n"}),r("Shaders/Materials/RefractionMaterial",[],function(){"use strict";return"uniform samplerCube cubeMap;\nuniform float indexOfRefractionRatio;\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\nczm_material material = czm_getDefaultMaterial(materialInput);\nvec3 normalWC = normalize(czm_inverseViewRotation * material.normal);\nvec3 positionWC = normalize(czm_inverseViewRotation * materialInput.positionToEyeEC);\nvec3 refractedWC = refract(positionWC, -normalWC, indexOfRefractionRatio);\nmaterial.diffuse = textureCube(cubeMap, refractedWC).channels;\nreturn material;\n}\n"}),r("Shaders/Materials/StripeMaterial",[],function(){"use strict";return"uniform vec4 lightColor;\nuniform vec4 darkColor;\nuniform float offset;\nuniform float repeat;\nuniform bool horizontal;\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\nczm_material material = czm_getDefaultMaterial(materialInput);\nfloat coord = mix(materialInput.st.s, materialInput.st.t, float(horizontal));\nfloat value = fract((coord - offset) * (repeat * 0.5));\nfloat dist = min(value, min(abs(value - 0.5), 1.0 - value));\nvec4 currentColor = mix(lightColor, darkColor, step(0.5, value));\nvec4 color = czm_antialias(lightColor, darkColor, currentColor, dist);\nmaterial.diffuse = color.rgb;\nmaterial.alpha = color.a;\nreturn material;\n}\n"}),r("Shaders/Materials/Water",[],function(){"use strict";return"uniform sampler2D specularMap;\nuniform sampler2D normalMap;\nuniform vec4 baseWaterColor;\nuniform vec4 blendColor;\nuniform float frequency;\nuniform float animationSpeed;\nuniform float amplitude;\nuniform float specularIntensity;\nuniform float fadeFactor;\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\nczm_material material = czm_getDefaultMaterial(materialInput);\nfloat time = czm_frameNumber * animationSpeed;\nfloat fade = max(1.0, (length(materialInput.positionToEyeEC) / 10000000000.0) * frequency * fadeFactor);\nfloat specularMapValue = texture2D(specularMap, materialInput.st).r;\nvec4 noise = czm_getWaterNoise(normalMap, materialInput.st * frequency, time, 0.0);\nvec3 normalTangentSpace = noise.xyz * vec3(1.0, 1.0, (1.0 / amplitude));\nnormalTangentSpace.xy /= fade;\nnormalTangentSpace = mix(vec3(0.0, 0.0, 50.0), normalTangentSpace, specularMapValue);\nnormalTangentSpace = normalize(normalTangentSpace);\nfloat tsPerturbationRatio = clamp(dot(normalTangentSpace, vec3(0.0, 0.0, 1.0)), 0.0, 1.0);\nmaterial.alpha = specularMapValue;\nmaterial.diffuse = mix(blendColor.rgb, baseWaterColor.rgb, specularMapValue);\nmaterial.diffuse += (0.1 * tsPerturbationRatio);\nmaterial.normal = normalize(materialInput.tangentToEyeMatrix * normalTangentSpace);\nmaterial.specular = specularIntensity;\nmaterial.shininess = 10.0;\nreturn material;\n}\n"}),r("Shaders/Materials/RimLightingMaterial",[],function(){"use strict";return"uniform vec4 color;\nuniform vec4 rimColor;\nuniform float width;\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\nczm_material material = czm_getDefaultMaterial(materialInput);\nfloat d = 1.0 - dot(materialInput.normalEC, normalize(materialInput.positionToEyeEC));\nfloat s = smoothstep(1.0 - width, 1.0, d);\nmaterial.diffuse = color.rgb;\nmaterial.emission = rimColor.rgb * s;\nmaterial.alpha = mix(color.a, rimColor.a, s);\nreturn material;\n}\n"}),r("Shaders/Materials/FadeMaterial",[],function(){"use strict";return"uniform vec4 fadeInColor;\nuniform vec4 fadeOutColor;\nuniform float maximumDistance;\nuniform bool repeat;\nuniform vec2 fadeDirection;\nuniform vec2 time;\nfloat getTime(float t, float coord)\n{\nfloat scalar = 1.0 / maximumDistance;\nfloat q = distance(t, coord) * scalar;\nif (repeat)\n{\nfloat r = distance(t, coord + 1.0) * scalar;\nfloat s = distance(t, coord - 1.0) * scalar;\nq = min(min(r, s), q);\n}\nreturn clamp(q, 0.0, 1.0);\n}\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\nczm_material material = czm_getDefaultMaterial(materialInput);\nvec2 st = materialInput.st;\nfloat s = getTime(time.x, st.s) * fadeDirection.s;\nfloat t = getTime(time.y, st.t) * fadeDirection.t;\nfloat u = length(vec2(s, t));\nvec4 color = mix(fadeInColor, fadeOutColor, u);\nmaterial.emission = color.rgb;\nmaterial.alpha = color.a;\nreturn material;\n}\n"}),r("Shaders/Materials/PolylineArrowMaterial",[],function(){"use strict";return"#extension GL_OES_standard_derivatives : enable\nuniform vec4 color;\nvarying float v_width;\nfloat getPointOnLine(vec2 p0, vec2 p1, float x)\n{\nfloat slope = (p0.y - p1.y) / (p0.x - p1.x);\nreturn slope * (x - p0.x) + p0.y;\n}\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\nczm_material material = czm_getDefaultMaterial(materialInput);\nvec2 st = materialInput.st;\nfloat base = 1.0 - abs(fwidth(st.s)) * 10.0;\nvec2 center = vec2(1.0, 0.5);\nfloat ptOnUpperLine = getPointOnLine(vec2(base, 1.0), center, st.s);\nfloat ptOnLowerLine = getPointOnLine(vec2(base, 0.0), center, st.s);\nfloat halfWidth = 0.15;\nfloat s = step(0.5 - halfWidth, st.t);\ns *= 1.0 - step(0.5 + halfWidth, st.t);\ns *= 1.0 - step(base, st.s);\nfloat t = step(base, materialInput.st.s);\nt *= 1.0 - step(ptOnUpperLine, st.t);\nt *= step(ptOnLowerLine, st.t);\nfloat dist;\nif (st.s < base)\n{\nfloat d1 = abs(st.t - (0.5 - halfWidth));\nfloat d2 = abs(st.t - (0.5 + halfWidth));\ndist = min(d1, d2);\n}\nelse\n{\nfloat d1 = czm_infinity;\nif (st.t < 0.5 - halfWidth && st.t > 0.5 + halfWidth)\n{\nd1 = abs(st.s - base);\n}\nfloat d2 = abs(st.t - ptOnUpperLine);\nfloat d3 = abs(st.t - ptOnLowerLine);\ndist = min(min(d1, d2), d3);\n}\nvec4 outsideColor = vec4(0.0);\nvec4 currentColor = mix(outsideColor, color, clamp(s + t, 0.0, 1.0));\nvec4 outColor = czm_antialias(outsideColor, color, currentColor, dist);\nmaterial.diffuse = outColor.rgb;\nmaterial.alpha = outColor.a;\nreturn material;\n}\n"}),r("Shaders/Materials/PolylineGlowMaterial",[],function(){"use strict";return"uniform vec4 color;\nuniform float glowPower;\nvarying float v_width;\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\nczm_material material = czm_getDefaultMaterial(materialInput);\nvec2 st = materialInput.st;\nfloat glow = glowPower / abs(st.t - 0.5);\nmaterial.emission = max(vec3(glow - 1.0 + color.rgb), color.rgb);\nmaterial.alpha = clamp(0.0, 1.0, glow) * color.a;\nreturn material;\n}\n"}),r("Shaders/Materials/PolylineOutlineMaterial",[],function(){"use strict";return"uniform vec4 color;\nuniform vec4 outlineColor;\nuniform float outlineWidth;\nvarying float v_width;\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\nczm_material material = czm_getDefaultMaterial(materialInput);\nvec2 st = materialInput.st;\nfloat halfInteriorWidth = 0.5 * (v_width - outlineWidth) / v_width;\nfloat b = step(0.5 - halfInteriorWidth, st.t);\nb *= 1.0 - step(0.5 + halfInteriorWidth, st.t);\nfloat d1 = abs(st.t - (0.5 - halfInteriorWidth));\nfloat d2 = abs(st.t - (0.5 + halfInteriorWidth));\nfloat dist = min(d1, d2);\nvec4 currentColor = mix(outlineColor, color, b);\nvec4 outColor = czm_antialias(outlineColor, color, currentColor, dist);\nmaterial.diffuse = outColor.rgb;\nmaterial.alpha = outColor.a;\nreturn material;\n}\n"}),r("Scene/Material",["../ThirdParty/when","../Core/loadImage","../Core/DeveloperError","../Core/createGuid","../Core/clone","../Core/Color","../Core/combine","../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/destroyObject","../Core/Cartesian2","../Core/isArray","../Core/Matrix2","../Core/Matrix3","../Core/Matrix4","../Renderer/Texture","../Renderer/CubeMap","../Shaders/Materials/BumpMapMaterial","../Shaders/Materials/CheckerboardMaterial","../Shaders/Materials/DotMaterial","../Shaders/Materials/FresnelMaterial","../Shaders/Materials/GridMaterial","../Shaders/Materials/NormalMapMaterial","../Shaders/Materials/ReflectionMaterial","../Shaders/Materials/RefractionMaterial","../Shaders/Materials/StripeMaterial","../Shaders/Materials/Water","../Shaders/Materials/RimLightingMaterial","../Shaders/Materials/FadeMaterial","../Shaders/Materials/PolylineArrowMaterial","../Shaders/Materials/PolylineGlowMaterial","../Shaders/Materials/PolylineOutlineMaterial"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f,v,g,_,y,C,S,w,E,x,b,T,A,P,D,M,I,O){"use strict";function R(e,t){e=s(e,s.EMPTY_OBJECT),t._strict=s(e.strict,!1),t._count=s(e.count,0),t._template=n(s(e.fabric,s.EMPTY_OBJECT)),t._template.uniforms=n(s(t._template.uniforms,s.EMPTY_OBJECT)),t._template.materials=n(s(t._template.materials,s.EMPTY_OBJECT)),t.type=l(t._template.type)?t._template.type:i(),t.shaderSource="",t.materials={},t.uniforms={},t._uniforms={},t._translucentFunctions=[];var r,o=Y._materialCache.getMaterial(t.type);if(l(o)){var u=n(o.fabric,!0);t._template=a(t._template,u,!0),r=o.translucent}z(t),l(o)||Y._materialCache.addMaterial(t.type,t),F(t),U(t),H(t);var c=0===t._translucentFunctions.length?!0:void 0;if(r=s(r,c),r=s(e.translucent,r),l(r))if("function"==typeof r){var h=function(){return r(t)};t._translucentFunctions.push(h)}else t._translucentFunctions.push(r)}function L(e,t,r,i){if(l(e))for(var n in e)if(e.hasOwnProperty(n)){var o=-1!==t.indexOf(n);(i&&!o||!i&&o)&&r(n,t)}}function N(e,t){for(var i="fabric: property name '"+e+"' is not valid. It should be ",n=0;n0&&(n[s]={type:"ivec3",x:1,y:1},W(e,s))}var u="uniform "+a+" "+t+";\n";-1===e.shaderSource.indexOf(u)&&(e.shaderSource=u+e.shaderSource);var c=t+"_"+e._count++;if(1===j(e,t,c)&&i)throw new r("strict: shader source does not use uniform '"+t+"'.");if(e.uniforms[t]=o,"sampler2D"===a)e._uniforms[c]=function(){return e._textures[t]},e._updateFunctions.push(V(t));else if("samplerCube"===a)e._uniforms[c]=function(){return e._textures[t]},e._updateFunctions.push(k(t));else if(-1!==a.indexOf("mat")){var h=new J[a];e._uniforms[c]=function(){return J[a].fromColumnMajorArray(e.uniforms[t],h)}}else e._uniforms[c]=function(){return e.uniforms[t]}}}function G(e){var t=e.type;if(!l(t)){var r=typeof e;if("number"===r)t="float";else if("boolean"===r)t="bool";else if("string"===r)t=/^([rgba]){1,4}$/i.test(e)?"channels":e===Y.DefaultCubeMapId?"samplerCube":"sampler2D";else if("object"===r)if(d(e))(4===e.length||9===e.length||16===e.length)&&(t="mat"+Math.sqrt(e.length));else{var i=0;for(var n in e)e.hasOwnProperty(n)&&(i+=1);i>=2&&4>=i?t="vec"+i:6===i&&(t="samplerCube")}}return t}function H(e){var t=e._strict,i=e._template.materials;for(var n in i)if(i.hasOwnProperty(n)){var o=new Y({strict:t,fabric:i[n],count:e._count});e._count=o._count,e._uniforms=a(e._uniforms,o._uniforms,!0),e.materials[n]=o,e._translucentFunctions=e._translucentFunctions.concat(o._translucentFunctions);var s="czm_getMaterial",l=s+"_"+e._count++;j(o,s,l),e.shaderSource=o.shaderSource+e.shaderSource;var u=l+"(materialInput)";if(0===j(e,n,u)&&t)throw new r("strict: shader source does not use material '"+n+"'.")}}function j(e,t,r,i){i=s(i,!0);var n=0,o="a-zA-Z0-9_",a="(["+o+"])?",l="(["+o+(i?".":"")+"])?",u=new RegExp(l+t+a,"g");return e.shaderSource=e.shaderSource.replace(u,function(e,t,i){return t||i?e:(n+=1,r)}),n}function q(e,t,r){return j(e,t,t,r)}var Y=function(e){this.type=void 0,this.shaderSource=void 0,this.materials=void 0,this.uniforms=void 0,this._uniforms=void 0,this.translucent=void 0,this._strict=void 0,this._template=void 0,this._count=void 0,this._texturePaths={},this._loadedImages=[],this._loadedCubeMaps=[],this._textures={},this._updateFunctions=[],R(e,this),u(this,{type:{value:this.type,writable:!1}}),l(Y._uniformList[this.type])||(Y._uniformList[this.type]=Object.keys(this._uniforms))};Y._uniformList={},Y.fromType=function(e,t){var r=new Y({fabric:{type:e}});if(l(t))for(var i in t)t.hasOwnProperty(i)&&(r.uniforms[i]=t[i]);return r},Y.prototype.isTranslucent=function(){if(l(this.translucent))return"function"==typeof this.translucent?this.translucent():this.translucent;for(var e=!0,t=this._translucentFunctions,r=t.length,i=0;r>i;++i){var n=t[i];if(e="function"==typeof n?e&&n():e&&n,!e)break}return e},Y.prototype.update=function(e){var t,r,i=this._loadedImages,n=i.length;for(t=0;n>t;++t){var o=i[t];r=o.id;var a=o.image,s=Y._textureCache.getTexture(this._texturePaths[r]);l(s)||(s=e.createTexture2D({source:a}),Y._textureCache.addTexture(this._texturePaths[r],s)),this._textures[r]=s;var u=r+"Dimensions";if(this.uniforms.hasOwnProperty(u)){var c=this.uniforms[u];c.x=s._width,c.y=s._height}}i.length=0;var h=this._loadedCubeMaps;for(n=h.length,t=0;n>t;++t){var d=h[t];r=d.id;var m=d.images,p=Y._textureCache.getTexture(this._texturePaths[r]);l(p)||(p=e.createCubeMap({source:{positiveX:m[0],negativeX:m[1],positiveY:m[2],negativeY:m[3],positiveZ:m[4],negativeZ:m[5]}}),Y._textureCache.addTexture(this._texturePaths[r],p)),this._textures[r]=p}h.length=0;var f=this._updateFunctions;for(n=f.length,t=0;n>t;++t)f[t](this,e);var v=this.materials;for(var g in v)v.hasOwnProperty(g)&&v[g].update(e)},Y.prototype.isDestroyed=function(){return!1},Y.prototype.destroy=function(){var e=this.materials,t=this.uniforms;for(var r in t)if(t.hasOwnProperty(r)){var i=this._texturePaths[r];Y._textureCache.releaseTexture(i)}for(var n in e)e.hasOwnProperty(n)&&e[n].destroy();return c(this)};var X=["type","materials","uniforms","components","source"],Z=["diffuse","specular","shininess","normal","emission","alpha"],J={mat2:m,mat3:p,mat4:f};return Y._textureCache={_textures:{},addTexture:function(e,t){this._textures[e]={texture:t,count:1}},getTexture:function(e){var t=this._textures[e];return l(t)?(t.count++,t.texture):void 0},releaseTexture:function(e){var t=this._textures[e];l(t)&&0===--t.count&&(t.texture=t.texture&&t.texture.destroy(),this._textures[e]=void 0)}},Y._materialCache={_materials:{},addMaterial:function(e,t){this._materials[e]=t},getMaterial:function(e){return this._materials[e]}},Y.DefaultImageId="czm_defaultImage",Y.DefaultCubeMapId="czm_defaultCubeMap",Y.ColorType="Color",Y._materialCache.addMaterial(Y.ColorType,{fabric:{type:Y.ColorType,uniforms:{color:new o(1,0,0,.5)},components:{diffuse:"color.rgb",alpha:"color.a"}},translucent:function(e){return e.uniforms.color.alpha<1}}),Y.ImageType="Image",Y._materialCache.addMaterial(Y.ImageType,{fabric:{type:Y.ImageType,uniforms:{image:Y.DefaultImageId,repeat:new h(1,1)},components:{diffuse:"texture2D(image, fract(repeat * materialInput.st)).rgb",alpha:"texture2D(image, fract(repeat * materialInput.st)).a"}},translucent:!0}),Y.DiffuseMapType="DiffuseMap",Y._materialCache.addMaterial(Y.DiffuseMapType,{fabric:{type:Y.DiffuseMapType,uniforms:{image:Y.DefaultImageId,channels:"rgb",repeat:new h(1,1)},components:{diffuse:"texture2D(image, fract(repeat * materialInput.st)).channels"}},translucent:!1}),Y.AlphaMapType="AlphaMap",Y._materialCache.addMaterial(Y.AlphaMapType,{fabric:{type:Y.AlphaMapType,uniforms:{image:Y.DefaultImageId,channel:"a",repeat:new h(1,1)},components:{alpha:"texture2D(image, fract(repeat * materialInput.st)).channel"}},translucent:!0}),Y.SpecularMapType="SpecularMap",Y._materialCache.addMaterial(Y.SpecularMapType,{fabric:{type:Y.SpecularMapType,uniforms:{image:Y.DefaultImageId,channel:"r",repeat:new h(1,1)},components:{specular:"texture2D(image, fract(repeat * materialInput.st)).channel"}},translucent:!1}),Y.EmissionMapType="EmissionMap",Y._materialCache.addMaterial(Y.EmissionMapType,{fabric:{type:Y.EmissionMapType,uniforms:{image:Y.DefaultImageId,channels:"rgb",repeat:new h(1,1)},components:{emission:"texture2D(image, fract(repeat * materialInput.st)).channels"}},translucent:!1}),Y.BumpMapType="BumpMap",Y._materialCache.addMaterial(Y.BumpMapType,{fabric:{type:Y.BumpMapType,uniforms:{image:Y.DefaultImageId,channel:"r",strength:.8,repeat:new h(1,1)},source:_},translucent:!1}),Y.NormalMapType="NormalMap",Y._materialCache.addMaterial(Y.NormalMapType,{fabric:{type:Y.NormalMapType,uniforms:{image:Y.DefaultImageId,channels:"rgb",strength:.8,repeat:new h(1,1)},source:E},translucent:!1}),Y.ReflectionType="Reflection",Y._materialCache.addMaterial(Y.ReflectionType,{fabric:{type:Y.ReflectionType,uniforms:{cubeMap:Y.DefaultCubeMapId,channels:"rgb"},source:x},translucent:!1}),Y.RefractionType="Refraction",Y._materialCache.addMaterial(Y.RefractionType,{fabric:{type:Y.RefractionType,uniforms:{cubeMap:Y.DefaultCubeMapId,channels:"rgb",indexOfRefractionRatio:.9},source:b},translucent:!1}),Y.FresnelType="Fresnel",Y._materialCache.addMaterial(Y.FresnelType,{fabric:{type:Y.FresnelType,materials:{reflection:{type:Y.ReflectionType},refraction:{type:Y.RefractionType}},source:S},translucent:!1}),Y.GridType="Grid",Y._materialCache.addMaterial(Y.GridType,{fabric:{type:Y.GridType,uniforms:{color:new o(0,1,0,1),cellAlpha:.1,lineCount:new h(8,8),lineThickness:new h(1,1)},source:w},translucent:function(e){var t=e.uniforms; +return t.color.alpha<1||t.cellAlpha<1}}),Y.StripeType="Stripe",Y._materialCache.addMaterial(Y.StripeType,{fabric:{type:Y.StripeType,uniforms:{horizontal:!0,lightColor:new o(1,1,1,.5),darkColor:new o(0,0,1,.5),offset:0,repeat:5},source:T},translucent:function(e){var t=e.uniforms;return t.lightColor.alpha<1||t.darkColor.alpha<0}}),Y.CheckerboardType="Checkerboard",Y._materialCache.addMaterial(Y.CheckerboardType,{fabric:{type:Y.CheckerboardType,uniforms:{lightColor:new o(1,1,1,.5),darkColor:new o(0,0,0,.5),repeat:new h(5,5)},source:y},translucent:function(e){var t=e.uniforms;return t.lightColor.alpha<1||t.darkColor.alpha<0}}),Y.DotType="Dot",Y._materialCache.addMaterial(Y.DotType,{fabric:{type:Y.DotType,uniforms:{lightColor:new o(1,1,0,.75),darkColor:new o(0,1,1,.75),repeat:new h(5,5)},source:C},translucent:function(e){var t=e.uniforms;return t.lightColor.alpha<1||t.darkColor.alpha<0}}),Y.WaterType="Water",Y._materialCache.addMaterial(Y.WaterType,{fabric:{type:Y.WaterType,uniforms:{baseWaterColor:new o(.2,.3,.6,1),blendColor:new o(0,1,.699,1),specularMap:Y.DefaultImageId,normalMap:Y.DefaultImageId,frequency:10,animationSpeed:.01,amplitude:1,specularIntensity:.5,fadeFactor:1},source:A},translucent:function(e){var t=e.uniforms;return t.baseWaterColor.alpha<1||t.blendColor.alpha<0}}),Y.RimLightingType="RimLighting",Y._materialCache.addMaterial(Y.RimLightingType,{fabric:{type:Y.RimLightingType,uniforms:{color:new o(1,0,0,.7),rimColor:new o(1,1,1,.4),width:.3},source:P},translucent:function(e){var t=e.uniforms;return t.color.alpha<1||t.rimColor.alpha<0}}),Y.FadeType="Fade",Y._materialCache.addMaterial(Y.FadeType,{fabric:{type:Y.FadeType,uniforms:{fadeInColor:new o(1,0,0,1),fadeOutColor:new o(0,0,0,0),maximumDistance:.5,repeat:!0,fadeDirection:{x:!0,y:!0},time:new h(.5,.5)},source:D},translucent:function(e){var t=e.uniforms;return t.fadeInColor.alpha<1||t.fadeOutColor.alpha<0}}),Y.PolylineArrowType="PolylineArrow",Y._materialCache.addMaterial(Y.PolylineArrowType,{fabric:{type:Y.PolylineArrowType,uniforms:{color:new o(1,1,1,1)},source:M},translucent:!0}),Y.PolylineGlowType="PolylineGlow",Y._materialCache.addMaterial(Y.PolylineGlowType,{fabric:{type:Y.PolylineGlowType,uniforms:{color:new o(0,.5,1,1),glowPower:.1},source:I},translucent:!0}),Y.PolylineOutlineType="PolylineOutline",Y._materialCache.addMaterial(Y.PolylineOutlineType,{fabric:{type:Y.PolylineOutlineType,uniforms:{color:new o(1,1,1,1),outlineColor:new o(1,0,0,1),outlineWidth:1},source:O},translucent:function(e){var t=e.uniforms;return t.color.alpha<1||t.outlineColor.alpha<1}}),Y}),r("Shaders/SensorVolume",[],function(){"use strict";return"uniform vec4 u_intersectionColor;\nuniform float u_intersectionWidth;\nbool inSensorShadow(vec3 coneVertexWC, czm_ellipsoid ellipsoidEC, vec3 pointWC)\n{\nvec3 D = ellipsoidEC.inverseRadii;\nvec3 q = D * coneVertexWC;\nfloat qMagnitudeSquared = dot(q, q);\nfloat test = qMagnitudeSquared - 1.0;\nvec3 temp = D * pointWC - q;\nfloat d = dot(temp, q);\nreturn (d < -test) && (d / length(temp) < -sqrt(test));\n}\nvec4 getIntersectionColor()\n{\nreturn u_intersectionColor;\n}\nfloat getIntersectionWidth()\n{\nreturn u_intersectionWidth;\n}\nvec2 sensor2dTextureCoordinates(float sensorRadius, vec3 pointMC)\n{\nfloat t = pointMC.z / sensorRadius;\nfloat s = 1.0 + (atan(pointMC.y, pointMC.x) / czm_twoPi);\ns = s - floor(s);\nreturn vec2(s, t);\n}\n"}),r("Shaders/CustomSensorVolumeVS",[],function(){"use strict";return"attribute vec4 position;\nattribute vec3 normal;\nvarying vec3 v_positionWC;\nvarying vec3 v_positionEC;\nvarying vec3 v_normalEC;\nvoid main()\n{\ngl_Position = czm_modelViewProjection * position;\nv_positionWC = (czm_model * position).xyz;\nv_positionEC = (czm_modelView * position).xyz;\nv_normalEC = czm_normal * normal;\n}\n"}),r("Shaders/CustomSensorVolumeFS",[],function(){"use strict";return"#ifdef GL_OES_standard_derivatives\n#extension GL_OES_standard_derivatives : enable\n#endif\nuniform bool u_showIntersection;\nuniform bool u_showThroughEllipsoid;\nuniform float u_sensorRadius;\nuniform float u_normalDirection;\nvarying vec3 v_positionWC;\nvarying vec3 v_positionEC;\nvarying vec3 v_normalEC;\nvec4 getColor(float sensorRadius, vec3 pointEC)\n{\nczm_materialInput materialInput;\nvec3 pointMC = (czm_inverseModelView * vec4(pointEC, 1.0)).xyz;\nmaterialInput.st = sensor2dTextureCoordinates(sensorRadius, pointMC);\nmaterialInput.str = pointMC / sensorRadius;\nvec3 positionToEyeEC = -v_positionEC;\nmaterialInput.positionToEyeEC = positionToEyeEC;\nvec3 normalEC = normalize(v_normalEC);\nmaterialInput.normalEC = u_normalDirection * normalEC;\nczm_material material = czm_getMaterial(materialInput);\nreturn mix(czm_phong(normalize(positionToEyeEC), material), vec4(material.diffuse, material.alpha), 0.4);\n}\nbool isOnBoundary(float value, float epsilon)\n{\nfloat width = getIntersectionWidth();\nfloat tolerance = width * epsilon;\n#ifdef GL_OES_standard_derivatives\nfloat delta = max(abs(dFdx(value)), abs(dFdy(value)));\nfloat pixels = width * delta;\nfloat temp = abs(value);\nreturn temp < tolerance && temp < pixels || (delta < 10.0 * tolerance && temp - delta < tolerance && temp < pixels);\n#else\nreturn abs(value) < tolerance;\n#endif\n}\nvec4 shade(bool isOnBoundary)\n{\nif (u_showIntersection && isOnBoundary)\n{\nreturn getIntersectionColor();\n}\nreturn getColor(u_sensorRadius, v_positionEC);\n}\nfloat ellipsoidSurfaceFunction(czm_ellipsoid ellipsoid, vec3 point)\n{\nvec3 scaled = ellipsoid.inverseRadii * point;\nreturn dot(scaled, scaled) - 1.0;\n}\nvoid main()\n{\nvec3 sensorVertexWC = czm_model[3].xyz;\nvec3 sensorVertexEC = czm_modelView[3].xyz;\nczm_ellipsoid ellipsoid = czm_getWgs84EllipsoidEC();\nfloat ellipsoidValue = ellipsoidSurfaceFunction(ellipsoid, v_positionWC);\nif (!u_showThroughEllipsoid)\n{\nif (ellipsoidValue < 0.0)\n{\ndiscard;\n}\nif (inSensorShadow(sensorVertexWC, ellipsoid, v_positionWC))\n{\ndiscard;\n}\n}\nif (distance(v_positionEC, sensorVertexEC) > u_sensorRadius)\n{\ndiscard;\n}\nbool isOnEllipsoid = isOnBoundary(ellipsoidValue, czm_epsilon3);\ngl_FragColor = shade(isOnEllipsoid);\n}\n"}),r("Scene/CustomSensorVolume",["../Core/defaultValue","../Core/defined","../Core/DeveloperError","../Core/Color","../Core/combine","../Core/destroyObject","../Core/FAR","../Core/Cartesian3","../Core/Matrix4","../Core/ComponentDatatype","../Core/PrimitiveType","../Core/BoundingSphere","../Renderer/BufferUsage","../Renderer/BlendingState","../Renderer/DrawCommand","../Renderer/createShaderSource","../Renderer/CullFace","../Renderer/Pass","./Material","../Shaders/SensorVolume","../Shaders/CustomSensorVolumeVS","../Shaders/CustomSensorVolumeFS","./SceneMode"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f,v,g,_,y,C,S,w){"use strict";function E(e){for(var t=e._directions,r=t.length,i=new Float32Array(3*r),n=isFinite(e.radius)?e.radius:a,o=[s.ZERO],l=r-2,u=r-1,c=0;r>c;l=u++,u=c++){var d=s.fromSpherical(t[l]),m=s.fromSpherical(t[u]),p=s.fromSpherical(t[c]),f=Math.max(s.angleBetween(d,m),s.angleBetween(m,p)),v=n/Math.cos(.5*f),g=s.multiplyByScalar(m,v);i[3*u]=g.x,i[3*u+1]=g.y,i[3*u+2]=g.z,o.push(g)}return h.fromPoints(o,e._boundingSphere),i}function x(e,t){for(var r=E(e),i=e._directions.length,n=new Float32Array(18*i),o=0,a=i-1,l=0;i>l;a=l++){var c=new s(r[3*a],r[3*a+1],r[3*a+2]),h=new s(r[3*l],r[3*l+1],r[3*l+2]),d=s.normalize(s.cross(h,c));n[o++]=0,n[o++]=0,n[o++]=0,n[o++]=d.x,n[o++]=d.y,n[o++]=d.z,n[o++]=h.x,n[o++]=h.y,n[o++]=h.z,n[o++]=d.x,n[o++]=d.y,n[o++]=d.z,n[o++]=c.x,n[o++]=c.y,n[o++]=c.z,n[o++]=d.x,n[o++]=d.y,n[o++]=d.z}var m=t.createVertexBuffer(new Float32Array(n),e.bufferUsage),p=6*Float32Array.BYTES_PER_ELEMENT,f=[{index:b.position,vertexBuffer:m,componentsPerAttribute:3,componentDatatype:u.FLOAT,offsetInBytes:0,strideInBytes:p},{index:b.normal,vertexBuffer:m,componentsPerAttribute:3,componentDatatype:u.FLOAT,offsetInBytes:3*Float32Array.BYTES_PER_ELEMENT,strideInBytes:p}];return t.createVertexArray(f)}var b={position:0,normal:1},T=function(r){r=e(r,e.EMPTY_OBJECT),this._pickId=void 0,this._pickIdThis=e(r._pickIdThis,this),this._frontFaceColorCommand=new p,this._backFaceColorCommand=new p,this._pickCommand=new p,this._boundingSphere=new h,this._boundingSphereWC=new h,this._frontFaceColorCommand.primitiveType=c.TRIANGLES,this._frontFaceColorCommand.boundingVolume=this._boundingSphereWC,this._frontFaceColorCommand.owner=this,this._backFaceColorCommand.primitiveType=this._frontFaceColorCommand.primitiveType,this._backFaceColorCommand.boundingVolume=this._frontFaceColorCommand.boundingVolume,this._backFaceColorCommand.owner=this,this._pickCommand.primitiveType=this._frontFaceColorCommand.primitiveType,this._pickCommand.boundingVolume=this._frontFaceColorCommand.boundingVolume,this._pickCommand.owner=this,this.show=e(r.show,!0),this.showIntersection=e(r.showIntersection,!0),this.showThroughEllipsoid=e(r.showThroughEllipsoid,!1),this._showThroughEllipsoid=this.showThroughEllipsoid,this.modelMatrix=l.clone(e(r.modelMatrix,l.IDENTITY)),this._modelMatrix=new l,this.bufferUsage=e(r.bufferUsage,d.STATIC_DRAW),this._bufferUsage=this.bufferUsage,this.radius=e(r.radius,Number.POSITIVE_INFINITY),this._directions=void 0,this._directionsDirty=!1,this.setDirections(r.directions),this.material=t(r.material)?r.material:_.fromType(_.ColorType),this._material=void 0,this._translucent=void 0,this.intersectionColor=i.clone(e(r.intersectionColor,i.WHITE)),this.intersectionWidth=e(r.intersectionWidth,5),this.id=r.id,this._id=void 0;var n=this;this._uniforms={u_showThroughEllipsoid:function(){return n.showThroughEllipsoid},u_showIntersection:function(){return n.showIntersection},u_sensorRadius:function(){return isFinite(n.radius)?n.radius:a},u_intersectionColor:function(){return n.intersectionColor},u_intersectionWidth:function(){return n.intersectionWidth},u_normalDirection:function(){return 1}},this._mode=w.SCENE3D};return T.prototype.setDirections=function(e){this._directions=e,this._directionsDirty=!0},T.prototype.getDirections=function(){return this._directions},T.prototype.update=function(e,r,i){if(this._mode=r.mode,this.show&&this._mode===w.SCENE3D){var o=this.material.isTranslucent();if(this._showThroughEllipsoid!==this.showThroughEllipsoid||!t(this._frontFaceColorCommand.renderState)||this._translucent!==o){this._showThroughEllipsoid=this.showThroughEllipsoid,this._translucent=o;var a;o?(a=e.createRenderState({depthTest:{enabled:!this.showThroughEllipsoid},depthMask:!1,blending:m.ALPHA_BLEND,cull:{enabled:!0,face:v.BACK}}),this._frontFaceColorCommand.renderState=a,this._frontFaceColorCommand.pass=g.TRANSLUCENT,a=e.createRenderState({depthTest:{enabled:!this.showThroughEllipsoid},depthMask:!1,blending:m.ALPHA_BLEND,cull:{enabled:!0,face:v.FRONT}}),this._backFaceColorCommand.renderState=a,this._backFaceColorCommand.pass=g.TRANSLUCENT,a=e.createRenderState({depthTest:{enabled:!this.showThroughEllipsoid},depthMask:!1,blending:m.ALPHA_BLEND}),this._pickCommand.renderState=a):(a=e.createRenderState({depthTest:{enabled:!0},depthMask:!0}),this._frontFaceColorCommand.renderState=a,this._frontFaceColorCommand.pass=g.OPAQUE,a=e.createRenderState({depthTest:{enabled:!0},depthMask:!0}),this._pickCommand.renderState=a)}var s=this._directionsDirty||this._bufferUsage!==this.bufferUsage;if(s){this._directionsDirty=!1,this._bufferUsage=this.bufferUsage,this._va=this._va&&this._va.destroy();var u=this._directions;u&&u.length>=3&&(this._frontFaceColorCommand.vertexArray=x(this,e),this._backFaceColorCommand.vertexArray=this._frontFaceColorCommand.vertexArray,this._pickCommand.vertexArray=this._frontFaceColorCommand.vertexArray)}if(t(this._frontFaceColorCommand.vertexArray)){var c=r.passes,d=!l.equals(this.modelMatrix,this._modelMatrix);d&&l.clone(this.modelMatrix,this._modelMatrix),(s||d)&&h.transform(this._boundingSphere,this.modelMatrix,this._boundingSphereWC),this._frontFaceColorCommand.modelMatrix=this.modelMatrix,this._backFaceColorCommand.modelMatrix=this._frontFaceColorCommand.modelMatrix,this._pickCommand.modelMatrix=this._frontFaceColorCommand.modelMatrix;var p=this._material!==this.material;if(this._material=this.material,this._material.update(e),c.render){var _=this._frontFaceColorCommand,E=this._backFaceColorCommand;if(p||!t(_.shaderProgram)){var T=f({sources:[y,this._material.shaderSource,S]});_.shaderProgram=e.getShaderCache().replaceShaderProgram(_.shaderProgram,C,T,b),_.uniformMap=n(this._uniforms,this._material._uniforms),E.shaderProgram=_.shaderProgram,E.uniformMap=n(this._uniforms,this._material._uniforms),E.uniformMap.u_normalDirection=function(){return-1}}o?i.push(this._backFaceColorCommand,this._frontFaceColorCommand):i.push(this._frontFaceColorCommand)}if(c.pick){var A=this._pickCommand;if(t(this._pickId)&&this._id===this.id||(this._id=this.id,this._pickId=this._pickId&&this._pickId.destroy(),this._pickId=e.createPickId({primitive:this._pickIdThis,id:this.id})),p||!t(A.shaderProgram)){var P=f({sources:[y,this._material.shaderSource,S],pickColorQualifier:"uniform"});A.shaderProgram=e.getShaderCache().replaceShaderProgram(A.shaderProgram,C,P,b);var D=this,M={czm_pickColor:function(){return D._pickId.color}};A.uniformMap=n(n(this._uniforms,this._material._uniforms),M)}A.pass=o?g.TRANSLUCENT:g.OPAQUE,i.push(A)}}}},T.prototype.isDestroyed=function(){return!1},T.prototype.destroy=function(){return this._frontFaceColorCommand.vertexArray=this._frontFaceColorCommand.vertexArray&&this._frontFaceColorCommand.vertexArray.destroy(),this._frontFaceColorCommand.shaderProgram=this._frontFaceColorCommand.shaderProgram&&this._frontFaceColorCommand.shaderProgram.release(),this._pickCommand.shaderProgram=this._pickCommand.shaderProgram&&this._pickCommand.shaderProgram.release(),this._pickId=this._pickId&&this._pickId.destroy(),o(this)},T}),r("DynamicScene/MaterialProperty",["../Core/defined","../Core/defineProperties","../Core/DeveloperError","../Scene/Material"],function(e,t,r,i){"use strict";var n=function(){r.throwInstantiationError()};return t(n.prototype,{isConstant:{get:r.throwInstantiationError},definitionChanged:{get:r.throwInstantiationError}}),n.prototype.getType=r.throwInstantiationError,n.prototype.getValue=r.throwInstantiationError,n.prototype.equals=r.throwInstantiationError,n.getValue=function(t,r,n){if(e(r)){var o=r.getType(t);e(o)&&(e(n)&&n.type===o||(n=i.fromType(o)),r.getValue(t,n.uniforms))}return n},n}),r("DynamicScene/DynamicConeVisualizerUsingCustomSensor",["../Core/Cartesian3","../Core/Color","../Core/defined","../Core/destroyObject","../Core/DeveloperError","../Core/Quaternion","../Core/Math","../Core/Matrix3","../Core/Matrix4","../Core/Spherical","../Scene/CustomSensorVolume","../Scene/Material","./MaterialProperty"],function(e,t,r,i,n,o,a,s,l,u,c,h,d){"use strict";function m(e,t,i,n){var o=t[e];r(o)||(t[e]=o=new u),o.clock=i,o.cone=n,o.magnitude=1}function p(e,t,r,i,n){var o,s=0,l=a.toRadians(2);if(0===e&&t===a.TWO_PI)for(o=0;oo;o+=l)m(s++,n,o,i);if(m(s++,n,t,i),r){for(o=t;o>e;o-=l)m(s++,n,o,r);m(s++,n,e,r)}else m(s++,n,t,0)}return n.length=s,n}function f(i,n,u){var m=u._cone;if(r(m)){var f=u._position;if(r(f)){var g=u._orientation;if(r(g)){var C,S=m._show,w=u._coneVisualizerIndex,E=u.isAvailable(n)&&(!r(S)||S.getValue(n));if(!E)return r(w)&&(C=i._coneCollection[w],C.show=!1,u._coneVisualizerIndex=void 0,i._unusedIndexes.push(w)),void 0;if(r(w))C=i._coneCollection[w];else{var x=i._unusedIndexes,b=x.length;b>0?(w=x.pop(),C=i._coneCollection[w]):(w=i._coneCollection.length,C=new c,C._directionsScratch=[],i._coneCollection.push(C),i._primitives.add(C)),u._coneVisualizerIndex=w,C.id=u,C.material=h.fromType(h.ColorType),C.intersectionColor=t.clone(t.YELLOW),C.intersectionWidth=5,C.radius=Number.POSITIVE_INFINITY,C.showIntersection=!0}C.show=!0;var T,A=m._minimumClockAngle;r(A)&&(T=A.getValue(n)),r(T)||(T=0);var P;A=m._maximumClockAngle,r(A)&&(P=A.getValue(n)),r(P)||(P=a.TWO_PI);var D;A=m._innerHalfAngle,r(A)&&(D=A.getValue(n)),r(D)||(D=0);var M;if(A=m._outerHalfAngle,r(A)&&(M=A.getValue(n)),r(M)||(M=Math.PI),(T!==C.minimumClockAngle||P!==C.maximumClockAngle||D!==C.innerHalfAngle||M!==C.outerHalfAngle)&&(C.setDirections(p(T,P,D,M,C._directionsScratch)),C.innerHalfAngle=D,C.maximumClockAngle=P,C.outerHalfAngle=M,C.minimumClockAngle=T),A=m._radius,r(A)){var I=A.getValue(n);r(I)&&(C.radius=I)}var O=f.getValue(n,_),R=g.getValue(n,y);if(!r(O)||!r(R)||e.equals(O,C._visualizerPosition)&&o.equals(R,C._visualizerOrientation)||(l.fromRotationTranslation(s.fromQuaternion(R,v),O,C.modelMatrix),C._visualizerPosition=e.clone(O,C._visualizerPosition),C._visualizerOrientation=o.clone(R,C._visualizerOrientation)),C.material=d.getValue(n,m._outerMaterial,C.material),A=m._intersectionColor,r(A)&&A.getValue(n,C.intersectionColor),A=m._intersectionWidth,r(A)){var L=A.getValue(n);r(L)&&(C.intersectionWidth=L)}}}}}var v=new s,g=function(e,t){this._scene=e,this._unusedIndexes=[],this._primitives=e.primitives,this._coneCollection=[],this._dynamicObjectCollection=void 0,this.setDynamicObjectCollection(t)};g.prototype.getScene=function(){return this._scene},g.prototype.getDynamicObjectCollection=function(){return this._dynamicObjectCollection},g.prototype.setDynamicObjectCollection=function(e){var t=this._dynamicObjectCollection;t!==e&&(r(t)&&(t.collectionChanged.removeEventListener(g.prototype._onObjectsRemoved,this),this.removeAllPrimitives()),this._dynamicObjectCollection=e,r(e)&&e.collectionChanged.addEventListener(g.prototype._onObjectsRemoved,this))},g.prototype.update=function(e){if(r(this._dynamicObjectCollection))for(var t=this._dynamicObjectCollection.getObjects(),i=0,n=t.length;n>i;i++)f(this,e,t[i])},g.prototype.removeAllPrimitives=function(){var e,t;for(e=0,t=this._coneCollection.length;t>e;e++)this._primitives.remove(this._coneCollection[e]);if(r(this._dynamicObjectCollection)){var i=this._dynamicObjectCollection.getObjects();for(e=i.length-1;e>-1;e--)i[e]._coneVisualizerIndex=void 0}this._unusedIndexes=[],this._coneCollection=[]},g.prototype.isDestroyed=function(){return!1},g.prototype.destroy=function(){return this.setDynamicObjectCollection(void 0),i(this)};var _=new e,y=new o;return g.prototype._onObjectsRemoved=function(e,t,i){for(var n=this._coneCollection,o=this._unusedIndexes,a=i.length-1;a>-1;a--){var s=i[a],l=s._coneVisualizerIndex;if(r(l)){var u=n[l];u.show=!1,o.push(l),s._coneVisualizerIndex=void 0}}},g}),r("Scene/Label",["../Core/defaultValue","../Core/DeveloperError","../Core/Cartesian2","../Core/Cartesian3","../Core/Color","../Core/defined","../Core/NearFarScalar","./Billboard","./LabelStyle","./HorizontalOrigin","./VerticalOrigin"],function(e,t,r,i,n,o,a,s,l,u,c){"use strict";function h(e){e._rebindAllGlyphs||e._repositionAllGlyphs||e._labelCollection._labelsToUpdate.push(e),e._rebindAllGlyphs=!0}function d(e){e._rebindAllGlyphs||e._repositionAllGlyphs||e._labelCollection._labelsToUpdate.push(e),e._repositionAllGlyphs=!0}var m=function(t,o){t=e(t,e.EMPTY_OBJECT),this._text=e(t.text,""),this._show=e(t.show,!0),this._font=e(t.font,"30px sans-serif"),this._fillColor=n.clone(e(t.fillColor,n.WHITE)),this._outlineColor=n.clone(e(t.outlineColor,n.BLACK)),this._outlineWidth=e(t.outlineWidth,1),this._style=e(t.style,l.FILL),this._verticalOrigin=e(t.verticalOrigin,c.BOTTOM),this._horizontalOrigin=e(t.horizontalOrigin,u.LEFT),this._pixelOffset=r.clone(e(t.pixelOffset,r.ZERO)),this._eyeOffset=i.clone(e(t.eyeOffset,i.ZERO)),this._position=i.clone(e(t.position,i.ZERO)),this._scale=e(t.scale,1),this._id=t.id,this._translucencyByDistance=t.translucencyByDistance,this._pixelOffsetScaleByDistance=t.pixelOffsetScaleByDistance,this._labelCollection=o,this._glyphs=[],this._rebindAllGlyphs=!0,this._repositionAllGlyphs=!0};return m.prototype.getShow=function(){return this._show},m.prototype.setShow=function(e){if(e!==this._show){this._show=e;for(var t=this._glyphs,r=0,i=t.length;i>r;r++){var n=t[r];o(n.billboard)&&n.billboard.setShow(e)}}},m.prototype.getPosition=function(){return this._position},m.prototype.setPosition=function(e){var t=this._position;if(!i.equals(t,e)){i.clone(e,t);for(var r=this._glyphs,n=0,a=r.length;a>n;n++){var s=r[n];o(s.billboard)&&s.billboard.setPosition(e)}}},m.prototype.getText=function(){return this._text},m.prototype.setText=function(e){e!==this._text&&(this._text=e,h(this))},m.prototype.getFont=function(){return this._font},m.prototype.setFont=function(e){this._font!==e&&(this._font=e,h(this))},m.prototype.getFillColor=function(){return this._fillColor},m.prototype.setFillColor=function(e){var t=this._fillColor;n.equals(t,e)||(n.clone(e,t),h(this))},m.prototype.getOutlineColor=function(){return this._outlineColor},m.prototype.setOutlineColor=function(e){var t=this._outlineColor;n.equals(t,e)||(n.clone(e,t),h(this))},m.prototype.getOutlineWidth=function(){return this._outlineWidth},m.prototype.setOutlineWidth=function(e){this._outlineWidth!==e&&(this._outlineWidth=e,h(this))},m.prototype.getStyle=function(){return this._style},m.prototype.setStyle=function(e){this._style!==e&&(this._style=e,h(this))},m.prototype.getPixelOffset=function(){return this._pixelOffset},m.prototype.setPixelOffset=function(e){var t=this._pixelOffset;r.equals(t,e)||(r.clone(e,t),d(this))},m.prototype.getTranslucencyByDistance=function(){return this._translucencyByDistance},m.prototype.setTranslucencyByDistance=function(e){a.equals(this._translucencyByDistance,e)||(this._translucencyByDistance=a.clone(e,this._translucencyByDistance),h(this))},m.prototype.getPixelOffsetScaleByDistance=function(){return this._pixelOffsetScaleByDistance},m.prototype.setPixelOffsetScaleByDistance=function(e){a.equals(this._pixelOffsetScaleByDistance,e)||(this._pixelOffsetScaleByDistance=a.clone(e,this._pixelOffsetScaleByDistance),h(this))},m.prototype.getEyeOffset=function(){return this._eyeOffset},m.prototype.setEyeOffset=function(e){var t=this._eyeOffset;if(!i.equals(t,e)){i.clone(e,t);for(var r=this._glyphs,n=0,a=r.length;a>n;n++){var s=r[n];o(s.billboard)&&s.billboard.setEyeOffset(e)}}},m.prototype.getHorizontalOrigin=function(){return this._horizontalOrigin},m.prototype.setHorizontalOrigin=function(e){this._horizontalOrigin!==e&&(this._horizontalOrigin=e,d(this))},m.prototype.getVerticalOrigin=function(){return this._verticalOrigin},m.prototype.setVerticalOrigin=function(e){this._verticalOrigin!==e&&(this._verticalOrigin=e,d(this))},m.prototype.getScale=function(){return this._scale},m.prototype.getId=function(){return this._id},m.prototype.setScale=function(e){if(this._scale!==e){this._scale=e;for(var t=this._glyphs,r=0,i=t.length;i>r;r++){var n=t[r];o(n.billboard)&&n.billboard.setScale(e)}d(this)}},m.prototype.computeScreenSpacePosition=function(e,t){var r=this._labelCollection,i=r.modelMatrix,n=s._computeActualPosition(this._position,t,i);return s._computeScreenSpacePosition(i,n,this._eyeOffset,this._pixelOffset,e,t)},m.prototype.equals=function(e){return this===e||o(e)&&this._show===e._show&&this._scale===e._scale&&this._style===e._style&&this._verticalOrigin===e._verticalOrigin&&this._horizontalOrigin===e._horizontalOrigin&&this._text===e._text&&this._font===e._font&&i.equals(this._position,e._position)&&n.equals(this._fillColor,e._fillColor)&&n.equals(this._outlineColor,e._outlineColor)&&r.equals(this._pixelOffset,e._pixelOffset)&&i.equals(this._eyeOffset,e._eyeOffset)&&a.equals(this._translucencyByDistance,e._translucencyByDistance)&&a.equals(this._pixelOffsetScaleByDistance,e._pixelOffsetScaleByDistance)&&this._id===e._id},m.prototype.isDestroyed=function(){return!1},m}),r("Scene/LabelCollection",["../Core/defaultValue","../Core/defineProperties","../Core/DeveloperError","../Core/defined","../Core/destroyObject","../Core/Cartesian2","../Core/Matrix4","../Core/writeTextToCanvas","./BillboardCollection","./Label","./LabelStyle","./HorizontalOrigin","./VerticalOrigin"],function(e,t,r,i,n,o,a,s,l,u,c,h,d){"use strict";function m(){this.textureInfo=void 0,this.dimensions=void 0,this.billboard=void 0}function p(e,t,r){this.labelCollection=e,this.index=t,this.dimensions=r}function f(e,t,r,i,n,o,a){return C.font=t,C.fillColor=r,C.strokeColor=i,C.strokeWidth=n,C.textBaseline=a===d.BOTTOM?"bottom":a===d.TOP?"top":"middle",C.fill=o===c.FILL||o===c.FILL_AND_OUTLINE,C.stroke=o===c.OUTLINE||o===c.FILL_AND_OUTLINE,s(e,C)}function v(e,t){t.textureInfo=void 0,t.dimensions=void 0;var r=t.billboard;i(r)&&(r.setShow(!1),r.setImageIndex(-1),r._pickId=r._pickId&&r._pickId.destroy(),e._spareBillboards.push(r),t.billboard=void 0)}function g(e,t){var r,n,o,a=t._text,s=a.length,l=t._glyphs,u=l.length;if(u>s)for(n=s;u>n;++n)v(e,l[n]);l.length=s;var c=e._glyphTextureCache,d=e._textureAtlas;for(o=0;s>o;++o){var g=a.charAt(o),_=t._font,y=t._fillColor,C=t._outlineColor,S=t._outlineWidth,w=t._style,E=t._verticalOrigin,x=JSON.stringify([g,_,y.toRgba(),C.toRgba(),S,+w,+E]),b=c[x];if(!i(b)){var T=f(g,_,y,C,S,w,E),A=-1;T.width>0&&T.height>0&&(A=d.addImage(T)),b=new p(e,A,T.dimensions),c[x]=b}if(r=l[o],i(r)?-1===b.index?v(e,r):i(r.textureInfo)&&(r.textureInfo=void 0):(r=new m,l[o]=r),r.textureInfo=b,r.dimensions=b.dimensions,-1!==b.index){var P=r.billboard;i(P)||(r.billboard=P=e._spareBillboards.length>0?e._spareBillboards.pop():e._billboardCollection.add(),P.setShow(t._show),P.setPosition(t._position),P.setEyeOffset(t._eyeOffset),P.setPixelOffset(t._pixelOffset),P.setHorizontalOrigin(h.LEFT),P.setVerticalOrigin(t._verticalOrigin),P.setScale(t._scale),P._pickIdThis=t,P._id=t._id,P._collection=t._labelCollection),r.billboard.setImageIndex(b.index),r.billboard.setTranslucencyByDistance(t._translucencyByDistance),r.billboard.setPixelOffsetScaleByDistance(t._pixelOffsetScaleByDistance)}}t._repositionAllGlyphs=!0}function _(e){var t,r,n=e._glyphs,o=0,a=0,s=0,l=n.length;for(s=0;l>s;++s)t=n[s],r=t.dimensions,o+=r.width,a=Math.max(a,r.height);var u=e._scale,c=e._horizontalOrigin,m=0;c===h.CENTER?m-=o/2*u:c===h.RIGHT&&(m-=o*u),S.x=m,S.y=0;var p=e._verticalOrigin;for(s=0;l>s;++s)t=n[s],r=t.dimensions,p===d.BOTTOM||r.height===a?S.y=-r.descent*u:p===d.TOP?S.y=-(a-r.height)*u-r.descent*u:p===d.CENTER&&(S.y=-(a-r.height)/2*u-r.descent*u),i(t.billboard)&&t.billboard._setTranslate(S),S.x+=r.width*u}function y(e,t){for(var r=t._glyphs,i=0,o=r.length;o>i;++i)v(e,r[i]);t._labelCollection=void 0,n(t)}var C={},S=new o,w=function(t){t=e(t,e.EMPTY_OBJECT),this._textureAtlas=void 0,this._billboardCollection=new l,this._billboardCollection.destroyTextureAtlas=!1,this._spareBillboards=[],this._glyphTextureCache={},this._labels=[],this._labelsToUpdate=[],this._totalGlyphCount=0,this.modelMatrix=a.clone(e(t.modelMatrix,a.IDENTITY)),this.debugShowBoundingVolume=e(t.debugShowBoundingVolume,!1)};return t(w.prototype,{length:{get:function(){return this._labels.length}}}),w.prototype.add=function(e){var t=new u(e,this);return this._labels.push(t),this._labelsToUpdate.push(t),t},w.prototype.remove=function(e){if(i(e)&&e._labelCollection===this){var t=this._labels.indexOf(e);if(-1!==t)return this._labels.splice(t,1),y(this,e),!0}return!1},w.prototype.removeAll=function(){for(var e=this._labels,t=0,r=e.length;r>t;++t)y(this,e[t]);e.length=0},w.prototype.contains=function(e){return i(e)&&e._labelCollection===this},w.prototype.get=function(e){return this._labels[e]},w.prototype.update=function(e,t,r){var n=this._billboardCollection;n.modelMatrix=this.modelMatrix,n.debugShowBoundingVolume=this.debugShowBoundingVolume,i(this._textureAtlas)||(this._textureAtlas=e.createTextureAtlas(),n.textureAtlas=this._textureAtlas);for(var o=this._labelsToUpdate,a=0,s=o.length;s>a;++a){var l=o[a];if(!l.isDestroyed()){var u=l._glyphs.length;l._rebindAllGlyphs&&(g(this,l),l._rebindAllGlyphs=!1),l._repositionAllGlyphs&&(_(l),l._repositionAllGlyphs=!1);var c=l._glyphs.length-u;this._totalGlyphCount+=c}}o.length=0,n.update(e,t,r)},w.prototype.isDestroyed=function(){return!1},w.prototype.destroy=function(){return this.removeAll(),this._billboardCollection=this._billboardCollection.destroy(),this._textureAtlas=this._textureAtlas&&this._textureAtlas.destroy(),n(this)},w}),r("DynamicScene/DynamicLabelVisualizer",["../Core/DeveloperError","../Core/defined","../Core/destroyObject","../Core/Color","../Core/Cartesian2","../Core/Cartesian3","../Scene/LabelCollection","../Scene/LabelStyle","../Scene/HorizontalOrigin","../Scene/VerticalOrigin"],function(e,t,r,i,n,o,a,s,l,u){"use strict";function c(e,r,a){var c=a._label;if(t(c)){var h=c._text;if(t(h)){var g=a._position;if(t(g)){var _,y=c._show,C=a._labelVisualizerIndex,S=a.isAvailable(r)&&(!t(y)||y.getValue(r));if(!S)return t(C)&&(_=e._labelCollection.get(C),_.setShow(!1),e._unusedIndexes.push(C),a._labelVisualizerIndex=void 0),void 0;if(t(C))_=e._labelCollection.get(C);else{var w=e._unusedIndexes,E=w.length;E>0?(C=w.pop(),_=e._labelCollection.get(C)):(C=e._labelCollection.length,_=e._labelCollection.add()),a._labelVisualizerIndex=C,_.id=a,_.setText(""),_.setScale(1),_.setFont("30px sans-serif"),_.setFillColor(i.WHITE),_.setOutlineColor(i.BLACK),_.setOutlineWidth(1),_.setStyle(s.FILL),_.setPixelOffset(n.ZERO),_.setEyeOffset(o.ZERO),_.setHorizontalOrigin(l.CENTER),_.setVerticalOrigin(u.CENTER)}_.setShow(S);var x=h.getValue(r);t(x)&&_.setText(x),d=g.getValue(r,d),t(d)&&_.setPosition(d);var b=c._scale;if(t(b)){var T=b.getValue(r);t(T)&&_.setScale(T)}if(b=c._font,t(b)){var A=b.getValue(r);t(A)&&_.setFont(A)}if(b=c._fillColor,t(b)&&(m=b.getValue(r,m),t(m)&&_.setFillColor(m)),b=c._outlineColor,t(b)&&(p=b.getValue(r,p),t(p)&&_.setOutlineColor(p)),b=c._outlineWidth,t(b)){var P=b.getValue(r);t(P)&&_.setOutlineWidth(P)}if(b=c._style,t(b)){var D=b.getValue(r);t(D)&&_.setStyle(D)}if(b=c._pixelOffset,t(b)&&(v=b.getValue(r,v),t(v)&&_.setPixelOffset(v)),b=c._eyeOffset,t(b)&&(f=b.getValue(r,f),t(f)&&_.setEyeOffset(f)),b=c._horizontalOrigin,t(b)){var M=b.getValue(r);t(M)&&_.setHorizontalOrigin(M)}if(b=c._verticalOrigin,t(b)){var I=b.getValue(r);t(I)&&_.setVerticalOrigin(I)}b=c._translucencyByDistance,t(b)&&_.setTranslucencyByDistance(b.getValue(r)),b=c._pixelOffsetScaleByDistance,t(b)&&_.setPixelOffsetScaleByDistance(b.getValue(r))}}}}var h=function(e,t){this._scene=e,this._unusedIndexes=[],this._dynamicObjectCollection=void 0;var r=this._labelCollection=new a;e.primitives.add(r),this.setDynamicObjectCollection(t)};h.prototype.getScene=function(){return this._scene},h.prototype.getDynamicObjectCollection=function(){return this._dynamicObjectCollection},h.prototype.setDynamicObjectCollection=function(e){var r=this._dynamicObjectCollection;r!==e&&(t(r)&&(r.collectionChanged.removeEventListener(h.prototype._onObjectsRemoved,this),this.removeAllPrimitives()),this._dynamicObjectCollection=e,t(e)&&e.collectionChanged.addEventListener(h.prototype._onObjectsRemoved,this))},h.prototype.update=function(e){if(t(this._dynamicObjectCollection))for(var r=this._dynamicObjectCollection.getObjects(),i=0,n=r.length;n>i;i++)c(this,e,r[i])},h.prototype.removeAllPrimitives=function(){if(this._unusedIndexes=[],this._labelCollection.removeAll(),t(this._dynamicObjectCollection))for(var e=this._dynamicObjectCollection.getObjects(),r=e.length-1;r>-1;r--)e[r]._labelVisualizerIndex=void 0},h.prototype.isDestroyed=function(){return!1},h.prototype.destroy=function(){return this.setDynamicObjectCollection(void 0),this._scene.primitives.remove(this._labelCollection),r(this)};var d,m,p,f,v;return h.prototype._onObjectsRemoved=function(e,r,i){for(var n=this._labelCollection,o=this._unusedIndexes,a=i.length-1;a>-1;a--){var s=i[a],l=s._labelVisualizerIndex;if(t(l)){var u=n.get(l);u.setShow(!1),o.push(l),s._labelVisualizerIndex=void 0}}},h}),r("Scene/ModelTypes",["../Core/ComponentDatatype"],function(e){"use strict";var t={};return"undefined"==typeof WebGLRenderingContext?t:(t[WebGLRenderingContext.FLOAT]={componentsPerAttribute:1,componentDatatype:e.FLOAT,createArrayBufferView:function(e,t,r){return new Float32Array(e,t,r)}},t[WebGLRenderingContext.FLOAT_VEC2]={componentsPerAttribute:2,componentDatatype:e.FLOAT,createArrayBufferView:function(e,t,r){return new Float32Array(e,t,this.componentsPerAttribute*r) +}},t[WebGLRenderingContext.FLOAT_VEC3]={componentsPerAttribute:3,componentDatatype:e.FLOAT,createArrayBufferView:function(e,t,r){return new Float32Array(e,t,this.componentsPerAttribute*r)}},t[WebGLRenderingContext.FLOAT_VEC4]={componentsPerAttribute:4,componentDatatype:e.FLOAT,createArrayBufferView:function(e,t,r){return new Float32Array(e,t,this.componentsPerAttribute*r)}},t[WebGLRenderingContext.FLOAT_MAT2]={componentsPerAttribute:4,componentDatatype:e.FLOAT,createArrayBufferView:function(e,t,r){return new Float32Array(e,t,this.componentsPerAttribute*r)}},t[WebGLRenderingContext.FLOAT_MAT3]={componentsPerAttribute:9,componentDatatype:e.FLOAT,createArrayBufferView:function(e,t,r){return new Float32Array(e,t,this.componentsPerAttribute*r)}},t[WebGLRenderingContext.FLOAT_MAT4]={componentsPerAttribute:16,componentDatatype:e.FLOAT,createArrayBufferView:function(e,t,r){return new Float32Array(e,t,this.componentsPerAttribute*r)}},t)}),r("Scene/ModelAnimationCache",["../Core/defined","../Core/Cartesian3","../Core/Quaternion","../Core/LinearSpline","../Core/QuaternionSpline","./ModelTypes"],function(e,t,r,i,n,o){"use strict";function a(e,t){var r=e.gltf,i=r.buffers,n=r.bufferViews,a=n[t.bufferView],s=i[a.buffer],l=a.byteOffset+t.byteOffset,u=t.count*o[t.type].componentsPerAttribute;return e.basePath+s.path+":"+l+":"+u}function s(e,t,r){return e.basePath+":"+t+":"+r}var l=function(){},u={},c=new t;l.getAnimationParameterValues=function(i,n){var s=a(i,n),l=u[s];if(!e(l)){var h,d=i._loadResources.buffers,m=i.gltf,p=m.bufferViews,f=p[n.bufferView],v=n.type,g=n.count,_=o[v].createArrayBufferView(d[f.buffer],f.byteOffset+n.byteOffset,n.count);if(v===WebGLRenderingContext.FLOAT)l=_;else if(v===WebGLRenderingContext.FLOAT_VEC3)for(l=new Array(g),h=0;g>h;++h)l[h]=t.fromArray(_,3*h);else if(v===WebGLRenderingContext.FLOAT_VEC4)for(l=new Array(g),h=0;g>h;++h){var y=4*h;l[h]=r.fromAxisAngle(t.fromArray(_,y,c),_[y+3])}u[s]=l}return l};var h={},d=function(e){this._value=e};return d.prototype.evaluate=function(){return this._value},l.getAnimationSpline=function(t,r,o,a,l,u){var c=s(t,r,a),m=h[c];if(!e(m)){var p=u[l.input],f=t.gltf.accessors[o.parameters[l.output]],v=u[l.output];1===p.length&&1===v.length?m=new d(v[0]):"LINEAR"===l.interpolation&&(f.type===WebGLRenderingContext.FLOAT_VEC3?m=new i({times:p,points:v}):f.type===WebGLRenderingContext.FLOAT_VEC4&&(m=new n({times:p,points:v}))),h[c]=m}return m},l}),r("Scene/ModelAnimationLoop",[],function(){"use strict";var e={NONE:0,REPEAT:1,MIRRORED_REPEAT:2};return e}),r("Scene/ModelAnimationState",[],function(){"use strict";return{STOPPED:0,ANIMATING:1}}),r("Scene/ModelAnimation",["../Core/defaultValue","../Core/Event","./ModelAnimationLoop","./ModelAnimationState"],function(e,t,r,i){"use strict";var n=function(n,o,a){this.name=n.name,this.startTime=n.startTime,this.startOffset=e(n.startOffset,0),this.stopTime=n.stopTime,this.removeOnStop=e(n.removeOnStop,!1),this.speedup=e(n.speedup,1),this.reverse=e(n.reverse,!1),this.loop=e(n.loop,r.NONE),this.start=new t,this.update=new t,this.stop=new t,this._state=i.STOPPED,this._runtimeAnimation=a,this._startTime=void 0,this._duration=void 0;var s=this;this._raiseStartEvent=function(){s.start.raiseEvent(o,s)},this._updateEventTime=0,this._raiseUpdateEvent=function(){s.update.raiseEvent(o,s,s._updateEventTime)},this._raiseStopEvent=function(){s.stop.raiseEvent(o,s)}};return n}),r("Scene/ModelAnimationCollection",["../Core/clone","../Core/defined","../Core/defineProperties","../Core/defaultValue","../Core/DeveloperError","../Core/Math","../Core/Event","../Core/JulianDate","./ModelAnimationLoop","./ModelAnimationState","./ModelAnimation"],function(e,t,r,i,n,o,a,s,l,u,c){"use strict";function h(e,t){for(var r=e.channelEvaluators,i=r.length,n=0;i>n;++n)r[n](t)}function d(e,t,r){return function(){e.animationRemoved.raiseEvent(t,r)}}var m=function(e){this.animationAdded=new a,this.animationRemoved=new a,this._model=e,this._scheduledAnimations=[],this._previousTime=void 0};r(m.prototype,{length:{get:function(){return this._scheduledAnimations.length}}}),m.prototype.add=function(e){e=i(e,i.EMPTY_OBJECT);var t=this._model,r=t._runtime.animations,n=r[e.name],o=new c(e,t,n);return this._scheduledAnimations.push(o),this.animationAdded.raiseEvent(t,o),o},m.prototype.addAll=function(t){t=i(t,i.EMPTY_OBJECT),t=e(t);var r=[],n=this._model.gltf.animations;for(var o in n)n.hasOwnProperty(o)&&(t.name=o,r.push(this.add(t)));return r},m.prototype.remove=function(e){if(t(e)){var r=this._scheduledAnimations,i=r.indexOf(e);if(-1!==i)return r.splice(i,1),this.animationRemoved.raiseEvent(this._model,e),!0}return!1},m.prototype.removeAll=function(){var e=this._model,t=this._scheduledAnimations,r=t.length;this._scheduledAnimations=[];for(var i=0;r>i;++i)this.animationRemoved.raiseEvent(e,t[i])},m.prototype.contains=function(e){return t(e)?-1!==this._scheduledAnimations.indexOf(e):!1},m.prototype.get=function(e){return this._scheduledAnimations[e]};var p=[];return m.prototype.update=function(e){if(s.equals(e.time,this._previousTime))return!1;this._previousTime=s.clone(e.time,this._previousTime);for(var r=!1,n=e.time,a=this._model,c=this._scheduledAnimations,m=c.length,f=0;m>f;++f){var v=c[f],g=v._runtimeAnimation;t(v._startTime)||(v._startTime=i(v.startTime,n).addSeconds(v.startOffset)),t(v._duration)||(v._duration=g.stopTime*(1/v.speedup));var _=v._startTime,y=v._duration,C=v.stopTime,S=0!==y?_.getSecondsDifference(n)/y:0,w=S>=0,E=w&&(1>=S||v.loop===l.REPEAT||v.loop===l.MIRRORED_REPEAT)&&(!t(C)||n.lessThanOrEquals(C));if(E){if(v._state===u.STOPPED&&(v._state=u.ANIMATING,v.start.getNumberOfListeners()>0&&e.afterRender.push(v._raiseStartEvent)),v.loop===l.REPEAT)S-=Math.floor(S);else if(v.loop===l.MIRRORED_REPEAT){var x=Math.floor(S),b=S-x;S=1===x%2?1-b:b}v.reverse&&(S=1-S);var T=S*y*v.speedup;T=o.clamp(T,g.startTime,g.stopTime),h(g,T),v.update.getNumberOfListeners()>0&&(v._updateEventTime=T,e.afterRender.push(v._raiseUpdateEvent)),r=!0}else w&&v._state===u.ANIMATING&&(v._state=u.STOPPED,v.stop.getNumberOfListeners()>0&&e.afterRender.push(v._raiseStopEvent),v.removeOnStop&&p.push(v))}m=p.length;for(var A=0;m>A;++A){var P=p[A];c.splice(c.indexOf(P),1),e.afterRender.push(d(this,a,P))}return p.length=0,r},m}),r("Scene/ModelMesh",[],function(){"use strict";var e=function(e){this.name=e};return e}),r("Scene/ModelNode",["../Core/defaultValue","../Core/defineProperties","../Core/Matrix4"],function(e,t,r){"use strict";var i=function(t,i,n){this._model=t,this._runtimeNode=n,this.name=i.name,this.useMatrix=!1,this._matrix=r.clone(e(i.matrix,r.IDENTITY))};return t(i.prototype,{matrix:{get:function(){return this._matrix},set:function(e){this._matrix=r.clone(e,this._matrix),this.useMatrix=!0;var t=this._model;t._cesiumAnimationsDirty=!0,this._runtimeNode.dirtyNumber=t._maxDirtyNumber}}}),i}),r("ThirdParty/gltfDefaults",["../Core/defaultValue","../Core/defined"],function(e,t){"use strict";function r(e){if(t(e))for(var r in e)if(e.hasOwnProperty(r)){var i=e[r];t(i.matrix)||(t(i.translation)&&t(i.rotation)&&t(i.scale)?(t(i.translation)||(i.translation=[0,0,0]),t(i.rotation)||(i.rotation=[1,0,0,0]),t(i.scale)||(i.scale=[1,1,1])):i.matrix=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])}}function i(r){if(t(r))for(var i in r)if(r.hasOwnProperty(i)){var n=r[i];n.type=e(n.type,WebGLRenderingContext.UNSIGNED_BYTE)}}var n=function(e){return t(e)?(r(e.nodes),i(e.textures),e):void 0};return n}),r("Scene/Model",["../Core/BoundingSphere","../Core/Cartesian2","../Core/Cartesian3","../Core/Cartesian4","../Core/combine","../Core/defined","../Core/defaultValue","../Core/destroyObject","../Core/DeveloperError","../Core/Event","../Core/IndexDatatype","../Core/loadArrayBuffer","../Core/loadImage","../Core/loadText","../Core/Math","../Core/Matrix2","../Core/Matrix3","../Core/Matrix4","../Core/PrimitiveType","../Core/Quaternion","../Core/Queue","../Core/RuntimeError","../Renderer/BlendingState","../Renderer/BufferUsage","../Renderer/createShaderSource","../Renderer/DrawCommand","../Renderer/Pass","../Renderer/TextureMinificationFilter","../Renderer/TextureWrap","./ModelAnimationCache","./ModelAnimationCollection","./ModelMesh","./ModelNode","./ModelTypes","./SceneMode","../ThirdParty/gltfDefaults"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f,v,g,_,y,C,S,w,E,x,b,T,A,P,D,M,I,O,R,L,N){"use strict";function B(){this.buffersToCreate=new C,this.buffers={},this.pendingBufferLoads=0,this.programsToCreate=new C,this.shaders={},this.pendingShaderLoads=0,this.texturesToCreate=new C,this.pendingTextureLoads=0,this.createSamplers=!0,this.createSkins=!0,this.createRuntimeAnimations=!0,this.createVertexArrays=!0,this.createRenderStates=!0,this.createUniformMaps=!0,this.createRuntimeNodes=!0,this.skinnedNodesNames=[]}function z(e,t,r){return function(){e._loadError=new S("Failed to load external "+t+": "+r),e._state=Mt.FAILED}}function F(e,t){return function(r){var i=e._loadResources;i.buffers[t]=r,--i.pendingBufferLoads}}function V(e){var t=e.gltf.buffers;for(var r in t)if(t.hasOwnProperty(r)){++e._loadResources.pendingBufferLoads;var i=e.basePath+t[r].path;h(i).then(F(e,r),z(e,"buffer",i))}}function k(e){var t=e.gltf.bufferViews;for(var r in t)t.hasOwnProperty(r)&&e._loadResources.buffersToCreate.enqueue(r)}function U(e,t){return function(r){var i=e._loadResources;i.shaders[t]=r,--i.pendingShaderLoads}}function W(e){var t=e.gltf.shaders;for(var r in t)if(t.hasOwnProperty(r)){++e._loadResources.pendingShaderLoads;var i=e.basePath+t[r].path;m(i).then(U(e,r),z(e,"shader",i))}}function G(e){var t=e.gltf.programs;for(var r in t)t.hasOwnProperty(r)&&e._loadResources.programsToCreate.enqueue(r)}function H(e,t){return function(r){var i=e._loadResources;--i.pendingTextureLoads,i.texturesToCreate.enqueue({name:t,image:r})}}function j(e){var t=e.gltf.images,r=e.gltf.textures;for(var i in r)if(r.hasOwnProperty(i)){++e._loadResources.pendingTextureLoads;var n=e.basePath+t[r[i].source].path;d(n).then(H(e,i),z(e,"image",n))}}function q(e){var t={},r={},i=[],n=e._loadResources.skinnedNodesNames,a=e.gltf.nodes;for(var s in a)if(a.hasOwnProperty(s)){var l=a[s],u={matrix:void 0,translation:void 0,rotation:void 0,scale:void 0,transformToRoot:new g,computedMatrix:new g,dirtyNumber:0,commands:[],inverseBindMatrices:void 0,bindShapeMatrix:void 0,joints:[],computedJointMatrices:[],jointId:l.jointId,children:[],parents:[],publicNode:void 0};u.publicNode=new O(e,l,u),t[s]=u,r[l.name]=u,o(l.instanceSkin)&&(n.push(s),i.push(u))}e._runtime.nodes=t,e._runtime.nodesByName=r,e._runtime.skinnedNodes=i}function Y(e){var t={},r=e.gltf.meshes;for(var i in r)if(r.hasOwnProperty(i)){var n=r[i];t[n.name]=new I(n.name)}e._runtime.meshesByName=t}function X(e){V(e),k(e),W(e),G(e),j(e),Y(e),q(e)}function Z(e,t){var r=e._loadResources;if(0===r.pendingBufferLoads){for(var i,n,a=e.gltf.bufferViews,s=r.buffers,l=e._rendererResources.buffers;r.buffersToCreate.length>0;){var u=r.buffersToCreate.dequeue();if(n=a[u],n.target===WebGLRenderingContext.ARRAY_BUFFER){i=new Uint8Array(s[n.buffer],n.byteOffset,n.byteLength);var c=t.createVertexBuffer(i,E.STATIC_DRAW);c.setVertexArrayDestroyable(!1),l[u]=c}}var h=e.gltf.accessors;for(var d in h)if(h.hasOwnProperty(d)){var m=h[d];if(n=a[m.bufferView],n.target===WebGLRenderingContext.ELEMENT_ARRAY_BUFFER&&!o(l[m.bufferView])){i=new Uint8Array(s[n.buffer],n.byteOffset,n.byteLength);var p=t.createIndexBuffer(i,E.STATIC_DRAW,m.type);p.setVertexArrayDestroyable(!1),l[m.bufferView]=p}}}}function J(e){for(var t={},r=e.length,i=0;r>i;++i)t[e[i]]=i;return t}function Q(e,t){var r=e._loadResources;if(0===r.pendingShaderLoads){var i=e.gltf.programs,n=r.shaders;if(r.programsToCreate.length>0){var o=r.programsToCreate.dequeue(),a=i[o],s=J(a.attributes),l=n[a.vertexShader],u=n[a.fragmentShader];if(e._rendererResources.programs[o]=t.getShaderCache().getShaderProgram(l,u,s),e.allowPicking){var c=x({sources:[u],pickColorQualifier:"uniform"});e._rendererResources.pickPrograms[o]=t.getShaderCache().getShaderProgram(l,c,s)}}}}function K(e,t){var r=e._loadResources;if(r.createSamplers){r.createSamplers=!1;var i=e._rendererResources.samplers,n=e.gltf.samplers;for(var o in n)if(n.hasOwnProperty(o)){var a=n[o];i[o]=t.createSampler({wrapS:a.wrapS,wrapT:a.wrapT,minificationFilter:a.minFilter,magnificationFilter:a.magFilter})}}}function $(e,t){var r=e._loadResources,i=e.gltf.textures,n=e._rendererResources.samplers;if(r.texturesToCreate.length>0){var o=r.texturesToCreate.dequeue(),a=i[o.name],s=n[a.sampler],l=s.minificationFilter===A.NEAREST_MIPMAP_NEAREST||s.minificationFilter===A.NEAREST_MIPMAP_LINEAR||s.minificationFilter===A.LINEAR_MIPMAP_NEAREST||s.minificationFilter===A.LINEAR_MIPMAP_LINEAR,u=l||s.wrapS===P.REPEAT||s.wrapS===P.MIRRORED_REPEAT||s.wrapT===P.REPEAT||s.wrapT===P.MIRRORED_REPEAT,c=o.image,h=!p.isPowerOfTwo(c.width)||!p.isPowerOfTwo(c.height);if(u&&h){var d=document.createElement("canvas");d.width=p.nextPowerOfTwo(c.width),d.height=p.nextPowerOfTwo(c.height);var m=d.getContext("2d");m.drawImage(c,0,0,c.width,c.height,0,0,d.width,d.height),c=d}var f;a.target===WebGLRenderingContext.TEXTURE_2D&&(f=t.createTexture2D({source:c,pixelFormat:a.internalFormat,pixelDatatype:a.type,flipY:!1})),l&&f.generateMipmap(),f.setSampler(s),e._rendererResources.textures[o.name]=f}}function et(e,t){var r=e.gltf;r.programs;var i=r.techniques,n=r.materials,o={},a=i[n[t.material].instanceTechnique.technique],s=a.parameters,l=a.passes[a.pass],u=l.instanceProgram,c=u.attributes,h=e._rendererResources.programs[u.program].getVertexAttributes();for(var d in c)if(c.hasOwnProperty(d)){var m=s[c[d]];o[m.semantic]=h[d].index}return o}function tt(e,t){for(var r=e.length,i=0;r>i;++i)for(var n=[e[i]];n.length>0;){var o=n.pop();if(o.jointId===t)return o;for(var a=o.children,s=a.length,l=0;s>l;++l)n.push(a[l])}return void 0}function rt(e,t){for(var r=e.gltf,i=r.skins,n=r.nodes,o=e._runtime.nodes,a=e._loadResources.skinnedNodesNames,s=a.length,l=0;s>l;++l){var u=a[l],c=o[u],h=n[u].instanceSkin,d=t[h.skin];c.inverseBindMatrices=d.inverseBindMatrices,c.bindShapeMatrix=d.bindShapeMatrix;for(var m=[],p=h.skeletons,f=p.length,v=0;f>v;++v)m.push(o[p[v]]);for(var g=i[h.skin].joints,_=g.length,y=0;_>y;++y){var C=g[y];c.joints.push(tt(m,C))}}}function it(e){var t=e._loadResources;if(t.finishedBuffersCreation()&&t.createSkins){t.createSkins=!1;var r=e.gltf,i=t.buffers,n=r.bufferViews,o=r.skins,a={};for(var s in o)if(o.hasOwnProperty(s)){var l=o[s],u=l.inverseBindMatrices,c=n[u.bufferView],h=u.type,d=u.count,m=R[h].createArrayBufferView(i[c.buffer],c.byteOffset+u.byteOffset,d),p=new Array(d);if(h===WebGLRenderingContext.FLOAT_MAT4)for(var f=0;d>f;++f)p[f]=g.fromArray(m,16*f);var v;g.equals(l.bindShapeMatrix,g.IDENTITY)||(v=g.clone(l.bindShapeMatrix)),a[s]={inverseBindMatrices:p,bindShapeMatrix:v}}rt(e,a)}}function nt(e,t,r,i){return function(n){t[r]=i.evaluate(n,t[r]),t.dirtyNumber=e._maxDirtyNumber}}function ot(e){var t=e._loadResources;if(t.finishedPendingLoads()&&t.createRuntimeAnimations){t.createRuntimeAnimations=!1,e._runtime.animations={};var r,i=e._runtime.nodes,n=e.gltf.animations,o=e.gltf.accessors;for(var a in n)if(n.hasOwnProperty(a)){var s=n[a],l=s.channels,u=s.parameters,c=s.samplers,h={};for(r in u)u.hasOwnProperty(r)&&(h[r]=D.getAnimationParameterValues(e,o[u[r]]));for(var d=Number.MAX_VALUE,m=-Number.MAX_VALUE,p=l.length,f=new Array(p),v=0;p>v;++v){var g=l[v],_=g.target,y=c[g.sampler],C=h[y.input];d=Math.min(d,C[0]),m=Math.max(m,C[C.length-1]);var S=D.getAnimationSpline(e,a,s,g.sampler,y,h);f[v]=nt(e,i[_.id],_.path,S)}e._runtime.animations[a]={startTime:d,stopTime:m,channelEvaluators:f}}}}function at(e,t){var r=e._loadResources;if(r.finishedBuffersCreation()&&r.finishedProgramCreation()&&r.createVertexArrays){r.createVertexArrays=!1;var i=e._rendererResources.buffers,n=e._rendererResources.vertexArrays,a=e.gltf,s=a.accessors,l=a.meshes;for(var u in l)if(l.hasOwnProperty(u))for(var c=l[u].primitives,h=c.length,d=0;h>d;++d){var m=c[d],p=et(e,m),f=[],v=m.attributes;for(var g in v)if(v.hasOwnProperty(g)){var _=p[g];if(o(_)){var y=s[v[g]],C=R[y.type];f.push({index:_,vertexBuffer:i[y.bufferView],componentsPerAttribute:C.componentsPerAttribute,componentDatatype:C.componentDatatype,normalize:!1,offsetInBytes:y.byteOffset,strideInBytes:y.byteStride})}}var S=s[m.indices],w=i[S.bufferView];n[u+".primitive."+d]=t.createVertexArray(f,w)}}}function st(e,t){var r=e._loadResources;if(r.createRenderStates){r.createRenderStates=!1;var i=e._rendererResources.renderStates,n=e.gltf.techniques;for(var o in n)if(n.hasOwnProperty(o)){var a=n[o],s=a.passes[a.pass],l=s.states;i[o]=t.createRenderState({cull:{enabled:!!l.cullFaceEnable},depthTest:{enabled:!!l.depthTestEnable},depthMask:!!l.depthMask,blending:l.blendEnable?w.ALPHA_BLEND:w.DISABLED})}}}function lt(e){return function(){return e}}function ut(e){var r=t.fromArray(e);return function(){return r}}function ct(e){var t=r.fromArray(e);return function(){return t}}function ht(e){var t=i.fromArray(e);return function(){return t}}function dt(e){var t=f.fromColumnMajorArray(e);return function(){return t}}function mt(e){var t=v.fromColumnMajorArray(e);return function(){return t}}function pt(e){var t=g.fromColumnMajorArray(e);return function(){return t}}function ft(e,t){var r=t._rendererResources.textures[e];return function(){return r}}function vt(e,t){var r=t._runtime.nodes[e];return function(){return r.computedMatrix}}function gt(e,t){var r=e._loadResources;if(r.finishedTextureCreation()&&r.finishedProgramCreation()&&r.createUniformMaps){r.createUniformMaps=!1;var i=e.gltf,n=i.materials,a=i.techniques;i.programs;var s=e._rendererResources.uniformMaps;for(var l in n)if(n.hasOwnProperty(l)){var u,c=n[l],h=c.instanceTechnique,d=h.values,m=a[h.technique],p=m.parameters,f=m.passes[m.pass],v=f.instanceProgram,g=v.uniforms,_=e._rendererResources.programs[v.program].getAllUniforms(),y={};for(var C in g)if(g.hasOwnProperty(C)&&o(_[C])){var S,w=g[C],E=p[w];o(d[w])?S=Bt[E.type](d[w],e):o(E.semantic)?"JOINT_MATRIX"!==E.semantic?S=Nt[E.semantic](t.getUniformState()):(S=void 0,u=C):o(E.source)?S=vt(E.source,e):o(E.value)&&(S=Bt[E.type](E.value,e)),o(S)&&(y[w]={uniformName:C,func:S})}var x={};for(C in y)if(y.hasOwnProperty(C)){var b=y[C];x[b.uniformName]=b.func}s[l]={uniformMap:x,jointMatrixUniformName:u}}}}function _t(e){return function(){return e}}function yt(e){return function(){return e.computedJointMatrices}}function Ct(t,i,a,s){for(var l=t._renderCommands,u=t._pickCommands,h=t._pickIds,d=t.allowPicking,m=t._runtime.meshesByName,p=t.debugShowBoundingVolume,f=t._rendererResources,v=f.vertexArrays,_=f.programs,y=f.pickPrograms,C=f.renderStates,S=f.uniformMaps,w=t.gltf,E=w.accessors,x=w.meshes,A=w.techniques,P=w.materials,D=o(i.meshes)?i.meshes:i.instanceSkin.sources,M=D.length,I=0;M>I;++I)for(var O=D[I],R=x[O],L=R.primitives,N=L.length,B=0;N>B;++B){var z,F=L[B],V=E[F.indices],k=P[F.material].instanceTechnique,U=A[k.technique],W=U.passes[U.pass],G=W.instanceProgram,H=F.attributes.POSITION;if(o(H)){var j=E[H];z=e.fromCornerPoints(r.fromArray(j.min),r.fromArray(j.max))}var q=v[O+".primitive."+B],Y=V.count,X=V.byteOffset/c.getSizeInBytes(V.type),Z=S[F.material],J=Z.uniformMap;if(o(Z.jointMatrixUniformName)){var Q={};Q[Z.jointMatrixUniformName]=yt(a),J=n(J,Q)}var K=W.states.blendEnable,$=C[k.technique],et={primitive:t,id:t.id,node:a.publicNode,mesh:m[R.name]},tt=new b;tt.boundingVolume=new e,tt.modelMatrix=new g,tt.primitiveType=F.primitive,tt.vertexArray=q,tt.count=Y,tt.offset=X,tt.shaderProgram=_[G.program],tt.uniformMap=J,tt.renderState=$,tt.owner=et,tt.debugShowBoundingVolume=p,tt.pass=K?T.TRANSLUCENT:T.OPAQUE,l.push(tt);var rt;if(d){var it=s.createPickId(et);h.push(it);var nt=n(J,{czm_pickColor:_t(it.color)});rt=new b,rt.boundingVolume=new e,rt.modelMatrix=new g,rt.primitiveType=F.primitive,rt.vertexArray=q,rt.count=Y,rt.offset=X,rt.shaderProgram=y[G.program],rt.uniformMap=nt,rt.renderState=$,rt.owner=et,rt.pass=K?T.TRANSLUCENT:T.OPAQUE,u.push(rt)}a.commands.push({command:tt,pickCommand:rt,boundingSphere:z})}}function St(e,t){var i=e._loadResources;if(i.finishedPendingLoads()&&i.finishedResourceCreation()&&i.createRuntimeNodes){i.createRuntimeNodes=!1;for(var n=[],a=e._runtime.nodes,s=e.gltf,l=s.nodes,u=s.scenes[s.scene],c=u.nodes,h=c.length,d=[],m=new r,p=0;h>p;++p)for(d.push({parentRuntimeNode:void 0,gltfNode:l[c[p]],id:c[p]});d.length>0;){var f=d.pop(),v=f.parentRuntimeNode,_=f.gltfNode,C=a[f.id];0===C.parents.length&&(o(_.matrix)?C.matrix=g.fromColumnMajorArray(_.matrix):(m=r.fromArray(_.rotation,0,m),C.translation=r.fromArray(_.translation),C.rotation=y.fromAxisAngle(m,_.rotation[3]),C.scale=r.fromArray(_.scale))),o(v)?(v.children.push(C),C.parents.push(v)):n.push(C),(o(_.meshes)||o(_.instanceSkin))&&Ct(e,_,C,t);for(var S=_.children,w=S.length,E=0;w>E;++E)d.push({parentRuntimeNode:C,gltfNode:l[S[E]],id:S[E]})}e._runtime.rootNodes=n,e._runtime.nodes=a}}function wt(e,t){Z(e,t),Q(e,t),K(e,t),$(e,t),it(e),ot(e),at(e,t),st(e,t),gt(e,t),St(e,t)}function Et(e,t){var r=e.publicNode,i=r.matrix;r.useMatrix&&o(i)?g.clone(i,t):o(e.matrix)?g.clone(e.matrix,t):g.fromTranslationQuaternionRotationScale(e.translation,e.rotation,e.scale,t)}function xt(t,r,i){for(var n=t._maxDirtyNumber,o=t.allowPicking,a=t._runtime.rootNodes,s=a.length,l=zt,u=t._computedModelMatrix,c=0;s>c;++c){var h=a[c];for(Et(h,h.transformToRoot),l.push(h);l.length>0;){h=l.pop();var d=h.transformToRoot,m=h.commands;if(h.dirtyNumber===n||r||i){var p=m.length;if(p>0)for(var f=0;p>f;++f){var v=m[f],_=v.command;if(g.multiplyTransformation(u,d,_.modelMatrix),e.transform(v.boundingSphere,_.modelMatrix,_.boundingVolume),o){var y=v.pickCommand;g.clone(_.modelMatrix,y.modelMatrix),e.clone(_.boundingVolume,y.boundingVolume)}}else h.computedMatrix=g.multiplyTransformation(u,d,h.computedMatrix)}for(var C=h.children,S=C.length,w=0;S>w;++w){var E=C[w];E.dirtyNumber=Math.max(E.dirtyNumber,h.dirtyNumber),(E.dirtyNumber===n||i)&&(Et(E,E.transformToRoot),g.multiplyTransformation(d,E.transformToRoot,E.transformToRoot)),l.push(E)}}}++t._maxDirtyNumber}function bt(e){for(var t=e._runtime.skinnedNodes,r=t.length,i=0;r>i;++i){var n=t[i];Ft=g.inverseTransformation(n.transformToRoot,Ft);for(var a=n.computedJointMatrices,s=n.joints,l=n.bindShapeMatrix,u=n.inverseBindMatrices,c=u.length,h=0;c>h;++h)a[h]=g.multiplyTransformation(Ft,s[h].transformToRoot,a[h]),a[h]=g.multiplyTransformation(a[h],u[h],a[h]),o(l)&&(a[h]=g.multiplyTransformation(a[h],l,a[h]))}}function Tt(e,t){var r=e.id;if(e._id!==r){e._id=r;for(var i=e._pickIds,n=i.length,o=0;n>o;++o)t.getObjectByPickColor(i[o].color).id=r}}function At(e){if(e._debugWireframe!==e.debugWireframe){e._debugWireframe=e.debugWireframe;for(var t=e.debugWireframe?_.LINES:_.TRIANGLES,r=e._renderCommands,i=r.length,n=0;i>n;++n)r[n].primitiveType=t}}function Pt(e){for(var t in e)e.hasOwnProperty(t)&&e[t].destroy()}function Dt(e){for(var t in e)e.hasOwnProperty(t)&&e[t].release()}var Mt={NEEDS_LOAD:0,LOADING:1,LOADED:2,FAILED:3};B.prototype.finishedPendingLoads=function(){return 0===this.pendingBufferLoads&&0===this.pendingShaderLoads&&0===this.pendingTextureLoads},B.prototype.finishedResourceCreation=function(){return 0===this.buffersToCreate.length&&0===this.programsToCreate.length&&0===this.texturesToCreate.length},B.prototype.finishedBuffersCreation=function(){return 0===this.pendingBufferLoads&&0===this.buffersToCreate.length},B.prototype.finishedProgramCreation=function(){return 0===this.pendingShaderLoads&&0===this.programsToCreate.length},B.prototype.finishedTextureCreation=function(){return 0===this.pendingTextureLoads&&0===this.texturesToCreate.length};var It=function(e){e=a(e,a.EMPTY_OBJECT),this.gltf=N(e.gltf),this.basePath=a(e.basePath,""),this.show=a(e.show,!0),this.modelMatrix=g.clone(a(e.modelMatrix,g.IDENTITY)),this._modelMatrix=g.clone(this.modelMatrix),this.scale=a(e.scale,1),this._scale=this.scale,this.id=e.id,this._id=e.id,this.allowPicking=a(e.allowPicking,!0),this.readyToRender=new u,this.activeAnimations=new M(this),this.debugShowBoundingVolume=a(e.debugShowBoundingVolume,!1),this.debugWireframe=a(e.debugWireframe,!1),this._debugWireframe=!1,this._computedModelMatrix=new g,this._state=Mt.NEEDS_LOAD,this._loadError=void 0,this._loadResources=void 0,this._cesiumAnimationsDirty=!1,this._maxDirtyNumber=0,this._runtime={animations:void 0,rootNodes:void 0,nodes:void 0,nodesByName:void 0,skinnedNodes:void 0,meshesByName:void 0},this._rendererResources={buffers:{},vertexArrays:{},programs:{},pickPrograms:{},textures:{},samplers:{},renderStates:{},uniformMaps:{}},this._renderCommands=[],this._pickCommands=[],this._pickIds=[]};It.fromGltf=function(e){var t=e.url,r="",i=t.lastIndexOf("/");-1!==i&&(r=t.substring(0,i+1));var n=new It(e);return m(t,e.headers).then(function(e){n.gltf=N(JSON.parse(e)),n.basePath=r}),n},It.prototype.getNode=function(e){var t=this._runtime.nodesByName[e];return o(t)?t.publicNode:void 0},It.prototype.getMesh=function(e){return this._runtime.meshesByName[e]};var Ot=new r,Rt=[],Lt=new r;It.prototype.computeWorldBoundingSphere=function(t){o(t)||(t=new e),r.clone(r.ZERO,Ot),Rt.length=0;for(var i=Rt,n=this._renderCommands,a=n.length,s=0;a>s;++s){var l=n[s];r.add(l.boundingVolume.center,Ot,Ot),i.push(l.boundingVolume)}if(i.length>0){var u=0;for(a=i.length,r.divideByScalar(Ot,a,Ot),s=0;a>s;++s){var c=i[s],h=r.magnitudeSquared(r.subtract(c.center,Ot,Lt))+c.radius*c.radius;h>u&&(u=h)}r.clone(Ot,t.center),t.radius=Math.sqrt(u)}return t};var Nt={MODEL:function(e){return function(){return e.getModel()}},VIEW:function(e){return function(){return e.getView()}},PROJECTION:function(e){return function(){return e.getProjection()}},MODELVIEW:function(e){return function(){return e.getModelView()}},MODELVIEWPROJECTION:function(e){return function(){return e.getModelViewProjection()}},MODELINVERSE:function(e){return function(){return e.getInverseModel()}},VIEWINVERSE:function(e){return function(){return e.getInverseView()}},PROJECTIONINVERSE:function(e){return function(){return e.getInverseProjection()}},MODELVIEWINVERSE:function(e){return function(){return e.getInverseModelView()}},MODELVIEWPROJECTIONINVERSE:function(e){return function(){return e.getInverseModelViewProjection()}},MODELINVERSETRANSPOSE:function(e){return function(){return e.getInverseTranposeModel()}},MODELVIEWINVERSETRANSPOSE:function(e){return function(){return e.getNormal()}},VIEWPORT:function(e){return function(){return e.getViewportCartesian4()}}},Bt={};"undefined"!=typeof WebGLRenderingContext&&(Bt[WebGLRenderingContext.FLOAT]=lt,Bt[WebGLRenderingContext.FLOAT_VEC2]=ut,Bt[WebGLRenderingContext.FLOAT_VEC3]=ct,Bt[WebGLRenderingContext.FLOAT_VEC4]=ht,Bt[WebGLRenderingContext.INT]=lt,Bt[WebGLRenderingContext.INT_VEC2]=ut,Bt[WebGLRenderingContext.INT_VEC3]=ct,Bt[WebGLRenderingContext.INT_VEC4]=ht,Bt[WebGLRenderingContext.BOOL]=lt,Bt[WebGLRenderingContext.BOOL_VEC2]=ut,Bt[WebGLRenderingContext.BOOL_VEC3]=ct,Bt[WebGLRenderingContext.BOOL_VEC4]=ht,Bt[WebGLRenderingContext.FLOAT_MAT2]=dt,Bt[WebGLRenderingContext.FLOAT_MAT3]=mt,Bt[WebGLRenderingContext.FLOAT_MAT4]=pt,Bt[WebGLRenderingContext.SAMPLER_2D]=ft);var zt=[],Ft=new g;return It.prototype.update=function(e,t,r){if(t.mode===L.SCENE3D){this._state===Mt.NEEDS_LOAD&&o(this.gltf)&&(this._state=Mt.LOADING,this._loadResources=new B,X(this));var i=!1;if(this._state===Mt.FAILED)throw this._loadError;if(this._state===Mt.LOADING){wt(this,e);var n=this._loadResources;n.finishedPendingLoads()&&n.finishedResourceCreation()&&(this._state=Mt.LOADED,this._loadResources=void 0,i=!0)}if(this.show&&this._state===Mt.LOADED||i){var a=this.activeAnimations.update(t)||this._cesiumAnimationsDirty;this._cesiumAnimationsDirty=!1;var s=!g.equals(this._modelMatrix,this.modelMatrix)||this._scale!==this.scale;(s||i)&&(g.clone(this.modelMatrix,this._modelMatrix),this._scale=this.scale,g.multiplyByUniformScale(this.modelMatrix,this.scale,this._computedModelMatrix)),(a||s||i)&&(xt(this,s,i),(a||i)&&bt(this)),Tt(this,e),At(this)}if(i){var l=this;return t.afterRender.push(function(){l.readyToRender.raiseEvent(l)}),void 0}if(this.show){var u,c,h,d=t.passes;if(d.render)for(h=this._renderCommands,c=h.length,u=0;c>u;++u)r.push(h[u]);if(d.pick)for(h=this._pickCommands,c=h.length,u=0;c>u;++u)r.push(h[u])}}},It.prototype.isDestroyed=function(){return!1},It.prototype.destroy=function(){var e=this._rendererResources;Pt(e.buffers),Pt(e.vertexArrays),Dt(e.programs),Dt(e.pickPrograms),Pt(e.textures),e=void 0,this._rendererResources=void 0;for(var t=this._pickIds,r=t.length,i=0;r>i;++i)t[i].destroy();return s(this)},It}),r("DynamicScene/DynamicModelVisualizer",["../Core/Cartesian3","../Core/defaultValue","../Core/defined","../Core/destroyObject","../Core/DeveloperError","../Core/Matrix3","../Core/Matrix4","../Core/Quaternion","../Scene/Model"],function(e,t,r,i,n,o,a,s,l){"use strict";var u=new o,c=function(e,t){this._scene=e,this._primitives=e.primitives,this._modelCollection=[],this._dynamicObjectCollection=void 0,this.setDynamicObjectCollection(t)};return c.prototype.getScene=function(){return this._scene},c.prototype.getDynamicObjectCollection=function(){return this._dynamicObjectCollection},c.prototype.setDynamicObjectCollection=function(e){var t=this._dynamicObjectCollection;t!==e&&(r(t)&&(t.collectionChanged.removeEventListener(c.prototype._onObjectsRemoved,this),this.removeAllPrimitives()),this._dynamicObjectCollection=e,r(e)&&e.collectionChanged.addEventListener(c.prototype._onObjectsRemoved,this))},c.prototype.update=function(e){if(r(this._dynamicObjectCollection))for(var t=this._dynamicObjectCollection.getObjects(),i=0,n=t.length;n>i;i++)this._updateObject(e,t[i])},c.prototype.removeAllPrimitives=function(){if(r(this._dynamicObjectCollection))for(var e=this._dynamicObjectCollection.getObjects(),t=e.length-1;t>-1;t--){var i=e[t]._modelPrimitive;r(i)&&(this._primitives.remove(i),i.isDestroyed()||i.destroy(),i=void 0)}},c.prototype.isDestroyed=function(){return!1},c.prototype.destroy=function(){return this.removeAllPrimitives(),i(this)},c.prototype._updateObject=function(i,n){var c=this._scene.context,h=n.model;if(r(h)){var d=h._uri;if(r(d)){var m=n.position;if(r(m)){var p=n._modelPrimitive,f=h._show,v=n.isAvailable(i)&&(!r(f)||f.getValue(i)),g=d.getValue(i,c);if(!v||!r(g))return r(p)&&(p.show=!1),void 0;r(p)&&g===n._modelPrimitiveUri||(r(p)&&(this._primitives.remove(p),p.isDestroyed()||p.destroy()),p=l.fromGltf({url:g}),n._modelPrimitiveUri=g,p.id=n,p.scale=1,p._visualizerOrientation=s.clone(s.IDENTITY),this._primitives.add(p),n._modelPrimitive=p),p.show=!0;var _,y=t(m.getValue(i,y),p._visualizerPosition),C=n.orientation;_=r(C)?t(C.getValue(i,_),p._visualizerOrientation):p._visualizerOrientation,!r(y)||!r(_)||e.equals(y,p._visualizerPosition)&&s.equals(_,p._visualizerOrientation)||(a.fromRotationTranslation(o.fromQuaternion(_,u),y,p.modelMatrix),p._visualizerPosition=e.clone(y,p._visualizerPosition),p._visualizerOrientation=s.clone(_,p._visualizerOrientation));var S=h._scale;if(r(S)){var w=S.getValue(i);r(w)&&(p.scale=w)}}}}},c.prototype._onObjectsRemoved=function(e,t,i){for(var n=i.length-1;n>-1;n--){var o=i[n],a=o._modelPrimitive;r(a)&&(this._primitives.remove(a),a.isDestroyed()||a.destroy(),o._modelPrimitive=void 0)}},c}),r("Scene/Polyline",["../Core/defaultValue","../Core/defined","../Core/DeveloperError","../Core/BoundingSphere","../Core/Color","../Core/PolylinePipeline","../Core/Matrix4","../Core/Cartesian3","./Material"],function(e,t,r,i,n,o,a,s,l){"use strict";function u(e,r){++e._propertiesChanged[r];var i=e._polylineCollection;t(i)&&(i._updatePolyline(e,r),e._dirty=!0)}var c=function(r,u){r=e(r,e.EMPTY_OBJECT),this._show=e(r.show,!0),this._width=e(r.width,1),this._loop=e(r.loop,!1),this._material=r.material,t(this._material)||(this._material=l.fromType(l.ColorType,{color:new n(1,1,1,1)}));var c=r.positions;t(c)||(c=[]),this._positions=c,this._loop&&c.length>2&&!s.equals(c[0],c[c.length-1])&&c.push(s.clone(c[0])),this._length=c.length,this._id=r.id;var h;t(u)&&(h=a.clone(u.modelMatrix)),this._modelMatrix=h,this._segments=o.wrapLongitude(c,h),this._actualLength=void 0,this._propertiesChanged=new Uint32Array(v),this._polylineCollection=u,this._dirty=!1,this._pickId=void 0,this._pickIdThis=r._pickIdThis,this._boundingVolume=i.fromPoints(this._positions),this._boundingVolumeWC=i.transform(this._boundingVolume,this._modelMatrix),this._boundingVolume2D=new i +},h=c.SHOW_INDEX=0,d=c.WIDTH_INDEX=1,m=c.POSITION_INDEX=2,p=c.MATERIAL_INDEX=3,f=c.POSITION_SIZE_INDEX=4,v=c.NUMBER_OF_PROPERTIES=5;return c.prototype.getShow=function(){return this._show},c.prototype.setShow=function(e){e!==this._show&&(this._show=e,u(this,h))},c.prototype.getPositions=function(){return this._positions},c.prototype.setPositions=function(e){this._loop&&e.length>2&&!s.equals(e[0],e[e.length-1])&&e.push(s.clone(e[0])),(this._positions.length!==e.length||this._positions.length!==this._length)&&u(this,f),this._positions=e,this._length=e.length,this._boundingVolume=i.fromPoints(this._positions,this._boundingVolume),this._boundingVolumeWC=i.transform(this._boundingVolume,this._modelMatrix,this._boundingVolumeWC),u(this,m),this.update()},c.prototype.update=function(){var e=a.IDENTITY;t(this._polylineCollection)&&(e=this._polylineCollection.modelMatrix);var r=this._segments.positions.length,n=this._segments.lengths,s=this._propertiesChanged[m]>0||this._propertiesChanged[f]>0;if((!a.equals(e,this._modelMatrix)||s)&&(this._segments=o.wrapLongitude(this._positions,e),this._boundingVolumeWC=i.transform(this._boundingVolume,e,this._boundingVolumeWC)),this._modelMatrix=e,this._segments.positions.length!==r)u(this,f);else for(var l=n.length,c=0;l>c;++c)if(n[c]!==this._segments.lengths[c]){u(this,f);break}},c.prototype.getMaterial=function(){return this._material},c.prototype.setMaterial=function(e){this._material!==e&&(this._material=e,u(this,p))},c.prototype.getWidth=function(){return this._width},c.prototype.setWidth=function(e){var t=this._width;e!==t&&(this._width=e,u(this,d))},c.prototype.getLoop=function(){return this._loop},c.prototype.setLoop=function(e){if(e!==this._loop){var t=this._positions;e?t.length>2&&!s.equals(t[0],t[t.length-1])&&t.push(s.clone(t[0])):t.length>2&&s.equals(t[0],t[t.length-1])&&t.pop(),this._loop=e,u(this,f)}},c.prototype.getId=function(){return this._id},c.prototype.getPickId=function(r){return t(this._pickId)||(this._pickId=r.createPickId({primitive:e(this._pickIdThis,this),collection:this._polylineCollection,id:this._id})),this._pickId},c.prototype._clean=function(){this._dirty=!1;for(var e=this._propertiesChanged,t=0;v-1>t;++t)e[t]=0},c.prototype._destroy=function(){this._pickId=this._pickId&&this._pickId.destroy(),this._material=this._material&&this._material.destroy(),this._polylineCollection=void 0},c}),r("Shaders/PolylineCommon",[],function(){"use strict";return"const vec2 czm_highResolutionSnapScale = vec2(1.0, 1.0);\nvoid clipLineSegmentToNearPlane(\nvec3 p0,\nvec3 p1,\nout vec4 positionWC,\nout bool clipped,\nout bool culledByNearPlane)\n{\nculledByNearPlane = false;\nclipped = false;\nvec3 p1ToP0 = p1 - p0;\nfloat magnitude = length(p1ToP0);\nvec3 direction = normalize(p1ToP0);\nfloat endPoint0Distance = -(czm_currentFrustum.x + p0.z);\nfloat denominator = -direction.z;\nif (endPoint0Distance < 0.0 && abs(denominator) < czm_epsilon7)\n{\nculledByNearPlane = true;\n}\nelse if (endPoint0Distance < 0.0 && abs(denominator) > czm_epsilon7)\n{\nfloat t = (czm_currentFrustum.x + p0.z) / denominator;\nif (t < 0.0 || t > magnitude)\n{\nculledByNearPlane = true;\n}\nelse\n{\np0 = p0 + t * direction;\nclipped = true;\n}\n}\npositionWC = czm_eyeToWindowCoordinates(vec4(p0, 1.0));\n}\nvec4 getPolylineWindowCoordinates(vec4 position, vec4 previous, vec4 next, float expandDirection, float width, bool usePrevious) {\nvec4 endPointWC, p0, p1;\nbool culledByNearPlane, clipped;\nvec4 positionEC = czm_modelViewRelativeToEye * position;\nvec4 prevEC = czm_modelViewRelativeToEye * previous;\nvec4 nextEC = czm_modelViewRelativeToEye * next;\nclipLineSegmentToNearPlane(prevEC.xyz, positionEC.xyz, p0, clipped, culledByNearPlane);\nclipLineSegmentToNearPlane(nextEC.xyz, positionEC.xyz, p1, clipped, culledByNearPlane);\nclipLineSegmentToNearPlane(positionEC.xyz, usePrevious ? prevEC.xyz : nextEC.xyz, endPointWC, clipped, culledByNearPlane);\nif (culledByNearPlane)\n{\nreturn vec4(0.0, 0.0, 0.0, 1.0);\n}\nvec2 prevWC = normalize(p0.xy - endPointWC.xy);\nvec2 nextWC = normalize(p1.xy - endPointWC.xy);\nfloat expandWidth = width * 0.5;\nvec2 direction;\nif (czm_equalsEpsilon(normalize(previous.xyz - position.xyz), vec3(0.0), czm_epsilon1) || czm_equalsEpsilon(prevWC, -nextWC, czm_epsilon1))\n{\ndirection = vec2(-nextWC.y, nextWC.x);\n}\nelse if (czm_equalsEpsilon(normalize(next.xyz - position.xyz), vec3(0.0), czm_epsilon1) || clipped)\n{\ndirection = vec2(prevWC.y, -prevWC.x);\n}\nelse\n{\nvec2 normal = vec2(-nextWC.y, nextWC.x);\ndirection = normalize((nextWC + prevWC) * 0.5);\nif (dot(direction, normal) < 0.0)\n{\ndirection = -direction;\n}\nfloat sinAngle = abs(direction.x * nextWC.y - direction.y * nextWC.x);\nexpandWidth = clamp(expandWidth / sinAngle, 0.0, width * 2.0);\n}\nvec2 offset = direction * expandDirection * expandWidth * czm_highResolutionSnapScale;\nreturn vec4(endPointWC.xy + offset, -endPointWC.z, 1.0);\n}\n"}),r("Shaders/PolylineVS",[],function(){"use strict";return"attribute vec3 position3DHigh;\nattribute vec3 position3DLow;\nattribute vec3 position2DHigh;\nattribute vec3 position2DLow;\nattribute vec3 prevPosition3DHigh;\nattribute vec3 prevPosition3DLow;\nattribute vec3 prevPosition2DHigh;\nattribute vec3 prevPosition2DLow;\nattribute vec3 nextPosition3DHigh;\nattribute vec3 nextPosition3DLow;\nattribute vec3 nextPosition2DHigh;\nattribute vec3 nextPosition2DLow;\nattribute vec4 texCoordExpandWidthAndShow;\nattribute vec4 pickColor;\nvarying vec2 v_st;\nvarying float v_width;\nvarying vec4 czm_pickColor;\nvoid main()\n{\nfloat texCoord = texCoordExpandWidthAndShow.x;\nfloat expandDir = texCoordExpandWidthAndShow.y;\nfloat width = abs(texCoordExpandWidthAndShow.z) + 0.5;\nbool usePrev = texCoordExpandWidthAndShow.z < 0.0;\nfloat show = texCoordExpandWidthAndShow.w;\nvec4 p, prev, next;\nif (czm_morphTime == 1.0)\n{\np = czm_translateRelativeToEye(position3DHigh.xyz, position3DLow.xyz);\nprev = czm_translateRelativeToEye(prevPosition3DHigh.xyz, prevPosition3DLow.xyz);\nnext = czm_translateRelativeToEye(nextPosition3DHigh.xyz, nextPosition3DLow.xyz);\n}\nelse if (czm_morphTime == 0.0)\n{\np = czm_translateRelativeToEye(position2DHigh.zxy, position2DLow.zxy);\nprev = czm_translateRelativeToEye(prevPosition2DHigh.zxy, prevPosition2DLow.zxy);\nnext = czm_translateRelativeToEye(nextPosition2DHigh.zxy, nextPosition2DLow.zxy);\n}\nelse\n{\np = czm_columbusViewMorph(\nczm_translateRelativeToEye(position2DHigh.zxy, position2DLow.zxy),\nczm_translateRelativeToEye(position3DHigh.xyz, position3DLow.xyz),\nczm_morphTime);\nprev = czm_columbusViewMorph(\nczm_translateRelativeToEye(prevPosition2DHigh.zxy, prevPosition2DLow.zxy),\nczm_translateRelativeToEye(prevPosition3DHigh.xyz, prevPosition3DLow.xyz),\nczm_morphTime);\nnext = czm_columbusViewMorph(\nczm_translateRelativeToEye(nextPosition2DHigh.zxy, nextPosition2DLow.zxy),\nczm_translateRelativeToEye(nextPosition3DHigh.xyz, nextPosition3DLow.xyz),\nczm_morphTime);\n}\nvec4 positionWC = getPolylineWindowCoordinates(p, prev, next, expandDir, width, usePrev);\ngl_Position = czm_viewportOrthographic * positionWC * show;\nv_st = vec2(texCoord, clamp(expandDir, 0.0, 1.0));\nv_width = width;\nczm_pickColor = pickColor;\n}\n"}),r("Shaders/PolylineFS",[],function(){"use strict";return"varying vec2 v_st;\nvoid main()\n{\nczm_materialInput materialInput;\nmaterialInput.s = v_st.s;\nmaterialInput.st = v_st;\nmaterialInput.str = vec3(v_st, 0.0);\nczm_material material = czm_getMaterial(materialInput);\ngl_FragColor = vec4(material.diffuse + material.emission, material.alpha);\n}\n"}),r("Scene/PolylineCollection",["../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/DeveloperError","../Core/Color","../Core/destroyObject","../Core/Cartesian3","../Core/Cartesian4","../Core/EncodedCartesian3","../Core/Matrix4","../Core/Math","../Core/ComponentDatatype","../Core/IndexDatatype","../Core/PrimitiveType","../Core/BoundingSphere","../Core/Intersect","../Renderer/BlendingState","../Renderer/BufferUsage","../Renderer/DrawCommand","../Renderer/createShaderSource","../Renderer/Pass","./Material","./SceneMode","./Polyline","../Shaders/PolylineCommon","../Shaders/PolylineVS","../Shaders/PolylineFS"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f,v,g,_,y,C,S,w,E,x,b,T){"use strict";function A(e,r,i,n,o,a,s){for(var l=n.length,u=0,c=!0,h=e._vertexArrays,d=e.debugShowBoundingVolume,f=h.length,v=0;f>v;++v)for(var g=h[v],y=g.buckets,S=y.length,E=0;S>E;++E){for(var x,b,T,A=y[E],P=A.offset,D=s?A.bucket.shaderProgram:A.bucket.pickShaderProgram,I=A.bucket.polylines,O=I.length,R=0,L=0;O>L;++L){var N=I[L],B=M(N._material);if(B!==x){if(t(x)&&R>0){var z=b.isTranslucent();u>=l?(T=new _,T.owner=e,n.push(T)):T=n[u],++u,T.boundingVolume=p.clone(Y,T.boundingVolume),T.modelMatrix=a,T.primitiveType=m.TRIANGLES,T.shaderProgram=D,T.vertexArray=g.va,T.renderState=z?e._translucentRS:e._opaqueRS,T.pass=z?C.TRANSLUCENT:C.OPAQUE,T.debugShowBoundingVolume=s?d:!1,T.uniformMap=b._uniforms,T.count=R,T.offset=P,P+=R,R=0,c=!0,o.push(T)}b=N._material,b.update(r),x=B}for(var F=N._locatorBuckets,V=F.length,k=0;V>k;++k){var U=F[k];U.locator===A&&(R+=U.count)}var W;i.mode===w.SCENE3D?W=N._boundingVolumeWC:i.mode===w.COLUMBUS_VIEW?W=N._boundingVolume2D:i.mode===w.SCENE2D?t(N._boundingVolume2D)&&(W=p.clone(N._boundingVolume2D,X),W.center.x=0):t(N._boundingVolumeWC)&&t(N._boundingVolume2D)&&(W=p.union(N._boundingVolumeWC,N._boundingVolume2D,X)),c?(c=!1,p.clone(W,Y)):p.union(W,Y,Y)}t(x)&&R>0&&(u>=l?(T=new _,T.owner=e,n.push(T)):T=n[u],++u,T.boundingVolume=p.clone(Y,T.boundingVolume),T.modelMatrix=a,T.primitiveType=m.TRIANGLES,T.shaderProgram=D,T.vertexArray=g.va,T.renderState=b.isTranslucent()?e._translucentRS:e._opaqueRS,T.pass=b.isTranslucent()?C.TRANSLUCENT:C.OPAQUE,T.debugShowBoundingVolume=s?d:!1,T.uniformMap=b._uniforms,T.count=R,T.offset=P,c=!0,o.push(T)),x=void 0}n.length=u}function P(e){for(var t=e._buffersUsage,r=!1,i=e._propertiesChanged,n=0;H-2>n;++n){var o=t[n];i[n]?o.bufferUsage!==g.STREAM_DRAW?(r=!0,o.bufferUsage=g.STREAM_DRAW,o.frameCount=100):o.frameCount=100:o.bufferUsage!==g.STATIC_DRAW&&(0===o.frameCount?(r=!0,o.bufferUsage=g.STATIC_DRAW):o.frameCount--)}return r}function D(e,r){e._createVertexArray=!1,L(e),N(e),I(e);var i,n,o=[[]],a=o[0],s=[0],l=0,u=[[]],m=0,p=e._polylineBuckets;for(i in p)p.hasOwnProperty(i)&&(n=p[i],n.updateShader(r),m+=n.lengthOfPositions);if(m>0){var f,v=e._mode,_=new Float32Array(3*6*m),y=new Uint8Array(4*m),C=new Float32Array(4*m),S=0,E=0,x=0;for(i in p)if(p.hasOwnProperty(i)){n=p[i],n.write(_,y,C,S,E,x,r),v===w.MORPHING&&(t(f)||(f=new Float32Array(3*6*m)),n.writeForMorph(f,S));var b=n.lengthOfPositions;S+=3*6*b,E+=4*b,x+=4*b,l=n.updateIndices(o,s,u,l)}var T=e._buffersUsage[U].bufferUsage,A=e._buffersUsage[V].bufferUsage,P=e._buffersUsage[k].bufferUsage,D=A===g.STREAM_DRAW||P===g.STREAM_DRAW?g.STREAM_DRAW:g.STATIC_DRAW;e._positionBuffer=r.createVertexBuffer(_,T);var M;t(f)&&(M=r.createVertexBuffer(f,T)),e._pickColorBuffer=r.createVertexBuffer(y,g.STATIC_DRAW),e._texCoordExpandWidthAndShowBuffer=r.createVertexBuffer(C,D);for(var O=4*Uint8Array.BYTES_PER_ELEMENT,R=3*Float32Array.BYTES_PER_ELEMENT,B=4*Float32Array.BYTES_PER_ELEMENT,z=0,F=o.length,W=0;F>W;++W)if(a=o[W],a.length>0){var G=new Uint16Array(a),H=r.createIndexBuffer(G,g.STATIC_DRAW,d.UNSIGNED_SHORT);z+=s[W];var q,Y,X,J,Q=6*(W*R*c.SIXTY_FOUR_KILOBYTES-z*R),K=R+Q,$=R+K,et=R+$,tt=R+et,rt=R+tt,it=W*O*c.SIXTY_FOUR_KILOBYTES-z*O,nt=W*B*c.SIXTY_FOUR_KILOBYTES-z*B,ot=[{index:j.position3DHigh,componentsPerAttribute:3,componentDatatype:h.FLOAT,offsetInBytes:Q,strideInBytes:6*R},{index:j.position3DLow,componentsPerAttribute:3,componentDatatype:h.FLOAT,offsetInBytes:K,strideInBytes:6*R},{index:j.position2DHigh,componentsPerAttribute:3,componentDatatype:h.FLOAT,offsetInBytes:Q,strideInBytes:6*R},{index:j.position2DLow,componentsPerAttribute:3,componentDatatype:h.FLOAT,offsetInBytes:K,strideInBytes:6*R},{index:j.prevPosition3DHigh,componentsPerAttribute:3,componentDatatype:h.FLOAT,offsetInBytes:$,strideInBytes:6*R},{index:j.prevPosition3DLow,componentsPerAttribute:3,componentDatatype:h.FLOAT,offsetInBytes:et,strideInBytes:6*R},{index:j.prevPosition2DHigh,componentsPerAttribute:3,componentDatatype:h.FLOAT,offsetInBytes:$,strideInBytes:6*R},{index:j.prevPosition2DLow,componentsPerAttribute:3,componentDatatype:h.FLOAT,offsetInBytes:et,strideInBytes:6*R},{index:j.nextPosition3DHigh,componentsPerAttribute:3,componentDatatype:h.FLOAT,offsetInBytes:tt,strideInBytes:6*R},{index:j.nextPosition3DLow,componentsPerAttribute:3,componentDatatype:h.FLOAT,offsetInBytes:rt,strideInBytes:6*R},{index:j.nextPosition2DHigh,componentsPerAttribute:3,componentDatatype:h.FLOAT,offsetInBytes:tt,strideInBytes:6*R},{index:j.nextPosition2DLow,componentsPerAttribute:3,componentDatatype:h.FLOAT,offsetInBytes:rt,strideInBytes:6*R},{index:j.texCoordExpandWidthAndShow,componentsPerAttribute:4,componentDatatype:h.FLOAT,vertexBuffer:e._texCoordExpandWidthAndShowBuffer,offsetInBytes:nt},{index:j.pickColor,componentsPerAttribute:4,componentDatatype:h.UNSIGNED_BYTE,vertexBuffer:e._pickColorBuffer,offsetInBytes:it,normalize:!0}];v===w.SCENE3D?(q=e._positionBuffer,Y="vertexBuffer",X=Z,J="value"):v===w.SCENE2D||v===w.COLUMBUS_VIEW?(q=Z,Y="value",X=e._positionBuffer,J="vertexBuffer"):(q=M,Y="vertexBuffer",X=e._positionBuffer,J="vertexBuffer"),ot[0][Y]=q,ot[1][Y]=q,ot[2][J]=X,ot[3][J]=X,ot[4][Y]=q,ot[5][Y]=q,ot[6][J]=X,ot[7][J]=X,ot[8][Y]=q,ot[9][Y]=q,ot[10][J]=X,ot[11][J]=X;var at=r.createVertexArray(ot,H);e._vertexArrays.push({va:at,buckets:u[W]})}}}function M(e){var t=S._uniformList[e.type],r=t.length;J.length=2*r;for(var i=0,n=0;r>n;++n){var o=t[n];J[i]=o,J[i+1]=e._uniforms[o](),i+=2}return e.type+":"+JSON.stringify(J)}function I(e){for(var r=e._mode,i=e._projection,n=e._modelMatrix,o=e._polylineBuckets={},a=e._polylines,s=a.length,l=0;s>l;++l){var u=a[l];if(u.getPositions().length>1){u.update();var c=u.getMaterial(),h=o[c.type];t(h)||(h=o[c.type]=new Q(c,r,i,n)),h.addPolyline(u)}}}function O(e,t){var r=t.mode,i=t.scene2D.projection;e._mode===r&&e._projection===i&&u.equals(e._modelMatrix,e.modelMatrix)||(e._mode=r,e._projection=i,e._modelMatrix=u.clone(e.modelMatrix),e._createVertexArray=!0)}function R(e){if(e._polylinesRemoved){e._polylinesRemoved=!1;for(var r=[],i=e._polylines.length,n=0,o=0;i>n;++n){var a=e._polylines[n];t(a)&&(a._index=o++,r.push(a))}e._polylines=r}}function L(e){for(var r=e._polylines,i=r.length,n=0;i>n;++n)if(t(r[n])){var o=r[n]._bucket;t(o)&&(o.shaderProgram=o.shaderProgram&&o.shaderProgram.release())}}function N(e){for(var t=e._vertexArrays.length,r=0;t>r;++r)e._vertexArrays[r].va.destroy();e._vertexArrays.length=0}function B(e){for(var r=e._polylines,i=r.length,n=0;i>n;++n)t(r[n])&&r[n]._destroy()}function z(e,t,r){this.count=e,this.offset=t,this.bucket=r}function F(e){return a.dot(a.UNIT_X,e._boundingVolume.center)<0||e._boundingVolume.intersect(s.UNIT_Y)===f.INTERSECTING}var V=E.SHOW_INDEX,k=E.WIDTH_INDEX,U=E.POSITION_INDEX,W=E.MATERIAL_INDEX,G=E.POSITION_SIZE_INDEX,H=E.NUMBER_OF_PROPERTIES,j={texCoordExpandWidthAndShow:0,position3DHigh:1,position3DLow:2,position2DHigh:3,position2DLow:4,prevPosition3DHigh:5,prevPosition3DLow:6,prevPosition2DHigh:7,prevPosition2DLow:8,nextPosition3DHigh:9,nextPosition3DLow:10,nextPosition2DHigh:11,nextPosition2DLow:12,pickColor:13},q=function(t){t=e(t,e.EMPTY_OBJECT),this.modelMatrix=u.clone(e(t.modelMatrix,u.IDENTITY)),this._modelMatrix=u.clone(u.IDENTITY),this.debugShowBoundingVolume=e(t.debugShowBoundingVolume,!1),this._opaqueRS=void 0,this._translucentRS=void 0,this._colorCommands=[],this._pickCommands=[],this._polylinesUpdated=!1,this._polylinesRemoved=!1,this._createVertexArray=!1,this._propertiesChanged=new Uint32Array(H),this._polylines=[],this._polylineBuckets={},this._buffersUsage=[{bufferUsage:g.STATIC_DRAW,frameCount:0},{bufferUsage:g.STATIC_DRAW,frameCount:0},{bufferUsage:g.STATIC_DRAW,frameCount:0}],this._mode=void 0,this._polylinesToUpdate=[],this._vertexArrays=[],this._positionBuffer=void 0,this._pickColorBuffer=void 0,this._texCoordExpandWidthAndShowBuffer=void 0};r(q.prototype,{length:{get:function(){return R(this),this._polylines.length}}}),q.prototype.add=function(e){var t=new E(e,this);return t._index=this._polylines.length,this._polylines.push(t),this._createVertexArray=!0,t},q.prototype.remove=function(e){if(this.contains(e)){if(this._polylines[e._index]=void 0,this._polylinesRemoved=!0,this._createVertexArray=!0,t(e._bucket)){var r=e._bucket;r.shaderProgram=r.shaderProgram&&r.shaderProgram.release(),r.pickShaderProgram=r.pickShaderProgram&&r.pickShaderProgram.release()}return e._destroy(),!0}return!1},q.prototype.removeAll=function(){L(this),B(this),this._polylineBuckets={},this._polylinesRemoved=!1,this._polylines.length=0,this._polylinesToUpdate.length=0,this._createVertexArray=!0},q.prototype.contains=function(e){return t(e)&&e._polylineCollection===this},q.prototype.get=function(e){return R(this),this._polylines[e]},q.prototype.update=function(e,r,i){if(R(this),0!==this._polylines.length){O(this,r);var n,o=this._propertiesChanged;if(this._createVertexArray||P(this))D(this,e);else if(this._polylinesUpdated){var a=this._polylinesToUpdate;if(this._mode!==w.SCENE3D)for(var s=a.length,l=0;s>l;++l)n=a[l],n.update();if(o[G]||o[W])D(this,e);else for(var c=a.length,h=this._polylineBuckets,d=0;c>d;++d){n=a[d],o=n._propertiesChanged;var m=n._bucket,p=0;for(var f in h)if(h.hasOwnProperty(f)){if(h[f]===m){(o[U]||o[V]||o[k])&&m.writeUpdate(p,n,this._positionBuffer,this._texCoordExpandWidthAndShowBuffer);break}p+=h[f].lengthOfPositions}n._clean()}a.length=0,this._polylinesUpdated=!1}o=this._propertiesChanged;for(var g=0;H>g;++g)o[g]=0;var _=u.IDENTITY;r.mode===w.SCENE3D&&(_=this.modelMatrix);var y=r.passes,C=0!==r.morphTime;if(t(this._opaqueRS)&&this._opaqueRS.depthTest.enabled===C||(this._opaqueRS=e.createRenderState({depthMask:C,depthTest:{enabled:C}})),t(this._translucentRS)&&this._translucentRS.depthTest.enabled===C||(this._translucentRS=e.createRenderState({blending:v.ALPHA_BLEND,depthMask:!C,depthTest:{enabled:C}})),y.render){var S=this._colorCommands;A(this,e,r,S,i,_,!0)}if(y.pick){var E=this._pickCommands;A(this,e,r,E,i,_,!1)}}};var Y=new p,X=new p;q.prototype.isDestroyed=function(){return!1},q.prototype.destroy=function(){return N(this),L(this),B(this),o(this)};var Z=[0,0,0],J=[];q.prototype._updatePolyline=function(e,t){this._polylinesUpdated=!0,this._polylinesToUpdate.push(e),++this._propertiesChanged[t]};var Q=function(e,t,r,i){this.polylines=[],this.lengthOfPositions=0,this.material=e,this.shaderProgram=void 0,this.pickShaderProgram=void 0,this.mode=t,this.projection=r,this.ellipsoid=r.ellipsoid,this.modelMatrix=i};Q.prototype.addPolyline=function(e){var t=this.polylines;t.push(e),e._actualLength=this.getPolylinePositionsLength(e),this.lengthOfPositions+=e._actualLength,e._bucket=this},Q.prototype.updateShader=function(e){if(!t(this.shaderProgram)){var r=y({sources:[x,b]}),i=y({sources:[this.material.shaderSource,T]}),n=y({sources:[i],pickColorQualifier:"varying"});this.shaderProgram=e.getShaderCache().getShaderProgram(r,i,j),this.pickShaderProgram=e.getShaderCache().getShaderProgram(r,n,j)}},Q.prototype.getPolylinePositionsLength=function(e){var t;if(this.mode===w.SCENE3D||!F(e))return t=e.getPositions().length,4*t-4;var r=0,i=e._segments.lengths;t=i.length;for(var n=0;t>n;++n)r+=4*i[n]-4;return r};var K=new a,$=new a,et=new a,tt=new a;Q.prototype.write=function(e,t,r,i,o,s,u){for(var c=this.mode,h=this.polylines,d=h.length,m=0;d>m;++m)for(var p,f=h[m],v=f.getWidth(),g=f.getShow()&&v>0,_=this.getSegments(f),y=_.positions,C=_.lengths,S=y.length,E=f.getPickId(u).color,x=0,b=0,T=0;S>T;++T){0===T?f._loop?p=y[S-2]:(p=tt,a.subtract(y[0],y[1],p),a.add(y[0],p,p)):p=y[T-1],$.x=p.x,$.y=p.y,$.z=c!==w.SCENE2D?p.z:0,p=y[T],K.x=p.x,K.y=p.y,K.z=c!==w.SCENE2D?p.z:0,T===S-1?f._loop?p=y[1]:(p=tt,a.subtract(y[S-1],y[S-2],p),a.add(y[S-1],p,p)):p=y[T+1],et.x=p.x,et.y=p.y,et.z=c!==w.SCENE2D?p.z:0;var A=C[x];T===b+A&&(b+=A,++x);for(var P=0===T-b,D=T===b+C[x]-1,M=P?2:0,I=D?2:4,O=M;I>O;++O){l.writeElements(K,e,i),l.writeElements($,e,i+6),l.writeElements(et,e,i+12),t[o]=n.floatToByte(E.red),t[o+1]=n.floatToByte(E.green),t[o+2]=n.floatToByte(E.blue),t[o+3]=n.floatToByte(E.alpha);var R=0>O-2?-1:1;r[s]=T/(S-1),r[s+1]=2*(O%2)-1,r[s+2]=R*v,r[s+3]=g,i+=18,o+=4,s+=4}}};var rt=new a,it=new a,nt=new a,ot=new a;Q.prototype.writeForMorph=function(e,t){for(var r=this.modelMatrix,i=this.polylines,n=i.length,o=0;n>o;++o)for(var s=i[o],c=s._segments.positions,h=s._segments.lengths,d=c.length,m=0,p=0,f=0;d>f;++f){var v;0===f?s._loop?v=c[d-2]:(v=ot,a.subtract(c[0],c[1],v),a.add(c[0],v,v)):v=c[f-1],v=u.multiplyByPoint(r,v,it);var g,_=u.multiplyByPoint(r,c[f],rt);f===d-1?s._loop?g=c[1]:(g=ot,a.subtract(c[d-1],c[d-2],g),a.add(c[d-1],g,g)):g=c[f+1],g=u.multiplyByPoint(r,g,nt);var y=h[m];f===p+y&&(p+=y,++m);for(var C=0===f-p,S=f===p+h[m]-1,w=C?2:0,E=S?2:4,x=w;E>x;++x)l.writeElements(_,e,t),l.writeElements(v,e,t+6),l.writeElements(g,e,t+12),t+=18}};var at=new Array(1);Q.prototype.updateIndices=function(e,t,r,i){var n=r.length-1,o=new z(0,i,this);r[n].push(o);var a=0,s=e[e.length-1],l=0;s.length>0&&(l=s[s.length-1]+1);for(var u=this.polylines,h=u.length,d=0;h>d;++d){var m=u[d];m._locatorBuckets=[];var p;if(this.mode===w.SCENE3D){p=at;var f=m.getPositions().length;if(!(f>0))continue;p[0]=f}else p=m._segments.lengths;var v=p.length;if(v>0){for(var g=0,_=0;v>_;++_)for(var y=p[_]-1,C=0;y>C;++C)l+4>=c.SIXTY_FOUR_KILOBYTES-1&&(m._locatorBuckets.push({locator:o,count:g}),g=0,t.push(4),s=[],e.push(s),l=0,o.count=a,a=0,i=0,o=new z(0,0,this),r[++n]=[o]),s.push(l,l+2,l+1),s.push(l+1,l+2,l+3),g+=6,a+=6,i+=6,l+=4;m._locatorBuckets.push({locator:o,count:g}),l+4>=c.SIXTY_FOUR_KILOBYTES-1&&(t.push(0),s=[],e.push(s),l=0,o.count=a,i=0,a=0,o=new z(0,0,this),r[++n]=[o])}m._clean()}return o.count=a,i},Q.prototype.getPolylineStartIndex=function(e){for(var t=this.polylines,r=0,i=t.length,n=0;i>n;++n){var o=t[n];if(o===e)break;r+=o._actualLength}return r};var st={positions:void 0,lengths:void 0},lt=new Array(1);Q.prototype.getSegments=function(e){var t=e.getPositions();if(this.mode===w.SCENE3D)return lt[0]=t.length,st.positions=t,st.lengths=lt,st;F(e)&&(t=e._segments.positions);for(var r,i,n=this.ellipsoid,o=this.projection,s=[],l=this.modelMatrix,c=t.length,h=0;c>h;++h)r=t[h],i=u.multiplyByPoint(l,r),s.push(o.project(n.cartesianToCartographic(i)));if(s.length>0){e._boundingVolume2D=p.fromPoints(s,e._boundingVolume2D);var d=e._boundingVolume2D.center;e._boundingVolume2D.center=new a(d.z,d.x,d.y)}return st.positions=s,st.lengths=e._segments.lengths,st};var ut,ct;return Q.prototype.writeUpdate=function(e,r,i,n){var o=this.mode,s=r._actualLength;if(s){e+=this.getPolylineStartIndex(r);var u=ut,c=ct,h=3*6*s;!t(u)||u.lengthh&&(u=new Float32Array(u.buffer,0,h),c=new Float32Array(c.buffer,0,4*s));var d,m=0,p=0,f=this.getSegments(r),v=f.positions,g=f.lengths,_=0,y=0,C=r.getWidth(),S=r.getShow()&&C>0;s=v.length;for(var E=0;s>E;++E){0===E?r._loop?d=v[s-2]:(d=tt,a.subtract(v[0],v[1],d),a.add(v[0],d,d)):d=v[E-1],$.x=d.x,$.y=d.y,$.z=o!==w.SCENE2D?d.z:0,d=v[E],K.x=d.x,K.y=d.y,K.z=o!==w.SCENE2D?d.z:0,E===s-1?r._loop?d=v[1]:(d=tt,a.subtract(v[s-1],v[s-2],d),a.add(v[s-1],d,d)):d=v[E+1],et.x=d.x,et.y=d.y,et.z=o!==w.SCENE2D?d.z:0;var x=g[_];E===y+x&&(y+=x,++_);for(var b=0===E-y,T=E===y+g[_]-1,A=b?2:0,P=T?2:4,D=A;P>D;++D){l.writeElements(K,u,m),l.writeElements($,u,m+6),l.writeElements(et,u,m+12);var M=0>D-2?-1:1;c[p]=E/(s-1),c[p+1]=2*(D%2)-1,c[p+2]=M*C,c[p+3]=S,m+=18,p+=4}}i.copyFromArrayView(u,18*Float32Array.BYTES_PER_ELEMENT*e),n.copyFromArrayView(c,4*Float32Array.BYTES_PER_ELEMENT*e)}},q}),r("DynamicScene/DynamicPathVisualizer",["../Core/defined","../Core/DeveloperError","../Core/destroyObject","../Core/Cartesian3","../Core/Matrix3","../Core/Matrix4","../Core/Color","../Core/Transforms","../Core/ReferenceFrame","./SampledPositionProperty","./CompositePositionProperty","./TimeIntervalCollectionPositionProperty","../Scene/Material","../Scene/SceneMode","../Scene/PolylineCollection"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p){"use strict";function f(t,r,i,n,o,a,s,l){var u,c=t._property._times,h=s;u=t.getValueInReferenceFrame(r,o,l[h]),e(u)&&(l[h++]=u);for(var d,m,p,f=!e(n)||n.lessThanOrEquals(r)||n.greaterThanOrEquals(i),v=0,g=c.length,_=c[v],y=i,C=!1;g>v;){if(!f&&_.greaterThanOrEquals(n)&&(u=t.getValueInReferenceFrame(n,o,l[h]),e(u)&&(l[h++]=u),f=!0),_.greaterThan(r)&&_.lessThan(y)&&!_.equals(n)&&(u=t.getValueInReferenceFrame(_,o,l[h]),e(u)&&(l[h++]=u)),g-1>v){if(!C){var S=c[v+1],w=_.getSecondsDifference(S);C=w>a,C&&(d=Math.floor(w/a),m=0,p=w/Math.max(d,2),d=Math.max(d-2,1))}if(C&&d>m){_=_.addSeconds(p),m++;continue}}C=!1,v++,_=c[v]}return u=t.getValueInReferenceFrame(i,o,l[h]),e(u)&&(l[h++]=u),h}function v(t,r,i,n,o,a,s,l){for(var u,c=0,h=s,d=r,m=!e(n)||n.lessThanOrEquals(r)||n.greaterThanOrEquals(i);d.lessThan(i);)!m&&d.greaterThanOrEquals(n)&&(m=!0,u=t.getValueInReferenceFrame(n,o,l[h]),e(u)&&(l[h]=u,h++)),u=t.getValueInReferenceFrame(d,o,l[h]),e(u)&&(l[h]=u,h++),c++,d=r.addSeconds(a*c);return u=t.getValueInReferenceFrame(i,o,l[h]),e(u)&&(l[h]=u,h++),h}function g(t,r,i,n,o,a,s,l){for(var u=s,c=t.getIntervals(),h=0;h0?(h=x.pop(),o=this._polylineCollection.get(h)):(h=this._polylineCollection.length,o=this._polylineCollection.add()),r._pathVisualizerIndex=h,o.id=r,o.setWidth(1);var T=o.getMaterial();e(T)&&T.type===d.PolylineOutlineType||(T=d.fromType(d.PolylineOutlineType),o.setMaterial(T)),E=T.uniforms,a.clone(a.WHITE,E.color),a.clone(a.BLACK,E.outlineColor),E.outlineWidth=0}o.setShow(!0);var A=60;if(s=i._resolution,e(s)&&(A=s.getValue(t)),o.setPositions(y(n,l,u,t,this._referenceFrame,A,o.getPositions())),s=i._color,e(s)&&(E.color=s.getValue(t,E.color)),s=i._outlineColor,e(s)&&(E.outlineColor=s.getValue(t,E.outlineColor)),s=i._outlineWidth,e(s)&&(E.outlineWidth=s.getValue(t)),s=i._width,e(s)){var P=s.getValue(t);e(P)&&o.setWidth(P)}}}},S.prototype.removeObject=function(t){var r=t._pathVisualizerIndex;if(e(r)){var i=this._polylineCollection.get(r);i.setShow(!1),this._unusedIndexes.push(r),t._pathVisualizerIndex=void 0}},S.prototype.destroy=function(){return this._scene.primitives.remove(this._polylineCollection),r(this)};var w=function(e,t){this._scene=e,this._updaters={},this._dynamicObjectCollection=void 0,this.setDynamicObjectCollection(t)};return w.prototype.getScene=function(){return this._scene},w.prototype.getDynamicObjectCollection=function(){return this._dynamicObjectCollection},w.prototype.setDynamicObjectCollection=function(t){var r=this._dynamicObjectCollection;r!==t&&(e(r)&&(r.collectionChanged.removeEventListener(w.prototype._onObjectsRemoved,this),this.removeAllPrimitives()),this._dynamicObjectCollection=t,e(t)&&t.collectionChanged.addEventListener(w.prototype._onObjectsRemoved,this))},w.prototype.update=function(t){if(e(this._dynamicObjectCollection)){var r=this._updaters;for(var i in r)r.hasOwnProperty(i)&&r[i].update(t);for(var n=this._dynamicObjectCollection.getObjects(),o=0,a=n.length;a>o;o++){var s=n[o];if(e(s._path)){var u=s._position;if(e(u)){var c=s._pathUpdater,h=l.FIXED;this._scene.mode===m.SCENE3D&&(h=u._referenceFrame);var d=this._updaters[h];c===d&&e(d)?d.updateObject(t,s):(e(c)&&c.removeObject(s),e(d)||(d=new S(this._scene,h),d.update(t),this._updaters[h]=d),s._pathUpdater=d,e(d)&&d.updateObject(t,s))}}}}},w.prototype.removeAllPrimitives=function(){var t=this._updaters;for(var r in t)t.hasOwnProperty(r)&&t[r].destroy();if(this._updaters={},e(this._dynamicObjectCollection))for(var i=this._dynamicObjectCollection.getObjects(),n=i.length-1;n>-1;n--)i[n]._pathUpdater=void 0,i[n]._pathVisualizerIndex=void 0},w.prototype.isDestroyed=function(){return!1},w.prototype.destroy=function(){return this.setDynamicObjectCollection(void 0),r(this)},w.prototype._onObjectsRemoved=function(t,r,i){for(var n=i.length-1;n>-1;n--){var o=i[n],a=o._pathUpdater;e(a)&&a.removeObject(o)}},w}),r("DynamicScene/DynamicPointVisualizer",["../Core/Color","../Core/defaultValue","../Core/defined","../Core/destroyObject","../Core/DeveloperError","../Scene/BillboardCollection","../Renderer/TextureAtlasBuilder"],function(e,t,r,i,n,o,a){"use strict";function s(i,n,o){var a=o._point;if(r(a)){var s=o._position;if(r(s)){var l,m=a._show,p=o._pointVisualizerIndex,f=o.isAvailable(n)&&(!r(m)||m.getValue(n));if(!f)return r(p)&&(l=i._billboardCollection.get(p),l.setShow(!1),l.setImageIndex(-1),o._pointVisualizerIndex=void 0,i._unusedIndexes.push(p)),void 0;var v=!1;if(r(p))l=i._billboardCollection.get(p);else{var g=i._unusedIndexes,_=g.length;_>0?(p=g.pop(),l=i._billboardCollection.get(p)):(p=i._billboardCollection.length,l=i._billboardCollection.add()),o._pointVisualizerIndex=p,l.id=o,l._visualizerColor=e.clone(e.WHITE,l._visualizerColor),l._visualizerOutlineColor=e.clone(e.BLACK,l._visualizerOutlineColor),l._visualizerOutlineWidth=0,l._visualizerPixelSize=1,v=!0}l.setShow(!0),c=s.getValue(n,c),r(c)&&l.setPosition(c);var y=a._color;if(r(y)&&(u=y.getValue(n,u),e.equals(l._visualizerColor,u)||(e.clone(u,l._visualizerColor),v=!0)),y=a._outlineColor,r(y)&&(h=y.getValue(n,h),e.equals(l._visualizerOutlineColor,h)||(e.clone(h,l._visualizerOutlineColor),v=!0)),y=a._outlineWidth,r(y)){var C=y.getValue(n);l._visualizerOutlineWidth!==C&&(l._visualizerOutlineWidth=C,v=!0)}if(y=a._pixelSize,r(y)){var S=y.getValue(n);l._visualizerPixelSize!==S&&(l._visualizerPixelSize=S,v=!0)}if(y=a._scaleByDistance,r(y)&&(d=y.getValue(n,d),r(d)&&l.setScaleByDistance(d)),v){var w=t(l._visualizerColor,e.WHITE).toCssColorString(),E=t(l._visualizerOutlineColor,e.BLACK).toCssColorString(),x=t(l._visualizerPixelSize,3),b=t(l._visualizerOutlineWidth,2),T=JSON.stringify([w,x,E,b]);i._textureAtlasBuilder.addTextureFromFunction(T,function(e,t){var r=document.createElement("canvas"),i=x+2*b;r.height=r.width=i;var n=r.getContext("2d");n.clearRect(0,0,i,i),0!==b&&(n.beginPath(),n.arc(i/2,i/2,i/2,0,2*Math.PI,!0),n.closePath(),n.fillStyle=E,n.fill()),n.beginPath(),n.arc(i/2,i/2,x/2,0,2*Math.PI,!0),n.closePath(),n.fillStyle=w,n.fill(),t(r)},function(e){l.setImageIndex(e)})}}}}var l=function(e,t){this._scene=e,this._unusedIndexes=[],this._dynamicObjectCollection=void 0; +var r=this._billboardCollection=new o,i=this._textureAtlas=e.context.createTextureAtlas();this._textureAtlasBuilder=new a(i),r.textureAtlas=i,e.primitives.add(r),this.setDynamicObjectCollection(t)};l.prototype.getScene=function(){return this._scene},l.prototype.getDynamicObjectCollection=function(){return this._dynamicObjectCollection},l.prototype.setDynamicObjectCollection=function(e){var t=this._dynamicObjectCollection;t!==e&&(r(t)&&(t.collectionChanged.removeEventListener(l.prototype._onObjectsRemoved,this),this.removeAllPrimitives()),this._dynamicObjectCollection=e,r(e)&&e.collectionChanged.addEventListener(l.prototype._onObjectsRemoved,this))},l.prototype.update=function(e){if(r(this._dynamicObjectCollection))for(var t=this._dynamicObjectCollection.getObjects(),i=0,n=t.length;n>i;i++)s(this,e,t[i])},l.prototype.removeAllPrimitives=function(){if(this._unusedIndexes=[],this._billboardCollection.removeAll(),r(this._dynamicObjectCollection))for(var e=this._dynamicObjectCollection.getObjects(),t=e.length-1;t>-1;t--)e[t]._pointVisualizerIndex=void 0},l.prototype.isDestroyed=function(){return!1},l.prototype.destroy=function(){return this.setDynamicObjectCollection(void 0),this._scene.primitives.remove(this._billboardCollection),i(this)};var u,c,h,d;return l.prototype._onObjectsRemoved=function(e,t,i){for(var n=this._billboardCollection,o=this._unusedIndexes,a=i.length-1;a>-1;a--){var s=i[a],l=s._pointVisualizerIndex;if(r(l)){var u=n.get(l);u.setShow(!1),u.setImageIndex(-1),s._pointVisualizerIndex=void 0,o.push(l)}}},l}),r("DynamicScene/DynamicPyramidVisualizer",["../Core/defaultValue","../Core/defined","../Core/DeveloperError","../Core/destroyObject","../Core/Cartesian3","../Core/Color","../Core/Matrix3","../Core/Matrix4","../Core/Quaternion","../Scene/CustomSensorVolume","../Scene/Material","./MaterialProperty"],function(e,t,r,i,n,o,a,s,l,u,c,h){"use strict";function d(r,i,d){var p=d._pyramid;if(t(p)){var g=p._directions;if(t(g)){var _=d._position;if(t(_)){var y=d._orientation;if(t(y)){var C,S=p._show,w=d._pyramidVisualizerIndex,E=d.isAvailable(i)&&(!t(S)||S.getValue(i));if(!E)return t(w)&&(C=r._pyramidCollection[w],C.show=!1,d._pyramidVisualizerIndex=void 0,r._unusedIndexes.push(w)),void 0;if(t(w))C=r._pyramidCollection[w];else{var x=r._unusedIndexes,b=x.length;b>0?(w=x.pop(),C=r._pyramidCollection[w]):(w=r._pyramidCollection.length,C=new u,r._pyramidCollection.push(C),r._primitives.add(C)),d._pyramidVisualizerIndex=w,C.id=d,C.radius=Number.POSITIVE_INFINITY,C.showIntersection=!0,C.intersectionColor=o.YELLOW,C.intersectionWidth=5,C.material=c.fromType(c.ColorType)}C.show=!0;var T=g.getValue(i);t(T)&&C._visualizerDirections!==T&&(C.setDirections(T),C._visualizerDirections=T),f=e(_.getValue(i,f),C._visualizerPosition),v=e(y.getValue(i,v),C._visualizerOrientation),!t(f)||!t(v)||n.equals(f,C._visualizerPosition)&&l.equals(v,C._visualizerOrientation)||(s.fromRotationTranslation(a.fromQuaternion(v,m),f,C.modelMatrix),n.clone(f,C._visualizerPosition),l.clone(v,C._visualizerOrientation)),C.material=h.getValue(i,p._material,C.material);var A=p._intersectionColor;if(t(A)){var P=A.getValue(i,P);t(P)&&(C.intersectionColor=P)}if(A=p._intersectionWidth,t(A)){var D=A.getValue(i,D);t(D)&&(C.intersectionWidth=D)}if(A=p._radius,t(A)){var M=A.getValue(i,M);t(M)&&(C.radius=M)}}}}}}var m=new a,p=function(e,t){this._scene=e,this._unusedIndexes=[],this._primitives=e.primitives,this._pyramidCollection=[],this._dynamicObjectCollection=void 0,this.setDynamicObjectCollection(t)};p.prototype.getScene=function(){return this._scene},p.prototype.getDynamicObjectCollection=function(){return this._dynamicObjectCollection},p.prototype.setDynamicObjectCollection=function(e){var r=this._dynamicObjectCollection;r!==e&&(t(r)&&(r.collectionChanged.removeEventListener(p.prototype._onObjectsRemoved,this),this.removeAllPrimitives()),this._dynamicObjectCollection=e,t(e)&&e.collectionChanged.addEventListener(p.prototype._onObjectsRemoved,this))},p.prototype.update=function(e){if(t(this._dynamicObjectCollection))for(var r=this._dynamicObjectCollection.getObjects(),i=0,n=r.length;n>i;i++)d(this,e,r[i])},p.prototype.removeAllPrimitives=function(){var e,r;for(e=0,r=this._pyramidCollection.length;r>e;e++)this._primitives.remove(this._pyramidCollection[e]);if(t(this._dynamicObjectCollection)){var i=this._dynamicObjectCollection.getObjects();for(e=i.length-1;e>-1;e--)i[e]._pyramidVisualizerIndex=void 0}this._unusedIndexes=[],this._pyramidCollection=[]},p.prototype.isDestroyed=function(){return!1},p.prototype.destroy=function(){return this.setDynamicObjectCollection(void 0),i(this)};var f,v;return p.prototype._onObjectsRemoved=function(e,r,i){for(var n=this._pyramidCollection,o=this._unusedIndexes,a=i.length-1;a>-1;a--){var s=i[a],l=s._pyramidVisualizerIndex;if(t(l)){var u=n[l];u.show=!1,o.push(l),s._pyramidVisualizerIndex=void 0}}},p}),r("DynamicScene/DynamicVectorVisualizer",["../Core/DeveloperError","../Core/defined","../Core/destroyObject","../Core/Cartesian3","../Core/Color","../Scene/Material","../Scene/PolylineCollection"],function(e,t,r,i,n,o,a){"use strict";function s(e,r,a){var s=a._vector;if(t(s)){var l,u=s._show,c=a._position,h=s._direction,d=s._length,m=a._vectorVisualizerIndex,p=a.isAvailable(r)&&(!t(u)||u.getValue(r));if(!(p&&t(h)&&t(c)&&t(d)))return t(m)&&(l=e._polylineCollection.get(m),l.setShow(!1),a._vectorVisualizerIndex=void 0,e._unusedIndexes.push(m)),void 0;var f;if(t(m))l=e._polylineCollection.get(m),f=l.getMaterial().uniforms;else{var v=e._unusedIndexes;v.length>0?(m=v.pop(),l=e._polylineCollection.get(m)):(m=e._polylineCollection.length,l=e._polylineCollection.add(),l._visualizerPositions=[new i,new i]),a._vectorVisualizerIndex=m,l.id=a,l.setWidth(1);var g=l.getMaterial();t(g)&&g.type===o.PolylineArrowType||(g=o.fromType(o.PolylineArrowType),l.setMaterial(g)),f=g.uniforms,n.clone(n.WHITE,f.color)}l.setShow(!0);var _=l._visualizerPositions,y=c.getValue(r,_[0]),C=h.getValue(r,_[1]),S=d.getValue(r);t(y)&&t(C)&&t(S)&&(i.add(y,i.multiplyByScalar(i.normalize(C,C),S,C),C),l.setPositions(_));var w=s._color;if(t(w)&&(f.color=w.getValue(r,f.color)),w=s._width,t(w)){var E=w.getValue(r);t(E)&&l.setWidth(E)}}}var l=function(e,t){this._scene=e,this._unusedIndexes=[],this._primitives=e.primitives;var r=this._polylineCollection=new a;e.primitives.add(r),this._dynamicObjectCollection=void 0,this.setDynamicObjectCollection(t)};return l.prototype.getScene=function(){return this._scene},l.prototype.getDynamicObjectCollection=function(){return this._dynamicObjectCollection},l.prototype.setDynamicObjectCollection=function(e){var r=this._dynamicObjectCollection;r!==e&&(t(r)&&(r.collectionChanged.removeEventListener(l.prototype._onObjectsRemoved,this),this.removeAllPrimitives()),this._dynamicObjectCollection=e,t(e)&&e.collectionChanged.addEventListener(l.prototype._onObjectsRemoved,this))},l.prototype.update=function(e){if(t(this._dynamicObjectCollection))for(var r=this._dynamicObjectCollection.getObjects(),i=0,n=r.length;n>i;i++)s(this,e,r[i])},l.prototype.removeAllPrimitives=function(){var e;if(this._polylineCollection.removeAll(),t(this._dynamicObjectCollection)){var r=this._dynamicObjectCollection.getObjects();for(e=r.length-1;e>-1;e--)r[e]._vectorVisualizerIndex=void 0}this._unusedIndexes=[]},l.prototype.isDestroyed=function(){return!1},l.prototype.destroy=function(){return this.setDynamicObjectCollection(void 0),this._scene.primitives.remove(this._polylineCollection),r(this)},l.prototype._onObjectsRemoved=function(e,r,i){for(var n=this._polylineCollection,o=this._unusedIndexes,a=i.length-1;a>-1;a--){var s=i[a],l=s._vectorVisualizerIndex;if(t(l)){var u=n.get(l);u.setShow(!1),o.push(l),s._vectorVisualizerIndex=void 0}}},l}),r("Scene/Appearance",["../Core/clone","../Core/defaultValue","../Core/defined","../Renderer/BlendingState","../Renderer/CullFace","../Renderer/createShaderSource"],function(e,t,r,i,n,o){"use strict";var a=function(e){e=t(e,t.EMPTY_OBJECT),this.material=e.material,this.vertexShaderSource=e.vertexShaderSource,this.fragmentShaderSource=e.fragmentShaderSource,this.renderState=e.renderState,this.translucent=t(e.translucent,!0),this.closed=t(e.closed,!1)};return a.prototype.getFragmentShaderSource=function(){return o({defines:[this.flat?"FLAT":"",this.faceForward?"FACE_FORWARD":""],sources:[r(this.material)?this.material.shaderSource:"",this.fragmentShaderSource]})},a.prototype.isTranslucent=function(){return r(this.material)&&this.material.isTranslucent()||!r(this.material)&&this.translucent},a.prototype.getRenderState=function(){var t=this.isTranslucent(),r=e(this.renderState,!1);return t?(r.depthMask=!1,r.blending=i.ALPHA_BLEND):r.depthMask=!0,r},a.getDefaultRenderState=function(e,t){var r={depthTest:{enabled:!0}};return e&&(r.depthMask=!1,r.blending=i.ALPHA_BLEND),t&&(r.cull={enabled:!0,face:n.BACK}),r},a}),r("Shaders/Appearances/BasicMaterialAppearanceVS",[],function(){"use strict";return"attribute vec3 position3DHigh;\nattribute vec3 position3DLow;\nattribute vec3 normal;\nvarying vec3 v_positionEC;\nvarying vec3 v_normalEC;\nvoid main()\n{\nvec4 p = czm_computePosition();\nv_positionEC = (czm_modelViewRelativeToEye * p).xyz;\nv_normalEC = czm_normal * normal;\ngl_Position = czm_modelViewProjectionRelativeToEye * p;\n}\n"}),r("Shaders/Appearances/BasicMaterialAppearanceFS",[],function(){"use strict";return"varying vec3 v_positionEC;\nvarying vec3 v_normalEC;\nvoid main()\n{\nvec3 positionToEyeEC = -v_positionEC;\nvec3 normalEC;\n#ifdef FACE_FORWARD\nnormalEC = normalize(faceforward(v_normalEC, vec3(0.0, 0.0, 1.0), -v_normalEC));\n#else\nnormalEC = normalize(v_normalEC);\n#endif\nczm_materialInput materialInput;\nmaterialInput.normalEC = normalEC;\nmaterialInput.positionToEyeEC = positionToEyeEC;\nczm_material material = czm_getMaterial(materialInput);\n#ifdef FLAT\ngl_FragColor = vec4(material.diffuse + material.emission, material.alpha);\n#else\ngl_FragColor = czm_phong(normalize(positionToEyeEC), material);\n#endif\n}\n"}),r("Shaders/Appearances/TexturedMaterialAppearanceVS",[],function(){"use strict";return"attribute vec3 position3DHigh;\nattribute vec3 position3DLow;\nattribute vec3 normal;\nattribute vec2 st;\nvarying vec3 v_positionEC;\nvarying vec3 v_normalEC;\nvarying vec2 v_st;\nvoid main()\n{\nvec4 p = czm_computePosition();\nv_positionEC = (czm_modelViewRelativeToEye * p).xyz;\nv_normalEC = czm_normal * normal;\nv_st = st;\ngl_Position = czm_modelViewProjectionRelativeToEye * p;\n}\n"}),r("Shaders/Appearances/TexturedMaterialAppearanceFS",[],function(){"use strict";return"varying vec3 v_positionEC;\nvarying vec3 v_normalEC;\nvarying vec2 v_st;\nvoid main()\n{\nvec3 positionToEyeEC = -v_positionEC;\nvec3 normalEC;\n#ifdef FACE_FORWARD\nnormalEC = normalize(faceforward(v_normalEC, vec3(0.0, 0.0, 1.0), -v_normalEC));\n#else\nnormalEC = normalize(v_normalEC);\n#endif\nczm_materialInput materialInput;\nmaterialInput.normalEC = normalEC;\nmaterialInput.positionToEyeEC = positionToEyeEC;\nmaterialInput.st = v_st;\nczm_material material = czm_getMaterial(materialInput);\n#ifdef FLAT\ngl_FragColor = vec4(material.diffuse + material.emission, material.alpha);\n#else\ngl_FragColor = czm_phong(normalize(positionToEyeEC), material);\n#endif\n}\n"}),r("Shaders/Appearances/AllMaterialAppearanceVS",[],function(){"use strict";return"attribute vec3 position3DHigh;\nattribute vec3 position3DLow;\nattribute vec3 normal;\nattribute vec3 tangent;\nattribute vec3 binormal;\nattribute vec2 st;\nvarying vec3 v_positionEC;\nvarying vec3 v_normalEC;\nvarying vec3 v_tangentEC;\nvarying vec3 v_binormalEC;\nvarying vec2 v_st;\nvoid main()\n{\nvec4 p = czm_computePosition();\nv_positionEC = (czm_modelViewRelativeToEye * p).xyz;\nv_normalEC = czm_normal * normal;\nv_tangentEC = czm_normal * tangent;\nv_binormalEC = czm_normal * binormal;\nv_st = st;\ngl_Position = czm_modelViewProjectionRelativeToEye * p;\n}\n"}),r("Shaders/Appearances/AllMaterialAppearanceFS",[],function(){"use strict";return"varying vec3 v_positionEC;\nvarying vec3 v_normalEC;\nvarying vec3 v_tangentEC;\nvarying vec3 v_binormalEC;\nvarying vec2 v_st;\nvoid main()\n{\nvec3 positionToEyeEC = -v_positionEC;\nmat3 tangentToEyeMatrix = czm_tangentToEyeSpaceMatrix(v_normalEC, v_tangentEC, v_binormalEC);\nvec3 normalEC;\n#ifdef FACE_FORWARD\nnormalEC = normalize(faceforward(v_normalEC, vec3(0.0, 0.0, 1.0), -v_normalEC));\n#else\nnormalEC = normalize(v_normalEC);\n#endif\nczm_materialInput materialInput;\nmaterialInput.normalEC = normalEC;\nmaterialInput.tangentToEyeMatrix = tangentToEyeMatrix;\nmaterialInput.positionToEyeEC = positionToEyeEC;\nmaterialInput.st = v_st;\nczm_material material = czm_getMaterial(materialInput);\n#ifdef FLAT\ngl_FragColor = vec4(material.diffuse + material.emission, material.alpha);\n#else\ngl_FragColor = czm_phong(normalize(positionToEyeEC), material);\n#endif\n}\n"}),r("Scene/MaterialAppearance",["../Core/defaultValue","../Core/defined","../Core/freezeObject","../Core/VertexFormat","./Material","./Appearance","../Shaders/Appearances/BasicMaterialAppearanceVS","../Shaders/Appearances/BasicMaterialAppearanceFS","../Shaders/Appearances/TexturedMaterialAppearanceVS","../Shaders/Appearances/TexturedMaterialAppearanceFS","../Shaders/Appearances/AllMaterialAppearanceVS","../Shaders/Appearances/AllMaterialAppearanceFS"],function(e,t,r,i,n,o,a,s,l,u,c,h){"use strict";var d=function(r){r=e(r,e.EMPTY_OBJECT);var i=e(r.translucent,!0),a=e(r.closed,!1),s=e(r.materialSupport,d.MaterialSupport.TEXTURED);this.material=t(r.material)?r.material:n.fromType(n.ColorType),this.vertexShaderSource=e(r.vertexShaderSource,s.vertexShaderSource),this.fragmentShaderSource=e(r.fragmentShaderSource,s.fragmentShaderSource),this.renderState=e(r.renderState,o.getDefaultRenderState(i,a)),this.materialSupport=s,this.vertexFormat=s.vertexFormat,this.flat=e(r.flat,!1),this.faceForward=e(r.faceForward,!a),this.translucent=i,this.closed=a};return d.prototype.getFragmentShaderSource=o.prototype.getFragmentShaderSource,d.prototype.isTranslucent=o.prototype.isTranslucent,d.prototype.getRenderState=o.prototype.getRenderState,d.MaterialSupport={BASIC:r({vertexFormat:i.POSITION_AND_NORMAL,vertexShaderSource:a,fragmentShaderSource:s}),TEXTURED:r({vertexFormat:i.POSITION_NORMAL_AND_ST,vertexShaderSource:l,fragmentShaderSource:u}),ALL:r({vertexFormat:i.ALL,vertexShaderSource:c,fragmentShaderSource:h})},d}),r("Shaders/Appearances/PerInstanceColorAppearanceVS",[],function(){"use strict";return"attribute vec3 position3DHigh;\nattribute vec3 position3DLow;\nattribute vec3 normal;\nattribute vec4 color;\nvarying vec3 v_positionEC;\nvarying vec3 v_normalEC;\nvarying vec4 v_color;\nvoid main()\n{\nvec4 p = czm_computePosition();\nv_positionEC = (czm_modelViewRelativeToEye * p).xyz;\nv_normalEC = czm_normal * normal;\nv_color = color;\ngl_Position = czm_modelViewProjectionRelativeToEye * p;\n}\n"}),r("Shaders/Appearances/PerInstanceColorAppearanceFS",[],function(){"use strict";return"varying vec3 v_positionEC;\nvarying vec3 v_normalEC;\nvarying vec4 v_color;\nvoid main()\n{\nvec3 positionToEyeEC = -v_positionEC;\nvec3 normalEC;\n#ifdef FACE_FORWARD\nnormalEC = normalize(faceforward(v_normalEC, vec3(0.0, 0.0, 1.0), -v_normalEC));\n#else\nnormalEC = normalize(v_normalEC);\n#endif\nczm_materialInput materialInput;\nmaterialInput.normalEC = normalEC;\nmaterialInput.positionToEyeEC = positionToEyeEC;\nczm_material material = czm_getDefaultMaterial(materialInput);\nmaterial.diffuse = v_color.rgb;\nmaterial.alpha = v_color.a;\ngl_FragColor = czm_phong(normalize(positionToEyeEC), material);\n}\n"}),r("Shaders/Appearances/PerInstanceFlatColorAppearanceVS",[],function(){"use strict";return"attribute vec3 position3DHigh;\nattribute vec3 position3DLow;\nattribute vec4 color;\nvarying vec4 v_color;\nvoid main()\n{\nvec4 p = czm_computePosition();\nv_color = color;\ngl_Position = czm_modelViewProjectionRelativeToEye * p;\n}\n"}),r("Shaders/Appearances/PerInstanceFlatColorAppearanceFS",[],function(){"use strict";return"varying vec4 v_color;\nvoid main()\n{\ngl_FragColor = v_color;\n}\n"}),r("Scene/PerInstanceColorAppearance",["../Core/defaultValue","../Core/VertexFormat","./Appearance","../Shaders/Appearances/PerInstanceColorAppearanceVS","../Shaders/Appearances/PerInstanceColorAppearanceFS","../Shaders/Appearances/PerInstanceFlatColorAppearanceVS","../Shaders/Appearances/PerInstanceFlatColorAppearanceFS"],function(e,t,r,i,n,o,a){"use strict";var s=function(t){t=e(t,e.EMPTY_OBJECT);var l=e(t.translucent,!0),u=e(t.closed,!1),c=e(t.flat,!1),h=c?o:i,d=c?a:n,m=c?s.FLAT_VERTEX_FORMAT:s.VERTEX_FORMAT;this.material=void 0,this.vertexShaderSource=e(t.vertexShaderSource,h),this.fragmentShaderSource=e(t.fragmentShaderSource,d),this.renderState=e(t.renderState,r.getDefaultRenderState(l,u)),this.vertexFormat=m,this.flat=c,this.faceForward=e(t.faceForward,!u),this.translucent=l,this.closed=u};return s.VERTEX_FORMAT=t.POSITION_AND_NORMAL,s.FLAT_VERTEX_FORMAT=t.POSITION_ONLY,s.prototype.getFragmentShaderSource=r.prototype.getFragmentShaderSource,s.prototype.isTranslucent=r.prototype.isTranslucent,s.prototype.getRenderState=r.prototype.getRenderState,s}),r("Renderer/VertexLayout",["../Core/Enumeration"],function(e){"use strict";var t={SEPARATE:new e(0,"SEPARATE"),INTERLEAVED:new e(1,"INTERLEAVED"),validate:function(e){return e===t.SEPARATE||e===t.INTERLEAVED}};return t}),r("Scene/PrimitivePipeline",["../Core/defined","../Core/defaultValue","../Core/Color","../Core/ComponentDatatype","../Core/DeveloperError","../Core/FeatureDetection","../Core/Geometry","../Core/GeometryAttribute","../Core/GeometryPipeline","../Core/Matrix4"],function(e,t,r,i,n,o,a,s,l,u){"use strict";function c(e,t,r){var i,n=!r,o=e.length;if(!n&&o>1){var a=e[0].modelMatrix;for(i=1;o>i;++i)if(!u.equals(a,e[i].modelMatrix)){n=!0;break}}if(n)for(i=0;o>i;++i)l.transformToWorldCoordinates(e[i]);else u.clone(e[0].modelMatrix,t)}function h(e,t){for(var n=e.length,o=0;n>o;++o){var a=e[o],l=a.geometry,u=l.attributes,c=u.position,h=4*(c.values.length/c.componentsPerAttribute);u.pickColor=new s({componentDatatype:i.UNSIGNED_BYTE,componentsPerAttribute:4,normalize:!0,values:new Uint8Array(h)});for(var d=t[o],m=r.floatToByte(d.red),p=r.floatToByte(d.green),f=r.floatToByte(d.blue),v=r.floatToByte(d.alpha),g=u.pickColor.values,_=0;h>_;_+=4)g[_]=m,g[_+1]=p,g[_+2]=f,g[_+3]=v}}function d(t){var r,i=t.length,n=[],o=t[0].attributes;for(r in o)if(o.hasOwnProperty(r)){for(var a=o[r],s=!0,l=1;i>l;++l){var u=t[l].attributes[r];if(!e(u)||a.componentDatatype.value!==u.componentDatatype.value||a.componentsPerAttribute!==u.componentsPerAttribute||a.normalize!==u.normalize){s=!1;break}}s&&n.push(r)}return n}function m(e,t){for(var r=e.length,n=0;r>n;++n)for(var o=e[n],l=o.attributes,u=o.geometry,c=a.computeNumberOfVertices(u),h=t.length,d=0;h>d;++d){for(var m=t[d],p=l[m],f=p.componentDatatype,v=p.value,g=v.length,_=i.createTypedArray(f,c*g),y=0;c>y;++y)_.set(v,y*g);u.attributes[m]=new s({componentDatatype:f,componentsPerAttribute:g,normalize:p.normalize,values:_})}}function p(e){var t,r=e.instances,n=e.pickIds,o=e.projection,a=e.elementIndexUintSupported,s=e.allow3DOnly,u=e.allowPicking,p=e.vertexCacheOptimize,f=e.modelMatrix,v=r.length;if(r[0].geometry.primitiveType,c(r,f,s),!s)for(t=0;v>t;++t)l.wrapLongitude(r[t].geometry);u&&h(r,n);var g=d(r);if(m(r,g),p)for(t=0;v>t;++t)l.reorderForPostVertexCache(r[t].geometry),l.reorderForPreVertexCache(r[t].geometry);var _,y=l.combine(r),C=y.attributes;if(s)for(_ in C)C.hasOwnProperty(_)&&C[_].componentDatatype.value===i.DOUBLE.value&&l.encodeAttribute(y,_,_+"3DHigh",_+"3DLow");else for(_ in C)if(C.hasOwnProperty(_)&&C[_].componentDatatype.value===i.DOUBLE.value){var S=_+"3D",w=_+"2D";l.projectTo2D(y,_,S,w,o),l.encodeAttribute(y,S,S+"High",S+"Low"),l.encodeAttribute(y,w,w+"High",w+"Low")}return a?[y]:l.fitToUnsignedShortIndices(y)}function f(e,t,r){for(var n=[],o=e.attributes,a=r.length,s=0;a>s;++s){var l=r[s],u=o[l],c=u.componentDatatype;c.value===i.DOUBLE.value&&(c=i.FLOAT);var h=i.createTypedArray(c,u.values);n.push({index:t[l],componentDatatype:c,componentsPerAttribute:u.componentsPerAttribute,normalize:u.normalize,values:h}),delete o[l]}return n}function v(r,i,n){for(var o=[],s=d(r),l=r.length,u={},c={},h=0;l>h;++h)for(var m=r[h],p=a.computeNumberOfVertices(m.geometry),f=s.length,v=0;f>v;++v)for(var g=s[v],_=n[g],y=p;y>0;){for(var C,S=t(c[g],0),w=i[S],E=w.length,x=0;E>x&&(C=w[x],C.index!==_);++x);e(o[h])||(o[h]={}),e(o[h][g])||(o[h][g]={dirty:!1,value:m.attributes[g].value,indices:[]});var b,T=C.values.length/C.componentsPerAttribute,A=t(u[g],0);T>A+y?(b=y,o[h][g].indices.push({attribute:C,offset:A,count:b}),u[g]=A+y):(b=T-A,o[h][g].indices.push({attribute:C,offset:A,count:b}),u[g]=0,c[g]=S+1),y-=b}return o}function g(t){return e(t.constructor.name)?{type:t.constructor.name,buffer:t.buffer}:t}function _(t){return e(t.type)?new C[t.type](t.buffer):t}if(!o.supportsTypedArrays())return{};var y={};y.combineGeometry=function(e){for(var t={instances:e.instances,pickIds:e.pickIds,ellipsoid:e.ellipsoid,projection:e.projection,elementIndexUintSupported:e.elementIndexUintSupported,allow3DOnly:e.allow3DOnly,allowPicking:e.allowPicking,vertexCacheOptimize:e.vertexCacheOptimize,modelMatrix:u.clone(e.modelMatrix)},r=p(t),i=l.createAttributeLocations(r[0]),n=t.instances,o=d(n),a=[],s=r.length,c=0;s>c;++c){var h=r[c];a.push(f(h,i,o))}var m=v(n,a,i);return{geometries:r,modelMatrix:t.modelMatrix,attributeLocations:i,vaAttributes:a,vaAttributeLocations:m}};var C={Int8Array:Int8Array,Uint8Array:Uint8Array,Int16Array:Int16Array,Uint16Array:Uint16Array,Int32Array:Int32Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array};return y.transferGeometry=function(t,r){var i,n=t.attributes;for(var a in n)n.hasOwnProperty(a)&&e(n[a])&&e(n[a].values)&&(i=n[a].values,o.supportsTransferringArrayBuffers()&&r.indexOf(n[a].values.buffer)<0&&r.push(i.buffer),e(i.type)||(n[a].values=g(i)));e(t.indices)&&(i=t.indices,o.supportsTransferringArrayBuffers()&&r.push(i.buffer),e(i.type)||(t.indices=g(t.indices)))},y.transferGeometries=function(e,t){for(var r=e.length,i=0;r>i;++i)y.transferGeometry(e[i],t)},y.transferPerInstanceAttributes=function(e,t){for(var r=e.length,i=0;r>i;++i)for(var n=e[i],a=n.length,s=0;a>s;++s){var l=n[s].values;o.supportsTransferringArrayBuffers()&&t.push(l.buffer),n[s].values=g(l)}},y.transferInstances=function(e,t){for(var r=e.length,i=0;r>i;++i){var n=e[i];y.transferGeometry(n.geometry,t)}},y.receiveGeometry=function(t){var r=t.attributes;for(var i in r)r.hasOwnProperty(i)&&e(r[i])&&e(r[i].values)&&(r[i].values=_(r[i].values));e(t.indices)&&(t.indices=_(t.indices))},y.receiveGeometries=function(e){for(var t=e.length,r=0;t>r;++r)y.receiveGeometry(e[r])},y.receivePerInstanceAttributes=function(e){for(var t=e.length,r=0;t>r;++r)for(var i=e[r],n=i.length,o=0;n>o;++o)i[o].values=_(i[o].values)},y.receiveInstances=function(e){for(var t=e.length,r=0;t>r;++r){var i=e[r];y.receiveGeometry(i.geometry)}},y}),r("Scene/PrimitiveState",["../Core/Enumeration"],function(e){"use strict";var t={READY:new e(0,"READY"),CREATING:new e(1,"CREATING"),CREATED:new e(2,"CREATED"),COMBINING:new e(3,"COMBINING"),COMBINED:new e(4,"COMBINED"),COMPLETE:new e(5,"COMPLETE"),FAILED:new e(6,"FAILED")};return t}),r("Scene/Primitive",["../Core/BoundingSphere","../Core/clone","../Core/ComponentDatatype","../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/destroyObject","../Core/DeveloperError","../Core/isArray","../Core/Geometry","../Core/GeometryAttribute","../Core/GeometryAttributes","../Core/GeometryInstance","../Core/GeometryInstanceAttribute","../Core/Matrix4","../Core/TaskProcessor","../Core/GeographicProjection","../Renderer/BufferUsage","../Renderer/createShaderSource","../Renderer/CullFace","../Renderer/DrawCommand","../Renderer/Pass","../Renderer/VertexLayout","./PrimitivePipeline","./PrimitiveState","./SceneMode","../ThirdParty/when"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f,v,g,_,y,C,S,w,E,x,b,T){"use strict";function A(e){return new c({componentDatatype:e.componentDatatype,componentsPerAttribute:e.componentsPerAttribute,normalize:e.normalize,values:new e.values.constructor(e.values)})}function P(t){var r=t.attributes,i=new h;for(var o in r)r.hasOwnProperty(o)&&n(r[o])&&(i[o]=A(r[o]));var a;if(n(t.indices)){var s=t.indices;a=new s.constructor(s)}return new u({attributes:i,indices:a,primitiveType:t.primitiveType,boundingSphere:e.clone(t.boundingSphere)})}function D(e){return new m({componentDatatype:e.componentDatatype,componentsPerAttribute:e.componentsPerAttribute,normalize:e.normalize,value:new e.value.constructor(e.value)})}function M(e,t){var r=e.attributes,i={};for(var n in r)r.hasOwnProperty(n)&&(i[n]=D(r[n]));return new d({geometry:t,modelMatrix:p.clone(e.modelMatrix),attributes:i})}function I(e,t){for(var r,i="",n="",o="";null!==(r=V.exec(t));){var a=r[1],s="vec4 czm_compute"+a[0].toUpperCase()+a.substr(1)+"()";"vec4 czm_computePosition()"!==s&&(i+=s+";\n"),e.allow3DOnly?o+=s+"\n"+"{\n"+" return czm_translateRelativeToEye("+a+"3DHigh, "+a+"3DLow);\n"+"}\n\n":(n+="attribute vec3 "+a+"2DHigh;\n"+"attribute vec3 "+a+"2DLow;\n",o+=s+"\n"+"{\n"+" vec4 p;\n"+" if (czm_morphTime == 1.0)\n"+" {\n"+" p = czm_translateRelativeToEye("+a+"3DHigh, "+a+"3DLow);\n"+" }\n"+" else if (czm_morphTime == 0.0)\n"+" {\n"+" p = czm_translateRelativeToEye("+a+"2DHigh.zxy, "+a+"2DLow.zxy);\n"+" }\n"+" else\n"+" {\n"+" p = czm_columbusViewMorph(\n"+" czm_translateRelativeToEye("+a+"2DHigh.zxy, "+a+"2DLow.zxy),\n"+" czm_translateRelativeToEye("+a+"3DHigh, "+a+"3DLow),\n"+" czm_morphTime);\n"+" }\n"+" return p;\n"+"}\n\n")}return _({sources:[i,n,t,o]})}function O(e){var t=e.replace(/void\s+main\s*\(\s*(?:void)?\s*\)/g,"void czm_old_main()"),r="attribute vec4 pickColor; \nvarying vec4 czm_pickColor; \nvoid main() \n{ \n czm_old_main(); \n czm_pickColor = pickColor; \n}";return t+"\n"+r}function R(e,t){if(!n(e._attributeLocations.show))return t;var r=t.replace(/void\s+main\s*\(\s*(?:void)?\s*\)/g,"void czm_non_show_main()"),i="attribute float show;\nvoid main() \n{ \n czm_non_show_main(); \n gl_Position *= show; \n}";return r+"\n"+i}function L(e){e.getVertexAttributes()}function N(e,t,r){for(var o=[],a=r.length,s=0;a>s;++s){var l={primitive:i(r[s].pickPrimitive,t)};n(r[s].id)&&(l.id=r[s].id);var u=e.createPickId(l);t._pickIds.push(u),o.push(u.color)}return o}function B(e,t){return function(){return t[e].value}}function z(e,t,r){return function(i){var n=t[e];n.value=i,n.dirty||(r.push(n),n.dirty=!0)}}var F=function(e){e=i(e,i.EMPTY_OBJECT),this.geometryInstances=e.geometryInstances,this.appearance=e.appearance,this._appearance=void 0,this._material=void 0,this.modelMatrix=p.clone(p.IDENTITY),this._modelMatrix=new p,this.show=i(e.show,!0),this.vertexCacheOptimize=i(e.vertexCacheOptimize,!1),this.releaseGeometryInstances=i(e.releaseGeometryInstances,!0),this.allow3DOnly=i(e.allow3DOnly,!1),this.allowPicking=i(e.allowPicking,!0),this.asynchronous=i(e.asynchronous,!0),this.debugShowBoundingVolume=i(e.debugShowBoundingVolume,!1),this._translucent=void 0,this._state=x.READY,this._createdGeometries=[],this._geometries=[],this._vaAttributes=void 0,this._error=void 0,this._boundingSphere=void 0,this._boundingSphereWC=void 0,this._boundingSphereCV=void 0,this._boundingSphere2D=void 0,this._perInstanceAttributeLocations=void 0,this._instanceIds=[],this._lastPerInstanceAttributeIndex=0,this._dirtyAttributes=[],this._va=[],this._attributeLocations=void 0,this._primitiveType=void 0,this._frontFaceRS=void 0,this._backFaceRS=void 0,this._sp=void 0,this._pickRS=void 0,this._pickSP=void 0,this._pickIds=[],this._colorCommands=[],this._pickCommands=[]},V=/attribute\s+vec(?:3|4)\s+(.*)3DHigh;/g,k=new f("taskDispatcher",Number.POSITIVE_INFINITY);return F.prototype.update=function(i,o,a){if(!(!this.show||!n(this.geometryInstances)&&0===this._va.length||n(this.geometryInstances)&&l(this.geometryInstances)&&0===this.geometryInstances.length||!n(this.appearance)||o.mode!==b.SCENE3D&&this.allow3DOnly||!o.passes.render&&!o.passes.pick)){var s,u,c,h,d,m,f,A,D,B,z,F,V,U=o.scene2D.projection,W=this.allowPicking,G=this;if(this._state!==x.COMPLETE&&this._state!==x.COMBINED)if(this.asynchronous){if(this._state===x.FAILED)throw this._error;if(this._state===x.READY){z=l(this.geometryInstances)?this.geometryInstances:[this.geometryInstances],m=z.length;var H=[];for(f=0;m>f;++f)c=z[f].geometry,this._instanceIds.push(z[f].id),n(c.attributes)&&n(c.primitiveType)?this._createdGeometries.push({geometry:P(c),index:f}):H.push(k.scheduleTask({task:c._workerName,geometry:c,index:f}));this._state=x.CREATING,T.all(H,function(e){G._geometries=e,G._state=x.CREATED},function(e){G._error=e,G._state=x.FAILED})}else if(this._state===x.CREATED){for(z=l(this.geometryInstances)?this.geometryInstances:[this.geometryInstances],F=new Array(z.length),V=this._geometries.concat(this._createdGeometries),m=V.length,f=0;m>f;++f)c=V[f],D=c.index,F[D]=M(z[D],c.geometry);m=F.length;var j=[];E.transferInstances(F,j),B=k.scheduleTask({task:"combineGeometry",instances:F,pickIds:W?N(i,this,z):void 0,ellipsoid:U.ellipsoid,isGeographic:U instanceof v,elementIndexUintSupported:i.getElementIndexUint(),allow3DOnly:this.allow3DOnly,allowPicking:W,vertexCacheOptimize:this.vertexCacheOptimize,modelMatrix:this.modelMatrix},j),this._state=x.COMBINING,T(B,function(e){E.receiveGeometries(e.geometries),E.receivePerInstanceAttributes(e.vaAttributes),G._geometries=e.geometries,G._attributeLocations=e.attributeLocations,G._vaAttributes=e.vaAttributes,G._perInstanceAttributeLocations=e.vaAttributeLocations,p.clone(e.modelMatrix,G.modelMatrix),G._state=x.COMBINED},function(e){G._error=e,G._state=x.FAILED})}}else{for(z=l(this.geometryInstances)?this.geometryInstances:[this.geometryInstances],m=z.length,V=this._createdGeometries,f=0;m>f;++f)c=z[f].geometry,this._instanceIds.push(z[f].id),n(c.attributes)&&n(c.primitiveType)?V.push({geometry:P(c),index:f}):V.push({geometry:c.constructor.createGeometry(c),index:f});for(F=new Array(z.length),m=V.length,f=0;m>f;++f)c=V[f],D=c.index,F[D]=M(z[D],c.geometry);var q=E.combineGeometry({instances:F,pickIds:W?N(i,this,z):void 0,ellipsoid:U.ellipsoid,projection:U,elementIndexUintSupported:i.getElementIndexUint(),allow3DOnly:this.allow3DOnly,allowPicking:W,vertexCacheOptimize:this.vertexCacheOptimize,modelMatrix:this.modelMatrix});this._geometries=q.geometries,this._attributeLocations=q.attributeLocations,this._vaAttributes=q.vaAttributes,this._perInstanceAttributeLocations=q.vaAttributeLocations,p.clone(q.modelMatrix,this.modelMatrix),this._state=x.COMBINED}var Y=this._attributeLocations;if(this._state===x.COMBINED){V=this._geometries;var X=this._vaAttributes;this._boundingSphere=e.clone(V[0].boundingSphere);var Z=[];for(m=V.length,f=0;m>f;++f){c=V[f],h=X[f];var J=h.length;for(A=0;J>A;++A)d=h[A],d.vertexBuffer=i.createVertexBuffer(d.values,g.DYNAMIC_DRAW),delete d.values;Z.push(i.createVertexArrayFromGeometry({geometry:c,attributeLocations:Y,bufferUsage:g.STATIC_DRAW,vertexLayout:w.INTERLEAVED,vertexArrayAttributes:h}))}this._va=Z,this._primitiveType=V[0].primitiveType,this.releaseGeometryInstances&&(this.geometryInstances=void 0),this._geometries=void 0,this._createdGeometries=void 0,this._state=x.COMPLETE}if(this._state===x.COMPLETE){var Q=this.appearance,K=Q.material,$=!1,et=!1;this._appearance!==Q?(this._appearance=Q,this._material=K,$=!0,et=!0):this._material!==K&&(this._material=K,et=!0);var tt=this._appearance.isTranslucent();this._translucent!==tt&&(this._translucent=tt,$=!0),n(this._material)&&this._material.update(i);var rt=Q.closed&&tt;if($){var it=Q.getRenderState();if(rt){var nt=t(it,!1);nt.cull={enabled:!0,face:y.BACK},this._frontFaceRS=i.createRenderState(nt),nt.cull.face=y.FRONT,this._backFaceRS=i.createRenderState(nt)}else this._frontFaceRS=i.createRenderState(it),this._backFaceRS=this._frontFaceRS; +if(W)this._pickRS=this._backFaceRS;else{var ot=t(it,!1);ot.colorMask={red:!1,green:!1,blue:!1,alpha:!1},this._pickRS=i.createRenderState(ot)}}if(et){var at=i.getShaderCache(),st=I(this,Q.vertexShaderSource);st=R(this,st);var lt=Q.getFragmentShaderSource();if(this._sp=at.replaceShaderProgram(this._sp,st,lt,Y),L(this._sp,Y),W){var ut=_({sources:[lt],pickColorQualifier:"varying"});this._pickSP=at.replaceShaderProgram(this._pickSP,O(st),ut,Y)}else this._pickSP=at.getShaderProgram(st,lt,Y);L(this._pickSP,Y)}var ct=this._colorCommands,ht=this._pickCommands;if($||et){var dt=n(K)?K._uniforms:void 0,mt=tt?S.TRANSLUCENT:S.OPAQUE;ct.length=this._va.length*(rt?2:1),ht.length=this._va.length,m=ct.length;var pt=0,ft=0;for(f=0;m>f;++f)rt&&(s=ct[f],n(s)||(s=ct[f]=new C),s.owner=this,s.primitiveType=this._primitiveType,s.vertexArray=this._va[pt],s.renderState=this._backFaceRS,s.shaderProgram=this._sp,s.uniformMap=dt,s.pass=mt,++f),s=ct[f],n(s)||(s=ct[f]=new C),s.owner=this,s.primitiveType=this._primitiveType,s.vertexArray=this._va[pt],s.renderState=this._frontFaceRS,s.shaderProgram=this._sp,s.uniformMap=dt,s.pass=mt,u=ht[ft],n(u)||(u=ht[ft]=new C),u.owner=this,u.primitiveType=this._primitiveType,u.vertexArray=this._va[pt],u.renderState=this._pickRS,u.shaderProgram=this._pickSP,u.uniformMap=dt,u.pass=mt,++ft,++pt}if(this._dirtyAttributes.length>0){for(h=this._dirtyAttributes,m=h.length,f=0;m>f;++f){d=h[f];var vt=d.value,gt=d.indices,_t=gt.length;for(A=0;_t>A;++A){D=gt[A];for(var yt=D.offset,Ct=D.count,St=D.attribute,wt=St.componentDatatype,Et=St.componentsPerAttribute,xt=r.createTypedArray(wt,Ct*Et),bt=0;Ct>bt;++bt)xt.set(vt,bt*Et);var Tt=yt*Et*wt.sizeInBytes;St.vertexBuffer.copyFromArrayView(xt,Tt)}d.dirty=!1}h.length=0}p.equals(this.modelMatrix,this._modelMatrix)||(p.clone(this.modelMatrix,this._modelMatrix),this._boundingSphereWC=e.transform(this._boundingSphere,this.modelMatrix,this._boundingSphereWC),!this.allow3DOnly&&n(this._boundingSphere)&&(this._boundingSphereCV=e.projectTo2D(this._boundingSphereWC,U,this._boundingSphereCV),this._boundingSphere2D=e.clone(this._boundingSphereCV,this._boundingSphere2D),this._boundingSphere2D.center.x=0));var At;o.mode===b.SCENE3D?At=this._boundingSphereWC:o.mode===b.COLUMBUS_VIEW?At=this._boundingSphereCV:o.mode===b.SCENE2D&&n(this._boundingSphere2D)?At=this._boundingSphere2D:n(this._boundingSphereWC)&&n(this._boundingSphereCV)&&(At=e.union(this._boundingSphereWC,this._boundingSphereCV));var Pt=o.passes;if(Pt.render)for(m=ct.length,f=0;m>f;++f)ct[f].modelMatrix=this.modelMatrix,ct[f].boundingVolume=At,ct[f].debugShowBoundingVolume=this.debugShowBoundingVolume,a.push(ct[f]);if(Pt.pick)for(m=ht.length,f=0;m>f;++f)ht[f].modelMatrix=this.modelMatrix,ht[f].boundingVolume=At,a.push(ht[f])}}},F.prototype.getGeometryInstanceAttributes=function(e){for(var t=-1,r=this._lastPerInstanceAttributeIndex,i=this._instanceIds,n=i.length,a=0;n>a;++a){var s=(r+a)%n;if(e===i[s]){t=s;break}}if(-1===t)return void 0;var l=this._perInstanceAttributeLocations[t],u={},c={},h=!1;for(var d in l)l.hasOwnProperty(d)&&(h=!0,c[d]={get:B(d,l),set:z(d,l,this._dirtyAttributes)});return h&&o(u,c),this._lastPerInstanceAttributeIndex=t,u},F.prototype.isDestroyed=function(){return!1},F.prototype.destroy=function(){var e,t;this._sp=this._sp&&this._sp.release(),this._pickSP=this._pickSP&&this._pickSP.release();var r=this._va;for(e=r.length,t=0;e>t;++t)r[t].destroy();this._va=void 0;var i=this._pickIds;for(e=i.length,t=0;e>t;++t)i[t].destroy();return this._pickIds=void 0,a(this)},F}),r("DynamicScene/EllipseGeometryUpdater",["../Core/Color","../Core/ColorGeometryInstanceAttribute","../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/destroyObject","../Core/DeveloperError","../Core/EllipseGeometry","../Core/EllipseOutlineGeometry","../Core/Event","../Core/GeometryInstance","../Core/Iso8601","../Core/ShowGeometryInstanceAttribute","../DynamicScene/ColorMaterialProperty","../DynamicScene/ConstantProperty","../DynamicScene/MaterialProperty","../DynamicScene/Property","../Scene/MaterialAppearance","../Scene/PerInstanceColorAppearance","../Scene/Primitive"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f,v,g,_,y){"use strict";var C=m.fromColor(e.WHITE),S=new p(!0),w=new p(!0),E=new p(!1),x=new p(e.BLACK),b=function(e){this.id=e,this.vertexFormat=void 0,this.center=void 0,this.semiMajorAxis=void 0,this.semiMinorAxis=void 0,this.rotation=void 0,this.height=void 0,this.extrudedHeight=void 0,this.granularity=void 0,this.stRotation=void 0,this.numberOfVerticalLines=void 0},T=function(e){this._dynamicObject=e,this._dynamicObjectSubscription=e.definitionChanged.addEventListener(T.prototype._onDynamicObjectPropertyChanged,this),this._fillEnabled=!1,this._isClosed=!1,this._dynamic=!1,this._outlineEnabled=!1,this._geometryChanged=new u,this._showProperty=void 0,this._materialProperty=void 0,this._hasConstantOutline=!0,this._showOutlineProperty=void 0,this._outlineColorProperty=void 0,this._options=new b(e),this._onDynamicObjectPropertyChanged(e,"ellipse",e.ellipse,void 0)};n(T,{perInstanceColorAppearanceType:{value:_},materialAppearanceType:{value:g}}),n(T.prototype,{dynamicObject:{get:function(){return this._dynamicObject}},fillEnabled:{get:function(){return this._fillEnabled}},hasConstantFill:{get:function(){return!this._fillEnabled||!i(this._dynamicObject.availability)&&v.isConstant(this._showProperty)&&v.isConstant(this._fillProperty)}},fillMaterialProperty:{get:function(){return this._materialProperty}},outlineEnabled:{get:function(){return this._outlineEnabled}},hasConstantOutline:{get:function(){return!this._outlineEnabled||!i(this._dynamicObject.availability)&&v.isConstant(this._showProperty)&&v.isConstant(this._showOutlineProperty)}},outlineColorProperty:{get:function(){return this._outlineColorProperty}},isDynamic:{get:function(){return this._dynamic}},isClosed:{get:function(){return this._isClosed}},geometryChanged:{get:function(){return this._geometryChanged}}}),T.prototype.isOutlineVisible=function(e){var t=this._dynamicObject;return this._outlineEnabled&&t.isAvailable(e)&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)},T.prototype.isFilled=function(e){var t=this._dynamicObject;return this._fillEnabled&&t.isAvailable(e)&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)},T.prototype.createFillGeometryInstance=function(r){var n,o,a=this._dynamicObject,l=a.isAvailable(r),u=new d(l&&this._showProperty.getValue(r)&&this._fillProperty.getValue(r));if(this._materialProperty instanceof m){var h=e.WHITE;i(this._materialProperty.color)&&(this._materialProperty.color.isConstant||l)&&(h=this._materialProperty.color.getValue(r)),o=t.fromColor(h),n={show:u,color:o}}else n={show:u};return new c({id:a,geometry:new s(this._options),attributes:n})},T.prototype.createOutlineGeometryInstance=function(r){var i=this._dynamicObject,n=i.isAvailable(r);return new c({id:i,geometry:new l(this._options),attributes:{show:new d(n&&this._showProperty.getValue(r)&&this._showOutlineProperty.getValue(r)),color:t.fromColor(n?this._outlineColorProperty.getValue(r):e.BLACK)}})},T.prototype.isDestroyed=function(){return!1},T.prototype.destroy=function(){this._dynamicObjectSubscription(),o(this)},T.prototype._onDynamicObjectPropertyChanged=function(e,t){if("availability"===t||"position"===t||"ellipse"===t){var n=this._dynamicObject.ellipse;if(!i(n))return(this._fillEnabled||this._outlineEnabled)&&(this._fillEnabled=!1,this._outlineEnabled=!1,this._geometryChanged.raiseEvent(this)),void 0;var o=n.fill,a=i(o)&&o.isConstant?o.getValue(h.MINIMUM_VALUE):!0,s=n.outline,l=i(s);if(l&&s.isConstant&&(l=s.getValue(h.MINIMUM_VALUE)),!a&&!l)return(this._fillEnabled||this._outlineEnabled)&&(this._fillEnabled=!1,this._outlineEnabled=!1,this._geometryChanged.raiseEvent(this)),void 0;var u=this._dynamicObject.position,c=n.semiMajorAxis,d=n.semiMinorAxis,p=n.show;if(i(p)&&p.isConstant&&!p.getValue(h.MINIMUM_VALUE)||!i(u)||!i(c)||!i(d))return(this._fillEnabled||this._outlineEnabled)&&(this._fillEnabled=!1,this._outlineEnabled=!1,this._geometryChanged.raiseEvent(this)),void 0;var f=r(n.material,C),y=f instanceof m;this._materialProperty=f,this._fillProperty=r(o,w),this._showProperty=r(p,S),this._showOutlineProperty=r(n.outline,E),this._outlineColorProperty=l?r(n.outlineColor,x):void 0;var b=n.rotation,T=n.height,A=n.extrudedHeight,P=n.granularity,D=n.stRotation,M=n.numberOfVerticalLines;if(this._isClosed=i(A),this._fillEnabled=a,this._outlineEnabled=l,u.isConstant&&c.isConstant&&d.isConstant&&v.isConstant(b)&&v.isConstant(T)&&v.isConstant(A)&&v.isConstant(P)&&v.isConstant(D)&&v.isConstant(M)){var I=this._options;I.vertexFormat=y?_.VERTEX_FORMAT:g.VERTEX_FORMAT,I.center=u.getValue(h.MINIMUM_VALUE,I.center),I.semiMajorAxis=c.getValue(h.MINIMUM_VALUE,I.semiMajorAxis),I.semiMinorAxis=d.getValue(h.MINIMUM_VALUE,I.semiMinorAxis),I.rotation=i(b)?b.getValue(h.MINIMUM_VALUE):void 0,I.height=i(T)?T.getValue(h.MINIMUM_VALUE):void 0,I.extrudedHeight=i(A)?A.getValue(h.MINIMUM_VALUE):void 0,I.granularity=i(P)?P.getValue(h.MINIMUM_VALUE):void 0,I.stRotation=i(D)?D.getValue(h.MINIMUM_VALUE):void 0,I.numberOfVerticalLines=i(M)?M.getValue(h.MINIMUM_VALUE):void 0,this._dynamic=!1,this._geometryChanged.raiseEvent(this)}else this._dynamic||(this._dynamic=!0,this._geometryChanged.raiseEvent(this))}},T.prototype.createDynamicUpdater=function(e){return new A(e,this)};var A=function(e,t){this._primitives=e,this._primitive=void 0,this._outlinePrimitive=void 0,this._geometryUpdater=t,this._options=new b(t._dynamicObject)};return A.prototype.update=function(r){var n=this._geometryUpdater;i(this._primitive)&&this._primitives.remove(this._primitive),i(this._outlinePrimitive)&&this._primitives.remove(this._outlinePrimitive);var o=n._dynamicObject,a=o.ellipse,u=a.show;if(o.isAvailable(r)&&(!i(u)||u.getValue(r))){var h=this._options,d=o.position,m=a.semiMajorAxis,p=a.semiMinorAxis,v=a.rotation,C=a.height,S=a.extrudedHeight,w=a.granularity,E=a.stRotation,x=a.numberOfVerticalLines;if(h.center=d.getValue(r,h.center),h.semiMajorAxis=m.getValue(r,h.semiMajorAxis),h.semiMinorAxis=p.getValue(r,h.semiMinorAxis),h.rotation=i(v)?v.getValue(r,h):void 0,h.height=i(C)?C.getValue(r,h):void 0,h.extrudedHeight=i(S)?S.getValue(r,h):void 0,h.granularity=i(w)?w.getValue(r):void 0,h.stRotation=i(E)?E.getValue(r):void 0,!i(a.fill)||a.fill.getValue(r)){this._material=f.getValue(r,n.fillMaterialProperty,this._material);var b=this._material,T=new g({material:b,translucent:b.isTranslucent(),closed:i(h.extrudedHeight)});h.vertexFormat=T.vertexFormat,this._primitive=new y({geometryInstances:new c({id:o,geometry:new s(h)}),appearance:T,asynchronous:!1}),this._primitives.add(this._primitive)}if(i(a.outline)&&a.outline.getValue(r)){h.vertexFormat=_.VERTEX_FORMAT,h.numberOfVerticalLines=i(x)?x.getValue(r):void 0;var A=i(a.outlineColor)?a.outlineColor.getValue(r):e.BLACK;this._outlinePrimitive=new y({geometryInstances:new c({id:o,geometry:new l(h),attributes:{color:t.fromColor(A)}}),appearance:new _({flat:!0,translucent:1!==A.alpha}),asynchronous:!1}),this._primitives.add(this._outlinePrimitive)}}},A.prototype.isDestroyed=function(){return!1},A.prototype.destroy=function(){i(this._primitive)&&this._primitives.remove(this._primitive),i(this._outlinePrimitive)&&this._primitives.remove(this._outlinePrimitive),o(this)},T}),r("DynamicScene/EllipsoidGeometryUpdater",["../Core/Cartesian3","../Core/Color","../Core/ColorGeometryInstanceAttribute","../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/destroyObject","../Core/DeveloperError","../Core/EllipsoidGeometry","../Core/EllipsoidOutlineGeometry","../Core/Event","../Core/GeometryInstance","../Core/Iso8601","../Core/Matrix3","../Core/Matrix4","../Core/ShowGeometryInstanceAttribute","../DynamicScene/ColorMaterialProperty","../DynamicScene/ConstantProperty","../DynamicScene/MaterialProperty","../DynamicScene/Property","../Scene/MaterialAppearance","../Scene/PerInstanceColorAppearance","../Scene/Primitive","../Scene/PrimitiveState","../Scene/SceneMode"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f,v,g,_,y,C,S,w,E,x){"use strict";var b,T,A,P,D=v.fromColor(t.WHITE),M=new g(!0),I=new g(!0),O=new g(!1),R=new g(t.BLACK),L=new e(1,1,1),N=function(e){this.id=e,this.vertexFormat=void 0,this.radii=void 0,this.stackPartitions=void 0,this.slicePartitions=void 0,this.subdivisions=void 0},B=function(e,t){this._scene=t,this._dynamicObject=e,this._dynamicObjectSubscription=e.definitionChanged.addEventListener(B.prototype._onDynamicObjectPropertyChanged,this),this._fillEnabled=!1,this._dynamic=!1,this._outlineEnabled=!1,this._geometryChanged=new c,this._showProperty=void 0,this._materialProperty=void 0,this._hasConstantOutline=!0,this._showOutlineProperty=void 0,this._outlineColorProperty=void 0,this._options=new N(e),this._onDynamicObjectPropertyChanged(e,"ellipsoid",e.ellipsoid,void 0)};o(B,{perInstanceColorAppearanceType:{value:S},materialAppearanceType:{value:C}}),o(B.prototype,{dynamicObject:{get:function(){return this._dynamicObject}},fillEnabled:{get:function(){return this._fillEnabled}},hasConstantFill:{get:function(){return!this._fillEnabled||!n(this._dynamicObject.availability)&&y.isConstant(this._showProperty)&&y.isConstant(this._fillProperty)}},fillMaterialProperty:{get:function(){return this._materialProperty}},outlineEnabled:{get:function(){return this._outlineEnabled}},hasConstantOutline:{get:function(){return!this._outlineEnabled||!n(this._dynamicObject.availability)&&y.isConstant(this._showProperty)&&y.isConstant(this._showOutlineProperty)}},outlineColorProperty:{get:function(){return this._outlineColorProperty}},isDynamic:{get:function(){return this._dynamic}},isClosed:{value:!0},geometryChanged:{get:function(){return this._geometryChanged}}}),B.prototype.isOutlineVisible=function(e){var t=this._dynamicObject;return this._outlineEnabled&&t.isAvailable(e)&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)},B.prototype.isFilled=function(e){var t=this._dynamicObject;return this._fillEnabled&&t.isAvailable(e)&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)},B.prototype.createFillGeometryInstance=function(e){var i,o,a=this._dynamicObject,s=a.isAvailable(e),u=new f(s&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e));if(this._materialProperty instanceof v){var c=t.WHITE;n(this._materialProperty.color)&&(this._materialProperty.color.isConstant||s)&&(c=this._materialProperty.color.getValue(e)),o=r.fromColor(c),i={show:u,color:o}}else i={show:u};return b=a.position.getValue(d.MINIMUM_VALUE,b),T=a.orientation.getValue(d.MINIMUM_VALUE,T),P=m.fromQuaternion(T,P),new h({id:a,geometry:new l(this._options),modelMatrix:p.fromRotationTranslation(P,b),attributes:i})},B.prototype.createOutlineGeometryInstance=function(e){var i=this._dynamicObject,n=i.isAvailable(e);return b=i.position.getValue(d.MINIMUM_VALUE,b),T=i.orientation.getValue(d.MINIMUM_VALUE,T),P=m.fromQuaternion(T,P),new h({id:i,geometry:new u(this._options),modelMatrix:p.fromRotationTranslation(P,b),attributes:{show:new f(n&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:r.fromColor(n?this._outlineColorProperty.getValue(e):t.BLACK)}})},B.prototype.isDestroyed=function(){return!1},B.prototype.destroy=function(){this._dynamicObjectSubscription(),a(this)},B.prototype._onDynamicObjectPropertyChanged=function(e,t){if("availability"===t||"position"===t||"orientation"===t||"ellipsoid"===t){var r=this._dynamicObject.ellipsoid;if(!n(r))return(this._fillEnabled||this._outlineEnabled)&&(this._fillEnabled=!1,this._outlineEnabled=!1,this._geometryChanged.raiseEvent(this)),void 0;var o=r.fill,a=n(o)&&o.isConstant?o.getValue(d.MINIMUM_VALUE):!0,s=r.outline,l=n(s);if(l&&s.isConstant&&(l=s.getValue(d.MINIMUM_VALUE)),!a&&!l)return(this._fillEnabled||this._outlineEnabled)&&(this._fillEnabled=!1,this._outlineEnabled=!1,this._geometryChanged.raiseEvent(this)),void 0;var u=this._dynamicObject.position,c=this._dynamicObject.orientation,h=r.radii,m=r.show;if(n(m)&&m.isConstant&&!m.getValue(d.MINIMUM_VALUE)||!n(u)||!n(c)||!n(h))return(this._fillEnabled||this._outlineEnabled)&&(this._fillEnabled=!1,this._outlineEnabled=!1,this._geometryChanged.raiseEvent(this)),void 0;var p=i(r.material,D),f=p instanceof v;this._materialProperty=p,this._fillProperty=i(o,I),this._showProperty=i(m,M),this._showOutlineProperty=i(r.outline,O),this._outlineColorProperty=l?i(r.outlineColor,R):void 0,this._fillEnabled=a,this._outlineEnabled=l;var g=r.stackPartitions,_=r.slicePartitions,w=r.subdivisions;if(u.isConstant&&c.isConstant&&h.isConstant&&y.isConstant(g)&&y.isConstant(_)&&y.isConstant(w)){var E=this._options;E.vertexFormat=f?S.VERTEX_FORMAT:C.VERTEX_FORMAT,E.radii=h.getValue(d.MINIMUM_VALUE,E.radii),E.stackPartitions=n(g)?g.getValue(d.MINIMUM_VALUE):void 0,E.slicePartitions=n(_)?_.getValue(d.MINIMUM_VALUE):void 0,E.subdivisions=n(w)?w.getValue(d.MINIMUM_VALUE):void 0,this._dynamic=!1,this._geometryChanged.raiseEvent(this)}else this._dynamic||(this._dynamic=!0,this._geometryChanged.raiseEvent(this))}},B.prototype.createDynamicUpdater=function(e){return new z(e,this)};var z=function(e,t){this._dynamicObject=t._dynamicObject,this._scene=t._scene,this._primitives=e,this._primitive=void 0,this._outlinePrimitive=void 0,this._geometryUpdater=t,this._options=new N(t._dynamicObject),this._modelMatrix=new p,this._material=void 0,this._attributes=void 0,this._outlineAttributes=void 0,this._lastSceneMode=void 0};return z.prototype.update=function(e){var o=this._dynamicObject,a=o.ellipsoid,s=a.show;if(!o.isAvailable(e)||n(s)&&!s.getValue(e))return n(this._primitive)&&(this._primitive.show=!1),n(this._outlinePrimitive)&&(this._outlinePrimitive.show=!1),void 0;var c,d=!n(a.fill)||a.fill.getValue(e),v=n(a.outline)&&a.outline.getValue(e),g=n(a.outlineColor)?a.outlineColor.getValue(e):t.BLACK,y=_.getValue(e,i(a.material,D),this._material);this._material=y;var M=a.stackPartitions,I=a.slicePartitions,O=a.subdivisions,R=n(M)?M.getValue(e):void 0,N=n(I)?I.getValue(e):void 0,B=n(O)?O.getValue(e):void 0,z=this._options,F=this._scene.mode,V=F===x.SCENE3D,k=this._modelMatrix,U=o.position,W=o.orientation,G=a.radii;b=U.getValue(e,b),T=W.getValue(e,T),P=m.fromQuaternion(T,P),A=G.getValue(e,A),k=p.fromRotationTranslation(P,b,k);var H=!V||this._lastSceneMode!==F||!n(this._primitive)||z.stackPartitions!==R||z.slicePartitions!==N||z.subdivisions!==B;if(H)this._removePrimitives(),this._lastSceneMode=F,z.stackPartitions=R,z.slicePartitions=N,z.subdivisions=B,z.radii=V?L:A,this._material=y,y=this._material,c=new C({material:y,translucent:y.isTranslucent(),closed:!0}),z.vertexFormat=c.vertexFormat,this._primitive=new w({geometryInstances:new h({id:o,geometry:new l(z),modelMatrix:V?void 0:k}),appearance:c,asynchronous:!1,attributes:{show:new f(d)}}),this._primitives.add(this._primitive),z.vertexFormat=S.VERTEX_FORMAT,this._outlinePrimitive=new w({geometryInstances:new h({id:o,geometry:new u(z),modelMatrix:V?void 0:k,attributes:{show:new f(v),color:r.fromColor(g)}}),appearance:new S({flat:!0,translucent:1!==g.alpha}),asynchronous:!1}),this._primitives.add(this._outlinePrimitive);else if(this._primitive._state===E.COMPLETE){var j=this._primitive;c=j.appearance,c.material=y;var q=this._attributes;n(q)||(q=j.getGeometryInstanceAttributes(o),this._attributes=q),q.show=f.toValue(d,q.show);var Y=this._outlinePrimitive,X=this._outlineAttributes;n(X)||(X=Y.getGeometryInstanceAttributes(o),this._outlineAttributes=X),X.show=f.toValue(v,X.show),X.color=r.toValue(g,X.color)}V&&(A.x=Math.max(A.x,.001),A.y=Math.max(A.y,.001),A.z=Math.max(A.z,.001),k=p.multiplyByScale(k,A,k),this._primitive.modelMatrix=k,this._outlinePrimitive.modelMatrix=k)},z.prototype.isDestroyed=function(){return!1},z.prototype._removePrimitives=function(){n(this._primitive)&&this._primitives.remove(this._primitive),n(this._outlinePrimitive)&&this._primitives.remove(this._outlinePrimitive)},z.prototype.destroy=function(){this._removePrimitives(),a(this)},B}),r("DynamicScene/StaticGeometryColorBatch",["../Core/Color","../Core/ColorGeometryInstanceAttribute","../Core/defined","../Core/AssociativeArray","../Core/ShowGeometryInstanceAttribute","../Scene/Primitive","../Scene/PrimitiveState"],function(e,t,r,i,n,o,a){"use strict";var s=new e,l=function(e,t,r,n){this.translucent=t,this.appearanceType=r,this.closed=n,this.primitives=e,this.createPrimitive=!1,this.primitive=void 0,this.geometry=new i,this.updaters=new i,this.updatersWithAttributes=new i,this.attributes=new i,this.itemsToRemove=[]};l.prototype.add=function(e,t){var r=e.dynamicObject.id;this.createPrimitive=!0,this.geometry.set(r,t),this.updaters.set(r,e),e.hasConstantFill&&e.fillMaterialProperty.isConstant||this.updatersWithAttributes.set(r,e)},l.prototype.remove=function(e){var t=e.dynamicObject.id;this.createPrimitive=this.geometry.remove(t)||this.createPrimitive,this.updaters.remove(t),this.updatersWithAttributes.remove(t)},l.prototype.update=function(e){var i=0,l=this.primitive,u=this.primitives;if(this.createPrimitive){this.attributes.removeAll(),r(l)&&u.remove(l);var c=this.geometry.values;c.length>0&&(l=new o({asynchronous:!1,geometryInstances:c,appearance:new this.appearanceType({translucent:this.translucent,closed:this.closed})}),u.add(l)),this.primitive=l,this.createPrimitive=!1}else if(r(l)&&l._state===a.COMPLETE)for(var h=this.updatersWithAttributes.values,d=h.length,m=0;d>m;m++){var p=h[m],f=this.geometry.get(p.dynamicObject.id),v=this.attributes.get(f.id.id);if(r(v)||(v=l.getGeometryInstanceAttributes(f.id),this.attributes.set(f.id.id,v)),!p.fillMaterialProperty.isConstant){var g=p.fillMaterialProperty.color;g.getValue(e,s),v.color=t.toValue(s,v.color),(this.translucent&&255===v.color[3]||!this.translucent&&255!==v.color[3])&&(this.itemsToRemove[i++]=p)}p.hasConstantFill||(v.show=n.toValue(p.isFilled(e),v.show))}this.itemsToRemove.length=i},l.prototype.removeAllPrimitives=function(){var e=this.primitive;r(e)&&(this.primitives.remove(e),this.primitive=void 0,this.geometry.removeAll(),this.updaters.removeAll())};var u=function(e,t,r){this._solidBatch=new l(e,!1,t,r),this._translucentBatch=new l(e,!0,t,r)};return u.prototype.add=function(e,t){var r=t.createFillGeometryInstance(e);255===r.attributes.color.value[3]?this._solidBatch.add(t,r):this._translucentBatch.add(t,r)},u.prototype.remove=function(e){this._solidBatch.remove(e)||this._translucentBatch.remove(e)},u.prototype.update=function(e){var t,r;this._solidBatch.update(e),this._translucentBatch.update(e);var i=this._solidBatch.itemsToRemove,n=i.length;if(n>0)for(t=0;n>t;t++)r=i[t],this._solidBatch.remove(r),this._translucentBatch.add(r,r.createFillGeometryInstance(e));i=this._translucentBatch.itemsToRemove;var o=i.length;if(o>0)for(t=0;o>t;t++)r=i[t],this._translucentBatch.remove(r),this._solidBatch.add(r,r.createFillGeometryInstance(e));(n>0||o>0)&&(this._solidBatch.update(e),this._translucentBatch.update(e))},u.prototype.removeAllPrimitives=function(){this._solidBatch.removeAllPrimitives(),this._translucentBatch.removeAllPrimitives()},u}),r("DynamicScene/StaticGeometryPerMaterialBatch",["../Core/defined","../Core/AssociativeArray","../Core/ShowGeometryInstanceAttribute","../Scene/Primitive","../Scene/Material","../Scene/PrimitiveState","./MaterialProperty"],function(e,t,r,i,n,o,a){"use strict";var s=function(e,r,i,o){this.primitives=e,this.appearanceType=r,this.materialProperty=i,this.closed=o,this.updaters=new t,this.createPrimitive=!0,this.primitive=void 0,this.geometry=new t,this.material=n.fromType("Color"),this.updatersWithAttributes=new t,this.attributes=new t,this.invalidated=!1,this.removeMaterialSubscription=i.definitionChanged.addEventListener(s.prototype.onMaterialChanged,this)};s.prototype.onMaterialChanged=function(){this.invalidated=!0},s.prototype.isMaterial=function(t){var r=this.materialProperty,i=t.fillMaterialProperty;return i===r?!0:e(r)?r.equals(i):!1},s.prototype.add=function(e,t){var r=t.dynamicObject.id;this.updaters.set(r,t),this.geometry.set(r,t.createFillGeometryInstance(e)),t.hasConstantFill&&t.fillMaterialProperty.isConstant||this.updatersWithAttributes.set(r,t),this.createPrimitive=!0},s.prototype.remove=function(e){var t=e.dynamicObject.id;return this.createPrimitive=this.updaters.remove(t),this.geometry.remove(t),this.updatersWithAttributes.remove(t),this.createPrimitive},s.prototype.update=function(t){var n=this.primitive,s=this.primitives,l=this.geometry.values;if(this.createPrimitive)e(n)&&s.remove(n),l.length>0&&(n=new i({asynchronous:!1,geometryInstances:l,appearance:new this.appearanceType({material:a.getValue(t,this.materialProperty,this.material),translucent:this.material.isTranslucent(),closed:this.closed})}),s.add(n)),this.primitive=n,this.createPrimitive=!1;else if(e(n)&&n._state===o.COMPLETE){this.primitive.appearance.material=a.getValue(t,this.materialProperty,this.material);for(var u=this.updatersWithAttributes.values,c=u.length,h=0;c>h;h++){var d=u[h],m=this.geometry.get(d.dynamicObject.id),p=this.attributes.get(m.id.id);e(p)||(p=n.getGeometryInstanceAttributes(m.id),this.attributes.set(m.id.id,p)),d.hasConstantFill||(p.show=r.toValue(d.isFilled(t),p.show))}}},s.prototype.destroy=function(){var t=this.primitive,r=this.primitives;e(t)&&r.remove(t),this.removeMaterialSubscription()};var l=function(e,t,r){this._items=[],this._primitives=e,this._appearanceType=t,this._closed=r};return l.prototype.add=function(e,t){for(var r=this._items,i=r.length,n=0;i>n;n++){var o=r[n];if(o.isMaterial(t))return o.add(e,t),void 0}var a=new s(this._primitives,this._appearanceType,t.fillMaterialProperty,this._closed);a.add(e,t),r.push(a)},l.prototype.remove=function(e){for(var t=this._items,r=t.length,i=r-1;i>=0;i--){var n=t[i];if(n.remove(e)){0===n.updaters.length&&(t.splice(i,1),n.destroy());break}}},l.prototype.update=function(e){var t,r=this._items,i=r.length;for(t=i-1;t>=0;t--){var n=r[t];if(n.invalidated){r.splice(t,1);for(var o=n.updaters.values,a=o.length,s=0;a>s;t++)this.add(o[s]);n.destroy()}}for(t=0;i>t;t++)r[t].update(e)},l.prototype.removeAllPrimitives=function(){for(var e=this._items,t=e.length,r=0;t>r;r++)e[r].destroy();this._items.length=0},l}),r("DynamicScene/StaticOutlineGeometryBatch",["../Core/Color","../Core/ColorGeometryInstanceAttribute","../Core/defined","../Core/AssociativeArray","../Core/ShowGeometryInstanceAttribute","../Scene/PerInstanceColorAppearance","../Scene/Primitive","../Scene/PrimitiveState"],function(e,t,r,i,n,o,a,s){"use strict";var l=function(e,t,r){this.translucent=t,this.appearanceType=r,this.primitives=e,this.createPrimitive=!1,this.primitive=void 0,this.geometry=new i,this.updaters=new i,this.updatersWithAttributes=new i,this.attributes=new i,this.itemsToRemove=[]};l.prototype.add=function(e,t){var r=e.dynamicObject.id;this.createPrimitive=!0,this.geometry.set(r,t),this.updaters.set(r,e),e.hasConstantOutline&&e.outlineColorProperty.isConstant||this.updatersWithAttributes.set(r,e)},l.prototype.remove=function(e){var t=e.dynamicObject.id;this.createPrimitive=this.geometry.remove(t)||this.createPrimitive,this.updaters.remove(t),this.updatersWithAttributes.remove(t)};var u=new e;l.prototype.update=function(e){var i=0,l=this.primitive,c=this.primitives;if(this.createPrimitive){this.attributes.removeAll(),r(l)&&c.remove(l);var h=this.geometry.values;h.length>0&&(l=new a({asynchronous:!1,geometryInstances:h,appearance:new o({flat:!0,translucent:this.translucent})}),c.add(l)),this.primitive=l,this.createPrimitive=!1}else if(r(l)&&l._state===s.COMPLETE)for(var d=this.updatersWithAttributes.values,m=d.length,p=0;m>p;p++){var f=d[p],v=this.geometry.get(f.dynamicObject.id),g=this.attributes.get(v.id.id);r(g)||(g=l.getGeometryInstanceAttributes(v.id),this.attributes.set(v.id.id,g));var _=f.outlineColorProperty;_.getValue(e,u),g.color=t.toValue(u,g.color),(this.translucent&&255===g.color[3]||!this.translucent&&255!==g.color[3])&&(this.itemsToRemove[i++]=f),g.show=n.toValue(f.isOutlineVisible(e),g.show)}this.itemsToRemove.length=i},l.prototype.removeAllPrimitives=function(){var e=this.primitive;r(e)&&(this.primitives.remove(e),this.primitive=void 0,this.geometry.removeAll(),this.updaters.removeAll())};var c=function(e,t){this._solidBatch=new l(e,!1,t),this._translucentBatch=new l(e,!0,t)};return c.prototype.add=function(e,t){var r=t.createOutlineGeometryInstance(e);255===r.attributes.color.value[3]?this._solidBatch.add(t,r):this._translucentBatch.add(t,r)},c.prototype.remove=function(e){this._solidBatch.remove(e)||this._translucentBatch.remove(e)},c.prototype.update=function(e){var t,r;this._solidBatch.update(e),this._translucentBatch.update(e);var i=this._solidBatch.itemsToRemove,n=i.length;if(n>0)for(t=0;n>t;t++)r=i[t],this._solidBatch.remove(r),this._translucentBatch.add(r,r.createOutlineGeometryInstance(e));i=this._translucentBatch.itemsToRemove;var o=i.length;if(o>0)for(t=0;o>t;t++)r=i[t],this._translucentBatch.remove(r),this._solidBatch.add(r,r.createOutlineGeometryInstance(e));(n>0||o>0)&&(this._solidBatch.update(e),this._translucentBatch.update(e))},c.prototype.removeAllPrimitives=function(){this._solidBatch.removeAllPrimitives(),this._translucentBatch.removeAllPrimitives()},c}),r("DynamicScene/GeometryVisualizer",["../Core/AssociativeArray","../Core/defined","../Core/destroyObject","../Core/DeveloperError","./ColorMaterialProperty","./StaticGeometryColorBatch","./StaticGeometryPerMaterialBatch","./StaticOutlineGeometryBatch"],function(e,t,r,i,n,o,a,s){"use strict";function l(e,t){e._outlineBatch.remove(t),e._closedColorBatch.remove(t),e._closedMaterialBatch.remove(t),e._openColorBatch.remove(t),e._openMaterialBatch.remove(t),e._dynamicBatch.remove(t)}function u(e,t,r){return r.isDynamic?(e._dynamicBatch.add(t,r),void 0):(r.outlineEnabled&&e._outlineBatch.add(t,r),r.fillEnabled&&(r.isClosed?r.fillMaterialProperty instanceof n?e._closedColorBatch.add(t,r):e._closedMaterialBatch.add(t,r):r.fillMaterialProperty instanceof n?e._openColorBatch.add(t,r):e._openMaterialBatch.add(t,r)),void 0)}var c=[],h=function(t){this._primitives=t,this._dynamicUpdaters=new e};h.prototype.add=function(e,t){this._dynamicUpdaters.set(t.dynamicObject.id,t.createDynamicUpdater(this._primitives))},h.prototype.remove=function(e){var r=e.dynamicObject.id,i=this._dynamicUpdaters.get(r);t(i)&&(this._dynamicUpdaters.remove(r),i.destroy())},h.prototype.update=function(e){for(var t=this._dynamicUpdaters.values,r=0,i=t.length;i>r;r++)t[r].update(e)},h.prototype.removeAllPrimitives=function(){for(var e=this._dynamicUpdaters.values,t=0,r=e.length;r>t;t++)e[t].destroy();this._dynamicUpdaters.removeAll()};var d=function(t,r,i){this._type=t;var n=r.primitives;this._scene=r,this._primitives=n,this._dynamicObjectCollection=void 0,this._addedObjects=new e,this._removedObjects=new e,this._changedObjects=new e,this._outlineBatch=new s(n),this._closedColorBatch=new o(n,t.perInstanceColorAppearanceType,!0),this._closedMaterialBatch=new a(n,t.materialAppearanceType,!0),this._openColorBatch=new o(n,t.perInstanceColorAppearanceType,!1),this._openMaterialBatch=new a(n,t.materialAppearanceType,!1),this._dynamicBatch=new h(n),this._subscriptions=new e,this._updaters=new e,this.setDynamicObjectCollection(i)};return d.prototype.getScene=function(){return this._scene},d.prototype.getDynamicObjectCollection=function(){return this._dynamicObjectCollection},d.prototype.setDynamicObjectCollection=function(e){var r=this._dynamicObjectCollection;r!==e&&(t(r)&&(r.collectionChanged.removeEventListener(d.prototype._onCollectionChanged,this),this.removeAllPrimitives()),this._dynamicObjectCollection=e,t(e)&&(e.collectionChanged.addEventListener(d.prototype._onCollectionChanged,this),this._onCollectionChanged(e,e.getObjects(),c)))},d.prototype.update=function(e){var t,r,i,n,o=this._addedObjects,a=o.values,s=this._removedObjects,c=s.values,h=this._changedObjects,m=h.values;for(t=c.length-1;t>-1;t--)r=c[t],i=r.id,n=this._updaters.get(i),l(this,n),n.destroy(),this._updaters.remove(i),this._subscriptions.get(i)(),this._subscriptions.remove(i); +for(t=a.length-1;t>-1;t--)r=a[t],i=r.id,n=new this._type(r,this._scene),this._updaters.set(i,n),u(this,e,n),this._subscriptions.set(i,n.geometryChanged.addEventListener(d._onGeometryChanged,this));for(t=m.length-1;t>-1;t--)r=m[t],i=r.id,n=this._updaters.get(i),l(this,n),u(this,e,n);o.removeAll(),s.removeAll(),h.removeAll(),this._outlineBatch.update(e),this._closedColorBatch.update(e),this._closedMaterialBatch.update(e),this._openColorBatch.update(e),this._openMaterialBatch.update(e),this._dynamicBatch.update(e)},d.prototype.removeAllPrimitives=function(){this._addedObjects.removeAll(),this._removedObjects.removeAll(),this._outlineBatch.removeAllPrimitives(),this._closedColorBatch.removeAllPrimitives(),this._closedMaterialBatch.removeAllPrimitives(),this._openColorBatch.removeAllPrimitives(),this._openMaterialBatch.removeAllPrimitives(),this._dynamicBatch.removeAllPrimitives();for(var e=this._subscriptions.values,t=e.length,r=0;t>r;r++)e[r]();this._subscriptions.removeAll()},d.prototype.isDestroyed=function(){return!1},d.prototype.destroy=function(){return this.removeAllPrimitives(),r(this)},d._onGeometryChanged=function(e){var r=this._removedObjects,i=this._changedObjects,n=e.dynamicObject,o=n.id;t(r.get(o))||t(i.get(o))||i.set(o,n)},d.prototype._onCollectionChanged=function(e,t,r){var i,n,o,a=this._addedObjects,s=this._removedObjects,l=this._changedObjects;for(i=r.length-1;i>-1;i--)o=r[i],n=o.id,a.remove(n)||(s.set(n,o),l.remove(n));for(i=t.length-1;i>-1;i--)o=t[i],n=o.id,s.remove(n)?l.set(n,o):a.set(n,o)},d}),r("DynamicScene/PolygonGeometryUpdater",["../Core/Color","../Core/ColorGeometryInstanceAttribute","../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/destroyObject","../Core/DeveloperError","../Core/PolygonGeometry","../Core/PolygonOutlineGeometry","../Core/Event","../Core/GeometryInstance","../Core/Iso8601","../Core/ShowGeometryInstanceAttribute","../DynamicScene/ColorMaterialProperty","../DynamicScene/ConstantProperty","../DynamicScene/MaterialProperty","../DynamicScene/Property","../Scene/MaterialAppearance","../Scene/PerInstanceColorAppearance","../Scene/Primitive"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f,v,g,_,y){"use strict";var C=m.fromColor(e.WHITE),S=new p(!0),w=new p(!0),E=new p(!1),x=new p(e.BLACK),b=function(e){this.id=e,this.vertexFormat=void 0,this.polygonHierarchy={positions:void 0},this.perPositionHeight=void 0,this.height=void 0,this.extrudedHeight=void 0,this.granularity=void 0,this.stRotation=void 0},T=function(e){this._dynamicObject=e,this._dynamicObjectSubscription=e.definitionChanged.addEventListener(T.prototype._onDynamicObjectPropertyChanged,this),this._fillEnabled=!1,this._isClosed=!1,this._dynamic=!1,this._outlineEnabled=!1,this._geometryChanged=new u,this._showProperty=void 0,this._materialProperty=void 0,this._hasConstantOutline=!0,this._showOutlineProperty=void 0,this._outlineColorProperty=void 0,this._options=new b(e),this._onDynamicObjectPropertyChanged(e,"polygon",e.polygon,void 0)};n(T,{perInstanceColorAppearanceType:{value:_},materialAppearanceType:{value:g}}),n(T.prototype,{dynamicObject:{get:function(){return this._dynamicObject}},fillEnabled:{get:function(){return this._fillEnabled}},hasConstantFill:{get:function(){return!this._fillEnabled||!i(this._dynamicObject.availability)&&v.isConstant(this._showProperty)&&v.isConstant(this._fillProperty)}},fillMaterialProperty:{get:function(){return this._materialProperty}},outlineEnabled:{get:function(){return this._outlineEnabled}},hasConstantOutline:{get:function(){return!this._outlineEnabled||!i(this._dynamicObject.availability)&&v.isConstant(this._showProperty)&&v.isConstant(this._showOutlineProperty)}},outlineColorProperty:{get:function(){return this._outlineColorProperty}},isDynamic:{get:function(){return this._dynamic}},isClosed:{get:function(){return this._isClosed}},geometryChanged:{get:function(){return this._geometryChanged}}}),T.prototype.isOutlineVisible=function(e){var t=this._dynamicObject;return this._outlineEnabled&&t.isAvailable(e)&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)},T.prototype.isFilled=function(e){var t=this._dynamicObject;return this._fillEnabled&&t.isAvailable(e)&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)},T.prototype.createFillGeometryInstance=function(r){var n,o,a=this._dynamicObject,l=a.isAvailable(r),u=new d(l&&this._showProperty.getValue(r)&&this._fillProperty.getValue(r));if(this._materialProperty instanceof m){var h=e.WHITE;i(this._materialProperty.color)&&(this._materialProperty.color.isConstant||l)&&(h=this._materialProperty.color.getValue(r)),o=t.fromColor(h),n={show:u,color:o}}else n={show:u};return new c({id:a,geometry:new s(this._options),attributes:n})},T.prototype.createOutlineGeometryInstance=function(r){var i=this._dynamicObject,n=i.isAvailable(r);return new c({id:i,geometry:new l(this._options),attributes:{show:new d(n&&this._showProperty.getValue(r)&&this._showOutlineProperty.getValue(r)),color:t.fromColor(n?this._outlineColorProperty.getValue(r):e.BLACK)}})},T.prototype.isDestroyed=function(){return!1},T.prototype.destroy=function(){this._dynamicObjectSubscription(),o(this)},T.prototype._onDynamicObjectPropertyChanged=function(e,t){if("availability"===t||"vertexPositions"===t||"polygon"===t){var n=this._dynamicObject.polygon;if(!i(n))return(this._fillEnabled||this._outlineEnabled)&&(this._fillEnabled=!1,this._outlineEnabled=!1,this._geometryChanged.raiseEvent(this)),void 0;var o=n.fill,a=i(o)&&o.isConstant?o.getValue(h.MINIMUM_VALUE):!0,s=n.outline,l=i(s);if(l&&s.isConstant&&(l=s.getValue(h.MINIMUM_VALUE)),!a&&!l)return(this._fillEnabled||this._outlineEnabled)&&(this._fillEnabled=!1,this._outlineEnabled=!1,this._geometryChanged.raiseEvent(this)),void 0;var u=this._dynamicObject.vertexPositions,c=n.show;if(i(c)&&c.isConstant&&!c.getValue(h.MINIMUM_VALUE)||!i(u))return(this._fillEnabled||this._outlineEnabled)&&(this._fillEnabled=!1,this._outlineEnabled=!1,this._geometryChanged.raiseEvent(this)),void 0;var d=r(n.material,C),p=d instanceof m;this._materialProperty=d,this._fillProperty=r(o,w),this._showProperty=r(c,S),this._showOutlineProperty=r(n.outline,E),this._outlineColorProperty=l?r(n.outlineColor,x):void 0;var f=n.height,y=n.extrudedHeight,b=n.granularity,T=n.stRotation,A=n.perPositionHeight;if(this._isClosed=i(y),this._fillEnabled=a,this._outlineEnabled=l,u.isConstant&&v.isConstant(f)&&v.isConstant(y)&&v.isConstant(b)&&v.isConstant(T)&&v.isConstant(A)){var P=this._options;P.vertexFormat=p?_.VERTEX_FORMAT:g.VERTEX_FORMAT,P.polygonHierarchy.positions=u.getValue(h.MINIMUM_VALUE,P.polygonHierarchy.positions),P.height=i(f)?f.getValue(h.MINIMUM_VALUE):void 0,P.extrudedHeight=i(y)?y.getValue(h.MINIMUM_VALUE):void 0,P.granularity=i(b)?b.getValue(h.MINIMUM_VALUE):void 0,P.stRotation=i(T)?T.getValue(h.MINIMUM_VALUE):void 0,P.perPositionHeight=i(A)?A.getValue(h.MINIMUM_VALUE):void 0,this._dynamic=!1,this._geometryChanged.raiseEvent(this)}else this._dynamic||(this._dynamic=!0,this._geometryChanged.raiseEvent(this))}},T.prototype.createDynamicUpdater=function(e){return new A(e,this)};var A=function(e,t){this._primitives=e,this._primitive=void 0,this._outlinePrimitive=void 0,this._geometryUpdater=t,this._options=new b(t._dynamicObject)};return A.prototype.update=function(r){var n=this._geometryUpdater;i(this._primitive)&&this._primitives.remove(this._primitive),i(this._outlinePrimitive)&&this._primitives.remove(this._outlinePrimitive);var o=n._dynamicObject,a=o.polygon,u=a.show;if(o.isAvailable(r)&&(!i(u)||u.getValue(r))){var h=this._options,d=o.vertexPositions,m=a.perPositionHeight,p=a.height,v=a.extrudedHeight,C=a.granularity,S=a.stRotation;if(h.polygonHierarchy.positions=d.getValue(r,h.polygonHierarchy.positions),h.height=i(p)?p.getValue(r,h):void 0,h.extrudedHeight=i(v)?v.getValue(r,h):void 0,h.granularity=i(C)?C.getValue(r):void 0,h.stRotation=i(S)?S.getValue(r):void 0,!i(a.fill)||a.fill.getValue(r)){h.perPositionHeight=i(m)?m.getValue(r):void 0,this._material=f.getValue(r,n.fillMaterialProperty,this._material);var w=this._material,E=new g({material:w,translucent:w.isTranslucent(),closed:i(h.extrudedHeight)});h.vertexFormat=E.vertexFormat,this._primitive=new y({geometryInstances:new c({id:o,geometry:new s(h)}),appearance:E,asynchronous:!1}),this._primitives.add(this._primitive)}if(i(a.outline)&&a.outline.getValue(r)){h.vertexFormat=_.VERTEX_FORMAT;var x=i(a.outlineColor)?a.outlineColor.getValue(r):e.BLACK;this._outlinePrimitive=new y({geometryInstances:new c({id:o,geometry:new l(h),attributes:{color:t.fromColor(x)}}),appearance:new _({flat:!0,translucent:1!==x.alpha}),asynchronous:!1}),this._primitives.add(this._outlinePrimitive)}}},A.prototype.isDestroyed=function(){return!1},A.prototype.destroy=function(){i(this._primitive)&&this._primitives.remove(this._primitive),i(this._outlinePrimitive)&&this._primitives.remove(this._outlinePrimitive),o(this)},T}),r("Shaders/Appearances/PolylineMaterialAppearanceVS",[],function(){"use strict";return"attribute vec3 position3DHigh;\nattribute vec3 position3DLow;\nattribute vec3 prevPosition3DHigh;\nattribute vec3 prevPosition3DLow;\nattribute vec3 nextPosition3DHigh;\nattribute vec3 nextPosition3DLow;\nattribute vec2 expandAndWidth;\nattribute vec2 st;\nvarying float v_width;\nvarying vec2 v_st;\nvoid main()\n{\nfloat expandDir = expandAndWidth.x;\nfloat width = abs(expandAndWidth.y) + 0.5;\nbool usePrev = expandAndWidth.y < 0.0;\nvec4 p = czm_computePosition();\nvec4 prev = czm_computePrevPosition();\nvec4 next = czm_computeNextPosition();\nv_width = width;\nv_st = st;\nvec4 positionWC = getPolylineWindowCoordinates(p, prev, next, expandDir, width, usePrev);\ngl_Position = czm_viewportOrthographic * positionWC;\n}\n"}),r("Scene/PolylineMaterialAppearance",["../Core/defaultValue","../Core/defined","../Core/VertexFormat","./Material","./Appearance","../Renderer/createShaderSource","../Shaders/Appearances/PolylineMaterialAppearanceVS","../Shaders/PolylineFS","../Shaders/PolylineCommon"],function(e,t,r,i,n,o,a,s,l){"use strict";var u=function(r){r=e(r,e.EMPTY_OBJECT);var c=e(r.translucent,!0),h=!1,d=o({sources:[l,a]}),m=s,p=u.VERTEX_FORMAT;this.material=t(r.material)?r.material:i.fromType(i.ColorType),this.vertexShaderSource=e(r.vertexShaderSource,d),this.fragmentShaderSource=e(r.fragmentShaderSource,m),this.renderState=e(r.renderState,n.getDefaultRenderState(c,h)),this.vertexFormat=p,this.translucent=c,this.closed=h};return u.VERTEX_FORMAT=r.POSITION_AND_ST,u.prototype.getFragmentShaderSource=n.prototype.getFragmentShaderSource,u.prototype.isTranslucent=n.prototype.isTranslucent,u.prototype.getRenderState=n.prototype.getRenderState,u}),r("Shaders/Appearances/PolylineColorAppearanceVS",[],function(){"use strict";return"attribute vec3 position3DHigh;\nattribute vec3 position3DLow;\nattribute vec3 prevPosition3DHigh;\nattribute vec3 prevPosition3DLow;\nattribute vec3 nextPosition3DHigh;\nattribute vec3 nextPosition3DLow;\nattribute vec2 expandAndWidth;\nattribute vec4 color;\nvarying vec4 v_color;\nvoid main()\n{\nfloat expandDir = expandAndWidth.x;\nfloat width = abs(expandAndWidth.y) + 0.5;\nbool usePrev = expandAndWidth.y < 0.0;\nvec4 p = czm_computePosition();\nvec4 prev = czm_computePrevPosition();\nvec4 next = czm_computeNextPosition();\nv_color = color;\nvec4 positionWC = getPolylineWindowCoordinates(p, prev, next, expandDir, width, usePrev);\ngl_Position = czm_viewportOrthographic * positionWC;\n}\n"}),r("Scene/PolylineColorAppearance",["../Core/defaultValue","../Core/VertexFormat","./Appearance","../Renderer/createShaderSource","../Shaders/Appearances/PolylineColorAppearanceVS","../Shaders/Appearances/PerInstanceFlatColorAppearanceFS","../Shaders/PolylineCommon"],function(e,t,r,i,n,o,a){"use strict";var s=function(t){t=e(t,e.EMPTY_OBJECT);var l=e(t.translucent,!0),u=!1,c=i({sources:[a,n]}),h=o,d=s.VERTEX_FORMAT;this.material=void 0,this.vertexShaderSource=e(t.vertexShaderSource,c),this.fragmentShaderSource=e(t.fragmentShaderSource,h),this.renderState=e(t.renderState,r.getDefaultRenderState(l,u)),this.vertexFormat=d,this.translucent=l,this.closed=u};return s.VERTEX_FORMAT=t.POSITION_ONLY,s.prototype.getFragmentShaderSource=r.prototype.getFragmentShaderSource,s.prototype.isTranslucent=r.prototype.isTranslucent,s.prototype.getRenderState=r.prototype.getRenderState,s}),r("DynamicScene/PolylineGeometryUpdater",["../Core/Color","../Core/ColorGeometryInstanceAttribute","../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/destroyObject","../Core/DeveloperError","../Core/PolylineGeometry","../Core/Event","../Core/GeometryInstance","../Core/Iso8601","../Core/ShowGeometryInstanceAttribute","../DynamicScene/ColorMaterialProperty","../DynamicScene/ConstantProperty","../DynamicScene/MaterialProperty","../DynamicScene/Property","../Scene/PolylineMaterialAppearance","../Scene/PolylineColorAppearance","../Scene/Primitive"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f,v,g,_){"use strict";var y=d.fromColor(e.WHITE),C=new m(!0),S=function(e){this.id=e,this.vertexFormat=void 0,this.positions=void 0,this.width=void 0},w=function(e){this._dynamicObject=e,this._dynamicObjectSubscription=e.definitionChanged.addEventListener(w.prototype._onDynamicObjectPropertyChanged,this),this._fillEnabled=!1,this._dynamic=!1,this._geometryChanged=new l,this._showProperty=void 0,this._materialProperty=void 0,this._options=new S(e),this._onDynamicObjectPropertyChanged(e,"polyline",e.polyline,void 0)};n(w,{perInstanceColorAppearanceType:{value:g},materialAppearanceType:{value:v}}),n(w.prototype,{dynamicObject:{get:function(){return this._dynamicObject}},fillEnabled:{get:function(){return this._fillEnabled}},hasConstantFill:{get:function(){return!this._fillEnabled||!i(this._dynamicObject.availability)&&f.isConstant(this._showProperty)}},fillMaterialProperty:{get:function(){return this._materialProperty}},outlineEnabled:{value:!1},hasConstantOutline:{value:!0},outlineColorProperty:{value:void 0},isDynamic:{get:function(){return this._dynamic}},isClosed:{value:!1},geometryChanged:{get:function(){return this._geometryChanged}}}),w.prototype.isOutlineVisible=function(){return!1},w.prototype.isFilled=function(e){var t=this._dynamicObject;return this._fillEnabled&&t.isAvailable(e)&&this._showProperty.getValue(e)},w.prototype.createFillGeometryInstance=function(r){var n,o,a=this._dynamicObject,l=a.isAvailable(r),c=new h(l&&this._showProperty.getValue(r));if(this._materialProperty instanceof d){var m=e.WHITE;i(this._materialProperty.color)&&(this._materialProperty.color.isConstant||l)&&(m=this._materialProperty.color.getValue(r)),n=t.fromColor(m),o={show:c,color:n}}else o={show:c};return new u({id:a,geometry:new s(this._options),attributes:o})},w.prototype.createOutlineGeometryInstance=function(){},w.prototype.isDestroyed=function(){return!1},w.prototype.destroy=function(){this._dynamicObjectSubscription(),o(this)},w.prototype._onDynamicObjectPropertyChanged=function(e,t){if("availability"===t||"vertexPositions"===t||"polyline"===t){var n=this._dynamicObject.polyline;if(!i(n))return this._fillEnabled&&(this._fillEnabled=!1,this._geometryChanged.raiseEvent(this)),void 0;var o=this._dynamicObject.vertexPositions,a=n.show;if(i(a)&&a.isConstant&&!a.getValue(c.MINIMUM_VALUE)||!i(o))return this._fillEnabled&&(this._fillEnabled=!1,this._geometryChanged.raiseEvent(this)),void 0;var s=r(n.material,y),l=s instanceof d;this._materialProperty=s,this._showProperty=r(a,C),this._fillEnabled=!0;var u=n.width;if(o.isConstant&&f.isConstant(u)){var h=this._options,m=o.getValue(c.MINIMUM_VALUE,h.positions);if(!i(m)||m.length<2)return this._fillEnabled&&(this._fillEnabled=!1,this._geometryChanged.raiseEvent(this)),void 0;h.vertexFormat=l?g.VERTEX_FORMAT:v.VERTEX_FORMAT,h.positions=m,h.width=i(u)?u.getValue(c.MINIMUM_VALUE):void 0,this._dynamic=!1,this._geometryChanged.raiseEvent(this)}else this._dynamic||(this._dynamic=!0,this._geometryChanged.raiseEvent(this))}},w.prototype.createDynamicUpdater=function(e){return new E(e,this)};var E=function(e,t){this._primitives=e,this._primitive=void 0,this._geometryUpdater=t,this._options=new S(t._dynamicObject)};return E.prototype.update=function(e){var t=this._geometryUpdater;i(this._primitive)&&this._primitives.remove(this._primitive);var r=t._dynamicObject,n=r.polyline,o=n.show;if(r.isAvailable(e)&&(!i(o)||o.getValue(e))){var a=this._options,l=r.vertexPositions,c=l.getValue(e,a.positions);if(i(c)&&!(c.length<2)){a.positions=c;var h=n.width;a.width=i(h)?h.getValue(e):void 0,this._material=p.getValue(e,t.fillMaterialProperty,this._material);var d=this._material,m=new v({material:d,translucent:d.isTranslucent(),closed:!1});a.vertexFormat=m.vertexFormat,this._primitive=new _({geometryInstances:new u({id:r,geometry:new s(a)}),appearance:m,asynchronous:!1}),this._primitives.add(this._primitive)}}},E.prototype.isDestroyed=function(){return!1},E.prototype.destroy=function(){i(this._primitive)&&this._primitives.remove(this._primitive),o(this)},w}),r("DynamicScene/DataSourceDisplay",["../Core/defaultValue","../Core/defined","../Core/destroyObject","../Core/DeveloperError","../Core/EventHelper","./DynamicBillboardVisualizer","./DynamicConeVisualizerUsingCustomSensor","./DynamicLabelVisualizer","./DynamicModelVisualizer","./DynamicPathVisualizer","./DynamicPointVisualizer","./DynamicPyramidVisualizer","./DynamicVectorVisualizer","./EllipseGeometryUpdater","./EllipsoidGeometryUpdater","./GeometryVisualizer","./PolygonGeometryUpdater","./PolylineGeometryUpdater"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f,v,g){"use strict";var _=function(e,t){var r=t.getDynamicObjectCollection();return[new o(e,r),new f(m,e,r),new f(p,e,r),new f(v,e,r),new f(g,e,r),new a(e,r),new s(e,r),new l(e,r),new c(e,r),new d(e,r),new h(e,r),new u(e,r)]},y=function(t,r,i){this._eventHelper=new n,this._eventHelper.add(r.dataSourceAdded,this._onDataSourceAdded,this),this._eventHelper.add(r.dataSourceRemoved,this._onDataSourceRemoved,this),this._dataSourceCollection=r,this._scene=t,this._timeVaryingSources=[],this._staticSourcesToUpdate=[],this._visualizersCallback=e(i,_);for(var o=0,a=r.length;a>o;o++)this._onDataSourceAdded(r,r.get(o))};return y.prototype.getScene=function(){return this._scene},y.prototype.getDataSources=function(){return this._dataSourceCollection},y.prototype.isDestroyed=function(){return!1},y.prototype.destroy=function(){this._eventHelper.removeAll();for(var e=this._dataSourceCollection,t=0,i=e.length;i>t;++t)this._onDataSourceRemoved(this._dataSourceCollection,e.get(t));return r(this)},y.prototype.update=function(e){var t,r,i,n,o=this._timeVaryingSources,a=o.length;for(t=0;a>t;t++)for(i=o[t]._visualizers,n=i.length,r=0;n>r;r++)i[r].update(e);var s=this._staticSourcesToUpdate;for(a=s.length,t=0;a>t;t++)for(i=s[t]._visualizers,n=i.length,r=0;n>r;r++)i[r].update(e);s.length=0},y.prototype._onDataSourceAdded=function(e,t){var r=this._visualizersCallback(this._scene,t);t._visualizers=r,t.getChangedEvent().addEventListener(this._onDataSourceChanged,this),this._onDataSourceChanged(t)},y.prototype._onDataSourceRemoved=function(e,t){t.getChangedEvent().removeEventListener(this._onDataSourceChanged,this);var r=this._timeVaryingSources.indexOf(t);-1!==r&&this._timeVaryingSources.splice(r,1);var i=this._staticSourcesToUpdate.indexOf(t);-1!==i&&this._staticSourcesToUpdate.splice(i,1);for(var n=t._visualizers,o=n.length,a=0;o>a;a++)n[a].destroy(),t._visualizers=void 0},y.prototype._onDataSourceChanged=function(e){var t=this._timeVaryingSources.indexOf(e),r=this._staticSourcesToUpdate.indexOf(e);e.getIsTimeVarying()?(-1===t&&this._timeVaryingSources.push(e),-1!==r&&this._staticSourcesToUpdate.splice(r,1)):(-1===r&&this._staticSourcesToUpdate.push(e),-1!==t&&this._timeVaryingSources.splice(r,1))},y}),r("DynamicScene/DynamicGeometryUpdater",["../Core/DeveloperError"],function(e){"use strict";var t=function(){e.throwInstantiationError()};return t.prototype.update=e.throwInstantiationError,t.prototype.isDestroyed=e.throwInstantiationError,t.prototype.destroy=e.throwInstantiationError,t}),r("Scene/CameraColumbusViewMode",["../Core/Enumeration"],function(e){"use strict";var t={FREE:new e(0,"FREE"),LOCKED:new e(1,"LOCKED")};return t}),r("DynamicScene/DynamicObjectView",["../Core/defaultValue","../Core/defined","../Core/DeveloperError","../Core/Math","../Core/Cartesian2","../Core/Cartesian3","../Core/Cartesian4","../Core/Cartographic","../Core/Quaternion","../Core/Matrix3","../Core/Matrix4","../Core/Ellipsoid","../Core/Transforms","../Scene/CameraColumbusViewMode","../Scene/SceneMode"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p){"use strict";function f(e,r,i,a,s,l,u,c){var h,d=e.scene,m=d.mode!==e._mode;m?(e._mode=d.mode,e._screenSpaceCameraController.enableTranslate=!1,h=o.magnitude(a)):h=i?o.magnitude(a):r.position.z;var p=s.getValue(l,e._lastCartesian);if(t(p)){var f=u.cartesianToCartographic(p,e._lastCartographic);f.height=h,i||m?(r.controller.setPositionCartographic(f),r.up.z=0,o.normalize(r.up,r.up),r.right.z=0,o.normalize(r.right,r.right),n.clone(r.right,e._first2dUp)):r.position=c.project(f),e._lastDistance=r.frustum.right-r.frustum.left,n.clone(r.right,e._last2dUp)}}function v(e,r,n,a,s,l,c){_(e,r,n,a);var m=s.getValue(l,e._lastCartesian);if(t(m)){var p=!1,f=l.addSeconds(.01),v=s.getValue(f,E);if(t(v)&&!o.equalsEpsilon(m,v,i.EPSILON6)){var g,T=d.computeFixedToIcrfMatrix(l,C),A=d.computeFixedToIcrfMatrix(f,S);t(T)&&t(A)?g=u.transpose(T,w):(g=d.computeTemeToPseudoFixedMatrix(l,w),T=u.transpose(g,C),A=d.computeTemeToPseudoFixedMatrix(f,S),u.transpose(A,A));var P=x;o.normalize(m,P),o.normalize(v,v),u.multiplyByVector(T,P,P),u.multiplyByVector(A,v,v);var D=o.cross(P,v,b);if(!o.equalsEpsilon(D,o.ZERO,i.EPSILON6)){var M=o.cross(D,P,E);u.multiplyByVector(g,M,M),u.multiplyByVector(g,D,D),u.multiplyByVector(g,P,P),o.normalize(M,M),o.normalize(D,D),o.normalize(P,P);var I=y;I[0]=M.x,I[1]=M.y,I[2]=M.z,I[3]=0,I[4]=D.x,I[5]=D.y,I[6]=D.z,I[7]=0,I[8]=P.x,I[9]=P.y,I[10]=P.z,I[11]=0,I[12]=m.x,I[13]=m.y,I[14]=m.z,I[15]=0,r.transform=I,p=!0}}p||(r.transform=d.eastNorthUpToFixedFrame(m,c,y)),e._screenSpaceCameraController.ellipsoid=h.UNIT_SPHERE;var O=r.position;o.clone(O,e._lastOffset),e._lastDistance=o.magnitude(O)}}function g(e,r,i,n,a,s,l,u){_(e,r,i,n);var d=a.getValue(s,e._lastCartesian);if(t(d)){var p=l.cartesianToCartographic(d,e._lastCartographic),f=u.project(p);T.x=f.z,T.y=f.x,T.z=f.y;var v=r.transform;c.setColumn(v,3,T,v);var g=e._screenSpaceCameraController;g.enableTranslate=!1,g.ellipsoid=h.UNIT_SPHERE,g.columbusViewMode=m.LOCKED;var y=r.position;o.clone(y,e._lastOffset),e._lastDistance=o.magnitude(y)}}function _(e,t,r,a){var s=e.scene;if(r)t.controller.lookAt(a,o.ZERO,o.UNIT_Z);else if(s.mode!==e._mode){e._mode=s.mode;var c=e._first2dUp,h=e._last2dUp;if(!n.equals(c,h)){var d=Math.acos(c.x);c.y<0&&(d=i.TWO_PI-d);var m=Math.acos(h.x);h.y<0&&(m=i.TWO_PI-m),h.x=0,h.y=0,c.x=0,c.y=0;var p=m-d,f=l.fromAxisAngle(o.UNIT_Z,p,A);u.multiplyByVector(u.fromQuaternion(f,P),a,a)}o.multiplyByScalar(o.normalize(a,a),e._lastDistance,a),t.controller.lookAt(a,o.ZERO,o.UNIT_Z)}}var y=new c,C=new u,S=new u,w=new u,E=new o,x=new o,b=new o,T=new a(0,0,0,1),A=new l,P=new u,D=new o(1e4,-1e4,1e4),M=new o,I=function(t,r,i){this.dynamicObject=t,this.scene=r,this._lastScene=void 0,this.ellipsoid=e(i,h.WGS84),this._lastDynamicObject=void 0,this._mode=void 0,this._lastCartesian=new o,this._lastCartographic=new s,this._lastDistance=void 0,this._lastOffset=new o,this._offsetScratch=new o,this._first2dUp=new n,this._last2dUp=new n};return I.prototype.update=function(e){var r=this.scene,i=this.dynamicObject,n=this.ellipsoid;r!==this._lastScene&&(this._lastScene=r,this._screenSpaceCameraController=r.screenSpaceCameraController);var a=i.position,s=i!==this._lastDynamicObject,l=this._offsetScratch;if(s){this._lastDynamicObject=i;var u=this.dynamicObject.viewFrom;t(u)&&t(u.getValue(e,l))||o.clone(D,l);var c=this._first2dUp,h=this._last2dUp;c.x=c.y=0,h.x=h.y=0,o.clone(l,this._lastOffset),this._lastDistance=o.magnitude(l),o.equals(o.normalize(l,M),o.UNIT_Z)&&(l.y-=.01)}else t(this._lastOffset)?l=this._lastOffset:o.clone(D,l);var d=r.mode;d===p.SCENE2D?f(this,r.camera,s,l,a,e,n,r.scene2D.projection):d===p.SCENE3D?v(this,r.camera,s,l,a,e,n):d===p.COLUMBUS_VIEW&&g(this,r.camera,s,l,a,e,n,r.scene2D.projection)},I}),r("ThirdParty/topojson",[],function(){var e=function(){function e(e,t){function r(t){var r=e.arcs[t],i=r[0],n=[0,0];return r.forEach(function(e){n[0]+=e[0],n[1]+=e[1]}),[i,n]}var i={},n={},o={};t.forEach(function(e){var t=r(e);(i[t[0]]||(i[t[0]]=[])).push(e),(i[t[1]]||(i[t[1]]=[])).push(~e)}),t.forEach(function(e){var t,i,a=r(e),s=a[0],l=a[1];if(t=o[s])if(delete o[t.end],t.push(e),t.end=l,i=n[l]){delete n[i.start];var u=i===t?t:t.concat(i);n[u.start=t.start]=o[u.end=i.end]=u}else if(i=o[l]){delete n[i.start],delete o[i.end];var u=t.concat(i.map(function(e){return~e}).reverse());n[u.start=t.start]=o[u.end=i.start]=u}else n[t.start]=o[t.end]=t;else if(t=n[l])if(delete n[t.start],t.unshift(e),t.start=s,i=o[s]){delete o[i.end];var c=i===t?t:i.concat(t);n[c.start=i.start]=o[c.end=t.end]=c}else if(i=n[s]){delete n[i.start],delete o[i.end];var c=i.map(function(e){return~e}).reverse().concat(t);n[c.start=i.end]=o[c.end=t.end]=c}else n[t.start]=o[t.end]=t;else if(t=n[s])if(delete n[t.start],t.unshift(~e),t.start=l,i=o[l]){delete o[i.end];var c=i===t?t:i.concat(t);n[c.start=i.start]=o[c.end=t.end]=c}else if(i=n[l]){delete n[i.start],delete o[i.end];var c=i.map(function(e){return~e}).reverse().concat(t);n[c.start=i.end]=o[c.end=t.end]=c}else n[t.start]=o[t.end]=t;else if(t=o[l])if(delete o[t.end],t.push(~e),t.end=s,i=o[s]){delete n[i.start];var u=i===t?t:t.concat(i);n[u.start=t.start]=o[u.end=i.end]=u}else if(i=n[s]){delete n[i.start],delete o[i.end];var u=t.concat(i.map(function(e){return~e}).reverse());n[u.start=t.start]=o[u.end=i.start]=u}else n[t.start]=o[t.end]=t;else t=[e],n[t.start=s]=o[t.end=l]=t});var a=[];for(var s in o)a.push(o[s]);return a}function t(t,r,i){function o(e){0>e&&(e=~e),(h[e]||(h[e]=[])).push(c)}function a(e){e.forEach(o)}function s(e){e.forEach(a)}function l(e){"GeometryCollection"===e.type?e.geometries.forEach(l):e.type in d&&(c=e,d[e.type](e.arcs))}var u=[];if(arguments.length>1){var c,h=[],d={LineString:a,MultiLineString:s,Polygon:s,MultiPolygon:function(e){e.forEach(s)}};l(r),h.forEach(arguments.length<3?function(e,t){u.push(t)}:function(e,t){i(e[0],e[e.length-1])&&u.push(t)})}else for(var m=0,p=t.arcs.length;p>m;++m)u.push(m);return n(t,{type:"MultiLineString",arcs:e(t,u)})}function r(e,t){return"GeometryCollection"===t.type?{type:"FeatureCollection",features:t.geometries.map(function(t){return i(e,t)})}:i(e,t)}function i(e,t){var r={type:"Feature",id:t.id,properties:t.properties||{},geometry:n(e,t)};return null==t.id&&delete r.id,r}function n(e,t){function r(e,t){t.length&&t.pop();for(var r,i=p[0>e?~e:e],n=0,a=i.length,s=0,l=0;a>n;++n)t.push([(s+=(r=i[n])[0])*c+d,(l+=r[1])*h+m]);0>e&&o(t,a)}function i(e){return[e[0]*c+d,e[1]*h+m]}function n(e){for(var t=[],i=0,n=e.length;n>i;++i)r(e[i],t);return t.length<2&&t.push(t[0]),t}function a(e){for(var t=n(e);t.length<4;)t.push(t[0]);return t}function s(e){return e.map(a)}function l(e){var t=e.type;return"GeometryCollection"===t?{type:t,geometries:e.geometries.map(l)}:t in f?{type:t,coordinates:f[t](e)}:null}var u=e.transform,c=u.scale[0],h=u.scale[1],d=u.translate[0],m=u.translate[1],p=e.arcs,f={Point:function(e){return i(e.coordinates)},MultiPoint:function(e){return e.coordinates.map(i)},LineString:function(e){return n(e.arcs)},MultiLineString:function(e){return e.arcs.map(n)},Polygon:function(e){return s(e.arcs)},MultiPolygon:function(e){return e.arcs.map(s)}};return l(t)}function o(e,t){for(var r,i=e.length,n=i-t;n<--i;)r=e[n],e[n++]=e[i],e[i]=r}function a(e,t){for(var r=0,i=e.length;i>r;){var n=r+i>>>1;e[n]e&&(e=~e);var r=n[e];r?r.push(t):n[e]=[t]})}function r(e,r){e.forEach(function(e){t(e,r)})}function i(e,t){"GeometryCollection"===e.type?e.geometries.forEach(function(e){i(e,t)}):e.type in s&&s[e.type](e.arcs,t)}var n={},o=e.map(function(){return[]}),s={LineString:t,MultiLineString:r,Polygon:r,MultiPolygon:function(e,t){e.forEach(function(e){r(e,t)})}};e.forEach(i);for(var l in n)for(var u=n[l],c=u.length,h=0;c>h;++h)for(var d=h+1;c>d;++d){var m,p=u[h],f=u[d];(m=o[p])[l=a(m,f)]!==f&&m.splice(l,0,f),(m=o[f])[l=a(m,p)]!==p&&m.splice(l,0,p)}return o}return{version:"1.1.4",mesh:t,feature:r,neighbors:s}}();return e}),r("DynamicScene/GeoJsonDataSource",["../Core/createGuid","../Core/Cartographic","../Core/Color","../Core/defined","../Core/DeveloperError","../Core/getFilenameFromUri","../Core/RuntimeError","../Core/Ellipsoid","../Core/Event","../Core/loadJson","./ConstantProperty","./DynamicObject","./DynamicPoint","./DynamicPolyline","./DynamicPolygon","./ColorMaterialProperty","./DynamicObjectCollection","../ThirdParty/when","../ThirdParty/topojson"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f,v,g,_){"use strict";function y(e,t){var r='';for(var n in e)if(e.hasOwnProperty(n)){if(n===t)continue;var o=e[n];i(o)&&(r+="object"==typeof o?"":"")}return r+="
"+n+""+y(o)+"
"+n+""+o+"
"}function C(t,r){var n=t.id;if(i(n)&&"Feature"===t.type){for(var o=2,a=n;i(r.getById(a));)a=n+"_"+o,o++;n=a}else n=e();var s=r.getOrCreateObject(n);s.geoJson=t;var l=t.properties;if(i(l)){var u,c;for(u in l)if(l.hasOwnProperty(u)){var h=u.toUpperCase();if("NAME"===h||"TITLE"===h){c=u,s.name=l[u];break}}if(!i(c))for(u in l)if(l.hasOwnProperty(u)&&(/name/i.test(u)||/title/i.test(u))){c=u,s.name=l[u];break}var d=y(l,c);s.description={getValue:function(){return d}}}return s}function S(e,t){for(var r=new Array(e.length),i=0;ia;a++)w(e,o[a],void 0,i,n)}function x(e,t,r,n,o){for(var s=r.geometries,l=0,u=s.length;u>l;l++){var c=s[l],h=c.type,d=L[h];if(!i(d))throw new a("Unknown geometry type: "+h);d(e,t,c,n,o)}}function b(e,t,r,i){var n=C(t,e._dynamicObjectCollection);n.merge(e.defaultPoint),n.position=new c(i(r.coordinates))}function T(e,t,r,i){for(var n=r.coordinates,o=0;oi;i++)if(!o.isConstant(t[i]))return!1;return!0}},definitionChanged:{get:function(){return this._definitionChanged}}}),a.prototype.getValue=function(t,r){var i=this._value;if(!e(i))return void 0;var n=i.length;e(r)||(r=new Array(n));for(var o=0,a=0;n>o;){var s=this._value[o],l=s.getValue(t,r[o]);e(l)&&(r[a]=l,a++),o++}return r.length=a,r},a.prototype.setValue=function(t){var r=this._eventHelper;if(r.removeAll(),e(t)){this._value=t.slice();for(var i=t.length,n=0;i>n;n++){var o=t[n];e(o)&&r.add(o.definitionChanged,a.prototype._raiseDefinitionChanged,this)}}else this._value=void 0;this._definitionChanged.raiseEvent(this)},a.prototype.equals=function(e){return this===e||e instanceof a&&o.arrayEquals(this._value,e._value)},a.prototype._raiseDefinitionChanged=function(){this._definitionChanged.raiseEvent(this)},a}),r("Renderer/UniformDatatype",["../Core/Enumeration"],function(e){"use strict";var t={FLOAT:new e(5126,"FLOAT",{getGLSL:function(){return"float"}}),FLOAT_VEC2:new e(35664,"FLOAT_VEC2",{getGLSL:function(){return"vec2"}}),FLOAT_VEC3:new e(35665,"FLOAT_VEC3",{getGLSL:function(){return"vec3"}}),FLOAT_VEC4:new e(35666,"FLOAT_VEC4",{getGLSL:function(){return"vec4"}}),INT:new e(5124,"INT",{getGLSL:function(){return"int"}}),INT_VEC2:new e(35667,"INT_VEC2",{getGLSL:function(){return"ivec2"}}),INT_VEC3:new e(35668,"INT_VEC3",{getGLSL:function(){return"ivec3"}}),INT_VEC4:new e(35669,"INT_VEC4",{getGLSL:function(){return"ivec4"}}),BOOL:new e(35670,"BOOL",{getGLSL:function(){return"bool"}}),BOOL_VEC2:new e(35671,"BOOL_VEC2",{getGLSL:function(){return"bvec2"}}),BOOL_VEC3:new e(35672,"BOOL_VEC3",{getGLSL:function(){return"bvec3"}}),BOOL_VEC4:new e(35673,"BOOL_VEC4",{getGLSL:function(){return"bvec4"}}),FLOAT_MAT2:new e(35674,"FLOAT_MAT2",{getGLSL:function(){return"mat2"}}),FLOAT_MAT3:new e(35675,"FLOAT_MAT3",{getGLSL:function(){return"mat3"}}),FLOAT_MAT4:new e(35676,"FLOAT_MAT4",{getGLSL:function(){return"mat4"}}),SAMPLER_2D:new e(35678,"SAMPLER_2D",{getGLSL:function(){return"sampler2D"}}),SAMPLER_CUBE:new e(35680,"SAMPLER_CUBE",{getGLSL:function(){return"samplerCube"}})};return t}),r("Renderer/AutomaticUniforms",["../Core/Cartesian3","../Core/Matrix4","./UniformDatatype"],function(e,t,r){"use strict";var i=new e,n=function(e){this.getSize=e.getSize,this.getDatatype=e.getDatatype,this.getValue=e.getValue};n.prototype.getDeclaration=function(e){var t="uniform "+this.getDatatype().getGLSL()+" "+e,r=this.getSize();return t+=1===r?";":"["+r.toString()+"];"};var o={czm_viewport:new n({getSize:function(){return 1},getDatatype:function(){return r.FLOAT_VEC4},getValue:function(e){return e.getViewportCartesian4()}}),czm_viewportOrthographic:new n({getSize:function(){return 1},getDatatype:function(){return r.FLOAT_MAT4},getValue:function(e){return e.getViewportOrthographic()}}),czm_viewportTransformation:new n({getSize:function(){return 1},getDatatype:function(){return r.FLOAT_MAT4},getValue:function(e){return e.getViewportTransformation()}}),czm_model:new n({getSize:function(){return 1},getDatatype:function(){return r.FLOAT_MAT4},getValue:function(e){return e.getModel()}}),czm_inverseModel:new n({getSize:function(){return 1},getDatatype:function(){return r.FLOAT_MAT4},getValue:function(e){return e.getInverseModel()}}),czm_view:new n({getSize:function(){return 1},getDatatype:function(){return r.FLOAT_MAT4},getValue:function(e){return e.getView()}}),czm_view3D:new n({getSize:function(){return 1},getDatatype:function(){return r.FLOAT_MAT4},getValue:function(e){return e.getView3D()}}),czm_viewRotation:new n({getSize:function(){return 1},getDatatype:function(){return r.FLOAT_MAT3},getValue:function(e){return e.getViewRotation()}}),czm_viewRotation3D:new n({getSize:function(){return 1},getDatatype:function(){return r.FLOAT_MAT3},getValue:function(e){return e.getViewRotation3D()}}),czm_inverseView:new n({getSize:function(){return 1},getDatatype:function(){return r.FLOAT_MAT4},getValue:function(e){return e.getInverseView()}}),czm_inverseView3D:new n({getSize:function(){return 1},getDatatype:function(){return r.FLOAT_MAT4},getValue:function(e){return e.getInverseView3D()}}),czm_inverseViewRotation:new n({getSize:function(){return 1},getDatatype:function(){return r.FLOAT_MAT3},getValue:function(e){return e.getInverseViewRotation()}}),czm_inverseViewRotation3D:new n({getSize:function(){return 1},getDatatype:function(){return r.FLOAT_MAT3},getValue:function(e){return e.getInverseViewRotation3D()}}),czm_projection:new n({getSize:function(){return 1},getDatatype:function(){return r.FLOAT_MAT4},getValue:function(e){return e.getProjection()}}),czm_inverseProjection:new n({getSize:function(){return 1},getDatatype:function(){return r.FLOAT_MAT4},getValue:function(e){return e.getInverseProjection()}}),czm_infiniteProjection:new n({getSize:function(){return 1},getDatatype:function(){return r.FLOAT_MAT4},getValue:function(e){return e.getInfiniteProjection()}}),czm_modelView:new n({getSize:function(){return 1},getDatatype:function(){return r.FLOAT_MAT4},getValue:function(e){return e.getModelView()}}),czm_modelView3D:new n({getSize:function(){return 1},getDatatype:function(){return r.FLOAT_MAT4},getValue:function(e){return e.getModelView3D()}}),czm_modelViewRelativeToEye:new n({getSize:function(){return 1},getDatatype:function(){return r.FLOAT_MAT4},getValue:function(e){return e.getModelViewRelativeToEye()}}),czm_inverseModelView:new n({getSize:function(){return 1},getDatatype:function(){return r.FLOAT_MAT4},getValue:function(e){return e.getInverseModelView()}}),czm_inverseModelView3D:new n({getSize:function(){return 1},getDatatype:function(){return r.FLOAT_MAT4},getValue:function(e){return e.getInverseModelView3D()}}),czm_viewProjection:new n({getSize:function(){return 1},getDatatype:function(){return r.FLOAT_MAT4},getValue:function(e){return e.getViewProjection()}}),czm_inverseViewProjection:new n({getSize:function(){return 1},getDatatype:function(){return r.FLOAT_MAT4},getValue:function(e){return e.getInverseViewProjection()}}),czm_modelViewProjection:new n({getSize:function(){return 1},getDatatype:function(){return r.FLOAT_MAT4},getValue:function(e){return e.getModelViewProjection()}}),czm_inverseModelViewProjection:new n({getSize:function(){return 1},getDatatype:function(){return r.FLOAT_MAT4},getValue:function(e){return e.getInverseModelViewProjection()}}),czm_modelViewProjectionRelativeToEye:new n({getSize:function(){return 1},getDatatype:function(){return r.FLOAT_MAT4},getValue:function(e){return e.getModelViewProjectionRelativeToEye()}}),czm_modelViewInfiniteProjection:new n({getSize:function(){return 1},getDatatype:function(){return r.FLOAT_MAT4},getValue:function(e){return e.getModelViewInfiniteProjection()}}),czm_normal:new n({getSize:function(){return 1},getDatatype:function(){return r.FLOAT_MAT3},getValue:function(e){return e.getNormal()}}),czm_normal3D:new n({getSize:function(){return 1},getDatatype:function(){return r.FLOAT_MAT3},getValue:function(e){return e.getNormal3D()}}),czm_inverseNormal:new n({getSize:function(){return 1},getDatatype:function(){return r.FLOAT_MAT3},getValue:function(e){return e.getInverseNormal()}}),czm_inverseNormal3D:new n({getSize:function(){return 1},getDatatype:function(){return r.FLOAT_MAT3},getValue:function(e){return e.getInverseNormal3D()}}),czm_eyeHeight2D:new n({getSize:function(){return 1},getDatatype:function(){return r.FLOAT_VEC2},getValue:function(e){return e.getEyeHeight2D()}}),czm_entireFrustum:new n({getSize:function(){return 1},getDatatype:function(){return r.FLOAT_VEC2},getValue:function(e){return e.getEntireFrustum()}}),czm_currentFrustum:new n({getSize:function(){return 1},getDatatype:function(){return r.FLOAT_VEC2},getValue:function(e){return e.getCurrentFrustum()}}),czm_pixelSizeInMeters:new n({getSize:function(){return 1},getDatatype:function(){return r.FLOAT},getValue:function(e){return e.getPixelSize()}}),czm_sunPositionWC:new n({getSize:function(){return 1},getDatatype:function(){return r.FLOAT_VEC3},getValue:function(e){return e.getSunPositionWC()}}),czm_sunPositionColumbusView:new n({getSize:function(){return 1},getDatatype:function(){return r.FLOAT_VEC3},getValue:function(e){return e.getSunPositionColumbusView()}}),czm_sunDirectionEC:new n({getSize:function(){return 1},getDatatype:function(){return r.FLOAT_VEC3},getValue:function(e){return e.getSunDirectionEC()}}),czm_sunDirectionWC:new n({getSize:function(){return 1},getDatatype:function(){return r.FLOAT_VEC3},getValue:function(e){return e.getSunDirectionWC()}}),czm_moonDirectionEC:new n({getSize:function(){return 1},getDatatype:function(){return r.FLOAT_VEC3},getValue:function(e){return e.getMoonDirectionEC()}}),czm_encodedCameraPositionMCHigh:new n({getSize:function(){return 1},getDatatype:function(){return r.FLOAT_VEC3},getValue:function(e){return e.getEncodedCameraPositionMCHigh()}}),czm_encodedCameraPositionMCLow:new n({getSize:function(){return 1},getDatatype:function(){return r.FLOAT_VEC3},getValue:function(e){return e.getEncodedCameraPositionMCLow()}}),czm_viewerPositionWC:new n({getSize:function(){return 1},getDatatype:function(){return r.FLOAT_VEC3},getValue:function(e){return t.getTranslation(e.getInverseView(),i)}}),czm_frameNumber:new n({getSize:function(){return 1},getDatatype:function(){return r.FLOAT},getValue:function(e){return e.frameState.frameNumber}}),czm_morphTime:new n({getSize:function(){return 1},getDatatype:function(){return r.FLOAT},getValue:function(e){return e.frameState.morphTime}}),czm_sceneMode:new n({getSize:function(){return 1},getDatatype:function(){return r.FLOAT},getValue:function(e){return e.frameState.mode.value}}),czm_temeToPseudoFixed:new n({getSize:function(){return 1},getDatatype:function(){return r.FLOAT_MAT3},getValue:function(e){return e.getTemeToPseudoFixedMatrix()}})};return o}),r("Renderer/Buffer",["../Core/DeveloperError","../Core/defaultValue","../Core/destroyObject"],function(e,t,r){"use strict";var i=function(e,t,r,i,n){this._gl=e,this._bufferTarget=t,this._sizeInBytes=r,this._usage=i,this._buffer=n,this._vertexArrayDestroyable=!0};return i.prototype.copyFromArrayView=function(e,r){r=t(r,0);var i=this._gl,n=this._bufferTarget;i.bindBuffer(n,this._buffer),i.bufferSubData(n,r,e),i.bindBuffer(n,null)},i.prototype._getBuffer=function(){return this._buffer},i.prototype.getSizeInBytes=function(){return this._sizeInBytes},i.prototype.getUsage=function(){return this._usage},i.prototype.getVertexArrayDestroyable=function(){return this._vertexArrayDestroyable},i.prototype.setVertexArrayDestroyable=function(e){this._vertexArrayDestroyable=e},i.prototype.isDestroyed=function(){return!1},i.prototype.destroy=function(){return this._gl.deleteBuffer(this._buffer),r(this)},i}),r("Renderer/ClearCommand",["../Core/Color","../Core/freezeObject"],function(e,t){"use strict";var r=function(){this.color=void 0,this.depth=void 0,this.stencil=void 0,this.renderState=void 0,this.framebuffer=void 0,this.owner=void 0},i=new r;return i.color=new e(0,0,0,0),i.depth=1,i.stencil=0,r.ALL=t(i),r.prototype.execute=function(e,t){e.clear(this,t)},r}),r("Renderer/Framebuffer",["../Core/defaultValue","../Core/defined","../Core/DeveloperError","../Core/destroyObject","./PixelFormat"],function(e,t,r,i){"use strict";function n(e,t,r){var i=e._gl;i.framebufferTexture2D(i.FRAMEBUFFER,t,r._getTarget(),r._getTexture(),0)}function o(e,t,r){var i=e._gl;i.framebufferRenderbuffer(i.FRAMEBUFFER,t,i.RENDERBUFFER,r._getRenderbuffer())}var a=function(r,i,a){a=e(a,e.EMPTY_OBJECT),this._gl=r,this._framebuffer=r.createFramebuffer(),this._colorTextures=[],this._colorRenderbuffers=[],this._activeColorAttachments=[],this._depthTexture=void 0,this._depthRenderbuffer=void 0,this._stencilRenderbuffer=void 0,this._depthStencilTexture=void 0,this._depthStencilRenderbuffer=void 0,this.destroyAttachments=!0,t(a.depthTexture)||t(a.depthRenderbuffer),t(a.depthStencilTexture)||t(a.depthStencilRenderbuffer),this._bind();var s,l,u,c,h;if(t(a.colorTextures)){var d=a.colorTextures;for(c=this._colorTextures.length=this._activeColorAttachments.length=d.length,u=0;c>u;++u)s=d[u],h=this._gl.COLOR_ATTACHMENT0+u,n(this,h,s),this._activeColorAttachments[u]=h,this._colorTextures[u]=s}if(t(a.colorRenderbuffers)){var m=a.colorRenderbuffers;for(c=this._colorRenderbuffers.length=this._activeColorAttachments.length=m.length,u=0;c>u;++u)l=m[u],h=this._gl.COLOR_ATTACHMENT0+u,o(this,h,l),this._activeColorAttachments[u]=h,this._colorRenderbuffers[u]=l}t(a.depthTexture)&&(s=a.depthTexture,n(this,this._gl.DEPTH_ATTACHMENT,s),this._depthTexture=s),t(a.depthRenderbuffer)&&(l=a.depthRenderbuffer,o(this,this._gl.DEPTH_ATTACHMENT,l),this._depthRenderbuffer=l),t(a.stencilRenderbuffer)&&(l=a.stencilRenderbuffer,o(this,this._gl.STENCIL_ATTACHMENT,l),this._stencilRenderbuffer=l),t(a.depthStencilTexture)&&(s=a.depthStencilTexture,n(this,this._gl.DEPTH_STENCIL_ATTACHMENT,s),this._depthStencilTexture=s),t(a.depthStencilRenderbuffer)&&(l=a.depthStencilRenderbuffer,o(this,this._gl.DEPTH_STENCIL_ATTACHMENT,l),this._depthStencilRenderbuffer=l),this._unBind()};return a.prototype._bind=function(){var e=this._gl;e.bindFramebuffer(e.FRAMEBUFFER,this._framebuffer)},a.prototype._unBind=function(){var e=this._gl;e.bindFramebuffer(e.FRAMEBUFFER,null)},a.prototype._getActiveColorAttachments=function(){return this._activeColorAttachments},a.prototype.getNumberOfColorAttachments=function(){return this._activeColorAttachments.length},a.prototype.getColorTexture=function(e){return this._colorTextures[e]},a.prototype.getColorRenderbuffer=function(e){return this._colorRenderbuffers[e]},a.prototype.getDepthTexture=function(){return this._depthTexture},a.prototype.getDepthRenderbuffer=function(){return this._depthRenderbuffer},a.prototype.getStencilRenderbuffer=function(){return this._stencilRenderbuffer},a.prototype.getDepthStencilTexture=function(){return this._depthStencilTexture},a.prototype.getDepthStencilRenderbuffer=function(){return this._depthStencilRenderbuffer},a.prototype.hasDepthAttachment=function(){return!!(this.getDepthTexture()||this.getDepthRenderbuffer()||this.getDepthStencilTexture()||this.getDepthStencilRenderbuffer())},a.prototype.isDestroyed=function(){return!1},a.prototype.destroy=function(){if(this.destroyAttachments){for(var e=0,r=this._colorTextures,n=r.length;n>e;++e){var o=r[e];t(o)&&o.destroy()}var a=this._colorRenderbuffers;for(n=a.length,e=0;n>e;++e){var s=a[e];t(s)&&s.destroy()}this._depthTexture=this._depthTexture&&this._depthTexture.destroy(),this._depthRenderbuffer=this._depthRenderbuffer&&this._depthRenderbuffer.destroy(),this._stencilRenderbuffer=this._stencilRenderbuffer&&this._stencilRenderbuffer.destroy(),this._depthStencilTexture=this._depthStencilTexture&&this._depthStencilTexture.destroy(),this._depthStencilRenderbuffer=this._depthStencilRenderbuffer&&this._depthStencilRenderbuffer.destroy()}return this._gl.deleteFramebuffer(this._framebuffer),i(this)},a}),r("Renderer/PassState",[],function(){"use strict";var e=function(e){this.context=e,this.framebuffer=void 0,this.blendingEnabled=void 0,this.scissorTest=void 0};return e}),r("Renderer/RenderbufferFormat",["../Core/Enumeration"],function(e){"use strict";var t={RGBA4:new e(32854,"RGBA4"),RGB5_A1:new e(32855,"RGB5_A1"),RGB565:new e(36194,"RGB565"),DEPTH_COMPONENT16:new e(33189,"DEPTH_COMPONENT16"),STENCIL_INDEX8:new e(36168,"STENCIL_INDEX8"),DEPTH_STENCIL:new e(34041,"DEPTH_STENCIL"),validate:function(e){return e===t.RGBA4||e===t.RGB5_A1||e===t.RGB565||e===t.DEPTH_COMPONENT16||e===t.STENCIL_INDEX8||e===t.DEPTH_STENCIL}};return t}),r("Renderer/PickFramebuffer",["../Core/defaultValue","../Core/defined","../Core/destroyObject","../Core/Color","../Core/BoundingRectangle","./PassState","./RenderbufferFormat"],function(e,t,r,i,n,o,a){"use strict";var s=function(e){var t=new o(e);t.blendingEnabled=!1,t.scissorTest={enabled:!0,rectangle:new n},this._context=e,this._fb=void 0,this._passState=t,this._width=0,this._height=0};s.prototype.begin=function(e){var r=this._context,i=r.getDrawingBufferWidth(),o=r.getDrawingBufferHeight();return n.clone(e,this._passState.scissorTest.rectangle),t(this._fb)&&this._width===i&&this._height===o||(this._width=i,this._height=o,this._fb=this._fb&&this._fb.destroy(),this._fb=r.createFramebuffer({colorTextures:[r.createTexture2D({width:i,height:o})],depthRenderbuffer:r.createRenderbuffer({format:a.DEPTH_COMPONENT16})}),this._passState.framebuffer=this._fb),this._passState};var l=new i;return s.prototype.end=function(r){for(var n=e(r.width,1),o=e(r.height,1),a=this._context,s=a.readPixels({x:r.x,y:r.y,width:n,height:o,framebuffer:this._fb}),u=Math.max(n,o),c=u*u,h=Math.floor(.5*n),d=Math.floor(.5*o),m=0,p=0,f=0,v=-1,g=0;c>g;++g){if(m>=-h&&h>=m&&p>=-d&&d>=p){var _=4*((d-p)*n+m+h);l.red=i.byteToFloat(s[_]),l.green=i.byteToFloat(s[_+1]),l.blue=i.byteToFloat(s[_+2]),l.alpha=i.byteToFloat(s[_+3]);var y=a.getObjectByPickColor(l);if(t(y))return y}if(m===p||0>m&&-m===p||m>0&&m===1-p){var C=f;f=-v,v=C}m+=f,p+=v}return void 0},s.prototype.isDestroyed=function(){return!1},s.prototype.destroy=function(){return this._fb=this._fb&&this._fb.destroy(),r(this)},s}),r("Renderer/Renderbuffer",["../Core/destroyObject"],function(e){"use strict";function t(t,r,i,n){var o=t.createRenderbuffer();t.bindRenderbuffer(t.RENDERBUFFER,o),t.renderbufferStorage(t.RENDERBUFFER,r,i,n),t.bindRenderbuffer(t.RENDERBUFFER,null),this.getFormat=function(){return r},this.getWidth=function(){return i},this.getHeight=function(){return n},this._getRenderbuffer=function(){return o},this.isDestroyed=function(){return!1},this.destroy=function(){return t.deleteRenderbuffer(o),e(this)}}return t}),r("Renderer/DepthFunction",["../Core/Enumeration"],function(e){"use strict";var t={NEVER:new e(512,"NEVER"),LESS:new e(513,"LESS"),EQUAL:new e(514,"EQUAL"),LESS_OR_EQUAL:new e(515,"LEQUAL"),GREATER:new e(516,"GREATER"),NOT_EQUAL:new e(517,"NOTEQUAL"),GREATER_OR_EQUAL:new e(518,"GEQUAL"),ALWAYS:new e(519,"ALWAYS"),validate:function(e){return e===t.NEVER||e===t.LESS||e===t.EQUAL||e===t.LESS_OR_EQUAL||e===t.GREATER||e===t.NOT_EQUAL||e===t.GREATER_OR_EQUAL||e===t.ALWAYS}};return t}),r("Renderer/StencilFunction",["../Core/Enumeration"],function(e){"use strict";var t={NEVER:new e(512,"NEVER"),LESS:new e(513,"LESS"),EQUAL:new e(514,"EQUAL"),LESS_OR_EQUAL:new e(515,"LESS_OR_EQUAL"),GREATER:new e(516,"GREATER"),NOT_EQUAL:new e(517,"NOT_EQUAL"),GREATER_OR_EQUAL:new e(518,"GREATER_OR_EQUAL"),ALWAYS:new e(519,"ALWAYS"),validate:function(e){return e===t.NEVER||e===t.LESS||e===t.EQUAL||e===t.LESS_OR_EQUAL||e===t.GREATER||e===t.NOT_EQUAL||e===t.GREATER_OR_EQUAL||e===t.ALWAYS}};return t}),r("Renderer/StencilOperation",["../Core/Enumeration"],function(e){"use strict";var t={ZERO:new e(0,"ZERO"),KEEP:new e(7680,"KEEP"),REPLACE:new e(7681,"REPLACE"),INCREMENT:new e(7682,"INCREMENT"),DECREMENT:new e(7683,"DECREMENT"),INVERT:new e(5386,"INVERT"),INCREMENT_WRAP:new e(34055,"INCREMENT_WRAP"),DECREMENT_WRAP:new e(34056,"DECREMENT_WRAP"),validate:function(e){return e===t.ZERO||e===t.KEEP||e===t.REPLACE||e===t.INCREMENT||e===t.DECREMENT||e===t.INVERT||e===t.INCREMENT_WRAP||e===t.DECREMENT_WRAP}};return t}),r("Renderer/RenderState",["../Core/Color","../Core/defaultValue","../Core/defined","../Core/DeveloperError","../Core/BoundingRectangle","../Core/RuntimeError","../Core/WindingOrder","./CullFace","./DepthFunction","./BlendEquation","./BlendFunction","./StencilFunction","./StencilOperation"],function(e,t,r,i,n,o,a,s,l,u,c,h,d){"use strict";function m(e,t,r){r?e.enable(t):e.disable(t)}function p(e,t){e.frontFace(t.frontFace)}function f(e,t){var r=t.cull,i=r.enabled;m(e,e.CULL_FACE,i),i&&e.cullFace(r.face)}function v(e,t){e.lineWidth(t.lineWidth)}function g(e,t){var r=t.polygonOffset,i=r.enabled;m(e,e.POLYGON_OFFSET_FILL,i),i&&e.polygonOffset(r.factor,r.units)}function _(e,t,i){var n=t.scissorTest,o=r(i.scissorTest)?i.scissorTest.enabled:n.enabled;if(m(e,e.SCISSOR_TEST,o),o){var a=r(i.scissorTest)?i.scissorTest.rectangle:n.rectangle;e.scissor(a.x,a.y,a.width,a.height)}}function y(e,t){var r=t.depthRange;e.depthRange(r.near,r.far)}function C(e,t){var r=t.depthTest,i=r.enabled;m(e,e.DEPTH_TEST,i),i&&e.depthFunc(r.func)}function S(e,t){var r=t.colorMask;e.colorMask(r.red,r.green,r.blue,r.alpha)}function w(e,t){e.depthMask(t.depthMask)}function E(e,t){e.stencilMask(t.stencilMask)}function x(e,t,i){var n=t.blending,o=r(i.blendingEnabled)?i.blendingEnabled:n.enabled;if(m(e,e.BLEND,o),o){var a=n.color,s=n.equationRgb,l=n.equationAlpha,u=n.functionSourceRgb,c=n.functionDestinationRgb,h=n.functionSourceAlpha,d=n.functionDestinationAlpha;e.blendColor(a.red,a.green,a.blue,a.alpha),e.blendEquationSeparate(s,l),e.blendFuncSeparate(u,c,h,d)}}function b(e,t){var r=t.stencilTest,i=r.enabled;if(m(e,e.STENCIL_TEST,i),i){var n=r.frontFunction,o=r.backFunction,a=r.reference,s=r.mask;e.stencilFunc(r.frontFunction,r.reference,r.mask),e.stencilFuncSeparate(e.BACK,o,a,s),e.stencilFuncSeparate(e.FRONT,n,a,s);var l=r.frontOperation,u=l.fail,c=l.zFail,h=l.zPass;e.stencilOpSeparate(e.FRONT,u,c,h);var d=r.backOperation,p=d.fail,f=d.zFail,v=d.zPass;e.stencilOpSeparate(e.BACK,p,f,v)}}function T(e,t){var r=t.sampleCoverage,i=r.enabled;m(e,e.SAMPLE_COVERAGE,i),i&&e.sampleCoverage(r.value,r.invert)}function A(e,t){m(e,e.DITHER,t.dither)}function P(e,t,i){var n=t.viewport;r(n)||(n=I,n.width=i.context.getDrawingBufferWidth(),n.height=i.context.getDrawingBufferHeight()),i.context.getUniformState().setViewport(n),e.viewport(n.x,n.y,n.width,n.height)}function D(e,t){var r=[];return e.frontFace!==t.frontFace&&r.push(p),(e.cull.enabled!==t.cull.enabled||e.cull.face!==t.cull.face)&&r.push(f),e.lineWidth!==t.lineWidth&&r.push(v),(e.polygonOffset.enabled!==t.polygonOffset.enabled||e.polygonOffset.factor!==t.polygonOffset.factor||e.polygonOffset.units!==t.polygonOffset.units)&&r.push(g),r.push(_),(e.depthRange.near!==t.depthRange.near||e.depthRange.far!==t.depthRange.far)&&r.push(y),(e.depthTest.enabled!==t.depthTest.enabled||e.depthTest.func!==t.depthTest.func)&&r.push(C),(e.colorMask.red!==t.colorMask.red||e.colorMask.green!==t.colorMask.green||e.colorMask.blue!==t.colorMask.blue||e.colorMask.alpha!==t.colorMask.alpha)&&r.push(S),e.depthMask!==t.depthMask&&r.push(w),r.push(x),e.stencilMask!==t.stencilMask&&r.push(E),(e.stencilTest.enabled!==t.stencilTest.enabled||e.stencilTest.frontFunction!==t.stencilTest.frontFunction||e.stencilTest.backFunction!==t.stencilTest.backFunction||e.stencilTest.reference!==t.stencilTest.reference||e.stencilTest.mask!==t.stencilTest.mask||e.stencilTest.frontOperation.fail!==t.stencilTest.frontOperation.fail||e.stencilTest.frontOperation.zFail!==t.stencilTest.frontOperation.zFail||e.stencilTest.backOperation.fail!==t.stencilTest.backOperation.fail||e.stencilTest.backOperation.zFail!==t.stencilTest.backOperation.zFail||e.stencilTest.backOperation.zPass!==t.stencilTest.backOperation.zPass)&&r.push(b),(e.sampleCoverage.enabled!==t.sampleCoverage.enabled||e.sampleCoverage.value!==t.sampleCoverage.value||e.sampleCoverage.invert!==t.sampleCoverage.invert)&&r.push(T),e.dither!==t.dither&&r.push(A),r.push(P),r}var M=function(i,m){var p=t(m,{}),f=t(p.cull,{}),v=t(p.polygonOffset,{}),g=t(p.scissorTest,{}),_=t(g.rectangle,{}),y=t(p.depthRange,{}),C=t(p.depthTest,{}),S=t(p.colorMask,{}),w=t(p.blending,{}),E=t(w.color,{}),x=t(p.stencilTest,{}),b=t(x.frontOperation,{}),T=t(x.backOperation,{}),A=t(p.sampleCoverage,{}),P=p.viewport;if(this.frontFace=t(p.frontFace,a.COUNTER_CLOCKWISE),this.cull={enabled:t(f.enabled,!1),face:t(f.face,s.BACK)},this.lineWidth=t(p.lineWidth,1),this.polygonOffset={enabled:t(v.enabled,!1),factor:t(v.factor,0),units:t(v.units,0)},this.scissorTest={enabled:t(g.enabled,!1),rectangle:n.clone(_)},this.depthRange={near:t(y.near,0),far:t(y.far,1)},this.depthTest={enabled:t(C.enabled,!1),func:t(C.func,l.LESS)},this.colorMask={red:t(S.red,!0),green:t(S.green,!0),blue:t(S.blue,!0),alpha:t(S.alpha,!0)},this.depthMask=t(p.depthMask,!0),this.stencilMask=t(p.stencilMask,-1),this.blending={enabled:t(w.enabled,!1),color:new e(t(E.red,0),t(E.green,0),t(E.blue,0),t(E.alpha,0)),equationRgb:t(w.equationRgb,u.ADD),equationAlpha:t(w.equationAlpha,u.ADD),functionSourceRgb:t(w.functionSourceRgb,c.ONE),functionSourceAlpha:t(w.functionSourceAlpha,c.ONE),functionDestinationRgb:t(w.functionDestinationRgb,c.ZERO),functionDestinationAlpha:t(w.functionDestinationAlpha,c.ZERO)},this.stencilTest={enabled:t(x.enabled,!1),frontFunction:t(x.frontFunction,h.ALWAYS),backFunction:t(x.backFunction,h.ALWAYS),reference:t(x.reference,0),mask:t(x.mask,-1),frontOperation:{fail:t(b.fail,d.KEEP),zFail:t(b.zFail,d.KEEP),zPass:t(b.zPass,d.KEEP)},backOperation:{fail:t(T.fail,d.KEEP),zFail:t(T.zFail,d.KEEP),zPass:t(T.zPass,d.KEEP)}},this.sampleCoverage={enabled:t(A.enabled,!1),value:t(A.value,1),invert:t(A.invert,!1)},this.dither=t(p.dither,!0),this.viewport=r(P)?new n(P.x,P.y,r(P.width)?P.width:i.getDrawingBufferWidth(),r(P.height)?P.height:i.getDrawingBufferHeight()):void 0,this.lineWidthi.getMaximumAliasedLineWidth())throw new o("renderState.lineWidth is out of range. Check getMinimumAliasedLineWidth() and getMaximumAliasedLineWidth().");if(r(this.viewport)){if(this.viewport.width>i.getMaximumViewportWidth())throw new o("renderState.viewport.width must be less than or equal to the maximum viewport width ("+this.getMaximumViewportWidth().toString()+"). Check getMaximumViewportWidth().");if(this.viewport.height>i.getMaximumViewportHeight())throw new o("renderState.viewport.height must be less than or equal to the maximum viewport height ("+this.getMaximumViewportHeight().toString()+"). Check getMaximumViewportHeight().")}this.id=0,this._applyFunctions=[]},I=new n;return M.apply=function(e,t,r){p(e,t),f(e,t),v(e,t),g(e,t),_(e,t,r),y(e,t),C(e,t),S(e,t),w(e,t),E(e,t),x(e,t,r),b(e,t),T(e,t),A(e,t),P(e,t,r)},M.partialApply=function(e,t,i,n){var o=i._applyFunctions[t.id];r(o)||(o=D(t,i),i._applyFunctions[t.id]=o);for(var a=o.length,s=0;a>s;++s)o[s](e,i,n)},M}),r("Renderer/ShaderCache",["../Core/defined","../Core/destroyObject"],function(e,t){"use strict";var r=function(e){this._context=e,this._shaders={},this._shadersToRelease={}};return r.prototype.replaceShaderProgram=function(t,r,i,n){return e(t)&&t.release(),this.getShaderProgram(r,i,n)},r.prototype.getShaderProgram=function(e,t,r){var i,n=e+t+JSON.stringify(r);if(this._shaders[n])i=this._shaders[n],delete this._shadersToRelease[n];else{var o=this._context.createShaderProgram(e,t,r);i={cache:this,shaderProgram:o,keyword:n,count:0},o._cachedShader=i,this._shaders[n]=i}return++i.count,i.shaderProgram},r.prototype.destroyReleasedShaderPrograms=function(){var e=this._shadersToRelease;for(var t in e)if(e.hasOwnProperty(t)){var r=e[t];delete this._shaders[r.keyword],r.shaderProgram.destroy()}this._shadersToRelease={}},r.prototype.releaseShaderProgram=function(e){if(e){var t=e._cachedShader;t&&0===--t.count&&(this._shadersToRelease[t.keyword]=t)}return void 0},r.prototype.isDestroyed=function(){return!1},r.prototype.destroy=function(){var e=this._shaders;for(var r in e)e.hasOwnProperty(r)&&e[r].shaderProgram.destroy();return t(this)},r}),r("Shaders/Builtin/Constants/degreesPerRadian",[],function(){"use strict";return"const float czm_degreesPerRadian = 57.29577951308232;\n"}),r("Shaders/Builtin/Constants/epsilon1",[],function(){"use strict";return"const float czm_epsilon1 = 0.1;\n"}),r("Shaders/Builtin/Constants/epsilon2",[],function(){"use strict";return"const float czm_epsilon2 = 0.01;\n"}),r("Shaders/Builtin/Constants/epsilon3",[],function(){"use strict";return"const float czm_epsilon3 = 0.001;\n"}),r("Shaders/Builtin/Constants/epsilon4",[],function(){"use strict";return"const float czm_epsilon4 = 0.0001;\n"}),r("Shaders/Builtin/Constants/epsilon5",[],function(){"use strict";return"const float czm_epsilon5 = 0.00001;\n"}),r("Shaders/Builtin/Constants/epsilon6",[],function(){"use strict";return"const float czm_epsilon6 = 0.000001;\n"}),r("Shaders/Builtin/Constants/epsilon7",[],function(){"use strict";return"const float czm_epsilon7 = 0.0000001;\n"}),r("Shaders/Builtin/Constants/infinity",[],function(){"use strict";return"const float czm_infinity = 5906376272000.0;\n"}),r("Shaders/Builtin/Constants/oneOverPi",[],function(){"use strict";return"const float czm_oneOverPi = 0.3183098861837907;\n"}),r("Shaders/Builtin/Constants/oneOverTwoPi",[],function(){"use strict";return"const float czm_oneOverTwoPi = 0.15915494309189535;\n"}),r("Shaders/Builtin/Constants/pi",[],function(){"use strict";return"const float czm_pi = 3.141592653589793;\n"}),r("Shaders/Builtin/Constants/piOverFour",[],function(){"use strict"; +return"const float czm_piOverFour = 0.7853981633974483;\n"}),r("Shaders/Builtin/Constants/piOverSix",[],function(){"use strict";return"const float czm_piOverSix = 0.5235987755982988;\n"}),r("Shaders/Builtin/Constants/piOverThree",[],function(){"use strict";return"const float czm_piOverThree = 1.0471975511965976;\n"}),r("Shaders/Builtin/Constants/piOverTwo",[],function(){"use strict";return"const float czm_piOverTwo = 1.5707963267948966;\n"}),r("Shaders/Builtin/Constants/radiansPerDegree",[],function(){"use strict";return"const float czm_radiansPerDegree = 0.017453292519943295;\n"}),r("Shaders/Builtin/Constants/sceneMode2D",[],function(){"use strict";return"const float czm_sceneMode2D = 0.0;\n"}),r("Shaders/Builtin/Constants/sceneMode3D",[],function(){"use strict";return"const float czm_sceneMode3D = 2.0;\n"}),r("Shaders/Builtin/Constants/sceneModeColumbusView",[],function(){"use strict";return"const float czm_sceneModeColumbusView = 1.0;\n"}),r("Shaders/Builtin/Constants/sceneModeMorphing",[],function(){"use strict";return"const float czm_sceneModeMorphing = 3.0;\n"}),r("Shaders/Builtin/Constants/solarRadius",[],function(){"use strict";return"const float czm_solarRadius = 695500000.0;\n"}),r("Shaders/Builtin/Constants/threePiOver2",[],function(){"use strict";return"const float czm_threePiOver2 = 4.71238898038469;\n"}),r("Shaders/Builtin/Constants/twoPi",[],function(){"use strict";return"const float czm_twoPi = 6.283185307179586;\n"}),r("Shaders/Builtin/Constants/webMercatorMaxLatitude",[],function(){"use strict";return"const float czm_webMercatorMaxLatitude = 1.4844222297453324;\n"}),r("Shaders/Builtin/Structs/ellipsoid",[],function(){"use strict";return"struct czm_ellipsoid\n{\nvec3 center;\nvec3 radii;\nvec3 inverseRadii;\nvec3 inverseRadiiSquared;\n};\n"}),r("Shaders/Builtin/Structs/material",[],function(){"use strict";return"struct czm_material\n{\nvec3 diffuse;\nfloat specular;\nfloat shininess;\nvec3 normal;\nvec3 emission;\nfloat alpha;\n};\n"}),r("Shaders/Builtin/Structs/materialInput",[],function(){"use strict";return"struct czm_materialInput\n{\nfloat s;\nvec2 st;\nvec3 str;\nvec3 normalEC;\nmat3 tangentToEyeMatrix;\nvec3 positionToEyeEC;\n};\n"}),r("Shaders/Builtin/Structs/ray",[],function(){"use strict";return"struct czm_ray\n{\nvec3 origin;\nvec3 direction;\n};\n"}),r("Shaders/Builtin/Structs/raySegment",[],function(){"use strict";return"struct czm_raySegment\n{\nfloat start;\nfloat stop;\n};\nconst czm_raySegment czm_emptyRaySegment = czm_raySegment(-czm_infinity, -czm_infinity);\nconst czm_raySegment czm_fullRaySegment = czm_raySegment(0.0, czm_infinity);\n"}),r("Shaders/Builtin/Functions/RGBToXYZ",[],function(){"use strict";return"vec3 czm_RGBToXYZ(vec3 rgb)\n{\nconst mat3 RGB2XYZ = mat3(0.4124, 0.2126, 0.0193,\n0.3576, 0.7152, 0.1192,\n0.1805, 0.0722, 0.9505);\nvec3 xyz = RGB2XYZ * rgb;\nvec3 Yxy;\nYxy.r = xyz.g;\nfloat temp = dot(vec3(1.0), xyz);\nYxy.gb = xyz.rg / temp;\nreturn Yxy;\n}\n"}),r("Shaders/Builtin/Functions/XYZToRGB",[],function(){"use strict";return"vec3 czm_XYZToRGB(vec3 Yxy)\n{\nconst mat3 XYZ2RGB = mat3( 3.2405, -0.9693, 0.0556,\n-1.5371, 1.8760, -0.2040,\n-0.4985, 0.0416, 1.0572);\nvec3 xyz;\nxyz.r = Yxy.r * Yxy.g / Yxy.b;\nxyz.g = Yxy.r;\nxyz.b = Yxy.r * (1.0 - Yxy.g - Yxy.b) / Yxy.b;\nreturn XYZ2RGB * xyz;\n}\n"}),r("Shaders/Builtin/Functions/antialias",[],function(){"use strict";return"vec4 czm_antialias(vec4 color1, vec4 color2, vec4 currentColor, float dist, float fuzzFactor)\n{\nfloat val1 = clamp(dist / fuzzFactor, 0.0, 1.0);\nfloat val2 = clamp((dist - 0.5) / fuzzFactor, 0.0, 1.0);\nval1 = val1 * (1.0 - val2);\nval1 = val1 * val1 * (3.0 - (2.0 * val1));\nval1 = pow(val1, 0.5);\nvec4 midColor = (color1 + color2) * 0.5;\nreturn mix(midColor, currentColor, val1);\n}\nvec4 czm_antialias(vec4 color1, vec4 color2, vec4 currentColor, float dist)\n{\nreturn czm_antialias(color1, color2, currentColor, dist, 0.1);\n}\n"}),r("Shaders/Builtin/Functions/columbusViewMorph",[],function(){"use strict";return"vec4 czm_columbusViewMorph(vec4 position2D, vec4 position3D, float time)\n{\nvec3 p = mix(position2D.xyz, position3D.xyz, time);\nreturn vec4(p, 1.0);\n}\n"}),r("Shaders/Builtin/Functions/computePosition",[],function(){"use strict";return"vec4 czm_computePosition();\n"}),r("Shaders/Builtin/Functions/eastNorthUpToEyeCoordinates",[],function(){"use strict";return"mat3 czm_eastNorthUpToEyeCoordinates(vec3 positionMC, vec3 normalEC)\n{\nvec3 tangentMC = normalize(vec3(-positionMC.y, positionMC.x, 0.0));\nvec3 tangentEC = normalize(czm_normal3D * tangentMC);\nvec3 bitangentEC = normalize(cross(normalEC, tangentEC));\nreturn mat3(\ntangentEC.x, tangentEC.y, tangentEC.z,\nbitangentEC.x, bitangentEC.y, bitangentEC.z,\nnormalEC.x, normalEC.y, normalEC.z);\n}\n"}),r("Shaders/Builtin/Functions/ellipsoidContainsPoint",[],function(){"use strict";return"bool czm_ellipsoidContainsPoint(czm_ellipsoid ellipsoid, vec3 point)\n{\nvec3 scaled = ellipsoid.inverseRadii * (czm_inverseModelView * vec4(point, 1.0)).xyz;\nreturn (dot(scaled, scaled) <= 1.0);\n}\n"}),r("Shaders/Builtin/Functions/ellipsoidNew",[],function(){"use strict";return"czm_ellipsoid czm_ellipsoidNew(vec3 center, vec3 radii)\n{\nvec3 inverseRadii = vec3(1.0 / radii.x, 1.0 / radii.y, 1.0 / radii.z);\nvec3 inverseRadiiSquared = inverseRadii * inverseRadii;\nczm_ellipsoid temp = czm_ellipsoid(center, radii, inverseRadii, inverseRadiiSquared);\nreturn temp;\n}\n"}),r("Shaders/Builtin/Functions/ellipsoidWgs84TextureCoordinates",[],function(){"use strict";return"vec2 czm_ellipsoidWgs84TextureCoordinates(vec3 normal)\n{\nreturn vec2(atan(normal.y, normal.x) * czm_oneOverTwoPi + 0.5, asin(normal.z) * czm_oneOverPi + 0.5);\n}\n"}),r("Shaders/Builtin/Functions/equalsEpsilon",[],function(){"use strict";return"bool czm_equalsEpsilon(vec4 left, vec4 right, float epsilon) {\nreturn all(lessThanEqual(abs(left - right), vec4(epsilon)));\n}\nbool czm_equalsEpsilon(vec3 left, vec3 right, float epsilon) {\nreturn all(lessThanEqual(abs(left - right), vec3(epsilon)));\n}\nbool czm_equalsEpsilon(vec2 left, vec2 right, float epsilon) {\nreturn all(lessThanEqual(abs(left - right), vec2(epsilon)));\n}\nbool czm_equalsEpsilon(float left, float right, float epsilon) {\nreturn (abs(left - right) <= epsilon);\n}\n"}),r("Shaders/Builtin/Functions/eyeOffset",[],function(){"use strict";return"vec4 czm_eyeOffset(vec4 positionEC, vec3 eyeOffset)\n{\nvec4 p = positionEC;\nvec4 zEyeOffset = normalize(p) * eyeOffset.z;\np.xy += eyeOffset.xy + zEyeOffset.xy;\np.z += zEyeOffset.z;\nreturn p;\n}\n"}),r("Shaders/Builtin/Functions/eyeToWindowCoordinates",[],function(){"use strict";return"vec4 czm_eyeToWindowCoordinates(vec4 positionEC)\n{\nvec4 q = czm_projection * positionEC;\nq.xyz /= q.w;\nq.xyz = (czm_viewportTransformation * vec4(q.xyz, 1.0)).xyz;\nreturn q;\n}\n"}),r("Shaders/Builtin/Functions/geodeticSurfaceNormal",[],function(){"use strict";return"vec3 czm_geodeticSurfaceNormal(vec3 positionOnEllipsoid, vec3 ellipsoidCenter, vec3 oneOverEllipsoidRadiiSquared)\n{\nreturn normalize((positionOnEllipsoid - ellipsoidCenter) * oneOverEllipsoidRadiiSquared);\n}\n"}),r("Shaders/Builtin/Functions/getDefaultMaterial",[],function(){"use strict";return"czm_material czm_getDefaultMaterial(czm_materialInput materialInput)\n{\nczm_material material;\nmaterial.diffuse = vec3(0.0);\nmaterial.specular = 0.0;\nmaterial.shininess = 1.0;\nmaterial.normal = materialInput.normalEC;\nmaterial.emission = vec3(0.0);\nmaterial.alpha = 1.0;\nreturn material;\n}\n"}),r("Shaders/Builtin/Functions/getLambertDiffuse",[],function(){"use strict";return"float czm_getLambertDiffuse(vec3 lightDirectionEC, vec3 normalEC)\n{\nreturn max(dot(lightDirectionEC, normalEC), 0.0);\n}\n"}),r("Shaders/Builtin/Functions/getSpecular",[],function(){"use strict";return"float czm_getSpecular(vec3 lightDirectionEC, vec3 toEyeEC, vec3 normalEC, float shininess)\n{\nvec3 toReflectedLight = reflect(-lightDirectionEC, normalEC);\nfloat specular = max(dot(toReflectedLight, toEyeEC), 0.0);\nreturn pow(specular, shininess);\n}\n"}),r("Shaders/Builtin/Functions/getWaterNoise",[],function(){"use strict";return"vec4 czm_getWaterNoise(sampler2D normalMap, vec2 uv, float time, float angleInRadians)\n{\nfloat cosAngle = cos(angleInRadians);\nfloat sinAngle = sin(angleInRadians);\nvec2 s0 = vec2(1.0/17.0, 0.0);\nvec2 s1 = vec2(-1.0/29.0, 0.0);\nvec2 s2 = vec2(1.0/101.0, 1.0/59.0);\nvec2 s3 = vec2(-1.0/109.0, -1.0/57.0);\ns0 = vec2((cosAngle * s0.x) - (sinAngle * s0.y), (sinAngle * s0.x) + (cosAngle * s0.y));\ns1 = vec2((cosAngle * s1.x) - (sinAngle * s1.y), (sinAngle * s1.x) + (cosAngle * s1.y));\ns2 = vec2((cosAngle * s2.x) - (sinAngle * s2.y), (sinAngle * s2.x) + (cosAngle * s2.y));\ns3 = vec2((cosAngle * s3.x) - (sinAngle * s3.y), (sinAngle * s3.x) + (cosAngle * s3.y));\nvec2 uv0 = (uv/103.0) + (time * s0);\nvec2 uv1 = uv/107.0 + (time * s1) + vec2(0.23);\nvec2 uv2 = uv/vec2(897.0, 983.0) + (time * s2) + vec2(0.51);\nvec2 uv3 = uv/vec2(991.0, 877.0) + (time * s3) + vec2(0.71);\nuv0 = fract(uv0);\nuv1 = fract(uv1);\nuv2 = fract(uv2);\nuv3 = fract(uv3);\nvec4 noise = (texture2D(normalMap, uv0)) +\n(texture2D(normalMap, uv1)) +\n(texture2D(normalMap, uv2)) +\n(texture2D(normalMap, uv3));\nreturn ((noise / 4.0) - 0.5) * 2.0;\n}\n"}),r("Shaders/Builtin/Functions/getWgs84EllipsoidEC",[],function(){"use strict";return"czm_ellipsoid czm_getWgs84EllipsoidEC()\n{\nvec3 radii = vec3(6378137.0, 6378137.0, 6356752.314245);\nvec3 inverseRadii = vec3(1.0 / radii.x, 1.0 / radii.y, 1.0 / radii.z);\nvec3 inverseRadiiSquared = inverseRadii * inverseRadii;\nczm_ellipsoid temp = czm_ellipsoid(czm_view[3].xyz, radii, inverseRadii, inverseRadiiSquared);\nreturn temp;\n}\n"}),r("Shaders/Builtin/Functions/hue",[],function(){"use strict";return"vec3 czm_hue(vec3 rgb, float adjustment)\n{\nconst mat3 toYIQ = mat3(0.299, 0.587, 0.114,\n0.595716, -0.274453, -0.321263,\n0.211456, -0.522591, 0.311135);\nconst mat3 toRGB = mat3(1.0, 0.9563, 0.6210,\n1.0, -0.2721, -0.6474,\n1.0, -1.107, 1.7046);\nvec3 yiq = toYIQ * rgb;\nfloat hue = atan(yiq.z, yiq.y) + adjustment;\nfloat chroma = sqrt(yiq.z * yiq.z + yiq.y * yiq.y);\nvec3 color = vec3(yiq.x, chroma * cos(hue), chroma * sin(hue));\nreturn toRGB * color;\n}\n"}),r("Shaders/Builtin/Functions/isEmpty",[],function(){"use strict";return"bool czm_isEmpty(czm_raySegment interval)\n{\nreturn (interval.stop < 0.0);\n}\n"}),r("Shaders/Builtin/Functions/isFull",[],function(){"use strict";return"bool czm_isFull(czm_raySegment interval)\n{\nreturn (interval.start == 0.0 && interval.stop == czm_infinity);\n}\n"}),r("Shaders/Builtin/Functions/latitudeToWebMercatorFraction",[],function(){"use strict";return"float czm_latitudeToWebMercatorFraction(float latitude, float southMercatorYLow, float southMercatorYHigh, float oneOverMercatorHeight)\n{\nfloat sinLatitude = sin(latitude);\nfloat mercatorY = 0.5 * log((1.0 + sinLatitude) / (1.0 - sinLatitude));\nfloat t1 = 0.0 - southMercatorYLow;\nfloat e = t1 - 0.0;\nfloat t2 = ((-southMercatorYLow - e) + (0.0 - (t1 - e))) + mercatorY - southMercatorYHigh;\nfloat highDifference = t1 + t2;\nfloat lowDifference = t2 - (highDifference - t1);\nreturn highDifference * oneOverMercatorHeight + lowDifference * oneOverMercatorHeight;\n}\n"}),r("Shaders/Builtin/Functions/luminance",[],function(){"use strict";return"float czm_luminance(vec3 rgb)\n{\nconst vec3 W = vec3(0.2125, 0.7154, 0.0721);\nreturn dot(rgb, W);\n}\n"}),r("Shaders/Builtin/Functions/modelToWindowCoordinates",[],function(){"use strict";return"vec4 czm_modelToWindowCoordinates(vec4 position)\n{\nvec4 q = czm_modelViewProjection * position;\nq.xyz /= q.w;\nq.xyz = (czm_viewportTransformation * vec4(q.xyz, 1.0)).xyz;\nreturn q;\n}\n"}),r("Shaders/Builtin/Functions/multiplyWithColorBalance",[],function(){"use strict";return"vec3 czm_multiplyWithColorBalance(vec3 left, vec3 right)\n{\nconst vec3 W = vec3(0.2125, 0.7154, 0.0721);\nvec3 target = left * right;\nfloat leftLuminance = dot(left, W);\nfloat rightLuminance = dot(right, W);\nfloat targetLuminance = dot(target, W);\nreturn ((leftLuminance + rightLuminance) / (2.0 * targetLuminance)) * target;\n}\n"}),r("Shaders/Builtin/Functions/phong",[],function(){"use strict";return"float czm_private_getLambertDiffuseOfMaterial(vec3 lightDirectionEC, czm_material material)\n{\nreturn czm_getLambertDiffuse(lightDirectionEC, material.normal);\n}\nfloat czm_private_getSpecularOfMaterial(vec3 lightDirectionEC, vec3 toEyeEC, czm_material material)\n{\nreturn czm_getSpecular(lightDirectionEC, toEyeEC, material.normal, material.shininess);\n}\nvec4 czm_phong(vec3 toEye, czm_material material)\n{\nfloat diffuse = czm_private_getLambertDiffuseOfMaterial(vec3(0.0, 0.0, 1.0), material) + czm_private_getLambertDiffuseOfMaterial(vec3(0.0, 1.0, 0.0), material);\nfloat specular = czm_private_getSpecularOfMaterial(czm_sunDirectionEC, toEye, material) + czm_private_getSpecularOfMaterial(czm_moonDirectionEC, toEye, material);\nvec3 ambient = vec3(0.0);\nvec3 color = ambient + material.emission;\ncolor += material.diffuse * diffuse;\ncolor += material.specular * specular;\nreturn vec4(color, material.alpha);\n}\nvec4 czm_private_phong(vec3 toEye, czm_material material)\n{\nfloat diffuse = czm_private_getLambertDiffuseOfMaterial(czm_sunDirectionEC, material);\nfloat specular = czm_private_getSpecularOfMaterial(czm_sunDirectionEC, toEye, material);\nvec3 ambient = vec3(0.0);\nvec3 color = ambient + material.emission;\ncolor += material.diffuse * diffuse;\ncolor += material.specular * specular;\nreturn vec4(color, material.alpha);\n}\n"}),r("Shaders/Builtin/Functions/pointAlongRay",[],function(){"use strict";return"vec3 czm_pointAlongRay(czm_ray ray, float time)\n{\nreturn ray.origin + (time * ray.direction);\n}\n"}),r("Shaders/Builtin/Functions/rayEllipsoidIntersectionInterval",[],function(){"use strict";return"czm_raySegment czm_rayEllipsoidIntersectionInterval(czm_ray ray, czm_ellipsoid ellipsoid)\n{\nvec3 q = ellipsoid.inverseRadii * (czm_inverseModelView * vec4(ray.origin, 1.0)).xyz;\nvec3 w = ellipsoid.inverseRadii * (czm_inverseModelView * vec4(ray.direction, 0.0)).xyz;\nq = q - ellipsoid.inverseRadii * (czm_inverseModelView * vec4(ellipsoid.center, 1.0)).xyz;\nfloat q2 = dot(q, q);\nfloat qw = dot(q, w);\nif (q2 > 1.0)\n{\nif (qw >= 0.0)\n{\nreturn czm_emptyRaySegment;\n}\nelse\n{\nfloat qw2 = qw * qw;\nfloat difference = q2 - 1.0;\nfloat w2 = dot(w, w);\nfloat product = w2 * difference;\nif (qw2 < product)\n{\nreturn czm_emptyRaySegment;\n}\nelse if (qw2 > product)\n{\nfloat discriminant = qw * qw - product;\nfloat temp = -qw + sqrt(discriminant);\nfloat root0 = temp / w2;\nfloat root1 = difference / temp;\nif (root0 < root1)\n{\nczm_raySegment i = czm_raySegment(root0, root1);\nreturn i;\n}\nelse\n{\nczm_raySegment i = czm_raySegment(root1, root0);\nreturn i;\n}\n}\nelse\n{\nfloat root = sqrt(difference / w2);\nczm_raySegment i = czm_raySegment(root, root);\nreturn i;\n}\n}\n}\nelse if (q2 < 1.0)\n{\nfloat difference = q2 - 1.0;\nfloat w2 = dot(w, w);\nfloat product = w2 * difference;\nfloat discriminant = qw * qw - product;\nfloat temp = -qw + sqrt(discriminant);\nczm_raySegment i = czm_raySegment(0.0, temp / w2);\nreturn i;\n}\nelse\n{\nif (qw < 0.0)\n{\nfloat w2 = dot(w, w);\nczm_raySegment i = czm_raySegment(0.0, -qw / w2);\nreturn i;\n}\nelse\n{\nreturn czm_emptyRaySegment;\n}\n}\n}\n"}),r("Shaders/Builtin/Functions/saturation",[],function(){"use strict";return"vec3 czm_saturation(vec3 rgb, float adjustment)\n{\nconst vec3 W = vec3(0.2125, 0.7154, 0.0721);\nvec3 intensity = vec3(dot(rgb, W));\nreturn mix(intensity, rgb, adjustment);\n}\n"}),r("Shaders/Builtin/Functions/tangentToEyeSpaceMatrix",[],function(){"use strict";return"mat3 czm_tangentToEyeSpaceMatrix(vec3 normalEC, vec3 tangentEC, vec3 binormalEC)\n{\nvec3 normal = normalize(normalEC);\nvec3 tangent = normalize(tangentEC);\nvec3 binormal = normalize(binormalEC);\nreturn mat3(tangent.x, tangent.y, tangent.z,\nbinormal.x, binormal.y, binormal.z,\nnormal.x, normal.y, normal.z);\n}\n"}),r("Shaders/Builtin/Functions/translateRelativeToEye",[],function(){"use strict";return"vec4 czm_translateRelativeToEye(vec3 high, vec3 low)\n{\nvec3 highDifference = high - czm_encodedCameraPositionMCHigh;\nvec3 lowDifference = low - czm_encodedCameraPositionMCLow;\nreturn vec4(highDifference + lowDifference, 1.0);\n}\n"}),r("Shaders/Builtin/Functions/transpose",[],function(){"use strict";return"mat2 czm_transpose(mat2 matrix)\n{\nreturn mat2(\nmatrix[0][0], matrix[1][0],\nmatrix[0][1], matrix[1][1]);\n}\nmat3 czm_transpose(mat3 matrix)\n{\nreturn mat3(\nmatrix[0][0], matrix[1][0], matrix[2][0],\nmatrix[0][1], matrix[1][1], matrix[2][1],\nmatrix[0][2], matrix[1][2], matrix[2][2]);\n}\nmat4 czm_transpose(mat4 matrix)\n{\nreturn mat4(\nmatrix[0][0], matrix[1][0], matrix[2][0], matrix[3][0],\nmatrix[0][1], matrix[1][1], matrix[2][1], matrix[3][1],\nmatrix[0][2], matrix[1][2], matrix[2][2], matrix[3][2],\nmatrix[0][3], matrix[1][3], matrix[2][3], matrix[3][3]);\n}\n"}),r("Shaders/Builtin/Functions/windowToEyeCoordinates",[],function(){"use strict";return"vec4 czm_windowToEyeCoordinates(vec4 fragmentCoordinate)\n{\nfloat x = 2.0 * (fragmentCoordinate.x - czm_viewport.x) / czm_viewport.z - 1.0;\nfloat y = 2.0 * (fragmentCoordinate.y - czm_viewport.y) / czm_viewport.w - 1.0;\nfloat z = (fragmentCoordinate.z - czm_viewportTransformation[3][2]) / czm_viewportTransformation[2][2];\nvec4 q = vec4(x, y, z, 1.0);\nq /= fragmentCoordinate.w;\nq = czm_inverseProjection * q;\nreturn q;\n}\n"}),r("Shaders/Builtin/CzmBuiltins",["./Constants/degreesPerRadian","./Constants/epsilon1","./Constants/epsilon2","./Constants/epsilon3","./Constants/epsilon4","./Constants/epsilon5","./Constants/epsilon6","./Constants/epsilon7","./Constants/infinity","./Constants/oneOverPi","./Constants/oneOverTwoPi","./Constants/pi","./Constants/piOverFour","./Constants/piOverSix","./Constants/piOverThree","./Constants/piOverTwo","./Constants/radiansPerDegree","./Constants/sceneMode2D","./Constants/sceneMode3D","./Constants/sceneModeColumbusView","./Constants/sceneModeMorphing","./Constants/solarRadius","./Constants/threePiOver2","./Constants/twoPi","./Constants/webMercatorMaxLatitude","./Structs/ellipsoid","./Structs/material","./Structs/materialInput","./Structs/ray","./Structs/raySegment","./Functions/RGBToXYZ","./Functions/XYZToRGB","./Functions/antialias","./Functions/columbusViewMorph","./Functions/computePosition","./Functions/eastNorthUpToEyeCoordinates","./Functions/ellipsoidContainsPoint","./Functions/ellipsoidNew","./Functions/ellipsoidWgs84TextureCoordinates","./Functions/equalsEpsilon","./Functions/eyeOffset","./Functions/eyeToWindowCoordinates","./Functions/geodeticSurfaceNormal","./Functions/getDefaultMaterial","./Functions/getLambertDiffuse","./Functions/getSpecular","./Functions/getWaterNoise","./Functions/getWgs84EllipsoidEC","./Functions/hue","./Functions/isEmpty","./Functions/isFull","./Functions/latitudeToWebMercatorFraction","./Functions/luminance","./Functions/modelToWindowCoordinates","./Functions/multiplyWithColorBalance","./Functions/phong","./Functions/pointAlongRay","./Functions/rayEllipsoidIntersectionInterval","./Functions/saturation","./Functions/tangentToEyeSpaceMatrix","./Functions/translateRelativeToEye","./Functions/transpose","./Functions/windowToEyeCoordinates"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f,v,g,_,y,C,S,w,E,x,b,T,A,P,D,M,I,O,R,L,N,B,z,F,V,k,U,W,G,H,j,q,Y,X,Z,J,Q,K,$,et,tt,rt,it,nt,ot,at,st,lt){"use strict";return{czm_degreesPerRadian:e,czm_epsilon1:t,czm_epsilon2:r,czm_epsilon3:i,czm_epsilon4:n,czm_epsilon5:o,czm_epsilon6:a,czm_epsilon7:s,czm_infinity:l,czm_oneOverPi:u,czm_oneOverTwoPi:c,czm_pi:h,czm_piOverFour:d,czm_piOverSix:m,czm_piOverThree:p,czm_piOverTwo:f,czm_radiansPerDegree:v,czm_sceneMode2D:g,czm_sceneMode3D:_,czm_sceneModeColumbusView:y,czm_sceneModeMorphing:C,czm_solarRadius:S,czm_threePiOver2:w,czm_twoPi:E,czm_webMercatorMaxLatitude:x,czm_ellipsoid:b,czm_material:T,czm_materialInput:A,czm_ray:P,czm_raySegment:D,czm_RGBToXYZ:M,czm_XYZToRGB:I,czm_antialias:O,czm_columbusViewMorph:R,czm_computePosition:L,czm_eastNorthUpToEyeCoordinates:N,czm_ellipsoidContainsPoint:B,czm_ellipsoidNew:z,czm_ellipsoidWgs84TextureCoordinates:F,czm_equalsEpsilon:V,czm_eyeOffset:k,czm_eyeToWindowCoordinates:U,czm_geodeticSurfaceNormal:W,czm_getDefaultMaterial:G,czm_getLambertDiffuse:H,czm_getSpecular:j,czm_getWaterNoise:q,czm_getWgs84EllipsoidEC:Y,czm_hue:X,czm_isEmpty:Z,czm_isFull:J,czm_latitudeToWebMercatorFraction:Q,czm_luminance:K,czm_modelToWindowCoordinates:$,czm_multiplyWithColorBalance:et,czm_phong:tt,czm_pointAlongRay:rt,czm_rayEllipsoidIntersectionInterval:it,czm_saturation:nt,czm_tangentToEyeSpaceMatrix:ot,czm_translateRelativeToEye:at,czm_transpose:st,czm_windowToEyeCoordinates:lt}}),r("Renderer/ShaderProgram",["../Core/defined","../Core/DeveloperError","../Core/FeatureDetection","../Core/RuntimeError","../Core/destroyObject","../Core/Matrix2","../Core/Matrix3","../Core/Matrix4","./AutomaticUniforms","./UniformDatatype","../Shaders/Builtin/CzmBuiltins"],function(e,t,r,i,n,o,a,s,l,u,c){"use strict";function h(e,t){switch(t){case e.FLOAT:return function(){return u.FLOAT};case e.FLOAT_VEC2:return function(){return u.FLOAT_VEC2};case e.FLOAT_VEC3:return function(){return u.FLOAT_VEC3};case e.FLOAT_VEC4:return function(){return u.FLOAT_VEC4};case e.INT:return function(){return u.INT};case e.INT_VEC2:return function(){return u.INT_VEC2};case e.INT_VEC3:return function(){return u.INT_VEC3};case e.INT_VEC4:return function(){return u.INT_VEC4};case e.BOOL:return function(){return u.BOOL};case e.BOOL_VEC2:return function(){return u.BOOL_VEC2};case e.BOOL_VEC3:return function(){return u.BOOL_VEC3};case e.BOOL_VEC4:return function(){return u.BOOL_VEC4};case e.FLOAT_MAT2:return function(){return u.FLOAT_MAT2};case e.FLOAT_MAT3:return function(){return u.FLOAT_MAT3};case e.FLOAT_MAT4:return function(){return u.FLOAT_MAT4};case e.SAMPLER_2D:return function(){return u.SAMPLER_2D};case e.SAMPLER_CUBE:return function(){return u.SAMPLER_CUBE};default:throw new i("Unrecognized uniform type: "+t)}}function d(e,t,r){e.useProgram(t);for(var i=0,n=r.length,o=0;n>o;++o)i=r[o]._setSampler(i);return e.useProgram(null),i}function m(e){var t=e.indexOf("#version");if(-1!==t){var r=e.indexOf("\n",t);if(-1!==t){var i=e.substring(t,r+1),n=e.substring(0,t)+"//"+e.substring(t);return{version:i,source:n}}}return{version:"",source:e}}function p(t,r,i){for(var n,o=0;oc;++c)u+=0===c?"// Comment replaced to prevent problems when determining dependencies on built-in functions\n":"//\n";r=r.replace(s,u)}n={name:t,glslSource:r,dependsOn:[],requiredBy:[],evaluated:!1},i.push(n)}return n}function f(t,r){if(!t.evaluated){t.evaluated=!0;var i=t.glslSource.match(/\bczm_[a-zA-Z0-9_]*/g);e(i)&&null!==i&&(i=i.filter(function(e,t){return i.indexOf(e)===t}),i.forEach(function(e){if(e!==t.name&&P._czmBuiltinsAndUniforms.hasOwnProperty(e)){var i=p(e,P._czmBuiltinsAndUniforms[e],r);t.dependsOn.push(i),i.requiredBy.push(t),f(i,r)}}))}}function v(e){for(var r=[],i=[];e.length>0;){var n=e.pop();i.push(n),0===n.requiredBy.length&&r.push(n)}for(;r.length>0;){var o=r.shift();e.push(o);for(var a=0;a=0;--n)i=i+t[n].glslSource+"\n";return i.replace(r.glslSource,"")}function _(){return"#ifdef GL_FRAGMENT_PRECISION_HIGH \n precision highp float; \n#else \n precision mediump float; \n#endif \n\n"}function y(t,r,n,o,a){var s,l=m(n),u=m(o),c=l.version+g(l.source)+"\n#line 0\n"+l.source,h=u.version+_()+g(u.source)+"\n#line 0\n"+u.source,d=t.createShader(t.VERTEX_SHADER);t.shaderSource(d,c),t.compileShader(d);var p=t.createShader(t.FRAGMENT_SHADER);t.shaderSource(p,h),t.compileShader(p);var f=t.createProgram();if(t.attachShader(f,d),t.attachShader(f,p),t.deleteShader(d),t.deleteShader(p),e(a))for(var v in a)a.hasOwnProperty(v)&&t.bindAttribLocation(f,a[v],v);if(t.linkProgram(f),!t.getProgramParameter(f,t.LINK_STATUS)){if(!t.getShaderParameter(p,t.COMPILE_STATUS))throw s=t.getShaderInfoLog(p),t.deleteProgram(f),console.error("[GL] Fragment shader compile log: "+s),new i("Fragment shader failed to compile. Compile log: "+s);if(!t.getShaderParameter(d,t.COMPILE_STATUS))throw s=t.getShaderInfoLog(d),t.deleteProgram(f),console.error("[GL] Vertex shader compile log: "+s),new i("Vertex shader failed to compile. Compile log: "+s);throw s=t.getProgramInfoLog(f),t.deleteProgram(f),console.error("[GL] Shader program link log: "+s),new i("Program failed to link. Link log: "+s)}return r&&(s=t.getShaderInfoLog(d),e(s)&&s.length>0&&console.log("[GL] Vertex shader compile log: "+s)),r&&(s=t.getShaderInfoLog(p),e(s)&&s.length>0&&console.log("[GL] Fragment shader compile log: "+s)),r&&(s=t.getProgramInfoLog(f),e(s)&&s.length>0&&console.log("[GL] Shader program link log: "+s)),f}function C(e,t,r){for(var i={},n=0;r>n;++n){var o=e.getActiveAttrib(t,n),a=e.getAttribLocation(t,o.name);i[o.name]={name:o.name,type:o.type,index:a}}return i}function S(e,t){for(var r={},i=[],n=[],o=e.getProgramParameter(t,e.ACTIVE_UNIFORMS),a=0;o>a;++a){var s=e.getActiveUniform(t,a),l="[0]",u=-1!==s.name.indexOf(l,s.name.length-l.length)?s.name.slice(0,s.name.length-3):s.name;if(0!==u.indexOf("gl_"))if(s.name.indexOf("[")<0){var c=e.getUniformLocation(t,u),h=e.getUniform(t,c),d=new T(e,s,u,c,h);r[u]=d,i.push(d),d._setSampler&&n.push(d)}else{var m,p,f,v,g=u.indexOf("[");if(g>=0){if(m=r[u.slice(0,g)],"undefined"==typeof m)continue;p=m._getLocations(),p.length<=1&&(f=m.value,v=e.getUniformLocation(t,u),p.push(v),f.push(e.getUniform(t,v)))}else{p=[],f=[];for(var _=0;_i;++i)r.uniform1f(d[i],e[i])};case r.FLOAT_VEC2:return function(){for(var e=this.value,t=e.length,i=0;t>i;++i){var n=e[i];r.uniform2f(d[i],n.x,n.y)}};case r.FLOAT_VEC3:return function(){for(var e=this.value,t=e.length,i=0;t>i;++i){var n=e[i];r.uniform3f(d[i],n.x,n.y,n.z)}};case r.FLOAT_VEC4:return function(){for(var i=this.value,n=i.length,o=0;n>o;++o){var a=i[o];if(e(a.red))r.uniform4f(d[o],a.red,a.green,a.blue,a.alpha);else{if(!e(a.x))throw new t("Invalid vec4 value.");r.uniform4f(d[o],a.x,a.y,a.z,a.w)}}};case r.SAMPLER_2D:case r.SAMPLER_CUBE:return function(){for(var e=this.value,t=e.length,i=0;t>i;++i){var n=e[i],o=this.textureUnitIndex+i;r.activeTexture(r.TEXTURE0+o),r.bindTexture(n._getTarget(),n._getTexture())}};case r.INT:case r.BOOL:return function(){for(var e=this.value,t=e.length,i=0;t>i;++i)r.uniform1i(d[i],e[i])};case r.INT_VEC2:case r.BOOL_VEC2:return function(){for(var e=this.value,t=e.length,i=0;t>i;++i){var n=e[i];r.uniform2i(d[i],n.x,n.y)}};case r.INT_VEC3:case r.BOOL_VEC3:return function(){for(var e=this.value,t=e.length,i=0;t>i;++i){var n=e[i];r.uniform3i(d[i],n.x,n.y,n.z)}};case r.INT_VEC4:case r.BOOL_VEC4:return function(){for(var e=this.value,t=e.length,i=0;t>i;++i){var n=e[i];r.uniform4i(d[i],n.x,n.y,n.z,n.w)}};case r.FLOAT_MAT2:return function(){for(var e=this.value,t=e.length,i=0;t>i;++i)r.uniformMatrix2fv(d[i],!1,o.toArray(e[i],E))};case r.FLOAT_MAT3:return function(){for(var e=this.value,t=e.length,i=0;t>i;++i)r.uniformMatrix3fv(d[i],!1,a.toArray(e[i],x))};case r.FLOAT_MAT4:return function(){for(var e=this.value,t=e.length,i=0;t>i;++i)r.uniformMatrix4fv(d[i],!1,s.toArray(e[i],b))};default:throw new i("Unrecognized uniform type: "+n.type)}}(),(n.type===r.SAMPLER_2D||n.type===r.SAMPLER_CUBE)&&(this._setSampler=function(e){this.textureUnitIndex=e;for(var t=d.length,i=0;t>i;++i){var n=e+i;r.uniform1i(d[i],n)}return e+t})},P=function(e,t,r,i,n){var o=y(e,t,r,i,n),a=e.getProgramParameter(o,e.ACTIVE_ATTRIBUTES),s=S(e,o),l=w(s.uniformsByName);this._gl=e,this._program=o,this._numberOfVertexAttributes=a,this._vertexAttributes=C(e,o,a),this._uniformsByName=s.uniformsByName,this._uniforms=s.uniforms,this._automaticUniforms=l.automaticUniforms,this._manualUniforms=l.manualUniforms,this.maximumTextureUnitIndex=d(e,o,s.samplerUniforms),this.vertexShaderSource=r,this.fragmentShaderSource=i};P._czmBuiltinsAndUniforms={};for(var D in c)c.hasOwnProperty(D)&&(P._czmBuiltinsAndUniforms[D]=c[D]);for(var M in l)if(l.hasOwnProperty(M)){var I=l[M];"function"==typeof I.getDeclaration&&(P._czmBuiltinsAndUniforms[M]=I.getDeclaration(M))}return P.prototype.getVertexAttributes=function(){return this._vertexAttributes},P.prototype.getNumberOfVertexAttributes=function(){return this._numberOfVertexAttributes},P.prototype.getAllUniforms=function(){return this._uniformsByName},P.prototype.getManualUniforms=function(){return this._manualUniforms},P.prototype._bind=function(){this._gl.useProgram(this._program)},P.prototype._setUniforms=function(e,r,i){var n,o,a=this._uniforms,s=this._manualUniforms,l=this._automaticUniforms;if(e)for(var u in s)s.hasOwnProperty(u)&&(s[u].value=e[u]());for(n=l.length,o=0;n>o;++o)l[o].uniform.value=l[o].automaticUniform.getValue(r);for(n=a.length,o=0;n>o;++o)a[o]._set();if(i){var c=this._gl,h=this._program;if(c.validateProgram(h),!c.getProgramParameter(h,c.VALIDATE_STATUS))throw new t("Program validation failed. Link log: "+c.getProgramInfoLog(h)) +}},P.prototype.isDestroyed=function(){return!1},P.prototype.destroy=function(){return this._gl.deleteProgram(this._program),n(this)},P.prototype.release=function(){return this._cachedShader?this._cachedShader.cache.releaseShaderProgram(this):this.destroy()},P}),r("Renderer/TextureAtlas",["../Core/BoundingRectangle","../Core/Cartesian2","../Core/createGuid","../Core/defaultValue","../Core/defined","../Core/destroyObject","../Core/DeveloperError","./PixelFormat"],function(e,t,r,i,n,o,a,s){"use strict";function l(e,r,n,o,a){this.bottomLeft=i(e,t.ZERO),this.topRight=i(r,t.ZERO),this.childNode1=n,this.childNode2=o,this.imageIndex=a}function u(e,r){var i=e.getNumberOfImages(),o=2;if(i>0){var a=e._texture.getWidth(),s=e._texture.getHeight(),u=o*(a+r.width+e._borderWidthInPixels),c=o*(s+r.height+e._borderWidthInPixels),h=a/u,d=s/c,m=new l(new t(a+e._borderWidthInPixels,0),new t(u,s)),p=new l(new t,new t(u,s),e._root,m),f=new l(new t(0,s+e._borderWidthInPixels),new t(u,c)),v=new l(new t,new t(u,c),p,f);e._root=v;for(var g=0;gs||0>u)return void 0;if(0===s&&0===u)return r;if(s>u){r.childNode1=new l(new t(r.bottomLeft.x,r.bottomLeft.y),new t(r.bottomLeft.x+i.width,r.topRight.y));var h=r.bottomLeft.x+i.width+e._borderWidthInPixels;h0&&this.addImages(c);var h=e.image;n(h)&&this.addImage(h)};return m.prototype.addImage=function(e){var t=this.getNumberOfImages();return h(this,e,t),this._guid=r(),t},m.prototype.addImages=function(e){var t,i=[],n=e.length,o=this.getNumberOfImages();for(t=0;n>t;++t)i.push({image:e[t],index:t+o});for(i.sort(function(e,t){return Math.max(t.image.height,t.image.width)-Math.max(e.image.height,e.image.width)}),t=0;n>t;++t){var a=i[t];h(this,a.image,a.index)}return this._guid=r(),o},m.prototype.addSubRegions=function(t,i){for(var n=this.addImage(t),o=this._texture.getWidth(),a=this._texture.getHeight(),s=this.getNumberOfImages(),l=i.length,u=this._textureCoordinates[n],c=0;l>c;++c){var h=i[c];this._textureCoordinates.push(new e(u.x+h.x/o,u.y+h.y/a,h.width/o,h.height/a))}return this._guid=r(),s},m.prototype.getBorderWidthInPixels=function(){return this._borderWidthInPixels},m.prototype.getTextureCoordinates=function(){return this._textureCoordinates},m.prototype.getTexture=function(){return this._texture},m.prototype.getNumberOfImages=function(){return this._textureCoordinates.length},m.prototype.getGUID=function(){return this._guid},m.prototype.isDestroyed=function(){return!1},m.prototype.destroy=function(){return this._texture=this._texture&&this._texture.destroy(),o(this)},m}),r("Renderer/UniformState",["../Core/BoundingRectangle","../Core/Cartesian2","../Core/Cartesian3","../Core/Cartesian4","../Core/Cartographic","../Core/defined","../Core/EncodedCartesian3","../Core/Math","../Core/Matrix3","../Core/Matrix4","../Core/Simon1994PlanetaryPositions","../Core/Transforms","../Scene/SceneMode"],function(e,t,r,i,n,o,a,s,l,u,c,h,d){"use strict";function m(e,t){u.clone(t,e._view),u.getRotation(t,e._viewRotation),e._view3DDirty=!0,e._inverseView3DDirty=!0,e._modelViewDirty=!0,e._modelView3DDirty=!0,e._modelViewRelativeToEyeDirty=!0,e._inverseModelViewDirty=!0,e._inverseModelView3DDirty=!0,e._viewProjectionDirty=!0,e._modelViewProjectionDirty=!0,e._modelViewProjectionRelativeToEyeDirty=!0,e._modelViewInfiniteProjectionDirty=!0,e._normalDirty=!0,e._inverseNormalDirty=!0,e._normal3DDirty=!0,e._inverseNormal3DDirty=!0}function p(e,t){u.clone(t,e._inverseView),u.getRotation(t,e._inverseViewRotation)}function f(e,t){u.clone(t,e._projection),e._inverseProjectionDirty=!0,e._viewProjectionDirty=!0,e._modelViewProjectionDirty=!0,e._modelViewProjectionRelativeToEyeDirty=!0}function v(e,t){u.clone(t,e._infiniteProjection),e._modelViewInfiniteProjectionDirty=!0}function g(e,t){r.clone(t.positionWC,e._cameraPosition),r.clone(t.directionWC,e._cameraDirection),r.clone(t.rightWC,e._cameraRight),r.clone(t.upWC,e._cameraUp),e._encodedCameraPositionMCDirty=!0}function _(e,t){o(h.computeIcrfToFixedMatrix(t.time,V))||(V=h.computeTemeToPseudoFixedMatrix(t.time,V));var i=c.ComputeSunPositionInEarthInertialFrame(t.time,e._sunPositionWC);l.multiplyByVector(V,i,i),r.normalize(i,e._sunDirectionWC),i=l.multiplyByVector(e.getViewRotation3D(),i,e._sunDirectionEC),r.normalize(i,i),i=c.ComputeMoonPositionInEarthInertialFrame(t.time,e._moonDirectionEC),l.multiplyByVector(V,i,i),l.multiplyByVector(e.getViewRotation3D(),i,i),r.normalize(i,i);var n=t.scene2D.projection,a=n.ellipsoid,s=a.cartesianToCartographic(e._sunPositionWC,k);n.project(s,e._sunPositionColumbusView)}function y(e){if(e._viewportDirty){var t=e._viewport;u.computeOrthographicOffCenter(t.x,t.x+t.width,t.y,t.y+t.height,0,1,e._viewportOrthographicMatrix),u.computeViewportTransformation(t,0,1,e._viewportTransformation),e._viewportDirty=!1}}function C(e){e._inverseProjectionDirty&&(e._inverseProjectionDirty=!1,u.inverse(e._projection,e._inverseProjection))}function S(e){e._modelViewDirty&&(e._modelViewDirty=!1,u.multiplyTransformation(e._view,e._model,e._modelView))}function w(e){e._modelView3DDirty&&(e._modelView3DDirty=!1,u.multiplyTransformation(e.getView3D(),e._model,e._modelView3D))}function E(e){if(e._modelViewRelativeToEyeDirty){e._modelViewRelativeToEyeDirty=!1;var t=e.getModelView(),r=e._modelViewRelativeToEye;r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=t[3],r[4]=t[4],r[5]=t[5],r[6]=t[6],r[7]=t[7],r[8]=t[8],r[9]=t[9],r[10]=t[10],r[11]=t[11],r[12]=0,r[13]=0,r[14]=0,r[15]=t[15]}}function x(e){e._inverseModelViewDirty&&(e._inverseModelViewDirty=!1,u.inverse(e.getModelView(),e._inverseModelView))}function b(e){e._inverseModelView3DDirty&&(e._inverseModelView3DDirty=!1,u.inverse(e.getModelView3D(),e._inverseModelView3D))}function T(e){e._viewProjectionDirty&&(e._viewProjectionDirty=!1,u.multiply(e._projection,e._view,e._viewProjection))}function A(e){e._inverseViewProjectionDirty&&(e._inverseViewProjectionDirty=!1,u.inverse(e.getViewProjection(),e._inverseViewProjection))}function P(e){e._modelViewProjectionDirty&&(e._modelViewProjectionDirty=!1,u.multiply(e._projection,e.getModelView(),e._modelViewProjection))}function D(e){e._inverseModelViewProjectionDirty&&(e._inverseModelViewProjectionDirty=!1,u.inverse(e.getModelViewProjection(),e._inverseModelViewProjection))}function M(e){e._modelViewProjectionRelativeToEyeDirty&&(e._modelViewProjectionRelativeToEyeDirty=!1,u.multiply(e._projection,e.getModelViewRelativeToEye(),e._modelViewProjectionRelativeToEye))}function I(e){e._modelViewInfiniteProjectionDirty&&(e._modelViewInfiniteProjectionDirty=!1,u.multiply(e._infiniteProjection,e.getModelView(),e._modelViewInfiniteProjection))}function O(e){if(e._normalDirty){e._normalDirty=!1;var t=e._normal;u.getRotation(e.getInverseModelView(),t),l.transpose(t,t)}}function R(e){if(e._normal3DDirty){e._normal3DDirty=!1;var t=e._normal3D;u.getRotation(e.getInverseModelView3D(),t),l.transpose(t,t)}}function L(e){e._inverseNormalDirty&&(e._inverseNormalDirty=!1,u.getRotation(e.getInverseModelView(),e._inverseNormal))}function N(e){e._inverseNormal3DDirty&&(e._inverseNormal3DDirty=!1,u.getRotation(e.getInverseModelView3D(),e._inverseNormal3D))}function B(e){e._encodedCameraPositionMCDirty&&(e._encodedCameraPositionMCDirty=!1,u.multiplyByPoint(e.getInverseModel(),e._cameraPosition,G),a.fromCartesian(G,e._encodedCameraPositionMC))}function z(e,t,i,n,a,l,c,m){var p=H;p.x=e.y,p.y=e.z,p.z=e.x;var f=j;f.x=i.y,f.y=i.z,f.z=i.x;var v=q;v.x=n.y,v.y=n.z,v.z=n.x;var g=Y;g.x=t.y,g.y=t.z,g.z=t.x,l===d.SCENE2D&&(p.z=.5*a);var _=c.unproject(p,X);_.longitude=s.clamp(_.longitude,-Math.PI,Math.PI),_.latitude=s.clamp(_.latitude,-s.PI_OVER_TWO,s.PI_OVER_TWO);var y=c.ellipsoid,C=y.cartographicToCartesian(_,Z),S=h.eastNorthUpToFixedFrame(C,y,J);return u.multiplyByPointAsVector(S,f,f),u.multiplyByPointAsVector(S,v,v),u.multiplyByPointAsVector(S,g,g),o(m)||(m=new u),m[0]=f.x,m[1]=v.x,m[2]=-g.x,m[3]=0,m[4]=f.y,m[5]=v.y,m[6]=-g.y,m[7]=0,m[8]=f.z,m[9]=v.z,m[10]=-g.z,m[11]=0,m[12]=-r.dot(f,C),m[13]=-r.dot(v,C),m[14]=r.dot(g,C),m[15]=1,m}var F=function(){this._viewport=new e,this._viewportCartesian4=new i,this._viewportDirty=!1,this._viewportOrthographicMatrix=u.clone(u.IDENTITY),this._viewportTransformation=u.clone(u.IDENTITY),this._model=u.clone(u.IDENTITY),this._view=u.clone(u.IDENTITY),this._inverseView=u.clone(u.IDENTITY),this._projection=u.clone(u.IDENTITY),this._infiniteProjection=u.clone(u.IDENTITY),this._entireFrustum=new t,this._currentFrustum=new t,this._pixelSize=0,this.frameState=void 0,this._temeToPseudoFixed=l.clone(u.IDENTITY),this._view3DDirty=!0,this._view3D=new u,this._inverseView3DDirty=!0,this._inverseView3D=new u,this._inverseModelDirty=!0,this._inverseModel=new u,this._inverseTransposeModelDirty=!0,this._inverseTransposeModel=new l,this._viewRotation=new l,this._inverseViewRotation=new l,this._viewRotation3D=new l,this._inverseViewRotation3D=new l,this._inverseProjectionDirty=!0,this._inverseProjection=new u,this._modelViewDirty=!0,this._modelView=new u,this._modelView3DDirty=!0,this._modelView3D=new u,this._modelViewRelativeToEyeDirty=!0,this._modelViewRelativeToEye=new u,this._inverseModelViewDirty=!0,this._inverseModelView=new u,this._inverseModelView3DDirty=!0,this._inverseModelView3D=new u,this._viewProjectionDirty=!0,this._viewProjection=new u,this._inverseViewProjectionDirty=!0,this._inverseViewProjection=new u,this._modelViewProjectionDirty=!0,this._modelViewProjection=new u,this._inverseModelViewProjectionDirty=!0,this._inverseModelViewProjection=new u,this._modelViewProjectionRelativeToEyeDirty=!0,this._modelViewProjectionRelativeToEye=new u,this._modelViewInfiniteProjectionDirty=!0,this._modelViewInfiniteProjection=new u,this._normalDirty=!0,this._normal=new l,this._normal3DDirty=!0,this._normal3D=new l,this._inverseNormalDirty=!0,this._inverseNormal=new l,this._inverseNormal3DDirty=!0,this._inverseNormal3D=new l,this._encodedCameraPositionMCDirty=!0,this._encodedCameraPositionMC=new a,this._cameraPosition=new r,this._sunPositionWC=new r,this._sunPositionColumbusView=new r,this._sunDirectionWC=new r,this._sunDirectionEC=new r,this._moonDirectionEC=new r,this._mode=void 0,this._mapProjection=void 0,this._cameraDirection=new r,this._cameraRight=new r,this._cameraUp=new r,this._frustum2DWidth=0,this._eyeHeight2D=new t},V=new l,k=new n;F.prototype.updateFrustum=function(e){f(this,e.projectionMatrix),o(e.infiniteProjectionMatrix)&&v(this,e.infiniteProjectionMatrix),this._currentFrustum.x=e.near,this._currentFrustum.y=e.far};var U=new t,W=new t;F.prototype.update=function(e,t){this._mode=t.mode,this._mapProjection=t.scene2D.projection;var r=t.camera;m(this,r.viewMatrix),p(this,r.inverseViewMatrix),g(this,r),t.mode===d.SCENE2D?(this._frustum2DWidth=r.frustum.right-r.frustum.left,this._eyeHeight2D.x=.5*this._frustum2DWidth,this._eyeHeight2D.y=this._eyeHeight2D.x*this._eyeHeight2D.x):(this._frustum2DWidth=0,this._eyeHeight2D.x=0,this._eyeHeight2D.y=0),_(this,t),U.x=e.getDrawingBufferWidth(),U.y=e.getDrawingBufferHeight();var i=r.frustum.getPixelSize(U,void 0,W);this._pixelSize=Math.max(i.x,i.y),this._entireFrustum.x=r.frustum.near,this._entireFrustum.y=r.frustum.far,this.updateFrustum(r.frustum),this.frameState=t,this._temeToPseudoFixed=h.computeTemeToPseudoFixedMatrix(t.time,this._temeToPseudoFixed)},F.prototype.setViewport=function(t){if(!e.equals(t,this._viewport)){e.clone(t,this._viewport);var r=this._viewport,i=this._viewportCartesian4;i.x=r.x,i.y=r.y,i.z=r.width,i.w=r.height,this._viewportDirty=!0}},F.prototype.getViewport=function(){return this._viewport},F.prototype.getViewportCartesian4=function(){return this._viewportCartesian4},F.prototype.getViewportOrthographic=function(){return y(this),this._viewportOrthographicMatrix},F.prototype.getViewportTransformation=function(){return y(this),this._viewportTransformation},F.prototype.setModel=function(e){u.clone(e,this._model),this._modelView3DDirty=!0,this._inverseModelView3DDirty=!0,this._inverseModelDirty=!0,this._inverseTransposeModelDirty=!0,this._modelViewDirty=!0,this._inverseModelViewDirty=!0,this._viewProjectionDirty=!0,this._inverseViewProjectionDirty=!0,this._modelViewRelativeToEyeDirty=!0,this._inverseModelViewDirty=!0,this._modelViewProjectionDirty=!0,this._inverseModelViewProjectionDirty=!0,this._modelViewProjectionRelativeToEyeDirty=!0,this._modelViewInfiniteProjectionDirty=!0,this._normalDirty=!0,this._inverseNormalDirty=!0,this._normal3DDirty=!0,this._inverseNormal3DDirty=!0,this._encodedCameraPositionMCDirty=!0},F.prototype.getModel=function(){return this._model},F.prototype.getInverseModel=function(){return this._inverseModelDirty&&(this._inverseModelDirty=!1,u.inverse(this._model,this._inverseModel)),this._inverseModel},F.prototype.getInverseTranposeModel=function(){var e=this._inverseTransposeModel;return this._inverseTransposeModelDirty&&(this._inverseTransposeModelDirty=!1,u.getRotation(this.getInverseModel(),e),l.transpose(e,e)),e},F.prototype.getView=function(){return this._view},F.prototype.getView3D=function(){return this._view3DDirty&&(this._mode===d.SCENE3D?u.clone(this._view,this._view3D):z(this._cameraPosition,this._cameraDirection,this._cameraRight,this._cameraUp,this._frustum2DWidth,this._mode,this._mapProjection,this._view3D),u.getRotation(this._view3D,this._viewRotation3D),this._view3DDirty=!1),this._view3D},F.prototype.getViewRotation=function(){return this._viewRotation},F.prototype.getViewRotation3D=function(){return this.getView3D(),this._viewRotation3D},F.prototype.getInverseView=function(){return this._inverseView},F.prototype.getInverseView3D=function(){return this._inverseView3DDirty&&(u.inverseTransformation(this.getView3D(),this._inverseView3D),u.getRotation(this._inverseView3D,this._inverseViewRotation3D),this._inverseView3DDirty=!1),this._inverseView3D},F.prototype.getInverseViewRotation=function(){return this._inverseViewRotation},F.prototype.getInverseViewRotation3D=function(){return this.getInverseView3D(),this._inverseViewRotation3D},F.prototype.getProjection=function(){return this._projection},F.prototype.getInverseProjection=function(){return C(this),this._inverseProjection},F.prototype.getInfiniteProjection=function(){return this._infiniteProjection},F.prototype.getModelView=function(){return S(this),this._modelView},F.prototype.getModelView3D=function(){return w(this),this._modelView3D},F.prototype.getModelViewRelativeToEye=function(){return E(this),this._modelViewRelativeToEye},F.prototype.getInverseModelView=function(){return x(this),this._inverseModelView},F.prototype.getInverseModelView3D=function(){return b(this),this._inverseModelView3D},F.prototype.getViewProjection=function(){return T(this),this._viewProjection},F.prototype.getInverseViewProjection=function(){return A(this),this._inverseViewProjection},F.prototype.getModelViewProjection=function(){return P(this),this._modelViewProjection},F.prototype.getInverseModelViewProjection=function(){return D(this),this._inverseModelViewProjection},F.prototype.getModelViewProjectionRelativeToEye=function(){return M(this),this._modelViewProjectionRelativeToEye},F.prototype.getModelViewInfiniteProjection=function(){return I(this),this._modelViewInfiniteProjection},F.prototype.getNormal=function(){return O(this),this._normal},F.prototype.getNormal3D=function(){return R(this),this._normal3D},F.prototype.getInverseNormal=function(){return L(this),this._inverseNormal},F.prototype.getInverseNormal3D=function(){return N(this),this._inverseNormal3D},F.prototype.getEntireFrustum=function(){return this._entireFrustum},F.prototype.getCurrentFrustum=function(){return this._currentFrustum},F.prototype.getEyeHeight2D=function(){return this._eyeHeight2D},F.prototype.getPixelSize=function(){return this._pixelSize},F.prototype.getSunPositionWC=function(){return this._sunPositionWC},F.prototype.getSunPositionColumbusView=function(){return this._sunPositionColumbusView},F.prototype.getSunDirectionWC=function(){return this._sunDirectionWC},F.prototype.getSunDirectionEC=function(){return this._sunDirectionEC},F.prototype.getMoonDirectionEC=function(){return this._moonDirectionEC};var G=new r;F.prototype.getEncodedCameraPositionMCHigh=function(){return B(this),this._encodedCameraPositionMC.high},F.prototype.getEncodedCameraPositionMCLow=function(){return B(this),this._encodedCameraPositionMC.low},F.prototype.getTemeToPseudoFixedMatrix=function(){return this._temeToPseudoFixed},F.prototype.getHighResolutionSnapScale=function(){return 1};var H=new r,j=new r,q=new r,Y=new r,X=new n,Z=new r,J=new u;return F}),r("Renderer/VertexArray",["../Core/defaultValue","../Core/defined","../Core/destroyObject","../Core/DeveloperError","../Core/ComponentDatatype"],function(e,t,r,i,n){"use strict";function o(r,i,o){var a=t(i.vertexBuffer),s=t(i.value),l=i.value?i.value.length:i.componentsPerAttribute,u={index:e(i.index,o),enabled:e(i.enabled,!0),vertexBuffer:i.vertexBuffer,value:s?i.value.slice(0):void 0,componentsPerAttribute:l,componentDatatype:e(i.componentDatatype,n.FLOAT),normalize:e(i.normalize,!1),offsetInBytes:e(i.offsetInBytes,0),strideInBytes:e(i.strideInBytes,0)};if(a)u.vertexAttrib=function(e){e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer._getBuffer()),e.vertexAttribPointer(this.index,this.componentsPerAttribute,this.componentDatatype.value,this.normalize,this.strideInBytes,this.offsetInBytes),e.enableVertexAttribArray(this.index)},u.disableVertexAttribArray=function(e){e.disableVertexAttribArray(this.index)};else{switch(u.componentsPerAttribute){case 1:u.vertexAttrib=function(e){e.vertexAttrib1fv(this.index,this.value)};break;case 2:u.vertexAttrib=function(e){e.vertexAttrib2fv(this.index,this.value)};break;case 3:u.vertexAttrib=function(e){e.vertexAttrib3fv(this.index,this.value)};break;case 4:u.vertexAttrib=function(e){e.vertexAttrib4fv(this.index,this.value)}}u.disableVertexAttribArray=function(){}}r.push(u)}function a(e,r,i){for(var n=0;ni;++i){var n=e.getExtension(t[i]);if(n)return n}return void 0}function W(e,t,r,i){var n;"number"==typeof r?n=r:"object"==typeof r&&"number"==typeof r.byteLength&&(n=r.byteLength);var o=e.createBuffer();return e.bindBuffer(t,o),e.bufferData(t,r,i),e.bindBuffer(t,null),new p(e,t,n,i,o)}function G(e){if(e._validateFB){var t=e._gl,r=t.checkFramebufferStatus(t.FRAMEBUFFER);if(r!==t.FRAMEBUFFER_COMPLETE){var n;switch(r){case t.FRAMEBUFFER_INCOMPLETE_ATTACHMENT:n="Framebuffer is not complete. Incomplete attachment: at least one attachment point with a renderbuffer or texture attached has its attached object no longer in existence or has an attached image with a width or height of zero, or the color attachment point has a non-color-renderable image attached, or the depth attachment point has a non-depth-renderable image attached, or the stencil attachment point has a non-stencil-renderable image attached. Color-renderable formats include GL_RGBA4, GL_RGB5_A1, and GL_RGB565. GL_DEPTH_COMPONENT16 is the only depth-renderable format. GL_STENCIL_INDEX8 is the only stencil-renderable format.";break;case t.FRAMEBUFFER_INCOMPLETE_DIMENSIONS:n="Framebuffer is not complete. Incomplete dimensions: not all attached images have the same width and height.";break;case t.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:n="Framebuffer is not complete. Missing attachment: no images are attached to the framebuffer.";break;case t.FRAMEBUFFER_UNSUPPORTED:n="Framebuffer is not complete. Unsupported: the combination of internal formats of the attached images violates an implementation-dependent set of restrictions."}throw new i(n)}}}function H(e,t,r){var i=e._currentRenderState;i!==t&&(e._currentRenderState=t,E.partialApply(e._gl,i,t,r))}function j(e,t,i,n){var o=r(i.renderState)?i.renderState:e._defaultRenderState;if(t!==e._currentFamebuffer){e._currentFramebuffer=t;var a=rt;r(t)&&(t._bind(),G(e,t),a=t._getActiveColorAttachments()),e.getDrawBuffers()&&e._drawBuffers.drawBuffersWEBGL(a)}var s=i.shaderProgram;s._bind(),e._maxFrameTextureUnitIndex=Math.max(e._maxFrameTextureUnitIndex,s.maximumTextureUnitIndex),H(e,o,n)}function q(e,i){var n=i.primitiveType,o=i.vertexArray,a=i.offset,s=i.count;e._us.setModel(t(i.modelMatrix,d.IDENTITY)),i.shaderProgram._setUniforms(i.uniformMap,e._us,e._validateSP);var l=o.getIndexBuffer();r(l)?(a*=l.getBytesPerIndex(),s=t(s,l.getNumberOfIndices()),o._bind(),e._gl.drawElements(n,s,l.getIndexDatatype(),a),o._unBind()):(s=t(s,o.numberOfVertices),o._bind(),e._gl.drawArrays(n,a,s),o._unBind())}function Y(e,t){r(t)&&t._unBind()}function X(e){return e.values.length/e.componentsPerAttribute}function Z(e){return e.componentDatatype.sizeInBytes*e.componentsPerAttribute}function J(e){var t,i,n,o=[];for(i in e)e.hasOwnProperty(i)&&r(e[i])&&r(e[i].values)&&(o.push(i),e[i].componentDatatype.value===a.DOUBLE.value&&(e[i].componentDatatype=a.FLOAT,e[i].values=a.createTypedArray(a.FLOAT,e[i].values)));var s,u=o.length;if(u>0)for(s=X(e[o[0]]),t=1;u>t;++t){var c=X(e[o[t]]);if(c!==s)throw new l("Each attribute list must have the same number of vertices. Attribute "+o[t]+" has a different number of vertices "+"("+c.toString()+")"+" than attribute "+o[0]+" ("+s.toString()+").")}o.sort(function(t,r){return e[r].componentDatatype.sizeInBytes-e[t].componentDatatype.sizeInBytes});var h=0,d={};for(t=0;u>t;++t)i=o[t],n=e[i],d[i]=h,h+=Z(n);if(h>0){var m=e[o[0]].componentDatatype.sizeInBytes,p=h%m;0!==p&&(h+=m-p);var f=s*h,v=new ArrayBuffer(f),g={};for(t=0;u>t;++t){i=o[t];var _=e[i].componentDatatype.sizeInBytes;g[i]={pointer:a.createTypedArray(e[i].componentDatatype,v),index:d[i]/_,strideInComponentType:h/_}}for(t=0;s>t;++t)for(var y=0;u>y;++y){i=o[y],n=e[i];for(var C=n.values,S=g[i],w=S.pointer,E=n.componentsPerAttribute,x=0;E>x;++x)w[S.index+x]=C[t*E+x];S.index+=S.strideInComponentType}return{buffer:v,offsetsInBytes:d,vertexSizeInBytes:h}}return void 0}function Q(e,t,r){this._pickObjects=e,this.key=t,this.color=r}var K=function(i,n){if("undefined"==typeof WebGLRenderingContext)throw new l("The browser does not support WebGL. Visit http://get.webgl.org.");this._canvas=i,n=e(n,!0),n=t(n,{}),n.allowTextureFilterAnisotropic=t(n.allowTextureFilterAnisotropic,!0);var a=t(n.webgl,{});if(a.alpha=t(a.alpha,!1),a.stencil=t(a.stencil,!1),a.failIfMajorPerformanceCaveat=t(a.failIfMajorPerformanceCaveat,!0),this._originalGLContext=i.getContext("webgl",a)||i.getContext("experimental-webgl",a)||void 0,!r(this._originalGLContext))throw new l("The browser supports WebGL, but initialization failed.");this._id=h(),this._validateFB=!1,this._validateSP=!1,this._logShaderCompilation=!1,this._throwOnWebGLError=!1,this._shaderCache=new x(this);var s=this._gl=this._originalGLContext;this._version=s.getParameter(s.VERSION),this._shadingLanguageVersion=s.getParameter(s.SHADING_LANGUAGE_VERSION),this._vendor=s.getParameter(s.VENDOR),this._renderer=s.getParameter(s.RENDERER),this._redBits=s.getParameter(s.RED_BITS),this._greenBits=s.getParameter(s.GREEN_BITS),this._blueBits=s.getParameter(s.BLUE_BITS),this._alphaBits=s.getParameter(s.ALPHA_BITS),this._depthBits=s.getParameter(s.DEPTH_BITS),this._stencilBits=s.getParameter(s.STENCIL_BITS),this._maximumCombinedTextureImageUnits=s.getParameter(s.MAX_COMBINED_TEXTURE_IMAGE_UNITS),this._maximumCubeMapSize=s.getParameter(s.MAX_CUBE_MAP_TEXTURE_SIZE),this._maximumFragmentUniformVectors=s.getParameter(s.MAX_FRAGMENT_UNIFORM_VECTORS),this._maximumTextureImageUnits=s.getParameter(s.MAX_TEXTURE_IMAGE_UNITS),this._maximumRenderbufferSize=s.getParameter(s.MAX_RENDERBUFFER_SIZE),this._maximumTextureSize=s.getParameter(s.MAX_TEXTURE_SIZE),this._maximumVaryingVectors=s.getParameter(s.MAX_VARYING_VECTORS),this._maximumVertexAttributes=s.getParameter(s.MAX_VERTEX_ATTRIBS),this._maximumVertexTextureImageUnits=s.getParameter(s.MAX_VERTEX_TEXTURE_IMAGE_UNITS),this._maximumVertexUniformVectors=s.getParameter(s.MAX_VERTEX_UNIFORM_VECTORS),this._aliasedLineWidthRange=s.getParameter(s.ALIASED_LINE_WIDTH_RANGE),this._aliasedPointSizeRange=s.getParameter(s.ALIASED_POINT_SIZE_RANGE),this._maximumViewportDimensions=s.getParameter(s.MAX_VIEWPORT_DIMS),this._antialias=s.getContextAttributes().antialias,this._standardDerivatives=U(s,["OES_standard_derivatives"]),this._elementIndexUint=U(s,["OES_element_index_uint"]),this._depthTexture=U(s,["WEBGL_depth_texture","WEBKIT_WEBGL_depth_texture"]),this._textureFloat=U(s,["OES_texture_float"]);var u=n.allowTextureFilterAnisotropic?U(s,["EXT_texture_filter_anisotropic","WEBKIT_EXT_texture_filter_anisotropic"]):void 0;this._textureFilterAnisotropic=u,this._maximumTextureFilterAnisotropy=r(u)?s.getParameter(u.MAX_TEXTURE_MAX_ANISOTROPY_EXT):1,this._vertexArrayObject=U(s,["OES_vertex_array_object"]),this._fragDepth=U(s,["EXT_frag_depth"]),this._drawBuffers=U(s,["WEBGL_draw_buffers"]),this._maximumDrawBuffers=r(this._drawBuffers)?s.getParameter(this._drawBuffers.MAX_DRAW_BUFFERS_WEBGL):1,this._maximumColorAttachments=r(this._drawBuffers)?s.getParameter(this._drawBuffers.MAX_COLOR_ATTACHMENTS_WEBGL):1;var c=s.getParameter(s.COLOR_CLEAR_VALUE);this._clearColor=new o(c[0],c[1],c[2],c[3]),this._clearDepth=s.getParameter(s.DEPTH_CLEAR_VALUE),this._clearStencil=s.getParameter(s.STENCIL_CLEAR_VALUE);var d=new I,m=new N(this),p=this.createRenderState();this._defaultPassState=m,this._defaultRenderState=p,this._defaultTexture=void 0,this._defaultCubeMap=void 0,this._us=d,this._currentRenderState=p,this._currentFramebuffer=void 0,this._maxFrameTextureUnitIndex=0,this._pickObjects={},this._nextPickColor=new Uint32Array(1),this.options=n,this.cache={},E.apply(s,p,m)};K.prototype.getId=function(){return this._id},K.prototype.getCanvas=function(){return this._canvas},K.prototype.getShaderCache=function(){return this._shaderCache},K.prototype.getUniformState=function(){return this._us},K.prototype.getVersion=function(){return this._version},K.prototype.getShadingLanguageVersion=function(){return this._shadingLanguageVersion},K.prototype.getVendor=function(){return this._vendor},K.prototype.getRenderer=function(){return this._renderer},K.prototype.getRedBits=function(){return this._redBits},K.prototype.getGreenBits=function(){return this._greenBits},K.prototype.getBlueBits=function(){return this._blueBits},K.prototype.getAlphaBits=function(){return this._alphaBits},K.prototype.getDepthBits=function(){return this._depthBits},K.prototype.getStencilBits=function(){return this._stencilBits},K.prototype.getMaximumCombinedTextureImageUnits=function(){return this._maximumCombinedTextureImageUnits},K.prototype.getMaximumCubeMapSize=function(){return this._maximumCubeMapSize},K.prototype.getMaximumFragmentUniformVectors=function(){return this._maximumFragmentUniformVectors},K.prototype.getMaximumTextureImageUnits=function(){return this._maximumTextureImageUnits +},K.prototype.getMaximumRenderbufferSize=function(){return this._maximumRenderbufferSize},K.prototype.getMaximumTextureSize=function(){return this._maximumTextureSize},K.prototype.getMaximumVaryingVectors=function(){return this._maximumVaryingVectors},K.prototype.getMaximumVertexAttributes=function(){return this._maximumVertexAttributes},K.prototype.getMaximumVertexTextureImageUnits=function(){return this._maximumVertexTextureImageUnits},K.prototype.getMaximumVertexUniformVectors=function(){return this._maximumVertexUniformVectors},K.prototype.getMinimumAliasedLineWidth=function(){return this._aliasedLineWidthRange[0]},K.prototype.getMaximumAliasedLineWidth=function(){return this._aliasedLineWidthRange[1]},K.prototype.getMinimumAliasedPointSize=function(){return this._aliasedPointSizeRange[0]},K.prototype.getMaximumAliasedPointSize=function(){return this._aliasedPointSizeRange[1]},K.prototype.getMaximumViewportWidth=function(){return this._maximumViewportDimensions[0]},K.prototype.getMaximumViewportHeight=function(){return this._maximumViewportDimensions[1]},K.prototype.getAntialias=function(){return this._antialias},K.prototype.getStandardDerivatives=function(){return!!this._standardDerivatives},K.prototype.getElementIndexUint=function(){return!!this._elementIndexUint},K.prototype.getDepthTexture=function(){return!!this._depthTexture},K.prototype.getFloatingPointTexture=function(){return!!this._textureFloat},K.prototype.getTextureFilterAnisotropic=function(){return!!this._textureFilterAnisotropic},K.prototype.getMaximumTextureFilterAnisotropy=function(){return this._maximumTextureFilterAnisotropy},K.prototype.getVertexArrayObject=function(){return!!this._vertexArrayObject},K.prototype.getFragmentDepth=function(){return!!this._fragDepth},K.prototype.getDrawBuffers=function(){return!!this._drawBuffers},K.prototype.getMaximumDrawBuffers=function(){return this._maximumDrawBuffers},K.prototype.getMaximumColorAttachments=function(){return this._maximumColorAttachments},K.prototype.getValidateFramebuffer=function(){return this._validateFB},K.prototype.setValidateFramebuffer=function(e){this._validateFB=e},K.prototype.getValidateShaderProgram=function(){return this._validateSP},K.prototype.setValidateShaderProgram=function(e){this._validateSP=e},K.prototype.getThrowOnWebGLError=function(){return this._throwOnWebGLError},K.prototype.setThrowOnWebGLError=function(e){this._throwOnWebGLError=e,this._gl=k(this._originalGLContext,e?F:null)},K.prototype.getLogShaderCompilation=function(){return this._logShaderCompilation},K.prototype.setLogShaderCompilation=function(e){this._logShaderCompilation=e},K.prototype.getDefaultTexture=function(){return void 0===this._defaultTexture&&(this._defaultTexture=this.createTexture2D({source:{width:1,height:1,arrayBufferView:new Uint8Array([255,255,255,255])}})),this._defaultTexture},K.prototype.getDefaultCubeMap=function(){if(void 0===this._defaultCubeMap){var e={width:1,height:1,arrayBufferView:new Uint8Array([255,255,255,255])};this._defaultCubeMap=this.createCubeMap({source:{positiveX:e,negativeX:e,positiveY:e,negativeY:e,positiveZ:e,negativeZ:e}})}return this._defaultCubeMap},K.prototype.getDrawingBufferHeight=function(){return this._gl.drawingBufferHeight},K.prototype.getDrawingBufferWidth=function(){return this._gl.drawingBufferWidth},K.prototype.createShaderProgram=function(e,t,r){return new b(this._gl,this._logShaderCompilation,e,t,r)},K.prototype.createVertexBuffer=function(e,t){return W(this._gl,this._gl.ARRAY_BUFFER,e,t)},K.prototype.createIndexBuffer=function(e,t,r){if(r===s.UNSIGNED_INT&&!this.getElementIndexUint())throw new l("IndexDatatype.UNSIGNED_INT requires OES_element_index_uint, which is not supported on this system.");var i=s.getSizeInBytes(r),n=this._gl,o=W(n,n.ELEMENT_ARRAY_BUFFER,e,t),a=o.getSizeInBytes()/i;return o.getIndexDatatype=function(){return r},o.getBytesPerIndex=function(){return i},o.getNumberOfIndices=function(){return a},o},K.prototype.createVertexArray=function(e,t){return new O(this._gl,this._vertexArrayObject,e,t)},K.prototype.createTexture2D=function(e){e=t(e,t.EMPTY_OBJECT);var i=e.source,n=r(i)?i.width:e.width,o=r(i)?i.height:e.height,a=t(e.pixelFormat,y.RGBA),s=t(e.pixelDatatype,_.UNSIGNED_BYTE);if(s===_.FLOAT&&!this.getFloatingPointTexture())throw new l("When options.pixelDatatype is FLOAT, this WebGL implementation must support the OES_texture_float extension.");if(y.isDepthFormat(a)&&!this.getDepthTexture())throw new l("When options.pixelFormat is DEPTH_COMPONENT or DEPTH_STENCIL, this WebGL implementation must support WEBGL_depth_texture. Check getDepthTexture().");var u=e.preMultiplyAlpha||a===y.RGB||a===y.LUMINANCE,c=t(e.flipY,!0),h=this._gl,d=h.TEXTURE_2D,m=h.createTexture();return h.activeTexture(h.TEXTURE0),h.bindTexture(d,m),r(i)?(h.pixelStorei(h.UNPACK_PREMULTIPLY_ALPHA_WEBGL,u),h.pixelStorei(h.UNPACK_FLIP_Y_WEBGL,c),r(i.arrayBufferView)?h.texImage2D(d,0,a,n,o,0,a,s,i.arrayBufferView):h.texImage2D(d,0,a,a,s,i)):h.texImage2D(d,0,a,n,o,0,a,s,null),h.bindTexture(d,null),new T(h,this._textureFilterAnisotropic,d,m,a,s,n,o,u,c)},K.prototype.createTexture2DFromFramebuffer=function(e,r,i,n,o){var a=this._gl;e=t(e,y.RGB),r=t(r,0),i=t(i,0),n=t(n,a.drawingBufferWidth),o=t(o,a.drawingBufferHeight);var s=a.TEXTURE_2D,l=a.createTexture();return a.activeTexture(a.TEXTURE0),a.bindTexture(s,l),a.copyTexImage2D(s,0,e,r,i,n,o,0),a.bindTexture(s,null),new T(a,this._textureFilterAnisotropic,s,l,e,void 0,n,o)},K.prototype.createTextureAtlas=function(e){return e=t(e,{}),e.context=this,new A(e)},K.prototype.createCubeMap=function(e){function i(e,t){t.arrayBufferView?p.texImage2D(e,0,c,u,u,0,c,h,t.arrayBufferView):p.texImage2D(e,0,c,c,h,t)}e=t(e,t.EMPTY_OBJECT);var n,o,a=e.source;if(r(a)){var s=[a.positiveX,a.negativeX,a.positiveY,a.negativeY,a.positiveZ,a.negativeZ];n=s[0].width,o=s[0].height}else n=e.width,o=e.height;var u=n,c=t(e.pixelFormat,y.RGBA),h=t(e.pixelDatatype,_.UNSIGNED_BYTE);if(h===_.FLOAT&&!this.getFloatingPointTexture())throw new l("When options.pixelDatatype is FLOAT, this WebGL implementation must support the OES_texture_float extension.");var d=e.preMultiplyAlpha||c===y.RGB||c===y.LUMINANCE,m=t(e.flipY,!0),p=this._gl,f=p.TEXTURE_CUBE_MAP,g=p.createTexture();return p.activeTexture(p.TEXTURE0),p.bindTexture(f,g),r(a)?(p.pixelStorei(p.UNPACK_PREMULTIPLY_ALPHA_WEBGL,d),p.pixelStorei(p.UNPACK_FLIP_Y_WEBGL,m),i(p.TEXTURE_CUBE_MAP_POSITIVE_X,a.positiveX),i(p.TEXTURE_CUBE_MAP_NEGATIVE_X,a.negativeX),i(p.TEXTURE_CUBE_MAP_POSITIVE_Y,a.positiveY),i(p.TEXTURE_CUBE_MAP_NEGATIVE_Y,a.negativeY),i(p.TEXTURE_CUBE_MAP_POSITIVE_Z,a.positiveZ),i(p.TEXTURE_CUBE_MAP_NEGATIVE_Z,a.negativeZ)):(p.texImage2D(p.TEXTURE_CUBE_MAP_POSITIVE_X,0,c,u,u,0,c,h,null),p.texImage2D(p.TEXTURE_CUBE_MAP_NEGATIVE_X,0,c,u,u,0,c,h,null),p.texImage2D(p.TEXTURE_CUBE_MAP_POSITIVE_Y,0,c,u,u,0,c,h,null),p.texImage2D(p.TEXTURE_CUBE_MAP_NEGATIVE_Y,0,c,u,u,0,c,h,null),p.texImage2D(p.TEXTURE_CUBE_MAP_POSITIVE_Z,0,c,u,u,0,c,h,null),p.texImage2D(p.TEXTURE_CUBE_MAP_NEGATIVE_Z,0,c,u,u,0,c,h,null)),p.bindTexture(f,null),new v(p,this._textureFilterAnisotropic,f,g,c,h,u,d,m)},K.prototype.createFramebuffer=function(e){return new g(this._gl,this._maximumColorAttachments,e)},K.prototype.createRenderbuffer=function(e){var i=this._gl;e=t(e,t.EMPTY_OBJECT);var n=t(e.format,w.RGBA4),o=r(e.width)?e.width:i.drawingBufferWidth,a=r(e.height)?e.height:i.drawingBufferHeight;return new S(i,n,o,a)};var $=0,et={};K.prototype.createRenderState=function(e){var t=JSON.stringify(e),i=et[t];if(r(i))return i;var n=new E(this,e),o=JSON.stringify(n);return i=et[o],r(i)||(n.id=$++,i=n,et[o]=i),et[t]=i,i},K.prototype.createSampler=function(e){var i={wrapS:t(e.wrapS,M.CLAMP_TO_EDGE),wrapT:t(e.wrapT,M.CLAMP_TO_EDGE),minificationFilter:t(e.minificationFilter,D.LINEAR),magnificationFilter:t(e.magnificationFilter,P.LINEAR),maximumAnisotropy:r(e.maximumAnisotropy)?e.maximumAnisotropy:1};return i};var tt=new L;K.prototype.clear=function(e,i){e=t(e,tt),i=t(i,this._defaultPassState);var n=this._gl,a=0,s=e.color,l=e.depth,u=e.stencil;r(s)&&(o.equals(this._clearColor,s)||(o.clone(s,this._clearColor),n.clearColor(s.red,s.green,s.blue,s.alpha)),a|=n.COLOR_BUFFER_BIT),r(l)&&(l!==this._clearDepth&&(this._clearDepth=l,n.clearDepth(l)),a|=n.DEPTH_BUFFER_BIT),r(u)&&(u!==this._clearStencil&&(this._clearStencil=u,n.clearStencil(u)),a|=n.STENCIL_BUFFER_BIT);var c=t(e.renderState,this._defaultRenderState);H(this,c,i);var h=t(e.framebuffer,i.framebuffer);r(h)&&(h._bind(),G(this,h)),n.clear(a),r(h)&&h._unBind()};var rt;return"undefined"!=typeof WebGLRenderingContext&&(rt=[WebGLRenderingContext.BACK]),K.prototype.draw=function(e,r){r=t(r,this._defaultPassState);var i=t(e.framebuffer,r.framebuffer);j(this,i,e,r),q(this,e),Y(this,i)},K.prototype.endFrame=function(){var e=this._gl;e.useProgram(null);var t=this._maxFrameTextureUnitIndex;this._maxFrameTextureUnitIndex=0;for(var r=0;t>r;++r)e.activeTexture(e.TEXTURE0+r),e.bindTexture(e.TEXTURE_2D,null),e.bindTexture(e.TEXTURE_CUBE_MAP,null)},K.prototype.readPixels=function(e){var t=this._gl;e=e||{};var r=Math.max(e.x||0,0),i=Math.max(e.y||0,0),n=e.width||t.drawingBufferWidth,o=e.height||t.drawingBufferHeight,a=e.framebuffer||null,s=new Uint8Array(4*n*o);return a&&(a._bind(),G(this,a)),t.readPixels(r,i,n,o,t.RGBA,t.UNSIGNED_BYTE,s),a&&a._unBind(),s},K.prototype.createVertexArrayFromGeometry=function(e){var i,n,o,l=t(e,t.EMPTY_OBJECT),u=t(l.geometry,t.EMPTY_OBJECT),h=t(l.bufferUsage,f.DYNAMIC_DRAW),d=t(l.attributeLocations,t.EMPTY_OBJECT),p=r(l.vertexLayout)&&l.vertexLayout===R.INTERLEAVED,v=l.vertexArrayAttributes,g=r(v)?v:[],_=u.attributes;if(p){var y=J(_);if(r(y)){o=this.createVertexBuffer(y.buffer,h);var C=y.offsetsInBytes,S=y.vertexSizeInBytes;for(i in _)_.hasOwnProperty(i)&&r(_[i])&&(n=_[i],r(n.values)?g.push({index:d[i],vertexBuffer:o,componentDatatype:n.componentDatatype,componentsPerAttribute:n.componentsPerAttribute,normalize:n.normalize,offsetInBytes:C[i],strideInBytes:S}):g.push({index:d[i],value:n.value,componentDatatype:n.componentDatatype,normalize:n.normalize}))}}else for(i in _)if(_.hasOwnProperty(i)&&r(_[i])){n=_[i];var w=n.componentDatatype;w.value===a.DOUBLE.value&&(w=a.FLOAT),o=void 0,r(n.values)&&(o=this.createVertexBuffer(a.createTypedArray(w,n.values),h)),g.push({index:d[i],vertexBuffer:o,value:n.value,componentDatatype:w,componentsPerAttribute:n.componentsPerAttribute,normalize:n.normalize})}var E,x=u.indices;return r(x)&&(E=c.computeNumberOfVertices(u)>m.SIXTY_FOUR_KILOBYTES&&this.getElementIndexUint()?this.createIndexBuffer(new Uint32Array(x),h,s.UNSIGNED_INT):this.createIndexBuffer(new Uint16Array(x),h,s.UNSIGNED_SHORT)),this.createVertexArray(g,E)},K.prototype.createPickFramebuffer=function(){return new C(this)},K.prototype.getObjectByPickColor=function(e){return this._pickObjects[e.toRgba()]},Q.prototype.destroy=function(){return delete this._pickObjects[this.key],void 0},K.prototype.createPickId=function(e){++this._nextPickColor[0];var t=this._nextPickColor[0];if(0===t)throw new l("Out of unique Pick IDs.");return this._pickObjects[t]=e,new Q(this._pickObjects,t,o.fromRgba(t))},K.prototype.isDestroyed=function(){return!1},K.prototype.destroy=function(){var e=this.cache;for(var t in e)if(e.hasOwnProperty(t)){var i=e[t];r(i.destroy)&&i.destroy()}return this._shaderCache=this._shaderCache.destroy(),this._defaultTexture=this._defaultTexture&&this._defaultTexture.destroy(),this._defaultCubeMap=this._defaultCubeMap&&this._defaultCubeMap.destroy(),n(this)},K}),r("Renderer/loadCubeMap",["../Core/defined","../Core/DeveloperError","../Core/loadImage","../ThirdParty/when"],function(e,t,r,i){"use strict";var n=function(e,t,n){var o=[r(t.positiveX,n),r(t.negativeX,n),r(t.positiveY,n),r(t.negativeY,n),r(t.positiveZ,n),r(t.negativeZ,n)];return i.all(o,function(t){return e.createCubeMap({source:{positiveX:t[0],negativeX:t[1],positiveY:t[2],negativeY:t[3],positiveZ:t[4],negativeZ:t[5]}})})};return n}),r("ThirdParty/Tween",[],function(){var e=e||function(){var e=[];return{REVISION:"12",getAll:function(){return e},removeAll:function(){e=[]},add:function(t){e.push(t)},remove:function(t){var r=e.indexOf(t);-1!==r&&e.splice(r,1)},update:function(t){if(0===e.length)return!1;var r=0;for(t=void 0!==t?t:"undefined"!=typeof window&&void 0!==window.performance&&void 0!==window.performance.now?window.performance.now():Date.now();re;e++)f[e].stop()},this.delay=function(e){return h=e,this},this.repeat=function(e){return s=e,this},this.yoyo=function(e){return l=e,this},this.easing=function(e){return m=e,this},this.interpolation=function(e){return p=e,this},this.chain=function(){return f=arguments,this},this.onStart=function(e){return v=e,this},this.onUpdate=function(e){return _=e,this},this.onComplete=function(e){return y=e,this},this.update=function(e){var t;if(d>e)return!0;g===!1&&(null!==v&&v.call(r),g=!0);var u=(e-d)/a;u=u>1?1:u;var C=m(u);for(t in n){var S=i[t]||0,w=n[t];w instanceof Array?r[t]=p(w,C):("string"==typeof w&&(w=S+parseFloat(w,10)),"number"==typeof w&&(r[t]=S+(w-S)*C))}if(null!==_&&_.call(r,C),1==u){if(s>0){isFinite(s)&&s--;for(t in o){if("string"==typeof n[t]&&(o[t]=o[t]+parseFloat(n[t],10)),l){var E=o[t];o[t]=n[t],n[t]=E,c=!c}i[t]=o[t]}return d=e+h,!0}null!==y&&y.call(r);for(var x=0,b=f.length;b>x;x++)f[x].start(e);return!1}return!0}},e.Easing={Linear:{None:function(e){return e}},Quadratic:{In:function(e){return e*e},Out:function(e){return e*(2-e)},InOut:function(e){return(e*=2)<1?.5*e*e:-.5*(--e*(e-2)-1)}},Cubic:{In:function(e){return e*e*e},Out:function(e){return--e*e*e+1},InOut:function(e){return(e*=2)<1?.5*e*e*e:.5*((e-=2)*e*e+2)}},Quartic:{In:function(e){return e*e*e*e},Out:function(e){return 1- --e*e*e*e},InOut:function(e){return(e*=2)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2)}},Quintic:{In:function(e){return e*e*e*e*e},Out:function(e){return--e*e*e*e*e+1},InOut:function(e){return(e*=2)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2)}},Sinusoidal:{In:function(e){return 1-Math.cos(e*Math.PI/2)},Out:function(e){return Math.sin(e*Math.PI/2)},InOut:function(e){return.5*(1-Math.cos(Math.PI*e))}},Exponential:{In:function(e){return 0===e?0:Math.pow(1024,e-1)},Out:function(e){return 1===e?1:1-Math.pow(2,-10*e)},InOut:function(e){return 0===e?0:1===e?1:(e*=2)<1?.5*Math.pow(1024,e-1):.5*(-Math.pow(2,-10*(e-1))+2)}},Circular:{In:function(e){return 1-Math.sqrt(1-e*e)},Out:function(e){return Math.sqrt(1- --e*e)},InOut:function(e){return(e*=2)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1)}},Elastic:{In:function(e){var t,r=.1,i=.4;return 0===e?0:1===e?1:(!r||1>r?(r=1,t=i/4):t=i*Math.asin(1/r)/(2*Math.PI),-(r*Math.pow(2,10*(e-=1))*Math.sin((e-t)*2*Math.PI/i)))},Out:function(e){var t,r=.1,i=.4;return 0===e?0:1===e?1:(!r||1>r?(r=1,t=i/4):t=i*Math.asin(1/r)/(2*Math.PI),r*Math.pow(2,-10*e)*Math.sin((e-t)*2*Math.PI/i)+1)},InOut:function(e){var t,r=.1,i=.4;return 0===e?0:1===e?1:(!r||1>r?(r=1,t=i/4):t=i*Math.asin(1/r)/(2*Math.PI),(e*=2)<1?-.5*r*Math.pow(2,10*(e-=1))*Math.sin((e-t)*2*Math.PI/i):.5*r*Math.pow(2,-10*(e-=1))*Math.sin((e-t)*2*Math.PI/i)+1)}},Back:{In:function(e){var t=1.70158;return e*e*((t+1)*e-t)},Out:function(e){var t=1.70158;return--e*e*((t+1)*e+t)+1},InOut:function(e){var t=2.5949095;return(e*=2)<1?.5*e*e*((t+1)*e-t):.5*((e-=2)*e*((t+1)*e+t)+2)}},Bounce:{In:function(t){return 1-e.Easing.Bounce.Out(1-t)},Out:function(e){return 1/2.75>e?7.5625*e*e:2/2.75>e?7.5625*(e-=1.5/2.75)*e+.75:2.5/2.75>e?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},InOut:function(t){return.5>t?.5*e.Easing.Bounce.In(2*t):.5*e.Easing.Bounce.Out(2*t-1)+.5}}},e.Interpolation={Linear:function(t,r){var i=t.length-1,n=i*r,o=Math.floor(n),a=e.Interpolation.Utils.Linear;return 0>r?a(t[0],t[1],n):r>1?a(t[i],t[i-1],i-n):a(t[o],t[o+1>i?i:o+1],n-o)},Bezier:function(t,r){var i,n=0,o=t.length-1,a=Math.pow,s=e.Interpolation.Utils.Bernstein;for(i=0;o>=i;i++)n+=a(1-r,o-i)*a(r,i)*t[i]*s(o,i);return n},CatmullRom:function(t,r){var i=t.length-1,n=i*r,o=Math.floor(n),a=e.Interpolation.Utils.CatmullRom;return t[0]===t[i]?(0>r&&(o=Math.floor(n=i*(1+r))),a(t[(o-1+i)%i],t[o],t[(o+1)%i],t[(o+2)%i],n-o)):0>r?t[0]-(a(t[0],t[0],t[1],t[1],-n)-t[0]):r>1?t[i]-(a(t[i],t[i],t[i-1],t[i-1],n-i)-t[i]):a(t[o?o-1:0],t[o],t[o+1>i?i:o+1],t[o+2>i?i:o+2],n-o)},Utils:{Linear:function(e,t,r){return(t-e)*r+e},Bernstein:function(t,r){var i=e.Interpolation.Utils.Factorial;return i(t)/i(r)/i(t-r)},Factorial:function(){var e=[1];return function(t){var r,i=1;if(e[t])return e[t];for(r=t;r>1;r--)i*=r;return e[t]=i}}(),CatmullRom:function(e,t,r,i,n){var o=.5*(r-e),a=.5*(i-t),s=n*n,l=n*s;return(2*t-2*r+o+a)*l+(-3*t+3*r-2*o-a)*s+o*n+t}}},e}),r("Scene/AnimationCollection",["../Core/defined","../Core/DeveloperError","../Core/clone","../Core/getTimestamp","../ThirdParty/Tween","../Core/defaultValue"],function(e,t,r,i,n,o){"use strict";var a=function(){this._tweens=[]};return a.prototype.getAll=function(){return this._tweens},a.prototype.add=function(e){if(e=o(e,o.EMPTY_OBJECT),e.duration>0){var t=o(e.delayDuration,0),i=o(e.easingFunction,n.Easing.Linear.None),a=r(e.startValue),s=new n.Tween(a);return s.onCancel=e.onCancel,s.to(e.stopValue,e.duration),s.delay(t),s.easing(i),"function"==typeof e.onUpdate&&s.onUpdate(function(){e.onUpdate(a)}),s.onComplete(o(e.onComplete,null)),s.start().stop(),this._tweens.push(s),{_tween:s}}"function"==typeof e.onComplete&&e.onComplete()},a.prototype.addAlpha=function(t,r,i,a){var s=[];for(var l in t.uniforms)t.uniforms.hasOwnProperty(l)&&e(t.uniforms[l])&&e(t.uniforms[l].alpha)&&s.push(l);r=o(r,0),i=o(i,1),a=o(a,o.EMPTY_OBJECT);var u=o(a.duration,3e3),c=o(a.delayDuration,0),h=o(a.easingFunction,n.Easing.Linear.None),d={alpha:r},m=new n.Tween(d);return m.to({alpha:i},u),m.delay(c),m.easing(h),m.onUpdate(function(){for(var e=s.length,r=0;e>r;++r)t.uniforms[s[r]].alpha=d.alpha}),m.onComplete(o(a.onComplete,null)),m.start().stop(),this._tweens.push(m),{_tween:m}},a.prototype.addProperty=function(e,t,r,i,a){a=o(a,o.EMPTY_OBJECT);var s=o(a.duration,3e3),l=o(a.delayDuration,0),u=o(a.easingFunction,n.Easing.Linear.None),c={value:r},h=new n.Tween(c);return h.to({value:i},s),h.delay(l),h.easing(u),h.onUpdate(function(){e[t]=c.value}),h.onComplete(o(a.onComplete,null)),h.start().stop(),this._tweens.push(h),{_tween:h}},a.prototype.addOffsetIncrement=function(e,t){t=o(t,o.EMPTY_OBJECT);var r=o(t.duration,3e3),i=o(t.delayDuration,0),a=o(t.easingFunction,n.Easing.Linear.None),s={offset:e.uniforms.offset},l=new n.Tween(s);return l.to({offset:e.uniforms.offset+1},r),l.delay(i),l.easing(a),l.onUpdate(function(){e.uniforms.offset=s.offset}),l.repeat(1/0),l.start().stop(),this._tweens.push(l),{_tween:l}},a.prototype.remove=function(t){if(!e(t))return!1;var r=t._tween,i=this._tweens.indexOf(r);return-1!==i?("function"==typeof r.onCancel&&r.onCancel(),this._tweens.splice(i,1),!0):!1},a.prototype.removeAll=function(){for(var e=0;en;n+=3)i=a(r,i,e[n],e[n+1],e[n+2]);return r}var l=function(){r.throwInstantiationError()};t(l.prototype,{errorEvent:{get:r.throwInstantiationError},credit:{get:r.throwInstantiationError},tilingScheme:{get:r.throwInstantiationError},ready:{get:r.throwInstantiationError}}),l.attributeLocations={position3DAndHeight:0,textureCoordinates:1};var u=[];return l.getRegularGridIndices=function(t,r){var i=u[t];e(i)||(u[t]=i=[]);var n=i[r];if(!e(n)){n=i[r]=new Uint16Array(6*(t-1)*(r-1));for(var o=0,a=0,s=0;r-1>s;++s){for(var l=0;t-1>l;++l){var c=o,h=c+t,d=h+1,m=c+1;n[a++]=c,n[a++]=h,n[a++]=m,n[a++]=m,n[a++]=h,n[a++]=d,++o}++o}}return n},l.createTileEllipsoidGeometryFromBuffers=function(t,r,a,s){var u=i.FLOAT,c=r.vertices,h=t.createVertexBuffer(c,n.STATIC_DRAW),d=5*u.sizeInBytes,m=3;s&&(d+=u.sizeInBytes,++m);var p=[{index:l.attributeLocations.position3DAndHeight,vertexBuffer:h,componentDatatype:u,componentsPerAttribute:m,offsetInBytes:0,strideInBytes:d},{index:l.attributeLocations.textureCoordinates,vertexBuffer:h,componentDatatype:u,componentsPerAttribute:2,offsetInBytes:m*u.sizeInBytes,strideInBytes:d}],f=r.indices.indexBuffers||{},v=f[t.getId()];if(!e(v)||v.isDestroyed()){var g=r.indices;v=t.createIndexBuffer(g,n.STATIC_DRAW,o.UNSIGNED_SHORT),v.setVertexArrayDestroyable(!1),v.referenceCount=1,f[t.getId()]=v,r.indices.indexBuffers=f}else++v.referenceCount;a.vertexArray=t.createVertexArray(p,v)},l.createWireframeVertexArray=function(e,t,r){var i=s(r.indices),a=e.createIndexBuffer(i,n.STATIC_DRAW,o.UNSIGNED_SHORT);return e.createVertexArray(t._attributes,a)},l.heightmapTerrainQuality=.25,l.getEstimatedLevelZeroGeometricErrorForAHeightmap=function(e,t,r){return 2*e.maximumRadius*Math.PI*l.heightmapTerrainQuality/(t*r)},l.prototype.requestTileGeometry=r.throwInstantiationError,l.prototype.getLevelMaximumGeometricError=r.throwInstantiationError,l.prototype.hasWaterMask=r.throwInstantiationError,l}),r("Scene/TileProviderError",["../Core/defaultValue","../Core/defined","../Core/formatError"],function(e,t,r){"use strict";var i=function(t,r,i,n,o,a){this.provider=t,this.message=r,this.x=i,this.y=n,this.level=o,this.timesRetried=e(a,0),this.retry=!1};return i.handleError=function(e,n,o,a,s,l,u,c){var h=e;return t(e)?(h.provider=n,h.message=a,h.x=s,h.y=l,h.level=u,h.retry=!1,++h.timesRetried):h=new i(n,a,s,l,u,0),o.getNumberOfListeners()>0?o.raiseEvent(h):console.log('An error occurred in "'+n.constructor.name+'": '+r(a)),h.retry&&t(c)&&c(),h},i.handleSuccess=function(e){t(e)&&(e.timesRetried=-1)},i}),r("Scene/TileTerrain",["../Core/BoundingSphere","../Core/Cartesian3","../Core/defined","../Core/DeveloperError","./TerrainProvider","./TerrainState","./TileProviderError","../ThirdParty/when"],function(e,t,r,i,n,o,a,s){"use strict";function l(e,t,i,n,l){function u(t){e.data=t,e.state=o.RECEIVED}function c(){e.state=o.FAILED;var r="Failed to obtain terrain tile X: "+i+" Y: "+n+" Level: "+l+".";t._requestError=a.handleError(t._requestError,t,t.errorEvent,r,i,n,l,h)}function h(){e.data=t.requestTileGeometry(i,n,l),r(e.data)?(e.state=o.RECEIVING,s(e.data,u,c)):e.state=o.UNLOADED}h()}function u(e,t,i,n,a,l){var u=i.tilingScheme,c=e.data,h=c.createMesh(u,n,a,l);r(h)&&(e.state=o.TRANSFORMING,s(h,function(t){e.mesh=t,e.state=o.TRANSFORMED},function(){e.state=o.FAILED}))}function c(e,t){n.createTileEllipsoidGeometryFromBuffers(t,e.mesh,e,!0),e.state=o.READY}var h=function(e){this.state=o.UNLOADED,this.data=void 0,this.mesh=void 0,this.vertexArray=void 0,this.upsampleDetails=e};return h.prototype.freeResources=function(){if(this.state=o.UNLOADED,this.data=void 0,this.mesh=void 0,r(this.vertexArray)){var e=this.vertexArray.getIndexBuffer();this.vertexArray.destroy(),this.vertexArray=void 0,!e.isDestroyed()&&r(e.referenceCount)&&(--e.referenceCount,0===e.referenceCount&&e.destroy())}},h.prototype.publishToTile=function(r){var i=this.mesh;t.clone(i.center,r.center),r.minimumHeight=i.minimumHeight,r.maximumHeight=i.maximumHeight,r.boundingSphere3D=e.clone(i.boundingSphere3D,r.boundingSphere3D),r.occludeePointInScaledSpace=t.clone(i.occludeePointInScaledSpace,r.occludeePointInScaledSpace),r.freeVertexArray(),r.vertexArray=this.vertexArray,this.vertexArray=void 0},h.prototype.processLoadStateMachine=function(e,t,r,i,n){this.state===o.UNLOADED&&l(this,t,r,i,n),this.state===o.RECEIVED&&u(this,e,t,r,i,n),this.state===o.TRANSFORMED&&c(this,e,t,r,i,n)},h.prototype.processUpsampleStateMachine=function(e,t,i,n,a){if(this.state===o.UNLOADED){var l=this.upsampleDetails,h=l.data,d=l.x,m=l.y,p=l.level;if(this.data=h.upsample(t.tilingScheme,d,m,p,i,n,a),!r(this.data))return;this.state=o.RECEIVING;var f=this;s(this.data,function(e){f.data=e,f.state=o.RECEIVED},function(){f.state=o.FAILED})}this.state===o.RECEIVED&&u(this,e,t,i,n,a),this.state===o.TRANSFORMED&&c(this,e,t,i,n,a)},h}),r("Scene/Tile",["../Core/BoundingSphere","../Core/Cartesian3","../Core/Cartesian4","../Core/Cartographic","../Core/defined","../Core/DeveloperError","./ImageryState","./TerrainState","./TileState","./TileTerrain","../Renderer/PixelDatatype","../Renderer/PixelFormat","../Renderer/TextureMagnificationFilter","../Renderer/TextureMinificationFilter","../Renderer/TextureWrap"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p){"use strict";function f(e,r,i){var o=g(e);n(o)&&(e.upsampledTerrain=new u(o)),C(e)&&(e.loadedTerrain=new u);for(var a=0,s=i.length;s>a;++a){var l=i.get(a);l.show&&l._createTileImagerySkeletons(e,r)}var c=e.tilingScheme.ellipsoid,h=e.extent;c.cartographicToCartesian(h.getSouthwest(),e.southwestCornerCartesian),c.cartographicToCartesian(h.getNortheast(),e.northeastCornerCartesian),P.longitude=h.west,P.latitude=.5*(h.south+h.north),P.height=0;var d=c.cartographicToCartesian(P,T),m=t.cross(d,t.UNIT_Z,x);t.normalize(m,e.westNormal),P.longitude=h.east;var p=c.cartographicToCartesian(P,A),f=t.cross(t.UNIT_Z,p,x);t.normalize(f,e.eastNormal);var v=c.geodeticSurfaceNormalCartographic(h.getSoutheast(),b),_=t.subtract(d,p,x),y=t.cross(v,_,b);t.normalize(y,e.southNormal);var S=c.geodeticSurfaceNormalCartographic(h.getNorthwest(),b),w=t.cross(_,S,b);t.normalize(w,e.northNormal)}function v(e,t,r){var i=e.loadedTerrain,o=e.upsampledTerrain,a=!1;if(n(i)){if(i.processLoadStateMachine(t,r,e.x,e.y,e.level),i.state.value>=s.RECEIVED.value){if(e.terrainData!==i.data){e.terrainData=i.data;var l=e.terrainData.getWaterMask();n(l)&&(n(e.waterMaskTexture)&&(--e.waterMaskTexture.referenceCount,0===e.waterMaskTexture.referenceCount&&e.waterMaskTexture.destroy()),e.waterMaskTexture=S(t,l),e.waterMaskTranslationAndScale.x=0,e.waterMaskTranslationAndScale.y=0,e.waterMaskTranslationAndScale.z=1,e.waterMaskTranslationAndScale.w=1),y(e)}a=!0}i.state===s.READY?(i.publishToTile(e),e.loadedTerrain=void 0,e.upsampledTerrain=void 0):i.state===s.FAILED&&(e.loadedTerrain=void 0)}!a&&n(o)&&(o.processUpsampleStateMachine(t,r,e.x,e.y,e.level),o.state.value>=s.RECEIVED.value&&e.terrainData!==o.data&&(e.terrainData=o.data,r.hasWaterMask()&&w(e,t),_(e)),o.state===s.READY?(o.publishToTile(e),e.upsampledTerrain=void 0):o.state===s.FAILED&&(e.upsampledTerrain=void 0))}function g(e){for(var t=e.parent;n(t)&&!n(t.terrainData);)t=t.parent;return n(t)?{data:t.terrainData,x:t.x,y:t.y,level:t.level}:void 0}function _(e){if(n(e.children))for(var t=0;4>t;++t){var r=e.children[t];if(r.state!==l.START){if(n(r.terrainData)&&!r.terrainData.wasCreatedByUpsampling())continue;n(r.upsampledTerrain)&&r.upsampledTerrain.freeResources(),r.upsampledTerrain=new u({data:e.terrainData,x:e.x,y:e.y,level:e.level}),r.state=l.LOADING}}}function y(e){if(n(e.children))for(var t=0;4>t;++t){var r=e.children[t];if(r.state!==l.START){if(n(r.terrainData)&&!r.terrainData.wasCreatedByUpsampling())continue;n(r.upsampledTerrain)&&r.upsampledTerrain.freeResources(),r.upsampledTerrain=new u({data:e.terrainData,x:e.x,y:e.y,level:e.level}),e.terrainData.isChildAvailable(e.x,e.y,r.x,r.y)&&(n(r.loadedTerrain)||(r.loadedTerrain=new u)),r.state=l.LOADING}}}function C(e){var t=e.parent;return n(t)?n(t.terrainData)?t.terrainData.isChildAvailable(t.x,t.y,e.x,e.y):!1:!0}function S(e,t){var r,i=e.cache.tile_waterMaskData;n(i)||(i=e.cache.tile_waterMaskData={allWaterTexture:void 0,allLandTexture:void 0,sampler:void 0,destroy:function(){n(this.allWaterTexture)&&this.allWaterTexture.destroy(),n(this.allLandTexture)&&this.allLandTexture.destroy()}});var o=Math.sqrt(t.length);return 1!==o||0!==t[0]&&255!==t[0]?(r=e.createTexture2D({pixelFormat:h.LUMINANCE,pixelDatatype:c.UNSIGNED_BYTE,source:{width:o,height:o,arrayBufferView:t}}),r.referenceCount=0,n(i.sampler)||(i.sampler=e.createSampler({wrapS:p.CLAMP_TO_EDGE,wrapT:p.CLAMP_TO_EDGE,minificationFilter:m.LINEAR,magnificationFilter:d.LINEAR})),r.setSampler(i.sampler)):(n(i.allWaterTexture)||(i.allWaterTexture=e.createTexture2D({pixelFormat:h.LUMINANCE,pixelDatatype:c.UNSIGNED_BYTE,source:{arrayBufferView:new Uint8Array([255]),width:1,height:1}}),i.allWaterTexture.referenceCount=1,i.allLandTexture=e.createTexture2D({pixelFormat:h.LUMINANCE,pixelDatatype:c.UNSIGNED_BYTE,source:{arrayBufferView:new Uint8Array([0]),width:1,height:1}}),i.allLandTexture.referenceCount=1),r=0===t[0]?i.allLandTexture:i.allWaterTexture),++r.referenceCount,r}function w(e){for(var t=e.parent;n(t)&&!n(t.terrainData)||t.terrainData.wasCreatedByUpsampling();)t=t.parent;if(n(t)&&n(t.waterMaskTexture)){e.waterMaskTexture=t.waterMaskTexture,++e.waterMaskTexture.referenceCount;var r=t.extent,i=e.extent,o=i.east-i.west,a=i.north-i.south,s=o/(r.east-r.west),l=a/(r.north-r.south);e.waterMaskTranslationAndScale.x=s*(i.west-r.west)/o,e.waterMaskTranslationAndScale.y=l*(i.south-r.south)/a,e.waterMaskTranslationAndScale.z=s,e.waterMaskTranslationAndScale.w=l}}var E=function(i){this.tilingScheme=i.tilingScheme,this.x=i.x,this.y=i.y,this.level=i.level,this.parent=i.parent,this.children=void 0,this.extent=this.tilingScheme.tileXYToExtent(this.x,this.y,this.level),this.state=l.START,this.replacementPrevious=void 0,this.replacementNext=void 0,this.imagery=[],this.distance=0,this.southwestCornerCartesian=new t,this.northeastCornerCartesian=new t,this.westNormal=new t,this.southNormal=new t,this.eastNormal=new t,this.northNormal=new t,this.waterMaskTexture=void 0,this.waterMaskTranslationAndScale=new r(0,0,1,1),this.terrainData=void 0,this.center=new t,this.vertexArray=void 0,this.minimumHeight=0,this.maximumHeight=0,this.boundingSphere3D=new e,this.boundingSphere2D=new e,this.occludeePointInScaledSpace=new t,this.isRenderable=!1,this.loadedTerrain=void 0,this.upsampledTerrain=void 0 +};E.prototype.getChildren=function(){if(!n(this.children)){var e=this.tilingScheme,t=this.level+1,r=2*this.x,i=2*this.y;this.children=[new E({tilingScheme:e,x:r,y:i,level:t,parent:this}),new E({tilingScheme:e,x:r+1,y:i,level:t,parent:this}),new E({tilingScheme:e,x:r,y:i+1,level:t,parent:this}),new E({tilingScheme:e,x:r+1,y:i+1,level:t,parent:this})]}return this.children},E.prototype.freeResources=function(){n(this.waterMaskTexture)&&(--this.waterMaskTexture.referenceCount,0===this.waterMaskTexture.referenceCount&&this.waterMaskTexture.destroy(),this.waterMaskTexture=void 0),this.state=l.START,this.isRenderable=!1,this.terrainData=void 0,n(this.loadedTerrain)&&(this.loadedTerrain.freeResources(),this.loadedTerrain=void 0),n(this.upsampledTerrain)&&(this.upsampledTerrain.freeResources(),this.upsampledTerrain=void 0);var e,t,r=this.imagery;for(e=0,t=r.length;t>e;++e)r[e].freeResources();if(this.imagery.length=0,n(this.children)){for(e=0,t=this.children.length;t>e;++e)this.children[e].freeResources();this.children=void 0}this.freeVertexArray()},E.prototype.freeVertexArray=function(){var e;n(this.vertexArray)&&(e=this.vertexArray.getIndexBuffer(),this.vertexArray.destroy(),this.vertexArray=void 0,!e.isDestroyed()&&n(e.referenceCount)&&(--e.referenceCount,0===e.referenceCount&&e.destroy())),"undefined"!=typeof this.wireframeVertexArray&&(e=this.wireframeVertexArray.getIndexBuffer(),this.wireframeVertexArray.destroy(),this.wireframeVertexArray=void 0,e.isDestroyed()||"undefined"==typeof e.referenceCount||(--e.referenceCount,0===e.referenceCount&&e.destroy()))},E.prototype.processStateMachine=function(e,t,r){this.state===l.START&&(f(this,t,r),this.state=l.LOADING),this.state===l.LOADING&&v(this,e,t);for(var i=n(this.vertexArray),o=!n(this.loadedTerrain)&&!n(this.upsampledTerrain),s=this.imagery,u=0,c=s.length;c>u;++u){var h=s[u];if(n(h.loadingImagery)){if(h.loadingImagery.state===a.PLACEHOLDER){var d=h.loadingImagery.imageryLayer;if(d.getImageryProvider().ready){h.freeResources(),s.splice(u,1),d._createTileImagerySkeletons(this,t,u),--u,c=s.length;continue}}var m=h.processStateMachine(this,e);o=o&&m,i=i&&(m||n(h.readyImagery))}}u===c&&(i&&(this.isRenderable=!0),o&&(this.state=l.READY))};var x=new t,b=new t,T=new t,A=new t,P=new i;return E}),r("Scene/TilingScheme",["../Core/defined","../Core/defineProperties","../Core/DeveloperError","./Tile"],function(e,t,r,i){"use strict";var n=function(){throw new r("This type should not be instantiated directly. Instead, use WebMercatorTilingScheme or GeographicTilingScheme.")};return t(n.prototype,{ellipsoid:{get:r.throwInstantiationError},extent:{get:r.throwInstantiationError},projection:{get:r.throwInstantiationError}}),n.prototype.getNumberOfXTilesAtLevel=r.throwInstantiationError,n.prototype.getNumberOfYTilesAtLevel=r.throwInstantiationError,n.prototype.createLevelZeroTiles=r.throwInstantiationError,n.prototype.extentToNativeExtent=r.throwInstantiationError,n.prototype.tileXYToNativeExtent=r.throwInstantiationError,n.prototype.tileXYToExtent=r.throwInstantiationError,n.prototype.positionToTileXY=r.throwInstantiationError,n.createRectangleOfLevelZeroTiles=function(t,n,o){if(!e(t))throw new r("tilingScheme is required.");if(!e(n))throw new r("numberOfLevelZeroTilesX is required.");if(!e(o))throw new r("numberOfLevelZeroTilesY is required.");for(var a=new Array(n*o),s=0,l=0;o>l;++l)for(var u=0;n>u;++u)a[s++]=new i({tilingScheme:t,x:u,y:l,level:0});return a},n}),r("Scene/GeographicTilingScheme",["../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/DeveloperError","../Core/Math","../Core/Cartesian2","../Core/Ellipsoid","../Core/Extent","../Core/GeographicProjection","./TilingScheme"],function(e,t,r,i,n,o,a,s,l,u){"use strict";var c=function(t){t=e(t,{}),this._ellipsoid=e(t.ellipsoid,a.WGS84),this._extent=e(t.extent,s.MAX_VALUE),this._projection=new l(this._ellipsoid),this._numberOfLevelZeroTilesX=e(t.numberOfLevelZeroTilesX,2),this._numberOfLevelZeroTilesY=e(t.numberOfLevelZeroTilesY,1)};return r(c.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},extent:{get:function(){return this._extent}},projection:{get:function(){return this._projection}}}),c.prototype.getNumberOfXTilesAtLevel=function(e){return this._numberOfLevelZeroTilesX<n.north||e.latituden.east)return void 0;var a=this.getNumberOfXTilesAtLevel(r),s=this.getNumberOfYTilesAtLevel(r),l=(n.east-n.west)/a,u=(n.north-n.south)/s,c=0|(e.longitude-n.west)/l;c>=a&&(c=a-1);var h=0|(n.north-e.latitude)/u;return h>=s&&(h=s-1),t(i)?(i.x=c,i.y=h,i):new o(c,h)},c}),r("Scene/TerrainMesh",[],function(){"use strict";var e=function(e,t,r,i,n,o,a){this.center=e,this.vertices=t,this.indices=r,this.minimumHeight=i,this.maximumHeight=n,this.boundingSphere3D=o,this.occludeePointInScaledSpace=a};return e}),r("Scene/HeightmapTerrainData",["../Core/defaultValue","../Core/defined","../Core/DeveloperError","../Core/HeightmapTessellator","../Core/Math","../Core/TaskProcessor","./GeographicTilingScheme","./TerrainMesh","./TerrainProvider","../ThirdParty/when"],function(e,t,r,i,n,o,a,s,l,u){"use strict";function c(e,t,r,i,n,o,a){var s=1,l=e._width,u=e._height,c=o*(l-1),h=c+l-1,d=a*(u-1),m=d+u-1,p=1<1)for(y=w;E>=y;++y)for(_=C;S>=_;++_)for(var R=(y*l+_)*O,L=0;O>L;++L)M[I++]=T[R+L];else for(y=w;E>=y;++y)for(_=C;S>=_;++_)M[I++]=T[y*l+_];return new g({buffer:M,width:x,height:b,childTileMask:0,structure:e._structure,createdByUpsampling:!0})}function h(e,t,r,i,o,a,s,l){var u,c,h,p,f=e._width,_=e._height,y=e._structure,C=y.stride,S=e._buffer,w=new S.constructor(f*_*C),E=t.tileXYToExtent(r,i,o),x=t.tileXYToExtent(a,s,l);if(C>1){var b=y.elementsPerHeight,T=y.elementMultiplier,A=y.isBigEndian,P=Math.pow(T,b-1);for(c=0;_>c;++c)for(h=n.lerp(x.north,x.south,c/(_-1)),u=0;f>u;++u){p=n.lerp(x.west,x.east,u/(f-1));var D=m(S,b,T,C,A,E,f,_,p,h);v(w,b,T,P,C,A,c*f+u,D)}}else for(c=0;_>c;++c)for(h=n.lerp(x.north,x.south,c/(_-1)),u=0;f>u;++u)p=n.lerp(x.west,x.east,u/(f-1)),w[c*f+u]=d(S,E,f,_,p,h);return new g({buffer:w,width:f,height:_,childTileMask:0,structure:e._structure,createdByUpsampling:!0})}function d(e,t,r,i,n,o){var a=(n-t.west)*(r-1)/(t.east-t.west),s=(o-t.south)*(i-1)/(t.north-t.south),l=0|a,u=l+1;u>=r&&(u=r-1,l=r-2);var c=0|s,h=c+1;h>=i&&(h=i-1,c=i-2);var d=a-l,m=s-c;c=i-1-c,h=i-1-h;var f=e[c*r+l],v=e[c*r+u],g=e[h*r+l],_=e[h*r+u];return p(d,m,f,v,g,_)}function m(e,t,r,i,n,o,a,s,l,u){var c=(l-o.west)*(a-1)/(o.east-o.west),h=(u-o.south)*(s-1)/(o.north-o.south),d=0|c,m=d+1;m>=a&&(m=a-1,d=a-2);var v=0|h,g=v+1;g>=s&&(g=s-1,v=s-2);var _=c-d,y=h-v;v=s-1-v,g=s-1-g;var C=f(e,t,r,i,n,v*a+d),S=f(e,t,r,i,n,v*a+m),w=f(e,t,r,i,n,g*a+d),E=f(e,t,r,i,n,g*a+m);return p(_,y,C,S,w,E)}function p(e,t,r,i,n,o){return e>t?r+e*(i-r)+t*(o-i):r+e*(o-n)+t*(n-r)}function f(e,t,r,i,n,o){o*=i;var a,s=0;if(n)for(a=0;t>a;++a)s=s*r+e[o+a];else for(a=t-1;a>=0;--a)s=s*r+e[o+a];return s}function v(e,t,r,i,n,o,a,s){a*=n;var l;if(o)for(l=0;t>l;++l)e[a+l]=0|s/i,s-=e[a+l]*i,i/=r;else for(l=t-1;l>=0;--l)e[a+l]=0|s/i,s-=e[a+l]*i,i/=r}var g=function(r){this._buffer=r.buffer,this._width=r.width,this._height=r.height,this._childTileMask=e(r.childTileMask,15);var n=i.DEFAULT_STRUCTURE,o=r.structure;t(o)?o!==n&&(o.heightScale=e(o.heightScale,n.heightScale),o.heightOffset=e(o.heightOffset,n.heightOffset),o.elementsPerHeight=e(o.elementsPerHeight,n.elementsPerHeight),o.stride=e(o.stride,n.stride),o.elementMultiplier=e(o.elementMultiplier,n.elementMultiplier),o.isBigEndian=e(o.isBigEndian,n.isBigEndian)):o=n,this._structure=o,this._createdByUpsampling=e(r.createdByUpsampling,!1),this._waterMask=r.waterMask},_=new o("createVerticesFromHeightmap");return g.prototype.createMesh=function(e,r,i,n){var o=e.ellipsoid,c=e.tileXYToNativeExtent(r,i,n),h=e.tileXYToExtent(r,i,n),d=o.cartographicToCartesian(h.getCenter()),m=this._structure,p=l.getEstimatedLevelZeroGeometricErrorForAHeightmap(o,this._width,e.getNumberOfXTilesAtLevel(0)),f=p/(1<1){var l=a.elementsPerHeight,u=a.elementMultiplier,c=a.isBigEndian;i=m(this._buffer,l,u,s,c,e,n,o,t,r)}else i=d(this._buffer,e,n,o,t,r);return i*a.heightScale+a.heightOffset},g.prototype.upsample=function(e,t,r,i,n,o,a){var s;return s=1===this._width%2&&1===this._height%2?c(this,e,t,r,i,n,o,a):h(this,e,t,r,i,n,o,a)},g.prototype.isChildAvailable=function(e,t,r,i){var n=2;return r!==2*e&&++n,i!==2*t&&(n-=2),0!==(this._childTileMask&1<l;++l){var h=s[l],d=4*h.x+h.y*o,m=r[d+3];m>0&&(n=!1)}n&&(r=void 0)}u._missingImagePixels=r,u._isReady=!0}function l(){u._missingImagePixels=void 0,u._isReady=!0}if(a=e(a,e.EMPTY_OBJECT),!t(a.missingImageUrl))throw new n("description.missingImageUrl is required.");if(!t(a.pixelsToCheck))throw new n("description.pixelsToCheck is required.");this._pixelsToCheck=a.pixelsToCheck,this._missingImagePixels=void 0,this._missingImageByteLength=void 0,this._isReady=!1;var u=this;o(r(a.missingImageUrl),s,l)};return a.prototype.isReady=function(){return this._isReady},a.prototype.shouldDiscardImage=function(e){if(!this._isReady)throw new n("shouldDiscardImage must not be called before the discard policy is ready.");var r=this._pixelsToCheck,o=this._missingImagePixels;if(!t(o))return!1;if(t(e.blob)&&e.blob.size!==this._missingImageByteLength)return!1;for(var a=i(e),s=e.width,l=0,u=r.length;u>l;++l)for(var c=r[l],h=4*c.x+c.y*s,d=0;4>d;++d){var m=h+d;if(a[m]!==o[m])return!1}return!0},a}),r("Scene/ImageryProvider",["../Core/defined","../Core/defineProperties","../Core/loadImage","../Core/loadImageViaBlob","../Core/DeveloperError","../Core/throttleRequestByServer"],function(e,t,r,i,n,o){"use strict";var a=function(){this.defaultAlpha=void 0,this.defaultBrightness=void 0,this.defaultContrast=void 0,this.defaultHue=void 0,this.defaultSaturation=void 0,this.defaultGamma=void 0,n.throwInstantiationError()};return t(a.prototype,{ready:{get:n.throwInstantiationError},extent:{get:n.throwInstantiationError},tileWidth:{get:n.throwInstantiationError},tileHeight:{get:n.throwInstantiationError},maximumLevel:{get:n.throwInstantiationError},minimumLevel:{get:n.throwInstantiationError},tilingScheme:{get:n.throwInstantiationError},tileDiscardPolicy:{get:n.throwInstantiationError},errorEvent:{get:n.throwInstantiationError},credit:{get:n.throwInstantiationError},proxy:{get:n.throwInstantiationError}}),a.prototype.getTileCredits=n.throwInstantiationError,a.prototype.requestImage=n.throwInstantiationError,a.loadImage=function(t,n){return e(t.tileDiscardPolicy)?o(n,i):o(n,r)},a}),r("Scene/WebMercatorTilingScheme",["../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/Ellipsoid","../Core/Extent","../Core/Cartesian2","../Core/WebMercatorProjection","./TilingScheme"],function(e,t,r,i,n,o,a,s){"use strict";var l=function(r){if(r=e(r,{}),this._ellipsoid=e(r.ellipsoid,i.WGS84),this._numberOfLevelZeroTilesX=e(r.numberOfLevelZeroTilesX,1),this._numberOfLevelZeroTilesY=e(r.numberOfLevelZeroTilesY,1),this._projection=new a(this._ellipsoid),t(r.extentSouthwestInMeters)&&t(r.extentNortheastInMeters))this._extentSouthwestInMeters=r.extentSouthwestInMeters,this._extentNortheastInMeters=r.extentNortheastInMeters;else{var s=this._ellipsoid.maximumRadius*Math.PI;this._extentSouthwestInMeters=new o(-s,-s),this._extentNortheastInMeters=new o(s,s)}var l=this._projection.unproject(this._extentSouthwestInMeters),u=this._projection.unproject(this._extentNortheastInMeters);this._extent=new n(l.longitude,l.latitude,u.longitude,u.latitude)};return r(l.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},extent:{get:function(){return this._extent}},projection:{get:function(){return this._projection}}}),l.prototype.getNumberOfXTilesAtLevel=function(e){return this._numberOfLevelZeroTilesX<n.north||e.latituden.east)return void 0;var a=this.getNumberOfXTilesAtLevel(r),s=this.getNumberOfYTilesAtLevel(r),l=this._extentNortheastInMeters.x-this._extentSouthwestInMeters.x,u=l/a,c=this._extentNortheastInMeters.y-this._extentSouthwestInMeters.y,h=c/s,d=this._projection,m=d.project(e),p=m.x-this._extentSouthwestInMeters.x,f=this._extentNortheastInMeters.y-m.y,v=0|p/u;v>=a&&(v=a-1);var g=0|f/h;return g>=s&&(g=s-1),t(i)?(i.x=v,i.y=g,i):new o(v,g)},l}),r("Scene/ArcGisMapServerImageryProvider",["../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/jsonp","../Core/Cartesian2","../Core/DeveloperError","../Core/Event","./DiscardMissingTileImagePolicy","./GeographicTilingScheme","./ImageryProvider","./TileProviderError","./WebMercatorTilingScheme","./Credit","../ThirdParty/when"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m){"use strict";function p(e,r,i,n){var o;if(e._useTiles)o=e._url+"/tile/"+n+"/"+i+"/"+r;else{var a=e._tilingScheme.tileXYToNativeExtent(r,i,n),s=a.west+"%2C"+a.south+"%2C"+a.east+"%2C"+a.north;o=e._url+"/export?",o+="bbox="+s,o+="&bboxSR=4326&size=256%2C256&imageSR=4326&format=png&transparent=true&f=image"}var l=e._proxy;return t(l)&&(o=l.getURL(o)),o}var f=function(r){function o(e){var r=e.tileInfo;if(g._useTiles&&t(r)){if(g._tileWidth=r.rows,g._tileHeight=r.cols,102100===r.spatialReference.wkid)g._tilingScheme=new h;else{if(4326!==e.tileInfo.spatialReference.wkid){var i="Tile spatial reference WKID "+e.tileInfo.spatialReference.wkid+" is not supported.";return v=c.handleError(v,g,g._errorEvent,i,void 0,void 0,void 0,f),void 0}g._tilingScheme=new l}g._maximumLevel=e.tileInfo.lods.length-1,t(g._tileDiscardPolicy)||(g._tileDiscardPolicy=new s({missingImageUrl:p(g,0,0,g._maximumLevel),pixelsToCheck:[new n(0,0),new n(200,20),new n(20,200),new n(80,110),new n(160,130)],disableCheckIfAllPixelsAreTransparent:!0})),g._useTiles=!0}else g._tileWidth=256,g._tileHeight=256,g._tilingScheme=new l,g._useTiles=!1;t(e.copyrightText)&&e.copyrightText.length>0&&(g._credit=new d(e.copyrightText)),g._ready=!0,c.handleSuccess(v)}function u(){var e="An error occurred while accessing "+g._url+".";v=c.handleError(v,g,g._errorEvent,e,void 0,void 0,void 0,f)}function f(){var e=i(g._url,{parameters:{f:"json"},proxy:g._proxy});m(e,o,u)}r=e(r,{}),this._url=r.url,this._tileDiscardPolicy=r.tileDiscardPolicy,this._proxy=r.proxy,this._tileWidth=void 0,this._tileHeight=void 0,this._maximumLevel=void 0,this._tilingScheme=void 0,this._credit=void 0,this._useTiles=e(r.usePreCachedTilesIfAvailable,!0),this._errorEvent=new a,this._ready=!1;var v,g=this;f()};return r(f.prototype,{url:{get:function(){return this._url}},proxy:{get:function(){return this._proxy}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return 0}},tilingScheme:{get:function(){return this._tilingScheme}},extent:{get:function(){return this._tilingScheme.extent}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return this._ready}},credit:{get:function(){return this._credit}},usingPrecachedTiles:{get:function(){return this._useTiles}}}),f.prototype.getTileCredits=function(){return void 0},f.prototype.requestImage=function(e,t,r){var i=p(this,e,t,r);return u.loadImage(this,i)},f}),r("Scene/BingMapsStyle",["../Core/Enumeration"],function(e){"use strict";var t={AERIAL:new e(0,"AERIAL",{imagerySetName:"Aerial"}),AERIAL_WITH_LABELS:new e(1,"AERIAL_WITH_LABELS",{imagerySetName:"AerialWithLabels"}),ROAD:new e(2,"ROAD",{imagerySetName:"Road"}),ORDNANCE_SURVEY:new e(3,"ORDNANCE_SURVEY",{imagerySetName:"OrdnanceSurvey"}),COLLINS_BART:new e(4,"COLLINS_BART",{imagerySetName:"CollinsBart"})};return t}),r("Scene/BingMapsImageryProvider",["../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/jsonp","../Core/BingMapsApi","../Core/Cartesian2","../Core/DeveloperError","../Core/Event","../Core/Extent","../Core/Math","./BingMapsStyle","./DiscardMissingTileImagePolicy","./ImageryProvider","./TileProviderError","./WebMercatorTilingScheme","./Credit","../ThirdParty/when"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f,v){"use strict";function g(e,r,i,n){var o=e._imageUrlTemplate,a=y.tileXYToQuadKey(r,i,n);o=o.replace("{quadkey}",a);var s=e._imageUrlSubdomains,l=(r+i+n)%s.length;o=o.replace("{subdomain}",s[l]);var u=e._proxy;return t(u)&&(o=u.getURL(o)),o}function _(e,t,r){++t;for(var i=[],n=0,o=e.length;o>n;++n){for(var a=e[n],s=a.coverageAreas,l=!1,u=0,c=a.coverageAreas.length;!l&&c>u;++u){var h=s[u];if(t>=h.zoomMin&&t<=h.zoomMax){var d=r.intersectWith(h.bbox,S);d.isEmpty()||(l=!0)}}l&&i.push(a.credit)}return i}var y=function w(r){function a(e){var r=e.resourceSets[0].resources[0];S._tileWidth=r.imageWidth,S._tileHeight=r.imageHeight,S._maximumLevel=r.zoomMax-1,S._imageUrlSubdomains=r.imageUrlSubdomains,S._imageUrlTemplate=r.imageUrl.replace("{culture}","");var i=S._tileProtocol;if(!t(i)){var n=document.location.protocol;i=/^http/.test(n)?n:"http:"}S._imageUrlTemplate=S._imageUrlTemplate.replace(/^http:/,i),t(S._tileDiscardPolicy)||(S._tileDiscardPolicy=new h({missingImageUrl:g(S,0,0,S._maximumLevel),pixelsToCheck:[new o(0,0),new o(120,140),new o(130,160),new o(200,50),new o(200,200)],disableCheckIfAllPixelsAreTransparent:!0}));var a=S._attributionList=r.imageryProviders;a||(a=S._attributionList=[]);for(var s=0,c=a.length;c>s;++s){var d=a[s];d.credit=new f(d.attribution);for(var p=d.coverageAreas,v=0,_=d.coverageAreas.length;_>v;++v){var C=p[v],w=C.bbox;C.bbox=new l(u.toRadians(w[1]),u.toRadians(w[0]),u.toRadians(w[3]),u.toRadians(w[2]))}}S._ready=!0,m.handleSuccess(y)}function d(){var e="An error occurred while accessing "+C+".";y=m.handleError(y,S,S._errorEvent,e,void 0,void 0,void 0,_)}function _(){var e=i(C,{callbackParameterName:"jsonp",proxy:S._proxy});v(e,a,d)}r=e(r,{}),this._key=n.getKey(r.key),this._url=r.url,this._tileProtocol=r.tileProtocol,this._mapStyle=e(r.mapStyle,c.AERIAL),this._tileDiscardPolicy=r.tileDiscardPolicy,this._proxy=r.proxy,this._credit=new f("Bing Imagery",w._logoData,"http://www.bing.com"),this.defaultGamma=1,(this._mapStyle===c.AERIAL||this._mapStyle===c.AERIAL_WITH_LABELS)&&(this.defaultGamma=1.3),this._tilingScheme=new p({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:2}),this._tileWidth=void 0,this._tileHeight=void 0,this._maximumLevel=void 0,this._imageUrlTemplate=void 0,this._imageUrlSubdomains=void 0,this._errorEvent=new s,this._ready=!1;var y,C=this._url+"/REST/v1/Imagery/Metadata/"+this._mapStyle.imagerySetName+"?incl=ImageryProviders&key="+this._key,S=this;_()};r(y.prototype,{url:{get:function(){return this._url}},proxy:{get:function(){return this._proxy}},key:{get:function(){return this._key}},mapStyle:{get:function(){return this._mapStyle}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return 0}},tilingScheme:{get:function(){return this._tilingScheme}},extent:{get:function(){return this._tilingScheme.extent}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return this._ready}},credit:{get:function(){return this._credit}}});var C=new l;y.prototype.getTileCredits=function(e,t,r){if(!this._ready)throw new a("getTileCredits must not be called before the imagery provider is ready.");var i=this._tilingScheme.tileXYToExtent(e,t,r,C);return _(this._attributionList,r,i)},y.prototype.requestImage=function(e,t,r){var i=g(this,e,t,r);return d.loadImage(this,i)},y._logoData="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAD0AAAAaCAYAAAAEy1RnAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH3gIDEgcPTMnXOQAAClZJREFUWMPdWGtsFNcV/u689uH1+sXaONhlWQzBENtxiUFBpBSLd60IpXHSNig4URtSYQUkRJNSi0igViVVVBJBaBsiAgKRQJSG8AgEHCCWU4iBCprY2MSgXfOI16y9D3s9Mzsztz9yB12WNU2i9Ecy0tHOzN4793zn3POdcy7BnRfJ8I7iB3SRDPeEExswLz8Y0DZIAYDIRGAgLQAm+7Xle31J3L3Anp1MZPY+BUBjorN332vgYhpgV1FRUd6TTz45ubq6OtDV1SXpuu5g//Oept9wNwlMyAi8IXDjyF245TsDTdivDMATCATGNDU1/WbhwoWPTZs2bWx1dXWhx+Oxrl+/PqTrus5t9W8KWEzjinTAYhro/xuBStwiIgBnJBLxKIoy1u/3V/r9/krDMMz3339/Z3t7e38ikUgCMDLEt8W+Q0cAI3McYTDDmZxh7DESG5Ni43jg9Gsa+X+OsxWxPSJTSj3JZFK5ZRVJErOzs8e6XC4fgGwALhbzDgAKU1hK28KEA6PMmTMn56233qpevnz5PQDcbJ7EzVUAuMrLy3MBeABkcWOEDELSyFe4y7iMoHkriZZlKYZh8ASHZDKpJJPJHAC5APIA5APIAeBlCjo5TwlpXnbOmTPHP3fu3KZVq1atZKBcDJQ9x7V48WJfc3Pzhp6enj+tXLnyR8w4MjdG4gyVDk7KICMClzKlLUrpbQMNw5AkScppbGz8cWdn57WjR4/2caw+DEBlYjO8wX1foZQWuN3uKZIklQD4G+fhlG0Yl8uVm5WVVW6app6dne0D0G8vnxbjJntHubCUOK/badZICyWanrJuAaeUknTQpmlKkUhEWbx48U8LCwtHhUKha+fPn+85fPhwV0tLyzUACSZx9jvMFhIByNFoVDEMw/qKB5HPvJfkUqBr9+7deklJyZ/j8bi5ffv2OAslieMLsG+m2DybT2QuzEQOsF5SUqJfvXo1yc2l6Xn6rgSRSCSEc+fOhVeuXLmwoqJixvTp0wcWLFgQ7unpudHR0dF97ty5z/fu3XseQJh5adjeerquy5ZlCalUivh8Pt8HH3ywzOPxyD09PZ81NjZ+2NnZaQEQx40b54vFYqaqquEVK1b4a2tr/WvWrDn18ssv144fP36SqqoD69ev371nz57rDLwAwHHkyJGfjRs3rtowDOv06dOnu7q6rs6bN2/s7Nmz9zIjDKenWoFZKg/AlMLCwl82Nzf/m3LX22+/fXb06NF/ALC8u7u7m6ZdkUhksL29/UpLS0vzunXrVgAoBzAaQBGAiY2NjUui0ei1RCLRFwwG/9PX19cVi8WCqqoOdHd3HysrK6sDMCccDl8IBoOtiqIsOnbs2D+i0eiV3t7ez8Ph8GeRSKRT07TB/v7+i1OnTp0HYBqABzs7O/+paVo0Fot1RyKRi/F4/Gp/f39XIpHoZnoUMn6wU+ZtRDaymwmxZFk2AWjvvvvuJ/F4PMn/n5+fn1VeXu6fOXNmbU1NzUOM4Bz8QqIoyg6HwxuLxfq3bdu2a+vWrW/09/dfKy0tffDVV199BEC20+n0ud3uQgBup9Pp83g8JYqieE+ePPnxxo0bt33xxRen8/Ly7n3hhRcWASh47bXX5pWVldWFw+GuXbt27XjzzTd3BoPBDq/XG1AUZRRHmAKPVfqaoKkgCCkA+oYNG84Eg0FHTU1N5ezZs8eWlJQ4CSF8/LvZYhJPQoQQpFKpwcrKyo1su9HBwUF99erVv588eXINgOOmacIwDEopdaZSKUIpxYkTJz6sr68/BMBav379RcMwZk2aNOl+AP+qq6t7xDTNVEVFxR+j0WgSAJk4ceKlTz/9tNzpdHpZvIvpjVW6pykhhBJCbkvwgiAQQogEQL558ybdtGlTsLm5OWJZdxZmlmWll5OUEEJN0zSGhob6GcOrALSzZ8/2apqWcLlc2axGACNRkRAimqaph0Kh68xIwwB0y7IMSZKcABz5+fkl8Xj8y2g0apOb5na7rYGBgS/JV54Q0qpAAoBKaS0jBWClg1ZVFeFw2AlgVF1dXeDpp5+eWVFRUVpcXOzgvQwAbrcbDJhdudlGpKZpGtx6JCcnRxIEQbQsS2PjbjM+AMvlchnMSBaXkr7ymCCIhmEYfMoVRVESBEHI0CaTTNubssUsQRBuubCtra33pZdeCk6YMCGwZs2aipqaGn9paWmuJEl3JP0bN258eeTIkRMABrm0YomiaImiKGVlZeWxLecAgBkzZvgdDkfWjRs3ggA0bpfpoiiahBCqKEqKAy2yULMA6MlkMp6Xl3cP1x2SWCwmFhQU+CmlFhfHNFOevpX4LcvSJUkyAeDQoUOh119//fpTTz01Zf78+UWBQCBHUZQ7yE/TNGPfvn0n33vvvSP79+//BECMeZsCMGRZNgRBgNPpHHXx4sVVDQ0Nf1+wYMGYJ554YikAevDgwUMA4oIgQJZlSggZdDqdBiGEZGdn6ww0tQlJURTT4/EMHz9+/MCjjz7622AwuHbZsmVbiouLvWvXrm1wOp3ZqVRqaKQTIInf1gAMl8ulU0q1CxcuBGOxmL5u3bryQCDgycrKEjORXGtra8eOHTsOHz169OyVK1cuA+hlRYrGlNRkWR7UNO2mYRiaz+cb3dLS8gYhhOi6Hj116tSOVatWHQNALcsaME0zLghClBDSZ9+zQsZ2SoJS2udwOKLPPffcvsrKyrJAIPDQ/v37txiGofX19V3r7e29UlBQMHqEVpjwnrYA6PF4PK6q6s2qqqqpZWVlitvtljOB7enpiWzbtu3wgQMHTre1tV0E0MeKkkGuIhMAqHv37u30er3Px+NxlyiKygMPPOAnhFiXLl0Kbd68uYPNsXbu3Lk6mUwaqqr2btmyZUdtbe3hd955pwvAEFNcO3jw4K/b2tqiqqpGIpGI4/HHH/9rQ0PDCa/XOyoSidDLly8PNTU1PcZ4QuNK1ju6NYHFRAGASXPnzv1Fa2vrxzTDpapqateuXR/Nnz+/SVGUhwFMBzCBFSLZLF75DsrJGpXRAH4EIABgPIBxAEoBFAPwARjFif1sNzZ25+VlOhaxufcCqAFQC+BhAPVLliz5XSqVUkOhUAuAKWnFyR3dlsw+fg+A+8eMGfPzTZs2bY9GozEb8JkzZ9qXLl36l+Li4l8B+AmAyQDGsGrOzfXNPGPawG2l85jksmcPm+vihH+2W1iF3bvZPN+sWbPuGx4eDrW3t+85fvz41o6OjmZN04Y0TYvV19cvYIbN5QqUjG2mwj5YAqDK4XDMe+aZZ55vbW09+sorr2yuqqpqYFatAuBn3uB7XzJCY297XeaUd2RoGzOJmHb6IjFj5D777LP3DQwMfDw8PBxSVbUvkUj0hEKhj1588cXH2O7zMSPdplumoxveMx5Zlj3jx4/39vb26gMDA4MsvgYZo+p8Pr7LqQX5Ds/U7d0jFxUVZS1atKg4Nzc317Isp67rZldXV6y5ufkmI78hFtcmrx8ZweMit6XsUs4+6kmlgbW+peLf9gyMZNCR374G0y/FxEzX8b/8+bkXEBxKFwAAAABJRU5ErkJggg==",y.tileXYToQuadKey=function(e,t,r){for(var i="",n=r;n>=0;--n){var o=1<=0;--n){var o=1<r&&(t.x=r),t.x<-r&&(t.x=-r);var i=e._maxCoord.y*e.maximumTranslateFactor;t.y>i&&(t.y=i),t.y<-i&&(t.y=-i)}function y(e,t){var r,i=e._camera;return n(t)&&(r=d.clone(i.transform,$),d.multiplyTransformation(t,r,et),e.setTransform(et)),r}function C(e,t){n(t)&&e.setTransform(t)}function S(e,r,i){var o=e._camera,a=y(e,i),s=o.position,l=t.normalize(s,it);if(n(e.constrainedAxis)){var u=t.equalsEpsilon(l,e.constrainedAxis,c.EPSILON2),h=t.equalsEpsilon(l,t.negate(e.constrainedAxis,at),c.EPSILON2);if(u||h)(u&&0>r||h&&r>0)&&e.rotate(o.right,r);else{var d=t.normalize(e.constrainedAxis,nt),m=t.dot(l,d),p=Math.acos(m);r>0&&r>p&&(r=p),m=t.dot(l,t.negate(d,at)),p=Math.acos(m),0>r&&-r>p&&(r=-p);var f=t.cross(d,l,ot);e.rotate(f,r)}}else e.rotate(o.right,r);C(e,a)}function w(e,t,r){n(e.constrainedAxis)?e.rotate(e.constrainedAxis,t,r):e.rotate(e._camera.up,t,r)}function E(e,t){var r=e._camera.frustum;t=.5*t;var i=r.right-t,n=r.left+t,o=e._maxCoord.x*e.maximumZoomFactor;i>o&&(i=o,n=-o),n>=i&&(i=1,n=-1);var a=r.top/r.right;r.right=i,r.left=n,r.top=r.right*a,r.bottom=-r.top}function x(e,t){var r=e._camera;e.move(r.direction,t)}function b(r,i){var n=r._camera,o=.5*-i.height,a=-o,s=n.frustum;if(a>o){var l=s.top/s.right;s.right=a,s.left=o,s.top=s.right*l,s.bottom=-s.top}e.clone(r._projection.project(i),n.position),t.negate(t.UNIT_Z,n.direction),t.clone(t.UNIT_Y,n.up),t.clone(t.UNIT_X,n.right)}function T(e,r){var i=e._camera,n=e._projection;i.position=n.project(r),t.negate(t.UNIT_Z,i.direction),t.clone(t.UNIT_Y,i.up),t.clone(t.UNIT_X,i.right)}function A(e,r){var i=e._camera,n=e._projection.ellipsoid;n.cartographicToCartesian(r,i.position),t.negate(i.position,i.direction),t.normalize(i.direction,i.direction),t.cross(i.direction,t.UNIT_Z,i.right),t.cross(i.right,i.direction,i.up),t.cross(i.direction,i.up,i.right)}function P(e){var t=e._camera;return Math.atan2(t.right.y,t.right.x)}function D(e){var t=e._camera,r=e._projection.ellipsoid,i=f.eastNorthUpToFixedFrame(t.position,r,st),n=d.getRotation(i,lt);h.transpose(n,n);var o=h.multiplyByVector(n,t.right,ut);return Math.atan2(o.y,o.x) +}function M(e,r){var i=P(e);r=i-r,e.look(t.UNIT_Z,r)}function I(e,r){var i=e._camera,n=t.normalize(i.position,ct),o=D(e);r=o-r,e.look(n,r)}function O(e){var t=e._camera;return c.PI_OVER_TWO-Math.acos(-t.direction.z)}function R(e){var r=e._camera,i=t.normalize(r.position,ht);return t.negate(i,i),c.PI_OVER_TWO-Math.acos(t.dot(r.direction,i))}function L(e,r,i,n,o){var a=e;o&&(a=_t);var s=r.north,l=r.south,u=r.east,h=r.west;h>u&&(u+=c.TWO_PI);var d=dt;d.longitude=u,d.latitude=s;var m=i.cartographicToCartesian(d,mt);d.latitude=l;var p=i.cartographicToCartesian(d,vt);d.longitude=h;var f=i.cartographicToCartesian(d,pt);d.latitude=s;var v=i.cartographicToCartesian(d,ft),g=t.subtract(m,f,gt);t.multiplyByScalar(g,.5,g),t.add(f,g,g);var _=t.magnitude(g);_y?(m=v,p=m/_):(p=g,m=y),g=Math.max(2*m,2*p),n(o)||(o=new t),o.x=.5*(d.x-f.x)+f.x,o.y=.5*(d.y-f.y)+f.y,a)h=i.unproject(o,h),h.height=g,o=i.project(h,o);else{var C=e.frustum;C.right=m,C.left=-m,C.top=p,C.bottom=-p;var S=t.clone(t.UNIT_Z,e.direction);t.negate(S,S),t.clone(t.UNIT_X,e.right),t.clone(t.UNIT_Y,e.up)}return o}function z(e,t,r,n){r=i(r,s.WGS84);var o=e.getPickRay(t,bt),a=u.rayEllipsoid(o,r);return a?o.getPoint(a.start,n):void 0}function F(e,t,r,i){var n=e.getPickRay(t,Tt),o=n.origin;o.z=0;var a=r.unproject(o);return a.latitude<-c.PI_OVER_TWO||a.latitude>c.PI_OVER_TWO||a.longitude<-Math.PI||a.longitude>Math.PI?void 0:r.ellipsoid.cartographicToCartesian(a,i)}function V(e,r,i,n){var o=e.getPickRay(r,At),a=-o.origin.x/o.direction.x;o.getPoint(a,n);var s=i.unproject(new t(n.y,n.z,0));return s.latitude<-c.PI_OVER_TWO||s.latitude>c.PI_OVER_TWO||s.longitude<-Math.PI||s.longitude>Math.PI?void 0:i.ellipsoid.cartographicToCartesian(s,n)}function k(e,r,i){var n=e._context._canvas.clientWidth,o=e._context._canvas.clientHeight,a=Math.tan(.5*e.frustum.fovy),s=e.frustum.aspectRatio*a,l=e.frustum.near,u=2/n*r.x-1,c=2/o*(o-r.y)-1,h=e.positionWC;t.clone(h,i.origin);var d=t.multiplyByScalar(e.directionWC,l,Pt);t.add(h,d,d);var m=t.multiplyByScalar(e.rightWC,u*l*s,Dt),p=t.multiplyByScalar(e.upWC,c*l*a,Mt),f=t.add(d,m,i.direction);return t.add(f,p,f),t.subtract(f,h,f),t.normalize(f,f),i}function U(e,r,i){var n=e._context._canvas.clientWidth,o=e._context._canvas.clientHeight,a=2/n*r.x-1;a*=.5*(e.frustum.right-e.frustum.left);var s=2/o*(o-r.y)-1;s*=.5*(e.frustum.top-e.frustum.bottom);var l=i.origin;return t.clone(e.position,l),t.multiplyByScalar(e.right,a,It),t.add(It,l,l),t.multiplyByScalar(e.up,s,It),t.add(It,l,l),t.clone(e.directionWC,i.direction),i}function W(e,r){var i=e._camera,n=i.position,o=n.x<-e._maxCoord.x||n.x>e._maxCoord.x,a=n.y<-e._maxCoord.y||n.y>e._maxCoord.y,s=o||a,l=i.frustum,u=l.top,h=l.bottom,d=l.right,m=l.left,p=e._frustum,f=d>e._frustum.right;if(s||f){var v=t.clone(n);v.x>e._maxCoord.x?v.x=e._maxCoord.x:v.x<-e._maxCoord.x&&(v.x=-e._maxCoord.x),v.y>e._maxCoord.y?v.y=e._maxCoord.y:v.y<-e._maxCoord.y&&(v.y=-e._maxCoord.y);var _=function(e){s&&(i.position=t.lerp(n,v,e.time)),f&&(i.frustum.top=c.lerp(u,p.top,e.time),i.frustum.bottom=c.lerp(h,p.bottom,e.time),i.frustum.right=c.lerp(d,p.right,e.time),i.frustum.left=c.lerp(m,p.left,e.time))};return{easingFunction:g.Easing.Exponential.Out,startValue:{time:0},stopValue:{time:1},duration:r,onUpdate:_}}return void 0}function G(e,r,i,n,o,a){var s=t.clone(r);i.y>n?s.y-=i.y-n:i.y<-n&&(s.y+=-n-i.y),i.z>o?s.z-=i.z-o:i.z<-o&&(s.z+=-o-i.z);var l=e._camera,u=function(e){var i=t.lerp(r,s,e.time);l.position=d.multiplyByPoint(l.inverseTransform,i,l.position)};return{easingFunction:g.Easing.Exponential.Out,startValue:{time:0},stopValue:{time:1},duration:a,onUpdate:u}}function H(e,r){var i=e._camera,n=i.position,o=i.direction,a=d.multiplyByPointAsVector(i.inverseTransform,t.UNIT_X,Ot),s=-t.dot(a,n)/t.dot(a,o),l=t.add(n,t.multiplyByScalar(o,s,Rt),Rt);l=d.multiplyByPoint(i.transform,l,l),n=d.multiplyByPoint(i.transform,i.position,Lt);var u=Math.tan(.5*e._camera.frustum.fovy),c=e._camera.frustum.aspectRatio*u,h=t.magnitude(t.subtract(n,l,Nt)),m=c*h,p=u*h,f=e._maxCoord.x,v=e._maxCoord.y,g=Math.max(m-f,f),_=Math.max(p-v,v);if(n.z<-g||n.z>g||n.y<-_||n.y>_){var y=l.y<-g||l.y>g,C=l.z<-_||l.z>_;if(y||C)return G(e,n,l,g,_,r)}return void 0}var j=function(e){this._camera=e,this._mode=v.SCENE3D,this._projection=new l,this.defaultMoveAmount=1e5,this.defaultLookAmount=Math.PI/60,this.defaultRotateAmount=Math.PI/3600,this.defaultZoomAmount=1e5,this.constrainedAxis=void 0,this.maximumTranslateFactor=1.5,this.maximumZoomFactor=2.5,this._maxCoord=new t,this._frustum=void 0},q=new r(Math.PI,c.PI_OVER_TWO);j.prototype.update=function(e,t){var r=!1;e!==this._mode&&(this._mode=e,r=this._mode===v.SCENE2D);var i=t.projection;if(n(i)&&i!==this._projection&&(this._projection=i,this._maxCoord=i.project(q,this._maxCoord)),r){var o=this._frustum=this._camera.frustum.clone(),a=2,s=o.top/o.right;o.right=this._maxCoord.x*a,o.left=-o.right,o.top=s*o.right,o.bottom=-o.top}};var Y=new t,X=new t,Z=new t;j.prototype.setTransform=function(e){var r=this._camera,i=t.clone(r.positionWC,Y),n=t.clone(r.upWC,X),o=t.clone(r.directionWC,Z);d.clone(e,r.transform);var a=r.inverseTransform;d.multiplyByPoint(a,i,r.position),d.multiplyByPointAsVector(a,o,r.direction),d.multiplyByPointAsVector(a,n,r.up),t.cross(r.direction,r.up,r.right)};var J=new t;j.prototype.move=function(e,r){var i=this._camera.position;t.multiplyByScalar(e,r,J),t.add(i,J,i),this._mode===v.SCENE2D&&_(this,i)},j.prototype.moveForward=function(e){e=i(e,this.defaultMoveAmount),this.move(this._camera.direction,e)},j.prototype.moveBackward=function(e){e=i(e,this.defaultMoveAmount),this.move(this._camera.direction,-e)},j.prototype.moveUp=function(e){e=i(e,this.defaultMoveAmount),this.move(this._camera.up,e)},j.prototype.moveDown=function(e){e=i(e,this.defaultMoveAmount),this.move(this._camera.up,-e)},j.prototype.moveRight=function(e){e=i(e,this.defaultMoveAmount),this.move(this._camera.right,e)},j.prototype.moveLeft=function(e){e=i(e,this.defaultMoveAmount),this.move(this._camera.right,-e)},j.prototype.lookLeft=function(e){e=i(e,this.defaultLookAmount),this.look(this._camera.up,-e)},j.prototype.lookRight=function(e){e=i(e,this.defaultLookAmount),this.look(this._camera.up,e)},j.prototype.lookUp=function(e){e=i(e,this.defaultLookAmount),this.look(this._camera.right,-e)},j.prototype.lookDown=function(e){e=i(e,this.defaultLookAmount),this.look(this._camera.right,e)};var Q=new m,K=new h;j.prototype.look=function(e,t){var r=i(t,this.defaultLookAmount),n=m.fromAxisAngle(e,-r,Q),o=h.fromQuaternion(n,K),a=this._camera.direction,s=this._camera.up,l=this._camera.right;h.multiplyByVector(o,a,a),h.multiplyByVector(o,s,s),h.multiplyByVector(o,l,l)},j.prototype.twistLeft=function(e){e=i(e,this.defaultLookAmount),this.look(this._camera.direction,e)},j.prototype.twistRight=function(e){e=i(e,this.defaultLookAmount),this.look(this._camera.direction,-e)};var $=new d,et=new d,tt=new m,rt=new h;j.prototype.rotate=function(e,r,n){var o=this._camera,a=i(r,this.defaultRotateAmount),s=m.fromAxisAngle(e,-a,tt),l=h.fromQuaternion(s,rt),u=y(this,n);h.multiplyByVector(l,o.position,o.position),h.multiplyByVector(l,o.direction,o.direction),h.multiplyByVector(l,o.up,o.up),t.cross(o.direction,o.up,o.right),t.cross(o.right,o.direction,o.up),C(this,u)},j.prototype.rotateDown=function(e,t){e=i(e,this.defaultRotateAmount),S(this,e,t)},j.prototype.rotateUp=function(e,t){e=i(e,this.defaultRotateAmount),S(this,-e,t)};var it=new t,nt=new t,ot=new t,at=new t;j.prototype.rotateRight=function(e,t){e=i(e,this.defaultRotateAmount),w(this,-e,t)},j.prototype.rotateLeft=function(e,t){e=i(e,this.defaultRotateAmount),w(this,e,t)},j.prototype.zoomIn=function(e){e=i(e,this.defaultZoomAmount),this._mode===v.SCENE2D?E(this,e):x(this,e)},j.prototype.zoomOut=function(e){e=i(e,this.defaultZoomAmount),this._mode===v.SCENE2D?E(this,-e):x(this,-e)},j.prototype.getMagnitude=function(){var e=this._camera;return this._mode===v.SCENE3D?t.magnitude(e.position):this._mode===v.COLUMBUS_VIEW?Math.abs(e.position.z):this._mode===v.SCENE2D?Math.max(e.frustum.right-e.frustum.left,e.frustum.top-e.frustum.bottom):void 0},j.prototype.setPositionCartographic=function(e){this._mode===v.SCENE2D?b(this,e):this._mode===v.COLUMBUS_VIEW?T(this,e):this._mode===v.SCENE3D&&A(this,e)};var st=new d,lt=new h,ut=new t,ct=new t,ht=new t;o(j.prototype,{heading:{get:function(){return this._mode===v.SCENE2D||this._mode===v.COLUMBUS_VIEW?P(this):this._mode===v.SCENE3D?D(this):void 0},set:function(e){this._mode===v.SCENE2D||this._mode===v.COLUMBUS_VIEW?M(this,e):this._mode===v.SCENE3D&&I(this,e)}},tilt:{get:function(){return this._mode===v.COLUMBUS_VIEW?O(this):this._mode===v.SCENE3D?R(this):void 0},set:function(e){if(this._mode===v.COLUMBUS_VIEW||this._mode===v.SCENE3D){var t=this._camera;e=c.clamp(e,0,c.PI_OVER_TWO),e-=this.tilt,this.look(t.right,e)}}}}),j.prototype.lookAt=function(e,r,i){var n=this._camera;n.position=t.clone(e,n.position),n.direction=t.normalize(t.subtract(r,e,n.direction),n.direction),n.right=t.normalize(t.cross(n.direction,i,n.right),n.right),n.up=t.cross(n.right,n.direction,n.up)};var dt=new r,mt=new t,pt=new t,ft=new t,vt=new t,gt=new t,_t={direction:new t,right:new t,up:new t},yt=new r,Ct=new t,St=new t,wt=new r,Et=new t,xt=new t;j.prototype.getExtentCameraCoordinates=function(e,t){return this._mode===v.SCENE3D?L(this._camera,e,this._projection.ellipsoid,t,!0):this._mode===v.COLUMBUS_VIEW?N(this._camera,e,this._projection,t,!0):this._mode===v.SCENE2D?B(this._camera,e,this._projection,t,!0):void 0},j.prototype.viewExtent=function(e,t){t=i(t,s.WGS84),this._mode===v.SCENE3D?L(this._camera,e,t,this._camera.position):this._mode===v.COLUMBUS_VIEW?N(this._camera,e,this._projection,this._camera.position):this._mode===v.SCENE2D&&B(this._camera,e,this._projection,this._camera.position)};var bt=new p,Tt=new p,At=new p;j.prototype.pickEllipsoid=function(e,r,o){return n(o)||(o=new t),r=i(r,s.WGS84),this._mode===v.SCENE3D?o=z(this,e,r,o):this._mode===v.SCENE2D?o=F(this,e,this._projection,o):this._mode===v.COLUMBUS_VIEW&&(o=V(this,e,this._projection,o)),o};var Pt=new t,Dt=new t,Mt=new t,It=new t;j.prototype.getPickRay=function(e,t){n(t)||(t=new p);var r=this._camera,i=r.frustum;return n(i.aspectRatio)&&n(i.fovy)&&n(i.near)?k(r,e,t):U(r,e,t)};var Ot=new t,Rt=new t,Lt=new t,Nt=new t;return j.prototype.createCorrectPositionAnimation=function(e){return this._mode===v.SCENE2D?W(this,e):this._mode===v.COLUMBUS_VIEW?H(this,e):void 0},j}),r("Scene/CullingVolume",["../Core/defaultValue","../Core/defined","../Core/DeveloperError","../Core/Intersect"],function(e,t,r,i){"use strict";var n=function(t){this.planes=e(t,[])};return n.prototype.getVisibility=function(e){for(var t=this.planes,r=!1,n=0,o=t.length;o>n;++n){var a=e.intersect(t[n]);if(a===i.OUTSIDE)return i.OUTSIDE;a===i.INTERSECTING&&(r=!0)}return r?i.INTERSECTING:i.INSIDE},n}),r("Scene/PerspectiveOffCenterFrustum",["../Core/DeveloperError","../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/Cartesian2","../Core/Cartesian3","../Core/Cartesian4","../Core/Matrix4","../Scene/CullingVolume"],function(e,t,r,i,n,o,a,s,l){"use strict";function u(e){var t=e.top,r=e.bottom,i=e.right,n=e.left,o=e.near,a=e.far;(t!==e._top||r!==e._bottom||n!==e._left||i!==e._right||o!==e._near||a!==e._far)&&(e._left=n,e._right=i,e._top=t,e._bottom=r,e._near=o,e._far=a,e._perspectiveMatrix=s.computePerspectiveOffCenter(n,i,r,t,o,a,e._perspectiveMatrix),e._infinitePerspective=s.computeInfinitePerspectiveOffCenter(n,i,r,t,o,e._infinitePerspective))}var c=function(){this.left=void 0,this._left=void 0,this.right=void 0,this._right=void 0,this.top=void 0,this._top=void 0,this.bottom=void 0,this._bottom=void 0,this.near=1,this._near=this.near,this.far=5e8,this._far=this.far,this._cullingVolume=new l,this._perspectiveMatrix=void 0,this._infinitePerspective=void 0};i(c.prototype,{projectionMatrix:{get:function(){return u(this),this._perspectiveMatrix}},infiniteProjectionMatrix:{get:function(){return u(this),this._infinitePerspective}}});var h=new o,d=new o,m=new o,p=new o;return c.prototype.computeCullingVolume=function(e,t,i){var n=this._cullingVolume.planes,s=this.top,l=this.bottom,u=this.right,c=this.left,f=this.near,v=this.far,g=o.cross(t,i,h),_=d;o.multiplyByScalar(t,f,_),o.add(e,_,_);var y=m;o.multiplyByScalar(t,v,y),o.add(e,y,y);var C=p;o.multiplyByScalar(g,c,C),o.add(_,C,C),o.subtract(C,e,C),o.normalize(C,C),o.cross(C,i,C);var S=n[0];return r(S)||(S=n[0]=new a),S.x=C.x,S.y=C.y,S.z=C.z,S.w=-o.dot(C,e),o.multiplyByScalar(g,u,C),o.add(_,C,C),o.subtract(C,e,C),o.normalize(C,C),o.cross(i,C,C),S=n[1],r(S)||(S=n[1]=new a),S.x=C.x,S.y=C.y,S.z=C.z,S.w=-o.dot(C,e),o.multiplyByScalar(i,l,C),o.add(_,C,C),o.subtract(C,e,C),o.normalize(C,C),o.cross(g,C,C),S=n[2],r(S)||(S=n[2]=new a),S.x=C.x,S.y=C.y,S.z=C.z,S.w=-o.dot(C,e),o.multiplyByScalar(i,s,C),o.add(_,C,C),o.subtract(C,e,C),o.normalize(C,C),o.cross(C,g,C),S=n[3],r(S)||(S=n[3]=new a),S.x=C.x,S.y=C.y,S.z=C.z,S.w=-o.dot(C,e),S=n[4],r(S)||(S=n[4]=new a),S.x=t.x,S.y=t.y,S.z=t.z,S.w=-o.dot(t,_),o.negate(t,C),S=n[5],r(S)||(S=n[5]=new a),S.x=C.x,S.y=C.y,S.z=C.z,S.w=-o.dot(C,y),this._cullingVolume},c.prototype.getPixelSize=function(e,i,o){u(this);var a=e.x,s=e.y;i=t(i,this.near);var l=1/this.near,c=this.top*l,h=2*i*c/s;c=this.right*l;var d=2*i*c/a;return r(o)?(o.x=d,o.y=h,o):new n(d,h)},c.prototype.clone=function(e){return r(e)||(e=new c),e.right=this.right,e.left=this.left,e.top=this.top,e.bottom=this.bottom,e.near=this.near,e.far=this.far,e._left=void 0,e._right=void 0,e._top=void 0,e._bottom=void 0,e._near=void 0,e._far=void 0,e},c.prototype.equals=function(e){return r(e)&&this.right===e.right&&this.left===e.left&&this.top===e.top&&this.bottom===e.bottom&&this.near===e.near&&this.far===e.far},c}),r("Scene/PerspectiveFrustum",["../Core/defined","../Core/defineProperties","../Core/DeveloperError","../Scene/PerspectiveOffCenterFrustum"],function(e,t,r,i){"use strict";function n(e){var t=e._offCenterFrustum;(e.fovy!==e._fovy||e.aspectRatio!==e._aspectRatio||e.near!==e._near||e.far!==e._far)&&(e._fovy=e.fovy,e._aspectRatio=e.aspectRatio,e._near=e.near,e._far=e.far,t.top=e.near*Math.tan(.5*e.fovy),t.bottom=-t.top,t.right=e.aspectRatio*t.top,t.left=-t.right,t.near=e.near,t.far=e.far)}var o=function(){this._offCenterFrustum=new i,this.fovy=void 0,this._fovy=void 0,this.aspectRatio=void 0,this._aspectRatio=void 0,this.near=1,this._near=this.near,this.far=5e8,this._far=this.far};return t(o.prototype,{projectionMatrix:{get:function(){return n(this),this._offCenterFrustum.projectionMatrix}},infiniteProjectionMatrix:{get:function(){return n(this),this._offCenterFrustum.infiniteProjectionMatrix}}}),o.prototype.computeCullingVolume=function(e,t,r){return n(this),this._offCenterFrustum.computeCullingVolume(e,t,r)},o.prototype.getPixelSize=function(e,t,r){return n(this),this._offCenterFrustum.getPixelSize(e,t,r)},o.prototype.clone=function(t){return e(t)||(t=new o),t.fovy=this.fovy,t.aspectRatio=this.aspectRatio,t.near=this.near,t.far=this.far,t._fovy=void 0,t._aspectRatio=void 0,t._near=void 0,t._far=void 0,this._offCenterFrustum.clone(t._offCenterFrustum),t},o.prototype.equals=function(t){return e(t)?(n(this),n(t),this.fovy===t.fovy&&this.aspectRatio===t.aspectRatio&&this.near===t.near&&this.far===t.far&&this._offCenterFrustum.equals(t._offCenterFrustum)):!1},o}),r("Scene/Camera",["../Core/Cartesian3","../Core/defined","../Core/defineProperties","../Core/DeveloperError","../Core/Ellipsoid","../Core/Math","../Core/Matrix4","./CameraController","./PerspectiveFrustum"],function(e,t,r,i,n,o,a,s,l){"use strict";function u(t){var r=t._right,i=t._up,n=t._direction,o=t._position,s=t._viewMatrix;s[0]=r.x,s[1]=i.x,s[2]=-n.x,s[3]=0,s[4]=r.y,s[5]=i.y,s[6]=-n.y,s[7]=0,s[8]=r.z,s[9]=i.z,s[10]=-n.z,s[11]=0,s[12]=-e.dot(r,o),s[13]=-e.dot(i,o),s[14]=e.dot(n,o),s[15]=1,a.multiply(s,t._invTransform,t._viewMatrix),a.inverseTransformation(t._viewMatrix,t._invViewMatrix)}function c(t){var r=t._position,i=!e.equals(r,t.position);i&&(r=e.clone(t.position,t._position));var n=t._direction,s=!e.equals(n,t.direction);s&&(n=e.clone(t.direction,t._direction));var l=t._up,c=!e.equals(l,t.up);c&&(l=e.clone(t.up,t._up));var h=t._right,m=!e.equals(h,t.right);m&&(h=e.clone(t.right,t._right));var p=t._transform,f=!a.equals(p,t.transform);if(f&&(p=a.clone(t.transform,t._transform),a.inverseTransformation(t._transform,t._invTransform)),(i||f)&&(t._positionWC=a.multiplyByPoint(p,r,t._positionWC)),s||c||m){var v=e.dot(n,e.cross(l,h,d));if(Math.abs(1-v)>o.EPSILON2){n=e.normalize(n,t._direction),e.clone(n,t.direction);var g=1/e.magnitudeSquared(l),_=e.dot(l,n)*g,y=e.multiplyByScalar(n,_,d);l=e.normalize(e.subtract(l,y,t._up),t._up),e.clone(l,t.up),h=e.cross(n,l,t._right),e.clone(h,t.right)}}(s||f)&&(t._directionWC=a.multiplyByPointAsVector(p,n,t._directionWC)),(c||f)&&(t._upWC=a.multiplyByPointAsVector(p,l,t._upWC)),(m||f)&&(t._rightWC=a.multiplyByPointAsVector(p,h,t._rightWC)),(i||s||c||m||f)&&u(t)}var h=function(t){this.transform=a.clone(a.IDENTITY),this._transform=a.clone(a.IDENTITY),this._invTransform=a.clone(a.IDENTITY);var r=n.WGS84.maximumRadius,i=e.multiplyByScalar(e.normalize(new e(0,-2,1)),2.5*r);this.position=i,this._position=e.clone(i),this._positionWC=e.clone(i);var c=e.normalize(e.negate(i));this.direction=c,this._direction=e.clone(c),this._directionWC=e.clone(c);var h=e.normalize(e.cross(c,e.UNIT_Z)),d=e.cross(h,c);this.up=d,this._up=e.clone(d),this._upWC=e.clone(d),h=e.cross(c,d),this.right=h,this._right=e.clone(h),this._rightWC=e.clone(h),this.frustum=new l,this.frustum.fovy=o.toRadians(60),this.frustum.aspectRatio=t.getDrawingBufferWidth()/t.getDrawingBufferHeight(),this.controller=new s(this),this._viewMatrix=new a,this._invViewMatrix=new a,u(this),this._context=t},d=new e;return r(h.prototype,{inverseTransform:{get:function(){return c(this),this._invTransform}},viewMatrix:{get:function(){return c(this),this._viewMatrix}},inverseViewMatrix:{get:function(){return c(this),this._invViewMatrix}},positionWC:{get:function(){return c(this),this._positionWC}},directionWC:{get:function(){return c(this),this._directionWC}},upWC:{get:function(){return c(this),this._upWC}},rightWC:{get:function(){return c(this),this._rightWC}}}),h.prototype.clone=function(){var t=new h(this._context);return t.position=e.clone(this.position),t.direction=e.clone(this.direction),t.up=e.clone(this.up),t.right=e.clone(this.right),t.transform=a.clone(this.transform),t.frustum=this.frustum.clone(),t},h.prototype.worldToCameraCoordinates=function(e,t){return a.multiplyByVector(this.inverseTransform,e,t)},h.prototype.cameraToWorldCoordinates=function(e,t){return a.multiplyByVector(this.transform,e,t)},h}),r("Scene/CameraEventType",["../Core/Enumeration"],function(e){"use strict";var t={LEFT_DRAG:new e(0,"LEFT_DRAG"),RIGHT_DRAG:new e(1,"RIGHT_DRAG"),MIDDLE_DRAG:new e(2,"MIDDLE_DRAG"),WHEEL:new e(3,"WHEEL"),PINCH:new e(4,"PINCH")};return t}),r("Scene/CameraEventAggregator",["../Core/Cartesian2","../Core/defined","../Core/destroyObject","../Core/DeveloperError","../Core/Math","../Core/ScreenSpaceEventHandler","../Core/ScreenSpaceEventType","../Core/KeyboardEventModifier","./CameraEventType"],function(e,t,r,i,n,o,a,s,l){"use strict";function u(e,r){var i=e.name;return t(r)&&(i+="+"+r.name),i}function c(t,r){e.clone(t.distance.startPosition,r.distance.startPosition),e.clone(t.distance.endPosition,r.distance.endPosition),e.clone(t.angleAndHeight.startPosition,r.angleAndHeight.startPosition),e.clone(t.angleAndHeight.endPosition,r.angleAndHeight.endPosition)}function h(r,i,n){var o=u(l.PINCH,i),s=r._update,h=r._isDown,d=r._pressTime,m=r._releaseTime;s[o]=!0,h[o]=!1;var p=r._movement[o];t(p)||(p=r._movement[o]={}),p.distance={startPosition:new e,endPosition:new e},p.angleAndHeight={startPosition:new e,endPosition:new e},p.prevAngle=0,r._eventHandler.setInputAction(function(){r._buttonsDown++,h[o]=!0,d[o]=new Date},a.PINCH_START,i),r._eventHandler.setInputAction(function(){r._buttonsDown=Math.max(r._buttonsDown-1,0),h[o]=!1,m[o]=new Date},a.PINCH_END,i),r._eventHandler.setInputAction(function(t){if(h[o]){s[o]?(c(t,p),s[o]=!1,p.prevAngle=p.angleAndHeight.startPosition.x):(e.clone(t.distance.endPosition,p.distance.endPosition),e.clone(t.angleAndHeight.endPosition,p.angleAndHeight.endPosition));for(var r=p.angleAndHeight.endPosition.x,i=p.prevAngle,a=2*Math.PI;r>=i+Math.PI;)r-=a;for(;r0||e},v.prototype.getButtonPressTime=function(e,t){var r=u(e,t);return this._pressTime[r]},v.prototype.getButtonReleaseTime=function(e,t){var r=u(e,t);return this._releaseTime[r]},v.prototype.reset=function(){for(var e in this._update)this._update.hasOwnProperty(e)&&(this._update[e]=!0)},v.prototype.isDestroyed=function(){return!1},v.prototype.destroy=function(){return this._eventHandler=this._eventHandler&&this._eventHandler.destroy(),r(this)},v}),r("Scene/CameraFlightPath",["../Core/Cartesian2","../Core/Cartesian3","../Core/clone","../Core/defaultValue","../Core/defined","../Core/DeveloperError","../Core/HermiteSpline","../Core/Math","../Core/Matrix3","../Core/Matrix4","../Core/Quaternion","../Core/QuaternionSpline","../Scene/PerspectiveFrustum","../Scene/PerspectiveOffCenterFrustum","../Scene/SceneMode","../ThirdParty/Tween"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f){"use strict";function v(e,r,i){return t.cross(e,r,D),t.cross(D,e,M),P[0]=D.x,P[1]=M.x,P[2]=-e.x,P[3]=D.y,P[4]=M.y,P[5]=-e.y,P[6]=D.z,P[7]=M.z,P[8]=-e.z,c.fromRotationMatrix(P,i)}function g(e,t,r){var i,n,o;if(e instanceof d){var a=Math.tan(.5*e.fovy);return i=e.near,n=e.near*a,o=e.aspectRatio*n,Math.max(t*i/o,r*i/n)}return e instanceof m?(i=e.near,n=e.top,o=e.right,Math.max(t*i/o,r*i/n)):Math.max(t,r)}function _(e,r,i,n,o,u,h){var d,m,p,f=r.maximumRadius,v=e.frustum,_=g(v,f,f),y=t.dot(t.normalize(i),t.normalize(u));if(t.magnitude(i)>_)m=f+.6*(_-f),p=.35;else{var C=t.subtract(i,u);m=t.magnitude(t.add(t.multiplyByScalar(C,.5),u));var S=t.magnitude(t.multiplyByScalar(n,t.dot(C,n))),w=t.magnitude(t.multiplyByScalar(o,t.dot(C,o)));m+=g(v,S,w),p=s.clamp(y+1,.25,.5)}var E,x,b,T,A=t.multiplyByScalar(t.normalize(u),m),P=t.multiplyByScalar(t.normalize(i),m);if(t.magnitude(u)>_&&y>.75)T=t.add(t.multiplyByScalar(t.subtract(i,u),.5),u),d=[i,T,u];else if(t.magnitude(i)>_&&y>0)T=t.add(t.multiplyByScalar(t.subtract(i,A),.5),A),d=[i,T,u];else{d=[i],x=Math.acos(t.dot(t.normalize(P),t.normalize(A))),E=t.cross(A,P),t.equalsEpsilon(E,t.ZERO,s.EPSILON6)&&(E=t.UNIT_Z);for(var D=p*x,M=x-D,I=M;I>0;I-=D)b=l.fromQuaternion(c.fromAxisAngle(E,I)),d.push(l.multiplyByVector(b,A));d.push(u)}for(var O=new Array(d.length),R=h/(d.length-1),L=0;Ld;++d)u=s[d],t.normalize(t.negate(u,I),I),t.normalize(t.cross(I,t.UNIT_Z,O),O),t.cross(O,I,R),l[d]=v(I,R,L);return u=s[c],n(o)&&n(a)?l[c]=v(o,a):(t.normalize(t.negate(u,I),I),t.normalize(t.cross(I,t.UNIT_Z,O),O),t.cross(O,I,R),l[c]=v(I,R,L)),new h({points:l,times:e.times})}function C(e,r,i,n,o){var a=e.camera,s=e.scene2D.projection.ellipsoid,c=u.multiplyByPoint(a.transform,a.position,N),h=u.multiplyByPointAsVector(a.transform,a.direction,B),d=u.multiplyByPointAsVector(a.transform,a.up,z),m=t.cross(h,d,F),p=_(a,s,c,d,m,r,i),f=y(p,h,d,n,o),v=function(e){var r=e.time,i=f.evaluate(r);l.fromQuaternion(i,A),u.clone(a.transform,V),u.clone(u.IDENTITY,a.transform),a.position=p.evaluate(r,a.position),a.right=l.getRow(A,0,a.right),a.up=l.getRow(A,1,a.up),a.direction=t.negate(l.getRow(A,2,a.direction),a.direction),a.controller.setTransform(V)};return v}function S(e,r,i,n,o){var l,u,c=r.maximumRadius,h=e.frustum,d=g(h,Math.PI*c,s.PI_OVER_TWO*c),m=.5;if(i.z>d)u=.6*d;else{var p=t.subtract(i,n);u=g(h,Math.abs(p.y),Math.abs(p.x))}var f=t.clone(n);f.z=u;var v=t.clone(i);v.z=u;var _;if(n.z>d)_=t.add(t.multiplyByScalar(t.subtract(i,n),.5),n),l=[i,_,n];else if(i.z>d)_=t.add(t.multiplyByScalar(t.subtract(i,f),.5),f),l=[i,_,n];else{l=[i];var y=t.subtract(v,f),C=t.magnitude(y);t.normalize(y,y);for(var S=m*C,w=C-S,E=w;E>0;E-=S)l.push(t.add(t.multiplyByScalar(y,E),f));l.push(n)}for(var x=new Array(l.length),b=o/(l.length-1),T=0;Tl;++l)a[l]=G;return a[s]=n(r)&&n(i)?v(r,i):G,new h({points:a,times:t.times})}function E(e,r,i,n,o){var a=e.camera,s=e.scene2D.projection.ellipsoid,c=S(a,s,t.clone(a.position),r,i),h=w(a,c,n,o),d=function(e){var r=e.time,i=h.evaluate(r);l.fromQuaternion(i,A),u.clone(a.transform,V),u.clone(H,a.transform),a.position=c.evaluate(r,a.position),a.right=l.getRow(A,0,a.right),a.up=l.getRow(A,1,a.up),a.direction=t.negate(l.getRow(A,2,a.direction),a.direction),a.controller.setTransform(V)};return d}function x(e,r,i,n,o){var a=e.camera,s=e.scene2D.projection.ellipsoid,u=t.clone(a.position);u.z=a.frustum.right-a.frustum.left;var c=S(a,s,u,r,i),h=w(a,c,t.negate(t.UNIT_Z),o),d=a.position.z,m=function(e){var r=e.time,i=h.evaluate(r);l.fromQuaternion(i,A),a.position=c.evaluate(r);var n=a.position.z;a.position.z=d,a.right=l.getRow(A,0,a.right),a.up=l.getRow(A,1,a.up),a.direction=t.negate(l.getRow(A,2,a.direction),a.direction);var o=a.frustum,s=o.top/o.right,u=.5*(n-(o.right-o.left));o.right+=u,o.left-=u,o.top=s*o.right,o.bottom=-o.top};return m}var b={},T=new t,A=new l,P=new l,D=new t,M=new t,I=new t,O=new t,R=new t,L=new c,N=new t,B=new t,z=new t,F=new t,V=new u,k=t.negate(t.UNIT_Z),U=t.normalize(t.cross(k,t.UNIT_Y)),W=t.cross(U,k),G=v(k,W),H=new u(0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1),j=new t,q=new t,Y=new t;return b.createAnimation=function(r,o){o=i(o,i.EMPTY_OBJECT);var a=o.destination,l=o.direction,u=o.up,c=i(o.duration,3e3),h=r.frameState,d=r.screenSpaceCameraController;d.enableInputs=!1;var m=function(e){var t=function(){"function"==typeof e&&e(),d.enableInputs=!0};return t},v=m(o.onComplete),g=m(o.onCancel),_=o.endReferenceFrame;n(_)&&r.camera.controller.setTransform(_);var y=h.camera.frustum;if(h.mode===p.SCENE2D){if(e.equalsEpsilon(h.camera.position,a,s.EPSILON6)&&s.equalsEpsilon(Math.max(y.right-y.left,y.top-y.bottom),a.z,s.EPSILON6))return{duration:0,onComplete:v,onCancel:g}}else if(t.equalsEpsilon(a,h.camera.position,s.EPSILON6))return{duration:0,onComplete:v,onCancel:g};if(0>=c){var S=function(){var e=a;if(h.mode===p.SCENE3D?(n(o.direction)||n(o.up)?(j=o.direction,q=t.normalize(t.cross(j,o.up,q),q)):(j=t.normalize(t.negate(e,j),j),q=t.normalize(t.cross(j,t.UNIT_Z,q),q)),Y=i(o.up,t.cross(q,j,Y))):(n(o.direction)||n(o.up)?(j=o.direction,q=t.normalize(t.cross(j,o.up,q),q)):(j=t.negate(t.UNIT_Z,j),q=t.normalize(t.cross(j,t.UNIT_Y,q),q)),Y=i(o.up,t.cross(q,j,Y))),t.clone(e,h.camera.position),t.clone(j,h.camera.direction),t.clone(Y,h.camera.up),t.clone(q,h.camera.right),h.mode===p.SCENE2D){var r=h.camera.position.z,s=y.top/y.right,l=.5*(r-(y.right-y.left));y.right+=l,y.left-=l,y.top=s*y.right,y.bottom=-y.top}"function"==typeof v&&v()};return{duration:0,onComplete:S,onCancel:g}}var w;return w=h.mode===p.SCENE3D?C(h,a,c,l,u):h.mode===p.SCENE2D?x(h,a,c,l,u):E(h,a,c,l,u),{duration:c,easingFunction:f.Easing.Sinusoidal.InOut,startValue:{time:0},stopValue:{time:c},onUpdate:w,onComplete:v,onCancel:g}},b.createAnimationCartographic=function(e,t){t=i(t,i.EMPTY_OBJECT);var n=t.destination,a=e.frameState,s=a.scene2D.projection;if(a.mode===p.SCENE3D){var l=s.ellipsoid;l.cartographicToCartesian(n,T)}else{if(a.mode!==p.COLUMBUS_VIEW&&a.mode!==p.SCENE2D)throw new o("frameState.mode cannot be SceneMode.MORPHING");s.project(n,T)}var u=r(t);return u.destination=T,this.createAnimation(e,u)},b.createAnimationExtent=function(e,t){t=i(t,i.EMPTY_OBJECT);var n=t.destination,o=e.frameState,a=r(t),s=o.camera;return s.controller.getExtentCameraCoordinates(n,T),a.destination=T,this.createAnimation(e,a) +},b}),r("Scene/Imagery",["../Core/defined","../Core/destroyObject","./ImageryState"],function(e,t,r){"use strict";var i=function(t,i,n,o,a){if(this.imageryLayer=t,this.x=i,this.y=n,this.level=o,0!==o){var s=0|i/2,l=0|n/2,u=o-1;this.parent=t.getImageryFromCache(s,l,u)}if(this.state=r.UNLOADED,this.imageUrl=void 0,this.image=void 0,this.texture=void 0,this.credits=void 0,this.referenceCount=0,!e(a)&&t.getImageryProvider().ready){var c=t.getImageryProvider().tilingScheme;a=c.tileXYToExtent(i,n,o)}this.extent=a};return i.createPlaceholder=function(e){var t=new i(e,0,0,0);return t.addReference(),t.state=r.PLACEHOLDER,t},i.prototype.addReference=function(){++this.referenceCount},i.prototype.releaseReference=function(){return--this.referenceCount,0===this.referenceCount?(this.imageryLayer.removeImageryFromCache(this),e(this.parent)&&this.parent.releaseReference(),e(this.image)&&e(this.image.destroy)&&this.image.destroy(),e(this.texture)&&e(this.texture.destroy)&&this.texture.destroy(),t(this),0):this.referenceCount},i}),r("Scene/TileImagery",["../Core/defined","./ImageryState"],function(e,t){"use strict";var r=function(e,t){this.readyImagery=void 0,this.loadingImagery=e,this.textureCoordinateExtent=t,this.textureTranslationAndScale=void 0};return r.prototype.freeResources=function(){e(this.readyImagery)&&this.readyImagery.releaseReference(),e(this.loadingImagery)&&this.loadingImagery.releaseReference()},r.prototype.processStateMachine=function(r,i){var n=this.loadingImagery,o=n.imageryLayer;if(n.state===t.UNLOADED&&(n.state=t.TRANSITIONING,o._requestImagery(n)),n.state===t.RECEIVED&&(n.state=t.TRANSITIONING,o._createTexture(i,n)),n.state===t.TEXTURE_LOADED&&(n.state=t.TRANSITIONING,o._reprojectTexture(i,n)),n.state===t.READY)return e(this.readyImagery)&&this.readyImagery.releaseReference(),this.readyImagery=this.loadingImagery,this.loadingImagery=void 0,this.textureTranslationAndScale=o._calculateTextureTranslationAndScale(r,this),!0;for(var a=n.parent,s=!1;e(a)&&a.state!==t.READY;)s=s||a.state!==t.FAILED&&a.state!==t.INVALID,a=a.parent;return this.readyImagery!==a&&(e(this.readyImagery)&&this.readyImagery.releaseReference(),this.readyImagery=a,e(a)&&(a.addReference(),this.textureTranslationAndScale=o._calculateTextureTranslationAndScale(r,this))),s||n.state!==t.FAILED&&n.state!==t.INVALID?!1:!0},r}),r("Scene/TexturePool",["../Core/defined","../Core/destroyObject","../Core/DeveloperError","../Renderer/PixelDatatype","../Renderer/PixelFormat","../Renderer/Texture"],function(e,t,r,i,n,o){"use strict";function a(t,r,i){return e(s)||(s=function(e,t,r){this._texture=e,this._textureTypeKey=t,this._pool=r},Object.keys(o.prototype).forEach(function(e){s.prototype[e]=function(){var t=this._texture;return t[e].apply(t,arguments)}}),s.prototype.destroy=function(){var t=this._pool._free[this._textureTypeKey];e(t)||(t=this._pool._free[this._textureTypeKey]=[]),t.length>=8?this._texture.destroy():t.push(this)}),new s(t,r,i)}var s,l=function(){this._free={}};return l.prototype.createTexture2D=function(t,r){var o=r.source,s=e(o)?o.width:r.width,l=e(o)?o.height:r.height,u=r.pixelFormat||n.RGBA,c=r.pixelDatatype||i.UNSIGNED_BYTE,h=+(r.preMultiplyAlpha||u===n.RGB||u===n.LUMINANCE),d=JSON.stringify([s,l,u,c,h]),m=this._free[d];if(e(m)&&m.length>0){var p=m.pop();return e(o)&&p.copyFrom(o),p}return a(t.createTexture2D(r),d,this)},l.prototype.isDestroyed=function(){return!1},l.prototype.destroy=function(){var e=this._free;return Object.keys(e).forEach(function(t){e[t].forEach(function(e){e._texture.destroy()})}),t(this)},l}),r("Shaders/ReprojectWebMercatorFS",[],function(){"use strict";return"uniform sampler2D u_texture;\nvarying vec2 v_textureCoordinates;\nvoid main()\n{\ngl_FragColor = texture2D(u_texture, v_textureCoordinates);\n}\n"}),r("Shaders/ReprojectWebMercatorVS",[],function(){"use strict";return"attribute vec4 position;\nuniform vec2 u_textureDimensions;\nuniform float u_northLatitude;\nuniform float u_southLatitude;\nuniform float u_southMercatorYHigh;\nuniform float u_southMercatorYLow;\nuniform float u_oneOverMercatorHeight;\nvarying vec2 v_textureCoordinates;\nvoid main()\n{\nfloat currentLatitude = mix(u_southLatitude, u_northLatitude, position.y);\nfloat fraction = czm_latitudeToWebMercatorFraction(currentLatitude, u_southMercatorYLow, u_southMercatorYHigh, u_oneOverMercatorHeight);\nv_textureCoordinates = vec2(position.x, fraction);\ngl_Position = czm_viewportOrthographic * (position * vec4(u_textureDimensions, 1.0, 1.0));\n}\n"}),r("Scene/ImageryLayer",["../Core/defaultValue","../Core/defined","../Core/destroyObject","../Core/BoundingRectangle","../Core/ComponentDatatype","../Core/Cartesian2","../Core/Cartesian4","../Core/Color","../Core/Extent","../Core/FeatureDetection","../Core/Math","../Core/PrimitiveType","../Core/Geometry","../Core/GeometryAttribute","../Renderer/BufferUsage","../Renderer/MipmapHint","../Renderer/TextureMagnificationFilter","../Renderer/TextureMinificationFilter","../Renderer/TextureWrap","../Renderer/ClearCommand","./GeographicTilingScheme","./Imagery","./TileProviderError","./ImageryState","./TileImagery","./TerrainProvider","./TexturePool","../ThirdParty/when","../Shaders/ReprojectWebMercatorFS","../Shaders/ReprojectWebMercatorVS"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f,v,g,_,y,C,S,w,E,x,b,T,A,P,D){"use strict";function M(e,t,r){return JSON.stringify([e,t,r])}function I(r,o,a,l){var u=o.cache.imageryLayer_reproject;if(!t(u)){u=o.cache.imageryLayer_reproject={framebuffer:void 0,vertexArray:void 0,shaderProgram:void 0,renderState:void 0,sampler:void 0,destroy:function(){t(this.framebuffer)&&this.framebuffer.destroy(),t(this.vertexArray)&&this.vertexArray.destroy(),t(this.shaderProgram)&&this.shaderProgram.release()}};for(var c=new Array(131072),C=0,S=0;256>S;++S)for(var w=S/255,E=0;256>E;++E){var x=E/255;c[C++]=x,c[C++]=w}var T=new d({attributes:{position:new m({componentDatatype:n.FLOAT,componentsPerAttribute:2,values:c})},indices:b.getRegularGridIndices(256,256),primitiveType:h.TRIANGLES}),A={position:0};u.vertexArray=o.createVertexArrayFromGeometry({geometry:T,attributeLocations:A,bufferUsage:p.STATIC_DRAW}),u.shaderProgram=o.getShaderCache().getShaderProgram(D,P,A);var M=o.getMaximumTextureFilterAnisotropy();u.sampler=o.createSampler({wrapS:_.CLAMP_TO_EDGE,wrapT:_.CLAMP_TO_EDGE,minificationFilter:g.LINEAR,magnificationFilter:v.LINEAR,maximumAnisotropy:Math.min(M,e(r._maximumAnisotropy,M))})}a.setSampler(u.sampler);var I=a.getWidth(),O=a.getHeight();L.textureDimensions.x=I,L.textureDimensions.y=O,L.texture=a,L.northLatitude=l.north,L.southLatitude=l.south;var R=Math.sin(l.south),B=.5*Math.log((1+R)/(1-R));N[0]=B,L.southMercatorYHigh=N[0],L.southMercatorYLow=B-N[0],R=Math.sin(l.north);var z=.5*Math.log((1+R)/(1-R));L.oneOverMercatorHeight=1/(z-B);var F=r._texturePool.createTexture2D(o,{width:I,height:O,pixelFormat:a.getPixelFormat(),pixelDatatype:a.getPixelDatatype(),preMultiplyAlpha:a.getPreMultiplyAlpha()});F.generateMipmap(f.NICEST),t(u.framebuffer)&&u.framebuffer.destroy(),u.framebuffer=o.createFramebuffer({colorTextures:[F]}),u.framebuffer.destroyAttachments=!1;var V=new y;return V.color=s.BLACK,V.framebuffer=u.framebuffer,V.execute(o),t(u.renderState)&&u.renderState.viewport.width===I&&u.renderState.viewport.height===O||(u.renderState=o.createRenderState({viewport:new i(0,0,I,O)})),o.draw({framebuffer:u.framebuffer,shaderProgram:u.shaderProgram,renderState:u.renderState,primitiveType:h.TRIANGLES,vertexArray:u.vertexArray,uniformMap:L}),F}function O(e,t,r){var i=e._imageryProvider,n=i.tilingScheme,o=n.ellipsoid,a=e._imageryProvider.tilingScheme instanceof C?1:Math.cos(r),s=n.extent,l=o.maximumRadius*(s.east-s.west)*a/(i.tileWidth*n.getNumberOfXTilesAtLevel(0)),u=l/t,c=Math.log(u)/Math.log(2),h=Math.round(c);return 0|h}var R=function B(t,r){this._imageryProvider=t,r=e(r,{}),this.alpha=e(r.alpha,e(t.defaultAlpha,1)),this.brightness=e(r.brightness,e(t.defaultBrightness,B.DEFAULT_BRIGHTNESS)),this.contrast=e(r.contrast,e(t.defaultContrast,B.DEFAULT_CONTRAST)),this.hue=e(r.hue,e(t.defaultHue,B.DEFAULT_HUE)),this.saturation=e(r.saturation,e(t.defaultSaturation,B.DEFAULT_SATURATION)),this.gamma=e(r.gamma,e(t.defaultGamma,B.DEFAULT_GAMMA)),this.show=e(r.show,!0),this._minimumTerrainLevel=r.minimumTerrainLevel,this._maximumTerrainLevel=r.maximumTerrainLevel,this._extent=e(r.extent,l.MAX_VALUE),this._maximumAnisotropy=r.maximumAnisotropy,this._imageryCache={},this._texturePool=new T,this._skeletonPlaceholder=new x(S.createPlaceholder(this)),this._show=!1,this._layerIndex=-1,this._isBaseLayer=!1,this._requestImageError=void 0};R.DEFAULT_BRIGHTNESS=1,R.DEFAULT_CONTRAST=1,R.DEFAULT_HUE=0,R.DEFAULT_SATURATION=1,R.DEFAULT_GAMMA=1,R.prototype.getImageryProvider=function(){return this._imageryProvider},R.prototype.getExtent=function(){return this._extent},R.prototype.isBaseLayer=function(){return this._isBaseLayer},R.prototype.isDestroyed=function(){return!1},R.prototype.destroy=function(){return this._texturePool=this._texturePool&&this._texturePool.destroy(),r(this)},R.prototype._createTileImagerySkeletons=function(e,r,i){if(t(this._minimumTerrainLevel)&&e.levelthis._maximumTerrainLevel)return!1;var n=this._imageryProvider;if(t(i)||(i=e.imagery.length),!n.ready)return this._skeletonPlaceholder.loadingImagery.addReference(),e.imagery.splice(i,0,this._skeletonPlaceholder),!0;var o=e.extent.intersectWith(n.extent);if(o=o.intersectWith(this._extent),o.east<=o.west||o.north<=o.south){if(!this.isBaseLayer())return!1;var s=n.extent.intersectWith(this._extent),l=e.extent;l.south>=s.north?o.north=o.south=s.north:l.north<=s.south&&(o.north=o.south=s.south),l.west>=s.east?o.west=o.east=s.east:l.east<=s.west&&(o.west=o.east=s.west)}var u=0;o.south>0?u=o.south:o.north<0&&(u=o.north);var c=1,h=c*r.getLevelMaximumGeometricError(e.level),d=O(this,h,u);d=Math.max(0,d);var m=n.maximumLevel;if(d>m&&(d=m),t(n.minimumLevel)){var p=n.minimumLevel;p>d&&(d=p)}var f=n.tilingScheme,v=f.positionToTileXY(o.getNorthwest(),d),g=f.positionToTileXY(o.getSoutheast(),d),_=(e.extent.north-e.extent.south)/512,y=(e.extent.east-e.extent.west)/512,C=f.tileXYToExtent(v.x,v.y,d);Math.abs(C.south-e.extent.north)v.y&&--g.y,Math.abs(S.west-e.extent.east)<_&&g.x>v.x&&--g.x;var w,E,b=e.extent,T=f.tileXYToExtent(v.x,v.y,d),A=0,P=1;!this.isBaseLayer()&&Math.abs(T.west-e.extent.west)>=_&&(A=Math.min(1,(T.west-b.west)/(b.east-b.west))),!this.isBaseLayer()&&Math.abs(T.north-e.extent.north)>=y&&(P=Math.max(0,(T.north-b.south)/(b.north-b.south)));for(var D=P,M=v.x;M<=g.x;M++){w=A,T=f.tileXYToExtent(M,v.y,d),A=Math.min(1,(T.east-b.west)/(b.east-b.west)),M===g.x&&(this.isBaseLayer()||Math.abs(T.east-e.extent.east)<_)&&(A=1),P=D;for(var I=v.y;I<=g.y;I++){E=P,T=f.tileXYToExtent(M,I,d),P=Math.max(0,(T.south-b.south)/(b.north-b.south)),I===g.y&&(this.isBaseLayer()||Math.abs(T.south-e.extent.south)1e-5){var a=I(this,r,n,i.extent);n.destroy(),i.texture=n=a}if(c.isPowerOfTwo(n.getWidth())&&c.isPowerOfTwo(n.getHeight())){var s=r.cache.imageryLayer_mipmapSampler;if(!t(s)){var l=r.getMaximumTextureFilterAnisotropy();s=r.cache.imageryLayer_mipmapSampler=r.createSampler({wrapS:_.CLAMP_TO_EDGE,wrapT:_.CLAMP_TO_EDGE,minificationFilter:g.LINEAR_MIPMAP_LINEAR,magnificationFilter:v.LINEAR,maximumAnisotropy:Math.min(l,e(this._maximumAnisotropy,l))})}n.generateMipmap(f.NICEST),n.setSampler(s)}else{var u=r.cache.imageryLayer_nonMipmapSampler;t(u)||(u=r.cache.imageryLayer_nonMipmapSampler=r.createSampler({wrapS:_.CLAMP_TO_EDGE,wrapT:_.CLAMP_TO_EDGE,minificationFilter:g.LINEAR,magnificationFilter:v.LINEAR})),n.setSampler(u)}i.state=E.READY},R.prototype.getImageryFromCache=function(e,r,i,n){var o=M(e,r,i),a=this._imageryCache[o];return t(a)||(a=new S(this,e,r,i,n),this._imageryCache[o]=a),a.addReference(),a},R.prototype.removeImageryFromCache=function(e){var t=M(e.x,e.y,e.level);delete this._imageryCache[t]};var L={u_textureDimensions:function(){return this.textureDimensions},u_texture:function(){return this.texture},u_northLatitude:function(){return this.northLatitude},u_southLatitude:function(){return this.southLatitude},u_southMercatorYLow:function(){return this.southMercatorYLow},u_southMercatorYHigh:function(){return this.southMercatorYHigh},u_oneOverMercatorHeight:function(){return this.oneOverMercatorHeight},textureDimensions:new o,texture:void 0,northLatitude:0,southLatitude:0,southMercatorYHigh:0,southMercatorYLow:0,oneOverMercatorHeight:0},N=u.supportsTypedArrays()?new Float32Array(1):void 0;return R}),r("Scene/TileReplacementQueue",["../Core/defined","./ImageryState","./TerrainState"],function(e,t,r){"use strict";function i(e,t){var r=t.replacementPrevious,i=t.replacementNext;t===e._lastBeforeStartOfFrame&&(e._lastBeforeStartOfFrame=i),t===e.head?e.head=i:r.replacementNext=i,t===e.tail?e.tail=r:i.replacementPrevious=r,t.replacementPrevious=void 0,t.replacementNext=void 0,--e.count}var n=function(){this.head=void 0,this.tail=void 0,this.count=0,this._lastBeforeStartOfFrame=void 0};return n.prototype.markStartOfRenderFrame=function(){this._lastBeforeStartOfFrame=this.head},n.prototype.trimTiles=function(n){for(var o=this.tail,a=!0;a&&e(this._lastBeforeStartOfFrame)&&this.count>n&&e(o);){a=o!==this._lastBeforeStartOfFrame;for(var s=o.replacementPrevious,l=o.loadedTerrain,u=e(l)&&(l.state===r.RECEIVING||l.state===r.TRANSFORMING),c=o.upsampledTerrain,h=e(c)&&(c.state===r.RECEIVING||c.state===r.TRANSFORMING),d=!u&&!h,m=o.imagery,p=0,f=m.length;d&&f>p;++p){var v=m[p];d=!e(v.loadingImagery)||v.loadingImagery.state!==t.TRANSITIONING}d&&(o.freeResources(),i(this,o)),o=s}},n.prototype.markTileRendered=function(t){var r=this.head;return r===t?(t===this._lastBeforeStartOfFrame&&(this._lastBeforeStartOfFrame=t.replacementNext),void 0):(++this.count,e(r)?((e(t.replacementPrevious)||e(t.replacementNext))&&i(this,t),t.replacementPrevious=void 0,t.replacementNext=r,r.replacementPrevious=t,this.head=t,void 0):(t.replacementPrevious=void 0,t.replacementNext=void 0,this.head=t,this.tail=t,void 0))},n}),r("Scene/CentralBodySurface",["../Core/BoundingSphere","../Core/Cartesian2","../Core/Cartesian3","../Core/Cartesian4","../Core/Cartographic","../Core/defined","../Core/destroyObject","../Core/DeveloperError","../Core/EllipsoidalOccluder","../Core/FeatureDetection","../Core/getTimestamp","../Core/Intersect","../Core/Matrix4","../Core/PrimitiveType","../Core/Queue","../Core/WebMercatorProjection","../Renderer/DrawCommand","../Renderer/Pass","./ImageryLayer","./ImageryState","./SceneMode","./TerrainProvider","./TileReplacementQueue","./TileState","../ThirdParty/when"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f,v,g,_,y,C,S,w,E,x){"use strict";function b(e,t){var r=e.loadingImagery;o(r)||(r=e.readyImagery);var i=t.loadingImagery;return o(i)||(i=t.readyImagery),r.imageryLayer._layerIndex-i.imageryLayer._layerIndex}function T(e){if(e._imageryLayerCollection._update(),e._layerOrderChanged){e._layerOrderChanged=!1;for(var t=e._tileReplacementQueue.head;o(t);)t.imagery.sort(b),t=t.replacementNext}}function A(e,t,r){var i=e._debug;if(!i.suspendLodUpdate){var n,a,s=e._tilesToRenderByTextureCount;for(n=0,a=s.length;a>n;++n){var l=s[n];o(l)&&(l.length=0)}var u=e._tileTraversalQueue;if(u.clear(),i.maxDepth=0,i.tilesVisited=0,i.tilesCulled=0,i.tilesRendered=0,i.texturesRendered=0,i.tilesWaitingForChildren=0,e._tileLoadQueue.length=0,e._tileReplacementQueue.markStartOfRenderFrame(),!o(e._levelZeroTiles)){if(!e._terrainProvider.ready)return;var c=e._terrainProvider.tilingScheme;e._levelZeroTiles=c.createLevelZeroTiles()}var h=r.camera.positionWC,d=e._terrainProvider.tilingScheme.ellipsoid,m=d.cartesianToCartographic(h,G);e._ellipsoidalOccluder.cameraPosition=h;var p,f=e._levelZeroTiles;for(n=0,a=f.length;a>n;++n)p=f[n],e._tileReplacementQueue.markTileRendered(p),p.state!==E.READY&&L(e,p),p.isRenderable&&I(e,r,p)?u.enqueue(p):(++i.tilesCulled,p.isRenderable||++i.tilesWaitingForChildren);for(;o(p=u.dequeue());)if(++i.tilesVisited,e._tileReplacementQueue.markTileRendered(p),p.level>i.maxDepth&&(i.maxDepth=p.level),P(e,t,r,h,m,p)n;++n)I(e,r,v[n])?u.enqueue(v[n]):++i.tilesCulled}else++i.tilesWaitingForChildren,M(e,p);i.enableDebugOutput&&(i.tilesVisited!==i.lastTilesVisited||i.tilesRendered!==i.lastTilesRendered||i.texturesRendered!==i.lastTexturesRendered||i.tilesCulled!==i.lastTilesCulled||i.maxDepth!==i.lastMaxDepth||i.tilesWaitingForChildren!==i.lastTilesWaitingForChildren)&&(console.log("Visited "+i.tilesVisited+", Rendered: "+i.tilesRendered+", Textures: "+i.texturesRendered+", Culled: "+i.tilesCulled+", Max Depth: "+i.maxDepth+", Waiting for children: "+i.tilesWaitingForChildren),i.lastTilesVisited=i.tilesVisited,i.lastTilesRendered=i.tilesRendered,i.lastTexturesRendered=i.texturesRendered,i.lastTilesCulled=i.tilesCulled,i.lastMaxDepth=i.maxDepth,i.lastTilesWaitingForChildren=i.tilesWaitingForChildren)}}function P(e,t,r,i,n,o){if(r.mode===C.SCENE2D)return D(e,t,r,i,n,o);var a=e._terrainProvider.getLevelMaximumGeometricError(o.level),s=Math.sqrt(O(r,i,n,o));o.distance=s;var l=t.getDrawingBufferHeight(),u=r.camera,c=u.frustum,h=c.fovy;return a*l/(2*s*Math.tan(.5*h))}function D(e,t,r,i,n,o){var a=r.camera,s=a.frustum,l=t.getDrawingBufferWidth(),u=t.getDrawingBufferHeight(),c=e._terrainProvider.getLevelMaximumGeometricError(o.level),h=Math.max(s.top-s.bottom,s.right-s.left)/Math.max(l,u);return c/h}function M(e,t){for(var r=0,i=t.imagery,n=0,a=i.length;a>n;++n){var s=i[n];o(s.readyImagery)&&0!==s.readyImagery.imageryLayer.alpha&&++r}var l=e._tilesToRenderByTextureCount[r];o(l)||(l=[],e._tilesToRenderByTextureCount[r]=l),l.push(t);var u=e._debug;++u.tilesRendered,u.texturesRendered+=r}function I(t,i,n){var a=i.cullingVolume,s=n.boundingSphere3D;if(i.mode!==C.SCENE3D&&(s=H,e.fromExtentWithHeights2D(n.extent,i.scene2D.projection,n.minimumHeight,n.maximumHeight,s),r.fromElements(s.center.z,s.center.x,s.center.y,s.center),i.mode===C.MORPHING&&(s=e.union(n.boundingSphere3D,s,s))),a.getVisibility(s)===h.OUTSIDE)return!1;if(i.mode===C.SCENE3D){var l=n.occludeePointInScaledSpace;return o(l)?t._ellipsoidalOccluder.isScaledSpacePointVisible(l):!0}return!0}function O(e,t,i,n){var o=n.southwestCornerCartesian,a=n.northeastCornerCartesian,s=n.westNormal,l=n.southNormal,u=n.eastNormal,c=n.northNormal,h=n.maximumHeight;e.mode!==C.SCENE3D&&(o=e.scene2D.projection.project(n.extent.getSouthwest(),j),o.z=o.y,o.y=o.x,o.x=0,a=e.scene2D.projection.project(n.extent.getNortheast(),q),a.z=a.y,a.y=a.x,a.x=0,s=Y,u=r.UNIT_Y,l=X,c=r.UNIT_Z,h=0);var d,m=r.subtract(t,o,Z),p=r.dot(m,s),f=r.dot(m,l),v=r.subtract(t,a,Z),g=r.dot(v,u),_=r.dot(v,c);d=e.mode===C.SCENE3D?i.height:t.x;var y=d-h,S=0;return p>0?S+=p*p:g>0&&(S+=g*g),f>0?S+=f*f:_>0&&(S+=_*_),y>0&&(S+=y*y),S}function R(e,t,r){for(var i=!0,n=r.getChildren(),o=0,a=n.length;a>o;++o){var s=n[o];e._tileReplacementQueue.markTileRendered(s),s.state!==E.READY&&L(e,s),s.isRenderable||(i=!1)}return i}function L(e,t){e._tileLoadQueue.push(t)}function N(e,t){var r=e._tileLoadQueue,i=e._terrainProvider,n=e._imageryLayerCollection;if(0!==r.length){e._tileReplacementQueue.trimTiles(e._tileCacheSize);for(var o=c(),a=e._loadQueueTimeSlice,s=o+a,l=r.length-1,u=l;u>=0;--u){var h=r[u];if(e._tileReplacementQueue.markTileRendered(h),h.processStateMachine(t,i,n),c()>=s)break}}}function B(e,t){return e.distance-t.distance}function z(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])}function F(e){var n={u_center3D:function(){return this.center3D},u_tileExtent:function(){return this.tileExtent},u_modifiedModelView:function(){return this.modifiedModelView},u_dayTextures:function(){return this.dayTextures},u_dayTextureTranslationAndScale:function(){return this.dayTextureTranslationAndScale},u_dayTextureTexCoordsExtent:function(){return this.dayTextureTexCoordsExtent},u_dayTextureAlpha:function(){return this.dayTextureAlpha},u_dayTextureBrightness:function(){return this.dayTextureBrightness},u_dayTextureContrast:function(){return this.dayTextureContrast},u_dayTextureHue:function(){return this.dayTextureHue},u_dayTextureSaturation:function(){return this.dayTextureSaturation},u_dayTextureOneOverGamma:function(){return this.dayTextureOneOverGamma},u_dayIntensity:function(){return this.dayIntensity},u_southAndNorthLatitude:function(){return this.southAndNorthLatitude},u_southMercatorYLowAndHighAndOneOverHeight:function(){return this.southMercatorYLowAndHighAndOneOverHeight},u_waterMask:function(){return this.waterMask},u_waterMaskTranslationAndScale:function(){return this.waterMaskTranslationAndScale},center3D:void 0,modifiedModelView:new d,tileExtent:new i,dayTextures:[],dayTextureTranslationAndScale:[],dayTextureTexCoordsExtent:[],dayTextureAlpha:[],dayTextureBrightness:[],dayTextureContrast:[],dayTextureHue:[],dayTextureSaturation:[],dayTextureOneOverGamma:[],dayIntensity:0,southAndNorthLatitude:new t,southMercatorYLowAndHighAndOneOverHeight:new r,waterMask:void 0,waterMaskTranslationAndScale:new i};return z(n,e),n}function V(t,n,a,s,l,u,c,h){U(t,a);for(var p=a.camera.viewMatrix,S=n.getMaximumTextureImageUnits(),w=t._tileCommands,E=t._tileCommandUniformMaps,x=-1,b=t._tilesToRenderByTextureCount,T=0,A=b.length;A>T;++T){var P=b[T];if(o(P)&&0!==P.length){P.sort(B);for(var D=0,M=P.length;M>D;D++){var I=P[D],O=I.center,R=K,L=0,N=0,z=0,V=0,W=0;if(a.mode!==C.SCENE3D){var G=l.project(I.extent.getSouthwest(),tt),H=l.project(I.extent.getNortheast(),rt);if(R.x=G.x,R.y=G.y,R.z=H.x,R.w=H.y,a.mode!==C.MORPHING&&(O=$,O.x=0,O.y=.5*(R.z+R.x),O.z=.5*(R.w+R.y),R.x-=O.y,R.y-=O.z,R.z-=O.y,R.w-=O.z),l instanceof f){L=I.extent.south,N=I.extent.north;var j=f.geodeticLatitudeToMercatorAngle(L),q=f.geodeticLatitudeToMercatorAngle(N);J[0]=j,z=J[0],V=j-J[0],W=1/(q-j)}}var Y=et;Y.x=O.x,Y.y=O.y,Y.z=O.z,Y.w=1,d.multiplyByVector(p,Y,Y),d.setColumn(p,3,Y,Q);var X=I.imagery,Z=0,it=X.length;do{var nt=0;++x;var ot=w[x];o(ot)||(ot=new v,ot.owner=I,ot.cull=!1,ot.boundingVolume=new e,w[x]=ot,E[x]=F(u)),ot.owner=I,ot.debugShowBoundingVolume=I===t._debug.boundingSphereTile;var at=E[x];at.center3D=I.center,i.clone(R,at.tileExtent),at.southAndNorthLatitude.x=L,at.southAndNorthLatitude.y=N,at.southMercatorYLowAndHighAndOneOverHeight.x=V,at.southMercatorYLowAndHighAndOneOverHeight.y=z,at.southMercatorYLowAndHighAndOneOverHeight.z=W,d.clone(Q,at.modifiedModelView);for(var st=!1,lt=!1,ut=!1,ct=!1,ht=!1,dt=!1;S>nt&&it>Z;){var mt=X[Z],pt=mt.readyImagery;if(++Z,o(pt)&&pt.state===y.READY&&0!==pt.imageryLayer.alpha){var ft=pt.imageryLayer;if(o(mt.textureTranslationAndScale)||(mt.textureTranslationAndScale=ft._calculateTextureTranslationAndScale(I,mt)),at.dayTextures[nt]=pt.texture,at.dayTextureTranslationAndScale[nt]=mt.textureTranslationAndScale,at.dayTextureTexCoordsExtent[nt]=mt.textureCoordinateExtent,at.dayTextureAlpha[nt]="function"==typeof ft.alpha?ft.alpha(a,ft,pt.x,pt.y,pt.level):ft.alpha,dt=dt||1!==at.dayTextureAlpha[nt],at.dayTextureBrightness[nt]="function"==typeof ft.brightness?ft.brightness(a,ft,pt.x,pt.y,pt.level):ft.brightness,st=st||at.dayTextureBrightness[nt]!==_.DEFAULT_BRIGHTNESS,at.dayTextureContrast[nt]="function"==typeof ft.contrast?ft.contrast(a,ft,pt.x,pt.y,pt.level):ft.contrast,lt=lt||at.dayTextureContrast[nt]!==_.DEFAULT_CONTRAST,at.dayTextureHue[nt]="function"==typeof ft.hue?ft.hue(a,ft,pt.x,pt.y,pt.level):ft.hue,ut=ut||at.dayTextureHue[nt]!==_.DEFAULT_HUE,at.dayTextureSaturation[nt]="function"==typeof ft.saturation?ft.saturation(a,ft,pt.x,pt.y,pt.level):ft.saturation,ct=ct||at.dayTextureSaturation[nt]!==_.DEFAULT_SATURATION,at.dayTextureOneOverGamma[nt]="function"==typeof ft.gamma?1/ft.gamma(a,ft,pt.x,pt.y,pt.level):1/ft.gamma,ht=ht||at.dayTextureOneOverGamma[nt]!==1/_.DEFAULT_GAMMA,o(pt.credits))for(var vt=a.creditDisplay,gt=pt.credits,_t=0,yt=gt.length;yt>_t;++_t)vt.addCredit(gt[_t]);++nt}}at.dayTextures.length=nt,at.waterMask=I.waterMaskTexture,i.clone(I.waterMaskTranslationAndScale,at.waterMaskTranslationAndScale),c.push(ot),ot.shaderProgram=s.getShaderProgram(n,T,st,lt,ut,ct,ht,dt),ot.renderState=h,ot.primitiveType=m.TRIANGLES,ot.vertexArray=I.vertexArray,ot.uniformMap=at,ot.pass=g.OPAQUE,t._debug.wireframe&&(k(n,t,I),o(I.wireframeVertexArray)&&(ot.vertexArray=I.wireframeVertexArray,ot.primitiveType=m.LINES));var Ct=ot.boundingVolume;a.mode!==C.SCENE3D?(e.fromExtentWithHeights2D(I.extent,a.scene2D.projection,I.minimumHeight,I.maximumHeight,Ct),r.fromElements(Ct.center.z,Ct.center.x,Ct.center.y,Ct.center),a.mode===C.MORPHING&&(Ct=e.union(I.boundingSphere3D,Ct,Ct))):e.clone(I.boundingSphere3D,Ct)}while(it>Z)}}}w.length=Math.max(0,x+1)}function k(e,t,r){if(!o(r.wireframeVertexArray)&&!o(r.meshForWireframePromise)&&(r.meshForWireframePromise=r.terrainData.createMesh(t._terrainProvider.tilingScheme,r.x,r.y,r.level),o(r.meshForWireframePromise))){var i=r.vertexArray;x(r.meshForWireframePromise,function(t){r.vertexArray===i&&(r.wireframeVertexArray=S.createWireframeVertexArray(e,r.vertexArray,t)),r.meshForWireframePromise=void 0})}}function U(e,t){var r,i=t.creditDisplay;e._terrainProvider.ready&&(r=e._terrainProvider.credit,o(r)&&i.addCredit(r));for(var n=e._imageryLayerCollection,a=0,s=n.length;s>a;++a){var l=n.get(a);l.show&&l.getImageryProvider().ready&&(r=l.getImageryProvider().credit,o(r)&&i.addCredit(r))}}var W=function(e){this._terrainProvider=e.terrainProvider,this._imageryLayerCollection=e.imageryLayerCollection,this._imageryLayerCollection.layerAdded.addEventListener(W.prototype._onLayerAdded,this),this._imageryLayerCollection.layerRemoved.addEventListener(W.prototype._onLayerRemoved,this),this._imageryLayerCollection.layerMoved.addEventListener(W.prototype._onLayerMoved,this),this._imageryLayerCollection.layerShownOrHidden.addEventListener(W.prototype._onLayerShownOrHidden,this),this._layerOrderChanged=!1;var t=this._terrainProvider.tilingScheme;this._levelZeroTiles=void 0,this._tilesToRenderByTextureCount=[],this._tileCommands=[],this._tileCommandUniformMaps=[],this._tileTraversalQueue=new p,this._tileLoadQueue=[],this._tileReplacementQueue=new w,this._maximumScreenSpaceError=2,this._tileCacheSize=100,this._loadQueueTimeSlice=5;var i=t.ellipsoid;this._ellipsoidalOccluder=new l(i,r.ZERO),this._debug={enableDebugOutput:!1,wireframe:!1,boundingSphereTile:void 0,maxDepth:0,tilesVisited:0,tilesCulled:0,tilesRendered:0,texturesRendered:0,tilesWaitingForChildren:0,lastMaxDepth:-1,lastTilesVisited:-1,lastTilesCulled:-1,lastTilesRendered:-1,lastTexturesRendered:-1,lastTilesWaitingForChildren:-1,suspendLodUpdate:!1}};W.prototype.update=function(e,t,r,i,n,o,a){T(this),A(this,e,t),N(this,e,t),V(this,e,t,n,a,i,r,o)},W.prototype.getTerrainProvider=function(){return this._terrainProvider},W.prototype.setTerrainProvider=function(e){if(this._terrainProvider!==e){this._terrainProvider=e;var t=this._tileReplacementQueue;t.head=void 0,t.tail=void 0,t.count=0;var r=this._levelZeroTiles;if(o(r))for(var i=0;ia;++a){var l=r[a],u=l.loadingImagery;if(o(u)||(u=l.readyImagery),u.imageryLayer===e)-1===i&&(i=a),l.freeResources(),++n;else if(-1!==i)break}-1!==i&&r.splice(i,n),e.isBaseLayer()&&(t.isRenderable=!1),t=t.replacementNext}},W.prototype._onLayerMoved=function(){o(this._levelZeroTiles)&&(this._layerOrderChanged=!0)},W.prototype._onLayerShownOrHidden=function(e,t,r){o(this._levelZeroTiles)&&(r?this._onLayerAdded(e,t):this._onLayerRemoved(e,t))},W.prototype.isDestroyed=function(){return!1},W.prototype.destroy=function(){var e=this._levelZeroTiles;if(o(e))for(var t=0;tp;++p)m+="color = sampleAndBlend(\n color,\n u_dayTextures["+p+"],\n"+" textureCoordinates,\n"+" u_dayTextureTexCoordsExtent["+p+"],\n"+" u_dayTextureTranslationAndScale["+p+"],\n"+(u?" u_dayTextureAlpha["+p+"],\n":"1.0,\n")+(n?" u_dayTextureBrightness["+p+"],\n":"0.0,\n")+(o?" u_dayTextureContrast["+p+"],\n":"0.0,\n")+(a?" u_dayTextureHue["+p+"],\n":"0.0,\n")+(s?" u_dayTextureSaturation["+p+"],\n":"0.0,\n")+(l?" u_dayTextureOneOverGamma["+p+"]);\n":"0.0);\n");m+=" return color;\n}",h=t.getShaderCache().getShaderProgram(d,m,this._attributeLocations),this._shaders[c]=h +}return h},r.prototype.destroy=function(){return this.invalidateShaders(),t(this)},r}),r("Scene/EllipsoidTerrainProvider",["../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/Ellipsoid","../Core/Event","./HeightmapTerrainData","./TerrainProvider","./GeographicTilingScheme"],function(e,t,r,i,n,o,a,s){"use strict";var l=function(r){r=e(r,{}),this._tilingScheme=r.tilingScheme,t(this._tilingScheme)||(this._tilingScheme=new s({ellipsoid:e(r.ellipsoid,i.WGS84)})),this._levelZeroMaximumGeometricError=a.getEstimatedLevelZeroGeometricErrorForAHeightmap(this._tilingScheme.ellipsoid,64,this._tilingScheme.getNumberOfXTilesAtLevel(0));var l=16,u=16;this._terrainData=new o({buffer:new Uint8Array(l*u),width:16,height:16}),this._errorEvent=new n};return r(l.prototype,{errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return void 0}},tilingScheme:{get:function(){return this._tilingScheme}},ready:{get:function(){return!0}}}),l.prototype.requestTileGeometry=function(){return this._terrainData},l.prototype.getLevelMaximumGeometricError=function(e){return this._levelZeroMaximumGeometricError/(1<i;i++){var o=r[i];this.layerRemoved.raiseEvent(o,i),e&&o.destroy()}this._layers=[]},c.prototype.contains=function(e){return-1!==this.indexOf(e)},c.prototype.indexOf=function(e){return this._layers.indexOf(e)},c.prototype.get=function(e){return this._layers[e]},c.prototype.raise=function(e){var t=l(this._layers,e);u(this,t,t+1)},c.prototype.lower=function(e){var t=l(this._layers,e);u(this,t,t-1)},c.prototype.raiseToTop=function(e){var t=l(this._layers,e);t!==this._layers.length-1&&(this._layers.splice(t,1),this._layers.push(e),this._update(),this.layerMoved.raiseEvent(e,this._layers.length-1,t))},c.prototype.lowerToBottom=function(e){var t=l(this._layers,e);0!==t&&(this._layers.splice(t,1),this._layers.splice(0,0,e),this._update(),this.layerMoved.raiseEvent(e,0,t))},c.prototype.isDestroyed=function(){return!1},c.prototype.destroy=function(){return this.removeAll(!0),n(this)},c.prototype._update=function(){for(var e,t,i=!0,n=this._layers,o=0,a=n.length;a>o;++o)t=n[o],t._layerIndex=o,t.show?(t._isBaseLayer=i,i=!1):t._isBaseLayer=!1,t.show!==t._show&&(r(t._show)&&(r(e)||(e=[]),e.push(t)),t._show=t.show);if(r(e))for(o=0,a=e.length;a>o;++o)t=e[o],this.layerShownOrHidden.raiseEvent(t,t._layerIndex,t.show)},c}),r("Shaders/CentralBodyFS",[],function(){"use strict";return"#if TEXTURE_UNITS > 0\nuniform sampler2D u_dayTextures[TEXTURE_UNITS];\nuniform vec4 u_dayTextureTranslationAndScale[TEXTURE_UNITS];\n#ifdef APPLY_ALPHA\nuniform float u_dayTextureAlpha[TEXTURE_UNITS];\n#endif\n#ifdef APPLY_BRIGHTNESS\nuniform float u_dayTextureBrightness[TEXTURE_UNITS];\n#endif\n#ifdef APPLY_CONTRAST\nuniform float u_dayTextureContrast[TEXTURE_UNITS];\n#endif\n#ifdef APPLY_HUE\nuniform float u_dayTextureHue[TEXTURE_UNITS];\n#endif\n#ifdef APPLY_SATURATION\nuniform float u_dayTextureSaturation[TEXTURE_UNITS];\n#endif\n#ifdef APPLY_GAMMA\nuniform float u_dayTextureOneOverGamma[TEXTURE_UNITS];\n#endif\nuniform vec4 u_dayTextureTexCoordsExtent[TEXTURE_UNITS];\n#endif\n#ifdef SHOW_REFLECTIVE_OCEAN\nuniform sampler2D u_waterMask;\nuniform vec4 u_waterMaskTranslationAndScale;\nuniform float u_zoomedOutOceanSpecularIntensity;\n#endif\n#ifdef SHOW_OCEAN_WAVES\nuniform sampler2D u_oceanNormalMap;\n#endif\n#ifdef ENABLE_LIGHTING\nuniform vec2 u_lightingFadeDistance;\n#endif\nvarying vec3 v_positionMC;\nvarying vec3 v_positionEC;\nvarying vec2 v_textureCoordinates;\nvec3 sampleAndBlend(\nvec3 previousColor,\nsampler2D texture,\nvec2 tileTextureCoordinates,\nvec4 textureCoordinateExtent,\nvec4 textureCoordinateTranslationAndScale,\nfloat textureAlpha,\nfloat textureBrightness,\nfloat textureContrast,\nfloat textureHue,\nfloat textureSaturation,\nfloat textureOneOverGamma)\n{\nvec2 alphaMultiplier = step(textureCoordinateExtent.st, tileTextureCoordinates);\ntextureAlpha = textureAlpha * alphaMultiplier.x * alphaMultiplier.y;\nalphaMultiplier = step(vec2(0.0), textureCoordinateExtent.pq - tileTextureCoordinates);\ntextureAlpha = textureAlpha * alphaMultiplier.x * alphaMultiplier.y;\nvec2 translation = textureCoordinateTranslationAndScale.xy;\nvec2 scale = textureCoordinateTranslationAndScale.zw;\nvec2 textureCoordinates = tileTextureCoordinates * scale + translation;\nvec4 sample = texture2D(texture, textureCoordinates);\nvec3 color = sample.rgb;\nfloat alpha = sample.a;\n#ifdef APPLY_BRIGHTNESS\ncolor = mix(vec3(0.0), color, textureBrightness);\n#endif\n#ifdef APPLY_CONTRAST\ncolor = mix(vec3(0.5), color, textureContrast);\n#endif\n#ifdef APPLY_HUE\ncolor = czm_hue(color, textureHue);\n#endif\n#ifdef APPLY_SATURATION\ncolor = czm_saturation(color, textureSaturation);\n#endif\n#ifdef APPLY_GAMMA\ncolor = pow(color, vec3(textureOneOverGamma));\n#endif\nreturn mix(previousColor, color, alpha * textureAlpha);\n}\nvec3 computeDayColor(vec3 initialColor, vec2 textureCoordinates);\nvec4 computeWaterColor(vec3 positionEyeCoordinates, vec2 textureCoordinates, mat3 enuToEye, vec3 imageryColor, float specularMapValue);\nvoid main()\n{\nvec3 initialColor = vec3(0.0, 0.0, 0.5);\nvec3 startDayColor = computeDayColor(initialColor, clamp(v_textureCoordinates, 0.0, 1.0));\n#ifdef SHOW_TILE_BOUNDARIES\nif (v_textureCoordinates.x < (1.0/256.0) || v_textureCoordinates.x > (255.0/256.0) ||\nv_textureCoordinates.y < (1.0/256.0) || v_textureCoordinates.y > (255.0/256.0))\n{\nstartDayColor = vec3(1.0, 0.0, 0.0);\n}\n#endif\nvec4 color = vec4(startDayColor, 1.0);\n#if defined(SHOW_REFLECTIVE_OCEAN) || defined(ENABLE_LIGHTING)\nvec3 normalMC = normalize(czm_geodeticSurfaceNormal(v_positionMC, vec3(0.0), vec3(1.0)));\nvec3 normalEC = normalize(czm_normal3D * normalMC);\n#endif\n#ifdef SHOW_REFLECTIVE_OCEAN\nvec2 waterMaskTranslation = u_waterMaskTranslationAndScale.xy;\nvec2 waterMaskScale = u_waterMaskTranslationAndScale.zw;\nvec2 waterMaskTextureCoordinates = v_textureCoordinates * waterMaskScale + waterMaskTranslation;\nfloat mask = texture2D(u_waterMask, waterMaskTextureCoordinates).r;\nif (mask > 0.0)\n{\nmat3 enuToEye = czm_eastNorthUpToEyeCoordinates(v_positionMC, normalEC);\nvec2 ellipsoidTextureCoordinates = czm_ellipsoidWgs84TextureCoordinates(normalMC);\nvec2 ellipsoidFlippedTextureCoordinates = czm_ellipsoidWgs84TextureCoordinates(normalMC.zyx);\nvec2 textureCoordinates = mix(ellipsoidTextureCoordinates, ellipsoidFlippedTextureCoordinates, czm_morphTime * smoothstep(0.9, 0.95, normalMC.z));\ncolor = computeWaterColor(v_positionEC, textureCoordinates, enuToEye, startDayColor, mask);\n}\n#endif\n#ifdef ENABLE_LIGHTING\nfloat diffuseIntensity = clamp(czm_getLambertDiffuse(czm_sunDirectionEC, normalEC) * 5.0 + 0.3, 0.0, 1.0);\nfloat cameraDist = length(czm_view[3]);\nfloat fadeOutDist = u_lightingFadeDistance.x;\nfloat fadeInDist = u_lightingFadeDistance.y;\nfloat t = clamp((cameraDist - fadeOutDist) / (fadeInDist - fadeOutDist), 0.0, 1.0);\ndiffuseIntensity = mix(1.0, diffuseIntensity, t);\ngl_FragColor = vec4(color.rgb * diffuseIntensity, color.a);\n#else\ngl_FragColor = color;\n#endif\n}\n#ifdef SHOW_REFLECTIVE_OCEAN\nfloat waveFade(float edge0, float edge1, float x)\n{\nfloat y = clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0);\nreturn pow(1.0 - y, 5.0);\n}\nconst float oceanFrequency = 125000.0;\nconst float oceanAnimationSpeed = 0.006;\nconst float oceanAmplitude = 2.0;\nconst float oceanSpecularIntensity = 0.5;\nvec4 computeWaterColor(vec3 positionEyeCoordinates, vec2 textureCoordinates, mat3 enuToEye, vec3 imageryColor, float specularMapValue)\n{\nfloat time = czm_frameNumber * oceanAnimationSpeed;\nvec3 positionToEyeEC = -positionEyeCoordinates;\nfloat positionToEyeECLength = length(positionToEyeEC);\nvec3 normalizedpositionToEyeEC = normalize(normalize(positionToEyeEC));\nfloat waveIntensity = waveFade(70000.0, 1000000.0, positionToEyeECLength);\n#ifdef SHOW_OCEAN_WAVES\nvec4 noise = czm_getWaterNoise(u_oceanNormalMap, textureCoordinates * oceanFrequency, time, 0.0);\nvec3 normalTangentSpace = noise.xyz * vec3(1.0, 1.0, (1.0 / oceanAmplitude));\nnormalTangentSpace.xy *= waveIntensity;\nnormalTangentSpace = normalize(normalTangentSpace);\n#else\nvec3 normalTangentSpace = vec3(0.0, 0.0, 1.0);\n#endif\nvec3 normalEC = enuToEye * normalTangentSpace;\nconst vec3 waveHighlightColor = vec3(0.3, 0.45, 0.6);\nfloat diffuseIntensity = czm_getLambertDiffuse(czm_sunDirectionEC, normalEC);\nvec3 diffuseHighlight = waveHighlightColor * diffuseIntensity;\n#ifdef SHOW_OCEAN_WAVES\nfloat tsPerturbationRatio = normalTangentSpace.z;\nvec3 nonDiffuseHighlight = mix(waveHighlightColor * 5.0 * (1.0 - tsPerturbationRatio), vec3(0.0), diffuseIntensity);\n#else\nvec3 nonDiffuseHighlight = vec3(0.0);\n#endif\nfloat specularIntensity = czm_getSpecular(czm_sunDirectionEC, normalizedpositionToEyeEC, normalEC, 10.0) + 0.25 * czm_getSpecular(czm_moonDirectionEC, normalizedpositionToEyeEC, normalEC, 10.0);\nfloat surfaceReflectance = mix(0.0, mix(u_zoomedOutOceanSpecularIntensity, oceanSpecularIntensity, waveIntensity), specularMapValue);\nfloat specular = specularIntensity * surfaceReflectance;\nreturn vec4(imageryColor + diffuseHighlight + nonDiffuseHighlight + specular, 1.0);\n}\n#endif\n"}),r("Shaders/CentralBodyFSDepth",[],function(){"use strict";return"varying vec4 positionEC;\nvoid main()\n{\nczm_ellipsoid ellipsoid = czm_getWgs84EllipsoidEC();\nvec3 direction = normalize(positionEC.xyz);\nczm_ray ray = czm_ray(vec3(0.0), direction);\nczm_raySegment intersection = czm_rayEllipsoidIntersectionInterval(ray, ellipsoid);\nif (!czm_isEmpty(intersection))\n{\ngl_FragColor = vec4(1.0, 1.0, 0.0, 1.0);\n}\nelse\n{\ndiscard;\n}\n}\n"}),r("Shaders/CentralBodyFSPole",[],function(){"use strict";return"uniform vec3 u_color;\nvarying vec2 v_textureCoordinates;\nvoid main()\n{\nczm_ellipsoid ellipsoid = czm_getWgs84EllipsoidEC();\nvec3 direction = normalize(czm_windowToEyeCoordinates(gl_FragCoord).xyz);\nczm_ray ray = czm_ray(vec3(0.0), direction);\nczm_raySegment intersection = czm_rayEllipsoidIntersectionInterval(ray, ellipsoid);\nif (!czm_isEmpty(intersection))\n{\nvec3 positionEC = czm_pointAlongRay(ray, intersection.start);\nvec3 positionMC = (czm_inverseModelView * vec4(positionEC, 1.0)).xyz;\nvec3 normalMC = normalize(czm_geodeticSurfaceNormal(positionMC, vec3(0.0), vec3(1.0)));\nvec3 normalEC = normalize(czm_normal * normalMC);\nvec3 startDayColor = u_color;\ngl_FragColor = vec4(startDayColor, 1.0);\n}\nelse\n{\ndiscard;\n}\n}\n"}),r("Shaders/CentralBodyVS",[],function(){"use strict";return"attribute vec4 position3DAndHeight;\nattribute vec2 textureCoordinates;\nuniform vec3 u_center3D;\nuniform mat4 u_modifiedModelView;\nuniform vec4 u_tileExtent;\nuniform vec2 u_southAndNorthLatitude;\nuniform vec3 u_southMercatorYLowAndHighAndOneOverHeight;\nvarying vec3 v_positionMC;\nvarying vec3 v_positionEC;\nvarying vec2 v_textureCoordinates;\nvec4 getPosition(vec3 position3DWC);\nfloat get2DYPositionFraction();\nvec4 getPosition3DMode(vec3 position3DWC)\n{\nreturn czm_projection * (u_modifiedModelView * vec4(position3DAndHeight.xyz, 1.0));\n}\nfloat get2DMercatorYPositionFraction()\n{\nconst float maxTileWidth = 0.003068;\nfloat positionFraction = textureCoordinates.y;\nfloat southLatitude = u_southAndNorthLatitude.x;\nfloat northLatitude = u_southAndNorthLatitude.y;\nif (northLatitude - southLatitude > maxTileWidth)\n{\nfloat southMercatorYLow = u_southMercatorYLowAndHighAndOneOverHeight.x;\nfloat southMercatorYHigh = u_southMercatorYLowAndHighAndOneOverHeight.y;\nfloat oneOverMercatorHeight = u_southMercatorYLowAndHighAndOneOverHeight.z;\nfloat currentLatitude = mix(southLatitude, northLatitude, textureCoordinates.y);\ncurrentLatitude = clamp(currentLatitude, -czm_webMercatorMaxLatitude, czm_webMercatorMaxLatitude);\npositionFraction = czm_latitudeToWebMercatorFraction(currentLatitude, southMercatorYLow, southMercatorYHigh, oneOverMercatorHeight);\n}\nreturn positionFraction;\n}\nfloat get2DGeographicYPositionFraction()\n{\nreturn textureCoordinates.y;\n}\nvec4 getPositionPlanarEarth(vec3 position3DWC, float height2D)\n{\nfloat yPositionFraction = get2DYPositionFraction();\nvec4 rtcPosition2D = vec4(height2D, mix(u_tileExtent.st, u_tileExtent.pq, vec2(textureCoordinates.x, yPositionFraction)), 1.0);\nreturn czm_projection * (u_modifiedModelView * rtcPosition2D);\n}\nvec4 getPosition2DMode(vec3 position3DWC)\n{\nreturn getPositionPlanarEarth(position3DWC, 0.0);\n}\nvec4 getPositionColumbusViewMode(vec3 position3DWC)\n{\nreturn getPositionPlanarEarth(position3DWC, position3DAndHeight.w);\n}\nvec4 getPositionMorphingMode(vec3 position3DWC)\n{\nfloat yPositionFraction = get2DYPositionFraction();\nvec4 position2DWC = vec4(0.0, mix(u_tileExtent.st, u_tileExtent.pq, vec2(textureCoordinates.x, yPositionFraction)), 1.0);\nvec4 morphPosition = czm_columbusViewMorph(position2DWC, vec4(position3DWC, 1.0), czm_morphTime);\nreturn czm_modelViewProjection * morphPosition;\n}\nvoid main()\n{\nvec3 position3DWC = position3DAndHeight.xyz + u_center3D;\ngl_Position = getPosition(position3DWC);\n#if defined(SHOW_REFLECTIVE_OCEAN) || defined(ENABLE_LIGHTING)\nv_positionEC = (czm_modelView3D * vec4(position3DWC, 1.0)).xyz;\nv_positionMC = position3DWC;\n#endif\nv_textureCoordinates = textureCoordinates;\n}\n"}),r("Shaders/CentralBodyVSDepth",[],function(){"use strict";return"attribute vec4 position;\nvarying vec4 positionEC;\nvoid main()\n{\npositionEC = czm_modelView * position;\ngl_Position = czm_projection * positionEC;\n}\n"}),r("Shaders/CentralBodyVSPole",[],function(){"use strict";return"attribute vec4 position;\nvarying vec2 v_textureCoordinates;\nvoid main()\n{\nfloat x = (position.x - czm_viewport.x) / czm_viewport.z;\nfloat y = (position.y - czm_viewport.y) / czm_viewport.w;\nv_textureCoordinates = vec2(x, y);\ngl_Position = czm_viewportOrthographic * position;\n}\n"}),r("Scene/CentralBody",["../Core/buildModuleUrl","../Core/combine","../Core/loadImage","../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/destroyObject","../Core/BoundingRectangle","../Core/BoundingSphere","../Core/Cartesian2","../Core/Cartesian3","../Core/Cartographic","../Core/ComponentDatatype","../Core/Ellipsoid","../Core/Extent","../Core/FeatureDetection","../Core/GeographicProjection","../Core/Geometry","../Core/GeometryAttribute","../Core/Intersect","../Core/Math","../Core/Matrix4","../Core/Occluder","../Core/PrimitiveType","../Core/Transforms","../Renderer/BufferUsage","../Renderer/ClearCommand","../Renderer/DepthFunction","../Renderer/DrawCommand","../Renderer/createShaderSource","../Renderer/Pass","./CentralBodySurface","./CentralBodySurfaceShaderSet","./EllipsoidTerrainProvider","./ImageryLayerCollection","./SceneMode","./TerrainProvider","../Shaders/CentralBodyFS","../Shaders/CentralBodyFSDepth","../Shaders/CentralBodyFSPole","../Shaders/CentralBodyVS","../Shaders/CentralBodyVSDepth","../Shaders/CentralBodyVSPole","../ThirdParty/when"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f,v,g,_,y,C,S,w,E,x,b,T,A,P,D,M,I,O,R,L,N,B,z,F,V,k,U,W,G){"use strict";function H(e,t){var r=e._ellipsoid.radii,i=t.camera.positionWC,n=c.multiplyComponents(e._ellipsoid.oneOverRadii,i,Z),o=c.magnitude(n),a=c.normalize(n,J),s=c.normalize(c.cross(c.UNIT_Z,n,Q),Q),l=c.normalize(c.cross(a,s,K),K),u=Math.sqrt(c.magnitudeSquared(n)-1),h=c.multiplyByScalar(a,1/o,Z),d=u/o,m=c.multiplyByScalar(s,d,J),p=c.multiplyByScalar(l,d,Q),f=c.add(h,p,K);c.subtract(f,m,f),c.multiplyComponents(r,f,f),c.pack(f,X,0);var v=c.subtract(h,p,K);c.subtract(v,m,v),c.multiplyComponents(r,v,v),c.pack(v,X,3);var g=c.add(h,p,K);c.add(g,m,g),c.multiplyComponents(r,g,g),c.pack(g,X,6);var _=c.subtract(h,p,K);return c.add(_,m,_),c.multiplyComponents(r,_,_),c.pack(_,X,9),X}function j(e,t,r,i,n,o){var a,l=e._ellipsoid.cartographicToCartesian(new h(0,i)),u=e._ellipsoid.cartographicToCartesian(new h(Math.PI,i)),d=.5*c.magnitude(c.subtract(l,u)),m=e._ellipsoid.cartographicToCartesian(new h(0,r)),p=t.camera.direction;a=1-c.dot(c.negate(c.UNIT_Z),p)-C.PI_OVER_TWO&&(c=new p(-Math.PI,-C.PI_OVER_TWO,Math.PI,a.south),h=l.fromExtent3D(c,e._ellipsoid),m=i.cullingVolume.getVisibility(h)===y.OUTSIDE,f=w.computeOccludeePointFromExtent(c,e._ellipsoid),v=f&&!P.isPointVisible(f)||!P.isBoundingSphereVisible(h),e._drawSouthPole=!m&&!v,e._drawSouthPole&&(x=j(e,i,c.south,c.north+A,s,T),tt[0]=x.x,tt[1]=x.y,tt[2]=x.x+x.width,tt[3]=x.y,tt[4]=x.x+x.width,tt[5]=x.y+x.height,tt[6]=x.x,tt[7]=x.y+x.height,n(e._southPoleCommand.vertexArray)?e._southPoleCommand.vertexArray.getAttribute(0).vertexBuffer.copyFromArrayView(tt):(e._southPoleCommand.boundingVolume=l.fromExtent3D(c,e._ellipsoid),E=new g({attributes:{position:new _({componentDatatype:d.FLOAT,componentsPerAttribute:2,values:tt})}}),e._southPoleCommand.vertexArray=r.createVertexArrayFromGeometry({geometry:E,attributeLocations:{position:0},bufferUsage:b.STREAM_DRAW}))));var D=0,M=e._imageryLayerCollection.length>0?e._imageryLayerCollection.get(0):void 0;n(M)&&n(M.getImageryProvider())&&n(M.getImageryProvider().getPoleIntensity)&&(D=M.getImageryProvider().getPoleIntensity());var I={u_dayIntensity:function(){return D}},O=e;if(!n(e._northPoleCommand.uniformMap)){var R=t(I,{u_color:function(){return O.northPoleColor}});e._northPoleCommand.uniformMap=t(R,e._drawUniforms)}if(!n(e._southPoleCommand.uniformMap)){var L=t(I,{u_color:function(){return O.southPoleColor}});e._southPoleCommand.uniformMap=t(L,e._drawUniforms)}}}var Y=function(t){t=i(t,m.WGS84);var r=new R({ellipsoid:t}),n=new L;this.terrainProvider=r,this._ellipsoid=t,this._imageryLayerCollection=n,this._surface=new I({terrainProvider:r,imageryLayerCollection:n}),this._occluder=new w(new l(c.ZERO,t.minimumRadius),c.ZERO),this._surfaceShaderSet=new O(B.attributeLocations),this._rsColor=void 0,this._rsColorWithoutDepthTest=void 0;var o=new T;o.depth=1,o.stencil=0,o.owner=this,this._clearDepthCommand=o,this._depthCommand=new P,this._depthCommand.primitiveType=E.TRIANGLES,this._depthCommand.boundingVolume=new l(c.ZERO,t.maximumRadius),this._depthCommand.pass=M.OPAQUE,this._depthCommand.owner=this,this._northPoleCommand=new P,this._northPoleCommand.primitiveType=E.TRIANGLE_FAN,this._northPoleCommand.pass=M.OPAQUE,this._northPoleCommand.owner=this,this._southPoleCommand=new P,this._southPoleCommand.primitiveType=E.TRIANGLE_FAN,this._southPoleCommand.pass=M.OPAQUE,this._southPoleCommand.owner=this,this._drawNorthPole=!1,this._drawSouthPole=!1,this.northPoleColor=new c(2/255,6/255,18/255),this.southPoleColor=new c(1,1,1),this.show=!0,this._mode=N.SCENE3D,this._projection=void 0,this.oceanNormalMapUrl=e("Assets/Textures/waterNormalsSmall.jpg"),this.depthTestAgainstTerrain=!1,this.maximumScreenSpaceError=2,this.tileCacheSize=100,this.enableLighting=!1,this._enableLighting=!1,this.lightingFadeOutDistance=65e5,this.lightingFadeInDistance=9e6,this._lastOceanNormalMapUrl=void 0,this._oceanNormalMap=void 0,this._zoomedOutOceanSpecularIntensity=.5,this._showingPrettyOcean=!1,this._hasWaterMask=!1,this._lightingFadeDistance=new u(this.lightingFadeOutDistance,this.lightingFadeInDistance);var a=this;this._drawUniforms={u_zoomedOutOceanSpecularIntensity:function(){return a._zoomedOutOceanSpecularIntensity},u_oceanNormalMap:function(){return a._oceanNormalMap},u_lightingFadeDistance:function(){return a._lightingFadeDistance}}};o(Y.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},imageryLayers:{get:function(){return this._imageryLayerCollection}}});var X=f.supportsTypedArrays()?new Float32Array(12):[],Z=new c,J=new c,Q=new c,K=new c,$=new s,et=new S,tt=f.supportsTypedArrays()?new Float32Array(8):[];return Y.prototype.update=function(e,t,i){if(this.show){var o=e.getDrawingBufferWidth(),a=e.getDrawingBufferHeight();if(0!==o&&0!==a){var s=t.mode,l=t.scene2D.projection,u=!1;this._mode===s&&n(this._rsColor)||(u=!0,s===N.SCENE3D||s===N.COLUMBUS_VIEW?(this._rsColor=e.createRenderState({cull:{enabled:!0},depthTest:{enabled:!0}}),this._rsColorWithoutDepthTest=e.createRenderState({cull:{enabled:!0}}),this._depthCommand.renderState=e.createRenderState({cull:{enabled:!0},depthTest:{enabled:!0,func:A.ALWAYS},colorMask:{red:!1,green:!1,blue:!1,alpha:!1}})):(this._rsColor=e.createRenderState({cull:{enabled:!0}}),this._rsColorWithoutDepthTest=e.createRenderState({cull:{enabled:!0}}),this._depthCommand.renderState=e.createRenderState({cull:{enabled:!0}}))),this._northPoleCommand.renderState=this._rsColorWithoutDepthTest,this._southPoleCommand.renderState=this._rsColorWithoutDepthTest;var c=H(this,t);if(this._depthCommand.vertexArray)this._depthCommand.vertexArray.getAttribute(0).vertexBuffer.copyFromArrayView(c);else{var h=new g({attributes:{position:new _({componentDatatype:d.FLOAT,componentsPerAttribute:3,values:c})},indices:[0,1,2,2,1,3],primitiveType:E.TRIANGLES});this._depthCommand.vertexArray=e.createVertexArrayFromGeometry({geometry:h,attributeLocations:{position:0},bufferUsage:b.DYNAMIC_DRAW})}var m=e.getShaderCache();if(n(this._depthCommand.shaderProgram)||(this._depthCommand.shaderProgram=m.getShaderProgram(U,F,{position:0})),this._surface._terrainProvider.ready&&this._surface._terrainProvider.hasWaterMask()&&this.oceanNormalMapUrl!==this._lastOceanNormalMapUrl){this._lastOceanNormalMapUrl=this.oceanNormalMapUrl;var p=this;G(r(this.oceanNormalMapUrl),function(t){p._oceanNormalMap=p._oceanNormalMap&&p._oceanNormalMap.destroy(),p._oceanNormalMap=e.createTexture2D({source:t})})}var f=this._projection!==l,y=this._surface._terrainProvider.ready&&this._surface._terrainProvider.hasWaterMask(),C=this._hasWaterMask!==y,S=this._enableLighting!==this.enableLighting;if(!n(this._surfaceShaderSet)||!n(this._northPoleCommand.shaderProgram)||!n(this._southPoleCommand.shaderProgram)||u||f||C||S||n(this._oceanNormalMap)!==this._showingPrettyOcean){var w,x="vec4 getPosition(vec3 position3DWC) { return getPosition3DMode(position3DWC); }",T="vec4 getPosition(vec3 position3DWC) { return getPosition2DMode(position3DWC); }",P="vec4 getPosition(vec3 position3DWC) { return getPositionColumbusViewMode(position3DWC); }",M="vec4 getPosition(vec3 position3DWC) { return getPositionMorphingMode(position3DWC); }";switch(s){case N.SCENE3D:w=x;break;case N.SCENE2D:w=T;break;case N.COLUMBUS_VIEW:w=P;break;case N.MORPHING:w=M}var I,O="float get2DYPositionFraction() { return get2DGeographicYPositionFraction(); }",R="float get2DYPositionFraction() { return get2DMercatorYPositionFraction(); }";I=l instanceof v?O:R,this._surfaceShaderSet.baseVertexShaderString=D({defines:[y?"SHOW_REFLECTIVE_OCEAN":"",this.enableLighting?"ENABLE_LIGHTING":""],sources:[k,w,I]});var L=y&&n(this._oceanNormalMap);this._surfaceShaderSet.baseFragmentShaderString=D({defines:[y?"SHOW_REFLECTIVE_OCEAN":"",L?"SHOW_OCEAN_WAVES":"",this.enableLighting?"ENABLE_LIGHTING":""],sources:[z]}),this._surfaceShaderSet.invalidateShaders();var j=m.replaceShaderProgram(this._northPoleCommand.shaderProgram,W,V,B.attributeLocations);this._northPoleCommand.shaderProgram=j,this._southPoleCommand.shaderProgram=j,this._showingPrettyOcean=n(this._oceanNormalMap),this._hasWaterMask=y,this._enableLighting=this.enableLighting}var Y=t.camera.positionWC;this._occluder.setCameraPosition(Y),q(this,e,t),this._mode=s,this._projection=l;var X=t.passes;X.render&&(s===N.SCENE3D&&(this._drawNorthPole&&i.push(this._northPoleCommand),this._drawSouthPole&&i.push(this._southPoleCommand)),this._zoomedOutOceanSpecularIntensity=s===N.SCENE3D?.5:0,this._lightingFadeDistance.x=this.lightingFadeOutDistance,this._lightingFadeDistance.y=this.lightingFadeInDistance,this._surface._maximumScreenSpaceError=this.maximumScreenSpaceError,this._surface._tileCacheSize=this.tileCacheSize,this._surface.setTerrainProvider(this.terrainProvider),this._surface.update(e,t,i,this._drawUniforms,this._surfaceShaderSet,this._rsColor,this._projection),(s===N.SCENE3D||s===N.COLUMBUS_VIEW)&&(this.depthTestAgainstTerrain||(i.push(this._clearDepthCommand),s===N.SCENE3D&&i.push(this._depthCommand)))),X.pick&&i.push(this._depthCommand)}}},Y.prototype.isDestroyed=function(){return!1},Y.prototype.destroy=function(){return this._northPoleCommand.vertexArray=this._northPoleCommand.vertexArray&&this._northPoleCommand.vertexArray.destroy(),this._southPoleCommand.vertexArray=this._southPoleCommand.vertexArray&&this._southPoleCommand.vertexArray.destroy(),this._surfaceShaderSet=this._surfaceShaderSet&&this._surfaceShaderSet.destroy(),this._northPoleCommand.shaderProgram=this._northPoleCommand.shaderProgram&&this._northPoleCommand.shaderProgram.release(),this._southPoleCommand.shaderProgram=this._northPoleCommand.shaderProgram,this._depthCommand.shaderProgram=this._depthCommand.shaderProgram&&this._depthCommand.shaderProgram.release(),this._depthCommand.vertexArray=this._depthCommand.vertexArray&&this._depthCommand.vertexArray.destroy(),this._surface=this._surface&&this._surface.destroy(),this._oceanNormalMap=this._oceanNormalMap&&this._oceanNormalMap.destroy(),a(this)},Y}),r("Scene/QuantizedMeshTerrainData",["../Core/BoundingSphere","../Core/Cartesian3","../Core/defaultValue","../Core/defined","../Core/DeveloperError","../Core/Intersections2D","../Core/Math","../Core/TaskProcessor","./TerrainMesh","../ThirdParty/when"],function(e,t,r,i,n,o,a,s,l,u){"use strict";function c(e,t){d.length=e.length;for(var r=!1,i=0,n=e.length;n>i;++i)d[i]=e[i],r=r||i>0&&t(e[i-1],e[i])>0;return r?(d.sort(t),new Uint16Array(d)):e}var h=function(e){function t(e,t){return a[e]-a[t]}function i(e,t){return o[e]-o[t]}this._quantizedVertices=e.quantizedVertices,this._indices=e.indices,this._minimumHeight=e.minimumHeight,this._maximumHeight=e.maximumHeight,this._boundingSphere=e.boundingSphere,this._horizonOcclusionPoint=e.horizonOcclusionPoint;var n=this._quantizedVertices.length/3,o=this._uValues=this._quantizedVertices.subarray(0,n),a=this._vValues=this._quantizedVertices.subarray(n,2*n);this._heightValues=this._quantizedVertices.subarray(2*n,3*n),this._westIndices=c(e.westIndices,t),this._southIndices=c(e.southIndices,i),this._eastIndices=c(e.eastIndices,t),this._northIndices=c(e.northIndices,i),this._westSkirtHeight=e.westSkirtHeight,this._southSkirtHeight=e.southSkirtHeight,this._eastSkirtHeight=e.eastSkirtHeight,this._northSkirtHeight=e.northSkirtHeight,this._childTileMask=r(e.childTileMask,15),this._createdByUpsampling=r(e.createdByUpsampling,!1),this._waterMask=e.waterMask},d=[],m=new s("createVerticesFromQuantizedTerrainMesh");h.prototype.createMesh=function(e,t,r,n){var o=e.ellipsoid,a=e.tileXYToExtent(t,r,n),s=m.scheduleTask({minimumHeight:this._minimumHeight,maximumHeight:this._maximumHeight,quantizedVertices:this._quantizedVertices,indices:this._indices,westIndices:this._westIndices,southIndices:this._southIndices,eastIndices:this._eastIndices,northIndices:this._northIndices,westSkirtHeight:this._westSkirtHeight,southSkirtHeight:this._southSkirtHeight,eastSkirtHeight:this._eastSkirtHeight,northSkirtHeight:this._northSkirtHeight,extent:a,relativeToCenter:this._boundingSphere.center,ellipsoid:o});if(!i(s))return void 0;var c=this;return u(s,function(e){return new l(c._boundingSphere.center,new Float32Array(e.vertices),new Uint16Array(e.indices),c._minimumHeight,c._maximumHeight,c._boundingSphere,c._horizonOcclusionPoint)})};var p=new s("upsampleQuantizedTerrainMesh");h.prototype.upsample=function(r,n,o,a,s,l,c){var d=2*n!==s,m=2*o===l,f=r.ellipsoid,v=r.tileXYToExtent(s,l,c),g=p.scheduleTask({vertices:this._quantizedVertices,indices:this._indices,minimumHeight:this._minimumHeight,maximumHeight:this._maximumHeight,isEastChild:d,isNorthChild:m,childExtent:v,ellipsoid:f});if(!i(g))return void 0;var _=Math.min(this._westSkirtHeight,this._eastSkirtHeight);_=Math.min(_,this._southSkirtHeight),_=Math.min(_,this._northSkirtHeight);var y=d?.5*_:this._westSkirtHeight,C=m?.5*_:this._southSkirtHeight,S=d?this._eastSkirtHeight:.5*_,w=m?this._northSkirtHeight:.5*_;return u(g,function(r){return new h({quantizedVertices:new Uint16Array(r.vertices),indices:new Uint16Array(r.indices),minimumHeight:r.minimumHeight,maximumHeight:r.maximumHeight,boundingSphere:e.clone(r.boundingSphere),horizonOcclusionPoint:t.clone(r.horizonOcclusionPoint),westIndices:r.westIndices,southIndices:r.southIndices,eastIndices:r.eastIndices,northIndices:r.northIndices,westSkirtHeight:y,southSkirtHeight:C,eastSkirtHeight:S,northSkirtHeight:w,childTileMask:0,createdByUpsampling:!0})})};var f=32767,v=new t;return h.prototype.interpolateHeight=function(e,t,r){var i=(t-e.west)/(e.east-e.west);i*=f;var n=(r-e.south)/(e.north-e.south);n*=f;for(var s=this._uValues,l=this._vValues,u=this._heightValues,c=this._indices,h=0,d=c.length;d>h;h+=3){var m=c[h],p=c[h+1],g=c[h+2],_=s[m],y=s[p],C=s[g],S=l[m],w=l[p],E=l[g],x=o.computeBarycentricCoordinates(i,n,_,S,y,w,C,E,v);if(x.x>=-1e-15&&x.y>=-1e-15&&x.z>=-1e-15){var b=x.x*u[m]+x.y*u[p]+x.z*u[g];return a.lerp(this._minimumHeight,this._maximumHeight,b/f)}}return void 0},h.prototype.isChildAvailable=function(e,t,r,i){var n=2;return r!==2*e&&++n,i!==2*t&&(n-=2),0!==(this._childTileMask&1<>1^-(1&e)}var u=0,h=2,d=4,m=4,f=8,v=3,g=v+1,_=f*v,y=f*g,C=3,S=h*C,E=3,x=h*E,b=new DataView(i),T=new t(b.getFloat64(u,!0),b.getFloat64(u+8,!0),b.getFloat64(u+16,!0));u+=_;var A=b.getFloat32(u,!0);u+=m;var P=b.getFloat32(u,!0);u+=m;var D=new e(new t(b.getFloat64(u,!0),b.getFloat64(u+8,!0),b.getFloat64(u+16,!0)),b.getFloat64(u+_,!0));u+=y;var M=new t(b.getFloat64(u,!0),b.getFloat64(u+8,!0),b.getFloat64(u+16,!0));u+=_;var I=b.getUint32(u,!0);u+=d;var O=new Uint16Array(i,u,3*I);if(u+=I*S,I>65536)throw new c("CesiumTerrainProvider currently does not support tiles with more than 65536 vertices.");var R,L=O.subarray(0,I),N=O.subarray(I,2*I),B=O.subarray(2*I,3*I),z=0,F=0,V=0;for(R=0;I>R;++R)z+=l(L[R]),F+=l(N[R]),V+=l(B[R]),L[R]=z,N[R]=F,B[R]=V;var k=b.getUint32(u,!0);u+=d;var U=new Uint16Array(i,u,k*E);u+=k*x;var W=0;for(R=0;R=n.length)return 0;var a=n[o],s=0;return s|=E(a,2*r,2*i)?1:0,s|=E(a,2*r+1,2*i)?2:0,s|=E(a,2*r,2*i+1)?4:0,s|=E(a,2*r+1,2*i+1)?8:0}function E(e,t,r){for(var i=0,n=e.length;n>i;++i){var o=e[i];if(t>=o.startX&&t<=o.endX&&r>=o.startY&&r<=o.endY)return!0}return!1}var x=function(e){function t(e){var t;if(!e.format)return t="The tile format is not specified in the layer.json file.",l=v.handleError(l,c,c._errorEvent,t,void 0,void 0,void 0,n),void 0;if(!e.tiles||0===e.tiles.length)return t="The layer.json file does not specify any tile URL templates.",l=v.handleError(l,c,c._errorEvent,t,void 0,void 0,void 0,n),void 0;if("heightmap-1.0"===e.format)c._heightmapStructure={heightScale:.2,heightOffset:-1e3,elementsPerHeight:1,stride:1,elementMultiplier:256,isBigEndian:!1},c._hasWaterMask=!0;else{if("quantized-mesh-1.0"!==e.format)return t='The tile format "'+e.format+'" is invalid or not supported.',l=v.handleError(l,c,c._errorEvent,t,void 0,void 0,void 0,n),void 0;c._hasWaterMask=!1}var r=new g(s);c._tileUrlTemplates=e.tiles;for(var o=0;or;++r)e[r].destroy();this._primitives=[]},o.prototype.contains=function(e){return!!(e&&e._external&&e._external._composites&&e._external._composites[this._guid])},o.prototype.raise=function(e){if(t(e)){var r=n(this,e),i=this._primitives;if(r!==i.length-1){var o=i[r];i[r]=i[r+1],i[r+1]=o}}},o.prototype.raiseToTop=function(e){if(t(e)){var r=n(this,e),i=this._primitives;r!==i.length-1&&(i.splice(r,1),i.push(e))}},o.prototype.lower=function(e){if(t(e)){var r=n(this,e),i=this._primitives;if(0!==r){var o=i[r];i[r]=i[r-1],i[r-1]=o}}},o.prototype.lowerToBottom=function(e){if(t(e)){var r=n(this,e),i=this._primitives;0!==r&&(i.splice(r,1),i.unshift(e))}},o.prototype.get=function(e){return this._primitives[e]},o.prototype.update=function(e,t,r){if(this.show){this._centralBody&&this._centralBody.update(e,t,r);for(var i=this._primitives,n=i.length,o=0;n>o;++o)i[o].update(e,t,r)}},o.prototype.isDestroyed=function(){return!1},o.prototype.destroy=function(){return this.removeAll(),this._centralBody=this.destroyPrimitives&&this._centralBody&&this._centralBody.destroy(),i(this)},o}),r("Scene/CreditDisplay",["../Core/defaultValue","../Core/defined","../Core/destroyObject","../Core/DeveloperError","./Credit"],function(e,t,r,i,n){"use strict";function o(e,r,i){if(!t(e.element)){var n=e.getText(),o=e.getLink(),a=document.createElement("span");if(e.hasLink()){var s=document.createElement("a");s.textContent=n,s.href=o,s.target="_blank",a.appendChild(s)}else a.textContent=n;a.className="cesium-credit-text",e.element=a}if(r.hasChildNodes()){var l=document.createElement("span");l.textContent=i,l.className="cesium-credit-delimiter",r.appendChild(l)}r.appendChild(e.element)}function a(e,r){if(!t(e.element)){var i=e.getText(),n=e.getLink(),o=document.createElement("span"),a=document.createElement("img");if(a.src=e.getImageUrl(),a.style["vertical-align"]="bottom",t(i)&&(a.alt=i,a.title=i),e.hasLink()){var s=document.createElement("a");s.appendChild(a),s.href=n,s.target="_blank",o.appendChild(s)}else o.appendChild(a);o.className="cesium-credit-image",e.element=o}r.appendChild(e.element)}function s(e,t){for(var r=e.length,i=0;r>i;i++){var o=e[i];if(n.equals(o,t))return!0}return!1}function l(e){var r=e.element;if(t(r)){var i=r.parentNode;if(!e.hasImage()){var n=r.previousSibling;null===n&&(n=r.nextSibling),null!==n&&i.removeChild(n)}i.removeChild(r)}}function u(e,t){var r,i,n,a=e._displayedCredits.textCredits;for(r=0;r= 0.0) {\nt1 = (-b - sqrt(discriminant)) * 0.5;\nt2 = (-b + sqrt(discriminant)) * 0.5;\n}\nif (t1 < 0.0 && t2 < 0.0) {\ndiscard;\n}\nfloat t = min(t1, t2);\nif (t < 0.0) {\nt = 0.0;\n}\nczm_ellipsoid ellipsoid = czm_ellipsoidNew(ellipsoidCenter, u_radii);\nczm_ray ray = czm_ray(t * direction, direction);\nczm_raySegment intersection = czm_rayEllipsoidIntersectionInterval(ray, ellipsoid);\nif (czm_isEmpty(intersection))\n{\ndiscard;\n}\nvec4 outsideFaceColor = (intersection.start != 0.0) ? computeEllipsoidColor(ray, intersection.start, 1.0) : vec4(0.0);\nvec4 insideFaceColor = (outsideFaceColor.a < 1.0) ? computeEllipsoidColor(ray, intersection.stop, -1.0) : vec4(0.0);\ngl_FragColor = mix(insideFaceColor, outsideFaceColor, outsideFaceColor.a);\ngl_FragColor.a = 1.0 - (1.0 - insideFaceColor.a) * (1.0 - outsideFaceColor.a);\n#ifdef WRITE_DEPTH\n#ifdef GL_EXT_frag_depth\nt = (intersection.start != 0.0) ? intersection.start : intersection.stop;\nvec3 positionEC = czm_pointAlongRay(ray, t);\nvec4 positionCC = czm_projection * vec4(positionEC, 1.0);\nfloat z = positionCC.z / positionCC.w;\nfloat n = gl_DepthRange.near;\nfloat f = gl_DepthRange.far;\ngl_FragDepthEXT = (z * (f - n) + f + n) * 0.5;\n#endif\n#endif\n}\n"}),r("Scene/EllipsoidPrimitive",["../Core/defaultValue","../Core/BoxGeometry","../Core/Cartesian3","../Core/combine","../Core/defined","../Core/DeveloperError","../Core/destroyObject","../Core/Matrix4","../Core/BoundingSphere","../Core/PrimitiveType","../Renderer/CullFace","../Renderer/BlendingState","../Renderer/BufferUsage","../Renderer/DrawCommand","../Renderer/createShaderSource","../Renderer/Pass","./Material","./SceneMode","../Shaders/EllipsoidVS","../Shaders/EllipsoidFS"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f,v,g,_,y){"use strict";function C(e){var i=e.cache.ellipsoidPrimitive_vertexArray;if(n(i))return i;var o=t.createGeometry(t.fromDimensions({dimensions:new r(2,2,2)}));return i=e.createVertexArrayFromGeometry({geometry:o,attributeLocations:S,bufferUsage:d.STATIC_DRAW}),e.cache.ellipsoidPrimitive_vertexArray=i,i}var S={position:0},w=function(t){t=e(t,e.EMPTY_OBJECT),this.center=r.clone(e(t.center,r.ZERO)),this._center=new r,this.radii=r.clone(t.radii),this._radii=new r,this._oneOverEllipsoidRadiiSquared=new r,this._boundingSphere=new l,this.modelMatrix=s.clone(e(t.modelMatrix,s.IDENTITY)),this._modelMatrix=new s,this._computedModelMatrix=new s,this.show=e(t.show,!0),this.material=e(t.material,v.fromType(v.ColorType)),this._material=void 0,this._translucent=void 0,this.id=t.id,this._id=void 0,this.debugShowBoundingVolume=e(t.debugShowBoundingVolume,!1),this.onlySunLighting=e(t.onlySunLighting,!1),this._onlySunLighting=!1,this._owner=t._owner,this._sp=void 0,this._rs=void 0,this._va=void 0,this._pickSP=void 0,this._pickId=void 0,this._colorCommand=new m,this._colorCommand.owner=this,this._pickCommand=new m,this._pickCommand.owner=this;var i=this;this._uniforms={u_radii:function(){return i.radii},u_oneOverEllipsoidRadiiSquared:function(){return i._oneOverEllipsoidRadiiSquared}},this._pickUniforms={czm_pickColor:function(){return i._pickId.color}}};return w.prototype.update=function(t,o,a){if(this.show&&o.mode===g.SCENE3D&&n(this.center)&&n(this.radii)){var d=this.material.isTranslucent(),m=this._translucent!==d;(!n(this._rs)||m)&&(this._translucent=d,this._rs=t.createRenderState({cull:{enabled:!0,face:c.FRONT},depthTest:{enabled:!0},depthMask:!d&&t.getFragmentDepth(),blending:d?h.ALPHA_BLEND:void 0})),n(this._va)||(this._va=C(t));var v=!1,w=this.radii;if(!r.equals(this._radii,w)){r.clone(w,this._radii);var E=this._oneOverEllipsoidRadiiSquared;E.x=1/(w.x*w.x),E.y=1/(w.y*w.y),E.z=1/(w.z*w.z),v=!0}s.equals(this.modelMatrix,this._modelMatrix)&&r.equals(this.center,this._center)||(s.clone(this.modelMatrix,this._modelMatrix),r.clone(this.center,this._center),s.multiplyByTranslation(this.modelMatrix,this.center,this._computedModelMatrix),v=!0),v&&(r.clone(r.ZERO,this._boundingSphere.center),this._boundingSphere.radius=r.getMaximumComponent(w),l.transform(this._boundingSphere,this._computedModelMatrix,this._boundingSphere));var x=this._material!==this.material;this._material=this.material,this._material.update(t);var b=this.onlySunLighting!==this._onlySunLighting;this._onlySunLighting=this.onlySunLighting;var T=this._colorCommand;if(x||b||m){var A=p({defines:[this.onlySunLighting?"ONLY_SUN_LIGHTING":"",!d&&t.getFragmentDepth()?"WRITE_DEPTH":""],sources:[this.material.shaderSource,y]});this._sp=t.getShaderCache().replaceShaderProgram(this._sp,_,A,S),T.primitiveType=u.TRIANGLES,T.vertexArray=this._va,T.renderState=this._rs,T.shaderProgram=this._sp,T.uniformMap=i(this._uniforms,this.material._uniforms),T.executeInClosestFrustum=d,T.owner=e(this._owner,this)}var P=o.passes;if(P.render&&(T.boundingVolume=this._boundingSphere,T.debugShowBoundingVolume=this.debugShowBoundingVolume,T.modelMatrix=this._computedModelMatrix,T.pass=d?f.TRANSLUCENT:f.OPAQUE,a.push(T)),P.pick){var D=this._pickCommand;if(n(this._pickId)&&this._id===this.id||(this._id=this.id,this._pickId=this._pickId&&this._pickId.destroy(),this._pickId=t.createPickId({primitive:this,id:this.id})),x||b||!n(this._pickSP)){var M=p({defines:[this.onlySunLighting?"ONLY_SUN_LIGHTING":"",!d&&t.getFragmentDepth()?"WRITE_DEPTH":""],sources:[this.material.shaderSource,y],pickColorQualifier:"uniform"});this._pickSP=t.getShaderCache().replaceShaderProgram(this._pickSP,_,M,S),D.primitiveType=u.TRIANGLES,D.vertexArray=this._va,D.renderState=this._rs,D.shaderProgram=this._pickSP,D.uniformMap=i(i(this._uniforms,this._pickUniforms),this.material._uniforms),D.executeInClosestFrustum=d,D.owner=e(this._owner,this)}D.boundingVolume=this._boundingSphere,D.modelMatrix=this._computedModelMatrix,D.pass=d?f.TRANSLUCENT:f.OPAQUE,a.push(D)}}},w.prototype.isDestroyed=function(){return!1},w.prototype.destroy=function(){return this._sp=this._sp&&this._sp.release(),this._pickSP=this._pickSP&&this._pickSP.release(),this._pickId=this._pickId&&this._pickId.destroy(),a(this)},w}),r("Shaders/Appearances/EllipsoidSurfaceAppearanceVS",[],function(){"use strict";return"attribute vec3 position3DHigh;\nattribute vec3 position3DLow;\nattribute vec2 st;\nvarying vec3 v_positionMC;\nvarying vec3 v_positionEC;\nvarying vec2 v_st;\nvoid main()\n{\nvec4 p = czm_computePosition();\nv_positionMC = position3DHigh + position3DLow;\nv_positionEC = (czm_modelViewRelativeToEye * p).xyz;\nv_st = st;\ngl_Position = czm_modelViewProjectionRelativeToEye * p;\n}\n"}),r("Shaders/Appearances/EllipsoidSurfaceAppearanceFS",[],function(){"use strict";return"varying vec3 v_positionMC;\nvarying vec3 v_positionEC;\nvarying vec2 v_st;\nvoid main()\n{\nczm_materialInput materialInput;\nvec3 normalEC = czm_normal3D * czm_geodeticSurfaceNormal(v_positionMC, vec3(0.0), vec3(1.0));\n#ifdef FACE_FORWARD\nnormalEC = normalize(faceforward(normalEC, vec3(0.0, 0.0, 1.0), -normalEC));\n#else\nnormalEC = normalize(normalEC);\n#endif\nmaterialInput.s = v_st.s;\nmaterialInput.st = v_st;\nmaterialInput.str = vec3(v_st, 0.0);\nmaterialInput.normalEC = normalEC;\nmaterialInput.tangentToEyeMatrix = czm_eastNorthUpToEyeCoordinates(v_positionMC, materialInput.normalEC);\nvec3 positionToEyeEC = -v_positionEC;\nmaterialInput.positionToEyeEC = positionToEyeEC;\nczm_material material = czm_getMaterial(materialInput);\n#ifdef FLAT\ngl_FragColor = vec4(material.diffuse + material.emission, material.alpha);\n#else\ngl_FragColor = czm_phong(normalize(positionToEyeEC), material);\n#endif\n}\n"}),r("Scene/EllipsoidSurfaceAppearance",["../Core/defaultValue","../Core/defined","../Core/VertexFormat","./Material","./Appearance","../Shaders/Appearances/EllipsoidSurfaceAppearanceVS","../Shaders/Appearances/EllipsoidSurfaceAppearanceFS"],function(e,t,r,i,n,o,a){"use strict";var s=function(r){r=e(r,e.EMPTY_OBJECT);var l=e(r.translucent,!0),u=e(r.aboveGround,!1);this.material=t(r.material)?r.material:i.fromType(i.ColorType),this.vertexShaderSource=e(r.vertexShaderSource,o),this.fragmentShaderSource=e(r.fragmentShaderSource,a),this.renderState=e(r.renderState,n.getDefaultRenderState(l,!u)),this.vertexFormat=s.VERTEX_FORMAT,this.flat=e(r.flat,!1),this.faceForward=e(r.faceForward,u),this.translucent=l,this.closed=!1,this.aboveGround=u};return s.VERTEX_FORMAT=r.POSITION_AND_ST,s.prototype.getFragmentShaderSource=n.prototype.getFragmentShaderSource,s.prototype.isTranslucent=n.prototype.isTranslucent,s.prototype.getRenderState=n.prototype.getRenderState,s}),r("Scene/ExtentPrimitive",["../Core/DeveloperError","../Core/defaultValue","../Core/defined","../Core/Color","../Core/destroyObject","../Core/Math","../Core/Extent","../Core/Ellipsoid","../Core/GeometryInstance","../Core/ExtentGeometry","./EllipsoidSurfaceAppearance","./Primitive","./Material"],function(e,t,r,i,n,o,a,s,l,u,c,h,d){"use strict";var m=function(e){e=t(e,t.EMPTY_OBJECT),this.ellipsoid=t(e.ellipsoid,s.WGS84),this._ellipsoid=void 0,this.extent=a.clone(e.extent),this._extent=void 0,this.granularity=t(e.granularity,o.RADIANS_PER_DEGREE),this._granularity=void 0,this.height=t(e.height,0),this._height=void 0,this.rotation=t(e.rotation,0),this._rotation=void 0,this.textureRotationAngle=t(e.textureRotationAngle,0),this._textureRotationAngle=void 0,this.show=t(e.show,!0);var r=d.fromType(d.ColorType,{color:new i(1,1,0,.5)});this.material=t(e.material,r),this.id=e.id,this._id=void 0,this.asynchronous=t(e.asynchronous,!0),this.debugShowBoundingVolume=t(e.debugShowBoundingVolume,!1),this._primitive=void 0};return m.prototype.update=function(e,t,i){if(this.show&&r(this.extent)){if(!a.equals(this._extent,this.extent)||this._ellipsoid!==this.ellipsoid||this._granularity!==this.granularity||this._height!==this.height||this._rotation!==this.rotation||this._textureRotationAngle!==this.textureRotationAngle||this._id!==this.id){this._extent=a.clone(this.extent,this._extent),this._ellipsoid=this.ellipsoid,this._granularity=this.granularity,this._height=this.height,this._rotation=this.rotation,this._textureRotationAngle=this.textureRotationAngle,this._id=this.id;var n=new l({geometry:new u({extent:this.extent,vertexFormat:c.VERTEX_FORMAT,ellipsoid:this.ellipsoid,granularity:this.granularity,height:this.height,rotation:this.rotation,stRotation:this.textureRotationAngle}),id:this.id,pickPrimitive:this});r(this._primitive)&&this._primitive.destroy(),this._primitive=new h({geometryInstances:n,appearance:new c({aboveGround:this.height>0}),asynchronous:this.asynchronous})}var o=this._primitive;o.appearance.material=this.material,o.debugShowBoundingVolume=this.debugShowBoundingVolume,o.update(e,t,i)}},m.prototype.isDestroyed=function(){return!1},m.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),n(this)},m}),r("Scene/FrameState",["./SceneMode"],function(e){"use strict";var t=function(t){this.mode=e.SCENE3D,this.morphTime=e.SCENE3D.morphTime,this.frameNumber=0,this.time=void 0,this.scene2D={projection:void 0},this.camera=void 0,this.cullingVolume=void 0,this.occluder=void 0,this.passes={render:!1,pick:!1},this.creditDisplay=t,this.afterRender=[]};return t}),r("Scene/FrustumCommands",["../Core/defaultValue"],function(e){"use strict";var t=function(t,r){this.near=e(t,0),this.far=e(r,0),this.opaqueCommands=[],this.translucentCommands=[]};return t}),r("Scene/GoogleEarthImageryProvider",["../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/loadText","../Core/DeveloperError","../Core/RuntimeError","../Core/Event","../Core/Extent","./ImageryProvider","./TileProviderError","./WebMercatorTilingScheme","./GeographicTilingScheme","./Credit","../ThirdParty/when"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m){"use strict";function p(e,r,i,n){var o=e._imageUrlTemplate;o=o.replace("{x}",r),o=o.replace("{y}",i),o=o.replace("{zoom}",n+1);var a=e._proxy;return t(a)&&(o=a.getURL(o)),o}var f=function v(r){function n(e){var r;try{r=JSON.parse(e)}catch(i){r=JSON.parse(e.replace(/([\[\{,])[\n\r ]*([A-Za-z0-9]+)[\n\r ]*:/g,'$1"$2":'))}for(var n,a=0;a4)throw new i("The imagery provider's extent and minimumLevel indicate that there are "+h+" tiles at the minimum level. Imagery providers with more than four tiles at the minimum level are not supported.");this._errorEvent=new n,this._ready=!0;var d=e(t.credit,c);"string"==typeof d&&(d=new s(d)),this._credit=d};return r(h.prototype,{url:{get:function(){return this._url}},proxy:{get:function(){return this._proxy}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return this._minimumLevel}},tilingScheme:{get:function(){return this._tilingScheme}},extent:{get:function(){return this._extent}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return this._ready}},credit:{get:function(){return this._credit}}}),h.prototype.getTileCredits=function(){return void 0},h.prototype.requestImage=function(e,t,r){var i=l(this,e,t,r);return o.loadImage(this,i)},h}),r("Scene/OrthographicFrustum",["../Core/defined","../Core/defineProperties","../Core/DeveloperError","../Core/Cartesian2","../Core/Cartesian3","../Core/Cartesian4","../Core/Matrix4","../Scene/CullingVolume"],function(e,t,r,i,n,o,a,s){"use strict";function l(e){(e.top!==e._top||e.bottom!==e._bottom||e.left!==e._left||e.right!==e._right||e.near!==e._near||e.far!==e._far)&&(e._left=e.left,e._right=e.right,e._top=e.top,e._bottom=e.bottom,e._near=e.near,e._far=e.far,e._orthographicMatrix=a.computeOrthographicOffCenter(e.left,e.right,e.bottom,e.top,e.near,e.far,e._orthographicMatrix))}var u=function(){this.left=void 0,this._left=void 0,this.right=void 0,this._right=void 0,this.top=void 0,this._top=void 0,this.bottom=void 0,this._bottom=void 0,this.near=1,this._near=this.near,this.far=5e8,this._far=this.far,this._cullingVolume=new s,this._orthographicMatrix=void 0};t(u.prototype,{projectionMatrix:{get:function(){return l(this),this._orthographicMatrix}}});var c=new n,h=new n,d=new n,m=new n;return u.prototype.computeCullingVolume=function(t,r,i){var a=this._cullingVolume.planes,s=this.top,l=this.bottom,u=this.right,p=this.left,f=this.near,v=this.far,g=n.cross(r,i,c),_=h;n.multiplyByScalar(r,f,_),n.add(t,_,_);var y=d;n.multiplyByScalar(g,p,y),n.add(_,y,y);var C=a[0];return e(C)||(C=a[0]=new o),C.x=g.x,C.y=g.y,C.z=g.z,C.w=-n.dot(g,y),n.multiplyByScalar(g,u,y),n.add(_,y,y),C=a[1],e(C)||(C=a[1]=new o),C.x=-g.x,C.y=-g.y,C.z=-g.z,C.w=-n.dot(n.negate(g,m),y),n.multiplyByScalar(i,l,y),n.add(_,y,y),C=a[2],e(C)||(C=a[2]=new o),C.x=i.x,C.y=i.y,C.z=i.z,C.w=-n.dot(i,y),n.multiplyByScalar(i,s,y),n.add(_,y,y),C=a[3],e(C)||(C=a[3]=new o),C.x=-i.x,C.y=-i.y,C.z=-i.z,C.w=-n.dot(n.negate(i,m),y),C=a[4],e(C)||(C=a[4]=new o),C.x=r.x,C.y=r.y,C.z=r.z,C.w=-n.dot(r,_),n.multiplyByScalar(r,v,y),n.add(t,y,y),C=a[5],e(C)||(C=a[5]=new o),C.x=-r.x,C.y=-r.y,C.z=-r.z,C.w=-n.dot(n.negate(r,m),y),this._cullingVolume},u.prototype.getPixelSize=function(t,r,n){l(this);var o=this.right-this.left,a=this.top-this.bottom,s=o/t.x,u=a/t.y;return e(n)?(n.x=s,n.y=u,n):new i(s,u)},u.prototype.clone=function(t){return e(t)||(t=new u),t.left=this.left,t.right=this.right,t.top=this.top,t.bottom=this.bottom,t.near=this.near,t.far=this.far,t._left=void 0,t._right=void 0,t._top=void 0,t._bottom=void 0,t._near=void 0,t._far=void 0,t},u.prototype.equals=function(t){return e(t)&&this.right===t.right&&this.left===t.left&&this.top===t.top&&this.bottom===t.bottom&&this.near===t.near&&this.far===t.far},u}),r("Widgets/getElement",["../Core/DeveloperError"],function(){"use strict";var e=function(e){if("string"==typeof e){var t=document.getElementById(e);e=t}return e};return e}),r("Scene/PerformanceDisplay",["../Core/Color","../Core/defaultValue","../Core/defined","../Core/destroyObject","../Core/DeveloperError","../Core/getTimestamp","../Widgets/getElement"],function(e,t,r,i,n,o,a){"use strict";var s=e.fromCssColorString("#e52"),l=e.fromCssColorString("#de3"),u=e.fromCssColorString("rgba(40, 40, 40, 0.7)"),c=function(e){e=t(e,t.EMPTY_OBJECT);var i=a(e.container);if(!r(i))throw new n("container is required");this._container=i,this._fpsColor=t(e.fpsColor,s).toCssColorString(),this._frameTimeColor=t(e.frameTimeColor,l).toCssColorString(),this._backgroundColor=t(e.backgroundColor,u).toCssColorString(),this._font=t(e.font,"bold 12px Helvetica,Arial,sans-serif");var o=document.createElement("div"),c=document.createElement("div");this._fpsText=document.createTextNode(""),c.appendChild(this._fpsText),c.style.color=this._fpsColor;var h=document.createElement("div");this._msText=document.createTextNode(""),h.style.color=this._frameTimeColor,h.appendChild(this._msText),o.appendChild(c),o.appendChild(h),o.style["z-index"]=1,o.style["background-color"]=this._backgroundColor,o.style.font=this._font,o.style.padding="7px",o.style["border-radius"]="5px",o.style.border="1px solid #444",this._container.appendChild(o),this._lastFpsSampleTime=void 0,this._frameCount=0,this._time=void 0,this._fps=0,this._frameTime=0};return c.prototype.update=function(){if(!r(this._time))return this._lastFpsSampleTime=o(),this._time=o(),void 0;var e=this._time,t=o();this._time=t;var i=t-e;this._frameCount++;var n=this._fps,a=t-this._lastFpsSampleTime;a>1e3&&(n=0|1e3*this._frameCount/a,this._lastFpsSampleTime=t,this._frameCount=0),n!==this._fps&&(this._fpsText.nodeValue=n+" FPS",this._fps=n),i!==this._frameTime&&(this._msText.nodeValue=i.toFixed(2)+" MS",this._frameTime=i)},c.prototype.destroy=function(){return i(this)},c}),r("Scene/Polygon",["../Core/DeveloperError","../Core/defaultValue","../Core/defined","../Core/Color","../Core/destroyObject","../Core/Math","../Core/Ellipsoid","../Core/GeometryInstance","../Core/PolygonGeometry","./EllipsoidSurfaceAppearance","./Primitive","./Material"],function(e,t,r,i,n,o,a,s,l,u,c,h){"use strict";var d=function(e){e=t(e,t.EMPTY_OBJECT),this.ellipsoid=t(e.ellipsoid,a.WGS84),this._ellipsoid=void 0,this.granularity=t(e.granularity,o.RADIANS_PER_DEGREE),this._granularity=void 0,this.height=t(e.height,0),this._height=void 0,this.textureRotationAngle=t(e.textureRotationAngle,0),this._textureRotationAngle=void 0,this.show=t(e.show,!0);var n=h.fromType(h.ColorType,{color:new i(1,1,0,.5)});this.material=t(e.material,n),this.id=e.id,this._id=void 0,this.asynchronous=t(e.asynchronous,!0),this.debugShowBoundingVolume=t(e.debugShowBoundingVolume,!1),this._positions=void 0,this._polygonHierarchy=void 0,this._createPrimitive=!1,this._primitive=void 0,r(e.positions)?this.setPositions(e.positions):r(e.polygonHierarchy)&&this.configureFromPolygonHierarchy(e.polygonHierarchy)};return d.prototype.getPositions=function(){return this._positions},d.prototype.setPositions=function(e){this._positions=e,this._polygonHierarchy=void 0,this._createPrimitive=!0},d.prototype.configureFromPolygonHierarchy=function(e){this._positions=void 0,this._polygonHierarchy=e,this._createPrimitive=!0},d.prototype.update=function(e,t,i){if(this.show&&(this._createPrimitive||r(this._primitive))){if(this._createPrimitive||this._ellipsoid!==this.ellipsoid||this._granularity!==this.granularity||this._height!==this.height||this._textureRotationAngle!==this.textureRotationAngle||this._id!==this.id){if(this._createPrimitive=!1,this._ellipsoid=this.ellipsoid,this._granularity=this.granularity,this._height=this.height,this._textureRotationAngle=this.textureRotationAngle,this._id=this.id,this._primitive=this._primitive&&this._primitive.destroy(),!r(this._positions)&&!r(this._polygonHierarchy))return;var n;n=r(this._positions)?new s({geometry:l.fromPositions({positions:this._positions,height:this.height,vertexFormat:u.VERTEX_FORMAT,stRotation:this.textureRotationAngle,ellipsoid:this.ellipsoid,granularity:this.granularity}),id:this.id,pickPrimitive:this}):new s({geometry:new l({polygonHierarchy:this._polygonHierarchy,height:this.height,vertexFormat:u.VERTEX_FORMAT,stRotation:this.textureRotationAngle,ellipsoid:this.ellipsoid,granularity:this.granularity}),id:this.id,pickPrimitive:this}),this._primitive=new c({geometryInstances:n,appearance:new u({aboveGround:this.height>0}),asynchronous:this.asynchronous})}var o=this._primitive;o.debugShowBoundingVolume=this.debugShowBoundingVolume,o.appearance.material=this.material,o.update(e,t,i)}},d.prototype.isDestroyed=function(){return!1},d.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),n(this)},d}),r("Scene/RectangularPyramidSensorVolume",["../Core/clone","../Core/Color","../Core/defaultValue","../Core/defined","../Core/destroyObject","../Core/DeveloperError","../Core/Math","../Core/Matrix4","../Renderer/BufferUsage","./Material","./CustomSensorVolume"],function(e,t,r,i,n,o,a,s,l,u,c){"use strict";var h=function(n){n=r(n,r.EMPTY_OBJECT),this.show=r(n.show,!0),this.showIntersection=r(n.showIntersection,!0),this.showThroughEllipsoid=r(n.showThroughEllipsoid,!1),this.modelMatrix=s.clone(r(n.modelMatrix,s.IDENTITY)),this.bufferUsage=r(n.bufferUsage,l.STATIC_DRAW),this.radius=r(n.radius,Number.POSITIVE_INFINITY),this.xHalfAngle=r(n.xHalfAngle,a.PI_OVER_TWO),this._xHalfAngle=void 0,this.yHalfAngle=r(n.yHalfAngle,a.PI_OVER_TWO),this._yHalfAngle=void 0,this.material=i(n.material)?n.material:u.fromType(u.ColorType),this.intersectionColor=t.clone(r(n.intersectionColor,t.WHITE)),this.intersectionWidth=r(n.intersectionWidth,5),this.id=n.id;var o=e(n);o._pickIdThis=r(n._pickIdThis,this),this._customSensor=new c(o)};return h.prototype.update=function(e,t,r){var i=this._customSensor;if(i.show=this.show,i.showIntersection=this.showIntersection,i.showThroughEllipsoid=this.showThroughEllipsoid,i.modelMatrix=this.modelMatrix,i.bufferUsage=this.bufferUsage,i.radius=this.radius,i.material=this.material,i.intersectionColor=this.intersectionColor,i.intersectionWidth=this.intersectionWidth,i.id=this.id,this._xHalfAngle!==this.xHalfAngle||this._yHalfAngle!==this.yHalfAngle){this._xHalfAngle=this.xHalfAngle,this._yHalfAngle=this.yHalfAngle;var n=Math.tan(Math.min(this.xHalfAngle,a.toRadians(89))),o=Math.tan(Math.min(this.yHalfAngle,a.toRadians(89))),s=Math.atan(n/o),l=Math.atan(Math.sqrt(n*n+o*o));i.setDirections([{clock:s,cone:l},{clock:a.toRadians(180)-s,cone:l},{clock:a.toRadians(180)+s,cone:l},{clock:-s,cone:l}])}i.update(e,t,r)},h.prototype.isDestroyed=function(){return!1},h.prototype.destroy=function(){return this._customSensor=this._customSensor&&this._customSensor.destroy(),n(this)},h}),r("Scene/ScreenSpaceCameraController",["../Core/defined","../Core/defineProperties","../Core/destroyObject","../Core/Cartesian2","../Core/Cartesian3","../Core/Cartesian4","../Core/Cartographic","../Core/DeveloperError","../Core/Ellipsoid","../Core/KeyboardEventModifier","../Core/FAR","../Core/IntersectionTests","../Core/isArray","../Core/Math","../Core/Matrix4","../Core/Ray","../Core/Transforms","./AnimationCollection","./CameraEventAggregator","./CameraEventType","./CameraColumbusViewMode","./SceneMode"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f,v,g,_,y,C,S){"use strict";function w(e,t){if(0>e)return 0;var r=25*(1-t);return Math.exp(-r*e)}function E(e){return i.equalsEpsilon(e.startPosition,e.endPosition,m.EPSILON14)}function x(t,r,o,a,s,l,u){var c=l[u];e(c)||(c=l[u]={startPosition:new i,endPosition:new i,motion:new i,active:!1});var h=t.getButtonPressTime(r,o),d=t.getButtonReleaseTime(r,o),m=h&&d&&(d.getTime()-h.getTime())/1e3,p=new Date,f=d&&(p.getTime()-d.getTime())/1e3;if(h&&d&&H>m){var v=w(f,a);if(c.active)i.clone(c.endPosition,c.startPosition),i.multiplyByScalar(c.motion,v,c.endPosition),i.add(c.startPosition,c.endPosition,c.endPosition),n.clone(i.ZERO,c.motion);else{var g=t.getLastMovement(r,o);if(!e(g)||E(g))return;c.motion.x=.5*(g.endPosition.x-g.startPosition.x),c.motion.y=.5*(g.endPosition.y-g.startPosition.y),i.clone(g.startPosition,c.startPosition),i.multiplyByScalar(c.motion,v,c.endPosition),i.add(c.startPosition,c.endPosition,c.endPosition),c.active=!0}if(isNaN(c.endPosition.x)||isNaN(c.endPosition.y)||E(c))return c.active=!1,void 0;t.isButtonDown(r,o)||s(l,c)}else c.active=!1}function b(t,r,i,n,o,a){if(e(i)){var s=t._aggregator;d(i)||(j[0]=i,i=j);for(var l=i.length,u=0;l>u;++u){var c=i[u],h=e(c.eventType)?c.eventType:c,m=c.modifier,p=s.isMoving(h,m)&&s.getMovement(h,m);t.enableInputs&&r&&(p?n(t,p):1>o&&x(s,h,m,o,n,t,a))}}}function T(t,r,i,n,o){var a=1;e(o)&&(a=m.clamp(Math.abs(o),.25,1));var s=t.minimumZoomDistance*a,l=t.maximumZoomDistance,u=n-s,c=i*u;c=m.clamp(c,t._minimumZoomRate,t._maximumZoomRate);var h=r.endPosition.y-r.startPosition.y,d=h/t._canvas.clientHeight;d=Math.min(d,t.maximumMovementRatio);var p=c*d;p>0&&Math.abs(n-s)<1||0>p&&Math.abs(n-l)<1||(s>n-p?p=n-s-1:n-p>l&&(p=n-l),t._cameraController.zoomIn(p))}function A(e,t){var r=e._cameraController,i=r.getPickRay(t.startPosition,q).origin,o=r.getPickRay(t.endPosition,Y).origin,a=r._camera.position,s=n.subtract(i,a,X),l=n.subtract(o,a,Z),u=n.subtract(s,l,X),c=n.magnitude(u);c>0&&(n.normalize(u,u),r.move(u,c))}function P(t,r){e(r.distance)&&(r=r.distance),T(t,r,t._zoomFactor,t._cameraController.getMagnitude())}function D(t,r){if(e(r.angleAndHeight))return M(t,r.angleAndHeight),void 0;var n=t._canvas.clientWidth,o=t._canvas.clientHeight,a=J;a.x=2/n*r.startPosition.x-1,a.y=2/o*(o-r.startPosition.y)-1,i.normalize(a,a);var s=Q;s.x=2/n*r.endPosition.x-1,s.y=2/o*(o-r.endPosition.y)-1,i.normalize(s,s);var l=Math.acos(a.x);a.y<0&&(l=m.TWO_PI-l);var u=Math.acos(s.x);s.y<0&&(u=m.TWO_PI-u);var c=u-l;t._cameraController.twistRight(c)}function M(e,t){var r=e._rotateFactor*e._rotateRateRangeAdjustment;r>e._maximumRotateRate&&(r=e._maximumRotateRate),rm.EPSILON6&&(n.normalize(d,d),r.move(d,f))}function R(t,r){e(r.angleAndHeight)&&(r=r.angleAndHeight);var i=it;i.x=t._canvas.clientWidth/2,i.y=t._canvas.clientHeight/2;var o=t._cameraController.getPickRay(i,nt),a=n.UNIT_X,s=o.origin,u=o.direction,c=-n.dot(a,s)/n.dot(a,u),h=n.multiplyByScalar(u,c,ot);n.add(s,h,h);var d=p.fromTranslation(h,at),m=t._ellipsoid;t.ellipsoid=l.UNIT_SPHERE,z(t,r,d,n.UNIT_Z),t.ellipsoid=m}function L(t,r){e(r.distance)&&(r=r.distance);var i=st;i.x=t._canvas.clientWidth/2,i.y=t._canvas.clientHeight/2;var o=t._cameraController.getPickRay(i,lt),a=n.UNIT_X,s=o.origin,l=o.direction,u=-n.dot(a,s)/n.dot(a,l);T(t,r,t._zoomFactor,u)}function N(t){if(t.columbusViewMode===C.LOCKED)b(t,t.enableRotate,t.rotateEventTypes,z,t.inertiaSpin,"_lastInertiaSpinMovement"),b(t,t.enableZoom,t.zoomEventTypes,V,t.inertiaZoom,"_lastInertiaZoomMovement");else{if(t._aggregator.anyButtonDown()&&t._animationCollection.removeAll(),b(t,t.enableTilt,t.tiltEventTypes,R,t.inertiaSpin,"_lastInertiaTiltMovement"),b(t,t.enableTranslate,t.translateEventTypes,O,t.inertiaTranslate,"_lastInertiaTranslateMovement"),b(t,t.enableZoom,t.zoomEventTypes,L,t.inertiaZoom,"_lastInertiaZoomMovement"),b(t,t.enableLook,t.lookEventTypes,U),!(t._aggregator.anyButtonDown()||e(t._lastInertiaZoomMovement)&&t._lastInertiaZoomMovement.active||e(t._lastInertiaTranslateMovement)&&t._lastInertiaTranslateMovement.active||t._animationCollection.contains(t._animation))){var r=t._cameraController.createCorrectPositionAnimation(t.bounceAnimationTime);e(r)&&(t._animation=t._animationCollection.add(r))}t._animationCollection.update()}}function B(t,r){e(t._cameraController.pickEllipsoid(r.startPosition,t._ellipsoid,ut))?F(t,r):z(t,r)}function z(t,r,i,o,a){var s=t._cameraController,l=s.constrainedAxis;e(o)&&(s.constrainedAxis=o);var u=n.magnitude(s._camera.position),c=t._rotateFactor*(u-t._rotateRateRangeAdjustment);c>t._maximumRotateRate&&(c=t._maximumRotateRate),c0&&T>0||0>b&&0>T?-1:1;b=Math.abs(b);var P=v;v=x*(v*b-A*f*(1-E)),f=x*(f*E+A*P*(1-b))}}if(s.rotateRight(f,i),s.rotateUp(v,i),e(a)){var D=n.clone(s._camera.directionWC,ct),M=p.inverseTransformation(i,mt);D=p.multiplyByPointAsVector(M,D,D);var I=-n.dot(D,o),O=Math.acos(I);O>a&&(O-=a,s.rotateUp(-O,i))}s.constrainedAxis=l}function F(t,r){var i=t._cameraController,o=i.pickEllipsoid(r.startPosition,t._ellipsoid,pt),a=i.pickEllipsoid(r.endPosition,t._ellipsoid,ft);if(e(o)&&e(a))if(o=i._camera.worldToCameraCoordinates(o,o),a=i._camera.worldToCameraCoordinates(a,a),e(i.constrainedAxis)){var s=i.constrainedAxis,l=n.mostOrthogonalAxis(s,vt);n.cross(l,s,l),n.normalize(l,l);var u=n.cross(s,l,gt),c=n.magnitude(o),h=n.dot(s,o),d=Math.acos(h/c),p=n.multiplyByScalar(s,h,_t);n.subtract(o,p,p),n.normalize(p,p);var f=n.magnitude(a),v=n.dot(s,a),g=Math.acos(v/f),_=n.multiplyByScalar(s,v,yt);n.subtract(a,_,_),n.normalize(_,_);var y=Math.acos(n.dot(p,l));n.dot(p,u)<0&&(y=m.TWO_PI-y);var C=Math.acos(n.dot(_,l));n.dot(_,u)<0&&(C=m.TWO_PI-C);var S,w=y-C;S=n.equalsEpsilon(s,i._camera.position,m.EPSILON2)?i._camera.right:n.cross(s,i._camera.position,vt);var E,x=n.cross(s,S,vt),b=n.dot(x,n.subtract(o,s,gt)),T=n.dot(x,n.subtract(a,s,gt));E=b>0&&T>0?g-d:b>0&&0>=T?n.dot(i._camera.position,s)>0?-d-g:d+g:d-g,i.rotateRight(w),i.rotateUp(E)}else{n.normalize(o,o),n.normalize(a,a);var A=n.dot(o,a),P=n.cross(o,a,vt);if(1>A&&!n.equalsEpsilon(P,n.ZERO,m.EPSILON14)){var D=Math.acos(A);i.rotate(P,D)}}}function V(t,r){e(r.distance)&&(r=r.distance);var i=t._cameraController._camera,o=t._ellipsoid,a=o.cartesianToCartographic(i.position).height,s=n.normalize(i.position,Ct);T(t,r,t._zoomFactor,a,n.dot(s,i.direction))}function k(t,r){e(r.angleAndHeight)&&(r=r.angleAndHeight);var i=t._cameraController,o=t._ellipsoid,a=.25*t.minimumZoomDistance,s=o.cartesianToCartographic(t._cameraController._camera.positionWC).height;if(!(s-a-1c&&(u=Math.acos(c)),u=r.startPosition.x>r.endPosition.x?-u:u;var h=t._horizontalRotationAxis;e(h)?i.look(h,u):i.lookLeft(u),o.x=0,o.y=r.startPosition.y,a.x=0,a.y=r.endPosition.y,s=i.getPickRay(o,Pt).direction,l=i.getPickRay(a,Dt).direction,u=0,c=n.dot(s,l),1>c&&(u=Math.acos(c)),u=r.startPosition.y>r.endPosition.y?-u:u,i.lookUp(u)}function W(e){b(e,e.enableRotate,e.rotateEventTypes,B,e.inertiaSpin,"_lastInertiaSpinMovement"),b(e,e.enableZoom,e.zoomEventTypes,V,e.inertiaZoom,"_lastInertiaZoomMovement"),b(e,e.enableTilt,e.tiltEventTypes,k,e.inertiaSpin,"_lastInertiaTiltMovement"),b(e,e.enableLook,e.lookEventTypes,U)}var G=function(e,t){this.enableInputs=!0,this.enableTranslate=!0,this.enableZoom=!0,this.enableRotate=!0,this.enableTilt=!0,this.enableLook=!0,this.inertiaSpin=.9,this.inertiaTranslate=.9,this.inertiaZoom=.8,this.maximumMovementRatio=.1,this.columbusViewMode=C.FREE,this.bounceAnimationTime=3e3,this.minimumZoomDistance=20,this.maximumZoomDistance=Number.POSITIVE_INFINITY,this.translateEventTypes=y.LEFT_DRAG,this.zoomEventTypes=[y.RIGHT_DRAG,y.WHEEL,y.PINCH],this.rotateEventTypes=y.LEFT_DRAG,this.tiltEventTypes=[y.MIDDLE_DRAG,y.PINCH,{eventType:y.LEFT_DRAG,modifier:u.CTRL}],this.lookEventTypes={eventType:y.LEFT_DRAG,modifier:u.SHIFT},this._canvas=e,this._cameraController=t,this._ellipsoid=l.WGS84,this._aggregator=new _(e),this._lastInertiaSpinMovement=void 0,this._lastInertiaZoomMovement=void 0,this._lastInertiaTranslateMovement=void 0,this._lastInertiaWheelZoomMovement=void 0,this._lastInertiaTiltMovement=void 0,this._animationCollection=new g,this._animation=void 0,this._horizontalRotationAxis=void 0;var r=this._ellipsoid.maximumRadius;this._zoomFactor=5,this._rotateFactor=1/r,this._rotateRateRangeAdjustment=r,this._maximumRotateRate=1.77,this._minimumRotateRate=2e-4,this._translateFactor=1,this._minimumZoomRate=20,this._maximumZoomRate=c};t(G.prototype,{ellipsoid:{get:function(){return this._ellipsoid},set:function(e){var t=e.maximumRadius;this._ellipsoid=e,this._rotateFactor=1/t,this._rotateRateRangeAdjustment=t}}});var H=.4,j=[],q=new f,Y=new f,X=new n,Z=new n,J=new i,Q=new i,K=new f,$=new f,et=new n,tt=new n,rt=new n,it=new i,nt=new f,ot=new n,at=new p,st=new i,lt=new f,ut=new n,ct=n.clone(n.ZERO),ht=new n,dt=new n,mt=new p,pt=o.clone(o.UNIT_W),ft=o.clone(o.UNIT_W),vt=new n,gt=new n,_t=new n,yt=new n,Ct=new n,St=new i,wt=new f,Et=new a,xt=o.clone(o.UNIT_W),bt=new p,Tt=new i,At=new i,Pt=new f,Dt=new f;return G.prototype.update=function(e){e===S.SCENE2D?I(this):e===S.COLUMBUS_VIEW?(this._horizontalRotationAxis=n.UNIT_Z,N(this)):e===S.SCENE3D&&(this._horizontalRotationAxis=void 0,W(this)),this._aggregator.reset()},G.prototype.isDestroyed=function(){return!1},G.prototype.destroy=function(){return this._animationCollection.removeAll(),this._spinHandler=this._spinHandler&&this._spinHandler.destroy(),this._translateHandler=this._translateHandler&&this._translateHandler.destroy(),this._lookHandler=this._lookHandler&&this._lookHandler.destroy(),this._rotateHandler=this._rotateHandler&&this._rotateHandler.destroy(),this._zoomHandler=this._zoomHandler&&this._zoomHandler.destroy(),this._zoomWheelHandler=this._zoomWheelHandler&&this._zoomWheelHandler.destroy(),this._pinchHandler=this._pinchHandler&&this._pinchHandler.destroy(),r(this)},G}),r("Shaders/PostProcessFilters/AdditiveBlend",[],function(){"use strict";return"uniform sampler2D u_texture0;\nuniform sampler2D u_texture1;\nuniform vec2 u_center;\nuniform float u_radius;\nvarying vec2 v_textureCoordinates;\nvoid main()\n{\nvec4 color0 = texture2D(u_texture0, v_textureCoordinates);\nvec4 color1 = texture2D(u_texture1, v_textureCoordinates);\nfloat x = length(gl_FragCoord.xy - u_center) / u_radius;\nfloat t = smoothstep(0.5, 0.8, x);\ngl_FragColor = mix(color0 + color1, color0, t);\n}\n"}),r("Shaders/PostProcessFilters/BrightPass",[],function(){"use strict";return"uniform sampler2D u_texture;\nuniform float u_avgLuminance;\nuniform float u_threshold;\nuniform float u_offset;\nvarying vec2 v_textureCoordinates;\nfloat key(float avg)\n{\nfloat guess = 1.5 - (1.5 / (avg * 0.1 + 1.0));\nreturn max(0.0, guess) + 0.1;\n}\nvoid main()\n{\nvec4 color = texture2D(u_texture, v_textureCoordinates);\nvec3 xyz = czm_RGBToXYZ(color.rgb);\nfloat luminance = xyz.r;\nfloat scaledLum = key(u_avgLuminance) * luminance / u_avgLuminance;\nfloat brightLum = max(scaledLum - u_threshold, 0.0);\nfloat brightness = brightLum / (u_offset + brightLum);\nxyz.r = brightness;\ngl_FragColor = vec4(czm_XYZToRGB(xyz), 1.0);\n}\n"}),r("Shaders/PostProcessFilters/GaussianBlur1D",[],function(){"use strict";return"#define SAMPLES 8\nuniform float delta;\nuniform float sigma;\nuniform float direction;\nuniform sampler2D u_texture;\nuniform vec2 u_step;\nvarying vec2 v_textureCoordinates;\nvoid main()\n{\nvec2 st = v_textureCoordinates;\nvec2 dir = vec2(1.0 - direction, direction);\nvec3 g;\ng.x = 1.0 / (sqrt(czm_twoPi) * sigma);\ng.y = exp((-0.5 * delta * delta) / (sigma * sigma));\ng.z = g.y * g.y;\nvec4 result = texture2D(u_texture, st) * g.x;\nfor (int i = 1; i < SAMPLES; ++i)\n{\ng.xy *= g.yz;\nvec2 offset = float(i) * dir * u_step;\nresult += texture2D(u_texture, st - offset) * g.x;\nresult += texture2D(u_texture, st + offset) * g.x;\n}\ngl_FragColor = result;\n}\n"}),r("Shaders/PostProcessFilters/PassThrough",[],function(){"use strict";return"uniform sampler2D u_texture;\nvarying vec2 v_textureCoordinates;\nvoid main()\n{\ngl_FragColor = texture2D(u_texture, v_textureCoordinates);\n}\n"}),r("Shaders/ViewportQuadVS",[],function(){"use strict";return"attribute vec4 position;\nattribute vec2 textureCoordinates;\nvarying vec2 v_textureCoordinates;\nvoid main()\n{\ngl_Position = position;\nv_textureCoordinates = textureCoordinates;\n}\n"}),r("Scene/SunPostProcess",["../Core/BoundingRectangle","../Core/Cartesian2","../Core/Cartesian4","../Core/Color","../Core/ComponentDatatype","../Core/defaultValue","../Core/defined","../Core/destroyObject","../Core/Geometry","../Core/GeometryAttribute","../Core/Math","../Core/Matrix4","../Core/PrimitiveType","../Core/Transforms","../Renderer/BufferUsage","../Renderer/ClearCommand","../Renderer/DrawCommand","../Renderer/PassState","../Renderer/PixelDatatype","../Renderer/PixelFormat","../Renderer/RenderbufferFormat","../Shaders/PostProcessFilters/AdditiveBlend","../Shaders/PostProcessFilters/BrightPass","../Shaders/PostProcessFilters/GaussianBlur1D","../Shaders/PostProcessFilters/PassThrough","../Shaders/ViewportQuadVS"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f,v,g,_,y,C,S,w,E,x,b){"use strict";function T(e){var t=e.cache.viewportQuad_vertexArray;if(a(t))return t;var r=new l({attributes:{position:new u({componentDatatype:n.FLOAT,componentsPerAttribute:2,values:[-1,-1,1,-1,1,1,-1,1]}),textureCoordinates:new u({componentDatatype:n.FLOAT,componentsPerAttribute:2,values:[0,0,1,0,1,1,0,1]})},primitiveType:d.TRIANGLES});return t=e.createVertexArrayFromGeometry({geometry:r,attributeLocations:P,bufferUsage:p.STATIC_DRAW}),e.cache.viewportQuad_vertexArray=t,t +}var A=function(){this._fbo=void 0,this._downSampleFBO1=void 0,this._downSampleFBO2=void 0,this._clearFBO1Command=void 0,this._clearFBO2Command=void 0,this._downSampleCommand=void 0,this._brightPassCommand=void 0,this._blurXCommand=void 0,this._blurYCommand=void 0,this._blendCommand=void 0,this._fullScreenCommand=void 0,this._downSamplePassState=new g,this._downSamplePassState.scissorTest={enable:!0,rectangle:new e},this._upSamplePassState=new g,this._upSamplePassState.scissorTest={enabled:!0,rectangle:new e},this._uCenter=new t,this._uRadius=void 0,this._blurStep=new t};A.prototype.clear=function(e,t){var r=this._clearFBO1Command;i.clone(o(t,i.BLACK),r.color),r.execute(e),r=this._clearFBO2Command,i.clone(o(t,i.BLACK),r.color),r.execute(e)},A.prototype.execute=function(e){this._downSampleCommand.execute(e,this._downSamplePassState),this._brightPassCommand.execute(e,this._downSamplePassState),this._blurXCommand.execute(e,this._downSamplePassState),this._blurYCommand.execute(e,this._downSamplePassState),this._fullScreenCommand.execute(e),this._blendCommand.execute(e,this._upSamplePassState)};var P={position:0,textureCoordinates:1},D=new e,M=new e,I=new r,O=new t,R=new t,L=new h;return A.prototype.update=function(e){var r=e.getDrawingBufferWidth(),n=e.getDrawingBufferHeight(),o=this;if(!a(this._downSampleCommand)){this._clearFBO1Command=new f,this._clearFBO1Command.color=new i,this._clearFBO2Command=new f,this._clearFBO2Command.color=new i;var s=d.TRIANGLE_FAN,l=T(e),u=this._downSampleCommand=new v;u.owner=this,u.primitiveType=s,u.vertexArray=l,u.shaderProgram=e.getShaderCache().getShaderProgram(b,x,P),u.uniformMap={};var p=this._brightPassCommand=new v;p.owner=this,p.primitiveType=s,p.vertexArray=l,p.shaderProgram=e.getShaderCache().getShaderProgram(b,w,P),p.uniformMap={u_avgLuminance:function(){return.5},u_threshold:function(){return.25},u_offset:function(){return.1}};var g=1,A=2,N=this._blurXCommand=new v;N.owner=this,N.primitiveType=s,N.vertexArray=l,N.shaderProgram=e.getShaderCache().getShaderProgram(b,E,P),N.uniformMap={delta:function(){return g},sigma:function(){return A},direction:function(){return 0}};var B=this._blurYCommand=new v;B.owner=this,B.primitiveType=s,B.vertexArray=l,B.shaderProgram=e.getShaderCache().getShaderProgram(b,E,P),B.uniformMap={delta:function(){return g},sigma:function(){return A},direction:function(){return 1}};var z=this._blendCommand=new v;z.owner=this,z.primitiveType=s,z.vertexArray=l,z.shaderProgram=e.getShaderCache().getShaderProgram(b,S,P),z.uniformMap={u_center:function(){return o._uCenter},u_radius:function(){return o._uRadius}};var F=this._fullScreenCommand=new v;F.owner=this,F.primitiveType=s,F.vertexArray=l,F.shaderProgram=e.getShaderCache().getShaderProgram(b,x,P),F.uniformMap={}}var V=Math.pow(2,Math.ceil(Math.log(r)/Math.log(2))-2),k=Math.pow(2,Math.ceil(Math.log(n)/Math.log(2))-2),U=Math.max(V,k),W=D;W.width=r,W.height=n;var G=M;G.width=U,G.height=U;var H=this._fbo,j=a(H)&&H.getColorTexture(0)||void 0;if(!a(j)||j.getWidth()!==r||j.getHeight()!==n){H=H&&H.destroy(),this._downSampleFBO1=this._downSampleFBO1&&this._downSampleFBO1.destroy(),this._downSampleFBO2=this._downSampleFBO2&&this._downSampleFBO2.destroy(),this._blurStep.x=this._blurStep.y=1/U;var q=[e.createTexture2D({width:r,height:n})];H=this._fbo=e.getDepthTexture()?e.createFramebuffer({colorTextures:q,depthTexture:e.createTexture2D({width:r,height:n,pixelFormat:y.DEPTH_COMPONENT,pixelDatatype:_.UNSIGNED_SHORT})}):e.createFramebuffer({colorTextures:q,depthRenderbuffer:e.createRenderbuffer({format:C.DEPTH_COMPONENT16})}),this._downSampleFBO1=e.createFramebuffer({colorTextures:[e.createTexture2D({width:U,height:U})]}),this._downSampleFBO2=e.createFramebuffer({colorTextures:[e.createTexture2D({width:U,height:U})]}),this._clearFBO1Command.framebuffer=this._downSampleFBO1,this._clearFBO2Command.framebuffer=this._downSampleFBO2,this._downSampleCommand.framebuffer=this._downSampleFBO1,this._brightPassCommand.framebuffer=this._downSampleFBO2,this._blurXCommand.framebuffer=this._downSampleFBO1,this._blurYCommand.framebuffer=this._downSampleFBO2;var Y=e.createRenderState({viewport:G}),X=e.createRenderState();this._downSampleCommand.uniformMap.u_texture=function(){return H.getColorTexture(0)},this._downSampleCommand.renderState=Y,this._brightPassCommand.uniformMap.u_texture=function(){return o._downSampleFBO1.getColorTexture(0)},this._brightPassCommand.renderState=Y,this._blurXCommand.uniformMap.u_texture=function(){return o._downSampleFBO2.getColorTexture(0)},this._blurXCommand.uniformMap.u_step=function(){return o._blurStep},this._blurXCommand.renderState=Y,this._blurYCommand.uniformMap.u_texture=function(){return o._downSampleFBO1.getColorTexture(0)},this._blurYCommand.uniformMap.u_step=function(){return o._blurStep},this._blurYCommand.renderState=Y,this._blendCommand.uniformMap.u_texture0=function(){return H.getColorTexture(0)},this._blendCommand.uniformMap.u_texture1=function(){return o._downSampleFBO2.getColorTexture(0)},this._blendCommand.renderState=X,this._fullScreenCommand.uniformMap.u_texture=function(){return H.getColorTexture(0)},this._fullScreenCommand.renderState=X}var Z=e.getUniformState(),J=Z.getSunPositionWC(),Q=Z.getView(),K=Z.getViewProjection(),$=Z.getProjection(),et=h.computeViewportTransformation(W,0,1,L),tt=h.multiplyByPoint(Q,J,I),rt=m.pointToWindowCoordinates(K,et,J,O);tt.x+=c.SOLAR_RADIUS;var it=m.pointToWindowCoordinates($,et,tt,tt),nt=2*30*t.magnitude(t.subtract(it,rt,it)),ot=R;ot.x=nt,ot.y=nt;var at=this._upSamplePassState.scissorTest.rectangle;return at.x=Math.max(rt.x-.5*ot.x,0),at.y=Math.max(rt.y-.5*ot.y,0),at.width=Math.min(ot.x,r),at.height=Math.min(ot.y,n),t.clone(rt,this._uCenter),this._uRadius=.5*Math.max(ot.x,ot.y),et=h.computeViewportTransformation(G,0,1,L),rt=m.pointToWindowCoordinates(K,et,J,O),ot.x*=V/r,ot.y*=k/n,at=this._downSamplePassState.scissorTest.rectangle,at.x=Math.max(rt.x-.5*ot.x,0),at.y=Math.max(rt.y-.5*ot.y,0),at.width=Math.min(ot.x,r),at.height=Math.min(ot.y,n),this._downSamplePassState.context=e,this._upSamplePassState.context=e,this._fbo},A.prototype.isDestroyed=function(){return!1},A.prototype.destroy=function(){return this._fbo=this._fbo&&this._fbo.destroy(),this._downSampleFBO1=this._downSampleFBO1&&this._downSampleFBO1.destroy(),this._downSampleFBO2=this._downSampleFBO2&&this._downSampleFBO2.destroy(),this._downSampleCommand=this._downSampleCommand&&this._downSampleCommand.shaderProgram&&this._downSampleCommand.shaderProgram.release(),this._brightPassCommand=this._brightPassCommand&&this._brightPassCommand.shaderProgram&&this._brightPassCommand.shaderProgram.release(),this._blurXCommand=this._blurXCommand&&this._blurXCommand.shaderProgram&&this._blurXCommand.shaderProgram.release(),this._blurYCommand=this._blurYCommand&&this._blurYCommand.shaderProgram&&this._blurYCommand.shaderProgram.release(),this._blendCommand=this._blendCommand&&this._blendCommand.shaderProgram&&this._blendCommand.shaderProgram.release(),this._fullScreenCommand=this._fullScreenCommand&&this._fullScreenCommand.shaderProgram&&this._fullScreenCommand.shaderProgram.release(),s(this)},A}),r("Scene/Scene",["../Core/Math","../Core/Color","../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/destroyObject","../Core/DeveloperError","../Core/GeographicProjection","../Core/Ellipsoid","../Core/Occluder","../Core/BoundingRectangle","../Core/BoundingSphere","../Core/Cartesian2","../Core/Cartesian3","../Core/Intersect","../Core/Interval","../Core/Matrix4","../Core/JulianDate","../Core/EllipsoidGeometry","../Core/GeometryInstance","../Core/GeometryPipeline","../Core/ColorGeometryInstanceAttribute","../Core/ShowGeometryInstanceAttribute","../Renderer/Context","../Renderer/ClearCommand","../Renderer/PassState","../Renderer/Pass","./Camera","./ScreenSpaceCameraController","./CompositePrimitive","./CullingVolume","./AnimationCollection","./SceneMode","./SceneTransforms","./FrameState","./OrthographicFrustum","./PerspectiveFrustum","./PerspectiveOffCenterFrustum","./FrustumCommands","./PerformanceDisplay","./Primitive","./PerInstanceColorAppearance","./SunPostProcess","./CreditDisplay"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f,v,g,_,y,C,S,w,E,x,b,T,A,P,D,M,I,O,R,L,N,B,z,F,V,k,U,W,G){"use strict";function H(e){var t=e._primitives.centralBody;if(e.mode===O.SCENE3D&&i(t)){var r=t.ellipsoid;return ct.radius=r.minimumRadius,ut=u.fromBoundingSphere(ct,e._camera.positionWC,ut)}return void 0}function j(e){e.render=!1,e.pick=!1}function q(e,t,r){var i=e._camera,n=e._frameState;n.mode=e.mode,n.morphTime=e.morphTime,n.scene2D=e.scene2D,n.frameNumber=t,n.time=g.clone(r,n.time),n.camera=i,n.cullingVolume=i.frustum.computeCullingVolume(i.positionWC,i.directionWC,i.upWC),n.occluder=H(e),n.afterRender.length=0,j(n.passes)}function Y(e,t,r,n,o){o.length=n;for(var a=0;n>a;++a){var s=Math.max(e,Math.pow(r,a)*e),l=Math.min(t,r*s),u=o[a];i(u)?(u.near=s,u.far=l):u=o[a]=new F(s,l)}}function X(e,t,r){e.debugShowFrustums&&(t.debugOverlappingFrustums=0);for(var n=e._frustumCommandsList,o=n.length,a=0;o>a;++a){var s=n[a],l=s.near,u=s.far;if(!(r.start>u)){if(r.stopc;++c)l[c].opaqueIndex=0,l[c].translucentIndex=0;var h,d=Number.MAX_VALUE,m=Number.MIN_VALUE,f=!1;e._frameState.mode===O.SCENE3D&&(h=e._frameState.occluder);for(var v=ht.planes,g=0;5>g;++g)v[g]=n.planes[g];n=ht;for(var _=t.length,y=0;_>y;++y){var C=t[y],S=C.pass;if(S===T.OVERLAY)r.push(C);else{var w=C.boundingVolume;if(i(w)){if(C.cull&&(n.getVisibility(w)===p.OUTSIDE||i(h)&&!h.isBoundingSphereVisible(w)))continue;dt=w.getPlaneDistances(s,a,dt),d=Math.min(d,dt.start),m=Math.max(m,dt.stop)}else dt.start=o.frustum.near,dt.stop=o.frustum.far,f=!(C instanceof x);X(e,C,dt)}}f?(d=o.frustum.near,m=o.frustum.far):(d=Math.min(Math.max(d,o.frustum.near),o.frustum.far),m=Math.max(Math.min(m,o.frustum.far),d));var E=e.farToNearRatio,b=Math.ceil(Math.log(m/d)/Math.log(E));d!==Number.MAX_VALUE&&(b!==u||0!==l.length&&(dl[u-1].far))&&(Y(d,m,E,b,l),Z(e))}function J(e){var t={},r=e.getVertexAttributes();for(var i in r)r.hasOwnProperty(i)&&(t[i]=r[i].index);return t}function Q(e,r){var n=e.shaderProgram.fragmentShaderSource,o=n.replace(/void\s+main\s*\(\s*(?:void)?\s*\)/g,"void czm_Debug_main()"),a="void main() \n{ \n czm_Debug_main(); \n";if(r.debugShowCommands){i(e._debugColor)||(e._debugColor=t.fromRandom());var s=e._debugColor;a+=" gl_FragColor.rgb *= vec3("+s.red+", "+s.green+", "+s.blue+"); \n"}if(r.debugShowFrustums){var l=1&e.debugOverlappingFrustums?"1.0":"0.0",u=2&e.debugOverlappingFrustums?"1.0":"0.0",c=4&e.debugOverlappingFrustums?"1.0":"0.0";a+=" gl_FragColor.rgb *= vec3("+l+", "+u+", "+c+"); \n"}return a+="}",o+"\n"+a}function K(e,t,r,n){if(i(e.shaderProgram)){var o=e.shaderProgram,a=J(o);e.shaderProgram=r.getShaderCache().getShaderProgram(o.vertexShaderSource,Q(e,t),a),e.execute(r,n),e.shaderProgram.release(),e.shaderProgram=o}}function $(e,t,r,n){if((!i(t.debugCommandFilter)||t.debugCommandFilter(e))&&(t.debugShowCommands||t.debugShowFrustums?K(e,t,r,n):e.execute(r,n),e.debugShowBoundingVolume&&i(e.boundingVolume))){if(!i(t._debugSphere)){var o=_.createGeometry(new _({ellipsoid:l.UNIT_SPHERE,vertexFormat:U.FLAT_VERTEX_FORMAT}));t._debugSphere=new k({geometryInstances:new y({geometry:C.toWireframe(o),attributes:{color:new S(1,0,0,1)}}),appearance:new U({flat:!0,translucent:!1}),asynchronous:!1})}var a=v.multiplyByTranslation(v.IDENTITY,e.boundingVolume.center);t._debugSphere.modelMatrix=v.multiplyByUniformScale(a,e.boundingVolume.radius);var s=[];t._debugSphere.update(r,t._frameState,s),s[0].execute(r,n)}}function et(e,t){if(i(e)){for(var r=t.mode===O.SCENE3D?t.occluder:void 0,n=t.cullingVolume,o=ht.planes,a=0;5>a;++a)o[a]=n.planes[a];n=ht;var s=e.boundingVolume;return i(e)&&(!i(e.boundingVolume)||!e.cull||n.getVisibility(s)!==p.OUTSIDE&&(!i(r)||r.isBoundingSphereVisible(s)))}}function tt(e,r,n){var o,a=e._frameState,s=e._camera,l=e._context,u=l.getUniformState();o=i(s.frustum.fovy)?s.frustum.clone(mt):i(s.frustum.infiniteProjectionMatrix)?s.frustum.clone(pt):s.frustum.clone(ft),i(e.sun)&&e.sunBloom!==e._sunBloom?(e._sunPostProcess=e.sunBloom?new W:e._sunPostProcess.destroy(),e._sunBloom=e.sunBloom):!i(e.sun)&&i(e._sunPostProcess)&&(e._sunPostProcess=e._sunPostProcess.destroy(),e._sunBloom=!1);var c=a.passes.render&&i(e.skyBox)?e.skyBox.update(l,a):void 0,h=a.passes.render&&i(e.skyAtmosphere)?e.skyAtmosphere.update(l,a):void 0,d=a.passes.render&&i(e.sun)?e.sun.update(l,a):void 0,m=et(d,a);m&&e.sunBloom&&(r.framebuffer=e._sunPostProcess.update(l));var p=e._clearColorCommand;t.clone(n,p.color),p.execute(l,r),m&&e.sunBloom&&e._sunPostProcess.clear(l,e.backgroundColor),o.near=s.frustum.near,o.far=s.frustum.far,u.updateFrustum(o),i(c)&&$(c,e,l,r),i(h)&&$(h,e,l,r),i(d)&&m&&(d.execute(l,r),e.sunBloom&&(e._sunPostProcess.execute(l),r.framebuffer=void 0));for(var f=e._clearDepthStencilCommand,v=e._frustumCommandsList,g=v.length,_=0;g>_;++_){f.execute(l,r);var y=g-_-1,C=v[y];o.near=C.near,o.far=C.far,0!==y&&(o.near*=.99),u.updateFrustum(o);var S,w=C.opaqueCommands,E=C.opaqueIndex;for(S=0;E>S;++S)$(w[S],e,l,r);for(o.near=C.near,u.updateFrustum(o),w=C.translucentCommands,E=w.length=C.translucentIndex,S=0;E>S;++S)$(w[S],e,l,r)}}function rt(e,t){for(var r=e._context,i=e._overlayCommandList,n=i.length,o=0;n>o;++o)i[o].execute(r,t)}function it(e){var t=e._context,r=e._frameState,n=e._commandList;e._primitives.update(t,r,n),i(e.moon)&&e.moon.update(t,r,n)}function nt(e){for(var t=e.afterRender,r=0,i=t.length;i>r;++r)t[r]();t.length=0}function ot(e,t){var r=e._context,i=e._camera,n=i.frustum,o=r.getDrawingBufferWidth(),a=r.getDrawingBufferHeight(),s=2/o*t.x-1;s*=.5*(n.right-n.left);var l=2/a*(a-t.y)-1;l*=.5*(n.top-n.bottom);var u=m.clone(i.position,gt);m.multiplyByScalar(i.right,s,_t),m.add(_t,u,u),m.multiplyByScalar(i.up,l,_t),m.add(_t,u,u),m.fromElements(u.z,u.x,u.y,u),yt.x=o,yt.y=a;var c=n.getPixelSize(yt,void 0,Ct),h=vt;return h.right=.5*c.x,h.left=-h.right,h.top=.5*c.y,h.bottom=-h.top,h.near=n.near,h.far=n.far,h.computeCullingVolume(u,i.directionWC,i.upWC)}function at(e,t,r,i){var n=e._context,o=e._camera,a=o.frustum,s=a.near,l=n.getDrawingBufferWidth(),u=n.getDrawingBufferHeight(),c=Math.tan(.5*a.fovy),h=a.aspectRatio*c,d=2/l*t.x-1,m=2/u*(u-t.y)-1,p=d*s*h,f=m*s*c;yt.x=l,yt.y=u;var v=a.getPixelSize(yt,void 0,Ct),g=.5*v.x*r,_=.5*v.y*i,y=St;return y.top=f+_,y.bottom=f-_,y.right=p+g,y.left=p-g,y.near=s,y.far=a.far,y.computeCullingVolume(o.positionWC,o.directionWC,o.upWC)}function st(e,t,r,i){return e.mode===O.SCENE2D?ot(e,t,r,i):at(e,t,r,i)}var lt=function(e,r,n){var o=new E(e,r);i(n)||(n=document.createElement("div"),n.style.position="absolute",n.style.bottom="0",n.style["text-shadow"]="0px 0px 2px #000000",n.style.color="#ffffff",n.style["font-size"]="10px",n.style["padding-right"]="5px",e.parentNode.appendChild(n)),this._frameState=new L(new G(n)),this._passState=new b(o),this._canvas=e,this._context=o,this._primitives=new D,this._pickFramebuffer=void 0,this._camera=new A(o),this._screenSpaceCameraController=new P(e,this._camera.controller),this._animations=new I,this._shaderFrameCount=0,this._sunPostProcess=void 0,this._commandList=[],this._frustumCommandsList=[],this._overlayCommandList=[],this._clearColorCommand=new x,this._clearColorCommand.color=new t,this._clearColorCommand.owner=!0;var a=new x;a.depth=1,a.stencil=1,a.owner=this,this._clearDepthStencilCommand=a,this.skyBox=void 0,this.skyAtmosphere=void 0,this.sun=void 0,this.sunBloom=!0,this._sunBloom=void 0,this.moon=void 0,this.backgroundColor=t.clone(t.BLACK),this.mode=O.SCENE3D,this.scene2D={projection:new s(l.WGS84)},this.morphTime=1,this.farToNearRatio=1e3,this.debugCommandFilter=void 0,this.debugShowCommands=!1,this.debugShowFrustums=!1,this.debugFrustumStatistics=void 0,this.debugShowFramesPerSecond=!1,this._performanceDisplay=void 0,this._debugSphere=void 0;var u=this._camera.frustum.near,c=this._camera.frustum.far,h=Math.ceil(Math.log(c/u)/Math.log(this.farToNearRatio));Y(u,c,this.farToNearRatio,h,this._frustumCommandsList),q(this,0,new g),this.initializeFrame()};n(lt.prototype,{canvas:{get:function(){return this._canvas}},context:{get:function(){return this._context}},primitives:{get:function(){return this._primitives}},camera:{get:function(){return this._camera}},screenSpaceCameraController:{get:function(){return this._screenSpaceCameraController}},frameState:{get:function(){return this._frameState}},animations:{get:function(){return this._animations}}});var ut,ct=new h,ht=new M,dt=new f,mt=new B,pt=new z,ft=new N;lt.prototype.initializeFrame=function(){120===this._shaderFrameCount++&&(this._shaderFrameCount=0,this._context.getShaderCache().destroyReleasedShaderPrograms()),this._animations.update(),this._camera.controller.update(this.mode,this.scene2D),this._screenSpaceCameraController.update(this.mode)},lt.prototype.render=function(n){i(n)||(n=new g);var o=this.context.getUniformState(),a=this._frameState,s=e.incrementWrap(a.frameNumber,15e6,1);q(this,s,n),a.passes.render=!0,a.creditDisplay.beginFrame();var l=this._context;o.update(l,a),this._commandList.length=0,this._overlayCommandList.length=0,it(this),Z(this);var u=this._passState;if(tt(this,u,r(this.backgroundColor,t.BLACK)),rt(this,u),a.creditDisplay.endFrame(),this.debugShowFramesPerSecond){if(!i(this._performanceDisplay)){var c=document.createElement("div");c.style.position="absolute",c.style.top="10px",c.style.left="10px";var h=this._canvas.parentNode;h.appendChild(c);var d=new V({container:c});this._performanceDisplay=d,this._performanceContainer=c}this._performanceDisplay.update()}else i(this._performanceDisplay)&&(this._performanceDisplay=this._performanceDisplay&&this._performanceDisplay.destroy(),this._performanceContainer.parentNode.removeChild(this._performanceContainer));l.endFrame(),nt(a)};var vt=new N,gt=new m,_t=new m,yt=new d,Ct=new d,St=new z,wt=3,Et=3,xt=new c(0,0,wt,Et),bt=new t(0,0,0,0),Tt=new d;return lt.prototype.pick=function(e){var t=this._context,r=this.context.getUniformState(),n=this._frameState,o=R.transformWindowToDrawingBuffer(t,e,Tt);i(this._pickFramebuffer)||(this._pickFramebuffer=t.createPickFramebuffer()),q(this,n.frameNumber,n.time),n.cullingVolume=st(this,o,wt,Et),n.passes.pick=!0,r.update(t,n),this._commandList.length=0,it(this),Z(this),xt.x=o.x-.5*(wt-1),xt.y=t.getDrawingBufferHeight()-o.y-.5*(Et-1),tt(this,this._pickFramebuffer.begin(xt),bt);var a=this._pickFramebuffer.end(xt);return t.endFrame(),nt(n),a},lt.prototype.drillPick=function(e){for(var t=[],r=this.pick(e);i(r)&&i(r.primitive);){var n=r.primitive;if(t.push(r),i(n.show))n.show=!1;else if("function"==typeof n.setShow)n.setShow(!1);else if("function"==typeof n.getGeometryInstanceAttributes){var o=n.getGeometryInstanceAttributes(r.id);i(o)&&i(o.show)&&(o.show=w.toValue(!1))}r=this.pick(e)}for(var a=0;aE&&(S=0);var x=(E-S)*r;if(xr;++r)e[r].destroy();this._sensors=[]},s.prototype.contains=function(e){return e?-1!==this._sensors.indexOf(e):!1},s.prototype.get=function(e){return this._sensors[e]},s.prototype.update=function(e,t,r){var i=t.mode;if(i===a.SCENE3D)for(var n=this._sensors,o=n.length,s=0;o>s;++s)n[s].update(e,t,r)},s.prototype.isDestroyed=function(){return!1},s.prototype.destroy=function(){return this.removeAll(),r(this)},s}),r("Scene/SingleTileImageryProvider",["../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/loadImage","../Core/DeveloperError","../Core/Event","../Core/Extent","./Credit","./GeographicTilingScheme","./TileProviderError","../ThirdParty/when"],function(e,t,r,i,n,o,a,s,l,u,c){"use strict";var h=function(r){function n(e){C._image=e,C._tileWidth=e.width,C._tileHeight=e.height,C._ready=!0,u.handleSuccess(C._errorEvent)}function h(){var e="Failed to load image "+g+".";y=u.handleError(y,C,C._errorEvent,e,0,0,0,d)}function d(){c(i(g),n,h)}r=e(r,{});var m=r.url;this._url=m;var p=r.proxy;this._proxy=p;var f=e(r.extent,a.MAX_VALUE),v=new l({extent:f,numberOfLevelZeroTilesX:1,numberOfLevelZeroTilesY:1});this._tilingScheme=v,this._image=void 0,this._texture=void 0,this._tileWidth=0,this._tileHeight=0,this._errorEvent=new o,this._ready=!1;var g=m;t(p)&&(g=p.getURL(g));var _=r.credit;"string"==typeof _&&(_=new s(_)),this._credit=_;var y,C=this;d()};return r(h.prototype,{url:{get:function(){return this._url}},proxy:{get:function(){return this._proxy}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return 0}},minimumLevel:{get:function(){return 0}},tilingScheme:{get:function(){return this._tilingScheme}},extent:{get:function(){return this._tilingScheme.extent}},tileDiscardPolicy:{get:function(){return void 0}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return this._ready}},credit:{get:function(){return this._credit}}}),h.prototype.getTileCredits=function(){return void 0},h.prototype.requestImage=function(){return this._image},h}),r("Shaders/SkyAtmosphereVS",[],function(){"use strict";return"attribute vec4 position;\nuniform float fCameraHeight;\nuniform float fCameraHeight2;\nuniform float fOuterRadius;\nuniform float fOuterRadius2;\nuniform float fInnerRadius;\nuniform float fScale;\nuniform float fScaleDepth;\nuniform float fScaleOverScaleDepth;\nconst float Kr = 0.0025;\nconst float fKr4PI = Kr * 4.0 * czm_pi;\nconst float Km = 0.0015;\nconst float fKm4PI = Km * 4.0 * czm_pi;\nconst float ESun = 15.0;\nconst float fKmESun = Km * ESun;\nconst float fKrESun = Kr * ESun;\nconst vec3 v3InvWavelength = vec3(\n5.60204474633241,\n9.473284437923038,\n19.643802610477206);\nconst float rayleighScaleDepth = 0.25;\nconst int nSamples = 2;\nconst float fSamples = 2.0;\nvarying vec3 v_rayleighColor;\nvarying vec3 v_mieColor;\nvarying vec3 v_toCamera;\nvarying vec3 v_positionEC;\nfloat scale(float fCos)\n{\nfloat x = 1.0 - fCos;\nreturn fScaleDepth * exp(-0.00287 + x*(0.459 + x*(3.83 + x*(-6.80 + x*5.25))));\n}\nvoid main(void)\n{\nvec3 v3Pos = position.xyz;\nvec3 v3Ray = v3Pos - czm_viewerPositionWC;\nfloat fFar = length(v3Ray);\nv3Ray /= fFar;\n#ifdef SKY_FROM_SPACE\nfloat B = 2.0 * dot(czm_viewerPositionWC, v3Ray);\nfloat C = fCameraHeight2 - fOuterRadius2;\nfloat fDet = max(0.0, B*B - 4.0 * C);\nfloat fNear = 0.5 * (-B - sqrt(fDet));\nvec3 v3Start = czm_viewerPositionWC + v3Ray * fNear;\nfFar -= fNear;\nfloat fStartAngle = dot(v3Ray, v3Start) / fOuterRadius;\nfloat fStartDepth = exp(-1.0 / fScaleDepth);\nfloat fStartOffset = fStartDepth*scale(fStartAngle);\n#else\nvec3 v3Start = czm_viewerPositionWC;\nfloat fHeight = length(v3Start);\nfloat fDepth = exp(fScaleOverScaleDepth * (fInnerRadius - fCameraHeight));\nfloat fStartAngle = dot(v3Ray, v3Start) / fHeight;\nfloat fStartOffset = fDepth*scale(fStartAngle);\n#endif\nfloat fSampleLength = fFar / fSamples;\nfloat fScaledLength = fSampleLength * fScale;\nvec3 v3SampleRay = v3Ray * fSampleLength;\nvec3 v3SamplePoint = v3Start + v3SampleRay * 0.5;\nvec3 v3FrontColor = vec3(0.0, 0.0, 0.0);\nfor(int i=0; ithis._outerRadius?this._spSkyFromSpace:this._spSkyFromAtmosphere,o},g.prototype.isDestroyed=function(){return!1},g.prototype.destroy=function(){var e=this._command;return e.vertexArray=e.vertexArray&&e.vertexArray.destroy(),this._spSkyFromSpace=this._spSkyFromSpace&&this._spSkyFromSpace.release(),this._spSkyFromAtmosphere=this._spSkyFromAtmosphere&&this._spSkyFromAtmosphere.release(),o(this)},g}),r("Shaders/SkyBoxVS",[],function(){"use strict";return"attribute vec3 position;\nvarying vec3 v_texCoord;\nvoid main()\n{\nvec3 p = czm_viewRotation * (czm_temeToPseudoFixed * (czm_entireFrustum.y * position));\ngl_Position = czm_projection * vec4(p, 1.0);\nv_texCoord = position.xyz;\n}\n"}),r("Shaders/SkyBoxFS",[],function(){"use strict";return"uniform samplerCube u_cubeMap;\nvarying vec3 v_texCoord;\nvoid main()\n{\nvec3 rgb = textureCube(u_cubeMap, normalize(v_texCoord)).rgb;\ngl_FragColor = vec4(rgb, czm_morphTime);\n}\n"}),r("Scene/SkyBox",["../Core/defaultValue","../Core/BoxGeometry","../Core/Cartesian3","../Core/defined","../Core/destroyObject","../Core/DeveloperError","../Core/Matrix4","../Core/GeometryPipeline","../Core/VertexFormat","../Core/PrimitiveType","../Renderer/loadCubeMap","../Renderer/BufferUsage","../Renderer/DrawCommand","../Renderer/BlendingState","../Scene/SceneMode","../Shaders/SkyBoxVS","../Shaders/SkyBoxFS"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f,v){"use strict";var g=function(t){this.sources=t.sources,this._sources=void 0,this.show=e(t.show,!0),this._command=new d,this._command.owner=this,this._cubeMap=void 0};return g.prototype.update=function(e,n){if(!this.show)return void 0;if(n.mode!==p.SCENE3D&&n.mode!==p.MORPHING)return void 0;if(!n.passes.render)return void 0;if(this._sources!==this.sources){this._sources=this.sources;var o=this.sources;"string"==typeof o.positiveX?c(e,this._sources).then(function(e){g._cubeMap=g._cubeMap&&g._cubeMap.destroy(),g._cubeMap=e}):(this._cubeMap=this._cubeMap&&this._cubeMap.destroy(),this._cubeMap=e.createCubeMap({source:o}))}var d=this._command;if(!i(d.vertexArray)){var g=this;d.uniformMap={u_cubeMap:function(){return g._cubeMap}};var _=t.createGeometry(t.fromDimensions({dimensions:new r(2,2,2),vertexFormat:l.POSITION_ONLY})),y=s.createAttributeLocations(_);d.primitiveType=u.TRIANGLES,d.modelMatrix=a.clone(a.IDENTITY),d.vertexArray=e.createVertexArrayFromGeometry({geometry:_,attributeLocations:y,bufferUsage:h.STATIC_DRAW}),d.shaderProgram=e.getShaderCache().getShaderProgram(f,v,y),d.renderState=e.createRenderState({blending:m.ALPHA_BLEND})}return i(this._cubeMap)?d:void 0},g.prototype.isDestroyed=function(){return!1},g.prototype.destroy=function(){var e=this._command;return e.vertexArray=e.vertexArray&&e.vertexArray.destroy(),e.shaderProgram=e.shaderProgram&&e.shaderProgram.release(),this._cubeMap=this._cubeMap&&this._cubeMap.destroy(),n(this)},g}),r("Shaders/SunVS",[],function(){"use strict";return"attribute vec2 direction;\nuniform float u_size;\nvarying vec2 v_textureCoordinates;\nvoid main()\n{\nvec4 position;\nif (czm_morphTime == 1.0)\n{\nposition = vec4(czm_sunPositionWC, 1.0);\n}\nelse\n{\nposition = vec4(czm_sunPositionColumbusView.zxy, 1.0);\n}\nvec4 positionEC = czm_view * position;\nvec4 positionWC = czm_eyeToWindowCoordinates(positionEC);\nvec2 halfSize = vec2(u_size * 0.5);\nhalfSize *= ((direction * 2.0) - 1.0);\ngl_Position = czm_viewportOrthographic * vec4(positionWC.xy + halfSize, -positionWC.z, 1.0);\nv_textureCoordinates = direction;\n}\n"}),r("Shaders/SunFS",[],function(){"use strict";return"uniform sampler2D u_texture;\nvarying vec2 v_textureCoordinates;\nvoid main()\n{\ngl_FragColor = texture2D(u_texture, v_textureCoordinates);\n}\n"}),r("Shaders/SunTextureFS",[],function(){"use strict";return"uniform float u_glowLengthTS;\nuniform float u_radiusTS;\nvarying vec2 v_textureCoordinates;\nvec2 rotate(vec2 p, vec2 direction)\n{\nreturn vec2(p.x * direction.x - p.y * direction.y, p.x * direction.y + p.y * direction.x);\n}\nvec4 addBurst(vec2 position, vec2 direction)\n{\nvec2 rotatedPosition = rotate(position, direction) * vec2(25.0, 0.75);\nfloat radius = length(rotatedPosition);\nfloat burst = 1.0 - smoothstep(0.0, 0.55, radius);\nreturn vec4(burst);\n}\nvoid main()\n{\nvec2 position = v_textureCoordinates - vec2(0.5);\nfloat radius = length(position);\nfloat surface = step(radius, u_radiusTS);\nvec4 color = vec4(1.0, 1.0, surface + 0.2, surface);\nfloat glow = 1.0 - smoothstep(0.0, 0.55, radius);\ncolor.ba += mix(vec2(0.0), vec2(1.0), glow) * 0.75;\nvec4 burst = vec4(0.0);\nburst += 0.4 * addBurst(position, vec2(0.38942, 0.92106));\nburst += 0.4 * addBurst(position, vec2(0.99235, 0.12348));\nburst += 0.4 * addBurst(position, vec2(0.60327, -0.79754));\nburst += 0.3 * addBurst(position, vec2(0.31457, 0.94924));\nburst += 0.3 * addBurst(position, vec2(0.97931, 0.20239));\nburst += 0.3 * addBurst(position, vec2(0.66507, -0.74678));\ncolor += clamp(burst, vec4(0.0), vec4(1.0)) * 0.15;\ngl_FragColor = clamp(color, vec4(0.0), vec4(1.0));\n}\n"}),r("Scene/Sun",["../Core/BoundingSphere","../Core/Cartesian2","../Core/Cartesian3","../Core/Cartesian4","../Core/ComponentDatatype","../Core/defined","../Core/defineProperties","../Core/destroyObject","../Core/Math","../Core/PrimitiveType","../Core/Geometry","../Core/GeometryAttribute","../Core/Color","../Core/BoundingRectangle","../Core/Matrix4","../Renderer/BlendingState","../Renderer/BufferUsage","../Renderer/DrawCommand","../Renderer/PixelFormat","../Renderer/ClearCommand","./SceneTransforms","./SceneMode","../Shaders/SunVS","../Shaders/SunFS","../Shaders/ViewportQuadVS","../Shaders/SunTextureFS"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f,v,g,_,y,C,S,w,E,x,b){"use strict";function T(e){var t=e.cache.viewportQuad_vertexArray;if(o(t))return t;var r=new c({attributes:{position:new h({componentDatatype:n.FLOAT,componentsPerAttribute:2,values:[-1,-1,1,-1,1,1,-1,1]}),textureCoordinates:new h({componentDatatype:n.FLOAT,componentsPerAttribute:2,values:[0,0,1,0,1,1,0,1]})},primitiveType:u.TRIANGLES});return t=e.createVertexArrayFromGeometry({geometry:r,attributeLocations:P,bufferUsage:v.STATIC_DRAW}),e.cache.viewportQuad_vertexArray=t,t}var A=function(){this.show=!0,this._command=new g,this._boundingVolume=new e,this._boundingVolume2D=new e,this._texture=void 0,this._drawingBufferWidth=void 0,this._drawingBufferHeight=void 0,this._radiusTS=void 0,this._size=void 0,this.glowFactor=1,this._glowFactorDirty=!1;var t=this;this._uniformMap={u_texture:function(){return t._texture},u_size:function(){return t._size}}};a(A.prototype,{glowFactor:{get:function(){return this._glowFactor},set:function(e){e=Math.max(e,0),this._glowFactor=e,this._glowFactorDirty=!0}}});var P={position:0,textureCoordinates:1},D=new t,M=new t,I=new i,O=new i;return A.prototype.update=function(i,a){if(!this.show)return void 0;var s=a.mode;if(s===S.SCENE2D||s===S.MORPHING)return void 0;if(!a.passes.render)return void 0;var c=i.getDrawingBufferWidth(),h=i.getDrawingBufferHeight();if(!o(this._texture)||c!==this._drawingBufferWidth||h!==this._drawingBufferHeight||this._glowFactorDirty){this._texture=this._texture&&this._texture.destroy(),this._drawingBufferWidth=c,this._drawingBufferHeight=h,this._glowFactorDirty=!1;var A=Math.max(c,h);A=Math.pow(2,Math.ceil(Math.log(A)/Math.log(2))-2),this._texture=i.createTexture2D({width:A,height:A,pixelFormat:_.RGBA});var R=i.createFramebuffer({colorTextures:[this._texture]});R.destroyAttachments=!1;var L=new y;L.color=new d(0,0,0,0),L.framebuffer=R;var N=new g;N.owner=this,N.primitiveType=u.TRIANGLE_FAN,N.vertexArray=T(i),N.shaderProgram=i.getShaderCache().getShaderProgram(x,b,P),N.framebuffer=R,N.renderState=i.createRenderState({viewport:new m(0,0,A,A)}),this._glowLengthTS=5*this._glowFactor,this._radiusTS=.5*(1/(1+2*this._glowLengthTS));var B=this;N.uniformMap={u_glowLengthTS:function(){return B._glowLengthTS},u_radiusTS:function(){return B._radiusTS}},L.execute(i),N.execute(i),N.shaderProgram.release(),R.destroy()}var z=this._command;if(!o(z.vertexArray)){var F={direction:0},V=new Uint8Array(8);V[0]=0,V[1]=0,V[2]=255,V[3]=0,V[4]=255,V[5]=255,V[6]=0,V[7]=255;var k=i.createVertexBuffer(V,v.STATIC_DRAW),U=[{index:F.direction,vertexBuffer:k,componentsPerAttribute:2,normalize:!0,componentDatatype:n.UNSIGNED_BYTE}];z.vertexArray=i.createVertexArray(U),z.primitiveType=u.TRIANGLE_FAN,z.shaderProgram=i.getShaderCache().getShaderProgram(w,E,F),z.renderState=i.createRenderState({blending:f.ALPHA_BLEND}),z.uniformMap=this._uniformMap,z.boundingVolume=new e}var W=i.getUniformState().getSunPositionWC(),G=i.getUniformState().getSunPositionColumbusView(),H=this._boundingVolume,j=this._boundingVolume2D;r.clone(W,H.center),j.center.x=G.z,j.center.y=G.x,j.center.z=G.y,H.radius=l.SOLAR_RADIUS+l.SOLAR_RADIUS*this._glowLengthTS,j.radius=H.radius,s===S.SCENE3D?e.clone(H,z.boundingVolume):s===S.COLUMBUS_VIEW&&e.clone(j,z.boundingVolume);var q=C.computeActualWgs84Position(a,W,O),Y=r.magnitude(r.subtract(q,a.camera.position,O)),X=i.getUniformState().getProjection(),Z=I;Z.x=0,Z.y=0,Z.z=-Y,Z.w=1;var J=p.multiplyByVector(X,Z,O),Q=C.clipToDrawingBufferCoordinates(i,J,D);Z.x=l.SOLAR_RADIUS;var K=p.multiplyByVector(X,Z,O),$=C.clipToDrawingBufferCoordinates(i,K,M);return this._size=Math.ceil(t.magnitude(t.subtract($,Q,O))),this._size=2*this._size*(1+2*this._glowLengthTS),z},A.prototype.isDestroyed=function(){return!1},A.prototype.destroy=function(){var e=this._command;return e.vertexArray=e.vertexArray&&e.vertexArray.destroy(),e.shaderProgram=e.shaderProgram&&e.shaderProgram.release(),this._texture=this._texture&&this._texture.destroy(),s(this)},A}),r("Scene/TerrainData",["../Core/DeveloperError"],function(e){"use strict";var t=function(){e.throwInstantiationError()};return t.prototype.interpolateHeight=e.throwInstantiationError,t.prototype.isChildAvailable=e.throwInstantiationError,t.prototype.getWaterMask=e.throwInstantiationError,t.prototype.createMesh=e.throwInstantiationError,t.prototype.upsample=e.throwInstantiationError,t.prototype.wasCreatedByUpsampling=e.throwInstantiationError,t}),r("Scene/TileCoordinatesImageryProvider",["../Core/defaultValue","../Core/defineProperties","../Core/Color","../Core/Event","./GeographicTilingScheme"],function(e,t,r,i,n){"use strict";var o=function(t){t=e(t,{}),this._tilingScheme=e(t.tilingScheme,new n),this._color=e(t.color,r.YELLOW),this._errorEvent=new i,this._tileWidth=e(t.tileWidth,256),this._tileHeight=e(t.tileHeight,256)};return t(o.prototype,{proxy:{get:function(){return void 0}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return void 0}},minimumLevel:{get:function(){return void 0}},tilingScheme:{get:function(){return this._tilingScheme}},extent:{get:function(){return this._tilingScheme.extent}},tileDiscardPolicy:{get:function(){return void 0}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return!0}},credit:{get:function(){return void 0}}}),o.prototype.getTileCredits=function(){return void 0},o.prototype.requestImage=function(e,t,r){var i=document.createElement("canvas");i.width=256,i.height=256;var n=i.getContext("2d"),o=this._color.toCssColorString();n.strokeStyle=o,n.lineWidth=2,n.strokeRect(1,1,255,255);var a="L"+r+"X"+e+"Y"+t;return n.font="bold 25px Arial",n.textAlign="center",n.fillStyle="black",n.fillText(a,127,127),n.fillStyle=o,n.fillText(a,124,124),i},o}),r("Scene/TileDiscardPolicy",["../Core/DeveloperError"],function(e){"use strict";var t=function(){e.throwInstantiationError()};return t.prototype.isReady=e.throwInstantiationError,t.prototype.shouldDiscardImage=e.throwInstantiationError,t}),r("Scene/TileMapServiceImageryProvider",["../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/Cartographic","../Core/DeveloperError","../Core/Event","../Core/loadXML","../Core/Extent","./Credit","./ImageryProvider","./WebMercatorTilingScheme","./GeographicTilingScheme"],function(e,t,r,i,n,o,a,s,l,u,c,h){"use strict";function d(e,r,i,n){var o=e._tilingScheme.getNumberOfYTilesAtLevel(n),a=e._url+n+"/"+r+"/"+(o-i-1)+"."+e._fileExtension,s=e._proxy;return t(s)&&(a=s.getURL(a)),a}var m=/\/$/,p=function(r){r=e(r,{});var n=r.url;m.test(n)||(n+="/"),this._url=n,this._ready=!1,this._proxy=r.proxy,this._tileDiscardPolicy=r.tileDiscardPolicy,this._errorEvent=new o;var u=r.credit;"string"==typeof u&&(u=new l(u)),this._credit=u;var d=this;a(n+"tilemapresource.xml").then(function(n){for(var o,a,l,u=/tileformat/i,m=/tileset/i,p=/tilesets/i,f=/boundingbox/i,v=[],g=n.childNodes[0].childNodes,_=0;_E.extent.east&&(d._extent.east=E.extent.east),d._extent.southE.extent.north&&(d._extent.north=E.extent.north);var b=E.positionToTileXY(d._extent.getSouthwest(),d._minimumLevel),T=E.positionToTileXY(d._extent.getNortheast(),d._minimumLevel),A=(Math.abs(T.x-b.x)+1)*(Math.abs(T.y-b.y)+1);A>4&&(d._minimumLevel=0),d._tilingScheme=E,d._ready=!0},function(){d._fileExtension=e(r.fileExtension,"png"),d._tileWidth=e(r.tileWidth,256),d._tileHeight=e(r.tileHeight,256),d._minimumLevel=e(r.minimumLevel,0),d._maximumLevel=e(r.maximumLevel,18),d._tilingScheme=e(r.tilingScheme,new c),d._extent=e(r.extent,d._tilingScheme.extent),d._ready=!0})};return r(p.prototype,{url:{get:function(){return this._url}},proxy:{get:function(){return this._proxy}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return this._minimumLevel}},tilingScheme:{get:function(){return this._tilingScheme}},extent:{get:function(){return this._extent}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return this._ready}},credit:{get:function(){return this._credit}}}),p.prototype.getTileCredits=function(){return void 0},p.prototype.requestImage=function(e,t,r){var i=d(this,e,t,r);return u.loadImage(this,i)},p}),r("Scene/VRTheWorldTerrainProvider",["../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/loadImage","../Core/loadXML","../Core/getImagePixels","../Core/throttleRequestByServer","../Core/DeveloperError","../Core/Extent","../Core/Math","../Core/Ellipsoid","../Core/Event","./Credit","./TerrainProvider","./TileProviderError","./GeographicTilingScheme","./HeightmapTerrainData","../ThirdParty/when"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f,v,g){"use strict";function _(e,t){this.extent=e,this.maxLevel=t}function y(e,t,r,i){for(var n=e._tilingScheme,o=e._extents,a=n.tileXYToExtent(t,r,i),s=0,l=0;l0&&"/"!==this._url[this._url.length-1]&&(this._url+="/"),this._errorEvent=new h,this._ready=!1,this._proxy=r.proxy,this._terrainDataStructure={heightScale:.001,heightOffset:-1e3,elementsPerHeight:3,stride:4,elementMultiplier:256,isBigEndian:!0};var v=r.credit;"string"==typeof v&&(v=new d(v)),this._credit=v,this._tilingScheme=void 0,this._extents=[];var y,C=this,S=e(r.ellipsoid,c.WGS84);a()};r(S.prototype,{errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},tilingScheme:{get:function(){if(!this.ready)throw new s("requestTileGeometry must not be called before ready returns true.");return this._tilingScheme}},ready:{get:function(){return this._ready}}}),S.prototype.requestTileGeometry=function(r,n,l,u){if(!this.ready)throw new s("requestTileGeometry must not be called before ready returns true.");var c=this._tilingScheme.getNumberOfYTilesAtLevel(l),h=this._url+l+"/"+r+"/"+(c-n-1)+".tif?cesium=true",d=this._proxy;t(d)&&(h=d.getURL(h));var m;if(u=e(u,!0)){if(m=a(h,i),!t(m))return void 0}else m=i(h);var p=this;return g(m,function(e){return new v({buffer:o(e),width:p._heightmapWidth,height:p._heightmapHeight,childTileMask:y(p,r,n,l),structure:p._terrainDataStructure})})},S.prototype.getLevelMaximumGeometricError=function(e){if(!this.ready)throw new s("requestTileGeometry must not be called before ready returns true.");return this._levelZeroMaximumGeometricError/(1<=0&&aa&&(o+="?");var s=e._parameters;for(var l in s)s.hasOwnProperty(l)&&(o+=l+"="+s[l]+"&");if(r(s.layers)||(o+="layers="+e._layers+"&"),r(s.srs)||(o+="srs=EPSG:4326&"),!r(s.bbox)){var u=e._tilingScheme.tileXYToNativeExtent(t,i,n),c=u.west+","+u.south+","+u.east+","+u.north;o+="bbox="+c+"&"}r(s.width)||(o+="width=256&"),r(s.height)||(o+="height=256&");var h=e._proxy;return r(h)&&(o=h.getURL(o)),o}var d=function m(i){i=t(i,{}),this._url=i.url,this._tileDiscardPolicy=i.tileDiscardPolicy,this._proxy=i.proxy,this._layers=i.layers;var n=e(m.DefaultParameters);if(r(i.parameters))for(var o in i.parameters)if(i.parameters.hasOwnProperty(o)){var u=o.toLowerCase();n[u]=i.parameters[o]}this._parameters=n,this._tileWidth=256,this._tileHeight=256,this._maximumLevel=i.maximumLevel;var h=t(i.extent,s.MAX_VALUE);this._tilingScheme=new c({extent:h});var d=i.credit;"string"==typeof d&&(d=new l(d)),this._credit=d,this._errorEvent=new a,this._ready=!0};return i(d.prototype,{url:{get:function(){return this._url}},proxy:{get:function(){return this._proxy}},layers:{get:function(){return this._layers}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return 0}},tilingScheme:{get:function(){return this._tilingScheme}},extent:{get:function(){return this._tilingScheme.extent +}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return this._ready}},credit:{get:function(){return this._credit}}}),d.prototype.getTileCredits=function(){return void 0},d.prototype.requestImage=function(e,t,r){var i=h(this,e,t,r);return u.loadImage(this,i)},d.DefaultParameters=n({service:"WMS",version:"1.1.1",request:"GetMap",styles:"",format:"image/jpeg"}),d}),r("Scene/createTangentSpaceDebugPrimitive",["../Core/defaultValue","../Core/defined","../Core/DeveloperError","../Core/ColorGeometryInstanceAttribute","../Core/GeometryInstance","../Core/GeometryPipeline","../Core/Matrix4","./Primitive","./PerInstanceColorAppearance"],function(e,t,r,i,n,o,a,s,l){"use strict";function u(r){r=e(r,e.EMPTY_OBJECT);var u=[],c=r.geometry;t(c.attributes)&&t(c.primitiveType)||(c=c.constructor.createGeometry(c));var h=c.attributes,d=a.clone(e(r.modelMatrix,a.IDENTITY)),m=e(r.length,1e4);return t(h.normal)&&u.push(new n({geometry:o.createLineSegmentsForVectors(c,"normal",m),attributes:{color:new i(1,0,0,1)},modelMatrix:d})),t(h.binormal)&&u.push(new n({geometry:o.createLineSegmentsForVectors(c,"binormal",m),attributes:{color:new i(0,1,0,1)},modelMatrix:d})),t(h.tangent)&&u.push(new n({geometry:o.createLineSegmentsForVectors(c,"tangent",m),attributes:{color:new i(0,0,1,1)},modelMatrix:d})),u.length>0?new s({geometryInstances:u,appearance:new l({flat:!0,translucent:!1})}):void 0}return u}),r("Scene/sampleTerrain",["../Core/DeveloperError","../Core/defined","../ThirdParty/when"],function(e,t,r){"use strict";function i(e){var t=e.positions,r=e.tilingScheme.tileXYToExtent(e.x,e.y,e.level);return function(e){for(var i=0;ir;r++)c[t[r]]=e});var h={propertychange:!0},d=n&&function(){for(var t=3,r=n.createElement("div"),i=r.getElementsByTagName("i");r.innerHTML="",i[0];);return t>4?t:e}();return{$a:["authenticity_token",/^__RequestVerificationToken(_.*)?$/],n:function(e,t){for(var r=0,i=e.length;i>r;r++)t(e[r])},l:function(e,t){if("function"==typeof Array.prototype.indexOf)return Array.prototype.indexOf.call(e,t);for(var r=0,i=e.length;i>r;r++)if(e[r]===t)return r;return-1},Ua:function(e,t,r){for(var i=0,n=e.length;n>i;i++)if(t.call(r,e[i]))return e[i];return null},ia:function(e,t){var r=u.a.l(e,t);r>=0&&e.splice(r,1)},Va:function(e){e=e||[];for(var t=[],r=0,i=e.length;i>r;r++)0>u.a.l(t,e[r])&&t.push(e[r]);return t},ha:function(e,t){e=e||[];for(var r=[],i=0,n=e.length;n>i;i++)r.push(t(e[i]));return r},ga:function(e,t){e=e||[];for(var r=[],i=0,n=e.length;n>i;i++)t(e[i])&&r.push(e[i]);return r},X:function(e,t){if(t instanceof Array)e.push.apply(e,t);else for(var r=0,i=t.length;i>r;r++)e.push(t[r]);return e},V:function(e,t,r){var i=u.a.l(u.a.Ha(e),t);0>i?r&&e.push(t):r||e.splice(i,1)},extend:function(e,t){if(t)for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);return e},K:t,Da:function(e,t){if(!e)return e;var r,i={};for(r in e)e.hasOwnProperty(r)&&(i[r]=t(e[r],r,e));return i},wa:function(e){for(;e.firstChild;)u.removeNode(e.firstChild)},Vb:function(e){e=u.a.Q(e);for(var t=n.createElement("div"),r=0,i=e.length;i>r;r++)t.appendChild(u.L(e[r]));return t},Ya:function(e,t){for(var r=0,i=e.length,n=[];i>r;r++){var o=e[r].cloneNode(!0);n.push(t?u.L(o):o)}return n},S:function(e,t){if(u.a.wa(e),t)for(var r=0,i=t.length;i>r;r++)e.appendChild(t[r])},nb:function(e,t){var r=e.nodeType?[e]:e;if(0o;o++)n.insertBefore(t[o],i);for(o=0,a=r.length;a>o;o++)u.removeNode(r[o])}},$:function(e,t){if(e.length){for(t=8===t.nodeType&&t.parentNode||t;e.length&&e[0].parentNode!==t;)e.splice(0,1);if(1d?e.setAttribute("selected",t):e.selected=t},la:function(t){return null===t||t===e?"":t.trim?t.trim():t.toString().replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")},ec:function(e,t){for(var r=[],i=(e||"").split(t),n=0,o=i.length;o>n;n++){var a=u.a.la(i[n]);""!==a&&r.push(a)}return r},ac:function(e,t){return e=e||"",t.length>e.length?!1:e.substring(0,t.length)===t},Gb:function(e,t){if(e===t)return!0;if(11===e.nodeType)return!1;if(t.contains)return t.contains(3===e.nodeType?e.parentNode:e);if(t.compareDocumentPosition)return 16==(16&t.compareDocumentPosition(e));for(;e&&e!=t;)e=e.parentNode;return!!e},va:function(e){return u.a.Gb(e,e.ownerDocument.documentElement)},Ra:function(e){return!!u.a.Ua(e,u.a.va)},v:function(e){return e&&e.tagName&&e.tagName.toLowerCase()},r:function(e,t,i){var n=d&&h[t];if(n||"undefined"==typeof a)if(n||"function"!=typeof e.addEventListener){if("undefined"==typeof e.attachEvent)throw Error("Browser doesn't support addEventListener or attachEvent");var o=function(t){i.call(e,t)},s="on"+t;e.attachEvent(s,o),u.a.C.ea(e,function(){e.detachEvent(s,o)})}else e.addEventListener(t,i,!1);else{if(r(e,t)){var l=i;i=function(e,t){var r=this.checked;t&&(this.checked=!0!==t.Ab),l.call(this,e),this.checked=r}}a(e).bind(t,i)}},da:function(e,t){if(!e||!e.nodeType)throw Error("element must be a DOM node when calling triggerEvent");if("undefined"!=typeof a){var o=[];r(e,t)&&o.push({Ab:e.checked}),a(e).trigger(t,o)}else if("function"==typeof n.createEvent){if("function"!=typeof e.dispatchEvent)throw Error("The supplied element doesn't support dispatchEvent");o=n.createEvent(c[t]||"HTMLEvents"),o.initEvent(t,!0,!0,i,0,0,0,0,0,!1,!1,!1,!1,0,e),e.dispatchEvent(o)}else{if("undefined"==typeof e.fireEvent)throw Error("Browser doesn't support triggering events");r(e,t)&&(e.checked=!0!==e.checked),e.fireEvent("on"+t)}},c:function(e){return u.M(e)?e():e},Ha:function(e){return u.M(e)?e.t():e},ma:function(e,t,r){if(t){var i=/\S+/g,n=e.className.match(i)||[];u.a.n(t.match(i),function(e){u.a.V(n,e,r)}),e.className=n.join(" ")}},Ma:function(t,r){var i=u.a.c(r);(null===i||i===e)&&(i="");var o=u.e.firstChild(t);!o||3!=o.nodeType||u.e.nextSibling(o)?u.e.S(t,[n.createTextNode(i)]):o.data=i,u.a.Jb(t)},pb:function(e,t){if(e.name=t,7>=d)try{e.mergeAttributes(n.createElement(""),!1)}catch(r){}},Jb:function(e){d>=9&&(e=1==e.nodeType?e:e.parentNode,e.style&&(e.style.zoom=e.style.zoom))},Hb:function(e){if(d){var t=e.style.width;e.style.width=0,e.style.width=t}},Zb:function(e,t){e=u.a.c(e),t=u.a.c(t);for(var r=[],i=e;t>=i;i++)r.push(i);return r},Q:function(e){for(var t=[],r=0,i=e.length;i>r;r++)t.push(e[r]);return t},cc:6===d,dc:7===d,ja:d,ab:function(e,t){for(var r=u.a.Q(e.getElementsByTagName("input")).concat(u.a.Q(e.getElementsByTagName("textarea"))),i="string"==typeof t?function(e){return e.name===t}:function(e){return t.test(e.name)},n=[],o=r.length-1;o>=0;o--)i(r[o])&&n.push(r[o]);return n},Wb:function(e){return"string"==typeof e&&(e=u.a.la(e))?s&&s.parse?s.parse(e):new Function("return "+e)():null},Na:function(e,t,r){if(!s||!s.stringify)throw Error("Cannot find JSON.stringify(). Some browsers (e.g., IE < 8) don't support it natively, but you can overcome this by adding a script reference to json2.js, downloadable from http://www.json.org/json2.js");return s.stringify(u.a.c(e),t,r)},Xb:function(e,r,i){i=i||{};var o=i.params||{},a=i.includeFields||this.$a,s=e;if("object"==typeof e&&"form"===u.a.v(e))for(var s=e.action,l=a.length-1;l>=0;l--)for(var c=u.a.ab(e,a[l]),h=c.length-1;h>=0;h--)o[c[h].name]=c[h].value;r=u.a.c(r);var d=n.createElement("form");d.style.display="none",d.action=s,d.method="post";for(var m in r)e=n.createElement("input"),e.name=m,e.value=u.a.Na(u.a.c(r[m])),d.appendChild(e);t(o,function(e,t){var r=n.createElement("input");r.name=e,r.value=t,d.appendChild(r)}),n.body.appendChild(d),i.submitter?i.submitter(d):d.submit(),setTimeout(function(){d.parentNode.removeChild(d)},0)}}}(),u.b("utils",u.a),u.b("utils.arrayForEach",u.a.n),u.b("utils.arrayFirst",u.a.Ua),u.b("utils.arrayFilter",u.a.ga),u.b("utils.arrayGetDistinctValues",u.a.Va),u.b("utils.arrayIndexOf",u.a.l),u.b("utils.arrayMap",u.a.ha),u.b("utils.arrayPushAll",u.a.X),u.b("utils.arrayRemoveItem",u.a.ia),u.b("utils.extend",u.a.extend),u.b("utils.fieldsIncludedWithJsonPost",u.a.$a),u.b("utils.getFormFields",u.a.ab),u.b("utils.peekObservable",u.a.Ha),u.b("utils.postJson",u.a.Xb),u.b("utils.parseJson",u.a.Wb),u.b("utils.registerEventHandler",u.a.r),u.b("utils.stringifyJson",u.a.Na),u.b("utils.range",u.a.Zb),u.b("utils.toggleDomNodeCssClass",u.a.ma),u.b("utils.triggerEvent",u.a.da),u.b("utils.unwrapObservable",u.a.c),u.b("utils.objectForEach",u.a.K),u.b("utils.addOrRemoveItem",u.a.V),u.b("unwrap",u.a.c),Function.prototype.bind||(Function.prototype.bind=function(e){var t=this,r=Array.prototype.slice.call(arguments);return e=r.shift(),function(){return t.apply(e,r.concat(Array.prototype.slice.call(arguments)))}}),u.a.f=new function(){function t(t,o){var a=t[i];if(!a||"null"===a||!n[a]){if(!o)return e;a=t[i]="ko"+r++,n[a]={}}return n[a]}var r=0,i="__ko__"+(new Date).getTime(),n={};return{get:function(r,i){var n=t(r,!1);return n===e?e:n[i]},set:function(r,i,n){(n!==e||t(r,!1)!==e)&&(t(r,!0)[i]=n)},clear:function(e){var t=e[i];return t?(delete n[t],e[i]=null,!0):!1},D:function(){return r++ +i}}},u.b("utils.domData",u.a.f),u.b("utils.domData.clear",u.a.f.clear),u.a.C=new function(){function t(t,r){var n=u.a.f.get(t,i);return n===e&&r&&(n=[],u.a.f.set(t,i,n)),n}function r(e){var i=t(e,!1);if(i)for(var i=i.slice(0),n=0;ni;i++)r(t[i])}return e},removeNode:function(e){u.L(e),e.parentNode&&e.parentNode.removeChild(e)}}},u.L=u.a.C.L,u.removeNode=u.a.C.removeNode,u.b("cleanNode",u.L),u.b("removeNode",u.removeNode),u.b("utils.domNodeDisposal",u.a.C),u.b("utils.domNodeDisposal.addDisposeCallback",u.a.C.ea),u.b("utils.domNodeDisposal.removeDisposeCallback",u.a.C.mb),function(){u.a.Fa=function(e){var t;if("undefined"!=typeof a){if(a.parseHTML)t=a.parseHTML(e)||[];else if((t=a.clean([e]))&&t[0]){for(e=t[0];e.parentNode&&11!==e.parentNode.nodeType;)e=e.parentNode;e.parentNode&&e.parentNode.removeChild(e)}}else{var r=u.a.la(e).toLowerCase();for(t=n.createElement("div"),r=r.match(/^<(thead|tbody|tfoot)/)&&[1,"","
"]||!r.indexOf("",""]||(!r.indexOf("",""]||[0,"",""],e="ignored
"+r[1]+e+r[2]+"
","function"==typeof i.innerShiv?t.appendChild(i.innerShiv(e)):t.innerHTML=e;r[0]--;)t=t.lastChild;t=u.a.Q(t.lastChild.childNodes)}return t},u.a.Ka=function(t,r){if(u.a.wa(t),r=u.a.c(r),null!==r&&r!==e)if("string"!=typeof r&&(r=r.toString()),"undefined"!=typeof a)a(t).html(r);else for(var i=u.a.Fa(r),n=0;ni;i++)t(n[i],r)}var r={};return{Ca:function(e){if("function"!=typeof e)throw Error("You can only pass a function to ko.memoization.memoize()");var t=(0|4294967296*(1+Math.random())).toString(16).substring(1)+(0|4294967296*(1+Math.random())).toString(16).substring(1);return r[t]=e,""},ub:function(t,i){var n=r[t];if(n===e)throw Error("Couldn't find any memo with ID "+t+". Perhaps it's already been unmemoized.");try{return n.apply(null,i||[]),!0}finally{delete r[t]}},vb:function(e,r){var i=[];t(e,i);for(var n=0,o=i.length;o>n;n++){var a=i[n].Fb,s=[a];r&&u.a.X(s,r),u.u.ub(i[n].Tb,s),a.nodeValue="",a.parentNode&&a.parentNode.removeChild(a)}},jb:function(e){return(e=e.match(/^\[ko_memo\:(.*?)\]$/))?e[1]:null}}}(),u.b("memoization",u.u),u.b("memoization.memoize",u.u.Ca),u.b("memoization.unmemoize",u.u.ub),u.b("memoization.parseMemoText",u.u.jb),u.b("memoization.unmemoizeDomNodeAndDescendants",u.u.vb),u.xa={throttle:function(e,t){e.throttleEvaluation=t;var r=null;return u.h({read:e,write:function(i){clearTimeout(r),r=setTimeout(function(){e(i)},t)}})},notify:function(e,t){e.equalityComparer="always"==t?null:r}};var c={undefined:1,"boolean":1,number:1,string:1};u.b("extenders",u.xa),u.sb=function(e,t,r){this.target=e,this.qa=t,this.Eb=r,u.s(this,"dispose",this.B)},u.sb.prototype.B=function(){this.Qb=!0,this.Eb()},u.ca=function(){this.F={},u.a.extend(this,u.ca.fn),u.s(this,"subscribe",this.T),u.s(this,"extend",this.extend),u.s(this,"getSubscriptionsCount",this.Lb)};var h="change";u.ca.fn={T:function(e,t,r){r=r||h;var i=new u.sb(this,t?e.bind(t):e,function(){u.a.ia(this.F[r],i)}.bind(this));return this.F[r]||(this.F[r]=[]),this.F[r].push(i),i},notifySubscribers:function(e,t){if(t=t||h,this.cb(t))try{u.i.Wa();for(var r,i=this.F[t].slice(0),n=0;r=i[n];++n)r&&!0!==r.Qb&&r.qa(e)}finally{u.i.end()}},cb:function(e){return this.F[e]&&this.F[e].length},Lb:function(){var e=0;return u.a.K(this.F,function(t,r){e+=r.length}),e},extend:function(e){var t=this;return e&&u.a.K(e,function(e,r){var i=u.xa[e];"function"==typeof i&&(t=i(t,r)||t)}),t}},u.fb=function(e){return null!=e&&"function"==typeof e.T&&"function"==typeof e.notifySubscribers},u.b("subscribable",u.ca),u.b("isSubscribable",u.fb),u.i=function(){var e=[];return{Wa:function(t){e.push(t&&{qa:t,Za:[]})},end:function(){e.pop()},lb:function(t){if(!u.fb(t))throw Error("Only subscribable things can act as dependencies");if(0=0;i--)r(t[i])&&(t[i]._destroy=!0);this.N()},destroyAll:function(t){return t===e?this.destroy(function(){return!0}):t?this.destroy(function(e){return 0<=u.a.l(t,e)}):[]},indexOf:function(e){var t=this();return u.a.l(t,e)},replace:function(e,t){var r=this.indexOf(e);r>=0&&(this.O(),this.t()[r]=t,this.N())}},u.a.n("pop push reverse shift sort splice unshift".split(" "),function(e){u.ba.fn[e]=function(){var t=this.t();return this.O(),this.Xa(t,e,arguments),t=t[e].apply(t,arguments),this.N(),t}}),u.a.n(["slice"],function(e){u.ba.fn[e]=function(){var t=this();return t[e].apply(t,arguments)}}),u.b("observableArray",u.ba);var m="arrayChange";u.xa.trackArrayChanges=function(e){function t(){if(!r){r=!0;var t=e.notifySubscribers;e.notifySubscribers=function(e,r){return r&&r!==h||++n,t.apply(this,arguments)};var o=[].concat(e.t()||[]);i=null,e.T(function(t){if(t=[].concat(t||[]),e.cb(m)){var r;(!i||n>1)&&(i=u.a.ra(o,t,{sparse:!0})),r=i,r.length&&e.notifySubscribers(r,m)}o=t,i=null,n=0})}}if(!e.Xa){var r=!1,i=null,n=0,o=e.T;e.T=e.subscribe=function(e,r,i){return i===m&&t(),o.apply(this,arguments)},e.Xa=function(e,t,o){function a(e,t,r){s.push({status:e,value:t,index:r})}if(r&&!n){var s=[],l=e.length,u=o.length,c=0;switch(t){case"push":c=l;case"unshift":for(t=0;u>t;t++)a("added",o[t],c+t);break;case"pop":c=l-1;case"shift":l&&a("deleted",e[c],c);break;case"splice":t=Math.min(Math.max(0,0>o[0]?l+o[0]:o[0]),l);for(var l=1===u?l:Math.min(t+(o[1]||0),l),u=t+u-2,c=Math.max(l,u),h=2;c>t;++t,++h)l>t&&a("deleted",e[t],t),u>t&&a("added",o[h],t);break;default:return}i=s}}}},u.h=function(t,r,i){function n(){u.a.n(C,function(e){e.B()}),C=[]}function o(){var e=s.throttleEvaluation;e&&e>=0?(clearTimeout(S),S=setTimeout(a,e)):a()}function a(){if(!d){if(_&&_()){if(!m)return y(),h=!0,void 0}else m=!1;d=!0;try{var t=u.a.ha(C,function(e){return e.target});u.i.Wa(function(r){var i;0<=(i=u.a.l(t,r))?t[i]=e:C.push(r.T(o))});for(var i=r?p.call(r):p(),n=t.length-1;n>=0;n--)t[n]&&C.splice(n,1)[0].B();h=!0,s.equalityComparer&&s.equalityComparer(c,i)||(s.notifySubscribers(c,"beforeChange"),c=i,s.notifySubscribers(c))}finally{u.i.end(),d=!1}C.length||y()}}function s(){if(0t;t++)e=e();return e})},u.toJSON=function(e,t,r){return e=u.tb(e),u.a.Na(e,t,r)},i.prototype={save:function(e,t){var r=u.a.l(this.keys,e);r>=0?this.Qa[r]=t:(this.keys.push(e),this.Qa.push(t))},get:function(t){return t=u.a.l(this.keys,t),t>=0?this.Qa[t]:e}}}(),u.b("toJS",u.tb),u.b("toJSON",u.toJSON),function(){u.k={o:function(t){switch(u.a.v(t)){case"option":return!0===t.__ko__hasDomDataOptionValue__?u.a.f.get(t,u.d.options.Ea):7>=u.a.ja?t.getAttributeNode("value")&&t.getAttributeNode("value").specified?t.value:t.text:t.value;case"select":return 0<=t.selectedIndex?u.k.o(t.options[t.selectedIndex]):e;default:return t.value}},na:function(t,r){switch(u.a.v(t)){case"option":switch(typeof r){case"string":u.a.f.set(t,u.d.options.Ea,e),"__ko__hasDomDataOptionValue__"in t&&delete t.__ko__hasDomDataOptionValue__,t.value=r;break;default:u.a.f.set(t,u.d.options.Ea,r),t.__ko__hasDomDataOptionValue__=!0,t.value="number"==typeof r?r:""}break;case"select":""===r&&(r=e),(null===r||r===e)&&(t.selectedIndex=-1);for(var i=t.options.length-1;i>=0;i--)if(u.k.o(t.options[i])==r){t.selectedIndex=i;break}1=l){t&&a.push(r?{key:t,value:r.join("")}:{unknown:t}),t=r=l=0;continue}}else if(58===d){if(!r)continue}else if(47===d&&h&&1"===n.createComment("test").text,a=o?/^\x3c!--\s*ko(?:\s+([\s\S]+))?\s*--\x3e$/:/^\s*ko(?:\s+([\s\S]+))?\s*$/,s=o?/^\x3c!--\s*\/ko\s*--\x3e$/:/^\s*\/ko\s*$/,l={ul:!0,ol:!0};u.e={P:{},childNodes:function(t){return e(t)?r(t):t.childNodes},Z:function(t){if(e(t)){t=u.e.childNodes(t);for(var r=0,i=t.length;i>r;r++)u.removeNode(t[r])}else u.a.wa(t)},S:function(t,r){if(e(t)){u.e.Z(t);for(var i=t.nextSibling,n=0,o=r.length;o>n;n++)i.parentNode.insertBefore(r[n],i)}else u.a.S(t,r)},kb:function(t,r){e(t)?t.parentNode.insertBefore(r,t.nextSibling):t.firstChild?t.insertBefore(r,t.firstChild):t.appendChild(r)},eb:function(t,r,i){i?e(t)?t.parentNode.insertBefore(r,i.nextSibling):i.nextSibling?t.insertBefore(r,i.nextSibling):t.appendChild(r):u.e.kb(t,r)},firstChild:function(r){return e(r)?!r.nextSibling||t(r.nextSibling)?null:r.nextSibling:r.firstChild},nextSibling:function(r){return e(r)&&(r=i(r)),r.nextSibling&&t(r.nextSibling)?null:r.nextSibling},Mb:e,bc:function(e){return(e=(o?e.text:e.nodeValue).match(a))?e[1]:null},ib:function(r){if(l[u.a.v(r)]){var n=r.firstChild;if(n)do if(1===n.nodeType){var o;o=n.firstChild;var a=null;if(o)do if(a)a.push(o);else if(e(o)){var s=i(o,!0);s?o=s:a=[o]}else t(o)&&(a=[o]);while(o=o.nextSibling);if(o=a)for(a=n.nextSibling,s=0;s=u.a.ja&&r in p?(r=p[r],n?t.removeAttribute(r):t[r]=i):n||t.setAttribute(r,i.toString()),"name"===r&&u.a.pb(t,n?"":i.toString())})}},function(){u.d.checked={after:["value","attr"],init:function(t,r,i){function n(){return i.has("checkedValue")?u.a.c(i.get("checkedValue")):t.value}function o(){var e=t.checked,o=d?n():e;if(m&&(!l||e)){var a=u.i.p(r);c?h!==o?(e&&(u.a.V(a,o,!0),u.a.V(a,h,!1)),h=o):u.a.V(a,o,e):u.g.oa(a,i,"checked",o,!0)}}function a(){var e=u.a.c(r());t.checked=c?0<=u.a.l(e,n()):s?e:n()===e}var s="checkbox"==t.type,l="radio"==t.type;if(s||l){var c=s&&u.a.c(r())instanceof Array,h=c?n():e,d=l||c,m=!1;l&&!t.name&&u.d.uniqueName.init(t,function(){return!0}),u.h(o,null,{I:t}),u.a.r(t,"click",o),u.h(a,null,{I:t}),m=!0}}},u.g.U.checked=!0,u.d.checkedValue={update:function(e,t){e.value=u.a.c(t())}}}(),u.d.css={update:function(e,t){var r=u.a.c(t());"object"==typeof r?u.a.K(r,function(t,r){r=u.a.c(r),u.a.ma(e,t,r)}):(r=String(r||""),u.a.ma(e,e.__ko__cssValue,!1),e.__ko__cssValue=r,u.a.ma(e,r,!0))}},u.d.enable={update:function(e,t){var r=u.a.c(t());r&&e.disabled?e.removeAttribute("disabled"):r||e.disabled||(e.disabled=!0)}},u.d.disable={update:function(e,t){u.d.enable.update(e,function(){return!u.a.c(t())})}},u.d.event={init:function(e,t,r,i,n){var o=t()||{};u.a.K(o,function(o){"string"==typeof o&&u.a.r(e,o,function(e){var a,s=t()[o];if(s){try{var l=u.a.Q(arguments);i=n.$data,l.unshift(i),a=s.apply(i,l)}finally{!0!==a&&(e.preventDefault?e.preventDefault():e.returnValue=!1)}!1===r.get(o+"Bubble")&&(e.cancelBubble=!0,e.stopPropagation&&e.stopPropagation())}})})}},u.d.foreach={hb:function(e){return function(){var t=e(),r=u.a.Ha(t);return r&&"number"!=typeof r.length?(u.a.c(t),{foreach:r.data,as:r.as,includeDestroyed:r.includeDestroyed,afterAdd:r.afterAdd,beforeRemove:r.beforeRemove,afterRender:r.afterRender,beforeMove:r.beforeMove,afterMove:r.afterMove,templateEngine:u.J.Aa}):{foreach:t,templateEngine:u.J.Aa}}},init:function(e,t){return u.d.template.init(e,u.d.foreach.hb(t))},update:function(e,t,r,i,n){return u.d.template.update(e,u.d.foreach.hb(t),r,i,n)}},u.g.Y.foreach=!1,u.e.P.foreach=!0,u.d.hasfocus={init:function(e,t,r){function i(i){e.__ko_hasfocusUpdating=!0;var n=e.ownerDocument;if("activeElement"in n){var o;try{o=n.activeElement}catch(a){o=n.body}i=o===e}n=t(),u.g.oa(n,r,"hasfocus",i,!0),e.__ko_hasfocusLastValue=i,e.__ko_hasfocusUpdating=!1}var n=i.bind(null,!0),o=i.bind(null,!1);u.a.r(e,"focus",n),u.a.r(e,"focusin",n),u.a.r(e,"blur",o),u.a.r(e,"focusout",o)},update:function(e,t){var r=!!u.a.c(t());e.__ko_hasfocusUpdating||e.__ko_hasfocusLastValue===r||(r?e.focus():e.blur(),u.i.p(u.a.da,null,[e,r?"focusin":"focusout"]))}},u.g.U.hasfocus=!0,u.d.hasFocus=u.d.hasfocus,u.g.U.hasFocus=!0,u.d.html={init:function(){return{controlsDescendantBindings:!0}},update:function(e,t){u.a.Ka(e,t())}};var f=u.a.f.D();l("if"),l("ifnot",!1,!0),l("with",!0,!1,function(e,t){return e.createChildContext(t)}),u.d.options={init:function(e){if("select"!==u.a.v(e))throw Error("options binding applies only to SELECT elements");for(;0","#comment",n)})},yb:function(e,t){return u.u.Ca(function(r,i){var n=r.nextSibling;n&&n.nodeName.toLowerCase()===t&&u.pa(n,e,i)})}}}(),u.b("__tr_ambtns",u.Oa.yb),function(){u.m={},u.m.j=function(e){this.j=e},u.m.j.prototype.text=function(){var e=u.a.v(this.j),e="script"===e?"text":"textarea"===e?"value":"innerHTML";if(0==arguments.length)return this.j[e];var t=arguments[0];"innerHTML"===e?u.a.Ka(this.j,t):this.j[e]=t};var t=u.a.f.D()+"_";u.m.j.prototype.data=function(e){return 1===arguments.length?u.a.f.get(this.j,t+e):(u.a.f.set(this.j,t+e,arguments[1]),void 0)};var r=u.a.f.D();u.m.W=function(e){this.j=e},u.m.W.prototype=new u.m.j,u.m.W.prototype.text=function(){if(0==arguments.length){var t=u.a.f.get(this.j,r)||{};return t.Pa===e&&t.sa&&(t.Pa=t.sa.innerHTML),t.Pa}u.a.f.set(this.j,r,{Pa:arguments[0]})},u.m.j.prototype.nodes=function(){return 0==arguments.length?(u.a.f.get(this.j,r)||{}).sa:(u.a.f.set(this.j,r,{sa:arguments[0]}),void 0)},u.b("templateSources",u.m),u.b("templateSources.domElement",u.m.j),u.b("templateSources.anonymousTemplate",u.m.W)}(),function(){function t(e,t,r){var i;for(t=u.e.nextSibling(t);e&&(i=e)!==t;)e=u.e.nextSibling(i),r(i,e)}function r(e,r){if(e.length){var i=e[0],n=e[e.length-1],o=i.parentNode,a=u.H.instance,s=a.preprocessNode;if(s){if(t(i,n,function(e,t){var r=e.previousSibling,o=s.call(a,e);o&&(e===i&&(i=o[0]||t),e===n&&(n=o[o.length-1]||r))}),e.length=0,!i)return;i===n?e.push(i):(e.push(i,n),u.a.$(e,o))}t(i,n,function(e){1!==e.nodeType&&8!==e.nodeType||u.Sa(r,e)}),t(i,n,function(e){1!==e.nodeType&&8!==e.nodeType||u.u.vb(e,[r])}),u.a.$(e,o)}}function i(e){return e.nodeType?e:0=o;o++)for(l=s,d.push(s=[]),u=c(p,o+f),a=h(0,o-1);u>=a;a++)s[a]=a?o?e[o-1]===t[a-1]?l[a-1]:c(l[a]||v,s[a-1]||v)+1:a+1:o+1;for(c=[],h=[],f=[],o=m,a=p;o||a;)p=d[o][a]-1,a&&p===d[o][a-1]?h.push(c[c.length]={status:r,value:t[--a],index:a}):o&&p===d[o-1][a]?f.push(c[c.length]={status:i,value:e[--o],index:o}):(--a,--o,n.sparse||c.push({status:"retained",value:t[a]}));if(h.length&&f.length){e=10*m;var g;for(t=r=0;(n.dontLimitMoves||e>t)&&(g=h[r]);r++){for(i=0;d=f[i];i++)if(g.value===d.value){g.moved=d.index,d.moved=g.index,f.splice(i,1),t=i=0;break}t+=i}}return c.reverse()}return function(t,r,i){return i="boolean"==typeof i?{dontLimitMoves:i}:i||{},t=t||[],r=r||[],t.length<=r.length?e(t,r,"added","deleted",i):e(r,t,"deleted","added",i)}}(),u.b("utils.compareArrays",u.a.ra),function(){function t(t,r,i,n,o){var a=[],s=u.h(function(){var e=r(i,o,u.a.$(a,t))||[];0r;r++)t[r]&&u.a.n(t[r].R,function(i){e(i,r,t[r].fa)})}n=n||[],a=a||{};var h=u.a.f.get(i,r)===e,d=u.a.f.get(i,r)||[],m=u.a.ha(d,function(e){return e.fa}),p=u.a.ra(m,n,a.dontLimitMoves),f=[],v=0,g=0,_=[],y=[];n=[];for(var C,S,w,E=[],m=[],x=0;S=p[x];x++)switch(w=S.moved,S.status){case"deleted":w===e&&(C=d[v],C.h&&C.h.B(),_.push.apply(_,u.a.$(C.R,i)),a.beforeRemove&&(n[x]=C,y.push(C))),v++;break;case"retained":l(x,v++);break;case"added":w!==e?l(x,w):(C={fa:S.value,za:u.q(g++)},f.push(C),y.push(C),h||(m[x]=C))}c(a.beforeMove,E),u.a.n(_,a.beforeRemove?u.L:u.removeNode);for(var b,x=0,h=u.e.firstChild(i);C=y[x];x++){for(C.R||u.a.extend(C,t(i,o,C.fa,s,C.za)),v=0;p=C.R[v];h=p.nextSibling,b=p,v++)p!==h&&u.e.eb(i,p,b);!C.Ob&&s&&(s(C.fa,C.R,C.za),C.Ob=!0)}c(a.beforeRemove,n),c(a.afterMove,E),c(a.afterAdd,m),u.a.f.set(i,r,f)}}(),u.b("utils.setDomNodeChildrenFromArrayMapping",u.a.Ja),u.J=function(){this.allowTemplateRewriting=!1},u.J.prototype=new u.w,u.J.prototype.renderTemplateSource=function(e){var t=(9>u.a.ja?0:e.nodes)?e.nodes():null;return t?u.a.Q(t.cloneNode(!0).childNodes):(e=e.text(),u.a.Fa(e))},u.J.Aa=new u.J,u.La(u.J.Aa),u.b("nativeTemplateEngine",u.J),function(){u.Ba=function(){var e=this.Rb=function(){if("undefined"==typeof a||!a.tmpl)return 0;try{if(0<=a.tmpl.tag.tmpl.open.toString().indexOf("__"))return 2}catch(e){}return 1}();this.renderTemplateSource=function(t,r,i){if(i=i||{},2>e)throw Error("Your version of jQuery.tmpl is too old. Please upgrade to jQuery.tmpl 1.0.0pre or later.");var o=t.data("precompiled");return o||(o=t.text()||"",o=a.template(null,"{{ko_with $item.koBindingContext}}"+o+"{{/ko_with}}"),t.data("precompiled",o)),t=[r.$data],r=a.extend({koBindingContext:r},i.templateOptions),r=a.tmpl(o,t,r),r.appendTo(n.createElement("div")),a.fragments={},r},this.createJavaScriptEvaluatorBlock=function(e){return"{{ko_code ((function() { return "+e+" })()) }}"},this.addTemplate=function(e,t){n.write("")},e>0&&(a.tmpl.tag.ko_code={open:"__.push($1 || '');"},a.tmpl.tag.ko_with={open:"with($1) {",close:"} "})},u.Ba.prototype=new u.w;var e=new u.Ba;0i;++i)t.appendChild(l(e.children[i]))}else 0===r.indexOf("xlink:")?t.setAttributeNS(g,r.substring(6),e[r]):"textContent"===r?t.textContent=e[r]:t.setAttribute(r,e[r]);return t}function u(e,t,r){var i=document.createElementNS(v,"text");i.setAttribute("x",e),i.setAttribute("y",t),i.setAttribute("class","cesium-animation-svgText");var n=document.createElementNS(v,"tspan");return n.textContent=r,i.appendChild(n),i}function c(e,t,r){e.setAttribute("transform","translate(100,100) rotate("+r+")"),t.setAttribute("transform","rotate("+r+")")}function h(e,t){var r=t.alpha,i=1-r;return T.red=e.red*i+t.red*r,T.green=e.green*i+t.green*r,T.blue=e.blue*i+t.blue*r,T.toCssColorString()}function d(e,t,r){var i={tagName:"g","class":"cesium-animation-rectButton",transform:"translate("+e+","+t+")",children:[{tagName:"rect","class":"cesium-animation-buttonGlow",width:32,height:32,rx:2,ry:2},{tagName:"rect","class":"cesium-animation-buttonMain",width:32,height:32,rx:4,ry:4},{tagName:"use","class":"cesium-animation-buttonPath","xlink:href":r},{tagName:"title",textContent:""}]};return l(i)}function m(e,t,r){var i={tagName:"g","class":"cesium-animation-rectButton",transform:"translate("+e+","+t+")",children:[{tagName:"use","class":"cesium-animation-buttonGlow","xlink:href":"#animation_pathWingButton"},{tagName:"use","class":"cesium-animation-buttonMain","xlink:href":"#animation_pathWingButton"},{tagName:"use","class":"cesium-animation-buttonPath","xlink:href":r},{tagName:"title",textContent:""}]};return l(i)}function p(e,t){var r=e._viewModel,i=r.shuttleRingDragging;if(!i||f===e)if("mousedown"===t.type||i&&"mousemove"===t.type||"touchstart"===t.type&&1===t.touches.length||i&&"touchmove"===t.type&&1===t.touches.length){var n,o,a=e._centerX,s=e._centerY,l=e._svgNode,u=l.getBoundingClientRect();if("touchstart"===t.type||"touchmove"===t.type?(n=t.touches[0].clientX,o=t.touches[0].clientY):(n=t.clientX,o=t.clientY),!i&&(n>u.right||nu.bottom))return;var c=e._shuttleRingPointer.getBoundingClientRect(),h=n-a-u.left,d=o-s-u.top,m=180*Math.atan2(d,h)/Math.PI+90;m>180&&(m-=360);var p=r.shuttleRingAngle;i||nc.left&&o>c.top&&om?r.slower():m>p&&r.faster(),t.preventDefault()}else f=void 0,r.shuttleRingDragging=!1}var f,v="http://www.w3.org/2000/svg",g="http://www.w3.org/1999/xlink",_=n.fromCssColorString("rgba(247,250,255,0.384)"),y=n.fromCssColorString("rgba(143,191,255,0.216)"),C=n.fromCssColorString("rgba(153,197,255,0.098)"),S=n.fromCssColorString("rgba(255,255,255,0.086)"),w=n.fromCssColorString("rgba(255,255,255,0.267)"),E=n.fromCssColorString("rgba(255,255,255,0)"),x=n.fromCssColorString("rgba(66,67,68,0.3)"),b=n.fromCssColorString("rgba(0,0,0,0.5)"),T=new n,A=function(e,t){this._viewModel=t,this.svgElement=e,this._enabled=void 0,this._toggled=void 0;var r=this;this._clickFunction=function(){var e=r._viewModel.command;e.canExecute&&e()},e.addEventListener("click",this._clickFunction,!0),this._subscriptions=[a(t,"toggled",this.setToggled,this),a(t,"tooltip",this.setTooltip,this),a(t.command,"canExecute",this.setEnabled,this)]};A.prototype.destroy=function(){this.svgElement.removeEventListener("click",this._clickFunction,!0);for(var e=this._subscriptions,t=0,i=e.length;i>t;t++)e[t].dispose();r(this)},A.prototype.isDestroyed=function(){return!1},A.prototype.setEnabled=function(e){if(this._enabled!==e){if(this._enabled=e,!e)return this.svgElement.setAttribute("class","cesium-animation-buttonDisabled"),void 0;if(this._toggled)return this.svgElement.setAttribute("class","cesium-animation-rectButton cesium-animation-buttonToggled"),void 0;this.svgElement.setAttribute("class","cesium-animation-rectButton")}},A.prototype.setToggled=function(e){this._toggled!==e&&(this._toggled=e,this._enabled&&(e?this.svgElement.setAttribute("class","cesium-animation-rectButton cesium-animation-buttonToggled"):this.svgElement.setAttribute("class","cesium-animation-rectButton")))},A.prototype.setTooltip=function(e){this.svgElement.getElementsByTagName("title")[0].textContent=e};var P=function(e,t){e=o(e),this._viewModel=t,this._container=e,this._centerX=0,this._centerY=0,this._defsElement=void 0,this._svgNode=void 0,this._topG=void 0,this._lastHeight=void 0,this._lastWidth=void 0;var r=document.createElement("style");r.textContent=".cesium-animation-rectButton .cesium-animation-buttonGlow { filter: url(#animation_blurred); }.cesium-animation-rectButton .cesium-animation-buttonMain { fill: url(#animation_buttonNormal); }.cesium-animation-buttonToggled .cesium-animation-buttonMain { fill: url(#animation_buttonToggled); }.cesium-animation-rectButton:hover .cesium-animation-buttonMain { fill: url(#animation_buttonHovered); }.cesium-animation-buttonDisabled .cesium-animation-buttonMain { fill: url(#animation_buttonDisabled); }.cesium-animation-shuttleRingG .cesium-animation-shuttleRingSwoosh { fill: url(#animation_shuttleRingSwooshGradient); }.cesium-animation-shuttleRingG:hover .cesium-animation-shuttleRingSwoosh { fill: url(#animation_shuttleRingSwooshHovered); }.cesium-animation-shuttleRingPointer { fill: url(#animation_shuttleRingPointerGradient); }.cesium-animation-shuttleRingPausePointer { fill: url(#animation_shuttleRingPointerPaused); }.cesium-animation-knobOuter { fill: url(#animation_knobOuter); }.cesium-animation-knobInner { fill: url(#animation_knobInner); }",document.head.insertBefore(r,document.head.childNodes[0]);var i=document.createElement("div");i.className="cesium-animation-theme",i.innerHTML='
',this._theme=i,this._themeNormal=i.childNodes[0],this._themeHover=i.childNodes[1],this._themeSelect=i.childNodes[2],this._themeDisabled=i.childNodes[3],this._themeKnob=i.childNodes[4],this._themePointer=i.childNodes[5],this._themeSwoosh=i.childNodes[6],this._themeSwooshHover=i.childNodes[7];var n=document.createElementNS(v,"svg:svg");this._svgNode=n,n.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xlink",g);var s=document.createElementNS(v,"g");this._topG=s,this._realtimeSVG=new A(m(3,4,"#animation_pathClock"),t.playRealtimeViewModel),this._playReverseSVG=new A(d(44,99,"#animation_pathPlayReverse"),t.playReverseViewModel),this._playForwardSVG=new A(d(124,99,"#animation_pathPlay"),t.playForwardViewModel),this._pauseSVG=new A(d(84,99,"#animation_pathPause"),t.pauseViewModel);var h=document.createElementNS(v,"g");h.appendChild(this._realtimeSVG.svgElement),h.appendChild(this._playReverseSVG.svgElement),h.appendChild(this._playForwardSVG.svgElement),h.appendChild(this._pauseSVG.svgElement);var f=l({tagName:"circle","class":"cesium-animation-shuttleRingBack",cx:100,cy:100,r:99});this._shuttleRingBackPanel=f;var _=l({tagName:"g","class":"cesium-animation-shuttleRingSwoosh",children:[{tagName:"use",transform:"translate(100,97) scale(-1,1)","xlink:href":"#animation_pathSwooshFX"},{tagName:"use",transform:"translate(100,97)","xlink:href":"#animation_pathSwooshFX"},{tagName:"line",x1:100,y1:8,x2:100,y2:22}]});this._shuttleRingSwooshG=_,this._shuttleRingPointer=l({tagName:"use","class":"cesium-animation-shuttleRingPointer","xlink:href":"#animation_pathPointer"});var y=l({tagName:"g",transform:"translate(100,100)"});this._knobOuter=l({tagName:"circle","class":"cesium-animation-knobOuter",cx:0,cy:0,r:71});var C=61,S=l({tagName:"circle","class":"cesium-animation-knobInner",cx:0,cy:0,r:C});this._knobDate=u(0,-24,""),this._knobTime=u(0,-7,""),this._knobStatus=u(0,-41,"");var w=l({tagName:"circle","class":"cesium-animation-blank",cx:0,cy:0,r:C}),E=document.createElementNS(v,"g");E.setAttribute("class","cesium-animation-shuttleRingG"),e.appendChild(i),s.appendChild(E),s.appendChild(y),s.appendChild(h),E.appendChild(f),E.appendChild(_),E.appendChild(this._shuttleRingPointer),y.appendChild(this._knobOuter),y.appendChild(S),y.appendChild(this._knobDate),y.appendChild(this._knobTime),y.appendChild(this._knobStatus),y.appendChild(w),n.appendChild(s),e.appendChild(n);var x=this,b=function(e){p(x,e)};this._mouseCallback=b,f.addEventListener("mousedown",b,!0),f.addEventListener("touchstart",b,!0),_.addEventListener("mousedown",b,!0),_.addEventListener("touchstart",b,!0),document.addEventListener("mousemove",b,!0),document.addEventListener("touchmove",b,!0),document.addEventListener("mouseup",b,!0),document.addEventListener("touchend",b,!0),this._shuttleRingPointer.addEventListener("mousedown",b,!0),this._shuttleRingPointer.addEventListener("touchstart",b,!0),this._knobOuter.addEventListener("mousedown",b,!0),this._knobOuter.addEventListener("touchstart",b,!0);var T,P=this._knobTime.childNodes[0],D=this._knobDate.childNodes[0],M=this._knobStatus.childNodes[0];this._subscriptions=[a(t.pauseViewModel,"toggled",function(e){T!==e&&(T=e,T?x._shuttleRingPointer.setAttribute("class","cesium-animation-shuttleRingPausePointer"):x._shuttleRingPointer.setAttribute("class","cesium-animation-shuttleRingPointer"))}),a(t,"shuttleRingAngle",function(e){c(x._shuttleRingPointer,x._knobOuter,e)}),a(t,"dateLabel",function(e){D.textContent!==e&&(D.textContent=e)}),a(t,"timeLabel",function(e){P.textContent!==e&&(P.textContent=e)}),a(t,"multiplierLabel",function(e){M.textContent!==e&&(M.textContent=e)})],this.applyThemeChanges(),this.resize()};return t(P.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}}),P.prototype.isDestroyed=function(){return!1},P.prototype.destroy=function(){var e=this._mouseCallback;this._shuttleRingBackPanel.removeEventListener("mousedown",e,!0),this._shuttleRingBackPanel.removeEventListener("touchstart",e,!0),this._shuttleRingSwooshG.removeEventListener("mousedown",e,!0),this._shuttleRingSwooshG.removeEventListener("touchstart",e,!0),document.removeEventListener("mousemove",e,!0),document.removeEventListener("touchmove",e,!0),document.removeEventListener("mouseup",e,!0),document.removeEventListener("touchend",e,!0),this._shuttleRingPointer.removeEventListener("mousedown",e,!0),this._shuttleRingPointer.removeEventListener("touchstart",e,!0),this._knobOuter.removeEventListener("mousedown",e,!0),this._knobOuter.removeEventListener("touchstart",e,!0),this._container.removeChild(this._svgNode),this._container.removeChild(this._theme),this._realtimeSVG.destroy(),this._playReverseSVG.destroy(),this._playForwardSVG.destroy(),this._pauseSVG.destroy();for(var t=this._subscriptions,i=0,n=t.length;n>i;i++)t[i].dispose();return r(this)},P.prototype.resize=function(){var e=this._container.clientWidth,t=this._container.clientHeight;if(e!==this._lastWidth||t!==this._lastHeight){var r=this._svgNode,i=200,n=132,o=e,a=t;0===e&&0===t?(o=i,a=n):0===e?(a=t,o=i*(t/n)):0===t&&(o=e,a=n*(e/i));var s=o/i,l=a/n;r.style.cssText="width: "+o+"px; height: "+a+"px; position: absolute; bottom: 0; left: 0; overflow: hidden;",r.setAttribute("width",o),r.setAttribute("height",a),r.setAttribute("viewBox","0 0 "+o+" "+a),this._topG.setAttribute("transform","scale("+s+","+l+")"),this._centerX=Math.max(1,100*s),this._centerY=Math.max(1,100*l),this._lastHeight=e,this._lastWidth=t}},P.prototype.applyThemeChanges=function(){var t=s(this._themeNormal),r=s(this._themeHover),i=s(this._themeSelect),n=s(this._themeDisabled),o=s(this._themeKnob),a=s(this._themePointer),u=s(this._themeSwoosh),c=s(this._themeSwooshHover),d=l({tagName:"defs",children:[{id:"animation_buttonNormal",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-color":h(t,_)},{tagName:"stop",offset:"12%","stop-color":h(t,y)},{tagName:"stop",offset:"46%","stop-color":h(t,C)},{tagName:"stop",offset:"81%","stop-color":h(t,S)}]},{id:"animation_buttonHovered",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-color":h(r,_)},{tagName:"stop",offset:"12%","stop-color":h(r,y)},{tagName:"stop",offset:"46%","stop-color":h(r,C)},{tagName:"stop",offset:"81%","stop-color":h(r,S)}]},{id:"animation_buttonToggled",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-color":h(i,_)},{tagName:"stop",offset:"12%","stop-color":h(i,y)},{tagName:"stop",offset:"46%","stop-color":h(i,C)},{tagName:"stop",offset:"81%","stop-color":h(i,S)}]},{id:"animation_buttonDisabled",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-color":h(n,w)},{tagName:"stop",offset:"75%","stop-color":h(n,E)}]},{id:"animation_blurred",tagName:"filter",width:"200%",height:"200%",x:"-50%",y:"-50%",children:[{tagName:"feGaussianBlur",stdDeviation:4,"in":"SourceGraphic"}]},{id:"animation_shuttleRingSwooshGradient",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-opacity":.2,"stop-color":u.toCssColorString()},{tagName:"stop",offset:"85%","stop-opacity":.85,"stop-color":u.toCssColorString()},{tagName:"stop",offset:"95%","stop-opacity":.05,"stop-color":u.toCssColorString()}]},{id:"animation_shuttleRingSwooshHovered",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-opacity":.2,"stop-color":c.toCssColorString()},{tagName:"stop",offset:"85%","stop-opacity":.85,"stop-color":c.toCssColorString()},{tagName:"stop",offset:"95%","stop-opacity":.05,"stop-color":c.toCssColorString()}]},{id:"animation_shuttleRingPointerGradient",tagName:"linearGradient",x1:"0%",y1:"50%",x2:"100%",y2:"50%",children:[{tagName:"stop",offset:"0%","stop-color":a.toCssColorString()},{tagName:"stop",offset:"40%","stop-color":a.toCssColorString()},{tagName:"stop",offset:"60%","stop-color":h(a,b)},{tagName:"stop",offset:"100%","stop-color":h(a,b)}]},{id:"animation_shuttleRingPointerPaused",tagName:"linearGradient",x1:"0%",y1:"50%",x2:"100%",y2:"50%",children:[{tagName:"stop",offset:"0%","stop-color":"#CCC"},{tagName:"stop",offset:"40%","stop-color":"#CCC"},{tagName:"stop",offset:"60%","stop-color":"#555"},{tagName:"stop",offset:"100%","stop-color":"#555"}]},{id:"animation_knobOuter",tagName:"linearGradient",x1:"20%",y1:"0%",x2:"90%",y2:"100%",children:[{tagName:"stop",offset:"5%","stop-color":h(o,_)},{tagName:"stop",offset:"60%","stop-color":h(o,x)},{tagName:"stop",offset:"85%","stop-color":h(o,y)}]},{id:"animation_knobInner",tagName:"linearGradient",x1:"20%",y1:"0%",x2:"90%",y2:"100%",children:[{tagName:"stop",offset:"5%","stop-color":h(o,x)},{tagName:"stop",offset:"60%","stop-color":h(o,_)},{tagName:"stop",offset:"85%","stop-color":h(o,S)}]},{id:"animation_pathReset",tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-16)",d:"M24.316,5.318,9.833,13.682,9.833,5.5,5.5,5.5,5.5,25.5,9.833,25.5,9.833,17.318,24.316,25.682z"},{id:"animation_pathPause",tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-16)",d:"M13,5.5,7.5,5.5,7.5,25.5,13,25.5zM24.5,5.5,19,5.5,19,25.5,24.5,25.5z"},{id:"animation_pathPlay",tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-16)",d:"M6.684,25.682L24.316,15.5L6.684,5.318V25.682z"},{id:"animation_pathPlayReverse",tagName:"path",transform:"translate(16,16) scale(-0.85,0.85) translate(-16,-16)",d:"M6.684,25.682L24.316,15.5L6.684,5.318V25.682z"},{id:"animation_pathLoop",tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-16)",d:"M24.249,15.499c-0.009,4.832-3.918,8.741-8.75,8.75c-2.515,0-4.768-1.064-6.365-2.763l2.068-1.442l-7.901-3.703l0.744,8.694l2.193-1.529c2.244,2.594,5.562,4.242,9.26,4.242c6.767,0,12.249-5.482,12.249-12.249H24.249zM15.499,6.75c2.516,0,4.769,1.065,6.367,2.764l-2.068,1.443l7.901,3.701l-0.746-8.693l-2.192,1.529c-2.245-2.594-5.562-4.245-9.262-4.245C8.734,3.25,3.25,8.734,3.249,15.499H6.75C6.758,10.668,10.668,6.758,15.499,6.75z"},{id:"animation_pathClock",tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-15.5)",d:"M15.5,2.374C8.251,2.375,2.376,8.251,2.374,15.5C2.376,22.748,8.251,28.623,15.5,28.627c7.249-0.004,13.124-5.879,13.125-13.127C28.624,8.251,22.749,2.375,15.5,2.374zM15.5,25.623C9.909,25.615,5.385,21.09,5.375,15.5C5.385,9.909,9.909,5.384,15.5,5.374c5.59,0.01,10.115,4.535,10.124,10.125C25.615,21.09,21.091,25.615,15.5,25.623zM8.625,15.5c-0.001-0.552-0.448-0.999-1.001-1c-0.553,0-1,0.448-1,1c0,0.553,0.449,1,1,1C8.176,16.5,8.624,16.053,8.625,15.5zM8.179,18.572c-0.478,0.277-0.642,0.889-0.365,1.367c0.275,0.479,0.889,0.641,1.365,0.365c0.479-0.275,0.643-0.887,0.367-1.367C9.27,18.461,8.658,18.297,8.179,18.572zM9.18,10.696c-0.479-0.276-1.09-0.112-1.366,0.366s-0.111,1.09,0.365,1.366c0.479,0.276,1.09,0.113,1.367-0.366C9.821,11.584,9.657,10.973,9.18,10.696zM22.822,12.428c0.478-0.275,0.643-0.888,0.366-1.366c-0.275-0.478-0.89-0.642-1.366-0.366c-0.479,0.278-0.642,0.89-0.366,1.367C21.732,12.54,22.344,12.705,22.822,12.428zM12.062,21.455c-0.478-0.275-1.089-0.111-1.366,0.367c-0.275,0.479-0.111,1.09,0.366,1.365c0.478,0.277,1.091,0.111,1.365-0.365C12.704,22.344,12.54,21.732,12.062,21.455zM12.062,9.545c0.479-0.276,0.642-0.888,0.366-1.366c-0.276-0.478-0.888-0.642-1.366-0.366s-0.642,0.888-0.366,1.366C10.973,9.658,11.584,9.822,12.062,9.545zM22.823,18.572c-0.48-0.275-1.092-0.111-1.367,0.365c-0.275,0.479-0.112,1.092,0.367,1.367c0.477,0.275,1.089,0.113,1.365-0.365C23.464,19.461,23.3,18.848,22.823,18.572zM19.938,7.813c-0.477-0.276-1.091-0.111-1.365,0.366c-0.275,0.48-0.111,1.091,0.366,1.367s1.089,0.112,1.366-0.366C20.581,8.702,20.418,8.089,19.938,7.813zM23.378,14.5c-0.554,0.002-1.001,0.45-1.001,1c0.001,0.552,0.448,1,1.001,1c0.551,0,1-0.447,1-1C24.378,14.949,23.929,14.5,23.378,14.5zM15.501,6.624c-0.552,0-1,0.448-1,1l-0.466,7.343l-3.004,1.96c-0.478,0.277-0.642,0.889-0.365,1.365c0.275,0.479,0.889,0.643,1.365,0.367l3.305-1.676C15.39,16.99,15.444,17,15.501,17c0.828,0,1.5-0.671,1.5-1.5l-0.5-7.876C16.501,7.072,16.053,6.624,15.501,6.624zM15.501,22.377c-0.552,0-1,0.447-1,1s0.448,1,1,1s1-0.447,1-1S16.053,22.377,15.501,22.377zM18.939,21.455c-0.479,0.277-0.643,0.889-0.366,1.367c0.275,0.477,0.888,0.643,1.366,0.365c0.478-0.275,0.642-0.889,0.366-1.365C20.028,21.344,19.417,21.18,18.939,21.455z"},{id:"animation_pathWingButton",tagName:"path",d:"m 4.5,0.5 c -2.216,0 -4,1.784 -4,4 l 0,24 c 0,2.216 1.784,4 4,4 l 13.71875,0 C 22.478584,27.272785 27.273681,22.511272 32.5,18.25 l 0,-13.75 c 0,-2.216 -1.784,-4 -4,-4 l -24,0 z"},{id:"animation_pathPointer",tagName:"path",d:"M-15,-65,-15,-55,15,-55,15,-65,0,-95z"},{id:"animation_pathSwooshFX",tagName:"path",d:"m 85,0 c 0,16.617 -4.813944,35.356 -13.131081,48.4508 h 6.099803 c 8.317138,-13.0948 13.13322,-28.5955 13.13322,-45.2124 0,-46.94483 -38.402714,-85.00262 -85.7743869,-85.00262 -1.0218522,0 -2.0373001,0.0241 -3.0506131,0.0589 45.958443,1.59437 82.723058,35.77285 82.723058,81.70532 z"}]}); +e(this._defsElement)?this._svgNode.replaceChild(d,this._defsElement):this._svgNode.appendChild(d),this._defsElement=d},P}),r("Widgets/createCommand",["../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/DeveloperError","../Core/Event","../ThirdParty/knockout"],function(e,t,r,i,n,o){"use strict";var a=function(t,i){function a(){var e,r={args:arguments,cancel:!1};return s.raiseEvent(r),r.cancel||(e=t.apply(null,arguments),l.raiseEvent(e)),e}i=e(i,!0);var s=new n,l=new n;return a.canExecute=i,o.track(a,["canExecute"]),r(a,{beforeExecute:{value:s},afterExecute:{value:l}}),a};return a}),r("Widgets/ToggleButtonViewModel",["../Core/defaultValue","../Core/defined","../Core/defineProperties","../Core/DeveloperError","../ThirdParty/knockout"],function(e,t,r,i,n){"use strict";var o=function(t,r){this._command=t,r=e(r,e.EMPTY_OBJECT),this.toggled=e(r.toggled,!1),this.tooltip=e(r.tooltip,""),n.track(this,["toggled","tooltip"])};return r(o.prototype,{command:{get:function(){return this._command}}}),o}),r("Widgets/Animation/AnimationViewModel",["../../Core/binarySearch","../../Core/ClockStep","../../Core/ClockRange","../../Core/defined","../../Core/defineProperties","../../Core/DeveloperError","../createCommand","../ToggleButtonViewModel","../../ThirdParty/sprintf","../../ThirdParty/knockout"],function(e,t,r,i,n,o,a,s,l,u){"use strict";function c(e){e.clockStep===t.SYSTEM_CLOCK&&(e.clockStep=t.SYSTEM_CLOCK_MULTIPLIER,e.multiplier=1)}function h(e){c(e),e.shouldAnimate=!0}function d(e,t){return e-t}function m(t,r){var i=e(r,t,d);return 0>i?~i:i}function p(e,t){if(Math.abs(e)<=g)return e/g;var r,i,n=g,o=_,a=0;return e>0?(r=Math.log(t[t.length-1]),i=(r-a)/(o-n),Math.exp(a+i*(e-n))):(r=Math.log(-t[0]),i=(r-a)/(o-n),-Math.exp(a+i*(Math.abs(e)-n)))}function f(e,r,i){if(i.clockStep===t.SYSTEM_CLOCK)return g;if(Math.abs(e)<=1)return e*g;var n,o,a=g,s=_,l=0;return e>0?(n=Math.log(r[r.length-1]),o=(n-l)/(s-a),(Math.log(e)-l)/o+a):(n=Math.log(-r[0]),o=(n-l)/(s-a),-((Math.log(Math.abs(e))-l)/o+a))}var v=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],g=15,_=105,y=function(e){var i=this;this._clockViewModel=e,this._allShuttleRingTicks=[],this._dateFormatter=y.defaultDateFormatter,this._timeFormatter=y.defaultTimeFormatter,this.shuttleRingDragging=!1,this.snapToTicks=!1,u.track(this,["_allShuttleRingTicks","_dateFormatter","_timeFormatter","shuttleRingDragging","snapToTicks"]),this._sortedFilteredPositiveTicks=[],this.setShuttleRingTicks(y.defaultTicks),this.timeLabel=void 0,u.defineProperty(this,"timeLabel",function(){return i._timeFormatter(i._clockViewModel.currentTime,i)}),this.dateLabel=void 0,u.defineProperty(this,"dateLabel",function(){return i._dateFormatter(i._clockViewModel.currentTime,i)}),this.multiplierLabel=void 0,u.defineProperty(this,"multiplierLabel",function(){var e=i._clockViewModel;if(e.clockStep===t.SYSTEM_CLOCK)return"Today";var r=e.multiplier;return 0===r%1?r.toFixed(0)+"x":r.toFixed(3).replace(/0{0,3}$/,"")+"x"}),this.shuttleRingAngle=void 0,u.defineProperty(this,"shuttleRingAngle",{get:function(){return f(e.multiplier,i._allShuttleRingTicks,e)},set:function(e){e=Math.max(Math.min(e,_),-_);var r=i._allShuttleRingTicks,n=i._clockViewModel;if(n.clockStep=t.SYSTEM_CLOCK_MULTIPLIER,Math.abs(e)===_)return n.multiplier=e>0?r[r.length-1]:r[0],void 0;var o=p(e,r);if(i.snapToTicks)o=r[m(o,r)];else if(0!==o){var a=Math.abs(o);if(a>100){var s=a.toFixed(0).length-2,l=Math.pow(10,s);o=0|Math.round(o/l)*l}else a>g?o=Math.round(o):a>1?o=+o.toFixed(1):a>0&&(o=+o.toFixed(2))}n.multiplier=o}}),this._canAnimate=void 0,u.defineProperty(this,"_canAnimate",function(){var e=i._clockViewModel,t=e.clockRange;if(i.shuttleRingDragging||t===r.UNBOUNDED)return!0;var n=e.multiplier,o=e.currentTime,a=e.startTime,s=!1;if(t===r.LOOP_STOP)s=o.greaterThan(a)||o.equals(a)&&n>0;else{var l=e.stopTime;s=o.greaterThan(a)&&o.lessThan(l)||o.equals(a)&&n>0||o.equals(l)&&0>n}return s||(e.shouldAnimate=!1),s}),this._isSystemTimeAvailable=void 0,u.defineProperty(this,"_isSystemTimeAvailable",function(){var e=i._clockViewModel,t=e.clockRange;if(t===r.UNBOUNDED)return!0;var n=e.systemTime;return n.greaterThanOrEquals(e.startTime)&&n.lessThanOrEquals(e.stopTime)}),this._isAnimating=void 0,u.defineProperty(this,"_isAnimating",function(){return i._clockViewModel.shouldAnimate&&(i._canAnimate||i.shuttleRingDragging)});var n=a(function(){var e=i._clockViewModel;e.shouldAnimate?(c(e),e.shouldAnimate=!1):i._canAnimate&&h(e)});this._pauseViewModel=new s(n,{toggled:u.computed(function(){return!i._isAnimating}),tooltip:"Pause"});var o=a(function(){var e=i._clockViewModel;c(e);var t=e.multiplier;t>0&&(e.multiplier=-t),e.shouldAnimate=!0});this._playReverseViewModel=new s(o,{toggled:u.computed(function(){return i._isAnimating&&e.multiplier<0}),tooltip:"Play Reverse"});var l=a(function(){var e=i._clockViewModel;c(e);var t=e.multiplier;0>t&&(e.multiplier=-t),e.shouldAnimate=!0});this._playForwardViewModel=new s(l,{toggled:u.computed(function(){return i._isAnimating&&e.multiplier>0&&e.clockStep!==t.SYSTEM_CLOCK}),tooltip:"Play Forward"});var d=a(function(){var e=i._clockViewModel;e.clockStep=t.SYSTEM_CLOCK,e.multiplier=1,e.shouldAnimate=!0},u.getObservable(this,"_isSystemTimeAvailable"));this._playRealtimeViewModel=new s(d,{toggled:u.computed(function(){return e.shouldAnimate&&e.clockStep===t.SYSTEM_CLOCK}),tooltip:u.computed(function(){return i._isSystemTimeAvailable?"Today (real-time)":"Current time not in range"})}),this._slower=a(function(){var e=i._clockViewModel;c(e);var t=i._allShuttleRingTicks,r=e.multiplier,n=m(r,t)-1;n>=0&&(e.multiplier=t[n])}),this._faster=a(function(){var e=i._clockViewModel;c(e);var t=i._allShuttleRingTicks,r=e.multiplier,n=m(r,t)+1;nt;++t)i=e[t],n.hasOwnProperty(i)||(n[i]=!0,o.push(i));o.sort(d);var a=[];for(r=o.length,t=r-1;t>=0;--t)i=o[t],0!==i&&a.push(-i);Array.prototype.push.apply(a,o),this._allShuttleRingTicks=a},n(y.prototype,{slower:{get:function(){return this._slower}},faster:{get:function(){return this._faster}},clockViewModel:{get:function(){return this._clockViewModel}},pauseViewModel:{get:function(){return this._pauseViewModel}},playReverseViewModel:{get:function(){return this._playReverseViewModel}},playForwardViewModel:{get:function(){return this._playForwardViewModel}},playRealtimeViewModel:{get:function(){return this._playRealtimeViewModel}},dateFormatter:{get:function(){return this._dateFormatter},set:function(e){this._dateFormatter=e}},timeFormatter:{get:function(){return this._timeFormatter},set:function(e){this._timeFormatter=e}}}),y._maxShuttleRingAngle=_,y._realtimeShuttleRingAngle=g,y}),r("Widgets/BaseLayerPicker/BaseLayerPickerViewModel",["../../Core/defined","../../Core/defineProperties","../../Core/DeveloperError","../../Core/isArray","../createCommand","../../ThirdParty/knockout"],function(e,t,r,i,n,o){"use strict";var a=function(t,a){if(e(a)){if(!i(a))throw new r("imageryProviderViewModels must be an array")}else a=[];var s=this;this._imageryLayers=t,this.imageryProviderViewModels=a.slice(0),this.dropDownVisible=!1,o.track(this,["imageryProviderViewModels","dropDownVisible"]),this.selectedName=void 0,o.defineProperty(this,"selectedName",function(){var t=s.selectedItem;return e(t)?t.name:void 0}),this.selectedIconUrl=void 0,o.defineProperty(this,"selectedIconUrl",function(){var t=s.selectedItem;return e(t)?t.iconUrl:void 0}),this.selectedItem=void 0;var l=o.observable();this._currentProviders=[],o.defineProperty(this,"selectedItem",{get:function(){return l()},set:function(r){var n,o=s._currentProviders,a=o.length;for(n=0;a>n;n++)for(var u=t.length,c=0;u>c;c++){var h=t.get(c);if(h.getImageryProvider()===o[n]){t.remove(h);break}}if(e(r)){var d=r.creationCommand();if(i(d)){var m=d.length;for(n=m-1;n>=0;n--)t.addImageryProvider(d[n],0);s._currentProviders=d.slice(0)}else s._currentProviders=[d],t.addImageryProvider(d,0);l(r)}s.dropDownVisible=!1}}),this._toggleDropDown=n(function(){s.dropDownVisible=!s.dropDownVisible})};return t(a.prototype,{toggleDropDown:{get:function(){return this._toggleDropDown}},imageryLayers:{get:function(){return this._imageryLayers}}}),a}),r("Widgets/BaseLayerPicker/BaseLayerPicker",["../../Core/defined","../../Core/defineProperties","../../Core/destroyObject","../../Core/DeveloperError","../getElement","./BaseLayerPickerViewModel","../../ThirdParty/knockout"],function(e,t,r,i,n,o,a){"use strict";var s=function(e,t,r){e=n(e);var i=new o(t,r),s=document.createElement("button");s.type="button",s.className="cesium-button cesium-toolbar-button",s.setAttribute("data-bind","attr: { title: selectedName },click: toggleDropDown"),e.appendChild(s);var l=document.createElement("img");l.setAttribute("draggable","false"),l.className="cesium-baseLayerPicker-selected",l.setAttribute("data-bind","attr: { src: selectedIconUrl }"),s.appendChild(l);var u=document.createElement("div");u.className="cesium-baseLayerPicker-dropDown",u.setAttribute("data-bind",'css: { "cesium-baseLayerPicker-visible" : dropDownVisible, "cesium-baseLayerPicker-hidden" : !dropDownVisible },foreach: imageryProviderViewModels'),e.appendChild(u);var c=document.createElement("div");c.className="cesium-baseLayerPicker-item",c.setAttribute("data-bind",'css: { "cesium-baseLayerPicker-selectedItem" : $data === $parent.selectedItem },attr: { title: tooltip },visible: creationCommand.canExecute,click: function($data) { $parent.selectedItem = $data; }'),u.appendChild(c);var h=document.createElement("img");h.className="cesium-baseLayerPicker-itemIcon",h.setAttribute("data-bind","attr: { src: iconUrl }"),h.setAttribute("draggable","false"),c.appendChild(h);var d=document.createElement("div");d.className="cesium-baseLayerPicker-itemLabel",d.setAttribute("data-bind","text: name"),c.appendChild(d),a.applyBindings(i,s),a.applyBindings(i,u),this._viewModel=i,this._container=e,this._element=s,this._choices=u,this._closeDropDown=function(e){s.contains(e.target)||u.contains(e.target)||(i.dropDownVisible=!1)},document.addEventListener("mousedown",this._closeDropDown,!0),document.addEventListener("touchstart",this._closeDropDown,!0)};return t(s.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}}),s.prototype.isDestroyed=function(){return!1},s.prototype.destroy=function(){return document.removeEventListener("mousedown",this._closeDropDown,!0),document.removeEventListener("touchstart",this._closeDropDown,!0),a.cleanNode(this._element),a.cleanNode(this._choices),this._container.removeChild(this._element),this._container.removeChild(this._choices),r(this)},s}),r("Widgets/BaseLayerPicker/ImageryProviderViewModel",["../../Core/defineProperties","../../Core/defined","../../Core/DeveloperError","../createCommand","../../ThirdParty/knockout"],function(e,t,r,i,n){"use strict";var o=function(e){var r=e.creationFunction;t(r.canExecute)||(r=i(r)),this._creationCommand=r,this.name=e.name,this.tooltip=e.tooltip,this.iconUrl=e.iconUrl,n.track(this,["name","tooltip","iconUrl"])};return e(o.prototype,{creationCommand:{get:function(){return this._creationCommand}}}),o}),r("Widgets/BaseLayerPicker/createDefaultBaseLayers",["../BaseLayerPicker/ImageryProviderViewModel","../../Core/buildModuleUrl","../../Scene/BingMapsImageryProvider","../../Scene/BingMapsStyle","../../Scene/ArcGisMapServerImageryProvider","../../Scene/OpenStreetMapImageryProvider","../../Scene/TileMapServiceImageryProvider"],function(e,t,r,i,n,o,a){"use strict";function s(){var s=[];return s.push(new e({name:"Bing Maps Aerial",iconUrl:t("Widgets/Images/ImageryProviders/bingAerial.png"),tooltip:"Bing Maps aerial imagery \nhttp://www.bing.com/maps",creationFunction:function(){return new r({url:"//dev.virtualearth.net",mapStyle:i.AERIAL})}})),s.push(new e({name:"Bing Maps Aerial with Labels",iconUrl:t("Widgets/Images/ImageryProviders/bingAerialLabels.png"),tooltip:"Bing Maps aerial imagery with label overlays \nhttp://www.bing.com/maps",creationFunction:function(){return new r({url:"//dev.virtualearth.net",mapStyle:i.AERIAL_WITH_LABELS})}})),s.push(new e({name:"Bing Maps Roads",iconUrl:t("Widgets/Images/ImageryProviders/bingRoads.png"),tooltip:"Bing Maps standard road maps\nhttp://www.bing.com/maps",creationFunction:function(){return new r({url:"//dev.virtualearth.net",mapStyle:i.ROAD})}})),s.push(new e({name:"ESRI World Imagery",iconUrl:t("Widgets/Images/ImageryProviders/esriWorldImagery.png"),tooltip:"World Imagery provides one meter or better satellite and aerial imagery in many parts of the world and lower resolution satellite imagery worldwide. The map includes NASA Blue Marble: Next Generation 500m resolution imagery at small scales (above 1:1,000,000), i-cubed 15m eSAT imagery at medium-to-large scales (down to 1:70,000) for the world, and USGS 15m Landsat imagery for Antarctica. The map features 0.3m resolution imagery in the continental United States and 0.6m resolution imagery in parts of Western Europe from DigitalGlobe. In other parts of the world, 1 meter resolution imagery is available from GeoEye IKONOS, i-cubed Nationwide Prime, Getmapping, AeroGRID, IGN Spain, and IGP Portugal. Additionally, imagery at different resolutions has been contributed by the GIS User Community.\nhttp://www.esri.com",creationFunction:function(){return new n({url:"http://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer"})}})),s.push(new e({name:"ESRI World Street Map",iconUrl:t("Widgets/Images/ImageryProviders/esriWorldStreetMap.png"),tooltip:"This worldwide street map presents highway-level data for the world. Street-level data includes the United States; much of Canada; Japan; most countries in Europe; Australia and New Zealand; India; parts of South America including Argentina, Brazil, Chile, Colombia, and Venezuela; Ghana; and parts of southern Africa including Botswana, Lesotho, Namibia, South Africa, and Swaziland.\nhttp://www.esri.com",creationFunction:function(){return new n({url:"http://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer"})}})),s.push(new e({name:"ESRI National Geographic",iconUrl:t("Widgets/Images/ImageryProviders/esriNationalGeographic.png"),tooltip:"This web map contains the National Geographic World Map service. This map service is designed to be used as a general reference map for informational and educational purposes as well as a basemap by GIS professionals and other users for creating web maps and web mapping applications.\nhttp://www.esri.com",creationFunction:function(){return new n({url:"http://services.arcgisonline.com/ArcGIS/rest/services/NatGeo_World_Map/MapServer/"})}})),s.push(new e({name:"Open­Street­Map",iconUrl:t("Widgets/Images/ImageryProviders/openStreetMap.png"),tooltip:"OpenStreetMap (OSM) is a collaborative project to create a free editable map of the world.\nhttp://www.openstreetmap.org",creationFunction:function(){return new o({url:"http://tile.openstreetmap.org/"})}})),s.push(new e({name:"Stamen Watercolor",iconUrl:t("Widgets/Images/ImageryProviders/stamenWatercolor.png"),tooltip:"Reminiscent of hand drawn maps, Stamen watercolor maps apply raster effect area washes and organic edges over a paper texture to add warm pop to any map.\nhttp://maps.stamen.com",creationFunction:function(){return new o({url:"http://tile.stamen.com/watercolor/",credit:"Map tiles by Stamen Design, under CC BY 3.0. Data by OpenStreetMap, under CC BY SA."})}})),s.push(new e({name:"Stamen Toner",iconUrl:t("Widgets/Images/ImageryProviders/stamenToner.png"),tooltip:"A high contrast black and white map.\nhttp://maps.stamen.com",creationFunction:function(){return new o({url:"http://tile.stamen.com/toner/",credit:"Map tiles by Stamen Design, under CC BY 3.0. Data by OpenStreetMap, under CC BY SA."})}})),s.push(new e({name:"MapQuest Open­Street­Map",iconUrl:t("Widgets/Images/ImageryProviders/mapQuestOpenStreetMap.png"),tooltip:"OpenStreetMap (OSM) is a collaborative project to create a free editable map of the world.\nhttp://www.openstreetmap.org",creationFunction:function(){return new o({url:"http://otile1.mqcdn.com/tiles/1.0.0/osm/"})}})),s.push(new e({name:"The Black Marble",iconUrl:t("Widgets/Images/ImageryProviders/blackMarble.png"),tooltip:"The lights of cities and villages trace the outlines of civilization in this global view of the Earth at night as seen by NASA/NOAA's Suomi NPP satellite.",creationFunction:function(){return new a({url:"http://cesiumjs.org/blackmarble",maximumLevel:8,credit:"Black Marble imagery courtesy NASA Earth Observatory"})}})),s.push(new e({name:"Natural Earth II",iconUrl:t("Widgets/Images/ImageryProviders/naturalEarthII.png"),tooltip:"Natural Earth II, darkened for contrast.\nhttp://www.naturalearthdata.com/",creationFunction:function(){return new a({url:t("Assets/Textures/NaturalEarthII")})}})),s}return s}),r("Widgets/CesiumInspector/CesiumInspectorViewModel",["../../Core/Color","../../Core/defined","../../Core/defineProperties","../../Core/DeveloperError","../../Scene/DebugModelMatrixPrimitive","../../Scene/PerformanceDisplay","../../Scene/TileCoordinatesImageryProvider","../createCommand","../../ThirdParty/knockout"],function(e,t,r,i,n,o,a,s,l){"use strict";function u(e){var r;if(t(e)){r="Command Statistics";var i=e.commandsInFrustums;for(var n in i)if(i.hasOwnProperty(n)){var o,a=parseInt(n,10);if(7===a)o="1, 2 and 3";else{for(var s=[],l=2;l>=0;l--){var u=Math.pow(2,l);a>=u&&(s.push(l+1),a-=u)}o=s.reverse().join(" and ")}r+="
    "+i[n]+" in frustum "+o}r+="
Total: "+e.totalCommands}return r}var c=new e(.15,.15,.15,.75),h=document.createElement("div");h.className="cesium-cesiumInspector-performanceDisplay";var d=function(e){if(!t(e))throw new i("scene is required");var r=this,u=e.canvas;u.parentNode.appendChild(h),this._scene=e,this._canvas=u,this._primitive=void 0,this._tile=void 0,this._modelMatrixPrimitive=void 0,this._performanceDisplay=void 0;var d=this._scene.primitives.centralBody;d.depthTestAgainstTerrain=!0,this.frustums=!1,this.performance=!1,this.primitiveBoundingSphere=!1,this.primitiveReferenceFrame=!1,this.filterPrimitive=!1,this.tileBoundingSphere=!1,this.filterTile=!1,this.wireframe=!1,this.suspendUpdates=!1,this.tileCoordinates=!1,this.frustumStatisticText="",this.tileText="",this.hasPickedPrimitive=!1,this.hasPickedTile=!1,this.pickPimitiveActive=!1,this.pickTileActive=!1,this.dropDownVisible=!0,this.generalVisible=!0,this.primitivesVisible=!1,this.terrainVisible=!1,this.generalSwitchText="-",this.primitivesSwitchText="+",this.terrainSwitchText="+",l.track(this,["filterTile","suspendUpdates","dropDownVisible","frustums","frustumStatisticText","pickTileActive","pickPrimitiveActive","hasPickedPrimitive","hasPickedTile","tileText","generalVisible","generalSwitchText","primitivesVisible","primitivesSwitchText","terrainVisible","terrainSwitchText"]),this._toggleDropDown=s(function(){r.dropDownVisible=!r.dropDownVisible}),this._toggleGeneral=s(function(){r.generalVisible=!r.generalVisible,r.generalSwitchText=r.generalVisible?"-":"+"}),this._togglePrimitives=s(function(){r.primitivesVisible=!r.primitivesVisible,r.primitivesSwitchText=r.primitivesVisible?"-":"+"}),this._toggleTerrain=s(function(){r.terrainVisible=!r.terrainVisible,r.terrainSwitchText=r.terrainVisible?"-":"+"}),this._showFrustums=s(function(){return r._scene.debugShowFrustums=r.frustums?!0:!1,!0}),this._showPerformance=s(function(){return r.performance?r._performanceDisplay=new o({container:h,backgroundColor:c,font:"12px arial,sans-serif"}):h.innerHTML="",!0}),this._showPrimitiveBoundingSphere=s(function(){return r._primitive.debugShowBoundingVolume=r.primitiveBoundingSphere,!0}),this._showPrimitiveReferenceFrame=s(function(){if(r.primitiveReferenceFrame){var e=r._primitive.modelMatrix;r._modelMatrixPrimitive=new n({modelMatrix:e}),r._scene.primitives.add(r._modelMatrixPrimitive)}else t(r._modelMatrixPrimitive)&&(r._scene.primitives.remove(r._modelMatrixPrimitive),r._modelMatrixPrimitive=void 0);return!0}),this._doFilterPrimitive=s(function(){return r._scene.debugCommandFilter=r.filterPrimitive?function(e){return t(r._modelMatrixPrimitive)&&e.owner===r._modelMatrixPrimitive._primitive?!0:t(r._primitive)?e.owner===r._primitive||e.owner===r._primitive._billboardCollection:!1}:void 0,!0}),this._showWireframe=s(function(){return d._surface._debug.wireframe=r.wireframe,!0}),this._doSuspendUpdates=s(function(){return d._surface._debug.suspendLodUpdate=r.suspendUpdates,r.suspendUpdates||(r.filterTile=!1),!0});var m;this._showTileCoordinates=s(function(){return r.tileCoordinates&&!t(m)?m=d.imageryLayers.addImageryProvider(new a({tilingScheme:d.terrainProvider.tilingScheme})):!r.tileCoordinates&&t(m)&&(d.imageryLayers.remove(m),m=void 0),!0}),this._showTileBoundingSphere=s(function(){return d._surface._debug.boundingSphereTile=r.tileBoundingSphere?r._tile:void 0,!0}),this._doFilterTile=s(function(){if(r.filterTile){if(r.suspendUpdates=!0,r.doSuspendUpdates(),d._surface._tilesToRenderByTextureCount=[],t(r._tile)){for(var e=0,i=r._tile.imagery,n=0,o=i.length;o>n;++n){var a=i[n];t(a.readyImagery)&&0!==a.readyImagery.imageryLayer.alpha&&++e}d._surface._tilesToRenderByTextureCount[e]=[r._tile],d._surface._tileLoadQueue.push(r._tile)}}else r.suspendUpdates=!1,r.doSuspendUpdates();return!0});var p=function(e){r._canvas.removeEventListener("mousedown",p,!1),r.pickPrimitiveActive=!1;var i=r._scene.pick({x:e.clientX,y:e.clientY});t(i)&&(r.primitive=t(i.collection)?i.collection:i.primitive)};this._pickPrimitive=s(function(){r.pickPrimitiveActive=!r.pickPrimitiveActive,r.pickPrimitiveActive?r._canvas.addEventListener("mousedown",p,!1):r._canvas.removeEventListener("mousedown",p,!1)});var f=function(e){var i,n=d.ellipsoid,o=r._scene.camera.controller.pickEllipsoid({x:e.clientX,y:e.clientY},n);if(t(o))for(var a=n.cartesianToCartographic(o),s=d._surface._tilesToRenderByTextureCount,l=0;!i&&l0&&"/"!==this._url[this._url.length-1]&&(this._url+="/"),this._key=e.getKey(r.key),this._scene=r.scene,this._ellipsoid=t(r.ellipsoid,o.WGS84),this._flightDuration=t(r.flightDuration,1500),this._searchText="",this._isSearchInProgress=!1,this._geocodeInProgress=void 0;var i=this;this._searchCommand=d(function(){i.isSearchInProgress?v(i):f(i)}),m.track(this,["_searchText","_isSearchInProgress"]),this.isSearchInProgress=void 0,m.defineProperty(this,"isSearchInProgress",{get:function(){return this._isSearchInProgress}}),this.searchText=void 0,m.defineProperty(this,"searchText",{get:function(){return this.isSearchInProgress?"Searching...":this._searchText},set:function(e){this._searchText=e}}),this.flightDuration=void 0,m.defineProperty(this,"flightDuration",{get:function(){return this._flightDuration},set:function(e){this._flightDuration=e}})};i(g.prototype,{url:{get:function(){return this._url}},key:{get:function(){return this._key}},scene:{get:function(){return this._scene}},ellipsoid:{get:function(){return this._ellipsoid}},search:{get:function(){return this._searchCommand}}});var _=new l(0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1);return g}),r("Widgets/Geocoder/Geocoder",["../../Core/defined","../../Core/defineProperties","../../Core/destroyObject","../../Core/DeveloperError","../getElement","./GeocoderViewModel","../../ThirdParty/knockout"],function(e,t,r,i,n,o,a){"use strict";var s="M29.772,26.433l-7.126-7.126c0.96-1.583,1.523-3.435,1.524-5.421C24.169,8.093,19.478,3.401,13.688,3.399C7.897,3.401,3.204,8.093,3.204,13.885c0,5.789,4.693,10.481,10.484,10.481c1.987,0,3.839-0.563,5.422-1.523l7.128,7.127L29.772,26.433zM7.203,13.885c0.006-3.582,2.903-6.478,6.484-6.486c3.579,0.008,6.478,2.904,6.484,6.486c-0.007,3.58-2.905,6.476-6.484,6.484C10.106,20.361,7.209,17.465,7.203,13.885z",l="M24.778,21.419 19.276,15.917 24.777,10.415 21.949,7.585 16.447,13.087 10.945,7.585 8.117,10.415 13.618,15.917 8.116,21.419 10.946,24.248 16.447,18.746 21.948,24.248z",u=function(e){var t=n(e.container),r=new o(e);r._startSearchPath=s,r._stopSearchPath=l;var i=document.createElement("form");i.setAttribute("data-bind","submit: search");var u=document.createElement("input");u.type="search",u.className="cesium-geocoder-input",u.setAttribute("placeholder","Enter an address or landmark..."),u.setAttribute("data-bind",'value: searchText,valueUpdate: "afterkeydown",css: { "cesium-geocoder-input-wide" : searchText.length > 0 }'),i.appendChild(u);var c=document.createElement("span");c.className="cesium-geocoder-searchButton",c.setAttribute("data-bind","click: search,cesiumSvgPath: { path: isSearchInProgress ? _stopSearchPath : _startSearchPath, width: 32, height: 32 }"),i.appendChild(c),t.appendChild(i),a.applyBindings(r,i),this._container=t,this._viewModel=r,this._form=i,this._onInputBegin=function(e){t.contains(e.target)||u.blur()},this._onInputEnd=function(e){t.contains(e.target)&&u.focus()},document.addEventListener("mousedown",this._onInputBegin,!0),document.addEventListener("mouseup",this._onInputEnd,!0),document.addEventListener("touchstart",this._onInputBegin,!0),document.addEventListener("touchend",this._onInputEnd,!0)};return t(u.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}}),u.prototype.isDestroyed=function(){return!1},u.prototype.destroy=function(){return document.removeEventListener("mousedown",this._onInputBegin,!0),document.removeEventListener("mouseup",this._onInputEnd,!0),document.removeEventListener("touchstart",this._onInputBegin,!0),document.removeEventListener("touchend",this._onInputEnd,!0),a.cleanNode(this._form),this._container.removeChild(this._form),r(this)},u}),r("Widgets/HomeButton/HomeButtonViewModel",["../../Core/Cartesian3","../../Core/defaultValue","../../Core/defined","../../Core/defineProperties","../../Core/DeveloperError","../../Core/Ellipsoid","../../Core/Extent","../../Core/Matrix4","../../Scene/Camera","../../Scene/CameraColumbusViewMode","../../Scene/CameraFlightPath","../../Scene/SceneMode","../createCommand","../../ThirdParty/knockout"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m){"use strict";function p(t,i,n,o){var d=t.mode,m=t.screenSpaceCameraController;m.ellipsoid=i,m.columbusViewMode=u.FREE;var p=t.context;r(n)&&d===h.MORPHING&&n.completeMorph();var f,v;if(d===h.SCENE2D)v={destination:a.MAX_VALUE,duration:o,endReferenceFrame:new s(0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1)},f=c.createAnimationExtent(t,v),t.animations.add(f);else if(d===h.SCENE3D){var g=new l(p);v={destination:g.position,duration:o,up:g.up,direction:g.direction,endReferenceFrame:s.IDENTITY},f=c.createAnimation(t,v),t.animations.add(f)}else if(d===h.COLUMBUS_VIEW){var _=i.maximumRadius,y=e.multiplyByScalar(e.normalize(new e(0,-1,1)),5*_),C=e.normalize(e.subtract(e.ZERO,y)),S=e.cross(C,e.UNIT_Z),w=e.cross(S,C);v={destination:y,duration:o,up:w,direction:C,endReferenceFrame:new s(0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1)},f=c.createAnimation(t,v),t.animations.add(f)}}var f=function(e,r,i,n){i=t(i,o.WGS84),n=t(n,1500),this._scene=e,this._ellipsoid=i,this._transitioner=r,this._flightDuration=n;var a=this;this._command=d(function(){p(a._scene,a._ellipsoid,a._transitioner,a._flightDuration)}),this.tooltip="View Home",m.track(this,["tooltip"])};return i(f.prototype,{sceneTransitioner:{get:function(){return this._transitioner}},scene:{get:function(){return this._scene}},ellipsoid:{get:function(){return this._ellipsoid}},command:{get:function(){return this._command}},flightDuration:{get:function(){return this._flightDuration},set:function(e){this._flightDuration=e}}}),f}),r("Widgets/HomeButton/HomeButton",["../../Core/defined","../../Core/defineProperties","../../Core/destroyObject","../../Core/DeveloperError","../getElement","./HomeButtonViewModel","../../ThirdParty/knockout"],function(e,t,r,i,n,o,a){"use strict";var s=function(e,t,r,i,s){e=n(e);var l=new o(t,r,i,s);l._svgPath="M14,4l-10,8.75h20l-4.25-3.7188v-4.6562h-2.812v2.1875l-2.938-2.5625zm-7.0938,9.906v10.094h14.094v-10.094h-14.094zm2.1876,2.313h3.3122v4.25h-3.3122v-4.25zm5.8442,1.281h3.406v6.438h-3.406v-6.438z";var u=document.createElement("button");u.type="button",u.className="cesium-button cesium-toolbar-button cesium-home-button",u.setAttribute("data-bind","attr: { title: tooltip },click: command,cesiumSvgPath: { path: _svgPath, width: 28, height: 28 }"),e.appendChild(u),a.applyBindings(l,u),this._container=e,this._viewModel=l,this._element=u};return t(s.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}}),s.prototype.isDestroyed=function(){return!1},s.prototype.destroy=function(){return a.cleanNode(this._element),this._container.removeChild(this._element),r(this)},s}),r("Widgets/InfoBox/InfoBoxViewModel",["../../Core/Cartesian2","../../Core/defaultValue","../../Core/defined","../../Core/defineProperties","../../Core/Event","../../Core/formatError","../../Core/TaskProcessor","../../ThirdParty/knockout","../../ThirdParty/when"],function(e,t,r,i,n,o,a,s,l){"use strict";function u(e){return r(c)||(c=new a("sanitizeHtml",1/0)),c.scheduleTask(e)}new e;var c,h="M 13.84375 7.03125 C 11.412798 7.03125 9.46875 8.975298 9.46875 11.40625 L 9.46875 11.59375 L 2.53125 7.21875 L 2.53125 24.0625 L 9.46875 19.6875 C 9.4853444 22.104033 11.423165 24.0625 13.84375 24.0625 L 25.875 24.0625 C 28.305952 24.0625 30.28125 22.087202 30.28125 19.65625 L 30.28125 11.40625 C 30.28125 8.975298 28.305952 7.03125 25.875 7.03125 L 13.84375 7.03125 z",d="M 27.34375 1.65625 L 5.28125 27.9375 L 8.09375 30.3125 L 30.15625 4.03125 L 27.34375 1.65625 z M 13.84375 7.03125 C 11.412798 7.03125 9.46875 8.975298 9.46875 11.40625 L 9.46875 11.59375 L 2.53125 7.21875 L 2.53125 24.0625 L 9.46875 19.6875 C 9.4724893 20.232036 9.5676108 20.7379 9.75 21.21875 L 21.65625 7.03125 L 13.84375 7.03125 z M 28.21875 7.71875 L 14.53125 24.0625 L 25.875 24.0625 C 28.305952 24.0625 30.28125 22.087202 30.28125 19.65625 L 30.28125 11.40625 C 30.28125 9.8371439 29.456025 8.4902779 28.21875 7.71875 z",m=function(){this._sanitizer=void 0,this._descriptionRawHtml="",this._descriptionSanitizedHtml="",this._cameraClicked=new n,this._closeClicked=new n,this.maxHeight=500,this.enableCamera=!1,this.isCameraTracking=!1,this.showInfo=!1,this.titleText="",s.track(this,["showInfo","titleText","_descriptionRawHtml","_descriptionSanitizedHtml","maxHeight","enableCamera","isCameraTracking"]),this.descriptionRawHtml=void 0,s.defineProperty(this,"descriptionRawHtml",{get:function(){return this._descriptionRawHtml},set:function(e){if(this._descriptionRawHtml!==e){this._descriptionRawHtml=e,this._descriptionSanitizedHtml="";var t=this;l(this.sanitizer(e),function(r){t._descriptionRawHtml===e&&(t._descriptionSanitizedHtml=r)}).otherwise(function(e){console.log("An error occurred while sanitizing HTML: "+o(e))})}}}),this.descriptionSanitizedHtml=void 0,s.defineProperty(this,"descriptionSanitizedHtml",{get:function(){return this._descriptionSanitizedHtml +}}),this.cameraIconPath=void 0,s.defineProperty(this,"cameraIconPath",{get:function(){return this.enableCamera||this.isCameraTracking?h:d}}),m.prototype.maxHeightOffset=function(e){return this.maxHeight-e+"px"},s.defineProperty(this,"_bodyless",{get:function(){return!this._descriptionSanitizedHtml}})};return m.defaultSanitizer=u,i(m.prototype,{cameraClicked:{get:function(){return this._cameraClicked}},closeClicked:{get:function(){return this._closeClicked}},sanitizer:{get:function(){return t(this._sanitizer,m.defaultSanitizer)},set:function(e){this._sanitizer=e;var t=this._descriptionRawHtml;this._descriptionRawHtml="",this.descriptionRawHtml=t}}}),m}),r("Widgets/InfoBox/InfoBox",["../../Core/defined","../../Core/defineProperties","../../Core/DeveloperError","../../Core/destroyObject","../getElement","./InfoBoxViewModel","../../ThirdParty/knockout"],function(e,t,r,i,n,o,a){"use strict";var s=function(e){e=n(e),this._container=e;var t=document.createElement("div");t.className="cesium-infoBox",t.setAttribute("data-bind",'css: { "cesium-infoBox-visible" : showInfo, "cesium-infoBox-bodyless" : _bodyless }'),e.appendChild(t),this._element=t;var r=document.createElement("div");r.className="cesium-infoBox-title",r.setAttribute("data-bind","text: titleText"),t.appendChild(r);var i=document.createElement("button");i.type="button",i.className="cesium-button cesium-infoBox-camera",i.setAttribute("data-bind",'attr: { title: "Focus camera on object" },click: function () { cameraClicked.raiseEvent(); },enable: enableCamera,cesiumSvgPath: { path: cameraIconPath, width: 32, height: 32 }'),t.appendChild(i);var s=document.createElement("button");s.type="button",s.className="cesium-infoBox-close",s.setAttribute("data-bind","click: function () { closeClicked.raiseEvent(); }"),s.innerHTML="×",t.appendChild(s);var l=document.createElement("div");l.className="cesium-infoBox-body",t.appendChild(l);var u=document.createElement("div");u.className="cesium-infoBox-description",u.setAttribute("data-bind","html: descriptionSanitizedHtml,style : { maxHeight : maxHeightOffset(40) }"),l.appendChild(u);var c=new o;this._viewModel=c,a.applyBindings(this._viewModel,t)};return t(s.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}}),s.prototype.isDestroyed=function(){return!1},s.prototype.destroy=function(){var e=this._container;return a.cleanNode(this._element),e.removeChild(this._element),i(this)},s}),r("Widgets/SceneModePicker/SceneModePickerViewModel",["../../Core/defineProperties","../../Core/defined","../../Core/destroyObject","../../Core/DeveloperError","../../Core/EventHelper","../../Scene/SceneMode","../createCommand","../../ThirdParty/knockout"],function(e,t,r,i,n,o,a,s){"use strict";var l=function(e){this._transitioner=e;var t=this,r=function(e,r,i){t.sceneMode=i,t.dropDownVisible=!1};this._eventHelper=new n,this._eventHelper.add(e.transitionStart,r),this.sceneMode=e.scene.mode,this.dropDownVisible=!1,this.tooltip2D="2D",this.tooltip3D="3D",this.tooltipColumbusView="Columbus View",s.track(this,["sceneMode","dropDownVisible","tooltip2D","tooltip3D","tooltipColumbusView"]),this.selectedTooltip=void 0,s.defineProperty(this,"selectedTooltip",function(){var e=t.sceneMode;return e===o.SCENE2D?t.tooltip2D:e===o.SCENE3D?t.tooltip3D:t.tooltipColumbusView}),this._toggleDropDown=a(function(){t.dropDownVisible=!t.dropDownVisible}),this._morphTo2D=a(function(){e.morphTo2D()}),this._morphTo3D=a(function(){e.morphTo3D()}),this._morphToColumbusView=a(function(){e.morphToColumbusView()}),this._sceneMode=o};return e(l.prototype,{sceneTransitioner:{get:function(){return this._transitioner}},toggleDropDown:{get:function(){return this._toggleDropDown}},morphTo2D:{get:function(){return this._morphTo2D}},morphTo3D:{get:function(){return this._morphTo3D}},morphToColumbusView:{get:function(){return this._morphToColumbusView}}}),l.prototype.isDestroyed=function(){return!1},l.prototype.destroy=function(){this._eventHelper.removeAll(),r(this)},l}),r("Widgets/SceneModePicker/SceneModePicker",["../../Core/defineProperties","../../Core/defined","../../Core/destroyObject","../../Core/DeveloperError","../getElement","./SceneModePickerViewModel","../../ThirdParty/knockout"],function(e,t,r,i,n,o,a){"use strict";var s="m 32.401392,4.9330437 c -7.087603,0 -14.096095,2.884602 -19.10793,7.8946843 -5.0118352,5.010083 -7.9296167,11.987468 -7.9296167,19.072999 0,7.085531 2.9177815,14.097848 7.9296167,19.107931 4.837653,4.835961 11.541408,7.631372 18.374354,7.82482 0.05712,0.01231 0.454119,0.139729 0.454119,0.139729 l 0.03493,-0.104797 c 0.08246,7.84e-4 0.162033,0.03493 0.244525,0.03493 0.08304,0 0.161515,-0.03414 0.244526,-0.03493 l 0.03493,0.104797 c 0,0 0.309474,-0.129487 0.349323,-0.139729 6.867765,-0.168094 13.582903,-2.965206 18.444218,-7.82482 2.558195,-2.5573 4.551081,-5.638134 5.903547,-8.977584 1.297191,-3.202966 2.02607,-6.661489 2.02607,-10.130347 0,-6.237309 -2.366261,-12.31219 -6.322734,-17.116794 -0.0034,-0.02316 0.0049,-0.04488 0,-0.06986 -0.01733,-0.08745 -0.104529,-0.278855 -0.104797,-0.279458 -5.31e-4,-0.0012 -0.522988,-0.628147 -0.523984,-0.62878 -3.47e-4,-2.2e-4 -0.133444,-0.03532 -0.244525,-0.06987 C 51.944299,13.447603 51.751076,13.104317 51.474391,12.827728 46.462556,7.8176457 39.488996,4.9330437 32.401392,4.9330437 z m -2.130866,3.5281554 0.104797,9.6762289 c -4.111695,-0.08361 -7.109829,-0.423664 -9.257041,-0.943171 1.198093,-2.269271 2.524531,-4.124404 3.91241,-5.414496 2.167498,-2.0147811 3.950145,-2.8540169 5.239834,-3.3185619 z m 2.794579,0 c 1.280302,0.4754953 3.022186,1.3285948 5.065173,3.2486979 1.424667,1.338973 2.788862,3.303645 3.982275,5.728886 -2.29082,0.403367 -5.381258,0.621049 -8.942651,0.698645 L 33.065105,8.4611991 z m 5.728886,0.2445256 c 4.004072,1.1230822 7.793098,3.1481363 10.724195,6.0782083 0.03468,0.03466 0.07033,0.06991 0.104797,0.104797 -0.45375,0.313891 -0.923054,0.663002 -1.956205,1.082899 -0.647388,0.263114 -1.906242,0.477396 -2.829511,0.733577 -1.382296,-2.988132 -3.027146,-5.368585 -4.785716,-7.0213781 -0.422866,-0.397432 -0.835818,-0.6453247 -1.25756,-0.9781032 z m -15.33525,0.7685092 c -0.106753,0.09503 -0.207753,0.145402 -0.31439,0.244526 -1.684973,1.5662541 -3.298068,3.8232211 -4.680919,6.5672591 -0.343797,-0.14942 -1.035052,-0.273198 -1.292493,-0.419186 -0.956528,-0.542427 -1.362964,-1.022024 -1.537018,-1.292493 -0.0241,-0.03745 -0.01868,-0.0401 -0.03493,-0.06986 2.250095,-2.163342 4.948824,-3.869984 7.859752,-5.0302421 z m -9.641296,7.0912431 c 0.464973,0.571618 0.937729,1.169056 1.956205,1.746612 0.349907,0.198425 1.107143,0.335404 1.537018,0.523983 -1.20166,3.172984 -1.998037,7.051901 -2.165798,11.772162 C 14.256557,30.361384 12.934823,30.161483 12.280427,29.90959 10.644437,29.279855 9.6888882,28.674891 9.1714586,28.267775 8.6540289,27.860658 8.6474751,27.778724 8.6474751,27.778724 l -0.069864,0.03493 C 9.3100294,23.691285 11.163248,19.798527 13.817445,16.565477 z m 37.552149,0.523984 c 2.548924,3.289983 4.265057,7.202594 4.890513,11.318043 -0.650428,0.410896 -1.756876,1.001936 -3.563088,1.606882 -1.171552,0.392383 -3.163859,0.759153 -4.960377,1.117832 -0.04367,-4.752703 -0.784809,-8.591423 -1.88634,-11.807094 0.917574,-0.263678 2.170552,-0.486495 2.864443,-0.76851 1.274693,-0.518066 2.003942,-1.001558 2.654849,-1.467153 z m -31.439008,2.619917 c 2.487341,0.672766 5.775813,1.137775 10.479669,1.222628 l 0.104797,10.689263 0,0.03493 0,0.733577 c -5.435005,-0.09059 -9.512219,-0.519044 -12.610536,-1.117831 0.106127,-4.776683 0.879334,-8.55791 2.02607,-11.562569 z m 23.264866,0.31439 c 1.073459,3.067541 1.833795,6.821314 1.816476,11.702298 -3.054474,0.423245 -7.062018,0.648559 -11.702298,0.698644 l 0,-0.838373 -0.104796,-10.654331 c 4.082416,-0.0864 7.404468,-0.403886 9.990618,-0.908238 z M 8.2632205,30.922625 c 0.7558676,0.510548 1.5529563,1.013339 3.0041715,1.57195 0.937518,0.360875 2.612202,0.647642 3.91241,0.978102 0.112814,3.85566 0.703989,7.107756 1.606883,9.920754 -1.147172,-0.324262 -2.644553,-0.640648 -3.423359,-0.978102 -1.516688,-0.657177 -2.386627,-1.287332 -2.864443,-1.71168 -0.477816,-0.424347 -0.489051,-0.489051 -0.489051,-0.489051 L 9.8002387,40.319395 C 8.791691,37.621767 8.1584238,34.769583 8.1584238,31.900727 c 0,-0.330153 0.090589,-0.648169 0.1047967,-0.978102 z m 48.2763445,0.419186 c 0.0047,0.188973 0.06986,0.36991 0.06986,0.558916 0,2.938869 -0.620228,5.873558 -1.676747,8.628261 -0.07435,0.07583 -0.06552,0.07411 -0.454119,0.349323 -0.606965,0.429857 -1.631665,1.042044 -3.318562,1.676747 -1.208528,0.454713 -3.204964,0.850894 -5.135038,1.25756 0.84593,-2.765726 1.41808,-6.005357 1.606883,-9.815957 2.232369,-0.413371 4.483758,-0.840201 5.938479,-1.327425 1.410632,-0.472457 2.153108,-0.89469 2.96924,-1.327425 z m -38.530252,2.864443 c 3.208141,0.56697 7.372279,0.898588 12.575603,0.978103 l 0.174662,9.885821 c -4.392517,-0.06139 -8.106722,-0.320566 -10.863925,-0.803441 -1.051954,-2.664695 -1.692909,-6.043794 -1.88634,-10.060483 z m 26.793022,0.31439 c -0.246298,3.923551 -0.877762,7.263679 -1.816476,9.885822 -2.561957,0.361954 -5.766249,0.560708 -9.431703,0.62878 l -0.174661,-9.815957 c 4.491734,-0.04969 8.334769,-0.293032 11.42284,-0.698645 z M 12.035901,44.860585 c 0.09977,0.04523 0.105535,0.09465 0.209594,0.139729 1.337656,0.579602 3.441099,1.058072 5.589157,1.537018 1.545042,3.399208 3.548524,5.969402 5.589157,7.789888 -3.034411,-1.215537 -5.871615,-3.007978 -8.174142,-5.309699 -1.245911,-1.245475 -2.271794,-2.662961 -3.213766,-4.156936 z m 40.69605,0 c -0.941972,1.493975 -1.967855,2.911461 -3.213765,4.156936 -2.74253,2.741571 -6.244106,4.696717 -9.955686,5.868615 0.261347,-0.241079 0.507495,-0.394491 0.768509,-0.663713 1.674841,-1.727516 3.320792,-4.181056 4.645987,-7.265904 2.962447,-0.503021 5.408965,-1.122293 7.161107,-1.781544 0.284034,-0.106865 0.337297,-0.207323 0.593848,-0.31439 z m -31.404076,2.305527 c 2.645807,0.376448 5.701178,0.649995 9.466635,0.698645 l 0.139729,7.789888 c -1.38739,-0.480844 -3.316218,-1.29837 -5.659022,-3.388427 -1.388822,-1.238993 -2.743668,-3.0113 -3.947342,-5.100106 z m 20.365491,0.104797 c -1.04872,2.041937 -2.174337,3.779068 -3.353494,4.995309 -1.853177,1.911459 -3.425515,2.82679 -4.611055,3.353494 l -0.139729,-7.789887 c 3.13091,-0.05714 5.728238,-0.278725 8.104278,-0.558916 z",l="m 2.9825053,17.550598 0,1.368113 0,26.267766 0,1.368113 1.36811,0 54.9981397,0 1.36811,0 0,-1.368113 0,-26.267766 0,-1.368113 -1.36811,0 -54.9981397,0 -1.36811,0 z m 2.73623,2.736226 10.3292497,0 0,10.466063 -10.3292497,0 0,-10.466063 z m 13.0654697,0 11.69737,0 0,10.466063 -11.69737,0 0,-10.466063 z m 14.43359,0 11.69737,0 0,10.466063 -11.69737,0 0,-10.466063 z m 14.43359,0 10.32926,0 0,10.466063 -10.32926,0 0,-10.466063 z m -41.9326497,13.202288 10.3292497,0 0,10.329252 -10.3292497,0 0,-10.329252 z m 13.0654697,0 11.69737,0 0,10.329252 -11.69737,0 0,-10.329252 z m 14.43359,0 11.69737,0 0,10.329252 -11.69737,0 0,-10.329252 z m 14.43359,0 10.32926,0 0,10.329252 -10.32926,0 0,-10.329252 z",u="m 14.723969,17.675598 -0.340489,0.817175 -11.1680536,26.183638 -0.817175,1.872692 2.076986,0 54.7506996,0 2.07698,0 -0.81717,-1.872692 -11.16805,-26.183638 -0.34049,-0.817175 -0.91933,0 -32.414586,0 -0.919322,0 z m 1.838643,2.723916 6.196908,0 -2.928209,10.418977 -7.729111,0 4.460412,-10.418977 z m 9.02297,0 4.903049,0 0,10.418977 -7.831258,0 2.928209,-10.418977 z m 7.626964,0 5.584031,0 2.62176,10.418977 -8.205791,0 0,-10.418977 z m 8.410081,0 5.51593,0 4.46042,10.418977 -7.38863,0 -2.58772,-10.418977 z m -30.678091,13.142892 8.103649,0 -2.89416,10.282782 -9.6018026,0 4.3923136,-10.282782 z m 10.929711,0 8.614384,0 0,10.282782 -11.508544,0 2.89416,-10.282782 z m 11.338299,0 8.852721,0 2.58772,10.282782 -11.440441,0 0,-10.282782 z m 11.678781,0 7.86531,0 4.39231,10.282782 -9.6699,0 -2.58772,-10.282782 z",c=function(e,t){e=n(e);var r=new o(t);r._globePath=s,r._flatMapPath=l,r._columbusViewPath=u;var i=document.createElement("span");i.className="cesium-sceneModePicker-wrapper cesium-toolbar-button",e.appendChild(i);var c=document.createElement("button");c.type="button",c.className="cesium-button cesium-toolbar-button",c.setAttribute("data-bind",'css: { "cesium-sceneModePicker-button2D": sceneMode === _sceneMode.SCENE2D, "cesium-sceneModePicker-button3D": sceneMode === _sceneMode.SCENE3D, "cesium-sceneModePicker-buttonColumbusView": sceneMode === _sceneMode.COLUMBUS_VIEW, "cesium-sceneModePicker-selected": dropDownVisible },attr: { title: selectedTooltip },click: toggleDropDown'),c.innerHTML='',i.appendChild(c);var h=document.createElement("button");h.type="button",h.className="cesium-button cesium-toolbar-button cesium-sceneModePicker-dropDown-icon",h.setAttribute("data-bind",'css: { "cesium-sceneModePicker-visible" : (dropDownVisible && (sceneMode !== _sceneMode.SCENE3D)) || (!dropDownVisible && (sceneMode === _sceneMode.SCENE3D)), "cesium-sceneModePicker-none" : sceneMode === _sceneMode.SCENE3D, "cesium-sceneModePicker-hidden" : !dropDownVisible },attr: { title: tooltip3D },click: morphTo3D,cesiumSvgPath: { path: _globePath, width: 64, height: 64 }'),i.appendChild(h);var d=document.createElement("button");d.type="button",d.className="cesium-button cesium-toolbar-button cesium-sceneModePicker-dropDown-icon",d.setAttribute("data-bind",'css: { "cesium-sceneModePicker-visible" : (dropDownVisible && (sceneMode !== _sceneMode.SCENE2D)), "cesium-sceneModePicker-none" : sceneMode === _sceneMode.SCENE2D, "cesium-sceneModePicker-hidden" : !dropDownVisible },attr: { title: tooltip2D },click: morphTo2D,cesiumSvgPath: { path: _flatMapPath, width: 64, height: 64 }'),i.appendChild(d);var m=document.createElement("button");m.type="button",m.className="cesium-button cesium-toolbar-button cesium-sceneModePicker-dropDown-icon",m.setAttribute("data-bind",'css: { "cesium-sceneModePicker-visible" : (dropDownVisible && (sceneMode !== _sceneMode.COLUMBUS_VIEW)) || (!dropDownVisible && (sceneMode === _sceneMode.COLUMBUS_VIEW)), "cesium-sceneModePicker-none" : sceneMode === _sceneMode.COLUMBUS_VIEW, "cesium-sceneModePicker-hidden" : !dropDownVisible},attr: { title: tooltipColumbusView },click: morphToColumbusView,cesiumSvgPath: { path: _columbusViewPath, width: 64, height: 64 }'),i.appendChild(m),a.applyBindings(r,i),this._viewModel=r,this._container=e,this._wrapper=i,this._closeDropDown=function(e){i.contains(e.target)||(r.dropDownVisible=!1)},document.addEventListener("mousedown",this._closeDropDown,!0),document.addEventListener("touchstart",this._closeDropDown,!0)};return e(c.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}}),c.prototype.isDestroyed=function(){return!1},c.prototype.destroy=function(){return this._viewModel.destroy(),document.removeEventListener("mousedown",this._closeDropDown,!0),document.removeEventListener("touchstart",this._closeDropDown,!0),a.cleanNode(this._wrapper),this._container.removeChild(this._wrapper),r(this)},c}),r("Widgets/SelectionIndicator/SelectionIndicatorViewModel",["../../Core/Cartesian2","../../Core/defaultValue","../../Core/defined","../../Core/defineProperties","../../Core/DeveloperError","../../Scene/SceneTransforms","../../ThirdParty/knockout","../../ThirdParty/Tween"],function(e,t,r,i,n,o,a,s){"use strict";var l=new e,u=function(e,i,n){this._scene=e,this._screenPositionX="-1000px",this._screenPositionY="0",this._animationCollection=e.animations,this._container=t(n,document.body),this._selectionIndicatorElement=i,this._computeScreenSpacePosition=function(t,r){return o.wgs84ToWindowCoordinates(e,t,r)},this._scale=1,this.position=void 0,this.showSelection=!1,a.track(this,["position","_screenPositionX","_screenPositionY","_scale","showSelection"]),this.isVisible=void 0,a.defineProperty(this,"isVisible",{get:function(){return this.showSelection&&r(this.position)}}),a.defineProperty(this,"_transform",{get:function(){return"scale("+this._scale+")"}})};return u.prototype.update=function(){if(this.showSelection&&r(this.position)){var e=this._computeScreenSpacePosition(this.position,l),t=this._container,i=t.parentNode.clientWidth,n=t.parentNode.clientHeight,o=this._selectionIndicatorElement.clientWidth,a=.5*o;e.x=Math.min(Math.max(e.x,0),i)-a,e.y=Math.min(Math.max(e.y,0),n)-a,this._screenPositionX=Math.floor(e.x+.25)+"px",this._screenPositionY=Math.floor(e.y+.25)+"px"}},u.prototype.animateAppear=function(){var e=this;this._animationCollection.add({startValue:{scale:2},stopValue:{scale:1},duration:800,easingFunction:s.Easing.Exponential.Out,onUpdate:function(t){e._scale=t.scale}})},u.prototype.animateDepart=function(){var e=this;this._animationCollection.add({startValue:{scale:e._scale},stopValue:{scale:1.5},duration:800,easingFunction:s.Easing.Exponential.Out,onUpdate:function(t){e._scale=t.scale}})},i(u.prototype,{container:{get:function(){return this._container}},selectionIndicatorElement:{get:function(){return this._selectionIndicatorElement}},scene:{get:function(){return this._scene}},computeScreenSpacePosition:{get:function(){return this._computeScreenSpacePosition},set:function(e){this._computeScreenSpacePosition=e}}}),u}),r("Widgets/SelectionIndicator/SelectionIndicator",["../../Core/defined","../../Core/defineProperties","../../Core/DeveloperError","../../Core/destroyObject","../getElement","./SelectionIndicatorViewModel","../../ThirdParty/knockout"],function(e,t,r,i,n,o,a){"use strict";var s=function(e,t){e=n(e),this._container=e;var r=document.createElement("div");r.className="cesium-selection-wrapper",r.setAttribute("data-bind",'style: { "bottom" : _screenPositionY, "left" : _screenPositionX },css: { "cesium-selection-wrapper-visible" : isVisible }'),e.appendChild(r),this._element=r;var i="http://www.w3.org/2000/svg",s="M -34 -34 L -34 -11.25 L -30 -15.25 L -30 -30 L -15.25 -30 L -11.25 -34 L -34 -34 z M 11.25 -34 L 15.25 -30 L 30 -30 L 30 -15.25 L 34 -11.25 L 34 -34 L 11.25 -34 z M -34 11.25 L -34 34 L -11.25 34 L -15.25 30 L -30 30 L -30 15.25 L -34 11.25 z M 34 11.25 L 30 15.25 L 30 30 L 15.25 30 L 11.25 34 L 34 34 L 34 11.25 z",l=document.createElementNS(i,"svg:svg");l.setAttribute("width",160),l.setAttribute("height",160),l.setAttribute("viewBox","0 0 160 160");var u=document.createElementNS(i,"g");u.setAttribute("transform","translate(80,80)"),l.appendChild(u);var c=document.createElementNS(i,"path");c.setAttribute("data-bind","attr: { transform: _transform }"),c.setAttribute("d",s),u.appendChild(c),r.appendChild(l);var h=new o(t,this._element,this._container);this._viewModel=h,a.applyBindings(this._viewModel,this._element)};return t(s.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}}),s.prototype.isDestroyed=function(){return!1},s.prototype.destroy=function(){var e=this._container;return a.cleanNode(this._element),e.removeChild(this._element),i(this)},s}),r("Widgets/Timeline/TimelineTrack",["../../Core/Color","../../Core/defined"],function(e,t){"use strict";function r(t,r,i,n){this.interval=t,this.height=r,this.color=i||new e(.5,.5,.5,1),this.backgroundColor=n||new e(0,0,0,0)}return r.prototype.render=function(e,r){var i=this.interval.start,n=this.interval.stop,o=r.startJulian,a=r.startJulian.addSeconds(r.duration);if(i.lessThan(o)&&n.greaterThan(a))e.fillStyle=this.color.toCssColorString(),e.fillRect(0,r.y,r.timeBarWidth,this.height);else if(i.lessThanOrEquals(a)&&n.greaterThanOrEquals(o)){var s,l,u;for(s=0;si&&(o+=i,i=0),i+o>e.timeBarWidth&&(o=e.timeBarWidth-i),o>0&&(t='')}return e.y+=this._height,t},e}),r("Widgets/Timeline/Timeline",["../../Core/DeveloperError","../../Core/ClockRange","../../Core/defined","../../Core/destroyObject","../../Core/JulianDate","../getElement","./TimelineTrack","./TimelineHighlightRange"],function(e,t,r,i,n,o,a,s){"use strict";function l(e,t){e=o(e),this.container=e;var r=document.createElement("div");r.className="cesium-timeline-main",e.appendChild(r),this._topDiv=r,this._endJulian=void 0,this._epochJulian=void 0,this._lastXPos=void 0,this._scrubElement=void 0,this._startJulian=void 0,this._timeBarSecondsSpan=void 0,this._clock=t,this._scrubJulian=t.currentTime,this._mainTicSpan=-1,this._mouseMode=_.none,this._touchMode=y.none,this._touchState={centerX:0,spanX:0},this._mouseX=0,this._timelineDrag=0,this._timelineDragLocation=void 0,this._lastHeight=void 0,this._lastWidth=void 0,this._topDiv.innerHTML='
',this._timeBarEle=this._topDiv.childNodes[0],this._trackContainer=this._topDiv.childNodes[1],this._trackListEle=this._topDiv.childNodes[1].childNodes[0],this._needleEle=this._topDiv.childNodes[2],this._rulerEle=this._topDiv.childNodes[3],this._context=this._trackListEle.getContext("2d"),this._trackList=[],this._highlightRanges=[],this.zoomTo(t.startTime,t.stopTime),this._onMouseDown=c(this),this._onMouseUp=h(this),this._onMouseMove=d(this),this._onMouseWheel=m(this),this._onTouchStart=p(this),this._onTouchMove=v(this),this._onTouchEnd=f(this);var i=this._timeBarEle;document.addEventListener("mouseup",this._onMouseUp,!1),document.addEventListener("mousemove",this._onMouseMove,!1),i.addEventListener("mousedown",this._onMouseDown,!1),i.addEventListener("DOMMouseScroll",this._onMouseWheel,!1),i.addEventListener("mousewheel",this._onMouseWheel,!1),i.addEventListener("touchstart",this._onTouchStart,!1),i.addEventListener("touchmove",this._onTouchMove,!1),i.addEventListener("touchend",this._onTouchEnd,!1),this._topDiv.oncontextmenu=function(){return!1},t.onTick.addEventListener(this.updateFromClock,this),this.updateFromClock()}function u(e){return 10>e?"0"+e.toString():e.toString()}function c(e){return function(t){e._mouseMode!==_.touchOnly&&(0===t.button?(e._mouseMode=_.scrub,e._scrubElement&&(e._scrubElement.style.backgroundPosition="-16px 0"),e._onMouseMove(t)):(e._mouseX=t.clientX,e._mouseMode=2===t.button?_.zoom:_.slide)),t.preventDefault()}}function h(e){return function(){e._mouseMode=_.none,e._scrubElement&&(e._scrubElement.style.backgroundPosition="0px 0px"),e._timelineDrag=0,e._timelineDragLocation=void 0}}function d(e){return function(t){var r;if(e._mouseMode===_.scrub){t.preventDefault();var i=t.clientX-e._topDiv.getBoundingClientRect().left;0>i?(e._timelineDragLocation=0,e._timelineDrag=-.01*e._timeBarSecondsSpan):i>e._topDiv.clientWidth?(e._timelineDragLocation=e._topDiv.clientWidth,e._timelineDrag=.01*e._timeBarSecondsSpan):(e._timelineDragLocation=void 0,e._setTimeBarTime(i,i*e._timeBarSecondsSpan/e._topDiv.clientWidth))}else if(e._mouseMode===_.slide){if(r=e._mouseX-t.clientX,e._mouseX=t.clientX,0!==r){var n=r*e._timeBarSecondsSpan/e._topDiv.clientWidth;e.zoomTo(e._startJulian.addSeconds(n),e._endJulian.addSeconds(n))}}else e._mouseMode===_.zoom&&(r=e._mouseX-t.clientX,e._mouseX=t.clientX,0!==r&&e.zoomFrom(Math.pow(1.01,r)))}}function m(e){return function(t){var r=t.wheelDeltaY||t.wheelDelta||-t.detail;g=Math.max(Math.min(Math.abs(r),g),1),r/=g,e.zoomFrom(Math.pow(1.05,-r))}}function p(e){return function(t){var r,i,n=t.touches.length,o=e._topDiv.getBoundingClientRect().left;t.preventDefault(),e._mouseMode=_.touchOnly,1===n?(r=e._startJulian.getSecondsDifference(e._scrubJulian),i=Math.round(r*e._topDiv.clientWidth/e._timeBarSecondsSpan+o),Math.abs(t.touches[0].clientX-i)<50?(e._touchMode=y.scrub,e._scrubElement&&(e._scrubElement.style.backgroundPosition=1===n?"-16px 0":"0 0")):(e._touchMode=y.singleTap,e._touchState.centerX=t.touches[0].clientX-o)):2===n?(e._touchMode=y.slideZoom,e._touchState.centerX=.5*(t.touches[0].clientX+t.touches[1].clientX)-o,e._touchState.spanX=Math.abs(t.touches[0].clientX-t.touches[1].clientX)):e._touchMode=y.ignore}}function f(e){return function(t){var r=t.touches.length,i=e._topDiv.getBoundingClientRect().left;e._touchMode===y.singleTap?(e._touchMode=y.scrub,e._handleTouchMove(t)):e._touchMode===y.scrub&&e._handleTouchMove(t),e._mouseMode=_.touchOnly,1!==r?e._touchMode=r>0?y.ignore:y.none:e._touchMode===y.slideZoom&&(e._touchState.centerX=t.touches[0].clientX-i),e._scrubElement&&(e._scrubElement.style.backgroundPosition="0 0")}}function v(e){return function(t){var i,n,o,a,s,l,u=1,c=e._topDiv.getBoundingClientRect().left;e._touchMode===y.singleTap&&(e._touchMode=y.slideZoom),e._mouseMode=_.touchOnly,e._touchMode===y.scrub?(t.preventDefault(),1===t.changedTouches.length&&(n=t.changedTouches[0].clientX-c,n>=0&&n<=e._topDiv.clientWidth&&e._setTimeBarTime(n,n*e._timeBarSecondsSpan/e._topDiv.clientWidth))):e._touchMode===y.slideZoom&&(o=t.touches.length,2===o?(a=.5*(t.touches[0].clientX+t.touches[1].clientX)-c,s=Math.abs(t.touches[0].clientX-t.touches[1].clientX)):1===o&&(a=t.touches[0].clientX-c,s=0),r(a)&&(s>0&&e._touchState.spanX>0?(u=e._touchState.spanX/s,l=e._startJulian.addSeconds((e._touchState.centerX*e._timeBarSecondsSpan-a*e._timeBarSecondsSpan*u)/e._topDiv.clientWidth)):(i=e._touchState.centerX-a,l=e._startJulian.addSeconds(i*e._timeBarSecondsSpan/e._topDiv.clientWidth)),e.zoomTo(l,l.addSeconds(e._timeBarSecondsSpan*u)),e._touchState.centerX=a,e._touchState.spanX=s))}}var g=1e12,_={none:0,scrub:1,slide:2,zoom:3,touchOnly:4},y={none:0,scrub:1,slideZoom:2,singleTap:3,ignore:4},C=[.001,.002,.005,.01,.02,.05,.1,.25,.5,1,2,5,10,15,30,60,120,300,600,900,1800,3600,7200,14400,21600,43200,86400,172800,345600,604800,1296e3,2592e3,5184e3,7776e3,15552e3,31536e3,63072e3,126144e3,15768e4,31536e4,63072e4,126144e4,15768e5,31536e5,63072e5,126144e5,15768e6,31536e6],S=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];return l.prototype.addEventListener=function(e,t,r){this._topDiv.addEventListener(e,t,r)},l.prototype.removeEventListener=function(e,t,r){this._topDiv.removeEventListener(e,t,r)},l.prototype.isDestroyed=function(){return!1},l.prototype.destroy=function(){this._clock.onTick.removeEventListener(this.updateFromClock,this),document.removeEventListener("mouseup",this._onMouseUp,!1),document.removeEventListener("mousemove",this._onMouseMove,!1);var e=this._timeBarEle;e.removeEventListener("mousedown",this._onMouseDown,!1),e.removeEventListener("DOMMouseScroll",this._onMouseWheel,!1),e.removeEventListener("mousewheel",this._onMouseWheel,!1),e.removeEventListener("touchstart",this._onTouchStart,!1),e.removeEventListener("touchmove",this._onTouchMove,!1),e.removeEventListener("touchend",this._onTouchEnd,!1),this.container.removeChild(this._topDiv),i(this)},l.prototype.addHighlightRange=function(e,t){var r=new s(e,t);return this._highlightRanges.push(r),this.resize(),r},l.prototype.addTrack=function(e,t,r,i){var n=new a(e,t,r,i);return this._trackList.push(n),this._lastHeight=void 0,this.resize(),n},l.prototype.zoomTo=function(e,r){if(this._timeBarSecondsSpan=e.getSecondsDifference(r),this._startJulian=e,this._endJulian=r,this._clock&&this._clock.clockRange!==t.UNBOUNDED){var i=this._clock.startTime,n=this._clock.stopTime,o=i.getSecondsDifference(n),a=this._startJulian.getSecondsDifference(i),s=this._endJulian.getSecondsDifference(n);this._timeBarSecondsSpan>=o?(this._timeBarSecondsSpan=o,this._startJulian=this._clock.startTime,this._endJulian=this._clock.stopTime):a>0?(this._endJulian=this._endJulian.addSeconds(a),this._startJulian=i,this._timeBarSecondsSpan=this._startJulian.getSecondsDifference(this._endJulian)):0>s&&(this._startJulian=this._startJulian.addSeconds(s),this._endJulian=n,this._timeBarSecondsSpan=this._startJulian.getSecondsDifference(this._endJulian))}this._makeTics();var l=document.createEvent("Event");l.initEvent("setzoom",!0,!0),l.startJulian=this._startJulian,l.endJulian=this._endJulian,l.epochJulian=this._epochJulian,l.totalSpan=this._timeBarSecondsSpan,l.mainTicSpan=this._mainTicSpan,this._topDiv.dispatchEvent(l)},l.prototype.zoomFrom=function(e){var t=this._startJulian.getSecondsDifference(this._scrubJulian);e>1||0>t||t>this._timeBarSecondsSpan?t=.5*this._timeBarSecondsSpan:t+=t-.5*this._timeBarSecondsSpan;var r=this._timeBarSecondsSpan-t;this.zoomTo(this._startJulian.addSeconds(t-t*e),this._endJulian.addSeconds(r*e-r))},l.prototype.makeLabel=function(e){var t=e.toGregorianDate(),r=t.millisecond,i=" UTC";if(r>0&&this._timeBarSecondsSpan<3600){for(i=Math.floor(r).toString();i.length<3;)i="0"+i;i="."+i}return S[t.month-1]+" "+t.day+" "+t.year+" "+u(t.hour)+":"+u(t.minute)+":"+u(t.second)+i},l.prototype.smallestTicInPixels=7,l.prototype._makeTics=function(){function e(e){return Math.floor(w/e)*e}function t(e,t){return Math.ceil(e/t+.5)*t}function r(e){return(e-w)/v}function i(e,t){return e-t*Math.round(e/t)}var o,a=this._timeBarEle,s=this._startJulian.getSecondsDifference(this._scrubJulian),l=Math.round(s*this._topDiv.clientWidth/this._timeBarSecondsSpan),u=l-8,c=this;this._needleEle.style.left=l.toString()+"px";var h="",d=.01,m=31536e6,p=1e-10,f=0,v=this._timeBarSecondsSpan;d>v?(v=d,this._timeBarSecondsSpan=d,this._endJulian=this._startJulian.addSeconds(d)):v>m&&(v=m,this._timeBarSecondsSpan=m,this._endJulian=this._startJulian.addSeconds(m));var g=this._timeBarEle.clientWidth;10>g&&(g=10);var _,y=this._startJulian,S=Math.min(1e-5*(v/g),.4);_=v>31536e4?n.fromIso8601(y.toDate().toISOString().substring(0,2)+"00-01-01T00:00:00Z"):v>31536e3?n.fromIso8601(y.toDate().toISOString().substring(0,3)+"0-01-01T00:00:00Z"):v>86400?n.fromIso8601(y.toDate().toISOString().substring(0,4)+"-01-01T00:00:00Z"):n.fromIso8601(y.toDate().toISOString().substring(0,10)+"T00:00:00Z");var w=_.addSeconds(S).getSecondsDifference(this._startJulian),E=w+v;this._epochJulian=_,this._rulerEle.innerHTML=this.makeLabel(this._endJulian.addSeconds(-d));var x=this._rulerEle.offsetWidth+20,b=f;f-=p;var T={y:0,startTime:w,startJulian:y,epochJulian:_,duration:v,timeBarWidth:g,getAlpha:r};this._highlightRanges.forEach(function(e){h+=e.render(T)});var A=0,P=0,D=0,M=x/g;M>1&&(M=1),M*=this._timeBarSecondsSpan;var I,O=-1,R=-1,L=C.length;for(I=0;L>I;++I){var N=C[I];if(++O,A=N,N>M&&N>f)break;0>R&&g*(N/this._timeBarSecondsSpan)>=this.smallestTicInPixels&&(R=O)}if(O>0){for(;O>0;)if(--O,Math.abs(i(A,C[O]))<1e-5){C[O]>=f&&(P=C[O]);break}if(R>=0)for(;O>R;){if(Math.abs(i(P,C[R]))<1e-5&&C[R]>=f){D=C[R];break}++R}}f=b,f>p&&1e-5>D&&Math.abs(f-A)>p&&(D=f,A+p>=f&&(P=0)); +var B,z=-999999;if(g*(D/this._timeBarSecondsSpan)>=3)for(o=e(D);E>=o;o=t(o,D))h+='';if(g*(P/this._timeBarSecondsSpan)>=3)for(o=e(P);E>=o;o=t(o,P))h+='';if(g*(A/this._timeBarSecondsSpan)>=2){this._mainTicSpan=A,E+=A,o=e(A);for(var F=_.getTaiMinusUtc();E>=o;){var V=y.addSeconds(o-w);if(A>2.1){var k=V.getTaiMinusUtc();Math.abs(k-F)>.1&&(o+=k-F,V=y.addSeconds(o-w))}var U=Math.round(g*r(o)),W=this.makeLabel(V);this._rulerEle.innerHTML=W,B=this._rulerEle.offsetWidth;var G=U-(B/2-1);G>z?(z=G+B+5,h+=''+''+W+""):h+='',o=t(o,A)}}else this._mainTicSpan=-1;h+='',a.innerHTML=h,this._scrubElement=a.lastChild,this._context.clearRect(0,0,this._trackListEle.width,this._trackListEle.height),T.y=0,this._trackList.forEach(function(e){e.render(c._context,T),T.y+=e.height})},l.prototype.updateFromClock=function(){this._scrubJulian=this._clock.currentTime;var e=this._scrubElement;if(r(this._scrubElement)){var t=this._startJulian.getSecondsDifference(this._scrubJulian),i=Math.round(t*this._topDiv.clientWidth/this._timeBarSecondsSpan);this._lastXPos!==i&&(this._lastXPos=i,e.style.left=i-8+"px",this._needleEle.style.left=i+"px")}r(this._timelineDragLocation)&&(this._setTimeBarTime(this._timelineDragLocation,this._timelineDragLocation*this._timeBarSecondsSpan/this._topDiv.clientWidth),this.zoomTo(this._startJulian.addSeconds(this._timelineDrag),this._endJulian.addSeconds(this._timelineDrag)))},l.prototype._setTimeBarTime=function(e,t){if(e=Math.round(e),this._scrubJulian=this._startJulian.addSeconds(t),this._scrubElement){var r=e-8;this._scrubElement.style.left=r.toString()+"px",this._needleEle.style.left=e.toString()+"px"}var i=document.createEvent("Event");i.initEvent("settime",!0,!0),i.clientX=e,i.timeSeconds=t,i.timeJulian=this._scrubJulian,i.clock=this._clock,this._topDiv.dispatchEvent(i)},l.prototype.resize=function(){var e=this.container.clientWidth,t=this.container.clientHeight;if(e!==this._lastWidth||t!==this._lastHeight){this._trackContainer.style.height=t+"px";var r=1;this._trackList.forEach(function(e){r+=e.height}),this._trackListEle.style.height=r.toString()+"px",this._trackListEle.width=this._trackListEle.clientWidth,this._trackListEle.height=r,this._makeTics(),this._lastWidth=e,this._lastHeight=t}},l}),r("Widgets/Viewer/Viewer",["../../Core/defaultValue","../../Core/defined","../../Core/DeveloperError","../../Core/defineProperties","../../Core/destroyObject","../../Core/Event","../../Core/EventHelper","../../Core/formatError","../../Core/requestAnimationFrame","../../DynamicScene/DataSourceCollection","../../DynamicScene/DataSourceDisplay","../Animation/Animation","../Animation/AnimationViewModel","../BaseLayerPicker/BaseLayerPicker","../BaseLayerPicker/createDefaultBaseLayers","../CesiumWidget/CesiumWidget","../ClockViewModel","../FullscreenButton/FullscreenButton","../Geocoder/Geocoder","../getElement","../HomeButton/HomeButton","../InfoBox/InfoBox","../SceneModePicker/SceneModePicker","../SelectionIndicator/SelectionIndicator","../subscribeAndEvaluate","../Timeline/Timeline","../../ThirdParty/knockout"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f,v,g,_,y,C,S,w,E,x,b,T){"use strict";function A(e){var t=e.clock;t.currentTime=e.timeJulian,t.shouldAnimate=!1}function P(e){function t(){if(!e.isDestroyed())try{e._useDefaultRenderLoop?(e.resize(),e.render(),l(t)):e._renderLoopRunning=!1}catch(r){if(e._useDefaultRenderLoop=!1,e._renderLoopRunning=!1,e._renderLoopError.raiseEvent(e,r),e._showRenderLoopErrors){var i="An error occurred while rendering. Rendering has stopped.",n=s(r);e.cesiumWidget.showErrorPanel(i,n),console.error(i+" "+n)}}}e._renderLoopRunning=!0,l(t)}var D=function(r,i){function n(e){if(t(e)){var r=e.getClock();t(r)&&(r.getValue(O),t(Z)&&(Z.updateFromClock(),Z.zoomTo(r.startTime,r.stopTime)))}}r=y(r),i=e(i,e.EMPTY_OBJECT);var s=!t(i.baseLayerPicker)||i.baseLayerPicker!==!1,l=document.createElement("div");l.className="cesium-viewer",r.appendChild(l);var P=document.createElement("div");P.className="cesium-viewer-cesiumWidgetContainer",l.appendChild(P);var D=new f(P,{terrainProvider:i.terrainProvider,imageryProvider:s?!1:i.imageryProvider,skyBox:i.skyBox,sceneMode:i.sceneMode,contextOptions:i.contextOptions,useDefaultRenderLoop:!1}),M=new u,I=new c(D.scene,M),O=D.clock,R=new v(O),L=new a;L.add(O.onTick,function(e){I.update(e.currentTime)});var N;if(!t(i.selectionIndicator)||i.selectionIndicator!==!1){var B=document.createElement("div");B.className="cesium-viewer-selectionIndicatorContainer",l.appendChild(B),N=new E(B,D.scene)}var z;if(!t(i.infoBox)||i.infoBox!==!1){var F=document.createElement("div");F.className="cesium-viewer-infoBoxContainer",l.appendChild(F),z=new S(F)}var V=document.createElement("div");V.className="cesium-viewer-toolbar",l.appendChild(V);var k;if(!t(i.geocoder)||i.geocoder!==!1){var U=document.createElement("div");U.className="cesium-viewer-geocoderContainer",V.appendChild(U),k=new _({container:U,scene:D.scene,ellipsoid:D.centralBody.ellipsoid})}var W;t(i.homeButton)&&i.homeButton===!1||(W=new C(V,D.scene,D.sceneTransitioner,D.centralBody.ellipsoid),t(k)&&L.add(W.viewModel.command.afterExecute,function(){var e=k.viewModel;e.searchText="",e.isSearchInProgress&&e.search()}));var G;t(i.sceneModePicker)&&i.sceneModePicker===!1||(G=new w(V,D.sceneTransitioner));var H;if(s){var j=e(i.imageryProviderViewModels,p());H=new m(V,D.centralBody.imageryLayers,j),H.viewModel.selectedItem=e(i.selectedImageryProviderViewModel,j[0]);var q=V.getElementsByClassName("cesium-baseLayerPicker-dropDown");this._baseLayerPickerDropDown=q[0]}var Y;if(!t(i.animation)||i.animation!==!1){var X=document.createElement("div");X.className="cesium-viewer-animationContainer",l.appendChild(X),Y=new h(X,new d(R))}var Z;if(!t(i.timeline)||i.timeline!==!1){var J=document.createElement("div");J.className="cesium-viewer-timelineContainer",l.appendChild(J),Z=new b(J,O),Z.addEventListener("settime",A,!1),Z.zoomTo(O.startTime,O.stopTime)}var Q;if(t(i.fullscreenButton)&&i.fullscreenButton===!1)t(Z)&&(Z.container.style.right=0);else{var K=document.createElement("div");K.className="cesium-viewer-fullscreenContainer",l.appendChild(K),Q=new g(K,i.fullscreenElement),this._fullscreenSubscription=x(Q.viewModel,"isFullscreenEnabled",function(e){K.style.display=e?"block":"none",t(Z)&&(Z.container.style.right=K.clientWidth+"px",Z.resize())})}this.clockTrackedDataSource=void 0,T.track(this,["clockTrackedDataSource"]),this._dataSourceChangedListeners={},this._knockoutSubscriptions=[];var $=e(i.automaticallyTrackDataSourceClocks,!0),et=this;this._knockoutSubscriptions.push(x(this,"clockTrackedDataSource",function(e){n(e)}));var tt=function(e){et.clockTrackedDataSource===e&&n(e)},rt=function(e,t){$&&(et.clockTrackedDataSource=t);var r=t.getDynamicObjectCollection().id,i=L.add(t.getChangedEvent(),tt);et._dataSourceChangedListeners[r]=i},it=function(e,t){var r=et.clockTrackedDataSource===t,i=t.getDynamicObjectCollection().id;if(et._dataSourceChangedListeners[i](),et._dataSourceChangedListeners[i]=void 0,r){var n=e.length;et.clockTrackedDataSource=$&&n>0?e.get(n-1):void 0}};L.add(M.dataSourceAdded,rt),L.add(M.dataSourceRemoved,it),this._container=r,this._element=l,this._cesiumWidget=D,this._selectionIndicator=N,this._infoBox=z,this._dataSourceCollection=M,this._dataSourceDisplay=I,this._clockViewModel=R,this._toolbar=V,this._homeButton=W,this._sceneModePicker=G,this._baseLayerPicker=H,this._animation=Y,this._timeline=Z,this._fullscreenButton=Q,this._geocoder=k,this._eventHelper=L,this._lastWidth=0,this._lastHeight=0,this._useDefaultRenderLoop=void 0,this._renderLoopRunning=!1,this._showRenderLoopErrors=e(i.showRenderLoopErrors,!0),this._renderLoopError=new o,this.useDefaultRenderLoop=e(i.useDefaultRenderLoop,!0)};return i(D.prototype,{container:{get:function(){return this._container}},cesiumWidget:{get:function(){return this._cesiumWidget}},selectionIndicator:{get:function(){return this._selectionIndicator}},infoBox:{get:function(){return this._infoBox}},geocoder:{get:function(){return this._geocoder}},homeButton:{get:function(){return this._homeButton}},sceneModePicker:{get:function(){return this._sceneModePicker}},baseLayerPicker:{get:function(){return this._baseLayerPicker}},animation:{get:function(){return this._animation}},timeline:{get:function(){return this._timeline}},fullscreenButton:{get:function(){return this._fullscreenButton}},dataSourceDisplay:{get:function(){return this._dataSourceDisplay}},dataSources:{get:function(){return this._dataSourceCollection}},canvas:{get:function(){return this._cesiumWidget.canvas}},cesiumLogo:{get:function(){return this._cesiumWidget.cesiumLogo}},scene:{get:function(){return this._cesiumWidget.scene}},centralBody:{get:function(){return this._cesiumWidget.centralBody}},clock:{get:function(){return this._cesiumWidget.clock}},sceneTransitioner:{get:function(){return this._cesiumWidget.sceneTransitioner}},screenSpaceEventHandler:{get:function(){return this._cesiumWidget.screenSpaceEventHandler}},renderLoopError:{get:function(){return this._renderLoopError}},useDefaultRenderLoop:{get:function(){return this._useDefaultRenderLoop},set:function(e){this._useDefaultRenderLoop!==e&&(this._useDefaultRenderLoop=e,e&&!this._renderLoopRunning&&P(this))}}}),D.prototype.extend=function(e,t){e(this,t)},D.prototype.resize=function(){var e=this._cesiumWidget;e.resize();var r=this._container,i=r.clientWidth,n=r.clientHeight;if(i!==this._lastWidth||n!==this._lastHeight){var o=n-125,a=this._baseLayerPickerDropDown;t(a)&&(a.style.maxHeight=o+"px"),t(this._infoBox)&&(this._infoBox.viewModel.maxHeight=o);var s,l=t(this._timeline),u=t(this._animation),c=!u,h=0;if(u){var d=this._lastWidth;s=this._animation.container,i>900?900>=d&&(h=169,s.style.width="169px",s.style.height="112px",c=!0,this._animation.resize()):i>=600?(600>d||d>900)&&(h=136,s.style.width="136px",s.style.height="90px",c=!0,this._animation.resize()):(d>600||0===d)&&(h=106,s.style.width="106px",s.style.height="70px",c=!0,this._animation.resize())}if(c){var m=0,p=h+5;if(l&&(m=this._timeline.container.clientHeight+3,this._timeline.container.style.left=h+"px"),l||u){var f=e.creditContainer;f.style.bottom=m+"px",f.style.left=p+"px"}}l&&this._timeline.resize(),this._lastWidth=i,this._lastHeight=n}},D.prototype.render=function(){this._cesiumWidget.render()},D.prototype.isDestroyed=function(){return!1},D.prototype.destroy=function(){var e,r=this._knockoutSubscriptions.length;for(e=0;r>e;e++)this._knockoutSubscriptions[e].dispose();return this._container.removeChild(this._element),this._element.removeChild(this._toolbar),this._eventHelper.removeAll(),t(this._geocoder)&&(this._geocoder=this._geocoder.destroy()),t(this._homeButton)&&(this._homeButton=this._homeButton.destroy()),t(this._sceneModePicker)&&(this._sceneModePicker=this._sceneModePicker.destroy()),t(this._baseLayerPicker)&&(this._baseLayerPicker=this._baseLayerPicker.destroy()),t(this._animation)&&(this._element.removeChild(this._animation.container),this._animation=this._animation.destroy()),t(this._timeline)&&(this._timeline.removeEventListener("settime",A,!1),this._element.removeChild(this._timeline.container),this._timeline=this._timeline.destroy()),t(this._fullscreenButton)&&(this._fullscreenSubscription.dispose(),this._element.removeChild(this._fullscreenButton.container),this._fullscreenButton=this._fullscreenButton.destroy()),t(this._infoBox)&&(this._element.removeChild(this._infoBox.container),this._infoBox=this._infoBox.destroy()),t(this._selectionIndicator)&&(this._element.removeChild(this._selectionIndicator.container),this._selectionIndicator=this._selectionIndicator.destroy()),this._clockViewModel=this._clockViewModel.destroy(),this._dataSourceDisplay=this._dataSourceDisplay.destroy(),this._cesiumWidget=this._cesiumWidget.destroy(),this._dataSourceCollection=this._dataSourceCollection.destroy(),n(this)},D}),r("Widgets/Viewer/viewerCesiumInspectorMixin",["../../Core/defined","../../Core/defineProperties","../../Core/DeveloperError","../../Core/requestAnimationFrame","../CesiumInspector/CesiumInspector"],function(e,t,r,i,n){"use strict";function o(e){function t(){if(!e.isDestroyed())try{e.resize(),e.render(),e.cesiumInspector.viewModel.update(),i(t)}catch(r){e._useDefaultRenderLoop=!1,e._renderLoopRunning=!1,e._renderLoopError.raiseEvent(e,r),e._showRenderLoopErrors&&(e.cesiumWidget.showErrorPanel("An error occurred while rendering. Rendering has stopped.",r),console.error(r))}}e._renderLoopRunning=!0,i(t)}var a=function(i){if(!e(i))throw new r("viewer is required.");var a=document.createElement("div");a.className="cesium-viewer-cesiumInspectorContainer",i.container.appendChild(a);var s=new n(a,i.cesiumWidget.scene);i.useDefaultRenderLoop=!1,t(i,{cesiumInspector:{get:function(){return s}}}),o(i)};return a}),r("Widgets/Viewer/viewerDragDropMixin",["../../Core/defaultValue","../../Core/defined","../../Core/DeveloperError","../../Core/defineProperties","../../Core/Event","../../Core/wrapFunction","../../DynamicScene/CzmlDataSource","../../DynamicScene/GeoJsonDataSource","../../ThirdParty/when","../getElement"],function(e,t,r,i,n,o,a,s,l,u){"use strict";function c(e){e.stopPropagation(),e.preventDefault()}function h(e,r){var i=e;t(i)&&(i.removeEventListener("drop",r,!1),i.removeEventListener("dragenter",c,!1),i.removeEventListener("dragover",c,!1),i.removeEventListener("dragexit",c,!1))}function d(e,t){e.addEventListener("drop",t,!1),e.addEventListener("dragenter",c,!1),e.addEventListener("dragover",c,!1),e.addEventListener("dragexit",c,!1)}function m(e,t){var r=e.length,i=t.length;return r>i&&-1!==e.indexOf(t,r-i)}function p(e,t){var r,i=t.toUpperCase();if(m(i,".CZML"))r=a;else{if(!(m(i,".GEOJSON")||m(i,".JSON")||m(i,".TOPOJSON")))return e.dropError.raiseEvent(e,t,"Unrecognized file extension: "+t),void 0;r=s}return function(i){var n=new r;try{l(n.load(JSON.parse(i.target.result),t),function(){e.dataSources.add(n)},function(r){e.dropError.raiseEvent(e,t,r)})}catch(o){e.dropError.raiseEvent(e,t,o)}}}function f(e,t){return function(r){e.dropError.raiseEvent(e,t,r.target.error)}}var v=function(t,r){function a(e){c(e),m&&t.dataSources.removeAll();for(var r=e.dataTransfer.files,i=r.length,n=0;i>n;n++){var o=r[n],a=new FileReader;a.onload=p(t,o.name),a.onerror=f(t,o.name),a.readAsText(o)}}r=e(r,e.EMPTY_OBJECT);var s=!0,l=new n,m=e(r.clearOnDrop,!0),v=e(r.dropTarget,t.container);v=u(v),i(t,{dropTarget:{get:function(){return v},set:function(e){h(v,a),v=e,d(v,a)}},dropEnabled:{get:function(){return s},set:function(e){e!==s&&(e?d(v,a):h(v,a),s=e)}},dropError:{get:function(){return l}},clearOnDrop:{get:function(){return m},set:function(e){m=e}}}),d(v,a),t.destroy=o(t,t.destroy,function(){t.dropEnabled=!1}),t._handleDrop=a};return v}),r("Widgets/Viewer/viewerDynamicObjectMixin",["../../Core/BoundingSphere","../../Core/defaultValue","../../Core/defined","../../Core/DeveloperError","../../Core/EventHelper","../../Core/ScreenSpaceEventType","../../Core/wrapFunction","../../DynamicScene/DynamicObject","../../Scene/SceneMode","../subscribeAndEvaluate","../../DynamicScene/DynamicObjectView","../../ThirdParty/knockout"],function(e,t,r,i,n,o,a,s,l,u,c,h){"use strict";var d=function(i){function d(){i.trackedObject=i.selectedObject}function m(){i.trackedObject=void 0}function p(){i.selectedObject=void 0}function f(){i.trackedObject=void 0,i.selectedObject=void 0}function v(n){var o=n.currentTime;r(x)&&x.update(o);var a=i.selectedObject,s=r(a)&&D;if(s){var l,u=r(P)?P.position:void 0,c=!1;a.isAvailable(o)&&(r(a.position)?(l=a.position.getValue(o,u),c=r(l)&&i.trackedObject!==i.selectedObject):r(a.vertexPositions)&&(I=a.vertexPositions.getValue(o,I),O=e.fromPoints(I,O),l=O.center)),r(P)&&(P.position=l),r(T)&&(T.enableCamera=c,T.isCameraTracking=i.trackedObject===i.selectedObject,T.descriptionRawHtml=r(a.description)?t(a.description.getValue(o),""):"")}r(P)&&(P.showSelection=s,P.update()),r(T)&&(T.showInfo=s)}function g(e){var n=i.scene.pick(e.position);if(r(n)){var o=t(n.id,n.primitive.id);if(o instanceof s)return o}}function _(e){r(e)&&r(e.position)&&(i.trackedObject=e)}function y(e){var t=g(e);r(t)&&_(t)}function C(e){i.selectedObject=g(e)}function S(e,t,r){for(var n=r.length,o=0;n>o;o++){var a=r[o];i.trackedObject===a&&i.homeButton.viewModel.command(),i.selectedObject===a&&(i.selectedObject=void 0)}}function w(e,t){var r=t.getDynamicObjectCollection();r.collectionChanged.addEventListener(S)}function E(e,t){var n=t.getDynamicObjectCollection();n.collectionChanged.removeEventListener(S),r(i.trackedObject)&&n.getById(i.trackedObject.id)===i.trackedObject&&i.homeButton.viewModel.command(),r(i.selectedObject)&&n.getById(i.selectedObject.id)===i.selectedObject&&(i.selectedObject=void 0)}var x,b=i.infoBox,T=r(b)?b.viewModel:void 0,A=i.selectionIndicator,P=r(A)?A.viewModel:void 0,D=r(b)||r(A),M=new n;r(T)&&(M.add(T.cameraClicked,d),M.add(T.closeClicked,p));var I,O;M.add(i.clock.onTick,v),r(i.homeButton)&&M.add(i.homeButton.viewModel.command.beforeExecute,m),r(i.geocoder)&&M.add(i.geocoder.viewModel.search.beforeExecute,f);for(var R=i.dataSources,L=R.length,N=0;L>N;N++)w(R,R.get(N));M.add(i.dataSources.dataSourceAdded,w),M.add(i.dataSources.dataSourceRemoved,E),i.screenSpaceEventHandler.setInputAction(C,o.LEFT_CLICK),i.screenSpaceEventHandler.setInputAction(y,o.LEFT_DOUBLE_CLICK),i.trackedObject=void 0,i.selectedObject=void 0,h.track(i,["trackedObject","selectedObject"]);var B=[];B.push(u(i,"trackedObject",function(e){var t=i.scene,n=t.frameState.mode,o=r(e);(n===l.COLUMBUS_VIEW||n===l.SCENE2D)&&(t.screenSpaceCameraController.enableTranslate=!o),(n===l.COLUMBUS_VIEW||n===l.SCENE3D)&&(t.screenSpaceCameraController.enableTilt=!o),x=o&&r(e.position)?new c(e,t,i.centralBody.ellipsoid):void 0})),B.push(u(i,"selectedObject",function(e){r(e)?(r(T)&&(T.titleText=r(e.name)?e.name:e.id),r(P)&&P.animateAppear()):r(P)&&P.animateDepart()})),i.destroy=a(i,i.destroy,function(){M.removeAll();var e;for(e=0;ee;e++)E(t,t.get(e))})};return d}),r("Widgets/checkForChromeFrame",["../Core/FeatureDetection","./getElement","../ThirdParty/when"],function(e,t,r){"use strict";function i(e){e=t(e);var r=document.createElement("div");r.className="cesium-chromeFrameOverlay";var i=document.createElement("div");r.appendChild(i),i.innerHTML='Cesium requires WebGL, an open standard for displaying 3D content in a web browser. To enable WebGL in Internet Explorer, we recommend installing Google Chrome Frame, a free, unobtrusive plug-in offered by Google. To learn more about WebGL, visit http://www.khronos.org/webgl/.

Would you like to install Chrome Frame now?

';var n=document.createElement("p");i.appendChild(n);var o=document.createElement("a");o.href="#",o.innerHTML="Yes, install Google Chrome Frame",o.onclick=function(){window.CFInstall.check({mode:"overlay",destination:document.URL}),e.removeChild(r)},n.appendChild(o),n=document.createElement("p"),i.appendChild(n);var a=document.createElement("a");a.href="#",a.innerHTML="No, not at this time",a.onclick=function(){e.removeChild(r)},n.appendChild(a),e.appendChild(r)}var n=function(t){var n=r.defer();if(e.isInternetExplorer()){var o=document.createElement("script");o.type="text/javascript",o.src="//ajax.googleapis.com/ajax/libs/chrome-frame/1/CFInstall.min.js";var a=document.getElementsByTagName("head")[0];a.appendChild(o);var s=setInterval(function(){if(window.CFInstall){clearInterval(s);var e=!1;window.CFInstall.check({mode:"overlay",preventPrompt:!0,onmissing:function(){e=!0}}),e&&i(t),n.resolve(e)}},50)}else n.resolve(!1);return n.promise};return n}),r("Workers/createTaskProcessorWorker",["../Core/defaultValue","../Core/defined"],function(e,t){"use strict";var r=function(r){var i,n=[],o={id:void 0,result:void 0,error:void 0};return function(a){var s=a.data;n.length=0,o.id=s.id,o.error=void 0,o.result=void 0;try{o.result=r(s.parameters,n)}catch(l){o.error=l}t(i)||(i=e(self.webkitPostMessage,self.postMessage));try{i(o,n)}catch(l){o.result=void 0,o.error="postMessage failed with error: "+l+"\n with responseMessage: "+JSON.stringify(o),i(o)}}};return r}),r("Cesium",["./Core/AssociativeArray","./Core/AxisAlignedBoundingBox","./Core/BingMapsApi","./Core/BoundingRectangle","./Core/BoundingSphere","./Core/BoxGeometry","./Core/BoxOutlineGeometry","./Core/Cartesian2","./Core/Cartesian3","./Core/Cartesian4","./Core/Cartographic","./Core/CatmullRomSpline","./Core/CircleGeometry","./Core/CircleOutlineGeometry","./Core/Clock","./Core/ClockRange","./Core/ClockStep","./Core/Color","./Core/ColorGeometryInstanceAttribute","./Core/ComponentDatatype","./Core/CornerType","./Core/CorridorGeometry","./Core/CorridorGeometryLibrary","./Core/CorridorOutlineGeometry","./Core/CubicRealPolynomial","./Core/CylinderGeometry","./Core/CylinderGeometryLibrary","./Core/CylinderOutlineGeometry","./Core/DefaultProxy","./Core/DeveloperError","./Core/EarthOrientationParameters","./Core/EarthOrientationParametersSample","./Core/EllipseGeometry","./Core/EllipseGeometryLibrary","./Core/EllipseOutlineGeometry","./Core/Ellipsoid","./Core/EllipsoidGeodesic","./Core/EllipsoidGeometry","./Core/EllipsoidOutlineGeometry","./Core/EllipsoidTangentPlane","./Core/EllipsoidalOccluder","./Core/EncodedCartesian3","./Core/Enumeration","./Core/Event","./Core/EventHelper","./Core/Extent","./Core/ExtentGeometry","./Core/ExtentOutlineGeometry","./Core/FAR","./Core/FeatureDetection","./Core/Fullscreen","./Core/GeographicProjection","./Core/Geometry","./Core/GeometryAttribute","./Core/GeometryAttributes","./Core/GeometryInstance","./Core/GeometryInstanceAttribute","./Core/GeometryPipeline","./Core/HeightmapTessellator","./Core/HermitePolynomialApproximation","./Core/HermiteSpline","./Core/Iau2000Orientation","./Core/Iau2006XysData","./Core/Iau2006XysSample","./Core/IauOrientationAxes","./Core/IauOrientationParameters","./Core/IndexDatatype","./Core/InterpolationAlgorithm","./Core/Intersect","./Core/IntersectionTests","./Core/Intersections2D","./Core/Interval","./Core/Iso8601","./Core/JulianDate","./Core/KeyboardEventModifier","./Core/LagrangePolynomialApproximation","./Core/LeapSecond","./Core/LinearApproximation","./Core/LinearSpline","./Core/Math","./Core/Matrix2","./Core/Matrix3","./Core/Matrix4","./Core/NearFarScalar","./Core/ObjectOrientedBoundingBox","./Core/Occluder","./Core/Packable","./Core/PackableForInterpolation","./Core/Plane","./Core/PolygonGeometry","./Core/PolygonGeometryLibrary","./Core/PolygonOutlineGeometry","./Core/PolygonPipeline","./Core/PolylineGeometry","./Core/PolylinePipeline","./Core/PolylineVolumeGeometry","./Core/PolylineVolumeGeometryLibrary","./Core/PolylineVolumeOutlineGeometry","./Core/PrimitiveType","./Core/QuadraticRealPolynomial","./Core/QuarticRealPolynomial","./Core/Quaternion","./Core/QuaternionSpline","./Core/Queue","./Core/Ray","./Core/ReferenceFrame","./Core/RequestErrorEvent","./Core/RuntimeError","./Core/ScreenSpaceEventHandler","./Core/ScreenSpaceEventType","./Core/Shapes","./Core/ShowGeometryInstanceAttribute","./Core/Simon1994PlanetaryPositions","./Core/SimplePolylineGeometry","./Core/SphereGeometry","./Core/SphereOutlineGeometry","./Core/Spherical","./Core/Spline","./Core/TaskProcessor","./Core/TimeConstants","./Core/TimeInterval","./Core/TimeIntervalCollection","./Core/TimeStandard","./Core/Tipsify","./Core/Transforms","./Core/TridiagonalSystemSolver","./Core/VertexFormat","./Core/Visibility","./Core/WallGeometry","./Core/WallGeometryLibrary","./Core/WallOutlineGeometry","./Core/WebMercatorProjection","./Core/WindingOrder","./Core/barycentricCoordinates","./Core/binarySearch","./Core/buildModuleUrl","./Core/cancelAnimationFrame","./Core/clone","./Core/combine","./Core/createGuid","./Core/defaultValue","./Core/defineProperties","./Core/defined","./Core/destroyObject","./Core/formatError","./Core/freezeObject","./Core/getFilenameFromUri","./Core/getImagePixels","./Core/getTimestamp","./Core/isArray","./Core/isCrossOriginUrl","./Core/isLeapYear","./Core/jsonp","./Core/loadArrayBuffer","./Core/loadBlob","./Core/loadImage","./Core/loadImageViaBlob","./Core/loadJson","./Core/loadText","./Core/loadWithXhr","./Core/loadXML","./Core/parseResponseHeaders","./Core/pointInsideTriangle","./Core/requestAnimationFrame","./Core/throttleRequestByServer","./Core/wrapFunction","./Core/writeTextToCanvas","./DynamicScene/ColorMaterialProperty","./DynamicScene/CompositeDynamicObjectCollection","./DynamicScene/CompositeMaterialProperty","./DynamicScene/CompositePositionProperty","./DynamicScene/CompositeProperty","./DynamicScene/ConstantPositionProperty","./DynamicScene/ConstantProperty","./DynamicScene/CzmlDataSource","./DynamicScene/DataSource","./DynamicScene/DataSourceCollection","./DynamicScene/DataSourceDisplay","./DynamicScene/DynamicBillboard","./DynamicScene/DynamicBillboardVisualizer","./DynamicScene/DynamicClock","./DynamicScene/DynamicCone","./DynamicScene/DynamicConeVisualizerUsingCustomSensor","./DynamicScene/DynamicEllipse","./DynamicScene/DynamicEllipsoid","./DynamicScene/DynamicGeometryUpdater","./DynamicScene/DynamicLabel","./DynamicScene/DynamicLabelVisualizer","./DynamicScene/DynamicModel","./DynamicScene/DynamicModelVisualizer","./DynamicScene/DynamicObject","./DynamicScene/DynamicObjectCollection","./DynamicScene/DynamicObjectView","./DynamicScene/DynamicPath","./DynamicScene/DynamicPathVisualizer","./DynamicScene/DynamicPoint","./DynamicScene/DynamicPointVisualizer","./DynamicScene/DynamicPolygon","./DynamicScene/DynamicPolyline","./DynamicScene/DynamicPyramid","./DynamicScene/DynamicPyramidVisualizer","./DynamicScene/DynamicVector","./DynamicScene/DynamicVectorVisualizer","./DynamicScene/EllipseGeometryUpdater","./DynamicScene/EllipsoidGeometryUpdater","./DynamicScene/GeoJsonDataSource","./DynamicScene/GeometryUpdater","./DynamicScene/GeometryVisualizer","./DynamicScene/GridMaterialProperty","./DynamicScene/ImageMaterialProperty","./DynamicScene/MaterialProperty","./DynamicScene/PolygonGeometryUpdater","./DynamicScene/PolylineGeometryUpdater","./DynamicScene/PolylineOutlineMaterialProperty","./DynamicScene/PositionProperty","./DynamicScene/PositionPropertyArray","./DynamicScene/Property","./DynamicScene/PropertyArray","./DynamicScene/ReferenceProperty","./DynamicScene/SampledPositionProperty","./DynamicScene/SampledProperty","./DynamicScene/StaticGeometryColorBatch","./DynamicScene/StaticGeometryPerMaterialBatch","./DynamicScene/StaticOutlineGeometryBatch","./DynamicScene/TimeIntervalCollectionPositionProperty","./DynamicScene/TimeIntervalCollectionProperty","./DynamicScene/createDynamicPropertyDescriptor","./Renderer/AutomaticUniforms","./Renderer/BlendEquation","./Renderer/BlendFunction","./Renderer/BlendingState","./Renderer/Buffer","./Renderer/BufferUsage","./Renderer/ClearCommand","./Renderer/Context","./Renderer/CubeMap","./Renderer/CubeMapFace","./Renderer/CullFace","./Renderer/DepthFunction","./Renderer/DrawCommand","./Renderer/Framebuffer","./Renderer/MipmapHint","./Renderer/Pass","./Renderer/PassState","./Renderer/PickFramebuffer","./Renderer/PixelDatatype","./Renderer/PixelFormat","./Renderer/RenderState","./Renderer/Renderbuffer","./Renderer/RenderbufferFormat","./Renderer/ShaderCache","./Renderer/ShaderProgram","./Renderer/StencilFunction","./Renderer/StencilOperation","./Renderer/Texture","./Renderer/TextureAtlas","./Renderer/TextureAtlasBuilder","./Renderer/TextureMagnificationFilter","./Renderer/TextureMinificationFilter","./Renderer/TextureWrap","./Renderer/UniformDatatype","./Renderer/UniformState","./Renderer/VertexArray","./Renderer/VertexArrayFacade","./Renderer/VertexLayout","./Renderer/createShaderSource","./Renderer/loadCubeMap","./Scene/AnimationCollection","./Scene/Appearance","./Scene/ArcGisImageServerTerrainProvider","./Scene/ArcGisMapServerImageryProvider","./Scene/Billboard","./Scene/BillboardCollection","./Scene/BingMapsImageryProvider","./Scene/BingMapsStyle","./Scene/Camera","./Scene/CameraColumbusViewMode","./Scene/CameraController","./Scene/CameraEventAggregator","./Scene/CameraEventType","./Scene/CameraFlightPath","./Scene/CentralBody","./Scene/CentralBodySurface","./Scene/CentralBodySurfaceShaderSet","./Scene/CesiumTerrainProvider","./Scene/CompositePrimitive","./Scene/Credit","./Scene/CreditDisplay","./Scene/CullingVolume","./Scene/CustomSensorVolume","./Scene/DebugAppearance","./Scene/DebugModelMatrixPrimitive","./Scene/DiscardMissingTileImagePolicy","./Scene/EllipsoidPrimitive","./Scene/EllipsoidSurfaceAppearance","./Scene/EllipsoidTerrainProvider","./Scene/ExtentPrimitive","./Scene/FrameState","./Scene/FrustumCommands","./Scene/GeographicTilingScheme","./Scene/GoogleEarthImageryProvider","./Scene/GridImageryProvider","./Scene/HeightmapTerrainData","./Scene/HorizontalOrigin","./Scene/Imagery","./Scene/ImageryLayer","./Scene/ImageryLayerCollection","./Scene/ImageryProvider","./Scene/ImageryState","./Scene/Label","./Scene/LabelCollection","./Scene/LabelStyle","./Scene/Material","./Scene/MaterialAppearance","./Scene/Model","./Scene/ModelAnimation","./Scene/ModelAnimationCache","./Scene/ModelAnimationCollection","./Scene/ModelAnimationLoop","./Scene/ModelAnimationState","./Scene/ModelMesh","./Scene/ModelNode","./Scene/ModelTypes","./Scene/Moon","./Scene/NeverTileDiscardPolicy","./Scene/OpenStreetMapImageryProvider","./Scene/OrthographicFrustum","./Scene/PerInstanceColorAppearance","./Scene/PerformanceDisplay","./Scene/PerspectiveFrustum","./Scene/PerspectiveOffCenterFrustum","./Scene/Polygon","./Scene/Polyline","./Scene/PolylineCollection","./Scene/PolylineColorAppearance","./Scene/PolylineMaterialAppearance","./Scene/Primitive","./Scene/PrimitivePipeline","./Scene/PrimitiveState","./Scene/QuantizedMeshTerrainData","./Scene/RectangularPyramidSensorVolume","./Scene/Scene","./Scene/SceneMode","./Scene/SceneTransforms","./Scene/SceneTransitioner","./Scene/ScreenSpaceCameraController","./Scene/SensorVolumeCollection","./Scene/SingleTileImageryProvider","./Scene/SkyAtmosphere","./Scene/SkyBox","./Scene/Sun","./Scene/SunPostProcess","./Scene/TerrainData","./Scene/TerrainMesh","./Scene/TerrainProvider","./Scene/TerrainState","./Scene/TexturePool","./Scene/Tile","./Scene/TileCoordinatesImageryProvider","./Scene/TileDiscardPolicy","./Scene/TileImagery","./Scene/TileMapServiceImageryProvider","./Scene/TileProviderError","./Scene/TileReplacementQueue","./Scene/TileState","./Scene/TileTerrain","./Scene/TilingScheme","./Scene/VRTheWorldTerrainProvider","./Scene/VerticalOrigin","./Scene/ViewportQuad","./Scene/WebMapServiceImageryProvider","./Scene/WebMercatorTilingScheme","./Scene/createTangentSpaceDebugPrimitive","./Scene/sampleTerrain","./Shaders/Appearances/AllMaterialAppearanceFS","./Shaders/Appearances/AllMaterialAppearanceVS","./Shaders/Appearances/BasicMaterialAppearanceFS","./Shaders/Appearances/BasicMaterialAppearanceVS","./Shaders/Appearances/EllipsoidSurfaceAppearanceFS","./Shaders/Appearances/EllipsoidSurfaceAppearanceVS","./Shaders/Appearances/PerInstanceColorAppearanceFS","./Shaders/Appearances/PerInstanceColorAppearanceVS","./Shaders/Appearances/PerInstanceFlatColorAppearanceFS","./Shaders/Appearances/PerInstanceFlatColorAppearanceVS","./Shaders/Appearances/PolylineColorAppearanceVS","./Shaders/Appearances/PolylineMaterialAppearanceVS","./Shaders/Appearances/TexturedMaterialAppearanceFS","./Shaders/Appearances/TexturedMaterialAppearanceVS","./Shaders/BillboardCollectionFS","./Shaders/BillboardCollectionVS","./Shaders/Builtin/Constants/degreesPerRadian","./Shaders/Builtin/Constants/epsilon1","./Shaders/Builtin/Constants/epsilon2","./Shaders/Builtin/Constants/epsilon3","./Shaders/Builtin/Constants/epsilon4","./Shaders/Builtin/Constants/epsilon5","./Shaders/Builtin/Constants/epsilon6","./Shaders/Builtin/Constants/epsilon7","./Shaders/Builtin/Constants/infinity","./Shaders/Builtin/Constants/oneOverPi","./Shaders/Builtin/Constants/oneOverTwoPi","./Shaders/Builtin/Constants/pi","./Shaders/Builtin/Constants/piOverFour","./Shaders/Builtin/Constants/piOverSix","./Shaders/Builtin/Constants/piOverThree","./Shaders/Builtin/Constants/piOverTwo","./Shaders/Builtin/Constants/radiansPerDegree","./Shaders/Builtin/Constants/sceneMode2D","./Shaders/Builtin/Constants/sceneMode3D","./Shaders/Builtin/Constants/sceneModeColumbusView","./Shaders/Builtin/Constants/sceneModeMorphing","./Shaders/Builtin/Constants/solarRadius","./Shaders/Builtin/Constants/threePiOver2","./Shaders/Builtin/Constants/twoPi","./Shaders/Builtin/Constants/webMercatorMaxLatitude","./Shaders/Builtin/CzmBuiltins","./Shaders/Builtin/Functions/RGBToXYZ","./Shaders/Builtin/Functions/XYZToRGB","./Shaders/Builtin/Functions/antialias","./Shaders/Builtin/Functions/columbusViewMorph","./Shaders/Builtin/Functions/computePosition","./Shaders/Builtin/Functions/eastNorthUpToEyeCoordinates","./Shaders/Builtin/Functions/ellipsoidContainsPoint","./Shaders/Builtin/Functions/ellipsoidNew","./Shaders/Builtin/Functions/ellipsoidWgs84TextureCoordinates","./Shaders/Builtin/Functions/equalsEpsilon","./Shaders/Builtin/Functions/eyeOffset","./Shaders/Builtin/Functions/eyeToWindowCoordinates","./Shaders/Builtin/Functions/geodeticSurfaceNormal","./Shaders/Builtin/Functions/getDefaultMaterial","./Shaders/Builtin/Functions/getLambertDiffuse","./Shaders/Builtin/Functions/getSpecular","./Shaders/Builtin/Functions/getWaterNoise","./Shaders/Builtin/Functions/getWgs84EllipsoidEC","./Shaders/Builtin/Functions/hue","./Shaders/Builtin/Functions/isEmpty","./Shaders/Builtin/Functions/isFull","./Shaders/Builtin/Functions/latitudeToWebMercatorFraction","./Shaders/Builtin/Functions/luminance","./Shaders/Builtin/Functions/modelToWindowCoordinates","./Shaders/Builtin/Functions/multiplyWithColorBalance","./Shaders/Builtin/Functions/phong","./Shaders/Builtin/Functions/pointAlongRay","./Shaders/Builtin/Functions/rayEllipsoidIntersectionInterval","./Shaders/Builtin/Functions/saturation","./Shaders/Builtin/Functions/tangentToEyeSpaceMatrix","./Shaders/Builtin/Functions/translateRelativeToEye","./Shaders/Builtin/Functions/transpose","./Shaders/Builtin/Functions/windowToEyeCoordinates","./Shaders/Builtin/Structs/ellipsoid","./Shaders/Builtin/Structs/material","./Shaders/Builtin/Structs/materialInput","./Shaders/Builtin/Structs/ray","./Shaders/Builtin/Structs/raySegment","./Shaders/CentralBodyFS","./Shaders/CentralBodyFSDepth","./Shaders/CentralBodyFSPole","./Shaders/CentralBodyVS","./Shaders/CentralBodyVSDepth","./Shaders/CentralBodyVSPole","./Shaders/CustomSensorVolumeFS","./Shaders/CustomSensorVolumeVS","./Shaders/EllipsoidFS","./Shaders/EllipsoidVS","./Shaders/Materials/BumpMapMaterial","./Shaders/Materials/CheckerboardMaterial","./Shaders/Materials/DotMaterial","./Shaders/Materials/FadeMaterial","./Shaders/Materials/FresnelMaterial","./Shaders/Materials/GridMaterial","./Shaders/Materials/NormalMapMaterial","./Shaders/Materials/PolylineArrowMaterial","./Shaders/Materials/PolylineGlowMaterial","./Shaders/Materials/PolylineOutlineMaterial","./Shaders/Materials/ReflectionMaterial","./Shaders/Materials/RefractionMaterial","./Shaders/Materials/RimLightingMaterial","./Shaders/Materials/StripeMaterial","./Shaders/Materials/Water","./Shaders/PolylineCommon","./Shaders/PolylineFS","./Shaders/PolylineVS","./Shaders/PostProcessFilters/AdditiveBlend","./Shaders/PostProcessFilters/BrightPass","./Shaders/PostProcessFilters/GaussianBlur1D","./Shaders/PostProcessFilters/PassThrough","./Shaders/ReprojectWebMercatorFS","./Shaders/ReprojectWebMercatorVS","./Shaders/SensorVolume","./Shaders/SkyAtmosphereFS","./Shaders/SkyAtmosphereVS","./Shaders/SkyBoxFS","./Shaders/SkyBoxVS","./Shaders/SunFS","./Shaders/SunTextureFS","./Shaders/SunVS","./Shaders/ViewportQuadFS","./Shaders/ViewportQuadVS","./ThirdParty/Tween","./ThirdParty/Uri","./ThirdParty/gltfDefaults","./ThirdParty/knockout-3.0.0","./ThirdParty/knockout-es5","./ThirdParty/knockout","./ThirdParty/measureText","./ThirdParty/mersenne-twister","./ThirdParty/sprintf","./ThirdParty/topojson","./ThirdParty/when","./Widgets/Animation/Animation","./Widgets/Animation/AnimationViewModel","./Widgets/BaseLayerPicker/BaseLayerPicker","./Widgets/BaseLayerPicker/BaseLayerPickerViewModel","./Widgets/BaseLayerPicker/ImageryProviderViewModel","./Widgets/BaseLayerPicker/createDefaultBaseLayers","./Widgets/CesiumInspector/CesiumInspector","./Widgets/CesiumInspector/CesiumInspectorViewModel","./Widgets/CesiumWidget/CesiumWidget","./Widgets/ClockViewModel","./Widgets/Command","./Widgets/FullscreenButton/FullscreenButton","./Widgets/FullscreenButton/FullscreenButtonViewModel","./Widgets/Geocoder/Geocoder","./Widgets/Geocoder/GeocoderViewModel","./Widgets/HomeButton/HomeButton","./Widgets/HomeButton/HomeButtonViewModel","./Widgets/InfoBox/InfoBox","./Widgets/InfoBox/InfoBoxViewModel","./Widgets/SceneModePicker/SceneModePicker","./Widgets/SceneModePicker/SceneModePickerViewModel","./Widgets/SelectionIndicator/SelectionIndicator","./Widgets/SelectionIndicator/SelectionIndicatorViewModel","./Widgets/SvgPathBindingHandler","./Widgets/Timeline/Timeline","./Widgets/Timeline/TimelineHighlightRange","./Widgets/Timeline/TimelineTrack","./Widgets/ToggleButtonViewModel","./Widgets/Viewer/Viewer","./Widgets/Viewer/viewerCesiumInspectorMixin","./Widgets/Viewer/viewerDragDropMixin","./Widgets/Viewer/viewerDynamicObjectMixin","./Widgets/checkForChromeFrame","./Widgets/createCommand","./Widgets/getElement","./Widgets/subscribeAndEvaluate","./Workers/createTaskProcessorWorker"],function(e,t,r,i,n,o,a,s,l,u,c,h,d,m,p,f,v,g,_,y,C,S,w,E,x,b,T,A,P,D,M,I,O,R,L,N,B,z,F,V,k,U,W,G,H,j,q,Y,X,Z,J,Q,K,$,et,tt,rt,it,nt,ot,at,st,lt,ut,ct,ht,dt,mt,pt,ft,vt,gt,_t,yt,Ct,St,wt,Et,xt,bt,Tt,At,Pt,Dt,Mt,It,Ot,Rt,Lt,Nt,Bt,zt,Ft,Vt,kt,Ut,Wt,Gt,Ht,jt,qt,Yt,Xt,Zt,Jt,Qt,Kt,$t,er,tr,rr,ir,nr,or,ar,sr,lr,ur,cr,hr,dr,mr,pr,fr,vr,gr,_r,yr,Cr,Sr,wr,Er,xr,br,Tr,Ar,Pr,Dr,Mr,Ir,Or,Rr,Lr,Nr,Br,zr,Fr,Vr,kr,Ur,Wr,Gr,Hr,jr,qr,Yr,Xr,Zr,Jr,Qr,Kr,$r,ei,ti,ri,ii,ni,oi,ai,si,li,ui,ci,hi,di,mi,pi,fi,vi,gi,_i,yi,Ci,Si,wi,Ei,xi,bi,Ti,Ai,Pi,Di,Mi,Ii,Oi,Ri,Li,Ni,Bi,zi,Fi,Vi,ki,Ui,Wi,Gi,Hi,ji,qi,Yi,Xi,Zi,Ji,Qi,Ki,$i,en,tn,rn,nn,on,an,sn,ln,un,cn,hn,dn,mn,pn,fn,vn,gn,_n,yn,Cn,Sn,wn,En,xn,bn,Tn,An,Pn,Dn,Mn,In,On,Rn,Ln,Nn,Bn,zn,Fn,Vn,kn,Un,Wn,Gn,Hn,jn,qn,Yn,Xn,Zn,Jn,Qn,Kn,$n,eo,to,ro,io,no,oo,ao,so,lo,uo,co,ho,mo,po,fo,vo,go,_o,yo,Co,So,wo,Eo,xo,bo,To,Ao,Po,Do,Mo,Io,Oo,Ro,Lo,No,Bo,zo,Fo,Vo,ko,Uo,Wo,Go,Ho,jo,qo,Yo,Xo,Zo,Jo,Qo,Ko,$o,ea,ta,ra,ia,na,oa,aa,sa,la,ua,ca,ha,da,ma,pa,fa,va,ga,_a,ya,Ca,Sa,wa,Ea,xa,ba,Ta,Aa,Pa,Da,Ma,Ia,Oa,Ra,La,Na,Ba,za,Fa,Va,ka,Ua,Wa,Ga,Ha,ja,qa,Ya,Xa,Za,Ja,Qa,Ka,$a,es,ts,rs,is,ns,os,as,ss,ls,us,cs,hs,ds,ms,ps,fs,vs,gs,_s,ys,Cs,Ss,ws,Es,xs,bs,Ts,As,Ps,Ds,Ms,Is,Os,Rs,Ls,Ns,Bs,zs,Fs,Vs,ks,Us,Ws,Gs,Hs,js,qs,Ys,Xs,Zs,Js,Qs,Ks,$s,el,tl,rl,il,nl,ol,al,sl,ll,ul,cl,hl,dl,ml,pl,fl,vl,gl,_l,yl,Cl,Sl,wl,El,xl,bl,Tl,Al,Pl,Dl,Ml,Il,Ol,Rl,Ll,Nl,Bl,zl,Fl,Vl,kl,Ul,Wl,Gl,Hl,jl,ql,Yl,Xl,Zl,Jl,Ql,Kl,$l,eu,tu,ru,iu,nu,ou,au,su,lu,uu,cu,hu,du,mu,pu,fu,vu,gu,_u,yu,Cu,Su,wu,Eu,xu,bu,Tu,Au,Pu,Du,Mu,Iu,Ou,Ru,Lu,Nu,Bu,zu,Fu,Vu,ku,Uu,Wu,Gu,Hu,ju,qu,Yu,Xu,Zu,Ju,Qu,Ku,$u,ec,tc,rc,ic,nc,oc,ac,sc){"use strict"; +var lc={_shaders:{}};return lc.AssociativeArray=e,lc.AxisAlignedBoundingBox=t,lc.BingMapsApi=r,lc.BoundingRectangle=i,lc.BoundingSphere=n,lc.BoxGeometry=o,lc.BoxOutlineGeometry=a,lc.Cartesian2=s,lc.Cartesian3=l,lc.Cartesian4=u,lc.Cartographic=c,lc.CatmullRomSpline=h,lc.CircleGeometry=d,lc.CircleOutlineGeometry=m,lc.Clock=p,lc.ClockRange=f,lc.ClockStep=v,lc.Color=g,lc.ColorGeometryInstanceAttribute=_,lc.ComponentDatatype=y,lc.CornerType=C,lc.CorridorGeometry=S,lc.CorridorGeometryLibrary=w,lc.CorridorOutlineGeometry=E,lc.CubicRealPolynomial=x,lc.CylinderGeometry=b,lc.CylinderGeometryLibrary=T,lc.CylinderOutlineGeometry=A,lc.DefaultProxy=P,lc.DeveloperError=D,lc.EarthOrientationParameters=M,lc.EarthOrientationParametersSample=I,lc.EllipseGeometry=O,lc.EllipseGeometryLibrary=R,lc.EllipseOutlineGeometry=L,lc.Ellipsoid=N,lc.EllipsoidGeodesic=B,lc.EllipsoidGeometry=z,lc.EllipsoidOutlineGeometry=F,lc.EllipsoidTangentPlane=V,lc.EllipsoidalOccluder=k,lc.EncodedCartesian3=U,lc.Enumeration=W,lc.Event=G,lc.EventHelper=H,lc.Extent=j,lc.ExtentGeometry=q,lc.ExtentOutlineGeometry=Y,lc.FAR=X,lc.FeatureDetection=Z,lc.Fullscreen=J,lc.GeographicProjection=Q,lc.Geometry=K,lc.GeometryAttribute=$,lc.GeometryAttributes=et,lc.GeometryInstance=tt,lc.GeometryInstanceAttribute=rt,lc.GeometryPipeline=it,lc.HeightmapTessellator=nt,lc.HermitePolynomialApproximation=ot,lc.HermiteSpline=at,lc.Iau2000Orientation=st,lc.Iau2006XysData=lt,lc.Iau2006XysSample=ut,lc.IauOrientationAxes=ct,lc.IauOrientationParameters=ht,lc.IndexDatatype=dt,lc.InterpolationAlgorithm=mt,lc.Intersect=pt,lc.IntersectionTests=ft,lc.Intersections2D=vt,lc.Interval=gt,lc.Iso8601=_t,lc.JulianDate=yt,lc.KeyboardEventModifier=Ct,lc.LagrangePolynomialApproximation=St,lc.LeapSecond=wt,lc.LinearApproximation=Et,lc.LinearSpline=xt,lc.Math=bt,lc.Matrix2=Tt,lc.Matrix3=At,lc.Matrix4=Pt,lc.NearFarScalar=Dt,lc.ObjectOrientedBoundingBox=Mt,lc.Occluder=It,lc.Packable=Ot,lc.PackableForInterpolation=Rt,lc.Plane=Lt,lc.PolygonGeometry=Nt,lc.PolygonGeometryLibrary=Bt,lc.PolygonOutlineGeometry=zt,lc.PolygonPipeline=Ft,lc.PolylineGeometry=Vt,lc.PolylinePipeline=kt,lc.PolylineVolumeGeometry=Ut,lc.PolylineVolumeGeometryLibrary=Wt,lc.PolylineVolumeOutlineGeometry=Gt,lc.PrimitiveType=Ht,lc.QuadraticRealPolynomial=jt,lc.QuarticRealPolynomial=qt,lc.Quaternion=Yt,lc.QuaternionSpline=Xt,lc.Queue=Zt,lc.Ray=Jt,lc.ReferenceFrame=Qt,lc.RequestErrorEvent=Kt,lc.RuntimeError=$t,lc.ScreenSpaceEventHandler=er,lc.ScreenSpaceEventType=tr,lc.Shapes=rr,lc.ShowGeometryInstanceAttribute=ir,lc.Simon1994PlanetaryPositions=nr,lc.SimplePolylineGeometry=or,lc.SphereGeometry=ar,lc.SphereOutlineGeometry=sr,lc.Spherical=lr,lc.Spline=ur,lc.TaskProcessor=cr,lc.TimeConstants=hr,lc.TimeInterval=dr,lc.TimeIntervalCollection=mr,lc.TimeStandard=pr,lc.Tipsify=fr,lc.Transforms=vr,lc.TridiagonalSystemSolver=gr,lc.VertexFormat=_r,lc.Visibility=yr,lc.WallGeometry=Cr,lc.WallGeometryLibrary=Sr,lc.WallOutlineGeometry=wr,lc.WebMercatorProjection=Er,lc.WindingOrder=xr,lc.barycentricCoordinates=br,lc.binarySearch=Tr,lc.buildModuleUrl=Ar,lc.cancelAnimationFrame=Pr,lc.clone=Dr,lc.combine=Mr,lc.createGuid=Ir,lc.defaultValue=Or,lc.defineProperties=Rr,lc.defined=Lr,lc.destroyObject=Nr,lc.formatError=Br,lc.freezeObject=zr,lc.getFilenameFromUri=Fr,lc.getImagePixels=Vr,lc.getTimestamp=kr,lc.isArray=Ur,lc.isCrossOriginUrl=Wr,lc.isLeapYear=Gr,lc.jsonp=Hr,lc.loadArrayBuffer=jr,lc.loadBlob=qr,lc.loadImage=Yr,lc.loadImageViaBlob=Xr,lc.loadJson=Zr,lc.loadText=Jr,lc.loadWithXhr=Qr,lc.loadXML=Kr,lc.parseResponseHeaders=$r,lc.pointInsideTriangle=ei,lc.requestAnimationFrame=ti,lc.throttleRequestByServer=ri,lc.wrapFunction=ii,lc.writeTextToCanvas=ni,lc.ColorMaterialProperty=oi,lc.CompositeDynamicObjectCollection=ai,lc.CompositeMaterialProperty=si,lc.CompositePositionProperty=li,lc.CompositeProperty=ui,lc.ConstantPositionProperty=ci,lc.ConstantProperty=hi,lc.CzmlDataSource=di,lc.DataSource=mi,lc.DataSourceCollection=pi,lc.DataSourceDisplay=fi,lc.DynamicBillboard=vi,lc.DynamicBillboardVisualizer=gi,lc.DynamicClock=_i,lc.DynamicCone=yi,lc.DynamicConeVisualizerUsingCustomSensor=Ci,lc.DynamicEllipse=Si,lc.DynamicEllipsoid=wi,lc.DynamicGeometryUpdater=Ei,lc.DynamicLabel=xi,lc.DynamicLabelVisualizer=bi,lc.DynamicModel=Ti,lc.DynamicModelVisualizer=Ai,lc.DynamicObject=Pi,lc.DynamicObjectCollection=Di,lc.DynamicObjectView=Mi,lc.DynamicPath=Ii,lc.DynamicPathVisualizer=Oi,lc.DynamicPoint=Ri,lc.DynamicPointVisualizer=Li,lc.DynamicPolygon=Ni,lc.DynamicPolyline=Bi,lc.DynamicPyramid=zi,lc.DynamicPyramidVisualizer=Fi,lc.DynamicVector=Vi,lc.DynamicVectorVisualizer=ki,lc.EllipseGeometryUpdater=Ui,lc.EllipsoidGeometryUpdater=Wi,lc.GeoJsonDataSource=Gi,lc.GeometryUpdater=Hi,lc.GeometryVisualizer=ji,lc.GridMaterialProperty=qi,lc.ImageMaterialProperty=Yi,lc.MaterialProperty=Xi,lc.PolygonGeometryUpdater=Zi,lc.PolylineGeometryUpdater=Ji,lc.PolylineOutlineMaterialProperty=Qi,lc.PositionProperty=Ki,lc.PositionPropertyArray=$i,lc.Property=en,lc.PropertyArray=tn,lc.ReferenceProperty=rn,lc.SampledPositionProperty=nn,lc.SampledProperty=on,lc.StaticGeometryColorBatch=an,lc.StaticGeometryPerMaterialBatch=sn,lc.StaticOutlineGeometryBatch=ln,lc.TimeIntervalCollectionPositionProperty=un,lc.TimeIntervalCollectionProperty=cn,lc.createDynamicPropertyDescriptor=hn,lc.AutomaticUniforms=dn,lc.BlendEquation=mn,lc.BlendFunction=pn,lc.BlendingState=fn,lc.Buffer=vn,lc.BufferUsage=gn,lc.ClearCommand=_n,lc.Context=yn,lc.CubeMap=Cn,lc.CubeMapFace=Sn,lc.CullFace=wn,lc.DepthFunction=En,lc.DrawCommand=xn,lc.Framebuffer=bn,lc.MipmapHint=Tn,lc.Pass=An,lc.PassState=Pn,lc.PickFramebuffer=Dn,lc.PixelDatatype=Mn,lc.PixelFormat=In,lc.RenderState=On,lc.Renderbuffer=Rn,lc.RenderbufferFormat=Ln,lc.ShaderCache=Nn,lc.ShaderProgram=Bn,lc.StencilFunction=zn,lc.StencilOperation=Fn,lc.Texture=Vn,lc.TextureAtlas=kn,lc.TextureAtlasBuilder=Un,lc.TextureMagnificationFilter=Wn,lc.TextureMinificationFilter=Gn,lc.TextureWrap=Hn,lc.UniformDatatype=jn,lc.UniformState=qn,lc.VertexArray=Yn,lc.VertexArrayFacade=Xn,lc.VertexLayout=Zn,lc.createShaderSource=Jn,lc.loadCubeMap=Qn,lc.AnimationCollection=Kn,lc.Appearance=$n,lc.ArcGisImageServerTerrainProvider=eo,lc.ArcGisMapServerImageryProvider=to,lc.Billboard=ro,lc.BillboardCollection=io,lc.BingMapsImageryProvider=no,lc.BingMapsStyle=oo,lc.Camera=ao,lc.CameraColumbusViewMode=so,lc.CameraController=lo,lc.CameraEventAggregator=uo,lc.CameraEventType=co,lc.CameraFlightPath=ho,lc.CentralBody=mo,lc.CentralBodySurface=po,lc.CentralBodySurfaceShaderSet=fo,lc.CesiumTerrainProvider=vo,lc.CompositePrimitive=go,lc.Credit=_o,lc.CreditDisplay=yo,lc.CullingVolume=Co,lc.CustomSensorVolume=So,lc.DebugAppearance=wo,lc.DebugModelMatrixPrimitive=Eo,lc.DiscardMissingTileImagePolicy=xo,lc.EllipsoidPrimitive=bo,lc.EllipsoidSurfaceAppearance=To,lc.EllipsoidTerrainProvider=Ao,lc.ExtentPrimitive=Po,lc.FrameState=Do,lc.FrustumCommands=Mo,lc.GeographicTilingScheme=Io,lc.GoogleEarthImageryProvider=Oo,lc.GridImageryProvider=Ro,lc.HeightmapTerrainData=Lo,lc.HorizontalOrigin=No,lc.Imagery=Bo,lc.ImageryLayer=zo,lc.ImageryLayerCollection=Fo,lc.ImageryProvider=Vo,lc.ImageryState=ko,lc.Label=Uo,lc.LabelCollection=Wo,lc.LabelStyle=Go,lc.Material=Ho,lc.MaterialAppearance=jo,lc.Model=qo,lc.ModelAnimation=Yo,lc.ModelAnimationCache=Xo,lc.ModelAnimationCollection=Zo,lc.ModelAnimationLoop=Jo,lc.ModelAnimationState=Qo,lc.ModelMesh=Ko,lc.ModelNode=$o,lc.ModelTypes=ea,lc.Moon=ta,lc.NeverTileDiscardPolicy=ra,lc.OpenStreetMapImageryProvider=ia,lc.OrthographicFrustum=na,lc.PerInstanceColorAppearance=oa,lc.PerformanceDisplay=aa,lc.PerspectiveFrustum=sa,lc.PerspectiveOffCenterFrustum=la,lc.Polygon=ua,lc.Polyline=ca,lc.PolylineCollection=ha,lc.PolylineColorAppearance=da,lc.PolylineMaterialAppearance=ma,lc.Primitive=pa,lc.PrimitivePipeline=fa,lc.PrimitiveState=va,lc.QuantizedMeshTerrainData=ga,lc.RectangularPyramidSensorVolume=_a,lc.Scene=ya,lc.SceneMode=Ca,lc.SceneTransforms=Sa,lc.SceneTransitioner=wa,lc.ScreenSpaceCameraController=Ea,lc.SensorVolumeCollection=xa,lc.SingleTileImageryProvider=ba,lc.SkyAtmosphere=Ta,lc.SkyBox=Aa,lc.Sun=Pa,lc.SunPostProcess=Da,lc.TerrainData=Ma,lc.TerrainMesh=Ia,lc.TerrainProvider=Oa,lc.TerrainState=Ra,lc.TexturePool=La,lc.Tile=Na,lc.TileCoordinatesImageryProvider=Ba,lc.TileDiscardPolicy=za,lc.TileImagery=Fa,lc.TileMapServiceImageryProvider=Va,lc.TileProviderError=ka,lc.TileReplacementQueue=Ua,lc.TileState=Wa,lc.TileTerrain=Ga,lc.TilingScheme=Ha,lc.VRTheWorldTerrainProvider=ja,lc.VerticalOrigin=qa,lc.ViewportQuad=Ya,lc.WebMapServiceImageryProvider=Xa,lc.WebMercatorTilingScheme=Za,lc.createTangentSpaceDebugPrimitive=Ja,lc.sampleTerrain=Qa,lc._shaders.AllMaterialAppearanceFS=Ka,lc._shaders.AllMaterialAppearanceVS=$a,lc._shaders.BasicMaterialAppearanceFS=es,lc._shaders.BasicMaterialAppearanceVS=ts,lc._shaders.EllipsoidSurfaceAppearanceFS=rs,lc._shaders.EllipsoidSurfaceAppearanceVS=is,lc._shaders.PerInstanceColorAppearanceFS=ns,lc._shaders.PerInstanceColorAppearanceVS=os,lc._shaders.PerInstanceFlatColorAppearanceFS=as,lc._shaders.PerInstanceFlatColorAppearanceVS=ss,lc._shaders.PolylineColorAppearanceVS=ls,lc._shaders.PolylineMaterialAppearanceVS=us,lc._shaders.TexturedMaterialAppearanceFS=cs,lc._shaders.TexturedMaterialAppearanceVS=hs,lc._shaders.BillboardCollectionFS=ds,lc._shaders.BillboardCollectionVS=ms,lc._shaders.degreesPerRadian=ps,lc._shaders.epsilon1=fs,lc._shaders.epsilon2=vs,lc._shaders.epsilon3=gs,lc._shaders.epsilon4=_s,lc._shaders.epsilon5=ys,lc._shaders.epsilon6=Cs,lc._shaders.epsilon7=Ss,lc._shaders.infinity=ws,lc._shaders.oneOverPi=Es,lc._shaders.oneOverTwoPi=xs,lc._shaders.pi=bs,lc._shaders.piOverFour=Ts,lc._shaders.piOverSix=As,lc._shaders.piOverThree=Ps,lc._shaders.piOverTwo=Ds,lc._shaders.radiansPerDegree=Ms,lc._shaders.sceneMode2D=Is,lc._shaders.sceneMode3D=Os,lc._shaders.sceneModeColumbusView=Rs,lc._shaders.sceneModeMorphing=Ls,lc._shaders.solarRadius=Ns,lc._shaders.threePiOver2=Bs,lc._shaders.twoPi=zs,lc._shaders.webMercatorMaxLatitude=Fs,lc._shaders.CzmBuiltins=Vs,lc._shaders.RGBToXYZ=ks,lc._shaders.XYZToRGB=Us,lc._shaders.antialias=Ws,lc._shaders.columbusViewMorph=Gs,lc._shaders.computePosition=Hs,lc._shaders.eastNorthUpToEyeCoordinates=js,lc._shaders.ellipsoidContainsPoint=qs,lc._shaders.ellipsoidNew=Ys,lc._shaders.ellipsoidWgs84TextureCoordinates=Xs,lc._shaders.equalsEpsilon=Zs,lc._shaders.eyeOffset=Js,lc._shaders.eyeToWindowCoordinates=Qs,lc._shaders.geodeticSurfaceNormal=Ks,lc._shaders.getDefaultMaterial=$s,lc._shaders.getLambertDiffuse=el,lc._shaders.getSpecular=tl,lc._shaders.getWaterNoise=rl,lc._shaders.getWgs84EllipsoidEC=il,lc._shaders.hue=nl,lc._shaders.isEmpty=ol,lc._shaders.isFull=al,lc._shaders.latitudeToWebMercatorFraction=sl,lc._shaders.luminance=ll,lc._shaders.modelToWindowCoordinates=ul,lc._shaders.multiplyWithColorBalance=cl,lc._shaders.phong=hl,lc._shaders.pointAlongRay=dl,lc._shaders.rayEllipsoidIntersectionInterval=ml,lc._shaders.saturation=pl,lc._shaders.tangentToEyeSpaceMatrix=fl,lc._shaders.translateRelativeToEye=vl,lc._shaders.transpose=gl,lc._shaders.windowToEyeCoordinates=_l,lc._shaders.ellipsoid=yl,lc._shaders.material=Cl,lc._shaders.materialInput=Sl,lc._shaders.ray=wl,lc._shaders.raySegment=El,lc._shaders.CentralBodyFS=xl,lc._shaders.CentralBodyFSDepth=bl,lc._shaders.CentralBodyFSPole=Tl,lc._shaders.CentralBodyVS=Al,lc._shaders.CentralBodyVSDepth=Pl,lc._shaders.CentralBodyVSPole=Dl,lc._shaders.CustomSensorVolumeFS=Ml,lc._shaders.CustomSensorVolumeVS=Il,lc._shaders.EllipsoidFS=Ol,lc._shaders.EllipsoidVS=Rl,lc._shaders.BumpMapMaterial=Ll,lc._shaders.CheckerboardMaterial=Nl,lc._shaders.DotMaterial=Bl,lc._shaders.FadeMaterial=zl,lc._shaders.FresnelMaterial=Fl,lc._shaders.GridMaterial=Vl,lc._shaders.NormalMapMaterial=kl,lc._shaders.PolylineArrowMaterial=Ul,lc._shaders.PolylineGlowMaterial=Wl,lc._shaders.PolylineOutlineMaterial=Gl,lc._shaders.ReflectionMaterial=Hl,lc._shaders.RefractionMaterial=jl,lc._shaders.RimLightingMaterial=ql,lc._shaders.StripeMaterial=Yl,lc._shaders.Water=Xl,lc._shaders.PolylineCommon=Zl,lc._shaders.PolylineFS=Jl,lc._shaders.PolylineVS=Ql,lc._shaders.AdditiveBlend=Kl,lc._shaders.BrightPass=$l,lc._shaders.GaussianBlur1D=eu,lc._shaders.PassThrough=tu,lc._shaders.ReprojectWebMercatorFS=ru,lc._shaders.ReprojectWebMercatorVS=iu,lc._shaders.SensorVolume=nu,lc._shaders.SkyAtmosphereFS=ou,lc._shaders.SkyAtmosphereVS=au,lc._shaders.SkyBoxFS=su,lc._shaders.SkyBoxVS=lu,lc._shaders.SunFS=uu,lc._shaders.SunTextureFS=cu,lc._shaders.SunVS=hu,lc._shaders.ViewportQuadFS=du,lc._shaders.ViewportQuadVS=mu,lc.Tween=pu,lc.Uri=fu,lc.gltfDefaults=vu,lc["knockout-3.0.0"]=gu,lc["knockout-es5"]=_u,lc.knockout=yu,lc.measureText=Cu,lc["mersenne-twister"]=Su,lc.sprintf=wu,lc.topojson=Eu,lc.when=xu,lc.Animation=bu,lc.AnimationViewModel=Tu,lc.BaseLayerPicker=Au,lc.BaseLayerPickerViewModel=Pu,lc.ImageryProviderViewModel=Du,lc.createDefaultBaseLayers=Mu,lc.CesiumInspector=Iu,lc.CesiumInspectorViewModel=Ou,lc.CesiumWidget=Ru,lc.ClockViewModel=Lu,lc.Command=Nu,lc.FullscreenButton=Bu,lc.FullscreenButtonViewModel=zu,lc.Geocoder=Fu,lc.GeocoderViewModel=Vu,lc.HomeButton=ku,lc.HomeButtonViewModel=Uu,lc.InfoBox=Wu,lc.InfoBoxViewModel=Gu,lc.SceneModePicker=Hu,lc.SceneModePickerViewModel=ju,lc.SelectionIndicator=qu,lc.SelectionIndicatorViewModel=Yu,lc.SvgPathBindingHandler=Xu,lc.Timeline=Zu,lc.TimelineHighlightRange=Ju,lc.TimelineTrack=Qu,lc.ToggleButtonViewModel=Ku,lc.Viewer=$u,lc.viewerCesiumInspectorMixin=ec,lc.viewerDragDropMixin=tc,lc.viewerDynamicObjectMixin=rc,lc.checkForChromeFrame=ic,lc.createCommand=nc,lc.getElement=oc,lc.subscribeAndEvaluate=ac,lc.createTaskProcessorWorker=sc,lc}),t(["Cesium"],function(e){"use strict";var t="undefined"!=typeof window?window:"undefined"!=typeof self?self:{};t.Cesium=e},void 0,!0)}(); \ No newline at end of file diff --git a/Cesium/Widgets/Animation/Animation.css b/Cesium/Widgets/Animation/Animation.css new file mode 100644 index 0000000..bad6137 --- /dev/null +++ b/Cesium/Widgets/Animation/Animation.css @@ -0,0 +1 @@ +.cesium-animation-theme {visibility: hidden; display: block; position: absolute; z-index: -100;} .cesium-animation-themeNormal {color: #222;} .cesium-animation-themeHover {color: #4488B0;} .cesium-animation-themeSelect {color: #242;} .cesium-animation-themeDisabled {color: #333;} .cesium-animation-themeKnob {color: #222;} .cesium-animation-themePointer {color: #2E2;} .cesium-animation-themeSwoosh {color: #8AC;} .cesium-animation-themeSwooshHover {color: #AEF;} .cesium-animation-svgText {fill: #edffff; font-family: Sans-Serif; font-size: 15px; text-anchor: middle;} .cesium-animation-blank {fill: #000; fill-opacity: 0.01; stroke: none;} .cesium-animation-rectButton {cursor: pointer; -moz-user-select: none; -webkit-user-select: none; user-select: none;} .cesium-animation-rectButton .cesium-animation-buttonGlow {fill: #fff; stroke: none; display: none;} .cesium-animation-rectButton:hover .cesium-animation-buttonGlow {display: block;} .cesium-animation-rectButton .cesium-animation-buttonPath {fill: #edffff;} .cesium-animation-rectButton .cesium-animation-buttonMain {stroke: #444; stroke-width: 1.2;} .cesium-animation-rectButton:hover .cesium-animation-buttonMain {stroke: #AEF;} .cesium-animation-rectButton:active .cesium-animation-buttonMain {fill: #ABD6FF;} .cesium-animation-buttonDisabled {-moz-user-select: none; -webkit-user-select: none; user-select: none;} .cesium-animation-buttonDisabled .cesium-animation-buttonMain {stroke: #555;} .cesium-animation-buttonDisabled .cesium-animation-buttonPath {fill: #818181;} .cesium-animation-buttonDisabled .cesium-animation-buttonGlow {display: none;} .cesium-animation-buttonToggled .cesium-animation-buttonGlow {display: block; fill: #2E2;} .cesium-animation-buttonToggled .cesium-animation-buttonMain {stroke: #2E2;} .cesium-animation-buttonToggled:hover .cesium-animation-buttonGlow {fill: #fff;} .cesium-animation-buttonToggled:hover .cesium-animation-buttonMain {stroke: #2E2;} .cesium-animation-shuttleRingG {cursor: pointer;} .cesium-animation-shuttleRingPointer {cursor: pointer;} .cesium-animation-shuttleRingPausePointer {cursor: pointer;} .cesium-animation-shuttleRingBack {fill: #181818; fill-opacity: 0.8; stroke: #333; stroke-width: 1.2;} .cesium-animation-shuttleRingSwoosh line {stroke: #8AC; stroke-width: 3; stroke-opacity: 0.2; stroke-linecap: round;} .cesium-animation-knobOuter {cursor: pointer; stroke: #444; stroke-width: 1.2;} .cesium-animation-knobInner {cursor: pointer;} \ No newline at end of file diff --git a/Cesium/Widgets/Animation/lighter.css b/Cesium/Widgets/Animation/lighter.css new file mode 100644 index 0000000..f044698 --- /dev/null +++ b/Cesium/Widgets/Animation/lighter.css @@ -0,0 +1 @@ +.cesium-lighter .cesium-animation-themeNormal {color: #E5F2FE;} .cesium-lighter .cesium-animation-themeHover {color: #ABD6FF;} .cesium-lighter .cesium-animation-themeSelect {color: #E5F2FE;} .cesium-lighter .cesium-animation-themeDisabled {color: #EFEFEF;} .cesium-lighter .cesium-animation-themeKnob {color: #E1E2E3;} .cesium-lighter .cesium-animation-themePointer {color: #FA5;} .cesium-lighter .cesium-animation-themeSwoosh {color: #ACE;} .cesium-lighter .cesium-animation-themeSwooshHover {color: #BDF;} .cesium-lighter .cesium-animation-svgText {fill: #111;} .cesium-lighter .cesium-animation-rectButton .cesium-animation-buttonPath {fill: #111;} .cesium-lighter .cesium-animation-rectButton .cesium-animation-buttonMain {stroke: #759DC0;} .cesium-lighter .cesium-animation-buttonToggled .cesium-animation-buttonGlow {fill: #FFAA2A;} .cesium-lighter .cesium-animation-buttonToggled .cesium-animation-buttonMain {stroke: #EA0;} .cesium-lighter .cesium-animation-rectButton:hover .cesium-animation-buttonMain {stroke: #759DC0;} .cesium-lighter .cesium-animation-buttonToggled:hover .cesium-animation-buttonGlow {fill: #fff;} .cesium-lighter .cesium-animation-buttonToggled:hover .cesium-animation-buttonMain {stroke: #EA0;} .cesium-lighter .cesium-animation-rectButton:active .cesium-animation-buttonMain {fill: #ABD6FF;} .cesium-lighter .cesium-animation-buttonDisabled .cesium-animation-buttonMain {stroke: #D3D3D3;} .cesium-lighter .cesium-animation-buttonDisabled .cesium-animation-buttonPath {fill: #818181;} .cesium-lighter .cesium-animation-shuttleRingBack {fill: #FAFAFA; fill-opacity: 1; stroke: #AEAEAE; stroke-width: 1.2;} .cesium-lighter .cesium-animation-shuttleRingSwoosh line {stroke: #8AC;} .cesium-lighter .cesium-animation-knobOuter {stroke: #A5A5A5;} \ No newline at end of file diff --git a/Cesium/Widgets/BaseLayerPicker/BaseLayerPicker.css b/Cesium/Widgets/BaseLayerPicker/BaseLayerPicker.css new file mode 100644 index 0000000..eff86e0 --- /dev/null +++ b/Cesium/Widgets/BaseLayerPicker/BaseLayerPicker.css @@ -0,0 +1 @@ +.cesium-baseLayerPicker-selected {position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: none;} .cesium-baseLayerPicker-visible {visibility: visible; opacity: 1; transition: opacity 0.25s linear; -webkit-transition: opacity 0.25s linear; -moz-transition: opacity 0.25s linear;} .cesium-baseLayerPicker-hidden {visibility: hidden; opacity: 0; transition: visibility 0s 0.25s, opacity 0.25s linear; -webkit-transition: visibility 0s 0.25s, opacity 0.25s linear; -moz-transition: visibility 0s 0.25s, opacity 0.25s linear;} .cesium-baseLayerPicker-dropDown {display: block; position: absolute; top: auto; right: 0; width: 240px; max-height: 500px; margin-top: 5px; background-color: rgba(38, 38, 38, 0.75); padding: 6px; overflow: auto; border-radius: 10px; -moz-user-select: none; -webkit-user-select: none; user-select: none;} .cesium-baseLayerPicker-item {display: inline-block; vertical-align: top; margin: 2px 5px; width: 64px; text-align: center; cursor: pointer;} .cesium-baseLayerPicker-itemLabel {display: block; font-family: sans-serif; font-size: 8pt; text-align: center; vertical-align: middle; color: #edffff; cursor: pointer; word-wrap: break-word;} .cesium-baseLayerPicker-item:hover .cesium-baseLayerPicker-itemLabel, .cesium-baseLayerPicker-item:focus .cesium-baseLayerPicker-itemLabel {text-decoration: underline;} .cesium-baseLayerPicker-itemIcon {display: inline-block; position: relative; width: inherit; height: auto; background-size: 100% 100%; border: solid 1px #444; border-radius: 9px; color: #edffff; margin: 0; padding: 0; cursor: pointer; -moz-box-sizing: border-box; box-sizing: border-box;} .cesium-baseLayerPicker-item:hover .cesium-baseLayerPicker-itemIcon {border-color: #fff; box-shadow: 0 0 8px #fff, 0 0 8px #fff;} .cesium-baseLayerPicker-selectedItem .cesium-baseLayerPicker-itemLabel {color: rgb(189, 236, 248);} .cesium-baseLayerPicker-selectedItem .cesium-baseLayerPicker-itemIcon {border: double 4px rgb(189, 236, 248);} \ No newline at end of file diff --git a/Cesium/Widgets/BaseLayerPicker/lighter.css b/Cesium/Widgets/BaseLayerPicker/lighter.css new file mode 100644 index 0000000..2f61756 --- /dev/null +++ b/Cesium/Widgets/BaseLayerPicker/lighter.css @@ -0,0 +1 @@ +.cesium-lighter .cesium-baseLayerPicker-itemIcon {border-color: #759dc0;} .cesium-lighter .cesium-baseLayerPicker-dropDown {background-color: rgba(240, 240, 240, 0.75);} .cesium-lighter .cesium-baseLayerPicker-itemLabel {color: black;} .cesium-lighter .cesium-baseLayerPicker-item:hover .cesium-baseLayerPicker-itemIcon {border-color: #000;} .cesium-lighter .cesium-baseLayerPicker-selectedItem .cesium-baseLayerPicker-itemLabel {color: rgb(0, 61, 168);} .cesium-lighter .cesium-baseLayerPicker-selectedItem .cesium-baseLayerPicker-itemIcon {border: double 4px rgb(0, 61, 168);} \ No newline at end of file diff --git a/Cesium/Widgets/CesiumInspector/CesiumInspector.css b/Cesium/Widgets/CesiumInspector/CesiumInspector.css new file mode 100644 index 0000000..b564348 --- /dev/null +++ b/Cesium/Widgets/CesiumInspector/CesiumInspector.css @@ -0,0 +1 @@ +.cesium-cesiumInspector {border-radius: 5px; -webkit-transition: width ease-in-out 0.25s; -moz-transition: width ease-in-out 0.25s; transition: width ease-in-out 0.25s; background: rgba(48, 51, 54, 0.8); border: 1px solid #444; color: #edffff; display: inline-block; position: relative; padding: 4px 12px; -moz-user-select: none; -webkit-user-select: none; user-select: none; overflow: hidden;} .cesium-cesiumInspector-button {text-align: center; font-size: 11pt;} .cesium-cesiumInspector-visible .cesium-cesiumInspector-button {border-bottom: 1px solid #aaa; padding-bottom: 3px;} .cesium-cesiumInspector input:enabled, .cesium-cesiumInspector-button{cursor: pointer;} .cesium-cesiumInspector-visible {width: 185px; height: auto;} .cesium-cesiumInspector-hidden {width: 122px; height: 17px;} .cesium-cesiumInspector-show {max-height: 500px;} .cesium-cesiumInspector-hide {max-height: 0; padding: 0 !important; overflow: hidden;} .cesium-cesiumInspector-dropDown {margin: 5px 0; font-family: sans-serif; font-size: 10pt; width: 185px;} .cesium-cesiumInspector-frustumStats {padding-left: 10px; padding: 5px; background-color: rgba(80, 80, 80, 0.75);} .cesium-cesiumInspector-pickButton {background-color: rgba(0, 0, 0, 0.3); border: 1px solid #444; color: #edffff; border-radius: 5px; padding: 3px 7px; cursor: pointer; -moz-user-select: none; -webkit-user-select: none; user-select: none; margin: 0 auto;} .cesium-cesiumInspector-pickButton:focus {outline: none;} .cesium-cesiumInspector-pickButton:active, .cesium-cesiumInspector-pickButtonHighlight {color: #000; background: #adf; border-color: #fff; box-shadow: 0 0 8px #fff;} .cesium-cesiumInspector-center {text-align: center;} .cesium-cesiumInspector-sectionHeader {font-weight: bold;} .cesium-cesiumInspector-pickSection {border: 1px solid #aaa; border-radius: 5px; padding: 3px; margin-bottom: 5px;} .cesium-cesiumInspector-section {margin-bottom: 10px; -webkit-transition: max-height 0.25s; -moz-transition: max-height 0.25s; transition: max-height 0.25s;} .cesium-cesiumInspector-toggleSwitch {padding: 3px; cursor: pointer;} .cesium-cesiumInspector-performanceDisplay {position: absolute; right: 10px; top: 50px;} .cesium-cesiumInspector-tileText {padding-bottom: 10px; border-bottom: 1px solid #aaa;} .cesium-cesiumInspector-relativeText {padding-top: 10px;} \ No newline at end of file diff --git a/Cesium/Widgets/CesiumWidget/CesiumWidget.css b/Cesium/Widgets/CesiumWidget/CesiumWidget.css new file mode 100644 index 0000000..1c80e7b --- /dev/null +++ b/Cesium/Widgets/CesiumWidget/CesiumWidget.css @@ -0,0 +1 @@ +.cesium-widget {position: relative;} .cesium-widget,.cesium-widget canvas {width: 100%; height: 100%;} .cesium-widget-credits {display: block; position: absolute; bottom: 0; left: 0; color: #ffffff; font-size: 10px; text-shadow: 0px 0px 2px #000000; padding-right: 5px;} .cesium-credit-text {white-space: nowrap;} .cesium-widget-errorPanel {position: absolute; top: 0; right: 0; bottom: 0; left: 0; text-align: center; background: rgba(0, 0, 0, 0.7); z-index: 99999;} .cesium-widget-errorPanel:before {display: inline-block; vertical-align: middle; height: 100%; content: "";} .cesium-widget-errorPanel-content {width: 75%; display: inline-block; text-align: left; vertical-align: middle; border: 1px solid #526F82; border-radius: 7px; background-color: black; color: white; font-size: 10pt; padding: 1em;} .cesium-widget-errorPanel-header {font-size: 120%; color: #fe4;} .cesium-widget-errorPanel-scroll {overflow: auto; font-family: monospace; white-space: pre-wrap; padding: 0; margin: 10px 0;} .cesium-widget-errorPanel-buttonPanel {text-align: center;} \ No newline at end of file diff --git a/Cesium/Widgets/CesiumWidget/lighter.css b/Cesium/Widgets/CesiumWidget/lighter.css new file mode 100644 index 0000000..5b06a90 --- /dev/null +++ b/Cesium/Widgets/CesiumWidget/lighter.css @@ -0,0 +1 @@ +.cesium-lighter .cesium-widget-errorPanel {background: rgba(255, 255, 255, 0.7);} .cesium-lighter .cesium-widget-errorPanel-content {border: 1px solid #526F82; border-radius: 7px; background-color: white; color: black;} .cesium-lighter .cesium-widget-errorPanel-header {color: #B87D00;} \ No newline at end of file diff --git a/Cesium/Widgets/FullscreenButton/FullscreenButton.css b/Cesium/Widgets/FullscreenButton/FullscreenButton.css new file mode 100644 index 0000000..8ac41b3 --- /dev/null +++ b/Cesium/Widgets/FullscreenButton/FullscreenButton.css @@ -0,0 +1 @@ +.cesium-button.cesium-fullscreenButton {display: block; width: 100%; height: 100%; margin: 0; border-radius: 0;} \ No newline at end of file diff --git a/Cesium/Widgets/Geocoder/Geocoder.css b/Cesium/Widgets/Geocoder/Geocoder.css new file mode 100644 index 0000000..266db19 --- /dev/null +++ b/Cesium/Widgets/Geocoder/Geocoder.css @@ -0,0 +1 @@ +.cesium-viewer-geocoderContainer .cesium-geocoder-input {border: solid 1px #444; background-color: rgba(40, 40, 40, 0.7); color: white; display: inline-block; vertical-align: middle; width: 0; height: 32px; margin: 0; padding: 0 32px 0 0; border-radius: 0; -moz-box-sizing: border-box; box-sizing: border-box; -webkit-transition: width ease-in-out 0.25s, background-color 0.2s ease-in-out; -moz-transition: width ease-in-out 0.25s, background-color 0.2s ease-in-out; transition: width ease-in-out 0.25s, background-color 0.2s ease-in-out;} .cesium-viewer-geocoderContainer:hover .cesium-geocoder-input {border-color: #aef; box-shadow: 0 0 8px #fff;} .cesium-viewer-geocoderContainer .cesium-geocoder-input:focus {border-color: #ea4; background-color: rgba(15, 15, 15, 0.9); box-shadow: none; outline: none;} .cesium-viewer-geocoderContainer:hover .cesium-geocoder-input, .cesium-viewer-geocoderContainer .cesium-geocoder-input:focus, .cesium-viewer-geocoderContainer .cesium-geocoder-input-wide {padding-left: 4px; width: 250px;} .cesium-geocoder-searchButton {background-color: #303336; display: inline-block; position: absolute; cursor: pointer; width: 32px; top: 1px; right: 1px; height: 30px; vertical-align: middle; fill: #edffff;} .cesium-geocoder-searchButton:hover {background-color: #48b;} \ No newline at end of file diff --git a/Cesium/Widgets/Geocoder/lighter.css b/Cesium/Widgets/Geocoder/lighter.css new file mode 100644 index 0000000..a906d8f --- /dev/null +++ b/Cesium/Widgets/Geocoder/lighter.css @@ -0,0 +1 @@ +.cesium-lighter .cesium-geocoder-input {border: solid 1px #759dc0; background-color: rgba(240, 240, 240, 0.9); color: black;} .cesium-lighter .cesium-viewer-geocoderContainer:hover .cesium-geocoder-input {border-color: #aef; box-shadow: 0 0 8px #fff;} .cesium-lighter .cesium-geocoder-searchButton {background-color: #e2f0ff; fill: #111;} .cesium-lighter .cesium-geocoder-searchButton:hover {background-color: #a6d2ff;} \ No newline at end of file diff --git a/Cesium/Widgets/Images/Cesium_Logo_overlay.png b/Cesium/Widgets/Images/Cesium_Logo_overlay.png new file mode 100644 index 0000000..fb15616 Binary files /dev/null and b/Cesium/Widgets/Images/Cesium_Logo_overlay.png differ diff --git a/Cesium/Widgets/Images/ImageryProviders/bingAerial.png b/Cesium/Widgets/Images/ImageryProviders/bingAerial.png new file mode 100644 index 0000000..a78a154 Binary files /dev/null and b/Cesium/Widgets/Images/ImageryProviders/bingAerial.png differ diff --git a/Cesium/Widgets/Images/ImageryProviders/bingAerialLabels.png b/Cesium/Widgets/Images/ImageryProviders/bingAerialLabels.png new file mode 100644 index 0000000..4cafd40 Binary files /dev/null and b/Cesium/Widgets/Images/ImageryProviders/bingAerialLabels.png differ diff --git a/Cesium/Widgets/Images/ImageryProviders/bingRoads.png b/Cesium/Widgets/Images/ImageryProviders/bingRoads.png new file mode 100644 index 0000000..282d6ad Binary files /dev/null and b/Cesium/Widgets/Images/ImageryProviders/bingRoads.png differ diff --git a/Cesium/Widgets/Images/ImageryProviders/blackMarble.png b/Cesium/Widgets/Images/ImageryProviders/blackMarble.png new file mode 100644 index 0000000..45e0fc7 Binary files /dev/null and b/Cesium/Widgets/Images/ImageryProviders/blackMarble.png differ diff --git a/Cesium/Widgets/Images/ImageryProviders/esriNationalGeographic.png b/Cesium/Widgets/Images/ImageryProviders/esriNationalGeographic.png new file mode 100644 index 0000000..bcfdd0b Binary files /dev/null and b/Cesium/Widgets/Images/ImageryProviders/esriNationalGeographic.png differ diff --git a/Cesium/Widgets/Images/ImageryProviders/esriWorldImagery.png b/Cesium/Widgets/Images/ImageryProviders/esriWorldImagery.png new file mode 100644 index 0000000..a9429da Binary files /dev/null and b/Cesium/Widgets/Images/ImageryProviders/esriWorldImagery.png differ diff --git a/Cesium/Widgets/Images/ImageryProviders/esriWorldStreetMap.png b/Cesium/Widgets/Images/ImageryProviders/esriWorldStreetMap.png new file mode 100644 index 0000000..dfbc1f4 Binary files /dev/null and b/Cesium/Widgets/Images/ImageryProviders/esriWorldStreetMap.png differ diff --git a/Cesium/Widgets/Images/ImageryProviders/mapQuestOpenStreetMap.png b/Cesium/Widgets/Images/ImageryProviders/mapQuestOpenStreetMap.png new file mode 100644 index 0000000..f2eba41 Binary files /dev/null and b/Cesium/Widgets/Images/ImageryProviders/mapQuestOpenStreetMap.png differ diff --git a/Cesium/Widgets/Images/ImageryProviders/naturalEarthII.png b/Cesium/Widgets/Images/ImageryProviders/naturalEarthII.png new file mode 100644 index 0000000..50271c7 Binary files /dev/null and b/Cesium/Widgets/Images/ImageryProviders/naturalEarthII.png differ diff --git a/Cesium/Widgets/Images/ImageryProviders/openStreetMap.png b/Cesium/Widgets/Images/ImageryProviders/openStreetMap.png new file mode 100644 index 0000000..84acdb8 Binary files /dev/null and b/Cesium/Widgets/Images/ImageryProviders/openStreetMap.png differ diff --git a/Cesium/Widgets/Images/ImageryProviders/stamenToner.png b/Cesium/Widgets/Images/ImageryProviders/stamenToner.png new file mode 100644 index 0000000..af89409 Binary files /dev/null and b/Cesium/Widgets/Images/ImageryProviders/stamenToner.png differ diff --git a/Cesium/Widgets/Images/ImageryProviders/stamenWatercolor.png b/Cesium/Widgets/Images/ImageryProviders/stamenWatercolor.png new file mode 100644 index 0000000..552130e Binary files /dev/null and b/Cesium/Widgets/Images/ImageryProviders/stamenWatercolor.png differ diff --git a/Cesium/Widgets/Images/TimelineIcons.png b/Cesium/Widgets/Images/TimelineIcons.png new file mode 100644 index 0000000..e3a0455 Binary files /dev/null and b/Cesium/Widgets/Images/TimelineIcons.png differ diff --git a/Cesium/Widgets/InfoBox/InfoBox.css b/Cesium/Widgets/InfoBox/InfoBox.css new file mode 100644 index 0000000..18c82ea --- /dev/null +++ b/Cesium/Widgets/InfoBox/InfoBox.css @@ -0,0 +1 @@ +.cesium-infoBox {display: block; position: absolute; top: 50px; right: 0; width: 40%; max-width: 360px; background: rgba(38, 38, 38, 0.95); color: #edffff; border: 1px solid #444; border-right: none; border-top-left-radius: 7px; border-bottom-left-radius: 7px; box-shadow: 0 0 10px 1px #000; -webkit-transform: translate(100%, 0); -moz-transform: translate(100%, 0); transform: translate(100%, 0); visibility: hidden; opacity: 0; -webkit-transition: visibility 0s 0.2s, opacity 0.2s ease-in, -webkit-transform 0.2s ease-in; -moz-transition: visibility 0s 0.2s, opacity 0.2s ease-in, -moz-transform 0.2s ease-in; transition: visibility 0s 0.2s, opacity 0.2s ease-in, transform 0.2s ease-in;} .cesium-infoBox-visible {-webkit-transform: translate(0, 0); -moz-transform: translate(0, 0); transform: translate(0, 0); visibility: visible; opacity: 1; -webkit-transition: opacity 0.2s ease-out, -webkit-transform 0.2s ease-out; -moz-transition: opacity 0.2s ease-out, -moz-transform 0.2s ease-out; transition: opacity 0.2s ease-out, transform 0.2s ease-out;} .cesium-infoBox-title {display: block; height: 20px; padding: 5px 30px 5px 25px; background: rgba(84, 84, 84, 0.8); border-top-left-radius: 7px; text-align: center; text-overflow: ellipsis; white-space: nowrap; overflow: hidden;} .cesium-infoBox-bodyless .cesium-infoBox-title {border-bottom-left-radius: 7px;} button.cesium-infoBox-camera {display: block; position: absolute; top: 4px; left: 4px; width: 22px; height: 22px; background: transparent; border-color: transparent; border-radius: 3px; padding: 0 5px; margin: 0;} button.cesium-infoBox-close {display: block; position: absolute; top: 5px; right: 5px; height: 20px; background: transparent; border: none; border-radius: 2px; font-weight: bold; font-size:16px; padding: 0 5px; margin: 0; color: #edffff;} button.cesium-infoBox-close:focus {background: rgba(238, 136, 0, 0.44); outline: none;} button.cesium-infoBox-close:hover {background: #888; color: #000;} button.cesium-infoBox-close:active {background: #a00; color: #000;} .cesium-infoBox-body {padding: 4px 10px; margin-right: 4px; overflow: auto;} .cesium-infoBox-bodyless .cesium-infoBox-body {display: none;} .cesium-infoBox-description {font-size: 13px;} \ No newline at end of file diff --git a/Cesium/Widgets/SceneModePicker/SceneModePicker.css b/Cesium/Widgets/SceneModePicker/SceneModePicker.css new file mode 100644 index 0000000..79fe954 --- /dev/null +++ b/Cesium/Widgets/SceneModePicker/SceneModePicker.css @@ -0,0 +1 @@ +span.cesium-sceneModePicker-wrapper {display: inline-block; position: relative; margin: 0 3px;} .cesium-sceneModePicker-visible {visibility: visible; opacity: 1; transition: opacity 0.25s linear; -webkit-transition: opacity 0.25s linear; -moz-transition: opacity 0.25s linear;} .cesium-sceneModePicker-hidden {visibility: hidden; opacity: 0; transition: visibility 0s 0.25s, opacity 0.25s linear; -webkit-transition: visibility 0s 0.25s, opacity 0.25s linear; -moz-transition: visibility 0s 0.25s, opacity 0.25s linear;} .cesium-sceneModePicker-wrapper .cesium-sceneModePicker-none {display: none;} .cesium-sceneModePicker-slide-svg {-webkit-transition: left 2s; -moz-transition: left 2s; transition: left 2s; top: 0; left: 0;} .cesium-sceneModePicker-wrapper .cesium-sceneModePicker-dropDown-icon {-moz-box-sizing: border-box; box-sizing: border-box; padding: 0; margin: 3px 0;} .cesium-sceneModePicker-wrapper .cesium-sceneModePicker-button3D, .cesium-sceneModePicker-wrapper .cesium-sceneModePicker-buttonColumbusView, .cesium-sceneModePicker-wrapper .cesium-sceneModePicker-button2D {margin: 0 0 3px 0;} .cesium-sceneModePicker-wrapper .cesium-sceneModePicker-button3D .cesium-sceneModePicker-icon2D {left: 100%;} .cesium-sceneModePicker-wrapper .cesium-sceneModePicker-button3D .cesium-sceneModePicker-iconColumbusView {left: 200%;} .cesium-sceneModePicker-wrapper .cesium-sceneModePicker-buttonColumbusView .cesium-sceneModePicker-icon3D {left: -200%;} .cesium-sceneModePicker-wrapper .cesium-sceneModePicker-buttonColumbusView .cesium-sceneModePicker-icon2D {left: -100%;} .cesium-sceneModePicker-wrapper .cesium-sceneModePicker-button2D .cesium-sceneModePicker-icon3D {left: -100%;} .cesium-sceneModePicker-wrapper .cesium-sceneModePicker-button2D .cesium-sceneModePicker-iconColumbusView {left: 100%;} .cesium-sceneModePicker-wrapper .cesium-sceneModePicker-selected {border-color: #2e2; box-shadow: 0 0 8px #fff, 0 0 8px #fff;} \ No newline at end of file diff --git a/Cesium/Widgets/SelectionIndicator/SelectionIndicator.css b/Cesium/Widgets/SelectionIndicator/SelectionIndicator.css new file mode 100644 index 0000000..ed160c9 --- /dev/null +++ b/Cesium/Widgets/SelectionIndicator/SelectionIndicator.css @@ -0,0 +1 @@ +.cesium-selection-wrapper {position: absolute; width: 160px; height: 160px; pointer-events: none; visibility: hidden; opacity: 0; -webkit-transition: visibility 0s 0.2s, opacity 0.2s ease-in; -moz-transition: visibility 0s 0.2s, opacity 0.2s ease-in; transition: visibility 0s 0.2s, opacity 0.2s ease-in;} .cesium-selection-wrapper-visible {visibility: visible; opacity: 1; -webkit-transition: opacity 0.2s ease-out; -moz-transition: opacity 0.2s ease-out; transition: opacity 0.2s ease-out;} .cesium-selection-wrapper svg {fill: #2e2; stroke: #000; stroke-width: 1.1px;} \ No newline at end of file diff --git a/Cesium/Widgets/Timeline/Timeline.css b/Cesium/Widgets/Timeline/Timeline.css new file mode 100644 index 0000000..d8f6f00 --- /dev/null +++ b/Cesium/Widgets/Timeline/Timeline.css @@ -0,0 +1 @@ +.cesium-timeline-main {position: relative; left: 0; bottom: 0; overflow: hidden; border: solid 1px #888;} .cesium-timeline-trackContainer {width: 100%; overflow: auto; border-top: solid 1px #888; position: relative; top: 0; left: 0;} .cesium-timeline-tracks {position: absolute; top: 0; left: 0; width: 100%;} .cesium-timeline-needle {position: absolute; left: 0; top: 1.7em; bottom: 0; width: 1px; background: #F00;} .cesium-timeline-bar {position: relative; left: 0; top: 0; overflow: hidden; cursor: pointer; width: 100%; height: 1.7em; background-color: #fafafa; background: rgba(32, 32, 32, 0.8); background: -moz-linear-gradient(top, rgba(116,117,119,0.8) 0%, rgba(58,68,82,0.8) 11%, rgba(46,50,56,0.8) 46%, rgba(53,53,53,0.8) 81%, rgba(53,53,53,0.8) 100%); background: -webkit-linear-gradient(top, rgba(116,117,119,0.8) 0%,rgba(58,68,82,0.8) 11%,rgba(46,50,56,0.8) 46%,rgba(53,53,53,0.8) 81%,rgba(53,53,53,0.8) 100%); background: -o-linear-gradient(top, rgba(116,117,119,0.8) 0%,rgba(58,68,82,0.8) 11%,rgba(46,50,56,0.8) 46%,rgba(53,53,53,0.8) 81%,rgba(53,53,53,0.8) 100%); background: -ms-linear-gradient(top, rgba(116,117,119,0.8) 0%,rgba(58,68,82,0.8) 11%,rgba(46,50,56,0.8) 46%,rgba(53,53,53,0.8) 81%,rgba(53,53,53,0.8) 100%); background: linear-gradient(to bottom, rgba(116,117,119,0.8) 0%,rgba(58,68,82,0.8) 11%,rgba(46,50,56,0.8) 46%,rgba(53,53,53,0.8) 81%,rgba(53,53,53,0.8) 100%);} .cesium-timeline-ruler {visibility: hidden; white-space: nowrap; font-size: 80%; z-index: -200;} .cesium-timeline-highlight {position: absolute; bottom: 0; left: 0; background: #08F;} .cesium-timeline-ticLabel {position: absolute; top: 0; left: 0; white-space: nowrap; font-size: 80%; color: #eee;} .cesium-timeline-ticMain {position: absolute; bottom: 0; left: 0; width: 1px; height: 50%; background: #eee;} .cesium-timeline-ticSub {position: absolute; bottom: 0; left: 0; width: 1px; height: 33%; background: #aaa;} .cesium-timeline-ticTiny {position: absolute; bottom: 0; left: 0; width: 1px; height: 25%; background: #888;} .cesium-timeline-icon16 {display: block; position: absolute; width: 16px; height: 16px; background-image: url("../Images/TimelineIcons.png"); background-repeat: no-repeat;} \ No newline at end of file diff --git a/Cesium/Widgets/Timeline/lighter.css b/Cesium/Widgets/Timeline/lighter.css new file mode 100644 index 0000000..a63981c --- /dev/null +++ b/Cesium/Widgets/Timeline/lighter.css @@ -0,0 +1 @@ +.cesium-lighter .cesium-timeline-bar {background: -moz-linear-gradient(top, #eeeeee 0%, #ffffff 50%, #fafafa 100%); background: -webkit-linear-gradient(top, #eeeeee 0%,#ffffff 50%,#fafafa 100%); background: -o-linear-gradient(top, #eeeeee 0%,#ffffff 50%,#fafafa 100%); background: -ms-linear-gradient(top, #eeeeee 0%,#ffffff 50%,#fafafa 100%); background: linear-gradient(to bottom, #eeeeee 0%,#ffffff 50%,#fafafa 100%);} .cesium-lighter .cesium-timeline-ticLabel {color: #000;} .cesium-lighter .cesium-timeline-ticMain {position: absolute; bottom: 0; left: 0; width: 1px; height: 50%; background: #000;} .cesium-lighter .cesium-timeline-ticSub {background: #444;} \ No newline at end of file diff --git a/Cesium/Widgets/Viewer/Viewer.css b/Cesium/Widgets/Viewer/Viewer.css new file mode 100644 index 0000000..3f85e84 --- /dev/null +++ b/Cesium/Widgets/Viewer/Viewer.css @@ -0,0 +1 @@ +.cesium-viewer {font-family: sans-serif; font-size: 16px; overflow: hidden; display: block; position: relative; top: 0; left: 0; width: 100%; height: 100%;} .cesium-viewer-cesiumWidgetContainer {width: 100%; height: 100%;} .cesium-viewer-timelineContainer {position: absolute; bottom: 0; left: 169px; right: 29px; height: 27px; padding: 0; margin: 0; overflow: hidden; font-size: 14px;} .cesium-viewer-animationContainer {position: absolute; bottom: 0; left: 0; padding: 0; width: 169px; height: 112px;} .cesium-viewer-fullscreenContainer {position: absolute; bottom: 0; right: 0; padding: 0; width: 29px; height: 29px; overflow: hidden;} .cesium-viewer-toolbar {display: block; position: absolute; top: 5px; right: 5px;} .cesium-viewer-cesiumInspectorContainer {display: block; position: absolute; top: 5px; left: 5px;} .cesium-viewer-geocoderContainer {position: relative; display: inline-block; margin: 0 3px;} \ No newline at end of file diff --git a/Cesium/Widgets/checkForChromeFrame.css b/Cesium/Widgets/checkForChromeFrame.css new file mode 100644 index 0000000..154382c --- /dev/null +++ b/Cesium/Widgets/checkForChromeFrame.css @@ -0,0 +1 @@ +.cesium-chromeFrameOverlay {position: absolute; top: 50%; left: 50%; margin-left: -200px; margin-top: -150px; width: 400px; height: 300px; border: 1px solid #526F82; color: white;} .cesium-chromeFrameOverlay div {padding: 2em;} \ No newline at end of file diff --git a/Cesium/Widgets/lighter.css b/Cesium/Widgets/lighter.css new file mode 100644 index 0000000..7792a1e --- /dev/null +++ b/Cesium/Widgets/lighter.css @@ -0,0 +1 @@ +.cesium-lighter .cesium-button {color: #111; fill: #111; background: #e2f0ff; border: 1px solid #759dc0;} .cesium-lighter .cesium-button:focus {color: #000; fill: #000; border-color: #ea4;} .cesium-lighter .cesium-button:hover {color: #000; fill: #000; background: #a6d2ff; border-color: #aef; box-shadow: 0 0 8px #777;} .cesium-lighter .cesium-button:active {color: #fff; fill: #fff; background: #48b; border-color: #ea0;} .cesium-lighter .cesium-button:disabled, .cesium-lighter .cesium-button-disabled, .cesium-lighter .cesium-button-disabled:focus, .cesium-lighter .cesium-button-disabled:hover, .cesium-lighter .cesium-button-disabled:active {background: #ccc; border-color: #999; color: #999; fill: #999; box-shadow: none;} .cesium-lighter .cesium-animation-themeNormal {color: #E5F2FE;} .cesium-lighter .cesium-animation-themeHover {color: #ABD6FF;} .cesium-lighter .cesium-animation-themeSelect {color: #E5F2FE;} .cesium-lighter .cesium-animation-themeDisabled {color: #EFEFEF;} .cesium-lighter .cesium-animation-themeKnob {color: #E1E2E3;} .cesium-lighter .cesium-animation-themePointer {color: #FA5;} .cesium-lighter .cesium-animation-themeSwoosh {color: #ACE;} .cesium-lighter .cesium-animation-themeSwooshHover {color: #BDF;} .cesium-lighter .cesium-animation-svgText {fill: #111;} .cesium-lighter .cesium-animation-rectButton .cesium-animation-buttonPath {fill: #111;} .cesium-lighter .cesium-animation-rectButton .cesium-animation-buttonMain {stroke: #759DC0;} .cesium-lighter .cesium-animation-buttonToggled .cesium-animation-buttonGlow {fill: #FFAA2A;} .cesium-lighter .cesium-animation-buttonToggled .cesium-animation-buttonMain {stroke: #EA0;} .cesium-lighter .cesium-animation-rectButton:hover .cesium-animation-buttonMain {stroke: #759DC0;} .cesium-lighter .cesium-animation-buttonToggled:hover .cesium-animation-buttonGlow {fill: #fff;} .cesium-lighter .cesium-animation-buttonToggled:hover .cesium-animation-buttonMain {stroke: #EA0;} .cesium-lighter .cesium-animation-rectButton:active .cesium-animation-buttonMain {fill: #ABD6FF;} .cesium-lighter .cesium-animation-buttonDisabled .cesium-animation-buttonMain {stroke: #D3D3D3;} .cesium-lighter .cesium-animation-buttonDisabled .cesium-animation-buttonPath {fill: #818181;} .cesium-lighter .cesium-animation-shuttleRingBack {fill: #FAFAFA; fill-opacity: 1; stroke: #AEAEAE; stroke-width: 1.2;} .cesium-lighter .cesium-animation-shuttleRingSwoosh line {stroke: #8AC;} .cesium-lighter .cesium-animation-knobOuter {stroke: #A5A5A5;} .cesium-lighter .cesium-baseLayerPicker-itemIcon {border-color: #759dc0;} .cesium-lighter .cesium-baseLayerPicker-dropDown {background-color: rgba(240, 240, 240, 0.75);} .cesium-lighter .cesium-baseLayerPicker-itemLabel {color: black;} .cesium-lighter .cesium-baseLayerPicker-item:hover .cesium-baseLayerPicker-itemIcon {border-color: #000;} .cesium-lighter .cesium-baseLayerPicker-selectedItem .cesium-baseLayerPicker-itemLabel {color: rgb(0, 61, 168);} .cesium-lighter .cesium-baseLayerPicker-selectedItem .cesium-baseLayerPicker-itemIcon {border: double 4px rgb(0, 61, 168);} .cesium-lighter .cesium-widget-errorPanel {background: rgba(255, 255, 255, 0.7);} .cesium-lighter .cesium-widget-errorPanel-content {border: 1px solid #526F82; border-radius: 7px; background-color: white; color: black;} .cesium-lighter .cesium-widget-errorPanel-header {color: #B87D00;} .cesium-lighter .cesium-geocoder-input {border: solid 1px #759dc0; background-color: rgba(240, 240, 240, 0.9); color: black;} .cesium-lighter .cesium-viewer-geocoderContainer:hover .cesium-geocoder-input {border-color: #aef; box-shadow: 0 0 8px #fff;} .cesium-lighter .cesium-geocoder-searchButton {background-color: #e2f0ff; fill: #111;} .cesium-lighter .cesium-geocoder-searchButton:hover {background-color: #a6d2ff;} .cesium-lighter .cesium-timeline-bar {background: -moz-linear-gradient(top, #eeeeee 0%, #ffffff 50%, #fafafa 100%); background: -webkit-linear-gradient(top, #eeeeee 0%,#ffffff 50%,#fafafa 100%); background: -o-linear-gradient(top, #eeeeee 0%,#ffffff 50%,#fafafa 100%); background: -ms-linear-gradient(top, #eeeeee 0%,#ffffff 50%,#fafafa 100%); background: linear-gradient(to bottom, #eeeeee 0%,#ffffff 50%,#fafafa 100%);} .cesium-lighter .cesium-timeline-ticLabel {color: #000;} .cesium-lighter .cesium-timeline-ticMain {position: absolute; bottom: 0; left: 0; width: 1px; height: 50%; background: #000;} .cesium-lighter .cesium-timeline-ticSub {background: #444;} \ No newline at end of file diff --git a/Cesium/Widgets/lighterShared.css b/Cesium/Widgets/lighterShared.css new file mode 100644 index 0000000..5a9b86a --- /dev/null +++ b/Cesium/Widgets/lighterShared.css @@ -0,0 +1 @@ +.cesium-lighter .cesium-button {color: #111; fill: #111; background: #e2f0ff; border: 1px solid #759dc0;} .cesium-lighter .cesium-button:focus {color: #000; fill: #000; border-color: #ea4;} .cesium-lighter .cesium-button:hover {color: #000; fill: #000; background: #a6d2ff; border-color: #aef; box-shadow: 0 0 8px #777;} .cesium-lighter .cesium-button:active {color: #fff; fill: #fff; background: #48b; border-color: #ea0;} .cesium-lighter .cesium-button:disabled, .cesium-lighter .cesium-button-disabled, .cesium-lighter .cesium-button-disabled:focus, .cesium-lighter .cesium-button-disabled:hover, .cesium-lighter .cesium-button-disabled:active {background: #ccc; border-color: #999; color: #999; fill: #999; box-shadow: none;} \ No newline at end of file diff --git a/Cesium/Widgets/shared.css b/Cesium/Widgets/shared.css new file mode 100644 index 0000000..a4f6735 --- /dev/null +++ b/Cesium/Widgets/shared.css @@ -0,0 +1 @@ +.cesium-svgPath-svg {position: absolute; top: 0; left: 0; width: 100%; height: 100%; overflow: hidden;} .cesium-button {display: inline-block; position: relative; background: #303336; border: 1px solid #444; color: #edffff; fill: #edffff; border-radius: 14%; padding: 4px 12px; margin: 0 3px; cursor: pointer; overflow: hidden; -moz-user-select: none; -webkit-user-select: none; user-select: none;} .cesium-button:focus {color: #fff; fill: #fff; border-color: #ea4; outline: none;} .cesium-button:hover {color: #fff; fill: #fff; background: #48b; border-color: #aef; box-shadow: 0 0 8px #fff;} .cesium-button:active {color: #000; fill: #000; background: #adf; border-color: #fff; box-shadow: 0 0 8px #fff;} .cesium-button:disabled, .cesium-button-disabled, .cesium-button-disabled:focus, .cesium-button-disabled:hover, .cesium-button-disabled:active {background: #303336; border-color: #444; color: #646464; fill: #646464; box-shadow: none; cursor: default;} .cesium-toolbar-button {-moz-box-sizing: border-box; box-sizing: border-box; width: 32px; height: 32px; padding: 0; vertical-align: middle; z-index: 0;} \ No newline at end of file diff --git a/Cesium/Widgets/widgets.css b/Cesium/Widgets/widgets.css new file mode 100644 index 0000000..46e9008 --- /dev/null +++ b/Cesium/Widgets/widgets.css @@ -0,0 +1 @@ +.cesium-svgPath-svg {position: absolute; top: 0; left: 0; width: 100%; height: 100%; overflow: hidden;} .cesium-button {display: inline-block; position: relative; background: #303336; border: 1px solid #444; color: #edffff; fill: #edffff; border-radius: 14%; padding: 4px 12px; margin: 0 3px; cursor: pointer; overflow: hidden; -moz-user-select: none; -webkit-user-select: none; user-select: none;} .cesium-button:focus {color: #fff; fill: #fff; border-color: #ea4; outline: none;} .cesium-button:hover {color: #fff; fill: #fff; background: #48b; border-color: #aef; box-shadow: 0 0 8px #fff;} .cesium-button:active {color: #000; fill: #000; background: #adf; border-color: #fff; box-shadow: 0 0 8px #fff;} .cesium-button:disabled, .cesium-button-disabled, .cesium-button-disabled:focus, .cesium-button-disabled:hover, .cesium-button-disabled:active {background: #303336; border-color: #444; color: #646464; fill: #646464; box-shadow: none; cursor: default;} .cesium-toolbar-button {-moz-box-sizing: border-box; box-sizing: border-box; width: 32px; height: 32px; padding: 0; vertical-align: middle; z-index: 0;} .cesium-animation-theme {visibility: hidden; display: block; position: absolute; z-index: -100;} .cesium-animation-themeNormal {color: #222;} .cesium-animation-themeHover {color: #4488B0;} .cesium-animation-themeSelect {color: #242;} .cesium-animation-themeDisabled {color: #333;} .cesium-animation-themeKnob {color: #222;} .cesium-animation-themePointer {color: #2E2;} .cesium-animation-themeSwoosh {color: #8AC;} .cesium-animation-themeSwooshHover {color: #AEF;} .cesium-animation-svgText {fill: #edffff; font-family: Sans-Serif; font-size: 15px; text-anchor: middle;} .cesium-animation-blank {fill: #000; fill-opacity: 0.01; stroke: none;} .cesium-animation-rectButton {cursor: pointer; -moz-user-select: none; -webkit-user-select: none; user-select: none;} .cesium-animation-rectButton .cesium-animation-buttonGlow {fill: #fff; stroke: none; display: none;} .cesium-animation-rectButton:hover .cesium-animation-buttonGlow {display: block;} .cesium-animation-rectButton .cesium-animation-buttonPath {fill: #edffff;} .cesium-animation-rectButton .cesium-animation-buttonMain {stroke: #444; stroke-width: 1.2;} .cesium-animation-rectButton:hover .cesium-animation-buttonMain {stroke: #AEF;} .cesium-animation-rectButton:active .cesium-animation-buttonMain {fill: #ABD6FF;} .cesium-animation-buttonDisabled {-moz-user-select: none; -webkit-user-select: none; user-select: none;} .cesium-animation-buttonDisabled .cesium-animation-buttonMain {stroke: #555;} .cesium-animation-buttonDisabled .cesium-animation-buttonPath {fill: #818181;} .cesium-animation-buttonDisabled .cesium-animation-buttonGlow {display: none;} .cesium-animation-buttonToggled .cesium-animation-buttonGlow {display: block; fill: #2E2;} .cesium-animation-buttonToggled .cesium-animation-buttonMain {stroke: #2E2;} .cesium-animation-buttonToggled:hover .cesium-animation-buttonGlow {fill: #fff;} .cesium-animation-buttonToggled:hover .cesium-animation-buttonMain {stroke: #2E2;} .cesium-animation-shuttleRingG {cursor: pointer;} .cesium-animation-shuttleRingPointer {cursor: pointer;} .cesium-animation-shuttleRingPausePointer {cursor: pointer;} .cesium-animation-shuttleRingBack {fill: #181818; fill-opacity: 0.8; stroke: #333; stroke-width: 1.2;} .cesium-animation-shuttleRingSwoosh line {stroke: #8AC; stroke-width: 3; stroke-opacity: 0.2; stroke-linecap: round;} .cesium-animation-knobOuter {cursor: pointer; stroke: #444; stroke-width: 1.2;} .cesium-animation-knobInner {cursor: pointer;} .cesium-baseLayerPicker-selected {position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: none;} .cesium-baseLayerPicker-visible {visibility: visible; opacity: 1; transition: opacity 0.25s linear; -webkit-transition: opacity 0.25s linear; -moz-transition: opacity 0.25s linear;} .cesium-baseLayerPicker-hidden {visibility: hidden; opacity: 0; transition: visibility 0s 0.25s, opacity 0.25s linear; -webkit-transition: visibility 0s 0.25s, opacity 0.25s linear; -moz-transition: visibility 0s 0.25s, opacity 0.25s linear;} .cesium-baseLayerPicker-dropDown {display: block; position: absolute; top: auto; right: 0; width: 240px; max-height: 500px; margin-top: 5px; background-color: rgba(38, 38, 38, 0.75); padding: 6px; overflow: auto; border-radius: 10px; -moz-user-select: none; -webkit-user-select: none; user-select: none;} .cesium-baseLayerPicker-item {display: inline-block; vertical-align: top; margin: 2px 5px; width: 64px; text-align: center; cursor: pointer;} .cesium-baseLayerPicker-itemLabel {display: block; font-family: sans-serif; font-size: 8pt; text-align: center; vertical-align: middle; color: #edffff; cursor: pointer; word-wrap: break-word;} .cesium-baseLayerPicker-item:hover .cesium-baseLayerPicker-itemLabel, .cesium-baseLayerPicker-item:focus .cesium-baseLayerPicker-itemLabel {text-decoration: underline;} .cesium-baseLayerPicker-itemIcon {display: inline-block; position: relative; width: inherit; height: auto; background-size: 100% 100%; border: solid 1px #444; border-radius: 9px; color: #edffff; margin: 0; padding: 0; cursor: pointer; -moz-box-sizing: border-box; box-sizing: border-box;} .cesium-baseLayerPicker-item:hover .cesium-baseLayerPicker-itemIcon {border-color: #fff; box-shadow: 0 0 8px #fff, 0 0 8px #fff;} .cesium-baseLayerPicker-selectedItem .cesium-baseLayerPicker-itemLabel {color: rgb(189, 236, 248);} .cesium-baseLayerPicker-selectedItem .cesium-baseLayerPicker-itemIcon {border: double 4px rgb(189, 236, 248);} .cesium-widget {position: relative;} .cesium-widget,.cesium-widget canvas {width: 100%; height: 100%;} .cesium-widget-credits {display: block; position: absolute; bottom: 0; left: 0; color: #ffffff; font-size: 10px; text-shadow: 0px 0px 2px #000000; padding-right: 5px;} .cesium-credit-text {white-space: nowrap;} .cesium-widget-errorPanel {position: absolute; top: 0; right: 0; bottom: 0; left: 0; text-align: center; background: rgba(0, 0, 0, 0.7); z-index: 99999;} .cesium-widget-errorPanel:before {display: inline-block; vertical-align: middle; height: 100%; content: "";} .cesium-widget-errorPanel-content {width: 75%; display: inline-block; text-align: left; vertical-align: middle; border: 1px solid #526F82; border-radius: 7px; background-color: black; color: white; font-size: 10pt; padding: 1em;} .cesium-widget-errorPanel-header {font-size: 120%; color: #fe4;} .cesium-widget-errorPanel-scroll {overflow: auto; font-family: monospace; white-space: pre-wrap; padding: 0; margin: 10px 0;} .cesium-widget-errorPanel-buttonPanel {text-align: center;} .cesium-cesiumInspector {border-radius: 5px; -webkit-transition: width ease-in-out 0.25s; -moz-transition: width ease-in-out 0.25s; transition: width ease-in-out 0.25s; background: rgba(48, 51, 54, 0.8); border: 1px solid #444; color: #edffff; display: inline-block; position: relative; padding: 4px 12px; -moz-user-select: none; -webkit-user-select: none; user-select: none; overflow: hidden;} .cesium-cesiumInspector-button {text-align: center; font-size: 11pt;} .cesium-cesiumInspector-visible .cesium-cesiumInspector-button {border-bottom: 1px solid #aaa; padding-bottom: 3px;} .cesium-cesiumInspector input:enabled, .cesium-cesiumInspector-button{cursor: pointer;} .cesium-cesiumInspector-visible {width: 185px; height: auto;} .cesium-cesiumInspector-hidden {width: 122px; height: 17px;} .cesium-cesiumInspector-show {max-height: 500px;} .cesium-cesiumInspector-hide {max-height: 0; padding: 0 !important; overflow: hidden;} .cesium-cesiumInspector-dropDown {margin: 5px 0; font-family: sans-serif; font-size: 10pt; width: 185px;} .cesium-cesiumInspector-frustumStats {padding-left: 10px; padding: 5px; background-color: rgba(80, 80, 80, 0.75);} .cesium-cesiumInspector-pickButton {background-color: rgba(0, 0, 0, 0.3); border: 1px solid #444; color: #edffff; border-radius: 5px; padding: 3px 7px; cursor: pointer; -moz-user-select: none; -webkit-user-select: none; user-select: none; margin: 0 auto;} .cesium-cesiumInspector-pickButton:focus {outline: none;} .cesium-cesiumInspector-pickButton:active, .cesium-cesiumInspector-pickButtonHighlight {color: #000; background: #adf; border-color: #fff; box-shadow: 0 0 8px #fff;} .cesium-cesiumInspector-center {text-align: center;} .cesium-cesiumInspector-sectionHeader {font-weight: bold;} .cesium-cesiumInspector-pickSection {border: 1px solid #aaa; border-radius: 5px; padding: 3px; margin-bottom: 5px;} .cesium-cesiumInspector-section {margin-bottom: 10px; -webkit-transition: max-height 0.25s; -moz-transition: max-height 0.25s; transition: max-height 0.25s;} .cesium-cesiumInspector-toggleSwitch {padding: 3px; cursor: pointer;} .cesium-cesiumInspector-performanceDisplay {position: absolute; right: 10px; top: 50px;} .cesium-cesiumInspector-tileText {padding-bottom: 10px; border-bottom: 1px solid #aaa;} .cesium-cesiumInspector-relativeText {padding-top: 10px;} .cesium-chromeFrameOverlay {position: absolute; top: 50%; left: 50%; margin-left: -200px; margin-top: -150px; width: 400px; height: 300px; border: 1px solid #526F82; color: white;} .cesium-chromeFrameOverlay div {padding: 2em;} .cesium-button.cesium-fullscreenButton {display: block; width: 100%; height: 100%; margin: 0; border-radius: 0;} .cesium-viewer-geocoderContainer .cesium-geocoder-input {border: solid 1px #444; background-color: rgba(40, 40, 40, 0.7); color: white; display: inline-block; vertical-align: middle; width: 0; height: 32px; margin: 0; padding: 0 32px 0 0; border-radius: 0; -moz-box-sizing: border-box; box-sizing: border-box; -webkit-transition: width ease-in-out 0.25s, background-color 0.2s ease-in-out; -moz-transition: width ease-in-out 0.25s, background-color 0.2s ease-in-out; transition: width ease-in-out 0.25s, background-color 0.2s ease-in-out;} .cesium-viewer-geocoderContainer:hover .cesium-geocoder-input {border-color: #aef; box-shadow: 0 0 8px #fff;} .cesium-viewer-geocoderContainer .cesium-geocoder-input:focus {border-color: #ea4; background-color: rgba(15, 15, 15, 0.9); box-shadow: none; outline: none;} .cesium-viewer-geocoderContainer:hover .cesium-geocoder-input, .cesium-viewer-geocoderContainer .cesium-geocoder-input:focus, .cesium-viewer-geocoderContainer .cesium-geocoder-input-wide {padding-left: 4px; width: 250px;} .cesium-geocoder-searchButton {background-color: #303336; display: inline-block; position: absolute; cursor: pointer; width: 32px; top: 1px; right: 1px; height: 30px; vertical-align: middle; fill: #edffff;} .cesium-geocoder-searchButton:hover {background-color: #48b;} .cesium-infoBox {display: block; position: absolute; top: 50px; right: 0; width: 40%; max-width: 360px; background: rgba(38, 38, 38, 0.95); color: #edffff; border: 1px solid #444; border-right: none; border-top-left-radius: 7px; border-bottom-left-radius: 7px; box-shadow: 0 0 10px 1px #000; -webkit-transform: translate(100%, 0); -moz-transform: translate(100%, 0); transform: translate(100%, 0); visibility: hidden; opacity: 0; -webkit-transition: visibility 0s 0.2s, opacity 0.2s ease-in, -webkit-transform 0.2s ease-in; -moz-transition: visibility 0s 0.2s, opacity 0.2s ease-in, -moz-transform 0.2s ease-in; transition: visibility 0s 0.2s, opacity 0.2s ease-in, transform 0.2s ease-in;} .cesium-infoBox-visible {-webkit-transform: translate(0, 0); -moz-transform: translate(0, 0); transform: translate(0, 0); visibility: visible; opacity: 1; -webkit-transition: opacity 0.2s ease-out, -webkit-transform 0.2s ease-out; -moz-transition: opacity 0.2s ease-out, -moz-transform 0.2s ease-out; transition: opacity 0.2s ease-out, transform 0.2s ease-out;} .cesium-infoBox-title {display: block; height: 20px; padding: 5px 30px 5px 25px; background: rgba(84, 84, 84, 0.8); border-top-left-radius: 7px; text-align: center; text-overflow: ellipsis; white-space: nowrap; overflow: hidden;} .cesium-infoBox-bodyless .cesium-infoBox-title {border-bottom-left-radius: 7px;} button.cesium-infoBox-camera {display: block; position: absolute; top: 4px; left: 4px; width: 22px; height: 22px; background: transparent; border-color: transparent; border-radius: 3px; padding: 0 5px; margin: 0;} button.cesium-infoBox-close {display: block; position: absolute; top: 5px; right: 5px; height: 20px; background: transparent; border: none; border-radius: 2px; font-weight: bold; font-size:16px; padding: 0 5px; margin: 0; color: #edffff;} button.cesium-infoBox-close:focus {background: rgba(238, 136, 0, 0.44); outline: none;} button.cesium-infoBox-close:hover {background: #888; color: #000;} button.cesium-infoBox-close:active {background: #a00; color: #000;} .cesium-infoBox-body {padding: 4px 10px; margin-right: 4px; overflow: auto;} .cesium-infoBox-bodyless .cesium-infoBox-body {display: none;} .cesium-infoBox-description {font-size: 13px;} span.cesium-sceneModePicker-wrapper {display: inline-block; position: relative; margin: 0 3px;} .cesium-sceneModePicker-visible {visibility: visible; opacity: 1; transition: opacity 0.25s linear; -webkit-transition: opacity 0.25s linear; -moz-transition: opacity 0.25s linear;} .cesium-sceneModePicker-hidden {visibility: hidden; opacity: 0; transition: visibility 0s 0.25s, opacity 0.25s linear; -webkit-transition: visibility 0s 0.25s, opacity 0.25s linear; -moz-transition: visibility 0s 0.25s, opacity 0.25s linear;} .cesium-sceneModePicker-wrapper .cesium-sceneModePicker-none {display: none;} .cesium-sceneModePicker-slide-svg {-webkit-transition: left 2s; -moz-transition: left 2s; transition: left 2s; top: 0; left: 0;} .cesium-sceneModePicker-wrapper .cesium-sceneModePicker-dropDown-icon {-moz-box-sizing: border-box; box-sizing: border-box; padding: 0; margin: 3px 0;} .cesium-sceneModePicker-wrapper .cesium-sceneModePicker-button3D, .cesium-sceneModePicker-wrapper .cesium-sceneModePicker-buttonColumbusView, .cesium-sceneModePicker-wrapper .cesium-sceneModePicker-button2D {margin: 0 0 3px 0;} .cesium-sceneModePicker-wrapper .cesium-sceneModePicker-button3D .cesium-sceneModePicker-icon2D {left: 100%;} .cesium-sceneModePicker-wrapper .cesium-sceneModePicker-button3D .cesium-sceneModePicker-iconColumbusView {left: 200%;} .cesium-sceneModePicker-wrapper .cesium-sceneModePicker-buttonColumbusView .cesium-sceneModePicker-icon3D {left: -200%;} .cesium-sceneModePicker-wrapper .cesium-sceneModePicker-buttonColumbusView .cesium-sceneModePicker-icon2D {left: -100%;} .cesium-sceneModePicker-wrapper .cesium-sceneModePicker-button2D .cesium-sceneModePicker-icon3D {left: -100%;} .cesium-sceneModePicker-wrapper .cesium-sceneModePicker-button2D .cesium-sceneModePicker-iconColumbusView {left: 100%;} .cesium-sceneModePicker-wrapper .cesium-sceneModePicker-selected {border-color: #2e2; box-shadow: 0 0 8px #fff, 0 0 8px #fff;} .cesium-selection-wrapper {position: absolute; width: 160px; height: 160px; pointer-events: none; visibility: hidden; opacity: 0; -webkit-transition: visibility 0s 0.2s, opacity 0.2s ease-in; -moz-transition: visibility 0s 0.2s, opacity 0.2s ease-in; transition: visibility 0s 0.2s, opacity 0.2s ease-in;} .cesium-selection-wrapper-visible {visibility: visible; opacity: 1; -webkit-transition: opacity 0.2s ease-out; -moz-transition: opacity 0.2s ease-out; transition: opacity 0.2s ease-out;} .cesium-selection-wrapper svg {fill: #2e2; stroke: #000; stroke-width: 1.1px;} .cesium-timeline-main {position: relative; left: 0; bottom: 0; overflow: hidden; border: solid 1px #888;} .cesium-timeline-trackContainer {width: 100%; overflow: auto; border-top: solid 1px #888; position: relative; top: 0; left: 0;} .cesium-timeline-tracks {position: absolute; top: 0; left: 0; width: 100%;} .cesium-timeline-needle {position: absolute; left: 0; top: 1.7em; bottom: 0; width: 1px; background: #F00;} .cesium-timeline-bar {position: relative; left: 0; top: 0; overflow: hidden; cursor: pointer; width: 100%; height: 1.7em; background-color: #fafafa; background: rgba(32, 32, 32, 0.8); background: -moz-linear-gradient(top, rgba(116,117,119,0.8) 0%, rgba(58,68,82,0.8) 11%, rgba(46,50,56,0.8) 46%, rgba(53,53,53,0.8) 81%, rgba(53,53,53,0.8) 100%); background: -webkit-linear-gradient(top, rgba(116,117,119,0.8) 0%,rgba(58,68,82,0.8) 11%,rgba(46,50,56,0.8) 46%,rgba(53,53,53,0.8) 81%,rgba(53,53,53,0.8) 100%); background: -o-linear-gradient(top, rgba(116,117,119,0.8) 0%,rgba(58,68,82,0.8) 11%,rgba(46,50,56,0.8) 46%,rgba(53,53,53,0.8) 81%,rgba(53,53,53,0.8) 100%); background: -ms-linear-gradient(top, rgba(116,117,119,0.8) 0%,rgba(58,68,82,0.8) 11%,rgba(46,50,56,0.8) 46%,rgba(53,53,53,0.8) 81%,rgba(53,53,53,0.8) 100%); background: linear-gradient(to bottom, rgba(116,117,119,0.8) 0%,rgba(58,68,82,0.8) 11%,rgba(46,50,56,0.8) 46%,rgba(53,53,53,0.8) 81%,rgba(53,53,53,0.8) 100%);} .cesium-timeline-ruler {visibility: hidden; white-space: nowrap; font-size: 80%; z-index: -200;} .cesium-timeline-highlight {position: absolute; bottom: 0; left: 0; background: #08F;} .cesium-timeline-ticLabel {position: absolute; top: 0; left: 0; white-space: nowrap; font-size: 80%; color: #eee;} .cesium-timeline-ticMain {position: absolute; bottom: 0; left: 0; width: 1px; height: 50%; background: #eee;} .cesium-timeline-ticSub {position: absolute; bottom: 0; left: 0; width: 1px; height: 33%; background: #aaa;} .cesium-timeline-ticTiny {position: absolute; bottom: 0; left: 0; width: 1px; height: 25%; background: #888;} .cesium-timeline-icon16 {display: block; position: absolute; width: 16px; height: 16px; background-image: url(Images/TimelineIcons.png); background-repeat: no-repeat;} .cesium-viewer {font-family: sans-serif; font-size: 16px; overflow: hidden; display: block; position: relative; top: 0; left: 0; width: 100%; height: 100%;} .cesium-viewer-cesiumWidgetContainer {width: 100%; height: 100%;} .cesium-viewer-timelineContainer {position: absolute; bottom: 0; left: 169px; right: 29px; height: 27px; padding: 0; margin: 0; overflow: hidden; font-size: 14px;} .cesium-viewer-animationContainer {position: absolute; bottom: 0; left: 0; padding: 0; width: 169px; height: 112px;} .cesium-viewer-fullscreenContainer {position: absolute; bottom: 0; right: 0; padding: 0; width: 29px; height: 29px; overflow: hidden;} .cesium-viewer-toolbar {display: block; position: absolute; top: 5px; right: 5px;} .cesium-viewer-cesiumInspectorContainer {display: block; position: absolute; top: 5px; left: 5px;} .cesium-viewer-geocoderContainer {position: relative; display: inline-block; margin: 0 3px;} \ No newline at end of file diff --git a/Cesium/Workers/cesiumWorkerBootstrapper.js b/Cesium/Workers/cesiumWorkerBootstrapper.js new file mode 100644 index 0000000..8512e7e --- /dev/null +++ b/Cesium/Workers/cesiumWorkerBootstrapper.js @@ -0,0 +1,29 @@ +/** + * Cesium - https://github.com/AnalyticalGraphicsInc/cesium + * + * Copyright 2011-2014 Cesium Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Columbus View (Pat. Pend.) + * + * Portions licensed separately. + * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details. + */ +/** vim: et:ts=4:sw=4:sts=4 + * @license RequireJS 2.1.9 Copyright (c) 2010-2012, The Dojo Foundation All Rights Reserved. + * Available via the MIT or new BSD license. + * see: http://github.com/jrburke/requirejs for details + */ + +function setTimeout(e){e()}"undefined"==typeof self&&(self={}),self.onmessage=function(e){var t=e.data;require(t.loaderConfig,[t.workerModule],function(e){self.onmessage=e})};var requirejs,require,define;!function(global){function isFunction(e){return"[object Function]"===ostring.call(e)}function isArray(e){return"[object Array]"===ostring.call(e)}function each(e,t){if(e){var i;for(i=0;i-1&&(!e[i]||!t(e[i],i,e));i-=1);}}function hasProp(e,t){return hasOwn.call(e,t)}function getOwn(e,t){return hasProp(e,t)&&e[t]}function eachProp(e,t){var i;for(i in e)if(hasProp(e,i)&&t(e[i],i))break}function mixin(e,t,i,r){return t&&eachProp(t,function(t,n){(i||!hasProp(e,n))&&(r&&"string"!=typeof t?(e[n]||(e[n]={}),mixin(e[n],t,i,r)):e[n]=t)}),e}function bind(e,t){return function(){return t.apply(e,arguments)}}function scripts(){return document.getElementsByTagName("script")}function defaultOnError(e){throw e}function getGlobal(e){if(!e)return e;var t=global;return each(e.split("."),function(e){t=t[e]}),t}function makeError(e,t,i,r){var n=new Error(t+"\nhttp://requirejs.org/docs/errors.html#"+e);return n.requireType=e,n.requireModules=r,i&&(n.originalError=i),n}function newContext(e){function t(e){var t,i;for(t=0;e[t];t+=1)if(i=e[t],"."===i)e.splice(t,1),t-=1;else if(".."===i){if(1===t&&(".."===e[2]||".."===e[0]))break;t>0&&(e.splice(t-1,2),t-=2)}}function i(e,i,r){var n,a,o,s,c,u,p,d,f,l,h,m=i&&i.split("/"),g=m,v=y.map,x=v&&v["*"];if(e&&"."===e.charAt(0)&&(i?(g=getOwn(y.pkgs,i)?m=[i]:m.slice(0,m.length-1),e=g.concat(e.split("/")),t(e),a=getOwn(y.pkgs,n=e[0]),e=e.join("/"),a&&e===n+"/"+a.main&&(e=n)):0===e.indexOf("./")&&(e=e.substring(2))),r&&v&&(m||x)){for(s=e.split("/"),c=s.length;c>0;c-=1){if(p=s.slice(0,c).join("/"),m)for(u=m.length;u>0;u-=1)if(o=getOwn(v,m.slice(0,u).join("/")),o&&(o=getOwn(o,p))){d=o,f=c;break}if(d)break;!l&&x&&getOwn(x,p)&&(l=getOwn(x,p),h=c)}!d&&l&&(d=l,f=h),d&&(s.splice(0,f,d),e=s.join("/"))}return e}function r(e){isBrowser&&each(scripts(),function(t){return t.getAttribute("data-requiremodule")===e&&t.getAttribute("data-requirecontext")===q.contextName?(t.parentNode.removeChild(t),!0):void 0})}function n(e){var t=getOwn(y.paths,e);return t&&isArray(t)&&t.length>1?(t.shift(),q.require.undef(e),q.require([e]),!0):void 0}function a(e){var t,i=e?e.indexOf("!"):-1;return i>-1&&(t=e.substring(0,i),e=e.substring(i+1,e.length)),[t,e]}function o(e,t,r,n){var o,s,c,u,p=null,d=t?t.name:null,f=e,l=!0,h="";return e||(l=!1,e="_@r"+(A+=1)),u=a(e),p=u[0],e=u[1],p&&(p=i(p,d,n),s=getOwn(j,p)),e&&(p?h=s&&s.normalize?s.normalize(e,function(e){return i(e,d,n)}):i(e,d,n):(h=i(e,d,n),u=a(h),p=u[0],h=u[1],r=!0,o=q.nameToUrl(h))),c=!p||s||r?"":"_unnormalized"+(T+=1),{prefix:p,name:h,parentMap:t,unnormalized:!!c,url:o,originalName:f,isDefine:l,id:(p?p+"!"+h:h)+c}}function s(e){var t=e.id,i=getOwn(k,t);return i||(i=k[t]=new q.Module(e)),i}function c(e,t,i){var r=e.id,n=getOwn(k,r);!hasProp(j,r)||n&&!n.defineEmitComplete?(n=s(e),n.error&&"error"===t?i(n.error):n.on(t,i)):"defined"===t&&i(j[r])}function u(e,t){var i=e.requireModules,r=!1;t?t(e):(each(i,function(t){var i=getOwn(k,t);i&&(i.error=e,i.events.error&&(r=!0,i.emit("error",e)))}),r||req.onError(e))}function p(){globalDefQueue.length&&(apsp.apply(M,[M.length-1,0].concat(globalDefQueue)),globalDefQueue=[])}function d(e){delete k[e],delete S[e]}function f(e,t,i){var r=e.map.id;e.error?e.emit("error",e.error):(t[r]=!0,each(e.depMaps,function(r,n){var a=r.id,o=getOwn(k,a);!o||e.depMatched[n]||i[a]||(getOwn(t,a)?(e.defineDep(n,j[a]),e.check()):f(o,t,i))}),i[r]=!0)}function l(){var e,t,i,a,o=1e3*y.waitSeconds,s=o&&q.startTime+o<(new Date).getTime(),c=[],p=[],d=!1,h=!0;if(!x){if(x=!0,eachProp(S,function(i){if(e=i.map,t=e.id,i.enabled&&(e.isDefine||p.push(i),!i.error))if(!i.inited&&s)n(t)?(a=!0,d=!0):(c.push(t),r(t));else if(!i.inited&&i.fetched&&e.isDefine&&(d=!0,!e.prefix))return h=!1}),s&&c.length)return i=makeError("timeout","Load timeout for modules: "+c,null,c),i.contextName=q.contextName,u(i);h&&each(p,function(e){f(e,{},{})}),s&&!a||!d||!isBrowser&&!isWebWorker||w||(w=setTimeout(function(){w=0,l()},50)),x=!1}}function h(e){hasProp(j,e[0])||s(o(e[0],null,!0)).init(e[1],e[2])}function m(e,t,i,r){e.detachEvent&&!isOpera?r&&e.detachEvent(r,t):e.removeEventListener(i,t,!1)}function g(e){var t=e.currentTarget||e.srcElement;return m(t,q.onScriptLoad,"load","onreadystatechange"),m(t,q.onScriptError,"error"),{node:t,id:t&&t.getAttribute("data-requiremodule")}}function v(){var e;for(p();M.length;){if(e=M.shift(),null===e[0])return u(makeError("mismatch","Mismatched anonymous define() module: "+e[e.length-1]));h(e)}}var x,b,q,E,w,y={waitSeconds:7,baseUrl:"./",paths:{},pkgs:{},shim:{},config:{}},k={},S={},O={},M=[],j={},P={},A=1,T=1;return E={require:function(e){return e.require?e.require:e.require=q.makeRequire(e.map)},exports:function(e){return e.usingExports=!0,e.map.isDefine?e.exports?e.exports:e.exports=j[e.map.id]={}:void 0},module:function(e){return e.module?e.module:e.module={id:e.map.id,uri:e.map.url,config:function(){var t,i=getOwn(y.pkgs,e.map.id);return t=i?getOwn(y.config,e.map.id+"/"+i.main):getOwn(y.config,e.map.id),t||{}},exports:j[e.map.id]}}},b=function(e){this.events=getOwn(O,e.id)||{},this.map=e,this.shim=getOwn(y.shim,e.id),this.depExports=[],this.depMaps=[],this.depMatched=[],this.pluginMaps={},this.depCount=0},b.prototype={init:function(e,t,i,r){r=r||{},this.inited||(this.factory=t,i?this.on("error",i):this.events.error&&(i=bind(this,function(e){this.emit("error",e)})),this.depMaps=e&&e.slice(0),this.errback=i,this.inited=!0,this.ignore=r.ignore,r.enabled||this.enabled?this.enable():this.check())},defineDep:function(e,t){this.depMatched[e]||(this.depMatched[e]=!0,this.depCount-=1,this.depExports[e]=t)},fetch:function(){if(!this.fetched){this.fetched=!0,q.startTime=(new Date).getTime();var e=this.map;return this.shim?(q.makeRequire(this.map,{enableBuildCallback:!0})(this.shim.deps||[],bind(this,function(){return e.prefix?this.callPlugin():this.load()})),void 0):e.prefix?this.callPlugin():this.load()}},load:function(){var e=this.map.url;P[e]||(P[e]=!0,q.load(this.map.id,e))},check:function(){if(this.enabled&&!this.enabling){var e,t,i=this.map.id,r=this.depExports,n=this.exports,a=this.factory;if(this.inited){if(this.error)this.emit("error",this.error);else if(!this.defining){if(this.defining=!0,this.depCount<1&&!this.defined){if(isFunction(a)){if(this.events.error&&this.map.isDefine||req.onError!==defaultOnError)try{n=q.execCb(i,a,r,n)}catch(o){e=o}else n=q.execCb(i,a,r,n);if(this.map.isDefine&&(t=this.module,t&&void 0!==t.exports&&t.exports!==this.exports?n=t.exports:void 0===n&&this.usingExports&&(n=this.exports)),e)return e.requireMap=this.map,e.requireModules=this.map.isDefine?[this.map.id]:null,e.requireType=this.map.isDefine?"define":"require",u(this.error=e)}else n=a;this.exports=n,this.map.isDefine&&!this.ignore&&(j[i]=n,req.onResourceLoad&&req.onResourceLoad(q,this.map,this.depMaps)),d(i),this.defined=!0}this.defining=!1,this.defined&&!this.defineEmitted&&(this.defineEmitted=!0,this.emit("defined",this.exports),this.defineEmitComplete=!0)}}else this.fetch()}},callPlugin:function(){var e=this.map,t=e.id,r=o(e.prefix);this.depMaps.push(r),c(r,"defined",bind(this,function(r){var n,a,p,f=this.map.name,l=this.map.parentMap?this.map.parentMap.name:null,h=q.makeRequire(e.parentMap,{enableBuildCallback:!0});return this.map.unnormalized?(r.normalize&&(f=r.normalize(f,function(e){return i(e,l,!0)})||""),a=o(e.prefix+"!"+f,this.map.parentMap),c(a,"defined",bind(this,function(e){this.init([],function(){return e},null,{enabled:!0,ignore:!0})})),p=getOwn(k,a.id),p&&(this.depMaps.push(a),this.events.error&&p.on("error",bind(this,function(e){this.emit("error",e)})),p.enable()),void 0):(n=bind(this,function(e){this.init([],function(){return e},null,{enabled:!0})}),n.error=bind(this,function(e){this.inited=!0,this.error=e,e.requireModules=[t],eachProp(k,function(e){0===e.map.id.indexOf(t+"_unnormalized")&&d(e.map.id)}),u(e)}),n.fromText=bind(this,function(i,r){var a=e.name,c=o(a),p=useInteractive;r&&(i=r),p&&(useInteractive=!1),s(c),hasProp(y.config,t)&&(y.config[a]=y.config[t]);try{req.exec(i)}catch(d){return u(makeError("fromtexteval","fromText eval for "+t+" failed: "+d,d,[t]))}p&&(useInteractive=!0),this.depMaps.push(c),q.completeLoad(a),h([a],n)}),r.load(e.name,h,n,y),void 0)})),q.enable(r,this),this.pluginMaps[r.id]=r},enable:function(){S[this.map.id]=this,this.enabled=!0,this.enabling=!0,each(this.depMaps,bind(this,function(e,t){var i,r,n;if("string"==typeof e){if(e=o(e,this.map.isDefine?this.map:this.map.parentMap,!1,!this.skipMap),this.depMaps[t]=e,n=getOwn(E,e.id))return this.depExports[t]=n(this),void 0;this.depCount+=1,c(e,"defined",bind(this,function(e){this.defineDep(t,e),this.check()})),this.errback&&c(e,"error",bind(this,this.errback))}i=e.id,r=k[i],hasProp(E,i)||!r||r.enabled||q.enable(e,this)})),eachProp(this.pluginMaps,bind(this,function(e){var t=getOwn(k,e.id);t&&!t.enabled&&q.enable(e,this)})),this.enabling=!1,this.check()},on:function(e,t){var i=this.events[e];i||(i=this.events[e]=[]),i.push(t)},emit:function(e,t){each(this.events[e],function(e){e(t)}),"error"===e&&delete this.events[e]}},q={config:y,contextName:e,registry:k,defined:j,urlFetched:P,defQueue:M,Module:b,makeModuleMap:o,nextTick:req.nextTick,onError:u,configure:function(e){e.baseUrl&&"/"!==e.baseUrl.charAt(e.baseUrl.length-1)&&(e.baseUrl+="/");var t=y.pkgs,i=y.shim,r={paths:!0,config:!0,map:!0};eachProp(e,function(e,t){r[t]?"map"===t?(y.map||(y.map={}),mixin(y[t],e,!0,!0)):mixin(y[t],e,!0):y[t]=e}),e.shim&&(eachProp(e.shim,function(e,t){isArray(e)&&(e={deps:e}),!e.exports&&!e.init||e.exportsFn||(e.exportsFn=q.makeShimExports(e)),i[t]=e}),y.shim=i),e.packages&&(each(e.packages,function(e){var i;e="string"==typeof e?{name:e}:e,i=e.location,t[e.name]={name:e.name,location:i||e.name,main:(e.main||"main").replace(currDirRegExp,"").replace(jsSuffixRegExp,"")}}),y.pkgs=t),eachProp(k,function(e,t){e.inited||e.map.unnormalized||(e.map=o(t))}),(e.deps||e.callback)&&q.require(e.deps||[],e.callback)},makeShimExports:function(e){function t(){var t;return e.init&&(t=e.init.apply(global,arguments)),t||e.exports&&getGlobal(e.exports)}return t},makeRequire:function(t,n){function a(i,r,c){var p,d,f;return n.enableBuildCallback&&r&&isFunction(r)&&(r.__requireJsBuild=!0),"string"==typeof i?isFunction(r)?u(makeError("requireargs","Invalid require call"),c):t&&hasProp(E,i)?E[i](k[t.id]):req.get?req.get(q,i,t,a):(d=o(i,t,!1,!0),p=d.id,hasProp(j,p)?j[p]:u(makeError("notloaded",'Module name "'+p+'" has not been loaded yet for context: '+e+(t?"":". Use require([])")))):(v(),q.nextTick(function(){v(),f=s(o(null,t)),f.skipMap=n.skipMap,f.init(i,r,c,{enabled:!0}),l()}),a)}return n=n||{},mixin(a,{isBrowser:isBrowser,toUrl:function(e){var r,n=e.lastIndexOf("."),a=e.split("/")[0],o="."===a||".."===a;return-1!==n&&(!o||n>1)&&(r=e.substring(n,e.length),e=e.substring(0,n)),q.nameToUrl(i(e,t&&t.id,!0),r,!0)},defined:function(e){return hasProp(j,o(e,t,!1,!0).id)},specified:function(e){return e=o(e,t,!1,!0).id,hasProp(j,e)||hasProp(k,e)}}),t||(a.undef=function(e){p();var i=o(e,t,!0),n=getOwn(k,e);r(e),delete j[e],delete P[i.url],delete O[e],n&&(n.events.defined&&(O[e]=n.events),d(e))}),a},enable:function(e){var t=getOwn(k,e.id);t&&s(e).enable()},completeLoad:function(e){var t,i,r,a=getOwn(y.shim,e)||{},o=a.exports;for(p();M.length;){if(i=M.shift(),null===i[0]){if(i[0]=e,t)break;t=!0}else i[0]===e&&(t=!0);h(i)}if(r=getOwn(k,e),!t&&!hasProp(j,e)&&r&&!r.inited){if(!(!y.enforceDefine||o&&getGlobal(o)))return n(e)?void 0:u(makeError("nodefine","No define call for "+e,null,[e]));h([e,a.deps||[],a.exportsFn])}l()},nameToUrl:function(e,t,i){var r,n,a,o,s,c,u,p,d;if(req.jsExtRegExp.test(e))p=e+(t||"");else{for(r=y.paths,n=y.pkgs,s=e.split("/"),c=s.length;c>0;c-=1){if(u=s.slice(0,c).join("/"),a=getOwn(n,u),d=getOwn(r,u)){isArray(d)&&(d=d[0]),s.splice(0,c,d);break}if(a){o=e===a.name?a.location+"/"+a.main:a.location,s.splice(0,c,o);break}}p=s.join("/"),p+=t||(/^data\:|\?/.test(p)||i?"":".js"),p=("/"===p.charAt(0)||p.match(/^[\w\+\.\-]+:/)?"":y.baseUrl)+p}return y.urlArgs?p+((-1===p.indexOf("?")?"?":"&")+y.urlArgs):p},load:function(e,t){req.load(q,e,t)},execCb:function(e,t,i,r){return t.apply(r,i)},onScriptLoad:function(e){if("load"===e.type||readyRegExp.test((e.currentTarget||e.srcElement).readyState)){interactiveScript=null;var t=g(e);q.completeLoad(t.id)}},onScriptError:function(e){var t=g(e);return n(t.id)?void 0:u(makeError("scripterror","Script error for: "+t.id,e,[t.id]))}},q.require=q.makeRequire(),q}function getInteractiveScript(){return interactiveScript&&"interactive"===interactiveScript.readyState?interactiveScript:(eachReverse(scripts(),function(e){return"interactive"===e.readyState?interactiveScript=e:void 0}),interactiveScript)}var req,s,head,baseElement,dataMain,src,interactiveScript,currentlyAddingScript,mainScript,subPath,version="2.1.9",commentRegExp=/(\/\*([\s\S]*?)\*\/|([^:]|^)\/\/(.*)$)/gm,cjsRequireRegExp=/[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g,jsSuffixRegExp=/\.js$/,currDirRegExp=/^\.\//,op=Object.prototype,ostring=op.toString,hasOwn=op.hasOwnProperty,ap=Array.prototype,apsp=ap.splice,isBrowser=!("undefined"==typeof window||"undefined"==typeof navigator||!window.document),isWebWorker=!isBrowser&&"undefined"!=typeof importScripts,readyRegExp=isBrowser&&"PLAYSTATION 3"===navigator.platform?/^complete$/:/^(complete|loaded)$/,defContextName="_",isOpera="undefined"!=typeof opera&&"[object Opera]"===opera.toString(),contexts={},cfg={},globalDefQueue=[],useInteractive=!1;if("undefined"==typeof define){if("undefined"!=typeof requirejs){if(isFunction(requirejs))return;cfg=requirejs,requirejs=void 0}"undefined"==typeof require||isFunction(require)||(cfg=require,require=void 0),req=requirejs=function(e,t,i,r){var n,a,o=defContextName;return isArray(e)||"string"==typeof e||(a=e,isArray(t)?(e=t,t=i,i=r):e=[]),a&&a.context&&(o=a.context),n=getOwn(contexts,o),n||(n=contexts[o]=req.s.newContext(o)),a&&n.configure(a),n.require(e,t,i)},req.config=function(e){return req(e)},req.nextTick="undefined"!=typeof setTimeout?function(e){setTimeout(e,4)}:function(e){e()},require||(require=req),req.version=version,req.jsExtRegExp=/^\/|:|\?|\.js$/,req.isBrowser=isBrowser,s=req.s={contexts:contexts,newContext:newContext},req({}),each(["toUrl","undef","defined","specified"],function(e){req[e]=function(){var t=contexts[defContextName];return t.require[e].apply(t,arguments)}}),isBrowser&&(head=s.head=document.getElementsByTagName("head")[0],baseElement=document.getElementsByTagName("base")[0],baseElement&&(head=s.head=baseElement.parentNode)),req.onError=defaultOnError,req.createNode=function(e){var t=e.xhtml?document.createElementNS("http://www.w3.org/1999/xhtml","html:script"):document.createElement("script");return t.type=e.scriptType||"text/javascript",t.charset="utf-8",t.async=!0,t},req.load=function(e,t,i){var r,n=e&&e.config||{};if(isBrowser)return r=req.createNode(n,t,i),r.setAttribute("data-requirecontext",e.contextName),r.setAttribute("data-requiremodule",t),!r.attachEvent||r.attachEvent.toString&&r.attachEvent.toString().indexOf("[native code")<0||isOpera?(r.addEventListener("load",e.onScriptLoad,!1),r.addEventListener("error",e.onScriptError,!1)):(useInteractive=!0,r.attachEvent("onreadystatechange",e.onScriptLoad)),r.src=i,currentlyAddingScript=r,baseElement?head.insertBefore(r,baseElement):head.appendChild(r),currentlyAddingScript=null,r;if(isWebWorker)try{importScripts(i),e.completeLoad(t)}catch(a){e.onError(makeError("importscripts","importScripts failed for "+t+" at "+i,a,[t]))}},isBrowser&&!cfg.skipDataMain&&eachReverse(scripts(),function(e){return head||(head=e.parentNode),dataMain=e.getAttribute("data-main"),dataMain?(mainScript=dataMain,cfg.baseUrl||(src=mainScript.split("/"),mainScript=src.pop(),subPath=src.length?src.join("/")+"/":"./",cfg.baseUrl=subPath),mainScript=mainScript.replace(jsSuffixRegExp,""),req.jsExtRegExp.test(mainScript)&&(mainScript=dataMain),cfg.deps=cfg.deps?cfg.deps.concat(mainScript):[mainScript],!0):void 0}),define=function(e,t,i){var r,n;"string"!=typeof e&&(i=t,t=e,e=null),isArray(t)||(i=t,t=null),!t&&isFunction(i)&&(t=[],i.length&&(i.toString().replace(commentRegExp,"").replace(cjsRequireRegExp,function(e,i){t.push(i)}),t=(1===i.length?["require"]:["require","exports","module"]).concat(t))),useInteractive&&(r=currentlyAddingScript||getInteractiveScript(),r&&(e||(e=r.getAttribute("data-requiremodule")),n=contexts[r.getAttribute("data-requirecontext")])),(n?n.defQueue:globalDefQueue).push([e,t,i])},define.amd={jQuery:!0},req.exec=function(text){return eval(text)},req(cfg)}}(this); \ No newline at end of file diff --git a/Cesium/Workers/combineGeometry.js b/Cesium/Workers/combineGeometry.js new file mode 100644 index 0000000..ace8e26 --- /dev/null +++ b/Cesium/Workers/combineGeometry.js @@ -0,0 +1,61 @@ +/** + * Cesium - https://github.com/AnalyticalGraphicsInc/cesium + * + * Copyright 2011-2014 Cesium Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Columbus View (Pat. Pend.) + * + * Portions licensed separately. + * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details. + */ +/** +@license +mersenne-twister.js - https://gist.github.com/banksean/300494 + + Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura, + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. The names of its contributors may not be used to endorse or promote + products derived from this software without specific prior written + permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +!function(){define("Core/defined",[],function(){"use strict";var e=function(e){return void 0!==e};return e}),define("Core/freezeObject",["./defined"],function(e){"use strict";var r=Object.freeze;return e(r)||(r=function(e){return e}),r}),define("Core/defaultValue",["./freezeObject"],function(e){"use strict";var r=function(e,r){return void 0!==e?e:r};return r.EMPTY_OBJECT=e({}),r}),define("Core/defineProperties",["./defined"],function(e){"use strict";var r=function(){try{return"x"in Object.defineProperty({},"x",{})}catch(e){return!1}}(),t=Object.defineProperties;return r&&e(t)||(t=function(e){return e}),t}),define("Core/DeveloperError",["./defined"],function(e){"use strict";var r=function(e){this.name="DeveloperError",this.message=e;var r;try{throw new Error}catch(t){r=t.stack}this.stack=r};return r.prototype.toString=function(){var r=this.name+": "+this.message;return e(this.stack)&&(r+="\n"+this.stack.toString()),r},r.throwInstantiationError=function(){throw new r("This function defines an interface and should not be called directly.")},r}),define("ThirdParty/mersenne-twister",[],function(){var e=function(e){void 0==e&&(e=(new Date).getTime()),this.N=624,this.M=397,this.MATRIX_A=2567483615,this.UPPER_MASK=2147483648,this.LOWER_MASK=2147483647,this.mt=new Array(this.N),this.mti=this.N+1,this.init_genrand(e)};return e.prototype.init_genrand=function(e){for(this.mt[0]=e>>>0,this.mti=1;this.mti>>30;this.mt[this.mti]=(1812433253*((4294901760&e)>>>16)<<16)+1812433253*(65535&e)+this.mti,this.mt[this.mti]>>>=0}},e.prototype.genrand_int32=function(){var e,r=new Array(0,this.MATRIX_A);if(this.mti>=this.N){var t;for(this.mti==this.N+1&&this.init_genrand(5489),t=0;t>>1^r[1&e];for(;t>>1^r[1&e];e=this.mt[this.N-1]&this.UPPER_MASK|this.mt[0]&this.LOWER_MASK,this.mt[this.N-1]=this.mt[this.M-1]^e>>>1^r[1&e],this.mti=0}return e=this.mt[this.mti++],e^=e>>>11,e^=2636928640&e<<7,e^=4022730752&e<<15,e^=e>>>18,e>>>0},e.prototype.random=function(){return this.genrand_int32()*(1/4294967296)},e}),define("Core/Math",["./defaultValue","./defined","./DeveloperError","../ThirdParty/mersenne-twister"],function(e,r,t,n){"use strict";var i={};i.EPSILON1=.1,i.EPSILON2=.01,i.EPSILON3=.001,i.EPSILON4=1e-4,i.EPSILON5=1e-5,i.EPSILON6=1e-6,i.EPSILON7=1e-7,i.EPSILON8=1e-8,i.EPSILON9=1e-9,i.EPSILON10=1e-10,i.EPSILON11=1e-11,i.EPSILON12=1e-12,i.EPSILON13=1e-13,i.EPSILON14=1e-14,i.EPSILON15=1e-15,i.EPSILON16=1e-16,i.EPSILON17=1e-17,i.EPSILON18=1e-18,i.EPSILON19=1e-19,i.EPSILON20=1e-20,i.GRAVITATIONALPARAMETER=3986004418e5,i.SOLAR_RADIUS=6955e5,i.LUNAR_RADIUS=1737400,i.SIXTY_FOUR_KILOBYTES=65536,i.sign=function(e){return e>0?1:0>e?-1:0},i.sinh=function(e){var r=Math.pow(Math.E,e),t=Math.pow(Math.E,-1*e);return.5*(r-t)},i.cosh=function(e){var r=Math.pow(Math.E,e),t=Math.pow(Math.E,-1*e);return.5*(r+t)},i.lerp=function(e,r,t){return(1-t)*e+t*r},i.PI=Math.PI,i.ONE_OVER_PI=1/Math.PI,i.PI_OVER_TWO=.5*Math.PI,i.PI_OVER_THREE=Math.PI/3,i.PI_OVER_FOUR=Math.PI/4,i.PI_OVER_SIX=Math.PI/6,i.THREE_PI_OVER_TWO=.5*3*Math.PI,i.TWO_PI=2*Math.PI,i.ONE_OVER_TWO_PI=1/(2*Math.PI),i.RADIANS_PER_DEGREE=Math.PI/180,i.DEGREES_PER_RADIAN=180/Math.PI,i.RADIANS_PER_ARCSECOND=i.RADIANS_PER_DEGREE/3600,i.toRadians=function(e){return e*i.RADIANS_PER_DEGREE},i.toDegrees=function(e){return e*i.DEGREES_PER_RADIAN},i.convertLongitudeRange=function(e){var r=i.TWO_PI,t=e-Math.floor(e/r)*r;return t<-Math.PI?t+r:t>=Math.PI?t-r:t},i.negativePiToPi=function(e){for(var r=i.EPSILON10,t=i.PI,n=i.TWO_PI;-(t+r)>e;)e+=n;if(-t>e)return-t;for(;e>t+r;)e-=n;return e>t?t:e},i.zeroToTwoPi=function(e){var r=e%i.TWO_PI;return 0>r?(r+i.TWO_PI)%i.TWO_PI:r},i.equalsEpsilon=function(r,t,n){return n=e(n,0),Math.abs(r-t)<=n};var o=[1];i.factorial=function(e){var r=o.length;if(e>=r)for(var t=o[r-1],n=r;e>=n;n++)o.push(t*n);return o[e]},i.incrementWrap=function(r,t,n){return n=e(n,0),++r,r>t&&(r=n),r},i.isPowerOfTwo=function(e){return 0!==e&&0===(e&e-1)},i.nextPowerOfTwo=function(e){return--e,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,++e,e},i.clamp=function(e,r,t){return r>e?r:e>t?t:e};var a=new n;return i.setRandomNumberSeed=function(e){a=new n(e)},i.nextRandomNumber=function(){return a.random()},i}),define("Core/Cartesian3",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,r,t,n){"use strict";var i=function(r,t,n){this.x=e(r,0),this.y=e(t,0),this.z=e(n,0)};i.fromSpherical=function(t,n){r(n)||(n=new i);var o=t.clock,a=t.cone,s=e(t.magnitude,1),u=s*Math.sin(a);return n.x=u*Math.cos(o),n.y=u*Math.sin(o),n.z=s*Math.cos(a),n},i.fromElements=function(e,t,n,o){return r(o)?(o.x=e,o.y=t,o.z=n,o):new i(e,t,n)},i.clone=function(e,t){return r(e)?r(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t):new i(e.x,e.y,e.z):void 0},i.fromCartesian4=i.clone,i.packedLength=3,i.pack=function(r,t,n){n=e(n,0),t[n++]=r.x,t[n++]=r.y,t[n]=r.z},i.unpack=function(t,n,o){return n=e(n,0),r(o)||(o=new i),o.x=t[n++],o.y=t[n++],o.z=t[n],o},i.fromArray=i.unpack,i.getMaximumComponent=function(e){return Math.max(e.x,e.y,e.z)},i.getMinimumComponent=function(e){return Math.min(e.x,e.y,e.z)},i.getMinimumByComponent=function(e,t,n){return r(n)||(n=new i),n.x=Math.min(e.x,t.x),n.y=Math.min(e.y,t.y),n.z=Math.min(e.z,t.z),n},i.getMaximumByComponent=function(e,t,n){return r(n)||(n=new i),n.x=Math.max(e.x,t.x),n.y=Math.max(e.y,t.y),n.z=Math.max(e.z,t.z),n},i.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z},i.magnitude=function(e){return Math.sqrt(i.magnitudeSquared(e))};var o=new i;i.distance=function(e,r){return i.subtract(e,r,o),i.magnitude(o)},i.normalize=function(e,t){var n=i.magnitude(e);return r(t)?(t.x=e.x/n,t.y=e.y/n,t.z=e.z/n,t):new i(e.x/n,e.y/n,e.z/n)},i.dot=function(e,r){return e.x*r.x+e.y*r.y+e.z*r.z},i.multiplyComponents=function(e,t,n){return r(n)?(n.x=e.x*t.x,n.y=e.y*t.y,n.z=e.z*t.z,n):new i(e.x*t.x,e.y*t.y,e.z*t.z)},i.add=function(e,t,n){return r(n)?(n.x=e.x+t.x,n.y=e.y+t.y,n.z=e.z+t.z,n):new i(e.x+t.x,e.y+t.y,e.z+t.z)},i.subtract=function(e,t,n){return r(n)?(n.x=e.x-t.x,n.y=e.y-t.y,n.z=e.z-t.z,n):new i(e.x-t.x,e.y-t.y,e.z-t.z)},i.multiplyByScalar=function(e,t,n){return r(n)?(n.x=e.x*t,n.y=e.y*t,n.z=e.z*t,n):new i(e.x*t,e.y*t,e.z*t)},i.divideByScalar=function(e,t,n){return r(n)?(n.x=e.x/t,n.y=e.y/t,n.z=e.z/t,n):new i(e.x/t,e.y/t,e.z/t)},i.negate=function(e,t){return r(t)?(t.x=-e.x,t.y=-e.y,t.z=-e.z,t):new i(-e.x,-e.y,-e.z)},i.abs=function(e,t){return r(t)?(t.x=Math.abs(e.x),t.y=Math.abs(e.y),t.z=Math.abs(e.z),t):new i(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z))};var a=new i;i.lerp=function(e,r,t,n){return i.multiplyByScalar(r,t,a),n=i.multiplyByScalar(e,1-t,n),i.add(a,n,n)};var s=new i,u=new i;i.angleBetween=function(e,r){i.normalize(e,s),i.normalize(r,u);var t=i.dot(s,u),n=i.magnitude(i.cross(s,u,s));return Math.atan2(n,t)};var l=new i;return i.mostOrthogonalAxis=function(e,r){var t=i.normalize(e,l);return i.abs(t,t),r=t.x<=t.y?t.x<=t.z?i.clone(i.UNIT_X,r):i.clone(i.UNIT_Z,r):t.y<=t.z?i.clone(i.UNIT_Y,r):i.clone(i.UNIT_Z,r)},i.equals=function(e,t){return e===t||r(e)&&r(t)&&e.x===t.x&&e.y===t.y&&e.z===t.z},i.equalsEpsilon=function(e,t,n){return e===t||r(e)&&r(t)&&Math.abs(e.x-t.x)<=n&&Math.abs(e.y-t.y)<=n&&Math.abs(e.z-t.z)<=n},i.cross=function(e,t,n){var o=e.x,a=e.y,s=e.z,u=t.x,l=t.y,c=t.z,f=a*c-s*l,m=s*u-o*c,h=o*l-a*u;return r(n)?(n.x=f,n.y=m,n.z=h,n):new i(f,m,h)},i.ZERO=n(new i(0,0,0)),i.UNIT_X=n(new i(1,0,0)),i.UNIT_Y=n(new i(0,1,0)),i.UNIT_Z=n(new i(0,0,1)),i.prototype.clone=function(e){return i.clone(this,e)},i.prototype.equals=function(e){return i.equals(this,e)},i.prototype.equalsEpsilon=function(e,r){return i.equalsEpsilon(this,e,r)},i.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+")"},i}),define("Core/Cartographic",["./defaultValue","./defined","./DeveloperError","./freezeObject","./Math"],function(e,r,t,n,i){"use strict";var o=function(r,t,n){this.longitude=e(r,0),this.latitude=e(t,0),this.height=e(n,0)};return o.fromDegrees=function(t,n,a,s){return t=i.toRadians(e(t,0)),n=i.toRadians(e(n,0)),a=e(a,0),r(s)?(s.longitude=t,s.latitude=n,s.height=a,s):new o(t,n,a)},o.clone=function(e,t){return r(e)?r(t)?(t.longitude=e.longitude,t.latitude=e.latitude,t.height=e.height,t):new o(e.longitude,e.latitude,e.height):void 0},o.equals=function(e,t){return e===t||r(e)&&r(t)&&e.longitude===t.longitude&&e.latitude===t.latitude&&e.height===t.height},o.equalsEpsilon=function(e,t,n){return e===t||r(e)&&r(t)&&Math.abs(e.longitude-t.longitude)<=n&&Math.abs(e.latitude-t.latitude)<=n&&Math.abs(e.height-t.height)<=n},o.toString=function(e){return"("+e.longitude+", "+e.latitude+", "+e.height+")"},o.ZERO=n(new o(0,0,0)),o.prototype.clone=function(e){return o.clone(this,e)},o.prototype.equals=function(e){return o.equals(this,e)},o.prototype.equalsEpsilon=function(e,r){return o.equalsEpsilon(this,e,r)},o.prototype.toString=function(){return o.toString(this)},o}),define("Core/Ellipsoid",["./freezeObject","./defaultValue","./defined","./defineProperties","./DeveloperError","./Math","./Cartesian3","./Cartographic"],function(e,r,t,n,i,o,a,s){"use strict";var u=function(e,t,n){e=r(e,0),t=r(t,0),n=r(n,0),this._radii=new a(e,t,n),this._radiiSquared=new a(e*e,t*t,n*n),this._radiiToTheFourth=new a(e*e*e*e,t*t*t*t,n*n*n*n),this._oneOverRadii=new a(0===e?0:1/e,0===t?0:1/t,0===n?0:1/n),this._oneOverRadiiSquared=new a(0===e?0:1/(e*e),0===t?0:1/(t*t),0===n?0:1/(n*n)),this._minimumRadius=Math.min(e,t,n),this._maximumRadius=Math.max(e,t,n),this._centerToleranceSquared=o.EPSILON1};n(u.prototype,{radii:{get:function(){return this._radii}},radiiSquared:{get:function(){return this._radiiSquared}},radiiToTheFourth:{get:function(){return this._radiiToTheFourth}},oneOverRadii:{get:function(){return this._oneOverRadii}},oneOverRadiiSquared:{get:function(){return this._oneOverRadiiSquared}},minimumRadius:{get:function(){return this._minimumRadius}},maximumRadius:{get:function(){return this._maximumRadius}}}),u.clone=function(e,r){if(!t(e))return void 0;var n=e._radii;return t(r)?(a.clone(n,r._radii),a.clone(e._radiiSquared,r._radiiSquared),a.clone(e._radiiToTheFourth,r._radiiToTheFourth),a.clone(e._oneOverRadii,r._oneOverRadii),a.clone(e._oneOverRadiiSquared,r._oneOverRadiiSquared),r._minimumRadius=e._minimumRadius,r._maximumRadius=e._maximumRadius,r._centerToleranceSquared=e._centerToleranceSquared,r):new u(n.x,n.y,n.z)},u.fromCartesian3=function(e){return t(e)?new u(e.x,e.y,e.z):new u},u.WGS84=e(new u(6378137,6378137,6356752.314245179)),u.UNIT_SPHERE=e(new u(1,1,1)),u.MOON=e(new u(o.LUNAR_RADIUS,o.LUNAR_RADIUS,o.LUNAR_RADIUS)),u.prototype.clone=function(e){return u.clone(this,e)},u.prototype.geocentricSurfaceNormal=a.normalize,u.prototype.geodeticSurfaceNormalCartographic=function(e,r){var n=e.longitude,i=e.latitude,o=Math.cos(i),s=o*Math.cos(n),u=o*Math.sin(n),l=Math.sin(i);return t(r)||(r=new a),r.x=s,r.y=u,r.z=l,a.normalize(r,r)},u.prototype.geodeticSurfaceNormal=function(e,r){return r=a.multiplyComponents(e,this._oneOverRadiiSquared,r),a.normalize(r,r)};var l=new a,c=new a;u.prototype.cartographicToCartesian=function(e,r){var t=l,n=c;this.geodeticSurfaceNormalCartographic(e,t),a.multiplyComponents(this._radiiSquared,t,n);var i=Math.sqrt(a.dot(t,n));return a.divideByScalar(n,i,n),a.multiplyByScalar(t,e.height,t),a.add(n,t,r)},u.prototype.cartographicArrayToCartesianArray=function(e,r){var n=e.length;t(r)?r.length=n:r=new Array(n);for(var i=0;n>i;i++)r[i]=this.cartographicToCartesian(e[i],r[i]);return r};var f=new a,m=new a,h=new a;u.prototype.cartesianToCartographic=function(e,r){var n=this.scaleToGeodeticSurface(e,m);if(!t(n))return void 0;var i=this.geodeticSurfaceNormal(n,f),u=a.subtract(e,n,h),l=Math.atan2(i.y,i.x),c=Math.asin(i.z),y=o.sign(a.dot(u,e))*a.magnitude(u);return t(r)?(r.longitude=l,r.latitude=c,r.height=y,r):new s(l,c,y)},u.prototype.cartesianArrayToCartographicArray=function(e,r){var n=e.length;t(r)?r.length=n:r=new Array(n);for(var i=0;n>i;++i)r[i]=this.cartesianToCartographic(e[i],r[i]);return r};var y=new a,d=new a;return u.prototype.scaleToGeodeticSurface=function(e,r){var n=e.x,i=e.y,s=e.z,u=this._oneOverRadii,l=u.x,c=u.y,f=u.z,m=n*n*l*l,h=i*i*c*c,p=s*s*f*f,v=m+h+p,g=Math.sqrt(1/v),E=a.multiplyByScalar(e,g,y);if(vo.EPSILON12);return t(r)?(r.x=n*T,r.y=i*I,r.z=s*O,r):new a(n*T,i*I,s*O)},u.prototype.scaleToGeocentricSurface=function(e,r){var t=e.x,n=e.y,i=e.z,o=this._oneOverRadiiSquared,s=1/Math.sqrt(t*t*o.x+n*n*o.y+i*i*o.z);return a.multiplyByScalar(e,s,r)},u.prototype.transformPositionToScaledSpace=function(e,r){return a.multiplyComponents(e,this._oneOverRadii,r)},u.prototype.transformPositionFromScaledSpace=function(e,r){return a.multiplyComponents(e,this._radii,r)},u.prototype.equals=function(e){return this===e||t(e)&&a.equals(this._radii,e._radii)},u.prototype.toString=function(){return this._radii.toString()},u}),define("Core/GeographicProjection",["./defaultValue","./defined","./defineProperties","./Cartesian3","./Cartographic","./Ellipsoid"],function(e,r,t,n,i,o){"use strict";var a=function(r){this._ellipsoid=e(r,o.WGS84),this._semimajorAxis=this._ellipsoid.maximumRadius,this._oneOverSemimajorAxis=1/this._semimajorAxis};return t(a.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}}),a.prototype.project=function(e,t){var i=this._semimajorAxis,o=e.longitude*i,a=e.latitude*i,s=e.height;return r(t)?(t.x=o,t.y=a,t.z=s,t):new n(o,a,s)},a.prototype.unproject=function(e,t){var n=this._oneOverSemimajorAxis,o=e.x*n,a=e.y*n,s=e.z;return r(t)?(t.longitude=o,t.latitude=a,t.height=s,t):new i(o,a,s)},a}),define("Core/Cartesian4",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,r,t,n){"use strict";var i=function(r,t,n,i){this.x=e(r,0),this.y=e(t,0),this.z=e(n,0),this.w=e(i,0)};i.fromElements=function(e,t,n,o,a){return r(a)?(a.x=e,a.y=t,a.z=n,a.w=o,a):new i(e,t,n,o)},i.clone=function(e,t){return r(e)?r(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t):new i(e.x,e.y,e.z,e.w):void 0},i.packedLength=4,i.pack=function(r,t,n){n=e(n,0),t[n++]=r.x,t[n++]=r.y,t[n++]=r.z,t[n]=r.w},i.unpack=function(t,n,o){return n=e(n,0),r(o)||(o=new i),o.x=t[n++],o.y=t[n++],o.z=t[n++],o.w=t[n],o},i.fromArray=i.unpack,i.getMaximumComponent=function(e){return Math.max(e.x,e.y,e.z,e.w)},i.getMinimumComponent=function(e){return Math.min(e.x,e.y,e.z,e.w)},i.getMinimumByComponent=function(e,t,n){return r(n)||(n=new i),n.x=Math.min(e.x,t.x),n.y=Math.min(e.y,t.y),n.z=Math.min(e.z,t.z),n.w=Math.min(e.w,t.w),n},i.getMaximumByComponent=function(e,t,n){return r(n)||(n=new i),n.x=Math.max(e.x,t.x),n.y=Math.max(e.y,t.y),n.z=Math.max(e.z,t.z),n.w=Math.max(e.w,t.w),n},i.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w},i.magnitude=function(e){return Math.sqrt(i.magnitudeSquared(e))};var o=new i;i.distance=function(e,r){return i.subtract(e,r,o),i.magnitude(o)},i.normalize=function(e,t){var n=i.magnitude(e);return r(t)?(t.x=e.x/n,t.y=e.y/n,t.z=e.z/n,t.w=e.w/n,t):new i(e.x/n,e.y/n,e.z/n,e.w/n)},i.dot=function(e,r){return e.x*r.x+e.y*r.y+e.z*r.z+e.w*r.w},i.multiplyComponents=function(e,t,n){return r(n)?(n.x=e.x*t.x,n.y=e.y*t.y,n.z=e.z*t.z,n.w=e.w*t.w,n):new i(e.x*t.x,e.y*t.y,e.z*t.z,e.w*t.w)},i.add=function(e,t,n){return r(n)?(n.x=e.x+t.x,n.y=e.y+t.y,n.z=e.z+t.z,n.w=e.w+t.w,n):new i(e.x+t.x,e.y+t.y,e.z+t.z,e.w+t.w)},i.subtract=function(e,t,n){return r(n)?(n.x=e.x-t.x,n.y=e.y-t.y,n.z=e.z-t.z,n.w=e.w-t.w,n):new i(e.x-t.x,e.y-t.y,e.z-t.z,e.w-t.w)},i.multiplyByScalar=function(e,t,n){return r(n)?(n.x=e.x*t,n.y=e.y*t,n.z=e.z*t,n.w=e.w*t,n):new i(e.x*t,e.y*t,e.z*t,e.w*t)},i.divideByScalar=function(e,t,n){return r(n)?(n.x=e.x/t,n.y=e.y/t,n.z=e.z/t,n.w=e.w/t,n):new i(e.x/t,e.y/t,e.z/t,e.w/t)},i.negate=function(e,t){return r(t)?(t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=-e.w,t):new i(-e.x,-e.y,-e.z,-e.w)},i.abs=function(e,t){return r(t)?(t.x=Math.abs(e.x),t.y=Math.abs(e.y),t.z=Math.abs(e.z),t.w=Math.abs(e.w),t):new i(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z),Math.abs(e.w))};var a=new i;i.lerp=function(e,r,t,n){return i.multiplyByScalar(r,t,a),n=i.multiplyByScalar(e,1-t,n),i.add(a,n,n)};var s=new i;return i.mostOrthogonalAxis=function(e,r){var t=i.normalize(e,s);return i.abs(t,t),r=t.x<=t.y?t.x<=t.z?t.x<=t.w?i.clone(i.UNIT_X,r):i.clone(i.UNIT_W,r):t.z<=t.w?i.clone(i.UNIT_Z,r):i.clone(i.UNIT_W,r):t.y<=t.z?t.y<=t.w?i.clone(i.UNIT_Y,r):i.clone(i.UNIT_W,r):t.z<=t.w?i.clone(i.UNIT_Z,r):i.clone(i.UNIT_W,r)},i.equals=function(e,t){return e===t||r(e)&&r(t)&&e.x===t.x&&e.y===t.y&&e.z===t.z&&e.w===t.w},i.equalsEpsilon=function(e,t,n){return e===t||r(e)&&r(t)&&Math.abs(e.x-t.x)<=n&&Math.abs(e.y-t.y)<=n&&Math.abs(e.z-t.z)<=n&&Math.abs(e.w-t.w)<=n},i.ZERO=n(new i(0,0,0,0)),i.UNIT_X=n(new i(1,0,0,0)),i.UNIT_Y=n(new i(0,1,0,0)),i.UNIT_Z=n(new i(0,0,1,0)),i.UNIT_W=n(new i(0,0,0,1)),i.prototype.clone=function(e){return i.clone(this,e)},i.prototype.equals=function(e){return i.equals(this,e)},i.prototype.equalsEpsilon=function(e,r){return i.equalsEpsilon(this,e,r)},i.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+", "+this.w+")"},i}),define("Core/Matrix3",["./Cartesian3","./defaultValue","./defined","./DeveloperError","./freezeObject","./Math"],function(e,r,t,n,i,o){"use strict";function a(e){for(var r=0,t=0;9>t;++t){var n=e[t];r+=n*n}return Math.sqrt(r)}function s(e){for(var r=0,t=0;3>t;++t){var n=e[l.getElementIndex(f[t],c[t])];r+=2*n*n}return Math.sqrt(r)}function u(e,r){for(var t=o.EPSILON15,n=0,i=1,a=0;3>a;++a){var s=Math.abs(e[l.getElementIndex(f[a],c[a])]);s>n&&(i=a,n=s)}var u=1,m=0,h=c[i],y=f[i];if(Math.abs(e[l.getElementIndex(y,h)])>t){var d,p=e[l.getElementIndex(y,y)],v=e[l.getElementIndex(h,h)],g=e[l.getElementIndex(y,h)],E=(p-v)/2/g;d=0>E?-1/(-E+Math.sqrt(1+E*E)):1/(E+Math.sqrt(1+E*E)),u=1/Math.sqrt(1+d*d),m=d*u}return r=l.clone(l.IDENTITY,r),r[l.getElementIndex(h,h)]=r[l.getElementIndex(y,y)]=u,r[l.getElementIndex(y,h)]=m,r[l.getElementIndex(h,y)]=-m,r}var l=function(e,t,n,i,o,a,s,u,l){this[0]=r(e,0),this[1]=r(i,0),this[2]=r(s,0),this[3]=r(t,0),this[4]=r(o,0),this[5]=r(u,0),this[6]=r(n,0),this[7]=r(a,0),this[8]=r(l,0)};l.clone=function(e,r){return t(e)?t(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r):new l(e[0],e[3],e[6],e[1],e[4],e[7],e[2],e[5],e[8]):void 0},l.fromArray=function(e,n,i){return n=r(n,0),t(i)||(i=new l),i[0]=e[n],i[1]=e[n+1],i[2]=e[n+2],i[3]=e[n+3],i[4]=e[n+4],i[5]=e[n+5],i[6]=e[n+6],i[7]=e[n+7],i[8]=e[n+8],i[9]=e[n+9],i},l.fromColumnMajorArray=function(e,r){return l.clone(e,r)},l.fromRowMajorArray=function(e,r){return t(r)?(r[0]=e[0],r[1]=e[3],r[2]=e[6],r[3]=e[1],r[4]=e[4],r[5]=e[7],r[6]=e[2],r[7]=e[5],r[8]=e[8],r):new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])},l.fromQuaternion=function(e,r){var n=e.x*e.x,i=e.x*e.y,o=e.x*e.z,a=e.x*e.w,s=e.y*e.y,u=e.y*e.z,c=e.y*e.w,f=e.z*e.z,m=e.z*e.w,h=e.w*e.w,y=n-s-f+h,d=2*(i-m),p=2*(o+c),v=2*(i+m),g=-n+s-f+h,E=2*(u-a),C=2*(o-c),S=2*(u+a),w=-n-s+f+h;return t(r)?(r[0]=y,r[1]=v,r[2]=C,r[3]=d,r[4]=g,r[5]=S,r[6]=p,r[7]=E,r[8]=w,r):new l(y,d,p,v,g,E,C,S,w)},l.fromScale=function(e,r){return t(r)?(r[0]=e.x,r[1]=0,r[2]=0,r[3]=0,r[4]=e.y,r[5]=0,r[6]=0,r[7]=0,r[8]=e.z,r):new l(e.x,0,0,0,e.y,0,0,0,e.z)},l.fromUniformScale=function(e,r){return t(r)?(r[0]=e,r[1]=0,r[2]=0,r[3]=0,r[4]=e,r[5]=0,r[6]=0,r[7]=0,r[8]=e,r):new l(e,0,0,0,e,0,0,0,e)},l.fromRotationX=function(e,r){var n=Math.cos(e),i=Math.sin(e);return t(r)?(r[0]=1,r[1]=0,r[2]=0,r[3]=0,r[4]=n,r[5]=i,r[6]=0,r[7]=-i,r[8]=n,r):new l(1,0,0,0,n,-i,0,i,n)},l.fromRotationY=function(e,r){var n=Math.cos(e),i=Math.sin(e);return t(r)?(r[0]=n,r[1]=0,r[2]=-i,r[3]=0,r[4]=1,r[5]=0,r[6]=i,r[7]=0,r[8]=n,r):new l(n,0,i,0,1,0,-i,0,n)},l.fromRotationZ=function(e,r){var n=Math.cos(e),i=Math.sin(e);return t(r)?(r[0]=n,r[1]=i,r[2]=0,r[3]=-i,r[4]=n,r[5]=0,r[6]=0,r[7]=0,r[8]=1,r):new l(n,-i,0,i,n,0,0,0,1)},l.toArray=function(e,r){return t(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8]]},l.getElementIndex=function(e,r){return 3*e+r},l.getColumn=function(r,n,i){var o=3*n,a=r[o],s=r[o+1],u=r[o+2];return t(i)?(i.x=a,i.y=s,i.z=u,i):new e(a,s,u)},l.setColumn=function(e,r,t,n){n=l.clone(e,n);var i=3*r;return n[i]=t.x,n[i+1]=t.y,n[i+2]=t.z,n},l.getRow=function(r,n,i){var o=r[n],a=r[n+3],s=r[n+6];return t(i)?(i.x=o,i.y=a,i.z=s,i):new e(o,a,s)},l.setRow=function(e,r,t,n){return n=l.clone(e,n),n[r]=t.x,n[r+3]=t.y,n[r+6]=t.z,n},l.multiply=function(e,r,n){var i=e[0]*r[0]+e[3]*r[1]+e[6]*r[2],o=e[1]*r[0]+e[4]*r[1]+e[7]*r[2],a=e[2]*r[0]+e[5]*r[1]+e[8]*r[2],s=e[0]*r[3]+e[3]*r[4]+e[6]*r[5],u=e[1]*r[3]+e[4]*r[4]+e[7]*r[5],c=e[2]*r[3]+e[5]*r[4]+e[8]*r[5],f=e[0]*r[6]+e[3]*r[7]+e[6]*r[8],m=e[1]*r[6]+e[4]*r[7]+e[7]*r[8],h=e[2]*r[6]+e[5]*r[7]+e[8]*r[8];return t(n)?(n[0]=i,n[1]=o,n[2]=a,n[3]=s,n[4]=u,n[5]=c,n[6]=f,n[7]=m,n[8]=h,n):new l(i,s,f,o,u,m,a,c,h)},l.multiplyByVector=function(r,n,i){var o=n.x,a=n.y,s=n.z,u=r[0]*o+r[3]*a+r[6]*s,l=r[1]*o+r[4]*a+r[7]*s,c=r[2]*o+r[5]*a+r[8]*s;return t(i)?(i.x=u,i.y=l,i.z=c,i):new e(u,l,c)},l.multiplyByScalar=function(e,r,n){return t(n)?(n[0]=e[0]*r,n[1]=e[1]*r,n[2]=e[2]*r,n[3]=e[3]*r,n[4]=e[4]*r,n[5]=e[5]*r,n[6]=e[6]*r,n[7]=e[7]*r,n[8]=e[8]*r,n):new l(e[0]*r,e[3]*r,e[6]*r,e[1]*r,e[4]*r,e[7]*r,e[2]*r,e[5]*r,e[8]*r)},l.negate=function(e,r){return t(r)?(r[0]=-e[0],r[1]=-e[1],r[2]=-e[2],r[3]=-e[3],r[4]=-e[4],r[5]=-e[5],r[6]=-e[6],r[7]=-e[7],r[8]=-e[8],r):new l(-e[0],-e[3],-e[6],-e[1],-e[4],-e[7],-e[2],-e[5],-e[8])},l.transpose=function(e,r){var n=e[0],i=e[3],o=e[6],a=e[1],s=e[4],u=e[7],c=e[2],f=e[5],m=e[8];return t(r)?(r[0]=n,r[1]=i,r[2]=o,r[3]=a,r[4]=s,r[5]=u,r[6]=c,r[7]=f,r[8]=m,r):new l(n,a,c,i,s,f,o,u,m)};var c=[1,0,0],f=[2,2,1],m=new l,h=new l;return l.getEigenDecomposition=function(e,r){var n=o.EPSILON20,i=10,c=0,f=0;t(r)||(r={});for(var y=r.unitary=l.clone(l.IDENTITY,r.unitary),d=r.diagonal=l.clone(e,r.diagonal),p=n*a(d);i>f&&s(d)>p;)u(d,m),l.transpose(m,h),l.multiply(d,m,d),l.multiply(h,d,d),l.multiply(y,m,y),++c>2&&(++f,c=0);return r},l.abs=function(e,r){return t(r)?(r[0]=Math.abs(e[0]),r[1]=Math.abs(e[1]),r[2]=Math.abs(e[2]),r[3]=Math.abs(e[3]),r[4]=Math.abs(e[4]),r[5]=Math.abs(e[5]),r[6]=Math.abs(e[6]),r[7]=Math.abs(e[7]),r[8]=Math.abs(e[8]),r):new l(Math.abs(e[0]),Math.abs(e[3]),Math.abs(e[6]),Math.abs(e[1]),Math.abs(e[4]),Math.abs(e[7]),Math.abs(e[2]),Math.abs(e[5]),Math.abs(e[8]))},l.determinant=function(e){var r=e[0],t=e[3],n=e[6],i=e[1],o=e[4],a=e[7],s=e[2],u=e[5],l=e[8];return r*(o*l-u*a)+i*(u*n-t*l)+s*(t*a-o*n)},l.inverse=function(e,r){var t=e[0],i=e[1],a=e[2],s=e[3],u=e[4],c=e[5],f=e[6],m=e[7],h=e[8],y=l.determinant(e);if(Math.abs(y)<=o.EPSILON15)throw new n("matrix is not invertible");var d=new l(u*h-m*c,f*c-s*h,s*m-f*u,m*a-i*h,t*h-f*a,f*i-t*m,i*c-u*a,s*a-t*c,t*u-s*i),p=1/y;return l.multiplyByScalar(d,p,r)},l.equals=function(e,r){return e===r||t(e)&&t(r)&&e[0]===r[0]&&e[1]===r[1]&&e[2]===r[2]&&e[3]===r[3]&&e[4]===r[4]&&e[5]===r[5]&&e[6]===r[6]&&e[7]===r[7]&&e[8]===r[8]},l.equalsEpsilon=function(e,r,n){return e===r||t(e)&&t(r)&&Math.abs(e[0]-r[0])<=n&&Math.abs(e[1]-r[1])<=n&&Math.abs(e[2]-r[2])<=n&&Math.abs(e[3]-r[3])<=n&&Math.abs(e[4]-r[4])<=n&&Math.abs(e[5]-r[5])<=n&&Math.abs(e[6]-r[6])<=n&&Math.abs(e[7]-r[7])<=n&&Math.abs(e[8]-r[8])<=n},l.IDENTITY=i(new l(1,0,0,0,1,0,0,0,1)),l.COLUMN0ROW0=0,l.COLUMN0ROW1=1,l.COLUMN0ROW2=2,l.COLUMN1ROW0=3,l.COLUMN1ROW1=4,l.COLUMN1ROW2=5,l.COLUMN2ROW0=6,l.COLUMN2ROW1=7,l.COLUMN2ROW2=8,l.prototype.clone=function(e){return l.clone(this,e)},l.prototype.equals=function(e){return l.equals(this,e)},l.prototype.equalsEpsilon=function(e,r){return l.equalsEpsilon(this,e,r)},l.prototype.toString=function(){return"("+this[0]+", "+this[3]+", "+this[6]+")\n"+"("+this[1]+", "+this[4]+", "+this[7]+")\n"+"("+this[2]+", "+this[5]+", "+this[8]+")"},l}),define("Core/RuntimeError",["./defined"],function(e){"use strict";var r=function(e){this.name="RuntimeError",this.message=e;var r;try{throw new Error}catch(t){r=t.stack}this.stack=r};return r.prototype.toString=function(){var r=this.name+": "+this.message;return e(this.stack)&&(r+="\n"+this.stack.toString()),r},r}),define("Core/Matrix4",["./Cartesian3","./Cartesian4","./defaultValue","./defined","./DeveloperError","./freezeObject","./Math","./Matrix3","./RuntimeError"],function(e,r,t,n,i,o,a,s,u){"use strict";var l=function(e,r,n,i,o,a,s,u,l,c,f,m,h,y,d,p){this[0]=t(e,0),this[1]=t(o,0),this[2]=t(l,0),this[3]=t(h,0),this[4]=t(r,0),this[5]=t(a,0),this[6]=t(c,0),this[7]=t(y,0),this[8]=t(n,0),this[9]=t(s,0),this[10]=t(f,0),this[11]=t(d,0),this[12]=t(i,0),this[13]=t(u,0),this[14]=t(m,0),this[15]=t(p,0)};l.clone=function(e,r){return n(e)?n(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r[9]=e[9],r[10]=e[10],r[11]=e[11],r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15],r):new l(e[0],e[4],e[8],e[12],e[1],e[5],e[9],e[13],e[2],e[6],e[10],e[14],e[3],e[7],e[11],e[15]):void 0},l.fromArray=function(e,r,i){return r=t(r,0),n(i)||(i=new l),i[0]=e[r],i[1]=e[r+1],i[2]=e[r+2],i[3]=e[r+3],i[4]=e[r+4],i[5]=e[r+5],i[6]=e[r+6],i[7]=e[r+7],i[8]=e[r+8],i[9]=e[r+9],i[10]=e[r+10],i[11]=e[r+11],i[12]=e[r+12],i[13]=e[r+13],i[14]=e[r+14],i[15]=e[r+15],i},l.fromColumnMajorArray=function(e,r){return l.clone(e,r)},l.fromRowMajorArray=function(e,r){return n(r)?(r[0]=e[0],r[1]=e[4],r[2]=e[8],r[3]=e[12],r[4]=e[1],r[5]=e[5],r[6]=e[9],r[7]=e[13],r[8]=e[2],r[9]=e[6],r[10]=e[10],r[11]=e[14],r[12]=e[3],r[13]=e[7],r[14]=e[11],r[15]=e[15],r):new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])},l.fromRotationTranslation=function(e,r,t){return n(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=0,t[4]=e[3],t[5]=e[4],t[6]=e[5],t[7]=0,t[8]=e[6],t[9]=e[7],t[10]=e[8],t[11]=0,t[12]=r.x,t[13]=r.y,t[14]=r.z,t[15]=1,t):new l(e[0],e[3],e[6],r.x,e[1],e[4],e[7],r.y,e[2],e[5],e[8],r.z,0,0,0,1)},new s,l.fromTranslationQuaternionRotationScale=function(e,r,t,i){n(i)||(i=new l);var o=t.x,a=t.y,s=t.z,u=r.x*r.x,c=r.x*r.y,f=r.x*r.z,m=r.x*r.w,h=r.y*r.y,y=r.y*r.z,d=r.y*r.w,p=r.z*r.z,v=r.z*r.w,g=r.w*r.w,E=u-h-p+g,C=2*(c-v),S=2*(f+d),w=2*(c+v),x=-u+h-p+g,A=2*(y-m),M=2*(f-d),b=2*(y+m),T=-u-h+p+g;return i[0]=E*o,i[1]=w*o,i[2]=M*o,i[3]=0,i[4]=C*a,i[5]=x*a,i[6]=b*a,i[7]=0,i[8]=S*s,i[9]=A*s,i[10]=T*s,i[11]=0,i[12]=e.x,i[13]=e.y,i[14]=e.z,i[15]=1,i},l.fromTranslation=function(e,r){return l.fromRotationTranslation(s.IDENTITY,e,r)},l.fromScale=function(e,r){return n(r)?(r[0]=e.x,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=e.y,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=e.z,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r):new l(e.x,0,0,0,0,e.y,0,0,0,0,e.z,0,0,0,0,1)},l.fromUniformScale=function(e,r){return n(r)?(r[0]=e,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=e,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=e,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r):new l(e,0,0,0,0,e,0,0,0,0,e,0,0,0,0,1)};var c=new e,f=new e,m=new e;l.fromCamera=function(r,t){var i=r.eye,o=r.target,a=r.up;e.normalize(e.subtract(o,i,c),c),e.normalize(e.cross(c,a,f),f),e.normalize(e.cross(f,c,m),m);var s=f.x,u=f.y,h=f.z,y=c.x,d=c.y,p=c.z,v=m.x,g=m.y,E=m.z,C=i.x,S=i.y,w=i.z,x=s*-C+u*-S+h*-w,A=v*-C+g*-S+E*-w,M=y*C+d*S+p*w;return n(t)?(t[0]=s,t[1]=v,t[2]=-y,t[3]=0,t[4]=u,t[5]=g,t[6]=-d,t[7]=0,t[8]=h,t[9]=E,t[10]=-p,t[11]=0,t[12]=x,t[13]=A,t[14]=M,t[15]=1,t):new l(s,u,h,x,v,g,E,A,-y,-d,-p,M,0,0,0,1)},l.computePerspectiveFieldOfView=function(e,r,t,i,o){var a=Math.tan(.5*e),s=1/a,u=s/r,c=(i+t)/(t-i),f=2*i*t/(t-i);return n(o)?(o[0]=u,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=s,o[6]=0,o[7]=0,o[8]=0,o[9]=0,o[10]=c,o[11]=-1,o[12]=0,o[13]=0,o[14]=f,o[15]=0,o):new l(u,0,0,0,0,s,0,0,0,0,c,f,0,0,-1,0)},l.computeOrthographicOffCenter=function(e,r,t,i,o,a,s){var u=1/(r-e),c=1/(i-t),f=1/(a-o),m=-(r+e)*u,h=-(i+t)*c,y=-(a+o)*f;return u*=2,c*=2,f*=-2,n(s)?(s[0]=u,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=c,s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=f,s[11]=0,s[12]=m,s[13]=h,s[14]=y,s[15]=1,s):new l(u,0,0,m,0,c,0,h,0,0,f,y,0,0,0,1)},l.computePerspectiveOffCenter=function(e,r,t,i,o,a,s){var u=2*o/(r-e),c=2*o/(i-t),f=(r+e)/(r-e),m=(i+t)/(i-t),h=-(a+o)/(a-o),y=-1,d=-2*a*o/(a-o);return n(s)?(s[0]=u,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=c,s[6]=0,s[7]=0,s[8]=f,s[9]=m,s[10]=h,s[11]=y,s[12]=0,s[13]=0,s[14]=d,s[15]=0,s):new l(u,0,f,0,0,c,m,0,0,0,h,d,0,0,y,0)},l.computeInfinitePerspectiveOffCenter=function(e,r,t,i,o,a){var s=2*o/(r-e),u=2*o/(i-t),c=(r+e)/(r-e),f=(i+t)/(i-t),m=-1,h=-1,y=-2*o;return n(a)?(a[0]=s,a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=u,a[6]=0,a[7]=0,a[8]=c,a[9]=f,a[10]=m,a[11]=h,a[12]=0,a[13]=0,a[14]=y,a[15]=0,a):new l(s,0,c,0,0,u,f,0,0,0,m,y,0,0,h,0)},l.computeViewportTransformation=function(e,r,i,o){e=t(e,t.EMPTY_OBJECT);var a=t(e.x,0),s=t(e.y,0),u=t(e.width,0),c=t(e.height,0);r=t(r,0),i=t(i,1);var f=.5*u,m=.5*c,h=.5*(i-r),y=f,d=m,p=h,v=a+f,g=s+m,E=r+h,C=1;return n(o)?(o[0]=y,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=d,o[6]=0,o[7]=0,o[8]=0,o[9]=0,o[10]=p,o[11]=0,o[12]=v,o[13]=g,o[14]=E,o[15]=C,o):new l(y,0,0,v,0,d,0,g,0,0,p,E,0,0,0,C)},l.toArray=function(e,r){return n(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r[9]=e[9],r[10]=e[10],r[11]=e[11],r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15],r):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]]},l.getElementIndex=function(e,r){return 4*e+r},l.getColumn=function(e,t,i){var o=4*t,a=e[o],s=e[o+1],u=e[o+2],l=e[o+3];return n(i)?(i.x=a,i.y=s,i.z=u,i.w=l,i):new r(a,s,u,l)},l.setColumn=function(e,r,t,n){n=l.clone(e,n);var i=4*r;return n[i]=t.x,n[i+1]=t.y,n[i+2]=t.z,n[i+3]=t.w,n},l.getRow=function(e,t,i){var o=e[t],a=e[t+4],s=e[t+8],u=e[t+12];return n(i)?(i.x=o,i.y=a,i.z=s,i.w=u,i):new r(o,a,s,u)},l.setRow=function(e,r,t,n){return n=l.clone(e,n),n[r]=t.x,n[r+4]=t.y,n[r+8]=t.z,n[r+12]=t.w,n},l.multiply=function(e,r,t){var i=e[0],o=e[1],a=e[2],s=e[3],u=e[4],c=e[5],f=e[6],m=e[7],h=e[8],y=e[9],d=e[10],p=e[11],v=e[12],g=e[13],E=e[14],C=e[15],S=r[0],w=r[1],x=r[2],A=r[3],M=r[4],b=r[5],T=r[6],I=r[7],O=r[8],N=r[9],R=r[10],L=r[11],z=r[12],F=r[13],D=r[14],P=r[15],B=i*S+u*w+h*x+v*A,_=o*S+c*w+y*x+g*A,U=a*S+f*w+d*x+E*A,G=s*S+m*w+p*x+C*A,q=i*M+u*b+h*T+v*I,Y=o*M+c*b+y*T+g*I,W=a*M+f*b+d*T+E*I,V=s*M+m*b+p*T+C*I,H=i*O+u*N+h*R+v*L,k=o*O+c*N+y*R+g*L,j=a*O+f*N+d*R+E*L,K=s*O+m*N+p*R+C*L,Z=i*z+u*F+h*D+v*P,Q=o*z+c*F+y*D+g*P,X=a*z+f*F+d*D+E*P,J=s*z+m*F+p*D+C*P;return n(t)?(t[0]=B,t[1]=_,t[2]=U,t[3]=G,t[4]=q,t[5]=Y,t[6]=W,t[7]=V,t[8]=H,t[9]=k,t[10]=j,t[11]=K,t[12]=Z,t[13]=Q,t[14]=X,t[15]=J,t):new l(B,q,H,Z,_,Y,k,Q,U,W,j,X,G,V,K,J)},l.multiplyTransformation=function(e,r,t){var i=e[0],o=e[1],a=e[2],s=e[4],u=e[5],c=e[6],f=e[8],m=e[9],h=e[10],y=e[12],d=e[13],p=e[14],v=r[0],g=r[1],E=r[2],C=r[4],S=r[5],w=r[6],x=r[8],A=r[9],M=r[10],b=r[12],T=r[13],I=r[14],O=i*v+s*g+f*E,N=o*v+u*g+m*E,R=a*v+c*g+h*E,L=i*C+s*S+f*w,z=o*C+u*S+m*w,F=a*C+c*S+h*w,D=i*x+s*A+f*M,P=o*x+u*A+m*M,B=a*x+c*A+h*M,_=i*b+s*T+f*I+y,U=o*b+u*T+m*I+d,G=a*b+c*T+h*I+p;return n(t)?(t[0]=O,t[1]=N,t[2]=R,t[3]=0,t[4]=L,t[5]=z,t[6]=F,t[7]=0,t[8]=D,t[9]=P,t[10]=B,t[11]=0,t[12]=_,t[13]=U,t[14]=G,t[15]=1,t):new l(O,L,D,_,N,z,P,U,R,F,B,G,0,0,0,1)},l.multiplyByTranslation=function(e,r,t){var i=r.x,o=r.y,a=r.z,s=i*e[0]+o*e[4]+a*e[8]+e[12],u=i*e[1]+o*e[5]+a*e[9]+e[13],c=i*e[2]+o*e[6]+a*e[10]+e[14];return n(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=s,t[13]=u,t[14]=c,t[15]=e[15],t):new l(e[0],e[4],e[8],s,e[1],e[5],e[9],u,e[2],e[6],e[10],c,e[3],e[7],e[11],e[15])};var h=new e;return l.multiplyByUniformScale=function(e,r,t){return h.x=r,h.y=r,h.z=r,l.multiplyByScale(e,h,t) +},l.multiplyByScale=function(e,r,t){var i=r.x,o=r.y,a=r.z;return 1===i&&1===o&&1===a?l.clone(e,t):n(t)?(t[0]=i*e[0],t[1]=i*e[1],t[2]=i*e[2],t[3]=0,t[4]=o*e[4],t[5]=o*e[5],t[6]=o*e[6],t[7]=0,t[8]=a*e[8],t[9]=a*e[9],t[10]=a*e[10],t[11]=0,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=1,t):new l(i*e[0],o*e[4],a*e[8],e[12],i*e[1],o*e[5],a*e[9],e[13],i*e[2],o*e[6],a*e[10],e[14],0,0,0,1)},l.multiplyByVector=function(e,t,i){var o=t.x,a=t.y,s=t.z,u=t.w,l=e[0]*o+e[4]*a+e[8]*s+e[12]*u,c=e[1]*o+e[5]*a+e[9]*s+e[13]*u,f=e[2]*o+e[6]*a+e[10]*s+e[14]*u,m=e[3]*o+e[7]*a+e[11]*s+e[15]*u;return n(i)?(i.x=l,i.y=c,i.z=f,i.w=m,i):new r(l,c,f,m)},l.multiplyByPointAsVector=function(r,t,i){var o=t.x,a=t.y,s=t.z,u=r[0]*o+r[4]*a+r[8]*s,l=r[1]*o+r[5]*a+r[9]*s,c=r[2]*o+r[6]*a+r[10]*s;return n(i)?(i.x=u,i.y=l,i.z=c,i):new e(u,l,c)},l.multiplyByPoint=function(r,t,i){var o=t.x,a=t.y,s=t.z,u=r[0]*o+r[4]*a+r[8]*s+r[12],l=r[1]*o+r[5]*a+r[9]*s+r[13],c=r[2]*o+r[6]*a+r[10]*s+r[14];return n(i)?(i.x=u,i.y=l,i.z=c,i):new e(u,l,c)},l.multiplyByScalar=function(e,r,t){return n(t)?(t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*r,t[9]=e[9]*r,t[10]=e[10]*r,t[11]=e[11]*r,t[12]=e[12]*r,t[13]=e[13]*r,t[14]=e[14]*r,t[15]=e[15]*r,t):new l(e[0]*r,e[4]*r,e[8]*r,e[12]*r,e[1]*r,e[5]*r,e[9]*r,e[13]*r,e[2]*r,e[6]*r,e[10]*r,e[14]*r,e[3]*r,e[7]*r,e[11]*r,e[15]*r)},l.negate=function(e,r){return n(r)?(r[0]=-e[0],r[1]=-e[1],r[2]=-e[2],r[3]=-e[3],r[4]=-e[4],r[5]=-e[5],r[6]=-e[6],r[7]=-e[7],r[8]=-e[8],r[9]=-e[9],r[10]=-e[10],r[11]=-e[11],r[12]=-e[12],r[13]=-e[13],r[14]=-e[14],r[15]=-e[15],r):new l(-e[0],-e[4],-e[8],-e[12],-e[1],-e[5],-e[9],-e[13],-e[2],-e[6],-e[10],-e[14],-e[3],-e[7],-e[11],-e[15])},l.transpose=function(e,r){if(!n(r))return new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]);var t=e[1],i=e[2],o=e[3],a=e[6],s=e[7],u=e[11];return r[0]=e[0],r[1]=e[4],r[2]=e[8],r[3]=e[12],r[4]=t,r[5]=e[5],r[6]=e[9],r[7]=e[13],r[8]=i,r[9]=a,r[10]=e[10],r[11]=e[14],r[12]=o,r[13]=s,r[14]=u,r[15]=e[15],r},l.abs=function(e,r){return n(r)?(r[0]=Math.abs(e[0]),r[1]=Math.abs(e[1]),r[2]=Math.abs(e[2]),r[3]=Math.abs(e[3]),r[4]=Math.abs(e[4]),r[5]=Math.abs(e[5]),r[6]=Math.abs(e[6]),r[7]=Math.abs(e[7]),r[8]=Math.abs(e[8]),r[9]=Math.abs(e[9]),r[10]=Math.abs(e[10]),r[11]=Math.abs(e[11]),r[12]=Math.abs(e[12]),r[13]=Math.abs(e[13]),r[14]=Math.abs(e[14]),r[15]=Math.abs(e[15]),r):new l(Math.abs(e[0]),Math.abs(e[4]),Math.abs(e[8]),Math.abs(e[12]),Math.abs(e[1]),Math.abs(e[5]),Math.abs(e[9]),Math.abs(e[13]),Math.abs(e[2]),Math.abs(e[6]),Math.abs(e[10]),Math.abs(e[14]),Math.abs(e[3]),Math.abs(e[7]),Math.abs(e[11]),Math.abs(e[15]))},l.equals=function(e,r){return e===r||n(e)&&n(r)&&e[0]===r[0]&&e[1]===r[1]&&e[2]===r[2]&&e[3]===r[3]&&e[4]===r[4]&&e[5]===r[5]&&e[6]===r[6]&&e[7]===r[7]&&e[8]===r[8]&&e[9]===r[9]&&e[10]===r[10]&&e[11]===r[11]&&e[12]===r[12]&&e[13]===r[13]&&e[14]===r[14]&&e[15]===r[15]},l.equalsEpsilon=function(e,r,t){return e===r||n(e)&&n(r)&&Math.abs(e[0]-r[0])<=t&&Math.abs(e[1]-r[1])<=t&&Math.abs(e[2]-r[2])<=t&&Math.abs(e[3]-r[3])<=t&&Math.abs(e[4]-r[4])<=t&&Math.abs(e[5]-r[5])<=t&&Math.abs(e[6]-r[6])<=t&&Math.abs(e[7]-r[7])<=t&&Math.abs(e[8]-r[8])<=t&&Math.abs(e[9]-r[9])<=t&&Math.abs(e[10]-r[10])<=t&&Math.abs(e[11]-r[11])<=t&&Math.abs(e[12]-r[12])<=t&&Math.abs(e[13]-r[13])<=t&&Math.abs(e[14]-r[14])<=t&&Math.abs(e[15]-r[15])<=t},l.getTranslation=function(r,t){return n(t)?(t.x=r[12],t.y=r[13],t.z=r[14],t):new e(r[12],r[13],r[14])},l.getRotation=function(e,r){return n(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[4],r[4]=e[5],r[5]=e[6],r[6]=e[8],r[7]=e[9],r[8]=e[10],r):new s(e[0],e[4],e[8],e[1],e[5],e[9],e[2],e[6],e[10])},l.inverse=function(e,r){var t=e[0],i=e[4],o=e[8],s=e[12],c=e[1],f=e[5],m=e[9],h=e[13],y=e[2],d=e[6],p=e[10],v=e[14],g=e[3],E=e[7],C=e[11],S=e[15],w=p*S,x=v*C,A=d*S,M=v*E,b=d*C,T=p*E,I=y*S,O=v*g,N=y*C,R=p*g,L=y*E,z=d*g,F=w*f+M*m+b*h-(x*f+A*m+T*h),D=x*c+I*m+R*h-(w*c+O*m+N*h),P=A*c+O*f+L*h-(M*c+I*f+z*h),B=T*c+N*f+z*m-(b*c+R*f+L*m),_=x*i+A*o+T*s-(w*i+M*o+b*s),U=w*t+O*o+N*s-(x*t+I*o+R*s),G=M*t+I*i+z*s-(A*t+O*i+L*s),q=b*t+R*i+L*o-(T*t+N*i+z*o);w=o*h,x=s*m,A=i*h,M=s*f,b=i*m,T=o*f,I=t*h,O=s*c,N=t*m,R=o*c,L=t*f,z=i*c;var Y=w*E+M*C+b*S-(x*E+A*C+T*S),W=x*g+I*C+R*S-(w*g+O*C+N*S),V=A*g+O*E+L*S-(M*g+I*E+z*S),H=T*g+N*E+z*C-(b*g+R*E+L*C),k=A*p+T*v+x*d-(b*v+w*d+M*p),j=N*v+w*y+O*p-(I*p+R*v+x*y),K=I*d+z*v+M*y-(L*v+A*y+O*d),Z=L*p+b*y+R*d-(N*d+z*p+T*y),Q=t*F+i*D+o*P+s*B;if(Math.abs(Q)s.MaximumLatitude?e=s.MaximumLatitude:e<-s.MaximumLatitude&&(e=-s.MaximumLatitude);var r=Math.sin(e);return.5*Math.log((1+r)/(1-r))},s.MaximumLatitude=s.mercatorAngleToGeodeticLatitude(Math.PI),s.prototype.project=function(e,t){var i=this._semimajorAxis,o=e.longitude*i,a=s.geodeticLatitudeToMercatorAngle(e.latitude)*i,u=e.height;return r(t)?(t.x=o,t.y=a,t.z=u,t):new n(o,a,u)},s.prototype.unproject=function(e,t){var n=this._oneOverSemimajorAxis,o=e.x*n,a=s.mercatorAngleToGeodeticLatitude(e.y*n),u=e.z;return r(t)?(t.longitude=o,t.latitude=a,t.height=u,t):new i(o,a,u)},s}),define("Core/Fullscreen",["./defined"],function(e){"use strict";var r,t={requestFullscreen:void 0,exitFullscreen:void 0,fullscreenEnabled:void 0,fullscreenElement:void 0,fullscreenchange:void 0,fullscreenerror:void 0},n={};return n.supportsFullscreen=function(){if(e(r))return r;r=!1;var n=document.body;if("function"==typeof n.requestFullscreen)return t.requestFullscreen="requestFullscreen",t.exitFullscreen="exitFullscreen",t.fullscreenEnabled="fullscreenEnabled",t.fullscreenElement="fullscreenElement",t.fullscreenchange="fullscreenchange",t.fullscreenerror="fullscreenerror",r=!0;for(var i,o=["webkit","moz","o","ms","khtml"],a=0,s=o.length;s>a;++a){var u=o[a];i=u+"RequestFullscreen","function"==typeof n[i]?(t.requestFullscreen=i,r=!0):(i=u+"RequestFullScreen","function"==typeof n[i]&&(t.requestFullscreen=i,r=!0)),i=u+"ExitFullscreen","function"==typeof document[i]?t.exitFullscreen=i:(i=u+"CancelFullScreen","function"==typeof document[i]&&(t.exitFullscreen=i)),i=u+"FullscreenEnabled",e(document[i])?t.fullscreenEnabled=i:(i=u+"FullScreenEnabled",e(document[i])&&(t.fullscreenEnabled=i)),i=u+"FullscreenElement",e(document[i])?t.fullscreenElement=i:(i=u+"FullScreenElement",e(document[i])&&(t.fullscreenElement=i)),i=u+"fullscreenchange",e(document["on"+i])&&("ms"===u&&(i="MSFullscreenChange"),t.fullscreenchange=i),i=u+"fullscreenerror",e(document["on"+i])&&("ms"===u&&(i="MSFullscreenError"),t.fullscreenerror=i)}return r},n.requestFullscreen=function(e){n.supportsFullscreen()&&e[t.requestFullscreen]()},n.exitFullscreen=function(){n.supportsFullscreen()&&document[t.exitFullscreen]()},n.isFullscreenEnabled=function(){return n.supportsFullscreen()?document[t.fullscreenEnabled]:void 0},n.getFullscreenElement=function(){return n.supportsFullscreen()?document[t.fullscreenElement]:void 0},n.isFullscreen=function(){return n.supportsFullscreen()?null!==n.getFullscreenElement():void 0},n.getFullscreenChangeEventName=function(){return n.supportsFullscreen()?t.fullscreenchange:void 0},n.getFullscreenErrorEventName=function(){return n.supportsFullscreen()?t.fullscreenerror:void 0},n}),define("Core/FeatureDetection",["./defined","./Fullscreen"],function(e,r){"use strict";function t(e){for(var r=e.split("."),t=0,n=r.length;n>t;++t)r[t]=parseInt(r[t],10);return r}function n(){if(!e(f)){var r=/ Chrome\/([\.0-9]+)/.exec(navigator.userAgent);null===r?f=!1:(f=!0,m=t(r[1]))}return f}function i(){return n()&&m}function o(){if(!e(h))if(n()||!/ Safari\/[\.0-9]+/.test(navigator.userAgent))h=!1;else{var r=/ Version\/([\.0-9]+)/.exec(navigator.userAgent);null===r?h=!1:(h=!0,y=t(r[1]))}return h}function a(){return o()&&y}function s(){if(!e(d)){var r=/ AppleWebKit\/([\.0-9]+)(\+?)/.exec(navigator.userAgent);null===r?d=!1:(d=!0,p=t(r[1]),p.isNightly=!!r[2])}return d}function u(){return s()&&p}function l(){if(!e(v)){var r;"Microsoft Internet Explorer"===navigator.appName?(r=/MSIE ([0-9]{1,}[\.0-9]{0,})/.exec(navigator.userAgent),null!==r&&(v=!0,g=t(r[1]))):"Netscape"===navigator.appName?(r=/Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/.exec(navigator.userAgent),null!==r&&(v=!0,g=t(r[1]))):v=!1}return v}function c(){return l()&&g}var f,m,h,y,d,p,v,g,E={isChrome:n,chromeVersion:i,isSafari:o,safariVersion:a,isWebkit:s,webkitVersion:u,isInternetExplorer:l,internetExplorerVersion:c};E.supportsFullscreen=function(){return r.supportsFullscreen()},E.supportsTypedArrays=function(){return"undefined"!=typeof ArrayBuffer};var C;return E.supportsTransferringArrayBuffers=function(){if(!e(C)){if(!E.supportsTypedArrays())return C=!1,void 0;var r=new ArrayBuffer(1);try{postMessage({value:r},[r]),C=!0}catch(t){C=!1}}return C},E}),define("Core/Color",["./defaultValue","./defined","./freezeObject","./DeveloperError","./FeatureDetection","./Math"],function(e,r,t,n,i,o){"use strict";function a(e,r,t){return 0>t&&(t+=1),t>1&&(t-=1),1>6*t?e+6*(r-e)*t:1>2*t?r:2>3*t?e+6*(r-e)*(2/3-t):e}var s=function(r,t,n,i){this.red=e(r,1),this.green=e(t,1),this.blue=e(n,1),this.alpha=e(i,1)};s.fromBytes=function(r,t,n,i){return r=s.byteToFloat(e(r,255)),t=s.byteToFloat(e(t,255)),n=s.byteToFloat(e(n,255)),i=s.byteToFloat(e(i,255)),new s(r,t,n,i)};var u,l,c;i.supportsTypedArrays()&&(u=new ArrayBuffer(4),l=new Uint32Array(u),c=new Uint8Array(u)),s.fromRgba=function(e){return l[0]=e,s.fromBytes(c[0],c[1],c[2],c[3])},s.fromHsl=function(r,t,n,i){r=e(r,0)%1,t=e(t,0),n=e(n,0),i=e(i,1);var o=n,u=n,l=n;if(0!==t){var c;c=.5>n?n*(1+t):n+t-n*t;var f=2*n-c;o=a(f,c,r+1/3),u=a(f,c,r),l=a(f,c,r-1/3)}return new s(o,u,l,i)},s.fromRandom=function(t,n){t=e(t,e.EMPTY_OBJECT);var i=t.red;if(!r(i)){var a=e(t.minimumRed,0),u=e(t.maximumRed,1);i=a+o.nextRandomNumber()*(u-a)}var l=t.green;if(!r(l)){var c=e(t.minimumGreen,0),f=e(t.maximumGreen,1);l=c+o.nextRandomNumber()*(f-c)}var m=t.blue;if(!r(m)){var h=e(t.minimumBlue,0),y=e(t.maximumBlue,1);m=h+o.nextRandomNumber()*(y-h)}var d=t.alpha;if(!r(d)){var p=e(t.minimumAlpha,0),v=e(t.maximumAlpha,1);d=p+o.nextRandomNumber()*(v-p)}return r(n)?(n.red=i,n.green=l,n.blue=m,n.alpha=d,n):new s(i,l,m,d)};var f=/^#([0-9a-f])([0-9a-f])([0-9a-f])$/i,m=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i,h=/^rgba?\(\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)(?:\s*,\s*([0-9.]+))?\s*\)$/i,y=/^hsla?\(\s*([0-9.]+)\s*,\s*([0-9.]+%)\s*,\s*([0-9.]+%)(?:\s*,\s*([0-9.]+))?\s*\)$/i;return s.fromCssColorString=function(t){var n=s[t.toUpperCase()];if(r(n))return s.clone(n);var i=f.exec(t);return null!==i?new s(parseInt(i[1],16)/15,parseInt(i[2],16)/15,parseInt(i[3],16)/15):(i=m.exec(t),null!==i?new s(parseInt(i[1],16)/255,parseInt(i[2],16)/255,parseInt(i[3],16)/255):(i=h.exec(t),null!==i?new s(parseFloat(i[1])/("%"===i[1].substr(-1)?100:255),parseFloat(i[2])/("%"===i[2].substr(-1)?100:255),parseFloat(i[3])/("%"===i[3].substr(-1)?100:255),parseFloat(e(i[4],"1.0"))):(i=y.exec(t),null!==i?s.fromHsl(parseFloat(i[1])/360,parseFloat(i[2])/100,parseFloat(i[3])/100,parseFloat(e(i[4],"1.0"))):void 0)))},s.packedLength=4,s.pack=function(r,t,n){n=e(n,0),t[n++]=r.red,t[n++]=r.green,t[n++]=r.blue,t[n]=r.alpha},s.unpack=function(t,n,i){return n=e(n,0),r(i)||(i=new s),i.red=t[n++],i.green=t[n++],i.blue=t[n++],i.alpha=t[n],i},s.byteToFloat=function(e){return e/255},s.floatToByte=function(e){return 1===e?255:0|256*e},s.clone=function(e,t){return r(e)?r(t)?(t.red=e.red,t.green=e.green,t.blue=e.blue,t.alpha=e.alpha,t):new s(e.red,e.green,e.blue,e.alpha):void 0},s.equals=function(e,t){return e===t||r(e)&&r(t)&&e.red===t.red&&e.green===t.green&&e.blue===t.blue&&e.alpha===t.alpha},s.prototype.clone=function(e){return s.clone(this,e)},s.prototype.equals=function(e){return s.equals(this,e)},s.prototype.equalsEpsilon=function(e,t){return this===e||r(e)&&Math.abs(this.red-e.red)<=t&&Math.abs(this.green-e.green)<=t&&Math.abs(this.blue-e.blue)<=t&&Math.abs(this.alpha-e.alpha)<=t},s.prototype.toString=function(){return"("+this.red+", "+this.green+", "+this.blue+", "+this.alpha+")"},s.prototype.toCssColorString=function(){var e=s.floatToByte(this.red),r=s.floatToByte(this.green),t=s.floatToByte(this.blue);return 1===this.alpha?"rgb("+e+","+r+","+t+")":"rgba("+e+","+r+","+t+","+this.alpha+")"},s.prototype.toBytes=function(e){var t=s.floatToByte(this.red),n=s.floatToByte(this.green),i=s.floatToByte(this.blue),o=s.floatToByte(this.alpha);return r(e)?(e[0]=t,e[1]=n,e[2]=i,e[3]=o,e):[t,n,i,o]},s.prototype.toRgba=function(){return c[0]=s.floatToByte(this.red),c[1]=s.floatToByte(this.green),c[2]=s.floatToByte(this.blue),c[3]=s.floatToByte(this.alpha),l[0]},s.ALICEBLUE=t(s.fromCssColorString("#F0F8FF")),s.ANTIQUEWHITE=t(s.fromCssColorString("#FAEBD7")),s.AQUA=t(s.fromCssColorString("#00FFFF")),s.AQUAMARINE=t(s.fromCssColorString("#7FFFD4")),s.AZURE=t(s.fromCssColorString("#F0FFFF")),s.BEIGE=t(s.fromCssColorString("#F5F5DC")),s.BISQUE=t(s.fromCssColorString("#FFE4C4")),s.BLACK=t(s.fromCssColorString("#000000")),s.BLANCHEDALMOND=t(s.fromCssColorString("#FFEBCD")),s.BLUE=t(s.fromCssColorString("#0000FF")),s.BLUEVIOLET=t(s.fromCssColorString("#8A2BE2")),s.BROWN=t(s.fromCssColorString("#A52A2A")),s.BURLYWOOD=t(s.fromCssColorString("#DEB887")),s.CADETBLUE=t(s.fromCssColorString("#5F9EA0")),s.CHARTREUSE=t(s.fromCssColorString("#7FFF00")),s.CHOCOLATE=t(s.fromCssColorString("#D2691E")),s.CORAL=t(s.fromCssColorString("#FF7F50")),s.CORNFLOWERBLUE=t(s.fromCssColorString("#6495ED")),s.CORNSILK=t(s.fromCssColorString("#FFF8DC")),s.CRIMSON=t(s.fromCssColorString("#DC143C")),s.CYAN=t(s.fromCssColorString("#00FFFF")),s.DARKBLUE=t(s.fromCssColorString("#00008B")),s.DARKCYAN=t(s.fromCssColorString("#008B8B")),s.DARKGOLDENROD=t(s.fromCssColorString("#B8860B")),s.DARKGRAY=t(s.fromCssColorString("#A9A9A9")),s.DARKGREEN=t(s.fromCssColorString("#006400")),s.DARKGREY=s.DARKGRAY,s.DARKKHAKI=t(s.fromCssColorString("#BDB76B")),s.DARKMAGENTA=t(s.fromCssColorString("#8B008B")),s.DARKOLIVEGREEN=t(s.fromCssColorString("#556B2F")),s.DARKORANGE=t(s.fromCssColorString("#FF8C00")),s.DARKORCHID=t(s.fromCssColorString("#9932CC")),s.DARKRED=t(s.fromCssColorString("#8B0000")),s.DARKSALMON=t(s.fromCssColorString("#E9967A")),s.DARKSEAGREEN=t(s.fromCssColorString("#8FBC8F")),s.DARKSLATEBLUE=t(s.fromCssColorString("#483D8B")),s.DARKSLATEGRAY=t(s.fromCssColorString("#2F4F4F")),s.DARKSLATEGREY=s.DARKSLATEGRAY,s.DARKTURQUOISE=t(s.fromCssColorString("#00CED1")),s.DARKVIOLET=t(s.fromCssColorString("#9400D3")),s.DEEPPINK=t(s.fromCssColorString("#FF1493")),s.DEEPSKYBLUE=t(s.fromCssColorString("#00BFFF")),s.DIMGRAY=t(s.fromCssColorString("#696969")),s.DIMGREY=s.DIMGRAY,s.DODGERBLUE=t(s.fromCssColorString("#1E90FF")),s.FIREBRICK=t(s.fromCssColorString("#B22222")),s.FLORALWHITE=t(s.fromCssColorString("#FFFAF0")),s.FORESTGREEN=t(s.fromCssColorString("#228B22")),s.FUSCHIA=t(s.fromCssColorString("#FF00FF")),s.GAINSBORO=t(s.fromCssColorString("#DCDCDC")),s.GHOSTWHITE=t(s.fromCssColorString("#F8F8FF")),s.GOLD=t(s.fromCssColorString("#FFD700")),s.GOLDENROD=t(s.fromCssColorString("#DAA520")),s.GRAY=t(s.fromCssColorString("#808080")),s.GREEN=t(s.fromCssColorString("#008000")),s.GREENYELLOW=t(s.fromCssColorString("#ADFF2F")),s.GREY=s.GRAY,s.HONEYDEW=t(s.fromCssColorString("#F0FFF0")),s.HOTPINK=t(s.fromCssColorString("#FF69B4")),s.INDIANRED=t(s.fromCssColorString("#CD5C5C")),s.INDIGO=t(s.fromCssColorString("#4B0082")),s.IVORY=t(s.fromCssColorString("#FFFFF0")),s.KHAKI=t(s.fromCssColorString("#F0E68C")),s.LAVENDER=t(s.fromCssColorString("#E6E6FA")),s.LAVENDAR_BLUSH=t(s.fromCssColorString("#FFF0F5")),s.LAWNGREEN=t(s.fromCssColorString("#7CFC00")),s.LEMONCHIFFON=t(s.fromCssColorString("#FFFACD")),s.LIGHTBLUE=t(s.fromCssColorString("#ADD8E6")),s.LIGHTCORAL=t(s.fromCssColorString("#F08080")),s.LIGHTCYAN=t(s.fromCssColorString("#E0FFFF")),s.LIGHTGOLDENRODYELLOW=t(s.fromCssColorString("#FAFAD2")),s.LIGHTGRAY=t(s.fromCssColorString("#D3D3D3")),s.LIGHTGREEN=t(s.fromCssColorString("#90EE90")),s.LIGHTGREY=s.LIGHTGRAY,s.LIGHTPINK=t(s.fromCssColorString("#FFB6C1")),s.LIGHTSEAGREEN=t(s.fromCssColorString("#20B2AA")),s.LIGHTSKYBLUE=t(s.fromCssColorString("#87CEFA")),s.LIGHTSLATEGRAY=t(s.fromCssColorString("#778899")),s.LIGHTSLATEGREY=s.LIGHTSLATEGRAY,s.LIGHTSTEELBLUE=t(s.fromCssColorString("#B0C4DE")),s.LIGHTYELLOW=t(s.fromCssColorString("#FFFFE0")),s.LIME=t(s.fromCssColorString("#00FF00")),s.LIMEGREEN=t(s.fromCssColorString("#32CD32")),s.LINEN=t(s.fromCssColorString("#FAF0E6")),s.MAGENTA=t(s.fromCssColorString("#FF00FF")),s.MAROON=t(s.fromCssColorString("#800000")),s.MEDIUMAQUAMARINE=t(s.fromCssColorString("#66CDAA")),s.MEDIUMBLUE=t(s.fromCssColorString("#0000CD")),s.MEDIUMORCHID=t(s.fromCssColorString("#BA55D3")),s.MEDIUMPURPLE=t(s.fromCssColorString("#9370DB")),s.MEDIUMSEAGREEN=t(s.fromCssColorString("#3CB371")),s.MEDIUMSLATEBLUE=t(s.fromCssColorString("#7B68EE")),s.MEDIUMSPRINGGREEN=t(s.fromCssColorString("#00FA9A")),s.MEDIUMTURQUOISE=t(s.fromCssColorString("#48D1CC")),s.MEDIUMVIOLETRED=t(s.fromCssColorString("#C71585")),s.MIDNIGHTBLUE=t(s.fromCssColorString("#191970")),s.MINTCREAM=t(s.fromCssColorString("#F5FFFA")),s.MISTYROSE=t(s.fromCssColorString("#FFE4E1")),s.MOCCASIN=t(s.fromCssColorString("#FFE4B5")),s.NAVAJOWHITE=t(s.fromCssColorString("#FFDEAD")),s.NAVY=t(s.fromCssColorString("#000080")),s.OLDLACE=t(s.fromCssColorString("#FDF5E6")),s.OLIVE=t(s.fromCssColorString("#808000")),s.OLIVEDRAB=t(s.fromCssColorString("#6B8E23")),s.ORANGE=t(s.fromCssColorString("#FFA500")),s.ORANGERED=t(s.fromCssColorString("#FF4500")),s.ORCHID=t(s.fromCssColorString("#DA70D6")),s.PALEGOLDENROD=t(s.fromCssColorString("#EEE8AA")),s.PALEGREEN=t(s.fromCssColorString("#98FB98")),s.PALETURQUOISE=t(s.fromCssColorString("#AFEEEE")),s.PALEVIOLETRED=t(s.fromCssColorString("#DB7093")),s.PAPAYAWHIP=t(s.fromCssColorString("#FFEFD5")),s.PEACHPUFF=t(s.fromCssColorString("#FFDAB9")),s.PERU=t(s.fromCssColorString("#CD853F")),s.PINK=t(s.fromCssColorString("#FFC0CB")),s.PLUM=t(s.fromCssColorString("#DDA0DD")),s.POWDERBLUE=t(s.fromCssColorString("#B0E0E6")),s.PURPLE=t(s.fromCssColorString("#800080")),s.RED=t(s.fromCssColorString("#FF0000")),s.ROSYBROWN=t(s.fromCssColorString("#BC8F8F")),s.ROYALBLUE=t(s.fromCssColorString("#4169E1")),s.SADDLEBROWN=t(s.fromCssColorString("#8B4513")),s.SALMON=t(s.fromCssColorString("#FA8072")),s.SANDYBROWN=t(s.fromCssColorString("#F4A460")),s.SEAGREEN=t(s.fromCssColorString("#2E8B57")),s.SEASHELL=t(s.fromCssColorString("#FFF5EE")),s.SIENNA=t(s.fromCssColorString("#A0522D")),s.SILVER=t(s.fromCssColorString("#C0C0C0")),s.SKYBLUE=t(s.fromCssColorString("#87CEEB")),s.SLATEBLUE=t(s.fromCssColorString("#6A5ACD")),s.SLATEGRAY=t(s.fromCssColorString("#708090")),s.SLATEGREY=s.SLATEGRAY,s.SNOW=t(s.fromCssColorString("#FFFAFA")),s.SPRINGGREEN=t(s.fromCssColorString("#00FF7F")),s.STEELBLUE=t(s.fromCssColorString("#4682B4")),s.TAN=t(s.fromCssColorString("#D2B48C")),s.TEAL=t(s.fromCssColorString("#008080")),s.THISTLE=t(s.fromCssColorString("#D8BFD8")),s.TOMATO=t(s.fromCssColorString("#FF6347")),s.TURQUOISE=t(s.fromCssColorString("#40E0D0")),s.VIOLET=t(s.fromCssColorString("#EE82EE")),s.WHEAT=t(s.fromCssColorString("#F5DEB3")),s.WHITE=t(s.fromCssColorString("#FFFFFF")),s.WHITESMOKE=t(s.fromCssColorString("#F5F5F5")),s.YELLOW=t(s.fromCssColorString("#FFFF00")),s.YELLOWGREEN=t(s.fromCssColorString("#9ACD32")),s}),define("Core/Enumeration",["./defined"],function(e){"use strict";var r=function(r,t,n){if(this.value=r,this.name=t,e(n))for(var i in n)n.hasOwnProperty(i)&&(this[i]=n[i])};return r.prototype.valueOf=function(){return this.value},r.prototype.toString=function(){return this.name},r}),define("Core/ComponentDatatype",["./defaultValue","./defined","./DeveloperError","./FeatureDetection","./Enumeration"],function(e,r,t,n,i){"use strict";if(!n.supportsTypedArrays())return{};var o={BYTE:new i(5120,"BYTE",{sizeInBytes:Int8Array.BYTES_PER_ELEMENT}),UNSIGNED_BYTE:new i(5121,"UNSIGNED_BYTE",{sizeInBytes:Uint8Array.BYTES_PER_ELEMENT}),SHORT:new i(5122,"SHORT",{sizeInBytes:Int16Array.BYTES_PER_ELEMENT}),UNSIGNED_SHORT:new i(5123,"UNSIGNED_SHORT",{sizeInBytes:Uint16Array.BYTES_PER_ELEMENT}),FLOAT:new i(5126,"FLOAT",{sizeInBytes:Float32Array.BYTES_PER_ELEMENT}),DOUBLE:new i(5130,"DOUBLE",{sizeInBytes:Float64Array.BYTES_PER_ELEMENT})};return o.validate=function(e){return r(e)&&r(e.value)&&(e.value===o.BYTE.value||e.value===o.UNSIGNED_BYTE.value||e.value===o.SHORT.value||e.value===o.UNSIGNED_SHORT.value||e.value===o.FLOAT.value||e.value===o.DOUBLE.value)},o.createTypedArray=function(e,r){switch(e.value){case o.BYTE.value:return new Int8Array(r);case o.UNSIGNED_BYTE.value:return new Uint8Array(r);case o.SHORT.value:return new Int16Array(r);case o.UNSIGNED_SHORT.value:return new Uint16Array(r);case o.FLOAT.value:return new Float32Array(r);case o.DOUBLE.value:return new Float64Array(r);default:throw new t("componentDatatype is not a valid enumeration value.")}},o.createArrayBufferView=function(r,n,i,a){switch(i=e(i,0),a=e(a,(n.byteLength-i)/r.sizeInBytes),r.value){case o.BYTE.value:return new Int8Array(n,i,a);case o.UNSIGNED_BYTE.value:return new Uint8Array(n,i,a);case o.SHORT.value:return new Int16Array(n,i,a);case o.UNSIGNED_SHORT.value:return new Uint16Array(n,i,a);case o.FLOAT.value:return new Float32Array(n,i,a);case o.DOUBLE.value:return new Float64Array(n,i,a);default:throw new t("componentDatatype is not a valid enumeration value.")}},o}),define("Core/Geometry",["./defaultValue","./defined","./DeveloperError"],function(e,r,t){"use strict";var n=function(r){r=e(r,e.EMPTY_OBJECT),this.attributes=r.attributes,this.indices=r.indices,this.primitiveType=r.primitiveType,this.boundingSphere=r.boundingSphere};return n.computeNumberOfVertices=function(e){var n=-1;for(var i in e.attributes)if(e.attributes.hasOwnProperty(i)&&r(e.attributes[i])&&r(e.attributes[i].values)){var o=e.attributes[i],a=o.values.length/o.componentsPerAttribute;if(n!==a&&-1!==n)throw new t("All attribute lists must have the same number of attributes.");n=a}return n},n}),define("Core/GeometryAttribute",["./defaultValue","./defined","./DeveloperError"],function(e){"use strict";var r=function(r){r=e(r,e.EMPTY_OBJECT),this.componentDatatype=r.componentDatatype,this.componentsPerAttribute=r.componentsPerAttribute,this.normalize=e(r.normalize,!1),this.values=r.values};return r}),define("Core/Cartesian2",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,r,t,n){"use strict";var i=function(r,t){this.x=e(r,0),this.y=e(t,0)};i.fromElements=function(e,t,n){return r(n)?(n.x=e,n.y=t,n):new i(e,t)},i.clone=function(e,t){return r(e)?r(t)?(t.x=e.x,t.y=e.y,t):new i(e.x,e.y):void 0},i.fromCartesian3=i.clone,i.fromCartesian4=i.clone,i.packedLength=2,i.pack=function(r,t,n){n=e(n,0),t[n++]=r.x,t[n]=r.y},i.unpack=function(t,n,o){return n=e(n,0),r(o)||(o=new i),o.x=t[n++],o.y=t[n],o},i.fromArray=i.unpack,i.getMaximumComponent=function(e){return Math.max(e.x,e.y)},i.getMinimumComponent=function(e){return Math.min(e.x,e.y)},i.getMinimumByComponent=function(e,t,n){return r(n)||(n=new i),n.x=Math.min(e.x,t.x),n.y=Math.min(e.y,t.y),n},i.getMaximumByComponent=function(e,t,n){return r(n)||(n=new i),n.x=Math.max(e.x,t.x),n.y=Math.max(e.y,t.y),n},i.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y},i.magnitude=function(e){return Math.sqrt(i.magnitudeSquared(e))};var o=new i;i.distance=function(e,r){return i.subtract(e,r,o),i.magnitude(o)},i.normalize=function(e,t){var n=i.magnitude(e);return r(t)?(t.x=e.x/n,t.y=e.y/n,t):new i(e.x/n,e.y/n)},i.dot=function(e,r){return e.x*r.x+e.y*r.y},i.multiplyComponents=function(e,t,n){return r(n)?(n.x=e.x*t.x,n.y=e.y*t.y,n):new i(e.x*t.x,e.y*t.y)},i.add=function(e,t,n){return r(n)?(n.x=e.x+t.x,n.y=e.y+t.y,n):new i(e.x+t.x,e.y+t.y)},i.subtract=function(e,t,n){return r(n)?(n.x=e.x-t.x,n.y=e.y-t.y,n):new i(e.x-t.x,e.y-t.y)},i.multiplyByScalar=function(e,t,n){return r(n)?(n.x=e.x*t,n.y=e.y*t,n):new i(e.x*t,e.y*t)},i.divideByScalar=function(e,t,n){return r(n)?(n.x=e.x/t,n.y=e.y/t,n):new i(e.x/t,e.y/t)},i.negate=function(e,t){return r(t)?(t.x=-e.x,t.y=-e.y,t):new i(-e.x,-e.y)},i.abs=function(e,t){return r(t)?(t.x=Math.abs(e.x),t.y=Math.abs(e.y),t):new i(Math.abs(e.x),Math.abs(e.y))};var a=new i;i.lerp=function(e,r,t,n){return i.multiplyByScalar(r,t,a),n=i.multiplyByScalar(e,1-t,n),i.add(a,n,n)};var s=new i,u=new i;i.angleBetween=function(e,r){return i.normalize(e,s),i.normalize(r,u),Math.acos(i.dot(s,u))};var l=new i;return i.mostOrthogonalAxis=function(e,r){var t=i.normalize(e,l);return i.abs(t,t),r=t.x<=t.y?i.clone(i.UNIT_X,r):i.clone(i.UNIT_Y,r)},i.equals=function(e,t){return e===t||r(e)&&r(t)&&e.x===t.x&&e.y===t.y},i.equalsEpsilon=function(e,t,n){return e===t||r(e)&&r(t)&&Math.abs(e.x-t.x)<=n&&Math.abs(e.y-t.y)<=n},i.ZERO=n(new i(0,0)),i.UNIT_X=n(new i(1,0)),i.UNIT_Y=n(new i(0,1)),i.prototype.clone=function(e){return i.clone(this,e)},i.prototype.equals=function(e){return i.equals(this,e)},i.prototype.equalsEpsilon=function(e,r){return i.equalsEpsilon(this,e,r)},i.prototype.toString=function(){return"("+this.x+", "+this.y+")"},i}),define("Core/barycentricCoordinates",["./Cartesian2","./Cartesian3","./defined","./DeveloperError"],function(e,r,t){"use strict";var n=new r,i=new r,o=new r,a=function(a,s,u,l,c){t(c)||(c=new r);var f,m,h,y,d,p,v,g;t(s.z)?(f=r.subtract(u,s,n),m=r.subtract(l,s,i),h=r.subtract(a,s,o),y=r.dot(f,f),d=r.dot(f,m),p=r.dot(f,h),v=r.dot(m,m),g=r.dot(m,h)):(f=e.subtract(u,s,n),m=e.subtract(l,s,i),h=e.subtract(a,s,o),y=e.dot(f,f),d=e.dot(f,m),p=e.dot(f,h),v=e.dot(m,m),g=e.dot(m,h));var E=1/(y*v-d*d);return c.y=(v*p-d*g)*E,c.z=(y*g-d*p)*E,c.x=1-c.y-c.z,c};return a}),define("Core/EncodedCartesian3",["./Cartesian3","./defined","./DeveloperError"],function(e,r){"use strict";var t=function(){this.high=e.clone(e.ZERO),this.low=e.clone(e.ZERO)};t.encode=function(e,t){r(t)||(t={high:0,low:0});var n;return e>=0?(n=65536*Math.floor(e/65536),t.high=n,t.low=e-n):(n=65536*Math.floor(-e/65536),t.high=-n,t.low=e+n),t};var n={high:0,low:0};t.fromCartesian=function(e,i){r(i)||(i=new t);var o=i.high,a=i.low;return t.encode(e.x,n),o.x=n.high,a.x=n.low,t.encode(e.y,n),o.y=n.high,a.y=n.low,t.encode(e.z,n),o.z=n.high,a.z=n.low,i};var i=new t;return t.writeElements=function(e,r,n){t.fromCartesian(e,i);var o=i.high,a=i.low;r[n]=o.x,r[n+1]=o.y,r[n+2]=o.z,r[n+3]=a.x,r[n+4]=a.y,r[n+5]=a.z},t}),define("Core/Intersect",["./Enumeration"],function(e){"use strict";var r={OUTSIDE:new e(-1,"OUTSIDE"),INTERSECTING:new e(0,"INTERSECTING"),INSIDE:new e(1,"INSIDE")};return r}),define("Core/QuadraticRealPolynomial",["./DeveloperError","./Math"],function(e,r){"use strict";function t(e,t,n){var i=e+t;return r.sign(e)!==r.sign(t)&&Math.abs(i/Math.max(Math.abs(e),Math.abs(t)))a&&a/ss&&s/ao)return[];var u=Math.sqrt(o);return[-u,u]}if(0===i)return o=-n/e,0>o?[o,0]:[0,o];var l=n*n,c=4*e*i,f=t(l,-c,r.EPSILON14);if(0>f)return[];var m=-.5*t(n,r.sign(n)*Math.sqrt(f),r.EPSILON14);return n>0?[m/e,i/m]:[i/m,m/e]},n}),define("Core/CubicRealPolynomial",["./DeveloperError","./QuadraticRealPolynomial"],function(e,r){"use strict";function t(e,r,t,n){var i,o,a=e,s=r/3,u=t/3,l=n,c=a*u,f=s*l,m=s*s,h=u*u,y=a*u-m,d=a*l-s*u,p=s*l-h,v=4*y*p-d*d;if(0>v){var g,E,C;m*f>=c*h?(g=a,E=y,C=-2*s*y+a*d):(g=l,E=p,C=-l*d+2*u*p);var S=0>C?-1:1,w=-S*Math.abs(g)*Math.sqrt(-v);o=-C+w;var x=o/2,A=0>x?-Math.pow(-x,1/3):Math.pow(x,1/3),M=o===w?-A:-E/A;return i=0>=E?A+M:-C/(A*A+M*M+E),m*f>=c*h?[(i-s)/a]:[-l/(i+u)]}var b=y,T=-2*s*y+a*d,I=p,O=-l*d+2*u*p,N=Math.sqrt(v),R=Math.sqrt(3)/2,L=Math.abs(Math.atan2(a*N,-T)/3);i=2*Math.sqrt(-b);var z=Math.cos(L);o=i*z;var F=i*(-z/2-R*Math.sin(L)),D=o+F>2*s?o-s:F-s,P=a,B=D/P;L=Math.abs(Math.atan2(l*N,-O)/3),i=2*Math.sqrt(-I),z=Math.cos(L),o=i*z,F=i*(-z/2-R*Math.sin(L));var _=-l,U=2*u>o+F?o+u:F+u,G=_/U,q=P*U,Y=-D*U-P*_,W=D*_,V=(u*Y-s*W)/(-s*Y+u*q);return V>=B?G>=B?G>=V?[B,V,G]:[B,G,V]:[G,B,V]:G>=B?[V,B,G]:G>=V?[V,G,B]:[G,V,B]}var n={};return n.discriminant=function(e,r,t,n){var i=e*e,o=r*r,a=t*t,s=n*n,u=18*e*r*t*n+o*a-27*i*s-4*(e*a*t+o*r*n);return u},n.realRoots=function(e,n,i,o){var a,s;if(0===e)return r.realRoots(n,i,o);if(0===n){if(0===i){if(0===o)return[0,0,0];s=-o/e;var u=0>s?-Math.pow(-s,1/3):Math.pow(s,1/3);return[u,u,u]}return 0===o?(a=r.realRoots(e,0,i),0===a.Length?[0]:[a[0],0,a[1]]):t(e,0,i,o)}return 0===i?0===o?(s=-n/e,0>s?[s,0,0]:[0,0,s]):t(e,n,0,o):0===o?(a=r.realRoots(e,n,i),0===a.length?[0]:a[1]<=0?[a[0],a[1],0]:a[0]>=0?[0,a[0],a[1]]:[a[0],0,a[1]]):t(e,n,i,o)},n}),define("Core/QuarticRealPolynomial",["./DeveloperError","./Math","./CubicRealPolynomial","./QuadraticRealPolynomial"],function(e,r,t,n){"use strict";function i(e,i,o,a){var s=e*e,u=i-3*s/8,l=o-i*e/2+s*e/8,c=a-o*e/4+i*s/16-3*s*s/256,f=t.realRoots(1,2*u,u*u-4*c,-l*l);if(f.length>0){var m=-e/4,h=f[f.length-1];if(Math.abs(h)=0&&v>=0){var g=Math.sqrt(p),E=Math.sqrt(v);return[m-E,m-g,m+g,m+E]}if(p>=0&&0>v)return d=Math.sqrt(p),[m-d,m+d];if(0>p&&v>=0)return d=Math.sqrt(v),[m-d,m+d]}return[]}if(h>0){var C=Math.sqrt(h),S=(u+h-l/C)/2,w=(u+h+l/C)/2,x=n.realRoots(1,C,S),A=n.realRoots(1,-C,w);return 0!==x.length?(x[0]+=m,x[1]+=m,0!==A.length?(A[0]+=m,A[1]+=m,x[1]<=A[0]?[x[0],x[1],A[0],A[1]]:A[1]<=x[0]?[A[0],A[1],x[0],x[1]]:x[0]>=A[0]&&x[1]<=A[1]?[A[0],x[0],x[1],A[1]]:A[0]>=x[0]&&A[1]<=x[1]?[x[0],A[0],A[1],x[1]]:x[0]>A[0]&&x[0]0){var y,d,p=h[0],v=i-p,g=v*v,E=e/2,C=v/2,S=g-4*a,w=g+4*Math.abs(a),x=l-4*p,A=l+4*Math.abs(p);if(0>p||x*w>S*A){var M=Math.sqrt(x);y=M/2,d=0===M?0:(e*C-o)/M}else{var b=Math.sqrt(S);y=0===b?0:(e*C-o)/b,d=b/2}var T,I;0===E&&0===y?(T=0,I=0):r.sign(E)===r.sign(y)?(T=E+y,I=p/T):(I=E-y,T=p/I);var O,N; +0===C&&0===d?(O=0,N=0):r.sign(C)===r.sign(d)?(O=C+d,N=a/O):(N=C-d,O=a/N);var R=n.realRoots(1,T,O),L=n.realRoots(1,I,N);if(0!==R.length)return 0!==L.length?R[1]<=L[0]?[R[0],R[1],L[0],L[1]]:L[1]<=R[0]?[L[0],L[1],R[0],R[1]]:R[0]>=L[0]&&R[1]<=L[1]?[L[0],R[0],R[1],L[1]]:L[0]>=R[0]&&L[1]<=R[1]?[R[0],L[0],L[1],R[1]]:R[0]>L[0]&&R[0]l?1:0;switch(h+=0>c?h+1:h,h+=0>f?h+1:h,h+=0>m?h+1:h){case 0:return i(l,c,f,m);case 1:return o(l,c,f,m);case 2:return o(l,c,f,m);case 3:return i(l,c,f,m);case 4:return i(l,c,f,m);case 5:return o(l,c,f,m);case 6:return i(l,c,f,m);case 7:return i(l,c,f,m);case 8:return o(l,c,f,m);case 9:return i(l,c,f,m);case 10:return i(l,c,f,m);case 11:return o(l,c,f,m);case 12:return i(l,c,f,m);case 13:return i(l,c,f,m);case 14:return i(l,c,f,m);case 15:return i(l,c,f,m);default:return void 0}},a}),define("Core/IntersectionTests",["./defined","./DeveloperError","./Math","./Cartesian3","./Cartographic","./Matrix3","./QuadraticRealPolynomial","./QuarticRealPolynomial"],function(e,r,t,n,i,o,a,s){"use strict";function u(e,r,n){var i=e+r;return t.sign(e)!==t.sign(r)&&Math.abs(i/Math.max(Math.abs(e),Math.abs(r)))F;++F){var D,P=f[F],B=P*P,_=Math.max(1-B,0),U=Math.sqrt(_);D=t.sign(y)===t.sign(p)?u(y*B+p,d*P,t.EPSILON12):t.sign(p)===t.sign(d*P)?u(y*B,d*P+p,t.EPSILON12):u(y*B+d*P,p,t.EPSILON12);var G=u(v*P,g,t.EPSILON15),q=D*G;0>q?E.push(new n(l,c*P,c*U)):q>0?E.push(new n(l,c*P,c*-U)):0!==U?(E.push(new n(l,c*P,c*-U)),E.push(new n(l,c*P,c*U)),++F):E.push(new n(l,c*P,c*U))}return E}var c={};c.rayPlane=function(e,r,i){var o=e.origin,a=e.direction,s=r.normal,u=n.dot(s,a);if(Math.abs(u)l?void 0:(i=n.multiplyByScalar(a,l,i),n.add(o,i,i))};var f=new n,m=new n;c.rayEllipsoid=function(e,r){var t,i,o,a,s,u=r.oneOverRadii,l=n.multiplyComponents(u,e.origin,f),c=n.multiplyComponents(u,e.direction,m),h=n.magnitudeSquared(l),y=n.dot(l,c);if(h>1){if(y>=0)return void 0;var d=y*y;if(t=h-1,i=n.magnitudeSquared(c),o=i*t,o>d)return void 0;if(d>o){a=y*y-o,s=-y+Math.sqrt(a);var p=s/i,v=t/s;return v>p?{start:p,stop:v}:{start:v,stop:p}}var g=Math.sqrt(t/i);return{start:g,stop:g}}return 1>h?(t=h-1,i=n.magnitudeSquared(c),o=i*t,a=y*y-o,s=-y+Math.sqrt(a),{start:0,stop:s/i}):0>y?(i=n.magnitudeSquared(c),{start:0,stop:-y/i}):void 0},c.grazingAltitudeLocation=function(r,a){var s=r.origin,u=r.direction,c=a.geodeticSurfaceNormal(s);if(n.dot(u,c)>=0)return s;var f,m,h=e(this.rayEllipsoid(r,a)),y=a.transformPositionToScaledSpace(u),d=n.normalize(y),p=n.mostOrthogonalAxis(y),v=n.normalize(n.cross(p,d)),g=n.normalize(n.cross(d,v)),E=new o(d.x,v.x,g.x,d.y,v.y,g.y,d.z,v.z,g.z),C=o.transpose(E),S=o.fromScale(a.radii),w=o.fromScale(a.oneOverRadii),x=new o(0,u.z,-u.y,-u.z,0,u.x,u.y,-u.x,0),A=o.multiply(o.multiply(C,w),x),M=o.multiply(o.multiply(A,S),E),b=o.multiplyByVector(A,s),T=l(M,n.negate(b),0,0,1),I=T.length;if(I>0){for(var O=n.ZERO,N=Number.NEGATIVE_INFINITY,R=0;I>R;++R){f=o.multiplyByVector(S,o.multiplyByVector(E,T[R]));var L=n.normalize(n.subtract(f,s)),z=n.dot(L,u);z>N&&(N=z,O=f)}var F=a.cartesianToCartographic(O);return N=t.clamp(N,0,1),m=n.magnitude(n.subtract(O,s))*Math.sqrt(1-N*N),m=h?-m:m,a.cartographicToCartesian(new i(F.longitude,F.latitude,m))}return void 0};var h=new n;return c.lineSegmentPlane=function(r,i,o,a){var s=n.subtract(i,r,h),u=o.normal,l=n.dot(u,s);if(Math.abs(l)f||f>1?void 0:(e(a)||(a=new n),n.multiplyByScalar(s,f,a),n.add(r,a,a),a)},c.trianglePlaneIntersection=function(e,r,t,i){var o=i.normal,a=i.distance,s=n.dot(o,e)+a<0,u=n.dot(o,r)+a<0,l=n.dot(o,t)+a<0,f=0;f+=s?1:0,f+=u?1:0,f+=l?1:0;var m,h;if((1===f||2===f)&&(m=new n,h=new n),1===f){if(s)return c.lineSegmentPlane(e,r,i,m),c.lineSegmentPlane(e,t,i,h),{positions:[e,r,t,m,h],indices:[0,3,4,1,2,4,1,4,3]};if(u)return c.lineSegmentPlane(r,t,i,m),c.lineSegmentPlane(r,e,i,h),{positions:[e,r,t,m,h],indices:[1,3,4,2,0,4,2,4,3]};if(l)return c.lineSegmentPlane(t,e,i,m),c.lineSegmentPlane(t,r,i,h),{positions:[e,r,t,m,h],indices:[2,3,4,0,1,4,0,4,3]}}else if(2===f){if(!s)return c.lineSegmentPlane(r,e,i,m),c.lineSegmentPlane(t,e,i,h),{positions:[e,r,t,m,h],indices:[1,2,4,1,4,3,0,3,4]};if(!u)return c.lineSegmentPlane(t,r,i,m),c.lineSegmentPlane(e,r,i,h),{positions:[e,r,t,m,h],indices:[2,0,4,2,4,3,1,3,4]};if(!l)return c.lineSegmentPlane(e,t,i,m),c.lineSegmentPlane(r,t,i,h),{positions:[e,r,t,m,h],indices:[0,1,4,0,4,3,2,3,4]}}return void 0},c}),define("Core/Plane",["./Cartesian3","./defined","./DeveloperError"],function(e,r){"use strict";var t=function(r,t){this.normal=e.clone(r),this.distance=t};return t.fromPointNormal=function(n,i,o){var a=-e.dot(i,n);return r(o)?(e.clone(i,o.normal),o.distance=a,o):new t(i,a)},t.getPointDistance=function(r,t){return e.dot(r.normal,t)+r.distance},t.prototype.getPointDistance=function(e){return t.getPointDistance(this,e)},t}),define("Core/IndexDatatype",["./defined","./DeveloperError","./Math"],function(e,r,t){"use strict";var n={UNSIGNED_BYTE:5121,UNSIGNED_SHORT:5123,UNSIGNED_INT:5125};return n.getSizeInBytes=function(e){switch(e){case n.UNSIGNED_BYTE:return Uint8Array.BYTES_PER_ELEMENT;case n.UNSIGNED_SHORT:return Uint16Array.BYTES_PER_ELEMENT;case n.UNSIGNED_INT:return Uint32Array.BYTES_PER_ELEMENT}},n.validate=function(r){return e(r)&&(r===n.UNSIGNED_BYTE||r===n.UNSIGNED_SHORT||r===n.UNSIGNED_INT)},n.createTypedArray=function(e,r){return e>t.SIXTY_FOUR_KILOBYTES?new Uint32Array(r):new Uint16Array(r)},n}),define("Core/PrimitiveType",[],function(){"use strict";var e={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,validate:function(r){return r===e.POINTS||r===e.LINES||r===e.LINE_LOOP||r===e.LINE_STRIP||r===e.TRIANGLES||r===e.TRIANGLE_STRIP||r===e.TRIANGLE_FAN}};return e}),define("Core/Tipsify",["./defaultValue","./defined","./DeveloperError"],function(e,r){"use strict";var t={};return t.calculateACMR=function(t){t=e(t,e.EMPTY_OBJECT);var n=t.indices,i=t.maximumIndex,o=e(t.cacheSize,24),a=n.length;if(!r(i)){i=0;for(var s=0,u=n[s];a>s;)u>i&&(i=u),++s,u=n[s]}for(var l=[],c=0;i+1>c;c++)l[c]=0;for(var f=o+1,m=0;a>m;++m)f-l[n[m]]>o&&(l[n[m]]=f,++f);return(f-o+1)/(a/3)},t.tipsify=function(t){function n(e,r,t,n){for(;r.length>=1;){var i=r[r.length-1];if(r.splice(r.length-1,1),e[i].numLiveTriangles>0)return i}for(;n>o;){if(e[o].numLiveTriangles>0)return++o,o-1;++o}return-1}function i(e,r,t,i,o,a,s){for(var u,l=-1,c=-1,f=0;fc||-1===c)&&(c=u,l=m)),++f}return-1===l?n(i,a,e,s):l}t=e(t,e.EMPTY_OBJECT);var o,a=t.indices,s=t.maximumIndex,u=e(t.cacheSize,24),l=a.length,c=0,f=0,m=a[f],h=l;if(r(s))c=s+1;else{for(;h>f;)m>c&&(c=m),++f,m=a[f];if(-1===c)return 0;++c}for(var y=[],d=0;c>d;d++)y[d]={numLiveTriangles:0,timeStamp:0,vertexTriangles:[]};f=0;for(var p=0;h>f;)y[a[f]].vertexTriangles.push(p),++y[a[f]].numLiveTriangles,y[a[f+1]].vertexTriangles.push(p),++y[a[f+1]].numLiveTriangles,y[a[f+2]].vertexTriangles.push(p),++y[a[f+2]].numLiveTriangles,++p,f+=3;var v=0,g=u+1;o=1;var E,C,S=[],w=[],x=0,A=[],M=l/3,b=[];for(d=0;M>d;d++)b[d]=!1;for(var T,I;-1!==v;){S=[],C=y[v],I=C.vertexTriangles.length;for(var O=0;I>O;++O)if(p=C.vertexTriangles[O],!b[p]){b[p]=!0,f=p+p+p;for(var N=0;3>N;++N)T=a[f],S.push(T),w.push(T),A[x]=T,++x,E=y[T],--E.numLiveTriangles,g-E.timeStamp>u&&(E.timeStamp=g,++g),++f}v=i(a,u,S,y,g,w,c)}return A},t}),define("Core/Interval",["./defaultValue"],function(e){"use strict";var r=function(r,t){this.start=e(r,0),this.stop=e(t,0)};return r}),define("Core/BoundingSphere",["./Cartesian3","./Cartographic","./defaultValue","./defined","./DeveloperError","./Ellipsoid","./GeographicProjection","./Intersect","./Interval","./Matrix4"],function(e,r,t,n,i,o,a,s,u,l){"use strict";var c=function(r,n){this.center=e.clone(t(r,e.ZERO)),this.radius=t(n,0)},f=new e,m=new e,h=new e,y=new e,d=new e,p=new e,v=new e,g=new e,E=new e,C=new e,S=new e,w=new e;c.fromPoints=function(r,t){if(n(t)||(t=new c),!n(r)||0===r.length)return t.center=e.clone(e.ZERO,t.center),t.radius=0,t;for(var i=e.clone(r[0],v),o=e.clone(i,f),a=e.clone(i,m),s=e.clone(i,h),u=e.clone(i,y),l=e.clone(i,d),x=e.clone(i,p),A=r.length,M=1;A>M;M++){e.clone(r[M],i);var b=i.x,T=i.y,I=i.z;bu.x&&e.clone(i,u),Tl.y&&e.clone(i,l),Ix.z&&e.clone(i,x)}var O=e.magnitudeSquared(e.subtract(u,o,g)),N=e.magnitudeSquared(e.subtract(l,a,g)),R=e.magnitudeSquared(e.subtract(x,s,g)),L=o,z=u,F=O;N>F&&(F=N,L=a,z=l),R>F&&(F=R,L=s,z=x);var D=E;D.x=.5*(L.x+z.x),D.y=.5*(L.y+z.y),D.z=.5*(L.z+z.z);var P=e.magnitudeSquared(e.subtract(z,D,g)),B=Math.sqrt(P),_=C;_.x=o.x,_.y=a.y,_.z=s.z;var U=S;U.x=u.x,U.y=l.y,U.z=x.z;var G=e.multiplyByScalar(e.add(_,U,g),.5,w),q=0;for(M=0;A>M;M++){e.clone(r[M],i);var Y=e.magnitude(e.subtract(i,G,g));Y>q&&(q=Y);var W=e.magnitudeSquared(e.subtract(i,D,g));if(W>P){var V=Math.sqrt(W);B=.5*(B+V),P=B*B;var H=V-B;D.x=(B*D.x+H*i.x)/V,D.y=(B*D.y+H*i.y)/V,D.z=(B*D.z+H*i.z)/V}}return q>B?(e.clone(D,t.center),t.radius=B):(e.clone(G,t.center),t.radius=q),t};var x=new a,A=new e,M=new e,b=new r,T=new r;c.fromExtent2D=function(e,r,t){return c.fromExtentWithHeights2D(e,r,0,0,t)},c.fromExtentWithHeights2D=function(r,i,o,a,s){if(n(s)||(s=new c),!n(r))return s.center=e.clone(e.ZERO,s.center),s.radius=0,s;i=t(i,x),r.getSouthwest(b),b.height=o,r.getNortheast(T),T.height=a;var u=i.project(b,A),l=i.project(T,M),f=l.x-u.x,m=l.y-u.y,h=l.z-u.z;s.radius=.5*Math.sqrt(f*f+m*m+h*h);var y=s.center;return y.x=u.x+.5*f,y.y=u.y+.5*m,y.z=u.z+.5*h,s};var I=[];c.fromExtent3D=function(e,r,i,a){r=t(r,o.WGS84),i=t(i,0);var s;return n(e)&&(s=e.subsample(r,i,I)),c.fromPoints(s,a)},c.fromVertices=function(r,i,o,a){if(n(a)||(a=new c),!n(r)||0===r.length)return a.center=e.clone(e.ZERO,a.center),a.radius=0,a;i=t(i,e.ZERO),o=t(o,3);var s=v;s.x=r[0]+i.x,s.y=r[1]+i.y,s.z=r[2]+i.z;for(var u=e.clone(s,f),l=e.clone(s,m),x=e.clone(s,h),A=e.clone(s,y),M=e.clone(s,d),b=e.clone(s,p),T=r.length,I=0;T>I;I+=o){var O=r[I]+i.x,N=r[I+1]+i.y,R=r[I+2]+i.z;s.x=O,s.y=N,s.z=R,OA.x&&e.clone(s,A),NM.y&&e.clone(s,M),Rb.z&&e.clone(s,b)}var L=e.magnitudeSquared(e.subtract(A,u,g)),z=e.magnitudeSquared(e.subtract(M,l,g)),F=e.magnitudeSquared(e.subtract(b,x,g)),D=u,P=A,B=L;z>B&&(B=z,D=l,P=M),F>B&&(B=F,D=x,P=b);var _=E;_.x=.5*(D.x+P.x),_.y=.5*(D.y+P.y),_.z=.5*(D.z+P.z);var U=e.magnitudeSquared(e.subtract(P,_,g)),G=Math.sqrt(U),q=C;q.x=u.x,q.y=l.y,q.z=x.z;var Y=S;Y.x=A.x,Y.y=M.y,Y.z=b.z;var W=e.multiplyByScalar(e.add(q,Y,g),.5,w),V=0;for(I=0;T>I;I+=o){s.x=r[I]+i.x,s.y=r[I+1]+i.y,s.z=r[I+2]+i.z;var H=e.magnitude(e.subtract(s,W,g));H>V&&(V=H);var k=e.magnitudeSquared(e.subtract(s,_,g));if(k>U){var j=Math.sqrt(k);G=.5*(G+j),U=G*G;var K=j-G;_.x=(G*_.x+K*s.x)/j,_.y=(G*_.y+K*s.y)/j,_.z=(G*_.z+K*s.z)/j}}return V>G?(e.clone(_,a.center),a.radius=G):(e.clone(W,a.center),a.radius=V),a},c.fromCornerPoints=function(r,t,i){n(i)||(i=new c);var o=i.center;return e.add(r,t,o),e.multiplyByScalar(o,.5,o),i.radius=e.distance(o,t),i},c.fromEllipsoid=function(r,t){return n(t)||(t=new c),e.clone(e.ZERO,t.center),t.radius=r.maximumRadius,t},c.clone=function(r,t){return n(r)?n(t)?(t.center=e.clone(r.center,t.center),t.radius=r.radius,t):new c(r.center,r.radius):void 0};var O=new e,N=new e;c.union=function(r,t,i){n(i)||(i=new c);var o=r.center,a=t.center;e.add(o,a,N);var s=e.multiplyByScalar(N,.5,N),u=e.magnitude(e.subtract(o,s,O))+r.radius,l=e.magnitude(e.subtract(a,s,O))+t.radius;return i.radius=Math.max(u,l),e.clone(s,i.center),i};var R=new e;c.expand=function(r,t,n){n=c.clone(r,n);var i=e.magnitude(e.subtract(t,n.center,R));return i>n.radius&&(n.radius=i),n},c.intersect=function(r,t){var n=r.center,i=r.radius,o=e.dot(t,n)+t.w;return-i>o?s.OUTSIDE:i>o?s.INTERSECTING:s.INSIDE};var L=new e;c.transform=function(r,t,i){return n(i)||(i=new c),i.center=l.multiplyByPoint(t,r.center,i.center),i.radius=Math.max(e.magnitude(l.getColumn(t,0,L)),e.magnitude(l.getColumn(t,1,L)),e.magnitude(l.getColumn(t,2,L)))*r.radius,i},c.transformWithoutScale=function(e,r,t){return n(t)||(t=new c),t.center=l.multiplyByPoint(r,e.center,t.center),t.radius=e.radius,t};var z=new e;c.getPlaneDistances=function(r,t,i,o){n(o)||(o=new u);var a=e.subtract(r.center,t,z),s=e.multiplyByScalar(i,e.dot(i,a),z),l=e.magnitude(s);return o.start=l-r.radius,o.stop=l+r.radius,o};for(var F=new e,D=new e,P=new e,B=new e,_=new e,U=new r,G=new Array(8),q=0;8>q;++q)G[q]=new e;var Y=new a;return c.projectTo2D=function(r,n,i){n=t(n,Y);var o=n.ellipsoid,a=r.center,s=r.radius,u=o.geodeticSurfaceNormal(a,F),l=e.cross(e.UNIT_Z,u,D);e.normalize(l,l);var f=e.cross(u,l,P);e.normalize(f,f),e.multiplyByScalar(u,s,u),e.multiplyByScalar(f,s,f),e.multiplyByScalar(l,s,l);var m=e.negate(f,_),h=e.negate(l,B),y=G,d=y[0];e.add(u,f,d),e.add(d,l,d),d=y[1],e.add(u,f,d),e.add(d,h,d),d=y[2],e.add(u,m,d),e.add(d,h,d),d=y[3],e.add(u,m,d),e.add(d,l,d),e.negate(u,u),d=y[4],e.add(u,f,d),e.add(d,l,d),d=y[5],e.add(u,f,d),e.add(d,h,d),d=y[6],e.add(u,m,d),e.add(d,h,d),d=y[7],e.add(u,m,d),e.add(d,l,d);for(var p=y.length,v=0;p>v;++v){var g=y[v];e.add(a,g,g);var E=o.cartesianToCartographic(g,U);n.project(E,g)}i=c.fromPoints(y,i),a=i.center;var C=a.x,S=a.y,w=a.z;return a.x=w,a.y=C,a.z=S,i},c.equals=function(r,t){return r===t||n(r)&&n(t)&&e.equals(r.center,t.center)&&r.radius===t.radius},c.prototype.clone=function(e){return c.clone(this,e)},c.prototype.union=function(e,r){return c.union(this,e,r)},c.prototype.expand=function(e,r){return c.expand(this,e,r)},c.prototype.intersect=function(e){return c.intersect(this,e)},c.prototype.getPlaneDistances=function(e,r,t){return c.getPlaneDistances(this,e,r,t)},c.prototype.projectTo2D=function(e,r){return c.projectTo2D(this,e,r)},c.prototype.equals=function(e){return c.equals(this,e)},c}),define("Core/GeometryPipeline",["./barycentricCoordinates","./defaultValue","./defined","./DeveloperError","./Cartesian2","./Cartesian3","./Cartesian4","./Cartographic","./EncodedCartesian3","./Intersect","./IntersectionTests","./Math","./Matrix3","./Matrix4","./Plane","./GeographicProjection","./ComponentDatatype","./IndexDatatype","./PrimitiveType","./Tipsify","./BoundingSphere","./Geometry","./GeometryAttribute"],function(e,r,t,n,i,o,a,s,u,l,c,f,m,h,y,d,p,v,g,E,C,S,w){"use strict";function x(e,r,t,n,i){e[r++]=t,e[r++]=n,e[r++]=n,e[r++]=i,e[r++]=i,e[r]=t}function A(e){for(var r=e.length,t=6*(r/3),n=v.createTypedArray(r,t),i=0,o=0;r>o;o+=3,i+=6)x(n,i,e[o],e[o+1],e[o+2]);return n}function M(e){var r=e.length;if(r>=3){var t=6*(r-2),n=v.createTypedArray(r,t);x(n,0,e[0],e[1],e[2]);for(var i=6,o=3;r>o;++o,i+=6)x(n,i,e[o-1],e[o],e[o-2]);return n}return new Uint16Array}function b(e){if(e.length>0){for(var r=e.length-1,t=6*(r-1),n=v.createTypedArray(r,t),i=e[0],o=0,a=1;r>a;++a,o+=6)x(n,o,i,e[a],e[a+1]);return n}return new Uint16Array}function T(e){var r={};for(var n in e)if(e.hasOwnProperty(n)&&t(e[n])&&t(e[n].values)){var i=e[n];r[n]=new w({componentDatatype:i.componentDatatype,componentsPerAttribute:i.componentsPerAttribute,normalize:i.normalize,values:[]})}return r}function I(e,r,n){for(var i in r)if(r.hasOwnProperty(i)&&t(r[i])&&t(r[i].values))for(var o=r[i],a=0;aa;a+=3)o.unpack(n,a,Z),h.multiplyByPoint(e,Z,Z),o.pack(Z,n,a)}function N(e,r){if(t(r))for(var n=r.values,i=n.length,a=0;i>a;a+=3)o.unpack(n,a,Z),m.multiplyByVector(e,Z,Z),Z=o.normalize(Z,Z),o.pack(Z,n,a)}function R(e){var r,n=e.length,i={},o=e[0].geometry.attributes;for(r in o)if(o.hasOwnProperty(r)&&t(o[r])&&t(o[r].values)){for(var a=o[r],s=a.values.length,u=!0,l=1;n>l;++l){var c=e[l].geometry.attributes[r];if(!t(c)||a.componentDatatype.value!==c.componentDatatype.value||a.componentsPerAttribute!==c.componentsPerAttribute||a.normalize!==c.normalize){u=!1;break}s+=c.values.length}u&&(i[r]=new w({componentDatatype:a.componentDatatype,componentsPerAttribute:a.componentsPerAttribute,normalize:a.normalize,values:p.createTypedArray(a.componentDatatype,s)}))}return i}function L(e){if(t(e.indices))return e;for(var r=S.computeNumberOfVertices(e),n=v.createTypedArray(r,r),i=0;r>i;++i)n[i]=i;return e.indices=n,e}function z(e){var r=S.computeNumberOfVertices(e),t=v.createTypedArray(r,3*(r-2));t[0]=1,t[1]=0,t[2]=2;for(var n=3,i=3;r>i;++i)t[n++]=i-1,t[n++]=0,t[n++]=i;return e.indices=t,e.primitiveType=g.TRIANGLES,e}function F(e){var r=S.computeNumberOfVertices(e),t=v.createTypedArray(r,3*(r-2));t[0]=0,t[1]=1,t[2]=2,r>3&&(t[3]=0,t[4]=2,t[5]=3);for(var n=6,i=3;r-1>i;i+=2)t[n++]=i,t[n++]=i-1,t[n++]=i+1,r>i+2&&(t[n++]=i,t[n++]=i+1,t[n++]=i+2);return e.indices=t,e.primitiveType=g.TRIANGLES,e}function D(e){if(t(e.indices))return e;for(var r=S.computeNumberOfVertices(e),n=v.createTypedArray(r,r),i=0;r>i;++i)n[i]=i;return e.indices=n,e}function P(e){var r=S.computeNumberOfVertices(e),t=v.createTypedArray(r,2*(r-1));t[0]=0,t[1]=1;for(var n=2,i=2;r>i;++i)t[n++]=i-1,t[n++]=i;return e.indices=t,e.primitiveType=g.LINES,e}function B(e){var r=S.computeNumberOfVertices(e),t=v.createTypedArray(r,2*r);t[0]=0,t[1]=1;for(var n=2,i=2;r>i;++i)t[n++]=i-1,t[n++]=i;return t[n++]=r-1,t[n]=0,e.indices=t,e.primitiveType=g.LINES,e}function _(e){switch(e.primitiveType){case g.TRIANGLE_FAN:return z(e);case g.TRIANGLE_STRIP:return F(e);case g.TRIANGLES:return L(e);case g.LINE_STRIP:return P(e);case g.LINE_LOOP:return B(e);case g.LINES:return D(e)}return e}function U(e,r){Math.abs(e.y)=0||r.x>=0||t.x>=0)return void 0;var n=e.y<0,i=r.y<0,o=t.y<0;U(e,n),U(r,i),U(t,o);var a=0;a+=n?1:0,a+=i?1:0,a+=o?1:0;var s=cr.indices;1===a?(s[1]=3,s[2]=4,s[5]=6,s[7]=6,s[8]=5,n?(G(e,r,ar,ur),G(e,t,sr,lr),s[0]=0,s[3]=1,s[4]=2,s[6]=1):i?(G(r,t,ar,ur),G(r,e,sr,lr),s[0]=1,s[3]=2,s[4]=0,s[6]=2):o&&(G(t,e,ar,ur),G(t,r,sr,lr),s[0]=2,s[3]=0,s[4]=1,s[6]=0)):2===a&&(s[2]=4,s[4]=4,s[5]=3,s[7]=5,s[8]=6,n?i?o||(G(t,e,ar,ur),G(t,r,sr,lr),s[0]=0,s[1]=1,s[3]=0,s[6]=2):(G(r,t,ar,ur),G(r,e,sr,lr),s[0]=2,s[1]=0,s[3]=2,s[6]=1):(G(e,r,ar,ur),G(e,t,sr,lr),s[0]=1,s[1]=2,s[3]=1,s[6]=0));var u=cr.positions;return u[0]=e,u[1]=r,u[2]=t,cr.length=3,(1===a||2===a)&&(u[3]=ar,u[4]=sr,u[5]=ur,u[6]=lr,cr.length=7),cr}function Y(r,n,a,s,u,l,c,f){if(t(u)||t(l)||t(c)||t(f)){var m,h,y,d,p,v,g,E,C,S,w,x,A,M,b,T,I,O,N=s.positions,R=N[0],L=N[1],z=N[2];t(u)&&(m=o.fromArray(u,3*r),h=o.fromArray(u,3*n),y=o.fromArray(u,3*a)),t(l)&&(d=o.fromArray(l,3*r),p=o.fromArray(l,3*n),v=o.fromArray(l,3*a)),t(c)&&(g=o.fromArray(c,3*r),E=o.fromArray(c,3*n),C=o.fromArray(c,3*a)),t(f)&&(S=i.fromArray(f,2*r),w=i.fromArray(f,2*n),x=i.fromArray(f,2*a));for(var F=3;FE;E+=3){var C=l[E],w=l[E+1],x=l[E+2],A=o.fromArray(n,3*C),M=o.fromArray(n,3*w),b=o.fromArray(n,3*x),T=q(A,M,b);if(t(T))if(c[3*C+1]=T.positions[0].y,c[3*w+1]=T.positions[1].y,c[3*x+1]=T.positions[2].y,T.length>3){for(var I=c.length/3,O=0;ON?d.push(l[E+N]):d.push(N-3+I)}for(var R=3;Rm;m+=2){var h=i[m],d=i[m+1],p=o.fromArray(n,3*h),g=o.fromArray(n,3*d);if(Math.abs(p.y)c;c+=3)u[l++]=o[c],u[l++]=o[c+1],u[l++]=o[c+2],u[l++]=o[c]+a[c]*i,u[l++]=o[c+1]+a[c+1]*i,u[l++]=o[c+2]+a[c+2]*i;var f,m=e.boundingSphere;return t(m)&&(f=new C(m.center,m.radius+i)),new S({attributes:{position:new w({componentDatatype:p.DOUBLE,componentsPerAttribute:3,values:u})},primitiveType:g.LINES,boundingSphere:f})},H.createAttributeLocations=function(e){var r,n=["position","positionHigh","positionLow","position3DHigh","position3DLow","position2DHigh","position2DLow","pickColor","normal","st","binormal","tangent"],i=e.attributes,o={},a=0,s=n.length;for(r=0;s>r;++r){var u=n[r];t(i[u])&&(o[u]=a++)}for(var l in i)i.hasOwnProperty(l)&&!t(o[l])&&(o[l]=a++);return o},H.reorderForPreVertexCache=function(e){var r=S.computeNumberOfVertices(e),n=e.indices;if(t(n)){for(var i=new Int32Array(r),o=0;r>o;o++)i[o]=-1;for(var a,s=n,u=s.length,l=v.createTypedArray(r,u),c=0,f=0,m=0;u>c;)a=i[s[c]],-1!==a?l[f]=a:(a=s[c],i[a]=m,l[f]=m,++m),++c,++f;e.indices=l;var h=e.attributes;for(var y in h)if(h.hasOwnProperty(y)&&t(h[y])&&t(h[y].values)){for(var d=h[y],g=d.values,E=0,C=d.componentsPerAttribute,w=p.createTypedArray(d.componentDatatype,m*C);r>E;){var x=i[E];if(-1!==x)for(o=0;C>o;o++)w[C*x+o]=g[C*E+o];++E}d.values=w}}return e},H.reorderForPostVertexCache=function(e,r){var n=e.indices;if(e.primitiveType===g.TRIANGLES&&t(n)){for(var i=n.length,o=0,a=0;i>a;a++)n[a]>o&&(o=n[a]);e.indices=E.tipsify({indices:n,maximumIndex:o,cacheSize:r})}return e},H.fitToUnsignedShortIndices=function(e){var r=[],n=S.computeNumberOfVertices(e);if(t(e.indices)&&n>f.SIXTY_FOUR_KILOBYTES){var i,o=[],a=[],s=0,u=T(e.attributes),l=e.indices,c=l.length;e.primitiveType===g.TRIANGLES?i=3:e.primitiveType===g.LINES?i=2:e.primitiveType===g.POINTS&&(i=1);for(var m=0;c>m;m+=i){for(var h=0;i>h;++h){var y=l[m+h],d=o[y];t(d)||(d=s++,o[y]=d,I(u,e.attributes,y)),a.push(d)}s+i>f.SIXTY_FOUR_KILOBYTES&&(r.push(new S({attributes:u,indices:a,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere})),o=[],a=[],s=0,u=T(e.attributes))}0!==a.length&&r.push(new S({attributes:u,indices:a,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere}))}else r.push(e);return r};var k=new o,j=new s;H.projectTo2D=function(e,r,i,a,s){var u=e.attributes[r];s=t(s)?s:new d;for(var l=s.ellipsoid,c=u.values,f=new Float64Array(c.length),m=0,h=0;hc;++c)u.encode(o[c],K),s[c]=K.high,l[c]=K.low;var f=i.componentsPerAttribute;return e.attributes[t]=new w({componentDatatype:p.FLOAT,componentsPerAttribute:f,values:s}),e.attributes[n]=new w({componentDatatype:p.FLOAT,componentsPerAttribute:f,values:l}),delete e.attributes[r],e};var Z=new o,Q=new h,X=new m;H.transformToWorldCoordinates=function(e){var r=e.modelMatrix;if(h.equals(r,h.IDENTITY))return e;var n=e.geometry.attributes;O(r,n.position),O(r,n.prevPosition),O(r,n.nextPosition),(t(n.normal)||t(n.binormal)||t(n.tangent))&&(h.inverse(r,Q),h.transpose(Q,Q),h.getRotation(Q,X),N(X,n.normal),N(X,n.binormal),N(X,n.tangent));var i=e.geometry.boundingSphere;return t(i)&&(e.geometry.boundingSphere=C.transform(i,r,i)),e.modelMatrix=h.clone(h.IDENTITY),e},H.combine=function(e){var r,n,i,a,s=e.length;e[0].modelMatrix;var u,l,c,f=t(e[0].geometry.indices),m=e[0].geometry.primitiveType,h=R(e);for(r in h)if(h.hasOwnProperty(r))for(u=h[r].values,a=0,n=0;s>n;++n)for(l=e[n].geometry.attributes[r].values,c=l.length,i=0;c>i;++i)u[a++]=l[i];var y;if(f){var d=0;for(n=0;s>n;++n)d+=e[n].geometry.indices.length;var p=S.computeNumberOfVertices(new S({attributes:h,primitiveType:g.POINTS})),E=v.createTypedArray(p,d),w=0,x=0;for(n=0;s>n;++n){var A=e[n].geometry.indices,M=A.length;for(a=0;M>a;++a)E[w++]=x+A[a];x+=S.computeNumberOfVertices(e[n].geometry)}y=E}var b,T=new o,I=0;for(n=0;s>n;++n){if(b=e[n].geometry.boundingSphere,!t(b)){T=void 0;break}o.add(b.center,T,T)}if(t(T))for(o.divideByScalar(T,s,T),n=0;s>n;++n){b=e[n].geometry.boundingSphere;var O=o.magnitude(o.subtract(b.center,T))+b.radius;O>I&&(I=O)}return new S({attributes:h,indices:y,primitiveType:m,boundingSphere:t(T)?new C(T,I):void 0})};var J=new o,$=new o,er=new o,rr=new o;H.computeNormal=function(e){for(var r=e.indices,t=e.attributes,n=t.position.values,i=t.position.values.length/3,a=r.length,s=new Array(i),u=new Array(a/3),l=new Array(a),c=0;i>c;c++)s[c]={indexOffset:0,count:0,currentCount:0};var f=0;for(c=0;a>c;c+=3){var m=r[c],h=r[c+1],y=r[c+2],d=3*m,v=3*h,g=3*y;$.x=n[d],$.y=n[d+1],$.z=n[d+2],er.x=n[v],er.y=n[v+1],er.z=n[v+2],rr.x=n[g],rr.y=n[g+1],rr.z=n[g+2],s[m].count++,s[h].count++,s[y].count++,o.subtract(er,$,er),o.subtract(rr,$,rr),u[f]=o.cross(er,rr),f++}var E=0;for(c=0;i>c;c++)s[c].indexOffset+=E,E+=s[c].count;f=0;var C;for(c=0;a>c;c+=3){C=s[r[c]];var S=C.indexOffset+C.currentCount;l[S]=f,C.currentCount++,C=s[r[c+1]],S=C.indexOffset+C.currentCount,l[S]=f,C.currentCount++,C=s[r[c+2]],S=C.indexOffset+C.currentCount,l[S]=f,C.currentCount++,f++}var x=new Float32Array(3*i);for(c=0;i>c;c++){var A=3*c;if(C=s[c],C.count>0){for(o.clone(o.ZERO,J),f=0;fl;l+=3){var h=r[l],y=r[l+1],d=r[l+2];c=3*h,f=3*y,m=3*d;var v=2*h,g=2*y,E=2*d,C=t[c],S=t[c+1],x=t[c+2],A=i[v],M=i[v+1],b=i[g+1]-M,T=i[E+1]-M,I=1/((i[g]-A)*T-(i[E]-A)*b),O=(T*(t[f]-C)-b*(t[m]-C))*I,N=(T*(t[f+1]-S)-b*(t[m+1]-S))*I,R=(T*(t[f+2]-x)-b*(t[m+2]-x))*I;u[c]+=O,u[c+1]+=N,u[c+2]+=R,u[f]+=O,u[f+1]+=N,u[f+2]+=R,u[m]+=O,u[m+1]+=N,u[m+2]+=R}var L=new Float32Array(3*a),z=new Float32Array(3*a);for(l=0;a>l;l++){c=3*l,f=c+1,m=c+2;var F=o.fromArray(n,c,tr),D=o.fromArray(u,c,ir),P=o.dot(F,D);o.multiplyByScalar(F,P,nr),o.normalize(o.subtract(D,nr,D),D),z[c]=D.x,z[f]=D.y,z[m]=D.z,o.normalize(o.cross(F,D,D),D),L[c]=D.x,L[f]=D.y,L[m]=D.z}return e.attributes.tangent=new w({componentDatatype:p.FLOAT,componentsPerAttribute:3,values:z}),e.attributes.binormal=new w({componentDatatype:p.FLOAT,componentsPerAttribute:3,values:L}),e};var or=new o,ar=new o,sr=new o,ur=new o,lr=new o,cr={positions:new Array(7),indices:new Array(9)};return H.wrapLongitude=function(e){var r=e.boundingSphere;if(t(r)){var n=r.center.x-r.radius;if(n>0||C.intersect(r,a.UNIT_Y)!==l.INTERSECTING)return e}return _(e),e.primitiveType===g.TRIANGLES?W(e):e.primitiveType===g.LINES&&V(e),e},H}),define("Scene/PrimitivePipeline",["../Core/defined","../Core/defaultValue","../Core/Color","../Core/ComponentDatatype","../Core/DeveloperError","../Core/FeatureDetection","../Core/Geometry","../Core/GeometryAttribute","../Core/GeometryPipeline","../Core/Matrix4"],function(e,r,t,n,i,o,a,s,u,l){"use strict";function c(e,r,t){var n,i=!t,o=e.length;if(!i&&o>1){var a=e[0].modelMatrix;for(n=1;o>n;++n)if(!l.equals(a,e[n].modelMatrix)){i=!0;break}}if(i)for(n=0;o>n;++n)u.transformToWorldCoordinates(e[n]);else l.clone(e[0].modelMatrix,r)}function f(e,r){for(var i=e.length,o=0;i>o;++o){var a=e[o],u=a.geometry,l=u.attributes,c=l.position,f=4*(c.values.length/c.componentsPerAttribute);l.pickColor=new s({componentDatatype:n.UNSIGNED_BYTE,componentsPerAttribute:4,normalize:!0,values:new Uint8Array(f)});for(var m=r[o],h=t.floatToByte(m.red),y=t.floatToByte(m.green),d=t.floatToByte(m.blue),p=t.floatToByte(m.alpha),v=l.pickColor.values,g=0;f>g;g+=4)v[g]=h,v[g+1]=y,v[g+2]=d,v[g+3]=p}}function m(r){var t,n=r.length,i=[],o=r[0].attributes;for(t in o)if(o.hasOwnProperty(t)){for(var a=o[t],s=!0,u=1;n>u;++u){var l=r[u].attributes[t];if(!e(l)||a.componentDatatype.value!==l.componentDatatype.value||a.componentsPerAttribute!==l.componentsPerAttribute||a.normalize!==l.normalize){s=!1;break}}s&&i.push(t)}return i}function h(e,r){for(var t=e.length,i=0;t>i;++i)for(var o=e[i],u=o.attributes,l=o.geometry,c=a.computeNumberOfVertices(l),f=r.length,m=0;f>m;++m){for(var h=r[m],y=u[h],d=y.componentDatatype,p=y.value,v=p.length,g=n.createTypedArray(d,c*v),E=0;c>E;++E)g.set(p,E*v); +l.attributes[h]=new s({componentDatatype:d,componentsPerAttribute:v,normalize:y.normalize,values:g})}}function y(e){var r,t=e.instances,i=e.pickIds,o=e.projection,a=e.elementIndexUintSupported,s=e.allow3DOnly,l=e.allowPicking,y=e.vertexCacheOptimize,d=e.modelMatrix,p=t.length;if(t[0].geometry.primitiveType,c(t,d,s),!s)for(r=0;p>r;++r)u.wrapLongitude(t[r].geometry);l&&f(t,i);var v=m(t);if(h(t,v),y)for(r=0;p>r;++r)u.reorderForPostVertexCache(t[r].geometry),u.reorderForPreVertexCache(t[r].geometry);var g,E=u.combine(t),C=E.attributes;if(s)for(g in C)C.hasOwnProperty(g)&&C[g].componentDatatype.value===n.DOUBLE.value&&u.encodeAttribute(E,g,g+"3DHigh",g+"3DLow");else for(g in C)if(C.hasOwnProperty(g)&&C[g].componentDatatype.value===n.DOUBLE.value){var S=g+"3D",w=g+"2D";u.projectTo2D(E,g,S,w,o),u.encodeAttribute(E,S,S+"High",S+"Low"),u.encodeAttribute(E,w,w+"High",w+"Low")}return a?[E]:u.fitToUnsignedShortIndices(E)}function d(e,r,t){for(var i=[],o=e.attributes,a=t.length,s=0;a>s;++s){var u=t[s],l=o[u],c=l.componentDatatype;c.value===n.DOUBLE.value&&(c=n.FLOAT);var f=n.createTypedArray(c,l.values);i.push({index:r[u],componentDatatype:c,componentsPerAttribute:l.componentsPerAttribute,normalize:l.normalize,values:f}),delete o[u]}return i}function p(t,n,i){for(var o=[],s=m(t),u=t.length,l={},c={},f=0;u>f;++f)for(var h=t[f],y=a.computeNumberOfVertices(h.geometry),d=s.length,p=0;d>p;++p)for(var v=s[p],g=i[v],E=y;E>0;){for(var C,S=r(c[v],0),w=n[S],x=w.length,A=0;x>A&&(C=w[A],C.index!==g);++A);e(o[f])||(o[f]={}),e(o[f][v])||(o[f][v]={dirty:!1,value:h.attributes[v].value,indices:[]});var M,b=C.values.length/C.componentsPerAttribute,T=r(l[v],0);b>T+E?(M=E,o[f][v].indices.push({attribute:C,offset:T,count:M}),l[v]=T+E):(M=b-T,o[f][v].indices.push({attribute:C,offset:T,count:M}),l[v]=0,c[v]=S+1),E-=M}return o}function v(r){return e(r.constructor.name)?{type:r.constructor.name,buffer:r.buffer}:r}function g(r){return e(r.type)?new C[r.type](r.buffer):r}if(!o.supportsTypedArrays())return{};var E={};E.combineGeometry=function(e){for(var r={instances:e.instances,pickIds:e.pickIds,ellipsoid:e.ellipsoid,projection:e.projection,elementIndexUintSupported:e.elementIndexUintSupported,allow3DOnly:e.allow3DOnly,allowPicking:e.allowPicking,vertexCacheOptimize:e.vertexCacheOptimize,modelMatrix:l.clone(e.modelMatrix)},t=y(r),n=u.createAttributeLocations(t[0]),i=r.instances,o=m(i),a=[],s=t.length,c=0;s>c;++c){var f=t[c];a.push(d(f,n,o))}var h=p(i,a,n);return{geometries:t,modelMatrix:r.modelMatrix,attributeLocations:n,vaAttributes:a,vaAttributeLocations:h}};var C={Int8Array:Int8Array,Uint8Array:Uint8Array,Int16Array:Int16Array,Uint16Array:Uint16Array,Int32Array:Int32Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array};return E.transferGeometry=function(r,t){var n,i=r.attributes;for(var a in i)i.hasOwnProperty(a)&&e(i[a])&&e(i[a].values)&&(n=i[a].values,o.supportsTransferringArrayBuffers()&&t.indexOf(i[a].values.buffer)<0&&t.push(n.buffer),e(n.type)||(i[a].values=v(n)));e(r.indices)&&(n=r.indices,o.supportsTransferringArrayBuffers()&&t.push(n.buffer),e(n.type)||(r.indices=v(r.indices)))},E.transferGeometries=function(e,r){for(var t=e.length,n=0;t>n;++n)E.transferGeometry(e[n],r)},E.transferPerInstanceAttributes=function(e,r){for(var t=e.length,n=0;t>n;++n)for(var i=e[n],a=i.length,s=0;a>s;++s){var u=i[s].values;o.supportsTransferringArrayBuffers()&&r.push(u.buffer),i[s].values=v(u)}},E.transferInstances=function(e,r){for(var t=e.length,n=0;t>n;++n){var i=e[n];E.transferGeometry(i.geometry,r)}},E.receiveGeometry=function(r){var t=r.attributes;for(var n in t)t.hasOwnProperty(n)&&e(t[n])&&e(t[n].values)&&(t[n].values=g(t[n].values));e(r.indices)&&(r.indices=g(r.indices))},E.receiveGeometries=function(e){for(var r=e.length,t=0;r>t;++t)E.receiveGeometry(e[t])},E.receivePerInstanceAttributes=function(e){for(var r=e.length,t=0;r>t;++t)for(var n=e[t],i=n.length,o=0;i>o;++o)n[o].values=g(n[o].values)},E.receiveInstances=function(e){for(var r=e.length,t=0;r>t;++t){var n=e[t];E.receiveGeometry(n.geometry)}},E}),define("Workers/createTaskProcessorWorker",["../Core/defaultValue","../Core/defined"],function(e,r){"use strict";var t=function(t){var n,i=[],o={id:void 0,result:void 0,error:void 0};return function(a){var s=a.data;i.length=0,o.id=s.id,o.error=void 0,o.result=void 0;try{o.result=t(s.parameters,i)}catch(u){o.error=u}r(n)||(n=e(self.webkitPostMessage,self.postMessage));try{n(o,i)}catch(u){o.result=void 0,o.error="postMessage failed with error: "+u+"\n with responseMessage: "+JSON.stringify(o),n(o)}}};return t}),define("Workers/combineGeometry",["../Core/Ellipsoid","../Core/GeographicProjection","../Core/Matrix4","../Core/WebMercatorProjection","../Scene/PrimitivePipeline","./createTaskProcessorWorker"],function(e,r,t,n,i,o){"use strict";function a(o,a){o.ellipsoid=e.clone(o.ellipsoid),o.projection=o.isGeographic?new r(o.ellipsoid):new n(o.ellipsoid),o.modelMatrix=t.clone(o.modelMatrix),i.receiveInstances(o.instances);var s=i.combineGeometry(o);return i.transferGeometries(s.geometries,a),i.transferPerInstanceAttributes(s.vaAttributes,a),s}return o(a)})}(); \ No newline at end of file diff --git a/Cesium/Workers/createBoxGeometry.js b/Cesium/Workers/createBoxGeometry.js new file mode 100644 index 0000000..175cbce --- /dev/null +++ b/Cesium/Workers/createBoxGeometry.js @@ -0,0 +1,61 @@ +/** + * Cesium - https://github.com/AnalyticalGraphicsInc/cesium + * + * Copyright 2011-2014 Cesium Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Columbus View (Pat. Pend.) + * + * Portions licensed separately. + * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details. + */ +/** +@license +mersenne-twister.js - https://gist.github.com/banksean/300494 + + Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura, + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. The names of its contributors may not be used to endorse or promote + products derived from this software without specific prior written + permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +!function(){define("Core/defined",[],function(){"use strict";var e=function(e){return void 0!==e};return e}),define("Core/DeveloperError",["./defined"],function(e){"use strict";var r=function(e){this.name="DeveloperError",this.message=e;var r;try{throw new Error}catch(t){r=t.stack}this.stack=r};return r.prototype.toString=function(){var r=this.name+": "+this.message;return e(this.stack)&&(r+="\n"+this.stack.toString()),r},r.throwInstantiationError=function(){throw new r("This function defines an interface and should not be called directly.")},r}),define("Core/freezeObject",["./defined"],function(e){"use strict";var r=Object.freeze;return e(r)||(r=function(e){return e}),r}),define("Core/defaultValue",["./freezeObject"],function(e){"use strict";var r=function(e,r){return void 0!==e?e:r};return r.EMPTY_OBJECT=e({}),r}),define("Core/Cartesian3",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,r,t,n){"use strict";var o=function(r,t,n){this.x=e(r,0),this.y=e(t,0),this.z=e(n,0)};o.fromSpherical=function(t,n){r(n)||(n=new o);var i=t.clock,a=t.cone,s=e(t.magnitude,1),u=s*Math.sin(a);return n.x=u*Math.cos(i),n.y=u*Math.sin(i),n.z=s*Math.cos(a),n},o.fromElements=function(e,t,n,i){return r(i)?(i.x=e,i.y=t,i.z=n,i):new o(e,t,n)},o.clone=function(e,t){return r(e)?r(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t):new o(e.x,e.y,e.z):void 0},o.fromCartesian4=o.clone,o.packedLength=3,o.pack=function(r,t,n){n=e(n,0),t[n++]=r.x,t[n++]=r.y,t[n]=r.z},o.unpack=function(t,n,i){return n=e(n,0),r(i)||(i=new o),i.x=t[n++],i.y=t[n++],i.z=t[n],i},o.fromArray=o.unpack,o.getMaximumComponent=function(e){return Math.max(e.x,e.y,e.z)},o.getMinimumComponent=function(e){return Math.min(e.x,e.y,e.z)},o.getMinimumByComponent=function(e,t,n){return r(n)||(n=new o),n.x=Math.min(e.x,t.x),n.y=Math.min(e.y,t.y),n.z=Math.min(e.z,t.z),n},o.getMaximumByComponent=function(e,t,n){return r(n)||(n=new o),n.x=Math.max(e.x,t.x),n.y=Math.max(e.y,t.y),n.z=Math.max(e.z,t.z),n},o.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z},o.magnitude=function(e){return Math.sqrt(o.magnitudeSquared(e))};var i=new o;o.distance=function(e,r){return o.subtract(e,r,i),o.magnitude(i)},o.normalize=function(e,t){var n=o.magnitude(e);return r(t)?(t.x=e.x/n,t.y=e.y/n,t.z=e.z/n,t):new o(e.x/n,e.y/n,e.z/n)},o.dot=function(e,r){return e.x*r.x+e.y*r.y+e.z*r.z},o.multiplyComponents=function(e,t,n){return r(n)?(n.x=e.x*t.x,n.y=e.y*t.y,n.z=e.z*t.z,n):new o(e.x*t.x,e.y*t.y,e.z*t.z)},o.add=function(e,t,n){return r(n)?(n.x=e.x+t.x,n.y=e.y+t.y,n.z=e.z+t.z,n):new o(e.x+t.x,e.y+t.y,e.z+t.z)},o.subtract=function(e,t,n){return r(n)?(n.x=e.x-t.x,n.y=e.y-t.y,n.z=e.z-t.z,n):new o(e.x-t.x,e.y-t.y,e.z-t.z)},o.multiplyByScalar=function(e,t,n){return r(n)?(n.x=e.x*t,n.y=e.y*t,n.z=e.z*t,n):new o(e.x*t,e.y*t,e.z*t)},o.divideByScalar=function(e,t,n){return r(n)?(n.x=e.x/t,n.y=e.y/t,n.z=e.z/t,n):new o(e.x/t,e.y/t,e.z/t)},o.negate=function(e,t){return r(t)?(t.x=-e.x,t.y=-e.y,t.z=-e.z,t):new o(-e.x,-e.y,-e.z)},o.abs=function(e,t){return r(t)?(t.x=Math.abs(e.x),t.y=Math.abs(e.y),t.z=Math.abs(e.z),t):new o(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z))};var a=new o;o.lerp=function(e,r,t,n){return o.multiplyByScalar(r,t,a),n=o.multiplyByScalar(e,1-t,n),o.add(a,n,n)};var s=new o,u=new o;o.angleBetween=function(e,r){o.normalize(e,s),o.normalize(r,u);var t=o.dot(s,u),n=o.magnitude(o.cross(s,u,s));return Math.atan2(n,t)};var l=new o;return o.mostOrthogonalAxis=function(e,r){var t=o.normalize(e,l);return o.abs(t,t),r=t.x<=t.y?t.x<=t.z?o.clone(o.UNIT_X,r):o.clone(o.UNIT_Z,r):t.y<=t.z?o.clone(o.UNIT_Y,r):o.clone(o.UNIT_Z,r)},o.equals=function(e,t){return e===t||r(e)&&r(t)&&e.x===t.x&&e.y===t.y&&e.z===t.z},o.equalsEpsilon=function(e,t,n){return e===t||r(e)&&r(t)&&Math.abs(e.x-t.x)<=n&&Math.abs(e.y-t.y)<=n&&Math.abs(e.z-t.z)<=n},o.cross=function(e,t,n){var i=e.x,a=e.y,s=e.z,u=t.x,l=t.y,c=t.z,f=a*c-s*l,m=s*u-i*c,y=i*l-a*u;return r(n)?(n.x=f,n.y=m,n.z=y,n):new o(f,m,y)},o.ZERO=n(new o(0,0,0)),o.UNIT_X=n(new o(1,0,0)),o.UNIT_Y=n(new o(0,1,0)),o.UNIT_Z=n(new o(0,0,1)),o.prototype.clone=function(e){return o.clone(this,e)},o.prototype.equals=function(e){return o.equals(this,e)},o.prototype.equalsEpsilon=function(e,r){return o.equalsEpsilon(this,e,r)},o.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+")"},o}),define("Core/Fullscreen",["./defined"],function(e){"use strict";var r,t={requestFullscreen:void 0,exitFullscreen:void 0,fullscreenEnabled:void 0,fullscreenElement:void 0,fullscreenchange:void 0,fullscreenerror:void 0},n={};return n.supportsFullscreen=function(){if(e(r))return r;r=!1;var n=document.body;if("function"==typeof n.requestFullscreen)return t.requestFullscreen="requestFullscreen",t.exitFullscreen="exitFullscreen",t.fullscreenEnabled="fullscreenEnabled",t.fullscreenElement="fullscreenElement",t.fullscreenchange="fullscreenchange",t.fullscreenerror="fullscreenerror",r=!0;for(var o,i=["webkit","moz","o","ms","khtml"],a=0,s=i.length;s>a;++a){var u=i[a];o=u+"RequestFullscreen","function"==typeof n[o]?(t.requestFullscreen=o,r=!0):(o=u+"RequestFullScreen","function"==typeof n[o]&&(t.requestFullscreen=o,r=!0)),o=u+"ExitFullscreen","function"==typeof document[o]?t.exitFullscreen=o:(o=u+"CancelFullScreen","function"==typeof document[o]&&(t.exitFullscreen=o)),o=u+"FullscreenEnabled",e(document[o])?t.fullscreenEnabled=o:(o=u+"FullScreenEnabled",e(document[o])&&(t.fullscreenEnabled=o)),o=u+"FullscreenElement",e(document[o])?t.fullscreenElement=o:(o=u+"FullScreenElement",e(document[o])&&(t.fullscreenElement=o)),o=u+"fullscreenchange",e(document["on"+o])&&("ms"===u&&(o="MSFullscreenChange"),t.fullscreenchange=o),o=u+"fullscreenerror",e(document["on"+o])&&("ms"===u&&(o="MSFullscreenError"),t.fullscreenerror=o)}return r},n.requestFullscreen=function(e){n.supportsFullscreen()&&e[t.requestFullscreen]()},n.exitFullscreen=function(){n.supportsFullscreen()&&document[t.exitFullscreen]()},n.isFullscreenEnabled=function(){return n.supportsFullscreen()?document[t.fullscreenEnabled]:void 0},n.getFullscreenElement=function(){return n.supportsFullscreen()?document[t.fullscreenElement]:void 0},n.isFullscreen=function(){return n.supportsFullscreen()?null!==n.getFullscreenElement():void 0},n.getFullscreenChangeEventName=function(){return n.supportsFullscreen()?t.fullscreenchange:void 0},n.getFullscreenErrorEventName=function(){return n.supportsFullscreen()?t.fullscreenerror:void 0},n}),define("Core/FeatureDetection",["./defined","./Fullscreen"],function(e,r){"use strict";function t(e){for(var r=e.split("."),t=0,n=r.length;n>t;++t)r[t]=parseInt(r[t],10);return r}function n(){if(!e(f)){var r=/ Chrome\/([\.0-9]+)/.exec(navigator.userAgent);null===r?f=!1:(f=!0,m=t(r[1]))}return f}function o(){return n()&&m}function i(){if(!e(y))if(n()||!/ Safari\/[\.0-9]+/.test(navigator.userAgent))y=!1;else{var r=/ Version\/([\.0-9]+)/.exec(navigator.userAgent);null===r?y=!1:(y=!0,h=t(r[1]))}return y}function a(){return i()&&h}function s(){if(!e(p)){var r=/ AppleWebKit\/([\.0-9]+)(\+?)/.exec(navigator.userAgent);null===r?p=!1:(p=!0,d=t(r[1]),d.isNightly=!!r[2])}return p}function u(){return s()&&d}function l(){if(!e(v)){var r;"Microsoft Internet Explorer"===navigator.appName?(r=/MSIE ([0-9]{1,}[\.0-9]{0,})/.exec(navigator.userAgent),null!==r&&(v=!0,g=t(r[1]))):"Netscape"===navigator.appName?(r=/Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/.exec(navigator.userAgent),null!==r&&(v=!0,g=t(r[1]))):v=!1}return v}function c(){return l()&&g}var f,m,y,h,p,d,v,g,E={isChrome:n,chromeVersion:o,isSafari:i,safariVersion:a,isWebkit:s,webkitVersion:u,isInternetExplorer:l,internetExplorerVersion:c};E.supportsFullscreen=function(){return r.supportsFullscreen()},E.supportsTypedArrays=function(){return"undefined"!=typeof ArrayBuffer};var C;return E.supportsTransferringArrayBuffers=function(){if(!e(C)){if(!E.supportsTypedArrays())return C=!1,void 0;var r=new ArrayBuffer(1);try{postMessage({value:r},[r]),C=!0}catch(t){C=!1}}return C},E}),define("Core/Enumeration",["./defined"],function(e){"use strict";var r=function(r,t,n){if(this.value=r,this.name=t,e(n))for(var o in n)n.hasOwnProperty(o)&&(this[o]=n[o])};return r.prototype.valueOf=function(){return this.value},r.prototype.toString=function(){return this.name},r}),define("Core/ComponentDatatype",["./defaultValue","./defined","./DeveloperError","./FeatureDetection","./Enumeration"],function(e,r,t,n,o){"use strict";if(!n.supportsTypedArrays())return{};var i={BYTE:new o(5120,"BYTE",{sizeInBytes:Int8Array.BYTES_PER_ELEMENT}),UNSIGNED_BYTE:new o(5121,"UNSIGNED_BYTE",{sizeInBytes:Uint8Array.BYTES_PER_ELEMENT}),SHORT:new o(5122,"SHORT",{sizeInBytes:Int16Array.BYTES_PER_ELEMENT}),UNSIGNED_SHORT:new o(5123,"UNSIGNED_SHORT",{sizeInBytes:Uint16Array.BYTES_PER_ELEMENT}),FLOAT:new o(5126,"FLOAT",{sizeInBytes:Float32Array.BYTES_PER_ELEMENT}),DOUBLE:new o(5130,"DOUBLE",{sizeInBytes:Float64Array.BYTES_PER_ELEMENT})};return i.validate=function(e){return r(e)&&r(e.value)&&(e.value===i.BYTE.value||e.value===i.UNSIGNED_BYTE.value||e.value===i.SHORT.value||e.value===i.UNSIGNED_SHORT.value||e.value===i.FLOAT.value||e.value===i.DOUBLE.value)},i.createTypedArray=function(e,r){switch(e.value){case i.BYTE.value:return new Int8Array(r);case i.UNSIGNED_BYTE.value:return new Uint8Array(r);case i.SHORT.value:return new Int16Array(r);case i.UNSIGNED_SHORT.value:return new Uint16Array(r);case i.FLOAT.value:return new Float32Array(r);case i.DOUBLE.value:return new Float64Array(r);default:throw new t("componentDatatype is not a valid enumeration value.")}},i.createArrayBufferView=function(r,n,o,a){switch(o=e(o,0),a=e(a,(n.byteLength-o)/r.sizeInBytes),r.value){case i.BYTE.value:return new Int8Array(n,o,a);case i.UNSIGNED_BYTE.value:return new Uint8Array(n,o,a);case i.SHORT.value:return new Int16Array(n,o,a);case i.UNSIGNED_SHORT.value:return new Uint16Array(n,o,a);case i.FLOAT.value:return new Float32Array(n,o,a);case i.DOUBLE.value:return new Float64Array(n,o,a);default:throw new t("componentDatatype is not a valid enumeration value.")}},i}),define("Core/PrimitiveType",[],function(){"use strict";var e={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,validate:function(r){return r===e.POINTS||r===e.LINES||r===e.LINE_LOOP||r===e.LINE_STRIP||r===e.TRIANGLES||r===e.TRIANGLE_STRIP||r===e.TRIANGLE_FAN}};return e}),define("ThirdParty/mersenne-twister",[],function(){var e=function(e){void 0==e&&(e=(new Date).getTime()),this.N=624,this.M=397,this.MATRIX_A=2567483615,this.UPPER_MASK=2147483648,this.LOWER_MASK=2147483647,this.mt=new Array(this.N),this.mti=this.N+1,this.init_genrand(e)};return e.prototype.init_genrand=function(e){for(this.mt[0]=e>>>0,this.mti=1;this.mti>>30;this.mt[this.mti]=(1812433253*((4294901760&e)>>>16)<<16)+1812433253*(65535&e)+this.mti,this.mt[this.mti]>>>=0}},e.prototype.genrand_int32=function(){var e,r=new Array(0,this.MATRIX_A);if(this.mti>=this.N){var t;for(this.mti==this.N+1&&this.init_genrand(5489),t=0;t>>1^r[1&e];for(;t>>1^r[1&e];e=this.mt[this.N-1]&this.UPPER_MASK|this.mt[0]&this.LOWER_MASK,this.mt[this.N-1]=this.mt[this.M-1]^e>>>1^r[1&e],this.mti=0}return e=this.mt[this.mti++],e^=e>>>11,e^=2636928640&e<<7,e^=4022730752&e<<15,e^=e>>>18,e>>>0},e.prototype.random=function(){return this.genrand_int32()*(1/4294967296)},e}),define("Core/Math",["./defaultValue","./defined","./DeveloperError","../ThirdParty/mersenne-twister"],function(e,r,t,n){"use strict";var o={};o.EPSILON1=.1,o.EPSILON2=.01,o.EPSILON3=.001,o.EPSILON4=1e-4,o.EPSILON5=1e-5,o.EPSILON6=1e-6,o.EPSILON7=1e-7,o.EPSILON8=1e-8,o.EPSILON9=1e-9,o.EPSILON10=1e-10,o.EPSILON11=1e-11,o.EPSILON12=1e-12,o.EPSILON13=1e-13,o.EPSILON14=1e-14,o.EPSILON15=1e-15,o.EPSILON16=1e-16,o.EPSILON17=1e-17,o.EPSILON18=1e-18,o.EPSILON19=1e-19,o.EPSILON20=1e-20,o.GRAVITATIONALPARAMETER=3986004418e5,o.SOLAR_RADIUS=6955e5,o.LUNAR_RADIUS=1737400,o.SIXTY_FOUR_KILOBYTES=65536,o.sign=function(e){return e>0?1:0>e?-1:0},o.sinh=function(e){var r=Math.pow(Math.E,e),t=Math.pow(Math.E,-1*e);return.5*(r-t)},o.cosh=function(e){var r=Math.pow(Math.E,e),t=Math.pow(Math.E,-1*e);return.5*(r+t)},o.lerp=function(e,r,t){return(1-t)*e+t*r},o.PI=Math.PI,o.ONE_OVER_PI=1/Math.PI,o.PI_OVER_TWO=.5*Math.PI,o.PI_OVER_THREE=Math.PI/3,o.PI_OVER_FOUR=Math.PI/4,o.PI_OVER_SIX=Math.PI/6,o.THREE_PI_OVER_TWO=.5*3*Math.PI,o.TWO_PI=2*Math.PI,o.ONE_OVER_TWO_PI=1/(2*Math.PI),o.RADIANS_PER_DEGREE=Math.PI/180,o.DEGREES_PER_RADIAN=180/Math.PI,o.RADIANS_PER_ARCSECOND=o.RADIANS_PER_DEGREE/3600,o.toRadians=function(e){return e*o.RADIANS_PER_DEGREE},o.toDegrees=function(e){return e*o.DEGREES_PER_RADIAN},o.convertLongitudeRange=function(e){var r=o.TWO_PI,t=e-Math.floor(e/r)*r;return t<-Math.PI?t+r:t>=Math.PI?t-r:t},o.negativePiToPi=function(e){for(var r=o.EPSILON10,t=o.PI,n=o.TWO_PI;-(t+r)>e;)e+=n;if(-t>e)return-t;for(;e>t+r;)e-=n;return e>t?t:e},o.zeroToTwoPi=function(e){var r=e%o.TWO_PI;return 0>r?(r+o.TWO_PI)%o.TWO_PI:r},o.equalsEpsilon=function(r,t,n){return n=e(n,0),Math.abs(r-t)<=n};var i=[1];o.factorial=function(e){var r=i.length;if(e>=r)for(var t=i[r-1],n=r;e>=n;n++)i.push(t*n);return i[e]},o.incrementWrap=function(r,t,n){return n=e(n,0),++r,r>t&&(r=n),r},o.isPowerOfTwo=function(e){return 0!==e&&0===(e&e-1)},o.nextPowerOfTwo=function(e){return--e,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,++e,e},o.clamp=function(e,r,t){return r>e?r:e>t?t:e};var a=new n;return o.setRandomNumberSeed=function(e){a=new n(e)},o.nextRandomNumber=function(){return a.random()},o}),define("Core/Cartographic",["./defaultValue","./defined","./DeveloperError","./freezeObject","./Math"],function(e,r,t,n,o){"use strict";var i=function(r,t,n){this.longitude=e(r,0),this.latitude=e(t,0),this.height=e(n,0)};return i.fromDegrees=function(t,n,a,s){return t=o.toRadians(e(t,0)),n=o.toRadians(e(n,0)),a=e(a,0),r(s)?(s.longitude=t,s.latitude=n,s.height=a,s):new i(t,n,a)},i.clone=function(e,t){return r(e)?r(t)?(t.longitude=e.longitude,t.latitude=e.latitude,t.height=e.height,t):new i(e.longitude,e.latitude,e.height):void 0},i.equals=function(e,t){return e===t||r(e)&&r(t)&&e.longitude===t.longitude&&e.latitude===t.latitude&&e.height===t.height},i.equalsEpsilon=function(e,t,n){return e===t||r(e)&&r(t)&&Math.abs(e.longitude-t.longitude)<=n&&Math.abs(e.latitude-t.latitude)<=n&&Math.abs(e.height-t.height)<=n},i.toString=function(e){return"("+e.longitude+", "+e.latitude+", "+e.height+")"},i.ZERO=n(new i(0,0,0)),i.prototype.clone=function(e){return i.clone(this,e)},i.prototype.equals=function(e){return i.equals(this,e)},i.prototype.equalsEpsilon=function(e,r){return i.equalsEpsilon(this,e,r)},i.prototype.toString=function(){return i.toString(this)},i}),define("Core/defineProperties",["./defined"],function(e){"use strict";var r=function(){try{return"x"in Object.defineProperty({},"x",{})}catch(e){return!1}}(),t=Object.defineProperties;return r&&e(t)||(t=function(e){return e}),t}),define("Core/Ellipsoid",["./freezeObject","./defaultValue","./defined","./defineProperties","./DeveloperError","./Math","./Cartesian3","./Cartographic"],function(e,r,t,n,o,i,a,s){"use strict";var u=function(e,t,n){e=r(e,0),t=r(t,0),n=r(n,0),this._radii=new a(e,t,n),this._radiiSquared=new a(e*e,t*t,n*n),this._radiiToTheFourth=new a(e*e*e*e,t*t*t*t,n*n*n*n),this._oneOverRadii=new a(0===e?0:1/e,0===t?0:1/t,0===n?0:1/n),this._oneOverRadiiSquared=new a(0===e?0:1/(e*e),0===t?0:1/(t*t),0===n?0:1/(n*n)),this._minimumRadius=Math.min(e,t,n),this._maximumRadius=Math.max(e,t,n),this._centerToleranceSquared=i.EPSILON1};n(u.prototype,{radii:{get:function(){return this._radii}},radiiSquared:{get:function(){return this._radiiSquared}},radiiToTheFourth:{get:function(){return this._radiiToTheFourth}},oneOverRadii:{get:function(){return this._oneOverRadii}},oneOverRadiiSquared:{get:function(){return this._oneOverRadiiSquared}},minimumRadius:{get:function(){return this._minimumRadius}},maximumRadius:{get:function(){return this._maximumRadius}}}),u.clone=function(e,r){if(!t(e))return void 0;var n=e._radii;return t(r)?(a.clone(n,r._radii),a.clone(e._radiiSquared,r._radiiSquared),a.clone(e._radiiToTheFourth,r._radiiToTheFourth),a.clone(e._oneOverRadii,r._oneOverRadii),a.clone(e._oneOverRadiiSquared,r._oneOverRadiiSquared),r._minimumRadius=e._minimumRadius,r._maximumRadius=e._maximumRadius,r._centerToleranceSquared=e._centerToleranceSquared,r):new u(n.x,n.y,n.z)},u.fromCartesian3=function(e){return t(e)?new u(e.x,e.y,e.z):new u},u.WGS84=e(new u(6378137,6378137,6356752.314245179)),u.UNIT_SPHERE=e(new u(1,1,1)),u.MOON=e(new u(i.LUNAR_RADIUS,i.LUNAR_RADIUS,i.LUNAR_RADIUS)),u.prototype.clone=function(e){return u.clone(this,e)},u.prototype.geocentricSurfaceNormal=a.normalize,u.prototype.geodeticSurfaceNormalCartographic=function(e,r){var n=e.longitude,o=e.latitude,i=Math.cos(o),s=i*Math.cos(n),u=i*Math.sin(n),l=Math.sin(o);return t(r)||(r=new a),r.x=s,r.y=u,r.z=l,a.normalize(r,r)},u.prototype.geodeticSurfaceNormal=function(e,r){return r=a.multiplyComponents(e,this._oneOverRadiiSquared,r),a.normalize(r,r)};var l=new a,c=new a;u.prototype.cartographicToCartesian=function(e,r){var t=l,n=c;this.geodeticSurfaceNormalCartographic(e,t),a.multiplyComponents(this._radiiSquared,t,n);var o=Math.sqrt(a.dot(t,n));return a.divideByScalar(n,o,n),a.multiplyByScalar(t,e.height,t),a.add(n,t,r)},u.prototype.cartographicArrayToCartesianArray=function(e,r){var n=e.length;t(r)?r.length=n:r=new Array(n);for(var o=0;n>o;o++)r[o]=this.cartographicToCartesian(e[o],r[o]);return r};var f=new a,m=new a,y=new a;u.prototype.cartesianToCartographic=function(e,r){var n=this.scaleToGeodeticSurface(e,m);if(!t(n))return void 0;var o=this.geodeticSurfaceNormal(n,f),u=a.subtract(e,n,y),l=Math.atan2(o.y,o.x),c=Math.asin(o.z),h=i.sign(a.dot(u,e))*a.magnitude(u);return t(r)?(r.longitude=l,r.latitude=c,r.height=h,r):new s(l,c,h)},u.prototype.cartesianArrayToCartographicArray=function(e,r){var n=e.length;t(r)?r.length=n:r=new Array(n);for(var o=0;n>o;++o)r[o]=this.cartesianToCartographic(e[o],r[o]);return r};var h=new a,p=new a;return u.prototype.scaleToGeodeticSurface=function(e,r){var n=e.x,o=e.y,s=e.z,u=this._oneOverRadii,l=u.x,c=u.y,f=u.z,m=n*n*l*l,y=o*o*c*c,d=s*s*f*f,v=m+y+d,g=Math.sqrt(1/v),E=a.multiplyByScalar(e,g,h);if(vi.EPSILON12);return t(r)?(r.x=n*M,r.y=o*O,r.z=s*I,r):new a(n*M,o*O,s*I)},u.prototype.scaleToGeocentricSurface=function(e,r){var t=e.x,n=e.y,o=e.z,i=this._oneOverRadiiSquared,s=1/Math.sqrt(t*t*i.x+n*n*i.y+o*o*i.z);return a.multiplyByScalar(e,s,r)},u.prototype.transformPositionToScaledSpace=function(e,r){return a.multiplyComponents(e,this._oneOverRadii,r)},u.prototype.transformPositionFromScaledSpace=function(e,r){return a.multiplyComponents(e,this._radii,r)},u.prototype.equals=function(e){return this===e||t(e)&&a.equals(this._radii,e._radii)},u.prototype.toString=function(){return this._radii.toString()},u}),define("Core/GeographicProjection",["./defaultValue","./defined","./defineProperties","./Cartesian3","./Cartographic","./Ellipsoid"],function(e,r,t,n,o,i){"use strict";var a=function(r){this._ellipsoid=e(r,i.WGS84),this._semimajorAxis=this._ellipsoid.maximumRadius,this._oneOverSemimajorAxis=1/this._semimajorAxis};return t(a.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}}),a.prototype.project=function(e,t){var o=this._semimajorAxis,i=e.longitude*o,a=e.latitude*o,s=e.height;return r(t)?(t.x=i,t.y=a,t.z=s,t):new n(i,a,s)},a.prototype.unproject=function(e,t){var n=this._oneOverSemimajorAxis,i=e.x*n,a=e.y*n,s=e.z;return r(t)?(t.longitude=i,t.latitude=a,t.height=s,t):new o(i,a,s)},a}),define("Core/Intersect",["./Enumeration"],function(e){"use strict";var r={OUTSIDE:new e(-1,"OUTSIDE"),INTERSECTING:new e(0,"INTERSECTING"),INSIDE:new e(1,"INSIDE")};return r}),define("Core/Interval",["./defaultValue"],function(e){"use strict";var r=function(r,t){this.start=e(r,0),this.stop=e(t,0)};return r}),define("Core/Cartesian4",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,r,t,n){"use strict";var o=function(r,t,n,o){this.x=e(r,0),this.y=e(t,0),this.z=e(n,0),this.w=e(o,0)};o.fromElements=function(e,t,n,i,a){return r(a)?(a.x=e,a.y=t,a.z=n,a.w=i,a):new o(e,t,n,i)},o.clone=function(e,t){return r(e)?r(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t):new o(e.x,e.y,e.z,e.w):void 0},o.packedLength=4,o.pack=function(r,t,n){n=e(n,0),t[n++]=r.x,t[n++]=r.y,t[n++]=r.z,t[n]=r.w},o.unpack=function(t,n,i){return n=e(n,0),r(i)||(i=new o),i.x=t[n++],i.y=t[n++],i.z=t[n++],i.w=t[n],i},o.fromArray=o.unpack,o.getMaximumComponent=function(e){return Math.max(e.x,e.y,e.z,e.w)},o.getMinimumComponent=function(e){return Math.min(e.x,e.y,e.z,e.w)},o.getMinimumByComponent=function(e,t,n){return r(n)||(n=new o),n.x=Math.min(e.x,t.x),n.y=Math.min(e.y,t.y),n.z=Math.min(e.z,t.z),n.w=Math.min(e.w,t.w),n},o.getMaximumByComponent=function(e,t,n){return r(n)||(n=new o),n.x=Math.max(e.x,t.x),n.y=Math.max(e.y,t.y),n.z=Math.max(e.z,t.z),n.w=Math.max(e.w,t.w),n},o.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w},o.magnitude=function(e){return Math.sqrt(o.magnitudeSquared(e))};var i=new o;o.distance=function(e,r){return o.subtract(e,r,i),o.magnitude(i)},o.normalize=function(e,t){var n=o.magnitude(e);return r(t)?(t.x=e.x/n,t.y=e.y/n,t.z=e.z/n,t.w=e.w/n,t):new o(e.x/n,e.y/n,e.z/n,e.w/n)},o.dot=function(e,r){return e.x*r.x+e.y*r.y+e.z*r.z+e.w*r.w},o.multiplyComponents=function(e,t,n){return r(n)?(n.x=e.x*t.x,n.y=e.y*t.y,n.z=e.z*t.z,n.w=e.w*t.w,n):new o(e.x*t.x,e.y*t.y,e.z*t.z,e.w*t.w)},o.add=function(e,t,n){return r(n)?(n.x=e.x+t.x,n.y=e.y+t.y,n.z=e.z+t.z,n.w=e.w+t.w,n):new o(e.x+t.x,e.y+t.y,e.z+t.z,e.w+t.w)},o.subtract=function(e,t,n){return r(n)?(n.x=e.x-t.x,n.y=e.y-t.y,n.z=e.z-t.z,n.w=e.w-t.w,n):new o(e.x-t.x,e.y-t.y,e.z-t.z,e.w-t.w)},o.multiplyByScalar=function(e,t,n){return r(n)?(n.x=e.x*t,n.y=e.y*t,n.z=e.z*t,n.w=e.w*t,n):new o(e.x*t,e.y*t,e.z*t,e.w*t)},o.divideByScalar=function(e,t,n){return r(n)?(n.x=e.x/t,n.y=e.y/t,n.z=e.z/t,n.w=e.w/t,n):new o(e.x/t,e.y/t,e.z/t,e.w/t)},o.negate=function(e,t){return r(t)?(t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=-e.w,t):new o(-e.x,-e.y,-e.z,-e.w)},o.abs=function(e,t){return r(t)?(t.x=Math.abs(e.x),t.y=Math.abs(e.y),t.z=Math.abs(e.z),t.w=Math.abs(e.w),t):new o(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z),Math.abs(e.w))};var a=new o;o.lerp=function(e,r,t,n){return o.multiplyByScalar(r,t,a),n=o.multiplyByScalar(e,1-t,n),o.add(a,n,n)};var s=new o;return o.mostOrthogonalAxis=function(e,r){var t=o.normalize(e,s);return o.abs(t,t),r=t.x<=t.y?t.x<=t.z?t.x<=t.w?o.clone(o.UNIT_X,r):o.clone(o.UNIT_W,r):t.z<=t.w?o.clone(o.UNIT_Z,r):o.clone(o.UNIT_W,r):t.y<=t.z?t.y<=t.w?o.clone(o.UNIT_Y,r):o.clone(o.UNIT_W,r):t.z<=t.w?o.clone(o.UNIT_Z,r):o.clone(o.UNIT_W,r)},o.equals=function(e,t){return e===t||r(e)&&r(t)&&e.x===t.x&&e.y===t.y&&e.z===t.z&&e.w===t.w},o.equalsEpsilon=function(e,t,n){return e===t||r(e)&&r(t)&&Math.abs(e.x-t.x)<=n&&Math.abs(e.y-t.y)<=n&&Math.abs(e.z-t.z)<=n&&Math.abs(e.w-t.w)<=n},o.ZERO=n(new o(0,0,0,0)),o.UNIT_X=n(new o(1,0,0,0)),o.UNIT_Y=n(new o(0,1,0,0)),o.UNIT_Z=n(new o(0,0,1,0)),o.UNIT_W=n(new o(0,0,0,1)),o.prototype.clone=function(e){return o.clone(this,e)},o.prototype.equals=function(e){return o.equals(this,e)},o.prototype.equalsEpsilon=function(e,r){return o.equalsEpsilon(this,e,r)},o.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+", "+this.w+")"},o}),define("Core/Matrix3",["./Cartesian3","./defaultValue","./defined","./DeveloperError","./freezeObject","./Math"],function(e,r,t,n,o,i){"use strict";function a(e){for(var r=0,t=0;9>t;++t){var n=e[t];r+=n*n}return Math.sqrt(r)}function s(e){for(var r=0,t=0;3>t;++t){var n=e[l.getElementIndex(f[t],c[t])];r+=2*n*n}return Math.sqrt(r)}function u(e,r){for(var t=i.EPSILON15,n=0,o=1,a=0;3>a;++a){var s=Math.abs(e[l.getElementIndex(f[a],c[a])]);s>n&&(o=a,n=s)}var u=1,m=0,y=c[o],h=f[o];if(Math.abs(e[l.getElementIndex(h,y)])>t){var p,d=e[l.getElementIndex(h,h)],v=e[l.getElementIndex(y,y)],g=e[l.getElementIndex(h,y)],E=(d-v)/2/g;p=0>E?-1/(-E+Math.sqrt(1+E*E)):1/(E+Math.sqrt(1+E*E)),u=1/Math.sqrt(1+p*p),m=p*u}return r=l.clone(l.IDENTITY,r),r[l.getElementIndex(y,y)]=r[l.getElementIndex(h,h)]=u,r[l.getElementIndex(h,y)]=m,r[l.getElementIndex(y,h)]=-m,r}var l=function(e,t,n,o,i,a,s,u,l){this[0]=r(e,0),this[1]=r(o,0),this[2]=r(s,0),this[3]=r(t,0),this[4]=r(i,0),this[5]=r(u,0),this[6]=r(n,0),this[7]=r(a,0),this[8]=r(l,0)};l.clone=function(e,r){return t(e)?t(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r):new l(e[0],e[3],e[6],e[1],e[4],e[7],e[2],e[5],e[8]):void 0},l.fromArray=function(e,n,o){return n=r(n,0),t(o)||(o=new l),o[0]=e[n],o[1]=e[n+1],o[2]=e[n+2],o[3]=e[n+3],o[4]=e[n+4],o[5]=e[n+5],o[6]=e[n+6],o[7]=e[n+7],o[8]=e[n+8],o[9]=e[n+9],o},l.fromColumnMajorArray=function(e,r){return l.clone(e,r)},l.fromRowMajorArray=function(e,r){return t(r)?(r[0]=e[0],r[1]=e[3],r[2]=e[6],r[3]=e[1],r[4]=e[4],r[5]=e[7],r[6]=e[2],r[7]=e[5],r[8]=e[8],r):new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])},l.fromQuaternion=function(e,r){var n=e.x*e.x,o=e.x*e.y,i=e.x*e.z,a=e.x*e.w,s=e.y*e.y,u=e.y*e.z,c=e.y*e.w,f=e.z*e.z,m=e.z*e.w,y=e.w*e.w,h=n-s-f+y,p=2*(o-m),d=2*(i+c),v=2*(o+m),g=-n+s-f+y,E=2*(u-a),C=2*(i-c),S=2*(u+a),w=-n-s+f+y;return t(r)?(r[0]=h,r[1]=v,r[2]=C,r[3]=p,r[4]=g,r[5]=S,r[6]=d,r[7]=E,r[8]=w,r):new l(h,p,d,v,g,E,C,S,w)},l.fromScale=function(e,r){return t(r)?(r[0]=e.x,r[1]=0,r[2]=0,r[3]=0,r[4]=e.y,r[5]=0,r[6]=0,r[7]=0,r[8]=e.z,r):new l(e.x,0,0,0,e.y,0,0,0,e.z)},l.fromUniformScale=function(e,r){return t(r)?(r[0]=e,r[1]=0,r[2]=0,r[3]=0,r[4]=e,r[5]=0,r[6]=0,r[7]=0,r[8]=e,r):new l(e,0,0,0,e,0,0,0,e)},l.fromRotationX=function(e,r){var n=Math.cos(e),o=Math.sin(e);return t(r)?(r[0]=1,r[1]=0,r[2]=0,r[3]=0,r[4]=n,r[5]=o,r[6]=0,r[7]=-o,r[8]=n,r):new l(1,0,0,0,n,-o,0,o,n)},l.fromRotationY=function(e,r){var n=Math.cos(e),o=Math.sin(e);return t(r)?(r[0]=n,r[1]=0,r[2]=-o,r[3]=0,r[4]=1,r[5]=0,r[6]=o,r[7]=0,r[8]=n,r):new l(n,0,o,0,1,0,-o,0,n)},l.fromRotationZ=function(e,r){var n=Math.cos(e),o=Math.sin(e);return t(r)?(r[0]=n,r[1]=o,r[2]=0,r[3]=-o,r[4]=n,r[5]=0,r[6]=0,r[7]=0,r[8]=1,r):new l(n,-o,0,o,n,0,0,0,1)},l.toArray=function(e,r){return t(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8]]},l.getElementIndex=function(e,r){return 3*e+r},l.getColumn=function(r,n,o){var i=3*n,a=r[i],s=r[i+1],u=r[i+2];return t(o)?(o.x=a,o.y=s,o.z=u,o):new e(a,s,u)},l.setColumn=function(e,r,t,n){n=l.clone(e,n);var o=3*r;return n[o]=t.x,n[o+1]=t.y,n[o+2]=t.z,n},l.getRow=function(r,n,o){var i=r[n],a=r[n+3],s=r[n+6];return t(o)?(o.x=i,o.y=a,o.z=s,o):new e(i,a,s)},l.setRow=function(e,r,t,n){return n=l.clone(e,n),n[r]=t.x,n[r+3]=t.y,n[r+6]=t.z,n},l.multiply=function(e,r,n){var o=e[0]*r[0]+e[3]*r[1]+e[6]*r[2],i=e[1]*r[0]+e[4]*r[1]+e[7]*r[2],a=e[2]*r[0]+e[5]*r[1]+e[8]*r[2],s=e[0]*r[3]+e[3]*r[4]+e[6]*r[5],u=e[1]*r[3]+e[4]*r[4]+e[7]*r[5],c=e[2]*r[3]+e[5]*r[4]+e[8]*r[5],f=e[0]*r[6]+e[3]*r[7]+e[6]*r[8],m=e[1]*r[6]+e[4]*r[7]+e[7]*r[8],y=e[2]*r[6]+e[5]*r[7]+e[8]*r[8];return t(n)?(n[0]=o,n[1]=i,n[2]=a,n[3]=s,n[4]=u,n[5]=c,n[6]=f,n[7]=m,n[8]=y,n):new l(o,s,f,i,u,m,a,c,y)},l.multiplyByVector=function(r,n,o){var i=n.x,a=n.y,s=n.z,u=r[0]*i+r[3]*a+r[6]*s,l=r[1]*i+r[4]*a+r[7]*s,c=r[2]*i+r[5]*a+r[8]*s;return t(o)?(o.x=u,o.y=l,o.z=c,o):new e(u,l,c)},l.multiplyByScalar=function(e,r,n){return t(n)?(n[0]=e[0]*r,n[1]=e[1]*r,n[2]=e[2]*r,n[3]=e[3]*r,n[4]=e[4]*r,n[5]=e[5]*r,n[6]=e[6]*r,n[7]=e[7]*r,n[8]=e[8]*r,n):new l(e[0]*r,e[3]*r,e[6]*r,e[1]*r,e[4]*r,e[7]*r,e[2]*r,e[5]*r,e[8]*r)},l.negate=function(e,r){return t(r)?(r[0]=-e[0],r[1]=-e[1],r[2]=-e[2],r[3]=-e[3],r[4]=-e[4],r[5]=-e[5],r[6]=-e[6],r[7]=-e[7],r[8]=-e[8],r):new l(-e[0],-e[3],-e[6],-e[1],-e[4],-e[7],-e[2],-e[5],-e[8])},l.transpose=function(e,r){var n=e[0],o=e[3],i=e[6],a=e[1],s=e[4],u=e[7],c=e[2],f=e[5],m=e[8];return t(r)?(r[0]=n,r[1]=o,r[2]=i,r[3]=a,r[4]=s,r[5]=u,r[6]=c,r[7]=f,r[8]=m,r):new l(n,a,c,o,s,f,i,u,m)};var c=[1,0,0],f=[2,2,1],m=new l,y=new l;return l.getEigenDecomposition=function(e,r){var n=i.EPSILON20,o=10,c=0,f=0;t(r)||(r={});for(var h=r.unitary=l.clone(l.IDENTITY,r.unitary),p=r.diagonal=l.clone(e,r.diagonal),d=n*a(p);o>f&&s(p)>d;)u(p,m),l.transpose(m,y),l.multiply(p,m,p),l.multiply(y,p,p),l.multiply(h,m,h),++c>2&&(++f,c=0);return r},l.abs=function(e,r){return t(r)?(r[0]=Math.abs(e[0]),r[1]=Math.abs(e[1]),r[2]=Math.abs(e[2]),r[3]=Math.abs(e[3]),r[4]=Math.abs(e[4]),r[5]=Math.abs(e[5]),r[6]=Math.abs(e[6]),r[7]=Math.abs(e[7]),r[8]=Math.abs(e[8]),r):new l(Math.abs(e[0]),Math.abs(e[3]),Math.abs(e[6]),Math.abs(e[1]),Math.abs(e[4]),Math.abs(e[7]),Math.abs(e[2]),Math.abs(e[5]),Math.abs(e[8]))},l.determinant=function(e){var r=e[0],t=e[3],n=e[6],o=e[1],i=e[4],a=e[7],s=e[2],u=e[5],l=e[8];return r*(i*l-u*a)+o*(u*n-t*l)+s*(t*a-i*n)},l.inverse=function(e,r){var t=e[0],o=e[1],a=e[2],s=e[3],u=e[4],c=e[5],f=e[6],m=e[7],y=e[8],h=l.determinant(e);if(Math.abs(h)<=i.EPSILON15)throw new n("matrix is not invertible");var p=new l(u*y-m*c,f*c-s*y,s*m-f*u,m*a-o*y,t*y-f*a,f*o-t*m,o*c-u*a,s*a-t*c,t*u-s*o),d=1/h;return l.multiplyByScalar(p,d,r)},l.equals=function(e,r){return e===r||t(e)&&t(r)&&e[0]===r[0]&&e[1]===r[1]&&e[2]===r[2]&&e[3]===r[3]&&e[4]===r[4]&&e[5]===r[5]&&e[6]===r[6]&&e[7]===r[7]&&e[8]===r[8]},l.equalsEpsilon=function(e,r,n){return e===r||t(e)&&t(r)&&Math.abs(e[0]-r[0])<=n&&Math.abs(e[1]-r[1])<=n&&Math.abs(e[2]-r[2])<=n&&Math.abs(e[3]-r[3])<=n&&Math.abs(e[4]-r[4])<=n&&Math.abs(e[5]-r[5])<=n&&Math.abs(e[6]-r[6])<=n&&Math.abs(e[7]-r[7])<=n&&Math.abs(e[8]-r[8])<=n},l.IDENTITY=o(new l(1,0,0,0,1,0,0,0,1)),l.COLUMN0ROW0=0,l.COLUMN0ROW1=1,l.COLUMN0ROW2=2,l.COLUMN1ROW0=3,l.COLUMN1ROW1=4,l.COLUMN1ROW2=5,l.COLUMN2ROW0=6,l.COLUMN2ROW1=7,l.COLUMN2ROW2=8,l.prototype.clone=function(e){return l.clone(this,e)},l.prototype.equals=function(e){return l.equals(this,e)},l.prototype.equalsEpsilon=function(e,r){return l.equalsEpsilon(this,e,r)},l.prototype.toString=function(){return"("+this[0]+", "+this[3]+", "+this[6]+")\n"+"("+this[1]+", "+this[4]+", "+this[7]+")\n"+"("+this[2]+", "+this[5]+", "+this[8]+")"},l}),define("Core/RuntimeError",["./defined"],function(e){"use strict";var r=function(e){this.name="RuntimeError",this.message=e;var r;try{throw new Error}catch(t){r=t.stack}this.stack=r};return r.prototype.toString=function(){var r=this.name+": "+this.message;return e(this.stack)&&(r+="\n"+this.stack.toString()),r},r}),define("Core/Matrix4",["./Cartesian3","./Cartesian4","./defaultValue","./defined","./DeveloperError","./freezeObject","./Math","./Matrix3","./RuntimeError"],function(e,r,t,n,o,i,a,s,u){"use strict";var l=function(e,r,n,o,i,a,s,u,l,c,f,m,y,h,p,d){this[0]=t(e,0),this[1]=t(i,0),this[2]=t(l,0),this[3]=t(y,0),this[4]=t(r,0),this[5]=t(a,0),this[6]=t(c,0),this[7]=t(h,0),this[8]=t(n,0),this[9]=t(s,0),this[10]=t(f,0),this[11]=t(p,0),this[12]=t(o,0),this[13]=t(u,0),this[14]=t(m,0),this[15]=t(d,0)};l.clone=function(e,r){return n(e)?n(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r[9]=e[9],r[10]=e[10],r[11]=e[11],r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15],r):new l(e[0],e[4],e[8],e[12],e[1],e[5],e[9],e[13],e[2],e[6],e[10],e[14],e[3],e[7],e[11],e[15]):void 0},l.fromArray=function(e,r,o){return r=t(r,0),n(o)||(o=new l),o[0]=e[r],o[1]=e[r+1],o[2]=e[r+2],o[3]=e[r+3],o[4]=e[r+4],o[5]=e[r+5],o[6]=e[r+6],o[7]=e[r+7],o[8]=e[r+8],o[9]=e[r+9],o[10]=e[r+10],o[11]=e[r+11],o[12]=e[r+12],o[13]=e[r+13],o[14]=e[r+14],o[15]=e[r+15],o +},l.fromColumnMajorArray=function(e,r){return l.clone(e,r)},l.fromRowMajorArray=function(e,r){return n(r)?(r[0]=e[0],r[1]=e[4],r[2]=e[8],r[3]=e[12],r[4]=e[1],r[5]=e[5],r[6]=e[9],r[7]=e[13],r[8]=e[2],r[9]=e[6],r[10]=e[10],r[11]=e[14],r[12]=e[3],r[13]=e[7],r[14]=e[11],r[15]=e[15],r):new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])},l.fromRotationTranslation=function(e,r,t){return n(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=0,t[4]=e[3],t[5]=e[4],t[6]=e[5],t[7]=0,t[8]=e[6],t[9]=e[7],t[10]=e[8],t[11]=0,t[12]=r.x,t[13]=r.y,t[14]=r.z,t[15]=1,t):new l(e[0],e[3],e[6],r.x,e[1],e[4],e[7],r.y,e[2],e[5],e[8],r.z,0,0,0,1)},new s,l.fromTranslationQuaternionRotationScale=function(e,r,t,o){n(o)||(o=new l);var i=t.x,a=t.y,s=t.z,u=r.x*r.x,c=r.x*r.y,f=r.x*r.z,m=r.x*r.w,y=r.y*r.y,h=r.y*r.z,p=r.y*r.w,d=r.z*r.z,v=r.z*r.w,g=r.w*r.w,E=u-y-d+g,C=2*(c-v),S=2*(f+p),w=2*(c+v),x=-u+y-d+g,A=2*(h-m),b=2*(f-p),T=2*(h+m),M=-u-y+d+g;return o[0]=E*i,o[1]=w*i,o[2]=b*i,o[3]=0,o[4]=C*a,o[5]=x*a,o[6]=T*a,o[7]=0,o[8]=S*s,o[9]=A*s,o[10]=M*s,o[11]=0,o[12]=e.x,o[13]=e.y,o[14]=e.z,o[15]=1,o},l.fromTranslation=function(e,r){return l.fromRotationTranslation(s.IDENTITY,e,r)},l.fromScale=function(e,r){return n(r)?(r[0]=e.x,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=e.y,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=e.z,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r):new l(e.x,0,0,0,0,e.y,0,0,0,0,e.z,0,0,0,0,1)},l.fromUniformScale=function(e,r){return n(r)?(r[0]=e,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=e,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=e,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r):new l(e,0,0,0,0,e,0,0,0,0,e,0,0,0,0,1)};var c=new e,f=new e,m=new e;l.fromCamera=function(r,t){var o=r.eye,i=r.target,a=r.up;e.normalize(e.subtract(i,o,c),c),e.normalize(e.cross(c,a,f),f),e.normalize(e.cross(f,c,m),m);var s=f.x,u=f.y,y=f.z,h=c.x,p=c.y,d=c.z,v=m.x,g=m.y,E=m.z,C=o.x,S=o.y,w=o.z,x=s*-C+u*-S+y*-w,A=v*-C+g*-S+E*-w,b=h*C+p*S+d*w;return n(t)?(t[0]=s,t[1]=v,t[2]=-h,t[3]=0,t[4]=u,t[5]=g,t[6]=-p,t[7]=0,t[8]=y,t[9]=E,t[10]=-d,t[11]=0,t[12]=x,t[13]=A,t[14]=b,t[15]=1,t):new l(s,u,y,x,v,g,E,A,-h,-p,-d,b,0,0,0,1)},l.computePerspectiveFieldOfView=function(e,r,t,o,i){var a=Math.tan(.5*e),s=1/a,u=s/r,c=(o+t)/(t-o),f=2*o*t/(t-o);return n(i)?(i[0]=u,i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=s,i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=c,i[11]=-1,i[12]=0,i[13]=0,i[14]=f,i[15]=0,i):new l(u,0,0,0,0,s,0,0,0,0,c,f,0,0,-1,0)},l.computeOrthographicOffCenter=function(e,r,t,o,i,a,s){var u=1/(r-e),c=1/(o-t),f=1/(a-i),m=-(r+e)*u,y=-(o+t)*c,h=-(a+i)*f;return u*=2,c*=2,f*=-2,n(s)?(s[0]=u,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=c,s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=f,s[11]=0,s[12]=m,s[13]=y,s[14]=h,s[15]=1,s):new l(u,0,0,m,0,c,0,y,0,0,f,h,0,0,0,1)},l.computePerspectiveOffCenter=function(e,r,t,o,i,a,s){var u=2*i/(r-e),c=2*i/(o-t),f=(r+e)/(r-e),m=(o+t)/(o-t),y=-(a+i)/(a-i),h=-1,p=-2*a*i/(a-i);return n(s)?(s[0]=u,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=c,s[6]=0,s[7]=0,s[8]=f,s[9]=m,s[10]=y,s[11]=h,s[12]=0,s[13]=0,s[14]=p,s[15]=0,s):new l(u,0,f,0,0,c,m,0,0,0,y,p,0,0,h,0)},l.computeInfinitePerspectiveOffCenter=function(e,r,t,o,i,a){var s=2*i/(r-e),u=2*i/(o-t),c=(r+e)/(r-e),f=(o+t)/(o-t),m=-1,y=-1,h=-2*i;return n(a)?(a[0]=s,a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=u,a[6]=0,a[7]=0,a[8]=c,a[9]=f,a[10]=m,a[11]=y,a[12]=0,a[13]=0,a[14]=h,a[15]=0,a):new l(s,0,c,0,0,u,f,0,0,0,m,h,0,0,y,0)},l.computeViewportTransformation=function(e,r,o,i){e=t(e,t.EMPTY_OBJECT);var a=t(e.x,0),s=t(e.y,0),u=t(e.width,0),c=t(e.height,0);r=t(r,0),o=t(o,1);var f=.5*u,m=.5*c,y=.5*(o-r),h=f,p=m,d=y,v=a+f,g=s+m,E=r+y,C=1;return n(i)?(i[0]=h,i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=p,i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=d,i[11]=0,i[12]=v,i[13]=g,i[14]=E,i[15]=C,i):new l(h,0,0,v,0,p,0,g,0,0,d,E,0,0,0,C)},l.toArray=function(e,r){return n(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r[9]=e[9],r[10]=e[10],r[11]=e[11],r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15],r):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]]},l.getElementIndex=function(e,r){return 4*e+r},l.getColumn=function(e,t,o){var i=4*t,a=e[i],s=e[i+1],u=e[i+2],l=e[i+3];return n(o)?(o.x=a,o.y=s,o.z=u,o.w=l,o):new r(a,s,u,l)},l.setColumn=function(e,r,t,n){n=l.clone(e,n);var o=4*r;return n[o]=t.x,n[o+1]=t.y,n[o+2]=t.z,n[o+3]=t.w,n},l.getRow=function(e,t,o){var i=e[t],a=e[t+4],s=e[t+8],u=e[t+12];return n(o)?(o.x=i,o.y=a,o.z=s,o.w=u,o):new r(i,a,s,u)},l.setRow=function(e,r,t,n){return n=l.clone(e,n),n[r]=t.x,n[r+4]=t.y,n[r+8]=t.z,n[r+12]=t.w,n},l.multiply=function(e,r,t){var o=e[0],i=e[1],a=e[2],s=e[3],u=e[4],c=e[5],f=e[6],m=e[7],y=e[8],h=e[9],p=e[10],d=e[11],v=e[12],g=e[13],E=e[14],C=e[15],S=r[0],w=r[1],x=r[2],A=r[3],b=r[4],T=r[5],M=r[6],O=r[7],I=r[8],N=r[9],R=r[10],z=r[11],L=r[12],F=r[13],D=r[14],P=r[15],B=o*S+u*w+y*x+v*A,_=i*S+c*w+h*x+g*A,U=a*S+f*w+p*x+E*A,G=s*S+m*w+d*x+C*A,q=o*b+u*T+y*M+v*O,Y=i*b+c*T+h*M+g*O,W=a*b+f*T+p*M+E*O,V=s*b+m*T+d*M+C*O,H=o*I+u*N+y*R+v*z,k=i*I+c*N+h*R+g*z,K=a*I+f*N+p*R+E*z,j=s*I+m*N+d*R+C*z,Z=o*L+u*F+y*D+v*P,Q=i*L+c*F+h*D+g*P,X=a*L+f*F+p*D+E*P,J=s*L+m*F+d*D+C*P;return n(t)?(t[0]=B,t[1]=_,t[2]=U,t[3]=G,t[4]=q,t[5]=Y,t[6]=W,t[7]=V,t[8]=H,t[9]=k,t[10]=K,t[11]=j,t[12]=Z,t[13]=Q,t[14]=X,t[15]=J,t):new l(B,q,H,Z,_,Y,k,Q,U,W,K,X,G,V,j,J)},l.multiplyTransformation=function(e,r,t){var o=e[0],i=e[1],a=e[2],s=e[4],u=e[5],c=e[6],f=e[8],m=e[9],y=e[10],h=e[12],p=e[13],d=e[14],v=r[0],g=r[1],E=r[2],C=r[4],S=r[5],w=r[6],x=r[8],A=r[9],b=r[10],T=r[12],M=r[13],O=r[14],I=o*v+s*g+f*E,N=i*v+u*g+m*E,R=a*v+c*g+y*E,z=o*C+s*S+f*w,L=i*C+u*S+m*w,F=a*C+c*S+y*w,D=o*x+s*A+f*b,P=i*x+u*A+m*b,B=a*x+c*A+y*b,_=o*T+s*M+f*O+h,U=i*T+u*M+m*O+p,G=a*T+c*M+y*O+d;return n(t)?(t[0]=I,t[1]=N,t[2]=R,t[3]=0,t[4]=z,t[5]=L,t[6]=F,t[7]=0,t[8]=D,t[9]=P,t[10]=B,t[11]=0,t[12]=_,t[13]=U,t[14]=G,t[15]=1,t):new l(I,z,D,_,N,L,P,U,R,F,B,G,0,0,0,1)},l.multiplyByTranslation=function(e,r,t){var o=r.x,i=r.y,a=r.z,s=o*e[0]+i*e[4]+a*e[8]+e[12],u=o*e[1]+i*e[5]+a*e[9]+e[13],c=o*e[2]+i*e[6]+a*e[10]+e[14];return n(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=s,t[13]=u,t[14]=c,t[15]=e[15],t):new l(e[0],e[4],e[8],s,e[1],e[5],e[9],u,e[2],e[6],e[10],c,e[3],e[7],e[11],e[15])};var y=new e;return l.multiplyByUniformScale=function(e,r,t){return y.x=r,y.y=r,y.z=r,l.multiplyByScale(e,y,t)},l.multiplyByScale=function(e,r,t){var o=r.x,i=r.y,a=r.z;return 1===o&&1===i&&1===a?l.clone(e,t):n(t)?(t[0]=o*e[0],t[1]=o*e[1],t[2]=o*e[2],t[3]=0,t[4]=i*e[4],t[5]=i*e[5],t[6]=i*e[6],t[7]=0,t[8]=a*e[8],t[9]=a*e[9],t[10]=a*e[10],t[11]=0,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=1,t):new l(o*e[0],i*e[4],a*e[8],e[12],o*e[1],i*e[5],a*e[9],e[13],o*e[2],i*e[6],a*e[10],e[14],0,0,0,1)},l.multiplyByVector=function(e,t,o){var i=t.x,a=t.y,s=t.z,u=t.w,l=e[0]*i+e[4]*a+e[8]*s+e[12]*u,c=e[1]*i+e[5]*a+e[9]*s+e[13]*u,f=e[2]*i+e[6]*a+e[10]*s+e[14]*u,m=e[3]*i+e[7]*a+e[11]*s+e[15]*u;return n(o)?(o.x=l,o.y=c,o.z=f,o.w=m,o):new r(l,c,f,m)},l.multiplyByPointAsVector=function(r,t,o){var i=t.x,a=t.y,s=t.z,u=r[0]*i+r[4]*a+r[8]*s,l=r[1]*i+r[5]*a+r[9]*s,c=r[2]*i+r[6]*a+r[10]*s;return n(o)?(o.x=u,o.y=l,o.z=c,o):new e(u,l,c)},l.multiplyByPoint=function(r,t,o){var i=t.x,a=t.y,s=t.z,u=r[0]*i+r[4]*a+r[8]*s+r[12],l=r[1]*i+r[5]*a+r[9]*s+r[13],c=r[2]*i+r[6]*a+r[10]*s+r[14];return n(o)?(o.x=u,o.y=l,o.z=c,o):new e(u,l,c)},l.multiplyByScalar=function(e,r,t){return n(t)?(t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*r,t[9]=e[9]*r,t[10]=e[10]*r,t[11]=e[11]*r,t[12]=e[12]*r,t[13]=e[13]*r,t[14]=e[14]*r,t[15]=e[15]*r,t):new l(e[0]*r,e[4]*r,e[8]*r,e[12]*r,e[1]*r,e[5]*r,e[9]*r,e[13]*r,e[2]*r,e[6]*r,e[10]*r,e[14]*r,e[3]*r,e[7]*r,e[11]*r,e[15]*r)},l.negate=function(e,r){return n(r)?(r[0]=-e[0],r[1]=-e[1],r[2]=-e[2],r[3]=-e[3],r[4]=-e[4],r[5]=-e[5],r[6]=-e[6],r[7]=-e[7],r[8]=-e[8],r[9]=-e[9],r[10]=-e[10],r[11]=-e[11],r[12]=-e[12],r[13]=-e[13],r[14]=-e[14],r[15]=-e[15],r):new l(-e[0],-e[4],-e[8],-e[12],-e[1],-e[5],-e[9],-e[13],-e[2],-e[6],-e[10],-e[14],-e[3],-e[7],-e[11],-e[15])},l.transpose=function(e,r){if(!n(r))return new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]);var t=e[1],o=e[2],i=e[3],a=e[6],s=e[7],u=e[11];return r[0]=e[0],r[1]=e[4],r[2]=e[8],r[3]=e[12],r[4]=t,r[5]=e[5],r[6]=e[9],r[7]=e[13],r[8]=o,r[9]=a,r[10]=e[10],r[11]=e[14],r[12]=i,r[13]=s,r[14]=u,r[15]=e[15],r},l.abs=function(e,r){return n(r)?(r[0]=Math.abs(e[0]),r[1]=Math.abs(e[1]),r[2]=Math.abs(e[2]),r[3]=Math.abs(e[3]),r[4]=Math.abs(e[4]),r[5]=Math.abs(e[5]),r[6]=Math.abs(e[6]),r[7]=Math.abs(e[7]),r[8]=Math.abs(e[8]),r[9]=Math.abs(e[9]),r[10]=Math.abs(e[10]),r[11]=Math.abs(e[11]),r[12]=Math.abs(e[12]),r[13]=Math.abs(e[13]),r[14]=Math.abs(e[14]),r[15]=Math.abs(e[15]),r):new l(Math.abs(e[0]),Math.abs(e[4]),Math.abs(e[8]),Math.abs(e[12]),Math.abs(e[1]),Math.abs(e[5]),Math.abs(e[9]),Math.abs(e[13]),Math.abs(e[2]),Math.abs(e[6]),Math.abs(e[10]),Math.abs(e[14]),Math.abs(e[3]),Math.abs(e[7]),Math.abs(e[11]),Math.abs(e[15]))},l.equals=function(e,r){return e===r||n(e)&&n(r)&&e[0]===r[0]&&e[1]===r[1]&&e[2]===r[2]&&e[3]===r[3]&&e[4]===r[4]&&e[5]===r[5]&&e[6]===r[6]&&e[7]===r[7]&&e[8]===r[8]&&e[9]===r[9]&&e[10]===r[10]&&e[11]===r[11]&&e[12]===r[12]&&e[13]===r[13]&&e[14]===r[14]&&e[15]===r[15]},l.equalsEpsilon=function(e,r,t){return e===r||n(e)&&n(r)&&Math.abs(e[0]-r[0])<=t&&Math.abs(e[1]-r[1])<=t&&Math.abs(e[2]-r[2])<=t&&Math.abs(e[3]-r[3])<=t&&Math.abs(e[4]-r[4])<=t&&Math.abs(e[5]-r[5])<=t&&Math.abs(e[6]-r[6])<=t&&Math.abs(e[7]-r[7])<=t&&Math.abs(e[8]-r[8])<=t&&Math.abs(e[9]-r[9])<=t&&Math.abs(e[10]-r[10])<=t&&Math.abs(e[11]-r[11])<=t&&Math.abs(e[12]-r[12])<=t&&Math.abs(e[13]-r[13])<=t&&Math.abs(e[14]-r[14])<=t&&Math.abs(e[15]-r[15])<=t},l.getTranslation=function(r,t){return n(t)?(t.x=r[12],t.y=r[13],t.z=r[14],t):new e(r[12],r[13],r[14])},l.getRotation=function(e,r){return n(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[4],r[4]=e[5],r[5]=e[6],r[6]=e[8],r[7]=e[9],r[8]=e[10],r):new s(e[0],e[4],e[8],e[1],e[5],e[9],e[2],e[6],e[10])},l.inverse=function(e,r){var t=e[0],o=e[4],i=e[8],s=e[12],c=e[1],f=e[5],m=e[9],y=e[13],h=e[2],p=e[6],d=e[10],v=e[14],g=e[3],E=e[7],C=e[11],S=e[15],w=d*S,x=v*C,A=p*S,b=v*E,T=p*C,M=d*E,O=h*S,I=v*g,N=h*C,R=d*g,z=h*E,L=p*g,F=w*f+b*m+T*y-(x*f+A*m+M*y),D=x*c+O*m+R*y-(w*c+I*m+N*y),P=A*c+I*f+z*y-(b*c+O*f+L*y),B=M*c+N*f+L*m-(T*c+R*f+z*m),_=x*o+A*i+M*s-(w*o+b*i+T*s),U=w*t+I*i+N*s-(x*t+O*i+R*s),G=b*t+O*o+L*s-(A*t+I*o+z*s),q=T*t+R*o+z*i-(M*t+N*o+L*i);w=i*y,x=s*m,A=o*y,b=s*f,T=o*m,M=i*f,O=t*y,I=s*c,N=t*m,R=i*c,z=t*f,L=o*c;var Y=w*E+b*C+T*S-(x*E+A*C+M*S),W=x*g+O*C+R*S-(w*g+I*C+N*S),V=A*g+I*E+z*S-(b*g+O*E+L*S),H=M*g+N*E+L*C-(T*g+R*E+z*C),k=A*d+M*v+x*p-(T*v+w*p+b*d),K=N*v+w*h+I*d-(O*d+R*v+x*h),j=O*p+L*v+b*h-(z*v+A*h+I*p),Z=z*d+T*h+R*p-(N*p+L*d+M*h),Q=t*F+o*D+i*P+s*B;if(Math.abs(Q)b;b++){e.clone(r[b],o);var T=o.x,M=o.y,O=o.z;Tu.x&&e.clone(o,u),Ml.y&&e.clone(o,l),Ox.z&&e.clone(o,x)}var I=e.magnitudeSquared(e.subtract(u,i,g)),N=e.magnitudeSquared(e.subtract(l,a,g)),R=e.magnitudeSquared(e.subtract(x,s,g)),z=i,L=u,F=I;N>F&&(F=N,z=a,L=l),R>F&&(F=R,z=s,L=x);var D=E;D.x=.5*(z.x+L.x),D.y=.5*(z.y+L.y),D.z=.5*(z.z+L.z);var P=e.magnitudeSquared(e.subtract(L,D,g)),B=Math.sqrt(P),_=C;_.x=i.x,_.y=a.y,_.z=s.z;var U=S;U.x=u.x,U.y=l.y,U.z=x.z;var G=e.multiplyByScalar(e.add(_,U,g),.5,w),q=0;for(b=0;A>b;b++){e.clone(r[b],o);var Y=e.magnitude(e.subtract(o,G,g));Y>q&&(q=Y);var W=e.magnitudeSquared(e.subtract(o,D,g));if(W>P){var V=Math.sqrt(W);B=.5*(B+V),P=B*B;var H=V-B;D.x=(B*D.x+H*o.x)/V,D.y=(B*D.y+H*o.y)/V,D.z=(B*D.z+H*o.z)/V}}return q>B?(e.clone(D,t.center),t.radius=B):(e.clone(G,t.center),t.radius=q),t};var x=new a,A=new e,b=new e,T=new r,M=new r;c.fromExtent2D=function(e,r,t){return c.fromExtentWithHeights2D(e,r,0,0,t)},c.fromExtentWithHeights2D=function(r,o,i,a,s){if(n(s)||(s=new c),!n(r))return s.center=e.clone(e.ZERO,s.center),s.radius=0,s;o=t(o,x),r.getSouthwest(T),T.height=i,r.getNortheast(M),M.height=a;var u=o.project(T,A),l=o.project(M,b),f=l.x-u.x,m=l.y-u.y,y=l.z-u.z;s.radius=.5*Math.sqrt(f*f+m*m+y*y);var h=s.center;return h.x=u.x+.5*f,h.y=u.y+.5*m,h.z=u.z+.5*y,s};var O=[];c.fromExtent3D=function(e,r,o,a){r=t(r,i.WGS84),o=t(o,0);var s;return n(e)&&(s=e.subsample(r,o,O)),c.fromPoints(s,a)},c.fromVertices=function(r,o,i,a){if(n(a)||(a=new c),!n(r)||0===r.length)return a.center=e.clone(e.ZERO,a.center),a.radius=0,a;o=t(o,e.ZERO),i=t(i,3);var s=v;s.x=r[0]+o.x,s.y=r[1]+o.y,s.z=r[2]+o.z;for(var u=e.clone(s,f),l=e.clone(s,m),x=e.clone(s,y),A=e.clone(s,h),b=e.clone(s,p),T=e.clone(s,d),M=r.length,O=0;M>O;O+=i){var I=r[O]+o.x,N=r[O+1]+o.y,R=r[O+2]+o.z;s.x=I,s.y=N,s.z=R,IA.x&&e.clone(s,A),Nb.y&&e.clone(s,b),RT.z&&e.clone(s,T)}var z=e.magnitudeSquared(e.subtract(A,u,g)),L=e.magnitudeSquared(e.subtract(b,l,g)),F=e.magnitudeSquared(e.subtract(T,x,g)),D=u,P=A,B=z;L>B&&(B=L,D=l,P=b),F>B&&(B=F,D=x,P=T);var _=E;_.x=.5*(D.x+P.x),_.y=.5*(D.y+P.y),_.z=.5*(D.z+P.z);var U=e.magnitudeSquared(e.subtract(P,_,g)),G=Math.sqrt(U),q=C;q.x=u.x,q.y=l.y,q.z=x.z;var Y=S;Y.x=A.x,Y.y=b.y,Y.z=T.z;var W=e.multiplyByScalar(e.add(q,Y,g),.5,w),V=0;for(O=0;M>O;O+=i){s.x=r[O]+o.x,s.y=r[O+1]+o.y,s.z=r[O+2]+o.z;var H=e.magnitude(e.subtract(s,W,g));H>V&&(V=H);var k=e.magnitudeSquared(e.subtract(s,_,g));if(k>U){var K=Math.sqrt(k);G=.5*(G+K),U=G*G;var j=K-G;_.x=(G*_.x+j*s.x)/K,_.y=(G*_.y+j*s.y)/K,_.z=(G*_.z+j*s.z)/K}}return V>G?(e.clone(_,a.center),a.radius=G):(e.clone(W,a.center),a.radius=V),a},c.fromCornerPoints=function(r,t,o){n(o)||(o=new c);var i=o.center;return e.add(r,t,i),e.multiplyByScalar(i,.5,i),o.radius=e.distance(i,t),o},c.fromEllipsoid=function(r,t){return n(t)||(t=new c),e.clone(e.ZERO,t.center),t.radius=r.maximumRadius,t},c.clone=function(r,t){return n(r)?n(t)?(t.center=e.clone(r.center,t.center),t.radius=r.radius,t):new c(r.center,r.radius):void 0};var I=new e,N=new e;c.union=function(r,t,o){n(o)||(o=new c);var i=r.center,a=t.center;e.add(i,a,N);var s=e.multiplyByScalar(N,.5,N),u=e.magnitude(e.subtract(i,s,I))+r.radius,l=e.magnitude(e.subtract(a,s,I))+t.radius;return o.radius=Math.max(u,l),e.clone(s,o.center),o};var R=new e;c.expand=function(r,t,n){n=c.clone(r,n);var o=e.magnitude(e.subtract(t,n.center,R));return o>n.radius&&(n.radius=o),n},c.intersect=function(r,t){var n=r.center,o=r.radius,i=e.dot(t,n)+t.w;return-o>i?s.OUTSIDE:o>i?s.INTERSECTING:s.INSIDE};var z=new e;c.transform=function(r,t,o){return n(o)||(o=new c),o.center=l.multiplyByPoint(t,r.center,o.center),o.radius=Math.max(e.magnitude(l.getColumn(t,0,z)),e.magnitude(l.getColumn(t,1,z)),e.magnitude(l.getColumn(t,2,z)))*r.radius,o},c.transformWithoutScale=function(e,r,t){return n(t)||(t=new c),t.center=l.multiplyByPoint(r,e.center,t.center),t.radius=e.radius,t};var L=new e;c.getPlaneDistances=function(r,t,o,i){n(i)||(i=new u);var a=e.subtract(r.center,t,L),s=e.multiplyByScalar(o,e.dot(o,a),L),l=e.magnitude(s);return i.start=l-r.radius,i.stop=l+r.radius,i};for(var F=new e,D=new e,P=new e,B=new e,_=new e,U=new r,G=new Array(8),q=0;8>q;++q)G[q]=new e;var Y=new a;return c.projectTo2D=function(r,n,o){n=t(n,Y);var i=n.ellipsoid,a=r.center,s=r.radius,u=i.geodeticSurfaceNormal(a,F),l=e.cross(e.UNIT_Z,u,D);e.normalize(l,l);var f=e.cross(u,l,P);e.normalize(f,f),e.multiplyByScalar(u,s,u),e.multiplyByScalar(f,s,f),e.multiplyByScalar(l,s,l);var m=e.negate(f,_),y=e.negate(l,B),h=G,p=h[0];e.add(u,f,p),e.add(p,l,p),p=h[1],e.add(u,f,p),e.add(p,y,p),p=h[2],e.add(u,m,p),e.add(p,y,p),p=h[3],e.add(u,m,p),e.add(p,l,p),e.negate(u,u),p=h[4],e.add(u,f,p),e.add(p,l,p),p=h[5],e.add(u,f,p),e.add(p,y,p),p=h[6],e.add(u,m,p),e.add(p,y,p),p=h[7],e.add(u,m,p),e.add(p,l,p);for(var d=h.length,v=0;d>v;++v){var g=h[v];e.add(a,g,g);var E=i.cartesianToCartographic(g,U);n.project(E,g)}o=c.fromPoints(h,o),a=o.center;var C=a.x,S=a.y,w=a.z;return a.x=w,a.y=C,a.z=S,o},c.equals=function(r,t){return r===t||n(r)&&n(t)&&e.equals(r.center,t.center)&&r.radius===t.radius},c.prototype.clone=function(e){return c.clone(this,e)},c.prototype.union=function(e,r){return c.union(this,e,r)},c.prototype.expand=function(e,r){return c.expand(this,e,r)},c.prototype.intersect=function(e){return c.intersect(this,e)},c.prototype.getPlaneDistances=function(e,r,t){return c.getPlaneDistances(this,e,r,t)},c.prototype.projectTo2D=function(e,r){return c.projectTo2D(this,e,r)},c.prototype.equals=function(e){return c.equals(this,e)},c}),define("Core/GeometryAttribute",["./defaultValue","./defined","./DeveloperError"],function(e){"use strict";var r=function(r){r=e(r,e.EMPTY_OBJECT),this.componentDatatype=r.componentDatatype,this.componentsPerAttribute=r.componentsPerAttribute,this.normalize=e(r.normalize,!1),this.values=r.values};return r}),define("Core/GeometryAttributes",["./defaultValue"],function(e){"use strict";var r=function(r){r=e(r,e.EMPTY_OBJECT),this.position=r.position,this.normal=r.normal,this.st=r.st,this.binormal=r.binormal,this.tangent=r.tangent,this.color=r.color};return r}),define("Core/VertexFormat",["./defaultValue","./freezeObject"],function(e,r){"use strict";var t=function(r){r=e(r,e.EMPTY_OBJECT),this.position=e(r.position,!1),this.normal=e(r.normal,!1),this.st=e(r.st,!1),this.binormal=e(r.binormal,!1),this.tangent=e(r.tangent,!1)};return t.POSITION_ONLY=r(new t({position:!0})),t.POSITION_AND_NORMAL=r(new t({position:!0,normal:!0})),t.POSITION_NORMAL_AND_ST=r(new t({position:!0,normal:!0,st:!0})),t.POSITION_AND_ST=r(new t({position:!0,st:!0})),t.ALL=r(new t({position:!0,normal:!0,st:!0,binormal:!0,tangent:!0})),t.DEFAULT=t.POSITION_NORMAL_AND_ST,t}),define("Core/Geometry",["./defaultValue","./defined","./DeveloperError"],function(e,r,t){"use strict";var n=function(r){r=e(r,e.EMPTY_OBJECT),this.attributes=r.attributes,this.indices=r.indices,this.primitiveType=r.primitiveType,this.boundingSphere=r.boundingSphere};return n.computeNumberOfVertices=function(e){var n=-1;for(var o in e.attributes)if(e.attributes.hasOwnProperty(o)&&r(e.attributes[o])&&r(e.attributes[o].values)){var i=e.attributes[o],a=i.values.length/i.componentsPerAttribute;if(n!==a&&-1!==n)throw new t("All attribute lists must have the same number of attributes.");n=a}return n},n}),define("Core/BoxGeometry",["./defined","./DeveloperError","./Cartesian3","./ComponentDatatype","./PrimitiveType","./defaultValue","./BoundingSphere","./GeometryAttribute","./GeometryAttributes","./VertexFormat","./Geometry"],function(e,r,t,n,o,i,a,s,u,l,c){"use strict";var f=new t,m=function(e){e=i(e,i.EMPTY_OBJECT);var r=e.minimumCorner,n=e.maximumCorner,o=i(e.vertexFormat,l.DEFAULT);this._minimumCorner=t.clone(r),this._maximumCorner=t.clone(n),this._vertexFormat=o,this._workerName="createBoxGeometry"};return m.fromDimensions=function(e){e=i(e,i.EMPTY_OBJECT);var r=e.dimensions,n=t.multiplyByScalar(r,.5),o=t.negate(n),a=n,s={minimumCorner:o,maximumCorner:a,vertexFormat:e.vertexFormat};return new m(s)},m.createGeometry=function(e){var r,i,l=e._minimumCorner,m=e._maximumCorner,y=e._vertexFormat,h=new u;if(y.position&&(y.st||y.normal||y.binormal||y.tangent)){if(y.position&&(i=new Float64Array(72),i[0]=l.x,i[1]=l.y,i[2]=m.z,i[3]=m.x,i[4]=l.y,i[5]=m.z,i[6]=m.x,i[7]=m.y,i[8]=m.z,i[9]=l.x,i[10]=m.y,i[11]=m.z,i[12]=l.x,i[13]=l.y,i[14]=l.z,i[15]=m.x,i[16]=l.y,i[17]=l.z,i[18]=m.x,i[19]=m.y,i[20]=l.z,i[21]=l.x,i[22]=m.y,i[23]=l.z,i[24]=m.x,i[25]=l.y,i[26]=l.z,i[27]=m.x,i[28]=m.y,i[29]=l.z,i[30]=m.x,i[31]=m.y,i[32]=m.z,i[33]=m.x,i[34]=l.y,i[35]=m.z,i[36]=l.x,i[37]=l.y,i[38]=l.z,i[39]=l.x,i[40]=m.y,i[41]=l.z,i[42]=l.x,i[43]=m.y,i[44]=m.z,i[45]=l.x,i[46]=l.y,i[47]=m.z,i[48]=l.x,i[49]=m.y,i[50]=l.z,i[51]=m.x,i[52]=m.y,i[53]=l.z,i[54]=m.x,i[55]=m.y,i[56]=m.z,i[57]=l.x,i[58]=m.y,i[59]=m.z,i[60]=l.x,i[61]=l.y,i[62]=l.z,i[63]=m.x,i[64]=l.y,i[65]=l.z,i[66]=m.x,i[67]=l.y,i[68]=m.z,i[69]=l.x,i[70]=l.y,i[71]=m.z,h.position=new s({componentDatatype:n.DOUBLE,componentsPerAttribute:3,values:i})),y.normal){var p=new Float32Array(72);p[0]=0,p[1]=0,p[2]=1,p[3]=0,p[4]=0,p[5]=1,p[6]=0,p[7]=0,p[8]=1,p[9]=0,p[10]=0,p[11]=1,p[12]=0,p[13]=0,p[14]=-1,p[15]=0,p[16]=0,p[17]=-1,p[18]=0,p[19]=0,p[20]=-1,p[21]=0,p[22]=0,p[23]=-1,p[24]=1,p[25]=0,p[26]=0,p[27]=1,p[28]=0,p[29]=0,p[30]=1,p[31]=0,p[32]=0,p[33]=1,p[34]=0,p[35]=0,p[36]=-1,p[37]=0,p[38]=0,p[39]=-1,p[40]=0,p[41]=0,p[42]=-1,p[43]=0,p[44]=0,p[45]=-1,p[46]=0,p[47]=0,p[48]=0,p[49]=1,p[50]=0,p[51]=0,p[52]=1,p[53]=0,p[54]=0,p[55]=1,p[56]=0,p[57]=0,p[58]=1,p[59]=0,p[60]=0,p[61]=-1,p[62]=0,p[63]=0,p[64]=-1,p[65]=0,p[66]=0,p[67]=-1,p[68]=0,p[69]=0,p[70]=-1,p[71]=0,h.normal=new s({componentDatatype:n.FLOAT,componentsPerAttribute:3,values:p})}if(y.st){var d=new Float32Array(48);d[0]=0,d[1]=0,d[2]=1,d[3]=0,d[4]=1,d[5]=1,d[6]=0,d[7]=1,d[8]=1,d[9]=0,d[10]=0,d[11]=0,d[12]=0,d[13]=1,d[14]=1,d[15]=1,d[16]=0,d[17]=0,d[18]=1,d[19]=0,d[20]=1,d[21]=1,d[22]=0,d[23]=1,d[24]=1,d[25]=0,d[26]=0,d[27]=0,d[28]=0,d[29]=1,d[30]=1,d[31]=1,d[32]=1,d[33]=0,d[34]=0,d[35]=0,d[36]=0,d[37]=1,d[38]=1,d[39]=1,d[40]=0,d[41]=0,d[42]=1,d[43]=0,d[44]=1,d[45]=1,d[46]=0,d[47]=1,h.st=new s({componentDatatype:n.FLOAT,componentsPerAttribute:2,values:d})}if(y.tangent){var v=new Float32Array(72);v[0]=1,v[1]=0,v[2]=0,v[3]=1,v[4]=0,v[5]=0,v[6]=1,v[7]=0,v[8]=0,v[9]=1,v[10]=0,v[11]=0,v[12]=-1,v[13]=0,v[14]=0,v[15]=-1,v[16]=0,v[17]=0,v[18]=-1,v[19]=0,v[20]=0,v[21]=-1,v[22]=0,v[23]=0,v[24]=0,v[25]=1,v[26]=0,v[27]=0,v[28]=1,v[29]=0,v[30]=0,v[31]=1,v[32]=0,v[33]=0,v[34]=1,v[35]=0,v[36]=0,v[37]=-1,v[38]=0,v[39]=0,v[40]=-1,v[41]=0,v[42]=0,v[43]=-1,v[44]=0,v[45]=0,v[46]=-1,v[47]=0,v[48]=-1,v[49]=0,v[50]=0,v[51]=-1,v[52]=0,v[53]=0,v[54]=-1,v[55]=0,v[56]=0,v[57]=-1,v[58]=0,v[59]=0,v[60]=1,v[61]=0,v[62]=0,v[63]=1,v[64]=0,v[65]=0,v[66]=1,v[67]=0,v[68]=0,v[69]=1,v[70]=0,v[71]=0,h.tangent=new s({componentDatatype:n.FLOAT,componentsPerAttribute:3,values:v})}if(y.binormal){var g=new Float32Array(72);g[0]=0,g[1]=1,g[2]=0,g[3]=0,g[4]=1,g[5]=0,g[6]=0,g[7]=1,g[8]=0,g[9]=0,g[10]=1,g[11]=0,g[12]=0,g[13]=1,g[14]=0,g[15]=0,g[16]=1,g[17]=0,g[18]=0,g[19]=1,g[20]=0,g[21]=0,g[22]=1,g[23]=0,g[24]=0,g[25]=0,g[26]=1,g[27]=0,g[28]=0,g[29]=1,g[30]=0,g[31]=0,g[32]=1,g[33]=0,g[34]=0,g[35]=1,g[36]=0,g[37]=0,g[38]=1,g[39]=0,g[40]=0,g[41]=1,g[42]=0,g[43]=0,g[44]=1,g[45]=0,g[46]=0,g[47]=1,g[48]=0,g[49]=0,g[50]=1,g[51]=0,g[52]=0,g[53]=1,g[54]=0,g[55]=0,g[56]=1,g[57]=0,g[58]=0,g[59]=1,g[60]=0,g[61]=0,g[62]=1,g[63]=0,g[64]=0,g[65]=1,g[66]=0,g[67]=0,g[68]=1,g[69]=0,g[70]=0,g[71]=1,h.binormal=new s({componentDatatype:n.FLOAT,componentsPerAttribute:3,values:g})}r=new Uint16Array(36),r[0]=0,r[1]=1,r[2]=2,r[3]=0,r[4]=2,r[5]=3,r[6]=6,r[7]=5,r[8]=4,r[9]=7,r[10]=6,r[11]=4,r[12]=8,r[13]=9,r[14]=10,r[15]=8,r[16]=10,r[17]=11,r[18]=14,r[19]=13,r[20]=12,r[21]=15,r[22]=14,r[23]=12,r[24]=18,r[25]=17,r[26]=16,r[27]=19,r[28]=18,r[29]=16,r[30]=20,r[31]=21,r[32]=22,r[33]=20,r[34]=22,r[35]=23}else i=new Float64Array(24),i[0]=l.x,i[1]=l.y,i[2]=l.z,i[3]=m.x,i[4]=l.y,i[5]=l.z,i[6]=m.x,i[7]=m.y,i[8]=l.z,i[9]=l.x,i[10]=m.y,i[11]=l.z,i[12]=l.x,i[13]=l.y,i[14]=m.z,i[15]=m.x,i[16]=l.y,i[17]=m.z,i[18]=m.x,i[19]=m.y,i[20]=m.z,i[21]=l.x,i[22]=m.y,i[23]=m.z,h.position=new s({componentDatatype:n.DOUBLE,componentsPerAttribute:3,values:i}),r=new Uint16Array(36),r[0]=4,r[1]=5,r[2]=6,r[3]=4,r[4]=6,r[5]=7,r[6]=1,r[7]=0,r[8]=3,r[9]=1,r[10]=3,r[11]=2,r[12]=1,r[13]=6,r[14]=5,r[15]=1,r[16]=2,r[17]=6,r[18]=2,r[19]=3,r[20]=7,r[21]=2,r[22]=7,r[23]=6,r[24]=3,r[25]=0,r[26]=4,r[27]=3,r[28]=4,r[29]=7,r[30]=0,r[31]=1,r[32]=5,r[33]=0,r[34]=5,r[35]=4;var E=t.subtract(m,l,f),C=.5*t.magnitude(E);return new c({attributes:h,indices:r,primitiveType:o.TRIANGLES,boundingSphere:new a(t.ZERO,C)})},m}),define("Core/Color",["./defaultValue","./defined","./freezeObject","./DeveloperError","./FeatureDetection","./Math"],function(e,r,t,n,o,i){"use strict";function a(e,r,t){return 0>t&&(t+=1),t>1&&(t-=1),1>6*t?e+6*(r-e)*t:1>2*t?r:2>3*t?e+6*(r-e)*(2/3-t):e}var s=function(r,t,n,o){this.red=e(r,1),this.green=e(t,1),this.blue=e(n,1),this.alpha=e(o,1)};s.fromBytes=function(r,t,n,o){return r=s.byteToFloat(e(r,255)),t=s.byteToFloat(e(t,255)),n=s.byteToFloat(e(n,255)),o=s.byteToFloat(e(o,255)),new s(r,t,n,o)};var u,l,c;o.supportsTypedArrays()&&(u=new ArrayBuffer(4),l=new Uint32Array(u),c=new Uint8Array(u)),s.fromRgba=function(e){return l[0]=e,s.fromBytes(c[0],c[1],c[2],c[3])},s.fromHsl=function(r,t,n,o){r=e(r,0)%1,t=e(t,0),n=e(n,0),o=e(o,1);var i=n,u=n,l=n;if(0!==t){var c;c=.5>n?n*(1+t):n+t-n*t;var f=2*n-c;i=a(f,c,r+1/3),u=a(f,c,r),l=a(f,c,r-1/3)}return new s(i,u,l,o)},s.fromRandom=function(t,n){t=e(t,e.EMPTY_OBJECT);var o=t.red;if(!r(o)){var a=e(t.minimumRed,0),u=e(t.maximumRed,1);o=a+i.nextRandomNumber()*(u-a)}var l=t.green;if(!r(l)){var c=e(t.minimumGreen,0),f=e(t.maximumGreen,1);l=c+i.nextRandomNumber()*(f-c)}var m=t.blue;if(!r(m)){var y=e(t.minimumBlue,0),h=e(t.maximumBlue,1);m=y+i.nextRandomNumber()*(h-y)}var p=t.alpha;if(!r(p)){var d=e(t.minimumAlpha,0),v=e(t.maximumAlpha,1);p=d+i.nextRandomNumber()*(v-d)}return r(n)?(n.red=o,n.green=l,n.blue=m,n.alpha=p,n):new s(o,l,m,p)};var f=/^#([0-9a-f])([0-9a-f])([0-9a-f])$/i,m=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i,y=/^rgba?\(\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)(?:\s*,\s*([0-9.]+))?\s*\)$/i,h=/^hsla?\(\s*([0-9.]+)\s*,\s*([0-9.]+%)\s*,\s*([0-9.]+%)(?:\s*,\s*([0-9.]+))?\s*\)$/i;return s.fromCssColorString=function(t){var n=s[t.toUpperCase()];if(r(n))return s.clone(n);var o=f.exec(t);return null!==o?new s(parseInt(o[1],16)/15,parseInt(o[2],16)/15,parseInt(o[3],16)/15):(o=m.exec(t),null!==o?new s(parseInt(o[1],16)/255,parseInt(o[2],16)/255,parseInt(o[3],16)/255):(o=y.exec(t),null!==o?new s(parseFloat(o[1])/("%"===o[1].substr(-1)?100:255),parseFloat(o[2])/("%"===o[2].substr(-1)?100:255),parseFloat(o[3])/("%"===o[3].substr(-1)?100:255),parseFloat(e(o[4],"1.0"))):(o=h.exec(t),null!==o?s.fromHsl(parseFloat(o[1])/360,parseFloat(o[2])/100,parseFloat(o[3])/100,parseFloat(e(o[4],"1.0"))):void 0)))},s.packedLength=4,s.pack=function(r,t,n){n=e(n,0),t[n++]=r.red,t[n++]=r.green,t[n++]=r.blue,t[n]=r.alpha},s.unpack=function(t,n,o){return n=e(n,0),r(o)||(o=new s),o.red=t[n++],o.green=t[n++],o.blue=t[n++],o.alpha=t[n],o},s.byteToFloat=function(e){return e/255},s.floatToByte=function(e){return 1===e?255:0|256*e},s.clone=function(e,t){return r(e)?r(t)?(t.red=e.red,t.green=e.green,t.blue=e.blue,t.alpha=e.alpha,t):new s(e.red,e.green,e.blue,e.alpha):void 0},s.equals=function(e,t){return e===t||r(e)&&r(t)&&e.red===t.red&&e.green===t.green&&e.blue===t.blue&&e.alpha===t.alpha},s.prototype.clone=function(e){return s.clone(this,e)},s.prototype.equals=function(e){return s.equals(this,e)},s.prototype.equalsEpsilon=function(e,t){return this===e||r(e)&&Math.abs(this.red-e.red)<=t&&Math.abs(this.green-e.green)<=t&&Math.abs(this.blue-e.blue)<=t&&Math.abs(this.alpha-e.alpha)<=t},s.prototype.toString=function(){return"("+this.red+", "+this.green+", "+this.blue+", "+this.alpha+")"},s.prototype.toCssColorString=function(){var e=s.floatToByte(this.red),r=s.floatToByte(this.green),t=s.floatToByte(this.blue);return 1===this.alpha?"rgb("+e+","+r+","+t+")":"rgba("+e+","+r+","+t+","+this.alpha+")"},s.prototype.toBytes=function(e){var t=s.floatToByte(this.red),n=s.floatToByte(this.green),o=s.floatToByte(this.blue),i=s.floatToByte(this.alpha);return r(e)?(e[0]=t,e[1]=n,e[2]=o,e[3]=i,e):[t,n,o,i]},s.prototype.toRgba=function(){return c[0]=s.floatToByte(this.red),c[1]=s.floatToByte(this.green),c[2]=s.floatToByte(this.blue),c[3]=s.floatToByte(this.alpha),l[0]},s.ALICEBLUE=t(s.fromCssColorString("#F0F8FF")),s.ANTIQUEWHITE=t(s.fromCssColorString("#FAEBD7")),s.AQUA=t(s.fromCssColorString("#00FFFF")),s.AQUAMARINE=t(s.fromCssColorString("#7FFFD4")),s.AZURE=t(s.fromCssColorString("#F0FFFF")),s.BEIGE=t(s.fromCssColorString("#F5F5DC")),s.BISQUE=t(s.fromCssColorString("#FFE4C4")),s.BLACK=t(s.fromCssColorString("#000000")),s.BLANCHEDALMOND=t(s.fromCssColorString("#FFEBCD")),s.BLUE=t(s.fromCssColorString("#0000FF")),s.BLUEVIOLET=t(s.fromCssColorString("#8A2BE2")),s.BROWN=t(s.fromCssColorString("#A52A2A")),s.BURLYWOOD=t(s.fromCssColorString("#DEB887")),s.CADETBLUE=t(s.fromCssColorString("#5F9EA0")),s.CHARTREUSE=t(s.fromCssColorString("#7FFF00")),s.CHOCOLATE=t(s.fromCssColorString("#D2691E")),s.CORAL=t(s.fromCssColorString("#FF7F50")),s.CORNFLOWERBLUE=t(s.fromCssColorString("#6495ED")),s.CORNSILK=t(s.fromCssColorString("#FFF8DC")),s.CRIMSON=t(s.fromCssColorString("#DC143C")),s.CYAN=t(s.fromCssColorString("#00FFFF")),s.DARKBLUE=t(s.fromCssColorString("#00008B")),s.DARKCYAN=t(s.fromCssColorString("#008B8B")),s.DARKGOLDENROD=t(s.fromCssColorString("#B8860B")),s.DARKGRAY=t(s.fromCssColorString("#A9A9A9")),s.DARKGREEN=t(s.fromCssColorString("#006400")),s.DARKGREY=s.DARKGRAY,s.DARKKHAKI=t(s.fromCssColorString("#BDB76B")),s.DARKMAGENTA=t(s.fromCssColorString("#8B008B")),s.DARKOLIVEGREEN=t(s.fromCssColorString("#556B2F")),s.DARKORANGE=t(s.fromCssColorString("#FF8C00")),s.DARKORCHID=t(s.fromCssColorString("#9932CC")),s.DARKRED=t(s.fromCssColorString("#8B0000")),s.DARKSALMON=t(s.fromCssColorString("#E9967A")),s.DARKSEAGREEN=t(s.fromCssColorString("#8FBC8F")),s.DARKSLATEBLUE=t(s.fromCssColorString("#483D8B")),s.DARKSLATEGRAY=t(s.fromCssColorString("#2F4F4F")),s.DARKSLATEGREY=s.DARKSLATEGRAY,s.DARKTURQUOISE=t(s.fromCssColorString("#00CED1")),s.DARKVIOLET=t(s.fromCssColorString("#9400D3")),s.DEEPPINK=t(s.fromCssColorString("#FF1493")),s.DEEPSKYBLUE=t(s.fromCssColorString("#00BFFF")),s.DIMGRAY=t(s.fromCssColorString("#696969")),s.DIMGREY=s.DIMGRAY,s.DODGERBLUE=t(s.fromCssColorString("#1E90FF")),s.FIREBRICK=t(s.fromCssColorString("#B22222")),s.FLORALWHITE=t(s.fromCssColorString("#FFFAF0")),s.FORESTGREEN=t(s.fromCssColorString("#228B22")),s.FUSCHIA=t(s.fromCssColorString("#FF00FF")),s.GAINSBORO=t(s.fromCssColorString("#DCDCDC")),s.GHOSTWHITE=t(s.fromCssColorString("#F8F8FF")),s.GOLD=t(s.fromCssColorString("#FFD700")),s.GOLDENROD=t(s.fromCssColorString("#DAA520")),s.GRAY=t(s.fromCssColorString("#808080")),s.GREEN=t(s.fromCssColorString("#008000")),s.GREENYELLOW=t(s.fromCssColorString("#ADFF2F")),s.GREY=s.GRAY,s.HONEYDEW=t(s.fromCssColorString("#F0FFF0")),s.HOTPINK=t(s.fromCssColorString("#FF69B4")),s.INDIANRED=t(s.fromCssColorString("#CD5C5C")),s.INDIGO=t(s.fromCssColorString("#4B0082")),s.IVORY=t(s.fromCssColorString("#FFFFF0")),s.KHAKI=t(s.fromCssColorString("#F0E68C")),s.LAVENDER=t(s.fromCssColorString("#E6E6FA")),s.LAVENDAR_BLUSH=t(s.fromCssColorString("#FFF0F5")),s.LAWNGREEN=t(s.fromCssColorString("#7CFC00")),s.LEMONCHIFFON=t(s.fromCssColorString("#FFFACD")),s.LIGHTBLUE=t(s.fromCssColorString("#ADD8E6")),s.LIGHTCORAL=t(s.fromCssColorString("#F08080")),s.LIGHTCYAN=t(s.fromCssColorString("#E0FFFF")),s.LIGHTGOLDENRODYELLOW=t(s.fromCssColorString("#FAFAD2")),s.LIGHTGRAY=t(s.fromCssColorString("#D3D3D3")),s.LIGHTGREEN=t(s.fromCssColorString("#90EE90")),s.LIGHTGREY=s.LIGHTGRAY,s.LIGHTPINK=t(s.fromCssColorString("#FFB6C1")),s.LIGHTSEAGREEN=t(s.fromCssColorString("#20B2AA")),s.LIGHTSKYBLUE=t(s.fromCssColorString("#87CEFA")),s.LIGHTSLATEGRAY=t(s.fromCssColorString("#778899")),s.LIGHTSLATEGREY=s.LIGHTSLATEGRAY,s.LIGHTSTEELBLUE=t(s.fromCssColorString("#B0C4DE")),s.LIGHTYELLOW=t(s.fromCssColorString("#FFFFE0")),s.LIME=t(s.fromCssColorString("#00FF00")),s.LIMEGREEN=t(s.fromCssColorString("#32CD32")),s.LINEN=t(s.fromCssColorString("#FAF0E6")),s.MAGENTA=t(s.fromCssColorString("#FF00FF")),s.MAROON=t(s.fromCssColorString("#800000")),s.MEDIUMAQUAMARINE=t(s.fromCssColorString("#66CDAA")),s.MEDIUMBLUE=t(s.fromCssColorString("#0000CD")),s.MEDIUMORCHID=t(s.fromCssColorString("#BA55D3")),s.MEDIUMPURPLE=t(s.fromCssColorString("#9370DB")),s.MEDIUMSEAGREEN=t(s.fromCssColorString("#3CB371")),s.MEDIUMSLATEBLUE=t(s.fromCssColorString("#7B68EE")),s.MEDIUMSPRINGGREEN=t(s.fromCssColorString("#00FA9A")),s.MEDIUMTURQUOISE=t(s.fromCssColorString("#48D1CC")),s.MEDIUMVIOLETRED=t(s.fromCssColorString("#C71585")),s.MIDNIGHTBLUE=t(s.fromCssColorString("#191970")),s.MINTCREAM=t(s.fromCssColorString("#F5FFFA")),s.MISTYROSE=t(s.fromCssColorString("#FFE4E1")),s.MOCCASIN=t(s.fromCssColorString("#FFE4B5")),s.NAVAJOWHITE=t(s.fromCssColorString("#FFDEAD")),s.NAVY=t(s.fromCssColorString("#000080")),s.OLDLACE=t(s.fromCssColorString("#FDF5E6")),s.OLIVE=t(s.fromCssColorString("#808000")),s.OLIVEDRAB=t(s.fromCssColorString("#6B8E23")),s.ORANGE=t(s.fromCssColorString("#FFA500")),s.ORANGERED=t(s.fromCssColorString("#FF4500")),s.ORCHID=t(s.fromCssColorString("#DA70D6")),s.PALEGOLDENROD=t(s.fromCssColorString("#EEE8AA")),s.PALEGREEN=t(s.fromCssColorString("#98FB98")),s.PALETURQUOISE=t(s.fromCssColorString("#AFEEEE")),s.PALEVIOLETRED=t(s.fromCssColorString("#DB7093")),s.PAPAYAWHIP=t(s.fromCssColorString("#FFEFD5")),s.PEACHPUFF=t(s.fromCssColorString("#FFDAB9")),s.PERU=t(s.fromCssColorString("#CD853F")),s.PINK=t(s.fromCssColorString("#FFC0CB")),s.PLUM=t(s.fromCssColorString("#DDA0DD")),s.POWDERBLUE=t(s.fromCssColorString("#B0E0E6")),s.PURPLE=t(s.fromCssColorString("#800080")),s.RED=t(s.fromCssColorString("#FF0000")),s.ROSYBROWN=t(s.fromCssColorString("#BC8F8F")),s.ROYALBLUE=t(s.fromCssColorString("#4169E1")),s.SADDLEBROWN=t(s.fromCssColorString("#8B4513")),s.SALMON=t(s.fromCssColorString("#FA8072")),s.SANDYBROWN=t(s.fromCssColorString("#F4A460")),s.SEAGREEN=t(s.fromCssColorString("#2E8B57")),s.SEASHELL=t(s.fromCssColorString("#FFF5EE")),s.SIENNA=t(s.fromCssColorString("#A0522D")),s.SILVER=t(s.fromCssColorString("#C0C0C0")),s.SKYBLUE=t(s.fromCssColorString("#87CEEB")),s.SLATEBLUE=t(s.fromCssColorString("#6A5ACD")),s.SLATEGRAY=t(s.fromCssColorString("#708090")),s.SLATEGREY=s.SLATEGRAY,s.SNOW=t(s.fromCssColorString("#FFFAFA")),s.SPRINGGREEN=t(s.fromCssColorString("#00FF7F")),s.STEELBLUE=t(s.fromCssColorString("#4682B4")),s.TAN=t(s.fromCssColorString("#D2B48C")),s.TEAL=t(s.fromCssColorString("#008080")),s.THISTLE=t(s.fromCssColorString("#D8BFD8")),s.TOMATO=t(s.fromCssColorString("#FF6347")),s.TURQUOISE=t(s.fromCssColorString("#40E0D0")),s.VIOLET=t(s.fromCssColorString("#EE82EE")),s.WHEAT=t(s.fromCssColorString("#F5DEB3")),s.WHITE=t(s.fromCssColorString("#FFFFFF")),s.WHITESMOKE=t(s.fromCssColorString("#F5F5F5")),s.YELLOW=t(s.fromCssColorString("#FFFF00")),s.YELLOWGREEN=t(s.fromCssColorString("#9ACD32")),s +}),define("Core/Cartesian2",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,r,t,n){"use strict";var o=function(r,t){this.x=e(r,0),this.y=e(t,0)};o.fromElements=function(e,t,n){return r(n)?(n.x=e,n.y=t,n):new o(e,t)},o.clone=function(e,t){return r(e)?r(t)?(t.x=e.x,t.y=e.y,t):new o(e.x,e.y):void 0},o.fromCartesian3=o.clone,o.fromCartesian4=o.clone,o.packedLength=2,o.pack=function(r,t,n){n=e(n,0),t[n++]=r.x,t[n]=r.y},o.unpack=function(t,n,i){return n=e(n,0),r(i)||(i=new o),i.x=t[n++],i.y=t[n],i},o.fromArray=o.unpack,o.getMaximumComponent=function(e){return Math.max(e.x,e.y)},o.getMinimumComponent=function(e){return Math.min(e.x,e.y)},o.getMinimumByComponent=function(e,t,n){return r(n)||(n=new o),n.x=Math.min(e.x,t.x),n.y=Math.min(e.y,t.y),n},o.getMaximumByComponent=function(e,t,n){return r(n)||(n=new o),n.x=Math.max(e.x,t.x),n.y=Math.max(e.y,t.y),n},o.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y},o.magnitude=function(e){return Math.sqrt(o.magnitudeSquared(e))};var i=new o;o.distance=function(e,r){return o.subtract(e,r,i),o.magnitude(i)},o.normalize=function(e,t){var n=o.magnitude(e);return r(t)?(t.x=e.x/n,t.y=e.y/n,t):new o(e.x/n,e.y/n)},o.dot=function(e,r){return e.x*r.x+e.y*r.y},o.multiplyComponents=function(e,t,n){return r(n)?(n.x=e.x*t.x,n.y=e.y*t.y,n):new o(e.x*t.x,e.y*t.y)},o.add=function(e,t,n){return r(n)?(n.x=e.x+t.x,n.y=e.y+t.y,n):new o(e.x+t.x,e.y+t.y)},o.subtract=function(e,t,n){return r(n)?(n.x=e.x-t.x,n.y=e.y-t.y,n):new o(e.x-t.x,e.y-t.y)},o.multiplyByScalar=function(e,t,n){return r(n)?(n.x=e.x*t,n.y=e.y*t,n):new o(e.x*t,e.y*t)},o.divideByScalar=function(e,t,n){return r(n)?(n.x=e.x/t,n.y=e.y/t,n):new o(e.x/t,e.y/t)},o.negate=function(e,t){return r(t)?(t.x=-e.x,t.y=-e.y,t):new o(-e.x,-e.y)},o.abs=function(e,t){return r(t)?(t.x=Math.abs(e.x),t.y=Math.abs(e.y),t):new o(Math.abs(e.x),Math.abs(e.y))};var a=new o;o.lerp=function(e,r,t,n){return o.multiplyByScalar(r,t,a),n=o.multiplyByScalar(e,1-t,n),o.add(a,n,n)};var s=new o,u=new o;o.angleBetween=function(e,r){return o.normalize(e,s),o.normalize(r,u),Math.acos(o.dot(s,u))};var l=new o;return o.mostOrthogonalAxis=function(e,r){var t=o.normalize(e,l);return o.abs(t,t),r=t.x<=t.y?o.clone(o.UNIT_X,r):o.clone(o.UNIT_Y,r)},o.equals=function(e,t){return e===t||r(e)&&r(t)&&e.x===t.x&&e.y===t.y},o.equalsEpsilon=function(e,t,n){return e===t||r(e)&&r(t)&&Math.abs(e.x-t.x)<=n&&Math.abs(e.y-t.y)<=n},o.ZERO=n(new o(0,0)),o.UNIT_X=n(new o(1,0)),o.UNIT_Y=n(new o(0,1)),o.prototype.clone=function(e){return o.clone(this,e)},o.prototype.equals=function(e){return o.equals(this,e)},o.prototype.equalsEpsilon=function(e,r){return o.equalsEpsilon(this,e,r)},o.prototype.toString=function(){return"("+this.x+", "+this.y+")"},o}),define("Core/barycentricCoordinates",["./Cartesian2","./Cartesian3","./defined","./DeveloperError"],function(e,r,t){"use strict";var n=new r,o=new r,i=new r,a=function(a,s,u,l,c){t(c)||(c=new r);var f,m,y,h,p,d,v,g;t(s.z)?(f=r.subtract(u,s,n),m=r.subtract(l,s,o),y=r.subtract(a,s,i),h=r.dot(f,f),p=r.dot(f,m),d=r.dot(f,y),v=r.dot(m,m),g=r.dot(m,y)):(f=e.subtract(u,s,n),m=e.subtract(l,s,o),y=e.subtract(a,s,i),h=e.dot(f,f),p=e.dot(f,m),d=e.dot(f,y),v=e.dot(m,m),g=e.dot(m,y));var E=1/(h*v-p*p);return c.y=(v*d-p*g)*E,c.z=(h*g-p*d)*E,c.x=1-c.y-c.z,c};return a}),define("Core/EncodedCartesian3",["./Cartesian3","./defined","./DeveloperError"],function(e,r){"use strict";var t=function(){this.high=e.clone(e.ZERO),this.low=e.clone(e.ZERO)};t.encode=function(e,t){r(t)||(t={high:0,low:0});var n;return e>=0?(n=65536*Math.floor(e/65536),t.high=n,t.low=e-n):(n=65536*Math.floor(-e/65536),t.high=-n,t.low=e+n),t};var n={high:0,low:0};t.fromCartesian=function(e,o){r(o)||(o=new t);var i=o.high,a=o.low;return t.encode(e.x,n),i.x=n.high,a.x=n.low,t.encode(e.y,n),i.y=n.high,a.y=n.low,t.encode(e.z,n),i.z=n.high,a.z=n.low,o};var o=new t;return t.writeElements=function(e,r,n){t.fromCartesian(e,o);var i=o.high,a=o.low;r[n]=i.x,r[n+1]=i.y,r[n+2]=i.z,r[n+3]=a.x,r[n+4]=a.y,r[n+5]=a.z},t}),define("Core/QuadraticRealPolynomial",["./DeveloperError","./Math"],function(e,r){"use strict";function t(e,t,n){var o=e+t;return r.sign(e)!==r.sign(t)&&Math.abs(o/Math.max(Math.abs(e),Math.abs(t)))a&&a/ss&&s/ai)return[];var u=Math.sqrt(i);return[-u,u]}if(0===o)return i=-n/e,0>i?[i,0]:[0,i];var l=n*n,c=4*e*o,f=t(l,-c,r.EPSILON14);if(0>f)return[];var m=-.5*t(n,r.sign(n)*Math.sqrt(f),r.EPSILON14);return n>0?[m/e,o/m]:[o/m,m/e]},n}),define("Core/CubicRealPolynomial",["./DeveloperError","./QuadraticRealPolynomial"],function(e,r){"use strict";function t(e,r,t,n){var o,i,a=e,s=r/3,u=t/3,l=n,c=a*u,f=s*l,m=s*s,y=u*u,h=a*u-m,p=a*l-s*u,d=s*l-y,v=4*h*d-p*p;if(0>v){var g,E,C;m*f>=c*y?(g=a,E=h,C=-2*s*h+a*p):(g=l,E=d,C=-l*p+2*u*d);var S=0>C?-1:1,w=-S*Math.abs(g)*Math.sqrt(-v);i=-C+w;var x=i/2,A=0>x?-Math.pow(-x,1/3):Math.pow(x,1/3),b=i===w?-A:-E/A;return o=0>=E?A+b:-C/(A*A+b*b+E),m*f>=c*y?[(o-s)/a]:[-l/(o+u)]}var T=h,M=-2*s*h+a*p,O=d,I=-l*p+2*u*d,N=Math.sqrt(v),R=Math.sqrt(3)/2,z=Math.abs(Math.atan2(a*N,-M)/3);o=2*Math.sqrt(-T);var L=Math.cos(z);i=o*L;var F=o*(-L/2-R*Math.sin(z)),D=i+F>2*s?i-s:F-s,P=a,B=D/P;z=Math.abs(Math.atan2(l*N,-I)/3),o=2*Math.sqrt(-O),L=Math.cos(z),i=o*L,F=o*(-L/2-R*Math.sin(z));var _=-l,U=2*u>i+F?i+u:F+u,G=_/U,q=P*U,Y=-D*U-P*_,W=D*_,V=(u*Y-s*W)/(-s*Y+u*q);return V>=B?G>=B?G>=V?[B,V,G]:[B,G,V]:[G,B,V]:G>=B?[V,B,G]:G>=V?[V,G,B]:[G,V,B]}var n={};return n.discriminant=function(e,r,t,n){var o=e*e,i=r*r,a=t*t,s=n*n,u=18*e*r*t*n+i*a-27*o*s-4*(e*a*t+i*r*n);return u},n.realRoots=function(e,n,o,i){var a,s;if(0===e)return r.realRoots(n,o,i);if(0===n){if(0===o){if(0===i)return[0,0,0];s=-i/e;var u=0>s?-Math.pow(-s,1/3):Math.pow(s,1/3);return[u,u,u]}return 0===i?(a=r.realRoots(e,0,o),0===a.Length?[0]:[a[0],0,a[1]]):t(e,0,o,i)}return 0===o?0===i?(s=-n/e,0>s?[s,0,0]:[0,0,s]):t(e,n,0,i):0===i?(a=r.realRoots(e,n,o),0===a.length?[0]:a[1]<=0?[a[0],a[1],0]:a[0]>=0?[0,a[0],a[1]]:[a[0],0,a[1]]):t(e,n,o,i)},n}),define("Core/QuarticRealPolynomial",["./DeveloperError","./Math","./CubicRealPolynomial","./QuadraticRealPolynomial"],function(e,r,t,n){"use strict";function o(e,o,i,a){var s=e*e,u=o-3*s/8,l=i-o*e/2+s*e/8,c=a-i*e/4+o*s/16-3*s*s/256,f=t.realRoots(1,2*u,u*u-4*c,-l*l);if(f.length>0){var m=-e/4,y=f[f.length-1];if(Math.abs(y)=0&&v>=0){var g=Math.sqrt(d),E=Math.sqrt(v);return[m-E,m-g,m+g,m+E]}if(d>=0&&0>v)return p=Math.sqrt(d),[m-p,m+p];if(0>d&&v>=0)return p=Math.sqrt(v),[m-p,m+p]}return[]}if(y>0){var C=Math.sqrt(y),S=(u+y-l/C)/2,w=(u+y+l/C)/2,x=n.realRoots(1,C,S),A=n.realRoots(1,-C,w);return 0!==x.length?(x[0]+=m,x[1]+=m,0!==A.length?(A[0]+=m,A[1]+=m,x[1]<=A[0]?[x[0],x[1],A[0],A[1]]:A[1]<=x[0]?[A[0],A[1],x[0],x[1]]:x[0]>=A[0]&&x[1]<=A[1]?[A[0],x[0],x[1],A[1]]:A[0]>=x[0]&&A[1]<=x[1]?[x[0],A[0],A[1],x[1]]:x[0]>A[0]&&x[0]0){var h,p,d=y[0],v=o-d,g=v*v,E=e/2,C=v/2,S=g-4*a,w=g+4*Math.abs(a),x=l-4*d,A=l+4*Math.abs(d);if(0>d||x*w>S*A){var b=Math.sqrt(x);h=b/2,p=0===b?0:(e*C-i)/b}else{var T=Math.sqrt(S);h=0===T?0:(e*C-i)/T,p=T/2}var M,O;0===E&&0===h?(M=0,O=0):r.sign(E)===r.sign(h)?(M=E+h,O=d/M):(O=E-h,M=d/O);var I,N;0===C&&0===p?(I=0,N=0):r.sign(C)===r.sign(p)?(I=C+p,N=a/I):(N=C-p,I=a/N);var R=n.realRoots(1,M,I),z=n.realRoots(1,O,N);if(0!==R.length)return 0!==z.length?R[1]<=z[0]?[R[0],R[1],z[0],z[1]]:z[1]<=R[0]?[z[0],z[1],R[0],R[1]]:R[0]>=z[0]&&R[1]<=z[1]?[z[0],R[0],R[1],z[1]]:z[0]>=R[0]&&z[1]<=R[1]?[R[0],z[0],z[1],R[1]]:R[0]>z[0]&&R[0]l?1:0;switch(y+=0>c?y+1:y,y+=0>f?y+1:y,y+=0>m?y+1:y){case 0:return o(l,c,f,m);case 1:return i(l,c,f,m);case 2:return i(l,c,f,m);case 3:return o(l,c,f,m);case 4:return o(l,c,f,m);case 5:return i(l,c,f,m);case 6:return o(l,c,f,m);case 7:return o(l,c,f,m);case 8:return i(l,c,f,m);case 9:return o(l,c,f,m);case 10:return o(l,c,f,m);case 11:return i(l,c,f,m);case 12:return o(l,c,f,m);case 13:return o(l,c,f,m);case 14:return o(l,c,f,m);case 15:return o(l,c,f,m);default:return void 0}},a}),define("Core/IntersectionTests",["./defined","./DeveloperError","./Math","./Cartesian3","./Cartographic","./Matrix3","./QuadraticRealPolynomial","./QuarticRealPolynomial"],function(e,r,t,n,o,i,a,s){"use strict";function u(e,r,n){var o=e+r;return t.sign(e)!==t.sign(r)&&Math.abs(o/Math.max(Math.abs(e),Math.abs(r)))F;++F){var D,P=f[F],B=P*P,_=Math.max(1-B,0),U=Math.sqrt(_);D=t.sign(h)===t.sign(d)?u(h*B+d,p*P,t.EPSILON12):t.sign(d)===t.sign(p*P)?u(h*B,p*P+d,t.EPSILON12):u(h*B+p*P,d,t.EPSILON12);var G=u(v*P,g,t.EPSILON15),q=D*G;0>q?E.push(new n(l,c*P,c*U)):q>0?E.push(new n(l,c*P,c*-U)):0!==U?(E.push(new n(l,c*P,c*-U)),E.push(new n(l,c*P,c*U)),++F):E.push(new n(l,c*P,c*U))}return E}var c={};c.rayPlane=function(e,r,o){var i=e.origin,a=e.direction,s=r.normal,u=n.dot(s,a);if(Math.abs(u)l?void 0:(o=n.multiplyByScalar(a,l,o),n.add(i,o,o))};var f=new n,m=new n;c.rayEllipsoid=function(e,r){var t,o,i,a,s,u=r.oneOverRadii,l=n.multiplyComponents(u,e.origin,f),c=n.multiplyComponents(u,e.direction,m),y=n.magnitudeSquared(l),h=n.dot(l,c);if(y>1){if(h>=0)return void 0;var p=h*h;if(t=y-1,o=n.magnitudeSquared(c),i=o*t,i>p)return void 0;if(p>i){a=h*h-i,s=-h+Math.sqrt(a);var d=s/o,v=t/s;return v>d?{start:d,stop:v}:{start:v,stop:d}}var g=Math.sqrt(t/o);return{start:g,stop:g}}return 1>y?(t=y-1,o=n.magnitudeSquared(c),i=o*t,a=h*h-i,s=-h+Math.sqrt(a),{start:0,stop:s/o}):0>h?(o=n.magnitudeSquared(c),{start:0,stop:-h/o}):void 0},c.grazingAltitudeLocation=function(r,a){var s=r.origin,u=r.direction,c=a.geodeticSurfaceNormal(s);if(n.dot(u,c)>=0)return s;var f,m,y=e(this.rayEllipsoid(r,a)),h=a.transformPositionToScaledSpace(u),p=n.normalize(h),d=n.mostOrthogonalAxis(h),v=n.normalize(n.cross(d,p)),g=n.normalize(n.cross(p,v)),E=new i(p.x,v.x,g.x,p.y,v.y,g.y,p.z,v.z,g.z),C=i.transpose(E),S=i.fromScale(a.radii),w=i.fromScale(a.oneOverRadii),x=new i(0,u.z,-u.y,-u.z,0,u.x,u.y,-u.x,0),A=i.multiply(i.multiply(C,w),x),b=i.multiply(i.multiply(A,S),E),T=i.multiplyByVector(A,s),M=l(b,n.negate(T),0,0,1),O=M.length;if(O>0){for(var I=n.ZERO,N=Number.NEGATIVE_INFINITY,R=0;O>R;++R){f=i.multiplyByVector(S,i.multiplyByVector(E,M[R]));var z=n.normalize(n.subtract(f,s)),L=n.dot(z,u);L>N&&(N=L,I=f)}var F=a.cartesianToCartographic(I);return N=t.clamp(N,0,1),m=n.magnitude(n.subtract(I,s))*Math.sqrt(1-N*N),m=y?-m:m,a.cartographicToCartesian(new o(F.longitude,F.latitude,m))}return void 0};var y=new n;return c.lineSegmentPlane=function(r,o,i,a){var s=n.subtract(o,r,y),u=i.normal,l=n.dot(u,s);if(Math.abs(l)f||f>1?void 0:(e(a)||(a=new n),n.multiplyByScalar(s,f,a),n.add(r,a,a),a)},c.trianglePlaneIntersection=function(e,r,t,o){var i=o.normal,a=o.distance,s=n.dot(i,e)+a<0,u=n.dot(i,r)+a<0,l=n.dot(i,t)+a<0,f=0;f+=s?1:0,f+=u?1:0,f+=l?1:0;var m,y;if((1===f||2===f)&&(m=new n,y=new n),1===f){if(s)return c.lineSegmentPlane(e,r,o,m),c.lineSegmentPlane(e,t,o,y),{positions:[e,r,t,m,y],indices:[0,3,4,1,2,4,1,4,3]};if(u)return c.lineSegmentPlane(r,t,o,m),c.lineSegmentPlane(r,e,o,y),{positions:[e,r,t,m,y],indices:[1,3,4,2,0,4,2,4,3]};if(l)return c.lineSegmentPlane(t,e,o,m),c.lineSegmentPlane(t,r,o,y),{positions:[e,r,t,m,y],indices:[2,3,4,0,1,4,0,4,3]}}else if(2===f){if(!s)return c.lineSegmentPlane(r,e,o,m),c.lineSegmentPlane(t,e,o,y),{positions:[e,r,t,m,y],indices:[1,2,4,1,4,3,0,3,4]};if(!u)return c.lineSegmentPlane(t,r,o,m),c.lineSegmentPlane(e,r,o,y),{positions:[e,r,t,m,y],indices:[2,0,4,2,4,3,1,3,4]};if(!l)return c.lineSegmentPlane(e,t,o,m),c.lineSegmentPlane(r,t,o,y),{positions:[e,r,t,m,y],indices:[0,1,4,0,4,3,2,3,4]}}return void 0},c}),define("Core/Plane",["./Cartesian3","./defined","./DeveloperError"],function(e,r){"use strict";var t=function(r,t){this.normal=e.clone(r),this.distance=t};return t.fromPointNormal=function(n,o,i){var a=-e.dot(o,n);return r(i)?(e.clone(o,i.normal),i.distance=a,i):new t(o,a)},t.getPointDistance=function(r,t){return e.dot(r.normal,t)+r.distance},t.prototype.getPointDistance=function(e){return t.getPointDistance(this,e)},t}),define("Core/IndexDatatype",["./defined","./DeveloperError","./Math"],function(e,r,t){"use strict";var n={UNSIGNED_BYTE:5121,UNSIGNED_SHORT:5123,UNSIGNED_INT:5125};return n.getSizeInBytes=function(e){switch(e){case n.UNSIGNED_BYTE:return Uint8Array.BYTES_PER_ELEMENT;case n.UNSIGNED_SHORT:return Uint16Array.BYTES_PER_ELEMENT;case n.UNSIGNED_INT:return Uint32Array.BYTES_PER_ELEMENT}},n.validate=function(r){return e(r)&&(r===n.UNSIGNED_BYTE||r===n.UNSIGNED_SHORT||r===n.UNSIGNED_INT)},n.createTypedArray=function(e,r){return e>t.SIXTY_FOUR_KILOBYTES?new Uint32Array(r):new Uint16Array(r)},n}),define("Core/Tipsify",["./defaultValue","./defined","./DeveloperError"],function(e,r){"use strict";var t={};return t.calculateACMR=function(t){t=e(t,e.EMPTY_OBJECT);var n=t.indices,o=t.maximumIndex,i=e(t.cacheSize,24),a=n.length;if(!r(o)){o=0;for(var s=0,u=n[s];a>s;)u>o&&(o=u),++s,u=n[s]}for(var l=[],c=0;o+1>c;c++)l[c]=0;for(var f=i+1,m=0;a>m;++m)f-l[n[m]]>i&&(l[n[m]]=f,++f);return(f-i+1)/(a/3)},t.tipsify=function(t){function n(e,r,t,n){for(;r.length>=1;){var o=r[r.length-1];if(r.splice(r.length-1,1),e[o].numLiveTriangles>0)return o}for(;n>i;){if(e[i].numLiveTriangles>0)return++i,i-1;++i}return-1}function o(e,r,t,o,i,a,s){for(var u,l=-1,c=-1,f=0;fc||-1===c)&&(c=u,l=m)),++f}return-1===l?n(o,a,e,s):l}t=e(t,e.EMPTY_OBJECT);var i,a=t.indices,s=t.maximumIndex,u=e(t.cacheSize,24),l=a.length,c=0,f=0,m=a[f],y=l;if(r(s))c=s+1;else{for(;y>f;)m>c&&(c=m),++f,m=a[f];if(-1===c)return 0;++c}for(var h=[],p=0;c>p;p++)h[p]={numLiveTriangles:0,timeStamp:0,vertexTriangles:[]};f=0;for(var d=0;y>f;)h[a[f]].vertexTriangles.push(d),++h[a[f]].numLiveTriangles,h[a[f+1]].vertexTriangles.push(d),++h[a[f+1]].numLiveTriangles,h[a[f+2]].vertexTriangles.push(d),++h[a[f+2]].numLiveTriangles,++d,f+=3;var v=0,g=u+1;i=1;var E,C,S=[],w=[],x=0,A=[],b=l/3,T=[];for(p=0;b>p;p++)T[p]=!1;for(var M,O;-1!==v;){S=[],C=h[v],O=C.vertexTriangles.length;for(var I=0;O>I;++I)if(d=C.vertexTriangles[I],!T[d]){T[d]=!0,f=d+d+d;for(var N=0;3>N;++N)M=a[f],S.push(M),w.push(M),A[x]=M,++x,E=h[M],--E.numLiveTriangles,g-E.timeStamp>u&&(E.timeStamp=g,++g),++f}v=o(a,u,S,h,g,w,c)}return A},t}),define("Core/GeometryPipeline",["./barycentricCoordinates","./defaultValue","./defined","./DeveloperError","./Cartesian2","./Cartesian3","./Cartesian4","./Cartographic","./EncodedCartesian3","./Intersect","./IntersectionTests","./Math","./Matrix3","./Matrix4","./Plane","./GeographicProjection","./ComponentDatatype","./IndexDatatype","./PrimitiveType","./Tipsify","./BoundingSphere","./Geometry","./GeometryAttribute"],function(e,r,t,n,o,i,a,s,u,l,c,f,m,y,h,p,d,v,g,E,C,S,w){"use strict";function x(e,r,t,n,o){e[r++]=t,e[r++]=n,e[r++]=n,e[r++]=o,e[r++]=o,e[r]=t}function A(e){for(var r=e.length,t=6*(r/3),n=v.createTypedArray(r,t),o=0,i=0;r>i;i+=3,o+=6)x(n,o,e[i],e[i+1],e[i+2]);return n}function b(e){var r=e.length;if(r>=3){var t=6*(r-2),n=v.createTypedArray(r,t);x(n,0,e[0],e[1],e[2]);for(var o=6,i=3;r>i;++i,o+=6)x(n,o,e[i-1],e[i],e[i-2]);return n}return new Uint16Array}function T(e){if(e.length>0){for(var r=e.length-1,t=6*(r-1),n=v.createTypedArray(r,t),o=e[0],i=0,a=1;r>a;++a,i+=6)x(n,i,o,e[a],e[a+1]);return n}return new Uint16Array}function M(e){var r={};for(var n in e)if(e.hasOwnProperty(n)&&t(e[n])&&t(e[n].values)){var o=e[n];r[n]=new w({componentDatatype:o.componentDatatype,componentsPerAttribute:o.componentsPerAttribute,normalize:o.normalize,values:[]})}return r}function O(e,r,n){for(var o in r)if(r.hasOwnProperty(o)&&t(r[o])&&t(r[o].values))for(var i=r[o],a=0;aa;a+=3)i.unpack(n,a,Z),y.multiplyByPoint(e,Z,Z),i.pack(Z,n,a)}function N(e,r){if(t(r))for(var n=r.values,o=n.length,a=0;o>a;a+=3)i.unpack(n,a,Z),m.multiplyByVector(e,Z,Z),Z=i.normalize(Z,Z),i.pack(Z,n,a)}function R(e){var r,n=e.length,o={},i=e[0].geometry.attributes;for(r in i)if(i.hasOwnProperty(r)&&t(i[r])&&t(i[r].values)){for(var a=i[r],s=a.values.length,u=!0,l=1;n>l;++l){var c=e[l].geometry.attributes[r];if(!t(c)||a.componentDatatype.value!==c.componentDatatype.value||a.componentsPerAttribute!==c.componentsPerAttribute||a.normalize!==c.normalize){u=!1;break}s+=c.values.length}u&&(o[r]=new w({componentDatatype:a.componentDatatype,componentsPerAttribute:a.componentsPerAttribute,normalize:a.normalize,values:d.createTypedArray(a.componentDatatype,s)}))}return o}function z(e){if(t(e.indices))return e;for(var r=S.computeNumberOfVertices(e),n=v.createTypedArray(r,r),o=0;r>o;++o)n[o]=o;return e.indices=n,e}function L(e){var r=S.computeNumberOfVertices(e),t=v.createTypedArray(r,3*(r-2));t[0]=1,t[1]=0,t[2]=2;for(var n=3,o=3;r>o;++o)t[n++]=o-1,t[n++]=0,t[n++]=o;return e.indices=t,e.primitiveType=g.TRIANGLES,e}function F(e){var r=S.computeNumberOfVertices(e),t=v.createTypedArray(r,3*(r-2));t[0]=0,t[1]=1,t[2]=2,r>3&&(t[3]=0,t[4]=2,t[5]=3);for(var n=6,o=3;r-1>o;o+=2)t[n++]=o,t[n++]=o-1,t[n++]=o+1,r>o+2&&(t[n++]=o,t[n++]=o+1,t[n++]=o+2);return e.indices=t,e.primitiveType=g.TRIANGLES,e}function D(e){if(t(e.indices))return e;for(var r=S.computeNumberOfVertices(e),n=v.createTypedArray(r,r),o=0;r>o;++o)n[o]=o;return e.indices=n,e}function P(e){var r=S.computeNumberOfVertices(e),t=v.createTypedArray(r,2*(r-1));t[0]=0,t[1]=1;for(var n=2,o=2;r>o;++o)t[n++]=o-1,t[n++]=o;return e.indices=t,e.primitiveType=g.LINES,e}function B(e){var r=S.computeNumberOfVertices(e),t=v.createTypedArray(r,2*r);t[0]=0,t[1]=1;for(var n=2,o=2;r>o;++o)t[n++]=o-1,t[n++]=o;return t[n++]=r-1,t[n]=0,e.indices=t,e.primitiveType=g.LINES,e}function _(e){switch(e.primitiveType){case g.TRIANGLE_FAN:return L(e);case g.TRIANGLE_STRIP:return F(e);case g.TRIANGLES:return z(e);case g.LINE_STRIP:return P(e);case g.LINE_LOOP:return B(e);case g.LINES:return D(e)}return e}function U(e,r){Math.abs(e.y)=0||r.x>=0||t.x>=0)return void 0;var n=e.y<0,o=r.y<0,i=t.y<0;U(e,n),U(r,o),U(t,i);var a=0;a+=n?1:0,a+=o?1:0,a+=i?1:0;var s=cr.indices;1===a?(s[1]=3,s[2]=4,s[5]=6,s[7]=6,s[8]=5,n?(G(e,r,ar,ur),G(e,t,sr,lr),s[0]=0,s[3]=1,s[4]=2,s[6]=1):o?(G(r,t,ar,ur),G(r,e,sr,lr),s[0]=1,s[3]=2,s[4]=0,s[6]=2):i&&(G(t,e,ar,ur),G(t,r,sr,lr),s[0]=2,s[3]=0,s[4]=1,s[6]=0)):2===a&&(s[2]=4,s[4]=4,s[5]=3,s[7]=5,s[8]=6,n?o?i||(G(t,e,ar,ur),G(t,r,sr,lr),s[0]=0,s[1]=1,s[3]=0,s[6]=2):(G(r,t,ar,ur),G(r,e,sr,lr),s[0]=2,s[1]=0,s[3]=2,s[6]=1):(G(e,r,ar,ur),G(e,t,sr,lr),s[0]=1,s[1]=2,s[3]=1,s[6]=0));var u=cr.positions;return u[0]=e,u[1]=r,u[2]=t,cr.length=3,(1===a||2===a)&&(u[3]=ar,u[4]=sr,u[5]=ur,u[6]=lr,cr.length=7),cr}function Y(r,n,a,s,u,l,c,f){if(t(u)||t(l)||t(c)||t(f)){var m,y,h,p,d,v,g,E,C,S,w,x,A,b,T,M,O,I,N=s.positions,R=N[0],z=N[1],L=N[2];t(u)&&(m=i.fromArray(u,3*r),y=i.fromArray(u,3*n),h=i.fromArray(u,3*a)),t(l)&&(p=i.fromArray(l,3*r),d=i.fromArray(l,3*n),v=i.fromArray(l,3*a)),t(c)&&(g=i.fromArray(c,3*r),E=i.fromArray(c,3*n),C=i.fromArray(c,3*a)),t(f)&&(S=o.fromArray(f,2*r),w=o.fromArray(f,2*n),x=o.fromArray(f,2*a));for(var F=3;FE;E+=3){var C=l[E],w=l[E+1],x=l[E+2],A=i.fromArray(n,3*C),b=i.fromArray(n,3*w),T=i.fromArray(n,3*x),M=q(A,b,T);if(t(M))if(c[3*C+1]=M.positions[0].y,c[3*w+1]=M.positions[1].y,c[3*x+1]=M.positions[2].y,M.length>3){for(var O=c.length/3,I=0;IN?p.push(l[E+N]):p.push(N-3+O)}for(var R=3;Rm;m+=2){var y=o[m],p=o[m+1],d=i.fromArray(n,3*y),g=i.fromArray(n,3*p);if(Math.abs(d.y)c;c+=3)u[l++]=i[c],u[l++]=i[c+1],u[l++]=i[c+2],u[l++]=i[c]+a[c]*o,u[l++]=i[c+1]+a[c+1]*o,u[l++]=i[c+2]+a[c+2]*o;var f,m=e.boundingSphere;return t(m)&&(f=new C(m.center,m.radius+o)),new S({attributes:{position:new w({componentDatatype:d.DOUBLE,componentsPerAttribute:3,values:u})},primitiveType:g.LINES,boundingSphere:f})},H.createAttributeLocations=function(e){var r,n=["position","positionHigh","positionLow","position3DHigh","position3DLow","position2DHigh","position2DLow","pickColor","normal","st","binormal","tangent"],o=e.attributes,i={},a=0,s=n.length;for(r=0;s>r;++r){var u=n[r];t(o[u])&&(i[u]=a++)}for(var l in o)o.hasOwnProperty(l)&&!t(i[l])&&(i[l]=a++);return i},H.reorderForPreVertexCache=function(e){var r=S.computeNumberOfVertices(e),n=e.indices;if(t(n)){for(var o=new Int32Array(r),i=0;r>i;i++)o[i]=-1;for(var a,s=n,u=s.length,l=v.createTypedArray(r,u),c=0,f=0,m=0;u>c;)a=o[s[c]],-1!==a?l[f]=a:(a=s[c],o[a]=m,l[f]=m,++m),++c,++f;e.indices=l;var y=e.attributes;for(var h in y)if(y.hasOwnProperty(h)&&t(y[h])&&t(y[h].values)){for(var p=y[h],g=p.values,E=0,C=p.componentsPerAttribute,w=d.createTypedArray(p.componentDatatype,m*C);r>E;){var x=o[E];if(-1!==x)for(i=0;C>i;i++)w[C*x+i]=g[C*E+i];++E}p.values=w}}return e},H.reorderForPostVertexCache=function(e,r){var n=e.indices;if(e.primitiveType===g.TRIANGLES&&t(n)){for(var o=n.length,i=0,a=0;o>a;a++)n[a]>i&&(i=n[a]);e.indices=E.tipsify({indices:n,maximumIndex:i,cacheSize:r})}return e},H.fitToUnsignedShortIndices=function(e){var r=[],n=S.computeNumberOfVertices(e);if(t(e.indices)&&n>f.SIXTY_FOUR_KILOBYTES){var o,i=[],a=[],s=0,u=M(e.attributes),l=e.indices,c=l.length;e.primitiveType===g.TRIANGLES?o=3:e.primitiveType===g.LINES?o=2:e.primitiveType===g.POINTS&&(o=1);for(var m=0;c>m;m+=o){for(var y=0;o>y;++y){var h=l[m+y],p=i[h];t(p)||(p=s++,i[h]=p,O(u,e.attributes,h)),a.push(p)}s+o>f.SIXTY_FOUR_KILOBYTES&&(r.push(new S({attributes:u,indices:a,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere})),i=[],a=[],s=0,u=M(e.attributes))}0!==a.length&&r.push(new S({attributes:u,indices:a,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere}))}else r.push(e);return r};var k=new i,K=new s;H.projectTo2D=function(e,r,o,a,s){var u=e.attributes[r];s=t(s)?s:new p;for(var l=s.ellipsoid,c=u.values,f=new Float64Array(c.length),m=0,y=0;yc;++c)u.encode(i[c],j),s[c]=j.high,l[c]=j.low;var f=o.componentsPerAttribute;return e.attributes[t]=new w({componentDatatype:d.FLOAT,componentsPerAttribute:f,values:s}),e.attributes[n]=new w({componentDatatype:d.FLOAT,componentsPerAttribute:f,values:l}),delete e.attributes[r],e};var Z=new i,Q=new y,X=new m;H.transformToWorldCoordinates=function(e){var r=e.modelMatrix;if(y.equals(r,y.IDENTITY))return e;var n=e.geometry.attributes;I(r,n.position),I(r,n.prevPosition),I(r,n.nextPosition),(t(n.normal)||t(n.binormal)||t(n.tangent))&&(y.inverse(r,Q),y.transpose(Q,Q),y.getRotation(Q,X),N(X,n.normal),N(X,n.binormal),N(X,n.tangent));var o=e.geometry.boundingSphere;return t(o)&&(e.geometry.boundingSphere=C.transform(o,r,o)),e.modelMatrix=y.clone(y.IDENTITY),e},H.combine=function(e){var r,n,o,a,s=e.length;e[0].modelMatrix;var u,l,c,f=t(e[0].geometry.indices),m=e[0].geometry.primitiveType,y=R(e);for(r in y)if(y.hasOwnProperty(r))for(u=y[r].values,a=0,n=0;s>n;++n)for(l=e[n].geometry.attributes[r].values,c=l.length,o=0;c>o;++o)u[a++]=l[o];var h;if(f){var p=0;for(n=0;s>n;++n)p+=e[n].geometry.indices.length;var d=S.computeNumberOfVertices(new S({attributes:y,primitiveType:g.POINTS})),E=v.createTypedArray(d,p),w=0,x=0;for(n=0;s>n;++n){var A=e[n].geometry.indices,b=A.length;for(a=0;b>a;++a)E[w++]=x+A[a];x+=S.computeNumberOfVertices(e[n].geometry)}h=E}var T,M=new i,O=0;for(n=0;s>n;++n){if(T=e[n].geometry.boundingSphere,!t(T)){M=void 0;break}i.add(T.center,M,M)}if(t(M))for(i.divideByScalar(M,s,M),n=0;s>n;++n){T=e[n].geometry.boundingSphere;var I=i.magnitude(i.subtract(T.center,M))+T.radius;I>O&&(O=I)}return new S({attributes:y,indices:h,primitiveType:m,boundingSphere:t(M)?new C(M,O):void 0})};var J=new i,$=new i,er=new i,rr=new i;H.computeNormal=function(e){for(var r=e.indices,t=e.attributes,n=t.position.values,o=t.position.values.length/3,a=r.length,s=new Array(o),u=new Array(a/3),l=new Array(a),c=0;o>c;c++)s[c]={indexOffset:0,count:0,currentCount:0};var f=0;for(c=0;a>c;c+=3){var m=r[c],y=r[c+1],h=r[c+2],p=3*m,v=3*y,g=3*h;$.x=n[p],$.y=n[p+1],$.z=n[p+2],er.x=n[v],er.y=n[v+1],er.z=n[v+2],rr.x=n[g],rr.y=n[g+1],rr.z=n[g+2],s[m].count++,s[y].count++,s[h].count++,i.subtract(er,$,er),i.subtract(rr,$,rr),u[f]=i.cross(er,rr),f++}var E=0;for(c=0;o>c;c++)s[c].indexOffset+=E,E+=s[c].count;f=0;var C;for(c=0;a>c;c+=3){C=s[r[c]];var S=C.indexOffset+C.currentCount;l[S]=f,C.currentCount++,C=s[r[c+1]],S=C.indexOffset+C.currentCount,l[S]=f,C.currentCount++,C=s[r[c+2]],S=C.indexOffset+C.currentCount,l[S]=f,C.currentCount++,f++}var x=new Float32Array(3*o);for(c=0;o>c;c++){var A=3*c;if(C=s[c],C.count>0){for(i.clone(i.ZERO,J),f=0;fl;l+=3){var y=r[l],h=r[l+1],p=r[l+2];c=3*y,f=3*h,m=3*p;var v=2*y,g=2*h,E=2*p,C=t[c],S=t[c+1],x=t[c+2],A=o[v],b=o[v+1],T=o[g+1]-b,M=o[E+1]-b,O=1/((o[g]-A)*M-(o[E]-A)*T),I=(M*(t[f]-C)-T*(t[m]-C))*O,N=(M*(t[f+1]-S)-T*(t[m+1]-S))*O,R=(M*(t[f+2]-x)-T*(t[m+2]-x))*O;u[c]+=I,u[c+1]+=N,u[c+2]+=R,u[f]+=I,u[f+1]+=N,u[f+2]+=R,u[m]+=I,u[m+1]+=N,u[m+2]+=R}var z=new Float32Array(3*a),L=new Float32Array(3*a);for(l=0;a>l;l++){c=3*l,f=c+1,m=c+2;var F=i.fromArray(n,c,tr),D=i.fromArray(u,c,or),P=i.dot(F,D);i.multiplyByScalar(F,P,nr),i.normalize(i.subtract(D,nr,D),D),L[c]=D.x,L[f]=D.y,L[m]=D.z,i.normalize(i.cross(F,D,D),D),z[c]=D.x,z[f]=D.y,z[m]=D.z}return e.attributes.tangent=new w({componentDatatype:d.FLOAT,componentsPerAttribute:3,values:L}),e.attributes.binormal=new w({componentDatatype:d.FLOAT,componentsPerAttribute:3,values:z}),e};var ir=new i,ar=new i,sr=new i,ur=new i,lr=new i,cr={positions:new Array(7),indices:new Array(9)};return H.wrapLongitude=function(e){var r=e.boundingSphere;if(t(r)){var n=r.center.x-r.radius;if(n>0||C.intersect(r,a.UNIT_Y)!==l.INTERSECTING)return e}return _(e),e.primitiveType===g.TRIANGLES?W(e):e.primitiveType===g.LINES&&V(e),e},H}),define("Scene/PrimitivePipeline",["../Core/defined","../Core/defaultValue","../Core/Color","../Core/ComponentDatatype","../Core/DeveloperError","../Core/FeatureDetection","../Core/Geometry","../Core/GeometryAttribute","../Core/GeometryPipeline","../Core/Matrix4"],function(e,r,t,n,o,i,a,s,u,l){"use strict";function c(e,r,t){var n,o=!t,i=e.length;if(!o&&i>1){var a=e[0].modelMatrix;for(n=1;i>n;++n)if(!l.equals(a,e[n].modelMatrix)){o=!0;break}}if(o)for(n=0;i>n;++n)u.transformToWorldCoordinates(e[n]); +else l.clone(e[0].modelMatrix,r)}function f(e,r){for(var o=e.length,i=0;o>i;++i){var a=e[i],u=a.geometry,l=u.attributes,c=l.position,f=4*(c.values.length/c.componentsPerAttribute);l.pickColor=new s({componentDatatype:n.UNSIGNED_BYTE,componentsPerAttribute:4,normalize:!0,values:new Uint8Array(f)});for(var m=r[i],y=t.floatToByte(m.red),h=t.floatToByte(m.green),p=t.floatToByte(m.blue),d=t.floatToByte(m.alpha),v=l.pickColor.values,g=0;f>g;g+=4)v[g]=y,v[g+1]=h,v[g+2]=p,v[g+3]=d}}function m(r){var t,n=r.length,o=[],i=r[0].attributes;for(t in i)if(i.hasOwnProperty(t)){for(var a=i[t],s=!0,u=1;n>u;++u){var l=r[u].attributes[t];if(!e(l)||a.componentDatatype.value!==l.componentDatatype.value||a.componentsPerAttribute!==l.componentsPerAttribute||a.normalize!==l.normalize){s=!1;break}}s&&o.push(t)}return o}function y(e,r){for(var t=e.length,o=0;t>o;++o)for(var i=e[o],u=i.attributes,l=i.geometry,c=a.computeNumberOfVertices(l),f=r.length,m=0;f>m;++m){for(var y=r[m],h=u[y],p=h.componentDatatype,d=h.value,v=d.length,g=n.createTypedArray(p,c*v),E=0;c>E;++E)g.set(d,E*v);l.attributes[y]=new s({componentDatatype:p,componentsPerAttribute:v,normalize:h.normalize,values:g})}}function h(e){var r,t=e.instances,o=e.pickIds,i=e.projection,a=e.elementIndexUintSupported,s=e.allow3DOnly,l=e.allowPicking,h=e.vertexCacheOptimize,p=e.modelMatrix,d=t.length;if(t[0].geometry.primitiveType,c(t,p,s),!s)for(r=0;d>r;++r)u.wrapLongitude(t[r].geometry);l&&f(t,o);var v=m(t);if(y(t,v),h)for(r=0;d>r;++r)u.reorderForPostVertexCache(t[r].geometry),u.reorderForPreVertexCache(t[r].geometry);var g,E=u.combine(t),C=E.attributes;if(s)for(g in C)C.hasOwnProperty(g)&&C[g].componentDatatype.value===n.DOUBLE.value&&u.encodeAttribute(E,g,g+"3DHigh",g+"3DLow");else for(g in C)if(C.hasOwnProperty(g)&&C[g].componentDatatype.value===n.DOUBLE.value){var S=g+"3D",w=g+"2D";u.projectTo2D(E,g,S,w,i),u.encodeAttribute(E,S,S+"High",S+"Low"),u.encodeAttribute(E,w,w+"High",w+"Low")}return a?[E]:u.fitToUnsignedShortIndices(E)}function p(e,r,t){for(var o=[],i=e.attributes,a=t.length,s=0;a>s;++s){var u=t[s],l=i[u],c=l.componentDatatype;c.value===n.DOUBLE.value&&(c=n.FLOAT);var f=n.createTypedArray(c,l.values);o.push({index:r[u],componentDatatype:c,componentsPerAttribute:l.componentsPerAttribute,normalize:l.normalize,values:f}),delete i[u]}return o}function d(t,n,o){for(var i=[],s=m(t),u=t.length,l={},c={},f=0;u>f;++f)for(var y=t[f],h=a.computeNumberOfVertices(y.geometry),p=s.length,d=0;p>d;++d)for(var v=s[d],g=o[v],E=h;E>0;){for(var C,S=r(c[v],0),w=n[S],x=w.length,A=0;x>A&&(C=w[A],C.index!==g);++A);e(i[f])||(i[f]={}),e(i[f][v])||(i[f][v]={dirty:!1,value:y.attributes[v].value,indices:[]});var b,T=C.values.length/C.componentsPerAttribute,M=r(l[v],0);T>M+E?(b=E,i[f][v].indices.push({attribute:C,offset:M,count:b}),l[v]=M+E):(b=T-M,i[f][v].indices.push({attribute:C,offset:M,count:b}),l[v]=0,c[v]=S+1),E-=b}return i}function v(r){return e(r.constructor.name)?{type:r.constructor.name,buffer:r.buffer}:r}function g(r){return e(r.type)?new C[r.type](r.buffer):r}if(!i.supportsTypedArrays())return{};var E={};E.combineGeometry=function(e){for(var r={instances:e.instances,pickIds:e.pickIds,ellipsoid:e.ellipsoid,projection:e.projection,elementIndexUintSupported:e.elementIndexUintSupported,allow3DOnly:e.allow3DOnly,allowPicking:e.allowPicking,vertexCacheOptimize:e.vertexCacheOptimize,modelMatrix:l.clone(e.modelMatrix)},t=h(r),n=u.createAttributeLocations(t[0]),o=r.instances,i=m(o),a=[],s=t.length,c=0;s>c;++c){var f=t[c];a.push(p(f,n,i))}var y=d(o,a,n);return{geometries:t,modelMatrix:r.modelMatrix,attributeLocations:n,vaAttributes:a,vaAttributeLocations:y}};var C={Int8Array:Int8Array,Uint8Array:Uint8Array,Int16Array:Int16Array,Uint16Array:Uint16Array,Int32Array:Int32Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array};return E.transferGeometry=function(r,t){var n,o=r.attributes;for(var a in o)o.hasOwnProperty(a)&&e(o[a])&&e(o[a].values)&&(n=o[a].values,i.supportsTransferringArrayBuffers()&&t.indexOf(o[a].values.buffer)<0&&t.push(n.buffer),e(n.type)||(o[a].values=v(n)));e(r.indices)&&(n=r.indices,i.supportsTransferringArrayBuffers()&&t.push(n.buffer),e(n.type)||(r.indices=v(r.indices)))},E.transferGeometries=function(e,r){for(var t=e.length,n=0;t>n;++n)E.transferGeometry(e[n],r)},E.transferPerInstanceAttributes=function(e,r){for(var t=e.length,n=0;t>n;++n)for(var o=e[n],a=o.length,s=0;a>s;++s){var u=o[s].values;i.supportsTransferringArrayBuffers()&&r.push(u.buffer),o[s].values=v(u)}},E.transferInstances=function(e,r){for(var t=e.length,n=0;t>n;++n){var o=e[n];E.transferGeometry(o.geometry,r)}},E.receiveGeometry=function(r){var t=r.attributes;for(var n in t)t.hasOwnProperty(n)&&e(t[n])&&e(t[n].values)&&(t[n].values=g(t[n].values));e(r.indices)&&(r.indices=g(r.indices))},E.receiveGeometries=function(e){for(var r=e.length,t=0;r>t;++t)E.receiveGeometry(e[t])},E.receivePerInstanceAttributes=function(e){for(var r=e.length,t=0;r>t;++t)for(var n=e[t],o=n.length,i=0;o>i;++i)n[i].values=g(n[i].values)},E.receiveInstances=function(e){for(var r=e.length,t=0;r>t;++t){var n=e[t];E.receiveGeometry(n.geometry)}},E}),define("Workers/createTaskProcessorWorker",["../Core/defaultValue","../Core/defined"],function(e,r){"use strict";var t=function(t){var n,o=[],i={id:void 0,result:void 0,error:void 0};return function(a){var s=a.data;o.length=0,i.id=s.id,i.error=void 0,i.result=void 0;try{i.result=t(s.parameters,o)}catch(u){i.error=u}r(n)||(n=e(self.webkitPostMessage,self.postMessage));try{n(i,o)}catch(u){i.result=void 0,i.error="postMessage failed with error: "+u+"\n with responseMessage: "+JSON.stringify(i),n(i)}}};return t}),define("Workers/createBoxGeometry",["../Core/BoxGeometry","../Scene/PrimitivePipeline","./createTaskProcessorWorker"],function(e,r,t){"use strict";function n(t,n){var o=t.geometry,i=e.createGeometry(o);return r.transferGeometry(i,n),{geometry:i,index:t.index}}return t(n)})}(); \ No newline at end of file diff --git a/Cesium/Workers/createBoxOutlineGeometry.js b/Cesium/Workers/createBoxOutlineGeometry.js new file mode 100644 index 0000000..199e1a1 --- /dev/null +++ b/Cesium/Workers/createBoxOutlineGeometry.js @@ -0,0 +1,61 @@ +/** + * Cesium - https://github.com/AnalyticalGraphicsInc/cesium + * + * Copyright 2011-2014 Cesium Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Columbus View (Pat. Pend.) + * + * Portions licensed separately. + * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details. + */ +/** +@license +mersenne-twister.js - https://gist.github.com/banksean/300494 + + Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura, + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. The names of its contributors may not be used to endorse or promote + products derived from this software without specific prior written + permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +!function(){define("Core/defined",[],function(){"use strict";var e=function(e){return void 0!==e};return e}),define("Core/DeveloperError",["./defined"],function(e){"use strict";var r=function(e){this.name="DeveloperError",this.message=e;var r;try{throw new Error}catch(t){r=t.stack}this.stack=r};return r.prototype.toString=function(){var r=this.name+": "+this.message;return e(this.stack)&&(r+="\n"+this.stack.toString()),r},r.throwInstantiationError=function(){throw new r("This function defines an interface and should not be called directly.")},r}),define("Core/freezeObject",["./defined"],function(e){"use strict";var r=Object.freeze;return e(r)||(r=function(e){return e}),r}),define("Core/defaultValue",["./freezeObject"],function(e){"use strict";var r=function(e,r){return void 0!==e?e:r};return r.EMPTY_OBJECT=e({}),r}),define("Core/Cartesian3",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,r,t,n){"use strict";var o=function(r,t,n){this.x=e(r,0),this.y=e(t,0),this.z=e(n,0)};o.fromSpherical=function(t,n){r(n)||(n=new o);var i=t.clock,a=t.cone,u=e(t.magnitude,1),s=u*Math.sin(a);return n.x=s*Math.cos(i),n.y=s*Math.sin(i),n.z=u*Math.cos(a),n},o.fromElements=function(e,t,n,i){return r(i)?(i.x=e,i.y=t,i.z=n,i):new o(e,t,n)},o.clone=function(e,t){return r(e)?r(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t):new o(e.x,e.y,e.z):void 0},o.fromCartesian4=o.clone,o.packedLength=3,o.pack=function(r,t,n){n=e(n,0),t[n++]=r.x,t[n++]=r.y,t[n]=r.z},o.unpack=function(t,n,i){return n=e(n,0),r(i)||(i=new o),i.x=t[n++],i.y=t[n++],i.z=t[n],i},o.fromArray=o.unpack,o.getMaximumComponent=function(e){return Math.max(e.x,e.y,e.z)},o.getMinimumComponent=function(e){return Math.min(e.x,e.y,e.z)},o.getMinimumByComponent=function(e,t,n){return r(n)||(n=new o),n.x=Math.min(e.x,t.x),n.y=Math.min(e.y,t.y),n.z=Math.min(e.z,t.z),n},o.getMaximumByComponent=function(e,t,n){return r(n)||(n=new o),n.x=Math.max(e.x,t.x),n.y=Math.max(e.y,t.y),n.z=Math.max(e.z,t.z),n},o.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z},o.magnitude=function(e){return Math.sqrt(o.magnitudeSquared(e))};var i=new o;o.distance=function(e,r){return o.subtract(e,r,i),o.magnitude(i)},o.normalize=function(e,t){var n=o.magnitude(e);return r(t)?(t.x=e.x/n,t.y=e.y/n,t.z=e.z/n,t):new o(e.x/n,e.y/n,e.z/n)},o.dot=function(e,r){return e.x*r.x+e.y*r.y+e.z*r.z},o.multiplyComponents=function(e,t,n){return r(n)?(n.x=e.x*t.x,n.y=e.y*t.y,n.z=e.z*t.z,n):new o(e.x*t.x,e.y*t.y,e.z*t.z)},o.add=function(e,t,n){return r(n)?(n.x=e.x+t.x,n.y=e.y+t.y,n.z=e.z+t.z,n):new o(e.x+t.x,e.y+t.y,e.z+t.z)},o.subtract=function(e,t,n){return r(n)?(n.x=e.x-t.x,n.y=e.y-t.y,n.z=e.z-t.z,n):new o(e.x-t.x,e.y-t.y,e.z-t.z)},o.multiplyByScalar=function(e,t,n){return r(n)?(n.x=e.x*t,n.y=e.y*t,n.z=e.z*t,n):new o(e.x*t,e.y*t,e.z*t)},o.divideByScalar=function(e,t,n){return r(n)?(n.x=e.x/t,n.y=e.y/t,n.z=e.z/t,n):new o(e.x/t,e.y/t,e.z/t)},o.negate=function(e,t){return r(t)?(t.x=-e.x,t.y=-e.y,t.z=-e.z,t):new o(-e.x,-e.y,-e.z)},o.abs=function(e,t){return r(t)?(t.x=Math.abs(e.x),t.y=Math.abs(e.y),t.z=Math.abs(e.z),t):new o(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z))};var a=new o;o.lerp=function(e,r,t,n){return o.multiplyByScalar(r,t,a),n=o.multiplyByScalar(e,1-t,n),o.add(a,n,n)};var u=new o,s=new o;o.angleBetween=function(e,r){o.normalize(e,u),o.normalize(r,s);var t=o.dot(u,s),n=o.magnitude(o.cross(u,s,u));return Math.atan2(n,t)};var l=new o;return o.mostOrthogonalAxis=function(e,r){var t=o.normalize(e,l);return o.abs(t,t),r=t.x<=t.y?t.x<=t.z?o.clone(o.UNIT_X,r):o.clone(o.UNIT_Z,r):t.y<=t.z?o.clone(o.UNIT_Y,r):o.clone(o.UNIT_Z,r)},o.equals=function(e,t){return e===t||r(e)&&r(t)&&e.x===t.x&&e.y===t.y&&e.z===t.z},o.equalsEpsilon=function(e,t,n){return e===t||r(e)&&r(t)&&Math.abs(e.x-t.x)<=n&&Math.abs(e.y-t.y)<=n&&Math.abs(e.z-t.z)<=n},o.cross=function(e,t,n){var i=e.x,a=e.y,u=e.z,s=t.x,l=t.y,c=t.z,f=a*c-u*l,m=u*s-i*c,y=i*l-a*s;return r(n)?(n.x=f,n.y=m,n.z=y,n):new o(f,m,y)},o.ZERO=n(new o(0,0,0)),o.UNIT_X=n(new o(1,0,0)),o.UNIT_Y=n(new o(0,1,0)),o.UNIT_Z=n(new o(0,0,1)),o.prototype.clone=function(e){return o.clone(this,e)},o.prototype.equals=function(e){return o.equals(this,e)},o.prototype.equalsEpsilon=function(e,r){return o.equalsEpsilon(this,e,r)},o.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+")"},o}),define("Core/Fullscreen",["./defined"],function(e){"use strict";var r,t={requestFullscreen:void 0,exitFullscreen:void 0,fullscreenEnabled:void 0,fullscreenElement:void 0,fullscreenchange:void 0,fullscreenerror:void 0},n={};return n.supportsFullscreen=function(){if(e(r))return r;r=!1;var n=document.body;if("function"==typeof n.requestFullscreen)return t.requestFullscreen="requestFullscreen",t.exitFullscreen="exitFullscreen",t.fullscreenEnabled="fullscreenEnabled",t.fullscreenElement="fullscreenElement",t.fullscreenchange="fullscreenchange",t.fullscreenerror="fullscreenerror",r=!0;for(var o,i=["webkit","moz","o","ms","khtml"],a=0,u=i.length;u>a;++a){var s=i[a];o=s+"RequestFullscreen","function"==typeof n[o]?(t.requestFullscreen=o,r=!0):(o=s+"RequestFullScreen","function"==typeof n[o]&&(t.requestFullscreen=o,r=!0)),o=s+"ExitFullscreen","function"==typeof document[o]?t.exitFullscreen=o:(o=s+"CancelFullScreen","function"==typeof document[o]&&(t.exitFullscreen=o)),o=s+"FullscreenEnabled",e(document[o])?t.fullscreenEnabled=o:(o=s+"FullScreenEnabled",e(document[o])&&(t.fullscreenEnabled=o)),o=s+"FullscreenElement",e(document[o])?t.fullscreenElement=o:(o=s+"FullScreenElement",e(document[o])&&(t.fullscreenElement=o)),o=s+"fullscreenchange",e(document["on"+o])&&("ms"===s&&(o="MSFullscreenChange"),t.fullscreenchange=o),o=s+"fullscreenerror",e(document["on"+o])&&("ms"===s&&(o="MSFullscreenError"),t.fullscreenerror=o)}return r},n.requestFullscreen=function(e){n.supportsFullscreen()&&e[t.requestFullscreen]()},n.exitFullscreen=function(){n.supportsFullscreen()&&document[t.exitFullscreen]()},n.isFullscreenEnabled=function(){return n.supportsFullscreen()?document[t.fullscreenEnabled]:void 0},n.getFullscreenElement=function(){return n.supportsFullscreen()?document[t.fullscreenElement]:void 0},n.isFullscreen=function(){return n.supportsFullscreen()?null!==n.getFullscreenElement():void 0},n.getFullscreenChangeEventName=function(){return n.supportsFullscreen()?t.fullscreenchange:void 0},n.getFullscreenErrorEventName=function(){return n.supportsFullscreen()?t.fullscreenerror:void 0},n}),define("Core/FeatureDetection",["./defined","./Fullscreen"],function(e,r){"use strict";function t(e){for(var r=e.split("."),t=0,n=r.length;n>t;++t)r[t]=parseInt(r[t],10);return r}function n(){if(!e(f)){var r=/ Chrome\/([\.0-9]+)/.exec(navigator.userAgent);null===r?f=!1:(f=!0,m=t(r[1]))}return f}function o(){return n()&&m}function i(){if(!e(y))if(n()||!/ Safari\/[\.0-9]+/.test(navigator.userAgent))y=!1;else{var r=/ Version\/([\.0-9]+)/.exec(navigator.userAgent);null===r?y=!1:(y=!0,h=t(r[1]))}return y}function a(){return i()&&h}function u(){if(!e(p)){var r=/ AppleWebKit\/([\.0-9]+)(\+?)/.exec(navigator.userAgent);null===r?p=!1:(p=!0,d=t(r[1]),d.isNightly=!!r[2])}return p}function s(){return u()&&d}function l(){if(!e(v)){var r;"Microsoft Internet Explorer"===navigator.appName?(r=/MSIE ([0-9]{1,}[\.0-9]{0,})/.exec(navigator.userAgent),null!==r&&(v=!0,g=t(r[1]))):"Netscape"===navigator.appName?(r=/Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/.exec(navigator.userAgent),null!==r&&(v=!0,g=t(r[1]))):v=!1}return v}function c(){return l()&&g}var f,m,y,h,p,d,v,g,E={isChrome:n,chromeVersion:o,isSafari:i,safariVersion:a,isWebkit:u,webkitVersion:s,isInternetExplorer:l,internetExplorerVersion:c};E.supportsFullscreen=function(){return r.supportsFullscreen()},E.supportsTypedArrays=function(){return"undefined"!=typeof ArrayBuffer};var C;return E.supportsTransferringArrayBuffers=function(){if(!e(C)){if(!E.supportsTypedArrays())return C=!1,void 0;var r=new ArrayBuffer(1);try{postMessage({value:r},[r]),C=!0}catch(t){C=!1}}return C},E}),define("Core/Enumeration",["./defined"],function(e){"use strict";var r=function(r,t,n){if(this.value=r,this.name=t,e(n))for(var o in n)n.hasOwnProperty(o)&&(this[o]=n[o])};return r.prototype.valueOf=function(){return this.value},r.prototype.toString=function(){return this.name},r}),define("Core/ComponentDatatype",["./defaultValue","./defined","./DeveloperError","./FeatureDetection","./Enumeration"],function(e,r,t,n,o){"use strict";if(!n.supportsTypedArrays())return{};var i={BYTE:new o(5120,"BYTE",{sizeInBytes:Int8Array.BYTES_PER_ELEMENT}),UNSIGNED_BYTE:new o(5121,"UNSIGNED_BYTE",{sizeInBytes:Uint8Array.BYTES_PER_ELEMENT}),SHORT:new o(5122,"SHORT",{sizeInBytes:Int16Array.BYTES_PER_ELEMENT}),UNSIGNED_SHORT:new o(5123,"UNSIGNED_SHORT",{sizeInBytes:Uint16Array.BYTES_PER_ELEMENT}),FLOAT:new o(5126,"FLOAT",{sizeInBytes:Float32Array.BYTES_PER_ELEMENT}),DOUBLE:new o(5130,"DOUBLE",{sizeInBytes:Float64Array.BYTES_PER_ELEMENT})};return i.validate=function(e){return r(e)&&r(e.value)&&(e.value===i.BYTE.value||e.value===i.UNSIGNED_BYTE.value||e.value===i.SHORT.value||e.value===i.UNSIGNED_SHORT.value||e.value===i.FLOAT.value||e.value===i.DOUBLE.value)},i.createTypedArray=function(e,r){switch(e.value){case i.BYTE.value:return new Int8Array(r);case i.UNSIGNED_BYTE.value:return new Uint8Array(r);case i.SHORT.value:return new Int16Array(r);case i.UNSIGNED_SHORT.value:return new Uint16Array(r);case i.FLOAT.value:return new Float32Array(r);case i.DOUBLE.value:return new Float64Array(r);default:throw new t("componentDatatype is not a valid enumeration value.")}},i.createArrayBufferView=function(r,n,o,a){switch(o=e(o,0),a=e(a,(n.byteLength-o)/r.sizeInBytes),r.value){case i.BYTE.value:return new Int8Array(n,o,a);case i.UNSIGNED_BYTE.value:return new Uint8Array(n,o,a);case i.SHORT.value:return new Int16Array(n,o,a);case i.UNSIGNED_SHORT.value:return new Uint16Array(n,o,a);case i.FLOAT.value:return new Float32Array(n,o,a);case i.DOUBLE.value:return new Float64Array(n,o,a);default:throw new t("componentDatatype is not a valid enumeration value.")}},i}),define("Core/PrimitiveType",[],function(){"use strict";var e={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,validate:function(r){return r===e.POINTS||r===e.LINES||r===e.LINE_LOOP||r===e.LINE_STRIP||r===e.TRIANGLES||r===e.TRIANGLE_STRIP||r===e.TRIANGLE_FAN}};return e}),define("ThirdParty/mersenne-twister",[],function(){var e=function(e){void 0==e&&(e=(new Date).getTime()),this.N=624,this.M=397,this.MATRIX_A=2567483615,this.UPPER_MASK=2147483648,this.LOWER_MASK=2147483647,this.mt=new Array(this.N),this.mti=this.N+1,this.init_genrand(e)};return e.prototype.init_genrand=function(e){for(this.mt[0]=e>>>0,this.mti=1;this.mti>>30;this.mt[this.mti]=(1812433253*((4294901760&e)>>>16)<<16)+1812433253*(65535&e)+this.mti,this.mt[this.mti]>>>=0}},e.prototype.genrand_int32=function(){var e,r=new Array(0,this.MATRIX_A);if(this.mti>=this.N){var t;for(this.mti==this.N+1&&this.init_genrand(5489),t=0;t>>1^r[1&e];for(;t>>1^r[1&e];e=this.mt[this.N-1]&this.UPPER_MASK|this.mt[0]&this.LOWER_MASK,this.mt[this.N-1]=this.mt[this.M-1]^e>>>1^r[1&e],this.mti=0}return e=this.mt[this.mti++],e^=e>>>11,e^=2636928640&e<<7,e^=4022730752&e<<15,e^=e>>>18,e>>>0},e.prototype.random=function(){return this.genrand_int32()*(1/4294967296)},e}),define("Core/Math",["./defaultValue","./defined","./DeveloperError","../ThirdParty/mersenne-twister"],function(e,r,t,n){"use strict";var o={};o.EPSILON1=.1,o.EPSILON2=.01,o.EPSILON3=.001,o.EPSILON4=1e-4,o.EPSILON5=1e-5,o.EPSILON6=1e-6,o.EPSILON7=1e-7,o.EPSILON8=1e-8,o.EPSILON9=1e-9,o.EPSILON10=1e-10,o.EPSILON11=1e-11,o.EPSILON12=1e-12,o.EPSILON13=1e-13,o.EPSILON14=1e-14,o.EPSILON15=1e-15,o.EPSILON16=1e-16,o.EPSILON17=1e-17,o.EPSILON18=1e-18,o.EPSILON19=1e-19,o.EPSILON20=1e-20,o.GRAVITATIONALPARAMETER=3986004418e5,o.SOLAR_RADIUS=6955e5,o.LUNAR_RADIUS=1737400,o.SIXTY_FOUR_KILOBYTES=65536,o.sign=function(e){return e>0?1:0>e?-1:0},o.sinh=function(e){var r=Math.pow(Math.E,e),t=Math.pow(Math.E,-1*e);return.5*(r-t)},o.cosh=function(e){var r=Math.pow(Math.E,e),t=Math.pow(Math.E,-1*e);return.5*(r+t)},o.lerp=function(e,r,t){return(1-t)*e+t*r},o.PI=Math.PI,o.ONE_OVER_PI=1/Math.PI,o.PI_OVER_TWO=.5*Math.PI,o.PI_OVER_THREE=Math.PI/3,o.PI_OVER_FOUR=Math.PI/4,o.PI_OVER_SIX=Math.PI/6,o.THREE_PI_OVER_TWO=.5*3*Math.PI,o.TWO_PI=2*Math.PI,o.ONE_OVER_TWO_PI=1/(2*Math.PI),o.RADIANS_PER_DEGREE=Math.PI/180,o.DEGREES_PER_RADIAN=180/Math.PI,o.RADIANS_PER_ARCSECOND=o.RADIANS_PER_DEGREE/3600,o.toRadians=function(e){return e*o.RADIANS_PER_DEGREE},o.toDegrees=function(e){return e*o.DEGREES_PER_RADIAN},o.convertLongitudeRange=function(e){var r=o.TWO_PI,t=e-Math.floor(e/r)*r;return t<-Math.PI?t+r:t>=Math.PI?t-r:t},o.negativePiToPi=function(e){for(var r=o.EPSILON10,t=o.PI,n=o.TWO_PI;-(t+r)>e;)e+=n;if(-t>e)return-t;for(;e>t+r;)e-=n;return e>t?t:e},o.zeroToTwoPi=function(e){var r=e%o.TWO_PI;return 0>r?(r+o.TWO_PI)%o.TWO_PI:r},o.equalsEpsilon=function(r,t,n){return n=e(n,0),Math.abs(r-t)<=n};var i=[1];o.factorial=function(e){var r=i.length;if(e>=r)for(var t=i[r-1],n=r;e>=n;n++)i.push(t*n);return i[e]},o.incrementWrap=function(r,t,n){return n=e(n,0),++r,r>t&&(r=n),r},o.isPowerOfTwo=function(e){return 0!==e&&0===(e&e-1)},o.nextPowerOfTwo=function(e){return--e,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,++e,e},o.clamp=function(e,r,t){return r>e?r:e>t?t:e};var a=new n;return o.setRandomNumberSeed=function(e){a=new n(e)},o.nextRandomNumber=function(){return a.random()},o}),define("Core/Cartographic",["./defaultValue","./defined","./DeveloperError","./freezeObject","./Math"],function(e,r,t,n,o){"use strict";var i=function(r,t,n){this.longitude=e(r,0),this.latitude=e(t,0),this.height=e(n,0)};return i.fromDegrees=function(t,n,a,u){return t=o.toRadians(e(t,0)),n=o.toRadians(e(n,0)),a=e(a,0),r(u)?(u.longitude=t,u.latitude=n,u.height=a,u):new i(t,n,a)},i.clone=function(e,t){return r(e)?r(t)?(t.longitude=e.longitude,t.latitude=e.latitude,t.height=e.height,t):new i(e.longitude,e.latitude,e.height):void 0},i.equals=function(e,t){return e===t||r(e)&&r(t)&&e.longitude===t.longitude&&e.latitude===t.latitude&&e.height===t.height},i.equalsEpsilon=function(e,t,n){return e===t||r(e)&&r(t)&&Math.abs(e.longitude-t.longitude)<=n&&Math.abs(e.latitude-t.latitude)<=n&&Math.abs(e.height-t.height)<=n},i.toString=function(e){return"("+e.longitude+", "+e.latitude+", "+e.height+")"},i.ZERO=n(new i(0,0,0)),i.prototype.clone=function(e){return i.clone(this,e)},i.prototype.equals=function(e){return i.equals(this,e)},i.prototype.equalsEpsilon=function(e,r){return i.equalsEpsilon(this,e,r)},i.prototype.toString=function(){return i.toString(this)},i}),define("Core/defineProperties",["./defined"],function(e){"use strict";var r=function(){try{return"x"in Object.defineProperty({},"x",{})}catch(e){return!1}}(),t=Object.defineProperties;return r&&e(t)||(t=function(e){return e}),t}),define("Core/Ellipsoid",["./freezeObject","./defaultValue","./defined","./defineProperties","./DeveloperError","./Math","./Cartesian3","./Cartographic"],function(e,r,t,n,o,i,a,u){"use strict";var s=function(e,t,n){e=r(e,0),t=r(t,0),n=r(n,0),this._radii=new a(e,t,n),this._radiiSquared=new a(e*e,t*t,n*n),this._radiiToTheFourth=new a(e*e*e*e,t*t*t*t,n*n*n*n),this._oneOverRadii=new a(0===e?0:1/e,0===t?0:1/t,0===n?0:1/n),this._oneOverRadiiSquared=new a(0===e?0:1/(e*e),0===t?0:1/(t*t),0===n?0:1/(n*n)),this._minimumRadius=Math.min(e,t,n),this._maximumRadius=Math.max(e,t,n),this._centerToleranceSquared=i.EPSILON1};n(s.prototype,{radii:{get:function(){return this._radii}},radiiSquared:{get:function(){return this._radiiSquared}},radiiToTheFourth:{get:function(){return this._radiiToTheFourth}},oneOverRadii:{get:function(){return this._oneOverRadii}},oneOverRadiiSquared:{get:function(){return this._oneOverRadiiSquared}},minimumRadius:{get:function(){return this._minimumRadius}},maximumRadius:{get:function(){return this._maximumRadius}}}),s.clone=function(e,r){if(!t(e))return void 0;var n=e._radii;return t(r)?(a.clone(n,r._radii),a.clone(e._radiiSquared,r._radiiSquared),a.clone(e._radiiToTheFourth,r._radiiToTheFourth),a.clone(e._oneOverRadii,r._oneOverRadii),a.clone(e._oneOverRadiiSquared,r._oneOverRadiiSquared),r._minimumRadius=e._minimumRadius,r._maximumRadius=e._maximumRadius,r._centerToleranceSquared=e._centerToleranceSquared,r):new s(n.x,n.y,n.z)},s.fromCartesian3=function(e){return t(e)?new s(e.x,e.y,e.z):new s},s.WGS84=e(new s(6378137,6378137,6356752.314245179)),s.UNIT_SPHERE=e(new s(1,1,1)),s.MOON=e(new s(i.LUNAR_RADIUS,i.LUNAR_RADIUS,i.LUNAR_RADIUS)),s.prototype.clone=function(e){return s.clone(this,e)},s.prototype.geocentricSurfaceNormal=a.normalize,s.prototype.geodeticSurfaceNormalCartographic=function(e,r){var n=e.longitude,o=e.latitude,i=Math.cos(o),u=i*Math.cos(n),s=i*Math.sin(n),l=Math.sin(o);return t(r)||(r=new a),r.x=u,r.y=s,r.z=l,a.normalize(r,r)},s.prototype.geodeticSurfaceNormal=function(e,r){return r=a.multiplyComponents(e,this._oneOverRadiiSquared,r),a.normalize(r,r)};var l=new a,c=new a;s.prototype.cartographicToCartesian=function(e,r){var t=l,n=c;this.geodeticSurfaceNormalCartographic(e,t),a.multiplyComponents(this._radiiSquared,t,n);var o=Math.sqrt(a.dot(t,n));return a.divideByScalar(n,o,n),a.multiplyByScalar(t,e.height,t),a.add(n,t,r)},s.prototype.cartographicArrayToCartesianArray=function(e,r){var n=e.length;t(r)?r.length=n:r=new Array(n);for(var o=0;n>o;o++)r[o]=this.cartographicToCartesian(e[o],r[o]);return r};var f=new a,m=new a,y=new a;s.prototype.cartesianToCartographic=function(e,r){var n=this.scaleToGeodeticSurface(e,m);if(!t(n))return void 0;var o=this.geodeticSurfaceNormal(n,f),s=a.subtract(e,n,y),l=Math.atan2(o.y,o.x),c=Math.asin(o.z),h=i.sign(a.dot(s,e))*a.magnitude(s);return t(r)?(r.longitude=l,r.latitude=c,r.height=h,r):new u(l,c,h)},s.prototype.cartesianArrayToCartographicArray=function(e,r){var n=e.length;t(r)?r.length=n:r=new Array(n);for(var o=0;n>o;++o)r[o]=this.cartesianToCartographic(e[o],r[o]);return r};var h=new a,p=new a;return s.prototype.scaleToGeodeticSurface=function(e,r){var n=e.x,o=e.y,u=e.z,s=this._oneOverRadii,l=s.x,c=s.y,f=s.z,m=n*n*l*l,y=o*o*c*c,d=u*u*f*f,v=m+y+d,g=Math.sqrt(1/v),E=a.multiplyByScalar(e,g,h);if(vi.EPSILON12);return t(r)?(r.x=n*T,r.y=o*O,r.z=u*I,r):new a(n*T,o*O,u*I)},s.prototype.scaleToGeocentricSurface=function(e,r){var t=e.x,n=e.y,o=e.z,i=this._oneOverRadiiSquared,u=1/Math.sqrt(t*t*i.x+n*n*i.y+o*o*i.z);return a.multiplyByScalar(e,u,r)},s.prototype.transformPositionToScaledSpace=function(e,r){return a.multiplyComponents(e,this._oneOverRadii,r)},s.prototype.transformPositionFromScaledSpace=function(e,r){return a.multiplyComponents(e,this._radii,r)},s.prototype.equals=function(e){return this===e||t(e)&&a.equals(this._radii,e._radii)},s.prototype.toString=function(){return this._radii.toString()},s}),define("Core/GeographicProjection",["./defaultValue","./defined","./defineProperties","./Cartesian3","./Cartographic","./Ellipsoid"],function(e,r,t,n,o,i){"use strict";var a=function(r){this._ellipsoid=e(r,i.WGS84),this._semimajorAxis=this._ellipsoid.maximumRadius,this._oneOverSemimajorAxis=1/this._semimajorAxis};return t(a.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}}),a.prototype.project=function(e,t){var o=this._semimajorAxis,i=e.longitude*o,a=e.latitude*o,u=e.height;return r(t)?(t.x=i,t.y=a,t.z=u,t):new n(i,a,u)},a.prototype.unproject=function(e,t){var n=this._oneOverSemimajorAxis,i=e.x*n,a=e.y*n,u=e.z;return r(t)?(t.longitude=i,t.latitude=a,t.height=u,t):new o(i,a,u)},a}),define("Core/Intersect",["./Enumeration"],function(e){"use strict";var r={OUTSIDE:new e(-1,"OUTSIDE"),INTERSECTING:new e(0,"INTERSECTING"),INSIDE:new e(1,"INSIDE")};return r}),define("Core/Interval",["./defaultValue"],function(e){"use strict";var r=function(r,t){this.start=e(r,0),this.stop=e(t,0)};return r}),define("Core/Cartesian4",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,r,t,n){"use strict";var o=function(r,t,n,o){this.x=e(r,0),this.y=e(t,0),this.z=e(n,0),this.w=e(o,0)};o.fromElements=function(e,t,n,i,a){return r(a)?(a.x=e,a.y=t,a.z=n,a.w=i,a):new o(e,t,n,i)},o.clone=function(e,t){return r(e)?r(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t):new o(e.x,e.y,e.z,e.w):void 0},o.packedLength=4,o.pack=function(r,t,n){n=e(n,0),t[n++]=r.x,t[n++]=r.y,t[n++]=r.z,t[n]=r.w},o.unpack=function(t,n,i){return n=e(n,0),r(i)||(i=new o),i.x=t[n++],i.y=t[n++],i.z=t[n++],i.w=t[n],i},o.fromArray=o.unpack,o.getMaximumComponent=function(e){return Math.max(e.x,e.y,e.z,e.w)},o.getMinimumComponent=function(e){return Math.min(e.x,e.y,e.z,e.w)},o.getMinimumByComponent=function(e,t,n){return r(n)||(n=new o),n.x=Math.min(e.x,t.x),n.y=Math.min(e.y,t.y),n.z=Math.min(e.z,t.z),n.w=Math.min(e.w,t.w),n},o.getMaximumByComponent=function(e,t,n){return r(n)||(n=new o),n.x=Math.max(e.x,t.x),n.y=Math.max(e.y,t.y),n.z=Math.max(e.z,t.z),n.w=Math.max(e.w,t.w),n},o.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w},o.magnitude=function(e){return Math.sqrt(o.magnitudeSquared(e))};var i=new o;o.distance=function(e,r){return o.subtract(e,r,i),o.magnitude(i)},o.normalize=function(e,t){var n=o.magnitude(e);return r(t)?(t.x=e.x/n,t.y=e.y/n,t.z=e.z/n,t.w=e.w/n,t):new o(e.x/n,e.y/n,e.z/n,e.w/n)},o.dot=function(e,r){return e.x*r.x+e.y*r.y+e.z*r.z+e.w*r.w},o.multiplyComponents=function(e,t,n){return r(n)?(n.x=e.x*t.x,n.y=e.y*t.y,n.z=e.z*t.z,n.w=e.w*t.w,n):new o(e.x*t.x,e.y*t.y,e.z*t.z,e.w*t.w)},o.add=function(e,t,n){return r(n)?(n.x=e.x+t.x,n.y=e.y+t.y,n.z=e.z+t.z,n.w=e.w+t.w,n):new o(e.x+t.x,e.y+t.y,e.z+t.z,e.w+t.w)},o.subtract=function(e,t,n){return r(n)?(n.x=e.x-t.x,n.y=e.y-t.y,n.z=e.z-t.z,n.w=e.w-t.w,n):new o(e.x-t.x,e.y-t.y,e.z-t.z,e.w-t.w)},o.multiplyByScalar=function(e,t,n){return r(n)?(n.x=e.x*t,n.y=e.y*t,n.z=e.z*t,n.w=e.w*t,n):new o(e.x*t,e.y*t,e.z*t,e.w*t)},o.divideByScalar=function(e,t,n){return r(n)?(n.x=e.x/t,n.y=e.y/t,n.z=e.z/t,n.w=e.w/t,n):new o(e.x/t,e.y/t,e.z/t,e.w/t)},o.negate=function(e,t){return r(t)?(t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=-e.w,t):new o(-e.x,-e.y,-e.z,-e.w)},o.abs=function(e,t){return r(t)?(t.x=Math.abs(e.x),t.y=Math.abs(e.y),t.z=Math.abs(e.z),t.w=Math.abs(e.w),t):new o(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z),Math.abs(e.w))};var a=new o;o.lerp=function(e,r,t,n){return o.multiplyByScalar(r,t,a),n=o.multiplyByScalar(e,1-t,n),o.add(a,n,n)};var u=new o;return o.mostOrthogonalAxis=function(e,r){var t=o.normalize(e,u);return o.abs(t,t),r=t.x<=t.y?t.x<=t.z?t.x<=t.w?o.clone(o.UNIT_X,r):o.clone(o.UNIT_W,r):t.z<=t.w?o.clone(o.UNIT_Z,r):o.clone(o.UNIT_W,r):t.y<=t.z?t.y<=t.w?o.clone(o.UNIT_Y,r):o.clone(o.UNIT_W,r):t.z<=t.w?o.clone(o.UNIT_Z,r):o.clone(o.UNIT_W,r)},o.equals=function(e,t){return e===t||r(e)&&r(t)&&e.x===t.x&&e.y===t.y&&e.z===t.z&&e.w===t.w},o.equalsEpsilon=function(e,t,n){return e===t||r(e)&&r(t)&&Math.abs(e.x-t.x)<=n&&Math.abs(e.y-t.y)<=n&&Math.abs(e.z-t.z)<=n&&Math.abs(e.w-t.w)<=n},o.ZERO=n(new o(0,0,0,0)),o.UNIT_X=n(new o(1,0,0,0)),o.UNIT_Y=n(new o(0,1,0,0)),o.UNIT_Z=n(new o(0,0,1,0)),o.UNIT_W=n(new o(0,0,0,1)),o.prototype.clone=function(e){return o.clone(this,e)},o.prototype.equals=function(e){return o.equals(this,e)},o.prototype.equalsEpsilon=function(e,r){return o.equalsEpsilon(this,e,r)},o.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+", "+this.w+")"},o}),define("Core/Matrix3",["./Cartesian3","./defaultValue","./defined","./DeveloperError","./freezeObject","./Math"],function(e,r,t,n,o,i){"use strict";function a(e){for(var r=0,t=0;9>t;++t){var n=e[t];r+=n*n}return Math.sqrt(r)}function u(e){for(var r=0,t=0;3>t;++t){var n=e[l.getElementIndex(f[t],c[t])];r+=2*n*n}return Math.sqrt(r)}function s(e,r){for(var t=i.EPSILON15,n=0,o=1,a=0;3>a;++a){var u=Math.abs(e[l.getElementIndex(f[a],c[a])]);u>n&&(o=a,n=u)}var s=1,m=0,y=c[o],h=f[o];if(Math.abs(e[l.getElementIndex(h,y)])>t){var p,d=e[l.getElementIndex(h,h)],v=e[l.getElementIndex(y,y)],g=e[l.getElementIndex(h,y)],E=(d-v)/2/g;p=0>E?-1/(-E+Math.sqrt(1+E*E)):1/(E+Math.sqrt(1+E*E)),s=1/Math.sqrt(1+p*p),m=p*s}return r=l.clone(l.IDENTITY,r),r[l.getElementIndex(y,y)]=r[l.getElementIndex(h,h)]=s,r[l.getElementIndex(h,y)]=m,r[l.getElementIndex(y,h)]=-m,r}var l=function(e,t,n,o,i,a,u,s,l){this[0]=r(e,0),this[1]=r(o,0),this[2]=r(u,0),this[3]=r(t,0),this[4]=r(i,0),this[5]=r(s,0),this[6]=r(n,0),this[7]=r(a,0),this[8]=r(l,0)};l.clone=function(e,r){return t(e)?t(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r):new l(e[0],e[3],e[6],e[1],e[4],e[7],e[2],e[5],e[8]):void 0},l.fromArray=function(e,n,o){return n=r(n,0),t(o)||(o=new l),o[0]=e[n],o[1]=e[n+1],o[2]=e[n+2],o[3]=e[n+3],o[4]=e[n+4],o[5]=e[n+5],o[6]=e[n+6],o[7]=e[n+7],o[8]=e[n+8],o[9]=e[n+9],o},l.fromColumnMajorArray=function(e,r){return l.clone(e,r)},l.fromRowMajorArray=function(e,r){return t(r)?(r[0]=e[0],r[1]=e[3],r[2]=e[6],r[3]=e[1],r[4]=e[4],r[5]=e[7],r[6]=e[2],r[7]=e[5],r[8]=e[8],r):new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])},l.fromQuaternion=function(e,r){var n=e.x*e.x,o=e.x*e.y,i=e.x*e.z,a=e.x*e.w,u=e.y*e.y,s=e.y*e.z,c=e.y*e.w,f=e.z*e.z,m=e.z*e.w,y=e.w*e.w,h=n-u-f+y,p=2*(o-m),d=2*(i+c),v=2*(o+m),g=-n+u-f+y,E=2*(s-a),C=2*(i-c),S=2*(s+a),w=-n-u+f+y;return t(r)?(r[0]=h,r[1]=v,r[2]=C,r[3]=p,r[4]=g,r[5]=S,r[6]=d,r[7]=E,r[8]=w,r):new l(h,p,d,v,g,E,C,S,w)},l.fromScale=function(e,r){return t(r)?(r[0]=e.x,r[1]=0,r[2]=0,r[3]=0,r[4]=e.y,r[5]=0,r[6]=0,r[7]=0,r[8]=e.z,r):new l(e.x,0,0,0,e.y,0,0,0,e.z)},l.fromUniformScale=function(e,r){return t(r)?(r[0]=e,r[1]=0,r[2]=0,r[3]=0,r[4]=e,r[5]=0,r[6]=0,r[7]=0,r[8]=e,r):new l(e,0,0,0,e,0,0,0,e)},l.fromRotationX=function(e,r){var n=Math.cos(e),o=Math.sin(e);return t(r)?(r[0]=1,r[1]=0,r[2]=0,r[3]=0,r[4]=n,r[5]=o,r[6]=0,r[7]=-o,r[8]=n,r):new l(1,0,0,0,n,-o,0,o,n)},l.fromRotationY=function(e,r){var n=Math.cos(e),o=Math.sin(e);return t(r)?(r[0]=n,r[1]=0,r[2]=-o,r[3]=0,r[4]=1,r[5]=0,r[6]=o,r[7]=0,r[8]=n,r):new l(n,0,o,0,1,0,-o,0,n)},l.fromRotationZ=function(e,r){var n=Math.cos(e),o=Math.sin(e);return t(r)?(r[0]=n,r[1]=o,r[2]=0,r[3]=-o,r[4]=n,r[5]=0,r[6]=0,r[7]=0,r[8]=1,r):new l(n,-o,0,o,n,0,0,0,1)},l.toArray=function(e,r){return t(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8]]},l.getElementIndex=function(e,r){return 3*e+r},l.getColumn=function(r,n,o){var i=3*n,a=r[i],u=r[i+1],s=r[i+2];return t(o)?(o.x=a,o.y=u,o.z=s,o):new e(a,u,s)},l.setColumn=function(e,r,t,n){n=l.clone(e,n);var o=3*r;return n[o]=t.x,n[o+1]=t.y,n[o+2]=t.z,n},l.getRow=function(r,n,o){var i=r[n],a=r[n+3],u=r[n+6];return t(o)?(o.x=i,o.y=a,o.z=u,o):new e(i,a,u)},l.setRow=function(e,r,t,n){return n=l.clone(e,n),n[r]=t.x,n[r+3]=t.y,n[r+6]=t.z,n},l.multiply=function(e,r,n){var o=e[0]*r[0]+e[3]*r[1]+e[6]*r[2],i=e[1]*r[0]+e[4]*r[1]+e[7]*r[2],a=e[2]*r[0]+e[5]*r[1]+e[8]*r[2],u=e[0]*r[3]+e[3]*r[4]+e[6]*r[5],s=e[1]*r[3]+e[4]*r[4]+e[7]*r[5],c=e[2]*r[3]+e[5]*r[4]+e[8]*r[5],f=e[0]*r[6]+e[3]*r[7]+e[6]*r[8],m=e[1]*r[6]+e[4]*r[7]+e[7]*r[8],y=e[2]*r[6]+e[5]*r[7]+e[8]*r[8];return t(n)?(n[0]=o,n[1]=i,n[2]=a,n[3]=u,n[4]=s,n[5]=c,n[6]=f,n[7]=m,n[8]=y,n):new l(o,u,f,i,s,m,a,c,y)},l.multiplyByVector=function(r,n,o){var i=n.x,a=n.y,u=n.z,s=r[0]*i+r[3]*a+r[6]*u,l=r[1]*i+r[4]*a+r[7]*u,c=r[2]*i+r[5]*a+r[8]*u;return t(o)?(o.x=s,o.y=l,o.z=c,o):new e(s,l,c)},l.multiplyByScalar=function(e,r,n){return t(n)?(n[0]=e[0]*r,n[1]=e[1]*r,n[2]=e[2]*r,n[3]=e[3]*r,n[4]=e[4]*r,n[5]=e[5]*r,n[6]=e[6]*r,n[7]=e[7]*r,n[8]=e[8]*r,n):new l(e[0]*r,e[3]*r,e[6]*r,e[1]*r,e[4]*r,e[7]*r,e[2]*r,e[5]*r,e[8]*r)},l.negate=function(e,r){return t(r)?(r[0]=-e[0],r[1]=-e[1],r[2]=-e[2],r[3]=-e[3],r[4]=-e[4],r[5]=-e[5],r[6]=-e[6],r[7]=-e[7],r[8]=-e[8],r):new l(-e[0],-e[3],-e[6],-e[1],-e[4],-e[7],-e[2],-e[5],-e[8])},l.transpose=function(e,r){var n=e[0],o=e[3],i=e[6],a=e[1],u=e[4],s=e[7],c=e[2],f=e[5],m=e[8];return t(r)?(r[0]=n,r[1]=o,r[2]=i,r[3]=a,r[4]=u,r[5]=s,r[6]=c,r[7]=f,r[8]=m,r):new l(n,a,c,o,u,f,i,s,m)};var c=[1,0,0],f=[2,2,1],m=new l,y=new l;return l.getEigenDecomposition=function(e,r){var n=i.EPSILON20,o=10,c=0,f=0;t(r)||(r={});for(var h=r.unitary=l.clone(l.IDENTITY,r.unitary),p=r.diagonal=l.clone(e,r.diagonal),d=n*a(p);o>f&&u(p)>d;)s(p,m),l.transpose(m,y),l.multiply(p,m,p),l.multiply(y,p,p),l.multiply(h,m,h),++c>2&&(++f,c=0);return r},l.abs=function(e,r){return t(r)?(r[0]=Math.abs(e[0]),r[1]=Math.abs(e[1]),r[2]=Math.abs(e[2]),r[3]=Math.abs(e[3]),r[4]=Math.abs(e[4]),r[5]=Math.abs(e[5]),r[6]=Math.abs(e[6]),r[7]=Math.abs(e[7]),r[8]=Math.abs(e[8]),r):new l(Math.abs(e[0]),Math.abs(e[3]),Math.abs(e[6]),Math.abs(e[1]),Math.abs(e[4]),Math.abs(e[7]),Math.abs(e[2]),Math.abs(e[5]),Math.abs(e[8]))},l.determinant=function(e){var r=e[0],t=e[3],n=e[6],o=e[1],i=e[4],a=e[7],u=e[2],s=e[5],l=e[8];return r*(i*l-s*a)+o*(s*n-t*l)+u*(t*a-i*n)},l.inverse=function(e,r){var t=e[0],o=e[1],a=e[2],u=e[3],s=e[4],c=e[5],f=e[6],m=e[7],y=e[8],h=l.determinant(e);if(Math.abs(h)<=i.EPSILON15)throw new n("matrix is not invertible");var p=new l(s*y-m*c,f*c-u*y,u*m-f*s,m*a-o*y,t*y-f*a,f*o-t*m,o*c-s*a,u*a-t*c,t*s-u*o),d=1/h;return l.multiplyByScalar(p,d,r)},l.equals=function(e,r){return e===r||t(e)&&t(r)&&e[0]===r[0]&&e[1]===r[1]&&e[2]===r[2]&&e[3]===r[3]&&e[4]===r[4]&&e[5]===r[5]&&e[6]===r[6]&&e[7]===r[7]&&e[8]===r[8]},l.equalsEpsilon=function(e,r,n){return e===r||t(e)&&t(r)&&Math.abs(e[0]-r[0])<=n&&Math.abs(e[1]-r[1])<=n&&Math.abs(e[2]-r[2])<=n&&Math.abs(e[3]-r[3])<=n&&Math.abs(e[4]-r[4])<=n&&Math.abs(e[5]-r[5])<=n&&Math.abs(e[6]-r[6])<=n&&Math.abs(e[7]-r[7])<=n&&Math.abs(e[8]-r[8])<=n},l.IDENTITY=o(new l(1,0,0,0,1,0,0,0,1)),l.COLUMN0ROW0=0,l.COLUMN0ROW1=1,l.COLUMN0ROW2=2,l.COLUMN1ROW0=3,l.COLUMN1ROW1=4,l.COLUMN1ROW2=5,l.COLUMN2ROW0=6,l.COLUMN2ROW1=7,l.COLUMN2ROW2=8,l.prototype.clone=function(e){return l.clone(this,e)},l.prototype.equals=function(e){return l.equals(this,e)},l.prototype.equalsEpsilon=function(e,r){return l.equalsEpsilon(this,e,r)},l.prototype.toString=function(){return"("+this[0]+", "+this[3]+", "+this[6]+")\n"+"("+this[1]+", "+this[4]+", "+this[7]+")\n"+"("+this[2]+", "+this[5]+", "+this[8]+")"},l}),define("Core/RuntimeError",["./defined"],function(e){"use strict";var r=function(e){this.name="RuntimeError",this.message=e;var r;try{throw new Error}catch(t){r=t.stack}this.stack=r};return r.prototype.toString=function(){var r=this.name+": "+this.message;return e(this.stack)&&(r+="\n"+this.stack.toString()),r},r}),define("Core/Matrix4",["./Cartesian3","./Cartesian4","./defaultValue","./defined","./DeveloperError","./freezeObject","./Math","./Matrix3","./RuntimeError"],function(e,r,t,n,o,i,a,u,s){"use strict";var l=function(e,r,n,o,i,a,u,s,l,c,f,m,y,h,p,d){this[0]=t(e,0),this[1]=t(i,0),this[2]=t(l,0),this[3]=t(y,0),this[4]=t(r,0),this[5]=t(a,0),this[6]=t(c,0),this[7]=t(h,0),this[8]=t(n,0),this[9]=t(u,0),this[10]=t(f,0),this[11]=t(p,0),this[12]=t(o,0),this[13]=t(s,0),this[14]=t(m,0),this[15]=t(d,0)};l.clone=function(e,r){return n(e)?n(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r[9]=e[9],r[10]=e[10],r[11]=e[11],r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15],r):new l(e[0],e[4],e[8],e[12],e[1],e[5],e[9],e[13],e[2],e[6],e[10],e[14],e[3],e[7],e[11],e[15]):void 0},l.fromArray=function(e,r,o){return r=t(r,0),n(o)||(o=new l),o[0]=e[r],o[1]=e[r+1],o[2]=e[r+2],o[3]=e[r+3],o[4]=e[r+4],o[5]=e[r+5],o[6]=e[r+6],o[7]=e[r+7],o[8]=e[r+8],o[9]=e[r+9],o[10]=e[r+10],o[11]=e[r+11],o[12]=e[r+12],o[13]=e[r+13],o[14]=e[r+14],o[15]=e[r+15],o +},l.fromColumnMajorArray=function(e,r){return l.clone(e,r)},l.fromRowMajorArray=function(e,r){return n(r)?(r[0]=e[0],r[1]=e[4],r[2]=e[8],r[3]=e[12],r[4]=e[1],r[5]=e[5],r[6]=e[9],r[7]=e[13],r[8]=e[2],r[9]=e[6],r[10]=e[10],r[11]=e[14],r[12]=e[3],r[13]=e[7],r[14]=e[11],r[15]=e[15],r):new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])},l.fromRotationTranslation=function(e,r,t){return n(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=0,t[4]=e[3],t[5]=e[4],t[6]=e[5],t[7]=0,t[8]=e[6],t[9]=e[7],t[10]=e[8],t[11]=0,t[12]=r.x,t[13]=r.y,t[14]=r.z,t[15]=1,t):new l(e[0],e[3],e[6],r.x,e[1],e[4],e[7],r.y,e[2],e[5],e[8],r.z,0,0,0,1)},new u,l.fromTranslationQuaternionRotationScale=function(e,r,t,o){n(o)||(o=new l);var i=t.x,a=t.y,u=t.z,s=r.x*r.x,c=r.x*r.y,f=r.x*r.z,m=r.x*r.w,y=r.y*r.y,h=r.y*r.z,p=r.y*r.w,d=r.z*r.z,v=r.z*r.w,g=r.w*r.w,E=s-y-d+g,C=2*(c-v),S=2*(f+p),w=2*(c+v),x=-s+y-d+g,A=2*(h-m),M=2*(f-p),b=2*(h+m),T=-s-y+d+g;return o[0]=E*i,o[1]=w*i,o[2]=M*i,o[3]=0,o[4]=C*a,o[5]=x*a,o[6]=b*a,o[7]=0,o[8]=S*u,o[9]=A*u,o[10]=T*u,o[11]=0,o[12]=e.x,o[13]=e.y,o[14]=e.z,o[15]=1,o},l.fromTranslation=function(e,r){return l.fromRotationTranslation(u.IDENTITY,e,r)},l.fromScale=function(e,r){return n(r)?(r[0]=e.x,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=e.y,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=e.z,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r):new l(e.x,0,0,0,0,e.y,0,0,0,0,e.z,0,0,0,0,1)},l.fromUniformScale=function(e,r){return n(r)?(r[0]=e,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=e,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=e,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r):new l(e,0,0,0,0,e,0,0,0,0,e,0,0,0,0,1)};var c=new e,f=new e,m=new e;l.fromCamera=function(r,t){var o=r.eye,i=r.target,a=r.up;e.normalize(e.subtract(i,o,c),c),e.normalize(e.cross(c,a,f),f),e.normalize(e.cross(f,c,m),m);var u=f.x,s=f.y,y=f.z,h=c.x,p=c.y,d=c.z,v=m.x,g=m.y,E=m.z,C=o.x,S=o.y,w=o.z,x=u*-C+s*-S+y*-w,A=v*-C+g*-S+E*-w,M=h*C+p*S+d*w;return n(t)?(t[0]=u,t[1]=v,t[2]=-h,t[3]=0,t[4]=s,t[5]=g,t[6]=-p,t[7]=0,t[8]=y,t[9]=E,t[10]=-d,t[11]=0,t[12]=x,t[13]=A,t[14]=M,t[15]=1,t):new l(u,s,y,x,v,g,E,A,-h,-p,-d,M,0,0,0,1)},l.computePerspectiveFieldOfView=function(e,r,t,o,i){var a=Math.tan(.5*e),u=1/a,s=u/r,c=(o+t)/(t-o),f=2*o*t/(t-o);return n(i)?(i[0]=s,i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=u,i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=c,i[11]=-1,i[12]=0,i[13]=0,i[14]=f,i[15]=0,i):new l(s,0,0,0,0,u,0,0,0,0,c,f,0,0,-1,0)},l.computeOrthographicOffCenter=function(e,r,t,o,i,a,u){var s=1/(r-e),c=1/(o-t),f=1/(a-i),m=-(r+e)*s,y=-(o+t)*c,h=-(a+i)*f;return s*=2,c*=2,f*=-2,n(u)?(u[0]=s,u[1]=0,u[2]=0,u[3]=0,u[4]=0,u[5]=c,u[6]=0,u[7]=0,u[8]=0,u[9]=0,u[10]=f,u[11]=0,u[12]=m,u[13]=y,u[14]=h,u[15]=1,u):new l(s,0,0,m,0,c,0,y,0,0,f,h,0,0,0,1)},l.computePerspectiveOffCenter=function(e,r,t,o,i,a,u){var s=2*i/(r-e),c=2*i/(o-t),f=(r+e)/(r-e),m=(o+t)/(o-t),y=-(a+i)/(a-i),h=-1,p=-2*a*i/(a-i);return n(u)?(u[0]=s,u[1]=0,u[2]=0,u[3]=0,u[4]=0,u[5]=c,u[6]=0,u[7]=0,u[8]=f,u[9]=m,u[10]=y,u[11]=h,u[12]=0,u[13]=0,u[14]=p,u[15]=0,u):new l(s,0,f,0,0,c,m,0,0,0,y,p,0,0,h,0)},l.computeInfinitePerspectiveOffCenter=function(e,r,t,o,i,a){var u=2*i/(r-e),s=2*i/(o-t),c=(r+e)/(r-e),f=(o+t)/(o-t),m=-1,y=-1,h=-2*i;return n(a)?(a[0]=u,a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=s,a[6]=0,a[7]=0,a[8]=c,a[9]=f,a[10]=m,a[11]=y,a[12]=0,a[13]=0,a[14]=h,a[15]=0,a):new l(u,0,c,0,0,s,f,0,0,0,m,h,0,0,y,0)},l.computeViewportTransformation=function(e,r,o,i){e=t(e,t.EMPTY_OBJECT);var a=t(e.x,0),u=t(e.y,0),s=t(e.width,0),c=t(e.height,0);r=t(r,0),o=t(o,1);var f=.5*s,m=.5*c,y=.5*(o-r),h=f,p=m,d=y,v=a+f,g=u+m,E=r+y,C=1;return n(i)?(i[0]=h,i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=p,i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=d,i[11]=0,i[12]=v,i[13]=g,i[14]=E,i[15]=C,i):new l(h,0,0,v,0,p,0,g,0,0,d,E,0,0,0,C)},l.toArray=function(e,r){return n(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r[9]=e[9],r[10]=e[10],r[11]=e[11],r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15],r):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]]},l.getElementIndex=function(e,r){return 4*e+r},l.getColumn=function(e,t,o){var i=4*t,a=e[i],u=e[i+1],s=e[i+2],l=e[i+3];return n(o)?(o.x=a,o.y=u,o.z=s,o.w=l,o):new r(a,u,s,l)},l.setColumn=function(e,r,t,n){n=l.clone(e,n);var o=4*r;return n[o]=t.x,n[o+1]=t.y,n[o+2]=t.z,n[o+3]=t.w,n},l.getRow=function(e,t,o){var i=e[t],a=e[t+4],u=e[t+8],s=e[t+12];return n(o)?(o.x=i,o.y=a,o.z=u,o.w=s,o):new r(i,a,u,s)},l.setRow=function(e,r,t,n){return n=l.clone(e,n),n[r]=t.x,n[r+4]=t.y,n[r+8]=t.z,n[r+12]=t.w,n},l.multiply=function(e,r,t){var o=e[0],i=e[1],a=e[2],u=e[3],s=e[4],c=e[5],f=e[6],m=e[7],y=e[8],h=e[9],p=e[10],d=e[11],v=e[12],g=e[13],E=e[14],C=e[15],S=r[0],w=r[1],x=r[2],A=r[3],M=r[4],b=r[5],T=r[6],O=r[7],I=r[8],N=r[9],R=r[10],z=r[11],L=r[12],F=r[13],D=r[14],P=r[15],B=o*S+s*w+y*x+v*A,_=i*S+c*w+h*x+g*A,U=a*S+f*w+p*x+E*A,G=u*S+m*w+d*x+C*A,q=o*M+s*b+y*T+v*O,Y=i*M+c*b+h*T+g*O,W=a*M+f*b+p*T+E*O,V=u*M+m*b+d*T+C*O,H=o*I+s*N+y*R+v*z,k=i*I+c*N+h*R+g*z,K=a*I+f*N+p*R+E*z,j=u*I+m*N+d*R+C*z,Z=o*L+s*F+y*D+v*P,Q=i*L+c*F+h*D+g*P,X=a*L+f*F+p*D+E*P,J=u*L+m*F+d*D+C*P;return n(t)?(t[0]=B,t[1]=_,t[2]=U,t[3]=G,t[4]=q,t[5]=Y,t[6]=W,t[7]=V,t[8]=H,t[9]=k,t[10]=K,t[11]=j,t[12]=Z,t[13]=Q,t[14]=X,t[15]=J,t):new l(B,q,H,Z,_,Y,k,Q,U,W,K,X,G,V,j,J)},l.multiplyTransformation=function(e,r,t){var o=e[0],i=e[1],a=e[2],u=e[4],s=e[5],c=e[6],f=e[8],m=e[9],y=e[10],h=e[12],p=e[13],d=e[14],v=r[0],g=r[1],E=r[2],C=r[4],S=r[5],w=r[6],x=r[8],A=r[9],M=r[10],b=r[12],T=r[13],O=r[14],I=o*v+u*g+f*E,N=i*v+s*g+m*E,R=a*v+c*g+y*E,z=o*C+u*S+f*w,L=i*C+s*S+m*w,F=a*C+c*S+y*w,D=o*x+u*A+f*M,P=i*x+s*A+m*M,B=a*x+c*A+y*M,_=o*b+u*T+f*O+h,U=i*b+s*T+m*O+p,G=a*b+c*T+y*O+d;return n(t)?(t[0]=I,t[1]=N,t[2]=R,t[3]=0,t[4]=z,t[5]=L,t[6]=F,t[7]=0,t[8]=D,t[9]=P,t[10]=B,t[11]=0,t[12]=_,t[13]=U,t[14]=G,t[15]=1,t):new l(I,z,D,_,N,L,P,U,R,F,B,G,0,0,0,1)},l.multiplyByTranslation=function(e,r,t){var o=r.x,i=r.y,a=r.z,u=o*e[0]+i*e[4]+a*e[8]+e[12],s=o*e[1]+i*e[5]+a*e[9]+e[13],c=o*e[2]+i*e[6]+a*e[10]+e[14];return n(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=u,t[13]=s,t[14]=c,t[15]=e[15],t):new l(e[0],e[4],e[8],u,e[1],e[5],e[9],s,e[2],e[6],e[10],c,e[3],e[7],e[11],e[15])};var y=new e;return l.multiplyByUniformScale=function(e,r,t){return y.x=r,y.y=r,y.z=r,l.multiplyByScale(e,y,t)},l.multiplyByScale=function(e,r,t){var o=r.x,i=r.y,a=r.z;return 1===o&&1===i&&1===a?l.clone(e,t):n(t)?(t[0]=o*e[0],t[1]=o*e[1],t[2]=o*e[2],t[3]=0,t[4]=i*e[4],t[5]=i*e[5],t[6]=i*e[6],t[7]=0,t[8]=a*e[8],t[9]=a*e[9],t[10]=a*e[10],t[11]=0,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=1,t):new l(o*e[0],i*e[4],a*e[8],e[12],o*e[1],i*e[5],a*e[9],e[13],o*e[2],i*e[6],a*e[10],e[14],0,0,0,1)},l.multiplyByVector=function(e,t,o){var i=t.x,a=t.y,u=t.z,s=t.w,l=e[0]*i+e[4]*a+e[8]*u+e[12]*s,c=e[1]*i+e[5]*a+e[9]*u+e[13]*s,f=e[2]*i+e[6]*a+e[10]*u+e[14]*s,m=e[3]*i+e[7]*a+e[11]*u+e[15]*s;return n(o)?(o.x=l,o.y=c,o.z=f,o.w=m,o):new r(l,c,f,m)},l.multiplyByPointAsVector=function(r,t,o){var i=t.x,a=t.y,u=t.z,s=r[0]*i+r[4]*a+r[8]*u,l=r[1]*i+r[5]*a+r[9]*u,c=r[2]*i+r[6]*a+r[10]*u;return n(o)?(o.x=s,o.y=l,o.z=c,o):new e(s,l,c)},l.multiplyByPoint=function(r,t,o){var i=t.x,a=t.y,u=t.z,s=r[0]*i+r[4]*a+r[8]*u+r[12],l=r[1]*i+r[5]*a+r[9]*u+r[13],c=r[2]*i+r[6]*a+r[10]*u+r[14];return n(o)?(o.x=s,o.y=l,o.z=c,o):new e(s,l,c)},l.multiplyByScalar=function(e,r,t){return n(t)?(t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*r,t[9]=e[9]*r,t[10]=e[10]*r,t[11]=e[11]*r,t[12]=e[12]*r,t[13]=e[13]*r,t[14]=e[14]*r,t[15]=e[15]*r,t):new l(e[0]*r,e[4]*r,e[8]*r,e[12]*r,e[1]*r,e[5]*r,e[9]*r,e[13]*r,e[2]*r,e[6]*r,e[10]*r,e[14]*r,e[3]*r,e[7]*r,e[11]*r,e[15]*r)},l.negate=function(e,r){return n(r)?(r[0]=-e[0],r[1]=-e[1],r[2]=-e[2],r[3]=-e[3],r[4]=-e[4],r[5]=-e[5],r[6]=-e[6],r[7]=-e[7],r[8]=-e[8],r[9]=-e[9],r[10]=-e[10],r[11]=-e[11],r[12]=-e[12],r[13]=-e[13],r[14]=-e[14],r[15]=-e[15],r):new l(-e[0],-e[4],-e[8],-e[12],-e[1],-e[5],-e[9],-e[13],-e[2],-e[6],-e[10],-e[14],-e[3],-e[7],-e[11],-e[15])},l.transpose=function(e,r){if(!n(r))return new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]);var t=e[1],o=e[2],i=e[3],a=e[6],u=e[7],s=e[11];return r[0]=e[0],r[1]=e[4],r[2]=e[8],r[3]=e[12],r[4]=t,r[5]=e[5],r[6]=e[9],r[7]=e[13],r[8]=o,r[9]=a,r[10]=e[10],r[11]=e[14],r[12]=i,r[13]=u,r[14]=s,r[15]=e[15],r},l.abs=function(e,r){return n(r)?(r[0]=Math.abs(e[0]),r[1]=Math.abs(e[1]),r[2]=Math.abs(e[2]),r[3]=Math.abs(e[3]),r[4]=Math.abs(e[4]),r[5]=Math.abs(e[5]),r[6]=Math.abs(e[6]),r[7]=Math.abs(e[7]),r[8]=Math.abs(e[8]),r[9]=Math.abs(e[9]),r[10]=Math.abs(e[10]),r[11]=Math.abs(e[11]),r[12]=Math.abs(e[12]),r[13]=Math.abs(e[13]),r[14]=Math.abs(e[14]),r[15]=Math.abs(e[15]),r):new l(Math.abs(e[0]),Math.abs(e[4]),Math.abs(e[8]),Math.abs(e[12]),Math.abs(e[1]),Math.abs(e[5]),Math.abs(e[9]),Math.abs(e[13]),Math.abs(e[2]),Math.abs(e[6]),Math.abs(e[10]),Math.abs(e[14]),Math.abs(e[3]),Math.abs(e[7]),Math.abs(e[11]),Math.abs(e[15]))},l.equals=function(e,r){return e===r||n(e)&&n(r)&&e[0]===r[0]&&e[1]===r[1]&&e[2]===r[2]&&e[3]===r[3]&&e[4]===r[4]&&e[5]===r[5]&&e[6]===r[6]&&e[7]===r[7]&&e[8]===r[8]&&e[9]===r[9]&&e[10]===r[10]&&e[11]===r[11]&&e[12]===r[12]&&e[13]===r[13]&&e[14]===r[14]&&e[15]===r[15]},l.equalsEpsilon=function(e,r,t){return e===r||n(e)&&n(r)&&Math.abs(e[0]-r[0])<=t&&Math.abs(e[1]-r[1])<=t&&Math.abs(e[2]-r[2])<=t&&Math.abs(e[3]-r[3])<=t&&Math.abs(e[4]-r[4])<=t&&Math.abs(e[5]-r[5])<=t&&Math.abs(e[6]-r[6])<=t&&Math.abs(e[7]-r[7])<=t&&Math.abs(e[8]-r[8])<=t&&Math.abs(e[9]-r[9])<=t&&Math.abs(e[10]-r[10])<=t&&Math.abs(e[11]-r[11])<=t&&Math.abs(e[12]-r[12])<=t&&Math.abs(e[13]-r[13])<=t&&Math.abs(e[14]-r[14])<=t&&Math.abs(e[15]-r[15])<=t},l.getTranslation=function(r,t){return n(t)?(t.x=r[12],t.y=r[13],t.z=r[14],t):new e(r[12],r[13],r[14])},l.getRotation=function(e,r){return n(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[4],r[4]=e[5],r[5]=e[6],r[6]=e[8],r[7]=e[9],r[8]=e[10],r):new u(e[0],e[4],e[8],e[1],e[5],e[9],e[2],e[6],e[10])},l.inverse=function(e,r){var t=e[0],o=e[4],i=e[8],u=e[12],c=e[1],f=e[5],m=e[9],y=e[13],h=e[2],p=e[6],d=e[10],v=e[14],g=e[3],E=e[7],C=e[11],S=e[15],w=d*S,x=v*C,A=p*S,M=v*E,b=p*C,T=d*E,O=h*S,I=v*g,N=h*C,R=d*g,z=h*E,L=p*g,F=w*f+M*m+b*y-(x*f+A*m+T*y),D=x*c+O*m+R*y-(w*c+I*m+N*y),P=A*c+I*f+z*y-(M*c+O*f+L*y),B=T*c+N*f+L*m-(b*c+R*f+z*m),_=x*o+A*i+T*u-(w*o+M*i+b*u),U=w*t+I*i+N*u-(x*t+O*i+R*u),G=M*t+O*o+L*u-(A*t+I*o+z*u),q=b*t+R*o+z*i-(T*t+N*o+L*i);w=i*y,x=u*m,A=o*y,M=u*f,b=o*m,T=i*f,O=t*y,I=u*c,N=t*m,R=i*c,z=t*f,L=o*c;var Y=w*E+M*C+b*S-(x*E+A*C+T*S),W=x*g+O*C+R*S-(w*g+I*C+N*S),V=A*g+I*E+z*S-(M*g+O*E+L*S),H=T*g+N*E+L*C-(b*g+R*E+z*C),k=A*d+T*v+x*p-(b*v+w*p+M*d),K=N*v+w*h+I*d-(O*d+R*v+x*h),j=O*p+L*v+M*h-(z*v+A*h+I*p),Z=z*d+b*h+R*p-(N*p+L*d+T*h),Q=t*F+o*D+i*P+u*B;if(Math.abs(Q)M;M++){e.clone(r[M],o);var b=o.x,T=o.y,O=o.z;bs.x&&e.clone(o,s),Tl.y&&e.clone(o,l),Ox.z&&e.clone(o,x)}var I=e.magnitudeSquared(e.subtract(s,i,g)),N=e.magnitudeSquared(e.subtract(l,a,g)),R=e.magnitudeSquared(e.subtract(x,u,g)),z=i,L=s,F=I;N>F&&(F=N,z=a,L=l),R>F&&(F=R,z=u,L=x);var D=E;D.x=.5*(z.x+L.x),D.y=.5*(z.y+L.y),D.z=.5*(z.z+L.z);var P=e.magnitudeSquared(e.subtract(L,D,g)),B=Math.sqrt(P),_=C;_.x=i.x,_.y=a.y,_.z=u.z;var U=S;U.x=s.x,U.y=l.y,U.z=x.z;var G=e.multiplyByScalar(e.add(_,U,g),.5,w),q=0;for(M=0;A>M;M++){e.clone(r[M],o);var Y=e.magnitude(e.subtract(o,G,g));Y>q&&(q=Y);var W=e.magnitudeSquared(e.subtract(o,D,g));if(W>P){var V=Math.sqrt(W);B=.5*(B+V),P=B*B;var H=V-B;D.x=(B*D.x+H*o.x)/V,D.y=(B*D.y+H*o.y)/V,D.z=(B*D.z+H*o.z)/V}}return q>B?(e.clone(D,t.center),t.radius=B):(e.clone(G,t.center),t.radius=q),t};var x=new a,A=new e,M=new e,b=new r,T=new r;c.fromExtent2D=function(e,r,t){return c.fromExtentWithHeights2D(e,r,0,0,t)},c.fromExtentWithHeights2D=function(r,o,i,a,u){if(n(u)||(u=new c),!n(r))return u.center=e.clone(e.ZERO,u.center),u.radius=0,u;o=t(o,x),r.getSouthwest(b),b.height=i,r.getNortheast(T),T.height=a;var s=o.project(b,A),l=o.project(T,M),f=l.x-s.x,m=l.y-s.y,y=l.z-s.z;u.radius=.5*Math.sqrt(f*f+m*m+y*y);var h=u.center;return h.x=s.x+.5*f,h.y=s.y+.5*m,h.z=s.z+.5*y,u};var O=[];c.fromExtent3D=function(e,r,o,a){r=t(r,i.WGS84),o=t(o,0);var u;return n(e)&&(u=e.subsample(r,o,O)),c.fromPoints(u,a)},c.fromVertices=function(r,o,i,a){if(n(a)||(a=new c),!n(r)||0===r.length)return a.center=e.clone(e.ZERO,a.center),a.radius=0,a;o=t(o,e.ZERO),i=t(i,3);var u=v;u.x=r[0]+o.x,u.y=r[1]+o.y,u.z=r[2]+o.z;for(var s=e.clone(u,f),l=e.clone(u,m),x=e.clone(u,y),A=e.clone(u,h),M=e.clone(u,p),b=e.clone(u,d),T=r.length,O=0;T>O;O+=i){var I=r[O]+o.x,N=r[O+1]+o.y,R=r[O+2]+o.z;u.x=I,u.y=N,u.z=R,IA.x&&e.clone(u,A),NM.y&&e.clone(u,M),Rb.z&&e.clone(u,b)}var z=e.magnitudeSquared(e.subtract(A,s,g)),L=e.magnitudeSquared(e.subtract(M,l,g)),F=e.magnitudeSquared(e.subtract(b,x,g)),D=s,P=A,B=z;L>B&&(B=L,D=l,P=M),F>B&&(B=F,D=x,P=b);var _=E;_.x=.5*(D.x+P.x),_.y=.5*(D.y+P.y),_.z=.5*(D.z+P.z);var U=e.magnitudeSquared(e.subtract(P,_,g)),G=Math.sqrt(U),q=C;q.x=s.x,q.y=l.y,q.z=x.z;var Y=S;Y.x=A.x,Y.y=M.y,Y.z=b.z;var W=e.multiplyByScalar(e.add(q,Y,g),.5,w),V=0;for(O=0;T>O;O+=i){u.x=r[O]+o.x,u.y=r[O+1]+o.y,u.z=r[O+2]+o.z;var H=e.magnitude(e.subtract(u,W,g));H>V&&(V=H);var k=e.magnitudeSquared(e.subtract(u,_,g));if(k>U){var K=Math.sqrt(k);G=.5*(G+K),U=G*G;var j=K-G;_.x=(G*_.x+j*u.x)/K,_.y=(G*_.y+j*u.y)/K,_.z=(G*_.z+j*u.z)/K}}return V>G?(e.clone(_,a.center),a.radius=G):(e.clone(W,a.center),a.radius=V),a},c.fromCornerPoints=function(r,t,o){n(o)||(o=new c);var i=o.center;return e.add(r,t,i),e.multiplyByScalar(i,.5,i),o.radius=e.distance(i,t),o},c.fromEllipsoid=function(r,t){return n(t)||(t=new c),e.clone(e.ZERO,t.center),t.radius=r.maximumRadius,t},c.clone=function(r,t){return n(r)?n(t)?(t.center=e.clone(r.center,t.center),t.radius=r.radius,t):new c(r.center,r.radius):void 0};var I=new e,N=new e;c.union=function(r,t,o){n(o)||(o=new c);var i=r.center,a=t.center;e.add(i,a,N);var u=e.multiplyByScalar(N,.5,N),s=e.magnitude(e.subtract(i,u,I))+r.radius,l=e.magnitude(e.subtract(a,u,I))+t.radius;return o.radius=Math.max(s,l),e.clone(u,o.center),o};var R=new e;c.expand=function(r,t,n){n=c.clone(r,n);var o=e.magnitude(e.subtract(t,n.center,R));return o>n.radius&&(n.radius=o),n},c.intersect=function(r,t){var n=r.center,o=r.radius,i=e.dot(t,n)+t.w;return-o>i?u.OUTSIDE:o>i?u.INTERSECTING:u.INSIDE};var z=new e;c.transform=function(r,t,o){return n(o)||(o=new c),o.center=l.multiplyByPoint(t,r.center,o.center),o.radius=Math.max(e.magnitude(l.getColumn(t,0,z)),e.magnitude(l.getColumn(t,1,z)),e.magnitude(l.getColumn(t,2,z)))*r.radius,o},c.transformWithoutScale=function(e,r,t){return n(t)||(t=new c),t.center=l.multiplyByPoint(r,e.center,t.center),t.radius=e.radius,t};var L=new e;c.getPlaneDistances=function(r,t,o,i){n(i)||(i=new s);var a=e.subtract(r.center,t,L),u=e.multiplyByScalar(o,e.dot(o,a),L),l=e.magnitude(u);return i.start=l-r.radius,i.stop=l+r.radius,i};for(var F=new e,D=new e,P=new e,B=new e,_=new e,U=new r,G=new Array(8),q=0;8>q;++q)G[q]=new e;var Y=new a;return c.projectTo2D=function(r,n,o){n=t(n,Y);var i=n.ellipsoid,a=r.center,u=r.radius,s=i.geodeticSurfaceNormal(a,F),l=e.cross(e.UNIT_Z,s,D);e.normalize(l,l);var f=e.cross(s,l,P);e.normalize(f,f),e.multiplyByScalar(s,u,s),e.multiplyByScalar(f,u,f),e.multiplyByScalar(l,u,l);var m=e.negate(f,_),y=e.negate(l,B),h=G,p=h[0];e.add(s,f,p),e.add(p,l,p),p=h[1],e.add(s,f,p),e.add(p,y,p),p=h[2],e.add(s,m,p),e.add(p,y,p),p=h[3],e.add(s,m,p),e.add(p,l,p),e.negate(s,s),p=h[4],e.add(s,f,p),e.add(p,l,p),p=h[5],e.add(s,f,p),e.add(p,y,p),p=h[6],e.add(s,m,p),e.add(p,y,p),p=h[7],e.add(s,m,p),e.add(p,l,p);for(var d=h.length,v=0;d>v;++v){var g=h[v];e.add(a,g,g);var E=i.cartesianToCartographic(g,U);n.project(E,g)}o=c.fromPoints(h,o),a=o.center;var C=a.x,S=a.y,w=a.z;return a.x=w,a.y=C,a.z=S,o},c.equals=function(r,t){return r===t||n(r)&&n(t)&&e.equals(r.center,t.center)&&r.radius===t.radius},c.prototype.clone=function(e){return c.clone(this,e)},c.prototype.union=function(e,r){return c.union(this,e,r)},c.prototype.expand=function(e,r){return c.expand(this,e,r)},c.prototype.intersect=function(e){return c.intersect(this,e)},c.prototype.getPlaneDistances=function(e,r,t){return c.getPlaneDistances(this,e,r,t)},c.prototype.projectTo2D=function(e,r){return c.projectTo2D(this,e,r)},c.prototype.equals=function(e){return c.equals(this,e)},c}),define("Core/Geometry",["./defaultValue","./defined","./DeveloperError"],function(e,r,t){"use strict";var n=function(r){r=e(r,e.EMPTY_OBJECT),this.attributes=r.attributes,this.indices=r.indices,this.primitiveType=r.primitiveType,this.boundingSphere=r.boundingSphere};return n.computeNumberOfVertices=function(e){var n=-1;for(var o in e.attributes)if(e.attributes.hasOwnProperty(o)&&r(e.attributes[o])&&r(e.attributes[o].values)){var i=e.attributes[o],a=i.values.length/i.componentsPerAttribute;if(n!==a&&-1!==n)throw new t("All attribute lists must have the same number of attributes.");n=a}return n},n}),define("Core/GeometryAttribute",["./defaultValue","./defined","./DeveloperError"],function(e){"use strict";var r=function(r){r=e(r,e.EMPTY_OBJECT),this.componentDatatype=r.componentDatatype,this.componentsPerAttribute=r.componentsPerAttribute,this.normalize=e(r.normalize,!1),this.values=r.values};return r}),define("Core/GeometryAttributes",["./defaultValue"],function(e){"use strict";var r=function(r){r=e(r,e.EMPTY_OBJECT),this.position=r.position,this.normal=r.normal,this.st=r.st,this.binormal=r.binormal,this.tangent=r.tangent,this.color=r.color};return r}),define("Core/BoxOutlineGeometry",["./defined","./DeveloperError","./Cartesian3","./ComponentDatatype","./PrimitiveType","./defaultValue","./BoundingSphere","./Geometry","./GeometryAttribute","./GeometryAttributes"],function(e,r,t,n,o,i,a,u,s,l){"use strict";var c=new t,f=function(e){e=i(e,i.EMPTY_OBJECT);var r=e.minimumCorner,n=e.maximumCorner;this._min=t.clone(r),this._max=t.clone(n),this._workerName="createBoxOutlineGeometry"};return f.fromDimensions=function(e){e=i(e,i.EMPTY_OBJECT);var r=e.dimensions,n=t.multiplyByScalar(r,.5),o=t.negate(n),a=n,u={minimumCorner:o,maximumCorner:a};return new f(u)},f.createGeometry=function(e){var r=e._min,i=e._max,f=new l,m=new Uint16Array(24),y=new Float64Array(24);y[0]=r.x,y[1]=r.y,y[2]=r.z,y[3]=i.x,y[4]=r.y,y[5]=r.z,y[6]=i.x,y[7]=i.y,y[8]=r.z,y[9]=r.x,y[10]=i.y,y[11]=r.z,y[12]=r.x,y[13]=r.y,y[14]=i.z,y[15]=i.x,y[16]=r.y,y[17]=i.z,y[18]=i.x,y[19]=i.y,y[20]=i.z,y[21]=r.x,y[22]=i.y,y[23]=i.z,f.position=new s({componentDatatype:n.DOUBLE,componentsPerAttribute:3,values:y}),m[0]=4,m[1]=5,m[2]=5,m[3]=6,m[4]=6,m[5]=7,m[6]=7,m[7]=4,m[8]=0,m[9]=1,m[10]=1,m[11]=2,m[12]=2,m[13]=3,m[14]=3,m[15]=0,m[16]=0,m[17]=4,m[18]=1,m[19]=5,m[20]=2,m[21]=6,m[22]=3,m[23]=7;var h=t.subtract(i,r,c),p=.5*t.magnitude(h);return new u({attributes:f,indices:m,primitiveType:o.LINES,boundingSphere:new a(t.ZERO,p)})},f}),define("Core/Color",["./defaultValue","./defined","./freezeObject","./DeveloperError","./FeatureDetection","./Math"],function(e,r,t,n,o,i){"use strict";function a(e,r,t){return 0>t&&(t+=1),t>1&&(t-=1),1>6*t?e+6*(r-e)*t:1>2*t?r:2>3*t?e+6*(r-e)*(2/3-t):e}var u=function(r,t,n,o){this.red=e(r,1),this.green=e(t,1),this.blue=e(n,1),this.alpha=e(o,1)};u.fromBytes=function(r,t,n,o){return r=u.byteToFloat(e(r,255)),t=u.byteToFloat(e(t,255)),n=u.byteToFloat(e(n,255)),o=u.byteToFloat(e(o,255)),new u(r,t,n,o)};var s,l,c;o.supportsTypedArrays()&&(s=new ArrayBuffer(4),l=new Uint32Array(s),c=new Uint8Array(s)),u.fromRgba=function(e){return l[0]=e,u.fromBytes(c[0],c[1],c[2],c[3])},u.fromHsl=function(r,t,n,o){r=e(r,0)%1,t=e(t,0),n=e(n,0),o=e(o,1);var i=n,s=n,l=n;if(0!==t){var c;c=.5>n?n*(1+t):n+t-n*t;var f=2*n-c;i=a(f,c,r+1/3),s=a(f,c,r),l=a(f,c,r-1/3)}return new u(i,s,l,o)},u.fromRandom=function(t,n){t=e(t,e.EMPTY_OBJECT);var o=t.red;if(!r(o)){var a=e(t.minimumRed,0),s=e(t.maximumRed,1);o=a+i.nextRandomNumber()*(s-a)}var l=t.green;if(!r(l)){var c=e(t.minimumGreen,0),f=e(t.maximumGreen,1);l=c+i.nextRandomNumber()*(f-c)}var m=t.blue;if(!r(m)){var y=e(t.minimumBlue,0),h=e(t.maximumBlue,1);m=y+i.nextRandomNumber()*(h-y)}var p=t.alpha;if(!r(p)){var d=e(t.minimumAlpha,0),v=e(t.maximumAlpha,1);p=d+i.nextRandomNumber()*(v-d)}return r(n)?(n.red=o,n.green=l,n.blue=m,n.alpha=p,n):new u(o,l,m,p)};var f=/^#([0-9a-f])([0-9a-f])([0-9a-f])$/i,m=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i,y=/^rgba?\(\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)(?:\s*,\s*([0-9.]+))?\s*\)$/i,h=/^hsla?\(\s*([0-9.]+)\s*,\s*([0-9.]+%)\s*,\s*([0-9.]+%)(?:\s*,\s*([0-9.]+))?\s*\)$/i;return u.fromCssColorString=function(t){var n=u[t.toUpperCase()];if(r(n))return u.clone(n);var o=f.exec(t);return null!==o?new u(parseInt(o[1],16)/15,parseInt(o[2],16)/15,parseInt(o[3],16)/15):(o=m.exec(t),null!==o?new u(parseInt(o[1],16)/255,parseInt(o[2],16)/255,parseInt(o[3],16)/255):(o=y.exec(t),null!==o?new u(parseFloat(o[1])/("%"===o[1].substr(-1)?100:255),parseFloat(o[2])/("%"===o[2].substr(-1)?100:255),parseFloat(o[3])/("%"===o[3].substr(-1)?100:255),parseFloat(e(o[4],"1.0"))):(o=h.exec(t),null!==o?u.fromHsl(parseFloat(o[1])/360,parseFloat(o[2])/100,parseFloat(o[3])/100,parseFloat(e(o[4],"1.0"))):void 0)))},u.packedLength=4,u.pack=function(r,t,n){n=e(n,0),t[n++]=r.red,t[n++]=r.green,t[n++]=r.blue,t[n]=r.alpha},u.unpack=function(t,n,o){return n=e(n,0),r(o)||(o=new u),o.red=t[n++],o.green=t[n++],o.blue=t[n++],o.alpha=t[n],o},u.byteToFloat=function(e){return e/255},u.floatToByte=function(e){return 1===e?255:0|256*e},u.clone=function(e,t){return r(e)?r(t)?(t.red=e.red,t.green=e.green,t.blue=e.blue,t.alpha=e.alpha,t):new u(e.red,e.green,e.blue,e.alpha):void 0},u.equals=function(e,t){return e===t||r(e)&&r(t)&&e.red===t.red&&e.green===t.green&&e.blue===t.blue&&e.alpha===t.alpha},u.prototype.clone=function(e){return u.clone(this,e)},u.prototype.equals=function(e){return u.equals(this,e)},u.prototype.equalsEpsilon=function(e,t){return this===e||r(e)&&Math.abs(this.red-e.red)<=t&&Math.abs(this.green-e.green)<=t&&Math.abs(this.blue-e.blue)<=t&&Math.abs(this.alpha-e.alpha)<=t},u.prototype.toString=function(){return"("+this.red+", "+this.green+", "+this.blue+", "+this.alpha+")"},u.prototype.toCssColorString=function(){var e=u.floatToByte(this.red),r=u.floatToByte(this.green),t=u.floatToByte(this.blue);return 1===this.alpha?"rgb("+e+","+r+","+t+")":"rgba("+e+","+r+","+t+","+this.alpha+")"},u.prototype.toBytes=function(e){var t=u.floatToByte(this.red),n=u.floatToByte(this.green),o=u.floatToByte(this.blue),i=u.floatToByte(this.alpha);return r(e)?(e[0]=t,e[1]=n,e[2]=o,e[3]=i,e):[t,n,o,i]},u.prototype.toRgba=function(){return c[0]=u.floatToByte(this.red),c[1]=u.floatToByte(this.green),c[2]=u.floatToByte(this.blue),c[3]=u.floatToByte(this.alpha),l[0]},u.ALICEBLUE=t(u.fromCssColorString("#F0F8FF")),u.ANTIQUEWHITE=t(u.fromCssColorString("#FAEBD7")),u.AQUA=t(u.fromCssColorString("#00FFFF")),u.AQUAMARINE=t(u.fromCssColorString("#7FFFD4")),u.AZURE=t(u.fromCssColorString("#F0FFFF")),u.BEIGE=t(u.fromCssColorString("#F5F5DC")),u.BISQUE=t(u.fromCssColorString("#FFE4C4")),u.BLACK=t(u.fromCssColorString("#000000")),u.BLANCHEDALMOND=t(u.fromCssColorString("#FFEBCD")),u.BLUE=t(u.fromCssColorString("#0000FF")),u.BLUEVIOLET=t(u.fromCssColorString("#8A2BE2")),u.BROWN=t(u.fromCssColorString("#A52A2A")),u.BURLYWOOD=t(u.fromCssColorString("#DEB887")),u.CADETBLUE=t(u.fromCssColorString("#5F9EA0")),u.CHARTREUSE=t(u.fromCssColorString("#7FFF00")),u.CHOCOLATE=t(u.fromCssColorString("#D2691E")),u.CORAL=t(u.fromCssColorString("#FF7F50")),u.CORNFLOWERBLUE=t(u.fromCssColorString("#6495ED")),u.CORNSILK=t(u.fromCssColorString("#FFF8DC")),u.CRIMSON=t(u.fromCssColorString("#DC143C")),u.CYAN=t(u.fromCssColorString("#00FFFF")),u.DARKBLUE=t(u.fromCssColorString("#00008B")),u.DARKCYAN=t(u.fromCssColorString("#008B8B")),u.DARKGOLDENROD=t(u.fromCssColorString("#B8860B")),u.DARKGRAY=t(u.fromCssColorString("#A9A9A9")),u.DARKGREEN=t(u.fromCssColorString("#006400")),u.DARKGREY=u.DARKGRAY,u.DARKKHAKI=t(u.fromCssColorString("#BDB76B")),u.DARKMAGENTA=t(u.fromCssColorString("#8B008B")),u.DARKOLIVEGREEN=t(u.fromCssColorString("#556B2F")),u.DARKORANGE=t(u.fromCssColorString("#FF8C00")),u.DARKORCHID=t(u.fromCssColorString("#9932CC")),u.DARKRED=t(u.fromCssColorString("#8B0000")),u.DARKSALMON=t(u.fromCssColorString("#E9967A")),u.DARKSEAGREEN=t(u.fromCssColorString("#8FBC8F")),u.DARKSLATEBLUE=t(u.fromCssColorString("#483D8B")),u.DARKSLATEGRAY=t(u.fromCssColorString("#2F4F4F")),u.DARKSLATEGREY=u.DARKSLATEGRAY,u.DARKTURQUOISE=t(u.fromCssColorString("#00CED1")),u.DARKVIOLET=t(u.fromCssColorString("#9400D3")),u.DEEPPINK=t(u.fromCssColorString("#FF1493")),u.DEEPSKYBLUE=t(u.fromCssColorString("#00BFFF")),u.DIMGRAY=t(u.fromCssColorString("#696969")),u.DIMGREY=u.DIMGRAY,u.DODGERBLUE=t(u.fromCssColorString("#1E90FF")),u.FIREBRICK=t(u.fromCssColorString("#B22222")),u.FLORALWHITE=t(u.fromCssColorString("#FFFAF0")),u.FORESTGREEN=t(u.fromCssColorString("#228B22")),u.FUSCHIA=t(u.fromCssColorString("#FF00FF")),u.GAINSBORO=t(u.fromCssColorString("#DCDCDC")),u.GHOSTWHITE=t(u.fromCssColorString("#F8F8FF")),u.GOLD=t(u.fromCssColorString("#FFD700")),u.GOLDENROD=t(u.fromCssColorString("#DAA520")),u.GRAY=t(u.fromCssColorString("#808080")),u.GREEN=t(u.fromCssColorString("#008000")),u.GREENYELLOW=t(u.fromCssColorString("#ADFF2F")),u.GREY=u.GRAY,u.HONEYDEW=t(u.fromCssColorString("#F0FFF0")),u.HOTPINK=t(u.fromCssColorString("#FF69B4")),u.INDIANRED=t(u.fromCssColorString("#CD5C5C")),u.INDIGO=t(u.fromCssColorString("#4B0082")),u.IVORY=t(u.fromCssColorString("#FFFFF0")),u.KHAKI=t(u.fromCssColorString("#F0E68C")),u.LAVENDER=t(u.fromCssColorString("#E6E6FA")),u.LAVENDAR_BLUSH=t(u.fromCssColorString("#FFF0F5")),u.LAWNGREEN=t(u.fromCssColorString("#7CFC00")),u.LEMONCHIFFON=t(u.fromCssColorString("#FFFACD")),u.LIGHTBLUE=t(u.fromCssColorString("#ADD8E6")),u.LIGHTCORAL=t(u.fromCssColorString("#F08080")),u.LIGHTCYAN=t(u.fromCssColorString("#E0FFFF")),u.LIGHTGOLDENRODYELLOW=t(u.fromCssColorString("#FAFAD2")),u.LIGHTGRAY=t(u.fromCssColorString("#D3D3D3")),u.LIGHTGREEN=t(u.fromCssColorString("#90EE90")),u.LIGHTGREY=u.LIGHTGRAY,u.LIGHTPINK=t(u.fromCssColorString("#FFB6C1")),u.LIGHTSEAGREEN=t(u.fromCssColorString("#20B2AA")),u.LIGHTSKYBLUE=t(u.fromCssColorString("#87CEFA")),u.LIGHTSLATEGRAY=t(u.fromCssColorString("#778899")),u.LIGHTSLATEGREY=u.LIGHTSLATEGRAY,u.LIGHTSTEELBLUE=t(u.fromCssColorString("#B0C4DE")),u.LIGHTYELLOW=t(u.fromCssColorString("#FFFFE0")),u.LIME=t(u.fromCssColorString("#00FF00")),u.LIMEGREEN=t(u.fromCssColorString("#32CD32")),u.LINEN=t(u.fromCssColorString("#FAF0E6")),u.MAGENTA=t(u.fromCssColorString("#FF00FF")),u.MAROON=t(u.fromCssColorString("#800000")),u.MEDIUMAQUAMARINE=t(u.fromCssColorString("#66CDAA")),u.MEDIUMBLUE=t(u.fromCssColorString("#0000CD")),u.MEDIUMORCHID=t(u.fromCssColorString("#BA55D3")),u.MEDIUMPURPLE=t(u.fromCssColorString("#9370DB")),u.MEDIUMSEAGREEN=t(u.fromCssColorString("#3CB371")),u.MEDIUMSLATEBLUE=t(u.fromCssColorString("#7B68EE")),u.MEDIUMSPRINGGREEN=t(u.fromCssColorString("#00FA9A")),u.MEDIUMTURQUOISE=t(u.fromCssColorString("#48D1CC")),u.MEDIUMVIOLETRED=t(u.fromCssColorString("#C71585")),u.MIDNIGHTBLUE=t(u.fromCssColorString("#191970")),u.MINTCREAM=t(u.fromCssColorString("#F5FFFA")),u.MISTYROSE=t(u.fromCssColorString("#FFE4E1")),u.MOCCASIN=t(u.fromCssColorString("#FFE4B5")),u.NAVAJOWHITE=t(u.fromCssColorString("#FFDEAD")),u.NAVY=t(u.fromCssColorString("#000080")),u.OLDLACE=t(u.fromCssColorString("#FDF5E6")),u.OLIVE=t(u.fromCssColorString("#808000")),u.OLIVEDRAB=t(u.fromCssColorString("#6B8E23")),u.ORANGE=t(u.fromCssColorString("#FFA500")),u.ORANGERED=t(u.fromCssColorString("#FF4500")),u.ORCHID=t(u.fromCssColorString("#DA70D6")),u.PALEGOLDENROD=t(u.fromCssColorString("#EEE8AA")),u.PALEGREEN=t(u.fromCssColorString("#98FB98")),u.PALETURQUOISE=t(u.fromCssColorString("#AFEEEE")),u.PALEVIOLETRED=t(u.fromCssColorString("#DB7093")),u.PAPAYAWHIP=t(u.fromCssColorString("#FFEFD5")),u.PEACHPUFF=t(u.fromCssColorString("#FFDAB9")),u.PERU=t(u.fromCssColorString("#CD853F")),u.PINK=t(u.fromCssColorString("#FFC0CB")),u.PLUM=t(u.fromCssColorString("#DDA0DD")),u.POWDERBLUE=t(u.fromCssColorString("#B0E0E6")),u.PURPLE=t(u.fromCssColorString("#800080")),u.RED=t(u.fromCssColorString("#FF0000")),u.ROSYBROWN=t(u.fromCssColorString("#BC8F8F")),u.ROYALBLUE=t(u.fromCssColorString("#4169E1")),u.SADDLEBROWN=t(u.fromCssColorString("#8B4513")),u.SALMON=t(u.fromCssColorString("#FA8072")),u.SANDYBROWN=t(u.fromCssColorString("#F4A460")),u.SEAGREEN=t(u.fromCssColorString("#2E8B57")),u.SEASHELL=t(u.fromCssColorString("#FFF5EE")),u.SIENNA=t(u.fromCssColorString("#A0522D")),u.SILVER=t(u.fromCssColorString("#C0C0C0")),u.SKYBLUE=t(u.fromCssColorString("#87CEEB")),u.SLATEBLUE=t(u.fromCssColorString("#6A5ACD")),u.SLATEGRAY=t(u.fromCssColorString("#708090")),u.SLATEGREY=u.SLATEGRAY,u.SNOW=t(u.fromCssColorString("#FFFAFA")),u.SPRINGGREEN=t(u.fromCssColorString("#00FF7F")),u.STEELBLUE=t(u.fromCssColorString("#4682B4")),u.TAN=t(u.fromCssColorString("#D2B48C")),u.TEAL=t(u.fromCssColorString("#008080")),u.THISTLE=t(u.fromCssColorString("#D8BFD8")),u.TOMATO=t(u.fromCssColorString("#FF6347")),u.TURQUOISE=t(u.fromCssColorString("#40E0D0")),u.VIOLET=t(u.fromCssColorString("#EE82EE")),u.WHEAT=t(u.fromCssColorString("#F5DEB3")),u.WHITE=t(u.fromCssColorString("#FFFFFF")),u.WHITESMOKE=t(u.fromCssColorString("#F5F5F5")),u.YELLOW=t(u.fromCssColorString("#FFFF00")),u.YELLOWGREEN=t(u.fromCssColorString("#9ACD32")),u}),define("Core/Cartesian2",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,r,t,n){"use strict";var o=function(r,t){this.x=e(r,0),this.y=e(t,0)};o.fromElements=function(e,t,n){return r(n)?(n.x=e,n.y=t,n):new o(e,t)},o.clone=function(e,t){return r(e)?r(t)?(t.x=e.x,t.y=e.y,t):new o(e.x,e.y):void 0},o.fromCartesian3=o.clone,o.fromCartesian4=o.clone,o.packedLength=2,o.pack=function(r,t,n){n=e(n,0),t[n++]=r.x,t[n]=r.y +},o.unpack=function(t,n,i){return n=e(n,0),r(i)||(i=new o),i.x=t[n++],i.y=t[n],i},o.fromArray=o.unpack,o.getMaximumComponent=function(e){return Math.max(e.x,e.y)},o.getMinimumComponent=function(e){return Math.min(e.x,e.y)},o.getMinimumByComponent=function(e,t,n){return r(n)||(n=new o),n.x=Math.min(e.x,t.x),n.y=Math.min(e.y,t.y),n},o.getMaximumByComponent=function(e,t,n){return r(n)||(n=new o),n.x=Math.max(e.x,t.x),n.y=Math.max(e.y,t.y),n},o.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y},o.magnitude=function(e){return Math.sqrt(o.magnitudeSquared(e))};var i=new o;o.distance=function(e,r){return o.subtract(e,r,i),o.magnitude(i)},o.normalize=function(e,t){var n=o.magnitude(e);return r(t)?(t.x=e.x/n,t.y=e.y/n,t):new o(e.x/n,e.y/n)},o.dot=function(e,r){return e.x*r.x+e.y*r.y},o.multiplyComponents=function(e,t,n){return r(n)?(n.x=e.x*t.x,n.y=e.y*t.y,n):new o(e.x*t.x,e.y*t.y)},o.add=function(e,t,n){return r(n)?(n.x=e.x+t.x,n.y=e.y+t.y,n):new o(e.x+t.x,e.y+t.y)},o.subtract=function(e,t,n){return r(n)?(n.x=e.x-t.x,n.y=e.y-t.y,n):new o(e.x-t.x,e.y-t.y)},o.multiplyByScalar=function(e,t,n){return r(n)?(n.x=e.x*t,n.y=e.y*t,n):new o(e.x*t,e.y*t)},o.divideByScalar=function(e,t,n){return r(n)?(n.x=e.x/t,n.y=e.y/t,n):new o(e.x/t,e.y/t)},o.negate=function(e,t){return r(t)?(t.x=-e.x,t.y=-e.y,t):new o(-e.x,-e.y)},o.abs=function(e,t){return r(t)?(t.x=Math.abs(e.x),t.y=Math.abs(e.y),t):new o(Math.abs(e.x),Math.abs(e.y))};var a=new o;o.lerp=function(e,r,t,n){return o.multiplyByScalar(r,t,a),n=o.multiplyByScalar(e,1-t,n),o.add(a,n,n)};var u=new o,s=new o;o.angleBetween=function(e,r){return o.normalize(e,u),o.normalize(r,s),Math.acos(o.dot(u,s))};var l=new o;return o.mostOrthogonalAxis=function(e,r){var t=o.normalize(e,l);return o.abs(t,t),r=t.x<=t.y?o.clone(o.UNIT_X,r):o.clone(o.UNIT_Y,r)},o.equals=function(e,t){return e===t||r(e)&&r(t)&&e.x===t.x&&e.y===t.y},o.equalsEpsilon=function(e,t,n){return e===t||r(e)&&r(t)&&Math.abs(e.x-t.x)<=n&&Math.abs(e.y-t.y)<=n},o.ZERO=n(new o(0,0)),o.UNIT_X=n(new o(1,0)),o.UNIT_Y=n(new o(0,1)),o.prototype.clone=function(e){return o.clone(this,e)},o.prototype.equals=function(e){return o.equals(this,e)},o.prototype.equalsEpsilon=function(e,r){return o.equalsEpsilon(this,e,r)},o.prototype.toString=function(){return"("+this.x+", "+this.y+")"},o}),define("Core/barycentricCoordinates",["./Cartesian2","./Cartesian3","./defined","./DeveloperError"],function(e,r,t){"use strict";var n=new r,o=new r,i=new r,a=function(a,u,s,l,c){t(c)||(c=new r);var f,m,y,h,p,d,v,g;t(u.z)?(f=r.subtract(s,u,n),m=r.subtract(l,u,o),y=r.subtract(a,u,i),h=r.dot(f,f),p=r.dot(f,m),d=r.dot(f,y),v=r.dot(m,m),g=r.dot(m,y)):(f=e.subtract(s,u,n),m=e.subtract(l,u,o),y=e.subtract(a,u,i),h=e.dot(f,f),p=e.dot(f,m),d=e.dot(f,y),v=e.dot(m,m),g=e.dot(m,y));var E=1/(h*v-p*p);return c.y=(v*d-p*g)*E,c.z=(h*g-p*d)*E,c.x=1-c.y-c.z,c};return a}),define("Core/EncodedCartesian3",["./Cartesian3","./defined","./DeveloperError"],function(e,r){"use strict";var t=function(){this.high=e.clone(e.ZERO),this.low=e.clone(e.ZERO)};t.encode=function(e,t){r(t)||(t={high:0,low:0});var n;return e>=0?(n=65536*Math.floor(e/65536),t.high=n,t.low=e-n):(n=65536*Math.floor(-e/65536),t.high=-n,t.low=e+n),t};var n={high:0,low:0};t.fromCartesian=function(e,o){r(o)||(o=new t);var i=o.high,a=o.low;return t.encode(e.x,n),i.x=n.high,a.x=n.low,t.encode(e.y,n),i.y=n.high,a.y=n.low,t.encode(e.z,n),i.z=n.high,a.z=n.low,o};var o=new t;return t.writeElements=function(e,r,n){t.fromCartesian(e,o);var i=o.high,a=o.low;r[n]=i.x,r[n+1]=i.y,r[n+2]=i.z,r[n+3]=a.x,r[n+4]=a.y,r[n+5]=a.z},t}),define("Core/QuadraticRealPolynomial",["./DeveloperError","./Math"],function(e,r){"use strict";function t(e,t,n){var o=e+t;return r.sign(e)!==r.sign(t)&&Math.abs(o/Math.max(Math.abs(e),Math.abs(t)))a&&a/uu&&u/ai)return[];var s=Math.sqrt(i);return[-s,s]}if(0===o)return i=-n/e,0>i?[i,0]:[0,i];var l=n*n,c=4*e*o,f=t(l,-c,r.EPSILON14);if(0>f)return[];var m=-.5*t(n,r.sign(n)*Math.sqrt(f),r.EPSILON14);return n>0?[m/e,o/m]:[o/m,m/e]},n}),define("Core/CubicRealPolynomial",["./DeveloperError","./QuadraticRealPolynomial"],function(e,r){"use strict";function t(e,r,t,n){var o,i,a=e,u=r/3,s=t/3,l=n,c=a*s,f=u*l,m=u*u,y=s*s,h=a*s-m,p=a*l-u*s,d=u*l-y,v=4*h*d-p*p;if(0>v){var g,E,C;m*f>=c*y?(g=a,E=h,C=-2*u*h+a*p):(g=l,E=d,C=-l*p+2*s*d);var S=0>C?-1:1,w=-S*Math.abs(g)*Math.sqrt(-v);i=-C+w;var x=i/2,A=0>x?-Math.pow(-x,1/3):Math.pow(x,1/3),M=i===w?-A:-E/A;return o=0>=E?A+M:-C/(A*A+M*M+E),m*f>=c*y?[(o-u)/a]:[-l/(o+s)]}var b=h,T=-2*u*h+a*p,O=d,I=-l*p+2*s*d,N=Math.sqrt(v),R=Math.sqrt(3)/2,z=Math.abs(Math.atan2(a*N,-T)/3);o=2*Math.sqrt(-b);var L=Math.cos(z);i=o*L;var F=o*(-L/2-R*Math.sin(z)),D=i+F>2*u?i-u:F-u,P=a,B=D/P;z=Math.abs(Math.atan2(l*N,-I)/3),o=2*Math.sqrt(-O),L=Math.cos(z),i=o*L,F=o*(-L/2-R*Math.sin(z));var _=-l,U=2*s>i+F?i+s:F+s,G=_/U,q=P*U,Y=-D*U-P*_,W=D*_,V=(s*Y-u*W)/(-u*Y+s*q);return V>=B?G>=B?G>=V?[B,V,G]:[B,G,V]:[G,B,V]:G>=B?[V,B,G]:G>=V?[V,G,B]:[G,V,B]}var n={};return n.discriminant=function(e,r,t,n){var o=e*e,i=r*r,a=t*t,u=n*n,s=18*e*r*t*n+i*a-27*o*u-4*(e*a*t+i*r*n);return s},n.realRoots=function(e,n,o,i){var a,u;if(0===e)return r.realRoots(n,o,i);if(0===n){if(0===o){if(0===i)return[0,0,0];u=-i/e;var s=0>u?-Math.pow(-u,1/3):Math.pow(u,1/3);return[s,s,s]}return 0===i?(a=r.realRoots(e,0,o),0===a.Length?[0]:[a[0],0,a[1]]):t(e,0,o,i)}return 0===o?0===i?(u=-n/e,0>u?[u,0,0]:[0,0,u]):t(e,n,0,i):0===i?(a=r.realRoots(e,n,o),0===a.length?[0]:a[1]<=0?[a[0],a[1],0]:a[0]>=0?[0,a[0],a[1]]:[a[0],0,a[1]]):t(e,n,o,i)},n}),define("Core/QuarticRealPolynomial",["./DeveloperError","./Math","./CubicRealPolynomial","./QuadraticRealPolynomial"],function(e,r,t,n){"use strict";function o(e,o,i,a){var u=e*e,s=o-3*u/8,l=i-o*e/2+u*e/8,c=a-i*e/4+o*u/16-3*u*u/256,f=t.realRoots(1,2*s,s*s-4*c,-l*l);if(f.length>0){var m=-e/4,y=f[f.length-1];if(Math.abs(y)=0&&v>=0){var g=Math.sqrt(d),E=Math.sqrt(v);return[m-E,m-g,m+g,m+E]}if(d>=0&&0>v)return p=Math.sqrt(d),[m-p,m+p];if(0>d&&v>=0)return p=Math.sqrt(v),[m-p,m+p]}return[]}if(y>0){var C=Math.sqrt(y),S=(s+y-l/C)/2,w=(s+y+l/C)/2,x=n.realRoots(1,C,S),A=n.realRoots(1,-C,w);return 0!==x.length?(x[0]+=m,x[1]+=m,0!==A.length?(A[0]+=m,A[1]+=m,x[1]<=A[0]?[x[0],x[1],A[0],A[1]]:A[1]<=x[0]?[A[0],A[1],x[0],x[1]]:x[0]>=A[0]&&x[1]<=A[1]?[A[0],x[0],x[1],A[1]]:A[0]>=x[0]&&A[1]<=x[1]?[x[0],A[0],A[1],x[1]]:x[0]>A[0]&&x[0]0){var h,p,d=y[0],v=o-d,g=v*v,E=e/2,C=v/2,S=g-4*a,w=g+4*Math.abs(a),x=l-4*d,A=l+4*Math.abs(d);if(0>d||x*w>S*A){var M=Math.sqrt(x);h=M/2,p=0===M?0:(e*C-i)/M}else{var b=Math.sqrt(S);h=0===b?0:(e*C-i)/b,p=b/2}var T,O;0===E&&0===h?(T=0,O=0):r.sign(E)===r.sign(h)?(T=E+h,O=d/T):(O=E-h,T=d/O);var I,N;0===C&&0===p?(I=0,N=0):r.sign(C)===r.sign(p)?(I=C+p,N=a/I):(N=C-p,I=a/N);var R=n.realRoots(1,T,I),z=n.realRoots(1,O,N);if(0!==R.length)return 0!==z.length?R[1]<=z[0]?[R[0],R[1],z[0],z[1]]:z[1]<=R[0]?[z[0],z[1],R[0],R[1]]:R[0]>=z[0]&&R[1]<=z[1]?[z[0],R[0],R[1],z[1]]:z[0]>=R[0]&&z[1]<=R[1]?[R[0],z[0],z[1],R[1]]:R[0]>z[0]&&R[0]l?1:0;switch(y+=0>c?y+1:y,y+=0>f?y+1:y,y+=0>m?y+1:y){case 0:return o(l,c,f,m);case 1:return i(l,c,f,m);case 2:return i(l,c,f,m);case 3:return o(l,c,f,m);case 4:return o(l,c,f,m);case 5:return i(l,c,f,m);case 6:return o(l,c,f,m);case 7:return o(l,c,f,m);case 8:return i(l,c,f,m);case 9:return o(l,c,f,m);case 10:return o(l,c,f,m);case 11:return i(l,c,f,m);case 12:return o(l,c,f,m);case 13:return o(l,c,f,m);case 14:return o(l,c,f,m);case 15:return o(l,c,f,m);default:return void 0}},a}),define("Core/IntersectionTests",["./defined","./DeveloperError","./Math","./Cartesian3","./Cartographic","./Matrix3","./QuadraticRealPolynomial","./QuarticRealPolynomial"],function(e,r,t,n,o,i,a,u){"use strict";function s(e,r,n){var o=e+r;return t.sign(e)!==t.sign(r)&&Math.abs(o/Math.max(Math.abs(e),Math.abs(r)))F;++F){var D,P=f[F],B=P*P,_=Math.max(1-B,0),U=Math.sqrt(_);D=t.sign(h)===t.sign(d)?s(h*B+d,p*P,t.EPSILON12):t.sign(d)===t.sign(p*P)?s(h*B,p*P+d,t.EPSILON12):s(h*B+p*P,d,t.EPSILON12);var G=s(v*P,g,t.EPSILON15),q=D*G;0>q?E.push(new n(l,c*P,c*U)):q>0?E.push(new n(l,c*P,c*-U)):0!==U?(E.push(new n(l,c*P,c*-U)),E.push(new n(l,c*P,c*U)),++F):E.push(new n(l,c*P,c*U))}return E}var c={};c.rayPlane=function(e,r,o){var i=e.origin,a=e.direction,u=r.normal,s=n.dot(u,a);if(Math.abs(s)l?void 0:(o=n.multiplyByScalar(a,l,o),n.add(i,o,o))};var f=new n,m=new n;c.rayEllipsoid=function(e,r){var t,o,i,a,u,s=r.oneOverRadii,l=n.multiplyComponents(s,e.origin,f),c=n.multiplyComponents(s,e.direction,m),y=n.magnitudeSquared(l),h=n.dot(l,c);if(y>1){if(h>=0)return void 0;var p=h*h;if(t=y-1,o=n.magnitudeSquared(c),i=o*t,i>p)return void 0;if(p>i){a=h*h-i,u=-h+Math.sqrt(a);var d=u/o,v=t/u;return v>d?{start:d,stop:v}:{start:v,stop:d}}var g=Math.sqrt(t/o);return{start:g,stop:g}}return 1>y?(t=y-1,o=n.magnitudeSquared(c),i=o*t,a=h*h-i,u=-h+Math.sqrt(a),{start:0,stop:u/o}):0>h?(o=n.magnitudeSquared(c),{start:0,stop:-h/o}):void 0},c.grazingAltitudeLocation=function(r,a){var u=r.origin,s=r.direction,c=a.geodeticSurfaceNormal(u);if(n.dot(s,c)>=0)return u;var f,m,y=e(this.rayEllipsoid(r,a)),h=a.transformPositionToScaledSpace(s),p=n.normalize(h),d=n.mostOrthogonalAxis(h),v=n.normalize(n.cross(d,p)),g=n.normalize(n.cross(p,v)),E=new i(p.x,v.x,g.x,p.y,v.y,g.y,p.z,v.z,g.z),C=i.transpose(E),S=i.fromScale(a.radii),w=i.fromScale(a.oneOverRadii),x=new i(0,s.z,-s.y,-s.z,0,s.x,s.y,-s.x,0),A=i.multiply(i.multiply(C,w),x),M=i.multiply(i.multiply(A,S),E),b=i.multiplyByVector(A,u),T=l(M,n.negate(b),0,0,1),O=T.length;if(O>0){for(var I=n.ZERO,N=Number.NEGATIVE_INFINITY,R=0;O>R;++R){f=i.multiplyByVector(S,i.multiplyByVector(E,T[R]));var z=n.normalize(n.subtract(f,u)),L=n.dot(z,s);L>N&&(N=L,I=f)}var F=a.cartesianToCartographic(I);return N=t.clamp(N,0,1),m=n.magnitude(n.subtract(I,u))*Math.sqrt(1-N*N),m=y?-m:m,a.cartographicToCartesian(new o(F.longitude,F.latitude,m))}return void 0};var y=new n;return c.lineSegmentPlane=function(r,o,i,a){var u=n.subtract(o,r,y),s=i.normal,l=n.dot(s,u);if(Math.abs(l)f||f>1?void 0:(e(a)||(a=new n),n.multiplyByScalar(u,f,a),n.add(r,a,a),a)},c.trianglePlaneIntersection=function(e,r,t,o){var i=o.normal,a=o.distance,u=n.dot(i,e)+a<0,s=n.dot(i,r)+a<0,l=n.dot(i,t)+a<0,f=0;f+=u?1:0,f+=s?1:0,f+=l?1:0;var m,y;if((1===f||2===f)&&(m=new n,y=new n),1===f){if(u)return c.lineSegmentPlane(e,r,o,m),c.lineSegmentPlane(e,t,o,y),{positions:[e,r,t,m,y],indices:[0,3,4,1,2,4,1,4,3]};if(s)return c.lineSegmentPlane(r,t,o,m),c.lineSegmentPlane(r,e,o,y),{positions:[e,r,t,m,y],indices:[1,3,4,2,0,4,2,4,3]};if(l)return c.lineSegmentPlane(t,e,o,m),c.lineSegmentPlane(t,r,o,y),{positions:[e,r,t,m,y],indices:[2,3,4,0,1,4,0,4,3]}}else if(2===f){if(!u)return c.lineSegmentPlane(r,e,o,m),c.lineSegmentPlane(t,e,o,y),{positions:[e,r,t,m,y],indices:[1,2,4,1,4,3,0,3,4]};if(!s)return c.lineSegmentPlane(t,r,o,m),c.lineSegmentPlane(e,r,o,y),{positions:[e,r,t,m,y],indices:[2,0,4,2,4,3,1,3,4]};if(!l)return c.lineSegmentPlane(e,t,o,m),c.lineSegmentPlane(r,t,o,y),{positions:[e,r,t,m,y],indices:[0,1,4,0,4,3,2,3,4]}}return void 0},c}),define("Core/Plane",["./Cartesian3","./defined","./DeveloperError"],function(e,r){"use strict";var t=function(r,t){this.normal=e.clone(r),this.distance=t};return t.fromPointNormal=function(n,o,i){var a=-e.dot(o,n);return r(i)?(e.clone(o,i.normal),i.distance=a,i):new t(o,a)},t.getPointDistance=function(r,t){return e.dot(r.normal,t)+r.distance},t.prototype.getPointDistance=function(e){return t.getPointDistance(this,e)},t}),define("Core/IndexDatatype",["./defined","./DeveloperError","./Math"],function(e,r,t){"use strict";var n={UNSIGNED_BYTE:5121,UNSIGNED_SHORT:5123,UNSIGNED_INT:5125};return n.getSizeInBytes=function(e){switch(e){case n.UNSIGNED_BYTE:return Uint8Array.BYTES_PER_ELEMENT;case n.UNSIGNED_SHORT:return Uint16Array.BYTES_PER_ELEMENT;case n.UNSIGNED_INT:return Uint32Array.BYTES_PER_ELEMENT}},n.validate=function(r){return e(r)&&(r===n.UNSIGNED_BYTE||r===n.UNSIGNED_SHORT||r===n.UNSIGNED_INT)},n.createTypedArray=function(e,r){return e>t.SIXTY_FOUR_KILOBYTES?new Uint32Array(r):new Uint16Array(r)},n}),define("Core/Tipsify",["./defaultValue","./defined","./DeveloperError"],function(e,r){"use strict";var t={};return t.calculateACMR=function(t){t=e(t,e.EMPTY_OBJECT);var n=t.indices,o=t.maximumIndex,i=e(t.cacheSize,24),a=n.length;if(!r(o)){o=0;for(var u=0,s=n[u];a>u;)s>o&&(o=s),++u,s=n[u]}for(var l=[],c=0;o+1>c;c++)l[c]=0;for(var f=i+1,m=0;a>m;++m)f-l[n[m]]>i&&(l[n[m]]=f,++f);return(f-i+1)/(a/3)},t.tipsify=function(t){function n(e,r,t,n){for(;r.length>=1;){var o=r[r.length-1];if(r.splice(r.length-1,1),e[o].numLiveTriangles>0)return o}for(;n>i;){if(e[i].numLiveTriangles>0)return++i,i-1;++i}return-1}function o(e,r,t,o,i,a,u){for(var s,l=-1,c=-1,f=0;fc||-1===c)&&(c=s,l=m)),++f}return-1===l?n(o,a,e,u):l}t=e(t,e.EMPTY_OBJECT);var i,a=t.indices,u=t.maximumIndex,s=e(t.cacheSize,24),l=a.length,c=0,f=0,m=a[f],y=l;if(r(u))c=u+1;else{for(;y>f;)m>c&&(c=m),++f,m=a[f];if(-1===c)return 0;++c}for(var h=[],p=0;c>p;p++)h[p]={numLiveTriangles:0,timeStamp:0,vertexTriangles:[]};f=0;for(var d=0;y>f;)h[a[f]].vertexTriangles.push(d),++h[a[f]].numLiveTriangles,h[a[f+1]].vertexTriangles.push(d),++h[a[f+1]].numLiveTriangles,h[a[f+2]].vertexTriangles.push(d),++h[a[f+2]].numLiveTriangles,++d,f+=3;var v=0,g=s+1;i=1;var E,C,S=[],w=[],x=0,A=[],M=l/3,b=[];for(p=0;M>p;p++)b[p]=!1;for(var T,O;-1!==v;){S=[],C=h[v],O=C.vertexTriangles.length;for(var I=0;O>I;++I)if(d=C.vertexTriangles[I],!b[d]){b[d]=!0,f=d+d+d;for(var N=0;3>N;++N)T=a[f],S.push(T),w.push(T),A[x]=T,++x,E=h[T],--E.numLiveTriangles,g-E.timeStamp>s&&(E.timeStamp=g,++g),++f}v=o(a,s,S,h,g,w,c)}return A},t}),define("Core/GeometryPipeline",["./barycentricCoordinates","./defaultValue","./defined","./DeveloperError","./Cartesian2","./Cartesian3","./Cartesian4","./Cartographic","./EncodedCartesian3","./Intersect","./IntersectionTests","./Math","./Matrix3","./Matrix4","./Plane","./GeographicProjection","./ComponentDatatype","./IndexDatatype","./PrimitiveType","./Tipsify","./BoundingSphere","./Geometry","./GeometryAttribute"],function(e,r,t,n,o,i,a,u,s,l,c,f,m,y,h,p,d,v,g,E,C,S,w){"use strict";function x(e,r,t,n,o){e[r++]=t,e[r++]=n,e[r++]=n,e[r++]=o,e[r++]=o,e[r]=t}function A(e){for(var r=e.length,t=6*(r/3),n=v.createTypedArray(r,t),o=0,i=0;r>i;i+=3,o+=6)x(n,o,e[i],e[i+1],e[i+2]);return n}function M(e){var r=e.length;if(r>=3){var t=6*(r-2),n=v.createTypedArray(r,t);x(n,0,e[0],e[1],e[2]);for(var o=6,i=3;r>i;++i,o+=6)x(n,o,e[i-1],e[i],e[i-2]);return n}return new Uint16Array}function b(e){if(e.length>0){for(var r=e.length-1,t=6*(r-1),n=v.createTypedArray(r,t),o=e[0],i=0,a=1;r>a;++a,i+=6)x(n,i,o,e[a],e[a+1]);return n}return new Uint16Array}function T(e){var r={};for(var n in e)if(e.hasOwnProperty(n)&&t(e[n])&&t(e[n].values)){var o=e[n];r[n]=new w({componentDatatype:o.componentDatatype,componentsPerAttribute:o.componentsPerAttribute,normalize:o.normalize,values:[]})}return r}function O(e,r,n){for(var o in r)if(r.hasOwnProperty(o)&&t(r[o])&&t(r[o].values))for(var i=r[o],a=0;aa;a+=3)i.unpack(n,a,Z),y.multiplyByPoint(e,Z,Z),i.pack(Z,n,a)}function N(e,r){if(t(r))for(var n=r.values,o=n.length,a=0;o>a;a+=3)i.unpack(n,a,Z),m.multiplyByVector(e,Z,Z),Z=i.normalize(Z,Z),i.pack(Z,n,a)}function R(e){var r,n=e.length,o={},i=e[0].geometry.attributes;for(r in i)if(i.hasOwnProperty(r)&&t(i[r])&&t(i[r].values)){for(var a=i[r],u=a.values.length,s=!0,l=1;n>l;++l){var c=e[l].geometry.attributes[r];if(!t(c)||a.componentDatatype.value!==c.componentDatatype.value||a.componentsPerAttribute!==c.componentsPerAttribute||a.normalize!==c.normalize){s=!1;break}u+=c.values.length}s&&(o[r]=new w({componentDatatype:a.componentDatatype,componentsPerAttribute:a.componentsPerAttribute,normalize:a.normalize,values:d.createTypedArray(a.componentDatatype,u)}))}return o}function z(e){if(t(e.indices))return e;for(var r=S.computeNumberOfVertices(e),n=v.createTypedArray(r,r),o=0;r>o;++o)n[o]=o;return e.indices=n,e}function L(e){var r=S.computeNumberOfVertices(e),t=v.createTypedArray(r,3*(r-2));t[0]=1,t[1]=0,t[2]=2;for(var n=3,o=3;r>o;++o)t[n++]=o-1,t[n++]=0,t[n++]=o;return e.indices=t,e.primitiveType=g.TRIANGLES,e}function F(e){var r=S.computeNumberOfVertices(e),t=v.createTypedArray(r,3*(r-2));t[0]=0,t[1]=1,t[2]=2,r>3&&(t[3]=0,t[4]=2,t[5]=3);for(var n=6,o=3;r-1>o;o+=2)t[n++]=o,t[n++]=o-1,t[n++]=o+1,r>o+2&&(t[n++]=o,t[n++]=o+1,t[n++]=o+2);return e.indices=t,e.primitiveType=g.TRIANGLES,e}function D(e){if(t(e.indices))return e;for(var r=S.computeNumberOfVertices(e),n=v.createTypedArray(r,r),o=0;r>o;++o)n[o]=o;return e.indices=n,e}function P(e){var r=S.computeNumberOfVertices(e),t=v.createTypedArray(r,2*(r-1));t[0]=0,t[1]=1;for(var n=2,o=2;r>o;++o)t[n++]=o-1,t[n++]=o;return e.indices=t,e.primitiveType=g.LINES,e}function B(e){var r=S.computeNumberOfVertices(e),t=v.createTypedArray(r,2*r);t[0]=0,t[1]=1;for(var n=2,o=2;r>o;++o)t[n++]=o-1,t[n++]=o;return t[n++]=r-1,t[n]=0,e.indices=t,e.primitiveType=g.LINES,e}function _(e){switch(e.primitiveType){case g.TRIANGLE_FAN:return L(e);case g.TRIANGLE_STRIP:return F(e);case g.TRIANGLES:return z(e);case g.LINE_STRIP:return P(e);case g.LINE_LOOP:return B(e);case g.LINES:return D(e)}return e}function U(e,r){Math.abs(e.y)=0||r.x>=0||t.x>=0)return void 0;var n=e.y<0,o=r.y<0,i=t.y<0;U(e,n),U(r,o),U(t,i);var a=0;a+=n?1:0,a+=o?1:0,a+=i?1:0;var u=cr.indices;1===a?(u[1]=3,u[2]=4,u[5]=6,u[7]=6,u[8]=5,n?(G(e,r,ar,sr),G(e,t,ur,lr),u[0]=0,u[3]=1,u[4]=2,u[6]=1):o?(G(r,t,ar,sr),G(r,e,ur,lr),u[0]=1,u[3]=2,u[4]=0,u[6]=2):i&&(G(t,e,ar,sr),G(t,r,ur,lr),u[0]=2,u[3]=0,u[4]=1,u[6]=0)):2===a&&(u[2]=4,u[4]=4,u[5]=3,u[7]=5,u[8]=6,n?o?i||(G(t,e,ar,sr),G(t,r,ur,lr),u[0]=0,u[1]=1,u[3]=0,u[6]=2):(G(r,t,ar,sr),G(r,e,ur,lr),u[0]=2,u[1]=0,u[3]=2,u[6]=1):(G(e,r,ar,sr),G(e,t,ur,lr),u[0]=1,u[1]=2,u[3]=1,u[6]=0));var s=cr.positions;return s[0]=e,s[1]=r,s[2]=t,cr.length=3,(1===a||2===a)&&(s[3]=ar,s[4]=ur,s[5]=sr,s[6]=lr,cr.length=7),cr}function Y(r,n,a,u,s,l,c,f){if(t(s)||t(l)||t(c)||t(f)){var m,y,h,p,d,v,g,E,C,S,w,x,A,M,b,T,O,I,N=u.positions,R=N[0],z=N[1],L=N[2];t(s)&&(m=i.fromArray(s,3*r),y=i.fromArray(s,3*n),h=i.fromArray(s,3*a)),t(l)&&(p=i.fromArray(l,3*r),d=i.fromArray(l,3*n),v=i.fromArray(l,3*a)),t(c)&&(g=i.fromArray(c,3*r),E=i.fromArray(c,3*n),C=i.fromArray(c,3*a)),t(f)&&(S=o.fromArray(f,2*r),w=o.fromArray(f,2*n),x=o.fromArray(f,2*a));for(var F=3;FE;E+=3){var C=l[E],w=l[E+1],x=l[E+2],A=i.fromArray(n,3*C),M=i.fromArray(n,3*w),b=i.fromArray(n,3*x),T=q(A,M,b);if(t(T))if(c[3*C+1]=T.positions[0].y,c[3*w+1]=T.positions[1].y,c[3*x+1]=T.positions[2].y,T.length>3){for(var O=c.length/3,I=0;IN?p.push(l[E+N]):p.push(N-3+O)}for(var R=3;Rm;m+=2){var y=o[m],p=o[m+1],d=i.fromArray(n,3*y),g=i.fromArray(n,3*p);if(Math.abs(d.y)c;c+=3)s[l++]=i[c],s[l++]=i[c+1],s[l++]=i[c+2],s[l++]=i[c]+a[c]*o,s[l++]=i[c+1]+a[c+1]*o,s[l++]=i[c+2]+a[c+2]*o;var f,m=e.boundingSphere;return t(m)&&(f=new C(m.center,m.radius+o)),new S({attributes:{position:new w({componentDatatype:d.DOUBLE,componentsPerAttribute:3,values:s})},primitiveType:g.LINES,boundingSphere:f})},H.createAttributeLocations=function(e){var r,n=["position","positionHigh","positionLow","position3DHigh","position3DLow","position2DHigh","position2DLow","pickColor","normal","st","binormal","tangent"],o=e.attributes,i={},a=0,u=n.length;for(r=0;u>r;++r){var s=n[r];t(o[s])&&(i[s]=a++)}for(var l in o)o.hasOwnProperty(l)&&!t(i[l])&&(i[l]=a++);return i},H.reorderForPreVertexCache=function(e){var r=S.computeNumberOfVertices(e),n=e.indices;if(t(n)){for(var o=new Int32Array(r),i=0;r>i;i++)o[i]=-1;for(var a,u=n,s=u.length,l=v.createTypedArray(r,s),c=0,f=0,m=0;s>c;)a=o[u[c]],-1!==a?l[f]=a:(a=u[c],o[a]=m,l[f]=m,++m),++c,++f;e.indices=l;var y=e.attributes;for(var h in y)if(y.hasOwnProperty(h)&&t(y[h])&&t(y[h].values)){for(var p=y[h],g=p.values,E=0,C=p.componentsPerAttribute,w=d.createTypedArray(p.componentDatatype,m*C);r>E;){var x=o[E];if(-1!==x)for(i=0;C>i;i++)w[C*x+i]=g[C*E+i];++E}p.values=w}}return e},H.reorderForPostVertexCache=function(e,r){var n=e.indices;if(e.primitiveType===g.TRIANGLES&&t(n)){for(var o=n.length,i=0,a=0;o>a;a++)n[a]>i&&(i=n[a]);e.indices=E.tipsify({indices:n,maximumIndex:i,cacheSize:r})}return e},H.fitToUnsignedShortIndices=function(e){var r=[],n=S.computeNumberOfVertices(e);if(t(e.indices)&&n>f.SIXTY_FOUR_KILOBYTES){var o,i=[],a=[],u=0,s=T(e.attributes),l=e.indices,c=l.length;e.primitiveType===g.TRIANGLES?o=3:e.primitiveType===g.LINES?o=2:e.primitiveType===g.POINTS&&(o=1);for(var m=0;c>m;m+=o){for(var y=0;o>y;++y){var h=l[m+y],p=i[h];t(p)||(p=u++,i[h]=p,O(s,e.attributes,h)),a.push(p)}u+o>f.SIXTY_FOUR_KILOBYTES&&(r.push(new S({attributes:s,indices:a,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere})),i=[],a=[],u=0,s=T(e.attributes))}0!==a.length&&r.push(new S({attributes:s,indices:a,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere}))}else r.push(e);return r};var k=new i,K=new u;H.projectTo2D=function(e,r,o,a,u){var s=e.attributes[r];u=t(u)?u:new p;for(var l=u.ellipsoid,c=s.values,f=new Float64Array(c.length),m=0,y=0;yc;++c)s.encode(i[c],j),u[c]=j.high,l[c]=j.low;var f=o.componentsPerAttribute;return e.attributes[t]=new w({componentDatatype:d.FLOAT,componentsPerAttribute:f,values:u}),e.attributes[n]=new w({componentDatatype:d.FLOAT,componentsPerAttribute:f,values:l}),delete e.attributes[r],e};var Z=new i,Q=new y,X=new m;H.transformToWorldCoordinates=function(e){var r=e.modelMatrix;if(y.equals(r,y.IDENTITY))return e;var n=e.geometry.attributes;I(r,n.position),I(r,n.prevPosition),I(r,n.nextPosition),(t(n.normal)||t(n.binormal)||t(n.tangent))&&(y.inverse(r,Q),y.transpose(Q,Q),y.getRotation(Q,X),N(X,n.normal),N(X,n.binormal),N(X,n.tangent));var o=e.geometry.boundingSphere;return t(o)&&(e.geometry.boundingSphere=C.transform(o,r,o)),e.modelMatrix=y.clone(y.IDENTITY),e},H.combine=function(e){var r,n,o,a,u=e.length;e[0].modelMatrix;var s,l,c,f=t(e[0].geometry.indices),m=e[0].geometry.primitiveType,y=R(e);for(r in y)if(y.hasOwnProperty(r))for(s=y[r].values,a=0,n=0;u>n;++n)for(l=e[n].geometry.attributes[r].values,c=l.length,o=0;c>o;++o)s[a++]=l[o];var h;if(f){var p=0;for(n=0;u>n;++n)p+=e[n].geometry.indices.length;var d=S.computeNumberOfVertices(new S({attributes:y,primitiveType:g.POINTS})),E=v.createTypedArray(d,p),w=0,x=0;for(n=0;u>n;++n){var A=e[n].geometry.indices,M=A.length;for(a=0;M>a;++a)E[w++]=x+A[a];x+=S.computeNumberOfVertices(e[n].geometry)}h=E}var b,T=new i,O=0;for(n=0;u>n;++n){if(b=e[n].geometry.boundingSphere,!t(b)){T=void 0;break}i.add(b.center,T,T)}if(t(T))for(i.divideByScalar(T,u,T),n=0;u>n;++n){b=e[n].geometry.boundingSphere;var I=i.magnitude(i.subtract(b.center,T))+b.radius;I>O&&(O=I)}return new S({attributes:y,indices:h,primitiveType:m,boundingSphere:t(T)?new C(T,O):void 0})};var J=new i,$=new i,er=new i,rr=new i;H.computeNormal=function(e){for(var r=e.indices,t=e.attributes,n=t.position.values,o=t.position.values.length/3,a=r.length,u=new Array(o),s=new Array(a/3),l=new Array(a),c=0;o>c;c++)u[c]={indexOffset:0,count:0,currentCount:0};var f=0;for(c=0;a>c;c+=3){var m=r[c],y=r[c+1],h=r[c+2],p=3*m,v=3*y,g=3*h;$.x=n[p],$.y=n[p+1],$.z=n[p+2],er.x=n[v],er.y=n[v+1],er.z=n[v+2],rr.x=n[g],rr.y=n[g+1],rr.z=n[g+2],u[m].count++,u[y].count++,u[h].count++,i.subtract(er,$,er),i.subtract(rr,$,rr),s[f]=i.cross(er,rr),f++}var E=0;for(c=0;o>c;c++)u[c].indexOffset+=E,E+=u[c].count;f=0;var C;for(c=0;a>c;c+=3){C=u[r[c]];var S=C.indexOffset+C.currentCount;l[S]=f,C.currentCount++,C=u[r[c+1]],S=C.indexOffset+C.currentCount,l[S]=f,C.currentCount++,C=u[r[c+2]],S=C.indexOffset+C.currentCount,l[S]=f,C.currentCount++,f++}var x=new Float32Array(3*o);for(c=0;o>c;c++){var A=3*c;if(C=u[c],C.count>0){for(i.clone(i.ZERO,J),f=0;fl;l+=3){var y=r[l],h=r[l+1],p=r[l+2];c=3*y,f=3*h,m=3*p;var v=2*y,g=2*h,E=2*p,C=t[c],S=t[c+1],x=t[c+2],A=o[v],M=o[v+1],b=o[g+1]-M,T=o[E+1]-M,O=1/((o[g]-A)*T-(o[E]-A)*b),I=(T*(t[f]-C)-b*(t[m]-C))*O,N=(T*(t[f+1]-S)-b*(t[m+1]-S))*O,R=(T*(t[f+2]-x)-b*(t[m+2]-x))*O;s[c]+=I,s[c+1]+=N,s[c+2]+=R,s[f]+=I,s[f+1]+=N,s[f+2]+=R,s[m]+=I,s[m+1]+=N,s[m+2]+=R}var z=new Float32Array(3*a),L=new Float32Array(3*a);for(l=0;a>l;l++){c=3*l,f=c+1,m=c+2;var F=i.fromArray(n,c,tr),D=i.fromArray(s,c,or),P=i.dot(F,D);i.multiplyByScalar(F,P,nr),i.normalize(i.subtract(D,nr,D),D),L[c]=D.x,L[f]=D.y,L[m]=D.z,i.normalize(i.cross(F,D,D),D),z[c]=D.x,z[f]=D.y,z[m]=D.z}return e.attributes.tangent=new w({componentDatatype:d.FLOAT,componentsPerAttribute:3,values:L}),e.attributes.binormal=new w({componentDatatype:d.FLOAT,componentsPerAttribute:3,values:z}),e};var ir=new i,ar=new i,ur=new i,sr=new i,lr=new i,cr={positions:new Array(7),indices:new Array(9)};return H.wrapLongitude=function(e){var r=e.boundingSphere;if(t(r)){var n=r.center.x-r.radius;if(n>0||C.intersect(r,a.UNIT_Y)!==l.INTERSECTING)return e}return _(e),e.primitiveType===g.TRIANGLES?W(e):e.primitiveType===g.LINES&&V(e),e},H}),define("Scene/PrimitivePipeline",["../Core/defined","../Core/defaultValue","../Core/Color","../Core/ComponentDatatype","../Core/DeveloperError","../Core/FeatureDetection","../Core/Geometry","../Core/GeometryAttribute","../Core/GeometryPipeline","../Core/Matrix4"],function(e,r,t,n,o,i,a,u,s,l){"use strict";function c(e,r,t){var n,o=!t,i=e.length;if(!o&&i>1){var a=e[0].modelMatrix;for(n=1;i>n;++n)if(!l.equals(a,e[n].modelMatrix)){o=!0;break}}if(o)for(n=0;i>n;++n)s.transformToWorldCoordinates(e[n]);else l.clone(e[0].modelMatrix,r)}function f(e,r){for(var o=e.length,i=0;o>i;++i){var a=e[i],s=a.geometry,l=s.attributes,c=l.position,f=4*(c.values.length/c.componentsPerAttribute);l.pickColor=new u({componentDatatype:n.UNSIGNED_BYTE,componentsPerAttribute:4,normalize:!0,values:new Uint8Array(f)});for(var m=r[i],y=t.floatToByte(m.red),h=t.floatToByte(m.green),p=t.floatToByte(m.blue),d=t.floatToByte(m.alpha),v=l.pickColor.values,g=0;f>g;g+=4)v[g]=y,v[g+1]=h,v[g+2]=p,v[g+3]=d +}}function m(r){var t,n=r.length,o=[],i=r[0].attributes;for(t in i)if(i.hasOwnProperty(t)){for(var a=i[t],u=!0,s=1;n>s;++s){var l=r[s].attributes[t];if(!e(l)||a.componentDatatype.value!==l.componentDatatype.value||a.componentsPerAttribute!==l.componentsPerAttribute||a.normalize!==l.normalize){u=!1;break}}u&&o.push(t)}return o}function y(e,r){for(var t=e.length,o=0;t>o;++o)for(var i=e[o],s=i.attributes,l=i.geometry,c=a.computeNumberOfVertices(l),f=r.length,m=0;f>m;++m){for(var y=r[m],h=s[y],p=h.componentDatatype,d=h.value,v=d.length,g=n.createTypedArray(p,c*v),E=0;c>E;++E)g.set(d,E*v);l.attributes[y]=new u({componentDatatype:p,componentsPerAttribute:v,normalize:h.normalize,values:g})}}function h(e){var r,t=e.instances,o=e.pickIds,i=e.projection,a=e.elementIndexUintSupported,u=e.allow3DOnly,l=e.allowPicking,h=e.vertexCacheOptimize,p=e.modelMatrix,d=t.length;if(t[0].geometry.primitiveType,c(t,p,u),!u)for(r=0;d>r;++r)s.wrapLongitude(t[r].geometry);l&&f(t,o);var v=m(t);if(y(t,v),h)for(r=0;d>r;++r)s.reorderForPostVertexCache(t[r].geometry),s.reorderForPreVertexCache(t[r].geometry);var g,E=s.combine(t),C=E.attributes;if(u)for(g in C)C.hasOwnProperty(g)&&C[g].componentDatatype.value===n.DOUBLE.value&&s.encodeAttribute(E,g,g+"3DHigh",g+"3DLow");else for(g in C)if(C.hasOwnProperty(g)&&C[g].componentDatatype.value===n.DOUBLE.value){var S=g+"3D",w=g+"2D";s.projectTo2D(E,g,S,w,i),s.encodeAttribute(E,S,S+"High",S+"Low"),s.encodeAttribute(E,w,w+"High",w+"Low")}return a?[E]:s.fitToUnsignedShortIndices(E)}function p(e,r,t){for(var o=[],i=e.attributes,a=t.length,u=0;a>u;++u){var s=t[u],l=i[s],c=l.componentDatatype;c.value===n.DOUBLE.value&&(c=n.FLOAT);var f=n.createTypedArray(c,l.values);o.push({index:r[s],componentDatatype:c,componentsPerAttribute:l.componentsPerAttribute,normalize:l.normalize,values:f}),delete i[s]}return o}function d(t,n,o){for(var i=[],u=m(t),s=t.length,l={},c={},f=0;s>f;++f)for(var y=t[f],h=a.computeNumberOfVertices(y.geometry),p=u.length,d=0;p>d;++d)for(var v=u[d],g=o[v],E=h;E>0;){for(var C,S=r(c[v],0),w=n[S],x=w.length,A=0;x>A&&(C=w[A],C.index!==g);++A);e(i[f])||(i[f]={}),e(i[f][v])||(i[f][v]={dirty:!1,value:y.attributes[v].value,indices:[]});var M,b=C.values.length/C.componentsPerAttribute,T=r(l[v],0);b>T+E?(M=E,i[f][v].indices.push({attribute:C,offset:T,count:M}),l[v]=T+E):(M=b-T,i[f][v].indices.push({attribute:C,offset:T,count:M}),l[v]=0,c[v]=S+1),E-=M}return i}function v(r){return e(r.constructor.name)?{type:r.constructor.name,buffer:r.buffer}:r}function g(r){return e(r.type)?new C[r.type](r.buffer):r}if(!i.supportsTypedArrays())return{};var E={};E.combineGeometry=function(e){for(var r={instances:e.instances,pickIds:e.pickIds,ellipsoid:e.ellipsoid,projection:e.projection,elementIndexUintSupported:e.elementIndexUintSupported,allow3DOnly:e.allow3DOnly,allowPicking:e.allowPicking,vertexCacheOptimize:e.vertexCacheOptimize,modelMatrix:l.clone(e.modelMatrix)},t=h(r),n=s.createAttributeLocations(t[0]),o=r.instances,i=m(o),a=[],u=t.length,c=0;u>c;++c){var f=t[c];a.push(p(f,n,i))}var y=d(o,a,n);return{geometries:t,modelMatrix:r.modelMatrix,attributeLocations:n,vaAttributes:a,vaAttributeLocations:y}};var C={Int8Array:Int8Array,Uint8Array:Uint8Array,Int16Array:Int16Array,Uint16Array:Uint16Array,Int32Array:Int32Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array};return E.transferGeometry=function(r,t){var n,o=r.attributes;for(var a in o)o.hasOwnProperty(a)&&e(o[a])&&e(o[a].values)&&(n=o[a].values,i.supportsTransferringArrayBuffers()&&t.indexOf(o[a].values.buffer)<0&&t.push(n.buffer),e(n.type)||(o[a].values=v(n)));e(r.indices)&&(n=r.indices,i.supportsTransferringArrayBuffers()&&t.push(n.buffer),e(n.type)||(r.indices=v(r.indices)))},E.transferGeometries=function(e,r){for(var t=e.length,n=0;t>n;++n)E.transferGeometry(e[n],r)},E.transferPerInstanceAttributes=function(e,r){for(var t=e.length,n=0;t>n;++n)for(var o=e[n],a=o.length,u=0;a>u;++u){var s=o[u].values;i.supportsTransferringArrayBuffers()&&r.push(s.buffer),o[u].values=v(s)}},E.transferInstances=function(e,r){for(var t=e.length,n=0;t>n;++n){var o=e[n];E.transferGeometry(o.geometry,r)}},E.receiveGeometry=function(r){var t=r.attributes;for(var n in t)t.hasOwnProperty(n)&&e(t[n])&&e(t[n].values)&&(t[n].values=g(t[n].values));e(r.indices)&&(r.indices=g(r.indices))},E.receiveGeometries=function(e){for(var r=e.length,t=0;r>t;++t)E.receiveGeometry(e[t])},E.receivePerInstanceAttributes=function(e){for(var r=e.length,t=0;r>t;++t)for(var n=e[t],o=n.length,i=0;o>i;++i)n[i].values=g(n[i].values)},E.receiveInstances=function(e){for(var r=e.length,t=0;r>t;++t){var n=e[t];E.receiveGeometry(n.geometry)}},E}),define("Workers/createTaskProcessorWorker",["../Core/defaultValue","../Core/defined"],function(e,r){"use strict";var t=function(t){var n,o=[],i={id:void 0,result:void 0,error:void 0};return function(a){var u=a.data;o.length=0,i.id=u.id,i.error=void 0,i.result=void 0;try{i.result=t(u.parameters,o)}catch(s){i.error=s}r(n)||(n=e(self.webkitPostMessage,self.postMessage));try{n(i,o)}catch(s){i.result=void 0,i.error="postMessage failed with error: "+s+"\n with responseMessage: "+JSON.stringify(i),n(i)}}};return t}),define("Workers/createBoxOutlineGeometry",["../Core/BoxOutlineGeometry","../Scene/PrimitivePipeline","./createTaskProcessorWorker"],function(e,r,t){"use strict";function n(t,n){var o=t.geometry,i=e.createGeometry(o);return r.transferGeometry(i,n),{geometry:i,index:t.index}}return t(n)})}(); \ No newline at end of file diff --git a/Cesium/Workers/createCircleGeometry.js b/Cesium/Workers/createCircleGeometry.js new file mode 100644 index 0000000..9e43e2f --- /dev/null +++ b/Cesium/Workers/createCircleGeometry.js @@ -0,0 +1,61 @@ +/** + * Cesium - https://github.com/AnalyticalGraphicsInc/cesium + * + * Copyright 2011-2014 Cesium Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Columbus View (Pat. Pend.) + * + * Portions licensed separately. + * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details. + */ +/** +@license +mersenne-twister.js - https://gist.github.com/banksean/300494 + + Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura, + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. The names of its contributors may not be used to endorse or promote + products derived from this software without specific prior written + permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +!function(){define("Core/defined",[],function(){"use strict";var e=function(e){return void 0!==e};return e}),define("Core/freezeObject",["./defined"],function(e){"use strict";var t=Object.freeze;return e(t)||(t=function(e){return e}),t}),define("Core/defaultValue",["./freezeObject"],function(e){"use strict";var t=function(e,t){return void 0!==e?e:t};return t.EMPTY_OBJECT=e({}),t}),define("Core/DeveloperError",["./defined"],function(e){"use strict";var t=function(e){this.name="DeveloperError",this.message=e;var t;try{throw new Error}catch(r){t=r.stack}this.stack=t};return t.prototype.toString=function(){var t=this.name+": "+this.message;return e(this.stack)&&(t+="\n"+this.stack.toString()),t},t.throwInstantiationError=function(){throw new t("This function defines an interface and should not be called directly.")},t}),define("Core/Cartesian3",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,t,r,n){"use strict";var i=function(t,r,n){this.x=e(t,0),this.y=e(r,0),this.z=e(n,0)};i.fromSpherical=function(r,n){t(n)||(n=new i);var o=r.clock,a=r.cone,s=e(r.magnitude,1),u=s*Math.sin(a);return n.x=u*Math.cos(o),n.y=u*Math.sin(o),n.z=s*Math.cos(a),n},i.fromElements=function(e,r,n,o){return t(o)?(o.x=e,o.y=r,o.z=n,o):new i(e,r,n)},i.clone=function(e,r){return t(e)?t(r)?(r.x=e.x,r.y=e.y,r.z=e.z,r):new i(e.x,e.y,e.z):void 0},i.fromCartesian4=i.clone,i.packedLength=3,i.pack=function(t,r,n){n=e(n,0),r[n++]=t.x,r[n++]=t.y,r[n]=t.z},i.unpack=function(r,n,o){return n=e(n,0),t(o)||(o=new i),o.x=r[n++],o.y=r[n++],o.z=r[n],o},i.fromArray=i.unpack,i.getMaximumComponent=function(e){return Math.max(e.x,e.y,e.z)},i.getMinimumComponent=function(e){return Math.min(e.x,e.y,e.z)},i.getMinimumByComponent=function(e,r,n){return t(n)||(n=new i),n.x=Math.min(e.x,r.x),n.y=Math.min(e.y,r.y),n.z=Math.min(e.z,r.z),n},i.getMaximumByComponent=function(e,r,n){return t(n)||(n=new i),n.x=Math.max(e.x,r.x),n.y=Math.max(e.y,r.y),n.z=Math.max(e.z,r.z),n},i.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z},i.magnitude=function(e){return Math.sqrt(i.magnitudeSquared(e))};var o=new i;i.distance=function(e,t){return i.subtract(e,t,o),i.magnitude(o)},i.normalize=function(e,r){var n=i.magnitude(e);return t(r)?(r.x=e.x/n,r.y=e.y/n,r.z=e.z/n,r):new i(e.x/n,e.y/n,e.z/n)},i.dot=function(e,t){return e.x*t.x+e.y*t.y+e.z*t.z},i.multiplyComponents=function(e,r,n){return t(n)?(n.x=e.x*r.x,n.y=e.y*r.y,n.z=e.z*r.z,n):new i(e.x*r.x,e.y*r.y,e.z*r.z)},i.add=function(e,r,n){return t(n)?(n.x=e.x+r.x,n.y=e.y+r.y,n.z=e.z+r.z,n):new i(e.x+r.x,e.y+r.y,e.z+r.z)},i.subtract=function(e,r,n){return t(n)?(n.x=e.x-r.x,n.y=e.y-r.y,n.z=e.z-r.z,n):new i(e.x-r.x,e.y-r.y,e.z-r.z)},i.multiplyByScalar=function(e,r,n){return t(n)?(n.x=e.x*r,n.y=e.y*r,n.z=e.z*r,n):new i(e.x*r,e.y*r,e.z*r)},i.divideByScalar=function(e,r,n){return t(n)?(n.x=e.x/r,n.y=e.y/r,n.z=e.z/r,n):new i(e.x/r,e.y/r,e.z/r)},i.negate=function(e,r){return t(r)?(r.x=-e.x,r.y=-e.y,r.z=-e.z,r):new i(-e.x,-e.y,-e.z)},i.abs=function(e,r){return t(r)?(r.x=Math.abs(e.x),r.y=Math.abs(e.y),r.z=Math.abs(e.z),r):new i(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z))};var a=new i;i.lerp=function(e,t,r,n){return i.multiplyByScalar(t,r,a),n=i.multiplyByScalar(e,1-r,n),i.add(a,n,n)};var s=new i,u=new i;i.angleBetween=function(e,t){i.normalize(e,s),i.normalize(t,u);var r=i.dot(s,u),n=i.magnitude(i.cross(s,u,s));return Math.atan2(n,r)};var l=new i;return i.mostOrthogonalAxis=function(e,t){var r=i.normalize(e,l);return i.abs(r,r),t=r.x<=r.y?r.x<=r.z?i.clone(i.UNIT_X,t):i.clone(i.UNIT_Z,t):r.y<=r.z?i.clone(i.UNIT_Y,t):i.clone(i.UNIT_Z,t)},i.equals=function(e,r){return e===r||t(e)&&t(r)&&e.x===r.x&&e.y===r.y&&e.z===r.z},i.equalsEpsilon=function(e,r,n){return e===r||t(e)&&t(r)&&Math.abs(e.x-r.x)<=n&&Math.abs(e.y-r.y)<=n&&Math.abs(e.z-r.z)<=n},i.cross=function(e,r,n){var o=e.x,a=e.y,s=e.z,u=r.x,l=r.y,c=r.z,f=a*c-s*l,m=s*u-o*c,y=o*l-a*u;return t(n)?(n.x=f,n.y=m,n.z=y,n):new i(f,m,y)},i.ZERO=n(new i(0,0,0)),i.UNIT_X=n(new i(1,0,0)),i.UNIT_Y=n(new i(0,1,0)),i.UNIT_Z=n(new i(0,0,1)),i.prototype.clone=function(e){return i.clone(this,e)},i.prototype.equals=function(e){return i.equals(this,e)},i.prototype.equalsEpsilon=function(e,t){return i.equalsEpsilon(this,e,t)},i.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+")"},i}),define("ThirdParty/mersenne-twister",[],function(){var e=function(e){void 0==e&&(e=(new Date).getTime()),this.N=624,this.M=397,this.MATRIX_A=2567483615,this.UPPER_MASK=2147483648,this.LOWER_MASK=2147483647,this.mt=new Array(this.N),this.mti=this.N+1,this.init_genrand(e)};return e.prototype.init_genrand=function(e){for(this.mt[0]=e>>>0,this.mti=1;this.mti>>30;this.mt[this.mti]=(1812433253*((4294901760&e)>>>16)<<16)+1812433253*(65535&e)+this.mti,this.mt[this.mti]>>>=0}},e.prototype.genrand_int32=function(){var e,t=new Array(0,this.MATRIX_A);if(this.mti>=this.N){var r;for(this.mti==this.N+1&&this.init_genrand(5489),r=0;r>>1^t[1&e];for(;r>>1^t[1&e];e=this.mt[this.N-1]&this.UPPER_MASK|this.mt[0]&this.LOWER_MASK,this.mt[this.N-1]=this.mt[this.M-1]^e>>>1^t[1&e],this.mti=0}return e=this.mt[this.mti++],e^=e>>>11,e^=2636928640&e<<7,e^=4022730752&e<<15,e^=e>>>18,e>>>0},e.prototype.random=function(){return this.genrand_int32()*(1/4294967296)},e}),define("Core/Math",["./defaultValue","./defined","./DeveloperError","../ThirdParty/mersenne-twister"],function(e,t,r,n){"use strict";var i={};i.EPSILON1=.1,i.EPSILON2=.01,i.EPSILON3=.001,i.EPSILON4=1e-4,i.EPSILON5=1e-5,i.EPSILON6=1e-6,i.EPSILON7=1e-7,i.EPSILON8=1e-8,i.EPSILON9=1e-9,i.EPSILON10=1e-10,i.EPSILON11=1e-11,i.EPSILON12=1e-12,i.EPSILON13=1e-13,i.EPSILON14=1e-14,i.EPSILON15=1e-15,i.EPSILON16=1e-16,i.EPSILON17=1e-17,i.EPSILON18=1e-18,i.EPSILON19=1e-19,i.EPSILON20=1e-20,i.GRAVITATIONALPARAMETER=3986004418e5,i.SOLAR_RADIUS=6955e5,i.LUNAR_RADIUS=1737400,i.SIXTY_FOUR_KILOBYTES=65536,i.sign=function(e){return e>0?1:0>e?-1:0},i.sinh=function(e){var t=Math.pow(Math.E,e),r=Math.pow(Math.E,-1*e);return.5*(t-r)},i.cosh=function(e){var t=Math.pow(Math.E,e),r=Math.pow(Math.E,-1*e);return.5*(t+r)},i.lerp=function(e,t,r){return(1-r)*e+r*t},i.PI=Math.PI,i.ONE_OVER_PI=1/Math.PI,i.PI_OVER_TWO=.5*Math.PI,i.PI_OVER_THREE=Math.PI/3,i.PI_OVER_FOUR=Math.PI/4,i.PI_OVER_SIX=Math.PI/6,i.THREE_PI_OVER_TWO=.5*3*Math.PI,i.TWO_PI=2*Math.PI,i.ONE_OVER_TWO_PI=1/(2*Math.PI),i.RADIANS_PER_DEGREE=Math.PI/180,i.DEGREES_PER_RADIAN=180/Math.PI,i.RADIANS_PER_ARCSECOND=i.RADIANS_PER_DEGREE/3600,i.toRadians=function(e){return e*i.RADIANS_PER_DEGREE},i.toDegrees=function(e){return e*i.DEGREES_PER_RADIAN},i.convertLongitudeRange=function(e){var t=i.TWO_PI,r=e-Math.floor(e/t)*t;return r<-Math.PI?r+t:r>=Math.PI?r-t:r},i.negativePiToPi=function(e){for(var t=i.EPSILON10,r=i.PI,n=i.TWO_PI;-(r+t)>e;)e+=n;if(-r>e)return-r;for(;e>r+t;)e-=n;return e>r?r:e},i.zeroToTwoPi=function(e){var t=e%i.TWO_PI;return 0>t?(t+i.TWO_PI)%i.TWO_PI:t},i.equalsEpsilon=function(t,r,n){return n=e(n,0),Math.abs(t-r)<=n};var o=[1];i.factorial=function(e){var t=o.length;if(e>=t)for(var r=o[t-1],n=t;e>=n;n++)o.push(r*n);return o[e]},i.incrementWrap=function(t,r,n){return n=e(n,0),++t,t>r&&(t=n),t},i.isPowerOfTwo=function(e){return 0!==e&&0===(e&e-1)},i.nextPowerOfTwo=function(e){return--e,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,++e,e},i.clamp=function(e,t,r){return t>e?t:e>r?r:e};var a=new n;return i.setRandomNumberSeed=function(e){a=new n(e)},i.nextRandomNumber=function(){return a.random()},i}),define("Core/Cartographic",["./defaultValue","./defined","./DeveloperError","./freezeObject","./Math"],function(e,t,r,n,i){"use strict";var o=function(t,r,n){this.longitude=e(t,0),this.latitude=e(r,0),this.height=e(n,0)};return o.fromDegrees=function(r,n,a,s){return r=i.toRadians(e(r,0)),n=i.toRadians(e(n,0)),a=e(a,0),t(s)?(s.longitude=r,s.latitude=n,s.height=a,s):new o(r,n,a)},o.clone=function(e,r){return t(e)?t(r)?(r.longitude=e.longitude,r.latitude=e.latitude,r.height=e.height,r):new o(e.longitude,e.latitude,e.height):void 0},o.equals=function(e,r){return e===r||t(e)&&t(r)&&e.longitude===r.longitude&&e.latitude===r.latitude&&e.height===r.height},o.equalsEpsilon=function(e,r,n){return e===r||t(e)&&t(r)&&Math.abs(e.longitude-r.longitude)<=n&&Math.abs(e.latitude-r.latitude)<=n&&Math.abs(e.height-r.height)<=n},o.toString=function(e){return"("+e.longitude+", "+e.latitude+", "+e.height+")"},o.ZERO=n(new o(0,0,0)),o.prototype.clone=function(e){return o.clone(this,e)},o.prototype.equals=function(e){return o.equals(this,e)},o.prototype.equalsEpsilon=function(e,t){return o.equalsEpsilon(this,e,t)},o.prototype.toString=function(){return o.toString(this)},o}),define("Core/defineProperties",["./defined"],function(e){"use strict";var t=function(){try{return"x"in Object.defineProperty({},"x",{})}catch(e){return!1}}(),r=Object.defineProperties;return t&&e(r)||(r=function(e){return e}),r}),define("Core/Ellipsoid",["./freezeObject","./defaultValue","./defined","./defineProperties","./DeveloperError","./Math","./Cartesian3","./Cartographic"],function(e,t,r,n,i,o,a,s){"use strict";var u=function(e,r,n){e=t(e,0),r=t(r,0),n=t(n,0),this._radii=new a(e,r,n),this._radiiSquared=new a(e*e,r*r,n*n),this._radiiToTheFourth=new a(e*e*e*e,r*r*r*r,n*n*n*n),this._oneOverRadii=new a(0===e?0:1/e,0===r?0:1/r,0===n?0:1/n),this._oneOverRadiiSquared=new a(0===e?0:1/(e*e),0===r?0:1/(r*r),0===n?0:1/(n*n)),this._minimumRadius=Math.min(e,r,n),this._maximumRadius=Math.max(e,r,n),this._centerToleranceSquared=o.EPSILON1};n(u.prototype,{radii:{get:function(){return this._radii}},radiiSquared:{get:function(){return this._radiiSquared}},radiiToTheFourth:{get:function(){return this._radiiToTheFourth}},oneOverRadii:{get:function(){return this._oneOverRadii}},oneOverRadiiSquared:{get:function(){return this._oneOverRadiiSquared}},minimumRadius:{get:function(){return this._minimumRadius}},maximumRadius:{get:function(){return this._maximumRadius}}}),u.clone=function(e,t){if(!r(e))return void 0;var n=e._radii;return r(t)?(a.clone(n,t._radii),a.clone(e._radiiSquared,t._radiiSquared),a.clone(e._radiiToTheFourth,t._radiiToTheFourth),a.clone(e._oneOverRadii,t._oneOverRadii),a.clone(e._oneOverRadiiSquared,t._oneOverRadiiSquared),t._minimumRadius=e._minimumRadius,t._maximumRadius=e._maximumRadius,t._centerToleranceSquared=e._centerToleranceSquared,t):new u(n.x,n.y,n.z)},u.fromCartesian3=function(e){return r(e)?new u(e.x,e.y,e.z):new u},u.WGS84=e(new u(6378137,6378137,6356752.314245179)),u.UNIT_SPHERE=e(new u(1,1,1)),u.MOON=e(new u(o.LUNAR_RADIUS,o.LUNAR_RADIUS,o.LUNAR_RADIUS)),u.prototype.clone=function(e){return u.clone(this,e)},u.prototype.geocentricSurfaceNormal=a.normalize,u.prototype.geodeticSurfaceNormalCartographic=function(e,t){var n=e.longitude,i=e.latitude,o=Math.cos(i),s=o*Math.cos(n),u=o*Math.sin(n),l=Math.sin(i);return r(t)||(t=new a),t.x=s,t.y=u,t.z=l,a.normalize(t,t)},u.prototype.geodeticSurfaceNormal=function(e,t){return t=a.multiplyComponents(e,this._oneOverRadiiSquared,t),a.normalize(t,t)};var l=new a,c=new a;u.prototype.cartographicToCartesian=function(e,t){var r=l,n=c;this.geodeticSurfaceNormalCartographic(e,r),a.multiplyComponents(this._radiiSquared,r,n);var i=Math.sqrt(a.dot(r,n));return a.divideByScalar(n,i,n),a.multiplyByScalar(r,e.height,r),a.add(n,r,t)},u.prototype.cartographicArrayToCartesianArray=function(e,t){var n=e.length;r(t)?t.length=n:t=new Array(n);for(var i=0;n>i;i++)t[i]=this.cartographicToCartesian(e[i],t[i]);return t};var f=new a,m=new a,y=new a;u.prototype.cartesianToCartographic=function(e,t){var n=this.scaleToGeodeticSurface(e,m);if(!r(n))return void 0;var i=this.geodeticSurfaceNormal(n,f),u=a.subtract(e,n,y),l=Math.atan2(i.y,i.x),c=Math.asin(i.z),h=o.sign(a.dot(u,e))*a.magnitude(u);return r(t)?(t.longitude=l,t.latitude=c,t.height=h,t):new s(l,c,h)},u.prototype.cartesianArrayToCartographicArray=function(e,t){var n=e.length;r(t)?t.length=n:t=new Array(n);for(var i=0;n>i;++i)t[i]=this.cartesianToCartographic(e[i],t[i]);return t};var h=new a,p=new a;return u.prototype.scaleToGeodeticSurface=function(e,t){var n=e.x,i=e.y,s=e.z,u=this._oneOverRadii,l=u.x,c=u.y,f=u.z,m=n*n*l*l,y=i*i*c*c,d=s*s*f*f,v=m+y+d,g=Math.sqrt(1/v),E=a.multiplyByScalar(e,g,h);if(vo.EPSILON12);return r(t)?(t.x=n*b,t.y=i*O,t.z=s*I,t):new a(n*b,i*O,s*I)},u.prototype.scaleToGeocentricSurface=function(e,t){var r=e.x,n=e.y,i=e.z,o=this._oneOverRadiiSquared,s=1/Math.sqrt(r*r*o.x+n*n*o.y+i*i*o.z);return a.multiplyByScalar(e,s,t)},u.prototype.transformPositionToScaledSpace=function(e,t){return a.multiplyComponents(e,this._oneOverRadii,t)},u.prototype.transformPositionFromScaledSpace=function(e,t){return a.multiplyComponents(e,this._radii,t)},u.prototype.equals=function(e){return this===e||r(e)&&a.equals(this._radii,e._radii)},u.prototype.toString=function(){return this._radii.toString()},u}),define("Core/GeographicProjection",["./defaultValue","./defined","./defineProperties","./Cartesian3","./Cartographic","./Ellipsoid"],function(e,t,r,n,i,o){"use strict";var a=function(t){this._ellipsoid=e(t,o.WGS84),this._semimajorAxis=this._ellipsoid.maximumRadius,this._oneOverSemimajorAxis=1/this._semimajorAxis};return r(a.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}}),a.prototype.project=function(e,r){var i=this._semimajorAxis,o=e.longitude*i,a=e.latitude*i,s=e.height;return t(r)?(r.x=o,r.y=a,r.z=s,r):new n(o,a,s)},a.prototype.unproject=function(e,r){var n=this._oneOverSemimajorAxis,o=e.x*n,a=e.y*n,s=e.z;return t(r)?(r.longitude=o,r.latitude=a,r.height=s,r):new i(o,a,s)},a}),define("Core/Enumeration",["./defined"],function(e){"use strict";var t=function(t,r,n){if(this.value=t,this.name=r,e(n))for(var i in n)n.hasOwnProperty(i)&&(this[i]=n[i])};return t.prototype.valueOf=function(){return this.value},t.prototype.toString=function(){return this.name},t}),define("Core/Intersect",["./Enumeration"],function(e){"use strict";var t={OUTSIDE:new e(-1,"OUTSIDE"),INTERSECTING:new e(0,"INTERSECTING"),INSIDE:new e(1,"INSIDE")};return t}),define("Core/Interval",["./defaultValue"],function(e){"use strict";var t=function(t,r){this.start=e(t,0),this.stop=e(r,0)};return t}),define("Core/Cartesian4",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,t,r,n){"use strict";var i=function(t,r,n,i){this.x=e(t,0),this.y=e(r,0),this.z=e(n,0),this.w=e(i,0)};i.fromElements=function(e,r,n,o,a){return t(a)?(a.x=e,a.y=r,a.z=n,a.w=o,a):new i(e,r,n,o)},i.clone=function(e,r){return t(e)?t(r)?(r.x=e.x,r.y=e.y,r.z=e.z,r.w=e.w,r):new i(e.x,e.y,e.z,e.w):void 0},i.packedLength=4,i.pack=function(t,r,n){n=e(n,0),r[n++]=t.x,r[n++]=t.y,r[n++]=t.z,r[n]=t.w},i.unpack=function(r,n,o){return n=e(n,0),t(o)||(o=new i),o.x=r[n++],o.y=r[n++],o.z=r[n++],o.w=r[n],o},i.fromArray=i.unpack,i.getMaximumComponent=function(e){return Math.max(e.x,e.y,e.z,e.w)},i.getMinimumComponent=function(e){return Math.min(e.x,e.y,e.z,e.w)},i.getMinimumByComponent=function(e,r,n){return t(n)||(n=new i),n.x=Math.min(e.x,r.x),n.y=Math.min(e.y,r.y),n.z=Math.min(e.z,r.z),n.w=Math.min(e.w,r.w),n},i.getMaximumByComponent=function(e,r,n){return t(n)||(n=new i),n.x=Math.max(e.x,r.x),n.y=Math.max(e.y,r.y),n.z=Math.max(e.z,r.z),n.w=Math.max(e.w,r.w),n},i.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w},i.magnitude=function(e){return Math.sqrt(i.magnitudeSquared(e))};var o=new i;i.distance=function(e,t){return i.subtract(e,t,o),i.magnitude(o)},i.normalize=function(e,r){var n=i.magnitude(e);return t(r)?(r.x=e.x/n,r.y=e.y/n,r.z=e.z/n,r.w=e.w/n,r):new i(e.x/n,e.y/n,e.z/n,e.w/n)},i.dot=function(e,t){return e.x*t.x+e.y*t.y+e.z*t.z+e.w*t.w},i.multiplyComponents=function(e,r,n){return t(n)?(n.x=e.x*r.x,n.y=e.y*r.y,n.z=e.z*r.z,n.w=e.w*r.w,n):new i(e.x*r.x,e.y*r.y,e.z*r.z,e.w*r.w)},i.add=function(e,r,n){return t(n)?(n.x=e.x+r.x,n.y=e.y+r.y,n.z=e.z+r.z,n.w=e.w+r.w,n):new i(e.x+r.x,e.y+r.y,e.z+r.z,e.w+r.w)},i.subtract=function(e,r,n){return t(n)?(n.x=e.x-r.x,n.y=e.y-r.y,n.z=e.z-r.z,n.w=e.w-r.w,n):new i(e.x-r.x,e.y-r.y,e.z-r.z,e.w-r.w)},i.multiplyByScalar=function(e,r,n){return t(n)?(n.x=e.x*r,n.y=e.y*r,n.z=e.z*r,n.w=e.w*r,n):new i(e.x*r,e.y*r,e.z*r,e.w*r)},i.divideByScalar=function(e,r,n){return t(n)?(n.x=e.x/r,n.y=e.y/r,n.z=e.z/r,n.w=e.w/r,n):new i(e.x/r,e.y/r,e.z/r,e.w/r)},i.negate=function(e,r){return t(r)?(r.x=-e.x,r.y=-e.y,r.z=-e.z,r.w=-e.w,r):new i(-e.x,-e.y,-e.z,-e.w)},i.abs=function(e,r){return t(r)?(r.x=Math.abs(e.x),r.y=Math.abs(e.y),r.z=Math.abs(e.z),r.w=Math.abs(e.w),r):new i(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z),Math.abs(e.w))};var a=new i;i.lerp=function(e,t,r,n){return i.multiplyByScalar(t,r,a),n=i.multiplyByScalar(e,1-r,n),i.add(a,n,n)};var s=new i;return i.mostOrthogonalAxis=function(e,t){var r=i.normalize(e,s);return i.abs(r,r),t=r.x<=r.y?r.x<=r.z?r.x<=r.w?i.clone(i.UNIT_X,t):i.clone(i.UNIT_W,t):r.z<=r.w?i.clone(i.UNIT_Z,t):i.clone(i.UNIT_W,t):r.y<=r.z?r.y<=r.w?i.clone(i.UNIT_Y,t):i.clone(i.UNIT_W,t):r.z<=r.w?i.clone(i.UNIT_Z,t):i.clone(i.UNIT_W,t)},i.equals=function(e,r){return e===r||t(e)&&t(r)&&e.x===r.x&&e.y===r.y&&e.z===r.z&&e.w===r.w},i.equalsEpsilon=function(e,r,n){return e===r||t(e)&&t(r)&&Math.abs(e.x-r.x)<=n&&Math.abs(e.y-r.y)<=n&&Math.abs(e.z-r.z)<=n&&Math.abs(e.w-r.w)<=n},i.ZERO=n(new i(0,0,0,0)),i.UNIT_X=n(new i(1,0,0,0)),i.UNIT_Y=n(new i(0,1,0,0)),i.UNIT_Z=n(new i(0,0,1,0)),i.UNIT_W=n(new i(0,0,0,1)),i.prototype.clone=function(e){return i.clone(this,e)},i.prototype.equals=function(e){return i.equals(this,e)},i.prototype.equalsEpsilon=function(e,t){return i.equalsEpsilon(this,e,t)},i.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+", "+this.w+")"},i}),define("Core/Matrix3",["./Cartesian3","./defaultValue","./defined","./DeveloperError","./freezeObject","./Math"],function(e,t,r,n,i,o){"use strict";function a(e){for(var t=0,r=0;9>r;++r){var n=e[r];t+=n*n}return Math.sqrt(t)}function s(e){for(var t=0,r=0;3>r;++r){var n=e[l.getElementIndex(f[r],c[r])];t+=2*n*n}return Math.sqrt(t)}function u(e,t){for(var r=o.EPSILON15,n=0,i=1,a=0;3>a;++a){var s=Math.abs(e[l.getElementIndex(f[a],c[a])]);s>n&&(i=a,n=s)}var u=1,m=0,y=c[i],h=f[i];if(Math.abs(e[l.getElementIndex(h,y)])>r){var p,d=e[l.getElementIndex(h,h)],v=e[l.getElementIndex(y,y)],g=e[l.getElementIndex(h,y)],E=(d-v)/2/g;p=0>E?-1/(-E+Math.sqrt(1+E*E)):1/(E+Math.sqrt(1+E*E)),u=1/Math.sqrt(1+p*p),m=p*u}return t=l.clone(l.IDENTITY,t),t[l.getElementIndex(y,y)]=t[l.getElementIndex(h,h)]=u,t[l.getElementIndex(h,y)]=m,t[l.getElementIndex(y,h)]=-m,t}var l=function(e,r,n,i,o,a,s,u,l){this[0]=t(e,0),this[1]=t(i,0),this[2]=t(s,0),this[3]=t(r,0),this[4]=t(o,0),this[5]=t(u,0),this[6]=t(n,0),this[7]=t(a,0),this[8]=t(l,0)};l.clone=function(e,t){return r(e)?r(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t):new l(e[0],e[3],e[6],e[1],e[4],e[7],e[2],e[5],e[8]):void 0},l.fromArray=function(e,n,i){return n=t(n,0),r(i)||(i=new l),i[0]=e[n],i[1]=e[n+1],i[2]=e[n+2],i[3]=e[n+3],i[4]=e[n+4],i[5]=e[n+5],i[6]=e[n+6],i[7]=e[n+7],i[8]=e[n+8],i[9]=e[n+9],i},l.fromColumnMajorArray=function(e,t){return l.clone(e,t)},l.fromRowMajorArray=function(e,t){return r(t)?(t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8],t):new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])},l.fromQuaternion=function(e,t){var n=e.x*e.x,i=e.x*e.y,o=e.x*e.z,a=e.x*e.w,s=e.y*e.y,u=e.y*e.z,c=e.y*e.w,f=e.z*e.z,m=e.z*e.w,y=e.w*e.w,h=n-s-f+y,p=2*(i-m),d=2*(o+c),v=2*(i+m),g=-n+s-f+y,E=2*(u-a),w=2*(o-c),S=2*(u+a),x=-n-s+f+y;return r(t)?(t[0]=h,t[1]=v,t[2]=w,t[3]=p,t[4]=g,t[5]=S,t[6]=d,t[7]=E,t[8]=x,t):new l(h,p,d,v,g,E,w,S,x)},l.fromScale=function(e,t){return r(t)?(t[0]=e.x,t[1]=0,t[2]=0,t[3]=0,t[4]=e.y,t[5]=0,t[6]=0,t[7]=0,t[8]=e.z,t):new l(e.x,0,0,0,e.y,0,0,0,e.z)},l.fromUniformScale=function(e,t){return r(t)?(t[0]=e,t[1]=0,t[2]=0,t[3]=0,t[4]=e,t[5]=0,t[6]=0,t[7]=0,t[8]=e,t):new l(e,0,0,0,e,0,0,0,e)},l.fromRotationX=function(e,t){var n=Math.cos(e),i=Math.sin(e);return r(t)?(t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=n,t[5]=i,t[6]=0,t[7]=-i,t[8]=n,t):new l(1,0,0,0,n,-i,0,i,n)},l.fromRotationY=function(e,t){var n=Math.cos(e),i=Math.sin(e);return r(t)?(t[0]=n,t[1]=0,t[2]=-i,t[3]=0,t[4]=1,t[5]=0,t[6]=i,t[7]=0,t[8]=n,t):new l(n,0,i,0,1,0,-i,0,n)},l.fromRotationZ=function(e,t){var n=Math.cos(e),i=Math.sin(e);return r(t)?(t[0]=n,t[1]=i,t[2]=0,t[3]=-i,t[4]=n,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t):new l(n,-i,0,i,n,0,0,0,1)},l.toArray=function(e,t){return r(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8]]},l.getElementIndex=function(e,t){return 3*e+t},l.getColumn=function(t,n,i){var o=3*n,a=t[o],s=t[o+1],u=t[o+2];return r(i)?(i.x=a,i.y=s,i.z=u,i):new e(a,s,u)},l.setColumn=function(e,t,r,n){n=l.clone(e,n);var i=3*t;return n[i]=r.x,n[i+1]=r.y,n[i+2]=r.z,n},l.getRow=function(t,n,i){var o=t[n],a=t[n+3],s=t[n+6];return r(i)?(i.x=o,i.y=a,i.z=s,i):new e(o,a,s)},l.setRow=function(e,t,r,n){return n=l.clone(e,n),n[t]=r.x,n[t+3]=r.y,n[t+6]=r.z,n},l.multiply=function(e,t,n){var i=e[0]*t[0]+e[3]*t[1]+e[6]*t[2],o=e[1]*t[0]+e[4]*t[1]+e[7]*t[2],a=e[2]*t[0]+e[5]*t[1]+e[8]*t[2],s=e[0]*t[3]+e[3]*t[4]+e[6]*t[5],u=e[1]*t[3]+e[4]*t[4]+e[7]*t[5],c=e[2]*t[3]+e[5]*t[4]+e[8]*t[5],f=e[0]*t[6]+e[3]*t[7]+e[6]*t[8],m=e[1]*t[6]+e[4]*t[7]+e[7]*t[8],y=e[2]*t[6]+e[5]*t[7]+e[8]*t[8];return r(n)?(n[0]=i,n[1]=o,n[2]=a,n[3]=s,n[4]=u,n[5]=c,n[6]=f,n[7]=m,n[8]=y,n):new l(i,s,f,o,u,m,a,c,y)},l.multiplyByVector=function(t,n,i){var o=n.x,a=n.y,s=n.z,u=t[0]*o+t[3]*a+t[6]*s,l=t[1]*o+t[4]*a+t[7]*s,c=t[2]*o+t[5]*a+t[8]*s;return r(i)?(i.x=u,i.y=l,i.z=c,i):new e(u,l,c)},l.multiplyByScalar=function(e,t,n){return r(n)?(n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n[4]=e[4]*t,n[5]=e[5]*t,n[6]=e[6]*t,n[7]=e[7]*t,n[8]=e[8]*t,n):new l(e[0]*t,e[3]*t,e[6]*t,e[1]*t,e[4]*t,e[7]*t,e[2]*t,e[5]*t,e[8]*t)},l.negate=function(e,t){return r(t)?(t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t[4]=-e[4],t[5]=-e[5],t[6]=-e[6],t[7]=-e[7],t[8]=-e[8],t):new l(-e[0],-e[3],-e[6],-e[1],-e[4],-e[7],-e[2],-e[5],-e[8])},l.transpose=function(e,t){var n=e[0],i=e[3],o=e[6],a=e[1],s=e[4],u=e[7],c=e[2],f=e[5],m=e[8];return r(t)?(t[0]=n,t[1]=i,t[2]=o,t[3]=a,t[4]=s,t[5]=u,t[6]=c,t[7]=f,t[8]=m,t):new l(n,a,c,i,s,f,o,u,m)};var c=[1,0,0],f=[2,2,1],m=new l,y=new l;return l.getEigenDecomposition=function(e,t){var n=o.EPSILON20,i=10,c=0,f=0;r(t)||(t={});for(var h=t.unitary=l.clone(l.IDENTITY,t.unitary),p=t.diagonal=l.clone(e,t.diagonal),d=n*a(p);i>f&&s(p)>d;)u(p,m),l.transpose(m,y),l.multiply(p,m,p),l.multiply(y,p,p),l.multiply(h,m,h),++c>2&&(++f,c=0);return t},l.abs=function(e,t){return r(t)?(t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t[3]=Math.abs(e[3]),t[4]=Math.abs(e[4]),t[5]=Math.abs(e[5]),t[6]=Math.abs(e[6]),t[7]=Math.abs(e[7]),t[8]=Math.abs(e[8]),t):new l(Math.abs(e[0]),Math.abs(e[3]),Math.abs(e[6]),Math.abs(e[1]),Math.abs(e[4]),Math.abs(e[7]),Math.abs(e[2]),Math.abs(e[5]),Math.abs(e[8]))},l.determinant=function(e){var t=e[0],r=e[3],n=e[6],i=e[1],o=e[4],a=e[7],s=e[2],u=e[5],l=e[8];return t*(o*l-u*a)+i*(u*n-r*l)+s*(r*a-o*n)},l.inverse=function(e,t){var r=e[0],i=e[1],a=e[2],s=e[3],u=e[4],c=e[5],f=e[6],m=e[7],y=e[8],h=l.determinant(e);if(Math.abs(h)<=o.EPSILON15)throw new n("matrix is not invertible");var p=new l(u*y-m*c,f*c-s*y,s*m-f*u,m*a-i*y,r*y-f*a,f*i-r*m,i*c-u*a,s*a-r*c,r*u-s*i),d=1/h;return l.multiplyByScalar(p,d,t)},l.equals=function(e,t){return e===t||r(e)&&r(t)&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]},l.equalsEpsilon=function(e,t,n){return e===t||r(e)&&r(t)&&Math.abs(e[0]-t[0])<=n&&Math.abs(e[1]-t[1])<=n&&Math.abs(e[2]-t[2])<=n&&Math.abs(e[3]-t[3])<=n&&Math.abs(e[4]-t[4])<=n&&Math.abs(e[5]-t[5])<=n&&Math.abs(e[6]-t[6])<=n&&Math.abs(e[7]-t[7])<=n&&Math.abs(e[8]-t[8])<=n},l.IDENTITY=i(new l(1,0,0,0,1,0,0,0,1)),l.COLUMN0ROW0=0,l.COLUMN0ROW1=1,l.COLUMN0ROW2=2,l.COLUMN1ROW0=3,l.COLUMN1ROW1=4,l.COLUMN1ROW2=5,l.COLUMN2ROW0=6,l.COLUMN2ROW1=7,l.COLUMN2ROW2=8,l.prototype.clone=function(e){return l.clone(this,e)},l.prototype.equals=function(e){return l.equals(this,e)},l.prototype.equalsEpsilon=function(e,t){return l.equalsEpsilon(this,e,t)},l.prototype.toString=function(){return"("+this[0]+", "+this[3]+", "+this[6]+")\n"+"("+this[1]+", "+this[4]+", "+this[7]+")\n"+"("+this[2]+", "+this[5]+", "+this[8]+")"},l}),define("Core/RuntimeError",["./defined"],function(e){"use strict";var t=function(e){this.name="RuntimeError",this.message=e;var t;try{throw new Error}catch(r){t=r.stack}this.stack=t};return t.prototype.toString=function(){var t=this.name+": "+this.message;return e(this.stack)&&(t+="\n"+this.stack.toString()),t},t}),define("Core/Matrix4",["./Cartesian3","./Cartesian4","./defaultValue","./defined","./DeveloperError","./freezeObject","./Math","./Matrix3","./RuntimeError"],function(e,t,r,n,i,o,a,s,u){"use strict";var l=function(e,t,n,i,o,a,s,u,l,c,f,m,y,h,p,d){this[0]=r(e,0),this[1]=r(o,0),this[2]=r(l,0),this[3]=r(y,0),this[4]=r(t,0),this[5]=r(a,0),this[6]=r(c,0),this[7]=r(h,0),this[8]=r(n,0),this[9]=r(s,0),this[10]=r(f,0),this[11]=r(p,0),this[12]=r(i,0),this[13]=r(u,0),this[14]=r(m,0),this[15]=r(d,0)};l.clone=function(e,t){return n(e)?n(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t):new l(e[0],e[4],e[8],e[12],e[1],e[5],e[9],e[13],e[2],e[6],e[10],e[14],e[3],e[7],e[11],e[15]):void 0},l.fromArray=function(e,t,i){return t=r(t,0),n(i)||(i=new l),i[0]=e[t],i[1]=e[t+1],i[2]=e[t+2],i[3]=e[t+3],i[4]=e[t+4],i[5]=e[t+5],i[6]=e[t+6],i[7]=e[t+7],i[8]=e[t+8],i[9]=e[t+9],i[10]=e[t+10],i[11]=e[t+11],i[12]=e[t+12],i[13]=e[t+13],i[14]=e[t+14],i[15]=e[t+15],i},l.fromColumnMajorArray=function(e,t){return l.clone(e,t)},l.fromRowMajorArray=function(e,t){return n(t)?(t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15],t):new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])},l.fromRotationTranslation=function(e,t,r){return n(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=0,r[4]=e[3],r[5]=e[4],r[6]=e[5],r[7]=0,r[8]=e[6],r[9]=e[7],r[10]=e[8],r[11]=0,r[12]=t.x,r[13]=t.y,r[14]=t.z,r[15]=1,r):new l(e[0],e[3],e[6],t.x,e[1],e[4],e[7],t.y,e[2],e[5],e[8],t.z,0,0,0,1)},new s,l.fromTranslationQuaternionRotationScale=function(e,t,r,i){n(i)||(i=new l);var o=r.x,a=r.y,s=r.z,u=t.x*t.x,c=t.x*t.y,f=t.x*t.z,m=t.x*t.w,y=t.y*t.y,h=t.y*t.z,p=t.y*t.w,d=t.z*t.z,v=t.z*t.w,g=t.w*t.w,E=u-y-d+g,w=2*(c-v),S=2*(f+p),x=2*(c+v),C=-u+y-d+g,A=2*(h-m),M=2*(f-p),T=2*(h+m),b=-u-y+d+g;return i[0]=E*o,i[1]=x*o,i[2]=M*o,i[3]=0,i[4]=w*a,i[5]=C*a,i[6]=T*a,i[7]=0,i[8]=S*s,i[9]=A*s,i[10]=b*s,i[11]=0,i[12]=e.x,i[13]=e.y,i[14]=e.z,i[15]=1,i},l.fromTranslation=function(e,t){return l.fromRotationTranslation(s.IDENTITY,e,t)},l.fromScale=function(e,t){return n(t)?(t[0]=e.x,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e.y,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e.z,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t):new l(e.x,0,0,0,0,e.y,0,0,0,0,e.z,0,0,0,0,1)},l.fromUniformScale=function(e,t){return n(t)?(t[0]=e,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t):new l(e,0,0,0,0,e,0,0,0,0,e,0,0,0,0,1)};var c=new e,f=new e,m=new e;l.fromCamera=function(t,r){var i=t.eye,o=t.target,a=t.up;e.normalize(e.subtract(o,i,c),c),e.normalize(e.cross(c,a,f),f),e.normalize(e.cross(f,c,m),m);var s=f.x,u=f.y,y=f.z,h=c.x,p=c.y,d=c.z,v=m.x,g=m.y,E=m.z,w=i.x,S=i.y,x=i.z,C=s*-w+u*-S+y*-x,A=v*-w+g*-S+E*-x,M=h*w+p*S+d*x;return n(r)?(r[0]=s,r[1]=v,r[2]=-h,r[3]=0,r[4]=u,r[5]=g,r[6]=-p,r[7]=0,r[8]=y,r[9]=E,r[10]=-d,r[11]=0,r[12]=C,r[13]=A,r[14]=M,r[15]=1,r):new l(s,u,y,C,v,g,E,A,-h,-p,-d,M,0,0,0,1)},l.computePerspectiveFieldOfView=function(e,t,r,i,o){var a=Math.tan(.5*e),s=1/a,u=s/t,c=(i+r)/(r-i),f=2*i*r/(r-i);return n(o)?(o[0]=u,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=s,o[6]=0,o[7]=0,o[8]=0,o[9]=0,o[10]=c,o[11]=-1,o[12]=0,o[13]=0,o[14]=f,o[15]=0,o):new l(u,0,0,0,0,s,0,0,0,0,c,f,0,0,-1,0)},l.computeOrthographicOffCenter=function(e,t,r,i,o,a,s){var u=1/(t-e),c=1/(i-r),f=1/(a-o),m=-(t+e)*u,y=-(i+r)*c,h=-(a+o)*f;return u*=2,c*=2,f*=-2,n(s)?(s[0]=u,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=c,s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=f,s[11]=0,s[12]=m,s[13]=y,s[14]=h,s[15]=1,s):new l(u,0,0,m,0,c,0,y,0,0,f,h,0,0,0,1)},l.computePerspectiveOffCenter=function(e,t,r,i,o,a,s){var u=2*o/(t-e),c=2*o/(i-r),f=(t+e)/(t-e),m=(i+r)/(i-r),y=-(a+o)/(a-o),h=-1,p=-2*a*o/(a-o);return n(s)?(s[0]=u,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=c,s[6]=0,s[7]=0,s[8]=f,s[9]=m,s[10]=y,s[11]=h,s[12]=0,s[13]=0,s[14]=p,s[15]=0,s):new l(u,0,f,0,0,c,m,0,0,0,y,p,0,0,h,0)},l.computeInfinitePerspectiveOffCenter=function(e,t,r,i,o,a){var s=2*o/(t-e),u=2*o/(i-r),c=(t+e)/(t-e),f=(i+r)/(i-r),m=-1,y=-1,h=-2*o;return n(a)?(a[0]=s,a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=u,a[6]=0,a[7]=0,a[8]=c,a[9]=f,a[10]=m,a[11]=y,a[12]=0,a[13]=0,a[14]=h,a[15]=0,a):new l(s,0,c,0,0,u,f,0,0,0,m,h,0,0,y,0)},l.computeViewportTransformation=function(e,t,i,o){e=r(e,r.EMPTY_OBJECT);var a=r(e.x,0),s=r(e.y,0),u=r(e.width,0),c=r(e.height,0);t=r(t,0),i=r(i,1);var f=.5*u,m=.5*c,y=.5*(i-t),h=f,p=m,d=y,v=a+f,g=s+m,E=t+y,w=1;return n(o)?(o[0]=h,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=p,o[6]=0,o[7]=0,o[8]=0,o[9]=0,o[10]=d,o[11]=0,o[12]=v,o[13]=g,o[14]=E,o[15]=w,o):new l(h,0,0,v,0,p,0,g,0,0,d,E,0,0,0,w)},l.toArray=function(e,t){return n(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]]},l.getElementIndex=function(e,t){return 4*e+t},l.getColumn=function(e,r,i){var o=4*r,a=e[o],s=e[o+1],u=e[o+2],l=e[o+3];return n(i)?(i.x=a,i.y=s,i.z=u,i.w=l,i):new t(a,s,u,l)},l.setColumn=function(e,t,r,n){n=l.clone(e,n);var i=4*t;return n[i]=r.x,n[i+1]=r.y,n[i+2]=r.z,n[i+3]=r.w,n},l.getRow=function(e,r,i){var o=e[r],a=e[r+4],s=e[r+8],u=e[r+12];return n(i)?(i.x=o,i.y=a,i.z=s,i.w=u,i):new t(o,a,s,u)},l.setRow=function(e,t,r,n){return n=l.clone(e,n),n[t]=r.x,n[t+4]=r.y,n[t+8]=r.z,n[t+12]=r.w,n},l.multiply=function(e,t,r){var i=e[0],o=e[1],a=e[2],s=e[3],u=e[4],c=e[5],f=e[6],m=e[7],y=e[8],h=e[9],p=e[10],d=e[11],v=e[12],g=e[13],E=e[14],w=e[15],S=t[0],x=t[1],C=t[2],A=t[3],M=t[4],T=t[5],b=t[6],O=t[7],I=t[8],N=t[9],z=t[10],R=t[11],L=t[12],F=t[13],P=t[14],D=t[15],_=i*S+u*x+y*C+v*A,B=o*S+c*x+h*C+g*A,U=a*S+f*x+p*C+E*A,G=s*S+m*x+d*C+w*A,q=i*M+u*T+y*b+v*O,W=o*M+c*T+h*b+g*O,Y=a*M+f*T+p*b+E*O,V=s*M+m*T+d*b+w*O,H=i*I+u*N+y*z+v*R,k=o*I+c*N+h*z+g*R,j=a*I+f*N+p*z+E*R,K=s*I+m*N+d*z+w*R,Z=i*L+u*F+y*P+v*D,Q=o*L+c*F+h*P+g*D,J=a*L+f*F+p*P+E*D,X=s*L+m*F+d*P+w*D;return n(r)?(r[0]=_,r[1]=B,r[2]=U,r[3]=G,r[4]=q,r[5]=W,r[6]=Y,r[7]=V,r[8]=H,r[9]=k,r[10]=j,r[11]=K,r[12]=Z,r[13]=Q,r[14]=J,r[15]=X,r):new l(_,q,H,Z,B,W,k,Q,U,Y,j,J,G,V,K,X)},l.multiplyTransformation=function(e,t,r){var i=e[0],o=e[1],a=e[2],s=e[4],u=e[5],c=e[6],f=e[8],m=e[9],y=e[10],h=e[12],p=e[13],d=e[14],v=t[0],g=t[1],E=t[2],w=t[4],S=t[5],x=t[6],C=t[8],A=t[9],M=t[10],T=t[12],b=t[13],O=t[14],I=i*v+s*g+f*E,N=o*v+u*g+m*E,z=a*v+c*g+y*E,R=i*w+s*S+f*x,L=o*w+u*S+m*x,F=a*w+c*S+y*x,P=i*C+s*A+f*M,D=o*C+u*A+m*M,_=a*C+c*A+y*M,B=i*T+s*b+f*O+h,U=o*T+u*b+m*O+p,G=a*T+c*b+y*O+d;return n(r)?(r[0]=I,r[1]=N,r[2]=z,r[3]=0,r[4]=R,r[5]=L,r[6]=F,r[7]=0,r[8]=P,r[9]=D,r[10]=_,r[11]=0,r[12]=B,r[13]=U,r[14]=G,r[15]=1,r):new l(I,R,P,B,N,L,D,U,z,F,_,G,0,0,0,1) +},l.multiplyByTranslation=function(e,t,r){var i=t.x,o=t.y,a=t.z,s=i*e[0]+o*e[4]+a*e[8]+e[12],u=i*e[1]+o*e[5]+a*e[9]+e[13],c=i*e[2]+o*e[6]+a*e[10]+e[14];return n(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r[9]=e[9],r[10]=e[10],r[11]=e[11],r[12]=s,r[13]=u,r[14]=c,r[15]=e[15],r):new l(e[0],e[4],e[8],s,e[1],e[5],e[9],u,e[2],e[6],e[10],c,e[3],e[7],e[11],e[15])};var y=new e;return l.multiplyByUniformScale=function(e,t,r){return y.x=t,y.y=t,y.z=t,l.multiplyByScale(e,y,r)},l.multiplyByScale=function(e,t,r){var i=t.x,o=t.y,a=t.z;return 1===i&&1===o&&1===a?l.clone(e,r):n(r)?(r[0]=i*e[0],r[1]=i*e[1],r[2]=i*e[2],r[3]=0,r[4]=o*e[4],r[5]=o*e[5],r[6]=o*e[6],r[7]=0,r[8]=a*e[8],r[9]=a*e[9],r[10]=a*e[10],r[11]=0,r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=1,r):new l(i*e[0],o*e[4],a*e[8],e[12],i*e[1],o*e[5],a*e[9],e[13],i*e[2],o*e[6],a*e[10],e[14],0,0,0,1)},l.multiplyByVector=function(e,r,i){var o=r.x,a=r.y,s=r.z,u=r.w,l=e[0]*o+e[4]*a+e[8]*s+e[12]*u,c=e[1]*o+e[5]*a+e[9]*s+e[13]*u,f=e[2]*o+e[6]*a+e[10]*s+e[14]*u,m=e[3]*o+e[7]*a+e[11]*s+e[15]*u;return n(i)?(i.x=l,i.y=c,i.z=f,i.w=m,i):new t(l,c,f,m)},l.multiplyByPointAsVector=function(t,r,i){var o=r.x,a=r.y,s=r.z,u=t[0]*o+t[4]*a+t[8]*s,l=t[1]*o+t[5]*a+t[9]*s,c=t[2]*o+t[6]*a+t[10]*s;return n(i)?(i.x=u,i.y=l,i.z=c,i):new e(u,l,c)},l.multiplyByPoint=function(t,r,i){var o=r.x,a=r.y,s=r.z,u=t[0]*o+t[4]*a+t[8]*s+t[12],l=t[1]*o+t[5]*a+t[9]*s+t[13],c=t[2]*o+t[6]*a+t[10]*s+t[14];return n(i)?(i.x=u,i.y=l,i.z=c,i):new e(u,l,c)},l.multiplyByScalar=function(e,t,r){return n(r)?(r[0]=e[0]*t,r[1]=e[1]*t,r[2]=e[2]*t,r[3]=e[3]*t,r[4]=e[4]*t,r[5]=e[5]*t,r[6]=e[6]*t,r[7]=e[7]*t,r[8]=e[8]*t,r[9]=e[9]*t,r[10]=e[10]*t,r[11]=e[11]*t,r[12]=e[12]*t,r[13]=e[13]*t,r[14]=e[14]*t,r[15]=e[15]*t,r):new l(e[0]*t,e[4]*t,e[8]*t,e[12]*t,e[1]*t,e[5]*t,e[9]*t,e[13]*t,e[2]*t,e[6]*t,e[10]*t,e[14]*t,e[3]*t,e[7]*t,e[11]*t,e[15]*t)},l.negate=function(e,t){return n(t)?(t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t[4]=-e[4],t[5]=-e[5],t[6]=-e[6],t[7]=-e[7],t[8]=-e[8],t[9]=-e[9],t[10]=-e[10],t[11]=-e[11],t[12]=-e[12],t[13]=-e[13],t[14]=-e[14],t[15]=-e[15],t):new l(-e[0],-e[4],-e[8],-e[12],-e[1],-e[5],-e[9],-e[13],-e[2],-e[6],-e[10],-e[14],-e[3],-e[7],-e[11],-e[15])},l.transpose=function(e,t){if(!n(t))return new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]);var r=e[1],i=e[2],o=e[3],a=e[6],s=e[7],u=e[11];return t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=r,t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=i,t[9]=a,t[10]=e[10],t[11]=e[14],t[12]=o,t[13]=s,t[14]=u,t[15]=e[15],t},l.abs=function(e,t){return n(t)?(t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t[3]=Math.abs(e[3]),t[4]=Math.abs(e[4]),t[5]=Math.abs(e[5]),t[6]=Math.abs(e[6]),t[7]=Math.abs(e[7]),t[8]=Math.abs(e[8]),t[9]=Math.abs(e[9]),t[10]=Math.abs(e[10]),t[11]=Math.abs(e[11]),t[12]=Math.abs(e[12]),t[13]=Math.abs(e[13]),t[14]=Math.abs(e[14]),t[15]=Math.abs(e[15]),t):new l(Math.abs(e[0]),Math.abs(e[4]),Math.abs(e[8]),Math.abs(e[12]),Math.abs(e[1]),Math.abs(e[5]),Math.abs(e[9]),Math.abs(e[13]),Math.abs(e[2]),Math.abs(e[6]),Math.abs(e[10]),Math.abs(e[14]),Math.abs(e[3]),Math.abs(e[7]),Math.abs(e[11]),Math.abs(e[15]))},l.equals=function(e,t){return e===t||n(e)&&n(t)&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15]},l.equalsEpsilon=function(e,t,r){return e===t||n(e)&&n(t)&&Math.abs(e[0]-t[0])<=r&&Math.abs(e[1]-t[1])<=r&&Math.abs(e[2]-t[2])<=r&&Math.abs(e[3]-t[3])<=r&&Math.abs(e[4]-t[4])<=r&&Math.abs(e[5]-t[5])<=r&&Math.abs(e[6]-t[6])<=r&&Math.abs(e[7]-t[7])<=r&&Math.abs(e[8]-t[8])<=r&&Math.abs(e[9]-t[9])<=r&&Math.abs(e[10]-t[10])<=r&&Math.abs(e[11]-t[11])<=r&&Math.abs(e[12]-t[12])<=r&&Math.abs(e[13]-t[13])<=r&&Math.abs(e[14]-t[14])<=r&&Math.abs(e[15]-t[15])<=r},l.getTranslation=function(t,r){return n(r)?(r.x=t[12],r.y=t[13],r.z=t[14],r):new e(t[12],t[13],t[14])},l.getRotation=function(e,t){return n(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[4],t[4]=e[5],t[5]=e[6],t[6]=e[8],t[7]=e[9],t[8]=e[10],t):new s(e[0],e[4],e[8],e[1],e[5],e[9],e[2],e[6],e[10])},l.inverse=function(e,t){var r=e[0],i=e[4],o=e[8],s=e[12],c=e[1],f=e[5],m=e[9],y=e[13],h=e[2],p=e[6],d=e[10],v=e[14],g=e[3],E=e[7],w=e[11],S=e[15],x=d*S,C=v*w,A=p*S,M=v*E,T=p*w,b=d*E,O=h*S,I=v*g,N=h*w,z=d*g,R=h*E,L=p*g,F=x*f+M*m+T*y-(C*f+A*m+b*y),P=C*c+O*m+z*y-(x*c+I*m+N*y),D=A*c+I*f+R*y-(M*c+O*f+L*y),_=b*c+N*f+L*m-(T*c+z*f+R*m),B=C*i+A*o+b*s-(x*i+M*o+T*s),U=x*r+I*o+N*s-(C*r+O*o+z*s),G=M*r+O*i+L*s-(A*r+I*i+R*s),q=T*r+z*i+R*o-(b*r+N*i+L*o);x=o*y,C=s*m,A=i*y,M=s*f,T=i*m,b=o*f,O=r*y,I=s*c,N=r*m,z=o*c,R=r*f,L=i*c;var W=x*E+M*w+T*S-(C*E+A*w+b*S),Y=C*g+O*w+z*S-(x*g+I*w+N*S),V=A*g+I*E+R*S-(M*g+O*E+L*S),H=b*g+N*E+L*w-(T*g+z*E+R*w),k=A*d+b*v+C*p-(T*v+x*p+M*d),j=N*v+x*h+I*d-(O*d+z*v+C*h),K=O*p+L*v+M*h-(R*v+A*h+I*p),Z=R*d+T*h+z*p-(N*p+L*d+b*h),Q=r*F+i*P+o*D+s*_;if(Math.abs(Q)M;M++){e.clone(t[M],i);var T=i.x,b=i.y,O=i.z;Tu.x&&e.clone(i,u),bl.y&&e.clone(i,l),OC.z&&e.clone(i,C)}var I=e.magnitudeSquared(e.subtract(u,o,g)),N=e.magnitudeSquared(e.subtract(l,a,g)),z=e.magnitudeSquared(e.subtract(C,s,g)),R=o,L=u,F=I;N>F&&(F=N,R=a,L=l),z>F&&(F=z,R=s,L=C);var P=E;P.x=.5*(R.x+L.x),P.y=.5*(R.y+L.y),P.z=.5*(R.z+L.z);var D=e.magnitudeSquared(e.subtract(L,P,g)),_=Math.sqrt(D),B=w;B.x=o.x,B.y=a.y,B.z=s.z;var U=S;U.x=u.x,U.y=l.y,U.z=C.z;var G=e.multiplyByScalar(e.add(B,U,g),.5,x),q=0;for(M=0;A>M;M++){e.clone(t[M],i);var W=e.magnitude(e.subtract(i,G,g));W>q&&(q=W);var Y=e.magnitudeSquared(e.subtract(i,P,g));if(Y>D){var V=Math.sqrt(Y);_=.5*(_+V),D=_*_;var H=V-_;P.x=(_*P.x+H*i.x)/V,P.y=(_*P.y+H*i.y)/V,P.z=(_*P.z+H*i.z)/V}}return q>_?(e.clone(P,r.center),r.radius=_):(e.clone(G,r.center),r.radius=q),r};var C=new a,A=new e,M=new e,T=new t,b=new t;c.fromExtent2D=function(e,t,r){return c.fromExtentWithHeights2D(e,t,0,0,r)},c.fromExtentWithHeights2D=function(t,i,o,a,s){if(n(s)||(s=new c),!n(t))return s.center=e.clone(e.ZERO,s.center),s.radius=0,s;i=r(i,C),t.getSouthwest(T),T.height=o,t.getNortheast(b),b.height=a;var u=i.project(T,A),l=i.project(b,M),f=l.x-u.x,m=l.y-u.y,y=l.z-u.z;s.radius=.5*Math.sqrt(f*f+m*m+y*y);var h=s.center;return h.x=u.x+.5*f,h.y=u.y+.5*m,h.z=u.z+.5*y,s};var O=[];c.fromExtent3D=function(e,t,i,a){t=r(t,o.WGS84),i=r(i,0);var s;return n(e)&&(s=e.subsample(t,i,O)),c.fromPoints(s,a)},c.fromVertices=function(t,i,o,a){if(n(a)||(a=new c),!n(t)||0===t.length)return a.center=e.clone(e.ZERO,a.center),a.radius=0,a;i=r(i,e.ZERO),o=r(o,3);var s=v;s.x=t[0]+i.x,s.y=t[1]+i.y,s.z=t[2]+i.z;for(var u=e.clone(s,f),l=e.clone(s,m),C=e.clone(s,y),A=e.clone(s,h),M=e.clone(s,p),T=e.clone(s,d),b=t.length,O=0;b>O;O+=o){var I=t[O]+i.x,N=t[O+1]+i.y,z=t[O+2]+i.z;s.x=I,s.y=N,s.z=z,IA.x&&e.clone(s,A),NM.y&&e.clone(s,M),zT.z&&e.clone(s,T)}var R=e.magnitudeSquared(e.subtract(A,u,g)),L=e.magnitudeSquared(e.subtract(M,l,g)),F=e.magnitudeSquared(e.subtract(T,C,g)),P=u,D=A,_=R;L>_&&(_=L,P=l,D=M),F>_&&(_=F,P=C,D=T);var B=E;B.x=.5*(P.x+D.x),B.y=.5*(P.y+D.y),B.z=.5*(P.z+D.z);var U=e.magnitudeSquared(e.subtract(D,B,g)),G=Math.sqrt(U),q=w;q.x=u.x,q.y=l.y,q.z=C.z;var W=S;W.x=A.x,W.y=M.y,W.z=T.z;var Y=e.multiplyByScalar(e.add(q,W,g),.5,x),V=0;for(O=0;b>O;O+=o){s.x=t[O]+i.x,s.y=t[O+1]+i.y,s.z=t[O+2]+i.z;var H=e.magnitude(e.subtract(s,Y,g));H>V&&(V=H);var k=e.magnitudeSquared(e.subtract(s,B,g));if(k>U){var j=Math.sqrt(k);G=.5*(G+j),U=G*G;var K=j-G;B.x=(G*B.x+K*s.x)/j,B.y=(G*B.y+K*s.y)/j,B.z=(G*B.z+K*s.z)/j}}return V>G?(e.clone(B,a.center),a.radius=G):(e.clone(Y,a.center),a.radius=V),a},c.fromCornerPoints=function(t,r,i){n(i)||(i=new c);var o=i.center;return e.add(t,r,o),e.multiplyByScalar(o,.5,o),i.radius=e.distance(o,r),i},c.fromEllipsoid=function(t,r){return n(r)||(r=new c),e.clone(e.ZERO,r.center),r.radius=t.maximumRadius,r},c.clone=function(t,r){return n(t)?n(r)?(r.center=e.clone(t.center,r.center),r.radius=t.radius,r):new c(t.center,t.radius):void 0};var I=new e,N=new e;c.union=function(t,r,i){n(i)||(i=new c);var o=t.center,a=r.center;e.add(o,a,N);var s=e.multiplyByScalar(N,.5,N),u=e.magnitude(e.subtract(o,s,I))+t.radius,l=e.magnitude(e.subtract(a,s,I))+r.radius;return i.radius=Math.max(u,l),e.clone(s,i.center),i};var z=new e;c.expand=function(t,r,n){n=c.clone(t,n);var i=e.magnitude(e.subtract(r,n.center,z));return i>n.radius&&(n.radius=i),n},c.intersect=function(t,r){var n=t.center,i=t.radius,o=e.dot(r,n)+r.w;return-i>o?s.OUTSIDE:i>o?s.INTERSECTING:s.INSIDE};var R=new e;c.transform=function(t,r,i){return n(i)||(i=new c),i.center=l.multiplyByPoint(r,t.center,i.center),i.radius=Math.max(e.magnitude(l.getColumn(r,0,R)),e.magnitude(l.getColumn(r,1,R)),e.magnitude(l.getColumn(r,2,R)))*t.radius,i},c.transformWithoutScale=function(e,t,r){return n(r)||(r=new c),r.center=l.multiplyByPoint(t,e.center,r.center),r.radius=e.radius,r};var L=new e;c.getPlaneDistances=function(t,r,i,o){n(o)||(o=new u);var a=e.subtract(t.center,r,L),s=e.multiplyByScalar(i,e.dot(i,a),L),l=e.magnitude(s);return o.start=l-t.radius,o.stop=l+t.radius,o};for(var F=new e,P=new e,D=new e,_=new e,B=new e,U=new t,G=new Array(8),q=0;8>q;++q)G[q]=new e;var W=new a;return c.projectTo2D=function(t,n,i){n=r(n,W);var o=n.ellipsoid,a=t.center,s=t.radius,u=o.geodeticSurfaceNormal(a,F),l=e.cross(e.UNIT_Z,u,P);e.normalize(l,l);var f=e.cross(u,l,D);e.normalize(f,f),e.multiplyByScalar(u,s,u),e.multiplyByScalar(f,s,f),e.multiplyByScalar(l,s,l);var m=e.negate(f,B),y=e.negate(l,_),h=G,p=h[0];e.add(u,f,p),e.add(p,l,p),p=h[1],e.add(u,f,p),e.add(p,y,p),p=h[2],e.add(u,m,p),e.add(p,y,p),p=h[3],e.add(u,m,p),e.add(p,l,p),e.negate(u,u),p=h[4],e.add(u,f,p),e.add(p,l,p),p=h[5],e.add(u,f,p),e.add(p,y,p),p=h[6],e.add(u,m,p),e.add(p,y,p),p=h[7],e.add(u,m,p),e.add(p,l,p);for(var d=h.length,v=0;d>v;++v){var g=h[v];e.add(a,g,g);var E=o.cartesianToCartographic(g,U);n.project(E,g)}i=c.fromPoints(h,i),a=i.center;var w=a.x,S=a.y,x=a.z;return a.x=x,a.y=w,a.z=S,i},c.equals=function(t,r){return t===r||n(t)&&n(r)&&e.equals(t.center,r.center)&&t.radius===r.radius},c.prototype.clone=function(e){return c.clone(this,e)},c.prototype.union=function(e,t){return c.union(this,e,t)},c.prototype.expand=function(e,t){return c.expand(this,e,t)},c.prototype.intersect=function(e){return c.intersect(this,e)},c.prototype.getPlaneDistances=function(e,t,r){return c.getPlaneDistances(this,e,t,r)},c.prototype.projectTo2D=function(e,t){return c.projectTo2D(this,e,t)},c.prototype.equals=function(e){return c.equals(this,e)},c}),define("Core/Cartesian2",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,t,r,n){"use strict";var i=function(t,r){this.x=e(t,0),this.y=e(r,0)};i.fromElements=function(e,r,n){return t(n)?(n.x=e,n.y=r,n):new i(e,r)},i.clone=function(e,r){return t(e)?t(r)?(r.x=e.x,r.y=e.y,r):new i(e.x,e.y):void 0},i.fromCartesian3=i.clone,i.fromCartesian4=i.clone,i.packedLength=2,i.pack=function(t,r,n){n=e(n,0),r[n++]=t.x,r[n]=t.y},i.unpack=function(r,n,o){return n=e(n,0),t(o)||(o=new i),o.x=r[n++],o.y=r[n],o},i.fromArray=i.unpack,i.getMaximumComponent=function(e){return Math.max(e.x,e.y)},i.getMinimumComponent=function(e){return Math.min(e.x,e.y)},i.getMinimumByComponent=function(e,r,n){return t(n)||(n=new i),n.x=Math.min(e.x,r.x),n.y=Math.min(e.y,r.y),n},i.getMaximumByComponent=function(e,r,n){return t(n)||(n=new i),n.x=Math.max(e.x,r.x),n.y=Math.max(e.y,r.y),n},i.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y},i.magnitude=function(e){return Math.sqrt(i.magnitudeSquared(e))};var o=new i;i.distance=function(e,t){return i.subtract(e,t,o),i.magnitude(o)},i.normalize=function(e,r){var n=i.magnitude(e);return t(r)?(r.x=e.x/n,r.y=e.y/n,r):new i(e.x/n,e.y/n)},i.dot=function(e,t){return e.x*t.x+e.y*t.y},i.multiplyComponents=function(e,r,n){return t(n)?(n.x=e.x*r.x,n.y=e.y*r.y,n):new i(e.x*r.x,e.y*r.y)},i.add=function(e,r,n){return t(n)?(n.x=e.x+r.x,n.y=e.y+r.y,n):new i(e.x+r.x,e.y+r.y)},i.subtract=function(e,r,n){return t(n)?(n.x=e.x-r.x,n.y=e.y-r.y,n):new i(e.x-r.x,e.y-r.y)},i.multiplyByScalar=function(e,r,n){return t(n)?(n.x=e.x*r,n.y=e.y*r,n):new i(e.x*r,e.y*r)},i.divideByScalar=function(e,r,n){return t(n)?(n.x=e.x/r,n.y=e.y/r,n):new i(e.x/r,e.y/r)},i.negate=function(e,r){return t(r)?(r.x=-e.x,r.y=-e.y,r):new i(-e.x,-e.y)},i.abs=function(e,r){return t(r)?(r.x=Math.abs(e.x),r.y=Math.abs(e.y),r):new i(Math.abs(e.x),Math.abs(e.y))};var a=new i;i.lerp=function(e,t,r,n){return i.multiplyByScalar(t,r,a),n=i.multiplyByScalar(e,1-r,n),i.add(a,n,n)};var s=new i,u=new i;i.angleBetween=function(e,t){return i.normalize(e,s),i.normalize(t,u),Math.acos(i.dot(s,u))};var l=new i;return i.mostOrthogonalAxis=function(e,t){var r=i.normalize(e,l);return i.abs(r,r),t=r.x<=r.y?i.clone(i.UNIT_X,t):i.clone(i.UNIT_Y,t)},i.equals=function(e,r){return e===r||t(e)&&t(r)&&e.x===r.x&&e.y===r.y},i.equalsEpsilon=function(e,r,n){return e===r||t(e)&&t(r)&&Math.abs(e.x-r.x)<=n&&Math.abs(e.y-r.y)<=n},i.ZERO=n(new i(0,0)),i.UNIT_X=n(new i(1,0)),i.UNIT_Y=n(new i(0,1)),i.prototype.clone=function(e){return i.clone(this,e)},i.prototype.equals=function(e){return i.equals(this,e)},i.prototype.equalsEpsilon=function(e,t){return i.equalsEpsilon(this,e,t)},i.prototype.toString=function(){return"("+this.x+", "+this.y+")"},i}),define("Core/Fullscreen",["./defined"],function(e){"use strict";var t,r={requestFullscreen:void 0,exitFullscreen:void 0,fullscreenEnabled:void 0,fullscreenElement:void 0,fullscreenchange:void 0,fullscreenerror:void 0},n={};return n.supportsFullscreen=function(){if(e(t))return t;t=!1;var n=document.body;if("function"==typeof n.requestFullscreen)return r.requestFullscreen="requestFullscreen",r.exitFullscreen="exitFullscreen",r.fullscreenEnabled="fullscreenEnabled",r.fullscreenElement="fullscreenElement",r.fullscreenchange="fullscreenchange",r.fullscreenerror="fullscreenerror",t=!0;for(var i,o=["webkit","moz","o","ms","khtml"],a=0,s=o.length;s>a;++a){var u=o[a];i=u+"RequestFullscreen","function"==typeof n[i]?(r.requestFullscreen=i,t=!0):(i=u+"RequestFullScreen","function"==typeof n[i]&&(r.requestFullscreen=i,t=!0)),i=u+"ExitFullscreen","function"==typeof document[i]?r.exitFullscreen=i:(i=u+"CancelFullScreen","function"==typeof document[i]&&(r.exitFullscreen=i)),i=u+"FullscreenEnabled",e(document[i])?r.fullscreenEnabled=i:(i=u+"FullScreenEnabled",e(document[i])&&(r.fullscreenEnabled=i)),i=u+"FullscreenElement",e(document[i])?r.fullscreenElement=i:(i=u+"FullScreenElement",e(document[i])&&(r.fullscreenElement=i)),i=u+"fullscreenchange",e(document["on"+i])&&("ms"===u&&(i="MSFullscreenChange"),r.fullscreenchange=i),i=u+"fullscreenerror",e(document["on"+i])&&("ms"===u&&(i="MSFullscreenError"),r.fullscreenerror=i)}return t},n.requestFullscreen=function(e){n.supportsFullscreen()&&e[r.requestFullscreen]()},n.exitFullscreen=function(){n.supportsFullscreen()&&document[r.exitFullscreen]()},n.isFullscreenEnabled=function(){return n.supportsFullscreen()?document[r.fullscreenEnabled]:void 0},n.getFullscreenElement=function(){return n.supportsFullscreen()?document[r.fullscreenElement]:void 0},n.isFullscreen=function(){return n.supportsFullscreen()?null!==n.getFullscreenElement():void 0},n.getFullscreenChangeEventName=function(){return n.supportsFullscreen()?r.fullscreenchange:void 0},n.getFullscreenErrorEventName=function(){return n.supportsFullscreen()?r.fullscreenerror:void 0},n}),define("Core/FeatureDetection",["./defined","./Fullscreen"],function(e,t){"use strict";function r(e){for(var t=e.split("."),r=0,n=t.length;n>r;++r)t[r]=parseInt(t[r],10);return t}function n(){if(!e(f)){var t=/ Chrome\/([\.0-9]+)/.exec(navigator.userAgent);null===t?f=!1:(f=!0,m=r(t[1]))}return f}function i(){return n()&&m}function o(){if(!e(y))if(n()||!/ Safari\/[\.0-9]+/.test(navigator.userAgent))y=!1;else{var t=/ Version\/([\.0-9]+)/.exec(navigator.userAgent);null===t?y=!1:(y=!0,h=r(t[1]))}return y}function a(){return o()&&h}function s(){if(!e(p)){var t=/ AppleWebKit\/([\.0-9]+)(\+?)/.exec(navigator.userAgent);null===t?p=!1:(p=!0,d=r(t[1]),d.isNightly=!!t[2])}return p}function u(){return s()&&d}function l(){if(!e(v)){var t;"Microsoft Internet Explorer"===navigator.appName?(t=/MSIE ([0-9]{1,}[\.0-9]{0,})/.exec(navigator.userAgent),null!==t&&(v=!0,g=r(t[1]))):"Netscape"===navigator.appName?(t=/Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/.exec(navigator.userAgent),null!==t&&(v=!0,g=r(t[1]))):v=!1}return v}function c(){return l()&&g}var f,m,y,h,p,d,v,g,E={isChrome:n,chromeVersion:i,isSafari:o,safariVersion:a,isWebkit:s,webkitVersion:u,isInternetExplorer:l,internetExplorerVersion:c};E.supportsFullscreen=function(){return t.supportsFullscreen()},E.supportsTypedArrays=function(){return"undefined"!=typeof ArrayBuffer};var w;return E.supportsTransferringArrayBuffers=function(){if(!e(w)){if(!E.supportsTypedArrays())return w=!1,void 0;var t=new ArrayBuffer(1);try{postMessage({value:t},[t]),w=!0}catch(r){w=!1}}return w},E}),define("Core/ComponentDatatype",["./defaultValue","./defined","./DeveloperError","./FeatureDetection","./Enumeration"],function(e,t,r,n,i){"use strict";if(!n.supportsTypedArrays())return{};var o={BYTE:new i(5120,"BYTE",{sizeInBytes:Int8Array.BYTES_PER_ELEMENT}),UNSIGNED_BYTE:new i(5121,"UNSIGNED_BYTE",{sizeInBytes:Uint8Array.BYTES_PER_ELEMENT}),SHORT:new i(5122,"SHORT",{sizeInBytes:Int16Array.BYTES_PER_ELEMENT}),UNSIGNED_SHORT:new i(5123,"UNSIGNED_SHORT",{sizeInBytes:Uint16Array.BYTES_PER_ELEMENT}),FLOAT:new i(5126,"FLOAT",{sizeInBytes:Float32Array.BYTES_PER_ELEMENT}),DOUBLE:new i(5130,"DOUBLE",{sizeInBytes:Float64Array.BYTES_PER_ELEMENT})};return o.validate=function(e){return t(e)&&t(e.value)&&(e.value===o.BYTE.value||e.value===o.UNSIGNED_BYTE.value||e.value===o.SHORT.value||e.value===o.UNSIGNED_SHORT.value||e.value===o.FLOAT.value||e.value===o.DOUBLE.value)},o.createTypedArray=function(e,t){switch(e.value){case o.BYTE.value:return new Int8Array(t);case o.UNSIGNED_BYTE.value:return new Uint8Array(t);case o.SHORT.value:return new Int16Array(t);case o.UNSIGNED_SHORT.value:return new Uint16Array(t);case o.FLOAT.value:return new Float32Array(t);case o.DOUBLE.value:return new Float64Array(t);default:throw new r("componentDatatype is not a valid enumeration value.")}},o.createArrayBufferView=function(t,n,i,a){switch(i=e(i,0),a=e(a,(n.byteLength-i)/t.sizeInBytes),t.value){case o.BYTE.value:return new Int8Array(n,i,a);case o.UNSIGNED_BYTE.value:return new Uint8Array(n,i,a);case o.SHORT.value:return new Int16Array(n,i,a);case o.UNSIGNED_SHORT.value:return new Uint16Array(n,i,a);case o.FLOAT.value:return new Float32Array(n,i,a);case o.DOUBLE.value:return new Float64Array(n,i,a);default:throw new r("componentDatatype is not a valid enumeration value.")}},o}),define("Core/IndexDatatype",["./defined","./DeveloperError","./Math"],function(e,t,r){"use strict";var n={UNSIGNED_BYTE:5121,UNSIGNED_SHORT:5123,UNSIGNED_INT:5125};return n.getSizeInBytes=function(e){switch(e){case n.UNSIGNED_BYTE:return Uint8Array.BYTES_PER_ELEMENT;case n.UNSIGNED_SHORT:return Uint16Array.BYTES_PER_ELEMENT;case n.UNSIGNED_INT:return Uint32Array.BYTES_PER_ELEMENT}},n.validate=function(t){return e(t)&&(t===n.UNSIGNED_BYTE||t===n.UNSIGNED_SHORT||t===n.UNSIGNED_INT)},n.createTypedArray=function(e,t){return e>r.SIXTY_FOUR_KILOBYTES?new Uint32Array(t):new Uint16Array(t)},n}),define("Core/Quaternion",["./Cartesian3","./defaultValue","./defined","./DeveloperError","./FeatureDetection","./freezeObject","./Math","./Matrix3"],function(e,t,r,n,i,o,a,s){"use strict";var u,l=function(e,r,n,i){this.x=t(e,0),this.y=t(r,0),this.z=t(n,0),this.w=t(i,0)};l.fromAxisAngle=function(t,n,i){var o=n/2,a=Math.sin(o);u=e.normalize(t,u);var s=u.x*a,c=u.y*a,f=u.z*a,m=Math.cos(o);return r(i)?(i.x=s,i.y=c,i.z=f,i.w=m,i):new l(s,c,f,m)};var c=[1,2,0],f=new Array(3);l.fromRotationMatrix=function(e,t){var n,i,o,a,u,m=e[s.COLUMN0ROW0],y=e[s.COLUMN1ROW1],h=e[s.COLUMN2ROW2],p=m+y+h;if(p>0)n=Math.sqrt(p+1),u=.5*n,n=.5/n,i=(e[s.COLUMN1ROW2]-e[s.COLUMN2ROW1])*n,o=(e[s.COLUMN2ROW0]-e[s.COLUMN0ROW2])*n,a=(e[s.COLUMN0ROW1]-e[s.COLUMN1ROW0])*n;else{var d=c,v=0;y>m&&(v=1),h>m&&h>y&&(v=2);var g=d[v],E=d[g];n=Math.sqrt(e[s.getElementIndex(v,v)]-e[s.getElementIndex(g,g)]-e[s.getElementIndex(E,E)]+1);var w=f;w[v]=.5*n,n=.5/n,u=(e[s.getElementIndex(E,g)]-e[s.getElementIndex(g,E)])*n,w[g]=(e[s.getElementIndex(g,v)]+e[s.getElementIndex(v,g)])*n,w[E]=(e[s.getElementIndex(E,v)]+e[s.getElementIndex(v,E)])*n,i=-w[0],o=-w[1],a=-w[2]}return r(t)?(t.x=i,t.y=o,t.z=a,t.w=u,t):new l(i,o,a,u)};var m=new e,y=new e,h=new l,p=new l,d=new l;l.packedLength=4,l.pack=function(e,r,n){n=t(n,0),r[n++]=e.x,r[n++]=e.y,r[n++]=e.z,r[n]=e.w},l.unpack=function(e,n,i){return n=t(n,0),r(i)||(i=new l),i.x=e[n],i.y=e[n+1],i.z=e[n+2],i.w=e[n+3],i},l.packedInterpolationLength=3,l.convertPackedArrayForInterpolation=function(e,t,r,n){l.unpack(e,4*r,d),l.conjugate(d,d);for(var i=0,o=r-t+1;o>i;i++){var a=3*i;l.unpack(e,4*(t+i),h),l.multiply(h,d,h),h.w<0&&l.negate(h,h),l.getAxis(h,m);var s=l.getAngle(h);n[a]=m.x*s,n[a+1]=m.y*s,n[a+2]=m.z*s}},l.unpackInterpolationResult=function(t,n,i,o,a){r(a)||(a=new l),e.fromArray(t,0,y);var s=e.magnitude(y);return l.unpack(n,4*o,p),0===s?l.clone(l.IDENTITY,h):l.fromAxisAngle(y,s,h),l.multiply(h,p,a)},l.clone=function(e,t){return r(e)?r(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t):new l(e.x,e.y,e.z,e.w):void 0},l.conjugate=function(e,t){return r(t)?(t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=e.w,t):new l(-e.x,-e.y,-e.z,e.w)},l.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w},l.magnitude=function(e){return Math.sqrt(l.magnitudeSquared(e))},l.normalize=function(e,t){var n=1/l.magnitude(e),i=e.x*n,o=e.y*n,a=e.z*n,s=e.w*n;return r(t)?(t.x=i,t.y=o,t.z=a,t.w=s,t):new l(i,o,a,s)},l.inverse=function(e,t){var r=l.magnitudeSquared(e);return t=l.conjugate(e,t),l.multiplyByScalar(t,1/r,t)},l.add=function(e,t,n){return r(n)?(n.x=e.x+t.x,n.y=e.y+t.y,n.z=e.z+t.z,n.w=e.w+t.w,n):new l(e.x+t.x,e.y+t.y,e.z+t.z,e.w+t.w)},l.subtract=function(e,t,n){return r(n)?(n.x=e.x-t.x,n.y=e.y-t.y,n.z=e.z-t.z,n.w=e.w-t.w,n):new l(e.x-t.x,e.y-t.y,e.z-t.z,e.w-t.w)},l.negate=function(e,t){return r(t)?(t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=-e.w,t):new l(-e.x,-e.y,-e.z,-e.w)},l.dot=function(e,t){return e.x*t.x+e.y*t.y+e.z*t.z+e.w*t.w},l.multiply=function(e,t,n){var i=e.x,o=e.y,a=e.z,s=e.w,u=t.x,c=t.y,f=t.z,m=t.w,y=s*u+i*m+o*f-a*c,h=s*c-i*f+o*m+a*u,p=s*f+i*c-o*u+a*m,d=s*m-i*u-o*c-a*f;return r(n)?(n.x=y,n.y=h,n.z=p,n.w=d,n):new l(y,h,p,d)},l.multiplyByScalar=function(e,t,n){return r(n)?(n.x=e.x*t,n.y=e.y*t,n.z=e.z*t,n.w=e.w*t,n):new l(e.x*t,e.y*t,e.z*t,e.w*t)},l.divideByScalar=function(e,t,n){return r(n)?(n.x=e.x/t,n.y=e.y/t,n.z=e.z/t,n.w=e.w/t,n):new l(e.x/t,e.y/t,e.z/t,e.w/t)},l.getAxis=function(t,n){var i=t.w;if(Math.abs(i-1)i&&(i=-i,o=g=l.negate(t,g)),1-iz;++z){var R=z+1,L=2*R+1;b[z]=1/(R*L),O[z]=R/L}return b[7]=T/136,O[7]=8*T/17,l.fastSlerp=function(e,t,n,i){r(i)||(i=new l);var o,a=l.dot(e,t);a>=0?o=1:(o=-1,a=-a);for(var s=a-1,u=1-n,c=n*n,f=u*u,m=7;m>=0;--m)I[m]=(b[m]*c-O[m])*s,N[m]=(b[m]*f-O[m])*s;var y=o*n*(1+I[0]*(1+I[1]*(1+I[2]*(1+I[3]*(1+I[4]*(1+I[5]*(1+I[6]*(1+I[7])))))))),h=u*(1+N[0]*(1+N[1]*(1+N[2]*(1+N[3]*(1+N[4]*(1+N[5]*(1+N[6]*(1+N[7])))))))),p=l.multiplyByScalar(e,h,M);return l.multiplyByScalar(t,y,i),l.add(p,i,i)},l.fastSquad=function(e,t,r,n,i,o){var a=l.fastSlerp(e,t,i,C),s=l.fastSlerp(r,n,i,A);return l.fastSlerp(a,s,2*i*(1-i),o)},l.equals=function(e,t){return e===t||r(e)&&r(t)&&e.x===t.x&&e.y===t.y&&e.z===t.z&&e.w===t.w},l.equalsEpsilon=function(e,t,n){return e===t||r(e)&&r(t)&&Math.abs(e.x-t.x)<=n&&Math.abs(e.y-t.y)<=n&&Math.abs(e.z-t.z)<=n&&Math.abs(e.w-t.w)<=n},l.ZERO=o(new l(0,0,0,0)),l.IDENTITY=o(new l(0,0,0,1)),l.prototype.clone=function(e){return l.clone(this,e)},l.prototype.equals=function(e){return l.equals(this,e)},l.prototype.equalsEpsilon=function(e,t){return l.equalsEpsilon(this,e,t)},l.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+", "+this.w+")"},l}),define("Core/EllipseGeometryLibrary",["./Cartesian3","./Math","./Matrix3","./Quaternion"],function(e,t,r,n){"use strict";function i(t,i,o,c,f,m,y,h,p,d){var v=t+i;e.multiplyByScalar(c,Math.cos(v),a),e.multiplyByScalar(o,Math.sin(v),s),e.add(a,s,a);var g=Math.cos(t);g*=g;var E=Math.sin(t);E*=E;var w=m/Math.sqrt(y*g+f*E),S=w/h;return n.fromAxisAngle(a,S,u),r.fromQuaternion(u,l),r.multiplyByVector(l,p,d),e.normalize(d,d),e.multiplyByScalar(d,h,d),d}var o={},a=new e,s=new e,u=new n,l=new r,c=new e,f=new e,m=new e,y=new e;o.raisePositionsToHeight=function(t,r,n){for(var i=r.ellipsoid,o=r.height,a=r.extrudedHeight,s=n?2*(t.length/3):t.length/3,u=new Float64Array(3*s),l=y,h=t.length,p=n?h:0,d=0;h>d;d+=3){var v,g=d+1,E=d+2,w=e.fromArray(t,d,c);w=i.scaleToGeodeticSurface(w,w),v=e.clone(w,f),l=i.geodeticSurfaceNormal(w,l);var S=e.multiplyByScalar(l,o,m);w=e.add(w,S,w),n&&(S=e.multiplyByScalar(l,a,S),v=e.add(v,S,v),u[d+p]=v.x,u[g+p]=v.y,u[E+p]=v.z),u[d]=w.x,u[g]=w.y,u[E]=w.z}return u};var h=new e,p=new e,d=new e;return o.computeEllipsePositions=function(r,n,o){var a=r.semiMinorAxis,s=r.semiMajorAxis,u=r.rotation,l=r.center,y=r.granularity,v=2.31,g=a*a,E=s*s,w=s*a,S=e.magnitude(l),x=e.normalize(l,h),C=e.cross(e.UNIT_Z,l,p);C=e.normalize(C,C);var A,M,T,b,O,I=e.cross(x,C,d),N=1+Math.ceil(t.PI_OVER_TWO/y),z=v/(N-1),R=2*N*(N+1),L=n?new Array(3*R):void 0,F=0,P=c,D=f,_=o?[]:void 0,B=o?[]:void 0,U=t.PI_OVER_TWO;for(A=0;N>A&&U>0;++A){if(P=i(U,u,I,C,g,w,E,S,x,P),D=i(Math.PI-U,u,I,C,g,w,E,S,x,D),n){for(L[F++]=P.x,L[F++]=P.y,L[F++]=P.z,T=2*A+2,M=1;T-1>M;++M)b=M/(T-1),O=e.lerp(P,D,b,m),L[F++]=O.x,L[F++]=O.y,L[F++]=O.z;L[F++]=D.x,L[F++]=D.y,L[F++]=D.z}o&&(B.unshift(P.x,P.y,P.z),0!==A&&_.push(D.x,D.y,D.z)),U=t.PI_OVER_TWO-(A+1)*z}for(N=A,A=N;A>0;--A){if(U=t.PI_OVER_TWO-(A-1)*z,P=i(-U,u,I,C,g,w,E,S,x,P),D=i(U+Math.PI,u,I,C,g,w,E,S,x,D),n){for(L[F++]=P.x,L[F++]=P.y,L[F++]=P.z,T=2*(A-1)+2,M=1;T-1>M;++M)b=M/(T-1),O=e.lerp(P,D,b,m),L[F++]=O.x,L[F++]=O.y,L[F++]=O.z;L[F++]=D.x,L[F++]=D.y,L[F++]=D.z}o&&(B.unshift(P.x,P.y,P.z),1!==A&&_.push(D.x,D.y,D.z))}var G={};return n&&(L.length!==F&&(R=F/3,L.length=F),G.positions=L,G.numPts=N),o&&(G.outerPositions=B.concat(_)),G},o}),define("Core/Geometry",["./defaultValue","./defined","./DeveloperError"],function(e,t,r){"use strict";var n=function(t){t=e(t,e.EMPTY_OBJECT),this.attributes=t.attributes,this.indices=t.indices,this.primitiveType=t.primitiveType,this.boundingSphere=t.boundingSphere};return n.computeNumberOfVertices=function(e){var n=-1;for(var i in e.attributes)if(e.attributes.hasOwnProperty(i)&&t(e.attributes[i])&&t(e.attributes[i].values)){var o=e.attributes[i],a=o.values.length/o.componentsPerAttribute;if(n!==a&&-1!==n)throw new r("All attribute lists must have the same number of attributes.");n=a}return n},n}),define("Core/barycentricCoordinates",["./Cartesian2","./Cartesian3","./defined","./DeveloperError"],function(e,t,r){"use strict";var n=new t,i=new t,o=new t,a=function(a,s,u,l,c){r(c)||(c=new t);var f,m,y,h,p,d,v,g;r(s.z)?(f=t.subtract(u,s,n),m=t.subtract(l,s,i),y=t.subtract(a,s,o),h=t.dot(f,f),p=t.dot(f,m),d=t.dot(f,y),v=t.dot(m,m),g=t.dot(m,y)):(f=e.subtract(u,s,n),m=e.subtract(l,s,i),y=e.subtract(a,s,o),h=e.dot(f,f),p=e.dot(f,m),d=e.dot(f,y),v=e.dot(m,m),g=e.dot(m,y));var E=1/(h*v-p*p);return c.y=(v*d-p*g)*E,c.z=(h*g-p*d)*E,c.x=1-c.y-c.z,c};return a}),define("Core/EncodedCartesian3",["./Cartesian3","./defined","./DeveloperError"],function(e,t){"use strict";var r=function(){this.high=e.clone(e.ZERO),this.low=e.clone(e.ZERO)};r.encode=function(e,r){t(r)||(r={high:0,low:0});var n;return e>=0?(n=65536*Math.floor(e/65536),r.high=n,r.low=e-n):(n=65536*Math.floor(-e/65536),r.high=-n,r.low=e+n),r};var n={high:0,low:0};r.fromCartesian=function(e,i){t(i)||(i=new r);var o=i.high,a=i.low;return r.encode(e.x,n),o.x=n.high,a.x=n.low,r.encode(e.y,n),o.y=n.high,a.y=n.low,r.encode(e.z,n),o.z=n.high,a.z=n.low,i};var i=new r;return r.writeElements=function(e,t,n){r.fromCartesian(e,i);var o=i.high,a=i.low;t[n]=o.x,t[n+1]=o.y,t[n+2]=o.z,t[n+3]=a.x,t[n+4]=a.y,t[n+5]=a.z},r}),define("Core/QuadraticRealPolynomial",["./DeveloperError","./Math"],function(e,t){"use strict";function r(e,r,n){var i=e+r;return t.sign(e)!==t.sign(r)&&Math.abs(i/Math.max(Math.abs(e),Math.abs(r)))a&&a/ss&&s/ao)return[];var u=Math.sqrt(o);return[-u,u]}if(0===i)return o=-n/e,0>o?[o,0]:[0,o];var l=n*n,c=4*e*i,f=r(l,-c,t.EPSILON14);if(0>f)return[];var m=-.5*r(n,t.sign(n)*Math.sqrt(f),t.EPSILON14);return n>0?[m/e,i/m]:[i/m,m/e]},n}),define("Core/CubicRealPolynomial",["./DeveloperError","./QuadraticRealPolynomial"],function(e,t){"use strict";function r(e,t,r,n){var i,o,a=e,s=t/3,u=r/3,l=n,c=a*u,f=s*l,m=s*s,y=u*u,h=a*u-m,p=a*l-s*u,d=s*l-y,v=4*h*d-p*p;if(0>v){var g,E,w;m*f>=c*y?(g=a,E=h,w=-2*s*h+a*p):(g=l,E=d,w=-l*p+2*u*d);var S=0>w?-1:1,x=-S*Math.abs(g)*Math.sqrt(-v);o=-w+x;var C=o/2,A=0>C?-Math.pow(-C,1/3):Math.pow(C,1/3),M=o===x?-A:-E/A;return i=0>=E?A+M:-w/(A*A+M*M+E),m*f>=c*y?[(i-s)/a]:[-l/(i+u)]}var T=h,b=-2*s*h+a*p,O=d,I=-l*p+2*u*d,N=Math.sqrt(v),z=Math.sqrt(3)/2,R=Math.abs(Math.atan2(a*N,-b)/3);i=2*Math.sqrt(-T);var L=Math.cos(R);o=i*L;var F=i*(-L/2-z*Math.sin(R)),P=o+F>2*s?o-s:F-s,D=a,_=P/D;R=Math.abs(Math.atan2(l*N,-I)/3),i=2*Math.sqrt(-O),L=Math.cos(R),o=i*L,F=i*(-L/2-z*Math.sin(R));var B=-l,U=2*u>o+F?o+u:F+u,G=B/U,q=D*U,W=-P*U-D*B,Y=P*B,V=(u*W-s*Y)/(-s*W+u*q);return V>=_?G>=_?G>=V?[_,V,G]:[_,G,V]:[G,_,V]:G>=_?[V,_,G]:G>=V?[V,G,_]:[G,V,_]}var n={};return n.discriminant=function(e,t,r,n){var i=e*e,o=t*t,a=r*r,s=n*n,u=18*e*t*r*n+o*a-27*i*s-4*(e*a*r+o*t*n);return u},n.realRoots=function(e,n,i,o){var a,s;if(0===e)return t.realRoots(n,i,o);if(0===n){if(0===i){if(0===o)return[0,0,0];s=-o/e;var u=0>s?-Math.pow(-s,1/3):Math.pow(s,1/3);return[u,u,u]}return 0===o?(a=t.realRoots(e,0,i),0===a.Length?[0]:[a[0],0,a[1]]):r(e,0,i,o)}return 0===i?0===o?(s=-n/e,0>s?[s,0,0]:[0,0,s]):r(e,n,0,o):0===o?(a=t.realRoots(e,n,i),0===a.length?[0]:a[1]<=0?[a[0],a[1],0]:a[0]>=0?[0,a[0],a[1]]:[a[0],0,a[1]]):r(e,n,i,o)},n}),define("Core/QuarticRealPolynomial",["./DeveloperError","./Math","./CubicRealPolynomial","./QuadraticRealPolynomial"],function(e,t,r,n){"use strict";function i(e,i,o,a){var s=e*e,u=i-3*s/8,l=o-i*e/2+s*e/8,c=a-o*e/4+i*s/16-3*s*s/256,f=r.realRoots(1,2*u,u*u-4*c,-l*l);if(f.length>0){var m=-e/4,y=f[f.length-1];if(Math.abs(y)=0&&v>=0){var g=Math.sqrt(d),E=Math.sqrt(v);return[m-E,m-g,m+g,m+E]}if(d>=0&&0>v)return p=Math.sqrt(d),[m-p,m+p];if(0>d&&v>=0)return p=Math.sqrt(v),[m-p,m+p]}return[]}if(y>0){var w=Math.sqrt(y),S=(u+y-l/w)/2,x=(u+y+l/w)/2,C=n.realRoots(1,w,S),A=n.realRoots(1,-w,x);return 0!==C.length?(C[0]+=m,C[1]+=m,0!==A.length?(A[0]+=m,A[1]+=m,C[1]<=A[0]?[C[0],C[1],A[0],A[1]]:A[1]<=C[0]?[A[0],A[1],C[0],C[1]]:C[0]>=A[0]&&C[1]<=A[1]?[A[0],C[0],C[1],A[1]]:A[0]>=C[0]&&A[1]<=C[1]?[C[0],A[0],A[1],C[1]]:C[0]>A[0]&&C[0]0){var h,p,d=y[0],v=i-d,g=v*v,E=e/2,w=v/2,S=g-4*a,x=g+4*Math.abs(a),C=l-4*d,A=l+4*Math.abs(d);if(0>d||C*x>S*A){var M=Math.sqrt(C);h=M/2,p=0===M?0:(e*w-o)/M}else{var T=Math.sqrt(S);h=0===T?0:(e*w-o)/T,p=T/2}var b,O;0===E&&0===h?(b=0,O=0):t.sign(E)===t.sign(h)?(b=E+h,O=d/b):(O=E-h,b=d/O);var I,N;0===w&&0===p?(I=0,N=0):t.sign(w)===t.sign(p)?(I=w+p,N=a/I):(N=w-p,I=a/N);var z=n.realRoots(1,b,I),R=n.realRoots(1,O,N);if(0!==z.length)return 0!==R.length?z[1]<=R[0]?[z[0],z[1],R[0],R[1]]:R[1]<=z[0]?[R[0],R[1],z[0],z[1]]:z[0]>=R[0]&&z[1]<=R[1]?[R[0],z[0],z[1],R[1]]:R[0]>=z[0]&&R[1]<=z[1]?[z[0],R[0],R[1],z[1]]:z[0]>R[0]&&z[0]l?1:0;switch(y+=0>c?y+1:y,y+=0>f?y+1:y,y+=0>m?y+1:y){case 0:return i(l,c,f,m);case 1:return o(l,c,f,m);case 2:return o(l,c,f,m);case 3:return i(l,c,f,m);case 4:return i(l,c,f,m);case 5:return o(l,c,f,m);case 6:return i(l,c,f,m);case 7:return i(l,c,f,m);case 8:return o(l,c,f,m);case 9:return i(l,c,f,m);case 10:return i(l,c,f,m);case 11:return o(l,c,f,m);case 12:return i(l,c,f,m);case 13:return i(l,c,f,m);case 14:return i(l,c,f,m);case 15:return i(l,c,f,m);default:return void 0}},a}),define("Core/IntersectionTests",["./defined","./DeveloperError","./Math","./Cartesian3","./Cartographic","./Matrix3","./QuadraticRealPolynomial","./QuarticRealPolynomial"],function(e,t,r,n,i,o,a,s){"use strict";function u(e,t,n){var i=e+t;return r.sign(e)!==r.sign(t)&&Math.abs(i/Math.max(Math.abs(e),Math.abs(t)))F;++F){var P,D=f[F],_=D*D,B=Math.max(1-_,0),U=Math.sqrt(B);P=r.sign(h)===r.sign(d)?u(h*_+d,p*D,r.EPSILON12):r.sign(d)===r.sign(p*D)?u(h*_,p*D+d,r.EPSILON12):u(h*_+p*D,d,r.EPSILON12);var G=u(v*D,g,r.EPSILON15),q=P*G;0>q?E.push(new n(l,c*D,c*U)):q>0?E.push(new n(l,c*D,c*-U)):0!==U?(E.push(new n(l,c*D,c*-U)),E.push(new n(l,c*D,c*U)),++F):E.push(new n(l,c*D,c*U))}return E}var c={};c.rayPlane=function(e,t,i){var o=e.origin,a=e.direction,s=t.normal,u=n.dot(s,a);if(Math.abs(u)l?void 0:(i=n.multiplyByScalar(a,l,i),n.add(o,i,i))};var f=new n,m=new n;c.rayEllipsoid=function(e,t){var r,i,o,a,s,u=t.oneOverRadii,l=n.multiplyComponents(u,e.origin,f),c=n.multiplyComponents(u,e.direction,m),y=n.magnitudeSquared(l),h=n.dot(l,c);if(y>1){if(h>=0)return void 0;var p=h*h;if(r=y-1,i=n.magnitudeSquared(c),o=i*r,o>p)return void 0;if(p>o){a=h*h-o,s=-h+Math.sqrt(a);var d=s/i,v=r/s;return v>d?{start:d,stop:v}:{start:v,stop:d}}var g=Math.sqrt(r/i);return{start:g,stop:g}}return 1>y?(r=y-1,i=n.magnitudeSquared(c),o=i*r,a=h*h-o,s=-h+Math.sqrt(a),{start:0,stop:s/i}):0>h?(i=n.magnitudeSquared(c),{start:0,stop:-h/i}):void 0},c.grazingAltitudeLocation=function(t,a){var s=t.origin,u=t.direction,c=a.geodeticSurfaceNormal(s);if(n.dot(u,c)>=0)return s;var f,m,y=e(this.rayEllipsoid(t,a)),h=a.transformPositionToScaledSpace(u),p=n.normalize(h),d=n.mostOrthogonalAxis(h),v=n.normalize(n.cross(d,p)),g=n.normalize(n.cross(p,v)),E=new o(p.x,v.x,g.x,p.y,v.y,g.y,p.z,v.z,g.z),w=o.transpose(E),S=o.fromScale(a.radii),x=o.fromScale(a.oneOverRadii),C=new o(0,u.z,-u.y,-u.z,0,u.x,u.y,-u.x,0),A=o.multiply(o.multiply(w,x),C),M=o.multiply(o.multiply(A,S),E),T=o.multiplyByVector(A,s),b=l(M,n.negate(T),0,0,1),O=b.length;if(O>0){for(var I=n.ZERO,N=Number.NEGATIVE_INFINITY,z=0;O>z;++z){f=o.multiplyByVector(S,o.multiplyByVector(E,b[z]));var R=n.normalize(n.subtract(f,s)),L=n.dot(R,u);L>N&&(N=L,I=f)}var F=a.cartesianToCartographic(I);return N=r.clamp(N,0,1),m=n.magnitude(n.subtract(I,s))*Math.sqrt(1-N*N),m=y?-m:m,a.cartographicToCartesian(new i(F.longitude,F.latitude,m))}return void 0};var y=new n;return c.lineSegmentPlane=function(t,i,o,a){var s=n.subtract(i,t,y),u=o.normal,l=n.dot(u,s);if(Math.abs(l)f||f>1?void 0:(e(a)||(a=new n),n.multiplyByScalar(s,f,a),n.add(t,a,a),a)},c.trianglePlaneIntersection=function(e,t,r,i){var o=i.normal,a=i.distance,s=n.dot(o,e)+a<0,u=n.dot(o,t)+a<0,l=n.dot(o,r)+a<0,f=0;f+=s?1:0,f+=u?1:0,f+=l?1:0;var m,y;if((1===f||2===f)&&(m=new n,y=new n),1===f){if(s)return c.lineSegmentPlane(e,t,i,m),c.lineSegmentPlane(e,r,i,y),{positions:[e,t,r,m,y],indices:[0,3,4,1,2,4,1,4,3]};if(u)return c.lineSegmentPlane(t,r,i,m),c.lineSegmentPlane(t,e,i,y),{positions:[e,t,r,m,y],indices:[1,3,4,2,0,4,2,4,3]};if(l)return c.lineSegmentPlane(r,e,i,m),c.lineSegmentPlane(r,t,i,y),{positions:[e,t,r,m,y],indices:[2,3,4,0,1,4,0,4,3]}}else if(2===f){if(!s)return c.lineSegmentPlane(t,e,i,m),c.lineSegmentPlane(r,e,i,y),{positions:[e,t,r,m,y],indices:[1,2,4,1,4,3,0,3,4]};if(!u)return c.lineSegmentPlane(r,t,i,m),c.lineSegmentPlane(e,t,i,y),{positions:[e,t,r,m,y],indices:[2,0,4,2,4,3,1,3,4]};if(!l)return c.lineSegmentPlane(e,r,i,m),c.lineSegmentPlane(t,r,i,y),{positions:[e,t,r,m,y],indices:[0,1,4,0,4,3,2,3,4]}}return void 0},c}),define("Core/Plane",["./Cartesian3","./defined","./DeveloperError"],function(e,t){"use strict";var r=function(t,r){this.normal=e.clone(t),this.distance=r};return r.fromPointNormal=function(n,i,o){var a=-e.dot(i,n);return t(o)?(e.clone(i,o.normal),o.distance=a,o):new r(i,a)},r.getPointDistance=function(t,r){return e.dot(t.normal,r)+t.distance},r.prototype.getPointDistance=function(e){return r.getPointDistance(this,e)},r}),define("Core/PrimitiveType",[],function(){"use strict";var e={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,validate:function(t){return t===e.POINTS||t===e.LINES||t===e.LINE_LOOP||t===e.LINE_STRIP||t===e.TRIANGLES||t===e.TRIANGLE_STRIP||t===e.TRIANGLE_FAN}};return e}),define("Core/Tipsify",["./defaultValue","./defined","./DeveloperError"],function(e,t){"use strict";var r={};return r.calculateACMR=function(r){r=e(r,e.EMPTY_OBJECT);var n=r.indices,i=r.maximumIndex,o=e(r.cacheSize,24),a=n.length;if(!t(i)){i=0;for(var s=0,u=n[s];a>s;)u>i&&(i=u),++s,u=n[s]}for(var l=[],c=0;i+1>c;c++)l[c]=0;for(var f=o+1,m=0;a>m;++m)f-l[n[m]]>o&&(l[n[m]]=f,++f);return(f-o+1)/(a/3)},r.tipsify=function(r){function n(e,t,r,n){for(;t.length>=1;){var i=t[t.length-1];if(t.splice(t.length-1,1),e[i].numLiveTriangles>0)return i}for(;n>o;){if(e[o].numLiveTriangles>0)return++o,o-1;++o}return-1}function i(e,t,r,i,o,a,s){for(var u,l=-1,c=-1,f=0;fc||-1===c)&&(c=u,l=m)),++f}return-1===l?n(i,a,e,s):l}r=e(r,e.EMPTY_OBJECT);var o,a=r.indices,s=r.maximumIndex,u=e(r.cacheSize,24),l=a.length,c=0,f=0,m=a[f],y=l;if(t(s))c=s+1;else{for(;y>f;)m>c&&(c=m),++f,m=a[f];if(-1===c)return 0;++c}for(var h=[],p=0;c>p;p++)h[p]={numLiveTriangles:0,timeStamp:0,vertexTriangles:[]};f=0;for(var d=0;y>f;)h[a[f]].vertexTriangles.push(d),++h[a[f]].numLiveTriangles,h[a[f+1]].vertexTriangles.push(d),++h[a[f+1]].numLiveTriangles,h[a[f+2]].vertexTriangles.push(d),++h[a[f+2]].numLiveTriangles,++d,f+=3;var v=0,g=u+1;o=1;var E,w,S=[],x=[],C=0,A=[],M=l/3,T=[];for(p=0;M>p;p++)T[p]=!1;for(var b,O;-1!==v;){S=[],w=h[v],O=w.vertexTriangles.length;for(var I=0;O>I;++I)if(d=w.vertexTriangles[I],!T[d]){T[d]=!0,f=d+d+d;for(var N=0;3>N;++N)b=a[f],S.push(b),x.push(b),A[C]=b,++C,E=h[b],--E.numLiveTriangles,g-E.timeStamp>u&&(E.timeStamp=g,++g),++f}v=i(a,u,S,h,g,x,c)}return A},r}),define("Core/GeometryAttribute",["./defaultValue","./defined","./DeveloperError"],function(e){"use strict";var t=function(t){t=e(t,e.EMPTY_OBJECT),this.componentDatatype=t.componentDatatype,this.componentsPerAttribute=t.componentsPerAttribute,this.normalize=e(t.normalize,!1),this.values=t.values};return t}),define("Core/GeometryPipeline",["./barycentricCoordinates","./defaultValue","./defined","./DeveloperError","./Cartesian2","./Cartesian3","./Cartesian4","./Cartographic","./EncodedCartesian3","./Intersect","./IntersectionTests","./Math","./Matrix3","./Matrix4","./Plane","./GeographicProjection","./ComponentDatatype","./IndexDatatype","./PrimitiveType","./Tipsify","./BoundingSphere","./Geometry","./GeometryAttribute"],function(e,t,r,n,i,o,a,s,u,l,c,f,m,y,h,p,d,v,g,E,w,S,x){"use strict";function C(e,t,r,n,i){e[t++]=r,e[t++]=n,e[t++]=n,e[t++]=i,e[t++]=i,e[t]=r}function A(e){for(var t=e.length,r=6*(t/3),n=v.createTypedArray(t,r),i=0,o=0;t>o;o+=3,i+=6)C(n,i,e[o],e[o+1],e[o+2]);return n}function M(e){var t=e.length;if(t>=3){var r=6*(t-2),n=v.createTypedArray(t,r);C(n,0,e[0],e[1],e[2]);for(var i=6,o=3;t>o;++o,i+=6)C(n,i,e[o-1],e[o],e[o-2]);return n}return new Uint16Array}function T(e){if(e.length>0){for(var t=e.length-1,r=6*(t-1),n=v.createTypedArray(t,r),i=e[0],o=0,a=1;t>a;++a,o+=6)C(n,o,i,e[a],e[a+1]);return n}return new Uint16Array}function b(e){var t={};for(var n in e)if(e.hasOwnProperty(n)&&r(e[n])&&r(e[n].values)){var i=e[n];t[n]=new x({componentDatatype:i.componentDatatype,componentsPerAttribute:i.componentsPerAttribute,normalize:i.normalize,values:[]})}return t}function O(e,t,n){for(var i in t)if(t.hasOwnProperty(i)&&r(t[i])&&r(t[i].values))for(var o=t[i],a=0;aa;a+=3)o.unpack(n,a,Z),y.multiplyByPoint(e,Z,Z),o.pack(Z,n,a)}function N(e,t){if(r(t))for(var n=t.values,i=n.length,a=0;i>a;a+=3)o.unpack(n,a,Z),m.multiplyByVector(e,Z,Z),Z=o.normalize(Z,Z),o.pack(Z,n,a)}function z(e){var t,n=e.length,i={},o=e[0].geometry.attributes;for(t in o)if(o.hasOwnProperty(t)&&r(o[t])&&r(o[t].values)){for(var a=o[t],s=a.values.length,u=!0,l=1;n>l;++l){var c=e[l].geometry.attributes[t];if(!r(c)||a.componentDatatype.value!==c.componentDatatype.value||a.componentsPerAttribute!==c.componentsPerAttribute||a.normalize!==c.normalize){u=!1;break}s+=c.values.length}u&&(i[t]=new x({componentDatatype:a.componentDatatype,componentsPerAttribute:a.componentsPerAttribute,normalize:a.normalize,values:d.createTypedArray(a.componentDatatype,s)}))}return i}function R(e){if(r(e.indices))return e;for(var t=S.computeNumberOfVertices(e),n=v.createTypedArray(t,t),i=0;t>i;++i)n[i]=i;return e.indices=n,e}function L(e){var t=S.computeNumberOfVertices(e),r=v.createTypedArray(t,3*(t-2));r[0]=1,r[1]=0,r[2]=2;for(var n=3,i=3;t>i;++i)r[n++]=i-1,r[n++]=0,r[n++]=i;return e.indices=r,e.primitiveType=g.TRIANGLES,e}function F(e){var t=S.computeNumberOfVertices(e),r=v.createTypedArray(t,3*(t-2));r[0]=0,r[1]=1,r[2]=2,t>3&&(r[3]=0,r[4]=2,r[5]=3);for(var n=6,i=3;t-1>i;i+=2)r[n++]=i,r[n++]=i-1,r[n++]=i+1,t>i+2&&(r[n++]=i,r[n++]=i+1,r[n++]=i+2);return e.indices=r,e.primitiveType=g.TRIANGLES,e}function P(e){if(r(e.indices))return e;for(var t=S.computeNumberOfVertices(e),n=v.createTypedArray(t,t),i=0;t>i;++i)n[i]=i;return e.indices=n,e}function D(e){var t=S.computeNumberOfVertices(e),r=v.createTypedArray(t,2*(t-1));r[0]=0,r[1]=1;for(var n=2,i=2;t>i;++i)r[n++]=i-1,r[n++]=i;return e.indices=r,e.primitiveType=g.LINES,e}function _(e){var t=S.computeNumberOfVertices(e),r=v.createTypedArray(t,2*t);r[0]=0,r[1]=1;for(var n=2,i=2;t>i;++i)r[n++]=i-1,r[n++]=i;return r[n++]=t-1,r[n]=0,e.indices=r,e.primitiveType=g.LINES,e}function B(e){switch(e.primitiveType){case g.TRIANGLE_FAN:return L(e);case g.TRIANGLE_STRIP:return F(e);case g.TRIANGLES:return R(e);case g.LINE_STRIP:return D(e);case g.LINE_LOOP:return _(e);case g.LINES:return P(e)}return e}function U(e,t){Math.abs(e.y)=0||t.x>=0||r.x>=0)return void 0;var n=e.y<0,i=t.y<0,o=r.y<0;U(e,n),U(t,i),U(r,o);var a=0;a+=n?1:0,a+=i?1:0,a+=o?1:0;var s=ct.indices;1===a?(s[1]=3,s[2]=4,s[5]=6,s[7]=6,s[8]=5,n?(G(e,t,at,ut),G(e,r,st,lt),s[0]=0,s[3]=1,s[4]=2,s[6]=1):i?(G(t,r,at,ut),G(t,e,st,lt),s[0]=1,s[3]=2,s[4]=0,s[6]=2):o&&(G(r,e,at,ut),G(r,t,st,lt),s[0]=2,s[3]=0,s[4]=1,s[6]=0)):2===a&&(s[2]=4,s[4]=4,s[5]=3,s[7]=5,s[8]=6,n?i?o||(G(r,e,at,ut),G(r,t,st,lt),s[0]=0,s[1]=1,s[3]=0,s[6]=2):(G(t,r,at,ut),G(t,e,st,lt),s[0]=2,s[1]=0,s[3]=2,s[6]=1):(G(e,t,at,ut),G(e,r,st,lt),s[0]=1,s[1]=2,s[3]=1,s[6]=0));var u=ct.positions;return u[0]=e,u[1]=t,u[2]=r,ct.length=3,(1===a||2===a)&&(u[3]=at,u[4]=st,u[5]=ut,u[6]=lt,ct.length=7),ct}function W(t,n,a,s,u,l,c,f){if(r(u)||r(l)||r(c)||r(f)){var m,y,h,p,d,v,g,E,w,S,x,C,A,M,T,b,O,I,N=s.positions,z=N[0],R=N[1],L=N[2];r(u)&&(m=o.fromArray(u,3*t),y=o.fromArray(u,3*n),h=o.fromArray(u,3*a)),r(l)&&(p=o.fromArray(l,3*t),d=o.fromArray(l,3*n),v=o.fromArray(l,3*a)),r(c)&&(g=o.fromArray(c,3*t),E=o.fromArray(c,3*n),w=o.fromArray(c,3*a)),r(f)&&(S=i.fromArray(f,2*t),x=i.fromArray(f,2*n),C=i.fromArray(f,2*a));for(var F=3;FE;E+=3){var w=l[E],x=l[E+1],C=l[E+2],A=o.fromArray(n,3*w),M=o.fromArray(n,3*x),T=o.fromArray(n,3*C),b=q(A,M,T);if(r(b))if(c[3*w+1]=b.positions[0].y,c[3*x+1]=b.positions[1].y,c[3*C+1]=b.positions[2].y,b.length>3){for(var O=c.length/3,I=0;IN?p.push(l[E+N]):p.push(N-3+O)}for(var z=3;zm;m+=2){var y=i[m],p=i[m+1],d=o.fromArray(n,3*y),g=o.fromArray(n,3*p);if(Math.abs(d.y)c;c+=3)u[l++]=o[c],u[l++]=o[c+1],u[l++]=o[c+2],u[l++]=o[c]+a[c]*i,u[l++]=o[c+1]+a[c+1]*i,u[l++]=o[c+2]+a[c+2]*i;var f,m=e.boundingSphere;return r(m)&&(f=new w(m.center,m.radius+i)),new S({attributes:{position:new x({componentDatatype:d.DOUBLE,componentsPerAttribute:3,values:u})},primitiveType:g.LINES,boundingSphere:f})},H.createAttributeLocations=function(e){var t,n=["position","positionHigh","positionLow","position3DHigh","position3DLow","position2DHigh","position2DLow","pickColor","normal","st","binormal","tangent"],i=e.attributes,o={},a=0,s=n.length;for(t=0;s>t;++t){var u=n[t];r(i[u])&&(o[u]=a++)}for(var l in i)i.hasOwnProperty(l)&&!r(o[l])&&(o[l]=a++);return o},H.reorderForPreVertexCache=function(e){var t=S.computeNumberOfVertices(e),n=e.indices;if(r(n)){for(var i=new Int32Array(t),o=0;t>o;o++)i[o]=-1;for(var a,s=n,u=s.length,l=v.createTypedArray(t,u),c=0,f=0,m=0;u>c;)a=i[s[c]],-1!==a?l[f]=a:(a=s[c],i[a]=m,l[f]=m,++m),++c,++f;e.indices=l;var y=e.attributes;for(var h in y)if(y.hasOwnProperty(h)&&r(y[h])&&r(y[h].values)){for(var p=y[h],g=p.values,E=0,w=p.componentsPerAttribute,x=d.createTypedArray(p.componentDatatype,m*w);t>E;){var C=i[E];if(-1!==C)for(o=0;w>o;o++)x[w*C+o]=g[w*E+o];++E}p.values=x}}return e},H.reorderForPostVertexCache=function(e,t){var n=e.indices;if(e.primitiveType===g.TRIANGLES&&r(n)){for(var i=n.length,o=0,a=0;i>a;a++)n[a]>o&&(o=n[a]);e.indices=E.tipsify({indices:n,maximumIndex:o,cacheSize:t})}return e},H.fitToUnsignedShortIndices=function(e){var t=[],n=S.computeNumberOfVertices(e);if(r(e.indices)&&n>f.SIXTY_FOUR_KILOBYTES){var i,o=[],a=[],s=0,u=b(e.attributes),l=e.indices,c=l.length;e.primitiveType===g.TRIANGLES?i=3:e.primitiveType===g.LINES?i=2:e.primitiveType===g.POINTS&&(i=1);for(var m=0;c>m;m+=i){for(var y=0;i>y;++y){var h=l[m+y],p=o[h];r(p)||(p=s++,o[h]=p,O(u,e.attributes,h)),a.push(p)}s+i>f.SIXTY_FOUR_KILOBYTES&&(t.push(new S({attributes:u,indices:a,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere})),o=[],a=[],s=0,u=b(e.attributes))}0!==a.length&&t.push(new S({attributes:u,indices:a,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere}))}else t.push(e);return t};var k=new o,j=new s;H.projectTo2D=function(e,t,i,a,s){var u=e.attributes[t];s=r(s)?s:new p;for(var l=s.ellipsoid,c=u.values,f=new Float64Array(c.length),m=0,y=0;yc;++c)u.encode(o[c],K),s[c]=K.high,l[c]=K.low;var f=i.componentsPerAttribute;return e.attributes[r]=new x({componentDatatype:d.FLOAT,componentsPerAttribute:f,values:s}),e.attributes[n]=new x({componentDatatype:d.FLOAT,componentsPerAttribute:f,values:l}),delete e.attributes[t],e};var Z=new o,Q=new y,J=new m;H.transformToWorldCoordinates=function(e){var t=e.modelMatrix;if(y.equals(t,y.IDENTITY))return e;var n=e.geometry.attributes;I(t,n.position),I(t,n.prevPosition),I(t,n.nextPosition),(r(n.normal)||r(n.binormal)||r(n.tangent))&&(y.inverse(t,Q),y.transpose(Q,Q),y.getRotation(Q,J),N(J,n.normal),N(J,n.binormal),N(J,n.tangent));var i=e.geometry.boundingSphere;return r(i)&&(e.geometry.boundingSphere=w.transform(i,t,i)),e.modelMatrix=y.clone(y.IDENTITY),e},H.combine=function(e){var t,n,i,a,s=e.length;e[0].modelMatrix;var u,l,c,f=r(e[0].geometry.indices),m=e[0].geometry.primitiveType,y=z(e);for(t in y)if(y.hasOwnProperty(t))for(u=y[t].values,a=0,n=0;s>n;++n)for(l=e[n].geometry.attributes[t].values,c=l.length,i=0;c>i;++i)u[a++]=l[i];var h;if(f){var p=0;for(n=0;s>n;++n)p+=e[n].geometry.indices.length;var d=S.computeNumberOfVertices(new S({attributes:y,primitiveType:g.POINTS})),E=v.createTypedArray(d,p),x=0,C=0;for(n=0;s>n;++n){var A=e[n].geometry.indices,M=A.length;for(a=0;M>a;++a)E[x++]=C+A[a];C+=S.computeNumberOfVertices(e[n].geometry)}h=E}var T,b=new o,O=0;for(n=0;s>n;++n){if(T=e[n].geometry.boundingSphere,!r(T)){b=void 0;break}o.add(T.center,b,b)}if(r(b))for(o.divideByScalar(b,s,b),n=0;s>n;++n){T=e[n].geometry.boundingSphere;var I=o.magnitude(o.subtract(T.center,b))+T.radius;I>O&&(O=I)}return new S({attributes:y,indices:h,primitiveType:m,boundingSphere:r(b)?new w(b,O):void 0})};var X=new o,$=new o,et=new o,tt=new o;H.computeNormal=function(e){for(var t=e.indices,r=e.attributes,n=r.position.values,i=r.position.values.length/3,a=t.length,s=new Array(i),u=new Array(a/3),l=new Array(a),c=0;i>c;c++)s[c]={indexOffset:0,count:0,currentCount:0};var f=0;for(c=0;a>c;c+=3){var m=t[c],y=t[c+1],h=t[c+2],p=3*m,v=3*y,g=3*h;$.x=n[p],$.y=n[p+1],$.z=n[p+2],et.x=n[v],et.y=n[v+1],et.z=n[v+2],tt.x=n[g],tt.y=n[g+1],tt.z=n[g+2],s[m].count++,s[y].count++,s[h].count++,o.subtract(et,$,et),o.subtract(tt,$,tt),u[f]=o.cross(et,tt),f++}var E=0;for(c=0;i>c;c++)s[c].indexOffset+=E,E+=s[c].count;f=0;var w;for(c=0;a>c;c+=3){w=s[t[c]];var S=w.indexOffset+w.currentCount;l[S]=f,w.currentCount++,w=s[t[c+1]],S=w.indexOffset+w.currentCount,l[S]=f,w.currentCount++,w=s[t[c+2]],S=w.indexOffset+w.currentCount,l[S]=f,w.currentCount++,f++}var C=new Float32Array(3*i);for(c=0;i>c;c++){var A=3*c;if(w=s[c],w.count>0){for(o.clone(o.ZERO,X),f=0;fl;l+=3){var y=t[l],h=t[l+1],p=t[l+2];c=3*y,f=3*h,m=3*p;var v=2*y,g=2*h,E=2*p,w=r[c],S=r[c+1],C=r[c+2],A=i[v],M=i[v+1],T=i[g+1]-M,b=i[E+1]-M,O=1/((i[g]-A)*b-(i[E]-A)*T),I=(b*(r[f]-w)-T*(r[m]-w))*O,N=(b*(r[f+1]-S)-T*(r[m+1]-S))*O,z=(b*(r[f+2]-C)-T*(r[m+2]-C))*O;u[c]+=I,u[c+1]+=N,u[c+2]+=z,u[f]+=I,u[f+1]+=N,u[f+2]+=z,u[m]+=I,u[m+1]+=N,u[m+2]+=z}var R=new Float32Array(3*a),L=new Float32Array(3*a);for(l=0;a>l;l++){c=3*l,f=c+1,m=c+2;var F=o.fromArray(n,c,rt),P=o.fromArray(u,c,it),D=o.dot(F,P);o.multiplyByScalar(F,D,nt),o.normalize(o.subtract(P,nt,P),P),L[c]=P.x,L[f]=P.y,L[m]=P.z,o.normalize(o.cross(F,P,P),P),R[c]=P.x,R[f]=P.y,R[m]=P.z}return e.attributes.tangent=new x({componentDatatype:d.FLOAT,componentsPerAttribute:3,values:L}),e.attributes.binormal=new x({componentDatatype:d.FLOAT,componentsPerAttribute:3,values:R}),e};var ot=new o,at=new o,st=new o,ut=new o,lt=new o,ct={positions:new Array(7),indices:new Array(9)};return H.wrapLongitude=function(e){var t=e.boundingSphere;if(r(t)){var n=t.center.x-t.radius;if(n>0||w.intersect(t,a.UNIT_Y)!==l.INTERSECTING)return e}return B(e),e.primitiveType===g.TRIANGLES?Y(e):e.primitiveType===g.LINES&&V(e),e},H}),define("Core/GeometryInstance",["./defaultValue","./defined","./DeveloperError","./Matrix4"],function(e,t,r,n){"use strict";var i=function(t){t=e(t,e.EMPTY_OBJECT),this.geometry=t.geometry,this.modelMatrix=n.clone(e(t.modelMatrix,n.IDENTITY)),this.id=t.id,this.pickPrimitive=t.pickPrimitive,this.attributes=e(t.attributes,{})};return i}),define("Core/GeometryAttributes",["./defaultValue"],function(e){"use strict";var t=function(t){t=e(t,e.EMPTY_OBJECT),this.position=t.position,this.normal=t.normal,this.st=t.st,this.binormal=t.binormal,this.tangent=t.tangent,this.color=t.color};return t}),define("Core/VertexFormat",["./defaultValue","./freezeObject"],function(e,t){"use strict";var r=function(t){t=e(t,e.EMPTY_OBJECT),this.position=e(t.position,!1),this.normal=e(t.normal,!1),this.st=e(t.st,!1),this.binormal=e(t.binormal,!1),this.tangent=e(t.tangent,!1)};return r.POSITION_ONLY=t(new r({position:!0})),r.POSITION_AND_NORMAL=t(new r({position:!0,normal:!0})),r.POSITION_NORMAL_AND_ST=t(new r({position:!0,normal:!0,st:!0})),r.POSITION_AND_ST=t(new r({position:!0,st:!0})),r.ALL=t(new r({position:!0,normal:!0,st:!0,binormal:!0,tangent:!0})),r.DEFAULT=r.POSITION_NORMAL_AND_ST,r}),define("Core/EllipseGeometry",["./defaultValue","./defined","./BoundingSphere","./Cartesian2","./Cartesian3","./Cartographic","./ComponentDatatype","./IndexDatatype","./DeveloperError","./Ellipsoid","./EllipseGeometryLibrary","./GeographicProjection","./Geometry","./GeometryPipeline","./GeometryInstance","./GeometryAttribute","./GeometryAttributes","./Math","./Matrix3","./PrimitiveType","./Quaternion","./VertexFormat"],function(e,t,r,n,i,o,a,s,u,l,c,f,m,y,h,p,d,v,g,E,w,S){"use strict";function x(e,t,r){var n=t.vertexFormat,o=t.center,s=t.semiMajorAxis,u=t.ellipsoid,l=t.stRotation,m=r?2*(e.length/3):e.length/3,y=n.st?new Float32Array(2*m):void 0,h=n.normal?new Float32Array(3*m):void 0,v=n.tangent?new Float32Array(3*m):void 0,E=n.binormal?new Float32Array(3*m):void 0,S=0,x=P,C=D,A=_,M=new f(u),T=M.project(u.cartesianToCartographic(o,B),U),b=u.scaleToGeodeticSurface(o,O);u.geodeticSurfaceNormal(b,b);for(var z=w.fromAxisAngle(b,l,F),G=g.fromQuaternion(z,L),q=e.length,W=r?q:0,Y=2*(W/3),V=0;q>V;V+=3){var H=V+1,k=V+2,j=i.fromArray(e,V,O);if(n.st){var K=g.multiplyByVector(G,j,I),Z=M.project(u.cartesianToCartographic(K,B),N);i.subtract(Z,T,Z),R.x=(Z.x+s)/(2*s),R.y=(Z.y+s)/(2*s),r&&(y[S+Y]=R.x,y[S+1+Y]=R.y),y[S++]=R.x,y[S++]=R.y}x=u.geodeticSurfaceNormal(j,x),(n.normal||n.tangent||n.binormal)&&((n.tangent||n.binormal)&&(C=i.cross(i.UNIT_Z,x,C),g.multiplyByVector(G,C,C)),n.normal&&(h[V]=x.x,h[H]=x.y,h[k]=x.z,r&&(h[V+W]=-x.x,h[H+W]=-x.y,h[k+W]=-x.z)),n.tangent&&(v[V]=C.x,v[H]=C.y,v[k]=C.z,r&&(v[V+W]=-C.x,v[H+W]=-C.y,v[k+W]=-C.z)),n.binormal&&(A=i.cross(x,C,A),E[V]=A.x,E[H]=A.y,E[k]=A.z,r&&(E[V+W]=A.x,E[H+W]=A.y,E[k+W]=A.z)))}var Q=new d;if(n.position){var J=c.raisePositionsToHeight(e,t,r);Q.position=new p({componentDatatype:a.DOUBLE,componentsPerAttribute:3,values:J})}return n.st&&(Q.st=new p({componentDatatype:a.FLOAT,componentsPerAttribute:2,values:y})),n.normal&&(Q.normal=new p({componentDatatype:a.FLOAT,componentsPerAttribute:3,values:h})),n.tangent&&(Q.tangent=new p({componentDatatype:a.FLOAT,componentsPerAttribute:3,values:v})),n.binormal&&(Q.binormal=new p({componentDatatype:a.FLOAT,componentsPerAttribute:3,values:E})),Q}function C(e){var t,r,n,i,o,a=new Array(2*e*(e+1)),s=0;for(i=1;e>i;++i){for(n=i*(i+1),t=(i-1)*i,a[s++]=n++,a[s++]=t,a[s++]=n,r=2*i,o=0;r-1>o;++o)a[s++]=n,a[s++]=t++,a[s++]=t,a[s++]=n++,a[s++]=t,a[s++]=n;a[s++]=n++,a[s++]=t,a[s++]=n}for(r=2*e,++n,++t,i=0;r-1>i;++i)a[s++]=n,a[s++]=t++,a[s++]=t,a[s++]=n++,a[s++]=t,a[s++]=n;for(++t,++n,i=e-1;i>0;--i){for(a[s++]=t++,a[s++]=t,a[s++]=n,r=2*i,o=0;r-1>o;++o)a[s++]=n,a[s++]=t++,a[s++]=t,a[s++]=n++,a[s++]=t,a[s++]=n;a[s++]=t++,a[s++]=t++,a[s++]=n++}return a}function A(e){var t=e.center;G=i.multiplyByScalar(e.ellipsoid.geodeticSurfaceNormal(t,G),e.height,G),G=i.add(t,G,G);var n=new r(G,e.semiMajorAxis),o=c.computeEllipsePositions(e,!0,!1),a=o.positions,u=o.numPts,l=x(a,e,!1),f=C(u);return f=s.createTypedArray(a.length/3,f),{boundingSphere:n,attributes:l,indices:f}}function M(e,t){var r=t.vertexFormat,n=t.center,o=t.semiMajorAxis,s=t.ellipsoid,u=t.height,l=t.extrudedHeight,c=t.stRotation,m=2*(e.length/3),y=new Float64Array(3*m),h=r.st?new Float32Array(2*m):void 0,v=r.normal?new Float32Array(3*m):void 0,E=r.tangent?new Float32Array(3*m):void 0,S=r.binormal?new Float32Array(3*m):void 0,x=0,C=P,A=D,M=_,T=new f(s),b=T.project(s.cartesianToCartographic(n,B),U),G=s.scaleToGeodeticSurface(n,O);s.geodeticSurfaceNormal(G,G);for(var q=w.fromAxisAngle(G,c,F),W=g.fromQuaternion(q,L),Y=e.length,V=2*(Y/3),H=0;Y>H;H+=3){var k,j=H+1,K=H+2,Z=i.fromArray(e,H,O);if(r.st){var Q=g.multiplyByVector(W,Z,I),J=T.project(s.cartesianToCartographic(Q,B),N);i.subtract(J,b,J),R.x=(J.x+o)/(2*o),R.y=(J.y+o)/(2*o),h[x+V]=R.x,h[x+1+V]=R.y,h[x++]=R.x,h[x++]=R.y +}Z=s.scaleToGeodeticSurface(Z,Z),k=i.clone(Z,I),C=s.geodeticSurfaceNormal(Z,C);var X=i.multiplyByScalar(C,u,z);if(Z=i.add(Z,X,Z),X=i.multiplyByScalar(C,l,X),k=i.add(k,X,k),r.position&&(y[H+Y]=k.x,y[j+Y]=k.y,y[K+Y]=k.z,y[H]=Z.x,y[j]=Z.y,y[K]=Z.z),r.normal||r.tangent||r.binormal){M=i.clone(C,M);var $=i.fromArray(e,(H+3)%Y,z);i.subtract($,Z,$);var et=i.subtract(k,Z,N);C=i.normalize(i.cross(et,$,C),C),r.normal&&(v[H]=C.x,v[j]=C.y,v[K]=C.z,v[H+Y]=C.x,v[j+Y]=C.y,v[K+Y]=C.z),r.tangent&&(A=i.normalize(i.cross(M,C,A),A),E[H]=A.x,E[j]=A.y,E[K]=A.z,E[H+Y]=A.x,E[H+1+Y]=A.y,E[H+2+Y]=A.z),r.binormal&&(S[H]=M.x,S[j]=M.y,S[K]=M.z,S[H+Y]=M.x,S[j+Y]=M.y,S[K+Y]=M.z)}}var tt=new d;return r.position&&(tt.position=new p({componentDatatype:a.DOUBLE,componentsPerAttribute:3,values:y})),r.st&&(tt.st=new p({componentDatatype:a.FLOAT,componentsPerAttribute:2,values:h})),r.normal&&(tt.normal=new p({componentDatatype:a.FLOAT,componentsPerAttribute:3,values:v})),r.tangent&&(tt.tangent=new p({componentDatatype:a.FLOAT,componentsPerAttribute:3,values:E})),r.binormal&&(tt.binormal=new p({componentDatatype:a.FLOAT,componentsPerAttribute:3,values:S})),tt}function T(e){for(var t,r,n,i,o=e.length/3,a=s.createTypedArray(o,6*o),u=0,l=0;o-1>l;l++)t=l,n=l+o,r=t+1,i=r+o,a[u++]=t,a[u++]=n,a[u++]=r,a[u++]=r,a[u++]=n,a[u++]=i;return t=o-1,n=l+o,r=0,i=r+o,a[u++]=t,a[u++]=n,a[u++]=r,a[u++]=r,a[u++]=n,a[u++]=i,a}function b(e){var t=e.center,n=e.ellipsoid,o=e.semiMajorAxis,a=i.multiplyByScalar(n.geodeticSurfaceNormal(t,O),e.height,O);q.center=i.add(t,a,q.center),q.radius=o,a=i.multiplyByScalar(n.geodeticSurfaceNormal(t,a),e.extrudedHeight,a),W.center=i.add(t,a,W.center),W.radius=o;var u=c.computeEllipsePositions(e,!0,!0),l=u.positions,f=u.numPts,p=u.outerPositions,d=r.union(q,W),v=x(l,e,!0),g=C(f),w=g.length;g.length=2*w;for(var S=l.length/3,A=0;w>A;A+=3)g[A+w]=g[A+2]+S,g[A+1+w]=g[A+1]+S,g[A+2+w]=g[A]+S;var b=s.createTypedArray(2*S/3,g),I=new m({attributes:v,indices:b,primitiveType:E.TRIANGLES}),N=M(p,e);g=T(p);var z=s.createTypedArray(2*p.length/3,g),R=new m({attributes:N,indices:z,primitiveType:E.TRIANGLES}),L=y.combine([new h({geometry:I}),new h({geometry:R})]);return{boundingSphere:d,attributes:L.attributes,indices:L.indices}}var O=new i,I=new i,N=new i,z=new i,R=new n,L=new g,F=new w,P=new i,D=new i,_=new i,B=new o,U=new i,G=new i,q=new r,W=new r,Y=function(r){r=e(r,e.EMPTY_OBJECT);var n=r.center,o=r.semiMajorAxis,a=r.semiMinorAxis,s=e(r.granularity,v.RADIANS_PER_DEGREE),u=e(r.height,0),c=r.extrudedHeight,f=t(c)&&!v.equalsEpsilon(u,c,1);this._center=i.clone(n),this._semiMajorAxis=o,this._semiMinorAxis=a,this._ellipsoid=e(r.ellipsoid,l.WGS84),this._rotation=e(r.rotation,0),this._stRotation=e(r.stRotation,0),this._height=u,this._granularity=s,this._vertexFormat=e(r.vertexFormat,S.DEFAULT),this._extrudedHeight=c,this._extrude=f,this._workerName="createEllipseGeometry"};return Y.createGeometry=function(e){var t,r={center:e._center,semiMajorAxis:e._semiMajorAxis,semiMinorAxis:e._semiMinorAxis,ellipsoid:e._ellipsoid,rotation:e._rotation,height:e._height,extrudedHeight:e._extrudedHeight,granularity:e._granularity,vertexFormat:e._vertexFormat,stRotation:e._stRotation};return e._extrude?(r.extrudedHeight=Math.min(e._extrudedHeight,e._height),r.height=Math.max(e._extrudedHeight,e._height),t=b(r)):t=A(r),new m({attributes:t.attributes,indices:t.indices,primitiveType:E.TRIANGLES,boundingSphere:t.boundingSphere})},Y}),define("Core/CircleGeometry",["./defaultValue","./defined","./DeveloperError","./EllipseGeometry"],function(e,t,r,n){"use strict";var i=function(t){t=e(t,e.EMPTY_OBJECT);var r=t.radius,i={center:t.center,semiMajorAxis:r,semiMinorAxis:r,ellipsoid:t.ellipsoid,height:t.height,extrudedHeight:t.extrudedHeight,granularity:t.granularity,vertexFormat:t.vertexFormat,stRotation:t.stRotation};this._ellipseGeometry=new n(i),this._workerName="createCircleGeometry"};return i.createGeometry=function(e){return n.createGeometry(e._ellipseGeometry)},i}),define("Core/Color",["./defaultValue","./defined","./freezeObject","./DeveloperError","./FeatureDetection","./Math"],function(e,t,r,n,i,o){"use strict";function a(e,t,r){return 0>r&&(r+=1),r>1&&(r-=1),1>6*r?e+6*(t-e)*r:1>2*r?t:2>3*r?e+6*(t-e)*(2/3-r):e}var s=function(t,r,n,i){this.red=e(t,1),this.green=e(r,1),this.blue=e(n,1),this.alpha=e(i,1)};s.fromBytes=function(t,r,n,i){return t=s.byteToFloat(e(t,255)),r=s.byteToFloat(e(r,255)),n=s.byteToFloat(e(n,255)),i=s.byteToFloat(e(i,255)),new s(t,r,n,i)};var u,l,c;i.supportsTypedArrays()&&(u=new ArrayBuffer(4),l=new Uint32Array(u),c=new Uint8Array(u)),s.fromRgba=function(e){return l[0]=e,s.fromBytes(c[0],c[1],c[2],c[3])},s.fromHsl=function(t,r,n,i){t=e(t,0)%1,r=e(r,0),n=e(n,0),i=e(i,1);var o=n,u=n,l=n;if(0!==r){var c;c=.5>n?n*(1+r):n+r-n*r;var f=2*n-c;o=a(f,c,t+1/3),u=a(f,c,t),l=a(f,c,t-1/3)}return new s(o,u,l,i)},s.fromRandom=function(r,n){r=e(r,e.EMPTY_OBJECT);var i=r.red;if(!t(i)){var a=e(r.minimumRed,0),u=e(r.maximumRed,1);i=a+o.nextRandomNumber()*(u-a)}var l=r.green;if(!t(l)){var c=e(r.minimumGreen,0),f=e(r.maximumGreen,1);l=c+o.nextRandomNumber()*(f-c)}var m=r.blue;if(!t(m)){var y=e(r.minimumBlue,0),h=e(r.maximumBlue,1);m=y+o.nextRandomNumber()*(h-y)}var p=r.alpha;if(!t(p)){var d=e(r.minimumAlpha,0),v=e(r.maximumAlpha,1);p=d+o.nextRandomNumber()*(v-d)}return t(n)?(n.red=i,n.green=l,n.blue=m,n.alpha=p,n):new s(i,l,m,p)};var f=/^#([0-9a-f])([0-9a-f])([0-9a-f])$/i,m=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i,y=/^rgba?\(\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)(?:\s*,\s*([0-9.]+))?\s*\)$/i,h=/^hsla?\(\s*([0-9.]+)\s*,\s*([0-9.]+%)\s*,\s*([0-9.]+%)(?:\s*,\s*([0-9.]+))?\s*\)$/i;return s.fromCssColorString=function(r){var n=s[r.toUpperCase()];if(t(n))return s.clone(n);var i=f.exec(r);return null!==i?new s(parseInt(i[1],16)/15,parseInt(i[2],16)/15,parseInt(i[3],16)/15):(i=m.exec(r),null!==i?new s(parseInt(i[1],16)/255,parseInt(i[2],16)/255,parseInt(i[3],16)/255):(i=y.exec(r),null!==i?new s(parseFloat(i[1])/("%"===i[1].substr(-1)?100:255),parseFloat(i[2])/("%"===i[2].substr(-1)?100:255),parseFloat(i[3])/("%"===i[3].substr(-1)?100:255),parseFloat(e(i[4],"1.0"))):(i=h.exec(r),null!==i?s.fromHsl(parseFloat(i[1])/360,parseFloat(i[2])/100,parseFloat(i[3])/100,parseFloat(e(i[4],"1.0"))):void 0)))},s.packedLength=4,s.pack=function(t,r,n){n=e(n,0),r[n++]=t.red,r[n++]=t.green,r[n++]=t.blue,r[n]=t.alpha},s.unpack=function(r,n,i){return n=e(n,0),t(i)||(i=new s),i.red=r[n++],i.green=r[n++],i.blue=r[n++],i.alpha=r[n],i},s.byteToFloat=function(e){return e/255},s.floatToByte=function(e){return 1===e?255:0|256*e},s.clone=function(e,r){return t(e)?t(r)?(r.red=e.red,r.green=e.green,r.blue=e.blue,r.alpha=e.alpha,r):new s(e.red,e.green,e.blue,e.alpha):void 0},s.equals=function(e,r){return e===r||t(e)&&t(r)&&e.red===r.red&&e.green===r.green&&e.blue===r.blue&&e.alpha===r.alpha},s.prototype.clone=function(e){return s.clone(this,e)},s.prototype.equals=function(e){return s.equals(this,e)},s.prototype.equalsEpsilon=function(e,r){return this===e||t(e)&&Math.abs(this.red-e.red)<=r&&Math.abs(this.green-e.green)<=r&&Math.abs(this.blue-e.blue)<=r&&Math.abs(this.alpha-e.alpha)<=r},s.prototype.toString=function(){return"("+this.red+", "+this.green+", "+this.blue+", "+this.alpha+")"},s.prototype.toCssColorString=function(){var e=s.floatToByte(this.red),t=s.floatToByte(this.green),r=s.floatToByte(this.blue);return 1===this.alpha?"rgb("+e+","+t+","+r+")":"rgba("+e+","+t+","+r+","+this.alpha+")"},s.prototype.toBytes=function(e){var r=s.floatToByte(this.red),n=s.floatToByte(this.green),i=s.floatToByte(this.blue),o=s.floatToByte(this.alpha);return t(e)?(e[0]=r,e[1]=n,e[2]=i,e[3]=o,e):[r,n,i,o]},s.prototype.toRgba=function(){return c[0]=s.floatToByte(this.red),c[1]=s.floatToByte(this.green),c[2]=s.floatToByte(this.blue),c[3]=s.floatToByte(this.alpha),l[0]},s.ALICEBLUE=r(s.fromCssColorString("#F0F8FF")),s.ANTIQUEWHITE=r(s.fromCssColorString("#FAEBD7")),s.AQUA=r(s.fromCssColorString("#00FFFF")),s.AQUAMARINE=r(s.fromCssColorString("#7FFFD4")),s.AZURE=r(s.fromCssColorString("#F0FFFF")),s.BEIGE=r(s.fromCssColorString("#F5F5DC")),s.BISQUE=r(s.fromCssColorString("#FFE4C4")),s.BLACK=r(s.fromCssColorString("#000000")),s.BLANCHEDALMOND=r(s.fromCssColorString("#FFEBCD")),s.BLUE=r(s.fromCssColorString("#0000FF")),s.BLUEVIOLET=r(s.fromCssColorString("#8A2BE2")),s.BROWN=r(s.fromCssColorString("#A52A2A")),s.BURLYWOOD=r(s.fromCssColorString("#DEB887")),s.CADETBLUE=r(s.fromCssColorString("#5F9EA0")),s.CHARTREUSE=r(s.fromCssColorString("#7FFF00")),s.CHOCOLATE=r(s.fromCssColorString("#D2691E")),s.CORAL=r(s.fromCssColorString("#FF7F50")),s.CORNFLOWERBLUE=r(s.fromCssColorString("#6495ED")),s.CORNSILK=r(s.fromCssColorString("#FFF8DC")),s.CRIMSON=r(s.fromCssColorString("#DC143C")),s.CYAN=r(s.fromCssColorString("#00FFFF")),s.DARKBLUE=r(s.fromCssColorString("#00008B")),s.DARKCYAN=r(s.fromCssColorString("#008B8B")),s.DARKGOLDENROD=r(s.fromCssColorString("#B8860B")),s.DARKGRAY=r(s.fromCssColorString("#A9A9A9")),s.DARKGREEN=r(s.fromCssColorString("#006400")),s.DARKGREY=s.DARKGRAY,s.DARKKHAKI=r(s.fromCssColorString("#BDB76B")),s.DARKMAGENTA=r(s.fromCssColorString("#8B008B")),s.DARKOLIVEGREEN=r(s.fromCssColorString("#556B2F")),s.DARKORANGE=r(s.fromCssColorString("#FF8C00")),s.DARKORCHID=r(s.fromCssColorString("#9932CC")),s.DARKRED=r(s.fromCssColorString("#8B0000")),s.DARKSALMON=r(s.fromCssColorString("#E9967A")),s.DARKSEAGREEN=r(s.fromCssColorString("#8FBC8F")),s.DARKSLATEBLUE=r(s.fromCssColorString("#483D8B")),s.DARKSLATEGRAY=r(s.fromCssColorString("#2F4F4F")),s.DARKSLATEGREY=s.DARKSLATEGRAY,s.DARKTURQUOISE=r(s.fromCssColorString("#00CED1")),s.DARKVIOLET=r(s.fromCssColorString("#9400D3")),s.DEEPPINK=r(s.fromCssColorString("#FF1493")),s.DEEPSKYBLUE=r(s.fromCssColorString("#00BFFF")),s.DIMGRAY=r(s.fromCssColorString("#696969")),s.DIMGREY=s.DIMGRAY,s.DODGERBLUE=r(s.fromCssColorString("#1E90FF")),s.FIREBRICK=r(s.fromCssColorString("#B22222")),s.FLORALWHITE=r(s.fromCssColorString("#FFFAF0")),s.FORESTGREEN=r(s.fromCssColorString("#228B22")),s.FUSCHIA=r(s.fromCssColorString("#FF00FF")),s.GAINSBORO=r(s.fromCssColorString("#DCDCDC")),s.GHOSTWHITE=r(s.fromCssColorString("#F8F8FF")),s.GOLD=r(s.fromCssColorString("#FFD700")),s.GOLDENROD=r(s.fromCssColorString("#DAA520")),s.GRAY=r(s.fromCssColorString("#808080")),s.GREEN=r(s.fromCssColorString("#008000")),s.GREENYELLOW=r(s.fromCssColorString("#ADFF2F")),s.GREY=s.GRAY,s.HONEYDEW=r(s.fromCssColorString("#F0FFF0")),s.HOTPINK=r(s.fromCssColorString("#FF69B4")),s.INDIANRED=r(s.fromCssColorString("#CD5C5C")),s.INDIGO=r(s.fromCssColorString("#4B0082")),s.IVORY=r(s.fromCssColorString("#FFFFF0")),s.KHAKI=r(s.fromCssColorString("#F0E68C")),s.LAVENDER=r(s.fromCssColorString("#E6E6FA")),s.LAVENDAR_BLUSH=r(s.fromCssColorString("#FFF0F5")),s.LAWNGREEN=r(s.fromCssColorString("#7CFC00")),s.LEMONCHIFFON=r(s.fromCssColorString("#FFFACD")),s.LIGHTBLUE=r(s.fromCssColorString("#ADD8E6")),s.LIGHTCORAL=r(s.fromCssColorString("#F08080")),s.LIGHTCYAN=r(s.fromCssColorString("#E0FFFF")),s.LIGHTGOLDENRODYELLOW=r(s.fromCssColorString("#FAFAD2")),s.LIGHTGRAY=r(s.fromCssColorString("#D3D3D3")),s.LIGHTGREEN=r(s.fromCssColorString("#90EE90")),s.LIGHTGREY=s.LIGHTGRAY,s.LIGHTPINK=r(s.fromCssColorString("#FFB6C1")),s.LIGHTSEAGREEN=r(s.fromCssColorString("#20B2AA")),s.LIGHTSKYBLUE=r(s.fromCssColorString("#87CEFA")),s.LIGHTSLATEGRAY=r(s.fromCssColorString("#778899")),s.LIGHTSLATEGREY=s.LIGHTSLATEGRAY,s.LIGHTSTEELBLUE=r(s.fromCssColorString("#B0C4DE")),s.LIGHTYELLOW=r(s.fromCssColorString("#FFFFE0")),s.LIME=r(s.fromCssColorString("#00FF00")),s.LIMEGREEN=r(s.fromCssColorString("#32CD32")),s.LINEN=r(s.fromCssColorString("#FAF0E6")),s.MAGENTA=r(s.fromCssColorString("#FF00FF")),s.MAROON=r(s.fromCssColorString("#800000")),s.MEDIUMAQUAMARINE=r(s.fromCssColorString("#66CDAA")),s.MEDIUMBLUE=r(s.fromCssColorString("#0000CD")),s.MEDIUMORCHID=r(s.fromCssColorString("#BA55D3")),s.MEDIUMPURPLE=r(s.fromCssColorString("#9370DB")),s.MEDIUMSEAGREEN=r(s.fromCssColorString("#3CB371")),s.MEDIUMSLATEBLUE=r(s.fromCssColorString("#7B68EE")),s.MEDIUMSPRINGGREEN=r(s.fromCssColorString("#00FA9A")),s.MEDIUMTURQUOISE=r(s.fromCssColorString("#48D1CC")),s.MEDIUMVIOLETRED=r(s.fromCssColorString("#C71585")),s.MIDNIGHTBLUE=r(s.fromCssColorString("#191970")),s.MINTCREAM=r(s.fromCssColorString("#F5FFFA")),s.MISTYROSE=r(s.fromCssColorString("#FFE4E1")),s.MOCCASIN=r(s.fromCssColorString("#FFE4B5")),s.NAVAJOWHITE=r(s.fromCssColorString("#FFDEAD")),s.NAVY=r(s.fromCssColorString("#000080")),s.OLDLACE=r(s.fromCssColorString("#FDF5E6")),s.OLIVE=r(s.fromCssColorString("#808000")),s.OLIVEDRAB=r(s.fromCssColorString("#6B8E23")),s.ORANGE=r(s.fromCssColorString("#FFA500")),s.ORANGERED=r(s.fromCssColorString("#FF4500")),s.ORCHID=r(s.fromCssColorString("#DA70D6")),s.PALEGOLDENROD=r(s.fromCssColorString("#EEE8AA")),s.PALEGREEN=r(s.fromCssColorString("#98FB98")),s.PALETURQUOISE=r(s.fromCssColorString("#AFEEEE")),s.PALEVIOLETRED=r(s.fromCssColorString("#DB7093")),s.PAPAYAWHIP=r(s.fromCssColorString("#FFEFD5")),s.PEACHPUFF=r(s.fromCssColorString("#FFDAB9")),s.PERU=r(s.fromCssColorString("#CD853F")),s.PINK=r(s.fromCssColorString("#FFC0CB")),s.PLUM=r(s.fromCssColorString("#DDA0DD")),s.POWDERBLUE=r(s.fromCssColorString("#B0E0E6")),s.PURPLE=r(s.fromCssColorString("#800080")),s.RED=r(s.fromCssColorString("#FF0000")),s.ROSYBROWN=r(s.fromCssColorString("#BC8F8F")),s.ROYALBLUE=r(s.fromCssColorString("#4169E1")),s.SADDLEBROWN=r(s.fromCssColorString("#8B4513")),s.SALMON=r(s.fromCssColorString("#FA8072")),s.SANDYBROWN=r(s.fromCssColorString("#F4A460")),s.SEAGREEN=r(s.fromCssColorString("#2E8B57")),s.SEASHELL=r(s.fromCssColorString("#FFF5EE")),s.SIENNA=r(s.fromCssColorString("#A0522D")),s.SILVER=r(s.fromCssColorString("#C0C0C0")),s.SKYBLUE=r(s.fromCssColorString("#87CEEB")),s.SLATEBLUE=r(s.fromCssColorString("#6A5ACD")),s.SLATEGRAY=r(s.fromCssColorString("#708090")),s.SLATEGREY=s.SLATEGRAY,s.SNOW=r(s.fromCssColorString("#FFFAFA")),s.SPRINGGREEN=r(s.fromCssColorString("#00FF7F")),s.STEELBLUE=r(s.fromCssColorString("#4682B4")),s.TAN=r(s.fromCssColorString("#D2B48C")),s.TEAL=r(s.fromCssColorString("#008080")),s.THISTLE=r(s.fromCssColorString("#D8BFD8")),s.TOMATO=r(s.fromCssColorString("#FF6347")),s.TURQUOISE=r(s.fromCssColorString("#40E0D0")),s.VIOLET=r(s.fromCssColorString("#EE82EE")),s.WHEAT=r(s.fromCssColorString("#F5DEB3")),s.WHITE=r(s.fromCssColorString("#FFFFFF")),s.WHITESMOKE=r(s.fromCssColorString("#F5F5F5")),s.YELLOW=r(s.fromCssColorString("#FFFF00")),s.YELLOWGREEN=r(s.fromCssColorString("#9ACD32")),s}),define("Scene/PrimitivePipeline",["../Core/defined","../Core/defaultValue","../Core/Color","../Core/ComponentDatatype","../Core/DeveloperError","../Core/FeatureDetection","../Core/Geometry","../Core/GeometryAttribute","../Core/GeometryPipeline","../Core/Matrix4"],function(e,t,r,n,i,o,a,s,u,l){"use strict";function c(e,t,r){var n,i=!r,o=e.length;if(!i&&o>1){var a=e[0].modelMatrix;for(n=1;o>n;++n)if(!l.equals(a,e[n].modelMatrix)){i=!0;break}}if(i)for(n=0;o>n;++n)u.transformToWorldCoordinates(e[n]);else l.clone(e[0].modelMatrix,t)}function f(e,t){for(var i=e.length,o=0;i>o;++o){var a=e[o],u=a.geometry,l=u.attributes,c=l.position,f=4*(c.values.length/c.componentsPerAttribute);l.pickColor=new s({componentDatatype:n.UNSIGNED_BYTE,componentsPerAttribute:4,normalize:!0,values:new Uint8Array(f)});for(var m=t[o],y=r.floatToByte(m.red),h=r.floatToByte(m.green),p=r.floatToByte(m.blue),d=r.floatToByte(m.alpha),v=l.pickColor.values,g=0;f>g;g+=4)v[g]=y,v[g+1]=h,v[g+2]=p,v[g+3]=d}}function m(t){var r,n=t.length,i=[],o=t[0].attributes;for(r in o)if(o.hasOwnProperty(r)){for(var a=o[r],s=!0,u=1;n>u;++u){var l=t[u].attributes[r];if(!e(l)||a.componentDatatype.value!==l.componentDatatype.value||a.componentsPerAttribute!==l.componentsPerAttribute||a.normalize!==l.normalize){s=!1;break}}s&&i.push(r)}return i}function y(e,t){for(var r=e.length,i=0;r>i;++i)for(var o=e[i],u=o.attributes,l=o.geometry,c=a.computeNumberOfVertices(l),f=t.length,m=0;f>m;++m){for(var y=t[m],h=u[y],p=h.componentDatatype,d=h.value,v=d.length,g=n.createTypedArray(p,c*v),E=0;c>E;++E)g.set(d,E*v);l.attributes[y]=new s({componentDatatype:p,componentsPerAttribute:v,normalize:h.normalize,values:g})}}function h(e){var t,r=e.instances,i=e.pickIds,o=e.projection,a=e.elementIndexUintSupported,s=e.allow3DOnly,l=e.allowPicking,h=e.vertexCacheOptimize,p=e.modelMatrix,d=r.length;if(r[0].geometry.primitiveType,c(r,p,s),!s)for(t=0;d>t;++t)u.wrapLongitude(r[t].geometry);l&&f(r,i);var v=m(r);if(y(r,v),h)for(t=0;d>t;++t)u.reorderForPostVertexCache(r[t].geometry),u.reorderForPreVertexCache(r[t].geometry);var g,E=u.combine(r),w=E.attributes;if(s)for(g in w)w.hasOwnProperty(g)&&w[g].componentDatatype.value===n.DOUBLE.value&&u.encodeAttribute(E,g,g+"3DHigh",g+"3DLow");else for(g in w)if(w.hasOwnProperty(g)&&w[g].componentDatatype.value===n.DOUBLE.value){var S=g+"3D",x=g+"2D";u.projectTo2D(E,g,S,x,o),u.encodeAttribute(E,S,S+"High",S+"Low"),u.encodeAttribute(E,x,x+"High",x+"Low")}return a?[E]:u.fitToUnsignedShortIndices(E)}function p(e,t,r){for(var i=[],o=e.attributes,a=r.length,s=0;a>s;++s){var u=r[s],l=o[u],c=l.componentDatatype;c.value===n.DOUBLE.value&&(c=n.FLOAT);var f=n.createTypedArray(c,l.values);i.push({index:t[u],componentDatatype:c,componentsPerAttribute:l.componentsPerAttribute,normalize:l.normalize,values:f}),delete o[u]}return i}function d(r,n,i){for(var o=[],s=m(r),u=r.length,l={},c={},f=0;u>f;++f)for(var y=r[f],h=a.computeNumberOfVertices(y.geometry),p=s.length,d=0;p>d;++d)for(var v=s[d],g=i[v],E=h;E>0;){for(var w,S=t(c[v],0),x=n[S],C=x.length,A=0;C>A&&(w=x[A],w.index!==g);++A);e(o[f])||(o[f]={}),e(o[f][v])||(o[f][v]={dirty:!1,value:y.attributes[v].value,indices:[]});var M,T=w.values.length/w.componentsPerAttribute,b=t(l[v],0);T>b+E?(M=E,o[f][v].indices.push({attribute:w,offset:b,count:M}),l[v]=b+E):(M=T-b,o[f][v].indices.push({attribute:w,offset:b,count:M}),l[v]=0,c[v]=S+1),E-=M}return o}function v(t){return e(t.constructor.name)?{type:t.constructor.name,buffer:t.buffer}:t}function g(t){return e(t.type)?new w[t.type](t.buffer):t}if(!o.supportsTypedArrays())return{};var E={};E.combineGeometry=function(e){for(var t={instances:e.instances,pickIds:e.pickIds,ellipsoid:e.ellipsoid,projection:e.projection,elementIndexUintSupported:e.elementIndexUintSupported,allow3DOnly:e.allow3DOnly,allowPicking:e.allowPicking,vertexCacheOptimize:e.vertexCacheOptimize,modelMatrix:l.clone(e.modelMatrix)},r=h(t),n=u.createAttributeLocations(r[0]),i=t.instances,o=m(i),a=[],s=r.length,c=0;s>c;++c){var f=r[c];a.push(p(f,n,o))}var y=d(i,a,n);return{geometries:r,modelMatrix:t.modelMatrix,attributeLocations:n,vaAttributes:a,vaAttributeLocations:y}};var w={Int8Array:Int8Array,Uint8Array:Uint8Array,Int16Array:Int16Array,Uint16Array:Uint16Array,Int32Array:Int32Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array};return E.transferGeometry=function(t,r){var n,i=t.attributes;for(var a in i)i.hasOwnProperty(a)&&e(i[a])&&e(i[a].values)&&(n=i[a].values,o.supportsTransferringArrayBuffers()&&r.indexOf(i[a].values.buffer)<0&&r.push(n.buffer),e(n.type)||(i[a].values=v(n)));e(t.indices)&&(n=t.indices,o.supportsTransferringArrayBuffers()&&r.push(n.buffer),e(n.type)||(t.indices=v(t.indices)))},E.transferGeometries=function(e,t){for(var r=e.length,n=0;r>n;++n)E.transferGeometry(e[n],t)},E.transferPerInstanceAttributes=function(e,t){for(var r=e.length,n=0;r>n;++n)for(var i=e[n],a=i.length,s=0;a>s;++s){var u=i[s].values;o.supportsTransferringArrayBuffers()&&t.push(u.buffer),i[s].values=v(u)}},E.transferInstances=function(e,t){for(var r=e.length,n=0;r>n;++n){var i=e[n];E.transferGeometry(i.geometry,t)}},E.receiveGeometry=function(t){var r=t.attributes;for(var n in r)r.hasOwnProperty(n)&&e(r[n])&&e(r[n].values)&&(r[n].values=g(r[n].values));e(t.indices)&&(t.indices=g(t.indices))},E.receiveGeometries=function(e){for(var t=e.length,r=0;t>r;++r)E.receiveGeometry(e[r])},E.receivePerInstanceAttributes=function(e){for(var t=e.length,r=0;t>r;++r)for(var n=e[r],i=n.length,o=0;i>o;++o)n[o].values=g(n[o].values)},E.receiveInstances=function(e){for(var t=e.length,r=0;t>r;++r){var n=e[r];E.receiveGeometry(n.geometry)}},E}),define("Workers/createTaskProcessorWorker",["../Core/defaultValue","../Core/defined"],function(e,t){"use strict";var r=function(r){var n,i=[],o={id:void 0,result:void 0,error:void 0};return function(a){var s=a.data;i.length=0,o.id=s.id,o.error=void 0,o.result=void 0;try{o.result=r(s.parameters,i)}catch(u){o.error=u}t(n)||(n=e(self.webkitPostMessage,self.postMessage));try{n(o,i)}catch(u){o.result=void 0,o.error="postMessage failed with error: "+u+"\n with responseMessage: "+JSON.stringify(o),n(o)}}};return r}),define("Workers/createCircleGeometry",["../Core/Cartesian3","../Core/CircleGeometry","../Core/Ellipsoid","../Scene/PrimitivePipeline","./createTaskProcessorWorker"],function(e,t,r,n,i){"use strict";function o(i,o){var a=i.geometry;a._ellipseGeometry._center=e.clone(a._ellipseGeometry._center),a._ellipseGeometry._ellipsoid=r.clone(a._ellipseGeometry._ellipsoid);var s=t.createGeometry(a);return n.transferGeometry(s,o),{geometry:s,index:i.index}}return i(o)})}(); \ No newline at end of file diff --git a/Cesium/Workers/createCircleOutlineGeometry.js b/Cesium/Workers/createCircleOutlineGeometry.js new file mode 100644 index 0000000..615ea5e --- /dev/null +++ b/Cesium/Workers/createCircleOutlineGeometry.js @@ -0,0 +1,61 @@ +/** + * Cesium - https://github.com/AnalyticalGraphicsInc/cesium + * + * Copyright 2011-2014 Cesium Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Columbus View (Pat. Pend.) + * + * Portions licensed separately. + * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details. + */ +/** +@license +mersenne-twister.js - https://gist.github.com/banksean/300494 + + Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura, + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. The names of its contributors may not be used to endorse or promote + products derived from this software without specific prior written + permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +!function(){define("Core/defined",[],function(){"use strict";var e=function(e){return void 0!==e};return e}),define("Core/freezeObject",["./defined"],function(e){"use strict";var r=Object.freeze;return e(r)||(r=function(e){return e}),r}),define("Core/defaultValue",["./freezeObject"],function(e){"use strict";var r=function(e,r){return void 0!==e?e:r};return r.EMPTY_OBJECT=e({}),r}),define("Core/DeveloperError",["./defined"],function(e){"use strict";var r=function(e){this.name="DeveloperError",this.message=e;var r;try{throw new Error}catch(t){r=t.stack}this.stack=r};return r.prototype.toString=function(){var r=this.name+": "+this.message;return e(this.stack)&&(r+="\n"+this.stack.toString()),r},r.throwInstantiationError=function(){throw new r("This function defines an interface and should not be called directly.")},r}),define("Core/Cartesian3",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,r,t,n){"use strict";var i=function(r,t,n){this.x=e(r,0),this.y=e(t,0),this.z=e(n,0)};i.fromSpherical=function(t,n){r(n)||(n=new i);var a=t.clock,o=t.cone,u=e(t.magnitude,1),s=u*Math.sin(o);return n.x=s*Math.cos(a),n.y=s*Math.sin(a),n.z=u*Math.cos(o),n},i.fromElements=function(e,t,n,a){return r(a)?(a.x=e,a.y=t,a.z=n,a):new i(e,t,n)},i.clone=function(e,t){return r(e)?r(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t):new i(e.x,e.y,e.z):void 0},i.fromCartesian4=i.clone,i.packedLength=3,i.pack=function(r,t,n){n=e(n,0),t[n++]=r.x,t[n++]=r.y,t[n]=r.z},i.unpack=function(t,n,a){return n=e(n,0),r(a)||(a=new i),a.x=t[n++],a.y=t[n++],a.z=t[n],a},i.fromArray=i.unpack,i.getMaximumComponent=function(e){return Math.max(e.x,e.y,e.z)},i.getMinimumComponent=function(e){return Math.min(e.x,e.y,e.z)},i.getMinimumByComponent=function(e,t,n){return r(n)||(n=new i),n.x=Math.min(e.x,t.x),n.y=Math.min(e.y,t.y),n.z=Math.min(e.z,t.z),n},i.getMaximumByComponent=function(e,t,n){return r(n)||(n=new i),n.x=Math.max(e.x,t.x),n.y=Math.max(e.y,t.y),n.z=Math.max(e.z,t.z),n},i.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z},i.magnitude=function(e){return Math.sqrt(i.magnitudeSquared(e))};var a=new i;i.distance=function(e,r){return i.subtract(e,r,a),i.magnitude(a)},i.normalize=function(e,t){var n=i.magnitude(e);return r(t)?(t.x=e.x/n,t.y=e.y/n,t.z=e.z/n,t):new i(e.x/n,e.y/n,e.z/n)},i.dot=function(e,r){return e.x*r.x+e.y*r.y+e.z*r.z},i.multiplyComponents=function(e,t,n){return r(n)?(n.x=e.x*t.x,n.y=e.y*t.y,n.z=e.z*t.z,n):new i(e.x*t.x,e.y*t.y,e.z*t.z)},i.add=function(e,t,n){return r(n)?(n.x=e.x+t.x,n.y=e.y+t.y,n.z=e.z+t.z,n):new i(e.x+t.x,e.y+t.y,e.z+t.z)},i.subtract=function(e,t,n){return r(n)?(n.x=e.x-t.x,n.y=e.y-t.y,n.z=e.z-t.z,n):new i(e.x-t.x,e.y-t.y,e.z-t.z)},i.multiplyByScalar=function(e,t,n){return r(n)?(n.x=e.x*t,n.y=e.y*t,n.z=e.z*t,n):new i(e.x*t,e.y*t,e.z*t)},i.divideByScalar=function(e,t,n){return r(n)?(n.x=e.x/t,n.y=e.y/t,n.z=e.z/t,n):new i(e.x/t,e.y/t,e.z/t)},i.negate=function(e,t){return r(t)?(t.x=-e.x,t.y=-e.y,t.z=-e.z,t):new i(-e.x,-e.y,-e.z)},i.abs=function(e,t){return r(t)?(t.x=Math.abs(e.x),t.y=Math.abs(e.y),t.z=Math.abs(e.z),t):new i(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z))};var o=new i;i.lerp=function(e,r,t,n){return i.multiplyByScalar(r,t,o),n=i.multiplyByScalar(e,1-t,n),i.add(o,n,n)};var u=new i,s=new i;i.angleBetween=function(e,r){i.normalize(e,u),i.normalize(r,s);var t=i.dot(u,s),n=i.magnitude(i.cross(u,s,u));return Math.atan2(n,t)};var l=new i;return i.mostOrthogonalAxis=function(e,r){var t=i.normalize(e,l);return i.abs(t,t),r=t.x<=t.y?t.x<=t.z?i.clone(i.UNIT_X,r):i.clone(i.UNIT_Z,r):t.y<=t.z?i.clone(i.UNIT_Y,r):i.clone(i.UNIT_Z,r)},i.equals=function(e,t){return e===t||r(e)&&r(t)&&e.x===t.x&&e.y===t.y&&e.z===t.z},i.equalsEpsilon=function(e,t,n){return e===t||r(e)&&r(t)&&Math.abs(e.x-t.x)<=n&&Math.abs(e.y-t.y)<=n&&Math.abs(e.z-t.z)<=n},i.cross=function(e,t,n){var a=e.x,o=e.y,u=e.z,s=t.x,l=t.y,c=t.z,f=o*c-u*l,m=u*s-a*c,y=a*l-o*s;return r(n)?(n.x=f,n.y=m,n.z=y,n):new i(f,m,y)},i.ZERO=n(new i(0,0,0)),i.UNIT_X=n(new i(1,0,0)),i.UNIT_Y=n(new i(0,1,0)),i.UNIT_Z=n(new i(0,0,1)),i.prototype.clone=function(e){return i.clone(this,e)},i.prototype.equals=function(e){return i.equals(this,e)},i.prototype.equalsEpsilon=function(e,r){return i.equalsEpsilon(this,e,r)},i.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+")"},i}),define("ThirdParty/mersenne-twister",[],function(){var e=function(e){void 0==e&&(e=(new Date).getTime()),this.N=624,this.M=397,this.MATRIX_A=2567483615,this.UPPER_MASK=2147483648,this.LOWER_MASK=2147483647,this.mt=new Array(this.N),this.mti=this.N+1,this.init_genrand(e)};return e.prototype.init_genrand=function(e){for(this.mt[0]=e>>>0,this.mti=1;this.mti>>30;this.mt[this.mti]=(1812433253*((4294901760&e)>>>16)<<16)+1812433253*(65535&e)+this.mti,this.mt[this.mti]>>>=0}},e.prototype.genrand_int32=function(){var e,r=new Array(0,this.MATRIX_A);if(this.mti>=this.N){var t;for(this.mti==this.N+1&&this.init_genrand(5489),t=0;t>>1^r[1&e];for(;t>>1^r[1&e];e=this.mt[this.N-1]&this.UPPER_MASK|this.mt[0]&this.LOWER_MASK,this.mt[this.N-1]=this.mt[this.M-1]^e>>>1^r[1&e],this.mti=0}return e=this.mt[this.mti++],e^=e>>>11,e^=2636928640&e<<7,e^=4022730752&e<<15,e^=e>>>18,e>>>0},e.prototype.random=function(){return this.genrand_int32()*(1/4294967296)},e}),define("Core/Math",["./defaultValue","./defined","./DeveloperError","../ThirdParty/mersenne-twister"],function(e,r,t,n){"use strict";var i={};i.EPSILON1=.1,i.EPSILON2=.01,i.EPSILON3=.001,i.EPSILON4=1e-4,i.EPSILON5=1e-5,i.EPSILON6=1e-6,i.EPSILON7=1e-7,i.EPSILON8=1e-8,i.EPSILON9=1e-9,i.EPSILON10=1e-10,i.EPSILON11=1e-11,i.EPSILON12=1e-12,i.EPSILON13=1e-13,i.EPSILON14=1e-14,i.EPSILON15=1e-15,i.EPSILON16=1e-16,i.EPSILON17=1e-17,i.EPSILON18=1e-18,i.EPSILON19=1e-19,i.EPSILON20=1e-20,i.GRAVITATIONALPARAMETER=3986004418e5,i.SOLAR_RADIUS=6955e5,i.LUNAR_RADIUS=1737400,i.SIXTY_FOUR_KILOBYTES=65536,i.sign=function(e){return e>0?1:0>e?-1:0},i.sinh=function(e){var r=Math.pow(Math.E,e),t=Math.pow(Math.E,-1*e);return.5*(r-t)},i.cosh=function(e){var r=Math.pow(Math.E,e),t=Math.pow(Math.E,-1*e);return.5*(r+t)},i.lerp=function(e,r,t){return(1-t)*e+t*r},i.PI=Math.PI,i.ONE_OVER_PI=1/Math.PI,i.PI_OVER_TWO=.5*Math.PI,i.PI_OVER_THREE=Math.PI/3,i.PI_OVER_FOUR=Math.PI/4,i.PI_OVER_SIX=Math.PI/6,i.THREE_PI_OVER_TWO=.5*3*Math.PI,i.TWO_PI=2*Math.PI,i.ONE_OVER_TWO_PI=1/(2*Math.PI),i.RADIANS_PER_DEGREE=Math.PI/180,i.DEGREES_PER_RADIAN=180/Math.PI,i.RADIANS_PER_ARCSECOND=i.RADIANS_PER_DEGREE/3600,i.toRadians=function(e){return e*i.RADIANS_PER_DEGREE},i.toDegrees=function(e){return e*i.DEGREES_PER_RADIAN},i.convertLongitudeRange=function(e){var r=i.TWO_PI,t=e-Math.floor(e/r)*r;return t<-Math.PI?t+r:t>=Math.PI?t-r:t},i.negativePiToPi=function(e){for(var r=i.EPSILON10,t=i.PI,n=i.TWO_PI;-(t+r)>e;)e+=n;if(-t>e)return-t;for(;e>t+r;)e-=n;return e>t?t:e},i.zeroToTwoPi=function(e){var r=e%i.TWO_PI;return 0>r?(r+i.TWO_PI)%i.TWO_PI:r},i.equalsEpsilon=function(r,t,n){return n=e(n,0),Math.abs(r-t)<=n};var a=[1];i.factorial=function(e){var r=a.length;if(e>=r)for(var t=a[r-1],n=r;e>=n;n++)a.push(t*n);return a[e]},i.incrementWrap=function(r,t,n){return n=e(n,0),++r,r>t&&(r=n),r},i.isPowerOfTwo=function(e){return 0!==e&&0===(e&e-1)},i.nextPowerOfTwo=function(e){return--e,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,++e,e},i.clamp=function(e,r,t){return r>e?r:e>t?t:e};var o=new n;return i.setRandomNumberSeed=function(e){o=new n(e)},i.nextRandomNumber=function(){return o.random()},i}),define("Core/Cartographic",["./defaultValue","./defined","./DeveloperError","./freezeObject","./Math"],function(e,r,t,n,i){"use strict";var a=function(r,t,n){this.longitude=e(r,0),this.latitude=e(t,0),this.height=e(n,0)};return a.fromDegrees=function(t,n,o,u){return t=i.toRadians(e(t,0)),n=i.toRadians(e(n,0)),o=e(o,0),r(u)?(u.longitude=t,u.latitude=n,u.height=o,u):new a(t,n,o)},a.clone=function(e,t){return r(e)?r(t)?(t.longitude=e.longitude,t.latitude=e.latitude,t.height=e.height,t):new a(e.longitude,e.latitude,e.height):void 0},a.equals=function(e,t){return e===t||r(e)&&r(t)&&e.longitude===t.longitude&&e.latitude===t.latitude&&e.height===t.height},a.equalsEpsilon=function(e,t,n){return e===t||r(e)&&r(t)&&Math.abs(e.longitude-t.longitude)<=n&&Math.abs(e.latitude-t.latitude)<=n&&Math.abs(e.height-t.height)<=n},a.toString=function(e){return"("+e.longitude+", "+e.latitude+", "+e.height+")"},a.ZERO=n(new a(0,0,0)),a.prototype.clone=function(e){return a.clone(this,e)},a.prototype.equals=function(e){return a.equals(this,e)},a.prototype.equalsEpsilon=function(e,r){return a.equalsEpsilon(this,e,r)},a.prototype.toString=function(){return a.toString(this)},a}),define("Core/defineProperties",["./defined"],function(e){"use strict";var r=function(){try{return"x"in Object.defineProperty({},"x",{})}catch(e){return!1}}(),t=Object.defineProperties;return r&&e(t)||(t=function(e){return e}),t}),define("Core/Ellipsoid",["./freezeObject","./defaultValue","./defined","./defineProperties","./DeveloperError","./Math","./Cartesian3","./Cartographic"],function(e,r,t,n,i,a,o,u){"use strict";var s=function(e,t,n){e=r(e,0),t=r(t,0),n=r(n,0),this._radii=new o(e,t,n),this._radiiSquared=new o(e*e,t*t,n*n),this._radiiToTheFourth=new o(e*e*e*e,t*t*t*t,n*n*n*n),this._oneOverRadii=new o(0===e?0:1/e,0===t?0:1/t,0===n?0:1/n),this._oneOverRadiiSquared=new o(0===e?0:1/(e*e),0===t?0:1/(t*t),0===n?0:1/(n*n)),this._minimumRadius=Math.min(e,t,n),this._maximumRadius=Math.max(e,t,n),this._centerToleranceSquared=a.EPSILON1};n(s.prototype,{radii:{get:function(){return this._radii}},radiiSquared:{get:function(){return this._radiiSquared}},radiiToTheFourth:{get:function(){return this._radiiToTheFourth}},oneOverRadii:{get:function(){return this._oneOverRadii}},oneOverRadiiSquared:{get:function(){return this._oneOverRadiiSquared}},minimumRadius:{get:function(){return this._minimumRadius}},maximumRadius:{get:function(){return this._maximumRadius}}}),s.clone=function(e,r){if(!t(e))return void 0;var n=e._radii;return t(r)?(o.clone(n,r._radii),o.clone(e._radiiSquared,r._radiiSquared),o.clone(e._radiiToTheFourth,r._radiiToTheFourth),o.clone(e._oneOverRadii,r._oneOverRadii),o.clone(e._oneOverRadiiSquared,r._oneOverRadiiSquared),r._minimumRadius=e._minimumRadius,r._maximumRadius=e._maximumRadius,r._centerToleranceSquared=e._centerToleranceSquared,r):new s(n.x,n.y,n.z)},s.fromCartesian3=function(e){return t(e)?new s(e.x,e.y,e.z):new s},s.WGS84=e(new s(6378137,6378137,6356752.314245179)),s.UNIT_SPHERE=e(new s(1,1,1)),s.MOON=e(new s(a.LUNAR_RADIUS,a.LUNAR_RADIUS,a.LUNAR_RADIUS)),s.prototype.clone=function(e){return s.clone(this,e)},s.prototype.geocentricSurfaceNormal=o.normalize,s.prototype.geodeticSurfaceNormalCartographic=function(e,r){var n=e.longitude,i=e.latitude,a=Math.cos(i),u=a*Math.cos(n),s=a*Math.sin(n),l=Math.sin(i);return t(r)||(r=new o),r.x=u,r.y=s,r.z=l,o.normalize(r,r)},s.prototype.geodeticSurfaceNormal=function(e,r){return r=o.multiplyComponents(e,this._oneOverRadiiSquared,r),o.normalize(r,r)};var l=new o,c=new o;s.prototype.cartographicToCartesian=function(e,r){var t=l,n=c;this.geodeticSurfaceNormalCartographic(e,t),o.multiplyComponents(this._radiiSquared,t,n);var i=Math.sqrt(o.dot(t,n));return o.divideByScalar(n,i,n),o.multiplyByScalar(t,e.height,t),o.add(n,t,r)},s.prototype.cartographicArrayToCartesianArray=function(e,r){var n=e.length;t(r)?r.length=n:r=new Array(n);for(var i=0;n>i;i++)r[i]=this.cartographicToCartesian(e[i],r[i]);return r};var f=new o,m=new o,y=new o;s.prototype.cartesianToCartographic=function(e,r){var n=this.scaleToGeodeticSurface(e,m);if(!t(n))return void 0;var i=this.geodeticSurfaceNormal(n,f),s=o.subtract(e,n,y),l=Math.atan2(i.y,i.x),c=Math.asin(i.z),h=a.sign(o.dot(s,e))*o.magnitude(s);return t(r)?(r.longitude=l,r.latitude=c,r.height=h,r):new u(l,c,h)},s.prototype.cartesianArrayToCartographicArray=function(e,r){var n=e.length;t(r)?r.length=n:r=new Array(n);for(var i=0;n>i;++i)r[i]=this.cartesianToCartographic(e[i],r[i]);return r};var h=new o,p=new o;return s.prototype.scaleToGeodeticSurface=function(e,r){var n=e.x,i=e.y,u=e.z,s=this._oneOverRadii,l=s.x,c=s.y,f=s.z,m=n*n*l*l,y=i*i*c*c,d=u*u*f*f,v=m+y+d,g=Math.sqrt(1/v),E=o.multiplyByScalar(e,g,h);if(va.EPSILON12);return t(r)?(r.x=n*O,r.y=i*T,r.z=u*I,r):new o(n*O,i*T,u*I)},s.prototype.scaleToGeocentricSurface=function(e,r){var t=e.x,n=e.y,i=e.z,a=this._oneOverRadiiSquared,u=1/Math.sqrt(t*t*a.x+n*n*a.y+i*i*a.z);return o.multiplyByScalar(e,u,r)},s.prototype.transformPositionToScaledSpace=function(e,r){return o.multiplyComponents(e,this._oneOverRadii,r)},s.prototype.transformPositionFromScaledSpace=function(e,r){return o.multiplyComponents(e,this._radii,r)},s.prototype.equals=function(e){return this===e||t(e)&&o.equals(this._radii,e._radii)},s.prototype.toString=function(){return this._radii.toString()},s}),define("Core/GeographicProjection",["./defaultValue","./defined","./defineProperties","./Cartesian3","./Cartographic","./Ellipsoid"],function(e,r,t,n,i,a){"use strict";var o=function(r){this._ellipsoid=e(r,a.WGS84),this._semimajorAxis=this._ellipsoid.maximumRadius,this._oneOverSemimajorAxis=1/this._semimajorAxis};return t(o.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}}),o.prototype.project=function(e,t){var i=this._semimajorAxis,a=e.longitude*i,o=e.latitude*i,u=e.height;return r(t)?(t.x=a,t.y=o,t.z=u,t):new n(a,o,u)},o.prototype.unproject=function(e,t){var n=this._oneOverSemimajorAxis,a=e.x*n,o=e.y*n,u=e.z;return r(t)?(t.longitude=a,t.latitude=o,t.height=u,t):new i(a,o,u)},o}),define("Core/Enumeration",["./defined"],function(e){"use strict";var r=function(r,t,n){if(this.value=r,this.name=t,e(n))for(var i in n)n.hasOwnProperty(i)&&(this[i]=n[i])};return r.prototype.valueOf=function(){return this.value},r.prototype.toString=function(){return this.name},r}),define("Core/Intersect",["./Enumeration"],function(e){"use strict";var r={OUTSIDE:new e(-1,"OUTSIDE"),INTERSECTING:new e(0,"INTERSECTING"),INSIDE:new e(1,"INSIDE")};return r}),define("Core/Interval",["./defaultValue"],function(e){"use strict";var r=function(r,t){this.start=e(r,0),this.stop=e(t,0)};return r}),define("Core/Cartesian4",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,r,t,n){"use strict";var i=function(r,t,n,i){this.x=e(r,0),this.y=e(t,0),this.z=e(n,0),this.w=e(i,0)};i.fromElements=function(e,t,n,a,o){return r(o)?(o.x=e,o.y=t,o.z=n,o.w=a,o):new i(e,t,n,a)},i.clone=function(e,t){return r(e)?r(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t):new i(e.x,e.y,e.z,e.w):void 0},i.packedLength=4,i.pack=function(r,t,n){n=e(n,0),t[n++]=r.x,t[n++]=r.y,t[n++]=r.z,t[n]=r.w},i.unpack=function(t,n,a){return n=e(n,0),r(a)||(a=new i),a.x=t[n++],a.y=t[n++],a.z=t[n++],a.w=t[n],a},i.fromArray=i.unpack,i.getMaximumComponent=function(e){return Math.max(e.x,e.y,e.z,e.w)},i.getMinimumComponent=function(e){return Math.min(e.x,e.y,e.z,e.w)},i.getMinimumByComponent=function(e,t,n){return r(n)||(n=new i),n.x=Math.min(e.x,t.x),n.y=Math.min(e.y,t.y),n.z=Math.min(e.z,t.z),n.w=Math.min(e.w,t.w),n},i.getMaximumByComponent=function(e,t,n){return r(n)||(n=new i),n.x=Math.max(e.x,t.x),n.y=Math.max(e.y,t.y),n.z=Math.max(e.z,t.z),n.w=Math.max(e.w,t.w),n},i.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w},i.magnitude=function(e){return Math.sqrt(i.magnitudeSquared(e))};var a=new i;i.distance=function(e,r){return i.subtract(e,r,a),i.magnitude(a)},i.normalize=function(e,t){var n=i.magnitude(e);return r(t)?(t.x=e.x/n,t.y=e.y/n,t.z=e.z/n,t.w=e.w/n,t):new i(e.x/n,e.y/n,e.z/n,e.w/n)},i.dot=function(e,r){return e.x*r.x+e.y*r.y+e.z*r.z+e.w*r.w},i.multiplyComponents=function(e,t,n){return r(n)?(n.x=e.x*t.x,n.y=e.y*t.y,n.z=e.z*t.z,n.w=e.w*t.w,n):new i(e.x*t.x,e.y*t.y,e.z*t.z,e.w*t.w)},i.add=function(e,t,n){return r(n)?(n.x=e.x+t.x,n.y=e.y+t.y,n.z=e.z+t.z,n.w=e.w+t.w,n):new i(e.x+t.x,e.y+t.y,e.z+t.z,e.w+t.w)},i.subtract=function(e,t,n){return r(n)?(n.x=e.x-t.x,n.y=e.y-t.y,n.z=e.z-t.z,n.w=e.w-t.w,n):new i(e.x-t.x,e.y-t.y,e.z-t.z,e.w-t.w)},i.multiplyByScalar=function(e,t,n){return r(n)?(n.x=e.x*t,n.y=e.y*t,n.z=e.z*t,n.w=e.w*t,n):new i(e.x*t,e.y*t,e.z*t,e.w*t)},i.divideByScalar=function(e,t,n){return r(n)?(n.x=e.x/t,n.y=e.y/t,n.z=e.z/t,n.w=e.w/t,n):new i(e.x/t,e.y/t,e.z/t,e.w/t)},i.negate=function(e,t){return r(t)?(t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=-e.w,t):new i(-e.x,-e.y,-e.z,-e.w)},i.abs=function(e,t){return r(t)?(t.x=Math.abs(e.x),t.y=Math.abs(e.y),t.z=Math.abs(e.z),t.w=Math.abs(e.w),t):new i(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z),Math.abs(e.w))};var o=new i;i.lerp=function(e,r,t,n){return i.multiplyByScalar(r,t,o),n=i.multiplyByScalar(e,1-t,n),i.add(o,n,n)};var u=new i;return i.mostOrthogonalAxis=function(e,r){var t=i.normalize(e,u);return i.abs(t,t),r=t.x<=t.y?t.x<=t.z?t.x<=t.w?i.clone(i.UNIT_X,r):i.clone(i.UNIT_W,r):t.z<=t.w?i.clone(i.UNIT_Z,r):i.clone(i.UNIT_W,r):t.y<=t.z?t.y<=t.w?i.clone(i.UNIT_Y,r):i.clone(i.UNIT_W,r):t.z<=t.w?i.clone(i.UNIT_Z,r):i.clone(i.UNIT_W,r)},i.equals=function(e,t){return e===t||r(e)&&r(t)&&e.x===t.x&&e.y===t.y&&e.z===t.z&&e.w===t.w},i.equalsEpsilon=function(e,t,n){return e===t||r(e)&&r(t)&&Math.abs(e.x-t.x)<=n&&Math.abs(e.y-t.y)<=n&&Math.abs(e.z-t.z)<=n&&Math.abs(e.w-t.w)<=n},i.ZERO=n(new i(0,0,0,0)),i.UNIT_X=n(new i(1,0,0,0)),i.UNIT_Y=n(new i(0,1,0,0)),i.UNIT_Z=n(new i(0,0,1,0)),i.UNIT_W=n(new i(0,0,0,1)),i.prototype.clone=function(e){return i.clone(this,e)},i.prototype.equals=function(e){return i.equals(this,e)},i.prototype.equalsEpsilon=function(e,r){return i.equalsEpsilon(this,e,r)},i.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+", "+this.w+")"},i}),define("Core/Matrix3",["./Cartesian3","./defaultValue","./defined","./DeveloperError","./freezeObject","./Math"],function(e,r,t,n,i,a){"use strict";function o(e){for(var r=0,t=0;9>t;++t){var n=e[t];r+=n*n}return Math.sqrt(r)}function u(e){for(var r=0,t=0;3>t;++t){var n=e[l.getElementIndex(f[t],c[t])];r+=2*n*n}return Math.sqrt(r)}function s(e,r){for(var t=a.EPSILON15,n=0,i=1,o=0;3>o;++o){var u=Math.abs(e[l.getElementIndex(f[o],c[o])]);u>n&&(i=o,n=u)}var s=1,m=0,y=c[i],h=f[i];if(Math.abs(e[l.getElementIndex(h,y)])>t){var p,d=e[l.getElementIndex(h,h)],v=e[l.getElementIndex(y,y)],g=e[l.getElementIndex(h,y)],E=(d-v)/2/g;p=0>E?-1/(-E+Math.sqrt(1+E*E)):1/(E+Math.sqrt(1+E*E)),s=1/Math.sqrt(1+p*p),m=p*s}return r=l.clone(l.IDENTITY,r),r[l.getElementIndex(y,y)]=r[l.getElementIndex(h,h)]=s,r[l.getElementIndex(h,y)]=m,r[l.getElementIndex(y,h)]=-m,r}var l=function(e,t,n,i,a,o,u,s,l){this[0]=r(e,0),this[1]=r(i,0),this[2]=r(u,0),this[3]=r(t,0),this[4]=r(a,0),this[5]=r(s,0),this[6]=r(n,0),this[7]=r(o,0),this[8]=r(l,0)};l.clone=function(e,r){return t(e)?t(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r):new l(e[0],e[3],e[6],e[1],e[4],e[7],e[2],e[5],e[8]):void 0},l.fromArray=function(e,n,i){return n=r(n,0),t(i)||(i=new l),i[0]=e[n],i[1]=e[n+1],i[2]=e[n+2],i[3]=e[n+3],i[4]=e[n+4],i[5]=e[n+5],i[6]=e[n+6],i[7]=e[n+7],i[8]=e[n+8],i[9]=e[n+9],i},l.fromColumnMajorArray=function(e,r){return l.clone(e,r)},l.fromRowMajorArray=function(e,r){return t(r)?(r[0]=e[0],r[1]=e[3],r[2]=e[6],r[3]=e[1],r[4]=e[4],r[5]=e[7],r[6]=e[2],r[7]=e[5],r[8]=e[8],r):new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])},l.fromQuaternion=function(e,r){var n=e.x*e.x,i=e.x*e.y,a=e.x*e.z,o=e.x*e.w,u=e.y*e.y,s=e.y*e.z,c=e.y*e.w,f=e.z*e.z,m=e.z*e.w,y=e.w*e.w,h=n-u-f+y,p=2*(i-m),d=2*(a+c),v=2*(i+m),g=-n+u-f+y,E=2*(s-o),w=2*(a-c),S=2*(s+o),C=-n-u+f+y;return t(r)?(r[0]=h,r[1]=v,r[2]=w,r[3]=p,r[4]=g,r[5]=S,r[6]=d,r[7]=E,r[8]=C,r):new l(h,p,d,v,g,E,w,S,C)},l.fromScale=function(e,r){return t(r)?(r[0]=e.x,r[1]=0,r[2]=0,r[3]=0,r[4]=e.y,r[5]=0,r[6]=0,r[7]=0,r[8]=e.z,r):new l(e.x,0,0,0,e.y,0,0,0,e.z)},l.fromUniformScale=function(e,r){return t(r)?(r[0]=e,r[1]=0,r[2]=0,r[3]=0,r[4]=e,r[5]=0,r[6]=0,r[7]=0,r[8]=e,r):new l(e,0,0,0,e,0,0,0,e)},l.fromRotationX=function(e,r){var n=Math.cos(e),i=Math.sin(e);return t(r)?(r[0]=1,r[1]=0,r[2]=0,r[3]=0,r[4]=n,r[5]=i,r[6]=0,r[7]=-i,r[8]=n,r):new l(1,0,0,0,n,-i,0,i,n)},l.fromRotationY=function(e,r){var n=Math.cos(e),i=Math.sin(e);return t(r)?(r[0]=n,r[1]=0,r[2]=-i,r[3]=0,r[4]=1,r[5]=0,r[6]=i,r[7]=0,r[8]=n,r):new l(n,0,i,0,1,0,-i,0,n)},l.fromRotationZ=function(e,r){var n=Math.cos(e),i=Math.sin(e);return t(r)?(r[0]=n,r[1]=i,r[2]=0,r[3]=-i,r[4]=n,r[5]=0,r[6]=0,r[7]=0,r[8]=1,r):new l(n,-i,0,i,n,0,0,0,1)},l.toArray=function(e,r){return t(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8]]},l.getElementIndex=function(e,r){return 3*e+r},l.getColumn=function(r,n,i){var a=3*n,o=r[a],u=r[a+1],s=r[a+2];return t(i)?(i.x=o,i.y=u,i.z=s,i):new e(o,u,s)},l.setColumn=function(e,r,t,n){n=l.clone(e,n);var i=3*r;return n[i]=t.x,n[i+1]=t.y,n[i+2]=t.z,n},l.getRow=function(r,n,i){var a=r[n],o=r[n+3],u=r[n+6];return t(i)?(i.x=a,i.y=o,i.z=u,i):new e(a,o,u)},l.setRow=function(e,r,t,n){return n=l.clone(e,n),n[r]=t.x,n[r+3]=t.y,n[r+6]=t.z,n},l.multiply=function(e,r,n){var i=e[0]*r[0]+e[3]*r[1]+e[6]*r[2],a=e[1]*r[0]+e[4]*r[1]+e[7]*r[2],o=e[2]*r[0]+e[5]*r[1]+e[8]*r[2],u=e[0]*r[3]+e[3]*r[4]+e[6]*r[5],s=e[1]*r[3]+e[4]*r[4]+e[7]*r[5],c=e[2]*r[3]+e[5]*r[4]+e[8]*r[5],f=e[0]*r[6]+e[3]*r[7]+e[6]*r[8],m=e[1]*r[6]+e[4]*r[7]+e[7]*r[8],y=e[2]*r[6]+e[5]*r[7]+e[8]*r[8];return t(n)?(n[0]=i,n[1]=a,n[2]=o,n[3]=u,n[4]=s,n[5]=c,n[6]=f,n[7]=m,n[8]=y,n):new l(i,u,f,a,s,m,o,c,y)},l.multiplyByVector=function(r,n,i){var a=n.x,o=n.y,u=n.z,s=r[0]*a+r[3]*o+r[6]*u,l=r[1]*a+r[4]*o+r[7]*u,c=r[2]*a+r[5]*o+r[8]*u;return t(i)?(i.x=s,i.y=l,i.z=c,i):new e(s,l,c)},l.multiplyByScalar=function(e,r,n){return t(n)?(n[0]=e[0]*r,n[1]=e[1]*r,n[2]=e[2]*r,n[3]=e[3]*r,n[4]=e[4]*r,n[5]=e[5]*r,n[6]=e[6]*r,n[7]=e[7]*r,n[8]=e[8]*r,n):new l(e[0]*r,e[3]*r,e[6]*r,e[1]*r,e[4]*r,e[7]*r,e[2]*r,e[5]*r,e[8]*r)},l.negate=function(e,r){return t(r)?(r[0]=-e[0],r[1]=-e[1],r[2]=-e[2],r[3]=-e[3],r[4]=-e[4],r[5]=-e[5],r[6]=-e[6],r[7]=-e[7],r[8]=-e[8],r):new l(-e[0],-e[3],-e[6],-e[1],-e[4],-e[7],-e[2],-e[5],-e[8])},l.transpose=function(e,r){var n=e[0],i=e[3],a=e[6],o=e[1],u=e[4],s=e[7],c=e[2],f=e[5],m=e[8];return t(r)?(r[0]=n,r[1]=i,r[2]=a,r[3]=o,r[4]=u,r[5]=s,r[6]=c,r[7]=f,r[8]=m,r):new l(n,o,c,i,u,f,a,s,m)};var c=[1,0,0],f=[2,2,1],m=new l,y=new l;return l.getEigenDecomposition=function(e,r){var n=a.EPSILON20,i=10,c=0,f=0;t(r)||(r={});for(var h=r.unitary=l.clone(l.IDENTITY,r.unitary),p=r.diagonal=l.clone(e,r.diagonal),d=n*o(p);i>f&&u(p)>d;)s(p,m),l.transpose(m,y),l.multiply(p,m,p),l.multiply(y,p,p),l.multiply(h,m,h),++c>2&&(++f,c=0);return r},l.abs=function(e,r){return t(r)?(r[0]=Math.abs(e[0]),r[1]=Math.abs(e[1]),r[2]=Math.abs(e[2]),r[3]=Math.abs(e[3]),r[4]=Math.abs(e[4]),r[5]=Math.abs(e[5]),r[6]=Math.abs(e[6]),r[7]=Math.abs(e[7]),r[8]=Math.abs(e[8]),r):new l(Math.abs(e[0]),Math.abs(e[3]),Math.abs(e[6]),Math.abs(e[1]),Math.abs(e[4]),Math.abs(e[7]),Math.abs(e[2]),Math.abs(e[5]),Math.abs(e[8]))},l.determinant=function(e){var r=e[0],t=e[3],n=e[6],i=e[1],a=e[4],o=e[7],u=e[2],s=e[5],l=e[8];return r*(a*l-s*o)+i*(s*n-t*l)+u*(t*o-a*n)},l.inverse=function(e,r){var t=e[0],i=e[1],o=e[2],u=e[3],s=e[4],c=e[5],f=e[6],m=e[7],y=e[8],h=l.determinant(e);if(Math.abs(h)<=a.EPSILON15)throw new n("matrix is not invertible");var p=new l(s*y-m*c,f*c-u*y,u*m-f*s,m*o-i*y,t*y-f*o,f*i-t*m,i*c-s*o,u*o-t*c,t*s-u*i),d=1/h;return l.multiplyByScalar(p,d,r)},l.equals=function(e,r){return e===r||t(e)&&t(r)&&e[0]===r[0]&&e[1]===r[1]&&e[2]===r[2]&&e[3]===r[3]&&e[4]===r[4]&&e[5]===r[5]&&e[6]===r[6]&&e[7]===r[7]&&e[8]===r[8]},l.equalsEpsilon=function(e,r,n){return e===r||t(e)&&t(r)&&Math.abs(e[0]-r[0])<=n&&Math.abs(e[1]-r[1])<=n&&Math.abs(e[2]-r[2])<=n&&Math.abs(e[3]-r[3])<=n&&Math.abs(e[4]-r[4])<=n&&Math.abs(e[5]-r[5])<=n&&Math.abs(e[6]-r[6])<=n&&Math.abs(e[7]-r[7])<=n&&Math.abs(e[8]-r[8])<=n},l.IDENTITY=i(new l(1,0,0,0,1,0,0,0,1)),l.COLUMN0ROW0=0,l.COLUMN0ROW1=1,l.COLUMN0ROW2=2,l.COLUMN1ROW0=3,l.COLUMN1ROW1=4,l.COLUMN1ROW2=5,l.COLUMN2ROW0=6,l.COLUMN2ROW1=7,l.COLUMN2ROW2=8,l.prototype.clone=function(e){return l.clone(this,e)},l.prototype.equals=function(e){return l.equals(this,e)},l.prototype.equalsEpsilon=function(e,r){return l.equalsEpsilon(this,e,r)},l.prototype.toString=function(){return"("+this[0]+", "+this[3]+", "+this[6]+")\n"+"("+this[1]+", "+this[4]+", "+this[7]+")\n"+"("+this[2]+", "+this[5]+", "+this[8]+")"},l}),define("Core/RuntimeError",["./defined"],function(e){"use strict";var r=function(e){this.name="RuntimeError",this.message=e;var r;try{throw new Error}catch(t){r=t.stack}this.stack=r};return r.prototype.toString=function(){var r=this.name+": "+this.message;return e(this.stack)&&(r+="\n"+this.stack.toString()),r},r}),define("Core/Matrix4",["./Cartesian3","./Cartesian4","./defaultValue","./defined","./DeveloperError","./freezeObject","./Math","./Matrix3","./RuntimeError"],function(e,r,t,n,i,a,o,u,s){"use strict";var l=function(e,r,n,i,a,o,u,s,l,c,f,m,y,h,p,d){this[0]=t(e,0),this[1]=t(a,0),this[2]=t(l,0),this[3]=t(y,0),this[4]=t(r,0),this[5]=t(o,0),this[6]=t(c,0),this[7]=t(h,0),this[8]=t(n,0),this[9]=t(u,0),this[10]=t(f,0),this[11]=t(p,0),this[12]=t(i,0),this[13]=t(s,0),this[14]=t(m,0),this[15]=t(d,0)};l.clone=function(e,r){return n(e)?n(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r[9]=e[9],r[10]=e[10],r[11]=e[11],r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15],r):new l(e[0],e[4],e[8],e[12],e[1],e[5],e[9],e[13],e[2],e[6],e[10],e[14],e[3],e[7],e[11],e[15]):void 0},l.fromArray=function(e,r,i){return r=t(r,0),n(i)||(i=new l),i[0]=e[r],i[1]=e[r+1],i[2]=e[r+2],i[3]=e[r+3],i[4]=e[r+4],i[5]=e[r+5],i[6]=e[r+6],i[7]=e[r+7],i[8]=e[r+8],i[9]=e[r+9],i[10]=e[r+10],i[11]=e[r+11],i[12]=e[r+12],i[13]=e[r+13],i[14]=e[r+14],i[15]=e[r+15],i},l.fromColumnMajorArray=function(e,r){return l.clone(e,r)},l.fromRowMajorArray=function(e,r){return n(r)?(r[0]=e[0],r[1]=e[4],r[2]=e[8],r[3]=e[12],r[4]=e[1],r[5]=e[5],r[6]=e[9],r[7]=e[13],r[8]=e[2],r[9]=e[6],r[10]=e[10],r[11]=e[14],r[12]=e[3],r[13]=e[7],r[14]=e[11],r[15]=e[15],r):new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])},l.fromRotationTranslation=function(e,r,t){return n(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=0,t[4]=e[3],t[5]=e[4],t[6]=e[5],t[7]=0,t[8]=e[6],t[9]=e[7],t[10]=e[8],t[11]=0,t[12]=r.x,t[13]=r.y,t[14]=r.z,t[15]=1,t):new l(e[0],e[3],e[6],r.x,e[1],e[4],e[7],r.y,e[2],e[5],e[8],r.z,0,0,0,1)},new u,l.fromTranslationQuaternionRotationScale=function(e,r,t,i){n(i)||(i=new l);var a=t.x,o=t.y,u=t.z,s=r.x*r.x,c=r.x*r.y,f=r.x*r.z,m=r.x*r.w,y=r.y*r.y,h=r.y*r.z,p=r.y*r.w,d=r.z*r.z,v=r.z*r.w,g=r.w*r.w,E=s-y-d+g,w=2*(c-v),S=2*(f+p),C=2*(c+v),x=-s+y-d+g,A=2*(h-m),M=2*(f-p),b=2*(h+m),O=-s-y+d+g;return i[0]=E*a,i[1]=C*a,i[2]=M*a,i[3]=0,i[4]=w*o,i[5]=x*o,i[6]=b*o,i[7]=0,i[8]=S*u,i[9]=A*u,i[10]=O*u,i[11]=0,i[12]=e.x,i[13]=e.y,i[14]=e.z,i[15]=1,i},l.fromTranslation=function(e,r){return l.fromRotationTranslation(u.IDENTITY,e,r)},l.fromScale=function(e,r){return n(r)?(r[0]=e.x,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=e.y,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=e.z,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r):new l(e.x,0,0,0,0,e.y,0,0,0,0,e.z,0,0,0,0,1)},l.fromUniformScale=function(e,r){return n(r)?(r[0]=e,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=e,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=e,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r):new l(e,0,0,0,0,e,0,0,0,0,e,0,0,0,0,1)};var c=new e,f=new e,m=new e;l.fromCamera=function(r,t){var i=r.eye,a=r.target,o=r.up;e.normalize(e.subtract(a,i,c),c),e.normalize(e.cross(c,o,f),f),e.normalize(e.cross(f,c,m),m);var u=f.x,s=f.y,y=f.z,h=c.x,p=c.y,d=c.z,v=m.x,g=m.y,E=m.z,w=i.x,S=i.y,C=i.z,x=u*-w+s*-S+y*-C,A=v*-w+g*-S+E*-C,M=h*w+p*S+d*C;return n(t)?(t[0]=u,t[1]=v,t[2]=-h,t[3]=0,t[4]=s,t[5]=g,t[6]=-p,t[7]=0,t[8]=y,t[9]=E,t[10]=-d,t[11]=0,t[12]=x,t[13]=A,t[14]=M,t[15]=1,t):new l(u,s,y,x,v,g,E,A,-h,-p,-d,M,0,0,0,1)},l.computePerspectiveFieldOfView=function(e,r,t,i,a){var o=Math.tan(.5*e),u=1/o,s=u/r,c=(i+t)/(t-i),f=2*i*t/(t-i);return n(a)?(a[0]=s,a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=u,a[6]=0,a[7]=0,a[8]=0,a[9]=0,a[10]=c,a[11]=-1,a[12]=0,a[13]=0,a[14]=f,a[15]=0,a):new l(s,0,0,0,0,u,0,0,0,0,c,f,0,0,-1,0)},l.computeOrthographicOffCenter=function(e,r,t,i,a,o,u){var s=1/(r-e),c=1/(i-t),f=1/(o-a),m=-(r+e)*s,y=-(i+t)*c,h=-(o+a)*f;return s*=2,c*=2,f*=-2,n(u)?(u[0]=s,u[1]=0,u[2]=0,u[3]=0,u[4]=0,u[5]=c,u[6]=0,u[7]=0,u[8]=0,u[9]=0,u[10]=f,u[11]=0,u[12]=m,u[13]=y,u[14]=h,u[15]=1,u):new l(s,0,0,m,0,c,0,y,0,0,f,h,0,0,0,1)},l.computePerspectiveOffCenter=function(e,r,t,i,a,o,u){var s=2*a/(r-e),c=2*a/(i-t),f=(r+e)/(r-e),m=(i+t)/(i-t),y=-(o+a)/(o-a),h=-1,p=-2*o*a/(o-a);return n(u)?(u[0]=s,u[1]=0,u[2]=0,u[3]=0,u[4]=0,u[5]=c,u[6]=0,u[7]=0,u[8]=f,u[9]=m,u[10]=y,u[11]=h,u[12]=0,u[13]=0,u[14]=p,u[15]=0,u):new l(s,0,f,0,0,c,m,0,0,0,y,p,0,0,h,0)},l.computeInfinitePerspectiveOffCenter=function(e,r,t,i,a,o){var u=2*a/(r-e),s=2*a/(i-t),c=(r+e)/(r-e),f=(i+t)/(i-t),m=-1,y=-1,h=-2*a;return n(o)?(o[0]=u,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=s,o[6]=0,o[7]=0,o[8]=c,o[9]=f,o[10]=m,o[11]=y,o[12]=0,o[13]=0,o[14]=h,o[15]=0,o):new l(u,0,c,0,0,s,f,0,0,0,m,h,0,0,y,0)},l.computeViewportTransformation=function(e,r,i,a){e=t(e,t.EMPTY_OBJECT);var o=t(e.x,0),u=t(e.y,0),s=t(e.width,0),c=t(e.height,0);r=t(r,0),i=t(i,1);var f=.5*s,m=.5*c,y=.5*(i-r),h=f,p=m,d=y,v=o+f,g=u+m,E=r+y,w=1;return n(a)?(a[0]=h,a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=p,a[6]=0,a[7]=0,a[8]=0,a[9]=0,a[10]=d,a[11]=0,a[12]=v,a[13]=g,a[14]=E,a[15]=w,a):new l(h,0,0,v,0,p,0,g,0,0,d,E,0,0,0,w)},l.toArray=function(e,r){return n(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r[9]=e[9],r[10]=e[10],r[11]=e[11],r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15],r):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]]},l.getElementIndex=function(e,r){return 4*e+r},l.getColumn=function(e,t,i){var a=4*t,o=e[a],u=e[a+1],s=e[a+2],l=e[a+3];return n(i)?(i.x=o,i.y=u,i.z=s,i.w=l,i):new r(o,u,s,l)},l.setColumn=function(e,r,t,n){n=l.clone(e,n);var i=4*r;return n[i]=t.x,n[i+1]=t.y,n[i+2]=t.z,n[i+3]=t.w,n},l.getRow=function(e,t,i){var a=e[t],o=e[t+4],u=e[t+8],s=e[t+12];return n(i)?(i.x=a,i.y=o,i.z=u,i.w=s,i):new r(a,o,u,s)},l.setRow=function(e,r,t,n){return n=l.clone(e,n),n[r]=t.x,n[r+4]=t.y,n[r+8]=t.z,n[r+12]=t.w,n},l.multiply=function(e,r,t){var i=e[0],a=e[1],o=e[2],u=e[3],s=e[4],c=e[5],f=e[6],m=e[7],y=e[8],h=e[9],p=e[10],d=e[11],v=e[12],g=e[13],E=e[14],w=e[15],S=r[0],C=r[1],x=r[2],A=r[3],M=r[4],b=r[5],O=r[6],T=r[7],I=r[8],N=r[9],z=r[10],R=r[11],L=r[12],F=r[13],P=r[14],D=r[15],B=i*S+s*C+y*x+v*A,_=a*S+c*C+h*x+g*A,U=o*S+f*C+p*x+E*A,G=u*S+m*C+d*x+w*A,q=i*M+s*b+y*O+v*T,W=a*M+c*b+h*O+g*T,Y=o*M+f*b+p*O+E*T,V=u*M+m*b+d*O+w*T,H=i*I+s*N+y*z+v*R,k=a*I+c*N+h*z+g*R,j=o*I+f*N+p*z+E*R,K=u*I+m*N+d*z+w*R,Z=i*L+s*F+y*P+v*D,Q=a*L+c*F+h*P+g*D,X=o*L+f*F+p*P+E*D,J=u*L+m*F+d*P+w*D;return n(t)?(t[0]=B,t[1]=_,t[2]=U,t[3]=G,t[4]=q,t[5]=W,t[6]=Y,t[7]=V,t[8]=H,t[9]=k,t[10]=j,t[11]=K,t[12]=Z,t[13]=Q,t[14]=X,t[15]=J,t):new l(B,q,H,Z,_,W,k,Q,U,Y,j,X,G,V,K,J)},l.multiplyTransformation=function(e,r,t){var i=e[0],a=e[1],o=e[2],u=e[4],s=e[5],c=e[6],f=e[8],m=e[9],y=e[10],h=e[12],p=e[13],d=e[14],v=r[0],g=r[1],E=r[2],w=r[4],S=r[5],C=r[6],x=r[8],A=r[9],M=r[10],b=r[12],O=r[13],T=r[14],I=i*v+u*g+f*E,N=a*v+s*g+m*E,z=o*v+c*g+y*E,R=i*w+u*S+f*C,L=a*w+s*S+m*C,F=o*w+c*S+y*C,P=i*x+u*A+f*M,D=a*x+s*A+m*M,B=o*x+c*A+y*M,_=i*b+u*O+f*T+h,U=a*b+s*O+m*T+p,G=o*b+c*O+y*T+d;return n(t)?(t[0]=I,t[1]=N,t[2]=z,t[3]=0,t[4]=R,t[5]=L,t[6]=F,t[7]=0,t[8]=P,t[9]=D,t[10]=B,t[11]=0,t[12]=_,t[13]=U,t[14]=G,t[15]=1,t):new l(I,R,P,_,N,L,D,U,z,F,B,G,0,0,0,1) +},l.multiplyByTranslation=function(e,r,t){var i=r.x,a=r.y,o=r.z,u=i*e[0]+a*e[4]+o*e[8]+e[12],s=i*e[1]+a*e[5]+o*e[9]+e[13],c=i*e[2]+a*e[6]+o*e[10]+e[14];return n(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=u,t[13]=s,t[14]=c,t[15]=e[15],t):new l(e[0],e[4],e[8],u,e[1],e[5],e[9],s,e[2],e[6],e[10],c,e[3],e[7],e[11],e[15])};var y=new e;return l.multiplyByUniformScale=function(e,r,t){return y.x=r,y.y=r,y.z=r,l.multiplyByScale(e,y,t)},l.multiplyByScale=function(e,r,t){var i=r.x,a=r.y,o=r.z;return 1===i&&1===a&&1===o?l.clone(e,t):n(t)?(t[0]=i*e[0],t[1]=i*e[1],t[2]=i*e[2],t[3]=0,t[4]=a*e[4],t[5]=a*e[5],t[6]=a*e[6],t[7]=0,t[8]=o*e[8],t[9]=o*e[9],t[10]=o*e[10],t[11]=0,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=1,t):new l(i*e[0],a*e[4],o*e[8],e[12],i*e[1],a*e[5],o*e[9],e[13],i*e[2],a*e[6],o*e[10],e[14],0,0,0,1)},l.multiplyByVector=function(e,t,i){var a=t.x,o=t.y,u=t.z,s=t.w,l=e[0]*a+e[4]*o+e[8]*u+e[12]*s,c=e[1]*a+e[5]*o+e[9]*u+e[13]*s,f=e[2]*a+e[6]*o+e[10]*u+e[14]*s,m=e[3]*a+e[7]*o+e[11]*u+e[15]*s;return n(i)?(i.x=l,i.y=c,i.z=f,i.w=m,i):new r(l,c,f,m)},l.multiplyByPointAsVector=function(r,t,i){var a=t.x,o=t.y,u=t.z,s=r[0]*a+r[4]*o+r[8]*u,l=r[1]*a+r[5]*o+r[9]*u,c=r[2]*a+r[6]*o+r[10]*u;return n(i)?(i.x=s,i.y=l,i.z=c,i):new e(s,l,c)},l.multiplyByPoint=function(r,t,i){var a=t.x,o=t.y,u=t.z,s=r[0]*a+r[4]*o+r[8]*u+r[12],l=r[1]*a+r[5]*o+r[9]*u+r[13],c=r[2]*a+r[6]*o+r[10]*u+r[14];return n(i)?(i.x=s,i.y=l,i.z=c,i):new e(s,l,c)},l.multiplyByScalar=function(e,r,t){return n(t)?(t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*r,t[9]=e[9]*r,t[10]=e[10]*r,t[11]=e[11]*r,t[12]=e[12]*r,t[13]=e[13]*r,t[14]=e[14]*r,t[15]=e[15]*r,t):new l(e[0]*r,e[4]*r,e[8]*r,e[12]*r,e[1]*r,e[5]*r,e[9]*r,e[13]*r,e[2]*r,e[6]*r,e[10]*r,e[14]*r,e[3]*r,e[7]*r,e[11]*r,e[15]*r)},l.negate=function(e,r){return n(r)?(r[0]=-e[0],r[1]=-e[1],r[2]=-e[2],r[3]=-e[3],r[4]=-e[4],r[5]=-e[5],r[6]=-e[6],r[7]=-e[7],r[8]=-e[8],r[9]=-e[9],r[10]=-e[10],r[11]=-e[11],r[12]=-e[12],r[13]=-e[13],r[14]=-e[14],r[15]=-e[15],r):new l(-e[0],-e[4],-e[8],-e[12],-e[1],-e[5],-e[9],-e[13],-e[2],-e[6],-e[10],-e[14],-e[3],-e[7],-e[11],-e[15])},l.transpose=function(e,r){if(!n(r))return new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]);var t=e[1],i=e[2],a=e[3],o=e[6],u=e[7],s=e[11];return r[0]=e[0],r[1]=e[4],r[2]=e[8],r[3]=e[12],r[4]=t,r[5]=e[5],r[6]=e[9],r[7]=e[13],r[8]=i,r[9]=o,r[10]=e[10],r[11]=e[14],r[12]=a,r[13]=u,r[14]=s,r[15]=e[15],r},l.abs=function(e,r){return n(r)?(r[0]=Math.abs(e[0]),r[1]=Math.abs(e[1]),r[2]=Math.abs(e[2]),r[3]=Math.abs(e[3]),r[4]=Math.abs(e[4]),r[5]=Math.abs(e[5]),r[6]=Math.abs(e[6]),r[7]=Math.abs(e[7]),r[8]=Math.abs(e[8]),r[9]=Math.abs(e[9]),r[10]=Math.abs(e[10]),r[11]=Math.abs(e[11]),r[12]=Math.abs(e[12]),r[13]=Math.abs(e[13]),r[14]=Math.abs(e[14]),r[15]=Math.abs(e[15]),r):new l(Math.abs(e[0]),Math.abs(e[4]),Math.abs(e[8]),Math.abs(e[12]),Math.abs(e[1]),Math.abs(e[5]),Math.abs(e[9]),Math.abs(e[13]),Math.abs(e[2]),Math.abs(e[6]),Math.abs(e[10]),Math.abs(e[14]),Math.abs(e[3]),Math.abs(e[7]),Math.abs(e[11]),Math.abs(e[15]))},l.equals=function(e,r){return e===r||n(e)&&n(r)&&e[0]===r[0]&&e[1]===r[1]&&e[2]===r[2]&&e[3]===r[3]&&e[4]===r[4]&&e[5]===r[5]&&e[6]===r[6]&&e[7]===r[7]&&e[8]===r[8]&&e[9]===r[9]&&e[10]===r[10]&&e[11]===r[11]&&e[12]===r[12]&&e[13]===r[13]&&e[14]===r[14]&&e[15]===r[15]},l.equalsEpsilon=function(e,r,t){return e===r||n(e)&&n(r)&&Math.abs(e[0]-r[0])<=t&&Math.abs(e[1]-r[1])<=t&&Math.abs(e[2]-r[2])<=t&&Math.abs(e[3]-r[3])<=t&&Math.abs(e[4]-r[4])<=t&&Math.abs(e[5]-r[5])<=t&&Math.abs(e[6]-r[6])<=t&&Math.abs(e[7]-r[7])<=t&&Math.abs(e[8]-r[8])<=t&&Math.abs(e[9]-r[9])<=t&&Math.abs(e[10]-r[10])<=t&&Math.abs(e[11]-r[11])<=t&&Math.abs(e[12]-r[12])<=t&&Math.abs(e[13]-r[13])<=t&&Math.abs(e[14]-r[14])<=t&&Math.abs(e[15]-r[15])<=t},l.getTranslation=function(r,t){return n(t)?(t.x=r[12],t.y=r[13],t.z=r[14],t):new e(r[12],r[13],r[14])},l.getRotation=function(e,r){return n(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[4],r[4]=e[5],r[5]=e[6],r[6]=e[8],r[7]=e[9],r[8]=e[10],r):new u(e[0],e[4],e[8],e[1],e[5],e[9],e[2],e[6],e[10])},l.inverse=function(e,r){var t=e[0],i=e[4],a=e[8],u=e[12],c=e[1],f=e[5],m=e[9],y=e[13],h=e[2],p=e[6],d=e[10],v=e[14],g=e[3],E=e[7],w=e[11],S=e[15],C=d*S,x=v*w,A=p*S,M=v*E,b=p*w,O=d*E,T=h*S,I=v*g,N=h*w,z=d*g,R=h*E,L=p*g,F=C*f+M*m+b*y-(x*f+A*m+O*y),P=x*c+T*m+z*y-(C*c+I*m+N*y),D=A*c+I*f+R*y-(M*c+T*f+L*y),B=O*c+N*f+L*m-(b*c+z*f+R*m),_=x*i+A*a+O*u-(C*i+M*a+b*u),U=C*t+I*a+N*u-(x*t+T*a+z*u),G=M*t+T*i+L*u-(A*t+I*i+R*u),q=b*t+z*i+R*a-(O*t+N*i+L*a);C=a*y,x=u*m,A=i*y,M=u*f,b=i*m,O=a*f,T=t*y,I=u*c,N=t*m,z=a*c,R=t*f,L=i*c;var W=C*E+M*w+b*S-(x*E+A*w+O*S),Y=x*g+T*w+z*S-(C*g+I*w+N*S),V=A*g+I*E+R*S-(M*g+T*E+L*S),H=O*g+N*E+L*w-(b*g+z*E+R*w),k=A*d+O*v+x*p-(b*v+C*p+M*d),j=N*v+C*h+I*d-(T*d+z*v+x*h),K=T*p+L*v+M*h-(R*v+A*h+I*p),Z=R*d+b*h+z*p-(N*p+L*d+O*h),Q=t*F+i*P+a*D+u*B;if(Math.abs(Q)M;M++){e.clone(r[M],i);var b=i.x,O=i.y,T=i.z;bs.x&&e.clone(i,s),Ol.y&&e.clone(i,l),Tx.z&&e.clone(i,x)}var I=e.magnitudeSquared(e.subtract(s,a,g)),N=e.magnitudeSquared(e.subtract(l,o,g)),z=e.magnitudeSquared(e.subtract(x,u,g)),R=a,L=s,F=I;N>F&&(F=N,R=o,L=l),z>F&&(F=z,R=u,L=x);var P=E;P.x=.5*(R.x+L.x),P.y=.5*(R.y+L.y),P.z=.5*(R.z+L.z);var D=e.magnitudeSquared(e.subtract(L,P,g)),B=Math.sqrt(D),_=w;_.x=a.x,_.y=o.y,_.z=u.z;var U=S;U.x=s.x,U.y=l.y,U.z=x.z;var G=e.multiplyByScalar(e.add(_,U,g),.5,C),q=0;for(M=0;A>M;M++){e.clone(r[M],i);var W=e.magnitude(e.subtract(i,G,g));W>q&&(q=W);var Y=e.magnitudeSquared(e.subtract(i,P,g));if(Y>D){var V=Math.sqrt(Y);B=.5*(B+V),D=B*B;var H=V-B;P.x=(B*P.x+H*i.x)/V,P.y=(B*P.y+H*i.y)/V,P.z=(B*P.z+H*i.z)/V}}return q>B?(e.clone(P,t.center),t.radius=B):(e.clone(G,t.center),t.radius=q),t};var x=new o,A=new e,M=new e,b=new r,O=new r;c.fromExtent2D=function(e,r,t){return c.fromExtentWithHeights2D(e,r,0,0,t)},c.fromExtentWithHeights2D=function(r,i,a,o,u){if(n(u)||(u=new c),!n(r))return u.center=e.clone(e.ZERO,u.center),u.radius=0,u;i=t(i,x),r.getSouthwest(b),b.height=a,r.getNortheast(O),O.height=o;var s=i.project(b,A),l=i.project(O,M),f=l.x-s.x,m=l.y-s.y,y=l.z-s.z;u.radius=.5*Math.sqrt(f*f+m*m+y*y);var h=u.center;return h.x=s.x+.5*f,h.y=s.y+.5*m,h.z=s.z+.5*y,u};var T=[];c.fromExtent3D=function(e,r,i,o){r=t(r,a.WGS84),i=t(i,0);var u;return n(e)&&(u=e.subsample(r,i,T)),c.fromPoints(u,o)},c.fromVertices=function(r,i,a,o){if(n(o)||(o=new c),!n(r)||0===r.length)return o.center=e.clone(e.ZERO,o.center),o.radius=0,o;i=t(i,e.ZERO),a=t(a,3);var u=v;u.x=r[0]+i.x,u.y=r[1]+i.y,u.z=r[2]+i.z;for(var s=e.clone(u,f),l=e.clone(u,m),x=e.clone(u,y),A=e.clone(u,h),M=e.clone(u,p),b=e.clone(u,d),O=r.length,T=0;O>T;T+=a){var I=r[T]+i.x,N=r[T+1]+i.y,z=r[T+2]+i.z;u.x=I,u.y=N,u.z=z,IA.x&&e.clone(u,A),NM.y&&e.clone(u,M),zb.z&&e.clone(u,b)}var R=e.magnitudeSquared(e.subtract(A,s,g)),L=e.magnitudeSquared(e.subtract(M,l,g)),F=e.magnitudeSquared(e.subtract(b,x,g)),P=s,D=A,B=R;L>B&&(B=L,P=l,D=M),F>B&&(B=F,P=x,D=b);var _=E;_.x=.5*(P.x+D.x),_.y=.5*(P.y+D.y),_.z=.5*(P.z+D.z);var U=e.magnitudeSquared(e.subtract(D,_,g)),G=Math.sqrt(U),q=w;q.x=s.x,q.y=l.y,q.z=x.z;var W=S;W.x=A.x,W.y=M.y,W.z=b.z;var Y=e.multiplyByScalar(e.add(q,W,g),.5,C),V=0;for(T=0;O>T;T+=a){u.x=r[T]+i.x,u.y=r[T+1]+i.y,u.z=r[T+2]+i.z;var H=e.magnitude(e.subtract(u,Y,g));H>V&&(V=H);var k=e.magnitudeSquared(e.subtract(u,_,g));if(k>U){var j=Math.sqrt(k);G=.5*(G+j),U=G*G;var K=j-G;_.x=(G*_.x+K*u.x)/j,_.y=(G*_.y+K*u.y)/j,_.z=(G*_.z+K*u.z)/j}}return V>G?(e.clone(_,o.center),o.radius=G):(e.clone(Y,o.center),o.radius=V),o},c.fromCornerPoints=function(r,t,i){n(i)||(i=new c);var a=i.center;return e.add(r,t,a),e.multiplyByScalar(a,.5,a),i.radius=e.distance(a,t),i},c.fromEllipsoid=function(r,t){return n(t)||(t=new c),e.clone(e.ZERO,t.center),t.radius=r.maximumRadius,t},c.clone=function(r,t){return n(r)?n(t)?(t.center=e.clone(r.center,t.center),t.radius=r.radius,t):new c(r.center,r.radius):void 0};var I=new e,N=new e;c.union=function(r,t,i){n(i)||(i=new c);var a=r.center,o=t.center;e.add(a,o,N);var u=e.multiplyByScalar(N,.5,N),s=e.magnitude(e.subtract(a,u,I))+r.radius,l=e.magnitude(e.subtract(o,u,I))+t.radius;return i.radius=Math.max(s,l),e.clone(u,i.center),i};var z=new e;c.expand=function(r,t,n){n=c.clone(r,n);var i=e.magnitude(e.subtract(t,n.center,z));return i>n.radius&&(n.radius=i),n},c.intersect=function(r,t){var n=r.center,i=r.radius,a=e.dot(t,n)+t.w;return-i>a?u.OUTSIDE:i>a?u.INTERSECTING:u.INSIDE};var R=new e;c.transform=function(r,t,i){return n(i)||(i=new c),i.center=l.multiplyByPoint(t,r.center,i.center),i.radius=Math.max(e.magnitude(l.getColumn(t,0,R)),e.magnitude(l.getColumn(t,1,R)),e.magnitude(l.getColumn(t,2,R)))*r.radius,i},c.transformWithoutScale=function(e,r,t){return n(t)||(t=new c),t.center=l.multiplyByPoint(r,e.center,t.center),t.radius=e.radius,t};var L=new e;c.getPlaneDistances=function(r,t,i,a){n(a)||(a=new s);var o=e.subtract(r.center,t,L),u=e.multiplyByScalar(i,e.dot(i,o),L),l=e.magnitude(u);return a.start=l-r.radius,a.stop=l+r.radius,a};for(var F=new e,P=new e,D=new e,B=new e,_=new e,U=new r,G=new Array(8),q=0;8>q;++q)G[q]=new e;var W=new o;return c.projectTo2D=function(r,n,i){n=t(n,W);var a=n.ellipsoid,o=r.center,u=r.radius,s=a.geodeticSurfaceNormal(o,F),l=e.cross(e.UNIT_Z,s,P);e.normalize(l,l);var f=e.cross(s,l,D);e.normalize(f,f),e.multiplyByScalar(s,u,s),e.multiplyByScalar(f,u,f),e.multiplyByScalar(l,u,l);var m=e.negate(f,_),y=e.negate(l,B),h=G,p=h[0];e.add(s,f,p),e.add(p,l,p),p=h[1],e.add(s,f,p),e.add(p,y,p),p=h[2],e.add(s,m,p),e.add(p,y,p),p=h[3],e.add(s,m,p),e.add(p,l,p),e.negate(s,s),p=h[4],e.add(s,f,p),e.add(p,l,p),p=h[5],e.add(s,f,p),e.add(p,y,p),p=h[6],e.add(s,m,p),e.add(p,y,p),p=h[7],e.add(s,m,p),e.add(p,l,p);for(var d=h.length,v=0;d>v;++v){var g=h[v];e.add(o,g,g);var E=a.cartesianToCartographic(g,U);n.project(E,g)}i=c.fromPoints(h,i),o=i.center;var w=o.x,S=o.y,C=o.z;return o.x=C,o.y=w,o.z=S,i},c.equals=function(r,t){return r===t||n(r)&&n(t)&&e.equals(r.center,t.center)&&r.radius===t.radius},c.prototype.clone=function(e){return c.clone(this,e)},c.prototype.union=function(e,r){return c.union(this,e,r)},c.prototype.expand=function(e,r){return c.expand(this,e,r)},c.prototype.intersect=function(e){return c.intersect(this,e)},c.prototype.getPlaneDistances=function(e,r,t){return c.getPlaneDistances(this,e,r,t)},c.prototype.projectTo2D=function(e,r){return c.projectTo2D(this,e,r)},c.prototype.equals=function(e){return c.equals(this,e)},c}),define("Core/Fullscreen",["./defined"],function(e){"use strict";var r,t={requestFullscreen:void 0,exitFullscreen:void 0,fullscreenEnabled:void 0,fullscreenElement:void 0,fullscreenchange:void 0,fullscreenerror:void 0},n={};return n.supportsFullscreen=function(){if(e(r))return r;r=!1;var n=document.body;if("function"==typeof n.requestFullscreen)return t.requestFullscreen="requestFullscreen",t.exitFullscreen="exitFullscreen",t.fullscreenEnabled="fullscreenEnabled",t.fullscreenElement="fullscreenElement",t.fullscreenchange="fullscreenchange",t.fullscreenerror="fullscreenerror",r=!0;for(var i,a=["webkit","moz","o","ms","khtml"],o=0,u=a.length;u>o;++o){var s=a[o];i=s+"RequestFullscreen","function"==typeof n[i]?(t.requestFullscreen=i,r=!0):(i=s+"RequestFullScreen","function"==typeof n[i]&&(t.requestFullscreen=i,r=!0)),i=s+"ExitFullscreen","function"==typeof document[i]?t.exitFullscreen=i:(i=s+"CancelFullScreen","function"==typeof document[i]&&(t.exitFullscreen=i)),i=s+"FullscreenEnabled",e(document[i])?t.fullscreenEnabled=i:(i=s+"FullScreenEnabled",e(document[i])&&(t.fullscreenEnabled=i)),i=s+"FullscreenElement",e(document[i])?t.fullscreenElement=i:(i=s+"FullScreenElement",e(document[i])&&(t.fullscreenElement=i)),i=s+"fullscreenchange",e(document["on"+i])&&("ms"===s&&(i="MSFullscreenChange"),t.fullscreenchange=i),i=s+"fullscreenerror",e(document["on"+i])&&("ms"===s&&(i="MSFullscreenError"),t.fullscreenerror=i)}return r},n.requestFullscreen=function(e){n.supportsFullscreen()&&e[t.requestFullscreen]()},n.exitFullscreen=function(){n.supportsFullscreen()&&document[t.exitFullscreen]()},n.isFullscreenEnabled=function(){return n.supportsFullscreen()?document[t.fullscreenEnabled]:void 0},n.getFullscreenElement=function(){return n.supportsFullscreen()?document[t.fullscreenElement]:void 0},n.isFullscreen=function(){return n.supportsFullscreen()?null!==n.getFullscreenElement():void 0},n.getFullscreenChangeEventName=function(){return n.supportsFullscreen()?t.fullscreenchange:void 0},n.getFullscreenErrorEventName=function(){return n.supportsFullscreen()?t.fullscreenerror:void 0},n}),define("Core/FeatureDetection",["./defined","./Fullscreen"],function(e,r){"use strict";function t(e){for(var r=e.split("."),t=0,n=r.length;n>t;++t)r[t]=parseInt(r[t],10);return r}function n(){if(!e(f)){var r=/ Chrome\/([\.0-9]+)/.exec(navigator.userAgent);null===r?f=!1:(f=!0,m=t(r[1]))}return f}function i(){return n()&&m}function a(){if(!e(y))if(n()||!/ Safari\/[\.0-9]+/.test(navigator.userAgent))y=!1;else{var r=/ Version\/([\.0-9]+)/.exec(navigator.userAgent);null===r?y=!1:(y=!0,h=t(r[1]))}return y}function o(){return a()&&h}function u(){if(!e(p)){var r=/ AppleWebKit\/([\.0-9]+)(\+?)/.exec(navigator.userAgent);null===r?p=!1:(p=!0,d=t(r[1]),d.isNightly=!!r[2])}return p}function s(){return u()&&d}function l(){if(!e(v)){var r;"Microsoft Internet Explorer"===navigator.appName?(r=/MSIE ([0-9]{1,}[\.0-9]{0,})/.exec(navigator.userAgent),null!==r&&(v=!0,g=t(r[1]))):"Netscape"===navigator.appName?(r=/Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/.exec(navigator.userAgent),null!==r&&(v=!0,g=t(r[1]))):v=!1}return v}function c(){return l()&&g}var f,m,y,h,p,d,v,g,E={isChrome:n,chromeVersion:i,isSafari:a,safariVersion:o,isWebkit:u,webkitVersion:s,isInternetExplorer:l,internetExplorerVersion:c};E.supportsFullscreen=function(){return r.supportsFullscreen()},E.supportsTypedArrays=function(){return"undefined"!=typeof ArrayBuffer};var w;return E.supportsTransferringArrayBuffers=function(){if(!e(w)){if(!E.supportsTypedArrays())return w=!1,void 0;var r=new ArrayBuffer(1);try{postMessage({value:r},[r]),w=!0}catch(t){w=!1}}return w},E}),define("Core/ComponentDatatype",["./defaultValue","./defined","./DeveloperError","./FeatureDetection","./Enumeration"],function(e,r,t,n,i){"use strict";if(!n.supportsTypedArrays())return{};var a={BYTE:new i(5120,"BYTE",{sizeInBytes:Int8Array.BYTES_PER_ELEMENT}),UNSIGNED_BYTE:new i(5121,"UNSIGNED_BYTE",{sizeInBytes:Uint8Array.BYTES_PER_ELEMENT}),SHORT:new i(5122,"SHORT",{sizeInBytes:Int16Array.BYTES_PER_ELEMENT}),UNSIGNED_SHORT:new i(5123,"UNSIGNED_SHORT",{sizeInBytes:Uint16Array.BYTES_PER_ELEMENT}),FLOAT:new i(5126,"FLOAT",{sizeInBytes:Float32Array.BYTES_PER_ELEMENT}),DOUBLE:new i(5130,"DOUBLE",{sizeInBytes:Float64Array.BYTES_PER_ELEMENT})};return a.validate=function(e){return r(e)&&r(e.value)&&(e.value===a.BYTE.value||e.value===a.UNSIGNED_BYTE.value||e.value===a.SHORT.value||e.value===a.UNSIGNED_SHORT.value||e.value===a.FLOAT.value||e.value===a.DOUBLE.value)},a.createTypedArray=function(e,r){switch(e.value){case a.BYTE.value:return new Int8Array(r);case a.UNSIGNED_BYTE.value:return new Uint8Array(r);case a.SHORT.value:return new Int16Array(r);case a.UNSIGNED_SHORT.value:return new Uint16Array(r);case a.FLOAT.value:return new Float32Array(r);case a.DOUBLE.value:return new Float64Array(r);default:throw new t("componentDatatype is not a valid enumeration value.")}},a.createArrayBufferView=function(r,n,i,o){switch(i=e(i,0),o=e(o,(n.byteLength-i)/r.sizeInBytes),r.value){case a.BYTE.value:return new Int8Array(n,i,o);case a.UNSIGNED_BYTE.value:return new Uint8Array(n,i,o);case a.SHORT.value:return new Int16Array(n,i,o);case a.UNSIGNED_SHORT.value:return new Uint16Array(n,i,o);case a.FLOAT.value:return new Float32Array(n,i,o);case a.DOUBLE.value:return new Float64Array(n,i,o);default:throw new t("componentDatatype is not a valid enumeration value.")}},a}),define("Core/IndexDatatype",["./defined","./DeveloperError","./Math"],function(e,r,t){"use strict";var n={UNSIGNED_BYTE:5121,UNSIGNED_SHORT:5123,UNSIGNED_INT:5125};return n.getSizeInBytes=function(e){switch(e){case n.UNSIGNED_BYTE:return Uint8Array.BYTES_PER_ELEMENT;case n.UNSIGNED_SHORT:return Uint16Array.BYTES_PER_ELEMENT;case n.UNSIGNED_INT:return Uint32Array.BYTES_PER_ELEMENT}},n.validate=function(r){return e(r)&&(r===n.UNSIGNED_BYTE||r===n.UNSIGNED_SHORT||r===n.UNSIGNED_INT)},n.createTypedArray=function(e,r){return e>t.SIXTY_FOUR_KILOBYTES?new Uint32Array(r):new Uint16Array(r)},n}),define("Core/Quaternion",["./Cartesian3","./defaultValue","./defined","./DeveloperError","./FeatureDetection","./freezeObject","./Math","./Matrix3"],function(e,r,t,n,i,a,o,u){"use strict";var s,l=function(e,t,n,i){this.x=r(e,0),this.y=r(t,0),this.z=r(n,0),this.w=r(i,0)};l.fromAxisAngle=function(r,n,i){var a=n/2,o=Math.sin(a);s=e.normalize(r,s);var u=s.x*o,c=s.y*o,f=s.z*o,m=Math.cos(a);return t(i)?(i.x=u,i.y=c,i.z=f,i.w=m,i):new l(u,c,f,m)};var c=[1,2,0],f=new Array(3);l.fromRotationMatrix=function(e,r){var n,i,a,o,s,m=e[u.COLUMN0ROW0],y=e[u.COLUMN1ROW1],h=e[u.COLUMN2ROW2],p=m+y+h;if(p>0)n=Math.sqrt(p+1),s=.5*n,n=.5/n,i=(e[u.COLUMN1ROW2]-e[u.COLUMN2ROW1])*n,a=(e[u.COLUMN2ROW0]-e[u.COLUMN0ROW2])*n,o=(e[u.COLUMN0ROW1]-e[u.COLUMN1ROW0])*n;else{var d=c,v=0;y>m&&(v=1),h>m&&h>y&&(v=2);var g=d[v],E=d[g];n=Math.sqrt(e[u.getElementIndex(v,v)]-e[u.getElementIndex(g,g)]-e[u.getElementIndex(E,E)]+1);var w=f;w[v]=.5*n,n=.5/n,s=(e[u.getElementIndex(E,g)]-e[u.getElementIndex(g,E)])*n,w[g]=(e[u.getElementIndex(g,v)]+e[u.getElementIndex(v,g)])*n,w[E]=(e[u.getElementIndex(E,v)]+e[u.getElementIndex(v,E)])*n,i=-w[0],a=-w[1],o=-w[2]}return t(r)?(r.x=i,r.y=a,r.z=o,r.w=s,r):new l(i,a,o,s)};var m=new e,y=new e,h=new l,p=new l,d=new l;l.packedLength=4,l.pack=function(e,t,n){n=r(n,0),t[n++]=e.x,t[n++]=e.y,t[n++]=e.z,t[n]=e.w},l.unpack=function(e,n,i){return n=r(n,0),t(i)||(i=new l),i.x=e[n],i.y=e[n+1],i.z=e[n+2],i.w=e[n+3],i},l.packedInterpolationLength=3,l.convertPackedArrayForInterpolation=function(e,r,t,n){l.unpack(e,4*t,d),l.conjugate(d,d);for(var i=0,a=t-r+1;a>i;i++){var o=3*i;l.unpack(e,4*(r+i),h),l.multiply(h,d,h),h.w<0&&l.negate(h,h),l.getAxis(h,m);var u=l.getAngle(h);n[o]=m.x*u,n[o+1]=m.y*u,n[o+2]=m.z*u}},l.unpackInterpolationResult=function(r,n,i,a,o){t(o)||(o=new l),e.fromArray(r,0,y);var u=e.magnitude(y);return l.unpack(n,4*a,p),0===u?l.clone(l.IDENTITY,h):l.fromAxisAngle(y,u,h),l.multiply(h,p,o)},l.clone=function(e,r){return t(e)?t(r)?(r.x=e.x,r.y=e.y,r.z=e.z,r.w=e.w,r):new l(e.x,e.y,e.z,e.w):void 0},l.conjugate=function(e,r){return t(r)?(r.x=-e.x,r.y=-e.y,r.z=-e.z,r.w=e.w,r):new l(-e.x,-e.y,-e.z,e.w)},l.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w},l.magnitude=function(e){return Math.sqrt(l.magnitudeSquared(e))},l.normalize=function(e,r){var n=1/l.magnitude(e),i=e.x*n,a=e.y*n,o=e.z*n,u=e.w*n;return t(r)?(r.x=i,r.y=a,r.z=o,r.w=u,r):new l(i,a,o,u)},l.inverse=function(e,r){var t=l.magnitudeSquared(e);return r=l.conjugate(e,r),l.multiplyByScalar(r,1/t,r)},l.add=function(e,r,n){return t(n)?(n.x=e.x+r.x,n.y=e.y+r.y,n.z=e.z+r.z,n.w=e.w+r.w,n):new l(e.x+r.x,e.y+r.y,e.z+r.z,e.w+r.w)},l.subtract=function(e,r,n){return t(n)?(n.x=e.x-r.x,n.y=e.y-r.y,n.z=e.z-r.z,n.w=e.w-r.w,n):new l(e.x-r.x,e.y-r.y,e.z-r.z,e.w-r.w)},l.negate=function(e,r){return t(r)?(r.x=-e.x,r.y=-e.y,r.z=-e.z,r.w=-e.w,r):new l(-e.x,-e.y,-e.z,-e.w)},l.dot=function(e,r){return e.x*r.x+e.y*r.y+e.z*r.z+e.w*r.w},l.multiply=function(e,r,n){var i=e.x,a=e.y,o=e.z,u=e.w,s=r.x,c=r.y,f=r.z,m=r.w,y=u*s+i*m+a*f-o*c,h=u*c-i*f+a*m+o*s,p=u*f+i*c-a*s+o*m,d=u*m-i*s-a*c-o*f;return t(n)?(n.x=y,n.y=h,n.z=p,n.w=d,n):new l(y,h,p,d)},l.multiplyByScalar=function(e,r,n){return t(n)?(n.x=e.x*r,n.y=e.y*r,n.z=e.z*r,n.w=e.w*r,n):new l(e.x*r,e.y*r,e.z*r,e.w*r)},l.divideByScalar=function(e,r,n){return t(n)?(n.x=e.x/r,n.y=e.y/r,n.z=e.z/r,n.w=e.w/r,n):new l(e.x/r,e.y/r,e.z/r,e.w/r)},l.getAxis=function(r,n){var i=r.w;if(Math.abs(i-1)i&&(i=-i,a=g=l.negate(r,g)),1-iz;++z){var R=z+1,L=2*R+1;O[z]=1/(R*L),T[z]=R/L}return O[7]=b/136,T[7]=8*b/17,l.fastSlerp=function(e,r,n,i){t(i)||(i=new l);var a,o=l.dot(e,r);o>=0?a=1:(a=-1,o=-o);for(var u=o-1,s=1-n,c=n*n,f=s*s,m=7;m>=0;--m)I[m]=(O[m]*c-T[m])*u,N[m]=(O[m]*f-T[m])*u;var y=a*n*(1+I[0]*(1+I[1]*(1+I[2]*(1+I[3]*(1+I[4]*(1+I[5]*(1+I[6]*(1+I[7])))))))),h=s*(1+N[0]*(1+N[1]*(1+N[2]*(1+N[3]*(1+N[4]*(1+N[5]*(1+N[6]*(1+N[7])))))))),p=l.multiplyByScalar(e,h,M);return l.multiplyByScalar(r,y,i),l.add(p,i,i)},l.fastSquad=function(e,r,t,n,i,a){var o=l.fastSlerp(e,r,i,x),u=l.fastSlerp(t,n,i,A);return l.fastSlerp(o,u,2*i*(1-i),a)},l.equals=function(e,r){return e===r||t(e)&&t(r)&&e.x===r.x&&e.y===r.y&&e.z===r.z&&e.w===r.w},l.equalsEpsilon=function(e,r,n){return e===r||t(e)&&t(r)&&Math.abs(e.x-r.x)<=n&&Math.abs(e.y-r.y)<=n&&Math.abs(e.z-r.z)<=n&&Math.abs(e.w-r.w)<=n},l.ZERO=a(new l(0,0,0,0)),l.IDENTITY=a(new l(0,0,0,1)),l.prototype.clone=function(e){return l.clone(this,e)},l.prototype.equals=function(e){return l.equals(this,e)},l.prototype.equalsEpsilon=function(e,r){return l.equalsEpsilon(this,e,r)},l.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+", "+this.w+")"},l}),define("Core/EllipseGeometryLibrary",["./Cartesian3","./Math","./Matrix3","./Quaternion"],function(e,r,t,n){"use strict";function i(r,i,a,c,f,m,y,h,p,d){var v=r+i;e.multiplyByScalar(c,Math.cos(v),o),e.multiplyByScalar(a,Math.sin(v),u),e.add(o,u,o);var g=Math.cos(r);g*=g;var E=Math.sin(r);E*=E;var w=m/Math.sqrt(y*g+f*E),S=w/h;return n.fromAxisAngle(o,S,s),t.fromQuaternion(s,l),t.multiplyByVector(l,p,d),e.normalize(d,d),e.multiplyByScalar(d,h,d),d}var a={},o=new e,u=new e,s=new n,l=new t,c=new e,f=new e,m=new e,y=new e;a.raisePositionsToHeight=function(r,t,n){for(var i=t.ellipsoid,a=t.height,o=t.extrudedHeight,u=n?2*(r.length/3):r.length/3,s=new Float64Array(3*u),l=y,h=r.length,p=n?h:0,d=0;h>d;d+=3){var v,g=d+1,E=d+2,w=e.fromArray(r,d,c);w=i.scaleToGeodeticSurface(w,w),v=e.clone(w,f),l=i.geodeticSurfaceNormal(w,l);var S=e.multiplyByScalar(l,a,m);w=e.add(w,S,w),n&&(S=e.multiplyByScalar(l,o,S),v=e.add(v,S,v),s[d+p]=v.x,s[g+p]=v.y,s[E+p]=v.z),s[d]=w.x,s[g]=w.y,s[E]=w.z}return s};var h=new e,p=new e,d=new e;return a.computeEllipsePositions=function(t,n,a){var o=t.semiMinorAxis,u=t.semiMajorAxis,s=t.rotation,l=t.center,y=t.granularity,v=2.31,g=o*o,E=u*u,w=u*o,S=e.magnitude(l),C=e.normalize(l,h),x=e.cross(e.UNIT_Z,l,p);x=e.normalize(x,x);var A,M,b,O,T,I=e.cross(C,x,d),N=1+Math.ceil(r.PI_OVER_TWO/y),z=v/(N-1),R=2*N*(N+1),L=n?new Array(3*R):void 0,F=0,P=c,D=f,B=a?[]:void 0,_=a?[]:void 0,U=r.PI_OVER_TWO;for(A=0;N>A&&U>0;++A){if(P=i(U,s,I,x,g,w,E,S,C,P),D=i(Math.PI-U,s,I,x,g,w,E,S,C,D),n){for(L[F++]=P.x,L[F++]=P.y,L[F++]=P.z,b=2*A+2,M=1;b-1>M;++M)O=M/(b-1),T=e.lerp(P,D,O,m),L[F++]=T.x,L[F++]=T.y,L[F++]=T.z;L[F++]=D.x,L[F++]=D.y,L[F++]=D.z}a&&(_.unshift(P.x,P.y,P.z),0!==A&&B.push(D.x,D.y,D.z)),U=r.PI_OVER_TWO-(A+1)*z}for(N=A,A=N;A>0;--A){if(U=r.PI_OVER_TWO-(A-1)*z,P=i(-U,s,I,x,g,w,E,S,C,P),D=i(U+Math.PI,s,I,x,g,w,E,S,C,D),n){for(L[F++]=P.x,L[F++]=P.y,L[F++]=P.z,b=2*(A-1)+2,M=1;b-1>M;++M)O=M/(b-1),T=e.lerp(P,D,O,m),L[F++]=T.x,L[F++]=T.y,L[F++]=T.z;L[F++]=D.x,L[F++]=D.y,L[F++]=D.z}a&&(_.unshift(P.x,P.y,P.z),1!==A&&B.push(D.x,D.y,D.z))}var G={};return n&&(L.length!==F&&(R=F/3,L.length=F),G.positions=L,G.numPts=N),a&&(G.outerPositions=_.concat(B)),G},a}),define("Core/Geometry",["./defaultValue","./defined","./DeveloperError"],function(e,r,t){"use strict";var n=function(r){r=e(r,e.EMPTY_OBJECT),this.attributes=r.attributes,this.indices=r.indices,this.primitiveType=r.primitiveType,this.boundingSphere=r.boundingSphere};return n.computeNumberOfVertices=function(e){var n=-1;for(var i in e.attributes)if(e.attributes.hasOwnProperty(i)&&r(e.attributes[i])&&r(e.attributes[i].values)){var a=e.attributes[i],o=a.values.length/a.componentsPerAttribute;if(n!==o&&-1!==n)throw new t("All attribute lists must have the same number of attributes.");n=o}return n},n}),define("Core/GeometryAttribute",["./defaultValue","./defined","./DeveloperError"],function(e){"use strict";var r=function(r){r=e(r,e.EMPTY_OBJECT),this.componentDatatype=r.componentDatatype,this.componentsPerAttribute=r.componentsPerAttribute,this.normalize=e(r.normalize,!1),this.values=r.values};return r}),define("Core/GeometryAttributes",["./defaultValue"],function(e){"use strict";var r=function(r){r=e(r,e.EMPTY_OBJECT),this.position=r.position,this.normal=r.normal,this.st=r.st,this.binormal=r.binormal,this.tangent=r.tangent,this.color=r.color};return r}),define("Core/PrimitiveType",[],function(){"use strict";var e={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,validate:function(r){return r===e.POINTS||r===e.LINES||r===e.LINE_LOOP||r===e.LINE_STRIP||r===e.TRIANGLES||r===e.TRIANGLE_STRIP||r===e.TRIANGLE_FAN}};return e}),define("Core/EllipseOutlineGeometry",["./defaultValue","./defined","./BoundingSphere","./Cartesian3","./ComponentDatatype","./IndexDatatype","./DeveloperError","./Ellipsoid","./EllipseGeometryLibrary","./Geometry","./GeometryAttribute","./GeometryAttributes","./Math","./PrimitiveType"],function(e,r,t,n,i,a,o,u,s,l,c,f,m,y){"use strict";function h(e){var r=e.center;v=n.multiplyByScalar(e.ellipsoid.geodeticSurfaceNormal(r,v),e.height,v),v=n.add(r,v,v);for(var o=new t(v,e.semiMajorAxis),u=s.computeEllipsePositions(e,!1,!0).outerPositions,l=new f({position:new c({componentDatatype:i.DOUBLE,componentsPerAttribute:3,values:s.raisePositionsToHeight(u,e,!1)})}),m=u.length/3,y=a.createTypedArray(m,2*m),h=0,p=0;m-1>p;p++)y[h++]=p,y[h++]=p+1;return y[h++]=m-1,y[h++]=0,{boundingSphere:o,attributes:l,indices:y}}function p(r){var o=e(r.numberOfVerticalLines,16);o=Math.max(o,0);var u=r.center,l=r.ellipsoid,m=r.semiMajorAxis,y=n.multiplyByScalar(l.geodeticSurfaceNormal(u,d),r.height,d);g.center=n.add(u,y,g.center),g.radius=m,y=n.multiplyByScalar(l.geodeticSurfaceNormal(u,y),r.extrudedHeight,y),E.center=n.add(u,y,E.center),E.radius=m;var h=s.computeEllipsePositions(r,!1,!0).outerPositions,p=new f({position:new c({componentDatatype:i.DOUBLE,componentsPerAttribute:3,values:s.raisePositionsToHeight(h,r,!0)})});h=p.position.values;var v=t.union(g,E),w=h.length/3,S=a.createTypedArray(w,2*w+2*o);w/=2;for(var C=0,x=0;w-1>x;x++)S[C++]=x,S[C++]=x+1,S[C++]=x+w,S[C++]=x+w+1;S[C++]=w-1,S[C++]=0,S[C++]=w+w-1,S[C++]=w;var A;if(o>0){var M=Math.min(o,w);A=Math.round(w/M)}var b=Math.min(A*o,w);if(o>0)for(x=0;b>x;x+=A)S[C++]=x,S[C++]=x+w;return{boundingSphere:v,attributes:p,indices:S}}var d=new n,v=new n,g=new t,E=new t,w=function(t){t=e(t,e.EMPTY_OBJECT);var i=t.center,a=t.semiMajorAxis,o=t.semiMinorAxis,s=e(t.granularity,m.RADIANS_PER_DEGREE),l=e(t.height,0),c=t.extrudedHeight,f=r(c)&&!m.equalsEpsilon(l,c,1);this._center=n.clone(i),this._semiMajorAxis=a,this._semiMinorAxis=o,this._ellipsoid=e(t.ellipsoid,u.WGS84),this._rotation=e(t.rotation,0),this._height=l,this._granularity=s,this._extrudedHeight=c,this._extrude=f,this._numberOfVerticalLines=Math.max(e(t.numberOfVerticalLines,16),0),this._workerName="createEllipseOutlineGeometry"};return w.createGeometry=function(e){var r,t={center:e._center,semiMajorAxis:e._semiMajorAxis,semiMinorAxis:e._semiMinorAxis,ellipsoid:e._ellipsoid,rotation:e._rotation,height:e._height,extrudedHeight:e._extrudedHeight,granularity:e._granularity,numberOfVerticalLines:e._numberOfVerticalLines};return e._extrude?(t.extrudedHeight=Math.min(e._extrudedHeight,e._height),t.height=Math.max(e._extrudedHeight,e._height),r=p(t)):r=h(t),new l({attributes:r.attributes,indices:r.indices,primitiveType:y.LINES,boundingSphere:r.boundingSphere})},w}),define("Core/CircleOutlineGeometry",["./defaultValue","./defined","./DeveloperError","./EllipseOutlineGeometry"],function(e,r,t,n){"use strict";var i=function(r){r=e(r,e.EMPTY_OBJECT);var t=r.radius,i={center:r.center,semiMajorAxis:t,semiMinorAxis:t,ellipsoid:r.ellipsoid,height:r.height,extrudedHeight:r.extrudedHeight,granularity:r.granularity,numberOfVerticalLines:r.numberOfVerticalLines};this._ellipseGeometry=new n(i),this._workerName="createCircleOutlineGeometry"};return i.createGeometry=function(e){return n.createGeometry(e._ellipseGeometry)},i}),define("Core/Color",["./defaultValue","./defined","./freezeObject","./DeveloperError","./FeatureDetection","./Math"],function(e,r,t,n,i,a){"use strict";function o(e,r,t){return 0>t&&(t+=1),t>1&&(t-=1),1>6*t?e+6*(r-e)*t:1>2*t?r:2>3*t?e+6*(r-e)*(2/3-t):e +}var u=function(r,t,n,i){this.red=e(r,1),this.green=e(t,1),this.blue=e(n,1),this.alpha=e(i,1)};u.fromBytes=function(r,t,n,i){return r=u.byteToFloat(e(r,255)),t=u.byteToFloat(e(t,255)),n=u.byteToFloat(e(n,255)),i=u.byteToFloat(e(i,255)),new u(r,t,n,i)};var s,l,c;i.supportsTypedArrays()&&(s=new ArrayBuffer(4),l=new Uint32Array(s),c=new Uint8Array(s)),u.fromRgba=function(e){return l[0]=e,u.fromBytes(c[0],c[1],c[2],c[3])},u.fromHsl=function(r,t,n,i){r=e(r,0)%1,t=e(t,0),n=e(n,0),i=e(i,1);var a=n,s=n,l=n;if(0!==t){var c;c=.5>n?n*(1+t):n+t-n*t;var f=2*n-c;a=o(f,c,r+1/3),s=o(f,c,r),l=o(f,c,r-1/3)}return new u(a,s,l,i)},u.fromRandom=function(t,n){t=e(t,e.EMPTY_OBJECT);var i=t.red;if(!r(i)){var o=e(t.minimumRed,0),s=e(t.maximumRed,1);i=o+a.nextRandomNumber()*(s-o)}var l=t.green;if(!r(l)){var c=e(t.minimumGreen,0),f=e(t.maximumGreen,1);l=c+a.nextRandomNumber()*(f-c)}var m=t.blue;if(!r(m)){var y=e(t.minimumBlue,0),h=e(t.maximumBlue,1);m=y+a.nextRandomNumber()*(h-y)}var p=t.alpha;if(!r(p)){var d=e(t.minimumAlpha,0),v=e(t.maximumAlpha,1);p=d+a.nextRandomNumber()*(v-d)}return r(n)?(n.red=i,n.green=l,n.blue=m,n.alpha=p,n):new u(i,l,m,p)};var f=/^#([0-9a-f])([0-9a-f])([0-9a-f])$/i,m=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i,y=/^rgba?\(\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)(?:\s*,\s*([0-9.]+))?\s*\)$/i,h=/^hsla?\(\s*([0-9.]+)\s*,\s*([0-9.]+%)\s*,\s*([0-9.]+%)(?:\s*,\s*([0-9.]+))?\s*\)$/i;return u.fromCssColorString=function(t){var n=u[t.toUpperCase()];if(r(n))return u.clone(n);var i=f.exec(t);return null!==i?new u(parseInt(i[1],16)/15,parseInt(i[2],16)/15,parseInt(i[3],16)/15):(i=m.exec(t),null!==i?new u(parseInt(i[1],16)/255,parseInt(i[2],16)/255,parseInt(i[3],16)/255):(i=y.exec(t),null!==i?new u(parseFloat(i[1])/("%"===i[1].substr(-1)?100:255),parseFloat(i[2])/("%"===i[2].substr(-1)?100:255),parseFloat(i[3])/("%"===i[3].substr(-1)?100:255),parseFloat(e(i[4],"1.0"))):(i=h.exec(t),null!==i?u.fromHsl(parseFloat(i[1])/360,parseFloat(i[2])/100,parseFloat(i[3])/100,parseFloat(e(i[4],"1.0"))):void 0)))},u.packedLength=4,u.pack=function(r,t,n){n=e(n,0),t[n++]=r.red,t[n++]=r.green,t[n++]=r.blue,t[n]=r.alpha},u.unpack=function(t,n,i){return n=e(n,0),r(i)||(i=new u),i.red=t[n++],i.green=t[n++],i.blue=t[n++],i.alpha=t[n],i},u.byteToFloat=function(e){return e/255},u.floatToByte=function(e){return 1===e?255:0|256*e},u.clone=function(e,t){return r(e)?r(t)?(t.red=e.red,t.green=e.green,t.blue=e.blue,t.alpha=e.alpha,t):new u(e.red,e.green,e.blue,e.alpha):void 0},u.equals=function(e,t){return e===t||r(e)&&r(t)&&e.red===t.red&&e.green===t.green&&e.blue===t.blue&&e.alpha===t.alpha},u.prototype.clone=function(e){return u.clone(this,e)},u.prototype.equals=function(e){return u.equals(this,e)},u.prototype.equalsEpsilon=function(e,t){return this===e||r(e)&&Math.abs(this.red-e.red)<=t&&Math.abs(this.green-e.green)<=t&&Math.abs(this.blue-e.blue)<=t&&Math.abs(this.alpha-e.alpha)<=t},u.prototype.toString=function(){return"("+this.red+", "+this.green+", "+this.blue+", "+this.alpha+")"},u.prototype.toCssColorString=function(){var e=u.floatToByte(this.red),r=u.floatToByte(this.green),t=u.floatToByte(this.blue);return 1===this.alpha?"rgb("+e+","+r+","+t+")":"rgba("+e+","+r+","+t+","+this.alpha+")"},u.prototype.toBytes=function(e){var t=u.floatToByte(this.red),n=u.floatToByte(this.green),i=u.floatToByte(this.blue),a=u.floatToByte(this.alpha);return r(e)?(e[0]=t,e[1]=n,e[2]=i,e[3]=a,e):[t,n,i,a]},u.prototype.toRgba=function(){return c[0]=u.floatToByte(this.red),c[1]=u.floatToByte(this.green),c[2]=u.floatToByte(this.blue),c[3]=u.floatToByte(this.alpha),l[0]},u.ALICEBLUE=t(u.fromCssColorString("#F0F8FF")),u.ANTIQUEWHITE=t(u.fromCssColorString("#FAEBD7")),u.AQUA=t(u.fromCssColorString("#00FFFF")),u.AQUAMARINE=t(u.fromCssColorString("#7FFFD4")),u.AZURE=t(u.fromCssColorString("#F0FFFF")),u.BEIGE=t(u.fromCssColorString("#F5F5DC")),u.BISQUE=t(u.fromCssColorString("#FFE4C4")),u.BLACK=t(u.fromCssColorString("#000000")),u.BLANCHEDALMOND=t(u.fromCssColorString("#FFEBCD")),u.BLUE=t(u.fromCssColorString("#0000FF")),u.BLUEVIOLET=t(u.fromCssColorString("#8A2BE2")),u.BROWN=t(u.fromCssColorString("#A52A2A")),u.BURLYWOOD=t(u.fromCssColorString("#DEB887")),u.CADETBLUE=t(u.fromCssColorString("#5F9EA0")),u.CHARTREUSE=t(u.fromCssColorString("#7FFF00")),u.CHOCOLATE=t(u.fromCssColorString("#D2691E")),u.CORAL=t(u.fromCssColorString("#FF7F50")),u.CORNFLOWERBLUE=t(u.fromCssColorString("#6495ED")),u.CORNSILK=t(u.fromCssColorString("#FFF8DC")),u.CRIMSON=t(u.fromCssColorString("#DC143C")),u.CYAN=t(u.fromCssColorString("#00FFFF")),u.DARKBLUE=t(u.fromCssColorString("#00008B")),u.DARKCYAN=t(u.fromCssColorString("#008B8B")),u.DARKGOLDENROD=t(u.fromCssColorString("#B8860B")),u.DARKGRAY=t(u.fromCssColorString("#A9A9A9")),u.DARKGREEN=t(u.fromCssColorString("#006400")),u.DARKGREY=u.DARKGRAY,u.DARKKHAKI=t(u.fromCssColorString("#BDB76B")),u.DARKMAGENTA=t(u.fromCssColorString("#8B008B")),u.DARKOLIVEGREEN=t(u.fromCssColorString("#556B2F")),u.DARKORANGE=t(u.fromCssColorString("#FF8C00")),u.DARKORCHID=t(u.fromCssColorString("#9932CC")),u.DARKRED=t(u.fromCssColorString("#8B0000")),u.DARKSALMON=t(u.fromCssColorString("#E9967A")),u.DARKSEAGREEN=t(u.fromCssColorString("#8FBC8F")),u.DARKSLATEBLUE=t(u.fromCssColorString("#483D8B")),u.DARKSLATEGRAY=t(u.fromCssColorString("#2F4F4F")),u.DARKSLATEGREY=u.DARKSLATEGRAY,u.DARKTURQUOISE=t(u.fromCssColorString("#00CED1")),u.DARKVIOLET=t(u.fromCssColorString("#9400D3")),u.DEEPPINK=t(u.fromCssColorString("#FF1493")),u.DEEPSKYBLUE=t(u.fromCssColorString("#00BFFF")),u.DIMGRAY=t(u.fromCssColorString("#696969")),u.DIMGREY=u.DIMGRAY,u.DODGERBLUE=t(u.fromCssColorString("#1E90FF")),u.FIREBRICK=t(u.fromCssColorString("#B22222")),u.FLORALWHITE=t(u.fromCssColorString("#FFFAF0")),u.FORESTGREEN=t(u.fromCssColorString("#228B22")),u.FUSCHIA=t(u.fromCssColorString("#FF00FF")),u.GAINSBORO=t(u.fromCssColorString("#DCDCDC")),u.GHOSTWHITE=t(u.fromCssColorString("#F8F8FF")),u.GOLD=t(u.fromCssColorString("#FFD700")),u.GOLDENROD=t(u.fromCssColorString("#DAA520")),u.GRAY=t(u.fromCssColorString("#808080")),u.GREEN=t(u.fromCssColorString("#008000")),u.GREENYELLOW=t(u.fromCssColorString("#ADFF2F")),u.GREY=u.GRAY,u.HONEYDEW=t(u.fromCssColorString("#F0FFF0")),u.HOTPINK=t(u.fromCssColorString("#FF69B4")),u.INDIANRED=t(u.fromCssColorString("#CD5C5C")),u.INDIGO=t(u.fromCssColorString("#4B0082")),u.IVORY=t(u.fromCssColorString("#FFFFF0")),u.KHAKI=t(u.fromCssColorString("#F0E68C")),u.LAVENDER=t(u.fromCssColorString("#E6E6FA")),u.LAVENDAR_BLUSH=t(u.fromCssColorString("#FFF0F5")),u.LAWNGREEN=t(u.fromCssColorString("#7CFC00")),u.LEMONCHIFFON=t(u.fromCssColorString("#FFFACD")),u.LIGHTBLUE=t(u.fromCssColorString("#ADD8E6")),u.LIGHTCORAL=t(u.fromCssColorString("#F08080")),u.LIGHTCYAN=t(u.fromCssColorString("#E0FFFF")),u.LIGHTGOLDENRODYELLOW=t(u.fromCssColorString("#FAFAD2")),u.LIGHTGRAY=t(u.fromCssColorString("#D3D3D3")),u.LIGHTGREEN=t(u.fromCssColorString("#90EE90")),u.LIGHTGREY=u.LIGHTGRAY,u.LIGHTPINK=t(u.fromCssColorString("#FFB6C1")),u.LIGHTSEAGREEN=t(u.fromCssColorString("#20B2AA")),u.LIGHTSKYBLUE=t(u.fromCssColorString("#87CEFA")),u.LIGHTSLATEGRAY=t(u.fromCssColorString("#778899")),u.LIGHTSLATEGREY=u.LIGHTSLATEGRAY,u.LIGHTSTEELBLUE=t(u.fromCssColorString("#B0C4DE")),u.LIGHTYELLOW=t(u.fromCssColorString("#FFFFE0")),u.LIME=t(u.fromCssColorString("#00FF00")),u.LIMEGREEN=t(u.fromCssColorString("#32CD32")),u.LINEN=t(u.fromCssColorString("#FAF0E6")),u.MAGENTA=t(u.fromCssColorString("#FF00FF")),u.MAROON=t(u.fromCssColorString("#800000")),u.MEDIUMAQUAMARINE=t(u.fromCssColorString("#66CDAA")),u.MEDIUMBLUE=t(u.fromCssColorString("#0000CD")),u.MEDIUMORCHID=t(u.fromCssColorString("#BA55D3")),u.MEDIUMPURPLE=t(u.fromCssColorString("#9370DB")),u.MEDIUMSEAGREEN=t(u.fromCssColorString("#3CB371")),u.MEDIUMSLATEBLUE=t(u.fromCssColorString("#7B68EE")),u.MEDIUMSPRINGGREEN=t(u.fromCssColorString("#00FA9A")),u.MEDIUMTURQUOISE=t(u.fromCssColorString("#48D1CC")),u.MEDIUMVIOLETRED=t(u.fromCssColorString("#C71585")),u.MIDNIGHTBLUE=t(u.fromCssColorString("#191970")),u.MINTCREAM=t(u.fromCssColorString("#F5FFFA")),u.MISTYROSE=t(u.fromCssColorString("#FFE4E1")),u.MOCCASIN=t(u.fromCssColorString("#FFE4B5")),u.NAVAJOWHITE=t(u.fromCssColorString("#FFDEAD")),u.NAVY=t(u.fromCssColorString("#000080")),u.OLDLACE=t(u.fromCssColorString("#FDF5E6")),u.OLIVE=t(u.fromCssColorString("#808000")),u.OLIVEDRAB=t(u.fromCssColorString("#6B8E23")),u.ORANGE=t(u.fromCssColorString("#FFA500")),u.ORANGERED=t(u.fromCssColorString("#FF4500")),u.ORCHID=t(u.fromCssColorString("#DA70D6")),u.PALEGOLDENROD=t(u.fromCssColorString("#EEE8AA")),u.PALEGREEN=t(u.fromCssColorString("#98FB98")),u.PALETURQUOISE=t(u.fromCssColorString("#AFEEEE")),u.PALEVIOLETRED=t(u.fromCssColorString("#DB7093")),u.PAPAYAWHIP=t(u.fromCssColorString("#FFEFD5")),u.PEACHPUFF=t(u.fromCssColorString("#FFDAB9")),u.PERU=t(u.fromCssColorString("#CD853F")),u.PINK=t(u.fromCssColorString("#FFC0CB")),u.PLUM=t(u.fromCssColorString("#DDA0DD")),u.POWDERBLUE=t(u.fromCssColorString("#B0E0E6")),u.PURPLE=t(u.fromCssColorString("#800080")),u.RED=t(u.fromCssColorString("#FF0000")),u.ROSYBROWN=t(u.fromCssColorString("#BC8F8F")),u.ROYALBLUE=t(u.fromCssColorString("#4169E1")),u.SADDLEBROWN=t(u.fromCssColorString("#8B4513")),u.SALMON=t(u.fromCssColorString("#FA8072")),u.SANDYBROWN=t(u.fromCssColorString("#F4A460")),u.SEAGREEN=t(u.fromCssColorString("#2E8B57")),u.SEASHELL=t(u.fromCssColorString("#FFF5EE")),u.SIENNA=t(u.fromCssColorString("#A0522D")),u.SILVER=t(u.fromCssColorString("#C0C0C0")),u.SKYBLUE=t(u.fromCssColorString("#87CEEB")),u.SLATEBLUE=t(u.fromCssColorString("#6A5ACD")),u.SLATEGRAY=t(u.fromCssColorString("#708090")),u.SLATEGREY=u.SLATEGRAY,u.SNOW=t(u.fromCssColorString("#FFFAFA")),u.SPRINGGREEN=t(u.fromCssColorString("#00FF7F")),u.STEELBLUE=t(u.fromCssColorString("#4682B4")),u.TAN=t(u.fromCssColorString("#D2B48C")),u.TEAL=t(u.fromCssColorString("#008080")),u.THISTLE=t(u.fromCssColorString("#D8BFD8")),u.TOMATO=t(u.fromCssColorString("#FF6347")),u.TURQUOISE=t(u.fromCssColorString("#40E0D0")),u.VIOLET=t(u.fromCssColorString("#EE82EE")),u.WHEAT=t(u.fromCssColorString("#F5DEB3")),u.WHITE=t(u.fromCssColorString("#FFFFFF")),u.WHITESMOKE=t(u.fromCssColorString("#F5F5F5")),u.YELLOW=t(u.fromCssColorString("#FFFF00")),u.YELLOWGREEN=t(u.fromCssColorString("#9ACD32")),u}),define("Core/Cartesian2",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,r,t,n){"use strict";var i=function(r,t){this.x=e(r,0),this.y=e(t,0)};i.fromElements=function(e,t,n){return r(n)?(n.x=e,n.y=t,n):new i(e,t)},i.clone=function(e,t){return r(e)?r(t)?(t.x=e.x,t.y=e.y,t):new i(e.x,e.y):void 0},i.fromCartesian3=i.clone,i.fromCartesian4=i.clone,i.packedLength=2,i.pack=function(r,t,n){n=e(n,0),t[n++]=r.x,t[n]=r.y},i.unpack=function(t,n,a){return n=e(n,0),r(a)||(a=new i),a.x=t[n++],a.y=t[n],a},i.fromArray=i.unpack,i.getMaximumComponent=function(e){return Math.max(e.x,e.y)},i.getMinimumComponent=function(e){return Math.min(e.x,e.y)},i.getMinimumByComponent=function(e,t,n){return r(n)||(n=new i),n.x=Math.min(e.x,t.x),n.y=Math.min(e.y,t.y),n},i.getMaximumByComponent=function(e,t,n){return r(n)||(n=new i),n.x=Math.max(e.x,t.x),n.y=Math.max(e.y,t.y),n},i.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y},i.magnitude=function(e){return Math.sqrt(i.magnitudeSquared(e))};var a=new i;i.distance=function(e,r){return i.subtract(e,r,a),i.magnitude(a)},i.normalize=function(e,t){var n=i.magnitude(e);return r(t)?(t.x=e.x/n,t.y=e.y/n,t):new i(e.x/n,e.y/n)},i.dot=function(e,r){return e.x*r.x+e.y*r.y},i.multiplyComponents=function(e,t,n){return r(n)?(n.x=e.x*t.x,n.y=e.y*t.y,n):new i(e.x*t.x,e.y*t.y)},i.add=function(e,t,n){return r(n)?(n.x=e.x+t.x,n.y=e.y+t.y,n):new i(e.x+t.x,e.y+t.y)},i.subtract=function(e,t,n){return r(n)?(n.x=e.x-t.x,n.y=e.y-t.y,n):new i(e.x-t.x,e.y-t.y)},i.multiplyByScalar=function(e,t,n){return r(n)?(n.x=e.x*t,n.y=e.y*t,n):new i(e.x*t,e.y*t)},i.divideByScalar=function(e,t,n){return r(n)?(n.x=e.x/t,n.y=e.y/t,n):new i(e.x/t,e.y/t)},i.negate=function(e,t){return r(t)?(t.x=-e.x,t.y=-e.y,t):new i(-e.x,-e.y)},i.abs=function(e,t){return r(t)?(t.x=Math.abs(e.x),t.y=Math.abs(e.y),t):new i(Math.abs(e.x),Math.abs(e.y))};var o=new i;i.lerp=function(e,r,t,n){return i.multiplyByScalar(r,t,o),n=i.multiplyByScalar(e,1-t,n),i.add(o,n,n)};var u=new i,s=new i;i.angleBetween=function(e,r){return i.normalize(e,u),i.normalize(r,s),Math.acos(i.dot(u,s))};var l=new i;return i.mostOrthogonalAxis=function(e,r){var t=i.normalize(e,l);return i.abs(t,t),r=t.x<=t.y?i.clone(i.UNIT_X,r):i.clone(i.UNIT_Y,r)},i.equals=function(e,t){return e===t||r(e)&&r(t)&&e.x===t.x&&e.y===t.y},i.equalsEpsilon=function(e,t,n){return e===t||r(e)&&r(t)&&Math.abs(e.x-t.x)<=n&&Math.abs(e.y-t.y)<=n},i.ZERO=n(new i(0,0)),i.UNIT_X=n(new i(1,0)),i.UNIT_Y=n(new i(0,1)),i.prototype.clone=function(e){return i.clone(this,e)},i.prototype.equals=function(e){return i.equals(this,e)},i.prototype.equalsEpsilon=function(e,r){return i.equalsEpsilon(this,e,r)},i.prototype.toString=function(){return"("+this.x+", "+this.y+")"},i}),define("Core/barycentricCoordinates",["./Cartesian2","./Cartesian3","./defined","./DeveloperError"],function(e,r,t){"use strict";var n=new r,i=new r,a=new r,o=function(o,u,s,l,c){t(c)||(c=new r);var f,m,y,h,p,d,v,g;t(u.z)?(f=r.subtract(s,u,n),m=r.subtract(l,u,i),y=r.subtract(o,u,a),h=r.dot(f,f),p=r.dot(f,m),d=r.dot(f,y),v=r.dot(m,m),g=r.dot(m,y)):(f=e.subtract(s,u,n),m=e.subtract(l,u,i),y=e.subtract(o,u,a),h=e.dot(f,f),p=e.dot(f,m),d=e.dot(f,y),v=e.dot(m,m),g=e.dot(m,y));var E=1/(h*v-p*p);return c.y=(v*d-p*g)*E,c.z=(h*g-p*d)*E,c.x=1-c.y-c.z,c};return o}),define("Core/EncodedCartesian3",["./Cartesian3","./defined","./DeveloperError"],function(e,r){"use strict";var t=function(){this.high=e.clone(e.ZERO),this.low=e.clone(e.ZERO)};t.encode=function(e,t){r(t)||(t={high:0,low:0});var n;return e>=0?(n=65536*Math.floor(e/65536),t.high=n,t.low=e-n):(n=65536*Math.floor(-e/65536),t.high=-n,t.low=e+n),t};var n={high:0,low:0};t.fromCartesian=function(e,i){r(i)||(i=new t);var a=i.high,o=i.low;return t.encode(e.x,n),a.x=n.high,o.x=n.low,t.encode(e.y,n),a.y=n.high,o.y=n.low,t.encode(e.z,n),a.z=n.high,o.z=n.low,i};var i=new t;return t.writeElements=function(e,r,n){t.fromCartesian(e,i);var a=i.high,o=i.low;r[n]=a.x,r[n+1]=a.y,r[n+2]=a.z,r[n+3]=o.x,r[n+4]=o.y,r[n+5]=o.z},t}),define("Core/QuadraticRealPolynomial",["./DeveloperError","./Math"],function(e,r){"use strict";function t(e,t,n){var i=e+t;return r.sign(e)!==r.sign(t)&&Math.abs(i/Math.max(Math.abs(e),Math.abs(t)))o&&o/uu&&u/oa)return[];var s=Math.sqrt(a);return[-s,s]}if(0===i)return a=-n/e,0>a?[a,0]:[0,a];var l=n*n,c=4*e*i,f=t(l,-c,r.EPSILON14);if(0>f)return[];var m=-.5*t(n,r.sign(n)*Math.sqrt(f),r.EPSILON14);return n>0?[m/e,i/m]:[i/m,m/e]},n}),define("Core/CubicRealPolynomial",["./DeveloperError","./QuadraticRealPolynomial"],function(e,r){"use strict";function t(e,r,t,n){var i,a,o=e,u=r/3,s=t/3,l=n,c=o*s,f=u*l,m=u*u,y=s*s,h=o*s-m,p=o*l-u*s,d=u*l-y,v=4*h*d-p*p;if(0>v){var g,E,w;m*f>=c*y?(g=o,E=h,w=-2*u*h+o*p):(g=l,E=d,w=-l*p+2*s*d);var S=0>w?-1:1,C=-S*Math.abs(g)*Math.sqrt(-v);a=-w+C;var x=a/2,A=0>x?-Math.pow(-x,1/3):Math.pow(x,1/3),M=a===C?-A:-E/A;return i=0>=E?A+M:-w/(A*A+M*M+E),m*f>=c*y?[(i-u)/o]:[-l/(i+s)]}var b=h,O=-2*u*h+o*p,T=d,I=-l*p+2*s*d,N=Math.sqrt(v),z=Math.sqrt(3)/2,R=Math.abs(Math.atan2(o*N,-O)/3);i=2*Math.sqrt(-b);var L=Math.cos(R);a=i*L;var F=i*(-L/2-z*Math.sin(R)),P=a+F>2*u?a-u:F-u,D=o,B=P/D;R=Math.abs(Math.atan2(l*N,-I)/3),i=2*Math.sqrt(-T),L=Math.cos(R),a=i*L,F=i*(-L/2-z*Math.sin(R));var _=-l,U=2*s>a+F?a+s:F+s,G=_/U,q=D*U,W=-P*U-D*_,Y=P*_,V=(s*W-u*Y)/(-u*W+s*q);return V>=B?G>=B?G>=V?[B,V,G]:[B,G,V]:[G,B,V]:G>=B?[V,B,G]:G>=V?[V,G,B]:[G,V,B]}var n={};return n.discriminant=function(e,r,t,n){var i=e*e,a=r*r,o=t*t,u=n*n,s=18*e*r*t*n+a*o-27*i*u-4*(e*o*t+a*r*n);return s},n.realRoots=function(e,n,i,a){var o,u;if(0===e)return r.realRoots(n,i,a);if(0===n){if(0===i){if(0===a)return[0,0,0];u=-a/e;var s=0>u?-Math.pow(-u,1/3):Math.pow(u,1/3);return[s,s,s]}return 0===a?(o=r.realRoots(e,0,i),0===o.Length?[0]:[o[0],0,o[1]]):t(e,0,i,a)}return 0===i?0===a?(u=-n/e,0>u?[u,0,0]:[0,0,u]):t(e,n,0,a):0===a?(o=r.realRoots(e,n,i),0===o.length?[0]:o[1]<=0?[o[0],o[1],0]:o[0]>=0?[0,o[0],o[1]]:[o[0],0,o[1]]):t(e,n,i,a)},n}),define("Core/QuarticRealPolynomial",["./DeveloperError","./Math","./CubicRealPolynomial","./QuadraticRealPolynomial"],function(e,r,t,n){"use strict";function i(e,i,a,o){var u=e*e,s=i-3*u/8,l=a-i*e/2+u*e/8,c=o-a*e/4+i*u/16-3*u*u/256,f=t.realRoots(1,2*s,s*s-4*c,-l*l);if(f.length>0){var m=-e/4,y=f[f.length-1];if(Math.abs(y)=0&&v>=0){var g=Math.sqrt(d),E=Math.sqrt(v);return[m-E,m-g,m+g,m+E]}if(d>=0&&0>v)return p=Math.sqrt(d),[m-p,m+p];if(0>d&&v>=0)return p=Math.sqrt(v),[m-p,m+p]}return[]}if(y>0){var w=Math.sqrt(y),S=(s+y-l/w)/2,C=(s+y+l/w)/2,x=n.realRoots(1,w,S),A=n.realRoots(1,-w,C);return 0!==x.length?(x[0]+=m,x[1]+=m,0!==A.length?(A[0]+=m,A[1]+=m,x[1]<=A[0]?[x[0],x[1],A[0],A[1]]:A[1]<=x[0]?[A[0],A[1],x[0],x[1]]:x[0]>=A[0]&&x[1]<=A[1]?[A[0],x[0],x[1],A[1]]:A[0]>=x[0]&&A[1]<=x[1]?[x[0],A[0],A[1],x[1]]:x[0]>A[0]&&x[0]0){var h,p,d=y[0],v=i-d,g=v*v,E=e/2,w=v/2,S=g-4*o,C=g+4*Math.abs(o),x=l-4*d,A=l+4*Math.abs(d);if(0>d||x*C>S*A){var M=Math.sqrt(x);h=M/2,p=0===M?0:(e*w-a)/M}else{var b=Math.sqrt(S);h=0===b?0:(e*w-a)/b,p=b/2}var O,T;0===E&&0===h?(O=0,T=0):r.sign(E)===r.sign(h)?(O=E+h,T=d/O):(T=E-h,O=d/T);var I,N;0===w&&0===p?(I=0,N=0):r.sign(w)===r.sign(p)?(I=w+p,N=o/I):(N=w-p,I=o/N);var z=n.realRoots(1,O,I),R=n.realRoots(1,T,N);if(0!==z.length)return 0!==R.length?z[1]<=R[0]?[z[0],z[1],R[0],R[1]]:R[1]<=z[0]?[R[0],R[1],z[0],z[1]]:z[0]>=R[0]&&z[1]<=R[1]?[R[0],z[0],z[1],R[1]]:R[0]>=z[0]&&R[1]<=z[1]?[z[0],R[0],R[1],z[1]]:z[0]>R[0]&&z[0]l?1:0;switch(y+=0>c?y+1:y,y+=0>f?y+1:y,y+=0>m?y+1:y){case 0:return i(l,c,f,m);case 1:return a(l,c,f,m);case 2:return a(l,c,f,m);case 3:return i(l,c,f,m);case 4:return i(l,c,f,m);case 5:return a(l,c,f,m);case 6:return i(l,c,f,m);case 7:return i(l,c,f,m);case 8:return a(l,c,f,m);case 9:return i(l,c,f,m);case 10:return i(l,c,f,m);case 11:return a(l,c,f,m);case 12:return i(l,c,f,m);case 13:return i(l,c,f,m);case 14:return i(l,c,f,m);case 15:return i(l,c,f,m);default:return void 0}},o}),define("Core/IntersectionTests",["./defined","./DeveloperError","./Math","./Cartesian3","./Cartographic","./Matrix3","./QuadraticRealPolynomial","./QuarticRealPolynomial"],function(e,r,t,n,i,a,o,u){"use strict";function s(e,r,n){var i=e+r;return t.sign(e)!==t.sign(r)&&Math.abs(i/Math.max(Math.abs(e),Math.abs(r)))F;++F){var P,D=f[F],B=D*D,_=Math.max(1-B,0),U=Math.sqrt(_);P=t.sign(h)===t.sign(d)?s(h*B+d,p*D,t.EPSILON12):t.sign(d)===t.sign(p*D)?s(h*B,p*D+d,t.EPSILON12):s(h*B+p*D,d,t.EPSILON12);var G=s(v*D,g,t.EPSILON15),q=P*G;0>q?E.push(new n(l,c*D,c*U)):q>0?E.push(new n(l,c*D,c*-U)):0!==U?(E.push(new n(l,c*D,c*-U)),E.push(new n(l,c*D,c*U)),++F):E.push(new n(l,c*D,c*U))}return E}var c={};c.rayPlane=function(e,r,i){var a=e.origin,o=e.direction,u=r.normal,s=n.dot(u,o);if(Math.abs(s)l?void 0:(i=n.multiplyByScalar(o,l,i),n.add(a,i,i))};var f=new n,m=new n;c.rayEllipsoid=function(e,r){var t,i,a,o,u,s=r.oneOverRadii,l=n.multiplyComponents(s,e.origin,f),c=n.multiplyComponents(s,e.direction,m),y=n.magnitudeSquared(l),h=n.dot(l,c);if(y>1){if(h>=0)return void 0;var p=h*h;if(t=y-1,i=n.magnitudeSquared(c),a=i*t,a>p)return void 0;if(p>a){o=h*h-a,u=-h+Math.sqrt(o);var d=u/i,v=t/u;return v>d?{start:d,stop:v}:{start:v,stop:d}}var g=Math.sqrt(t/i);return{start:g,stop:g}}return 1>y?(t=y-1,i=n.magnitudeSquared(c),a=i*t,o=h*h-a,u=-h+Math.sqrt(o),{start:0,stop:u/i}):0>h?(i=n.magnitudeSquared(c),{start:0,stop:-h/i}):void 0},c.grazingAltitudeLocation=function(r,o){var u=r.origin,s=r.direction,c=o.geodeticSurfaceNormal(u);if(n.dot(s,c)>=0)return u;var f,m,y=e(this.rayEllipsoid(r,o)),h=o.transformPositionToScaledSpace(s),p=n.normalize(h),d=n.mostOrthogonalAxis(h),v=n.normalize(n.cross(d,p)),g=n.normalize(n.cross(p,v)),E=new a(p.x,v.x,g.x,p.y,v.y,g.y,p.z,v.z,g.z),w=a.transpose(E),S=a.fromScale(o.radii),C=a.fromScale(o.oneOverRadii),x=new a(0,s.z,-s.y,-s.z,0,s.x,s.y,-s.x,0),A=a.multiply(a.multiply(w,C),x),M=a.multiply(a.multiply(A,S),E),b=a.multiplyByVector(A,u),O=l(M,n.negate(b),0,0,1),T=O.length;if(T>0){for(var I=n.ZERO,N=Number.NEGATIVE_INFINITY,z=0;T>z;++z){f=a.multiplyByVector(S,a.multiplyByVector(E,O[z]));var R=n.normalize(n.subtract(f,u)),L=n.dot(R,s);L>N&&(N=L,I=f)}var F=o.cartesianToCartographic(I);return N=t.clamp(N,0,1),m=n.magnitude(n.subtract(I,u))*Math.sqrt(1-N*N),m=y?-m:m,o.cartographicToCartesian(new i(F.longitude,F.latitude,m))}return void 0};var y=new n;return c.lineSegmentPlane=function(r,i,a,o){var u=n.subtract(i,r,y),s=a.normal,l=n.dot(s,u);if(Math.abs(l)f||f>1?void 0:(e(o)||(o=new n),n.multiplyByScalar(u,f,o),n.add(r,o,o),o)},c.trianglePlaneIntersection=function(e,r,t,i){var a=i.normal,o=i.distance,u=n.dot(a,e)+o<0,s=n.dot(a,r)+o<0,l=n.dot(a,t)+o<0,f=0;f+=u?1:0,f+=s?1:0,f+=l?1:0;var m,y;if((1===f||2===f)&&(m=new n,y=new n),1===f){if(u)return c.lineSegmentPlane(e,r,i,m),c.lineSegmentPlane(e,t,i,y),{positions:[e,r,t,m,y],indices:[0,3,4,1,2,4,1,4,3]};if(s)return c.lineSegmentPlane(r,t,i,m),c.lineSegmentPlane(r,e,i,y),{positions:[e,r,t,m,y],indices:[1,3,4,2,0,4,2,4,3]};if(l)return c.lineSegmentPlane(t,e,i,m),c.lineSegmentPlane(t,r,i,y),{positions:[e,r,t,m,y],indices:[2,3,4,0,1,4,0,4,3]}}else if(2===f){if(!u)return c.lineSegmentPlane(r,e,i,m),c.lineSegmentPlane(t,e,i,y),{positions:[e,r,t,m,y],indices:[1,2,4,1,4,3,0,3,4]};if(!s)return c.lineSegmentPlane(t,r,i,m),c.lineSegmentPlane(e,r,i,y),{positions:[e,r,t,m,y],indices:[2,0,4,2,4,3,1,3,4]};if(!l)return c.lineSegmentPlane(e,t,i,m),c.lineSegmentPlane(r,t,i,y),{positions:[e,r,t,m,y],indices:[0,1,4,0,4,3,2,3,4]}}return void 0},c}),define("Core/Plane",["./Cartesian3","./defined","./DeveloperError"],function(e,r){"use strict";var t=function(r,t){this.normal=e.clone(r),this.distance=t};return t.fromPointNormal=function(n,i,a){var o=-e.dot(i,n);return r(a)?(e.clone(i,a.normal),a.distance=o,a):new t(i,o)},t.getPointDistance=function(r,t){return e.dot(r.normal,t)+r.distance},t.prototype.getPointDistance=function(e){return t.getPointDistance(this,e)},t}),define("Core/Tipsify",["./defaultValue","./defined","./DeveloperError"],function(e,r){"use strict";var t={};return t.calculateACMR=function(t){t=e(t,e.EMPTY_OBJECT);var n=t.indices,i=t.maximumIndex,a=e(t.cacheSize,24),o=n.length;if(!r(i)){i=0;for(var u=0,s=n[u];o>u;)s>i&&(i=s),++u,s=n[u]}for(var l=[],c=0;i+1>c;c++)l[c]=0;for(var f=a+1,m=0;o>m;++m)f-l[n[m]]>a&&(l[n[m]]=f,++f);return(f-a+1)/(o/3)},t.tipsify=function(t){function n(e,r,t,n){for(;r.length>=1;){var i=r[r.length-1];if(r.splice(r.length-1,1),e[i].numLiveTriangles>0)return i}for(;n>a;){if(e[a].numLiveTriangles>0)return++a,a-1;++a}return-1}function i(e,r,t,i,a,o,u){for(var s,l=-1,c=-1,f=0;fc||-1===c)&&(c=s,l=m)),++f}return-1===l?n(i,o,e,u):l}t=e(t,e.EMPTY_OBJECT);var a,o=t.indices,u=t.maximumIndex,s=e(t.cacheSize,24),l=o.length,c=0,f=0,m=o[f],y=l;if(r(u))c=u+1;else{for(;y>f;)m>c&&(c=m),++f,m=o[f];if(-1===c)return 0;++c}for(var h=[],p=0;c>p;p++)h[p]={numLiveTriangles:0,timeStamp:0,vertexTriangles:[]};f=0;for(var d=0;y>f;)h[o[f]].vertexTriangles.push(d),++h[o[f]].numLiveTriangles,h[o[f+1]].vertexTriangles.push(d),++h[o[f+1]].numLiveTriangles,h[o[f+2]].vertexTriangles.push(d),++h[o[f+2]].numLiveTriangles,++d,f+=3;var v=0,g=s+1;a=1;var E,w,S=[],C=[],x=0,A=[],M=l/3,b=[];for(p=0;M>p;p++)b[p]=!1;for(var O,T;-1!==v;){S=[],w=h[v],T=w.vertexTriangles.length;for(var I=0;T>I;++I)if(d=w.vertexTriangles[I],!b[d]){b[d]=!0,f=d+d+d;for(var N=0;3>N;++N)O=o[f],S.push(O),C.push(O),A[x]=O,++x,E=h[O],--E.numLiveTriangles,g-E.timeStamp>s&&(E.timeStamp=g,++g),++f}v=i(o,s,S,h,g,C,c)}return A},t}),define("Core/GeometryPipeline",["./barycentricCoordinates","./defaultValue","./defined","./DeveloperError","./Cartesian2","./Cartesian3","./Cartesian4","./Cartographic","./EncodedCartesian3","./Intersect","./IntersectionTests","./Math","./Matrix3","./Matrix4","./Plane","./GeographicProjection","./ComponentDatatype","./IndexDatatype","./PrimitiveType","./Tipsify","./BoundingSphere","./Geometry","./GeometryAttribute"],function(e,r,t,n,i,a,o,u,s,l,c,f,m,y,h,p,d,v,g,E,w,S,C){"use strict";function x(e,r,t,n,i){e[r++]=t,e[r++]=n,e[r++]=n,e[r++]=i,e[r++]=i,e[r]=t}function A(e){for(var r=e.length,t=6*(r/3),n=v.createTypedArray(r,t),i=0,a=0;r>a;a+=3,i+=6)x(n,i,e[a],e[a+1],e[a+2]);return n}function M(e){var r=e.length;if(r>=3){var t=6*(r-2),n=v.createTypedArray(r,t);x(n,0,e[0],e[1],e[2]);for(var i=6,a=3;r>a;++a,i+=6)x(n,i,e[a-1],e[a],e[a-2]);return n}return new Uint16Array}function b(e){if(e.length>0){for(var r=e.length-1,t=6*(r-1),n=v.createTypedArray(r,t),i=e[0],a=0,o=1;r>o;++o,a+=6)x(n,a,i,e[o],e[o+1]);return n}return new Uint16Array}function O(e){var r={};for(var n in e)if(e.hasOwnProperty(n)&&t(e[n])&&t(e[n].values)){var i=e[n];r[n]=new C({componentDatatype:i.componentDatatype,componentsPerAttribute:i.componentsPerAttribute,normalize:i.normalize,values:[]})}return r}function T(e,r,n){for(var i in r)if(r.hasOwnProperty(i)&&t(r[i])&&t(r[i].values))for(var a=r[i],o=0;oo;o+=3)a.unpack(n,o,Z),y.multiplyByPoint(e,Z,Z),a.pack(Z,n,o)}function N(e,r){if(t(r))for(var n=r.values,i=n.length,o=0;i>o;o+=3)a.unpack(n,o,Z),m.multiplyByVector(e,Z,Z),Z=a.normalize(Z,Z),a.pack(Z,n,o)}function z(e){var r,n=e.length,i={},a=e[0].geometry.attributes;for(r in a)if(a.hasOwnProperty(r)&&t(a[r])&&t(a[r].values)){for(var o=a[r],u=o.values.length,s=!0,l=1;n>l;++l){var c=e[l].geometry.attributes[r];if(!t(c)||o.componentDatatype.value!==c.componentDatatype.value||o.componentsPerAttribute!==c.componentsPerAttribute||o.normalize!==c.normalize){s=!1;break}u+=c.values.length}s&&(i[r]=new C({componentDatatype:o.componentDatatype,componentsPerAttribute:o.componentsPerAttribute,normalize:o.normalize,values:d.createTypedArray(o.componentDatatype,u)}))}return i}function R(e){if(t(e.indices))return e;for(var r=S.computeNumberOfVertices(e),n=v.createTypedArray(r,r),i=0;r>i;++i)n[i]=i;return e.indices=n,e}function L(e){var r=S.computeNumberOfVertices(e),t=v.createTypedArray(r,3*(r-2));t[0]=1,t[1]=0,t[2]=2;for(var n=3,i=3;r>i;++i)t[n++]=i-1,t[n++]=0,t[n++]=i;return e.indices=t,e.primitiveType=g.TRIANGLES,e}function F(e){var r=S.computeNumberOfVertices(e),t=v.createTypedArray(r,3*(r-2));t[0]=0,t[1]=1,t[2]=2,r>3&&(t[3]=0,t[4]=2,t[5]=3);for(var n=6,i=3;r-1>i;i+=2)t[n++]=i,t[n++]=i-1,t[n++]=i+1,r>i+2&&(t[n++]=i,t[n++]=i+1,t[n++]=i+2);return e.indices=t,e.primitiveType=g.TRIANGLES,e}function P(e){if(t(e.indices))return e;for(var r=S.computeNumberOfVertices(e),n=v.createTypedArray(r,r),i=0;r>i;++i)n[i]=i;return e.indices=n,e}function D(e){var r=S.computeNumberOfVertices(e),t=v.createTypedArray(r,2*(r-1));t[0]=0,t[1]=1;for(var n=2,i=2;r>i;++i)t[n++]=i-1,t[n++]=i;return e.indices=t,e.primitiveType=g.LINES,e}function B(e){var r=S.computeNumberOfVertices(e),t=v.createTypedArray(r,2*r);t[0]=0,t[1]=1;for(var n=2,i=2;r>i;++i)t[n++]=i-1,t[n++]=i;return t[n++]=r-1,t[n]=0,e.indices=t,e.primitiveType=g.LINES,e}function _(e){switch(e.primitiveType){case g.TRIANGLE_FAN:return L(e);case g.TRIANGLE_STRIP:return F(e);case g.TRIANGLES:return R(e);case g.LINE_STRIP:return D(e);case g.LINE_LOOP:return B(e);case g.LINES:return P(e)}return e}function U(e,r){Math.abs(e.y)=0||r.x>=0||t.x>=0)return void 0;var n=e.y<0,i=r.y<0,a=t.y<0;U(e,n),U(r,i),U(t,a);var o=0;o+=n?1:0,o+=i?1:0,o+=a?1:0;var u=cr.indices;1===o?(u[1]=3,u[2]=4,u[5]=6,u[7]=6,u[8]=5,n?(G(e,r,or,sr),G(e,t,ur,lr),u[0]=0,u[3]=1,u[4]=2,u[6]=1):i?(G(r,t,or,sr),G(r,e,ur,lr),u[0]=1,u[3]=2,u[4]=0,u[6]=2):a&&(G(t,e,or,sr),G(t,r,ur,lr),u[0]=2,u[3]=0,u[4]=1,u[6]=0)):2===o&&(u[2]=4,u[4]=4,u[5]=3,u[7]=5,u[8]=6,n?i?a||(G(t,e,or,sr),G(t,r,ur,lr),u[0]=0,u[1]=1,u[3]=0,u[6]=2):(G(r,t,or,sr),G(r,e,ur,lr),u[0]=2,u[1]=0,u[3]=2,u[6]=1):(G(e,r,or,sr),G(e,t,ur,lr),u[0]=1,u[1]=2,u[3]=1,u[6]=0));var s=cr.positions;return s[0]=e,s[1]=r,s[2]=t,cr.length=3,(1===o||2===o)&&(s[3]=or,s[4]=ur,s[5]=sr,s[6]=lr,cr.length=7),cr}function W(r,n,o,u,s,l,c,f){if(t(s)||t(l)||t(c)||t(f)){var m,y,h,p,d,v,g,E,w,S,C,x,A,M,b,O,T,I,N=u.positions,z=N[0],R=N[1],L=N[2];t(s)&&(m=a.fromArray(s,3*r),y=a.fromArray(s,3*n),h=a.fromArray(s,3*o)),t(l)&&(p=a.fromArray(l,3*r),d=a.fromArray(l,3*n),v=a.fromArray(l,3*o)),t(c)&&(g=a.fromArray(c,3*r),E=a.fromArray(c,3*n),w=a.fromArray(c,3*o)),t(f)&&(S=i.fromArray(f,2*r),C=i.fromArray(f,2*n),x=i.fromArray(f,2*o));for(var F=3;FE;E+=3){var w=l[E],C=l[E+1],x=l[E+2],A=a.fromArray(n,3*w),M=a.fromArray(n,3*C),b=a.fromArray(n,3*x),O=q(A,M,b); +if(t(O))if(c[3*w+1]=O.positions[0].y,c[3*C+1]=O.positions[1].y,c[3*x+1]=O.positions[2].y,O.length>3){for(var T=c.length/3,I=0;IN?p.push(l[E+N]):p.push(N-3+T)}for(var z=3;zm;m+=2){var y=i[m],p=i[m+1],d=a.fromArray(n,3*y),g=a.fromArray(n,3*p);if(Math.abs(d.y)c;c+=3)s[l++]=a[c],s[l++]=a[c+1],s[l++]=a[c+2],s[l++]=a[c]+o[c]*i,s[l++]=a[c+1]+o[c+1]*i,s[l++]=a[c+2]+o[c+2]*i;var f,m=e.boundingSphere;return t(m)&&(f=new w(m.center,m.radius+i)),new S({attributes:{position:new C({componentDatatype:d.DOUBLE,componentsPerAttribute:3,values:s})},primitiveType:g.LINES,boundingSphere:f})},H.createAttributeLocations=function(e){var r,n=["position","positionHigh","positionLow","position3DHigh","position3DLow","position2DHigh","position2DLow","pickColor","normal","st","binormal","tangent"],i=e.attributes,a={},o=0,u=n.length;for(r=0;u>r;++r){var s=n[r];t(i[s])&&(a[s]=o++)}for(var l in i)i.hasOwnProperty(l)&&!t(a[l])&&(a[l]=o++);return a},H.reorderForPreVertexCache=function(e){var r=S.computeNumberOfVertices(e),n=e.indices;if(t(n)){for(var i=new Int32Array(r),a=0;r>a;a++)i[a]=-1;for(var o,u=n,s=u.length,l=v.createTypedArray(r,s),c=0,f=0,m=0;s>c;)o=i[u[c]],-1!==o?l[f]=o:(o=u[c],i[o]=m,l[f]=m,++m),++c,++f;e.indices=l;var y=e.attributes;for(var h in y)if(y.hasOwnProperty(h)&&t(y[h])&&t(y[h].values)){for(var p=y[h],g=p.values,E=0,w=p.componentsPerAttribute,C=d.createTypedArray(p.componentDatatype,m*w);r>E;){var x=i[E];if(-1!==x)for(a=0;w>a;a++)C[w*x+a]=g[w*E+a];++E}p.values=C}}return e},H.reorderForPostVertexCache=function(e,r){var n=e.indices;if(e.primitiveType===g.TRIANGLES&&t(n)){for(var i=n.length,a=0,o=0;i>o;o++)n[o]>a&&(a=n[o]);e.indices=E.tipsify({indices:n,maximumIndex:a,cacheSize:r})}return e},H.fitToUnsignedShortIndices=function(e){var r=[],n=S.computeNumberOfVertices(e);if(t(e.indices)&&n>f.SIXTY_FOUR_KILOBYTES){var i,a=[],o=[],u=0,s=O(e.attributes),l=e.indices,c=l.length;e.primitiveType===g.TRIANGLES?i=3:e.primitiveType===g.LINES?i=2:e.primitiveType===g.POINTS&&(i=1);for(var m=0;c>m;m+=i){for(var y=0;i>y;++y){var h=l[m+y],p=a[h];t(p)||(p=u++,a[h]=p,T(s,e.attributes,h)),o.push(p)}u+i>f.SIXTY_FOUR_KILOBYTES&&(r.push(new S({attributes:s,indices:o,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere})),a=[],o=[],u=0,s=O(e.attributes))}0!==o.length&&r.push(new S({attributes:s,indices:o,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere}))}else r.push(e);return r};var k=new a,j=new u;H.projectTo2D=function(e,r,i,o,u){var s=e.attributes[r];u=t(u)?u:new p;for(var l=u.ellipsoid,c=s.values,f=new Float64Array(c.length),m=0,y=0;yc;++c)s.encode(a[c],K),u[c]=K.high,l[c]=K.low;var f=i.componentsPerAttribute;return e.attributes[t]=new C({componentDatatype:d.FLOAT,componentsPerAttribute:f,values:u}),e.attributes[n]=new C({componentDatatype:d.FLOAT,componentsPerAttribute:f,values:l}),delete e.attributes[r],e};var Z=new a,Q=new y,X=new m;H.transformToWorldCoordinates=function(e){var r=e.modelMatrix;if(y.equals(r,y.IDENTITY))return e;var n=e.geometry.attributes;I(r,n.position),I(r,n.prevPosition),I(r,n.nextPosition),(t(n.normal)||t(n.binormal)||t(n.tangent))&&(y.inverse(r,Q),y.transpose(Q,Q),y.getRotation(Q,X),N(X,n.normal),N(X,n.binormal),N(X,n.tangent));var i=e.geometry.boundingSphere;return t(i)&&(e.geometry.boundingSphere=w.transform(i,r,i)),e.modelMatrix=y.clone(y.IDENTITY),e},H.combine=function(e){var r,n,i,o,u=e.length;e[0].modelMatrix;var s,l,c,f=t(e[0].geometry.indices),m=e[0].geometry.primitiveType,y=z(e);for(r in y)if(y.hasOwnProperty(r))for(s=y[r].values,o=0,n=0;u>n;++n)for(l=e[n].geometry.attributes[r].values,c=l.length,i=0;c>i;++i)s[o++]=l[i];var h;if(f){var p=0;for(n=0;u>n;++n)p+=e[n].geometry.indices.length;var d=S.computeNumberOfVertices(new S({attributes:y,primitiveType:g.POINTS})),E=v.createTypedArray(d,p),C=0,x=0;for(n=0;u>n;++n){var A=e[n].geometry.indices,M=A.length;for(o=0;M>o;++o)E[C++]=x+A[o];x+=S.computeNumberOfVertices(e[n].geometry)}h=E}var b,O=new a,T=0;for(n=0;u>n;++n){if(b=e[n].geometry.boundingSphere,!t(b)){O=void 0;break}a.add(b.center,O,O)}if(t(O))for(a.divideByScalar(O,u,O),n=0;u>n;++n){b=e[n].geometry.boundingSphere;var I=a.magnitude(a.subtract(b.center,O))+b.radius;I>T&&(T=I)}return new S({attributes:y,indices:h,primitiveType:m,boundingSphere:t(O)?new w(O,T):void 0})};var J=new a,$=new a,er=new a,rr=new a;H.computeNormal=function(e){for(var r=e.indices,t=e.attributes,n=t.position.values,i=t.position.values.length/3,o=r.length,u=new Array(i),s=new Array(o/3),l=new Array(o),c=0;i>c;c++)u[c]={indexOffset:0,count:0,currentCount:0};var f=0;for(c=0;o>c;c+=3){var m=r[c],y=r[c+1],h=r[c+2],p=3*m,v=3*y,g=3*h;$.x=n[p],$.y=n[p+1],$.z=n[p+2],er.x=n[v],er.y=n[v+1],er.z=n[v+2],rr.x=n[g],rr.y=n[g+1],rr.z=n[g+2],u[m].count++,u[y].count++,u[h].count++,a.subtract(er,$,er),a.subtract(rr,$,rr),s[f]=a.cross(er,rr),f++}var E=0;for(c=0;i>c;c++)u[c].indexOffset+=E,E+=u[c].count;f=0;var w;for(c=0;o>c;c+=3){w=u[r[c]];var S=w.indexOffset+w.currentCount;l[S]=f,w.currentCount++,w=u[r[c+1]],S=w.indexOffset+w.currentCount,l[S]=f,w.currentCount++,w=u[r[c+2]],S=w.indexOffset+w.currentCount,l[S]=f,w.currentCount++,f++}var x=new Float32Array(3*i);for(c=0;i>c;c++){var A=3*c;if(w=u[c],w.count>0){for(a.clone(a.ZERO,J),f=0;fl;l+=3){var y=r[l],h=r[l+1],p=r[l+2];c=3*y,f=3*h,m=3*p;var v=2*y,g=2*h,E=2*p,w=t[c],S=t[c+1],x=t[c+2],A=i[v],M=i[v+1],b=i[g+1]-M,O=i[E+1]-M,T=1/((i[g]-A)*O-(i[E]-A)*b),I=(O*(t[f]-w)-b*(t[m]-w))*T,N=(O*(t[f+1]-S)-b*(t[m+1]-S))*T,z=(O*(t[f+2]-x)-b*(t[m+2]-x))*T;s[c]+=I,s[c+1]+=N,s[c+2]+=z,s[f]+=I,s[f+1]+=N,s[f+2]+=z,s[m]+=I,s[m+1]+=N,s[m+2]+=z}var R=new Float32Array(3*o),L=new Float32Array(3*o);for(l=0;o>l;l++){c=3*l,f=c+1,m=c+2;var F=a.fromArray(n,c,tr),P=a.fromArray(s,c,ir),D=a.dot(F,P);a.multiplyByScalar(F,D,nr),a.normalize(a.subtract(P,nr,P),P),L[c]=P.x,L[f]=P.y,L[m]=P.z,a.normalize(a.cross(F,P,P),P),R[c]=P.x,R[f]=P.y,R[m]=P.z}return e.attributes.tangent=new C({componentDatatype:d.FLOAT,componentsPerAttribute:3,values:L}),e.attributes.binormal=new C({componentDatatype:d.FLOAT,componentsPerAttribute:3,values:R}),e};var ar=new a,or=new a,ur=new a,sr=new a,lr=new a,cr={positions:new Array(7),indices:new Array(9)};return H.wrapLongitude=function(e){var r=e.boundingSphere;if(t(r)){var n=r.center.x-r.radius;if(n>0||w.intersect(r,o.UNIT_Y)!==l.INTERSECTING)return e}return _(e),e.primitiveType===g.TRIANGLES?Y(e):e.primitiveType===g.LINES&&V(e),e},H}),define("Scene/PrimitivePipeline",["../Core/defined","../Core/defaultValue","../Core/Color","../Core/ComponentDatatype","../Core/DeveloperError","../Core/FeatureDetection","../Core/Geometry","../Core/GeometryAttribute","../Core/GeometryPipeline","../Core/Matrix4"],function(e,r,t,n,i,a,o,u,s,l){"use strict";function c(e,r,t){var n,i=!t,a=e.length;if(!i&&a>1){var o=e[0].modelMatrix;for(n=1;a>n;++n)if(!l.equals(o,e[n].modelMatrix)){i=!0;break}}if(i)for(n=0;a>n;++n)s.transformToWorldCoordinates(e[n]);else l.clone(e[0].modelMatrix,r)}function f(e,r){for(var i=e.length,a=0;i>a;++a){var o=e[a],s=o.geometry,l=s.attributes,c=l.position,f=4*(c.values.length/c.componentsPerAttribute);l.pickColor=new u({componentDatatype:n.UNSIGNED_BYTE,componentsPerAttribute:4,normalize:!0,values:new Uint8Array(f)});for(var m=r[a],y=t.floatToByte(m.red),h=t.floatToByte(m.green),p=t.floatToByte(m.blue),d=t.floatToByte(m.alpha),v=l.pickColor.values,g=0;f>g;g+=4)v[g]=y,v[g+1]=h,v[g+2]=p,v[g+3]=d}}function m(r){var t,n=r.length,i=[],a=r[0].attributes;for(t in a)if(a.hasOwnProperty(t)){for(var o=a[t],u=!0,s=1;n>s;++s){var l=r[s].attributes[t];if(!e(l)||o.componentDatatype.value!==l.componentDatatype.value||o.componentsPerAttribute!==l.componentsPerAttribute||o.normalize!==l.normalize){u=!1;break}}u&&i.push(t)}return i}function y(e,r){for(var t=e.length,i=0;t>i;++i)for(var a=e[i],s=a.attributes,l=a.geometry,c=o.computeNumberOfVertices(l),f=r.length,m=0;f>m;++m){for(var y=r[m],h=s[y],p=h.componentDatatype,d=h.value,v=d.length,g=n.createTypedArray(p,c*v),E=0;c>E;++E)g.set(d,E*v);l.attributes[y]=new u({componentDatatype:p,componentsPerAttribute:v,normalize:h.normalize,values:g})}}function h(e){var r,t=e.instances,i=e.pickIds,a=e.projection,o=e.elementIndexUintSupported,u=e.allow3DOnly,l=e.allowPicking,h=e.vertexCacheOptimize,p=e.modelMatrix,d=t.length;if(t[0].geometry.primitiveType,c(t,p,u),!u)for(r=0;d>r;++r)s.wrapLongitude(t[r].geometry);l&&f(t,i);var v=m(t);if(y(t,v),h)for(r=0;d>r;++r)s.reorderForPostVertexCache(t[r].geometry),s.reorderForPreVertexCache(t[r].geometry);var g,E=s.combine(t),w=E.attributes;if(u)for(g in w)w.hasOwnProperty(g)&&w[g].componentDatatype.value===n.DOUBLE.value&&s.encodeAttribute(E,g,g+"3DHigh",g+"3DLow");else for(g in w)if(w.hasOwnProperty(g)&&w[g].componentDatatype.value===n.DOUBLE.value){var S=g+"3D",C=g+"2D";s.projectTo2D(E,g,S,C,a),s.encodeAttribute(E,S,S+"High",S+"Low"),s.encodeAttribute(E,C,C+"High",C+"Low")}return o?[E]:s.fitToUnsignedShortIndices(E)}function p(e,r,t){for(var i=[],a=e.attributes,o=t.length,u=0;o>u;++u){var s=t[u],l=a[s],c=l.componentDatatype;c.value===n.DOUBLE.value&&(c=n.FLOAT);var f=n.createTypedArray(c,l.values);i.push({index:r[s],componentDatatype:c,componentsPerAttribute:l.componentsPerAttribute,normalize:l.normalize,values:f}),delete a[s]}return i}function d(t,n,i){for(var a=[],u=m(t),s=t.length,l={},c={},f=0;s>f;++f)for(var y=t[f],h=o.computeNumberOfVertices(y.geometry),p=u.length,d=0;p>d;++d)for(var v=u[d],g=i[v],E=h;E>0;){for(var w,S=r(c[v],0),C=n[S],x=C.length,A=0;x>A&&(w=C[A],w.index!==g);++A);e(a[f])||(a[f]={}),e(a[f][v])||(a[f][v]={dirty:!1,value:y.attributes[v].value,indices:[]});var M,b=w.values.length/w.componentsPerAttribute,O=r(l[v],0);b>O+E?(M=E,a[f][v].indices.push({attribute:w,offset:O,count:M}),l[v]=O+E):(M=b-O,a[f][v].indices.push({attribute:w,offset:O,count:M}),l[v]=0,c[v]=S+1),E-=M}return a}function v(r){return e(r.constructor.name)?{type:r.constructor.name,buffer:r.buffer}:r}function g(r){return e(r.type)?new w[r.type](r.buffer):r}if(!a.supportsTypedArrays())return{};var E={};E.combineGeometry=function(e){for(var r={instances:e.instances,pickIds:e.pickIds,ellipsoid:e.ellipsoid,projection:e.projection,elementIndexUintSupported:e.elementIndexUintSupported,allow3DOnly:e.allow3DOnly,allowPicking:e.allowPicking,vertexCacheOptimize:e.vertexCacheOptimize,modelMatrix:l.clone(e.modelMatrix)},t=h(r),n=s.createAttributeLocations(t[0]),i=r.instances,a=m(i),o=[],u=t.length,c=0;u>c;++c){var f=t[c];o.push(p(f,n,a))}var y=d(i,o,n);return{geometries:t,modelMatrix:r.modelMatrix,attributeLocations:n,vaAttributes:o,vaAttributeLocations:y}};var w={Int8Array:Int8Array,Uint8Array:Uint8Array,Int16Array:Int16Array,Uint16Array:Uint16Array,Int32Array:Int32Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array};return E.transferGeometry=function(r,t){var n,i=r.attributes;for(var o in i)i.hasOwnProperty(o)&&e(i[o])&&e(i[o].values)&&(n=i[o].values,a.supportsTransferringArrayBuffers()&&t.indexOf(i[o].values.buffer)<0&&t.push(n.buffer),e(n.type)||(i[o].values=v(n)));e(r.indices)&&(n=r.indices,a.supportsTransferringArrayBuffers()&&t.push(n.buffer),e(n.type)||(r.indices=v(r.indices)))},E.transferGeometries=function(e,r){for(var t=e.length,n=0;t>n;++n)E.transferGeometry(e[n],r)},E.transferPerInstanceAttributes=function(e,r){for(var t=e.length,n=0;t>n;++n)for(var i=e[n],o=i.length,u=0;o>u;++u){var s=i[u].values;a.supportsTransferringArrayBuffers()&&r.push(s.buffer),i[u].values=v(s)}},E.transferInstances=function(e,r){for(var t=e.length,n=0;t>n;++n){var i=e[n];E.transferGeometry(i.geometry,r)}},E.receiveGeometry=function(r){var t=r.attributes;for(var n in t)t.hasOwnProperty(n)&&e(t[n])&&e(t[n].values)&&(t[n].values=g(t[n].values));e(r.indices)&&(r.indices=g(r.indices))},E.receiveGeometries=function(e){for(var r=e.length,t=0;r>t;++t)E.receiveGeometry(e[t])},E.receivePerInstanceAttributes=function(e){for(var r=e.length,t=0;r>t;++t)for(var n=e[t],i=n.length,a=0;i>a;++a)n[a].values=g(n[a].values)},E.receiveInstances=function(e){for(var r=e.length,t=0;r>t;++t){var n=e[t];E.receiveGeometry(n.geometry)}},E}),define("Workers/createTaskProcessorWorker",["../Core/defaultValue","../Core/defined"],function(e,r){"use strict";var t=function(t){var n,i=[],a={id:void 0,result:void 0,error:void 0};return function(o){var u=o.data;i.length=0,a.id=u.id,a.error=void 0,a.result=void 0;try{a.result=t(u.parameters,i)}catch(s){a.error=s}r(n)||(n=e(self.webkitPostMessage,self.postMessage));try{n(a,i)}catch(s){a.result=void 0,a.error="postMessage failed with error: "+s+"\n with responseMessage: "+JSON.stringify(a),n(a)}}};return t}),define("Workers/createCircleOutlineGeometry",["../Core/Cartesian3","../Core/CircleOutlineGeometry","../Core/Ellipsoid","../Scene/PrimitivePipeline","./createTaskProcessorWorker"],function(e,r,t,n,i){"use strict";function a(i,a){var o=i.geometry;o._ellipseGeometry._center=e.clone(o._ellipseGeometry._center),o._ellipseGeometry._ellipsoid=t.clone(o._ellipseGeometry._ellipsoid);var u=r.createGeometry(o);return n.transferGeometry(u,a),{geometry:u,index:i.index}}return i(a)})}(); \ No newline at end of file diff --git a/Cesium/Workers/createCorridorGeometry.js b/Cesium/Workers/createCorridorGeometry.js new file mode 100644 index 0000000..3141062 --- /dev/null +++ b/Cesium/Workers/createCorridorGeometry.js @@ -0,0 +1,231 @@ +/** + * Cesium - https://github.com/AnalyticalGraphicsInc/cesium + * + * Copyright 2011-2014 Cesium Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Columbus View (Pat. Pend.) + * + * Portions licensed separately. + * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details. + */ +/** +@license +mersenne-twister.js - https://gist.github.com/banksean/300494 + + Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura, + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. The names of its contributors may not be used to endorse or promote + products derived from this software without specific prior written + permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/** + * @fileOverview + * @license + * + * Grauw URI utilities + * + * See: http://hg.grauw.nl/grauw-lib/file/tip/src/uri.js + * + * @author Laurens Holst (http://www.grauw.nl/) + * + * Copyright 2012 Laurens Holst + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +/** +@license +sprintf.js from the php.js project - https://github.com/kvz/phpjs +Directly from https://github.com/kvz/phpjs/blob/master/functions/strings/sprintf.js + +php.js is copyright 2012 Kevin van Zonneveld. + +Portions copyright Brett Zamir (http://brett-zamir.me), Kevin van Zonneveld +(http://kevin.vanzonneveld.net), Onno Marsman, Theriault, Michael White +(http://getsprink.com), Waldo Malqui Silva, Paulo Freitas, Jack, Jonas +Raoni Soares Silva (http://www.jsfromhell.com), Philip Peterson, Legaev +Andrey, Ates Goral (http://magnetiq.com), Alex, Ratheous, Martijn Wieringa, +Rafa? Kukawski (http://blog.kukawski.pl), lmeyrick +(https://sourceforge.net/projects/bcmath-js/), Nate, Philippe Baumann, +Enrique Gonzalez, Webtoolkit.info (http://www.webtoolkit.info/), Carlos R. +L. Rodrigues (http://www.jsfromhell.com), Ash Searle +(http://hexmen.com/blog/), Jani Hartikainen, travc, Ole Vrijenhoek, +Erkekjetter, Michael Grier, Rafa? Kukawski (http://kukawski.pl), Johnny +Mast (http://www.phpvrouwen.nl), T.Wild, d3x, +http://stackoverflow.com/questions/57803/how-to-convert-decimal-to-hex-in-javascript, +Rafa? Kukawski (http://blog.kukawski.pl/), stag019, pilus, WebDevHobo +(http://webdevhobo.blogspot.com/), marrtins, GeekFG +(http://geekfg.blogspot.com), Andrea Giammarchi +(http://webreflection.blogspot.com), Arpad Ray (mailto:arpad@php.net), +gorthaur, Paul Smith, Tim de Koning (http://www.kingsquare.nl), Joris, Oleg +Eremeev, Steve Hilder, majak, gettimeofday, KELAN, Josh Fraser +(http://onlineaspect.com/2007/06/08/auto-detect-a-time-zone-with-javascript/), +Marc Palau, Martin +(http://www.erlenwiese.de/), Breaking Par Consulting Inc +(http://www.breakingpar.com/bkp/home.nsf/0/87256B280015193F87256CFB006C45F7), +Chris, Mirek Slugen, saulius, Alfonso Jimenez +(http://www.alfonsojimenez.com), Diplom@t (http://difane.com/), felix, +Mailfaker (http://www.weedem.fr/), Tyler Akins (http://rumkin.com), Caio +Ariede (http://caioariede.com), Robin, Kankrelune +(http://www.webfaktory.info/), Karol Kowalski, Imgen Tata +(http://www.myipdf.com/), mdsjack (http://www.mdsjack.bo.it), Dreamer, +Felix Geisendoerfer (http://www.debuggable.com/felix), Lars Fischer, AJ, +David, Aman Gupta, Michael White, Public Domain +(http://www.json.org/json2.js), Steven Levithan +(http://blog.stevenlevithan.com), Sakimori, Pellentesque Malesuada, +Thunder.m, Dj (http://phpjs.org/functions/htmlentities:425#comment_134018), +Steve Clay, David James, Francois, class_exists, nobbler, T. Wild, Itsacon +(http://www.itsacon.net/), date, Ole Vrijenhoek (http://www.nervous.nl/), +Fox, Raphael (Ao RUDLER), Marco, noname, Mateusz "loonquawl" Zalega, Frank +Forte, Arno, ger, mktime, john (http://www.jd-tech.net), Nick Kolosov +(http://sammy.ru), marc andreu, Scott Cariss, Douglas Crockford +(http://javascript.crockford.com), madipta, Slawomir Kaniecki, +ReverseSyntax, Nathan, Alex Wilson, kenneth, Bayron Guevara, Adam Wallner +(http://web2.bitbaro.hu/), paulo kuong, jmweb, Lincoln Ramsay, djmix, +Pyerre, Jon Hohle, Thiago Mata (http://thiagomata.blog.com), lmeyrick +(https://sourceforge.net/projects/bcmath-js/this.), Linuxworld, duncan, +Gilbert, Sanjoy Roy, Shingo, sankai, Oskar Larsson H?gfeldt +(http://oskar-lh.name/), Denny Wardhana, 0m3r, Everlasto, Subhasis Deb, +josh, jd, Pier Paolo Ramon (http://www.mastersoup.com/), P, merabi, Soren +Hansen, Eugene Bulkin (http://doubleaw.com/), Der Simon +(http://innerdom.sourceforge.net/), echo is bad, Ozh, XoraX +(http://www.xorax.info), EdorFaus, JB, J A R, Marc Jansen, Francesco, LH, +Stoyan Kyosev (http://www.svest.org/), nord_ua, omid +(http://phpjs.org/functions/380:380#comment_137122), Brad Touesnard, MeEtc +(http://yass.meetcweb.com), Peter-Paul Koch +(http://www.quirksmode.org/js/beat.html), Olivier Louvignes +(http://mg-crea.com/), T0bsn, Tim Wiel, Bryan Elliott, Jalal Berrami, +Martin, JT, David Randall, Thomas Beaucourt (http://www.webapp.fr), taith, +vlado houba, Pierre-Luc Paour, Kristof Coomans (SCK-CEN Belgian Nucleair +Research Centre), Martin Pool, Kirk Strobeck, Rick Waldron, Brant Messenger +(http://www.brantmessenger.com/), Devan Penner-Woelk, Saulo Vallory, Wagner +B. Soares, Artur Tchernychev, Valentina De Rosa, Jason Wong +(http://carrot.org/), Christoph, Daniel Esteban, strftime, Mick@el, rezna, +Simon Willison (http://simonwillison.net), Anton Ongson, Gabriel Paderni, +Marco van Oort, penutbutterjelly, Philipp Lenssen, Bjorn Roesbeke +(http://www.bjornroesbeke.be/), Bug?, Eric Nagel, Tomasz Wesolowski, +Evertjan Garretsen, Bobby Drake, Blues (http://tech.bluesmoon.info/), Luke +Godfrey, Pul, uestla, Alan C, Ulrich, Rafal Kukawski, Yves Sucaet, +sowberry, Norman "zEh" Fuchs, hitwork, Zahlii, johnrembo, Nick Callen, +Steven Levithan (stevenlevithan.com), ejsanders, Scott Baker, Brian Tafoya +(http://www.premasolutions.com/), Philippe Jausions +(http://pear.php.net/user/jausions), Aidan Lister +(http://aidanlister.com/), Rob, e-mike, HKM, ChaosNo1, metjay, strcasecmp, +strcmp, Taras Bogach, jpfle, Alexander Ermolaev +(http://snippets.dzone.com/user/AlexanderErmolaev), DxGx, kilops, Orlando, +dptr1988, Le Torbi, James (http://www.james-bell.co.uk/), Pedro Tainha +(http://www.pedrotainha.com), James, Arnout Kazemier +(http://www.3rd-Eden.com), Chris McMacken, gabriel paderni, Yannoo, +FGFEmperor, baris ozdil, Tod Gentille, Greg Frazier, jakes, 3D-GRAF, Allan +Jensen (http://www.winternet.no), Howard Yeend, Benjamin Lupton, davook, +daniel airton wermann (http://wermann.com.br), Atli T¨®r, Maximusya, Ryan +W Tenney (http://ryan.10e.us), Alexander M Beedie, fearphage +(http://http/my.opera.com/fearphage/), Nathan Sepulveda, Victor, Matteo, +Billy, stensi, Cord, Manish, T.J. Leahy, Riddler +(http://www.frontierwebdev.com/), Rafa? Kukawski, FremyCompany, Matt +Bradley, Tim de Koning, Luis Salazar (http://www.freaky-media.com/), Diogo +Resende, Rival, Andrej Pavlovic, Garagoth, Le Torbi +(http://www.letorbi.de/), Dino, Josep Sanz (http://www.ws3.es/), rem, +Russell Walker (http://www.nbill.co.uk/), Jamie Beck +(http://www.terabit.ca/), setcookie, Michael, YUI Library: +http://developer.yahoo.com/yui/docs/YAHOO.util.DateLocale.html, Blues at +http://hacks.bluesmoon.info/strftime/strftime.js, Ben +(http://benblume.co.uk/), DtTvB +(http://dt.in.th/2008-09-16.string-length-in-bytes.html), Andreas, William, +meo, incidence, Cagri Ekin, Amirouche, Amir Habibi +(http://www.residence-mixte.com/), Luke Smith (http://lucassmith.name), +Kheang Hok Chin (http://www.distantia.ca/), Jay Klehr, Lorenzo Pisani, +Tony, Yen-Wei Liu, Greenseed, mk.keck, Leslie Hoare, dude, booeyOH, Ben +Bryan + +Licensed under the MIT (MIT-LICENSE.txt) license. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL KEVIN VAN ZONNEVELD BE LIABLE FOR ANY CLAIM, DAMAGES +OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. +*/ + +/** + @license + when.js - https://github.com/cujojs/when + + MIT License (c) copyright B Cavalier & J Hann + + * A lightweight CommonJS Promises/A and when() implementation + * when is part of the cujo.js family of libraries (http://cujojs.com/) + * + * Licensed under the MIT License at: + * http://www.opensource.org/licenses/mit-license.php + * + * @version 1.7.1 + */ + +!function(){define("Core/defined",[],function(){"use strict";var e=function(e){return void 0!==e};return e}),define("Core/freezeObject",["./defined"],function(e){"use strict";var t=Object.freeze;return e(t)||(t=function(e){return e}),t}),define("Core/defaultValue",["./freezeObject"],function(e){"use strict";var t=function(e,t){return void 0!==e?e:t};return t.EMPTY_OBJECT=e({}),t}),define("Core/DeveloperError",["./defined"],function(e){"use strict";var t=function(e){this.name="DeveloperError",this.message=e;var t;try{throw new Error}catch(r){t=r.stack}this.stack=t};return t.prototype.toString=function(){var t=this.name+": "+this.message;return e(this.stack)&&(t+="\n"+this.stack.toString()),t},t.throwInstantiationError=function(){throw new t("This function defines an interface and should not be called directly.")},t}),define("Core/Cartesian3",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,t,r,n){"use strict";var a=function(t,r,n){this.x=e(t,0),this.y=e(r,0),this.z=e(n,0)};a.fromSpherical=function(r,n){t(n)||(n=new a);var i=r.clock,o=r.cone,s=e(r.magnitude,1),u=s*Math.sin(o);return n.x=u*Math.cos(i),n.y=u*Math.sin(i),n.z=s*Math.cos(o),n},a.fromElements=function(e,r,n,i){return t(i)?(i.x=e,i.y=r,i.z=n,i):new a(e,r,n)},a.clone=function(e,r){return t(e)?t(r)?(r.x=e.x,r.y=e.y,r.z=e.z,r):new a(e.x,e.y,e.z):void 0},a.fromCartesian4=a.clone,a.packedLength=3,a.pack=function(t,r,n){n=e(n,0),r[n++]=t.x,r[n++]=t.y,r[n]=t.z},a.unpack=function(r,n,i){return n=e(n,0),t(i)||(i=new a),i.x=r[n++],i.y=r[n++],i.z=r[n],i},a.fromArray=a.unpack,a.getMaximumComponent=function(e){return Math.max(e.x,e.y,e.z)},a.getMinimumComponent=function(e){return Math.min(e.x,e.y,e.z)},a.getMinimumByComponent=function(e,r,n){return t(n)||(n=new a),n.x=Math.min(e.x,r.x),n.y=Math.min(e.y,r.y),n.z=Math.min(e.z,r.z),n},a.getMaximumByComponent=function(e,r,n){return t(n)||(n=new a),n.x=Math.max(e.x,r.x),n.y=Math.max(e.y,r.y),n.z=Math.max(e.z,r.z),n},a.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z},a.magnitude=function(e){return Math.sqrt(a.magnitudeSquared(e))};var i=new a;a.distance=function(e,t){return a.subtract(e,t,i),a.magnitude(i)},a.normalize=function(e,r){var n=a.magnitude(e);return t(r)?(r.x=e.x/n,r.y=e.y/n,r.z=e.z/n,r):new a(e.x/n,e.y/n,e.z/n)},a.dot=function(e,t){return e.x*t.x+e.y*t.y+e.z*t.z},a.multiplyComponents=function(e,r,n){return t(n)?(n.x=e.x*r.x,n.y=e.y*r.y,n.z=e.z*r.z,n):new a(e.x*r.x,e.y*r.y,e.z*r.z)},a.add=function(e,r,n){return t(n)?(n.x=e.x+r.x,n.y=e.y+r.y,n.z=e.z+r.z,n):new a(e.x+r.x,e.y+r.y,e.z+r.z)},a.subtract=function(e,r,n){return t(n)?(n.x=e.x-r.x,n.y=e.y-r.y,n.z=e.z-r.z,n):new a(e.x-r.x,e.y-r.y,e.z-r.z)},a.multiplyByScalar=function(e,r,n){return t(n)?(n.x=e.x*r,n.y=e.y*r,n.z=e.z*r,n):new a(e.x*r,e.y*r,e.z*r)},a.divideByScalar=function(e,r,n){return t(n)?(n.x=e.x/r,n.y=e.y/r,n.z=e.z/r,n):new a(e.x/r,e.y/r,e.z/r)},a.negate=function(e,r){return t(r)?(r.x=-e.x,r.y=-e.y,r.z=-e.z,r):new a(-e.x,-e.y,-e.z)},a.abs=function(e,r){return t(r)?(r.x=Math.abs(e.x),r.y=Math.abs(e.y),r.z=Math.abs(e.z),r):new a(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z))};var o=new a;a.lerp=function(e,t,r,n){return a.multiplyByScalar(t,r,o),n=a.multiplyByScalar(e,1-r,n),a.add(o,n,n)};var s=new a,u=new a;a.angleBetween=function(e,t){a.normalize(e,s),a.normalize(t,u);var r=a.dot(s,u),n=a.magnitude(a.cross(s,u,s));return Math.atan2(n,r)};var l=new a;return a.mostOrthogonalAxis=function(e,t){var r=a.normalize(e,l);return a.abs(r,r),t=r.x<=r.y?r.x<=r.z?a.clone(a.UNIT_X,t):a.clone(a.UNIT_Z,t):r.y<=r.z?a.clone(a.UNIT_Y,t):a.clone(a.UNIT_Z,t)},a.equals=function(e,r){return e===r||t(e)&&t(r)&&e.x===r.x&&e.y===r.y&&e.z===r.z},a.equalsEpsilon=function(e,r,n){return e===r||t(e)&&t(r)&&Math.abs(e.x-r.x)<=n&&Math.abs(e.y-r.y)<=n&&Math.abs(e.z-r.z)<=n},a.cross=function(e,r,n){var i=e.x,o=e.y,s=e.z,u=r.x,l=r.y,c=r.z,f=o*c-s*l,d=s*u-i*c,h=i*l-o*u;return t(n)?(n.x=f,n.y=d,n.z=h,n):new a(f,d,h)},a.ZERO=n(new a(0,0,0)),a.UNIT_X=n(new a(1,0,0)),a.UNIT_Y=n(new a(0,1,0)),a.UNIT_Z=n(new a(0,0,1)),a.prototype.clone=function(e){return a.clone(this,e)},a.prototype.equals=function(e){return a.equals(this,e)},a.prototype.equalsEpsilon=function(e,t){return a.equalsEpsilon(this,e,t)},a.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+")"},a}),define("Core/Enumeration",["./defined"],function(e){"use strict";var t=function(t,r,n){if(this.value=t,this.name=r,e(n))for(var a in n)n.hasOwnProperty(a)&&(this[a]=n[a])};return t.prototype.valueOf=function(){return this.value},t.prototype.toString=function(){return this.name},t}),define("Core/CornerType",["../Core/Enumeration"],function(e){"use strict";var t={ROUNDED:new e(0,"ROUNDED"),MITERED:new e(1,"MITERED"),BEVELED:new e(2,"BEVELED")};return t}),define("ThirdParty/mersenne-twister",[],function(){var e=function(e){void 0==e&&(e=(new Date).getTime()),this.N=624,this.M=397,this.MATRIX_A=2567483615,this.UPPER_MASK=2147483648,this.LOWER_MASK=2147483647,this.mt=new Array(this.N),this.mti=this.N+1,this.init_genrand(e)};return e.prototype.init_genrand=function(e){for(this.mt[0]=e>>>0,this.mti=1;this.mti>>30;this.mt[this.mti]=(1812433253*((4294901760&e)>>>16)<<16)+1812433253*(65535&e)+this.mti,this.mt[this.mti]>>>=0}},e.prototype.genrand_int32=function(){var e,t=new Array(0,this.MATRIX_A);if(this.mti>=this.N){var r;for(this.mti==this.N+1&&this.init_genrand(5489),r=0;r>>1^t[1&e];for(;r>>1^t[1&e];e=this.mt[this.N-1]&this.UPPER_MASK|this.mt[0]&this.LOWER_MASK,this.mt[this.N-1]=this.mt[this.M-1]^e>>>1^t[1&e],this.mti=0}return e=this.mt[this.mti++],e^=e>>>11,e^=2636928640&e<<7,e^=4022730752&e<<15,e^=e>>>18,e>>>0},e.prototype.random=function(){return this.genrand_int32()*(1/4294967296)},e}),define("Core/Math",["./defaultValue","./defined","./DeveloperError","../ThirdParty/mersenne-twister"],function(e,t,r,n){"use strict";var a={};a.EPSILON1=.1,a.EPSILON2=.01,a.EPSILON3=.001,a.EPSILON4=1e-4,a.EPSILON5=1e-5,a.EPSILON6=1e-6,a.EPSILON7=1e-7,a.EPSILON8=1e-8,a.EPSILON9=1e-9,a.EPSILON10=1e-10,a.EPSILON11=1e-11,a.EPSILON12=1e-12,a.EPSILON13=1e-13,a.EPSILON14=1e-14,a.EPSILON15=1e-15,a.EPSILON16=1e-16,a.EPSILON17=1e-17,a.EPSILON18=1e-18,a.EPSILON19=1e-19,a.EPSILON20=1e-20,a.GRAVITATIONALPARAMETER=3986004418e5,a.SOLAR_RADIUS=6955e5,a.LUNAR_RADIUS=1737400,a.SIXTY_FOUR_KILOBYTES=65536,a.sign=function(e){return e>0?1:0>e?-1:0},a.sinh=function(e){var t=Math.pow(Math.E,e),r=Math.pow(Math.E,-1*e);return.5*(t-r)},a.cosh=function(e){var t=Math.pow(Math.E,e),r=Math.pow(Math.E,-1*e);return.5*(t+r)},a.lerp=function(e,t,r){return(1-r)*e+r*t},a.PI=Math.PI,a.ONE_OVER_PI=1/Math.PI,a.PI_OVER_TWO=.5*Math.PI,a.PI_OVER_THREE=Math.PI/3,a.PI_OVER_FOUR=Math.PI/4,a.PI_OVER_SIX=Math.PI/6,a.THREE_PI_OVER_TWO=.5*3*Math.PI,a.TWO_PI=2*Math.PI,a.ONE_OVER_TWO_PI=1/(2*Math.PI),a.RADIANS_PER_DEGREE=Math.PI/180,a.DEGREES_PER_RADIAN=180/Math.PI,a.RADIANS_PER_ARCSECOND=a.RADIANS_PER_DEGREE/3600,a.toRadians=function(e){return e*a.RADIANS_PER_DEGREE},a.toDegrees=function(e){return e*a.DEGREES_PER_RADIAN},a.convertLongitudeRange=function(e){var t=a.TWO_PI,r=e-Math.floor(e/t)*t;return r<-Math.PI?r+t:r>=Math.PI?r-t:r},a.negativePiToPi=function(e){for(var t=a.EPSILON10,r=a.PI,n=a.TWO_PI;-(r+t)>e;)e+=n;if(-r>e)return-r;for(;e>r+t;)e-=n;return e>r?r:e},a.zeroToTwoPi=function(e){var t=e%a.TWO_PI;return 0>t?(t+a.TWO_PI)%a.TWO_PI:t},a.equalsEpsilon=function(t,r,n){return n=e(n,0),Math.abs(t-r)<=n};var i=[1];a.factorial=function(e){var t=i.length;if(e>=t)for(var r=i[t-1],n=t;e>=n;n++)i.push(r*n);return i[e]},a.incrementWrap=function(t,r,n){return n=e(n,0),++t,t>r&&(t=n),t},a.isPowerOfTwo=function(e){return 0!==e&&0===(e&e-1)},a.nextPowerOfTwo=function(e){return--e,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,++e,e},a.clamp=function(e,t,r){return t>e?t:e>r?r:e};var o=new n;return a.setRandomNumberSeed=function(e){o=new n(e)},a.nextRandomNumber=function(){return o.random()},a}),define("Core/Cartographic",["./defaultValue","./defined","./DeveloperError","./freezeObject","./Math"],function(e,t,r,n,a){"use strict";var i=function(t,r,n){this.longitude=e(t,0),this.latitude=e(r,0),this.height=e(n,0)};return i.fromDegrees=function(r,n,o,s){return r=a.toRadians(e(r,0)),n=a.toRadians(e(n,0)),o=e(o,0),t(s)?(s.longitude=r,s.latitude=n,s.height=o,s):new i(r,n,o)},i.clone=function(e,r){return t(e)?t(r)?(r.longitude=e.longitude,r.latitude=e.latitude,r.height=e.height,r):new i(e.longitude,e.latitude,e.height):void 0},i.equals=function(e,r){return e===r||t(e)&&t(r)&&e.longitude===r.longitude&&e.latitude===r.latitude&&e.height===r.height},i.equalsEpsilon=function(e,r,n){return e===r||t(e)&&t(r)&&Math.abs(e.longitude-r.longitude)<=n&&Math.abs(e.latitude-r.latitude)<=n&&Math.abs(e.height-r.height)<=n},i.toString=function(e){return"("+e.longitude+", "+e.latitude+", "+e.height+")"},i.ZERO=n(new i(0,0,0)),i.prototype.clone=function(e){return i.clone(this,e)},i.prototype.equals=function(e){return i.equals(this,e)},i.prototype.equalsEpsilon=function(e,t){return i.equalsEpsilon(this,e,t)},i.prototype.toString=function(){return i.toString(this)},i}),define("Core/defineProperties",["./defined"],function(e){"use strict";var t=function(){try{return"x"in Object.defineProperty({},"x",{})}catch(e){return!1}}(),r=Object.defineProperties;return t&&e(r)||(r=function(e){return e}),r}),define("Core/Ellipsoid",["./freezeObject","./defaultValue","./defined","./defineProperties","./DeveloperError","./Math","./Cartesian3","./Cartographic"],function(e,t,r,n,a,i,o,s){"use strict";var u=function(e,r,n){e=t(e,0),r=t(r,0),n=t(n,0),this._radii=new o(e,r,n),this._radiiSquared=new o(e*e,r*r,n*n),this._radiiToTheFourth=new o(e*e*e*e,r*r*r*r,n*n*n*n),this._oneOverRadii=new o(0===e?0:1/e,0===r?0:1/r,0===n?0:1/n),this._oneOverRadiiSquared=new o(0===e?0:1/(e*e),0===r?0:1/(r*r),0===n?0:1/(n*n)),this._minimumRadius=Math.min(e,r,n),this._maximumRadius=Math.max(e,r,n),this._centerToleranceSquared=i.EPSILON1};n(u.prototype,{radii:{get:function(){return this._radii}},radiiSquared:{get:function(){return this._radiiSquared}},radiiToTheFourth:{get:function(){return this._radiiToTheFourth}},oneOverRadii:{get:function(){return this._oneOverRadii}},oneOverRadiiSquared:{get:function(){return this._oneOverRadiiSquared}},minimumRadius:{get:function(){return this._minimumRadius}},maximumRadius:{get:function(){return this._maximumRadius}}}),u.clone=function(e,t){if(!r(e))return void 0;var n=e._radii;return r(t)?(o.clone(n,t._radii),o.clone(e._radiiSquared,t._radiiSquared),o.clone(e._radiiToTheFourth,t._radiiToTheFourth),o.clone(e._oneOverRadii,t._oneOverRadii),o.clone(e._oneOverRadiiSquared,t._oneOverRadiiSquared),t._minimumRadius=e._minimumRadius,t._maximumRadius=e._maximumRadius,t._centerToleranceSquared=e._centerToleranceSquared,t):new u(n.x,n.y,n.z)},u.fromCartesian3=function(e){return r(e)?new u(e.x,e.y,e.z):new u},u.WGS84=e(new u(6378137,6378137,6356752.314245179)),u.UNIT_SPHERE=e(new u(1,1,1)),u.MOON=e(new u(i.LUNAR_RADIUS,i.LUNAR_RADIUS,i.LUNAR_RADIUS)),u.prototype.clone=function(e){return u.clone(this,e)},u.prototype.geocentricSurfaceNormal=o.normalize,u.prototype.geodeticSurfaceNormalCartographic=function(e,t){var n=e.longitude,a=e.latitude,i=Math.cos(a),s=i*Math.cos(n),u=i*Math.sin(n),l=Math.sin(a);return r(t)||(t=new o),t.x=s,t.y=u,t.z=l,o.normalize(t,t)},u.prototype.geodeticSurfaceNormal=function(e,t){return t=o.multiplyComponents(e,this._oneOverRadiiSquared,t),o.normalize(t,t)};var l=new o,c=new o;u.prototype.cartographicToCartesian=function(e,t){var r=l,n=c;this.geodeticSurfaceNormalCartographic(e,r),o.multiplyComponents(this._radiiSquared,r,n);var a=Math.sqrt(o.dot(r,n));return o.divideByScalar(n,a,n),o.multiplyByScalar(r,e.height,r),o.add(n,r,t)},u.prototype.cartographicArrayToCartesianArray=function(e,t){var n=e.length;r(t)?t.length=n:t=new Array(n);for(var a=0;n>a;a++)t[a]=this.cartographicToCartesian(e[a],t[a]);return t};var f=new o,d=new o,h=new o;u.prototype.cartesianToCartographic=function(e,t){var n=this.scaleToGeodeticSurface(e,d);if(!r(n))return void 0;var a=this.geodeticSurfaceNormal(n,f),u=o.subtract(e,n,h),l=Math.atan2(a.y,a.x),c=Math.asin(a.z),m=i.sign(o.dot(u,e))*o.magnitude(u);return r(t)?(t.longitude=l,t.latitude=c,t.height=m,t):new s(l,c,m)},u.prototype.cartesianArrayToCartographicArray=function(e,t){var n=e.length;r(t)?t.length=n:t=new Array(n);for(var a=0;n>a;++a)t[a]=this.cartesianToCartographic(e[a],t[a]);return t};var m=new o,y=new o;return u.prototype.scaleToGeodeticSurface=function(e,t){var n=e.x,a=e.y,s=e.z,u=this._oneOverRadii,l=u.x,c=u.y,f=u.z,d=n*n*l*l,h=a*a*c*c,p=s*s*f*f,v=d+h+p,g=Math.sqrt(1/v),E=o.multiplyByScalar(e,g,m);if(vi.EPSILON12);return r(t)?(t.x=n*M,t.y=a*b,t.z=s*D,t):new o(n*M,a*b,s*D)},u.prototype.scaleToGeocentricSurface=function(e,t){var r=e.x,n=e.y,a=e.z,i=this._oneOverRadiiSquared,s=1/Math.sqrt(r*r*i.x+n*n*i.y+a*a*i.z);return o.multiplyByScalar(e,s,t)},u.prototype.transformPositionToScaledSpace=function(e,t){return o.multiplyComponents(e,this._oneOverRadii,t)},u.prototype.transformPositionFromScaledSpace=function(e,t){return o.multiplyComponents(e,this._radii,t)},u.prototype.equals=function(e){return this===e||r(e)&&o.equals(this._radii,e._radii)},u.prototype.toString=function(){return this._radii.toString()},u}),define("Core/EllipsoidGeodesic",["./Cartesian3","./Cartographic","./defaultValue","./defined","./DeveloperError","./Ellipsoid","./Math"],function(e,t,r,n,a,i,o){"use strict";function s(e){var t=e._uSquared,r=e._ellipsoid.maximumRadius,n=e._ellipsoid.minimumRadius,a=(r-n)/r,i=Math.cos(e._startHeading),o=Math.sin(e._startHeading),s=(1-a)*Math.tan(e._start.latitude),u=1/Math.sqrt(1+s*s),l=u*s,c=Math.atan2(s,i),f=u*o,d=f*f,h=1-d,m=Math.sqrt(h),y=t/4,p=y*y,v=p*y,g=p*p,E=1+y-3*p/4+5*v/4-175*g/64,w=1-y+15*p/8-35*v/8,S=1-3*y+35*p/4,C=1-5*y,x=E*c-w*Math.sin(2*c)*y/2-S*Math.sin(4*c)*p/16-C*Math.sin(6*c)*v/48-5*Math.sin(8*c)*g/512,A=e._constants;A.a=r,A.b=n,A.f=a,A.cosineHeading=i,A.sineHeading=o,A.tanU=s,A.cosineU=u,A.sineU=l,A.sigma=c,A.sineAlpha=f,A.sineSquaredAlpha=d,A.cosineSquaredAlpha=h,A.cosineAlpha=m,A.u2Over4=y,A.u4Over16=p,A.u6Over64=v,A.u8Over256=g,A.a0=E,A.a1=w,A.a2=S,A.a3=C,A.distanceRatio=x}function u(e,t){return e*t*(4+e*(4-3*t))/16}function l(e,t,r,n,a,i,o){var s=u(e,r);return(1-s)*e*t*(n+s*a*(o+s*i*(2*o*o-1)))}function c(e,t,r,n,a,i,s){var u,c,f,d,h,m=(t-r)/t,y=i-n,p=Math.atan((1-m)*Math.tan(a)),v=Math.atan((1-m)*Math.tan(s)),g=Math.cos(p),E=Math.sin(p),w=Math.cos(v),S=Math.sin(v),C=g*w,x=g*S,A=E*S,T=E*w,O=y,M=o.TWO_PI,b=Math.cos(O),D=Math.sin(O);do{b=Math.cos(O),D=Math.sin(O);var _=x-T*b;f=Math.sqrt(w*w*D*D+_*_),c=A+C*b,u=Math.atan2(f,c);var I;0===f?(I=0,d=1):(I=C*D/f,d=1-I*I),M=O,h=c-2*A/d,isNaN(h)&&(h=0),O=y+l(m,I,d,u,f,c,h)}while(Math.abs(O-M)>o.EPSILON12);var N=d*(t*t-r*r)/(r*r),P=1+N*(4096+N*(N*(320-175*N)-768))/16384,R=N*(256+N*(N*(74-47*N)-128))/1024,z=h*h,L=R*f*(h+R*(c*(2*z-1)-R*h*(4*f*f-3)*(4*z-3)/6)/4),F=r*P*(u-L),U=Math.atan2(w*D,x-T*b),B=Math.atan2(g*D,x*b-T);e._distance=F,e._startHeading=U,e._endHeading=B,e._uSquared=N}function f(r,n,a,i){e.normalize(i.cartographicToCartesian(n,h),d),e.normalize(i.cartographicToCartesian(a,h),h),c(r,i.maximumRadius,i.minimumRadius,n.longitude,n.latitude,a.longitude,a.latitude),n.height=0,a.height=0,r._start=t.clone(n,r._start),r._end=t.clone(a,r._end),s(r)}var d=new e,h=new e,m=function(e,a,o){var s=r(o,i.WGS84);this._ellipsoid=s,this._start=new t,this._end=new t,this._constants={},this._startHeading=void 0,this._endHeading=void 0,this._distance=void 0,this._uSquared=void 0,n(e)&&n(a)&&f(this,e,a,s)};return m.prototype.getSurfaceDistance=function(){return this._distance},m.prototype.setEndPoints=function(e,t){f(this,e,t,this._ellipsoid)},m.prototype.getStart=function(){return this._start},m.prototype.getEnd=function(){return this._end},m.prototype.getStartHeading=function(){return this._startHeading},m.prototype.getEndHeading=function(){return this._endHeading},m.prototype.interpolateUsingFraction=function(e,t){return this.interpolateUsingSurfaceDistance(this._distance*e,t)},m.prototype.interpolateUsingSurfaceDistance=function(e,r){var a=this._constants,i=a.distanceRatio+e/a.b,o=Math.cos(2*i),s=Math.cos(4*i),u=Math.cos(6*i),c=Math.sin(2*i),f=Math.sin(4*i),d=Math.sin(6*i),h=Math.sin(8*i),m=i*i,y=i*m,p=a.u8Over256,v=a.u2Over4,g=a.u6Over64,E=a.u4Over16,w=2*y*p*o/3+i*(1-v+7*E/4-15*g/4+579*p/64-(E-15*g/4+187*p/16)*o-(5*g/4-115*p/16)*s-29*p*u/16)+(v/2-E+71*g/32-85*p/16)*c+(5*E/16-5*g/4+383*p/96)*f-m*((g-11*p/2)*c+5*p*f/2)+(29*g/96-29*p/16)*d+539*p*h/1536,S=Math.asin(Math.sin(w)*a.cosineAlpha),C=Math.atan(a.a/a.b*Math.tan(S));w-=a.sigma;var x=Math.cos(2*a.sigma+w),A=Math.sin(w),T=Math.cos(w),O=a.cosineU*T,M=a.sineU*A,b=Math.atan2(A*a.sineHeading,O-M*a.cosineHeading),D=b-l(a.f,a.sineAlpha,a.cosineSquaredAlpha,w,A,T,x);return n(r)?(r.longitude=this._start.longitude+D,r.latitude=C,r.height=0,r):new t(this._start.longitude+D,C,0)},m}),define("Core/Matrix3",["./Cartesian3","./defaultValue","./defined","./DeveloperError","./freezeObject","./Math"],function(e,t,r,n,a,i){"use strict";function o(e){for(var t=0,r=0;9>r;++r){var n=e[r];t+=n*n}return Math.sqrt(t)}function s(e){for(var t=0,r=0;3>r;++r){var n=e[l.getElementIndex(f[r],c[r])];t+=2*n*n}return Math.sqrt(t)}function u(e,t){for(var r=i.EPSILON15,n=0,a=1,o=0;3>o;++o){var s=Math.abs(e[l.getElementIndex(f[o],c[o])]);s>n&&(a=o,n=s)}var u=1,d=0,h=c[a],m=f[a];if(Math.abs(e[l.getElementIndex(m,h)])>r){var y,p=e[l.getElementIndex(m,m)],v=e[l.getElementIndex(h,h)],g=e[l.getElementIndex(m,h)],E=(p-v)/2/g;y=0>E?-1/(-E+Math.sqrt(1+E*E)):1/(E+Math.sqrt(1+E*E)),u=1/Math.sqrt(1+y*y),d=y*u}return t=l.clone(l.IDENTITY,t),t[l.getElementIndex(h,h)]=t[l.getElementIndex(m,m)]=u,t[l.getElementIndex(m,h)]=d,t[l.getElementIndex(h,m)]=-d,t}var l=function(e,r,n,a,i,o,s,u,l){this[0]=t(e,0),this[1]=t(a,0),this[2]=t(s,0),this[3]=t(r,0),this[4]=t(i,0),this[5]=t(u,0),this[6]=t(n,0),this[7]=t(o,0),this[8]=t(l,0)};l.clone=function(e,t){return r(e)?r(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t):new l(e[0],e[3],e[6],e[1],e[4],e[7],e[2],e[5],e[8]):void 0},l.fromArray=function(e,n,a){return n=t(n,0),r(a)||(a=new l),a[0]=e[n],a[1]=e[n+1],a[2]=e[n+2],a[3]=e[n+3],a[4]=e[n+4],a[5]=e[n+5],a[6]=e[n+6],a[7]=e[n+7],a[8]=e[n+8],a[9]=e[n+9],a},l.fromColumnMajorArray=function(e,t){return l.clone(e,t)},l.fromRowMajorArray=function(e,t){return r(t)?(t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8],t):new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])},l.fromQuaternion=function(e,t){var n=e.x*e.x,a=e.x*e.y,i=e.x*e.z,o=e.x*e.w,s=e.y*e.y,u=e.y*e.z,c=e.y*e.w,f=e.z*e.z,d=e.z*e.w,h=e.w*e.w,m=n-s-f+h,y=2*(a-d),p=2*(i+c),v=2*(a+d),g=-n+s-f+h,E=2*(u-o),w=2*(i-c),S=2*(u+o),C=-n-s+f+h;return r(t)?(t[0]=m,t[1]=v,t[2]=w,t[3]=y,t[4]=g,t[5]=S,t[6]=p,t[7]=E,t[8]=C,t):new l(m,y,p,v,g,E,w,S,C)},l.fromScale=function(e,t){return r(t)?(t[0]=e.x,t[1]=0,t[2]=0,t[3]=0,t[4]=e.y,t[5]=0,t[6]=0,t[7]=0,t[8]=e.z,t):new l(e.x,0,0,0,e.y,0,0,0,e.z)},l.fromUniformScale=function(e,t){return r(t)?(t[0]=e,t[1]=0,t[2]=0,t[3]=0,t[4]=e,t[5]=0,t[6]=0,t[7]=0,t[8]=e,t):new l(e,0,0,0,e,0,0,0,e)},l.fromRotationX=function(e,t){var n=Math.cos(e),a=Math.sin(e);return r(t)?(t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=n,t[5]=a,t[6]=0,t[7]=-a,t[8]=n,t):new l(1,0,0,0,n,-a,0,a,n)},l.fromRotationY=function(e,t){var n=Math.cos(e),a=Math.sin(e);return r(t)?(t[0]=n,t[1]=0,t[2]=-a,t[3]=0,t[4]=1,t[5]=0,t[6]=a,t[7]=0,t[8]=n,t):new l(n,0,a,0,1,0,-a,0,n)},l.fromRotationZ=function(e,t){var n=Math.cos(e),a=Math.sin(e);return r(t)?(t[0]=n,t[1]=a,t[2]=0,t[3]=-a,t[4]=n,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t):new l(n,-a,0,a,n,0,0,0,1)},l.toArray=function(e,t){return r(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8]]},l.getElementIndex=function(e,t){return 3*e+t},l.getColumn=function(t,n,a){var i=3*n,o=t[i],s=t[i+1],u=t[i+2];return r(a)?(a.x=o,a.y=s,a.z=u,a):new e(o,s,u)},l.setColumn=function(e,t,r,n){n=l.clone(e,n);var a=3*t;return n[a]=r.x,n[a+1]=r.y,n[a+2]=r.z,n},l.getRow=function(t,n,a){var i=t[n],o=t[n+3],s=t[n+6];return r(a)?(a.x=i,a.y=o,a.z=s,a):new e(i,o,s)},l.setRow=function(e,t,r,n){return n=l.clone(e,n),n[t]=r.x,n[t+3]=r.y,n[t+6]=r.z,n},l.multiply=function(e,t,n){var a=e[0]*t[0]+e[3]*t[1]+e[6]*t[2],i=e[1]*t[0]+e[4]*t[1]+e[7]*t[2],o=e[2]*t[0]+e[5]*t[1]+e[8]*t[2],s=e[0]*t[3]+e[3]*t[4]+e[6]*t[5],u=e[1]*t[3]+e[4]*t[4]+e[7]*t[5],c=e[2]*t[3]+e[5]*t[4]+e[8]*t[5],f=e[0]*t[6]+e[3]*t[7]+e[6]*t[8],d=e[1]*t[6]+e[4]*t[7]+e[7]*t[8],h=e[2]*t[6]+e[5]*t[7]+e[8]*t[8];return r(n)?(n[0]=a,n[1]=i,n[2]=o,n[3]=s,n[4]=u,n[5]=c,n[6]=f,n[7]=d,n[8]=h,n):new l(a,s,f,i,u,d,o,c,h)},l.multiplyByVector=function(t,n,a){var i=n.x,o=n.y,s=n.z,u=t[0]*i+t[3]*o+t[6]*s,l=t[1]*i+t[4]*o+t[7]*s,c=t[2]*i+t[5]*o+t[8]*s;return r(a)?(a.x=u,a.y=l,a.z=c,a):new e(u,l,c)},l.multiplyByScalar=function(e,t,n){return r(n)?(n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n[4]=e[4]*t,n[5]=e[5]*t,n[6]=e[6]*t,n[7]=e[7]*t,n[8]=e[8]*t,n):new l(e[0]*t,e[3]*t,e[6]*t,e[1]*t,e[4]*t,e[7]*t,e[2]*t,e[5]*t,e[8]*t)},l.negate=function(e,t){return r(t)?(t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t[4]=-e[4],t[5]=-e[5],t[6]=-e[6],t[7]=-e[7],t[8]=-e[8],t):new l(-e[0],-e[3],-e[6],-e[1],-e[4],-e[7],-e[2],-e[5],-e[8])},l.transpose=function(e,t){var n=e[0],a=e[3],i=e[6],o=e[1],s=e[4],u=e[7],c=e[2],f=e[5],d=e[8];return r(t)?(t[0]=n,t[1]=a,t[2]=i,t[3]=o,t[4]=s,t[5]=u,t[6]=c,t[7]=f,t[8]=d,t):new l(n,o,c,a,s,f,i,u,d)};var c=[1,0,0],f=[2,2,1],d=new l,h=new l;return l.getEigenDecomposition=function(e,t){var n=i.EPSILON20,a=10,c=0,f=0;r(t)||(t={});for(var m=t.unitary=l.clone(l.IDENTITY,t.unitary),y=t.diagonal=l.clone(e,t.diagonal),p=n*o(y);a>f&&s(y)>p;)u(y,d),l.transpose(d,h),l.multiply(y,d,y),l.multiply(h,y,y),l.multiply(m,d,m),++c>2&&(++f,c=0);return t},l.abs=function(e,t){return r(t)?(t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t[3]=Math.abs(e[3]),t[4]=Math.abs(e[4]),t[5]=Math.abs(e[5]),t[6]=Math.abs(e[6]),t[7]=Math.abs(e[7]),t[8]=Math.abs(e[8]),t):new l(Math.abs(e[0]),Math.abs(e[3]),Math.abs(e[6]),Math.abs(e[1]),Math.abs(e[4]),Math.abs(e[7]),Math.abs(e[2]),Math.abs(e[5]),Math.abs(e[8]))},l.determinant=function(e){var t=e[0],r=e[3],n=e[6],a=e[1],i=e[4],o=e[7],s=e[2],u=e[5],l=e[8];return t*(i*l-u*o)+a*(u*n-r*l)+s*(r*o-i*n)},l.inverse=function(e,t){var r=e[0],a=e[1],o=e[2],s=e[3],u=e[4],c=e[5],f=e[6],d=e[7],h=e[8],m=l.determinant(e);if(Math.abs(m)<=i.EPSILON15)throw new n("matrix is not invertible");var y=new l(u*h-d*c,f*c-s*h,s*d-f*u,d*o-a*h,r*h-f*o,f*a-r*d,a*c-u*o,s*o-r*c,r*u-s*a),p=1/m;return l.multiplyByScalar(y,p,t)},l.equals=function(e,t){return e===t||r(e)&&r(t)&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]},l.equalsEpsilon=function(e,t,n){return e===t||r(e)&&r(t)&&Math.abs(e[0]-t[0])<=n&&Math.abs(e[1]-t[1])<=n&&Math.abs(e[2]-t[2])<=n&&Math.abs(e[3]-t[3])<=n&&Math.abs(e[4]-t[4])<=n&&Math.abs(e[5]-t[5])<=n&&Math.abs(e[6]-t[6])<=n&&Math.abs(e[7]-t[7])<=n&&Math.abs(e[8]-t[8])<=n},l.IDENTITY=a(new l(1,0,0,0,1,0,0,0,1)),l.COLUMN0ROW0=0,l.COLUMN0ROW1=1,l.COLUMN0ROW2=2,l.COLUMN1ROW0=3,l.COLUMN1ROW1=4,l.COLUMN1ROW2=5,l.COLUMN2ROW0=6,l.COLUMN2ROW1=7,l.COLUMN2ROW2=8,l.prototype.clone=function(e){return l.clone(this,e)},l.prototype.equals=function(e){return l.equals(this,e)},l.prototype.equalsEpsilon=function(e,t){return l.equalsEpsilon(this,e,t)},l.prototype.toString=function(){return"("+this[0]+", "+this[3]+", "+this[6]+")\n"+"("+this[1]+", "+this[4]+", "+this[7]+")\n"+"("+this[2]+", "+this[5]+", "+this[8]+")"},l}),define("Core/QuadraticRealPolynomial",["./DeveloperError","./Math"],function(e,t){"use strict";function r(e,r,n){var a=e+r;return t.sign(e)!==t.sign(r)&&Math.abs(a/Math.max(Math.abs(e),Math.abs(r)))o&&o/ss&&s/oi)return[];var u=Math.sqrt(i);return[-u,u]}if(0===a)return i=-n/e,0>i?[i,0]:[0,i];var l=n*n,c=4*e*a,f=r(l,-c,t.EPSILON14);if(0>f)return[];var d=-.5*r(n,t.sign(n)*Math.sqrt(f),t.EPSILON14);return n>0?[d/e,a/d]:[a/d,d/e]},n}),define("Core/CubicRealPolynomial",["./DeveloperError","./QuadraticRealPolynomial"],function(e,t){"use strict";function r(e,t,r,n){var a,i,o=e,s=t/3,u=r/3,l=n,c=o*u,f=s*l,d=s*s,h=u*u,m=o*u-d,y=o*l-s*u,p=s*l-h,v=4*m*p-y*y;if(0>v){var g,E,w;d*f>=c*h?(g=o,E=m,w=-2*s*m+o*y):(g=l,E=p,w=-l*y+2*u*p);var S=0>w?-1:1,C=-S*Math.abs(g)*Math.sqrt(-v);i=-w+C;var x=i/2,A=0>x?-Math.pow(-x,1/3):Math.pow(x,1/3),T=i===C?-A:-E/A;return a=0>=E?A+T:-w/(A*A+T*T+E),d*f>=c*h?[(a-s)/o]:[-l/(a+u)]}var O=m,M=-2*s*m+o*y,b=p,D=-l*y+2*u*p,_=Math.sqrt(v),I=Math.sqrt(3)/2,N=Math.abs(Math.atan2(o*_,-M)/3);a=2*Math.sqrt(-O);var P=Math.cos(N);i=a*P;var R=a*(-P/2-I*Math.sin(N)),z=i+R>2*s?i-s:R-s,L=o,F=z/L;N=Math.abs(Math.atan2(l*_,-D)/3),a=2*Math.sqrt(-b),P=Math.cos(N),i=a*P,R=a*(-P/2-I*Math.sin(N));var U=-l,B=2*u>i+R?i+u:R+u,q=U/B,G=L*B,W=-z*B-L*U,Y=z*U,V=(u*W-s*Y)/(-s*W+u*G);return V>=F?q>=F?q>=V?[F,V,q]:[F,q,V]:[q,F,V]:q>=F?[V,F,q]:q>=V?[V,q,F]:[q,V,F]}var n={};return n.discriminant=function(e,t,r,n){var a=e*e,i=t*t,o=r*r,s=n*n,u=18*e*t*r*n+i*o-27*a*s-4*(e*o*r+i*t*n);return u},n.realRoots=function(e,n,a,i){var o,s;if(0===e)return t.realRoots(n,a,i);if(0===n){if(0===a){if(0===i)return[0,0,0];s=-i/e;var u=0>s?-Math.pow(-s,1/3):Math.pow(s,1/3);return[u,u,u]}return 0===i?(o=t.realRoots(e,0,a),0===o.Length?[0]:[o[0],0,o[1]]):r(e,0,a,i)}return 0===a?0===i?(s=-n/e,0>s?[s,0,0]:[0,0,s]):r(e,n,0,i):0===i?(o=t.realRoots(e,n,a),0===o.length?[0]:o[1]<=0?[o[0],o[1],0]:o[0]>=0?[0,o[0],o[1]]:[o[0],0,o[1]]):r(e,n,a,i)},n}),define("Core/QuarticRealPolynomial",["./DeveloperError","./Math","./CubicRealPolynomial","./QuadraticRealPolynomial"],function(e,t,r,n){"use strict";function a(e,a,i,o){var s=e*e,u=a-3*s/8,l=i-a*e/2+s*e/8,c=o-i*e/4+a*s/16-3*s*s/256,f=r.realRoots(1,2*u,u*u-4*c,-l*l);if(f.length>0){var d=-e/4,h=f[f.length-1];if(Math.abs(h)=0&&v>=0){var g=Math.sqrt(p),E=Math.sqrt(v);return[d-E,d-g,d+g,d+E]}if(p>=0&&0>v)return y=Math.sqrt(p),[d-y,d+y];if(0>p&&v>=0)return y=Math.sqrt(v),[d-y,d+y]}return[]}if(h>0){var w=Math.sqrt(h),S=(u+h-l/w)/2,C=(u+h+l/w)/2,x=n.realRoots(1,w,S),A=n.realRoots(1,-w,C);return 0!==x.length?(x[0]+=d,x[1]+=d,0!==A.length?(A[0]+=d,A[1]+=d,x[1]<=A[0]?[x[0],x[1],A[0],A[1]]:A[1]<=x[0]?[A[0],A[1],x[0],x[1]]:x[0]>=A[0]&&x[1]<=A[1]?[A[0],x[0],x[1],A[1]]:A[0]>=x[0]&&A[1]<=x[1]?[x[0],A[0],A[1],x[1]]:x[0]>A[0]&&x[0]0){var m,y,p=h[0],v=a-p,g=v*v,E=e/2,w=v/2,S=g-4*o,C=g+4*Math.abs(o),x=l-4*p,A=l+4*Math.abs(p);if(0>p||x*C>S*A){var T=Math.sqrt(x);m=T/2,y=0===T?0:(e*w-i)/T}else{var O=Math.sqrt(S);m=0===O?0:(e*w-i)/O,y=O/2}var M,b;0===E&&0===m?(M=0,b=0):t.sign(E)===t.sign(m)?(M=E+m,b=p/M):(b=E-m,M=p/b);var D,_;0===w&&0===y?(D=0,_=0):t.sign(w)===t.sign(y)?(D=w+y,_=o/D):(_=w-y,D=o/_);var I=n.realRoots(1,M,D),N=n.realRoots(1,b,_);if(0!==I.length)return 0!==N.length?I[1]<=N[0]?[I[0],I[1],N[0],N[1]]:N[1]<=I[0]?[N[0],N[1],I[0],I[1]]:I[0]>=N[0]&&I[1]<=N[1]?[N[0],I[0],I[1],N[1]]:N[0]>=I[0]&&N[1]<=I[1]?[I[0],N[0],N[1],I[1]]:I[0]>N[0]&&I[0]l?1:0;switch(h+=0>c?h+1:h,h+=0>f?h+1:h,h+=0>d?h+1:h){case 0:return a(l,c,f,d);case 1:return i(l,c,f,d);case 2:return i(l,c,f,d);case 3:return a(l,c,f,d);case 4:return a(l,c,f,d);case 5:return i(l,c,f,d);case 6:return a(l,c,f,d);case 7:return a(l,c,f,d);case 8:return i(l,c,f,d);case 9:return a(l,c,f,d);case 10:return a(l,c,f,d);case 11:return i(l,c,f,d);case 12:return a(l,c,f,d);case 13:return a(l,c,f,d);case 14:return a(l,c,f,d);case 15:return a(l,c,f,d);default:return void 0}},o}),define("Core/IntersectionTests",["./defined","./DeveloperError","./Math","./Cartesian3","./Cartographic","./Matrix3","./QuadraticRealPolynomial","./QuarticRealPolynomial"],function(e,t,r,n,a,i,o,s){"use strict";function u(e,t,n){var a=e+t;return r.sign(e)!==r.sign(t)&&Math.abs(a/Math.max(Math.abs(e),Math.abs(t)))R;++R){var z,L=f[R],F=L*L,U=Math.max(1-F,0),B=Math.sqrt(U);z=r.sign(m)===r.sign(p)?u(m*F+p,y*L,r.EPSILON12):r.sign(p)===r.sign(y*L)?u(m*F,y*L+p,r.EPSILON12):u(m*F+y*L,p,r.EPSILON12);var q=u(v*L,g,r.EPSILON15),G=z*q;0>G?E.push(new n(l,c*L,c*B)):G>0?E.push(new n(l,c*L,c*-B)):0!==B?(E.push(new n(l,c*L,c*-B)),E.push(new n(l,c*L,c*B)),++R):E.push(new n(l,c*L,c*B))}return E}var c={};c.rayPlane=function(e,t,a){var i=e.origin,o=e.direction,s=t.normal,u=n.dot(s,o);if(Math.abs(u)l?void 0:(a=n.multiplyByScalar(o,l,a),n.add(i,a,a))};var f=new n,d=new n;c.rayEllipsoid=function(e,t){var r,a,i,o,s,u=t.oneOverRadii,l=n.multiplyComponents(u,e.origin,f),c=n.multiplyComponents(u,e.direction,d),h=n.magnitudeSquared(l),m=n.dot(l,c);if(h>1){if(m>=0)return void 0;var y=m*m;if(r=h-1,a=n.magnitudeSquared(c),i=a*r,i>y)return void 0;if(y>i){o=m*m-i,s=-m+Math.sqrt(o);var p=s/a,v=r/s;return v>p?{start:p,stop:v}:{start:v,stop:p}}var g=Math.sqrt(r/a);return{start:g,stop:g}}return 1>h?(r=h-1,a=n.magnitudeSquared(c),i=a*r,o=m*m-i,s=-m+Math.sqrt(o),{start:0,stop:s/a}):0>m?(a=n.magnitudeSquared(c),{start:0,stop:-m/a}):void 0},c.grazingAltitudeLocation=function(t,o){var s=t.origin,u=t.direction,c=o.geodeticSurfaceNormal(s);if(n.dot(u,c)>=0)return s;var f,d,h=e(this.rayEllipsoid(t,o)),m=o.transformPositionToScaledSpace(u),y=n.normalize(m),p=n.mostOrthogonalAxis(m),v=n.normalize(n.cross(p,y)),g=n.normalize(n.cross(y,v)),E=new i(y.x,v.x,g.x,y.y,v.y,g.y,y.z,v.z,g.z),w=i.transpose(E),S=i.fromScale(o.radii),C=i.fromScale(o.oneOverRadii),x=new i(0,u.z,-u.y,-u.z,0,u.x,u.y,-u.x,0),A=i.multiply(i.multiply(w,C),x),T=i.multiply(i.multiply(A,S),E),O=i.multiplyByVector(A,s),M=l(T,n.negate(O),0,0,1),b=M.length; +if(b>0){for(var D=n.ZERO,_=Number.NEGATIVE_INFINITY,I=0;b>I;++I){f=i.multiplyByVector(S,i.multiplyByVector(E,M[I]));var N=n.normalize(n.subtract(f,s)),P=n.dot(N,u);P>_&&(_=P,D=f)}var R=o.cartesianToCartographic(D);return _=r.clamp(_,0,1),d=n.magnitude(n.subtract(D,s))*Math.sqrt(1-_*_),d=h?-d:d,o.cartographicToCartesian(new a(R.longitude,R.latitude,d))}return void 0};var h=new n;return c.lineSegmentPlane=function(t,a,i,o){var s=n.subtract(a,t,h),u=i.normal,l=n.dot(u,s);if(Math.abs(l)f||f>1?void 0:(e(o)||(o=new n),n.multiplyByScalar(s,f,o),n.add(t,o,o),o)},c.trianglePlaneIntersection=function(e,t,r,a){var i=a.normal,o=a.distance,s=n.dot(i,e)+o<0,u=n.dot(i,t)+o<0,l=n.dot(i,r)+o<0,f=0;f+=s?1:0,f+=u?1:0,f+=l?1:0;var d,h;if((1===f||2===f)&&(d=new n,h=new n),1===f){if(s)return c.lineSegmentPlane(e,t,a,d),c.lineSegmentPlane(e,r,a,h),{positions:[e,t,r,d,h],indices:[0,3,4,1,2,4,1,4,3]};if(u)return c.lineSegmentPlane(t,r,a,d),c.lineSegmentPlane(t,e,a,h),{positions:[e,t,r,d,h],indices:[1,3,4,2,0,4,2,4,3]};if(l)return c.lineSegmentPlane(r,e,a,d),c.lineSegmentPlane(r,t,a,h),{positions:[e,t,r,d,h],indices:[2,3,4,0,1,4,0,4,3]}}else if(2===f){if(!s)return c.lineSegmentPlane(t,e,a,d),c.lineSegmentPlane(r,e,a,h),{positions:[e,t,r,d,h],indices:[1,2,4,1,4,3,0,3,4]};if(!u)return c.lineSegmentPlane(r,t,a,d),c.lineSegmentPlane(e,t,a,h),{positions:[e,t,r,d,h],indices:[2,0,4,2,4,3,1,3,4]};if(!l)return c.lineSegmentPlane(e,r,a,d),c.lineSegmentPlane(t,r,a,h),{positions:[e,t,r,d,h],indices:[0,1,4,0,4,3,2,3,4]}}return void 0},c}),define("Core/isArray",["./defined"],function(e){"use strict";var t=Array.isArray;return e(t)||(t=function(e){return"[object Array]"===Object.prototype.toString.call(e)}),t}),define("Core/Cartesian4",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,t,r,n){"use strict";var a=function(t,r,n,a){this.x=e(t,0),this.y=e(r,0),this.z=e(n,0),this.w=e(a,0)};a.fromElements=function(e,r,n,i,o){return t(o)?(o.x=e,o.y=r,o.z=n,o.w=i,o):new a(e,r,n,i)},a.clone=function(e,r){return t(e)?t(r)?(r.x=e.x,r.y=e.y,r.z=e.z,r.w=e.w,r):new a(e.x,e.y,e.z,e.w):void 0},a.packedLength=4,a.pack=function(t,r,n){n=e(n,0),r[n++]=t.x,r[n++]=t.y,r[n++]=t.z,r[n]=t.w},a.unpack=function(r,n,i){return n=e(n,0),t(i)||(i=new a),i.x=r[n++],i.y=r[n++],i.z=r[n++],i.w=r[n],i},a.fromArray=a.unpack,a.getMaximumComponent=function(e){return Math.max(e.x,e.y,e.z,e.w)},a.getMinimumComponent=function(e){return Math.min(e.x,e.y,e.z,e.w)},a.getMinimumByComponent=function(e,r,n){return t(n)||(n=new a),n.x=Math.min(e.x,r.x),n.y=Math.min(e.y,r.y),n.z=Math.min(e.z,r.z),n.w=Math.min(e.w,r.w),n},a.getMaximumByComponent=function(e,r,n){return t(n)||(n=new a),n.x=Math.max(e.x,r.x),n.y=Math.max(e.y,r.y),n.z=Math.max(e.z,r.z),n.w=Math.max(e.w,r.w),n},a.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w},a.magnitude=function(e){return Math.sqrt(a.magnitudeSquared(e))};var i=new a;a.distance=function(e,t){return a.subtract(e,t,i),a.magnitude(i)},a.normalize=function(e,r){var n=a.magnitude(e);return t(r)?(r.x=e.x/n,r.y=e.y/n,r.z=e.z/n,r.w=e.w/n,r):new a(e.x/n,e.y/n,e.z/n,e.w/n)},a.dot=function(e,t){return e.x*t.x+e.y*t.y+e.z*t.z+e.w*t.w},a.multiplyComponents=function(e,r,n){return t(n)?(n.x=e.x*r.x,n.y=e.y*r.y,n.z=e.z*r.z,n.w=e.w*r.w,n):new a(e.x*r.x,e.y*r.y,e.z*r.z,e.w*r.w)},a.add=function(e,r,n){return t(n)?(n.x=e.x+r.x,n.y=e.y+r.y,n.z=e.z+r.z,n.w=e.w+r.w,n):new a(e.x+r.x,e.y+r.y,e.z+r.z,e.w+r.w)},a.subtract=function(e,r,n){return t(n)?(n.x=e.x-r.x,n.y=e.y-r.y,n.z=e.z-r.z,n.w=e.w-r.w,n):new a(e.x-r.x,e.y-r.y,e.z-r.z,e.w-r.w)},a.multiplyByScalar=function(e,r,n){return t(n)?(n.x=e.x*r,n.y=e.y*r,n.z=e.z*r,n.w=e.w*r,n):new a(e.x*r,e.y*r,e.z*r,e.w*r)},a.divideByScalar=function(e,r,n){return t(n)?(n.x=e.x/r,n.y=e.y/r,n.z=e.z/r,n.w=e.w/r,n):new a(e.x/r,e.y/r,e.z/r,e.w/r)},a.negate=function(e,r){return t(r)?(r.x=-e.x,r.y=-e.y,r.z=-e.z,r.w=-e.w,r):new a(-e.x,-e.y,-e.z,-e.w)},a.abs=function(e,r){return t(r)?(r.x=Math.abs(e.x),r.y=Math.abs(e.y),r.z=Math.abs(e.z),r.w=Math.abs(e.w),r):new a(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z),Math.abs(e.w))};var o=new a;a.lerp=function(e,t,r,n){return a.multiplyByScalar(t,r,o),n=a.multiplyByScalar(e,1-r,n),a.add(o,n,n)};var s=new a;return a.mostOrthogonalAxis=function(e,t){var r=a.normalize(e,s);return a.abs(r,r),t=r.x<=r.y?r.x<=r.z?r.x<=r.w?a.clone(a.UNIT_X,t):a.clone(a.UNIT_W,t):r.z<=r.w?a.clone(a.UNIT_Z,t):a.clone(a.UNIT_W,t):r.y<=r.z?r.y<=r.w?a.clone(a.UNIT_Y,t):a.clone(a.UNIT_W,t):r.z<=r.w?a.clone(a.UNIT_Z,t):a.clone(a.UNIT_W,t)},a.equals=function(e,r){return e===r||t(e)&&t(r)&&e.x===r.x&&e.y===r.y&&e.z===r.z&&e.w===r.w},a.equalsEpsilon=function(e,r,n){return e===r||t(e)&&t(r)&&Math.abs(e.x-r.x)<=n&&Math.abs(e.y-r.y)<=n&&Math.abs(e.z-r.z)<=n&&Math.abs(e.w-r.w)<=n},a.ZERO=n(new a(0,0,0,0)),a.UNIT_X=n(new a(1,0,0,0)),a.UNIT_Y=n(new a(0,1,0,0)),a.UNIT_Z=n(new a(0,0,1,0)),a.UNIT_W=n(new a(0,0,0,1)),a.prototype.clone=function(e){return a.clone(this,e)},a.prototype.equals=function(e){return a.equals(this,e)},a.prototype.equalsEpsilon=function(e,t){return a.equalsEpsilon(this,e,t)},a.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+", "+this.w+")"},a}),define("Core/RuntimeError",["./defined"],function(e){"use strict";var t=function(e){this.name="RuntimeError",this.message=e;var t;try{throw new Error}catch(r){t=r.stack}this.stack=t};return t.prototype.toString=function(){var t=this.name+": "+this.message;return e(this.stack)&&(t+="\n"+this.stack.toString()),t},t}),define("Core/Matrix4",["./Cartesian3","./Cartesian4","./defaultValue","./defined","./DeveloperError","./freezeObject","./Math","./Matrix3","./RuntimeError"],function(e,t,r,n,a,i,o,s,u){"use strict";var l=function(e,t,n,a,i,o,s,u,l,c,f,d,h,m,y,p){this[0]=r(e,0),this[1]=r(i,0),this[2]=r(l,0),this[3]=r(h,0),this[4]=r(t,0),this[5]=r(o,0),this[6]=r(c,0),this[7]=r(m,0),this[8]=r(n,0),this[9]=r(s,0),this[10]=r(f,0),this[11]=r(y,0),this[12]=r(a,0),this[13]=r(u,0),this[14]=r(d,0),this[15]=r(p,0)};l.clone=function(e,t){return n(e)?n(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t):new l(e[0],e[4],e[8],e[12],e[1],e[5],e[9],e[13],e[2],e[6],e[10],e[14],e[3],e[7],e[11],e[15]):void 0},l.fromArray=function(e,t,a){return t=r(t,0),n(a)||(a=new l),a[0]=e[t],a[1]=e[t+1],a[2]=e[t+2],a[3]=e[t+3],a[4]=e[t+4],a[5]=e[t+5],a[6]=e[t+6],a[7]=e[t+7],a[8]=e[t+8],a[9]=e[t+9],a[10]=e[t+10],a[11]=e[t+11],a[12]=e[t+12],a[13]=e[t+13],a[14]=e[t+14],a[15]=e[t+15],a},l.fromColumnMajorArray=function(e,t){return l.clone(e,t)},l.fromRowMajorArray=function(e,t){return n(t)?(t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15],t):new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])},l.fromRotationTranslation=function(e,t,r){return n(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=0,r[4]=e[3],r[5]=e[4],r[6]=e[5],r[7]=0,r[8]=e[6],r[9]=e[7],r[10]=e[8],r[11]=0,r[12]=t.x,r[13]=t.y,r[14]=t.z,r[15]=1,r):new l(e[0],e[3],e[6],t.x,e[1],e[4],e[7],t.y,e[2],e[5],e[8],t.z,0,0,0,1)},new s,l.fromTranslationQuaternionRotationScale=function(e,t,r,a){n(a)||(a=new l);var i=r.x,o=r.y,s=r.z,u=t.x*t.x,c=t.x*t.y,f=t.x*t.z,d=t.x*t.w,h=t.y*t.y,m=t.y*t.z,y=t.y*t.w,p=t.z*t.z,v=t.z*t.w,g=t.w*t.w,E=u-h-p+g,w=2*(c-v),S=2*(f+y),C=2*(c+v),x=-u+h-p+g,A=2*(m-d),T=2*(f-y),O=2*(m+d),M=-u-h+p+g;return a[0]=E*i,a[1]=C*i,a[2]=T*i,a[3]=0,a[4]=w*o,a[5]=x*o,a[6]=O*o,a[7]=0,a[8]=S*s,a[9]=A*s,a[10]=M*s,a[11]=0,a[12]=e.x,a[13]=e.y,a[14]=e.z,a[15]=1,a},l.fromTranslation=function(e,t){return l.fromRotationTranslation(s.IDENTITY,e,t)},l.fromScale=function(e,t){return n(t)?(t[0]=e.x,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e.y,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e.z,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t):new l(e.x,0,0,0,0,e.y,0,0,0,0,e.z,0,0,0,0,1)},l.fromUniformScale=function(e,t){return n(t)?(t[0]=e,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t):new l(e,0,0,0,0,e,0,0,0,0,e,0,0,0,0,1)};var c=new e,f=new e,d=new e;l.fromCamera=function(t,r){var a=t.eye,i=t.target,o=t.up;e.normalize(e.subtract(i,a,c),c),e.normalize(e.cross(c,o,f),f),e.normalize(e.cross(f,c,d),d);var s=f.x,u=f.y,h=f.z,m=c.x,y=c.y,p=c.z,v=d.x,g=d.y,E=d.z,w=a.x,S=a.y,C=a.z,x=s*-w+u*-S+h*-C,A=v*-w+g*-S+E*-C,T=m*w+y*S+p*C;return n(r)?(r[0]=s,r[1]=v,r[2]=-m,r[3]=0,r[4]=u,r[5]=g,r[6]=-y,r[7]=0,r[8]=h,r[9]=E,r[10]=-p,r[11]=0,r[12]=x,r[13]=A,r[14]=T,r[15]=1,r):new l(s,u,h,x,v,g,E,A,-m,-y,-p,T,0,0,0,1)},l.computePerspectiveFieldOfView=function(e,t,r,a,i){var o=Math.tan(.5*e),s=1/o,u=s/t,c=(a+r)/(r-a),f=2*a*r/(r-a);return n(i)?(i[0]=u,i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=s,i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=c,i[11]=-1,i[12]=0,i[13]=0,i[14]=f,i[15]=0,i):new l(u,0,0,0,0,s,0,0,0,0,c,f,0,0,-1,0)},l.computeOrthographicOffCenter=function(e,t,r,a,i,o,s){var u=1/(t-e),c=1/(a-r),f=1/(o-i),d=-(t+e)*u,h=-(a+r)*c,m=-(o+i)*f;return u*=2,c*=2,f*=-2,n(s)?(s[0]=u,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=c,s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=f,s[11]=0,s[12]=d,s[13]=h,s[14]=m,s[15]=1,s):new l(u,0,0,d,0,c,0,h,0,0,f,m,0,0,0,1)},l.computePerspectiveOffCenter=function(e,t,r,a,i,o,s){var u=2*i/(t-e),c=2*i/(a-r),f=(t+e)/(t-e),d=(a+r)/(a-r),h=-(o+i)/(o-i),m=-1,y=-2*o*i/(o-i);return n(s)?(s[0]=u,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=c,s[6]=0,s[7]=0,s[8]=f,s[9]=d,s[10]=h,s[11]=m,s[12]=0,s[13]=0,s[14]=y,s[15]=0,s):new l(u,0,f,0,0,c,d,0,0,0,h,y,0,0,m,0)},l.computeInfinitePerspectiveOffCenter=function(e,t,r,a,i,o){var s=2*i/(t-e),u=2*i/(a-r),c=(t+e)/(t-e),f=(a+r)/(a-r),d=-1,h=-1,m=-2*i;return n(o)?(o[0]=s,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=u,o[6]=0,o[7]=0,o[8]=c,o[9]=f,o[10]=d,o[11]=h,o[12]=0,o[13]=0,o[14]=m,o[15]=0,o):new l(s,0,c,0,0,u,f,0,0,0,d,m,0,0,h,0)},l.computeViewportTransformation=function(e,t,a,i){e=r(e,r.EMPTY_OBJECT);var o=r(e.x,0),s=r(e.y,0),u=r(e.width,0),c=r(e.height,0);t=r(t,0),a=r(a,1);var f=.5*u,d=.5*c,h=.5*(a-t),m=f,y=d,p=h,v=o+f,g=s+d,E=t+h,w=1;return n(i)?(i[0]=m,i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=y,i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=p,i[11]=0,i[12]=v,i[13]=g,i[14]=E,i[15]=w,i):new l(m,0,0,v,0,y,0,g,0,0,p,E,0,0,0,w)},l.toArray=function(e,t){return n(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]]},l.getElementIndex=function(e,t){return 4*e+t},l.getColumn=function(e,r,a){var i=4*r,o=e[i],s=e[i+1],u=e[i+2],l=e[i+3];return n(a)?(a.x=o,a.y=s,a.z=u,a.w=l,a):new t(o,s,u,l)},l.setColumn=function(e,t,r,n){n=l.clone(e,n);var a=4*t;return n[a]=r.x,n[a+1]=r.y,n[a+2]=r.z,n[a+3]=r.w,n},l.getRow=function(e,r,a){var i=e[r],o=e[r+4],s=e[r+8],u=e[r+12];return n(a)?(a.x=i,a.y=o,a.z=s,a.w=u,a):new t(i,o,s,u)},l.setRow=function(e,t,r,n){return n=l.clone(e,n),n[t]=r.x,n[t+4]=r.y,n[t+8]=r.z,n[t+12]=r.w,n},l.multiply=function(e,t,r){var a=e[0],i=e[1],o=e[2],s=e[3],u=e[4],c=e[5],f=e[6],d=e[7],h=e[8],m=e[9],y=e[10],p=e[11],v=e[12],g=e[13],E=e[14],w=e[15],S=t[0],C=t[1],x=t[2],A=t[3],T=t[4],O=t[5],M=t[6],b=t[7],D=t[8],_=t[9],I=t[10],N=t[11],P=t[12],R=t[13],z=t[14],L=t[15],F=a*S+u*C+h*x+v*A,U=i*S+c*C+m*x+g*A,B=o*S+f*C+y*x+E*A,q=s*S+d*C+p*x+w*A,G=a*T+u*O+h*M+v*b,W=i*T+c*O+m*M+g*b,Y=o*T+f*O+y*M+E*b,V=s*T+d*O+p*M+w*b,j=a*D+u*_+h*I+v*N,H=i*D+c*_+m*I+g*N,k=o*D+f*_+y*I+E*N,Z=s*D+d*_+p*I+w*N,K=a*P+u*R+h*z+v*L,J=i*P+c*R+m*z+g*L,X=o*P+f*R+y*z+E*L,Q=s*P+d*R+p*z+w*L;return n(r)?(r[0]=F,r[1]=U,r[2]=B,r[3]=q,r[4]=G,r[5]=W,r[6]=Y,r[7]=V,r[8]=j,r[9]=H,r[10]=k,r[11]=Z,r[12]=K,r[13]=J,r[14]=X,r[15]=Q,r):new l(F,G,j,K,U,W,H,J,B,Y,k,X,q,V,Z,Q)},l.multiplyTransformation=function(e,t,r){var a=e[0],i=e[1],o=e[2],s=e[4],u=e[5],c=e[6],f=e[8],d=e[9],h=e[10],m=e[12],y=e[13],p=e[14],v=t[0],g=t[1],E=t[2],w=t[4],S=t[5],C=t[6],x=t[8],A=t[9],T=t[10],O=t[12],M=t[13],b=t[14],D=a*v+s*g+f*E,_=i*v+u*g+d*E,I=o*v+c*g+h*E,N=a*w+s*S+f*C,P=i*w+u*S+d*C,R=o*w+c*S+h*C,z=a*x+s*A+f*T,L=i*x+u*A+d*T,F=o*x+c*A+h*T,U=a*O+s*M+f*b+m,B=i*O+u*M+d*b+y,q=o*O+c*M+h*b+p;return n(r)?(r[0]=D,r[1]=_,r[2]=I,r[3]=0,r[4]=N,r[5]=P,r[6]=R,r[7]=0,r[8]=z,r[9]=L,r[10]=F,r[11]=0,r[12]=U,r[13]=B,r[14]=q,r[15]=1,r):new l(D,N,z,U,_,P,L,B,I,R,F,q,0,0,0,1)},l.multiplyByTranslation=function(e,t,r){var a=t.x,i=t.y,o=t.z,s=a*e[0]+i*e[4]+o*e[8]+e[12],u=a*e[1]+i*e[5]+o*e[9]+e[13],c=a*e[2]+i*e[6]+o*e[10]+e[14];return n(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r[9]=e[9],r[10]=e[10],r[11]=e[11],r[12]=s,r[13]=u,r[14]=c,r[15]=e[15],r):new l(e[0],e[4],e[8],s,e[1],e[5],e[9],u,e[2],e[6],e[10],c,e[3],e[7],e[11],e[15])};var h=new e;return l.multiplyByUniformScale=function(e,t,r){return h.x=t,h.y=t,h.z=t,l.multiplyByScale(e,h,r)},l.multiplyByScale=function(e,t,r){var a=t.x,i=t.y,o=t.z;return 1===a&&1===i&&1===o?l.clone(e,r):n(r)?(r[0]=a*e[0],r[1]=a*e[1],r[2]=a*e[2],r[3]=0,r[4]=i*e[4],r[5]=i*e[5],r[6]=i*e[6],r[7]=0,r[8]=o*e[8],r[9]=o*e[9],r[10]=o*e[10],r[11]=0,r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=1,r):new l(a*e[0],i*e[4],o*e[8],e[12],a*e[1],i*e[5],o*e[9],e[13],a*e[2],i*e[6],o*e[10],e[14],0,0,0,1)},l.multiplyByVector=function(e,r,a){var i=r.x,o=r.y,s=r.z,u=r.w,l=e[0]*i+e[4]*o+e[8]*s+e[12]*u,c=e[1]*i+e[5]*o+e[9]*s+e[13]*u,f=e[2]*i+e[6]*o+e[10]*s+e[14]*u,d=e[3]*i+e[7]*o+e[11]*s+e[15]*u;return n(a)?(a.x=l,a.y=c,a.z=f,a.w=d,a):new t(l,c,f,d)},l.multiplyByPointAsVector=function(t,r,a){var i=r.x,o=r.y,s=r.z,u=t[0]*i+t[4]*o+t[8]*s,l=t[1]*i+t[5]*o+t[9]*s,c=t[2]*i+t[6]*o+t[10]*s;return n(a)?(a.x=u,a.y=l,a.z=c,a):new e(u,l,c)},l.multiplyByPoint=function(t,r,a){var i=r.x,o=r.y,s=r.z,u=t[0]*i+t[4]*o+t[8]*s+t[12],l=t[1]*i+t[5]*o+t[9]*s+t[13],c=t[2]*i+t[6]*o+t[10]*s+t[14];return n(a)?(a.x=u,a.y=l,a.z=c,a):new e(u,l,c)},l.multiplyByScalar=function(e,t,r){return n(r)?(r[0]=e[0]*t,r[1]=e[1]*t,r[2]=e[2]*t,r[3]=e[3]*t,r[4]=e[4]*t,r[5]=e[5]*t,r[6]=e[6]*t,r[7]=e[7]*t,r[8]=e[8]*t,r[9]=e[9]*t,r[10]=e[10]*t,r[11]=e[11]*t,r[12]=e[12]*t,r[13]=e[13]*t,r[14]=e[14]*t,r[15]=e[15]*t,r):new l(e[0]*t,e[4]*t,e[8]*t,e[12]*t,e[1]*t,e[5]*t,e[9]*t,e[13]*t,e[2]*t,e[6]*t,e[10]*t,e[14]*t,e[3]*t,e[7]*t,e[11]*t,e[15]*t)},l.negate=function(e,t){return n(t)?(t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t[4]=-e[4],t[5]=-e[5],t[6]=-e[6],t[7]=-e[7],t[8]=-e[8],t[9]=-e[9],t[10]=-e[10],t[11]=-e[11],t[12]=-e[12],t[13]=-e[13],t[14]=-e[14],t[15]=-e[15],t):new l(-e[0],-e[4],-e[8],-e[12],-e[1],-e[5],-e[9],-e[13],-e[2],-e[6],-e[10],-e[14],-e[3],-e[7],-e[11],-e[15])},l.transpose=function(e,t){if(!n(t))return new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]);var r=e[1],a=e[2],i=e[3],o=e[6],s=e[7],u=e[11];return t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=r,t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=a,t[9]=o,t[10]=e[10],t[11]=e[14],t[12]=i,t[13]=s,t[14]=u,t[15]=e[15],t},l.abs=function(e,t){return n(t)?(t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t[3]=Math.abs(e[3]),t[4]=Math.abs(e[4]),t[5]=Math.abs(e[5]),t[6]=Math.abs(e[6]),t[7]=Math.abs(e[7]),t[8]=Math.abs(e[8]),t[9]=Math.abs(e[9]),t[10]=Math.abs(e[10]),t[11]=Math.abs(e[11]),t[12]=Math.abs(e[12]),t[13]=Math.abs(e[13]),t[14]=Math.abs(e[14]),t[15]=Math.abs(e[15]),t):new l(Math.abs(e[0]),Math.abs(e[4]),Math.abs(e[8]),Math.abs(e[12]),Math.abs(e[1]),Math.abs(e[5]),Math.abs(e[9]),Math.abs(e[13]),Math.abs(e[2]),Math.abs(e[6]),Math.abs(e[10]),Math.abs(e[14]),Math.abs(e[3]),Math.abs(e[7]),Math.abs(e[11]),Math.abs(e[15]))},l.equals=function(e,t){return e===t||n(e)&&n(t)&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15]},l.equalsEpsilon=function(e,t,r){return e===t||n(e)&&n(t)&&Math.abs(e[0]-t[0])<=r&&Math.abs(e[1]-t[1])<=r&&Math.abs(e[2]-t[2])<=r&&Math.abs(e[3]-t[3])<=r&&Math.abs(e[4]-t[4])<=r&&Math.abs(e[5]-t[5])<=r&&Math.abs(e[6]-t[6])<=r&&Math.abs(e[7]-t[7])<=r&&Math.abs(e[8]-t[8])<=r&&Math.abs(e[9]-t[9])<=r&&Math.abs(e[10]-t[10])<=r&&Math.abs(e[11]-t[11])<=r&&Math.abs(e[12]-t[12])<=r&&Math.abs(e[13]-t[13])<=r&&Math.abs(e[14]-t[14])<=r&&Math.abs(e[15]-t[15])<=r},l.getTranslation=function(t,r){return n(r)?(r.x=t[12],r.y=t[13],r.z=t[14],r):new e(t[12],t[13],t[14])},l.getRotation=function(e,t){return n(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[4],t[4]=e[5],t[5]=e[6],t[6]=e[8],t[7]=e[9],t[8]=e[10],t):new s(e[0],e[4],e[8],e[1],e[5],e[9],e[2],e[6],e[10])},l.inverse=function(e,t){var r=e[0],a=e[4],i=e[8],s=e[12],c=e[1],f=e[5],d=e[9],h=e[13],m=e[2],y=e[6],p=e[10],v=e[14],g=e[3],E=e[7],w=e[11],S=e[15],C=p*S,x=v*w,A=y*S,T=v*E,O=y*w,M=p*E,b=m*S,D=v*g,_=m*w,I=p*g,N=m*E,P=y*g,R=C*f+T*d+O*h-(x*f+A*d+M*h),z=x*c+b*d+I*h-(C*c+D*d+_*h),L=A*c+D*f+N*h-(T*c+b*f+P*h),F=M*c+_*f+P*d-(O*c+I*f+N*d),U=x*a+A*i+M*s-(C*a+T*i+O*s),B=C*r+D*i+_*s-(x*r+b*i+I*s),q=T*r+b*a+P*s-(A*r+D*a+N*s),G=O*r+I*a+N*i-(M*r+_*a+P*i);C=i*h,x=s*d,A=a*h,T=s*f,O=a*d,M=i*f,b=r*h,D=s*c,_=r*d,I=i*c,N=r*f,P=a*c;var W=C*E+T*w+O*S-(x*E+A*w+M*S),Y=x*g+b*w+I*S-(C*g+D*w+_*S),V=A*g+D*E+N*S-(T*g+b*E+P*S),j=M*g+_*E+P*w-(O*g+I*E+N*w),H=A*p+M*v+x*y-(O*v+C*y+T*p),k=_*v+C*m+D*p-(b*p+I*v+x*m),Z=b*y+P*v+T*m-(N*v+A*m+D*y),K=N*p+O*m+I*y-(_*y+P*p+M*m),J=r*R+a*z+i*L+s*F;if(Math.abs(J)y;y++){var p=b.interpolateUsingSurfaceDistance(y*d,A);m=a.cartographicToCartesian(p,T),l[h++]=m.x,l[h++]=m.y,l[h++]=m.z}return l}function h(t,r,n){var a=D;return n.geodeticSurfaceNormal(t,a),e.multiplyByScalar(a,r,a),e.add(t,a,t),t}var m={},y=new c,p=new e,v=new e,g=new f(e.ZERO,0),E=new e,w=new f(e.ZERO,0),S=new e,C=new e,x=new t,A=new t,T=new e,O=new e,M=new e,b=new o,D=new e,_=new e;return m.wrapLongitude=function(t,a){var i=[],o=[];if(n(t)&&t.length>0){a=r(a,c.IDENTITY);var u=c.inverseTransformation(a,y),l=c.multiplyByPoint(u,e.ZERO,p),d=c.multiplyByPointAsVector(u,e.UNIT_Y,v),h=f.fromPointNormal(l,d,g),m=c.multiplyByPointAsVector(u,e.UNIT_X,E),x=f.fromPointNormal(l,m,w),A=1;i.push(e.clone(t[0]));for(var T=i[0],O=t.length,M=1;O>M;++M){var b=t[M];if(f.getPointDistance(x,T)<0||f.getPointDistance(x,b)<0){var D=s.lineSegmentPlane(T,b,h,S);if(n(D)){var _=e.multiplyByScalar(d,5e-9,C);f.getPointDistance(h,T)<0&&e.negate(_,_),i.push(e.add(D,_)),o.push(A+1),e.negate(_,_),i.push(e.add(D,_)),A=1}}i.push(e.clone(t[M])),A++,T=b}o.push(A)}return{positions:i,lengths:o}},m.removeDuplicates=function(t){var r=t.length;if(2>r)return t.slice(0);var n=[];n.push(t[0]);for(var a=1;r>a;++a){var i=t[a-1],o=t[a];e.equals(i,o)||n.push(o)}return n},m.scaleToSurface=function(e,t,n){t=r(t,l.RADIANS_PER_DEGREE),n=r(n,i.WGS84);for(var a=e.length,o=[],s=0;a-1>s;s++){var u=e[s],c=e[s+1];o=o.concat(d(u,c,t,n))}var f=e[a-1],h=n.cartesianToCartographic(f,x);h.height=0;var m=n.cartographicToCartesian(h,T);return o.push(m.x,m.y,m.z),o},m.scaleToGeodeticHeight=function(t,o,s,l){s=r(s,i.WGS84);var c,f,d=t.length,m=_;if(n(l)){if(l.length!==t.length)throw new a("result.length must be equal to positions.length");f=l}else f=new Array(t.length);if(0===o){for(c=0;d>c;c+=3)m=s.scaleToGeodeticSurface(e.fromArray(t,c,m),m),f[c]=m.x,f[c+1]=m.y,f[c+2]=m.z;return f}var y;if(u(o)){if(o.length!==d/3)throw new a("height.length must be equal to positions.length");for(c=0;d>c;c+=3)y=o[c/3],m=e.fromArray(t,c,m),m=h(m,y,s),f[c]=m.x,f[c+1]=m.y,f[c+2]=m.z}else for(y=o,c=0;d>c;c+=3)m=e.fromArray(t,c,m),m=h(m,y,s),f[c]=m.x,f[c+1]=m.y,f[c+2]=m.z;return f},m}),define("Core/Cartesian2",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,t,r,n){"use strict";var a=function(t,r){this.x=e(t,0),this.y=e(r,0)};a.fromElements=function(e,r,n){return t(n)?(n.x=e,n.y=r,n):new a(e,r)},a.clone=function(e,r){return t(e)?t(r)?(r.x=e.x,r.y=e.y,r):new a(e.x,e.y):void 0},a.fromCartesian3=a.clone,a.fromCartesian4=a.clone,a.packedLength=2,a.pack=function(t,r,n){n=e(n,0),r[n++]=t.x,r[n]=t.y},a.unpack=function(r,n,i){return n=e(n,0),t(i)||(i=new a),i.x=r[n++],i.y=r[n],i},a.fromArray=a.unpack,a.getMaximumComponent=function(e){return Math.max(e.x,e.y)},a.getMinimumComponent=function(e){return Math.min(e.x,e.y)},a.getMinimumByComponent=function(e,r,n){return t(n)||(n=new a),n.x=Math.min(e.x,r.x),n.y=Math.min(e.y,r.y),n},a.getMaximumByComponent=function(e,r,n){return t(n)||(n=new a),n.x=Math.max(e.x,r.x),n.y=Math.max(e.y,r.y),n},a.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y},a.magnitude=function(e){return Math.sqrt(a.magnitudeSquared(e))};var i=new a;a.distance=function(e,t){return a.subtract(e,t,i),a.magnitude(i)},a.normalize=function(e,r){var n=a.magnitude(e);return t(r)?(r.x=e.x/n,r.y=e.y/n,r):new a(e.x/n,e.y/n)},a.dot=function(e,t){return e.x*t.x+e.y*t.y},a.multiplyComponents=function(e,r,n){return t(n)?(n.x=e.x*r.x,n.y=e.y*r.y,n):new a(e.x*r.x,e.y*r.y)},a.add=function(e,r,n){return t(n)?(n.x=e.x+r.x,n.y=e.y+r.y,n):new a(e.x+r.x,e.y+r.y)},a.subtract=function(e,r,n){return t(n)?(n.x=e.x-r.x,n.y=e.y-r.y,n):new a(e.x-r.x,e.y-r.y)},a.multiplyByScalar=function(e,r,n){return t(n)?(n.x=e.x*r,n.y=e.y*r,n):new a(e.x*r,e.y*r)},a.divideByScalar=function(e,r,n){return t(n)?(n.x=e.x/r,n.y=e.y/r,n):new a(e.x/r,e.y/r)},a.negate=function(e,r){return t(r)?(r.x=-e.x,r.y=-e.y,r):new a(-e.x,-e.y)},a.abs=function(e,r){return t(r)?(r.x=Math.abs(e.x),r.y=Math.abs(e.y),r):new a(Math.abs(e.x),Math.abs(e.y))};var o=new a;a.lerp=function(e,t,r,n){return a.multiplyByScalar(t,r,o),n=a.multiplyByScalar(e,1-r,n),a.add(o,n,n)};var s=new a,u=new a;a.angleBetween=function(e,t){return a.normalize(e,s),a.normalize(t,u),Math.acos(a.dot(s,u))};var l=new a;return a.mostOrthogonalAxis=function(e,t){var r=a.normalize(e,l);return a.abs(r,r),t=r.x<=r.y?a.clone(a.UNIT_X,t):a.clone(a.UNIT_Y,t)},a.equals=function(e,r){return e===r||t(e)&&t(r)&&e.x===r.x&&e.y===r.y},a.equalsEpsilon=function(e,r,n){return e===r||t(e)&&t(r)&&Math.abs(e.x-r.x)<=n&&Math.abs(e.y-r.y)<=n},a.ZERO=n(new a(0,0)),a.UNIT_X=n(new a(1,0)),a.UNIT_Y=n(new a(0,1)),a.prototype.clone=function(e){return a.clone(this,e)},a.prototype.equals=function(e){return a.equals(this,e)},a.prototype.equalsEpsilon=function(e,t){return a.equalsEpsilon(this,e,t)},a.prototype.toString=function(){return"("+this.x+", "+this.y+")"},a}),define("ThirdParty/Uri",[],function(){function e(t){if(t instanceof e)this.scheme=t.scheme,this.authority=t.authority,this.path=t.path,this.query=t.query,this.fragment=t.fragment;else if(t){var r=n.exec(t);this.scheme=r[1],this.authority=r[2],this.path=r[3],this.query=r[4],this.fragment=r[5]}}function t(e){var t=unescape(e);return i.test(t)?t:e.toUpperCase()}function r(e,t,r,n){return(t||"")+r.toLowerCase()+(n||"")}e.prototype.scheme=null,e.prototype.authority=null,e.prototype.path="",e.prototype.query=null,e.prototype.fragment=null;var n=new RegExp("^(?:([^:/?#]+):)?(?://([^/?#]*))?([^?#]*)(?:\\?([^#]*))?(?:#(.*))?$");e.prototype.getScheme=function(){return this.scheme},e.prototype.getAuthority=function(){return this.authority},e.prototype.getPath=function(){return this.path},e.prototype.getQuery=function(){return this.query},e.prototype.getFragment=function(){return this.fragment},e.prototype.isAbsolute=function(){return!!this.scheme&&!this.fragment},e.prototype.isSameDocumentAs=function(e){return e.scheme==this.scheme&&e.authority==this.authority&&e.path==this.path&&e.query==this.query},e.prototype.equals=function(e){return this.isSameDocumentAs(e)&&e.fragment==this.fragment},e.prototype.normalize=function(){this.removeDotSegments(),this.scheme&&(this.scheme=this.scheme.toLowerCase()),this.authority&&(this.authority=this.authority.replace(o,r).replace(a,t)),this.path&&(this.path=this.path.replace(a,t)),this.query&&(this.query=this.query.replace(a,t)),this.fragment&&(this.fragment=this.fragment.replace(a,t))};var a=/%[0-9a-z]{2}/gi,i=/[a-zA-Z0-9\-\._~]/,o=/(.*@)?([^@:]*)(:.*)?/;return e.prototype.resolve=function(t){var r=new e;return this.scheme?(r.scheme=this.scheme,r.authority=this.authority,r.path=this.path,r.query=this.query):(r.scheme=t.scheme,this.authority?(r.authority=this.authority,r.path=this.path,r.query=this.query):(r.authority=t.authority,""==this.path?(r.path=t.path,r.query=this.query||t.query):("/"==this.path.charAt(0)?(r.path=this.path,r.removeDotSegments()):(r.path=t.authority&&""==t.path?"/"+this.path:t.path.substring(0,t.path.lastIndexOf("/")+1)+this.path,r.removeDotSegments()),r.query=this.query))),r.fragment=this.fragment,r},e.prototype.removeDotSegments=function(){var e,t=this.path.split("/"),r=[],n=""==t[0];for(n&&t.shift(),""==t[0]?t.shift():null;t.length;)e=t.shift(),".."==e?r.pop():"."!=e&&r.push(e);("."==e||".."==e)&&r.push(""),n&&r.unshift(""),this.path=r.join("/")},e.prototype.toString=function(){var e="";return this.scheme&&(e+=this.scheme+":"),this.authority&&(e+="//"+this.authority),e+=this.path,this.query&&(e+="?"+this.query),this.fragment&&(e+="#"+this.fragment),e},e}),define("Core/buildModuleUrl",["require","./defined","./DeveloperError","../ThirdParty/Uri"],function(e,t,r,n){"use strict";function a(){for(var e=document.getElementsByTagName("script"),t=0,r=e.length;r>t;++t){var n=e[t].getAttribute("src"),a=f.exec(n);if(null!==a)return a[1]}return void 0}function i(){if(t(u))return u;var e;if(e="undefined"!=typeof CESIUM_BASE_URL?CESIUM_BASE_URL:a(),!t(e))throw new r("Unable to determine Cesium base URL automatically, try defining a global variable called CESIUM_BASE_URL.");return u=new n(e).resolve(new n(document.location.href))}function o(t){return e.toUrl("../"+t)}function s(e){return new n(e).resolve(i()).toString()}var u,l,c,f=/((?:.*\/)|^)cesium[\w-]*\.js(?:\W|$)/i,d=function(r){t(l)||(l=t(e.toUrl)?o:s),t(c)||(c=document.createElement("a"));var n=l(r);return c.href=n,c.href=c.href,c.href};return d._cesiumScriptRegex=f,d}),define("Core/Iau2006XysSample",[],function(){"use strict";var e=function(e,t,r){this.x=e,this.y=t,this.s=r};return e}),define("Core/binarySearch",["./defined","./DeveloperError"],function(){"use strict";var e=function(e,t,r){for(var n,a,i=0,o=e.length-1;o>=i;)if(n=~~((i+o)/2),a=r(e[n],t),0>a)i=n+1;else{if(!(a>0))return n;o=n-1}return~(o+1)};return e}),define("Core/TimeConstants",[],function(){"use strict";var e={SECONDS_PER_MILLISECOND:.001,SECONDS_PER_MINUTE:60,MINUTES_PER_HOUR:60,HOURS_PER_DAY:24,SECONDS_PER_HOUR:3600,MINUTES_PER_DAY:1440,SECONDS_PER_DAY:86400,DAYS_PER_JULIAN_CENTURY:36525,PICOSECOND:1e-9,MODIFIED_JULIAN_DATE_DIFFERENCE:2400000.5};return e}),define("Core/LeapSecond",["./defined","./DeveloperError","./isArray"],function(){"use strict";var e=function(e,t){this.julianDate=e,this.offset=t};return e.setLeapSeconds=function(t){e._leapSeconds=t,e._leapSeconds.sort(e.compareLeapSecondDate)},e.getLeapSeconds=function(){return e._leapSeconds},e.prototype.equals=function(e){return this.julianDate.equals(e.julianDate)&&this.offset===e.offset},e.compareLeapSecondDate=function(e,t){return e.julianDate.compareTo(t.julianDate)},e._leapSeconds=[],e}),define("Core/TimeStandard",[],function(){"use strict";var e={UTC:0,TAI:1};return e}),define("Core/isLeapYear",["./DeveloperError"],function(){"use strict";function e(e){return 0===e%4&&0!==e%100||0===e%400}return e}),define("ThirdParty/sprintf",[],function(){function e(){var e=/%%|%(\d+\$)?([-+\'#0 ]*)(\*\d+\$|\*|\d+)?(\.(\*\d+\$|\*|\d+))?([scboxXuideEfFgG])/g,t=arguments,r=0,n=t[r++],a=function(e,t,r,n){r||(r=" ");var a=e.length>=t?"":Array(1+t-e.length>>>0).join(r);return n?e+a:a+e},i=function(e,t,r,n,i,o){var s=n-e.length;return s>0&&(e=r||!i?a(e,n,o,r):e.slice(0,t.length)+a("",s,"0",!0)+e.slice(t.length)),e},o=function(e,t,r,n,o,s,u){var l=e>>>0;return r=r&&l&&{2:"0b",8:"0",16:"0x"}[t]||"",e=r+a(l.toString(t),s||0,"0",!1),i(e,r,n,o,u)},s=function(e,t,r,n,a,o){return null!=n&&(e=e.slice(0,n)),i(e,"",t,r,a,o)},u=function(e,n,u,l,c,f,d){var h,m,y,p,v;if("%%"==e)return"%";for(var g=!1,E="",w=!1,S=!1,C=" ",x=u.length,A=0;u&&x>A;A++)switch(u.charAt(A)){case" ":E=" ";break;case"+":E="+";break;case"-":g=!0;break;case"'":C=u.charAt(A+1);break;case"0":w=!0;break;case"#":S=!0}if(l=l?"*"==l?+t[r++]:"*"==l.charAt(0)?+t[l.slice(1,-1)]:+l:0,0>l&&(l=-l,g=!0),!isFinite(l))throw new Error("sprintf: (minimum-)width must be finite");switch(f=f?"*"==f?+t[r++]:"*"==f.charAt(0)?+t[f.slice(1,-1)]:+f:"fFeE".indexOf(d)>-1?6:"d"==d?0:void 0,v=n?t[n.slice(0,-1)]:t[r++],d){case"s":return s(String(v),g,l,f,w,C);case"c":return s(String.fromCharCode(+v),g,l,f,w);case"b":return o(v,2,S,g,l,f,w);case"o":return o(v,8,S,g,l,f,w);case"x":return o(v,16,S,g,l,f,w);case"X":return o(v,16,S,g,l,f,w).toUpperCase();case"u":return o(v,10,S,g,l,f,w);case"i":case"d":return h=+v||0,h=Math.round(h-h%1),m=0>h?"-":E,v=m+a(String(Math.abs(h)),f,"0",!1),i(v,m,g,l,w);case"e":case"E":case"f":case"F":case"g":case"G":return h=+v,m=0>h?"-":E,y=["toExponential","toFixed","toPrecision"]["efg".indexOf(d.toLowerCase())],p=["toString","toUpperCase"]["eEfFgG".indexOf(d)%2],v=m+Math.abs(h)[y](f),i(v,m,g,l,w)[p]();default:return e}};return n.replace(e,u)}return e}),define("Core/JulianDate",["./DeveloperError","./binarySearch","./defined","./defaultValue","./TimeConstants","./LeapSecond","./TimeStandard","./isLeapYear","../ThirdParty/sprintf"],function(e,t,r,n,a,i,o,s,u){"use strict";function l(e){v.julianDate=e;var r=i.getLeapSeconds(),n=t(r,v,i.compareLeapSecondDate);0>n&&(n=~n),n>=r.length&&(n=r.length-1);var a=r[n].offset;if(n>0){var o=e.getSecondsDifference(r[n].julianDate);o>a&&(n--,a=r[n].offset)}e.addSeconds(a,e)}function c(e,r){v.julianDate=e; +var n=i.getLeapSeconds(),a=t(n,v,i.compareLeapSecondDate);if(0>a&&(a=~a),0===a)return e.addSeconds(-n[0].offset,r);if(a>=n.length)return e.addSeconds(-n[a-1].offset,r);var o=e.getSecondsDifference(n[a].julianDate);return 0===o?e.addSeconds(-n[a].offset,r):1>=o?void 0:e.addSeconds(-n[--a].offset,r)}function f(e,t,n){var i=0|t/a.SECONDS_PER_DAY;return e+=i,t-=a.SECONDS_PER_DAY*i,0>t&&(e--,t+=a.SECONDS_PER_DAY),r(n)?(n._julianDayNumber=e,n._secondsOfDay=t,n):new b(e,t,o.TAI)}function d(e,t,r,n,i,o,s){var u=0|(t-14)/12,l=e+4800+u,c=(0|1461*l/4)+(0|367*(t-2-12*u)/12)-(0|3*((l+100)/100)/4)+r-32075;n-=12,0>n&&(n+=24);var f=o+(n*a.SECONDS_PER_HOUR+i*a.SECONDS_PER_MINUTE+s*a.SECONDS_PER_MILLISECOND);return f>=43200&&(c-=1),[c,f]}function h(e){return d(e.getUTCFullYear(),e.getUTCMonth()+1,e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds())}var m=function(e,t,r,n,a,i,o,s){this.year=e,this.month=t,this.day=r,this.hour=n,this.minute=a,this.second=i,this.millisecond=o,this.isLeapSecond=s},y=[31,28,31,30,31,30,31,31,30,31,30,31],p=29,v={julianDate:void 0},g=/^(\d{4})$/,E=/^(\d{4})-(\d{2})$/,w=/^(\d{4})-?(\d{3})$/,S=/^(\d{4})-?W(\d{2})-?(\d{1})?$/,C=/^(\d{4})-?(\d{2})-?(\d{2})$/,x=/([Z+\-])?(\d{2})?:?(\d{2})?$/,A=/^(\d{2})(\.\d+)?/.source+x.source,T=/^(\d{2}):?(\d{2})(\.\d+)?/.source+x.source,O=/^(\d{2}):?(\d{2}):?(\d{2})(\.\d+)?/.source+x.source,M="Valid ISO 8601 date string required.",b=function(e,t,i){this._julianDayNumber=void 0,this._secondsOfDay=void 0;var s,u;if(r(e)||r(t)||r(i))i=n(i,o.UTC),s=0|e,u=t+(e-s)*a.SECONDS_PER_DAY;else{var c=new Date,d=h(c);s=d[0],u=d[1],i=o.UTC}f(s,u,this),i===o.UTC&&l(this)};b.clone=function(e,t){return r(e)?r(t)?(t._julianDayNumber=e._julianDayNumber,t._secondsOfDay=e._secondsOfDay,t):new b(e._julianDayNumber,e._secondsOfDay,o.TAI):void 0},b.fromDate=function(e,t){var r=h(e);return new b(r[0],r[1],t)},b.fromIso8601=function(t){t=t.replace(",",".");var n,a,i,u=t.split("T"),l=1,c=1,f=0,h=0,m=0,v=0,x=u[0],D=u[1];if(!r(x))throw new e(M);var _;if(u=x.match(C),null!==u){if(_=x.split("-").length-1,_>0&&2!==_)throw new e(M);n=+u[1],l=+u[2],c=+u[3]}else if(u=x.match(E),null!==u)n=+u[1],l=+u[2];else if(u=x.match(g),null!==u)n=+u[1];else{var I;if(u=x.match(w),null!==u){if(n=+u[1],I=+u[2],i=s(n),1>I||i&&I>366||!i&&I>365)throw new e(M)}else{if(u=x.match(S),null===u)throw new e(M);n=+u[1];var N=+u[2],P=+u[3]||0;if(_=x.split("-").length-1,_>0&&(!r(u[3])&&1!==_||r(u[3])&&2!==_))throw new e(M);var R=new Date(Date.UTC(n,0,4));I=7*N+P-R.getUTCDay()-3}a=new Date(Date.UTC(n,0,1)),a.setUTCDate(I),l=a.getUTCMonth()+1,c=a.getUTCDate()}if(i=s(n),1>l||l>12||1>c||(2!==l||!i)&&c>y[l-1]||i&&2===l&&c>p)throw new e(M);var z;if(r(D)){if(u=D.match(O),null!==u){if(_=D.split(":").length-1,_>0&&2!==_&&3!==_)throw new e(M);f=+u[1],h=+u[2],m=+u[3],v=1e3*+(u[4]||0),z=5}else if(u=D.match(T),null!==u){if(_=D.split(":").length-1,_>0&&1!==_)throw new e(M);f=+u[1],h=+u[2],m=60*+(u[3]||0),z=4}else{if(u=D.match(A),null===u)throw new e(M);f=+u[1],h=60*+(u[2]||0),z=3}if(h>=60||m>=61||f>24||24===f&&(h>0||m>0||v>0))throw new e(M);var L=u[z],F=+u[z+1],U=+(u[z+2]||0);switch(L){case"+":f-=F,h-=U;break;case"-":f+=F,h+=U;break;case"Z":break;default:h+=new Date(Date.UTC(n,l-1,c,f,h)).getTimezoneOffset()}}else h+=new Date(Date.UTC(n,l-1,c)).getTimezoneOffset();var B=60===m;for(B&&m--;h>=60;)h-=60,f++;for(;f>=24;)f-=24,c++;for(a=i&&2===l?p:y[l-1];c>a;)c-=a,l++,l>12&&(l-=12,n++),a=i&&2===l?p:y[l-1];for(;0>h;)h+=60,f--;for(;0>f;)f+=24,c--;for(;1>c;)l--,1>l&&(l+=12,n--),a=i&&2===l?p:y[l-1],c+=a;var q=d(n,l,c,f,h,m,v),G=new b(q[0],q[1],o.UTC);return B&&G.addSeconds(1,G),G},b.fromTotalDays=function(e,t){return new b(e,0,t)},b.compare=function(e,t){var r=e._julianDayNumber-t._julianDayNumber;return 0!==r?r:e._secondsOfDay-t._secondsOfDay},b.equals=function(e,t){return e===t||r(e)&&r(t)&&e._julianDayNumber===t._julianDayNumber&&e._secondsOfDay===t._secondsOfDay},b.equalsEpsilon=function(e,t,r){return Math.abs(e.getSecondsDifference(t))<=r},b.prototype.clone=function(e){return b.clone(this,e)},b.prototype.getTotalDays=function(){return this._julianDayNumber+this._secondsOfDay/a.SECONDS_PER_DAY},b.prototype.getJulianDayNumber=function(){return this._julianDayNumber},b.prototype.getJulianTimeFraction=function(){return this._secondsOfDay/a.SECONDS_PER_DAY},b.prototype.getSecondsOfDay=function(){return this._secondsOfDay};var D=new b(0,0,o.TAI);return b.prototype.toGregorianDate=function(){var e=!1,t=c(this,D);r(t)||(this.addSeconds(-1,D),t=c(D,D),e=!0);var n=t._julianDayNumber,i=t._secondsOfDay;i>=43200&&(n+=1);var o=0|n+68569,s=0|4*o/146097;o=0|o-(0|(146097*s+3)/4);var u=0|4e3*(o+1)/1461001;o=0|o-(0|1461*u/4)+31;var l=0|80*o/2447,f=0|o-(0|2447*l/80);o=0|l/11;var d=0|l+2-12*o,h=0|100*(s-49)+u+o,y=0|i/a.SECONDS_PER_HOUR,p=i-y*a.SECONDS_PER_HOUR,v=0|p/a.SECONDS_PER_MINUTE;p-=v*a.SECONDS_PER_MINUTE;var g=0|p,E=(p-g)/a.SECONDS_PER_MILLISECOND;return y+=12,y>23&&(y-=24),e&&(g+=1),new m(h,d,f,y,v,g,E,e)},b.prototype.toDate=function(){var e=this.toGregorianDate(),t=e.second;return e.isLeapSecond&&(t-=1),new Date(Date.UTC(e.year,e.month-1,e.day,e.hour,e.minute,t,e.millisecond))},b.prototype.toIso8601=function(e){var t,n=this.toGregorianDate();return r(e)||0===n.millisecond?r(e)&&0!==e?(t=(.01*n.millisecond).toFixed(e).replace(".","").slice(0,e),u("%04d-%02d-%02dT%02d:%02d:%02d.%sZ",n.year,n.month,n.day,n.hour,n.minute,n.second,t)):u("%04d-%02d-%02dT%02d:%02d:%02dZ",n.year,n.month,n.day,n.hour,n.minute,n.second):(t=(.01*n.millisecond).toString().replace(".",""),u("%04d-%02d-%02dT%02d:%02d:%02d.%sZ",n.year,n.month,n.day,n.hour,n.minute,n.second,t))},b.prototype.getSecondsDifference=function(e){var t=this,r=e,n=(r._julianDayNumber-t._julianDayNumber)*a.SECONDS_PER_DAY;return n+(r._secondsOfDay-t._secondsOfDay)},b.prototype.getMinutesDifference=function(e){return this.getSecondsDifference(e)/a.SECONDS_PER_MINUTE},b.prototype.getDaysDifference=function(e){var t=this,r=e,n=r._julianDayNumber-t._julianDayNumber,i=(r._secondsOfDay-t._secondsOfDay)/a.SECONDS_PER_DAY;return n+i},b.prototype.getTaiMinusUtc=function(){v.julianDate=this;var e=i.getLeapSeconds(),r=t(e,v,i.compareLeapSecondDate);return 0>r&&(r=~r,--r,0>r&&(r=0)),e[r].offset},b.prototype.addSeconds=function(e,t){return f(this._julianDayNumber,this._secondsOfDay+e,t)},b.prototype.addMinutes=function(e){var t=this._secondsOfDay+e*a.SECONDS_PER_MINUTE;return new b(this._julianDayNumber,t,o.TAI)},b.prototype.addHours=function(e){var t=this._secondsOfDay+e*a.SECONDS_PER_HOUR;return new b(this._julianDayNumber,t,o.TAI)},b.prototype.addDays=function(e){var t=this._julianDayNumber+e;return new b(t,this._secondsOfDay,o.TAI)},b.prototype.lessThan=function(e){return b.compare(this,e)<0},b.prototype.lessThanOrEquals=function(e){return b.compare(this,e)<=0},b.prototype.greaterThan=function(e){return b.compare(this,e)>0},b.prototype.greaterThanOrEquals=function(e){return b.compare(this,e)>=0},b.prototype.compareTo=function(e){return b.compare(this,e)},b.prototype.equals=function(e){return b.equals(this,e)},b.prototype.equalsEpsilon=function(e,t){return b.equalsEpsilon(this,e,t)},0===i._leapSeconds.length&&(i._leapSeconds=[new i(new b(2441317,43210,o.TAI),10),new i(new b(2441499,43211,o.TAI),11),new i(new b(2441683,43212,o.TAI),12),new i(new b(2442048,43213,o.TAI),13),new i(new b(2442413,43214,o.TAI),14),new i(new b(2442778,43215,o.TAI),15),new i(new b(2443144,43216,o.TAI),16),new i(new b(2443509,43217,o.TAI),17),new i(new b(2443874,43218,o.TAI),18),new i(new b(2444239,43219,o.TAI),19),new i(new b(2444786,43220,o.TAI),20),new i(new b(2445151,43221,o.TAI),21),new i(new b(2445516,43222,o.TAI),22),new i(new b(2446247,43223,o.TAI),23),new i(new b(2447161,43224,o.TAI),24),new i(new b(2447892,43225,o.TAI),25),new i(new b(2448257,43226,o.TAI),26),new i(new b(2448804,43227,o.TAI),27),new i(new b(2449169,43228,o.TAI),28),new i(new b(2449534,43229,o.TAI),29),new i(new b(2450083,43230,o.TAI),30),new i(new b(2450630,43231,o.TAI),31),new i(new b(2451179,43232,o.TAI),32),new i(new b(2453736,43233,o.TAI),33),new i(new b(2454832,43234,o.TAI),34),new i(new b(2456109,43235,o.TAI),35)]),b}),define("Core/clone",["./defaultValue"],function(e){"use strict";var t=function(r,n){if(null===r||"object"!=typeof r)return r;n=e(n,!1);var a=new r.constructor;for(var i in r)if(r.hasOwnProperty(i)){var o=r[i];n&&(o=t(o,n)),a[i]=o}return a};return t}),define("Core/parseResponseHeaders",[],function(){"use strict";var e=function(e){var t={};if(!e)return t;for(var r=e.split("\r\n"),n=0;n0){var o=a.substring(0,i),s=a.substring(i+2);t[o]=s}}return t};return e}),define("Core/RequestErrorEvent",["./defined","./parseResponseHeaders"],function(e,t){"use strict";var r=function(e,r,n){this.statusCode=e,this.response=r,this.responseHeaders=n,"string"==typeof this.responseHeaders&&(this.responseHeaders=t(this.responseHeaders))};return r.prototype.toString=function(){var t="Request has failed.";return e(this.statusCode)&&(t+=" Status Code: "+this.statusCode),t},r}),function(e){"use strict";e("ThirdParty/when",[],function(){function e(e,r,n,a){return t(e).then(r,n,a)}function t(e){var t,r;return e instanceof n?t=e:s(e)?(r=o(),e.then(function(e){r.resolve(e)},function(e){r.reject(e)},function(e){r.progress(e)}),t=r.promise):t=a(e),t}function r(t){return e(t,i)}function n(e){this.then=e}function a(e){var r=new n(function(r){try{return t(r?r(e):e)}catch(n){return i(n)}});return r}function i(e){var r=new n(function(r,n){try{return n?t(n(e)):i(e)}catch(a){return i(a)}});return r}function o(){function e(e,t,r){return d(e,t,r)}function r(e){return m(e)}function a(e){return m(i(e))}function s(e){return h(e)}var u,l,c,f,d,h,m;return l=new n(e),u={then:e,resolve:r,reject:a,progress:s,promise:l,resolver:{resolve:r,reject:a,progress:s}},c=[],f=[],d=function(e,t,r){var n,a;return n=o(),a="function"==typeof r?function(e){try{n.progress(r(e))}catch(t){n.progress(t)}}:function(e){n.progress(e)},c.push(function(r){r.then(e,t).then(n.resolve,n.reject,a)}),f.push(a),n.promise},h=function(e){return y(f,e),e},m=function(e){return e=t(e),d=e.then,m=t,h=v,y(c,e),f=c=S,e},u}function s(e){return e&&"function"==typeof e.then}function u(t,r,n,a,i){return p(2,arguments),e(t,function(t){function s(e){y(e)}function u(e){m(e)}var l,c,f,d,h,m,y,p,g,E;if(g=t.length>>>0,l=Math.max(0,Math.min(r,g)),f=[],c=g-l+1,d=[],h=o(),l)for(p=h.progress,y=function(e){d.push(e),--c||(m=y=v,h.reject(d))},m=function(e){f.push(e),--l||(m=y=v,h.resolve(f))},E=0;g>E;++E)E in t&&e(t[E],u,s,p);else h.resolve(f);return h.then(n,a,i)})}function l(e,t,r,n){function a(e){return t?t(e[0]):e[0]}return u(e,1,a,r,n)}function c(e,t,r,n){return p(1,arguments),d(e,g).then(t,r,n)}function f(){return d(arguments,g)}function d(t,r){return e(t,function(t){var n,a,i,s,u,l;if(i=a=t.length>>>0,n=[],l=o(),i)for(s=function(t,a){e(t,r).then(function(e){n[a]=e,--i||l.resolve(n)},l.reject)},u=0;a>u;u++)u in t?s(t[u],u):--i;else l.resolve(n);return l.promise})}function h(t,r){var n=w.call(arguments,1);return e(t,function(t){var a;return a=t.length,n[0]=function(t,n,i){return e(t,function(t){return e(n,function(e){return r(t,e,i,a)})})},E.apply(t,n)})}function m(t,r,n){var a=arguments.length>2;return e(t,function(e){return e=a?n:e,r.resolve(e),e},function(e){return r.reject(e),i(e)},r.progress)}function y(e,t){for(var r,n=0;r=e[n++];)r(t)}function p(e,t){for(var r,n=t.length;n>e;)if(r=t[--n],null!=r&&"function"!=typeof r)throw new Error("arg "+n+" must be a function")}function v(){}function g(e){return e}var E,w,S;return e.defer=o,e.resolve=t,e.reject=r,e.join=f,e.all=c,e.map=d,e.reduce=h,e.any=l,e.some=u,e.chain=m,e.isPromise=s,n.prototype={always:function(e,t){return this.then(e,e,t)},otherwise:function(e){return this.then(S,e)},yield:function(e){return this.then(function(){return e})},spread:function(e){return this.then(function(t){return c(t,function(t){return e.apply(S,t)})})}},w=[].slice,E=[].reduce||function(e){var t,r,n,a,i;if(i=0,t=Object(this),a=t.length>>>0,r=arguments,r.length<=1)for(;;){if(i in t){n=t[i++];break}if(++i>=a)throw new TypeError}else n=r[1];for(;a>i;++i)i in t&&(n=e(n,t[i],i,t));return n},e})}("function"==typeof define&&define.amd?define:function(e){"object"==typeof exports?module.exports=e():this.when=e()}),define("Core/loadWithXhr",["./defined","./defaultValue","./DeveloperError","./RequestErrorEvent","../ThirdParty/when"],function(e,t,r,n,a){"use strict";var i=function(e){e=t(e,t.EMPTY_OBJECT);var r=e.responseType,n=t(e.method,"GET"),o=e.data,s=e.headers;return a(e.url,function(e){var t=a.defer();return i.load(e,r,n,o,s,t),t.promise})};return i.load=function(t,r,a,i,o,s){var u=new XMLHttpRequest;if(u.open(a,t,!0),e(o))for(var l in o)o.hasOwnProperty(l)&&u.setRequestHeader(l,o[l]);e(r)&&(u.responseType=r),u.onload=function(){200===u.status?s.resolve(u.response):s.reject(new n(u.status,u.response,u.getAllResponseHeaders()))},u.onerror=function(){s.reject(new n)},u.send(i)},i.defaultLoad=i.load,i}),define("Core/loadText",["./loadWithXhr"],function(e){"use strict";var t=function(t,r){return e({url:t,headers:r})};return t}),define("Core/loadJson",["./clone","./defined","./loadText","./DeveloperError"],function(e,t,r){"use strict";var n={Accept:"application/json,*/*;q=0.01"},a=function(a,i){return t(i)?t(i.Accept)||(i=e(i),i.Accept=n.Accept):i=n,r(a,i).then(function(e){return JSON.parse(e)})};return a}),define("Core/Iau2006XysData",["./buildModuleUrl","./defaultValue","./defined","./Iau2006XysSample","./JulianDate","./loadJson","./TimeStandard","../ThirdParty/when"],function(e,t,r,n,a,i,o,s){"use strict";function u(e,t,r){var n=f;return n._julianDayNumber=t,n._secondsOfDay=r,e._sampleZeroDateTT.getDaysDifference(n)}function l(t,n){if(t._chunkDownloadsInProgress[n])return t._chunkDownloadsInProgress[n];var a=s.defer();t._chunkDownloadsInProgress[n]=a;var o,u=t._xysFileUrlTemplate;return o=r(u)?u.replace("{0}",n):e("Assets/IAU2006_XYS/IAU2006_XYS_"+n+".json"),s(i(o),function(e){t._chunkDownloadsInProgress[n]=!1;for(var r=t._samples,i=e.samples,o=3*n*t._samplesPerXysFile,s=0,u=i.length;u>s;++s)r[o+s]=i[s];a.resolve()}),a.promise}var c=function(e){e=t(e,t.EMPTY_OBJECT),this._xysFileUrlTemplate=e.xysFileUrlTemplate,this._interpolationOrder=t(e.interpolationOrder,9),this._sampleZeroJulianEphemerisDate=t(e.sampleZeroJulianEphemerisDate,2442396.5),this._sampleZeroDateTT=new a(this._sampleZeroJulianEphemerisDate,0,o.TAI),this._stepSizeDays=t(e.stepSizeDays,1),this._samplesPerXysFile=t(e.samplesPerXysFile,1e3),this._totalSamples=t(e.totalSamples,27426),this._samples=new Array(3*this._totalSamples),this._chunkDownloadsInProgress=[];for(var r=this._interpolationOrder,n=this._denominators=new Array(r+1),i=this._xTable=new Array(r+1),s=Math.pow(this._stepSizeDays,r),u=0;r>=u;++u){n[u]=s,i[u]=u*this._stepSizeDays;for(var l=0;r>=l;++l)l!==u&&(n[u]*=u-l);n[u]=1/n[u]}this._work=new Array(r+1),this._coef=new Array(r+1)},f=new a(0,0,o.TAI);return c.prototype.preload=function(e,t,r,n){var a=u(this,e,t),i=u(this,r,n),o=0|a/this._stepSizeDays-this._interpolationOrder/2;0>o&&(o=0);var c=i/this._stepSizeDays-this._interpolationOrder/2|0+this._interpolationOrder;c>=this._totalSamples&&(c=this._totalSamples-1);for(var f=0|o/this._samplesPerXysFile,d=0|c/this._samplesPerXysFile,h=[],m=f;d>=m;++m)h.push(l(this,m));return s.all(h)},c.prototype.computeXysRadians=function(e,t,a){var i=u(this,e,t);if(0>i)return void 0;var o=0|i/this._stepSizeDays;if(o>=this._totalSamples)return void 0;var s=this._interpolationOrder,c=o-(0|s/2);0>c&&(c=0);var f=c+s;f>=this._totalSamples&&(f=this._totalSamples-1,c=f-s,0>c&&(c=0));var d=!1,h=this._samples;if(r(h[3*c])||(l(this,0|c/this._samplesPerXysFile),d=!0),r(h[3*f])||(l(this,0|f/this._samplesPerXysFile),d=!0),d)return void 0;r(a)?(a.x=0,a.y=0,a.s=0):a=new n(0,0,0);var m,y,p=i-c*this._stepSizeDays,v=this._work,g=this._denominators,E=this._coef,w=this._xTable;for(m=0;s>=m;++m)v[m]=p-w[m];for(m=0;s>=m;++m){for(E[m]=1,y=0;s>=y;++y)y!==m&&(E[m]*=v[y]);E[m]*=g[m];var S=3*(c+m);a.x+=E[m]*h[S++],a.y+=E[m]*h[S++],a.s+=E[m]*h[S]}return a},c}),define("Core/EarthOrientationParametersSample",[],function(){"use strict";var e=function(e,t,r,n,a){this.xPoleWander=e,this.yPoleWander=t,this.xPoleOffset=r,this.yPoleOffset=n,this.ut1MinusUtc=a};return e}),define("Core/EarthOrientationParameters",["./binarySearch","./defaultValue","./defined","./EarthOrientationParametersSample","./freezeObject","./loadJson","./JulianDate","./LeapSecond","./RuntimeError","./TimeConstants","./TimeStandard","../ThirdParty/when"],function(e,t,r,n,a,i,o,s,u,l,c,f){"use strict";function d(e,t){return o.compare(e.julianDate,t)}function h(t,n){if(!r(n.columnNames))return t._dataError="Error in loaded EOP data: The columnNames property is required.",void 0;if(!r(n.samples))return t._dataError="Error in loaded EOP data: The samples property is required.",void 0;var a=n.columnNames.indexOf("modifiedJulianDateUtc"),i=n.columnNames.indexOf("xPoleWanderRadians"),u=n.columnNames.indexOf("yPoleWanderRadians"),f=n.columnNames.indexOf("ut1MinusUtcSeconds"),h=n.columnNames.indexOf("xCelestialPoleOffsetRadians"),m=n.columnNames.indexOf("yCelestialPoleOffsetRadians"),y=n.columnNames.indexOf("taiMinusUtcSeconds");if(0>a||0>i||0>u||0>f||0>h||0>m||0>y)return t._dataError="Error in loaded EOP data: The columnNames property must include modifiedJulianDateUtc, xPoleWanderRadians, yPoleWanderRadians, ut1MinusUtcSeconds, xCelestialPoleOffsetRadians, yCelestialPoleOffsetRadians, and taiMinusUtcSeconds columns",void 0;var p=t._samples=n.samples,v=t._dates=[];t._dateColumn=a,t._xPoleWanderRadiansColumn=i,t._yPoleWanderRadiansColumn=u,t._ut1MinusUtcSecondsColumn=f,t._xCelestialPoleOffsetRadiansColumn=h,t._yCelestialPoleOffsetRadiansColumn=m,t._taiMinusUtcSecondsColumn=y,t._columnCount=n.columnNames.length,t._lastIndex=void 0;for(var g,E=t._addNewLeapSeconds,w=0,S=p.length;S>w;w+=t._columnCount){var C=p[w+a],x=p[w+y],A=C+l.MODIFIED_JULIAN_DATE_DIFFERENCE,T=new o(A,x,c.TAI);if(v.push(T),E){if(x!==g&&r(g)){var O=s.getLeapSeconds(),M=e(O,T,d);if(0>M){var b=new s(T,x);O.splice(~M,0,b)}}g=x}}}function m(e,t,r,n,a){var i=r*n;a.xPoleWander=t[i+e._xPoleWanderRadiansColumn],a.yPoleWander=t[i+e._yPoleWanderRadiansColumn],a.xPoleOffset=t[i+e._xCelestialPoleOffsetRadiansColumn],a.yPoleOffset=t[i+e._yCelestialPoleOffsetRadiansColumn],a.ut1MinusUtc=t[i+e._ut1MinusUtcSecondsColumn]}function y(e,t,r){return t+e*(r-t)}function p(e,t,r,n,a,i,o){var s=e._columnCount;if(i>t.length-1)return o.xPoleWander=0,o.yPoleWander=0,o.xPoleOffset=0,o.yPoleOffset=0,o.ut1MinusUtc=0,o;var u=t[a],l=t[i];if(u.equals(l)||n.equals(u))return m(e,r,a,s,o),o;if(n.equals(l))return m(e,r,i,s,o),o;var c=u.getSecondsDifference(n)/u.getSecondsDifference(l),f=a*s,d=i*s,h=r[f+e._ut1MinusUtcSecondsColumn],p=r[d+e._ut1MinusUtcSecondsColumn],v=p-h;if(v>.5||-.5>v){var g=r[f+e._taiMinusUtcSecondsColumn],E=r[d+e._taiMinusUtcSecondsColumn];g!==E&&(l.equals(n)?h=p:p-=E-g)}return o.xPoleWander=y(c,r[f+e._xPoleWanderRadiansColumn],r[d+e._xPoleWanderRadiansColumn]),o.yPoleWander=y(c,r[f+e._yPoleWanderRadiansColumn],r[d+e._yPoleWanderRadiansColumn]),o.xPoleOffset=y(c,r[f+e._xCelestialPoleOffsetRadiansColumn],r[d+e._xCelestialPoleOffsetRadiansColumn]),o.yPoleOffset=y(c,r[f+e._yCelestialPoleOffsetRadiansColumn],r[d+e._yCelestialPoleOffsetRadiansColumn]),o.ut1MinusUtc=y(c,h,p),o}var v=function(e){if(e=t(e,t.EMPTY_OBJECT),this._dates=void 0,this._samples=void 0,this._dateColumn=-1,this._xPoleWanderRadiansColumn=-1,this._yPoleWanderRadiansColumn=-1,this._ut1MinusUtcSecondsColumn=-1,this._xCelestialPoleOffsetRadiansColumn=-1,this._yCelestialPoleOffsetRadiansColumn=-1,this._taiMinusUtcSecondsColumn=-1,this._columnCount=0,this._lastIndex=-1,this._downloadPromise=void 0,this._dataError=void 0,this._addNewLeapSeconds=t(e.addNewLeapSeconds,!0),r(e.data))h(this,e.data);else if(r(e.url)){var n=this;this._downloadPromise=f(i(e.url),function(e){h(n,e)},function(){n._dataError="An error occurred while retrieving the EOP data from the URL "+e.url+"."})}else h(this,{columnNames:["dateIso8601","modifiedJulianDateUtc","xPoleWanderRadians","yPoleWanderRadians","ut1MinusUtcSeconds","lengthOfDayCorrectionSeconds","xCelestialPoleOffsetRadians","yCelestialPoleOffsetRadians","taiMinusUtcSeconds"],samples:[]})};return v.NONE=a({getPromiseToLoad:function(){return f()},compute:function(e,t){return r(t)?(t.xPoleWander=0,t.yPoleWander=0,t.xPoleOffset=0,t.yPoleOffset=0,t.ut1MinusUtc=0):t=new n(0,0,0,0,0),t}}),v.prototype.getPromiseToLoad=function(){return f(this._downloadPromise)},v.prototype.compute=function(t,a){if(!r(this._samples)){if(r(this._dataError))throw new u(this._dataError);return void 0}if(r(a)||(a=new n(0,0,0,0,0)),0===this._samples.length)return a.xPoleWander=0,a.yPoleWander=0,a.xPoleOffset=0,a.yPoleOffset=0,a.ut1MinusUtc=0,a;var i=this._dates,s=this._lastIndex,l=0,c=0;if(r(s)){var f=i[s],d=i[s+1],h=f.lessThanOrEquals(t),m=!r(d),y=m||d.greaterThanOrEquals(t);if(h&&y)return l=s,!m&&d.equals(t)&&++l,c=l+1,p(this,i,this._samples,t,l,c,a),a}var v=e(i,t,o.compare,this._dateColumn);return v>=0?(vl&&(l=0)),this._lastIndex=l,p(this,i,this._samples,t,l,c,a),a},v}),define("Core/Transforms",["./defaultValue","./defined","./DeveloperError","./Iau2006XysData","./Iau2006XysSample","./Math","./Matrix3","./Matrix4","./Cartesian2","./Cartesian3","./Cartesian4","./TimeConstants","./Ellipsoid","./EarthOrientationParameters","./EarthOrientationParametersSample","../ThirdParty/when"],function(e,t,r,n,a,i,o,s,u,l,c,f,d,h,m,y){"use strict";var p={},v=new l,g=new l,E=new l;p.eastNorthUpToFixedFrame=function(r,n,a){if(i.equalsEpsilon(r.x,0,i.EPSILON14)&&i.equalsEpsilon(r.y,0,i.EPSILON14)){var o=i.sign(r.z);return t(a)?(a[0]=0,a[1]=1,a[2]=0,a[3]=0,a[4]=-o,a[5]=0,a[6]=0,a[7]=0,a[8]=0,a[9]=0,a[10]=o,a[11]=0,a[12]=r.x,a[13]=r.y,a[14]=r.z,a[15]=1,a):new s(0,-o,0,r.x,1,0,0,r.y,0,0,o,r.z,0,0,0,1)}var u=v,c=g,f=E;return n=e(n,d.WGS84),n.geodeticSurfaceNormal(r,u),c.x=-r.y,c.y=r.x,c.z=0,l.normalize(c,c),l.cross(u,c,f),t(a)?(a[0]=c.x,a[1]=c.y,a[2]=c.z,a[3]=0,a[4]=f.x,a[5]=f.y,a[6]=f.z,a[7]=0,a[8]=u.x,a[9]=u.y,a[10]=u.z,a[11]=0,a[12]=r.x,a[13]=r.y,a[14]=r.z,a[15]=1,a):new s(c.x,f.x,u.x,r.x,c.y,f.y,u.y,r.y,c.z,f.z,u.z,r.z,0,0,0,1)};var w=new l,S=new l,C=new l;p.northEastDownToFixedFrame=function(r,n,a){if(i.equalsEpsilon(r.x,0,i.EPSILON14)&&i.equalsEpsilon(r.y,0,i.EPSILON14)){var o=i.sign(r.z);return t(a)?(a[0]=-o,a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=1,a[6]=0,a[7]=0,a[8]=0,a[9]=0,a[10]=-o,a[11]=0,a[12]=r.x,a[13]=r.y,a[14]=r.z,a[15]=1,a):new s(-o,0,0,r.x,0,1,0,r.y,0,0,-o,r.z,0,0,0,1)}var u=w,c=S,f=C;return n=e(n,d.WGS84),n.geodeticSurfaceNormal(r,u),c.x=-r.y,c.y=r.x,c.z=0,l.normalize(c,c),l.cross(u,c,f),t(a)?(a[0]=f.x,a[1]=f.y,a[2]=f.z,a[3]=0,a[4]=c.x,a[5]=c.y,a[6]=c.z,a[7]=0,a[8]=-u.x,a[9]=-u.y,a[10]=-u.z,a[11]=0,a[12]=r.x,a[13]=r.y,a[14]=r.z,a[15]=1,a):new s(f.x,c.x,-u.x,r.x,f.y,c.y,-u.y,r.y,f.z,c.z,-u.z,r.z,0,0,0,1)};var x=24110.54841,A=8640184.812866,T=.093104,O=-62e-7,M=1.1772758384668e-19,b=72921158553e-15,D=i.TWO_PI/86400;p.computeTemeToPseudoFixedMatrix=function(e,r){var n,a=e.addSeconds(-e.getTaiMinusUtc()),s=a.getJulianDayNumber(),u=a.getSecondsOfDay(),l=s-2451545;n=u>=43200?(l+.5)/f.DAYS_PER_JULIAN_CENTURY:(l-.5)/f.DAYS_PER_JULIAN_CENTURY;var c=x+n*(A+n*(T+n*O)),d=c*D%i.TWO_PI,h=b+M*(s-2451545.5),m=(u+.5*f.SECONDS_PER_DAY)%f.SECONDS_PER_DAY,y=d+h*m,p=Math.cos(y),v=Math.sin(y);return t(r)?(r[0]=p,r[1]=-v,r[2]=0,r[3]=v,r[4]=p,r[5]=0,r[6]=0,r[7]=0,r[8]=1,r):new o(p,v,0,-v,p,0,0,0,1)},p.iau2006XysData=new n,p.earthOrientationParameters=h.NONE;var _=32.184,I=2451545;p.preloadIcrfFixed=function(e){var t=e.start.getJulianDayNumber(),r=e.start.getSecondsOfDay()+_,n=e.stop.getJulianDayNumber(),a=e.stop.getSecondsOfDay()+_,i=p.iau2006XysData.preload(t,r,n,a),o=p.earthOrientationParameters.getPromiseToLoad();return y.all([i,o])},p.computeIcrfToFixedMatrix=function(e,r){var n=p.computeFixedToIcrfMatrix(e,r);return t(n)?o.transpose(n,r):void 0};var N=new a(0,0,0),P=new m(0,0,0,0,0,0),R=new o,z=new o;p.computeFixedToIcrfMatrix=function(e,r){var n=p.earthOrientationParameters.compute(e,P);if(!t(n))return void 0;var a=e.getJulianDayNumber(),s=e.getSecondsOfDay()+_,u=p.iau2006XysData.computeXysRadians(a,s,N);if(!t(u))return void 0;var l=u.x+n.xPoleOffset,c=u.y+n.yPoleOffset,d=1/(1+Math.sqrt(1-l*l-c*c)),h=R;h[0]=1-d*l*l,h[3]=-d*l*c,h[6]=l,h[1]=-d*l*c,h[4]=1-d*c*c,h[7]=c,h[2]=-l,h[5]=-c,h[8]=1-d*(l*l+c*c);var m=o.fromRotationZ(-u.s,z),y=o.multiply(h,m,R),v=e.getJulianDayNumber(),g=e.getSecondsOfDay()-e.getTaiMinusUtc()+n.ut1MinusUtc,E=v-2451545,w=g/f.SECONDS_PER_DAY,S=.779057273264+w+.00273781191135448*(E+w);S=S%1*i.TWO_PI;var C=o.fromRotationZ(S,z),x=o.multiply(y,C,R),A=Math.cos(n.xPoleWander),T=Math.cos(n.yPoleWander),O=Math.sin(n.xPoleWander),M=Math.sin(n.yPoleWander),b=a-I+s/f.SECONDS_PER_DAY;b/=36525;var D=-47e-6*b*i.RADIANS_PER_DEGREE/3600,L=Math.cos(D),F=Math.sin(D),U=z;return U[0]=A*L,U[1]=A*F,U[2]=O,U[3]=-T*F+M*O*L,U[4]=T*L+M*O*F,U[5]=-M*A,U[6]=-M*F-T*O*L,U[7]=M*L-T*O*F,U[8]=T*A,o.multiply(x,U,r)};var L=new c;return p.pointToWindowCoordinates=function(e,t,r,n){var a=L;return s.multiplyByVector(e,c.fromElements(r.x,r.y,r.z,1,a),a),c.multiplyByScalar(a,1/a.w,a),s.multiplyByVector(t,a,a),u.fromCartesian4(a,n)},p}),define("Core/Intersect",["./Enumeration"],function(e){"use strict";var t={OUTSIDE:new e(-1,"OUTSIDE"),INTERSECTING:new e(0,"INTERSECTING"),INSIDE:new e(1,"INSIDE")};return t}),define("Core/AxisAlignedBoundingBox",["./defaultValue","./defined","./DeveloperError","./Cartesian3","./Intersect"],function(e,t,r,n,a){"use strict";var i=function(r,a,i){this.minimum=n.clone(e(r,n.ZERO)),this.maximum=n.clone(e(a,n.ZERO)),t(i)?i=n.clone(i):(i=n.add(this.minimum,this.maximum),n.multiplyByScalar(i,.5,i)),this.center=i};i.fromPoints=function(e,r){if(t(r)||(r=new i),!t(e)||0===e.length)return r.minimum=n.clone(n.ZERO,r.minimum),r.maximum=n.clone(n.ZERO,r.maximum),r.center=n.clone(n.ZERO,r.center),r;for(var a=e[0].x,o=e[0].y,s=e[0].z,u=e[0].x,l=e[0].y,c=e[0].z,f=e.length,d=1;f>d;d++){var h=e[d],m=h.x,y=h.y,p=h.z;a=Math.min(m,a),u=Math.max(m,u),o=Math.min(y,o),l=Math.max(y,l),s=Math.min(p,s),c=Math.max(p,c)}var v=r.minimum;v.x=a,v.y=o,v.z=s;var g=r.maximum;g.x=u,g.y=l,g.z=c;var E=n.add(v,g,r.center);return n.multiplyByScalar(E,.5,E),r},i.clone=function(e,r){return t(e)?t(r)?(r.minimum=n.clone(e.minimum,r.minimum),r.maximum=n.clone(e.maximum,r.maximum),r.center=n.clone(e.center,r.center),r):new i(e.minimum,e.maximum):void 0},i.equals=function(e,r){return e===r||t(e)&&t(r)&&n.equals(e.center,r.center)&&n.equals(e.minimum,r.minimum)&&n.equals(e.maximum,r.maximum)};var o=new n;return i.intersect=function(e,t){o=n.subtract(e.maximum,e.minimum,o);var r=n.multiplyByScalar(o,.5,o),i=r.x*Math.abs(t.x)+r.y*Math.abs(t.y)+r.z*Math.abs(t.z),s=n.dot(e.center,t)+t.w;return s-i>0?a.INSIDE:0>s+i?a.OUTSIDE:a.INTERSECTING},i.prototype.clone=function(e){return i.clone(this,e)},i.prototype.intersect=function(e){return i.intersect(this,e)},i.prototype.equals=function(e){return i.equals(this,e)},i}),define("Core/Ray",["./DeveloperError","./defaultValue","./Cartesian3"],function(e,t,r){"use strict";var n=function(e,n){n=r.clone(t(n,r.ZERO)),r.equals(n,r.ZERO)||r.normalize(n,n),this.origin=r.clone(t(e,r.ZERO)),this.direction=n};return n.prototype.getPoint=function(e,t){return t=r.multiplyByScalar(this.direction,e,t),r.add(this.origin,t,t)},n}),define("Core/EllipsoidTangentPlane",["./defaultValue","./defined","./defineProperties","./DeveloperError","./Transforms","./AxisAlignedBoundingBox","./IntersectionTests","./Cartesian2","./Cartesian3","./Ellipsoid","./Matrix4","./Ray","./Plane"],function(e,t,r,n,a,i,o,s,u,l,c,f,d){"use strict";var h=function(t,r){r=e(r,l.WGS84),t=r.scaleToGeodeticSurface(t);var n=a.eastNorthUpToFixedFrame(t,r);this._ellipsoid=r,this._origin=u.clone(t),this._xAxis=u.fromCartesian4(c.getColumn(n,0)),this._yAxis=u.fromCartesian4(c.getColumn(n,1));var i=u.fromCartesian4(c.getColumn(n,2));this._plane=d.fromPointNormal(t,i)};r(h.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},origin:{get:function(){return this._origin}}});var m=new i;h.fromPoints=function(e,t){var r=i.fromPoints(e,m);return new h(r.center,t)};var y=new f,p=new u;h.prototype.projectPointOntoPlane=function(e,r){var n=y;n.origin=e,u.normalize(e,n.direction);var a=o.rayPlane(n,this._plane,p);if(t(a)||(u.negate(n.direction,n.direction),a=o.rayPlane(n,this._plane,p)),t(a)){var i=u.subtract(a,this._origin,a),l=u.dot(this._xAxis,i),c=u.dot(this._yAxis,i);return t(r)?(r.x=l,r.y=c,r):new s(l,c)}return void 0},h.prototype.projectPointsOntoPlane=function(e,r){t(r)||(r=[]);for(var n=0,a=e.length,i=0;a>i;i++){var o=this.projectPointOntoPlane(e[i],r[n]);t(o)&&(r[n]=o,n++)}return r.length=n,r};var v=new u;return h.prototype.projectPointsOntoEllipsoid=function(e,r){var n=e.length;t(r)?r.length=n:r=new Array(n);for(var a=this._ellipsoid,i=this._origin,o=this._xAxis,s=this._yAxis,l=v,c=0;n>c;++c){var f=e[c];u.multiplyByScalar(o,f.x,l);var d=r[c]=u.add(i,l,r[c]);u.multiplyByScalar(s,f.y,l),u.add(d,l,d),a.scaleToGeocentricSurface(d,d)}return r},h}),define("Core/Fullscreen",["./defined"],function(e){"use strict";var t,r={requestFullscreen:void 0,exitFullscreen:void 0,fullscreenEnabled:void 0,fullscreenElement:void 0,fullscreenchange:void 0,fullscreenerror:void 0},n={};return n.supportsFullscreen=function(){if(e(t))return t;t=!1;var n=document.body;if("function"==typeof n.requestFullscreen)return r.requestFullscreen="requestFullscreen",r.exitFullscreen="exitFullscreen",r.fullscreenEnabled="fullscreenEnabled",r.fullscreenElement="fullscreenElement",r.fullscreenchange="fullscreenchange",r.fullscreenerror="fullscreenerror",t=!0;for(var a,i=["webkit","moz","o","ms","khtml"],o=0,s=i.length;s>o;++o){var u=i[o];a=u+"RequestFullscreen","function"==typeof n[a]?(r.requestFullscreen=a,t=!0):(a=u+"RequestFullScreen","function"==typeof n[a]&&(r.requestFullscreen=a,t=!0)),a=u+"ExitFullscreen","function"==typeof document[a]?r.exitFullscreen=a:(a=u+"CancelFullScreen","function"==typeof document[a]&&(r.exitFullscreen=a)),a=u+"FullscreenEnabled",e(document[a])?r.fullscreenEnabled=a:(a=u+"FullScreenEnabled",e(document[a])&&(r.fullscreenEnabled=a)),a=u+"FullscreenElement",e(document[a])?r.fullscreenElement=a:(a=u+"FullScreenElement",e(document[a])&&(r.fullscreenElement=a)),a=u+"fullscreenchange",e(document["on"+a])&&("ms"===u&&(a="MSFullscreenChange"),r.fullscreenchange=a),a=u+"fullscreenerror",e(document["on"+a])&&("ms"===u&&(a="MSFullscreenError"),r.fullscreenerror=a)}return t},n.requestFullscreen=function(e){n.supportsFullscreen()&&e[r.requestFullscreen]()},n.exitFullscreen=function(){n.supportsFullscreen()&&document[r.exitFullscreen]()},n.isFullscreenEnabled=function(){return n.supportsFullscreen()?document[r.fullscreenEnabled]:void 0},n.getFullscreenElement=function(){return n.supportsFullscreen()?document[r.fullscreenElement]:void 0},n.isFullscreen=function(){return n.supportsFullscreen()?null!==n.getFullscreenElement():void 0},n.getFullscreenChangeEventName=function(){return n.supportsFullscreen()?r.fullscreenchange:void 0},n.getFullscreenErrorEventName=function(){return n.supportsFullscreen()?r.fullscreenerror:void 0},n}),define("Core/FeatureDetection",["./defined","./Fullscreen"],function(e,t){"use strict";function r(e){for(var t=e.split("."),r=0,n=t.length;n>r;++r)t[r]=parseInt(t[r],10);return t}function n(){if(!e(f)){var t=/ Chrome\/([\.0-9]+)/.exec(navigator.userAgent);null===t?f=!1:(f=!0,d=r(t[1]))}return f}function a(){return n()&&d}function i(){if(!e(h))if(n()||!/ Safari\/[\.0-9]+/.test(navigator.userAgent))h=!1;else{var t=/ Version\/([\.0-9]+)/.exec(navigator.userAgent);null===t?h=!1:(h=!0,m=r(t[1]))}return h}function o(){return i()&&m}function s(){if(!e(y)){var t=/ AppleWebKit\/([\.0-9]+)(\+?)/.exec(navigator.userAgent);null===t?y=!1:(y=!0,p=r(t[1]),p.isNightly=!!t[2])}return y}function u(){return s()&&p}function l(){if(!e(v)){var t; +"Microsoft Internet Explorer"===navigator.appName?(t=/MSIE ([0-9]{1,}[\.0-9]{0,})/.exec(navigator.userAgent),null!==t&&(v=!0,g=r(t[1]))):"Netscape"===navigator.appName?(t=/Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/.exec(navigator.userAgent),null!==t&&(v=!0,g=r(t[1]))):v=!1}return v}function c(){return l()&&g}var f,d,h,m,y,p,v,g,E={isChrome:n,chromeVersion:a,isSafari:i,safariVersion:o,isWebkit:s,webkitVersion:u,isInternetExplorer:l,internetExplorerVersion:c};E.supportsFullscreen=function(){return t.supportsFullscreen()},E.supportsTypedArrays=function(){return"undefined"!=typeof ArrayBuffer};var w;return E.supportsTransferringArrayBuffers=function(){if(!e(w)){if(!E.supportsTypedArrays())return w=!1,void 0;var t=new ArrayBuffer(1);try{postMessage({value:t},[t]),w=!0}catch(r){w=!1}}return w},E}),define("Core/Quaternion",["./Cartesian3","./defaultValue","./defined","./DeveloperError","./FeatureDetection","./freezeObject","./Math","./Matrix3"],function(e,t,r,n,a,i,o,s){"use strict";var u,l=function(e,r,n,a){this.x=t(e,0),this.y=t(r,0),this.z=t(n,0),this.w=t(a,0)};l.fromAxisAngle=function(t,n,a){var i=n/2,o=Math.sin(i);u=e.normalize(t,u);var s=u.x*o,c=u.y*o,f=u.z*o,d=Math.cos(i);return r(a)?(a.x=s,a.y=c,a.z=f,a.w=d,a):new l(s,c,f,d)};var c=[1,2,0],f=new Array(3);l.fromRotationMatrix=function(e,t){var n,a,i,o,u,d=e[s.COLUMN0ROW0],h=e[s.COLUMN1ROW1],m=e[s.COLUMN2ROW2],y=d+h+m;if(y>0)n=Math.sqrt(y+1),u=.5*n,n=.5/n,a=(e[s.COLUMN1ROW2]-e[s.COLUMN2ROW1])*n,i=(e[s.COLUMN2ROW0]-e[s.COLUMN0ROW2])*n,o=(e[s.COLUMN0ROW1]-e[s.COLUMN1ROW0])*n;else{var p=c,v=0;h>d&&(v=1),m>d&&m>h&&(v=2);var g=p[v],E=p[g];n=Math.sqrt(e[s.getElementIndex(v,v)]-e[s.getElementIndex(g,g)]-e[s.getElementIndex(E,E)]+1);var w=f;w[v]=.5*n,n=.5/n,u=(e[s.getElementIndex(E,g)]-e[s.getElementIndex(g,E)])*n,w[g]=(e[s.getElementIndex(g,v)]+e[s.getElementIndex(v,g)])*n,w[E]=(e[s.getElementIndex(E,v)]+e[s.getElementIndex(v,E)])*n,a=-w[0],i=-w[1],o=-w[2]}return r(t)?(t.x=a,t.y=i,t.z=o,t.w=u,t):new l(a,i,o,u)};var d=new e,h=new e,m=new l,y=new l,p=new l;l.packedLength=4,l.pack=function(e,r,n){n=t(n,0),r[n++]=e.x,r[n++]=e.y,r[n++]=e.z,r[n]=e.w},l.unpack=function(e,n,a){return n=t(n,0),r(a)||(a=new l),a.x=e[n],a.y=e[n+1],a.z=e[n+2],a.w=e[n+3],a},l.packedInterpolationLength=3,l.convertPackedArrayForInterpolation=function(e,t,r,n){l.unpack(e,4*r,p),l.conjugate(p,p);for(var a=0,i=r-t+1;i>a;a++){var o=3*a;l.unpack(e,4*(t+a),m),l.multiply(m,p,m),m.w<0&&l.negate(m,m),l.getAxis(m,d);var s=l.getAngle(m);n[o]=d.x*s,n[o+1]=d.y*s,n[o+2]=d.z*s}},l.unpackInterpolationResult=function(t,n,a,i,o){r(o)||(o=new l),e.fromArray(t,0,h);var s=e.magnitude(h);return l.unpack(n,4*i,y),0===s?l.clone(l.IDENTITY,m):l.fromAxisAngle(h,s,m),l.multiply(m,y,o)},l.clone=function(e,t){return r(e)?r(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t):new l(e.x,e.y,e.z,e.w):void 0},l.conjugate=function(e,t){return r(t)?(t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=e.w,t):new l(-e.x,-e.y,-e.z,e.w)},l.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w},l.magnitude=function(e){return Math.sqrt(l.magnitudeSquared(e))},l.normalize=function(e,t){var n=1/l.magnitude(e),a=e.x*n,i=e.y*n,o=e.z*n,s=e.w*n;return r(t)?(t.x=a,t.y=i,t.z=o,t.w=s,t):new l(a,i,o,s)},l.inverse=function(e,t){var r=l.magnitudeSquared(e);return t=l.conjugate(e,t),l.multiplyByScalar(t,1/r,t)},l.add=function(e,t,n){return r(n)?(n.x=e.x+t.x,n.y=e.y+t.y,n.z=e.z+t.z,n.w=e.w+t.w,n):new l(e.x+t.x,e.y+t.y,e.z+t.z,e.w+t.w)},l.subtract=function(e,t,n){return r(n)?(n.x=e.x-t.x,n.y=e.y-t.y,n.z=e.z-t.z,n.w=e.w-t.w,n):new l(e.x-t.x,e.y-t.y,e.z-t.z,e.w-t.w)},l.negate=function(e,t){return r(t)?(t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=-e.w,t):new l(-e.x,-e.y,-e.z,-e.w)},l.dot=function(e,t){return e.x*t.x+e.y*t.y+e.z*t.z+e.w*t.w},l.multiply=function(e,t,n){var a=e.x,i=e.y,o=e.z,s=e.w,u=t.x,c=t.y,f=t.z,d=t.w,h=s*u+a*d+i*f-o*c,m=s*c-a*f+i*d+o*u,y=s*f+a*c-i*u+o*d,p=s*d-a*u-i*c-o*f;return r(n)?(n.x=h,n.y=m,n.z=y,n.w=p,n):new l(h,m,y,p)},l.multiplyByScalar=function(e,t,n){return r(n)?(n.x=e.x*t,n.y=e.y*t,n.z=e.z*t,n.w=e.w*t,n):new l(e.x*t,e.y*t,e.z*t,e.w*t)},l.divideByScalar=function(e,t,n){return r(n)?(n.x=e.x/t,n.y=e.y/t,n.z=e.z/t,n.w=e.w/t,n):new l(e.x/t,e.y/t,e.z/t,e.w/t)},l.getAxis=function(t,n){var a=t.w;if(Math.abs(a-1)a&&(a=-a,i=g=l.negate(t,g)),1-aI;++I){var N=I+1,P=2*N+1;M[I]=1/(N*P),b[I]=N/P}return M[7]=O/136,b[7]=8*O/17,l.fastSlerp=function(e,t,n,a){r(a)||(a=new l);var i,o=l.dot(e,t);o>=0?i=1:(i=-1,o=-o);for(var s=o-1,u=1-n,c=n*n,f=u*u,d=7;d>=0;--d)D[d]=(M[d]*c-b[d])*s,_[d]=(M[d]*f-b[d])*s;var h=i*n*(1+D[0]*(1+D[1]*(1+D[2]*(1+D[3]*(1+D[4]*(1+D[5]*(1+D[6]*(1+D[7])))))))),m=u*(1+_[0]*(1+_[1]*(1+_[2]*(1+_[3]*(1+_[4]*(1+_[5]*(1+_[6]*(1+_[7])))))))),y=l.multiplyByScalar(e,m,T);return l.multiplyByScalar(t,h,a),l.add(y,a,a)},l.fastSquad=function(e,t,r,n,a,i){var o=l.fastSlerp(e,t,a,x),s=l.fastSlerp(r,n,a,A);return l.fastSlerp(o,s,2*a*(1-a),i)},l.equals=function(e,t){return e===t||r(e)&&r(t)&&e.x===t.x&&e.y===t.y&&e.z===t.z&&e.w===t.w},l.equalsEpsilon=function(e,t,n){return e===t||r(e)&&r(t)&&Math.abs(e.x-t.x)<=n&&Math.abs(e.y-t.y)<=n&&Math.abs(e.z-t.z)<=n&&Math.abs(e.w-t.w)<=n},l.ZERO=i(new l(0,0,0,0)),l.IDENTITY=i(new l(0,0,0,1)),l.prototype.clone=function(e){return l.clone(this,e)},l.prototype.equals=function(e){return l.equals(this,e)},l.prototype.equalsEpsilon=function(e,t){return l.equalsEpsilon(this,e,t)},l.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+", "+this.w+")"},l}),define("Core/PolylineVolumeGeometryLibrary",["./Cartesian2","./Cartesian3","./Cartesian4","./Cartographic","./CornerType","./EllipsoidTangentPlane","./Math","./Matrix3","./Matrix4","./PolylinePipeline","./Quaternion","./Transforms"],function(e,t,r,n,a,i,o,s,u,l,c,f){"use strict";function d(e,t){for(var r=new Array(e.length),n=0;ni;i++)c[i]=r;return c.push(n),c}var f=n-r,d=f/l;for(i=1;l>i;i++){var h=r+i*d;c[i]=h}return c[0]=r,c.push(n),c}function m(r,n,a,o){var s=new i(a,o),u=s.projectPointOntoPlane(t.add(a,r,k),k),l=s.projectPointOntoPlane(t.add(a,n,Z),Z),c=e.angleBetween(u,l);return l.x*u.y-l.y*u.x>=0?-c:c}function y(e,r,n,a,i,o,l,c){var d=q,h=G;L=f.eastNorthUpToFixedFrame(e,i,L),d=u.multiplyByPointAsVector(L,z,d),d=t.normalize(d,d);var y=m(d,r,e,i);U=s.fromRotationZ(y,U),W.z=o,L=u.multiplyTransformation(L,u.fromRotationTranslation(U,W,F),L);var p=B;p[0]=l;for(var v=0;c>v;v++)for(var g=0;gu;u++){s=e[u];var l=s.x-i,c=s.y-o;n[a++]=l,n[a++]=0,n[a++]=c,n[a++]=l,n[a++]=0,n[a++]=c}return s=e[0],n[a++]=s.x-i,n[a++]=0,n[a++]=s.y-o,n}function g(e,t){for(var r=e.length,n=new Array(3*r),a=0,i=t.x+t.width/2,o=t.y+t.height/2,s=0;r>s;s++)n[a++]=e[s].x-i,n[a++]=0,n[a++]=e[s].y-o;return n}function E(e,r,n,i,u,l,f,d,h,m){var p,v=t.angleBetween(t.subtract(r,e,I),t.subtract(n,e,N)),g=i.value===a.BEVELED.value?0:Math.ceil(v/o.toRadians(5));p=u?s.fromQuaternion(c.fromAxisAngle(t.negate(e,I),v/(g+1),V),H):s.fromQuaternion(c.fromAxisAngle(e,v/(g+1),V),H);var E,w;if(r=t.clone(r,j),g>0)for(var S=m?2:1,C=0;g>C;C++)r=s.multiplyByVector(p,r,r),E=t.subtract(r,e,I),E=t.normalize(E,E),u||(E=t.negate(E,E)),w=l.scaleToGeodeticSurface(r,N),f=y(w,E,d,f,l,h,1,S);else E=t.subtract(r,e,I),E=t.normalize(E,E),u||(E=t.negate(E,E)),w=l.scaleToGeodeticSurface(r,N),f=y(w,E,d,f,l,h,1,1),n=t.clone(n,j),E=t.subtract(n,e,I),E=t.normalize(E,E),u||(E=t.negate(E,E)),w=l.scaleToGeodeticSurface(n,N),f=y(w,E,d,f,l,h,1,1);return f}function w(e,t){return o.equalsEpsilon(e.latitude,t.latitude,o.EPSILON6)&&o.equalsEpsilon(e.longitude,t.longitude,o.EPSILON6)}var S=[new t,new t],C=new t,x=new t,A=new t,T=new t,O=new t,M=new t,b=new t,D=new t,_=new t,I=new t,N=new t,P={},R=new n,z=new t(-1,0,0),L=new u,F=new u,U=new s,B=s.IDENTITY.clone(),q=new t,G=new r,W=new t,Y=new t,V=new c,j=new t,H=new s;P.removeDuplicatesFromShape=function(t){for(var r=t.length,n=[],a=r-1,i=0;r>i;a=i++){var o=t[a],s=t[i];e.equals(o,s)||n.push(s)}return n};var k=new t,Z=new t;P.angleIsGreaterThanPi=function(e,r,n,a){var o=new i(n,a),s=o.projectPointOntoPlane(t.add(n,e,k),k),u=o.projectPointOntoPlane(t.add(n,r,Z),Z);return u.x*s.y-u.y*s.x>=0};var K=new n,J=new n;return P.removeDuplicatesFromPositions=function(e,t){var r=e.length;if(2>r)return e.slice(0);var n=[];n.push(e[0]);for(var a=1;r>a;++a){var i=e[a-1],o=e[a],s=t.cartesianToCartographic(i,K),u=t.cartesianToCartographic(o,J);w(s,u)||n.push(o)}return n},P.computePositions=function(e,r,n,i,s){var u=i._ellipsoid,c=d(e,u),f=i._granularity,m=i._cornerType,w=s?v(r,n):g(r,n),N=s?g(r,n):void 0,R=n.height/2,z=n.width/2,L=e.length,F=[],U=s?[]:void 0,B=C,q=x,G=A,W=T,Y=O,V=M,j=b,H=D,k=_,Z=e[0],K=e[1];W=u.geodeticSurfaceNormal(Z,W),B=t.subtract(K,Z,B),B=t.normalize(B,B),H=t.cross(W,B,H),H=t.normalize(H,H);var J=c[0],X=c[1];s&&(U=y(Z,H,N,U,u,J+R,1,1)),k=t.clone(Z,k),Z=K,q=t.negate(B,q);for(var Q,$,et=1;L-1>et;et++){var tt=s?2:1;K=e[et+1],B=t.subtract(K,Z,B),B=t.normalize(B,B),G=t.add(B,q,G),G=t.normalize(G,G),W=u.geodeticSurfaceNormal(Z,W);var rt=!t.equalsEpsilon(t.negate(G,I),W,o.EPSILON2);if(rt){G=t.cross(G,W,G),G=t.cross(W,G,G),G=t.normalize(G,G);var nt=1/Math.max(.25,t.magnitude(t.cross(G,q,I))),at=P.angleIsGreaterThanPi(B,q,Z,u);at?(Y=t.add(Z,t.multiplyByScalar(G,nt*z,G),Y),V=t.add(Y,t.multiplyByScalar(H,z,V),V),S[0]=t.clone(k,S[0]),S[1]=t.clone(V,S[1]),Q=h(S,J+R,X+R,f),$=l.scaleToSurface(S),F=p($,H,w,F,u,Q,1),H=t.cross(W,B,H),H=t.normalize(H,H),j=t.add(Y,t.multiplyByScalar(H,z,j),j),m.value===a.ROUNDED.value||m.value===a.BEVELED.value?E(Y,V,j,m,at,u,F,w,X+R,s):(G=t.negate(G,G),F=y(Z,G,w,F,u,X+R,nt,tt)),k=t.clone(j,k)):(Y=t.add(Z,t.multiplyByScalar(G,nt*z,G),Y),V=t.add(Y,t.multiplyByScalar(H,-z,V),V),S[0]=t.clone(k,S[0]),S[1]=t.clone(V,S[1]),Q=h(S,J+R,X+R,f),$=l.scaleToSurface(S,f,u),F=p($,H,w,F,u,Q,1),H=t.cross(W,B,H),H=t.normalize(H,H),j=t.add(Y,t.multiplyByScalar(H,-z,j),j),m.value===a.ROUNDED.value||m.value===a.BEVELED.value?E(Y,V,j,m,at,u,F,w,X+R,s):F=y(Z,G,w,F,u,X+R,nt,tt),k=t.clone(j,k)),q=t.negate(B,q)}else F=y(k,H,w,F,u,J+R,1,1),k=Z;J=X,X=c[et+1],Z=K}S[0]=t.clone(k,S[0]),S[1]=t.clone(Z,S[1]),Q=h(S,J+R,X+R,f),$=l.scaleToSurface(S,f,u),F=p($,H,w,F,u,Q,1),s&&(U=y(Z,H,N,U,u,X+R,1,1)),L=F.length;var it=s?L+U.length:L,ot=new Float64Array(it);return ot.set(F),s&&ot.set(U,L),ot},P}),define("Core/CorridorGeometryLibrary",["./defined","./Cartesian3","./CornerType","./PolylinePipeline","./PolylineVolumeGeometryLibrary","./Matrix3","./Quaternion","./Math"],function(e,t,r,n,a,i,o,s){"use strict";function u(e,n,a,u,l){var c=t.angleBetween(t.subtract(n,e,m),t.subtract(a,e,y)),f=u.value===r.BEVELED.value?1:Math.ceil(c/s.toRadians(5))+1,d=3*f,h=new Array(d);h[d-3]=a.x,h[d-2]=a.y,h[d-1]=a.z;var p;p=l?i.fromQuaternion(o.fromAxisAngle(t.negate(e,m),c/f,D),_):i.fromQuaternion(o.fromAxisAngle(e,c/f,D),_);var v=0;n=t.clone(n,m);for(var g=0;f>g;g++)n=i.multiplyByVector(p,n,n),h[v++]=n.x,h[v++]=n.y,h[v++]=n.z;return h}function l(e){var n=E,a=w,i=S,o=e[1];a=t.fromArray(e[1],o.length-3,a),i=t.fromArray(e[0],0,i),n=t.multiplyByScalar(t.add(a,i,n),.5,n);var s=u(n,a,i,r.ROUNDED,!1),l=e.length-1,c=e[l-1];o=e[l],a=t.fromArray(c,c.length-3,a),i=t.fromArray(o,0,i),n=t.multiplyByScalar(t.add(a,i,n),.5,n);var f=u(n,a,i,r.ROUNDED,!1);return[s,f]}function c(e,r,n,a){var i=m;return a?i=t.add(e,r,i):(r=t.negate(r,r),i=t.add(e,r,i)),[i.x,i.y,i.z,n.x,n.y,n.z]}function f(e,r,n,a){for(var i=new Array(e.length),o=new Array(e.length),s=t.multiplyByScalar(r,n,m),u=t.negate(s,y),l=0,c=e.length-1,f=0;fj;j++){D=h.geodeticSurfaceNormal(W,D),Y=o[j+1],_=t.normalize(t.subtract(Y,W,_),_),P=t.normalize(t.add(_,I,P),P);var Z=!t.equalsEpsilon(t.negate(P,m),D,s.EPSILON2);if(Z){P=t.cross(P,D,P),P=t.cross(D,P,P);var K=y/Math.max(.25,t.magnitude(t.cross(P,I,m))),J=a.angleIsGreaterThanPi(_,I,W,h);P=t.multiplyByScalar(P,K,P),J?(L=t.add(W,P,L),U=t.add(L,t.multiplyByScalar(N,y,U),U),F=t.add(L,t.multiplyByScalar(N,2*y,F),F),g[0]=t.clone(z,g[0]),g[1]=t.clone(U,g[1]),V=n.scaleToSurface(g,i,h),B=f(V,N,y,B),v&&(q.push(N.x,N.y,N.z),G.push(D.x,D.y,D.z)),R=t.clone(F,R),N=t.normalize(t.cross(D,_,N),N),F=t.add(L,t.multiplyByScalar(N,2*y,F),F),z=t.add(L,t.multiplyByScalar(N,y,z),z),p.value===r.ROUNDED.value||p.value===r.BEVELED.value?H.push({leftPositions:u(L,R,F,p,J)}):H.push({leftPositions:c(W,t.negate(P,P),F,J)})):(F=t.add(W,P,F),U=t.add(F,t.negate(t.multiplyByScalar(N,y,U),U),U),L=t.add(F,t.negate(t.multiplyByScalar(N,2*y,L),L),L),g[0]=t.clone(z,g[0]),g[1]=t.clone(U,g[1]),V=n.scaleToSurface(g,i,h),B=f(V,N,y,B),v&&(q.push(N.x,N.y,N.z),G.push(D.x,D.y,D.z)),R=t.clone(L,R),N=t.normalize(t.cross(D,_,N),N),L=t.add(F,t.negate(t.multiplyByScalar(N,2*y,L),L),L),z=t.add(F,t.negate(t.multiplyByScalar(N,y,z),z),z),p.value===r.ROUNDED.value||p.value===r.BEVELED.value?H.push({rightPositions:u(F,R,L,p,J)}):H.push({rightPositions:c(W,P,L,J)})),I=t.negate(_,I)}W=Y}D=h.geodeticSurfaceNormal(W,D),g[0]=t.clone(z,g[0]),g[1]=t.clone(W,g[1]),V=n.scaleToSurface(g,i,h),B=f(V,N,y,B),v&&(q.push(N.x,N.y,N.z),G.push(D.x,D.y,D.z));var X;return p.value===r.ROUNDED.value&&(X=l(B)),{positions:B,corners:H,lefts:q,normals:G,endPositions:X}},h}),define("Core/ComponentDatatype",["./defaultValue","./defined","./DeveloperError","./FeatureDetection","./Enumeration"],function(e,t,r,n,a){"use strict";if(!n.supportsTypedArrays())return{};var i={BYTE:new a(5120,"BYTE",{sizeInBytes:Int8Array.BYTES_PER_ELEMENT}),UNSIGNED_BYTE:new a(5121,"UNSIGNED_BYTE",{sizeInBytes:Uint8Array.BYTES_PER_ELEMENT}),SHORT:new a(5122,"SHORT",{sizeInBytes:Int16Array.BYTES_PER_ELEMENT}),UNSIGNED_SHORT:new a(5123,"UNSIGNED_SHORT",{sizeInBytes:Uint16Array.BYTES_PER_ELEMENT}),FLOAT:new a(5126,"FLOAT",{sizeInBytes:Float32Array.BYTES_PER_ELEMENT}),DOUBLE:new a(5130,"DOUBLE",{sizeInBytes:Float64Array.BYTES_PER_ELEMENT})};return i.validate=function(e){return t(e)&&t(e.value)&&(e.value===i.BYTE.value||e.value===i.UNSIGNED_BYTE.value||e.value===i.SHORT.value||e.value===i.UNSIGNED_SHORT.value||e.value===i.FLOAT.value||e.value===i.DOUBLE.value)},i.createTypedArray=function(e,t){switch(e.value){case i.BYTE.value:return new Int8Array(t);case i.UNSIGNED_BYTE.value:return new Uint8Array(t);case i.SHORT.value:return new Int16Array(t);case i.UNSIGNED_SHORT.value:return new Uint16Array(t);case i.FLOAT.value:return new Float32Array(t);case i.DOUBLE.value:return new Float64Array(t);default:throw new r("componentDatatype is not a valid enumeration value.")}},i.createArrayBufferView=function(t,n,a,o){switch(a=e(a,0),o=e(o,(n.byteLength-a)/t.sizeInBytes),t.value){case i.BYTE.value:return new Int8Array(n,a,o);case i.UNSIGNED_BYTE.value:return new Uint8Array(n,a,o);case i.SHORT.value:return new Int16Array(n,a,o);case i.UNSIGNED_SHORT.value:return new Uint16Array(n,a,o);case i.FLOAT.value:return new Float32Array(n,a,o);case i.DOUBLE.value:return new Float64Array(n,a,o);default:throw new r("componentDatatype is not a valid enumeration value.")}},i}),define("Core/Geometry",["./defaultValue","./defined","./DeveloperError"],function(e,t,r){"use strict";var n=function(t){t=e(t,e.EMPTY_OBJECT),this.attributes=t.attributes,this.indices=t.indices,this.primitiveType=t.primitiveType,this.boundingSphere=t.boundingSphere};return n.computeNumberOfVertices=function(e){var n=-1;for(var a in e.attributes)if(e.attributes.hasOwnProperty(a)&&t(e.attributes[a])&&t(e.attributes[a].values)){var i=e.attributes[a],o=i.values.length/i.componentsPerAttribute;if(n!==o&&-1!==n)throw new r("All attribute lists must have the same number of attributes.");n=o}return n},n}),define("Core/IndexDatatype",["./defined","./DeveloperError","./Math"],function(e,t,r){"use strict";var n={UNSIGNED_BYTE:5121,UNSIGNED_SHORT:5123,UNSIGNED_INT:5125};return n.getSizeInBytes=function(e){switch(e){case n.UNSIGNED_BYTE:return Uint8Array.BYTES_PER_ELEMENT;case n.UNSIGNED_SHORT:return Uint16Array.BYTES_PER_ELEMENT;case n.UNSIGNED_INT:return Uint32Array.BYTES_PER_ELEMENT}},n.validate=function(t){return e(t)&&(t===n.UNSIGNED_BYTE||t===n.UNSIGNED_SHORT||t===n.UNSIGNED_INT)},n.createTypedArray=function(e,t){return e>r.SIXTY_FOUR_KILOBYTES?new Uint32Array(t):new Uint16Array(t)},n}),define("Core/PrimitiveType",[],function(){"use strict";var e={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,validate:function(t){return t===e.POINTS||t===e.LINES||t===e.LINE_LOOP||t===e.LINE_STRIP||t===e.TRIANGLES||t===e.TRIANGLE_STRIP||t===e.TRIANGLE_FAN}};return e}),define("Core/GeographicProjection",["./defaultValue","./defined","./defineProperties","./Cartesian3","./Cartographic","./Ellipsoid"],function(e,t,r,n,a,i){"use strict";var o=function(t){this._ellipsoid=e(t,i.WGS84),this._semimajorAxis=this._ellipsoid.maximumRadius,this._oneOverSemimajorAxis=1/this._semimajorAxis};return r(o.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}}),o.prototype.project=function(e,r){var a=this._semimajorAxis,i=e.longitude*a,o=e.latitude*a,s=e.height;return t(r)?(r.x=i,r.y=o,r.z=s,r):new n(i,o,s)},o.prototype.unproject=function(e,r){var n=this._oneOverSemimajorAxis,i=e.x*n,o=e.y*n,s=e.z;return t(r)?(r.longitude=i,r.latitude=o,r.height=s,r):new a(i,o,s)},o}),define("Core/Interval",["./defaultValue"],function(e){"use strict";var t=function(t,r){this.start=e(t,0),this.stop=e(r,0)};return t}),define("Core/BoundingSphere",["./Cartesian3","./Cartographic","./defaultValue","./defined","./DeveloperError","./Ellipsoid","./GeographicProjection","./Intersect","./Interval","./Matrix4"],function(e,t,r,n,a,i,o,s,u,l){"use strict";var c=function(t,n){this.center=e.clone(r(t,e.ZERO)),this.radius=r(n,0)},f=new e,d=new e,h=new e,m=new e,y=new e,p=new e,v=new e,g=new e,E=new e,w=new e,S=new e,C=new e;c.fromPoints=function(t,r){if(n(r)||(r=new c),!n(t)||0===t.length)return r.center=e.clone(e.ZERO,r.center),r.radius=0,r;for(var a=e.clone(t[0],v),i=e.clone(a,f),o=e.clone(a,d),s=e.clone(a,h),u=e.clone(a,m),l=e.clone(a,y),x=e.clone(a,p),A=t.length,T=1;A>T;T++){e.clone(t[T],a);var O=a.x,M=a.y,b=a.z;Ou.x&&e.clone(a,u),Ml.y&&e.clone(a,l),bx.z&&e.clone(a,x)}var D=e.magnitudeSquared(e.subtract(u,i,g)),_=e.magnitudeSquared(e.subtract(l,o,g)),I=e.magnitudeSquared(e.subtract(x,s,g)),N=i,P=u,R=D;_>R&&(R=_,N=o,P=l),I>R&&(R=I,N=s,P=x);var z=E;z.x=.5*(N.x+P.x),z.y=.5*(N.y+P.y),z.z=.5*(N.z+P.z);var L=e.magnitudeSquared(e.subtract(P,z,g)),F=Math.sqrt(L),U=w;U.x=i.x,U.y=o.y,U.z=s.z;var B=S;B.x=u.x,B.y=l.y,B.z=x.z;var q=e.multiplyByScalar(e.add(U,B,g),.5,C),G=0;for(T=0;A>T;T++){e.clone(t[T],a);var W=e.magnitude(e.subtract(a,q,g));W>G&&(G=W);var Y=e.magnitudeSquared(e.subtract(a,z,g));if(Y>L){var V=Math.sqrt(Y);F=.5*(F+V),L=F*F;var j=V-F;z.x=(F*z.x+j*a.x)/V,z.y=(F*z.y+j*a.y)/V,z.z=(F*z.z+j*a.z)/V}}return G>F?(e.clone(z,r.center),r.radius=F):(e.clone(q,r.center),r.radius=G),r};var x=new o,A=new e,T=new e,O=new t,M=new t;c.fromExtent2D=function(e,t,r){return c.fromExtentWithHeights2D(e,t,0,0,r)},c.fromExtentWithHeights2D=function(t,a,i,o,s){if(n(s)||(s=new c),!n(t))return s.center=e.clone(e.ZERO,s.center),s.radius=0,s;a=r(a,x),t.getSouthwest(O),O.height=i,t.getNortheast(M),M.height=o;var u=a.project(O,A),l=a.project(M,T),f=l.x-u.x,d=l.y-u.y,h=l.z-u.z;s.radius=.5*Math.sqrt(f*f+d*d+h*h);var m=s.center;return m.x=u.x+.5*f,m.y=u.y+.5*d,m.z=u.z+.5*h,s};var b=[];c.fromExtent3D=function(e,t,a,o){t=r(t,i.WGS84),a=r(a,0);var s;return n(e)&&(s=e.subsample(t,a,b)),c.fromPoints(s,o)},c.fromVertices=function(t,a,i,o){if(n(o)||(o=new c),!n(t)||0===t.length)return o.center=e.clone(e.ZERO,o.center),o.radius=0,o;a=r(a,e.ZERO),i=r(i,3);var s=v;s.x=t[0]+a.x,s.y=t[1]+a.y,s.z=t[2]+a.z;for(var u=e.clone(s,f),l=e.clone(s,d),x=e.clone(s,h),A=e.clone(s,m),T=e.clone(s,y),O=e.clone(s,p),M=t.length,b=0;M>b;b+=i){var D=t[b]+a.x,_=t[b+1]+a.y,I=t[b+2]+a.z;s.x=D,s.y=_,s.z=I,DA.x&&e.clone(s,A),_T.y&&e.clone(s,T),IO.z&&e.clone(s,O)}var N=e.magnitudeSquared(e.subtract(A,u,g)),P=e.magnitudeSquared(e.subtract(T,l,g)),R=e.magnitudeSquared(e.subtract(O,x,g)),z=u,L=A,F=N;P>F&&(F=P,z=l,L=T),R>F&&(F=R,z=x,L=O);var U=E;U.x=.5*(z.x+L.x),U.y=.5*(z.y+L.y),U.z=.5*(z.z+L.z);var B=e.magnitudeSquared(e.subtract(L,U,g)),q=Math.sqrt(B),G=w;G.x=u.x,G.y=l.y,G.z=x.z;var W=S;W.x=A.x,W.y=T.y,W.z=O.z;var Y=e.multiplyByScalar(e.add(G,W,g),.5,C),V=0;for(b=0;M>b;b+=i){s.x=t[b]+a.x,s.y=t[b+1]+a.y,s.z=t[b+2]+a.z;var j=e.magnitude(e.subtract(s,Y,g));j>V&&(V=j);var H=e.magnitudeSquared(e.subtract(s,U,g));if(H>B){var k=Math.sqrt(H);q=.5*(q+k),B=q*q;var Z=k-q;U.x=(q*U.x+Z*s.x)/k,U.y=(q*U.y+Z*s.y)/k,U.z=(q*U.z+Z*s.z)/k}}return V>q?(e.clone(U,o.center),o.radius=q):(e.clone(Y,o.center),o.radius=V),o},c.fromCornerPoints=function(t,r,a){n(a)||(a=new c);var i=a.center;return e.add(t,r,i),e.multiplyByScalar(i,.5,i),a.radius=e.distance(i,r),a},c.fromEllipsoid=function(t,r){return n(r)||(r=new c),e.clone(e.ZERO,r.center),r.radius=t.maximumRadius,r},c.clone=function(t,r){return n(t)?n(r)?(r.center=e.clone(t.center,r.center),r.radius=t.radius,r):new c(t.center,t.radius):void 0};var D=new e,_=new e;c.union=function(t,r,a){n(a)||(a=new c);var i=t.center,o=r.center;e.add(i,o,_);var s=e.multiplyByScalar(_,.5,_),u=e.magnitude(e.subtract(i,s,D))+t.radius,l=e.magnitude(e.subtract(o,s,D))+r.radius;return a.radius=Math.max(u,l),e.clone(s,a.center),a};var I=new e;c.expand=function(t,r,n){n=c.clone(t,n);var a=e.magnitude(e.subtract(r,n.center,I));return a>n.radius&&(n.radius=a),n},c.intersect=function(t,r){var n=t.center,a=t.radius,i=e.dot(r,n)+r.w;return-a>i?s.OUTSIDE:a>i?s.INTERSECTING:s.INSIDE};var N=new e;c.transform=function(t,r,a){return n(a)||(a=new c),a.center=l.multiplyByPoint(r,t.center,a.center),a.radius=Math.max(e.magnitude(l.getColumn(r,0,N)),e.magnitude(l.getColumn(r,1,N)),e.magnitude(l.getColumn(r,2,N)))*t.radius,a},c.transformWithoutScale=function(e,t,r){return n(r)||(r=new c),r.center=l.multiplyByPoint(t,e.center,r.center),r.radius=e.radius,r};var P=new e;c.getPlaneDistances=function(t,r,a,i){n(i)||(i=new u);var o=e.subtract(t.center,r,P),s=e.multiplyByScalar(a,e.dot(a,o),P),l=e.magnitude(s);return i.start=l-t.radius,i.stop=l+t.radius,i};for(var R=new e,z=new e,L=new e,F=new e,U=new e,B=new t,q=new Array(8),G=0;8>G;++G)q[G]=new e;var W=new o;return c.projectTo2D=function(t,n,a){n=r(n,W);var i=n.ellipsoid,o=t.center,s=t.radius,u=i.geodeticSurfaceNormal(o,R),l=e.cross(e.UNIT_Z,u,z);e.normalize(l,l);var f=e.cross(u,l,L);e.normalize(f,f),e.multiplyByScalar(u,s,u),e.multiplyByScalar(f,s,f),e.multiplyByScalar(l,s,l);var d=e.negate(f,U),h=e.negate(l,F),m=q,y=m[0];e.add(u,f,y),e.add(y,l,y),y=m[1],e.add(u,f,y),e.add(y,h,y),y=m[2],e.add(u,d,y),e.add(y,h,y),y=m[3],e.add(u,d,y),e.add(y,l,y),e.negate(u,u),y=m[4],e.add(u,f,y),e.add(y,l,y),y=m[5],e.add(u,f,y),e.add(y,h,y),y=m[6],e.add(u,d,y),e.add(y,h,y),y=m[7],e.add(u,d,y),e.add(y,l,y);for(var p=m.length,v=0;p>v;++v){var g=m[v];e.add(o,g,g);var E=i.cartesianToCartographic(g,B);n.project(E,g)}a=c.fromPoints(m,a),o=a.center;var w=o.x,S=o.y,C=o.z;return o.x=C,o.y=w,o.z=S,a},c.equals=function(t,r){return t===r||n(t)&&n(r)&&e.equals(t.center,r.center)&&t.radius===r.radius},c.prototype.clone=function(e){return c.clone(this,e)},c.prototype.union=function(e,t){return c.union(this,e,t)},c.prototype.expand=function(e,t){return c.expand(this,e,t)},c.prototype.intersect=function(e){return c.intersect(this,e)},c.prototype.getPlaneDistances=function(e,t,r){return c.getPlaneDistances(this,e,t,r)},c.prototype.projectTo2D=function(e,t){return c.projectTo2D(this,e,t)},c.prototype.equals=function(e){return c.equals(this,e)},c}),define("Core/GeometryAttribute",["./defaultValue","./defined","./DeveloperError"],function(e){"use strict";var t=function(t){t=e(t,e.EMPTY_OBJECT),this.componentDatatype=t.componentDatatype,this.componentsPerAttribute=t.componentsPerAttribute,this.normalize=e(t.normalize,!1),this.values=t.values};return t}),define("Core/GeometryAttributes",["./defaultValue"],function(e){"use strict";var t=function(t){t=e(t,e.EMPTY_OBJECT),this.position=t.position,this.normal=t.normal,this.st=t.st,this.binormal=t.binormal,this.tangent=t.tangent,this.color=t.color};return t}),define("Core/VertexFormat",["./defaultValue","./freezeObject"],function(e,t){"use strict";var r=function(t){t=e(t,e.EMPTY_OBJECT),this.position=e(t.position,!1),this.normal=e(t.normal,!1),this.st=e(t.st,!1),this.binormal=e(t.binormal,!1),this.tangent=e(t.tangent,!1)};return r.POSITION_ONLY=t(new r({position:!0})),r.POSITION_AND_NORMAL=t(new r({position:!0,normal:!0})),r.POSITION_NORMAL_AND_ST=t(new r({position:!0,normal:!0,st:!0})),r.POSITION_AND_ST=t(new r({position:!0,st:!0})),r.ALL=t(new r({position:!0,normal:!0,st:!0,binormal:!0,tangent:!0})),r.DEFAULT=r.POSITION_NORMAL_AND_ST,r}),define("Core/CorridorGeometry",["./defaultValue","./defined","./DeveloperError","./Cartesian3","./CornerType","./CorridorGeometryLibrary","./ComponentDatatype","./Ellipsoid","./Geometry","./IndexDatatype","./Math","./PolylinePipeline","./PrimitiveType","./BoundingSphere","./GeometryAttribute","./GeometryAttributes","./VertexFormat"],function(e,t,r,n,a,i,o,s,u,l,c,f,d,h,m,y,p){"use strict";function v(e,t,r,a,o,s){var u=e.normals,l=e.tangents,c=e.binormals,f=n.normalize(n.cross(r,t,b),b);s.normal&&i.addAttribute(u,t,a,o),s.binormal&&i.addAttribute(c,r,a,o),s.tangent&&i.addAttribute(l,f,a,o)}function g(e,r,a){var s,u,f,d=e.positions,h=e.corners,p=e.endPositions,g=e.lefts,E=e.normals,w=new y,S=0,O=0,_=0;for(u=0;uu;u++)B=n.fromArray($,3*(J-1-u),B),U=n.fromArray($,3*(J+u),U),i.addAttribute(G,U,H),i.addAttribute(G,B,void 0,k),v(j,Z,K,H,k,r),z=H/3,F=z+1,R=(k-2)/3,L=R-1,X[Q++]=R,X[Q++]=z,X[Q++]=L,X[Q++]=L,X[Q++]=z,X[Q++]=F,H+=3,k-=3}var et=0,tt=0,rt=d[et++],nt=d[et++];G.set(rt,H),G.set(nt,k-nt.length+1),K=n.fromArray(g,tt,K);var at,it;for(f=nt.length-3,u=0;f>u;u+=3)at=a.geodeticSurfaceNormal(n.fromArray(rt,u,b),b),it=a.geodeticSurfaceNormal(n.fromArray(nt,f-u,D),D),Z=n.normalize(n.add(at,it,Z),Z),v(j,Z,K,H,k,r),z=H/3,F=z+1,R=(k-2)/3,L=R-1,X[Q++]=R,X[Q++]=z,X[Q++]=L,X[Q++]=L,X[Q++]=z,X[Q++]=F,H+=3,k-=3;for(at=a.geodeticSurfaceNormal(n.fromArray(rt,f,b),b),it=a.geodeticSurfaceNormal(n.fromArray(nt,f,D),D),Z=n.normalize(n.add(at,it,Z),Z),tt+=3,u=0;uu;u++)B=n.fromArray(mt,3*(N-u-1),B),U=n.fromArray(mt,3*u,U),i.addAttribute(G,B,void 0,k),i.addAttribute(G,U,H),v(j,Z,K,H,k,r),F=H/3,z=F-1,L=(k-2)/3,R=L+1,X[Q++]=R,X[Q++]=z,X[Q++]=L,X[Q++]=L,X[Q++]=z,X[Q++]=F,H+=3,k-=3}if(w.position=new m({componentDatatype:o.DOUBLE,componentsPerAttribute:3,values:G}),r.st){var yt,pt,vt=new Float32Array(2*(q/3)),gt=0;if(P){S/=3,O/=3;var Et=Math.PI/(N+1);pt=1/(S-N+1),yt=1/(O-N+1);var wt,St=N/2;for(u=St+1;N+1>u;u++)wt=c.PI_OVER_TWO+Et*u,vt[gt++]=yt*(1+Math.cos(wt)),vt[gt++]=.5*(1+Math.sin(wt));for(u=1;O-N+1>u;u++)vt[gt++]=u*yt,vt[gt++]=0;for(u=N;u>St;u--)wt=c.PI_OVER_TWO-u*Et,vt[gt++]=1-yt*(1+Math.cos(wt)),vt[gt++]=.5*(1+Math.sin(wt));for(u=St;u>0;u--)wt=c.PI_OVER_TWO-Et*u,vt[gt++]=1-pt*(1+Math.cos(wt)),vt[gt++]=.5*(1+Math.sin(wt));for(u=S-N;u>0;u--)vt[gt++]=u*pt,vt[gt++]=1; +for(u=1;St+1>u;u++)wt=c.PI_OVER_TWO+Et*u,vt[gt++]=pt*(1+Math.cos(wt)),vt[gt++]=.5*(1+Math.sin(wt))}else{for(S/=3,O/=3,pt=1/(S-1),yt=1/(O-1),u=0;O>u;u++)vt[gt++]=u*yt,vt[gt++]=0;for(u=S;u>0;u--)vt[gt++]=(u-1)*pt,vt[gt++]=1}w.st=new m({componentDatatype:o.FLOAT,componentsPerAttribute:2,values:vt})}return r.normal&&(w.normal=new m({componentDatatype:o.FLOAT,componentsPerAttribute:3,values:j.normals})),r.tangent&&(w.tangent=new m({componentDatatype:o.FLOAT,componentsPerAttribute:3,values:j.tangents})),r.binormal&&(w.binormal=new m({componentDatatype:o.FLOAT,componentsPerAttribute:3,values:j.binormals})),{attributes:w,indices:X}}function E(e,t){if(!(t.normal||t.binormal||t.tangent||t.st))return e;var r,a,o=e.position.values;(t.normal||t.binormal)&&(r=e.normal.values,a=e.binormal.values);var s,u=e.position.values.length/18,l=3*u,c=2*u,f=2*l;if(t.normal||t.binormal||t.tangent){var d=t.normal?new Float32Array(6*l):void 0,h=t.binormal?new Float32Array(6*l):void 0,m=t.tangent?new Float32Array(6*l):void 0,y=C,p=x,v=A,g=T,E=O,w=M,S=f;for(s=0;l>s;s+=3){var b=S+f;y=n.fromArray(o,s,y),p=n.fromArray(o,s+l,p),v=n.fromArray(o,(s+3)%l,v),p=n.subtract(p,y,p),v=n.subtract(v,y,v),g=n.normalize(n.cross(p,v,g),g),t.normal&&(i.addAttribute(d,g,b),i.addAttribute(d,g,b+3),i.addAttribute(d,g,S),i.addAttribute(d,g,S+3)),(t.tangent||t.binormal)&&(w=n.fromArray(r,s,w),t.binormal&&(i.addAttribute(h,w,b),i.addAttribute(h,w,b+3),i.addAttribute(h,w,S),i.addAttribute(h,w,S+3)),t.tangent&&(E=n.normalize(n.cross(w,g,E),E),i.addAttribute(m,E,b),i.addAttribute(m,E,b+3),i.addAttribute(m,E,S),i.addAttribute(m,E,S+3))),S+=6}if(t.normal){for(d.set(r),s=0;l>s;s+=3)d[s+l]=-r[s],d[s+l+1]=-r[s+1],d[s+l+2]=-r[s+2];e.normal.values=d}else e.normal=void 0;if(t.binormal?(h.set(a),h.set(a,l),e.binormal.values=h):e.binormal=void 0,t.tangent){var D=e.tangent.values;m.set(D),m.set(D,l),e.tangent.values=m}}if(t.st){var _=e.st.values,I=new Float32Array(6*c);I.set(_),I.set(_,c);for(var N=2*c,P=0;2>P;P++){for(I[N++]=_[0],I[N++]=_[1],s=2;c>s;s+=2){var R=_[s],z=_[s+1];I[N++]=R,I[N++]=z,I[N++]=R,I[N++]=z}I[N++]=_[0],I[N++]=_[1]}e.st.values=I}return e}function w(e,t,r){r[t++]=e[0],r[t++]=e[1],r[t++]=e[2];for(var n=3;nC;C+=3){var M=d[C],b=d[C+1],D=d[C+2];T[O++]=D+m,T[O++]=b+m,T[O++]=M+m}c=E(c,t);var _,I,N,P;for(C=0;A>C;C+=2)_=C+A,I=_+A,N=_+1,P=I+1,T[O++]=_,T[O++]=I,T[O++]=N,T[O++]=N,T[O++]=I,T[O++]=P;return{attributes:c,indices:T}}var C=new n,x=new n,A=new n,T=new n,O=new n,M=new n,b=new n,D=new n,_=function(t){t=e(t,e.EMPTY_OBJECT);var r=t.positions,n=t.width;this._positions=r,this._width=n,this._ellipsoid=e(t.ellipsoid,s.WGS84),this._height=e(t.height,0),this._extrudedHeight=e(t.extrudedHeight,this._height),this._cornerType=e(t.cornerType,a.ROUNDED),this._vertexFormat=e(t.vertexFormat,p.DEFAULT),this._granularity=e(t.granularity,c.RADIANS_PER_DEGREE),this._workerName="createCorridorGeometry"};return _.createGeometry=function(e){var t,r=e._positions,n=e._height,a=e._extrudedHeight,o=n!==a,s=f.removeDuplicates(r),l=e._ellipsoid,c=e._vertexFormat,m={ellipsoid:l,positions:s,width:e._width,cornerType:e._cornerType,granularity:e._granularity,saveAttributes:!0};if(o){var y=Math.max(n,a);a=Math.min(n,a),n=y,m.height=n,m.extrudedHeight=a,t=S(m,c)}else{var p=i.computePositions(m);t=g(p,c,l),t.attributes.position.values=f.scaleToGeodeticHeight(t.attributes.position.values,n,l,t.attributes.position.values)}var v=t.attributes,E=h.fromVertices(v.position.values,void 0,3);return c.position||(t.attributes.position.values=void 0),new u({attributes:v,indices:t.indices,primitiveType:d.TRIANGLES,boundingSphere:E})},_}),define("Core/Color",["./defaultValue","./defined","./freezeObject","./DeveloperError","./FeatureDetection","./Math"],function(e,t,r,n,a,i){"use strict";function o(e,t,r){return 0>r&&(r+=1),r>1&&(r-=1),1>6*r?e+6*(t-e)*r:1>2*r?t:2>3*r?e+6*(t-e)*(2/3-r):e}var s=function(t,r,n,a){this.red=e(t,1),this.green=e(r,1),this.blue=e(n,1),this.alpha=e(a,1)};s.fromBytes=function(t,r,n,a){return t=s.byteToFloat(e(t,255)),r=s.byteToFloat(e(r,255)),n=s.byteToFloat(e(n,255)),a=s.byteToFloat(e(a,255)),new s(t,r,n,a)};var u,l,c;a.supportsTypedArrays()&&(u=new ArrayBuffer(4),l=new Uint32Array(u),c=new Uint8Array(u)),s.fromRgba=function(e){return l[0]=e,s.fromBytes(c[0],c[1],c[2],c[3])},s.fromHsl=function(t,r,n,a){t=e(t,0)%1,r=e(r,0),n=e(n,0),a=e(a,1);var i=n,u=n,l=n;if(0!==r){var c;c=.5>n?n*(1+r):n+r-n*r;var f=2*n-c;i=o(f,c,t+1/3),u=o(f,c,t),l=o(f,c,t-1/3)}return new s(i,u,l,a)},s.fromRandom=function(r,n){r=e(r,e.EMPTY_OBJECT);var a=r.red;if(!t(a)){var o=e(r.minimumRed,0),u=e(r.maximumRed,1);a=o+i.nextRandomNumber()*(u-o)}var l=r.green;if(!t(l)){var c=e(r.minimumGreen,0),f=e(r.maximumGreen,1);l=c+i.nextRandomNumber()*(f-c)}var d=r.blue;if(!t(d)){var h=e(r.minimumBlue,0),m=e(r.maximumBlue,1);d=h+i.nextRandomNumber()*(m-h)}var y=r.alpha;if(!t(y)){var p=e(r.minimumAlpha,0),v=e(r.maximumAlpha,1);y=p+i.nextRandomNumber()*(v-p)}return t(n)?(n.red=a,n.green=l,n.blue=d,n.alpha=y,n):new s(a,l,d,y)};var f=/^#([0-9a-f])([0-9a-f])([0-9a-f])$/i,d=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i,h=/^rgba?\(\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)(?:\s*,\s*([0-9.]+))?\s*\)$/i,m=/^hsla?\(\s*([0-9.]+)\s*,\s*([0-9.]+%)\s*,\s*([0-9.]+%)(?:\s*,\s*([0-9.]+))?\s*\)$/i;return s.fromCssColorString=function(r){var n=s[r.toUpperCase()];if(t(n))return s.clone(n);var a=f.exec(r);return null!==a?new s(parseInt(a[1],16)/15,parseInt(a[2],16)/15,parseInt(a[3],16)/15):(a=d.exec(r),null!==a?new s(parseInt(a[1],16)/255,parseInt(a[2],16)/255,parseInt(a[3],16)/255):(a=h.exec(r),null!==a?new s(parseFloat(a[1])/("%"===a[1].substr(-1)?100:255),parseFloat(a[2])/("%"===a[2].substr(-1)?100:255),parseFloat(a[3])/("%"===a[3].substr(-1)?100:255),parseFloat(e(a[4],"1.0"))):(a=m.exec(r),null!==a?s.fromHsl(parseFloat(a[1])/360,parseFloat(a[2])/100,parseFloat(a[3])/100,parseFloat(e(a[4],"1.0"))):void 0)))},s.packedLength=4,s.pack=function(t,r,n){n=e(n,0),r[n++]=t.red,r[n++]=t.green,r[n++]=t.blue,r[n]=t.alpha},s.unpack=function(r,n,a){return n=e(n,0),t(a)||(a=new s),a.red=r[n++],a.green=r[n++],a.blue=r[n++],a.alpha=r[n],a},s.byteToFloat=function(e){return e/255},s.floatToByte=function(e){return 1===e?255:0|256*e},s.clone=function(e,r){return t(e)?t(r)?(r.red=e.red,r.green=e.green,r.blue=e.blue,r.alpha=e.alpha,r):new s(e.red,e.green,e.blue,e.alpha):void 0},s.equals=function(e,r){return e===r||t(e)&&t(r)&&e.red===r.red&&e.green===r.green&&e.blue===r.blue&&e.alpha===r.alpha},s.prototype.clone=function(e){return s.clone(this,e)},s.prototype.equals=function(e){return s.equals(this,e)},s.prototype.equalsEpsilon=function(e,r){return this===e||t(e)&&Math.abs(this.red-e.red)<=r&&Math.abs(this.green-e.green)<=r&&Math.abs(this.blue-e.blue)<=r&&Math.abs(this.alpha-e.alpha)<=r},s.prototype.toString=function(){return"("+this.red+", "+this.green+", "+this.blue+", "+this.alpha+")"},s.prototype.toCssColorString=function(){var e=s.floatToByte(this.red),t=s.floatToByte(this.green),r=s.floatToByte(this.blue);return 1===this.alpha?"rgb("+e+","+t+","+r+")":"rgba("+e+","+t+","+r+","+this.alpha+")"},s.prototype.toBytes=function(e){var r=s.floatToByte(this.red),n=s.floatToByte(this.green),a=s.floatToByte(this.blue),i=s.floatToByte(this.alpha);return t(e)?(e[0]=r,e[1]=n,e[2]=a,e[3]=i,e):[r,n,a,i]},s.prototype.toRgba=function(){return c[0]=s.floatToByte(this.red),c[1]=s.floatToByte(this.green),c[2]=s.floatToByte(this.blue),c[3]=s.floatToByte(this.alpha),l[0]},s.ALICEBLUE=r(s.fromCssColorString("#F0F8FF")),s.ANTIQUEWHITE=r(s.fromCssColorString("#FAEBD7")),s.AQUA=r(s.fromCssColorString("#00FFFF")),s.AQUAMARINE=r(s.fromCssColorString("#7FFFD4")),s.AZURE=r(s.fromCssColorString("#F0FFFF")),s.BEIGE=r(s.fromCssColorString("#F5F5DC")),s.BISQUE=r(s.fromCssColorString("#FFE4C4")),s.BLACK=r(s.fromCssColorString("#000000")),s.BLANCHEDALMOND=r(s.fromCssColorString("#FFEBCD")),s.BLUE=r(s.fromCssColorString("#0000FF")),s.BLUEVIOLET=r(s.fromCssColorString("#8A2BE2")),s.BROWN=r(s.fromCssColorString("#A52A2A")),s.BURLYWOOD=r(s.fromCssColorString("#DEB887")),s.CADETBLUE=r(s.fromCssColorString("#5F9EA0")),s.CHARTREUSE=r(s.fromCssColorString("#7FFF00")),s.CHOCOLATE=r(s.fromCssColorString("#D2691E")),s.CORAL=r(s.fromCssColorString("#FF7F50")),s.CORNFLOWERBLUE=r(s.fromCssColorString("#6495ED")),s.CORNSILK=r(s.fromCssColorString("#FFF8DC")),s.CRIMSON=r(s.fromCssColorString("#DC143C")),s.CYAN=r(s.fromCssColorString("#00FFFF")),s.DARKBLUE=r(s.fromCssColorString("#00008B")),s.DARKCYAN=r(s.fromCssColorString("#008B8B")),s.DARKGOLDENROD=r(s.fromCssColorString("#B8860B")),s.DARKGRAY=r(s.fromCssColorString("#A9A9A9")),s.DARKGREEN=r(s.fromCssColorString("#006400")),s.DARKGREY=s.DARKGRAY,s.DARKKHAKI=r(s.fromCssColorString("#BDB76B")),s.DARKMAGENTA=r(s.fromCssColorString("#8B008B")),s.DARKOLIVEGREEN=r(s.fromCssColorString("#556B2F")),s.DARKORANGE=r(s.fromCssColorString("#FF8C00")),s.DARKORCHID=r(s.fromCssColorString("#9932CC")),s.DARKRED=r(s.fromCssColorString("#8B0000")),s.DARKSALMON=r(s.fromCssColorString("#E9967A")),s.DARKSEAGREEN=r(s.fromCssColorString("#8FBC8F")),s.DARKSLATEBLUE=r(s.fromCssColorString("#483D8B")),s.DARKSLATEGRAY=r(s.fromCssColorString("#2F4F4F")),s.DARKSLATEGREY=s.DARKSLATEGRAY,s.DARKTURQUOISE=r(s.fromCssColorString("#00CED1")),s.DARKVIOLET=r(s.fromCssColorString("#9400D3")),s.DEEPPINK=r(s.fromCssColorString("#FF1493")),s.DEEPSKYBLUE=r(s.fromCssColorString("#00BFFF")),s.DIMGRAY=r(s.fromCssColorString("#696969")),s.DIMGREY=s.DIMGRAY,s.DODGERBLUE=r(s.fromCssColorString("#1E90FF")),s.FIREBRICK=r(s.fromCssColorString("#B22222")),s.FLORALWHITE=r(s.fromCssColorString("#FFFAF0")),s.FORESTGREEN=r(s.fromCssColorString("#228B22")),s.FUSCHIA=r(s.fromCssColorString("#FF00FF")),s.GAINSBORO=r(s.fromCssColorString("#DCDCDC")),s.GHOSTWHITE=r(s.fromCssColorString("#F8F8FF")),s.GOLD=r(s.fromCssColorString("#FFD700")),s.GOLDENROD=r(s.fromCssColorString("#DAA520")),s.GRAY=r(s.fromCssColorString("#808080")),s.GREEN=r(s.fromCssColorString("#008000")),s.GREENYELLOW=r(s.fromCssColorString("#ADFF2F")),s.GREY=s.GRAY,s.HONEYDEW=r(s.fromCssColorString("#F0FFF0")),s.HOTPINK=r(s.fromCssColorString("#FF69B4")),s.INDIANRED=r(s.fromCssColorString("#CD5C5C")),s.INDIGO=r(s.fromCssColorString("#4B0082")),s.IVORY=r(s.fromCssColorString("#FFFFF0")),s.KHAKI=r(s.fromCssColorString("#F0E68C")),s.LAVENDER=r(s.fromCssColorString("#E6E6FA")),s.LAVENDAR_BLUSH=r(s.fromCssColorString("#FFF0F5")),s.LAWNGREEN=r(s.fromCssColorString("#7CFC00")),s.LEMONCHIFFON=r(s.fromCssColorString("#FFFACD")),s.LIGHTBLUE=r(s.fromCssColorString("#ADD8E6")),s.LIGHTCORAL=r(s.fromCssColorString("#F08080")),s.LIGHTCYAN=r(s.fromCssColorString("#E0FFFF")),s.LIGHTGOLDENRODYELLOW=r(s.fromCssColorString("#FAFAD2")),s.LIGHTGRAY=r(s.fromCssColorString("#D3D3D3")),s.LIGHTGREEN=r(s.fromCssColorString("#90EE90")),s.LIGHTGREY=s.LIGHTGRAY,s.LIGHTPINK=r(s.fromCssColorString("#FFB6C1")),s.LIGHTSEAGREEN=r(s.fromCssColorString("#20B2AA")),s.LIGHTSKYBLUE=r(s.fromCssColorString("#87CEFA")),s.LIGHTSLATEGRAY=r(s.fromCssColorString("#778899")),s.LIGHTSLATEGREY=s.LIGHTSLATEGRAY,s.LIGHTSTEELBLUE=r(s.fromCssColorString("#B0C4DE")),s.LIGHTYELLOW=r(s.fromCssColorString("#FFFFE0")),s.LIME=r(s.fromCssColorString("#00FF00")),s.LIMEGREEN=r(s.fromCssColorString("#32CD32")),s.LINEN=r(s.fromCssColorString("#FAF0E6")),s.MAGENTA=r(s.fromCssColorString("#FF00FF")),s.MAROON=r(s.fromCssColorString("#800000")),s.MEDIUMAQUAMARINE=r(s.fromCssColorString("#66CDAA")),s.MEDIUMBLUE=r(s.fromCssColorString("#0000CD")),s.MEDIUMORCHID=r(s.fromCssColorString("#BA55D3")),s.MEDIUMPURPLE=r(s.fromCssColorString("#9370DB")),s.MEDIUMSEAGREEN=r(s.fromCssColorString("#3CB371")),s.MEDIUMSLATEBLUE=r(s.fromCssColorString("#7B68EE")),s.MEDIUMSPRINGGREEN=r(s.fromCssColorString("#00FA9A")),s.MEDIUMTURQUOISE=r(s.fromCssColorString("#48D1CC")),s.MEDIUMVIOLETRED=r(s.fromCssColorString("#C71585")),s.MIDNIGHTBLUE=r(s.fromCssColorString("#191970")),s.MINTCREAM=r(s.fromCssColorString("#F5FFFA")),s.MISTYROSE=r(s.fromCssColorString("#FFE4E1")),s.MOCCASIN=r(s.fromCssColorString("#FFE4B5")),s.NAVAJOWHITE=r(s.fromCssColorString("#FFDEAD")),s.NAVY=r(s.fromCssColorString("#000080")),s.OLDLACE=r(s.fromCssColorString("#FDF5E6")),s.OLIVE=r(s.fromCssColorString("#808000")),s.OLIVEDRAB=r(s.fromCssColorString("#6B8E23")),s.ORANGE=r(s.fromCssColorString("#FFA500")),s.ORANGERED=r(s.fromCssColorString("#FF4500")),s.ORCHID=r(s.fromCssColorString("#DA70D6")),s.PALEGOLDENROD=r(s.fromCssColorString("#EEE8AA")),s.PALEGREEN=r(s.fromCssColorString("#98FB98")),s.PALETURQUOISE=r(s.fromCssColorString("#AFEEEE")),s.PALEVIOLETRED=r(s.fromCssColorString("#DB7093")),s.PAPAYAWHIP=r(s.fromCssColorString("#FFEFD5")),s.PEACHPUFF=r(s.fromCssColorString("#FFDAB9")),s.PERU=r(s.fromCssColorString("#CD853F")),s.PINK=r(s.fromCssColorString("#FFC0CB")),s.PLUM=r(s.fromCssColorString("#DDA0DD")),s.POWDERBLUE=r(s.fromCssColorString("#B0E0E6")),s.PURPLE=r(s.fromCssColorString("#800080")),s.RED=r(s.fromCssColorString("#FF0000")),s.ROSYBROWN=r(s.fromCssColorString("#BC8F8F")),s.ROYALBLUE=r(s.fromCssColorString("#4169E1")),s.SADDLEBROWN=r(s.fromCssColorString("#8B4513")),s.SALMON=r(s.fromCssColorString("#FA8072")),s.SANDYBROWN=r(s.fromCssColorString("#F4A460")),s.SEAGREEN=r(s.fromCssColorString("#2E8B57")),s.SEASHELL=r(s.fromCssColorString("#FFF5EE")),s.SIENNA=r(s.fromCssColorString("#A0522D")),s.SILVER=r(s.fromCssColorString("#C0C0C0")),s.SKYBLUE=r(s.fromCssColorString("#87CEEB")),s.SLATEBLUE=r(s.fromCssColorString("#6A5ACD")),s.SLATEGRAY=r(s.fromCssColorString("#708090")),s.SLATEGREY=s.SLATEGRAY,s.SNOW=r(s.fromCssColorString("#FFFAFA")),s.SPRINGGREEN=r(s.fromCssColorString("#00FF7F")),s.STEELBLUE=r(s.fromCssColorString("#4682B4")),s.TAN=r(s.fromCssColorString("#D2B48C")),s.TEAL=r(s.fromCssColorString("#008080")),s.THISTLE=r(s.fromCssColorString("#D8BFD8")),s.TOMATO=r(s.fromCssColorString("#FF6347")),s.TURQUOISE=r(s.fromCssColorString("#40E0D0")),s.VIOLET=r(s.fromCssColorString("#EE82EE")),s.WHEAT=r(s.fromCssColorString("#F5DEB3")),s.WHITE=r(s.fromCssColorString("#FFFFFF")),s.WHITESMOKE=r(s.fromCssColorString("#F5F5F5")),s.YELLOW=r(s.fromCssColorString("#FFFF00")),s.YELLOWGREEN=r(s.fromCssColorString("#9ACD32")),s}),define("Core/barycentricCoordinates",["./Cartesian2","./Cartesian3","./defined","./DeveloperError"],function(e,t,r){"use strict";var n=new t,a=new t,i=new t,o=function(o,s,u,l,c){r(c)||(c=new t);var f,d,h,m,y,p,v,g;r(s.z)?(f=t.subtract(u,s,n),d=t.subtract(l,s,a),h=t.subtract(o,s,i),m=t.dot(f,f),y=t.dot(f,d),p=t.dot(f,h),v=t.dot(d,d),g=t.dot(d,h)):(f=e.subtract(u,s,n),d=e.subtract(l,s,a),h=e.subtract(o,s,i),m=e.dot(f,f),y=e.dot(f,d),p=e.dot(f,h),v=e.dot(d,d),g=e.dot(d,h));var E=1/(m*v-y*y);return c.y=(v*p-y*g)*E,c.z=(m*g-y*p)*E,c.x=1-c.y-c.z,c};return o}),define("Core/EncodedCartesian3",["./Cartesian3","./defined","./DeveloperError"],function(e,t){"use strict";var r=function(){this.high=e.clone(e.ZERO),this.low=e.clone(e.ZERO)};r.encode=function(e,r){t(r)||(r={high:0,low:0});var n;return e>=0?(n=65536*Math.floor(e/65536),r.high=n,r.low=e-n):(n=65536*Math.floor(-e/65536),r.high=-n,r.low=e+n),r};var n={high:0,low:0};r.fromCartesian=function(e,a){t(a)||(a=new r);var i=a.high,o=a.low;return r.encode(e.x,n),i.x=n.high,o.x=n.low,r.encode(e.y,n),i.y=n.high,o.y=n.low,r.encode(e.z,n),i.z=n.high,o.z=n.low,a};var a=new r;return r.writeElements=function(e,t,n){r.fromCartesian(e,a);var i=a.high,o=a.low;t[n]=i.x,t[n+1]=i.y,t[n+2]=i.z,t[n+3]=o.x,t[n+4]=o.y,t[n+5]=o.z},r}),define("Core/Tipsify",["./defaultValue","./defined","./DeveloperError"],function(e,t){"use strict";var r={};return r.calculateACMR=function(r){r=e(r,e.EMPTY_OBJECT);var n=r.indices,a=r.maximumIndex,i=e(r.cacheSize,24),o=n.length;if(!t(a)){a=0;for(var s=0,u=n[s];o>s;)u>a&&(a=u),++s,u=n[s]}for(var l=[],c=0;a+1>c;c++)l[c]=0;for(var f=i+1,d=0;o>d;++d)f-l[n[d]]>i&&(l[n[d]]=f,++f);return(f-i+1)/(o/3)},r.tipsify=function(r){function n(e,t,r,n){for(;t.length>=1;){var a=t[t.length-1];if(t.splice(t.length-1,1),e[a].numLiveTriangles>0)return a}for(;n>i;){if(e[i].numLiveTriangles>0)return++i,i-1;++i}return-1}function a(e,t,r,a,i,o,s){for(var u,l=-1,c=-1,f=0;fc||-1===c)&&(c=u,l=d)),++f}return-1===l?n(a,o,e,s):l}r=e(r,e.EMPTY_OBJECT);var i,o=r.indices,s=r.maximumIndex,u=e(r.cacheSize,24),l=o.length,c=0,f=0,d=o[f],h=l;if(t(s))c=s+1;else{for(;h>f;)d>c&&(c=d),++f,d=o[f];if(-1===c)return 0;++c}for(var m=[],y=0;c>y;y++)m[y]={numLiveTriangles:0,timeStamp:0,vertexTriangles:[]};f=0;for(var p=0;h>f;)m[o[f]].vertexTriangles.push(p),++m[o[f]].numLiveTriangles,m[o[f+1]].vertexTriangles.push(p),++m[o[f+1]].numLiveTriangles,m[o[f+2]].vertexTriangles.push(p),++m[o[f+2]].numLiveTriangles,++p,f+=3;var v=0,g=u+1;i=1;var E,w,S=[],C=[],x=0,A=[],T=l/3,O=[];for(y=0;T>y;y++)O[y]=!1;for(var M,b;-1!==v;){S=[],w=m[v],b=w.vertexTriangles.length;for(var D=0;b>D;++D)if(p=w.vertexTriangles[D],!O[p]){O[p]=!0,f=p+p+p;for(var _=0;3>_;++_)M=o[f],S.push(M),C.push(M),A[x]=M,++x,E=m[M],--E.numLiveTriangles,g-E.timeStamp>u&&(E.timeStamp=g,++g),++f}v=a(o,u,S,m,g,C,c)}return A},r}),define("Core/GeometryPipeline",["./barycentricCoordinates","./defaultValue","./defined","./DeveloperError","./Cartesian2","./Cartesian3","./Cartesian4","./Cartographic","./EncodedCartesian3","./Intersect","./IntersectionTests","./Math","./Matrix3","./Matrix4","./Plane","./GeographicProjection","./ComponentDatatype","./IndexDatatype","./PrimitiveType","./Tipsify","./BoundingSphere","./Geometry","./GeometryAttribute"],function(e,t,r,n,a,i,o,s,u,l,c,f,d,h,m,y,p,v,g,E,w,S,C){"use strict";function x(e,t,r,n,a){e[t++]=r,e[t++]=n,e[t++]=n,e[t++]=a,e[t++]=a,e[t]=r}function A(e){for(var t=e.length,r=6*(t/3),n=v.createTypedArray(t,r),a=0,i=0;t>i;i+=3,a+=6)x(n,a,e[i],e[i+1],e[i+2]);return n}function T(e){var t=e.length;if(t>=3){var r=6*(t-2),n=v.createTypedArray(t,r);x(n,0,e[0],e[1],e[2]);for(var a=6,i=3;t>i;++i,a+=6)x(n,a,e[i-1],e[i],e[i-2]);return n}return new Uint16Array}function O(e){if(e.length>0){for(var t=e.length-1,r=6*(t-1),n=v.createTypedArray(t,r),a=e[0],i=0,o=1;t>o;++o,i+=6)x(n,i,a,e[o],e[o+1]);return n}return new Uint16Array}function M(e){var t={};for(var n in e)if(e.hasOwnProperty(n)&&r(e[n])&&r(e[n].values)){var a=e[n];t[n]=new C({componentDatatype:a.componentDatatype,componentsPerAttribute:a.componentsPerAttribute,normalize:a.normalize,values:[]})}return t}function b(e,t,n){for(var a in t)if(t.hasOwnProperty(a)&&r(t[a])&&r(t[a].values))for(var i=t[a],o=0;oo;o+=3)i.unpack(n,o,K),h.multiplyByPoint(e,K,K),i.pack(K,n,o)}function _(e,t){if(r(t))for(var n=t.values,a=n.length,o=0;a>o;o+=3)i.unpack(n,o,K),d.multiplyByVector(e,K,K),K=i.normalize(K,K),i.pack(K,n,o)}function I(e){var t,n=e.length,a={},i=e[0].geometry.attributes;for(t in i)if(i.hasOwnProperty(t)&&r(i[t])&&r(i[t].values)){for(var o=i[t],s=o.values.length,u=!0,l=1;n>l;++l){var c=e[l].geometry.attributes[t];if(!r(c)||o.componentDatatype.value!==c.componentDatatype.value||o.componentsPerAttribute!==c.componentsPerAttribute||o.normalize!==c.normalize){u=!1;break}s+=c.values.length}u&&(a[t]=new C({componentDatatype:o.componentDatatype,componentsPerAttribute:o.componentsPerAttribute,normalize:o.normalize,values:p.createTypedArray(o.componentDatatype,s)}))}return a}function N(e){if(r(e.indices))return e;for(var t=S.computeNumberOfVertices(e),n=v.createTypedArray(t,t),a=0;t>a;++a)n[a]=a;return e.indices=n,e}function P(e){var t=S.computeNumberOfVertices(e),r=v.createTypedArray(t,3*(t-2));r[0]=1,r[1]=0,r[2]=2;for(var n=3,a=3;t>a;++a)r[n++]=a-1,r[n++]=0,r[n++]=a;return e.indices=r,e.primitiveType=g.TRIANGLES,e}function R(e){var t=S.computeNumberOfVertices(e),r=v.createTypedArray(t,3*(t-2));r[0]=0,r[1]=1,r[2]=2,t>3&&(r[3]=0,r[4]=2,r[5]=3);for(var n=6,a=3;t-1>a;a+=2)r[n++]=a,r[n++]=a-1,r[n++]=a+1,t>a+2&&(r[n++]=a,r[n++]=a+1,r[n++]=a+2);return e.indices=r,e.primitiveType=g.TRIANGLES,e}function z(e){if(r(e.indices))return e;for(var t=S.computeNumberOfVertices(e),n=v.createTypedArray(t,t),a=0;t>a;++a)n[a]=a;return e.indices=n,e}function L(e){var t=S.computeNumberOfVertices(e),r=v.createTypedArray(t,2*(t-1));r[0]=0,r[1]=1;for(var n=2,a=2;t>a;++a)r[n++]=a-1,r[n++]=a;return e.indices=r,e.primitiveType=g.LINES,e}function F(e){var t=S.computeNumberOfVertices(e),r=v.createTypedArray(t,2*t);r[0]=0,r[1]=1;for(var n=2,a=2;t>a;++a)r[n++]=a-1,r[n++]=a;return r[n++]=t-1,r[n]=0,e.indices=r,e.primitiveType=g.LINES,e}function U(e){switch(e.primitiveType){case g.TRIANGLE_FAN:return P(e);case g.TRIANGLE_STRIP:return R(e);case g.TRIANGLES:return N(e);case g.LINE_STRIP:return L(e);case g.LINE_LOOP:return F(e);case g.LINES:return z(e)}return e}function B(e,t){Math.abs(e.y)=0||t.x>=0||r.x>=0)return void 0;var n=e.y<0,a=t.y<0,i=r.y<0;B(e,n),B(t,a),B(r,i);var o=0;o+=n?1:0,o+=a?1:0,o+=i?1:0;var s=ct.indices;1===o?(s[1]=3,s[2]=4,s[5]=6,s[7]=6,s[8]=5,n?(q(e,t,ot,ut),q(e,r,st,lt),s[0]=0,s[3]=1,s[4]=2,s[6]=1):a?(q(t,r,ot,ut),q(t,e,st,lt),s[0]=1,s[3]=2,s[4]=0,s[6]=2):i&&(q(r,e,ot,ut),q(r,t,st,lt),s[0]=2,s[3]=0,s[4]=1,s[6]=0)):2===o&&(s[2]=4,s[4]=4,s[5]=3,s[7]=5,s[8]=6,n?a?i||(q(r,e,ot,ut),q(r,t,st,lt),s[0]=0,s[1]=1,s[3]=0,s[6]=2):(q(t,r,ot,ut),q(t,e,st,lt),s[0]=2,s[1]=0,s[3]=2,s[6]=1):(q(e,t,ot,ut),q(e,r,st,lt),s[0]=1,s[1]=2,s[3]=1,s[6]=0));var u=ct.positions;return u[0]=e,u[1]=t,u[2]=r,ct.length=3,(1===o||2===o)&&(u[3]=ot,u[4]=st,u[5]=ut,u[6]=lt,ct.length=7),ct}function W(t,n,o,s,u,l,c,f){if(r(u)||r(l)||r(c)||r(f)){var d,h,m,y,p,v,g,E,w,S,C,x,A,T,O,M,b,D,_=s.positions,I=_[0],N=_[1],P=_[2];r(u)&&(d=i.fromArray(u,3*t),h=i.fromArray(u,3*n),m=i.fromArray(u,3*o)),r(l)&&(y=i.fromArray(l,3*t),p=i.fromArray(l,3*n),v=i.fromArray(l,3*o)),r(c)&&(g=i.fromArray(c,3*t),E=i.fromArray(c,3*n),w=i.fromArray(c,3*o)),r(f)&&(S=a.fromArray(f,2*t),C=a.fromArray(f,2*n),x=a.fromArray(f,2*o));for(var R=3;R<_.length;++R){var z=_[R],L=e(z,I,N,P);if(r(u)){A=i.multiplyByScalar(d,L.x,A),T=i.multiplyByScalar(h,L.y,T),O=i.multiplyByScalar(m,L.z,O);var F=i.add(A,T);i.add(F,O,F),i.normalize(F,F),u.push(F.x,F.y,F.z)}if(r(l)){A=i.multiplyByScalar(y,L.x,A),T=i.multiplyByScalar(p,L.y,T),O=i.multiplyByScalar(v,L.z,O);var U=i.add(A,T);i.add(U,O,U),i.normalize(U,U),l.push(U.x,U.y,U.z)}if(r(c)){A=i.multiplyByScalar(g,L.x,A),T=i.multiplyByScalar(E,L.y,T),O=i.multiplyByScalar(w,L.z,O);var B=i.add(A,T);i.add(B,O,B),i.normalize(B,B),c.push(B.x,B.y,B.z)}if(r(f)){M=a.multiplyByScalar(S,L.x,M),b=a.multiplyByScalar(C,L.y,b),D=a.multiplyByScalar(x,L.z,D);var q=a.add(M,b);a.add(q,D,q),f.push(q.x,q.y)}}}}function Y(e){for(var t=e.attributes,n=t.position.values,a=r(t.normal)?t.normal.values:void 0,o=r(t.binormal)?t.binormal.values:void 0,s=r(t.tangent)?t.tangent.values:void 0,u=r(t.st)?t.st.values:void 0,l=e.indices,c=Array.prototype.slice.call(n,0),f=r(a)?Array.prototype.slice.call(a,0):void 0,d=r(o)?Array.prototype.slice.call(o,0):void 0,h=r(s)?Array.prototype.slice.call(s,0):void 0,m=r(u)?Array.prototype.slice.call(u,0):void 0,y=[],g=l.length,E=0;g>E;E+=3){var w=l[E],C=l[E+1],x=l[E+2],A=i.fromArray(n,3*w),T=i.fromArray(n,3*C),O=i.fromArray(n,3*x),M=G(A,T,O);if(r(M))if(c[3*w+1]=M.positions[0].y,c[3*C+1]=M.positions[1].y,c[3*x+1]=M.positions[2].y,M.length>3){for(var b=c.length/3,D=0;D_?y.push(l[E+_]):y.push(_-3+b)}for(var I=3;Id;d+=2){var h=a[d],y=a[d+1],p=i.fromArray(n,3*h),g=i.fromArray(n,3*y);if(Math.abs(p.y)c;c+=3)u[l++]=i[c],u[l++]=i[c+1],u[l++]=i[c+2],u[l++]=i[c]+o[c]*a,u[l++]=i[c+1]+o[c+1]*a,u[l++]=i[c+2]+o[c+2]*a;var f,d=e.boundingSphere;return r(d)&&(f=new w(d.center,d.radius+a)),new S({attributes:{position:new C({componentDatatype:p.DOUBLE,componentsPerAttribute:3,values:u})},primitiveType:g.LINES,boundingSphere:f})},j.createAttributeLocations=function(e){var t,n=["position","positionHigh","positionLow","position3DHigh","position3DLow","position2DHigh","position2DLow","pickColor","normal","st","binormal","tangent"],a=e.attributes,i={},o=0,s=n.length;for(t=0;s>t;++t){var u=n[t];r(a[u])&&(i[u]=o++)}for(var l in a)a.hasOwnProperty(l)&&!r(i[l])&&(i[l]=o++);return i},j.reorderForPreVertexCache=function(e){var t=S.computeNumberOfVertices(e),n=e.indices;if(r(n)){for(var a=new Int32Array(t),i=0;t>i;i++)a[i]=-1;for(var o,s=n,u=s.length,l=v.createTypedArray(t,u),c=0,f=0,d=0;u>c;)o=a[s[c]],-1!==o?l[f]=o:(o=s[c],a[o]=d,l[f]=d,++d),++c,++f;e.indices=l;var h=e.attributes;for(var m in h)if(h.hasOwnProperty(m)&&r(h[m])&&r(h[m].values)){for(var y=h[m],g=y.values,E=0,w=y.componentsPerAttribute,C=p.createTypedArray(y.componentDatatype,d*w);t>E;){var x=a[E];if(-1!==x)for(i=0;w>i;i++)C[w*x+i]=g[w*E+i];++E}y.values=C}}return e},j.reorderForPostVertexCache=function(e,t){var n=e.indices;if(e.primitiveType===g.TRIANGLES&&r(n)){for(var a=n.length,i=0,o=0;a>o;o++)n[o]>i&&(i=n[o]);e.indices=E.tipsify({indices:n,maximumIndex:i,cacheSize:t})}return e},j.fitToUnsignedShortIndices=function(e){var t=[],n=S.computeNumberOfVertices(e);if(r(e.indices)&&n>f.SIXTY_FOUR_KILOBYTES){var a,i=[],o=[],s=0,u=M(e.attributes),l=e.indices,c=l.length;e.primitiveType===g.TRIANGLES?a=3:e.primitiveType===g.LINES?a=2:e.primitiveType===g.POINTS&&(a=1);for(var d=0;c>d;d+=a){for(var h=0;a>h;++h){var m=l[d+h],y=i[m];r(y)||(y=s++,i[m]=y,b(u,e.attributes,m)),o.push(y)}s+a>f.SIXTY_FOUR_KILOBYTES&&(t.push(new S({attributes:u,indices:o,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere})),i=[],o=[],s=0,u=M(e.attributes))}0!==o.length&&t.push(new S({attributes:u,indices:o,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere}))}else t.push(e);return t};var H=new i,k=new s;j.projectTo2D=function(e,t,a,o,s){var u=e.attributes[t];s=r(s)?s:new y;for(var l=s.ellipsoid,c=u.values,f=new Float64Array(c.length),d=0,h=0;hc;++c)u.encode(i[c],Z),s[c]=Z.high,l[c]=Z.low;var f=a.componentsPerAttribute;return e.attributes[r]=new C({componentDatatype:p.FLOAT,componentsPerAttribute:f,values:s}),e.attributes[n]=new C({componentDatatype:p.FLOAT,componentsPerAttribute:f,values:l}),delete e.attributes[t],e};var K=new i,J=new h,X=new d;j.transformToWorldCoordinates=function(e){var t=e.modelMatrix;if(h.equals(t,h.IDENTITY))return e;var n=e.geometry.attributes;D(t,n.position),D(t,n.prevPosition),D(t,n.nextPosition),(r(n.normal)||r(n.binormal)||r(n.tangent))&&(h.inverse(t,J),h.transpose(J,J),h.getRotation(J,X),_(X,n.normal),_(X,n.binormal),_(X,n.tangent));var a=e.geometry.boundingSphere;return r(a)&&(e.geometry.boundingSphere=w.transform(a,t,a)),e.modelMatrix=h.clone(h.IDENTITY),e},j.combine=function(e){var t,n,a,o,s=e.length;e[0].modelMatrix;var u,l,c,f=r(e[0].geometry.indices),d=e[0].geometry.primitiveType,h=I(e);for(t in h)if(h.hasOwnProperty(t))for(u=h[t].values,o=0,n=0;s>n;++n)for(l=e[n].geometry.attributes[t].values,c=l.length,a=0;c>a;++a)u[o++]=l[a];var m;if(f){var y=0;for(n=0;s>n;++n)y+=e[n].geometry.indices.length;var p=S.computeNumberOfVertices(new S({attributes:h,primitiveType:g.POINTS})),E=v.createTypedArray(p,y),C=0,x=0;for(n=0;s>n;++n){var A=e[n].geometry.indices,T=A.length;for(o=0;T>o;++o)E[C++]=x+A[o];x+=S.computeNumberOfVertices(e[n].geometry)}m=E}var O,M=new i,b=0;for(n=0;s>n;++n){if(O=e[n].geometry.boundingSphere,!r(O)){M=void 0;break}i.add(O.center,M,M)}if(r(M))for(i.divideByScalar(M,s,M),n=0;s>n;++n){O=e[n].geometry.boundingSphere;var D=i.magnitude(i.subtract(O.center,M))+O.radius;D>b&&(b=D)}return new S({attributes:h,indices:m,primitiveType:d,boundingSphere:r(M)?new w(M,b):void 0})};var Q=new i,$=new i,et=new i,tt=new i;j.computeNormal=function(e){for(var t=e.indices,r=e.attributes,n=r.position.values,a=r.position.values.length/3,o=t.length,s=new Array(a),u=new Array(o/3),l=new Array(o),c=0;a>c;c++)s[c]={indexOffset:0,count:0,currentCount:0};var f=0;for(c=0;o>c;c+=3){var d=t[c],h=t[c+1],m=t[c+2],y=3*d,v=3*h,g=3*m;$.x=n[y],$.y=n[y+1],$.z=n[y+2],et.x=n[v],et.y=n[v+1],et.z=n[v+2],tt.x=n[g],tt.y=n[g+1],tt.z=n[g+2],s[d].count++,s[h].count++,s[m].count++,i.subtract(et,$,et),i.subtract(tt,$,tt),u[f]=i.cross(et,tt),f++}var E=0;for(c=0;a>c;c++)s[c].indexOffset+=E,E+=s[c].count;f=0;var w;for(c=0;o>c;c+=3){w=s[t[c]];var S=w.indexOffset+w.currentCount;l[S]=f,w.currentCount++,w=s[t[c+1]],S=w.indexOffset+w.currentCount,l[S]=f,w.currentCount++,w=s[t[c+2]],S=w.indexOffset+w.currentCount,l[S]=f,w.currentCount++,f++}var x=new Float32Array(3*a);for(c=0;a>c;c++){var A=3*c;if(w=s[c],w.count>0){for(i.clone(i.ZERO,Q),f=0;fl;l+=3){var h=t[l],m=t[l+1],y=t[l+2];c=3*h,f=3*m,d=3*y;var v=2*h,g=2*m,E=2*y,w=r[c],S=r[c+1],x=r[c+2],A=a[v],T=a[v+1],O=a[g+1]-T,M=a[E+1]-T,b=1/((a[g]-A)*M-(a[E]-A)*O),D=(M*(r[f]-w)-O*(r[d]-w))*b,_=(M*(r[f+1]-S)-O*(r[d+1]-S))*b,I=(M*(r[f+2]-x)-O*(r[d+2]-x))*b;u[c]+=D,u[c+1]+=_,u[c+2]+=I,u[f]+=D,u[f+1]+=_,u[f+2]+=I,u[d]+=D,u[d+1]+=_,u[d+2]+=I}var N=new Float32Array(3*o),P=new Float32Array(3*o);for(l=0;o>l;l++){c=3*l,f=c+1,d=c+2;var R=i.fromArray(n,c,rt),z=i.fromArray(u,c,at),L=i.dot(R,z);i.multiplyByScalar(R,L,nt),i.normalize(i.subtract(z,nt,z),z),P[c]=z.x,P[f]=z.y,P[d]=z.z,i.normalize(i.cross(R,z,z),z),N[c]=z.x,N[f]=z.y,N[d]=z.z}return e.attributes.tangent=new C({componentDatatype:p.FLOAT,componentsPerAttribute:3,values:P}),e.attributes.binormal=new C({componentDatatype:p.FLOAT,componentsPerAttribute:3,values:N}),e};var it=new i,ot=new i,st=new i,ut=new i,lt=new i,ct={positions:new Array(7),indices:new Array(9)};return j.wrapLongitude=function(e){var t=e.boundingSphere;if(r(t)){var n=t.center.x-t.radius;if(n>0||w.intersect(t,o.UNIT_Y)!==l.INTERSECTING)return e}return U(e),e.primitiveType===g.TRIANGLES?Y(e):e.primitiveType===g.LINES&&V(e),e},j}),define("Scene/PrimitivePipeline",["../Core/defined","../Core/defaultValue","../Core/Color","../Core/ComponentDatatype","../Core/DeveloperError","../Core/FeatureDetection","../Core/Geometry","../Core/GeometryAttribute","../Core/GeometryPipeline","../Core/Matrix4"],function(e,t,r,n,a,i,o,s,u,l){"use strict";function c(e,t,r){var n,a=!r,i=e.length;if(!a&&i>1){var o=e[0].modelMatrix;for(n=1;i>n;++n)if(!l.equals(o,e[n].modelMatrix)){a=!0;break}}if(a)for(n=0;i>n;++n)u.transformToWorldCoordinates(e[n]);else l.clone(e[0].modelMatrix,t)}function f(e,t){for(var a=e.length,i=0;a>i;++i){var o=e[i],u=o.geometry,l=u.attributes,c=l.position,f=4*(c.values.length/c.componentsPerAttribute);l.pickColor=new s({componentDatatype:n.UNSIGNED_BYTE,componentsPerAttribute:4,normalize:!0,values:new Uint8Array(f)});for(var d=t[i],h=r.floatToByte(d.red),m=r.floatToByte(d.green),y=r.floatToByte(d.blue),p=r.floatToByte(d.alpha),v=l.pickColor.values,g=0;f>g;g+=4)v[g]=h,v[g+1]=m,v[g+2]=y,v[g+3]=p}}function d(t){var r,n=t.length,a=[],i=t[0].attributes;for(r in i)if(i.hasOwnProperty(r)){for(var o=i[r],s=!0,u=1;n>u;++u){var l=t[u].attributes[r];if(!e(l)||o.componentDatatype.value!==l.componentDatatype.value||o.componentsPerAttribute!==l.componentsPerAttribute||o.normalize!==l.normalize){s=!1;break}}s&&a.push(r)}return a}function h(e,t){for(var r=e.length,a=0;r>a;++a)for(var i=e[a],u=i.attributes,l=i.geometry,c=o.computeNumberOfVertices(l),f=t.length,d=0;f>d;++d){for(var h=t[d],m=u[h],y=m.componentDatatype,p=m.value,v=p.length,g=n.createTypedArray(y,c*v),E=0;c>E;++E)g.set(p,E*v);l.attributes[h]=new s({componentDatatype:y,componentsPerAttribute:v,normalize:m.normalize,values:g})}}function m(e){var t,r=e.instances,a=e.pickIds,i=e.projection,o=e.elementIndexUintSupported,s=e.allow3DOnly,l=e.allowPicking,m=e.vertexCacheOptimize,y=e.modelMatrix,p=r.length;if(r[0].geometry.primitiveType,c(r,y,s),!s)for(t=0;p>t;++t)u.wrapLongitude(r[t].geometry);l&&f(r,a);var v=d(r);if(h(r,v),m)for(t=0;p>t;++t)u.reorderForPostVertexCache(r[t].geometry),u.reorderForPreVertexCache(r[t].geometry);var g,E=u.combine(r),w=E.attributes;if(s)for(g in w)w.hasOwnProperty(g)&&w[g].componentDatatype.value===n.DOUBLE.value&&u.encodeAttribute(E,g,g+"3DHigh",g+"3DLow");else for(g in w)if(w.hasOwnProperty(g)&&w[g].componentDatatype.value===n.DOUBLE.value){var S=g+"3D",C=g+"2D";u.projectTo2D(E,g,S,C,i),u.encodeAttribute(E,S,S+"High",S+"Low"),u.encodeAttribute(E,C,C+"High",C+"Low")}return o?[E]:u.fitToUnsignedShortIndices(E)}function y(e,t,r){for(var a=[],i=e.attributes,o=r.length,s=0;o>s;++s){var u=r[s],l=i[u],c=l.componentDatatype;c.value===n.DOUBLE.value&&(c=n.FLOAT);var f=n.createTypedArray(c,l.values);a.push({index:t[u],componentDatatype:c,componentsPerAttribute:l.componentsPerAttribute,normalize:l.normalize,values:f}),delete i[u]}return a}function p(r,n,a){for(var i=[],s=d(r),u=r.length,l={},c={},f=0;u>f;++f)for(var h=r[f],m=o.computeNumberOfVertices(h.geometry),y=s.length,p=0;y>p;++p)for(var v=s[p],g=a[v],E=m;E>0;){for(var w,S=t(c[v],0),C=n[S],x=C.length,A=0;x>A&&(w=C[A],w.index!==g);++A);e(i[f])||(i[f]={}),e(i[f][v])||(i[f][v]={dirty:!1,value:h.attributes[v].value,indices:[]});var T,O=w.values.length/w.componentsPerAttribute,M=t(l[v],0);O>M+E?(T=E,i[f][v].indices.push({attribute:w,offset:M,count:T}),l[v]=M+E):(T=O-M,i[f][v].indices.push({attribute:w,offset:M,count:T}),l[v]=0,c[v]=S+1),E-=T}return i}function v(t){return e(t.constructor.name)?{type:t.constructor.name,buffer:t.buffer}:t}function g(t){return e(t.type)?new w[t.type](t.buffer):t}if(!i.supportsTypedArrays())return{};var E={};E.combineGeometry=function(e){for(var t={instances:e.instances,pickIds:e.pickIds,ellipsoid:e.ellipsoid,projection:e.projection,elementIndexUintSupported:e.elementIndexUintSupported,allow3DOnly:e.allow3DOnly,allowPicking:e.allowPicking,vertexCacheOptimize:e.vertexCacheOptimize,modelMatrix:l.clone(e.modelMatrix)},r=m(t),n=u.createAttributeLocations(r[0]),a=t.instances,i=d(a),o=[],s=r.length,c=0;s>c;++c){var f=r[c];o.push(y(f,n,i))}var h=p(a,o,n);return{geometries:r,modelMatrix:t.modelMatrix,attributeLocations:n,vaAttributes:o,vaAttributeLocations:h}};var w={Int8Array:Int8Array,Uint8Array:Uint8Array,Int16Array:Int16Array,Uint16Array:Uint16Array,Int32Array:Int32Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array};return E.transferGeometry=function(t,r){var n,a=t.attributes;for(var o in a)a.hasOwnProperty(o)&&e(a[o])&&e(a[o].values)&&(n=a[o].values,i.supportsTransferringArrayBuffers()&&r.indexOf(a[o].values.buffer)<0&&r.push(n.buffer),e(n.type)||(a[o].values=v(n)));e(t.indices)&&(n=t.indices,i.supportsTransferringArrayBuffers()&&r.push(n.buffer),e(n.type)||(t.indices=v(t.indices)))},E.transferGeometries=function(e,t){for(var r=e.length,n=0;r>n;++n)E.transferGeometry(e[n],t)},E.transferPerInstanceAttributes=function(e,t){for(var r=e.length,n=0;r>n;++n)for(var a=e[n],o=a.length,s=0;o>s;++s){var u=a[s].values;i.supportsTransferringArrayBuffers()&&t.push(u.buffer),a[s].values=v(u)}},E.transferInstances=function(e,t){for(var r=e.length,n=0;r>n;++n){var a=e[n];E.transferGeometry(a.geometry,t)}},E.receiveGeometry=function(t){var r=t.attributes;for(var n in r)r.hasOwnProperty(n)&&e(r[n])&&e(r[n].values)&&(r[n].values=g(r[n].values));e(t.indices)&&(t.indices=g(t.indices))},E.receiveGeometries=function(e){for(var t=e.length,r=0;t>r;++r)E.receiveGeometry(e[r])},E.receivePerInstanceAttributes=function(e){for(var t=e.length,r=0;t>r;++r)for(var n=e[r],a=n.length,i=0;a>i;++i)n[i].values=g(n[i].values)},E.receiveInstances=function(e){for(var t=e.length,r=0;t>r;++r){var n=e[r];E.receiveGeometry(n.geometry)}},E}),define("Workers/createTaskProcessorWorker",["../Core/defaultValue","../Core/defined"],function(e,t){"use strict";var r=function(r){var n,a=[],i={id:void 0,result:void 0,error:void 0};return function(o){var s=o.data;a.length=0,i.id=s.id,i.error=void 0,i.result=void 0;try{i.result=r(s.parameters,a)}catch(u){i.error=u}t(n)||(n=e(self.webkitPostMessage,self.postMessage));try{n(i,a)}catch(u){i.result=void 0,i.error="postMessage failed with error: "+u+"\n with responseMessage: "+JSON.stringify(i),n(i)}}};return r}),define("Workers/createCorridorGeometry",["../Core/CorridorGeometry","../Core/Ellipsoid","../Scene/PrimitivePipeline","./createTaskProcessorWorker"],function(e,t,r,n){"use strict";function a(n,a){var i=n.geometry;i._ellipsoid=t.clone(i._ellipsoid);var o=e.createGeometry(i);return r.transferGeometry(o,a),{geometry:o,index:n.index}}return n(a)})}(); \ No newline at end of file diff --git a/Cesium/Workers/createCorridorOutlineGeometry.js b/Cesium/Workers/createCorridorOutlineGeometry.js new file mode 100644 index 0000000..2d2f92a --- /dev/null +++ b/Cesium/Workers/createCorridorOutlineGeometry.js @@ -0,0 +1,231 @@ +/** + * Cesium - https://github.com/AnalyticalGraphicsInc/cesium + * + * Copyright 2011-2014 Cesium Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Columbus View (Pat. Pend.) + * + * Portions licensed separately. + * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details. + */ +/** +@license +mersenne-twister.js - https://gist.github.com/banksean/300494 + + Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura, + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. The names of its contributors may not be used to endorse or promote + products derived from this software without specific prior written + permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/** + * @fileOverview + * @license + * + * Grauw URI utilities + * + * See: http://hg.grauw.nl/grauw-lib/file/tip/src/uri.js + * + * @author Laurens Holst (http://www.grauw.nl/) + * + * Copyright 2012 Laurens Holst + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +/** +@license +sprintf.js from the php.js project - https://github.com/kvz/phpjs +Directly from https://github.com/kvz/phpjs/blob/master/functions/strings/sprintf.js + +php.js is copyright 2012 Kevin van Zonneveld. + +Portions copyright Brett Zamir (http://brett-zamir.me), Kevin van Zonneveld +(http://kevin.vanzonneveld.net), Onno Marsman, Theriault, Michael White +(http://getsprink.com), Waldo Malqui Silva, Paulo Freitas, Jack, Jonas +Raoni Soares Silva (http://www.jsfromhell.com), Philip Peterson, Legaev +Andrey, Ates Goral (http://magnetiq.com), Alex, Ratheous, Martijn Wieringa, +Rafa? Kukawski (http://blog.kukawski.pl), lmeyrick +(https://sourceforge.net/projects/bcmath-js/), Nate, Philippe Baumann, +Enrique Gonzalez, Webtoolkit.info (http://www.webtoolkit.info/), Carlos R. +L. Rodrigues (http://www.jsfromhell.com), Ash Searle +(http://hexmen.com/blog/), Jani Hartikainen, travc, Ole Vrijenhoek, +Erkekjetter, Michael Grier, Rafa? Kukawski (http://kukawski.pl), Johnny +Mast (http://www.phpvrouwen.nl), T.Wild, d3x, +http://stackoverflow.com/questions/57803/how-to-convert-decimal-to-hex-in-javascript, +Rafa? Kukawski (http://blog.kukawski.pl/), stag019, pilus, WebDevHobo +(http://webdevhobo.blogspot.com/), marrtins, GeekFG +(http://geekfg.blogspot.com), Andrea Giammarchi +(http://webreflection.blogspot.com), Arpad Ray (mailto:arpad@php.net), +gorthaur, Paul Smith, Tim de Koning (http://www.kingsquare.nl), Joris, Oleg +Eremeev, Steve Hilder, majak, gettimeofday, KELAN, Josh Fraser +(http://onlineaspect.com/2007/06/08/auto-detect-a-time-zone-with-javascript/), +Marc Palau, Martin +(http://www.erlenwiese.de/), Breaking Par Consulting Inc +(http://www.breakingpar.com/bkp/home.nsf/0/87256B280015193F87256CFB006C45F7), +Chris, Mirek Slugen, saulius, Alfonso Jimenez +(http://www.alfonsojimenez.com), Diplom@t (http://difane.com/), felix, +Mailfaker (http://www.weedem.fr/), Tyler Akins (http://rumkin.com), Caio +Ariede (http://caioariede.com), Robin, Kankrelune +(http://www.webfaktory.info/), Karol Kowalski, Imgen Tata +(http://www.myipdf.com/), mdsjack (http://www.mdsjack.bo.it), Dreamer, +Felix Geisendoerfer (http://www.debuggable.com/felix), Lars Fischer, AJ, +David, Aman Gupta, Michael White, Public Domain +(http://www.json.org/json2.js), Steven Levithan +(http://blog.stevenlevithan.com), Sakimori, Pellentesque Malesuada, +Thunder.m, Dj (http://phpjs.org/functions/htmlentities:425#comment_134018), +Steve Clay, David James, Francois, class_exists, nobbler, T. Wild, Itsacon +(http://www.itsacon.net/), date, Ole Vrijenhoek (http://www.nervous.nl/), +Fox, Raphael (Ao RUDLER), Marco, noname, Mateusz "loonquawl" Zalega, Frank +Forte, Arno, ger, mktime, john (http://www.jd-tech.net), Nick Kolosov +(http://sammy.ru), marc andreu, Scott Cariss, Douglas Crockford +(http://javascript.crockford.com), madipta, Slawomir Kaniecki, +ReverseSyntax, Nathan, Alex Wilson, kenneth, Bayron Guevara, Adam Wallner +(http://web2.bitbaro.hu/), paulo kuong, jmweb, Lincoln Ramsay, djmix, +Pyerre, Jon Hohle, Thiago Mata (http://thiagomata.blog.com), lmeyrick +(https://sourceforge.net/projects/bcmath-js/this.), Linuxworld, duncan, +Gilbert, Sanjoy Roy, Shingo, sankai, Oskar Larsson H?gfeldt +(http://oskar-lh.name/), Denny Wardhana, 0m3r, Everlasto, Subhasis Deb, +josh, jd, Pier Paolo Ramon (http://www.mastersoup.com/), P, merabi, Soren +Hansen, Eugene Bulkin (http://doubleaw.com/), Der Simon +(http://innerdom.sourceforge.net/), echo is bad, Ozh, XoraX +(http://www.xorax.info), EdorFaus, JB, J A R, Marc Jansen, Francesco, LH, +Stoyan Kyosev (http://www.svest.org/), nord_ua, omid +(http://phpjs.org/functions/380:380#comment_137122), Brad Touesnard, MeEtc +(http://yass.meetcweb.com), Peter-Paul Koch +(http://www.quirksmode.org/js/beat.html), Olivier Louvignes +(http://mg-crea.com/), T0bsn, Tim Wiel, Bryan Elliott, Jalal Berrami, +Martin, JT, David Randall, Thomas Beaucourt (http://www.webapp.fr), taith, +vlado houba, Pierre-Luc Paour, Kristof Coomans (SCK-CEN Belgian Nucleair +Research Centre), Martin Pool, Kirk Strobeck, Rick Waldron, Brant Messenger +(http://www.brantmessenger.com/), Devan Penner-Woelk, Saulo Vallory, Wagner +B. Soares, Artur Tchernychev, Valentina De Rosa, Jason Wong +(http://carrot.org/), Christoph, Daniel Esteban, strftime, Mick@el, rezna, +Simon Willison (http://simonwillison.net), Anton Ongson, Gabriel Paderni, +Marco van Oort, penutbutterjelly, Philipp Lenssen, Bjorn Roesbeke +(http://www.bjornroesbeke.be/), Bug?, Eric Nagel, Tomasz Wesolowski, +Evertjan Garretsen, Bobby Drake, Blues (http://tech.bluesmoon.info/), Luke +Godfrey, Pul, uestla, Alan C, Ulrich, Rafal Kukawski, Yves Sucaet, +sowberry, Norman "zEh" Fuchs, hitwork, Zahlii, johnrembo, Nick Callen, +Steven Levithan (stevenlevithan.com), ejsanders, Scott Baker, Brian Tafoya +(http://www.premasolutions.com/), Philippe Jausions +(http://pear.php.net/user/jausions), Aidan Lister +(http://aidanlister.com/), Rob, e-mike, HKM, ChaosNo1, metjay, strcasecmp, +strcmp, Taras Bogach, jpfle, Alexander Ermolaev +(http://snippets.dzone.com/user/AlexanderErmolaev), DxGx, kilops, Orlando, +dptr1988, Le Torbi, James (http://www.james-bell.co.uk/), Pedro Tainha +(http://www.pedrotainha.com), James, Arnout Kazemier +(http://www.3rd-Eden.com), Chris McMacken, gabriel paderni, Yannoo, +FGFEmperor, baris ozdil, Tod Gentille, Greg Frazier, jakes, 3D-GRAF, Allan +Jensen (http://www.winternet.no), Howard Yeend, Benjamin Lupton, davook, +daniel airton wermann (http://wermann.com.br), Atli T¨®r, Maximusya, Ryan +W Tenney (http://ryan.10e.us), Alexander M Beedie, fearphage +(http://http/my.opera.com/fearphage/), Nathan Sepulveda, Victor, Matteo, +Billy, stensi, Cord, Manish, T.J. Leahy, Riddler +(http://www.frontierwebdev.com/), Rafa? Kukawski, FremyCompany, Matt +Bradley, Tim de Koning, Luis Salazar (http://www.freaky-media.com/), Diogo +Resende, Rival, Andrej Pavlovic, Garagoth, Le Torbi +(http://www.letorbi.de/), Dino, Josep Sanz (http://www.ws3.es/), rem, +Russell Walker (http://www.nbill.co.uk/), Jamie Beck +(http://www.terabit.ca/), setcookie, Michael, YUI Library: +http://developer.yahoo.com/yui/docs/YAHOO.util.DateLocale.html, Blues at +http://hacks.bluesmoon.info/strftime/strftime.js, Ben +(http://benblume.co.uk/), DtTvB +(http://dt.in.th/2008-09-16.string-length-in-bytes.html), Andreas, William, +meo, incidence, Cagri Ekin, Amirouche, Amir Habibi +(http://www.residence-mixte.com/), Luke Smith (http://lucassmith.name), +Kheang Hok Chin (http://www.distantia.ca/), Jay Klehr, Lorenzo Pisani, +Tony, Yen-Wei Liu, Greenseed, mk.keck, Leslie Hoare, dude, booeyOH, Ben +Bryan + +Licensed under the MIT (MIT-LICENSE.txt) license. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL KEVIN VAN ZONNEVELD BE LIABLE FOR ANY CLAIM, DAMAGES +OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. +*/ + +/** + @license + when.js - https://github.com/cujojs/when + + MIT License (c) copyright B Cavalier & J Hann + + * A lightweight CommonJS Promises/A and when() implementation + * when is part of the cujo.js family of libraries (http://cujojs.com/) + * + * Licensed under the MIT License at: + * http://www.opensource.org/licenses/mit-license.php + * + * @version 1.7.1 + */ + +!function(){define("Core/defined",[],function(){"use strict";var e=function(e){return void 0!==e};return e}),define("Core/freezeObject",["./defined"],function(e){"use strict";var t=Object.freeze;return e(t)||(t=function(e){return e}),t}),define("Core/defaultValue",["./freezeObject"],function(e){"use strict";var t=function(e,t){return void 0!==e?e:t};return t.EMPTY_OBJECT=e({}),t}),define("Core/DeveloperError",["./defined"],function(e){"use strict";var t=function(e){this.name="DeveloperError",this.message=e;var t;try{throw new Error}catch(r){t=r.stack}this.stack=t};return t.prototype.toString=function(){var t=this.name+": "+this.message;return e(this.stack)&&(t+="\n"+this.stack.toString()),t},t.throwInstantiationError=function(){throw new t("This function defines an interface and should not be called directly.")},t}),define("Core/Cartesian3",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,t,r,n){"use strict";var a=function(t,r,n){this.x=e(t,0),this.y=e(r,0),this.z=e(n,0)};a.fromSpherical=function(r,n){t(n)||(n=new a);var i=r.clock,o=r.cone,s=e(r.magnitude,1),u=s*Math.sin(o);return n.x=u*Math.cos(i),n.y=u*Math.sin(i),n.z=s*Math.cos(o),n},a.fromElements=function(e,r,n,i){return t(i)?(i.x=e,i.y=r,i.z=n,i):new a(e,r,n)},a.clone=function(e,r){return t(e)?t(r)?(r.x=e.x,r.y=e.y,r.z=e.z,r):new a(e.x,e.y,e.z):void 0},a.fromCartesian4=a.clone,a.packedLength=3,a.pack=function(t,r,n){n=e(n,0),r[n++]=t.x,r[n++]=t.y,r[n]=t.z},a.unpack=function(r,n,i){return n=e(n,0),t(i)||(i=new a),i.x=r[n++],i.y=r[n++],i.z=r[n],i},a.fromArray=a.unpack,a.getMaximumComponent=function(e){return Math.max(e.x,e.y,e.z)},a.getMinimumComponent=function(e){return Math.min(e.x,e.y,e.z)},a.getMinimumByComponent=function(e,r,n){return t(n)||(n=new a),n.x=Math.min(e.x,r.x),n.y=Math.min(e.y,r.y),n.z=Math.min(e.z,r.z),n},a.getMaximumByComponent=function(e,r,n){return t(n)||(n=new a),n.x=Math.max(e.x,r.x),n.y=Math.max(e.y,r.y),n.z=Math.max(e.z,r.z),n},a.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z},a.magnitude=function(e){return Math.sqrt(a.magnitudeSquared(e))};var i=new a;a.distance=function(e,t){return a.subtract(e,t,i),a.magnitude(i)},a.normalize=function(e,r){var n=a.magnitude(e);return t(r)?(r.x=e.x/n,r.y=e.y/n,r.z=e.z/n,r):new a(e.x/n,e.y/n,e.z/n)},a.dot=function(e,t){return e.x*t.x+e.y*t.y+e.z*t.z},a.multiplyComponents=function(e,r,n){return t(n)?(n.x=e.x*r.x,n.y=e.y*r.y,n.z=e.z*r.z,n):new a(e.x*r.x,e.y*r.y,e.z*r.z)},a.add=function(e,r,n){return t(n)?(n.x=e.x+r.x,n.y=e.y+r.y,n.z=e.z+r.z,n):new a(e.x+r.x,e.y+r.y,e.z+r.z)},a.subtract=function(e,r,n){return t(n)?(n.x=e.x-r.x,n.y=e.y-r.y,n.z=e.z-r.z,n):new a(e.x-r.x,e.y-r.y,e.z-r.z)},a.multiplyByScalar=function(e,r,n){return t(n)?(n.x=e.x*r,n.y=e.y*r,n.z=e.z*r,n):new a(e.x*r,e.y*r,e.z*r)},a.divideByScalar=function(e,r,n){return t(n)?(n.x=e.x/r,n.y=e.y/r,n.z=e.z/r,n):new a(e.x/r,e.y/r,e.z/r)},a.negate=function(e,r){return t(r)?(r.x=-e.x,r.y=-e.y,r.z=-e.z,r):new a(-e.x,-e.y,-e.z)},a.abs=function(e,r){return t(r)?(r.x=Math.abs(e.x),r.y=Math.abs(e.y),r.z=Math.abs(e.z),r):new a(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z))};var o=new a;a.lerp=function(e,t,r,n){return a.multiplyByScalar(t,r,o),n=a.multiplyByScalar(e,1-r,n),a.add(o,n,n)};var s=new a,u=new a;a.angleBetween=function(e,t){a.normalize(e,s),a.normalize(t,u);var r=a.dot(s,u),n=a.magnitude(a.cross(s,u,s));return Math.atan2(n,r)};var l=new a;return a.mostOrthogonalAxis=function(e,t){var r=a.normalize(e,l);return a.abs(r,r),t=r.x<=r.y?r.x<=r.z?a.clone(a.UNIT_X,t):a.clone(a.UNIT_Z,t):r.y<=r.z?a.clone(a.UNIT_Y,t):a.clone(a.UNIT_Z,t)},a.equals=function(e,r){return e===r||t(e)&&t(r)&&e.x===r.x&&e.y===r.y&&e.z===r.z},a.equalsEpsilon=function(e,r,n){return e===r||t(e)&&t(r)&&Math.abs(e.x-r.x)<=n&&Math.abs(e.y-r.y)<=n&&Math.abs(e.z-r.z)<=n},a.cross=function(e,r,n){var i=e.x,o=e.y,s=e.z,u=r.x,l=r.y,c=r.z,f=o*c-s*l,h=s*u-i*c,d=i*l-o*u;return t(n)?(n.x=f,n.y=h,n.z=d,n):new a(f,h,d)},a.ZERO=n(new a(0,0,0)),a.UNIT_X=n(new a(1,0,0)),a.UNIT_Y=n(new a(0,1,0)),a.UNIT_Z=n(new a(0,0,1)),a.prototype.clone=function(e){return a.clone(this,e)},a.prototype.equals=function(e){return a.equals(this,e)},a.prototype.equalsEpsilon=function(e,t){return a.equalsEpsilon(this,e,t)},a.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+")"},a}),define("ThirdParty/mersenne-twister",[],function(){var e=function(e){void 0==e&&(e=(new Date).getTime()),this.N=624,this.M=397,this.MATRIX_A=2567483615,this.UPPER_MASK=2147483648,this.LOWER_MASK=2147483647,this.mt=new Array(this.N),this.mti=this.N+1,this.init_genrand(e)};return e.prototype.init_genrand=function(e){for(this.mt[0]=e>>>0,this.mti=1;this.mti>>30;this.mt[this.mti]=(1812433253*((4294901760&e)>>>16)<<16)+1812433253*(65535&e)+this.mti,this.mt[this.mti]>>>=0}},e.prototype.genrand_int32=function(){var e,t=new Array(0,this.MATRIX_A);if(this.mti>=this.N){var r;for(this.mti==this.N+1&&this.init_genrand(5489),r=0;r>>1^t[1&e];for(;r>>1^t[1&e];e=this.mt[this.N-1]&this.UPPER_MASK|this.mt[0]&this.LOWER_MASK,this.mt[this.N-1]=this.mt[this.M-1]^e>>>1^t[1&e],this.mti=0}return e=this.mt[this.mti++],e^=e>>>11,e^=2636928640&e<<7,e^=4022730752&e<<15,e^=e>>>18,e>>>0},e.prototype.random=function(){return this.genrand_int32()*(1/4294967296)},e}),define("Core/Math",["./defaultValue","./defined","./DeveloperError","../ThirdParty/mersenne-twister"],function(e,t,r,n){"use strict";var a={};a.EPSILON1=.1,a.EPSILON2=.01,a.EPSILON3=.001,a.EPSILON4=1e-4,a.EPSILON5=1e-5,a.EPSILON6=1e-6,a.EPSILON7=1e-7,a.EPSILON8=1e-8,a.EPSILON9=1e-9,a.EPSILON10=1e-10,a.EPSILON11=1e-11,a.EPSILON12=1e-12,a.EPSILON13=1e-13,a.EPSILON14=1e-14,a.EPSILON15=1e-15,a.EPSILON16=1e-16,a.EPSILON17=1e-17,a.EPSILON18=1e-18,a.EPSILON19=1e-19,a.EPSILON20=1e-20,a.GRAVITATIONALPARAMETER=3986004418e5,a.SOLAR_RADIUS=6955e5,a.LUNAR_RADIUS=1737400,a.SIXTY_FOUR_KILOBYTES=65536,a.sign=function(e){return e>0?1:0>e?-1:0},a.sinh=function(e){var t=Math.pow(Math.E,e),r=Math.pow(Math.E,-1*e);return.5*(t-r)},a.cosh=function(e){var t=Math.pow(Math.E,e),r=Math.pow(Math.E,-1*e);return.5*(t+r)},a.lerp=function(e,t,r){return(1-r)*e+r*t},a.PI=Math.PI,a.ONE_OVER_PI=1/Math.PI,a.PI_OVER_TWO=.5*Math.PI,a.PI_OVER_THREE=Math.PI/3,a.PI_OVER_FOUR=Math.PI/4,a.PI_OVER_SIX=Math.PI/6,a.THREE_PI_OVER_TWO=.5*3*Math.PI,a.TWO_PI=2*Math.PI,a.ONE_OVER_TWO_PI=1/(2*Math.PI),a.RADIANS_PER_DEGREE=Math.PI/180,a.DEGREES_PER_RADIAN=180/Math.PI,a.RADIANS_PER_ARCSECOND=a.RADIANS_PER_DEGREE/3600,a.toRadians=function(e){return e*a.RADIANS_PER_DEGREE},a.toDegrees=function(e){return e*a.DEGREES_PER_RADIAN},a.convertLongitudeRange=function(e){var t=a.TWO_PI,r=e-Math.floor(e/t)*t;return r<-Math.PI?r+t:r>=Math.PI?r-t:r},a.negativePiToPi=function(e){for(var t=a.EPSILON10,r=a.PI,n=a.TWO_PI;-(r+t)>e;)e+=n;if(-r>e)return-r;for(;e>r+t;)e-=n;return e>r?r:e},a.zeroToTwoPi=function(e){var t=e%a.TWO_PI;return 0>t?(t+a.TWO_PI)%a.TWO_PI:t},a.equalsEpsilon=function(t,r,n){return n=e(n,0),Math.abs(t-r)<=n};var i=[1];a.factorial=function(e){var t=i.length;if(e>=t)for(var r=i[t-1],n=t;e>=n;n++)i.push(r*n);return i[e]},a.incrementWrap=function(t,r,n){return n=e(n,0),++t,t>r&&(t=n),t},a.isPowerOfTwo=function(e){return 0!==e&&0===(e&e-1)},a.nextPowerOfTwo=function(e){return--e,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,++e,e},a.clamp=function(e,t,r){return t>e?t:e>r?r:e};var o=new n;return a.setRandomNumberSeed=function(e){o=new n(e)},a.nextRandomNumber=function(){return o.random()},a}),define("Core/Cartographic",["./defaultValue","./defined","./DeveloperError","./freezeObject","./Math"],function(e,t,r,n,a){"use strict";var i=function(t,r,n){this.longitude=e(t,0),this.latitude=e(r,0),this.height=e(n,0)};return i.fromDegrees=function(r,n,o,s){return r=a.toRadians(e(r,0)),n=a.toRadians(e(n,0)),o=e(o,0),t(s)?(s.longitude=r,s.latitude=n,s.height=o,s):new i(r,n,o)},i.clone=function(e,r){return t(e)?t(r)?(r.longitude=e.longitude,r.latitude=e.latitude,r.height=e.height,r):new i(e.longitude,e.latitude,e.height):void 0},i.equals=function(e,r){return e===r||t(e)&&t(r)&&e.longitude===r.longitude&&e.latitude===r.latitude&&e.height===r.height},i.equalsEpsilon=function(e,r,n){return e===r||t(e)&&t(r)&&Math.abs(e.longitude-r.longitude)<=n&&Math.abs(e.latitude-r.latitude)<=n&&Math.abs(e.height-r.height)<=n},i.toString=function(e){return"("+e.longitude+", "+e.latitude+", "+e.height+")"},i.ZERO=n(new i(0,0,0)),i.prototype.clone=function(e){return i.clone(this,e)},i.prototype.equals=function(e){return i.equals(this,e)},i.prototype.equalsEpsilon=function(e,t){return i.equalsEpsilon(this,e,t)},i.prototype.toString=function(){return i.toString(this)},i}),define("Core/defineProperties",["./defined"],function(e){"use strict";var t=function(){try{return"x"in Object.defineProperty({},"x",{})}catch(e){return!1}}(),r=Object.defineProperties;return t&&e(r)||(r=function(e){return e}),r}),define("Core/Ellipsoid",["./freezeObject","./defaultValue","./defined","./defineProperties","./DeveloperError","./Math","./Cartesian3","./Cartographic"],function(e,t,r,n,a,i,o,s){"use strict";var u=function(e,r,n){e=t(e,0),r=t(r,0),n=t(n,0),this._radii=new o(e,r,n),this._radiiSquared=new o(e*e,r*r,n*n),this._radiiToTheFourth=new o(e*e*e*e,r*r*r*r,n*n*n*n),this._oneOverRadii=new o(0===e?0:1/e,0===r?0:1/r,0===n?0:1/n),this._oneOverRadiiSquared=new o(0===e?0:1/(e*e),0===r?0:1/(r*r),0===n?0:1/(n*n)),this._minimumRadius=Math.min(e,r,n),this._maximumRadius=Math.max(e,r,n),this._centerToleranceSquared=i.EPSILON1};n(u.prototype,{radii:{get:function(){return this._radii}},radiiSquared:{get:function(){return this._radiiSquared}},radiiToTheFourth:{get:function(){return this._radiiToTheFourth}},oneOverRadii:{get:function(){return this._oneOverRadii}},oneOverRadiiSquared:{get:function(){return this._oneOverRadiiSquared}},minimumRadius:{get:function(){return this._minimumRadius}},maximumRadius:{get:function(){return this._maximumRadius}}}),u.clone=function(e,t){if(!r(e))return void 0;var n=e._radii;return r(t)?(o.clone(n,t._radii),o.clone(e._radiiSquared,t._radiiSquared),o.clone(e._radiiToTheFourth,t._radiiToTheFourth),o.clone(e._oneOverRadii,t._oneOverRadii),o.clone(e._oneOverRadiiSquared,t._oneOverRadiiSquared),t._minimumRadius=e._minimumRadius,t._maximumRadius=e._maximumRadius,t._centerToleranceSquared=e._centerToleranceSquared,t):new u(n.x,n.y,n.z)},u.fromCartesian3=function(e){return r(e)?new u(e.x,e.y,e.z):new u},u.WGS84=e(new u(6378137,6378137,6356752.314245179)),u.UNIT_SPHERE=e(new u(1,1,1)),u.MOON=e(new u(i.LUNAR_RADIUS,i.LUNAR_RADIUS,i.LUNAR_RADIUS)),u.prototype.clone=function(e){return u.clone(this,e)},u.prototype.geocentricSurfaceNormal=o.normalize,u.prototype.geodeticSurfaceNormalCartographic=function(e,t){var n=e.longitude,a=e.latitude,i=Math.cos(a),s=i*Math.cos(n),u=i*Math.sin(n),l=Math.sin(a);return r(t)||(t=new o),t.x=s,t.y=u,t.z=l,o.normalize(t,t)},u.prototype.geodeticSurfaceNormal=function(e,t){return t=o.multiplyComponents(e,this._oneOverRadiiSquared,t),o.normalize(t,t)};var l=new o,c=new o;u.prototype.cartographicToCartesian=function(e,t){var r=l,n=c;this.geodeticSurfaceNormalCartographic(e,r),o.multiplyComponents(this._radiiSquared,r,n);var a=Math.sqrt(o.dot(r,n));return o.divideByScalar(n,a,n),o.multiplyByScalar(r,e.height,r),o.add(n,r,t)},u.prototype.cartographicArrayToCartesianArray=function(e,t){var n=e.length;r(t)?t.length=n:t=new Array(n);for(var a=0;n>a;a++)t[a]=this.cartographicToCartesian(e[a],t[a]);return t};var f=new o,h=new o,d=new o;u.prototype.cartesianToCartographic=function(e,t){var n=this.scaleToGeodeticSurface(e,h);if(!r(n))return void 0;var a=this.geodeticSurfaceNormal(n,f),u=o.subtract(e,n,d),l=Math.atan2(a.y,a.x),c=Math.asin(a.z),m=i.sign(o.dot(u,e))*o.magnitude(u);return r(t)?(t.longitude=l,t.latitude=c,t.height=m,t):new s(l,c,m)},u.prototype.cartesianArrayToCartographicArray=function(e,t){var n=e.length;r(t)?t.length=n:t=new Array(n);for(var a=0;n>a;++a)t[a]=this.cartesianToCartographic(e[a],t[a]);return t};var m=new o,y=new o;return u.prototype.scaleToGeodeticSurface=function(e,t){var n=e.x,a=e.y,s=e.z,u=this._oneOverRadii,l=u.x,c=u.y,f=u.z,h=n*n*l*l,d=a*a*c*c,p=s*s*f*f,v=h+d+p,g=Math.sqrt(1/v),E=o.multiplyByScalar(e,g,m);if(vi.EPSILON12);return r(t)?(t.x=n*M,t.y=a*D,t.z=s*I,t):new o(n*M,a*D,s*I)},u.prototype.scaleToGeocentricSurface=function(e,t){var r=e.x,n=e.y,a=e.z,i=this._oneOverRadiiSquared,s=1/Math.sqrt(r*r*i.x+n*n*i.y+a*a*i.z);return o.multiplyByScalar(e,s,t)},u.prototype.transformPositionToScaledSpace=function(e,t){return o.multiplyComponents(e,this._oneOverRadii,t)},u.prototype.transformPositionFromScaledSpace=function(e,t){return o.multiplyComponents(e,this._radii,t)},u.prototype.equals=function(e){return this===e||r(e)&&o.equals(this._radii,e._radii)},u.prototype.toString=function(){return this._radii.toString()},u}),define("Core/GeographicProjection",["./defaultValue","./defined","./defineProperties","./Cartesian3","./Cartographic","./Ellipsoid"],function(e,t,r,n,a,i){"use strict";var o=function(t){this._ellipsoid=e(t,i.WGS84),this._semimajorAxis=this._ellipsoid.maximumRadius,this._oneOverSemimajorAxis=1/this._semimajorAxis};return r(o.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}}),o.prototype.project=function(e,r){var a=this._semimajorAxis,i=e.longitude*a,o=e.latitude*a,s=e.height;return t(r)?(r.x=i,r.y=o,r.z=s,r):new n(i,o,s)},o.prototype.unproject=function(e,r){var n=this._oneOverSemimajorAxis,i=e.x*n,o=e.y*n,s=e.z;return t(r)?(r.longitude=i,r.latitude=o,r.height=s,r):new a(i,o,s)},o}),define("Core/Enumeration",["./defined"],function(e){"use strict";var t=function(t,r,n){if(this.value=t,this.name=r,e(n))for(var a in n)n.hasOwnProperty(a)&&(this[a]=n[a])};return t.prototype.valueOf=function(){return this.value},t.prototype.toString=function(){return this.name},t}),define("Core/Intersect",["./Enumeration"],function(e){"use strict";var t={OUTSIDE:new e(-1,"OUTSIDE"),INTERSECTING:new e(0,"INTERSECTING"),INSIDE:new e(1,"INSIDE")};return t}),define("Core/Interval",["./defaultValue"],function(e){"use strict";var t=function(t,r){this.start=e(t,0),this.stop=e(r,0)};return t}),define("Core/Cartesian4",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,t,r,n){"use strict";var a=function(t,r,n,a){this.x=e(t,0),this.y=e(r,0),this.z=e(n,0),this.w=e(a,0)};a.fromElements=function(e,r,n,i,o){return t(o)?(o.x=e,o.y=r,o.z=n,o.w=i,o):new a(e,r,n,i)},a.clone=function(e,r){return t(e)?t(r)?(r.x=e.x,r.y=e.y,r.z=e.z,r.w=e.w,r):new a(e.x,e.y,e.z,e.w):void 0},a.packedLength=4,a.pack=function(t,r,n){n=e(n,0),r[n++]=t.x,r[n++]=t.y,r[n++]=t.z,r[n]=t.w},a.unpack=function(r,n,i){return n=e(n,0),t(i)||(i=new a),i.x=r[n++],i.y=r[n++],i.z=r[n++],i.w=r[n],i},a.fromArray=a.unpack,a.getMaximumComponent=function(e){return Math.max(e.x,e.y,e.z,e.w)},a.getMinimumComponent=function(e){return Math.min(e.x,e.y,e.z,e.w)},a.getMinimumByComponent=function(e,r,n){return t(n)||(n=new a),n.x=Math.min(e.x,r.x),n.y=Math.min(e.y,r.y),n.z=Math.min(e.z,r.z),n.w=Math.min(e.w,r.w),n},a.getMaximumByComponent=function(e,r,n){return t(n)||(n=new a),n.x=Math.max(e.x,r.x),n.y=Math.max(e.y,r.y),n.z=Math.max(e.z,r.z),n.w=Math.max(e.w,r.w),n},a.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w},a.magnitude=function(e){return Math.sqrt(a.magnitudeSquared(e))};var i=new a;a.distance=function(e,t){return a.subtract(e,t,i),a.magnitude(i)},a.normalize=function(e,r){var n=a.magnitude(e);return t(r)?(r.x=e.x/n,r.y=e.y/n,r.z=e.z/n,r.w=e.w/n,r):new a(e.x/n,e.y/n,e.z/n,e.w/n)},a.dot=function(e,t){return e.x*t.x+e.y*t.y+e.z*t.z+e.w*t.w},a.multiplyComponents=function(e,r,n){return t(n)?(n.x=e.x*r.x,n.y=e.y*r.y,n.z=e.z*r.z,n.w=e.w*r.w,n):new a(e.x*r.x,e.y*r.y,e.z*r.z,e.w*r.w)},a.add=function(e,r,n){return t(n)?(n.x=e.x+r.x,n.y=e.y+r.y,n.z=e.z+r.z,n.w=e.w+r.w,n):new a(e.x+r.x,e.y+r.y,e.z+r.z,e.w+r.w)},a.subtract=function(e,r,n){return t(n)?(n.x=e.x-r.x,n.y=e.y-r.y,n.z=e.z-r.z,n.w=e.w-r.w,n):new a(e.x-r.x,e.y-r.y,e.z-r.z,e.w-r.w)},a.multiplyByScalar=function(e,r,n){return t(n)?(n.x=e.x*r,n.y=e.y*r,n.z=e.z*r,n.w=e.w*r,n):new a(e.x*r,e.y*r,e.z*r,e.w*r)},a.divideByScalar=function(e,r,n){return t(n)?(n.x=e.x/r,n.y=e.y/r,n.z=e.z/r,n.w=e.w/r,n):new a(e.x/r,e.y/r,e.z/r,e.w/r)},a.negate=function(e,r){return t(r)?(r.x=-e.x,r.y=-e.y,r.z=-e.z,r.w=-e.w,r):new a(-e.x,-e.y,-e.z,-e.w)},a.abs=function(e,r){return t(r)?(r.x=Math.abs(e.x),r.y=Math.abs(e.y),r.z=Math.abs(e.z),r.w=Math.abs(e.w),r):new a(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z),Math.abs(e.w))};var o=new a;a.lerp=function(e,t,r,n){return a.multiplyByScalar(t,r,o),n=a.multiplyByScalar(e,1-r,n),a.add(o,n,n)};var s=new a;return a.mostOrthogonalAxis=function(e,t){var r=a.normalize(e,s);return a.abs(r,r),t=r.x<=r.y?r.x<=r.z?r.x<=r.w?a.clone(a.UNIT_X,t):a.clone(a.UNIT_W,t):r.z<=r.w?a.clone(a.UNIT_Z,t):a.clone(a.UNIT_W,t):r.y<=r.z?r.y<=r.w?a.clone(a.UNIT_Y,t):a.clone(a.UNIT_W,t):r.z<=r.w?a.clone(a.UNIT_Z,t):a.clone(a.UNIT_W,t)},a.equals=function(e,r){return e===r||t(e)&&t(r)&&e.x===r.x&&e.y===r.y&&e.z===r.z&&e.w===r.w},a.equalsEpsilon=function(e,r,n){return e===r||t(e)&&t(r)&&Math.abs(e.x-r.x)<=n&&Math.abs(e.y-r.y)<=n&&Math.abs(e.z-r.z)<=n&&Math.abs(e.w-r.w)<=n},a.ZERO=n(new a(0,0,0,0)),a.UNIT_X=n(new a(1,0,0,0)),a.UNIT_Y=n(new a(0,1,0,0)),a.UNIT_Z=n(new a(0,0,1,0)),a.UNIT_W=n(new a(0,0,0,1)),a.prototype.clone=function(e){return a.clone(this,e)},a.prototype.equals=function(e){return a.equals(this,e)},a.prototype.equalsEpsilon=function(e,t){return a.equalsEpsilon(this,e,t)},a.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+", "+this.w+")"},a}),define("Core/Matrix3",["./Cartesian3","./defaultValue","./defined","./DeveloperError","./freezeObject","./Math"],function(e,t,r,n,a,i){"use strict";function o(e){for(var t=0,r=0;9>r;++r){var n=e[r];t+=n*n}return Math.sqrt(t)}function s(e){for(var t=0,r=0;3>r;++r){var n=e[l.getElementIndex(f[r],c[r])];t+=2*n*n}return Math.sqrt(t)}function u(e,t){for(var r=i.EPSILON15,n=0,a=1,o=0;3>o;++o){var s=Math.abs(e[l.getElementIndex(f[o],c[o])]);s>n&&(a=o,n=s)}var u=1,h=0,d=c[a],m=f[a];if(Math.abs(e[l.getElementIndex(m,d)])>r){var y,p=e[l.getElementIndex(m,m)],v=e[l.getElementIndex(d,d)],g=e[l.getElementIndex(m,d)],E=(p-v)/2/g;y=0>E?-1/(-E+Math.sqrt(1+E*E)):1/(E+Math.sqrt(1+E*E)),u=1/Math.sqrt(1+y*y),h=y*u}return t=l.clone(l.IDENTITY,t),t[l.getElementIndex(d,d)]=t[l.getElementIndex(m,m)]=u,t[l.getElementIndex(m,d)]=h,t[l.getElementIndex(d,m)]=-h,t}var l=function(e,r,n,a,i,o,s,u,l){this[0]=t(e,0),this[1]=t(a,0),this[2]=t(s,0),this[3]=t(r,0),this[4]=t(i,0),this[5]=t(u,0),this[6]=t(n,0),this[7]=t(o,0),this[8]=t(l,0)};l.clone=function(e,t){return r(e)?r(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t):new l(e[0],e[3],e[6],e[1],e[4],e[7],e[2],e[5],e[8]):void 0},l.fromArray=function(e,n,a){return n=t(n,0),r(a)||(a=new l),a[0]=e[n],a[1]=e[n+1],a[2]=e[n+2],a[3]=e[n+3],a[4]=e[n+4],a[5]=e[n+5],a[6]=e[n+6],a[7]=e[n+7],a[8]=e[n+8],a[9]=e[n+9],a},l.fromColumnMajorArray=function(e,t){return l.clone(e,t)},l.fromRowMajorArray=function(e,t){return r(t)?(t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8],t):new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])},l.fromQuaternion=function(e,t){var n=e.x*e.x,a=e.x*e.y,i=e.x*e.z,o=e.x*e.w,s=e.y*e.y,u=e.y*e.z,c=e.y*e.w,f=e.z*e.z,h=e.z*e.w,d=e.w*e.w,m=n-s-f+d,y=2*(a-h),p=2*(i+c),v=2*(a+h),g=-n+s-f+d,E=2*(u-o),w=2*(i-c),S=2*(u+o),C=-n-s+f+d;return r(t)?(t[0]=m,t[1]=v,t[2]=w,t[3]=y,t[4]=g,t[5]=S,t[6]=p,t[7]=E,t[8]=C,t):new l(m,y,p,v,g,E,w,S,C)},l.fromScale=function(e,t){return r(t)?(t[0]=e.x,t[1]=0,t[2]=0,t[3]=0,t[4]=e.y,t[5]=0,t[6]=0,t[7]=0,t[8]=e.z,t):new l(e.x,0,0,0,e.y,0,0,0,e.z)},l.fromUniformScale=function(e,t){return r(t)?(t[0]=e,t[1]=0,t[2]=0,t[3]=0,t[4]=e,t[5]=0,t[6]=0,t[7]=0,t[8]=e,t):new l(e,0,0,0,e,0,0,0,e)},l.fromRotationX=function(e,t){var n=Math.cos(e),a=Math.sin(e);return r(t)?(t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=n,t[5]=a,t[6]=0,t[7]=-a,t[8]=n,t):new l(1,0,0,0,n,-a,0,a,n)},l.fromRotationY=function(e,t){var n=Math.cos(e),a=Math.sin(e);return r(t)?(t[0]=n,t[1]=0,t[2]=-a,t[3]=0,t[4]=1,t[5]=0,t[6]=a,t[7]=0,t[8]=n,t):new l(n,0,a,0,1,0,-a,0,n)},l.fromRotationZ=function(e,t){var n=Math.cos(e),a=Math.sin(e);return r(t)?(t[0]=n,t[1]=a,t[2]=0,t[3]=-a,t[4]=n,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t):new l(n,-a,0,a,n,0,0,0,1)},l.toArray=function(e,t){return r(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8]]},l.getElementIndex=function(e,t){return 3*e+t},l.getColumn=function(t,n,a){var i=3*n,o=t[i],s=t[i+1],u=t[i+2];return r(a)?(a.x=o,a.y=s,a.z=u,a):new e(o,s,u)},l.setColumn=function(e,t,r,n){n=l.clone(e,n);var a=3*t;return n[a]=r.x,n[a+1]=r.y,n[a+2]=r.z,n},l.getRow=function(t,n,a){var i=t[n],o=t[n+3],s=t[n+6];return r(a)?(a.x=i,a.y=o,a.z=s,a):new e(i,o,s)},l.setRow=function(e,t,r,n){return n=l.clone(e,n),n[t]=r.x,n[t+3]=r.y,n[t+6]=r.z,n},l.multiply=function(e,t,n){var a=e[0]*t[0]+e[3]*t[1]+e[6]*t[2],i=e[1]*t[0]+e[4]*t[1]+e[7]*t[2],o=e[2]*t[0]+e[5]*t[1]+e[8]*t[2],s=e[0]*t[3]+e[3]*t[4]+e[6]*t[5],u=e[1]*t[3]+e[4]*t[4]+e[7]*t[5],c=e[2]*t[3]+e[5]*t[4]+e[8]*t[5],f=e[0]*t[6]+e[3]*t[7]+e[6]*t[8],h=e[1]*t[6]+e[4]*t[7]+e[7]*t[8],d=e[2]*t[6]+e[5]*t[7]+e[8]*t[8];return r(n)?(n[0]=a,n[1]=i,n[2]=o,n[3]=s,n[4]=u,n[5]=c,n[6]=f,n[7]=h,n[8]=d,n):new l(a,s,f,i,u,h,o,c,d)},l.multiplyByVector=function(t,n,a){var i=n.x,o=n.y,s=n.z,u=t[0]*i+t[3]*o+t[6]*s,l=t[1]*i+t[4]*o+t[7]*s,c=t[2]*i+t[5]*o+t[8]*s;return r(a)?(a.x=u,a.y=l,a.z=c,a):new e(u,l,c)},l.multiplyByScalar=function(e,t,n){return r(n)?(n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n[4]=e[4]*t,n[5]=e[5]*t,n[6]=e[6]*t,n[7]=e[7]*t,n[8]=e[8]*t,n):new l(e[0]*t,e[3]*t,e[6]*t,e[1]*t,e[4]*t,e[7]*t,e[2]*t,e[5]*t,e[8]*t)},l.negate=function(e,t){return r(t)?(t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t[4]=-e[4],t[5]=-e[5],t[6]=-e[6],t[7]=-e[7],t[8]=-e[8],t):new l(-e[0],-e[3],-e[6],-e[1],-e[4],-e[7],-e[2],-e[5],-e[8])},l.transpose=function(e,t){var n=e[0],a=e[3],i=e[6],o=e[1],s=e[4],u=e[7],c=e[2],f=e[5],h=e[8];return r(t)?(t[0]=n,t[1]=a,t[2]=i,t[3]=o,t[4]=s,t[5]=u,t[6]=c,t[7]=f,t[8]=h,t):new l(n,o,c,a,s,f,i,u,h)};var c=[1,0,0],f=[2,2,1],h=new l,d=new l;return l.getEigenDecomposition=function(e,t){var n=i.EPSILON20,a=10,c=0,f=0;r(t)||(t={});for(var m=t.unitary=l.clone(l.IDENTITY,t.unitary),y=t.diagonal=l.clone(e,t.diagonal),p=n*o(y);a>f&&s(y)>p;)u(y,h),l.transpose(h,d),l.multiply(y,h,y),l.multiply(d,y,y),l.multiply(m,h,m),++c>2&&(++f,c=0);return t},l.abs=function(e,t){return r(t)?(t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t[3]=Math.abs(e[3]),t[4]=Math.abs(e[4]),t[5]=Math.abs(e[5]),t[6]=Math.abs(e[6]),t[7]=Math.abs(e[7]),t[8]=Math.abs(e[8]),t):new l(Math.abs(e[0]),Math.abs(e[3]),Math.abs(e[6]),Math.abs(e[1]),Math.abs(e[4]),Math.abs(e[7]),Math.abs(e[2]),Math.abs(e[5]),Math.abs(e[8]))},l.determinant=function(e){var t=e[0],r=e[3],n=e[6],a=e[1],i=e[4],o=e[7],s=e[2],u=e[5],l=e[8];return t*(i*l-u*o)+a*(u*n-r*l)+s*(r*o-i*n)},l.inverse=function(e,t){var r=e[0],a=e[1],o=e[2],s=e[3],u=e[4],c=e[5],f=e[6],h=e[7],d=e[8],m=l.determinant(e);if(Math.abs(m)<=i.EPSILON15)throw new n("matrix is not invertible");var y=new l(u*d-h*c,f*c-s*d,s*h-f*u,h*o-a*d,r*d-f*o,f*a-r*h,a*c-u*o,s*o-r*c,r*u-s*a),p=1/m;return l.multiplyByScalar(y,p,t)},l.equals=function(e,t){return e===t||r(e)&&r(t)&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]},l.equalsEpsilon=function(e,t,n){return e===t||r(e)&&r(t)&&Math.abs(e[0]-t[0])<=n&&Math.abs(e[1]-t[1])<=n&&Math.abs(e[2]-t[2])<=n&&Math.abs(e[3]-t[3])<=n&&Math.abs(e[4]-t[4])<=n&&Math.abs(e[5]-t[5])<=n&&Math.abs(e[6]-t[6])<=n&&Math.abs(e[7]-t[7])<=n&&Math.abs(e[8]-t[8])<=n},l.IDENTITY=a(new l(1,0,0,0,1,0,0,0,1)),l.COLUMN0ROW0=0,l.COLUMN0ROW1=1,l.COLUMN0ROW2=2,l.COLUMN1ROW0=3,l.COLUMN1ROW1=4,l.COLUMN1ROW2=5,l.COLUMN2ROW0=6,l.COLUMN2ROW1=7,l.COLUMN2ROW2=8,l.prototype.clone=function(e){return l.clone(this,e)},l.prototype.equals=function(e){return l.equals(this,e)},l.prototype.equalsEpsilon=function(e,t){return l.equalsEpsilon(this,e,t)},l.prototype.toString=function(){return"("+this[0]+", "+this[3]+", "+this[6]+")\n"+"("+this[1]+", "+this[4]+", "+this[7]+")\n"+"("+this[2]+", "+this[5]+", "+this[8]+")"},l}),define("Core/RuntimeError",["./defined"],function(e){"use strict";var t=function(e){this.name="RuntimeError",this.message=e;var t;try{throw new Error}catch(r){t=r.stack}this.stack=t};return t.prototype.toString=function(){var t=this.name+": "+this.message;return e(this.stack)&&(t+="\n"+this.stack.toString()),t},t}),define("Core/Matrix4",["./Cartesian3","./Cartesian4","./defaultValue","./defined","./DeveloperError","./freezeObject","./Math","./Matrix3","./RuntimeError"],function(e,t,r,n,a,i,o,s,u){"use strict";var l=function(e,t,n,a,i,o,s,u,l,c,f,h,d,m,y,p){this[0]=r(e,0),this[1]=r(i,0),this[2]=r(l,0),this[3]=r(d,0),this[4]=r(t,0),this[5]=r(o,0),this[6]=r(c,0),this[7]=r(m,0),this[8]=r(n,0),this[9]=r(s,0),this[10]=r(f,0),this[11]=r(y,0),this[12]=r(a,0),this[13]=r(u,0),this[14]=r(h,0),this[15]=r(p,0)};l.clone=function(e,t){return n(e)?n(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t):new l(e[0],e[4],e[8],e[12],e[1],e[5],e[9],e[13],e[2],e[6],e[10],e[14],e[3],e[7],e[11],e[15]):void 0},l.fromArray=function(e,t,a){return t=r(t,0),n(a)||(a=new l),a[0]=e[t],a[1]=e[t+1],a[2]=e[t+2],a[3]=e[t+3],a[4]=e[t+4],a[5]=e[t+5],a[6]=e[t+6],a[7]=e[t+7],a[8]=e[t+8],a[9]=e[t+9],a[10]=e[t+10],a[11]=e[t+11],a[12]=e[t+12],a[13]=e[t+13],a[14]=e[t+14],a[15]=e[t+15],a},l.fromColumnMajorArray=function(e,t){return l.clone(e,t)},l.fromRowMajorArray=function(e,t){return n(t)?(t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15],t):new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])},l.fromRotationTranslation=function(e,t,r){return n(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=0,r[4]=e[3],r[5]=e[4],r[6]=e[5],r[7]=0,r[8]=e[6],r[9]=e[7],r[10]=e[8],r[11]=0,r[12]=t.x,r[13]=t.y,r[14]=t.z,r[15]=1,r):new l(e[0],e[3],e[6],t.x,e[1],e[4],e[7],t.y,e[2],e[5],e[8],t.z,0,0,0,1)},new s,l.fromTranslationQuaternionRotationScale=function(e,t,r,a){n(a)||(a=new l);var i=r.x,o=r.y,s=r.z,u=t.x*t.x,c=t.x*t.y,f=t.x*t.z,h=t.x*t.w,d=t.y*t.y,m=t.y*t.z,y=t.y*t.w,p=t.z*t.z,v=t.z*t.w,g=t.w*t.w,E=u-d-p+g,w=2*(c-v),S=2*(f+y),C=2*(c+v),x=-u+d-p+g,T=2*(m-h),A=2*(f-y),O=2*(m+h),M=-u-d+p+g;return a[0]=E*i,a[1]=C*i,a[2]=A*i,a[3]=0,a[4]=w*o,a[5]=x*o,a[6]=O*o,a[7]=0,a[8]=S*s,a[9]=T*s,a[10]=M*s,a[11]=0,a[12]=e.x,a[13]=e.y,a[14]=e.z,a[15]=1,a},l.fromTranslation=function(e,t){return l.fromRotationTranslation(s.IDENTITY,e,t)},l.fromScale=function(e,t){return n(t)?(t[0]=e.x,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e.y,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e.z,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t):new l(e.x,0,0,0,0,e.y,0,0,0,0,e.z,0,0,0,0,1)},l.fromUniformScale=function(e,t){return n(t)?(t[0]=e,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t):new l(e,0,0,0,0,e,0,0,0,0,e,0,0,0,0,1)};var c=new e,f=new e,h=new e;l.fromCamera=function(t,r){var a=t.eye,i=t.target,o=t.up;e.normalize(e.subtract(i,a,c),c),e.normalize(e.cross(c,o,f),f),e.normalize(e.cross(f,c,h),h);var s=f.x,u=f.y,d=f.z,m=c.x,y=c.y,p=c.z,v=h.x,g=h.y,E=h.z,w=a.x,S=a.y,C=a.z,x=s*-w+u*-S+d*-C,T=v*-w+g*-S+E*-C,A=m*w+y*S+p*C;return n(r)?(r[0]=s,r[1]=v,r[2]=-m,r[3]=0,r[4]=u,r[5]=g,r[6]=-y,r[7]=0,r[8]=d,r[9]=E,r[10]=-p,r[11]=0,r[12]=x,r[13]=T,r[14]=A,r[15]=1,r):new l(s,u,d,x,v,g,E,T,-m,-y,-p,A,0,0,0,1)},l.computePerspectiveFieldOfView=function(e,t,r,a,i){var o=Math.tan(.5*e),s=1/o,u=s/t,c=(a+r)/(r-a),f=2*a*r/(r-a);return n(i)?(i[0]=u,i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=s,i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=c,i[11]=-1,i[12]=0,i[13]=0,i[14]=f,i[15]=0,i):new l(u,0,0,0,0,s,0,0,0,0,c,f,0,0,-1,0)},l.computeOrthographicOffCenter=function(e,t,r,a,i,o,s){var u=1/(t-e),c=1/(a-r),f=1/(o-i),h=-(t+e)*u,d=-(a+r)*c,m=-(o+i)*f;return u*=2,c*=2,f*=-2,n(s)?(s[0]=u,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=c,s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=f,s[11]=0,s[12]=h,s[13]=d,s[14]=m,s[15]=1,s):new l(u,0,0,h,0,c,0,d,0,0,f,m,0,0,0,1)},l.computePerspectiveOffCenter=function(e,t,r,a,i,o,s){var u=2*i/(t-e),c=2*i/(a-r),f=(t+e)/(t-e),h=(a+r)/(a-r),d=-(o+i)/(o-i),m=-1,y=-2*o*i/(o-i);return n(s)?(s[0]=u,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=c,s[6]=0,s[7]=0,s[8]=f,s[9]=h,s[10]=d,s[11]=m,s[12]=0,s[13]=0,s[14]=y,s[15]=0,s):new l(u,0,f,0,0,c,h,0,0,0,d,y,0,0,m,0)},l.computeInfinitePerspectiveOffCenter=function(e,t,r,a,i,o){var s=2*i/(t-e),u=2*i/(a-r),c=(t+e)/(t-e),f=(a+r)/(a-r),h=-1,d=-1,m=-2*i;return n(o)?(o[0]=s,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=u,o[6]=0,o[7]=0,o[8]=c,o[9]=f,o[10]=h,o[11]=d,o[12]=0,o[13]=0,o[14]=m,o[15]=0,o):new l(s,0,c,0,0,u,f,0,0,0,h,m,0,0,d,0)},l.computeViewportTransformation=function(e,t,a,i){e=r(e,r.EMPTY_OBJECT);var o=r(e.x,0),s=r(e.y,0),u=r(e.width,0),c=r(e.height,0);t=r(t,0),a=r(a,1);var f=.5*u,h=.5*c,d=.5*(a-t),m=f,y=h,p=d,v=o+f,g=s+h,E=t+d,w=1;return n(i)?(i[0]=m,i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=y,i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=p,i[11]=0,i[12]=v,i[13]=g,i[14]=E,i[15]=w,i):new l(m,0,0,v,0,y,0,g,0,0,p,E,0,0,0,w)},l.toArray=function(e,t){return n(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]]},l.getElementIndex=function(e,t){return 4*e+t},l.getColumn=function(e,r,a){var i=4*r,o=e[i],s=e[i+1],u=e[i+2],l=e[i+3];return n(a)?(a.x=o,a.y=s,a.z=u,a.w=l,a):new t(o,s,u,l)},l.setColumn=function(e,t,r,n){n=l.clone(e,n);var a=4*t;return n[a]=r.x,n[a+1]=r.y,n[a+2]=r.z,n[a+3]=r.w,n},l.getRow=function(e,r,a){var i=e[r],o=e[r+4],s=e[r+8],u=e[r+12];return n(a)?(a.x=i,a.y=o,a.z=s,a.w=u,a):new t(i,o,s,u)},l.setRow=function(e,t,r,n){return n=l.clone(e,n),n[t]=r.x,n[t+4]=r.y,n[t+8]=r.z,n[t+12]=r.w,n},l.multiply=function(e,t,r){var a=e[0],i=e[1],o=e[2],s=e[3],u=e[4],c=e[5],f=e[6],h=e[7],d=e[8],m=e[9],y=e[10],p=e[11],v=e[12],g=e[13],E=e[14],w=e[15],S=t[0],C=t[1],x=t[2],T=t[3],A=t[4],O=t[5],M=t[6],D=t[7],I=t[8],b=t[9],_=t[10],N=t[11],R=t[12],P=t[13],z=t[14],L=t[15],F=a*S+u*C+d*x+v*T,U=i*S+c*C+m*x+g*T,B=o*S+f*C+y*x+E*T,q=s*S+h*C+p*x+w*T,G=a*A+u*O+d*M+v*D,W=i*A+c*O+m*M+g*D,Y=o*A+f*O+y*M+E*D,V=s*A+h*O+p*M+w*D,H=a*I+u*b+d*_+v*N,j=i*I+c*b+m*_+g*N,k=o*I+f*b+y*_+E*N,Z=s*I+h*b+p*_+w*N,K=a*R+u*P+d*z+v*L,J=i*R+c*P+m*z+g*L,X=o*R+f*P+y*z+E*L,Q=s*R+h*P+p*z+w*L;return n(r)?(r[0]=F,r[1]=U,r[2]=B,r[3]=q,r[4]=G,r[5]=W,r[6]=Y,r[7]=V,r[8]=H,r[9]=j,r[10]=k,r[11]=Z,r[12]=K,r[13]=J,r[14]=X,r[15]=Q,r):new l(F,G,H,K,U,W,j,J,B,Y,k,X,q,V,Z,Q)},l.multiplyTransformation=function(e,t,r){var a=e[0],i=e[1],o=e[2],s=e[4],u=e[5],c=e[6],f=e[8],h=e[9],d=e[10],m=e[12],y=e[13],p=e[14],v=t[0],g=t[1],E=t[2],w=t[4],S=t[5],C=t[6],x=t[8],T=t[9],A=t[10],O=t[12],M=t[13],D=t[14],I=a*v+s*g+f*E,b=i*v+u*g+h*E,_=o*v+c*g+d*E,N=a*w+s*S+f*C,R=i*w+u*S+h*C,P=o*w+c*S+d*C,z=a*x+s*T+f*A,L=i*x+u*T+h*A,F=o*x+c*T+d*A,U=a*O+s*M+f*D+m,B=i*O+u*M+h*D+y,q=o*O+c*M+d*D+p;return n(r)?(r[0]=I,r[1]=b,r[2]=_,r[3]=0,r[4]=N,r[5]=R,r[6]=P,r[7]=0,r[8]=z,r[9]=L,r[10]=F,r[11]=0,r[12]=U,r[13]=B,r[14]=q,r[15]=1,r):new l(I,N,z,U,b,R,L,B,_,P,F,q,0,0,0,1) +},l.multiplyByTranslation=function(e,t,r){var a=t.x,i=t.y,o=t.z,s=a*e[0]+i*e[4]+o*e[8]+e[12],u=a*e[1]+i*e[5]+o*e[9]+e[13],c=a*e[2]+i*e[6]+o*e[10]+e[14];return n(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r[9]=e[9],r[10]=e[10],r[11]=e[11],r[12]=s,r[13]=u,r[14]=c,r[15]=e[15],r):new l(e[0],e[4],e[8],s,e[1],e[5],e[9],u,e[2],e[6],e[10],c,e[3],e[7],e[11],e[15])};var d=new e;return l.multiplyByUniformScale=function(e,t,r){return d.x=t,d.y=t,d.z=t,l.multiplyByScale(e,d,r)},l.multiplyByScale=function(e,t,r){var a=t.x,i=t.y,o=t.z;return 1===a&&1===i&&1===o?l.clone(e,r):n(r)?(r[0]=a*e[0],r[1]=a*e[1],r[2]=a*e[2],r[3]=0,r[4]=i*e[4],r[5]=i*e[5],r[6]=i*e[6],r[7]=0,r[8]=o*e[8],r[9]=o*e[9],r[10]=o*e[10],r[11]=0,r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=1,r):new l(a*e[0],i*e[4],o*e[8],e[12],a*e[1],i*e[5],o*e[9],e[13],a*e[2],i*e[6],o*e[10],e[14],0,0,0,1)},l.multiplyByVector=function(e,r,a){var i=r.x,o=r.y,s=r.z,u=r.w,l=e[0]*i+e[4]*o+e[8]*s+e[12]*u,c=e[1]*i+e[5]*o+e[9]*s+e[13]*u,f=e[2]*i+e[6]*o+e[10]*s+e[14]*u,h=e[3]*i+e[7]*o+e[11]*s+e[15]*u;return n(a)?(a.x=l,a.y=c,a.z=f,a.w=h,a):new t(l,c,f,h)},l.multiplyByPointAsVector=function(t,r,a){var i=r.x,o=r.y,s=r.z,u=t[0]*i+t[4]*o+t[8]*s,l=t[1]*i+t[5]*o+t[9]*s,c=t[2]*i+t[6]*o+t[10]*s;return n(a)?(a.x=u,a.y=l,a.z=c,a):new e(u,l,c)},l.multiplyByPoint=function(t,r,a){var i=r.x,o=r.y,s=r.z,u=t[0]*i+t[4]*o+t[8]*s+t[12],l=t[1]*i+t[5]*o+t[9]*s+t[13],c=t[2]*i+t[6]*o+t[10]*s+t[14];return n(a)?(a.x=u,a.y=l,a.z=c,a):new e(u,l,c)},l.multiplyByScalar=function(e,t,r){return n(r)?(r[0]=e[0]*t,r[1]=e[1]*t,r[2]=e[2]*t,r[3]=e[3]*t,r[4]=e[4]*t,r[5]=e[5]*t,r[6]=e[6]*t,r[7]=e[7]*t,r[8]=e[8]*t,r[9]=e[9]*t,r[10]=e[10]*t,r[11]=e[11]*t,r[12]=e[12]*t,r[13]=e[13]*t,r[14]=e[14]*t,r[15]=e[15]*t,r):new l(e[0]*t,e[4]*t,e[8]*t,e[12]*t,e[1]*t,e[5]*t,e[9]*t,e[13]*t,e[2]*t,e[6]*t,e[10]*t,e[14]*t,e[3]*t,e[7]*t,e[11]*t,e[15]*t)},l.negate=function(e,t){return n(t)?(t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t[4]=-e[4],t[5]=-e[5],t[6]=-e[6],t[7]=-e[7],t[8]=-e[8],t[9]=-e[9],t[10]=-e[10],t[11]=-e[11],t[12]=-e[12],t[13]=-e[13],t[14]=-e[14],t[15]=-e[15],t):new l(-e[0],-e[4],-e[8],-e[12],-e[1],-e[5],-e[9],-e[13],-e[2],-e[6],-e[10],-e[14],-e[3],-e[7],-e[11],-e[15])},l.transpose=function(e,t){if(!n(t))return new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]);var r=e[1],a=e[2],i=e[3],o=e[6],s=e[7],u=e[11];return t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=r,t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=a,t[9]=o,t[10]=e[10],t[11]=e[14],t[12]=i,t[13]=s,t[14]=u,t[15]=e[15],t},l.abs=function(e,t){return n(t)?(t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t[3]=Math.abs(e[3]),t[4]=Math.abs(e[4]),t[5]=Math.abs(e[5]),t[6]=Math.abs(e[6]),t[7]=Math.abs(e[7]),t[8]=Math.abs(e[8]),t[9]=Math.abs(e[9]),t[10]=Math.abs(e[10]),t[11]=Math.abs(e[11]),t[12]=Math.abs(e[12]),t[13]=Math.abs(e[13]),t[14]=Math.abs(e[14]),t[15]=Math.abs(e[15]),t):new l(Math.abs(e[0]),Math.abs(e[4]),Math.abs(e[8]),Math.abs(e[12]),Math.abs(e[1]),Math.abs(e[5]),Math.abs(e[9]),Math.abs(e[13]),Math.abs(e[2]),Math.abs(e[6]),Math.abs(e[10]),Math.abs(e[14]),Math.abs(e[3]),Math.abs(e[7]),Math.abs(e[11]),Math.abs(e[15]))},l.equals=function(e,t){return e===t||n(e)&&n(t)&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15]},l.equalsEpsilon=function(e,t,r){return e===t||n(e)&&n(t)&&Math.abs(e[0]-t[0])<=r&&Math.abs(e[1]-t[1])<=r&&Math.abs(e[2]-t[2])<=r&&Math.abs(e[3]-t[3])<=r&&Math.abs(e[4]-t[4])<=r&&Math.abs(e[5]-t[5])<=r&&Math.abs(e[6]-t[6])<=r&&Math.abs(e[7]-t[7])<=r&&Math.abs(e[8]-t[8])<=r&&Math.abs(e[9]-t[9])<=r&&Math.abs(e[10]-t[10])<=r&&Math.abs(e[11]-t[11])<=r&&Math.abs(e[12]-t[12])<=r&&Math.abs(e[13]-t[13])<=r&&Math.abs(e[14]-t[14])<=r&&Math.abs(e[15]-t[15])<=r},l.getTranslation=function(t,r){return n(r)?(r.x=t[12],r.y=t[13],r.z=t[14],r):new e(t[12],t[13],t[14])},l.getRotation=function(e,t){return n(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[4],t[4]=e[5],t[5]=e[6],t[6]=e[8],t[7]=e[9],t[8]=e[10],t):new s(e[0],e[4],e[8],e[1],e[5],e[9],e[2],e[6],e[10])},l.inverse=function(e,t){var r=e[0],a=e[4],i=e[8],s=e[12],c=e[1],f=e[5],h=e[9],d=e[13],m=e[2],y=e[6],p=e[10],v=e[14],g=e[3],E=e[7],w=e[11],S=e[15],C=p*S,x=v*w,T=y*S,A=v*E,O=y*w,M=p*E,D=m*S,I=v*g,b=m*w,_=p*g,N=m*E,R=y*g,P=C*f+A*h+O*d-(x*f+T*h+M*d),z=x*c+D*h+_*d-(C*c+I*h+b*d),L=T*c+I*f+N*d-(A*c+D*f+R*d),F=M*c+b*f+R*h-(O*c+_*f+N*h),U=x*a+T*i+M*s-(C*a+A*i+O*s),B=C*r+I*i+b*s-(x*r+D*i+_*s),q=A*r+D*a+R*s-(T*r+I*a+N*s),G=O*r+_*a+N*i-(M*r+b*a+R*i);C=i*d,x=s*h,T=a*d,A=s*f,O=a*h,M=i*f,D=r*d,I=s*c,b=r*h,_=i*c,N=r*f,R=a*c;var W=C*E+A*w+O*S-(x*E+T*w+M*S),Y=x*g+D*w+_*S-(C*g+I*w+b*S),V=T*g+I*E+N*S-(A*g+D*E+R*S),H=M*g+b*E+R*w-(O*g+_*E+N*w),j=T*p+M*v+x*y-(O*v+C*y+A*p),k=b*v+C*m+I*p-(D*p+_*v+x*m),Z=D*y+R*v+A*m-(N*v+T*m+I*y),K=N*p+O*m+_*y-(b*y+R*p+M*m),J=r*P+a*z+i*L+s*F;if(Math.abs(J)A;A++){e.clone(t[A],a);var O=a.x,M=a.y,D=a.z;Ou.x&&e.clone(a,u),Ml.y&&e.clone(a,l),Dx.z&&e.clone(a,x)}var I=e.magnitudeSquared(e.subtract(u,i,g)),b=e.magnitudeSquared(e.subtract(l,o,g)),_=e.magnitudeSquared(e.subtract(x,s,g)),N=i,R=u,P=I;b>P&&(P=b,N=o,R=l),_>P&&(P=_,N=s,R=x);var z=E;z.x=.5*(N.x+R.x),z.y=.5*(N.y+R.y),z.z=.5*(N.z+R.z);var L=e.magnitudeSquared(e.subtract(R,z,g)),F=Math.sqrt(L),U=w;U.x=i.x,U.y=o.y,U.z=s.z;var B=S;B.x=u.x,B.y=l.y,B.z=x.z;var q=e.multiplyByScalar(e.add(U,B,g),.5,C),G=0;for(A=0;T>A;A++){e.clone(t[A],a);var W=e.magnitude(e.subtract(a,q,g));W>G&&(G=W);var Y=e.magnitudeSquared(e.subtract(a,z,g));if(Y>L){var V=Math.sqrt(Y);F=.5*(F+V),L=F*F;var H=V-F;z.x=(F*z.x+H*a.x)/V,z.y=(F*z.y+H*a.y)/V,z.z=(F*z.z+H*a.z)/V}}return G>F?(e.clone(z,r.center),r.radius=F):(e.clone(q,r.center),r.radius=G),r};var x=new o,T=new e,A=new e,O=new t,M=new t;c.fromExtent2D=function(e,t,r){return c.fromExtentWithHeights2D(e,t,0,0,r)},c.fromExtentWithHeights2D=function(t,a,i,o,s){if(n(s)||(s=new c),!n(t))return s.center=e.clone(e.ZERO,s.center),s.radius=0,s;a=r(a,x),t.getSouthwest(O),O.height=i,t.getNortheast(M),M.height=o;var u=a.project(O,T),l=a.project(M,A),f=l.x-u.x,h=l.y-u.y,d=l.z-u.z;s.radius=.5*Math.sqrt(f*f+h*h+d*d);var m=s.center;return m.x=u.x+.5*f,m.y=u.y+.5*h,m.z=u.z+.5*d,s};var D=[];c.fromExtent3D=function(e,t,a,o){t=r(t,i.WGS84),a=r(a,0);var s;return n(e)&&(s=e.subsample(t,a,D)),c.fromPoints(s,o)},c.fromVertices=function(t,a,i,o){if(n(o)||(o=new c),!n(t)||0===t.length)return o.center=e.clone(e.ZERO,o.center),o.radius=0,o;a=r(a,e.ZERO),i=r(i,3);var s=v;s.x=t[0]+a.x,s.y=t[1]+a.y,s.z=t[2]+a.z;for(var u=e.clone(s,f),l=e.clone(s,h),x=e.clone(s,d),T=e.clone(s,m),A=e.clone(s,y),O=e.clone(s,p),M=t.length,D=0;M>D;D+=i){var I=t[D]+a.x,b=t[D+1]+a.y,_=t[D+2]+a.z;s.x=I,s.y=b,s.z=_,IT.x&&e.clone(s,T),bA.y&&e.clone(s,A),_O.z&&e.clone(s,O)}var N=e.magnitudeSquared(e.subtract(T,u,g)),R=e.magnitudeSquared(e.subtract(A,l,g)),P=e.magnitudeSquared(e.subtract(O,x,g)),z=u,L=T,F=N;R>F&&(F=R,z=l,L=A),P>F&&(F=P,z=x,L=O);var U=E;U.x=.5*(z.x+L.x),U.y=.5*(z.y+L.y),U.z=.5*(z.z+L.z);var B=e.magnitudeSquared(e.subtract(L,U,g)),q=Math.sqrt(B),G=w;G.x=u.x,G.y=l.y,G.z=x.z;var W=S;W.x=T.x,W.y=A.y,W.z=O.z;var Y=e.multiplyByScalar(e.add(G,W,g),.5,C),V=0;for(D=0;M>D;D+=i){s.x=t[D]+a.x,s.y=t[D+1]+a.y,s.z=t[D+2]+a.z;var H=e.magnitude(e.subtract(s,Y,g));H>V&&(V=H);var j=e.magnitudeSquared(e.subtract(s,U,g));if(j>B){var k=Math.sqrt(j);q=.5*(q+k),B=q*q;var Z=k-q;U.x=(q*U.x+Z*s.x)/k,U.y=(q*U.y+Z*s.y)/k,U.z=(q*U.z+Z*s.z)/k}}return V>q?(e.clone(U,o.center),o.radius=q):(e.clone(Y,o.center),o.radius=V),o},c.fromCornerPoints=function(t,r,a){n(a)||(a=new c);var i=a.center;return e.add(t,r,i),e.multiplyByScalar(i,.5,i),a.radius=e.distance(i,r),a},c.fromEllipsoid=function(t,r){return n(r)||(r=new c),e.clone(e.ZERO,r.center),r.radius=t.maximumRadius,r},c.clone=function(t,r){return n(t)?n(r)?(r.center=e.clone(t.center,r.center),r.radius=t.radius,r):new c(t.center,t.radius):void 0};var I=new e,b=new e;c.union=function(t,r,a){n(a)||(a=new c);var i=t.center,o=r.center;e.add(i,o,b);var s=e.multiplyByScalar(b,.5,b),u=e.magnitude(e.subtract(i,s,I))+t.radius,l=e.magnitude(e.subtract(o,s,I))+r.radius;return a.radius=Math.max(u,l),e.clone(s,a.center),a};var _=new e;c.expand=function(t,r,n){n=c.clone(t,n);var a=e.magnitude(e.subtract(r,n.center,_));return a>n.radius&&(n.radius=a),n},c.intersect=function(t,r){var n=t.center,a=t.radius,i=e.dot(r,n)+r.w;return-a>i?s.OUTSIDE:a>i?s.INTERSECTING:s.INSIDE};var N=new e;c.transform=function(t,r,a){return n(a)||(a=new c),a.center=l.multiplyByPoint(r,t.center,a.center),a.radius=Math.max(e.magnitude(l.getColumn(r,0,N)),e.magnitude(l.getColumn(r,1,N)),e.magnitude(l.getColumn(r,2,N)))*t.radius,a},c.transformWithoutScale=function(e,t,r){return n(r)||(r=new c),r.center=l.multiplyByPoint(t,e.center,r.center),r.radius=e.radius,r};var R=new e;c.getPlaneDistances=function(t,r,a,i){n(i)||(i=new u);var o=e.subtract(t.center,r,R),s=e.multiplyByScalar(a,e.dot(a,o),R),l=e.magnitude(s);return i.start=l-t.radius,i.stop=l+t.radius,i};for(var P=new e,z=new e,L=new e,F=new e,U=new e,B=new t,q=new Array(8),G=0;8>G;++G)q[G]=new e;var W=new o;return c.projectTo2D=function(t,n,a){n=r(n,W);var i=n.ellipsoid,o=t.center,s=t.radius,u=i.geodeticSurfaceNormal(o,P),l=e.cross(e.UNIT_Z,u,z);e.normalize(l,l);var f=e.cross(u,l,L);e.normalize(f,f),e.multiplyByScalar(u,s,u),e.multiplyByScalar(f,s,f),e.multiplyByScalar(l,s,l);var h=e.negate(f,U),d=e.negate(l,F),m=q,y=m[0];e.add(u,f,y),e.add(y,l,y),y=m[1],e.add(u,f,y),e.add(y,d,y),y=m[2],e.add(u,h,y),e.add(y,d,y),y=m[3],e.add(u,h,y),e.add(y,l,y),e.negate(u,u),y=m[4],e.add(u,f,y),e.add(y,l,y),y=m[5],e.add(u,f,y),e.add(y,d,y),y=m[6],e.add(u,h,y),e.add(y,d,y),y=m[7],e.add(u,h,y),e.add(y,l,y);for(var p=m.length,v=0;p>v;++v){var g=m[v];e.add(o,g,g);var E=i.cartesianToCartographic(g,B);n.project(E,g)}a=c.fromPoints(m,a),o=a.center;var w=o.x,S=o.y,C=o.z;return o.x=C,o.y=w,o.z=S,a},c.equals=function(t,r){return t===r||n(t)&&n(r)&&e.equals(t.center,r.center)&&t.radius===r.radius},c.prototype.clone=function(e){return c.clone(this,e)},c.prototype.union=function(e,t){return c.union(this,e,t)},c.prototype.expand=function(e,t){return c.expand(this,e,t)},c.prototype.intersect=function(e){return c.intersect(this,e)},c.prototype.getPlaneDistances=function(e,t,r){return c.getPlaneDistances(this,e,t,r)},c.prototype.projectTo2D=function(e,t){return c.projectTo2D(this,e,t)},c.prototype.equals=function(e){return c.equals(this,e)},c}),define("Core/Fullscreen",["./defined"],function(e){"use strict";var t,r={requestFullscreen:void 0,exitFullscreen:void 0,fullscreenEnabled:void 0,fullscreenElement:void 0,fullscreenchange:void 0,fullscreenerror:void 0},n={};return n.supportsFullscreen=function(){if(e(t))return t;t=!1;var n=document.body;if("function"==typeof n.requestFullscreen)return r.requestFullscreen="requestFullscreen",r.exitFullscreen="exitFullscreen",r.fullscreenEnabled="fullscreenEnabled",r.fullscreenElement="fullscreenElement",r.fullscreenchange="fullscreenchange",r.fullscreenerror="fullscreenerror",t=!0;for(var a,i=["webkit","moz","o","ms","khtml"],o=0,s=i.length;s>o;++o){var u=i[o];a=u+"RequestFullscreen","function"==typeof n[a]?(r.requestFullscreen=a,t=!0):(a=u+"RequestFullScreen","function"==typeof n[a]&&(r.requestFullscreen=a,t=!0)),a=u+"ExitFullscreen","function"==typeof document[a]?r.exitFullscreen=a:(a=u+"CancelFullScreen","function"==typeof document[a]&&(r.exitFullscreen=a)),a=u+"FullscreenEnabled",e(document[a])?r.fullscreenEnabled=a:(a=u+"FullScreenEnabled",e(document[a])&&(r.fullscreenEnabled=a)),a=u+"FullscreenElement",e(document[a])?r.fullscreenElement=a:(a=u+"FullScreenElement",e(document[a])&&(r.fullscreenElement=a)),a=u+"fullscreenchange",e(document["on"+a])&&("ms"===u&&(a="MSFullscreenChange"),r.fullscreenchange=a),a=u+"fullscreenerror",e(document["on"+a])&&("ms"===u&&(a="MSFullscreenError"),r.fullscreenerror=a)}return t},n.requestFullscreen=function(e){n.supportsFullscreen()&&e[r.requestFullscreen]()},n.exitFullscreen=function(){n.supportsFullscreen()&&document[r.exitFullscreen]()},n.isFullscreenEnabled=function(){return n.supportsFullscreen()?document[r.fullscreenEnabled]:void 0},n.getFullscreenElement=function(){return n.supportsFullscreen()?document[r.fullscreenElement]:void 0},n.isFullscreen=function(){return n.supportsFullscreen()?null!==n.getFullscreenElement():void 0},n.getFullscreenChangeEventName=function(){return n.supportsFullscreen()?r.fullscreenchange:void 0},n.getFullscreenErrorEventName=function(){return n.supportsFullscreen()?r.fullscreenerror:void 0},n}),define("Core/FeatureDetection",["./defined","./Fullscreen"],function(e,t){"use strict";function r(e){for(var t=e.split("."),r=0,n=t.length;n>r;++r)t[r]=parseInt(t[r],10);return t}function n(){if(!e(f)){var t=/ Chrome\/([\.0-9]+)/.exec(navigator.userAgent);null===t?f=!1:(f=!0,h=r(t[1]))}return f}function a(){return n()&&h}function i(){if(!e(d))if(n()||!/ Safari\/[\.0-9]+/.test(navigator.userAgent))d=!1;else{var t=/ Version\/([\.0-9]+)/.exec(navigator.userAgent);null===t?d=!1:(d=!0,m=r(t[1]))}return d}function o(){return i()&&m}function s(){if(!e(y)){var t=/ AppleWebKit\/([\.0-9]+)(\+?)/.exec(navigator.userAgent);null===t?y=!1:(y=!0,p=r(t[1]),p.isNightly=!!t[2])}return y}function u(){return s()&&p}function l(){if(!e(v)){var t;"Microsoft Internet Explorer"===navigator.appName?(t=/MSIE ([0-9]{1,}[\.0-9]{0,})/.exec(navigator.userAgent),null!==t&&(v=!0,g=r(t[1]))):"Netscape"===navigator.appName?(t=/Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/.exec(navigator.userAgent),null!==t&&(v=!0,g=r(t[1]))):v=!1}return v}function c(){return l()&&g}var f,h,d,m,y,p,v,g,E={isChrome:n,chromeVersion:a,isSafari:i,safariVersion:o,isWebkit:s,webkitVersion:u,isInternetExplorer:l,internetExplorerVersion:c};E.supportsFullscreen=function(){return t.supportsFullscreen()},E.supportsTypedArrays=function(){return"undefined"!=typeof ArrayBuffer};var w;return E.supportsTransferringArrayBuffers=function(){if(!e(w)){if(!E.supportsTypedArrays())return w=!1,void 0;var t=new ArrayBuffer(1);try{postMessage({value:t},[t]),w=!0}catch(r){w=!1}}return w},E}),define("Core/ComponentDatatype",["./defaultValue","./defined","./DeveloperError","./FeatureDetection","./Enumeration"],function(e,t,r,n,a){"use strict";if(!n.supportsTypedArrays())return{};var i={BYTE:new a(5120,"BYTE",{sizeInBytes:Int8Array.BYTES_PER_ELEMENT}),UNSIGNED_BYTE:new a(5121,"UNSIGNED_BYTE",{sizeInBytes:Uint8Array.BYTES_PER_ELEMENT}),SHORT:new a(5122,"SHORT",{sizeInBytes:Int16Array.BYTES_PER_ELEMENT}),UNSIGNED_SHORT:new a(5123,"UNSIGNED_SHORT",{sizeInBytes:Uint16Array.BYTES_PER_ELEMENT}),FLOAT:new a(5126,"FLOAT",{sizeInBytes:Float32Array.BYTES_PER_ELEMENT}),DOUBLE:new a(5130,"DOUBLE",{sizeInBytes:Float64Array.BYTES_PER_ELEMENT})};return i.validate=function(e){return t(e)&&t(e.value)&&(e.value===i.BYTE.value||e.value===i.UNSIGNED_BYTE.value||e.value===i.SHORT.value||e.value===i.UNSIGNED_SHORT.value||e.value===i.FLOAT.value||e.value===i.DOUBLE.value)},i.createTypedArray=function(e,t){switch(e.value){case i.BYTE.value:return new Int8Array(t);case i.UNSIGNED_BYTE.value:return new Uint8Array(t);case i.SHORT.value:return new Int16Array(t);case i.UNSIGNED_SHORT.value:return new Uint16Array(t);case i.FLOAT.value:return new Float32Array(t);case i.DOUBLE.value:return new Float64Array(t);default:throw new r("componentDatatype is not a valid enumeration value.")}},i.createArrayBufferView=function(t,n,a,o){switch(a=e(a,0),o=e(o,(n.byteLength-a)/t.sizeInBytes),t.value){case i.BYTE.value:return new Int8Array(n,a,o);case i.UNSIGNED_BYTE.value:return new Uint8Array(n,a,o);case i.SHORT.value:return new Int16Array(n,a,o);case i.UNSIGNED_SHORT.value:return new Uint16Array(n,a,o);case i.FLOAT.value:return new Float32Array(n,a,o);case i.DOUBLE.value:return new Float64Array(n,a,o);default:throw new r("componentDatatype is not a valid enumeration value.")}},i}),define("Core/CornerType",["../Core/Enumeration"],function(e){"use strict";var t={ROUNDED:new e(0,"ROUNDED"),MITERED:new e(1,"MITERED"),BEVELED:new e(2,"BEVELED")};return t}),define("Core/EllipsoidGeodesic",["./Cartesian3","./Cartographic","./defaultValue","./defined","./DeveloperError","./Ellipsoid","./Math"],function(e,t,r,n,a,i,o){"use strict";function s(e){var t=e._uSquared,r=e._ellipsoid.maximumRadius,n=e._ellipsoid.minimumRadius,a=(r-n)/r,i=Math.cos(e._startHeading),o=Math.sin(e._startHeading),s=(1-a)*Math.tan(e._start.latitude),u=1/Math.sqrt(1+s*s),l=u*s,c=Math.atan2(s,i),f=u*o,h=f*f,d=1-h,m=Math.sqrt(d),y=t/4,p=y*y,v=p*y,g=p*p,E=1+y-3*p/4+5*v/4-175*g/64,w=1-y+15*p/8-35*v/8,S=1-3*y+35*p/4,C=1-5*y,x=E*c-w*Math.sin(2*c)*y/2-S*Math.sin(4*c)*p/16-C*Math.sin(6*c)*v/48-5*Math.sin(8*c)*g/512,T=e._constants;T.a=r,T.b=n,T.f=a,T.cosineHeading=i,T.sineHeading=o,T.tanU=s,T.cosineU=u,T.sineU=l,T.sigma=c,T.sineAlpha=f,T.sineSquaredAlpha=h,T.cosineSquaredAlpha=d,T.cosineAlpha=m,T.u2Over4=y,T.u4Over16=p,T.u6Over64=v,T.u8Over256=g,T.a0=E,T.a1=w,T.a2=S,T.a3=C,T.distanceRatio=x}function u(e,t){return e*t*(4+e*(4-3*t))/16}function l(e,t,r,n,a,i,o){var s=u(e,r);return(1-s)*e*t*(n+s*a*(o+s*i*(2*o*o-1)))}function c(e,t,r,n,a,i,s){var u,c,f,h,d,m=(t-r)/t,y=i-n,p=Math.atan((1-m)*Math.tan(a)),v=Math.atan((1-m)*Math.tan(s)),g=Math.cos(p),E=Math.sin(p),w=Math.cos(v),S=Math.sin(v),C=g*w,x=g*S,T=E*S,A=E*w,O=y,M=o.TWO_PI,D=Math.cos(O),I=Math.sin(O);do{D=Math.cos(O),I=Math.sin(O);var b=x-A*D;f=Math.sqrt(w*w*I*I+b*b),c=T+C*D,u=Math.atan2(f,c);var _;0===f?(_=0,h=1):(_=C*I/f,h=1-_*_),M=O,d=c-2*T/h,isNaN(d)&&(d=0),O=y+l(m,_,h,u,f,c,d)}while(Math.abs(O-M)>o.EPSILON12);var N=h*(t*t-r*r)/(r*r),R=1+N*(4096+N*(N*(320-175*N)-768))/16384,P=N*(256+N*(N*(74-47*N)-128))/1024,z=d*d,L=P*f*(d+P*(c*(2*z-1)-P*d*(4*f*f-3)*(4*z-3)/6)/4),F=r*R*(u-L),U=Math.atan2(w*I,x-A*D),B=Math.atan2(g*I,x*D-A);e._distance=F,e._startHeading=U,e._endHeading=B,e._uSquared=N}function f(r,n,a,i){e.normalize(i.cartographicToCartesian(n,d),h),e.normalize(i.cartographicToCartesian(a,d),d),c(r,i.maximumRadius,i.minimumRadius,n.longitude,n.latitude,a.longitude,a.latitude),n.height=0,a.height=0,r._start=t.clone(n,r._start),r._end=t.clone(a,r._end),s(r)}var h=new e,d=new e,m=function(e,a,o){var s=r(o,i.WGS84);this._ellipsoid=s,this._start=new t,this._end=new t,this._constants={},this._startHeading=void 0,this._endHeading=void 0,this._distance=void 0,this._uSquared=void 0,n(e)&&n(a)&&f(this,e,a,s)};return m.prototype.getSurfaceDistance=function(){return this._distance},m.prototype.setEndPoints=function(e,t){f(this,e,t,this._ellipsoid)},m.prototype.getStart=function(){return this._start},m.prototype.getEnd=function(){return this._end},m.prototype.getStartHeading=function(){return this._startHeading},m.prototype.getEndHeading=function(){return this._endHeading},m.prototype.interpolateUsingFraction=function(e,t){return this.interpolateUsingSurfaceDistance(this._distance*e,t)},m.prototype.interpolateUsingSurfaceDistance=function(e,r){var a=this._constants,i=a.distanceRatio+e/a.b,o=Math.cos(2*i),s=Math.cos(4*i),u=Math.cos(6*i),c=Math.sin(2*i),f=Math.sin(4*i),h=Math.sin(6*i),d=Math.sin(8*i),m=i*i,y=i*m,p=a.u8Over256,v=a.u2Over4,g=a.u6Over64,E=a.u4Over16,w=2*y*p*o/3+i*(1-v+7*E/4-15*g/4+579*p/64-(E-15*g/4+187*p/16)*o-(5*g/4-115*p/16)*s-29*p*u/16)+(v/2-E+71*g/32-85*p/16)*c+(5*E/16-5*g/4+383*p/96)*f-m*((g-11*p/2)*c+5*p*f/2)+(29*g/96-29*p/16)*h+539*p*d/1536,S=Math.asin(Math.sin(w)*a.cosineAlpha),C=Math.atan(a.a/a.b*Math.tan(S));w-=a.sigma;var x=Math.cos(2*a.sigma+w),T=Math.sin(w),A=Math.cos(w),O=a.cosineU*A,M=a.sineU*T,D=Math.atan2(T*a.sineHeading,O-M*a.cosineHeading),I=D-l(a.f,a.sineAlpha,a.cosineSquaredAlpha,w,T,A,x);return n(r)?(r.longitude=this._start.longitude+I,r.latitude=C,r.height=0,r):new t(this._start.longitude+I,C,0)},m}),define("Core/QuadraticRealPolynomial",["./DeveloperError","./Math"],function(e,t){"use strict";function r(e,r,n){var a=e+r;return t.sign(e)!==t.sign(r)&&Math.abs(a/Math.max(Math.abs(e),Math.abs(r)))o&&o/ss&&s/oi)return[];var u=Math.sqrt(i);return[-u,u]}if(0===a)return i=-n/e,0>i?[i,0]:[0,i];var l=n*n,c=4*e*a,f=r(l,-c,t.EPSILON14);if(0>f)return[];var h=-.5*r(n,t.sign(n)*Math.sqrt(f),t.EPSILON14);return n>0?[h/e,a/h]:[a/h,h/e]},n}),define("Core/CubicRealPolynomial",["./DeveloperError","./QuadraticRealPolynomial"],function(e,t){"use strict";function r(e,t,r,n){var a,i,o=e,s=t/3,u=r/3,l=n,c=o*u,f=s*l,h=s*s,d=u*u,m=o*u-h,y=o*l-s*u,p=s*l-d,v=4*m*p-y*y;if(0>v){var g,E,w;h*f>=c*d?(g=o,E=m,w=-2*s*m+o*y):(g=l,E=p,w=-l*y+2*u*p);var S=0>w?-1:1,C=-S*Math.abs(g)*Math.sqrt(-v);i=-w+C;var x=i/2,T=0>x?-Math.pow(-x,1/3):Math.pow(x,1/3),A=i===C?-T:-E/T;return a=0>=E?T+A:-w/(T*T+A*A+E),h*f>=c*d?[(a-s)/o]:[-l/(a+u)]}var O=m,M=-2*s*m+o*y,D=p,I=-l*y+2*u*p,b=Math.sqrt(v),_=Math.sqrt(3)/2,N=Math.abs(Math.atan2(o*b,-M)/3);a=2*Math.sqrt(-O);var R=Math.cos(N);i=a*R;var P=a*(-R/2-_*Math.sin(N)),z=i+P>2*s?i-s:P-s,L=o,F=z/L;N=Math.abs(Math.atan2(l*b,-I)/3),a=2*Math.sqrt(-D),R=Math.cos(N),i=a*R,P=a*(-R/2-_*Math.sin(N));var U=-l,B=2*u>i+P?i+u:P+u,q=U/B,G=L*B,W=-z*B-L*U,Y=z*U,V=(u*W-s*Y)/(-s*W+u*G);return V>=F?q>=F?q>=V?[F,V,q]:[F,q,V]:[q,F,V]:q>=F?[V,F,q]:q>=V?[V,q,F]:[q,V,F]}var n={};return n.discriminant=function(e,t,r,n){var a=e*e,i=t*t,o=r*r,s=n*n,u=18*e*t*r*n+i*o-27*a*s-4*(e*o*r+i*t*n);return u},n.realRoots=function(e,n,a,i){var o,s;if(0===e)return t.realRoots(n,a,i);if(0===n){if(0===a){if(0===i)return[0,0,0];s=-i/e;var u=0>s?-Math.pow(-s,1/3):Math.pow(s,1/3);return[u,u,u]}return 0===i?(o=t.realRoots(e,0,a),0===o.Length?[0]:[o[0],0,o[1]]):r(e,0,a,i)}return 0===a?0===i?(s=-n/e,0>s?[s,0,0]:[0,0,s]):r(e,n,0,i):0===i?(o=t.realRoots(e,n,a),0===o.length?[0]:o[1]<=0?[o[0],o[1],0]:o[0]>=0?[0,o[0],o[1]]:[o[0],0,o[1]]):r(e,n,a,i)},n}),define("Core/QuarticRealPolynomial",["./DeveloperError","./Math","./CubicRealPolynomial","./QuadraticRealPolynomial"],function(e,t,r,n){"use strict";function a(e,a,i,o){var s=e*e,u=a-3*s/8,l=i-a*e/2+s*e/8,c=o-i*e/4+a*s/16-3*s*s/256,f=r.realRoots(1,2*u,u*u-4*c,-l*l);if(f.length>0){var h=-e/4,d=f[f.length-1];if(Math.abs(d)=0&&v>=0){var g=Math.sqrt(p),E=Math.sqrt(v);return[h-E,h-g,h+g,h+E]}if(p>=0&&0>v)return y=Math.sqrt(p),[h-y,h+y];if(0>p&&v>=0)return y=Math.sqrt(v),[h-y,h+y]}return[]}if(d>0){var w=Math.sqrt(d),S=(u+d-l/w)/2,C=(u+d+l/w)/2,x=n.realRoots(1,w,S),T=n.realRoots(1,-w,C);return 0!==x.length?(x[0]+=h,x[1]+=h,0!==T.length?(T[0]+=h,T[1]+=h,x[1]<=T[0]?[x[0],x[1],T[0],T[1]]:T[1]<=x[0]?[T[0],T[1],x[0],x[1]]:x[0]>=T[0]&&x[1]<=T[1]?[T[0],x[0],x[1],T[1]]:T[0]>=x[0]&&T[1]<=x[1]?[x[0],T[0],T[1],x[1]]:x[0]>T[0]&&x[0]0){var m,y,p=d[0],v=a-p,g=v*v,E=e/2,w=v/2,S=g-4*o,C=g+4*Math.abs(o),x=l-4*p,T=l+4*Math.abs(p);if(0>p||x*C>S*T){var A=Math.sqrt(x);m=A/2,y=0===A?0:(e*w-i)/A}else{var O=Math.sqrt(S);m=0===O?0:(e*w-i)/O,y=O/2}var M,D;0===E&&0===m?(M=0,D=0):t.sign(E)===t.sign(m)?(M=E+m,D=p/M):(D=E-m,M=p/D);var I,b;0===w&&0===y?(I=0,b=0):t.sign(w)===t.sign(y)?(I=w+y,b=o/I):(b=w-y,I=o/b);var _=n.realRoots(1,M,I),N=n.realRoots(1,D,b);if(0!==_.length)return 0!==N.length?_[1]<=N[0]?[_[0],_[1],N[0],N[1]]:N[1]<=_[0]?[N[0],N[1],_[0],_[1]]:_[0]>=N[0]&&_[1]<=N[1]?[N[0],_[0],_[1],N[1]]:N[0]>=_[0]&&N[1]<=_[1]?[_[0],N[0],N[1],_[1]]:_[0]>N[0]&&_[0]l?1:0;switch(d+=0>c?d+1:d,d+=0>f?d+1:d,d+=0>h?d+1:d){case 0:return a(l,c,f,h);case 1:return i(l,c,f,h);case 2:return i(l,c,f,h);case 3:return a(l,c,f,h);case 4:return a(l,c,f,h);case 5:return i(l,c,f,h);case 6:return a(l,c,f,h);case 7:return a(l,c,f,h);case 8:return i(l,c,f,h);case 9:return a(l,c,f,h);case 10:return a(l,c,f,h);case 11:return i(l,c,f,h);case 12:return a(l,c,f,h);case 13:return a(l,c,f,h);case 14:return a(l,c,f,h);case 15:return a(l,c,f,h);default:return void 0}},o}),define("Core/IntersectionTests",["./defined","./DeveloperError","./Math","./Cartesian3","./Cartographic","./Matrix3","./QuadraticRealPolynomial","./QuarticRealPolynomial"],function(e,t,r,n,a,i,o,s){"use strict";function u(e,t,n){var a=e+t;return r.sign(e)!==r.sign(t)&&Math.abs(a/Math.max(Math.abs(e),Math.abs(t)))P;++P){var z,L=f[P],F=L*L,U=Math.max(1-F,0),B=Math.sqrt(U);z=r.sign(m)===r.sign(p)?u(m*F+p,y*L,r.EPSILON12):r.sign(p)===r.sign(y*L)?u(m*F,y*L+p,r.EPSILON12):u(m*F+y*L,p,r.EPSILON12);var q=u(v*L,g,r.EPSILON15),G=z*q;0>G?E.push(new n(l,c*L,c*B)):G>0?E.push(new n(l,c*L,c*-B)):0!==B?(E.push(new n(l,c*L,c*-B)),E.push(new n(l,c*L,c*B)),++P):E.push(new n(l,c*L,c*B))}return E}var c={};c.rayPlane=function(e,t,a){var i=e.origin,o=e.direction,s=t.normal,u=n.dot(s,o);if(Math.abs(u)l?void 0:(a=n.multiplyByScalar(o,l,a),n.add(i,a,a))};var f=new n,h=new n;c.rayEllipsoid=function(e,t){var r,a,i,o,s,u=t.oneOverRadii,l=n.multiplyComponents(u,e.origin,f),c=n.multiplyComponents(u,e.direction,h),d=n.magnitudeSquared(l),m=n.dot(l,c);if(d>1){if(m>=0)return void 0;var y=m*m;if(r=d-1,a=n.magnitudeSquared(c),i=a*r,i>y)return void 0;if(y>i){o=m*m-i,s=-m+Math.sqrt(o);var p=s/a,v=r/s;return v>p?{start:p,stop:v}:{start:v,stop:p}}var g=Math.sqrt(r/a);return{start:g,stop:g}}return 1>d?(r=d-1,a=n.magnitudeSquared(c),i=a*r,o=m*m-i,s=-m+Math.sqrt(o),{start:0,stop:s/a}):0>m?(a=n.magnitudeSquared(c),{start:0,stop:-m/a}):void 0},c.grazingAltitudeLocation=function(t,o){var s=t.origin,u=t.direction,c=o.geodeticSurfaceNormal(s);if(n.dot(u,c)>=0)return s;var f,h,d=e(this.rayEllipsoid(t,o)),m=o.transformPositionToScaledSpace(u),y=n.normalize(m),p=n.mostOrthogonalAxis(m),v=n.normalize(n.cross(p,y)),g=n.normalize(n.cross(y,v)),E=new i(y.x,v.x,g.x,y.y,v.y,g.y,y.z,v.z,g.z),w=i.transpose(E),S=i.fromScale(o.radii),C=i.fromScale(o.oneOverRadii),x=new i(0,u.z,-u.y,-u.z,0,u.x,u.y,-u.x,0),T=i.multiply(i.multiply(w,C),x),A=i.multiply(i.multiply(T,S),E),O=i.multiplyByVector(T,s),M=l(A,n.negate(O),0,0,1),D=M.length;if(D>0){for(var I=n.ZERO,b=Number.NEGATIVE_INFINITY,_=0;D>_;++_){f=i.multiplyByVector(S,i.multiplyByVector(E,M[_]));var N=n.normalize(n.subtract(f,s)),R=n.dot(N,u);R>b&&(b=R,I=f)}var P=o.cartesianToCartographic(I);return b=r.clamp(b,0,1),h=n.magnitude(n.subtract(I,s))*Math.sqrt(1-b*b),h=d?-h:h,o.cartographicToCartesian(new a(P.longitude,P.latitude,h))}return void 0};var d=new n;return c.lineSegmentPlane=function(t,a,i,o){var s=n.subtract(a,t,d),u=i.normal,l=n.dot(u,s);if(Math.abs(l)f||f>1?void 0:(e(o)||(o=new n),n.multiplyByScalar(s,f,o),n.add(t,o,o),o)},c.trianglePlaneIntersection=function(e,t,r,a){var i=a.normal,o=a.distance,s=n.dot(i,e)+o<0,u=n.dot(i,t)+o<0,l=n.dot(i,r)+o<0,f=0;f+=s?1:0,f+=u?1:0,f+=l?1:0;var h,d;if((1===f||2===f)&&(h=new n,d=new n),1===f){if(s)return c.lineSegmentPlane(e,t,a,h),c.lineSegmentPlane(e,r,a,d),{positions:[e,t,r,h,d],indices:[0,3,4,1,2,4,1,4,3]};if(u)return c.lineSegmentPlane(t,r,a,h),c.lineSegmentPlane(t,e,a,d),{positions:[e,t,r,h,d],indices:[1,3,4,2,0,4,2,4,3]};if(l)return c.lineSegmentPlane(r,e,a,h),c.lineSegmentPlane(r,t,a,d),{positions:[e,t,r,h,d],indices:[2,3,4,0,1,4,0,4,3]}}else if(2===f){if(!s)return c.lineSegmentPlane(t,e,a,h),c.lineSegmentPlane(r,e,a,d),{positions:[e,t,r,h,d],indices:[1,2,4,1,4,3,0,3,4]};if(!u)return c.lineSegmentPlane(r,t,a,h),c.lineSegmentPlane(e,t,a,d),{positions:[e,t,r,h,d],indices:[2,0,4,2,4,3,1,3,4]};if(!l)return c.lineSegmentPlane(e,r,a,h),c.lineSegmentPlane(t,r,a,d),{positions:[e,t,r,h,d],indices:[0,1,4,0,4,3,2,3,4]}}return void 0},c}),define("Core/isArray",["./defined"],function(e){"use strict";var t=Array.isArray;return e(t)||(t=function(e){return"[object Array]"===Object.prototype.toString.call(e)}),t}),define("Core/Plane",["./Cartesian3","./defined","./DeveloperError"],function(e,t){"use strict";var r=function(t,r){this.normal=e.clone(t),this.distance=r};return r.fromPointNormal=function(n,a,i){var o=-e.dot(a,n);return t(i)?(e.clone(a,i.normal),i.distance=o,i):new r(a,o)},r.getPointDistance=function(t,r){return e.dot(t.normal,r)+t.distance},r.prototype.getPointDistance=function(e){return r.getPointDistance(this,e)},r}),define("Core/PolylinePipeline",["./Cartesian3","./Cartographic","./defaultValue","./defined","./DeveloperError","./Ellipsoid","./EllipsoidGeodesic","./IntersectionTests","./isArray","./Math","./Matrix4","./Plane"],function(e,t,r,n,a,i,o,s,u,l,c,f){"use strict"; +function h(t,r,n,a){var i=a.scaleToGeodeticSurface(t,O),o=a.scaleToGeodeticSurface(r,M),s=e.angleBetween(i,o),u=Math.ceil(s/n),l=new Array(3*u),c=a.cartesianToCartographic(i,x),f=a.cartesianToCartographic(o,T);D.setEndPoints(c,f);var h=D.getSurfaceDistance()/u,d=0;c.height=0;var m=a.cartographicToCartesian(c,A);l[d++]=m.x,l[d++]=m.y,l[d++]=m.z;for(var y=1;u>y;y++){var p=D.interpolateUsingSurfaceDistance(y*h,T);m=a.cartographicToCartesian(p,A),l[d++]=m.x,l[d++]=m.y,l[d++]=m.z}return l}function d(t,r,n){var a=I;return n.geodeticSurfaceNormal(t,a),e.multiplyByScalar(a,r,a),e.add(t,a,t),t}var m={},y=new c,p=new e,v=new e,g=new f(e.ZERO,0),E=new e,w=new f(e.ZERO,0),S=new e,C=new e,x=new t,T=new t,A=new e,O=new e,M=new e,D=new o,I=new e,b=new e;return m.wrapLongitude=function(t,a){var i=[],o=[];if(n(t)&&t.length>0){a=r(a,c.IDENTITY);var u=c.inverseTransformation(a,y),l=c.multiplyByPoint(u,e.ZERO,p),h=c.multiplyByPointAsVector(u,e.UNIT_Y,v),d=f.fromPointNormal(l,h,g),m=c.multiplyByPointAsVector(u,e.UNIT_X,E),x=f.fromPointNormal(l,m,w),T=1;i.push(e.clone(t[0]));for(var A=i[0],O=t.length,M=1;O>M;++M){var D=t[M];if(f.getPointDistance(x,A)<0||f.getPointDistance(x,D)<0){var I=s.lineSegmentPlane(A,D,d,S);if(n(I)){var b=e.multiplyByScalar(h,5e-9,C);f.getPointDistance(d,A)<0&&e.negate(b,b),i.push(e.add(I,b)),o.push(T+1),e.negate(b,b),i.push(e.add(I,b)),T=1}}i.push(e.clone(t[M])),T++,A=D}o.push(T)}return{positions:i,lengths:o}},m.removeDuplicates=function(t){var r=t.length;if(2>r)return t.slice(0);var n=[];n.push(t[0]);for(var a=1;r>a;++a){var i=t[a-1],o=t[a];e.equals(i,o)||n.push(o)}return n},m.scaleToSurface=function(e,t,n){t=r(t,l.RADIANS_PER_DEGREE),n=r(n,i.WGS84);for(var a=e.length,o=[],s=0;a-1>s;s++){var u=e[s],c=e[s+1];o=o.concat(h(u,c,t,n))}var f=e[a-1],d=n.cartesianToCartographic(f,x);d.height=0;var m=n.cartographicToCartesian(d,A);return o.push(m.x,m.y,m.z),o},m.scaleToGeodeticHeight=function(t,o,s,l){s=r(s,i.WGS84);var c,f,h=t.length,m=b;if(n(l)){if(l.length!==t.length)throw new a("result.length must be equal to positions.length");f=l}else f=new Array(t.length);if(0===o){for(c=0;h>c;c+=3)m=s.scaleToGeodeticSurface(e.fromArray(t,c,m),m),f[c]=m.x,f[c+1]=m.y,f[c+2]=m.z;return f}var y;if(u(o)){if(o.length!==h/3)throw new a("height.length must be equal to positions.length");for(c=0;h>c;c+=3)y=o[c/3],m=e.fromArray(t,c,m),m=d(m,y,s),f[c]=m.x,f[c+1]=m.y,f[c+2]=m.z}else for(y=o,c=0;h>c;c+=3)m=e.fromArray(t,c,m),m=d(m,y,s),f[c]=m.x,f[c+1]=m.y,f[c+2]=m.z;return f},m}),define("Core/Cartesian2",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,t,r,n){"use strict";var a=function(t,r){this.x=e(t,0),this.y=e(r,0)};a.fromElements=function(e,r,n){return t(n)?(n.x=e,n.y=r,n):new a(e,r)},a.clone=function(e,r){return t(e)?t(r)?(r.x=e.x,r.y=e.y,r):new a(e.x,e.y):void 0},a.fromCartesian3=a.clone,a.fromCartesian4=a.clone,a.packedLength=2,a.pack=function(t,r,n){n=e(n,0),r[n++]=t.x,r[n]=t.y},a.unpack=function(r,n,i){return n=e(n,0),t(i)||(i=new a),i.x=r[n++],i.y=r[n],i},a.fromArray=a.unpack,a.getMaximumComponent=function(e){return Math.max(e.x,e.y)},a.getMinimumComponent=function(e){return Math.min(e.x,e.y)},a.getMinimumByComponent=function(e,r,n){return t(n)||(n=new a),n.x=Math.min(e.x,r.x),n.y=Math.min(e.y,r.y),n},a.getMaximumByComponent=function(e,r,n){return t(n)||(n=new a),n.x=Math.max(e.x,r.x),n.y=Math.max(e.y,r.y),n},a.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y},a.magnitude=function(e){return Math.sqrt(a.magnitudeSquared(e))};var i=new a;a.distance=function(e,t){return a.subtract(e,t,i),a.magnitude(i)},a.normalize=function(e,r){var n=a.magnitude(e);return t(r)?(r.x=e.x/n,r.y=e.y/n,r):new a(e.x/n,e.y/n)},a.dot=function(e,t){return e.x*t.x+e.y*t.y},a.multiplyComponents=function(e,r,n){return t(n)?(n.x=e.x*r.x,n.y=e.y*r.y,n):new a(e.x*r.x,e.y*r.y)},a.add=function(e,r,n){return t(n)?(n.x=e.x+r.x,n.y=e.y+r.y,n):new a(e.x+r.x,e.y+r.y)},a.subtract=function(e,r,n){return t(n)?(n.x=e.x-r.x,n.y=e.y-r.y,n):new a(e.x-r.x,e.y-r.y)},a.multiplyByScalar=function(e,r,n){return t(n)?(n.x=e.x*r,n.y=e.y*r,n):new a(e.x*r,e.y*r)},a.divideByScalar=function(e,r,n){return t(n)?(n.x=e.x/r,n.y=e.y/r,n):new a(e.x/r,e.y/r)},a.negate=function(e,r){return t(r)?(r.x=-e.x,r.y=-e.y,r):new a(-e.x,-e.y)},a.abs=function(e,r){return t(r)?(r.x=Math.abs(e.x),r.y=Math.abs(e.y),r):new a(Math.abs(e.x),Math.abs(e.y))};var o=new a;a.lerp=function(e,t,r,n){return a.multiplyByScalar(t,r,o),n=a.multiplyByScalar(e,1-r,n),a.add(o,n,n)};var s=new a,u=new a;a.angleBetween=function(e,t){return a.normalize(e,s),a.normalize(t,u),Math.acos(a.dot(s,u))};var l=new a;return a.mostOrthogonalAxis=function(e,t){var r=a.normalize(e,l);return a.abs(r,r),t=r.x<=r.y?a.clone(a.UNIT_X,t):a.clone(a.UNIT_Y,t)},a.equals=function(e,r){return e===r||t(e)&&t(r)&&e.x===r.x&&e.y===r.y},a.equalsEpsilon=function(e,r,n){return e===r||t(e)&&t(r)&&Math.abs(e.x-r.x)<=n&&Math.abs(e.y-r.y)<=n},a.ZERO=n(new a(0,0)),a.UNIT_X=n(new a(1,0)),a.UNIT_Y=n(new a(0,1)),a.prototype.clone=function(e){return a.clone(this,e)},a.prototype.equals=function(e){return a.equals(this,e)},a.prototype.equalsEpsilon=function(e,t){return a.equalsEpsilon(this,e,t)},a.prototype.toString=function(){return"("+this.x+", "+this.y+")"},a}),define("ThirdParty/Uri",[],function(){function e(t){if(t instanceof e)this.scheme=t.scheme,this.authority=t.authority,this.path=t.path,this.query=t.query,this.fragment=t.fragment;else if(t){var r=n.exec(t);this.scheme=r[1],this.authority=r[2],this.path=r[3],this.query=r[4],this.fragment=r[5]}}function t(e){var t=unescape(e);return i.test(t)?t:e.toUpperCase()}function r(e,t,r,n){return(t||"")+r.toLowerCase()+(n||"")}e.prototype.scheme=null,e.prototype.authority=null,e.prototype.path="",e.prototype.query=null,e.prototype.fragment=null;var n=new RegExp("^(?:([^:/?#]+):)?(?://([^/?#]*))?([^?#]*)(?:\\?([^#]*))?(?:#(.*))?$");e.prototype.getScheme=function(){return this.scheme},e.prototype.getAuthority=function(){return this.authority},e.prototype.getPath=function(){return this.path},e.prototype.getQuery=function(){return this.query},e.prototype.getFragment=function(){return this.fragment},e.prototype.isAbsolute=function(){return!!this.scheme&&!this.fragment},e.prototype.isSameDocumentAs=function(e){return e.scheme==this.scheme&&e.authority==this.authority&&e.path==this.path&&e.query==this.query},e.prototype.equals=function(e){return this.isSameDocumentAs(e)&&e.fragment==this.fragment},e.prototype.normalize=function(){this.removeDotSegments(),this.scheme&&(this.scheme=this.scheme.toLowerCase()),this.authority&&(this.authority=this.authority.replace(o,r).replace(a,t)),this.path&&(this.path=this.path.replace(a,t)),this.query&&(this.query=this.query.replace(a,t)),this.fragment&&(this.fragment=this.fragment.replace(a,t))};var a=/%[0-9a-z]{2}/gi,i=/[a-zA-Z0-9\-\._~]/,o=/(.*@)?([^@:]*)(:.*)?/;return e.prototype.resolve=function(t){var r=new e;return this.scheme?(r.scheme=this.scheme,r.authority=this.authority,r.path=this.path,r.query=this.query):(r.scheme=t.scheme,this.authority?(r.authority=this.authority,r.path=this.path,r.query=this.query):(r.authority=t.authority,""==this.path?(r.path=t.path,r.query=this.query||t.query):("/"==this.path.charAt(0)?(r.path=this.path,r.removeDotSegments()):(r.path=t.authority&&""==t.path?"/"+this.path:t.path.substring(0,t.path.lastIndexOf("/")+1)+this.path,r.removeDotSegments()),r.query=this.query))),r.fragment=this.fragment,r},e.prototype.removeDotSegments=function(){var e,t=this.path.split("/"),r=[],n=""==t[0];for(n&&t.shift(),""==t[0]?t.shift():null;t.length;)e=t.shift(),".."==e?r.pop():"."!=e&&r.push(e);("."==e||".."==e)&&r.push(""),n&&r.unshift(""),this.path=r.join("/")},e.prototype.toString=function(){var e="";return this.scheme&&(e+=this.scheme+":"),this.authority&&(e+="//"+this.authority),e+=this.path,this.query&&(e+="?"+this.query),this.fragment&&(e+="#"+this.fragment),e},e}),define("Core/buildModuleUrl",["require","./defined","./DeveloperError","../ThirdParty/Uri"],function(e,t,r,n){"use strict";function a(){for(var e=document.getElementsByTagName("script"),t=0,r=e.length;r>t;++t){var n=e[t].getAttribute("src"),a=f.exec(n);if(null!==a)return a[1]}return void 0}function i(){if(t(u))return u;var e;if(e="undefined"!=typeof CESIUM_BASE_URL?CESIUM_BASE_URL:a(),!t(e))throw new r("Unable to determine Cesium base URL automatically, try defining a global variable called CESIUM_BASE_URL.");return u=new n(e).resolve(new n(document.location.href))}function o(t){return e.toUrl("../"+t)}function s(e){return new n(e).resolve(i()).toString()}var u,l,c,f=/((?:.*\/)|^)cesium[\w-]*\.js(?:\W|$)/i,h=function(r){t(l)||(l=t(e.toUrl)?o:s),t(c)||(c=document.createElement("a"));var n=l(r);return c.href=n,c.href=c.href,c.href};return h._cesiumScriptRegex=f,h}),define("Core/Iau2006XysSample",[],function(){"use strict";var e=function(e,t,r){this.x=e,this.y=t,this.s=r};return e}),define("Core/binarySearch",["./defined","./DeveloperError"],function(){"use strict";var e=function(e,t,r){for(var n,a,i=0,o=e.length-1;o>=i;)if(n=~~((i+o)/2),a=r(e[n],t),0>a)i=n+1;else{if(!(a>0))return n;o=n-1}return~(o+1)};return e}),define("Core/TimeConstants",[],function(){"use strict";var e={SECONDS_PER_MILLISECOND:.001,SECONDS_PER_MINUTE:60,MINUTES_PER_HOUR:60,HOURS_PER_DAY:24,SECONDS_PER_HOUR:3600,MINUTES_PER_DAY:1440,SECONDS_PER_DAY:86400,DAYS_PER_JULIAN_CENTURY:36525,PICOSECOND:1e-9,MODIFIED_JULIAN_DATE_DIFFERENCE:2400000.5};return e}),define("Core/LeapSecond",["./defined","./DeveloperError","./isArray"],function(){"use strict";var e=function(e,t){this.julianDate=e,this.offset=t};return e.setLeapSeconds=function(t){e._leapSeconds=t,e._leapSeconds.sort(e.compareLeapSecondDate)},e.getLeapSeconds=function(){return e._leapSeconds},e.prototype.equals=function(e){return this.julianDate.equals(e.julianDate)&&this.offset===e.offset},e.compareLeapSecondDate=function(e,t){return e.julianDate.compareTo(t.julianDate)},e._leapSeconds=[],e}),define("Core/TimeStandard",[],function(){"use strict";var e={UTC:0,TAI:1};return e}),define("Core/isLeapYear",["./DeveloperError"],function(){"use strict";function e(e){return 0===e%4&&0!==e%100||0===e%400}return e}),define("ThirdParty/sprintf",[],function(){function e(){var e=/%%|%(\d+\$)?([-+\'#0 ]*)(\*\d+\$|\*|\d+)?(\.(\*\d+\$|\*|\d+))?([scboxXuideEfFgG])/g,t=arguments,r=0,n=t[r++],a=function(e,t,r,n){r||(r=" ");var a=e.length>=t?"":Array(1+t-e.length>>>0).join(r);return n?e+a:a+e},i=function(e,t,r,n,i,o){var s=n-e.length;return s>0&&(e=r||!i?a(e,n,o,r):e.slice(0,t.length)+a("",s,"0",!0)+e.slice(t.length)),e},o=function(e,t,r,n,o,s,u){var l=e>>>0;return r=r&&l&&{2:"0b",8:"0",16:"0x"}[t]||"",e=r+a(l.toString(t),s||0,"0",!1),i(e,r,n,o,u)},s=function(e,t,r,n,a,o){return null!=n&&(e=e.slice(0,n)),i(e,"",t,r,a,o)},u=function(e,n,u,l,c,f,h){var d,m,y,p,v;if("%%"==e)return"%";for(var g=!1,E="",w=!1,S=!1,C=" ",x=u.length,T=0;u&&x>T;T++)switch(u.charAt(T)){case" ":E=" ";break;case"+":E="+";break;case"-":g=!0;break;case"'":C=u.charAt(T+1);break;case"0":w=!0;break;case"#":S=!0}if(l=l?"*"==l?+t[r++]:"*"==l.charAt(0)?+t[l.slice(1,-1)]:+l:0,0>l&&(l=-l,g=!0),!isFinite(l))throw new Error("sprintf: (minimum-)width must be finite");switch(f=f?"*"==f?+t[r++]:"*"==f.charAt(0)?+t[f.slice(1,-1)]:+f:"fFeE".indexOf(h)>-1?6:"d"==h?0:void 0,v=n?t[n.slice(0,-1)]:t[r++],h){case"s":return s(String(v),g,l,f,w,C);case"c":return s(String.fromCharCode(+v),g,l,f,w);case"b":return o(v,2,S,g,l,f,w);case"o":return o(v,8,S,g,l,f,w);case"x":return o(v,16,S,g,l,f,w);case"X":return o(v,16,S,g,l,f,w).toUpperCase();case"u":return o(v,10,S,g,l,f,w);case"i":case"d":return d=+v||0,d=Math.round(d-d%1),m=0>d?"-":E,v=m+a(String(Math.abs(d)),f,"0",!1),i(v,m,g,l,w);case"e":case"E":case"f":case"F":case"g":case"G":return d=+v,m=0>d?"-":E,y=["toExponential","toFixed","toPrecision"]["efg".indexOf(h.toLowerCase())],p=["toString","toUpperCase"]["eEfFgG".indexOf(h)%2],v=m+Math.abs(d)[y](f),i(v,m,g,l,w)[p]();default:return e}};return n.replace(e,u)}return e}),define("Core/JulianDate",["./DeveloperError","./binarySearch","./defined","./defaultValue","./TimeConstants","./LeapSecond","./TimeStandard","./isLeapYear","../ThirdParty/sprintf"],function(e,t,r,n,a,i,o,s,u){"use strict";function l(e){v.julianDate=e;var r=i.getLeapSeconds(),n=t(r,v,i.compareLeapSecondDate);0>n&&(n=~n),n>=r.length&&(n=r.length-1);var a=r[n].offset;if(n>0){var o=e.getSecondsDifference(r[n].julianDate);o>a&&(n--,a=r[n].offset)}e.addSeconds(a,e)}function c(e,r){v.julianDate=e;var n=i.getLeapSeconds(),a=t(n,v,i.compareLeapSecondDate);if(0>a&&(a=~a),0===a)return e.addSeconds(-n[0].offset,r);if(a>=n.length)return e.addSeconds(-n[a-1].offset,r);var o=e.getSecondsDifference(n[a].julianDate);return 0===o?e.addSeconds(-n[a].offset,r):1>=o?void 0:e.addSeconds(-n[--a].offset,r)}function f(e,t,n){var i=0|t/a.SECONDS_PER_DAY;return e+=i,t-=a.SECONDS_PER_DAY*i,0>t&&(e--,t+=a.SECONDS_PER_DAY),r(n)?(n._julianDayNumber=e,n._secondsOfDay=t,n):new D(e,t,o.TAI)}function h(e,t,r,n,i,o,s){var u=0|(t-14)/12,l=e+4800+u,c=(0|1461*l/4)+(0|367*(t-2-12*u)/12)-(0|3*((l+100)/100)/4)+r-32075;n-=12,0>n&&(n+=24);var f=o+(n*a.SECONDS_PER_HOUR+i*a.SECONDS_PER_MINUTE+s*a.SECONDS_PER_MILLISECOND);return f>=43200&&(c-=1),[c,f]}function d(e){return h(e.getUTCFullYear(),e.getUTCMonth()+1,e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds())}var m=function(e,t,r,n,a,i,o,s){this.year=e,this.month=t,this.day=r,this.hour=n,this.minute=a,this.second=i,this.millisecond=o,this.isLeapSecond=s},y=[31,28,31,30,31,30,31,31,30,31,30,31],p=29,v={julianDate:void 0},g=/^(\d{4})$/,E=/^(\d{4})-(\d{2})$/,w=/^(\d{4})-?(\d{3})$/,S=/^(\d{4})-?W(\d{2})-?(\d{1})?$/,C=/^(\d{4})-?(\d{2})-?(\d{2})$/,x=/([Z+\-])?(\d{2})?:?(\d{2})?$/,T=/^(\d{2})(\.\d+)?/.source+x.source,A=/^(\d{2}):?(\d{2})(\.\d+)?/.source+x.source,O=/^(\d{2}):?(\d{2}):?(\d{2})(\.\d+)?/.source+x.source,M="Valid ISO 8601 date string required.",D=function(e,t,i){this._julianDayNumber=void 0,this._secondsOfDay=void 0;var s,u;if(r(e)||r(t)||r(i))i=n(i,o.UTC),s=0|e,u=t+(e-s)*a.SECONDS_PER_DAY;else{var c=new Date,h=d(c);s=h[0],u=h[1],i=o.UTC}f(s,u,this),i===o.UTC&&l(this)};D.clone=function(e,t){return r(e)?r(t)?(t._julianDayNumber=e._julianDayNumber,t._secondsOfDay=e._secondsOfDay,t):new D(e._julianDayNumber,e._secondsOfDay,o.TAI):void 0},D.fromDate=function(e,t){var r=d(e);return new D(r[0],r[1],t)},D.fromIso8601=function(t){t=t.replace(",",".");var n,a,i,u=t.split("T"),l=1,c=1,f=0,d=0,m=0,v=0,x=u[0],I=u[1];if(!r(x))throw new e(M);var b;if(u=x.match(C),null!==u){if(b=x.split("-").length-1,b>0&&2!==b)throw new e(M);n=+u[1],l=+u[2],c=+u[3]}else if(u=x.match(E),null!==u)n=+u[1],l=+u[2];else if(u=x.match(g),null!==u)n=+u[1];else{var _;if(u=x.match(w),null!==u){if(n=+u[1],_=+u[2],i=s(n),1>_||i&&_>366||!i&&_>365)throw new e(M)}else{if(u=x.match(S),null===u)throw new e(M);n=+u[1];var N=+u[2],R=+u[3]||0;if(b=x.split("-").length-1,b>0&&(!r(u[3])&&1!==b||r(u[3])&&2!==b))throw new e(M);var P=new Date(Date.UTC(n,0,4));_=7*N+R-P.getUTCDay()-3}a=new Date(Date.UTC(n,0,1)),a.setUTCDate(_),l=a.getUTCMonth()+1,c=a.getUTCDate()}if(i=s(n),1>l||l>12||1>c||(2!==l||!i)&&c>y[l-1]||i&&2===l&&c>p)throw new e(M);var z;if(r(I)){if(u=I.match(O),null!==u){if(b=I.split(":").length-1,b>0&&2!==b&&3!==b)throw new e(M);f=+u[1],d=+u[2],m=+u[3],v=1e3*+(u[4]||0),z=5}else if(u=I.match(A),null!==u){if(b=I.split(":").length-1,b>0&&1!==b)throw new e(M);f=+u[1],d=+u[2],m=60*+(u[3]||0),z=4}else{if(u=I.match(T),null===u)throw new e(M);f=+u[1],d=60*+(u[2]||0),z=3}if(d>=60||m>=61||f>24||24===f&&(d>0||m>0||v>0))throw new e(M);var L=u[z],F=+u[z+1],U=+(u[z+2]||0);switch(L){case"+":f-=F,d-=U;break;case"-":f+=F,d+=U;break;case"Z":break;default:d+=new Date(Date.UTC(n,l-1,c,f,d)).getTimezoneOffset()}}else d+=new Date(Date.UTC(n,l-1,c)).getTimezoneOffset();var B=60===m;for(B&&m--;d>=60;)d-=60,f++;for(;f>=24;)f-=24,c++;for(a=i&&2===l?p:y[l-1];c>a;)c-=a,l++,l>12&&(l-=12,n++),a=i&&2===l?p:y[l-1];for(;0>d;)d+=60,f--;for(;0>f;)f+=24,c--;for(;1>c;)l--,1>l&&(l+=12,n--),a=i&&2===l?p:y[l-1],c+=a;var q=h(n,l,c,f,d,m,v),G=new D(q[0],q[1],o.UTC);return B&&G.addSeconds(1,G),G},D.fromTotalDays=function(e,t){return new D(e,0,t)},D.compare=function(e,t){var r=e._julianDayNumber-t._julianDayNumber;return 0!==r?r:e._secondsOfDay-t._secondsOfDay},D.equals=function(e,t){return e===t||r(e)&&r(t)&&e._julianDayNumber===t._julianDayNumber&&e._secondsOfDay===t._secondsOfDay},D.equalsEpsilon=function(e,t,r){return Math.abs(e.getSecondsDifference(t))<=r},D.prototype.clone=function(e){return D.clone(this,e)},D.prototype.getTotalDays=function(){return this._julianDayNumber+this._secondsOfDay/a.SECONDS_PER_DAY},D.prototype.getJulianDayNumber=function(){return this._julianDayNumber},D.prototype.getJulianTimeFraction=function(){return this._secondsOfDay/a.SECONDS_PER_DAY},D.prototype.getSecondsOfDay=function(){return this._secondsOfDay};var I=new D(0,0,o.TAI);return D.prototype.toGregorianDate=function(){var e=!1,t=c(this,I);r(t)||(this.addSeconds(-1,I),t=c(I,I),e=!0);var n=t._julianDayNumber,i=t._secondsOfDay;i>=43200&&(n+=1);var o=0|n+68569,s=0|4*o/146097;o=0|o-(0|(146097*s+3)/4);var u=0|4e3*(o+1)/1461001;o=0|o-(0|1461*u/4)+31;var l=0|80*o/2447,f=0|o-(0|2447*l/80);o=0|l/11;var h=0|l+2-12*o,d=0|100*(s-49)+u+o,y=0|i/a.SECONDS_PER_HOUR,p=i-y*a.SECONDS_PER_HOUR,v=0|p/a.SECONDS_PER_MINUTE;p-=v*a.SECONDS_PER_MINUTE;var g=0|p,E=(p-g)/a.SECONDS_PER_MILLISECOND;return y+=12,y>23&&(y-=24),e&&(g+=1),new m(d,h,f,y,v,g,E,e)},D.prototype.toDate=function(){var e=this.toGregorianDate(),t=e.second;return e.isLeapSecond&&(t-=1),new Date(Date.UTC(e.year,e.month-1,e.day,e.hour,e.minute,t,e.millisecond))},D.prototype.toIso8601=function(e){var t,n=this.toGregorianDate();return r(e)||0===n.millisecond?r(e)&&0!==e?(t=(.01*n.millisecond).toFixed(e).replace(".","").slice(0,e),u("%04d-%02d-%02dT%02d:%02d:%02d.%sZ",n.year,n.month,n.day,n.hour,n.minute,n.second,t)):u("%04d-%02d-%02dT%02d:%02d:%02dZ",n.year,n.month,n.day,n.hour,n.minute,n.second):(t=(.01*n.millisecond).toString().replace(".",""),u("%04d-%02d-%02dT%02d:%02d:%02d.%sZ",n.year,n.month,n.day,n.hour,n.minute,n.second,t))},D.prototype.getSecondsDifference=function(e){var t=this,r=e,n=(r._julianDayNumber-t._julianDayNumber)*a.SECONDS_PER_DAY;return n+(r._secondsOfDay-t._secondsOfDay)},D.prototype.getMinutesDifference=function(e){return this.getSecondsDifference(e)/a.SECONDS_PER_MINUTE},D.prototype.getDaysDifference=function(e){var t=this,r=e,n=r._julianDayNumber-t._julianDayNumber,i=(r._secondsOfDay-t._secondsOfDay)/a.SECONDS_PER_DAY;return n+i},D.prototype.getTaiMinusUtc=function(){v.julianDate=this;var e=i.getLeapSeconds(),r=t(e,v,i.compareLeapSecondDate);return 0>r&&(r=~r,--r,0>r&&(r=0)),e[r].offset},D.prototype.addSeconds=function(e,t){return f(this._julianDayNumber,this._secondsOfDay+e,t)},D.prototype.addMinutes=function(e){var t=this._secondsOfDay+e*a.SECONDS_PER_MINUTE;return new D(this._julianDayNumber,t,o.TAI)},D.prototype.addHours=function(e){var t=this._secondsOfDay+e*a.SECONDS_PER_HOUR;return new D(this._julianDayNumber,t,o.TAI)},D.prototype.addDays=function(e){var t=this._julianDayNumber+e;return new D(t,this._secondsOfDay,o.TAI)},D.prototype.lessThan=function(e){return D.compare(this,e)<0},D.prototype.lessThanOrEquals=function(e){return D.compare(this,e)<=0},D.prototype.greaterThan=function(e){return D.compare(this,e)>0},D.prototype.greaterThanOrEquals=function(e){return D.compare(this,e)>=0},D.prototype.compareTo=function(e){return D.compare(this,e)},D.prototype.equals=function(e){return D.equals(this,e)},D.prototype.equalsEpsilon=function(e,t){return D.equalsEpsilon(this,e,t)},0===i._leapSeconds.length&&(i._leapSeconds=[new i(new D(2441317,43210,o.TAI),10),new i(new D(2441499,43211,o.TAI),11),new i(new D(2441683,43212,o.TAI),12),new i(new D(2442048,43213,o.TAI),13),new i(new D(2442413,43214,o.TAI),14),new i(new D(2442778,43215,o.TAI),15),new i(new D(2443144,43216,o.TAI),16),new i(new D(2443509,43217,o.TAI),17),new i(new D(2443874,43218,o.TAI),18),new i(new D(2444239,43219,o.TAI),19),new i(new D(2444786,43220,o.TAI),20),new i(new D(2445151,43221,o.TAI),21),new i(new D(2445516,43222,o.TAI),22),new i(new D(2446247,43223,o.TAI),23),new i(new D(2447161,43224,o.TAI),24),new i(new D(2447892,43225,o.TAI),25),new i(new D(2448257,43226,o.TAI),26),new i(new D(2448804,43227,o.TAI),27),new i(new D(2449169,43228,o.TAI),28),new i(new D(2449534,43229,o.TAI),29),new i(new D(2450083,43230,o.TAI),30),new i(new D(2450630,43231,o.TAI),31),new i(new D(2451179,43232,o.TAI),32),new i(new D(2453736,43233,o.TAI),33),new i(new D(2454832,43234,o.TAI),34),new i(new D(2456109,43235,o.TAI),35)]),D}),define("Core/clone",["./defaultValue"],function(e){"use strict";var t=function(r,n){if(null===r||"object"!=typeof r)return r;n=e(n,!1);var a=new r.constructor;for(var i in r)if(r.hasOwnProperty(i)){var o=r[i];n&&(o=t(o,n)),a[i]=o}return a};return t}),define("Core/parseResponseHeaders",[],function(){"use strict";var e=function(e){var t={};if(!e)return t;for(var r=e.split("\r\n"),n=0;n0){var o=a.substring(0,i),s=a.substring(i+2);t[o]=s}}return t};return e}),define("Core/RequestErrorEvent",["./defined","./parseResponseHeaders"],function(e,t){"use strict";var r=function(e,r,n){this.statusCode=e,this.response=r,this.responseHeaders=n,"string"==typeof this.responseHeaders&&(this.responseHeaders=t(this.responseHeaders))};return r.prototype.toString=function(){var t="Request has failed.";return e(this.statusCode)&&(t+=" Status Code: "+this.statusCode),t},r}),function(e){"use strict";e("ThirdParty/when",[],function(){function e(e,r,n,a){return t(e).then(r,n,a)}function t(e){var t,r;return e instanceof n?t=e:s(e)?(r=o(),e.then(function(e){r.resolve(e)},function(e){r.reject(e)},function(e){r.progress(e)}),t=r.promise):t=a(e),t}function r(t){return e(t,i)}function n(e){this.then=e}function a(e){var r=new n(function(r){try{return t(r?r(e):e)}catch(n){return i(n)}});return r}function i(e){var r=new n(function(r,n){try{return n?t(n(e)):i(e)}catch(a){return i(a)}});return r}function o(){function e(e,t,r){return h(e,t,r)}function r(e){return m(e)}function a(e){return m(i(e))}function s(e){return d(e)}var u,l,c,f,h,d,m;return l=new n(e),u={then:e,resolve:r,reject:a,progress:s,promise:l,resolver:{resolve:r,reject:a,progress:s}},c=[],f=[],h=function(e,t,r){var n,a;return n=o(),a="function"==typeof r?function(e){try{n.progress(r(e))}catch(t){n.progress(t)}}:function(e){n.progress(e)},c.push(function(r){r.then(e,t).then(n.resolve,n.reject,a)}),f.push(a),n.promise},d=function(e){return y(f,e),e},m=function(e){return e=t(e),h=e.then,m=t,d=v,y(c,e),f=c=S,e},u}function s(e){return e&&"function"==typeof e.then}function u(t,r,n,a,i){return p(2,arguments),e(t,function(t){function s(e){y(e)}function u(e){m(e)}var l,c,f,h,d,m,y,p,g,E;if(g=t.length>>>0,l=Math.max(0,Math.min(r,g)),f=[],c=g-l+1,h=[],d=o(),l)for(p=d.progress,y=function(e){h.push(e),--c||(m=y=v,d.reject(h))},m=function(e){f.push(e),--l||(m=y=v,d.resolve(f))},E=0;g>E;++E)E in t&&e(t[E],u,s,p);else d.resolve(f);return d.then(n,a,i)})}function l(e,t,r,n){function a(e){return t?t(e[0]):e[0]}return u(e,1,a,r,n)}function c(e,t,r,n){return p(1,arguments),h(e,g).then(t,r,n)}function f(){return h(arguments,g)}function h(t,r){return e(t,function(t){var n,a,i,s,u,l;if(i=a=t.length>>>0,n=[],l=o(),i)for(s=function(t,a){e(t,r).then(function(e){n[a]=e,--i||l.resolve(n)},l.reject)},u=0;a>u;u++)u in t?s(t[u],u):--i;else l.resolve(n);return l.promise})}function d(t,r){var n=w.call(arguments,1);return e(t,function(t){var a;return a=t.length,n[0]=function(t,n,i){return e(t,function(t){return e(n,function(e){return r(t,e,i,a)})})},E.apply(t,n)})}function m(t,r,n){var a=arguments.length>2;return e(t,function(e){return e=a?n:e,r.resolve(e),e},function(e){return r.reject(e),i(e)},r.progress)}function y(e,t){for(var r,n=0;r=e[n++];)r(t)}function p(e,t){for(var r,n=t.length;n>e;)if(r=t[--n],null!=r&&"function"!=typeof r)throw new Error("arg "+n+" must be a function")}function v(){}function g(e){return e}var E,w,S;return e.defer=o,e.resolve=t,e.reject=r,e.join=f,e.all=c,e.map=h,e.reduce=d,e.any=l,e.some=u,e.chain=m,e.isPromise=s,n.prototype={always:function(e,t){return this.then(e,e,t)},otherwise:function(e){return this.then(S,e)},yield:function(e){return this.then(function(){return e})},spread:function(e){return this.then(function(t){return c(t,function(t){return e.apply(S,t)})})}},w=[].slice,E=[].reduce||function(e){var t,r,n,a,i;if(i=0,t=Object(this),a=t.length>>>0,r=arguments,r.length<=1)for(;;){if(i in t){n=t[i++];break}if(++i>=a)throw new TypeError}else n=r[1];for(;a>i;++i)i in t&&(n=e(n,t[i],i,t));return n},e})}("function"==typeof define&&define.amd?define:function(e){"object"==typeof exports?module.exports=e():this.when=e()}),define("Core/loadWithXhr",["./defined","./defaultValue","./DeveloperError","./RequestErrorEvent","../ThirdParty/when"],function(e,t,r,n,a){"use strict";var i=function(e){e=t(e,t.EMPTY_OBJECT);var r=e.responseType,n=t(e.method,"GET"),o=e.data,s=e.headers;return a(e.url,function(e){var t=a.defer();return i.load(e,r,n,o,s,t),t.promise})};return i.load=function(t,r,a,i,o,s){var u=new XMLHttpRequest;if(u.open(a,t,!0),e(o))for(var l in o)o.hasOwnProperty(l)&&u.setRequestHeader(l,o[l]);e(r)&&(u.responseType=r),u.onload=function(){200===u.status?s.resolve(u.response):s.reject(new n(u.status,u.response,u.getAllResponseHeaders()))},u.onerror=function(){s.reject(new n)},u.send(i)},i.defaultLoad=i.load,i}),define("Core/loadText",["./loadWithXhr"],function(e){"use strict";var t=function(t,r){return e({url:t,headers:r})};return t}),define("Core/loadJson",["./clone","./defined","./loadText","./DeveloperError"],function(e,t,r){"use strict";var n={Accept:"application/json,*/*;q=0.01"},a=function(a,i){return t(i)?t(i.Accept)||(i=e(i),i.Accept=n.Accept):i=n,r(a,i).then(function(e){return JSON.parse(e)})};return a}),define("Core/Iau2006XysData",["./buildModuleUrl","./defaultValue","./defined","./Iau2006XysSample","./JulianDate","./loadJson","./TimeStandard","../ThirdParty/when"],function(e,t,r,n,a,i,o,s){"use strict";function u(e,t,r){var n=f;return n._julianDayNumber=t,n._secondsOfDay=r,e._sampleZeroDateTT.getDaysDifference(n)}function l(t,n){if(t._chunkDownloadsInProgress[n])return t._chunkDownloadsInProgress[n];var a=s.defer();t._chunkDownloadsInProgress[n]=a;var o,u=t._xysFileUrlTemplate;return o=r(u)?u.replace("{0}",n):e("Assets/IAU2006_XYS/IAU2006_XYS_"+n+".json"),s(i(o),function(e){t._chunkDownloadsInProgress[n]=!1;for(var r=t._samples,i=e.samples,o=3*n*t._samplesPerXysFile,s=0,u=i.length;u>s;++s)r[o+s]=i[s];a.resolve()}),a.promise}var c=function(e){e=t(e,t.EMPTY_OBJECT),this._xysFileUrlTemplate=e.xysFileUrlTemplate,this._interpolationOrder=t(e.interpolationOrder,9),this._sampleZeroJulianEphemerisDate=t(e.sampleZeroJulianEphemerisDate,2442396.5),this._sampleZeroDateTT=new a(this._sampleZeroJulianEphemerisDate,0,o.TAI),this._stepSizeDays=t(e.stepSizeDays,1),this._samplesPerXysFile=t(e.samplesPerXysFile,1e3),this._totalSamples=t(e.totalSamples,27426),this._samples=new Array(3*this._totalSamples),this._chunkDownloadsInProgress=[];for(var r=this._interpolationOrder,n=this._denominators=new Array(r+1),i=this._xTable=new Array(r+1),s=Math.pow(this._stepSizeDays,r),u=0;r>=u;++u){n[u]=s,i[u]=u*this._stepSizeDays;for(var l=0;r>=l;++l)l!==u&&(n[u]*=u-l);n[u]=1/n[u]}this._work=new Array(r+1),this._coef=new Array(r+1)},f=new a(0,0,o.TAI);return c.prototype.preload=function(e,t,r,n){var a=u(this,e,t),i=u(this,r,n),o=0|a/this._stepSizeDays-this._interpolationOrder/2;0>o&&(o=0);var c=i/this._stepSizeDays-this._interpolationOrder/2|0+this._interpolationOrder;c>=this._totalSamples&&(c=this._totalSamples-1);for(var f=0|o/this._samplesPerXysFile,h=0|c/this._samplesPerXysFile,d=[],m=f;h>=m;++m)d.push(l(this,m));return s.all(d)},c.prototype.computeXysRadians=function(e,t,a){var i=u(this,e,t);if(0>i)return void 0;var o=0|i/this._stepSizeDays;if(o>=this._totalSamples)return void 0;var s=this._interpolationOrder,c=o-(0|s/2);0>c&&(c=0);var f=c+s;f>=this._totalSamples&&(f=this._totalSamples-1,c=f-s,0>c&&(c=0));var h=!1,d=this._samples;if(r(d[3*c])||(l(this,0|c/this._samplesPerXysFile),h=!0),r(d[3*f])||(l(this,0|f/this._samplesPerXysFile),h=!0),h)return void 0;r(a)?(a.x=0,a.y=0,a.s=0):a=new n(0,0,0);var m,y,p=i-c*this._stepSizeDays,v=this._work,g=this._denominators,E=this._coef,w=this._xTable;for(m=0;s>=m;++m)v[m]=p-w[m];for(m=0;s>=m;++m){for(E[m]=1,y=0;s>=y;++y)y!==m&&(E[m]*=v[y]);E[m]*=g[m];var S=3*(c+m);a.x+=E[m]*d[S++],a.y+=E[m]*d[S++],a.s+=E[m]*d[S]}return a},c}),define("Core/EarthOrientationParametersSample",[],function(){"use strict";var e=function(e,t,r,n,a){this.xPoleWander=e,this.yPoleWander=t,this.xPoleOffset=r,this.yPoleOffset=n,this.ut1MinusUtc=a};return e}),define("Core/EarthOrientationParameters",["./binarySearch","./defaultValue","./defined","./EarthOrientationParametersSample","./freezeObject","./loadJson","./JulianDate","./LeapSecond","./RuntimeError","./TimeConstants","./TimeStandard","../ThirdParty/when"],function(e,t,r,n,a,i,o,s,u,l,c,f){"use strict";function h(e,t){return o.compare(e.julianDate,t)}function d(t,n){if(!r(n.columnNames))return t._dataError="Error in loaded EOP data: The columnNames property is required.",void 0;if(!r(n.samples))return t._dataError="Error in loaded EOP data: The samples property is required.",void 0;var a=n.columnNames.indexOf("modifiedJulianDateUtc"),i=n.columnNames.indexOf("xPoleWanderRadians"),u=n.columnNames.indexOf("yPoleWanderRadians"),f=n.columnNames.indexOf("ut1MinusUtcSeconds"),d=n.columnNames.indexOf("xCelestialPoleOffsetRadians"),m=n.columnNames.indexOf("yCelestialPoleOffsetRadians"),y=n.columnNames.indexOf("taiMinusUtcSeconds");if(0>a||0>i||0>u||0>f||0>d||0>m||0>y)return t._dataError="Error in loaded EOP data: The columnNames property must include modifiedJulianDateUtc, xPoleWanderRadians, yPoleWanderRadians, ut1MinusUtcSeconds, xCelestialPoleOffsetRadians, yCelestialPoleOffsetRadians, and taiMinusUtcSeconds columns",void 0;var p=t._samples=n.samples,v=t._dates=[];t._dateColumn=a,t._xPoleWanderRadiansColumn=i,t._yPoleWanderRadiansColumn=u,t._ut1MinusUtcSecondsColumn=f,t._xCelestialPoleOffsetRadiansColumn=d,t._yCelestialPoleOffsetRadiansColumn=m,t._taiMinusUtcSecondsColumn=y,t._columnCount=n.columnNames.length,t._lastIndex=void 0;for(var g,E=t._addNewLeapSeconds,w=0,S=p.length;S>w;w+=t._columnCount){var C=p[w+a],x=p[w+y],T=C+l.MODIFIED_JULIAN_DATE_DIFFERENCE,A=new o(T,x,c.TAI);if(v.push(A),E){if(x!==g&&r(g)){var O=s.getLeapSeconds(),M=e(O,A,h);if(0>M){var D=new s(A,x);O.splice(~M,0,D)}}g=x}}}function m(e,t,r,n,a){var i=r*n;a.xPoleWander=t[i+e._xPoleWanderRadiansColumn],a.yPoleWander=t[i+e._yPoleWanderRadiansColumn],a.xPoleOffset=t[i+e._xCelestialPoleOffsetRadiansColumn],a.yPoleOffset=t[i+e._yCelestialPoleOffsetRadiansColumn],a.ut1MinusUtc=t[i+e._ut1MinusUtcSecondsColumn]}function y(e,t,r){return t+e*(r-t)}function p(e,t,r,n,a,i,o){var s=e._columnCount;if(i>t.length-1)return o.xPoleWander=0,o.yPoleWander=0,o.xPoleOffset=0,o.yPoleOffset=0,o.ut1MinusUtc=0,o;var u=t[a],l=t[i];if(u.equals(l)||n.equals(u))return m(e,r,a,s,o),o;if(n.equals(l))return m(e,r,i,s,o),o;var c=u.getSecondsDifference(n)/u.getSecondsDifference(l),f=a*s,h=i*s,d=r[f+e._ut1MinusUtcSecondsColumn],p=r[h+e._ut1MinusUtcSecondsColumn],v=p-d;if(v>.5||-.5>v){var g=r[f+e._taiMinusUtcSecondsColumn],E=r[h+e._taiMinusUtcSecondsColumn];g!==E&&(l.equals(n)?d=p:p-=E-g)}return o.xPoleWander=y(c,r[f+e._xPoleWanderRadiansColumn],r[h+e._xPoleWanderRadiansColumn]),o.yPoleWander=y(c,r[f+e._yPoleWanderRadiansColumn],r[h+e._yPoleWanderRadiansColumn]),o.xPoleOffset=y(c,r[f+e._xCelestialPoleOffsetRadiansColumn],r[h+e._xCelestialPoleOffsetRadiansColumn]),o.yPoleOffset=y(c,r[f+e._yCelestialPoleOffsetRadiansColumn],r[h+e._yCelestialPoleOffsetRadiansColumn]),o.ut1MinusUtc=y(c,d,p),o}var v=function(e){if(e=t(e,t.EMPTY_OBJECT),this._dates=void 0,this._samples=void 0,this._dateColumn=-1,this._xPoleWanderRadiansColumn=-1,this._yPoleWanderRadiansColumn=-1,this._ut1MinusUtcSecondsColumn=-1,this._xCelestialPoleOffsetRadiansColumn=-1,this._yCelestialPoleOffsetRadiansColumn=-1,this._taiMinusUtcSecondsColumn=-1,this._columnCount=0,this._lastIndex=-1,this._downloadPromise=void 0,this._dataError=void 0,this._addNewLeapSeconds=t(e.addNewLeapSeconds,!0),r(e.data))d(this,e.data); +else if(r(e.url)){var n=this;this._downloadPromise=f(i(e.url),function(e){d(n,e)},function(){n._dataError="An error occurred while retrieving the EOP data from the URL "+e.url+"."})}else d(this,{columnNames:["dateIso8601","modifiedJulianDateUtc","xPoleWanderRadians","yPoleWanderRadians","ut1MinusUtcSeconds","lengthOfDayCorrectionSeconds","xCelestialPoleOffsetRadians","yCelestialPoleOffsetRadians","taiMinusUtcSeconds"],samples:[]})};return v.NONE=a({getPromiseToLoad:function(){return f()},compute:function(e,t){return r(t)?(t.xPoleWander=0,t.yPoleWander=0,t.xPoleOffset=0,t.yPoleOffset=0,t.ut1MinusUtc=0):t=new n(0,0,0,0,0),t}}),v.prototype.getPromiseToLoad=function(){return f(this._downloadPromise)},v.prototype.compute=function(t,a){if(!r(this._samples)){if(r(this._dataError))throw new u(this._dataError);return void 0}if(r(a)||(a=new n(0,0,0,0,0)),0===this._samples.length)return a.xPoleWander=0,a.yPoleWander=0,a.xPoleOffset=0,a.yPoleOffset=0,a.ut1MinusUtc=0,a;var i=this._dates,s=this._lastIndex,l=0,c=0;if(r(s)){var f=i[s],h=i[s+1],d=f.lessThanOrEquals(t),m=!r(h),y=m||h.greaterThanOrEquals(t);if(d&&y)return l=s,!m&&h.equals(t)&&++l,c=l+1,p(this,i,this._samples,t,l,c,a),a}var v=e(i,t,o.compare,this._dateColumn);return v>=0?(vl&&(l=0)),this._lastIndex=l,p(this,i,this._samples,t,l,c,a),a},v}),define("Core/Transforms",["./defaultValue","./defined","./DeveloperError","./Iau2006XysData","./Iau2006XysSample","./Math","./Matrix3","./Matrix4","./Cartesian2","./Cartesian3","./Cartesian4","./TimeConstants","./Ellipsoid","./EarthOrientationParameters","./EarthOrientationParametersSample","../ThirdParty/when"],function(e,t,r,n,a,i,o,s,u,l,c,f,h,d,m,y){"use strict";var p={},v=new l,g=new l,E=new l;p.eastNorthUpToFixedFrame=function(r,n,a){if(i.equalsEpsilon(r.x,0,i.EPSILON14)&&i.equalsEpsilon(r.y,0,i.EPSILON14)){var o=i.sign(r.z);return t(a)?(a[0]=0,a[1]=1,a[2]=0,a[3]=0,a[4]=-o,a[5]=0,a[6]=0,a[7]=0,a[8]=0,a[9]=0,a[10]=o,a[11]=0,a[12]=r.x,a[13]=r.y,a[14]=r.z,a[15]=1,a):new s(0,-o,0,r.x,1,0,0,r.y,0,0,o,r.z,0,0,0,1)}var u=v,c=g,f=E;return n=e(n,h.WGS84),n.geodeticSurfaceNormal(r,u),c.x=-r.y,c.y=r.x,c.z=0,l.normalize(c,c),l.cross(u,c,f),t(a)?(a[0]=c.x,a[1]=c.y,a[2]=c.z,a[3]=0,a[4]=f.x,a[5]=f.y,a[6]=f.z,a[7]=0,a[8]=u.x,a[9]=u.y,a[10]=u.z,a[11]=0,a[12]=r.x,a[13]=r.y,a[14]=r.z,a[15]=1,a):new s(c.x,f.x,u.x,r.x,c.y,f.y,u.y,r.y,c.z,f.z,u.z,r.z,0,0,0,1)};var w=new l,S=new l,C=new l;p.northEastDownToFixedFrame=function(r,n,a){if(i.equalsEpsilon(r.x,0,i.EPSILON14)&&i.equalsEpsilon(r.y,0,i.EPSILON14)){var o=i.sign(r.z);return t(a)?(a[0]=-o,a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=1,a[6]=0,a[7]=0,a[8]=0,a[9]=0,a[10]=-o,a[11]=0,a[12]=r.x,a[13]=r.y,a[14]=r.z,a[15]=1,a):new s(-o,0,0,r.x,0,1,0,r.y,0,0,-o,r.z,0,0,0,1)}var u=w,c=S,f=C;return n=e(n,h.WGS84),n.geodeticSurfaceNormal(r,u),c.x=-r.y,c.y=r.x,c.z=0,l.normalize(c,c),l.cross(u,c,f),t(a)?(a[0]=f.x,a[1]=f.y,a[2]=f.z,a[3]=0,a[4]=c.x,a[5]=c.y,a[6]=c.z,a[7]=0,a[8]=-u.x,a[9]=-u.y,a[10]=-u.z,a[11]=0,a[12]=r.x,a[13]=r.y,a[14]=r.z,a[15]=1,a):new s(f.x,c.x,-u.x,r.x,f.y,c.y,-u.y,r.y,f.z,c.z,-u.z,r.z,0,0,0,1)};var x=24110.54841,T=8640184.812866,A=.093104,O=-62e-7,M=1.1772758384668e-19,D=72921158553e-15,I=i.TWO_PI/86400;p.computeTemeToPseudoFixedMatrix=function(e,r){var n,a=e.addSeconds(-e.getTaiMinusUtc()),s=a.getJulianDayNumber(),u=a.getSecondsOfDay(),l=s-2451545;n=u>=43200?(l+.5)/f.DAYS_PER_JULIAN_CENTURY:(l-.5)/f.DAYS_PER_JULIAN_CENTURY;var c=x+n*(T+n*(A+n*O)),h=c*I%i.TWO_PI,d=D+M*(s-2451545.5),m=(u+.5*f.SECONDS_PER_DAY)%f.SECONDS_PER_DAY,y=h+d*m,p=Math.cos(y),v=Math.sin(y);return t(r)?(r[0]=p,r[1]=-v,r[2]=0,r[3]=v,r[4]=p,r[5]=0,r[6]=0,r[7]=0,r[8]=1,r):new o(p,v,0,-v,p,0,0,0,1)},p.iau2006XysData=new n,p.earthOrientationParameters=d.NONE;var b=32.184,_=2451545;p.preloadIcrfFixed=function(e){var t=e.start.getJulianDayNumber(),r=e.start.getSecondsOfDay()+b,n=e.stop.getJulianDayNumber(),a=e.stop.getSecondsOfDay()+b,i=p.iau2006XysData.preload(t,r,n,a),o=p.earthOrientationParameters.getPromiseToLoad();return y.all([i,o])},p.computeIcrfToFixedMatrix=function(e,r){var n=p.computeFixedToIcrfMatrix(e,r);return t(n)?o.transpose(n,r):void 0};var N=new a(0,0,0),R=new m(0,0,0,0,0,0),P=new o,z=new o;p.computeFixedToIcrfMatrix=function(e,r){var n=p.earthOrientationParameters.compute(e,R);if(!t(n))return void 0;var a=e.getJulianDayNumber(),s=e.getSecondsOfDay()+b,u=p.iau2006XysData.computeXysRadians(a,s,N);if(!t(u))return void 0;var l=u.x+n.xPoleOffset,c=u.y+n.yPoleOffset,h=1/(1+Math.sqrt(1-l*l-c*c)),d=P;d[0]=1-h*l*l,d[3]=-h*l*c,d[6]=l,d[1]=-h*l*c,d[4]=1-h*c*c,d[7]=c,d[2]=-l,d[5]=-c,d[8]=1-h*(l*l+c*c);var m=o.fromRotationZ(-u.s,z),y=o.multiply(d,m,P),v=e.getJulianDayNumber(),g=e.getSecondsOfDay()-e.getTaiMinusUtc()+n.ut1MinusUtc,E=v-2451545,w=g/f.SECONDS_PER_DAY,S=.779057273264+w+.00273781191135448*(E+w);S=S%1*i.TWO_PI;var C=o.fromRotationZ(S,z),x=o.multiply(y,C,P),T=Math.cos(n.xPoleWander),A=Math.cos(n.yPoleWander),O=Math.sin(n.xPoleWander),M=Math.sin(n.yPoleWander),D=a-_+s/f.SECONDS_PER_DAY;D/=36525;var I=-47e-6*D*i.RADIANS_PER_DEGREE/3600,L=Math.cos(I),F=Math.sin(I),U=z;return U[0]=T*L,U[1]=T*F,U[2]=O,U[3]=-A*F+M*O*L,U[4]=A*L+M*O*F,U[5]=-M*T,U[6]=-M*F-A*O*L,U[7]=M*L-A*O*F,U[8]=A*T,o.multiply(x,U,r)};var L=new c;return p.pointToWindowCoordinates=function(e,t,r,n){var a=L;return s.multiplyByVector(e,c.fromElements(r.x,r.y,r.z,1,a),a),c.multiplyByScalar(a,1/a.w,a),s.multiplyByVector(t,a,a),u.fromCartesian4(a,n)},p}),define("Core/AxisAlignedBoundingBox",["./defaultValue","./defined","./DeveloperError","./Cartesian3","./Intersect"],function(e,t,r,n,a){"use strict";var i=function(r,a,i){this.minimum=n.clone(e(r,n.ZERO)),this.maximum=n.clone(e(a,n.ZERO)),t(i)?i=n.clone(i):(i=n.add(this.minimum,this.maximum),n.multiplyByScalar(i,.5,i)),this.center=i};i.fromPoints=function(e,r){if(t(r)||(r=new i),!t(e)||0===e.length)return r.minimum=n.clone(n.ZERO,r.minimum),r.maximum=n.clone(n.ZERO,r.maximum),r.center=n.clone(n.ZERO,r.center),r;for(var a=e[0].x,o=e[0].y,s=e[0].z,u=e[0].x,l=e[0].y,c=e[0].z,f=e.length,h=1;f>h;h++){var d=e[h],m=d.x,y=d.y,p=d.z;a=Math.min(m,a),u=Math.max(m,u),o=Math.min(y,o),l=Math.max(y,l),s=Math.min(p,s),c=Math.max(p,c)}var v=r.minimum;v.x=a,v.y=o,v.z=s;var g=r.maximum;g.x=u,g.y=l,g.z=c;var E=n.add(v,g,r.center);return n.multiplyByScalar(E,.5,E),r},i.clone=function(e,r){return t(e)?t(r)?(r.minimum=n.clone(e.minimum,r.minimum),r.maximum=n.clone(e.maximum,r.maximum),r.center=n.clone(e.center,r.center),r):new i(e.minimum,e.maximum):void 0},i.equals=function(e,r){return e===r||t(e)&&t(r)&&n.equals(e.center,r.center)&&n.equals(e.minimum,r.minimum)&&n.equals(e.maximum,r.maximum)};var o=new n;return i.intersect=function(e,t){o=n.subtract(e.maximum,e.minimum,o);var r=n.multiplyByScalar(o,.5,o),i=r.x*Math.abs(t.x)+r.y*Math.abs(t.y)+r.z*Math.abs(t.z),s=n.dot(e.center,t)+t.w;return s-i>0?a.INSIDE:0>s+i?a.OUTSIDE:a.INTERSECTING},i.prototype.clone=function(e){return i.clone(this,e)},i.prototype.intersect=function(e){return i.intersect(this,e)},i.prototype.equals=function(e){return i.equals(this,e)},i}),define("Core/Ray",["./DeveloperError","./defaultValue","./Cartesian3"],function(e,t,r){"use strict";var n=function(e,n){n=r.clone(t(n,r.ZERO)),r.equals(n,r.ZERO)||r.normalize(n,n),this.origin=r.clone(t(e,r.ZERO)),this.direction=n};return n.prototype.getPoint=function(e,t){return t=r.multiplyByScalar(this.direction,e,t),r.add(this.origin,t,t)},n}),define("Core/EllipsoidTangentPlane",["./defaultValue","./defined","./defineProperties","./DeveloperError","./Transforms","./AxisAlignedBoundingBox","./IntersectionTests","./Cartesian2","./Cartesian3","./Ellipsoid","./Matrix4","./Ray","./Plane"],function(e,t,r,n,a,i,o,s,u,l,c,f,h){"use strict";var d=function(t,r){r=e(r,l.WGS84),t=r.scaleToGeodeticSurface(t);var n=a.eastNorthUpToFixedFrame(t,r);this._ellipsoid=r,this._origin=u.clone(t),this._xAxis=u.fromCartesian4(c.getColumn(n,0)),this._yAxis=u.fromCartesian4(c.getColumn(n,1));var i=u.fromCartesian4(c.getColumn(n,2));this._plane=h.fromPointNormal(t,i)};r(d.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},origin:{get:function(){return this._origin}}});var m=new i;d.fromPoints=function(e,t){var r=i.fromPoints(e,m);return new d(r.center,t)};var y=new f,p=new u;d.prototype.projectPointOntoPlane=function(e,r){var n=y;n.origin=e,u.normalize(e,n.direction);var a=o.rayPlane(n,this._plane,p);if(t(a)||(u.negate(n.direction,n.direction),a=o.rayPlane(n,this._plane,p)),t(a)){var i=u.subtract(a,this._origin,a),l=u.dot(this._xAxis,i),c=u.dot(this._yAxis,i);return t(r)?(r.x=l,r.y=c,r):new s(l,c)}return void 0},d.prototype.projectPointsOntoPlane=function(e,r){t(r)||(r=[]);for(var n=0,a=e.length,i=0;a>i;i++){var o=this.projectPointOntoPlane(e[i],r[n]);t(o)&&(r[n]=o,n++)}return r.length=n,r};var v=new u;return d.prototype.projectPointsOntoEllipsoid=function(e,r){var n=e.length;t(r)?r.length=n:r=new Array(n);for(var a=this._ellipsoid,i=this._origin,o=this._xAxis,s=this._yAxis,l=v,c=0;n>c;++c){var f=e[c];u.multiplyByScalar(o,f.x,l);var h=r[c]=u.add(i,l,r[c]);u.multiplyByScalar(s,f.y,l),u.add(h,l,h),a.scaleToGeocentricSurface(h,h)}return r},d}),define("Core/Quaternion",["./Cartesian3","./defaultValue","./defined","./DeveloperError","./FeatureDetection","./freezeObject","./Math","./Matrix3"],function(e,t,r,n,a,i,o,s){"use strict";var u,l=function(e,r,n,a){this.x=t(e,0),this.y=t(r,0),this.z=t(n,0),this.w=t(a,0)};l.fromAxisAngle=function(t,n,a){var i=n/2,o=Math.sin(i);u=e.normalize(t,u);var s=u.x*o,c=u.y*o,f=u.z*o,h=Math.cos(i);return r(a)?(a.x=s,a.y=c,a.z=f,a.w=h,a):new l(s,c,f,h)};var c=[1,2,0],f=new Array(3);l.fromRotationMatrix=function(e,t){var n,a,i,o,u,h=e[s.COLUMN0ROW0],d=e[s.COLUMN1ROW1],m=e[s.COLUMN2ROW2],y=h+d+m;if(y>0)n=Math.sqrt(y+1),u=.5*n,n=.5/n,a=(e[s.COLUMN1ROW2]-e[s.COLUMN2ROW1])*n,i=(e[s.COLUMN2ROW0]-e[s.COLUMN0ROW2])*n,o=(e[s.COLUMN0ROW1]-e[s.COLUMN1ROW0])*n;else{var p=c,v=0;d>h&&(v=1),m>h&&m>d&&(v=2);var g=p[v],E=p[g];n=Math.sqrt(e[s.getElementIndex(v,v)]-e[s.getElementIndex(g,g)]-e[s.getElementIndex(E,E)]+1);var w=f;w[v]=.5*n,n=.5/n,u=(e[s.getElementIndex(E,g)]-e[s.getElementIndex(g,E)])*n,w[g]=(e[s.getElementIndex(g,v)]+e[s.getElementIndex(v,g)])*n,w[E]=(e[s.getElementIndex(E,v)]+e[s.getElementIndex(v,E)])*n,a=-w[0],i=-w[1],o=-w[2]}return r(t)?(t.x=a,t.y=i,t.z=o,t.w=u,t):new l(a,i,o,u)};var h=new e,d=new e,m=new l,y=new l,p=new l;l.packedLength=4,l.pack=function(e,r,n){n=t(n,0),r[n++]=e.x,r[n++]=e.y,r[n++]=e.z,r[n]=e.w},l.unpack=function(e,n,a){return n=t(n,0),r(a)||(a=new l),a.x=e[n],a.y=e[n+1],a.z=e[n+2],a.w=e[n+3],a},l.packedInterpolationLength=3,l.convertPackedArrayForInterpolation=function(e,t,r,n){l.unpack(e,4*r,p),l.conjugate(p,p);for(var a=0,i=r-t+1;i>a;a++){var o=3*a;l.unpack(e,4*(t+a),m),l.multiply(m,p,m),m.w<0&&l.negate(m,m),l.getAxis(m,h);var s=l.getAngle(m);n[o]=h.x*s,n[o+1]=h.y*s,n[o+2]=h.z*s}},l.unpackInterpolationResult=function(t,n,a,i,o){r(o)||(o=new l),e.fromArray(t,0,d);var s=e.magnitude(d);return l.unpack(n,4*i,y),0===s?l.clone(l.IDENTITY,m):l.fromAxisAngle(d,s,m),l.multiply(m,y,o)},l.clone=function(e,t){return r(e)?r(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t):new l(e.x,e.y,e.z,e.w):void 0},l.conjugate=function(e,t){return r(t)?(t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=e.w,t):new l(-e.x,-e.y,-e.z,e.w)},l.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w},l.magnitude=function(e){return Math.sqrt(l.magnitudeSquared(e))},l.normalize=function(e,t){var n=1/l.magnitude(e),a=e.x*n,i=e.y*n,o=e.z*n,s=e.w*n;return r(t)?(t.x=a,t.y=i,t.z=o,t.w=s,t):new l(a,i,o,s)},l.inverse=function(e,t){var r=l.magnitudeSquared(e);return t=l.conjugate(e,t),l.multiplyByScalar(t,1/r,t)},l.add=function(e,t,n){return r(n)?(n.x=e.x+t.x,n.y=e.y+t.y,n.z=e.z+t.z,n.w=e.w+t.w,n):new l(e.x+t.x,e.y+t.y,e.z+t.z,e.w+t.w)},l.subtract=function(e,t,n){return r(n)?(n.x=e.x-t.x,n.y=e.y-t.y,n.z=e.z-t.z,n.w=e.w-t.w,n):new l(e.x-t.x,e.y-t.y,e.z-t.z,e.w-t.w)},l.negate=function(e,t){return r(t)?(t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=-e.w,t):new l(-e.x,-e.y,-e.z,-e.w)},l.dot=function(e,t){return e.x*t.x+e.y*t.y+e.z*t.z+e.w*t.w},l.multiply=function(e,t,n){var a=e.x,i=e.y,o=e.z,s=e.w,u=t.x,c=t.y,f=t.z,h=t.w,d=s*u+a*h+i*f-o*c,m=s*c-a*f+i*h+o*u,y=s*f+a*c-i*u+o*h,p=s*h-a*u-i*c-o*f;return r(n)?(n.x=d,n.y=m,n.z=y,n.w=p,n):new l(d,m,y,p)},l.multiplyByScalar=function(e,t,n){return r(n)?(n.x=e.x*t,n.y=e.y*t,n.z=e.z*t,n.w=e.w*t,n):new l(e.x*t,e.y*t,e.z*t,e.w*t)},l.divideByScalar=function(e,t,n){return r(n)?(n.x=e.x/t,n.y=e.y/t,n.z=e.z/t,n.w=e.w/t,n):new l(e.x/t,e.y/t,e.z/t,e.w/t)},l.getAxis=function(t,n){var a=t.w;if(Math.abs(a-1)a&&(a=-a,i=g=l.negate(t,g)),1-a_;++_){var N=_+1,R=2*N+1;M[_]=1/(N*R),D[_]=N/R}return M[7]=O/136,D[7]=8*O/17,l.fastSlerp=function(e,t,n,a){r(a)||(a=new l);var i,o=l.dot(e,t);o>=0?i=1:(i=-1,o=-o);for(var s=o-1,u=1-n,c=n*n,f=u*u,h=7;h>=0;--h)I[h]=(M[h]*c-D[h])*s,b[h]=(M[h]*f-D[h])*s;var d=i*n*(1+I[0]*(1+I[1]*(1+I[2]*(1+I[3]*(1+I[4]*(1+I[5]*(1+I[6]*(1+I[7])))))))),m=u*(1+b[0]*(1+b[1]*(1+b[2]*(1+b[3]*(1+b[4]*(1+b[5]*(1+b[6]*(1+b[7])))))))),y=l.multiplyByScalar(e,m,A);return l.multiplyByScalar(t,d,a),l.add(y,a,a)},l.fastSquad=function(e,t,r,n,a,i){var o=l.fastSlerp(e,t,a,x),s=l.fastSlerp(r,n,a,T);return l.fastSlerp(o,s,2*a*(1-a),i)},l.equals=function(e,t){return e===t||r(e)&&r(t)&&e.x===t.x&&e.y===t.y&&e.z===t.z&&e.w===t.w},l.equalsEpsilon=function(e,t,n){return e===t||r(e)&&r(t)&&Math.abs(e.x-t.x)<=n&&Math.abs(e.y-t.y)<=n&&Math.abs(e.z-t.z)<=n&&Math.abs(e.w-t.w)<=n},l.ZERO=i(new l(0,0,0,0)),l.IDENTITY=i(new l(0,0,0,1)),l.prototype.clone=function(e){return l.clone(this,e)},l.prototype.equals=function(e){return l.equals(this,e)},l.prototype.equalsEpsilon=function(e,t){return l.equalsEpsilon(this,e,t)},l.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+", "+this.w+")"},l}),define("Core/PolylineVolumeGeometryLibrary",["./Cartesian2","./Cartesian3","./Cartesian4","./Cartographic","./CornerType","./EllipsoidTangentPlane","./Math","./Matrix3","./Matrix4","./PolylinePipeline","./Quaternion","./Transforms"],function(e,t,r,n,a,i,o,s,u,l,c,f){"use strict";function h(e,t){for(var r=new Array(e.length),n=0;ni;i++)c[i]=r;return c.push(n),c}var f=n-r,h=f/l;for(i=1;l>i;i++){var d=r+i*h;c[i]=d}return c[0]=r,c.push(n),c}function m(r,n,a,o){var s=new i(a,o),u=s.projectPointOntoPlane(t.add(a,r,k),k),l=s.projectPointOntoPlane(t.add(a,n,Z),Z),c=e.angleBetween(u,l);return l.x*u.y-l.y*u.x>=0?-c:c}function y(e,r,n,a,i,o,l,c){var h=q,d=G;L=f.eastNorthUpToFixedFrame(e,i,L),h=u.multiplyByPointAsVector(L,z,h),h=t.normalize(h,h);var y=m(h,r,e,i);U=s.fromRotationZ(y,U),W.z=o,L=u.multiplyTransformation(L,u.fromRotationTranslation(U,W,F),L);var p=B;p[0]=l;for(var v=0;c>v;v++)for(var g=0;gu;u++){s=e[u];var l=s.x-i,c=s.y-o;n[a++]=l,n[a++]=0,n[a++]=c,n[a++]=l,n[a++]=0,n[a++]=c}return s=e[0],n[a++]=s.x-i,n[a++]=0,n[a++]=s.y-o,n}function g(e,t){for(var r=e.length,n=new Array(3*r),a=0,i=t.x+t.width/2,o=t.y+t.height/2,s=0;r>s;s++)n[a++]=e[s].x-i,n[a++]=0,n[a++]=e[s].y-o;return n}function E(e,r,n,i,u,l,f,h,d,m){var p,v=t.angleBetween(t.subtract(r,e,_),t.subtract(n,e,N)),g=i.value===a.BEVELED.value?0:Math.ceil(v/o.toRadians(5));p=u?s.fromQuaternion(c.fromAxisAngle(t.negate(e,_),v/(g+1),V),j):s.fromQuaternion(c.fromAxisAngle(e,v/(g+1),V),j);var E,w;if(r=t.clone(r,H),g>0)for(var S=m?2:1,C=0;g>C;C++)r=s.multiplyByVector(p,r,r),E=t.subtract(r,e,_),E=t.normalize(E,E),u||(E=t.negate(E,E)),w=l.scaleToGeodeticSurface(r,N),f=y(w,E,h,f,l,d,1,S);else E=t.subtract(r,e,_),E=t.normalize(E,E),u||(E=t.negate(E,E)),w=l.scaleToGeodeticSurface(r,N),f=y(w,E,h,f,l,d,1,1),n=t.clone(n,H),E=t.subtract(n,e,_),E=t.normalize(E,E),u||(E=t.negate(E,E)),w=l.scaleToGeodeticSurface(n,N),f=y(w,E,h,f,l,d,1,1);return f}function w(e,t){return o.equalsEpsilon(e.latitude,t.latitude,o.EPSILON6)&&o.equalsEpsilon(e.longitude,t.longitude,o.EPSILON6)}var S=[new t,new t],C=new t,x=new t,T=new t,A=new t,O=new t,M=new t,D=new t,I=new t,b=new t,_=new t,N=new t,R={},P=new n,z=new t(-1,0,0),L=new u,F=new u,U=new s,B=s.IDENTITY.clone(),q=new t,G=new r,W=new t,Y=new t,V=new c,H=new t,j=new s;R.removeDuplicatesFromShape=function(t){for(var r=t.length,n=[],a=r-1,i=0;r>i;a=i++){var o=t[a],s=t[i];e.equals(o,s)||n.push(s)}return n};var k=new t,Z=new t;R.angleIsGreaterThanPi=function(e,r,n,a){var o=new i(n,a),s=o.projectPointOntoPlane(t.add(n,e,k),k),u=o.projectPointOntoPlane(t.add(n,r,Z),Z);return u.x*s.y-u.y*s.x>=0};var K=new n,J=new n;return R.removeDuplicatesFromPositions=function(e,t){var r=e.length;if(2>r)return e.slice(0);var n=[];n.push(e[0]);for(var a=1;r>a;++a){var i=e[a-1],o=e[a],s=t.cartesianToCartographic(i,K),u=t.cartesianToCartographic(o,J);w(s,u)||n.push(o)}return n},R.computePositions=function(e,r,n,i,s){var u=i._ellipsoid,c=h(e,u),f=i._granularity,m=i._cornerType,w=s?v(r,n):g(r,n),N=s?g(r,n):void 0,P=n.height/2,z=n.width/2,L=e.length,F=[],U=s?[]:void 0,B=C,q=x,G=T,W=A,Y=O,V=M,H=D,j=I,k=b,Z=e[0],K=e[1];W=u.geodeticSurfaceNormal(Z,W),B=t.subtract(K,Z,B),B=t.normalize(B,B),j=t.cross(W,B,j),j=t.normalize(j,j);var J=c[0],X=c[1];s&&(U=y(Z,j,N,U,u,J+P,1,1)),k=t.clone(Z,k),Z=K,q=t.negate(B,q);for(var Q,$,et=1;L-1>et;et++){var tt=s?2:1;K=e[et+1],B=t.subtract(K,Z,B),B=t.normalize(B,B),G=t.add(B,q,G),G=t.normalize(G,G),W=u.geodeticSurfaceNormal(Z,W);var rt=!t.equalsEpsilon(t.negate(G,_),W,o.EPSILON2);if(rt){G=t.cross(G,W,G),G=t.cross(W,G,G),G=t.normalize(G,G);var nt=1/Math.max(.25,t.magnitude(t.cross(G,q,_))),at=R.angleIsGreaterThanPi(B,q,Z,u);at?(Y=t.add(Z,t.multiplyByScalar(G,nt*z,G),Y),V=t.add(Y,t.multiplyByScalar(j,z,V),V),S[0]=t.clone(k,S[0]),S[1]=t.clone(V,S[1]),Q=d(S,J+P,X+P,f),$=l.scaleToSurface(S),F=p($,j,w,F,u,Q,1),j=t.cross(W,B,j),j=t.normalize(j,j),H=t.add(Y,t.multiplyByScalar(j,z,H),H),m.value===a.ROUNDED.value||m.value===a.BEVELED.value?E(Y,V,H,m,at,u,F,w,X+P,s):(G=t.negate(G,G),F=y(Z,G,w,F,u,X+P,nt,tt)),k=t.clone(H,k)):(Y=t.add(Z,t.multiplyByScalar(G,nt*z,G),Y),V=t.add(Y,t.multiplyByScalar(j,-z,V),V),S[0]=t.clone(k,S[0]),S[1]=t.clone(V,S[1]),Q=d(S,J+P,X+P,f),$=l.scaleToSurface(S,f,u),F=p($,j,w,F,u,Q,1),j=t.cross(W,B,j),j=t.normalize(j,j),H=t.add(Y,t.multiplyByScalar(j,-z,H),H),m.value===a.ROUNDED.value||m.value===a.BEVELED.value?E(Y,V,H,m,at,u,F,w,X+P,s):F=y(Z,G,w,F,u,X+P,nt,tt),k=t.clone(H,k)),q=t.negate(B,q)}else F=y(k,j,w,F,u,J+P,1,1),k=Z;J=X,X=c[et+1],Z=K}S[0]=t.clone(k,S[0]),S[1]=t.clone(Z,S[1]),Q=d(S,J+P,X+P,f),$=l.scaleToSurface(S,f,u),F=p($,j,w,F,u,Q,1),s&&(U=y(Z,j,N,U,u,X+P,1,1)),L=F.length;var it=s?L+U.length:L,ot=new Float64Array(it);return ot.set(F),s&&ot.set(U,L),ot},R}),define("Core/CorridorGeometryLibrary",["./defined","./Cartesian3","./CornerType","./PolylinePipeline","./PolylineVolumeGeometryLibrary","./Matrix3","./Quaternion","./Math"],function(e,t,r,n,a,i,o,s){"use strict";function u(e,n,a,u,l){var c=t.angleBetween(t.subtract(n,e,m),t.subtract(a,e,y)),f=u.value===r.BEVELED.value?1:Math.ceil(c/s.toRadians(5))+1,h=3*f,d=new Array(h);d[h-3]=a.x,d[h-2]=a.y,d[h-1]=a.z;var p;p=l?i.fromQuaternion(o.fromAxisAngle(t.negate(e,m),c/f,I),b):i.fromQuaternion(o.fromAxisAngle(e,c/f,I),b);var v=0;n=t.clone(n,m);for(var g=0;f>g;g++)n=i.multiplyByVector(p,n,n),d[v++]=n.x,d[v++]=n.y,d[v++]=n.z;return d}function l(e){var n=E,a=w,i=S,o=e[1];a=t.fromArray(e[1],o.length-3,a),i=t.fromArray(e[0],0,i),n=t.multiplyByScalar(t.add(a,i,n),.5,n);var s=u(n,a,i,r.ROUNDED,!1),l=e.length-1,c=e[l-1];o=e[l],a=t.fromArray(c,c.length-3,a),i=t.fromArray(o,0,i),n=t.multiplyByScalar(t.add(a,i,n),.5,n);var f=u(n,a,i,r.ROUNDED,!1);return[s,f]}function c(e,r,n,a){var i=m;return a?i=t.add(e,r,i):(r=t.negate(r,r),i=t.add(e,r,i)),[i.x,i.y,i.z,n.x,n.y,n.z]}function f(e,r,n,a){for(var i=new Array(e.length),o=new Array(e.length),s=t.multiplyByScalar(r,n,m),u=t.negate(s,y),l=0,c=e.length-1,f=0;fH;H++){I=d.geodeticSurfaceNormal(W,I),Y=o[H+1],b=t.normalize(t.subtract(Y,W,b),b),R=t.normalize(t.add(b,_,R),R);var Z=!t.equalsEpsilon(t.negate(R,m),I,s.EPSILON2);if(Z){R=t.cross(R,I,R),R=t.cross(I,R,R);var K=y/Math.max(.25,t.magnitude(t.cross(R,_,m))),J=a.angleIsGreaterThanPi(b,_,W,d);R=t.multiplyByScalar(R,K,R),J?(L=t.add(W,R,L),U=t.add(L,t.multiplyByScalar(N,y,U),U),F=t.add(L,t.multiplyByScalar(N,2*y,F),F),g[0]=t.clone(z,g[0]),g[1]=t.clone(U,g[1]),V=n.scaleToSurface(g,i,d),B=f(V,N,y,B),v&&(q.push(N.x,N.y,N.z),G.push(I.x,I.y,I.z)),P=t.clone(F,P),N=t.normalize(t.cross(I,b,N),N),F=t.add(L,t.multiplyByScalar(N,2*y,F),F),z=t.add(L,t.multiplyByScalar(N,y,z),z),p.value===r.ROUNDED.value||p.value===r.BEVELED.value?j.push({leftPositions:u(L,P,F,p,J)}):j.push({leftPositions:c(W,t.negate(R,R),F,J)})):(F=t.add(W,R,F),U=t.add(F,t.negate(t.multiplyByScalar(N,y,U),U),U),L=t.add(F,t.negate(t.multiplyByScalar(N,2*y,L),L),L),g[0]=t.clone(z,g[0]),g[1]=t.clone(U,g[1]),V=n.scaleToSurface(g,i,d),B=f(V,N,y,B),v&&(q.push(N.x,N.y,N.z),G.push(I.x,I.y,I.z)),P=t.clone(L,P),N=t.normalize(t.cross(I,b,N),N),L=t.add(F,t.negate(t.multiplyByScalar(N,2*y,L),L),L),z=t.add(F,t.negate(t.multiplyByScalar(N,y,z),z),z),p.value===r.ROUNDED.value||p.value===r.BEVELED.value?j.push({rightPositions:u(F,P,L,p,J)}):j.push({rightPositions:c(W,R,L,J)})),_=t.negate(b,_)}W=Y}I=d.geodeticSurfaceNormal(W,I),g[0]=t.clone(z,g[0]),g[1]=t.clone(W,g[1]),V=n.scaleToSurface(g,i,d),B=f(V,N,y,B),v&&(q.push(N.x,N.y,N.z),G.push(I.x,I.y,I.z));var X;return p.value===r.ROUNDED.value&&(X=l(B)),{positions:B,corners:j,lefts:q,normals:G,endPositions:X}},d}),define("Core/Geometry",["./defaultValue","./defined","./DeveloperError"],function(e,t,r){"use strict";var n=function(t){t=e(t,e.EMPTY_OBJECT),this.attributes=t.attributes,this.indices=t.indices,this.primitiveType=t.primitiveType,this.boundingSphere=t.boundingSphere};return n.computeNumberOfVertices=function(e){var n=-1;for(var a in e.attributes)if(e.attributes.hasOwnProperty(a)&&t(e.attributes[a])&&t(e.attributes[a].values)){var i=e.attributes[a],o=i.values.length/i.componentsPerAttribute;if(n!==o&&-1!==n)throw new r("All attribute lists must have the same number of attributes.");n=o}return n},n}),define("Core/GeometryAttribute",["./defaultValue","./defined","./DeveloperError"],function(e){"use strict";var t=function(t){t=e(t,e.EMPTY_OBJECT),this.componentDatatype=t.componentDatatype,this.componentsPerAttribute=t.componentsPerAttribute,this.normalize=e(t.normalize,!1),this.values=t.values};return t}),define("Core/GeometryAttributes",["./defaultValue"],function(e){"use strict";var t=function(t){t=e(t,e.EMPTY_OBJECT),this.position=t.position,this.normal=t.normal,this.st=t.st,this.binormal=t.binormal,this.tangent=t.tangent,this.color=t.color};return t}),define("Core/IndexDatatype",["./defined","./DeveloperError","./Math"],function(e,t,r){"use strict";var n={UNSIGNED_BYTE:5121,UNSIGNED_SHORT:5123,UNSIGNED_INT:5125};return n.getSizeInBytes=function(e){switch(e){case n.UNSIGNED_BYTE:return Uint8Array.BYTES_PER_ELEMENT;case n.UNSIGNED_SHORT:return Uint16Array.BYTES_PER_ELEMENT;case n.UNSIGNED_INT:return Uint32Array.BYTES_PER_ELEMENT}},n.validate=function(t){return e(t)&&(t===n.UNSIGNED_BYTE||t===n.UNSIGNED_SHORT||t===n.UNSIGNED_INT)},n.createTypedArray=function(e,t){return e>r.SIXTY_FOUR_KILOBYTES?new Uint32Array(t):new Uint16Array(t)},n}),define("Core/PrimitiveType",[],function(){"use strict";var e={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,validate:function(t){return t===e.POINTS||t===e.LINES||t===e.LINE_LOOP||t===e.LINE_STRIP||t===e.TRIANGLES||t===e.TRIANGLE_STRIP||t===e.TRIANGLE_FAN}};return e}),define("Core/CorridorOutlineGeometry",["./BoundingSphere","./Cartesian3","./ComponentDatatype","./CornerType","./CorridorGeometryLibrary","./defaultValue","./defined","./DeveloperError","./Ellipsoid","./Geometry","./GeometryAttribute","./GeometryAttributes","./IndexDatatype","./Math","./PolylinePipeline","./PrimitiveType"],function(e,t,r,n,a,i,o,s,u,l,c,f,h,d,m,y){"use strict";function p(e,i){var s,u,l,d=[],m=e.positions,y=e.corners,p=e.endPositions,v=new f,S=0,C=0,x=0;for(u=0;uu;u++)N=t.fromArray(q,3*(F-1-u),N),_=t.fromArray(q,3*(F+u),_),a.addAttribute(P,_,z),a.addAttribute(P,N,void 0,L),D=z/3,b=D+1,M=(L-2)/3,I=M-1,U[B++]=M,U[B++]=I,U[B++]=D,U[B++]=b,z+=3,L-=3}var G=0,W=m[G++],Y=m[G++];for(P.set(W,z),P.set(Y,L-Y.length+1),l=Y.length-3,d.push(z/3,(L-2)/3),u=0;l>u;u+=3)D=z/3,b=D+1,M=(L-2)/3,I=M-1,U[B++]=M,U[B++]=I,U[B++]=D,U[B++]=b,z+=3,L-=3;for(u=0;uu;u++)N=t.fromArray(K,3*(A-u-1),N),_=t.fromArray(K,3*u,_),a.addAttribute(P,N,void 0,L),a.addAttribute(P,_,z),b=z/3,D=b-1,I=(L-2)/3,M=I+1,U[B++]=M,U[B++]=I,U[B++]=D,U[B++]=b,z+=3,L-=3;d.push(z/3)}else d.push(z/3,(L-2)/3);return U[B++]=z/3,U[B++]=(L-2)/3,v.position=new c({componentDatatype:r.DOUBLE,componentsPerAttribute:3,values:P}),{attributes:v,indices:U,wallIndices:d}}function v(e){var t=e.ellipsoid,r=a.computePositions(e),n=p(r,e.cornerType),i=n.wallIndices,o=e.height,s=e.extrudedHeight,u=n.attributes,l=n.indices,c=u.position.values,f=c.length,d=new Float64Array(f);d.set(c);var y=new Float64Array(2*f);c=m.scaleToGeodeticHeight(c,o,t,c),d=m.scaleToGeodeticHeight(d,s,t,d),y.set(c),y.set(d,f),u.position.values=y,f/=3;var v,g=l.length,E=h.createTypedArray(y.length/3,2*(g+i.length));E.set(l);var w=g;for(v=0;g>v;v+=2){var S=l[v],C=l[v+1];E[w++]=S+f,E[w++]=C+f}var x,T;for(v=0;vr&&(r+=1),r>1&&(r-=1),1>6*r?e+6*(t-e)*r:1>2*r?t:2>3*r?e+6*(t-e)*(2/3-r):e}var s=function(t,r,n,a){this.red=e(t,1),this.green=e(r,1),this.blue=e(n,1),this.alpha=e(a,1)};s.fromBytes=function(t,r,n,a){return t=s.byteToFloat(e(t,255)),r=s.byteToFloat(e(r,255)),n=s.byteToFloat(e(n,255)),a=s.byteToFloat(e(a,255)),new s(t,r,n,a)};var u,l,c;a.supportsTypedArrays()&&(u=new ArrayBuffer(4),l=new Uint32Array(u),c=new Uint8Array(u)),s.fromRgba=function(e){return l[0]=e,s.fromBytes(c[0],c[1],c[2],c[3])},s.fromHsl=function(t,r,n,a){t=e(t,0)%1,r=e(r,0),n=e(n,0),a=e(a,1);var i=n,u=n,l=n;if(0!==r){var c;c=.5>n?n*(1+r):n+r-n*r;var f=2*n-c;i=o(f,c,t+1/3),u=o(f,c,t),l=o(f,c,t-1/3)}return new s(i,u,l,a)},s.fromRandom=function(r,n){r=e(r,e.EMPTY_OBJECT);var a=r.red;if(!t(a)){var o=e(r.minimumRed,0),u=e(r.maximumRed,1);a=o+i.nextRandomNumber()*(u-o)}var l=r.green;if(!t(l)){var c=e(r.minimumGreen,0),f=e(r.maximumGreen,1);l=c+i.nextRandomNumber()*(f-c)}var h=r.blue;if(!t(h)){var d=e(r.minimumBlue,0),m=e(r.maximumBlue,1);h=d+i.nextRandomNumber()*(m-d)}var y=r.alpha;if(!t(y)){var p=e(r.minimumAlpha,0),v=e(r.maximumAlpha,1);y=p+i.nextRandomNumber()*(v-p)}return t(n)?(n.red=a,n.green=l,n.blue=h,n.alpha=y,n):new s(a,l,h,y)};var f=/^#([0-9a-f])([0-9a-f])([0-9a-f])$/i,h=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i,d=/^rgba?\(\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)(?:\s*,\s*([0-9.]+))?\s*\)$/i,m=/^hsla?\(\s*([0-9.]+)\s*,\s*([0-9.]+%)\s*,\s*([0-9.]+%)(?:\s*,\s*([0-9.]+))?\s*\)$/i; +return s.fromCssColorString=function(r){var n=s[r.toUpperCase()];if(t(n))return s.clone(n);var a=f.exec(r);return null!==a?new s(parseInt(a[1],16)/15,parseInt(a[2],16)/15,parseInt(a[3],16)/15):(a=h.exec(r),null!==a?new s(parseInt(a[1],16)/255,parseInt(a[2],16)/255,parseInt(a[3],16)/255):(a=d.exec(r),null!==a?new s(parseFloat(a[1])/("%"===a[1].substr(-1)?100:255),parseFloat(a[2])/("%"===a[2].substr(-1)?100:255),parseFloat(a[3])/("%"===a[3].substr(-1)?100:255),parseFloat(e(a[4],"1.0"))):(a=m.exec(r),null!==a?s.fromHsl(parseFloat(a[1])/360,parseFloat(a[2])/100,parseFloat(a[3])/100,parseFloat(e(a[4],"1.0"))):void 0)))},s.packedLength=4,s.pack=function(t,r,n){n=e(n,0),r[n++]=t.red,r[n++]=t.green,r[n++]=t.blue,r[n]=t.alpha},s.unpack=function(r,n,a){return n=e(n,0),t(a)||(a=new s),a.red=r[n++],a.green=r[n++],a.blue=r[n++],a.alpha=r[n],a},s.byteToFloat=function(e){return e/255},s.floatToByte=function(e){return 1===e?255:0|256*e},s.clone=function(e,r){return t(e)?t(r)?(r.red=e.red,r.green=e.green,r.blue=e.blue,r.alpha=e.alpha,r):new s(e.red,e.green,e.blue,e.alpha):void 0},s.equals=function(e,r){return e===r||t(e)&&t(r)&&e.red===r.red&&e.green===r.green&&e.blue===r.blue&&e.alpha===r.alpha},s.prototype.clone=function(e){return s.clone(this,e)},s.prototype.equals=function(e){return s.equals(this,e)},s.prototype.equalsEpsilon=function(e,r){return this===e||t(e)&&Math.abs(this.red-e.red)<=r&&Math.abs(this.green-e.green)<=r&&Math.abs(this.blue-e.blue)<=r&&Math.abs(this.alpha-e.alpha)<=r},s.prototype.toString=function(){return"("+this.red+", "+this.green+", "+this.blue+", "+this.alpha+")"},s.prototype.toCssColorString=function(){var e=s.floatToByte(this.red),t=s.floatToByte(this.green),r=s.floatToByte(this.blue);return 1===this.alpha?"rgb("+e+","+t+","+r+")":"rgba("+e+","+t+","+r+","+this.alpha+")"},s.prototype.toBytes=function(e){var r=s.floatToByte(this.red),n=s.floatToByte(this.green),a=s.floatToByte(this.blue),i=s.floatToByte(this.alpha);return t(e)?(e[0]=r,e[1]=n,e[2]=a,e[3]=i,e):[r,n,a,i]},s.prototype.toRgba=function(){return c[0]=s.floatToByte(this.red),c[1]=s.floatToByte(this.green),c[2]=s.floatToByte(this.blue),c[3]=s.floatToByte(this.alpha),l[0]},s.ALICEBLUE=r(s.fromCssColorString("#F0F8FF")),s.ANTIQUEWHITE=r(s.fromCssColorString("#FAEBD7")),s.AQUA=r(s.fromCssColorString("#00FFFF")),s.AQUAMARINE=r(s.fromCssColorString("#7FFFD4")),s.AZURE=r(s.fromCssColorString("#F0FFFF")),s.BEIGE=r(s.fromCssColorString("#F5F5DC")),s.BISQUE=r(s.fromCssColorString("#FFE4C4")),s.BLACK=r(s.fromCssColorString("#000000")),s.BLANCHEDALMOND=r(s.fromCssColorString("#FFEBCD")),s.BLUE=r(s.fromCssColorString("#0000FF")),s.BLUEVIOLET=r(s.fromCssColorString("#8A2BE2")),s.BROWN=r(s.fromCssColorString("#A52A2A")),s.BURLYWOOD=r(s.fromCssColorString("#DEB887")),s.CADETBLUE=r(s.fromCssColorString("#5F9EA0")),s.CHARTREUSE=r(s.fromCssColorString("#7FFF00")),s.CHOCOLATE=r(s.fromCssColorString("#D2691E")),s.CORAL=r(s.fromCssColorString("#FF7F50")),s.CORNFLOWERBLUE=r(s.fromCssColorString("#6495ED")),s.CORNSILK=r(s.fromCssColorString("#FFF8DC")),s.CRIMSON=r(s.fromCssColorString("#DC143C")),s.CYAN=r(s.fromCssColorString("#00FFFF")),s.DARKBLUE=r(s.fromCssColorString("#00008B")),s.DARKCYAN=r(s.fromCssColorString("#008B8B")),s.DARKGOLDENROD=r(s.fromCssColorString("#B8860B")),s.DARKGRAY=r(s.fromCssColorString("#A9A9A9")),s.DARKGREEN=r(s.fromCssColorString("#006400")),s.DARKGREY=s.DARKGRAY,s.DARKKHAKI=r(s.fromCssColorString("#BDB76B")),s.DARKMAGENTA=r(s.fromCssColorString("#8B008B")),s.DARKOLIVEGREEN=r(s.fromCssColorString("#556B2F")),s.DARKORANGE=r(s.fromCssColorString("#FF8C00")),s.DARKORCHID=r(s.fromCssColorString("#9932CC")),s.DARKRED=r(s.fromCssColorString("#8B0000")),s.DARKSALMON=r(s.fromCssColorString("#E9967A")),s.DARKSEAGREEN=r(s.fromCssColorString("#8FBC8F")),s.DARKSLATEBLUE=r(s.fromCssColorString("#483D8B")),s.DARKSLATEGRAY=r(s.fromCssColorString("#2F4F4F")),s.DARKSLATEGREY=s.DARKSLATEGRAY,s.DARKTURQUOISE=r(s.fromCssColorString("#00CED1")),s.DARKVIOLET=r(s.fromCssColorString("#9400D3")),s.DEEPPINK=r(s.fromCssColorString("#FF1493")),s.DEEPSKYBLUE=r(s.fromCssColorString("#00BFFF")),s.DIMGRAY=r(s.fromCssColorString("#696969")),s.DIMGREY=s.DIMGRAY,s.DODGERBLUE=r(s.fromCssColorString("#1E90FF")),s.FIREBRICK=r(s.fromCssColorString("#B22222")),s.FLORALWHITE=r(s.fromCssColorString("#FFFAF0")),s.FORESTGREEN=r(s.fromCssColorString("#228B22")),s.FUSCHIA=r(s.fromCssColorString("#FF00FF")),s.GAINSBORO=r(s.fromCssColorString("#DCDCDC")),s.GHOSTWHITE=r(s.fromCssColorString("#F8F8FF")),s.GOLD=r(s.fromCssColorString("#FFD700")),s.GOLDENROD=r(s.fromCssColorString("#DAA520")),s.GRAY=r(s.fromCssColorString("#808080")),s.GREEN=r(s.fromCssColorString("#008000")),s.GREENYELLOW=r(s.fromCssColorString("#ADFF2F")),s.GREY=s.GRAY,s.HONEYDEW=r(s.fromCssColorString("#F0FFF0")),s.HOTPINK=r(s.fromCssColorString("#FF69B4")),s.INDIANRED=r(s.fromCssColorString("#CD5C5C")),s.INDIGO=r(s.fromCssColorString("#4B0082")),s.IVORY=r(s.fromCssColorString("#FFFFF0")),s.KHAKI=r(s.fromCssColorString("#F0E68C")),s.LAVENDER=r(s.fromCssColorString("#E6E6FA")),s.LAVENDAR_BLUSH=r(s.fromCssColorString("#FFF0F5")),s.LAWNGREEN=r(s.fromCssColorString("#7CFC00")),s.LEMONCHIFFON=r(s.fromCssColorString("#FFFACD")),s.LIGHTBLUE=r(s.fromCssColorString("#ADD8E6")),s.LIGHTCORAL=r(s.fromCssColorString("#F08080")),s.LIGHTCYAN=r(s.fromCssColorString("#E0FFFF")),s.LIGHTGOLDENRODYELLOW=r(s.fromCssColorString("#FAFAD2")),s.LIGHTGRAY=r(s.fromCssColorString("#D3D3D3")),s.LIGHTGREEN=r(s.fromCssColorString("#90EE90")),s.LIGHTGREY=s.LIGHTGRAY,s.LIGHTPINK=r(s.fromCssColorString("#FFB6C1")),s.LIGHTSEAGREEN=r(s.fromCssColorString("#20B2AA")),s.LIGHTSKYBLUE=r(s.fromCssColorString("#87CEFA")),s.LIGHTSLATEGRAY=r(s.fromCssColorString("#778899")),s.LIGHTSLATEGREY=s.LIGHTSLATEGRAY,s.LIGHTSTEELBLUE=r(s.fromCssColorString("#B0C4DE")),s.LIGHTYELLOW=r(s.fromCssColorString("#FFFFE0")),s.LIME=r(s.fromCssColorString("#00FF00")),s.LIMEGREEN=r(s.fromCssColorString("#32CD32")),s.LINEN=r(s.fromCssColorString("#FAF0E6")),s.MAGENTA=r(s.fromCssColorString("#FF00FF")),s.MAROON=r(s.fromCssColorString("#800000")),s.MEDIUMAQUAMARINE=r(s.fromCssColorString("#66CDAA")),s.MEDIUMBLUE=r(s.fromCssColorString("#0000CD")),s.MEDIUMORCHID=r(s.fromCssColorString("#BA55D3")),s.MEDIUMPURPLE=r(s.fromCssColorString("#9370DB")),s.MEDIUMSEAGREEN=r(s.fromCssColorString("#3CB371")),s.MEDIUMSLATEBLUE=r(s.fromCssColorString("#7B68EE")),s.MEDIUMSPRINGGREEN=r(s.fromCssColorString("#00FA9A")),s.MEDIUMTURQUOISE=r(s.fromCssColorString("#48D1CC")),s.MEDIUMVIOLETRED=r(s.fromCssColorString("#C71585")),s.MIDNIGHTBLUE=r(s.fromCssColorString("#191970")),s.MINTCREAM=r(s.fromCssColorString("#F5FFFA")),s.MISTYROSE=r(s.fromCssColorString("#FFE4E1")),s.MOCCASIN=r(s.fromCssColorString("#FFE4B5")),s.NAVAJOWHITE=r(s.fromCssColorString("#FFDEAD")),s.NAVY=r(s.fromCssColorString("#000080")),s.OLDLACE=r(s.fromCssColorString("#FDF5E6")),s.OLIVE=r(s.fromCssColorString("#808000")),s.OLIVEDRAB=r(s.fromCssColorString("#6B8E23")),s.ORANGE=r(s.fromCssColorString("#FFA500")),s.ORANGERED=r(s.fromCssColorString("#FF4500")),s.ORCHID=r(s.fromCssColorString("#DA70D6")),s.PALEGOLDENROD=r(s.fromCssColorString("#EEE8AA")),s.PALEGREEN=r(s.fromCssColorString("#98FB98")),s.PALETURQUOISE=r(s.fromCssColorString("#AFEEEE")),s.PALEVIOLETRED=r(s.fromCssColorString("#DB7093")),s.PAPAYAWHIP=r(s.fromCssColorString("#FFEFD5")),s.PEACHPUFF=r(s.fromCssColorString("#FFDAB9")),s.PERU=r(s.fromCssColorString("#CD853F")),s.PINK=r(s.fromCssColorString("#FFC0CB")),s.PLUM=r(s.fromCssColorString("#DDA0DD")),s.POWDERBLUE=r(s.fromCssColorString("#B0E0E6")),s.PURPLE=r(s.fromCssColorString("#800080")),s.RED=r(s.fromCssColorString("#FF0000")),s.ROSYBROWN=r(s.fromCssColorString("#BC8F8F")),s.ROYALBLUE=r(s.fromCssColorString("#4169E1")),s.SADDLEBROWN=r(s.fromCssColorString("#8B4513")),s.SALMON=r(s.fromCssColorString("#FA8072")),s.SANDYBROWN=r(s.fromCssColorString("#F4A460")),s.SEAGREEN=r(s.fromCssColorString("#2E8B57")),s.SEASHELL=r(s.fromCssColorString("#FFF5EE")),s.SIENNA=r(s.fromCssColorString("#A0522D")),s.SILVER=r(s.fromCssColorString("#C0C0C0")),s.SKYBLUE=r(s.fromCssColorString("#87CEEB")),s.SLATEBLUE=r(s.fromCssColorString("#6A5ACD")),s.SLATEGRAY=r(s.fromCssColorString("#708090")),s.SLATEGREY=s.SLATEGRAY,s.SNOW=r(s.fromCssColorString("#FFFAFA")),s.SPRINGGREEN=r(s.fromCssColorString("#00FF7F")),s.STEELBLUE=r(s.fromCssColorString("#4682B4")),s.TAN=r(s.fromCssColorString("#D2B48C")),s.TEAL=r(s.fromCssColorString("#008080")),s.THISTLE=r(s.fromCssColorString("#D8BFD8")),s.TOMATO=r(s.fromCssColorString("#FF6347")),s.TURQUOISE=r(s.fromCssColorString("#40E0D0")),s.VIOLET=r(s.fromCssColorString("#EE82EE")),s.WHEAT=r(s.fromCssColorString("#F5DEB3")),s.WHITE=r(s.fromCssColorString("#FFFFFF")),s.WHITESMOKE=r(s.fromCssColorString("#F5F5F5")),s.YELLOW=r(s.fromCssColorString("#FFFF00")),s.YELLOWGREEN=r(s.fromCssColorString("#9ACD32")),s}),define("Core/barycentricCoordinates",["./Cartesian2","./Cartesian3","./defined","./DeveloperError"],function(e,t,r){"use strict";var n=new t,a=new t,i=new t,o=function(o,s,u,l,c){r(c)||(c=new t);var f,h,d,m,y,p,v,g;r(s.z)?(f=t.subtract(u,s,n),h=t.subtract(l,s,a),d=t.subtract(o,s,i),m=t.dot(f,f),y=t.dot(f,h),p=t.dot(f,d),v=t.dot(h,h),g=t.dot(h,d)):(f=e.subtract(u,s,n),h=e.subtract(l,s,a),d=e.subtract(o,s,i),m=e.dot(f,f),y=e.dot(f,h),p=e.dot(f,d),v=e.dot(h,h),g=e.dot(h,d));var E=1/(m*v-y*y);return c.y=(v*p-y*g)*E,c.z=(m*g-y*p)*E,c.x=1-c.y-c.z,c};return o}),define("Core/EncodedCartesian3",["./Cartesian3","./defined","./DeveloperError"],function(e,t){"use strict";var r=function(){this.high=e.clone(e.ZERO),this.low=e.clone(e.ZERO)};r.encode=function(e,r){t(r)||(r={high:0,low:0});var n;return e>=0?(n=65536*Math.floor(e/65536),r.high=n,r.low=e-n):(n=65536*Math.floor(-e/65536),r.high=-n,r.low=e+n),r};var n={high:0,low:0};r.fromCartesian=function(e,a){t(a)||(a=new r);var i=a.high,o=a.low;return r.encode(e.x,n),i.x=n.high,o.x=n.low,r.encode(e.y,n),i.y=n.high,o.y=n.low,r.encode(e.z,n),i.z=n.high,o.z=n.low,a};var a=new r;return r.writeElements=function(e,t,n){r.fromCartesian(e,a);var i=a.high,o=a.low;t[n]=i.x,t[n+1]=i.y,t[n+2]=i.z,t[n+3]=o.x,t[n+4]=o.y,t[n+5]=o.z},r}),define("Core/Tipsify",["./defaultValue","./defined","./DeveloperError"],function(e,t){"use strict";var r={};return r.calculateACMR=function(r){r=e(r,e.EMPTY_OBJECT);var n=r.indices,a=r.maximumIndex,i=e(r.cacheSize,24),o=n.length;if(!t(a)){a=0;for(var s=0,u=n[s];o>s;)u>a&&(a=u),++s,u=n[s]}for(var l=[],c=0;a+1>c;c++)l[c]=0;for(var f=i+1,h=0;o>h;++h)f-l[n[h]]>i&&(l[n[h]]=f,++f);return(f-i+1)/(o/3)},r.tipsify=function(r){function n(e,t,r,n){for(;t.length>=1;){var a=t[t.length-1];if(t.splice(t.length-1,1),e[a].numLiveTriangles>0)return a}for(;n>i;){if(e[i].numLiveTriangles>0)return++i,i-1;++i}return-1}function a(e,t,r,a,i,o,s){for(var u,l=-1,c=-1,f=0;fc||-1===c)&&(c=u,l=h)),++f}return-1===l?n(a,o,e,s):l}r=e(r,e.EMPTY_OBJECT);var i,o=r.indices,s=r.maximumIndex,u=e(r.cacheSize,24),l=o.length,c=0,f=0,h=o[f],d=l;if(t(s))c=s+1;else{for(;d>f;)h>c&&(c=h),++f,h=o[f];if(-1===c)return 0;++c}for(var m=[],y=0;c>y;y++)m[y]={numLiveTriangles:0,timeStamp:0,vertexTriangles:[]};f=0;for(var p=0;d>f;)m[o[f]].vertexTriangles.push(p),++m[o[f]].numLiveTriangles,m[o[f+1]].vertexTriangles.push(p),++m[o[f+1]].numLiveTriangles,m[o[f+2]].vertexTriangles.push(p),++m[o[f+2]].numLiveTriangles,++p,f+=3;var v=0,g=u+1;i=1;var E,w,S=[],C=[],x=0,T=[],A=l/3,O=[];for(y=0;A>y;y++)O[y]=!1;for(var M,D;-1!==v;){S=[],w=m[v],D=w.vertexTriangles.length;for(var I=0;D>I;++I)if(p=w.vertexTriangles[I],!O[p]){O[p]=!0,f=p+p+p;for(var b=0;3>b;++b)M=o[f],S.push(M),C.push(M),T[x]=M,++x,E=m[M],--E.numLiveTriangles,g-E.timeStamp>u&&(E.timeStamp=g,++g),++f}v=a(o,u,S,m,g,C,c)}return T},r}),define("Core/GeometryPipeline",["./barycentricCoordinates","./defaultValue","./defined","./DeveloperError","./Cartesian2","./Cartesian3","./Cartesian4","./Cartographic","./EncodedCartesian3","./Intersect","./IntersectionTests","./Math","./Matrix3","./Matrix4","./Plane","./GeographicProjection","./ComponentDatatype","./IndexDatatype","./PrimitiveType","./Tipsify","./BoundingSphere","./Geometry","./GeometryAttribute"],function(e,t,r,n,a,i,o,s,u,l,c,f,h,d,m,y,p,v,g,E,w,S,C){"use strict";function x(e,t,r,n,a){e[t++]=r,e[t++]=n,e[t++]=n,e[t++]=a,e[t++]=a,e[t]=r}function T(e){for(var t=e.length,r=6*(t/3),n=v.createTypedArray(t,r),a=0,i=0;t>i;i+=3,a+=6)x(n,a,e[i],e[i+1],e[i+2]);return n}function A(e){var t=e.length;if(t>=3){var r=6*(t-2),n=v.createTypedArray(t,r);x(n,0,e[0],e[1],e[2]);for(var a=6,i=3;t>i;++i,a+=6)x(n,a,e[i-1],e[i],e[i-2]);return n}return new Uint16Array}function O(e){if(e.length>0){for(var t=e.length-1,r=6*(t-1),n=v.createTypedArray(t,r),a=e[0],i=0,o=1;t>o;++o,i+=6)x(n,i,a,e[o],e[o+1]);return n}return new Uint16Array}function M(e){var t={};for(var n in e)if(e.hasOwnProperty(n)&&r(e[n])&&r(e[n].values)){var a=e[n];t[n]=new C({componentDatatype:a.componentDatatype,componentsPerAttribute:a.componentsPerAttribute,normalize:a.normalize,values:[]})}return t}function D(e,t,n){for(var a in t)if(t.hasOwnProperty(a)&&r(t[a])&&r(t[a].values))for(var i=t[a],o=0;oo;o+=3)i.unpack(n,o,K),d.multiplyByPoint(e,K,K),i.pack(K,n,o)}function b(e,t){if(r(t))for(var n=t.values,a=n.length,o=0;a>o;o+=3)i.unpack(n,o,K),h.multiplyByVector(e,K,K),K=i.normalize(K,K),i.pack(K,n,o)}function _(e){var t,n=e.length,a={},i=e[0].geometry.attributes;for(t in i)if(i.hasOwnProperty(t)&&r(i[t])&&r(i[t].values)){for(var o=i[t],s=o.values.length,u=!0,l=1;n>l;++l){var c=e[l].geometry.attributes[t];if(!r(c)||o.componentDatatype.value!==c.componentDatatype.value||o.componentsPerAttribute!==c.componentsPerAttribute||o.normalize!==c.normalize){u=!1;break}s+=c.values.length}u&&(a[t]=new C({componentDatatype:o.componentDatatype,componentsPerAttribute:o.componentsPerAttribute,normalize:o.normalize,values:p.createTypedArray(o.componentDatatype,s)}))}return a}function N(e){if(r(e.indices))return e;for(var t=S.computeNumberOfVertices(e),n=v.createTypedArray(t,t),a=0;t>a;++a)n[a]=a;return e.indices=n,e}function R(e){var t=S.computeNumberOfVertices(e),r=v.createTypedArray(t,3*(t-2));r[0]=1,r[1]=0,r[2]=2;for(var n=3,a=3;t>a;++a)r[n++]=a-1,r[n++]=0,r[n++]=a;return e.indices=r,e.primitiveType=g.TRIANGLES,e}function P(e){var t=S.computeNumberOfVertices(e),r=v.createTypedArray(t,3*(t-2));r[0]=0,r[1]=1,r[2]=2,t>3&&(r[3]=0,r[4]=2,r[5]=3);for(var n=6,a=3;t-1>a;a+=2)r[n++]=a,r[n++]=a-1,r[n++]=a+1,t>a+2&&(r[n++]=a,r[n++]=a+1,r[n++]=a+2);return e.indices=r,e.primitiveType=g.TRIANGLES,e}function z(e){if(r(e.indices))return e;for(var t=S.computeNumberOfVertices(e),n=v.createTypedArray(t,t),a=0;t>a;++a)n[a]=a;return e.indices=n,e}function L(e){var t=S.computeNumberOfVertices(e),r=v.createTypedArray(t,2*(t-1));r[0]=0,r[1]=1;for(var n=2,a=2;t>a;++a)r[n++]=a-1,r[n++]=a;return e.indices=r,e.primitiveType=g.LINES,e}function F(e){var t=S.computeNumberOfVertices(e),r=v.createTypedArray(t,2*t);r[0]=0,r[1]=1;for(var n=2,a=2;t>a;++a)r[n++]=a-1,r[n++]=a;return r[n++]=t-1,r[n]=0,e.indices=r,e.primitiveType=g.LINES,e}function U(e){switch(e.primitiveType){case g.TRIANGLE_FAN:return R(e);case g.TRIANGLE_STRIP:return P(e);case g.TRIANGLES:return N(e);case g.LINE_STRIP:return L(e);case g.LINE_LOOP:return F(e);case g.LINES:return z(e)}return e}function B(e,t){Math.abs(e.y)=0||t.x>=0||r.x>=0)return void 0;var n=e.y<0,a=t.y<0,i=r.y<0;B(e,n),B(t,a),B(r,i);var o=0;o+=n?1:0,o+=a?1:0,o+=i?1:0;var s=ct.indices;1===o?(s[1]=3,s[2]=4,s[5]=6,s[7]=6,s[8]=5,n?(q(e,t,ot,ut),q(e,r,st,lt),s[0]=0,s[3]=1,s[4]=2,s[6]=1):a?(q(t,r,ot,ut),q(t,e,st,lt),s[0]=1,s[3]=2,s[4]=0,s[6]=2):i&&(q(r,e,ot,ut),q(r,t,st,lt),s[0]=2,s[3]=0,s[4]=1,s[6]=0)):2===o&&(s[2]=4,s[4]=4,s[5]=3,s[7]=5,s[8]=6,n?a?i||(q(r,e,ot,ut),q(r,t,st,lt),s[0]=0,s[1]=1,s[3]=0,s[6]=2):(q(t,r,ot,ut),q(t,e,st,lt),s[0]=2,s[1]=0,s[3]=2,s[6]=1):(q(e,t,ot,ut),q(e,r,st,lt),s[0]=1,s[1]=2,s[3]=1,s[6]=0));var u=ct.positions;return u[0]=e,u[1]=t,u[2]=r,ct.length=3,(1===o||2===o)&&(u[3]=ot,u[4]=st,u[5]=ut,u[6]=lt,ct.length=7),ct}function W(t,n,o,s,u,l,c,f){if(r(u)||r(l)||r(c)||r(f)){var h,d,m,y,p,v,g,E,w,S,C,x,T,A,O,M,D,I,b=s.positions,_=b[0],N=b[1],R=b[2];r(u)&&(h=i.fromArray(u,3*t),d=i.fromArray(u,3*n),m=i.fromArray(u,3*o)),r(l)&&(y=i.fromArray(l,3*t),p=i.fromArray(l,3*n),v=i.fromArray(l,3*o)),r(c)&&(g=i.fromArray(c,3*t),E=i.fromArray(c,3*n),w=i.fromArray(c,3*o)),r(f)&&(S=a.fromArray(f,2*t),C=a.fromArray(f,2*n),x=a.fromArray(f,2*o));for(var P=3;PE;E+=3){var w=l[E],C=l[E+1],x=l[E+2],T=i.fromArray(n,3*w),A=i.fromArray(n,3*C),O=i.fromArray(n,3*x),M=G(T,A,O);if(r(M))if(c[3*w+1]=M.positions[0].y,c[3*C+1]=M.positions[1].y,c[3*x+1]=M.positions[2].y,M.length>3){for(var D=c.length/3,I=0;Ib?y.push(l[E+b]):y.push(b-3+D)}for(var _=3;_h;h+=2){var d=a[h],y=a[h+1],p=i.fromArray(n,3*d),g=i.fromArray(n,3*y);if(Math.abs(p.y)c;c+=3)u[l++]=i[c],u[l++]=i[c+1],u[l++]=i[c+2],u[l++]=i[c]+o[c]*a,u[l++]=i[c+1]+o[c+1]*a,u[l++]=i[c+2]+o[c+2]*a;var f,h=e.boundingSphere;return r(h)&&(f=new w(h.center,h.radius+a)),new S({attributes:{position:new C({componentDatatype:p.DOUBLE,componentsPerAttribute:3,values:u})},primitiveType:g.LINES,boundingSphere:f})},H.createAttributeLocations=function(e){var t,n=["position","positionHigh","positionLow","position3DHigh","position3DLow","position2DHigh","position2DLow","pickColor","normal","st","binormal","tangent"],a=e.attributes,i={},o=0,s=n.length;for(t=0;s>t;++t){var u=n[t];r(a[u])&&(i[u]=o++)}for(var l in a)a.hasOwnProperty(l)&&!r(i[l])&&(i[l]=o++);return i},H.reorderForPreVertexCache=function(e){var t=S.computeNumberOfVertices(e),n=e.indices;if(r(n)){for(var a=new Int32Array(t),i=0;t>i;i++)a[i]=-1;for(var o,s=n,u=s.length,l=v.createTypedArray(t,u),c=0,f=0,h=0;u>c;)o=a[s[c]],-1!==o?l[f]=o:(o=s[c],a[o]=h,l[f]=h,++h),++c,++f;e.indices=l;var d=e.attributes;for(var m in d)if(d.hasOwnProperty(m)&&r(d[m])&&r(d[m].values)){for(var y=d[m],g=y.values,E=0,w=y.componentsPerAttribute,C=p.createTypedArray(y.componentDatatype,h*w);t>E;){var x=a[E];if(-1!==x)for(i=0;w>i;i++)C[w*x+i]=g[w*E+i];++E}y.values=C}}return e},H.reorderForPostVertexCache=function(e,t){var n=e.indices;if(e.primitiveType===g.TRIANGLES&&r(n)){for(var a=n.length,i=0,o=0;a>o;o++)n[o]>i&&(i=n[o]);e.indices=E.tipsify({indices:n,maximumIndex:i,cacheSize:t})}return e},H.fitToUnsignedShortIndices=function(e){var t=[],n=S.computeNumberOfVertices(e);if(r(e.indices)&&n>f.SIXTY_FOUR_KILOBYTES){var a,i=[],o=[],s=0,u=M(e.attributes),l=e.indices,c=l.length;e.primitiveType===g.TRIANGLES?a=3:e.primitiveType===g.LINES?a=2:e.primitiveType===g.POINTS&&(a=1);for(var h=0;c>h;h+=a){for(var d=0;a>d;++d){var m=l[h+d],y=i[m];r(y)||(y=s++,i[m]=y,D(u,e.attributes,m)),o.push(y)}s+a>f.SIXTY_FOUR_KILOBYTES&&(t.push(new S({attributes:u,indices:o,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere})),i=[],o=[],s=0,u=M(e.attributes))}0!==o.length&&t.push(new S({attributes:u,indices:o,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere}))}else t.push(e);return t};var j=new i,k=new s;H.projectTo2D=function(e,t,a,o,s){var u=e.attributes[t];s=r(s)?s:new y;for(var l=s.ellipsoid,c=u.values,f=new Float64Array(c.length),h=0,d=0;dc;++c)u.encode(i[c],Z),s[c]=Z.high,l[c]=Z.low;var f=a.componentsPerAttribute;return e.attributes[r]=new C({componentDatatype:p.FLOAT,componentsPerAttribute:f,values:s}),e.attributes[n]=new C({componentDatatype:p.FLOAT,componentsPerAttribute:f,values:l}),delete e.attributes[t],e};var K=new i,J=new d,X=new h;H.transformToWorldCoordinates=function(e){var t=e.modelMatrix;if(d.equals(t,d.IDENTITY))return e;var n=e.geometry.attributes;I(t,n.position),I(t,n.prevPosition),I(t,n.nextPosition),(r(n.normal)||r(n.binormal)||r(n.tangent))&&(d.inverse(t,J),d.transpose(J,J),d.getRotation(J,X),b(X,n.normal),b(X,n.binormal),b(X,n.tangent));var a=e.geometry.boundingSphere;return r(a)&&(e.geometry.boundingSphere=w.transform(a,t,a)),e.modelMatrix=d.clone(d.IDENTITY),e},H.combine=function(e){var t,n,a,o,s=e.length;e[0].modelMatrix;var u,l,c,f=r(e[0].geometry.indices),h=e[0].geometry.primitiveType,d=_(e);for(t in d)if(d.hasOwnProperty(t))for(u=d[t].values,o=0,n=0;s>n;++n)for(l=e[n].geometry.attributes[t].values,c=l.length,a=0;c>a;++a)u[o++]=l[a];var m;if(f){var y=0;for(n=0;s>n;++n)y+=e[n].geometry.indices.length;var p=S.computeNumberOfVertices(new S({attributes:d,primitiveType:g.POINTS})),E=v.createTypedArray(p,y),C=0,x=0;for(n=0;s>n;++n){var T=e[n].geometry.indices,A=T.length;for(o=0;A>o;++o)E[C++]=x+T[o];x+=S.computeNumberOfVertices(e[n].geometry)}m=E}var O,M=new i,D=0;for(n=0;s>n;++n){if(O=e[n].geometry.boundingSphere,!r(O)){M=void 0;break}i.add(O.center,M,M)}if(r(M))for(i.divideByScalar(M,s,M),n=0;s>n;++n){O=e[n].geometry.boundingSphere;var I=i.magnitude(i.subtract(O.center,M))+O.radius;I>D&&(D=I)}return new S({attributes:d,indices:m,primitiveType:h,boundingSphere:r(M)?new w(M,D):void 0})};var Q=new i,$=new i,et=new i,tt=new i;H.computeNormal=function(e){for(var t=e.indices,r=e.attributes,n=r.position.values,a=r.position.values.length/3,o=t.length,s=new Array(a),u=new Array(o/3),l=new Array(o),c=0;a>c;c++)s[c]={indexOffset:0,count:0,currentCount:0};var f=0;for(c=0;o>c;c+=3){var h=t[c],d=t[c+1],m=t[c+2],y=3*h,v=3*d,g=3*m;$.x=n[y],$.y=n[y+1],$.z=n[y+2],et.x=n[v],et.y=n[v+1],et.z=n[v+2],tt.x=n[g],tt.y=n[g+1],tt.z=n[g+2],s[h].count++,s[d].count++,s[m].count++,i.subtract(et,$,et),i.subtract(tt,$,tt),u[f]=i.cross(et,tt),f++}var E=0;for(c=0;a>c;c++)s[c].indexOffset+=E,E+=s[c].count;f=0;var w;for(c=0;o>c;c+=3){w=s[t[c]];var S=w.indexOffset+w.currentCount;l[S]=f,w.currentCount++,w=s[t[c+1]],S=w.indexOffset+w.currentCount,l[S]=f,w.currentCount++,w=s[t[c+2]],S=w.indexOffset+w.currentCount,l[S]=f,w.currentCount++,f++}var x=new Float32Array(3*a);for(c=0;a>c;c++){var T=3*c;if(w=s[c],w.count>0){for(i.clone(i.ZERO,Q),f=0;fl;l+=3){var d=t[l],m=t[l+1],y=t[l+2];c=3*d,f=3*m,h=3*y;var v=2*d,g=2*m,E=2*y,w=r[c],S=r[c+1],x=r[c+2],T=a[v],A=a[v+1],O=a[g+1]-A,M=a[E+1]-A,D=1/((a[g]-T)*M-(a[E]-T)*O),I=(M*(r[f]-w)-O*(r[h]-w))*D,b=(M*(r[f+1]-S)-O*(r[h+1]-S))*D,_=(M*(r[f+2]-x)-O*(r[h+2]-x))*D;u[c]+=I,u[c+1]+=b,u[c+2]+=_,u[f]+=I,u[f+1]+=b,u[f+2]+=_,u[h]+=I,u[h+1]+=b,u[h+2]+=_}var N=new Float32Array(3*o),R=new Float32Array(3*o);for(l=0;o>l;l++){c=3*l,f=c+1,h=c+2;var P=i.fromArray(n,c,rt),z=i.fromArray(u,c,at),L=i.dot(P,z);i.multiplyByScalar(P,L,nt),i.normalize(i.subtract(z,nt,z),z),R[c]=z.x,R[f]=z.y,R[h]=z.z,i.normalize(i.cross(P,z,z),z),N[c]=z.x,N[f]=z.y,N[h]=z.z}return e.attributes.tangent=new C({componentDatatype:p.FLOAT,componentsPerAttribute:3,values:R}),e.attributes.binormal=new C({componentDatatype:p.FLOAT,componentsPerAttribute:3,values:N}),e};var it=new i,ot=new i,st=new i,ut=new i,lt=new i,ct={positions:new Array(7),indices:new Array(9)};return H.wrapLongitude=function(e){var t=e.boundingSphere;if(r(t)){var n=t.center.x-t.radius;if(n>0||w.intersect(t,o.UNIT_Y)!==l.INTERSECTING)return e}return U(e),e.primitiveType===g.TRIANGLES?Y(e):e.primitiveType===g.LINES&&V(e),e},H}),define("Scene/PrimitivePipeline",["../Core/defined","../Core/defaultValue","../Core/Color","../Core/ComponentDatatype","../Core/DeveloperError","../Core/FeatureDetection","../Core/Geometry","../Core/GeometryAttribute","../Core/GeometryPipeline","../Core/Matrix4"],function(e,t,r,n,a,i,o,s,u,l){"use strict";function c(e,t,r){var n,a=!r,i=e.length;if(!a&&i>1){var o=e[0].modelMatrix;for(n=1;i>n;++n)if(!l.equals(o,e[n].modelMatrix)){a=!0;break}}if(a)for(n=0;i>n;++n)u.transformToWorldCoordinates(e[n]);else l.clone(e[0].modelMatrix,t)}function f(e,t){for(var a=e.length,i=0;a>i;++i){var o=e[i],u=o.geometry,l=u.attributes,c=l.position,f=4*(c.values.length/c.componentsPerAttribute);l.pickColor=new s({componentDatatype:n.UNSIGNED_BYTE,componentsPerAttribute:4,normalize:!0,values:new Uint8Array(f)});for(var h=t[i],d=r.floatToByte(h.red),m=r.floatToByte(h.green),y=r.floatToByte(h.blue),p=r.floatToByte(h.alpha),v=l.pickColor.values,g=0;f>g;g+=4)v[g]=d,v[g+1]=m,v[g+2]=y,v[g+3]=p}}function h(t){var r,n=t.length,a=[],i=t[0].attributes;for(r in i)if(i.hasOwnProperty(r)){for(var o=i[r],s=!0,u=1;n>u;++u){var l=t[u].attributes[r];if(!e(l)||o.componentDatatype.value!==l.componentDatatype.value||o.componentsPerAttribute!==l.componentsPerAttribute||o.normalize!==l.normalize){s=!1;break}}s&&a.push(r)}return a}function d(e,t){for(var r=e.length,a=0;r>a;++a)for(var i=e[a],u=i.attributes,l=i.geometry,c=o.computeNumberOfVertices(l),f=t.length,h=0;f>h;++h){for(var d=t[h],m=u[d],y=m.componentDatatype,p=m.value,v=p.length,g=n.createTypedArray(y,c*v),E=0;c>E;++E)g.set(p,E*v);l.attributes[d]=new s({componentDatatype:y,componentsPerAttribute:v,normalize:m.normalize,values:g})}}function m(e){var t,r=e.instances,a=e.pickIds,i=e.projection,o=e.elementIndexUintSupported,s=e.allow3DOnly,l=e.allowPicking,m=e.vertexCacheOptimize,y=e.modelMatrix,p=r.length;if(r[0].geometry.primitiveType,c(r,y,s),!s)for(t=0;p>t;++t)u.wrapLongitude(r[t].geometry);l&&f(r,a);var v=h(r);if(d(r,v),m)for(t=0;p>t;++t)u.reorderForPostVertexCache(r[t].geometry),u.reorderForPreVertexCache(r[t].geometry);var g,E=u.combine(r),w=E.attributes;if(s)for(g in w)w.hasOwnProperty(g)&&w[g].componentDatatype.value===n.DOUBLE.value&&u.encodeAttribute(E,g,g+"3DHigh",g+"3DLow");else for(g in w)if(w.hasOwnProperty(g)&&w[g].componentDatatype.value===n.DOUBLE.value){var S=g+"3D",C=g+"2D";u.projectTo2D(E,g,S,C,i),u.encodeAttribute(E,S,S+"High",S+"Low"),u.encodeAttribute(E,C,C+"High",C+"Low")}return o?[E]:u.fitToUnsignedShortIndices(E)}function y(e,t,r){for(var a=[],i=e.attributes,o=r.length,s=0;o>s;++s){var u=r[s],l=i[u],c=l.componentDatatype;c.value===n.DOUBLE.value&&(c=n.FLOAT);var f=n.createTypedArray(c,l.values);a.push({index:t[u],componentDatatype:c,componentsPerAttribute:l.componentsPerAttribute,normalize:l.normalize,values:f}),delete i[u]}return a}function p(r,n,a){for(var i=[],s=h(r),u=r.length,l={},c={},f=0;u>f;++f)for(var d=r[f],m=o.computeNumberOfVertices(d.geometry),y=s.length,p=0;y>p;++p)for(var v=s[p],g=a[v],E=m;E>0;){for(var w,S=t(c[v],0),C=n[S],x=C.length,T=0;x>T&&(w=C[T],w.index!==g);++T);e(i[f])||(i[f]={}),e(i[f][v])||(i[f][v]={dirty:!1,value:d.attributes[v].value,indices:[]});var A,O=w.values.length/w.componentsPerAttribute,M=t(l[v],0);O>M+E?(A=E,i[f][v].indices.push({attribute:w,offset:M,count:A}),l[v]=M+E):(A=O-M,i[f][v].indices.push({attribute:w,offset:M,count:A}),l[v]=0,c[v]=S+1),E-=A}return i}function v(t){return e(t.constructor.name)?{type:t.constructor.name,buffer:t.buffer}:t}function g(t){return e(t.type)?new w[t.type](t.buffer):t}if(!i.supportsTypedArrays())return{};var E={};E.combineGeometry=function(e){for(var t={instances:e.instances,pickIds:e.pickIds,ellipsoid:e.ellipsoid,projection:e.projection,elementIndexUintSupported:e.elementIndexUintSupported,allow3DOnly:e.allow3DOnly,allowPicking:e.allowPicking,vertexCacheOptimize:e.vertexCacheOptimize,modelMatrix:l.clone(e.modelMatrix)},r=m(t),n=u.createAttributeLocations(r[0]),a=t.instances,i=h(a),o=[],s=r.length,c=0;s>c;++c){var f=r[c];o.push(y(f,n,i))}var d=p(a,o,n);return{geometries:r,modelMatrix:t.modelMatrix,attributeLocations:n,vaAttributes:o,vaAttributeLocations:d}};var w={Int8Array:Int8Array,Uint8Array:Uint8Array,Int16Array:Int16Array,Uint16Array:Uint16Array,Int32Array:Int32Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array};return E.transferGeometry=function(t,r){var n,a=t.attributes;for(var o in a)a.hasOwnProperty(o)&&e(a[o])&&e(a[o].values)&&(n=a[o].values,i.supportsTransferringArrayBuffers()&&r.indexOf(a[o].values.buffer)<0&&r.push(n.buffer),e(n.type)||(a[o].values=v(n)));e(t.indices)&&(n=t.indices,i.supportsTransferringArrayBuffers()&&r.push(n.buffer),e(n.type)||(t.indices=v(t.indices)))},E.transferGeometries=function(e,t){for(var r=e.length,n=0;r>n;++n)E.transferGeometry(e[n],t) +},E.transferPerInstanceAttributes=function(e,t){for(var r=e.length,n=0;r>n;++n)for(var a=e[n],o=a.length,s=0;o>s;++s){var u=a[s].values;i.supportsTransferringArrayBuffers()&&t.push(u.buffer),a[s].values=v(u)}},E.transferInstances=function(e,t){for(var r=e.length,n=0;r>n;++n){var a=e[n];E.transferGeometry(a.geometry,t)}},E.receiveGeometry=function(t){var r=t.attributes;for(var n in r)r.hasOwnProperty(n)&&e(r[n])&&e(r[n].values)&&(r[n].values=g(r[n].values));e(t.indices)&&(t.indices=g(t.indices))},E.receiveGeometries=function(e){for(var t=e.length,r=0;t>r;++r)E.receiveGeometry(e[r])},E.receivePerInstanceAttributes=function(e){for(var t=e.length,r=0;t>r;++r)for(var n=e[r],a=n.length,i=0;a>i;++i)n[i].values=g(n[i].values)},E.receiveInstances=function(e){for(var t=e.length,r=0;t>r;++r){var n=e[r];E.receiveGeometry(n.geometry)}},E}),define("Workers/createTaskProcessorWorker",["../Core/defaultValue","../Core/defined"],function(e,t){"use strict";var r=function(r){var n,a=[],i={id:void 0,result:void 0,error:void 0};return function(o){var s=o.data;a.length=0,i.id=s.id,i.error=void 0,i.result=void 0;try{i.result=r(s.parameters,a)}catch(u){i.error=u}t(n)||(n=e(self.webkitPostMessage,self.postMessage));try{n(i,a)}catch(u){i.result=void 0,i.error="postMessage failed with error: "+u+"\n with responseMessage: "+JSON.stringify(i),n(i)}}};return r}),define("Workers/createCorridorOutlineGeometry",["../Core/CorridorOutlineGeometry","../Core/Ellipsoid","../Scene/PrimitivePipeline","./createTaskProcessorWorker"],function(e,t,r,n){"use strict";function a(n,a){var i=n.geometry;i._ellipsoid=t.clone(i._ellipsoid);var o=e.createGeometry(i);return r.transferGeometry(o,a),{geometry:o,index:n.index}}return n(a)})}(); \ No newline at end of file diff --git a/Cesium/Workers/createCylinderGeometry.js b/Cesium/Workers/createCylinderGeometry.js new file mode 100644 index 0000000..9a7a4d5 --- /dev/null +++ b/Cesium/Workers/createCylinderGeometry.js @@ -0,0 +1,61 @@ +/** + * Cesium - https://github.com/AnalyticalGraphicsInc/cesium + * + * Copyright 2011-2014 Cesium Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Columbus View (Pat. Pend.) + * + * Portions licensed separately. + * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details. + */ +/** +@license +mersenne-twister.js - https://gist.github.com/banksean/300494 + + Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura, + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. The names of its contributors may not be used to endorse or promote + products derived from this software without specific prior written + permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +!function(){define("Core/defined",[],function(){"use strict";var e=function(e){return void 0!==e};return e}),define("Core/freezeObject",["./defined"],function(e){"use strict";var r=Object.freeze;return e(r)||(r=function(e){return e}),r}),define("Core/defaultValue",["./freezeObject"],function(e){"use strict";var r=function(e,r){return void 0!==e?e:r};return r.EMPTY_OBJECT=e({}),r}),define("Core/DeveloperError",["./defined"],function(e){"use strict";var r=function(e){this.name="DeveloperError",this.message=e;var r;try{throw new Error}catch(t){r=t.stack}this.stack=r};return r.prototype.toString=function(){var r=this.name+": "+this.message;return e(this.stack)&&(r+="\n"+this.stack.toString()),r},r.throwInstantiationError=function(){throw new r("This function defines an interface and should not be called directly.")},r}),define("Core/Cartesian2",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,r,t,n){"use strict";var o=function(r,t){this.x=e(r,0),this.y=e(t,0)};o.fromElements=function(e,t,n){return r(n)?(n.x=e,n.y=t,n):new o(e,t)},o.clone=function(e,t){return r(e)?r(t)?(t.x=e.x,t.y=e.y,t):new o(e.x,e.y):void 0},o.fromCartesian3=o.clone,o.fromCartesian4=o.clone,o.packedLength=2,o.pack=function(r,t,n){n=e(n,0),t[n++]=r.x,t[n]=r.y},o.unpack=function(t,n,i){return n=e(n,0),r(i)||(i=new o),i.x=t[n++],i.y=t[n],i},o.fromArray=o.unpack,o.getMaximumComponent=function(e){return Math.max(e.x,e.y)},o.getMinimumComponent=function(e){return Math.min(e.x,e.y)},o.getMinimumByComponent=function(e,t,n){return r(n)||(n=new o),n.x=Math.min(e.x,t.x),n.y=Math.min(e.y,t.y),n},o.getMaximumByComponent=function(e,t,n){return r(n)||(n=new o),n.x=Math.max(e.x,t.x),n.y=Math.max(e.y,t.y),n},o.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y},o.magnitude=function(e){return Math.sqrt(o.magnitudeSquared(e))};var i=new o;o.distance=function(e,r){return o.subtract(e,r,i),o.magnitude(i)},o.normalize=function(e,t){var n=o.magnitude(e);return r(t)?(t.x=e.x/n,t.y=e.y/n,t):new o(e.x/n,e.y/n)},o.dot=function(e,r){return e.x*r.x+e.y*r.y},o.multiplyComponents=function(e,t,n){return r(n)?(n.x=e.x*t.x,n.y=e.y*t.y,n):new o(e.x*t.x,e.y*t.y)},o.add=function(e,t,n){return r(n)?(n.x=e.x+t.x,n.y=e.y+t.y,n):new o(e.x+t.x,e.y+t.y)},o.subtract=function(e,t,n){return r(n)?(n.x=e.x-t.x,n.y=e.y-t.y,n):new o(e.x-t.x,e.y-t.y)},o.multiplyByScalar=function(e,t,n){return r(n)?(n.x=e.x*t,n.y=e.y*t,n):new o(e.x*t,e.y*t)},o.divideByScalar=function(e,t,n){return r(n)?(n.x=e.x/t,n.y=e.y/t,n):new o(e.x/t,e.y/t)},o.negate=function(e,t){return r(t)?(t.x=-e.x,t.y=-e.y,t):new o(-e.x,-e.y)},o.abs=function(e,t){return r(t)?(t.x=Math.abs(e.x),t.y=Math.abs(e.y),t):new o(Math.abs(e.x),Math.abs(e.y))};var a=new o;o.lerp=function(e,r,t,n){return o.multiplyByScalar(r,t,a),n=o.multiplyByScalar(e,1-t,n),o.add(a,n,n)};var s=new o,u=new o;o.angleBetween=function(e,r){return o.normalize(e,s),o.normalize(r,u),Math.acos(o.dot(s,u))};var l=new o;return o.mostOrthogonalAxis=function(e,r){var t=o.normalize(e,l);return o.abs(t,t),r=t.x<=t.y?o.clone(o.UNIT_X,r):o.clone(o.UNIT_Y,r)},o.equals=function(e,t){return e===t||r(e)&&r(t)&&e.x===t.x&&e.y===t.y},o.equalsEpsilon=function(e,t,n){return e===t||r(e)&&r(t)&&Math.abs(e.x-t.x)<=n&&Math.abs(e.y-t.y)<=n},o.ZERO=n(new o(0,0)),o.UNIT_X=n(new o(1,0)),o.UNIT_Y=n(new o(0,1)),o.prototype.clone=function(e){return o.clone(this,e)},o.prototype.equals=function(e){return o.equals(this,e)},o.prototype.equalsEpsilon=function(e,r){return o.equalsEpsilon(this,e,r)},o.prototype.toString=function(){return"("+this.x+", "+this.y+")"},o}),define("Core/Cartesian3",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,r,t,n){"use strict";var o=function(r,t,n){this.x=e(r,0),this.y=e(t,0),this.z=e(n,0)};o.fromSpherical=function(t,n){r(n)||(n=new o);var i=t.clock,a=t.cone,s=e(t.magnitude,1),u=s*Math.sin(a);return n.x=u*Math.cos(i),n.y=u*Math.sin(i),n.z=s*Math.cos(a),n},o.fromElements=function(e,t,n,i){return r(i)?(i.x=e,i.y=t,i.z=n,i):new o(e,t,n)},o.clone=function(e,t){return r(e)?r(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t):new o(e.x,e.y,e.z):void 0},o.fromCartesian4=o.clone,o.packedLength=3,o.pack=function(r,t,n){n=e(n,0),t[n++]=r.x,t[n++]=r.y,t[n]=r.z},o.unpack=function(t,n,i){return n=e(n,0),r(i)||(i=new o),i.x=t[n++],i.y=t[n++],i.z=t[n],i},o.fromArray=o.unpack,o.getMaximumComponent=function(e){return Math.max(e.x,e.y,e.z)},o.getMinimumComponent=function(e){return Math.min(e.x,e.y,e.z)},o.getMinimumByComponent=function(e,t,n){return r(n)||(n=new o),n.x=Math.min(e.x,t.x),n.y=Math.min(e.y,t.y),n.z=Math.min(e.z,t.z),n},o.getMaximumByComponent=function(e,t,n){return r(n)||(n=new o),n.x=Math.max(e.x,t.x),n.y=Math.max(e.y,t.y),n.z=Math.max(e.z,t.z),n},o.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z},o.magnitude=function(e){return Math.sqrt(o.magnitudeSquared(e))};var i=new o;o.distance=function(e,r){return o.subtract(e,r,i),o.magnitude(i)},o.normalize=function(e,t){var n=o.magnitude(e);return r(t)?(t.x=e.x/n,t.y=e.y/n,t.z=e.z/n,t):new o(e.x/n,e.y/n,e.z/n)},o.dot=function(e,r){return e.x*r.x+e.y*r.y+e.z*r.z},o.multiplyComponents=function(e,t,n){return r(n)?(n.x=e.x*t.x,n.y=e.y*t.y,n.z=e.z*t.z,n):new o(e.x*t.x,e.y*t.y,e.z*t.z)},o.add=function(e,t,n){return r(n)?(n.x=e.x+t.x,n.y=e.y+t.y,n.z=e.z+t.z,n):new o(e.x+t.x,e.y+t.y,e.z+t.z)},o.subtract=function(e,t,n){return r(n)?(n.x=e.x-t.x,n.y=e.y-t.y,n.z=e.z-t.z,n):new o(e.x-t.x,e.y-t.y,e.z-t.z)},o.multiplyByScalar=function(e,t,n){return r(n)?(n.x=e.x*t,n.y=e.y*t,n.z=e.z*t,n):new o(e.x*t,e.y*t,e.z*t)},o.divideByScalar=function(e,t,n){return r(n)?(n.x=e.x/t,n.y=e.y/t,n.z=e.z/t,n):new o(e.x/t,e.y/t,e.z/t)},o.negate=function(e,t){return r(t)?(t.x=-e.x,t.y=-e.y,t.z=-e.z,t):new o(-e.x,-e.y,-e.z)},o.abs=function(e,t){return r(t)?(t.x=Math.abs(e.x),t.y=Math.abs(e.y),t.z=Math.abs(e.z),t):new o(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z))};var a=new o;o.lerp=function(e,r,t,n){return o.multiplyByScalar(r,t,a),n=o.multiplyByScalar(e,1-t,n),o.add(a,n,n)};var s=new o,u=new o;o.angleBetween=function(e,r){o.normalize(e,s),o.normalize(r,u);var t=o.dot(s,u),n=o.magnitude(o.cross(s,u,s));return Math.atan2(n,t)};var l=new o;return o.mostOrthogonalAxis=function(e,r){var t=o.normalize(e,l);return o.abs(t,t),r=t.x<=t.y?t.x<=t.z?o.clone(o.UNIT_X,r):o.clone(o.UNIT_Z,r):t.y<=t.z?o.clone(o.UNIT_Y,r):o.clone(o.UNIT_Z,r)},o.equals=function(e,t){return e===t||r(e)&&r(t)&&e.x===t.x&&e.y===t.y&&e.z===t.z},o.equalsEpsilon=function(e,t,n){return e===t||r(e)&&r(t)&&Math.abs(e.x-t.x)<=n&&Math.abs(e.y-t.y)<=n&&Math.abs(e.z-t.z)<=n},o.cross=function(e,t,n){var i=e.x,a=e.y,s=e.z,u=t.x,l=t.y,c=t.z,f=a*c-s*l,m=s*u-i*c,y=i*l-a*u;return r(n)?(n.x=f,n.y=m,n.z=y,n):new o(f,m,y)},o.ZERO=n(new o(0,0,0)),o.UNIT_X=n(new o(1,0,0)),o.UNIT_Y=n(new o(0,1,0)),o.UNIT_Z=n(new o(0,0,1)),o.prototype.clone=function(e){return o.clone(this,e)},o.prototype.equals=function(e){return o.equals(this,e)},o.prototype.equalsEpsilon=function(e,r){return o.equalsEpsilon(this,e,r)},o.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+")"},o}),define("ThirdParty/mersenne-twister",[],function(){var e=function(e){void 0==e&&(e=(new Date).getTime()),this.N=624,this.M=397,this.MATRIX_A=2567483615,this.UPPER_MASK=2147483648,this.LOWER_MASK=2147483647,this.mt=new Array(this.N),this.mti=this.N+1,this.init_genrand(e)};return e.prototype.init_genrand=function(e){for(this.mt[0]=e>>>0,this.mti=1;this.mti>>30;this.mt[this.mti]=(1812433253*((4294901760&e)>>>16)<<16)+1812433253*(65535&e)+this.mti,this.mt[this.mti]>>>=0}},e.prototype.genrand_int32=function(){var e,r=new Array(0,this.MATRIX_A);if(this.mti>=this.N){var t;for(this.mti==this.N+1&&this.init_genrand(5489),t=0;t>>1^r[1&e];for(;t>>1^r[1&e];e=this.mt[this.N-1]&this.UPPER_MASK|this.mt[0]&this.LOWER_MASK,this.mt[this.N-1]=this.mt[this.M-1]^e>>>1^r[1&e],this.mti=0}return e=this.mt[this.mti++],e^=e>>>11,e^=2636928640&e<<7,e^=4022730752&e<<15,e^=e>>>18,e>>>0},e.prototype.random=function(){return this.genrand_int32()*(1/4294967296)},e}),define("Core/Math",["./defaultValue","./defined","./DeveloperError","../ThirdParty/mersenne-twister"],function(e,r,t,n){"use strict";var o={};o.EPSILON1=.1,o.EPSILON2=.01,o.EPSILON3=.001,o.EPSILON4=1e-4,o.EPSILON5=1e-5,o.EPSILON6=1e-6,o.EPSILON7=1e-7,o.EPSILON8=1e-8,o.EPSILON9=1e-9,o.EPSILON10=1e-10,o.EPSILON11=1e-11,o.EPSILON12=1e-12,o.EPSILON13=1e-13,o.EPSILON14=1e-14,o.EPSILON15=1e-15,o.EPSILON16=1e-16,o.EPSILON17=1e-17,o.EPSILON18=1e-18,o.EPSILON19=1e-19,o.EPSILON20=1e-20,o.GRAVITATIONALPARAMETER=3986004418e5,o.SOLAR_RADIUS=6955e5,o.LUNAR_RADIUS=1737400,o.SIXTY_FOUR_KILOBYTES=65536,o.sign=function(e){return e>0?1:0>e?-1:0},o.sinh=function(e){var r=Math.pow(Math.E,e),t=Math.pow(Math.E,-1*e);return.5*(r-t)},o.cosh=function(e){var r=Math.pow(Math.E,e),t=Math.pow(Math.E,-1*e);return.5*(r+t)},o.lerp=function(e,r,t){return(1-t)*e+t*r},o.PI=Math.PI,o.ONE_OVER_PI=1/Math.PI,o.PI_OVER_TWO=.5*Math.PI,o.PI_OVER_THREE=Math.PI/3,o.PI_OVER_FOUR=Math.PI/4,o.PI_OVER_SIX=Math.PI/6,o.THREE_PI_OVER_TWO=.5*3*Math.PI,o.TWO_PI=2*Math.PI,o.ONE_OVER_TWO_PI=1/(2*Math.PI),o.RADIANS_PER_DEGREE=Math.PI/180,o.DEGREES_PER_RADIAN=180/Math.PI,o.RADIANS_PER_ARCSECOND=o.RADIANS_PER_DEGREE/3600,o.toRadians=function(e){return e*o.RADIANS_PER_DEGREE},o.toDegrees=function(e){return e*o.DEGREES_PER_RADIAN},o.convertLongitudeRange=function(e){var r=o.TWO_PI,t=e-Math.floor(e/r)*r;return t<-Math.PI?t+r:t>=Math.PI?t-r:t},o.negativePiToPi=function(e){for(var r=o.EPSILON10,t=o.PI,n=o.TWO_PI;-(t+r)>e;)e+=n;if(-t>e)return-t;for(;e>t+r;)e-=n;return e>t?t:e},o.zeroToTwoPi=function(e){var r=e%o.TWO_PI;return 0>r?(r+o.TWO_PI)%o.TWO_PI:r},o.equalsEpsilon=function(r,t,n){return n=e(n,0),Math.abs(r-t)<=n};var i=[1];o.factorial=function(e){var r=i.length;if(e>=r)for(var t=i[r-1],n=r;e>=n;n++)i.push(t*n);return i[e]},o.incrementWrap=function(r,t,n){return n=e(n,0),++r,r>t&&(r=n),r},o.isPowerOfTwo=function(e){return 0!==e&&0===(e&e-1)},o.nextPowerOfTwo=function(e){return--e,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,++e,e},o.clamp=function(e,r,t){return r>e?r:e>t?t:e};var a=new n;return o.setRandomNumberSeed=function(e){a=new n(e)},o.nextRandomNumber=function(){return a.random()},o}),define("Core/CylinderGeometryLibrary",["./Math"],function(e){"use strict";var r={};return r.computePositions=function(r,t,n,o,i){var a,s=.5*r,u=-s,l=o+o,c=i?2*l:l,f=new Float64Array(3*c),m=0,y=0,h=i?3*l:0,p=i?3*(l+o):3*o;for(a=0;o>a;a++){var d=a/o*e.TWO_PI,v=Math.cos(d),g=Math.sin(d),E=v*n,C=g*n,S=v*t,w=g*t;f[y+h]=E,f[y+h+1]=C,f[y+h+2]=u,f[y+p]=S,f[y+p+1]=w,f[y+p+2]=s,y+=3,i&&(f[m++]=E,f[m++]=C,f[m++]=u,f[m++]=S,f[m++]=w,f[m++]=s)}return f},r}),define("Core/Fullscreen",["./defined"],function(e){"use strict";var r,t={requestFullscreen:void 0,exitFullscreen:void 0,fullscreenEnabled:void 0,fullscreenElement:void 0,fullscreenchange:void 0,fullscreenerror:void 0},n={};return n.supportsFullscreen=function(){if(e(r))return r;r=!1;var n=document.body;if("function"==typeof n.requestFullscreen)return t.requestFullscreen="requestFullscreen",t.exitFullscreen="exitFullscreen",t.fullscreenEnabled="fullscreenEnabled",t.fullscreenElement="fullscreenElement",t.fullscreenchange="fullscreenchange",t.fullscreenerror="fullscreenerror",r=!0;for(var o,i=["webkit","moz","o","ms","khtml"],a=0,s=i.length;s>a;++a){var u=i[a];o=u+"RequestFullscreen","function"==typeof n[o]?(t.requestFullscreen=o,r=!0):(o=u+"RequestFullScreen","function"==typeof n[o]&&(t.requestFullscreen=o,r=!0)),o=u+"ExitFullscreen","function"==typeof document[o]?t.exitFullscreen=o:(o=u+"CancelFullScreen","function"==typeof document[o]&&(t.exitFullscreen=o)),o=u+"FullscreenEnabled",e(document[o])?t.fullscreenEnabled=o:(o=u+"FullScreenEnabled",e(document[o])&&(t.fullscreenEnabled=o)),o=u+"FullscreenElement",e(document[o])?t.fullscreenElement=o:(o=u+"FullScreenElement",e(document[o])&&(t.fullscreenElement=o)),o=u+"fullscreenchange",e(document["on"+o])&&("ms"===u&&(o="MSFullscreenChange"),t.fullscreenchange=o),o=u+"fullscreenerror",e(document["on"+o])&&("ms"===u&&(o="MSFullscreenError"),t.fullscreenerror=o)}return r},n.requestFullscreen=function(e){n.supportsFullscreen()&&e[t.requestFullscreen]()},n.exitFullscreen=function(){n.supportsFullscreen()&&document[t.exitFullscreen]()},n.isFullscreenEnabled=function(){return n.supportsFullscreen()?document[t.fullscreenEnabled]:void 0},n.getFullscreenElement=function(){return n.supportsFullscreen()?document[t.fullscreenElement]:void 0},n.isFullscreen=function(){return n.supportsFullscreen()?null!==n.getFullscreenElement():void 0},n.getFullscreenChangeEventName=function(){return n.supportsFullscreen()?t.fullscreenchange:void 0},n.getFullscreenErrorEventName=function(){return n.supportsFullscreen()?t.fullscreenerror:void 0},n}),define("Core/FeatureDetection",["./defined","./Fullscreen"],function(e,r){"use strict";function t(e){for(var r=e.split("."),t=0,n=r.length;n>t;++t)r[t]=parseInt(r[t],10);return r}function n(){if(!e(f)){var r=/ Chrome\/([\.0-9]+)/.exec(navigator.userAgent);null===r?f=!1:(f=!0,m=t(r[1]))}return f}function o(){return n()&&m}function i(){if(!e(y))if(n()||!/ Safari\/[\.0-9]+/.test(navigator.userAgent))y=!1;else{var r=/ Version\/([\.0-9]+)/.exec(navigator.userAgent);null===r?y=!1:(y=!0,h=t(r[1]))}return y}function a(){return i()&&h}function s(){if(!e(p)){var r=/ AppleWebKit\/([\.0-9]+)(\+?)/.exec(navigator.userAgent);null===r?p=!1:(p=!0,d=t(r[1]),d.isNightly=!!r[2])}return p}function u(){return s()&&d}function l(){if(!e(v)){var r;"Microsoft Internet Explorer"===navigator.appName?(r=/MSIE ([0-9]{1,}[\.0-9]{0,})/.exec(navigator.userAgent),null!==r&&(v=!0,g=t(r[1]))):"Netscape"===navigator.appName?(r=/Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/.exec(navigator.userAgent),null!==r&&(v=!0,g=t(r[1]))):v=!1}return v}function c(){return l()&&g}var f,m,y,h,p,d,v,g,E={isChrome:n,chromeVersion:o,isSafari:i,safariVersion:a,isWebkit:s,webkitVersion:u,isInternetExplorer:l,internetExplorerVersion:c};E.supportsFullscreen=function(){return r.supportsFullscreen()},E.supportsTypedArrays=function(){return"undefined"!=typeof ArrayBuffer};var C;return E.supportsTransferringArrayBuffers=function(){if(!e(C)){if(!E.supportsTypedArrays())return C=!1,void 0;var r=new ArrayBuffer(1);try{postMessage({value:r},[r]),C=!0}catch(t){C=!1}}return C},E}),define("Core/Enumeration",["./defined"],function(e){"use strict";var r=function(r,t,n){if(this.value=r,this.name=t,e(n))for(var o in n)n.hasOwnProperty(o)&&(this[o]=n[o])};return r.prototype.valueOf=function(){return this.value},r.prototype.toString=function(){return this.name},r}),define("Core/ComponentDatatype",["./defaultValue","./defined","./DeveloperError","./FeatureDetection","./Enumeration"],function(e,r,t,n,o){"use strict";if(!n.supportsTypedArrays())return{};var i={BYTE:new o(5120,"BYTE",{sizeInBytes:Int8Array.BYTES_PER_ELEMENT}),UNSIGNED_BYTE:new o(5121,"UNSIGNED_BYTE",{sizeInBytes:Uint8Array.BYTES_PER_ELEMENT}),SHORT:new o(5122,"SHORT",{sizeInBytes:Int16Array.BYTES_PER_ELEMENT}),UNSIGNED_SHORT:new o(5123,"UNSIGNED_SHORT",{sizeInBytes:Uint16Array.BYTES_PER_ELEMENT}),FLOAT:new o(5126,"FLOAT",{sizeInBytes:Float32Array.BYTES_PER_ELEMENT}),DOUBLE:new o(5130,"DOUBLE",{sizeInBytes:Float64Array.BYTES_PER_ELEMENT})};return i.validate=function(e){return r(e)&&r(e.value)&&(e.value===i.BYTE.value||e.value===i.UNSIGNED_BYTE.value||e.value===i.SHORT.value||e.value===i.UNSIGNED_SHORT.value||e.value===i.FLOAT.value||e.value===i.DOUBLE.value)},i.createTypedArray=function(e,r){switch(e.value){case i.BYTE.value:return new Int8Array(r);case i.UNSIGNED_BYTE.value:return new Uint8Array(r);case i.SHORT.value:return new Int16Array(r);case i.UNSIGNED_SHORT.value:return new Uint16Array(r);case i.FLOAT.value:return new Float32Array(r);case i.DOUBLE.value:return new Float64Array(r);default:throw new t("componentDatatype is not a valid enumeration value.")}},i.createArrayBufferView=function(r,n,o,a){switch(o=e(o,0),a=e(a,(n.byteLength-o)/r.sizeInBytes),r.value){case i.BYTE.value:return new Int8Array(n,o,a);case i.UNSIGNED_BYTE.value:return new Uint8Array(n,o,a);case i.SHORT.value:return new Int16Array(n,o,a);case i.UNSIGNED_SHORT.value:return new Uint16Array(n,o,a);case i.FLOAT.value:return new Float32Array(n,o,a);case i.DOUBLE.value:return new Float64Array(n,o,a);default:throw new t("componentDatatype is not a valid enumeration value.")}},i}),define("Core/IndexDatatype",["./defined","./DeveloperError","./Math"],function(e,r,t){"use strict";var n={UNSIGNED_BYTE:5121,UNSIGNED_SHORT:5123,UNSIGNED_INT:5125};return n.getSizeInBytes=function(e){switch(e){case n.UNSIGNED_BYTE:return Uint8Array.BYTES_PER_ELEMENT;case n.UNSIGNED_SHORT:return Uint16Array.BYTES_PER_ELEMENT;case n.UNSIGNED_INT:return Uint32Array.BYTES_PER_ELEMENT}},n.validate=function(r){return e(r)&&(r===n.UNSIGNED_BYTE||r===n.UNSIGNED_SHORT||r===n.UNSIGNED_INT)},n.createTypedArray=function(e,r){return e>t.SIXTY_FOUR_KILOBYTES?new Uint32Array(r):new Uint16Array(r)},n}),define("Core/PrimitiveType",[],function(){"use strict";var e={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,validate:function(r){return r===e.POINTS||r===e.LINES||r===e.LINE_LOOP||r===e.LINE_STRIP||r===e.TRIANGLES||r===e.TRIANGLE_STRIP||r===e.TRIANGLE_FAN}};return e}),define("Core/Cartographic",["./defaultValue","./defined","./DeveloperError","./freezeObject","./Math"],function(e,r,t,n,o){"use strict";var i=function(r,t,n){this.longitude=e(r,0),this.latitude=e(t,0),this.height=e(n,0)};return i.fromDegrees=function(t,n,a,s){return t=o.toRadians(e(t,0)),n=o.toRadians(e(n,0)),a=e(a,0),r(s)?(s.longitude=t,s.latitude=n,s.height=a,s):new i(t,n,a)},i.clone=function(e,t){return r(e)?r(t)?(t.longitude=e.longitude,t.latitude=e.latitude,t.height=e.height,t):new i(e.longitude,e.latitude,e.height):void 0},i.equals=function(e,t){return e===t||r(e)&&r(t)&&e.longitude===t.longitude&&e.latitude===t.latitude&&e.height===t.height},i.equalsEpsilon=function(e,t,n){return e===t||r(e)&&r(t)&&Math.abs(e.longitude-t.longitude)<=n&&Math.abs(e.latitude-t.latitude)<=n&&Math.abs(e.height-t.height)<=n},i.toString=function(e){return"("+e.longitude+", "+e.latitude+", "+e.height+")"},i.ZERO=n(new i(0,0,0)),i.prototype.clone=function(e){return i.clone(this,e)},i.prototype.equals=function(e){return i.equals(this,e)},i.prototype.equalsEpsilon=function(e,r){return i.equalsEpsilon(this,e,r)},i.prototype.toString=function(){return i.toString(this)},i}),define("Core/defineProperties",["./defined"],function(e){"use strict";var r=function(){try{return"x"in Object.defineProperty({},"x",{})}catch(e){return!1}}(),t=Object.defineProperties;return r&&e(t)||(t=function(e){return e}),t}),define("Core/Ellipsoid",["./freezeObject","./defaultValue","./defined","./defineProperties","./DeveloperError","./Math","./Cartesian3","./Cartographic"],function(e,r,t,n,o,i,a,s){"use strict";var u=function(e,t,n){e=r(e,0),t=r(t,0),n=r(n,0),this._radii=new a(e,t,n),this._radiiSquared=new a(e*e,t*t,n*n),this._radiiToTheFourth=new a(e*e*e*e,t*t*t*t,n*n*n*n),this._oneOverRadii=new a(0===e?0:1/e,0===t?0:1/t,0===n?0:1/n),this._oneOverRadiiSquared=new a(0===e?0:1/(e*e),0===t?0:1/(t*t),0===n?0:1/(n*n)),this._minimumRadius=Math.min(e,t,n),this._maximumRadius=Math.max(e,t,n),this._centerToleranceSquared=i.EPSILON1};n(u.prototype,{radii:{get:function(){return this._radii}},radiiSquared:{get:function(){return this._radiiSquared}},radiiToTheFourth:{get:function(){return this._radiiToTheFourth}},oneOverRadii:{get:function(){return this._oneOverRadii}},oneOverRadiiSquared:{get:function(){return this._oneOverRadiiSquared}},minimumRadius:{get:function(){return this._minimumRadius}},maximumRadius:{get:function(){return this._maximumRadius}}}),u.clone=function(e,r){if(!t(e))return void 0;var n=e._radii;return t(r)?(a.clone(n,r._radii),a.clone(e._radiiSquared,r._radiiSquared),a.clone(e._radiiToTheFourth,r._radiiToTheFourth),a.clone(e._oneOverRadii,r._oneOverRadii),a.clone(e._oneOverRadiiSquared,r._oneOverRadiiSquared),r._minimumRadius=e._minimumRadius,r._maximumRadius=e._maximumRadius,r._centerToleranceSquared=e._centerToleranceSquared,r):new u(n.x,n.y,n.z)},u.fromCartesian3=function(e){return t(e)?new u(e.x,e.y,e.z):new u},u.WGS84=e(new u(6378137,6378137,6356752.314245179)),u.UNIT_SPHERE=e(new u(1,1,1)),u.MOON=e(new u(i.LUNAR_RADIUS,i.LUNAR_RADIUS,i.LUNAR_RADIUS)),u.prototype.clone=function(e){return u.clone(this,e)},u.prototype.geocentricSurfaceNormal=a.normalize,u.prototype.geodeticSurfaceNormalCartographic=function(e,r){var n=e.longitude,o=e.latitude,i=Math.cos(o),s=i*Math.cos(n),u=i*Math.sin(n),l=Math.sin(o);return t(r)||(r=new a),r.x=s,r.y=u,r.z=l,a.normalize(r,r)},u.prototype.geodeticSurfaceNormal=function(e,r){return r=a.multiplyComponents(e,this._oneOverRadiiSquared,r),a.normalize(r,r)};var l=new a,c=new a;u.prototype.cartographicToCartesian=function(e,r){var t=l,n=c;this.geodeticSurfaceNormalCartographic(e,t),a.multiplyComponents(this._radiiSquared,t,n);var o=Math.sqrt(a.dot(t,n));return a.divideByScalar(n,o,n),a.multiplyByScalar(t,e.height,t),a.add(n,t,r)},u.prototype.cartographicArrayToCartesianArray=function(e,r){var n=e.length;t(r)?r.length=n:r=new Array(n);for(var o=0;n>o;o++)r[o]=this.cartographicToCartesian(e[o],r[o]);return r};var f=new a,m=new a,y=new a;u.prototype.cartesianToCartographic=function(e,r){var n=this.scaleToGeodeticSurface(e,m);if(!t(n))return void 0;var o=this.geodeticSurfaceNormal(n,f),u=a.subtract(e,n,y),l=Math.atan2(o.y,o.x),c=Math.asin(o.z),h=i.sign(a.dot(u,e))*a.magnitude(u);return t(r)?(r.longitude=l,r.latitude=c,r.height=h,r):new s(l,c,h)},u.prototype.cartesianArrayToCartographicArray=function(e,r){var n=e.length;t(r)?r.length=n:r=new Array(n);for(var o=0;n>o;++o)r[o]=this.cartesianToCartographic(e[o],r[o]);return r};var h=new a,p=new a;return u.prototype.scaleToGeodeticSurface=function(e,r){var n=e.x,o=e.y,s=e.z,u=this._oneOverRadii,l=u.x,c=u.y,f=u.z,m=n*n*l*l,y=o*o*c*c,d=s*s*f*f,v=m+y+d,g=Math.sqrt(1/v),E=a.multiplyByScalar(e,g,h);if(vi.EPSILON12);return t(r)?(r.x=n*T,r.y=o*O,r.z=s*I,r):new a(n*T,o*O,s*I)},u.prototype.scaleToGeocentricSurface=function(e,r){var t=e.x,n=e.y,o=e.z,i=this._oneOverRadiiSquared,s=1/Math.sqrt(t*t*i.x+n*n*i.y+o*o*i.z);return a.multiplyByScalar(e,s,r)},u.prototype.transformPositionToScaledSpace=function(e,r){return a.multiplyComponents(e,this._oneOverRadii,r)},u.prototype.transformPositionFromScaledSpace=function(e,r){return a.multiplyComponents(e,this._radii,r)},u.prototype.equals=function(e){return this===e||t(e)&&a.equals(this._radii,e._radii)},u.prototype.toString=function(){return this._radii.toString()},u}),define("Core/GeographicProjection",["./defaultValue","./defined","./defineProperties","./Cartesian3","./Cartographic","./Ellipsoid"],function(e,r,t,n,o,i){"use strict";var a=function(r){this._ellipsoid=e(r,i.WGS84),this._semimajorAxis=this._ellipsoid.maximumRadius,this._oneOverSemimajorAxis=1/this._semimajorAxis};return t(a.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}}),a.prototype.project=function(e,t){var o=this._semimajorAxis,i=e.longitude*o,a=e.latitude*o,s=e.height;return r(t)?(t.x=i,t.y=a,t.z=s,t):new n(i,a,s)},a.prototype.unproject=function(e,t){var n=this._oneOverSemimajorAxis,i=e.x*n,a=e.y*n,s=e.z;return r(t)?(t.longitude=i,t.latitude=a,t.height=s,t):new o(i,a,s)},a}),define("Core/Intersect",["./Enumeration"],function(e){"use strict";var r={OUTSIDE:new e(-1,"OUTSIDE"),INTERSECTING:new e(0,"INTERSECTING"),INSIDE:new e(1,"INSIDE")};return r}),define("Core/Interval",["./defaultValue"],function(e){"use strict";var r=function(r,t){this.start=e(r,0),this.stop=e(t,0)};return r}),define("Core/Cartesian4",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,r,t,n){"use strict";var o=function(r,t,n,o){this.x=e(r,0),this.y=e(t,0),this.z=e(n,0),this.w=e(o,0)};o.fromElements=function(e,t,n,i,a){return r(a)?(a.x=e,a.y=t,a.z=n,a.w=i,a):new o(e,t,n,i)},o.clone=function(e,t){return r(e)?r(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t):new o(e.x,e.y,e.z,e.w):void 0},o.packedLength=4,o.pack=function(r,t,n){n=e(n,0),t[n++]=r.x,t[n++]=r.y,t[n++]=r.z,t[n]=r.w},o.unpack=function(t,n,i){return n=e(n,0),r(i)||(i=new o),i.x=t[n++],i.y=t[n++],i.z=t[n++],i.w=t[n],i},o.fromArray=o.unpack,o.getMaximumComponent=function(e){return Math.max(e.x,e.y,e.z,e.w)},o.getMinimumComponent=function(e){return Math.min(e.x,e.y,e.z,e.w)},o.getMinimumByComponent=function(e,t,n){return r(n)||(n=new o),n.x=Math.min(e.x,t.x),n.y=Math.min(e.y,t.y),n.z=Math.min(e.z,t.z),n.w=Math.min(e.w,t.w),n},o.getMaximumByComponent=function(e,t,n){return r(n)||(n=new o),n.x=Math.max(e.x,t.x),n.y=Math.max(e.y,t.y),n.z=Math.max(e.z,t.z),n.w=Math.max(e.w,t.w),n},o.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w},o.magnitude=function(e){return Math.sqrt(o.magnitudeSquared(e))};var i=new o;o.distance=function(e,r){return o.subtract(e,r,i),o.magnitude(i)},o.normalize=function(e,t){var n=o.magnitude(e);return r(t)?(t.x=e.x/n,t.y=e.y/n,t.z=e.z/n,t.w=e.w/n,t):new o(e.x/n,e.y/n,e.z/n,e.w/n)},o.dot=function(e,r){return e.x*r.x+e.y*r.y+e.z*r.z+e.w*r.w},o.multiplyComponents=function(e,t,n){return r(n)?(n.x=e.x*t.x,n.y=e.y*t.y,n.z=e.z*t.z,n.w=e.w*t.w,n):new o(e.x*t.x,e.y*t.y,e.z*t.z,e.w*t.w)},o.add=function(e,t,n){return r(n)?(n.x=e.x+t.x,n.y=e.y+t.y,n.z=e.z+t.z,n.w=e.w+t.w,n):new o(e.x+t.x,e.y+t.y,e.z+t.z,e.w+t.w)},o.subtract=function(e,t,n){return r(n)?(n.x=e.x-t.x,n.y=e.y-t.y,n.z=e.z-t.z,n.w=e.w-t.w,n):new o(e.x-t.x,e.y-t.y,e.z-t.z,e.w-t.w)},o.multiplyByScalar=function(e,t,n){return r(n)?(n.x=e.x*t,n.y=e.y*t,n.z=e.z*t,n.w=e.w*t,n):new o(e.x*t,e.y*t,e.z*t,e.w*t)},o.divideByScalar=function(e,t,n){return r(n)?(n.x=e.x/t,n.y=e.y/t,n.z=e.z/t,n.w=e.w/t,n):new o(e.x/t,e.y/t,e.z/t,e.w/t)},o.negate=function(e,t){return r(t)?(t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=-e.w,t):new o(-e.x,-e.y,-e.z,-e.w)},o.abs=function(e,t){return r(t)?(t.x=Math.abs(e.x),t.y=Math.abs(e.y),t.z=Math.abs(e.z),t.w=Math.abs(e.w),t):new o(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z),Math.abs(e.w))};var a=new o;o.lerp=function(e,r,t,n){return o.multiplyByScalar(r,t,a),n=o.multiplyByScalar(e,1-t,n),o.add(a,n,n)};var s=new o;return o.mostOrthogonalAxis=function(e,r){var t=o.normalize(e,s);return o.abs(t,t),r=t.x<=t.y?t.x<=t.z?t.x<=t.w?o.clone(o.UNIT_X,r):o.clone(o.UNIT_W,r):t.z<=t.w?o.clone(o.UNIT_Z,r):o.clone(o.UNIT_W,r):t.y<=t.z?t.y<=t.w?o.clone(o.UNIT_Y,r):o.clone(o.UNIT_W,r):t.z<=t.w?o.clone(o.UNIT_Z,r):o.clone(o.UNIT_W,r)},o.equals=function(e,t){return e===t||r(e)&&r(t)&&e.x===t.x&&e.y===t.y&&e.z===t.z&&e.w===t.w},o.equalsEpsilon=function(e,t,n){return e===t||r(e)&&r(t)&&Math.abs(e.x-t.x)<=n&&Math.abs(e.y-t.y)<=n&&Math.abs(e.z-t.z)<=n&&Math.abs(e.w-t.w)<=n},o.ZERO=n(new o(0,0,0,0)),o.UNIT_X=n(new o(1,0,0,0)),o.UNIT_Y=n(new o(0,1,0,0)),o.UNIT_Z=n(new o(0,0,1,0)),o.UNIT_W=n(new o(0,0,0,1)),o.prototype.clone=function(e){return o.clone(this,e)},o.prototype.equals=function(e){return o.equals(this,e)},o.prototype.equalsEpsilon=function(e,r){return o.equalsEpsilon(this,e,r)},o.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+", "+this.w+")"},o}),define("Core/Matrix3",["./Cartesian3","./defaultValue","./defined","./DeveloperError","./freezeObject","./Math"],function(e,r,t,n,o,i){"use strict";function a(e){for(var r=0,t=0;9>t;++t){var n=e[t];r+=n*n}return Math.sqrt(r)}function s(e){for(var r=0,t=0;3>t;++t){var n=e[l.getElementIndex(f[t],c[t])];r+=2*n*n}return Math.sqrt(r)}function u(e,r){for(var t=i.EPSILON15,n=0,o=1,a=0;3>a;++a){var s=Math.abs(e[l.getElementIndex(f[a],c[a])]);s>n&&(o=a,n=s)}var u=1,m=0,y=c[o],h=f[o];if(Math.abs(e[l.getElementIndex(h,y)])>t){var p,d=e[l.getElementIndex(h,h)],v=e[l.getElementIndex(y,y)],g=e[l.getElementIndex(h,y)],E=(d-v)/2/g;p=0>E?-1/(-E+Math.sqrt(1+E*E)):1/(E+Math.sqrt(1+E*E)),u=1/Math.sqrt(1+p*p),m=p*u}return r=l.clone(l.IDENTITY,r),r[l.getElementIndex(y,y)]=r[l.getElementIndex(h,h)]=u,r[l.getElementIndex(h,y)]=m,r[l.getElementIndex(y,h)]=-m,r}var l=function(e,t,n,o,i,a,s,u,l){this[0]=r(e,0),this[1]=r(o,0),this[2]=r(s,0),this[3]=r(t,0),this[4]=r(i,0),this[5]=r(u,0),this[6]=r(n,0),this[7]=r(a,0),this[8]=r(l,0)};l.clone=function(e,r){return t(e)?t(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r):new l(e[0],e[3],e[6],e[1],e[4],e[7],e[2],e[5],e[8]):void 0},l.fromArray=function(e,n,o){return n=r(n,0),t(o)||(o=new l),o[0]=e[n],o[1]=e[n+1],o[2]=e[n+2],o[3]=e[n+3],o[4]=e[n+4],o[5]=e[n+5],o[6]=e[n+6],o[7]=e[n+7],o[8]=e[n+8],o[9]=e[n+9],o},l.fromColumnMajorArray=function(e,r){return l.clone(e,r)},l.fromRowMajorArray=function(e,r){return t(r)?(r[0]=e[0],r[1]=e[3],r[2]=e[6],r[3]=e[1],r[4]=e[4],r[5]=e[7],r[6]=e[2],r[7]=e[5],r[8]=e[8],r):new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])},l.fromQuaternion=function(e,r){var n=e.x*e.x,o=e.x*e.y,i=e.x*e.z,a=e.x*e.w,s=e.y*e.y,u=e.y*e.z,c=e.y*e.w,f=e.z*e.z,m=e.z*e.w,y=e.w*e.w,h=n-s-f+y,p=2*(o-m),d=2*(i+c),v=2*(o+m),g=-n+s-f+y,E=2*(u-a),C=2*(i-c),S=2*(u+a),w=-n-s+f+y;return t(r)?(r[0]=h,r[1]=v,r[2]=C,r[3]=p,r[4]=g,r[5]=S,r[6]=d,r[7]=E,r[8]=w,r):new l(h,p,d,v,g,E,C,S,w)},l.fromScale=function(e,r){return t(r)?(r[0]=e.x,r[1]=0,r[2]=0,r[3]=0,r[4]=e.y,r[5]=0,r[6]=0,r[7]=0,r[8]=e.z,r):new l(e.x,0,0,0,e.y,0,0,0,e.z)},l.fromUniformScale=function(e,r){return t(r)?(r[0]=e,r[1]=0,r[2]=0,r[3]=0,r[4]=e,r[5]=0,r[6]=0,r[7]=0,r[8]=e,r):new l(e,0,0,0,e,0,0,0,e)},l.fromRotationX=function(e,r){var n=Math.cos(e),o=Math.sin(e);return t(r)?(r[0]=1,r[1]=0,r[2]=0,r[3]=0,r[4]=n,r[5]=o,r[6]=0,r[7]=-o,r[8]=n,r):new l(1,0,0,0,n,-o,0,o,n)},l.fromRotationY=function(e,r){var n=Math.cos(e),o=Math.sin(e);return t(r)?(r[0]=n,r[1]=0,r[2]=-o,r[3]=0,r[4]=1,r[5]=0,r[6]=o,r[7]=0,r[8]=n,r):new l(n,0,o,0,1,0,-o,0,n)},l.fromRotationZ=function(e,r){var n=Math.cos(e),o=Math.sin(e);return t(r)?(r[0]=n,r[1]=o,r[2]=0,r[3]=-o,r[4]=n,r[5]=0,r[6]=0,r[7]=0,r[8]=1,r):new l(n,-o,0,o,n,0,0,0,1)},l.toArray=function(e,r){return t(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8]]},l.getElementIndex=function(e,r){return 3*e+r},l.getColumn=function(r,n,o){var i=3*n,a=r[i],s=r[i+1],u=r[i+2];return t(o)?(o.x=a,o.y=s,o.z=u,o):new e(a,s,u)},l.setColumn=function(e,r,t,n){n=l.clone(e,n);var o=3*r;return n[o]=t.x,n[o+1]=t.y,n[o+2]=t.z,n},l.getRow=function(r,n,o){var i=r[n],a=r[n+3],s=r[n+6];return t(o)?(o.x=i,o.y=a,o.z=s,o):new e(i,a,s)},l.setRow=function(e,r,t,n){return n=l.clone(e,n),n[r]=t.x,n[r+3]=t.y,n[r+6]=t.z,n},l.multiply=function(e,r,n){var o=e[0]*r[0]+e[3]*r[1]+e[6]*r[2],i=e[1]*r[0]+e[4]*r[1]+e[7]*r[2],a=e[2]*r[0]+e[5]*r[1]+e[8]*r[2],s=e[0]*r[3]+e[3]*r[4]+e[6]*r[5],u=e[1]*r[3]+e[4]*r[4]+e[7]*r[5],c=e[2]*r[3]+e[5]*r[4]+e[8]*r[5],f=e[0]*r[6]+e[3]*r[7]+e[6]*r[8],m=e[1]*r[6]+e[4]*r[7]+e[7]*r[8],y=e[2]*r[6]+e[5]*r[7]+e[8]*r[8];return t(n)?(n[0]=o,n[1]=i,n[2]=a,n[3]=s,n[4]=u,n[5]=c,n[6]=f,n[7]=m,n[8]=y,n):new l(o,s,f,i,u,m,a,c,y)},l.multiplyByVector=function(r,n,o){var i=n.x,a=n.y,s=n.z,u=r[0]*i+r[3]*a+r[6]*s,l=r[1]*i+r[4]*a+r[7]*s,c=r[2]*i+r[5]*a+r[8]*s;return t(o)?(o.x=u,o.y=l,o.z=c,o):new e(u,l,c)},l.multiplyByScalar=function(e,r,n){return t(n)?(n[0]=e[0]*r,n[1]=e[1]*r,n[2]=e[2]*r,n[3]=e[3]*r,n[4]=e[4]*r,n[5]=e[5]*r,n[6]=e[6]*r,n[7]=e[7]*r,n[8]=e[8]*r,n):new l(e[0]*r,e[3]*r,e[6]*r,e[1]*r,e[4]*r,e[7]*r,e[2]*r,e[5]*r,e[8]*r)},l.negate=function(e,r){return t(r)?(r[0]=-e[0],r[1]=-e[1],r[2]=-e[2],r[3]=-e[3],r[4]=-e[4],r[5]=-e[5],r[6]=-e[6],r[7]=-e[7],r[8]=-e[8],r):new l(-e[0],-e[3],-e[6],-e[1],-e[4],-e[7],-e[2],-e[5],-e[8]) +},l.transpose=function(e,r){var n=e[0],o=e[3],i=e[6],a=e[1],s=e[4],u=e[7],c=e[2],f=e[5],m=e[8];return t(r)?(r[0]=n,r[1]=o,r[2]=i,r[3]=a,r[4]=s,r[5]=u,r[6]=c,r[7]=f,r[8]=m,r):new l(n,a,c,o,s,f,i,u,m)};var c=[1,0,0],f=[2,2,1],m=new l,y=new l;return l.getEigenDecomposition=function(e,r){var n=i.EPSILON20,o=10,c=0,f=0;t(r)||(r={});for(var h=r.unitary=l.clone(l.IDENTITY,r.unitary),p=r.diagonal=l.clone(e,r.diagonal),d=n*a(p);o>f&&s(p)>d;)u(p,m),l.transpose(m,y),l.multiply(p,m,p),l.multiply(y,p,p),l.multiply(h,m,h),++c>2&&(++f,c=0);return r},l.abs=function(e,r){return t(r)?(r[0]=Math.abs(e[0]),r[1]=Math.abs(e[1]),r[2]=Math.abs(e[2]),r[3]=Math.abs(e[3]),r[4]=Math.abs(e[4]),r[5]=Math.abs(e[5]),r[6]=Math.abs(e[6]),r[7]=Math.abs(e[7]),r[8]=Math.abs(e[8]),r):new l(Math.abs(e[0]),Math.abs(e[3]),Math.abs(e[6]),Math.abs(e[1]),Math.abs(e[4]),Math.abs(e[7]),Math.abs(e[2]),Math.abs(e[5]),Math.abs(e[8]))},l.determinant=function(e){var r=e[0],t=e[3],n=e[6],o=e[1],i=e[4],a=e[7],s=e[2],u=e[5],l=e[8];return r*(i*l-u*a)+o*(u*n-t*l)+s*(t*a-i*n)},l.inverse=function(e,r){var t=e[0],o=e[1],a=e[2],s=e[3],u=e[4],c=e[5],f=e[6],m=e[7],y=e[8],h=l.determinant(e);if(Math.abs(h)<=i.EPSILON15)throw new n("matrix is not invertible");var p=new l(u*y-m*c,f*c-s*y,s*m-f*u,m*a-o*y,t*y-f*a,f*o-t*m,o*c-u*a,s*a-t*c,t*u-s*o),d=1/h;return l.multiplyByScalar(p,d,r)},l.equals=function(e,r){return e===r||t(e)&&t(r)&&e[0]===r[0]&&e[1]===r[1]&&e[2]===r[2]&&e[3]===r[3]&&e[4]===r[4]&&e[5]===r[5]&&e[6]===r[6]&&e[7]===r[7]&&e[8]===r[8]},l.equalsEpsilon=function(e,r,n){return e===r||t(e)&&t(r)&&Math.abs(e[0]-r[0])<=n&&Math.abs(e[1]-r[1])<=n&&Math.abs(e[2]-r[2])<=n&&Math.abs(e[3]-r[3])<=n&&Math.abs(e[4]-r[4])<=n&&Math.abs(e[5]-r[5])<=n&&Math.abs(e[6]-r[6])<=n&&Math.abs(e[7]-r[7])<=n&&Math.abs(e[8]-r[8])<=n},l.IDENTITY=o(new l(1,0,0,0,1,0,0,0,1)),l.COLUMN0ROW0=0,l.COLUMN0ROW1=1,l.COLUMN0ROW2=2,l.COLUMN1ROW0=3,l.COLUMN1ROW1=4,l.COLUMN1ROW2=5,l.COLUMN2ROW0=6,l.COLUMN2ROW1=7,l.COLUMN2ROW2=8,l.prototype.clone=function(e){return l.clone(this,e)},l.prototype.equals=function(e){return l.equals(this,e)},l.prototype.equalsEpsilon=function(e,r){return l.equalsEpsilon(this,e,r)},l.prototype.toString=function(){return"("+this[0]+", "+this[3]+", "+this[6]+")\n"+"("+this[1]+", "+this[4]+", "+this[7]+")\n"+"("+this[2]+", "+this[5]+", "+this[8]+")"},l}),define("Core/RuntimeError",["./defined"],function(e){"use strict";var r=function(e){this.name="RuntimeError",this.message=e;var r;try{throw new Error}catch(t){r=t.stack}this.stack=r};return r.prototype.toString=function(){var r=this.name+": "+this.message;return e(this.stack)&&(r+="\n"+this.stack.toString()),r},r}),define("Core/Matrix4",["./Cartesian3","./Cartesian4","./defaultValue","./defined","./DeveloperError","./freezeObject","./Math","./Matrix3","./RuntimeError"],function(e,r,t,n,o,i,a,s,u){"use strict";var l=function(e,r,n,o,i,a,s,u,l,c,f,m,y,h,p,d){this[0]=t(e,0),this[1]=t(i,0),this[2]=t(l,0),this[3]=t(y,0),this[4]=t(r,0),this[5]=t(a,0),this[6]=t(c,0),this[7]=t(h,0),this[8]=t(n,0),this[9]=t(s,0),this[10]=t(f,0),this[11]=t(p,0),this[12]=t(o,0),this[13]=t(u,0),this[14]=t(m,0),this[15]=t(d,0)};l.clone=function(e,r){return n(e)?n(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r[9]=e[9],r[10]=e[10],r[11]=e[11],r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15],r):new l(e[0],e[4],e[8],e[12],e[1],e[5],e[9],e[13],e[2],e[6],e[10],e[14],e[3],e[7],e[11],e[15]):void 0},l.fromArray=function(e,r,o){return r=t(r,0),n(o)||(o=new l),o[0]=e[r],o[1]=e[r+1],o[2]=e[r+2],o[3]=e[r+3],o[4]=e[r+4],o[5]=e[r+5],o[6]=e[r+6],o[7]=e[r+7],o[8]=e[r+8],o[9]=e[r+9],o[10]=e[r+10],o[11]=e[r+11],o[12]=e[r+12],o[13]=e[r+13],o[14]=e[r+14],o[15]=e[r+15],o},l.fromColumnMajorArray=function(e,r){return l.clone(e,r)},l.fromRowMajorArray=function(e,r){return n(r)?(r[0]=e[0],r[1]=e[4],r[2]=e[8],r[3]=e[12],r[4]=e[1],r[5]=e[5],r[6]=e[9],r[7]=e[13],r[8]=e[2],r[9]=e[6],r[10]=e[10],r[11]=e[14],r[12]=e[3],r[13]=e[7],r[14]=e[11],r[15]=e[15],r):new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])},l.fromRotationTranslation=function(e,r,t){return n(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=0,t[4]=e[3],t[5]=e[4],t[6]=e[5],t[7]=0,t[8]=e[6],t[9]=e[7],t[10]=e[8],t[11]=0,t[12]=r.x,t[13]=r.y,t[14]=r.z,t[15]=1,t):new l(e[0],e[3],e[6],r.x,e[1],e[4],e[7],r.y,e[2],e[5],e[8],r.z,0,0,0,1)},new s,l.fromTranslationQuaternionRotationScale=function(e,r,t,o){n(o)||(o=new l);var i=t.x,a=t.y,s=t.z,u=r.x*r.x,c=r.x*r.y,f=r.x*r.z,m=r.x*r.w,y=r.y*r.y,h=r.y*r.z,p=r.y*r.w,d=r.z*r.z,v=r.z*r.w,g=r.w*r.w,E=u-y-d+g,C=2*(c-v),S=2*(f+p),w=2*(c+v),A=-u+y-d+g,x=2*(h-m),b=2*(f-p),M=2*(h+m),T=-u-y+d+g;return o[0]=E*i,o[1]=w*i,o[2]=b*i,o[3]=0,o[4]=C*a,o[5]=A*a,o[6]=M*a,o[7]=0,o[8]=S*s,o[9]=x*s,o[10]=T*s,o[11]=0,o[12]=e.x,o[13]=e.y,o[14]=e.z,o[15]=1,o},l.fromTranslation=function(e,r){return l.fromRotationTranslation(s.IDENTITY,e,r)},l.fromScale=function(e,r){return n(r)?(r[0]=e.x,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=e.y,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=e.z,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r):new l(e.x,0,0,0,0,e.y,0,0,0,0,e.z,0,0,0,0,1)},l.fromUniformScale=function(e,r){return n(r)?(r[0]=e,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=e,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=e,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r):new l(e,0,0,0,0,e,0,0,0,0,e,0,0,0,0,1)};var c=new e,f=new e,m=new e;l.fromCamera=function(r,t){var o=r.eye,i=r.target,a=r.up;e.normalize(e.subtract(i,o,c),c),e.normalize(e.cross(c,a,f),f),e.normalize(e.cross(f,c,m),m);var s=f.x,u=f.y,y=f.z,h=c.x,p=c.y,d=c.z,v=m.x,g=m.y,E=m.z,C=o.x,S=o.y,w=o.z,A=s*-C+u*-S+y*-w,x=v*-C+g*-S+E*-w,b=h*C+p*S+d*w;return n(t)?(t[0]=s,t[1]=v,t[2]=-h,t[3]=0,t[4]=u,t[5]=g,t[6]=-p,t[7]=0,t[8]=y,t[9]=E,t[10]=-d,t[11]=0,t[12]=A,t[13]=x,t[14]=b,t[15]=1,t):new l(s,u,y,A,v,g,E,x,-h,-p,-d,b,0,0,0,1)},l.computePerspectiveFieldOfView=function(e,r,t,o,i){var a=Math.tan(.5*e),s=1/a,u=s/r,c=(o+t)/(t-o),f=2*o*t/(t-o);return n(i)?(i[0]=u,i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=s,i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=c,i[11]=-1,i[12]=0,i[13]=0,i[14]=f,i[15]=0,i):new l(u,0,0,0,0,s,0,0,0,0,c,f,0,0,-1,0)},l.computeOrthographicOffCenter=function(e,r,t,o,i,a,s){var u=1/(r-e),c=1/(o-t),f=1/(a-i),m=-(r+e)*u,y=-(o+t)*c,h=-(a+i)*f;return u*=2,c*=2,f*=-2,n(s)?(s[0]=u,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=c,s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=f,s[11]=0,s[12]=m,s[13]=y,s[14]=h,s[15]=1,s):new l(u,0,0,m,0,c,0,y,0,0,f,h,0,0,0,1)},l.computePerspectiveOffCenter=function(e,r,t,o,i,a,s){var u=2*i/(r-e),c=2*i/(o-t),f=(r+e)/(r-e),m=(o+t)/(o-t),y=-(a+i)/(a-i),h=-1,p=-2*a*i/(a-i);return n(s)?(s[0]=u,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=c,s[6]=0,s[7]=0,s[8]=f,s[9]=m,s[10]=y,s[11]=h,s[12]=0,s[13]=0,s[14]=p,s[15]=0,s):new l(u,0,f,0,0,c,m,0,0,0,y,p,0,0,h,0)},l.computeInfinitePerspectiveOffCenter=function(e,r,t,o,i,a){var s=2*i/(r-e),u=2*i/(o-t),c=(r+e)/(r-e),f=(o+t)/(o-t),m=-1,y=-1,h=-2*i;return n(a)?(a[0]=s,a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=u,a[6]=0,a[7]=0,a[8]=c,a[9]=f,a[10]=m,a[11]=y,a[12]=0,a[13]=0,a[14]=h,a[15]=0,a):new l(s,0,c,0,0,u,f,0,0,0,m,h,0,0,y,0)},l.computeViewportTransformation=function(e,r,o,i){e=t(e,t.EMPTY_OBJECT);var a=t(e.x,0),s=t(e.y,0),u=t(e.width,0),c=t(e.height,0);r=t(r,0),o=t(o,1);var f=.5*u,m=.5*c,y=.5*(o-r),h=f,p=m,d=y,v=a+f,g=s+m,E=r+y,C=1;return n(i)?(i[0]=h,i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=p,i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=d,i[11]=0,i[12]=v,i[13]=g,i[14]=E,i[15]=C,i):new l(h,0,0,v,0,p,0,g,0,0,d,E,0,0,0,C)},l.toArray=function(e,r){return n(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r[9]=e[9],r[10]=e[10],r[11]=e[11],r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15],r):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]]},l.getElementIndex=function(e,r){return 4*e+r},l.getColumn=function(e,t,o){var i=4*t,a=e[i],s=e[i+1],u=e[i+2],l=e[i+3];return n(o)?(o.x=a,o.y=s,o.z=u,o.w=l,o):new r(a,s,u,l)},l.setColumn=function(e,r,t,n){n=l.clone(e,n);var o=4*r;return n[o]=t.x,n[o+1]=t.y,n[o+2]=t.z,n[o+3]=t.w,n},l.getRow=function(e,t,o){var i=e[t],a=e[t+4],s=e[t+8],u=e[t+12];return n(o)?(o.x=i,o.y=a,o.z=s,o.w=u,o):new r(i,a,s,u)},l.setRow=function(e,r,t,n){return n=l.clone(e,n),n[r]=t.x,n[r+4]=t.y,n[r+8]=t.z,n[r+12]=t.w,n},l.multiply=function(e,r,t){var o=e[0],i=e[1],a=e[2],s=e[3],u=e[4],c=e[5],f=e[6],m=e[7],y=e[8],h=e[9],p=e[10],d=e[11],v=e[12],g=e[13],E=e[14],C=e[15],S=r[0],w=r[1],A=r[2],x=r[3],b=r[4],M=r[5],T=r[6],O=r[7],I=r[8],N=r[9],R=r[10],L=r[11],z=r[12],F=r[13],D=r[14],P=r[15],B=o*S+u*w+y*A+v*x,_=i*S+c*w+h*A+g*x,U=a*S+f*w+p*A+E*x,G=s*S+m*w+d*A+C*x,q=o*b+u*M+y*T+v*O,Y=i*b+c*M+h*T+g*O,W=a*b+f*M+p*T+E*O,V=s*b+m*M+d*T+C*O,H=o*I+u*N+y*R+v*L,k=i*I+c*N+h*R+g*L,K=a*I+f*N+p*R+E*L,j=s*I+m*N+d*R+C*L,Z=o*z+u*F+y*D+v*P,Q=i*z+c*F+h*D+g*P,X=a*z+f*F+p*D+E*P,J=s*z+m*F+d*D+C*P;return n(t)?(t[0]=B,t[1]=_,t[2]=U,t[3]=G,t[4]=q,t[5]=Y,t[6]=W,t[7]=V,t[8]=H,t[9]=k,t[10]=K,t[11]=j,t[12]=Z,t[13]=Q,t[14]=X,t[15]=J,t):new l(B,q,H,Z,_,Y,k,Q,U,W,K,X,G,V,j,J)},l.multiplyTransformation=function(e,r,t){var o=e[0],i=e[1],a=e[2],s=e[4],u=e[5],c=e[6],f=e[8],m=e[9],y=e[10],h=e[12],p=e[13],d=e[14],v=r[0],g=r[1],E=r[2],C=r[4],S=r[5],w=r[6],A=r[8],x=r[9],b=r[10],M=r[12],T=r[13],O=r[14],I=o*v+s*g+f*E,N=i*v+u*g+m*E,R=a*v+c*g+y*E,L=o*C+s*S+f*w,z=i*C+u*S+m*w,F=a*C+c*S+y*w,D=o*A+s*x+f*b,P=i*A+u*x+m*b,B=a*A+c*x+y*b,_=o*M+s*T+f*O+h,U=i*M+u*T+m*O+p,G=a*M+c*T+y*O+d;return n(t)?(t[0]=I,t[1]=N,t[2]=R,t[3]=0,t[4]=L,t[5]=z,t[6]=F,t[7]=0,t[8]=D,t[9]=P,t[10]=B,t[11]=0,t[12]=_,t[13]=U,t[14]=G,t[15]=1,t):new l(I,L,D,_,N,z,P,U,R,F,B,G,0,0,0,1)},l.multiplyByTranslation=function(e,r,t){var o=r.x,i=r.y,a=r.z,s=o*e[0]+i*e[4]+a*e[8]+e[12],u=o*e[1]+i*e[5]+a*e[9]+e[13],c=o*e[2]+i*e[6]+a*e[10]+e[14];return n(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=s,t[13]=u,t[14]=c,t[15]=e[15],t):new l(e[0],e[4],e[8],s,e[1],e[5],e[9],u,e[2],e[6],e[10],c,e[3],e[7],e[11],e[15])};var y=new e;return l.multiplyByUniformScale=function(e,r,t){return y.x=r,y.y=r,y.z=r,l.multiplyByScale(e,y,t)},l.multiplyByScale=function(e,r,t){var o=r.x,i=r.y,a=r.z;return 1===o&&1===i&&1===a?l.clone(e,t):n(t)?(t[0]=o*e[0],t[1]=o*e[1],t[2]=o*e[2],t[3]=0,t[4]=i*e[4],t[5]=i*e[5],t[6]=i*e[6],t[7]=0,t[8]=a*e[8],t[9]=a*e[9],t[10]=a*e[10],t[11]=0,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=1,t):new l(o*e[0],i*e[4],a*e[8],e[12],o*e[1],i*e[5],a*e[9],e[13],o*e[2],i*e[6],a*e[10],e[14],0,0,0,1)},l.multiplyByVector=function(e,t,o){var i=t.x,a=t.y,s=t.z,u=t.w,l=e[0]*i+e[4]*a+e[8]*s+e[12]*u,c=e[1]*i+e[5]*a+e[9]*s+e[13]*u,f=e[2]*i+e[6]*a+e[10]*s+e[14]*u,m=e[3]*i+e[7]*a+e[11]*s+e[15]*u;return n(o)?(o.x=l,o.y=c,o.z=f,o.w=m,o):new r(l,c,f,m)},l.multiplyByPointAsVector=function(r,t,o){var i=t.x,a=t.y,s=t.z,u=r[0]*i+r[4]*a+r[8]*s,l=r[1]*i+r[5]*a+r[9]*s,c=r[2]*i+r[6]*a+r[10]*s;return n(o)?(o.x=u,o.y=l,o.z=c,o):new e(u,l,c)},l.multiplyByPoint=function(r,t,o){var i=t.x,a=t.y,s=t.z,u=r[0]*i+r[4]*a+r[8]*s+r[12],l=r[1]*i+r[5]*a+r[9]*s+r[13],c=r[2]*i+r[6]*a+r[10]*s+r[14];return n(o)?(o.x=u,o.y=l,o.z=c,o):new e(u,l,c)},l.multiplyByScalar=function(e,r,t){return n(t)?(t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*r,t[9]=e[9]*r,t[10]=e[10]*r,t[11]=e[11]*r,t[12]=e[12]*r,t[13]=e[13]*r,t[14]=e[14]*r,t[15]=e[15]*r,t):new l(e[0]*r,e[4]*r,e[8]*r,e[12]*r,e[1]*r,e[5]*r,e[9]*r,e[13]*r,e[2]*r,e[6]*r,e[10]*r,e[14]*r,e[3]*r,e[7]*r,e[11]*r,e[15]*r)},l.negate=function(e,r){return n(r)?(r[0]=-e[0],r[1]=-e[1],r[2]=-e[2],r[3]=-e[3],r[4]=-e[4],r[5]=-e[5],r[6]=-e[6],r[7]=-e[7],r[8]=-e[8],r[9]=-e[9],r[10]=-e[10],r[11]=-e[11],r[12]=-e[12],r[13]=-e[13],r[14]=-e[14],r[15]=-e[15],r):new l(-e[0],-e[4],-e[8],-e[12],-e[1],-e[5],-e[9],-e[13],-e[2],-e[6],-e[10],-e[14],-e[3],-e[7],-e[11],-e[15])},l.transpose=function(e,r){if(!n(r))return new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]);var t=e[1],o=e[2],i=e[3],a=e[6],s=e[7],u=e[11];return r[0]=e[0],r[1]=e[4],r[2]=e[8],r[3]=e[12],r[4]=t,r[5]=e[5],r[6]=e[9],r[7]=e[13],r[8]=o,r[9]=a,r[10]=e[10],r[11]=e[14],r[12]=i,r[13]=s,r[14]=u,r[15]=e[15],r},l.abs=function(e,r){return n(r)?(r[0]=Math.abs(e[0]),r[1]=Math.abs(e[1]),r[2]=Math.abs(e[2]),r[3]=Math.abs(e[3]),r[4]=Math.abs(e[4]),r[5]=Math.abs(e[5]),r[6]=Math.abs(e[6]),r[7]=Math.abs(e[7]),r[8]=Math.abs(e[8]),r[9]=Math.abs(e[9]),r[10]=Math.abs(e[10]),r[11]=Math.abs(e[11]),r[12]=Math.abs(e[12]),r[13]=Math.abs(e[13]),r[14]=Math.abs(e[14]),r[15]=Math.abs(e[15]),r):new l(Math.abs(e[0]),Math.abs(e[4]),Math.abs(e[8]),Math.abs(e[12]),Math.abs(e[1]),Math.abs(e[5]),Math.abs(e[9]),Math.abs(e[13]),Math.abs(e[2]),Math.abs(e[6]),Math.abs(e[10]),Math.abs(e[14]),Math.abs(e[3]),Math.abs(e[7]),Math.abs(e[11]),Math.abs(e[15]))},l.equals=function(e,r){return e===r||n(e)&&n(r)&&e[0]===r[0]&&e[1]===r[1]&&e[2]===r[2]&&e[3]===r[3]&&e[4]===r[4]&&e[5]===r[5]&&e[6]===r[6]&&e[7]===r[7]&&e[8]===r[8]&&e[9]===r[9]&&e[10]===r[10]&&e[11]===r[11]&&e[12]===r[12]&&e[13]===r[13]&&e[14]===r[14]&&e[15]===r[15]},l.equalsEpsilon=function(e,r,t){return e===r||n(e)&&n(r)&&Math.abs(e[0]-r[0])<=t&&Math.abs(e[1]-r[1])<=t&&Math.abs(e[2]-r[2])<=t&&Math.abs(e[3]-r[3])<=t&&Math.abs(e[4]-r[4])<=t&&Math.abs(e[5]-r[5])<=t&&Math.abs(e[6]-r[6])<=t&&Math.abs(e[7]-r[7])<=t&&Math.abs(e[8]-r[8])<=t&&Math.abs(e[9]-r[9])<=t&&Math.abs(e[10]-r[10])<=t&&Math.abs(e[11]-r[11])<=t&&Math.abs(e[12]-r[12])<=t&&Math.abs(e[13]-r[13])<=t&&Math.abs(e[14]-r[14])<=t&&Math.abs(e[15]-r[15])<=t},l.getTranslation=function(r,t){return n(t)?(t.x=r[12],t.y=r[13],t.z=r[14],t):new e(r[12],r[13],r[14])},l.getRotation=function(e,r){return n(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[4],r[4]=e[5],r[5]=e[6],r[6]=e[8],r[7]=e[9],r[8]=e[10],r):new s(e[0],e[4],e[8],e[1],e[5],e[9],e[2],e[6],e[10])},l.inverse=function(e,r){var t=e[0],o=e[4],i=e[8],s=e[12],c=e[1],f=e[5],m=e[9],y=e[13],h=e[2],p=e[6],d=e[10],v=e[14],g=e[3],E=e[7],C=e[11],S=e[15],w=d*S,A=v*C,x=p*S,b=v*E,M=p*C,T=d*E,O=h*S,I=v*g,N=h*C,R=d*g,L=h*E,z=p*g,F=w*f+b*m+M*y-(A*f+x*m+T*y),D=A*c+O*m+R*y-(w*c+I*m+N*y),P=x*c+I*f+L*y-(b*c+O*f+z*y),B=T*c+N*f+z*m-(M*c+R*f+L*m),_=A*o+x*i+T*s-(w*o+b*i+M*s),U=w*t+I*i+N*s-(A*t+O*i+R*s),G=b*t+O*o+z*s-(x*t+I*o+L*s),q=M*t+R*o+L*i-(T*t+N*o+z*i);w=i*y,A=s*m,x=o*y,b=s*f,M=o*m,T=i*f,O=t*y,I=s*c,N=t*m,R=i*c,L=t*f,z=o*c;var Y=w*E+b*C+M*S-(A*E+x*C+T*S),W=A*g+O*C+R*S-(w*g+I*C+N*S),V=x*g+I*E+L*S-(b*g+O*E+z*S),H=T*g+N*E+z*C-(M*g+R*E+L*C),k=x*d+T*v+A*p-(M*v+w*p+b*d),K=N*v+w*h+I*d-(O*d+R*v+A*h),j=O*p+z*v+b*h-(L*v+x*h+I*p),Z=L*d+M*h+R*p-(N*p+z*d+T*h),Q=t*F+o*D+i*P+s*B;if(Math.abs(Q)b;b++){e.clone(r[b],o);var M=o.x,T=o.y,O=o.z;Mu.x&&e.clone(o,u),Tl.y&&e.clone(o,l),OA.z&&e.clone(o,A)}var I=e.magnitudeSquared(e.subtract(u,i,g)),N=e.magnitudeSquared(e.subtract(l,a,g)),R=e.magnitudeSquared(e.subtract(A,s,g)),L=i,z=u,F=I;N>F&&(F=N,L=a,z=l),R>F&&(F=R,L=s,z=A);var D=E;D.x=.5*(L.x+z.x),D.y=.5*(L.y+z.y),D.z=.5*(L.z+z.z);var P=e.magnitudeSquared(e.subtract(z,D,g)),B=Math.sqrt(P),_=C;_.x=i.x,_.y=a.y,_.z=s.z;var U=S;U.x=u.x,U.y=l.y,U.z=A.z;var G=e.multiplyByScalar(e.add(_,U,g),.5,w),q=0;for(b=0;x>b;b++){e.clone(r[b],o);var Y=e.magnitude(e.subtract(o,G,g));Y>q&&(q=Y);var W=e.magnitudeSquared(e.subtract(o,D,g));if(W>P){var V=Math.sqrt(W);B=.5*(B+V),P=B*B;var H=V-B;D.x=(B*D.x+H*o.x)/V,D.y=(B*D.y+H*o.y)/V,D.z=(B*D.z+H*o.z)/V}}return q>B?(e.clone(D,t.center),t.radius=B):(e.clone(G,t.center),t.radius=q),t};var A=new a,x=new e,b=new e,M=new r,T=new r;c.fromExtent2D=function(e,r,t){return c.fromExtentWithHeights2D(e,r,0,0,t)},c.fromExtentWithHeights2D=function(r,o,i,a,s){if(n(s)||(s=new c),!n(r))return s.center=e.clone(e.ZERO,s.center),s.radius=0,s;o=t(o,A),r.getSouthwest(M),M.height=i,r.getNortheast(T),T.height=a;var u=o.project(M,x),l=o.project(T,b),f=l.x-u.x,m=l.y-u.y,y=l.z-u.z;s.radius=.5*Math.sqrt(f*f+m*m+y*y);var h=s.center;return h.x=u.x+.5*f,h.y=u.y+.5*m,h.z=u.z+.5*y,s};var O=[];c.fromExtent3D=function(e,r,o,a){r=t(r,i.WGS84),o=t(o,0);var s;return n(e)&&(s=e.subsample(r,o,O)),c.fromPoints(s,a)},c.fromVertices=function(r,o,i,a){if(n(a)||(a=new c),!n(r)||0===r.length)return a.center=e.clone(e.ZERO,a.center),a.radius=0,a;o=t(o,e.ZERO),i=t(i,3);var s=v;s.x=r[0]+o.x,s.y=r[1]+o.y,s.z=r[2]+o.z;for(var u=e.clone(s,f),l=e.clone(s,m),A=e.clone(s,y),x=e.clone(s,h),b=e.clone(s,p),M=e.clone(s,d),T=r.length,O=0;T>O;O+=i){var I=r[O]+o.x,N=r[O+1]+o.y,R=r[O+2]+o.z;s.x=I,s.y=N,s.z=R,Ix.x&&e.clone(s,x),Nb.y&&e.clone(s,b),RM.z&&e.clone(s,M)}var L=e.magnitudeSquared(e.subtract(x,u,g)),z=e.magnitudeSquared(e.subtract(b,l,g)),F=e.magnitudeSquared(e.subtract(M,A,g)),D=u,P=x,B=L;z>B&&(B=z,D=l,P=b),F>B&&(B=F,D=A,P=M);var _=E;_.x=.5*(D.x+P.x),_.y=.5*(D.y+P.y),_.z=.5*(D.z+P.z);var U=e.magnitudeSquared(e.subtract(P,_,g)),G=Math.sqrt(U),q=C;q.x=u.x,q.y=l.y,q.z=A.z;var Y=S;Y.x=x.x,Y.y=b.y,Y.z=M.z;var W=e.multiplyByScalar(e.add(q,Y,g),.5,w),V=0;for(O=0;T>O;O+=i){s.x=r[O]+o.x,s.y=r[O+1]+o.y,s.z=r[O+2]+o.z;var H=e.magnitude(e.subtract(s,W,g));H>V&&(V=H);var k=e.magnitudeSquared(e.subtract(s,_,g));if(k>U){var K=Math.sqrt(k);G=.5*(G+K),U=G*G;var j=K-G;_.x=(G*_.x+j*s.x)/K,_.y=(G*_.y+j*s.y)/K,_.z=(G*_.z+j*s.z)/K}}return V>G?(e.clone(_,a.center),a.radius=G):(e.clone(W,a.center),a.radius=V),a},c.fromCornerPoints=function(r,t,o){n(o)||(o=new c);var i=o.center;return e.add(r,t,i),e.multiplyByScalar(i,.5,i),o.radius=e.distance(i,t),o},c.fromEllipsoid=function(r,t){return n(t)||(t=new c),e.clone(e.ZERO,t.center),t.radius=r.maximumRadius,t},c.clone=function(r,t){return n(r)?n(t)?(t.center=e.clone(r.center,t.center),t.radius=r.radius,t):new c(r.center,r.radius):void 0};var I=new e,N=new e;c.union=function(r,t,o){n(o)||(o=new c);var i=r.center,a=t.center;e.add(i,a,N);var s=e.multiplyByScalar(N,.5,N),u=e.magnitude(e.subtract(i,s,I))+r.radius,l=e.magnitude(e.subtract(a,s,I))+t.radius;return o.radius=Math.max(u,l),e.clone(s,o.center),o};var R=new e;c.expand=function(r,t,n){n=c.clone(r,n);var o=e.magnitude(e.subtract(t,n.center,R));return o>n.radius&&(n.radius=o),n},c.intersect=function(r,t){var n=r.center,o=r.radius,i=e.dot(t,n)+t.w;return-o>i?s.OUTSIDE:o>i?s.INTERSECTING:s.INSIDE};var L=new e;c.transform=function(r,t,o){return n(o)||(o=new c),o.center=l.multiplyByPoint(t,r.center,o.center),o.radius=Math.max(e.magnitude(l.getColumn(t,0,L)),e.magnitude(l.getColumn(t,1,L)),e.magnitude(l.getColumn(t,2,L)))*r.radius,o},c.transformWithoutScale=function(e,r,t){return n(t)||(t=new c),t.center=l.multiplyByPoint(r,e.center,t.center),t.radius=e.radius,t};var z=new e;c.getPlaneDistances=function(r,t,o,i){n(i)||(i=new u);var a=e.subtract(r.center,t,z),s=e.multiplyByScalar(o,e.dot(o,a),z),l=e.magnitude(s);return i.start=l-r.radius,i.stop=l+r.radius,i};for(var F=new e,D=new e,P=new e,B=new e,_=new e,U=new r,G=new Array(8),q=0;8>q;++q)G[q]=new e;var Y=new a;return c.projectTo2D=function(r,n,o){n=t(n,Y);var i=n.ellipsoid,a=r.center,s=r.radius,u=i.geodeticSurfaceNormal(a,F),l=e.cross(e.UNIT_Z,u,D);e.normalize(l,l);var f=e.cross(u,l,P);e.normalize(f,f),e.multiplyByScalar(u,s,u),e.multiplyByScalar(f,s,f),e.multiplyByScalar(l,s,l);var m=e.negate(f,_),y=e.negate(l,B),h=G,p=h[0];e.add(u,f,p),e.add(p,l,p),p=h[1],e.add(u,f,p),e.add(p,y,p),p=h[2],e.add(u,m,p),e.add(p,y,p),p=h[3],e.add(u,m,p),e.add(p,l,p),e.negate(u,u),p=h[4],e.add(u,f,p),e.add(p,l,p),p=h[5],e.add(u,f,p),e.add(p,y,p),p=h[6],e.add(u,m,p),e.add(p,y,p),p=h[7],e.add(u,m,p),e.add(p,l,p);for(var d=h.length,v=0;d>v;++v){var g=h[v];e.add(a,g,g);var E=i.cartesianToCartographic(g,U);n.project(E,g)}o=c.fromPoints(h,o),a=o.center;var C=a.x,S=a.y,w=a.z;return a.x=w,a.y=C,a.z=S,o},c.equals=function(r,t){return r===t||n(r)&&n(t)&&e.equals(r.center,t.center)&&r.radius===t.radius},c.prototype.clone=function(e){return c.clone(this,e)},c.prototype.union=function(e,r){return c.union(this,e,r)},c.prototype.expand=function(e,r){return c.expand(this,e,r)},c.prototype.intersect=function(e){return c.intersect(this,e)},c.prototype.getPlaneDistances=function(e,r,t){return c.getPlaneDistances(this,e,r,t)},c.prototype.projectTo2D=function(e,r){return c.projectTo2D(this,e,r)},c.prototype.equals=function(e){return c.equals(this,e)},c}),define("Core/Geometry",["./defaultValue","./defined","./DeveloperError"],function(e,r,t){"use strict";var n=function(r){r=e(r,e.EMPTY_OBJECT),this.attributes=r.attributes,this.indices=r.indices,this.primitiveType=r.primitiveType,this.boundingSphere=r.boundingSphere};return n.computeNumberOfVertices=function(e){var n=-1;for(var o in e.attributes)if(e.attributes.hasOwnProperty(o)&&r(e.attributes[o])&&r(e.attributes[o].values)){var i=e.attributes[o],a=i.values.length/i.componentsPerAttribute;if(n!==a&&-1!==n)throw new t("All attribute lists must have the same number of attributes.");n=a}return n},n}),define("Core/GeometryAttribute",["./defaultValue","./defined","./DeveloperError"],function(e){"use strict";var r=function(r){r=e(r,e.EMPTY_OBJECT),this.componentDatatype=r.componentDatatype,this.componentsPerAttribute=r.componentsPerAttribute,this.normalize=e(r.normalize,!1),this.values=r.values};return r}),define("Core/GeometryAttributes",["./defaultValue"],function(e){"use strict";var r=function(r){r=e(r,e.EMPTY_OBJECT),this.position=r.position,this.normal=r.normal,this.st=r.st,this.binormal=r.binormal,this.tangent=r.tangent,this.color=r.color};return r}),define("Core/VertexFormat",["./defaultValue","./freezeObject"],function(e,r){"use strict";var t=function(r){r=e(r,e.EMPTY_OBJECT),this.position=e(r.position,!1),this.normal=e(r.normal,!1),this.st=e(r.st,!1),this.binormal=e(r.binormal,!1),this.tangent=e(r.tangent,!1)};return t.POSITION_ONLY=r(new t({position:!0})),t.POSITION_AND_NORMAL=r(new t({position:!0,normal:!0})),t.POSITION_NORMAL_AND_ST=r(new t({position:!0,normal:!0,st:!0})),t.POSITION_AND_ST=r(new t({position:!0,st:!0})),t.ALL=r(new t({position:!0,normal:!0,st:!0,binormal:!0,tangent:!0})),t.DEFAULT=t.POSITION_NORMAL_AND_ST,t}),define("Core/CylinderGeometry",["./defaultValue","./defined","./DeveloperError","./Cartesian2","./Cartesian3","./CylinderGeometryLibrary","./Math","./ComponentDatatype","./IndexDatatype","./PrimitiveType","./BoundingSphere","./Geometry","./GeometryAttribute","./GeometryAttributes","./VertexFormat"],function(e,r,t,n,o,i,a,s,u,l,c,f,m,y,h){"use strict";var p=new n,d=new o,v=new o,g=new o,E=new o,C=function(r){r=e(r,e.EMPTY_OBJECT);var t=r.length,n=r.topRadius,o=r.bottomRadius,i=e(r.vertexFormat,h.DEFAULT),a=e(r.slices,128);this._length=t,this._topRadius=n,this._bottomRadius=o,this._vertexFormat=i,this._slices=a,this._workerName="createCylinderGeometry"};return C.createGeometry=function(e){var r,t=e._length,h=e._topRadius,C=e._bottomRadius,S=e._vertexFormat,w=e._slices,A=w+w,x=w+A,b=A+A,M=i.computePositions(t,h,C,w,!0),T=S.st?new Float32Array(2*b):void 0,O=S.normal?new Float32Array(3*b):void 0,I=S.tangent?new Float32Array(3*b):void 0,N=S.binormal?new Float32Array(3*b):void 0,R=S.normal||S.tangent||S.binormal;if(R){var L=S.tangent||S.binormal,z=0,F=0,D=0,P=d;P.z=0;var B=g,_=v;for(r=0;w>r;r++){var U=r/w*a.TWO_PI,G=Math.cos(U),q=Math.sin(U);R&&(P.x=G,P.y=q,L&&(B=o.normalize(o.cross(o.UNIT_Z,P,B),B)),S.normal&&(O[z++]=G,O[z++]=q,O[z++]=0,O[z++]=G,O[z++]=q,O[z++]=0),S.tangent&&(I[F++]=B.x,I[F++]=B.y,I[F++]=B.z,I[F++]=B.x,I[F++]=B.y,I[F++]=B.z),S.binormal&&(_=o.normalize(o.cross(P,B,_),_),N[D++]=_.x,N[D++]=_.y,N[D++]=_.z,N[D++]=_.x,N[D++]=_.y,N[D++]=_.z))}for(r=0;w>r;r++)S.normal&&(O[z++]=0,O[z++]=0,O[z++]=-1),S.tangent&&(I[F++]=1,I[F++]=0,I[F++]=0),S.binormal&&(N[D++]=0,N[D++]=-1,N[D++]=0);for(r=0;w>r;r++)S.normal&&(O[z++]=0,O[z++]=0,O[z++]=1),S.tangent&&(I[F++]=1,I[F++]=0,I[F++]=0),S.binormal&&(N[D++]=0,N[D++]=1,N[D++]=0)}var Y=12*w-12,W=u.createTypedArray(b,Y),V=0,H=0;for(r=0;w-1>r;r++)W[V++]=H,W[V++]=H+2,W[V++]=H+3,W[V++]=H,W[V++]=H+3,W[V++]=H+1,H+=2;for(W[V++]=A-2,W[V++]=0,W[V++]=1,W[V++]=A-2,W[V++]=1,W[V++]=A-1,r=1;w-1>r;r++)W[V++]=A+r+1,W[V++]=A+r,W[V++]=A;for(r=1;w-1>r;r++)W[V++]=x,W[V++]=x+r,W[V++]=x+r+1;var k=0;if(S.st){var K=Math.max(h,C);for(r=0;b>r;r++){var j=o.fromArray(M,3*r,E);T[k++]=(j.x+K)/(2*K),T[k++]=(j.y+K)/(2*K)}}var Z=new y;S.position&&(Z.position=new m({componentDatatype:s.DOUBLE,componentsPerAttribute:3,values:M})),S.normal&&(Z.normal=new m({componentDatatype:s.FLOAT,componentsPerAttribute:3,values:O})),S.tangent&&(Z.tangent=new m({componentDatatype:s.FLOAT,componentsPerAttribute:3,values:I})),S.binormal&&(Z.binormal=new m({componentDatatype:s.FLOAT,componentsPerAttribute:3,values:N})),S.st&&(Z.st=new m({componentDatatype:s.FLOAT,componentsPerAttribute:2,values:T})),p.x=.5*t,p.y=Math.max(C,h);var Q=new c(o.ZERO,n.magnitude(p));return new f({attributes:Z,indices:W,primitiveType:l.TRIANGLES,boundingSphere:Q})},C}),define("Core/Color",["./defaultValue","./defined","./freezeObject","./DeveloperError","./FeatureDetection","./Math"],function(e,r,t,n,o,i){"use strict";function a(e,r,t){return 0>t&&(t+=1),t>1&&(t-=1),1>6*t?e+6*(r-e)*t:1>2*t?r:2>3*t?e+6*(r-e)*(2/3-t):e}var s=function(r,t,n,o){this.red=e(r,1),this.green=e(t,1),this.blue=e(n,1),this.alpha=e(o,1)};s.fromBytes=function(r,t,n,o){return r=s.byteToFloat(e(r,255)),t=s.byteToFloat(e(t,255)),n=s.byteToFloat(e(n,255)),o=s.byteToFloat(e(o,255)),new s(r,t,n,o)};var u,l,c;o.supportsTypedArrays()&&(u=new ArrayBuffer(4),l=new Uint32Array(u),c=new Uint8Array(u)),s.fromRgba=function(e){return l[0]=e,s.fromBytes(c[0],c[1],c[2],c[3])},s.fromHsl=function(r,t,n,o){r=e(r,0)%1,t=e(t,0),n=e(n,0),o=e(o,1);var i=n,u=n,l=n;if(0!==t){var c;c=.5>n?n*(1+t):n+t-n*t;var f=2*n-c;i=a(f,c,r+1/3),u=a(f,c,r),l=a(f,c,r-1/3)}return new s(i,u,l,o)},s.fromRandom=function(t,n){t=e(t,e.EMPTY_OBJECT);var o=t.red;if(!r(o)){var a=e(t.minimumRed,0),u=e(t.maximumRed,1);o=a+i.nextRandomNumber()*(u-a)}var l=t.green;if(!r(l)){var c=e(t.minimumGreen,0),f=e(t.maximumGreen,1);l=c+i.nextRandomNumber()*(f-c)}var m=t.blue;if(!r(m)){var y=e(t.minimumBlue,0),h=e(t.maximumBlue,1);m=y+i.nextRandomNumber()*(h-y)}var p=t.alpha;if(!r(p)){var d=e(t.minimumAlpha,0),v=e(t.maximumAlpha,1);p=d+i.nextRandomNumber()*(v-d)}return r(n)?(n.red=o,n.green=l,n.blue=m,n.alpha=p,n):new s(o,l,m,p)};var f=/^#([0-9a-f])([0-9a-f])([0-9a-f])$/i,m=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i,y=/^rgba?\(\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)(?:\s*,\s*([0-9.]+))?\s*\)$/i,h=/^hsla?\(\s*([0-9.]+)\s*,\s*([0-9.]+%)\s*,\s*([0-9.]+%)(?:\s*,\s*([0-9.]+))?\s*\)$/i;return s.fromCssColorString=function(t){var n=s[t.toUpperCase()];if(r(n))return s.clone(n);var o=f.exec(t);return null!==o?new s(parseInt(o[1],16)/15,parseInt(o[2],16)/15,parseInt(o[3],16)/15):(o=m.exec(t),null!==o?new s(parseInt(o[1],16)/255,parseInt(o[2],16)/255,parseInt(o[3],16)/255):(o=y.exec(t),null!==o?new s(parseFloat(o[1])/("%"===o[1].substr(-1)?100:255),parseFloat(o[2])/("%"===o[2].substr(-1)?100:255),parseFloat(o[3])/("%"===o[3].substr(-1)?100:255),parseFloat(e(o[4],"1.0"))):(o=h.exec(t),null!==o?s.fromHsl(parseFloat(o[1])/360,parseFloat(o[2])/100,parseFloat(o[3])/100,parseFloat(e(o[4],"1.0"))):void 0)))},s.packedLength=4,s.pack=function(r,t,n){n=e(n,0),t[n++]=r.red,t[n++]=r.green,t[n++]=r.blue,t[n]=r.alpha},s.unpack=function(t,n,o){return n=e(n,0),r(o)||(o=new s),o.red=t[n++],o.green=t[n++],o.blue=t[n++],o.alpha=t[n],o},s.byteToFloat=function(e){return e/255},s.floatToByte=function(e){return 1===e?255:0|256*e},s.clone=function(e,t){return r(e)?r(t)?(t.red=e.red,t.green=e.green,t.blue=e.blue,t.alpha=e.alpha,t):new s(e.red,e.green,e.blue,e.alpha):void 0},s.equals=function(e,t){return e===t||r(e)&&r(t)&&e.red===t.red&&e.green===t.green&&e.blue===t.blue&&e.alpha===t.alpha},s.prototype.clone=function(e){return s.clone(this,e)},s.prototype.equals=function(e){return s.equals(this,e)},s.prototype.equalsEpsilon=function(e,t){return this===e||r(e)&&Math.abs(this.red-e.red)<=t&&Math.abs(this.green-e.green)<=t&&Math.abs(this.blue-e.blue)<=t&&Math.abs(this.alpha-e.alpha)<=t},s.prototype.toString=function(){return"("+this.red+", "+this.green+", "+this.blue+", "+this.alpha+")"},s.prototype.toCssColorString=function(){var e=s.floatToByte(this.red),r=s.floatToByte(this.green),t=s.floatToByte(this.blue);return 1===this.alpha?"rgb("+e+","+r+","+t+")":"rgba("+e+","+r+","+t+","+this.alpha+")"},s.prototype.toBytes=function(e){var t=s.floatToByte(this.red),n=s.floatToByte(this.green),o=s.floatToByte(this.blue),i=s.floatToByte(this.alpha);return r(e)?(e[0]=t,e[1]=n,e[2]=o,e[3]=i,e):[t,n,o,i]},s.prototype.toRgba=function(){return c[0]=s.floatToByte(this.red),c[1]=s.floatToByte(this.green),c[2]=s.floatToByte(this.blue),c[3]=s.floatToByte(this.alpha),l[0]},s.ALICEBLUE=t(s.fromCssColorString("#F0F8FF")),s.ANTIQUEWHITE=t(s.fromCssColorString("#FAEBD7")),s.AQUA=t(s.fromCssColorString("#00FFFF")),s.AQUAMARINE=t(s.fromCssColorString("#7FFFD4")),s.AZURE=t(s.fromCssColorString("#F0FFFF")),s.BEIGE=t(s.fromCssColorString("#F5F5DC")),s.BISQUE=t(s.fromCssColorString("#FFE4C4")),s.BLACK=t(s.fromCssColorString("#000000")),s.BLANCHEDALMOND=t(s.fromCssColorString("#FFEBCD")),s.BLUE=t(s.fromCssColorString("#0000FF")),s.BLUEVIOLET=t(s.fromCssColorString("#8A2BE2")),s.BROWN=t(s.fromCssColorString("#A52A2A")),s.BURLYWOOD=t(s.fromCssColorString("#DEB887")),s.CADETBLUE=t(s.fromCssColorString("#5F9EA0")),s.CHARTREUSE=t(s.fromCssColorString("#7FFF00")),s.CHOCOLATE=t(s.fromCssColorString("#D2691E")),s.CORAL=t(s.fromCssColorString("#FF7F50")),s.CORNFLOWERBLUE=t(s.fromCssColorString("#6495ED")),s.CORNSILK=t(s.fromCssColorString("#FFF8DC")),s.CRIMSON=t(s.fromCssColorString("#DC143C")),s.CYAN=t(s.fromCssColorString("#00FFFF")),s.DARKBLUE=t(s.fromCssColorString("#00008B")),s.DARKCYAN=t(s.fromCssColorString("#008B8B")),s.DARKGOLDENROD=t(s.fromCssColorString("#B8860B")),s.DARKGRAY=t(s.fromCssColorString("#A9A9A9")),s.DARKGREEN=t(s.fromCssColorString("#006400")),s.DARKGREY=s.DARKGRAY,s.DARKKHAKI=t(s.fromCssColorString("#BDB76B")),s.DARKMAGENTA=t(s.fromCssColorString("#8B008B")),s.DARKOLIVEGREEN=t(s.fromCssColorString("#556B2F")),s.DARKORANGE=t(s.fromCssColorString("#FF8C00")),s.DARKORCHID=t(s.fromCssColorString("#9932CC")),s.DARKRED=t(s.fromCssColorString("#8B0000")),s.DARKSALMON=t(s.fromCssColorString("#E9967A")),s.DARKSEAGREEN=t(s.fromCssColorString("#8FBC8F")),s.DARKSLATEBLUE=t(s.fromCssColorString("#483D8B")),s.DARKSLATEGRAY=t(s.fromCssColorString("#2F4F4F")),s.DARKSLATEGREY=s.DARKSLATEGRAY,s.DARKTURQUOISE=t(s.fromCssColorString("#00CED1")),s.DARKVIOLET=t(s.fromCssColorString("#9400D3")),s.DEEPPINK=t(s.fromCssColorString("#FF1493")),s.DEEPSKYBLUE=t(s.fromCssColorString("#00BFFF")),s.DIMGRAY=t(s.fromCssColorString("#696969")),s.DIMGREY=s.DIMGRAY,s.DODGERBLUE=t(s.fromCssColorString("#1E90FF")),s.FIREBRICK=t(s.fromCssColorString("#B22222")),s.FLORALWHITE=t(s.fromCssColorString("#FFFAF0")),s.FORESTGREEN=t(s.fromCssColorString("#228B22")),s.FUSCHIA=t(s.fromCssColorString("#FF00FF")),s.GAINSBORO=t(s.fromCssColorString("#DCDCDC")),s.GHOSTWHITE=t(s.fromCssColorString("#F8F8FF")),s.GOLD=t(s.fromCssColorString("#FFD700")),s.GOLDENROD=t(s.fromCssColorString("#DAA520")),s.GRAY=t(s.fromCssColorString("#808080")),s.GREEN=t(s.fromCssColorString("#008000")),s.GREENYELLOW=t(s.fromCssColorString("#ADFF2F")),s.GREY=s.GRAY,s.HONEYDEW=t(s.fromCssColorString("#F0FFF0")),s.HOTPINK=t(s.fromCssColorString("#FF69B4")),s.INDIANRED=t(s.fromCssColorString("#CD5C5C")),s.INDIGO=t(s.fromCssColorString("#4B0082")),s.IVORY=t(s.fromCssColorString("#FFFFF0")),s.KHAKI=t(s.fromCssColorString("#F0E68C")),s.LAVENDER=t(s.fromCssColorString("#E6E6FA")),s.LAVENDAR_BLUSH=t(s.fromCssColorString("#FFF0F5")),s.LAWNGREEN=t(s.fromCssColorString("#7CFC00")),s.LEMONCHIFFON=t(s.fromCssColorString("#FFFACD")),s.LIGHTBLUE=t(s.fromCssColorString("#ADD8E6")),s.LIGHTCORAL=t(s.fromCssColorString("#F08080")),s.LIGHTCYAN=t(s.fromCssColorString("#E0FFFF")),s.LIGHTGOLDENRODYELLOW=t(s.fromCssColorString("#FAFAD2")),s.LIGHTGRAY=t(s.fromCssColorString("#D3D3D3")),s.LIGHTGREEN=t(s.fromCssColorString("#90EE90")),s.LIGHTGREY=s.LIGHTGRAY,s.LIGHTPINK=t(s.fromCssColorString("#FFB6C1")),s.LIGHTSEAGREEN=t(s.fromCssColorString("#20B2AA")),s.LIGHTSKYBLUE=t(s.fromCssColorString("#87CEFA")),s.LIGHTSLATEGRAY=t(s.fromCssColorString("#778899")),s.LIGHTSLATEGREY=s.LIGHTSLATEGRAY,s.LIGHTSTEELBLUE=t(s.fromCssColorString("#B0C4DE")),s.LIGHTYELLOW=t(s.fromCssColorString("#FFFFE0")),s.LIME=t(s.fromCssColorString("#00FF00")),s.LIMEGREEN=t(s.fromCssColorString("#32CD32")),s.LINEN=t(s.fromCssColorString("#FAF0E6")),s.MAGENTA=t(s.fromCssColorString("#FF00FF")),s.MAROON=t(s.fromCssColorString("#800000")),s.MEDIUMAQUAMARINE=t(s.fromCssColorString("#66CDAA")),s.MEDIUMBLUE=t(s.fromCssColorString("#0000CD")),s.MEDIUMORCHID=t(s.fromCssColorString("#BA55D3")),s.MEDIUMPURPLE=t(s.fromCssColorString("#9370DB")),s.MEDIUMSEAGREEN=t(s.fromCssColorString("#3CB371")),s.MEDIUMSLATEBLUE=t(s.fromCssColorString("#7B68EE")),s.MEDIUMSPRINGGREEN=t(s.fromCssColorString("#00FA9A")),s.MEDIUMTURQUOISE=t(s.fromCssColorString("#48D1CC")),s.MEDIUMVIOLETRED=t(s.fromCssColorString("#C71585")),s.MIDNIGHTBLUE=t(s.fromCssColorString("#191970")),s.MINTCREAM=t(s.fromCssColorString("#F5FFFA")),s.MISTYROSE=t(s.fromCssColorString("#FFE4E1")),s.MOCCASIN=t(s.fromCssColorString("#FFE4B5")),s.NAVAJOWHITE=t(s.fromCssColorString("#FFDEAD")),s.NAVY=t(s.fromCssColorString("#000080")),s.OLDLACE=t(s.fromCssColorString("#FDF5E6")),s.OLIVE=t(s.fromCssColorString("#808000")),s.OLIVEDRAB=t(s.fromCssColorString("#6B8E23")),s.ORANGE=t(s.fromCssColorString("#FFA500")),s.ORANGERED=t(s.fromCssColorString("#FF4500")),s.ORCHID=t(s.fromCssColorString("#DA70D6")),s.PALEGOLDENROD=t(s.fromCssColorString("#EEE8AA")),s.PALEGREEN=t(s.fromCssColorString("#98FB98")),s.PALETURQUOISE=t(s.fromCssColorString("#AFEEEE")),s.PALEVIOLETRED=t(s.fromCssColorString("#DB7093")),s.PAPAYAWHIP=t(s.fromCssColorString("#FFEFD5")),s.PEACHPUFF=t(s.fromCssColorString("#FFDAB9")),s.PERU=t(s.fromCssColorString("#CD853F")),s.PINK=t(s.fromCssColorString("#FFC0CB")),s.PLUM=t(s.fromCssColorString("#DDA0DD")),s.POWDERBLUE=t(s.fromCssColorString("#B0E0E6")),s.PURPLE=t(s.fromCssColorString("#800080")),s.RED=t(s.fromCssColorString("#FF0000")),s.ROSYBROWN=t(s.fromCssColorString("#BC8F8F")),s.ROYALBLUE=t(s.fromCssColorString("#4169E1")),s.SADDLEBROWN=t(s.fromCssColorString("#8B4513")),s.SALMON=t(s.fromCssColorString("#FA8072")),s.SANDYBROWN=t(s.fromCssColorString("#F4A460")),s.SEAGREEN=t(s.fromCssColorString("#2E8B57")),s.SEASHELL=t(s.fromCssColorString("#FFF5EE")),s.SIENNA=t(s.fromCssColorString("#A0522D")),s.SILVER=t(s.fromCssColorString("#C0C0C0")),s.SKYBLUE=t(s.fromCssColorString("#87CEEB")),s.SLATEBLUE=t(s.fromCssColorString("#6A5ACD")),s.SLATEGRAY=t(s.fromCssColorString("#708090")),s.SLATEGREY=s.SLATEGRAY,s.SNOW=t(s.fromCssColorString("#FFFAFA")),s.SPRINGGREEN=t(s.fromCssColorString("#00FF7F")),s.STEELBLUE=t(s.fromCssColorString("#4682B4")),s.TAN=t(s.fromCssColorString("#D2B48C")),s.TEAL=t(s.fromCssColorString("#008080")),s.THISTLE=t(s.fromCssColorString("#D8BFD8")),s.TOMATO=t(s.fromCssColorString("#FF6347")),s.TURQUOISE=t(s.fromCssColorString("#40E0D0")),s.VIOLET=t(s.fromCssColorString("#EE82EE")),s.WHEAT=t(s.fromCssColorString("#F5DEB3")),s.WHITE=t(s.fromCssColorString("#FFFFFF")),s.WHITESMOKE=t(s.fromCssColorString("#F5F5F5")),s.YELLOW=t(s.fromCssColorString("#FFFF00")),s.YELLOWGREEN=t(s.fromCssColorString("#9ACD32")),s +}),define("Core/barycentricCoordinates",["./Cartesian2","./Cartesian3","./defined","./DeveloperError"],function(e,r,t){"use strict";var n=new r,o=new r,i=new r,a=function(a,s,u,l,c){t(c)||(c=new r);var f,m,y,h,p,d,v,g;t(s.z)?(f=r.subtract(u,s,n),m=r.subtract(l,s,o),y=r.subtract(a,s,i),h=r.dot(f,f),p=r.dot(f,m),d=r.dot(f,y),v=r.dot(m,m),g=r.dot(m,y)):(f=e.subtract(u,s,n),m=e.subtract(l,s,o),y=e.subtract(a,s,i),h=e.dot(f,f),p=e.dot(f,m),d=e.dot(f,y),v=e.dot(m,m),g=e.dot(m,y));var E=1/(h*v-p*p);return c.y=(v*d-p*g)*E,c.z=(h*g-p*d)*E,c.x=1-c.y-c.z,c};return a}),define("Core/EncodedCartesian3",["./Cartesian3","./defined","./DeveloperError"],function(e,r){"use strict";var t=function(){this.high=e.clone(e.ZERO),this.low=e.clone(e.ZERO)};t.encode=function(e,t){r(t)||(t={high:0,low:0});var n;return e>=0?(n=65536*Math.floor(e/65536),t.high=n,t.low=e-n):(n=65536*Math.floor(-e/65536),t.high=-n,t.low=e+n),t};var n={high:0,low:0};t.fromCartesian=function(e,o){r(o)||(o=new t);var i=o.high,a=o.low;return t.encode(e.x,n),i.x=n.high,a.x=n.low,t.encode(e.y,n),i.y=n.high,a.y=n.low,t.encode(e.z,n),i.z=n.high,a.z=n.low,o};var o=new t;return t.writeElements=function(e,r,n){t.fromCartesian(e,o);var i=o.high,a=o.low;r[n]=i.x,r[n+1]=i.y,r[n+2]=i.z,r[n+3]=a.x,r[n+4]=a.y,r[n+5]=a.z},t}),define("Core/QuadraticRealPolynomial",["./DeveloperError","./Math"],function(e,r){"use strict";function t(e,t,n){var o=e+t;return r.sign(e)!==r.sign(t)&&Math.abs(o/Math.max(Math.abs(e),Math.abs(t)))a&&a/ss&&s/ai)return[];var u=Math.sqrt(i);return[-u,u]}if(0===o)return i=-n/e,0>i?[i,0]:[0,i];var l=n*n,c=4*e*o,f=t(l,-c,r.EPSILON14);if(0>f)return[];var m=-.5*t(n,r.sign(n)*Math.sqrt(f),r.EPSILON14);return n>0?[m/e,o/m]:[o/m,m/e]},n}),define("Core/CubicRealPolynomial",["./DeveloperError","./QuadraticRealPolynomial"],function(e,r){"use strict";function t(e,r,t,n){var o,i,a=e,s=r/3,u=t/3,l=n,c=a*u,f=s*l,m=s*s,y=u*u,h=a*u-m,p=a*l-s*u,d=s*l-y,v=4*h*d-p*p;if(0>v){var g,E,C;m*f>=c*y?(g=a,E=h,C=-2*s*h+a*p):(g=l,E=d,C=-l*p+2*u*d);var S=0>C?-1:1,w=-S*Math.abs(g)*Math.sqrt(-v);i=-C+w;var A=i/2,x=0>A?-Math.pow(-A,1/3):Math.pow(A,1/3),b=i===w?-x:-E/x;return o=0>=E?x+b:-C/(x*x+b*b+E),m*f>=c*y?[(o-s)/a]:[-l/(o+u)]}var M=h,T=-2*s*h+a*p,O=d,I=-l*p+2*u*d,N=Math.sqrt(v),R=Math.sqrt(3)/2,L=Math.abs(Math.atan2(a*N,-T)/3);o=2*Math.sqrt(-M);var z=Math.cos(L);i=o*z;var F=o*(-z/2-R*Math.sin(L)),D=i+F>2*s?i-s:F-s,P=a,B=D/P;L=Math.abs(Math.atan2(l*N,-I)/3),o=2*Math.sqrt(-O),z=Math.cos(L),i=o*z,F=o*(-z/2-R*Math.sin(L));var _=-l,U=2*u>i+F?i+u:F+u,G=_/U,q=P*U,Y=-D*U-P*_,W=D*_,V=(u*Y-s*W)/(-s*Y+u*q);return V>=B?G>=B?G>=V?[B,V,G]:[B,G,V]:[G,B,V]:G>=B?[V,B,G]:G>=V?[V,G,B]:[G,V,B]}var n={};return n.discriminant=function(e,r,t,n){var o=e*e,i=r*r,a=t*t,s=n*n,u=18*e*r*t*n+i*a-27*o*s-4*(e*a*t+i*r*n);return u},n.realRoots=function(e,n,o,i){var a,s;if(0===e)return r.realRoots(n,o,i);if(0===n){if(0===o){if(0===i)return[0,0,0];s=-i/e;var u=0>s?-Math.pow(-s,1/3):Math.pow(s,1/3);return[u,u,u]}return 0===i?(a=r.realRoots(e,0,o),0===a.Length?[0]:[a[0],0,a[1]]):t(e,0,o,i)}return 0===o?0===i?(s=-n/e,0>s?[s,0,0]:[0,0,s]):t(e,n,0,i):0===i?(a=r.realRoots(e,n,o),0===a.length?[0]:a[1]<=0?[a[0],a[1],0]:a[0]>=0?[0,a[0],a[1]]:[a[0],0,a[1]]):t(e,n,o,i)},n}),define("Core/QuarticRealPolynomial",["./DeveloperError","./Math","./CubicRealPolynomial","./QuadraticRealPolynomial"],function(e,r,t,n){"use strict";function o(e,o,i,a){var s=e*e,u=o-3*s/8,l=i-o*e/2+s*e/8,c=a-i*e/4+o*s/16-3*s*s/256,f=t.realRoots(1,2*u,u*u-4*c,-l*l);if(f.length>0){var m=-e/4,y=f[f.length-1];if(Math.abs(y)=0&&v>=0){var g=Math.sqrt(d),E=Math.sqrt(v);return[m-E,m-g,m+g,m+E]}if(d>=0&&0>v)return p=Math.sqrt(d),[m-p,m+p];if(0>d&&v>=0)return p=Math.sqrt(v),[m-p,m+p]}return[]}if(y>0){var C=Math.sqrt(y),S=(u+y-l/C)/2,w=(u+y+l/C)/2,A=n.realRoots(1,C,S),x=n.realRoots(1,-C,w);return 0!==A.length?(A[0]+=m,A[1]+=m,0!==x.length?(x[0]+=m,x[1]+=m,A[1]<=x[0]?[A[0],A[1],x[0],x[1]]:x[1]<=A[0]?[x[0],x[1],A[0],A[1]]:A[0]>=x[0]&&A[1]<=x[1]?[x[0],A[0],A[1],x[1]]:x[0]>=A[0]&&x[1]<=A[1]?[A[0],x[0],x[1],A[1]]:A[0]>x[0]&&A[0]0){var h,p,d=y[0],v=o-d,g=v*v,E=e/2,C=v/2,S=g-4*a,w=g+4*Math.abs(a),A=l-4*d,x=l+4*Math.abs(d);if(0>d||A*w>S*x){var b=Math.sqrt(A);h=b/2,p=0===b?0:(e*C-i)/b}else{var M=Math.sqrt(S);h=0===M?0:(e*C-i)/M,p=M/2}var T,O;0===E&&0===h?(T=0,O=0):r.sign(E)===r.sign(h)?(T=E+h,O=d/T):(O=E-h,T=d/O);var I,N;0===C&&0===p?(I=0,N=0):r.sign(C)===r.sign(p)?(I=C+p,N=a/I):(N=C-p,I=a/N);var R=n.realRoots(1,T,I),L=n.realRoots(1,O,N);if(0!==R.length)return 0!==L.length?R[1]<=L[0]?[R[0],R[1],L[0],L[1]]:L[1]<=R[0]?[L[0],L[1],R[0],R[1]]:R[0]>=L[0]&&R[1]<=L[1]?[L[0],R[0],R[1],L[1]]:L[0]>=R[0]&&L[1]<=R[1]?[R[0],L[0],L[1],R[1]]:R[0]>L[0]&&R[0]l?1:0;switch(y+=0>c?y+1:y,y+=0>f?y+1:y,y+=0>m?y+1:y){case 0:return o(l,c,f,m);case 1:return i(l,c,f,m);case 2:return i(l,c,f,m);case 3:return o(l,c,f,m);case 4:return o(l,c,f,m);case 5:return i(l,c,f,m);case 6:return o(l,c,f,m);case 7:return o(l,c,f,m);case 8:return i(l,c,f,m);case 9:return o(l,c,f,m);case 10:return o(l,c,f,m);case 11:return i(l,c,f,m);case 12:return o(l,c,f,m);case 13:return o(l,c,f,m);case 14:return o(l,c,f,m);case 15:return o(l,c,f,m);default:return void 0}},a}),define("Core/IntersectionTests",["./defined","./DeveloperError","./Math","./Cartesian3","./Cartographic","./Matrix3","./QuadraticRealPolynomial","./QuarticRealPolynomial"],function(e,r,t,n,o,i,a,s){"use strict";function u(e,r,n){var o=e+r;return t.sign(e)!==t.sign(r)&&Math.abs(o/Math.max(Math.abs(e),Math.abs(r)))F;++F){var D,P=f[F],B=P*P,_=Math.max(1-B,0),U=Math.sqrt(_);D=t.sign(h)===t.sign(d)?u(h*B+d,p*P,t.EPSILON12):t.sign(d)===t.sign(p*P)?u(h*B,p*P+d,t.EPSILON12):u(h*B+p*P,d,t.EPSILON12);var G=u(v*P,g,t.EPSILON15),q=D*G;0>q?E.push(new n(l,c*P,c*U)):q>0?E.push(new n(l,c*P,c*-U)):0!==U?(E.push(new n(l,c*P,c*-U)),E.push(new n(l,c*P,c*U)),++F):E.push(new n(l,c*P,c*U))}return E}var c={};c.rayPlane=function(e,r,o){var i=e.origin,a=e.direction,s=r.normal,u=n.dot(s,a);if(Math.abs(u)l?void 0:(o=n.multiplyByScalar(a,l,o),n.add(i,o,o))};var f=new n,m=new n;c.rayEllipsoid=function(e,r){var t,o,i,a,s,u=r.oneOverRadii,l=n.multiplyComponents(u,e.origin,f),c=n.multiplyComponents(u,e.direction,m),y=n.magnitudeSquared(l),h=n.dot(l,c);if(y>1){if(h>=0)return void 0;var p=h*h;if(t=y-1,o=n.magnitudeSquared(c),i=o*t,i>p)return void 0;if(p>i){a=h*h-i,s=-h+Math.sqrt(a);var d=s/o,v=t/s;return v>d?{start:d,stop:v}:{start:v,stop:d}}var g=Math.sqrt(t/o);return{start:g,stop:g}}return 1>y?(t=y-1,o=n.magnitudeSquared(c),i=o*t,a=h*h-i,s=-h+Math.sqrt(a),{start:0,stop:s/o}):0>h?(o=n.magnitudeSquared(c),{start:0,stop:-h/o}):void 0},c.grazingAltitudeLocation=function(r,a){var s=r.origin,u=r.direction,c=a.geodeticSurfaceNormal(s);if(n.dot(u,c)>=0)return s;var f,m,y=e(this.rayEllipsoid(r,a)),h=a.transformPositionToScaledSpace(u),p=n.normalize(h),d=n.mostOrthogonalAxis(h),v=n.normalize(n.cross(d,p)),g=n.normalize(n.cross(p,v)),E=new i(p.x,v.x,g.x,p.y,v.y,g.y,p.z,v.z,g.z),C=i.transpose(E),S=i.fromScale(a.radii),w=i.fromScale(a.oneOverRadii),A=new i(0,u.z,-u.y,-u.z,0,u.x,u.y,-u.x,0),x=i.multiply(i.multiply(C,w),A),b=i.multiply(i.multiply(x,S),E),M=i.multiplyByVector(x,s),T=l(b,n.negate(M),0,0,1),O=T.length;if(O>0){for(var I=n.ZERO,N=Number.NEGATIVE_INFINITY,R=0;O>R;++R){f=i.multiplyByVector(S,i.multiplyByVector(E,T[R]));var L=n.normalize(n.subtract(f,s)),z=n.dot(L,u);z>N&&(N=z,I=f)}var F=a.cartesianToCartographic(I);return N=t.clamp(N,0,1),m=n.magnitude(n.subtract(I,s))*Math.sqrt(1-N*N),m=y?-m:m,a.cartographicToCartesian(new o(F.longitude,F.latitude,m))}return void 0};var y=new n;return c.lineSegmentPlane=function(r,o,i,a){var s=n.subtract(o,r,y),u=i.normal,l=n.dot(u,s);if(Math.abs(l)f||f>1?void 0:(e(a)||(a=new n),n.multiplyByScalar(s,f,a),n.add(r,a,a),a)},c.trianglePlaneIntersection=function(e,r,t,o){var i=o.normal,a=o.distance,s=n.dot(i,e)+a<0,u=n.dot(i,r)+a<0,l=n.dot(i,t)+a<0,f=0;f+=s?1:0,f+=u?1:0,f+=l?1:0;var m,y;if((1===f||2===f)&&(m=new n,y=new n),1===f){if(s)return c.lineSegmentPlane(e,r,o,m),c.lineSegmentPlane(e,t,o,y),{positions:[e,r,t,m,y],indices:[0,3,4,1,2,4,1,4,3]};if(u)return c.lineSegmentPlane(r,t,o,m),c.lineSegmentPlane(r,e,o,y),{positions:[e,r,t,m,y],indices:[1,3,4,2,0,4,2,4,3]};if(l)return c.lineSegmentPlane(t,e,o,m),c.lineSegmentPlane(t,r,o,y),{positions:[e,r,t,m,y],indices:[2,3,4,0,1,4,0,4,3]}}else if(2===f){if(!s)return c.lineSegmentPlane(r,e,o,m),c.lineSegmentPlane(t,e,o,y),{positions:[e,r,t,m,y],indices:[1,2,4,1,4,3,0,3,4]};if(!u)return c.lineSegmentPlane(t,r,o,m),c.lineSegmentPlane(e,r,o,y),{positions:[e,r,t,m,y],indices:[2,0,4,2,4,3,1,3,4]};if(!l)return c.lineSegmentPlane(e,t,o,m),c.lineSegmentPlane(r,t,o,y),{positions:[e,r,t,m,y],indices:[0,1,4,0,4,3,2,3,4]}}return void 0},c}),define("Core/Plane",["./Cartesian3","./defined","./DeveloperError"],function(e,r){"use strict";var t=function(r,t){this.normal=e.clone(r),this.distance=t};return t.fromPointNormal=function(n,o,i){var a=-e.dot(o,n);return r(i)?(e.clone(o,i.normal),i.distance=a,i):new t(o,a)},t.getPointDistance=function(r,t){return e.dot(r.normal,t)+r.distance},t.prototype.getPointDistance=function(e){return t.getPointDistance(this,e)},t}),define("Core/Tipsify",["./defaultValue","./defined","./DeveloperError"],function(e,r){"use strict";var t={};return t.calculateACMR=function(t){t=e(t,e.EMPTY_OBJECT);var n=t.indices,o=t.maximumIndex,i=e(t.cacheSize,24),a=n.length;if(!r(o)){o=0;for(var s=0,u=n[s];a>s;)u>o&&(o=u),++s,u=n[s]}for(var l=[],c=0;o+1>c;c++)l[c]=0;for(var f=i+1,m=0;a>m;++m)f-l[n[m]]>i&&(l[n[m]]=f,++f);return(f-i+1)/(a/3)},t.tipsify=function(t){function n(e,r,t,n){for(;r.length>=1;){var o=r[r.length-1];if(r.splice(r.length-1,1),e[o].numLiveTriangles>0)return o}for(;n>i;){if(e[i].numLiveTriangles>0)return++i,i-1;++i}return-1}function o(e,r,t,o,i,a,s){for(var u,l=-1,c=-1,f=0;fc||-1===c)&&(c=u,l=m)),++f}return-1===l?n(o,a,e,s):l}t=e(t,e.EMPTY_OBJECT);var i,a=t.indices,s=t.maximumIndex,u=e(t.cacheSize,24),l=a.length,c=0,f=0,m=a[f],y=l;if(r(s))c=s+1;else{for(;y>f;)m>c&&(c=m),++f,m=a[f];if(-1===c)return 0;++c}for(var h=[],p=0;c>p;p++)h[p]={numLiveTriangles:0,timeStamp:0,vertexTriangles:[]};f=0;for(var d=0;y>f;)h[a[f]].vertexTriangles.push(d),++h[a[f]].numLiveTriangles,h[a[f+1]].vertexTriangles.push(d),++h[a[f+1]].numLiveTriangles,h[a[f+2]].vertexTriangles.push(d),++h[a[f+2]].numLiveTriangles,++d,f+=3;var v=0,g=u+1;i=1;var E,C,S=[],w=[],A=0,x=[],b=l/3,M=[];for(p=0;b>p;p++)M[p]=!1;for(var T,O;-1!==v;){S=[],C=h[v],O=C.vertexTriangles.length;for(var I=0;O>I;++I)if(d=C.vertexTriangles[I],!M[d]){M[d]=!0,f=d+d+d;for(var N=0;3>N;++N)T=a[f],S.push(T),w.push(T),x[A]=T,++A,E=h[T],--E.numLiveTriangles,g-E.timeStamp>u&&(E.timeStamp=g,++g),++f}v=o(a,u,S,h,g,w,c)}return x},t}),define("Core/GeometryPipeline",["./barycentricCoordinates","./defaultValue","./defined","./DeveloperError","./Cartesian2","./Cartesian3","./Cartesian4","./Cartographic","./EncodedCartesian3","./Intersect","./IntersectionTests","./Math","./Matrix3","./Matrix4","./Plane","./GeographicProjection","./ComponentDatatype","./IndexDatatype","./PrimitiveType","./Tipsify","./BoundingSphere","./Geometry","./GeometryAttribute"],function(e,r,t,n,o,i,a,s,u,l,c,f,m,y,h,p,d,v,g,E,C,S,w){"use strict";function A(e,r,t,n,o){e[r++]=t,e[r++]=n,e[r++]=n,e[r++]=o,e[r++]=o,e[r]=t}function x(e){for(var r=e.length,t=6*(r/3),n=v.createTypedArray(r,t),o=0,i=0;r>i;i+=3,o+=6)A(n,o,e[i],e[i+1],e[i+2]);return n}function b(e){var r=e.length;if(r>=3){var t=6*(r-2),n=v.createTypedArray(r,t);A(n,0,e[0],e[1],e[2]);for(var o=6,i=3;r>i;++i,o+=6)A(n,o,e[i-1],e[i],e[i-2]);return n}return new Uint16Array}function M(e){if(e.length>0){for(var r=e.length-1,t=6*(r-1),n=v.createTypedArray(r,t),o=e[0],i=0,a=1;r>a;++a,i+=6)A(n,i,o,e[a],e[a+1]);return n}return new Uint16Array}function T(e){var r={};for(var n in e)if(e.hasOwnProperty(n)&&t(e[n])&&t(e[n].values)){var o=e[n];r[n]=new w({componentDatatype:o.componentDatatype,componentsPerAttribute:o.componentsPerAttribute,normalize:o.normalize,values:[]})}return r}function O(e,r,n){for(var o in r)if(r.hasOwnProperty(o)&&t(r[o])&&t(r[o].values))for(var i=r[o],a=0;aa;a+=3)i.unpack(n,a,Z),y.multiplyByPoint(e,Z,Z),i.pack(Z,n,a)}function N(e,r){if(t(r))for(var n=r.values,o=n.length,a=0;o>a;a+=3)i.unpack(n,a,Z),m.multiplyByVector(e,Z,Z),Z=i.normalize(Z,Z),i.pack(Z,n,a)}function R(e){var r,n=e.length,o={},i=e[0].geometry.attributes;for(r in i)if(i.hasOwnProperty(r)&&t(i[r])&&t(i[r].values)){for(var a=i[r],s=a.values.length,u=!0,l=1;n>l;++l){var c=e[l].geometry.attributes[r];if(!t(c)||a.componentDatatype.value!==c.componentDatatype.value||a.componentsPerAttribute!==c.componentsPerAttribute||a.normalize!==c.normalize){u=!1;break}s+=c.values.length}u&&(o[r]=new w({componentDatatype:a.componentDatatype,componentsPerAttribute:a.componentsPerAttribute,normalize:a.normalize,values:d.createTypedArray(a.componentDatatype,s)}))}return o}function L(e){if(t(e.indices))return e;for(var r=S.computeNumberOfVertices(e),n=v.createTypedArray(r,r),o=0;r>o;++o)n[o]=o;return e.indices=n,e}function z(e){var r=S.computeNumberOfVertices(e),t=v.createTypedArray(r,3*(r-2));t[0]=1,t[1]=0,t[2]=2;for(var n=3,o=3;r>o;++o)t[n++]=o-1,t[n++]=0,t[n++]=o;return e.indices=t,e.primitiveType=g.TRIANGLES,e}function F(e){var r=S.computeNumberOfVertices(e),t=v.createTypedArray(r,3*(r-2));t[0]=0,t[1]=1,t[2]=2,r>3&&(t[3]=0,t[4]=2,t[5]=3);for(var n=6,o=3;r-1>o;o+=2)t[n++]=o,t[n++]=o-1,t[n++]=o+1,r>o+2&&(t[n++]=o,t[n++]=o+1,t[n++]=o+2);return e.indices=t,e.primitiveType=g.TRIANGLES,e}function D(e){if(t(e.indices))return e;for(var r=S.computeNumberOfVertices(e),n=v.createTypedArray(r,r),o=0;r>o;++o)n[o]=o;return e.indices=n,e}function P(e){var r=S.computeNumberOfVertices(e),t=v.createTypedArray(r,2*(r-1));t[0]=0,t[1]=1;for(var n=2,o=2;r>o;++o)t[n++]=o-1,t[n++]=o;return e.indices=t,e.primitiveType=g.LINES,e}function B(e){var r=S.computeNumberOfVertices(e),t=v.createTypedArray(r,2*r);t[0]=0,t[1]=1;for(var n=2,o=2;r>o;++o)t[n++]=o-1,t[n++]=o;return t[n++]=r-1,t[n]=0,e.indices=t,e.primitiveType=g.LINES,e}function _(e){switch(e.primitiveType){case g.TRIANGLE_FAN:return z(e);case g.TRIANGLE_STRIP:return F(e);case g.TRIANGLES:return L(e);case g.LINE_STRIP:return P(e);case g.LINE_LOOP:return B(e);case g.LINES:return D(e)}return e}function U(e,r){Math.abs(e.y)=0||r.x>=0||t.x>=0)return void 0;var n=e.y<0,o=r.y<0,i=t.y<0;U(e,n),U(r,o),U(t,i);var a=0;a+=n?1:0,a+=o?1:0,a+=i?1:0;var s=cr.indices;1===a?(s[1]=3,s[2]=4,s[5]=6,s[7]=6,s[8]=5,n?(G(e,r,ar,ur),G(e,t,sr,lr),s[0]=0,s[3]=1,s[4]=2,s[6]=1):o?(G(r,t,ar,ur),G(r,e,sr,lr),s[0]=1,s[3]=2,s[4]=0,s[6]=2):i&&(G(t,e,ar,ur),G(t,r,sr,lr),s[0]=2,s[3]=0,s[4]=1,s[6]=0)):2===a&&(s[2]=4,s[4]=4,s[5]=3,s[7]=5,s[8]=6,n?o?i||(G(t,e,ar,ur),G(t,r,sr,lr),s[0]=0,s[1]=1,s[3]=0,s[6]=2):(G(r,t,ar,ur),G(r,e,sr,lr),s[0]=2,s[1]=0,s[3]=2,s[6]=1):(G(e,r,ar,ur),G(e,t,sr,lr),s[0]=1,s[1]=2,s[3]=1,s[6]=0));var u=cr.positions;return u[0]=e,u[1]=r,u[2]=t,cr.length=3,(1===a||2===a)&&(u[3]=ar,u[4]=sr,u[5]=ur,u[6]=lr,cr.length=7),cr}function Y(r,n,a,s,u,l,c,f){if(t(u)||t(l)||t(c)||t(f)){var m,y,h,p,d,v,g,E,C,S,w,A,x,b,M,T,O,I,N=s.positions,R=N[0],L=N[1],z=N[2];t(u)&&(m=i.fromArray(u,3*r),y=i.fromArray(u,3*n),h=i.fromArray(u,3*a)),t(l)&&(p=i.fromArray(l,3*r),d=i.fromArray(l,3*n),v=i.fromArray(l,3*a)),t(c)&&(g=i.fromArray(c,3*r),E=i.fromArray(c,3*n),C=i.fromArray(c,3*a)),t(f)&&(S=o.fromArray(f,2*r),w=o.fromArray(f,2*n),A=o.fromArray(f,2*a));for(var F=3;FE;E+=3){var C=l[E],w=l[E+1],A=l[E+2],x=i.fromArray(n,3*C),b=i.fromArray(n,3*w),M=i.fromArray(n,3*A),T=q(x,b,M);if(t(T))if(c[3*C+1]=T.positions[0].y,c[3*w+1]=T.positions[1].y,c[3*A+1]=T.positions[2].y,T.length>3){for(var O=c.length/3,I=0;IN?p.push(l[E+N]):p.push(N-3+O)}for(var R=3;Rm;m+=2){var y=o[m],p=o[m+1],d=i.fromArray(n,3*y),g=i.fromArray(n,3*p);if(Math.abs(d.y)c;c+=3)u[l++]=i[c],u[l++]=i[c+1],u[l++]=i[c+2],u[l++]=i[c]+a[c]*o,u[l++]=i[c+1]+a[c+1]*o,u[l++]=i[c+2]+a[c+2]*o;var f,m=e.boundingSphere;return t(m)&&(f=new C(m.center,m.radius+o)),new S({attributes:{position:new w({componentDatatype:d.DOUBLE,componentsPerAttribute:3,values:u})},primitiveType:g.LINES,boundingSphere:f})},H.createAttributeLocations=function(e){var r,n=["position","positionHigh","positionLow","position3DHigh","position3DLow","position2DHigh","position2DLow","pickColor","normal","st","binormal","tangent"],o=e.attributes,i={},a=0,s=n.length;for(r=0;s>r;++r){var u=n[r];t(o[u])&&(i[u]=a++)}for(var l in o)o.hasOwnProperty(l)&&!t(i[l])&&(i[l]=a++);return i},H.reorderForPreVertexCache=function(e){var r=S.computeNumberOfVertices(e),n=e.indices;if(t(n)){for(var o=new Int32Array(r),i=0;r>i;i++)o[i]=-1;for(var a,s=n,u=s.length,l=v.createTypedArray(r,u),c=0,f=0,m=0;u>c;)a=o[s[c]],-1!==a?l[f]=a:(a=s[c],o[a]=m,l[f]=m,++m),++c,++f;e.indices=l;var y=e.attributes;for(var h in y)if(y.hasOwnProperty(h)&&t(y[h])&&t(y[h].values)){for(var p=y[h],g=p.values,E=0,C=p.componentsPerAttribute,w=d.createTypedArray(p.componentDatatype,m*C);r>E;){var A=o[E];if(-1!==A)for(i=0;C>i;i++)w[C*A+i]=g[C*E+i];++E}p.values=w}}return e},H.reorderForPostVertexCache=function(e,r){var n=e.indices;if(e.primitiveType===g.TRIANGLES&&t(n)){for(var o=n.length,i=0,a=0;o>a;a++)n[a]>i&&(i=n[a]);e.indices=E.tipsify({indices:n,maximumIndex:i,cacheSize:r})}return e},H.fitToUnsignedShortIndices=function(e){var r=[],n=S.computeNumberOfVertices(e);if(t(e.indices)&&n>f.SIXTY_FOUR_KILOBYTES){var o,i=[],a=[],s=0,u=T(e.attributes),l=e.indices,c=l.length;e.primitiveType===g.TRIANGLES?o=3:e.primitiveType===g.LINES?o=2:e.primitiveType===g.POINTS&&(o=1);for(var m=0;c>m;m+=o){for(var y=0;o>y;++y){var h=l[m+y],p=i[h];t(p)||(p=s++,i[h]=p,O(u,e.attributes,h)),a.push(p)}s+o>f.SIXTY_FOUR_KILOBYTES&&(r.push(new S({attributes:u,indices:a,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere})),i=[],a=[],s=0,u=T(e.attributes))}0!==a.length&&r.push(new S({attributes:u,indices:a,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere}))}else r.push(e);return r};var k=new i,K=new s;H.projectTo2D=function(e,r,o,a,s){var u=e.attributes[r];s=t(s)?s:new p;for(var l=s.ellipsoid,c=u.values,f=new Float64Array(c.length),m=0,y=0;yc;++c)u.encode(i[c],j),s[c]=j.high,l[c]=j.low;var f=o.componentsPerAttribute;return e.attributes[t]=new w({componentDatatype:d.FLOAT,componentsPerAttribute:f,values:s}),e.attributes[n]=new w({componentDatatype:d.FLOAT,componentsPerAttribute:f,values:l}),delete e.attributes[r],e};var Z=new i,Q=new y,X=new m;H.transformToWorldCoordinates=function(e){var r=e.modelMatrix;if(y.equals(r,y.IDENTITY))return e;var n=e.geometry.attributes;I(r,n.position),I(r,n.prevPosition),I(r,n.nextPosition),(t(n.normal)||t(n.binormal)||t(n.tangent))&&(y.inverse(r,Q),y.transpose(Q,Q),y.getRotation(Q,X),N(X,n.normal),N(X,n.binormal),N(X,n.tangent));var o=e.geometry.boundingSphere;return t(o)&&(e.geometry.boundingSphere=C.transform(o,r,o)),e.modelMatrix=y.clone(y.IDENTITY),e},H.combine=function(e){var r,n,o,a,s=e.length;e[0].modelMatrix;var u,l,c,f=t(e[0].geometry.indices),m=e[0].geometry.primitiveType,y=R(e);for(r in y)if(y.hasOwnProperty(r))for(u=y[r].values,a=0,n=0;s>n;++n)for(l=e[n].geometry.attributes[r].values,c=l.length,o=0;c>o;++o)u[a++]=l[o];var h;if(f){var p=0;for(n=0;s>n;++n)p+=e[n].geometry.indices.length;var d=S.computeNumberOfVertices(new S({attributes:y,primitiveType:g.POINTS})),E=v.createTypedArray(d,p),w=0,A=0;for(n=0;s>n;++n){var x=e[n].geometry.indices,b=x.length;for(a=0;b>a;++a)E[w++]=A+x[a];A+=S.computeNumberOfVertices(e[n].geometry)}h=E}var M,T=new i,O=0;for(n=0;s>n;++n){if(M=e[n].geometry.boundingSphere,!t(M)){T=void 0;break}i.add(M.center,T,T)}if(t(T))for(i.divideByScalar(T,s,T),n=0;s>n;++n){M=e[n].geometry.boundingSphere;var I=i.magnitude(i.subtract(M.center,T))+M.radius;I>O&&(O=I)}return new S({attributes:y,indices:h,primitiveType:m,boundingSphere:t(T)?new C(T,O):void 0})};var J=new i,$=new i,er=new i,rr=new i;H.computeNormal=function(e){for(var r=e.indices,t=e.attributes,n=t.position.values,o=t.position.values.length/3,a=r.length,s=new Array(o),u=new Array(a/3),l=new Array(a),c=0;o>c;c++)s[c]={indexOffset:0,count:0,currentCount:0};var f=0;for(c=0;a>c;c+=3){var m=r[c],y=r[c+1],h=r[c+2],p=3*m,v=3*y,g=3*h;$.x=n[p],$.y=n[p+1],$.z=n[p+2],er.x=n[v],er.y=n[v+1],er.z=n[v+2],rr.x=n[g],rr.y=n[g+1],rr.z=n[g+2],s[m].count++,s[y].count++,s[h].count++,i.subtract(er,$,er),i.subtract(rr,$,rr),u[f]=i.cross(er,rr),f++}var E=0;for(c=0;o>c;c++)s[c].indexOffset+=E,E+=s[c].count;f=0;var C;for(c=0;a>c;c+=3){C=s[r[c]];var S=C.indexOffset+C.currentCount;l[S]=f,C.currentCount++,C=s[r[c+1]],S=C.indexOffset+C.currentCount,l[S]=f,C.currentCount++,C=s[r[c+2]],S=C.indexOffset+C.currentCount,l[S]=f,C.currentCount++,f++}var A=new Float32Array(3*o);for(c=0;o>c;c++){var x=3*c;if(C=s[c],C.count>0){for(i.clone(i.ZERO,J),f=0;fl;l+=3){var y=r[l],h=r[l+1],p=r[l+2];c=3*y,f=3*h,m=3*p;var v=2*y,g=2*h,E=2*p,C=t[c],S=t[c+1],A=t[c+2],x=o[v],b=o[v+1],M=o[g+1]-b,T=o[E+1]-b,O=1/((o[g]-x)*T-(o[E]-x)*M),I=(T*(t[f]-C)-M*(t[m]-C))*O,N=(T*(t[f+1]-S)-M*(t[m+1]-S))*O,R=(T*(t[f+2]-A)-M*(t[m+2]-A))*O;u[c]+=I,u[c+1]+=N,u[c+2]+=R,u[f]+=I,u[f+1]+=N,u[f+2]+=R,u[m]+=I,u[m+1]+=N,u[m+2]+=R}var L=new Float32Array(3*a),z=new Float32Array(3*a);for(l=0;a>l;l++){c=3*l,f=c+1,m=c+2;var F=i.fromArray(n,c,tr),D=i.fromArray(u,c,or),P=i.dot(F,D);i.multiplyByScalar(F,P,nr),i.normalize(i.subtract(D,nr,D),D),z[c]=D.x,z[f]=D.y,z[m]=D.z,i.normalize(i.cross(F,D,D),D),L[c]=D.x,L[f]=D.y,L[m]=D.z}return e.attributes.tangent=new w({componentDatatype:d.FLOAT,componentsPerAttribute:3,values:z}),e.attributes.binormal=new w({componentDatatype:d.FLOAT,componentsPerAttribute:3,values:L}),e};var ir=new i,ar=new i,sr=new i,ur=new i,lr=new i,cr={positions:new Array(7),indices:new Array(9)};return H.wrapLongitude=function(e){var r=e.boundingSphere;if(t(r)){var n=r.center.x-r.radius;if(n>0||C.intersect(r,a.UNIT_Y)!==l.INTERSECTING)return e}return _(e),e.primitiveType===g.TRIANGLES?W(e):e.primitiveType===g.LINES&&V(e),e},H}),define("Scene/PrimitivePipeline",["../Core/defined","../Core/defaultValue","../Core/Color","../Core/ComponentDatatype","../Core/DeveloperError","../Core/FeatureDetection","../Core/Geometry","../Core/GeometryAttribute","../Core/GeometryPipeline","../Core/Matrix4"],function(e,r,t,n,o,i,a,s,u,l){"use strict";function c(e,r,t){var n,o=!t,i=e.length;if(!o&&i>1){var a=e[0].modelMatrix;for(n=1;i>n;++n)if(!l.equals(a,e[n].modelMatrix)){o=!0;break}}if(o)for(n=0;i>n;++n)u.transformToWorldCoordinates(e[n]);else l.clone(e[0].modelMatrix,r)}function f(e,r){for(var o=e.length,i=0;o>i;++i){var a=e[i],u=a.geometry,l=u.attributes,c=l.position,f=4*(c.values.length/c.componentsPerAttribute);l.pickColor=new s({componentDatatype:n.UNSIGNED_BYTE,componentsPerAttribute:4,normalize:!0,values:new Uint8Array(f)});for(var m=r[i],y=t.floatToByte(m.red),h=t.floatToByte(m.green),p=t.floatToByte(m.blue),d=t.floatToByte(m.alpha),v=l.pickColor.values,g=0;f>g;g+=4)v[g]=y,v[g+1]=h,v[g+2]=p,v[g+3]=d}}function m(r){var t,n=r.length,o=[],i=r[0].attributes;for(t in i)if(i.hasOwnProperty(t)){for(var a=i[t],s=!0,u=1;n>u;++u){var l=r[u].attributes[t];if(!e(l)||a.componentDatatype.value!==l.componentDatatype.value||a.componentsPerAttribute!==l.componentsPerAttribute||a.normalize!==l.normalize){s=!1;break}}s&&o.push(t)}return o}function y(e,r){for(var t=e.length,o=0;t>o;++o)for(var i=e[o],u=i.attributes,l=i.geometry,c=a.computeNumberOfVertices(l),f=r.length,m=0;f>m;++m){for(var y=r[m],h=u[y],p=h.componentDatatype,d=h.value,v=d.length,g=n.createTypedArray(p,c*v),E=0;c>E;++E)g.set(d,E*v);l.attributes[y]=new s({componentDatatype:p,componentsPerAttribute:v,normalize:h.normalize,values:g})}}function h(e){var r,t=e.instances,o=e.pickIds,i=e.projection,a=e.elementIndexUintSupported,s=e.allow3DOnly,l=e.allowPicking,h=e.vertexCacheOptimize,p=e.modelMatrix,d=t.length;if(t[0].geometry.primitiveType,c(t,p,s),!s)for(r=0;d>r;++r)u.wrapLongitude(t[r].geometry);l&&f(t,o);var v=m(t);if(y(t,v),h)for(r=0;d>r;++r)u.reorderForPostVertexCache(t[r].geometry),u.reorderForPreVertexCache(t[r].geometry);var g,E=u.combine(t),C=E.attributes;if(s)for(g in C)C.hasOwnProperty(g)&&C[g].componentDatatype.value===n.DOUBLE.value&&u.encodeAttribute(E,g,g+"3DHigh",g+"3DLow");else for(g in C)if(C.hasOwnProperty(g)&&C[g].componentDatatype.value===n.DOUBLE.value){var S=g+"3D",w=g+"2D";u.projectTo2D(E,g,S,w,i),u.encodeAttribute(E,S,S+"High",S+"Low"),u.encodeAttribute(E,w,w+"High",w+"Low")}return a?[E]:u.fitToUnsignedShortIndices(E)}function p(e,r,t){for(var o=[],i=e.attributes,a=t.length,s=0;a>s;++s){var u=t[s],l=i[u],c=l.componentDatatype;c.value===n.DOUBLE.value&&(c=n.FLOAT);var f=n.createTypedArray(c,l.values);o.push({index:r[u],componentDatatype:c,componentsPerAttribute:l.componentsPerAttribute,normalize:l.normalize,values:f}),delete i[u]}return o}function d(t,n,o){for(var i=[],s=m(t),u=t.length,l={},c={},f=0;u>f;++f)for(var y=t[f],h=a.computeNumberOfVertices(y.geometry),p=s.length,d=0;p>d;++d)for(var v=s[d],g=o[v],E=h;E>0;){for(var C,S=r(c[v],0),w=n[S],A=w.length,x=0;A>x&&(C=w[x],C.index!==g);++x);e(i[f])||(i[f]={}),e(i[f][v])||(i[f][v]={dirty:!1,value:y.attributes[v].value,indices:[]});var b,M=C.values.length/C.componentsPerAttribute,T=r(l[v],0);M>T+E?(b=E,i[f][v].indices.push({attribute:C,offset:T,count:b}),l[v]=T+E):(b=M-T,i[f][v].indices.push({attribute:C,offset:T,count:b}),l[v]=0,c[v]=S+1),E-=b}return i}function v(r){return e(r.constructor.name)?{type:r.constructor.name,buffer:r.buffer}:r}function g(r){return e(r.type)?new C[r.type](r.buffer):r}if(!i.supportsTypedArrays())return{};var E={};E.combineGeometry=function(e){for(var r={instances:e.instances,pickIds:e.pickIds,ellipsoid:e.ellipsoid,projection:e.projection,elementIndexUintSupported:e.elementIndexUintSupported,allow3DOnly:e.allow3DOnly,allowPicking:e.allowPicking,vertexCacheOptimize:e.vertexCacheOptimize,modelMatrix:l.clone(e.modelMatrix)},t=h(r),n=u.createAttributeLocations(t[0]),o=r.instances,i=m(o),a=[],s=t.length,c=0;s>c;++c){var f=t[c]; +a.push(p(f,n,i))}var y=d(o,a,n);return{geometries:t,modelMatrix:r.modelMatrix,attributeLocations:n,vaAttributes:a,vaAttributeLocations:y}};var C={Int8Array:Int8Array,Uint8Array:Uint8Array,Int16Array:Int16Array,Uint16Array:Uint16Array,Int32Array:Int32Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array};return E.transferGeometry=function(r,t){var n,o=r.attributes;for(var a in o)o.hasOwnProperty(a)&&e(o[a])&&e(o[a].values)&&(n=o[a].values,i.supportsTransferringArrayBuffers()&&t.indexOf(o[a].values.buffer)<0&&t.push(n.buffer),e(n.type)||(o[a].values=v(n)));e(r.indices)&&(n=r.indices,i.supportsTransferringArrayBuffers()&&t.push(n.buffer),e(n.type)||(r.indices=v(r.indices)))},E.transferGeometries=function(e,r){for(var t=e.length,n=0;t>n;++n)E.transferGeometry(e[n],r)},E.transferPerInstanceAttributes=function(e,r){for(var t=e.length,n=0;t>n;++n)for(var o=e[n],a=o.length,s=0;a>s;++s){var u=o[s].values;i.supportsTransferringArrayBuffers()&&r.push(u.buffer),o[s].values=v(u)}},E.transferInstances=function(e,r){for(var t=e.length,n=0;t>n;++n){var o=e[n];E.transferGeometry(o.geometry,r)}},E.receiveGeometry=function(r){var t=r.attributes;for(var n in t)t.hasOwnProperty(n)&&e(t[n])&&e(t[n].values)&&(t[n].values=g(t[n].values));e(r.indices)&&(r.indices=g(r.indices))},E.receiveGeometries=function(e){for(var r=e.length,t=0;r>t;++t)E.receiveGeometry(e[t])},E.receivePerInstanceAttributes=function(e){for(var r=e.length,t=0;r>t;++t)for(var n=e[t],o=n.length,i=0;o>i;++i)n[i].values=g(n[i].values)},E.receiveInstances=function(e){for(var r=e.length,t=0;r>t;++t){var n=e[t];E.receiveGeometry(n.geometry)}},E}),define("Workers/createTaskProcessorWorker",["../Core/defaultValue","../Core/defined"],function(e,r){"use strict";var t=function(t){var n,o=[],i={id:void 0,result:void 0,error:void 0};return function(a){var s=a.data;o.length=0,i.id=s.id,i.error=void 0,i.result=void 0;try{i.result=t(s.parameters,o)}catch(u){i.error=u}r(n)||(n=e(self.webkitPostMessage,self.postMessage));try{n(i,o)}catch(u){i.result=void 0,i.error="postMessage failed with error: "+u+"\n with responseMessage: "+JSON.stringify(i),n(i)}}};return t}),define("Workers/createCylinderGeometry",["../Core/CylinderGeometry","../Scene/PrimitivePipeline","./createTaskProcessorWorker"],function(e,r,t){"use strict";function n(t,n){var o=t.geometry,i=e.createGeometry(o);return r.transferGeometry(i,n),{geometry:i,index:t.index}}return t(n)})}(); \ No newline at end of file diff --git a/Cesium/Workers/createCylinderOutlineGeometry.js b/Cesium/Workers/createCylinderOutlineGeometry.js new file mode 100644 index 0000000..baff928 --- /dev/null +++ b/Cesium/Workers/createCylinderOutlineGeometry.js @@ -0,0 +1,61 @@ +/** + * Cesium - https://github.com/AnalyticalGraphicsInc/cesium + * + * Copyright 2011-2014 Cesium Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Columbus View (Pat. Pend.) + * + * Portions licensed separately. + * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details. + */ +/** +@license +mersenne-twister.js - https://gist.github.com/banksean/300494 + + Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura, + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. The names of its contributors may not be used to endorse or promote + products derived from this software without specific prior written + permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +!function(){define("Core/defined",[],function(){"use strict";var e=function(e){return void 0!==e};return e}),define("Core/freezeObject",["./defined"],function(e){"use strict";var r=Object.freeze;return e(r)||(r=function(e){return e}),r}),define("Core/defaultValue",["./freezeObject"],function(e){"use strict";var r=function(e,r){return void 0!==e?e:r};return r.EMPTY_OBJECT=e({}),r}),define("Core/DeveloperError",["./defined"],function(e){"use strict";var r=function(e){this.name="DeveloperError",this.message=e;var r;try{throw new Error}catch(t){r=t.stack}this.stack=r};return r.prototype.toString=function(){var r=this.name+": "+this.message;return e(this.stack)&&(r+="\n"+this.stack.toString()),r},r.throwInstantiationError=function(){throw new r("This function defines an interface and should not be called directly.")},r}),define("Core/Cartesian3",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,r,t,n){"use strict";var o=function(r,t,n){this.x=e(r,0),this.y=e(t,0),this.z=e(n,0)};o.fromSpherical=function(t,n){r(n)||(n=new o);var i=t.clock,a=t.cone,s=e(t.magnitude,1),u=s*Math.sin(a);return n.x=u*Math.cos(i),n.y=u*Math.sin(i),n.z=s*Math.cos(a),n},o.fromElements=function(e,t,n,i){return r(i)?(i.x=e,i.y=t,i.z=n,i):new o(e,t,n)},o.clone=function(e,t){return r(e)?r(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t):new o(e.x,e.y,e.z):void 0},o.fromCartesian4=o.clone,o.packedLength=3,o.pack=function(r,t,n){n=e(n,0),t[n++]=r.x,t[n++]=r.y,t[n]=r.z},o.unpack=function(t,n,i){return n=e(n,0),r(i)||(i=new o),i.x=t[n++],i.y=t[n++],i.z=t[n],i},o.fromArray=o.unpack,o.getMaximumComponent=function(e){return Math.max(e.x,e.y,e.z)},o.getMinimumComponent=function(e){return Math.min(e.x,e.y,e.z)},o.getMinimumByComponent=function(e,t,n){return r(n)||(n=new o),n.x=Math.min(e.x,t.x),n.y=Math.min(e.y,t.y),n.z=Math.min(e.z,t.z),n},o.getMaximumByComponent=function(e,t,n){return r(n)||(n=new o),n.x=Math.max(e.x,t.x),n.y=Math.max(e.y,t.y),n.z=Math.max(e.z,t.z),n},o.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z},o.magnitude=function(e){return Math.sqrt(o.magnitudeSquared(e))};var i=new o;o.distance=function(e,r){return o.subtract(e,r,i),o.magnitude(i)},o.normalize=function(e,t){var n=o.magnitude(e);return r(t)?(t.x=e.x/n,t.y=e.y/n,t.z=e.z/n,t):new o(e.x/n,e.y/n,e.z/n)},o.dot=function(e,r){return e.x*r.x+e.y*r.y+e.z*r.z},o.multiplyComponents=function(e,t,n){return r(n)?(n.x=e.x*t.x,n.y=e.y*t.y,n.z=e.z*t.z,n):new o(e.x*t.x,e.y*t.y,e.z*t.z)},o.add=function(e,t,n){return r(n)?(n.x=e.x+t.x,n.y=e.y+t.y,n.z=e.z+t.z,n):new o(e.x+t.x,e.y+t.y,e.z+t.z)},o.subtract=function(e,t,n){return r(n)?(n.x=e.x-t.x,n.y=e.y-t.y,n.z=e.z-t.z,n):new o(e.x-t.x,e.y-t.y,e.z-t.z)},o.multiplyByScalar=function(e,t,n){return r(n)?(n.x=e.x*t,n.y=e.y*t,n.z=e.z*t,n):new o(e.x*t,e.y*t,e.z*t)},o.divideByScalar=function(e,t,n){return r(n)?(n.x=e.x/t,n.y=e.y/t,n.z=e.z/t,n):new o(e.x/t,e.y/t,e.z/t)},o.negate=function(e,t){return r(t)?(t.x=-e.x,t.y=-e.y,t.z=-e.z,t):new o(-e.x,-e.y,-e.z)},o.abs=function(e,t){return r(t)?(t.x=Math.abs(e.x),t.y=Math.abs(e.y),t.z=Math.abs(e.z),t):new o(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z))};var a=new o;o.lerp=function(e,r,t,n){return o.multiplyByScalar(r,t,a),n=o.multiplyByScalar(e,1-t,n),o.add(a,n,n)};var s=new o,u=new o;o.angleBetween=function(e,r){o.normalize(e,s),o.normalize(r,u);var t=o.dot(s,u),n=o.magnitude(o.cross(s,u,s));return Math.atan2(n,t)};var l=new o;return o.mostOrthogonalAxis=function(e,r){var t=o.normalize(e,l);return o.abs(t,t),r=t.x<=t.y?t.x<=t.z?o.clone(o.UNIT_X,r):o.clone(o.UNIT_Z,r):t.y<=t.z?o.clone(o.UNIT_Y,r):o.clone(o.UNIT_Z,r)},o.equals=function(e,t){return e===t||r(e)&&r(t)&&e.x===t.x&&e.y===t.y&&e.z===t.z},o.equalsEpsilon=function(e,t,n){return e===t||r(e)&&r(t)&&Math.abs(e.x-t.x)<=n&&Math.abs(e.y-t.y)<=n&&Math.abs(e.z-t.z)<=n},o.cross=function(e,t,n){var i=e.x,a=e.y,s=e.z,u=t.x,l=t.y,c=t.z,f=a*c-s*l,m=s*u-i*c,y=i*l-a*u;return r(n)?(n.x=f,n.y=m,n.z=y,n):new o(f,m,y)},o.ZERO=n(new o(0,0,0)),o.UNIT_X=n(new o(1,0,0)),o.UNIT_Y=n(new o(0,1,0)),o.UNIT_Z=n(new o(0,0,1)),o.prototype.clone=function(e){return o.clone(this,e)},o.prototype.equals=function(e){return o.equals(this,e)},o.prototype.equalsEpsilon=function(e,r){return o.equalsEpsilon(this,e,r)},o.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+")"},o}),define("ThirdParty/mersenne-twister",[],function(){var e=function(e){void 0==e&&(e=(new Date).getTime()),this.N=624,this.M=397,this.MATRIX_A=2567483615,this.UPPER_MASK=2147483648,this.LOWER_MASK=2147483647,this.mt=new Array(this.N),this.mti=this.N+1,this.init_genrand(e)};return e.prototype.init_genrand=function(e){for(this.mt[0]=e>>>0,this.mti=1;this.mti>>30;this.mt[this.mti]=(1812433253*((4294901760&e)>>>16)<<16)+1812433253*(65535&e)+this.mti,this.mt[this.mti]>>>=0}},e.prototype.genrand_int32=function(){var e,r=new Array(0,this.MATRIX_A);if(this.mti>=this.N){var t;for(this.mti==this.N+1&&this.init_genrand(5489),t=0;t>>1^r[1&e];for(;t>>1^r[1&e];e=this.mt[this.N-1]&this.UPPER_MASK|this.mt[0]&this.LOWER_MASK,this.mt[this.N-1]=this.mt[this.M-1]^e>>>1^r[1&e],this.mti=0}return e=this.mt[this.mti++],e^=e>>>11,e^=2636928640&e<<7,e^=4022730752&e<<15,e^=e>>>18,e>>>0},e.prototype.random=function(){return this.genrand_int32()*(1/4294967296)},e}),define("Core/Math",["./defaultValue","./defined","./DeveloperError","../ThirdParty/mersenne-twister"],function(e,r,t,n){"use strict";var o={};o.EPSILON1=.1,o.EPSILON2=.01,o.EPSILON3=.001,o.EPSILON4=1e-4,o.EPSILON5=1e-5,o.EPSILON6=1e-6,o.EPSILON7=1e-7,o.EPSILON8=1e-8,o.EPSILON9=1e-9,o.EPSILON10=1e-10,o.EPSILON11=1e-11,o.EPSILON12=1e-12,o.EPSILON13=1e-13,o.EPSILON14=1e-14,o.EPSILON15=1e-15,o.EPSILON16=1e-16,o.EPSILON17=1e-17,o.EPSILON18=1e-18,o.EPSILON19=1e-19,o.EPSILON20=1e-20,o.GRAVITATIONALPARAMETER=3986004418e5,o.SOLAR_RADIUS=6955e5,o.LUNAR_RADIUS=1737400,o.SIXTY_FOUR_KILOBYTES=65536,o.sign=function(e){return e>0?1:0>e?-1:0},o.sinh=function(e){var r=Math.pow(Math.E,e),t=Math.pow(Math.E,-1*e);return.5*(r-t)},o.cosh=function(e){var r=Math.pow(Math.E,e),t=Math.pow(Math.E,-1*e);return.5*(r+t)},o.lerp=function(e,r,t){return(1-t)*e+t*r},o.PI=Math.PI,o.ONE_OVER_PI=1/Math.PI,o.PI_OVER_TWO=.5*Math.PI,o.PI_OVER_THREE=Math.PI/3,o.PI_OVER_FOUR=Math.PI/4,o.PI_OVER_SIX=Math.PI/6,o.THREE_PI_OVER_TWO=.5*3*Math.PI,o.TWO_PI=2*Math.PI,o.ONE_OVER_TWO_PI=1/(2*Math.PI),o.RADIANS_PER_DEGREE=Math.PI/180,o.DEGREES_PER_RADIAN=180/Math.PI,o.RADIANS_PER_ARCSECOND=o.RADIANS_PER_DEGREE/3600,o.toRadians=function(e){return e*o.RADIANS_PER_DEGREE},o.toDegrees=function(e){return e*o.DEGREES_PER_RADIAN},o.convertLongitudeRange=function(e){var r=o.TWO_PI,t=e-Math.floor(e/r)*r;return t<-Math.PI?t+r:t>=Math.PI?t-r:t},o.negativePiToPi=function(e){for(var r=o.EPSILON10,t=o.PI,n=o.TWO_PI;-(t+r)>e;)e+=n;if(-t>e)return-t;for(;e>t+r;)e-=n;return e>t?t:e},o.zeroToTwoPi=function(e){var r=e%o.TWO_PI;return 0>r?(r+o.TWO_PI)%o.TWO_PI:r},o.equalsEpsilon=function(r,t,n){return n=e(n,0),Math.abs(r-t)<=n};var i=[1];o.factorial=function(e){var r=i.length;if(e>=r)for(var t=i[r-1],n=r;e>=n;n++)i.push(t*n);return i[e]},o.incrementWrap=function(r,t,n){return n=e(n,0),++r,r>t&&(r=n),r},o.isPowerOfTwo=function(e){return 0!==e&&0===(e&e-1)},o.nextPowerOfTwo=function(e){return--e,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,++e,e},o.clamp=function(e,r,t){return r>e?r:e>t?t:e};var a=new n;return o.setRandomNumberSeed=function(e){a=new n(e)},o.nextRandomNumber=function(){return a.random()},o}),define("Core/Cartographic",["./defaultValue","./defined","./DeveloperError","./freezeObject","./Math"],function(e,r,t,n,o){"use strict";var i=function(r,t,n){this.longitude=e(r,0),this.latitude=e(t,0),this.height=e(n,0)};return i.fromDegrees=function(t,n,a,s){return t=o.toRadians(e(t,0)),n=o.toRadians(e(n,0)),a=e(a,0),r(s)?(s.longitude=t,s.latitude=n,s.height=a,s):new i(t,n,a)},i.clone=function(e,t){return r(e)?r(t)?(t.longitude=e.longitude,t.latitude=e.latitude,t.height=e.height,t):new i(e.longitude,e.latitude,e.height):void 0},i.equals=function(e,t){return e===t||r(e)&&r(t)&&e.longitude===t.longitude&&e.latitude===t.latitude&&e.height===t.height},i.equalsEpsilon=function(e,t,n){return e===t||r(e)&&r(t)&&Math.abs(e.longitude-t.longitude)<=n&&Math.abs(e.latitude-t.latitude)<=n&&Math.abs(e.height-t.height)<=n},i.toString=function(e){return"("+e.longitude+", "+e.latitude+", "+e.height+")"},i.ZERO=n(new i(0,0,0)),i.prototype.clone=function(e){return i.clone(this,e)},i.prototype.equals=function(e){return i.equals(this,e)},i.prototype.equalsEpsilon=function(e,r){return i.equalsEpsilon(this,e,r)},i.prototype.toString=function(){return i.toString(this)},i}),define("Core/defineProperties",["./defined"],function(e){"use strict";var r=function(){try{return"x"in Object.defineProperty({},"x",{})}catch(e){return!1}}(),t=Object.defineProperties;return r&&e(t)||(t=function(e){return e}),t}),define("Core/Ellipsoid",["./freezeObject","./defaultValue","./defined","./defineProperties","./DeveloperError","./Math","./Cartesian3","./Cartographic"],function(e,r,t,n,o,i,a,s){"use strict";var u=function(e,t,n){e=r(e,0),t=r(t,0),n=r(n,0),this._radii=new a(e,t,n),this._radiiSquared=new a(e*e,t*t,n*n),this._radiiToTheFourth=new a(e*e*e*e,t*t*t*t,n*n*n*n),this._oneOverRadii=new a(0===e?0:1/e,0===t?0:1/t,0===n?0:1/n),this._oneOverRadiiSquared=new a(0===e?0:1/(e*e),0===t?0:1/(t*t),0===n?0:1/(n*n)),this._minimumRadius=Math.min(e,t,n),this._maximumRadius=Math.max(e,t,n),this._centerToleranceSquared=i.EPSILON1};n(u.prototype,{radii:{get:function(){return this._radii}},radiiSquared:{get:function(){return this._radiiSquared}},radiiToTheFourth:{get:function(){return this._radiiToTheFourth}},oneOverRadii:{get:function(){return this._oneOverRadii}},oneOverRadiiSquared:{get:function(){return this._oneOverRadiiSquared}},minimumRadius:{get:function(){return this._minimumRadius}},maximumRadius:{get:function(){return this._maximumRadius}}}),u.clone=function(e,r){if(!t(e))return void 0;var n=e._radii;return t(r)?(a.clone(n,r._radii),a.clone(e._radiiSquared,r._radiiSquared),a.clone(e._radiiToTheFourth,r._radiiToTheFourth),a.clone(e._oneOverRadii,r._oneOverRadii),a.clone(e._oneOverRadiiSquared,r._oneOverRadiiSquared),r._minimumRadius=e._minimumRadius,r._maximumRadius=e._maximumRadius,r._centerToleranceSquared=e._centerToleranceSquared,r):new u(n.x,n.y,n.z)},u.fromCartesian3=function(e){return t(e)?new u(e.x,e.y,e.z):new u},u.WGS84=e(new u(6378137,6378137,6356752.314245179)),u.UNIT_SPHERE=e(new u(1,1,1)),u.MOON=e(new u(i.LUNAR_RADIUS,i.LUNAR_RADIUS,i.LUNAR_RADIUS)),u.prototype.clone=function(e){return u.clone(this,e)},u.prototype.geocentricSurfaceNormal=a.normalize,u.prototype.geodeticSurfaceNormalCartographic=function(e,r){var n=e.longitude,o=e.latitude,i=Math.cos(o),s=i*Math.cos(n),u=i*Math.sin(n),l=Math.sin(o);return t(r)||(r=new a),r.x=s,r.y=u,r.z=l,a.normalize(r,r)},u.prototype.geodeticSurfaceNormal=function(e,r){return r=a.multiplyComponents(e,this._oneOverRadiiSquared,r),a.normalize(r,r)};var l=new a,c=new a;u.prototype.cartographicToCartesian=function(e,r){var t=l,n=c;this.geodeticSurfaceNormalCartographic(e,t),a.multiplyComponents(this._radiiSquared,t,n);var o=Math.sqrt(a.dot(t,n));return a.divideByScalar(n,o,n),a.multiplyByScalar(t,e.height,t),a.add(n,t,r)},u.prototype.cartographicArrayToCartesianArray=function(e,r){var n=e.length;t(r)?r.length=n:r=new Array(n);for(var o=0;n>o;o++)r[o]=this.cartographicToCartesian(e[o],r[o]);return r};var f=new a,m=new a,y=new a;u.prototype.cartesianToCartographic=function(e,r){var n=this.scaleToGeodeticSurface(e,m);if(!t(n))return void 0;var o=this.geodeticSurfaceNormal(n,f),u=a.subtract(e,n,y),l=Math.atan2(o.y,o.x),c=Math.asin(o.z),h=i.sign(a.dot(u,e))*a.magnitude(u);return t(r)?(r.longitude=l,r.latitude=c,r.height=h,r):new s(l,c,h)},u.prototype.cartesianArrayToCartographicArray=function(e,r){var n=e.length;t(r)?r.length=n:r=new Array(n);for(var o=0;n>o;++o)r[o]=this.cartesianToCartographic(e[o],r[o]);return r};var h=new a,p=new a;return u.prototype.scaleToGeodeticSurface=function(e,r){var n=e.x,o=e.y,s=e.z,u=this._oneOverRadii,l=u.x,c=u.y,f=u.z,m=n*n*l*l,y=o*o*c*c,d=s*s*f*f,v=m+y+d,g=Math.sqrt(1/v),E=a.multiplyByScalar(e,g,h);if(vi.EPSILON12);return t(r)?(r.x=n*T,r.y=o*O,r.z=s*I,r):new a(n*T,o*O,s*I)},u.prototype.scaleToGeocentricSurface=function(e,r){var t=e.x,n=e.y,o=e.z,i=this._oneOverRadiiSquared,s=1/Math.sqrt(t*t*i.x+n*n*i.y+o*o*i.z);return a.multiplyByScalar(e,s,r)},u.prototype.transformPositionToScaledSpace=function(e,r){return a.multiplyComponents(e,this._oneOverRadii,r)},u.prototype.transformPositionFromScaledSpace=function(e,r){return a.multiplyComponents(e,this._radii,r)},u.prototype.equals=function(e){return this===e||t(e)&&a.equals(this._radii,e._radii)},u.prototype.toString=function(){return this._radii.toString()},u}),define("Core/GeographicProjection",["./defaultValue","./defined","./defineProperties","./Cartesian3","./Cartographic","./Ellipsoid"],function(e,r,t,n,o,i){"use strict";var a=function(r){this._ellipsoid=e(r,i.WGS84),this._semimajorAxis=this._ellipsoid.maximumRadius,this._oneOverSemimajorAxis=1/this._semimajorAxis};return t(a.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}}),a.prototype.project=function(e,t){var o=this._semimajorAxis,i=e.longitude*o,a=e.latitude*o,s=e.height;return r(t)?(t.x=i,t.y=a,t.z=s,t):new n(i,a,s)},a.prototype.unproject=function(e,t){var n=this._oneOverSemimajorAxis,i=e.x*n,a=e.y*n,s=e.z;return r(t)?(t.longitude=i,t.latitude=a,t.height=s,t):new o(i,a,s)},a}),define("Core/Enumeration",["./defined"],function(e){"use strict";var r=function(r,t,n){if(this.value=r,this.name=t,e(n))for(var o in n)n.hasOwnProperty(o)&&(this[o]=n[o])};return r.prototype.valueOf=function(){return this.value},r.prototype.toString=function(){return this.name},r}),define("Core/Intersect",["./Enumeration"],function(e){"use strict";var r={OUTSIDE:new e(-1,"OUTSIDE"),INTERSECTING:new e(0,"INTERSECTING"),INSIDE:new e(1,"INSIDE")};return r}),define("Core/Interval",["./defaultValue"],function(e){"use strict";var r=function(r,t){this.start=e(r,0),this.stop=e(t,0)};return r}),define("Core/Cartesian4",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,r,t,n){"use strict";var o=function(r,t,n,o){this.x=e(r,0),this.y=e(t,0),this.z=e(n,0),this.w=e(o,0)};o.fromElements=function(e,t,n,i,a){return r(a)?(a.x=e,a.y=t,a.z=n,a.w=i,a):new o(e,t,n,i)},o.clone=function(e,t){return r(e)?r(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t):new o(e.x,e.y,e.z,e.w):void 0},o.packedLength=4,o.pack=function(r,t,n){n=e(n,0),t[n++]=r.x,t[n++]=r.y,t[n++]=r.z,t[n]=r.w},o.unpack=function(t,n,i){return n=e(n,0),r(i)||(i=new o),i.x=t[n++],i.y=t[n++],i.z=t[n++],i.w=t[n],i},o.fromArray=o.unpack,o.getMaximumComponent=function(e){return Math.max(e.x,e.y,e.z,e.w)},o.getMinimumComponent=function(e){return Math.min(e.x,e.y,e.z,e.w)},o.getMinimumByComponent=function(e,t,n){return r(n)||(n=new o),n.x=Math.min(e.x,t.x),n.y=Math.min(e.y,t.y),n.z=Math.min(e.z,t.z),n.w=Math.min(e.w,t.w),n},o.getMaximumByComponent=function(e,t,n){return r(n)||(n=new o),n.x=Math.max(e.x,t.x),n.y=Math.max(e.y,t.y),n.z=Math.max(e.z,t.z),n.w=Math.max(e.w,t.w),n},o.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w},o.magnitude=function(e){return Math.sqrt(o.magnitudeSquared(e))};var i=new o;o.distance=function(e,r){return o.subtract(e,r,i),o.magnitude(i)},o.normalize=function(e,t){var n=o.magnitude(e);return r(t)?(t.x=e.x/n,t.y=e.y/n,t.z=e.z/n,t.w=e.w/n,t):new o(e.x/n,e.y/n,e.z/n,e.w/n)},o.dot=function(e,r){return e.x*r.x+e.y*r.y+e.z*r.z+e.w*r.w},o.multiplyComponents=function(e,t,n){return r(n)?(n.x=e.x*t.x,n.y=e.y*t.y,n.z=e.z*t.z,n.w=e.w*t.w,n):new o(e.x*t.x,e.y*t.y,e.z*t.z,e.w*t.w)},o.add=function(e,t,n){return r(n)?(n.x=e.x+t.x,n.y=e.y+t.y,n.z=e.z+t.z,n.w=e.w+t.w,n):new o(e.x+t.x,e.y+t.y,e.z+t.z,e.w+t.w)},o.subtract=function(e,t,n){return r(n)?(n.x=e.x-t.x,n.y=e.y-t.y,n.z=e.z-t.z,n.w=e.w-t.w,n):new o(e.x-t.x,e.y-t.y,e.z-t.z,e.w-t.w)},o.multiplyByScalar=function(e,t,n){return r(n)?(n.x=e.x*t,n.y=e.y*t,n.z=e.z*t,n.w=e.w*t,n):new o(e.x*t,e.y*t,e.z*t,e.w*t)},o.divideByScalar=function(e,t,n){return r(n)?(n.x=e.x/t,n.y=e.y/t,n.z=e.z/t,n.w=e.w/t,n):new o(e.x/t,e.y/t,e.z/t,e.w/t)},o.negate=function(e,t){return r(t)?(t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=-e.w,t):new o(-e.x,-e.y,-e.z,-e.w)},o.abs=function(e,t){return r(t)?(t.x=Math.abs(e.x),t.y=Math.abs(e.y),t.z=Math.abs(e.z),t.w=Math.abs(e.w),t):new o(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z),Math.abs(e.w))};var a=new o;o.lerp=function(e,r,t,n){return o.multiplyByScalar(r,t,a),n=o.multiplyByScalar(e,1-t,n),o.add(a,n,n)};var s=new o;return o.mostOrthogonalAxis=function(e,r){var t=o.normalize(e,s);return o.abs(t,t),r=t.x<=t.y?t.x<=t.z?t.x<=t.w?o.clone(o.UNIT_X,r):o.clone(o.UNIT_W,r):t.z<=t.w?o.clone(o.UNIT_Z,r):o.clone(o.UNIT_W,r):t.y<=t.z?t.y<=t.w?o.clone(o.UNIT_Y,r):o.clone(o.UNIT_W,r):t.z<=t.w?o.clone(o.UNIT_Z,r):o.clone(o.UNIT_W,r)},o.equals=function(e,t){return e===t||r(e)&&r(t)&&e.x===t.x&&e.y===t.y&&e.z===t.z&&e.w===t.w},o.equalsEpsilon=function(e,t,n){return e===t||r(e)&&r(t)&&Math.abs(e.x-t.x)<=n&&Math.abs(e.y-t.y)<=n&&Math.abs(e.z-t.z)<=n&&Math.abs(e.w-t.w)<=n},o.ZERO=n(new o(0,0,0,0)),o.UNIT_X=n(new o(1,0,0,0)),o.UNIT_Y=n(new o(0,1,0,0)),o.UNIT_Z=n(new o(0,0,1,0)),o.UNIT_W=n(new o(0,0,0,1)),o.prototype.clone=function(e){return o.clone(this,e)},o.prototype.equals=function(e){return o.equals(this,e)},o.prototype.equalsEpsilon=function(e,r){return o.equalsEpsilon(this,e,r)},o.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+", "+this.w+")"},o}),define("Core/Matrix3",["./Cartesian3","./defaultValue","./defined","./DeveloperError","./freezeObject","./Math"],function(e,r,t,n,o,i){"use strict";function a(e){for(var r=0,t=0;9>t;++t){var n=e[t];r+=n*n}return Math.sqrt(r)}function s(e){for(var r=0,t=0;3>t;++t){var n=e[l.getElementIndex(f[t],c[t])];r+=2*n*n}return Math.sqrt(r)}function u(e,r){for(var t=i.EPSILON15,n=0,o=1,a=0;3>a;++a){var s=Math.abs(e[l.getElementIndex(f[a],c[a])]);s>n&&(o=a,n=s)}var u=1,m=0,y=c[o],h=f[o];if(Math.abs(e[l.getElementIndex(h,y)])>t){var p,d=e[l.getElementIndex(h,h)],v=e[l.getElementIndex(y,y)],g=e[l.getElementIndex(h,y)],E=(d-v)/2/g;p=0>E?-1/(-E+Math.sqrt(1+E*E)):1/(E+Math.sqrt(1+E*E)),u=1/Math.sqrt(1+p*p),m=p*u}return r=l.clone(l.IDENTITY,r),r[l.getElementIndex(y,y)]=r[l.getElementIndex(h,h)]=u,r[l.getElementIndex(h,y)]=m,r[l.getElementIndex(y,h)]=-m,r}var l=function(e,t,n,o,i,a,s,u,l){this[0]=r(e,0),this[1]=r(o,0),this[2]=r(s,0),this[3]=r(t,0),this[4]=r(i,0),this[5]=r(u,0),this[6]=r(n,0),this[7]=r(a,0),this[8]=r(l,0)};l.clone=function(e,r){return t(e)?t(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r):new l(e[0],e[3],e[6],e[1],e[4],e[7],e[2],e[5],e[8]):void 0},l.fromArray=function(e,n,o){return n=r(n,0),t(o)||(o=new l),o[0]=e[n],o[1]=e[n+1],o[2]=e[n+2],o[3]=e[n+3],o[4]=e[n+4],o[5]=e[n+5],o[6]=e[n+6],o[7]=e[n+7],o[8]=e[n+8],o[9]=e[n+9],o},l.fromColumnMajorArray=function(e,r){return l.clone(e,r)},l.fromRowMajorArray=function(e,r){return t(r)?(r[0]=e[0],r[1]=e[3],r[2]=e[6],r[3]=e[1],r[4]=e[4],r[5]=e[7],r[6]=e[2],r[7]=e[5],r[8]=e[8],r):new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])},l.fromQuaternion=function(e,r){var n=e.x*e.x,o=e.x*e.y,i=e.x*e.z,a=e.x*e.w,s=e.y*e.y,u=e.y*e.z,c=e.y*e.w,f=e.z*e.z,m=e.z*e.w,y=e.w*e.w,h=n-s-f+y,p=2*(o-m),d=2*(i+c),v=2*(o+m),g=-n+s-f+y,E=2*(u-a),C=2*(i-c),S=2*(u+a),w=-n-s+f+y;return t(r)?(r[0]=h,r[1]=v,r[2]=C,r[3]=p,r[4]=g,r[5]=S,r[6]=d,r[7]=E,r[8]=w,r):new l(h,p,d,v,g,E,C,S,w)},l.fromScale=function(e,r){return t(r)?(r[0]=e.x,r[1]=0,r[2]=0,r[3]=0,r[4]=e.y,r[5]=0,r[6]=0,r[7]=0,r[8]=e.z,r):new l(e.x,0,0,0,e.y,0,0,0,e.z)},l.fromUniformScale=function(e,r){return t(r)?(r[0]=e,r[1]=0,r[2]=0,r[3]=0,r[4]=e,r[5]=0,r[6]=0,r[7]=0,r[8]=e,r):new l(e,0,0,0,e,0,0,0,e)},l.fromRotationX=function(e,r){var n=Math.cos(e),o=Math.sin(e);return t(r)?(r[0]=1,r[1]=0,r[2]=0,r[3]=0,r[4]=n,r[5]=o,r[6]=0,r[7]=-o,r[8]=n,r):new l(1,0,0,0,n,-o,0,o,n)},l.fromRotationY=function(e,r){var n=Math.cos(e),o=Math.sin(e);return t(r)?(r[0]=n,r[1]=0,r[2]=-o,r[3]=0,r[4]=1,r[5]=0,r[6]=o,r[7]=0,r[8]=n,r):new l(n,0,o,0,1,0,-o,0,n)},l.fromRotationZ=function(e,r){var n=Math.cos(e),o=Math.sin(e);return t(r)?(r[0]=n,r[1]=o,r[2]=0,r[3]=-o,r[4]=n,r[5]=0,r[6]=0,r[7]=0,r[8]=1,r):new l(n,-o,0,o,n,0,0,0,1)},l.toArray=function(e,r){return t(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8]]},l.getElementIndex=function(e,r){return 3*e+r},l.getColumn=function(r,n,o){var i=3*n,a=r[i],s=r[i+1],u=r[i+2];return t(o)?(o.x=a,o.y=s,o.z=u,o):new e(a,s,u)},l.setColumn=function(e,r,t,n){n=l.clone(e,n);var o=3*r;return n[o]=t.x,n[o+1]=t.y,n[o+2]=t.z,n},l.getRow=function(r,n,o){var i=r[n],a=r[n+3],s=r[n+6];return t(o)?(o.x=i,o.y=a,o.z=s,o):new e(i,a,s)},l.setRow=function(e,r,t,n){return n=l.clone(e,n),n[r]=t.x,n[r+3]=t.y,n[r+6]=t.z,n},l.multiply=function(e,r,n){var o=e[0]*r[0]+e[3]*r[1]+e[6]*r[2],i=e[1]*r[0]+e[4]*r[1]+e[7]*r[2],a=e[2]*r[0]+e[5]*r[1]+e[8]*r[2],s=e[0]*r[3]+e[3]*r[4]+e[6]*r[5],u=e[1]*r[3]+e[4]*r[4]+e[7]*r[5],c=e[2]*r[3]+e[5]*r[4]+e[8]*r[5],f=e[0]*r[6]+e[3]*r[7]+e[6]*r[8],m=e[1]*r[6]+e[4]*r[7]+e[7]*r[8],y=e[2]*r[6]+e[5]*r[7]+e[8]*r[8];return t(n)?(n[0]=o,n[1]=i,n[2]=a,n[3]=s,n[4]=u,n[5]=c,n[6]=f,n[7]=m,n[8]=y,n):new l(o,s,f,i,u,m,a,c,y)},l.multiplyByVector=function(r,n,o){var i=n.x,a=n.y,s=n.z,u=r[0]*i+r[3]*a+r[6]*s,l=r[1]*i+r[4]*a+r[7]*s,c=r[2]*i+r[5]*a+r[8]*s;return t(o)?(o.x=u,o.y=l,o.z=c,o):new e(u,l,c)},l.multiplyByScalar=function(e,r,n){return t(n)?(n[0]=e[0]*r,n[1]=e[1]*r,n[2]=e[2]*r,n[3]=e[3]*r,n[4]=e[4]*r,n[5]=e[5]*r,n[6]=e[6]*r,n[7]=e[7]*r,n[8]=e[8]*r,n):new l(e[0]*r,e[3]*r,e[6]*r,e[1]*r,e[4]*r,e[7]*r,e[2]*r,e[5]*r,e[8]*r)},l.negate=function(e,r){return t(r)?(r[0]=-e[0],r[1]=-e[1],r[2]=-e[2],r[3]=-e[3],r[4]=-e[4],r[5]=-e[5],r[6]=-e[6],r[7]=-e[7],r[8]=-e[8],r):new l(-e[0],-e[3],-e[6],-e[1],-e[4],-e[7],-e[2],-e[5],-e[8])},l.transpose=function(e,r){var n=e[0],o=e[3],i=e[6],a=e[1],s=e[4],u=e[7],c=e[2],f=e[5],m=e[8];return t(r)?(r[0]=n,r[1]=o,r[2]=i,r[3]=a,r[4]=s,r[5]=u,r[6]=c,r[7]=f,r[8]=m,r):new l(n,a,c,o,s,f,i,u,m)};var c=[1,0,0],f=[2,2,1],m=new l,y=new l;return l.getEigenDecomposition=function(e,r){var n=i.EPSILON20,o=10,c=0,f=0;t(r)||(r={});for(var h=r.unitary=l.clone(l.IDENTITY,r.unitary),p=r.diagonal=l.clone(e,r.diagonal),d=n*a(p);o>f&&s(p)>d;)u(p,m),l.transpose(m,y),l.multiply(p,m,p),l.multiply(y,p,p),l.multiply(h,m,h),++c>2&&(++f,c=0);return r},l.abs=function(e,r){return t(r)?(r[0]=Math.abs(e[0]),r[1]=Math.abs(e[1]),r[2]=Math.abs(e[2]),r[3]=Math.abs(e[3]),r[4]=Math.abs(e[4]),r[5]=Math.abs(e[5]),r[6]=Math.abs(e[6]),r[7]=Math.abs(e[7]),r[8]=Math.abs(e[8]),r):new l(Math.abs(e[0]),Math.abs(e[3]),Math.abs(e[6]),Math.abs(e[1]),Math.abs(e[4]),Math.abs(e[7]),Math.abs(e[2]),Math.abs(e[5]),Math.abs(e[8]))},l.determinant=function(e){var r=e[0],t=e[3],n=e[6],o=e[1],i=e[4],a=e[7],s=e[2],u=e[5],l=e[8];return r*(i*l-u*a)+o*(u*n-t*l)+s*(t*a-i*n)},l.inverse=function(e,r){var t=e[0],o=e[1],a=e[2],s=e[3],u=e[4],c=e[5],f=e[6],m=e[7],y=e[8],h=l.determinant(e);if(Math.abs(h)<=i.EPSILON15)throw new n("matrix is not invertible");var p=new l(u*y-m*c,f*c-s*y,s*m-f*u,m*a-o*y,t*y-f*a,f*o-t*m,o*c-u*a,s*a-t*c,t*u-s*o),d=1/h;return l.multiplyByScalar(p,d,r)},l.equals=function(e,r){return e===r||t(e)&&t(r)&&e[0]===r[0]&&e[1]===r[1]&&e[2]===r[2]&&e[3]===r[3]&&e[4]===r[4]&&e[5]===r[5]&&e[6]===r[6]&&e[7]===r[7]&&e[8]===r[8]},l.equalsEpsilon=function(e,r,n){return e===r||t(e)&&t(r)&&Math.abs(e[0]-r[0])<=n&&Math.abs(e[1]-r[1])<=n&&Math.abs(e[2]-r[2])<=n&&Math.abs(e[3]-r[3])<=n&&Math.abs(e[4]-r[4])<=n&&Math.abs(e[5]-r[5])<=n&&Math.abs(e[6]-r[6])<=n&&Math.abs(e[7]-r[7])<=n&&Math.abs(e[8]-r[8])<=n},l.IDENTITY=o(new l(1,0,0,0,1,0,0,0,1)),l.COLUMN0ROW0=0,l.COLUMN0ROW1=1,l.COLUMN0ROW2=2,l.COLUMN1ROW0=3,l.COLUMN1ROW1=4,l.COLUMN1ROW2=5,l.COLUMN2ROW0=6,l.COLUMN2ROW1=7,l.COLUMN2ROW2=8,l.prototype.clone=function(e){return l.clone(this,e)},l.prototype.equals=function(e){return l.equals(this,e)},l.prototype.equalsEpsilon=function(e,r){return l.equalsEpsilon(this,e,r)},l.prototype.toString=function(){return"("+this[0]+", "+this[3]+", "+this[6]+")\n"+"("+this[1]+", "+this[4]+", "+this[7]+")\n"+"("+this[2]+", "+this[5]+", "+this[8]+")"},l}),define("Core/RuntimeError",["./defined"],function(e){"use strict";var r=function(e){this.name="RuntimeError",this.message=e;var r;try{throw new Error}catch(t){r=t.stack}this.stack=r};return r.prototype.toString=function(){var r=this.name+": "+this.message;return e(this.stack)&&(r+="\n"+this.stack.toString()),r},r}),define("Core/Matrix4",["./Cartesian3","./Cartesian4","./defaultValue","./defined","./DeveloperError","./freezeObject","./Math","./Matrix3","./RuntimeError"],function(e,r,t,n,o,i,a,s,u){"use strict";var l=function(e,r,n,o,i,a,s,u,l,c,f,m,y,h,p,d){this[0]=t(e,0),this[1]=t(i,0),this[2]=t(l,0),this[3]=t(y,0),this[4]=t(r,0),this[5]=t(a,0),this[6]=t(c,0),this[7]=t(h,0),this[8]=t(n,0),this[9]=t(s,0),this[10]=t(f,0),this[11]=t(p,0),this[12]=t(o,0),this[13]=t(u,0),this[14]=t(m,0),this[15]=t(d,0)};l.clone=function(e,r){return n(e)?n(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r[9]=e[9],r[10]=e[10],r[11]=e[11],r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15],r):new l(e[0],e[4],e[8],e[12],e[1],e[5],e[9],e[13],e[2],e[6],e[10],e[14],e[3],e[7],e[11],e[15]):void 0},l.fromArray=function(e,r,o){return r=t(r,0),n(o)||(o=new l),o[0]=e[r],o[1]=e[r+1],o[2]=e[r+2],o[3]=e[r+3],o[4]=e[r+4],o[5]=e[r+5],o[6]=e[r+6],o[7]=e[r+7],o[8]=e[r+8],o[9]=e[r+9],o[10]=e[r+10],o[11]=e[r+11],o[12]=e[r+12],o[13]=e[r+13],o[14]=e[r+14],o[15]=e[r+15],o},l.fromColumnMajorArray=function(e,r){return l.clone(e,r)},l.fromRowMajorArray=function(e,r){return n(r)?(r[0]=e[0],r[1]=e[4],r[2]=e[8],r[3]=e[12],r[4]=e[1],r[5]=e[5],r[6]=e[9],r[7]=e[13],r[8]=e[2],r[9]=e[6],r[10]=e[10],r[11]=e[14],r[12]=e[3],r[13]=e[7],r[14]=e[11],r[15]=e[15],r):new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])},l.fromRotationTranslation=function(e,r,t){return n(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=0,t[4]=e[3],t[5]=e[4],t[6]=e[5],t[7]=0,t[8]=e[6],t[9]=e[7],t[10]=e[8],t[11]=0,t[12]=r.x,t[13]=r.y,t[14]=r.z,t[15]=1,t):new l(e[0],e[3],e[6],r.x,e[1],e[4],e[7],r.y,e[2],e[5],e[8],r.z,0,0,0,1)},new s,l.fromTranslationQuaternionRotationScale=function(e,r,t,o){n(o)||(o=new l);var i=t.x,a=t.y,s=t.z,u=r.x*r.x,c=r.x*r.y,f=r.x*r.z,m=r.x*r.w,y=r.y*r.y,h=r.y*r.z,p=r.y*r.w,d=r.z*r.z,v=r.z*r.w,g=r.w*r.w,E=u-y-d+g,C=2*(c-v),S=2*(f+p),w=2*(c+v),x=-u+y-d+g,A=2*(h-m),M=2*(f-p),b=2*(h+m),T=-u-y+d+g;return o[0]=E*i,o[1]=w*i,o[2]=M*i,o[3]=0,o[4]=C*a,o[5]=x*a,o[6]=b*a,o[7]=0,o[8]=S*s,o[9]=A*s,o[10]=T*s,o[11]=0,o[12]=e.x,o[13]=e.y,o[14]=e.z,o[15]=1,o},l.fromTranslation=function(e,r){return l.fromRotationTranslation(s.IDENTITY,e,r)},l.fromScale=function(e,r){return n(r)?(r[0]=e.x,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=e.y,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=e.z,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r):new l(e.x,0,0,0,0,e.y,0,0,0,0,e.z,0,0,0,0,1)},l.fromUniformScale=function(e,r){return n(r)?(r[0]=e,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=e,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=e,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r):new l(e,0,0,0,0,e,0,0,0,0,e,0,0,0,0,1)};var c=new e,f=new e,m=new e;l.fromCamera=function(r,t){var o=r.eye,i=r.target,a=r.up;e.normalize(e.subtract(i,o,c),c),e.normalize(e.cross(c,a,f),f),e.normalize(e.cross(f,c,m),m);var s=f.x,u=f.y,y=f.z,h=c.x,p=c.y,d=c.z,v=m.x,g=m.y,E=m.z,C=o.x,S=o.y,w=o.z,x=s*-C+u*-S+y*-w,A=v*-C+g*-S+E*-w,M=h*C+p*S+d*w;return n(t)?(t[0]=s,t[1]=v,t[2]=-h,t[3]=0,t[4]=u,t[5]=g,t[6]=-p,t[7]=0,t[8]=y,t[9]=E,t[10]=-d,t[11]=0,t[12]=x,t[13]=A,t[14]=M,t[15]=1,t):new l(s,u,y,x,v,g,E,A,-h,-p,-d,M,0,0,0,1)},l.computePerspectiveFieldOfView=function(e,r,t,o,i){var a=Math.tan(.5*e),s=1/a,u=s/r,c=(o+t)/(t-o),f=2*o*t/(t-o);return n(i)?(i[0]=u,i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=s,i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=c,i[11]=-1,i[12]=0,i[13]=0,i[14]=f,i[15]=0,i):new l(u,0,0,0,0,s,0,0,0,0,c,f,0,0,-1,0)},l.computeOrthographicOffCenter=function(e,r,t,o,i,a,s){var u=1/(r-e),c=1/(o-t),f=1/(a-i),m=-(r+e)*u,y=-(o+t)*c,h=-(a+i)*f;return u*=2,c*=2,f*=-2,n(s)?(s[0]=u,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=c,s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=f,s[11]=0,s[12]=m,s[13]=y,s[14]=h,s[15]=1,s):new l(u,0,0,m,0,c,0,y,0,0,f,h,0,0,0,1)},l.computePerspectiveOffCenter=function(e,r,t,o,i,a,s){var u=2*i/(r-e),c=2*i/(o-t),f=(r+e)/(r-e),m=(o+t)/(o-t),y=-(a+i)/(a-i),h=-1,p=-2*a*i/(a-i);return n(s)?(s[0]=u,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=c,s[6]=0,s[7]=0,s[8]=f,s[9]=m,s[10]=y,s[11]=h,s[12]=0,s[13]=0,s[14]=p,s[15]=0,s):new l(u,0,f,0,0,c,m,0,0,0,y,p,0,0,h,0)},l.computeInfinitePerspectiveOffCenter=function(e,r,t,o,i,a){var s=2*i/(r-e),u=2*i/(o-t),c=(r+e)/(r-e),f=(o+t)/(o-t),m=-1,y=-1,h=-2*i;return n(a)?(a[0]=s,a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=u,a[6]=0,a[7]=0,a[8]=c,a[9]=f,a[10]=m,a[11]=y,a[12]=0,a[13]=0,a[14]=h,a[15]=0,a):new l(s,0,c,0,0,u,f,0,0,0,m,h,0,0,y,0)},l.computeViewportTransformation=function(e,r,o,i){e=t(e,t.EMPTY_OBJECT);var a=t(e.x,0),s=t(e.y,0),u=t(e.width,0),c=t(e.height,0);r=t(r,0),o=t(o,1);var f=.5*u,m=.5*c,y=.5*(o-r),h=f,p=m,d=y,v=a+f,g=s+m,E=r+y,C=1;return n(i)?(i[0]=h,i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=p,i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=d,i[11]=0,i[12]=v,i[13]=g,i[14]=E,i[15]=C,i):new l(h,0,0,v,0,p,0,g,0,0,d,E,0,0,0,C)},l.toArray=function(e,r){return n(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r[9]=e[9],r[10]=e[10],r[11]=e[11],r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15],r):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]]},l.getElementIndex=function(e,r){return 4*e+r},l.getColumn=function(e,t,o){var i=4*t,a=e[i],s=e[i+1],u=e[i+2],l=e[i+3];return n(o)?(o.x=a,o.y=s,o.z=u,o.w=l,o):new r(a,s,u,l)},l.setColumn=function(e,r,t,n){n=l.clone(e,n);var o=4*r;return n[o]=t.x,n[o+1]=t.y,n[o+2]=t.z,n[o+3]=t.w,n},l.getRow=function(e,t,o){var i=e[t],a=e[t+4],s=e[t+8],u=e[t+12];return n(o)?(o.x=i,o.y=a,o.z=s,o.w=u,o):new r(i,a,s,u)},l.setRow=function(e,r,t,n){return n=l.clone(e,n),n[r]=t.x,n[r+4]=t.y,n[r+8]=t.z,n[r+12]=t.w,n},l.multiply=function(e,r,t){var o=e[0],i=e[1],a=e[2],s=e[3],u=e[4],c=e[5],f=e[6],m=e[7],y=e[8],h=e[9],p=e[10],d=e[11],v=e[12],g=e[13],E=e[14],C=e[15],S=r[0],w=r[1],x=r[2],A=r[3],M=r[4],b=r[5],T=r[6],O=r[7],I=r[8],R=r[9],N=r[10],z=r[11],L=r[12],F=r[13],D=r[14],P=r[15],B=o*S+u*w+y*x+v*A,_=i*S+c*w+h*x+g*A,U=a*S+f*w+p*x+E*A,G=s*S+m*w+d*x+C*A,q=o*M+u*b+y*T+v*O,Y=i*M+c*b+h*T+g*O,W=a*M+f*b+p*T+E*O,V=s*M+m*b+d*T+C*O,H=o*I+u*R+y*N+v*z,k=i*I+c*R+h*N+g*z,K=a*I+f*R+p*N+E*z,j=s*I+m*R+d*N+C*z,Z=o*L+u*F+y*D+v*P,Q=i*L+c*F+h*D+g*P,X=a*L+f*F+p*D+E*P,J=s*L+m*F+d*D+C*P;return n(t)?(t[0]=B,t[1]=_,t[2]=U,t[3]=G,t[4]=q,t[5]=Y,t[6]=W,t[7]=V,t[8]=H,t[9]=k,t[10]=K,t[11]=j,t[12]=Z,t[13]=Q,t[14]=X,t[15]=J,t):new l(B,q,H,Z,_,Y,k,Q,U,W,K,X,G,V,j,J)},l.multiplyTransformation=function(e,r,t){var o=e[0],i=e[1],a=e[2],s=e[4],u=e[5],c=e[6],f=e[8],m=e[9],y=e[10],h=e[12],p=e[13],d=e[14],v=r[0],g=r[1],E=r[2],C=r[4],S=r[5],w=r[6],x=r[8],A=r[9],M=r[10],b=r[12],T=r[13],O=r[14],I=o*v+s*g+f*E,R=i*v+u*g+m*E,N=a*v+c*g+y*E,z=o*C+s*S+f*w,L=i*C+u*S+m*w,F=a*C+c*S+y*w,D=o*x+s*A+f*M,P=i*x+u*A+m*M,B=a*x+c*A+y*M,_=o*b+s*T+f*O+h,U=i*b+u*T+m*O+p,G=a*b+c*T+y*O+d;return n(t)?(t[0]=I,t[1]=R,t[2]=N,t[3]=0,t[4]=z,t[5]=L,t[6]=F,t[7]=0,t[8]=D,t[9]=P,t[10]=B,t[11]=0,t[12]=_,t[13]=U,t[14]=G,t[15]=1,t):new l(I,z,D,_,R,L,P,U,N,F,B,G,0,0,0,1) +},l.multiplyByTranslation=function(e,r,t){var o=r.x,i=r.y,a=r.z,s=o*e[0]+i*e[4]+a*e[8]+e[12],u=o*e[1]+i*e[5]+a*e[9]+e[13],c=o*e[2]+i*e[6]+a*e[10]+e[14];return n(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=s,t[13]=u,t[14]=c,t[15]=e[15],t):new l(e[0],e[4],e[8],s,e[1],e[5],e[9],u,e[2],e[6],e[10],c,e[3],e[7],e[11],e[15])};var y=new e;return l.multiplyByUniformScale=function(e,r,t){return y.x=r,y.y=r,y.z=r,l.multiplyByScale(e,y,t)},l.multiplyByScale=function(e,r,t){var o=r.x,i=r.y,a=r.z;return 1===o&&1===i&&1===a?l.clone(e,t):n(t)?(t[0]=o*e[0],t[1]=o*e[1],t[2]=o*e[2],t[3]=0,t[4]=i*e[4],t[5]=i*e[5],t[6]=i*e[6],t[7]=0,t[8]=a*e[8],t[9]=a*e[9],t[10]=a*e[10],t[11]=0,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=1,t):new l(o*e[0],i*e[4],a*e[8],e[12],o*e[1],i*e[5],a*e[9],e[13],o*e[2],i*e[6],a*e[10],e[14],0,0,0,1)},l.multiplyByVector=function(e,t,o){var i=t.x,a=t.y,s=t.z,u=t.w,l=e[0]*i+e[4]*a+e[8]*s+e[12]*u,c=e[1]*i+e[5]*a+e[9]*s+e[13]*u,f=e[2]*i+e[6]*a+e[10]*s+e[14]*u,m=e[3]*i+e[7]*a+e[11]*s+e[15]*u;return n(o)?(o.x=l,o.y=c,o.z=f,o.w=m,o):new r(l,c,f,m)},l.multiplyByPointAsVector=function(r,t,o){var i=t.x,a=t.y,s=t.z,u=r[0]*i+r[4]*a+r[8]*s,l=r[1]*i+r[5]*a+r[9]*s,c=r[2]*i+r[6]*a+r[10]*s;return n(o)?(o.x=u,o.y=l,o.z=c,o):new e(u,l,c)},l.multiplyByPoint=function(r,t,o){var i=t.x,a=t.y,s=t.z,u=r[0]*i+r[4]*a+r[8]*s+r[12],l=r[1]*i+r[5]*a+r[9]*s+r[13],c=r[2]*i+r[6]*a+r[10]*s+r[14];return n(o)?(o.x=u,o.y=l,o.z=c,o):new e(u,l,c)},l.multiplyByScalar=function(e,r,t){return n(t)?(t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*r,t[9]=e[9]*r,t[10]=e[10]*r,t[11]=e[11]*r,t[12]=e[12]*r,t[13]=e[13]*r,t[14]=e[14]*r,t[15]=e[15]*r,t):new l(e[0]*r,e[4]*r,e[8]*r,e[12]*r,e[1]*r,e[5]*r,e[9]*r,e[13]*r,e[2]*r,e[6]*r,e[10]*r,e[14]*r,e[3]*r,e[7]*r,e[11]*r,e[15]*r)},l.negate=function(e,r){return n(r)?(r[0]=-e[0],r[1]=-e[1],r[2]=-e[2],r[3]=-e[3],r[4]=-e[4],r[5]=-e[5],r[6]=-e[6],r[7]=-e[7],r[8]=-e[8],r[9]=-e[9],r[10]=-e[10],r[11]=-e[11],r[12]=-e[12],r[13]=-e[13],r[14]=-e[14],r[15]=-e[15],r):new l(-e[0],-e[4],-e[8],-e[12],-e[1],-e[5],-e[9],-e[13],-e[2],-e[6],-e[10],-e[14],-e[3],-e[7],-e[11],-e[15])},l.transpose=function(e,r){if(!n(r))return new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]);var t=e[1],o=e[2],i=e[3],a=e[6],s=e[7],u=e[11];return r[0]=e[0],r[1]=e[4],r[2]=e[8],r[3]=e[12],r[4]=t,r[5]=e[5],r[6]=e[9],r[7]=e[13],r[8]=o,r[9]=a,r[10]=e[10],r[11]=e[14],r[12]=i,r[13]=s,r[14]=u,r[15]=e[15],r},l.abs=function(e,r){return n(r)?(r[0]=Math.abs(e[0]),r[1]=Math.abs(e[1]),r[2]=Math.abs(e[2]),r[3]=Math.abs(e[3]),r[4]=Math.abs(e[4]),r[5]=Math.abs(e[5]),r[6]=Math.abs(e[6]),r[7]=Math.abs(e[7]),r[8]=Math.abs(e[8]),r[9]=Math.abs(e[9]),r[10]=Math.abs(e[10]),r[11]=Math.abs(e[11]),r[12]=Math.abs(e[12]),r[13]=Math.abs(e[13]),r[14]=Math.abs(e[14]),r[15]=Math.abs(e[15]),r):new l(Math.abs(e[0]),Math.abs(e[4]),Math.abs(e[8]),Math.abs(e[12]),Math.abs(e[1]),Math.abs(e[5]),Math.abs(e[9]),Math.abs(e[13]),Math.abs(e[2]),Math.abs(e[6]),Math.abs(e[10]),Math.abs(e[14]),Math.abs(e[3]),Math.abs(e[7]),Math.abs(e[11]),Math.abs(e[15]))},l.equals=function(e,r){return e===r||n(e)&&n(r)&&e[0]===r[0]&&e[1]===r[1]&&e[2]===r[2]&&e[3]===r[3]&&e[4]===r[4]&&e[5]===r[5]&&e[6]===r[6]&&e[7]===r[7]&&e[8]===r[8]&&e[9]===r[9]&&e[10]===r[10]&&e[11]===r[11]&&e[12]===r[12]&&e[13]===r[13]&&e[14]===r[14]&&e[15]===r[15]},l.equalsEpsilon=function(e,r,t){return e===r||n(e)&&n(r)&&Math.abs(e[0]-r[0])<=t&&Math.abs(e[1]-r[1])<=t&&Math.abs(e[2]-r[2])<=t&&Math.abs(e[3]-r[3])<=t&&Math.abs(e[4]-r[4])<=t&&Math.abs(e[5]-r[5])<=t&&Math.abs(e[6]-r[6])<=t&&Math.abs(e[7]-r[7])<=t&&Math.abs(e[8]-r[8])<=t&&Math.abs(e[9]-r[9])<=t&&Math.abs(e[10]-r[10])<=t&&Math.abs(e[11]-r[11])<=t&&Math.abs(e[12]-r[12])<=t&&Math.abs(e[13]-r[13])<=t&&Math.abs(e[14]-r[14])<=t&&Math.abs(e[15]-r[15])<=t},l.getTranslation=function(r,t){return n(t)?(t.x=r[12],t.y=r[13],t.z=r[14],t):new e(r[12],r[13],r[14])},l.getRotation=function(e,r){return n(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[4],r[4]=e[5],r[5]=e[6],r[6]=e[8],r[7]=e[9],r[8]=e[10],r):new s(e[0],e[4],e[8],e[1],e[5],e[9],e[2],e[6],e[10])},l.inverse=function(e,r){var t=e[0],o=e[4],i=e[8],s=e[12],c=e[1],f=e[5],m=e[9],y=e[13],h=e[2],p=e[6],d=e[10],v=e[14],g=e[3],E=e[7],C=e[11],S=e[15],w=d*S,x=v*C,A=p*S,M=v*E,b=p*C,T=d*E,O=h*S,I=v*g,R=h*C,N=d*g,z=h*E,L=p*g,F=w*f+M*m+b*y-(x*f+A*m+T*y),D=x*c+O*m+N*y-(w*c+I*m+R*y),P=A*c+I*f+z*y-(M*c+O*f+L*y),B=T*c+R*f+L*m-(b*c+N*f+z*m),_=x*o+A*i+T*s-(w*o+M*i+b*s),U=w*t+I*i+R*s-(x*t+O*i+N*s),G=M*t+O*o+L*s-(A*t+I*o+z*s),q=b*t+N*o+z*i-(T*t+R*o+L*i);w=i*y,x=s*m,A=o*y,M=s*f,b=o*m,T=i*f,O=t*y,I=s*c,R=t*m,N=i*c,z=t*f,L=o*c;var Y=w*E+M*C+b*S-(x*E+A*C+T*S),W=x*g+O*C+N*S-(w*g+I*C+R*S),V=A*g+I*E+z*S-(M*g+O*E+L*S),H=T*g+R*E+L*C-(b*g+N*E+z*C),k=A*d+T*v+x*p-(b*v+w*p+M*d),K=R*v+w*h+I*d-(O*d+N*v+x*h),j=O*p+L*v+M*h-(z*v+A*h+I*p),Z=z*d+b*h+N*p-(R*p+L*d+T*h),Q=t*F+o*D+i*P+s*B;if(Math.abs(Q)M;M++){e.clone(r[M],o);var b=o.x,T=o.y,O=o.z;bu.x&&e.clone(o,u),Tl.y&&e.clone(o,l),Ox.z&&e.clone(o,x)}var I=e.magnitudeSquared(e.subtract(u,i,g)),R=e.magnitudeSquared(e.subtract(l,a,g)),N=e.magnitudeSquared(e.subtract(x,s,g)),z=i,L=u,F=I;R>F&&(F=R,z=a,L=l),N>F&&(F=N,z=s,L=x);var D=E;D.x=.5*(z.x+L.x),D.y=.5*(z.y+L.y),D.z=.5*(z.z+L.z);var P=e.magnitudeSquared(e.subtract(L,D,g)),B=Math.sqrt(P),_=C;_.x=i.x,_.y=a.y,_.z=s.z;var U=S;U.x=u.x,U.y=l.y,U.z=x.z;var G=e.multiplyByScalar(e.add(_,U,g),.5,w),q=0;for(M=0;A>M;M++){e.clone(r[M],o);var Y=e.magnitude(e.subtract(o,G,g));Y>q&&(q=Y);var W=e.magnitudeSquared(e.subtract(o,D,g));if(W>P){var V=Math.sqrt(W);B=.5*(B+V),P=B*B;var H=V-B;D.x=(B*D.x+H*o.x)/V,D.y=(B*D.y+H*o.y)/V,D.z=(B*D.z+H*o.z)/V}}return q>B?(e.clone(D,t.center),t.radius=B):(e.clone(G,t.center),t.radius=q),t};var x=new a,A=new e,M=new e,b=new r,T=new r;c.fromExtent2D=function(e,r,t){return c.fromExtentWithHeights2D(e,r,0,0,t)},c.fromExtentWithHeights2D=function(r,o,i,a,s){if(n(s)||(s=new c),!n(r))return s.center=e.clone(e.ZERO,s.center),s.radius=0,s;o=t(o,x),r.getSouthwest(b),b.height=i,r.getNortheast(T),T.height=a;var u=o.project(b,A),l=o.project(T,M),f=l.x-u.x,m=l.y-u.y,y=l.z-u.z;s.radius=.5*Math.sqrt(f*f+m*m+y*y);var h=s.center;return h.x=u.x+.5*f,h.y=u.y+.5*m,h.z=u.z+.5*y,s};var O=[];c.fromExtent3D=function(e,r,o,a){r=t(r,i.WGS84),o=t(o,0);var s;return n(e)&&(s=e.subsample(r,o,O)),c.fromPoints(s,a)},c.fromVertices=function(r,o,i,a){if(n(a)||(a=new c),!n(r)||0===r.length)return a.center=e.clone(e.ZERO,a.center),a.radius=0,a;o=t(o,e.ZERO),i=t(i,3);var s=v;s.x=r[0]+o.x,s.y=r[1]+o.y,s.z=r[2]+o.z;for(var u=e.clone(s,f),l=e.clone(s,m),x=e.clone(s,y),A=e.clone(s,h),M=e.clone(s,p),b=e.clone(s,d),T=r.length,O=0;T>O;O+=i){var I=r[O]+o.x,R=r[O+1]+o.y,N=r[O+2]+o.z;s.x=I,s.y=R,s.z=N,IA.x&&e.clone(s,A),RM.y&&e.clone(s,M),Nb.z&&e.clone(s,b)}var z=e.magnitudeSquared(e.subtract(A,u,g)),L=e.magnitudeSquared(e.subtract(M,l,g)),F=e.magnitudeSquared(e.subtract(b,x,g)),D=u,P=A,B=z;L>B&&(B=L,D=l,P=M),F>B&&(B=F,D=x,P=b);var _=E;_.x=.5*(D.x+P.x),_.y=.5*(D.y+P.y),_.z=.5*(D.z+P.z);var U=e.magnitudeSquared(e.subtract(P,_,g)),G=Math.sqrt(U),q=C;q.x=u.x,q.y=l.y,q.z=x.z;var Y=S;Y.x=A.x,Y.y=M.y,Y.z=b.z;var W=e.multiplyByScalar(e.add(q,Y,g),.5,w),V=0;for(O=0;T>O;O+=i){s.x=r[O]+o.x,s.y=r[O+1]+o.y,s.z=r[O+2]+o.z;var H=e.magnitude(e.subtract(s,W,g));H>V&&(V=H);var k=e.magnitudeSquared(e.subtract(s,_,g));if(k>U){var K=Math.sqrt(k);G=.5*(G+K),U=G*G;var j=K-G;_.x=(G*_.x+j*s.x)/K,_.y=(G*_.y+j*s.y)/K,_.z=(G*_.z+j*s.z)/K}}return V>G?(e.clone(_,a.center),a.radius=G):(e.clone(W,a.center),a.radius=V),a},c.fromCornerPoints=function(r,t,o){n(o)||(o=new c);var i=o.center;return e.add(r,t,i),e.multiplyByScalar(i,.5,i),o.radius=e.distance(i,t),o},c.fromEllipsoid=function(r,t){return n(t)||(t=new c),e.clone(e.ZERO,t.center),t.radius=r.maximumRadius,t},c.clone=function(r,t){return n(r)?n(t)?(t.center=e.clone(r.center,t.center),t.radius=r.radius,t):new c(r.center,r.radius):void 0};var I=new e,R=new e;c.union=function(r,t,o){n(o)||(o=new c);var i=r.center,a=t.center;e.add(i,a,R);var s=e.multiplyByScalar(R,.5,R),u=e.magnitude(e.subtract(i,s,I))+r.radius,l=e.magnitude(e.subtract(a,s,I))+t.radius;return o.radius=Math.max(u,l),e.clone(s,o.center),o};var N=new e;c.expand=function(r,t,n){n=c.clone(r,n);var o=e.magnitude(e.subtract(t,n.center,N));return o>n.radius&&(n.radius=o),n},c.intersect=function(r,t){var n=r.center,o=r.radius,i=e.dot(t,n)+t.w;return-o>i?s.OUTSIDE:o>i?s.INTERSECTING:s.INSIDE};var z=new e;c.transform=function(r,t,o){return n(o)||(o=new c),o.center=l.multiplyByPoint(t,r.center,o.center),o.radius=Math.max(e.magnitude(l.getColumn(t,0,z)),e.magnitude(l.getColumn(t,1,z)),e.magnitude(l.getColumn(t,2,z)))*r.radius,o},c.transformWithoutScale=function(e,r,t){return n(t)||(t=new c),t.center=l.multiplyByPoint(r,e.center,t.center),t.radius=e.radius,t};var L=new e;c.getPlaneDistances=function(r,t,o,i){n(i)||(i=new u);var a=e.subtract(r.center,t,L),s=e.multiplyByScalar(o,e.dot(o,a),L),l=e.magnitude(s);return i.start=l-r.radius,i.stop=l+r.radius,i};for(var F=new e,D=new e,P=new e,B=new e,_=new e,U=new r,G=new Array(8),q=0;8>q;++q)G[q]=new e;var Y=new a;return c.projectTo2D=function(r,n,o){n=t(n,Y);var i=n.ellipsoid,a=r.center,s=r.radius,u=i.geodeticSurfaceNormal(a,F),l=e.cross(e.UNIT_Z,u,D);e.normalize(l,l);var f=e.cross(u,l,P);e.normalize(f,f),e.multiplyByScalar(u,s,u),e.multiplyByScalar(f,s,f),e.multiplyByScalar(l,s,l);var m=e.negate(f,_),y=e.negate(l,B),h=G,p=h[0];e.add(u,f,p),e.add(p,l,p),p=h[1],e.add(u,f,p),e.add(p,y,p),p=h[2],e.add(u,m,p),e.add(p,y,p),p=h[3],e.add(u,m,p),e.add(p,l,p),e.negate(u,u),p=h[4],e.add(u,f,p),e.add(p,l,p),p=h[5],e.add(u,f,p),e.add(p,y,p),p=h[6],e.add(u,m,p),e.add(p,y,p),p=h[7],e.add(u,m,p),e.add(p,l,p);for(var d=h.length,v=0;d>v;++v){var g=h[v];e.add(a,g,g);var E=i.cartesianToCartographic(g,U);n.project(E,g)}o=c.fromPoints(h,o),a=o.center;var C=a.x,S=a.y,w=a.z;return a.x=w,a.y=C,a.z=S,o},c.equals=function(r,t){return r===t||n(r)&&n(t)&&e.equals(r.center,t.center)&&r.radius===t.radius},c.prototype.clone=function(e){return c.clone(this,e)},c.prototype.union=function(e,r){return c.union(this,e,r)},c.prototype.expand=function(e,r){return c.expand(this,e,r)},c.prototype.intersect=function(e){return c.intersect(this,e)},c.prototype.getPlaneDistances=function(e,r,t){return c.getPlaneDistances(this,e,r,t)},c.prototype.projectTo2D=function(e,r){return c.projectTo2D(this,e,r)},c.prototype.equals=function(e){return c.equals(this,e)},c}),define("Core/Cartesian2",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,r,t,n){"use strict";var o=function(r,t){this.x=e(r,0),this.y=e(t,0)};o.fromElements=function(e,t,n){return r(n)?(n.x=e,n.y=t,n):new o(e,t)},o.clone=function(e,t){return r(e)?r(t)?(t.x=e.x,t.y=e.y,t):new o(e.x,e.y):void 0},o.fromCartesian3=o.clone,o.fromCartesian4=o.clone,o.packedLength=2,o.pack=function(r,t,n){n=e(n,0),t[n++]=r.x,t[n]=r.y},o.unpack=function(t,n,i){return n=e(n,0),r(i)||(i=new o),i.x=t[n++],i.y=t[n],i},o.fromArray=o.unpack,o.getMaximumComponent=function(e){return Math.max(e.x,e.y)},o.getMinimumComponent=function(e){return Math.min(e.x,e.y)},o.getMinimumByComponent=function(e,t,n){return r(n)||(n=new o),n.x=Math.min(e.x,t.x),n.y=Math.min(e.y,t.y),n},o.getMaximumByComponent=function(e,t,n){return r(n)||(n=new o),n.x=Math.max(e.x,t.x),n.y=Math.max(e.y,t.y),n},o.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y},o.magnitude=function(e){return Math.sqrt(o.magnitudeSquared(e))};var i=new o;o.distance=function(e,r){return o.subtract(e,r,i),o.magnitude(i)},o.normalize=function(e,t){var n=o.magnitude(e);return r(t)?(t.x=e.x/n,t.y=e.y/n,t):new o(e.x/n,e.y/n)},o.dot=function(e,r){return e.x*r.x+e.y*r.y},o.multiplyComponents=function(e,t,n){return r(n)?(n.x=e.x*t.x,n.y=e.y*t.y,n):new o(e.x*t.x,e.y*t.y)},o.add=function(e,t,n){return r(n)?(n.x=e.x+t.x,n.y=e.y+t.y,n):new o(e.x+t.x,e.y+t.y)},o.subtract=function(e,t,n){return r(n)?(n.x=e.x-t.x,n.y=e.y-t.y,n):new o(e.x-t.x,e.y-t.y)},o.multiplyByScalar=function(e,t,n){return r(n)?(n.x=e.x*t,n.y=e.y*t,n):new o(e.x*t,e.y*t)},o.divideByScalar=function(e,t,n){return r(n)?(n.x=e.x/t,n.y=e.y/t,n):new o(e.x/t,e.y/t)},o.negate=function(e,t){return r(t)?(t.x=-e.x,t.y=-e.y,t):new o(-e.x,-e.y)},o.abs=function(e,t){return r(t)?(t.x=Math.abs(e.x),t.y=Math.abs(e.y),t):new o(Math.abs(e.x),Math.abs(e.y))};var a=new o;o.lerp=function(e,r,t,n){return o.multiplyByScalar(r,t,a),n=o.multiplyByScalar(e,1-t,n),o.add(a,n,n)};var s=new o,u=new o;o.angleBetween=function(e,r){return o.normalize(e,s),o.normalize(r,u),Math.acos(o.dot(s,u))};var l=new o;return o.mostOrthogonalAxis=function(e,r){var t=o.normalize(e,l);return o.abs(t,t),r=t.x<=t.y?o.clone(o.UNIT_X,r):o.clone(o.UNIT_Y,r)},o.equals=function(e,t){return e===t||r(e)&&r(t)&&e.x===t.x&&e.y===t.y},o.equalsEpsilon=function(e,t,n){return e===t||r(e)&&r(t)&&Math.abs(e.x-t.x)<=n&&Math.abs(e.y-t.y)<=n},o.ZERO=n(new o(0,0)),o.UNIT_X=n(new o(1,0)),o.UNIT_Y=n(new o(0,1)),o.prototype.clone=function(e){return o.clone(this,e)},o.prototype.equals=function(e){return o.equals(this,e)},o.prototype.equalsEpsilon=function(e,r){return o.equalsEpsilon(this,e,r)},o.prototype.toString=function(){return"("+this.x+", "+this.y+")"},o}),define("Core/Fullscreen",["./defined"],function(e){"use strict";var r,t={requestFullscreen:void 0,exitFullscreen:void 0,fullscreenEnabled:void 0,fullscreenElement:void 0,fullscreenchange:void 0,fullscreenerror:void 0},n={};return n.supportsFullscreen=function(){if(e(r))return r;r=!1;var n=document.body;if("function"==typeof n.requestFullscreen)return t.requestFullscreen="requestFullscreen",t.exitFullscreen="exitFullscreen",t.fullscreenEnabled="fullscreenEnabled",t.fullscreenElement="fullscreenElement",t.fullscreenchange="fullscreenchange",t.fullscreenerror="fullscreenerror",r=!0;for(var o,i=["webkit","moz","o","ms","khtml"],a=0,s=i.length;s>a;++a){var u=i[a];o=u+"RequestFullscreen","function"==typeof n[o]?(t.requestFullscreen=o,r=!0):(o=u+"RequestFullScreen","function"==typeof n[o]&&(t.requestFullscreen=o,r=!0)),o=u+"ExitFullscreen","function"==typeof document[o]?t.exitFullscreen=o:(o=u+"CancelFullScreen","function"==typeof document[o]&&(t.exitFullscreen=o)),o=u+"FullscreenEnabled",e(document[o])?t.fullscreenEnabled=o:(o=u+"FullScreenEnabled",e(document[o])&&(t.fullscreenEnabled=o)),o=u+"FullscreenElement",e(document[o])?t.fullscreenElement=o:(o=u+"FullScreenElement",e(document[o])&&(t.fullscreenElement=o)),o=u+"fullscreenchange",e(document["on"+o])&&("ms"===u&&(o="MSFullscreenChange"),t.fullscreenchange=o),o=u+"fullscreenerror",e(document["on"+o])&&("ms"===u&&(o="MSFullscreenError"),t.fullscreenerror=o)}return r},n.requestFullscreen=function(e){n.supportsFullscreen()&&e[t.requestFullscreen]()},n.exitFullscreen=function(){n.supportsFullscreen()&&document[t.exitFullscreen]()},n.isFullscreenEnabled=function(){return n.supportsFullscreen()?document[t.fullscreenEnabled]:void 0},n.getFullscreenElement=function(){return n.supportsFullscreen()?document[t.fullscreenElement]:void 0},n.isFullscreen=function(){return n.supportsFullscreen()?null!==n.getFullscreenElement():void 0},n.getFullscreenChangeEventName=function(){return n.supportsFullscreen()?t.fullscreenchange:void 0},n.getFullscreenErrorEventName=function(){return n.supportsFullscreen()?t.fullscreenerror:void 0},n}),define("Core/FeatureDetection",["./defined","./Fullscreen"],function(e,r){"use strict";function t(e){for(var r=e.split("."),t=0,n=r.length;n>t;++t)r[t]=parseInt(r[t],10);return r}function n(){if(!e(f)){var r=/ Chrome\/([\.0-9]+)/.exec(navigator.userAgent);null===r?f=!1:(f=!0,m=t(r[1]))}return f}function o(){return n()&&m}function i(){if(!e(y))if(n()||!/ Safari\/[\.0-9]+/.test(navigator.userAgent))y=!1;else{var r=/ Version\/([\.0-9]+)/.exec(navigator.userAgent);null===r?y=!1:(y=!0,h=t(r[1]))}return y}function a(){return i()&&h}function s(){if(!e(p)){var r=/ AppleWebKit\/([\.0-9]+)(\+?)/.exec(navigator.userAgent);null===r?p=!1:(p=!0,d=t(r[1]),d.isNightly=!!r[2])}return p}function u(){return s()&&d}function l(){if(!e(v)){var r;"Microsoft Internet Explorer"===navigator.appName?(r=/MSIE ([0-9]{1,}[\.0-9]{0,})/.exec(navigator.userAgent),null!==r&&(v=!0,g=t(r[1]))):"Netscape"===navigator.appName?(r=/Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/.exec(navigator.userAgent),null!==r&&(v=!0,g=t(r[1]))):v=!1}return v}function c(){return l()&&g}var f,m,y,h,p,d,v,g,E={isChrome:n,chromeVersion:o,isSafari:i,safariVersion:a,isWebkit:s,webkitVersion:u,isInternetExplorer:l,internetExplorerVersion:c};E.supportsFullscreen=function(){return r.supportsFullscreen()},E.supportsTypedArrays=function(){return"undefined"!=typeof ArrayBuffer};var C;return E.supportsTransferringArrayBuffers=function(){if(!e(C)){if(!E.supportsTypedArrays())return C=!1,void 0;var r=new ArrayBuffer(1);try{postMessage({value:r},[r]),C=!0}catch(t){C=!1}}return C},E}),define("Core/ComponentDatatype",["./defaultValue","./defined","./DeveloperError","./FeatureDetection","./Enumeration"],function(e,r,t,n,o){"use strict";if(!n.supportsTypedArrays())return{};var i={BYTE:new o(5120,"BYTE",{sizeInBytes:Int8Array.BYTES_PER_ELEMENT}),UNSIGNED_BYTE:new o(5121,"UNSIGNED_BYTE",{sizeInBytes:Uint8Array.BYTES_PER_ELEMENT}),SHORT:new o(5122,"SHORT",{sizeInBytes:Int16Array.BYTES_PER_ELEMENT}),UNSIGNED_SHORT:new o(5123,"UNSIGNED_SHORT",{sizeInBytes:Uint16Array.BYTES_PER_ELEMENT}),FLOAT:new o(5126,"FLOAT",{sizeInBytes:Float32Array.BYTES_PER_ELEMENT}),DOUBLE:new o(5130,"DOUBLE",{sizeInBytes:Float64Array.BYTES_PER_ELEMENT})};return i.validate=function(e){return r(e)&&r(e.value)&&(e.value===i.BYTE.value||e.value===i.UNSIGNED_BYTE.value||e.value===i.SHORT.value||e.value===i.UNSIGNED_SHORT.value||e.value===i.FLOAT.value||e.value===i.DOUBLE.value)},i.createTypedArray=function(e,r){switch(e.value){case i.BYTE.value:return new Int8Array(r);case i.UNSIGNED_BYTE.value:return new Uint8Array(r);case i.SHORT.value:return new Int16Array(r);case i.UNSIGNED_SHORT.value:return new Uint16Array(r);case i.FLOAT.value:return new Float32Array(r);case i.DOUBLE.value:return new Float64Array(r);default:throw new t("componentDatatype is not a valid enumeration value.")}},i.createArrayBufferView=function(r,n,o,a){switch(o=e(o,0),a=e(a,(n.byteLength-o)/r.sizeInBytes),r.value){case i.BYTE.value:return new Int8Array(n,o,a);case i.UNSIGNED_BYTE.value:return new Uint8Array(n,o,a);case i.SHORT.value:return new Int16Array(n,o,a);case i.UNSIGNED_SHORT.value:return new Uint16Array(n,o,a);case i.FLOAT.value:return new Float32Array(n,o,a);case i.DOUBLE.value:return new Float64Array(n,o,a);default:throw new t("componentDatatype is not a valid enumeration value.")}},i}),define("Core/CylinderGeometryLibrary",["./Math"],function(e){"use strict";var r={};return r.computePositions=function(r,t,n,o,i){var a,s=.5*r,u=-s,l=o+o,c=i?2*l:l,f=new Float64Array(3*c),m=0,y=0,h=i?3*l:0,p=i?3*(l+o):3*o;for(a=0;o>a;a++){var d=a/o*e.TWO_PI,v=Math.cos(d),g=Math.sin(d),E=v*n,C=g*n,S=v*t,w=g*t;f[y+h]=E,f[y+h+1]=C,f[y+h+2]=u,f[y+p]=S,f[y+p+1]=w,f[y+p+2]=s,y+=3,i&&(f[m++]=E,f[m++]=C,f[m++]=u,f[m++]=S,f[m++]=w,f[m++]=s)}return f},r}),define("Core/Geometry",["./defaultValue","./defined","./DeveloperError"],function(e,r,t){"use strict";var n=function(r){r=e(r,e.EMPTY_OBJECT),this.attributes=r.attributes,this.indices=r.indices,this.primitiveType=r.primitiveType,this.boundingSphere=r.boundingSphere};return n.computeNumberOfVertices=function(e){var n=-1;for(var o in e.attributes)if(e.attributes.hasOwnProperty(o)&&r(e.attributes[o])&&r(e.attributes[o].values)){var i=e.attributes[o],a=i.values.length/i.componentsPerAttribute;if(n!==a&&-1!==n)throw new t("All attribute lists must have the same number of attributes.");n=a}return n},n}),define("Core/GeometryAttribute",["./defaultValue","./defined","./DeveloperError"],function(e){"use strict";var r=function(r){r=e(r,e.EMPTY_OBJECT),this.componentDatatype=r.componentDatatype,this.componentsPerAttribute=r.componentsPerAttribute,this.normalize=e(r.normalize,!1),this.values=r.values};return r}),define("Core/GeometryAttributes",["./defaultValue"],function(e){"use strict";var r=function(r){r=e(r,e.EMPTY_OBJECT),this.position=r.position,this.normal=r.normal,this.st=r.st,this.binormal=r.binormal,this.tangent=r.tangent,this.color=r.color};return r}),define("Core/IndexDatatype",["./defined","./DeveloperError","./Math"],function(e,r,t){"use strict";var n={UNSIGNED_BYTE:5121,UNSIGNED_SHORT:5123,UNSIGNED_INT:5125};return n.getSizeInBytes=function(e){switch(e){case n.UNSIGNED_BYTE:return Uint8Array.BYTES_PER_ELEMENT;case n.UNSIGNED_SHORT:return Uint16Array.BYTES_PER_ELEMENT;case n.UNSIGNED_INT:return Uint32Array.BYTES_PER_ELEMENT}},n.validate=function(r){return e(r)&&(r===n.UNSIGNED_BYTE||r===n.UNSIGNED_SHORT||r===n.UNSIGNED_INT)},n.createTypedArray=function(e,r){return e>t.SIXTY_FOUR_KILOBYTES?new Uint32Array(r):new Uint16Array(r)},n}),define("Core/PrimitiveType",[],function(){"use strict";var e={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,validate:function(r){return r===e.POINTS||r===e.LINES||r===e.LINE_LOOP||r===e.LINE_STRIP||r===e.TRIANGLES||r===e.TRIANGLE_STRIP||r===e.TRIANGLE_FAN}};return e}),define("Core/CylinderOutlineGeometry",["./BoundingSphere","./Cartesian2","./Cartesian3","./ComponentDatatype","./CylinderGeometryLibrary","./defaultValue","./defined","./DeveloperError","./Geometry","./GeometryAttribute","./GeometryAttributes","./IndexDatatype","./PrimitiveType"],function(e,r,t,n,o,i,a,s,u,l,c,f,m){"use strict";var y=new r,h=function(e){e=i(e,i.EMPTY_OBJECT);var r=e.length,t=e.topRadius,n=e.bottomRadius,o=i(e.slices,128),a=Math.max(i(e.numberOfVerticalLines,16),0);this._length=r,this._topRadius=t,this._bottomRadius=n,this._slices=o,this._numberOfVerticalLines=a,this._workerName="createCylinderOutlineGeometry"};return h.createGeometry=function(i){var a,s=i._length,h=i._topRadius,p=i._bottomRadius,d=i._slices,v=i._numberOfVerticalLines,g=2*d,E=o.computePositions(s,h,p,d,!1),C=2*d;if(v>0){var S=Math.min(v,d);a=Math.round(d/S),C+=S}for(var w=f.createTypedArray(g,2*C),x=0,A=0;d-1>A;A++)w[x++]=A,w[x++]=A+1,w[x++]=A+d,w[x++]=A+1+d;if(w[x++]=d-1,w[x++]=0,w[x++]=d+d-1,w[x++]=d,v>0)for(A=0;d>A;A+=a)w[x++]=A,w[x++]=A+d;var M=new c;M.position=new l({componentDatatype:n.DOUBLE,componentsPerAttribute:3,values:E}),y.x=.5*s,y.y=Math.max(p,h);var b=new e(t.ZERO,r.magnitude(y));return new u({attributes:M,indices:w,primitiveType:m.LINES,boundingSphere:b})},h}),define("Core/Color",["./defaultValue","./defined","./freezeObject","./DeveloperError","./FeatureDetection","./Math"],function(e,r,t,n,o,i){"use strict";function a(e,r,t){return 0>t&&(t+=1),t>1&&(t-=1),1>6*t?e+6*(r-e)*t:1>2*t?r:2>3*t?e+6*(r-e)*(2/3-t):e}var s=function(r,t,n,o){this.red=e(r,1),this.green=e(t,1),this.blue=e(n,1),this.alpha=e(o,1)};s.fromBytes=function(r,t,n,o){return r=s.byteToFloat(e(r,255)),t=s.byteToFloat(e(t,255)),n=s.byteToFloat(e(n,255)),o=s.byteToFloat(e(o,255)),new s(r,t,n,o)};var u,l,c;o.supportsTypedArrays()&&(u=new ArrayBuffer(4),l=new Uint32Array(u),c=new Uint8Array(u)),s.fromRgba=function(e){return l[0]=e,s.fromBytes(c[0],c[1],c[2],c[3])},s.fromHsl=function(r,t,n,o){r=e(r,0)%1,t=e(t,0),n=e(n,0),o=e(o,1);var i=n,u=n,l=n;if(0!==t){var c;c=.5>n?n*(1+t):n+t-n*t;var f=2*n-c;i=a(f,c,r+1/3),u=a(f,c,r),l=a(f,c,r-1/3)}return new s(i,u,l,o)},s.fromRandom=function(t,n){t=e(t,e.EMPTY_OBJECT);var o=t.red;if(!r(o)){var a=e(t.minimumRed,0),u=e(t.maximumRed,1);o=a+i.nextRandomNumber()*(u-a)}var l=t.green;if(!r(l)){var c=e(t.minimumGreen,0),f=e(t.maximumGreen,1);l=c+i.nextRandomNumber()*(f-c)}var m=t.blue;if(!r(m)){var y=e(t.minimumBlue,0),h=e(t.maximumBlue,1);m=y+i.nextRandomNumber()*(h-y)}var p=t.alpha;if(!r(p)){var d=e(t.minimumAlpha,0),v=e(t.maximumAlpha,1);p=d+i.nextRandomNumber()*(v-d)}return r(n)?(n.red=o,n.green=l,n.blue=m,n.alpha=p,n):new s(o,l,m,p)};var f=/^#([0-9a-f])([0-9a-f])([0-9a-f])$/i,m=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i,y=/^rgba?\(\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)(?:\s*,\s*([0-9.]+))?\s*\)$/i,h=/^hsla?\(\s*([0-9.]+)\s*,\s*([0-9.]+%)\s*,\s*([0-9.]+%)(?:\s*,\s*([0-9.]+))?\s*\)$/i;return s.fromCssColorString=function(t){var n=s[t.toUpperCase()];if(r(n))return s.clone(n);var o=f.exec(t);return null!==o?new s(parseInt(o[1],16)/15,parseInt(o[2],16)/15,parseInt(o[3],16)/15):(o=m.exec(t),null!==o?new s(parseInt(o[1],16)/255,parseInt(o[2],16)/255,parseInt(o[3],16)/255):(o=y.exec(t),null!==o?new s(parseFloat(o[1])/("%"===o[1].substr(-1)?100:255),parseFloat(o[2])/("%"===o[2].substr(-1)?100:255),parseFloat(o[3])/("%"===o[3].substr(-1)?100:255),parseFloat(e(o[4],"1.0"))):(o=h.exec(t),null!==o?s.fromHsl(parseFloat(o[1])/360,parseFloat(o[2])/100,parseFloat(o[3])/100,parseFloat(e(o[4],"1.0"))):void 0)))},s.packedLength=4,s.pack=function(r,t,n){n=e(n,0),t[n++]=r.red,t[n++]=r.green,t[n++]=r.blue,t[n]=r.alpha},s.unpack=function(t,n,o){return n=e(n,0),r(o)||(o=new s),o.red=t[n++],o.green=t[n++],o.blue=t[n++],o.alpha=t[n],o},s.byteToFloat=function(e){return e/255},s.floatToByte=function(e){return 1===e?255:0|256*e},s.clone=function(e,t){return r(e)?r(t)?(t.red=e.red,t.green=e.green,t.blue=e.blue,t.alpha=e.alpha,t):new s(e.red,e.green,e.blue,e.alpha):void 0},s.equals=function(e,t){return e===t||r(e)&&r(t)&&e.red===t.red&&e.green===t.green&&e.blue===t.blue&&e.alpha===t.alpha},s.prototype.clone=function(e){return s.clone(this,e)},s.prototype.equals=function(e){return s.equals(this,e)},s.prototype.equalsEpsilon=function(e,t){return this===e||r(e)&&Math.abs(this.red-e.red)<=t&&Math.abs(this.green-e.green)<=t&&Math.abs(this.blue-e.blue)<=t&&Math.abs(this.alpha-e.alpha)<=t},s.prototype.toString=function(){return"("+this.red+", "+this.green+", "+this.blue+", "+this.alpha+")"},s.prototype.toCssColorString=function(){var e=s.floatToByte(this.red),r=s.floatToByte(this.green),t=s.floatToByte(this.blue);return 1===this.alpha?"rgb("+e+","+r+","+t+")":"rgba("+e+","+r+","+t+","+this.alpha+")"},s.prototype.toBytes=function(e){var t=s.floatToByte(this.red),n=s.floatToByte(this.green),o=s.floatToByte(this.blue),i=s.floatToByte(this.alpha);return r(e)?(e[0]=t,e[1]=n,e[2]=o,e[3]=i,e):[t,n,o,i]},s.prototype.toRgba=function(){return c[0]=s.floatToByte(this.red),c[1]=s.floatToByte(this.green),c[2]=s.floatToByte(this.blue),c[3]=s.floatToByte(this.alpha),l[0]},s.ALICEBLUE=t(s.fromCssColorString("#F0F8FF")),s.ANTIQUEWHITE=t(s.fromCssColorString("#FAEBD7")),s.AQUA=t(s.fromCssColorString("#00FFFF")),s.AQUAMARINE=t(s.fromCssColorString("#7FFFD4")),s.AZURE=t(s.fromCssColorString("#F0FFFF")),s.BEIGE=t(s.fromCssColorString("#F5F5DC")),s.BISQUE=t(s.fromCssColorString("#FFE4C4")),s.BLACK=t(s.fromCssColorString("#000000")),s.BLANCHEDALMOND=t(s.fromCssColorString("#FFEBCD")),s.BLUE=t(s.fromCssColorString("#0000FF")),s.BLUEVIOLET=t(s.fromCssColorString("#8A2BE2")),s.BROWN=t(s.fromCssColorString("#A52A2A")),s.BURLYWOOD=t(s.fromCssColorString("#DEB887")),s.CADETBLUE=t(s.fromCssColorString("#5F9EA0")),s.CHARTREUSE=t(s.fromCssColorString("#7FFF00")),s.CHOCOLATE=t(s.fromCssColorString("#D2691E")),s.CORAL=t(s.fromCssColorString("#FF7F50")),s.CORNFLOWERBLUE=t(s.fromCssColorString("#6495ED")),s.CORNSILK=t(s.fromCssColorString("#FFF8DC")),s.CRIMSON=t(s.fromCssColorString("#DC143C")),s.CYAN=t(s.fromCssColorString("#00FFFF")),s.DARKBLUE=t(s.fromCssColorString("#00008B")),s.DARKCYAN=t(s.fromCssColorString("#008B8B")),s.DARKGOLDENROD=t(s.fromCssColorString("#B8860B")),s.DARKGRAY=t(s.fromCssColorString("#A9A9A9")),s.DARKGREEN=t(s.fromCssColorString("#006400")),s.DARKGREY=s.DARKGRAY,s.DARKKHAKI=t(s.fromCssColorString("#BDB76B")),s.DARKMAGENTA=t(s.fromCssColorString("#8B008B")),s.DARKOLIVEGREEN=t(s.fromCssColorString("#556B2F")),s.DARKORANGE=t(s.fromCssColorString("#FF8C00")),s.DARKORCHID=t(s.fromCssColorString("#9932CC")),s.DARKRED=t(s.fromCssColorString("#8B0000")),s.DARKSALMON=t(s.fromCssColorString("#E9967A")),s.DARKSEAGREEN=t(s.fromCssColorString("#8FBC8F")),s.DARKSLATEBLUE=t(s.fromCssColorString("#483D8B")),s.DARKSLATEGRAY=t(s.fromCssColorString("#2F4F4F")),s.DARKSLATEGREY=s.DARKSLATEGRAY,s.DARKTURQUOISE=t(s.fromCssColorString("#00CED1")),s.DARKVIOLET=t(s.fromCssColorString("#9400D3")),s.DEEPPINK=t(s.fromCssColorString("#FF1493")),s.DEEPSKYBLUE=t(s.fromCssColorString("#00BFFF")),s.DIMGRAY=t(s.fromCssColorString("#696969")),s.DIMGREY=s.DIMGRAY,s.DODGERBLUE=t(s.fromCssColorString("#1E90FF")),s.FIREBRICK=t(s.fromCssColorString("#B22222")),s.FLORALWHITE=t(s.fromCssColorString("#FFFAF0")),s.FORESTGREEN=t(s.fromCssColorString("#228B22")),s.FUSCHIA=t(s.fromCssColorString("#FF00FF")),s.GAINSBORO=t(s.fromCssColorString("#DCDCDC")),s.GHOSTWHITE=t(s.fromCssColorString("#F8F8FF")),s.GOLD=t(s.fromCssColorString("#FFD700")),s.GOLDENROD=t(s.fromCssColorString("#DAA520")),s.GRAY=t(s.fromCssColorString("#808080")),s.GREEN=t(s.fromCssColorString("#008000")),s.GREENYELLOW=t(s.fromCssColorString("#ADFF2F")),s.GREY=s.GRAY,s.HONEYDEW=t(s.fromCssColorString("#F0FFF0")),s.HOTPINK=t(s.fromCssColorString("#FF69B4")),s.INDIANRED=t(s.fromCssColorString("#CD5C5C")),s.INDIGO=t(s.fromCssColorString("#4B0082")),s.IVORY=t(s.fromCssColorString("#FFFFF0")),s.KHAKI=t(s.fromCssColorString("#F0E68C")),s.LAVENDER=t(s.fromCssColorString("#E6E6FA")),s.LAVENDAR_BLUSH=t(s.fromCssColorString("#FFF0F5")),s.LAWNGREEN=t(s.fromCssColorString("#7CFC00")),s.LEMONCHIFFON=t(s.fromCssColorString("#FFFACD")),s.LIGHTBLUE=t(s.fromCssColorString("#ADD8E6")),s.LIGHTCORAL=t(s.fromCssColorString("#F08080")),s.LIGHTCYAN=t(s.fromCssColorString("#E0FFFF")),s.LIGHTGOLDENRODYELLOW=t(s.fromCssColorString("#FAFAD2")),s.LIGHTGRAY=t(s.fromCssColorString("#D3D3D3")),s.LIGHTGREEN=t(s.fromCssColorString("#90EE90")),s.LIGHTGREY=s.LIGHTGRAY,s.LIGHTPINK=t(s.fromCssColorString("#FFB6C1")),s.LIGHTSEAGREEN=t(s.fromCssColorString("#20B2AA")),s.LIGHTSKYBLUE=t(s.fromCssColorString("#87CEFA")),s.LIGHTSLATEGRAY=t(s.fromCssColorString("#778899")),s.LIGHTSLATEGREY=s.LIGHTSLATEGRAY,s.LIGHTSTEELBLUE=t(s.fromCssColorString("#B0C4DE")),s.LIGHTYELLOW=t(s.fromCssColorString("#FFFFE0")),s.LIME=t(s.fromCssColorString("#00FF00")),s.LIMEGREEN=t(s.fromCssColorString("#32CD32")),s.LINEN=t(s.fromCssColorString("#FAF0E6")),s.MAGENTA=t(s.fromCssColorString("#FF00FF")),s.MAROON=t(s.fromCssColorString("#800000")),s.MEDIUMAQUAMARINE=t(s.fromCssColorString("#66CDAA")),s.MEDIUMBLUE=t(s.fromCssColorString("#0000CD")),s.MEDIUMORCHID=t(s.fromCssColorString("#BA55D3")),s.MEDIUMPURPLE=t(s.fromCssColorString("#9370DB")),s.MEDIUMSEAGREEN=t(s.fromCssColorString("#3CB371")),s.MEDIUMSLATEBLUE=t(s.fromCssColorString("#7B68EE")),s.MEDIUMSPRINGGREEN=t(s.fromCssColorString("#00FA9A")),s.MEDIUMTURQUOISE=t(s.fromCssColorString("#48D1CC")),s.MEDIUMVIOLETRED=t(s.fromCssColorString("#C71585")),s.MIDNIGHTBLUE=t(s.fromCssColorString("#191970")),s.MINTCREAM=t(s.fromCssColorString("#F5FFFA")),s.MISTYROSE=t(s.fromCssColorString("#FFE4E1")),s.MOCCASIN=t(s.fromCssColorString("#FFE4B5")),s.NAVAJOWHITE=t(s.fromCssColorString("#FFDEAD")),s.NAVY=t(s.fromCssColorString("#000080")),s.OLDLACE=t(s.fromCssColorString("#FDF5E6")),s.OLIVE=t(s.fromCssColorString("#808000")),s.OLIVEDRAB=t(s.fromCssColorString("#6B8E23")),s.ORANGE=t(s.fromCssColorString("#FFA500")),s.ORANGERED=t(s.fromCssColorString("#FF4500")),s.ORCHID=t(s.fromCssColorString("#DA70D6")),s.PALEGOLDENROD=t(s.fromCssColorString("#EEE8AA")),s.PALEGREEN=t(s.fromCssColorString("#98FB98")),s.PALETURQUOISE=t(s.fromCssColorString("#AFEEEE")),s.PALEVIOLETRED=t(s.fromCssColorString("#DB7093")),s.PAPAYAWHIP=t(s.fromCssColorString("#FFEFD5")),s.PEACHPUFF=t(s.fromCssColorString("#FFDAB9")),s.PERU=t(s.fromCssColorString("#CD853F")),s.PINK=t(s.fromCssColorString("#FFC0CB")),s.PLUM=t(s.fromCssColorString("#DDA0DD")),s.POWDERBLUE=t(s.fromCssColorString("#B0E0E6")),s.PURPLE=t(s.fromCssColorString("#800080")),s.RED=t(s.fromCssColorString("#FF0000")),s.ROSYBROWN=t(s.fromCssColorString("#BC8F8F")),s.ROYALBLUE=t(s.fromCssColorString("#4169E1")),s.SADDLEBROWN=t(s.fromCssColorString("#8B4513")),s.SALMON=t(s.fromCssColorString("#FA8072")),s.SANDYBROWN=t(s.fromCssColorString("#F4A460")),s.SEAGREEN=t(s.fromCssColorString("#2E8B57")),s.SEASHELL=t(s.fromCssColorString("#FFF5EE")),s.SIENNA=t(s.fromCssColorString("#A0522D")),s.SILVER=t(s.fromCssColorString("#C0C0C0")),s.SKYBLUE=t(s.fromCssColorString("#87CEEB")),s.SLATEBLUE=t(s.fromCssColorString("#6A5ACD")),s.SLATEGRAY=t(s.fromCssColorString("#708090")),s.SLATEGREY=s.SLATEGRAY,s.SNOW=t(s.fromCssColorString("#FFFAFA")),s.SPRINGGREEN=t(s.fromCssColorString("#00FF7F")),s.STEELBLUE=t(s.fromCssColorString("#4682B4")),s.TAN=t(s.fromCssColorString("#D2B48C")),s.TEAL=t(s.fromCssColorString("#008080")),s.THISTLE=t(s.fromCssColorString("#D8BFD8")),s.TOMATO=t(s.fromCssColorString("#FF6347")),s.TURQUOISE=t(s.fromCssColorString("#40E0D0")),s.VIOLET=t(s.fromCssColorString("#EE82EE")),s.WHEAT=t(s.fromCssColorString("#F5DEB3")),s.WHITE=t(s.fromCssColorString("#FFFFFF")),s.WHITESMOKE=t(s.fromCssColorString("#F5F5F5")),s.YELLOW=t(s.fromCssColorString("#FFFF00")),s.YELLOWGREEN=t(s.fromCssColorString("#9ACD32")),s +}),define("Core/barycentricCoordinates",["./Cartesian2","./Cartesian3","./defined","./DeveloperError"],function(e,r,t){"use strict";var n=new r,o=new r,i=new r,a=function(a,s,u,l,c){t(c)||(c=new r);var f,m,y,h,p,d,v,g;t(s.z)?(f=r.subtract(u,s,n),m=r.subtract(l,s,o),y=r.subtract(a,s,i),h=r.dot(f,f),p=r.dot(f,m),d=r.dot(f,y),v=r.dot(m,m),g=r.dot(m,y)):(f=e.subtract(u,s,n),m=e.subtract(l,s,o),y=e.subtract(a,s,i),h=e.dot(f,f),p=e.dot(f,m),d=e.dot(f,y),v=e.dot(m,m),g=e.dot(m,y));var E=1/(h*v-p*p);return c.y=(v*d-p*g)*E,c.z=(h*g-p*d)*E,c.x=1-c.y-c.z,c};return a}),define("Core/EncodedCartesian3",["./Cartesian3","./defined","./DeveloperError"],function(e,r){"use strict";var t=function(){this.high=e.clone(e.ZERO),this.low=e.clone(e.ZERO)};t.encode=function(e,t){r(t)||(t={high:0,low:0});var n;return e>=0?(n=65536*Math.floor(e/65536),t.high=n,t.low=e-n):(n=65536*Math.floor(-e/65536),t.high=-n,t.low=e+n),t};var n={high:0,low:0};t.fromCartesian=function(e,o){r(o)||(o=new t);var i=o.high,a=o.low;return t.encode(e.x,n),i.x=n.high,a.x=n.low,t.encode(e.y,n),i.y=n.high,a.y=n.low,t.encode(e.z,n),i.z=n.high,a.z=n.low,o};var o=new t;return t.writeElements=function(e,r,n){t.fromCartesian(e,o);var i=o.high,a=o.low;r[n]=i.x,r[n+1]=i.y,r[n+2]=i.z,r[n+3]=a.x,r[n+4]=a.y,r[n+5]=a.z},t}),define("Core/QuadraticRealPolynomial",["./DeveloperError","./Math"],function(e,r){"use strict";function t(e,t,n){var o=e+t;return r.sign(e)!==r.sign(t)&&Math.abs(o/Math.max(Math.abs(e),Math.abs(t)))a&&a/ss&&s/ai)return[];var u=Math.sqrt(i);return[-u,u]}if(0===o)return i=-n/e,0>i?[i,0]:[0,i];var l=n*n,c=4*e*o,f=t(l,-c,r.EPSILON14);if(0>f)return[];var m=-.5*t(n,r.sign(n)*Math.sqrt(f),r.EPSILON14);return n>0?[m/e,o/m]:[o/m,m/e]},n}),define("Core/CubicRealPolynomial",["./DeveloperError","./QuadraticRealPolynomial"],function(e,r){"use strict";function t(e,r,t,n){var o,i,a=e,s=r/3,u=t/3,l=n,c=a*u,f=s*l,m=s*s,y=u*u,h=a*u-m,p=a*l-s*u,d=s*l-y,v=4*h*d-p*p;if(0>v){var g,E,C;m*f>=c*y?(g=a,E=h,C=-2*s*h+a*p):(g=l,E=d,C=-l*p+2*u*d);var S=0>C?-1:1,w=-S*Math.abs(g)*Math.sqrt(-v);i=-C+w;var x=i/2,A=0>x?-Math.pow(-x,1/3):Math.pow(x,1/3),M=i===w?-A:-E/A;return o=0>=E?A+M:-C/(A*A+M*M+E),m*f>=c*y?[(o-s)/a]:[-l/(o+u)]}var b=h,T=-2*s*h+a*p,O=d,I=-l*p+2*u*d,R=Math.sqrt(v),N=Math.sqrt(3)/2,z=Math.abs(Math.atan2(a*R,-T)/3);o=2*Math.sqrt(-b);var L=Math.cos(z);i=o*L;var F=o*(-L/2-N*Math.sin(z)),D=i+F>2*s?i-s:F-s,P=a,B=D/P;z=Math.abs(Math.atan2(l*R,-I)/3),o=2*Math.sqrt(-O),L=Math.cos(z),i=o*L,F=o*(-L/2-N*Math.sin(z));var _=-l,U=2*u>i+F?i+u:F+u,G=_/U,q=P*U,Y=-D*U-P*_,W=D*_,V=(u*Y-s*W)/(-s*Y+u*q);return V>=B?G>=B?G>=V?[B,V,G]:[B,G,V]:[G,B,V]:G>=B?[V,B,G]:G>=V?[V,G,B]:[G,V,B]}var n={};return n.discriminant=function(e,r,t,n){var o=e*e,i=r*r,a=t*t,s=n*n,u=18*e*r*t*n+i*a-27*o*s-4*(e*a*t+i*r*n);return u},n.realRoots=function(e,n,o,i){var a,s;if(0===e)return r.realRoots(n,o,i);if(0===n){if(0===o){if(0===i)return[0,0,0];s=-i/e;var u=0>s?-Math.pow(-s,1/3):Math.pow(s,1/3);return[u,u,u]}return 0===i?(a=r.realRoots(e,0,o),0===a.Length?[0]:[a[0],0,a[1]]):t(e,0,o,i)}return 0===o?0===i?(s=-n/e,0>s?[s,0,0]:[0,0,s]):t(e,n,0,i):0===i?(a=r.realRoots(e,n,o),0===a.length?[0]:a[1]<=0?[a[0],a[1],0]:a[0]>=0?[0,a[0],a[1]]:[a[0],0,a[1]]):t(e,n,o,i)},n}),define("Core/QuarticRealPolynomial",["./DeveloperError","./Math","./CubicRealPolynomial","./QuadraticRealPolynomial"],function(e,r,t,n){"use strict";function o(e,o,i,a){var s=e*e,u=o-3*s/8,l=i-o*e/2+s*e/8,c=a-i*e/4+o*s/16-3*s*s/256,f=t.realRoots(1,2*u,u*u-4*c,-l*l);if(f.length>0){var m=-e/4,y=f[f.length-1];if(Math.abs(y)=0&&v>=0){var g=Math.sqrt(d),E=Math.sqrt(v);return[m-E,m-g,m+g,m+E]}if(d>=0&&0>v)return p=Math.sqrt(d),[m-p,m+p];if(0>d&&v>=0)return p=Math.sqrt(v),[m-p,m+p]}return[]}if(y>0){var C=Math.sqrt(y),S=(u+y-l/C)/2,w=(u+y+l/C)/2,x=n.realRoots(1,C,S),A=n.realRoots(1,-C,w);return 0!==x.length?(x[0]+=m,x[1]+=m,0!==A.length?(A[0]+=m,A[1]+=m,x[1]<=A[0]?[x[0],x[1],A[0],A[1]]:A[1]<=x[0]?[A[0],A[1],x[0],x[1]]:x[0]>=A[0]&&x[1]<=A[1]?[A[0],x[0],x[1],A[1]]:A[0]>=x[0]&&A[1]<=x[1]?[x[0],A[0],A[1],x[1]]:x[0]>A[0]&&x[0]0){var h,p,d=y[0],v=o-d,g=v*v,E=e/2,C=v/2,S=g-4*a,w=g+4*Math.abs(a),x=l-4*d,A=l+4*Math.abs(d);if(0>d||x*w>S*A){var M=Math.sqrt(x);h=M/2,p=0===M?0:(e*C-i)/M}else{var b=Math.sqrt(S);h=0===b?0:(e*C-i)/b,p=b/2}var T,O;0===E&&0===h?(T=0,O=0):r.sign(E)===r.sign(h)?(T=E+h,O=d/T):(O=E-h,T=d/O);var I,R;0===C&&0===p?(I=0,R=0):r.sign(C)===r.sign(p)?(I=C+p,R=a/I):(R=C-p,I=a/R);var N=n.realRoots(1,T,I),z=n.realRoots(1,O,R);if(0!==N.length)return 0!==z.length?N[1]<=z[0]?[N[0],N[1],z[0],z[1]]:z[1]<=N[0]?[z[0],z[1],N[0],N[1]]:N[0]>=z[0]&&N[1]<=z[1]?[z[0],N[0],N[1],z[1]]:z[0]>=N[0]&&z[1]<=N[1]?[N[0],z[0],z[1],N[1]]:N[0]>z[0]&&N[0]l?1:0;switch(y+=0>c?y+1:y,y+=0>f?y+1:y,y+=0>m?y+1:y){case 0:return o(l,c,f,m);case 1:return i(l,c,f,m);case 2:return i(l,c,f,m);case 3:return o(l,c,f,m);case 4:return o(l,c,f,m);case 5:return i(l,c,f,m);case 6:return o(l,c,f,m);case 7:return o(l,c,f,m);case 8:return i(l,c,f,m);case 9:return o(l,c,f,m);case 10:return o(l,c,f,m);case 11:return i(l,c,f,m);case 12:return o(l,c,f,m);case 13:return o(l,c,f,m);case 14:return o(l,c,f,m);case 15:return o(l,c,f,m);default:return void 0}},a}),define("Core/IntersectionTests",["./defined","./DeveloperError","./Math","./Cartesian3","./Cartographic","./Matrix3","./QuadraticRealPolynomial","./QuarticRealPolynomial"],function(e,r,t,n,o,i,a,s){"use strict";function u(e,r,n){var o=e+r;return t.sign(e)!==t.sign(r)&&Math.abs(o/Math.max(Math.abs(e),Math.abs(r)))F;++F){var D,P=f[F],B=P*P,_=Math.max(1-B,0),U=Math.sqrt(_);D=t.sign(h)===t.sign(d)?u(h*B+d,p*P,t.EPSILON12):t.sign(d)===t.sign(p*P)?u(h*B,p*P+d,t.EPSILON12):u(h*B+p*P,d,t.EPSILON12);var G=u(v*P,g,t.EPSILON15),q=D*G;0>q?E.push(new n(l,c*P,c*U)):q>0?E.push(new n(l,c*P,c*-U)):0!==U?(E.push(new n(l,c*P,c*-U)),E.push(new n(l,c*P,c*U)),++F):E.push(new n(l,c*P,c*U))}return E}var c={};c.rayPlane=function(e,r,o){var i=e.origin,a=e.direction,s=r.normal,u=n.dot(s,a);if(Math.abs(u)l?void 0:(o=n.multiplyByScalar(a,l,o),n.add(i,o,o))};var f=new n,m=new n;c.rayEllipsoid=function(e,r){var t,o,i,a,s,u=r.oneOverRadii,l=n.multiplyComponents(u,e.origin,f),c=n.multiplyComponents(u,e.direction,m),y=n.magnitudeSquared(l),h=n.dot(l,c);if(y>1){if(h>=0)return void 0;var p=h*h;if(t=y-1,o=n.magnitudeSquared(c),i=o*t,i>p)return void 0;if(p>i){a=h*h-i,s=-h+Math.sqrt(a);var d=s/o,v=t/s;return v>d?{start:d,stop:v}:{start:v,stop:d}}var g=Math.sqrt(t/o);return{start:g,stop:g}}return 1>y?(t=y-1,o=n.magnitudeSquared(c),i=o*t,a=h*h-i,s=-h+Math.sqrt(a),{start:0,stop:s/o}):0>h?(o=n.magnitudeSquared(c),{start:0,stop:-h/o}):void 0},c.grazingAltitudeLocation=function(r,a){var s=r.origin,u=r.direction,c=a.geodeticSurfaceNormal(s);if(n.dot(u,c)>=0)return s;var f,m,y=e(this.rayEllipsoid(r,a)),h=a.transformPositionToScaledSpace(u),p=n.normalize(h),d=n.mostOrthogonalAxis(h),v=n.normalize(n.cross(d,p)),g=n.normalize(n.cross(p,v)),E=new i(p.x,v.x,g.x,p.y,v.y,g.y,p.z,v.z,g.z),C=i.transpose(E),S=i.fromScale(a.radii),w=i.fromScale(a.oneOverRadii),x=new i(0,u.z,-u.y,-u.z,0,u.x,u.y,-u.x,0),A=i.multiply(i.multiply(C,w),x),M=i.multiply(i.multiply(A,S),E),b=i.multiplyByVector(A,s),T=l(M,n.negate(b),0,0,1),O=T.length;if(O>0){for(var I=n.ZERO,R=Number.NEGATIVE_INFINITY,N=0;O>N;++N){f=i.multiplyByVector(S,i.multiplyByVector(E,T[N]));var z=n.normalize(n.subtract(f,s)),L=n.dot(z,u);L>R&&(R=L,I=f)}var F=a.cartesianToCartographic(I);return R=t.clamp(R,0,1),m=n.magnitude(n.subtract(I,s))*Math.sqrt(1-R*R),m=y?-m:m,a.cartographicToCartesian(new o(F.longitude,F.latitude,m))}return void 0};var y=new n;return c.lineSegmentPlane=function(r,o,i,a){var s=n.subtract(o,r,y),u=i.normal,l=n.dot(u,s);if(Math.abs(l)f||f>1?void 0:(e(a)||(a=new n),n.multiplyByScalar(s,f,a),n.add(r,a,a),a)},c.trianglePlaneIntersection=function(e,r,t,o){var i=o.normal,a=o.distance,s=n.dot(i,e)+a<0,u=n.dot(i,r)+a<0,l=n.dot(i,t)+a<0,f=0;f+=s?1:0,f+=u?1:0,f+=l?1:0;var m,y;if((1===f||2===f)&&(m=new n,y=new n),1===f){if(s)return c.lineSegmentPlane(e,r,o,m),c.lineSegmentPlane(e,t,o,y),{positions:[e,r,t,m,y],indices:[0,3,4,1,2,4,1,4,3]};if(u)return c.lineSegmentPlane(r,t,o,m),c.lineSegmentPlane(r,e,o,y),{positions:[e,r,t,m,y],indices:[1,3,4,2,0,4,2,4,3]};if(l)return c.lineSegmentPlane(t,e,o,m),c.lineSegmentPlane(t,r,o,y),{positions:[e,r,t,m,y],indices:[2,3,4,0,1,4,0,4,3]}}else if(2===f){if(!s)return c.lineSegmentPlane(r,e,o,m),c.lineSegmentPlane(t,e,o,y),{positions:[e,r,t,m,y],indices:[1,2,4,1,4,3,0,3,4]};if(!u)return c.lineSegmentPlane(t,r,o,m),c.lineSegmentPlane(e,r,o,y),{positions:[e,r,t,m,y],indices:[2,0,4,2,4,3,1,3,4]};if(!l)return c.lineSegmentPlane(e,t,o,m),c.lineSegmentPlane(r,t,o,y),{positions:[e,r,t,m,y],indices:[0,1,4,0,4,3,2,3,4]}}return void 0},c}),define("Core/Plane",["./Cartesian3","./defined","./DeveloperError"],function(e,r){"use strict";var t=function(r,t){this.normal=e.clone(r),this.distance=t};return t.fromPointNormal=function(n,o,i){var a=-e.dot(o,n);return r(i)?(e.clone(o,i.normal),i.distance=a,i):new t(o,a)},t.getPointDistance=function(r,t){return e.dot(r.normal,t)+r.distance},t.prototype.getPointDistance=function(e){return t.getPointDistance(this,e)},t}),define("Core/Tipsify",["./defaultValue","./defined","./DeveloperError"],function(e,r){"use strict";var t={};return t.calculateACMR=function(t){t=e(t,e.EMPTY_OBJECT);var n=t.indices,o=t.maximumIndex,i=e(t.cacheSize,24),a=n.length;if(!r(o)){o=0;for(var s=0,u=n[s];a>s;)u>o&&(o=u),++s,u=n[s]}for(var l=[],c=0;o+1>c;c++)l[c]=0;for(var f=i+1,m=0;a>m;++m)f-l[n[m]]>i&&(l[n[m]]=f,++f);return(f-i+1)/(a/3)},t.tipsify=function(t){function n(e,r,t,n){for(;r.length>=1;){var o=r[r.length-1];if(r.splice(r.length-1,1),e[o].numLiveTriangles>0)return o}for(;n>i;){if(e[i].numLiveTriangles>0)return++i,i-1;++i}return-1}function o(e,r,t,o,i,a,s){for(var u,l=-1,c=-1,f=0;fc||-1===c)&&(c=u,l=m)),++f}return-1===l?n(o,a,e,s):l}t=e(t,e.EMPTY_OBJECT);var i,a=t.indices,s=t.maximumIndex,u=e(t.cacheSize,24),l=a.length,c=0,f=0,m=a[f],y=l;if(r(s))c=s+1;else{for(;y>f;)m>c&&(c=m),++f,m=a[f];if(-1===c)return 0;++c}for(var h=[],p=0;c>p;p++)h[p]={numLiveTriangles:0,timeStamp:0,vertexTriangles:[]};f=0;for(var d=0;y>f;)h[a[f]].vertexTriangles.push(d),++h[a[f]].numLiveTriangles,h[a[f+1]].vertexTriangles.push(d),++h[a[f+1]].numLiveTriangles,h[a[f+2]].vertexTriangles.push(d),++h[a[f+2]].numLiveTriangles,++d,f+=3;var v=0,g=u+1;i=1;var E,C,S=[],w=[],x=0,A=[],M=l/3,b=[];for(p=0;M>p;p++)b[p]=!1;for(var T,O;-1!==v;){S=[],C=h[v],O=C.vertexTriangles.length;for(var I=0;O>I;++I)if(d=C.vertexTriangles[I],!b[d]){b[d]=!0,f=d+d+d;for(var R=0;3>R;++R)T=a[f],S.push(T),w.push(T),A[x]=T,++x,E=h[T],--E.numLiveTriangles,g-E.timeStamp>u&&(E.timeStamp=g,++g),++f}v=o(a,u,S,h,g,w,c)}return A},t}),define("Core/GeometryPipeline",["./barycentricCoordinates","./defaultValue","./defined","./DeveloperError","./Cartesian2","./Cartesian3","./Cartesian4","./Cartographic","./EncodedCartesian3","./Intersect","./IntersectionTests","./Math","./Matrix3","./Matrix4","./Plane","./GeographicProjection","./ComponentDatatype","./IndexDatatype","./PrimitiveType","./Tipsify","./BoundingSphere","./Geometry","./GeometryAttribute"],function(e,r,t,n,o,i,a,s,u,l,c,f,m,y,h,p,d,v,g,E,C,S,w){"use strict";function x(e,r,t,n,o){e[r++]=t,e[r++]=n,e[r++]=n,e[r++]=o,e[r++]=o,e[r]=t}function A(e){for(var r=e.length,t=6*(r/3),n=v.createTypedArray(r,t),o=0,i=0;r>i;i+=3,o+=6)x(n,o,e[i],e[i+1],e[i+2]);return n}function M(e){var r=e.length;if(r>=3){var t=6*(r-2),n=v.createTypedArray(r,t);x(n,0,e[0],e[1],e[2]);for(var o=6,i=3;r>i;++i,o+=6)x(n,o,e[i-1],e[i],e[i-2]);return n}return new Uint16Array}function b(e){if(e.length>0){for(var r=e.length-1,t=6*(r-1),n=v.createTypedArray(r,t),o=e[0],i=0,a=1;r>a;++a,i+=6)x(n,i,o,e[a],e[a+1]);return n}return new Uint16Array}function T(e){var r={};for(var n in e)if(e.hasOwnProperty(n)&&t(e[n])&&t(e[n].values)){var o=e[n];r[n]=new w({componentDatatype:o.componentDatatype,componentsPerAttribute:o.componentsPerAttribute,normalize:o.normalize,values:[]})}return r}function O(e,r,n){for(var o in r)if(r.hasOwnProperty(o)&&t(r[o])&&t(r[o].values))for(var i=r[o],a=0;aa;a+=3)i.unpack(n,a,Z),y.multiplyByPoint(e,Z,Z),i.pack(Z,n,a)}function R(e,r){if(t(r))for(var n=r.values,o=n.length,a=0;o>a;a+=3)i.unpack(n,a,Z),m.multiplyByVector(e,Z,Z),Z=i.normalize(Z,Z),i.pack(Z,n,a)}function N(e){var r,n=e.length,o={},i=e[0].geometry.attributes;for(r in i)if(i.hasOwnProperty(r)&&t(i[r])&&t(i[r].values)){for(var a=i[r],s=a.values.length,u=!0,l=1;n>l;++l){var c=e[l].geometry.attributes[r];if(!t(c)||a.componentDatatype.value!==c.componentDatatype.value||a.componentsPerAttribute!==c.componentsPerAttribute||a.normalize!==c.normalize){u=!1;break}s+=c.values.length}u&&(o[r]=new w({componentDatatype:a.componentDatatype,componentsPerAttribute:a.componentsPerAttribute,normalize:a.normalize,values:d.createTypedArray(a.componentDatatype,s)}))}return o}function z(e){if(t(e.indices))return e;for(var r=S.computeNumberOfVertices(e),n=v.createTypedArray(r,r),o=0;r>o;++o)n[o]=o;return e.indices=n,e}function L(e){var r=S.computeNumberOfVertices(e),t=v.createTypedArray(r,3*(r-2));t[0]=1,t[1]=0,t[2]=2;for(var n=3,o=3;r>o;++o)t[n++]=o-1,t[n++]=0,t[n++]=o;return e.indices=t,e.primitiveType=g.TRIANGLES,e}function F(e){var r=S.computeNumberOfVertices(e),t=v.createTypedArray(r,3*(r-2));t[0]=0,t[1]=1,t[2]=2,r>3&&(t[3]=0,t[4]=2,t[5]=3);for(var n=6,o=3;r-1>o;o+=2)t[n++]=o,t[n++]=o-1,t[n++]=o+1,r>o+2&&(t[n++]=o,t[n++]=o+1,t[n++]=o+2);return e.indices=t,e.primitiveType=g.TRIANGLES,e}function D(e){if(t(e.indices))return e;for(var r=S.computeNumberOfVertices(e),n=v.createTypedArray(r,r),o=0;r>o;++o)n[o]=o;return e.indices=n,e}function P(e){var r=S.computeNumberOfVertices(e),t=v.createTypedArray(r,2*(r-1));t[0]=0,t[1]=1;for(var n=2,o=2;r>o;++o)t[n++]=o-1,t[n++]=o;return e.indices=t,e.primitiveType=g.LINES,e}function B(e){var r=S.computeNumberOfVertices(e),t=v.createTypedArray(r,2*r);t[0]=0,t[1]=1;for(var n=2,o=2;r>o;++o)t[n++]=o-1,t[n++]=o;return t[n++]=r-1,t[n]=0,e.indices=t,e.primitiveType=g.LINES,e}function _(e){switch(e.primitiveType){case g.TRIANGLE_FAN:return L(e);case g.TRIANGLE_STRIP:return F(e);case g.TRIANGLES:return z(e);case g.LINE_STRIP:return P(e);case g.LINE_LOOP:return B(e);case g.LINES:return D(e)}return e}function U(e,r){Math.abs(e.y)=0||r.x>=0||t.x>=0)return void 0;var n=e.y<0,o=r.y<0,i=t.y<0;U(e,n),U(r,o),U(t,i);var a=0;a+=n?1:0,a+=o?1:0,a+=i?1:0;var s=cr.indices;1===a?(s[1]=3,s[2]=4,s[5]=6,s[7]=6,s[8]=5,n?(G(e,r,ar,ur),G(e,t,sr,lr),s[0]=0,s[3]=1,s[4]=2,s[6]=1):o?(G(r,t,ar,ur),G(r,e,sr,lr),s[0]=1,s[3]=2,s[4]=0,s[6]=2):i&&(G(t,e,ar,ur),G(t,r,sr,lr),s[0]=2,s[3]=0,s[4]=1,s[6]=0)):2===a&&(s[2]=4,s[4]=4,s[5]=3,s[7]=5,s[8]=6,n?o?i||(G(t,e,ar,ur),G(t,r,sr,lr),s[0]=0,s[1]=1,s[3]=0,s[6]=2):(G(r,t,ar,ur),G(r,e,sr,lr),s[0]=2,s[1]=0,s[3]=2,s[6]=1):(G(e,r,ar,ur),G(e,t,sr,lr),s[0]=1,s[1]=2,s[3]=1,s[6]=0));var u=cr.positions;return u[0]=e,u[1]=r,u[2]=t,cr.length=3,(1===a||2===a)&&(u[3]=ar,u[4]=sr,u[5]=ur,u[6]=lr,cr.length=7),cr}function Y(r,n,a,s,u,l,c,f){if(t(u)||t(l)||t(c)||t(f)){var m,y,h,p,d,v,g,E,C,S,w,x,A,M,b,T,O,I,R=s.positions,N=R[0],z=R[1],L=R[2];t(u)&&(m=i.fromArray(u,3*r),y=i.fromArray(u,3*n),h=i.fromArray(u,3*a)),t(l)&&(p=i.fromArray(l,3*r),d=i.fromArray(l,3*n),v=i.fromArray(l,3*a)),t(c)&&(g=i.fromArray(c,3*r),E=i.fromArray(c,3*n),C=i.fromArray(c,3*a)),t(f)&&(S=o.fromArray(f,2*r),w=o.fromArray(f,2*n),x=o.fromArray(f,2*a));for(var F=3;FE;E+=3){var C=l[E],w=l[E+1],x=l[E+2],A=i.fromArray(n,3*C),M=i.fromArray(n,3*w),b=i.fromArray(n,3*x),T=q(A,M,b);if(t(T))if(c[3*C+1]=T.positions[0].y,c[3*w+1]=T.positions[1].y,c[3*x+1]=T.positions[2].y,T.length>3){for(var O=c.length/3,I=0;IR?p.push(l[E+R]):p.push(R-3+O)}for(var N=3;Nm;m+=2){var y=o[m],p=o[m+1],d=i.fromArray(n,3*y),g=i.fromArray(n,3*p);if(Math.abs(d.y)c;c+=3)u[l++]=i[c],u[l++]=i[c+1],u[l++]=i[c+2],u[l++]=i[c]+a[c]*o,u[l++]=i[c+1]+a[c+1]*o,u[l++]=i[c+2]+a[c+2]*o;var f,m=e.boundingSphere;return t(m)&&(f=new C(m.center,m.radius+o)),new S({attributes:{position:new w({componentDatatype:d.DOUBLE,componentsPerAttribute:3,values:u})},primitiveType:g.LINES,boundingSphere:f})},H.createAttributeLocations=function(e){var r,n=["position","positionHigh","positionLow","position3DHigh","position3DLow","position2DHigh","position2DLow","pickColor","normal","st","binormal","tangent"],o=e.attributes,i={},a=0,s=n.length;for(r=0;s>r;++r){var u=n[r];t(o[u])&&(i[u]=a++)}for(var l in o)o.hasOwnProperty(l)&&!t(i[l])&&(i[l]=a++);return i},H.reorderForPreVertexCache=function(e){var r=S.computeNumberOfVertices(e),n=e.indices;if(t(n)){for(var o=new Int32Array(r),i=0;r>i;i++)o[i]=-1;for(var a,s=n,u=s.length,l=v.createTypedArray(r,u),c=0,f=0,m=0;u>c;)a=o[s[c]],-1!==a?l[f]=a:(a=s[c],o[a]=m,l[f]=m,++m),++c,++f;e.indices=l;var y=e.attributes;for(var h in y)if(y.hasOwnProperty(h)&&t(y[h])&&t(y[h].values)){for(var p=y[h],g=p.values,E=0,C=p.componentsPerAttribute,w=d.createTypedArray(p.componentDatatype,m*C);r>E;){var x=o[E];if(-1!==x)for(i=0;C>i;i++)w[C*x+i]=g[C*E+i];++E}p.values=w}}return e},H.reorderForPostVertexCache=function(e,r){var n=e.indices;if(e.primitiveType===g.TRIANGLES&&t(n)){for(var o=n.length,i=0,a=0;o>a;a++)n[a]>i&&(i=n[a]);e.indices=E.tipsify({indices:n,maximumIndex:i,cacheSize:r})}return e},H.fitToUnsignedShortIndices=function(e){var r=[],n=S.computeNumberOfVertices(e);if(t(e.indices)&&n>f.SIXTY_FOUR_KILOBYTES){var o,i=[],a=[],s=0,u=T(e.attributes),l=e.indices,c=l.length;e.primitiveType===g.TRIANGLES?o=3:e.primitiveType===g.LINES?o=2:e.primitiveType===g.POINTS&&(o=1);for(var m=0;c>m;m+=o){for(var y=0;o>y;++y){var h=l[m+y],p=i[h];t(p)||(p=s++,i[h]=p,O(u,e.attributes,h)),a.push(p)}s+o>f.SIXTY_FOUR_KILOBYTES&&(r.push(new S({attributes:u,indices:a,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere})),i=[],a=[],s=0,u=T(e.attributes))}0!==a.length&&r.push(new S({attributes:u,indices:a,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere}))}else r.push(e);return r};var k=new i,K=new s;H.projectTo2D=function(e,r,o,a,s){var u=e.attributes[r];s=t(s)?s:new p;for(var l=s.ellipsoid,c=u.values,f=new Float64Array(c.length),m=0,y=0;yc;++c)u.encode(i[c],j),s[c]=j.high,l[c]=j.low;var f=o.componentsPerAttribute;return e.attributes[t]=new w({componentDatatype:d.FLOAT,componentsPerAttribute:f,values:s}),e.attributes[n]=new w({componentDatatype:d.FLOAT,componentsPerAttribute:f,values:l}),delete e.attributes[r],e};var Z=new i,Q=new y,X=new m;H.transformToWorldCoordinates=function(e){var r=e.modelMatrix;if(y.equals(r,y.IDENTITY))return e;var n=e.geometry.attributes;I(r,n.position),I(r,n.prevPosition),I(r,n.nextPosition),(t(n.normal)||t(n.binormal)||t(n.tangent))&&(y.inverse(r,Q),y.transpose(Q,Q),y.getRotation(Q,X),R(X,n.normal),R(X,n.binormal),R(X,n.tangent));var o=e.geometry.boundingSphere;return t(o)&&(e.geometry.boundingSphere=C.transform(o,r,o)),e.modelMatrix=y.clone(y.IDENTITY),e},H.combine=function(e){var r,n,o,a,s=e.length;e[0].modelMatrix;var u,l,c,f=t(e[0].geometry.indices),m=e[0].geometry.primitiveType,y=N(e);for(r in y)if(y.hasOwnProperty(r))for(u=y[r].values,a=0,n=0;s>n;++n)for(l=e[n].geometry.attributes[r].values,c=l.length,o=0;c>o;++o)u[a++]=l[o];var h;if(f){var p=0;for(n=0;s>n;++n)p+=e[n].geometry.indices.length;var d=S.computeNumberOfVertices(new S({attributes:y,primitiveType:g.POINTS})),E=v.createTypedArray(d,p),w=0,x=0;for(n=0;s>n;++n){var A=e[n].geometry.indices,M=A.length;for(a=0;M>a;++a)E[w++]=x+A[a];x+=S.computeNumberOfVertices(e[n].geometry)}h=E}var b,T=new i,O=0;for(n=0;s>n;++n){if(b=e[n].geometry.boundingSphere,!t(b)){T=void 0;break}i.add(b.center,T,T)}if(t(T))for(i.divideByScalar(T,s,T),n=0;s>n;++n){b=e[n].geometry.boundingSphere;var I=i.magnitude(i.subtract(b.center,T))+b.radius;I>O&&(O=I)}return new S({attributes:y,indices:h,primitiveType:m,boundingSphere:t(T)?new C(T,O):void 0})};var J=new i,$=new i,er=new i,rr=new i;H.computeNormal=function(e){for(var r=e.indices,t=e.attributes,n=t.position.values,o=t.position.values.length/3,a=r.length,s=new Array(o),u=new Array(a/3),l=new Array(a),c=0;o>c;c++)s[c]={indexOffset:0,count:0,currentCount:0};var f=0;for(c=0;a>c;c+=3){var m=r[c],y=r[c+1],h=r[c+2],p=3*m,v=3*y,g=3*h;$.x=n[p],$.y=n[p+1],$.z=n[p+2],er.x=n[v],er.y=n[v+1],er.z=n[v+2],rr.x=n[g],rr.y=n[g+1],rr.z=n[g+2],s[m].count++,s[y].count++,s[h].count++,i.subtract(er,$,er),i.subtract(rr,$,rr),u[f]=i.cross(er,rr),f++}var E=0;for(c=0;o>c;c++)s[c].indexOffset+=E,E+=s[c].count;f=0;var C;for(c=0;a>c;c+=3){C=s[r[c]];var S=C.indexOffset+C.currentCount;l[S]=f,C.currentCount++,C=s[r[c+1]],S=C.indexOffset+C.currentCount,l[S]=f,C.currentCount++,C=s[r[c+2]],S=C.indexOffset+C.currentCount,l[S]=f,C.currentCount++,f++}var x=new Float32Array(3*o);for(c=0;o>c;c++){var A=3*c;if(C=s[c],C.count>0){for(i.clone(i.ZERO,J),f=0;fl;l+=3){var y=r[l],h=r[l+1],p=r[l+2];c=3*y,f=3*h,m=3*p;var v=2*y,g=2*h,E=2*p,C=t[c],S=t[c+1],x=t[c+2],A=o[v],M=o[v+1],b=o[g+1]-M,T=o[E+1]-M,O=1/((o[g]-A)*T-(o[E]-A)*b),I=(T*(t[f]-C)-b*(t[m]-C))*O,R=(T*(t[f+1]-S)-b*(t[m+1]-S))*O,N=(T*(t[f+2]-x)-b*(t[m+2]-x))*O;u[c]+=I,u[c+1]+=R,u[c+2]+=N,u[f]+=I,u[f+1]+=R,u[f+2]+=N,u[m]+=I,u[m+1]+=R,u[m+2]+=N}var z=new Float32Array(3*a),L=new Float32Array(3*a);for(l=0;a>l;l++){c=3*l,f=c+1,m=c+2;var F=i.fromArray(n,c,tr),D=i.fromArray(u,c,or),P=i.dot(F,D);i.multiplyByScalar(F,P,nr),i.normalize(i.subtract(D,nr,D),D),L[c]=D.x,L[f]=D.y,L[m]=D.z,i.normalize(i.cross(F,D,D),D),z[c]=D.x,z[f]=D.y,z[m]=D.z}return e.attributes.tangent=new w({componentDatatype:d.FLOAT,componentsPerAttribute:3,values:L}),e.attributes.binormal=new w({componentDatatype:d.FLOAT,componentsPerAttribute:3,values:z}),e};var ir=new i,ar=new i,sr=new i,ur=new i,lr=new i,cr={positions:new Array(7),indices:new Array(9)};return H.wrapLongitude=function(e){var r=e.boundingSphere;if(t(r)){var n=r.center.x-r.radius;if(n>0||C.intersect(r,a.UNIT_Y)!==l.INTERSECTING)return e}return _(e),e.primitiveType===g.TRIANGLES?W(e):e.primitiveType===g.LINES&&V(e),e},H}),define("Scene/PrimitivePipeline",["../Core/defined","../Core/defaultValue","../Core/Color","../Core/ComponentDatatype","../Core/DeveloperError","../Core/FeatureDetection","../Core/Geometry","../Core/GeometryAttribute","../Core/GeometryPipeline","../Core/Matrix4"],function(e,r,t,n,o,i,a,s,u,l){"use strict";function c(e,r,t){var n,o=!t,i=e.length;if(!o&&i>1){var a=e[0].modelMatrix;for(n=1;i>n;++n)if(!l.equals(a,e[n].modelMatrix)){o=!0;break}}if(o)for(n=0;i>n;++n)u.transformToWorldCoordinates(e[n]);else l.clone(e[0].modelMatrix,r)}function f(e,r){for(var o=e.length,i=0;o>i;++i){var a=e[i],u=a.geometry,l=u.attributes,c=l.position,f=4*(c.values.length/c.componentsPerAttribute);l.pickColor=new s({componentDatatype:n.UNSIGNED_BYTE,componentsPerAttribute:4,normalize:!0,values:new Uint8Array(f)});for(var m=r[i],y=t.floatToByte(m.red),h=t.floatToByte(m.green),p=t.floatToByte(m.blue),d=t.floatToByte(m.alpha),v=l.pickColor.values,g=0;f>g;g+=4)v[g]=y,v[g+1]=h,v[g+2]=p,v[g+3]=d}}function m(r){var t,n=r.length,o=[],i=r[0].attributes;for(t in i)if(i.hasOwnProperty(t)){for(var a=i[t],s=!0,u=1;n>u;++u){var l=r[u].attributes[t];if(!e(l)||a.componentDatatype.value!==l.componentDatatype.value||a.componentsPerAttribute!==l.componentsPerAttribute||a.normalize!==l.normalize){s=!1;break}}s&&o.push(t)}return o}function y(e,r){for(var t=e.length,o=0;t>o;++o)for(var i=e[o],u=i.attributes,l=i.geometry,c=a.computeNumberOfVertices(l),f=r.length,m=0;f>m;++m){for(var y=r[m],h=u[y],p=h.componentDatatype,d=h.value,v=d.length,g=n.createTypedArray(p,c*v),E=0;c>E;++E)g.set(d,E*v);l.attributes[y]=new s({componentDatatype:p,componentsPerAttribute:v,normalize:h.normalize,values:g})}}function h(e){var r,t=e.instances,o=e.pickIds,i=e.projection,a=e.elementIndexUintSupported,s=e.allow3DOnly,l=e.allowPicking,h=e.vertexCacheOptimize,p=e.modelMatrix,d=t.length;if(t[0].geometry.primitiveType,c(t,p,s),!s)for(r=0;d>r;++r)u.wrapLongitude(t[r].geometry);l&&f(t,o);var v=m(t);if(y(t,v),h)for(r=0;d>r;++r)u.reorderForPostVertexCache(t[r].geometry),u.reorderForPreVertexCache(t[r].geometry);var g,E=u.combine(t),C=E.attributes;if(s)for(g in C)C.hasOwnProperty(g)&&C[g].componentDatatype.value===n.DOUBLE.value&&u.encodeAttribute(E,g,g+"3DHigh",g+"3DLow");else for(g in C)if(C.hasOwnProperty(g)&&C[g].componentDatatype.value===n.DOUBLE.value){var S=g+"3D",w=g+"2D";u.projectTo2D(E,g,S,w,i),u.encodeAttribute(E,S,S+"High",S+"Low"),u.encodeAttribute(E,w,w+"High",w+"Low")}return a?[E]:u.fitToUnsignedShortIndices(E)}function p(e,r,t){for(var o=[],i=e.attributes,a=t.length,s=0;a>s;++s){var u=t[s],l=i[u],c=l.componentDatatype;c.value===n.DOUBLE.value&&(c=n.FLOAT);var f=n.createTypedArray(c,l.values);o.push({index:r[u],componentDatatype:c,componentsPerAttribute:l.componentsPerAttribute,normalize:l.normalize,values:f}),delete i[u]}return o}function d(t,n,o){for(var i=[],s=m(t),u=t.length,l={},c={},f=0;u>f;++f)for(var y=t[f],h=a.computeNumberOfVertices(y.geometry),p=s.length,d=0;p>d;++d)for(var v=s[d],g=o[v],E=h;E>0;){for(var C,S=r(c[v],0),w=n[S],x=w.length,A=0;x>A&&(C=w[A],C.index!==g);++A);e(i[f])||(i[f]={}),e(i[f][v])||(i[f][v]={dirty:!1,value:y.attributes[v].value,indices:[]});var M,b=C.values.length/C.componentsPerAttribute,T=r(l[v],0);b>T+E?(M=E,i[f][v].indices.push({attribute:C,offset:T,count:M}),l[v]=T+E):(M=b-T,i[f][v].indices.push({attribute:C,offset:T,count:M}),l[v]=0,c[v]=S+1),E-=M}return i}function v(r){return e(r.constructor.name)?{type:r.constructor.name,buffer:r.buffer}:r}function g(r){return e(r.type)?new C[r.type](r.buffer):r}if(!i.supportsTypedArrays())return{};var E={};E.combineGeometry=function(e){for(var r={instances:e.instances,pickIds:e.pickIds,ellipsoid:e.ellipsoid,projection:e.projection,elementIndexUintSupported:e.elementIndexUintSupported,allow3DOnly:e.allow3DOnly,allowPicking:e.allowPicking,vertexCacheOptimize:e.vertexCacheOptimize,modelMatrix:l.clone(e.modelMatrix)},t=h(r),n=u.createAttributeLocations(t[0]),o=r.instances,i=m(o),a=[],s=t.length,c=0;s>c;++c){var f=t[c]; +a.push(p(f,n,i))}var y=d(o,a,n);return{geometries:t,modelMatrix:r.modelMatrix,attributeLocations:n,vaAttributes:a,vaAttributeLocations:y}};var C={Int8Array:Int8Array,Uint8Array:Uint8Array,Int16Array:Int16Array,Uint16Array:Uint16Array,Int32Array:Int32Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array};return E.transferGeometry=function(r,t){var n,o=r.attributes;for(var a in o)o.hasOwnProperty(a)&&e(o[a])&&e(o[a].values)&&(n=o[a].values,i.supportsTransferringArrayBuffers()&&t.indexOf(o[a].values.buffer)<0&&t.push(n.buffer),e(n.type)||(o[a].values=v(n)));e(r.indices)&&(n=r.indices,i.supportsTransferringArrayBuffers()&&t.push(n.buffer),e(n.type)||(r.indices=v(r.indices)))},E.transferGeometries=function(e,r){for(var t=e.length,n=0;t>n;++n)E.transferGeometry(e[n],r)},E.transferPerInstanceAttributes=function(e,r){for(var t=e.length,n=0;t>n;++n)for(var o=e[n],a=o.length,s=0;a>s;++s){var u=o[s].values;i.supportsTransferringArrayBuffers()&&r.push(u.buffer),o[s].values=v(u)}},E.transferInstances=function(e,r){for(var t=e.length,n=0;t>n;++n){var o=e[n];E.transferGeometry(o.geometry,r)}},E.receiveGeometry=function(r){var t=r.attributes;for(var n in t)t.hasOwnProperty(n)&&e(t[n])&&e(t[n].values)&&(t[n].values=g(t[n].values));e(r.indices)&&(r.indices=g(r.indices))},E.receiveGeometries=function(e){for(var r=e.length,t=0;r>t;++t)E.receiveGeometry(e[t])},E.receivePerInstanceAttributes=function(e){for(var r=e.length,t=0;r>t;++t)for(var n=e[t],o=n.length,i=0;o>i;++i)n[i].values=g(n[i].values)},E.receiveInstances=function(e){for(var r=e.length,t=0;r>t;++t){var n=e[t];E.receiveGeometry(n.geometry)}},E}),define("Workers/createTaskProcessorWorker",["../Core/defaultValue","../Core/defined"],function(e,r){"use strict";var t=function(t){var n,o=[],i={id:void 0,result:void 0,error:void 0};return function(a){var s=a.data;o.length=0,i.id=s.id,i.error=void 0,i.result=void 0;try{i.result=t(s.parameters,o)}catch(u){i.error=u}r(n)||(n=e(self.webkitPostMessage,self.postMessage));try{n(i,o)}catch(u){i.result=void 0,i.error="postMessage failed with error: "+u+"\n with responseMessage: "+JSON.stringify(i),n(i)}}};return t}),define("Workers/createCylinderOutlineGeometry",["../Core/CylinderOutlineGeometry","../Scene/PrimitivePipeline","./createTaskProcessorWorker"],function(e,r,t){"use strict";function n(t,n){var o=t.geometry,i=e.createGeometry(o);return r.transferGeometry(i,n),{geometry:i,index:t.index}}return t(n)})}(); \ No newline at end of file diff --git a/Cesium/Workers/createEllipseGeometry.js b/Cesium/Workers/createEllipseGeometry.js new file mode 100644 index 0000000..88476cd --- /dev/null +++ b/Cesium/Workers/createEllipseGeometry.js @@ -0,0 +1,61 @@ +/** + * Cesium - https://github.com/AnalyticalGraphicsInc/cesium + * + * Copyright 2011-2014 Cesium Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Columbus View (Pat. Pend.) + * + * Portions licensed separately. + * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details. + */ +/** +@license +mersenne-twister.js - https://gist.github.com/banksean/300494 + + Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura, + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. The names of its contributors may not be used to endorse or promote + products derived from this software without specific prior written + permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +!function(){define("Core/defined",[],function(){"use strict";var e=function(e){return void 0!==e};return e}),define("Core/freezeObject",["./defined"],function(e){"use strict";var t=Object.freeze;return e(t)||(t=function(e){return e}),t}),define("Core/defaultValue",["./freezeObject"],function(e){"use strict";var t=function(e,t){return void 0!==e?e:t};return t.EMPTY_OBJECT=e({}),t}),define("Core/DeveloperError",["./defined"],function(e){"use strict";var t=function(e){this.name="DeveloperError",this.message=e;var t;try{throw new Error}catch(r){t=r.stack}this.stack=t};return t.prototype.toString=function(){var t=this.name+": "+this.message;return e(this.stack)&&(t+="\n"+this.stack.toString()),t},t.throwInstantiationError=function(){throw new t("This function defines an interface and should not be called directly.")},t}),define("Core/Cartesian3",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,t,r,n){"use strict";var i=function(t,r,n){this.x=e(t,0),this.y=e(r,0),this.z=e(n,0)};i.fromSpherical=function(r,n){t(n)||(n=new i);var a=r.clock,o=r.cone,s=e(r.magnitude,1),u=s*Math.sin(o);return n.x=u*Math.cos(a),n.y=u*Math.sin(a),n.z=s*Math.cos(o),n},i.fromElements=function(e,r,n,a){return t(a)?(a.x=e,a.y=r,a.z=n,a):new i(e,r,n)},i.clone=function(e,r){return t(e)?t(r)?(r.x=e.x,r.y=e.y,r.z=e.z,r):new i(e.x,e.y,e.z):void 0},i.fromCartesian4=i.clone,i.packedLength=3,i.pack=function(t,r,n){n=e(n,0),r[n++]=t.x,r[n++]=t.y,r[n]=t.z},i.unpack=function(r,n,a){return n=e(n,0),t(a)||(a=new i),a.x=r[n++],a.y=r[n++],a.z=r[n],a},i.fromArray=i.unpack,i.getMaximumComponent=function(e){return Math.max(e.x,e.y,e.z)},i.getMinimumComponent=function(e){return Math.min(e.x,e.y,e.z)},i.getMinimumByComponent=function(e,r,n){return t(n)||(n=new i),n.x=Math.min(e.x,r.x),n.y=Math.min(e.y,r.y),n.z=Math.min(e.z,r.z),n},i.getMaximumByComponent=function(e,r,n){return t(n)||(n=new i),n.x=Math.max(e.x,r.x),n.y=Math.max(e.y,r.y),n.z=Math.max(e.z,r.z),n},i.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z},i.magnitude=function(e){return Math.sqrt(i.magnitudeSquared(e))};var a=new i;i.distance=function(e,t){return i.subtract(e,t,a),i.magnitude(a)},i.normalize=function(e,r){var n=i.magnitude(e);return t(r)?(r.x=e.x/n,r.y=e.y/n,r.z=e.z/n,r):new i(e.x/n,e.y/n,e.z/n)},i.dot=function(e,t){return e.x*t.x+e.y*t.y+e.z*t.z},i.multiplyComponents=function(e,r,n){return t(n)?(n.x=e.x*r.x,n.y=e.y*r.y,n.z=e.z*r.z,n):new i(e.x*r.x,e.y*r.y,e.z*r.z)},i.add=function(e,r,n){return t(n)?(n.x=e.x+r.x,n.y=e.y+r.y,n.z=e.z+r.z,n):new i(e.x+r.x,e.y+r.y,e.z+r.z)},i.subtract=function(e,r,n){return t(n)?(n.x=e.x-r.x,n.y=e.y-r.y,n.z=e.z-r.z,n):new i(e.x-r.x,e.y-r.y,e.z-r.z)},i.multiplyByScalar=function(e,r,n){return t(n)?(n.x=e.x*r,n.y=e.y*r,n.z=e.z*r,n):new i(e.x*r,e.y*r,e.z*r)},i.divideByScalar=function(e,r,n){return t(n)?(n.x=e.x/r,n.y=e.y/r,n.z=e.z/r,n):new i(e.x/r,e.y/r,e.z/r)},i.negate=function(e,r){return t(r)?(r.x=-e.x,r.y=-e.y,r.z=-e.z,r):new i(-e.x,-e.y,-e.z)},i.abs=function(e,r){return t(r)?(r.x=Math.abs(e.x),r.y=Math.abs(e.y),r.z=Math.abs(e.z),r):new i(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z))};var o=new i;i.lerp=function(e,t,r,n){return i.multiplyByScalar(t,r,o),n=i.multiplyByScalar(e,1-r,n),i.add(o,n,n)};var s=new i,u=new i;i.angleBetween=function(e,t){i.normalize(e,s),i.normalize(t,u);var r=i.dot(s,u),n=i.magnitude(i.cross(s,u,s));return Math.atan2(n,r)};var l=new i;return i.mostOrthogonalAxis=function(e,t){var r=i.normalize(e,l);return i.abs(r,r),t=r.x<=r.y?r.x<=r.z?i.clone(i.UNIT_X,t):i.clone(i.UNIT_Z,t):r.y<=r.z?i.clone(i.UNIT_Y,t):i.clone(i.UNIT_Z,t)},i.equals=function(e,r){return e===r||t(e)&&t(r)&&e.x===r.x&&e.y===r.y&&e.z===r.z},i.equalsEpsilon=function(e,r,n){return e===r||t(e)&&t(r)&&Math.abs(e.x-r.x)<=n&&Math.abs(e.y-r.y)<=n&&Math.abs(e.z-r.z)<=n},i.cross=function(e,r,n){var a=e.x,o=e.y,s=e.z,u=r.x,l=r.y,c=r.z,f=o*c-s*l,m=s*u-a*c,y=a*l-o*u;return t(n)?(n.x=f,n.y=m,n.z=y,n):new i(f,m,y)},i.ZERO=n(new i(0,0,0)),i.UNIT_X=n(new i(1,0,0)),i.UNIT_Y=n(new i(0,1,0)),i.UNIT_Z=n(new i(0,0,1)),i.prototype.clone=function(e){return i.clone(this,e)},i.prototype.equals=function(e){return i.equals(this,e)},i.prototype.equalsEpsilon=function(e,t){return i.equalsEpsilon(this,e,t)},i.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+")"},i}),define("ThirdParty/mersenne-twister",[],function(){var e=function(e){void 0==e&&(e=(new Date).getTime()),this.N=624,this.M=397,this.MATRIX_A=2567483615,this.UPPER_MASK=2147483648,this.LOWER_MASK=2147483647,this.mt=new Array(this.N),this.mti=this.N+1,this.init_genrand(e)};return e.prototype.init_genrand=function(e){for(this.mt[0]=e>>>0,this.mti=1;this.mti>>30;this.mt[this.mti]=(1812433253*((4294901760&e)>>>16)<<16)+1812433253*(65535&e)+this.mti,this.mt[this.mti]>>>=0}},e.prototype.genrand_int32=function(){var e,t=new Array(0,this.MATRIX_A);if(this.mti>=this.N){var r;for(this.mti==this.N+1&&this.init_genrand(5489),r=0;r>>1^t[1&e];for(;r>>1^t[1&e];e=this.mt[this.N-1]&this.UPPER_MASK|this.mt[0]&this.LOWER_MASK,this.mt[this.N-1]=this.mt[this.M-1]^e>>>1^t[1&e],this.mti=0}return e=this.mt[this.mti++],e^=e>>>11,e^=2636928640&e<<7,e^=4022730752&e<<15,e^=e>>>18,e>>>0},e.prototype.random=function(){return this.genrand_int32()*(1/4294967296)},e}),define("Core/Math",["./defaultValue","./defined","./DeveloperError","../ThirdParty/mersenne-twister"],function(e,t,r,n){"use strict";var i={};i.EPSILON1=.1,i.EPSILON2=.01,i.EPSILON3=.001,i.EPSILON4=1e-4,i.EPSILON5=1e-5,i.EPSILON6=1e-6,i.EPSILON7=1e-7,i.EPSILON8=1e-8,i.EPSILON9=1e-9,i.EPSILON10=1e-10,i.EPSILON11=1e-11,i.EPSILON12=1e-12,i.EPSILON13=1e-13,i.EPSILON14=1e-14,i.EPSILON15=1e-15,i.EPSILON16=1e-16,i.EPSILON17=1e-17,i.EPSILON18=1e-18,i.EPSILON19=1e-19,i.EPSILON20=1e-20,i.GRAVITATIONALPARAMETER=3986004418e5,i.SOLAR_RADIUS=6955e5,i.LUNAR_RADIUS=1737400,i.SIXTY_FOUR_KILOBYTES=65536,i.sign=function(e){return e>0?1:0>e?-1:0},i.sinh=function(e){var t=Math.pow(Math.E,e),r=Math.pow(Math.E,-1*e);return.5*(t-r)},i.cosh=function(e){var t=Math.pow(Math.E,e),r=Math.pow(Math.E,-1*e);return.5*(t+r)},i.lerp=function(e,t,r){return(1-r)*e+r*t},i.PI=Math.PI,i.ONE_OVER_PI=1/Math.PI,i.PI_OVER_TWO=.5*Math.PI,i.PI_OVER_THREE=Math.PI/3,i.PI_OVER_FOUR=Math.PI/4,i.PI_OVER_SIX=Math.PI/6,i.THREE_PI_OVER_TWO=.5*3*Math.PI,i.TWO_PI=2*Math.PI,i.ONE_OVER_TWO_PI=1/(2*Math.PI),i.RADIANS_PER_DEGREE=Math.PI/180,i.DEGREES_PER_RADIAN=180/Math.PI,i.RADIANS_PER_ARCSECOND=i.RADIANS_PER_DEGREE/3600,i.toRadians=function(e){return e*i.RADIANS_PER_DEGREE},i.toDegrees=function(e){return e*i.DEGREES_PER_RADIAN},i.convertLongitudeRange=function(e){var t=i.TWO_PI,r=e-Math.floor(e/t)*t;return r<-Math.PI?r+t:r>=Math.PI?r-t:r},i.negativePiToPi=function(e){for(var t=i.EPSILON10,r=i.PI,n=i.TWO_PI;-(r+t)>e;)e+=n;if(-r>e)return-r;for(;e>r+t;)e-=n;return e>r?r:e},i.zeroToTwoPi=function(e){var t=e%i.TWO_PI;return 0>t?(t+i.TWO_PI)%i.TWO_PI:t},i.equalsEpsilon=function(t,r,n){return n=e(n,0),Math.abs(t-r)<=n};var a=[1];i.factorial=function(e){var t=a.length;if(e>=t)for(var r=a[t-1],n=t;e>=n;n++)a.push(r*n);return a[e]},i.incrementWrap=function(t,r,n){return n=e(n,0),++t,t>r&&(t=n),t},i.isPowerOfTwo=function(e){return 0!==e&&0===(e&e-1)},i.nextPowerOfTwo=function(e){return--e,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,++e,e},i.clamp=function(e,t,r){return t>e?t:e>r?r:e};var o=new n;return i.setRandomNumberSeed=function(e){o=new n(e)},i.nextRandomNumber=function(){return o.random()},i}),define("Core/Cartographic",["./defaultValue","./defined","./DeveloperError","./freezeObject","./Math"],function(e,t,r,n,i){"use strict";var a=function(t,r,n){this.longitude=e(t,0),this.latitude=e(r,0),this.height=e(n,0)};return a.fromDegrees=function(r,n,o,s){return r=i.toRadians(e(r,0)),n=i.toRadians(e(n,0)),o=e(o,0),t(s)?(s.longitude=r,s.latitude=n,s.height=o,s):new a(r,n,o)},a.clone=function(e,r){return t(e)?t(r)?(r.longitude=e.longitude,r.latitude=e.latitude,r.height=e.height,r):new a(e.longitude,e.latitude,e.height):void 0},a.equals=function(e,r){return e===r||t(e)&&t(r)&&e.longitude===r.longitude&&e.latitude===r.latitude&&e.height===r.height},a.equalsEpsilon=function(e,r,n){return e===r||t(e)&&t(r)&&Math.abs(e.longitude-r.longitude)<=n&&Math.abs(e.latitude-r.latitude)<=n&&Math.abs(e.height-r.height)<=n},a.toString=function(e){return"("+e.longitude+", "+e.latitude+", "+e.height+")"},a.ZERO=n(new a(0,0,0)),a.prototype.clone=function(e){return a.clone(this,e)},a.prototype.equals=function(e){return a.equals(this,e)},a.prototype.equalsEpsilon=function(e,t){return a.equalsEpsilon(this,e,t)},a.prototype.toString=function(){return a.toString(this)},a}),define("Core/defineProperties",["./defined"],function(e){"use strict";var t=function(){try{return"x"in Object.defineProperty({},"x",{})}catch(e){return!1}}(),r=Object.defineProperties;return t&&e(r)||(r=function(e){return e}),r}),define("Core/Ellipsoid",["./freezeObject","./defaultValue","./defined","./defineProperties","./DeveloperError","./Math","./Cartesian3","./Cartographic"],function(e,t,r,n,i,a,o,s){"use strict";var u=function(e,r,n){e=t(e,0),r=t(r,0),n=t(n,0),this._radii=new o(e,r,n),this._radiiSquared=new o(e*e,r*r,n*n),this._radiiToTheFourth=new o(e*e*e*e,r*r*r*r,n*n*n*n),this._oneOverRadii=new o(0===e?0:1/e,0===r?0:1/r,0===n?0:1/n),this._oneOverRadiiSquared=new o(0===e?0:1/(e*e),0===r?0:1/(r*r),0===n?0:1/(n*n)),this._minimumRadius=Math.min(e,r,n),this._maximumRadius=Math.max(e,r,n),this._centerToleranceSquared=a.EPSILON1};n(u.prototype,{radii:{get:function(){return this._radii}},radiiSquared:{get:function(){return this._radiiSquared}},radiiToTheFourth:{get:function(){return this._radiiToTheFourth}},oneOverRadii:{get:function(){return this._oneOverRadii}},oneOverRadiiSquared:{get:function(){return this._oneOverRadiiSquared}},minimumRadius:{get:function(){return this._minimumRadius}},maximumRadius:{get:function(){return this._maximumRadius}}}),u.clone=function(e,t){if(!r(e))return void 0;var n=e._radii;return r(t)?(o.clone(n,t._radii),o.clone(e._radiiSquared,t._radiiSquared),o.clone(e._radiiToTheFourth,t._radiiToTheFourth),o.clone(e._oneOverRadii,t._oneOverRadii),o.clone(e._oneOverRadiiSquared,t._oneOverRadiiSquared),t._minimumRadius=e._minimumRadius,t._maximumRadius=e._maximumRadius,t._centerToleranceSquared=e._centerToleranceSquared,t):new u(n.x,n.y,n.z)},u.fromCartesian3=function(e){return r(e)?new u(e.x,e.y,e.z):new u},u.WGS84=e(new u(6378137,6378137,6356752.314245179)),u.UNIT_SPHERE=e(new u(1,1,1)),u.MOON=e(new u(a.LUNAR_RADIUS,a.LUNAR_RADIUS,a.LUNAR_RADIUS)),u.prototype.clone=function(e){return u.clone(this,e)},u.prototype.geocentricSurfaceNormal=o.normalize,u.prototype.geodeticSurfaceNormalCartographic=function(e,t){var n=e.longitude,i=e.latitude,a=Math.cos(i),s=a*Math.cos(n),u=a*Math.sin(n),l=Math.sin(i);return r(t)||(t=new o),t.x=s,t.y=u,t.z=l,o.normalize(t,t)},u.prototype.geodeticSurfaceNormal=function(e,t){return t=o.multiplyComponents(e,this._oneOverRadiiSquared,t),o.normalize(t,t)};var l=new o,c=new o;u.prototype.cartographicToCartesian=function(e,t){var r=l,n=c;this.geodeticSurfaceNormalCartographic(e,r),o.multiplyComponents(this._radiiSquared,r,n);var i=Math.sqrt(o.dot(r,n));return o.divideByScalar(n,i,n),o.multiplyByScalar(r,e.height,r),o.add(n,r,t)},u.prototype.cartographicArrayToCartesianArray=function(e,t){var n=e.length;r(t)?t.length=n:t=new Array(n);for(var i=0;n>i;i++)t[i]=this.cartographicToCartesian(e[i],t[i]);return t};var f=new o,m=new o,y=new o;u.prototype.cartesianToCartographic=function(e,t){var n=this.scaleToGeodeticSurface(e,m);if(!r(n))return void 0;var i=this.geodeticSurfaceNormal(n,f),u=o.subtract(e,n,y),l=Math.atan2(i.y,i.x),c=Math.asin(i.z),h=a.sign(o.dot(u,e))*o.magnitude(u);return r(t)?(t.longitude=l,t.latitude=c,t.height=h,t):new s(l,c,h)},u.prototype.cartesianArrayToCartographicArray=function(e,t){var n=e.length;r(t)?t.length=n:t=new Array(n);for(var i=0;n>i;++i)t[i]=this.cartesianToCartographic(e[i],t[i]);return t};var h=new o,p=new o;return u.prototype.scaleToGeodeticSurface=function(e,t){var n=e.x,i=e.y,s=e.z,u=this._oneOverRadii,l=u.x,c=u.y,f=u.z,m=n*n*l*l,y=i*i*c*c,d=s*s*f*f,v=m+y+d,g=Math.sqrt(1/v),E=o.multiplyByScalar(e,g,h);if(va.EPSILON12);return r(t)?(t.x=n*T,t.y=i*O,t.z=s*I,t):new o(n*T,i*O,s*I)},u.prototype.scaleToGeocentricSurface=function(e,t){var r=e.x,n=e.y,i=e.z,a=this._oneOverRadiiSquared,s=1/Math.sqrt(r*r*a.x+n*n*a.y+i*i*a.z);return o.multiplyByScalar(e,s,t)},u.prototype.transformPositionToScaledSpace=function(e,t){return o.multiplyComponents(e,this._oneOverRadii,t)},u.prototype.transformPositionFromScaledSpace=function(e,t){return o.multiplyComponents(e,this._radii,t)},u.prototype.equals=function(e){return this===e||r(e)&&o.equals(this._radii,e._radii)},u.prototype.toString=function(){return this._radii.toString()},u}),define("Core/GeographicProjection",["./defaultValue","./defined","./defineProperties","./Cartesian3","./Cartographic","./Ellipsoid"],function(e,t,r,n,i,a){"use strict";var o=function(t){this._ellipsoid=e(t,a.WGS84),this._semimajorAxis=this._ellipsoid.maximumRadius,this._oneOverSemimajorAxis=1/this._semimajorAxis};return r(o.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}}),o.prototype.project=function(e,r){var i=this._semimajorAxis,a=e.longitude*i,o=e.latitude*i,s=e.height;return t(r)?(r.x=a,r.y=o,r.z=s,r):new n(a,o,s)},o.prototype.unproject=function(e,r){var n=this._oneOverSemimajorAxis,a=e.x*n,o=e.y*n,s=e.z;return t(r)?(r.longitude=a,r.latitude=o,r.height=s,r):new i(a,o,s)},o}),define("Core/Enumeration",["./defined"],function(e){"use strict";var t=function(t,r,n){if(this.value=t,this.name=r,e(n))for(var i in n)n.hasOwnProperty(i)&&(this[i]=n[i])};return t.prototype.valueOf=function(){return this.value},t.prototype.toString=function(){return this.name},t}),define("Core/Intersect",["./Enumeration"],function(e){"use strict";var t={OUTSIDE:new e(-1,"OUTSIDE"),INTERSECTING:new e(0,"INTERSECTING"),INSIDE:new e(1,"INSIDE")};return t}),define("Core/Interval",["./defaultValue"],function(e){"use strict";var t=function(t,r){this.start=e(t,0),this.stop=e(r,0)};return t}),define("Core/Cartesian4",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,t,r,n){"use strict";var i=function(t,r,n,i){this.x=e(t,0),this.y=e(r,0),this.z=e(n,0),this.w=e(i,0)};i.fromElements=function(e,r,n,a,o){return t(o)?(o.x=e,o.y=r,o.z=n,o.w=a,o):new i(e,r,n,a)},i.clone=function(e,r){return t(e)?t(r)?(r.x=e.x,r.y=e.y,r.z=e.z,r.w=e.w,r):new i(e.x,e.y,e.z,e.w):void 0},i.packedLength=4,i.pack=function(t,r,n){n=e(n,0),r[n++]=t.x,r[n++]=t.y,r[n++]=t.z,r[n]=t.w},i.unpack=function(r,n,a){return n=e(n,0),t(a)||(a=new i),a.x=r[n++],a.y=r[n++],a.z=r[n++],a.w=r[n],a},i.fromArray=i.unpack,i.getMaximumComponent=function(e){return Math.max(e.x,e.y,e.z,e.w)},i.getMinimumComponent=function(e){return Math.min(e.x,e.y,e.z,e.w)},i.getMinimumByComponent=function(e,r,n){return t(n)||(n=new i),n.x=Math.min(e.x,r.x),n.y=Math.min(e.y,r.y),n.z=Math.min(e.z,r.z),n.w=Math.min(e.w,r.w),n},i.getMaximumByComponent=function(e,r,n){return t(n)||(n=new i),n.x=Math.max(e.x,r.x),n.y=Math.max(e.y,r.y),n.z=Math.max(e.z,r.z),n.w=Math.max(e.w,r.w),n},i.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w},i.magnitude=function(e){return Math.sqrt(i.magnitudeSquared(e))};var a=new i;i.distance=function(e,t){return i.subtract(e,t,a),i.magnitude(a)},i.normalize=function(e,r){var n=i.magnitude(e);return t(r)?(r.x=e.x/n,r.y=e.y/n,r.z=e.z/n,r.w=e.w/n,r):new i(e.x/n,e.y/n,e.z/n,e.w/n)},i.dot=function(e,t){return e.x*t.x+e.y*t.y+e.z*t.z+e.w*t.w},i.multiplyComponents=function(e,r,n){return t(n)?(n.x=e.x*r.x,n.y=e.y*r.y,n.z=e.z*r.z,n.w=e.w*r.w,n):new i(e.x*r.x,e.y*r.y,e.z*r.z,e.w*r.w)},i.add=function(e,r,n){return t(n)?(n.x=e.x+r.x,n.y=e.y+r.y,n.z=e.z+r.z,n.w=e.w+r.w,n):new i(e.x+r.x,e.y+r.y,e.z+r.z,e.w+r.w)},i.subtract=function(e,r,n){return t(n)?(n.x=e.x-r.x,n.y=e.y-r.y,n.z=e.z-r.z,n.w=e.w-r.w,n):new i(e.x-r.x,e.y-r.y,e.z-r.z,e.w-r.w)},i.multiplyByScalar=function(e,r,n){return t(n)?(n.x=e.x*r,n.y=e.y*r,n.z=e.z*r,n.w=e.w*r,n):new i(e.x*r,e.y*r,e.z*r,e.w*r)},i.divideByScalar=function(e,r,n){return t(n)?(n.x=e.x/r,n.y=e.y/r,n.z=e.z/r,n.w=e.w/r,n):new i(e.x/r,e.y/r,e.z/r,e.w/r)},i.negate=function(e,r){return t(r)?(r.x=-e.x,r.y=-e.y,r.z=-e.z,r.w=-e.w,r):new i(-e.x,-e.y,-e.z,-e.w)},i.abs=function(e,r){return t(r)?(r.x=Math.abs(e.x),r.y=Math.abs(e.y),r.z=Math.abs(e.z),r.w=Math.abs(e.w),r):new i(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z),Math.abs(e.w))};var o=new i;i.lerp=function(e,t,r,n){return i.multiplyByScalar(t,r,o),n=i.multiplyByScalar(e,1-r,n),i.add(o,n,n)};var s=new i;return i.mostOrthogonalAxis=function(e,t){var r=i.normalize(e,s);return i.abs(r,r),t=r.x<=r.y?r.x<=r.z?r.x<=r.w?i.clone(i.UNIT_X,t):i.clone(i.UNIT_W,t):r.z<=r.w?i.clone(i.UNIT_Z,t):i.clone(i.UNIT_W,t):r.y<=r.z?r.y<=r.w?i.clone(i.UNIT_Y,t):i.clone(i.UNIT_W,t):r.z<=r.w?i.clone(i.UNIT_Z,t):i.clone(i.UNIT_W,t)},i.equals=function(e,r){return e===r||t(e)&&t(r)&&e.x===r.x&&e.y===r.y&&e.z===r.z&&e.w===r.w},i.equalsEpsilon=function(e,r,n){return e===r||t(e)&&t(r)&&Math.abs(e.x-r.x)<=n&&Math.abs(e.y-r.y)<=n&&Math.abs(e.z-r.z)<=n&&Math.abs(e.w-r.w)<=n},i.ZERO=n(new i(0,0,0,0)),i.UNIT_X=n(new i(1,0,0,0)),i.UNIT_Y=n(new i(0,1,0,0)),i.UNIT_Z=n(new i(0,0,1,0)),i.UNIT_W=n(new i(0,0,0,1)),i.prototype.clone=function(e){return i.clone(this,e)},i.prototype.equals=function(e){return i.equals(this,e)},i.prototype.equalsEpsilon=function(e,t){return i.equalsEpsilon(this,e,t)},i.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+", "+this.w+")"},i}),define("Core/Matrix3",["./Cartesian3","./defaultValue","./defined","./DeveloperError","./freezeObject","./Math"],function(e,t,r,n,i,a){"use strict";function o(e){for(var t=0,r=0;9>r;++r){var n=e[r];t+=n*n}return Math.sqrt(t)}function s(e){for(var t=0,r=0;3>r;++r){var n=e[l.getElementIndex(f[r],c[r])];t+=2*n*n}return Math.sqrt(t)}function u(e,t){for(var r=a.EPSILON15,n=0,i=1,o=0;3>o;++o){var s=Math.abs(e[l.getElementIndex(f[o],c[o])]);s>n&&(i=o,n=s)}var u=1,m=0,y=c[i],h=f[i];if(Math.abs(e[l.getElementIndex(h,y)])>r){var p,d=e[l.getElementIndex(h,h)],v=e[l.getElementIndex(y,y)],g=e[l.getElementIndex(h,y)],E=(d-v)/2/g;p=0>E?-1/(-E+Math.sqrt(1+E*E)):1/(E+Math.sqrt(1+E*E)),u=1/Math.sqrt(1+p*p),m=p*u}return t=l.clone(l.IDENTITY,t),t[l.getElementIndex(y,y)]=t[l.getElementIndex(h,h)]=u,t[l.getElementIndex(h,y)]=m,t[l.getElementIndex(y,h)]=-m,t}var l=function(e,r,n,i,a,o,s,u,l){this[0]=t(e,0),this[1]=t(i,0),this[2]=t(s,0),this[3]=t(r,0),this[4]=t(a,0),this[5]=t(u,0),this[6]=t(n,0),this[7]=t(o,0),this[8]=t(l,0)};l.clone=function(e,t){return r(e)?r(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t):new l(e[0],e[3],e[6],e[1],e[4],e[7],e[2],e[5],e[8]):void 0},l.fromArray=function(e,n,i){return n=t(n,0),r(i)||(i=new l),i[0]=e[n],i[1]=e[n+1],i[2]=e[n+2],i[3]=e[n+3],i[4]=e[n+4],i[5]=e[n+5],i[6]=e[n+6],i[7]=e[n+7],i[8]=e[n+8],i[9]=e[n+9],i},l.fromColumnMajorArray=function(e,t){return l.clone(e,t)},l.fromRowMajorArray=function(e,t){return r(t)?(t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8],t):new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])},l.fromQuaternion=function(e,t){var n=e.x*e.x,i=e.x*e.y,a=e.x*e.z,o=e.x*e.w,s=e.y*e.y,u=e.y*e.z,c=e.y*e.w,f=e.z*e.z,m=e.z*e.w,y=e.w*e.w,h=n-s-f+y,p=2*(i-m),d=2*(a+c),v=2*(i+m),g=-n+s-f+y,E=2*(u-o),w=2*(a-c),S=2*(u+o),x=-n-s+f+y;return r(t)?(t[0]=h,t[1]=v,t[2]=w,t[3]=p,t[4]=g,t[5]=S,t[6]=d,t[7]=E,t[8]=x,t):new l(h,p,d,v,g,E,w,S,x)},l.fromScale=function(e,t){return r(t)?(t[0]=e.x,t[1]=0,t[2]=0,t[3]=0,t[4]=e.y,t[5]=0,t[6]=0,t[7]=0,t[8]=e.z,t):new l(e.x,0,0,0,e.y,0,0,0,e.z)},l.fromUniformScale=function(e,t){return r(t)?(t[0]=e,t[1]=0,t[2]=0,t[3]=0,t[4]=e,t[5]=0,t[6]=0,t[7]=0,t[8]=e,t):new l(e,0,0,0,e,0,0,0,e)},l.fromRotationX=function(e,t){var n=Math.cos(e),i=Math.sin(e);return r(t)?(t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=n,t[5]=i,t[6]=0,t[7]=-i,t[8]=n,t):new l(1,0,0,0,n,-i,0,i,n)},l.fromRotationY=function(e,t){var n=Math.cos(e),i=Math.sin(e);return r(t)?(t[0]=n,t[1]=0,t[2]=-i,t[3]=0,t[4]=1,t[5]=0,t[6]=i,t[7]=0,t[8]=n,t):new l(n,0,i,0,1,0,-i,0,n)},l.fromRotationZ=function(e,t){var n=Math.cos(e),i=Math.sin(e);return r(t)?(t[0]=n,t[1]=i,t[2]=0,t[3]=-i,t[4]=n,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t):new l(n,-i,0,i,n,0,0,0,1)},l.toArray=function(e,t){return r(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8]]},l.getElementIndex=function(e,t){return 3*e+t},l.getColumn=function(t,n,i){var a=3*n,o=t[a],s=t[a+1],u=t[a+2];return r(i)?(i.x=o,i.y=s,i.z=u,i):new e(o,s,u)},l.setColumn=function(e,t,r,n){n=l.clone(e,n);var i=3*t;return n[i]=r.x,n[i+1]=r.y,n[i+2]=r.z,n},l.getRow=function(t,n,i){var a=t[n],o=t[n+3],s=t[n+6];return r(i)?(i.x=a,i.y=o,i.z=s,i):new e(a,o,s)},l.setRow=function(e,t,r,n){return n=l.clone(e,n),n[t]=r.x,n[t+3]=r.y,n[t+6]=r.z,n},l.multiply=function(e,t,n){var i=e[0]*t[0]+e[3]*t[1]+e[6]*t[2],a=e[1]*t[0]+e[4]*t[1]+e[7]*t[2],o=e[2]*t[0]+e[5]*t[1]+e[8]*t[2],s=e[0]*t[3]+e[3]*t[4]+e[6]*t[5],u=e[1]*t[3]+e[4]*t[4]+e[7]*t[5],c=e[2]*t[3]+e[5]*t[4]+e[8]*t[5],f=e[0]*t[6]+e[3]*t[7]+e[6]*t[8],m=e[1]*t[6]+e[4]*t[7]+e[7]*t[8],y=e[2]*t[6]+e[5]*t[7]+e[8]*t[8];return r(n)?(n[0]=i,n[1]=a,n[2]=o,n[3]=s,n[4]=u,n[5]=c,n[6]=f,n[7]=m,n[8]=y,n):new l(i,s,f,a,u,m,o,c,y)},l.multiplyByVector=function(t,n,i){var a=n.x,o=n.y,s=n.z,u=t[0]*a+t[3]*o+t[6]*s,l=t[1]*a+t[4]*o+t[7]*s,c=t[2]*a+t[5]*o+t[8]*s;return r(i)?(i.x=u,i.y=l,i.z=c,i):new e(u,l,c)},l.multiplyByScalar=function(e,t,n){return r(n)?(n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n[4]=e[4]*t,n[5]=e[5]*t,n[6]=e[6]*t,n[7]=e[7]*t,n[8]=e[8]*t,n):new l(e[0]*t,e[3]*t,e[6]*t,e[1]*t,e[4]*t,e[7]*t,e[2]*t,e[5]*t,e[8]*t)},l.negate=function(e,t){return r(t)?(t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t[4]=-e[4],t[5]=-e[5],t[6]=-e[6],t[7]=-e[7],t[8]=-e[8],t):new l(-e[0],-e[3],-e[6],-e[1],-e[4],-e[7],-e[2],-e[5],-e[8])},l.transpose=function(e,t){var n=e[0],i=e[3],a=e[6],o=e[1],s=e[4],u=e[7],c=e[2],f=e[5],m=e[8];return r(t)?(t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=u,t[6]=c,t[7]=f,t[8]=m,t):new l(n,o,c,i,s,f,a,u,m)};var c=[1,0,0],f=[2,2,1],m=new l,y=new l;return l.getEigenDecomposition=function(e,t){var n=a.EPSILON20,i=10,c=0,f=0;r(t)||(t={});for(var h=t.unitary=l.clone(l.IDENTITY,t.unitary),p=t.diagonal=l.clone(e,t.diagonal),d=n*o(p);i>f&&s(p)>d;)u(p,m),l.transpose(m,y),l.multiply(p,m,p),l.multiply(y,p,p),l.multiply(h,m,h),++c>2&&(++f,c=0);return t},l.abs=function(e,t){return r(t)?(t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t[3]=Math.abs(e[3]),t[4]=Math.abs(e[4]),t[5]=Math.abs(e[5]),t[6]=Math.abs(e[6]),t[7]=Math.abs(e[7]),t[8]=Math.abs(e[8]),t):new l(Math.abs(e[0]),Math.abs(e[3]),Math.abs(e[6]),Math.abs(e[1]),Math.abs(e[4]),Math.abs(e[7]),Math.abs(e[2]),Math.abs(e[5]),Math.abs(e[8]))},l.determinant=function(e){var t=e[0],r=e[3],n=e[6],i=e[1],a=e[4],o=e[7],s=e[2],u=e[5],l=e[8];return t*(a*l-u*o)+i*(u*n-r*l)+s*(r*o-a*n)},l.inverse=function(e,t){var r=e[0],i=e[1],o=e[2],s=e[3],u=e[4],c=e[5],f=e[6],m=e[7],y=e[8],h=l.determinant(e);if(Math.abs(h)<=a.EPSILON15)throw new n("matrix is not invertible");var p=new l(u*y-m*c,f*c-s*y,s*m-f*u,m*o-i*y,r*y-f*o,f*i-r*m,i*c-u*o,s*o-r*c,r*u-s*i),d=1/h;return l.multiplyByScalar(p,d,t)},l.equals=function(e,t){return e===t||r(e)&&r(t)&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]},l.equalsEpsilon=function(e,t,n){return e===t||r(e)&&r(t)&&Math.abs(e[0]-t[0])<=n&&Math.abs(e[1]-t[1])<=n&&Math.abs(e[2]-t[2])<=n&&Math.abs(e[3]-t[3])<=n&&Math.abs(e[4]-t[4])<=n&&Math.abs(e[5]-t[5])<=n&&Math.abs(e[6]-t[6])<=n&&Math.abs(e[7]-t[7])<=n&&Math.abs(e[8]-t[8])<=n},l.IDENTITY=i(new l(1,0,0,0,1,0,0,0,1)),l.COLUMN0ROW0=0,l.COLUMN0ROW1=1,l.COLUMN0ROW2=2,l.COLUMN1ROW0=3,l.COLUMN1ROW1=4,l.COLUMN1ROW2=5,l.COLUMN2ROW0=6,l.COLUMN2ROW1=7,l.COLUMN2ROW2=8,l.prototype.clone=function(e){return l.clone(this,e)},l.prototype.equals=function(e){return l.equals(this,e)},l.prototype.equalsEpsilon=function(e,t){return l.equalsEpsilon(this,e,t)},l.prototype.toString=function(){return"("+this[0]+", "+this[3]+", "+this[6]+")\n"+"("+this[1]+", "+this[4]+", "+this[7]+")\n"+"("+this[2]+", "+this[5]+", "+this[8]+")"},l}),define("Core/RuntimeError",["./defined"],function(e){"use strict";var t=function(e){this.name="RuntimeError",this.message=e;var t;try{throw new Error}catch(r){t=r.stack}this.stack=t};return t.prototype.toString=function(){var t=this.name+": "+this.message;return e(this.stack)&&(t+="\n"+this.stack.toString()),t},t}),define("Core/Matrix4",["./Cartesian3","./Cartesian4","./defaultValue","./defined","./DeveloperError","./freezeObject","./Math","./Matrix3","./RuntimeError"],function(e,t,r,n,i,a,o,s,u){"use strict";var l=function(e,t,n,i,a,o,s,u,l,c,f,m,y,h,p,d){this[0]=r(e,0),this[1]=r(a,0),this[2]=r(l,0),this[3]=r(y,0),this[4]=r(t,0),this[5]=r(o,0),this[6]=r(c,0),this[7]=r(h,0),this[8]=r(n,0),this[9]=r(s,0),this[10]=r(f,0),this[11]=r(p,0),this[12]=r(i,0),this[13]=r(u,0),this[14]=r(m,0),this[15]=r(d,0)};l.clone=function(e,t){return n(e)?n(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t):new l(e[0],e[4],e[8],e[12],e[1],e[5],e[9],e[13],e[2],e[6],e[10],e[14],e[3],e[7],e[11],e[15]):void 0},l.fromArray=function(e,t,i){return t=r(t,0),n(i)||(i=new l),i[0]=e[t],i[1]=e[t+1],i[2]=e[t+2],i[3]=e[t+3],i[4]=e[t+4],i[5]=e[t+5],i[6]=e[t+6],i[7]=e[t+7],i[8]=e[t+8],i[9]=e[t+9],i[10]=e[t+10],i[11]=e[t+11],i[12]=e[t+12],i[13]=e[t+13],i[14]=e[t+14],i[15]=e[t+15],i},l.fromColumnMajorArray=function(e,t){return l.clone(e,t)},l.fromRowMajorArray=function(e,t){return n(t)?(t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15],t):new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])},l.fromRotationTranslation=function(e,t,r){return n(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=0,r[4]=e[3],r[5]=e[4],r[6]=e[5],r[7]=0,r[8]=e[6],r[9]=e[7],r[10]=e[8],r[11]=0,r[12]=t.x,r[13]=t.y,r[14]=t.z,r[15]=1,r):new l(e[0],e[3],e[6],t.x,e[1],e[4],e[7],t.y,e[2],e[5],e[8],t.z,0,0,0,1)},new s,l.fromTranslationQuaternionRotationScale=function(e,t,r,i){n(i)||(i=new l);var a=r.x,o=r.y,s=r.z,u=t.x*t.x,c=t.x*t.y,f=t.x*t.z,m=t.x*t.w,y=t.y*t.y,h=t.y*t.z,p=t.y*t.w,d=t.z*t.z,v=t.z*t.w,g=t.w*t.w,E=u-y-d+g,w=2*(c-v),S=2*(f+p),x=2*(c+v),C=-u+y-d+g,A=2*(h-m),M=2*(f-p),b=2*(h+m),T=-u-y+d+g;return i[0]=E*a,i[1]=x*a,i[2]=M*a,i[3]=0,i[4]=w*o,i[5]=C*o,i[6]=b*o,i[7]=0,i[8]=S*s,i[9]=A*s,i[10]=T*s,i[11]=0,i[12]=e.x,i[13]=e.y,i[14]=e.z,i[15]=1,i},l.fromTranslation=function(e,t){return l.fromRotationTranslation(s.IDENTITY,e,t)},l.fromScale=function(e,t){return n(t)?(t[0]=e.x,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e.y,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e.z,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t):new l(e.x,0,0,0,0,e.y,0,0,0,0,e.z,0,0,0,0,1)},l.fromUniformScale=function(e,t){return n(t)?(t[0]=e,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t):new l(e,0,0,0,0,e,0,0,0,0,e,0,0,0,0,1)};var c=new e,f=new e,m=new e;l.fromCamera=function(t,r){var i=t.eye,a=t.target,o=t.up;e.normalize(e.subtract(a,i,c),c),e.normalize(e.cross(c,o,f),f),e.normalize(e.cross(f,c,m),m);var s=f.x,u=f.y,y=f.z,h=c.x,p=c.y,d=c.z,v=m.x,g=m.y,E=m.z,w=i.x,S=i.y,x=i.z,C=s*-w+u*-S+y*-x,A=v*-w+g*-S+E*-x,M=h*w+p*S+d*x;return n(r)?(r[0]=s,r[1]=v,r[2]=-h,r[3]=0,r[4]=u,r[5]=g,r[6]=-p,r[7]=0,r[8]=y,r[9]=E,r[10]=-d,r[11]=0,r[12]=C,r[13]=A,r[14]=M,r[15]=1,r):new l(s,u,y,C,v,g,E,A,-h,-p,-d,M,0,0,0,1)},l.computePerspectiveFieldOfView=function(e,t,r,i,a){var o=Math.tan(.5*e),s=1/o,u=s/t,c=(i+r)/(r-i),f=2*i*r/(r-i);return n(a)?(a[0]=u,a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=s,a[6]=0,a[7]=0,a[8]=0,a[9]=0,a[10]=c,a[11]=-1,a[12]=0,a[13]=0,a[14]=f,a[15]=0,a):new l(u,0,0,0,0,s,0,0,0,0,c,f,0,0,-1,0)},l.computeOrthographicOffCenter=function(e,t,r,i,a,o,s){var u=1/(t-e),c=1/(i-r),f=1/(o-a),m=-(t+e)*u,y=-(i+r)*c,h=-(o+a)*f;return u*=2,c*=2,f*=-2,n(s)?(s[0]=u,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=c,s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=f,s[11]=0,s[12]=m,s[13]=y,s[14]=h,s[15]=1,s):new l(u,0,0,m,0,c,0,y,0,0,f,h,0,0,0,1)},l.computePerspectiveOffCenter=function(e,t,r,i,a,o,s){var u=2*a/(t-e),c=2*a/(i-r),f=(t+e)/(t-e),m=(i+r)/(i-r),y=-(o+a)/(o-a),h=-1,p=-2*o*a/(o-a);return n(s)?(s[0]=u,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=c,s[6]=0,s[7]=0,s[8]=f,s[9]=m,s[10]=y,s[11]=h,s[12]=0,s[13]=0,s[14]=p,s[15]=0,s):new l(u,0,f,0,0,c,m,0,0,0,y,p,0,0,h,0)},l.computeInfinitePerspectiveOffCenter=function(e,t,r,i,a,o){var s=2*a/(t-e),u=2*a/(i-r),c=(t+e)/(t-e),f=(i+r)/(i-r),m=-1,y=-1,h=-2*a;return n(o)?(o[0]=s,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=u,o[6]=0,o[7]=0,o[8]=c,o[9]=f,o[10]=m,o[11]=y,o[12]=0,o[13]=0,o[14]=h,o[15]=0,o):new l(s,0,c,0,0,u,f,0,0,0,m,h,0,0,y,0)},l.computeViewportTransformation=function(e,t,i,a){e=r(e,r.EMPTY_OBJECT);var o=r(e.x,0),s=r(e.y,0),u=r(e.width,0),c=r(e.height,0);t=r(t,0),i=r(i,1);var f=.5*u,m=.5*c,y=.5*(i-t),h=f,p=m,d=y,v=o+f,g=s+m,E=t+y,w=1;return n(a)?(a[0]=h,a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=p,a[6]=0,a[7]=0,a[8]=0,a[9]=0,a[10]=d,a[11]=0,a[12]=v,a[13]=g,a[14]=E,a[15]=w,a):new l(h,0,0,v,0,p,0,g,0,0,d,E,0,0,0,w)},l.toArray=function(e,t){return n(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]]},l.getElementIndex=function(e,t){return 4*e+t},l.getColumn=function(e,r,i){var a=4*r,o=e[a],s=e[a+1],u=e[a+2],l=e[a+3];return n(i)?(i.x=o,i.y=s,i.z=u,i.w=l,i):new t(o,s,u,l)},l.setColumn=function(e,t,r,n){n=l.clone(e,n);var i=4*t;return n[i]=r.x,n[i+1]=r.y,n[i+2]=r.z,n[i+3]=r.w,n},l.getRow=function(e,r,i){var a=e[r],o=e[r+4],s=e[r+8],u=e[r+12];return n(i)?(i.x=a,i.y=o,i.z=s,i.w=u,i):new t(a,o,s,u)},l.setRow=function(e,t,r,n){return n=l.clone(e,n),n[t]=r.x,n[t+4]=r.y,n[t+8]=r.z,n[t+12]=r.w,n},l.multiply=function(e,t,r){var i=e[0],a=e[1],o=e[2],s=e[3],u=e[4],c=e[5],f=e[6],m=e[7],y=e[8],h=e[9],p=e[10],d=e[11],v=e[12],g=e[13],E=e[14],w=e[15],S=t[0],x=t[1],C=t[2],A=t[3],M=t[4],b=t[5],T=t[6],O=t[7],I=t[8],N=t[9],z=t[10],R=t[11],L=t[12],F=t[13],P=t[14],D=t[15],B=i*S+u*x+y*C+v*A,_=a*S+c*x+h*C+g*A,U=o*S+f*x+p*C+E*A,G=s*S+m*x+d*C+w*A,q=i*M+u*b+y*T+v*O,W=a*M+c*b+h*T+g*O,Y=o*M+f*b+p*T+E*O,V=s*M+m*b+d*T+w*O,H=i*I+u*N+y*z+v*R,k=a*I+c*N+h*z+g*R,j=o*I+f*N+p*z+E*R,K=s*I+m*N+d*z+w*R,Z=i*L+u*F+y*P+v*D,Q=a*L+c*F+h*P+g*D,X=o*L+f*F+p*P+E*D,J=s*L+m*F+d*P+w*D;return n(r)?(r[0]=B,r[1]=_,r[2]=U,r[3]=G,r[4]=q,r[5]=W,r[6]=Y,r[7]=V,r[8]=H,r[9]=k,r[10]=j,r[11]=K,r[12]=Z,r[13]=Q,r[14]=X,r[15]=J,r):new l(B,q,H,Z,_,W,k,Q,U,Y,j,X,G,V,K,J)},l.multiplyTransformation=function(e,t,r){var i=e[0],a=e[1],o=e[2],s=e[4],u=e[5],c=e[6],f=e[8],m=e[9],y=e[10],h=e[12],p=e[13],d=e[14],v=t[0],g=t[1],E=t[2],w=t[4],S=t[5],x=t[6],C=t[8],A=t[9],M=t[10],b=t[12],T=t[13],O=t[14],I=i*v+s*g+f*E,N=a*v+u*g+m*E,z=o*v+c*g+y*E,R=i*w+s*S+f*x,L=a*w+u*S+m*x,F=o*w+c*S+y*x,P=i*C+s*A+f*M,D=a*C+u*A+m*M,B=o*C+c*A+y*M,_=i*b+s*T+f*O+h,U=a*b+u*T+m*O+p,G=o*b+c*T+y*O+d;return n(r)?(r[0]=I,r[1]=N,r[2]=z,r[3]=0,r[4]=R,r[5]=L,r[6]=F,r[7]=0,r[8]=P,r[9]=D,r[10]=B,r[11]=0,r[12]=_,r[13]=U,r[14]=G,r[15]=1,r):new l(I,R,P,_,N,L,D,U,z,F,B,G,0,0,0,1) +},l.multiplyByTranslation=function(e,t,r){var i=t.x,a=t.y,o=t.z,s=i*e[0]+a*e[4]+o*e[8]+e[12],u=i*e[1]+a*e[5]+o*e[9]+e[13],c=i*e[2]+a*e[6]+o*e[10]+e[14];return n(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r[9]=e[9],r[10]=e[10],r[11]=e[11],r[12]=s,r[13]=u,r[14]=c,r[15]=e[15],r):new l(e[0],e[4],e[8],s,e[1],e[5],e[9],u,e[2],e[6],e[10],c,e[3],e[7],e[11],e[15])};var y=new e;return l.multiplyByUniformScale=function(e,t,r){return y.x=t,y.y=t,y.z=t,l.multiplyByScale(e,y,r)},l.multiplyByScale=function(e,t,r){var i=t.x,a=t.y,o=t.z;return 1===i&&1===a&&1===o?l.clone(e,r):n(r)?(r[0]=i*e[0],r[1]=i*e[1],r[2]=i*e[2],r[3]=0,r[4]=a*e[4],r[5]=a*e[5],r[6]=a*e[6],r[7]=0,r[8]=o*e[8],r[9]=o*e[9],r[10]=o*e[10],r[11]=0,r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=1,r):new l(i*e[0],a*e[4],o*e[8],e[12],i*e[1],a*e[5],o*e[9],e[13],i*e[2],a*e[6],o*e[10],e[14],0,0,0,1)},l.multiplyByVector=function(e,r,i){var a=r.x,o=r.y,s=r.z,u=r.w,l=e[0]*a+e[4]*o+e[8]*s+e[12]*u,c=e[1]*a+e[5]*o+e[9]*s+e[13]*u,f=e[2]*a+e[6]*o+e[10]*s+e[14]*u,m=e[3]*a+e[7]*o+e[11]*s+e[15]*u;return n(i)?(i.x=l,i.y=c,i.z=f,i.w=m,i):new t(l,c,f,m)},l.multiplyByPointAsVector=function(t,r,i){var a=r.x,o=r.y,s=r.z,u=t[0]*a+t[4]*o+t[8]*s,l=t[1]*a+t[5]*o+t[9]*s,c=t[2]*a+t[6]*o+t[10]*s;return n(i)?(i.x=u,i.y=l,i.z=c,i):new e(u,l,c)},l.multiplyByPoint=function(t,r,i){var a=r.x,o=r.y,s=r.z,u=t[0]*a+t[4]*o+t[8]*s+t[12],l=t[1]*a+t[5]*o+t[9]*s+t[13],c=t[2]*a+t[6]*o+t[10]*s+t[14];return n(i)?(i.x=u,i.y=l,i.z=c,i):new e(u,l,c)},l.multiplyByScalar=function(e,t,r){return n(r)?(r[0]=e[0]*t,r[1]=e[1]*t,r[2]=e[2]*t,r[3]=e[3]*t,r[4]=e[4]*t,r[5]=e[5]*t,r[6]=e[6]*t,r[7]=e[7]*t,r[8]=e[8]*t,r[9]=e[9]*t,r[10]=e[10]*t,r[11]=e[11]*t,r[12]=e[12]*t,r[13]=e[13]*t,r[14]=e[14]*t,r[15]=e[15]*t,r):new l(e[0]*t,e[4]*t,e[8]*t,e[12]*t,e[1]*t,e[5]*t,e[9]*t,e[13]*t,e[2]*t,e[6]*t,e[10]*t,e[14]*t,e[3]*t,e[7]*t,e[11]*t,e[15]*t)},l.negate=function(e,t){return n(t)?(t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t[4]=-e[4],t[5]=-e[5],t[6]=-e[6],t[7]=-e[7],t[8]=-e[8],t[9]=-e[9],t[10]=-e[10],t[11]=-e[11],t[12]=-e[12],t[13]=-e[13],t[14]=-e[14],t[15]=-e[15],t):new l(-e[0],-e[4],-e[8],-e[12],-e[1],-e[5],-e[9],-e[13],-e[2],-e[6],-e[10],-e[14],-e[3],-e[7],-e[11],-e[15])},l.transpose=function(e,t){if(!n(t))return new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]);var r=e[1],i=e[2],a=e[3],o=e[6],s=e[7],u=e[11];return t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=r,t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=i,t[9]=o,t[10]=e[10],t[11]=e[14],t[12]=a,t[13]=s,t[14]=u,t[15]=e[15],t},l.abs=function(e,t){return n(t)?(t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t[3]=Math.abs(e[3]),t[4]=Math.abs(e[4]),t[5]=Math.abs(e[5]),t[6]=Math.abs(e[6]),t[7]=Math.abs(e[7]),t[8]=Math.abs(e[8]),t[9]=Math.abs(e[9]),t[10]=Math.abs(e[10]),t[11]=Math.abs(e[11]),t[12]=Math.abs(e[12]),t[13]=Math.abs(e[13]),t[14]=Math.abs(e[14]),t[15]=Math.abs(e[15]),t):new l(Math.abs(e[0]),Math.abs(e[4]),Math.abs(e[8]),Math.abs(e[12]),Math.abs(e[1]),Math.abs(e[5]),Math.abs(e[9]),Math.abs(e[13]),Math.abs(e[2]),Math.abs(e[6]),Math.abs(e[10]),Math.abs(e[14]),Math.abs(e[3]),Math.abs(e[7]),Math.abs(e[11]),Math.abs(e[15]))},l.equals=function(e,t){return e===t||n(e)&&n(t)&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15]},l.equalsEpsilon=function(e,t,r){return e===t||n(e)&&n(t)&&Math.abs(e[0]-t[0])<=r&&Math.abs(e[1]-t[1])<=r&&Math.abs(e[2]-t[2])<=r&&Math.abs(e[3]-t[3])<=r&&Math.abs(e[4]-t[4])<=r&&Math.abs(e[5]-t[5])<=r&&Math.abs(e[6]-t[6])<=r&&Math.abs(e[7]-t[7])<=r&&Math.abs(e[8]-t[8])<=r&&Math.abs(e[9]-t[9])<=r&&Math.abs(e[10]-t[10])<=r&&Math.abs(e[11]-t[11])<=r&&Math.abs(e[12]-t[12])<=r&&Math.abs(e[13]-t[13])<=r&&Math.abs(e[14]-t[14])<=r&&Math.abs(e[15]-t[15])<=r},l.getTranslation=function(t,r){return n(r)?(r.x=t[12],r.y=t[13],r.z=t[14],r):new e(t[12],t[13],t[14])},l.getRotation=function(e,t){return n(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[4],t[4]=e[5],t[5]=e[6],t[6]=e[8],t[7]=e[9],t[8]=e[10],t):new s(e[0],e[4],e[8],e[1],e[5],e[9],e[2],e[6],e[10])},l.inverse=function(e,t){var r=e[0],i=e[4],a=e[8],s=e[12],c=e[1],f=e[5],m=e[9],y=e[13],h=e[2],p=e[6],d=e[10],v=e[14],g=e[3],E=e[7],w=e[11],S=e[15],x=d*S,C=v*w,A=p*S,M=v*E,b=p*w,T=d*E,O=h*S,I=v*g,N=h*w,z=d*g,R=h*E,L=p*g,F=x*f+M*m+b*y-(C*f+A*m+T*y),P=C*c+O*m+z*y-(x*c+I*m+N*y),D=A*c+I*f+R*y-(M*c+O*f+L*y),B=T*c+N*f+L*m-(b*c+z*f+R*m),_=C*i+A*a+T*s-(x*i+M*a+b*s),U=x*r+I*a+N*s-(C*r+O*a+z*s),G=M*r+O*i+L*s-(A*r+I*i+R*s),q=b*r+z*i+R*a-(T*r+N*i+L*a);x=a*y,C=s*m,A=i*y,M=s*f,b=i*m,T=a*f,O=r*y,I=s*c,N=r*m,z=a*c,R=r*f,L=i*c;var W=x*E+M*w+b*S-(C*E+A*w+T*S),Y=C*g+O*w+z*S-(x*g+I*w+N*S),V=A*g+I*E+R*S-(M*g+O*E+L*S),H=T*g+N*E+L*w-(b*g+z*E+R*w),k=A*d+T*v+C*p-(b*v+x*p+M*d),j=N*v+x*h+I*d-(O*d+z*v+C*h),K=O*p+L*v+M*h-(R*v+A*h+I*p),Z=R*d+b*h+z*p-(N*p+L*d+T*h),Q=r*F+i*P+a*D+s*B;if(Math.abs(Q)M;M++){e.clone(t[M],i);var b=i.x,T=i.y,O=i.z;bu.x&&e.clone(i,u),Tl.y&&e.clone(i,l),OC.z&&e.clone(i,C)}var I=e.magnitudeSquared(e.subtract(u,a,g)),N=e.magnitudeSquared(e.subtract(l,o,g)),z=e.magnitudeSquared(e.subtract(C,s,g)),R=a,L=u,F=I;N>F&&(F=N,R=o,L=l),z>F&&(F=z,R=s,L=C);var P=E;P.x=.5*(R.x+L.x),P.y=.5*(R.y+L.y),P.z=.5*(R.z+L.z);var D=e.magnitudeSquared(e.subtract(L,P,g)),B=Math.sqrt(D),_=w;_.x=a.x,_.y=o.y,_.z=s.z;var U=S;U.x=u.x,U.y=l.y,U.z=C.z;var G=e.multiplyByScalar(e.add(_,U,g),.5,x),q=0;for(M=0;A>M;M++){e.clone(t[M],i);var W=e.magnitude(e.subtract(i,G,g));W>q&&(q=W);var Y=e.magnitudeSquared(e.subtract(i,P,g));if(Y>D){var V=Math.sqrt(Y);B=.5*(B+V),D=B*B;var H=V-B;P.x=(B*P.x+H*i.x)/V,P.y=(B*P.y+H*i.y)/V,P.z=(B*P.z+H*i.z)/V}}return q>B?(e.clone(P,r.center),r.radius=B):(e.clone(G,r.center),r.radius=q),r};var C=new o,A=new e,M=new e,b=new t,T=new t;c.fromExtent2D=function(e,t,r){return c.fromExtentWithHeights2D(e,t,0,0,r)},c.fromExtentWithHeights2D=function(t,i,a,o,s){if(n(s)||(s=new c),!n(t))return s.center=e.clone(e.ZERO,s.center),s.radius=0,s;i=r(i,C),t.getSouthwest(b),b.height=a,t.getNortheast(T),T.height=o;var u=i.project(b,A),l=i.project(T,M),f=l.x-u.x,m=l.y-u.y,y=l.z-u.z;s.radius=.5*Math.sqrt(f*f+m*m+y*y);var h=s.center;return h.x=u.x+.5*f,h.y=u.y+.5*m,h.z=u.z+.5*y,s};var O=[];c.fromExtent3D=function(e,t,i,o){t=r(t,a.WGS84),i=r(i,0);var s;return n(e)&&(s=e.subsample(t,i,O)),c.fromPoints(s,o)},c.fromVertices=function(t,i,a,o){if(n(o)||(o=new c),!n(t)||0===t.length)return o.center=e.clone(e.ZERO,o.center),o.radius=0,o;i=r(i,e.ZERO),a=r(a,3);var s=v;s.x=t[0]+i.x,s.y=t[1]+i.y,s.z=t[2]+i.z;for(var u=e.clone(s,f),l=e.clone(s,m),C=e.clone(s,y),A=e.clone(s,h),M=e.clone(s,p),b=e.clone(s,d),T=t.length,O=0;T>O;O+=a){var I=t[O]+i.x,N=t[O+1]+i.y,z=t[O+2]+i.z;s.x=I,s.y=N,s.z=z,IA.x&&e.clone(s,A),NM.y&&e.clone(s,M),zb.z&&e.clone(s,b)}var R=e.magnitudeSquared(e.subtract(A,u,g)),L=e.magnitudeSquared(e.subtract(M,l,g)),F=e.magnitudeSquared(e.subtract(b,C,g)),P=u,D=A,B=R;L>B&&(B=L,P=l,D=M),F>B&&(B=F,P=C,D=b);var _=E;_.x=.5*(P.x+D.x),_.y=.5*(P.y+D.y),_.z=.5*(P.z+D.z);var U=e.magnitudeSquared(e.subtract(D,_,g)),G=Math.sqrt(U),q=w;q.x=u.x,q.y=l.y,q.z=C.z;var W=S;W.x=A.x,W.y=M.y,W.z=b.z;var Y=e.multiplyByScalar(e.add(q,W,g),.5,x),V=0;for(O=0;T>O;O+=a){s.x=t[O]+i.x,s.y=t[O+1]+i.y,s.z=t[O+2]+i.z;var H=e.magnitude(e.subtract(s,Y,g));H>V&&(V=H);var k=e.magnitudeSquared(e.subtract(s,_,g));if(k>U){var j=Math.sqrt(k);G=.5*(G+j),U=G*G;var K=j-G;_.x=(G*_.x+K*s.x)/j,_.y=(G*_.y+K*s.y)/j,_.z=(G*_.z+K*s.z)/j}}return V>G?(e.clone(_,o.center),o.radius=G):(e.clone(Y,o.center),o.radius=V),o},c.fromCornerPoints=function(t,r,i){n(i)||(i=new c);var a=i.center;return e.add(t,r,a),e.multiplyByScalar(a,.5,a),i.radius=e.distance(a,r),i},c.fromEllipsoid=function(t,r){return n(r)||(r=new c),e.clone(e.ZERO,r.center),r.radius=t.maximumRadius,r},c.clone=function(t,r){return n(t)?n(r)?(r.center=e.clone(t.center,r.center),r.radius=t.radius,r):new c(t.center,t.radius):void 0};var I=new e,N=new e;c.union=function(t,r,i){n(i)||(i=new c);var a=t.center,o=r.center;e.add(a,o,N);var s=e.multiplyByScalar(N,.5,N),u=e.magnitude(e.subtract(a,s,I))+t.radius,l=e.magnitude(e.subtract(o,s,I))+r.radius;return i.radius=Math.max(u,l),e.clone(s,i.center),i};var z=new e;c.expand=function(t,r,n){n=c.clone(t,n);var i=e.magnitude(e.subtract(r,n.center,z));return i>n.radius&&(n.radius=i),n},c.intersect=function(t,r){var n=t.center,i=t.radius,a=e.dot(r,n)+r.w;return-i>a?s.OUTSIDE:i>a?s.INTERSECTING:s.INSIDE};var R=new e;c.transform=function(t,r,i){return n(i)||(i=new c),i.center=l.multiplyByPoint(r,t.center,i.center),i.radius=Math.max(e.magnitude(l.getColumn(r,0,R)),e.magnitude(l.getColumn(r,1,R)),e.magnitude(l.getColumn(r,2,R)))*t.radius,i},c.transformWithoutScale=function(e,t,r){return n(r)||(r=new c),r.center=l.multiplyByPoint(t,e.center,r.center),r.radius=e.radius,r};var L=new e;c.getPlaneDistances=function(t,r,i,a){n(a)||(a=new u);var o=e.subtract(t.center,r,L),s=e.multiplyByScalar(i,e.dot(i,o),L),l=e.magnitude(s);return a.start=l-t.radius,a.stop=l+t.radius,a};for(var F=new e,P=new e,D=new e,B=new e,_=new e,U=new t,G=new Array(8),q=0;8>q;++q)G[q]=new e;var W=new o;return c.projectTo2D=function(t,n,i){n=r(n,W);var a=n.ellipsoid,o=t.center,s=t.radius,u=a.geodeticSurfaceNormal(o,F),l=e.cross(e.UNIT_Z,u,P);e.normalize(l,l);var f=e.cross(u,l,D);e.normalize(f,f),e.multiplyByScalar(u,s,u),e.multiplyByScalar(f,s,f),e.multiplyByScalar(l,s,l);var m=e.negate(f,_),y=e.negate(l,B),h=G,p=h[0];e.add(u,f,p),e.add(p,l,p),p=h[1],e.add(u,f,p),e.add(p,y,p),p=h[2],e.add(u,m,p),e.add(p,y,p),p=h[3],e.add(u,m,p),e.add(p,l,p),e.negate(u,u),p=h[4],e.add(u,f,p),e.add(p,l,p),p=h[5],e.add(u,f,p),e.add(p,y,p),p=h[6],e.add(u,m,p),e.add(p,y,p),p=h[7],e.add(u,m,p),e.add(p,l,p);for(var d=h.length,v=0;d>v;++v){var g=h[v];e.add(o,g,g);var E=a.cartesianToCartographic(g,U);n.project(E,g)}i=c.fromPoints(h,i),o=i.center;var w=o.x,S=o.y,x=o.z;return o.x=x,o.y=w,o.z=S,i},c.equals=function(t,r){return t===r||n(t)&&n(r)&&e.equals(t.center,r.center)&&t.radius===r.radius},c.prototype.clone=function(e){return c.clone(this,e)},c.prototype.union=function(e,t){return c.union(this,e,t)},c.prototype.expand=function(e,t){return c.expand(this,e,t)},c.prototype.intersect=function(e){return c.intersect(this,e)},c.prototype.getPlaneDistances=function(e,t,r){return c.getPlaneDistances(this,e,t,r)},c.prototype.projectTo2D=function(e,t){return c.projectTo2D(this,e,t)},c.prototype.equals=function(e){return c.equals(this,e)},c}),define("Core/Cartesian2",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,t,r,n){"use strict";var i=function(t,r){this.x=e(t,0),this.y=e(r,0)};i.fromElements=function(e,r,n){return t(n)?(n.x=e,n.y=r,n):new i(e,r)},i.clone=function(e,r){return t(e)?t(r)?(r.x=e.x,r.y=e.y,r):new i(e.x,e.y):void 0},i.fromCartesian3=i.clone,i.fromCartesian4=i.clone,i.packedLength=2,i.pack=function(t,r,n){n=e(n,0),r[n++]=t.x,r[n]=t.y},i.unpack=function(r,n,a){return n=e(n,0),t(a)||(a=new i),a.x=r[n++],a.y=r[n],a},i.fromArray=i.unpack,i.getMaximumComponent=function(e){return Math.max(e.x,e.y)},i.getMinimumComponent=function(e){return Math.min(e.x,e.y)},i.getMinimumByComponent=function(e,r,n){return t(n)||(n=new i),n.x=Math.min(e.x,r.x),n.y=Math.min(e.y,r.y),n},i.getMaximumByComponent=function(e,r,n){return t(n)||(n=new i),n.x=Math.max(e.x,r.x),n.y=Math.max(e.y,r.y),n},i.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y},i.magnitude=function(e){return Math.sqrt(i.magnitudeSquared(e))};var a=new i;i.distance=function(e,t){return i.subtract(e,t,a),i.magnitude(a)},i.normalize=function(e,r){var n=i.magnitude(e);return t(r)?(r.x=e.x/n,r.y=e.y/n,r):new i(e.x/n,e.y/n)},i.dot=function(e,t){return e.x*t.x+e.y*t.y},i.multiplyComponents=function(e,r,n){return t(n)?(n.x=e.x*r.x,n.y=e.y*r.y,n):new i(e.x*r.x,e.y*r.y)},i.add=function(e,r,n){return t(n)?(n.x=e.x+r.x,n.y=e.y+r.y,n):new i(e.x+r.x,e.y+r.y)},i.subtract=function(e,r,n){return t(n)?(n.x=e.x-r.x,n.y=e.y-r.y,n):new i(e.x-r.x,e.y-r.y)},i.multiplyByScalar=function(e,r,n){return t(n)?(n.x=e.x*r,n.y=e.y*r,n):new i(e.x*r,e.y*r)},i.divideByScalar=function(e,r,n){return t(n)?(n.x=e.x/r,n.y=e.y/r,n):new i(e.x/r,e.y/r)},i.negate=function(e,r){return t(r)?(r.x=-e.x,r.y=-e.y,r):new i(-e.x,-e.y)},i.abs=function(e,r){return t(r)?(r.x=Math.abs(e.x),r.y=Math.abs(e.y),r):new i(Math.abs(e.x),Math.abs(e.y))};var o=new i;i.lerp=function(e,t,r,n){return i.multiplyByScalar(t,r,o),n=i.multiplyByScalar(e,1-r,n),i.add(o,n,n)};var s=new i,u=new i;i.angleBetween=function(e,t){return i.normalize(e,s),i.normalize(t,u),Math.acos(i.dot(s,u))};var l=new i;return i.mostOrthogonalAxis=function(e,t){var r=i.normalize(e,l);return i.abs(r,r),t=r.x<=r.y?i.clone(i.UNIT_X,t):i.clone(i.UNIT_Y,t)},i.equals=function(e,r){return e===r||t(e)&&t(r)&&e.x===r.x&&e.y===r.y},i.equalsEpsilon=function(e,r,n){return e===r||t(e)&&t(r)&&Math.abs(e.x-r.x)<=n&&Math.abs(e.y-r.y)<=n},i.ZERO=n(new i(0,0)),i.UNIT_X=n(new i(1,0)),i.UNIT_Y=n(new i(0,1)),i.prototype.clone=function(e){return i.clone(this,e)},i.prototype.equals=function(e){return i.equals(this,e)},i.prototype.equalsEpsilon=function(e,t){return i.equalsEpsilon(this,e,t)},i.prototype.toString=function(){return"("+this.x+", "+this.y+")"},i}),define("Core/Fullscreen",["./defined"],function(e){"use strict";var t,r={requestFullscreen:void 0,exitFullscreen:void 0,fullscreenEnabled:void 0,fullscreenElement:void 0,fullscreenchange:void 0,fullscreenerror:void 0},n={};return n.supportsFullscreen=function(){if(e(t))return t;t=!1;var n=document.body;if("function"==typeof n.requestFullscreen)return r.requestFullscreen="requestFullscreen",r.exitFullscreen="exitFullscreen",r.fullscreenEnabled="fullscreenEnabled",r.fullscreenElement="fullscreenElement",r.fullscreenchange="fullscreenchange",r.fullscreenerror="fullscreenerror",t=!0;for(var i,a=["webkit","moz","o","ms","khtml"],o=0,s=a.length;s>o;++o){var u=a[o];i=u+"RequestFullscreen","function"==typeof n[i]?(r.requestFullscreen=i,t=!0):(i=u+"RequestFullScreen","function"==typeof n[i]&&(r.requestFullscreen=i,t=!0)),i=u+"ExitFullscreen","function"==typeof document[i]?r.exitFullscreen=i:(i=u+"CancelFullScreen","function"==typeof document[i]&&(r.exitFullscreen=i)),i=u+"FullscreenEnabled",e(document[i])?r.fullscreenEnabled=i:(i=u+"FullScreenEnabled",e(document[i])&&(r.fullscreenEnabled=i)),i=u+"FullscreenElement",e(document[i])?r.fullscreenElement=i:(i=u+"FullScreenElement",e(document[i])&&(r.fullscreenElement=i)),i=u+"fullscreenchange",e(document["on"+i])&&("ms"===u&&(i="MSFullscreenChange"),r.fullscreenchange=i),i=u+"fullscreenerror",e(document["on"+i])&&("ms"===u&&(i="MSFullscreenError"),r.fullscreenerror=i)}return t},n.requestFullscreen=function(e){n.supportsFullscreen()&&e[r.requestFullscreen]()},n.exitFullscreen=function(){n.supportsFullscreen()&&document[r.exitFullscreen]()},n.isFullscreenEnabled=function(){return n.supportsFullscreen()?document[r.fullscreenEnabled]:void 0},n.getFullscreenElement=function(){return n.supportsFullscreen()?document[r.fullscreenElement]:void 0},n.isFullscreen=function(){return n.supportsFullscreen()?null!==n.getFullscreenElement():void 0},n.getFullscreenChangeEventName=function(){return n.supportsFullscreen()?r.fullscreenchange:void 0},n.getFullscreenErrorEventName=function(){return n.supportsFullscreen()?r.fullscreenerror:void 0},n}),define("Core/FeatureDetection",["./defined","./Fullscreen"],function(e,t){"use strict";function r(e){for(var t=e.split("."),r=0,n=t.length;n>r;++r)t[r]=parseInt(t[r],10);return t}function n(){if(!e(f)){var t=/ Chrome\/([\.0-9]+)/.exec(navigator.userAgent);null===t?f=!1:(f=!0,m=r(t[1]))}return f}function i(){return n()&&m}function a(){if(!e(y))if(n()||!/ Safari\/[\.0-9]+/.test(navigator.userAgent))y=!1;else{var t=/ Version\/([\.0-9]+)/.exec(navigator.userAgent);null===t?y=!1:(y=!0,h=r(t[1]))}return y}function o(){return a()&&h}function s(){if(!e(p)){var t=/ AppleWebKit\/([\.0-9]+)(\+?)/.exec(navigator.userAgent);null===t?p=!1:(p=!0,d=r(t[1]),d.isNightly=!!t[2])}return p}function u(){return s()&&d}function l(){if(!e(v)){var t;"Microsoft Internet Explorer"===navigator.appName?(t=/MSIE ([0-9]{1,}[\.0-9]{0,})/.exec(navigator.userAgent),null!==t&&(v=!0,g=r(t[1]))):"Netscape"===navigator.appName?(t=/Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/.exec(navigator.userAgent),null!==t&&(v=!0,g=r(t[1]))):v=!1}return v}function c(){return l()&&g}var f,m,y,h,p,d,v,g,E={isChrome:n,chromeVersion:i,isSafari:a,safariVersion:o,isWebkit:s,webkitVersion:u,isInternetExplorer:l,internetExplorerVersion:c};E.supportsFullscreen=function(){return t.supportsFullscreen()},E.supportsTypedArrays=function(){return"undefined"!=typeof ArrayBuffer};var w;return E.supportsTransferringArrayBuffers=function(){if(!e(w)){if(!E.supportsTypedArrays())return w=!1,void 0;var t=new ArrayBuffer(1);try{postMessage({value:t},[t]),w=!0}catch(r){w=!1}}return w},E}),define("Core/ComponentDatatype",["./defaultValue","./defined","./DeveloperError","./FeatureDetection","./Enumeration"],function(e,t,r,n,i){"use strict";if(!n.supportsTypedArrays())return{};var a={BYTE:new i(5120,"BYTE",{sizeInBytes:Int8Array.BYTES_PER_ELEMENT}),UNSIGNED_BYTE:new i(5121,"UNSIGNED_BYTE",{sizeInBytes:Uint8Array.BYTES_PER_ELEMENT}),SHORT:new i(5122,"SHORT",{sizeInBytes:Int16Array.BYTES_PER_ELEMENT}),UNSIGNED_SHORT:new i(5123,"UNSIGNED_SHORT",{sizeInBytes:Uint16Array.BYTES_PER_ELEMENT}),FLOAT:new i(5126,"FLOAT",{sizeInBytes:Float32Array.BYTES_PER_ELEMENT}),DOUBLE:new i(5130,"DOUBLE",{sizeInBytes:Float64Array.BYTES_PER_ELEMENT})};return a.validate=function(e){return t(e)&&t(e.value)&&(e.value===a.BYTE.value||e.value===a.UNSIGNED_BYTE.value||e.value===a.SHORT.value||e.value===a.UNSIGNED_SHORT.value||e.value===a.FLOAT.value||e.value===a.DOUBLE.value)},a.createTypedArray=function(e,t){switch(e.value){case a.BYTE.value:return new Int8Array(t);case a.UNSIGNED_BYTE.value:return new Uint8Array(t);case a.SHORT.value:return new Int16Array(t);case a.UNSIGNED_SHORT.value:return new Uint16Array(t);case a.FLOAT.value:return new Float32Array(t);case a.DOUBLE.value:return new Float64Array(t);default:throw new r("componentDatatype is not a valid enumeration value.")}},a.createArrayBufferView=function(t,n,i,o){switch(i=e(i,0),o=e(o,(n.byteLength-i)/t.sizeInBytes),t.value){case a.BYTE.value:return new Int8Array(n,i,o);case a.UNSIGNED_BYTE.value:return new Uint8Array(n,i,o);case a.SHORT.value:return new Int16Array(n,i,o);case a.UNSIGNED_SHORT.value:return new Uint16Array(n,i,o);case a.FLOAT.value:return new Float32Array(n,i,o);case a.DOUBLE.value:return new Float64Array(n,i,o);default:throw new r("componentDatatype is not a valid enumeration value.")}},a}),define("Core/IndexDatatype",["./defined","./DeveloperError","./Math"],function(e,t,r){"use strict";var n={UNSIGNED_BYTE:5121,UNSIGNED_SHORT:5123,UNSIGNED_INT:5125};return n.getSizeInBytes=function(e){switch(e){case n.UNSIGNED_BYTE:return Uint8Array.BYTES_PER_ELEMENT;case n.UNSIGNED_SHORT:return Uint16Array.BYTES_PER_ELEMENT;case n.UNSIGNED_INT:return Uint32Array.BYTES_PER_ELEMENT}},n.validate=function(t){return e(t)&&(t===n.UNSIGNED_BYTE||t===n.UNSIGNED_SHORT||t===n.UNSIGNED_INT)},n.createTypedArray=function(e,t){return e>r.SIXTY_FOUR_KILOBYTES?new Uint32Array(t):new Uint16Array(t)},n}),define("Core/Quaternion",["./Cartesian3","./defaultValue","./defined","./DeveloperError","./FeatureDetection","./freezeObject","./Math","./Matrix3"],function(e,t,r,n,i,a,o,s){"use strict";var u,l=function(e,r,n,i){this.x=t(e,0),this.y=t(r,0),this.z=t(n,0),this.w=t(i,0)};l.fromAxisAngle=function(t,n,i){var a=n/2,o=Math.sin(a);u=e.normalize(t,u);var s=u.x*o,c=u.y*o,f=u.z*o,m=Math.cos(a);return r(i)?(i.x=s,i.y=c,i.z=f,i.w=m,i):new l(s,c,f,m)};var c=[1,2,0],f=new Array(3);l.fromRotationMatrix=function(e,t){var n,i,a,o,u,m=e[s.COLUMN0ROW0],y=e[s.COLUMN1ROW1],h=e[s.COLUMN2ROW2],p=m+y+h;if(p>0)n=Math.sqrt(p+1),u=.5*n,n=.5/n,i=(e[s.COLUMN1ROW2]-e[s.COLUMN2ROW1])*n,a=(e[s.COLUMN2ROW0]-e[s.COLUMN0ROW2])*n,o=(e[s.COLUMN0ROW1]-e[s.COLUMN1ROW0])*n;else{var d=c,v=0;y>m&&(v=1),h>m&&h>y&&(v=2);var g=d[v],E=d[g];n=Math.sqrt(e[s.getElementIndex(v,v)]-e[s.getElementIndex(g,g)]-e[s.getElementIndex(E,E)]+1);var w=f;w[v]=.5*n,n=.5/n,u=(e[s.getElementIndex(E,g)]-e[s.getElementIndex(g,E)])*n,w[g]=(e[s.getElementIndex(g,v)]+e[s.getElementIndex(v,g)])*n,w[E]=(e[s.getElementIndex(E,v)]+e[s.getElementIndex(v,E)])*n,i=-w[0],a=-w[1],o=-w[2]}return r(t)?(t.x=i,t.y=a,t.z=o,t.w=u,t):new l(i,a,o,u)};var m=new e,y=new e,h=new l,p=new l,d=new l;l.packedLength=4,l.pack=function(e,r,n){n=t(n,0),r[n++]=e.x,r[n++]=e.y,r[n++]=e.z,r[n]=e.w},l.unpack=function(e,n,i){return n=t(n,0),r(i)||(i=new l),i.x=e[n],i.y=e[n+1],i.z=e[n+2],i.w=e[n+3],i},l.packedInterpolationLength=3,l.convertPackedArrayForInterpolation=function(e,t,r,n){l.unpack(e,4*r,d),l.conjugate(d,d);for(var i=0,a=r-t+1;a>i;i++){var o=3*i;l.unpack(e,4*(t+i),h),l.multiply(h,d,h),h.w<0&&l.negate(h,h),l.getAxis(h,m);var s=l.getAngle(h);n[o]=m.x*s,n[o+1]=m.y*s,n[o+2]=m.z*s}},l.unpackInterpolationResult=function(t,n,i,a,o){r(o)||(o=new l),e.fromArray(t,0,y);var s=e.magnitude(y);return l.unpack(n,4*a,p),0===s?l.clone(l.IDENTITY,h):l.fromAxisAngle(y,s,h),l.multiply(h,p,o)},l.clone=function(e,t){return r(e)?r(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t):new l(e.x,e.y,e.z,e.w):void 0},l.conjugate=function(e,t){return r(t)?(t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=e.w,t):new l(-e.x,-e.y,-e.z,e.w)},l.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w},l.magnitude=function(e){return Math.sqrt(l.magnitudeSquared(e))},l.normalize=function(e,t){var n=1/l.magnitude(e),i=e.x*n,a=e.y*n,o=e.z*n,s=e.w*n;return r(t)?(t.x=i,t.y=a,t.z=o,t.w=s,t):new l(i,a,o,s)},l.inverse=function(e,t){var r=l.magnitudeSquared(e);return t=l.conjugate(e,t),l.multiplyByScalar(t,1/r,t)},l.add=function(e,t,n){return r(n)?(n.x=e.x+t.x,n.y=e.y+t.y,n.z=e.z+t.z,n.w=e.w+t.w,n):new l(e.x+t.x,e.y+t.y,e.z+t.z,e.w+t.w)},l.subtract=function(e,t,n){return r(n)?(n.x=e.x-t.x,n.y=e.y-t.y,n.z=e.z-t.z,n.w=e.w-t.w,n):new l(e.x-t.x,e.y-t.y,e.z-t.z,e.w-t.w)},l.negate=function(e,t){return r(t)?(t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=-e.w,t):new l(-e.x,-e.y,-e.z,-e.w)},l.dot=function(e,t){return e.x*t.x+e.y*t.y+e.z*t.z+e.w*t.w},l.multiply=function(e,t,n){var i=e.x,a=e.y,o=e.z,s=e.w,u=t.x,c=t.y,f=t.z,m=t.w,y=s*u+i*m+a*f-o*c,h=s*c-i*f+a*m+o*u,p=s*f+i*c-a*u+o*m,d=s*m-i*u-a*c-o*f;return r(n)?(n.x=y,n.y=h,n.z=p,n.w=d,n):new l(y,h,p,d)},l.multiplyByScalar=function(e,t,n){return r(n)?(n.x=e.x*t,n.y=e.y*t,n.z=e.z*t,n.w=e.w*t,n):new l(e.x*t,e.y*t,e.z*t,e.w*t)},l.divideByScalar=function(e,t,n){return r(n)?(n.x=e.x/t,n.y=e.y/t,n.z=e.z/t,n.w=e.w/t,n):new l(e.x/t,e.y/t,e.z/t,e.w/t)},l.getAxis=function(t,n){var i=t.w;if(Math.abs(i-1)i&&(i=-i,a=g=l.negate(t,g)),1-iz;++z){var R=z+1,L=2*R+1;T[z]=1/(R*L),O[z]=R/L}return T[7]=b/136,O[7]=8*b/17,l.fastSlerp=function(e,t,n,i){r(i)||(i=new l);var a,o=l.dot(e,t);o>=0?a=1:(a=-1,o=-o);for(var s=o-1,u=1-n,c=n*n,f=u*u,m=7;m>=0;--m)I[m]=(T[m]*c-O[m])*s,N[m]=(T[m]*f-O[m])*s;var y=a*n*(1+I[0]*(1+I[1]*(1+I[2]*(1+I[3]*(1+I[4]*(1+I[5]*(1+I[6]*(1+I[7])))))))),h=u*(1+N[0]*(1+N[1]*(1+N[2]*(1+N[3]*(1+N[4]*(1+N[5]*(1+N[6]*(1+N[7])))))))),p=l.multiplyByScalar(e,h,M);return l.multiplyByScalar(t,y,i),l.add(p,i,i)},l.fastSquad=function(e,t,r,n,i,a){var o=l.fastSlerp(e,t,i,C),s=l.fastSlerp(r,n,i,A);return l.fastSlerp(o,s,2*i*(1-i),a)},l.equals=function(e,t){return e===t||r(e)&&r(t)&&e.x===t.x&&e.y===t.y&&e.z===t.z&&e.w===t.w},l.equalsEpsilon=function(e,t,n){return e===t||r(e)&&r(t)&&Math.abs(e.x-t.x)<=n&&Math.abs(e.y-t.y)<=n&&Math.abs(e.z-t.z)<=n&&Math.abs(e.w-t.w)<=n},l.ZERO=a(new l(0,0,0,0)),l.IDENTITY=a(new l(0,0,0,1)),l.prototype.clone=function(e){return l.clone(this,e)},l.prototype.equals=function(e){return l.equals(this,e)},l.prototype.equalsEpsilon=function(e,t){return l.equalsEpsilon(this,e,t)},l.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+", "+this.w+")"},l}),define("Core/EllipseGeometryLibrary",["./Cartesian3","./Math","./Matrix3","./Quaternion"],function(e,t,r,n){"use strict";function i(t,i,a,c,f,m,y,h,p,d){var v=t+i;e.multiplyByScalar(c,Math.cos(v),o),e.multiplyByScalar(a,Math.sin(v),s),e.add(o,s,o);var g=Math.cos(t);g*=g;var E=Math.sin(t);E*=E;var w=m/Math.sqrt(y*g+f*E),S=w/h;return n.fromAxisAngle(o,S,u),r.fromQuaternion(u,l),r.multiplyByVector(l,p,d),e.normalize(d,d),e.multiplyByScalar(d,h,d),d}var a={},o=new e,s=new e,u=new n,l=new r,c=new e,f=new e,m=new e,y=new e;a.raisePositionsToHeight=function(t,r,n){for(var i=r.ellipsoid,a=r.height,o=r.extrudedHeight,s=n?2*(t.length/3):t.length/3,u=new Float64Array(3*s),l=y,h=t.length,p=n?h:0,d=0;h>d;d+=3){var v,g=d+1,E=d+2,w=e.fromArray(t,d,c);w=i.scaleToGeodeticSurface(w,w),v=e.clone(w,f),l=i.geodeticSurfaceNormal(w,l);var S=e.multiplyByScalar(l,a,m);w=e.add(w,S,w),n&&(S=e.multiplyByScalar(l,o,S),v=e.add(v,S,v),u[d+p]=v.x,u[g+p]=v.y,u[E+p]=v.z),u[d]=w.x,u[g]=w.y,u[E]=w.z}return u};var h=new e,p=new e,d=new e;return a.computeEllipsePositions=function(r,n,a){var o=r.semiMinorAxis,s=r.semiMajorAxis,u=r.rotation,l=r.center,y=r.granularity,v=2.31,g=o*o,E=s*s,w=s*o,S=e.magnitude(l),x=e.normalize(l,h),C=e.cross(e.UNIT_Z,l,p);C=e.normalize(C,C);var A,M,b,T,O,I=e.cross(x,C,d),N=1+Math.ceil(t.PI_OVER_TWO/y),z=v/(N-1),R=2*N*(N+1),L=n?new Array(3*R):void 0,F=0,P=c,D=f,B=a?[]:void 0,_=a?[]:void 0,U=t.PI_OVER_TWO;for(A=0;N>A&&U>0;++A){if(P=i(U,u,I,C,g,w,E,S,x,P),D=i(Math.PI-U,u,I,C,g,w,E,S,x,D),n){for(L[F++]=P.x,L[F++]=P.y,L[F++]=P.z,b=2*A+2,M=1;b-1>M;++M)T=M/(b-1),O=e.lerp(P,D,T,m),L[F++]=O.x,L[F++]=O.y,L[F++]=O.z;L[F++]=D.x,L[F++]=D.y,L[F++]=D.z}a&&(_.unshift(P.x,P.y,P.z),0!==A&&B.push(D.x,D.y,D.z)),U=t.PI_OVER_TWO-(A+1)*z}for(N=A,A=N;A>0;--A){if(U=t.PI_OVER_TWO-(A-1)*z,P=i(-U,u,I,C,g,w,E,S,x,P),D=i(U+Math.PI,u,I,C,g,w,E,S,x,D),n){for(L[F++]=P.x,L[F++]=P.y,L[F++]=P.z,b=2*(A-1)+2,M=1;b-1>M;++M)T=M/(b-1),O=e.lerp(P,D,T,m),L[F++]=O.x,L[F++]=O.y,L[F++]=O.z;L[F++]=D.x,L[F++]=D.y,L[F++]=D.z}a&&(_.unshift(P.x,P.y,P.z),1!==A&&B.push(D.x,D.y,D.z))}var G={};return n&&(L.length!==F&&(R=F/3,L.length=F),G.positions=L,G.numPts=N),a&&(G.outerPositions=_.concat(B)),G},a}),define("Core/Geometry",["./defaultValue","./defined","./DeveloperError"],function(e,t,r){"use strict";var n=function(t){t=e(t,e.EMPTY_OBJECT),this.attributes=t.attributes,this.indices=t.indices,this.primitiveType=t.primitiveType,this.boundingSphere=t.boundingSphere};return n.computeNumberOfVertices=function(e){var n=-1;for(var i in e.attributes)if(e.attributes.hasOwnProperty(i)&&t(e.attributes[i])&&t(e.attributes[i].values)){var a=e.attributes[i],o=a.values.length/a.componentsPerAttribute;if(n!==o&&-1!==n)throw new r("All attribute lists must have the same number of attributes.");n=o}return n},n}),define("Core/barycentricCoordinates",["./Cartesian2","./Cartesian3","./defined","./DeveloperError"],function(e,t,r){"use strict";var n=new t,i=new t,a=new t,o=function(o,s,u,l,c){r(c)||(c=new t);var f,m,y,h,p,d,v,g;r(s.z)?(f=t.subtract(u,s,n),m=t.subtract(l,s,i),y=t.subtract(o,s,a),h=t.dot(f,f),p=t.dot(f,m),d=t.dot(f,y),v=t.dot(m,m),g=t.dot(m,y)):(f=e.subtract(u,s,n),m=e.subtract(l,s,i),y=e.subtract(o,s,a),h=e.dot(f,f),p=e.dot(f,m),d=e.dot(f,y),v=e.dot(m,m),g=e.dot(m,y));var E=1/(h*v-p*p);return c.y=(v*d-p*g)*E,c.z=(h*g-p*d)*E,c.x=1-c.y-c.z,c};return o}),define("Core/EncodedCartesian3",["./Cartesian3","./defined","./DeveloperError"],function(e,t){"use strict";var r=function(){this.high=e.clone(e.ZERO),this.low=e.clone(e.ZERO)};r.encode=function(e,r){t(r)||(r={high:0,low:0});var n;return e>=0?(n=65536*Math.floor(e/65536),r.high=n,r.low=e-n):(n=65536*Math.floor(-e/65536),r.high=-n,r.low=e+n),r};var n={high:0,low:0};r.fromCartesian=function(e,i){t(i)||(i=new r);var a=i.high,o=i.low;return r.encode(e.x,n),a.x=n.high,o.x=n.low,r.encode(e.y,n),a.y=n.high,o.y=n.low,r.encode(e.z,n),a.z=n.high,o.z=n.low,i};var i=new r;return r.writeElements=function(e,t,n){r.fromCartesian(e,i);var a=i.high,o=i.low;t[n]=a.x,t[n+1]=a.y,t[n+2]=a.z,t[n+3]=o.x,t[n+4]=o.y,t[n+5]=o.z},r}),define("Core/QuadraticRealPolynomial",["./DeveloperError","./Math"],function(e,t){"use strict";function r(e,r,n){var i=e+r;return t.sign(e)!==t.sign(r)&&Math.abs(i/Math.max(Math.abs(e),Math.abs(r)))o&&o/ss&&s/oa)return[];var u=Math.sqrt(a);return[-u,u]}if(0===i)return a=-n/e,0>a?[a,0]:[0,a];var l=n*n,c=4*e*i,f=r(l,-c,t.EPSILON14);if(0>f)return[];var m=-.5*r(n,t.sign(n)*Math.sqrt(f),t.EPSILON14);return n>0?[m/e,i/m]:[i/m,m/e]},n}),define("Core/CubicRealPolynomial",["./DeveloperError","./QuadraticRealPolynomial"],function(e,t){"use strict";function r(e,t,r,n){var i,a,o=e,s=t/3,u=r/3,l=n,c=o*u,f=s*l,m=s*s,y=u*u,h=o*u-m,p=o*l-s*u,d=s*l-y,v=4*h*d-p*p;if(0>v){var g,E,w;m*f>=c*y?(g=o,E=h,w=-2*s*h+o*p):(g=l,E=d,w=-l*p+2*u*d);var S=0>w?-1:1,x=-S*Math.abs(g)*Math.sqrt(-v);a=-w+x;var C=a/2,A=0>C?-Math.pow(-C,1/3):Math.pow(C,1/3),M=a===x?-A:-E/A;return i=0>=E?A+M:-w/(A*A+M*M+E),m*f>=c*y?[(i-s)/o]:[-l/(i+u)]}var b=h,T=-2*s*h+o*p,O=d,I=-l*p+2*u*d,N=Math.sqrt(v),z=Math.sqrt(3)/2,R=Math.abs(Math.atan2(o*N,-T)/3);i=2*Math.sqrt(-b);var L=Math.cos(R);a=i*L;var F=i*(-L/2-z*Math.sin(R)),P=a+F>2*s?a-s:F-s,D=o,B=P/D;R=Math.abs(Math.atan2(l*N,-I)/3),i=2*Math.sqrt(-O),L=Math.cos(R),a=i*L,F=i*(-L/2-z*Math.sin(R));var _=-l,U=2*u>a+F?a+u:F+u,G=_/U,q=D*U,W=-P*U-D*_,Y=P*_,V=(u*W-s*Y)/(-s*W+u*q);return V>=B?G>=B?G>=V?[B,V,G]:[B,G,V]:[G,B,V]:G>=B?[V,B,G]:G>=V?[V,G,B]:[G,V,B]}var n={};return n.discriminant=function(e,t,r,n){var i=e*e,a=t*t,o=r*r,s=n*n,u=18*e*t*r*n+a*o-27*i*s-4*(e*o*r+a*t*n);return u},n.realRoots=function(e,n,i,a){var o,s;if(0===e)return t.realRoots(n,i,a);if(0===n){if(0===i){if(0===a)return[0,0,0];s=-a/e;var u=0>s?-Math.pow(-s,1/3):Math.pow(s,1/3);return[u,u,u]}return 0===a?(o=t.realRoots(e,0,i),0===o.Length?[0]:[o[0],0,o[1]]):r(e,0,i,a)}return 0===i?0===a?(s=-n/e,0>s?[s,0,0]:[0,0,s]):r(e,n,0,a):0===a?(o=t.realRoots(e,n,i),0===o.length?[0]:o[1]<=0?[o[0],o[1],0]:o[0]>=0?[0,o[0],o[1]]:[o[0],0,o[1]]):r(e,n,i,a)},n}),define("Core/QuarticRealPolynomial",["./DeveloperError","./Math","./CubicRealPolynomial","./QuadraticRealPolynomial"],function(e,t,r,n){"use strict";function i(e,i,a,o){var s=e*e,u=i-3*s/8,l=a-i*e/2+s*e/8,c=o-a*e/4+i*s/16-3*s*s/256,f=r.realRoots(1,2*u,u*u-4*c,-l*l);if(f.length>0){var m=-e/4,y=f[f.length-1];if(Math.abs(y)=0&&v>=0){var g=Math.sqrt(d),E=Math.sqrt(v);return[m-E,m-g,m+g,m+E]}if(d>=0&&0>v)return p=Math.sqrt(d),[m-p,m+p];if(0>d&&v>=0)return p=Math.sqrt(v),[m-p,m+p]}return[]}if(y>0){var w=Math.sqrt(y),S=(u+y-l/w)/2,x=(u+y+l/w)/2,C=n.realRoots(1,w,S),A=n.realRoots(1,-w,x);return 0!==C.length?(C[0]+=m,C[1]+=m,0!==A.length?(A[0]+=m,A[1]+=m,C[1]<=A[0]?[C[0],C[1],A[0],A[1]]:A[1]<=C[0]?[A[0],A[1],C[0],C[1]]:C[0]>=A[0]&&C[1]<=A[1]?[A[0],C[0],C[1],A[1]]:A[0]>=C[0]&&A[1]<=C[1]?[C[0],A[0],A[1],C[1]]:C[0]>A[0]&&C[0]0){var h,p,d=y[0],v=i-d,g=v*v,E=e/2,w=v/2,S=g-4*o,x=g+4*Math.abs(o),C=l-4*d,A=l+4*Math.abs(d);if(0>d||C*x>S*A){var M=Math.sqrt(C);h=M/2,p=0===M?0:(e*w-a)/M}else{var b=Math.sqrt(S);h=0===b?0:(e*w-a)/b,p=b/2}var T,O;0===E&&0===h?(T=0,O=0):t.sign(E)===t.sign(h)?(T=E+h,O=d/T):(O=E-h,T=d/O);var I,N;0===w&&0===p?(I=0,N=0):t.sign(w)===t.sign(p)?(I=w+p,N=o/I):(N=w-p,I=o/N);var z=n.realRoots(1,T,I),R=n.realRoots(1,O,N);if(0!==z.length)return 0!==R.length?z[1]<=R[0]?[z[0],z[1],R[0],R[1]]:R[1]<=z[0]?[R[0],R[1],z[0],z[1]]:z[0]>=R[0]&&z[1]<=R[1]?[R[0],z[0],z[1],R[1]]:R[0]>=z[0]&&R[1]<=z[1]?[z[0],R[0],R[1],z[1]]:z[0]>R[0]&&z[0]l?1:0;switch(y+=0>c?y+1:y,y+=0>f?y+1:y,y+=0>m?y+1:y){case 0:return i(l,c,f,m);case 1:return a(l,c,f,m);case 2:return a(l,c,f,m);case 3:return i(l,c,f,m);case 4:return i(l,c,f,m);case 5:return a(l,c,f,m);case 6:return i(l,c,f,m);case 7:return i(l,c,f,m);case 8:return a(l,c,f,m);case 9:return i(l,c,f,m);case 10:return i(l,c,f,m);case 11:return a(l,c,f,m);case 12:return i(l,c,f,m);case 13:return i(l,c,f,m);case 14:return i(l,c,f,m);case 15:return i(l,c,f,m);default:return void 0}},o}),define("Core/IntersectionTests",["./defined","./DeveloperError","./Math","./Cartesian3","./Cartographic","./Matrix3","./QuadraticRealPolynomial","./QuarticRealPolynomial"],function(e,t,r,n,i,a,o,s){"use strict";function u(e,t,n){var i=e+t;return r.sign(e)!==r.sign(t)&&Math.abs(i/Math.max(Math.abs(e),Math.abs(t)))F;++F){var P,D=f[F],B=D*D,_=Math.max(1-B,0),U=Math.sqrt(_);P=r.sign(h)===r.sign(d)?u(h*B+d,p*D,r.EPSILON12):r.sign(d)===r.sign(p*D)?u(h*B,p*D+d,r.EPSILON12):u(h*B+p*D,d,r.EPSILON12);var G=u(v*D,g,r.EPSILON15),q=P*G;0>q?E.push(new n(l,c*D,c*U)):q>0?E.push(new n(l,c*D,c*-U)):0!==U?(E.push(new n(l,c*D,c*-U)),E.push(new n(l,c*D,c*U)),++F):E.push(new n(l,c*D,c*U))}return E}var c={};c.rayPlane=function(e,t,i){var a=e.origin,o=e.direction,s=t.normal,u=n.dot(s,o);if(Math.abs(u)l?void 0:(i=n.multiplyByScalar(o,l,i),n.add(a,i,i))};var f=new n,m=new n;c.rayEllipsoid=function(e,t){var r,i,a,o,s,u=t.oneOverRadii,l=n.multiplyComponents(u,e.origin,f),c=n.multiplyComponents(u,e.direction,m),y=n.magnitudeSquared(l),h=n.dot(l,c);if(y>1){if(h>=0)return void 0;var p=h*h;if(r=y-1,i=n.magnitudeSquared(c),a=i*r,a>p)return void 0;if(p>a){o=h*h-a,s=-h+Math.sqrt(o);var d=s/i,v=r/s;return v>d?{start:d,stop:v}:{start:v,stop:d}}var g=Math.sqrt(r/i);return{start:g,stop:g}}return 1>y?(r=y-1,i=n.magnitudeSquared(c),a=i*r,o=h*h-a,s=-h+Math.sqrt(o),{start:0,stop:s/i}):0>h?(i=n.magnitudeSquared(c),{start:0,stop:-h/i}):void 0},c.grazingAltitudeLocation=function(t,o){var s=t.origin,u=t.direction,c=o.geodeticSurfaceNormal(s);if(n.dot(u,c)>=0)return s;var f,m,y=e(this.rayEllipsoid(t,o)),h=o.transformPositionToScaledSpace(u),p=n.normalize(h),d=n.mostOrthogonalAxis(h),v=n.normalize(n.cross(d,p)),g=n.normalize(n.cross(p,v)),E=new a(p.x,v.x,g.x,p.y,v.y,g.y,p.z,v.z,g.z),w=a.transpose(E),S=a.fromScale(o.radii),x=a.fromScale(o.oneOverRadii),C=new a(0,u.z,-u.y,-u.z,0,u.x,u.y,-u.x,0),A=a.multiply(a.multiply(w,x),C),M=a.multiply(a.multiply(A,S),E),b=a.multiplyByVector(A,s),T=l(M,n.negate(b),0,0,1),O=T.length;if(O>0){for(var I=n.ZERO,N=Number.NEGATIVE_INFINITY,z=0;O>z;++z){f=a.multiplyByVector(S,a.multiplyByVector(E,T[z]));var R=n.normalize(n.subtract(f,s)),L=n.dot(R,u);L>N&&(N=L,I=f)}var F=o.cartesianToCartographic(I);return N=r.clamp(N,0,1),m=n.magnitude(n.subtract(I,s))*Math.sqrt(1-N*N),m=y?-m:m,o.cartographicToCartesian(new i(F.longitude,F.latitude,m))}return void 0};var y=new n;return c.lineSegmentPlane=function(t,i,a,o){var s=n.subtract(i,t,y),u=a.normal,l=n.dot(u,s);if(Math.abs(l)f||f>1?void 0:(e(o)||(o=new n),n.multiplyByScalar(s,f,o),n.add(t,o,o),o)},c.trianglePlaneIntersection=function(e,t,r,i){var a=i.normal,o=i.distance,s=n.dot(a,e)+o<0,u=n.dot(a,t)+o<0,l=n.dot(a,r)+o<0,f=0;f+=s?1:0,f+=u?1:0,f+=l?1:0;var m,y;if((1===f||2===f)&&(m=new n,y=new n),1===f){if(s)return c.lineSegmentPlane(e,t,i,m),c.lineSegmentPlane(e,r,i,y),{positions:[e,t,r,m,y],indices:[0,3,4,1,2,4,1,4,3]};if(u)return c.lineSegmentPlane(t,r,i,m),c.lineSegmentPlane(t,e,i,y),{positions:[e,t,r,m,y],indices:[1,3,4,2,0,4,2,4,3]};if(l)return c.lineSegmentPlane(r,e,i,m),c.lineSegmentPlane(r,t,i,y),{positions:[e,t,r,m,y],indices:[2,3,4,0,1,4,0,4,3]}}else if(2===f){if(!s)return c.lineSegmentPlane(t,e,i,m),c.lineSegmentPlane(r,e,i,y),{positions:[e,t,r,m,y],indices:[1,2,4,1,4,3,0,3,4]};if(!u)return c.lineSegmentPlane(r,t,i,m),c.lineSegmentPlane(e,t,i,y),{positions:[e,t,r,m,y],indices:[2,0,4,2,4,3,1,3,4]};if(!l)return c.lineSegmentPlane(e,r,i,m),c.lineSegmentPlane(t,r,i,y),{positions:[e,t,r,m,y],indices:[0,1,4,0,4,3,2,3,4]}}return void 0},c}),define("Core/Plane",["./Cartesian3","./defined","./DeveloperError"],function(e,t){"use strict";var r=function(t,r){this.normal=e.clone(t),this.distance=r};return r.fromPointNormal=function(n,i,a){var o=-e.dot(i,n);return t(a)?(e.clone(i,a.normal),a.distance=o,a):new r(i,o)},r.getPointDistance=function(t,r){return e.dot(t.normal,r)+t.distance},r.prototype.getPointDistance=function(e){return r.getPointDistance(this,e)},r}),define("Core/PrimitiveType",[],function(){"use strict";var e={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,validate:function(t){return t===e.POINTS||t===e.LINES||t===e.LINE_LOOP||t===e.LINE_STRIP||t===e.TRIANGLES||t===e.TRIANGLE_STRIP||t===e.TRIANGLE_FAN}};return e}),define("Core/Tipsify",["./defaultValue","./defined","./DeveloperError"],function(e,t){"use strict";var r={};return r.calculateACMR=function(r){r=e(r,e.EMPTY_OBJECT);var n=r.indices,i=r.maximumIndex,a=e(r.cacheSize,24),o=n.length;if(!t(i)){i=0;for(var s=0,u=n[s];o>s;)u>i&&(i=u),++s,u=n[s]}for(var l=[],c=0;i+1>c;c++)l[c]=0;for(var f=a+1,m=0;o>m;++m)f-l[n[m]]>a&&(l[n[m]]=f,++f);return(f-a+1)/(o/3)},r.tipsify=function(r){function n(e,t,r,n){for(;t.length>=1;){var i=t[t.length-1];if(t.splice(t.length-1,1),e[i].numLiveTriangles>0)return i}for(;n>a;){if(e[a].numLiveTriangles>0)return++a,a-1;++a}return-1}function i(e,t,r,i,a,o,s){for(var u,l=-1,c=-1,f=0;fc||-1===c)&&(c=u,l=m)),++f}return-1===l?n(i,o,e,s):l}r=e(r,e.EMPTY_OBJECT);var a,o=r.indices,s=r.maximumIndex,u=e(r.cacheSize,24),l=o.length,c=0,f=0,m=o[f],y=l;if(t(s))c=s+1;else{for(;y>f;)m>c&&(c=m),++f,m=o[f];if(-1===c)return 0;++c}for(var h=[],p=0;c>p;p++)h[p]={numLiveTriangles:0,timeStamp:0,vertexTriangles:[]};f=0;for(var d=0;y>f;)h[o[f]].vertexTriangles.push(d),++h[o[f]].numLiveTriangles,h[o[f+1]].vertexTriangles.push(d),++h[o[f+1]].numLiveTriangles,h[o[f+2]].vertexTriangles.push(d),++h[o[f+2]].numLiveTriangles,++d,f+=3;var v=0,g=u+1;a=1;var E,w,S=[],x=[],C=0,A=[],M=l/3,b=[];for(p=0;M>p;p++)b[p]=!1;for(var T,O;-1!==v;){S=[],w=h[v],O=w.vertexTriangles.length;for(var I=0;O>I;++I)if(d=w.vertexTriangles[I],!b[d]){b[d]=!0,f=d+d+d;for(var N=0;3>N;++N)T=o[f],S.push(T),x.push(T),A[C]=T,++C,E=h[T],--E.numLiveTriangles,g-E.timeStamp>u&&(E.timeStamp=g,++g),++f}v=i(o,u,S,h,g,x,c)}return A},r}),define("Core/GeometryAttribute",["./defaultValue","./defined","./DeveloperError"],function(e){"use strict";var t=function(t){t=e(t,e.EMPTY_OBJECT),this.componentDatatype=t.componentDatatype,this.componentsPerAttribute=t.componentsPerAttribute,this.normalize=e(t.normalize,!1),this.values=t.values};return t}),define("Core/GeometryPipeline",["./barycentricCoordinates","./defaultValue","./defined","./DeveloperError","./Cartesian2","./Cartesian3","./Cartesian4","./Cartographic","./EncodedCartesian3","./Intersect","./IntersectionTests","./Math","./Matrix3","./Matrix4","./Plane","./GeographicProjection","./ComponentDatatype","./IndexDatatype","./PrimitiveType","./Tipsify","./BoundingSphere","./Geometry","./GeometryAttribute"],function(e,t,r,n,i,a,o,s,u,l,c,f,m,y,h,p,d,v,g,E,w,S,x){"use strict";function C(e,t,r,n,i){e[t++]=r,e[t++]=n,e[t++]=n,e[t++]=i,e[t++]=i,e[t]=r}function A(e){for(var t=e.length,r=6*(t/3),n=v.createTypedArray(t,r),i=0,a=0;t>a;a+=3,i+=6)C(n,i,e[a],e[a+1],e[a+2]);return n}function M(e){var t=e.length;if(t>=3){var r=6*(t-2),n=v.createTypedArray(t,r);C(n,0,e[0],e[1],e[2]);for(var i=6,a=3;t>a;++a,i+=6)C(n,i,e[a-1],e[a],e[a-2]);return n}return new Uint16Array}function b(e){if(e.length>0){for(var t=e.length-1,r=6*(t-1),n=v.createTypedArray(t,r),i=e[0],a=0,o=1;t>o;++o,a+=6)C(n,a,i,e[o],e[o+1]);return n}return new Uint16Array}function T(e){var t={};for(var n in e)if(e.hasOwnProperty(n)&&r(e[n])&&r(e[n].values)){var i=e[n];t[n]=new x({componentDatatype:i.componentDatatype,componentsPerAttribute:i.componentsPerAttribute,normalize:i.normalize,values:[]})}return t}function O(e,t,n){for(var i in t)if(t.hasOwnProperty(i)&&r(t[i])&&r(t[i].values))for(var a=t[i],o=0;oo;o+=3)a.unpack(n,o,Z),y.multiplyByPoint(e,Z,Z),a.pack(Z,n,o)}function N(e,t){if(r(t))for(var n=t.values,i=n.length,o=0;i>o;o+=3)a.unpack(n,o,Z),m.multiplyByVector(e,Z,Z),Z=a.normalize(Z,Z),a.pack(Z,n,o)}function z(e){var t,n=e.length,i={},a=e[0].geometry.attributes;for(t in a)if(a.hasOwnProperty(t)&&r(a[t])&&r(a[t].values)){for(var o=a[t],s=o.values.length,u=!0,l=1;n>l;++l){var c=e[l].geometry.attributes[t];if(!r(c)||o.componentDatatype.value!==c.componentDatatype.value||o.componentsPerAttribute!==c.componentsPerAttribute||o.normalize!==c.normalize){u=!1;break}s+=c.values.length}u&&(i[t]=new x({componentDatatype:o.componentDatatype,componentsPerAttribute:o.componentsPerAttribute,normalize:o.normalize,values:d.createTypedArray(o.componentDatatype,s)}))}return i}function R(e){if(r(e.indices))return e;for(var t=S.computeNumberOfVertices(e),n=v.createTypedArray(t,t),i=0;t>i;++i)n[i]=i;return e.indices=n,e}function L(e){var t=S.computeNumberOfVertices(e),r=v.createTypedArray(t,3*(t-2));r[0]=1,r[1]=0,r[2]=2;for(var n=3,i=3;t>i;++i)r[n++]=i-1,r[n++]=0,r[n++]=i;return e.indices=r,e.primitiveType=g.TRIANGLES,e}function F(e){var t=S.computeNumberOfVertices(e),r=v.createTypedArray(t,3*(t-2));r[0]=0,r[1]=1,r[2]=2,t>3&&(r[3]=0,r[4]=2,r[5]=3);for(var n=6,i=3;t-1>i;i+=2)r[n++]=i,r[n++]=i-1,r[n++]=i+1,t>i+2&&(r[n++]=i,r[n++]=i+1,r[n++]=i+2);return e.indices=r,e.primitiveType=g.TRIANGLES,e}function P(e){if(r(e.indices))return e;for(var t=S.computeNumberOfVertices(e),n=v.createTypedArray(t,t),i=0;t>i;++i)n[i]=i;return e.indices=n,e}function D(e){var t=S.computeNumberOfVertices(e),r=v.createTypedArray(t,2*(t-1));r[0]=0,r[1]=1;for(var n=2,i=2;t>i;++i)r[n++]=i-1,r[n++]=i;return e.indices=r,e.primitiveType=g.LINES,e}function B(e){var t=S.computeNumberOfVertices(e),r=v.createTypedArray(t,2*t);r[0]=0,r[1]=1;for(var n=2,i=2;t>i;++i)r[n++]=i-1,r[n++]=i;return r[n++]=t-1,r[n]=0,e.indices=r,e.primitiveType=g.LINES,e}function _(e){switch(e.primitiveType){case g.TRIANGLE_FAN:return L(e);case g.TRIANGLE_STRIP:return F(e);case g.TRIANGLES:return R(e);case g.LINE_STRIP:return D(e);case g.LINE_LOOP:return B(e);case g.LINES:return P(e)}return e}function U(e,t){Math.abs(e.y)=0||t.x>=0||r.x>=0)return void 0;var n=e.y<0,i=t.y<0,a=r.y<0;U(e,n),U(t,i),U(r,a);var o=0;o+=n?1:0,o+=i?1:0,o+=a?1:0;var s=ct.indices;1===o?(s[1]=3,s[2]=4,s[5]=6,s[7]=6,s[8]=5,n?(G(e,t,ot,ut),G(e,r,st,lt),s[0]=0,s[3]=1,s[4]=2,s[6]=1):i?(G(t,r,ot,ut),G(t,e,st,lt),s[0]=1,s[3]=2,s[4]=0,s[6]=2):a&&(G(r,e,ot,ut),G(r,t,st,lt),s[0]=2,s[3]=0,s[4]=1,s[6]=0)):2===o&&(s[2]=4,s[4]=4,s[5]=3,s[7]=5,s[8]=6,n?i?a||(G(r,e,ot,ut),G(r,t,st,lt),s[0]=0,s[1]=1,s[3]=0,s[6]=2):(G(t,r,ot,ut),G(t,e,st,lt),s[0]=2,s[1]=0,s[3]=2,s[6]=1):(G(e,t,ot,ut),G(e,r,st,lt),s[0]=1,s[1]=2,s[3]=1,s[6]=0));var u=ct.positions;return u[0]=e,u[1]=t,u[2]=r,ct.length=3,(1===o||2===o)&&(u[3]=ot,u[4]=st,u[5]=ut,u[6]=lt,ct.length=7),ct}function W(t,n,o,s,u,l,c,f){if(r(u)||r(l)||r(c)||r(f)){var m,y,h,p,d,v,g,E,w,S,x,C,A,M,b,T,O,I,N=s.positions,z=N[0],R=N[1],L=N[2];r(u)&&(m=a.fromArray(u,3*t),y=a.fromArray(u,3*n),h=a.fromArray(u,3*o)),r(l)&&(p=a.fromArray(l,3*t),d=a.fromArray(l,3*n),v=a.fromArray(l,3*o)),r(c)&&(g=a.fromArray(c,3*t),E=a.fromArray(c,3*n),w=a.fromArray(c,3*o)),r(f)&&(S=i.fromArray(f,2*t),x=i.fromArray(f,2*n),C=i.fromArray(f,2*o));for(var F=3;FE;E+=3){var w=l[E],x=l[E+1],C=l[E+2],A=a.fromArray(n,3*w),M=a.fromArray(n,3*x),b=a.fromArray(n,3*C),T=q(A,M,b);if(r(T))if(c[3*w+1]=T.positions[0].y,c[3*x+1]=T.positions[1].y,c[3*C+1]=T.positions[2].y,T.length>3){for(var O=c.length/3,I=0;IN?p.push(l[E+N]):p.push(N-3+O)}for(var z=3;zm;m+=2){var y=i[m],p=i[m+1],d=a.fromArray(n,3*y),g=a.fromArray(n,3*p);if(Math.abs(d.y)c;c+=3)u[l++]=a[c],u[l++]=a[c+1],u[l++]=a[c+2],u[l++]=a[c]+o[c]*i,u[l++]=a[c+1]+o[c+1]*i,u[l++]=a[c+2]+o[c+2]*i;var f,m=e.boundingSphere;return r(m)&&(f=new w(m.center,m.radius+i)),new S({attributes:{position:new x({componentDatatype:d.DOUBLE,componentsPerAttribute:3,values:u})},primitiveType:g.LINES,boundingSphere:f})},H.createAttributeLocations=function(e){var t,n=["position","positionHigh","positionLow","position3DHigh","position3DLow","position2DHigh","position2DLow","pickColor","normal","st","binormal","tangent"],i=e.attributes,a={},o=0,s=n.length;for(t=0;s>t;++t){var u=n[t];r(i[u])&&(a[u]=o++)}for(var l in i)i.hasOwnProperty(l)&&!r(a[l])&&(a[l]=o++);return a},H.reorderForPreVertexCache=function(e){var t=S.computeNumberOfVertices(e),n=e.indices;if(r(n)){for(var i=new Int32Array(t),a=0;t>a;a++)i[a]=-1;for(var o,s=n,u=s.length,l=v.createTypedArray(t,u),c=0,f=0,m=0;u>c;)o=i[s[c]],-1!==o?l[f]=o:(o=s[c],i[o]=m,l[f]=m,++m),++c,++f;e.indices=l;var y=e.attributes;for(var h in y)if(y.hasOwnProperty(h)&&r(y[h])&&r(y[h].values)){for(var p=y[h],g=p.values,E=0,w=p.componentsPerAttribute,x=d.createTypedArray(p.componentDatatype,m*w);t>E;){var C=i[E];if(-1!==C)for(a=0;w>a;a++)x[w*C+a]=g[w*E+a];++E}p.values=x}}return e},H.reorderForPostVertexCache=function(e,t){var n=e.indices;if(e.primitiveType===g.TRIANGLES&&r(n)){for(var i=n.length,a=0,o=0;i>o;o++)n[o]>a&&(a=n[o]);e.indices=E.tipsify({indices:n,maximumIndex:a,cacheSize:t})}return e},H.fitToUnsignedShortIndices=function(e){var t=[],n=S.computeNumberOfVertices(e);if(r(e.indices)&&n>f.SIXTY_FOUR_KILOBYTES){var i,a=[],o=[],s=0,u=T(e.attributes),l=e.indices,c=l.length;e.primitiveType===g.TRIANGLES?i=3:e.primitiveType===g.LINES?i=2:e.primitiveType===g.POINTS&&(i=1);for(var m=0;c>m;m+=i){for(var y=0;i>y;++y){var h=l[m+y],p=a[h];r(p)||(p=s++,a[h]=p,O(u,e.attributes,h)),o.push(p)}s+i>f.SIXTY_FOUR_KILOBYTES&&(t.push(new S({attributes:u,indices:o,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere})),a=[],o=[],s=0,u=T(e.attributes))}0!==o.length&&t.push(new S({attributes:u,indices:o,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere}))}else t.push(e);return t};var k=new a,j=new s;H.projectTo2D=function(e,t,i,o,s){var u=e.attributes[t];s=r(s)?s:new p;for(var l=s.ellipsoid,c=u.values,f=new Float64Array(c.length),m=0,y=0;yc;++c)u.encode(a[c],K),s[c]=K.high,l[c]=K.low;var f=i.componentsPerAttribute;return e.attributes[r]=new x({componentDatatype:d.FLOAT,componentsPerAttribute:f,values:s}),e.attributes[n]=new x({componentDatatype:d.FLOAT,componentsPerAttribute:f,values:l}),delete e.attributes[t],e};var Z=new a,Q=new y,X=new m;H.transformToWorldCoordinates=function(e){var t=e.modelMatrix;if(y.equals(t,y.IDENTITY))return e;var n=e.geometry.attributes;I(t,n.position),I(t,n.prevPosition),I(t,n.nextPosition),(r(n.normal)||r(n.binormal)||r(n.tangent))&&(y.inverse(t,Q),y.transpose(Q,Q),y.getRotation(Q,X),N(X,n.normal),N(X,n.binormal),N(X,n.tangent));var i=e.geometry.boundingSphere;return r(i)&&(e.geometry.boundingSphere=w.transform(i,t,i)),e.modelMatrix=y.clone(y.IDENTITY),e},H.combine=function(e){var t,n,i,o,s=e.length;e[0].modelMatrix;var u,l,c,f=r(e[0].geometry.indices),m=e[0].geometry.primitiveType,y=z(e);for(t in y)if(y.hasOwnProperty(t))for(u=y[t].values,o=0,n=0;s>n;++n)for(l=e[n].geometry.attributes[t].values,c=l.length,i=0;c>i;++i)u[o++]=l[i];var h;if(f){var p=0;for(n=0;s>n;++n)p+=e[n].geometry.indices.length;var d=S.computeNumberOfVertices(new S({attributes:y,primitiveType:g.POINTS})),E=v.createTypedArray(d,p),x=0,C=0;for(n=0;s>n;++n){var A=e[n].geometry.indices,M=A.length;for(o=0;M>o;++o)E[x++]=C+A[o];C+=S.computeNumberOfVertices(e[n].geometry)}h=E}var b,T=new a,O=0;for(n=0;s>n;++n){if(b=e[n].geometry.boundingSphere,!r(b)){T=void 0;break}a.add(b.center,T,T)}if(r(T))for(a.divideByScalar(T,s,T),n=0;s>n;++n){b=e[n].geometry.boundingSphere;var I=a.magnitude(a.subtract(b.center,T))+b.radius;I>O&&(O=I)}return new S({attributes:y,indices:h,primitiveType:m,boundingSphere:r(T)?new w(T,O):void 0})};var J=new a,$=new a,et=new a,tt=new a;H.computeNormal=function(e){for(var t=e.indices,r=e.attributes,n=r.position.values,i=r.position.values.length/3,o=t.length,s=new Array(i),u=new Array(o/3),l=new Array(o),c=0;i>c;c++)s[c]={indexOffset:0,count:0,currentCount:0};var f=0;for(c=0;o>c;c+=3){var m=t[c],y=t[c+1],h=t[c+2],p=3*m,v=3*y,g=3*h;$.x=n[p],$.y=n[p+1],$.z=n[p+2],et.x=n[v],et.y=n[v+1],et.z=n[v+2],tt.x=n[g],tt.y=n[g+1],tt.z=n[g+2],s[m].count++,s[y].count++,s[h].count++,a.subtract(et,$,et),a.subtract(tt,$,tt),u[f]=a.cross(et,tt),f++}var E=0;for(c=0;i>c;c++)s[c].indexOffset+=E,E+=s[c].count;f=0;var w;for(c=0;o>c;c+=3){w=s[t[c]];var S=w.indexOffset+w.currentCount;l[S]=f,w.currentCount++,w=s[t[c+1]],S=w.indexOffset+w.currentCount,l[S]=f,w.currentCount++,w=s[t[c+2]],S=w.indexOffset+w.currentCount,l[S]=f,w.currentCount++,f++}var C=new Float32Array(3*i);for(c=0;i>c;c++){var A=3*c;if(w=s[c],w.count>0){for(a.clone(a.ZERO,J),f=0;fl;l+=3){var y=t[l],h=t[l+1],p=t[l+2];c=3*y,f=3*h,m=3*p;var v=2*y,g=2*h,E=2*p,w=r[c],S=r[c+1],C=r[c+2],A=i[v],M=i[v+1],b=i[g+1]-M,T=i[E+1]-M,O=1/((i[g]-A)*T-(i[E]-A)*b),I=(T*(r[f]-w)-b*(r[m]-w))*O,N=(T*(r[f+1]-S)-b*(r[m+1]-S))*O,z=(T*(r[f+2]-C)-b*(r[m+2]-C))*O;u[c]+=I,u[c+1]+=N,u[c+2]+=z,u[f]+=I,u[f+1]+=N,u[f+2]+=z,u[m]+=I,u[m+1]+=N,u[m+2]+=z}var R=new Float32Array(3*o),L=new Float32Array(3*o);for(l=0;o>l;l++){c=3*l,f=c+1,m=c+2;var F=a.fromArray(n,c,rt),P=a.fromArray(u,c,it),D=a.dot(F,P);a.multiplyByScalar(F,D,nt),a.normalize(a.subtract(P,nt,P),P),L[c]=P.x,L[f]=P.y,L[m]=P.z,a.normalize(a.cross(F,P,P),P),R[c]=P.x,R[f]=P.y,R[m]=P.z}return e.attributes.tangent=new x({componentDatatype:d.FLOAT,componentsPerAttribute:3,values:L}),e.attributes.binormal=new x({componentDatatype:d.FLOAT,componentsPerAttribute:3,values:R}),e};var at=new a,ot=new a,st=new a,ut=new a,lt=new a,ct={positions:new Array(7),indices:new Array(9)};return H.wrapLongitude=function(e){var t=e.boundingSphere;if(r(t)){var n=t.center.x-t.radius;if(n>0||w.intersect(t,o.UNIT_Y)!==l.INTERSECTING)return e}return _(e),e.primitiveType===g.TRIANGLES?Y(e):e.primitiveType===g.LINES&&V(e),e},H}),define("Core/GeometryInstance",["./defaultValue","./defined","./DeveloperError","./Matrix4"],function(e,t,r,n){"use strict";var i=function(t){t=e(t,e.EMPTY_OBJECT),this.geometry=t.geometry,this.modelMatrix=n.clone(e(t.modelMatrix,n.IDENTITY)),this.id=t.id,this.pickPrimitive=t.pickPrimitive,this.attributes=e(t.attributes,{})};return i}),define("Core/GeometryAttributes",["./defaultValue"],function(e){"use strict";var t=function(t){t=e(t,e.EMPTY_OBJECT),this.position=t.position,this.normal=t.normal,this.st=t.st,this.binormal=t.binormal,this.tangent=t.tangent,this.color=t.color};return t}),define("Core/VertexFormat",["./defaultValue","./freezeObject"],function(e,t){"use strict";var r=function(t){t=e(t,e.EMPTY_OBJECT),this.position=e(t.position,!1),this.normal=e(t.normal,!1),this.st=e(t.st,!1),this.binormal=e(t.binormal,!1),this.tangent=e(t.tangent,!1)};return r.POSITION_ONLY=t(new r({position:!0})),r.POSITION_AND_NORMAL=t(new r({position:!0,normal:!0})),r.POSITION_NORMAL_AND_ST=t(new r({position:!0,normal:!0,st:!0})),r.POSITION_AND_ST=t(new r({position:!0,st:!0})),r.ALL=t(new r({position:!0,normal:!0,st:!0,binormal:!0,tangent:!0})),r.DEFAULT=r.POSITION_NORMAL_AND_ST,r}),define("Core/EllipseGeometry",["./defaultValue","./defined","./BoundingSphere","./Cartesian2","./Cartesian3","./Cartographic","./ComponentDatatype","./IndexDatatype","./DeveloperError","./Ellipsoid","./EllipseGeometryLibrary","./GeographicProjection","./Geometry","./GeometryPipeline","./GeometryInstance","./GeometryAttribute","./GeometryAttributes","./Math","./Matrix3","./PrimitiveType","./Quaternion","./VertexFormat"],function(e,t,r,n,i,a,o,s,u,l,c,f,m,y,h,p,d,v,g,E,w,S){"use strict";function x(e,t,r){var n=t.vertexFormat,a=t.center,s=t.semiMajorAxis,u=t.ellipsoid,l=t.stRotation,m=r?2*(e.length/3):e.length/3,y=n.st?new Float32Array(2*m):void 0,h=n.normal?new Float32Array(3*m):void 0,v=n.tangent?new Float32Array(3*m):void 0,E=n.binormal?new Float32Array(3*m):void 0,S=0,x=P,C=D,A=B,M=new f(u),b=M.project(u.cartesianToCartographic(a,_),U),T=u.scaleToGeodeticSurface(a,O);u.geodeticSurfaceNormal(T,T);for(var z=w.fromAxisAngle(T,l,F),G=g.fromQuaternion(z,L),q=e.length,W=r?q:0,Y=2*(W/3),V=0;q>V;V+=3){var H=V+1,k=V+2,j=i.fromArray(e,V,O);if(n.st){var K=g.multiplyByVector(G,j,I),Z=M.project(u.cartesianToCartographic(K,_),N);i.subtract(Z,b,Z),R.x=(Z.x+s)/(2*s),R.y=(Z.y+s)/(2*s),r&&(y[S+Y]=R.x,y[S+1+Y]=R.y),y[S++]=R.x,y[S++]=R.y}x=u.geodeticSurfaceNormal(j,x),(n.normal||n.tangent||n.binormal)&&((n.tangent||n.binormal)&&(C=i.cross(i.UNIT_Z,x,C),g.multiplyByVector(G,C,C)),n.normal&&(h[V]=x.x,h[H]=x.y,h[k]=x.z,r&&(h[V+W]=-x.x,h[H+W]=-x.y,h[k+W]=-x.z)),n.tangent&&(v[V]=C.x,v[H]=C.y,v[k]=C.z,r&&(v[V+W]=-C.x,v[H+W]=-C.y,v[k+W]=-C.z)),n.binormal&&(A=i.cross(x,C,A),E[V]=A.x,E[H]=A.y,E[k]=A.z,r&&(E[V+W]=A.x,E[H+W]=A.y,E[k+W]=A.z)))}var Q=new d;if(n.position){var X=c.raisePositionsToHeight(e,t,r);Q.position=new p({componentDatatype:o.DOUBLE,componentsPerAttribute:3,values:X})}return n.st&&(Q.st=new p({componentDatatype:o.FLOAT,componentsPerAttribute:2,values:y})),n.normal&&(Q.normal=new p({componentDatatype:o.FLOAT,componentsPerAttribute:3,values:h})),n.tangent&&(Q.tangent=new p({componentDatatype:o.FLOAT,componentsPerAttribute:3,values:v})),n.binormal&&(Q.binormal=new p({componentDatatype:o.FLOAT,componentsPerAttribute:3,values:E})),Q}function C(e){var t,r,n,i,a,o=new Array(2*e*(e+1)),s=0;for(i=1;e>i;++i){for(n=i*(i+1),t=(i-1)*i,o[s++]=n++,o[s++]=t,o[s++]=n,r=2*i,a=0;r-1>a;++a)o[s++]=n,o[s++]=t++,o[s++]=t,o[s++]=n++,o[s++]=t,o[s++]=n;o[s++]=n++,o[s++]=t,o[s++]=n}for(r=2*e,++n,++t,i=0;r-1>i;++i)o[s++]=n,o[s++]=t++,o[s++]=t,o[s++]=n++,o[s++]=t,o[s++]=n;for(++t,++n,i=e-1;i>0;--i){for(o[s++]=t++,o[s++]=t,o[s++]=n,r=2*i,a=0;r-1>a;++a)o[s++]=n,o[s++]=t++,o[s++]=t,o[s++]=n++,o[s++]=t,o[s++]=n;o[s++]=t++,o[s++]=t++,o[s++]=n++}return o}function A(e){var t=e.center;G=i.multiplyByScalar(e.ellipsoid.geodeticSurfaceNormal(t,G),e.height,G),G=i.add(t,G,G);var n=new r(G,e.semiMajorAxis),a=c.computeEllipsePositions(e,!0,!1),o=a.positions,u=a.numPts,l=x(o,e,!1),f=C(u);return f=s.createTypedArray(o.length/3,f),{boundingSphere:n,attributes:l,indices:f}}function M(e,t){var r=t.vertexFormat,n=t.center,a=t.semiMajorAxis,s=t.ellipsoid,u=t.height,l=t.extrudedHeight,c=t.stRotation,m=2*(e.length/3),y=new Float64Array(3*m),h=r.st?new Float32Array(2*m):void 0,v=r.normal?new Float32Array(3*m):void 0,E=r.tangent?new Float32Array(3*m):void 0,S=r.binormal?new Float32Array(3*m):void 0,x=0,C=P,A=D,M=B,b=new f(s),T=b.project(s.cartesianToCartographic(n,_),U),G=s.scaleToGeodeticSurface(n,O);s.geodeticSurfaceNormal(G,G);for(var q=w.fromAxisAngle(G,c,F),W=g.fromQuaternion(q,L),Y=e.length,V=2*(Y/3),H=0;Y>H;H+=3){var k,j=H+1,K=H+2,Z=i.fromArray(e,H,O);if(r.st){var Q=g.multiplyByVector(W,Z,I),X=b.project(s.cartesianToCartographic(Q,_),N);i.subtract(X,T,X),R.x=(X.x+a)/(2*a),R.y=(X.y+a)/(2*a),h[x+V]=R.x,h[x+1+V]=R.y,h[x++]=R.x,h[x++]=R.y +}Z=s.scaleToGeodeticSurface(Z,Z),k=i.clone(Z,I),C=s.geodeticSurfaceNormal(Z,C);var J=i.multiplyByScalar(C,u,z);if(Z=i.add(Z,J,Z),J=i.multiplyByScalar(C,l,J),k=i.add(k,J,k),r.position&&(y[H+Y]=k.x,y[j+Y]=k.y,y[K+Y]=k.z,y[H]=Z.x,y[j]=Z.y,y[K]=Z.z),r.normal||r.tangent||r.binormal){M=i.clone(C,M);var $=i.fromArray(e,(H+3)%Y,z);i.subtract($,Z,$);var et=i.subtract(k,Z,N);C=i.normalize(i.cross(et,$,C),C),r.normal&&(v[H]=C.x,v[j]=C.y,v[K]=C.z,v[H+Y]=C.x,v[j+Y]=C.y,v[K+Y]=C.z),r.tangent&&(A=i.normalize(i.cross(M,C,A),A),E[H]=A.x,E[j]=A.y,E[K]=A.z,E[H+Y]=A.x,E[H+1+Y]=A.y,E[H+2+Y]=A.z),r.binormal&&(S[H]=M.x,S[j]=M.y,S[K]=M.z,S[H+Y]=M.x,S[j+Y]=M.y,S[K+Y]=M.z)}}var tt=new d;return r.position&&(tt.position=new p({componentDatatype:o.DOUBLE,componentsPerAttribute:3,values:y})),r.st&&(tt.st=new p({componentDatatype:o.FLOAT,componentsPerAttribute:2,values:h})),r.normal&&(tt.normal=new p({componentDatatype:o.FLOAT,componentsPerAttribute:3,values:v})),r.tangent&&(tt.tangent=new p({componentDatatype:o.FLOAT,componentsPerAttribute:3,values:E})),r.binormal&&(tt.binormal=new p({componentDatatype:o.FLOAT,componentsPerAttribute:3,values:S})),tt}function b(e){for(var t,r,n,i,a=e.length/3,o=s.createTypedArray(a,6*a),u=0,l=0;a-1>l;l++)t=l,n=l+a,r=t+1,i=r+a,o[u++]=t,o[u++]=n,o[u++]=r,o[u++]=r,o[u++]=n,o[u++]=i;return t=a-1,n=l+a,r=0,i=r+a,o[u++]=t,o[u++]=n,o[u++]=r,o[u++]=r,o[u++]=n,o[u++]=i,o}function T(e){var t=e.center,n=e.ellipsoid,a=e.semiMajorAxis,o=i.multiplyByScalar(n.geodeticSurfaceNormal(t,O),e.height,O);q.center=i.add(t,o,q.center),q.radius=a,o=i.multiplyByScalar(n.geodeticSurfaceNormal(t,o),e.extrudedHeight,o),W.center=i.add(t,o,W.center),W.radius=a;var u=c.computeEllipsePositions(e,!0,!0),l=u.positions,f=u.numPts,p=u.outerPositions,d=r.union(q,W),v=x(l,e,!0),g=C(f),w=g.length;g.length=2*w;for(var S=l.length/3,A=0;w>A;A+=3)g[A+w]=g[A+2]+S,g[A+1+w]=g[A+1]+S,g[A+2+w]=g[A]+S;var T=s.createTypedArray(2*S/3,g),I=new m({attributes:v,indices:T,primitiveType:E.TRIANGLES}),N=M(p,e);g=b(p);var z=s.createTypedArray(2*p.length/3,g),R=new m({attributes:N,indices:z,primitiveType:E.TRIANGLES}),L=y.combine([new h({geometry:I}),new h({geometry:R})]);return{boundingSphere:d,attributes:L.attributes,indices:L.indices}}var O=new i,I=new i,N=new i,z=new i,R=new n,L=new g,F=new w,P=new i,D=new i,B=new i,_=new a,U=new i,G=new i,q=new r,W=new r,Y=function(r){r=e(r,e.EMPTY_OBJECT);var n=r.center,a=r.semiMajorAxis,o=r.semiMinorAxis,s=e(r.granularity,v.RADIANS_PER_DEGREE),u=e(r.height,0),c=r.extrudedHeight,f=t(c)&&!v.equalsEpsilon(u,c,1);this._center=i.clone(n),this._semiMajorAxis=a,this._semiMinorAxis=o,this._ellipsoid=e(r.ellipsoid,l.WGS84),this._rotation=e(r.rotation,0),this._stRotation=e(r.stRotation,0),this._height=u,this._granularity=s,this._vertexFormat=e(r.vertexFormat,S.DEFAULT),this._extrudedHeight=c,this._extrude=f,this._workerName="createEllipseGeometry"};return Y.createGeometry=function(e){var t,r={center:e._center,semiMajorAxis:e._semiMajorAxis,semiMinorAxis:e._semiMinorAxis,ellipsoid:e._ellipsoid,rotation:e._rotation,height:e._height,extrudedHeight:e._extrudedHeight,granularity:e._granularity,vertexFormat:e._vertexFormat,stRotation:e._stRotation};return e._extrude?(r.extrudedHeight=Math.min(e._extrudedHeight,e._height),r.height=Math.max(e._extrudedHeight,e._height),t=T(r)):t=A(r),new m({attributes:t.attributes,indices:t.indices,primitiveType:E.TRIANGLES,boundingSphere:t.boundingSphere})},Y}),define("Core/Color",["./defaultValue","./defined","./freezeObject","./DeveloperError","./FeatureDetection","./Math"],function(e,t,r,n,i,a){"use strict";function o(e,t,r){return 0>r&&(r+=1),r>1&&(r-=1),1>6*r?e+6*(t-e)*r:1>2*r?t:2>3*r?e+6*(t-e)*(2/3-r):e}var s=function(t,r,n,i){this.red=e(t,1),this.green=e(r,1),this.blue=e(n,1),this.alpha=e(i,1)};s.fromBytes=function(t,r,n,i){return t=s.byteToFloat(e(t,255)),r=s.byteToFloat(e(r,255)),n=s.byteToFloat(e(n,255)),i=s.byteToFloat(e(i,255)),new s(t,r,n,i)};var u,l,c;i.supportsTypedArrays()&&(u=new ArrayBuffer(4),l=new Uint32Array(u),c=new Uint8Array(u)),s.fromRgba=function(e){return l[0]=e,s.fromBytes(c[0],c[1],c[2],c[3])},s.fromHsl=function(t,r,n,i){t=e(t,0)%1,r=e(r,0),n=e(n,0),i=e(i,1);var a=n,u=n,l=n;if(0!==r){var c;c=.5>n?n*(1+r):n+r-n*r;var f=2*n-c;a=o(f,c,t+1/3),u=o(f,c,t),l=o(f,c,t-1/3)}return new s(a,u,l,i)},s.fromRandom=function(r,n){r=e(r,e.EMPTY_OBJECT);var i=r.red;if(!t(i)){var o=e(r.minimumRed,0),u=e(r.maximumRed,1);i=o+a.nextRandomNumber()*(u-o)}var l=r.green;if(!t(l)){var c=e(r.minimumGreen,0),f=e(r.maximumGreen,1);l=c+a.nextRandomNumber()*(f-c)}var m=r.blue;if(!t(m)){var y=e(r.minimumBlue,0),h=e(r.maximumBlue,1);m=y+a.nextRandomNumber()*(h-y)}var p=r.alpha;if(!t(p)){var d=e(r.minimumAlpha,0),v=e(r.maximumAlpha,1);p=d+a.nextRandomNumber()*(v-d)}return t(n)?(n.red=i,n.green=l,n.blue=m,n.alpha=p,n):new s(i,l,m,p)};var f=/^#([0-9a-f])([0-9a-f])([0-9a-f])$/i,m=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i,y=/^rgba?\(\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)(?:\s*,\s*([0-9.]+))?\s*\)$/i,h=/^hsla?\(\s*([0-9.]+)\s*,\s*([0-9.]+%)\s*,\s*([0-9.]+%)(?:\s*,\s*([0-9.]+))?\s*\)$/i;return s.fromCssColorString=function(r){var n=s[r.toUpperCase()];if(t(n))return s.clone(n);var i=f.exec(r);return null!==i?new s(parseInt(i[1],16)/15,parseInt(i[2],16)/15,parseInt(i[3],16)/15):(i=m.exec(r),null!==i?new s(parseInt(i[1],16)/255,parseInt(i[2],16)/255,parseInt(i[3],16)/255):(i=y.exec(r),null!==i?new s(parseFloat(i[1])/("%"===i[1].substr(-1)?100:255),parseFloat(i[2])/("%"===i[2].substr(-1)?100:255),parseFloat(i[3])/("%"===i[3].substr(-1)?100:255),parseFloat(e(i[4],"1.0"))):(i=h.exec(r),null!==i?s.fromHsl(parseFloat(i[1])/360,parseFloat(i[2])/100,parseFloat(i[3])/100,parseFloat(e(i[4],"1.0"))):void 0)))},s.packedLength=4,s.pack=function(t,r,n){n=e(n,0),r[n++]=t.red,r[n++]=t.green,r[n++]=t.blue,r[n]=t.alpha},s.unpack=function(r,n,i){return n=e(n,0),t(i)||(i=new s),i.red=r[n++],i.green=r[n++],i.blue=r[n++],i.alpha=r[n],i},s.byteToFloat=function(e){return e/255},s.floatToByte=function(e){return 1===e?255:0|256*e},s.clone=function(e,r){return t(e)?t(r)?(r.red=e.red,r.green=e.green,r.blue=e.blue,r.alpha=e.alpha,r):new s(e.red,e.green,e.blue,e.alpha):void 0},s.equals=function(e,r){return e===r||t(e)&&t(r)&&e.red===r.red&&e.green===r.green&&e.blue===r.blue&&e.alpha===r.alpha},s.prototype.clone=function(e){return s.clone(this,e)},s.prototype.equals=function(e){return s.equals(this,e)},s.prototype.equalsEpsilon=function(e,r){return this===e||t(e)&&Math.abs(this.red-e.red)<=r&&Math.abs(this.green-e.green)<=r&&Math.abs(this.blue-e.blue)<=r&&Math.abs(this.alpha-e.alpha)<=r},s.prototype.toString=function(){return"("+this.red+", "+this.green+", "+this.blue+", "+this.alpha+")"},s.prototype.toCssColorString=function(){var e=s.floatToByte(this.red),t=s.floatToByte(this.green),r=s.floatToByte(this.blue);return 1===this.alpha?"rgb("+e+","+t+","+r+")":"rgba("+e+","+t+","+r+","+this.alpha+")"},s.prototype.toBytes=function(e){var r=s.floatToByte(this.red),n=s.floatToByte(this.green),i=s.floatToByte(this.blue),a=s.floatToByte(this.alpha);return t(e)?(e[0]=r,e[1]=n,e[2]=i,e[3]=a,e):[r,n,i,a]},s.prototype.toRgba=function(){return c[0]=s.floatToByte(this.red),c[1]=s.floatToByte(this.green),c[2]=s.floatToByte(this.blue),c[3]=s.floatToByte(this.alpha),l[0]},s.ALICEBLUE=r(s.fromCssColorString("#F0F8FF")),s.ANTIQUEWHITE=r(s.fromCssColorString("#FAEBD7")),s.AQUA=r(s.fromCssColorString("#00FFFF")),s.AQUAMARINE=r(s.fromCssColorString("#7FFFD4")),s.AZURE=r(s.fromCssColorString("#F0FFFF")),s.BEIGE=r(s.fromCssColorString("#F5F5DC")),s.BISQUE=r(s.fromCssColorString("#FFE4C4")),s.BLACK=r(s.fromCssColorString("#000000")),s.BLANCHEDALMOND=r(s.fromCssColorString("#FFEBCD")),s.BLUE=r(s.fromCssColorString("#0000FF")),s.BLUEVIOLET=r(s.fromCssColorString("#8A2BE2")),s.BROWN=r(s.fromCssColorString("#A52A2A")),s.BURLYWOOD=r(s.fromCssColorString("#DEB887")),s.CADETBLUE=r(s.fromCssColorString("#5F9EA0")),s.CHARTREUSE=r(s.fromCssColorString("#7FFF00")),s.CHOCOLATE=r(s.fromCssColorString("#D2691E")),s.CORAL=r(s.fromCssColorString("#FF7F50")),s.CORNFLOWERBLUE=r(s.fromCssColorString("#6495ED")),s.CORNSILK=r(s.fromCssColorString("#FFF8DC")),s.CRIMSON=r(s.fromCssColorString("#DC143C")),s.CYAN=r(s.fromCssColorString("#00FFFF")),s.DARKBLUE=r(s.fromCssColorString("#00008B")),s.DARKCYAN=r(s.fromCssColorString("#008B8B")),s.DARKGOLDENROD=r(s.fromCssColorString("#B8860B")),s.DARKGRAY=r(s.fromCssColorString("#A9A9A9")),s.DARKGREEN=r(s.fromCssColorString("#006400")),s.DARKGREY=s.DARKGRAY,s.DARKKHAKI=r(s.fromCssColorString("#BDB76B")),s.DARKMAGENTA=r(s.fromCssColorString("#8B008B")),s.DARKOLIVEGREEN=r(s.fromCssColorString("#556B2F")),s.DARKORANGE=r(s.fromCssColorString("#FF8C00")),s.DARKORCHID=r(s.fromCssColorString("#9932CC")),s.DARKRED=r(s.fromCssColorString("#8B0000")),s.DARKSALMON=r(s.fromCssColorString("#E9967A")),s.DARKSEAGREEN=r(s.fromCssColorString("#8FBC8F")),s.DARKSLATEBLUE=r(s.fromCssColorString("#483D8B")),s.DARKSLATEGRAY=r(s.fromCssColorString("#2F4F4F")),s.DARKSLATEGREY=s.DARKSLATEGRAY,s.DARKTURQUOISE=r(s.fromCssColorString("#00CED1")),s.DARKVIOLET=r(s.fromCssColorString("#9400D3")),s.DEEPPINK=r(s.fromCssColorString("#FF1493")),s.DEEPSKYBLUE=r(s.fromCssColorString("#00BFFF")),s.DIMGRAY=r(s.fromCssColorString("#696969")),s.DIMGREY=s.DIMGRAY,s.DODGERBLUE=r(s.fromCssColorString("#1E90FF")),s.FIREBRICK=r(s.fromCssColorString("#B22222")),s.FLORALWHITE=r(s.fromCssColorString("#FFFAF0")),s.FORESTGREEN=r(s.fromCssColorString("#228B22")),s.FUSCHIA=r(s.fromCssColorString("#FF00FF")),s.GAINSBORO=r(s.fromCssColorString("#DCDCDC")),s.GHOSTWHITE=r(s.fromCssColorString("#F8F8FF")),s.GOLD=r(s.fromCssColorString("#FFD700")),s.GOLDENROD=r(s.fromCssColorString("#DAA520")),s.GRAY=r(s.fromCssColorString("#808080")),s.GREEN=r(s.fromCssColorString("#008000")),s.GREENYELLOW=r(s.fromCssColorString("#ADFF2F")),s.GREY=s.GRAY,s.HONEYDEW=r(s.fromCssColorString("#F0FFF0")),s.HOTPINK=r(s.fromCssColorString("#FF69B4")),s.INDIANRED=r(s.fromCssColorString("#CD5C5C")),s.INDIGO=r(s.fromCssColorString("#4B0082")),s.IVORY=r(s.fromCssColorString("#FFFFF0")),s.KHAKI=r(s.fromCssColorString("#F0E68C")),s.LAVENDER=r(s.fromCssColorString("#E6E6FA")),s.LAVENDAR_BLUSH=r(s.fromCssColorString("#FFF0F5")),s.LAWNGREEN=r(s.fromCssColorString("#7CFC00")),s.LEMONCHIFFON=r(s.fromCssColorString("#FFFACD")),s.LIGHTBLUE=r(s.fromCssColorString("#ADD8E6")),s.LIGHTCORAL=r(s.fromCssColorString("#F08080")),s.LIGHTCYAN=r(s.fromCssColorString("#E0FFFF")),s.LIGHTGOLDENRODYELLOW=r(s.fromCssColorString("#FAFAD2")),s.LIGHTGRAY=r(s.fromCssColorString("#D3D3D3")),s.LIGHTGREEN=r(s.fromCssColorString("#90EE90")),s.LIGHTGREY=s.LIGHTGRAY,s.LIGHTPINK=r(s.fromCssColorString("#FFB6C1")),s.LIGHTSEAGREEN=r(s.fromCssColorString("#20B2AA")),s.LIGHTSKYBLUE=r(s.fromCssColorString("#87CEFA")),s.LIGHTSLATEGRAY=r(s.fromCssColorString("#778899")),s.LIGHTSLATEGREY=s.LIGHTSLATEGRAY,s.LIGHTSTEELBLUE=r(s.fromCssColorString("#B0C4DE")),s.LIGHTYELLOW=r(s.fromCssColorString("#FFFFE0")),s.LIME=r(s.fromCssColorString("#00FF00")),s.LIMEGREEN=r(s.fromCssColorString("#32CD32")),s.LINEN=r(s.fromCssColorString("#FAF0E6")),s.MAGENTA=r(s.fromCssColorString("#FF00FF")),s.MAROON=r(s.fromCssColorString("#800000")),s.MEDIUMAQUAMARINE=r(s.fromCssColorString("#66CDAA")),s.MEDIUMBLUE=r(s.fromCssColorString("#0000CD")),s.MEDIUMORCHID=r(s.fromCssColorString("#BA55D3")),s.MEDIUMPURPLE=r(s.fromCssColorString("#9370DB")),s.MEDIUMSEAGREEN=r(s.fromCssColorString("#3CB371")),s.MEDIUMSLATEBLUE=r(s.fromCssColorString("#7B68EE")),s.MEDIUMSPRINGGREEN=r(s.fromCssColorString("#00FA9A")),s.MEDIUMTURQUOISE=r(s.fromCssColorString("#48D1CC")),s.MEDIUMVIOLETRED=r(s.fromCssColorString("#C71585")),s.MIDNIGHTBLUE=r(s.fromCssColorString("#191970")),s.MINTCREAM=r(s.fromCssColorString("#F5FFFA")),s.MISTYROSE=r(s.fromCssColorString("#FFE4E1")),s.MOCCASIN=r(s.fromCssColorString("#FFE4B5")),s.NAVAJOWHITE=r(s.fromCssColorString("#FFDEAD")),s.NAVY=r(s.fromCssColorString("#000080")),s.OLDLACE=r(s.fromCssColorString("#FDF5E6")),s.OLIVE=r(s.fromCssColorString("#808000")),s.OLIVEDRAB=r(s.fromCssColorString("#6B8E23")),s.ORANGE=r(s.fromCssColorString("#FFA500")),s.ORANGERED=r(s.fromCssColorString("#FF4500")),s.ORCHID=r(s.fromCssColorString("#DA70D6")),s.PALEGOLDENROD=r(s.fromCssColorString("#EEE8AA")),s.PALEGREEN=r(s.fromCssColorString("#98FB98")),s.PALETURQUOISE=r(s.fromCssColorString("#AFEEEE")),s.PALEVIOLETRED=r(s.fromCssColorString("#DB7093")),s.PAPAYAWHIP=r(s.fromCssColorString("#FFEFD5")),s.PEACHPUFF=r(s.fromCssColorString("#FFDAB9")),s.PERU=r(s.fromCssColorString("#CD853F")),s.PINK=r(s.fromCssColorString("#FFC0CB")),s.PLUM=r(s.fromCssColorString("#DDA0DD")),s.POWDERBLUE=r(s.fromCssColorString("#B0E0E6")),s.PURPLE=r(s.fromCssColorString("#800080")),s.RED=r(s.fromCssColorString("#FF0000")),s.ROSYBROWN=r(s.fromCssColorString("#BC8F8F")),s.ROYALBLUE=r(s.fromCssColorString("#4169E1")),s.SADDLEBROWN=r(s.fromCssColorString("#8B4513")),s.SALMON=r(s.fromCssColorString("#FA8072")),s.SANDYBROWN=r(s.fromCssColorString("#F4A460")),s.SEAGREEN=r(s.fromCssColorString("#2E8B57")),s.SEASHELL=r(s.fromCssColorString("#FFF5EE")),s.SIENNA=r(s.fromCssColorString("#A0522D")),s.SILVER=r(s.fromCssColorString("#C0C0C0")),s.SKYBLUE=r(s.fromCssColorString("#87CEEB")),s.SLATEBLUE=r(s.fromCssColorString("#6A5ACD")),s.SLATEGRAY=r(s.fromCssColorString("#708090")),s.SLATEGREY=s.SLATEGRAY,s.SNOW=r(s.fromCssColorString("#FFFAFA")),s.SPRINGGREEN=r(s.fromCssColorString("#00FF7F")),s.STEELBLUE=r(s.fromCssColorString("#4682B4")),s.TAN=r(s.fromCssColorString("#D2B48C")),s.TEAL=r(s.fromCssColorString("#008080")),s.THISTLE=r(s.fromCssColorString("#D8BFD8")),s.TOMATO=r(s.fromCssColorString("#FF6347")),s.TURQUOISE=r(s.fromCssColorString("#40E0D0")),s.VIOLET=r(s.fromCssColorString("#EE82EE")),s.WHEAT=r(s.fromCssColorString("#F5DEB3")),s.WHITE=r(s.fromCssColorString("#FFFFFF")),s.WHITESMOKE=r(s.fromCssColorString("#F5F5F5")),s.YELLOW=r(s.fromCssColorString("#FFFF00")),s.YELLOWGREEN=r(s.fromCssColorString("#9ACD32")),s}),define("Scene/PrimitivePipeline",["../Core/defined","../Core/defaultValue","../Core/Color","../Core/ComponentDatatype","../Core/DeveloperError","../Core/FeatureDetection","../Core/Geometry","../Core/GeometryAttribute","../Core/GeometryPipeline","../Core/Matrix4"],function(e,t,r,n,i,a,o,s,u,l){"use strict";function c(e,t,r){var n,i=!r,a=e.length;if(!i&&a>1){var o=e[0].modelMatrix;for(n=1;a>n;++n)if(!l.equals(o,e[n].modelMatrix)){i=!0;break}}if(i)for(n=0;a>n;++n)u.transformToWorldCoordinates(e[n]);else l.clone(e[0].modelMatrix,t)}function f(e,t){for(var i=e.length,a=0;i>a;++a){var o=e[a],u=o.geometry,l=u.attributes,c=l.position,f=4*(c.values.length/c.componentsPerAttribute);l.pickColor=new s({componentDatatype:n.UNSIGNED_BYTE,componentsPerAttribute:4,normalize:!0,values:new Uint8Array(f)});for(var m=t[a],y=r.floatToByte(m.red),h=r.floatToByte(m.green),p=r.floatToByte(m.blue),d=r.floatToByte(m.alpha),v=l.pickColor.values,g=0;f>g;g+=4)v[g]=y,v[g+1]=h,v[g+2]=p,v[g+3]=d}}function m(t){var r,n=t.length,i=[],a=t[0].attributes;for(r in a)if(a.hasOwnProperty(r)){for(var o=a[r],s=!0,u=1;n>u;++u){var l=t[u].attributes[r];if(!e(l)||o.componentDatatype.value!==l.componentDatatype.value||o.componentsPerAttribute!==l.componentsPerAttribute||o.normalize!==l.normalize){s=!1;break}}s&&i.push(r)}return i}function y(e,t){for(var r=e.length,i=0;r>i;++i)for(var a=e[i],u=a.attributes,l=a.geometry,c=o.computeNumberOfVertices(l),f=t.length,m=0;f>m;++m){for(var y=t[m],h=u[y],p=h.componentDatatype,d=h.value,v=d.length,g=n.createTypedArray(p,c*v),E=0;c>E;++E)g.set(d,E*v);l.attributes[y]=new s({componentDatatype:p,componentsPerAttribute:v,normalize:h.normalize,values:g})}}function h(e){var t,r=e.instances,i=e.pickIds,a=e.projection,o=e.elementIndexUintSupported,s=e.allow3DOnly,l=e.allowPicking,h=e.vertexCacheOptimize,p=e.modelMatrix,d=r.length;if(r[0].geometry.primitiveType,c(r,p,s),!s)for(t=0;d>t;++t)u.wrapLongitude(r[t].geometry);l&&f(r,i);var v=m(r);if(y(r,v),h)for(t=0;d>t;++t)u.reorderForPostVertexCache(r[t].geometry),u.reorderForPreVertexCache(r[t].geometry);var g,E=u.combine(r),w=E.attributes;if(s)for(g in w)w.hasOwnProperty(g)&&w[g].componentDatatype.value===n.DOUBLE.value&&u.encodeAttribute(E,g,g+"3DHigh",g+"3DLow");else for(g in w)if(w.hasOwnProperty(g)&&w[g].componentDatatype.value===n.DOUBLE.value){var S=g+"3D",x=g+"2D";u.projectTo2D(E,g,S,x,a),u.encodeAttribute(E,S,S+"High",S+"Low"),u.encodeAttribute(E,x,x+"High",x+"Low")}return o?[E]:u.fitToUnsignedShortIndices(E)}function p(e,t,r){for(var i=[],a=e.attributes,o=r.length,s=0;o>s;++s){var u=r[s],l=a[u],c=l.componentDatatype;c.value===n.DOUBLE.value&&(c=n.FLOAT);var f=n.createTypedArray(c,l.values);i.push({index:t[u],componentDatatype:c,componentsPerAttribute:l.componentsPerAttribute,normalize:l.normalize,values:f}),delete a[u]}return i}function d(r,n,i){for(var a=[],s=m(r),u=r.length,l={},c={},f=0;u>f;++f)for(var y=r[f],h=o.computeNumberOfVertices(y.geometry),p=s.length,d=0;p>d;++d)for(var v=s[d],g=i[v],E=h;E>0;){for(var w,S=t(c[v],0),x=n[S],C=x.length,A=0;C>A&&(w=x[A],w.index!==g);++A);e(a[f])||(a[f]={}),e(a[f][v])||(a[f][v]={dirty:!1,value:y.attributes[v].value,indices:[]});var M,b=w.values.length/w.componentsPerAttribute,T=t(l[v],0);b>T+E?(M=E,a[f][v].indices.push({attribute:w,offset:T,count:M}),l[v]=T+E):(M=b-T,a[f][v].indices.push({attribute:w,offset:T,count:M}),l[v]=0,c[v]=S+1),E-=M}return a}function v(t){return e(t.constructor.name)?{type:t.constructor.name,buffer:t.buffer}:t}function g(t){return e(t.type)?new w[t.type](t.buffer):t}if(!a.supportsTypedArrays())return{};var E={};E.combineGeometry=function(e){for(var t={instances:e.instances,pickIds:e.pickIds,ellipsoid:e.ellipsoid,projection:e.projection,elementIndexUintSupported:e.elementIndexUintSupported,allow3DOnly:e.allow3DOnly,allowPicking:e.allowPicking,vertexCacheOptimize:e.vertexCacheOptimize,modelMatrix:l.clone(e.modelMatrix)},r=h(t),n=u.createAttributeLocations(r[0]),i=t.instances,a=m(i),o=[],s=r.length,c=0;s>c;++c){var f=r[c];o.push(p(f,n,a))}var y=d(i,o,n);return{geometries:r,modelMatrix:t.modelMatrix,attributeLocations:n,vaAttributes:o,vaAttributeLocations:y}};var w={Int8Array:Int8Array,Uint8Array:Uint8Array,Int16Array:Int16Array,Uint16Array:Uint16Array,Int32Array:Int32Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array};return E.transferGeometry=function(t,r){var n,i=t.attributes;for(var o in i)i.hasOwnProperty(o)&&e(i[o])&&e(i[o].values)&&(n=i[o].values,a.supportsTransferringArrayBuffers()&&r.indexOf(i[o].values.buffer)<0&&r.push(n.buffer),e(n.type)||(i[o].values=v(n)));e(t.indices)&&(n=t.indices,a.supportsTransferringArrayBuffers()&&r.push(n.buffer),e(n.type)||(t.indices=v(t.indices)))},E.transferGeometries=function(e,t){for(var r=e.length,n=0;r>n;++n)E.transferGeometry(e[n],t)},E.transferPerInstanceAttributes=function(e,t){for(var r=e.length,n=0;r>n;++n)for(var i=e[n],o=i.length,s=0;o>s;++s){var u=i[s].values;a.supportsTransferringArrayBuffers()&&t.push(u.buffer),i[s].values=v(u)}},E.transferInstances=function(e,t){for(var r=e.length,n=0;r>n;++n){var i=e[n];E.transferGeometry(i.geometry,t)}},E.receiveGeometry=function(t){var r=t.attributes;for(var n in r)r.hasOwnProperty(n)&&e(r[n])&&e(r[n].values)&&(r[n].values=g(r[n].values));e(t.indices)&&(t.indices=g(t.indices))},E.receiveGeometries=function(e){for(var t=e.length,r=0;t>r;++r)E.receiveGeometry(e[r])},E.receivePerInstanceAttributes=function(e){for(var t=e.length,r=0;t>r;++r)for(var n=e[r],i=n.length,a=0;i>a;++a)n[a].values=g(n[a].values)},E.receiveInstances=function(e){for(var t=e.length,r=0;t>r;++r){var n=e[r];E.receiveGeometry(n.geometry)}},E}),define("Workers/createTaskProcessorWorker",["../Core/defaultValue","../Core/defined"],function(e,t){"use strict";var r=function(r){var n,i=[],a={id:void 0,result:void 0,error:void 0};return function(o){var s=o.data;i.length=0,a.id=s.id,a.error=void 0,a.result=void 0;try{a.result=r(s.parameters,i)}catch(u){a.error=u}t(n)||(n=e(self.webkitPostMessage,self.postMessage));try{n(a,i)}catch(u){a.result=void 0,a.error="postMessage failed with error: "+u+"\n with responseMessage: "+JSON.stringify(a),n(a)}}};return r}),define("Workers/createEllipseGeometry",["../Core/Cartesian3","../Core/EllipseGeometry","../Core/Ellipsoid","../Scene/PrimitivePipeline","./createTaskProcessorWorker"],function(e,t,r,n,i){"use strict";function a(i,a){var o=i.geometry;o._center=e.clone(o._center),o._ellipsoid=r.clone(o._ellipsoid);var s=t.createGeometry(o);return n.transferGeometry(s,a),{geometry:s,index:i.index}}return i(a)})}(); \ No newline at end of file diff --git a/Cesium/Workers/createEllipseOutlineGeometry.js b/Cesium/Workers/createEllipseOutlineGeometry.js new file mode 100644 index 0000000..cb97e15 --- /dev/null +++ b/Cesium/Workers/createEllipseOutlineGeometry.js @@ -0,0 +1,61 @@ +/** + * Cesium - https://github.com/AnalyticalGraphicsInc/cesium + * + * Copyright 2011-2014 Cesium Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Columbus View (Pat. Pend.) + * + * Portions licensed separately. + * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details. + */ +/** +@license +mersenne-twister.js - https://gist.github.com/banksean/300494 + + Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura, + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. The names of its contributors may not be used to endorse or promote + products derived from this software without specific prior written + permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +!function(){define("Core/defined",[],function(){"use strict";var e=function(e){return void 0!==e};return e}),define("Core/freezeObject",["./defined"],function(e){"use strict";var r=Object.freeze;return e(r)||(r=function(e){return e}),r}),define("Core/defaultValue",["./freezeObject"],function(e){"use strict";var r=function(e,r){return void 0!==e?e:r};return r.EMPTY_OBJECT=e({}),r}),define("Core/DeveloperError",["./defined"],function(e){"use strict";var r=function(e){this.name="DeveloperError",this.message=e;var r;try{throw new Error}catch(t){r=t.stack}this.stack=r};return r.prototype.toString=function(){var r=this.name+": "+this.message;return e(this.stack)&&(r+="\n"+this.stack.toString()),r},r.throwInstantiationError=function(){throw new r("This function defines an interface and should not be called directly.")},r}),define("Core/Cartesian3",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,r,t,n){"use strict";var i=function(r,t,n){this.x=e(r,0),this.y=e(t,0),this.z=e(n,0)};i.fromSpherical=function(t,n){r(n)||(n=new i);var a=t.clock,o=t.cone,u=e(t.magnitude,1),s=u*Math.sin(o);return n.x=s*Math.cos(a),n.y=s*Math.sin(a),n.z=u*Math.cos(o),n},i.fromElements=function(e,t,n,a){return r(a)?(a.x=e,a.y=t,a.z=n,a):new i(e,t,n)},i.clone=function(e,t){return r(e)?r(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t):new i(e.x,e.y,e.z):void 0},i.fromCartesian4=i.clone,i.packedLength=3,i.pack=function(r,t,n){n=e(n,0),t[n++]=r.x,t[n++]=r.y,t[n]=r.z},i.unpack=function(t,n,a){return n=e(n,0),r(a)||(a=new i),a.x=t[n++],a.y=t[n++],a.z=t[n],a},i.fromArray=i.unpack,i.getMaximumComponent=function(e){return Math.max(e.x,e.y,e.z)},i.getMinimumComponent=function(e){return Math.min(e.x,e.y,e.z)},i.getMinimumByComponent=function(e,t,n){return r(n)||(n=new i),n.x=Math.min(e.x,t.x),n.y=Math.min(e.y,t.y),n.z=Math.min(e.z,t.z),n},i.getMaximumByComponent=function(e,t,n){return r(n)||(n=new i),n.x=Math.max(e.x,t.x),n.y=Math.max(e.y,t.y),n.z=Math.max(e.z,t.z),n},i.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z},i.magnitude=function(e){return Math.sqrt(i.magnitudeSquared(e))};var a=new i;i.distance=function(e,r){return i.subtract(e,r,a),i.magnitude(a)},i.normalize=function(e,t){var n=i.magnitude(e);return r(t)?(t.x=e.x/n,t.y=e.y/n,t.z=e.z/n,t):new i(e.x/n,e.y/n,e.z/n)},i.dot=function(e,r){return e.x*r.x+e.y*r.y+e.z*r.z},i.multiplyComponents=function(e,t,n){return r(n)?(n.x=e.x*t.x,n.y=e.y*t.y,n.z=e.z*t.z,n):new i(e.x*t.x,e.y*t.y,e.z*t.z)},i.add=function(e,t,n){return r(n)?(n.x=e.x+t.x,n.y=e.y+t.y,n.z=e.z+t.z,n):new i(e.x+t.x,e.y+t.y,e.z+t.z)},i.subtract=function(e,t,n){return r(n)?(n.x=e.x-t.x,n.y=e.y-t.y,n.z=e.z-t.z,n):new i(e.x-t.x,e.y-t.y,e.z-t.z)},i.multiplyByScalar=function(e,t,n){return r(n)?(n.x=e.x*t,n.y=e.y*t,n.z=e.z*t,n):new i(e.x*t,e.y*t,e.z*t)},i.divideByScalar=function(e,t,n){return r(n)?(n.x=e.x/t,n.y=e.y/t,n.z=e.z/t,n):new i(e.x/t,e.y/t,e.z/t)},i.negate=function(e,t){return r(t)?(t.x=-e.x,t.y=-e.y,t.z=-e.z,t):new i(-e.x,-e.y,-e.z)},i.abs=function(e,t){return r(t)?(t.x=Math.abs(e.x),t.y=Math.abs(e.y),t.z=Math.abs(e.z),t):new i(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z))};var o=new i;i.lerp=function(e,r,t,n){return i.multiplyByScalar(r,t,o),n=i.multiplyByScalar(e,1-t,n),i.add(o,n,n)};var u=new i,s=new i;i.angleBetween=function(e,r){i.normalize(e,u),i.normalize(r,s);var t=i.dot(u,s),n=i.magnitude(i.cross(u,s,u));return Math.atan2(n,t)};var l=new i;return i.mostOrthogonalAxis=function(e,r){var t=i.normalize(e,l);return i.abs(t,t),r=t.x<=t.y?t.x<=t.z?i.clone(i.UNIT_X,r):i.clone(i.UNIT_Z,r):t.y<=t.z?i.clone(i.UNIT_Y,r):i.clone(i.UNIT_Z,r)},i.equals=function(e,t){return e===t||r(e)&&r(t)&&e.x===t.x&&e.y===t.y&&e.z===t.z},i.equalsEpsilon=function(e,t,n){return e===t||r(e)&&r(t)&&Math.abs(e.x-t.x)<=n&&Math.abs(e.y-t.y)<=n&&Math.abs(e.z-t.z)<=n},i.cross=function(e,t,n){var a=e.x,o=e.y,u=e.z,s=t.x,l=t.y,c=t.z,f=o*c-u*l,m=u*s-a*c,y=a*l-o*s;return r(n)?(n.x=f,n.y=m,n.z=y,n):new i(f,m,y)},i.ZERO=n(new i(0,0,0)),i.UNIT_X=n(new i(1,0,0)),i.UNIT_Y=n(new i(0,1,0)),i.UNIT_Z=n(new i(0,0,1)),i.prototype.clone=function(e){return i.clone(this,e)},i.prototype.equals=function(e){return i.equals(this,e)},i.prototype.equalsEpsilon=function(e,r){return i.equalsEpsilon(this,e,r)},i.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+")"},i}),define("ThirdParty/mersenne-twister",[],function(){var e=function(e){void 0==e&&(e=(new Date).getTime()),this.N=624,this.M=397,this.MATRIX_A=2567483615,this.UPPER_MASK=2147483648,this.LOWER_MASK=2147483647,this.mt=new Array(this.N),this.mti=this.N+1,this.init_genrand(e)};return e.prototype.init_genrand=function(e){for(this.mt[0]=e>>>0,this.mti=1;this.mti>>30;this.mt[this.mti]=(1812433253*((4294901760&e)>>>16)<<16)+1812433253*(65535&e)+this.mti,this.mt[this.mti]>>>=0}},e.prototype.genrand_int32=function(){var e,r=new Array(0,this.MATRIX_A);if(this.mti>=this.N){var t;for(this.mti==this.N+1&&this.init_genrand(5489),t=0;t>>1^r[1&e];for(;t>>1^r[1&e];e=this.mt[this.N-1]&this.UPPER_MASK|this.mt[0]&this.LOWER_MASK,this.mt[this.N-1]=this.mt[this.M-1]^e>>>1^r[1&e],this.mti=0}return e=this.mt[this.mti++],e^=e>>>11,e^=2636928640&e<<7,e^=4022730752&e<<15,e^=e>>>18,e>>>0},e.prototype.random=function(){return this.genrand_int32()*(1/4294967296)},e}),define("Core/Math",["./defaultValue","./defined","./DeveloperError","../ThirdParty/mersenne-twister"],function(e,r,t,n){"use strict";var i={};i.EPSILON1=.1,i.EPSILON2=.01,i.EPSILON3=.001,i.EPSILON4=1e-4,i.EPSILON5=1e-5,i.EPSILON6=1e-6,i.EPSILON7=1e-7,i.EPSILON8=1e-8,i.EPSILON9=1e-9,i.EPSILON10=1e-10,i.EPSILON11=1e-11,i.EPSILON12=1e-12,i.EPSILON13=1e-13,i.EPSILON14=1e-14,i.EPSILON15=1e-15,i.EPSILON16=1e-16,i.EPSILON17=1e-17,i.EPSILON18=1e-18,i.EPSILON19=1e-19,i.EPSILON20=1e-20,i.GRAVITATIONALPARAMETER=3986004418e5,i.SOLAR_RADIUS=6955e5,i.LUNAR_RADIUS=1737400,i.SIXTY_FOUR_KILOBYTES=65536,i.sign=function(e){return e>0?1:0>e?-1:0},i.sinh=function(e){var r=Math.pow(Math.E,e),t=Math.pow(Math.E,-1*e);return.5*(r-t)},i.cosh=function(e){var r=Math.pow(Math.E,e),t=Math.pow(Math.E,-1*e);return.5*(r+t)},i.lerp=function(e,r,t){return(1-t)*e+t*r},i.PI=Math.PI,i.ONE_OVER_PI=1/Math.PI,i.PI_OVER_TWO=.5*Math.PI,i.PI_OVER_THREE=Math.PI/3,i.PI_OVER_FOUR=Math.PI/4,i.PI_OVER_SIX=Math.PI/6,i.THREE_PI_OVER_TWO=.5*3*Math.PI,i.TWO_PI=2*Math.PI,i.ONE_OVER_TWO_PI=1/(2*Math.PI),i.RADIANS_PER_DEGREE=Math.PI/180,i.DEGREES_PER_RADIAN=180/Math.PI,i.RADIANS_PER_ARCSECOND=i.RADIANS_PER_DEGREE/3600,i.toRadians=function(e){return e*i.RADIANS_PER_DEGREE},i.toDegrees=function(e){return e*i.DEGREES_PER_RADIAN},i.convertLongitudeRange=function(e){var r=i.TWO_PI,t=e-Math.floor(e/r)*r;return t<-Math.PI?t+r:t>=Math.PI?t-r:t},i.negativePiToPi=function(e){for(var r=i.EPSILON10,t=i.PI,n=i.TWO_PI;-(t+r)>e;)e+=n;if(-t>e)return-t;for(;e>t+r;)e-=n;return e>t?t:e},i.zeroToTwoPi=function(e){var r=e%i.TWO_PI;return 0>r?(r+i.TWO_PI)%i.TWO_PI:r},i.equalsEpsilon=function(r,t,n){return n=e(n,0),Math.abs(r-t)<=n};var a=[1];i.factorial=function(e){var r=a.length;if(e>=r)for(var t=a[r-1],n=r;e>=n;n++)a.push(t*n);return a[e]},i.incrementWrap=function(r,t,n){return n=e(n,0),++r,r>t&&(r=n),r},i.isPowerOfTwo=function(e){return 0!==e&&0===(e&e-1)},i.nextPowerOfTwo=function(e){return--e,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,++e,e},i.clamp=function(e,r,t){return r>e?r:e>t?t:e};var o=new n;return i.setRandomNumberSeed=function(e){o=new n(e)},i.nextRandomNumber=function(){return o.random()},i}),define("Core/Cartographic",["./defaultValue","./defined","./DeveloperError","./freezeObject","./Math"],function(e,r,t,n,i){"use strict";var a=function(r,t,n){this.longitude=e(r,0),this.latitude=e(t,0),this.height=e(n,0)};return a.fromDegrees=function(t,n,o,u){return t=i.toRadians(e(t,0)),n=i.toRadians(e(n,0)),o=e(o,0),r(u)?(u.longitude=t,u.latitude=n,u.height=o,u):new a(t,n,o)},a.clone=function(e,t){return r(e)?r(t)?(t.longitude=e.longitude,t.latitude=e.latitude,t.height=e.height,t):new a(e.longitude,e.latitude,e.height):void 0},a.equals=function(e,t){return e===t||r(e)&&r(t)&&e.longitude===t.longitude&&e.latitude===t.latitude&&e.height===t.height},a.equalsEpsilon=function(e,t,n){return e===t||r(e)&&r(t)&&Math.abs(e.longitude-t.longitude)<=n&&Math.abs(e.latitude-t.latitude)<=n&&Math.abs(e.height-t.height)<=n},a.toString=function(e){return"("+e.longitude+", "+e.latitude+", "+e.height+")"},a.ZERO=n(new a(0,0,0)),a.prototype.clone=function(e){return a.clone(this,e)},a.prototype.equals=function(e){return a.equals(this,e)},a.prototype.equalsEpsilon=function(e,r){return a.equalsEpsilon(this,e,r)},a.prototype.toString=function(){return a.toString(this)},a}),define("Core/defineProperties",["./defined"],function(e){"use strict";var r=function(){try{return"x"in Object.defineProperty({},"x",{})}catch(e){return!1}}(),t=Object.defineProperties;return r&&e(t)||(t=function(e){return e}),t}),define("Core/Ellipsoid",["./freezeObject","./defaultValue","./defined","./defineProperties","./DeveloperError","./Math","./Cartesian3","./Cartographic"],function(e,r,t,n,i,a,o,u){"use strict";var s=function(e,t,n){e=r(e,0),t=r(t,0),n=r(n,0),this._radii=new o(e,t,n),this._radiiSquared=new o(e*e,t*t,n*n),this._radiiToTheFourth=new o(e*e*e*e,t*t*t*t,n*n*n*n),this._oneOverRadii=new o(0===e?0:1/e,0===t?0:1/t,0===n?0:1/n),this._oneOverRadiiSquared=new o(0===e?0:1/(e*e),0===t?0:1/(t*t),0===n?0:1/(n*n)),this._minimumRadius=Math.min(e,t,n),this._maximumRadius=Math.max(e,t,n),this._centerToleranceSquared=a.EPSILON1};n(s.prototype,{radii:{get:function(){return this._radii}},radiiSquared:{get:function(){return this._radiiSquared}},radiiToTheFourth:{get:function(){return this._radiiToTheFourth}},oneOverRadii:{get:function(){return this._oneOverRadii}},oneOverRadiiSquared:{get:function(){return this._oneOverRadiiSquared}},minimumRadius:{get:function(){return this._minimumRadius}},maximumRadius:{get:function(){return this._maximumRadius}}}),s.clone=function(e,r){if(!t(e))return void 0;var n=e._radii;return t(r)?(o.clone(n,r._radii),o.clone(e._radiiSquared,r._radiiSquared),o.clone(e._radiiToTheFourth,r._radiiToTheFourth),o.clone(e._oneOverRadii,r._oneOverRadii),o.clone(e._oneOverRadiiSquared,r._oneOverRadiiSquared),r._minimumRadius=e._minimumRadius,r._maximumRadius=e._maximumRadius,r._centerToleranceSquared=e._centerToleranceSquared,r):new s(n.x,n.y,n.z)},s.fromCartesian3=function(e){return t(e)?new s(e.x,e.y,e.z):new s},s.WGS84=e(new s(6378137,6378137,6356752.314245179)),s.UNIT_SPHERE=e(new s(1,1,1)),s.MOON=e(new s(a.LUNAR_RADIUS,a.LUNAR_RADIUS,a.LUNAR_RADIUS)),s.prototype.clone=function(e){return s.clone(this,e)},s.prototype.geocentricSurfaceNormal=o.normalize,s.prototype.geodeticSurfaceNormalCartographic=function(e,r){var n=e.longitude,i=e.latitude,a=Math.cos(i),u=a*Math.cos(n),s=a*Math.sin(n),l=Math.sin(i);return t(r)||(r=new o),r.x=u,r.y=s,r.z=l,o.normalize(r,r)},s.prototype.geodeticSurfaceNormal=function(e,r){return r=o.multiplyComponents(e,this._oneOverRadiiSquared,r),o.normalize(r,r)};var l=new o,c=new o;s.prototype.cartographicToCartesian=function(e,r){var t=l,n=c;this.geodeticSurfaceNormalCartographic(e,t),o.multiplyComponents(this._radiiSquared,t,n);var i=Math.sqrt(o.dot(t,n));return o.divideByScalar(n,i,n),o.multiplyByScalar(t,e.height,t),o.add(n,t,r)},s.prototype.cartographicArrayToCartesianArray=function(e,r){var n=e.length;t(r)?r.length=n:r=new Array(n);for(var i=0;n>i;i++)r[i]=this.cartographicToCartesian(e[i],r[i]);return r};var f=new o,m=new o,y=new o;s.prototype.cartesianToCartographic=function(e,r){var n=this.scaleToGeodeticSurface(e,m);if(!t(n))return void 0;var i=this.geodeticSurfaceNormal(n,f),s=o.subtract(e,n,y),l=Math.atan2(i.y,i.x),c=Math.asin(i.z),h=a.sign(o.dot(s,e))*o.magnitude(s);return t(r)?(r.longitude=l,r.latitude=c,r.height=h,r):new u(l,c,h)},s.prototype.cartesianArrayToCartographicArray=function(e,r){var n=e.length;t(r)?r.length=n:r=new Array(n);for(var i=0;n>i;++i)r[i]=this.cartesianToCartographic(e[i],r[i]);return r};var h=new o,p=new o;return s.prototype.scaleToGeodeticSurface=function(e,r){var n=e.x,i=e.y,u=e.z,s=this._oneOverRadii,l=s.x,c=s.y,f=s.z,m=n*n*l*l,y=i*i*c*c,d=u*u*f*f,v=m+y+d,g=Math.sqrt(1/v),E=o.multiplyByScalar(e,g,h);if(va.EPSILON12);return t(r)?(r.x=n*T,r.y=i*O,r.z=u*I,r):new o(n*T,i*O,u*I)},s.prototype.scaleToGeocentricSurface=function(e,r){var t=e.x,n=e.y,i=e.z,a=this._oneOverRadiiSquared,u=1/Math.sqrt(t*t*a.x+n*n*a.y+i*i*a.z);return o.multiplyByScalar(e,u,r)},s.prototype.transformPositionToScaledSpace=function(e,r){return o.multiplyComponents(e,this._oneOverRadii,r)},s.prototype.transformPositionFromScaledSpace=function(e,r){return o.multiplyComponents(e,this._radii,r)},s.prototype.equals=function(e){return this===e||t(e)&&o.equals(this._radii,e._radii)},s.prototype.toString=function(){return this._radii.toString()},s}),define("Core/GeographicProjection",["./defaultValue","./defined","./defineProperties","./Cartesian3","./Cartographic","./Ellipsoid"],function(e,r,t,n,i,a){"use strict";var o=function(r){this._ellipsoid=e(r,a.WGS84),this._semimajorAxis=this._ellipsoid.maximumRadius,this._oneOverSemimajorAxis=1/this._semimajorAxis};return t(o.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}}),o.prototype.project=function(e,t){var i=this._semimajorAxis,a=e.longitude*i,o=e.latitude*i,u=e.height;return r(t)?(t.x=a,t.y=o,t.z=u,t):new n(a,o,u)},o.prototype.unproject=function(e,t){var n=this._oneOverSemimajorAxis,a=e.x*n,o=e.y*n,u=e.z;return r(t)?(t.longitude=a,t.latitude=o,t.height=u,t):new i(a,o,u)},o}),define("Core/Enumeration",["./defined"],function(e){"use strict";var r=function(r,t,n){if(this.value=r,this.name=t,e(n))for(var i in n)n.hasOwnProperty(i)&&(this[i]=n[i])};return r.prototype.valueOf=function(){return this.value},r.prototype.toString=function(){return this.name},r}),define("Core/Intersect",["./Enumeration"],function(e){"use strict";var r={OUTSIDE:new e(-1,"OUTSIDE"),INTERSECTING:new e(0,"INTERSECTING"),INSIDE:new e(1,"INSIDE")};return r}),define("Core/Interval",["./defaultValue"],function(e){"use strict";var r=function(r,t){this.start=e(r,0),this.stop=e(t,0)};return r}),define("Core/Cartesian4",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,r,t,n){"use strict";var i=function(r,t,n,i){this.x=e(r,0),this.y=e(t,0),this.z=e(n,0),this.w=e(i,0)};i.fromElements=function(e,t,n,a,o){return r(o)?(o.x=e,o.y=t,o.z=n,o.w=a,o):new i(e,t,n,a)},i.clone=function(e,t){return r(e)?r(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t):new i(e.x,e.y,e.z,e.w):void 0},i.packedLength=4,i.pack=function(r,t,n){n=e(n,0),t[n++]=r.x,t[n++]=r.y,t[n++]=r.z,t[n]=r.w},i.unpack=function(t,n,a){return n=e(n,0),r(a)||(a=new i),a.x=t[n++],a.y=t[n++],a.z=t[n++],a.w=t[n],a},i.fromArray=i.unpack,i.getMaximumComponent=function(e){return Math.max(e.x,e.y,e.z,e.w)},i.getMinimumComponent=function(e){return Math.min(e.x,e.y,e.z,e.w)},i.getMinimumByComponent=function(e,t,n){return r(n)||(n=new i),n.x=Math.min(e.x,t.x),n.y=Math.min(e.y,t.y),n.z=Math.min(e.z,t.z),n.w=Math.min(e.w,t.w),n},i.getMaximumByComponent=function(e,t,n){return r(n)||(n=new i),n.x=Math.max(e.x,t.x),n.y=Math.max(e.y,t.y),n.z=Math.max(e.z,t.z),n.w=Math.max(e.w,t.w),n},i.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w},i.magnitude=function(e){return Math.sqrt(i.magnitudeSquared(e))};var a=new i;i.distance=function(e,r){return i.subtract(e,r,a),i.magnitude(a)},i.normalize=function(e,t){var n=i.magnitude(e);return r(t)?(t.x=e.x/n,t.y=e.y/n,t.z=e.z/n,t.w=e.w/n,t):new i(e.x/n,e.y/n,e.z/n,e.w/n)},i.dot=function(e,r){return e.x*r.x+e.y*r.y+e.z*r.z+e.w*r.w},i.multiplyComponents=function(e,t,n){return r(n)?(n.x=e.x*t.x,n.y=e.y*t.y,n.z=e.z*t.z,n.w=e.w*t.w,n):new i(e.x*t.x,e.y*t.y,e.z*t.z,e.w*t.w)},i.add=function(e,t,n){return r(n)?(n.x=e.x+t.x,n.y=e.y+t.y,n.z=e.z+t.z,n.w=e.w+t.w,n):new i(e.x+t.x,e.y+t.y,e.z+t.z,e.w+t.w)},i.subtract=function(e,t,n){return r(n)?(n.x=e.x-t.x,n.y=e.y-t.y,n.z=e.z-t.z,n.w=e.w-t.w,n):new i(e.x-t.x,e.y-t.y,e.z-t.z,e.w-t.w)},i.multiplyByScalar=function(e,t,n){return r(n)?(n.x=e.x*t,n.y=e.y*t,n.z=e.z*t,n.w=e.w*t,n):new i(e.x*t,e.y*t,e.z*t,e.w*t)},i.divideByScalar=function(e,t,n){return r(n)?(n.x=e.x/t,n.y=e.y/t,n.z=e.z/t,n.w=e.w/t,n):new i(e.x/t,e.y/t,e.z/t,e.w/t)},i.negate=function(e,t){return r(t)?(t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=-e.w,t):new i(-e.x,-e.y,-e.z,-e.w)},i.abs=function(e,t){return r(t)?(t.x=Math.abs(e.x),t.y=Math.abs(e.y),t.z=Math.abs(e.z),t.w=Math.abs(e.w),t):new i(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z),Math.abs(e.w))};var o=new i;i.lerp=function(e,r,t,n){return i.multiplyByScalar(r,t,o),n=i.multiplyByScalar(e,1-t,n),i.add(o,n,n)};var u=new i;return i.mostOrthogonalAxis=function(e,r){var t=i.normalize(e,u);return i.abs(t,t),r=t.x<=t.y?t.x<=t.z?t.x<=t.w?i.clone(i.UNIT_X,r):i.clone(i.UNIT_W,r):t.z<=t.w?i.clone(i.UNIT_Z,r):i.clone(i.UNIT_W,r):t.y<=t.z?t.y<=t.w?i.clone(i.UNIT_Y,r):i.clone(i.UNIT_W,r):t.z<=t.w?i.clone(i.UNIT_Z,r):i.clone(i.UNIT_W,r)},i.equals=function(e,t){return e===t||r(e)&&r(t)&&e.x===t.x&&e.y===t.y&&e.z===t.z&&e.w===t.w},i.equalsEpsilon=function(e,t,n){return e===t||r(e)&&r(t)&&Math.abs(e.x-t.x)<=n&&Math.abs(e.y-t.y)<=n&&Math.abs(e.z-t.z)<=n&&Math.abs(e.w-t.w)<=n},i.ZERO=n(new i(0,0,0,0)),i.UNIT_X=n(new i(1,0,0,0)),i.UNIT_Y=n(new i(0,1,0,0)),i.UNIT_Z=n(new i(0,0,1,0)),i.UNIT_W=n(new i(0,0,0,1)),i.prototype.clone=function(e){return i.clone(this,e)},i.prototype.equals=function(e){return i.equals(this,e)},i.prototype.equalsEpsilon=function(e,r){return i.equalsEpsilon(this,e,r)},i.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+", "+this.w+")"},i}),define("Core/Matrix3",["./Cartesian3","./defaultValue","./defined","./DeveloperError","./freezeObject","./Math"],function(e,r,t,n,i,a){"use strict";function o(e){for(var r=0,t=0;9>t;++t){var n=e[t];r+=n*n}return Math.sqrt(r)}function u(e){for(var r=0,t=0;3>t;++t){var n=e[l.getElementIndex(f[t],c[t])];r+=2*n*n}return Math.sqrt(r)}function s(e,r){for(var t=a.EPSILON15,n=0,i=1,o=0;3>o;++o){var u=Math.abs(e[l.getElementIndex(f[o],c[o])]);u>n&&(i=o,n=u)}var s=1,m=0,y=c[i],h=f[i];if(Math.abs(e[l.getElementIndex(h,y)])>t){var p,d=e[l.getElementIndex(h,h)],v=e[l.getElementIndex(y,y)],g=e[l.getElementIndex(h,y)],E=(d-v)/2/g;p=0>E?-1/(-E+Math.sqrt(1+E*E)):1/(E+Math.sqrt(1+E*E)),s=1/Math.sqrt(1+p*p),m=p*s}return r=l.clone(l.IDENTITY,r),r[l.getElementIndex(y,y)]=r[l.getElementIndex(h,h)]=s,r[l.getElementIndex(h,y)]=m,r[l.getElementIndex(y,h)]=-m,r}var l=function(e,t,n,i,a,o,u,s,l){this[0]=r(e,0),this[1]=r(i,0),this[2]=r(u,0),this[3]=r(t,0),this[4]=r(a,0),this[5]=r(s,0),this[6]=r(n,0),this[7]=r(o,0),this[8]=r(l,0)};l.clone=function(e,r){return t(e)?t(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r):new l(e[0],e[3],e[6],e[1],e[4],e[7],e[2],e[5],e[8]):void 0},l.fromArray=function(e,n,i){return n=r(n,0),t(i)||(i=new l),i[0]=e[n],i[1]=e[n+1],i[2]=e[n+2],i[3]=e[n+3],i[4]=e[n+4],i[5]=e[n+5],i[6]=e[n+6],i[7]=e[n+7],i[8]=e[n+8],i[9]=e[n+9],i},l.fromColumnMajorArray=function(e,r){return l.clone(e,r)},l.fromRowMajorArray=function(e,r){return t(r)?(r[0]=e[0],r[1]=e[3],r[2]=e[6],r[3]=e[1],r[4]=e[4],r[5]=e[7],r[6]=e[2],r[7]=e[5],r[8]=e[8],r):new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])},l.fromQuaternion=function(e,r){var n=e.x*e.x,i=e.x*e.y,a=e.x*e.z,o=e.x*e.w,u=e.y*e.y,s=e.y*e.z,c=e.y*e.w,f=e.z*e.z,m=e.z*e.w,y=e.w*e.w,h=n-u-f+y,p=2*(i-m),d=2*(a+c),v=2*(i+m),g=-n+u-f+y,E=2*(s-o),w=2*(a-c),S=2*(s+o),C=-n-u+f+y;return t(r)?(r[0]=h,r[1]=v,r[2]=w,r[3]=p,r[4]=g,r[5]=S,r[6]=d,r[7]=E,r[8]=C,r):new l(h,p,d,v,g,E,w,S,C)},l.fromScale=function(e,r){return t(r)?(r[0]=e.x,r[1]=0,r[2]=0,r[3]=0,r[4]=e.y,r[5]=0,r[6]=0,r[7]=0,r[8]=e.z,r):new l(e.x,0,0,0,e.y,0,0,0,e.z)},l.fromUniformScale=function(e,r){return t(r)?(r[0]=e,r[1]=0,r[2]=0,r[3]=0,r[4]=e,r[5]=0,r[6]=0,r[7]=0,r[8]=e,r):new l(e,0,0,0,e,0,0,0,e)},l.fromRotationX=function(e,r){var n=Math.cos(e),i=Math.sin(e);return t(r)?(r[0]=1,r[1]=0,r[2]=0,r[3]=0,r[4]=n,r[5]=i,r[6]=0,r[7]=-i,r[8]=n,r):new l(1,0,0,0,n,-i,0,i,n)},l.fromRotationY=function(e,r){var n=Math.cos(e),i=Math.sin(e);return t(r)?(r[0]=n,r[1]=0,r[2]=-i,r[3]=0,r[4]=1,r[5]=0,r[6]=i,r[7]=0,r[8]=n,r):new l(n,0,i,0,1,0,-i,0,n)},l.fromRotationZ=function(e,r){var n=Math.cos(e),i=Math.sin(e);return t(r)?(r[0]=n,r[1]=i,r[2]=0,r[3]=-i,r[4]=n,r[5]=0,r[6]=0,r[7]=0,r[8]=1,r):new l(n,-i,0,i,n,0,0,0,1)},l.toArray=function(e,r){return t(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8]]},l.getElementIndex=function(e,r){return 3*e+r},l.getColumn=function(r,n,i){var a=3*n,o=r[a],u=r[a+1],s=r[a+2];return t(i)?(i.x=o,i.y=u,i.z=s,i):new e(o,u,s)},l.setColumn=function(e,r,t,n){n=l.clone(e,n);var i=3*r;return n[i]=t.x,n[i+1]=t.y,n[i+2]=t.z,n},l.getRow=function(r,n,i){var a=r[n],o=r[n+3],u=r[n+6];return t(i)?(i.x=a,i.y=o,i.z=u,i):new e(a,o,u)},l.setRow=function(e,r,t,n){return n=l.clone(e,n),n[r]=t.x,n[r+3]=t.y,n[r+6]=t.z,n},l.multiply=function(e,r,n){var i=e[0]*r[0]+e[3]*r[1]+e[6]*r[2],a=e[1]*r[0]+e[4]*r[1]+e[7]*r[2],o=e[2]*r[0]+e[5]*r[1]+e[8]*r[2],u=e[0]*r[3]+e[3]*r[4]+e[6]*r[5],s=e[1]*r[3]+e[4]*r[4]+e[7]*r[5],c=e[2]*r[3]+e[5]*r[4]+e[8]*r[5],f=e[0]*r[6]+e[3]*r[7]+e[6]*r[8],m=e[1]*r[6]+e[4]*r[7]+e[7]*r[8],y=e[2]*r[6]+e[5]*r[7]+e[8]*r[8];return t(n)?(n[0]=i,n[1]=a,n[2]=o,n[3]=u,n[4]=s,n[5]=c,n[6]=f,n[7]=m,n[8]=y,n):new l(i,u,f,a,s,m,o,c,y)},l.multiplyByVector=function(r,n,i){var a=n.x,o=n.y,u=n.z,s=r[0]*a+r[3]*o+r[6]*u,l=r[1]*a+r[4]*o+r[7]*u,c=r[2]*a+r[5]*o+r[8]*u;return t(i)?(i.x=s,i.y=l,i.z=c,i):new e(s,l,c)},l.multiplyByScalar=function(e,r,n){return t(n)?(n[0]=e[0]*r,n[1]=e[1]*r,n[2]=e[2]*r,n[3]=e[3]*r,n[4]=e[4]*r,n[5]=e[5]*r,n[6]=e[6]*r,n[7]=e[7]*r,n[8]=e[8]*r,n):new l(e[0]*r,e[3]*r,e[6]*r,e[1]*r,e[4]*r,e[7]*r,e[2]*r,e[5]*r,e[8]*r)},l.negate=function(e,r){return t(r)?(r[0]=-e[0],r[1]=-e[1],r[2]=-e[2],r[3]=-e[3],r[4]=-e[4],r[5]=-e[5],r[6]=-e[6],r[7]=-e[7],r[8]=-e[8],r):new l(-e[0],-e[3],-e[6],-e[1],-e[4],-e[7],-e[2],-e[5],-e[8])},l.transpose=function(e,r){var n=e[0],i=e[3],a=e[6],o=e[1],u=e[4],s=e[7],c=e[2],f=e[5],m=e[8];return t(r)?(r[0]=n,r[1]=i,r[2]=a,r[3]=o,r[4]=u,r[5]=s,r[6]=c,r[7]=f,r[8]=m,r):new l(n,o,c,i,u,f,a,s,m)};var c=[1,0,0],f=[2,2,1],m=new l,y=new l;return l.getEigenDecomposition=function(e,r){var n=a.EPSILON20,i=10,c=0,f=0;t(r)||(r={});for(var h=r.unitary=l.clone(l.IDENTITY,r.unitary),p=r.diagonal=l.clone(e,r.diagonal),d=n*o(p);i>f&&u(p)>d;)s(p,m),l.transpose(m,y),l.multiply(p,m,p),l.multiply(y,p,p),l.multiply(h,m,h),++c>2&&(++f,c=0);return r},l.abs=function(e,r){return t(r)?(r[0]=Math.abs(e[0]),r[1]=Math.abs(e[1]),r[2]=Math.abs(e[2]),r[3]=Math.abs(e[3]),r[4]=Math.abs(e[4]),r[5]=Math.abs(e[5]),r[6]=Math.abs(e[6]),r[7]=Math.abs(e[7]),r[8]=Math.abs(e[8]),r):new l(Math.abs(e[0]),Math.abs(e[3]),Math.abs(e[6]),Math.abs(e[1]),Math.abs(e[4]),Math.abs(e[7]),Math.abs(e[2]),Math.abs(e[5]),Math.abs(e[8]))},l.determinant=function(e){var r=e[0],t=e[3],n=e[6],i=e[1],a=e[4],o=e[7],u=e[2],s=e[5],l=e[8];return r*(a*l-s*o)+i*(s*n-t*l)+u*(t*o-a*n)},l.inverse=function(e,r){var t=e[0],i=e[1],o=e[2],u=e[3],s=e[4],c=e[5],f=e[6],m=e[7],y=e[8],h=l.determinant(e);if(Math.abs(h)<=a.EPSILON15)throw new n("matrix is not invertible");var p=new l(s*y-m*c,f*c-u*y,u*m-f*s,m*o-i*y,t*y-f*o,f*i-t*m,i*c-s*o,u*o-t*c,t*s-u*i),d=1/h;return l.multiplyByScalar(p,d,r)},l.equals=function(e,r){return e===r||t(e)&&t(r)&&e[0]===r[0]&&e[1]===r[1]&&e[2]===r[2]&&e[3]===r[3]&&e[4]===r[4]&&e[5]===r[5]&&e[6]===r[6]&&e[7]===r[7]&&e[8]===r[8]},l.equalsEpsilon=function(e,r,n){return e===r||t(e)&&t(r)&&Math.abs(e[0]-r[0])<=n&&Math.abs(e[1]-r[1])<=n&&Math.abs(e[2]-r[2])<=n&&Math.abs(e[3]-r[3])<=n&&Math.abs(e[4]-r[4])<=n&&Math.abs(e[5]-r[5])<=n&&Math.abs(e[6]-r[6])<=n&&Math.abs(e[7]-r[7])<=n&&Math.abs(e[8]-r[8])<=n},l.IDENTITY=i(new l(1,0,0,0,1,0,0,0,1)),l.COLUMN0ROW0=0,l.COLUMN0ROW1=1,l.COLUMN0ROW2=2,l.COLUMN1ROW0=3,l.COLUMN1ROW1=4,l.COLUMN1ROW2=5,l.COLUMN2ROW0=6,l.COLUMN2ROW1=7,l.COLUMN2ROW2=8,l.prototype.clone=function(e){return l.clone(this,e)},l.prototype.equals=function(e){return l.equals(this,e)},l.prototype.equalsEpsilon=function(e,r){return l.equalsEpsilon(this,e,r)},l.prototype.toString=function(){return"("+this[0]+", "+this[3]+", "+this[6]+")\n"+"("+this[1]+", "+this[4]+", "+this[7]+")\n"+"("+this[2]+", "+this[5]+", "+this[8]+")"},l}),define("Core/RuntimeError",["./defined"],function(e){"use strict";var r=function(e){this.name="RuntimeError",this.message=e;var r;try{throw new Error}catch(t){r=t.stack}this.stack=r};return r.prototype.toString=function(){var r=this.name+": "+this.message;return e(this.stack)&&(r+="\n"+this.stack.toString()),r},r}),define("Core/Matrix4",["./Cartesian3","./Cartesian4","./defaultValue","./defined","./DeveloperError","./freezeObject","./Math","./Matrix3","./RuntimeError"],function(e,r,t,n,i,a,o,u,s){"use strict";var l=function(e,r,n,i,a,o,u,s,l,c,f,m,y,h,p,d){this[0]=t(e,0),this[1]=t(a,0),this[2]=t(l,0),this[3]=t(y,0),this[4]=t(r,0),this[5]=t(o,0),this[6]=t(c,0),this[7]=t(h,0),this[8]=t(n,0),this[9]=t(u,0),this[10]=t(f,0),this[11]=t(p,0),this[12]=t(i,0),this[13]=t(s,0),this[14]=t(m,0),this[15]=t(d,0)};l.clone=function(e,r){return n(e)?n(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r[9]=e[9],r[10]=e[10],r[11]=e[11],r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15],r):new l(e[0],e[4],e[8],e[12],e[1],e[5],e[9],e[13],e[2],e[6],e[10],e[14],e[3],e[7],e[11],e[15]):void 0},l.fromArray=function(e,r,i){return r=t(r,0),n(i)||(i=new l),i[0]=e[r],i[1]=e[r+1],i[2]=e[r+2],i[3]=e[r+3],i[4]=e[r+4],i[5]=e[r+5],i[6]=e[r+6],i[7]=e[r+7],i[8]=e[r+8],i[9]=e[r+9],i[10]=e[r+10],i[11]=e[r+11],i[12]=e[r+12],i[13]=e[r+13],i[14]=e[r+14],i[15]=e[r+15],i},l.fromColumnMajorArray=function(e,r){return l.clone(e,r)},l.fromRowMajorArray=function(e,r){return n(r)?(r[0]=e[0],r[1]=e[4],r[2]=e[8],r[3]=e[12],r[4]=e[1],r[5]=e[5],r[6]=e[9],r[7]=e[13],r[8]=e[2],r[9]=e[6],r[10]=e[10],r[11]=e[14],r[12]=e[3],r[13]=e[7],r[14]=e[11],r[15]=e[15],r):new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])},l.fromRotationTranslation=function(e,r,t){return n(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=0,t[4]=e[3],t[5]=e[4],t[6]=e[5],t[7]=0,t[8]=e[6],t[9]=e[7],t[10]=e[8],t[11]=0,t[12]=r.x,t[13]=r.y,t[14]=r.z,t[15]=1,t):new l(e[0],e[3],e[6],r.x,e[1],e[4],e[7],r.y,e[2],e[5],e[8],r.z,0,0,0,1)},new u,l.fromTranslationQuaternionRotationScale=function(e,r,t,i){n(i)||(i=new l);var a=t.x,o=t.y,u=t.z,s=r.x*r.x,c=r.x*r.y,f=r.x*r.z,m=r.x*r.w,y=r.y*r.y,h=r.y*r.z,p=r.y*r.w,d=r.z*r.z,v=r.z*r.w,g=r.w*r.w,E=s-y-d+g,w=2*(c-v),S=2*(f+p),C=2*(c+v),x=-s+y-d+g,A=2*(h-m),M=2*(f-p),b=2*(h+m),T=-s-y+d+g;return i[0]=E*a,i[1]=C*a,i[2]=M*a,i[3]=0,i[4]=w*o,i[5]=x*o,i[6]=b*o,i[7]=0,i[8]=S*u,i[9]=A*u,i[10]=T*u,i[11]=0,i[12]=e.x,i[13]=e.y,i[14]=e.z,i[15]=1,i},l.fromTranslation=function(e,r){return l.fromRotationTranslation(u.IDENTITY,e,r)},l.fromScale=function(e,r){return n(r)?(r[0]=e.x,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=e.y,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=e.z,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r):new l(e.x,0,0,0,0,e.y,0,0,0,0,e.z,0,0,0,0,1)},l.fromUniformScale=function(e,r){return n(r)?(r[0]=e,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=e,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=e,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r):new l(e,0,0,0,0,e,0,0,0,0,e,0,0,0,0,1)};var c=new e,f=new e,m=new e;l.fromCamera=function(r,t){var i=r.eye,a=r.target,o=r.up;e.normalize(e.subtract(a,i,c),c),e.normalize(e.cross(c,o,f),f),e.normalize(e.cross(f,c,m),m);var u=f.x,s=f.y,y=f.z,h=c.x,p=c.y,d=c.z,v=m.x,g=m.y,E=m.z,w=i.x,S=i.y,C=i.z,x=u*-w+s*-S+y*-C,A=v*-w+g*-S+E*-C,M=h*w+p*S+d*C;return n(t)?(t[0]=u,t[1]=v,t[2]=-h,t[3]=0,t[4]=s,t[5]=g,t[6]=-p,t[7]=0,t[8]=y,t[9]=E,t[10]=-d,t[11]=0,t[12]=x,t[13]=A,t[14]=M,t[15]=1,t):new l(u,s,y,x,v,g,E,A,-h,-p,-d,M,0,0,0,1)},l.computePerspectiveFieldOfView=function(e,r,t,i,a){var o=Math.tan(.5*e),u=1/o,s=u/r,c=(i+t)/(t-i),f=2*i*t/(t-i);return n(a)?(a[0]=s,a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=u,a[6]=0,a[7]=0,a[8]=0,a[9]=0,a[10]=c,a[11]=-1,a[12]=0,a[13]=0,a[14]=f,a[15]=0,a):new l(s,0,0,0,0,u,0,0,0,0,c,f,0,0,-1,0)},l.computeOrthographicOffCenter=function(e,r,t,i,a,o,u){var s=1/(r-e),c=1/(i-t),f=1/(o-a),m=-(r+e)*s,y=-(i+t)*c,h=-(o+a)*f;return s*=2,c*=2,f*=-2,n(u)?(u[0]=s,u[1]=0,u[2]=0,u[3]=0,u[4]=0,u[5]=c,u[6]=0,u[7]=0,u[8]=0,u[9]=0,u[10]=f,u[11]=0,u[12]=m,u[13]=y,u[14]=h,u[15]=1,u):new l(s,0,0,m,0,c,0,y,0,0,f,h,0,0,0,1)},l.computePerspectiveOffCenter=function(e,r,t,i,a,o,u){var s=2*a/(r-e),c=2*a/(i-t),f=(r+e)/(r-e),m=(i+t)/(i-t),y=-(o+a)/(o-a),h=-1,p=-2*o*a/(o-a);return n(u)?(u[0]=s,u[1]=0,u[2]=0,u[3]=0,u[4]=0,u[5]=c,u[6]=0,u[7]=0,u[8]=f,u[9]=m,u[10]=y,u[11]=h,u[12]=0,u[13]=0,u[14]=p,u[15]=0,u):new l(s,0,f,0,0,c,m,0,0,0,y,p,0,0,h,0)},l.computeInfinitePerspectiveOffCenter=function(e,r,t,i,a,o){var u=2*a/(r-e),s=2*a/(i-t),c=(r+e)/(r-e),f=(i+t)/(i-t),m=-1,y=-1,h=-2*a;return n(o)?(o[0]=u,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=s,o[6]=0,o[7]=0,o[8]=c,o[9]=f,o[10]=m,o[11]=y,o[12]=0,o[13]=0,o[14]=h,o[15]=0,o):new l(u,0,c,0,0,s,f,0,0,0,m,h,0,0,y,0)},l.computeViewportTransformation=function(e,r,i,a){e=t(e,t.EMPTY_OBJECT);var o=t(e.x,0),u=t(e.y,0),s=t(e.width,0),c=t(e.height,0);r=t(r,0),i=t(i,1);var f=.5*s,m=.5*c,y=.5*(i-r),h=f,p=m,d=y,v=o+f,g=u+m,E=r+y,w=1;return n(a)?(a[0]=h,a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=p,a[6]=0,a[7]=0,a[8]=0,a[9]=0,a[10]=d,a[11]=0,a[12]=v,a[13]=g,a[14]=E,a[15]=w,a):new l(h,0,0,v,0,p,0,g,0,0,d,E,0,0,0,w)},l.toArray=function(e,r){return n(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r[9]=e[9],r[10]=e[10],r[11]=e[11],r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15],r):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]]},l.getElementIndex=function(e,r){return 4*e+r},l.getColumn=function(e,t,i){var a=4*t,o=e[a],u=e[a+1],s=e[a+2],l=e[a+3];return n(i)?(i.x=o,i.y=u,i.z=s,i.w=l,i):new r(o,u,s,l)},l.setColumn=function(e,r,t,n){n=l.clone(e,n);var i=4*r;return n[i]=t.x,n[i+1]=t.y,n[i+2]=t.z,n[i+3]=t.w,n},l.getRow=function(e,t,i){var a=e[t],o=e[t+4],u=e[t+8],s=e[t+12];return n(i)?(i.x=a,i.y=o,i.z=u,i.w=s,i):new r(a,o,u,s)},l.setRow=function(e,r,t,n){return n=l.clone(e,n),n[r]=t.x,n[r+4]=t.y,n[r+8]=t.z,n[r+12]=t.w,n},l.multiply=function(e,r,t){var i=e[0],a=e[1],o=e[2],u=e[3],s=e[4],c=e[5],f=e[6],m=e[7],y=e[8],h=e[9],p=e[10],d=e[11],v=e[12],g=e[13],E=e[14],w=e[15],S=r[0],C=r[1],x=r[2],A=r[3],M=r[4],b=r[5],T=r[6],O=r[7],I=r[8],N=r[9],z=r[10],R=r[11],L=r[12],F=r[13],P=r[14],D=r[15],B=i*S+s*C+y*x+v*A,_=a*S+c*C+h*x+g*A,U=o*S+f*C+p*x+E*A,G=u*S+m*C+d*x+w*A,q=i*M+s*b+y*T+v*O,W=a*M+c*b+h*T+g*O,Y=o*M+f*b+p*T+E*O,V=u*M+m*b+d*T+w*O,H=i*I+s*N+y*z+v*R,k=a*I+c*N+h*z+g*R,j=o*I+f*N+p*z+E*R,K=u*I+m*N+d*z+w*R,Z=i*L+s*F+y*P+v*D,Q=a*L+c*F+h*P+g*D,X=o*L+f*F+p*P+E*D,J=u*L+m*F+d*P+w*D;return n(t)?(t[0]=B,t[1]=_,t[2]=U,t[3]=G,t[4]=q,t[5]=W,t[6]=Y,t[7]=V,t[8]=H,t[9]=k,t[10]=j,t[11]=K,t[12]=Z,t[13]=Q,t[14]=X,t[15]=J,t):new l(B,q,H,Z,_,W,k,Q,U,Y,j,X,G,V,K,J)},l.multiplyTransformation=function(e,r,t){var i=e[0],a=e[1],o=e[2],u=e[4],s=e[5],c=e[6],f=e[8],m=e[9],y=e[10],h=e[12],p=e[13],d=e[14],v=r[0],g=r[1],E=r[2],w=r[4],S=r[5],C=r[6],x=r[8],A=r[9],M=r[10],b=r[12],T=r[13],O=r[14],I=i*v+u*g+f*E,N=a*v+s*g+m*E,z=o*v+c*g+y*E,R=i*w+u*S+f*C,L=a*w+s*S+m*C,F=o*w+c*S+y*C,P=i*x+u*A+f*M,D=a*x+s*A+m*M,B=o*x+c*A+y*M,_=i*b+u*T+f*O+h,U=a*b+s*T+m*O+p,G=o*b+c*T+y*O+d;return n(t)?(t[0]=I,t[1]=N,t[2]=z,t[3]=0,t[4]=R,t[5]=L,t[6]=F,t[7]=0,t[8]=P,t[9]=D,t[10]=B,t[11]=0,t[12]=_,t[13]=U,t[14]=G,t[15]=1,t):new l(I,R,P,_,N,L,D,U,z,F,B,G,0,0,0,1) +},l.multiplyByTranslation=function(e,r,t){var i=r.x,a=r.y,o=r.z,u=i*e[0]+a*e[4]+o*e[8]+e[12],s=i*e[1]+a*e[5]+o*e[9]+e[13],c=i*e[2]+a*e[6]+o*e[10]+e[14];return n(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=u,t[13]=s,t[14]=c,t[15]=e[15],t):new l(e[0],e[4],e[8],u,e[1],e[5],e[9],s,e[2],e[6],e[10],c,e[3],e[7],e[11],e[15])};var y=new e;return l.multiplyByUniformScale=function(e,r,t){return y.x=r,y.y=r,y.z=r,l.multiplyByScale(e,y,t)},l.multiplyByScale=function(e,r,t){var i=r.x,a=r.y,o=r.z;return 1===i&&1===a&&1===o?l.clone(e,t):n(t)?(t[0]=i*e[0],t[1]=i*e[1],t[2]=i*e[2],t[3]=0,t[4]=a*e[4],t[5]=a*e[5],t[6]=a*e[6],t[7]=0,t[8]=o*e[8],t[9]=o*e[9],t[10]=o*e[10],t[11]=0,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=1,t):new l(i*e[0],a*e[4],o*e[8],e[12],i*e[1],a*e[5],o*e[9],e[13],i*e[2],a*e[6],o*e[10],e[14],0,0,0,1)},l.multiplyByVector=function(e,t,i){var a=t.x,o=t.y,u=t.z,s=t.w,l=e[0]*a+e[4]*o+e[8]*u+e[12]*s,c=e[1]*a+e[5]*o+e[9]*u+e[13]*s,f=e[2]*a+e[6]*o+e[10]*u+e[14]*s,m=e[3]*a+e[7]*o+e[11]*u+e[15]*s;return n(i)?(i.x=l,i.y=c,i.z=f,i.w=m,i):new r(l,c,f,m)},l.multiplyByPointAsVector=function(r,t,i){var a=t.x,o=t.y,u=t.z,s=r[0]*a+r[4]*o+r[8]*u,l=r[1]*a+r[5]*o+r[9]*u,c=r[2]*a+r[6]*o+r[10]*u;return n(i)?(i.x=s,i.y=l,i.z=c,i):new e(s,l,c)},l.multiplyByPoint=function(r,t,i){var a=t.x,o=t.y,u=t.z,s=r[0]*a+r[4]*o+r[8]*u+r[12],l=r[1]*a+r[5]*o+r[9]*u+r[13],c=r[2]*a+r[6]*o+r[10]*u+r[14];return n(i)?(i.x=s,i.y=l,i.z=c,i):new e(s,l,c)},l.multiplyByScalar=function(e,r,t){return n(t)?(t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*r,t[9]=e[9]*r,t[10]=e[10]*r,t[11]=e[11]*r,t[12]=e[12]*r,t[13]=e[13]*r,t[14]=e[14]*r,t[15]=e[15]*r,t):new l(e[0]*r,e[4]*r,e[8]*r,e[12]*r,e[1]*r,e[5]*r,e[9]*r,e[13]*r,e[2]*r,e[6]*r,e[10]*r,e[14]*r,e[3]*r,e[7]*r,e[11]*r,e[15]*r)},l.negate=function(e,r){return n(r)?(r[0]=-e[0],r[1]=-e[1],r[2]=-e[2],r[3]=-e[3],r[4]=-e[4],r[5]=-e[5],r[6]=-e[6],r[7]=-e[7],r[8]=-e[8],r[9]=-e[9],r[10]=-e[10],r[11]=-e[11],r[12]=-e[12],r[13]=-e[13],r[14]=-e[14],r[15]=-e[15],r):new l(-e[0],-e[4],-e[8],-e[12],-e[1],-e[5],-e[9],-e[13],-e[2],-e[6],-e[10],-e[14],-e[3],-e[7],-e[11],-e[15])},l.transpose=function(e,r){if(!n(r))return new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]);var t=e[1],i=e[2],a=e[3],o=e[6],u=e[7],s=e[11];return r[0]=e[0],r[1]=e[4],r[2]=e[8],r[3]=e[12],r[4]=t,r[5]=e[5],r[6]=e[9],r[7]=e[13],r[8]=i,r[9]=o,r[10]=e[10],r[11]=e[14],r[12]=a,r[13]=u,r[14]=s,r[15]=e[15],r},l.abs=function(e,r){return n(r)?(r[0]=Math.abs(e[0]),r[1]=Math.abs(e[1]),r[2]=Math.abs(e[2]),r[3]=Math.abs(e[3]),r[4]=Math.abs(e[4]),r[5]=Math.abs(e[5]),r[6]=Math.abs(e[6]),r[7]=Math.abs(e[7]),r[8]=Math.abs(e[8]),r[9]=Math.abs(e[9]),r[10]=Math.abs(e[10]),r[11]=Math.abs(e[11]),r[12]=Math.abs(e[12]),r[13]=Math.abs(e[13]),r[14]=Math.abs(e[14]),r[15]=Math.abs(e[15]),r):new l(Math.abs(e[0]),Math.abs(e[4]),Math.abs(e[8]),Math.abs(e[12]),Math.abs(e[1]),Math.abs(e[5]),Math.abs(e[9]),Math.abs(e[13]),Math.abs(e[2]),Math.abs(e[6]),Math.abs(e[10]),Math.abs(e[14]),Math.abs(e[3]),Math.abs(e[7]),Math.abs(e[11]),Math.abs(e[15]))},l.equals=function(e,r){return e===r||n(e)&&n(r)&&e[0]===r[0]&&e[1]===r[1]&&e[2]===r[2]&&e[3]===r[3]&&e[4]===r[4]&&e[5]===r[5]&&e[6]===r[6]&&e[7]===r[7]&&e[8]===r[8]&&e[9]===r[9]&&e[10]===r[10]&&e[11]===r[11]&&e[12]===r[12]&&e[13]===r[13]&&e[14]===r[14]&&e[15]===r[15]},l.equalsEpsilon=function(e,r,t){return e===r||n(e)&&n(r)&&Math.abs(e[0]-r[0])<=t&&Math.abs(e[1]-r[1])<=t&&Math.abs(e[2]-r[2])<=t&&Math.abs(e[3]-r[3])<=t&&Math.abs(e[4]-r[4])<=t&&Math.abs(e[5]-r[5])<=t&&Math.abs(e[6]-r[6])<=t&&Math.abs(e[7]-r[7])<=t&&Math.abs(e[8]-r[8])<=t&&Math.abs(e[9]-r[9])<=t&&Math.abs(e[10]-r[10])<=t&&Math.abs(e[11]-r[11])<=t&&Math.abs(e[12]-r[12])<=t&&Math.abs(e[13]-r[13])<=t&&Math.abs(e[14]-r[14])<=t&&Math.abs(e[15]-r[15])<=t},l.getTranslation=function(r,t){return n(t)?(t.x=r[12],t.y=r[13],t.z=r[14],t):new e(r[12],r[13],r[14])},l.getRotation=function(e,r){return n(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[4],r[4]=e[5],r[5]=e[6],r[6]=e[8],r[7]=e[9],r[8]=e[10],r):new u(e[0],e[4],e[8],e[1],e[5],e[9],e[2],e[6],e[10])},l.inverse=function(e,r){var t=e[0],i=e[4],a=e[8],u=e[12],c=e[1],f=e[5],m=e[9],y=e[13],h=e[2],p=e[6],d=e[10],v=e[14],g=e[3],E=e[7],w=e[11],S=e[15],C=d*S,x=v*w,A=p*S,M=v*E,b=p*w,T=d*E,O=h*S,I=v*g,N=h*w,z=d*g,R=h*E,L=p*g,F=C*f+M*m+b*y-(x*f+A*m+T*y),P=x*c+O*m+z*y-(C*c+I*m+N*y),D=A*c+I*f+R*y-(M*c+O*f+L*y),B=T*c+N*f+L*m-(b*c+z*f+R*m),_=x*i+A*a+T*u-(C*i+M*a+b*u),U=C*t+I*a+N*u-(x*t+O*a+z*u),G=M*t+O*i+L*u-(A*t+I*i+R*u),q=b*t+z*i+R*a-(T*t+N*i+L*a);C=a*y,x=u*m,A=i*y,M=u*f,b=i*m,T=a*f,O=t*y,I=u*c,N=t*m,z=a*c,R=t*f,L=i*c;var W=C*E+M*w+b*S-(x*E+A*w+T*S),Y=x*g+O*w+z*S-(C*g+I*w+N*S),V=A*g+I*E+R*S-(M*g+O*E+L*S),H=T*g+N*E+L*w-(b*g+z*E+R*w),k=A*d+T*v+x*p-(b*v+C*p+M*d),j=N*v+C*h+I*d-(O*d+z*v+x*h),K=O*p+L*v+M*h-(R*v+A*h+I*p),Z=R*d+b*h+z*p-(N*p+L*d+T*h),Q=t*F+i*P+a*D+u*B;if(Math.abs(Q)M;M++){e.clone(r[M],i);var b=i.x,T=i.y,O=i.z;bs.x&&e.clone(i,s),Tl.y&&e.clone(i,l),Ox.z&&e.clone(i,x)}var I=e.magnitudeSquared(e.subtract(s,a,g)),N=e.magnitudeSquared(e.subtract(l,o,g)),z=e.magnitudeSquared(e.subtract(x,u,g)),R=a,L=s,F=I;N>F&&(F=N,R=o,L=l),z>F&&(F=z,R=u,L=x);var P=E;P.x=.5*(R.x+L.x),P.y=.5*(R.y+L.y),P.z=.5*(R.z+L.z);var D=e.magnitudeSquared(e.subtract(L,P,g)),B=Math.sqrt(D),_=w;_.x=a.x,_.y=o.y,_.z=u.z;var U=S;U.x=s.x,U.y=l.y,U.z=x.z;var G=e.multiplyByScalar(e.add(_,U,g),.5,C),q=0;for(M=0;A>M;M++){e.clone(r[M],i);var W=e.magnitude(e.subtract(i,G,g));W>q&&(q=W);var Y=e.magnitudeSquared(e.subtract(i,P,g));if(Y>D){var V=Math.sqrt(Y);B=.5*(B+V),D=B*B;var H=V-B;P.x=(B*P.x+H*i.x)/V,P.y=(B*P.y+H*i.y)/V,P.z=(B*P.z+H*i.z)/V}}return q>B?(e.clone(P,t.center),t.radius=B):(e.clone(G,t.center),t.radius=q),t};var x=new o,A=new e,M=new e,b=new r,T=new r;c.fromExtent2D=function(e,r,t){return c.fromExtentWithHeights2D(e,r,0,0,t)},c.fromExtentWithHeights2D=function(r,i,a,o,u){if(n(u)||(u=new c),!n(r))return u.center=e.clone(e.ZERO,u.center),u.radius=0,u;i=t(i,x),r.getSouthwest(b),b.height=a,r.getNortheast(T),T.height=o;var s=i.project(b,A),l=i.project(T,M),f=l.x-s.x,m=l.y-s.y,y=l.z-s.z;u.radius=.5*Math.sqrt(f*f+m*m+y*y);var h=u.center;return h.x=s.x+.5*f,h.y=s.y+.5*m,h.z=s.z+.5*y,u};var O=[];c.fromExtent3D=function(e,r,i,o){r=t(r,a.WGS84),i=t(i,0);var u;return n(e)&&(u=e.subsample(r,i,O)),c.fromPoints(u,o)},c.fromVertices=function(r,i,a,o){if(n(o)||(o=new c),!n(r)||0===r.length)return o.center=e.clone(e.ZERO,o.center),o.radius=0,o;i=t(i,e.ZERO),a=t(a,3);var u=v;u.x=r[0]+i.x,u.y=r[1]+i.y,u.z=r[2]+i.z;for(var s=e.clone(u,f),l=e.clone(u,m),x=e.clone(u,y),A=e.clone(u,h),M=e.clone(u,p),b=e.clone(u,d),T=r.length,O=0;T>O;O+=a){var I=r[O]+i.x,N=r[O+1]+i.y,z=r[O+2]+i.z;u.x=I,u.y=N,u.z=z,IA.x&&e.clone(u,A),NM.y&&e.clone(u,M),zb.z&&e.clone(u,b)}var R=e.magnitudeSquared(e.subtract(A,s,g)),L=e.magnitudeSquared(e.subtract(M,l,g)),F=e.magnitudeSquared(e.subtract(b,x,g)),P=s,D=A,B=R;L>B&&(B=L,P=l,D=M),F>B&&(B=F,P=x,D=b);var _=E;_.x=.5*(P.x+D.x),_.y=.5*(P.y+D.y),_.z=.5*(P.z+D.z);var U=e.magnitudeSquared(e.subtract(D,_,g)),G=Math.sqrt(U),q=w;q.x=s.x,q.y=l.y,q.z=x.z;var W=S;W.x=A.x,W.y=M.y,W.z=b.z;var Y=e.multiplyByScalar(e.add(q,W,g),.5,C),V=0;for(O=0;T>O;O+=a){u.x=r[O]+i.x,u.y=r[O+1]+i.y,u.z=r[O+2]+i.z;var H=e.magnitude(e.subtract(u,Y,g));H>V&&(V=H);var k=e.magnitudeSquared(e.subtract(u,_,g));if(k>U){var j=Math.sqrt(k);G=.5*(G+j),U=G*G;var K=j-G;_.x=(G*_.x+K*u.x)/j,_.y=(G*_.y+K*u.y)/j,_.z=(G*_.z+K*u.z)/j}}return V>G?(e.clone(_,o.center),o.radius=G):(e.clone(Y,o.center),o.radius=V),o},c.fromCornerPoints=function(r,t,i){n(i)||(i=new c);var a=i.center;return e.add(r,t,a),e.multiplyByScalar(a,.5,a),i.radius=e.distance(a,t),i},c.fromEllipsoid=function(r,t){return n(t)||(t=new c),e.clone(e.ZERO,t.center),t.radius=r.maximumRadius,t},c.clone=function(r,t){return n(r)?n(t)?(t.center=e.clone(r.center,t.center),t.radius=r.radius,t):new c(r.center,r.radius):void 0};var I=new e,N=new e;c.union=function(r,t,i){n(i)||(i=new c);var a=r.center,o=t.center;e.add(a,o,N);var u=e.multiplyByScalar(N,.5,N),s=e.magnitude(e.subtract(a,u,I))+r.radius,l=e.magnitude(e.subtract(o,u,I))+t.radius;return i.radius=Math.max(s,l),e.clone(u,i.center),i};var z=new e;c.expand=function(r,t,n){n=c.clone(r,n);var i=e.magnitude(e.subtract(t,n.center,z));return i>n.radius&&(n.radius=i),n},c.intersect=function(r,t){var n=r.center,i=r.radius,a=e.dot(t,n)+t.w;return-i>a?u.OUTSIDE:i>a?u.INTERSECTING:u.INSIDE};var R=new e;c.transform=function(r,t,i){return n(i)||(i=new c),i.center=l.multiplyByPoint(t,r.center,i.center),i.radius=Math.max(e.magnitude(l.getColumn(t,0,R)),e.magnitude(l.getColumn(t,1,R)),e.magnitude(l.getColumn(t,2,R)))*r.radius,i},c.transformWithoutScale=function(e,r,t){return n(t)||(t=new c),t.center=l.multiplyByPoint(r,e.center,t.center),t.radius=e.radius,t};var L=new e;c.getPlaneDistances=function(r,t,i,a){n(a)||(a=new s);var o=e.subtract(r.center,t,L),u=e.multiplyByScalar(i,e.dot(i,o),L),l=e.magnitude(u);return a.start=l-r.radius,a.stop=l+r.radius,a};for(var F=new e,P=new e,D=new e,B=new e,_=new e,U=new r,G=new Array(8),q=0;8>q;++q)G[q]=new e;var W=new o;return c.projectTo2D=function(r,n,i){n=t(n,W);var a=n.ellipsoid,o=r.center,u=r.radius,s=a.geodeticSurfaceNormal(o,F),l=e.cross(e.UNIT_Z,s,P);e.normalize(l,l);var f=e.cross(s,l,D);e.normalize(f,f),e.multiplyByScalar(s,u,s),e.multiplyByScalar(f,u,f),e.multiplyByScalar(l,u,l);var m=e.negate(f,_),y=e.negate(l,B),h=G,p=h[0];e.add(s,f,p),e.add(p,l,p),p=h[1],e.add(s,f,p),e.add(p,y,p),p=h[2],e.add(s,m,p),e.add(p,y,p),p=h[3],e.add(s,m,p),e.add(p,l,p),e.negate(s,s),p=h[4],e.add(s,f,p),e.add(p,l,p),p=h[5],e.add(s,f,p),e.add(p,y,p),p=h[6],e.add(s,m,p),e.add(p,y,p),p=h[7],e.add(s,m,p),e.add(p,l,p);for(var d=h.length,v=0;d>v;++v){var g=h[v];e.add(o,g,g);var E=a.cartesianToCartographic(g,U);n.project(E,g)}i=c.fromPoints(h,i),o=i.center;var w=o.x,S=o.y,C=o.z;return o.x=C,o.y=w,o.z=S,i},c.equals=function(r,t){return r===t||n(r)&&n(t)&&e.equals(r.center,t.center)&&r.radius===t.radius},c.prototype.clone=function(e){return c.clone(this,e)},c.prototype.union=function(e,r){return c.union(this,e,r)},c.prototype.expand=function(e,r){return c.expand(this,e,r)},c.prototype.intersect=function(e){return c.intersect(this,e)},c.prototype.getPlaneDistances=function(e,r,t){return c.getPlaneDistances(this,e,r,t)},c.prototype.projectTo2D=function(e,r){return c.projectTo2D(this,e,r)},c.prototype.equals=function(e){return c.equals(this,e)},c}),define("Core/Fullscreen",["./defined"],function(e){"use strict";var r,t={requestFullscreen:void 0,exitFullscreen:void 0,fullscreenEnabled:void 0,fullscreenElement:void 0,fullscreenchange:void 0,fullscreenerror:void 0},n={};return n.supportsFullscreen=function(){if(e(r))return r;r=!1;var n=document.body;if("function"==typeof n.requestFullscreen)return t.requestFullscreen="requestFullscreen",t.exitFullscreen="exitFullscreen",t.fullscreenEnabled="fullscreenEnabled",t.fullscreenElement="fullscreenElement",t.fullscreenchange="fullscreenchange",t.fullscreenerror="fullscreenerror",r=!0;for(var i,a=["webkit","moz","o","ms","khtml"],o=0,u=a.length;u>o;++o){var s=a[o];i=s+"RequestFullscreen","function"==typeof n[i]?(t.requestFullscreen=i,r=!0):(i=s+"RequestFullScreen","function"==typeof n[i]&&(t.requestFullscreen=i,r=!0)),i=s+"ExitFullscreen","function"==typeof document[i]?t.exitFullscreen=i:(i=s+"CancelFullScreen","function"==typeof document[i]&&(t.exitFullscreen=i)),i=s+"FullscreenEnabled",e(document[i])?t.fullscreenEnabled=i:(i=s+"FullScreenEnabled",e(document[i])&&(t.fullscreenEnabled=i)),i=s+"FullscreenElement",e(document[i])?t.fullscreenElement=i:(i=s+"FullScreenElement",e(document[i])&&(t.fullscreenElement=i)),i=s+"fullscreenchange",e(document["on"+i])&&("ms"===s&&(i="MSFullscreenChange"),t.fullscreenchange=i),i=s+"fullscreenerror",e(document["on"+i])&&("ms"===s&&(i="MSFullscreenError"),t.fullscreenerror=i)}return r},n.requestFullscreen=function(e){n.supportsFullscreen()&&e[t.requestFullscreen]()},n.exitFullscreen=function(){n.supportsFullscreen()&&document[t.exitFullscreen]()},n.isFullscreenEnabled=function(){return n.supportsFullscreen()?document[t.fullscreenEnabled]:void 0},n.getFullscreenElement=function(){return n.supportsFullscreen()?document[t.fullscreenElement]:void 0},n.isFullscreen=function(){return n.supportsFullscreen()?null!==n.getFullscreenElement():void 0},n.getFullscreenChangeEventName=function(){return n.supportsFullscreen()?t.fullscreenchange:void 0},n.getFullscreenErrorEventName=function(){return n.supportsFullscreen()?t.fullscreenerror:void 0},n}),define("Core/FeatureDetection",["./defined","./Fullscreen"],function(e,r){"use strict";function t(e){for(var r=e.split("."),t=0,n=r.length;n>t;++t)r[t]=parseInt(r[t],10);return r}function n(){if(!e(f)){var r=/ Chrome\/([\.0-9]+)/.exec(navigator.userAgent);null===r?f=!1:(f=!0,m=t(r[1]))}return f}function i(){return n()&&m}function a(){if(!e(y))if(n()||!/ Safari\/[\.0-9]+/.test(navigator.userAgent))y=!1;else{var r=/ Version\/([\.0-9]+)/.exec(navigator.userAgent);null===r?y=!1:(y=!0,h=t(r[1]))}return y}function o(){return a()&&h}function u(){if(!e(p)){var r=/ AppleWebKit\/([\.0-9]+)(\+?)/.exec(navigator.userAgent);null===r?p=!1:(p=!0,d=t(r[1]),d.isNightly=!!r[2])}return p}function s(){return u()&&d}function l(){if(!e(v)){var r;"Microsoft Internet Explorer"===navigator.appName?(r=/MSIE ([0-9]{1,}[\.0-9]{0,})/.exec(navigator.userAgent),null!==r&&(v=!0,g=t(r[1]))):"Netscape"===navigator.appName?(r=/Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/.exec(navigator.userAgent),null!==r&&(v=!0,g=t(r[1]))):v=!1}return v}function c(){return l()&&g}var f,m,y,h,p,d,v,g,E={isChrome:n,chromeVersion:i,isSafari:a,safariVersion:o,isWebkit:u,webkitVersion:s,isInternetExplorer:l,internetExplorerVersion:c};E.supportsFullscreen=function(){return r.supportsFullscreen()},E.supportsTypedArrays=function(){return"undefined"!=typeof ArrayBuffer};var w;return E.supportsTransferringArrayBuffers=function(){if(!e(w)){if(!E.supportsTypedArrays())return w=!1,void 0;var r=new ArrayBuffer(1);try{postMessage({value:r},[r]),w=!0}catch(t){w=!1}}return w},E}),define("Core/ComponentDatatype",["./defaultValue","./defined","./DeveloperError","./FeatureDetection","./Enumeration"],function(e,r,t,n,i){"use strict";if(!n.supportsTypedArrays())return{};var a={BYTE:new i(5120,"BYTE",{sizeInBytes:Int8Array.BYTES_PER_ELEMENT}),UNSIGNED_BYTE:new i(5121,"UNSIGNED_BYTE",{sizeInBytes:Uint8Array.BYTES_PER_ELEMENT}),SHORT:new i(5122,"SHORT",{sizeInBytes:Int16Array.BYTES_PER_ELEMENT}),UNSIGNED_SHORT:new i(5123,"UNSIGNED_SHORT",{sizeInBytes:Uint16Array.BYTES_PER_ELEMENT}),FLOAT:new i(5126,"FLOAT",{sizeInBytes:Float32Array.BYTES_PER_ELEMENT}),DOUBLE:new i(5130,"DOUBLE",{sizeInBytes:Float64Array.BYTES_PER_ELEMENT})};return a.validate=function(e){return r(e)&&r(e.value)&&(e.value===a.BYTE.value||e.value===a.UNSIGNED_BYTE.value||e.value===a.SHORT.value||e.value===a.UNSIGNED_SHORT.value||e.value===a.FLOAT.value||e.value===a.DOUBLE.value)},a.createTypedArray=function(e,r){switch(e.value){case a.BYTE.value:return new Int8Array(r);case a.UNSIGNED_BYTE.value:return new Uint8Array(r);case a.SHORT.value:return new Int16Array(r);case a.UNSIGNED_SHORT.value:return new Uint16Array(r);case a.FLOAT.value:return new Float32Array(r);case a.DOUBLE.value:return new Float64Array(r);default:throw new t("componentDatatype is not a valid enumeration value.")}},a.createArrayBufferView=function(r,n,i,o){switch(i=e(i,0),o=e(o,(n.byteLength-i)/r.sizeInBytes),r.value){case a.BYTE.value:return new Int8Array(n,i,o);case a.UNSIGNED_BYTE.value:return new Uint8Array(n,i,o);case a.SHORT.value:return new Int16Array(n,i,o);case a.UNSIGNED_SHORT.value:return new Uint16Array(n,i,o);case a.FLOAT.value:return new Float32Array(n,i,o);case a.DOUBLE.value:return new Float64Array(n,i,o);default:throw new t("componentDatatype is not a valid enumeration value.")}},a}),define("Core/IndexDatatype",["./defined","./DeveloperError","./Math"],function(e,r,t){"use strict";var n={UNSIGNED_BYTE:5121,UNSIGNED_SHORT:5123,UNSIGNED_INT:5125};return n.getSizeInBytes=function(e){switch(e){case n.UNSIGNED_BYTE:return Uint8Array.BYTES_PER_ELEMENT;case n.UNSIGNED_SHORT:return Uint16Array.BYTES_PER_ELEMENT;case n.UNSIGNED_INT:return Uint32Array.BYTES_PER_ELEMENT}},n.validate=function(r){return e(r)&&(r===n.UNSIGNED_BYTE||r===n.UNSIGNED_SHORT||r===n.UNSIGNED_INT)},n.createTypedArray=function(e,r){return e>t.SIXTY_FOUR_KILOBYTES?new Uint32Array(r):new Uint16Array(r)},n}),define("Core/Quaternion",["./Cartesian3","./defaultValue","./defined","./DeveloperError","./FeatureDetection","./freezeObject","./Math","./Matrix3"],function(e,r,t,n,i,a,o,u){"use strict";var s,l=function(e,t,n,i){this.x=r(e,0),this.y=r(t,0),this.z=r(n,0),this.w=r(i,0)};l.fromAxisAngle=function(r,n,i){var a=n/2,o=Math.sin(a);s=e.normalize(r,s);var u=s.x*o,c=s.y*o,f=s.z*o,m=Math.cos(a);return t(i)?(i.x=u,i.y=c,i.z=f,i.w=m,i):new l(u,c,f,m)};var c=[1,2,0],f=new Array(3);l.fromRotationMatrix=function(e,r){var n,i,a,o,s,m=e[u.COLUMN0ROW0],y=e[u.COLUMN1ROW1],h=e[u.COLUMN2ROW2],p=m+y+h;if(p>0)n=Math.sqrt(p+1),s=.5*n,n=.5/n,i=(e[u.COLUMN1ROW2]-e[u.COLUMN2ROW1])*n,a=(e[u.COLUMN2ROW0]-e[u.COLUMN0ROW2])*n,o=(e[u.COLUMN0ROW1]-e[u.COLUMN1ROW0])*n;else{var d=c,v=0;y>m&&(v=1),h>m&&h>y&&(v=2);var g=d[v],E=d[g];n=Math.sqrt(e[u.getElementIndex(v,v)]-e[u.getElementIndex(g,g)]-e[u.getElementIndex(E,E)]+1);var w=f;w[v]=.5*n,n=.5/n,s=(e[u.getElementIndex(E,g)]-e[u.getElementIndex(g,E)])*n,w[g]=(e[u.getElementIndex(g,v)]+e[u.getElementIndex(v,g)])*n,w[E]=(e[u.getElementIndex(E,v)]+e[u.getElementIndex(v,E)])*n,i=-w[0],a=-w[1],o=-w[2]}return t(r)?(r.x=i,r.y=a,r.z=o,r.w=s,r):new l(i,a,o,s)};var m=new e,y=new e,h=new l,p=new l,d=new l;l.packedLength=4,l.pack=function(e,t,n){n=r(n,0),t[n++]=e.x,t[n++]=e.y,t[n++]=e.z,t[n]=e.w},l.unpack=function(e,n,i){return n=r(n,0),t(i)||(i=new l),i.x=e[n],i.y=e[n+1],i.z=e[n+2],i.w=e[n+3],i},l.packedInterpolationLength=3,l.convertPackedArrayForInterpolation=function(e,r,t,n){l.unpack(e,4*t,d),l.conjugate(d,d);for(var i=0,a=t-r+1;a>i;i++){var o=3*i;l.unpack(e,4*(r+i),h),l.multiply(h,d,h),h.w<0&&l.negate(h,h),l.getAxis(h,m);var u=l.getAngle(h);n[o]=m.x*u,n[o+1]=m.y*u,n[o+2]=m.z*u}},l.unpackInterpolationResult=function(r,n,i,a,o){t(o)||(o=new l),e.fromArray(r,0,y);var u=e.magnitude(y);return l.unpack(n,4*a,p),0===u?l.clone(l.IDENTITY,h):l.fromAxisAngle(y,u,h),l.multiply(h,p,o)},l.clone=function(e,r){return t(e)?t(r)?(r.x=e.x,r.y=e.y,r.z=e.z,r.w=e.w,r):new l(e.x,e.y,e.z,e.w):void 0},l.conjugate=function(e,r){return t(r)?(r.x=-e.x,r.y=-e.y,r.z=-e.z,r.w=e.w,r):new l(-e.x,-e.y,-e.z,e.w)},l.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w},l.magnitude=function(e){return Math.sqrt(l.magnitudeSquared(e))},l.normalize=function(e,r){var n=1/l.magnitude(e),i=e.x*n,a=e.y*n,o=e.z*n,u=e.w*n;return t(r)?(r.x=i,r.y=a,r.z=o,r.w=u,r):new l(i,a,o,u)},l.inverse=function(e,r){var t=l.magnitudeSquared(e);return r=l.conjugate(e,r),l.multiplyByScalar(r,1/t,r)},l.add=function(e,r,n){return t(n)?(n.x=e.x+r.x,n.y=e.y+r.y,n.z=e.z+r.z,n.w=e.w+r.w,n):new l(e.x+r.x,e.y+r.y,e.z+r.z,e.w+r.w)},l.subtract=function(e,r,n){return t(n)?(n.x=e.x-r.x,n.y=e.y-r.y,n.z=e.z-r.z,n.w=e.w-r.w,n):new l(e.x-r.x,e.y-r.y,e.z-r.z,e.w-r.w)},l.negate=function(e,r){return t(r)?(r.x=-e.x,r.y=-e.y,r.z=-e.z,r.w=-e.w,r):new l(-e.x,-e.y,-e.z,-e.w)},l.dot=function(e,r){return e.x*r.x+e.y*r.y+e.z*r.z+e.w*r.w},l.multiply=function(e,r,n){var i=e.x,a=e.y,o=e.z,u=e.w,s=r.x,c=r.y,f=r.z,m=r.w,y=u*s+i*m+a*f-o*c,h=u*c-i*f+a*m+o*s,p=u*f+i*c-a*s+o*m,d=u*m-i*s-a*c-o*f;return t(n)?(n.x=y,n.y=h,n.z=p,n.w=d,n):new l(y,h,p,d)},l.multiplyByScalar=function(e,r,n){return t(n)?(n.x=e.x*r,n.y=e.y*r,n.z=e.z*r,n.w=e.w*r,n):new l(e.x*r,e.y*r,e.z*r,e.w*r)},l.divideByScalar=function(e,r,n){return t(n)?(n.x=e.x/r,n.y=e.y/r,n.z=e.z/r,n.w=e.w/r,n):new l(e.x/r,e.y/r,e.z/r,e.w/r)},l.getAxis=function(r,n){var i=r.w;if(Math.abs(i-1)i&&(i=-i,a=g=l.negate(r,g)),1-iz;++z){var R=z+1,L=2*R+1;T[z]=1/(R*L),O[z]=R/L}return T[7]=b/136,O[7]=8*b/17,l.fastSlerp=function(e,r,n,i){t(i)||(i=new l);var a,o=l.dot(e,r);o>=0?a=1:(a=-1,o=-o);for(var u=o-1,s=1-n,c=n*n,f=s*s,m=7;m>=0;--m)I[m]=(T[m]*c-O[m])*u,N[m]=(T[m]*f-O[m])*u;var y=a*n*(1+I[0]*(1+I[1]*(1+I[2]*(1+I[3]*(1+I[4]*(1+I[5]*(1+I[6]*(1+I[7])))))))),h=s*(1+N[0]*(1+N[1]*(1+N[2]*(1+N[3]*(1+N[4]*(1+N[5]*(1+N[6]*(1+N[7])))))))),p=l.multiplyByScalar(e,h,M);return l.multiplyByScalar(r,y,i),l.add(p,i,i)},l.fastSquad=function(e,r,t,n,i,a){var o=l.fastSlerp(e,r,i,x),u=l.fastSlerp(t,n,i,A);return l.fastSlerp(o,u,2*i*(1-i),a)},l.equals=function(e,r){return e===r||t(e)&&t(r)&&e.x===r.x&&e.y===r.y&&e.z===r.z&&e.w===r.w},l.equalsEpsilon=function(e,r,n){return e===r||t(e)&&t(r)&&Math.abs(e.x-r.x)<=n&&Math.abs(e.y-r.y)<=n&&Math.abs(e.z-r.z)<=n&&Math.abs(e.w-r.w)<=n},l.ZERO=a(new l(0,0,0,0)),l.IDENTITY=a(new l(0,0,0,1)),l.prototype.clone=function(e){return l.clone(this,e)},l.prototype.equals=function(e){return l.equals(this,e)},l.prototype.equalsEpsilon=function(e,r){return l.equalsEpsilon(this,e,r)},l.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+", "+this.w+")"},l}),define("Core/EllipseGeometryLibrary",["./Cartesian3","./Math","./Matrix3","./Quaternion"],function(e,r,t,n){"use strict";function i(r,i,a,c,f,m,y,h,p,d){var v=r+i;e.multiplyByScalar(c,Math.cos(v),o),e.multiplyByScalar(a,Math.sin(v),u),e.add(o,u,o);var g=Math.cos(r);g*=g;var E=Math.sin(r);E*=E;var w=m/Math.sqrt(y*g+f*E),S=w/h;return n.fromAxisAngle(o,S,s),t.fromQuaternion(s,l),t.multiplyByVector(l,p,d),e.normalize(d,d),e.multiplyByScalar(d,h,d),d}var a={},o=new e,u=new e,s=new n,l=new t,c=new e,f=new e,m=new e,y=new e;a.raisePositionsToHeight=function(r,t,n){for(var i=t.ellipsoid,a=t.height,o=t.extrudedHeight,u=n?2*(r.length/3):r.length/3,s=new Float64Array(3*u),l=y,h=r.length,p=n?h:0,d=0;h>d;d+=3){var v,g=d+1,E=d+2,w=e.fromArray(r,d,c);w=i.scaleToGeodeticSurface(w,w),v=e.clone(w,f),l=i.geodeticSurfaceNormal(w,l);var S=e.multiplyByScalar(l,a,m);w=e.add(w,S,w),n&&(S=e.multiplyByScalar(l,o,S),v=e.add(v,S,v),s[d+p]=v.x,s[g+p]=v.y,s[E+p]=v.z),s[d]=w.x,s[g]=w.y,s[E]=w.z}return s};var h=new e,p=new e,d=new e;return a.computeEllipsePositions=function(t,n,a){var o=t.semiMinorAxis,u=t.semiMajorAxis,s=t.rotation,l=t.center,y=t.granularity,v=2.31,g=o*o,E=u*u,w=u*o,S=e.magnitude(l),C=e.normalize(l,h),x=e.cross(e.UNIT_Z,l,p);x=e.normalize(x,x);var A,M,b,T,O,I=e.cross(C,x,d),N=1+Math.ceil(r.PI_OVER_TWO/y),z=v/(N-1),R=2*N*(N+1),L=n?new Array(3*R):void 0,F=0,P=c,D=f,B=a?[]:void 0,_=a?[]:void 0,U=r.PI_OVER_TWO;for(A=0;N>A&&U>0;++A){if(P=i(U,s,I,x,g,w,E,S,C,P),D=i(Math.PI-U,s,I,x,g,w,E,S,C,D),n){for(L[F++]=P.x,L[F++]=P.y,L[F++]=P.z,b=2*A+2,M=1;b-1>M;++M)T=M/(b-1),O=e.lerp(P,D,T,m),L[F++]=O.x,L[F++]=O.y,L[F++]=O.z;L[F++]=D.x,L[F++]=D.y,L[F++]=D.z}a&&(_.unshift(P.x,P.y,P.z),0!==A&&B.push(D.x,D.y,D.z)),U=r.PI_OVER_TWO-(A+1)*z}for(N=A,A=N;A>0;--A){if(U=r.PI_OVER_TWO-(A-1)*z,P=i(-U,s,I,x,g,w,E,S,C,P),D=i(U+Math.PI,s,I,x,g,w,E,S,C,D),n){for(L[F++]=P.x,L[F++]=P.y,L[F++]=P.z,b=2*(A-1)+2,M=1;b-1>M;++M)T=M/(b-1),O=e.lerp(P,D,T,m),L[F++]=O.x,L[F++]=O.y,L[F++]=O.z;L[F++]=D.x,L[F++]=D.y,L[F++]=D.z}a&&(_.unshift(P.x,P.y,P.z),1!==A&&B.push(D.x,D.y,D.z))}var G={};return n&&(L.length!==F&&(R=F/3,L.length=F),G.positions=L,G.numPts=N),a&&(G.outerPositions=_.concat(B)),G},a}),define("Core/Geometry",["./defaultValue","./defined","./DeveloperError"],function(e,r,t){"use strict";var n=function(r){r=e(r,e.EMPTY_OBJECT),this.attributes=r.attributes,this.indices=r.indices,this.primitiveType=r.primitiveType,this.boundingSphere=r.boundingSphere};return n.computeNumberOfVertices=function(e){var n=-1;for(var i in e.attributes)if(e.attributes.hasOwnProperty(i)&&r(e.attributes[i])&&r(e.attributes[i].values)){var a=e.attributes[i],o=a.values.length/a.componentsPerAttribute;if(n!==o&&-1!==n)throw new t("All attribute lists must have the same number of attributes.");n=o}return n},n}),define("Core/GeometryAttribute",["./defaultValue","./defined","./DeveloperError"],function(e){"use strict";var r=function(r){r=e(r,e.EMPTY_OBJECT),this.componentDatatype=r.componentDatatype,this.componentsPerAttribute=r.componentsPerAttribute,this.normalize=e(r.normalize,!1),this.values=r.values};return r}),define("Core/GeometryAttributes",["./defaultValue"],function(e){"use strict";var r=function(r){r=e(r,e.EMPTY_OBJECT),this.position=r.position,this.normal=r.normal,this.st=r.st,this.binormal=r.binormal,this.tangent=r.tangent,this.color=r.color};return r}),define("Core/PrimitiveType",[],function(){"use strict";var e={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,validate:function(r){return r===e.POINTS||r===e.LINES||r===e.LINE_LOOP||r===e.LINE_STRIP||r===e.TRIANGLES||r===e.TRIANGLE_STRIP||r===e.TRIANGLE_FAN}};return e}),define("Core/EllipseOutlineGeometry",["./defaultValue","./defined","./BoundingSphere","./Cartesian3","./ComponentDatatype","./IndexDatatype","./DeveloperError","./Ellipsoid","./EllipseGeometryLibrary","./Geometry","./GeometryAttribute","./GeometryAttributes","./Math","./PrimitiveType"],function(e,r,t,n,i,a,o,u,s,l,c,f,m,y){"use strict";function h(e){var r=e.center;v=n.multiplyByScalar(e.ellipsoid.geodeticSurfaceNormal(r,v),e.height,v),v=n.add(r,v,v);for(var o=new t(v,e.semiMajorAxis),u=s.computeEllipsePositions(e,!1,!0).outerPositions,l=new f({position:new c({componentDatatype:i.DOUBLE,componentsPerAttribute:3,values:s.raisePositionsToHeight(u,e,!1)})}),m=u.length/3,y=a.createTypedArray(m,2*m),h=0,p=0;m-1>p;p++)y[h++]=p,y[h++]=p+1;return y[h++]=m-1,y[h++]=0,{boundingSphere:o,attributes:l,indices:y}}function p(r){var o=e(r.numberOfVerticalLines,16);o=Math.max(o,0);var u=r.center,l=r.ellipsoid,m=r.semiMajorAxis,y=n.multiplyByScalar(l.geodeticSurfaceNormal(u,d),r.height,d);g.center=n.add(u,y,g.center),g.radius=m,y=n.multiplyByScalar(l.geodeticSurfaceNormal(u,y),r.extrudedHeight,y),E.center=n.add(u,y,E.center),E.radius=m;var h=s.computeEllipsePositions(r,!1,!0).outerPositions,p=new f({position:new c({componentDatatype:i.DOUBLE,componentsPerAttribute:3,values:s.raisePositionsToHeight(h,r,!0)})});h=p.position.values;var v=t.union(g,E),w=h.length/3,S=a.createTypedArray(w,2*w+2*o);w/=2;for(var C=0,x=0;w-1>x;x++)S[C++]=x,S[C++]=x+1,S[C++]=x+w,S[C++]=x+w+1;S[C++]=w-1,S[C++]=0,S[C++]=w+w-1,S[C++]=w;var A;if(o>0){var M=Math.min(o,w);A=Math.round(w/M)}var b=Math.min(A*o,w);if(o>0)for(x=0;b>x;x+=A)S[C++]=x,S[C++]=x+w;return{boundingSphere:v,attributes:p,indices:S}}var d=new n,v=new n,g=new t,E=new t,w=function(t){t=e(t,e.EMPTY_OBJECT);var i=t.center,a=t.semiMajorAxis,o=t.semiMinorAxis,s=e(t.granularity,m.RADIANS_PER_DEGREE),l=e(t.height,0),c=t.extrudedHeight,f=r(c)&&!m.equalsEpsilon(l,c,1);this._center=n.clone(i),this._semiMajorAxis=a,this._semiMinorAxis=o,this._ellipsoid=e(t.ellipsoid,u.WGS84),this._rotation=e(t.rotation,0),this._height=l,this._granularity=s,this._extrudedHeight=c,this._extrude=f,this._numberOfVerticalLines=Math.max(e(t.numberOfVerticalLines,16),0),this._workerName="createEllipseOutlineGeometry"};return w.createGeometry=function(e){var r,t={center:e._center,semiMajorAxis:e._semiMajorAxis,semiMinorAxis:e._semiMinorAxis,ellipsoid:e._ellipsoid,rotation:e._rotation,height:e._height,extrudedHeight:e._extrudedHeight,granularity:e._granularity,numberOfVerticalLines:e._numberOfVerticalLines};return e._extrude?(t.extrudedHeight=Math.min(e._extrudedHeight,e._height),t.height=Math.max(e._extrudedHeight,e._height),r=p(t)):r=h(t),new l({attributes:r.attributes,indices:r.indices,primitiveType:y.LINES,boundingSphere:r.boundingSphere})},w}),define("Core/Color",["./defaultValue","./defined","./freezeObject","./DeveloperError","./FeatureDetection","./Math"],function(e,r,t,n,i,a){"use strict";function o(e,r,t){return 0>t&&(t+=1),t>1&&(t-=1),1>6*t?e+6*(r-e)*t:1>2*t?r:2>3*t?e+6*(r-e)*(2/3-t):e}var u=function(r,t,n,i){this.red=e(r,1),this.green=e(t,1),this.blue=e(n,1),this.alpha=e(i,1)};u.fromBytes=function(r,t,n,i){return r=u.byteToFloat(e(r,255)),t=u.byteToFloat(e(t,255)),n=u.byteToFloat(e(n,255)),i=u.byteToFloat(e(i,255)),new u(r,t,n,i)};var s,l,c;i.supportsTypedArrays()&&(s=new ArrayBuffer(4),l=new Uint32Array(s),c=new Uint8Array(s)),u.fromRgba=function(e){return l[0]=e,u.fromBytes(c[0],c[1],c[2],c[3])},u.fromHsl=function(r,t,n,i){r=e(r,0)%1,t=e(t,0),n=e(n,0),i=e(i,1); +var a=n,s=n,l=n;if(0!==t){var c;c=.5>n?n*(1+t):n+t-n*t;var f=2*n-c;a=o(f,c,r+1/3),s=o(f,c,r),l=o(f,c,r-1/3)}return new u(a,s,l,i)},u.fromRandom=function(t,n){t=e(t,e.EMPTY_OBJECT);var i=t.red;if(!r(i)){var o=e(t.minimumRed,0),s=e(t.maximumRed,1);i=o+a.nextRandomNumber()*(s-o)}var l=t.green;if(!r(l)){var c=e(t.minimumGreen,0),f=e(t.maximumGreen,1);l=c+a.nextRandomNumber()*(f-c)}var m=t.blue;if(!r(m)){var y=e(t.minimumBlue,0),h=e(t.maximumBlue,1);m=y+a.nextRandomNumber()*(h-y)}var p=t.alpha;if(!r(p)){var d=e(t.minimumAlpha,0),v=e(t.maximumAlpha,1);p=d+a.nextRandomNumber()*(v-d)}return r(n)?(n.red=i,n.green=l,n.blue=m,n.alpha=p,n):new u(i,l,m,p)};var f=/^#([0-9a-f])([0-9a-f])([0-9a-f])$/i,m=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i,y=/^rgba?\(\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)(?:\s*,\s*([0-9.]+))?\s*\)$/i,h=/^hsla?\(\s*([0-9.]+)\s*,\s*([0-9.]+%)\s*,\s*([0-9.]+%)(?:\s*,\s*([0-9.]+))?\s*\)$/i;return u.fromCssColorString=function(t){var n=u[t.toUpperCase()];if(r(n))return u.clone(n);var i=f.exec(t);return null!==i?new u(parseInt(i[1],16)/15,parseInt(i[2],16)/15,parseInt(i[3],16)/15):(i=m.exec(t),null!==i?new u(parseInt(i[1],16)/255,parseInt(i[2],16)/255,parseInt(i[3],16)/255):(i=y.exec(t),null!==i?new u(parseFloat(i[1])/("%"===i[1].substr(-1)?100:255),parseFloat(i[2])/("%"===i[2].substr(-1)?100:255),parseFloat(i[3])/("%"===i[3].substr(-1)?100:255),parseFloat(e(i[4],"1.0"))):(i=h.exec(t),null!==i?u.fromHsl(parseFloat(i[1])/360,parseFloat(i[2])/100,parseFloat(i[3])/100,parseFloat(e(i[4],"1.0"))):void 0)))},u.packedLength=4,u.pack=function(r,t,n){n=e(n,0),t[n++]=r.red,t[n++]=r.green,t[n++]=r.blue,t[n]=r.alpha},u.unpack=function(t,n,i){return n=e(n,0),r(i)||(i=new u),i.red=t[n++],i.green=t[n++],i.blue=t[n++],i.alpha=t[n],i},u.byteToFloat=function(e){return e/255},u.floatToByte=function(e){return 1===e?255:0|256*e},u.clone=function(e,t){return r(e)?r(t)?(t.red=e.red,t.green=e.green,t.blue=e.blue,t.alpha=e.alpha,t):new u(e.red,e.green,e.blue,e.alpha):void 0},u.equals=function(e,t){return e===t||r(e)&&r(t)&&e.red===t.red&&e.green===t.green&&e.blue===t.blue&&e.alpha===t.alpha},u.prototype.clone=function(e){return u.clone(this,e)},u.prototype.equals=function(e){return u.equals(this,e)},u.prototype.equalsEpsilon=function(e,t){return this===e||r(e)&&Math.abs(this.red-e.red)<=t&&Math.abs(this.green-e.green)<=t&&Math.abs(this.blue-e.blue)<=t&&Math.abs(this.alpha-e.alpha)<=t},u.prototype.toString=function(){return"("+this.red+", "+this.green+", "+this.blue+", "+this.alpha+")"},u.prototype.toCssColorString=function(){var e=u.floatToByte(this.red),r=u.floatToByte(this.green),t=u.floatToByte(this.blue);return 1===this.alpha?"rgb("+e+","+r+","+t+")":"rgba("+e+","+r+","+t+","+this.alpha+")"},u.prototype.toBytes=function(e){var t=u.floatToByte(this.red),n=u.floatToByte(this.green),i=u.floatToByte(this.blue),a=u.floatToByte(this.alpha);return r(e)?(e[0]=t,e[1]=n,e[2]=i,e[3]=a,e):[t,n,i,a]},u.prototype.toRgba=function(){return c[0]=u.floatToByte(this.red),c[1]=u.floatToByte(this.green),c[2]=u.floatToByte(this.blue),c[3]=u.floatToByte(this.alpha),l[0]},u.ALICEBLUE=t(u.fromCssColorString("#F0F8FF")),u.ANTIQUEWHITE=t(u.fromCssColorString("#FAEBD7")),u.AQUA=t(u.fromCssColorString("#00FFFF")),u.AQUAMARINE=t(u.fromCssColorString("#7FFFD4")),u.AZURE=t(u.fromCssColorString("#F0FFFF")),u.BEIGE=t(u.fromCssColorString("#F5F5DC")),u.BISQUE=t(u.fromCssColorString("#FFE4C4")),u.BLACK=t(u.fromCssColorString("#000000")),u.BLANCHEDALMOND=t(u.fromCssColorString("#FFEBCD")),u.BLUE=t(u.fromCssColorString("#0000FF")),u.BLUEVIOLET=t(u.fromCssColorString("#8A2BE2")),u.BROWN=t(u.fromCssColorString("#A52A2A")),u.BURLYWOOD=t(u.fromCssColorString("#DEB887")),u.CADETBLUE=t(u.fromCssColorString("#5F9EA0")),u.CHARTREUSE=t(u.fromCssColorString("#7FFF00")),u.CHOCOLATE=t(u.fromCssColorString("#D2691E")),u.CORAL=t(u.fromCssColorString("#FF7F50")),u.CORNFLOWERBLUE=t(u.fromCssColorString("#6495ED")),u.CORNSILK=t(u.fromCssColorString("#FFF8DC")),u.CRIMSON=t(u.fromCssColorString("#DC143C")),u.CYAN=t(u.fromCssColorString("#00FFFF")),u.DARKBLUE=t(u.fromCssColorString("#00008B")),u.DARKCYAN=t(u.fromCssColorString("#008B8B")),u.DARKGOLDENROD=t(u.fromCssColorString("#B8860B")),u.DARKGRAY=t(u.fromCssColorString("#A9A9A9")),u.DARKGREEN=t(u.fromCssColorString("#006400")),u.DARKGREY=u.DARKGRAY,u.DARKKHAKI=t(u.fromCssColorString("#BDB76B")),u.DARKMAGENTA=t(u.fromCssColorString("#8B008B")),u.DARKOLIVEGREEN=t(u.fromCssColorString("#556B2F")),u.DARKORANGE=t(u.fromCssColorString("#FF8C00")),u.DARKORCHID=t(u.fromCssColorString("#9932CC")),u.DARKRED=t(u.fromCssColorString("#8B0000")),u.DARKSALMON=t(u.fromCssColorString("#E9967A")),u.DARKSEAGREEN=t(u.fromCssColorString("#8FBC8F")),u.DARKSLATEBLUE=t(u.fromCssColorString("#483D8B")),u.DARKSLATEGRAY=t(u.fromCssColorString("#2F4F4F")),u.DARKSLATEGREY=u.DARKSLATEGRAY,u.DARKTURQUOISE=t(u.fromCssColorString("#00CED1")),u.DARKVIOLET=t(u.fromCssColorString("#9400D3")),u.DEEPPINK=t(u.fromCssColorString("#FF1493")),u.DEEPSKYBLUE=t(u.fromCssColorString("#00BFFF")),u.DIMGRAY=t(u.fromCssColorString("#696969")),u.DIMGREY=u.DIMGRAY,u.DODGERBLUE=t(u.fromCssColorString("#1E90FF")),u.FIREBRICK=t(u.fromCssColorString("#B22222")),u.FLORALWHITE=t(u.fromCssColorString("#FFFAF0")),u.FORESTGREEN=t(u.fromCssColorString("#228B22")),u.FUSCHIA=t(u.fromCssColorString("#FF00FF")),u.GAINSBORO=t(u.fromCssColorString("#DCDCDC")),u.GHOSTWHITE=t(u.fromCssColorString("#F8F8FF")),u.GOLD=t(u.fromCssColorString("#FFD700")),u.GOLDENROD=t(u.fromCssColorString("#DAA520")),u.GRAY=t(u.fromCssColorString("#808080")),u.GREEN=t(u.fromCssColorString("#008000")),u.GREENYELLOW=t(u.fromCssColorString("#ADFF2F")),u.GREY=u.GRAY,u.HONEYDEW=t(u.fromCssColorString("#F0FFF0")),u.HOTPINK=t(u.fromCssColorString("#FF69B4")),u.INDIANRED=t(u.fromCssColorString("#CD5C5C")),u.INDIGO=t(u.fromCssColorString("#4B0082")),u.IVORY=t(u.fromCssColorString("#FFFFF0")),u.KHAKI=t(u.fromCssColorString("#F0E68C")),u.LAVENDER=t(u.fromCssColorString("#E6E6FA")),u.LAVENDAR_BLUSH=t(u.fromCssColorString("#FFF0F5")),u.LAWNGREEN=t(u.fromCssColorString("#7CFC00")),u.LEMONCHIFFON=t(u.fromCssColorString("#FFFACD")),u.LIGHTBLUE=t(u.fromCssColorString("#ADD8E6")),u.LIGHTCORAL=t(u.fromCssColorString("#F08080")),u.LIGHTCYAN=t(u.fromCssColorString("#E0FFFF")),u.LIGHTGOLDENRODYELLOW=t(u.fromCssColorString("#FAFAD2")),u.LIGHTGRAY=t(u.fromCssColorString("#D3D3D3")),u.LIGHTGREEN=t(u.fromCssColorString("#90EE90")),u.LIGHTGREY=u.LIGHTGRAY,u.LIGHTPINK=t(u.fromCssColorString("#FFB6C1")),u.LIGHTSEAGREEN=t(u.fromCssColorString("#20B2AA")),u.LIGHTSKYBLUE=t(u.fromCssColorString("#87CEFA")),u.LIGHTSLATEGRAY=t(u.fromCssColorString("#778899")),u.LIGHTSLATEGREY=u.LIGHTSLATEGRAY,u.LIGHTSTEELBLUE=t(u.fromCssColorString("#B0C4DE")),u.LIGHTYELLOW=t(u.fromCssColorString("#FFFFE0")),u.LIME=t(u.fromCssColorString("#00FF00")),u.LIMEGREEN=t(u.fromCssColorString("#32CD32")),u.LINEN=t(u.fromCssColorString("#FAF0E6")),u.MAGENTA=t(u.fromCssColorString("#FF00FF")),u.MAROON=t(u.fromCssColorString("#800000")),u.MEDIUMAQUAMARINE=t(u.fromCssColorString("#66CDAA")),u.MEDIUMBLUE=t(u.fromCssColorString("#0000CD")),u.MEDIUMORCHID=t(u.fromCssColorString("#BA55D3")),u.MEDIUMPURPLE=t(u.fromCssColorString("#9370DB")),u.MEDIUMSEAGREEN=t(u.fromCssColorString("#3CB371")),u.MEDIUMSLATEBLUE=t(u.fromCssColorString("#7B68EE")),u.MEDIUMSPRINGGREEN=t(u.fromCssColorString("#00FA9A")),u.MEDIUMTURQUOISE=t(u.fromCssColorString("#48D1CC")),u.MEDIUMVIOLETRED=t(u.fromCssColorString("#C71585")),u.MIDNIGHTBLUE=t(u.fromCssColorString("#191970")),u.MINTCREAM=t(u.fromCssColorString("#F5FFFA")),u.MISTYROSE=t(u.fromCssColorString("#FFE4E1")),u.MOCCASIN=t(u.fromCssColorString("#FFE4B5")),u.NAVAJOWHITE=t(u.fromCssColorString("#FFDEAD")),u.NAVY=t(u.fromCssColorString("#000080")),u.OLDLACE=t(u.fromCssColorString("#FDF5E6")),u.OLIVE=t(u.fromCssColorString("#808000")),u.OLIVEDRAB=t(u.fromCssColorString("#6B8E23")),u.ORANGE=t(u.fromCssColorString("#FFA500")),u.ORANGERED=t(u.fromCssColorString("#FF4500")),u.ORCHID=t(u.fromCssColorString("#DA70D6")),u.PALEGOLDENROD=t(u.fromCssColorString("#EEE8AA")),u.PALEGREEN=t(u.fromCssColorString("#98FB98")),u.PALETURQUOISE=t(u.fromCssColorString("#AFEEEE")),u.PALEVIOLETRED=t(u.fromCssColorString("#DB7093")),u.PAPAYAWHIP=t(u.fromCssColorString("#FFEFD5")),u.PEACHPUFF=t(u.fromCssColorString("#FFDAB9")),u.PERU=t(u.fromCssColorString("#CD853F")),u.PINK=t(u.fromCssColorString("#FFC0CB")),u.PLUM=t(u.fromCssColorString("#DDA0DD")),u.POWDERBLUE=t(u.fromCssColorString("#B0E0E6")),u.PURPLE=t(u.fromCssColorString("#800080")),u.RED=t(u.fromCssColorString("#FF0000")),u.ROSYBROWN=t(u.fromCssColorString("#BC8F8F")),u.ROYALBLUE=t(u.fromCssColorString("#4169E1")),u.SADDLEBROWN=t(u.fromCssColorString("#8B4513")),u.SALMON=t(u.fromCssColorString("#FA8072")),u.SANDYBROWN=t(u.fromCssColorString("#F4A460")),u.SEAGREEN=t(u.fromCssColorString("#2E8B57")),u.SEASHELL=t(u.fromCssColorString("#FFF5EE")),u.SIENNA=t(u.fromCssColorString("#A0522D")),u.SILVER=t(u.fromCssColorString("#C0C0C0")),u.SKYBLUE=t(u.fromCssColorString("#87CEEB")),u.SLATEBLUE=t(u.fromCssColorString("#6A5ACD")),u.SLATEGRAY=t(u.fromCssColorString("#708090")),u.SLATEGREY=u.SLATEGRAY,u.SNOW=t(u.fromCssColorString("#FFFAFA")),u.SPRINGGREEN=t(u.fromCssColorString("#00FF7F")),u.STEELBLUE=t(u.fromCssColorString("#4682B4")),u.TAN=t(u.fromCssColorString("#D2B48C")),u.TEAL=t(u.fromCssColorString("#008080")),u.THISTLE=t(u.fromCssColorString("#D8BFD8")),u.TOMATO=t(u.fromCssColorString("#FF6347")),u.TURQUOISE=t(u.fromCssColorString("#40E0D0")),u.VIOLET=t(u.fromCssColorString("#EE82EE")),u.WHEAT=t(u.fromCssColorString("#F5DEB3")),u.WHITE=t(u.fromCssColorString("#FFFFFF")),u.WHITESMOKE=t(u.fromCssColorString("#F5F5F5")),u.YELLOW=t(u.fromCssColorString("#FFFF00")),u.YELLOWGREEN=t(u.fromCssColorString("#9ACD32")),u}),define("Core/Cartesian2",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,r,t,n){"use strict";var i=function(r,t){this.x=e(r,0),this.y=e(t,0)};i.fromElements=function(e,t,n){return r(n)?(n.x=e,n.y=t,n):new i(e,t)},i.clone=function(e,t){return r(e)?r(t)?(t.x=e.x,t.y=e.y,t):new i(e.x,e.y):void 0},i.fromCartesian3=i.clone,i.fromCartesian4=i.clone,i.packedLength=2,i.pack=function(r,t,n){n=e(n,0),t[n++]=r.x,t[n]=r.y},i.unpack=function(t,n,a){return n=e(n,0),r(a)||(a=new i),a.x=t[n++],a.y=t[n],a},i.fromArray=i.unpack,i.getMaximumComponent=function(e){return Math.max(e.x,e.y)},i.getMinimumComponent=function(e){return Math.min(e.x,e.y)},i.getMinimumByComponent=function(e,t,n){return r(n)||(n=new i),n.x=Math.min(e.x,t.x),n.y=Math.min(e.y,t.y),n},i.getMaximumByComponent=function(e,t,n){return r(n)||(n=new i),n.x=Math.max(e.x,t.x),n.y=Math.max(e.y,t.y),n},i.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y},i.magnitude=function(e){return Math.sqrt(i.magnitudeSquared(e))};var a=new i;i.distance=function(e,r){return i.subtract(e,r,a),i.magnitude(a)},i.normalize=function(e,t){var n=i.magnitude(e);return r(t)?(t.x=e.x/n,t.y=e.y/n,t):new i(e.x/n,e.y/n)},i.dot=function(e,r){return e.x*r.x+e.y*r.y},i.multiplyComponents=function(e,t,n){return r(n)?(n.x=e.x*t.x,n.y=e.y*t.y,n):new i(e.x*t.x,e.y*t.y)},i.add=function(e,t,n){return r(n)?(n.x=e.x+t.x,n.y=e.y+t.y,n):new i(e.x+t.x,e.y+t.y)},i.subtract=function(e,t,n){return r(n)?(n.x=e.x-t.x,n.y=e.y-t.y,n):new i(e.x-t.x,e.y-t.y)},i.multiplyByScalar=function(e,t,n){return r(n)?(n.x=e.x*t,n.y=e.y*t,n):new i(e.x*t,e.y*t)},i.divideByScalar=function(e,t,n){return r(n)?(n.x=e.x/t,n.y=e.y/t,n):new i(e.x/t,e.y/t)},i.negate=function(e,t){return r(t)?(t.x=-e.x,t.y=-e.y,t):new i(-e.x,-e.y)},i.abs=function(e,t){return r(t)?(t.x=Math.abs(e.x),t.y=Math.abs(e.y),t):new i(Math.abs(e.x),Math.abs(e.y))};var o=new i;i.lerp=function(e,r,t,n){return i.multiplyByScalar(r,t,o),n=i.multiplyByScalar(e,1-t,n),i.add(o,n,n)};var u=new i,s=new i;i.angleBetween=function(e,r){return i.normalize(e,u),i.normalize(r,s),Math.acos(i.dot(u,s))};var l=new i;return i.mostOrthogonalAxis=function(e,r){var t=i.normalize(e,l);return i.abs(t,t),r=t.x<=t.y?i.clone(i.UNIT_X,r):i.clone(i.UNIT_Y,r)},i.equals=function(e,t){return e===t||r(e)&&r(t)&&e.x===t.x&&e.y===t.y},i.equalsEpsilon=function(e,t,n){return e===t||r(e)&&r(t)&&Math.abs(e.x-t.x)<=n&&Math.abs(e.y-t.y)<=n},i.ZERO=n(new i(0,0)),i.UNIT_X=n(new i(1,0)),i.UNIT_Y=n(new i(0,1)),i.prototype.clone=function(e){return i.clone(this,e)},i.prototype.equals=function(e){return i.equals(this,e)},i.prototype.equalsEpsilon=function(e,r){return i.equalsEpsilon(this,e,r)},i.prototype.toString=function(){return"("+this.x+", "+this.y+")"},i}),define("Core/barycentricCoordinates",["./Cartesian2","./Cartesian3","./defined","./DeveloperError"],function(e,r,t){"use strict";var n=new r,i=new r,a=new r,o=function(o,u,s,l,c){t(c)||(c=new r);var f,m,y,h,p,d,v,g;t(u.z)?(f=r.subtract(s,u,n),m=r.subtract(l,u,i),y=r.subtract(o,u,a),h=r.dot(f,f),p=r.dot(f,m),d=r.dot(f,y),v=r.dot(m,m),g=r.dot(m,y)):(f=e.subtract(s,u,n),m=e.subtract(l,u,i),y=e.subtract(o,u,a),h=e.dot(f,f),p=e.dot(f,m),d=e.dot(f,y),v=e.dot(m,m),g=e.dot(m,y));var E=1/(h*v-p*p);return c.y=(v*d-p*g)*E,c.z=(h*g-p*d)*E,c.x=1-c.y-c.z,c};return o}),define("Core/EncodedCartesian3",["./Cartesian3","./defined","./DeveloperError"],function(e,r){"use strict";var t=function(){this.high=e.clone(e.ZERO),this.low=e.clone(e.ZERO)};t.encode=function(e,t){r(t)||(t={high:0,low:0});var n;return e>=0?(n=65536*Math.floor(e/65536),t.high=n,t.low=e-n):(n=65536*Math.floor(-e/65536),t.high=-n,t.low=e+n),t};var n={high:0,low:0};t.fromCartesian=function(e,i){r(i)||(i=new t);var a=i.high,o=i.low;return t.encode(e.x,n),a.x=n.high,o.x=n.low,t.encode(e.y,n),a.y=n.high,o.y=n.low,t.encode(e.z,n),a.z=n.high,o.z=n.low,i};var i=new t;return t.writeElements=function(e,r,n){t.fromCartesian(e,i);var a=i.high,o=i.low;r[n]=a.x,r[n+1]=a.y,r[n+2]=a.z,r[n+3]=o.x,r[n+4]=o.y,r[n+5]=o.z},t}),define("Core/QuadraticRealPolynomial",["./DeveloperError","./Math"],function(e,r){"use strict";function t(e,t,n){var i=e+t;return r.sign(e)!==r.sign(t)&&Math.abs(i/Math.max(Math.abs(e),Math.abs(t)))o&&o/uu&&u/oa)return[];var s=Math.sqrt(a);return[-s,s]}if(0===i)return a=-n/e,0>a?[a,0]:[0,a];var l=n*n,c=4*e*i,f=t(l,-c,r.EPSILON14);if(0>f)return[];var m=-.5*t(n,r.sign(n)*Math.sqrt(f),r.EPSILON14);return n>0?[m/e,i/m]:[i/m,m/e]},n}),define("Core/CubicRealPolynomial",["./DeveloperError","./QuadraticRealPolynomial"],function(e,r){"use strict";function t(e,r,t,n){var i,a,o=e,u=r/3,s=t/3,l=n,c=o*s,f=u*l,m=u*u,y=s*s,h=o*s-m,p=o*l-u*s,d=u*l-y,v=4*h*d-p*p;if(0>v){var g,E,w;m*f>=c*y?(g=o,E=h,w=-2*u*h+o*p):(g=l,E=d,w=-l*p+2*s*d);var S=0>w?-1:1,C=-S*Math.abs(g)*Math.sqrt(-v);a=-w+C;var x=a/2,A=0>x?-Math.pow(-x,1/3):Math.pow(x,1/3),M=a===C?-A:-E/A;return i=0>=E?A+M:-w/(A*A+M*M+E),m*f>=c*y?[(i-u)/o]:[-l/(i+s)]}var b=h,T=-2*u*h+o*p,O=d,I=-l*p+2*s*d,N=Math.sqrt(v),z=Math.sqrt(3)/2,R=Math.abs(Math.atan2(o*N,-T)/3);i=2*Math.sqrt(-b);var L=Math.cos(R);a=i*L;var F=i*(-L/2-z*Math.sin(R)),P=a+F>2*u?a-u:F-u,D=o,B=P/D;R=Math.abs(Math.atan2(l*N,-I)/3),i=2*Math.sqrt(-O),L=Math.cos(R),a=i*L,F=i*(-L/2-z*Math.sin(R));var _=-l,U=2*s>a+F?a+s:F+s,G=_/U,q=D*U,W=-P*U-D*_,Y=P*_,V=(s*W-u*Y)/(-u*W+s*q);return V>=B?G>=B?G>=V?[B,V,G]:[B,G,V]:[G,B,V]:G>=B?[V,B,G]:G>=V?[V,G,B]:[G,V,B]}var n={};return n.discriminant=function(e,r,t,n){var i=e*e,a=r*r,o=t*t,u=n*n,s=18*e*r*t*n+a*o-27*i*u-4*(e*o*t+a*r*n);return s},n.realRoots=function(e,n,i,a){var o,u;if(0===e)return r.realRoots(n,i,a);if(0===n){if(0===i){if(0===a)return[0,0,0];u=-a/e;var s=0>u?-Math.pow(-u,1/3):Math.pow(u,1/3);return[s,s,s]}return 0===a?(o=r.realRoots(e,0,i),0===o.Length?[0]:[o[0],0,o[1]]):t(e,0,i,a)}return 0===i?0===a?(u=-n/e,0>u?[u,0,0]:[0,0,u]):t(e,n,0,a):0===a?(o=r.realRoots(e,n,i),0===o.length?[0]:o[1]<=0?[o[0],o[1],0]:o[0]>=0?[0,o[0],o[1]]:[o[0],0,o[1]]):t(e,n,i,a)},n}),define("Core/QuarticRealPolynomial",["./DeveloperError","./Math","./CubicRealPolynomial","./QuadraticRealPolynomial"],function(e,r,t,n){"use strict";function i(e,i,a,o){var u=e*e,s=i-3*u/8,l=a-i*e/2+u*e/8,c=o-a*e/4+i*u/16-3*u*u/256,f=t.realRoots(1,2*s,s*s-4*c,-l*l);if(f.length>0){var m=-e/4,y=f[f.length-1];if(Math.abs(y)=0&&v>=0){var g=Math.sqrt(d),E=Math.sqrt(v);return[m-E,m-g,m+g,m+E]}if(d>=0&&0>v)return p=Math.sqrt(d),[m-p,m+p];if(0>d&&v>=0)return p=Math.sqrt(v),[m-p,m+p]}return[]}if(y>0){var w=Math.sqrt(y),S=(s+y-l/w)/2,C=(s+y+l/w)/2,x=n.realRoots(1,w,S),A=n.realRoots(1,-w,C);return 0!==x.length?(x[0]+=m,x[1]+=m,0!==A.length?(A[0]+=m,A[1]+=m,x[1]<=A[0]?[x[0],x[1],A[0],A[1]]:A[1]<=x[0]?[A[0],A[1],x[0],x[1]]:x[0]>=A[0]&&x[1]<=A[1]?[A[0],x[0],x[1],A[1]]:A[0]>=x[0]&&A[1]<=x[1]?[x[0],A[0],A[1],x[1]]:x[0]>A[0]&&x[0]0){var h,p,d=y[0],v=i-d,g=v*v,E=e/2,w=v/2,S=g-4*o,C=g+4*Math.abs(o),x=l-4*d,A=l+4*Math.abs(d);if(0>d||x*C>S*A){var M=Math.sqrt(x);h=M/2,p=0===M?0:(e*w-a)/M}else{var b=Math.sqrt(S);h=0===b?0:(e*w-a)/b,p=b/2}var T,O;0===E&&0===h?(T=0,O=0):r.sign(E)===r.sign(h)?(T=E+h,O=d/T):(O=E-h,T=d/O);var I,N;0===w&&0===p?(I=0,N=0):r.sign(w)===r.sign(p)?(I=w+p,N=o/I):(N=w-p,I=o/N);var z=n.realRoots(1,T,I),R=n.realRoots(1,O,N);if(0!==z.length)return 0!==R.length?z[1]<=R[0]?[z[0],z[1],R[0],R[1]]:R[1]<=z[0]?[R[0],R[1],z[0],z[1]]:z[0]>=R[0]&&z[1]<=R[1]?[R[0],z[0],z[1],R[1]]:R[0]>=z[0]&&R[1]<=z[1]?[z[0],R[0],R[1],z[1]]:z[0]>R[0]&&z[0]l?1:0;switch(y+=0>c?y+1:y,y+=0>f?y+1:y,y+=0>m?y+1:y){case 0:return i(l,c,f,m);case 1:return a(l,c,f,m);case 2:return a(l,c,f,m);case 3:return i(l,c,f,m);case 4:return i(l,c,f,m);case 5:return a(l,c,f,m);case 6:return i(l,c,f,m);case 7:return i(l,c,f,m);case 8:return a(l,c,f,m);case 9:return i(l,c,f,m);case 10:return i(l,c,f,m);case 11:return a(l,c,f,m);case 12:return i(l,c,f,m);case 13:return i(l,c,f,m);case 14:return i(l,c,f,m);case 15:return i(l,c,f,m);default:return void 0}},o}),define("Core/IntersectionTests",["./defined","./DeveloperError","./Math","./Cartesian3","./Cartographic","./Matrix3","./QuadraticRealPolynomial","./QuarticRealPolynomial"],function(e,r,t,n,i,a,o,u){"use strict";function s(e,r,n){var i=e+r;return t.sign(e)!==t.sign(r)&&Math.abs(i/Math.max(Math.abs(e),Math.abs(r)))F;++F){var P,D=f[F],B=D*D,_=Math.max(1-B,0),U=Math.sqrt(_);P=t.sign(h)===t.sign(d)?s(h*B+d,p*D,t.EPSILON12):t.sign(d)===t.sign(p*D)?s(h*B,p*D+d,t.EPSILON12):s(h*B+p*D,d,t.EPSILON12);var G=s(v*D,g,t.EPSILON15),q=P*G;0>q?E.push(new n(l,c*D,c*U)):q>0?E.push(new n(l,c*D,c*-U)):0!==U?(E.push(new n(l,c*D,c*-U)),E.push(new n(l,c*D,c*U)),++F):E.push(new n(l,c*D,c*U))}return E}var c={};c.rayPlane=function(e,r,i){var a=e.origin,o=e.direction,u=r.normal,s=n.dot(u,o);if(Math.abs(s)l?void 0:(i=n.multiplyByScalar(o,l,i),n.add(a,i,i))};var f=new n,m=new n;c.rayEllipsoid=function(e,r){var t,i,a,o,u,s=r.oneOverRadii,l=n.multiplyComponents(s,e.origin,f),c=n.multiplyComponents(s,e.direction,m),y=n.magnitudeSquared(l),h=n.dot(l,c);if(y>1){if(h>=0)return void 0;var p=h*h;if(t=y-1,i=n.magnitudeSquared(c),a=i*t,a>p)return void 0;if(p>a){o=h*h-a,u=-h+Math.sqrt(o);var d=u/i,v=t/u;return v>d?{start:d,stop:v}:{start:v,stop:d}}var g=Math.sqrt(t/i);return{start:g,stop:g}}return 1>y?(t=y-1,i=n.magnitudeSquared(c),a=i*t,o=h*h-a,u=-h+Math.sqrt(o),{start:0,stop:u/i}):0>h?(i=n.magnitudeSquared(c),{start:0,stop:-h/i}):void 0},c.grazingAltitudeLocation=function(r,o){var u=r.origin,s=r.direction,c=o.geodeticSurfaceNormal(u);if(n.dot(s,c)>=0)return u;var f,m,y=e(this.rayEllipsoid(r,o)),h=o.transformPositionToScaledSpace(s),p=n.normalize(h),d=n.mostOrthogonalAxis(h),v=n.normalize(n.cross(d,p)),g=n.normalize(n.cross(p,v)),E=new a(p.x,v.x,g.x,p.y,v.y,g.y,p.z,v.z,g.z),w=a.transpose(E),S=a.fromScale(o.radii),C=a.fromScale(o.oneOverRadii),x=new a(0,s.z,-s.y,-s.z,0,s.x,s.y,-s.x,0),A=a.multiply(a.multiply(w,C),x),M=a.multiply(a.multiply(A,S),E),b=a.multiplyByVector(A,u),T=l(M,n.negate(b),0,0,1),O=T.length;if(O>0){for(var I=n.ZERO,N=Number.NEGATIVE_INFINITY,z=0;O>z;++z){f=a.multiplyByVector(S,a.multiplyByVector(E,T[z]));var R=n.normalize(n.subtract(f,u)),L=n.dot(R,s);L>N&&(N=L,I=f)}var F=o.cartesianToCartographic(I);return N=t.clamp(N,0,1),m=n.magnitude(n.subtract(I,u))*Math.sqrt(1-N*N),m=y?-m:m,o.cartographicToCartesian(new i(F.longitude,F.latitude,m))}return void 0};var y=new n;return c.lineSegmentPlane=function(r,i,a,o){var u=n.subtract(i,r,y),s=a.normal,l=n.dot(s,u);if(Math.abs(l)f||f>1?void 0:(e(o)||(o=new n),n.multiplyByScalar(u,f,o),n.add(r,o,o),o)},c.trianglePlaneIntersection=function(e,r,t,i){var a=i.normal,o=i.distance,u=n.dot(a,e)+o<0,s=n.dot(a,r)+o<0,l=n.dot(a,t)+o<0,f=0;f+=u?1:0,f+=s?1:0,f+=l?1:0;var m,y;if((1===f||2===f)&&(m=new n,y=new n),1===f){if(u)return c.lineSegmentPlane(e,r,i,m),c.lineSegmentPlane(e,t,i,y),{positions:[e,r,t,m,y],indices:[0,3,4,1,2,4,1,4,3]};if(s)return c.lineSegmentPlane(r,t,i,m),c.lineSegmentPlane(r,e,i,y),{positions:[e,r,t,m,y],indices:[1,3,4,2,0,4,2,4,3]};if(l)return c.lineSegmentPlane(t,e,i,m),c.lineSegmentPlane(t,r,i,y),{positions:[e,r,t,m,y],indices:[2,3,4,0,1,4,0,4,3]}}else if(2===f){if(!u)return c.lineSegmentPlane(r,e,i,m),c.lineSegmentPlane(t,e,i,y),{positions:[e,r,t,m,y],indices:[1,2,4,1,4,3,0,3,4]};if(!s)return c.lineSegmentPlane(t,r,i,m),c.lineSegmentPlane(e,r,i,y),{positions:[e,r,t,m,y],indices:[2,0,4,2,4,3,1,3,4]};if(!l)return c.lineSegmentPlane(e,t,i,m),c.lineSegmentPlane(r,t,i,y),{positions:[e,r,t,m,y],indices:[0,1,4,0,4,3,2,3,4]}}return void 0},c}),define("Core/Plane",["./Cartesian3","./defined","./DeveloperError"],function(e,r){"use strict";var t=function(r,t){this.normal=e.clone(r),this.distance=t};return t.fromPointNormal=function(n,i,a){var o=-e.dot(i,n);return r(a)?(e.clone(i,a.normal),a.distance=o,a):new t(i,o)},t.getPointDistance=function(r,t){return e.dot(r.normal,t)+r.distance},t.prototype.getPointDistance=function(e){return t.getPointDistance(this,e)},t}),define("Core/Tipsify",["./defaultValue","./defined","./DeveloperError"],function(e,r){"use strict";var t={};return t.calculateACMR=function(t){t=e(t,e.EMPTY_OBJECT);var n=t.indices,i=t.maximumIndex,a=e(t.cacheSize,24),o=n.length;if(!r(i)){i=0;for(var u=0,s=n[u];o>u;)s>i&&(i=s),++u,s=n[u]}for(var l=[],c=0;i+1>c;c++)l[c]=0;for(var f=a+1,m=0;o>m;++m)f-l[n[m]]>a&&(l[n[m]]=f,++f);return(f-a+1)/(o/3)},t.tipsify=function(t){function n(e,r,t,n){for(;r.length>=1;){var i=r[r.length-1];if(r.splice(r.length-1,1),e[i].numLiveTriangles>0)return i}for(;n>a;){if(e[a].numLiveTriangles>0)return++a,a-1;++a}return-1}function i(e,r,t,i,a,o,u){for(var s,l=-1,c=-1,f=0;fc||-1===c)&&(c=s,l=m)),++f}return-1===l?n(i,o,e,u):l}t=e(t,e.EMPTY_OBJECT);var a,o=t.indices,u=t.maximumIndex,s=e(t.cacheSize,24),l=o.length,c=0,f=0,m=o[f],y=l;if(r(u))c=u+1;else{for(;y>f;)m>c&&(c=m),++f,m=o[f];if(-1===c)return 0;++c}for(var h=[],p=0;c>p;p++)h[p]={numLiveTriangles:0,timeStamp:0,vertexTriangles:[]};f=0;for(var d=0;y>f;)h[o[f]].vertexTriangles.push(d),++h[o[f]].numLiveTriangles,h[o[f+1]].vertexTriangles.push(d),++h[o[f+1]].numLiveTriangles,h[o[f+2]].vertexTriangles.push(d),++h[o[f+2]].numLiveTriangles,++d,f+=3;var v=0,g=s+1;a=1;var E,w,S=[],C=[],x=0,A=[],M=l/3,b=[];for(p=0;M>p;p++)b[p]=!1;for(var T,O;-1!==v;){S=[],w=h[v],O=w.vertexTriangles.length;for(var I=0;O>I;++I)if(d=w.vertexTriangles[I],!b[d]){b[d]=!0,f=d+d+d;for(var N=0;3>N;++N)T=o[f],S.push(T),C.push(T),A[x]=T,++x,E=h[T],--E.numLiveTriangles,g-E.timeStamp>s&&(E.timeStamp=g,++g),++f}v=i(o,s,S,h,g,C,c)}return A},t}),define("Core/GeometryPipeline",["./barycentricCoordinates","./defaultValue","./defined","./DeveloperError","./Cartesian2","./Cartesian3","./Cartesian4","./Cartographic","./EncodedCartesian3","./Intersect","./IntersectionTests","./Math","./Matrix3","./Matrix4","./Plane","./GeographicProjection","./ComponentDatatype","./IndexDatatype","./PrimitiveType","./Tipsify","./BoundingSphere","./Geometry","./GeometryAttribute"],function(e,r,t,n,i,a,o,u,s,l,c,f,m,y,h,p,d,v,g,E,w,S,C){"use strict";function x(e,r,t,n,i){e[r++]=t,e[r++]=n,e[r++]=n,e[r++]=i,e[r++]=i,e[r]=t}function A(e){for(var r=e.length,t=6*(r/3),n=v.createTypedArray(r,t),i=0,a=0;r>a;a+=3,i+=6)x(n,i,e[a],e[a+1],e[a+2]);return n}function M(e){var r=e.length;if(r>=3){var t=6*(r-2),n=v.createTypedArray(r,t);x(n,0,e[0],e[1],e[2]);for(var i=6,a=3;r>a;++a,i+=6)x(n,i,e[a-1],e[a],e[a-2]);return n}return new Uint16Array}function b(e){if(e.length>0){for(var r=e.length-1,t=6*(r-1),n=v.createTypedArray(r,t),i=e[0],a=0,o=1;r>o;++o,a+=6)x(n,a,i,e[o],e[o+1]);return n}return new Uint16Array}function T(e){var r={};for(var n in e)if(e.hasOwnProperty(n)&&t(e[n])&&t(e[n].values)){var i=e[n];r[n]=new C({componentDatatype:i.componentDatatype,componentsPerAttribute:i.componentsPerAttribute,normalize:i.normalize,values:[]})}return r}function O(e,r,n){for(var i in r)if(r.hasOwnProperty(i)&&t(r[i])&&t(r[i].values))for(var a=r[i],o=0;oo;o+=3)a.unpack(n,o,Z),y.multiplyByPoint(e,Z,Z),a.pack(Z,n,o)}function N(e,r){if(t(r))for(var n=r.values,i=n.length,o=0;i>o;o+=3)a.unpack(n,o,Z),m.multiplyByVector(e,Z,Z),Z=a.normalize(Z,Z),a.pack(Z,n,o)}function z(e){var r,n=e.length,i={},a=e[0].geometry.attributes;for(r in a)if(a.hasOwnProperty(r)&&t(a[r])&&t(a[r].values)){for(var o=a[r],u=o.values.length,s=!0,l=1;n>l;++l){var c=e[l].geometry.attributes[r];if(!t(c)||o.componentDatatype.value!==c.componentDatatype.value||o.componentsPerAttribute!==c.componentsPerAttribute||o.normalize!==c.normalize){s=!1;break}u+=c.values.length}s&&(i[r]=new C({componentDatatype:o.componentDatatype,componentsPerAttribute:o.componentsPerAttribute,normalize:o.normalize,values:d.createTypedArray(o.componentDatatype,u)}))}return i}function R(e){if(t(e.indices))return e;for(var r=S.computeNumberOfVertices(e),n=v.createTypedArray(r,r),i=0;r>i;++i)n[i]=i;return e.indices=n,e}function L(e){var r=S.computeNumberOfVertices(e),t=v.createTypedArray(r,3*(r-2));t[0]=1,t[1]=0,t[2]=2;for(var n=3,i=3;r>i;++i)t[n++]=i-1,t[n++]=0,t[n++]=i;return e.indices=t,e.primitiveType=g.TRIANGLES,e}function F(e){var r=S.computeNumberOfVertices(e),t=v.createTypedArray(r,3*(r-2));t[0]=0,t[1]=1,t[2]=2,r>3&&(t[3]=0,t[4]=2,t[5]=3);for(var n=6,i=3;r-1>i;i+=2)t[n++]=i,t[n++]=i-1,t[n++]=i+1,r>i+2&&(t[n++]=i,t[n++]=i+1,t[n++]=i+2);return e.indices=t,e.primitiveType=g.TRIANGLES,e}function P(e){if(t(e.indices))return e;for(var r=S.computeNumberOfVertices(e),n=v.createTypedArray(r,r),i=0;r>i;++i)n[i]=i;return e.indices=n,e}function D(e){var r=S.computeNumberOfVertices(e),t=v.createTypedArray(r,2*(r-1));t[0]=0,t[1]=1;for(var n=2,i=2;r>i;++i)t[n++]=i-1,t[n++]=i;return e.indices=t,e.primitiveType=g.LINES,e}function B(e){var r=S.computeNumberOfVertices(e),t=v.createTypedArray(r,2*r);t[0]=0,t[1]=1;for(var n=2,i=2;r>i;++i)t[n++]=i-1,t[n++]=i;return t[n++]=r-1,t[n]=0,e.indices=t,e.primitiveType=g.LINES,e}function _(e){switch(e.primitiveType){case g.TRIANGLE_FAN:return L(e);case g.TRIANGLE_STRIP:return F(e);case g.TRIANGLES:return R(e);case g.LINE_STRIP:return D(e);case g.LINE_LOOP:return B(e);case g.LINES:return P(e)}return e}function U(e,r){Math.abs(e.y)=0||r.x>=0||t.x>=0)return void 0;var n=e.y<0,i=r.y<0,a=t.y<0;U(e,n),U(r,i),U(t,a);var o=0;o+=n?1:0,o+=i?1:0,o+=a?1:0;var u=cr.indices;1===o?(u[1]=3,u[2]=4,u[5]=6,u[7]=6,u[8]=5,n?(G(e,r,or,sr),G(e,t,ur,lr),u[0]=0,u[3]=1,u[4]=2,u[6]=1):i?(G(r,t,or,sr),G(r,e,ur,lr),u[0]=1,u[3]=2,u[4]=0,u[6]=2):a&&(G(t,e,or,sr),G(t,r,ur,lr),u[0]=2,u[3]=0,u[4]=1,u[6]=0)):2===o&&(u[2]=4,u[4]=4,u[5]=3,u[7]=5,u[8]=6,n?i?a||(G(t,e,or,sr),G(t,r,ur,lr),u[0]=0,u[1]=1,u[3]=0,u[6]=2):(G(r,t,or,sr),G(r,e,ur,lr),u[0]=2,u[1]=0,u[3]=2,u[6]=1):(G(e,r,or,sr),G(e,t,ur,lr),u[0]=1,u[1]=2,u[3]=1,u[6]=0));var s=cr.positions;return s[0]=e,s[1]=r,s[2]=t,cr.length=3,(1===o||2===o)&&(s[3]=or,s[4]=ur,s[5]=sr,s[6]=lr,cr.length=7),cr}function W(r,n,o,u,s,l,c,f){if(t(s)||t(l)||t(c)||t(f)){var m,y,h,p,d,v,g,E,w,S,C,x,A,M,b,T,O,I,N=u.positions,z=N[0],R=N[1],L=N[2];t(s)&&(m=a.fromArray(s,3*r),y=a.fromArray(s,3*n),h=a.fromArray(s,3*o)),t(l)&&(p=a.fromArray(l,3*r),d=a.fromArray(l,3*n),v=a.fromArray(l,3*o)),t(c)&&(g=a.fromArray(c,3*r),E=a.fromArray(c,3*n),w=a.fromArray(c,3*o)),t(f)&&(S=i.fromArray(f,2*r),C=i.fromArray(f,2*n),x=i.fromArray(f,2*o));for(var F=3;FE;E+=3){var w=l[E],C=l[E+1],x=l[E+2],A=a.fromArray(n,3*w),M=a.fromArray(n,3*C),b=a.fromArray(n,3*x),T=q(A,M,b);if(t(T))if(c[3*w+1]=T.positions[0].y,c[3*C+1]=T.positions[1].y,c[3*x+1]=T.positions[2].y,T.length>3){for(var O=c.length/3,I=0;IN?p.push(l[E+N]):p.push(N-3+O)}for(var z=3;zm;m+=2){var y=i[m],p=i[m+1],d=a.fromArray(n,3*y),g=a.fromArray(n,3*p);if(Math.abs(d.y)c;c+=3)s[l++]=a[c],s[l++]=a[c+1],s[l++]=a[c+2],s[l++]=a[c]+o[c]*i,s[l++]=a[c+1]+o[c+1]*i,s[l++]=a[c+2]+o[c+2]*i;var f,m=e.boundingSphere;return t(m)&&(f=new w(m.center,m.radius+i)),new S({attributes:{position:new C({componentDatatype:d.DOUBLE,componentsPerAttribute:3,values:s})},primitiveType:g.LINES,boundingSphere:f})},H.createAttributeLocations=function(e){var r,n=["position","positionHigh","positionLow","position3DHigh","position3DLow","position2DHigh","position2DLow","pickColor","normal","st","binormal","tangent"],i=e.attributes,a={},o=0,u=n.length;for(r=0;u>r;++r){var s=n[r];t(i[s])&&(a[s]=o++)}for(var l in i)i.hasOwnProperty(l)&&!t(a[l])&&(a[l]=o++);return a},H.reorderForPreVertexCache=function(e){var r=S.computeNumberOfVertices(e),n=e.indices;if(t(n)){for(var i=new Int32Array(r),a=0;r>a;a++)i[a]=-1;for(var o,u=n,s=u.length,l=v.createTypedArray(r,s),c=0,f=0,m=0;s>c;)o=i[u[c]],-1!==o?l[f]=o:(o=u[c],i[o]=m,l[f]=m,++m),++c,++f;e.indices=l;var y=e.attributes;for(var h in y)if(y.hasOwnProperty(h)&&t(y[h])&&t(y[h].values)){for(var p=y[h],g=p.values,E=0,w=p.componentsPerAttribute,C=d.createTypedArray(p.componentDatatype,m*w);r>E;){var x=i[E];if(-1!==x)for(a=0;w>a;a++)C[w*x+a]=g[w*E+a];++E}p.values=C}}return e},H.reorderForPostVertexCache=function(e,r){var n=e.indices;if(e.primitiveType===g.TRIANGLES&&t(n)){for(var i=n.length,a=0,o=0;i>o;o++)n[o]>a&&(a=n[o]);e.indices=E.tipsify({indices:n,maximumIndex:a,cacheSize:r})}return e},H.fitToUnsignedShortIndices=function(e){var r=[],n=S.computeNumberOfVertices(e);if(t(e.indices)&&n>f.SIXTY_FOUR_KILOBYTES){var i,a=[],o=[],u=0,s=T(e.attributes),l=e.indices,c=l.length;e.primitiveType===g.TRIANGLES?i=3:e.primitiveType===g.LINES?i=2:e.primitiveType===g.POINTS&&(i=1);for(var m=0;c>m;m+=i){for(var y=0;i>y;++y){var h=l[m+y],p=a[h];t(p)||(p=u++,a[h]=p,O(s,e.attributes,h)),o.push(p)}u+i>f.SIXTY_FOUR_KILOBYTES&&(r.push(new S({attributes:s,indices:o,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere})),a=[],o=[],u=0,s=T(e.attributes))}0!==o.length&&r.push(new S({attributes:s,indices:o,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere}))}else r.push(e);return r};var k=new a,j=new u;H.projectTo2D=function(e,r,i,o,u){var s=e.attributes[r];u=t(u)?u:new p;for(var l=u.ellipsoid,c=s.values,f=new Float64Array(c.length),m=0,y=0;yc;++c)s.encode(a[c],K),u[c]=K.high,l[c]=K.low;var f=i.componentsPerAttribute;return e.attributes[t]=new C({componentDatatype:d.FLOAT,componentsPerAttribute:f,values:u}),e.attributes[n]=new C({componentDatatype:d.FLOAT,componentsPerAttribute:f,values:l}),delete e.attributes[r],e};var Z=new a,Q=new y,X=new m;H.transformToWorldCoordinates=function(e){var r=e.modelMatrix;if(y.equals(r,y.IDENTITY))return e;var n=e.geometry.attributes;I(r,n.position),I(r,n.prevPosition),I(r,n.nextPosition),(t(n.normal)||t(n.binormal)||t(n.tangent))&&(y.inverse(r,Q),y.transpose(Q,Q),y.getRotation(Q,X),N(X,n.normal),N(X,n.binormal),N(X,n.tangent));var i=e.geometry.boundingSphere;return t(i)&&(e.geometry.boundingSphere=w.transform(i,r,i)),e.modelMatrix=y.clone(y.IDENTITY),e},H.combine=function(e){var r,n,i,o,u=e.length;e[0].modelMatrix;var s,l,c,f=t(e[0].geometry.indices),m=e[0].geometry.primitiveType,y=z(e);for(r in y)if(y.hasOwnProperty(r))for(s=y[r].values,o=0,n=0;u>n;++n)for(l=e[n].geometry.attributes[r].values,c=l.length,i=0;c>i;++i)s[o++]=l[i];var h;if(f){var p=0;for(n=0;u>n;++n)p+=e[n].geometry.indices.length;var d=S.computeNumberOfVertices(new S({attributes:y,primitiveType:g.POINTS})),E=v.createTypedArray(d,p),C=0,x=0;for(n=0;u>n;++n){var A=e[n].geometry.indices,M=A.length;for(o=0;M>o;++o)E[C++]=x+A[o];x+=S.computeNumberOfVertices(e[n].geometry)}h=E}var b,T=new a,O=0;for(n=0;u>n;++n){if(b=e[n].geometry.boundingSphere,!t(b)){T=void 0;break}a.add(b.center,T,T)}if(t(T))for(a.divideByScalar(T,u,T),n=0;u>n;++n){b=e[n].geometry.boundingSphere;var I=a.magnitude(a.subtract(b.center,T))+b.radius;I>O&&(O=I)}return new S({attributes:y,indices:h,primitiveType:m,boundingSphere:t(T)?new w(T,O):void 0})};var J=new a,$=new a,er=new a,rr=new a;H.computeNormal=function(e){for(var r=e.indices,t=e.attributes,n=t.position.values,i=t.position.values.length/3,o=r.length,u=new Array(i),s=new Array(o/3),l=new Array(o),c=0;i>c;c++)u[c]={indexOffset:0,count:0,currentCount:0};var f=0;for(c=0;o>c;c+=3){var m=r[c],y=r[c+1],h=r[c+2],p=3*m,v=3*y,g=3*h;$.x=n[p],$.y=n[p+1],$.z=n[p+2],er.x=n[v],er.y=n[v+1],er.z=n[v+2],rr.x=n[g],rr.y=n[g+1],rr.z=n[g+2],u[m].count++,u[y].count++,u[h].count++,a.subtract(er,$,er),a.subtract(rr,$,rr),s[f]=a.cross(er,rr),f++}var E=0;for(c=0;i>c;c++)u[c].indexOffset+=E,E+=u[c].count;f=0;var w;for(c=0;o>c;c+=3){w=u[r[c]];var S=w.indexOffset+w.currentCount;l[S]=f,w.currentCount++,w=u[r[c+1]],S=w.indexOffset+w.currentCount,l[S]=f,w.currentCount++,w=u[r[c+2]],S=w.indexOffset+w.currentCount,l[S]=f,w.currentCount++,f++}var x=new Float32Array(3*i);for(c=0;i>c;c++){var A=3*c;if(w=u[c],w.count>0){for(a.clone(a.ZERO,J),f=0;fl;l+=3){var y=r[l],h=r[l+1],p=r[l+2];c=3*y,f=3*h,m=3*p;var v=2*y,g=2*h,E=2*p,w=t[c],S=t[c+1],x=t[c+2],A=i[v],M=i[v+1],b=i[g+1]-M,T=i[E+1]-M,O=1/((i[g]-A)*T-(i[E]-A)*b),I=(T*(t[f]-w)-b*(t[m]-w))*O,N=(T*(t[f+1]-S)-b*(t[m+1]-S))*O,z=(T*(t[f+2]-x)-b*(t[m+2]-x))*O;s[c]+=I,s[c+1]+=N,s[c+2]+=z,s[f]+=I,s[f+1]+=N,s[f+2]+=z,s[m]+=I,s[m+1]+=N,s[m+2]+=z}var R=new Float32Array(3*o),L=new Float32Array(3*o);for(l=0;o>l;l++){c=3*l,f=c+1,m=c+2;var F=a.fromArray(n,c,tr),P=a.fromArray(s,c,ir),D=a.dot(F,P);a.multiplyByScalar(F,D,nr),a.normalize(a.subtract(P,nr,P),P),L[c]=P.x,L[f]=P.y,L[m]=P.z,a.normalize(a.cross(F,P,P),P),R[c]=P.x,R[f]=P.y,R[m]=P.z}return e.attributes.tangent=new C({componentDatatype:d.FLOAT,componentsPerAttribute:3,values:L}),e.attributes.binormal=new C({componentDatatype:d.FLOAT,componentsPerAttribute:3,values:R}),e};var ar=new a,or=new a,ur=new a,sr=new a,lr=new a,cr={positions:new Array(7),indices:new Array(9)};return H.wrapLongitude=function(e){var r=e.boundingSphere;if(t(r)){var n=r.center.x-r.radius;if(n>0||w.intersect(r,o.UNIT_Y)!==l.INTERSECTING)return e}return _(e),e.primitiveType===g.TRIANGLES?Y(e):e.primitiveType===g.LINES&&V(e),e},H}),define("Scene/PrimitivePipeline",["../Core/defined","../Core/defaultValue","../Core/Color","../Core/ComponentDatatype","../Core/DeveloperError","../Core/FeatureDetection","../Core/Geometry","../Core/GeometryAttribute","../Core/GeometryPipeline","../Core/Matrix4"],function(e,r,t,n,i,a,o,u,s,l){"use strict";function c(e,r,t){var n,i=!t,a=e.length;if(!i&&a>1){var o=e[0].modelMatrix;for(n=1;a>n;++n)if(!l.equals(o,e[n].modelMatrix)){i=!0;break}}if(i)for(n=0;a>n;++n)s.transformToWorldCoordinates(e[n]);else l.clone(e[0].modelMatrix,r)}function f(e,r){for(var i=e.length,a=0;i>a;++a){var o=e[a],s=o.geometry,l=s.attributes,c=l.position,f=4*(c.values.length/c.componentsPerAttribute);l.pickColor=new u({componentDatatype:n.UNSIGNED_BYTE,componentsPerAttribute:4,normalize:!0,values:new Uint8Array(f)});for(var m=r[a],y=t.floatToByte(m.red),h=t.floatToByte(m.green),p=t.floatToByte(m.blue),d=t.floatToByte(m.alpha),v=l.pickColor.values,g=0;f>g;g+=4)v[g]=y,v[g+1]=h,v[g+2]=p,v[g+3]=d}}function m(r){var t,n=r.length,i=[],a=r[0].attributes;for(t in a)if(a.hasOwnProperty(t)){for(var o=a[t],u=!0,s=1;n>s;++s){var l=r[s].attributes[t];if(!e(l)||o.componentDatatype.value!==l.componentDatatype.value||o.componentsPerAttribute!==l.componentsPerAttribute||o.normalize!==l.normalize){u=!1;break}}u&&i.push(t)}return i}function y(e,r){for(var t=e.length,i=0;t>i;++i)for(var a=e[i],s=a.attributes,l=a.geometry,c=o.computeNumberOfVertices(l),f=r.length,m=0;f>m;++m){for(var y=r[m],h=s[y],p=h.componentDatatype,d=h.value,v=d.length,g=n.createTypedArray(p,c*v),E=0;c>E;++E)g.set(d,E*v);l.attributes[y]=new u({componentDatatype:p,componentsPerAttribute:v,normalize:h.normalize,values:g})}}function h(e){var r,t=e.instances,i=e.pickIds,a=e.projection,o=e.elementIndexUintSupported,u=e.allow3DOnly,l=e.allowPicking,h=e.vertexCacheOptimize,p=e.modelMatrix,d=t.length;if(t[0].geometry.primitiveType,c(t,p,u),!u)for(r=0;d>r;++r)s.wrapLongitude(t[r].geometry);l&&f(t,i);var v=m(t);if(y(t,v),h)for(r=0;d>r;++r)s.reorderForPostVertexCache(t[r].geometry),s.reorderForPreVertexCache(t[r].geometry);var g,E=s.combine(t),w=E.attributes;if(u)for(g in w)w.hasOwnProperty(g)&&w[g].componentDatatype.value===n.DOUBLE.value&&s.encodeAttribute(E,g,g+"3DHigh",g+"3DLow");else for(g in w)if(w.hasOwnProperty(g)&&w[g].componentDatatype.value===n.DOUBLE.value){var S=g+"3D",C=g+"2D";s.projectTo2D(E,g,S,C,a),s.encodeAttribute(E,S,S+"High",S+"Low"),s.encodeAttribute(E,C,C+"High",C+"Low")}return o?[E]:s.fitToUnsignedShortIndices(E)}function p(e,r,t){for(var i=[],a=e.attributes,o=t.length,u=0;o>u;++u){var s=t[u],l=a[s],c=l.componentDatatype;c.value===n.DOUBLE.value&&(c=n.FLOAT);var f=n.createTypedArray(c,l.values);i.push({index:r[s],componentDatatype:c,componentsPerAttribute:l.componentsPerAttribute,normalize:l.normalize,values:f}),delete a[s]}return i}function d(t,n,i){for(var a=[],u=m(t),s=t.length,l={},c={},f=0;s>f;++f)for(var y=t[f],h=o.computeNumberOfVertices(y.geometry),p=u.length,d=0;p>d;++d)for(var v=u[d],g=i[v],E=h;E>0;){for(var w,S=r(c[v],0),C=n[S],x=C.length,A=0;x>A&&(w=C[A],w.index!==g);++A);e(a[f])||(a[f]={}),e(a[f][v])||(a[f][v]={dirty:!1,value:y.attributes[v].value,indices:[]});var M,b=w.values.length/w.componentsPerAttribute,T=r(l[v],0);b>T+E?(M=E,a[f][v].indices.push({attribute:w,offset:T,count:M}),l[v]=T+E):(M=b-T,a[f][v].indices.push({attribute:w,offset:T,count:M}),l[v]=0,c[v]=S+1),E-=M}return a}function v(r){return e(r.constructor.name)?{type:r.constructor.name,buffer:r.buffer}:r}function g(r){return e(r.type)?new w[r.type](r.buffer):r}if(!a.supportsTypedArrays())return{};var E={};E.combineGeometry=function(e){for(var r={instances:e.instances,pickIds:e.pickIds,ellipsoid:e.ellipsoid,projection:e.projection,elementIndexUintSupported:e.elementIndexUintSupported,allow3DOnly:e.allow3DOnly,allowPicking:e.allowPicking,vertexCacheOptimize:e.vertexCacheOptimize,modelMatrix:l.clone(e.modelMatrix)},t=h(r),n=s.createAttributeLocations(t[0]),i=r.instances,a=m(i),o=[],u=t.length,c=0;u>c;++c){var f=t[c];o.push(p(f,n,a))}var y=d(i,o,n);return{geometries:t,modelMatrix:r.modelMatrix,attributeLocations:n,vaAttributes:o,vaAttributeLocations:y}};var w={Int8Array:Int8Array,Uint8Array:Uint8Array,Int16Array:Int16Array,Uint16Array:Uint16Array,Int32Array:Int32Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array};return E.transferGeometry=function(r,t){var n,i=r.attributes;for(var o in i)i.hasOwnProperty(o)&&e(i[o])&&e(i[o].values)&&(n=i[o].values,a.supportsTransferringArrayBuffers()&&t.indexOf(i[o].values.buffer)<0&&t.push(n.buffer),e(n.type)||(i[o].values=v(n)));e(r.indices)&&(n=r.indices,a.supportsTransferringArrayBuffers()&&t.push(n.buffer),e(n.type)||(r.indices=v(r.indices)))},E.transferGeometries=function(e,r){for(var t=e.length,n=0;t>n;++n)E.transferGeometry(e[n],r)},E.transferPerInstanceAttributes=function(e,r){for(var t=e.length,n=0;t>n;++n)for(var i=e[n],o=i.length,u=0;o>u;++u){var s=i[u].values;a.supportsTransferringArrayBuffers()&&r.push(s.buffer),i[u].values=v(s)}},E.transferInstances=function(e,r){for(var t=e.length,n=0;t>n;++n){var i=e[n];E.transferGeometry(i.geometry,r)}},E.receiveGeometry=function(r){var t=r.attributes;for(var n in t)t.hasOwnProperty(n)&&e(t[n])&&e(t[n].values)&&(t[n].values=g(t[n].values));e(r.indices)&&(r.indices=g(r.indices))},E.receiveGeometries=function(e){for(var r=e.length,t=0;r>t;++t)E.receiveGeometry(e[t])},E.receivePerInstanceAttributes=function(e){for(var r=e.length,t=0;r>t;++t)for(var n=e[t],i=n.length,a=0;i>a;++a)n[a].values=g(n[a].values)},E.receiveInstances=function(e){for(var r=e.length,t=0;r>t;++t){var n=e[t];E.receiveGeometry(n.geometry)}},E}),define("Workers/createTaskProcessorWorker",["../Core/defaultValue","../Core/defined"],function(e,r){"use strict";var t=function(t){var n,i=[],a={id:void 0,result:void 0,error:void 0};return function(o){var u=o.data;i.length=0,a.id=u.id,a.error=void 0,a.result=void 0;try{a.result=t(u.parameters,i)}catch(s){a.error=s}r(n)||(n=e(self.webkitPostMessage,self.postMessage));try{n(a,i)}catch(s){a.result=void 0,a.error="postMessage failed with error: "+s+"\n with responseMessage: "+JSON.stringify(a),n(a)}}};return t}),define("Workers/createEllipseOutlineGeometry",["../Core/Cartesian3","../Core/EllipseOutlineGeometry","../Core/Ellipsoid","../Scene/PrimitivePipeline","./createTaskProcessorWorker"],function(e,r,t,n,i){"use strict";function a(i,a){var o=i.geometry;o._center=e.clone(o._center),o._ellipsoid=t.clone(o._ellipsoid);var u=r.createGeometry(o);return n.transferGeometry(u,a),{geometry:u,index:i.index}}return i(a)})}(); \ No newline at end of file diff --git a/Cesium/Workers/createEllipsoidGeometry.js b/Cesium/Workers/createEllipsoidGeometry.js new file mode 100644 index 0000000..07e242a --- /dev/null +++ b/Cesium/Workers/createEllipsoidGeometry.js @@ -0,0 +1,61 @@ +/** + * Cesium - https://github.com/AnalyticalGraphicsInc/cesium + * + * Copyright 2011-2014 Cesium Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Columbus View (Pat. Pend.) + * + * Portions licensed separately. + * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details. + */ +/** +@license +mersenne-twister.js - https://gist.github.com/banksean/300494 + + Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura, + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. The names of its contributors may not be used to endorse or promote + products derived from this software without specific prior written + permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +!function(){define("Core/defined",[],function(){"use strict";var e=function(e){return void 0!==e};return e}),define("Core/freezeObject",["./defined"],function(e){"use strict";var r=Object.freeze;return e(r)||(r=function(e){return e}),r}),define("Core/defaultValue",["./freezeObject"],function(e){"use strict";var r=function(e,r){return void 0!==e?e:r};return r.EMPTY_OBJECT=e({}),r}),define("Core/DeveloperError",["./defined"],function(e){"use strict";var r=function(e){this.name="DeveloperError",this.message=e;var r;try{throw new Error}catch(t){r=t.stack}this.stack=r};return r.prototype.toString=function(){var r=this.name+": "+this.message;return e(this.stack)&&(r+="\n"+this.stack.toString()),r},r.throwInstantiationError=function(){throw new r("This function defines an interface and should not be called directly.")},r}),define("Core/Cartesian2",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,r,t,n){"use strict";var o=function(r,t){this.x=e(r,0),this.y=e(t,0)};o.fromElements=function(e,t,n){return r(n)?(n.x=e,n.y=t,n):new o(e,t)},o.clone=function(e,t){return r(e)?r(t)?(t.x=e.x,t.y=e.y,t):new o(e.x,e.y):void 0},o.fromCartesian3=o.clone,o.fromCartesian4=o.clone,o.packedLength=2,o.pack=function(r,t,n){n=e(n,0),t[n++]=r.x,t[n]=r.y},o.unpack=function(t,n,i){return n=e(n,0),r(i)||(i=new o),i.x=t[n++],i.y=t[n],i},o.fromArray=o.unpack,o.getMaximumComponent=function(e){return Math.max(e.x,e.y)},o.getMinimumComponent=function(e){return Math.min(e.x,e.y)},o.getMinimumByComponent=function(e,t,n){return r(n)||(n=new o),n.x=Math.min(e.x,t.x),n.y=Math.min(e.y,t.y),n},o.getMaximumByComponent=function(e,t,n){return r(n)||(n=new o),n.x=Math.max(e.x,t.x),n.y=Math.max(e.y,t.y),n},o.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y},o.magnitude=function(e){return Math.sqrt(o.magnitudeSquared(e))};var i=new o;o.distance=function(e,r){return o.subtract(e,r,i),o.magnitude(i)},o.normalize=function(e,t){var n=o.magnitude(e);return r(t)?(t.x=e.x/n,t.y=e.y/n,t):new o(e.x/n,e.y/n)},o.dot=function(e,r){return e.x*r.x+e.y*r.y},o.multiplyComponents=function(e,t,n){return r(n)?(n.x=e.x*t.x,n.y=e.y*t.y,n):new o(e.x*t.x,e.y*t.y)},o.add=function(e,t,n){return r(n)?(n.x=e.x+t.x,n.y=e.y+t.y,n):new o(e.x+t.x,e.y+t.y)},o.subtract=function(e,t,n){return r(n)?(n.x=e.x-t.x,n.y=e.y-t.y,n):new o(e.x-t.x,e.y-t.y)},o.multiplyByScalar=function(e,t,n){return r(n)?(n.x=e.x*t,n.y=e.y*t,n):new o(e.x*t,e.y*t)},o.divideByScalar=function(e,t,n){return r(n)?(n.x=e.x/t,n.y=e.y/t,n):new o(e.x/t,e.y/t)},o.negate=function(e,t){return r(t)?(t.x=-e.x,t.y=-e.y,t):new o(-e.x,-e.y)},o.abs=function(e,t){return r(t)?(t.x=Math.abs(e.x),t.y=Math.abs(e.y),t):new o(Math.abs(e.x),Math.abs(e.y))};var a=new o;o.lerp=function(e,r,t,n){return o.multiplyByScalar(r,t,a),n=o.multiplyByScalar(e,1-t,n),o.add(a,n,n)};var s=new o,u=new o;o.angleBetween=function(e,r){return o.normalize(e,s),o.normalize(r,u),Math.acos(o.dot(s,u))};var l=new o;return o.mostOrthogonalAxis=function(e,r){var t=o.normalize(e,l);return o.abs(t,t),r=t.x<=t.y?o.clone(o.UNIT_X,r):o.clone(o.UNIT_Y,r)},o.equals=function(e,t){return e===t||r(e)&&r(t)&&e.x===t.x&&e.y===t.y},o.equalsEpsilon=function(e,t,n){return e===t||r(e)&&r(t)&&Math.abs(e.x-t.x)<=n&&Math.abs(e.y-t.y)<=n},o.ZERO=n(new o(0,0)),o.UNIT_X=n(new o(1,0)),o.UNIT_Y=n(new o(0,1)),o.prototype.clone=function(e){return o.clone(this,e)},o.prototype.equals=function(e){return o.equals(this,e)},o.prototype.equalsEpsilon=function(e,r){return o.equalsEpsilon(this,e,r)},o.prototype.toString=function(){return"("+this.x+", "+this.y+")"},o}),define("Core/Cartesian3",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,r,t,n){"use strict";var o=function(r,t,n){this.x=e(r,0),this.y=e(t,0),this.z=e(n,0)};o.fromSpherical=function(t,n){r(n)||(n=new o);var i=t.clock,a=t.cone,s=e(t.magnitude,1),u=s*Math.sin(a);return n.x=u*Math.cos(i),n.y=u*Math.sin(i),n.z=s*Math.cos(a),n},o.fromElements=function(e,t,n,i){return r(i)?(i.x=e,i.y=t,i.z=n,i):new o(e,t,n)},o.clone=function(e,t){return r(e)?r(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t):new o(e.x,e.y,e.z):void 0},o.fromCartesian4=o.clone,o.packedLength=3,o.pack=function(r,t,n){n=e(n,0),t[n++]=r.x,t[n++]=r.y,t[n]=r.z},o.unpack=function(t,n,i){return n=e(n,0),r(i)||(i=new o),i.x=t[n++],i.y=t[n++],i.z=t[n],i},o.fromArray=o.unpack,o.getMaximumComponent=function(e){return Math.max(e.x,e.y,e.z)},o.getMinimumComponent=function(e){return Math.min(e.x,e.y,e.z)},o.getMinimumByComponent=function(e,t,n){return r(n)||(n=new o),n.x=Math.min(e.x,t.x),n.y=Math.min(e.y,t.y),n.z=Math.min(e.z,t.z),n},o.getMaximumByComponent=function(e,t,n){return r(n)||(n=new o),n.x=Math.max(e.x,t.x),n.y=Math.max(e.y,t.y),n.z=Math.max(e.z,t.z),n},o.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z},o.magnitude=function(e){return Math.sqrt(o.magnitudeSquared(e))};var i=new o;o.distance=function(e,r){return o.subtract(e,r,i),o.magnitude(i)},o.normalize=function(e,t){var n=o.magnitude(e);return r(t)?(t.x=e.x/n,t.y=e.y/n,t.z=e.z/n,t):new o(e.x/n,e.y/n,e.z/n)},o.dot=function(e,r){return e.x*r.x+e.y*r.y+e.z*r.z},o.multiplyComponents=function(e,t,n){return r(n)?(n.x=e.x*t.x,n.y=e.y*t.y,n.z=e.z*t.z,n):new o(e.x*t.x,e.y*t.y,e.z*t.z)},o.add=function(e,t,n){return r(n)?(n.x=e.x+t.x,n.y=e.y+t.y,n.z=e.z+t.z,n):new o(e.x+t.x,e.y+t.y,e.z+t.z)},o.subtract=function(e,t,n){return r(n)?(n.x=e.x-t.x,n.y=e.y-t.y,n.z=e.z-t.z,n):new o(e.x-t.x,e.y-t.y,e.z-t.z)},o.multiplyByScalar=function(e,t,n){return r(n)?(n.x=e.x*t,n.y=e.y*t,n.z=e.z*t,n):new o(e.x*t,e.y*t,e.z*t)},o.divideByScalar=function(e,t,n){return r(n)?(n.x=e.x/t,n.y=e.y/t,n.z=e.z/t,n):new o(e.x/t,e.y/t,e.z/t)},o.negate=function(e,t){return r(t)?(t.x=-e.x,t.y=-e.y,t.z=-e.z,t):new o(-e.x,-e.y,-e.z)},o.abs=function(e,t){return r(t)?(t.x=Math.abs(e.x),t.y=Math.abs(e.y),t.z=Math.abs(e.z),t):new o(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z))};var a=new o;o.lerp=function(e,r,t,n){return o.multiplyByScalar(r,t,a),n=o.multiplyByScalar(e,1-t,n),o.add(a,n,n)};var s=new o,u=new o;o.angleBetween=function(e,r){o.normalize(e,s),o.normalize(r,u);var t=o.dot(s,u),n=o.magnitude(o.cross(s,u,s));return Math.atan2(n,t)};var l=new o;return o.mostOrthogonalAxis=function(e,r){var t=o.normalize(e,l);return o.abs(t,t),r=t.x<=t.y?t.x<=t.z?o.clone(o.UNIT_X,r):o.clone(o.UNIT_Z,r):t.y<=t.z?o.clone(o.UNIT_Y,r):o.clone(o.UNIT_Z,r)},o.equals=function(e,t){return e===t||r(e)&&r(t)&&e.x===t.x&&e.y===t.y&&e.z===t.z},o.equalsEpsilon=function(e,t,n){return e===t||r(e)&&r(t)&&Math.abs(e.x-t.x)<=n&&Math.abs(e.y-t.y)<=n&&Math.abs(e.z-t.z)<=n},o.cross=function(e,t,n){var i=e.x,a=e.y,s=e.z,u=t.x,l=t.y,c=t.z,f=a*c-s*l,m=s*u-i*c,y=i*l-a*u;return r(n)?(n.x=f,n.y=m,n.z=y,n):new o(f,m,y)},o.ZERO=n(new o(0,0,0)),o.UNIT_X=n(new o(1,0,0)),o.UNIT_Y=n(new o(0,1,0)),o.UNIT_Z=n(new o(0,0,1)),o.prototype.clone=function(e){return o.clone(this,e)},o.prototype.equals=function(e){return o.equals(this,e)},o.prototype.equalsEpsilon=function(e,r){return o.equalsEpsilon(this,e,r)},o.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+")"},o}),define("ThirdParty/mersenne-twister",[],function(){var e=function(e){void 0==e&&(e=(new Date).getTime()),this.N=624,this.M=397,this.MATRIX_A=2567483615,this.UPPER_MASK=2147483648,this.LOWER_MASK=2147483647,this.mt=new Array(this.N),this.mti=this.N+1,this.init_genrand(e)};return e.prototype.init_genrand=function(e){for(this.mt[0]=e>>>0,this.mti=1;this.mti>>30;this.mt[this.mti]=(1812433253*((4294901760&e)>>>16)<<16)+1812433253*(65535&e)+this.mti,this.mt[this.mti]>>>=0}},e.prototype.genrand_int32=function(){var e,r=new Array(0,this.MATRIX_A);if(this.mti>=this.N){var t;for(this.mti==this.N+1&&this.init_genrand(5489),t=0;t>>1^r[1&e];for(;t>>1^r[1&e];e=this.mt[this.N-1]&this.UPPER_MASK|this.mt[0]&this.LOWER_MASK,this.mt[this.N-1]=this.mt[this.M-1]^e>>>1^r[1&e],this.mti=0}return e=this.mt[this.mti++],e^=e>>>11,e^=2636928640&e<<7,e^=4022730752&e<<15,e^=e>>>18,e>>>0},e.prototype.random=function(){return this.genrand_int32()*(1/4294967296)},e}),define("Core/Math",["./defaultValue","./defined","./DeveloperError","../ThirdParty/mersenne-twister"],function(e,r,t,n){"use strict";var o={};o.EPSILON1=.1,o.EPSILON2=.01,o.EPSILON3=.001,o.EPSILON4=1e-4,o.EPSILON5=1e-5,o.EPSILON6=1e-6,o.EPSILON7=1e-7,o.EPSILON8=1e-8,o.EPSILON9=1e-9,o.EPSILON10=1e-10,o.EPSILON11=1e-11,o.EPSILON12=1e-12,o.EPSILON13=1e-13,o.EPSILON14=1e-14,o.EPSILON15=1e-15,o.EPSILON16=1e-16,o.EPSILON17=1e-17,o.EPSILON18=1e-18,o.EPSILON19=1e-19,o.EPSILON20=1e-20,o.GRAVITATIONALPARAMETER=3986004418e5,o.SOLAR_RADIUS=6955e5,o.LUNAR_RADIUS=1737400,o.SIXTY_FOUR_KILOBYTES=65536,o.sign=function(e){return e>0?1:0>e?-1:0},o.sinh=function(e){var r=Math.pow(Math.E,e),t=Math.pow(Math.E,-1*e);return.5*(r-t)},o.cosh=function(e){var r=Math.pow(Math.E,e),t=Math.pow(Math.E,-1*e);return.5*(r+t)},o.lerp=function(e,r,t){return(1-t)*e+t*r},o.PI=Math.PI,o.ONE_OVER_PI=1/Math.PI,o.PI_OVER_TWO=.5*Math.PI,o.PI_OVER_THREE=Math.PI/3,o.PI_OVER_FOUR=Math.PI/4,o.PI_OVER_SIX=Math.PI/6,o.THREE_PI_OVER_TWO=.5*3*Math.PI,o.TWO_PI=2*Math.PI,o.ONE_OVER_TWO_PI=1/(2*Math.PI),o.RADIANS_PER_DEGREE=Math.PI/180,o.DEGREES_PER_RADIAN=180/Math.PI,o.RADIANS_PER_ARCSECOND=o.RADIANS_PER_DEGREE/3600,o.toRadians=function(e){return e*o.RADIANS_PER_DEGREE},o.toDegrees=function(e){return e*o.DEGREES_PER_RADIAN},o.convertLongitudeRange=function(e){var r=o.TWO_PI,t=e-Math.floor(e/r)*r;return t<-Math.PI?t+r:t>=Math.PI?t-r:t},o.negativePiToPi=function(e){for(var r=o.EPSILON10,t=o.PI,n=o.TWO_PI;-(t+r)>e;)e+=n;if(-t>e)return-t;for(;e>t+r;)e-=n;return e>t?t:e},o.zeroToTwoPi=function(e){var r=e%o.TWO_PI;return 0>r?(r+o.TWO_PI)%o.TWO_PI:r},o.equalsEpsilon=function(r,t,n){return n=e(n,0),Math.abs(r-t)<=n};var i=[1];o.factorial=function(e){var r=i.length;if(e>=r)for(var t=i[r-1],n=r;e>=n;n++)i.push(t*n);return i[e]},o.incrementWrap=function(r,t,n){return n=e(n,0),++r,r>t&&(r=n),r},o.isPowerOfTwo=function(e){return 0!==e&&0===(e&e-1)},o.nextPowerOfTwo=function(e){return--e,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,++e,e},o.clamp=function(e,r,t){return r>e?r:e>t?t:e};var a=new n;return o.setRandomNumberSeed=function(e){a=new n(e)},o.nextRandomNumber=function(){return a.random()},o}),define("Core/defineProperties",["./defined"],function(e){"use strict";var r=function(){try{return"x"in Object.defineProperty({},"x",{})}catch(e){return!1}}(),t=Object.defineProperties;return r&&e(t)||(t=function(e){return e}),t}),define("Core/Cartographic",["./defaultValue","./defined","./DeveloperError","./freezeObject","./Math"],function(e,r,t,n,o){"use strict";var i=function(r,t,n){this.longitude=e(r,0),this.latitude=e(t,0),this.height=e(n,0)};return i.fromDegrees=function(t,n,a,s){return t=o.toRadians(e(t,0)),n=o.toRadians(e(n,0)),a=e(a,0),r(s)?(s.longitude=t,s.latitude=n,s.height=a,s):new i(t,n,a)},i.clone=function(e,t){return r(e)?r(t)?(t.longitude=e.longitude,t.latitude=e.latitude,t.height=e.height,t):new i(e.longitude,e.latitude,e.height):void 0},i.equals=function(e,t){return e===t||r(e)&&r(t)&&e.longitude===t.longitude&&e.latitude===t.latitude&&e.height===t.height},i.equalsEpsilon=function(e,t,n){return e===t||r(e)&&r(t)&&Math.abs(e.longitude-t.longitude)<=n&&Math.abs(e.latitude-t.latitude)<=n&&Math.abs(e.height-t.height)<=n},i.toString=function(e){return"("+e.longitude+", "+e.latitude+", "+e.height+")"},i.ZERO=n(new i(0,0,0)),i.prototype.clone=function(e){return i.clone(this,e)},i.prototype.equals=function(e){return i.equals(this,e)},i.prototype.equalsEpsilon=function(e,r){return i.equalsEpsilon(this,e,r)},i.prototype.toString=function(){return i.toString(this)},i}),define("Core/Ellipsoid",["./freezeObject","./defaultValue","./defined","./defineProperties","./DeveloperError","./Math","./Cartesian3","./Cartographic"],function(e,r,t,n,o,i,a,s){"use strict";var u=function(e,t,n){e=r(e,0),t=r(t,0),n=r(n,0),this._radii=new a(e,t,n),this._radiiSquared=new a(e*e,t*t,n*n),this._radiiToTheFourth=new a(e*e*e*e,t*t*t*t,n*n*n*n),this._oneOverRadii=new a(0===e?0:1/e,0===t?0:1/t,0===n?0:1/n),this._oneOverRadiiSquared=new a(0===e?0:1/(e*e),0===t?0:1/(t*t),0===n?0:1/(n*n)),this._minimumRadius=Math.min(e,t,n),this._maximumRadius=Math.max(e,t,n),this._centerToleranceSquared=i.EPSILON1};n(u.prototype,{radii:{get:function(){return this._radii}},radiiSquared:{get:function(){return this._radiiSquared}},radiiToTheFourth:{get:function(){return this._radiiToTheFourth}},oneOverRadii:{get:function(){return this._oneOverRadii}},oneOverRadiiSquared:{get:function(){return this._oneOverRadiiSquared}},minimumRadius:{get:function(){return this._minimumRadius}},maximumRadius:{get:function(){return this._maximumRadius}}}),u.clone=function(e,r){if(!t(e))return void 0;var n=e._radii;return t(r)?(a.clone(n,r._radii),a.clone(e._radiiSquared,r._radiiSquared),a.clone(e._radiiToTheFourth,r._radiiToTheFourth),a.clone(e._oneOverRadii,r._oneOverRadii),a.clone(e._oneOverRadiiSquared,r._oneOverRadiiSquared),r._minimumRadius=e._minimumRadius,r._maximumRadius=e._maximumRadius,r._centerToleranceSquared=e._centerToleranceSquared,r):new u(n.x,n.y,n.z)},u.fromCartesian3=function(e){return t(e)?new u(e.x,e.y,e.z):new u},u.WGS84=e(new u(6378137,6378137,6356752.314245179)),u.UNIT_SPHERE=e(new u(1,1,1)),u.MOON=e(new u(i.LUNAR_RADIUS,i.LUNAR_RADIUS,i.LUNAR_RADIUS)),u.prototype.clone=function(e){return u.clone(this,e)},u.prototype.geocentricSurfaceNormal=a.normalize,u.prototype.geodeticSurfaceNormalCartographic=function(e,r){var n=e.longitude,o=e.latitude,i=Math.cos(o),s=i*Math.cos(n),u=i*Math.sin(n),l=Math.sin(o);return t(r)||(r=new a),r.x=s,r.y=u,r.z=l,a.normalize(r,r)},u.prototype.geodeticSurfaceNormal=function(e,r){return r=a.multiplyComponents(e,this._oneOverRadiiSquared,r),a.normalize(r,r)};var l=new a,c=new a;u.prototype.cartographicToCartesian=function(e,r){var t=l,n=c;this.geodeticSurfaceNormalCartographic(e,t),a.multiplyComponents(this._radiiSquared,t,n);var o=Math.sqrt(a.dot(t,n));return a.divideByScalar(n,o,n),a.multiplyByScalar(t,e.height,t),a.add(n,t,r)},u.prototype.cartographicArrayToCartesianArray=function(e,r){var n=e.length;t(r)?r.length=n:r=new Array(n);for(var o=0;n>o;o++)r[o]=this.cartographicToCartesian(e[o],r[o]);return r};var f=new a,m=new a,y=new a;u.prototype.cartesianToCartographic=function(e,r){var n=this.scaleToGeodeticSurface(e,m);if(!t(n))return void 0;var o=this.geodeticSurfaceNormal(n,f),u=a.subtract(e,n,y),l=Math.atan2(o.y,o.x),c=Math.asin(o.z),h=i.sign(a.dot(u,e))*a.magnitude(u);return t(r)?(r.longitude=l,r.latitude=c,r.height=h,r):new s(l,c,h)},u.prototype.cartesianArrayToCartographicArray=function(e,r){var n=e.length;t(r)?r.length=n:r=new Array(n);for(var o=0;n>o;++o)r[o]=this.cartesianToCartographic(e[o],r[o]);return r};var h=new a,p=new a;return u.prototype.scaleToGeodeticSurface=function(e,r){var n=e.x,o=e.y,s=e.z,u=this._oneOverRadii,l=u.x,c=u.y,f=u.z,m=n*n*l*l,y=o*o*c*c,d=s*s*f*f,v=m+y+d,g=Math.sqrt(1/v),E=a.multiplyByScalar(e,g,h);if(vi.EPSILON12);return t(r)?(r.x=n*b,r.y=o*I,r.z=s*O,r):new a(n*b,o*I,s*O)},u.prototype.scaleToGeocentricSurface=function(e,r){var t=e.x,n=e.y,o=e.z,i=this._oneOverRadiiSquared,s=1/Math.sqrt(t*t*i.x+n*n*i.y+o*o*i.z);return a.multiplyByScalar(e,s,r)},u.prototype.transformPositionToScaledSpace=function(e,r){return a.multiplyComponents(e,this._oneOverRadii,r)},u.prototype.transformPositionFromScaledSpace=function(e,r){return a.multiplyComponents(e,this._radii,r)},u.prototype.equals=function(e){return this===e||t(e)&&a.equals(this._radii,e._radii)},u.prototype.toString=function(){return this._radii.toString()},u}),define("Core/Fullscreen",["./defined"],function(e){"use strict";var r,t={requestFullscreen:void 0,exitFullscreen:void 0,fullscreenEnabled:void 0,fullscreenElement:void 0,fullscreenchange:void 0,fullscreenerror:void 0},n={};return n.supportsFullscreen=function(){if(e(r))return r;r=!1;var n=document.body;if("function"==typeof n.requestFullscreen)return t.requestFullscreen="requestFullscreen",t.exitFullscreen="exitFullscreen",t.fullscreenEnabled="fullscreenEnabled",t.fullscreenElement="fullscreenElement",t.fullscreenchange="fullscreenchange",t.fullscreenerror="fullscreenerror",r=!0;for(var o,i=["webkit","moz","o","ms","khtml"],a=0,s=i.length;s>a;++a){var u=i[a];o=u+"RequestFullscreen","function"==typeof n[o]?(t.requestFullscreen=o,r=!0):(o=u+"RequestFullScreen","function"==typeof n[o]&&(t.requestFullscreen=o,r=!0)),o=u+"ExitFullscreen","function"==typeof document[o]?t.exitFullscreen=o:(o=u+"CancelFullScreen","function"==typeof document[o]&&(t.exitFullscreen=o)),o=u+"FullscreenEnabled",e(document[o])?t.fullscreenEnabled=o:(o=u+"FullScreenEnabled",e(document[o])&&(t.fullscreenEnabled=o)),o=u+"FullscreenElement",e(document[o])?t.fullscreenElement=o:(o=u+"FullScreenElement",e(document[o])&&(t.fullscreenElement=o)),o=u+"fullscreenchange",e(document["on"+o])&&("ms"===u&&(o="MSFullscreenChange"),t.fullscreenchange=o),o=u+"fullscreenerror",e(document["on"+o])&&("ms"===u&&(o="MSFullscreenError"),t.fullscreenerror=o)}return r},n.requestFullscreen=function(e){n.supportsFullscreen()&&e[t.requestFullscreen]()},n.exitFullscreen=function(){n.supportsFullscreen()&&document[t.exitFullscreen]()},n.isFullscreenEnabled=function(){return n.supportsFullscreen()?document[t.fullscreenEnabled]:void 0},n.getFullscreenElement=function(){return n.supportsFullscreen()?document[t.fullscreenElement]:void 0},n.isFullscreen=function(){return n.supportsFullscreen()?null!==n.getFullscreenElement():void 0},n.getFullscreenChangeEventName=function(){return n.supportsFullscreen()?t.fullscreenchange:void 0},n.getFullscreenErrorEventName=function(){return n.supportsFullscreen()?t.fullscreenerror:void 0},n}),define("Core/FeatureDetection",["./defined","./Fullscreen"],function(e,r){"use strict";function t(e){for(var r=e.split("."),t=0,n=r.length;n>t;++t)r[t]=parseInt(r[t],10);return r}function n(){if(!e(f)){var r=/ Chrome\/([\.0-9]+)/.exec(navigator.userAgent);null===r?f=!1:(f=!0,m=t(r[1]))}return f}function o(){return n()&&m}function i(){if(!e(y))if(n()||!/ Safari\/[\.0-9]+/.test(navigator.userAgent))y=!1;else{var r=/ Version\/([\.0-9]+)/.exec(navigator.userAgent);null===r?y=!1:(y=!0,h=t(r[1]))}return y}function a(){return i()&&h}function s(){if(!e(p)){var r=/ AppleWebKit\/([\.0-9]+)(\+?)/.exec(navigator.userAgent);null===r?p=!1:(p=!0,d=t(r[1]),d.isNightly=!!r[2])}return p}function u(){return s()&&d}function l(){if(!e(v)){var r;"Microsoft Internet Explorer"===navigator.appName?(r=/MSIE ([0-9]{1,}[\.0-9]{0,})/.exec(navigator.userAgent),null!==r&&(v=!0,g=t(r[1]))):"Netscape"===navigator.appName?(r=/Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/.exec(navigator.userAgent),null!==r&&(v=!0,g=t(r[1]))):v=!1}return v}function c(){return l()&&g}var f,m,y,h,p,d,v,g,E={isChrome:n,chromeVersion:o,isSafari:i,safariVersion:a,isWebkit:s,webkitVersion:u,isInternetExplorer:l,internetExplorerVersion:c};E.supportsFullscreen=function(){return r.supportsFullscreen()},E.supportsTypedArrays=function(){return"undefined"!=typeof ArrayBuffer};var C;return E.supportsTransferringArrayBuffers=function(){if(!e(C)){if(!E.supportsTypedArrays())return C=!1,void 0;var r=new ArrayBuffer(1);try{postMessage({value:r},[r]),C=!0}catch(t){C=!1}}return C},E}),define("Core/Enumeration",["./defined"],function(e){"use strict";var r=function(r,t,n){if(this.value=r,this.name=t,e(n))for(var o in n)n.hasOwnProperty(o)&&(this[o]=n[o])};return r.prototype.valueOf=function(){return this.value},r.prototype.toString=function(){return this.name},r}),define("Core/ComponentDatatype",["./defaultValue","./defined","./DeveloperError","./FeatureDetection","./Enumeration"],function(e,r,t,n,o){"use strict";if(!n.supportsTypedArrays())return{};var i={BYTE:new o(5120,"BYTE",{sizeInBytes:Int8Array.BYTES_PER_ELEMENT}),UNSIGNED_BYTE:new o(5121,"UNSIGNED_BYTE",{sizeInBytes:Uint8Array.BYTES_PER_ELEMENT}),SHORT:new o(5122,"SHORT",{sizeInBytes:Int16Array.BYTES_PER_ELEMENT}),UNSIGNED_SHORT:new o(5123,"UNSIGNED_SHORT",{sizeInBytes:Uint16Array.BYTES_PER_ELEMENT}),FLOAT:new o(5126,"FLOAT",{sizeInBytes:Float32Array.BYTES_PER_ELEMENT}),DOUBLE:new o(5130,"DOUBLE",{sizeInBytes:Float64Array.BYTES_PER_ELEMENT})};return i.validate=function(e){return r(e)&&r(e.value)&&(e.value===i.BYTE.value||e.value===i.UNSIGNED_BYTE.value||e.value===i.SHORT.value||e.value===i.UNSIGNED_SHORT.value||e.value===i.FLOAT.value||e.value===i.DOUBLE.value)},i.createTypedArray=function(e,r){switch(e.value){case i.BYTE.value:return new Int8Array(r);case i.UNSIGNED_BYTE.value:return new Uint8Array(r);case i.SHORT.value:return new Int16Array(r);case i.UNSIGNED_SHORT.value:return new Uint16Array(r);case i.FLOAT.value:return new Float32Array(r);case i.DOUBLE.value:return new Float64Array(r);default:throw new t("componentDatatype is not a valid enumeration value.")}},i.createArrayBufferView=function(r,n,o,a){switch(o=e(o,0),a=e(a,(n.byteLength-o)/r.sizeInBytes),r.value){case i.BYTE.value:return new Int8Array(n,o,a);case i.UNSIGNED_BYTE.value:return new Uint8Array(n,o,a);case i.SHORT.value:return new Int16Array(n,o,a);case i.UNSIGNED_SHORT.value:return new Uint16Array(n,o,a);case i.FLOAT.value:return new Float32Array(n,o,a);case i.DOUBLE.value:return new Float64Array(n,o,a);default:throw new t("componentDatatype is not a valid enumeration value.")}},i}),define("Core/IndexDatatype",["./defined","./DeveloperError","./Math"],function(e,r,t){"use strict";var n={UNSIGNED_BYTE:5121,UNSIGNED_SHORT:5123,UNSIGNED_INT:5125};return n.getSizeInBytes=function(e){switch(e){case n.UNSIGNED_BYTE:return Uint8Array.BYTES_PER_ELEMENT;case n.UNSIGNED_SHORT:return Uint16Array.BYTES_PER_ELEMENT;case n.UNSIGNED_INT:return Uint32Array.BYTES_PER_ELEMENT}},n.validate=function(r){return e(r)&&(r===n.UNSIGNED_BYTE||r===n.UNSIGNED_SHORT||r===n.UNSIGNED_INT)},n.createTypedArray=function(e,r){return e>t.SIXTY_FOUR_KILOBYTES?new Uint32Array(r):new Uint16Array(r)},n}),define("Core/PrimitiveType",[],function(){"use strict";var e={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,validate:function(r){return r===e.POINTS||r===e.LINES||r===e.LINE_LOOP||r===e.LINE_STRIP||r===e.TRIANGLES||r===e.TRIANGLE_STRIP||r===e.TRIANGLE_FAN}};return e}),define("Core/GeographicProjection",["./defaultValue","./defined","./defineProperties","./Cartesian3","./Cartographic","./Ellipsoid"],function(e,r,t,n,o,i){"use strict";var a=function(r){this._ellipsoid=e(r,i.WGS84),this._semimajorAxis=this._ellipsoid.maximumRadius,this._oneOverSemimajorAxis=1/this._semimajorAxis};return t(a.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}}),a.prototype.project=function(e,t){var o=this._semimajorAxis,i=e.longitude*o,a=e.latitude*o,s=e.height;return r(t)?(t.x=i,t.y=a,t.z=s,t):new n(i,a,s)},a.prototype.unproject=function(e,t){var n=this._oneOverSemimajorAxis,i=e.x*n,a=e.y*n,s=e.z;return r(t)?(t.longitude=i,t.latitude=a,t.height=s,t):new o(i,a,s)},a}),define("Core/Intersect",["./Enumeration"],function(e){"use strict";var r={OUTSIDE:new e(-1,"OUTSIDE"),INTERSECTING:new e(0,"INTERSECTING"),INSIDE:new e(1,"INSIDE")};return r}),define("Core/Interval",["./defaultValue"],function(e){"use strict";var r=function(r,t){this.start=e(r,0),this.stop=e(t,0)};return r}),define("Core/Cartesian4",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,r,t,n){"use strict";var o=function(r,t,n,o){this.x=e(r,0),this.y=e(t,0),this.z=e(n,0),this.w=e(o,0)};o.fromElements=function(e,t,n,i,a){return r(a)?(a.x=e,a.y=t,a.z=n,a.w=i,a):new o(e,t,n,i)},o.clone=function(e,t){return r(e)?r(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t):new o(e.x,e.y,e.z,e.w):void 0},o.packedLength=4,o.pack=function(r,t,n){n=e(n,0),t[n++]=r.x,t[n++]=r.y,t[n++]=r.z,t[n]=r.w},o.unpack=function(t,n,i){return n=e(n,0),r(i)||(i=new o),i.x=t[n++],i.y=t[n++],i.z=t[n++],i.w=t[n],i},o.fromArray=o.unpack,o.getMaximumComponent=function(e){return Math.max(e.x,e.y,e.z,e.w)},o.getMinimumComponent=function(e){return Math.min(e.x,e.y,e.z,e.w)},o.getMinimumByComponent=function(e,t,n){return r(n)||(n=new o),n.x=Math.min(e.x,t.x),n.y=Math.min(e.y,t.y),n.z=Math.min(e.z,t.z),n.w=Math.min(e.w,t.w),n},o.getMaximumByComponent=function(e,t,n){return r(n)||(n=new o),n.x=Math.max(e.x,t.x),n.y=Math.max(e.y,t.y),n.z=Math.max(e.z,t.z),n.w=Math.max(e.w,t.w),n},o.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w},o.magnitude=function(e){return Math.sqrt(o.magnitudeSquared(e))};var i=new o;o.distance=function(e,r){return o.subtract(e,r,i),o.magnitude(i)},o.normalize=function(e,t){var n=o.magnitude(e);return r(t)?(t.x=e.x/n,t.y=e.y/n,t.z=e.z/n,t.w=e.w/n,t):new o(e.x/n,e.y/n,e.z/n,e.w/n)},o.dot=function(e,r){return e.x*r.x+e.y*r.y+e.z*r.z+e.w*r.w},o.multiplyComponents=function(e,t,n){return r(n)?(n.x=e.x*t.x,n.y=e.y*t.y,n.z=e.z*t.z,n.w=e.w*t.w,n):new o(e.x*t.x,e.y*t.y,e.z*t.z,e.w*t.w)},o.add=function(e,t,n){return r(n)?(n.x=e.x+t.x,n.y=e.y+t.y,n.z=e.z+t.z,n.w=e.w+t.w,n):new o(e.x+t.x,e.y+t.y,e.z+t.z,e.w+t.w)},o.subtract=function(e,t,n){return r(n)?(n.x=e.x-t.x,n.y=e.y-t.y,n.z=e.z-t.z,n.w=e.w-t.w,n):new o(e.x-t.x,e.y-t.y,e.z-t.z,e.w-t.w)},o.multiplyByScalar=function(e,t,n){return r(n)?(n.x=e.x*t,n.y=e.y*t,n.z=e.z*t,n.w=e.w*t,n):new o(e.x*t,e.y*t,e.z*t,e.w*t)},o.divideByScalar=function(e,t,n){return r(n)?(n.x=e.x/t,n.y=e.y/t,n.z=e.z/t,n.w=e.w/t,n):new o(e.x/t,e.y/t,e.z/t,e.w/t)},o.negate=function(e,t){return r(t)?(t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=-e.w,t):new o(-e.x,-e.y,-e.z,-e.w)},o.abs=function(e,t){return r(t)?(t.x=Math.abs(e.x),t.y=Math.abs(e.y),t.z=Math.abs(e.z),t.w=Math.abs(e.w),t):new o(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z),Math.abs(e.w))};var a=new o;o.lerp=function(e,r,t,n){return o.multiplyByScalar(r,t,a),n=o.multiplyByScalar(e,1-t,n),o.add(a,n,n)};var s=new o;return o.mostOrthogonalAxis=function(e,r){var t=o.normalize(e,s);return o.abs(t,t),r=t.x<=t.y?t.x<=t.z?t.x<=t.w?o.clone(o.UNIT_X,r):o.clone(o.UNIT_W,r):t.z<=t.w?o.clone(o.UNIT_Z,r):o.clone(o.UNIT_W,r):t.y<=t.z?t.y<=t.w?o.clone(o.UNIT_Y,r):o.clone(o.UNIT_W,r):t.z<=t.w?o.clone(o.UNIT_Z,r):o.clone(o.UNIT_W,r)},o.equals=function(e,t){return e===t||r(e)&&r(t)&&e.x===t.x&&e.y===t.y&&e.z===t.z&&e.w===t.w},o.equalsEpsilon=function(e,t,n){return e===t||r(e)&&r(t)&&Math.abs(e.x-t.x)<=n&&Math.abs(e.y-t.y)<=n&&Math.abs(e.z-t.z)<=n&&Math.abs(e.w-t.w)<=n},o.ZERO=n(new o(0,0,0,0)),o.UNIT_X=n(new o(1,0,0,0)),o.UNIT_Y=n(new o(0,1,0,0)),o.UNIT_Z=n(new o(0,0,1,0)),o.UNIT_W=n(new o(0,0,0,1)),o.prototype.clone=function(e){return o.clone(this,e)},o.prototype.equals=function(e){return o.equals(this,e)},o.prototype.equalsEpsilon=function(e,r){return o.equalsEpsilon(this,e,r)},o.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+", "+this.w+")"},o}),define("Core/Matrix3",["./Cartesian3","./defaultValue","./defined","./DeveloperError","./freezeObject","./Math"],function(e,r,t,n,o,i){"use strict";function a(e){for(var r=0,t=0;9>t;++t){var n=e[t];r+=n*n}return Math.sqrt(r)}function s(e){for(var r=0,t=0;3>t;++t){var n=e[l.getElementIndex(f[t],c[t])];r+=2*n*n}return Math.sqrt(r)}function u(e,r){for(var t=i.EPSILON15,n=0,o=1,a=0;3>a;++a){var s=Math.abs(e[l.getElementIndex(f[a],c[a])]);s>n&&(o=a,n=s)}var u=1,m=0,y=c[o],h=f[o];if(Math.abs(e[l.getElementIndex(h,y)])>t){var p,d=e[l.getElementIndex(h,h)],v=e[l.getElementIndex(y,y)],g=e[l.getElementIndex(h,y)],E=(d-v)/2/g;p=0>E?-1/(-E+Math.sqrt(1+E*E)):1/(E+Math.sqrt(1+E*E)),u=1/Math.sqrt(1+p*p),m=p*u}return r=l.clone(l.IDENTITY,r),r[l.getElementIndex(y,y)]=r[l.getElementIndex(h,h)]=u,r[l.getElementIndex(h,y)]=m,r[l.getElementIndex(y,h)]=-m,r}var l=function(e,t,n,o,i,a,s,u,l){this[0]=r(e,0),this[1]=r(o,0),this[2]=r(s,0),this[3]=r(t,0),this[4]=r(i,0),this[5]=r(u,0),this[6]=r(n,0),this[7]=r(a,0),this[8]=r(l,0)};l.clone=function(e,r){return t(e)?t(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r):new l(e[0],e[3],e[6],e[1],e[4],e[7],e[2],e[5],e[8]):void 0},l.fromArray=function(e,n,o){return n=r(n,0),t(o)||(o=new l),o[0]=e[n],o[1]=e[n+1],o[2]=e[n+2],o[3]=e[n+3],o[4]=e[n+4],o[5]=e[n+5],o[6]=e[n+6],o[7]=e[n+7],o[8]=e[n+8],o[9]=e[n+9],o},l.fromColumnMajorArray=function(e,r){return l.clone(e,r)},l.fromRowMajorArray=function(e,r){return t(r)?(r[0]=e[0],r[1]=e[3],r[2]=e[6],r[3]=e[1],r[4]=e[4],r[5]=e[7],r[6]=e[2],r[7]=e[5],r[8]=e[8],r):new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])},l.fromQuaternion=function(e,r){var n=e.x*e.x,o=e.x*e.y,i=e.x*e.z,a=e.x*e.w,s=e.y*e.y,u=e.y*e.z,c=e.y*e.w,f=e.z*e.z,m=e.z*e.w,y=e.w*e.w,h=n-s-f+y,p=2*(o-m),d=2*(i+c),v=2*(o+m),g=-n+s-f+y,E=2*(u-a),C=2*(i-c),S=2*(u+a),w=-n-s+f+y;return t(r)?(r[0]=h,r[1]=v,r[2]=C,r[3]=p,r[4]=g,r[5]=S,r[6]=d,r[7]=E,r[8]=w,r):new l(h,p,d,v,g,E,C,S,w)},l.fromScale=function(e,r){return t(r)?(r[0]=e.x,r[1]=0,r[2]=0,r[3]=0,r[4]=e.y,r[5]=0,r[6]=0,r[7]=0,r[8]=e.z,r):new l(e.x,0,0,0,e.y,0,0,0,e.z)},l.fromUniformScale=function(e,r){return t(r)?(r[0]=e,r[1]=0,r[2]=0,r[3]=0,r[4]=e,r[5]=0,r[6]=0,r[7]=0,r[8]=e,r):new l(e,0,0,0,e,0,0,0,e)},l.fromRotationX=function(e,r){var n=Math.cos(e),o=Math.sin(e);return t(r)?(r[0]=1,r[1]=0,r[2]=0,r[3]=0,r[4]=n,r[5]=o,r[6]=0,r[7]=-o,r[8]=n,r):new l(1,0,0,0,n,-o,0,o,n)},l.fromRotationY=function(e,r){var n=Math.cos(e),o=Math.sin(e);return t(r)?(r[0]=n,r[1]=0,r[2]=-o,r[3]=0,r[4]=1,r[5]=0,r[6]=o,r[7]=0,r[8]=n,r):new l(n,0,o,0,1,0,-o,0,n)},l.fromRotationZ=function(e,r){var n=Math.cos(e),o=Math.sin(e);return t(r)?(r[0]=n,r[1]=o,r[2]=0,r[3]=-o,r[4]=n,r[5]=0,r[6]=0,r[7]=0,r[8]=1,r):new l(n,-o,0,o,n,0,0,0,1)},l.toArray=function(e,r){return t(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8]]},l.getElementIndex=function(e,r){return 3*e+r},l.getColumn=function(r,n,o){var i=3*n,a=r[i],s=r[i+1],u=r[i+2];return t(o)?(o.x=a,o.y=s,o.z=u,o):new e(a,s,u)},l.setColumn=function(e,r,t,n){n=l.clone(e,n);var o=3*r;return n[o]=t.x,n[o+1]=t.y,n[o+2]=t.z,n},l.getRow=function(r,n,o){var i=r[n],a=r[n+3],s=r[n+6];return t(o)?(o.x=i,o.y=a,o.z=s,o):new e(i,a,s)},l.setRow=function(e,r,t,n){return n=l.clone(e,n),n[r]=t.x,n[r+3]=t.y,n[r+6]=t.z,n},l.multiply=function(e,r,n){var o=e[0]*r[0]+e[3]*r[1]+e[6]*r[2],i=e[1]*r[0]+e[4]*r[1]+e[7]*r[2],a=e[2]*r[0]+e[5]*r[1]+e[8]*r[2],s=e[0]*r[3]+e[3]*r[4]+e[6]*r[5],u=e[1]*r[3]+e[4]*r[4]+e[7]*r[5],c=e[2]*r[3]+e[5]*r[4]+e[8]*r[5],f=e[0]*r[6]+e[3]*r[7]+e[6]*r[8],m=e[1]*r[6]+e[4]*r[7]+e[7]*r[8],y=e[2]*r[6]+e[5]*r[7]+e[8]*r[8];return t(n)?(n[0]=o,n[1]=i,n[2]=a,n[3]=s,n[4]=u,n[5]=c,n[6]=f,n[7]=m,n[8]=y,n):new l(o,s,f,i,u,m,a,c,y)},l.multiplyByVector=function(r,n,o){var i=n.x,a=n.y,s=n.z,u=r[0]*i+r[3]*a+r[6]*s,l=r[1]*i+r[4]*a+r[7]*s,c=r[2]*i+r[5]*a+r[8]*s;return t(o)?(o.x=u,o.y=l,o.z=c,o):new e(u,l,c)},l.multiplyByScalar=function(e,r,n){return t(n)?(n[0]=e[0]*r,n[1]=e[1]*r,n[2]=e[2]*r,n[3]=e[3]*r,n[4]=e[4]*r,n[5]=e[5]*r,n[6]=e[6]*r,n[7]=e[7]*r,n[8]=e[8]*r,n):new l(e[0]*r,e[3]*r,e[6]*r,e[1]*r,e[4]*r,e[7]*r,e[2]*r,e[5]*r,e[8]*r)},l.negate=function(e,r){return t(r)?(r[0]=-e[0],r[1]=-e[1],r[2]=-e[2],r[3]=-e[3],r[4]=-e[4],r[5]=-e[5],r[6]=-e[6],r[7]=-e[7],r[8]=-e[8],r):new l(-e[0],-e[3],-e[6],-e[1],-e[4],-e[7],-e[2],-e[5],-e[8])},l.transpose=function(e,r){var n=e[0],o=e[3],i=e[6],a=e[1],s=e[4],u=e[7],c=e[2],f=e[5],m=e[8];return t(r)?(r[0]=n,r[1]=o,r[2]=i,r[3]=a,r[4]=s,r[5]=u,r[6]=c,r[7]=f,r[8]=m,r):new l(n,a,c,o,s,f,i,u,m)};var c=[1,0,0],f=[2,2,1],m=new l,y=new l;return l.getEigenDecomposition=function(e,r){var n=i.EPSILON20,o=10,c=0,f=0;t(r)||(r={});for(var h=r.unitary=l.clone(l.IDENTITY,r.unitary),p=r.diagonal=l.clone(e,r.diagonal),d=n*a(p);o>f&&s(p)>d;)u(p,m),l.transpose(m,y),l.multiply(p,m,p),l.multiply(y,p,p),l.multiply(h,m,h),++c>2&&(++f,c=0); +return r},l.abs=function(e,r){return t(r)?(r[0]=Math.abs(e[0]),r[1]=Math.abs(e[1]),r[2]=Math.abs(e[2]),r[3]=Math.abs(e[3]),r[4]=Math.abs(e[4]),r[5]=Math.abs(e[5]),r[6]=Math.abs(e[6]),r[7]=Math.abs(e[7]),r[8]=Math.abs(e[8]),r):new l(Math.abs(e[0]),Math.abs(e[3]),Math.abs(e[6]),Math.abs(e[1]),Math.abs(e[4]),Math.abs(e[7]),Math.abs(e[2]),Math.abs(e[5]),Math.abs(e[8]))},l.determinant=function(e){var r=e[0],t=e[3],n=e[6],o=e[1],i=e[4],a=e[7],s=e[2],u=e[5],l=e[8];return r*(i*l-u*a)+o*(u*n-t*l)+s*(t*a-i*n)},l.inverse=function(e,r){var t=e[0],o=e[1],a=e[2],s=e[3],u=e[4],c=e[5],f=e[6],m=e[7],y=e[8],h=l.determinant(e);if(Math.abs(h)<=i.EPSILON15)throw new n("matrix is not invertible");var p=new l(u*y-m*c,f*c-s*y,s*m-f*u,m*a-o*y,t*y-f*a,f*o-t*m,o*c-u*a,s*a-t*c,t*u-s*o),d=1/h;return l.multiplyByScalar(p,d,r)},l.equals=function(e,r){return e===r||t(e)&&t(r)&&e[0]===r[0]&&e[1]===r[1]&&e[2]===r[2]&&e[3]===r[3]&&e[4]===r[4]&&e[5]===r[5]&&e[6]===r[6]&&e[7]===r[7]&&e[8]===r[8]},l.equalsEpsilon=function(e,r,n){return e===r||t(e)&&t(r)&&Math.abs(e[0]-r[0])<=n&&Math.abs(e[1]-r[1])<=n&&Math.abs(e[2]-r[2])<=n&&Math.abs(e[3]-r[3])<=n&&Math.abs(e[4]-r[4])<=n&&Math.abs(e[5]-r[5])<=n&&Math.abs(e[6]-r[6])<=n&&Math.abs(e[7]-r[7])<=n&&Math.abs(e[8]-r[8])<=n},l.IDENTITY=o(new l(1,0,0,0,1,0,0,0,1)),l.COLUMN0ROW0=0,l.COLUMN0ROW1=1,l.COLUMN0ROW2=2,l.COLUMN1ROW0=3,l.COLUMN1ROW1=4,l.COLUMN1ROW2=5,l.COLUMN2ROW0=6,l.COLUMN2ROW1=7,l.COLUMN2ROW2=8,l.prototype.clone=function(e){return l.clone(this,e)},l.prototype.equals=function(e){return l.equals(this,e)},l.prototype.equalsEpsilon=function(e,r){return l.equalsEpsilon(this,e,r)},l.prototype.toString=function(){return"("+this[0]+", "+this[3]+", "+this[6]+")\n"+"("+this[1]+", "+this[4]+", "+this[7]+")\n"+"("+this[2]+", "+this[5]+", "+this[8]+")"},l}),define("Core/RuntimeError",["./defined"],function(e){"use strict";var r=function(e){this.name="RuntimeError",this.message=e;var r;try{throw new Error}catch(t){r=t.stack}this.stack=r};return r.prototype.toString=function(){var r=this.name+": "+this.message;return e(this.stack)&&(r+="\n"+this.stack.toString()),r},r}),define("Core/Matrix4",["./Cartesian3","./Cartesian4","./defaultValue","./defined","./DeveloperError","./freezeObject","./Math","./Matrix3","./RuntimeError"],function(e,r,t,n,o,i,a,s,u){"use strict";var l=function(e,r,n,o,i,a,s,u,l,c,f,m,y,h,p,d){this[0]=t(e,0),this[1]=t(i,0),this[2]=t(l,0),this[3]=t(y,0),this[4]=t(r,0),this[5]=t(a,0),this[6]=t(c,0),this[7]=t(h,0),this[8]=t(n,0),this[9]=t(s,0),this[10]=t(f,0),this[11]=t(p,0),this[12]=t(o,0),this[13]=t(u,0),this[14]=t(m,0),this[15]=t(d,0)};l.clone=function(e,r){return n(e)?n(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r[9]=e[9],r[10]=e[10],r[11]=e[11],r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15],r):new l(e[0],e[4],e[8],e[12],e[1],e[5],e[9],e[13],e[2],e[6],e[10],e[14],e[3],e[7],e[11],e[15]):void 0},l.fromArray=function(e,r,o){return r=t(r,0),n(o)||(o=new l),o[0]=e[r],o[1]=e[r+1],o[2]=e[r+2],o[3]=e[r+3],o[4]=e[r+4],o[5]=e[r+5],o[6]=e[r+6],o[7]=e[r+7],o[8]=e[r+8],o[9]=e[r+9],o[10]=e[r+10],o[11]=e[r+11],o[12]=e[r+12],o[13]=e[r+13],o[14]=e[r+14],o[15]=e[r+15],o},l.fromColumnMajorArray=function(e,r){return l.clone(e,r)},l.fromRowMajorArray=function(e,r){return n(r)?(r[0]=e[0],r[1]=e[4],r[2]=e[8],r[3]=e[12],r[4]=e[1],r[5]=e[5],r[6]=e[9],r[7]=e[13],r[8]=e[2],r[9]=e[6],r[10]=e[10],r[11]=e[14],r[12]=e[3],r[13]=e[7],r[14]=e[11],r[15]=e[15],r):new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])},l.fromRotationTranslation=function(e,r,t){return n(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=0,t[4]=e[3],t[5]=e[4],t[6]=e[5],t[7]=0,t[8]=e[6],t[9]=e[7],t[10]=e[8],t[11]=0,t[12]=r.x,t[13]=r.y,t[14]=r.z,t[15]=1,t):new l(e[0],e[3],e[6],r.x,e[1],e[4],e[7],r.y,e[2],e[5],e[8],r.z,0,0,0,1)},new s,l.fromTranslationQuaternionRotationScale=function(e,r,t,o){n(o)||(o=new l);var i=t.x,a=t.y,s=t.z,u=r.x*r.x,c=r.x*r.y,f=r.x*r.z,m=r.x*r.w,y=r.y*r.y,h=r.y*r.z,p=r.y*r.w,d=r.z*r.z,v=r.z*r.w,g=r.w*r.w,E=u-y-d+g,C=2*(c-v),S=2*(f+p),w=2*(c+v),A=-u+y-d+g,x=2*(h-m),M=2*(f-p),T=2*(h+m),b=-u-y+d+g;return o[0]=E*i,o[1]=w*i,o[2]=M*i,o[3]=0,o[4]=C*a,o[5]=A*a,o[6]=T*a,o[7]=0,o[8]=S*s,o[9]=x*s,o[10]=b*s,o[11]=0,o[12]=e.x,o[13]=e.y,o[14]=e.z,o[15]=1,o},l.fromTranslation=function(e,r){return l.fromRotationTranslation(s.IDENTITY,e,r)},l.fromScale=function(e,r){return n(r)?(r[0]=e.x,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=e.y,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=e.z,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r):new l(e.x,0,0,0,0,e.y,0,0,0,0,e.z,0,0,0,0,1)},l.fromUniformScale=function(e,r){return n(r)?(r[0]=e,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=e,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=e,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r):new l(e,0,0,0,0,e,0,0,0,0,e,0,0,0,0,1)};var c=new e,f=new e,m=new e;l.fromCamera=function(r,t){var o=r.eye,i=r.target,a=r.up;e.normalize(e.subtract(i,o,c),c),e.normalize(e.cross(c,a,f),f),e.normalize(e.cross(f,c,m),m);var s=f.x,u=f.y,y=f.z,h=c.x,p=c.y,d=c.z,v=m.x,g=m.y,E=m.z,C=o.x,S=o.y,w=o.z,A=s*-C+u*-S+y*-w,x=v*-C+g*-S+E*-w,M=h*C+p*S+d*w;return n(t)?(t[0]=s,t[1]=v,t[2]=-h,t[3]=0,t[4]=u,t[5]=g,t[6]=-p,t[7]=0,t[8]=y,t[9]=E,t[10]=-d,t[11]=0,t[12]=A,t[13]=x,t[14]=M,t[15]=1,t):new l(s,u,y,A,v,g,E,x,-h,-p,-d,M,0,0,0,1)},l.computePerspectiveFieldOfView=function(e,r,t,o,i){var a=Math.tan(.5*e),s=1/a,u=s/r,c=(o+t)/(t-o),f=2*o*t/(t-o);return n(i)?(i[0]=u,i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=s,i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=c,i[11]=-1,i[12]=0,i[13]=0,i[14]=f,i[15]=0,i):new l(u,0,0,0,0,s,0,0,0,0,c,f,0,0,-1,0)},l.computeOrthographicOffCenter=function(e,r,t,o,i,a,s){var u=1/(r-e),c=1/(o-t),f=1/(a-i),m=-(r+e)*u,y=-(o+t)*c,h=-(a+i)*f;return u*=2,c*=2,f*=-2,n(s)?(s[0]=u,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=c,s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=f,s[11]=0,s[12]=m,s[13]=y,s[14]=h,s[15]=1,s):new l(u,0,0,m,0,c,0,y,0,0,f,h,0,0,0,1)},l.computePerspectiveOffCenter=function(e,r,t,o,i,a,s){var u=2*i/(r-e),c=2*i/(o-t),f=(r+e)/(r-e),m=(o+t)/(o-t),y=-(a+i)/(a-i),h=-1,p=-2*a*i/(a-i);return n(s)?(s[0]=u,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=c,s[6]=0,s[7]=0,s[8]=f,s[9]=m,s[10]=y,s[11]=h,s[12]=0,s[13]=0,s[14]=p,s[15]=0,s):new l(u,0,f,0,0,c,m,0,0,0,y,p,0,0,h,0)},l.computeInfinitePerspectiveOffCenter=function(e,r,t,o,i,a){var s=2*i/(r-e),u=2*i/(o-t),c=(r+e)/(r-e),f=(o+t)/(o-t),m=-1,y=-1,h=-2*i;return n(a)?(a[0]=s,a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=u,a[6]=0,a[7]=0,a[8]=c,a[9]=f,a[10]=m,a[11]=y,a[12]=0,a[13]=0,a[14]=h,a[15]=0,a):new l(s,0,c,0,0,u,f,0,0,0,m,h,0,0,y,0)},l.computeViewportTransformation=function(e,r,o,i){e=t(e,t.EMPTY_OBJECT);var a=t(e.x,0),s=t(e.y,0),u=t(e.width,0),c=t(e.height,0);r=t(r,0),o=t(o,1);var f=.5*u,m=.5*c,y=.5*(o-r),h=f,p=m,d=y,v=a+f,g=s+m,E=r+y,C=1;return n(i)?(i[0]=h,i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=p,i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=d,i[11]=0,i[12]=v,i[13]=g,i[14]=E,i[15]=C,i):new l(h,0,0,v,0,p,0,g,0,0,d,E,0,0,0,C)},l.toArray=function(e,r){return n(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r[9]=e[9],r[10]=e[10],r[11]=e[11],r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15],r):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]]},l.getElementIndex=function(e,r){return 4*e+r},l.getColumn=function(e,t,o){var i=4*t,a=e[i],s=e[i+1],u=e[i+2],l=e[i+3];return n(o)?(o.x=a,o.y=s,o.z=u,o.w=l,o):new r(a,s,u,l)},l.setColumn=function(e,r,t,n){n=l.clone(e,n);var o=4*r;return n[o]=t.x,n[o+1]=t.y,n[o+2]=t.z,n[o+3]=t.w,n},l.getRow=function(e,t,o){var i=e[t],a=e[t+4],s=e[t+8],u=e[t+12];return n(o)?(o.x=i,o.y=a,o.z=s,o.w=u,o):new r(i,a,s,u)},l.setRow=function(e,r,t,n){return n=l.clone(e,n),n[r]=t.x,n[r+4]=t.y,n[r+8]=t.z,n[r+12]=t.w,n},l.multiply=function(e,r,t){var o=e[0],i=e[1],a=e[2],s=e[3],u=e[4],c=e[5],f=e[6],m=e[7],y=e[8],h=e[9],p=e[10],d=e[11],v=e[12],g=e[13],E=e[14],C=e[15],S=r[0],w=r[1],A=r[2],x=r[3],M=r[4],T=r[5],b=r[6],I=r[7],O=r[8],N=r[9],R=r[10],z=r[11],L=r[12],F=r[13],P=r[14],D=r[15],B=o*S+u*w+y*A+v*x,_=i*S+c*w+h*A+g*x,U=a*S+f*w+p*A+E*x,G=s*S+m*w+d*A+C*x,q=o*M+u*T+y*b+v*I,Y=i*M+c*T+h*b+g*I,W=a*M+f*T+p*b+E*I,V=s*M+m*T+d*b+C*I,H=o*O+u*N+y*R+v*z,k=i*O+c*N+h*R+g*z,K=a*O+f*N+p*R+E*z,j=s*O+m*N+d*R+C*z,Z=o*L+u*F+y*P+v*D,Q=i*L+c*F+h*P+g*D,X=a*L+f*F+p*P+E*D,J=s*L+m*F+d*P+C*D;return n(t)?(t[0]=B,t[1]=_,t[2]=U,t[3]=G,t[4]=q,t[5]=Y,t[6]=W,t[7]=V,t[8]=H,t[9]=k,t[10]=K,t[11]=j,t[12]=Z,t[13]=Q,t[14]=X,t[15]=J,t):new l(B,q,H,Z,_,Y,k,Q,U,W,K,X,G,V,j,J)},l.multiplyTransformation=function(e,r,t){var o=e[0],i=e[1],a=e[2],s=e[4],u=e[5],c=e[6],f=e[8],m=e[9],y=e[10],h=e[12],p=e[13],d=e[14],v=r[0],g=r[1],E=r[2],C=r[4],S=r[5],w=r[6],A=r[8],x=r[9],M=r[10],T=r[12],b=r[13],I=r[14],O=o*v+s*g+f*E,N=i*v+u*g+m*E,R=a*v+c*g+y*E,z=o*C+s*S+f*w,L=i*C+u*S+m*w,F=a*C+c*S+y*w,P=o*A+s*x+f*M,D=i*A+u*x+m*M,B=a*A+c*x+y*M,_=o*T+s*b+f*I+h,U=i*T+u*b+m*I+p,G=a*T+c*b+y*I+d;return n(t)?(t[0]=O,t[1]=N,t[2]=R,t[3]=0,t[4]=z,t[5]=L,t[6]=F,t[7]=0,t[8]=P,t[9]=D,t[10]=B,t[11]=0,t[12]=_,t[13]=U,t[14]=G,t[15]=1,t):new l(O,z,P,_,N,L,D,U,R,F,B,G,0,0,0,1)},l.multiplyByTranslation=function(e,r,t){var o=r.x,i=r.y,a=r.z,s=o*e[0]+i*e[4]+a*e[8]+e[12],u=o*e[1]+i*e[5]+a*e[9]+e[13],c=o*e[2]+i*e[6]+a*e[10]+e[14];return n(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=s,t[13]=u,t[14]=c,t[15]=e[15],t):new l(e[0],e[4],e[8],s,e[1],e[5],e[9],u,e[2],e[6],e[10],c,e[3],e[7],e[11],e[15])};var y=new e;return l.multiplyByUniformScale=function(e,r,t){return y.x=r,y.y=r,y.z=r,l.multiplyByScale(e,y,t)},l.multiplyByScale=function(e,r,t){var o=r.x,i=r.y,a=r.z;return 1===o&&1===i&&1===a?l.clone(e,t):n(t)?(t[0]=o*e[0],t[1]=o*e[1],t[2]=o*e[2],t[3]=0,t[4]=i*e[4],t[5]=i*e[5],t[6]=i*e[6],t[7]=0,t[8]=a*e[8],t[9]=a*e[9],t[10]=a*e[10],t[11]=0,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=1,t):new l(o*e[0],i*e[4],a*e[8],e[12],o*e[1],i*e[5],a*e[9],e[13],o*e[2],i*e[6],a*e[10],e[14],0,0,0,1)},l.multiplyByVector=function(e,t,o){var i=t.x,a=t.y,s=t.z,u=t.w,l=e[0]*i+e[4]*a+e[8]*s+e[12]*u,c=e[1]*i+e[5]*a+e[9]*s+e[13]*u,f=e[2]*i+e[6]*a+e[10]*s+e[14]*u,m=e[3]*i+e[7]*a+e[11]*s+e[15]*u;return n(o)?(o.x=l,o.y=c,o.z=f,o.w=m,o):new r(l,c,f,m)},l.multiplyByPointAsVector=function(r,t,o){var i=t.x,a=t.y,s=t.z,u=r[0]*i+r[4]*a+r[8]*s,l=r[1]*i+r[5]*a+r[9]*s,c=r[2]*i+r[6]*a+r[10]*s;return n(o)?(o.x=u,o.y=l,o.z=c,o):new e(u,l,c)},l.multiplyByPoint=function(r,t,o){var i=t.x,a=t.y,s=t.z,u=r[0]*i+r[4]*a+r[8]*s+r[12],l=r[1]*i+r[5]*a+r[9]*s+r[13],c=r[2]*i+r[6]*a+r[10]*s+r[14];return n(o)?(o.x=u,o.y=l,o.z=c,o):new e(u,l,c)},l.multiplyByScalar=function(e,r,t){return n(t)?(t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*r,t[9]=e[9]*r,t[10]=e[10]*r,t[11]=e[11]*r,t[12]=e[12]*r,t[13]=e[13]*r,t[14]=e[14]*r,t[15]=e[15]*r,t):new l(e[0]*r,e[4]*r,e[8]*r,e[12]*r,e[1]*r,e[5]*r,e[9]*r,e[13]*r,e[2]*r,e[6]*r,e[10]*r,e[14]*r,e[3]*r,e[7]*r,e[11]*r,e[15]*r)},l.negate=function(e,r){return n(r)?(r[0]=-e[0],r[1]=-e[1],r[2]=-e[2],r[3]=-e[3],r[4]=-e[4],r[5]=-e[5],r[6]=-e[6],r[7]=-e[7],r[8]=-e[8],r[9]=-e[9],r[10]=-e[10],r[11]=-e[11],r[12]=-e[12],r[13]=-e[13],r[14]=-e[14],r[15]=-e[15],r):new l(-e[0],-e[4],-e[8],-e[12],-e[1],-e[5],-e[9],-e[13],-e[2],-e[6],-e[10],-e[14],-e[3],-e[7],-e[11],-e[15])},l.transpose=function(e,r){if(!n(r))return new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]);var t=e[1],o=e[2],i=e[3],a=e[6],s=e[7],u=e[11];return r[0]=e[0],r[1]=e[4],r[2]=e[8],r[3]=e[12],r[4]=t,r[5]=e[5],r[6]=e[9],r[7]=e[13],r[8]=o,r[9]=a,r[10]=e[10],r[11]=e[14],r[12]=i,r[13]=s,r[14]=u,r[15]=e[15],r},l.abs=function(e,r){return n(r)?(r[0]=Math.abs(e[0]),r[1]=Math.abs(e[1]),r[2]=Math.abs(e[2]),r[3]=Math.abs(e[3]),r[4]=Math.abs(e[4]),r[5]=Math.abs(e[5]),r[6]=Math.abs(e[6]),r[7]=Math.abs(e[7]),r[8]=Math.abs(e[8]),r[9]=Math.abs(e[9]),r[10]=Math.abs(e[10]),r[11]=Math.abs(e[11]),r[12]=Math.abs(e[12]),r[13]=Math.abs(e[13]),r[14]=Math.abs(e[14]),r[15]=Math.abs(e[15]),r):new l(Math.abs(e[0]),Math.abs(e[4]),Math.abs(e[8]),Math.abs(e[12]),Math.abs(e[1]),Math.abs(e[5]),Math.abs(e[9]),Math.abs(e[13]),Math.abs(e[2]),Math.abs(e[6]),Math.abs(e[10]),Math.abs(e[14]),Math.abs(e[3]),Math.abs(e[7]),Math.abs(e[11]),Math.abs(e[15]))},l.equals=function(e,r){return e===r||n(e)&&n(r)&&e[0]===r[0]&&e[1]===r[1]&&e[2]===r[2]&&e[3]===r[3]&&e[4]===r[4]&&e[5]===r[5]&&e[6]===r[6]&&e[7]===r[7]&&e[8]===r[8]&&e[9]===r[9]&&e[10]===r[10]&&e[11]===r[11]&&e[12]===r[12]&&e[13]===r[13]&&e[14]===r[14]&&e[15]===r[15]},l.equalsEpsilon=function(e,r,t){return e===r||n(e)&&n(r)&&Math.abs(e[0]-r[0])<=t&&Math.abs(e[1]-r[1])<=t&&Math.abs(e[2]-r[2])<=t&&Math.abs(e[3]-r[3])<=t&&Math.abs(e[4]-r[4])<=t&&Math.abs(e[5]-r[5])<=t&&Math.abs(e[6]-r[6])<=t&&Math.abs(e[7]-r[7])<=t&&Math.abs(e[8]-r[8])<=t&&Math.abs(e[9]-r[9])<=t&&Math.abs(e[10]-r[10])<=t&&Math.abs(e[11]-r[11])<=t&&Math.abs(e[12]-r[12])<=t&&Math.abs(e[13]-r[13])<=t&&Math.abs(e[14]-r[14])<=t&&Math.abs(e[15]-r[15])<=t},l.getTranslation=function(r,t){return n(t)?(t.x=r[12],t.y=r[13],t.z=r[14],t):new e(r[12],r[13],r[14])},l.getRotation=function(e,r){return n(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[4],r[4]=e[5],r[5]=e[6],r[6]=e[8],r[7]=e[9],r[8]=e[10],r):new s(e[0],e[4],e[8],e[1],e[5],e[9],e[2],e[6],e[10])},l.inverse=function(e,r){var t=e[0],o=e[4],i=e[8],s=e[12],c=e[1],f=e[5],m=e[9],y=e[13],h=e[2],p=e[6],d=e[10],v=e[14],g=e[3],E=e[7],C=e[11],S=e[15],w=d*S,A=v*C,x=p*S,M=v*E,T=p*C,b=d*E,I=h*S,O=v*g,N=h*C,R=d*g,z=h*E,L=p*g,F=w*f+M*m+T*y-(A*f+x*m+b*y),P=A*c+I*m+R*y-(w*c+O*m+N*y),D=x*c+O*f+z*y-(M*c+I*f+L*y),B=b*c+N*f+L*m-(T*c+R*f+z*m),_=A*o+x*i+b*s-(w*o+M*i+T*s),U=w*t+O*i+N*s-(A*t+I*i+R*s),G=M*t+I*o+L*s-(x*t+O*o+z*s),q=T*t+R*o+z*i-(b*t+N*o+L*i);w=i*y,A=s*m,x=o*y,M=s*f,T=o*m,b=i*f,I=t*y,O=s*c,N=t*m,R=i*c,z=t*f,L=o*c;var Y=w*E+M*C+T*S-(A*E+x*C+b*S),W=A*g+I*C+R*S-(w*g+O*C+N*S),V=x*g+O*E+z*S-(M*g+I*E+L*S),H=b*g+N*E+L*C-(T*g+R*E+z*C),k=x*d+b*v+A*p-(T*v+w*p+M*d),K=N*v+w*h+O*d-(I*d+R*v+A*h),j=I*p+L*v+M*h-(z*v+x*h+O*p),Z=z*d+T*h+R*p-(N*p+L*d+b*h),Q=t*F+o*P+i*D+s*B;if(Math.abs(Q)M;M++){e.clone(r[M],o);var T=o.x,b=o.y,I=o.z;Tu.x&&e.clone(o,u),bl.y&&e.clone(o,l),IA.z&&e.clone(o,A)}var O=e.magnitudeSquared(e.subtract(u,i,g)),N=e.magnitudeSquared(e.subtract(l,a,g)),R=e.magnitudeSquared(e.subtract(A,s,g)),z=i,L=u,F=O;N>F&&(F=N,z=a,L=l),R>F&&(F=R,z=s,L=A);var P=E;P.x=.5*(z.x+L.x),P.y=.5*(z.y+L.y),P.z=.5*(z.z+L.z);var D=e.magnitudeSquared(e.subtract(L,P,g)),B=Math.sqrt(D),_=C;_.x=i.x,_.y=a.y,_.z=s.z;var U=S;U.x=u.x,U.y=l.y,U.z=A.z;var G=e.multiplyByScalar(e.add(_,U,g),.5,w),q=0;for(M=0;x>M;M++){e.clone(r[M],o);var Y=e.magnitude(e.subtract(o,G,g));Y>q&&(q=Y);var W=e.magnitudeSquared(e.subtract(o,P,g));if(W>D){var V=Math.sqrt(W);B=.5*(B+V),D=B*B;var H=V-B;P.x=(B*P.x+H*o.x)/V,P.y=(B*P.y+H*o.y)/V,P.z=(B*P.z+H*o.z)/V}}return q>B?(e.clone(P,t.center),t.radius=B):(e.clone(G,t.center),t.radius=q),t};var A=new a,x=new e,M=new e,T=new r,b=new r;c.fromExtent2D=function(e,r,t){return c.fromExtentWithHeights2D(e,r,0,0,t)},c.fromExtentWithHeights2D=function(r,o,i,a,s){if(n(s)||(s=new c),!n(r))return s.center=e.clone(e.ZERO,s.center),s.radius=0,s;o=t(o,A),r.getSouthwest(T),T.height=i,r.getNortheast(b),b.height=a;var u=o.project(T,x),l=o.project(b,M),f=l.x-u.x,m=l.y-u.y,y=l.z-u.z;s.radius=.5*Math.sqrt(f*f+m*m+y*y);var h=s.center;return h.x=u.x+.5*f,h.y=u.y+.5*m,h.z=u.z+.5*y,s};var I=[];c.fromExtent3D=function(e,r,o,a){r=t(r,i.WGS84),o=t(o,0);var s;return n(e)&&(s=e.subsample(r,o,I)),c.fromPoints(s,a)},c.fromVertices=function(r,o,i,a){if(n(a)||(a=new c),!n(r)||0===r.length)return a.center=e.clone(e.ZERO,a.center),a.radius=0,a;o=t(o,e.ZERO),i=t(i,3);var s=v;s.x=r[0]+o.x,s.y=r[1]+o.y,s.z=r[2]+o.z;for(var u=e.clone(s,f),l=e.clone(s,m),A=e.clone(s,y),x=e.clone(s,h),M=e.clone(s,p),T=e.clone(s,d),b=r.length,I=0;b>I;I+=i){var O=r[I]+o.x,N=r[I+1]+o.y,R=r[I+2]+o.z;s.x=O,s.y=N,s.z=R,Ox.x&&e.clone(s,x),NM.y&&e.clone(s,M),RT.z&&e.clone(s,T)}var z=e.magnitudeSquared(e.subtract(x,u,g)),L=e.magnitudeSquared(e.subtract(M,l,g)),F=e.magnitudeSquared(e.subtract(T,A,g)),P=u,D=x,B=z;L>B&&(B=L,P=l,D=M),F>B&&(B=F,P=A,D=T);var _=E;_.x=.5*(P.x+D.x),_.y=.5*(P.y+D.y),_.z=.5*(P.z+D.z);var U=e.magnitudeSquared(e.subtract(D,_,g)),G=Math.sqrt(U),q=C;q.x=u.x,q.y=l.y,q.z=A.z;var Y=S;Y.x=x.x,Y.y=M.y,Y.z=T.z;var W=e.multiplyByScalar(e.add(q,Y,g),.5,w),V=0;for(I=0;b>I;I+=i){s.x=r[I]+o.x,s.y=r[I+1]+o.y,s.z=r[I+2]+o.z;var H=e.magnitude(e.subtract(s,W,g));H>V&&(V=H);var k=e.magnitudeSquared(e.subtract(s,_,g));if(k>U){var K=Math.sqrt(k);G=.5*(G+K),U=G*G;var j=K-G;_.x=(G*_.x+j*s.x)/K,_.y=(G*_.y+j*s.y)/K,_.z=(G*_.z+j*s.z)/K}}return V>G?(e.clone(_,a.center),a.radius=G):(e.clone(W,a.center),a.radius=V),a},c.fromCornerPoints=function(r,t,o){n(o)||(o=new c);var i=o.center;return e.add(r,t,i),e.multiplyByScalar(i,.5,i),o.radius=e.distance(i,t),o},c.fromEllipsoid=function(r,t){return n(t)||(t=new c),e.clone(e.ZERO,t.center),t.radius=r.maximumRadius,t},c.clone=function(r,t){return n(r)?n(t)?(t.center=e.clone(r.center,t.center),t.radius=r.radius,t):new c(r.center,r.radius):void 0};var O=new e,N=new e;c.union=function(r,t,o){n(o)||(o=new c);var i=r.center,a=t.center;e.add(i,a,N);var s=e.multiplyByScalar(N,.5,N),u=e.magnitude(e.subtract(i,s,O))+r.radius,l=e.magnitude(e.subtract(a,s,O))+t.radius;return o.radius=Math.max(u,l),e.clone(s,o.center),o};var R=new e;c.expand=function(r,t,n){n=c.clone(r,n);var o=e.magnitude(e.subtract(t,n.center,R));return o>n.radius&&(n.radius=o),n},c.intersect=function(r,t){var n=r.center,o=r.radius,i=e.dot(t,n)+t.w;return-o>i?s.OUTSIDE:o>i?s.INTERSECTING:s.INSIDE};var z=new e;c.transform=function(r,t,o){return n(o)||(o=new c),o.center=l.multiplyByPoint(t,r.center,o.center),o.radius=Math.max(e.magnitude(l.getColumn(t,0,z)),e.magnitude(l.getColumn(t,1,z)),e.magnitude(l.getColumn(t,2,z)))*r.radius,o},c.transformWithoutScale=function(e,r,t){return n(t)||(t=new c),t.center=l.multiplyByPoint(r,e.center,t.center),t.radius=e.radius,t};var L=new e;c.getPlaneDistances=function(r,t,o,i){n(i)||(i=new u);var a=e.subtract(r.center,t,L),s=e.multiplyByScalar(o,e.dot(o,a),L),l=e.magnitude(s);return i.start=l-r.radius,i.stop=l+r.radius,i};for(var F=new e,P=new e,D=new e,B=new e,_=new e,U=new r,G=new Array(8),q=0;8>q;++q)G[q]=new e;var Y=new a;return c.projectTo2D=function(r,n,o){n=t(n,Y);var i=n.ellipsoid,a=r.center,s=r.radius,u=i.geodeticSurfaceNormal(a,F),l=e.cross(e.UNIT_Z,u,P);e.normalize(l,l);var f=e.cross(u,l,D);e.normalize(f,f),e.multiplyByScalar(u,s,u),e.multiplyByScalar(f,s,f),e.multiplyByScalar(l,s,l);var m=e.negate(f,_),y=e.negate(l,B),h=G,p=h[0];e.add(u,f,p),e.add(p,l,p),p=h[1],e.add(u,f,p),e.add(p,y,p),p=h[2],e.add(u,m,p),e.add(p,y,p),p=h[3],e.add(u,m,p),e.add(p,l,p),e.negate(u,u),p=h[4],e.add(u,f,p),e.add(p,l,p),p=h[5],e.add(u,f,p),e.add(p,y,p),p=h[6],e.add(u,m,p),e.add(p,y,p),p=h[7],e.add(u,m,p),e.add(p,l,p);for(var d=h.length,v=0;d>v;++v){var g=h[v];e.add(a,g,g);var E=i.cartesianToCartographic(g,U);n.project(E,g)}o=c.fromPoints(h,o),a=o.center;var C=a.x,S=a.y,w=a.z;return a.x=w,a.y=C,a.z=S,o},c.equals=function(r,t){return r===t||n(r)&&n(t)&&e.equals(r.center,t.center)&&r.radius===t.radius},c.prototype.clone=function(e){return c.clone(this,e)},c.prototype.union=function(e,r){return c.union(this,e,r)},c.prototype.expand=function(e,r){return c.expand(this,e,r)},c.prototype.intersect=function(e){return c.intersect(this,e)},c.prototype.getPlaneDistances=function(e,r,t){return c.getPlaneDistances(this,e,r,t)},c.prototype.projectTo2D=function(e,r){return c.projectTo2D(this,e,r)},c.prototype.equals=function(e){return c.equals(this,e)},c}),define("Core/Geometry",["./defaultValue","./defined","./DeveloperError"],function(e,r,t){"use strict";var n=function(r){r=e(r,e.EMPTY_OBJECT),this.attributes=r.attributes,this.indices=r.indices,this.primitiveType=r.primitiveType,this.boundingSphere=r.boundingSphere};return n.computeNumberOfVertices=function(e){var n=-1;for(var o in e.attributes)if(e.attributes.hasOwnProperty(o)&&r(e.attributes[o])&&r(e.attributes[o].values)){var i=e.attributes[o],a=i.values.length/i.componentsPerAttribute;if(n!==a&&-1!==n)throw new t("All attribute lists must have the same number of attributes.");n=a}return n},n}),define("Core/GeometryAttribute",["./defaultValue","./defined","./DeveloperError"],function(e){"use strict";var r=function(r){r=e(r,e.EMPTY_OBJECT),this.componentDatatype=r.componentDatatype,this.componentsPerAttribute=r.componentsPerAttribute,this.normalize=e(r.normalize,!1),this.values=r.values};return r}),define("Core/GeometryAttributes",["./defaultValue"],function(e){"use strict";var r=function(r){r=e(r,e.EMPTY_OBJECT),this.position=r.position,this.normal=r.normal,this.st=r.st,this.binormal=r.binormal,this.tangent=r.tangent,this.color=r.color};return r}),define("Core/VertexFormat",["./defaultValue","./freezeObject"],function(e,r){"use strict";var t=function(r){r=e(r,e.EMPTY_OBJECT),this.position=e(r.position,!1),this.normal=e(r.normal,!1),this.st=e(r.st,!1),this.binormal=e(r.binormal,!1),this.tangent=e(r.tangent,!1)};return t.POSITION_ONLY=r(new t({position:!0})),t.POSITION_AND_NORMAL=r(new t({position:!0,normal:!0})),t.POSITION_NORMAL_AND_ST=r(new t({position:!0,normal:!0,st:!0})),t.POSITION_AND_ST=r(new t({position:!0,st:!0})),t.ALL=r(new t({position:!0,normal:!0,st:!0,binormal:!0,tangent:!0})),t.DEFAULT=t.POSITION_NORMAL_AND_ST,t}),define("Core/EllipsoidGeometry",["./defaultValue","./DeveloperError","./Cartesian2","./Cartesian3","./Math","./Ellipsoid","./ComponentDatatype","./IndexDatatype","./PrimitiveType","./BoundingSphere","./Geometry","./GeometryAttribute","./GeometryAttributes","./VertexFormat"],function(e,r,t,n,o,i,a,s,u,l,c,f,m,y){"use strict";var h=new n,p=new n,d=new n,v=new n,g=new n,E=new n(1,1,1),C=Math.cos,S=Math.sin,w=function(r){r=e(r,e.EMPTY_OBJECT);var t=e(r.radii,E),o=e(r.stackPartitions,64),i=e(r.slicePartitions,64),a=e(r.vertexFormat,y.DEFAULT);this._radii=n.clone(t),this._stackPartitions=o,this._slicePartitions=i,this._vertexFormat=a,this._workerName="createEllipsoidGeometry"};return w.createGeometry=function(e){var r,y,E=e._radii,w=i.fromCartesian3(E),A=e._vertexFormat,x=e._slicePartitions+1,M=e._stackPartitions+1,T=M*x,b=new Float64Array(3*T),I=6*(x-1)*(M-1),O=s.createTypedArray(T,I),N=A.normal?new Float32Array(3*T):void 0,R=A.tangent?new Float32Array(3*T):void 0,z=A.binormal?new Float32Array(3*T):void 0,L=A.st?new Float32Array(2*T):void 0,F=new Array(x),P=new Array(x),D=0;for(r=0;x>r;r++){var B=o.TWO_PI*r/(x-1);F[r]=C(B),P[r]=S(B),b[D++]=0,b[D++]=0,b[D++]=E.z}for(r=1;M-1>r;r++){var _=Math.PI*r/(M-1),U=S(_),G=E.x*U,q=E.y*U,Y=E.z*C(_);for(y=0;x>y;y++)b[D++]=F[y]*G,b[D++]=P[y]*q,b[D++]=Y}for(r=0;x>r;r++)b[D++]=0,b[D++]=0,b[D++]=-E.z;var W=new m;A.position&&(W.position=new f({componentDatatype:a.DOUBLE,componentsPerAttribute:3,values:b}));var V=0,H=0,k=0,K=0;if(A.st||A.normal||A.tangent||A.binormal){for(r=0;T>r;r++){var j=n.fromArray(b,3*r,h),Z=w.geodeticSurfaceNormal(j,p);if(A.st){var Q=t.negate(Z,g);t.magnitude(Q)b.length&&(D=3*(r-x*Math.floor(.5*M))),n.fromArray(b,D,Q),w.geodeticSurfaceNormal(Q,Q),t.negate(Q,Q)),L[V++]=Math.atan2(Q.y,Q.x)/o.TWO_PI+.5,L[V++]=Math.asin(Z.z)/Math.PI+.5}if(A.normal&&(N[H++]=Z.x,N[H++]=Z.y,N[H++]=Z.z),A.tangent||A.binormal){var X=d;if(x>r||r>T-x-1?(n.cross(n.UNIT_X,Z,X),n.normalize(X,X)):(n.cross(n.UNIT_Z,Z,X),n.normalize(X,X)),A.tangent&&(R[k++]=X.x,R[k++]=X.y,R[k++]=X.z),A.binormal){var J=n.cross(Z,X,v);n.normalize(J,J),z[K++]=J.x,z[K++]=J.y,z[K++]=J.z}}}A.st&&(W.st=new f({componentDatatype:a.FLOAT,componentsPerAttribute:2,values:L})),A.normal&&(W.normal=new f({componentDatatype:a.FLOAT,componentsPerAttribute:3,values:N})),A.tangent&&(W.tangent=new f({componentDatatype:a.FLOAT,componentsPerAttribute:3,values:R})),A.binormal&&(W.binormal=new f({componentDatatype:a.FLOAT,componentsPerAttribute:3,values:z}))}for(D=0,r=0;M>r;r++){var $=r*x,er=(r+1)*x;for(y=0;x-1>y;y++)O[D++]=er+y,O[D++]=er+y+1,O[D++]=$+y+1,O[D++]=er+y,O[D++]=$+y+1,O[D++]=$+y}return new c({attributes:W,indices:O,primitiveType:u.TRIANGLES,boundingSphere:l.fromEllipsoid(w)})},w}),define("Core/Color",["./defaultValue","./defined","./freezeObject","./DeveloperError","./FeatureDetection","./Math"],function(e,r,t,n,o,i){"use strict";function a(e,r,t){return 0>t&&(t+=1),t>1&&(t-=1),1>6*t?e+6*(r-e)*t:1>2*t?r:2>3*t?e+6*(r-e)*(2/3-t):e}var s=function(r,t,n,o){this.red=e(r,1),this.green=e(t,1),this.blue=e(n,1),this.alpha=e(o,1)};s.fromBytes=function(r,t,n,o){return r=s.byteToFloat(e(r,255)),t=s.byteToFloat(e(t,255)),n=s.byteToFloat(e(n,255)),o=s.byteToFloat(e(o,255)),new s(r,t,n,o)};var u,l,c;o.supportsTypedArrays()&&(u=new ArrayBuffer(4),l=new Uint32Array(u),c=new Uint8Array(u)),s.fromRgba=function(e){return l[0]=e,s.fromBytes(c[0],c[1],c[2],c[3])},s.fromHsl=function(r,t,n,o){r=e(r,0)%1,t=e(t,0),n=e(n,0),o=e(o,1);var i=n,u=n,l=n;if(0!==t){var c;c=.5>n?n*(1+t):n+t-n*t;var f=2*n-c;i=a(f,c,r+1/3),u=a(f,c,r),l=a(f,c,r-1/3)}return new s(i,u,l,o)},s.fromRandom=function(t,n){t=e(t,e.EMPTY_OBJECT);var o=t.red;if(!r(o)){var a=e(t.minimumRed,0),u=e(t.maximumRed,1);o=a+i.nextRandomNumber()*(u-a)}var l=t.green;if(!r(l)){var c=e(t.minimumGreen,0),f=e(t.maximumGreen,1);l=c+i.nextRandomNumber()*(f-c)}var m=t.blue;if(!r(m)){var y=e(t.minimumBlue,0),h=e(t.maximumBlue,1);m=y+i.nextRandomNumber()*(h-y)}var p=t.alpha;if(!r(p)){var d=e(t.minimumAlpha,0),v=e(t.maximumAlpha,1);p=d+i.nextRandomNumber()*(v-d)}return r(n)?(n.red=o,n.green=l,n.blue=m,n.alpha=p,n):new s(o,l,m,p)};var f=/^#([0-9a-f])([0-9a-f])([0-9a-f])$/i,m=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i,y=/^rgba?\(\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)(?:\s*,\s*([0-9.]+))?\s*\)$/i,h=/^hsla?\(\s*([0-9.]+)\s*,\s*([0-9.]+%)\s*,\s*([0-9.]+%)(?:\s*,\s*([0-9.]+))?\s*\)$/i;return s.fromCssColorString=function(t){var n=s[t.toUpperCase()];if(r(n))return s.clone(n);var o=f.exec(t);return null!==o?new s(parseInt(o[1],16)/15,parseInt(o[2],16)/15,parseInt(o[3],16)/15):(o=m.exec(t),null!==o?new s(parseInt(o[1],16)/255,parseInt(o[2],16)/255,parseInt(o[3],16)/255):(o=y.exec(t),null!==o?new s(parseFloat(o[1])/("%"===o[1].substr(-1)?100:255),parseFloat(o[2])/("%"===o[2].substr(-1)?100:255),parseFloat(o[3])/("%"===o[3].substr(-1)?100:255),parseFloat(e(o[4],"1.0"))):(o=h.exec(t),null!==o?s.fromHsl(parseFloat(o[1])/360,parseFloat(o[2])/100,parseFloat(o[3])/100,parseFloat(e(o[4],"1.0"))):void 0)))},s.packedLength=4,s.pack=function(r,t,n){n=e(n,0),t[n++]=r.red,t[n++]=r.green,t[n++]=r.blue,t[n]=r.alpha},s.unpack=function(t,n,o){return n=e(n,0),r(o)||(o=new s),o.red=t[n++],o.green=t[n++],o.blue=t[n++],o.alpha=t[n],o},s.byteToFloat=function(e){return e/255},s.floatToByte=function(e){return 1===e?255:0|256*e},s.clone=function(e,t){return r(e)?r(t)?(t.red=e.red,t.green=e.green,t.blue=e.blue,t.alpha=e.alpha,t):new s(e.red,e.green,e.blue,e.alpha):void 0},s.equals=function(e,t){return e===t||r(e)&&r(t)&&e.red===t.red&&e.green===t.green&&e.blue===t.blue&&e.alpha===t.alpha},s.prototype.clone=function(e){return s.clone(this,e)},s.prototype.equals=function(e){return s.equals(this,e)},s.prototype.equalsEpsilon=function(e,t){return this===e||r(e)&&Math.abs(this.red-e.red)<=t&&Math.abs(this.green-e.green)<=t&&Math.abs(this.blue-e.blue)<=t&&Math.abs(this.alpha-e.alpha)<=t},s.prototype.toString=function(){return"("+this.red+", "+this.green+", "+this.blue+", "+this.alpha+")"},s.prototype.toCssColorString=function(){var e=s.floatToByte(this.red),r=s.floatToByte(this.green),t=s.floatToByte(this.blue);return 1===this.alpha?"rgb("+e+","+r+","+t+")":"rgba("+e+","+r+","+t+","+this.alpha+")"},s.prototype.toBytes=function(e){var t=s.floatToByte(this.red),n=s.floatToByte(this.green),o=s.floatToByte(this.blue),i=s.floatToByte(this.alpha);return r(e)?(e[0]=t,e[1]=n,e[2]=o,e[3]=i,e):[t,n,o,i]},s.prototype.toRgba=function(){return c[0]=s.floatToByte(this.red),c[1]=s.floatToByte(this.green),c[2]=s.floatToByte(this.blue),c[3]=s.floatToByte(this.alpha),l[0]},s.ALICEBLUE=t(s.fromCssColorString("#F0F8FF")),s.ANTIQUEWHITE=t(s.fromCssColorString("#FAEBD7")),s.AQUA=t(s.fromCssColorString("#00FFFF")),s.AQUAMARINE=t(s.fromCssColorString("#7FFFD4")),s.AZURE=t(s.fromCssColorString("#F0FFFF")),s.BEIGE=t(s.fromCssColorString("#F5F5DC")),s.BISQUE=t(s.fromCssColorString("#FFE4C4")),s.BLACK=t(s.fromCssColorString("#000000")),s.BLANCHEDALMOND=t(s.fromCssColorString("#FFEBCD")),s.BLUE=t(s.fromCssColorString("#0000FF")),s.BLUEVIOLET=t(s.fromCssColorString("#8A2BE2")),s.BROWN=t(s.fromCssColorString("#A52A2A")),s.BURLYWOOD=t(s.fromCssColorString("#DEB887")),s.CADETBLUE=t(s.fromCssColorString("#5F9EA0")),s.CHARTREUSE=t(s.fromCssColorString("#7FFF00")),s.CHOCOLATE=t(s.fromCssColorString("#D2691E")),s.CORAL=t(s.fromCssColorString("#FF7F50")),s.CORNFLOWERBLUE=t(s.fromCssColorString("#6495ED")),s.CORNSILK=t(s.fromCssColorString("#FFF8DC")),s.CRIMSON=t(s.fromCssColorString("#DC143C")),s.CYAN=t(s.fromCssColorString("#00FFFF")),s.DARKBLUE=t(s.fromCssColorString("#00008B")),s.DARKCYAN=t(s.fromCssColorString("#008B8B")),s.DARKGOLDENROD=t(s.fromCssColorString("#B8860B")),s.DARKGRAY=t(s.fromCssColorString("#A9A9A9")),s.DARKGREEN=t(s.fromCssColorString("#006400")),s.DARKGREY=s.DARKGRAY,s.DARKKHAKI=t(s.fromCssColorString("#BDB76B")),s.DARKMAGENTA=t(s.fromCssColorString("#8B008B")),s.DARKOLIVEGREEN=t(s.fromCssColorString("#556B2F")),s.DARKORANGE=t(s.fromCssColorString("#FF8C00")),s.DARKORCHID=t(s.fromCssColorString("#9932CC")),s.DARKRED=t(s.fromCssColorString("#8B0000")),s.DARKSALMON=t(s.fromCssColorString("#E9967A")),s.DARKSEAGREEN=t(s.fromCssColorString("#8FBC8F")),s.DARKSLATEBLUE=t(s.fromCssColorString("#483D8B")),s.DARKSLATEGRAY=t(s.fromCssColorString("#2F4F4F")),s.DARKSLATEGREY=s.DARKSLATEGRAY,s.DARKTURQUOISE=t(s.fromCssColorString("#00CED1")),s.DARKVIOLET=t(s.fromCssColorString("#9400D3")),s.DEEPPINK=t(s.fromCssColorString("#FF1493")),s.DEEPSKYBLUE=t(s.fromCssColorString("#00BFFF")),s.DIMGRAY=t(s.fromCssColorString("#696969")),s.DIMGREY=s.DIMGRAY,s.DODGERBLUE=t(s.fromCssColorString("#1E90FF")),s.FIREBRICK=t(s.fromCssColorString("#B22222")),s.FLORALWHITE=t(s.fromCssColorString("#FFFAF0")),s.FORESTGREEN=t(s.fromCssColorString("#228B22")),s.FUSCHIA=t(s.fromCssColorString("#FF00FF")),s.GAINSBORO=t(s.fromCssColorString("#DCDCDC")),s.GHOSTWHITE=t(s.fromCssColorString("#F8F8FF")),s.GOLD=t(s.fromCssColorString("#FFD700")),s.GOLDENROD=t(s.fromCssColorString("#DAA520")),s.GRAY=t(s.fromCssColorString("#808080")),s.GREEN=t(s.fromCssColorString("#008000")),s.GREENYELLOW=t(s.fromCssColorString("#ADFF2F")),s.GREY=s.GRAY,s.HONEYDEW=t(s.fromCssColorString("#F0FFF0")),s.HOTPINK=t(s.fromCssColorString("#FF69B4")),s.INDIANRED=t(s.fromCssColorString("#CD5C5C")),s.INDIGO=t(s.fromCssColorString("#4B0082")),s.IVORY=t(s.fromCssColorString("#FFFFF0")),s.KHAKI=t(s.fromCssColorString("#F0E68C")),s.LAVENDER=t(s.fromCssColorString("#E6E6FA")),s.LAVENDAR_BLUSH=t(s.fromCssColorString("#FFF0F5")),s.LAWNGREEN=t(s.fromCssColorString("#7CFC00")),s.LEMONCHIFFON=t(s.fromCssColorString("#FFFACD")),s.LIGHTBLUE=t(s.fromCssColorString("#ADD8E6")),s.LIGHTCORAL=t(s.fromCssColorString("#F08080")),s.LIGHTCYAN=t(s.fromCssColorString("#E0FFFF")),s.LIGHTGOLDENRODYELLOW=t(s.fromCssColorString("#FAFAD2")),s.LIGHTGRAY=t(s.fromCssColorString("#D3D3D3")),s.LIGHTGREEN=t(s.fromCssColorString("#90EE90")),s.LIGHTGREY=s.LIGHTGRAY,s.LIGHTPINK=t(s.fromCssColorString("#FFB6C1")),s.LIGHTSEAGREEN=t(s.fromCssColorString("#20B2AA")),s.LIGHTSKYBLUE=t(s.fromCssColorString("#87CEFA")),s.LIGHTSLATEGRAY=t(s.fromCssColorString("#778899")),s.LIGHTSLATEGREY=s.LIGHTSLATEGRAY,s.LIGHTSTEELBLUE=t(s.fromCssColorString("#B0C4DE")),s.LIGHTYELLOW=t(s.fromCssColorString("#FFFFE0")),s.LIME=t(s.fromCssColorString("#00FF00")),s.LIMEGREEN=t(s.fromCssColorString("#32CD32")),s.LINEN=t(s.fromCssColorString("#FAF0E6")),s.MAGENTA=t(s.fromCssColorString("#FF00FF")),s.MAROON=t(s.fromCssColorString("#800000")),s.MEDIUMAQUAMARINE=t(s.fromCssColorString("#66CDAA")),s.MEDIUMBLUE=t(s.fromCssColorString("#0000CD")),s.MEDIUMORCHID=t(s.fromCssColorString("#BA55D3")),s.MEDIUMPURPLE=t(s.fromCssColorString("#9370DB")),s.MEDIUMSEAGREEN=t(s.fromCssColorString("#3CB371")),s.MEDIUMSLATEBLUE=t(s.fromCssColorString("#7B68EE")),s.MEDIUMSPRINGGREEN=t(s.fromCssColorString("#00FA9A")),s.MEDIUMTURQUOISE=t(s.fromCssColorString("#48D1CC")),s.MEDIUMVIOLETRED=t(s.fromCssColorString("#C71585")),s.MIDNIGHTBLUE=t(s.fromCssColorString("#191970")),s.MINTCREAM=t(s.fromCssColorString("#F5FFFA")),s.MISTYROSE=t(s.fromCssColorString("#FFE4E1")),s.MOCCASIN=t(s.fromCssColorString("#FFE4B5")),s.NAVAJOWHITE=t(s.fromCssColorString("#FFDEAD")),s.NAVY=t(s.fromCssColorString("#000080")),s.OLDLACE=t(s.fromCssColorString("#FDF5E6")),s.OLIVE=t(s.fromCssColorString("#808000")),s.OLIVEDRAB=t(s.fromCssColorString("#6B8E23")),s.ORANGE=t(s.fromCssColorString("#FFA500")),s.ORANGERED=t(s.fromCssColorString("#FF4500")),s.ORCHID=t(s.fromCssColorString("#DA70D6")),s.PALEGOLDENROD=t(s.fromCssColorString("#EEE8AA")),s.PALEGREEN=t(s.fromCssColorString("#98FB98")),s.PALETURQUOISE=t(s.fromCssColorString("#AFEEEE")),s.PALEVIOLETRED=t(s.fromCssColorString("#DB7093")),s.PAPAYAWHIP=t(s.fromCssColorString("#FFEFD5")),s.PEACHPUFF=t(s.fromCssColorString("#FFDAB9")),s.PERU=t(s.fromCssColorString("#CD853F")),s.PINK=t(s.fromCssColorString("#FFC0CB")),s.PLUM=t(s.fromCssColorString("#DDA0DD")),s.POWDERBLUE=t(s.fromCssColorString("#B0E0E6")),s.PURPLE=t(s.fromCssColorString("#800080")),s.RED=t(s.fromCssColorString("#FF0000")),s.ROSYBROWN=t(s.fromCssColorString("#BC8F8F")),s.ROYALBLUE=t(s.fromCssColorString("#4169E1")),s.SADDLEBROWN=t(s.fromCssColorString("#8B4513")),s.SALMON=t(s.fromCssColorString("#FA8072")),s.SANDYBROWN=t(s.fromCssColorString("#F4A460")),s.SEAGREEN=t(s.fromCssColorString("#2E8B57")),s.SEASHELL=t(s.fromCssColorString("#FFF5EE")),s.SIENNA=t(s.fromCssColorString("#A0522D")),s.SILVER=t(s.fromCssColorString("#C0C0C0")),s.SKYBLUE=t(s.fromCssColorString("#87CEEB")),s.SLATEBLUE=t(s.fromCssColorString("#6A5ACD")),s.SLATEGRAY=t(s.fromCssColorString("#708090")),s.SLATEGREY=s.SLATEGRAY,s.SNOW=t(s.fromCssColorString("#FFFAFA")),s.SPRINGGREEN=t(s.fromCssColorString("#00FF7F")),s.STEELBLUE=t(s.fromCssColorString("#4682B4")),s.TAN=t(s.fromCssColorString("#D2B48C")),s.TEAL=t(s.fromCssColorString("#008080")),s.THISTLE=t(s.fromCssColorString("#D8BFD8")),s.TOMATO=t(s.fromCssColorString("#FF6347")),s.TURQUOISE=t(s.fromCssColorString("#40E0D0")),s.VIOLET=t(s.fromCssColorString("#EE82EE")),s.WHEAT=t(s.fromCssColorString("#F5DEB3")),s.WHITE=t(s.fromCssColorString("#FFFFFF")),s.WHITESMOKE=t(s.fromCssColorString("#F5F5F5")),s.YELLOW=t(s.fromCssColorString("#FFFF00")),s.YELLOWGREEN=t(s.fromCssColorString("#9ACD32")),s +}),define("Core/barycentricCoordinates",["./Cartesian2","./Cartesian3","./defined","./DeveloperError"],function(e,r,t){"use strict";var n=new r,o=new r,i=new r,a=function(a,s,u,l,c){t(c)||(c=new r);var f,m,y,h,p,d,v,g;t(s.z)?(f=r.subtract(u,s,n),m=r.subtract(l,s,o),y=r.subtract(a,s,i),h=r.dot(f,f),p=r.dot(f,m),d=r.dot(f,y),v=r.dot(m,m),g=r.dot(m,y)):(f=e.subtract(u,s,n),m=e.subtract(l,s,o),y=e.subtract(a,s,i),h=e.dot(f,f),p=e.dot(f,m),d=e.dot(f,y),v=e.dot(m,m),g=e.dot(m,y));var E=1/(h*v-p*p);return c.y=(v*d-p*g)*E,c.z=(h*g-p*d)*E,c.x=1-c.y-c.z,c};return a}),define("Core/EncodedCartesian3",["./Cartesian3","./defined","./DeveloperError"],function(e,r){"use strict";var t=function(){this.high=e.clone(e.ZERO),this.low=e.clone(e.ZERO)};t.encode=function(e,t){r(t)||(t={high:0,low:0});var n;return e>=0?(n=65536*Math.floor(e/65536),t.high=n,t.low=e-n):(n=65536*Math.floor(-e/65536),t.high=-n,t.low=e+n),t};var n={high:0,low:0};t.fromCartesian=function(e,o){r(o)||(o=new t);var i=o.high,a=o.low;return t.encode(e.x,n),i.x=n.high,a.x=n.low,t.encode(e.y,n),i.y=n.high,a.y=n.low,t.encode(e.z,n),i.z=n.high,a.z=n.low,o};var o=new t;return t.writeElements=function(e,r,n){t.fromCartesian(e,o);var i=o.high,a=o.low;r[n]=i.x,r[n+1]=i.y,r[n+2]=i.z,r[n+3]=a.x,r[n+4]=a.y,r[n+5]=a.z},t}),define("Core/QuadraticRealPolynomial",["./DeveloperError","./Math"],function(e,r){"use strict";function t(e,t,n){var o=e+t;return r.sign(e)!==r.sign(t)&&Math.abs(o/Math.max(Math.abs(e),Math.abs(t)))a&&a/ss&&s/ai)return[];var u=Math.sqrt(i);return[-u,u]}if(0===o)return i=-n/e,0>i?[i,0]:[0,i];var l=n*n,c=4*e*o,f=t(l,-c,r.EPSILON14);if(0>f)return[];var m=-.5*t(n,r.sign(n)*Math.sqrt(f),r.EPSILON14);return n>0?[m/e,o/m]:[o/m,m/e]},n}),define("Core/CubicRealPolynomial",["./DeveloperError","./QuadraticRealPolynomial"],function(e,r){"use strict";function t(e,r,t,n){var o,i,a=e,s=r/3,u=t/3,l=n,c=a*u,f=s*l,m=s*s,y=u*u,h=a*u-m,p=a*l-s*u,d=s*l-y,v=4*h*d-p*p;if(0>v){var g,E,C;m*f>=c*y?(g=a,E=h,C=-2*s*h+a*p):(g=l,E=d,C=-l*p+2*u*d);var S=0>C?-1:1,w=-S*Math.abs(g)*Math.sqrt(-v);i=-C+w;var A=i/2,x=0>A?-Math.pow(-A,1/3):Math.pow(A,1/3),M=i===w?-x:-E/x;return o=0>=E?x+M:-C/(x*x+M*M+E),m*f>=c*y?[(o-s)/a]:[-l/(o+u)]}var T=h,b=-2*s*h+a*p,I=d,O=-l*p+2*u*d,N=Math.sqrt(v),R=Math.sqrt(3)/2,z=Math.abs(Math.atan2(a*N,-b)/3);o=2*Math.sqrt(-T);var L=Math.cos(z);i=o*L;var F=o*(-L/2-R*Math.sin(z)),P=i+F>2*s?i-s:F-s,D=a,B=P/D;z=Math.abs(Math.atan2(l*N,-O)/3),o=2*Math.sqrt(-I),L=Math.cos(z),i=o*L,F=o*(-L/2-R*Math.sin(z));var _=-l,U=2*u>i+F?i+u:F+u,G=_/U,q=D*U,Y=-P*U-D*_,W=P*_,V=(u*Y-s*W)/(-s*Y+u*q);return V>=B?G>=B?G>=V?[B,V,G]:[B,G,V]:[G,B,V]:G>=B?[V,B,G]:G>=V?[V,G,B]:[G,V,B]}var n={};return n.discriminant=function(e,r,t,n){var o=e*e,i=r*r,a=t*t,s=n*n,u=18*e*r*t*n+i*a-27*o*s-4*(e*a*t+i*r*n);return u},n.realRoots=function(e,n,o,i){var a,s;if(0===e)return r.realRoots(n,o,i);if(0===n){if(0===o){if(0===i)return[0,0,0];s=-i/e;var u=0>s?-Math.pow(-s,1/3):Math.pow(s,1/3);return[u,u,u]}return 0===i?(a=r.realRoots(e,0,o),0===a.Length?[0]:[a[0],0,a[1]]):t(e,0,o,i)}return 0===o?0===i?(s=-n/e,0>s?[s,0,0]:[0,0,s]):t(e,n,0,i):0===i?(a=r.realRoots(e,n,o),0===a.length?[0]:a[1]<=0?[a[0],a[1],0]:a[0]>=0?[0,a[0],a[1]]:[a[0],0,a[1]]):t(e,n,o,i)},n}),define("Core/QuarticRealPolynomial",["./DeveloperError","./Math","./CubicRealPolynomial","./QuadraticRealPolynomial"],function(e,r,t,n){"use strict";function o(e,o,i,a){var s=e*e,u=o-3*s/8,l=i-o*e/2+s*e/8,c=a-i*e/4+o*s/16-3*s*s/256,f=t.realRoots(1,2*u,u*u-4*c,-l*l);if(f.length>0){var m=-e/4,y=f[f.length-1];if(Math.abs(y)=0&&v>=0){var g=Math.sqrt(d),E=Math.sqrt(v);return[m-E,m-g,m+g,m+E]}if(d>=0&&0>v)return p=Math.sqrt(d),[m-p,m+p];if(0>d&&v>=0)return p=Math.sqrt(v),[m-p,m+p]}return[]}if(y>0){var C=Math.sqrt(y),S=(u+y-l/C)/2,w=(u+y+l/C)/2,A=n.realRoots(1,C,S),x=n.realRoots(1,-C,w);return 0!==A.length?(A[0]+=m,A[1]+=m,0!==x.length?(x[0]+=m,x[1]+=m,A[1]<=x[0]?[A[0],A[1],x[0],x[1]]:x[1]<=A[0]?[x[0],x[1],A[0],A[1]]:A[0]>=x[0]&&A[1]<=x[1]?[x[0],A[0],A[1],x[1]]:x[0]>=A[0]&&x[1]<=A[1]?[A[0],x[0],x[1],A[1]]:A[0]>x[0]&&A[0]0){var h,p,d=y[0],v=o-d,g=v*v,E=e/2,C=v/2,S=g-4*a,w=g+4*Math.abs(a),A=l-4*d,x=l+4*Math.abs(d);if(0>d||A*w>S*x){var M=Math.sqrt(A);h=M/2,p=0===M?0:(e*C-i)/M}else{var T=Math.sqrt(S);h=0===T?0:(e*C-i)/T,p=T/2}var b,I;0===E&&0===h?(b=0,I=0):r.sign(E)===r.sign(h)?(b=E+h,I=d/b):(I=E-h,b=d/I);var O,N;0===C&&0===p?(O=0,N=0):r.sign(C)===r.sign(p)?(O=C+p,N=a/O):(N=C-p,O=a/N);var R=n.realRoots(1,b,O),z=n.realRoots(1,I,N);if(0!==R.length)return 0!==z.length?R[1]<=z[0]?[R[0],R[1],z[0],z[1]]:z[1]<=R[0]?[z[0],z[1],R[0],R[1]]:R[0]>=z[0]&&R[1]<=z[1]?[z[0],R[0],R[1],z[1]]:z[0]>=R[0]&&z[1]<=R[1]?[R[0],z[0],z[1],R[1]]:R[0]>z[0]&&R[0]l?1:0;switch(y+=0>c?y+1:y,y+=0>f?y+1:y,y+=0>m?y+1:y){case 0:return o(l,c,f,m);case 1:return i(l,c,f,m);case 2:return i(l,c,f,m);case 3:return o(l,c,f,m);case 4:return o(l,c,f,m);case 5:return i(l,c,f,m);case 6:return o(l,c,f,m);case 7:return o(l,c,f,m);case 8:return i(l,c,f,m);case 9:return o(l,c,f,m);case 10:return o(l,c,f,m);case 11:return i(l,c,f,m);case 12:return o(l,c,f,m);case 13:return o(l,c,f,m);case 14:return o(l,c,f,m);case 15:return o(l,c,f,m);default:return void 0}},a}),define("Core/IntersectionTests",["./defined","./DeveloperError","./Math","./Cartesian3","./Cartographic","./Matrix3","./QuadraticRealPolynomial","./QuarticRealPolynomial"],function(e,r,t,n,o,i,a,s){"use strict";function u(e,r,n){var o=e+r;return t.sign(e)!==t.sign(r)&&Math.abs(o/Math.max(Math.abs(e),Math.abs(r)))F;++F){var P,D=f[F],B=D*D,_=Math.max(1-B,0),U=Math.sqrt(_);P=t.sign(h)===t.sign(d)?u(h*B+d,p*D,t.EPSILON12):t.sign(d)===t.sign(p*D)?u(h*B,p*D+d,t.EPSILON12):u(h*B+p*D,d,t.EPSILON12);var G=u(v*D,g,t.EPSILON15),q=P*G;0>q?E.push(new n(l,c*D,c*U)):q>0?E.push(new n(l,c*D,c*-U)):0!==U?(E.push(new n(l,c*D,c*-U)),E.push(new n(l,c*D,c*U)),++F):E.push(new n(l,c*D,c*U))}return E}var c={};c.rayPlane=function(e,r,o){var i=e.origin,a=e.direction,s=r.normal,u=n.dot(s,a);if(Math.abs(u)l?void 0:(o=n.multiplyByScalar(a,l,o),n.add(i,o,o))};var f=new n,m=new n;c.rayEllipsoid=function(e,r){var t,o,i,a,s,u=r.oneOverRadii,l=n.multiplyComponents(u,e.origin,f),c=n.multiplyComponents(u,e.direction,m),y=n.magnitudeSquared(l),h=n.dot(l,c);if(y>1){if(h>=0)return void 0;var p=h*h;if(t=y-1,o=n.magnitudeSquared(c),i=o*t,i>p)return void 0;if(p>i){a=h*h-i,s=-h+Math.sqrt(a);var d=s/o,v=t/s;return v>d?{start:d,stop:v}:{start:v,stop:d}}var g=Math.sqrt(t/o);return{start:g,stop:g}}return 1>y?(t=y-1,o=n.magnitudeSquared(c),i=o*t,a=h*h-i,s=-h+Math.sqrt(a),{start:0,stop:s/o}):0>h?(o=n.magnitudeSquared(c),{start:0,stop:-h/o}):void 0},c.grazingAltitudeLocation=function(r,a){var s=r.origin,u=r.direction,c=a.geodeticSurfaceNormal(s);if(n.dot(u,c)>=0)return s;var f,m,y=e(this.rayEllipsoid(r,a)),h=a.transformPositionToScaledSpace(u),p=n.normalize(h),d=n.mostOrthogonalAxis(h),v=n.normalize(n.cross(d,p)),g=n.normalize(n.cross(p,v)),E=new i(p.x,v.x,g.x,p.y,v.y,g.y,p.z,v.z,g.z),C=i.transpose(E),S=i.fromScale(a.radii),w=i.fromScale(a.oneOverRadii),A=new i(0,u.z,-u.y,-u.z,0,u.x,u.y,-u.x,0),x=i.multiply(i.multiply(C,w),A),M=i.multiply(i.multiply(x,S),E),T=i.multiplyByVector(x,s),b=l(M,n.negate(T),0,0,1),I=b.length;if(I>0){for(var O=n.ZERO,N=Number.NEGATIVE_INFINITY,R=0;I>R;++R){f=i.multiplyByVector(S,i.multiplyByVector(E,b[R]));var z=n.normalize(n.subtract(f,s)),L=n.dot(z,u);L>N&&(N=L,O=f)}var F=a.cartesianToCartographic(O);return N=t.clamp(N,0,1),m=n.magnitude(n.subtract(O,s))*Math.sqrt(1-N*N),m=y?-m:m,a.cartographicToCartesian(new o(F.longitude,F.latitude,m))}return void 0};var y=new n;return c.lineSegmentPlane=function(r,o,i,a){var s=n.subtract(o,r,y),u=i.normal,l=n.dot(u,s);if(Math.abs(l)f||f>1?void 0:(e(a)||(a=new n),n.multiplyByScalar(s,f,a),n.add(r,a,a),a)},c.trianglePlaneIntersection=function(e,r,t,o){var i=o.normal,a=o.distance,s=n.dot(i,e)+a<0,u=n.dot(i,r)+a<0,l=n.dot(i,t)+a<0,f=0;f+=s?1:0,f+=u?1:0,f+=l?1:0;var m,y;if((1===f||2===f)&&(m=new n,y=new n),1===f){if(s)return c.lineSegmentPlane(e,r,o,m),c.lineSegmentPlane(e,t,o,y),{positions:[e,r,t,m,y],indices:[0,3,4,1,2,4,1,4,3]};if(u)return c.lineSegmentPlane(r,t,o,m),c.lineSegmentPlane(r,e,o,y),{positions:[e,r,t,m,y],indices:[1,3,4,2,0,4,2,4,3]};if(l)return c.lineSegmentPlane(t,e,o,m),c.lineSegmentPlane(t,r,o,y),{positions:[e,r,t,m,y],indices:[2,3,4,0,1,4,0,4,3]}}else if(2===f){if(!s)return c.lineSegmentPlane(r,e,o,m),c.lineSegmentPlane(t,e,o,y),{positions:[e,r,t,m,y],indices:[1,2,4,1,4,3,0,3,4]};if(!u)return c.lineSegmentPlane(t,r,o,m),c.lineSegmentPlane(e,r,o,y),{positions:[e,r,t,m,y],indices:[2,0,4,2,4,3,1,3,4]};if(!l)return c.lineSegmentPlane(e,t,o,m),c.lineSegmentPlane(r,t,o,y),{positions:[e,r,t,m,y],indices:[0,1,4,0,4,3,2,3,4]}}return void 0},c}),define("Core/Plane",["./Cartesian3","./defined","./DeveloperError"],function(e,r){"use strict";var t=function(r,t){this.normal=e.clone(r),this.distance=t};return t.fromPointNormal=function(n,o,i){var a=-e.dot(o,n);return r(i)?(e.clone(o,i.normal),i.distance=a,i):new t(o,a)},t.getPointDistance=function(r,t){return e.dot(r.normal,t)+r.distance},t.prototype.getPointDistance=function(e){return t.getPointDistance(this,e)},t}),define("Core/Tipsify",["./defaultValue","./defined","./DeveloperError"],function(e,r){"use strict";var t={};return t.calculateACMR=function(t){t=e(t,e.EMPTY_OBJECT);var n=t.indices,o=t.maximumIndex,i=e(t.cacheSize,24),a=n.length;if(!r(o)){o=0;for(var s=0,u=n[s];a>s;)u>o&&(o=u),++s,u=n[s]}for(var l=[],c=0;o+1>c;c++)l[c]=0;for(var f=i+1,m=0;a>m;++m)f-l[n[m]]>i&&(l[n[m]]=f,++f);return(f-i+1)/(a/3)},t.tipsify=function(t){function n(e,r,t,n){for(;r.length>=1;){var o=r[r.length-1];if(r.splice(r.length-1,1),e[o].numLiveTriangles>0)return o}for(;n>i;){if(e[i].numLiveTriangles>0)return++i,i-1;++i}return-1}function o(e,r,t,o,i,a,s){for(var u,l=-1,c=-1,f=0;fc||-1===c)&&(c=u,l=m)),++f}return-1===l?n(o,a,e,s):l}t=e(t,e.EMPTY_OBJECT);var i,a=t.indices,s=t.maximumIndex,u=e(t.cacheSize,24),l=a.length,c=0,f=0,m=a[f],y=l;if(r(s))c=s+1;else{for(;y>f;)m>c&&(c=m),++f,m=a[f];if(-1===c)return 0;++c}for(var h=[],p=0;c>p;p++)h[p]={numLiveTriangles:0,timeStamp:0,vertexTriangles:[]};f=0;for(var d=0;y>f;)h[a[f]].vertexTriangles.push(d),++h[a[f]].numLiveTriangles,h[a[f+1]].vertexTriangles.push(d),++h[a[f+1]].numLiveTriangles,h[a[f+2]].vertexTriangles.push(d),++h[a[f+2]].numLiveTriangles,++d,f+=3;var v=0,g=u+1;i=1;var E,C,S=[],w=[],A=0,x=[],M=l/3,T=[];for(p=0;M>p;p++)T[p]=!1;for(var b,I;-1!==v;){S=[],C=h[v],I=C.vertexTriangles.length;for(var O=0;I>O;++O)if(d=C.vertexTriangles[O],!T[d]){T[d]=!0,f=d+d+d;for(var N=0;3>N;++N)b=a[f],S.push(b),w.push(b),x[A]=b,++A,E=h[b],--E.numLiveTriangles,g-E.timeStamp>u&&(E.timeStamp=g,++g),++f}v=o(a,u,S,h,g,w,c)}return x},t}),define("Core/GeometryPipeline",["./barycentricCoordinates","./defaultValue","./defined","./DeveloperError","./Cartesian2","./Cartesian3","./Cartesian4","./Cartographic","./EncodedCartesian3","./Intersect","./IntersectionTests","./Math","./Matrix3","./Matrix4","./Plane","./GeographicProjection","./ComponentDatatype","./IndexDatatype","./PrimitiveType","./Tipsify","./BoundingSphere","./Geometry","./GeometryAttribute"],function(e,r,t,n,o,i,a,s,u,l,c,f,m,y,h,p,d,v,g,E,C,S,w){"use strict";function A(e,r,t,n,o){e[r++]=t,e[r++]=n,e[r++]=n,e[r++]=o,e[r++]=o,e[r]=t}function x(e){for(var r=e.length,t=6*(r/3),n=v.createTypedArray(r,t),o=0,i=0;r>i;i+=3,o+=6)A(n,o,e[i],e[i+1],e[i+2]);return n}function M(e){var r=e.length;if(r>=3){var t=6*(r-2),n=v.createTypedArray(r,t);A(n,0,e[0],e[1],e[2]);for(var o=6,i=3;r>i;++i,o+=6)A(n,o,e[i-1],e[i],e[i-2]);return n}return new Uint16Array}function T(e){if(e.length>0){for(var r=e.length-1,t=6*(r-1),n=v.createTypedArray(r,t),o=e[0],i=0,a=1;r>a;++a,i+=6)A(n,i,o,e[a],e[a+1]);return n}return new Uint16Array}function b(e){var r={};for(var n in e)if(e.hasOwnProperty(n)&&t(e[n])&&t(e[n].values)){var o=e[n];r[n]=new w({componentDatatype:o.componentDatatype,componentsPerAttribute:o.componentsPerAttribute,normalize:o.normalize,values:[]})}return r}function I(e,r,n){for(var o in r)if(r.hasOwnProperty(o)&&t(r[o])&&t(r[o].values))for(var i=r[o],a=0;aa;a+=3)i.unpack(n,a,Z),y.multiplyByPoint(e,Z,Z),i.pack(Z,n,a)}function N(e,r){if(t(r))for(var n=r.values,o=n.length,a=0;o>a;a+=3)i.unpack(n,a,Z),m.multiplyByVector(e,Z,Z),Z=i.normalize(Z,Z),i.pack(Z,n,a)}function R(e){var r,n=e.length,o={},i=e[0].geometry.attributes;for(r in i)if(i.hasOwnProperty(r)&&t(i[r])&&t(i[r].values)){for(var a=i[r],s=a.values.length,u=!0,l=1;n>l;++l){var c=e[l].geometry.attributes[r];if(!t(c)||a.componentDatatype.value!==c.componentDatatype.value||a.componentsPerAttribute!==c.componentsPerAttribute||a.normalize!==c.normalize){u=!1;break}s+=c.values.length}u&&(o[r]=new w({componentDatatype:a.componentDatatype,componentsPerAttribute:a.componentsPerAttribute,normalize:a.normalize,values:d.createTypedArray(a.componentDatatype,s)}))}return o}function z(e){if(t(e.indices))return e;for(var r=S.computeNumberOfVertices(e),n=v.createTypedArray(r,r),o=0;r>o;++o)n[o]=o;return e.indices=n,e}function L(e){var r=S.computeNumberOfVertices(e),t=v.createTypedArray(r,3*(r-2));t[0]=1,t[1]=0,t[2]=2;for(var n=3,o=3;r>o;++o)t[n++]=o-1,t[n++]=0,t[n++]=o;return e.indices=t,e.primitiveType=g.TRIANGLES,e}function F(e){var r=S.computeNumberOfVertices(e),t=v.createTypedArray(r,3*(r-2));t[0]=0,t[1]=1,t[2]=2,r>3&&(t[3]=0,t[4]=2,t[5]=3);for(var n=6,o=3;r-1>o;o+=2)t[n++]=o,t[n++]=o-1,t[n++]=o+1,r>o+2&&(t[n++]=o,t[n++]=o+1,t[n++]=o+2);return e.indices=t,e.primitiveType=g.TRIANGLES,e}function P(e){if(t(e.indices))return e;for(var r=S.computeNumberOfVertices(e),n=v.createTypedArray(r,r),o=0;r>o;++o)n[o]=o;return e.indices=n,e}function D(e){var r=S.computeNumberOfVertices(e),t=v.createTypedArray(r,2*(r-1));t[0]=0,t[1]=1;for(var n=2,o=2;r>o;++o)t[n++]=o-1,t[n++]=o;return e.indices=t,e.primitiveType=g.LINES,e}function B(e){var r=S.computeNumberOfVertices(e),t=v.createTypedArray(r,2*r);t[0]=0,t[1]=1;for(var n=2,o=2;r>o;++o)t[n++]=o-1,t[n++]=o;return t[n++]=r-1,t[n]=0,e.indices=t,e.primitiveType=g.LINES,e}function _(e){switch(e.primitiveType){case g.TRIANGLE_FAN:return L(e);case g.TRIANGLE_STRIP:return F(e);case g.TRIANGLES:return z(e);case g.LINE_STRIP:return D(e);case g.LINE_LOOP:return B(e);case g.LINES:return P(e)}return e}function U(e,r){Math.abs(e.y)=0||r.x>=0||t.x>=0)return void 0;var n=e.y<0,o=r.y<0,i=t.y<0;U(e,n),U(r,o),U(t,i);var a=0;a+=n?1:0,a+=o?1:0,a+=i?1:0;var s=cr.indices;1===a?(s[1]=3,s[2]=4,s[5]=6,s[7]=6,s[8]=5,n?(G(e,r,ar,ur),G(e,t,sr,lr),s[0]=0,s[3]=1,s[4]=2,s[6]=1):o?(G(r,t,ar,ur),G(r,e,sr,lr),s[0]=1,s[3]=2,s[4]=0,s[6]=2):i&&(G(t,e,ar,ur),G(t,r,sr,lr),s[0]=2,s[3]=0,s[4]=1,s[6]=0)):2===a&&(s[2]=4,s[4]=4,s[5]=3,s[7]=5,s[8]=6,n?o?i||(G(t,e,ar,ur),G(t,r,sr,lr),s[0]=0,s[1]=1,s[3]=0,s[6]=2):(G(r,t,ar,ur),G(r,e,sr,lr),s[0]=2,s[1]=0,s[3]=2,s[6]=1):(G(e,r,ar,ur),G(e,t,sr,lr),s[0]=1,s[1]=2,s[3]=1,s[6]=0));var u=cr.positions;return u[0]=e,u[1]=r,u[2]=t,cr.length=3,(1===a||2===a)&&(u[3]=ar,u[4]=sr,u[5]=ur,u[6]=lr,cr.length=7),cr}function Y(r,n,a,s,u,l,c,f){if(t(u)||t(l)||t(c)||t(f)){var m,y,h,p,d,v,g,E,C,S,w,A,x,M,T,b,I,O,N=s.positions,R=N[0],z=N[1],L=N[2];t(u)&&(m=i.fromArray(u,3*r),y=i.fromArray(u,3*n),h=i.fromArray(u,3*a)),t(l)&&(p=i.fromArray(l,3*r),d=i.fromArray(l,3*n),v=i.fromArray(l,3*a)),t(c)&&(g=i.fromArray(c,3*r),E=i.fromArray(c,3*n),C=i.fromArray(c,3*a)),t(f)&&(S=o.fromArray(f,2*r),w=o.fromArray(f,2*n),A=o.fromArray(f,2*a));for(var F=3;FE;E+=3){var C=l[E],w=l[E+1],A=l[E+2],x=i.fromArray(n,3*C),M=i.fromArray(n,3*w),T=i.fromArray(n,3*A),b=q(x,M,T);if(t(b))if(c[3*C+1]=b.positions[0].y,c[3*w+1]=b.positions[1].y,c[3*A+1]=b.positions[2].y,b.length>3){for(var I=c.length/3,O=0;ON?p.push(l[E+N]):p.push(N-3+I)}for(var R=3;Rm;m+=2){var y=o[m],p=o[m+1],d=i.fromArray(n,3*y),g=i.fromArray(n,3*p);if(Math.abs(d.y)c;c+=3)u[l++]=i[c],u[l++]=i[c+1],u[l++]=i[c+2],u[l++]=i[c]+a[c]*o,u[l++]=i[c+1]+a[c+1]*o,u[l++]=i[c+2]+a[c+2]*o;var f,m=e.boundingSphere;return t(m)&&(f=new C(m.center,m.radius+o)),new S({attributes:{position:new w({componentDatatype:d.DOUBLE,componentsPerAttribute:3,values:u})},primitiveType:g.LINES,boundingSphere:f})},H.createAttributeLocations=function(e){var r,n=["position","positionHigh","positionLow","position3DHigh","position3DLow","position2DHigh","position2DLow","pickColor","normal","st","binormal","tangent"],o=e.attributes,i={},a=0,s=n.length;for(r=0;s>r;++r){var u=n[r];t(o[u])&&(i[u]=a++)}for(var l in o)o.hasOwnProperty(l)&&!t(i[l])&&(i[l]=a++);return i},H.reorderForPreVertexCache=function(e){var r=S.computeNumberOfVertices(e),n=e.indices;if(t(n)){for(var o=new Int32Array(r),i=0;r>i;i++)o[i]=-1;for(var a,s=n,u=s.length,l=v.createTypedArray(r,u),c=0,f=0,m=0;u>c;)a=o[s[c]],-1!==a?l[f]=a:(a=s[c],o[a]=m,l[f]=m,++m),++c,++f;e.indices=l;var y=e.attributes;for(var h in y)if(y.hasOwnProperty(h)&&t(y[h])&&t(y[h].values)){for(var p=y[h],g=p.values,E=0,C=p.componentsPerAttribute,w=d.createTypedArray(p.componentDatatype,m*C);r>E;){var A=o[E];if(-1!==A)for(i=0;C>i;i++)w[C*A+i]=g[C*E+i];++E}p.values=w}}return e},H.reorderForPostVertexCache=function(e,r){var n=e.indices;if(e.primitiveType===g.TRIANGLES&&t(n)){for(var o=n.length,i=0,a=0;o>a;a++)n[a]>i&&(i=n[a]);e.indices=E.tipsify({indices:n,maximumIndex:i,cacheSize:r})}return e},H.fitToUnsignedShortIndices=function(e){var r=[],n=S.computeNumberOfVertices(e);if(t(e.indices)&&n>f.SIXTY_FOUR_KILOBYTES){var o,i=[],a=[],s=0,u=b(e.attributes),l=e.indices,c=l.length;e.primitiveType===g.TRIANGLES?o=3:e.primitiveType===g.LINES?o=2:e.primitiveType===g.POINTS&&(o=1);for(var m=0;c>m;m+=o){for(var y=0;o>y;++y){var h=l[m+y],p=i[h];t(p)||(p=s++,i[h]=p,I(u,e.attributes,h)),a.push(p)}s+o>f.SIXTY_FOUR_KILOBYTES&&(r.push(new S({attributes:u,indices:a,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere})),i=[],a=[],s=0,u=b(e.attributes))}0!==a.length&&r.push(new S({attributes:u,indices:a,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere}))}else r.push(e);return r};var k=new i,K=new s;H.projectTo2D=function(e,r,o,a,s){var u=e.attributes[r];s=t(s)?s:new p;for(var l=s.ellipsoid,c=u.values,f=new Float64Array(c.length),m=0,y=0;yc;++c)u.encode(i[c],j),s[c]=j.high,l[c]=j.low;var f=o.componentsPerAttribute;return e.attributes[t]=new w({componentDatatype:d.FLOAT,componentsPerAttribute:f,values:s}),e.attributes[n]=new w({componentDatatype:d.FLOAT,componentsPerAttribute:f,values:l}),delete e.attributes[r],e};var Z=new i,Q=new y,X=new m;H.transformToWorldCoordinates=function(e){var r=e.modelMatrix;if(y.equals(r,y.IDENTITY))return e;var n=e.geometry.attributes;O(r,n.position),O(r,n.prevPosition),O(r,n.nextPosition),(t(n.normal)||t(n.binormal)||t(n.tangent))&&(y.inverse(r,Q),y.transpose(Q,Q),y.getRotation(Q,X),N(X,n.normal),N(X,n.binormal),N(X,n.tangent));var o=e.geometry.boundingSphere;return t(o)&&(e.geometry.boundingSphere=C.transform(o,r,o)),e.modelMatrix=y.clone(y.IDENTITY),e},H.combine=function(e){var r,n,o,a,s=e.length;e[0].modelMatrix;var u,l,c,f=t(e[0].geometry.indices),m=e[0].geometry.primitiveType,y=R(e);for(r in y)if(y.hasOwnProperty(r))for(u=y[r].values,a=0,n=0;s>n;++n)for(l=e[n].geometry.attributes[r].values,c=l.length,o=0;c>o;++o)u[a++]=l[o];var h;if(f){var p=0;for(n=0;s>n;++n)p+=e[n].geometry.indices.length;var d=S.computeNumberOfVertices(new S({attributes:y,primitiveType:g.POINTS})),E=v.createTypedArray(d,p),w=0,A=0;for(n=0;s>n;++n){var x=e[n].geometry.indices,M=x.length;for(a=0;M>a;++a)E[w++]=A+x[a];A+=S.computeNumberOfVertices(e[n].geometry)}h=E}var T,b=new i,I=0;for(n=0;s>n;++n){if(T=e[n].geometry.boundingSphere,!t(T)){b=void 0;break}i.add(T.center,b,b)}if(t(b))for(i.divideByScalar(b,s,b),n=0;s>n;++n){T=e[n].geometry.boundingSphere;var O=i.magnitude(i.subtract(T.center,b))+T.radius;O>I&&(I=O)}return new S({attributes:y,indices:h,primitiveType:m,boundingSphere:t(b)?new C(b,I):void 0})};var J=new i,$=new i,er=new i,rr=new i;H.computeNormal=function(e){for(var r=e.indices,t=e.attributes,n=t.position.values,o=t.position.values.length/3,a=r.length,s=new Array(o),u=new Array(a/3),l=new Array(a),c=0;o>c;c++)s[c]={indexOffset:0,count:0,currentCount:0};var f=0;for(c=0;a>c;c+=3){var m=r[c],y=r[c+1],h=r[c+2],p=3*m,v=3*y,g=3*h;$.x=n[p],$.y=n[p+1],$.z=n[p+2],er.x=n[v],er.y=n[v+1],er.z=n[v+2],rr.x=n[g],rr.y=n[g+1],rr.z=n[g+2],s[m].count++,s[y].count++,s[h].count++,i.subtract(er,$,er),i.subtract(rr,$,rr),u[f]=i.cross(er,rr),f++}var E=0;for(c=0;o>c;c++)s[c].indexOffset+=E,E+=s[c].count;f=0;var C;for(c=0;a>c;c+=3){C=s[r[c]];var S=C.indexOffset+C.currentCount;l[S]=f,C.currentCount++,C=s[r[c+1]],S=C.indexOffset+C.currentCount,l[S]=f,C.currentCount++,C=s[r[c+2]],S=C.indexOffset+C.currentCount,l[S]=f,C.currentCount++,f++}var A=new Float32Array(3*o);for(c=0;o>c;c++){var x=3*c;if(C=s[c],C.count>0){for(i.clone(i.ZERO,J),f=0;fl;l+=3){var y=r[l],h=r[l+1],p=r[l+2];c=3*y,f=3*h,m=3*p;var v=2*y,g=2*h,E=2*p,C=t[c],S=t[c+1],A=t[c+2],x=o[v],M=o[v+1],T=o[g+1]-M,b=o[E+1]-M,I=1/((o[g]-x)*b-(o[E]-x)*T),O=(b*(t[f]-C)-T*(t[m]-C))*I,N=(b*(t[f+1]-S)-T*(t[m+1]-S))*I,R=(b*(t[f+2]-A)-T*(t[m+2]-A))*I;u[c]+=O,u[c+1]+=N,u[c+2]+=R,u[f]+=O,u[f+1]+=N,u[f+2]+=R,u[m]+=O,u[m+1]+=N,u[m+2]+=R}var z=new Float32Array(3*a),L=new Float32Array(3*a);for(l=0;a>l;l++){c=3*l,f=c+1,m=c+2;var F=i.fromArray(n,c,tr),P=i.fromArray(u,c,or),D=i.dot(F,P);i.multiplyByScalar(F,D,nr),i.normalize(i.subtract(P,nr,P),P),L[c]=P.x,L[f]=P.y,L[m]=P.z,i.normalize(i.cross(F,P,P),P),z[c]=P.x,z[f]=P.y,z[m]=P.z}return e.attributes.tangent=new w({componentDatatype:d.FLOAT,componentsPerAttribute:3,values:L}),e.attributes.binormal=new w({componentDatatype:d.FLOAT,componentsPerAttribute:3,values:z}),e};var ir=new i,ar=new i,sr=new i,ur=new i,lr=new i,cr={positions:new Array(7),indices:new Array(9)};return H.wrapLongitude=function(e){var r=e.boundingSphere;if(t(r)){var n=r.center.x-r.radius;if(n>0||C.intersect(r,a.UNIT_Y)!==l.INTERSECTING)return e}return _(e),e.primitiveType===g.TRIANGLES?W(e):e.primitiveType===g.LINES&&V(e),e},H}),define("Scene/PrimitivePipeline",["../Core/defined","../Core/defaultValue","../Core/Color","../Core/ComponentDatatype","../Core/DeveloperError","../Core/FeatureDetection","../Core/Geometry","../Core/GeometryAttribute","../Core/GeometryPipeline","../Core/Matrix4"],function(e,r,t,n,o,i,a,s,u,l){"use strict";function c(e,r,t){var n,o=!t,i=e.length;if(!o&&i>1){var a=e[0].modelMatrix;for(n=1;i>n;++n)if(!l.equals(a,e[n].modelMatrix)){o=!0;break}}if(o)for(n=0;i>n;++n)u.transformToWorldCoordinates(e[n]);else l.clone(e[0].modelMatrix,r)}function f(e,r){for(var o=e.length,i=0;o>i;++i){var a=e[i],u=a.geometry,l=u.attributes,c=l.position,f=4*(c.values.length/c.componentsPerAttribute);l.pickColor=new s({componentDatatype:n.UNSIGNED_BYTE,componentsPerAttribute:4,normalize:!0,values:new Uint8Array(f)});for(var m=r[i],y=t.floatToByte(m.red),h=t.floatToByte(m.green),p=t.floatToByte(m.blue),d=t.floatToByte(m.alpha),v=l.pickColor.values,g=0;f>g;g+=4)v[g]=y,v[g+1]=h,v[g+2]=p,v[g+3]=d}}function m(r){var t,n=r.length,o=[],i=r[0].attributes;for(t in i)if(i.hasOwnProperty(t)){for(var a=i[t],s=!0,u=1;n>u;++u){var l=r[u].attributes[t];if(!e(l)||a.componentDatatype.value!==l.componentDatatype.value||a.componentsPerAttribute!==l.componentsPerAttribute||a.normalize!==l.normalize){s=!1;break}}s&&o.push(t)}return o}function y(e,r){for(var t=e.length,o=0;t>o;++o)for(var i=e[o],u=i.attributes,l=i.geometry,c=a.computeNumberOfVertices(l),f=r.length,m=0;f>m;++m){for(var y=r[m],h=u[y],p=h.componentDatatype,d=h.value,v=d.length,g=n.createTypedArray(p,c*v),E=0;c>E;++E)g.set(d,E*v);l.attributes[y]=new s({componentDatatype:p,componentsPerAttribute:v,normalize:h.normalize,values:g})}}function h(e){var r,t=e.instances,o=e.pickIds,i=e.projection,a=e.elementIndexUintSupported,s=e.allow3DOnly,l=e.allowPicking,h=e.vertexCacheOptimize,p=e.modelMatrix,d=t.length;if(t[0].geometry.primitiveType,c(t,p,s),!s)for(r=0;d>r;++r)u.wrapLongitude(t[r].geometry);l&&f(t,o);var v=m(t);if(y(t,v),h)for(r=0;d>r;++r)u.reorderForPostVertexCache(t[r].geometry),u.reorderForPreVertexCache(t[r].geometry);var g,E=u.combine(t),C=E.attributes;if(s)for(g in C)C.hasOwnProperty(g)&&C[g].componentDatatype.value===n.DOUBLE.value&&u.encodeAttribute(E,g,g+"3DHigh",g+"3DLow");else for(g in C)if(C.hasOwnProperty(g)&&C[g].componentDatatype.value===n.DOUBLE.value){var S=g+"3D",w=g+"2D";u.projectTo2D(E,g,S,w,i),u.encodeAttribute(E,S,S+"High",S+"Low"),u.encodeAttribute(E,w,w+"High",w+"Low")}return a?[E]:u.fitToUnsignedShortIndices(E)}function p(e,r,t){for(var o=[],i=e.attributes,a=t.length,s=0;a>s;++s){var u=t[s],l=i[u],c=l.componentDatatype;c.value===n.DOUBLE.value&&(c=n.FLOAT);var f=n.createTypedArray(c,l.values);o.push({index:r[u],componentDatatype:c,componentsPerAttribute:l.componentsPerAttribute,normalize:l.normalize,values:f}),delete i[u]}return o}function d(t,n,o){for(var i=[],s=m(t),u=t.length,l={},c={},f=0;u>f;++f)for(var y=t[f],h=a.computeNumberOfVertices(y.geometry),p=s.length,d=0;p>d;++d)for(var v=s[d],g=o[v],E=h;E>0;){for(var C,S=r(c[v],0),w=n[S],A=w.length,x=0;A>x&&(C=w[x],C.index!==g);++x);e(i[f])||(i[f]={}),e(i[f][v])||(i[f][v]={dirty:!1,value:y.attributes[v].value,indices:[]});var M,T=C.values.length/C.componentsPerAttribute,b=r(l[v],0);T>b+E?(M=E,i[f][v].indices.push({attribute:C,offset:b,count:M}),l[v]=b+E):(M=T-b,i[f][v].indices.push({attribute:C,offset:b,count:M}),l[v]=0,c[v]=S+1),E-=M}return i}function v(r){return e(r.constructor.name)?{type:r.constructor.name,buffer:r.buffer}:r}function g(r){return e(r.type)?new C[r.type](r.buffer):r}if(!i.supportsTypedArrays())return{};var E={};E.combineGeometry=function(e){for(var r={instances:e.instances,pickIds:e.pickIds,ellipsoid:e.ellipsoid,projection:e.projection,elementIndexUintSupported:e.elementIndexUintSupported,allow3DOnly:e.allow3DOnly,allowPicking:e.allowPicking,vertexCacheOptimize:e.vertexCacheOptimize,modelMatrix:l.clone(e.modelMatrix)},t=h(r),n=u.createAttributeLocations(t[0]),o=r.instances,i=m(o),a=[],s=t.length,c=0;s>c;++c){var f=t[c]; +a.push(p(f,n,i))}var y=d(o,a,n);return{geometries:t,modelMatrix:r.modelMatrix,attributeLocations:n,vaAttributes:a,vaAttributeLocations:y}};var C={Int8Array:Int8Array,Uint8Array:Uint8Array,Int16Array:Int16Array,Uint16Array:Uint16Array,Int32Array:Int32Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array};return E.transferGeometry=function(r,t){var n,o=r.attributes;for(var a in o)o.hasOwnProperty(a)&&e(o[a])&&e(o[a].values)&&(n=o[a].values,i.supportsTransferringArrayBuffers()&&t.indexOf(o[a].values.buffer)<0&&t.push(n.buffer),e(n.type)||(o[a].values=v(n)));e(r.indices)&&(n=r.indices,i.supportsTransferringArrayBuffers()&&t.push(n.buffer),e(n.type)||(r.indices=v(r.indices)))},E.transferGeometries=function(e,r){for(var t=e.length,n=0;t>n;++n)E.transferGeometry(e[n],r)},E.transferPerInstanceAttributes=function(e,r){for(var t=e.length,n=0;t>n;++n)for(var o=e[n],a=o.length,s=0;a>s;++s){var u=o[s].values;i.supportsTransferringArrayBuffers()&&r.push(u.buffer),o[s].values=v(u)}},E.transferInstances=function(e,r){for(var t=e.length,n=0;t>n;++n){var o=e[n];E.transferGeometry(o.geometry,r)}},E.receiveGeometry=function(r){var t=r.attributes;for(var n in t)t.hasOwnProperty(n)&&e(t[n])&&e(t[n].values)&&(t[n].values=g(t[n].values));e(r.indices)&&(r.indices=g(r.indices))},E.receiveGeometries=function(e){for(var r=e.length,t=0;r>t;++t)E.receiveGeometry(e[t])},E.receivePerInstanceAttributes=function(e){for(var r=e.length,t=0;r>t;++t)for(var n=e[t],o=n.length,i=0;o>i;++i)n[i].values=g(n[i].values)},E.receiveInstances=function(e){for(var r=e.length,t=0;r>t;++t){var n=e[t];E.receiveGeometry(n.geometry)}},E}),define("Workers/createTaskProcessorWorker",["../Core/defaultValue","../Core/defined"],function(e,r){"use strict";var t=function(t){var n,o=[],i={id:void 0,result:void 0,error:void 0};return function(a){var s=a.data;o.length=0,i.id=s.id,i.error=void 0,i.result=void 0;try{i.result=t(s.parameters,o)}catch(u){i.error=u}r(n)||(n=e(self.webkitPostMessage,self.postMessage));try{n(i,o)}catch(u){i.result=void 0,i.error="postMessage failed with error: "+u+"\n with responseMessage: "+JSON.stringify(i),n(i)}}};return t}),define("Workers/createEllipsoidGeometry",["../Core/EllipsoidGeometry","../Scene/PrimitivePipeline","./createTaskProcessorWorker"],function(e,r,t){"use strict";function n(t,n){var o=t.geometry,i=e.createGeometry(o);return r.transferGeometry(i,n),{geometry:i,index:t.index}}return t(n)})}(); \ No newline at end of file diff --git a/Cesium/Workers/createEllipsoidOutlineGeometry.js b/Cesium/Workers/createEllipsoidOutlineGeometry.js new file mode 100644 index 0000000..3959777 --- /dev/null +++ b/Cesium/Workers/createEllipsoidOutlineGeometry.js @@ -0,0 +1,61 @@ +/** + * Cesium - https://github.com/AnalyticalGraphicsInc/cesium + * + * Copyright 2011-2014 Cesium Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Columbus View (Pat. Pend.) + * + * Portions licensed separately. + * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details. + */ +/** +@license +mersenne-twister.js - https://gist.github.com/banksean/300494 + + Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura, + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. The names of its contributors may not be used to endorse or promote + products derived from this software without specific prior written + permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +!function(){define("Core/defined",[],function(){"use strict";var r=function(r){return void 0!==r};return r}),define("Core/freezeObject",["./defined"],function(r){"use strict";var e=Object.freeze;return r(e)||(e=function(r){return r}),e}),define("Core/defaultValue",["./freezeObject"],function(r){"use strict";var e=function(r,e){return void 0!==r?r:e};return e.EMPTY_OBJECT=r({}),e}),define("Core/DeveloperError",["./defined"],function(r){"use strict";var e=function(r){this.name="DeveloperError",this.message=r;var e;try{throw new Error}catch(t){e=t.stack}this.stack=e};return e.prototype.toString=function(){var e=this.name+": "+this.message;return r(this.stack)&&(e+="\n"+this.stack.toString()),e},e.throwInstantiationError=function(){throw new e("This function defines an interface and should not be called directly.")},e}),define("Core/Cartesian3",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(r,e,t,n){"use strict";var o=function(e,t,n){this.x=r(e,0),this.y=r(t,0),this.z=r(n,0)};o.fromSpherical=function(t,n){e(n)||(n=new o);var i=t.clock,a=t.cone,s=r(t.magnitude,1),u=s*Math.sin(a);return n.x=u*Math.cos(i),n.y=u*Math.sin(i),n.z=s*Math.cos(a),n},o.fromElements=function(r,t,n,i){return e(i)?(i.x=r,i.y=t,i.z=n,i):new o(r,t,n)},o.clone=function(r,t){return e(r)?e(t)?(t.x=r.x,t.y=r.y,t.z=r.z,t):new o(r.x,r.y,r.z):void 0},o.fromCartesian4=o.clone,o.packedLength=3,o.pack=function(e,t,n){n=r(n,0),t[n++]=e.x,t[n++]=e.y,t[n]=e.z},o.unpack=function(t,n,i){return n=r(n,0),e(i)||(i=new o),i.x=t[n++],i.y=t[n++],i.z=t[n],i},o.fromArray=o.unpack,o.getMaximumComponent=function(r){return Math.max(r.x,r.y,r.z)},o.getMinimumComponent=function(r){return Math.min(r.x,r.y,r.z)},o.getMinimumByComponent=function(r,t,n){return e(n)||(n=new o),n.x=Math.min(r.x,t.x),n.y=Math.min(r.y,t.y),n.z=Math.min(r.z,t.z),n},o.getMaximumByComponent=function(r,t,n){return e(n)||(n=new o),n.x=Math.max(r.x,t.x),n.y=Math.max(r.y,t.y),n.z=Math.max(r.z,t.z),n},o.magnitudeSquared=function(r){return r.x*r.x+r.y*r.y+r.z*r.z},o.magnitude=function(r){return Math.sqrt(o.magnitudeSquared(r))};var i=new o;o.distance=function(r,e){return o.subtract(r,e,i),o.magnitude(i)},o.normalize=function(r,t){var n=o.magnitude(r);return e(t)?(t.x=r.x/n,t.y=r.y/n,t.z=r.z/n,t):new o(r.x/n,r.y/n,r.z/n)},o.dot=function(r,e){return r.x*e.x+r.y*e.y+r.z*e.z},o.multiplyComponents=function(r,t,n){return e(n)?(n.x=r.x*t.x,n.y=r.y*t.y,n.z=r.z*t.z,n):new o(r.x*t.x,r.y*t.y,r.z*t.z)},o.add=function(r,t,n){return e(n)?(n.x=r.x+t.x,n.y=r.y+t.y,n.z=r.z+t.z,n):new o(r.x+t.x,r.y+t.y,r.z+t.z)},o.subtract=function(r,t,n){return e(n)?(n.x=r.x-t.x,n.y=r.y-t.y,n.z=r.z-t.z,n):new o(r.x-t.x,r.y-t.y,r.z-t.z)},o.multiplyByScalar=function(r,t,n){return e(n)?(n.x=r.x*t,n.y=r.y*t,n.z=r.z*t,n):new o(r.x*t,r.y*t,r.z*t)},o.divideByScalar=function(r,t,n){return e(n)?(n.x=r.x/t,n.y=r.y/t,n.z=r.z/t,n):new o(r.x/t,r.y/t,r.z/t)},o.negate=function(r,t){return e(t)?(t.x=-r.x,t.y=-r.y,t.z=-r.z,t):new o(-r.x,-r.y,-r.z)},o.abs=function(r,t){return e(t)?(t.x=Math.abs(r.x),t.y=Math.abs(r.y),t.z=Math.abs(r.z),t):new o(Math.abs(r.x),Math.abs(r.y),Math.abs(r.z))};var a=new o;o.lerp=function(r,e,t,n){return o.multiplyByScalar(e,t,a),n=o.multiplyByScalar(r,1-t,n),o.add(a,n,n)};var s=new o,u=new o;o.angleBetween=function(r,e){o.normalize(r,s),o.normalize(e,u);var t=o.dot(s,u),n=o.magnitude(o.cross(s,u,s));return Math.atan2(n,t)};var l=new o;return o.mostOrthogonalAxis=function(r,e){var t=o.normalize(r,l);return o.abs(t,t),e=t.x<=t.y?t.x<=t.z?o.clone(o.UNIT_X,e):o.clone(o.UNIT_Z,e):t.y<=t.z?o.clone(o.UNIT_Y,e):o.clone(o.UNIT_Z,e)},o.equals=function(r,t){return r===t||e(r)&&e(t)&&r.x===t.x&&r.y===t.y&&r.z===t.z},o.equalsEpsilon=function(r,t,n){return r===t||e(r)&&e(t)&&Math.abs(r.x-t.x)<=n&&Math.abs(r.y-t.y)<=n&&Math.abs(r.z-t.z)<=n},o.cross=function(r,t,n){var i=r.x,a=r.y,s=r.z,u=t.x,l=t.y,c=t.z,f=a*c-s*l,m=s*u-i*c,y=i*l-a*u;return e(n)?(n.x=f,n.y=m,n.z=y,n):new o(f,m,y)},o.ZERO=n(new o(0,0,0)),o.UNIT_X=n(new o(1,0,0)),o.UNIT_Y=n(new o(0,1,0)),o.UNIT_Z=n(new o(0,0,1)),o.prototype.clone=function(r){return o.clone(this,r)},o.prototype.equals=function(r){return o.equals(this,r)},o.prototype.equalsEpsilon=function(r,e){return o.equalsEpsilon(this,r,e)},o.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+")"},o}),define("ThirdParty/mersenne-twister",[],function(){var r=function(r){void 0==r&&(r=(new Date).getTime()),this.N=624,this.M=397,this.MATRIX_A=2567483615,this.UPPER_MASK=2147483648,this.LOWER_MASK=2147483647,this.mt=new Array(this.N),this.mti=this.N+1,this.init_genrand(r)};return r.prototype.init_genrand=function(r){for(this.mt[0]=r>>>0,this.mti=1;this.mti>>30;this.mt[this.mti]=(1812433253*((4294901760&r)>>>16)<<16)+1812433253*(65535&r)+this.mti,this.mt[this.mti]>>>=0}},r.prototype.genrand_int32=function(){var r,e=new Array(0,this.MATRIX_A);if(this.mti>=this.N){var t;for(this.mti==this.N+1&&this.init_genrand(5489),t=0;t>>1^e[1&r];for(;t>>1^e[1&r];r=this.mt[this.N-1]&this.UPPER_MASK|this.mt[0]&this.LOWER_MASK,this.mt[this.N-1]=this.mt[this.M-1]^r>>>1^e[1&r],this.mti=0}return r=this.mt[this.mti++],r^=r>>>11,r^=2636928640&r<<7,r^=4022730752&r<<15,r^=r>>>18,r>>>0},r.prototype.random=function(){return this.genrand_int32()*(1/4294967296)},r}),define("Core/Math",["./defaultValue","./defined","./DeveloperError","../ThirdParty/mersenne-twister"],function(r,e,t,n){"use strict";var o={};o.EPSILON1=.1,o.EPSILON2=.01,o.EPSILON3=.001,o.EPSILON4=1e-4,o.EPSILON5=1e-5,o.EPSILON6=1e-6,o.EPSILON7=1e-7,o.EPSILON8=1e-8,o.EPSILON9=1e-9,o.EPSILON10=1e-10,o.EPSILON11=1e-11,o.EPSILON12=1e-12,o.EPSILON13=1e-13,o.EPSILON14=1e-14,o.EPSILON15=1e-15,o.EPSILON16=1e-16,o.EPSILON17=1e-17,o.EPSILON18=1e-18,o.EPSILON19=1e-19,o.EPSILON20=1e-20,o.GRAVITATIONALPARAMETER=3986004418e5,o.SOLAR_RADIUS=6955e5,o.LUNAR_RADIUS=1737400,o.SIXTY_FOUR_KILOBYTES=65536,o.sign=function(r){return r>0?1:0>r?-1:0},o.sinh=function(r){var e=Math.pow(Math.E,r),t=Math.pow(Math.E,-1*r);return.5*(e-t)},o.cosh=function(r){var e=Math.pow(Math.E,r),t=Math.pow(Math.E,-1*r);return.5*(e+t)},o.lerp=function(r,e,t){return(1-t)*r+t*e},o.PI=Math.PI,o.ONE_OVER_PI=1/Math.PI,o.PI_OVER_TWO=.5*Math.PI,o.PI_OVER_THREE=Math.PI/3,o.PI_OVER_FOUR=Math.PI/4,o.PI_OVER_SIX=Math.PI/6,o.THREE_PI_OVER_TWO=.5*3*Math.PI,o.TWO_PI=2*Math.PI,o.ONE_OVER_TWO_PI=1/(2*Math.PI),o.RADIANS_PER_DEGREE=Math.PI/180,o.DEGREES_PER_RADIAN=180/Math.PI,o.RADIANS_PER_ARCSECOND=o.RADIANS_PER_DEGREE/3600,o.toRadians=function(r){return r*o.RADIANS_PER_DEGREE},o.toDegrees=function(r){return r*o.DEGREES_PER_RADIAN},o.convertLongitudeRange=function(r){var e=o.TWO_PI,t=r-Math.floor(r/e)*e;return t<-Math.PI?t+e:t>=Math.PI?t-e:t},o.negativePiToPi=function(r){for(var e=o.EPSILON10,t=o.PI,n=o.TWO_PI;-(t+e)>r;)r+=n;if(-t>r)return-t;for(;r>t+e;)r-=n;return r>t?t:r},o.zeroToTwoPi=function(r){var e=r%o.TWO_PI;return 0>e?(e+o.TWO_PI)%o.TWO_PI:e},o.equalsEpsilon=function(e,t,n){return n=r(n,0),Math.abs(e-t)<=n};var i=[1];o.factorial=function(r){var e=i.length;if(r>=e)for(var t=i[e-1],n=e;r>=n;n++)i.push(t*n);return i[r]},o.incrementWrap=function(e,t,n){return n=r(n,0),++e,e>t&&(e=n),e},o.isPowerOfTwo=function(r){return 0!==r&&0===(r&r-1)},o.nextPowerOfTwo=function(r){return--r,r|=r>>1,r|=r>>2,r|=r>>4,r|=r>>8,r|=r>>16,++r,r},o.clamp=function(r,e,t){return e>r?e:r>t?t:r};var a=new n;return o.setRandomNumberSeed=function(r){a=new n(r)},o.nextRandomNumber=function(){return a.random()},o}),define("Core/defineProperties",["./defined"],function(r){"use strict";var e=function(){try{return"x"in Object.defineProperty({},"x",{})}catch(r){return!1}}(),t=Object.defineProperties;return e&&r(t)||(t=function(r){return r}),t}),define("Core/Cartographic",["./defaultValue","./defined","./DeveloperError","./freezeObject","./Math"],function(r,e,t,n,o){"use strict";var i=function(e,t,n){this.longitude=r(e,0),this.latitude=r(t,0),this.height=r(n,0)};return i.fromDegrees=function(t,n,a,s){return t=o.toRadians(r(t,0)),n=o.toRadians(r(n,0)),a=r(a,0),e(s)?(s.longitude=t,s.latitude=n,s.height=a,s):new i(t,n,a)},i.clone=function(r,t){return e(r)?e(t)?(t.longitude=r.longitude,t.latitude=r.latitude,t.height=r.height,t):new i(r.longitude,r.latitude,r.height):void 0},i.equals=function(r,t){return r===t||e(r)&&e(t)&&r.longitude===t.longitude&&r.latitude===t.latitude&&r.height===t.height},i.equalsEpsilon=function(r,t,n){return r===t||e(r)&&e(t)&&Math.abs(r.longitude-t.longitude)<=n&&Math.abs(r.latitude-t.latitude)<=n&&Math.abs(r.height-t.height)<=n},i.toString=function(r){return"("+r.longitude+", "+r.latitude+", "+r.height+")"},i.ZERO=n(new i(0,0,0)),i.prototype.clone=function(r){return i.clone(this,r)},i.prototype.equals=function(r){return i.equals(this,r)},i.prototype.equalsEpsilon=function(r,e){return i.equalsEpsilon(this,r,e)},i.prototype.toString=function(){return i.toString(this)},i}),define("Core/Ellipsoid",["./freezeObject","./defaultValue","./defined","./defineProperties","./DeveloperError","./Math","./Cartesian3","./Cartographic"],function(r,e,t,n,o,i,a,s){"use strict";var u=function(r,t,n){r=e(r,0),t=e(t,0),n=e(n,0),this._radii=new a(r,t,n),this._radiiSquared=new a(r*r,t*t,n*n),this._radiiToTheFourth=new a(r*r*r*r,t*t*t*t,n*n*n*n),this._oneOverRadii=new a(0===r?0:1/r,0===t?0:1/t,0===n?0:1/n),this._oneOverRadiiSquared=new a(0===r?0:1/(r*r),0===t?0:1/(t*t),0===n?0:1/(n*n)),this._minimumRadius=Math.min(r,t,n),this._maximumRadius=Math.max(r,t,n),this._centerToleranceSquared=i.EPSILON1};n(u.prototype,{radii:{get:function(){return this._radii}},radiiSquared:{get:function(){return this._radiiSquared}},radiiToTheFourth:{get:function(){return this._radiiToTheFourth}},oneOverRadii:{get:function(){return this._oneOverRadii}},oneOverRadiiSquared:{get:function(){return this._oneOverRadiiSquared}},minimumRadius:{get:function(){return this._minimumRadius}},maximumRadius:{get:function(){return this._maximumRadius}}}),u.clone=function(r,e){if(!t(r))return void 0;var n=r._radii;return t(e)?(a.clone(n,e._radii),a.clone(r._radiiSquared,e._radiiSquared),a.clone(r._radiiToTheFourth,e._radiiToTheFourth),a.clone(r._oneOverRadii,e._oneOverRadii),a.clone(r._oneOverRadiiSquared,e._oneOverRadiiSquared),e._minimumRadius=r._minimumRadius,e._maximumRadius=r._maximumRadius,e._centerToleranceSquared=r._centerToleranceSquared,e):new u(n.x,n.y,n.z)},u.fromCartesian3=function(r){return t(r)?new u(r.x,r.y,r.z):new u},u.WGS84=r(new u(6378137,6378137,6356752.314245179)),u.UNIT_SPHERE=r(new u(1,1,1)),u.MOON=r(new u(i.LUNAR_RADIUS,i.LUNAR_RADIUS,i.LUNAR_RADIUS)),u.prototype.clone=function(r){return u.clone(this,r)},u.prototype.geocentricSurfaceNormal=a.normalize,u.prototype.geodeticSurfaceNormalCartographic=function(r,e){var n=r.longitude,o=r.latitude,i=Math.cos(o),s=i*Math.cos(n),u=i*Math.sin(n),l=Math.sin(o);return t(e)||(e=new a),e.x=s,e.y=u,e.z=l,a.normalize(e,e)},u.prototype.geodeticSurfaceNormal=function(r,e){return e=a.multiplyComponents(r,this._oneOverRadiiSquared,e),a.normalize(e,e)};var l=new a,c=new a;u.prototype.cartographicToCartesian=function(r,e){var t=l,n=c;this.geodeticSurfaceNormalCartographic(r,t),a.multiplyComponents(this._radiiSquared,t,n);var o=Math.sqrt(a.dot(t,n));return a.divideByScalar(n,o,n),a.multiplyByScalar(t,r.height,t),a.add(n,t,e)},u.prototype.cartographicArrayToCartesianArray=function(r,e){var n=r.length;t(e)?e.length=n:e=new Array(n);for(var o=0;n>o;o++)e[o]=this.cartographicToCartesian(r[o],e[o]);return e};var f=new a,m=new a,y=new a;u.prototype.cartesianToCartographic=function(r,e){var n=this.scaleToGeodeticSurface(r,m);if(!t(n))return void 0;var o=this.geodeticSurfaceNormal(n,f),u=a.subtract(r,n,y),l=Math.atan2(o.y,o.x),c=Math.asin(o.z),h=i.sign(a.dot(u,r))*a.magnitude(u);return t(e)?(e.longitude=l,e.latitude=c,e.height=h,e):new s(l,c,h)},u.prototype.cartesianArrayToCartographicArray=function(r,e){var n=r.length;t(e)?e.length=n:e=new Array(n);for(var o=0;n>o;++o)e[o]=this.cartesianToCartographic(r[o],e[o]);return e};var h=new a,p=new a;return u.prototype.scaleToGeodeticSurface=function(r,e){var n=r.x,o=r.y,s=r.z,u=this._oneOverRadii,l=u.x,c=u.y,f=u.z,m=n*n*l*l,y=o*o*c*c,d=s*s*f*f,v=m+y+d,g=Math.sqrt(1/v),E=a.multiplyByScalar(r,g,h);if(vi.EPSILON12);return t(e)?(e.x=n*T,e.y=o*I,e.z=s*O,e):new a(n*T,o*I,s*O)},u.prototype.scaleToGeocentricSurface=function(r,e){var t=r.x,n=r.y,o=r.z,i=this._oneOverRadiiSquared,s=1/Math.sqrt(t*t*i.x+n*n*i.y+o*o*i.z);return a.multiplyByScalar(r,s,e)},u.prototype.transformPositionToScaledSpace=function(r,e){return a.multiplyComponents(r,this._oneOverRadii,e)},u.prototype.transformPositionFromScaledSpace=function(r,e){return a.multiplyComponents(r,this._radii,e)},u.prototype.equals=function(r){return this===r||t(r)&&a.equals(this._radii,r._radii)},u.prototype.toString=function(){return this._radii.toString()},u}),define("Core/Fullscreen",["./defined"],function(r){"use strict";var e,t={requestFullscreen:void 0,exitFullscreen:void 0,fullscreenEnabled:void 0,fullscreenElement:void 0,fullscreenchange:void 0,fullscreenerror:void 0},n={};return n.supportsFullscreen=function(){if(r(e))return e;e=!1;var n=document.body;if("function"==typeof n.requestFullscreen)return t.requestFullscreen="requestFullscreen",t.exitFullscreen="exitFullscreen",t.fullscreenEnabled="fullscreenEnabled",t.fullscreenElement="fullscreenElement",t.fullscreenchange="fullscreenchange",t.fullscreenerror="fullscreenerror",e=!0;for(var o,i=["webkit","moz","o","ms","khtml"],a=0,s=i.length;s>a;++a){var u=i[a];o=u+"RequestFullscreen","function"==typeof n[o]?(t.requestFullscreen=o,e=!0):(o=u+"RequestFullScreen","function"==typeof n[o]&&(t.requestFullscreen=o,e=!0)),o=u+"ExitFullscreen","function"==typeof document[o]?t.exitFullscreen=o:(o=u+"CancelFullScreen","function"==typeof document[o]&&(t.exitFullscreen=o)),o=u+"FullscreenEnabled",r(document[o])?t.fullscreenEnabled=o:(o=u+"FullScreenEnabled",r(document[o])&&(t.fullscreenEnabled=o)),o=u+"FullscreenElement",r(document[o])?t.fullscreenElement=o:(o=u+"FullScreenElement",r(document[o])&&(t.fullscreenElement=o)),o=u+"fullscreenchange",r(document["on"+o])&&("ms"===u&&(o="MSFullscreenChange"),t.fullscreenchange=o),o=u+"fullscreenerror",r(document["on"+o])&&("ms"===u&&(o="MSFullscreenError"),t.fullscreenerror=o)}return e},n.requestFullscreen=function(r){n.supportsFullscreen()&&r[t.requestFullscreen]()},n.exitFullscreen=function(){n.supportsFullscreen()&&document[t.exitFullscreen]()},n.isFullscreenEnabled=function(){return n.supportsFullscreen()?document[t.fullscreenEnabled]:void 0},n.getFullscreenElement=function(){return n.supportsFullscreen()?document[t.fullscreenElement]:void 0},n.isFullscreen=function(){return n.supportsFullscreen()?null!==n.getFullscreenElement():void 0},n.getFullscreenChangeEventName=function(){return n.supportsFullscreen()?t.fullscreenchange:void 0},n.getFullscreenErrorEventName=function(){return n.supportsFullscreen()?t.fullscreenerror:void 0},n}),define("Core/FeatureDetection",["./defined","./Fullscreen"],function(r,e){"use strict";function t(r){for(var e=r.split("."),t=0,n=e.length;n>t;++t)e[t]=parseInt(e[t],10);return e}function n(){if(!r(f)){var e=/ Chrome\/([\.0-9]+)/.exec(navigator.userAgent);null===e?f=!1:(f=!0,m=t(e[1]))}return f}function o(){return n()&&m}function i(){if(!r(y))if(n()||!/ Safari\/[\.0-9]+/.test(navigator.userAgent))y=!1;else{var e=/ Version\/([\.0-9]+)/.exec(navigator.userAgent);null===e?y=!1:(y=!0,h=t(e[1]))}return y}function a(){return i()&&h}function s(){if(!r(p)){var e=/ AppleWebKit\/([\.0-9]+)(\+?)/.exec(navigator.userAgent);null===e?p=!1:(p=!0,d=t(e[1]),d.isNightly=!!e[2])}return p}function u(){return s()&&d}function l(){if(!r(v)){var e;"Microsoft Internet Explorer"===navigator.appName?(e=/MSIE ([0-9]{1,}[\.0-9]{0,})/.exec(navigator.userAgent),null!==e&&(v=!0,g=t(e[1]))):"Netscape"===navigator.appName?(e=/Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/.exec(navigator.userAgent),null!==e&&(v=!0,g=t(e[1]))):v=!1}return v}function c(){return l()&&g}var f,m,y,h,p,d,v,g,E={isChrome:n,chromeVersion:o,isSafari:i,safariVersion:a,isWebkit:s,webkitVersion:u,isInternetExplorer:l,internetExplorerVersion:c};E.supportsFullscreen=function(){return e.supportsFullscreen()},E.supportsTypedArrays=function(){return"undefined"!=typeof ArrayBuffer};var C;return E.supportsTransferringArrayBuffers=function(){if(!r(C)){if(!E.supportsTypedArrays())return C=!1,void 0;var e=new ArrayBuffer(1);try{postMessage({value:e},[e]),C=!0}catch(t){C=!1}}return C},E}),define("Core/Enumeration",["./defined"],function(r){"use strict";var e=function(e,t,n){if(this.value=e,this.name=t,r(n))for(var o in n)n.hasOwnProperty(o)&&(this[o]=n[o])};return e.prototype.valueOf=function(){return this.value},e.prototype.toString=function(){return this.name},e}),define("Core/ComponentDatatype",["./defaultValue","./defined","./DeveloperError","./FeatureDetection","./Enumeration"],function(r,e,t,n,o){"use strict";if(!n.supportsTypedArrays())return{};var i={BYTE:new o(5120,"BYTE",{sizeInBytes:Int8Array.BYTES_PER_ELEMENT}),UNSIGNED_BYTE:new o(5121,"UNSIGNED_BYTE",{sizeInBytes:Uint8Array.BYTES_PER_ELEMENT}),SHORT:new o(5122,"SHORT",{sizeInBytes:Int16Array.BYTES_PER_ELEMENT}),UNSIGNED_SHORT:new o(5123,"UNSIGNED_SHORT",{sizeInBytes:Uint16Array.BYTES_PER_ELEMENT}),FLOAT:new o(5126,"FLOAT",{sizeInBytes:Float32Array.BYTES_PER_ELEMENT}),DOUBLE:new o(5130,"DOUBLE",{sizeInBytes:Float64Array.BYTES_PER_ELEMENT})};return i.validate=function(r){return e(r)&&e(r.value)&&(r.value===i.BYTE.value||r.value===i.UNSIGNED_BYTE.value||r.value===i.SHORT.value||r.value===i.UNSIGNED_SHORT.value||r.value===i.FLOAT.value||r.value===i.DOUBLE.value)},i.createTypedArray=function(r,e){switch(r.value){case i.BYTE.value:return new Int8Array(e);case i.UNSIGNED_BYTE.value:return new Uint8Array(e);case i.SHORT.value:return new Int16Array(e);case i.UNSIGNED_SHORT.value:return new Uint16Array(e);case i.FLOAT.value:return new Float32Array(e);case i.DOUBLE.value:return new Float64Array(e);default:throw new t("componentDatatype is not a valid enumeration value.")}},i.createArrayBufferView=function(e,n,o,a){switch(o=r(o,0),a=r(a,(n.byteLength-o)/e.sizeInBytes),e.value){case i.BYTE.value:return new Int8Array(n,o,a);case i.UNSIGNED_BYTE.value:return new Uint8Array(n,o,a);case i.SHORT.value:return new Int16Array(n,o,a);case i.UNSIGNED_SHORT.value:return new Uint16Array(n,o,a);case i.FLOAT.value:return new Float32Array(n,o,a);case i.DOUBLE.value:return new Float64Array(n,o,a);default:throw new t("componentDatatype is not a valid enumeration value.")}},i}),define("Core/IndexDatatype",["./defined","./DeveloperError","./Math"],function(r,e,t){"use strict";var n={UNSIGNED_BYTE:5121,UNSIGNED_SHORT:5123,UNSIGNED_INT:5125};return n.getSizeInBytes=function(r){switch(r){case n.UNSIGNED_BYTE:return Uint8Array.BYTES_PER_ELEMENT;case n.UNSIGNED_SHORT:return Uint16Array.BYTES_PER_ELEMENT;case n.UNSIGNED_INT:return Uint32Array.BYTES_PER_ELEMENT}},n.validate=function(e){return r(e)&&(e===n.UNSIGNED_BYTE||e===n.UNSIGNED_SHORT||e===n.UNSIGNED_INT)},n.createTypedArray=function(r,e){return r>t.SIXTY_FOUR_KILOBYTES?new Uint32Array(e):new Uint16Array(e)},n}),define("Core/PrimitiveType",[],function(){"use strict";var r={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,validate:function(e){return e===r.POINTS||e===r.LINES||e===r.LINE_LOOP||e===r.LINE_STRIP||e===r.TRIANGLES||e===r.TRIANGLE_STRIP||e===r.TRIANGLE_FAN}};return r}),define("Core/GeographicProjection",["./defaultValue","./defined","./defineProperties","./Cartesian3","./Cartographic","./Ellipsoid"],function(r,e,t,n,o,i){"use strict";var a=function(e){this._ellipsoid=r(e,i.WGS84),this._semimajorAxis=this._ellipsoid.maximumRadius,this._oneOverSemimajorAxis=1/this._semimajorAxis};return t(a.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}}),a.prototype.project=function(r,t){var o=this._semimajorAxis,i=r.longitude*o,a=r.latitude*o,s=r.height;return e(t)?(t.x=i,t.y=a,t.z=s,t):new n(i,a,s)},a.prototype.unproject=function(r,t){var n=this._oneOverSemimajorAxis,i=r.x*n,a=r.y*n,s=r.z;return e(t)?(t.longitude=i,t.latitude=a,t.height=s,t):new o(i,a,s)},a}),define("Core/Intersect",["./Enumeration"],function(r){"use strict";var e={OUTSIDE:new r(-1,"OUTSIDE"),INTERSECTING:new r(0,"INTERSECTING"),INSIDE:new r(1,"INSIDE")};return e}),define("Core/Interval",["./defaultValue"],function(r){"use strict";var e=function(e,t){this.start=r(e,0),this.stop=r(t,0)};return e}),define("Core/Cartesian4",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(r,e,t,n){"use strict";var o=function(e,t,n,o){this.x=r(e,0),this.y=r(t,0),this.z=r(n,0),this.w=r(o,0)};o.fromElements=function(r,t,n,i,a){return e(a)?(a.x=r,a.y=t,a.z=n,a.w=i,a):new o(r,t,n,i)},o.clone=function(r,t){return e(r)?e(t)?(t.x=r.x,t.y=r.y,t.z=r.z,t.w=r.w,t):new o(r.x,r.y,r.z,r.w):void 0},o.packedLength=4,o.pack=function(e,t,n){n=r(n,0),t[n++]=e.x,t[n++]=e.y,t[n++]=e.z,t[n]=e.w},o.unpack=function(t,n,i){return n=r(n,0),e(i)||(i=new o),i.x=t[n++],i.y=t[n++],i.z=t[n++],i.w=t[n],i},o.fromArray=o.unpack,o.getMaximumComponent=function(r){return Math.max(r.x,r.y,r.z,r.w)},o.getMinimumComponent=function(r){return Math.min(r.x,r.y,r.z,r.w)},o.getMinimumByComponent=function(r,t,n){return e(n)||(n=new o),n.x=Math.min(r.x,t.x),n.y=Math.min(r.y,t.y),n.z=Math.min(r.z,t.z),n.w=Math.min(r.w,t.w),n},o.getMaximumByComponent=function(r,t,n){return e(n)||(n=new o),n.x=Math.max(r.x,t.x),n.y=Math.max(r.y,t.y),n.z=Math.max(r.z,t.z),n.w=Math.max(r.w,t.w),n},o.magnitudeSquared=function(r){return r.x*r.x+r.y*r.y+r.z*r.z+r.w*r.w},o.magnitude=function(r){return Math.sqrt(o.magnitudeSquared(r))};var i=new o;o.distance=function(r,e){return o.subtract(r,e,i),o.magnitude(i)},o.normalize=function(r,t){var n=o.magnitude(r);return e(t)?(t.x=r.x/n,t.y=r.y/n,t.z=r.z/n,t.w=r.w/n,t):new o(r.x/n,r.y/n,r.z/n,r.w/n)},o.dot=function(r,e){return r.x*e.x+r.y*e.y+r.z*e.z+r.w*e.w},o.multiplyComponents=function(r,t,n){return e(n)?(n.x=r.x*t.x,n.y=r.y*t.y,n.z=r.z*t.z,n.w=r.w*t.w,n):new o(r.x*t.x,r.y*t.y,r.z*t.z,r.w*t.w)},o.add=function(r,t,n){return e(n)?(n.x=r.x+t.x,n.y=r.y+t.y,n.z=r.z+t.z,n.w=r.w+t.w,n):new o(r.x+t.x,r.y+t.y,r.z+t.z,r.w+t.w)},o.subtract=function(r,t,n){return e(n)?(n.x=r.x-t.x,n.y=r.y-t.y,n.z=r.z-t.z,n.w=r.w-t.w,n):new o(r.x-t.x,r.y-t.y,r.z-t.z,r.w-t.w)},o.multiplyByScalar=function(r,t,n){return e(n)?(n.x=r.x*t,n.y=r.y*t,n.z=r.z*t,n.w=r.w*t,n):new o(r.x*t,r.y*t,r.z*t,r.w*t)},o.divideByScalar=function(r,t,n){return e(n)?(n.x=r.x/t,n.y=r.y/t,n.z=r.z/t,n.w=r.w/t,n):new o(r.x/t,r.y/t,r.z/t,r.w/t)},o.negate=function(r,t){return e(t)?(t.x=-r.x,t.y=-r.y,t.z=-r.z,t.w=-r.w,t):new o(-r.x,-r.y,-r.z,-r.w)},o.abs=function(r,t){return e(t)?(t.x=Math.abs(r.x),t.y=Math.abs(r.y),t.z=Math.abs(r.z),t.w=Math.abs(r.w),t):new o(Math.abs(r.x),Math.abs(r.y),Math.abs(r.z),Math.abs(r.w))};var a=new o;o.lerp=function(r,e,t,n){return o.multiplyByScalar(e,t,a),n=o.multiplyByScalar(r,1-t,n),o.add(a,n,n)};var s=new o;return o.mostOrthogonalAxis=function(r,e){var t=o.normalize(r,s);return o.abs(t,t),e=t.x<=t.y?t.x<=t.z?t.x<=t.w?o.clone(o.UNIT_X,e):o.clone(o.UNIT_W,e):t.z<=t.w?o.clone(o.UNIT_Z,e):o.clone(o.UNIT_W,e):t.y<=t.z?t.y<=t.w?o.clone(o.UNIT_Y,e):o.clone(o.UNIT_W,e):t.z<=t.w?o.clone(o.UNIT_Z,e):o.clone(o.UNIT_W,e)},o.equals=function(r,t){return r===t||e(r)&&e(t)&&r.x===t.x&&r.y===t.y&&r.z===t.z&&r.w===t.w},o.equalsEpsilon=function(r,t,n){return r===t||e(r)&&e(t)&&Math.abs(r.x-t.x)<=n&&Math.abs(r.y-t.y)<=n&&Math.abs(r.z-t.z)<=n&&Math.abs(r.w-t.w)<=n},o.ZERO=n(new o(0,0,0,0)),o.UNIT_X=n(new o(1,0,0,0)),o.UNIT_Y=n(new o(0,1,0,0)),o.UNIT_Z=n(new o(0,0,1,0)),o.UNIT_W=n(new o(0,0,0,1)),o.prototype.clone=function(r){return o.clone(this,r)},o.prototype.equals=function(r){return o.equals(this,r)},o.prototype.equalsEpsilon=function(r,e){return o.equalsEpsilon(this,r,e)},o.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+", "+this.w+")"},o}),define("Core/Matrix3",["./Cartesian3","./defaultValue","./defined","./DeveloperError","./freezeObject","./Math"],function(r,e,t,n,o,i){"use strict";function a(r){for(var e=0,t=0;9>t;++t){var n=r[t];e+=n*n}return Math.sqrt(e)}function s(r){for(var e=0,t=0;3>t;++t){var n=r[l.getElementIndex(f[t],c[t])];e+=2*n*n}return Math.sqrt(e)}function u(r,e){for(var t=i.EPSILON15,n=0,o=1,a=0;3>a;++a){var s=Math.abs(r[l.getElementIndex(f[a],c[a])]);s>n&&(o=a,n=s)}var u=1,m=0,y=c[o],h=f[o];if(Math.abs(r[l.getElementIndex(h,y)])>t){var p,d=r[l.getElementIndex(h,h)],v=r[l.getElementIndex(y,y)],g=r[l.getElementIndex(h,y)],E=(d-v)/2/g;p=0>E?-1/(-E+Math.sqrt(1+E*E)):1/(E+Math.sqrt(1+E*E)),u=1/Math.sqrt(1+p*p),m=p*u}return e=l.clone(l.IDENTITY,e),e[l.getElementIndex(y,y)]=e[l.getElementIndex(h,h)]=u,e[l.getElementIndex(h,y)]=m,e[l.getElementIndex(y,h)]=-m,e}var l=function(r,t,n,o,i,a,s,u,l){this[0]=e(r,0),this[1]=e(o,0),this[2]=e(s,0),this[3]=e(t,0),this[4]=e(i,0),this[5]=e(u,0),this[6]=e(n,0),this[7]=e(a,0),this[8]=e(l,0)};l.clone=function(r,e){return t(r)?t(e)?(e[0]=r[0],e[1]=r[1],e[2]=r[2],e[3]=r[3],e[4]=r[4],e[5]=r[5],e[6]=r[6],e[7]=r[7],e[8]=r[8],e):new l(r[0],r[3],r[6],r[1],r[4],r[7],r[2],r[5],r[8]):void 0},l.fromArray=function(r,n,o){return n=e(n,0),t(o)||(o=new l),o[0]=r[n],o[1]=r[n+1],o[2]=r[n+2],o[3]=r[n+3],o[4]=r[n+4],o[5]=r[n+5],o[6]=r[n+6],o[7]=r[n+7],o[8]=r[n+8],o[9]=r[n+9],o},l.fromColumnMajorArray=function(r,e){return l.clone(r,e)},l.fromRowMajorArray=function(r,e){return t(e)?(e[0]=r[0],e[1]=r[3],e[2]=r[6],e[3]=r[1],e[4]=r[4],e[5]=r[7],e[6]=r[2],e[7]=r[5],e[8]=r[8],e):new l(r[0],r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8])},l.fromQuaternion=function(r,e){var n=r.x*r.x,o=r.x*r.y,i=r.x*r.z,a=r.x*r.w,s=r.y*r.y,u=r.y*r.z,c=r.y*r.w,f=r.z*r.z,m=r.z*r.w,y=r.w*r.w,h=n-s-f+y,p=2*(o-m),d=2*(i+c),v=2*(o+m),g=-n+s-f+y,E=2*(u-a),C=2*(i-c),S=2*(u+a),w=-n-s+f+y;return t(e)?(e[0]=h,e[1]=v,e[2]=C,e[3]=p,e[4]=g,e[5]=S,e[6]=d,e[7]=E,e[8]=w,e):new l(h,p,d,v,g,E,C,S,w)},l.fromScale=function(r,e){return t(e)?(e[0]=r.x,e[1]=0,e[2]=0,e[3]=0,e[4]=r.y,e[5]=0,e[6]=0,e[7]=0,e[8]=r.z,e):new l(r.x,0,0,0,r.y,0,0,0,r.z)},l.fromUniformScale=function(r,e){return t(e)?(e[0]=r,e[1]=0,e[2]=0,e[3]=0,e[4]=r,e[5]=0,e[6]=0,e[7]=0,e[8]=r,e):new l(r,0,0,0,r,0,0,0,r)},l.fromRotationX=function(r,e){var n=Math.cos(r),o=Math.sin(r);return t(e)?(e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=n,e[5]=o,e[6]=0,e[7]=-o,e[8]=n,e):new l(1,0,0,0,n,-o,0,o,n)},l.fromRotationY=function(r,e){var n=Math.cos(r),o=Math.sin(r);return t(e)?(e[0]=n,e[1]=0,e[2]=-o,e[3]=0,e[4]=1,e[5]=0,e[6]=o,e[7]=0,e[8]=n,e):new l(n,0,o,0,1,0,-o,0,n)},l.fromRotationZ=function(r,e){var n=Math.cos(r),o=Math.sin(r);return t(e)?(e[0]=n,e[1]=o,e[2]=0,e[3]=-o,e[4]=n,e[5]=0,e[6]=0,e[7]=0,e[8]=1,e):new l(n,-o,0,o,n,0,0,0,1)},l.toArray=function(r,e){return t(e)?(e[0]=r[0],e[1]=r[1],e[2]=r[2],e[3]=r[3],e[4]=r[4],e[5]=r[5],e[6]=r[6],e[7]=r[7],e[8]=r[8],e):[r[0],r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8]]},l.getElementIndex=function(r,e){return 3*r+e},l.getColumn=function(e,n,o){var i=3*n,a=e[i],s=e[i+1],u=e[i+2];return t(o)?(o.x=a,o.y=s,o.z=u,o):new r(a,s,u)},l.setColumn=function(r,e,t,n){n=l.clone(r,n);var o=3*e;return n[o]=t.x,n[o+1]=t.y,n[o+2]=t.z,n},l.getRow=function(e,n,o){var i=e[n],a=e[n+3],s=e[n+6];return t(o)?(o.x=i,o.y=a,o.z=s,o):new r(i,a,s)},l.setRow=function(r,e,t,n){return n=l.clone(r,n),n[e]=t.x,n[e+3]=t.y,n[e+6]=t.z,n},l.multiply=function(r,e,n){var o=r[0]*e[0]+r[3]*e[1]+r[6]*e[2],i=r[1]*e[0]+r[4]*e[1]+r[7]*e[2],a=r[2]*e[0]+r[5]*e[1]+r[8]*e[2],s=r[0]*e[3]+r[3]*e[4]+r[6]*e[5],u=r[1]*e[3]+r[4]*e[4]+r[7]*e[5],c=r[2]*e[3]+r[5]*e[4]+r[8]*e[5],f=r[0]*e[6]+r[3]*e[7]+r[6]*e[8],m=r[1]*e[6]+r[4]*e[7]+r[7]*e[8],y=r[2]*e[6]+r[5]*e[7]+r[8]*e[8];return t(n)?(n[0]=o,n[1]=i,n[2]=a,n[3]=s,n[4]=u,n[5]=c,n[6]=f,n[7]=m,n[8]=y,n):new l(o,s,f,i,u,m,a,c,y)},l.multiplyByVector=function(e,n,o){var i=n.x,a=n.y,s=n.z,u=e[0]*i+e[3]*a+e[6]*s,l=e[1]*i+e[4]*a+e[7]*s,c=e[2]*i+e[5]*a+e[8]*s;return t(o)?(o.x=u,o.y=l,o.z=c,o):new r(u,l,c)},l.multiplyByScalar=function(r,e,n){return t(n)?(n[0]=r[0]*e,n[1]=r[1]*e,n[2]=r[2]*e,n[3]=r[3]*e,n[4]=r[4]*e,n[5]=r[5]*e,n[6]=r[6]*e,n[7]=r[7]*e,n[8]=r[8]*e,n):new l(r[0]*e,r[3]*e,r[6]*e,r[1]*e,r[4]*e,r[7]*e,r[2]*e,r[5]*e,r[8]*e)},l.negate=function(r,e){return t(e)?(e[0]=-r[0],e[1]=-r[1],e[2]=-r[2],e[3]=-r[3],e[4]=-r[4],e[5]=-r[5],e[6]=-r[6],e[7]=-r[7],e[8]=-r[8],e):new l(-r[0],-r[3],-r[6],-r[1],-r[4],-r[7],-r[2],-r[5],-r[8])},l.transpose=function(r,e){var n=r[0],o=r[3],i=r[6],a=r[1],s=r[4],u=r[7],c=r[2],f=r[5],m=r[8];return t(e)?(e[0]=n,e[1]=o,e[2]=i,e[3]=a,e[4]=s,e[5]=u,e[6]=c,e[7]=f,e[8]=m,e):new l(n,a,c,o,s,f,i,u,m)};var c=[1,0,0],f=[2,2,1],m=new l,y=new l;return l.getEigenDecomposition=function(r,e){var n=i.EPSILON20,o=10,c=0,f=0;t(e)||(e={});for(var h=e.unitary=l.clone(l.IDENTITY,e.unitary),p=e.diagonal=l.clone(r,e.diagonal),d=n*a(p);o>f&&s(p)>d;)u(p,m),l.transpose(m,y),l.multiply(p,m,p),l.multiply(y,p,p),l.multiply(h,m,h),++c>2&&(++f,c=0);return e},l.abs=function(r,e){return t(e)?(e[0]=Math.abs(r[0]),e[1]=Math.abs(r[1]),e[2]=Math.abs(r[2]),e[3]=Math.abs(r[3]),e[4]=Math.abs(r[4]),e[5]=Math.abs(r[5]),e[6]=Math.abs(r[6]),e[7]=Math.abs(r[7]),e[8]=Math.abs(r[8]),e):new l(Math.abs(r[0]),Math.abs(r[3]),Math.abs(r[6]),Math.abs(r[1]),Math.abs(r[4]),Math.abs(r[7]),Math.abs(r[2]),Math.abs(r[5]),Math.abs(r[8]))},l.determinant=function(r){var e=r[0],t=r[3],n=r[6],o=r[1],i=r[4],a=r[7],s=r[2],u=r[5],l=r[8];return e*(i*l-u*a)+o*(u*n-t*l)+s*(t*a-i*n)},l.inverse=function(r,e){var t=r[0],o=r[1],a=r[2],s=r[3],u=r[4],c=r[5],f=r[6],m=r[7],y=r[8],h=l.determinant(r);if(Math.abs(h)<=i.EPSILON15)throw new n("matrix is not invertible");var p=new l(u*y-m*c,f*c-s*y,s*m-f*u,m*a-o*y,t*y-f*a,f*o-t*m,o*c-u*a,s*a-t*c,t*u-s*o),d=1/h;return l.multiplyByScalar(p,d,e)},l.equals=function(r,e){return r===e||t(r)&&t(e)&&r[0]===e[0]&&r[1]===e[1]&&r[2]===e[2]&&r[3]===e[3]&&r[4]===e[4]&&r[5]===e[5]&&r[6]===e[6]&&r[7]===e[7]&&r[8]===e[8]},l.equalsEpsilon=function(r,e,n){return r===e||t(r)&&t(e)&&Math.abs(r[0]-e[0])<=n&&Math.abs(r[1]-e[1])<=n&&Math.abs(r[2]-e[2])<=n&&Math.abs(r[3]-e[3])<=n&&Math.abs(r[4]-e[4])<=n&&Math.abs(r[5]-e[5])<=n&&Math.abs(r[6]-e[6])<=n&&Math.abs(r[7]-e[7])<=n&&Math.abs(r[8]-e[8])<=n},l.IDENTITY=o(new l(1,0,0,0,1,0,0,0,1)),l.COLUMN0ROW0=0,l.COLUMN0ROW1=1,l.COLUMN0ROW2=2,l.COLUMN1ROW0=3,l.COLUMN1ROW1=4,l.COLUMN1ROW2=5,l.COLUMN2ROW0=6,l.COLUMN2ROW1=7,l.COLUMN2ROW2=8,l.prototype.clone=function(r){return l.clone(this,r)},l.prototype.equals=function(r){return l.equals(this,r)},l.prototype.equalsEpsilon=function(r,e){return l.equalsEpsilon(this,r,e)},l.prototype.toString=function(){return"("+this[0]+", "+this[3]+", "+this[6]+")\n"+"("+this[1]+", "+this[4]+", "+this[7]+")\n"+"("+this[2]+", "+this[5]+", "+this[8]+")"},l}),define("Core/RuntimeError",["./defined"],function(r){"use strict";var e=function(r){this.name="RuntimeError",this.message=r;var e;try{throw new Error}catch(t){e=t.stack}this.stack=e};return e.prototype.toString=function(){var e=this.name+": "+this.message;return r(this.stack)&&(e+="\n"+this.stack.toString()),e},e}),define("Core/Matrix4",["./Cartesian3","./Cartesian4","./defaultValue","./defined","./DeveloperError","./freezeObject","./Math","./Matrix3","./RuntimeError"],function(r,e,t,n,o,i,a,s,u){"use strict";var l=function(r,e,n,o,i,a,s,u,l,c,f,m,y,h,p,d){this[0]=t(r,0),this[1]=t(i,0),this[2]=t(l,0),this[3]=t(y,0),this[4]=t(e,0),this[5]=t(a,0),this[6]=t(c,0),this[7]=t(h,0),this[8]=t(n,0),this[9]=t(s,0),this[10]=t(f,0),this[11]=t(p,0),this[12]=t(o,0),this[13]=t(u,0),this[14]=t(m,0),this[15]=t(d,0) +};l.clone=function(r,e){return n(r)?n(e)?(e[0]=r[0],e[1]=r[1],e[2]=r[2],e[3]=r[3],e[4]=r[4],e[5]=r[5],e[6]=r[6],e[7]=r[7],e[8]=r[8],e[9]=r[9],e[10]=r[10],e[11]=r[11],e[12]=r[12],e[13]=r[13],e[14]=r[14],e[15]=r[15],e):new l(r[0],r[4],r[8],r[12],r[1],r[5],r[9],r[13],r[2],r[6],r[10],r[14],r[3],r[7],r[11],r[15]):void 0},l.fromArray=function(r,e,o){return e=t(e,0),n(o)||(o=new l),o[0]=r[e],o[1]=r[e+1],o[2]=r[e+2],o[3]=r[e+3],o[4]=r[e+4],o[5]=r[e+5],o[6]=r[e+6],o[7]=r[e+7],o[8]=r[e+8],o[9]=r[e+9],o[10]=r[e+10],o[11]=r[e+11],o[12]=r[e+12],o[13]=r[e+13],o[14]=r[e+14],o[15]=r[e+15],o},l.fromColumnMajorArray=function(r,e){return l.clone(r,e)},l.fromRowMajorArray=function(r,e){return n(e)?(e[0]=r[0],e[1]=r[4],e[2]=r[8],e[3]=r[12],e[4]=r[1],e[5]=r[5],e[6]=r[9],e[7]=r[13],e[8]=r[2],e[9]=r[6],e[10]=r[10],e[11]=r[14],e[12]=r[3],e[13]=r[7],e[14]=r[11],e[15]=r[15],e):new l(r[0],r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8],r[9],r[10],r[11],r[12],r[13],r[14],r[15])},l.fromRotationTranslation=function(r,e,t){return n(t)?(t[0]=r[0],t[1]=r[1],t[2]=r[2],t[3]=0,t[4]=r[3],t[5]=r[4],t[6]=r[5],t[7]=0,t[8]=r[6],t[9]=r[7],t[10]=r[8],t[11]=0,t[12]=e.x,t[13]=e.y,t[14]=e.z,t[15]=1,t):new l(r[0],r[3],r[6],e.x,r[1],r[4],r[7],e.y,r[2],r[5],r[8],e.z,0,0,0,1)},new s,l.fromTranslationQuaternionRotationScale=function(r,e,t,o){n(o)||(o=new l);var i=t.x,a=t.y,s=t.z,u=e.x*e.x,c=e.x*e.y,f=e.x*e.z,m=e.x*e.w,y=e.y*e.y,h=e.y*e.z,p=e.y*e.w,d=e.z*e.z,v=e.z*e.w,g=e.w*e.w,E=u-y-d+g,C=2*(c-v),S=2*(f+p),w=2*(c+v),x=-u+y-d+g,A=2*(h-m),M=2*(f-p),b=2*(h+m),T=-u-y+d+g;return o[0]=E*i,o[1]=w*i,o[2]=M*i,o[3]=0,o[4]=C*a,o[5]=x*a,o[6]=b*a,o[7]=0,o[8]=S*s,o[9]=A*s,o[10]=T*s,o[11]=0,o[12]=r.x,o[13]=r.y,o[14]=r.z,o[15]=1,o},l.fromTranslation=function(r,e){return l.fromRotationTranslation(s.IDENTITY,r,e)},l.fromScale=function(r,e){return n(e)?(e[0]=r.x,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=r.y,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=r.z,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e):new l(r.x,0,0,0,0,r.y,0,0,0,0,r.z,0,0,0,0,1)},l.fromUniformScale=function(r,e){return n(e)?(e[0]=r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=r,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=r,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e):new l(r,0,0,0,0,r,0,0,0,0,r,0,0,0,0,1)};var c=new r,f=new r,m=new r;l.fromCamera=function(e,t){var o=e.eye,i=e.target,a=e.up;r.normalize(r.subtract(i,o,c),c),r.normalize(r.cross(c,a,f),f),r.normalize(r.cross(f,c,m),m);var s=f.x,u=f.y,y=f.z,h=c.x,p=c.y,d=c.z,v=m.x,g=m.y,E=m.z,C=o.x,S=o.y,w=o.z,x=s*-C+u*-S+y*-w,A=v*-C+g*-S+E*-w,M=h*C+p*S+d*w;return n(t)?(t[0]=s,t[1]=v,t[2]=-h,t[3]=0,t[4]=u,t[5]=g,t[6]=-p,t[7]=0,t[8]=y,t[9]=E,t[10]=-d,t[11]=0,t[12]=x,t[13]=A,t[14]=M,t[15]=1,t):new l(s,u,y,x,v,g,E,A,-h,-p,-d,M,0,0,0,1)},l.computePerspectiveFieldOfView=function(r,e,t,o,i){var a=Math.tan(.5*r),s=1/a,u=s/e,c=(o+t)/(t-o),f=2*o*t/(t-o);return n(i)?(i[0]=u,i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=s,i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=c,i[11]=-1,i[12]=0,i[13]=0,i[14]=f,i[15]=0,i):new l(u,0,0,0,0,s,0,0,0,0,c,f,0,0,-1,0)},l.computeOrthographicOffCenter=function(r,e,t,o,i,a,s){var u=1/(e-r),c=1/(o-t),f=1/(a-i),m=-(e+r)*u,y=-(o+t)*c,h=-(a+i)*f;return u*=2,c*=2,f*=-2,n(s)?(s[0]=u,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=c,s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=f,s[11]=0,s[12]=m,s[13]=y,s[14]=h,s[15]=1,s):new l(u,0,0,m,0,c,0,y,0,0,f,h,0,0,0,1)},l.computePerspectiveOffCenter=function(r,e,t,o,i,a,s){var u=2*i/(e-r),c=2*i/(o-t),f=(e+r)/(e-r),m=(o+t)/(o-t),y=-(a+i)/(a-i),h=-1,p=-2*a*i/(a-i);return n(s)?(s[0]=u,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=c,s[6]=0,s[7]=0,s[8]=f,s[9]=m,s[10]=y,s[11]=h,s[12]=0,s[13]=0,s[14]=p,s[15]=0,s):new l(u,0,f,0,0,c,m,0,0,0,y,p,0,0,h,0)},l.computeInfinitePerspectiveOffCenter=function(r,e,t,o,i,a){var s=2*i/(e-r),u=2*i/(o-t),c=(e+r)/(e-r),f=(o+t)/(o-t),m=-1,y=-1,h=-2*i;return n(a)?(a[0]=s,a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=u,a[6]=0,a[7]=0,a[8]=c,a[9]=f,a[10]=m,a[11]=y,a[12]=0,a[13]=0,a[14]=h,a[15]=0,a):new l(s,0,c,0,0,u,f,0,0,0,m,h,0,0,y,0)},l.computeViewportTransformation=function(r,e,o,i){r=t(r,t.EMPTY_OBJECT);var a=t(r.x,0),s=t(r.y,0),u=t(r.width,0),c=t(r.height,0);e=t(e,0),o=t(o,1);var f=.5*u,m=.5*c,y=.5*(o-e),h=f,p=m,d=y,v=a+f,g=s+m,E=e+y,C=1;return n(i)?(i[0]=h,i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=p,i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=d,i[11]=0,i[12]=v,i[13]=g,i[14]=E,i[15]=C,i):new l(h,0,0,v,0,p,0,g,0,0,d,E,0,0,0,C)},l.toArray=function(r,e){return n(e)?(e[0]=r[0],e[1]=r[1],e[2]=r[2],e[3]=r[3],e[4]=r[4],e[5]=r[5],e[6]=r[6],e[7]=r[7],e[8]=r[8],e[9]=r[9],e[10]=r[10],e[11]=r[11],e[12]=r[12],e[13]=r[13],e[14]=r[14],e[15]=r[15],e):[r[0],r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8],r[9],r[10],r[11],r[12],r[13],r[14],r[15]]},l.getElementIndex=function(r,e){return 4*r+e},l.getColumn=function(r,t,o){var i=4*t,a=r[i],s=r[i+1],u=r[i+2],l=r[i+3];return n(o)?(o.x=a,o.y=s,o.z=u,o.w=l,o):new e(a,s,u,l)},l.setColumn=function(r,e,t,n){n=l.clone(r,n);var o=4*e;return n[o]=t.x,n[o+1]=t.y,n[o+2]=t.z,n[o+3]=t.w,n},l.getRow=function(r,t,o){var i=r[t],a=r[t+4],s=r[t+8],u=r[t+12];return n(o)?(o.x=i,o.y=a,o.z=s,o.w=u,o):new e(i,a,s,u)},l.setRow=function(r,e,t,n){return n=l.clone(r,n),n[e]=t.x,n[e+4]=t.y,n[e+8]=t.z,n[e+12]=t.w,n},l.multiply=function(r,e,t){var o=r[0],i=r[1],a=r[2],s=r[3],u=r[4],c=r[5],f=r[6],m=r[7],y=r[8],h=r[9],p=r[10],d=r[11],v=r[12],g=r[13],E=r[14],C=r[15],S=e[0],w=e[1],x=e[2],A=e[3],M=e[4],b=e[5],T=e[6],I=e[7],O=e[8],N=e[9],R=e[10],z=e[11],L=e[12],F=e[13],P=e[14],D=e[15],B=o*S+u*w+y*x+v*A,_=i*S+c*w+h*x+g*A,U=a*S+f*w+p*x+E*A,G=s*S+m*w+d*x+C*A,q=o*M+u*b+y*T+v*I,Y=i*M+c*b+h*T+g*I,W=a*M+f*b+p*T+E*I,V=s*M+m*b+d*T+C*I,H=o*O+u*N+y*R+v*z,k=i*O+c*N+h*R+g*z,K=a*O+f*N+p*R+E*z,j=s*O+m*N+d*R+C*z,Z=o*L+u*F+y*P+v*D,Q=i*L+c*F+h*P+g*D,X=a*L+f*F+p*P+E*D,J=s*L+m*F+d*P+C*D;return n(t)?(t[0]=B,t[1]=_,t[2]=U,t[3]=G,t[4]=q,t[5]=Y,t[6]=W,t[7]=V,t[8]=H,t[9]=k,t[10]=K,t[11]=j,t[12]=Z,t[13]=Q,t[14]=X,t[15]=J,t):new l(B,q,H,Z,_,Y,k,Q,U,W,K,X,G,V,j,J)},l.multiplyTransformation=function(r,e,t){var o=r[0],i=r[1],a=r[2],s=r[4],u=r[5],c=r[6],f=r[8],m=r[9],y=r[10],h=r[12],p=r[13],d=r[14],v=e[0],g=e[1],E=e[2],C=e[4],S=e[5],w=e[6],x=e[8],A=e[9],M=e[10],b=e[12],T=e[13],I=e[14],O=o*v+s*g+f*E,N=i*v+u*g+m*E,R=a*v+c*g+y*E,z=o*C+s*S+f*w,L=i*C+u*S+m*w,F=a*C+c*S+y*w,P=o*x+s*A+f*M,D=i*x+u*A+m*M,B=a*x+c*A+y*M,_=o*b+s*T+f*I+h,U=i*b+u*T+m*I+p,G=a*b+c*T+y*I+d;return n(t)?(t[0]=O,t[1]=N,t[2]=R,t[3]=0,t[4]=z,t[5]=L,t[6]=F,t[7]=0,t[8]=P,t[9]=D,t[10]=B,t[11]=0,t[12]=_,t[13]=U,t[14]=G,t[15]=1,t):new l(O,z,P,_,N,L,D,U,R,F,B,G,0,0,0,1)},l.multiplyByTranslation=function(r,e,t){var o=e.x,i=e.y,a=e.z,s=o*r[0]+i*r[4]+a*r[8]+r[12],u=o*r[1]+i*r[5]+a*r[9]+r[13],c=o*r[2]+i*r[6]+a*r[10]+r[14];return n(t)?(t[0]=r[0],t[1]=r[1],t[2]=r[2],t[3]=r[3],t[4]=r[4],t[5]=r[5],t[6]=r[6],t[7]=r[7],t[8]=r[8],t[9]=r[9],t[10]=r[10],t[11]=r[11],t[12]=s,t[13]=u,t[14]=c,t[15]=r[15],t):new l(r[0],r[4],r[8],s,r[1],r[5],r[9],u,r[2],r[6],r[10],c,r[3],r[7],r[11],r[15])};var y=new r;return l.multiplyByUniformScale=function(r,e,t){return y.x=e,y.y=e,y.z=e,l.multiplyByScale(r,y,t)},l.multiplyByScale=function(r,e,t){var o=e.x,i=e.y,a=e.z;return 1===o&&1===i&&1===a?l.clone(r,t):n(t)?(t[0]=o*r[0],t[1]=o*r[1],t[2]=o*r[2],t[3]=0,t[4]=i*r[4],t[5]=i*r[5],t[6]=i*r[6],t[7]=0,t[8]=a*r[8],t[9]=a*r[9],t[10]=a*r[10],t[11]=0,t[12]=r[12],t[13]=r[13],t[14]=r[14],t[15]=1,t):new l(o*r[0],i*r[4],a*r[8],r[12],o*r[1],i*r[5],a*r[9],r[13],o*r[2],i*r[6],a*r[10],r[14],0,0,0,1)},l.multiplyByVector=function(r,t,o){var i=t.x,a=t.y,s=t.z,u=t.w,l=r[0]*i+r[4]*a+r[8]*s+r[12]*u,c=r[1]*i+r[5]*a+r[9]*s+r[13]*u,f=r[2]*i+r[6]*a+r[10]*s+r[14]*u,m=r[3]*i+r[7]*a+r[11]*s+r[15]*u;return n(o)?(o.x=l,o.y=c,o.z=f,o.w=m,o):new e(l,c,f,m)},l.multiplyByPointAsVector=function(e,t,o){var i=t.x,a=t.y,s=t.z,u=e[0]*i+e[4]*a+e[8]*s,l=e[1]*i+e[5]*a+e[9]*s,c=e[2]*i+e[6]*a+e[10]*s;return n(o)?(o.x=u,o.y=l,o.z=c,o):new r(u,l,c)},l.multiplyByPoint=function(e,t,o){var i=t.x,a=t.y,s=t.z,u=e[0]*i+e[4]*a+e[8]*s+e[12],l=e[1]*i+e[5]*a+e[9]*s+e[13],c=e[2]*i+e[6]*a+e[10]*s+e[14];return n(o)?(o.x=u,o.y=l,o.z=c,o):new r(u,l,c)},l.multiplyByScalar=function(r,e,t){return n(t)?(t[0]=r[0]*e,t[1]=r[1]*e,t[2]=r[2]*e,t[3]=r[3]*e,t[4]=r[4]*e,t[5]=r[5]*e,t[6]=r[6]*e,t[7]=r[7]*e,t[8]=r[8]*e,t[9]=r[9]*e,t[10]=r[10]*e,t[11]=r[11]*e,t[12]=r[12]*e,t[13]=r[13]*e,t[14]=r[14]*e,t[15]=r[15]*e,t):new l(r[0]*e,r[4]*e,r[8]*e,r[12]*e,r[1]*e,r[5]*e,r[9]*e,r[13]*e,r[2]*e,r[6]*e,r[10]*e,r[14]*e,r[3]*e,r[7]*e,r[11]*e,r[15]*e)},l.negate=function(r,e){return n(e)?(e[0]=-r[0],e[1]=-r[1],e[2]=-r[2],e[3]=-r[3],e[4]=-r[4],e[5]=-r[5],e[6]=-r[6],e[7]=-r[7],e[8]=-r[8],e[9]=-r[9],e[10]=-r[10],e[11]=-r[11],e[12]=-r[12],e[13]=-r[13],e[14]=-r[14],e[15]=-r[15],e):new l(-r[0],-r[4],-r[8],-r[12],-r[1],-r[5],-r[9],-r[13],-r[2],-r[6],-r[10],-r[14],-r[3],-r[7],-r[11],-r[15])},l.transpose=function(r,e){if(!n(e))return new l(r[0],r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8],r[9],r[10],r[11],r[12],r[13],r[14],r[15]);var t=r[1],o=r[2],i=r[3],a=r[6],s=r[7],u=r[11];return e[0]=r[0],e[1]=r[4],e[2]=r[8],e[3]=r[12],e[4]=t,e[5]=r[5],e[6]=r[9],e[7]=r[13],e[8]=o,e[9]=a,e[10]=r[10],e[11]=r[14],e[12]=i,e[13]=s,e[14]=u,e[15]=r[15],e},l.abs=function(r,e){return n(e)?(e[0]=Math.abs(r[0]),e[1]=Math.abs(r[1]),e[2]=Math.abs(r[2]),e[3]=Math.abs(r[3]),e[4]=Math.abs(r[4]),e[5]=Math.abs(r[5]),e[6]=Math.abs(r[6]),e[7]=Math.abs(r[7]),e[8]=Math.abs(r[8]),e[9]=Math.abs(r[9]),e[10]=Math.abs(r[10]),e[11]=Math.abs(r[11]),e[12]=Math.abs(r[12]),e[13]=Math.abs(r[13]),e[14]=Math.abs(r[14]),e[15]=Math.abs(r[15]),e):new l(Math.abs(r[0]),Math.abs(r[4]),Math.abs(r[8]),Math.abs(r[12]),Math.abs(r[1]),Math.abs(r[5]),Math.abs(r[9]),Math.abs(r[13]),Math.abs(r[2]),Math.abs(r[6]),Math.abs(r[10]),Math.abs(r[14]),Math.abs(r[3]),Math.abs(r[7]),Math.abs(r[11]),Math.abs(r[15]))},l.equals=function(r,e){return r===e||n(r)&&n(e)&&r[0]===e[0]&&r[1]===e[1]&&r[2]===e[2]&&r[3]===e[3]&&r[4]===e[4]&&r[5]===e[5]&&r[6]===e[6]&&r[7]===e[7]&&r[8]===e[8]&&r[9]===e[9]&&r[10]===e[10]&&r[11]===e[11]&&r[12]===e[12]&&r[13]===e[13]&&r[14]===e[14]&&r[15]===e[15]},l.equalsEpsilon=function(r,e,t){return r===e||n(r)&&n(e)&&Math.abs(r[0]-e[0])<=t&&Math.abs(r[1]-e[1])<=t&&Math.abs(r[2]-e[2])<=t&&Math.abs(r[3]-e[3])<=t&&Math.abs(r[4]-e[4])<=t&&Math.abs(r[5]-e[5])<=t&&Math.abs(r[6]-e[6])<=t&&Math.abs(r[7]-e[7])<=t&&Math.abs(r[8]-e[8])<=t&&Math.abs(r[9]-e[9])<=t&&Math.abs(r[10]-e[10])<=t&&Math.abs(r[11]-e[11])<=t&&Math.abs(r[12]-e[12])<=t&&Math.abs(r[13]-e[13])<=t&&Math.abs(r[14]-e[14])<=t&&Math.abs(r[15]-e[15])<=t},l.getTranslation=function(e,t){return n(t)?(t.x=e[12],t.y=e[13],t.z=e[14],t):new r(e[12],e[13],e[14])},l.getRotation=function(r,e){return n(e)?(e[0]=r[0],e[1]=r[1],e[2]=r[2],e[3]=r[4],e[4]=r[5],e[5]=r[6],e[6]=r[8],e[7]=r[9],e[8]=r[10],e):new s(r[0],r[4],r[8],r[1],r[5],r[9],r[2],r[6],r[10])},l.inverse=function(r,e){var t=r[0],o=r[4],i=r[8],s=r[12],c=r[1],f=r[5],m=r[9],y=r[13],h=r[2],p=r[6],d=r[10],v=r[14],g=r[3],E=r[7],C=r[11],S=r[15],w=d*S,x=v*C,A=p*S,M=v*E,b=p*C,T=d*E,I=h*S,O=v*g,N=h*C,R=d*g,z=h*E,L=p*g,F=w*f+M*m+b*y-(x*f+A*m+T*y),P=x*c+I*m+R*y-(w*c+O*m+N*y),D=A*c+O*f+z*y-(M*c+I*f+L*y),B=T*c+N*f+L*m-(b*c+R*f+z*m),_=x*o+A*i+T*s-(w*o+M*i+b*s),U=w*t+O*i+N*s-(x*t+I*i+R*s),G=M*t+I*o+L*s-(A*t+O*o+z*s),q=b*t+R*o+z*i-(T*t+N*o+L*i);w=i*y,x=s*m,A=o*y,M=s*f,b=o*m,T=i*f,I=t*y,O=s*c,N=t*m,R=i*c,z=t*f,L=o*c;var Y=w*E+M*C+b*S-(x*E+A*C+T*S),W=x*g+I*C+R*S-(w*g+O*C+N*S),V=A*g+O*E+z*S-(M*g+I*E+L*S),H=T*g+N*E+L*C-(b*g+R*E+z*C),k=A*d+T*v+x*p-(b*v+w*p+M*d),K=N*v+w*h+O*d-(I*d+R*v+x*h),j=I*p+L*v+M*h-(z*v+A*h+O*p),Z=z*d+b*h+R*p-(N*p+L*d+T*h),Q=t*F+o*P+i*D+s*B;if(Math.abs(Q)M;M++){r.clone(e[M],o);var b=o.x,T=o.y,I=o.z;bu.x&&r.clone(o,u),Tl.y&&r.clone(o,l),Ix.z&&r.clone(o,x)}var O=r.magnitudeSquared(r.subtract(u,i,g)),N=r.magnitudeSquared(r.subtract(l,a,g)),R=r.magnitudeSquared(r.subtract(x,s,g)),z=i,L=u,F=O;N>F&&(F=N,z=a,L=l),R>F&&(F=R,z=s,L=x);var P=E;P.x=.5*(z.x+L.x),P.y=.5*(z.y+L.y),P.z=.5*(z.z+L.z);var D=r.magnitudeSquared(r.subtract(L,P,g)),B=Math.sqrt(D),_=C;_.x=i.x,_.y=a.y,_.z=s.z;var U=S;U.x=u.x,U.y=l.y,U.z=x.z;var G=r.multiplyByScalar(r.add(_,U,g),.5,w),q=0;for(M=0;A>M;M++){r.clone(e[M],o);var Y=r.magnitude(r.subtract(o,G,g));Y>q&&(q=Y);var W=r.magnitudeSquared(r.subtract(o,P,g));if(W>D){var V=Math.sqrt(W);B=.5*(B+V),D=B*B;var H=V-B;P.x=(B*P.x+H*o.x)/V,P.y=(B*P.y+H*o.y)/V,P.z=(B*P.z+H*o.z)/V}}return q>B?(r.clone(P,t.center),t.radius=B):(r.clone(G,t.center),t.radius=q),t};var x=new a,A=new r,M=new r,b=new e,T=new e;c.fromExtent2D=function(r,e,t){return c.fromExtentWithHeights2D(r,e,0,0,t)},c.fromExtentWithHeights2D=function(e,o,i,a,s){if(n(s)||(s=new c),!n(e))return s.center=r.clone(r.ZERO,s.center),s.radius=0,s;o=t(o,x),e.getSouthwest(b),b.height=i,e.getNortheast(T),T.height=a;var u=o.project(b,A),l=o.project(T,M),f=l.x-u.x,m=l.y-u.y,y=l.z-u.z;s.radius=.5*Math.sqrt(f*f+m*m+y*y);var h=s.center;return h.x=u.x+.5*f,h.y=u.y+.5*m,h.z=u.z+.5*y,s};var I=[];c.fromExtent3D=function(r,e,o,a){e=t(e,i.WGS84),o=t(o,0);var s;return n(r)&&(s=r.subsample(e,o,I)),c.fromPoints(s,a)},c.fromVertices=function(e,o,i,a){if(n(a)||(a=new c),!n(e)||0===e.length)return a.center=r.clone(r.ZERO,a.center),a.radius=0,a;o=t(o,r.ZERO),i=t(i,3);var s=v;s.x=e[0]+o.x,s.y=e[1]+o.y,s.z=e[2]+o.z;for(var u=r.clone(s,f),l=r.clone(s,m),x=r.clone(s,y),A=r.clone(s,h),M=r.clone(s,p),b=r.clone(s,d),T=e.length,I=0;T>I;I+=i){var O=e[I]+o.x,N=e[I+1]+o.y,R=e[I+2]+o.z;s.x=O,s.y=N,s.z=R,OA.x&&r.clone(s,A),NM.y&&r.clone(s,M),Rb.z&&r.clone(s,b)}var z=r.magnitudeSquared(r.subtract(A,u,g)),L=r.magnitudeSquared(r.subtract(M,l,g)),F=r.magnitudeSquared(r.subtract(b,x,g)),P=u,D=A,B=z;L>B&&(B=L,P=l,D=M),F>B&&(B=F,P=x,D=b);var _=E;_.x=.5*(P.x+D.x),_.y=.5*(P.y+D.y),_.z=.5*(P.z+D.z);var U=r.magnitudeSquared(r.subtract(D,_,g)),G=Math.sqrt(U),q=C;q.x=u.x,q.y=l.y,q.z=x.z;var Y=S;Y.x=A.x,Y.y=M.y,Y.z=b.z;var W=r.multiplyByScalar(r.add(q,Y,g),.5,w),V=0;for(I=0;T>I;I+=i){s.x=e[I]+o.x,s.y=e[I+1]+o.y,s.z=e[I+2]+o.z;var H=r.magnitude(r.subtract(s,W,g));H>V&&(V=H);var k=r.magnitudeSquared(r.subtract(s,_,g));if(k>U){var K=Math.sqrt(k);G=.5*(G+K),U=G*G;var j=K-G;_.x=(G*_.x+j*s.x)/K,_.y=(G*_.y+j*s.y)/K,_.z=(G*_.z+j*s.z)/K}}return V>G?(r.clone(_,a.center),a.radius=G):(r.clone(W,a.center),a.radius=V),a},c.fromCornerPoints=function(e,t,o){n(o)||(o=new c);var i=o.center;return r.add(e,t,i),r.multiplyByScalar(i,.5,i),o.radius=r.distance(i,t),o},c.fromEllipsoid=function(e,t){return n(t)||(t=new c),r.clone(r.ZERO,t.center),t.radius=e.maximumRadius,t},c.clone=function(e,t){return n(e)?n(t)?(t.center=r.clone(e.center,t.center),t.radius=e.radius,t):new c(e.center,e.radius):void 0};var O=new r,N=new r;c.union=function(e,t,o){n(o)||(o=new c);var i=e.center,a=t.center;r.add(i,a,N);var s=r.multiplyByScalar(N,.5,N),u=r.magnitude(r.subtract(i,s,O))+e.radius,l=r.magnitude(r.subtract(a,s,O))+t.radius;return o.radius=Math.max(u,l),r.clone(s,o.center),o};var R=new r;c.expand=function(e,t,n){n=c.clone(e,n);var o=r.magnitude(r.subtract(t,n.center,R));return o>n.radius&&(n.radius=o),n},c.intersect=function(e,t){var n=e.center,o=e.radius,i=r.dot(t,n)+t.w;return-o>i?s.OUTSIDE:o>i?s.INTERSECTING:s.INSIDE};var z=new r;c.transform=function(e,t,o){return n(o)||(o=new c),o.center=l.multiplyByPoint(t,e.center,o.center),o.radius=Math.max(r.magnitude(l.getColumn(t,0,z)),r.magnitude(l.getColumn(t,1,z)),r.magnitude(l.getColumn(t,2,z)))*e.radius,o},c.transformWithoutScale=function(r,e,t){return n(t)||(t=new c),t.center=l.multiplyByPoint(e,r.center,t.center),t.radius=r.radius,t};var L=new r;c.getPlaneDistances=function(e,t,o,i){n(i)||(i=new u);var a=r.subtract(e.center,t,L),s=r.multiplyByScalar(o,r.dot(o,a),L),l=r.magnitude(s);return i.start=l-e.radius,i.stop=l+e.radius,i};for(var F=new r,P=new r,D=new r,B=new r,_=new r,U=new e,G=new Array(8),q=0;8>q;++q)G[q]=new r;var Y=new a;return c.projectTo2D=function(e,n,o){n=t(n,Y);var i=n.ellipsoid,a=e.center,s=e.radius,u=i.geodeticSurfaceNormal(a,F),l=r.cross(r.UNIT_Z,u,P);r.normalize(l,l);var f=r.cross(u,l,D);r.normalize(f,f),r.multiplyByScalar(u,s,u),r.multiplyByScalar(f,s,f),r.multiplyByScalar(l,s,l);var m=r.negate(f,_),y=r.negate(l,B),h=G,p=h[0];r.add(u,f,p),r.add(p,l,p),p=h[1],r.add(u,f,p),r.add(p,y,p),p=h[2],r.add(u,m,p),r.add(p,y,p),p=h[3],r.add(u,m,p),r.add(p,l,p),r.negate(u,u),p=h[4],r.add(u,f,p),r.add(p,l,p),p=h[5],r.add(u,f,p),r.add(p,y,p),p=h[6],r.add(u,m,p),r.add(p,y,p),p=h[7],r.add(u,m,p),r.add(p,l,p);for(var d=h.length,v=0;d>v;++v){var g=h[v];r.add(a,g,g);var E=i.cartesianToCartographic(g,U);n.project(E,g)}o=c.fromPoints(h,o),a=o.center;var C=a.x,S=a.y,w=a.z;return a.x=w,a.y=C,a.z=S,o},c.equals=function(e,t){return e===t||n(e)&&n(t)&&r.equals(e.center,t.center)&&e.radius===t.radius},c.prototype.clone=function(r){return c.clone(this,r)},c.prototype.union=function(r,e){return c.union(this,r,e)},c.prototype.expand=function(r,e){return c.expand(this,r,e)},c.prototype.intersect=function(r){return c.intersect(this,r)},c.prototype.getPlaneDistances=function(r,e,t){return c.getPlaneDistances(this,r,e,t)},c.prototype.projectTo2D=function(r,e){return c.projectTo2D(this,r,e)},c.prototype.equals=function(r){return c.equals(this,r)},c}),define("Core/Geometry",["./defaultValue","./defined","./DeveloperError"],function(r,e,t){"use strict";var n=function(e){e=r(e,r.EMPTY_OBJECT),this.attributes=e.attributes,this.indices=e.indices,this.primitiveType=e.primitiveType,this.boundingSphere=e.boundingSphere};return n.computeNumberOfVertices=function(r){var n=-1;for(var o in r.attributes)if(r.attributes.hasOwnProperty(o)&&e(r.attributes[o])&&e(r.attributes[o].values)){var i=r.attributes[o],a=i.values.length/i.componentsPerAttribute;if(n!==a&&-1!==n)throw new t("All attribute lists must have the same number of attributes.");n=a}return n},n}),define("Core/GeometryAttribute",["./defaultValue","./defined","./DeveloperError"],function(r){"use strict";var e=function(e){e=r(e,r.EMPTY_OBJECT),this.componentDatatype=e.componentDatatype,this.componentsPerAttribute=e.componentsPerAttribute,this.normalize=r(e.normalize,!1),this.values=e.values};return e}),define("Core/GeometryAttributes",["./defaultValue"],function(r){"use strict";var e=function(e){e=r(e,r.EMPTY_OBJECT),this.position=e.position,this.normal=e.normal,this.st=e.st,this.binormal=e.binormal,this.tangent=e.tangent,this.color=e.color};return e}),define("Core/EllipsoidOutlineGeometry",["./defaultValue","./DeveloperError","./Cartesian3","./Math","./Ellipsoid","./ComponentDatatype","./IndexDatatype","./PrimitiveType","./BoundingSphere","./Geometry","./GeometryAttribute","./GeometryAttributes"],function(r,e,t,n,o,i,a,s,u,l,c,f){"use strict";var m=new t(1,1,1),y=Math.cos,h=Math.sin,p=function(e){e=r(e,r.EMPTY_OBJECT);var n=r(e.radii,m),o=r(e.stackPartitions,10),i=r(e.slicePartitions,8),a=r(e.subdivisions,128);this._radii=t.clone(n),this._stackPartitions=o,this._slicePartitions=i,this._subdivisions=a,this._workerName="createEllipsoidOutlineGeometry"};return p.createGeometry=function(r){var e,t,m,p,d,v,g=r._radii,E=o.fromCartesian3(g),C=r._stackPartitions,S=r._slicePartitions,w=r._subdivisions,x=w*(C+S-1),A=x-S+2,M=new Float64Array(3*A),b=a.createTypedArray(A,2*x),T=0,I=new Array(w),O=new Array(w);for(e=0;w>e;e++)m=n.TWO_PI*e/w,I[e]=y(m),O[e]=h(m);for(e=1;C>e;e++)for(p=Math.PI*e/C,d=y(p),v=h(p),t=0;w>t;t++)M[T++]=g.x*I[t]*v,M[T++]=g.y*O[t]*v,M[T++]=g.z*d;for(I.length=S,O.length=S,e=0;S>e;e++)m=n.TWO_PI*e/S,I[e]=y(m),O[e]=h(m);for(M[T++]=0,M[T++]=0,M[T++]=g.z,e=1;w>e;e++)for(p=Math.PI*e/w,d=y(p),v=h(p),t=0;S>t;t++)M[T++]=g.x*I[t]*v,M[T++]=g.y*O[t]*v,M[T++]=g.z*d;for(M[T++]=0,M[T++]=0,M[T++]=-g.z,T=0,e=0;C-1>e;++e){var N=e*w;for(t=0;w-1>t;++t)b[T++]=N+t,b[T++]=N+t+1;b[T++]=N+w-1,b[T++]=N}var R=w*(C-1);for(t=1;S+1>t;++t)b[T++]=R,b[T++]=R+t;for(e=0;w-2>e;++e){var z=e*S+1+R,L=(e+1)*S+1+R;for(t=0;S-1>t;++t)b[T++]=L+t,b[T++]=z+t;b[T++]=L+S-1,b[T++]=z+S-1}var F=M.length/3-1;for(t=F-1;t>F-S-1;--t)b[T++]=F,b[T++]=t;var P=new f({position:new c({componentDatatype:i.DOUBLE,componentsPerAttribute:3,values:M})});return new l({attributes:P,indices:b,primitiveType:s.LINES,boundingSphere:u.fromEllipsoid(E)})},p}),define("Core/Color",["./defaultValue","./defined","./freezeObject","./DeveloperError","./FeatureDetection","./Math"],function(r,e,t,n,o,i){"use strict";function a(r,e,t){return 0>t&&(t+=1),t>1&&(t-=1),1>6*t?r+6*(e-r)*t:1>2*t?e:2>3*t?r+6*(e-r)*(2/3-t):r}var s=function(e,t,n,o){this.red=r(e,1),this.green=r(t,1),this.blue=r(n,1),this.alpha=r(o,1)};s.fromBytes=function(e,t,n,o){return e=s.byteToFloat(r(e,255)),t=s.byteToFloat(r(t,255)),n=s.byteToFloat(r(n,255)),o=s.byteToFloat(r(o,255)),new s(e,t,n,o)};var u,l,c;o.supportsTypedArrays()&&(u=new ArrayBuffer(4),l=new Uint32Array(u),c=new Uint8Array(u)),s.fromRgba=function(r){return l[0]=r,s.fromBytes(c[0],c[1],c[2],c[3])},s.fromHsl=function(e,t,n,o){e=r(e,0)%1,t=r(t,0),n=r(n,0),o=r(o,1);var i=n,u=n,l=n;if(0!==t){var c;c=.5>n?n*(1+t):n+t-n*t;var f=2*n-c;i=a(f,c,e+1/3),u=a(f,c,e),l=a(f,c,e-1/3)}return new s(i,u,l,o)},s.fromRandom=function(t,n){t=r(t,r.EMPTY_OBJECT);var o=t.red;if(!e(o)){var a=r(t.minimumRed,0),u=r(t.maximumRed,1);o=a+i.nextRandomNumber()*(u-a)}var l=t.green;if(!e(l)){var c=r(t.minimumGreen,0),f=r(t.maximumGreen,1);l=c+i.nextRandomNumber()*(f-c)}var m=t.blue;if(!e(m)){var y=r(t.minimumBlue,0),h=r(t.maximumBlue,1);m=y+i.nextRandomNumber()*(h-y)}var p=t.alpha;if(!e(p)){var d=r(t.minimumAlpha,0),v=r(t.maximumAlpha,1);p=d+i.nextRandomNumber()*(v-d)}return e(n)?(n.red=o,n.green=l,n.blue=m,n.alpha=p,n):new s(o,l,m,p)};var f=/^#([0-9a-f])([0-9a-f])([0-9a-f])$/i,m=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i,y=/^rgba?\(\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)(?:\s*,\s*([0-9.]+))?\s*\)$/i,h=/^hsla?\(\s*([0-9.]+)\s*,\s*([0-9.]+%)\s*,\s*([0-9.]+%)(?:\s*,\s*([0-9.]+))?\s*\)$/i;return s.fromCssColorString=function(t){var n=s[t.toUpperCase()];if(e(n))return s.clone(n);var o=f.exec(t);return null!==o?new s(parseInt(o[1],16)/15,parseInt(o[2],16)/15,parseInt(o[3],16)/15):(o=m.exec(t),null!==o?new s(parseInt(o[1],16)/255,parseInt(o[2],16)/255,parseInt(o[3],16)/255):(o=y.exec(t),null!==o?new s(parseFloat(o[1])/("%"===o[1].substr(-1)?100:255),parseFloat(o[2])/("%"===o[2].substr(-1)?100:255),parseFloat(o[3])/("%"===o[3].substr(-1)?100:255),parseFloat(r(o[4],"1.0"))):(o=h.exec(t),null!==o?s.fromHsl(parseFloat(o[1])/360,parseFloat(o[2])/100,parseFloat(o[3])/100,parseFloat(r(o[4],"1.0"))):void 0)))},s.packedLength=4,s.pack=function(e,t,n){n=r(n,0),t[n++]=e.red,t[n++]=e.green,t[n++]=e.blue,t[n]=e.alpha},s.unpack=function(t,n,o){return n=r(n,0),e(o)||(o=new s),o.red=t[n++],o.green=t[n++],o.blue=t[n++],o.alpha=t[n],o},s.byteToFloat=function(r){return r/255},s.floatToByte=function(r){return 1===r?255:0|256*r},s.clone=function(r,t){return e(r)?e(t)?(t.red=r.red,t.green=r.green,t.blue=r.blue,t.alpha=r.alpha,t):new s(r.red,r.green,r.blue,r.alpha):void 0},s.equals=function(r,t){return r===t||e(r)&&e(t)&&r.red===t.red&&r.green===t.green&&r.blue===t.blue&&r.alpha===t.alpha},s.prototype.clone=function(r){return s.clone(this,r)},s.prototype.equals=function(r){return s.equals(this,r)},s.prototype.equalsEpsilon=function(r,t){return this===r||e(r)&&Math.abs(this.red-r.red)<=t&&Math.abs(this.green-r.green)<=t&&Math.abs(this.blue-r.blue)<=t&&Math.abs(this.alpha-r.alpha)<=t},s.prototype.toString=function(){return"("+this.red+", "+this.green+", "+this.blue+", "+this.alpha+")"},s.prototype.toCssColorString=function(){var r=s.floatToByte(this.red),e=s.floatToByte(this.green),t=s.floatToByte(this.blue);return 1===this.alpha?"rgb("+r+","+e+","+t+")":"rgba("+r+","+e+","+t+","+this.alpha+")"},s.prototype.toBytes=function(r){var t=s.floatToByte(this.red),n=s.floatToByte(this.green),o=s.floatToByte(this.blue),i=s.floatToByte(this.alpha);return e(r)?(r[0]=t,r[1]=n,r[2]=o,r[3]=i,r):[t,n,o,i]},s.prototype.toRgba=function(){return c[0]=s.floatToByte(this.red),c[1]=s.floatToByte(this.green),c[2]=s.floatToByte(this.blue),c[3]=s.floatToByte(this.alpha),l[0]},s.ALICEBLUE=t(s.fromCssColorString("#F0F8FF")),s.ANTIQUEWHITE=t(s.fromCssColorString("#FAEBD7")),s.AQUA=t(s.fromCssColorString("#00FFFF")),s.AQUAMARINE=t(s.fromCssColorString("#7FFFD4")),s.AZURE=t(s.fromCssColorString("#F0FFFF")),s.BEIGE=t(s.fromCssColorString("#F5F5DC")),s.BISQUE=t(s.fromCssColorString("#FFE4C4")),s.BLACK=t(s.fromCssColorString("#000000")),s.BLANCHEDALMOND=t(s.fromCssColorString("#FFEBCD")),s.BLUE=t(s.fromCssColorString("#0000FF")),s.BLUEVIOLET=t(s.fromCssColorString("#8A2BE2")),s.BROWN=t(s.fromCssColorString("#A52A2A")),s.BURLYWOOD=t(s.fromCssColorString("#DEB887")),s.CADETBLUE=t(s.fromCssColorString("#5F9EA0")),s.CHARTREUSE=t(s.fromCssColorString("#7FFF00")),s.CHOCOLATE=t(s.fromCssColorString("#D2691E")),s.CORAL=t(s.fromCssColorString("#FF7F50")),s.CORNFLOWERBLUE=t(s.fromCssColorString("#6495ED")),s.CORNSILK=t(s.fromCssColorString("#FFF8DC")),s.CRIMSON=t(s.fromCssColorString("#DC143C")),s.CYAN=t(s.fromCssColorString("#00FFFF")),s.DARKBLUE=t(s.fromCssColorString("#00008B")),s.DARKCYAN=t(s.fromCssColorString("#008B8B")),s.DARKGOLDENROD=t(s.fromCssColorString("#B8860B")),s.DARKGRAY=t(s.fromCssColorString("#A9A9A9")),s.DARKGREEN=t(s.fromCssColorString("#006400")),s.DARKGREY=s.DARKGRAY,s.DARKKHAKI=t(s.fromCssColorString("#BDB76B")),s.DARKMAGENTA=t(s.fromCssColorString("#8B008B")),s.DARKOLIVEGREEN=t(s.fromCssColorString("#556B2F")),s.DARKORANGE=t(s.fromCssColorString("#FF8C00")),s.DARKORCHID=t(s.fromCssColorString("#9932CC")),s.DARKRED=t(s.fromCssColorString("#8B0000")),s.DARKSALMON=t(s.fromCssColorString("#E9967A")),s.DARKSEAGREEN=t(s.fromCssColorString("#8FBC8F")),s.DARKSLATEBLUE=t(s.fromCssColorString("#483D8B")),s.DARKSLATEGRAY=t(s.fromCssColorString("#2F4F4F")),s.DARKSLATEGREY=s.DARKSLATEGRAY,s.DARKTURQUOISE=t(s.fromCssColorString("#00CED1")),s.DARKVIOLET=t(s.fromCssColorString("#9400D3")),s.DEEPPINK=t(s.fromCssColorString("#FF1493")),s.DEEPSKYBLUE=t(s.fromCssColorString("#00BFFF")),s.DIMGRAY=t(s.fromCssColorString("#696969")),s.DIMGREY=s.DIMGRAY,s.DODGERBLUE=t(s.fromCssColorString("#1E90FF")),s.FIREBRICK=t(s.fromCssColorString("#B22222")),s.FLORALWHITE=t(s.fromCssColorString("#FFFAF0")),s.FORESTGREEN=t(s.fromCssColorString("#228B22")),s.FUSCHIA=t(s.fromCssColorString("#FF00FF")),s.GAINSBORO=t(s.fromCssColorString("#DCDCDC")),s.GHOSTWHITE=t(s.fromCssColorString("#F8F8FF")),s.GOLD=t(s.fromCssColorString("#FFD700")),s.GOLDENROD=t(s.fromCssColorString("#DAA520")),s.GRAY=t(s.fromCssColorString("#808080")),s.GREEN=t(s.fromCssColorString("#008000")),s.GREENYELLOW=t(s.fromCssColorString("#ADFF2F")),s.GREY=s.GRAY,s.HONEYDEW=t(s.fromCssColorString("#F0FFF0")),s.HOTPINK=t(s.fromCssColorString("#FF69B4")),s.INDIANRED=t(s.fromCssColorString("#CD5C5C")),s.INDIGO=t(s.fromCssColorString("#4B0082")),s.IVORY=t(s.fromCssColorString("#FFFFF0")),s.KHAKI=t(s.fromCssColorString("#F0E68C")),s.LAVENDER=t(s.fromCssColorString("#E6E6FA")),s.LAVENDAR_BLUSH=t(s.fromCssColorString("#FFF0F5")),s.LAWNGREEN=t(s.fromCssColorString("#7CFC00")),s.LEMONCHIFFON=t(s.fromCssColorString("#FFFACD")),s.LIGHTBLUE=t(s.fromCssColorString("#ADD8E6")),s.LIGHTCORAL=t(s.fromCssColorString("#F08080")),s.LIGHTCYAN=t(s.fromCssColorString("#E0FFFF")),s.LIGHTGOLDENRODYELLOW=t(s.fromCssColorString("#FAFAD2")),s.LIGHTGRAY=t(s.fromCssColorString("#D3D3D3")),s.LIGHTGREEN=t(s.fromCssColorString("#90EE90")),s.LIGHTGREY=s.LIGHTGRAY,s.LIGHTPINK=t(s.fromCssColorString("#FFB6C1")),s.LIGHTSEAGREEN=t(s.fromCssColorString("#20B2AA")),s.LIGHTSKYBLUE=t(s.fromCssColorString("#87CEFA")),s.LIGHTSLATEGRAY=t(s.fromCssColorString("#778899")),s.LIGHTSLATEGREY=s.LIGHTSLATEGRAY,s.LIGHTSTEELBLUE=t(s.fromCssColorString("#B0C4DE")),s.LIGHTYELLOW=t(s.fromCssColorString("#FFFFE0")),s.LIME=t(s.fromCssColorString("#00FF00")),s.LIMEGREEN=t(s.fromCssColorString("#32CD32")),s.LINEN=t(s.fromCssColorString("#FAF0E6")),s.MAGENTA=t(s.fromCssColorString("#FF00FF")),s.MAROON=t(s.fromCssColorString("#800000")),s.MEDIUMAQUAMARINE=t(s.fromCssColorString("#66CDAA")),s.MEDIUMBLUE=t(s.fromCssColorString("#0000CD")),s.MEDIUMORCHID=t(s.fromCssColorString("#BA55D3")),s.MEDIUMPURPLE=t(s.fromCssColorString("#9370DB")),s.MEDIUMSEAGREEN=t(s.fromCssColorString("#3CB371")),s.MEDIUMSLATEBLUE=t(s.fromCssColorString("#7B68EE")),s.MEDIUMSPRINGGREEN=t(s.fromCssColorString("#00FA9A")),s.MEDIUMTURQUOISE=t(s.fromCssColorString("#48D1CC")),s.MEDIUMVIOLETRED=t(s.fromCssColorString("#C71585")),s.MIDNIGHTBLUE=t(s.fromCssColorString("#191970")),s.MINTCREAM=t(s.fromCssColorString("#F5FFFA")),s.MISTYROSE=t(s.fromCssColorString("#FFE4E1")),s.MOCCASIN=t(s.fromCssColorString("#FFE4B5")),s.NAVAJOWHITE=t(s.fromCssColorString("#FFDEAD")),s.NAVY=t(s.fromCssColorString("#000080")),s.OLDLACE=t(s.fromCssColorString("#FDF5E6")),s.OLIVE=t(s.fromCssColorString("#808000")),s.OLIVEDRAB=t(s.fromCssColorString("#6B8E23")),s.ORANGE=t(s.fromCssColorString("#FFA500")),s.ORANGERED=t(s.fromCssColorString("#FF4500")),s.ORCHID=t(s.fromCssColorString("#DA70D6")),s.PALEGOLDENROD=t(s.fromCssColorString("#EEE8AA")),s.PALEGREEN=t(s.fromCssColorString("#98FB98")),s.PALETURQUOISE=t(s.fromCssColorString("#AFEEEE")),s.PALEVIOLETRED=t(s.fromCssColorString("#DB7093")),s.PAPAYAWHIP=t(s.fromCssColorString("#FFEFD5")),s.PEACHPUFF=t(s.fromCssColorString("#FFDAB9")),s.PERU=t(s.fromCssColorString("#CD853F")),s.PINK=t(s.fromCssColorString("#FFC0CB")),s.PLUM=t(s.fromCssColorString("#DDA0DD")),s.POWDERBLUE=t(s.fromCssColorString("#B0E0E6")),s.PURPLE=t(s.fromCssColorString("#800080")),s.RED=t(s.fromCssColorString("#FF0000")),s.ROSYBROWN=t(s.fromCssColorString("#BC8F8F")),s.ROYALBLUE=t(s.fromCssColorString("#4169E1")),s.SADDLEBROWN=t(s.fromCssColorString("#8B4513")),s.SALMON=t(s.fromCssColorString("#FA8072")),s.SANDYBROWN=t(s.fromCssColorString("#F4A460")),s.SEAGREEN=t(s.fromCssColorString("#2E8B57")),s.SEASHELL=t(s.fromCssColorString("#FFF5EE")),s.SIENNA=t(s.fromCssColorString("#A0522D")),s.SILVER=t(s.fromCssColorString("#C0C0C0")),s.SKYBLUE=t(s.fromCssColorString("#87CEEB")),s.SLATEBLUE=t(s.fromCssColorString("#6A5ACD")),s.SLATEGRAY=t(s.fromCssColorString("#708090")),s.SLATEGREY=s.SLATEGRAY,s.SNOW=t(s.fromCssColorString("#FFFAFA")),s.SPRINGGREEN=t(s.fromCssColorString("#00FF7F")),s.STEELBLUE=t(s.fromCssColorString("#4682B4")),s.TAN=t(s.fromCssColorString("#D2B48C")),s.TEAL=t(s.fromCssColorString("#008080")),s.THISTLE=t(s.fromCssColorString("#D8BFD8")),s.TOMATO=t(s.fromCssColorString("#FF6347")),s.TURQUOISE=t(s.fromCssColorString("#40E0D0")),s.VIOLET=t(s.fromCssColorString("#EE82EE")),s.WHEAT=t(s.fromCssColorString("#F5DEB3")),s.WHITE=t(s.fromCssColorString("#FFFFFF")),s.WHITESMOKE=t(s.fromCssColorString("#F5F5F5")),s.YELLOW=t(s.fromCssColorString("#FFFF00")),s.YELLOWGREEN=t(s.fromCssColorString("#9ACD32")),s +}),define("Core/Cartesian2",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(r,e,t,n){"use strict";var o=function(e,t){this.x=r(e,0),this.y=r(t,0)};o.fromElements=function(r,t,n){return e(n)?(n.x=r,n.y=t,n):new o(r,t)},o.clone=function(r,t){return e(r)?e(t)?(t.x=r.x,t.y=r.y,t):new o(r.x,r.y):void 0},o.fromCartesian3=o.clone,o.fromCartesian4=o.clone,o.packedLength=2,o.pack=function(e,t,n){n=r(n,0),t[n++]=e.x,t[n]=e.y},o.unpack=function(t,n,i){return n=r(n,0),e(i)||(i=new o),i.x=t[n++],i.y=t[n],i},o.fromArray=o.unpack,o.getMaximumComponent=function(r){return Math.max(r.x,r.y)},o.getMinimumComponent=function(r){return Math.min(r.x,r.y)},o.getMinimumByComponent=function(r,t,n){return e(n)||(n=new o),n.x=Math.min(r.x,t.x),n.y=Math.min(r.y,t.y),n},o.getMaximumByComponent=function(r,t,n){return e(n)||(n=new o),n.x=Math.max(r.x,t.x),n.y=Math.max(r.y,t.y),n},o.magnitudeSquared=function(r){return r.x*r.x+r.y*r.y},o.magnitude=function(r){return Math.sqrt(o.magnitudeSquared(r))};var i=new o;o.distance=function(r,e){return o.subtract(r,e,i),o.magnitude(i)},o.normalize=function(r,t){var n=o.magnitude(r);return e(t)?(t.x=r.x/n,t.y=r.y/n,t):new o(r.x/n,r.y/n)},o.dot=function(r,e){return r.x*e.x+r.y*e.y},o.multiplyComponents=function(r,t,n){return e(n)?(n.x=r.x*t.x,n.y=r.y*t.y,n):new o(r.x*t.x,r.y*t.y)},o.add=function(r,t,n){return e(n)?(n.x=r.x+t.x,n.y=r.y+t.y,n):new o(r.x+t.x,r.y+t.y)},o.subtract=function(r,t,n){return e(n)?(n.x=r.x-t.x,n.y=r.y-t.y,n):new o(r.x-t.x,r.y-t.y)},o.multiplyByScalar=function(r,t,n){return e(n)?(n.x=r.x*t,n.y=r.y*t,n):new o(r.x*t,r.y*t)},o.divideByScalar=function(r,t,n){return e(n)?(n.x=r.x/t,n.y=r.y/t,n):new o(r.x/t,r.y/t)},o.negate=function(r,t){return e(t)?(t.x=-r.x,t.y=-r.y,t):new o(-r.x,-r.y)},o.abs=function(r,t){return e(t)?(t.x=Math.abs(r.x),t.y=Math.abs(r.y),t):new o(Math.abs(r.x),Math.abs(r.y))};var a=new o;o.lerp=function(r,e,t,n){return o.multiplyByScalar(e,t,a),n=o.multiplyByScalar(r,1-t,n),o.add(a,n,n)};var s=new o,u=new o;o.angleBetween=function(r,e){return o.normalize(r,s),o.normalize(e,u),Math.acos(o.dot(s,u))};var l=new o;return o.mostOrthogonalAxis=function(r,e){var t=o.normalize(r,l);return o.abs(t,t),e=t.x<=t.y?o.clone(o.UNIT_X,e):o.clone(o.UNIT_Y,e)},o.equals=function(r,t){return r===t||e(r)&&e(t)&&r.x===t.x&&r.y===t.y},o.equalsEpsilon=function(r,t,n){return r===t||e(r)&&e(t)&&Math.abs(r.x-t.x)<=n&&Math.abs(r.y-t.y)<=n},o.ZERO=n(new o(0,0)),o.UNIT_X=n(new o(1,0)),o.UNIT_Y=n(new o(0,1)),o.prototype.clone=function(r){return o.clone(this,r)},o.prototype.equals=function(r){return o.equals(this,r)},o.prototype.equalsEpsilon=function(r,e){return o.equalsEpsilon(this,r,e)},o.prototype.toString=function(){return"("+this.x+", "+this.y+")"},o}),define("Core/barycentricCoordinates",["./Cartesian2","./Cartesian3","./defined","./DeveloperError"],function(r,e,t){"use strict";var n=new e,o=new e,i=new e,a=function(a,s,u,l,c){t(c)||(c=new e);var f,m,y,h,p,d,v,g;t(s.z)?(f=e.subtract(u,s,n),m=e.subtract(l,s,o),y=e.subtract(a,s,i),h=e.dot(f,f),p=e.dot(f,m),d=e.dot(f,y),v=e.dot(m,m),g=e.dot(m,y)):(f=r.subtract(u,s,n),m=r.subtract(l,s,o),y=r.subtract(a,s,i),h=r.dot(f,f),p=r.dot(f,m),d=r.dot(f,y),v=r.dot(m,m),g=r.dot(m,y));var E=1/(h*v-p*p);return c.y=(v*d-p*g)*E,c.z=(h*g-p*d)*E,c.x=1-c.y-c.z,c};return a}),define("Core/EncodedCartesian3",["./Cartesian3","./defined","./DeveloperError"],function(r,e){"use strict";var t=function(){this.high=r.clone(r.ZERO),this.low=r.clone(r.ZERO)};t.encode=function(r,t){e(t)||(t={high:0,low:0});var n;return r>=0?(n=65536*Math.floor(r/65536),t.high=n,t.low=r-n):(n=65536*Math.floor(-r/65536),t.high=-n,t.low=r+n),t};var n={high:0,low:0};t.fromCartesian=function(r,o){e(o)||(o=new t);var i=o.high,a=o.low;return t.encode(r.x,n),i.x=n.high,a.x=n.low,t.encode(r.y,n),i.y=n.high,a.y=n.low,t.encode(r.z,n),i.z=n.high,a.z=n.low,o};var o=new t;return t.writeElements=function(r,e,n){t.fromCartesian(r,o);var i=o.high,a=o.low;e[n]=i.x,e[n+1]=i.y,e[n+2]=i.z,e[n+3]=a.x,e[n+4]=a.y,e[n+5]=a.z},t}),define("Core/QuadraticRealPolynomial",["./DeveloperError","./Math"],function(r,e){"use strict";function t(r,t,n){var o=r+t;return e.sign(r)!==e.sign(t)&&Math.abs(o/Math.max(Math.abs(r),Math.abs(t)))a&&a/ss&&s/ai)return[];var u=Math.sqrt(i);return[-u,u]}if(0===o)return i=-n/r,0>i?[i,0]:[0,i];var l=n*n,c=4*r*o,f=t(l,-c,e.EPSILON14);if(0>f)return[];var m=-.5*t(n,e.sign(n)*Math.sqrt(f),e.EPSILON14);return n>0?[m/r,o/m]:[o/m,m/r]},n}),define("Core/CubicRealPolynomial",["./DeveloperError","./QuadraticRealPolynomial"],function(r,e){"use strict";function t(r,e,t,n){var o,i,a=r,s=e/3,u=t/3,l=n,c=a*u,f=s*l,m=s*s,y=u*u,h=a*u-m,p=a*l-s*u,d=s*l-y,v=4*h*d-p*p;if(0>v){var g,E,C;m*f>=c*y?(g=a,E=h,C=-2*s*h+a*p):(g=l,E=d,C=-l*p+2*u*d);var S=0>C?-1:1,w=-S*Math.abs(g)*Math.sqrt(-v);i=-C+w;var x=i/2,A=0>x?-Math.pow(-x,1/3):Math.pow(x,1/3),M=i===w?-A:-E/A;return o=0>=E?A+M:-C/(A*A+M*M+E),m*f>=c*y?[(o-s)/a]:[-l/(o+u)]}var b=h,T=-2*s*h+a*p,I=d,O=-l*p+2*u*d,N=Math.sqrt(v),R=Math.sqrt(3)/2,z=Math.abs(Math.atan2(a*N,-T)/3);o=2*Math.sqrt(-b);var L=Math.cos(z);i=o*L;var F=o*(-L/2-R*Math.sin(z)),P=i+F>2*s?i-s:F-s,D=a,B=P/D;z=Math.abs(Math.atan2(l*N,-O)/3),o=2*Math.sqrt(-I),L=Math.cos(z),i=o*L,F=o*(-L/2-R*Math.sin(z));var _=-l,U=2*u>i+F?i+u:F+u,G=_/U,q=D*U,Y=-P*U-D*_,W=P*_,V=(u*Y-s*W)/(-s*Y+u*q);return V>=B?G>=B?G>=V?[B,V,G]:[B,G,V]:[G,B,V]:G>=B?[V,B,G]:G>=V?[V,G,B]:[G,V,B]}var n={};return n.discriminant=function(r,e,t,n){var o=r*r,i=e*e,a=t*t,s=n*n,u=18*r*e*t*n+i*a-27*o*s-4*(r*a*t+i*e*n);return u},n.realRoots=function(r,n,o,i){var a,s;if(0===r)return e.realRoots(n,o,i);if(0===n){if(0===o){if(0===i)return[0,0,0];s=-i/r;var u=0>s?-Math.pow(-s,1/3):Math.pow(s,1/3);return[u,u,u]}return 0===i?(a=e.realRoots(r,0,o),0===a.Length?[0]:[a[0],0,a[1]]):t(r,0,o,i)}return 0===o?0===i?(s=-n/r,0>s?[s,0,0]:[0,0,s]):t(r,n,0,i):0===i?(a=e.realRoots(r,n,o),0===a.length?[0]:a[1]<=0?[a[0],a[1],0]:a[0]>=0?[0,a[0],a[1]]:[a[0],0,a[1]]):t(r,n,o,i)},n}),define("Core/QuarticRealPolynomial",["./DeveloperError","./Math","./CubicRealPolynomial","./QuadraticRealPolynomial"],function(r,e,t,n){"use strict";function o(r,o,i,a){var s=r*r,u=o-3*s/8,l=i-o*r/2+s*r/8,c=a-i*r/4+o*s/16-3*s*s/256,f=t.realRoots(1,2*u,u*u-4*c,-l*l);if(f.length>0){var m=-r/4,y=f[f.length-1];if(Math.abs(y)=0&&v>=0){var g=Math.sqrt(d),E=Math.sqrt(v);return[m-E,m-g,m+g,m+E]}if(d>=0&&0>v)return p=Math.sqrt(d),[m-p,m+p];if(0>d&&v>=0)return p=Math.sqrt(v),[m-p,m+p]}return[]}if(y>0){var C=Math.sqrt(y),S=(u+y-l/C)/2,w=(u+y+l/C)/2,x=n.realRoots(1,C,S),A=n.realRoots(1,-C,w);return 0!==x.length?(x[0]+=m,x[1]+=m,0!==A.length?(A[0]+=m,A[1]+=m,x[1]<=A[0]?[x[0],x[1],A[0],A[1]]:A[1]<=x[0]?[A[0],A[1],x[0],x[1]]:x[0]>=A[0]&&x[1]<=A[1]?[A[0],x[0],x[1],A[1]]:A[0]>=x[0]&&A[1]<=x[1]?[x[0],A[0],A[1],x[1]]:x[0]>A[0]&&x[0]0){var h,p,d=y[0],v=o-d,g=v*v,E=r/2,C=v/2,S=g-4*a,w=g+4*Math.abs(a),x=l-4*d,A=l+4*Math.abs(d);if(0>d||x*w>S*A){var M=Math.sqrt(x);h=M/2,p=0===M?0:(r*C-i)/M}else{var b=Math.sqrt(S);h=0===b?0:(r*C-i)/b,p=b/2}var T,I;0===E&&0===h?(T=0,I=0):e.sign(E)===e.sign(h)?(T=E+h,I=d/T):(I=E-h,T=d/I);var O,N;0===C&&0===p?(O=0,N=0):e.sign(C)===e.sign(p)?(O=C+p,N=a/O):(N=C-p,O=a/N);var R=n.realRoots(1,T,O),z=n.realRoots(1,I,N);if(0!==R.length)return 0!==z.length?R[1]<=z[0]?[R[0],R[1],z[0],z[1]]:z[1]<=R[0]?[z[0],z[1],R[0],R[1]]:R[0]>=z[0]&&R[1]<=z[1]?[z[0],R[0],R[1],z[1]]:z[0]>=R[0]&&z[1]<=R[1]?[R[0],z[0],z[1],R[1]]:R[0]>z[0]&&R[0]l?1:0;switch(y+=0>c?y+1:y,y+=0>f?y+1:y,y+=0>m?y+1:y){case 0:return o(l,c,f,m);case 1:return i(l,c,f,m);case 2:return i(l,c,f,m);case 3:return o(l,c,f,m);case 4:return o(l,c,f,m);case 5:return i(l,c,f,m);case 6:return o(l,c,f,m);case 7:return o(l,c,f,m);case 8:return i(l,c,f,m);case 9:return o(l,c,f,m);case 10:return o(l,c,f,m);case 11:return i(l,c,f,m);case 12:return o(l,c,f,m);case 13:return o(l,c,f,m);case 14:return o(l,c,f,m);case 15:return o(l,c,f,m);default:return void 0}},a}),define("Core/IntersectionTests",["./defined","./DeveloperError","./Math","./Cartesian3","./Cartographic","./Matrix3","./QuadraticRealPolynomial","./QuarticRealPolynomial"],function(r,e,t,n,o,i,a,s){"use strict";function u(r,e,n){var o=r+e;return t.sign(r)!==t.sign(e)&&Math.abs(o/Math.max(Math.abs(r),Math.abs(e)))F;++F){var P,D=f[F],B=D*D,_=Math.max(1-B,0),U=Math.sqrt(_);P=t.sign(h)===t.sign(d)?u(h*B+d,p*D,t.EPSILON12):t.sign(d)===t.sign(p*D)?u(h*B,p*D+d,t.EPSILON12):u(h*B+p*D,d,t.EPSILON12);var G=u(v*D,g,t.EPSILON15),q=P*G;0>q?E.push(new n(l,c*D,c*U)):q>0?E.push(new n(l,c*D,c*-U)):0!==U?(E.push(new n(l,c*D,c*-U)),E.push(new n(l,c*D,c*U)),++F):E.push(new n(l,c*D,c*U))}return E}var c={};c.rayPlane=function(r,e,o){var i=r.origin,a=r.direction,s=e.normal,u=n.dot(s,a);if(Math.abs(u)l?void 0:(o=n.multiplyByScalar(a,l,o),n.add(i,o,o))};var f=new n,m=new n;c.rayEllipsoid=function(r,e){var t,o,i,a,s,u=e.oneOverRadii,l=n.multiplyComponents(u,r.origin,f),c=n.multiplyComponents(u,r.direction,m),y=n.magnitudeSquared(l),h=n.dot(l,c);if(y>1){if(h>=0)return void 0;var p=h*h;if(t=y-1,o=n.magnitudeSquared(c),i=o*t,i>p)return void 0;if(p>i){a=h*h-i,s=-h+Math.sqrt(a);var d=s/o,v=t/s;return v>d?{start:d,stop:v}:{start:v,stop:d}}var g=Math.sqrt(t/o);return{start:g,stop:g}}return 1>y?(t=y-1,o=n.magnitudeSquared(c),i=o*t,a=h*h-i,s=-h+Math.sqrt(a),{start:0,stop:s/o}):0>h?(o=n.magnitudeSquared(c),{start:0,stop:-h/o}):void 0},c.grazingAltitudeLocation=function(e,a){var s=e.origin,u=e.direction,c=a.geodeticSurfaceNormal(s);if(n.dot(u,c)>=0)return s;var f,m,y=r(this.rayEllipsoid(e,a)),h=a.transformPositionToScaledSpace(u),p=n.normalize(h),d=n.mostOrthogonalAxis(h),v=n.normalize(n.cross(d,p)),g=n.normalize(n.cross(p,v)),E=new i(p.x,v.x,g.x,p.y,v.y,g.y,p.z,v.z,g.z),C=i.transpose(E),S=i.fromScale(a.radii),w=i.fromScale(a.oneOverRadii),x=new i(0,u.z,-u.y,-u.z,0,u.x,u.y,-u.x,0),A=i.multiply(i.multiply(C,w),x),M=i.multiply(i.multiply(A,S),E),b=i.multiplyByVector(A,s),T=l(M,n.negate(b),0,0,1),I=T.length;if(I>0){for(var O=n.ZERO,N=Number.NEGATIVE_INFINITY,R=0;I>R;++R){f=i.multiplyByVector(S,i.multiplyByVector(E,T[R]));var z=n.normalize(n.subtract(f,s)),L=n.dot(z,u);L>N&&(N=L,O=f)}var F=a.cartesianToCartographic(O);return N=t.clamp(N,0,1),m=n.magnitude(n.subtract(O,s))*Math.sqrt(1-N*N),m=y?-m:m,a.cartographicToCartesian(new o(F.longitude,F.latitude,m))}return void 0};var y=new n;return c.lineSegmentPlane=function(e,o,i,a){var s=n.subtract(o,e,y),u=i.normal,l=n.dot(u,s);if(Math.abs(l)f||f>1?void 0:(r(a)||(a=new n),n.multiplyByScalar(s,f,a),n.add(e,a,a),a)},c.trianglePlaneIntersection=function(r,e,t,o){var i=o.normal,a=o.distance,s=n.dot(i,r)+a<0,u=n.dot(i,e)+a<0,l=n.dot(i,t)+a<0,f=0;f+=s?1:0,f+=u?1:0,f+=l?1:0;var m,y;if((1===f||2===f)&&(m=new n,y=new n),1===f){if(s)return c.lineSegmentPlane(r,e,o,m),c.lineSegmentPlane(r,t,o,y),{positions:[r,e,t,m,y],indices:[0,3,4,1,2,4,1,4,3]};if(u)return c.lineSegmentPlane(e,t,o,m),c.lineSegmentPlane(e,r,o,y),{positions:[r,e,t,m,y],indices:[1,3,4,2,0,4,2,4,3]};if(l)return c.lineSegmentPlane(t,r,o,m),c.lineSegmentPlane(t,e,o,y),{positions:[r,e,t,m,y],indices:[2,3,4,0,1,4,0,4,3]}}else if(2===f){if(!s)return c.lineSegmentPlane(e,r,o,m),c.lineSegmentPlane(t,r,o,y),{positions:[r,e,t,m,y],indices:[1,2,4,1,4,3,0,3,4]};if(!u)return c.lineSegmentPlane(t,e,o,m),c.lineSegmentPlane(r,e,o,y),{positions:[r,e,t,m,y],indices:[2,0,4,2,4,3,1,3,4]};if(!l)return c.lineSegmentPlane(r,t,o,m),c.lineSegmentPlane(e,t,o,y),{positions:[r,e,t,m,y],indices:[0,1,4,0,4,3,2,3,4]}}return void 0},c}),define("Core/Plane",["./Cartesian3","./defined","./DeveloperError"],function(r,e){"use strict";var t=function(e,t){this.normal=r.clone(e),this.distance=t};return t.fromPointNormal=function(n,o,i){var a=-r.dot(o,n);return e(i)?(r.clone(o,i.normal),i.distance=a,i):new t(o,a)},t.getPointDistance=function(e,t){return r.dot(e.normal,t)+e.distance},t.prototype.getPointDistance=function(r){return t.getPointDistance(this,r)},t}),define("Core/Tipsify",["./defaultValue","./defined","./DeveloperError"],function(r,e){"use strict";var t={};return t.calculateACMR=function(t){t=r(t,r.EMPTY_OBJECT);var n=t.indices,o=t.maximumIndex,i=r(t.cacheSize,24),a=n.length;if(!e(o)){o=0;for(var s=0,u=n[s];a>s;)u>o&&(o=u),++s,u=n[s]}for(var l=[],c=0;o+1>c;c++)l[c]=0;for(var f=i+1,m=0;a>m;++m)f-l[n[m]]>i&&(l[n[m]]=f,++f);return(f-i+1)/(a/3)},t.tipsify=function(t){function n(r,e,t,n){for(;e.length>=1;){var o=e[e.length-1];if(e.splice(e.length-1,1),r[o].numLiveTriangles>0)return o}for(;n>i;){if(r[i].numLiveTriangles>0)return++i,i-1;++i}return-1}function o(r,e,t,o,i,a,s){for(var u,l=-1,c=-1,f=0;fc||-1===c)&&(c=u,l=m)),++f}return-1===l?n(o,a,r,s):l}t=r(t,r.EMPTY_OBJECT);var i,a=t.indices,s=t.maximumIndex,u=r(t.cacheSize,24),l=a.length,c=0,f=0,m=a[f],y=l;if(e(s))c=s+1;else{for(;y>f;)m>c&&(c=m),++f,m=a[f];if(-1===c)return 0;++c}for(var h=[],p=0;c>p;p++)h[p]={numLiveTriangles:0,timeStamp:0,vertexTriangles:[]};f=0;for(var d=0;y>f;)h[a[f]].vertexTriangles.push(d),++h[a[f]].numLiveTriangles,h[a[f+1]].vertexTriangles.push(d),++h[a[f+1]].numLiveTriangles,h[a[f+2]].vertexTriangles.push(d),++h[a[f+2]].numLiveTriangles,++d,f+=3;var v=0,g=u+1;i=1;var E,C,S=[],w=[],x=0,A=[],M=l/3,b=[];for(p=0;M>p;p++)b[p]=!1;for(var T,I;-1!==v;){S=[],C=h[v],I=C.vertexTriangles.length;for(var O=0;I>O;++O)if(d=C.vertexTriangles[O],!b[d]){b[d]=!0,f=d+d+d;for(var N=0;3>N;++N)T=a[f],S.push(T),w.push(T),A[x]=T,++x,E=h[T],--E.numLiveTriangles,g-E.timeStamp>u&&(E.timeStamp=g,++g),++f}v=o(a,u,S,h,g,w,c)}return A},t}),define("Core/GeometryPipeline",["./barycentricCoordinates","./defaultValue","./defined","./DeveloperError","./Cartesian2","./Cartesian3","./Cartesian4","./Cartographic","./EncodedCartesian3","./Intersect","./IntersectionTests","./Math","./Matrix3","./Matrix4","./Plane","./GeographicProjection","./ComponentDatatype","./IndexDatatype","./PrimitiveType","./Tipsify","./BoundingSphere","./Geometry","./GeometryAttribute"],function(r,e,t,n,o,i,a,s,u,l,c,f,m,y,h,p,d,v,g,E,C,S,w){"use strict";function x(r,e,t,n,o){r[e++]=t,r[e++]=n,r[e++]=n,r[e++]=o,r[e++]=o,r[e]=t}function A(r){for(var e=r.length,t=6*(e/3),n=v.createTypedArray(e,t),o=0,i=0;e>i;i+=3,o+=6)x(n,o,r[i],r[i+1],r[i+2]);return n}function M(r){var e=r.length;if(e>=3){var t=6*(e-2),n=v.createTypedArray(e,t);x(n,0,r[0],r[1],r[2]);for(var o=6,i=3;e>i;++i,o+=6)x(n,o,r[i-1],r[i],r[i-2]);return n}return new Uint16Array}function b(r){if(r.length>0){for(var e=r.length-1,t=6*(e-1),n=v.createTypedArray(e,t),o=r[0],i=0,a=1;e>a;++a,i+=6)x(n,i,o,r[a],r[a+1]);return n}return new Uint16Array}function T(r){var e={};for(var n in r)if(r.hasOwnProperty(n)&&t(r[n])&&t(r[n].values)){var o=r[n];e[n]=new w({componentDatatype:o.componentDatatype,componentsPerAttribute:o.componentsPerAttribute,normalize:o.normalize,values:[]})}return e}function I(r,e,n){for(var o in e)if(e.hasOwnProperty(o)&&t(e[o])&&t(e[o].values))for(var i=e[o],a=0;aa;a+=3)i.unpack(n,a,Z),y.multiplyByPoint(r,Z,Z),i.pack(Z,n,a)}function N(r,e){if(t(e))for(var n=e.values,o=n.length,a=0;o>a;a+=3)i.unpack(n,a,Z),m.multiplyByVector(r,Z,Z),Z=i.normalize(Z,Z),i.pack(Z,n,a)}function R(r){var e,n=r.length,o={},i=r[0].geometry.attributes;for(e in i)if(i.hasOwnProperty(e)&&t(i[e])&&t(i[e].values)){for(var a=i[e],s=a.values.length,u=!0,l=1;n>l;++l){var c=r[l].geometry.attributes[e];if(!t(c)||a.componentDatatype.value!==c.componentDatatype.value||a.componentsPerAttribute!==c.componentsPerAttribute||a.normalize!==c.normalize){u=!1;break}s+=c.values.length}u&&(o[e]=new w({componentDatatype:a.componentDatatype,componentsPerAttribute:a.componentsPerAttribute,normalize:a.normalize,values:d.createTypedArray(a.componentDatatype,s)}))}return o}function z(r){if(t(r.indices))return r;for(var e=S.computeNumberOfVertices(r),n=v.createTypedArray(e,e),o=0;e>o;++o)n[o]=o;return r.indices=n,r}function L(r){var e=S.computeNumberOfVertices(r),t=v.createTypedArray(e,3*(e-2));t[0]=1,t[1]=0,t[2]=2;for(var n=3,o=3;e>o;++o)t[n++]=o-1,t[n++]=0,t[n++]=o;return r.indices=t,r.primitiveType=g.TRIANGLES,r}function F(r){var e=S.computeNumberOfVertices(r),t=v.createTypedArray(e,3*(e-2));t[0]=0,t[1]=1,t[2]=2,e>3&&(t[3]=0,t[4]=2,t[5]=3);for(var n=6,o=3;e-1>o;o+=2)t[n++]=o,t[n++]=o-1,t[n++]=o+1,e>o+2&&(t[n++]=o,t[n++]=o+1,t[n++]=o+2);return r.indices=t,r.primitiveType=g.TRIANGLES,r}function P(r){if(t(r.indices))return r;for(var e=S.computeNumberOfVertices(r),n=v.createTypedArray(e,e),o=0;e>o;++o)n[o]=o;return r.indices=n,r}function D(r){var e=S.computeNumberOfVertices(r),t=v.createTypedArray(e,2*(e-1));t[0]=0,t[1]=1;for(var n=2,o=2;e>o;++o)t[n++]=o-1,t[n++]=o;return r.indices=t,r.primitiveType=g.LINES,r}function B(r){var e=S.computeNumberOfVertices(r),t=v.createTypedArray(e,2*e);t[0]=0,t[1]=1;for(var n=2,o=2;e>o;++o)t[n++]=o-1,t[n++]=o;return t[n++]=e-1,t[n]=0,r.indices=t,r.primitiveType=g.LINES,r}function _(r){switch(r.primitiveType){case g.TRIANGLE_FAN:return L(r);case g.TRIANGLE_STRIP:return F(r);case g.TRIANGLES:return z(r);case g.LINE_STRIP:return D(r);case g.LINE_LOOP:return B(r);case g.LINES:return P(r)}return r}function U(r,e){Math.abs(r.y)=0||e.x>=0||t.x>=0)return void 0;var n=r.y<0,o=e.y<0,i=t.y<0;U(r,n),U(e,o),U(t,i);var a=0;a+=n?1:0,a+=o?1:0,a+=i?1:0;var s=ce.indices;1===a?(s[1]=3,s[2]=4,s[5]=6,s[7]=6,s[8]=5,n?(G(r,e,ae,ue),G(r,t,se,le),s[0]=0,s[3]=1,s[4]=2,s[6]=1):o?(G(e,t,ae,ue),G(e,r,se,le),s[0]=1,s[3]=2,s[4]=0,s[6]=2):i&&(G(t,r,ae,ue),G(t,e,se,le),s[0]=2,s[3]=0,s[4]=1,s[6]=0)):2===a&&(s[2]=4,s[4]=4,s[5]=3,s[7]=5,s[8]=6,n?o?i||(G(t,r,ae,ue),G(t,e,se,le),s[0]=0,s[1]=1,s[3]=0,s[6]=2):(G(e,t,ae,ue),G(e,r,se,le),s[0]=2,s[1]=0,s[3]=2,s[6]=1):(G(r,e,ae,ue),G(r,t,se,le),s[0]=1,s[1]=2,s[3]=1,s[6]=0));var u=ce.positions;return u[0]=r,u[1]=e,u[2]=t,ce.length=3,(1===a||2===a)&&(u[3]=ae,u[4]=se,u[5]=ue,u[6]=le,ce.length=7),ce}function Y(e,n,a,s,u,l,c,f){if(t(u)||t(l)||t(c)||t(f)){var m,y,h,p,d,v,g,E,C,S,w,x,A,M,b,T,I,O,N=s.positions,R=N[0],z=N[1],L=N[2];t(u)&&(m=i.fromArray(u,3*e),y=i.fromArray(u,3*n),h=i.fromArray(u,3*a)),t(l)&&(p=i.fromArray(l,3*e),d=i.fromArray(l,3*n),v=i.fromArray(l,3*a)),t(c)&&(g=i.fromArray(c,3*e),E=i.fromArray(c,3*n),C=i.fromArray(c,3*a)),t(f)&&(S=o.fromArray(f,2*e),w=o.fromArray(f,2*n),x=o.fromArray(f,2*a));for(var F=3;FE;E+=3){var C=l[E],w=l[E+1],x=l[E+2],A=i.fromArray(n,3*C),M=i.fromArray(n,3*w),b=i.fromArray(n,3*x),T=q(A,M,b);if(t(T))if(c[3*C+1]=T.positions[0].y,c[3*w+1]=T.positions[1].y,c[3*x+1]=T.positions[2].y,T.length>3){for(var I=c.length/3,O=0;ON?p.push(l[E+N]):p.push(N-3+I)}for(var R=3;Rm;m+=2){var y=o[m],p=o[m+1],d=i.fromArray(n,3*y),g=i.fromArray(n,3*p);if(Math.abs(d.y)c;c+=3)u[l++]=i[c],u[l++]=i[c+1],u[l++]=i[c+2],u[l++]=i[c]+a[c]*o,u[l++]=i[c+1]+a[c+1]*o,u[l++]=i[c+2]+a[c+2]*o;var f,m=r.boundingSphere;return t(m)&&(f=new C(m.center,m.radius+o)),new S({attributes:{position:new w({componentDatatype:d.DOUBLE,componentsPerAttribute:3,values:u})},primitiveType:g.LINES,boundingSphere:f})},H.createAttributeLocations=function(r){var e,n=["position","positionHigh","positionLow","position3DHigh","position3DLow","position2DHigh","position2DLow","pickColor","normal","st","binormal","tangent"],o=r.attributes,i={},a=0,s=n.length;for(e=0;s>e;++e){var u=n[e];t(o[u])&&(i[u]=a++)}for(var l in o)o.hasOwnProperty(l)&&!t(i[l])&&(i[l]=a++);return i},H.reorderForPreVertexCache=function(r){var e=S.computeNumberOfVertices(r),n=r.indices;if(t(n)){for(var o=new Int32Array(e),i=0;e>i;i++)o[i]=-1;for(var a,s=n,u=s.length,l=v.createTypedArray(e,u),c=0,f=0,m=0;u>c;)a=o[s[c]],-1!==a?l[f]=a:(a=s[c],o[a]=m,l[f]=m,++m),++c,++f;r.indices=l;var y=r.attributes;for(var h in y)if(y.hasOwnProperty(h)&&t(y[h])&&t(y[h].values)){for(var p=y[h],g=p.values,E=0,C=p.componentsPerAttribute,w=d.createTypedArray(p.componentDatatype,m*C);e>E;){var x=o[E];if(-1!==x)for(i=0;C>i;i++)w[C*x+i]=g[C*E+i];++E}p.values=w}}return r},H.reorderForPostVertexCache=function(r,e){var n=r.indices;if(r.primitiveType===g.TRIANGLES&&t(n)){for(var o=n.length,i=0,a=0;o>a;a++)n[a]>i&&(i=n[a]);r.indices=E.tipsify({indices:n,maximumIndex:i,cacheSize:e})}return r},H.fitToUnsignedShortIndices=function(r){var e=[],n=S.computeNumberOfVertices(r);if(t(r.indices)&&n>f.SIXTY_FOUR_KILOBYTES){var o,i=[],a=[],s=0,u=T(r.attributes),l=r.indices,c=l.length;r.primitiveType===g.TRIANGLES?o=3:r.primitiveType===g.LINES?o=2:r.primitiveType===g.POINTS&&(o=1);for(var m=0;c>m;m+=o){for(var y=0;o>y;++y){var h=l[m+y],p=i[h];t(p)||(p=s++,i[h]=p,I(u,r.attributes,h)),a.push(p)}s+o>f.SIXTY_FOUR_KILOBYTES&&(e.push(new S({attributes:u,indices:a,primitiveType:r.primitiveType,boundingSphere:r.boundingSphere})),i=[],a=[],s=0,u=T(r.attributes))}0!==a.length&&e.push(new S({attributes:u,indices:a,primitiveType:r.primitiveType,boundingSphere:r.boundingSphere}))}else e.push(r);return e};var k=new i,K=new s;H.projectTo2D=function(r,e,o,a,s){var u=r.attributes[e];s=t(s)?s:new p;for(var l=s.ellipsoid,c=u.values,f=new Float64Array(c.length),m=0,y=0;yc;++c)u.encode(i[c],j),s[c]=j.high,l[c]=j.low;var f=o.componentsPerAttribute;return r.attributes[t]=new w({componentDatatype:d.FLOAT,componentsPerAttribute:f,values:s}),r.attributes[n]=new w({componentDatatype:d.FLOAT,componentsPerAttribute:f,values:l}),delete r.attributes[e],r};var Z=new i,Q=new y,X=new m;H.transformToWorldCoordinates=function(r){var e=r.modelMatrix;if(y.equals(e,y.IDENTITY))return r;var n=r.geometry.attributes;O(e,n.position),O(e,n.prevPosition),O(e,n.nextPosition),(t(n.normal)||t(n.binormal)||t(n.tangent))&&(y.inverse(e,Q),y.transpose(Q,Q),y.getRotation(Q,X),N(X,n.normal),N(X,n.binormal),N(X,n.tangent));var o=r.geometry.boundingSphere;return t(o)&&(r.geometry.boundingSphere=C.transform(o,e,o)),r.modelMatrix=y.clone(y.IDENTITY),r},H.combine=function(r){var e,n,o,a,s=r.length;r[0].modelMatrix;var u,l,c,f=t(r[0].geometry.indices),m=r[0].geometry.primitiveType,y=R(r);for(e in y)if(y.hasOwnProperty(e))for(u=y[e].values,a=0,n=0;s>n;++n)for(l=r[n].geometry.attributes[e].values,c=l.length,o=0;c>o;++o)u[a++]=l[o];var h;if(f){var p=0;for(n=0;s>n;++n)p+=r[n].geometry.indices.length;var d=S.computeNumberOfVertices(new S({attributes:y,primitiveType:g.POINTS})),E=v.createTypedArray(d,p),w=0,x=0;for(n=0;s>n;++n){var A=r[n].geometry.indices,M=A.length;for(a=0;M>a;++a)E[w++]=x+A[a];x+=S.computeNumberOfVertices(r[n].geometry)}h=E}var b,T=new i,I=0;for(n=0;s>n;++n){if(b=r[n].geometry.boundingSphere,!t(b)){T=void 0;break}i.add(b.center,T,T)}if(t(T))for(i.divideByScalar(T,s,T),n=0;s>n;++n){b=r[n].geometry.boundingSphere;var O=i.magnitude(i.subtract(b.center,T))+b.radius;O>I&&(I=O)}return new S({attributes:y,indices:h,primitiveType:m,boundingSphere:t(T)?new C(T,I):void 0})};var J=new i,$=new i,re=new i,ee=new i;H.computeNormal=function(r){for(var e=r.indices,t=r.attributes,n=t.position.values,o=t.position.values.length/3,a=e.length,s=new Array(o),u=new Array(a/3),l=new Array(a),c=0;o>c;c++)s[c]={indexOffset:0,count:0,currentCount:0};var f=0;for(c=0;a>c;c+=3){var m=e[c],y=e[c+1],h=e[c+2],p=3*m,v=3*y,g=3*h;$.x=n[p],$.y=n[p+1],$.z=n[p+2],re.x=n[v],re.y=n[v+1],re.z=n[v+2],ee.x=n[g],ee.y=n[g+1],ee.z=n[g+2],s[m].count++,s[y].count++,s[h].count++,i.subtract(re,$,re),i.subtract(ee,$,ee),u[f]=i.cross(re,ee),f++}var E=0;for(c=0;o>c;c++)s[c].indexOffset+=E,E+=s[c].count;f=0;var C;for(c=0;a>c;c+=3){C=s[e[c]];var S=C.indexOffset+C.currentCount;l[S]=f,C.currentCount++,C=s[e[c+1]],S=C.indexOffset+C.currentCount,l[S]=f,C.currentCount++,C=s[e[c+2]],S=C.indexOffset+C.currentCount,l[S]=f,C.currentCount++,f++}var x=new Float32Array(3*o);for(c=0;o>c;c++){var A=3*c;if(C=s[c],C.count>0){for(i.clone(i.ZERO,J),f=0;fl;l+=3){var y=e[l],h=e[l+1],p=e[l+2];c=3*y,f=3*h,m=3*p;var v=2*y,g=2*h,E=2*p,C=t[c],S=t[c+1],x=t[c+2],A=o[v],M=o[v+1],b=o[g+1]-M,T=o[E+1]-M,I=1/((o[g]-A)*T-(o[E]-A)*b),O=(T*(t[f]-C)-b*(t[m]-C))*I,N=(T*(t[f+1]-S)-b*(t[m+1]-S))*I,R=(T*(t[f+2]-x)-b*(t[m+2]-x))*I;u[c]+=O,u[c+1]+=N,u[c+2]+=R,u[f]+=O,u[f+1]+=N,u[f+2]+=R,u[m]+=O,u[m+1]+=N,u[m+2]+=R}var z=new Float32Array(3*a),L=new Float32Array(3*a);for(l=0;a>l;l++){c=3*l,f=c+1,m=c+2;var F=i.fromArray(n,c,te),P=i.fromArray(u,c,oe),D=i.dot(F,P);i.multiplyByScalar(F,D,ne),i.normalize(i.subtract(P,ne,P),P),L[c]=P.x,L[f]=P.y,L[m]=P.z,i.normalize(i.cross(F,P,P),P),z[c]=P.x,z[f]=P.y,z[m]=P.z}return r.attributes.tangent=new w({componentDatatype:d.FLOAT,componentsPerAttribute:3,values:L}),r.attributes.binormal=new w({componentDatatype:d.FLOAT,componentsPerAttribute:3,values:z}),r};var ie=new i,ae=new i,se=new i,ue=new i,le=new i,ce={positions:new Array(7),indices:new Array(9)};return H.wrapLongitude=function(r){var e=r.boundingSphere;if(t(e)){var n=e.center.x-e.radius;if(n>0||C.intersect(e,a.UNIT_Y)!==l.INTERSECTING)return r}return _(r),r.primitiveType===g.TRIANGLES?W(r):r.primitiveType===g.LINES&&V(r),r},H}),define("Scene/PrimitivePipeline",["../Core/defined","../Core/defaultValue","../Core/Color","../Core/ComponentDatatype","../Core/DeveloperError","../Core/FeatureDetection","../Core/Geometry","../Core/GeometryAttribute","../Core/GeometryPipeline","../Core/Matrix4"],function(r,e,t,n,o,i,a,s,u,l){"use strict";function c(r,e,t){var n,o=!t,i=r.length;if(!o&&i>1){var a=r[0].modelMatrix;for(n=1;i>n;++n)if(!l.equals(a,r[n].modelMatrix)){o=!0;break}}if(o)for(n=0;i>n;++n)u.transformToWorldCoordinates(r[n]);else l.clone(r[0].modelMatrix,e)}function f(r,e){for(var o=r.length,i=0;o>i;++i){var a=r[i],u=a.geometry,l=u.attributes,c=l.position,f=4*(c.values.length/c.componentsPerAttribute);l.pickColor=new s({componentDatatype:n.UNSIGNED_BYTE,componentsPerAttribute:4,normalize:!0,values:new Uint8Array(f)});for(var m=e[i],y=t.floatToByte(m.red),h=t.floatToByte(m.green),p=t.floatToByte(m.blue),d=t.floatToByte(m.alpha),v=l.pickColor.values,g=0;f>g;g+=4)v[g]=y,v[g+1]=h,v[g+2]=p,v[g+3]=d}}function m(e){var t,n=e.length,o=[],i=e[0].attributes;for(t in i)if(i.hasOwnProperty(t)){for(var a=i[t],s=!0,u=1;n>u;++u){var l=e[u].attributes[t]; +if(!r(l)||a.componentDatatype.value!==l.componentDatatype.value||a.componentsPerAttribute!==l.componentsPerAttribute||a.normalize!==l.normalize){s=!1;break}}s&&o.push(t)}return o}function y(r,e){for(var t=r.length,o=0;t>o;++o)for(var i=r[o],u=i.attributes,l=i.geometry,c=a.computeNumberOfVertices(l),f=e.length,m=0;f>m;++m){for(var y=e[m],h=u[y],p=h.componentDatatype,d=h.value,v=d.length,g=n.createTypedArray(p,c*v),E=0;c>E;++E)g.set(d,E*v);l.attributes[y]=new s({componentDatatype:p,componentsPerAttribute:v,normalize:h.normalize,values:g})}}function h(r){var e,t=r.instances,o=r.pickIds,i=r.projection,a=r.elementIndexUintSupported,s=r.allow3DOnly,l=r.allowPicking,h=r.vertexCacheOptimize,p=r.modelMatrix,d=t.length;if(t[0].geometry.primitiveType,c(t,p,s),!s)for(e=0;d>e;++e)u.wrapLongitude(t[e].geometry);l&&f(t,o);var v=m(t);if(y(t,v),h)for(e=0;d>e;++e)u.reorderForPostVertexCache(t[e].geometry),u.reorderForPreVertexCache(t[e].geometry);var g,E=u.combine(t),C=E.attributes;if(s)for(g in C)C.hasOwnProperty(g)&&C[g].componentDatatype.value===n.DOUBLE.value&&u.encodeAttribute(E,g,g+"3DHigh",g+"3DLow");else for(g in C)if(C.hasOwnProperty(g)&&C[g].componentDatatype.value===n.DOUBLE.value){var S=g+"3D",w=g+"2D";u.projectTo2D(E,g,S,w,i),u.encodeAttribute(E,S,S+"High",S+"Low"),u.encodeAttribute(E,w,w+"High",w+"Low")}return a?[E]:u.fitToUnsignedShortIndices(E)}function p(r,e,t){for(var o=[],i=r.attributes,a=t.length,s=0;a>s;++s){var u=t[s],l=i[u],c=l.componentDatatype;c.value===n.DOUBLE.value&&(c=n.FLOAT);var f=n.createTypedArray(c,l.values);o.push({index:e[u],componentDatatype:c,componentsPerAttribute:l.componentsPerAttribute,normalize:l.normalize,values:f}),delete i[u]}return o}function d(t,n,o){for(var i=[],s=m(t),u=t.length,l={},c={},f=0;u>f;++f)for(var y=t[f],h=a.computeNumberOfVertices(y.geometry),p=s.length,d=0;p>d;++d)for(var v=s[d],g=o[v],E=h;E>0;){for(var C,S=e(c[v],0),w=n[S],x=w.length,A=0;x>A&&(C=w[A],C.index!==g);++A);r(i[f])||(i[f]={}),r(i[f][v])||(i[f][v]={dirty:!1,value:y.attributes[v].value,indices:[]});var M,b=C.values.length/C.componentsPerAttribute,T=e(l[v],0);b>T+E?(M=E,i[f][v].indices.push({attribute:C,offset:T,count:M}),l[v]=T+E):(M=b-T,i[f][v].indices.push({attribute:C,offset:T,count:M}),l[v]=0,c[v]=S+1),E-=M}return i}function v(e){return r(e.constructor.name)?{type:e.constructor.name,buffer:e.buffer}:e}function g(e){return r(e.type)?new C[e.type](e.buffer):e}if(!i.supportsTypedArrays())return{};var E={};E.combineGeometry=function(r){for(var e={instances:r.instances,pickIds:r.pickIds,ellipsoid:r.ellipsoid,projection:r.projection,elementIndexUintSupported:r.elementIndexUintSupported,allow3DOnly:r.allow3DOnly,allowPicking:r.allowPicking,vertexCacheOptimize:r.vertexCacheOptimize,modelMatrix:l.clone(r.modelMatrix)},t=h(e),n=u.createAttributeLocations(t[0]),o=e.instances,i=m(o),a=[],s=t.length,c=0;s>c;++c){var f=t[c];a.push(p(f,n,i))}var y=d(o,a,n);return{geometries:t,modelMatrix:e.modelMatrix,attributeLocations:n,vaAttributes:a,vaAttributeLocations:y}};var C={Int8Array:Int8Array,Uint8Array:Uint8Array,Int16Array:Int16Array,Uint16Array:Uint16Array,Int32Array:Int32Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array};return E.transferGeometry=function(e,t){var n,o=e.attributes;for(var a in o)o.hasOwnProperty(a)&&r(o[a])&&r(o[a].values)&&(n=o[a].values,i.supportsTransferringArrayBuffers()&&t.indexOf(o[a].values.buffer)<0&&t.push(n.buffer),r(n.type)||(o[a].values=v(n)));r(e.indices)&&(n=e.indices,i.supportsTransferringArrayBuffers()&&t.push(n.buffer),r(n.type)||(e.indices=v(e.indices)))},E.transferGeometries=function(r,e){for(var t=r.length,n=0;t>n;++n)E.transferGeometry(r[n],e)},E.transferPerInstanceAttributes=function(r,e){for(var t=r.length,n=0;t>n;++n)for(var o=r[n],a=o.length,s=0;a>s;++s){var u=o[s].values;i.supportsTransferringArrayBuffers()&&e.push(u.buffer),o[s].values=v(u)}},E.transferInstances=function(r,e){for(var t=r.length,n=0;t>n;++n){var o=r[n];E.transferGeometry(o.geometry,e)}},E.receiveGeometry=function(e){var t=e.attributes;for(var n in t)t.hasOwnProperty(n)&&r(t[n])&&r(t[n].values)&&(t[n].values=g(t[n].values));r(e.indices)&&(e.indices=g(e.indices))},E.receiveGeometries=function(r){for(var e=r.length,t=0;e>t;++t)E.receiveGeometry(r[t])},E.receivePerInstanceAttributes=function(r){for(var e=r.length,t=0;e>t;++t)for(var n=r[t],o=n.length,i=0;o>i;++i)n[i].values=g(n[i].values)},E.receiveInstances=function(r){for(var e=r.length,t=0;e>t;++t){var n=r[t];E.receiveGeometry(n.geometry)}},E}),define("Workers/createTaskProcessorWorker",["../Core/defaultValue","../Core/defined"],function(r,e){"use strict";var t=function(t){var n,o=[],i={id:void 0,result:void 0,error:void 0};return function(a){var s=a.data;o.length=0,i.id=s.id,i.error=void 0,i.result=void 0;try{i.result=t(s.parameters,o)}catch(u){i.error=u}e(n)||(n=r(self.webkitPostMessage,self.postMessage));try{n(i,o)}catch(u){i.result=void 0,i.error="postMessage failed with error: "+u+"\n with responseMessage: "+JSON.stringify(i),n(i)}}};return t}),define("Workers/createEllipsoidOutlineGeometry",["../Core/EllipsoidOutlineGeometry","../Scene/PrimitivePipeline","./createTaskProcessorWorker"],function(r,e,t){"use strict";function n(t,n){var o=t.geometry,i=r.createGeometry(o);return e.transferGeometry(i,n),{geometry:i,index:t.index}}return t(n)})}(); \ No newline at end of file diff --git a/Cesium/Workers/createExtentGeometry.js b/Cesium/Workers/createExtentGeometry.js new file mode 100644 index 0000000..12173b1 --- /dev/null +++ b/Cesium/Workers/createExtentGeometry.js @@ -0,0 +1,61 @@ +/** + * Cesium - https://github.com/AnalyticalGraphicsInc/cesium + * + * Copyright 2011-2014 Cesium Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Columbus View (Pat. Pend.) + * + * Portions licensed separately. + * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details. + */ +/** +@license +mersenne-twister.js - https://gist.github.com/banksean/300494 + + Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura, + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. The names of its contributors may not be used to endorse or promote + products derived from this software without specific prior written + permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +!function(){define("Core/defined",[],function(){"use strict";var t=function(t){return void 0!==t};return t}),define("Core/freezeObject",["./defined"],function(t){"use strict";var e=Object.freeze;return t(e)||(e=function(t){return t}),e}),define("Core/defaultValue",["./freezeObject"],function(t){"use strict";var e=function(t,e){return void 0!==t?t:e};return e.EMPTY_OBJECT=t({}),e}),define("Core/DeveloperError",["./defined"],function(t){"use strict";var e=function(t){this.name="DeveloperError",this.message=t;var e;try{throw new Error}catch(r){e=r.stack}this.stack=e};return e.prototype.toString=function(){var e=this.name+": "+this.message;return t(this.stack)&&(e+="\n"+this.stack.toString()),e},e.throwInstantiationError=function(){throw new e("This function defines an interface and should not be called directly.")},e}),define("Core/Cartesian3",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(t,e,r,n){"use strict";var o=function(e,r,n){this.x=t(e,0),this.y=t(r,0),this.z=t(n,0)};o.fromSpherical=function(r,n){e(n)||(n=new o);var a=r.clock,i=r.cone,s=t(r.magnitude,1),u=s*Math.sin(i);return n.x=u*Math.cos(a),n.y=u*Math.sin(a),n.z=s*Math.cos(i),n},o.fromElements=function(t,r,n,a){return e(a)?(a.x=t,a.y=r,a.z=n,a):new o(t,r,n)},o.clone=function(t,r){return e(t)?e(r)?(r.x=t.x,r.y=t.y,r.z=t.z,r):new o(t.x,t.y,t.z):void 0},o.fromCartesian4=o.clone,o.packedLength=3,o.pack=function(e,r,n){n=t(n,0),r[n++]=e.x,r[n++]=e.y,r[n]=e.z},o.unpack=function(r,n,a){return n=t(n,0),e(a)||(a=new o),a.x=r[n++],a.y=r[n++],a.z=r[n],a},o.fromArray=o.unpack,o.getMaximumComponent=function(t){return Math.max(t.x,t.y,t.z)},o.getMinimumComponent=function(t){return Math.min(t.x,t.y,t.z)},o.getMinimumByComponent=function(t,r,n){return e(n)||(n=new o),n.x=Math.min(t.x,r.x),n.y=Math.min(t.y,r.y),n.z=Math.min(t.z,r.z),n},o.getMaximumByComponent=function(t,r,n){return e(n)||(n=new o),n.x=Math.max(t.x,r.x),n.y=Math.max(t.y,r.y),n.z=Math.max(t.z,r.z),n},o.magnitudeSquared=function(t){return t.x*t.x+t.y*t.y+t.z*t.z},o.magnitude=function(t){return Math.sqrt(o.magnitudeSquared(t))};var a=new o;o.distance=function(t,e){return o.subtract(t,e,a),o.magnitude(a)},o.normalize=function(t,r){var n=o.magnitude(t);return e(r)?(r.x=t.x/n,r.y=t.y/n,r.z=t.z/n,r):new o(t.x/n,t.y/n,t.z/n)},o.dot=function(t,e){return t.x*e.x+t.y*e.y+t.z*e.z},o.multiplyComponents=function(t,r,n){return e(n)?(n.x=t.x*r.x,n.y=t.y*r.y,n.z=t.z*r.z,n):new o(t.x*r.x,t.y*r.y,t.z*r.z)},o.add=function(t,r,n){return e(n)?(n.x=t.x+r.x,n.y=t.y+r.y,n.z=t.z+r.z,n):new o(t.x+r.x,t.y+r.y,t.z+r.z)},o.subtract=function(t,r,n){return e(n)?(n.x=t.x-r.x,n.y=t.y-r.y,n.z=t.z-r.z,n):new o(t.x-r.x,t.y-r.y,t.z-r.z)},o.multiplyByScalar=function(t,r,n){return e(n)?(n.x=t.x*r,n.y=t.y*r,n.z=t.z*r,n):new o(t.x*r,t.y*r,t.z*r)},o.divideByScalar=function(t,r,n){return e(n)?(n.x=t.x/r,n.y=t.y/r,n.z=t.z/r,n):new o(t.x/r,t.y/r,t.z/r)},o.negate=function(t,r){return e(r)?(r.x=-t.x,r.y=-t.y,r.z=-t.z,r):new o(-t.x,-t.y,-t.z)},o.abs=function(t,r){return e(r)?(r.x=Math.abs(t.x),r.y=Math.abs(t.y),r.z=Math.abs(t.z),r):new o(Math.abs(t.x),Math.abs(t.y),Math.abs(t.z))};var i=new o;o.lerp=function(t,e,r,n){return o.multiplyByScalar(e,r,i),n=o.multiplyByScalar(t,1-r,n),o.add(i,n,n)};var s=new o,u=new o;o.angleBetween=function(t,e){o.normalize(t,s),o.normalize(e,u);var r=o.dot(s,u),n=o.magnitude(o.cross(s,u,s));return Math.atan2(n,r)};var l=new o;return o.mostOrthogonalAxis=function(t,e){var r=o.normalize(t,l);return o.abs(r,r),e=r.x<=r.y?r.x<=r.z?o.clone(o.UNIT_X,e):o.clone(o.UNIT_Z,e):r.y<=r.z?o.clone(o.UNIT_Y,e):o.clone(o.UNIT_Z,e)},o.equals=function(t,r){return t===r||e(t)&&e(r)&&t.x===r.x&&t.y===r.y&&t.z===r.z},o.equalsEpsilon=function(t,r,n){return t===r||e(t)&&e(r)&&Math.abs(t.x-r.x)<=n&&Math.abs(t.y-r.y)<=n&&Math.abs(t.z-r.z)<=n},o.cross=function(t,r,n){var a=t.x,i=t.y,s=t.z,u=r.x,l=r.y,c=r.z,f=i*c-s*l,h=s*u-a*c,m=a*l-i*u;return e(n)?(n.x=f,n.y=h,n.z=m,n):new o(f,h,m)},o.ZERO=n(new o(0,0,0)),o.UNIT_X=n(new o(1,0,0)),o.UNIT_Y=n(new o(0,1,0)),o.UNIT_Z=n(new o(0,0,1)),o.prototype.clone=function(t){return o.clone(this,t)},o.prototype.equals=function(t){return o.equals(this,t)},o.prototype.equalsEpsilon=function(t,e){return o.equalsEpsilon(this,t,e)},o.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+")"},o}),define("ThirdParty/mersenne-twister",[],function(){var t=function(t){void 0==t&&(t=(new Date).getTime()),this.N=624,this.M=397,this.MATRIX_A=2567483615,this.UPPER_MASK=2147483648,this.LOWER_MASK=2147483647,this.mt=new Array(this.N),this.mti=this.N+1,this.init_genrand(t)};return t.prototype.init_genrand=function(t){for(this.mt[0]=t>>>0,this.mti=1;this.mti>>30;this.mt[this.mti]=(1812433253*((4294901760&t)>>>16)<<16)+1812433253*(65535&t)+this.mti,this.mt[this.mti]>>>=0}},t.prototype.genrand_int32=function(){var t,e=new Array(0,this.MATRIX_A);if(this.mti>=this.N){var r;for(this.mti==this.N+1&&this.init_genrand(5489),r=0;r>>1^e[1&t];for(;r>>1^e[1&t];t=this.mt[this.N-1]&this.UPPER_MASK|this.mt[0]&this.LOWER_MASK,this.mt[this.N-1]=this.mt[this.M-1]^t>>>1^e[1&t],this.mti=0}return t=this.mt[this.mti++],t^=t>>>11,t^=2636928640&t<<7,t^=4022730752&t<<15,t^=t>>>18,t>>>0},t.prototype.random=function(){return this.genrand_int32()*(1/4294967296)},t}),define("Core/Math",["./defaultValue","./defined","./DeveloperError","../ThirdParty/mersenne-twister"],function(t,e,r,n){"use strict";var o={};o.EPSILON1=.1,o.EPSILON2=.01,o.EPSILON3=.001,o.EPSILON4=1e-4,o.EPSILON5=1e-5,o.EPSILON6=1e-6,o.EPSILON7=1e-7,o.EPSILON8=1e-8,o.EPSILON9=1e-9,o.EPSILON10=1e-10,o.EPSILON11=1e-11,o.EPSILON12=1e-12,o.EPSILON13=1e-13,o.EPSILON14=1e-14,o.EPSILON15=1e-15,o.EPSILON16=1e-16,o.EPSILON17=1e-17,o.EPSILON18=1e-18,o.EPSILON19=1e-19,o.EPSILON20=1e-20,o.GRAVITATIONALPARAMETER=3986004418e5,o.SOLAR_RADIUS=6955e5,o.LUNAR_RADIUS=1737400,o.SIXTY_FOUR_KILOBYTES=65536,o.sign=function(t){return t>0?1:0>t?-1:0},o.sinh=function(t){var e=Math.pow(Math.E,t),r=Math.pow(Math.E,-1*t);return.5*(e-r)},o.cosh=function(t){var e=Math.pow(Math.E,t),r=Math.pow(Math.E,-1*t);return.5*(e+r)},o.lerp=function(t,e,r){return(1-r)*t+r*e},o.PI=Math.PI,o.ONE_OVER_PI=1/Math.PI,o.PI_OVER_TWO=.5*Math.PI,o.PI_OVER_THREE=Math.PI/3,o.PI_OVER_FOUR=Math.PI/4,o.PI_OVER_SIX=Math.PI/6,o.THREE_PI_OVER_TWO=.5*3*Math.PI,o.TWO_PI=2*Math.PI,o.ONE_OVER_TWO_PI=1/(2*Math.PI),o.RADIANS_PER_DEGREE=Math.PI/180,o.DEGREES_PER_RADIAN=180/Math.PI,o.RADIANS_PER_ARCSECOND=o.RADIANS_PER_DEGREE/3600,o.toRadians=function(t){return t*o.RADIANS_PER_DEGREE},o.toDegrees=function(t){return t*o.DEGREES_PER_RADIAN},o.convertLongitudeRange=function(t){var e=o.TWO_PI,r=t-Math.floor(t/e)*e;return r<-Math.PI?r+e:r>=Math.PI?r-e:r},o.negativePiToPi=function(t){for(var e=o.EPSILON10,r=o.PI,n=o.TWO_PI;-(r+e)>t;)t+=n;if(-r>t)return-r;for(;t>r+e;)t-=n;return t>r?r:t},o.zeroToTwoPi=function(t){var e=t%o.TWO_PI;return 0>e?(e+o.TWO_PI)%o.TWO_PI:e},o.equalsEpsilon=function(e,r,n){return n=t(n,0),Math.abs(e-r)<=n};var a=[1];o.factorial=function(t){var e=a.length;if(t>=e)for(var r=a[e-1],n=e;t>=n;n++)a.push(r*n);return a[t]},o.incrementWrap=function(e,r,n){return n=t(n,0),++e,e>r&&(e=n),e},o.isPowerOfTwo=function(t){return 0!==t&&0===(t&t-1)},o.nextPowerOfTwo=function(t){return--t,t|=t>>1,t|=t>>2,t|=t>>4,t|=t>>8,t|=t>>16,++t,t},o.clamp=function(t,e,r){return e>t?e:t>r?r:t};var i=new n;return o.setRandomNumberSeed=function(t){i=new n(t)},o.nextRandomNumber=function(){return i.random()},o}),define("Core/Cartographic",["./defaultValue","./defined","./DeveloperError","./freezeObject","./Math"],function(t,e,r,n,o){"use strict";var a=function(e,r,n){this.longitude=t(e,0),this.latitude=t(r,0),this.height=t(n,0)};return a.fromDegrees=function(r,n,i,s){return r=o.toRadians(t(r,0)),n=o.toRadians(t(n,0)),i=t(i,0),e(s)?(s.longitude=r,s.latitude=n,s.height=i,s):new a(r,n,i)},a.clone=function(t,r){return e(t)?e(r)?(r.longitude=t.longitude,r.latitude=t.latitude,r.height=t.height,r):new a(t.longitude,t.latitude,t.height):void 0},a.equals=function(t,r){return t===r||e(t)&&e(r)&&t.longitude===r.longitude&&t.latitude===r.latitude&&t.height===r.height},a.equalsEpsilon=function(t,r,n){return t===r||e(t)&&e(r)&&Math.abs(t.longitude-r.longitude)<=n&&Math.abs(t.latitude-r.latitude)<=n&&Math.abs(t.height-r.height)<=n},a.toString=function(t){return"("+t.longitude+", "+t.latitude+", "+t.height+")"},a.ZERO=n(new a(0,0,0)),a.prototype.clone=function(t){return a.clone(this,t)},a.prototype.equals=function(t){return a.equals(this,t)},a.prototype.equalsEpsilon=function(t,e){return a.equalsEpsilon(this,t,e)},a.prototype.toString=function(){return a.toString(this)},a}),define("Core/defineProperties",["./defined"],function(t){"use strict";var e=function(){try{return"x"in Object.defineProperty({},"x",{})}catch(t){return!1}}(),r=Object.defineProperties;return e&&t(r)||(r=function(t){return t}),r}),define("Core/Ellipsoid",["./freezeObject","./defaultValue","./defined","./defineProperties","./DeveloperError","./Math","./Cartesian3","./Cartographic"],function(t,e,r,n,o,a,i,s){"use strict";var u=function(t,r,n){t=e(t,0),r=e(r,0),n=e(n,0),this._radii=new i(t,r,n),this._radiiSquared=new i(t*t,r*r,n*n),this._radiiToTheFourth=new i(t*t*t*t,r*r*r*r,n*n*n*n),this._oneOverRadii=new i(0===t?0:1/t,0===r?0:1/r,0===n?0:1/n),this._oneOverRadiiSquared=new i(0===t?0:1/(t*t),0===r?0:1/(r*r),0===n?0:1/(n*n)),this._minimumRadius=Math.min(t,r,n),this._maximumRadius=Math.max(t,r,n),this._centerToleranceSquared=a.EPSILON1};n(u.prototype,{radii:{get:function(){return this._radii}},radiiSquared:{get:function(){return this._radiiSquared}},radiiToTheFourth:{get:function(){return this._radiiToTheFourth}},oneOverRadii:{get:function(){return this._oneOverRadii}},oneOverRadiiSquared:{get:function(){return this._oneOverRadiiSquared}},minimumRadius:{get:function(){return this._minimumRadius}},maximumRadius:{get:function(){return this._maximumRadius}}}),u.clone=function(t,e){if(!r(t))return void 0;var n=t._radii;return r(e)?(i.clone(n,e._radii),i.clone(t._radiiSquared,e._radiiSquared),i.clone(t._radiiToTheFourth,e._radiiToTheFourth),i.clone(t._oneOverRadii,e._oneOverRadii),i.clone(t._oneOverRadiiSquared,e._oneOverRadiiSquared),e._minimumRadius=t._minimumRadius,e._maximumRadius=t._maximumRadius,e._centerToleranceSquared=t._centerToleranceSquared,e):new u(n.x,n.y,n.z)},u.fromCartesian3=function(t){return r(t)?new u(t.x,t.y,t.z):new u},u.WGS84=t(new u(6378137,6378137,6356752.314245179)),u.UNIT_SPHERE=t(new u(1,1,1)),u.MOON=t(new u(a.LUNAR_RADIUS,a.LUNAR_RADIUS,a.LUNAR_RADIUS)),u.prototype.clone=function(t){return u.clone(this,t)},u.prototype.geocentricSurfaceNormal=i.normalize,u.prototype.geodeticSurfaceNormalCartographic=function(t,e){var n=t.longitude,o=t.latitude,a=Math.cos(o),s=a*Math.cos(n),u=a*Math.sin(n),l=Math.sin(o);return r(e)||(e=new i),e.x=s,e.y=u,e.z=l,i.normalize(e,e)},u.prototype.geodeticSurfaceNormal=function(t,e){return e=i.multiplyComponents(t,this._oneOverRadiiSquared,e),i.normalize(e,e)};var l=new i,c=new i;u.prototype.cartographicToCartesian=function(t,e){var r=l,n=c;this.geodeticSurfaceNormalCartographic(t,r),i.multiplyComponents(this._radiiSquared,r,n);var o=Math.sqrt(i.dot(r,n));return i.divideByScalar(n,o,n),i.multiplyByScalar(r,t.height,r),i.add(n,r,e)},u.prototype.cartographicArrayToCartesianArray=function(t,e){var n=t.length;r(e)?e.length=n:e=new Array(n);for(var o=0;n>o;o++)e[o]=this.cartographicToCartesian(t[o],e[o]);return e};var f=new i,h=new i,m=new i;u.prototype.cartesianToCartographic=function(t,e){var n=this.scaleToGeodeticSurface(t,h);if(!r(n))return void 0;var o=this.geodeticSurfaceNormal(n,f),u=i.subtract(t,n,m),l=Math.atan2(o.y,o.x),c=Math.asin(o.z),y=a.sign(i.dot(u,t))*i.magnitude(u);return r(e)?(e.longitude=l,e.latitude=c,e.height=y,e):new s(l,c,y)},u.prototype.cartesianArrayToCartographicArray=function(t,e){var n=t.length;r(e)?e.length=n:e=new Array(n);for(var o=0;n>o;++o)e[o]=this.cartesianToCartographic(t[o],e[o]);return e};var y=new i,p=new i;return u.prototype.scaleToGeodeticSurface=function(t,e){var n=t.x,o=t.y,s=t.z,u=this._oneOverRadii,l=u.x,c=u.y,f=u.z,h=n*n*l*l,m=o*o*c*c,d=s*s*f*f,v=h+m+d,g=Math.sqrt(1/v),E=i.multiplyByScalar(t,g,y);if(va.EPSILON12);return r(e)?(e.x=n*T,e.y=o*O,e.z=s*I,e):new i(n*T,o*O,s*I)},u.prototype.scaleToGeocentricSurface=function(t,e){var r=t.x,n=t.y,o=t.z,a=this._oneOverRadiiSquared,s=1/Math.sqrt(r*r*a.x+n*n*a.y+o*o*a.z);return i.multiplyByScalar(t,s,e)},u.prototype.transformPositionToScaledSpace=function(t,e){return i.multiplyComponents(t,this._oneOverRadii,e)},u.prototype.transformPositionFromScaledSpace=function(t,e){return i.multiplyComponents(t,this._radii,e)},u.prototype.equals=function(t){return this===t||r(t)&&i.equals(this._radii,t._radii)},u.prototype.toString=function(){return this._radii.toString()},u}),define("Core/GeographicProjection",["./defaultValue","./defined","./defineProperties","./Cartesian3","./Cartographic","./Ellipsoid"],function(t,e,r,n,o,a){"use strict";var i=function(e){this._ellipsoid=t(e,a.WGS84),this._semimajorAxis=this._ellipsoid.maximumRadius,this._oneOverSemimajorAxis=1/this._semimajorAxis};return r(i.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}}),i.prototype.project=function(t,r){var o=this._semimajorAxis,a=t.longitude*o,i=t.latitude*o,s=t.height;return e(r)?(r.x=a,r.y=i,r.z=s,r):new n(a,i,s)},i.prototype.unproject=function(t,r){var n=this._oneOverSemimajorAxis,a=t.x*n,i=t.y*n,s=t.z;return e(r)?(r.longitude=a,r.latitude=i,r.height=s,r):new o(a,i,s)},i}),define("Core/Enumeration",["./defined"],function(t){"use strict";var e=function(e,r,n){if(this.value=e,this.name=r,t(n))for(var o in n)n.hasOwnProperty(o)&&(this[o]=n[o])};return e.prototype.valueOf=function(){return this.value},e.prototype.toString=function(){return this.name},e}),define("Core/Intersect",["./Enumeration"],function(t){"use strict";var e={OUTSIDE:new t(-1,"OUTSIDE"),INTERSECTING:new t(0,"INTERSECTING"),INSIDE:new t(1,"INSIDE")};return e}),define("Core/Interval",["./defaultValue"],function(t){"use strict";var e=function(e,r){this.start=t(e,0),this.stop=t(r,0)};return e}),define("Core/Cartesian4",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(t,e,r,n){"use strict";var o=function(e,r,n,o){this.x=t(e,0),this.y=t(r,0),this.z=t(n,0),this.w=t(o,0)};o.fromElements=function(t,r,n,a,i){return e(i)?(i.x=t,i.y=r,i.z=n,i.w=a,i):new o(t,r,n,a)},o.clone=function(t,r){return e(t)?e(r)?(r.x=t.x,r.y=t.y,r.z=t.z,r.w=t.w,r):new o(t.x,t.y,t.z,t.w):void 0},o.packedLength=4,o.pack=function(e,r,n){n=t(n,0),r[n++]=e.x,r[n++]=e.y,r[n++]=e.z,r[n]=e.w},o.unpack=function(r,n,a){return n=t(n,0),e(a)||(a=new o),a.x=r[n++],a.y=r[n++],a.z=r[n++],a.w=r[n],a},o.fromArray=o.unpack,o.getMaximumComponent=function(t){return Math.max(t.x,t.y,t.z,t.w)},o.getMinimumComponent=function(t){return Math.min(t.x,t.y,t.z,t.w)},o.getMinimumByComponent=function(t,r,n){return e(n)||(n=new o),n.x=Math.min(t.x,r.x),n.y=Math.min(t.y,r.y),n.z=Math.min(t.z,r.z),n.w=Math.min(t.w,r.w),n},o.getMaximumByComponent=function(t,r,n){return e(n)||(n=new o),n.x=Math.max(t.x,r.x),n.y=Math.max(t.y,r.y),n.z=Math.max(t.z,r.z),n.w=Math.max(t.w,r.w),n},o.magnitudeSquared=function(t){return t.x*t.x+t.y*t.y+t.z*t.z+t.w*t.w},o.magnitude=function(t){return Math.sqrt(o.magnitudeSquared(t))};var a=new o;o.distance=function(t,e){return o.subtract(t,e,a),o.magnitude(a)},o.normalize=function(t,r){var n=o.magnitude(t);return e(r)?(r.x=t.x/n,r.y=t.y/n,r.z=t.z/n,r.w=t.w/n,r):new o(t.x/n,t.y/n,t.z/n,t.w/n)},o.dot=function(t,e){return t.x*e.x+t.y*e.y+t.z*e.z+t.w*e.w},o.multiplyComponents=function(t,r,n){return e(n)?(n.x=t.x*r.x,n.y=t.y*r.y,n.z=t.z*r.z,n.w=t.w*r.w,n):new o(t.x*r.x,t.y*r.y,t.z*r.z,t.w*r.w)},o.add=function(t,r,n){return e(n)?(n.x=t.x+r.x,n.y=t.y+r.y,n.z=t.z+r.z,n.w=t.w+r.w,n):new o(t.x+r.x,t.y+r.y,t.z+r.z,t.w+r.w)},o.subtract=function(t,r,n){return e(n)?(n.x=t.x-r.x,n.y=t.y-r.y,n.z=t.z-r.z,n.w=t.w-r.w,n):new o(t.x-r.x,t.y-r.y,t.z-r.z,t.w-r.w)},o.multiplyByScalar=function(t,r,n){return e(n)?(n.x=t.x*r,n.y=t.y*r,n.z=t.z*r,n.w=t.w*r,n):new o(t.x*r,t.y*r,t.z*r,t.w*r)},o.divideByScalar=function(t,r,n){return e(n)?(n.x=t.x/r,n.y=t.y/r,n.z=t.z/r,n.w=t.w/r,n):new o(t.x/r,t.y/r,t.z/r,t.w/r)},o.negate=function(t,r){return e(r)?(r.x=-t.x,r.y=-t.y,r.z=-t.z,r.w=-t.w,r):new o(-t.x,-t.y,-t.z,-t.w)},o.abs=function(t,r){return e(r)?(r.x=Math.abs(t.x),r.y=Math.abs(t.y),r.z=Math.abs(t.z),r.w=Math.abs(t.w),r):new o(Math.abs(t.x),Math.abs(t.y),Math.abs(t.z),Math.abs(t.w))};var i=new o;o.lerp=function(t,e,r,n){return o.multiplyByScalar(e,r,i),n=o.multiplyByScalar(t,1-r,n),o.add(i,n,n)};var s=new o;return o.mostOrthogonalAxis=function(t,e){var r=o.normalize(t,s);return o.abs(r,r),e=r.x<=r.y?r.x<=r.z?r.x<=r.w?o.clone(o.UNIT_X,e):o.clone(o.UNIT_W,e):r.z<=r.w?o.clone(o.UNIT_Z,e):o.clone(o.UNIT_W,e):r.y<=r.z?r.y<=r.w?o.clone(o.UNIT_Y,e):o.clone(o.UNIT_W,e):r.z<=r.w?o.clone(o.UNIT_Z,e):o.clone(o.UNIT_W,e)},o.equals=function(t,r){return t===r||e(t)&&e(r)&&t.x===r.x&&t.y===r.y&&t.z===r.z&&t.w===r.w},o.equalsEpsilon=function(t,r,n){return t===r||e(t)&&e(r)&&Math.abs(t.x-r.x)<=n&&Math.abs(t.y-r.y)<=n&&Math.abs(t.z-r.z)<=n&&Math.abs(t.w-r.w)<=n},o.ZERO=n(new o(0,0,0,0)),o.UNIT_X=n(new o(1,0,0,0)),o.UNIT_Y=n(new o(0,1,0,0)),o.UNIT_Z=n(new o(0,0,1,0)),o.UNIT_W=n(new o(0,0,0,1)),o.prototype.clone=function(t){return o.clone(this,t)},o.prototype.equals=function(t){return o.equals(this,t)},o.prototype.equalsEpsilon=function(t,e){return o.equalsEpsilon(this,t,e)},o.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+", "+this.w+")"},o}),define("Core/Matrix3",["./Cartesian3","./defaultValue","./defined","./DeveloperError","./freezeObject","./Math"],function(t,e,r,n,o,a){"use strict";function i(t){for(var e=0,r=0;9>r;++r){var n=t[r];e+=n*n}return Math.sqrt(e)}function s(t){for(var e=0,r=0;3>r;++r){var n=t[l.getElementIndex(f[r],c[r])];e+=2*n*n}return Math.sqrt(e)}function u(t,e){for(var r=a.EPSILON15,n=0,o=1,i=0;3>i;++i){var s=Math.abs(t[l.getElementIndex(f[i],c[i])]);s>n&&(o=i,n=s)}var u=1,h=0,m=c[o],y=f[o];if(Math.abs(t[l.getElementIndex(y,m)])>r){var p,d=t[l.getElementIndex(y,y)],v=t[l.getElementIndex(m,m)],g=t[l.getElementIndex(y,m)],E=(d-v)/2/g;p=0>E?-1/(-E+Math.sqrt(1+E*E)):1/(E+Math.sqrt(1+E*E)),u=1/Math.sqrt(1+p*p),h=p*u}return e=l.clone(l.IDENTITY,e),e[l.getElementIndex(m,m)]=e[l.getElementIndex(y,y)]=u,e[l.getElementIndex(y,m)]=h,e[l.getElementIndex(m,y)]=-h,e}var l=function(t,r,n,o,a,i,s,u,l){this[0]=e(t,0),this[1]=e(o,0),this[2]=e(s,0),this[3]=e(r,0),this[4]=e(a,0),this[5]=e(u,0),this[6]=e(n,0),this[7]=e(i,0),this[8]=e(l,0)};l.clone=function(t,e){return r(t)?r(e)?(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e):new l(t[0],t[3],t[6],t[1],t[4],t[7],t[2],t[5],t[8]):void 0},l.fromArray=function(t,n,o){return n=e(n,0),r(o)||(o=new l),o[0]=t[n],o[1]=t[n+1],o[2]=t[n+2],o[3]=t[n+3],o[4]=t[n+4],o[5]=t[n+5],o[6]=t[n+6],o[7]=t[n+7],o[8]=t[n+8],o[9]=t[n+9],o},l.fromColumnMajorArray=function(t,e){return l.clone(t,e)},l.fromRowMajorArray=function(t,e){return r(e)?(e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8],e):new l(t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},l.fromQuaternion=function(t,e){var n=t.x*t.x,o=t.x*t.y,a=t.x*t.z,i=t.x*t.w,s=t.y*t.y,u=t.y*t.z,c=t.y*t.w,f=t.z*t.z,h=t.z*t.w,m=t.w*t.w,y=n-s-f+m,p=2*(o-h),d=2*(a+c),v=2*(o+h),g=-n+s-f+m,E=2*(u-i),w=2*(a-c),C=2*(u+i),S=-n-s+f+m;return r(e)?(e[0]=y,e[1]=v,e[2]=w,e[3]=p,e[4]=g,e[5]=C,e[6]=d,e[7]=E,e[8]=S,e):new l(y,p,d,v,g,E,w,C,S)},l.fromScale=function(t,e){return r(e)?(e[0]=t.x,e[1]=0,e[2]=0,e[3]=0,e[4]=t.y,e[5]=0,e[6]=0,e[7]=0,e[8]=t.z,e):new l(t.x,0,0,0,t.y,0,0,0,t.z)},l.fromUniformScale=function(t,e){return r(e)?(e[0]=t,e[1]=0,e[2]=0,e[3]=0,e[4]=t,e[5]=0,e[6]=0,e[7]=0,e[8]=t,e):new l(t,0,0,0,t,0,0,0,t)},l.fromRotationX=function(t,e){var n=Math.cos(t),o=Math.sin(t);return r(e)?(e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=n,e[5]=o,e[6]=0,e[7]=-o,e[8]=n,e):new l(1,0,0,0,n,-o,0,o,n)},l.fromRotationY=function(t,e){var n=Math.cos(t),o=Math.sin(t);return r(e)?(e[0]=n,e[1]=0,e[2]=-o,e[3]=0,e[4]=1,e[5]=0,e[6]=o,e[7]=0,e[8]=n,e):new l(n,0,o,0,1,0,-o,0,n)},l.fromRotationZ=function(t,e){var n=Math.cos(t),o=Math.sin(t);return r(e)?(e[0]=n,e[1]=o,e[2]=0,e[3]=-o,e[4]=n,e[5]=0,e[6]=0,e[7]=0,e[8]=1,e):new l(n,-o,0,o,n,0,0,0,1)},l.toArray=function(t,e){return r(e)?(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e):[t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]]},l.getElementIndex=function(t,e){return 3*t+e},l.getColumn=function(e,n,o){var a=3*n,i=e[a],s=e[a+1],u=e[a+2];return r(o)?(o.x=i,o.y=s,o.z=u,o):new t(i,s,u)},l.setColumn=function(t,e,r,n){n=l.clone(t,n);var o=3*e;return n[o]=r.x,n[o+1]=r.y,n[o+2]=r.z,n},l.getRow=function(e,n,o){var a=e[n],i=e[n+3],s=e[n+6];return r(o)?(o.x=a,o.y=i,o.z=s,o):new t(a,i,s)},l.setRow=function(t,e,r,n){return n=l.clone(t,n),n[e]=r.x,n[e+3]=r.y,n[e+6]=r.z,n},l.multiply=function(t,e,n){var o=t[0]*e[0]+t[3]*e[1]+t[6]*e[2],a=t[1]*e[0]+t[4]*e[1]+t[7]*e[2],i=t[2]*e[0]+t[5]*e[1]+t[8]*e[2],s=t[0]*e[3]+t[3]*e[4]+t[6]*e[5],u=t[1]*e[3]+t[4]*e[4]+t[7]*e[5],c=t[2]*e[3]+t[5]*e[4]+t[8]*e[5],f=t[0]*e[6]+t[3]*e[7]+t[6]*e[8],h=t[1]*e[6]+t[4]*e[7]+t[7]*e[8],m=t[2]*e[6]+t[5]*e[7]+t[8]*e[8];return r(n)?(n[0]=o,n[1]=a,n[2]=i,n[3]=s,n[4]=u,n[5]=c,n[6]=f,n[7]=h,n[8]=m,n):new l(o,s,f,a,u,h,i,c,m)},l.multiplyByVector=function(e,n,o){var a=n.x,i=n.y,s=n.z,u=e[0]*a+e[3]*i+e[6]*s,l=e[1]*a+e[4]*i+e[7]*s,c=e[2]*a+e[5]*i+e[8]*s;return r(o)?(o.x=u,o.y=l,o.z=c,o):new t(u,l,c)},l.multiplyByScalar=function(t,e,n){return r(n)?(n[0]=t[0]*e,n[1]=t[1]*e,n[2]=t[2]*e,n[3]=t[3]*e,n[4]=t[4]*e,n[5]=t[5]*e,n[6]=t[6]*e,n[7]=t[7]*e,n[8]=t[8]*e,n):new l(t[0]*e,t[3]*e,t[6]*e,t[1]*e,t[4]*e,t[7]*e,t[2]*e,t[5]*e,t[8]*e)},l.negate=function(t,e){return r(e)?(e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=-t[3],e[4]=-t[4],e[5]=-t[5],e[6]=-t[6],e[7]=-t[7],e[8]=-t[8],e):new l(-t[0],-t[3],-t[6],-t[1],-t[4],-t[7],-t[2],-t[5],-t[8])},l.transpose=function(t,e){var n=t[0],o=t[3],a=t[6],i=t[1],s=t[4],u=t[7],c=t[2],f=t[5],h=t[8];return r(e)?(e[0]=n,e[1]=o,e[2]=a,e[3]=i,e[4]=s,e[5]=u,e[6]=c,e[7]=f,e[8]=h,e):new l(n,i,c,o,s,f,a,u,h)};var c=[1,0,0],f=[2,2,1],h=new l,m=new l;return l.getEigenDecomposition=function(t,e){var n=a.EPSILON20,o=10,c=0,f=0;r(e)||(e={});for(var y=e.unitary=l.clone(l.IDENTITY,e.unitary),p=e.diagonal=l.clone(t,e.diagonal),d=n*i(p);o>f&&s(p)>d;)u(p,h),l.transpose(h,m),l.multiply(p,h,p),l.multiply(m,p,p),l.multiply(y,h,y),++c>2&&(++f,c=0);return e},l.abs=function(t,e){return r(e)?(e[0]=Math.abs(t[0]),e[1]=Math.abs(t[1]),e[2]=Math.abs(t[2]),e[3]=Math.abs(t[3]),e[4]=Math.abs(t[4]),e[5]=Math.abs(t[5]),e[6]=Math.abs(t[6]),e[7]=Math.abs(t[7]),e[8]=Math.abs(t[8]),e):new l(Math.abs(t[0]),Math.abs(t[3]),Math.abs(t[6]),Math.abs(t[1]),Math.abs(t[4]),Math.abs(t[7]),Math.abs(t[2]),Math.abs(t[5]),Math.abs(t[8]))},l.determinant=function(t){var e=t[0],r=t[3],n=t[6],o=t[1],a=t[4],i=t[7],s=t[2],u=t[5],l=t[8];return e*(a*l-u*i)+o*(u*n-r*l)+s*(r*i-a*n)},l.inverse=function(t,e){var r=t[0],o=t[1],i=t[2],s=t[3],u=t[4],c=t[5],f=t[6],h=t[7],m=t[8],y=l.determinant(t);if(Math.abs(y)<=a.EPSILON15)throw new n("matrix is not invertible");var p=new l(u*m-h*c,f*c-s*m,s*h-f*u,h*i-o*m,r*m-f*i,f*o-r*h,o*c-u*i,s*i-r*c,r*u-s*o),d=1/y;return l.multiplyByScalar(p,d,e)},l.equals=function(t,e){return t===e||r(t)&&r(e)&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]&&t[6]===e[6]&&t[7]===e[7]&&t[8]===e[8]},l.equalsEpsilon=function(t,e,n){return t===e||r(t)&&r(e)&&Math.abs(t[0]-e[0])<=n&&Math.abs(t[1]-e[1])<=n&&Math.abs(t[2]-e[2])<=n&&Math.abs(t[3]-e[3])<=n&&Math.abs(t[4]-e[4])<=n&&Math.abs(t[5]-e[5])<=n&&Math.abs(t[6]-e[6])<=n&&Math.abs(t[7]-e[7])<=n&&Math.abs(t[8]-e[8])<=n},l.IDENTITY=o(new l(1,0,0,0,1,0,0,0,1)),l.COLUMN0ROW0=0,l.COLUMN0ROW1=1,l.COLUMN0ROW2=2,l.COLUMN1ROW0=3,l.COLUMN1ROW1=4,l.COLUMN1ROW2=5,l.COLUMN2ROW0=6,l.COLUMN2ROW1=7,l.COLUMN2ROW2=8,l.prototype.clone=function(t){return l.clone(this,t)},l.prototype.equals=function(t){return l.equals(this,t)},l.prototype.equalsEpsilon=function(t,e){return l.equalsEpsilon(this,t,e)},l.prototype.toString=function(){return"("+this[0]+", "+this[3]+", "+this[6]+")\n"+"("+this[1]+", "+this[4]+", "+this[7]+")\n"+"("+this[2]+", "+this[5]+", "+this[8]+")"},l}),define("Core/RuntimeError",["./defined"],function(t){"use strict";var e=function(t){this.name="RuntimeError",this.message=t;var e;try{throw new Error}catch(r){e=r.stack}this.stack=e};return e.prototype.toString=function(){var e=this.name+": "+this.message;return t(this.stack)&&(e+="\n"+this.stack.toString()),e},e}),define("Core/Matrix4",["./Cartesian3","./Cartesian4","./defaultValue","./defined","./DeveloperError","./freezeObject","./Math","./Matrix3","./RuntimeError"],function(t,e,r,n,o,a,i,s,u){"use strict";var l=function(t,e,n,o,a,i,s,u,l,c,f,h,m,y,p,d){this[0]=r(t,0),this[1]=r(a,0),this[2]=r(l,0),this[3]=r(m,0),this[4]=r(e,0),this[5]=r(i,0),this[6]=r(c,0),this[7]=r(y,0),this[8]=r(n,0),this[9]=r(s,0),this[10]=r(f,0),this[11]=r(p,0),this[12]=r(o,0),this[13]=r(u,0),this[14]=r(h,0),this[15]=r(d,0)};l.clone=function(t,e){return n(t)?n(e)?(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e):new l(t[0],t[4],t[8],t[12],t[1],t[5],t[9],t[13],t[2],t[6],t[10],t[14],t[3],t[7],t[11],t[15]):void 0},l.fromArray=function(t,e,o){return e=r(e,0),n(o)||(o=new l),o[0]=t[e],o[1]=t[e+1],o[2]=t[e+2],o[3]=t[e+3],o[4]=t[e+4],o[5]=t[e+5],o[6]=t[e+6],o[7]=t[e+7],o[8]=t[e+8],o[9]=t[e+9],o[10]=t[e+10],o[11]=t[e+11],o[12]=t[e+12],o[13]=t[e+13],o[14]=t[e+14],o[15]=t[e+15],o},l.fromColumnMajorArray=function(t,e){return l.clone(t,e)},l.fromRowMajorArray=function(t,e){return n(e)?(e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15],e):new l(t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15])},l.fromRotationTranslation=function(t,e,r){return n(r)?(r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=0,r[4]=t[3],r[5]=t[4],r[6]=t[5],r[7]=0,r[8]=t[6],r[9]=t[7],r[10]=t[8],r[11]=0,r[12]=e.x,r[13]=e.y,r[14]=e.z,r[15]=1,r):new l(t[0],t[3],t[6],e.x,t[1],t[4],t[7],e.y,t[2],t[5],t[8],e.z,0,0,0,1)},new s,l.fromTranslationQuaternionRotationScale=function(t,e,r,o){n(o)||(o=new l);var a=r.x,i=r.y,s=r.z,u=e.x*e.x,c=e.x*e.y,f=e.x*e.z,h=e.x*e.w,m=e.y*e.y,y=e.y*e.z,p=e.y*e.w,d=e.z*e.z,v=e.z*e.w,g=e.w*e.w,E=u-m-d+g,w=2*(c-v),C=2*(f+p),S=2*(c+v),x=-u+m-d+g,A=2*(y-h),M=2*(f-p),b=2*(y+h),T=-u-m+d+g;return o[0]=E*a,o[1]=S*a,o[2]=M*a,o[3]=0,o[4]=w*i,o[5]=x*i,o[6]=b*i,o[7]=0,o[8]=C*s,o[9]=A*s,o[10]=T*s,o[11]=0,o[12]=t.x,o[13]=t.y,o[14]=t.z,o[15]=1,o},l.fromTranslation=function(t,e){return l.fromRotationTranslation(s.IDENTITY,t,e)},l.fromScale=function(t,e){return n(e)?(e[0]=t.x,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t.y,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=t.z,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e):new l(t.x,0,0,0,0,t.y,0,0,0,0,t.z,0,0,0,0,1)},l.fromUniformScale=function(t,e){return n(e)?(e[0]=t,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=t,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e):new l(t,0,0,0,0,t,0,0,0,0,t,0,0,0,0,1)};var c=new t,f=new t,h=new t;l.fromCamera=function(e,r){var o=e.eye,a=e.target,i=e.up;t.normalize(t.subtract(a,o,c),c),t.normalize(t.cross(c,i,f),f),t.normalize(t.cross(f,c,h),h);var s=f.x,u=f.y,m=f.z,y=c.x,p=c.y,d=c.z,v=h.x,g=h.y,E=h.z,w=o.x,C=o.y,S=o.z,x=s*-w+u*-C+m*-S,A=v*-w+g*-C+E*-S,M=y*w+p*C+d*S;return n(r)?(r[0]=s,r[1]=v,r[2]=-y,r[3]=0,r[4]=u,r[5]=g,r[6]=-p,r[7]=0,r[8]=m,r[9]=E,r[10]=-d,r[11]=0,r[12]=x,r[13]=A,r[14]=M,r[15]=1,r):new l(s,u,m,x,v,g,E,A,-y,-p,-d,M,0,0,0,1)},l.computePerspectiveFieldOfView=function(t,e,r,o,a){var i=Math.tan(.5*t),s=1/i,u=s/e,c=(o+r)/(r-o),f=2*o*r/(r-o);return n(a)?(a[0]=u,a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=s,a[6]=0,a[7]=0,a[8]=0,a[9]=0,a[10]=c,a[11]=-1,a[12]=0,a[13]=0,a[14]=f,a[15]=0,a):new l(u,0,0,0,0,s,0,0,0,0,c,f,0,0,-1,0)},l.computeOrthographicOffCenter=function(t,e,r,o,a,i,s){var u=1/(e-t),c=1/(o-r),f=1/(i-a),h=-(e+t)*u,m=-(o+r)*c,y=-(i+a)*f;return u*=2,c*=2,f*=-2,n(s)?(s[0]=u,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=c,s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=f,s[11]=0,s[12]=h,s[13]=m,s[14]=y,s[15]=1,s):new l(u,0,0,h,0,c,0,m,0,0,f,y,0,0,0,1)},l.computePerspectiveOffCenter=function(t,e,r,o,a,i,s){var u=2*a/(e-t),c=2*a/(o-r),f=(e+t)/(e-t),h=(o+r)/(o-r),m=-(i+a)/(i-a),y=-1,p=-2*i*a/(i-a);return n(s)?(s[0]=u,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=c,s[6]=0,s[7]=0,s[8]=f,s[9]=h,s[10]=m,s[11]=y,s[12]=0,s[13]=0,s[14]=p,s[15]=0,s):new l(u,0,f,0,0,c,h,0,0,0,m,p,0,0,y,0)},l.computeInfinitePerspectiveOffCenter=function(t,e,r,o,a,i){var s=2*a/(e-t),u=2*a/(o-r),c=(e+t)/(e-t),f=(o+r)/(o-r),h=-1,m=-1,y=-2*a;return n(i)?(i[0]=s,i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=u,i[6]=0,i[7]=0,i[8]=c,i[9]=f,i[10]=h,i[11]=m,i[12]=0,i[13]=0,i[14]=y,i[15]=0,i):new l(s,0,c,0,0,u,f,0,0,0,h,y,0,0,m,0)},l.computeViewportTransformation=function(t,e,o,a){t=r(t,r.EMPTY_OBJECT);var i=r(t.x,0),s=r(t.y,0),u=r(t.width,0),c=r(t.height,0);e=r(e,0),o=r(o,1);var f=.5*u,h=.5*c,m=.5*(o-e),y=f,p=h,d=m,v=i+f,g=s+h,E=e+m,w=1;return n(a)?(a[0]=y,a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=p,a[6]=0,a[7]=0,a[8]=0,a[9]=0,a[10]=d,a[11]=0,a[12]=v,a[13]=g,a[14]=E,a[15]=w,a):new l(y,0,0,v,0,p,0,g,0,0,d,E,0,0,0,w)},l.toArray=function(t,e){return n(e)?(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e):[t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15]]},l.getElementIndex=function(t,e){return 4*t+e},l.getColumn=function(t,r,o){var a=4*r,i=t[a],s=t[a+1],u=t[a+2],l=t[a+3];return n(o)?(o.x=i,o.y=s,o.z=u,o.w=l,o):new e(i,s,u,l)},l.setColumn=function(t,e,r,n){n=l.clone(t,n);var o=4*e;return n[o]=r.x,n[o+1]=r.y,n[o+2]=r.z,n[o+3]=r.w,n},l.getRow=function(t,r,o){var a=t[r],i=t[r+4],s=t[r+8],u=t[r+12];return n(o)?(o.x=a,o.y=i,o.z=s,o.w=u,o):new e(a,i,s,u)},l.setRow=function(t,e,r,n){return n=l.clone(t,n),n[e]=r.x,n[e+4]=r.y,n[e+8]=r.z,n[e+12]=r.w,n},l.multiply=function(t,e,r){var o=t[0],a=t[1],i=t[2],s=t[3],u=t[4],c=t[5],f=t[6],h=t[7],m=t[8],y=t[9],p=t[10],d=t[11],v=t[12],g=t[13],E=t[14],w=t[15],C=e[0],S=e[1],x=e[2],A=e[3],M=e[4],b=e[5],T=e[6],O=e[7],I=e[8],N=e[9],R=e[10],z=e[11],L=e[12],F=e[13],D=e[14],P=e[15],_=o*C+u*S+m*x+v*A,B=a*C+c*S+y*x+g*A,U=i*C+f*S+p*x+E*A,G=s*C+h*S+d*x+w*A,q=o*M+u*b+m*T+v*O,W=a*M+c*b+y*T+g*O,Y=i*M+f*b+p*T+E*O,V=s*M+h*b+d*T+w*O,H=o*I+u*N+m*R+v*z,k=a*I+c*N+y*R+g*z,j=i*I+f*N+p*R+E*z,K=s*I+h*N+d*R+w*z,Z=o*L+u*F+m*D+v*P,X=a*L+c*F+y*D+g*P,Q=i*L+f*F+p*D+E*P,J=s*L+h*F+d*D+w*P;return n(r)?(r[0]=_,r[1]=B,r[2]=U,r[3]=G,r[4]=q,r[5]=W,r[6]=Y,r[7]=V,r[8]=H,r[9]=k,r[10]=j,r[11]=K,r[12]=Z,r[13]=X,r[14]=Q,r[15]=J,r):new l(_,q,H,Z,B,W,k,X,U,Y,j,Q,G,V,K,J)},l.multiplyTransformation=function(t,e,r){var o=t[0],a=t[1],i=t[2],s=t[4],u=t[5],c=t[6],f=t[8],h=t[9],m=t[10],y=t[12],p=t[13],d=t[14],v=e[0],g=e[1],E=e[2],w=e[4],C=e[5],S=e[6],x=e[8],A=e[9],M=e[10],b=e[12],T=e[13],O=e[14],I=o*v+s*g+f*E,N=a*v+u*g+h*E,R=i*v+c*g+m*E,z=o*w+s*C+f*S,L=a*w+u*C+h*S,F=i*w+c*C+m*S,D=o*x+s*A+f*M,P=a*x+u*A+h*M,_=i*x+c*A+m*M,B=o*b+s*T+f*O+y,U=a*b+u*T+h*O+p,G=i*b+c*T+m*O+d;return n(r)?(r[0]=I,r[1]=N,r[2]=R,r[3]=0,r[4]=z,r[5]=L,r[6]=F,r[7]=0,r[8]=D,r[9]=P,r[10]=_,r[11]=0,r[12]=B,r[13]=U,r[14]=G,r[15]=1,r):new l(I,z,D,B,N,L,P,U,R,F,_,G,0,0,0,1) +},l.multiplyByTranslation=function(t,e,r){var o=e.x,a=e.y,i=e.z,s=o*t[0]+a*t[4]+i*t[8]+t[12],u=o*t[1]+a*t[5]+i*t[9]+t[13],c=o*t[2]+a*t[6]+i*t[10]+t[14];return n(r)?(r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=t[3],r[4]=t[4],r[5]=t[5],r[6]=t[6],r[7]=t[7],r[8]=t[8],r[9]=t[9],r[10]=t[10],r[11]=t[11],r[12]=s,r[13]=u,r[14]=c,r[15]=t[15],r):new l(t[0],t[4],t[8],s,t[1],t[5],t[9],u,t[2],t[6],t[10],c,t[3],t[7],t[11],t[15])};var m=new t;return l.multiplyByUniformScale=function(t,e,r){return m.x=e,m.y=e,m.z=e,l.multiplyByScale(t,m,r)},l.multiplyByScale=function(t,e,r){var o=e.x,a=e.y,i=e.z;return 1===o&&1===a&&1===i?l.clone(t,r):n(r)?(r[0]=o*t[0],r[1]=o*t[1],r[2]=o*t[2],r[3]=0,r[4]=a*t[4],r[5]=a*t[5],r[6]=a*t[6],r[7]=0,r[8]=i*t[8],r[9]=i*t[9],r[10]=i*t[10],r[11]=0,r[12]=t[12],r[13]=t[13],r[14]=t[14],r[15]=1,r):new l(o*t[0],a*t[4],i*t[8],t[12],o*t[1],a*t[5],i*t[9],t[13],o*t[2],a*t[6],i*t[10],t[14],0,0,0,1)},l.multiplyByVector=function(t,r,o){var a=r.x,i=r.y,s=r.z,u=r.w,l=t[0]*a+t[4]*i+t[8]*s+t[12]*u,c=t[1]*a+t[5]*i+t[9]*s+t[13]*u,f=t[2]*a+t[6]*i+t[10]*s+t[14]*u,h=t[3]*a+t[7]*i+t[11]*s+t[15]*u;return n(o)?(o.x=l,o.y=c,o.z=f,o.w=h,o):new e(l,c,f,h)},l.multiplyByPointAsVector=function(e,r,o){var a=r.x,i=r.y,s=r.z,u=e[0]*a+e[4]*i+e[8]*s,l=e[1]*a+e[5]*i+e[9]*s,c=e[2]*a+e[6]*i+e[10]*s;return n(o)?(o.x=u,o.y=l,o.z=c,o):new t(u,l,c)},l.multiplyByPoint=function(e,r,o){var a=r.x,i=r.y,s=r.z,u=e[0]*a+e[4]*i+e[8]*s+e[12],l=e[1]*a+e[5]*i+e[9]*s+e[13],c=e[2]*a+e[6]*i+e[10]*s+e[14];return n(o)?(o.x=u,o.y=l,o.z=c,o):new t(u,l,c)},l.multiplyByScalar=function(t,e,r){return n(r)?(r[0]=t[0]*e,r[1]=t[1]*e,r[2]=t[2]*e,r[3]=t[3]*e,r[4]=t[4]*e,r[5]=t[5]*e,r[6]=t[6]*e,r[7]=t[7]*e,r[8]=t[8]*e,r[9]=t[9]*e,r[10]=t[10]*e,r[11]=t[11]*e,r[12]=t[12]*e,r[13]=t[13]*e,r[14]=t[14]*e,r[15]=t[15]*e,r):new l(t[0]*e,t[4]*e,t[8]*e,t[12]*e,t[1]*e,t[5]*e,t[9]*e,t[13]*e,t[2]*e,t[6]*e,t[10]*e,t[14]*e,t[3]*e,t[7]*e,t[11]*e,t[15]*e)},l.negate=function(t,e){return n(e)?(e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=-t[3],e[4]=-t[4],e[5]=-t[5],e[6]=-t[6],e[7]=-t[7],e[8]=-t[8],e[9]=-t[9],e[10]=-t[10],e[11]=-t[11],e[12]=-t[12],e[13]=-t[13],e[14]=-t[14],e[15]=-t[15],e):new l(-t[0],-t[4],-t[8],-t[12],-t[1],-t[5],-t[9],-t[13],-t[2],-t[6],-t[10],-t[14],-t[3],-t[7],-t[11],-t[15])},l.transpose=function(t,e){if(!n(e))return new l(t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15]);var r=t[1],o=t[2],a=t[3],i=t[6],s=t[7],u=t[11];return e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=o,e[9]=i,e[10]=t[10],e[11]=t[14],e[12]=a,e[13]=s,e[14]=u,e[15]=t[15],e},l.abs=function(t,e){return n(e)?(e[0]=Math.abs(t[0]),e[1]=Math.abs(t[1]),e[2]=Math.abs(t[2]),e[3]=Math.abs(t[3]),e[4]=Math.abs(t[4]),e[5]=Math.abs(t[5]),e[6]=Math.abs(t[6]),e[7]=Math.abs(t[7]),e[8]=Math.abs(t[8]),e[9]=Math.abs(t[9]),e[10]=Math.abs(t[10]),e[11]=Math.abs(t[11]),e[12]=Math.abs(t[12]),e[13]=Math.abs(t[13]),e[14]=Math.abs(t[14]),e[15]=Math.abs(t[15]),e):new l(Math.abs(t[0]),Math.abs(t[4]),Math.abs(t[8]),Math.abs(t[12]),Math.abs(t[1]),Math.abs(t[5]),Math.abs(t[9]),Math.abs(t[13]),Math.abs(t[2]),Math.abs(t[6]),Math.abs(t[10]),Math.abs(t[14]),Math.abs(t[3]),Math.abs(t[7]),Math.abs(t[11]),Math.abs(t[15]))},l.equals=function(t,e){return t===e||n(t)&&n(e)&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]&&t[6]===e[6]&&t[7]===e[7]&&t[8]===e[8]&&t[9]===e[9]&&t[10]===e[10]&&t[11]===e[11]&&t[12]===e[12]&&t[13]===e[13]&&t[14]===e[14]&&t[15]===e[15]},l.equalsEpsilon=function(t,e,r){return t===e||n(t)&&n(e)&&Math.abs(t[0]-e[0])<=r&&Math.abs(t[1]-e[1])<=r&&Math.abs(t[2]-e[2])<=r&&Math.abs(t[3]-e[3])<=r&&Math.abs(t[4]-e[4])<=r&&Math.abs(t[5]-e[5])<=r&&Math.abs(t[6]-e[6])<=r&&Math.abs(t[7]-e[7])<=r&&Math.abs(t[8]-e[8])<=r&&Math.abs(t[9]-e[9])<=r&&Math.abs(t[10]-e[10])<=r&&Math.abs(t[11]-e[11])<=r&&Math.abs(t[12]-e[12])<=r&&Math.abs(t[13]-e[13])<=r&&Math.abs(t[14]-e[14])<=r&&Math.abs(t[15]-e[15])<=r},l.getTranslation=function(e,r){return n(r)?(r.x=e[12],r.y=e[13],r.z=e[14],r):new t(e[12],e[13],e[14])},l.getRotation=function(t,e){return n(e)?(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[4],e[4]=t[5],e[5]=t[6],e[6]=t[8],e[7]=t[9],e[8]=t[10],e):new s(t[0],t[4],t[8],t[1],t[5],t[9],t[2],t[6],t[10])},l.inverse=function(t,e){var r=t[0],o=t[4],a=t[8],s=t[12],c=t[1],f=t[5],h=t[9],m=t[13],y=t[2],p=t[6],d=t[10],v=t[14],g=t[3],E=t[7],w=t[11],C=t[15],S=d*C,x=v*w,A=p*C,M=v*E,b=p*w,T=d*E,O=y*C,I=v*g,N=y*w,R=d*g,z=y*E,L=p*g,F=S*f+M*h+b*m-(x*f+A*h+T*m),D=x*c+O*h+R*m-(S*c+I*h+N*m),P=A*c+I*f+z*m-(M*c+O*f+L*m),_=T*c+N*f+L*h-(b*c+R*f+z*h),B=x*o+A*a+T*s-(S*o+M*a+b*s),U=S*r+I*a+N*s-(x*r+O*a+R*s),G=M*r+O*o+L*s-(A*r+I*o+z*s),q=b*r+R*o+z*a-(T*r+N*o+L*a);S=a*m,x=s*h,A=o*m,M=s*f,b=o*h,T=a*f,O=r*m,I=s*c,N=r*h,R=a*c,z=r*f,L=o*c;var W=S*E+M*w+b*C-(x*E+A*w+T*C),Y=x*g+O*w+R*C-(S*g+I*w+N*C),V=A*g+I*E+z*C-(M*g+O*E+L*C),H=T*g+N*E+L*w-(b*g+R*E+z*w),k=A*d+T*v+x*p-(b*v+S*p+M*d),j=N*v+S*y+I*d-(O*d+R*v+x*y),K=O*p+L*v+M*y-(z*v+A*y+I*p),Z=z*d+b*y+R*p-(N*p+L*d+T*y),X=r*F+o*D+a*P+s*_;if(Math.abs(X)M;M++){t.clone(e[M],o);var b=o.x,T=o.y,O=o.z;bu.x&&t.clone(o,u),Tl.y&&t.clone(o,l),Ox.z&&t.clone(o,x)}var I=t.magnitudeSquared(t.subtract(u,a,g)),N=t.magnitudeSquared(t.subtract(l,i,g)),R=t.magnitudeSquared(t.subtract(x,s,g)),z=a,L=u,F=I;N>F&&(F=N,z=i,L=l),R>F&&(F=R,z=s,L=x);var D=E;D.x=.5*(z.x+L.x),D.y=.5*(z.y+L.y),D.z=.5*(z.z+L.z);var P=t.magnitudeSquared(t.subtract(L,D,g)),_=Math.sqrt(P),B=w;B.x=a.x,B.y=i.y,B.z=s.z;var U=C;U.x=u.x,U.y=l.y,U.z=x.z;var G=t.multiplyByScalar(t.add(B,U,g),.5,S),q=0;for(M=0;A>M;M++){t.clone(e[M],o);var W=t.magnitude(t.subtract(o,G,g));W>q&&(q=W);var Y=t.magnitudeSquared(t.subtract(o,D,g));if(Y>P){var V=Math.sqrt(Y);_=.5*(_+V),P=_*_;var H=V-_;D.x=(_*D.x+H*o.x)/V,D.y=(_*D.y+H*o.y)/V,D.z=(_*D.z+H*o.z)/V}}return q>_?(t.clone(D,r.center),r.radius=_):(t.clone(G,r.center),r.radius=q),r};var x=new i,A=new t,M=new t,b=new e,T=new e;c.fromExtent2D=function(t,e,r){return c.fromExtentWithHeights2D(t,e,0,0,r)},c.fromExtentWithHeights2D=function(e,o,a,i,s){if(n(s)||(s=new c),!n(e))return s.center=t.clone(t.ZERO,s.center),s.radius=0,s;o=r(o,x),e.getSouthwest(b),b.height=a,e.getNortheast(T),T.height=i;var u=o.project(b,A),l=o.project(T,M),f=l.x-u.x,h=l.y-u.y,m=l.z-u.z;s.radius=.5*Math.sqrt(f*f+h*h+m*m);var y=s.center;return y.x=u.x+.5*f,y.y=u.y+.5*h,y.z=u.z+.5*m,s};var O=[];c.fromExtent3D=function(t,e,o,i){e=r(e,a.WGS84),o=r(o,0);var s;return n(t)&&(s=t.subsample(e,o,O)),c.fromPoints(s,i)},c.fromVertices=function(e,o,a,i){if(n(i)||(i=new c),!n(e)||0===e.length)return i.center=t.clone(t.ZERO,i.center),i.radius=0,i;o=r(o,t.ZERO),a=r(a,3);var s=v;s.x=e[0]+o.x,s.y=e[1]+o.y,s.z=e[2]+o.z;for(var u=t.clone(s,f),l=t.clone(s,h),x=t.clone(s,m),A=t.clone(s,y),M=t.clone(s,p),b=t.clone(s,d),T=e.length,O=0;T>O;O+=a){var I=e[O]+o.x,N=e[O+1]+o.y,R=e[O+2]+o.z;s.x=I,s.y=N,s.z=R,IA.x&&t.clone(s,A),NM.y&&t.clone(s,M),Rb.z&&t.clone(s,b)}var z=t.magnitudeSquared(t.subtract(A,u,g)),L=t.magnitudeSquared(t.subtract(M,l,g)),F=t.magnitudeSquared(t.subtract(b,x,g)),D=u,P=A,_=z;L>_&&(_=L,D=l,P=M),F>_&&(_=F,D=x,P=b);var B=E;B.x=.5*(D.x+P.x),B.y=.5*(D.y+P.y),B.z=.5*(D.z+P.z);var U=t.magnitudeSquared(t.subtract(P,B,g)),G=Math.sqrt(U),q=w;q.x=u.x,q.y=l.y,q.z=x.z;var W=C;W.x=A.x,W.y=M.y,W.z=b.z;var Y=t.multiplyByScalar(t.add(q,W,g),.5,S),V=0;for(O=0;T>O;O+=a){s.x=e[O]+o.x,s.y=e[O+1]+o.y,s.z=e[O+2]+o.z;var H=t.magnitude(t.subtract(s,Y,g));H>V&&(V=H);var k=t.magnitudeSquared(t.subtract(s,B,g));if(k>U){var j=Math.sqrt(k);G=.5*(G+j),U=G*G;var K=j-G;B.x=(G*B.x+K*s.x)/j,B.y=(G*B.y+K*s.y)/j,B.z=(G*B.z+K*s.z)/j}}return V>G?(t.clone(B,i.center),i.radius=G):(t.clone(Y,i.center),i.radius=V),i},c.fromCornerPoints=function(e,r,o){n(o)||(o=new c);var a=o.center;return t.add(e,r,a),t.multiplyByScalar(a,.5,a),o.radius=t.distance(a,r),o},c.fromEllipsoid=function(e,r){return n(r)||(r=new c),t.clone(t.ZERO,r.center),r.radius=e.maximumRadius,r},c.clone=function(e,r){return n(e)?n(r)?(r.center=t.clone(e.center,r.center),r.radius=e.radius,r):new c(e.center,e.radius):void 0};var I=new t,N=new t;c.union=function(e,r,o){n(o)||(o=new c);var a=e.center,i=r.center;t.add(a,i,N);var s=t.multiplyByScalar(N,.5,N),u=t.magnitude(t.subtract(a,s,I))+e.radius,l=t.magnitude(t.subtract(i,s,I))+r.radius;return o.radius=Math.max(u,l),t.clone(s,o.center),o};var R=new t;c.expand=function(e,r,n){n=c.clone(e,n);var o=t.magnitude(t.subtract(r,n.center,R));return o>n.radius&&(n.radius=o),n},c.intersect=function(e,r){var n=e.center,o=e.radius,a=t.dot(r,n)+r.w;return-o>a?s.OUTSIDE:o>a?s.INTERSECTING:s.INSIDE};var z=new t;c.transform=function(e,r,o){return n(o)||(o=new c),o.center=l.multiplyByPoint(r,e.center,o.center),o.radius=Math.max(t.magnitude(l.getColumn(r,0,z)),t.magnitude(l.getColumn(r,1,z)),t.magnitude(l.getColumn(r,2,z)))*e.radius,o},c.transformWithoutScale=function(t,e,r){return n(r)||(r=new c),r.center=l.multiplyByPoint(e,t.center,r.center),r.radius=t.radius,r};var L=new t;c.getPlaneDistances=function(e,r,o,a){n(a)||(a=new u);var i=t.subtract(e.center,r,L),s=t.multiplyByScalar(o,t.dot(o,i),L),l=t.magnitude(s);return a.start=l-e.radius,a.stop=l+e.radius,a};for(var F=new t,D=new t,P=new t,_=new t,B=new t,U=new e,G=new Array(8),q=0;8>q;++q)G[q]=new t;var W=new i;return c.projectTo2D=function(e,n,o){n=r(n,W);var a=n.ellipsoid,i=e.center,s=e.radius,u=a.geodeticSurfaceNormal(i,F),l=t.cross(t.UNIT_Z,u,D);t.normalize(l,l);var f=t.cross(u,l,P);t.normalize(f,f),t.multiplyByScalar(u,s,u),t.multiplyByScalar(f,s,f),t.multiplyByScalar(l,s,l);var h=t.negate(f,B),m=t.negate(l,_),y=G,p=y[0];t.add(u,f,p),t.add(p,l,p),p=y[1],t.add(u,f,p),t.add(p,m,p),p=y[2],t.add(u,h,p),t.add(p,m,p),p=y[3],t.add(u,h,p),t.add(p,l,p),t.negate(u,u),p=y[4],t.add(u,f,p),t.add(p,l,p),p=y[5],t.add(u,f,p),t.add(p,m,p),p=y[6],t.add(u,h,p),t.add(p,m,p),p=y[7],t.add(u,h,p),t.add(p,l,p);for(var d=y.length,v=0;d>v;++v){var g=y[v];t.add(i,g,g);var E=a.cartesianToCartographic(g,U);n.project(E,g)}o=c.fromPoints(y,o),i=o.center;var w=i.x,C=i.y,S=i.z;return i.x=S,i.y=w,i.z=C,o},c.equals=function(e,r){return e===r||n(e)&&n(r)&&t.equals(e.center,r.center)&&e.radius===r.radius},c.prototype.clone=function(t){return c.clone(this,t)},c.prototype.union=function(t,e){return c.union(this,t,e)},c.prototype.expand=function(t,e){return c.expand(this,t,e)},c.prototype.intersect=function(t){return c.intersect(this,t)},c.prototype.getPlaneDistances=function(t,e,r){return c.getPlaneDistances(this,t,e,r)},c.prototype.projectTo2D=function(t,e){return c.projectTo2D(this,t,e)},c.prototype.equals=function(t){return c.equals(this,t)},c}),define("Core/Cartesian2",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(t,e,r,n){"use strict";var o=function(e,r){this.x=t(e,0),this.y=t(r,0)};o.fromElements=function(t,r,n){return e(n)?(n.x=t,n.y=r,n):new o(t,r)},o.clone=function(t,r){return e(t)?e(r)?(r.x=t.x,r.y=t.y,r):new o(t.x,t.y):void 0},o.fromCartesian3=o.clone,o.fromCartesian4=o.clone,o.packedLength=2,o.pack=function(e,r,n){n=t(n,0),r[n++]=e.x,r[n]=e.y},o.unpack=function(r,n,a){return n=t(n,0),e(a)||(a=new o),a.x=r[n++],a.y=r[n],a},o.fromArray=o.unpack,o.getMaximumComponent=function(t){return Math.max(t.x,t.y)},o.getMinimumComponent=function(t){return Math.min(t.x,t.y)},o.getMinimumByComponent=function(t,r,n){return e(n)||(n=new o),n.x=Math.min(t.x,r.x),n.y=Math.min(t.y,r.y),n},o.getMaximumByComponent=function(t,r,n){return e(n)||(n=new o),n.x=Math.max(t.x,r.x),n.y=Math.max(t.y,r.y),n},o.magnitudeSquared=function(t){return t.x*t.x+t.y*t.y},o.magnitude=function(t){return Math.sqrt(o.magnitudeSquared(t))};var a=new o;o.distance=function(t,e){return o.subtract(t,e,a),o.magnitude(a)},o.normalize=function(t,r){var n=o.magnitude(t);return e(r)?(r.x=t.x/n,r.y=t.y/n,r):new o(t.x/n,t.y/n)},o.dot=function(t,e){return t.x*e.x+t.y*e.y},o.multiplyComponents=function(t,r,n){return e(n)?(n.x=t.x*r.x,n.y=t.y*r.y,n):new o(t.x*r.x,t.y*r.y)},o.add=function(t,r,n){return e(n)?(n.x=t.x+r.x,n.y=t.y+r.y,n):new o(t.x+r.x,t.y+r.y)},o.subtract=function(t,r,n){return e(n)?(n.x=t.x-r.x,n.y=t.y-r.y,n):new o(t.x-r.x,t.y-r.y)},o.multiplyByScalar=function(t,r,n){return e(n)?(n.x=t.x*r,n.y=t.y*r,n):new o(t.x*r,t.y*r)},o.divideByScalar=function(t,r,n){return e(n)?(n.x=t.x/r,n.y=t.y/r,n):new o(t.x/r,t.y/r)},o.negate=function(t,r){return e(r)?(r.x=-t.x,r.y=-t.y,r):new o(-t.x,-t.y)},o.abs=function(t,r){return e(r)?(r.x=Math.abs(t.x),r.y=Math.abs(t.y),r):new o(Math.abs(t.x),Math.abs(t.y))};var i=new o;o.lerp=function(t,e,r,n){return o.multiplyByScalar(e,r,i),n=o.multiplyByScalar(t,1-r,n),o.add(i,n,n)};var s=new o,u=new o;o.angleBetween=function(t,e){return o.normalize(t,s),o.normalize(e,u),Math.acos(o.dot(s,u))};var l=new o;return o.mostOrthogonalAxis=function(t,e){var r=o.normalize(t,l);return o.abs(r,r),e=r.x<=r.y?o.clone(o.UNIT_X,e):o.clone(o.UNIT_Y,e)},o.equals=function(t,r){return t===r||e(t)&&e(r)&&t.x===r.x&&t.y===r.y},o.equalsEpsilon=function(t,r,n){return t===r||e(t)&&e(r)&&Math.abs(t.x-r.x)<=n&&Math.abs(t.y-r.y)<=n},o.ZERO=n(new o(0,0)),o.UNIT_X=n(new o(1,0)),o.UNIT_Y=n(new o(0,1)),o.prototype.clone=function(t){return o.clone(this,t)},o.prototype.equals=function(t){return o.equals(this,t)},o.prototype.equalsEpsilon=function(t,e){return o.equalsEpsilon(this,t,e)},o.prototype.toString=function(){return"("+this.x+", "+this.y+")"},o}),define("Core/Fullscreen",["./defined"],function(t){"use strict";var e,r={requestFullscreen:void 0,exitFullscreen:void 0,fullscreenEnabled:void 0,fullscreenElement:void 0,fullscreenchange:void 0,fullscreenerror:void 0},n={};return n.supportsFullscreen=function(){if(t(e))return e;e=!1;var n=document.body;if("function"==typeof n.requestFullscreen)return r.requestFullscreen="requestFullscreen",r.exitFullscreen="exitFullscreen",r.fullscreenEnabled="fullscreenEnabled",r.fullscreenElement="fullscreenElement",r.fullscreenchange="fullscreenchange",r.fullscreenerror="fullscreenerror",e=!0;for(var o,a=["webkit","moz","o","ms","khtml"],i=0,s=a.length;s>i;++i){var u=a[i];o=u+"RequestFullscreen","function"==typeof n[o]?(r.requestFullscreen=o,e=!0):(o=u+"RequestFullScreen","function"==typeof n[o]&&(r.requestFullscreen=o,e=!0)),o=u+"ExitFullscreen","function"==typeof document[o]?r.exitFullscreen=o:(o=u+"CancelFullScreen","function"==typeof document[o]&&(r.exitFullscreen=o)),o=u+"FullscreenEnabled",t(document[o])?r.fullscreenEnabled=o:(o=u+"FullScreenEnabled",t(document[o])&&(r.fullscreenEnabled=o)),o=u+"FullscreenElement",t(document[o])?r.fullscreenElement=o:(o=u+"FullScreenElement",t(document[o])&&(r.fullscreenElement=o)),o=u+"fullscreenchange",t(document["on"+o])&&("ms"===u&&(o="MSFullscreenChange"),r.fullscreenchange=o),o=u+"fullscreenerror",t(document["on"+o])&&("ms"===u&&(o="MSFullscreenError"),r.fullscreenerror=o)}return e},n.requestFullscreen=function(t){n.supportsFullscreen()&&t[r.requestFullscreen]()},n.exitFullscreen=function(){n.supportsFullscreen()&&document[r.exitFullscreen]()},n.isFullscreenEnabled=function(){return n.supportsFullscreen()?document[r.fullscreenEnabled]:void 0},n.getFullscreenElement=function(){return n.supportsFullscreen()?document[r.fullscreenElement]:void 0},n.isFullscreen=function(){return n.supportsFullscreen()?null!==n.getFullscreenElement():void 0},n.getFullscreenChangeEventName=function(){return n.supportsFullscreen()?r.fullscreenchange:void 0},n.getFullscreenErrorEventName=function(){return n.supportsFullscreen()?r.fullscreenerror:void 0},n}),define("Core/FeatureDetection",["./defined","./Fullscreen"],function(t,e){"use strict";function r(t){for(var e=t.split("."),r=0,n=e.length;n>r;++r)e[r]=parseInt(e[r],10);return e}function n(){if(!t(f)){var e=/ Chrome\/([\.0-9]+)/.exec(navigator.userAgent);null===e?f=!1:(f=!0,h=r(e[1]))}return f}function o(){return n()&&h}function a(){if(!t(m))if(n()||!/ Safari\/[\.0-9]+/.test(navigator.userAgent))m=!1;else{var e=/ Version\/([\.0-9]+)/.exec(navigator.userAgent);null===e?m=!1:(m=!0,y=r(e[1]))}return m}function i(){return a()&&y}function s(){if(!t(p)){var e=/ AppleWebKit\/([\.0-9]+)(\+?)/.exec(navigator.userAgent);null===e?p=!1:(p=!0,d=r(e[1]),d.isNightly=!!e[2])}return p}function u(){return s()&&d}function l(){if(!t(v)){var e;"Microsoft Internet Explorer"===navigator.appName?(e=/MSIE ([0-9]{1,}[\.0-9]{0,})/.exec(navigator.userAgent),null!==e&&(v=!0,g=r(e[1]))):"Netscape"===navigator.appName?(e=/Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/.exec(navigator.userAgent),null!==e&&(v=!0,g=r(e[1]))):v=!1}return v}function c(){return l()&&g}var f,h,m,y,p,d,v,g,E={isChrome:n,chromeVersion:o,isSafari:a,safariVersion:i,isWebkit:s,webkitVersion:u,isInternetExplorer:l,internetExplorerVersion:c};E.supportsFullscreen=function(){return e.supportsFullscreen()},E.supportsTypedArrays=function(){return"undefined"!=typeof ArrayBuffer};var w;return E.supportsTransferringArrayBuffers=function(){if(!t(w)){if(!E.supportsTypedArrays())return w=!1,void 0;var e=new ArrayBuffer(1);try{postMessage({value:e},[e]),w=!0}catch(r){w=!1}}return w},E}),define("Core/ComponentDatatype",["./defaultValue","./defined","./DeveloperError","./FeatureDetection","./Enumeration"],function(t,e,r,n,o){"use strict";if(!n.supportsTypedArrays())return{};var a={BYTE:new o(5120,"BYTE",{sizeInBytes:Int8Array.BYTES_PER_ELEMENT}),UNSIGNED_BYTE:new o(5121,"UNSIGNED_BYTE",{sizeInBytes:Uint8Array.BYTES_PER_ELEMENT}),SHORT:new o(5122,"SHORT",{sizeInBytes:Int16Array.BYTES_PER_ELEMENT}),UNSIGNED_SHORT:new o(5123,"UNSIGNED_SHORT",{sizeInBytes:Uint16Array.BYTES_PER_ELEMENT}),FLOAT:new o(5126,"FLOAT",{sizeInBytes:Float32Array.BYTES_PER_ELEMENT}),DOUBLE:new o(5130,"DOUBLE",{sizeInBytes:Float64Array.BYTES_PER_ELEMENT})};return a.validate=function(t){return e(t)&&e(t.value)&&(t.value===a.BYTE.value||t.value===a.UNSIGNED_BYTE.value||t.value===a.SHORT.value||t.value===a.UNSIGNED_SHORT.value||t.value===a.FLOAT.value||t.value===a.DOUBLE.value)},a.createTypedArray=function(t,e){switch(t.value){case a.BYTE.value:return new Int8Array(e);case a.UNSIGNED_BYTE.value:return new Uint8Array(e);case a.SHORT.value:return new Int16Array(e);case a.UNSIGNED_SHORT.value:return new Uint16Array(e);case a.FLOAT.value:return new Float32Array(e);case a.DOUBLE.value:return new Float64Array(e);default:throw new r("componentDatatype is not a valid enumeration value.")}},a.createArrayBufferView=function(e,n,o,i){switch(o=t(o,0),i=t(i,(n.byteLength-o)/e.sizeInBytes),e.value){case a.BYTE.value:return new Int8Array(n,o,i);case a.UNSIGNED_BYTE.value:return new Uint8Array(n,o,i);case a.SHORT.value:return new Int16Array(n,o,i);case a.UNSIGNED_SHORT.value:return new Uint16Array(n,o,i);case a.FLOAT.value:return new Float32Array(n,o,i);case a.DOUBLE.value:return new Float64Array(n,o,i);default:throw new r("componentDatatype is not a valid enumeration value.")}},a}),define("Core/IndexDatatype",["./defined","./DeveloperError","./Math"],function(t,e,r){"use strict";var n={UNSIGNED_BYTE:5121,UNSIGNED_SHORT:5123,UNSIGNED_INT:5125};return n.getSizeInBytes=function(t){switch(t){case n.UNSIGNED_BYTE:return Uint8Array.BYTES_PER_ELEMENT;case n.UNSIGNED_SHORT:return Uint16Array.BYTES_PER_ELEMENT;case n.UNSIGNED_INT:return Uint32Array.BYTES_PER_ELEMENT}},n.validate=function(e){return t(e)&&(e===n.UNSIGNED_BYTE||e===n.UNSIGNED_SHORT||e===n.UNSIGNED_INT)},n.createTypedArray=function(t,e){return t>r.SIXTY_FOUR_KILOBYTES?new Uint32Array(e):new Uint16Array(e)},n}),define("Core/Extent",["./freezeObject","./defaultValue","./defined","./Ellipsoid","./Cartographic","./DeveloperError","./Math"],function(t,e,r,n,o,a,i){"use strict";var s=function(t,r,n,o){this.west=e(t,0),this.south=e(r,0),this.east=e(n,0),this.north=e(o,0)};s.fromDegrees=function(t,n,o,a,u){return t=i.toRadians(e(t,0)),n=i.toRadians(e(n,0)),o=i.toRadians(e(o,0)),a=i.toRadians(e(a,0)),r(u)?(u.west=t,u.south=n,u.east=o,u.north=a,u):new s(t,n,o,a)},s.fromCartographicArray=function(t,e){for(var n=Number.MAX_VALUE,o=-Number.MAX_VALUE,a=Number.MAX_VALUE,i=-Number.MAX_VALUE,u=0,l=t.length;l>u;u++){var c=t[u];n=Math.min(n,c.longitude),o=Math.max(o,c.longitude),a=Math.min(a,c.latitude),i=Math.max(i,c.latitude)}return r(e)?(e.west=n,e.south=a,e.east=o,e.north=i,e):new s(n,a,o,i)},s.clone=function(t,e){return r(t)?r(e)?(e.west=t.west,e.south=t.south,e.east=t.east,e.north=t.north,e):new s(t.west,t.south,t.east,t.north):void 0},s.prototype.clone=function(t){return s.clone(this,t)},s.prototype.equals=function(t){return s.equals(this,t)},s.equals=function(t,e){return t===e||r(t)&&r(e)&&t.west===e.west&&t.south===e.south&&t.east===e.east&&t.north===e.north},s.prototype.equalsEpsilon=function(t,e){return r(t)&&Math.abs(this.west-t.west)<=e&&Math.abs(this.south-t.south)<=e&&Math.abs(this.east-t.east)<=e&&Math.abs(this.north-t.north)<=e},s.prototype.validate=function(){},s.prototype.getSouthwest=function(t){return r(t)?(t.longitude=this.west,t.latitude=this.south,t.height=0,t):new o(this.west,this.south)},s.prototype.getNorthwest=function(t){return r(t)?(t.longitude=this.west,t.latitude=this.north,t.height=0,t):new o(this.west,this.north)},s.prototype.getNortheast=function(t){return r(t)?(t.longitude=this.east,t.latitude=this.north,t.height=0,t):new o(this.east,this.north)},s.prototype.getSoutheast=function(t){return r(t)?(t.longitude=this.east,t.latitude=this.south,t.height=0,t):new o(this.east,this.south)},s.prototype.getCenter=function(t){return r(t)?(t.longitude=.5*(this.west+this.east),t.latitude=.5*(this.south+this.north),t.height=0,t):new o(.5*(this.west+this.east),.5*(this.south+this.north))},s.prototype.intersectWith=function(t,e){var n=Math.max(this.west,t.west),o=Math.max(this.south,t.south),a=Math.min(this.east,t.east),i=Math.min(this.north,t.north);return r(e)?(e.west=n,e.south=o,e.east=a,e.north=i,e):new s(n,o,a,i)},s.prototype.contains=function(t){return t.longitude>=this.west&&t.longitude<=this.east&&t.latitude>=this.south&&t.latitude<=this.north},s.prototype.isEmpty=function(){return this.west>=this.east||this.south>=this.north};var u=new o;return s.prototype.subsample=function(t,o,a){t=e(t,n.WGS84),o=e(o,0),r(a)||(a=[]);var s=0,l=this.north,c=this.south,f=this.east,h=this.west,m=u;m.height=o,m.longitude=h,m.latitude=l,a[s]=t.cartographicToCartesian(m,a[s]),s++,m.longitude=f,a[s]=t.cartographicToCartesian(m,a[s]),s++,m.latitude=c,a[s]=t.cartographicToCartesian(m,a[s]),s++,m.longitude=h,a[s]=t.cartographicToCartesian(m,a[s]),s++,m.latitude=0>l?l:c>0?c:0;for(var y=1;8>y;++y){var p=-Math.PI+y*i.PI_OVER_TWO;p>h&&f>p&&(m.longitude=p,a[s]=t.cartographicToCartesian(m,a[s]),s++)}return 0===m.latitude&&(m.longitude=h,a[s]=t.cartographicToCartesian(m,a[s]),s++,m.longitude=f,a[s]=t.cartographicToCartesian(m,a[s]),s++),a.length=s,a},s.MAX_VALUE=t(new s(-Math.PI,-i.PI_OVER_TWO,Math.PI,i.PI_OVER_TWO)),s}),define("Core/Geometry",["./defaultValue","./defined","./DeveloperError"],function(t,e,r){"use strict";var n=function(e){e=t(e,t.EMPTY_OBJECT),this.attributes=e.attributes,this.indices=e.indices,this.primitiveType=e.primitiveType,this.boundingSphere=e.boundingSphere};return n.computeNumberOfVertices=function(t){var n=-1;for(var o in t.attributes)if(t.attributes.hasOwnProperty(o)&&e(t.attributes[o])&&e(t.attributes[o].values)){var a=t.attributes[o],i=a.values.length/a.componentsPerAttribute;if(n!==i&&-1!==n)throw new r("All attribute lists must have the same number of attributes.");n=i}return n},n}),define("Core/GeometryInstance",["./defaultValue","./defined","./DeveloperError","./Matrix4"],function(t,e,r,n){"use strict";var o=function(e){e=t(e,t.EMPTY_OBJECT),this.geometry=e.geometry,this.modelMatrix=n.clone(t(e.modelMatrix,n.IDENTITY)),this.id=e.id,this.pickPrimitive=e.pickPrimitive,this.attributes=t(e.attributes,{})};return o}),define("Core/barycentricCoordinates",["./Cartesian2","./Cartesian3","./defined","./DeveloperError"],function(t,e,r){"use strict";var n=new e,o=new e,a=new e,i=function(i,s,u,l,c){r(c)||(c=new e);var f,h,m,y,p,d,v,g;r(s.z)?(f=e.subtract(u,s,n),h=e.subtract(l,s,o),m=e.subtract(i,s,a),y=e.dot(f,f),p=e.dot(f,h),d=e.dot(f,m),v=e.dot(h,h),g=e.dot(h,m)):(f=t.subtract(u,s,n),h=t.subtract(l,s,o),m=t.subtract(i,s,a),y=t.dot(f,f),p=t.dot(f,h),d=t.dot(f,m),v=t.dot(h,h),g=t.dot(h,m));var E=1/(y*v-p*p);return c.y=(v*d-p*g)*E,c.z=(y*g-p*d)*E,c.x=1-c.y-c.z,c};return i}),define("Core/EncodedCartesian3",["./Cartesian3","./defined","./DeveloperError"],function(t,e){"use strict";var r=function(){this.high=t.clone(t.ZERO),this.low=t.clone(t.ZERO)};r.encode=function(t,r){e(r)||(r={high:0,low:0});var n;return t>=0?(n=65536*Math.floor(t/65536),r.high=n,r.low=t-n):(n=65536*Math.floor(-t/65536),r.high=-n,r.low=t+n),r};var n={high:0,low:0};r.fromCartesian=function(t,o){e(o)||(o=new r);var a=o.high,i=o.low;return r.encode(t.x,n),a.x=n.high,i.x=n.low,r.encode(t.y,n),a.y=n.high,i.y=n.low,r.encode(t.z,n),a.z=n.high,i.z=n.low,o};var o=new r;return r.writeElements=function(t,e,n){r.fromCartesian(t,o);var a=o.high,i=o.low;e[n]=a.x,e[n+1]=a.y,e[n+2]=a.z,e[n+3]=i.x,e[n+4]=i.y,e[n+5]=i.z},r}),define("Core/QuadraticRealPolynomial",["./DeveloperError","./Math"],function(t,e){"use strict";function r(t,r,n){var o=t+r;return e.sign(t)!==e.sign(r)&&Math.abs(o/Math.max(Math.abs(t),Math.abs(r)))i&&i/ss&&s/ia)return[];var u=Math.sqrt(a);return[-u,u]}if(0===o)return a=-n/t,0>a?[a,0]:[0,a];var l=n*n,c=4*t*o,f=r(l,-c,e.EPSILON14);if(0>f)return[];var h=-.5*r(n,e.sign(n)*Math.sqrt(f),e.EPSILON14);return n>0?[h/t,o/h]:[o/h,h/t]},n}),define("Core/CubicRealPolynomial",["./DeveloperError","./QuadraticRealPolynomial"],function(t,e){"use strict";function r(t,e,r,n){var o,a,i=t,s=e/3,u=r/3,l=n,c=i*u,f=s*l,h=s*s,m=u*u,y=i*u-h,p=i*l-s*u,d=s*l-m,v=4*y*d-p*p;if(0>v){var g,E,w;h*f>=c*m?(g=i,E=y,w=-2*s*y+i*p):(g=l,E=d,w=-l*p+2*u*d);var C=0>w?-1:1,S=-C*Math.abs(g)*Math.sqrt(-v);a=-w+S;var x=a/2,A=0>x?-Math.pow(-x,1/3):Math.pow(x,1/3),M=a===S?-A:-E/A;return o=0>=E?A+M:-w/(A*A+M*M+E),h*f>=c*m?[(o-s)/i]:[-l/(o+u)]}var b=y,T=-2*s*y+i*p,O=d,I=-l*p+2*u*d,N=Math.sqrt(v),R=Math.sqrt(3)/2,z=Math.abs(Math.atan2(i*N,-T)/3);o=2*Math.sqrt(-b);var L=Math.cos(z);a=o*L;var F=o*(-L/2-R*Math.sin(z)),D=a+F>2*s?a-s:F-s,P=i,_=D/P;z=Math.abs(Math.atan2(l*N,-I)/3),o=2*Math.sqrt(-O),L=Math.cos(z),a=o*L,F=o*(-L/2-R*Math.sin(z));var B=-l,U=2*u>a+F?a+u:F+u,G=B/U,q=P*U,W=-D*U-P*B,Y=D*B,V=(u*W-s*Y)/(-s*W+u*q);return V>=_?G>=_?G>=V?[_,V,G]:[_,G,V]:[G,_,V]:G>=_?[V,_,G]:G>=V?[V,G,_]:[G,V,_]}var n={};return n.discriminant=function(t,e,r,n){var o=t*t,a=e*e,i=r*r,s=n*n,u=18*t*e*r*n+a*i-27*o*s-4*(t*i*r+a*e*n);return u},n.realRoots=function(t,n,o,a){var i,s;if(0===t)return e.realRoots(n,o,a);if(0===n){if(0===o){if(0===a)return[0,0,0];s=-a/t;var u=0>s?-Math.pow(-s,1/3):Math.pow(s,1/3);return[u,u,u]}return 0===a?(i=e.realRoots(t,0,o),0===i.Length?[0]:[i[0],0,i[1]]):r(t,0,o,a)}return 0===o?0===a?(s=-n/t,0>s?[s,0,0]:[0,0,s]):r(t,n,0,a):0===a?(i=e.realRoots(t,n,o),0===i.length?[0]:i[1]<=0?[i[0],i[1],0]:i[0]>=0?[0,i[0],i[1]]:[i[0],0,i[1]]):r(t,n,o,a)},n}),define("Core/QuarticRealPolynomial",["./DeveloperError","./Math","./CubicRealPolynomial","./QuadraticRealPolynomial"],function(t,e,r,n){"use strict";function o(t,o,a,i){var s=t*t,u=o-3*s/8,l=a-o*t/2+s*t/8,c=i-a*t/4+o*s/16-3*s*s/256,f=r.realRoots(1,2*u,u*u-4*c,-l*l);if(f.length>0){var h=-t/4,m=f[f.length-1];if(Math.abs(m)=0&&v>=0){var g=Math.sqrt(d),E=Math.sqrt(v);return[h-E,h-g,h+g,h+E]}if(d>=0&&0>v)return p=Math.sqrt(d),[h-p,h+p];if(0>d&&v>=0)return p=Math.sqrt(v),[h-p,h+p]}return[]}if(m>0){var w=Math.sqrt(m),C=(u+m-l/w)/2,S=(u+m+l/w)/2,x=n.realRoots(1,w,C),A=n.realRoots(1,-w,S);return 0!==x.length?(x[0]+=h,x[1]+=h,0!==A.length?(A[0]+=h,A[1]+=h,x[1]<=A[0]?[x[0],x[1],A[0],A[1]]:A[1]<=x[0]?[A[0],A[1],x[0],x[1]]:x[0]>=A[0]&&x[1]<=A[1]?[A[0],x[0],x[1],A[1]]:A[0]>=x[0]&&A[1]<=x[1]?[x[0],A[0],A[1],x[1]]:x[0]>A[0]&&x[0]0){var y,p,d=m[0],v=o-d,g=v*v,E=t/2,w=v/2,C=g-4*i,S=g+4*Math.abs(i),x=l-4*d,A=l+4*Math.abs(d);if(0>d||x*S>C*A){var M=Math.sqrt(x);y=M/2,p=0===M?0:(t*w-a)/M}else{var b=Math.sqrt(C);y=0===b?0:(t*w-a)/b,p=b/2}var T,O;0===E&&0===y?(T=0,O=0):e.sign(E)===e.sign(y)?(T=E+y,O=d/T):(O=E-y,T=d/O);var I,N;0===w&&0===p?(I=0,N=0):e.sign(w)===e.sign(p)?(I=w+p,N=i/I):(N=w-p,I=i/N);var R=n.realRoots(1,T,I),z=n.realRoots(1,O,N);if(0!==R.length)return 0!==z.length?R[1]<=z[0]?[R[0],R[1],z[0],z[1]]:z[1]<=R[0]?[z[0],z[1],R[0],R[1]]:R[0]>=z[0]&&R[1]<=z[1]?[z[0],R[0],R[1],z[1]]:z[0]>=R[0]&&z[1]<=R[1]?[R[0],z[0],z[1],R[1]]:R[0]>z[0]&&R[0]l?1:0;switch(m+=0>c?m+1:m,m+=0>f?m+1:m,m+=0>h?m+1:m){case 0:return o(l,c,f,h);case 1:return a(l,c,f,h);case 2:return a(l,c,f,h);case 3:return o(l,c,f,h);case 4:return o(l,c,f,h);case 5:return a(l,c,f,h);case 6:return o(l,c,f,h);case 7:return o(l,c,f,h);case 8:return a(l,c,f,h);case 9:return o(l,c,f,h);case 10:return o(l,c,f,h);case 11:return a(l,c,f,h);case 12:return o(l,c,f,h);case 13:return o(l,c,f,h);case 14:return o(l,c,f,h);case 15:return o(l,c,f,h);default:return void 0}},i}),define("Core/IntersectionTests",["./defined","./DeveloperError","./Math","./Cartesian3","./Cartographic","./Matrix3","./QuadraticRealPolynomial","./QuarticRealPolynomial"],function(t,e,r,n,o,a,i,s){"use strict"; +function u(t,e,n){var o=t+e;return r.sign(t)!==r.sign(e)&&Math.abs(o/Math.max(Math.abs(t),Math.abs(e)))F;++F){var D,P=f[F],_=P*P,B=Math.max(1-_,0),U=Math.sqrt(B);D=r.sign(y)===r.sign(d)?u(y*_+d,p*P,r.EPSILON12):r.sign(d)===r.sign(p*P)?u(y*_,p*P+d,r.EPSILON12):u(y*_+p*P,d,r.EPSILON12);var G=u(v*P,g,r.EPSILON15),q=D*G;0>q?E.push(new n(l,c*P,c*U)):q>0?E.push(new n(l,c*P,c*-U)):0!==U?(E.push(new n(l,c*P,c*-U)),E.push(new n(l,c*P,c*U)),++F):E.push(new n(l,c*P,c*U))}return E}var c={};c.rayPlane=function(t,e,o){var a=t.origin,i=t.direction,s=e.normal,u=n.dot(s,i);if(Math.abs(u)l?void 0:(o=n.multiplyByScalar(i,l,o),n.add(a,o,o))};var f=new n,h=new n;c.rayEllipsoid=function(t,e){var r,o,a,i,s,u=e.oneOverRadii,l=n.multiplyComponents(u,t.origin,f),c=n.multiplyComponents(u,t.direction,h),m=n.magnitudeSquared(l),y=n.dot(l,c);if(m>1){if(y>=0)return void 0;var p=y*y;if(r=m-1,o=n.magnitudeSquared(c),a=o*r,a>p)return void 0;if(p>a){i=y*y-a,s=-y+Math.sqrt(i);var d=s/o,v=r/s;return v>d?{start:d,stop:v}:{start:v,stop:d}}var g=Math.sqrt(r/o);return{start:g,stop:g}}return 1>m?(r=m-1,o=n.magnitudeSquared(c),a=o*r,i=y*y-a,s=-y+Math.sqrt(i),{start:0,stop:s/o}):0>y?(o=n.magnitudeSquared(c),{start:0,stop:-y/o}):void 0},c.grazingAltitudeLocation=function(e,i){var s=e.origin,u=e.direction,c=i.geodeticSurfaceNormal(s);if(n.dot(u,c)>=0)return s;var f,h,m=t(this.rayEllipsoid(e,i)),y=i.transformPositionToScaledSpace(u),p=n.normalize(y),d=n.mostOrthogonalAxis(y),v=n.normalize(n.cross(d,p)),g=n.normalize(n.cross(p,v)),E=new a(p.x,v.x,g.x,p.y,v.y,g.y,p.z,v.z,g.z),w=a.transpose(E),C=a.fromScale(i.radii),S=a.fromScale(i.oneOverRadii),x=new a(0,u.z,-u.y,-u.z,0,u.x,u.y,-u.x,0),A=a.multiply(a.multiply(w,S),x),M=a.multiply(a.multiply(A,C),E),b=a.multiplyByVector(A,s),T=l(M,n.negate(b),0,0,1),O=T.length;if(O>0){for(var I=n.ZERO,N=Number.NEGATIVE_INFINITY,R=0;O>R;++R){f=a.multiplyByVector(C,a.multiplyByVector(E,T[R]));var z=n.normalize(n.subtract(f,s)),L=n.dot(z,u);L>N&&(N=L,I=f)}var F=i.cartesianToCartographic(I);return N=r.clamp(N,0,1),h=n.magnitude(n.subtract(I,s))*Math.sqrt(1-N*N),h=m?-h:h,i.cartographicToCartesian(new o(F.longitude,F.latitude,h))}return void 0};var m=new n;return c.lineSegmentPlane=function(e,o,a,i){var s=n.subtract(o,e,m),u=a.normal,l=n.dot(u,s);if(Math.abs(l)f||f>1?void 0:(t(i)||(i=new n),n.multiplyByScalar(s,f,i),n.add(e,i,i),i)},c.trianglePlaneIntersection=function(t,e,r,o){var a=o.normal,i=o.distance,s=n.dot(a,t)+i<0,u=n.dot(a,e)+i<0,l=n.dot(a,r)+i<0,f=0;f+=s?1:0,f+=u?1:0,f+=l?1:0;var h,m;if((1===f||2===f)&&(h=new n,m=new n),1===f){if(s)return c.lineSegmentPlane(t,e,o,h),c.lineSegmentPlane(t,r,o,m),{positions:[t,e,r,h,m],indices:[0,3,4,1,2,4,1,4,3]};if(u)return c.lineSegmentPlane(e,r,o,h),c.lineSegmentPlane(e,t,o,m),{positions:[t,e,r,h,m],indices:[1,3,4,2,0,4,2,4,3]};if(l)return c.lineSegmentPlane(r,t,o,h),c.lineSegmentPlane(r,e,o,m),{positions:[t,e,r,h,m],indices:[2,3,4,0,1,4,0,4,3]}}else if(2===f){if(!s)return c.lineSegmentPlane(e,t,o,h),c.lineSegmentPlane(r,t,o,m),{positions:[t,e,r,h,m],indices:[1,2,4,1,4,3,0,3,4]};if(!u)return c.lineSegmentPlane(r,e,o,h),c.lineSegmentPlane(t,e,o,m),{positions:[t,e,r,h,m],indices:[2,0,4,2,4,3,1,3,4]};if(!l)return c.lineSegmentPlane(t,r,o,h),c.lineSegmentPlane(e,r,o,m),{positions:[t,e,r,h,m],indices:[0,1,4,0,4,3,2,3,4]}}return void 0},c}),define("Core/Plane",["./Cartesian3","./defined","./DeveloperError"],function(t,e){"use strict";var r=function(e,r){this.normal=t.clone(e),this.distance=r};return r.fromPointNormal=function(n,o,a){var i=-t.dot(o,n);return e(a)?(t.clone(o,a.normal),a.distance=i,a):new r(o,i)},r.getPointDistance=function(e,r){return t.dot(e.normal,r)+e.distance},r.prototype.getPointDistance=function(t){return r.getPointDistance(this,t)},r}),define("Core/PrimitiveType",[],function(){"use strict";var t={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,validate:function(e){return e===t.POINTS||e===t.LINES||e===t.LINE_LOOP||e===t.LINE_STRIP||e===t.TRIANGLES||e===t.TRIANGLE_STRIP||e===t.TRIANGLE_FAN}};return t}),define("Core/Tipsify",["./defaultValue","./defined","./DeveloperError"],function(t,e){"use strict";var r={};return r.calculateACMR=function(r){r=t(r,t.EMPTY_OBJECT);var n=r.indices,o=r.maximumIndex,a=t(r.cacheSize,24),i=n.length;if(!e(o)){o=0;for(var s=0,u=n[s];i>s;)u>o&&(o=u),++s,u=n[s]}for(var l=[],c=0;o+1>c;c++)l[c]=0;for(var f=a+1,h=0;i>h;++h)f-l[n[h]]>a&&(l[n[h]]=f,++f);return(f-a+1)/(i/3)},r.tipsify=function(r){function n(t,e,r,n){for(;e.length>=1;){var o=e[e.length-1];if(e.splice(e.length-1,1),t[o].numLiveTriangles>0)return o}for(;n>a;){if(t[a].numLiveTriangles>0)return++a,a-1;++a}return-1}function o(t,e,r,o,a,i,s){for(var u,l=-1,c=-1,f=0;fc||-1===c)&&(c=u,l=h)),++f}return-1===l?n(o,i,t,s):l}r=t(r,t.EMPTY_OBJECT);var a,i=r.indices,s=r.maximumIndex,u=t(r.cacheSize,24),l=i.length,c=0,f=0,h=i[f],m=l;if(e(s))c=s+1;else{for(;m>f;)h>c&&(c=h),++f,h=i[f];if(-1===c)return 0;++c}for(var y=[],p=0;c>p;p++)y[p]={numLiveTriangles:0,timeStamp:0,vertexTriangles:[]};f=0;for(var d=0;m>f;)y[i[f]].vertexTriangles.push(d),++y[i[f]].numLiveTriangles,y[i[f+1]].vertexTriangles.push(d),++y[i[f+1]].numLiveTriangles,y[i[f+2]].vertexTriangles.push(d),++y[i[f+2]].numLiveTriangles,++d,f+=3;var v=0,g=u+1;a=1;var E,w,C=[],S=[],x=0,A=[],M=l/3,b=[];for(p=0;M>p;p++)b[p]=!1;for(var T,O;-1!==v;){C=[],w=y[v],O=w.vertexTriangles.length;for(var I=0;O>I;++I)if(d=w.vertexTriangles[I],!b[d]){b[d]=!0,f=d+d+d;for(var N=0;3>N;++N)T=i[f],C.push(T),S.push(T),A[x]=T,++x,E=y[T],--E.numLiveTriangles,g-E.timeStamp>u&&(E.timeStamp=g,++g),++f}v=o(i,u,C,y,g,S,c)}return A},r}),define("Core/GeometryAttribute",["./defaultValue","./defined","./DeveloperError"],function(t){"use strict";var e=function(e){e=t(e,t.EMPTY_OBJECT),this.componentDatatype=e.componentDatatype,this.componentsPerAttribute=e.componentsPerAttribute,this.normalize=t(e.normalize,!1),this.values=e.values};return e}),define("Core/GeometryPipeline",["./barycentricCoordinates","./defaultValue","./defined","./DeveloperError","./Cartesian2","./Cartesian3","./Cartesian4","./Cartographic","./EncodedCartesian3","./Intersect","./IntersectionTests","./Math","./Matrix3","./Matrix4","./Plane","./GeographicProjection","./ComponentDatatype","./IndexDatatype","./PrimitiveType","./Tipsify","./BoundingSphere","./Geometry","./GeometryAttribute"],function(t,e,r,n,o,a,i,s,u,l,c,f,h,m,y,p,d,v,g,E,w,C,S){"use strict";function x(t,e,r,n,o){t[e++]=r,t[e++]=n,t[e++]=n,t[e++]=o,t[e++]=o,t[e]=r}function A(t){for(var e=t.length,r=6*(e/3),n=v.createTypedArray(e,r),o=0,a=0;e>a;a+=3,o+=6)x(n,o,t[a],t[a+1],t[a+2]);return n}function M(t){var e=t.length;if(e>=3){var r=6*(e-2),n=v.createTypedArray(e,r);x(n,0,t[0],t[1],t[2]);for(var o=6,a=3;e>a;++a,o+=6)x(n,o,t[a-1],t[a],t[a-2]);return n}return new Uint16Array}function b(t){if(t.length>0){for(var e=t.length-1,r=6*(e-1),n=v.createTypedArray(e,r),o=t[0],a=0,i=1;e>i;++i,a+=6)x(n,a,o,t[i],t[i+1]);return n}return new Uint16Array}function T(t){var e={};for(var n in t)if(t.hasOwnProperty(n)&&r(t[n])&&r(t[n].values)){var o=t[n];e[n]=new S({componentDatatype:o.componentDatatype,componentsPerAttribute:o.componentsPerAttribute,normalize:o.normalize,values:[]})}return e}function O(t,e,n){for(var o in e)if(e.hasOwnProperty(o)&&r(e[o])&&r(e[o].values))for(var a=e[o],i=0;ii;i+=3)a.unpack(n,i,Z),m.multiplyByPoint(t,Z,Z),a.pack(Z,n,i)}function N(t,e){if(r(e))for(var n=e.values,o=n.length,i=0;o>i;i+=3)a.unpack(n,i,Z),h.multiplyByVector(t,Z,Z),Z=a.normalize(Z,Z),a.pack(Z,n,i)}function R(t){var e,n=t.length,o={},a=t[0].geometry.attributes;for(e in a)if(a.hasOwnProperty(e)&&r(a[e])&&r(a[e].values)){for(var i=a[e],s=i.values.length,u=!0,l=1;n>l;++l){var c=t[l].geometry.attributes[e];if(!r(c)||i.componentDatatype.value!==c.componentDatatype.value||i.componentsPerAttribute!==c.componentsPerAttribute||i.normalize!==c.normalize){u=!1;break}s+=c.values.length}u&&(o[e]=new S({componentDatatype:i.componentDatatype,componentsPerAttribute:i.componentsPerAttribute,normalize:i.normalize,values:d.createTypedArray(i.componentDatatype,s)}))}return o}function z(t){if(r(t.indices))return t;for(var e=C.computeNumberOfVertices(t),n=v.createTypedArray(e,e),o=0;e>o;++o)n[o]=o;return t.indices=n,t}function L(t){var e=C.computeNumberOfVertices(t),r=v.createTypedArray(e,3*(e-2));r[0]=1,r[1]=0,r[2]=2;for(var n=3,o=3;e>o;++o)r[n++]=o-1,r[n++]=0,r[n++]=o;return t.indices=r,t.primitiveType=g.TRIANGLES,t}function F(t){var e=C.computeNumberOfVertices(t),r=v.createTypedArray(e,3*(e-2));r[0]=0,r[1]=1,r[2]=2,e>3&&(r[3]=0,r[4]=2,r[5]=3);for(var n=6,o=3;e-1>o;o+=2)r[n++]=o,r[n++]=o-1,r[n++]=o+1,e>o+2&&(r[n++]=o,r[n++]=o+1,r[n++]=o+2);return t.indices=r,t.primitiveType=g.TRIANGLES,t}function D(t){if(r(t.indices))return t;for(var e=C.computeNumberOfVertices(t),n=v.createTypedArray(e,e),o=0;e>o;++o)n[o]=o;return t.indices=n,t}function P(t){var e=C.computeNumberOfVertices(t),r=v.createTypedArray(e,2*(e-1));r[0]=0,r[1]=1;for(var n=2,o=2;e>o;++o)r[n++]=o-1,r[n++]=o;return t.indices=r,t.primitiveType=g.LINES,t}function _(t){var e=C.computeNumberOfVertices(t),r=v.createTypedArray(e,2*e);r[0]=0,r[1]=1;for(var n=2,o=2;e>o;++o)r[n++]=o-1,r[n++]=o;return r[n++]=e-1,r[n]=0,t.indices=r,t.primitiveType=g.LINES,t}function B(t){switch(t.primitiveType){case g.TRIANGLE_FAN:return L(t);case g.TRIANGLE_STRIP:return F(t);case g.TRIANGLES:return z(t);case g.LINE_STRIP:return P(t);case g.LINE_LOOP:return _(t);case g.LINES:return D(t)}return t}function U(t,e){Math.abs(t.y)=0||e.x>=0||r.x>=0)return void 0;var n=t.y<0,o=e.y<0,a=r.y<0;U(t,n),U(e,o),U(r,a);var i=0;i+=n?1:0,i+=o?1:0,i+=a?1:0;var s=ce.indices;1===i?(s[1]=3,s[2]=4,s[5]=6,s[7]=6,s[8]=5,n?(G(t,e,ie,ue),G(t,r,se,le),s[0]=0,s[3]=1,s[4]=2,s[6]=1):o?(G(e,r,ie,ue),G(e,t,se,le),s[0]=1,s[3]=2,s[4]=0,s[6]=2):a&&(G(r,t,ie,ue),G(r,e,se,le),s[0]=2,s[3]=0,s[4]=1,s[6]=0)):2===i&&(s[2]=4,s[4]=4,s[5]=3,s[7]=5,s[8]=6,n?o?a||(G(r,t,ie,ue),G(r,e,se,le),s[0]=0,s[1]=1,s[3]=0,s[6]=2):(G(e,r,ie,ue),G(e,t,se,le),s[0]=2,s[1]=0,s[3]=2,s[6]=1):(G(t,e,ie,ue),G(t,r,se,le),s[0]=1,s[1]=2,s[3]=1,s[6]=0));var u=ce.positions;return u[0]=t,u[1]=e,u[2]=r,ce.length=3,(1===i||2===i)&&(u[3]=ie,u[4]=se,u[5]=ue,u[6]=le,ce.length=7),ce}function W(e,n,i,s,u,l,c,f){if(r(u)||r(l)||r(c)||r(f)){var h,m,y,p,d,v,g,E,w,C,S,x,A,M,b,T,O,I,N=s.positions,R=N[0],z=N[1],L=N[2];r(u)&&(h=a.fromArray(u,3*e),m=a.fromArray(u,3*n),y=a.fromArray(u,3*i)),r(l)&&(p=a.fromArray(l,3*e),d=a.fromArray(l,3*n),v=a.fromArray(l,3*i)),r(c)&&(g=a.fromArray(c,3*e),E=a.fromArray(c,3*n),w=a.fromArray(c,3*i)),r(f)&&(C=o.fromArray(f,2*e),S=o.fromArray(f,2*n),x=o.fromArray(f,2*i));for(var F=3;FE;E+=3){var w=l[E],S=l[E+1],x=l[E+2],A=a.fromArray(n,3*w),M=a.fromArray(n,3*S),b=a.fromArray(n,3*x),T=q(A,M,b);if(r(T))if(c[3*w+1]=T.positions[0].y,c[3*S+1]=T.positions[1].y,c[3*x+1]=T.positions[2].y,T.length>3){for(var O=c.length/3,I=0;IN?p.push(l[E+N]):p.push(N-3+O)}for(var R=3;Rh;h+=2){var m=o[h],p=o[h+1],d=a.fromArray(n,3*m),g=a.fromArray(n,3*p);if(Math.abs(d.y)c;c+=3)u[l++]=a[c],u[l++]=a[c+1],u[l++]=a[c+2],u[l++]=a[c]+i[c]*o,u[l++]=a[c+1]+i[c+1]*o,u[l++]=a[c+2]+i[c+2]*o;var f,h=t.boundingSphere;return r(h)&&(f=new w(h.center,h.radius+o)),new C({attributes:{position:new S({componentDatatype:d.DOUBLE,componentsPerAttribute:3,values:u})},primitiveType:g.LINES,boundingSphere:f})},H.createAttributeLocations=function(t){var e,n=["position","positionHigh","positionLow","position3DHigh","position3DLow","position2DHigh","position2DLow","pickColor","normal","st","binormal","tangent"],o=t.attributes,a={},i=0,s=n.length;for(e=0;s>e;++e){var u=n[e];r(o[u])&&(a[u]=i++)}for(var l in o)o.hasOwnProperty(l)&&!r(a[l])&&(a[l]=i++);return a},H.reorderForPreVertexCache=function(t){var e=C.computeNumberOfVertices(t),n=t.indices;if(r(n)){for(var o=new Int32Array(e),a=0;e>a;a++)o[a]=-1;for(var i,s=n,u=s.length,l=v.createTypedArray(e,u),c=0,f=0,h=0;u>c;)i=o[s[c]],-1!==i?l[f]=i:(i=s[c],o[i]=h,l[f]=h,++h),++c,++f;t.indices=l;var m=t.attributes;for(var y in m)if(m.hasOwnProperty(y)&&r(m[y])&&r(m[y].values)){for(var p=m[y],g=p.values,E=0,w=p.componentsPerAttribute,S=d.createTypedArray(p.componentDatatype,h*w);e>E;){var x=o[E];if(-1!==x)for(a=0;w>a;a++)S[w*x+a]=g[w*E+a];++E}p.values=S}}return t},H.reorderForPostVertexCache=function(t,e){var n=t.indices;if(t.primitiveType===g.TRIANGLES&&r(n)){for(var o=n.length,a=0,i=0;o>i;i++)n[i]>a&&(a=n[i]);t.indices=E.tipsify({indices:n,maximumIndex:a,cacheSize:e})}return t},H.fitToUnsignedShortIndices=function(t){var e=[],n=C.computeNumberOfVertices(t);if(r(t.indices)&&n>f.SIXTY_FOUR_KILOBYTES){var o,a=[],i=[],s=0,u=T(t.attributes),l=t.indices,c=l.length;t.primitiveType===g.TRIANGLES?o=3:t.primitiveType===g.LINES?o=2:t.primitiveType===g.POINTS&&(o=1);for(var h=0;c>h;h+=o){for(var m=0;o>m;++m){var y=l[h+m],p=a[y];r(p)||(p=s++,a[y]=p,O(u,t.attributes,y)),i.push(p)}s+o>f.SIXTY_FOUR_KILOBYTES&&(e.push(new C({attributes:u,indices:i,primitiveType:t.primitiveType,boundingSphere:t.boundingSphere})),a=[],i=[],s=0,u=T(t.attributes))}0!==i.length&&e.push(new C({attributes:u,indices:i,primitiveType:t.primitiveType,boundingSphere:t.boundingSphere}))}else e.push(t);return e};var k=new a,j=new s;H.projectTo2D=function(t,e,o,i,s){var u=t.attributes[e];s=r(s)?s:new p;for(var l=s.ellipsoid,c=u.values,f=new Float64Array(c.length),h=0,m=0;mc;++c)u.encode(a[c],K),s[c]=K.high,l[c]=K.low;var f=o.componentsPerAttribute;return t.attributes[r]=new S({componentDatatype:d.FLOAT,componentsPerAttribute:f,values:s}),t.attributes[n]=new S({componentDatatype:d.FLOAT,componentsPerAttribute:f,values:l}),delete t.attributes[e],t};var Z=new a,X=new m,Q=new h;H.transformToWorldCoordinates=function(t){var e=t.modelMatrix;if(m.equals(e,m.IDENTITY))return t;var n=t.geometry.attributes;I(e,n.position),I(e,n.prevPosition),I(e,n.nextPosition),(r(n.normal)||r(n.binormal)||r(n.tangent))&&(m.inverse(e,X),m.transpose(X,X),m.getRotation(X,Q),N(Q,n.normal),N(Q,n.binormal),N(Q,n.tangent));var o=t.geometry.boundingSphere;return r(o)&&(t.geometry.boundingSphere=w.transform(o,e,o)),t.modelMatrix=m.clone(m.IDENTITY),t},H.combine=function(t){var e,n,o,i,s=t.length;t[0].modelMatrix;var u,l,c,f=r(t[0].geometry.indices),h=t[0].geometry.primitiveType,m=R(t);for(e in m)if(m.hasOwnProperty(e))for(u=m[e].values,i=0,n=0;s>n;++n)for(l=t[n].geometry.attributes[e].values,c=l.length,o=0;c>o;++o)u[i++]=l[o];var y;if(f){var p=0;for(n=0;s>n;++n)p+=t[n].geometry.indices.length;var d=C.computeNumberOfVertices(new C({attributes:m,primitiveType:g.POINTS})),E=v.createTypedArray(d,p),S=0,x=0;for(n=0;s>n;++n){var A=t[n].geometry.indices,M=A.length;for(i=0;M>i;++i)E[S++]=x+A[i];x+=C.computeNumberOfVertices(t[n].geometry)}y=E}var b,T=new a,O=0;for(n=0;s>n;++n){if(b=t[n].geometry.boundingSphere,!r(b)){T=void 0;break}a.add(b.center,T,T)}if(r(T))for(a.divideByScalar(T,s,T),n=0;s>n;++n){b=t[n].geometry.boundingSphere;var I=a.magnitude(a.subtract(b.center,T))+b.radius;I>O&&(O=I)}return new C({attributes:m,indices:y,primitiveType:h,boundingSphere:r(T)?new w(T,O):void 0})};var J=new a,$=new a,te=new a,ee=new a;H.computeNormal=function(t){for(var e=t.indices,r=t.attributes,n=r.position.values,o=r.position.values.length/3,i=e.length,s=new Array(o),u=new Array(i/3),l=new Array(i),c=0;o>c;c++)s[c]={indexOffset:0,count:0,currentCount:0};var f=0;for(c=0;i>c;c+=3){var h=e[c],m=e[c+1],y=e[c+2],p=3*h,v=3*m,g=3*y;$.x=n[p],$.y=n[p+1],$.z=n[p+2],te.x=n[v],te.y=n[v+1],te.z=n[v+2],ee.x=n[g],ee.y=n[g+1],ee.z=n[g+2],s[h].count++,s[m].count++,s[y].count++,a.subtract(te,$,te),a.subtract(ee,$,ee),u[f]=a.cross(te,ee),f++}var E=0;for(c=0;o>c;c++)s[c].indexOffset+=E,E+=s[c].count;f=0;var w;for(c=0;i>c;c+=3){w=s[e[c]];var C=w.indexOffset+w.currentCount;l[C]=f,w.currentCount++,w=s[e[c+1]],C=w.indexOffset+w.currentCount,l[C]=f,w.currentCount++,w=s[e[c+2]],C=w.indexOffset+w.currentCount,l[C]=f,w.currentCount++,f++}var x=new Float32Array(3*o);for(c=0;o>c;c++){var A=3*c;if(w=s[c],w.count>0){for(a.clone(a.ZERO,J),f=0;fl;l+=3){var m=e[l],y=e[l+1],p=e[l+2];c=3*m,f=3*y,h=3*p;var v=2*m,g=2*y,E=2*p,w=r[c],C=r[c+1],x=r[c+2],A=o[v],M=o[v+1],b=o[g+1]-M,T=o[E+1]-M,O=1/((o[g]-A)*T-(o[E]-A)*b),I=(T*(r[f]-w)-b*(r[h]-w))*O,N=(T*(r[f+1]-C)-b*(r[h+1]-C))*O,R=(T*(r[f+2]-x)-b*(r[h+2]-x))*O;u[c]+=I,u[c+1]+=N,u[c+2]+=R,u[f]+=I,u[f+1]+=N,u[f+2]+=R,u[h]+=I,u[h+1]+=N,u[h+2]+=R}var z=new Float32Array(3*i),L=new Float32Array(3*i);for(l=0;i>l;l++){c=3*l,f=c+1,h=c+2;var F=a.fromArray(n,c,re),D=a.fromArray(u,c,oe),P=a.dot(F,D);a.multiplyByScalar(F,P,ne),a.normalize(a.subtract(D,ne,D),D),L[c]=D.x,L[f]=D.y,L[h]=D.z,a.normalize(a.cross(F,D,D),D),z[c]=D.x,z[f]=D.y,z[h]=D.z}return t.attributes.tangent=new S({componentDatatype:d.FLOAT,componentsPerAttribute:3,values:L}),t.attributes.binormal=new S({componentDatatype:d.FLOAT,componentsPerAttribute:3,values:z}),t};var ae=new a,ie=new a,se=new a,ue=new a,le=new a,ce={positions:new Array(7),indices:new Array(9)};return H.wrapLongitude=function(t){var e=t.boundingSphere;if(r(e)){var n=e.center.x-e.radius;if(n>0||w.intersect(e,i.UNIT_Y)!==l.INTERSECTING)return t}return B(t),t.primitiveType===g.TRIANGLES?Y(t):t.primitiveType===g.LINES&&V(t),t},H}),define("Core/GeometryAttributes",["./defaultValue"],function(t){"use strict";var e=function(e){e=t(e,t.EMPTY_OBJECT),this.position=e.position,this.normal=e.normal,this.st=e.st,this.binormal=e.binormal,this.tangent=e.tangent,this.color=e.color};return e}),define("Core/Matrix2",["./Cartesian2","./defaultValue","./defined","./DeveloperError","./freezeObject"],function(t,e,r,n,o){"use strict";var a=function(t,r,n,o){this[0]=e(t,0),this[1]=e(n,0),this[2]=e(r,0),this[3]=e(o,0)};return a.clone=function(t,e){return r(t)?r(e)?(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e):new a(t[0],t[2],t[1],t[3]):void 0},a.fromArray=function(t,n,o){return n=e(n,0),r(o)||(o=new a),o[0]=t[n],o[1]=t[n+1],o[2]=t[n+2],o[3]=t[n+3],o},a.fromColumnMajorArray=function(t,e){return a.clone(t,e)},a.fromRowMajorArray=function(t,e){return r(e)?(e[0]=t[0],e[1]=t[2],e[2]=t[1],e[3]=t[3],e):new a(t[0],t[1],t[2],t[3])},a.fromScale=function(t,e){return r(e)?(e[0]=t.x,e[1]=0,e[2]=0,e[3]=t.y,e):new a(t.x,0,0,t.y)},a.fromUniformScale=function(t,e){return r(e)?(e[0]=t,e[1]=0,e[2]=0,e[3]=t,e):new a(t,0,0,t)},a.fromRotation=function(t,e){var n=Math.cos(t),o=Math.sin(t);return r(e)?(e[0]=n,e[1]=o,e[2]=-o,e[3]=n,e):new a(n,-o,o,n)},a.toArray=function(t,e){return r(e)?(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e):[t[0],t[1],t[2],t[3]]},a.getElementIndex=function(t,e){return 2*t+e},a.getColumn=function(e,n,o){var a=2*n,i=e[a],s=e[a+1];return r(o)?(o.x=i,o.y=s,o):new t(i,s)},a.setColumn=function(t,e,r,n){n=a.clone(t,n);var o=2*e;return n[o]=r.x,n[o+1]=r.y,n},a.getRow=function(e,n,o){var a=e[n],i=e[n+2];return r(o)?(o.x=a,o.y=i,o):new t(a,i)},a.setRow=function(t,e,r,n){return n=a.clone(t,n),n[e]=r.x,n[e+2]=r.y,n},a.multiply=function(t,e,n){var o=t[0]*e[0]+t[2]*e[1],i=t[0]*e[2]+t[2]*e[3],s=t[1]*e[0]+t[3]*e[1],u=t[1]*e[2]+t[3]*e[3];return r(n)?(n[0]=o,n[1]=s,n[2]=i,n[3]=u,n):new a(o,i,s,u)},a.multiplyByVector=function(e,n,o){var a=e[0]*n.x+e[2]*n.y,i=e[1]*n.x+e[3]*n.y;return r(o)?(o.x=a,o.y=i,o):new t(a,i)},a.multiplyByScalar=function(t,e,n){return r(n)?(n[0]=t[0]*e,n[1]=t[1]*e,n[2]=t[2]*e,n[3]=t[3]*e,n):new a(t[0]*e,t[2]*e,t[1]*e,t[3]*e)},a.negate=function(t,e){return r(e)?(e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=-t[3],e):new a(-t[0],-t[2],-t[1],-t[3])},a.transpose=function(t,e){var n=t[0],o=t[2],i=t[1],s=t[3];return r(e)?(e[0]=n,e[1]=o,e[2]=i,e[3]=s,e):new a(n,i,o,s)},a.abs=function(t,e){return r(e)?(e[0]=Math.abs(t[0]),e[1]=Math.abs(t[1]),e[2]=Math.abs(t[2]),e[3]=Math.abs(t[3]),e):new a(Math.abs(t[0]),Math.abs(t[2]),Math.abs(t[1]),Math.abs(t[3]))},a.equals=function(t,e){return t===e||r(t)&&r(e)&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]},a.equalsEpsilon=function(t,e,n){return t===e||r(t)&&r(e)&&Math.abs(t[0]-e[0])<=n&&Math.abs(t[1]-e[1])<=n&&Math.abs(t[2]-e[2])<=n&&Math.abs(t[3]-e[3])<=n},a.IDENTITY=o(new a(1,0,0,1)),a.COLUMN0ROW0=0,a.COLUMN0ROW1=1,a.COLUMN1ROW0=2,a.COLUMN1ROW1=3,a.prototype.clone=function(t){return a.clone(this,t)},a.prototype.equals=function(t){return a.equals(this,t)},a.prototype.equalsEpsilon=function(t,e){return a.equalsEpsilon(this,t,e)},a.prototype.toString=function(){return"("+this[0]+", "+this[2]+")\n"+"("+this[1]+", "+this[3]+")"},a}),define("Core/Quaternion",["./Cartesian3","./defaultValue","./defined","./DeveloperError","./FeatureDetection","./freezeObject","./Math","./Matrix3"],function(t,e,r,n,o,a,i,s){"use strict";var u,l=function(t,r,n,o){this.x=e(t,0),this.y=e(r,0),this.z=e(n,0),this.w=e(o,0)};l.fromAxisAngle=function(e,n,o){var a=n/2,i=Math.sin(a);u=t.normalize(e,u);var s=u.x*i,c=u.y*i,f=u.z*i,h=Math.cos(a);return r(o)?(o.x=s,o.y=c,o.z=f,o.w=h,o):new l(s,c,f,h)};var c=[1,2,0],f=new Array(3);l.fromRotationMatrix=function(t,e){var n,o,a,i,u,h=t[s.COLUMN0ROW0],m=t[s.COLUMN1ROW1],y=t[s.COLUMN2ROW2],p=h+m+y;if(p>0)n=Math.sqrt(p+1),u=.5*n,n=.5/n,o=(t[s.COLUMN1ROW2]-t[s.COLUMN2ROW1])*n,a=(t[s.COLUMN2ROW0]-t[s.COLUMN0ROW2])*n,i=(t[s.COLUMN0ROW1]-t[s.COLUMN1ROW0])*n;else{var d=c,v=0;m>h&&(v=1),y>h&&y>m&&(v=2);var g=d[v],E=d[g];n=Math.sqrt(t[s.getElementIndex(v,v)]-t[s.getElementIndex(g,g)]-t[s.getElementIndex(E,E)]+1);var w=f;w[v]=.5*n,n=.5/n,u=(t[s.getElementIndex(E,g)]-t[s.getElementIndex(g,E)])*n,w[g]=(t[s.getElementIndex(g,v)]+t[s.getElementIndex(v,g)])*n,w[E]=(t[s.getElementIndex(E,v)]+t[s.getElementIndex(v,E)])*n,o=-w[0],a=-w[1],i=-w[2]}return r(e)?(e.x=o,e.y=a,e.z=i,e.w=u,e):new l(o,a,i,u)};var h=new t,m=new t,y=new l,p=new l,d=new l;l.packedLength=4,l.pack=function(t,r,n){n=e(n,0),r[n++]=t.x,r[n++]=t.y,r[n++]=t.z,r[n]=t.w},l.unpack=function(t,n,o){return n=e(n,0),r(o)||(o=new l),o.x=t[n],o.y=t[n+1],o.z=t[n+2],o.w=t[n+3],o},l.packedInterpolationLength=3,l.convertPackedArrayForInterpolation=function(t,e,r,n){l.unpack(t,4*r,d),l.conjugate(d,d);for(var o=0,a=r-e+1;a>o;o++){var i=3*o;l.unpack(t,4*(e+o),y),l.multiply(y,d,y),y.w<0&&l.negate(y,y),l.getAxis(y,h);var s=l.getAngle(y);n[i]=h.x*s,n[i+1]=h.y*s,n[i+2]=h.z*s}},l.unpackInterpolationResult=function(e,n,o,a,i){r(i)||(i=new l),t.fromArray(e,0,m);var s=t.magnitude(m);return l.unpack(n,4*a,p),0===s?l.clone(l.IDENTITY,y):l.fromAxisAngle(m,s,y),l.multiply(y,p,i)},l.clone=function(t,e){return r(t)?r(e)?(e.x=t.x,e.y=t.y,e.z=t.z,e.w=t.w,e):new l(t.x,t.y,t.z,t.w):void 0},l.conjugate=function(t,e){return r(e)?(e.x=-t.x,e.y=-t.y,e.z=-t.z,e.w=t.w,e):new l(-t.x,-t.y,-t.z,t.w)},l.magnitudeSquared=function(t){return t.x*t.x+t.y*t.y+t.z*t.z+t.w*t.w},l.magnitude=function(t){return Math.sqrt(l.magnitudeSquared(t))},l.normalize=function(t,e){var n=1/l.magnitude(t),o=t.x*n,a=t.y*n,i=t.z*n,s=t.w*n;return r(e)?(e.x=o,e.y=a,e.z=i,e.w=s,e):new l(o,a,i,s)},l.inverse=function(t,e){var r=l.magnitudeSquared(t);return e=l.conjugate(t,e),l.multiplyByScalar(e,1/r,e)},l.add=function(t,e,n){return r(n)?(n.x=t.x+e.x,n.y=t.y+e.y,n.z=t.z+e.z,n.w=t.w+e.w,n):new l(t.x+e.x,t.y+e.y,t.z+e.z,t.w+e.w)},l.subtract=function(t,e,n){return r(n)?(n.x=t.x-e.x,n.y=t.y-e.y,n.z=t.z-e.z,n.w=t.w-e.w,n):new l(t.x-e.x,t.y-e.y,t.z-e.z,t.w-e.w)},l.negate=function(t,e){return r(e)?(e.x=-t.x,e.y=-t.y,e.z=-t.z,e.w=-t.w,e):new l(-t.x,-t.y,-t.z,-t.w)},l.dot=function(t,e){return t.x*e.x+t.y*e.y+t.z*e.z+t.w*e.w},l.multiply=function(t,e,n){var o=t.x,a=t.y,i=t.z,s=t.w,u=e.x,c=e.y,f=e.z,h=e.w,m=s*u+o*h+a*f-i*c,y=s*c-o*f+a*h+i*u,p=s*f+o*c-a*u+i*h,d=s*h-o*u-a*c-i*f;return r(n)?(n.x=m,n.y=y,n.z=p,n.w=d,n):new l(m,y,p,d)},l.multiplyByScalar=function(t,e,n){return r(n)?(n.x=t.x*e,n.y=t.y*e,n.z=t.z*e,n.w=t.w*e,n):new l(t.x*e,t.y*e,t.z*e,t.w*e)},l.divideByScalar=function(t,e,n){return r(n)?(n.x=t.x/e,n.y=t.y/e,n.z=t.z/e,n.w=t.w/e,n):new l(t.x/e,t.y/e,t.z/e,t.w/e)},l.getAxis=function(e,n){var o=e.w;if(Math.abs(o-1)o&&(o=-o,a=g=l.negate(e,g)),1-oR;++R){var z=R+1,L=2*z+1;T[R]=1/(z*L),O[R]=z/L}return T[7]=b/136,O[7]=8*b/17,l.fastSlerp=function(t,e,n,o){r(o)||(o=new l);var a,i=l.dot(t,e);i>=0?a=1:(a=-1,i=-i);for(var s=i-1,u=1-n,c=n*n,f=u*u,h=7;h>=0;--h)I[h]=(T[h]*c-O[h])*s,N[h]=(T[h]*f-O[h])*s;var m=a*n*(1+I[0]*(1+I[1]*(1+I[2]*(1+I[3]*(1+I[4]*(1+I[5]*(1+I[6]*(1+I[7])))))))),y=u*(1+N[0]*(1+N[1]*(1+N[2]*(1+N[3]*(1+N[4]*(1+N[5]*(1+N[6]*(1+N[7])))))))),p=l.multiplyByScalar(t,y,M);return l.multiplyByScalar(e,m,o),l.add(p,o,o)},l.fastSquad=function(t,e,r,n,o,a){var i=l.fastSlerp(t,e,o,x),s=l.fastSlerp(r,n,o,A);return l.fastSlerp(i,s,2*o*(1-o),a)},l.equals=function(t,e){return t===e||r(t)&&r(e)&&t.x===e.x&&t.y===e.y&&t.z===e.z&&t.w===e.w},l.equalsEpsilon=function(t,e,n){return t===e||r(t)&&r(e)&&Math.abs(t.x-e.x)<=n&&Math.abs(t.y-e.y)<=n&&Math.abs(t.z-e.z)<=n&&Math.abs(t.w-e.w)<=n},l.ZERO=a(new l(0,0,0,0)),l.IDENTITY=a(new l(0,0,0,1)),l.prototype.clone=function(t){return l.clone(this,t)},l.prototype.equals=function(t){return l.equals(this,t)},l.prototype.equalsEpsilon=function(t,e){return l.equalsEpsilon(this,t,e)},l.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+", "+this.w+")"},l}),define("Core/VertexFormat",["./defaultValue","./freezeObject"],function(t,e){"use strict";var r=function(e){e=t(e,t.EMPTY_OBJECT),this.position=t(e.position,!1),this.normal=t(e.normal,!1),this.st=t(e.st,!1),this.binormal=t(e.binormal,!1),this.tangent=t(e.tangent,!1)};return r.POSITION_ONLY=e(new r({position:!0})),r.POSITION_AND_NORMAL=e(new r({position:!0,normal:!0})),r.POSITION_NORMAL_AND_ST=e(new r({position:!0,normal:!0,st:!0})),r.POSITION_AND_ST=e(new r({position:!0,st:!0})),r.ALL=e(new r({position:!0,normal:!0,st:!0,binormal:!0,tangent:!0})),r.DEFAULT=r.POSITION_NORMAL_AND_ST,r +}),define("Core/ExtentGeometry",["./defaultValue","./defined","./BoundingSphere","./Cartesian2","./Cartesian3","./Cartographic","./ComponentDatatype","./IndexDatatype","./DeveloperError","./Ellipsoid","./Extent","./Geometry","./GeometryInstance","./GeometryPipeline","./GeographicProjection","./GeometryAttribute","./GeometryAttributes","./Math","./Matrix2","./Matrix3","./PrimitiveType","./Quaternion","./VertexFormat"],function(t,e,r,n,o,a,i,s,u,l,c,f,h,m,y,p,d,v,g,E,w,C,S){"use strict";function x(t,e){return t<-v.PI_OVER_TWO||t>v.PI_OVER_TWO?!1:e>v.PI||e<-v.PI?!1:!0}function A(t,r,n,o,a){var i=t.radiiSquared;z=D.latitude-t.granYCos*r+n*t.granXSin;var s=te(z),u=ee(z),l=i.z*u;L=D.longitude+r*t.granYSin+n*t.granXCos;var c=s*te(L),f=s*ee(L),h=i.x*c,m=i.y*f,y=re(h*c+m*f+l*u),p=h/y,d=m/y,v=l/y;e(o)&&(Y.x=p+c*o,Y.y=d+f*o,Y.z=v+u*o),e(a)&&(j.x=p+c*a,j.y=d+f*a,j.z=v+u*a)}function M(t,e){var r=new f({attributes:new d,primitiveType:w.TRIANGLES});return t.position&&(r.attributes.position=new p({componentDatatype:i.DOUBLE,componentsPerAttribute:3,values:e.positions})),t.normal&&(r.attributes.normal=new p({componentDatatype:i.FLOAT,componentsPerAttribute:3,values:e.normals})),t.tangent&&(r.attributes.tangent=new p({componentDatatype:i.FLOAT,componentsPerAttribute:3,values:e.tangents})),t.binormal&&(r.attributes.binormal=new p({componentDatatype:i.FLOAT,componentsPerAttribute:3,values:e.binormals})),r}function b(t,e,r,n,a){var i=t.length,s=e.normal?new Float32Array(i):void 0,u=e.tangent?new Float32Array(i):void 0,l=e.binormal?new Float32Array(i):void 0,c=0,f=n?i/2:0;i=n&&a?i/2:i;for(var h=0;i>h;h+=3){var m=o.fromArray(t,h,Y),y=c+1,p=c+2;(e.normal||e.tangent||e.binormal)&&(V=r.geodeticSurfaceNormal(m,V),(e.tangent||e.binormal)&&(o.cross(o.UNIT_Z,V,H),E.multiplyByVector(q,H,H),o.normalize(H,H),e.binormal&&o.normalize(o.cross(V,H,k),k)),n&&(e.normal&&(s[c]=V.x,s[y]=V.y,s[p]=V.z),e.tangent&&(u[c]=H.x,u[y]=H.y,u[p]=H.z),e.binormal&&(l[c]=k.x,l[y]=k.y,l[p]=k.z)),a&&(e.normal&&(s[c+f]=-V.x,s[y+f]=-V.y,s[p+f]=-V.z),e.tangent&&(u[c+f]=-H.x,u[y+f]=-H.y,u[p+f]=-H.z),e.binormal&&(l[c+f]=k.x,l[y+f]=k.y,l[p+f]=k.z))),c+=3}return M(e,{positions:t,normals:s,tangents:u,binormals:l})}function T(t,e,r){for(var n=t.length,a=e.normal?new Float32Array(n):void 0,i=e.tangent?new Float32Array(n):void 0,s=e.binormal?new Float32Array(n):void 0,u=0,l=!0,c=n/2,f=0;c>f;f+=3){var h=o.fromArray(t,f,Y),m=u+1,y=u+2;if(e.normal||e.tangent||e.binormal){var p=o.fromArray(t,f+3,X);if(l){var d=o.fromArray(t,f+c,Q);o.subtract(p,h,p),o.subtract(d,h,d),V=o.normalize(o.cross(d,p,V),V),l=!1}o.equalsEpsilon(p,h,v.EPSILON10)&&(l=!0),(e.tangent||e.binormal)&&(k=r.geodeticSurfaceNormal(h,k),e.tangent&&(H=o.normalize(o.cross(k,V,H),H))),e.normal&&(a[u]=V.x,a[m]=V.y,a[y]=V.z,a[u+c]=V.x,a[m+c]=V.y,a[y+c]=V.z),e.tangent&&(i[u]=H.x,i[m]=H.y,i[y]=H.z,i[u+c]=H.x,i[m+c]=H.y,i[y+c]=H.z),e.binormal&&(s[u]=k.x,s[m]=k.y,s[y]=k.z,s[u+c]=k.x,s[m+c]=k.y,s[y+c]=k.z)}u+=3}return M(e,{positions:t,normals:a,tangents:i,binormals:s})}function O(t,r,n,o,a){return J.x=(L-B.west)*o.lonScalar-.5,J.y=(z-B.south)*o.latScalar-.5,g.multiplyByVector(U,J,J),J.x+=.5,J.y+=.5,e(a)&&(n[r+a]=J.x,n[r+1+a]=J.y),n[r++]=J.x,n[r++]=J.y,r}function I(t,e,r){return t[e+r]=j.x,t[e++]=Y.x,t[e+r]=j.y,t[e++]=Y.y,t[e+r]=j.z,t[e++]=Y.z,t}function N(t,e){for(var n=e.ellipsoid,o=e.size,a=e.height,u=e.width,l=e.surfaceHeight,c=0,f=t.position?new Float64Array(3*o):void 0,h=t.st?new Float32Array(2*o):void 0,m=0,y=0;a>y;++y)for(var d=0;u>d;++d)A(e,y,d,l),f[m++]=Y.x,f[m++]=Y.y,f[m++]=Y.z,t.st&&(J.x=(L-B.west)*e.lonScalar-.5,J.y=(z-B.south)*e.latScalar-.5,g.multiplyByVector(U,J,J),J.x+=.5,J.y+=.5,h[c++]=J.x,h[c++]=J.y);for(var v=b(f,t,n,!0,!1),E=6*(u-1)*(a-1),w=s.createTypedArray(o,E),C=0,S=0,x=0;a-1>x;++x){for(var M=0;u-1>M;++M){var T=C,O=T+u,I=O+1,N=T+1;w[S++]=T,w[S++]=O,w[S++]=N,w[S++]=N,w[S++]=O,w[S++]=I,++C}++C}return v.indices=w,t.st&&(v.attributes.st=new p({componentDatatype:i.FLOAT,componentsPerAttribute:2,values:h})),{boundingSphere:r.fromExtent3D(e.extent,n,l),geometry:v}}function R(e,n){var a=n.surfaceHeight,u=n.extrudedHeight,l=Math.min(u,a),c=Math.max(u,a);if(v.equalsEpsilon(l,c,.1))return N(e,n);var f,y=n.height,d=n.width,g=n.size,E=n.ellipsoid,w=t(n.closeTop,!0),C=t(n.closeBottom,!0),S=2*d+2*y-4,x=2*(S+4),M=new Float64Array(3*x),R=e.st?new Float32Array(2*x):void 0,z=0,L=0,F=0,D=3*(x/2);for(f=0;y>f;f++)A(n,f,z,c,l),M=I(M,L,D),L+=3,e.st&&(F=O(e,F,R,n,x));for(f=y-1,z=0;d>z;z++)A(n,f,z,c,l),M=I(M,L,D),L+=3,e.st&&(F=O(e,F,R,n,x));for(z=d-1,f=y-1;f>=0;f--)A(n,f,z,c,l),M=I(M,L,D),L+=3,e.st&&(F=O(e,F,R,n,x));for(f=0,z=d-1;z>=0;z--)A(n,f,z,c,l),M=I(M,L,D),L+=3,e.st&&(F=O(e,F,R,n,x));var P=T(M,e,E);e.st&&(P.attributes.st=new p({componentDatatype:i.FLOAT,componentsPerAttribute:2,values:R}));var _,B,U,G,q,W=s.createTypedArray(x,6*S),V=M.length/6,H=0;for(q=0;V-1>q;q++){_=q,G=_+1;var k=o.fromArray(M,3*_,X),J=o.fromArray(M,3*G,Q);o.equalsEpsilon(k,J,v.EPSILON10)||(B=_+V,U=B+1,W[H++]=_,W[H++]=B,W[H++]=G,W[H++]=G,W[H++]=B,W[H++]=U)}if(P.indices=W,C||w){var $,te,ee=0,re=0;w&&(ee+=g,re+=6*(d-1)*(y-1),$=c),C&&(ee+=g,re+=6*(d-1)*(y-1),te=l);var ne=new Float64Array(3*ee),oe=e.st?new Float32Array(2*ee):void 0,ae=s.createTypedArray(ee,re);for(L=0,F=0,D=C&&w?3*g:0,f=0;y>f;++f)for(z=0;d>z;++z)A(n,f,z,$,te),C&&(ne[L+D]=j.x,ne[L+1+D]=j.y,ne[L+2+D]=j.z),w&&(ne[L]=Y.x,ne[L+1]=Y.y,ne[L+2]=Y.z),e.st&&(F=O(e,F,oe,n,2*g)),L+=3;var ie=b(ne,e,E,w,C);e.st&&(ie.attributes.st=new p({componentDatatype:i.FLOAT,componentsPerAttribute:2,values:oe}));var se=0;for(H=0,D/=3,q=0;y-1>q;++q){for(var ue=0;d-1>ue;++ue)_=H,B=_+d,U=B+1,G=_+1,C&&(ae[se++]=G+D,ae[se++]=B+D,ae[se++]=_+D,ae[se++]=U+D,ae[se++]=B+D,ae[se++]=G+D),w&&(ae[se++]=_,ae[se++]=B,ae[se++]=G,ae[se++]=G,ae[se++]=B,ae[se++]=U),++H;++H}ie.indices=ae,P=m.combine([new h({geometry:ie}),new h({geometry:P})])}var le=r.fromExtent3D(n.extent,E,c,Z),ce=r.fromExtent3D(n.extent,E,l,K),fe=r.union(le,ce);return{boundingSphere:fe,geometry:P}}var z,L,F=new o,D=new a,P=new a,_=new o,B=new c,U=new g,G=new g,q=new E,W=new y,Y=new o,V=new o,H=new o,k=new o,j=new o,K=new r,Z=new r,X=new o,Q=new o,J=new n,$=new C,te=Math.cos,ee=Math.sin,re=Math.sqrt,ne=function(e){e=t(e,t.EMPTY_OBJECT);var r=e.extent,n=t(e.granularity,v.RADIANS_PER_DEGREE),o=t(e.ellipsoid,l.WGS84),a=t(e.height,0),i=e.rotation,s=e.stRotation,u=t(e.vertexFormat,S.DEFAULT);this._extent=r,this._granularity=n,this._ellipsoid=o,this._surfaceHeight=a,this._rotation=i,this._stRotation=s,this._vertexFormat=u,this._extrudedHeight=e.extrudedHeight,this._closeTop=e.closeTop,this._closeBottom=e.closeBottom,this._workerName="createExtentGeometry"};return ne.createGeometry=function(t){var r=t._extent,n=t._granularity,a=t._ellipsoid,i=t._surfaceHeight,s=t._rotation,l=t._stRotation,h=t._vertexFormat,m=t._extrudedHeight,y=t._closeTop,p=t._closeBottom,v=Math.ceil((r.east-r.west)/n)+1,w=Math.ceil((r.north-r.south)/n)+1,S=(r.east-r.west)/(v-1),A=(r.north-r.south)/(w-1),M=a.radiiSquared;c.clone(r,B),r.getNorthwest(D),r.getCenter(P);var b=A,T=S,O=0,I=0;if(e(s)){var z=te(s);b*=z,T*=z;var L=ee(s);O=A*L,I=S*L,W.project(D,F),W.project(P,_),o.subtract(F,_,F),g.fromRotation(s,G),g.multiplyByVector(G,F,F),o.add(F,_,F),W.unproject(F,D);var Y=D.latitude,V=Y+(v-1)*I,H=Y-b*(w-1),k=Y-b*(w-1)+(v-1)*I,j=Math.max(Y,V,H,k),K=Math.min(Y,V,H,k),Z=D.longitude,Q=Z+(v-1)*T,J=Z+(w-1)*O,re=Z+(w-1)*O+(v-1)*T,ne=Math.max(Z,Q,J,re),oe=Math.min(Z,Q,J,re);if(!(x(j,oe)&&x(j,ne)&&x(K,oe)&&x(K,ne)))throw new u("Rotated extent is invalid.");B.north=j,B.south=K,B.east=ne,B.west=oe}var ae=1/(B.east-B.west),ie=1/(B.north-B.south),se=v*w;if(e(l)){g.fromRotation(-l,U);var ue=a.cartographicToCartesian(P,X);o.normalize(ue,ue),C.fromAxisAngle(ue,-l,$),E.fromQuaternion($,q)}else g.clone(g.IDENTITY,U),E.clone(E.IDENTITY,q);var le,ce={granYCos:b,granYSin:O,granXCos:T,granXSin:I,radiiSquared:M,ellipsoid:a,lonScalar:ae,latScalar:ie,extent:r,width:v,height:w,surfaceHeight:i,size:se,extrudedHeight:m,closeTop:y,closeBottom:p};le=e(m)?R(h,ce):N(h,ce);var fe=le.boundingSphere;return le=le.geometry,new f({attributes:new d(le.attributes),indices:le.indices,primitiveType:le.primitiveType,boundingSphere:fe})},ne}),define("Core/Color",["./defaultValue","./defined","./freezeObject","./DeveloperError","./FeatureDetection","./Math"],function(t,e,r,n,o,a){"use strict";function i(t,e,r){return 0>r&&(r+=1),r>1&&(r-=1),1>6*r?t+6*(e-t)*r:1>2*r?e:2>3*r?t+6*(e-t)*(2/3-r):t}var s=function(e,r,n,o){this.red=t(e,1),this.green=t(r,1),this.blue=t(n,1),this.alpha=t(o,1)};s.fromBytes=function(e,r,n,o){return e=s.byteToFloat(t(e,255)),r=s.byteToFloat(t(r,255)),n=s.byteToFloat(t(n,255)),o=s.byteToFloat(t(o,255)),new s(e,r,n,o)};var u,l,c;o.supportsTypedArrays()&&(u=new ArrayBuffer(4),l=new Uint32Array(u),c=new Uint8Array(u)),s.fromRgba=function(t){return l[0]=t,s.fromBytes(c[0],c[1],c[2],c[3])},s.fromHsl=function(e,r,n,o){e=t(e,0)%1,r=t(r,0),n=t(n,0),o=t(o,1);var a=n,u=n,l=n;if(0!==r){var c;c=.5>n?n*(1+r):n+r-n*r;var f=2*n-c;a=i(f,c,e+1/3),u=i(f,c,e),l=i(f,c,e-1/3)}return new s(a,u,l,o)},s.fromRandom=function(r,n){r=t(r,t.EMPTY_OBJECT);var o=r.red;if(!e(o)){var i=t(r.minimumRed,0),u=t(r.maximumRed,1);o=i+a.nextRandomNumber()*(u-i)}var l=r.green;if(!e(l)){var c=t(r.minimumGreen,0),f=t(r.maximumGreen,1);l=c+a.nextRandomNumber()*(f-c)}var h=r.blue;if(!e(h)){var m=t(r.minimumBlue,0),y=t(r.maximumBlue,1);h=m+a.nextRandomNumber()*(y-m)}var p=r.alpha;if(!e(p)){var d=t(r.minimumAlpha,0),v=t(r.maximumAlpha,1);p=d+a.nextRandomNumber()*(v-d)}return e(n)?(n.red=o,n.green=l,n.blue=h,n.alpha=p,n):new s(o,l,h,p)};var f=/^#([0-9a-f])([0-9a-f])([0-9a-f])$/i,h=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i,m=/^rgba?\(\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)(?:\s*,\s*([0-9.]+))?\s*\)$/i,y=/^hsla?\(\s*([0-9.]+)\s*,\s*([0-9.]+%)\s*,\s*([0-9.]+%)(?:\s*,\s*([0-9.]+))?\s*\)$/i;return s.fromCssColorString=function(r){var n=s[r.toUpperCase()];if(e(n))return s.clone(n);var o=f.exec(r);return null!==o?new s(parseInt(o[1],16)/15,parseInt(o[2],16)/15,parseInt(o[3],16)/15):(o=h.exec(r),null!==o?new s(parseInt(o[1],16)/255,parseInt(o[2],16)/255,parseInt(o[3],16)/255):(o=m.exec(r),null!==o?new s(parseFloat(o[1])/("%"===o[1].substr(-1)?100:255),parseFloat(o[2])/("%"===o[2].substr(-1)?100:255),parseFloat(o[3])/("%"===o[3].substr(-1)?100:255),parseFloat(t(o[4],"1.0"))):(o=y.exec(r),null!==o?s.fromHsl(parseFloat(o[1])/360,parseFloat(o[2])/100,parseFloat(o[3])/100,parseFloat(t(o[4],"1.0"))):void 0)))},s.packedLength=4,s.pack=function(e,r,n){n=t(n,0),r[n++]=e.red,r[n++]=e.green,r[n++]=e.blue,r[n]=e.alpha},s.unpack=function(r,n,o){return n=t(n,0),e(o)||(o=new s),o.red=r[n++],o.green=r[n++],o.blue=r[n++],o.alpha=r[n],o},s.byteToFloat=function(t){return t/255},s.floatToByte=function(t){return 1===t?255:0|256*t},s.clone=function(t,r){return e(t)?e(r)?(r.red=t.red,r.green=t.green,r.blue=t.blue,r.alpha=t.alpha,r):new s(t.red,t.green,t.blue,t.alpha):void 0},s.equals=function(t,r){return t===r||e(t)&&e(r)&&t.red===r.red&&t.green===r.green&&t.blue===r.blue&&t.alpha===r.alpha},s.prototype.clone=function(t){return s.clone(this,t)},s.prototype.equals=function(t){return s.equals(this,t)},s.prototype.equalsEpsilon=function(t,r){return this===t||e(t)&&Math.abs(this.red-t.red)<=r&&Math.abs(this.green-t.green)<=r&&Math.abs(this.blue-t.blue)<=r&&Math.abs(this.alpha-t.alpha)<=r},s.prototype.toString=function(){return"("+this.red+", "+this.green+", "+this.blue+", "+this.alpha+")"},s.prototype.toCssColorString=function(){var t=s.floatToByte(this.red),e=s.floatToByte(this.green),r=s.floatToByte(this.blue);return 1===this.alpha?"rgb("+t+","+e+","+r+")":"rgba("+t+","+e+","+r+","+this.alpha+")"},s.prototype.toBytes=function(t){var r=s.floatToByte(this.red),n=s.floatToByte(this.green),o=s.floatToByte(this.blue),a=s.floatToByte(this.alpha);return e(t)?(t[0]=r,t[1]=n,t[2]=o,t[3]=a,t):[r,n,o,a]},s.prototype.toRgba=function(){return c[0]=s.floatToByte(this.red),c[1]=s.floatToByte(this.green),c[2]=s.floatToByte(this.blue),c[3]=s.floatToByte(this.alpha),l[0]},s.ALICEBLUE=r(s.fromCssColorString("#F0F8FF")),s.ANTIQUEWHITE=r(s.fromCssColorString("#FAEBD7")),s.AQUA=r(s.fromCssColorString("#00FFFF")),s.AQUAMARINE=r(s.fromCssColorString("#7FFFD4")),s.AZURE=r(s.fromCssColorString("#F0FFFF")),s.BEIGE=r(s.fromCssColorString("#F5F5DC")),s.BISQUE=r(s.fromCssColorString("#FFE4C4")),s.BLACK=r(s.fromCssColorString("#000000")),s.BLANCHEDALMOND=r(s.fromCssColorString("#FFEBCD")),s.BLUE=r(s.fromCssColorString("#0000FF")),s.BLUEVIOLET=r(s.fromCssColorString("#8A2BE2")),s.BROWN=r(s.fromCssColorString("#A52A2A")),s.BURLYWOOD=r(s.fromCssColorString("#DEB887")),s.CADETBLUE=r(s.fromCssColorString("#5F9EA0")),s.CHARTREUSE=r(s.fromCssColorString("#7FFF00")),s.CHOCOLATE=r(s.fromCssColorString("#D2691E")),s.CORAL=r(s.fromCssColorString("#FF7F50")),s.CORNFLOWERBLUE=r(s.fromCssColorString("#6495ED")),s.CORNSILK=r(s.fromCssColorString("#FFF8DC")),s.CRIMSON=r(s.fromCssColorString("#DC143C")),s.CYAN=r(s.fromCssColorString("#00FFFF")),s.DARKBLUE=r(s.fromCssColorString("#00008B")),s.DARKCYAN=r(s.fromCssColorString("#008B8B")),s.DARKGOLDENROD=r(s.fromCssColorString("#B8860B")),s.DARKGRAY=r(s.fromCssColorString("#A9A9A9")),s.DARKGREEN=r(s.fromCssColorString("#006400")),s.DARKGREY=s.DARKGRAY,s.DARKKHAKI=r(s.fromCssColorString("#BDB76B")),s.DARKMAGENTA=r(s.fromCssColorString("#8B008B")),s.DARKOLIVEGREEN=r(s.fromCssColorString("#556B2F")),s.DARKORANGE=r(s.fromCssColorString("#FF8C00")),s.DARKORCHID=r(s.fromCssColorString("#9932CC")),s.DARKRED=r(s.fromCssColorString("#8B0000")),s.DARKSALMON=r(s.fromCssColorString("#E9967A")),s.DARKSEAGREEN=r(s.fromCssColorString("#8FBC8F")),s.DARKSLATEBLUE=r(s.fromCssColorString("#483D8B")),s.DARKSLATEGRAY=r(s.fromCssColorString("#2F4F4F")),s.DARKSLATEGREY=s.DARKSLATEGRAY,s.DARKTURQUOISE=r(s.fromCssColorString("#00CED1")),s.DARKVIOLET=r(s.fromCssColorString("#9400D3")),s.DEEPPINK=r(s.fromCssColorString("#FF1493")),s.DEEPSKYBLUE=r(s.fromCssColorString("#00BFFF")),s.DIMGRAY=r(s.fromCssColorString("#696969")),s.DIMGREY=s.DIMGRAY,s.DODGERBLUE=r(s.fromCssColorString("#1E90FF")),s.FIREBRICK=r(s.fromCssColorString("#B22222")),s.FLORALWHITE=r(s.fromCssColorString("#FFFAF0")),s.FORESTGREEN=r(s.fromCssColorString("#228B22")),s.FUSCHIA=r(s.fromCssColorString("#FF00FF")),s.GAINSBORO=r(s.fromCssColorString("#DCDCDC")),s.GHOSTWHITE=r(s.fromCssColorString("#F8F8FF")),s.GOLD=r(s.fromCssColorString("#FFD700")),s.GOLDENROD=r(s.fromCssColorString("#DAA520")),s.GRAY=r(s.fromCssColorString("#808080")),s.GREEN=r(s.fromCssColorString("#008000")),s.GREENYELLOW=r(s.fromCssColorString("#ADFF2F")),s.GREY=s.GRAY,s.HONEYDEW=r(s.fromCssColorString("#F0FFF0")),s.HOTPINK=r(s.fromCssColorString("#FF69B4")),s.INDIANRED=r(s.fromCssColorString("#CD5C5C")),s.INDIGO=r(s.fromCssColorString("#4B0082")),s.IVORY=r(s.fromCssColorString("#FFFFF0")),s.KHAKI=r(s.fromCssColorString("#F0E68C")),s.LAVENDER=r(s.fromCssColorString("#E6E6FA")),s.LAVENDAR_BLUSH=r(s.fromCssColorString("#FFF0F5")),s.LAWNGREEN=r(s.fromCssColorString("#7CFC00")),s.LEMONCHIFFON=r(s.fromCssColorString("#FFFACD")),s.LIGHTBLUE=r(s.fromCssColorString("#ADD8E6")),s.LIGHTCORAL=r(s.fromCssColorString("#F08080")),s.LIGHTCYAN=r(s.fromCssColorString("#E0FFFF")),s.LIGHTGOLDENRODYELLOW=r(s.fromCssColorString("#FAFAD2")),s.LIGHTGRAY=r(s.fromCssColorString("#D3D3D3")),s.LIGHTGREEN=r(s.fromCssColorString("#90EE90")),s.LIGHTGREY=s.LIGHTGRAY,s.LIGHTPINK=r(s.fromCssColorString("#FFB6C1")),s.LIGHTSEAGREEN=r(s.fromCssColorString("#20B2AA")),s.LIGHTSKYBLUE=r(s.fromCssColorString("#87CEFA")),s.LIGHTSLATEGRAY=r(s.fromCssColorString("#778899")),s.LIGHTSLATEGREY=s.LIGHTSLATEGRAY,s.LIGHTSTEELBLUE=r(s.fromCssColorString("#B0C4DE")),s.LIGHTYELLOW=r(s.fromCssColorString("#FFFFE0")),s.LIME=r(s.fromCssColorString("#00FF00")),s.LIMEGREEN=r(s.fromCssColorString("#32CD32")),s.LINEN=r(s.fromCssColorString("#FAF0E6")),s.MAGENTA=r(s.fromCssColorString("#FF00FF")),s.MAROON=r(s.fromCssColorString("#800000")),s.MEDIUMAQUAMARINE=r(s.fromCssColorString("#66CDAA")),s.MEDIUMBLUE=r(s.fromCssColorString("#0000CD")),s.MEDIUMORCHID=r(s.fromCssColorString("#BA55D3")),s.MEDIUMPURPLE=r(s.fromCssColorString("#9370DB")),s.MEDIUMSEAGREEN=r(s.fromCssColorString("#3CB371")),s.MEDIUMSLATEBLUE=r(s.fromCssColorString("#7B68EE")),s.MEDIUMSPRINGGREEN=r(s.fromCssColorString("#00FA9A")),s.MEDIUMTURQUOISE=r(s.fromCssColorString("#48D1CC")),s.MEDIUMVIOLETRED=r(s.fromCssColorString("#C71585")),s.MIDNIGHTBLUE=r(s.fromCssColorString("#191970")),s.MINTCREAM=r(s.fromCssColorString("#F5FFFA")),s.MISTYROSE=r(s.fromCssColorString("#FFE4E1")),s.MOCCASIN=r(s.fromCssColorString("#FFE4B5")),s.NAVAJOWHITE=r(s.fromCssColorString("#FFDEAD")),s.NAVY=r(s.fromCssColorString("#000080")),s.OLDLACE=r(s.fromCssColorString("#FDF5E6")),s.OLIVE=r(s.fromCssColorString("#808000")),s.OLIVEDRAB=r(s.fromCssColorString("#6B8E23")),s.ORANGE=r(s.fromCssColorString("#FFA500")),s.ORANGERED=r(s.fromCssColorString("#FF4500")),s.ORCHID=r(s.fromCssColorString("#DA70D6")),s.PALEGOLDENROD=r(s.fromCssColorString("#EEE8AA")),s.PALEGREEN=r(s.fromCssColorString("#98FB98")),s.PALETURQUOISE=r(s.fromCssColorString("#AFEEEE")),s.PALEVIOLETRED=r(s.fromCssColorString("#DB7093")),s.PAPAYAWHIP=r(s.fromCssColorString("#FFEFD5")),s.PEACHPUFF=r(s.fromCssColorString("#FFDAB9")),s.PERU=r(s.fromCssColorString("#CD853F")),s.PINK=r(s.fromCssColorString("#FFC0CB")),s.PLUM=r(s.fromCssColorString("#DDA0DD")),s.POWDERBLUE=r(s.fromCssColorString("#B0E0E6")),s.PURPLE=r(s.fromCssColorString("#800080")),s.RED=r(s.fromCssColorString("#FF0000")),s.ROSYBROWN=r(s.fromCssColorString("#BC8F8F")),s.ROYALBLUE=r(s.fromCssColorString("#4169E1")),s.SADDLEBROWN=r(s.fromCssColorString("#8B4513")),s.SALMON=r(s.fromCssColorString("#FA8072")),s.SANDYBROWN=r(s.fromCssColorString("#F4A460")),s.SEAGREEN=r(s.fromCssColorString("#2E8B57")),s.SEASHELL=r(s.fromCssColorString("#FFF5EE")),s.SIENNA=r(s.fromCssColorString("#A0522D")),s.SILVER=r(s.fromCssColorString("#C0C0C0")),s.SKYBLUE=r(s.fromCssColorString("#87CEEB")),s.SLATEBLUE=r(s.fromCssColorString("#6A5ACD")),s.SLATEGRAY=r(s.fromCssColorString("#708090")),s.SLATEGREY=s.SLATEGRAY,s.SNOW=r(s.fromCssColorString("#FFFAFA")),s.SPRINGGREEN=r(s.fromCssColorString("#00FF7F")),s.STEELBLUE=r(s.fromCssColorString("#4682B4")),s.TAN=r(s.fromCssColorString("#D2B48C")),s.TEAL=r(s.fromCssColorString("#008080")),s.THISTLE=r(s.fromCssColorString("#D8BFD8")),s.TOMATO=r(s.fromCssColorString("#FF6347")),s.TURQUOISE=r(s.fromCssColorString("#40E0D0")),s.VIOLET=r(s.fromCssColorString("#EE82EE")),s.WHEAT=r(s.fromCssColorString("#F5DEB3")),s.WHITE=r(s.fromCssColorString("#FFFFFF")),s.WHITESMOKE=r(s.fromCssColorString("#F5F5F5")),s.YELLOW=r(s.fromCssColorString("#FFFF00")),s.YELLOWGREEN=r(s.fromCssColorString("#9ACD32")),s}),define("Scene/PrimitivePipeline",["../Core/defined","../Core/defaultValue","../Core/Color","../Core/ComponentDatatype","../Core/DeveloperError","../Core/FeatureDetection","../Core/Geometry","../Core/GeometryAttribute","../Core/GeometryPipeline","../Core/Matrix4"],function(t,e,r,n,o,a,i,s,u,l){"use strict";function c(t,e,r){var n,o=!r,a=t.length;if(!o&&a>1){var i=t[0].modelMatrix;for(n=1;a>n;++n)if(!l.equals(i,t[n].modelMatrix)){o=!0;break}}if(o)for(n=0;a>n;++n)u.transformToWorldCoordinates(t[n]);else l.clone(t[0].modelMatrix,e)}function f(t,e){for(var o=t.length,a=0;o>a;++a){var i=t[a],u=i.geometry,l=u.attributes,c=l.position,f=4*(c.values.length/c.componentsPerAttribute);l.pickColor=new s({componentDatatype:n.UNSIGNED_BYTE,componentsPerAttribute:4,normalize:!0,values:new Uint8Array(f)});for(var h=e[a],m=r.floatToByte(h.red),y=r.floatToByte(h.green),p=r.floatToByte(h.blue),d=r.floatToByte(h.alpha),v=l.pickColor.values,g=0;f>g;g+=4)v[g]=m,v[g+1]=y,v[g+2]=p,v[g+3]=d}}function h(e){var r,n=e.length,o=[],a=e[0].attributes;for(r in a)if(a.hasOwnProperty(r)){for(var i=a[r],s=!0,u=1;n>u;++u){var l=e[u].attributes[r];if(!t(l)||i.componentDatatype.value!==l.componentDatatype.value||i.componentsPerAttribute!==l.componentsPerAttribute||i.normalize!==l.normalize){s=!1;break}}s&&o.push(r)}return o}function m(t,e){for(var r=t.length,o=0;r>o;++o)for(var a=t[o],u=a.attributes,l=a.geometry,c=i.computeNumberOfVertices(l),f=e.length,h=0;f>h;++h){for(var m=e[h],y=u[m],p=y.componentDatatype,d=y.value,v=d.length,g=n.createTypedArray(p,c*v),E=0;c>E;++E)g.set(d,E*v);l.attributes[m]=new s({componentDatatype:p,componentsPerAttribute:v,normalize:y.normalize,values:g})}}function y(t){var e,r=t.instances,o=t.pickIds,a=t.projection,i=t.elementIndexUintSupported,s=t.allow3DOnly,l=t.allowPicking,y=t.vertexCacheOptimize,p=t.modelMatrix,d=r.length;if(r[0].geometry.primitiveType,c(r,p,s),!s)for(e=0;d>e;++e)u.wrapLongitude(r[e].geometry);l&&f(r,o);var v=h(r);if(m(r,v),y)for(e=0;d>e;++e)u.reorderForPostVertexCache(r[e].geometry),u.reorderForPreVertexCache(r[e].geometry);var g,E=u.combine(r),w=E.attributes;if(s)for(g in w)w.hasOwnProperty(g)&&w[g].componentDatatype.value===n.DOUBLE.value&&u.encodeAttribute(E,g,g+"3DHigh",g+"3DLow");else for(g in w)if(w.hasOwnProperty(g)&&w[g].componentDatatype.value===n.DOUBLE.value){var C=g+"3D",S=g+"2D";u.projectTo2D(E,g,C,S,a),u.encodeAttribute(E,C,C+"High",C+"Low"),u.encodeAttribute(E,S,S+"High",S+"Low")}return i?[E]:u.fitToUnsignedShortIndices(E)}function p(t,e,r){for(var o=[],a=t.attributes,i=r.length,s=0;i>s;++s){var u=r[s],l=a[u],c=l.componentDatatype;c.value===n.DOUBLE.value&&(c=n.FLOAT);var f=n.createTypedArray(c,l.values);o.push({index:e[u],componentDatatype:c,componentsPerAttribute:l.componentsPerAttribute,normalize:l.normalize,values:f}),delete a[u]}return o}function d(r,n,o){for(var a=[],s=h(r),u=r.length,l={},c={},f=0;u>f;++f)for(var m=r[f],y=i.computeNumberOfVertices(m.geometry),p=s.length,d=0;p>d;++d)for(var v=s[d],g=o[v],E=y;E>0;){for(var w,C=e(c[v],0),S=n[C],x=S.length,A=0;x>A&&(w=S[A],w.index!==g);++A);t(a[f])||(a[f]={}),t(a[f][v])||(a[f][v]={dirty:!1,value:m.attributes[v].value,indices:[]});var M,b=w.values.length/w.componentsPerAttribute,T=e(l[v],0);b>T+E?(M=E,a[f][v].indices.push({attribute:w,offset:T,count:M}),l[v]=T+E):(M=b-T,a[f][v].indices.push({attribute:w,offset:T,count:M}),l[v]=0,c[v]=C+1),E-=M}return a}function v(e){return t(e.constructor.name)?{type:e.constructor.name,buffer:e.buffer}:e}function g(e){return t(e.type)?new w[e.type](e.buffer):e}if(!a.supportsTypedArrays())return{};var E={};E.combineGeometry=function(t){for(var e={instances:t.instances,pickIds:t.pickIds,ellipsoid:t.ellipsoid,projection:t.projection,elementIndexUintSupported:t.elementIndexUintSupported,allow3DOnly:t.allow3DOnly,allowPicking:t.allowPicking,vertexCacheOptimize:t.vertexCacheOptimize,modelMatrix:l.clone(t.modelMatrix)},r=y(e),n=u.createAttributeLocations(r[0]),o=e.instances,a=h(o),i=[],s=r.length,c=0;s>c;++c){var f=r[c];i.push(p(f,n,a))}var m=d(o,i,n);return{geometries:r,modelMatrix:e.modelMatrix,attributeLocations:n,vaAttributes:i,vaAttributeLocations:m}};var w={Int8Array:Int8Array,Uint8Array:Uint8Array,Int16Array:Int16Array,Uint16Array:Uint16Array,Int32Array:Int32Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array};return E.transferGeometry=function(e,r){var n,o=e.attributes;for(var i in o)o.hasOwnProperty(i)&&t(o[i])&&t(o[i].values)&&(n=o[i].values,a.supportsTransferringArrayBuffers()&&r.indexOf(o[i].values.buffer)<0&&r.push(n.buffer),t(n.type)||(o[i].values=v(n)));t(e.indices)&&(n=e.indices,a.supportsTransferringArrayBuffers()&&r.push(n.buffer),t(n.type)||(e.indices=v(e.indices)))},E.transferGeometries=function(t,e){for(var r=t.length,n=0;r>n;++n)E.transferGeometry(t[n],e)},E.transferPerInstanceAttributes=function(t,e){for(var r=t.length,n=0;r>n;++n)for(var o=t[n],i=o.length,s=0;i>s;++s){var u=o[s].values;a.supportsTransferringArrayBuffers()&&e.push(u.buffer),o[s].values=v(u)}},E.transferInstances=function(t,e){for(var r=t.length,n=0;r>n;++n){var o=t[n];E.transferGeometry(o.geometry,e)}},E.receiveGeometry=function(e){var r=e.attributes;for(var n in r)r.hasOwnProperty(n)&&t(r[n])&&t(r[n].values)&&(r[n].values=g(r[n].values));t(e.indices)&&(e.indices=g(e.indices))},E.receiveGeometries=function(t){for(var e=t.length,r=0;e>r;++r)E.receiveGeometry(t[r])},E.receivePerInstanceAttributes=function(t){for(var e=t.length,r=0;e>r;++r)for(var n=t[r],o=n.length,a=0;o>a;++a)n[a].values=g(n[a].values)},E.receiveInstances=function(t){for(var e=t.length,r=0;e>r;++r){var n=t[r];E.receiveGeometry(n.geometry)}},E}),define("Workers/createTaskProcessorWorker",["../Core/defaultValue","../Core/defined"],function(t,e){"use strict";var r=function(r){var n,o=[],a={id:void 0,result:void 0,error:void 0};return function(i){var s=i.data;o.length=0,a.id=s.id,a.error=void 0,a.result=void 0;try{a.result=r(s.parameters,o)}catch(u){a.error=u}e(n)||(n=t(self.webkitPostMessage,self.postMessage));try{n(a,o)}catch(u){a.result=void 0,a.error="postMessage failed with error: "+u+"\n with responseMessage: "+JSON.stringify(a),n(a)}}};return r}),define("Workers/createExtentGeometry",["../Core/ExtentGeometry","../Core/Ellipsoid","../Core/Extent","../Scene/PrimitivePipeline","./createTaskProcessorWorker"],function(t,e,r,n,o){"use strict";function a(o,a){var i=o.geometry;i._ellipsoid=e.clone(i._ellipsoid),i._extent=r.clone(i._extent);var s=t.createGeometry(i);return n.transferGeometry(s,a),{geometry:s,index:o.index}}return o(a)})}(); \ No newline at end of file diff --git a/Cesium/Workers/createExtentOutlineGeometry.js b/Cesium/Workers/createExtentOutlineGeometry.js new file mode 100644 index 0000000..670ca5e --- /dev/null +++ b/Cesium/Workers/createExtentOutlineGeometry.js @@ -0,0 +1,61 @@ +/** + * Cesium - https://github.com/AnalyticalGraphicsInc/cesium + * + * Copyright 2011-2014 Cesium Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Columbus View (Pat. Pend.) + * + * Portions licensed separately. + * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details. + */ +/** +@license +mersenne-twister.js - https://gist.github.com/banksean/300494 + + Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura, + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. The names of its contributors may not be used to endorse or promote + products derived from this software without specific prior written + permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +!function(){define("Core/defined",[],function(){"use strict";var t=function(t){return void 0!==t};return t}),define("Core/freezeObject",["./defined"],function(t){"use strict";var e=Object.freeze;return t(e)||(e=function(t){return t}),e}),define("Core/defaultValue",["./freezeObject"],function(t){"use strict";var e=function(t,e){return void 0!==t?t:e};return e.EMPTY_OBJECT=t({}),e}),define("Core/DeveloperError",["./defined"],function(t){"use strict";var e=function(t){this.name="DeveloperError",this.message=t;var e;try{throw new Error}catch(r){e=r.stack}this.stack=e};return e.prototype.toString=function(){var e=this.name+": "+this.message;return t(this.stack)&&(e+="\n"+this.stack.toString()),e},e.throwInstantiationError=function(){throw new e("This function defines an interface and should not be called directly.")},e}),define("Core/Cartesian3",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(t,e,r,n){"use strict";var o=function(e,r,n){this.x=t(e,0),this.y=t(r,0),this.z=t(n,0)};o.fromSpherical=function(r,n){e(n)||(n=new o);var i=r.clock,a=r.cone,s=t(r.magnitude,1),u=s*Math.sin(a);return n.x=u*Math.cos(i),n.y=u*Math.sin(i),n.z=s*Math.cos(a),n},o.fromElements=function(t,r,n,i){return e(i)?(i.x=t,i.y=r,i.z=n,i):new o(t,r,n)},o.clone=function(t,r){return e(t)?e(r)?(r.x=t.x,r.y=t.y,r.z=t.z,r):new o(t.x,t.y,t.z):void 0},o.fromCartesian4=o.clone,o.packedLength=3,o.pack=function(e,r,n){n=t(n,0),r[n++]=e.x,r[n++]=e.y,r[n]=e.z},o.unpack=function(r,n,i){return n=t(n,0),e(i)||(i=new o),i.x=r[n++],i.y=r[n++],i.z=r[n],i},o.fromArray=o.unpack,o.getMaximumComponent=function(t){return Math.max(t.x,t.y,t.z)},o.getMinimumComponent=function(t){return Math.min(t.x,t.y,t.z)},o.getMinimumByComponent=function(t,r,n){return e(n)||(n=new o),n.x=Math.min(t.x,r.x),n.y=Math.min(t.y,r.y),n.z=Math.min(t.z,r.z),n},o.getMaximumByComponent=function(t,r,n){return e(n)||(n=new o),n.x=Math.max(t.x,r.x),n.y=Math.max(t.y,r.y),n.z=Math.max(t.z,r.z),n},o.magnitudeSquared=function(t){return t.x*t.x+t.y*t.y+t.z*t.z},o.magnitude=function(t){return Math.sqrt(o.magnitudeSquared(t))};var i=new o;o.distance=function(t,e){return o.subtract(t,e,i),o.magnitude(i)},o.normalize=function(t,r){var n=o.magnitude(t);return e(r)?(r.x=t.x/n,r.y=t.y/n,r.z=t.z/n,r):new o(t.x/n,t.y/n,t.z/n)},o.dot=function(t,e){return t.x*e.x+t.y*e.y+t.z*e.z},o.multiplyComponents=function(t,r,n){return e(n)?(n.x=t.x*r.x,n.y=t.y*r.y,n.z=t.z*r.z,n):new o(t.x*r.x,t.y*r.y,t.z*r.z)},o.add=function(t,r,n){return e(n)?(n.x=t.x+r.x,n.y=t.y+r.y,n.z=t.z+r.z,n):new o(t.x+r.x,t.y+r.y,t.z+r.z)},o.subtract=function(t,r,n){return e(n)?(n.x=t.x-r.x,n.y=t.y-r.y,n.z=t.z-r.z,n):new o(t.x-r.x,t.y-r.y,t.z-r.z)},o.multiplyByScalar=function(t,r,n){return e(n)?(n.x=t.x*r,n.y=t.y*r,n.z=t.z*r,n):new o(t.x*r,t.y*r,t.z*r)},o.divideByScalar=function(t,r,n){return e(n)?(n.x=t.x/r,n.y=t.y/r,n.z=t.z/r,n):new o(t.x/r,t.y/r,t.z/r)},o.negate=function(t,r){return e(r)?(r.x=-t.x,r.y=-t.y,r.z=-t.z,r):new o(-t.x,-t.y,-t.z)},o.abs=function(t,r){return e(r)?(r.x=Math.abs(t.x),r.y=Math.abs(t.y),r.z=Math.abs(t.z),r):new o(Math.abs(t.x),Math.abs(t.y),Math.abs(t.z))};var a=new o;o.lerp=function(t,e,r,n){return o.multiplyByScalar(e,r,a),n=o.multiplyByScalar(t,1-r,n),o.add(a,n,n)};var s=new o,u=new o;o.angleBetween=function(t,e){o.normalize(t,s),o.normalize(e,u);var r=o.dot(s,u),n=o.magnitude(o.cross(s,u,s));return Math.atan2(n,r)};var l=new o;return o.mostOrthogonalAxis=function(t,e){var r=o.normalize(t,l);return o.abs(r,r),e=r.x<=r.y?r.x<=r.z?o.clone(o.UNIT_X,e):o.clone(o.UNIT_Z,e):r.y<=r.z?o.clone(o.UNIT_Y,e):o.clone(o.UNIT_Z,e)},o.equals=function(t,r){return t===r||e(t)&&e(r)&&t.x===r.x&&t.y===r.y&&t.z===r.z},o.equalsEpsilon=function(t,r,n){return t===r||e(t)&&e(r)&&Math.abs(t.x-r.x)<=n&&Math.abs(t.y-r.y)<=n&&Math.abs(t.z-r.z)<=n},o.cross=function(t,r,n){var i=t.x,a=t.y,s=t.z,u=r.x,l=r.y,c=r.z,f=a*c-s*l,h=s*u-i*c,m=i*l-a*u;return e(n)?(n.x=f,n.y=h,n.z=m,n):new o(f,h,m)},o.ZERO=n(new o(0,0,0)),o.UNIT_X=n(new o(1,0,0)),o.UNIT_Y=n(new o(0,1,0)),o.UNIT_Z=n(new o(0,0,1)),o.prototype.clone=function(t){return o.clone(this,t)},o.prototype.equals=function(t){return o.equals(this,t)},o.prototype.equalsEpsilon=function(t,e){return o.equalsEpsilon(this,t,e)},o.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+")"},o}),define("ThirdParty/mersenne-twister",[],function(){var t=function(t){void 0==t&&(t=(new Date).getTime()),this.N=624,this.M=397,this.MATRIX_A=2567483615,this.UPPER_MASK=2147483648,this.LOWER_MASK=2147483647,this.mt=new Array(this.N),this.mti=this.N+1,this.init_genrand(t)};return t.prototype.init_genrand=function(t){for(this.mt[0]=t>>>0,this.mti=1;this.mti>>30;this.mt[this.mti]=(1812433253*((4294901760&t)>>>16)<<16)+1812433253*(65535&t)+this.mti,this.mt[this.mti]>>>=0}},t.prototype.genrand_int32=function(){var t,e=new Array(0,this.MATRIX_A);if(this.mti>=this.N){var r;for(this.mti==this.N+1&&this.init_genrand(5489),r=0;r>>1^e[1&t];for(;r>>1^e[1&t];t=this.mt[this.N-1]&this.UPPER_MASK|this.mt[0]&this.LOWER_MASK,this.mt[this.N-1]=this.mt[this.M-1]^t>>>1^e[1&t],this.mti=0}return t=this.mt[this.mti++],t^=t>>>11,t^=2636928640&t<<7,t^=4022730752&t<<15,t^=t>>>18,t>>>0},t.prototype.random=function(){return this.genrand_int32()*(1/4294967296)},t}),define("Core/Math",["./defaultValue","./defined","./DeveloperError","../ThirdParty/mersenne-twister"],function(t,e,r,n){"use strict";var o={};o.EPSILON1=.1,o.EPSILON2=.01,o.EPSILON3=.001,o.EPSILON4=1e-4,o.EPSILON5=1e-5,o.EPSILON6=1e-6,o.EPSILON7=1e-7,o.EPSILON8=1e-8,o.EPSILON9=1e-9,o.EPSILON10=1e-10,o.EPSILON11=1e-11,o.EPSILON12=1e-12,o.EPSILON13=1e-13,o.EPSILON14=1e-14,o.EPSILON15=1e-15,o.EPSILON16=1e-16,o.EPSILON17=1e-17,o.EPSILON18=1e-18,o.EPSILON19=1e-19,o.EPSILON20=1e-20,o.GRAVITATIONALPARAMETER=3986004418e5,o.SOLAR_RADIUS=6955e5,o.LUNAR_RADIUS=1737400,o.SIXTY_FOUR_KILOBYTES=65536,o.sign=function(t){return t>0?1:0>t?-1:0},o.sinh=function(t){var e=Math.pow(Math.E,t),r=Math.pow(Math.E,-1*t);return.5*(e-r)},o.cosh=function(t){var e=Math.pow(Math.E,t),r=Math.pow(Math.E,-1*t);return.5*(e+r)},o.lerp=function(t,e,r){return(1-r)*t+r*e},o.PI=Math.PI,o.ONE_OVER_PI=1/Math.PI,o.PI_OVER_TWO=.5*Math.PI,o.PI_OVER_THREE=Math.PI/3,o.PI_OVER_FOUR=Math.PI/4,o.PI_OVER_SIX=Math.PI/6,o.THREE_PI_OVER_TWO=.5*3*Math.PI,o.TWO_PI=2*Math.PI,o.ONE_OVER_TWO_PI=1/(2*Math.PI),o.RADIANS_PER_DEGREE=Math.PI/180,o.DEGREES_PER_RADIAN=180/Math.PI,o.RADIANS_PER_ARCSECOND=o.RADIANS_PER_DEGREE/3600,o.toRadians=function(t){return t*o.RADIANS_PER_DEGREE},o.toDegrees=function(t){return t*o.DEGREES_PER_RADIAN},o.convertLongitudeRange=function(t){var e=o.TWO_PI,r=t-Math.floor(t/e)*e;return r<-Math.PI?r+e:r>=Math.PI?r-e:r},o.negativePiToPi=function(t){for(var e=o.EPSILON10,r=o.PI,n=o.TWO_PI;-(r+e)>t;)t+=n;if(-r>t)return-r;for(;t>r+e;)t-=n;return t>r?r:t},o.zeroToTwoPi=function(t){var e=t%o.TWO_PI;return 0>e?(e+o.TWO_PI)%o.TWO_PI:e},o.equalsEpsilon=function(e,r,n){return n=t(n,0),Math.abs(e-r)<=n};var i=[1];o.factorial=function(t){var e=i.length;if(t>=e)for(var r=i[e-1],n=e;t>=n;n++)i.push(r*n);return i[t]},o.incrementWrap=function(e,r,n){return n=t(n,0),++e,e>r&&(e=n),e},o.isPowerOfTwo=function(t){return 0!==t&&0===(t&t-1)},o.nextPowerOfTwo=function(t){return--t,t|=t>>1,t|=t>>2,t|=t>>4,t|=t>>8,t|=t>>16,++t,t},o.clamp=function(t,e,r){return e>t?e:t>r?r:t};var a=new n;return o.setRandomNumberSeed=function(t){a=new n(t)},o.nextRandomNumber=function(){return a.random()},o}),define("Core/Cartographic",["./defaultValue","./defined","./DeveloperError","./freezeObject","./Math"],function(t,e,r,n,o){"use strict";var i=function(e,r,n){this.longitude=t(e,0),this.latitude=t(r,0),this.height=t(n,0)};return i.fromDegrees=function(r,n,a,s){return r=o.toRadians(t(r,0)),n=o.toRadians(t(n,0)),a=t(a,0),e(s)?(s.longitude=r,s.latitude=n,s.height=a,s):new i(r,n,a)},i.clone=function(t,r){return e(t)?e(r)?(r.longitude=t.longitude,r.latitude=t.latitude,r.height=t.height,r):new i(t.longitude,t.latitude,t.height):void 0},i.equals=function(t,r){return t===r||e(t)&&e(r)&&t.longitude===r.longitude&&t.latitude===r.latitude&&t.height===r.height},i.equalsEpsilon=function(t,r,n){return t===r||e(t)&&e(r)&&Math.abs(t.longitude-r.longitude)<=n&&Math.abs(t.latitude-r.latitude)<=n&&Math.abs(t.height-r.height)<=n},i.toString=function(t){return"("+t.longitude+", "+t.latitude+", "+t.height+")"},i.ZERO=n(new i(0,0,0)),i.prototype.clone=function(t){return i.clone(this,t)},i.prototype.equals=function(t){return i.equals(this,t)},i.prototype.equalsEpsilon=function(t,e){return i.equalsEpsilon(this,t,e)},i.prototype.toString=function(){return i.toString(this)},i}),define("Core/defineProperties",["./defined"],function(t){"use strict";var e=function(){try{return"x"in Object.defineProperty({},"x",{})}catch(t){return!1}}(),r=Object.defineProperties;return e&&t(r)||(r=function(t){return t}),r}),define("Core/Ellipsoid",["./freezeObject","./defaultValue","./defined","./defineProperties","./DeveloperError","./Math","./Cartesian3","./Cartographic"],function(t,e,r,n,o,i,a,s){"use strict";var u=function(t,r,n){t=e(t,0),r=e(r,0),n=e(n,0),this._radii=new a(t,r,n),this._radiiSquared=new a(t*t,r*r,n*n),this._radiiToTheFourth=new a(t*t*t*t,r*r*r*r,n*n*n*n),this._oneOverRadii=new a(0===t?0:1/t,0===r?0:1/r,0===n?0:1/n),this._oneOverRadiiSquared=new a(0===t?0:1/(t*t),0===r?0:1/(r*r),0===n?0:1/(n*n)),this._minimumRadius=Math.min(t,r,n),this._maximumRadius=Math.max(t,r,n),this._centerToleranceSquared=i.EPSILON1};n(u.prototype,{radii:{get:function(){return this._radii}},radiiSquared:{get:function(){return this._radiiSquared}},radiiToTheFourth:{get:function(){return this._radiiToTheFourth}},oneOverRadii:{get:function(){return this._oneOverRadii}},oneOverRadiiSquared:{get:function(){return this._oneOverRadiiSquared}},minimumRadius:{get:function(){return this._minimumRadius}},maximumRadius:{get:function(){return this._maximumRadius}}}),u.clone=function(t,e){if(!r(t))return void 0;var n=t._radii;return r(e)?(a.clone(n,e._radii),a.clone(t._radiiSquared,e._radiiSquared),a.clone(t._radiiToTheFourth,e._radiiToTheFourth),a.clone(t._oneOverRadii,e._oneOverRadii),a.clone(t._oneOverRadiiSquared,e._oneOverRadiiSquared),e._minimumRadius=t._minimumRadius,e._maximumRadius=t._maximumRadius,e._centerToleranceSquared=t._centerToleranceSquared,e):new u(n.x,n.y,n.z)},u.fromCartesian3=function(t){return r(t)?new u(t.x,t.y,t.z):new u},u.WGS84=t(new u(6378137,6378137,6356752.314245179)),u.UNIT_SPHERE=t(new u(1,1,1)),u.MOON=t(new u(i.LUNAR_RADIUS,i.LUNAR_RADIUS,i.LUNAR_RADIUS)),u.prototype.clone=function(t){return u.clone(this,t)},u.prototype.geocentricSurfaceNormal=a.normalize,u.prototype.geodeticSurfaceNormalCartographic=function(t,e){var n=t.longitude,o=t.latitude,i=Math.cos(o),s=i*Math.cos(n),u=i*Math.sin(n),l=Math.sin(o);return r(e)||(e=new a),e.x=s,e.y=u,e.z=l,a.normalize(e,e)},u.prototype.geodeticSurfaceNormal=function(t,e){return e=a.multiplyComponents(t,this._oneOverRadiiSquared,e),a.normalize(e,e)};var l=new a,c=new a;u.prototype.cartographicToCartesian=function(t,e){var r=l,n=c;this.geodeticSurfaceNormalCartographic(t,r),a.multiplyComponents(this._radiiSquared,r,n);var o=Math.sqrt(a.dot(r,n));return a.divideByScalar(n,o,n),a.multiplyByScalar(r,t.height,r),a.add(n,r,e)},u.prototype.cartographicArrayToCartesianArray=function(t,e){var n=t.length;r(e)?e.length=n:e=new Array(n);for(var o=0;n>o;o++)e[o]=this.cartographicToCartesian(t[o],e[o]);return e};var f=new a,h=new a,m=new a;u.prototype.cartesianToCartographic=function(t,e){var n=this.scaleToGeodeticSurface(t,h);if(!r(n))return void 0;var o=this.geodeticSurfaceNormal(n,f),u=a.subtract(t,n,m),l=Math.atan2(o.y,o.x),c=Math.asin(o.z),y=i.sign(a.dot(u,t))*a.magnitude(u);return r(e)?(e.longitude=l,e.latitude=c,e.height=y,e):new s(l,c,y)},u.prototype.cartesianArrayToCartographicArray=function(t,e){var n=t.length;r(e)?e.length=n:e=new Array(n);for(var o=0;n>o;++o)e[o]=this.cartesianToCartographic(t[o],e[o]);return e};var y=new a,p=new a;return u.prototype.scaleToGeodeticSurface=function(t,e){var n=t.x,o=t.y,s=t.z,u=this._oneOverRadii,l=u.x,c=u.y,f=u.z,h=n*n*l*l,m=o*o*c*c,d=s*s*f*f,v=h+m+d,g=Math.sqrt(1/v),E=a.multiplyByScalar(t,g,y);if(vi.EPSILON12);return r(e)?(e.x=n*T,e.y=o*O,e.z=s*I,e):new a(n*T,o*O,s*I)},u.prototype.scaleToGeocentricSurface=function(t,e){var r=t.x,n=t.y,o=t.z,i=this._oneOverRadiiSquared,s=1/Math.sqrt(r*r*i.x+n*n*i.y+o*o*i.z);return a.multiplyByScalar(t,s,e)},u.prototype.transformPositionToScaledSpace=function(t,e){return a.multiplyComponents(t,this._oneOverRadii,e)},u.prototype.transformPositionFromScaledSpace=function(t,e){return a.multiplyComponents(t,this._radii,e)},u.prototype.equals=function(t){return this===t||r(t)&&a.equals(this._radii,t._radii)},u.prototype.toString=function(){return this._radii.toString()},u}),define("Core/GeographicProjection",["./defaultValue","./defined","./defineProperties","./Cartesian3","./Cartographic","./Ellipsoid"],function(t,e,r,n,o,i){"use strict";var a=function(e){this._ellipsoid=t(e,i.WGS84),this._semimajorAxis=this._ellipsoid.maximumRadius,this._oneOverSemimajorAxis=1/this._semimajorAxis};return r(a.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}}),a.prototype.project=function(t,r){var o=this._semimajorAxis,i=t.longitude*o,a=t.latitude*o,s=t.height;return e(r)?(r.x=i,r.y=a,r.z=s,r):new n(i,a,s)},a.prototype.unproject=function(t,r){var n=this._oneOverSemimajorAxis,i=t.x*n,a=t.y*n,s=t.z;return e(r)?(r.longitude=i,r.latitude=a,r.height=s,r):new o(i,a,s)},a}),define("Core/Enumeration",["./defined"],function(t){"use strict";var e=function(e,r,n){if(this.value=e,this.name=r,t(n))for(var o in n)n.hasOwnProperty(o)&&(this[o]=n[o])};return e.prototype.valueOf=function(){return this.value},e.prototype.toString=function(){return this.name},e}),define("Core/Intersect",["./Enumeration"],function(t){"use strict";var e={OUTSIDE:new t(-1,"OUTSIDE"),INTERSECTING:new t(0,"INTERSECTING"),INSIDE:new t(1,"INSIDE")};return e}),define("Core/Interval",["./defaultValue"],function(t){"use strict";var e=function(e,r){this.start=t(e,0),this.stop=t(r,0)};return e}),define("Core/Cartesian4",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(t,e,r,n){"use strict";var o=function(e,r,n,o){this.x=t(e,0),this.y=t(r,0),this.z=t(n,0),this.w=t(o,0)};o.fromElements=function(t,r,n,i,a){return e(a)?(a.x=t,a.y=r,a.z=n,a.w=i,a):new o(t,r,n,i)},o.clone=function(t,r){return e(t)?e(r)?(r.x=t.x,r.y=t.y,r.z=t.z,r.w=t.w,r):new o(t.x,t.y,t.z,t.w):void 0},o.packedLength=4,o.pack=function(e,r,n){n=t(n,0),r[n++]=e.x,r[n++]=e.y,r[n++]=e.z,r[n]=e.w},o.unpack=function(r,n,i){return n=t(n,0),e(i)||(i=new o),i.x=r[n++],i.y=r[n++],i.z=r[n++],i.w=r[n],i},o.fromArray=o.unpack,o.getMaximumComponent=function(t){return Math.max(t.x,t.y,t.z,t.w)},o.getMinimumComponent=function(t){return Math.min(t.x,t.y,t.z,t.w)},o.getMinimumByComponent=function(t,r,n){return e(n)||(n=new o),n.x=Math.min(t.x,r.x),n.y=Math.min(t.y,r.y),n.z=Math.min(t.z,r.z),n.w=Math.min(t.w,r.w),n},o.getMaximumByComponent=function(t,r,n){return e(n)||(n=new o),n.x=Math.max(t.x,r.x),n.y=Math.max(t.y,r.y),n.z=Math.max(t.z,r.z),n.w=Math.max(t.w,r.w),n},o.magnitudeSquared=function(t){return t.x*t.x+t.y*t.y+t.z*t.z+t.w*t.w},o.magnitude=function(t){return Math.sqrt(o.magnitudeSquared(t))};var i=new o;o.distance=function(t,e){return o.subtract(t,e,i),o.magnitude(i)},o.normalize=function(t,r){var n=o.magnitude(t);return e(r)?(r.x=t.x/n,r.y=t.y/n,r.z=t.z/n,r.w=t.w/n,r):new o(t.x/n,t.y/n,t.z/n,t.w/n)},o.dot=function(t,e){return t.x*e.x+t.y*e.y+t.z*e.z+t.w*e.w},o.multiplyComponents=function(t,r,n){return e(n)?(n.x=t.x*r.x,n.y=t.y*r.y,n.z=t.z*r.z,n.w=t.w*r.w,n):new o(t.x*r.x,t.y*r.y,t.z*r.z,t.w*r.w)},o.add=function(t,r,n){return e(n)?(n.x=t.x+r.x,n.y=t.y+r.y,n.z=t.z+r.z,n.w=t.w+r.w,n):new o(t.x+r.x,t.y+r.y,t.z+r.z,t.w+r.w)},o.subtract=function(t,r,n){return e(n)?(n.x=t.x-r.x,n.y=t.y-r.y,n.z=t.z-r.z,n.w=t.w-r.w,n):new o(t.x-r.x,t.y-r.y,t.z-r.z,t.w-r.w)},o.multiplyByScalar=function(t,r,n){return e(n)?(n.x=t.x*r,n.y=t.y*r,n.z=t.z*r,n.w=t.w*r,n):new o(t.x*r,t.y*r,t.z*r,t.w*r)},o.divideByScalar=function(t,r,n){return e(n)?(n.x=t.x/r,n.y=t.y/r,n.z=t.z/r,n.w=t.w/r,n):new o(t.x/r,t.y/r,t.z/r,t.w/r)},o.negate=function(t,r){return e(r)?(r.x=-t.x,r.y=-t.y,r.z=-t.z,r.w=-t.w,r):new o(-t.x,-t.y,-t.z,-t.w)},o.abs=function(t,r){return e(r)?(r.x=Math.abs(t.x),r.y=Math.abs(t.y),r.z=Math.abs(t.z),r.w=Math.abs(t.w),r):new o(Math.abs(t.x),Math.abs(t.y),Math.abs(t.z),Math.abs(t.w))};var a=new o;o.lerp=function(t,e,r,n){return o.multiplyByScalar(e,r,a),n=o.multiplyByScalar(t,1-r,n),o.add(a,n,n)};var s=new o;return o.mostOrthogonalAxis=function(t,e){var r=o.normalize(t,s);return o.abs(r,r),e=r.x<=r.y?r.x<=r.z?r.x<=r.w?o.clone(o.UNIT_X,e):o.clone(o.UNIT_W,e):r.z<=r.w?o.clone(o.UNIT_Z,e):o.clone(o.UNIT_W,e):r.y<=r.z?r.y<=r.w?o.clone(o.UNIT_Y,e):o.clone(o.UNIT_W,e):r.z<=r.w?o.clone(o.UNIT_Z,e):o.clone(o.UNIT_W,e)},o.equals=function(t,r){return t===r||e(t)&&e(r)&&t.x===r.x&&t.y===r.y&&t.z===r.z&&t.w===r.w},o.equalsEpsilon=function(t,r,n){return t===r||e(t)&&e(r)&&Math.abs(t.x-r.x)<=n&&Math.abs(t.y-r.y)<=n&&Math.abs(t.z-r.z)<=n&&Math.abs(t.w-r.w)<=n},o.ZERO=n(new o(0,0,0,0)),o.UNIT_X=n(new o(1,0,0,0)),o.UNIT_Y=n(new o(0,1,0,0)),o.UNIT_Z=n(new o(0,0,1,0)),o.UNIT_W=n(new o(0,0,0,1)),o.prototype.clone=function(t){return o.clone(this,t)},o.prototype.equals=function(t){return o.equals(this,t)},o.prototype.equalsEpsilon=function(t,e){return o.equalsEpsilon(this,t,e)},o.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+", "+this.w+")"},o}),define("Core/Matrix3",["./Cartesian3","./defaultValue","./defined","./DeveloperError","./freezeObject","./Math"],function(t,e,r,n,o,i){"use strict";function a(t){for(var e=0,r=0;9>r;++r){var n=t[r];e+=n*n}return Math.sqrt(e)}function s(t){for(var e=0,r=0;3>r;++r){var n=t[l.getElementIndex(f[r],c[r])];e+=2*n*n}return Math.sqrt(e)}function u(t,e){for(var r=i.EPSILON15,n=0,o=1,a=0;3>a;++a){var s=Math.abs(t[l.getElementIndex(f[a],c[a])]);s>n&&(o=a,n=s)}var u=1,h=0,m=c[o],y=f[o];if(Math.abs(t[l.getElementIndex(y,m)])>r){var p,d=t[l.getElementIndex(y,y)],v=t[l.getElementIndex(m,m)],g=t[l.getElementIndex(y,m)],E=(d-v)/2/g;p=0>E?-1/(-E+Math.sqrt(1+E*E)):1/(E+Math.sqrt(1+E*E)),u=1/Math.sqrt(1+p*p),h=p*u}return e=l.clone(l.IDENTITY,e),e[l.getElementIndex(m,m)]=e[l.getElementIndex(y,y)]=u,e[l.getElementIndex(y,m)]=h,e[l.getElementIndex(m,y)]=-h,e}var l=function(t,r,n,o,i,a,s,u,l){this[0]=e(t,0),this[1]=e(o,0),this[2]=e(s,0),this[3]=e(r,0),this[4]=e(i,0),this[5]=e(u,0),this[6]=e(n,0),this[7]=e(a,0),this[8]=e(l,0)};l.clone=function(t,e){return r(t)?r(e)?(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e):new l(t[0],t[3],t[6],t[1],t[4],t[7],t[2],t[5],t[8]):void 0},l.fromArray=function(t,n,o){return n=e(n,0),r(o)||(o=new l),o[0]=t[n],o[1]=t[n+1],o[2]=t[n+2],o[3]=t[n+3],o[4]=t[n+4],o[5]=t[n+5],o[6]=t[n+6],o[7]=t[n+7],o[8]=t[n+8],o[9]=t[n+9],o},l.fromColumnMajorArray=function(t,e){return l.clone(t,e)},l.fromRowMajorArray=function(t,e){return r(e)?(e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8],e):new l(t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},l.fromQuaternion=function(t,e){var n=t.x*t.x,o=t.x*t.y,i=t.x*t.z,a=t.x*t.w,s=t.y*t.y,u=t.y*t.z,c=t.y*t.w,f=t.z*t.z,h=t.z*t.w,m=t.w*t.w,y=n-s-f+m,p=2*(o-h),d=2*(i+c),v=2*(o+h),g=-n+s-f+m,E=2*(u-a),C=2*(i-c),S=2*(u+a),w=-n-s+f+m;return r(e)?(e[0]=y,e[1]=v,e[2]=C,e[3]=p,e[4]=g,e[5]=S,e[6]=d,e[7]=E,e[8]=w,e):new l(y,p,d,v,g,E,C,S,w)},l.fromScale=function(t,e){return r(e)?(e[0]=t.x,e[1]=0,e[2]=0,e[3]=0,e[4]=t.y,e[5]=0,e[6]=0,e[7]=0,e[8]=t.z,e):new l(t.x,0,0,0,t.y,0,0,0,t.z)},l.fromUniformScale=function(t,e){return r(e)?(e[0]=t,e[1]=0,e[2]=0,e[3]=0,e[4]=t,e[5]=0,e[6]=0,e[7]=0,e[8]=t,e):new l(t,0,0,0,t,0,0,0,t)},l.fromRotationX=function(t,e){var n=Math.cos(t),o=Math.sin(t);return r(e)?(e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=n,e[5]=o,e[6]=0,e[7]=-o,e[8]=n,e):new l(1,0,0,0,n,-o,0,o,n)},l.fromRotationY=function(t,e){var n=Math.cos(t),o=Math.sin(t);return r(e)?(e[0]=n,e[1]=0,e[2]=-o,e[3]=0,e[4]=1,e[5]=0,e[6]=o,e[7]=0,e[8]=n,e):new l(n,0,o,0,1,0,-o,0,n)},l.fromRotationZ=function(t,e){var n=Math.cos(t),o=Math.sin(t);return r(e)?(e[0]=n,e[1]=o,e[2]=0,e[3]=-o,e[4]=n,e[5]=0,e[6]=0,e[7]=0,e[8]=1,e):new l(n,-o,0,o,n,0,0,0,1)},l.toArray=function(t,e){return r(e)?(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e):[t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]]},l.getElementIndex=function(t,e){return 3*t+e},l.getColumn=function(e,n,o){var i=3*n,a=e[i],s=e[i+1],u=e[i+2];return r(o)?(o.x=a,o.y=s,o.z=u,o):new t(a,s,u)},l.setColumn=function(t,e,r,n){n=l.clone(t,n);var o=3*e;return n[o]=r.x,n[o+1]=r.y,n[o+2]=r.z,n},l.getRow=function(e,n,o){var i=e[n],a=e[n+3],s=e[n+6];return r(o)?(o.x=i,o.y=a,o.z=s,o):new t(i,a,s)},l.setRow=function(t,e,r,n){return n=l.clone(t,n),n[e]=r.x,n[e+3]=r.y,n[e+6]=r.z,n},l.multiply=function(t,e,n){var o=t[0]*e[0]+t[3]*e[1]+t[6]*e[2],i=t[1]*e[0]+t[4]*e[1]+t[7]*e[2],a=t[2]*e[0]+t[5]*e[1]+t[8]*e[2],s=t[0]*e[3]+t[3]*e[4]+t[6]*e[5],u=t[1]*e[3]+t[4]*e[4]+t[7]*e[5],c=t[2]*e[3]+t[5]*e[4]+t[8]*e[5],f=t[0]*e[6]+t[3]*e[7]+t[6]*e[8],h=t[1]*e[6]+t[4]*e[7]+t[7]*e[8],m=t[2]*e[6]+t[5]*e[7]+t[8]*e[8];return r(n)?(n[0]=o,n[1]=i,n[2]=a,n[3]=s,n[4]=u,n[5]=c,n[6]=f,n[7]=h,n[8]=m,n):new l(o,s,f,i,u,h,a,c,m)},l.multiplyByVector=function(e,n,o){var i=n.x,a=n.y,s=n.z,u=e[0]*i+e[3]*a+e[6]*s,l=e[1]*i+e[4]*a+e[7]*s,c=e[2]*i+e[5]*a+e[8]*s;return r(o)?(o.x=u,o.y=l,o.z=c,o):new t(u,l,c)},l.multiplyByScalar=function(t,e,n){return r(n)?(n[0]=t[0]*e,n[1]=t[1]*e,n[2]=t[2]*e,n[3]=t[3]*e,n[4]=t[4]*e,n[5]=t[5]*e,n[6]=t[6]*e,n[7]=t[7]*e,n[8]=t[8]*e,n):new l(t[0]*e,t[3]*e,t[6]*e,t[1]*e,t[4]*e,t[7]*e,t[2]*e,t[5]*e,t[8]*e)},l.negate=function(t,e){return r(e)?(e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=-t[3],e[4]=-t[4],e[5]=-t[5],e[6]=-t[6],e[7]=-t[7],e[8]=-t[8],e):new l(-t[0],-t[3],-t[6],-t[1],-t[4],-t[7],-t[2],-t[5],-t[8])},l.transpose=function(t,e){var n=t[0],o=t[3],i=t[6],a=t[1],s=t[4],u=t[7],c=t[2],f=t[5],h=t[8];return r(e)?(e[0]=n,e[1]=o,e[2]=i,e[3]=a,e[4]=s,e[5]=u,e[6]=c,e[7]=f,e[8]=h,e):new l(n,a,c,o,s,f,i,u,h)};var c=[1,0,0],f=[2,2,1],h=new l,m=new l;return l.getEigenDecomposition=function(t,e){var n=i.EPSILON20,o=10,c=0,f=0;r(e)||(e={});for(var y=e.unitary=l.clone(l.IDENTITY,e.unitary),p=e.diagonal=l.clone(t,e.diagonal),d=n*a(p);o>f&&s(p)>d;)u(p,h),l.transpose(h,m),l.multiply(p,h,p),l.multiply(m,p,p),l.multiply(y,h,y),++c>2&&(++f,c=0);return e},l.abs=function(t,e){return r(e)?(e[0]=Math.abs(t[0]),e[1]=Math.abs(t[1]),e[2]=Math.abs(t[2]),e[3]=Math.abs(t[3]),e[4]=Math.abs(t[4]),e[5]=Math.abs(t[5]),e[6]=Math.abs(t[6]),e[7]=Math.abs(t[7]),e[8]=Math.abs(t[8]),e):new l(Math.abs(t[0]),Math.abs(t[3]),Math.abs(t[6]),Math.abs(t[1]),Math.abs(t[4]),Math.abs(t[7]),Math.abs(t[2]),Math.abs(t[5]),Math.abs(t[8]))},l.determinant=function(t){var e=t[0],r=t[3],n=t[6],o=t[1],i=t[4],a=t[7],s=t[2],u=t[5],l=t[8];return e*(i*l-u*a)+o*(u*n-r*l)+s*(r*a-i*n)},l.inverse=function(t,e){var r=t[0],o=t[1],a=t[2],s=t[3],u=t[4],c=t[5],f=t[6],h=t[7],m=t[8],y=l.determinant(t);if(Math.abs(y)<=i.EPSILON15)throw new n("matrix is not invertible");var p=new l(u*m-h*c,f*c-s*m,s*h-f*u,h*a-o*m,r*m-f*a,f*o-r*h,o*c-u*a,s*a-r*c,r*u-s*o),d=1/y;return l.multiplyByScalar(p,d,e)},l.equals=function(t,e){return t===e||r(t)&&r(e)&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]&&t[6]===e[6]&&t[7]===e[7]&&t[8]===e[8]},l.equalsEpsilon=function(t,e,n){return t===e||r(t)&&r(e)&&Math.abs(t[0]-e[0])<=n&&Math.abs(t[1]-e[1])<=n&&Math.abs(t[2]-e[2])<=n&&Math.abs(t[3]-e[3])<=n&&Math.abs(t[4]-e[4])<=n&&Math.abs(t[5]-e[5])<=n&&Math.abs(t[6]-e[6])<=n&&Math.abs(t[7]-e[7])<=n&&Math.abs(t[8]-e[8])<=n},l.IDENTITY=o(new l(1,0,0,0,1,0,0,0,1)),l.COLUMN0ROW0=0,l.COLUMN0ROW1=1,l.COLUMN0ROW2=2,l.COLUMN1ROW0=3,l.COLUMN1ROW1=4,l.COLUMN1ROW2=5,l.COLUMN2ROW0=6,l.COLUMN2ROW1=7,l.COLUMN2ROW2=8,l.prototype.clone=function(t){return l.clone(this,t)},l.prototype.equals=function(t){return l.equals(this,t)},l.prototype.equalsEpsilon=function(t,e){return l.equalsEpsilon(this,t,e)},l.prototype.toString=function(){return"("+this[0]+", "+this[3]+", "+this[6]+")\n"+"("+this[1]+", "+this[4]+", "+this[7]+")\n"+"("+this[2]+", "+this[5]+", "+this[8]+")"},l}),define("Core/RuntimeError",["./defined"],function(t){"use strict";var e=function(t){this.name="RuntimeError",this.message=t;var e;try{throw new Error}catch(r){e=r.stack}this.stack=e};return e.prototype.toString=function(){var e=this.name+": "+this.message;return t(this.stack)&&(e+="\n"+this.stack.toString()),e},e}),define("Core/Matrix4",["./Cartesian3","./Cartesian4","./defaultValue","./defined","./DeveloperError","./freezeObject","./Math","./Matrix3","./RuntimeError"],function(t,e,r,n,o,i,a,s,u){"use strict";var l=function(t,e,n,o,i,a,s,u,l,c,f,h,m,y,p,d){this[0]=r(t,0),this[1]=r(i,0),this[2]=r(l,0),this[3]=r(m,0),this[4]=r(e,0),this[5]=r(a,0),this[6]=r(c,0),this[7]=r(y,0),this[8]=r(n,0),this[9]=r(s,0),this[10]=r(f,0),this[11]=r(p,0),this[12]=r(o,0),this[13]=r(u,0),this[14]=r(h,0),this[15]=r(d,0)};l.clone=function(t,e){return n(t)?n(e)?(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e):new l(t[0],t[4],t[8],t[12],t[1],t[5],t[9],t[13],t[2],t[6],t[10],t[14],t[3],t[7],t[11],t[15]):void 0},l.fromArray=function(t,e,o){return e=r(e,0),n(o)||(o=new l),o[0]=t[e],o[1]=t[e+1],o[2]=t[e+2],o[3]=t[e+3],o[4]=t[e+4],o[5]=t[e+5],o[6]=t[e+6],o[7]=t[e+7],o[8]=t[e+8],o[9]=t[e+9],o[10]=t[e+10],o[11]=t[e+11],o[12]=t[e+12],o[13]=t[e+13],o[14]=t[e+14],o[15]=t[e+15],o},l.fromColumnMajorArray=function(t,e){return l.clone(t,e)},l.fromRowMajorArray=function(t,e){return n(e)?(e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15],e):new l(t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15])},l.fromRotationTranslation=function(t,e,r){return n(r)?(r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=0,r[4]=t[3],r[5]=t[4],r[6]=t[5],r[7]=0,r[8]=t[6],r[9]=t[7],r[10]=t[8],r[11]=0,r[12]=e.x,r[13]=e.y,r[14]=e.z,r[15]=1,r):new l(t[0],t[3],t[6],e.x,t[1],t[4],t[7],e.y,t[2],t[5],t[8],e.z,0,0,0,1)},new s,l.fromTranslationQuaternionRotationScale=function(t,e,r,o){n(o)||(o=new l);var i=r.x,a=r.y,s=r.z,u=e.x*e.x,c=e.x*e.y,f=e.x*e.z,h=e.x*e.w,m=e.y*e.y,y=e.y*e.z,p=e.y*e.w,d=e.z*e.z,v=e.z*e.w,g=e.w*e.w,E=u-m-d+g,C=2*(c-v),S=2*(f+p),w=2*(c+v),x=-u+m-d+g,M=2*(y-h),A=2*(f-p),b=2*(y+h),T=-u-m+d+g;return o[0]=E*i,o[1]=w*i,o[2]=A*i,o[3]=0,o[4]=C*a,o[5]=x*a,o[6]=b*a,o[7]=0,o[8]=S*s,o[9]=M*s,o[10]=T*s,o[11]=0,o[12]=t.x,o[13]=t.y,o[14]=t.z,o[15]=1,o},l.fromTranslation=function(t,e){return l.fromRotationTranslation(s.IDENTITY,t,e)},l.fromScale=function(t,e){return n(e)?(e[0]=t.x,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t.y,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=t.z,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e):new l(t.x,0,0,0,0,t.y,0,0,0,0,t.z,0,0,0,0,1)},l.fromUniformScale=function(t,e){return n(e)?(e[0]=t,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=t,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e):new l(t,0,0,0,0,t,0,0,0,0,t,0,0,0,0,1)};var c=new t,f=new t,h=new t;l.fromCamera=function(e,r){var o=e.eye,i=e.target,a=e.up;t.normalize(t.subtract(i,o,c),c),t.normalize(t.cross(c,a,f),f),t.normalize(t.cross(f,c,h),h);var s=f.x,u=f.y,m=f.z,y=c.x,p=c.y,d=c.z,v=h.x,g=h.y,E=h.z,C=o.x,S=o.y,w=o.z,x=s*-C+u*-S+m*-w,M=v*-C+g*-S+E*-w,A=y*C+p*S+d*w;return n(r)?(r[0]=s,r[1]=v,r[2]=-y,r[3]=0,r[4]=u,r[5]=g,r[6]=-p,r[7]=0,r[8]=m,r[9]=E,r[10]=-d,r[11]=0,r[12]=x,r[13]=M,r[14]=A,r[15]=1,r):new l(s,u,m,x,v,g,E,M,-y,-p,-d,A,0,0,0,1)},l.computePerspectiveFieldOfView=function(t,e,r,o,i){var a=Math.tan(.5*t),s=1/a,u=s/e,c=(o+r)/(r-o),f=2*o*r/(r-o);return n(i)?(i[0]=u,i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=s,i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=c,i[11]=-1,i[12]=0,i[13]=0,i[14]=f,i[15]=0,i):new l(u,0,0,0,0,s,0,0,0,0,c,f,0,0,-1,0)},l.computeOrthographicOffCenter=function(t,e,r,o,i,a,s){var u=1/(e-t),c=1/(o-r),f=1/(a-i),h=-(e+t)*u,m=-(o+r)*c,y=-(a+i)*f;return u*=2,c*=2,f*=-2,n(s)?(s[0]=u,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=c,s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=f,s[11]=0,s[12]=h,s[13]=m,s[14]=y,s[15]=1,s):new l(u,0,0,h,0,c,0,m,0,0,f,y,0,0,0,1)},l.computePerspectiveOffCenter=function(t,e,r,o,i,a,s){var u=2*i/(e-t),c=2*i/(o-r),f=(e+t)/(e-t),h=(o+r)/(o-r),m=-(a+i)/(a-i),y=-1,p=-2*a*i/(a-i);return n(s)?(s[0]=u,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=c,s[6]=0,s[7]=0,s[8]=f,s[9]=h,s[10]=m,s[11]=y,s[12]=0,s[13]=0,s[14]=p,s[15]=0,s):new l(u,0,f,0,0,c,h,0,0,0,m,p,0,0,y,0)},l.computeInfinitePerspectiveOffCenter=function(t,e,r,o,i,a){var s=2*i/(e-t),u=2*i/(o-r),c=(e+t)/(e-t),f=(o+r)/(o-r),h=-1,m=-1,y=-2*i;return n(a)?(a[0]=s,a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=u,a[6]=0,a[7]=0,a[8]=c,a[9]=f,a[10]=h,a[11]=m,a[12]=0,a[13]=0,a[14]=y,a[15]=0,a):new l(s,0,c,0,0,u,f,0,0,0,h,y,0,0,m,0)},l.computeViewportTransformation=function(t,e,o,i){t=r(t,r.EMPTY_OBJECT);var a=r(t.x,0),s=r(t.y,0),u=r(t.width,0),c=r(t.height,0);e=r(e,0),o=r(o,1);var f=.5*u,h=.5*c,m=.5*(o-e),y=f,p=h,d=m,v=a+f,g=s+h,E=e+m,C=1;return n(i)?(i[0]=y,i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=p,i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=d,i[11]=0,i[12]=v,i[13]=g,i[14]=E,i[15]=C,i):new l(y,0,0,v,0,p,0,g,0,0,d,E,0,0,0,C)},l.toArray=function(t,e){return n(e)?(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e):[t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15]]},l.getElementIndex=function(t,e){return 4*t+e},l.getColumn=function(t,r,o){var i=4*r,a=t[i],s=t[i+1],u=t[i+2],l=t[i+3];return n(o)?(o.x=a,o.y=s,o.z=u,o.w=l,o):new e(a,s,u,l)},l.setColumn=function(t,e,r,n){n=l.clone(t,n);var o=4*e;return n[o]=r.x,n[o+1]=r.y,n[o+2]=r.z,n[o+3]=r.w,n},l.getRow=function(t,r,o){var i=t[r],a=t[r+4],s=t[r+8],u=t[r+12];return n(o)?(o.x=i,o.y=a,o.z=s,o.w=u,o):new e(i,a,s,u)},l.setRow=function(t,e,r,n){return n=l.clone(t,n),n[e]=r.x,n[e+4]=r.y,n[e+8]=r.z,n[e+12]=r.w,n},l.multiply=function(t,e,r){var o=t[0],i=t[1],a=t[2],s=t[3],u=t[4],c=t[5],f=t[6],h=t[7],m=t[8],y=t[9],p=t[10],d=t[11],v=t[12],g=t[13],E=t[14],C=t[15],S=e[0],w=e[1],x=e[2],M=e[3],A=e[4],b=e[5],T=e[6],O=e[7],I=e[8],R=e[9],N=e[10],z=e[11],L=e[12],F=e[13],D=e[14],P=e[15],_=o*S+u*w+m*x+v*M,B=i*S+c*w+y*x+g*M,U=a*S+f*w+p*x+E*M,G=s*S+h*w+d*x+C*M,q=o*A+u*b+m*T+v*O,W=i*A+c*b+y*T+g*O,Y=a*A+f*b+p*T+E*O,V=s*A+h*b+d*T+C*O,H=o*I+u*R+m*N+v*z,k=i*I+c*R+y*N+g*z,K=a*I+f*R+p*N+E*z,j=s*I+h*R+d*N+C*z,Z=o*L+u*F+m*D+v*P,X=i*L+c*F+y*D+g*P,Q=a*L+f*F+p*D+E*P,J=s*L+h*F+d*D+C*P;return n(r)?(r[0]=_,r[1]=B,r[2]=U,r[3]=G,r[4]=q,r[5]=W,r[6]=Y,r[7]=V,r[8]=H,r[9]=k,r[10]=K,r[11]=j,r[12]=Z,r[13]=X,r[14]=Q,r[15]=J,r):new l(_,q,H,Z,B,W,k,X,U,Y,K,Q,G,V,j,J)},l.multiplyTransformation=function(t,e,r){var o=t[0],i=t[1],a=t[2],s=t[4],u=t[5],c=t[6],f=t[8],h=t[9],m=t[10],y=t[12],p=t[13],d=t[14],v=e[0],g=e[1],E=e[2],C=e[4],S=e[5],w=e[6],x=e[8],M=e[9],A=e[10],b=e[12],T=e[13],O=e[14],I=o*v+s*g+f*E,R=i*v+u*g+h*E,N=a*v+c*g+m*E,z=o*C+s*S+f*w,L=i*C+u*S+h*w,F=a*C+c*S+m*w,D=o*x+s*M+f*A,P=i*x+u*M+h*A,_=a*x+c*M+m*A,B=o*b+s*T+f*O+y,U=i*b+u*T+h*O+p,G=a*b+c*T+m*O+d;return n(r)?(r[0]=I,r[1]=R,r[2]=N,r[3]=0,r[4]=z,r[5]=L,r[6]=F,r[7]=0,r[8]=D,r[9]=P,r[10]=_,r[11]=0,r[12]=B,r[13]=U,r[14]=G,r[15]=1,r):new l(I,z,D,B,R,L,P,U,N,F,_,G,0,0,0,1) +},l.multiplyByTranslation=function(t,e,r){var o=e.x,i=e.y,a=e.z,s=o*t[0]+i*t[4]+a*t[8]+t[12],u=o*t[1]+i*t[5]+a*t[9]+t[13],c=o*t[2]+i*t[6]+a*t[10]+t[14];return n(r)?(r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=t[3],r[4]=t[4],r[5]=t[5],r[6]=t[6],r[7]=t[7],r[8]=t[8],r[9]=t[9],r[10]=t[10],r[11]=t[11],r[12]=s,r[13]=u,r[14]=c,r[15]=t[15],r):new l(t[0],t[4],t[8],s,t[1],t[5],t[9],u,t[2],t[6],t[10],c,t[3],t[7],t[11],t[15])};var m=new t;return l.multiplyByUniformScale=function(t,e,r){return m.x=e,m.y=e,m.z=e,l.multiplyByScale(t,m,r)},l.multiplyByScale=function(t,e,r){var o=e.x,i=e.y,a=e.z;return 1===o&&1===i&&1===a?l.clone(t,r):n(r)?(r[0]=o*t[0],r[1]=o*t[1],r[2]=o*t[2],r[3]=0,r[4]=i*t[4],r[5]=i*t[5],r[6]=i*t[6],r[7]=0,r[8]=a*t[8],r[9]=a*t[9],r[10]=a*t[10],r[11]=0,r[12]=t[12],r[13]=t[13],r[14]=t[14],r[15]=1,r):new l(o*t[0],i*t[4],a*t[8],t[12],o*t[1],i*t[5],a*t[9],t[13],o*t[2],i*t[6],a*t[10],t[14],0,0,0,1)},l.multiplyByVector=function(t,r,o){var i=r.x,a=r.y,s=r.z,u=r.w,l=t[0]*i+t[4]*a+t[8]*s+t[12]*u,c=t[1]*i+t[5]*a+t[9]*s+t[13]*u,f=t[2]*i+t[6]*a+t[10]*s+t[14]*u,h=t[3]*i+t[7]*a+t[11]*s+t[15]*u;return n(o)?(o.x=l,o.y=c,o.z=f,o.w=h,o):new e(l,c,f,h)},l.multiplyByPointAsVector=function(e,r,o){var i=r.x,a=r.y,s=r.z,u=e[0]*i+e[4]*a+e[8]*s,l=e[1]*i+e[5]*a+e[9]*s,c=e[2]*i+e[6]*a+e[10]*s;return n(o)?(o.x=u,o.y=l,o.z=c,o):new t(u,l,c)},l.multiplyByPoint=function(e,r,o){var i=r.x,a=r.y,s=r.z,u=e[0]*i+e[4]*a+e[8]*s+e[12],l=e[1]*i+e[5]*a+e[9]*s+e[13],c=e[2]*i+e[6]*a+e[10]*s+e[14];return n(o)?(o.x=u,o.y=l,o.z=c,o):new t(u,l,c)},l.multiplyByScalar=function(t,e,r){return n(r)?(r[0]=t[0]*e,r[1]=t[1]*e,r[2]=t[2]*e,r[3]=t[3]*e,r[4]=t[4]*e,r[5]=t[5]*e,r[6]=t[6]*e,r[7]=t[7]*e,r[8]=t[8]*e,r[9]=t[9]*e,r[10]=t[10]*e,r[11]=t[11]*e,r[12]=t[12]*e,r[13]=t[13]*e,r[14]=t[14]*e,r[15]=t[15]*e,r):new l(t[0]*e,t[4]*e,t[8]*e,t[12]*e,t[1]*e,t[5]*e,t[9]*e,t[13]*e,t[2]*e,t[6]*e,t[10]*e,t[14]*e,t[3]*e,t[7]*e,t[11]*e,t[15]*e)},l.negate=function(t,e){return n(e)?(e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=-t[3],e[4]=-t[4],e[5]=-t[5],e[6]=-t[6],e[7]=-t[7],e[8]=-t[8],e[9]=-t[9],e[10]=-t[10],e[11]=-t[11],e[12]=-t[12],e[13]=-t[13],e[14]=-t[14],e[15]=-t[15],e):new l(-t[0],-t[4],-t[8],-t[12],-t[1],-t[5],-t[9],-t[13],-t[2],-t[6],-t[10],-t[14],-t[3],-t[7],-t[11],-t[15])},l.transpose=function(t,e){if(!n(e))return new l(t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15]);var r=t[1],o=t[2],i=t[3],a=t[6],s=t[7],u=t[11];return e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=o,e[9]=a,e[10]=t[10],e[11]=t[14],e[12]=i,e[13]=s,e[14]=u,e[15]=t[15],e},l.abs=function(t,e){return n(e)?(e[0]=Math.abs(t[0]),e[1]=Math.abs(t[1]),e[2]=Math.abs(t[2]),e[3]=Math.abs(t[3]),e[4]=Math.abs(t[4]),e[5]=Math.abs(t[5]),e[6]=Math.abs(t[6]),e[7]=Math.abs(t[7]),e[8]=Math.abs(t[8]),e[9]=Math.abs(t[9]),e[10]=Math.abs(t[10]),e[11]=Math.abs(t[11]),e[12]=Math.abs(t[12]),e[13]=Math.abs(t[13]),e[14]=Math.abs(t[14]),e[15]=Math.abs(t[15]),e):new l(Math.abs(t[0]),Math.abs(t[4]),Math.abs(t[8]),Math.abs(t[12]),Math.abs(t[1]),Math.abs(t[5]),Math.abs(t[9]),Math.abs(t[13]),Math.abs(t[2]),Math.abs(t[6]),Math.abs(t[10]),Math.abs(t[14]),Math.abs(t[3]),Math.abs(t[7]),Math.abs(t[11]),Math.abs(t[15]))},l.equals=function(t,e){return t===e||n(t)&&n(e)&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]&&t[6]===e[6]&&t[7]===e[7]&&t[8]===e[8]&&t[9]===e[9]&&t[10]===e[10]&&t[11]===e[11]&&t[12]===e[12]&&t[13]===e[13]&&t[14]===e[14]&&t[15]===e[15]},l.equalsEpsilon=function(t,e,r){return t===e||n(t)&&n(e)&&Math.abs(t[0]-e[0])<=r&&Math.abs(t[1]-e[1])<=r&&Math.abs(t[2]-e[2])<=r&&Math.abs(t[3]-e[3])<=r&&Math.abs(t[4]-e[4])<=r&&Math.abs(t[5]-e[5])<=r&&Math.abs(t[6]-e[6])<=r&&Math.abs(t[7]-e[7])<=r&&Math.abs(t[8]-e[8])<=r&&Math.abs(t[9]-e[9])<=r&&Math.abs(t[10]-e[10])<=r&&Math.abs(t[11]-e[11])<=r&&Math.abs(t[12]-e[12])<=r&&Math.abs(t[13]-e[13])<=r&&Math.abs(t[14]-e[14])<=r&&Math.abs(t[15]-e[15])<=r},l.getTranslation=function(e,r){return n(r)?(r.x=e[12],r.y=e[13],r.z=e[14],r):new t(e[12],e[13],e[14])},l.getRotation=function(t,e){return n(e)?(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[4],e[4]=t[5],e[5]=t[6],e[6]=t[8],e[7]=t[9],e[8]=t[10],e):new s(t[0],t[4],t[8],t[1],t[5],t[9],t[2],t[6],t[10])},l.inverse=function(t,e){var r=t[0],o=t[4],i=t[8],s=t[12],c=t[1],f=t[5],h=t[9],m=t[13],y=t[2],p=t[6],d=t[10],v=t[14],g=t[3],E=t[7],C=t[11],S=t[15],w=d*S,x=v*C,M=p*S,A=v*E,b=p*C,T=d*E,O=y*S,I=v*g,R=y*C,N=d*g,z=y*E,L=p*g,F=w*f+A*h+b*m-(x*f+M*h+T*m),D=x*c+O*h+N*m-(w*c+I*h+R*m),P=M*c+I*f+z*m-(A*c+O*f+L*m),_=T*c+R*f+L*h-(b*c+N*f+z*h),B=x*o+M*i+T*s-(w*o+A*i+b*s),U=w*r+I*i+R*s-(x*r+O*i+N*s),G=A*r+O*o+L*s-(M*r+I*o+z*s),q=b*r+N*o+z*i-(T*r+R*o+L*i);w=i*m,x=s*h,M=o*m,A=s*f,b=o*h,T=i*f,O=r*m,I=s*c,R=r*h,N=i*c,z=r*f,L=o*c;var W=w*E+A*C+b*S-(x*E+M*C+T*S),Y=x*g+O*C+N*S-(w*g+I*C+R*S),V=M*g+I*E+z*S-(A*g+O*E+L*S),H=T*g+R*E+L*C-(b*g+N*E+z*C),k=M*d+T*v+x*p-(b*v+w*p+A*d),K=R*v+w*y+I*d-(O*d+N*v+x*y),j=O*p+L*v+A*y-(z*v+M*y+I*p),Z=z*d+b*y+N*p-(R*p+L*d+T*y),X=r*F+o*D+i*P+s*_;if(Math.abs(X)A;A++){t.clone(e[A],o);var b=o.x,T=o.y,O=o.z;bu.x&&t.clone(o,u),Tl.y&&t.clone(o,l),Ox.z&&t.clone(o,x)}var I=t.magnitudeSquared(t.subtract(u,i,g)),R=t.magnitudeSquared(t.subtract(l,a,g)),N=t.magnitudeSquared(t.subtract(x,s,g)),z=i,L=u,F=I;R>F&&(F=R,z=a,L=l),N>F&&(F=N,z=s,L=x);var D=E;D.x=.5*(z.x+L.x),D.y=.5*(z.y+L.y),D.z=.5*(z.z+L.z);var P=t.magnitudeSquared(t.subtract(L,D,g)),_=Math.sqrt(P),B=C;B.x=i.x,B.y=a.y,B.z=s.z;var U=S;U.x=u.x,U.y=l.y,U.z=x.z;var G=t.multiplyByScalar(t.add(B,U,g),.5,w),q=0;for(A=0;M>A;A++){t.clone(e[A],o);var W=t.magnitude(t.subtract(o,G,g));W>q&&(q=W);var Y=t.magnitudeSquared(t.subtract(o,D,g));if(Y>P){var V=Math.sqrt(Y);_=.5*(_+V),P=_*_;var H=V-_;D.x=(_*D.x+H*o.x)/V,D.y=(_*D.y+H*o.y)/V,D.z=(_*D.z+H*o.z)/V}}return q>_?(t.clone(D,r.center),r.radius=_):(t.clone(G,r.center),r.radius=q),r};var x=new a,M=new t,A=new t,b=new e,T=new e;c.fromExtent2D=function(t,e,r){return c.fromExtentWithHeights2D(t,e,0,0,r)},c.fromExtentWithHeights2D=function(e,o,i,a,s){if(n(s)||(s=new c),!n(e))return s.center=t.clone(t.ZERO,s.center),s.radius=0,s;o=r(o,x),e.getSouthwest(b),b.height=i,e.getNortheast(T),T.height=a;var u=o.project(b,M),l=o.project(T,A),f=l.x-u.x,h=l.y-u.y,m=l.z-u.z;s.radius=.5*Math.sqrt(f*f+h*h+m*m);var y=s.center;return y.x=u.x+.5*f,y.y=u.y+.5*h,y.z=u.z+.5*m,s};var O=[];c.fromExtent3D=function(t,e,o,a){e=r(e,i.WGS84),o=r(o,0);var s;return n(t)&&(s=t.subsample(e,o,O)),c.fromPoints(s,a)},c.fromVertices=function(e,o,i,a){if(n(a)||(a=new c),!n(e)||0===e.length)return a.center=t.clone(t.ZERO,a.center),a.radius=0,a;o=r(o,t.ZERO),i=r(i,3);var s=v;s.x=e[0]+o.x,s.y=e[1]+o.y,s.z=e[2]+o.z;for(var u=t.clone(s,f),l=t.clone(s,h),x=t.clone(s,m),M=t.clone(s,y),A=t.clone(s,p),b=t.clone(s,d),T=e.length,O=0;T>O;O+=i){var I=e[O]+o.x,R=e[O+1]+o.y,N=e[O+2]+o.z;s.x=I,s.y=R,s.z=N,IM.x&&t.clone(s,M),RA.y&&t.clone(s,A),Nb.z&&t.clone(s,b)}var z=t.magnitudeSquared(t.subtract(M,u,g)),L=t.magnitudeSquared(t.subtract(A,l,g)),F=t.magnitudeSquared(t.subtract(b,x,g)),D=u,P=M,_=z;L>_&&(_=L,D=l,P=A),F>_&&(_=F,D=x,P=b);var B=E;B.x=.5*(D.x+P.x),B.y=.5*(D.y+P.y),B.z=.5*(D.z+P.z);var U=t.magnitudeSquared(t.subtract(P,B,g)),G=Math.sqrt(U),q=C;q.x=u.x,q.y=l.y,q.z=x.z;var W=S;W.x=M.x,W.y=A.y,W.z=b.z;var Y=t.multiplyByScalar(t.add(q,W,g),.5,w),V=0;for(O=0;T>O;O+=i){s.x=e[O]+o.x,s.y=e[O+1]+o.y,s.z=e[O+2]+o.z;var H=t.magnitude(t.subtract(s,Y,g));H>V&&(V=H);var k=t.magnitudeSquared(t.subtract(s,B,g));if(k>U){var K=Math.sqrt(k);G=.5*(G+K),U=G*G;var j=K-G;B.x=(G*B.x+j*s.x)/K,B.y=(G*B.y+j*s.y)/K,B.z=(G*B.z+j*s.z)/K}}return V>G?(t.clone(B,a.center),a.radius=G):(t.clone(Y,a.center),a.radius=V),a},c.fromCornerPoints=function(e,r,o){n(o)||(o=new c);var i=o.center;return t.add(e,r,i),t.multiplyByScalar(i,.5,i),o.radius=t.distance(i,r),o},c.fromEllipsoid=function(e,r){return n(r)||(r=new c),t.clone(t.ZERO,r.center),r.radius=e.maximumRadius,r},c.clone=function(e,r){return n(e)?n(r)?(r.center=t.clone(e.center,r.center),r.radius=e.radius,r):new c(e.center,e.radius):void 0};var I=new t,R=new t;c.union=function(e,r,o){n(o)||(o=new c);var i=e.center,a=r.center;t.add(i,a,R);var s=t.multiplyByScalar(R,.5,R),u=t.magnitude(t.subtract(i,s,I))+e.radius,l=t.magnitude(t.subtract(a,s,I))+r.radius;return o.radius=Math.max(u,l),t.clone(s,o.center),o};var N=new t;c.expand=function(e,r,n){n=c.clone(e,n);var o=t.magnitude(t.subtract(r,n.center,N));return o>n.radius&&(n.radius=o),n},c.intersect=function(e,r){var n=e.center,o=e.radius,i=t.dot(r,n)+r.w;return-o>i?s.OUTSIDE:o>i?s.INTERSECTING:s.INSIDE};var z=new t;c.transform=function(e,r,o){return n(o)||(o=new c),o.center=l.multiplyByPoint(r,e.center,o.center),o.radius=Math.max(t.magnitude(l.getColumn(r,0,z)),t.magnitude(l.getColumn(r,1,z)),t.magnitude(l.getColumn(r,2,z)))*e.radius,o},c.transformWithoutScale=function(t,e,r){return n(r)||(r=new c),r.center=l.multiplyByPoint(e,t.center,r.center),r.radius=t.radius,r};var L=new t;c.getPlaneDistances=function(e,r,o,i){n(i)||(i=new u);var a=t.subtract(e.center,r,L),s=t.multiplyByScalar(o,t.dot(o,a),L),l=t.magnitude(s);return i.start=l-e.radius,i.stop=l+e.radius,i};for(var F=new t,D=new t,P=new t,_=new t,B=new t,U=new e,G=new Array(8),q=0;8>q;++q)G[q]=new t;var W=new a;return c.projectTo2D=function(e,n,o){n=r(n,W);var i=n.ellipsoid,a=e.center,s=e.radius,u=i.geodeticSurfaceNormal(a,F),l=t.cross(t.UNIT_Z,u,D);t.normalize(l,l);var f=t.cross(u,l,P);t.normalize(f,f),t.multiplyByScalar(u,s,u),t.multiplyByScalar(f,s,f),t.multiplyByScalar(l,s,l);var h=t.negate(f,B),m=t.negate(l,_),y=G,p=y[0];t.add(u,f,p),t.add(p,l,p),p=y[1],t.add(u,f,p),t.add(p,m,p),p=y[2],t.add(u,h,p),t.add(p,m,p),p=y[3],t.add(u,h,p),t.add(p,l,p),t.negate(u,u),p=y[4],t.add(u,f,p),t.add(p,l,p),p=y[5],t.add(u,f,p),t.add(p,m,p),p=y[6],t.add(u,h,p),t.add(p,m,p),p=y[7],t.add(u,h,p),t.add(p,l,p);for(var d=y.length,v=0;d>v;++v){var g=y[v];t.add(a,g,g);var E=i.cartesianToCartographic(g,U);n.project(E,g)}o=c.fromPoints(y,o),a=o.center;var C=a.x,S=a.y,w=a.z;return a.x=w,a.y=C,a.z=S,o},c.equals=function(e,r){return e===r||n(e)&&n(r)&&t.equals(e.center,r.center)&&e.radius===r.radius},c.prototype.clone=function(t){return c.clone(this,t)},c.prototype.union=function(t,e){return c.union(this,t,e)},c.prototype.expand=function(t,e){return c.expand(this,t,e)},c.prototype.intersect=function(t){return c.intersect(this,t)},c.prototype.getPlaneDistances=function(t,e,r){return c.getPlaneDistances(this,t,e,r)},c.prototype.projectTo2D=function(t,e){return c.projectTo2D(this,t,e)},c.prototype.equals=function(t){return c.equals(this,t)},c}),define("Core/Fullscreen",["./defined"],function(t){"use strict";var e,r={requestFullscreen:void 0,exitFullscreen:void 0,fullscreenEnabled:void 0,fullscreenElement:void 0,fullscreenchange:void 0,fullscreenerror:void 0},n={};return n.supportsFullscreen=function(){if(t(e))return e;e=!1;var n=document.body;if("function"==typeof n.requestFullscreen)return r.requestFullscreen="requestFullscreen",r.exitFullscreen="exitFullscreen",r.fullscreenEnabled="fullscreenEnabled",r.fullscreenElement="fullscreenElement",r.fullscreenchange="fullscreenchange",r.fullscreenerror="fullscreenerror",e=!0;for(var o,i=["webkit","moz","o","ms","khtml"],a=0,s=i.length;s>a;++a){var u=i[a];o=u+"RequestFullscreen","function"==typeof n[o]?(r.requestFullscreen=o,e=!0):(o=u+"RequestFullScreen","function"==typeof n[o]&&(r.requestFullscreen=o,e=!0)),o=u+"ExitFullscreen","function"==typeof document[o]?r.exitFullscreen=o:(o=u+"CancelFullScreen","function"==typeof document[o]&&(r.exitFullscreen=o)),o=u+"FullscreenEnabled",t(document[o])?r.fullscreenEnabled=o:(o=u+"FullScreenEnabled",t(document[o])&&(r.fullscreenEnabled=o)),o=u+"FullscreenElement",t(document[o])?r.fullscreenElement=o:(o=u+"FullScreenElement",t(document[o])&&(r.fullscreenElement=o)),o=u+"fullscreenchange",t(document["on"+o])&&("ms"===u&&(o="MSFullscreenChange"),r.fullscreenchange=o),o=u+"fullscreenerror",t(document["on"+o])&&("ms"===u&&(o="MSFullscreenError"),r.fullscreenerror=o)}return e},n.requestFullscreen=function(t){n.supportsFullscreen()&&t[r.requestFullscreen]()},n.exitFullscreen=function(){n.supportsFullscreen()&&document[r.exitFullscreen]()},n.isFullscreenEnabled=function(){return n.supportsFullscreen()?document[r.fullscreenEnabled]:void 0},n.getFullscreenElement=function(){return n.supportsFullscreen()?document[r.fullscreenElement]:void 0},n.isFullscreen=function(){return n.supportsFullscreen()?null!==n.getFullscreenElement():void 0},n.getFullscreenChangeEventName=function(){return n.supportsFullscreen()?r.fullscreenchange:void 0},n.getFullscreenErrorEventName=function(){return n.supportsFullscreen()?r.fullscreenerror:void 0},n}),define("Core/FeatureDetection",["./defined","./Fullscreen"],function(t,e){"use strict";function r(t){for(var e=t.split("."),r=0,n=e.length;n>r;++r)e[r]=parseInt(e[r],10);return e}function n(){if(!t(f)){var e=/ Chrome\/([\.0-9]+)/.exec(navigator.userAgent);null===e?f=!1:(f=!0,h=r(e[1]))}return f}function o(){return n()&&h}function i(){if(!t(m))if(n()||!/ Safari\/[\.0-9]+/.test(navigator.userAgent))m=!1;else{var e=/ Version\/([\.0-9]+)/.exec(navigator.userAgent);null===e?m=!1:(m=!0,y=r(e[1]))}return m}function a(){return i()&&y}function s(){if(!t(p)){var e=/ AppleWebKit\/([\.0-9]+)(\+?)/.exec(navigator.userAgent);null===e?p=!1:(p=!0,d=r(e[1]),d.isNightly=!!e[2])}return p}function u(){return s()&&d}function l(){if(!t(v)){var e;"Microsoft Internet Explorer"===navigator.appName?(e=/MSIE ([0-9]{1,}[\.0-9]{0,})/.exec(navigator.userAgent),null!==e&&(v=!0,g=r(e[1]))):"Netscape"===navigator.appName?(e=/Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/.exec(navigator.userAgent),null!==e&&(v=!0,g=r(e[1]))):v=!1}return v}function c(){return l()&&g}var f,h,m,y,p,d,v,g,E={isChrome:n,chromeVersion:o,isSafari:i,safariVersion:a,isWebkit:s,webkitVersion:u,isInternetExplorer:l,internetExplorerVersion:c};E.supportsFullscreen=function(){return e.supportsFullscreen()},E.supportsTypedArrays=function(){return"undefined"!=typeof ArrayBuffer};var C;return E.supportsTransferringArrayBuffers=function(){if(!t(C)){if(!E.supportsTypedArrays())return C=!1,void 0;var e=new ArrayBuffer(1);try{postMessage({value:e},[e]),C=!0}catch(r){C=!1}}return C},E}),define("Core/ComponentDatatype",["./defaultValue","./defined","./DeveloperError","./FeatureDetection","./Enumeration"],function(t,e,r,n,o){"use strict";if(!n.supportsTypedArrays())return{};var i={BYTE:new o(5120,"BYTE",{sizeInBytes:Int8Array.BYTES_PER_ELEMENT}),UNSIGNED_BYTE:new o(5121,"UNSIGNED_BYTE",{sizeInBytes:Uint8Array.BYTES_PER_ELEMENT}),SHORT:new o(5122,"SHORT",{sizeInBytes:Int16Array.BYTES_PER_ELEMENT}),UNSIGNED_SHORT:new o(5123,"UNSIGNED_SHORT",{sizeInBytes:Uint16Array.BYTES_PER_ELEMENT}),FLOAT:new o(5126,"FLOAT",{sizeInBytes:Float32Array.BYTES_PER_ELEMENT}),DOUBLE:new o(5130,"DOUBLE",{sizeInBytes:Float64Array.BYTES_PER_ELEMENT})};return i.validate=function(t){return e(t)&&e(t.value)&&(t.value===i.BYTE.value||t.value===i.UNSIGNED_BYTE.value||t.value===i.SHORT.value||t.value===i.UNSIGNED_SHORT.value||t.value===i.FLOAT.value||t.value===i.DOUBLE.value)},i.createTypedArray=function(t,e){switch(t.value){case i.BYTE.value:return new Int8Array(e);case i.UNSIGNED_BYTE.value:return new Uint8Array(e);case i.SHORT.value:return new Int16Array(e);case i.UNSIGNED_SHORT.value:return new Uint16Array(e);case i.FLOAT.value:return new Float32Array(e);case i.DOUBLE.value:return new Float64Array(e);default:throw new r("componentDatatype is not a valid enumeration value.")}},i.createArrayBufferView=function(e,n,o,a){switch(o=t(o,0),a=t(a,(n.byteLength-o)/e.sizeInBytes),e.value){case i.BYTE.value:return new Int8Array(n,o,a);case i.UNSIGNED_BYTE.value:return new Uint8Array(n,o,a);case i.SHORT.value:return new Int16Array(n,o,a);case i.UNSIGNED_SHORT.value:return new Uint16Array(n,o,a);case i.FLOAT.value:return new Float32Array(n,o,a);case i.DOUBLE.value:return new Float64Array(n,o,a);default:throw new r("componentDatatype is not a valid enumeration value.")}},i}),define("Core/IndexDatatype",["./defined","./DeveloperError","./Math"],function(t,e,r){"use strict";var n={UNSIGNED_BYTE:5121,UNSIGNED_SHORT:5123,UNSIGNED_INT:5125};return n.getSizeInBytes=function(t){switch(t){case n.UNSIGNED_BYTE:return Uint8Array.BYTES_PER_ELEMENT;case n.UNSIGNED_SHORT:return Uint16Array.BYTES_PER_ELEMENT;case n.UNSIGNED_INT:return Uint32Array.BYTES_PER_ELEMENT}},n.validate=function(e){return t(e)&&(e===n.UNSIGNED_BYTE||e===n.UNSIGNED_SHORT||e===n.UNSIGNED_INT)},n.createTypedArray=function(t,e){return t>r.SIXTY_FOUR_KILOBYTES?new Uint32Array(e):new Uint16Array(e)},n}),define("Core/Geometry",["./defaultValue","./defined","./DeveloperError"],function(t,e,r){"use strict";var n=function(e){e=t(e,t.EMPTY_OBJECT),this.attributes=e.attributes,this.indices=e.indices,this.primitiveType=e.primitiveType,this.boundingSphere=e.boundingSphere};return n.computeNumberOfVertices=function(t){var n=-1;for(var o in t.attributes)if(t.attributes.hasOwnProperty(o)&&e(t.attributes[o])&&e(t.attributes[o].values)){var i=t.attributes[o],a=i.values.length/i.componentsPerAttribute;if(n!==a&&-1!==n)throw new r("All attribute lists must have the same number of attributes.");n=a}return n},n}),define("Core/GeometryAttribute",["./defaultValue","./defined","./DeveloperError"],function(t){"use strict";var e=function(e){e=t(e,t.EMPTY_OBJECT),this.componentDatatype=e.componentDatatype,this.componentsPerAttribute=e.componentsPerAttribute,this.normalize=t(e.normalize,!1),this.values=e.values};return e}),define("Core/GeometryAttributes",["./defaultValue"],function(t){"use strict";var e=function(e){e=t(e,t.EMPTY_OBJECT),this.position=e.position,this.normal=e.normal,this.st=e.st,this.binormal=e.binormal,this.tangent=e.tangent,this.color=e.color};return e}),define("Core/Cartesian2",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(t,e,r,n){"use strict";var o=function(e,r){this.x=t(e,0),this.y=t(r,0)};o.fromElements=function(t,r,n){return e(n)?(n.x=t,n.y=r,n):new o(t,r)},o.clone=function(t,r){return e(t)?e(r)?(r.x=t.x,r.y=t.y,r):new o(t.x,t.y):void 0},o.fromCartesian3=o.clone,o.fromCartesian4=o.clone,o.packedLength=2,o.pack=function(e,r,n){n=t(n,0),r[n++]=e.x,r[n]=e.y},o.unpack=function(r,n,i){return n=t(n,0),e(i)||(i=new o),i.x=r[n++],i.y=r[n],i},o.fromArray=o.unpack,o.getMaximumComponent=function(t){return Math.max(t.x,t.y)},o.getMinimumComponent=function(t){return Math.min(t.x,t.y)},o.getMinimumByComponent=function(t,r,n){return e(n)||(n=new o),n.x=Math.min(t.x,r.x),n.y=Math.min(t.y,r.y),n},o.getMaximumByComponent=function(t,r,n){return e(n)||(n=new o),n.x=Math.max(t.x,r.x),n.y=Math.max(t.y,r.y),n},o.magnitudeSquared=function(t){return t.x*t.x+t.y*t.y},o.magnitude=function(t){return Math.sqrt(o.magnitudeSquared(t))};var i=new o;o.distance=function(t,e){return o.subtract(t,e,i),o.magnitude(i)},o.normalize=function(t,r){var n=o.magnitude(t);return e(r)?(r.x=t.x/n,r.y=t.y/n,r):new o(t.x/n,t.y/n)},o.dot=function(t,e){return t.x*e.x+t.y*e.y},o.multiplyComponents=function(t,r,n){return e(n)?(n.x=t.x*r.x,n.y=t.y*r.y,n):new o(t.x*r.x,t.y*r.y)},o.add=function(t,r,n){return e(n)?(n.x=t.x+r.x,n.y=t.y+r.y,n):new o(t.x+r.x,t.y+r.y)},o.subtract=function(t,r,n){return e(n)?(n.x=t.x-r.x,n.y=t.y-r.y,n):new o(t.x-r.x,t.y-r.y)},o.multiplyByScalar=function(t,r,n){return e(n)?(n.x=t.x*r,n.y=t.y*r,n):new o(t.x*r,t.y*r)},o.divideByScalar=function(t,r,n){return e(n)?(n.x=t.x/r,n.y=t.y/r,n):new o(t.x/r,t.y/r)},o.negate=function(t,r){return e(r)?(r.x=-t.x,r.y=-t.y,r):new o(-t.x,-t.y)},o.abs=function(t,r){return e(r)?(r.x=Math.abs(t.x),r.y=Math.abs(t.y),r):new o(Math.abs(t.x),Math.abs(t.y))};var a=new o;o.lerp=function(t,e,r,n){return o.multiplyByScalar(e,r,a),n=o.multiplyByScalar(t,1-r,n),o.add(a,n,n)};var s=new o,u=new o;o.angleBetween=function(t,e){return o.normalize(t,s),o.normalize(e,u),Math.acos(o.dot(s,u))};var l=new o;return o.mostOrthogonalAxis=function(t,e){var r=o.normalize(t,l);return o.abs(r,r),e=r.x<=r.y?o.clone(o.UNIT_X,e):o.clone(o.UNIT_Y,e)},o.equals=function(t,r){return t===r||e(t)&&e(r)&&t.x===r.x&&t.y===r.y},o.equalsEpsilon=function(t,r,n){return t===r||e(t)&&e(r)&&Math.abs(t.x-r.x)<=n&&Math.abs(t.y-r.y)<=n},o.ZERO=n(new o(0,0)),o.UNIT_X=n(new o(1,0)),o.UNIT_Y=n(new o(0,1)),o.prototype.clone=function(t){return o.clone(this,t)},o.prototype.equals=function(t){return o.equals(this,t)},o.prototype.equalsEpsilon=function(t,e){return o.equalsEpsilon(this,t,e)},o.prototype.toString=function(){return"("+this.x+", "+this.y+")"},o}),define("Core/Matrix2",["./Cartesian2","./defaultValue","./defined","./DeveloperError","./freezeObject"],function(t,e,r,n,o){"use strict";var i=function(t,r,n,o){this[0]=e(t,0),this[1]=e(n,0),this[2]=e(r,0),this[3]=e(o,0)};return i.clone=function(t,e){return r(t)?r(e)?(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e):new i(t[0],t[2],t[1],t[3]):void 0},i.fromArray=function(t,n,o){return n=e(n,0),r(o)||(o=new i),o[0]=t[n],o[1]=t[n+1],o[2]=t[n+2],o[3]=t[n+3],o},i.fromColumnMajorArray=function(t,e){return i.clone(t,e)},i.fromRowMajorArray=function(t,e){return r(e)?(e[0]=t[0],e[1]=t[2],e[2]=t[1],e[3]=t[3],e):new i(t[0],t[1],t[2],t[3])},i.fromScale=function(t,e){return r(e)?(e[0]=t.x,e[1]=0,e[2]=0,e[3]=t.y,e):new i(t.x,0,0,t.y)},i.fromUniformScale=function(t,e){return r(e)?(e[0]=t,e[1]=0,e[2]=0,e[3]=t,e):new i(t,0,0,t)},i.fromRotation=function(t,e){var n=Math.cos(t),o=Math.sin(t);return r(e)?(e[0]=n,e[1]=o,e[2]=-o,e[3]=n,e):new i(n,-o,o,n)},i.toArray=function(t,e){return r(e)?(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e):[t[0],t[1],t[2],t[3]]},i.getElementIndex=function(t,e){return 2*t+e},i.getColumn=function(e,n,o){var i=2*n,a=e[i],s=e[i+1];return r(o)?(o.x=a,o.y=s,o):new t(a,s)},i.setColumn=function(t,e,r,n){n=i.clone(t,n);var o=2*e;return n[o]=r.x,n[o+1]=r.y,n},i.getRow=function(e,n,o){var i=e[n],a=e[n+2];return r(o)?(o.x=i,o.y=a,o):new t(i,a)},i.setRow=function(t,e,r,n){return n=i.clone(t,n),n[e]=r.x,n[e+2]=r.y,n},i.multiply=function(t,e,n){var o=t[0]*e[0]+t[2]*e[1],a=t[0]*e[2]+t[2]*e[3],s=t[1]*e[0]+t[3]*e[1],u=t[1]*e[2]+t[3]*e[3];return r(n)?(n[0]=o,n[1]=s,n[2]=a,n[3]=u,n):new i(o,a,s,u)},i.multiplyByVector=function(e,n,o){var i=e[0]*n.x+e[2]*n.y,a=e[1]*n.x+e[3]*n.y;return r(o)?(o.x=i,o.y=a,o):new t(i,a)},i.multiplyByScalar=function(t,e,n){return r(n)?(n[0]=t[0]*e,n[1]=t[1]*e,n[2]=t[2]*e,n[3]=t[3]*e,n):new i(t[0]*e,t[2]*e,t[1]*e,t[3]*e)},i.negate=function(t,e){return r(e)?(e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=-t[3],e):new i(-t[0],-t[2],-t[1],-t[3])},i.transpose=function(t,e){var n=t[0],o=t[2],a=t[1],s=t[3];return r(e)?(e[0]=n,e[1]=o,e[2]=a,e[3]=s,e):new i(n,a,o,s)},i.abs=function(t,e){return r(e)?(e[0]=Math.abs(t[0]),e[1]=Math.abs(t[1]),e[2]=Math.abs(t[2]),e[3]=Math.abs(t[3]),e):new i(Math.abs(t[0]),Math.abs(t[2]),Math.abs(t[1]),Math.abs(t[3]))},i.equals=function(t,e){return t===e||r(t)&&r(e)&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]},i.equalsEpsilon=function(t,e,n){return t===e||r(t)&&r(e)&&Math.abs(t[0]-e[0])<=n&&Math.abs(t[1]-e[1])<=n&&Math.abs(t[2]-e[2])<=n&&Math.abs(t[3]-e[3])<=n},i.IDENTITY=o(new i(1,0,0,1)),i.COLUMN0ROW0=0,i.COLUMN0ROW1=1,i.COLUMN1ROW0=2,i.COLUMN1ROW1=3,i.prototype.clone=function(t){return i.clone(this,t)},i.prototype.equals=function(t){return i.equals(this,t)},i.prototype.equalsEpsilon=function(t,e){return i.equalsEpsilon(this,t,e)},i.prototype.toString=function(){return"("+this[0]+", "+this[2]+")\n"+"("+this[1]+", "+this[3]+")"},i}),define("Core/PrimitiveType",[],function(){"use strict";var t={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,validate:function(e){return e===t.POINTS||e===t.LINES||e===t.LINE_LOOP||e===t.LINE_STRIP||e===t.TRIANGLES||e===t.TRIANGLE_STRIP||e===t.TRIANGLE_FAN}};return t}),define("Core/ExtentOutlineGeometry",["./defaultValue","./defined","./BoundingSphere","./Cartesian3","./Cartographic","./ComponentDatatype","./IndexDatatype","./DeveloperError","./Ellipsoid","./GeographicProjection","./Geometry","./GeometryAttribute","./GeometryAttributes","./Math","./Matrix2","./PrimitiveType"],function(t,e,r,n,o,i,a,s,u,l,c,f,h,m,y,p){"use strict";function d(t,e){return t<-m.PI_OVER_TWO||t>m.PI_OVER_TWO?!1:e>m.PI||e<-m.PI?!1:!0}function v(t,r,n,o,i){var a=t.radiiSquared;C=x.latitude-t.granYCos*r+n*t.granXSin;var s=z(C),u=L(C),l=a.z*u;S=x.longitude+r*t.granYSin+n*t.granXCos;var c=s*z(S),f=s*L(S),h=a.x*c,m=a.y*f,y=F(h*c+m*f+l*u),p=h/y,d=m/y,v=l/y;e(o)&&(O.x=p+c*o,O.y=d+f*o,O.z=v+u*o),e(i)&&(I.x=p+c*i,I.y=d+f*i,I.z=v+u*i)}function g(t){var e,n=t.extent,o=t.ellipsoid,i=t.size,s=t.height,u=t.width,l=t.surfaceHeight,c=new Float64Array(3*i),f=0,h=0;for(e=0;u>e;e++)v(t,h,e,l),c[f++]=O.x,c[f++]=O.y,c[f++]=O.z;for(e=u-1,h=1;s>h;h++)v(t,h,e,l),c[f++]=O.x,c[f++]=O.y,c[f++]=O.z;for(h=s-1,e=u-2;e>=0;e--)v(t,h,e,l),c[f++]=O.x,c[f++]=O.y,c[f++]=O.z;for(e=0,h=s-2;h>0;h--)v(t,h,e,l),c[f++]=O.x,c[f++]=O.y,c[f++]=O.z;for(var m=2*(c.length/3),y=a.createTypedArray(c.length/3,m),p=0,d=0;ds;s++)v(t,p,s,i,o),d[y+f]=I.x,d[y+f+1]=I.y,d[y+f+2]=I.z,d[y++]=O.x,d[y++]=O.y,d[y++]=O.z;for(s=c-1,p=1;l>p;p++)v(t,p,s,i,o),d[y+f]=I.x,d[y+f+1]=I.y,d[y+f+2]=I.z,d[y++]=O.x,d[y++]=O.y,d[y++]=O.z;for(p=l-1,s=c-2;s>=0;s--)v(t,p,s,i,o),d[y+f]=I.x,d[y+f+1]=I.y,d[y+f+2]=I.z,d[y++]=O.x,d[y++]=O.y,d[y++]=O.z;for(s=0,p=l-2;p>0;p--)v(t,p,s,i,o),d[y+f]=I.x,d[y+f+1]=I.y,d[y+f+2]=I.z,d[y++]=O.x,d[y++]=O.y,d[y++]=O.z;for(var E=2*(d.length/3)+8,C=a.createTypedArray(d.length/3,E),S=d.length/6,w=0,x=0;S-1>x;x++)C[w++]=x,C[w++]=x+1,C[w++]=x+S,C[w++]=x+S+1;C[w++]=S-1,C[w++]=0,C[w++]=S+S-1,C[w++]=S,C[w++]=0,C[w++]=S,C[w++]=c-1,C[w++]=S+c-1,C[w++]=c+l-2,C[w++]=c+l-2+S,C[w++]=2*c+l-3,C[w++]=2*c+l-3+S;var M=r.fromExtent3D(u,h,i,N),A=r.fromExtent3D(u,h,o,R),b=r.union(M,A);return{boundingSphere:b,positions:d,indices:C}}var C,S,w=new n,x=new o,M=new o,A=new n,b=new y,T=new l,O=new n,I=new n,R=new r,N=new r,z=Math.cos,L=Math.sin,F=Math.sqrt,D=function(e){e=t(e,t.EMPTY_OBJECT);var r=e.extent,n=t(e.granularity,m.RADIANS_PER_DEGREE),o=t(e.ellipsoid,u.WGS84),i=t(e.height,0),a=e.rotation;this._extent=r,this._granularity=n,this._ellipsoid=o,this._surfaceHeight=i,this._rotation=a,this._extrudedHeight=e.extrudedHeight,this._workerName="createExtentOutlineGeometry"};return D.createGeometry=function(t){var r=t._extent,o=t._granularity,a=t._ellipsoid,u=t._surfaceHeight,l=t._rotation,m=t._extrudedHeight,v=Math.ceil((r.east-r.west)/o)+1,C=Math.ceil((r.north-r.south)/o)+1,S=(r.east-r.west)/(v-1),O=(r.north-r.south)/(C-1),I=a.radiiSquared;r.getNorthwest(x),r.getCenter(M);var R=O,N=S,F=0,D=0;if(e(l)){var P=z(l);R*=P,N*=P;var _=L(l);F=O*_,D=S*_,T.project(x,w),T.project(M,A),n.subtract(w,A,w),y.fromRotation(l,b),y.multiplyByVector(b,w,w),n.add(w,A,w),T.unproject(w,x);var B=x.latitude,U=B+(v-1)*D,G=B-R*(C-1),q=B-R*(C-1)+(v-1)*D,W=Math.max(B,U,G,q),Y=Math.min(B,U,G,q),V=x.longitude,H=V+(v-1)*N,k=V+(C-1)*F,K=V+(C-1)*F+(v-1)*N,j=Math.max(V,H,k,K),Z=Math.min(V,H,k,K);if(!(d(W,Z)&&d(W,j)&&d(Y,Z)&&d(Y,j)))throw new s("Rotated extent is invalid.")}var X,Q=2*v+2*C-4,J={granYCos:R,granYSin:F,granXCos:N,granXSin:D,radiiSquared:I,ellipsoid:a,extent:r,width:v,height:C,surfaceHeight:u,size:Q};X=e(m)?E(J,m):g(J);var $=new h({position:new f({componentDatatype:i.DOUBLE,componentsPerAttribute:3,values:X.positions})});return new c({attributes:$,indices:X.indices,primitiveType:p.LINES,boundingSphere:X.boundingSphere})},D}),define("Core/Extent",["./freezeObject","./defaultValue","./defined","./Ellipsoid","./Cartographic","./DeveloperError","./Math"],function(t,e,r,n,o,i,a){"use strict";var s=function(t,r,n,o){this.west=e(t,0),this.south=e(r,0),this.east=e(n,0),this.north=e(o,0)};s.fromDegrees=function(t,n,o,i,u){return t=a.toRadians(e(t,0)),n=a.toRadians(e(n,0)),o=a.toRadians(e(o,0)),i=a.toRadians(e(i,0)),r(u)?(u.west=t,u.south=n,u.east=o,u.north=i,u):new s(t,n,o,i)},s.fromCartographicArray=function(t,e){for(var n=Number.MAX_VALUE,o=-Number.MAX_VALUE,i=Number.MAX_VALUE,a=-Number.MAX_VALUE,u=0,l=t.length;l>u;u++){var c=t[u];n=Math.min(n,c.longitude),o=Math.max(o,c.longitude),i=Math.min(i,c.latitude),a=Math.max(a,c.latitude)}return r(e)?(e.west=n,e.south=i,e.east=o,e.north=a,e):new s(n,i,o,a)},s.clone=function(t,e){return r(t)?r(e)?(e.west=t.west,e.south=t.south,e.east=t.east,e.north=t.north,e):new s(t.west,t.south,t.east,t.north):void 0},s.prototype.clone=function(t){return s.clone(this,t)},s.prototype.equals=function(t){return s.equals(this,t)},s.equals=function(t,e){return t===e||r(t)&&r(e)&&t.west===e.west&&t.south===e.south&&t.east===e.east&&t.north===e.north},s.prototype.equalsEpsilon=function(t,e){return r(t)&&Math.abs(this.west-t.west)<=e&&Math.abs(this.south-t.south)<=e&&Math.abs(this.east-t.east)<=e&&Math.abs(this.north-t.north)<=e},s.prototype.validate=function(){},s.prototype.getSouthwest=function(t){return r(t)?(t.longitude=this.west,t.latitude=this.south,t.height=0,t):new o(this.west,this.south)},s.prototype.getNorthwest=function(t){return r(t)?(t.longitude=this.west,t.latitude=this.north,t.height=0,t):new o(this.west,this.north)},s.prototype.getNortheast=function(t){return r(t)?(t.longitude=this.east,t.latitude=this.north,t.height=0,t):new o(this.east,this.north)},s.prototype.getSoutheast=function(t){return r(t)?(t.longitude=this.east,t.latitude=this.south,t.height=0,t):new o(this.east,this.south)},s.prototype.getCenter=function(t){return r(t)?(t.longitude=.5*(this.west+this.east),t.latitude=.5*(this.south+this.north),t.height=0,t):new o(.5*(this.west+this.east),.5*(this.south+this.north))},s.prototype.intersectWith=function(t,e){var n=Math.max(this.west,t.west),o=Math.max(this.south,t.south),i=Math.min(this.east,t.east),a=Math.min(this.north,t.north); +return r(e)?(e.west=n,e.south=o,e.east=i,e.north=a,e):new s(n,o,i,a)},s.prototype.contains=function(t){return t.longitude>=this.west&&t.longitude<=this.east&&t.latitude>=this.south&&t.latitude<=this.north},s.prototype.isEmpty=function(){return this.west>=this.east||this.south>=this.north};var u=new o;return s.prototype.subsample=function(t,o,i){t=e(t,n.WGS84),o=e(o,0),r(i)||(i=[]);var s=0,l=this.north,c=this.south,f=this.east,h=this.west,m=u;m.height=o,m.longitude=h,m.latitude=l,i[s]=t.cartographicToCartesian(m,i[s]),s++,m.longitude=f,i[s]=t.cartographicToCartesian(m,i[s]),s++,m.latitude=c,i[s]=t.cartographicToCartesian(m,i[s]),s++,m.longitude=h,i[s]=t.cartographicToCartesian(m,i[s]),s++,m.latitude=0>l?l:c>0?c:0;for(var y=1;8>y;++y){var p=-Math.PI+y*a.PI_OVER_TWO;p>h&&f>p&&(m.longitude=p,i[s]=t.cartographicToCartesian(m,i[s]),s++)}return 0===m.latitude&&(m.longitude=h,i[s]=t.cartographicToCartesian(m,i[s]),s++,m.longitude=f,i[s]=t.cartographicToCartesian(m,i[s]),s++),i.length=s,i},s.MAX_VALUE=t(new s(-Math.PI,-a.PI_OVER_TWO,Math.PI,a.PI_OVER_TWO)),s}),define("Core/Color",["./defaultValue","./defined","./freezeObject","./DeveloperError","./FeatureDetection","./Math"],function(t,e,r,n,o,i){"use strict";function a(t,e,r){return 0>r&&(r+=1),r>1&&(r-=1),1>6*r?t+6*(e-t)*r:1>2*r?e:2>3*r?t+6*(e-t)*(2/3-r):t}var s=function(e,r,n,o){this.red=t(e,1),this.green=t(r,1),this.blue=t(n,1),this.alpha=t(o,1)};s.fromBytes=function(e,r,n,o){return e=s.byteToFloat(t(e,255)),r=s.byteToFloat(t(r,255)),n=s.byteToFloat(t(n,255)),o=s.byteToFloat(t(o,255)),new s(e,r,n,o)};var u,l,c;o.supportsTypedArrays()&&(u=new ArrayBuffer(4),l=new Uint32Array(u),c=new Uint8Array(u)),s.fromRgba=function(t){return l[0]=t,s.fromBytes(c[0],c[1],c[2],c[3])},s.fromHsl=function(e,r,n,o){e=t(e,0)%1,r=t(r,0),n=t(n,0),o=t(o,1);var i=n,u=n,l=n;if(0!==r){var c;c=.5>n?n*(1+r):n+r-n*r;var f=2*n-c;i=a(f,c,e+1/3),u=a(f,c,e),l=a(f,c,e-1/3)}return new s(i,u,l,o)},s.fromRandom=function(r,n){r=t(r,t.EMPTY_OBJECT);var o=r.red;if(!e(o)){var a=t(r.minimumRed,0),u=t(r.maximumRed,1);o=a+i.nextRandomNumber()*(u-a)}var l=r.green;if(!e(l)){var c=t(r.minimumGreen,0),f=t(r.maximumGreen,1);l=c+i.nextRandomNumber()*(f-c)}var h=r.blue;if(!e(h)){var m=t(r.minimumBlue,0),y=t(r.maximumBlue,1);h=m+i.nextRandomNumber()*(y-m)}var p=r.alpha;if(!e(p)){var d=t(r.minimumAlpha,0),v=t(r.maximumAlpha,1);p=d+i.nextRandomNumber()*(v-d)}return e(n)?(n.red=o,n.green=l,n.blue=h,n.alpha=p,n):new s(o,l,h,p)};var f=/^#([0-9a-f])([0-9a-f])([0-9a-f])$/i,h=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i,m=/^rgba?\(\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)(?:\s*,\s*([0-9.]+))?\s*\)$/i,y=/^hsla?\(\s*([0-9.]+)\s*,\s*([0-9.]+%)\s*,\s*([0-9.]+%)(?:\s*,\s*([0-9.]+))?\s*\)$/i;return s.fromCssColorString=function(r){var n=s[r.toUpperCase()];if(e(n))return s.clone(n);var o=f.exec(r);return null!==o?new s(parseInt(o[1],16)/15,parseInt(o[2],16)/15,parseInt(o[3],16)/15):(o=h.exec(r),null!==o?new s(parseInt(o[1],16)/255,parseInt(o[2],16)/255,parseInt(o[3],16)/255):(o=m.exec(r),null!==o?new s(parseFloat(o[1])/("%"===o[1].substr(-1)?100:255),parseFloat(o[2])/("%"===o[2].substr(-1)?100:255),parseFloat(o[3])/("%"===o[3].substr(-1)?100:255),parseFloat(t(o[4],"1.0"))):(o=y.exec(r),null!==o?s.fromHsl(parseFloat(o[1])/360,parseFloat(o[2])/100,parseFloat(o[3])/100,parseFloat(t(o[4],"1.0"))):void 0)))},s.packedLength=4,s.pack=function(e,r,n){n=t(n,0),r[n++]=e.red,r[n++]=e.green,r[n++]=e.blue,r[n]=e.alpha},s.unpack=function(r,n,o){return n=t(n,0),e(o)||(o=new s),o.red=r[n++],o.green=r[n++],o.blue=r[n++],o.alpha=r[n],o},s.byteToFloat=function(t){return t/255},s.floatToByte=function(t){return 1===t?255:0|256*t},s.clone=function(t,r){return e(t)?e(r)?(r.red=t.red,r.green=t.green,r.blue=t.blue,r.alpha=t.alpha,r):new s(t.red,t.green,t.blue,t.alpha):void 0},s.equals=function(t,r){return t===r||e(t)&&e(r)&&t.red===r.red&&t.green===r.green&&t.blue===r.blue&&t.alpha===r.alpha},s.prototype.clone=function(t){return s.clone(this,t)},s.prototype.equals=function(t){return s.equals(this,t)},s.prototype.equalsEpsilon=function(t,r){return this===t||e(t)&&Math.abs(this.red-t.red)<=r&&Math.abs(this.green-t.green)<=r&&Math.abs(this.blue-t.blue)<=r&&Math.abs(this.alpha-t.alpha)<=r},s.prototype.toString=function(){return"("+this.red+", "+this.green+", "+this.blue+", "+this.alpha+")"},s.prototype.toCssColorString=function(){var t=s.floatToByte(this.red),e=s.floatToByte(this.green),r=s.floatToByte(this.blue);return 1===this.alpha?"rgb("+t+","+e+","+r+")":"rgba("+t+","+e+","+r+","+this.alpha+")"},s.prototype.toBytes=function(t){var r=s.floatToByte(this.red),n=s.floatToByte(this.green),o=s.floatToByte(this.blue),i=s.floatToByte(this.alpha);return e(t)?(t[0]=r,t[1]=n,t[2]=o,t[3]=i,t):[r,n,o,i]},s.prototype.toRgba=function(){return c[0]=s.floatToByte(this.red),c[1]=s.floatToByte(this.green),c[2]=s.floatToByte(this.blue),c[3]=s.floatToByte(this.alpha),l[0]},s.ALICEBLUE=r(s.fromCssColorString("#F0F8FF")),s.ANTIQUEWHITE=r(s.fromCssColorString("#FAEBD7")),s.AQUA=r(s.fromCssColorString("#00FFFF")),s.AQUAMARINE=r(s.fromCssColorString("#7FFFD4")),s.AZURE=r(s.fromCssColorString("#F0FFFF")),s.BEIGE=r(s.fromCssColorString("#F5F5DC")),s.BISQUE=r(s.fromCssColorString("#FFE4C4")),s.BLACK=r(s.fromCssColorString("#000000")),s.BLANCHEDALMOND=r(s.fromCssColorString("#FFEBCD")),s.BLUE=r(s.fromCssColorString("#0000FF")),s.BLUEVIOLET=r(s.fromCssColorString("#8A2BE2")),s.BROWN=r(s.fromCssColorString("#A52A2A")),s.BURLYWOOD=r(s.fromCssColorString("#DEB887")),s.CADETBLUE=r(s.fromCssColorString("#5F9EA0")),s.CHARTREUSE=r(s.fromCssColorString("#7FFF00")),s.CHOCOLATE=r(s.fromCssColorString("#D2691E")),s.CORAL=r(s.fromCssColorString("#FF7F50")),s.CORNFLOWERBLUE=r(s.fromCssColorString("#6495ED")),s.CORNSILK=r(s.fromCssColorString("#FFF8DC")),s.CRIMSON=r(s.fromCssColorString("#DC143C")),s.CYAN=r(s.fromCssColorString("#00FFFF")),s.DARKBLUE=r(s.fromCssColorString("#00008B")),s.DARKCYAN=r(s.fromCssColorString("#008B8B")),s.DARKGOLDENROD=r(s.fromCssColorString("#B8860B")),s.DARKGRAY=r(s.fromCssColorString("#A9A9A9")),s.DARKGREEN=r(s.fromCssColorString("#006400")),s.DARKGREY=s.DARKGRAY,s.DARKKHAKI=r(s.fromCssColorString("#BDB76B")),s.DARKMAGENTA=r(s.fromCssColorString("#8B008B")),s.DARKOLIVEGREEN=r(s.fromCssColorString("#556B2F")),s.DARKORANGE=r(s.fromCssColorString("#FF8C00")),s.DARKORCHID=r(s.fromCssColorString("#9932CC")),s.DARKRED=r(s.fromCssColorString("#8B0000")),s.DARKSALMON=r(s.fromCssColorString("#E9967A")),s.DARKSEAGREEN=r(s.fromCssColorString("#8FBC8F")),s.DARKSLATEBLUE=r(s.fromCssColorString("#483D8B")),s.DARKSLATEGRAY=r(s.fromCssColorString("#2F4F4F")),s.DARKSLATEGREY=s.DARKSLATEGRAY,s.DARKTURQUOISE=r(s.fromCssColorString("#00CED1")),s.DARKVIOLET=r(s.fromCssColorString("#9400D3")),s.DEEPPINK=r(s.fromCssColorString("#FF1493")),s.DEEPSKYBLUE=r(s.fromCssColorString("#00BFFF")),s.DIMGRAY=r(s.fromCssColorString("#696969")),s.DIMGREY=s.DIMGRAY,s.DODGERBLUE=r(s.fromCssColorString("#1E90FF")),s.FIREBRICK=r(s.fromCssColorString("#B22222")),s.FLORALWHITE=r(s.fromCssColorString("#FFFAF0")),s.FORESTGREEN=r(s.fromCssColorString("#228B22")),s.FUSCHIA=r(s.fromCssColorString("#FF00FF")),s.GAINSBORO=r(s.fromCssColorString("#DCDCDC")),s.GHOSTWHITE=r(s.fromCssColorString("#F8F8FF")),s.GOLD=r(s.fromCssColorString("#FFD700")),s.GOLDENROD=r(s.fromCssColorString("#DAA520")),s.GRAY=r(s.fromCssColorString("#808080")),s.GREEN=r(s.fromCssColorString("#008000")),s.GREENYELLOW=r(s.fromCssColorString("#ADFF2F")),s.GREY=s.GRAY,s.HONEYDEW=r(s.fromCssColorString("#F0FFF0")),s.HOTPINK=r(s.fromCssColorString("#FF69B4")),s.INDIANRED=r(s.fromCssColorString("#CD5C5C")),s.INDIGO=r(s.fromCssColorString("#4B0082")),s.IVORY=r(s.fromCssColorString("#FFFFF0")),s.KHAKI=r(s.fromCssColorString("#F0E68C")),s.LAVENDER=r(s.fromCssColorString("#E6E6FA")),s.LAVENDAR_BLUSH=r(s.fromCssColorString("#FFF0F5")),s.LAWNGREEN=r(s.fromCssColorString("#7CFC00")),s.LEMONCHIFFON=r(s.fromCssColorString("#FFFACD")),s.LIGHTBLUE=r(s.fromCssColorString("#ADD8E6")),s.LIGHTCORAL=r(s.fromCssColorString("#F08080")),s.LIGHTCYAN=r(s.fromCssColorString("#E0FFFF")),s.LIGHTGOLDENRODYELLOW=r(s.fromCssColorString("#FAFAD2")),s.LIGHTGRAY=r(s.fromCssColorString("#D3D3D3")),s.LIGHTGREEN=r(s.fromCssColorString("#90EE90")),s.LIGHTGREY=s.LIGHTGRAY,s.LIGHTPINK=r(s.fromCssColorString("#FFB6C1")),s.LIGHTSEAGREEN=r(s.fromCssColorString("#20B2AA")),s.LIGHTSKYBLUE=r(s.fromCssColorString("#87CEFA")),s.LIGHTSLATEGRAY=r(s.fromCssColorString("#778899")),s.LIGHTSLATEGREY=s.LIGHTSLATEGRAY,s.LIGHTSTEELBLUE=r(s.fromCssColorString("#B0C4DE")),s.LIGHTYELLOW=r(s.fromCssColorString("#FFFFE0")),s.LIME=r(s.fromCssColorString("#00FF00")),s.LIMEGREEN=r(s.fromCssColorString("#32CD32")),s.LINEN=r(s.fromCssColorString("#FAF0E6")),s.MAGENTA=r(s.fromCssColorString("#FF00FF")),s.MAROON=r(s.fromCssColorString("#800000")),s.MEDIUMAQUAMARINE=r(s.fromCssColorString("#66CDAA")),s.MEDIUMBLUE=r(s.fromCssColorString("#0000CD")),s.MEDIUMORCHID=r(s.fromCssColorString("#BA55D3")),s.MEDIUMPURPLE=r(s.fromCssColorString("#9370DB")),s.MEDIUMSEAGREEN=r(s.fromCssColorString("#3CB371")),s.MEDIUMSLATEBLUE=r(s.fromCssColorString("#7B68EE")),s.MEDIUMSPRINGGREEN=r(s.fromCssColorString("#00FA9A")),s.MEDIUMTURQUOISE=r(s.fromCssColorString("#48D1CC")),s.MEDIUMVIOLETRED=r(s.fromCssColorString("#C71585")),s.MIDNIGHTBLUE=r(s.fromCssColorString("#191970")),s.MINTCREAM=r(s.fromCssColorString("#F5FFFA")),s.MISTYROSE=r(s.fromCssColorString("#FFE4E1")),s.MOCCASIN=r(s.fromCssColorString("#FFE4B5")),s.NAVAJOWHITE=r(s.fromCssColorString("#FFDEAD")),s.NAVY=r(s.fromCssColorString("#000080")),s.OLDLACE=r(s.fromCssColorString("#FDF5E6")),s.OLIVE=r(s.fromCssColorString("#808000")),s.OLIVEDRAB=r(s.fromCssColorString("#6B8E23")),s.ORANGE=r(s.fromCssColorString("#FFA500")),s.ORANGERED=r(s.fromCssColorString("#FF4500")),s.ORCHID=r(s.fromCssColorString("#DA70D6")),s.PALEGOLDENROD=r(s.fromCssColorString("#EEE8AA")),s.PALEGREEN=r(s.fromCssColorString("#98FB98")),s.PALETURQUOISE=r(s.fromCssColorString("#AFEEEE")),s.PALEVIOLETRED=r(s.fromCssColorString("#DB7093")),s.PAPAYAWHIP=r(s.fromCssColorString("#FFEFD5")),s.PEACHPUFF=r(s.fromCssColorString("#FFDAB9")),s.PERU=r(s.fromCssColorString("#CD853F")),s.PINK=r(s.fromCssColorString("#FFC0CB")),s.PLUM=r(s.fromCssColorString("#DDA0DD")),s.POWDERBLUE=r(s.fromCssColorString("#B0E0E6")),s.PURPLE=r(s.fromCssColorString("#800080")),s.RED=r(s.fromCssColorString("#FF0000")),s.ROSYBROWN=r(s.fromCssColorString("#BC8F8F")),s.ROYALBLUE=r(s.fromCssColorString("#4169E1")),s.SADDLEBROWN=r(s.fromCssColorString("#8B4513")),s.SALMON=r(s.fromCssColorString("#FA8072")),s.SANDYBROWN=r(s.fromCssColorString("#F4A460")),s.SEAGREEN=r(s.fromCssColorString("#2E8B57")),s.SEASHELL=r(s.fromCssColorString("#FFF5EE")),s.SIENNA=r(s.fromCssColorString("#A0522D")),s.SILVER=r(s.fromCssColorString("#C0C0C0")),s.SKYBLUE=r(s.fromCssColorString("#87CEEB")),s.SLATEBLUE=r(s.fromCssColorString("#6A5ACD")),s.SLATEGRAY=r(s.fromCssColorString("#708090")),s.SLATEGREY=s.SLATEGRAY,s.SNOW=r(s.fromCssColorString("#FFFAFA")),s.SPRINGGREEN=r(s.fromCssColorString("#00FF7F")),s.STEELBLUE=r(s.fromCssColorString("#4682B4")),s.TAN=r(s.fromCssColorString("#D2B48C")),s.TEAL=r(s.fromCssColorString("#008080")),s.THISTLE=r(s.fromCssColorString("#D8BFD8")),s.TOMATO=r(s.fromCssColorString("#FF6347")),s.TURQUOISE=r(s.fromCssColorString("#40E0D0")),s.VIOLET=r(s.fromCssColorString("#EE82EE")),s.WHEAT=r(s.fromCssColorString("#F5DEB3")),s.WHITE=r(s.fromCssColorString("#FFFFFF")),s.WHITESMOKE=r(s.fromCssColorString("#F5F5F5")),s.YELLOW=r(s.fromCssColorString("#FFFF00")),s.YELLOWGREEN=r(s.fromCssColorString("#9ACD32")),s}),define("Core/barycentricCoordinates",["./Cartesian2","./Cartesian3","./defined","./DeveloperError"],function(t,e,r){"use strict";var n=new e,o=new e,i=new e,a=function(a,s,u,l,c){r(c)||(c=new e);var f,h,m,y,p,d,v,g;r(s.z)?(f=e.subtract(u,s,n),h=e.subtract(l,s,o),m=e.subtract(a,s,i),y=e.dot(f,f),p=e.dot(f,h),d=e.dot(f,m),v=e.dot(h,h),g=e.dot(h,m)):(f=t.subtract(u,s,n),h=t.subtract(l,s,o),m=t.subtract(a,s,i),y=t.dot(f,f),p=t.dot(f,h),d=t.dot(f,m),v=t.dot(h,h),g=t.dot(h,m));var E=1/(y*v-p*p);return c.y=(v*d-p*g)*E,c.z=(y*g-p*d)*E,c.x=1-c.y-c.z,c};return a}),define("Core/EncodedCartesian3",["./Cartesian3","./defined","./DeveloperError"],function(t,e){"use strict";var r=function(){this.high=t.clone(t.ZERO),this.low=t.clone(t.ZERO)};r.encode=function(t,r){e(r)||(r={high:0,low:0});var n;return t>=0?(n=65536*Math.floor(t/65536),r.high=n,r.low=t-n):(n=65536*Math.floor(-t/65536),r.high=-n,r.low=t+n),r};var n={high:0,low:0};r.fromCartesian=function(t,o){e(o)||(o=new r);var i=o.high,a=o.low;return r.encode(t.x,n),i.x=n.high,a.x=n.low,r.encode(t.y,n),i.y=n.high,a.y=n.low,r.encode(t.z,n),i.z=n.high,a.z=n.low,o};var o=new r;return r.writeElements=function(t,e,n){r.fromCartesian(t,o);var i=o.high,a=o.low;e[n]=i.x,e[n+1]=i.y,e[n+2]=i.z,e[n+3]=a.x,e[n+4]=a.y,e[n+5]=a.z},r}),define("Core/QuadraticRealPolynomial",["./DeveloperError","./Math"],function(t,e){"use strict";function r(t,r,n){var o=t+r;return e.sign(t)!==e.sign(r)&&Math.abs(o/Math.max(Math.abs(t),Math.abs(r)))a&&a/ss&&s/ai)return[];var u=Math.sqrt(i);return[-u,u]}if(0===o)return i=-n/t,0>i?[i,0]:[0,i];var l=n*n,c=4*t*o,f=r(l,-c,e.EPSILON14);if(0>f)return[];var h=-.5*r(n,e.sign(n)*Math.sqrt(f),e.EPSILON14);return n>0?[h/t,o/h]:[o/h,h/t]},n}),define("Core/CubicRealPolynomial",["./DeveloperError","./QuadraticRealPolynomial"],function(t,e){"use strict";function r(t,e,r,n){var o,i,a=t,s=e/3,u=r/3,l=n,c=a*u,f=s*l,h=s*s,m=u*u,y=a*u-h,p=a*l-s*u,d=s*l-m,v=4*y*d-p*p;if(0>v){var g,E,C;h*f>=c*m?(g=a,E=y,C=-2*s*y+a*p):(g=l,E=d,C=-l*p+2*u*d);var S=0>C?-1:1,w=-S*Math.abs(g)*Math.sqrt(-v);i=-C+w;var x=i/2,M=0>x?-Math.pow(-x,1/3):Math.pow(x,1/3),A=i===w?-M:-E/M;return o=0>=E?M+A:-C/(M*M+A*A+E),h*f>=c*m?[(o-s)/a]:[-l/(o+u)]}var b=y,T=-2*s*y+a*p,O=d,I=-l*p+2*u*d,R=Math.sqrt(v),N=Math.sqrt(3)/2,z=Math.abs(Math.atan2(a*R,-T)/3);o=2*Math.sqrt(-b);var L=Math.cos(z);i=o*L;var F=o*(-L/2-N*Math.sin(z)),D=i+F>2*s?i-s:F-s,P=a,_=D/P;z=Math.abs(Math.atan2(l*R,-I)/3),o=2*Math.sqrt(-O),L=Math.cos(z),i=o*L,F=o*(-L/2-N*Math.sin(z));var B=-l,U=2*u>i+F?i+u:F+u,G=B/U,q=P*U,W=-D*U-P*B,Y=D*B,V=(u*W-s*Y)/(-s*W+u*q);return V>=_?G>=_?G>=V?[_,V,G]:[_,G,V]:[G,_,V]:G>=_?[V,_,G]:G>=V?[V,G,_]:[G,V,_]}var n={};return n.discriminant=function(t,e,r,n){var o=t*t,i=e*e,a=r*r,s=n*n,u=18*t*e*r*n+i*a-27*o*s-4*(t*a*r+i*e*n);return u},n.realRoots=function(t,n,o,i){var a,s;if(0===t)return e.realRoots(n,o,i);if(0===n){if(0===o){if(0===i)return[0,0,0];s=-i/t;var u=0>s?-Math.pow(-s,1/3):Math.pow(s,1/3);return[u,u,u]}return 0===i?(a=e.realRoots(t,0,o),0===a.Length?[0]:[a[0],0,a[1]]):r(t,0,o,i)}return 0===o?0===i?(s=-n/t,0>s?[s,0,0]:[0,0,s]):r(t,n,0,i):0===i?(a=e.realRoots(t,n,o),0===a.length?[0]:a[1]<=0?[a[0],a[1],0]:a[0]>=0?[0,a[0],a[1]]:[a[0],0,a[1]]):r(t,n,o,i)},n}),define("Core/QuarticRealPolynomial",["./DeveloperError","./Math","./CubicRealPolynomial","./QuadraticRealPolynomial"],function(t,e,r,n){"use strict";function o(t,o,i,a){var s=t*t,u=o-3*s/8,l=i-o*t/2+s*t/8,c=a-i*t/4+o*s/16-3*s*s/256,f=r.realRoots(1,2*u,u*u-4*c,-l*l);if(f.length>0){var h=-t/4,m=f[f.length-1];if(Math.abs(m)=0&&v>=0){var g=Math.sqrt(d),E=Math.sqrt(v);return[h-E,h-g,h+g,h+E]}if(d>=0&&0>v)return p=Math.sqrt(d),[h-p,h+p];if(0>d&&v>=0)return p=Math.sqrt(v),[h-p,h+p]}return[]}if(m>0){var C=Math.sqrt(m),S=(u+m-l/C)/2,w=(u+m+l/C)/2,x=n.realRoots(1,C,S),M=n.realRoots(1,-C,w);return 0!==x.length?(x[0]+=h,x[1]+=h,0!==M.length?(M[0]+=h,M[1]+=h,x[1]<=M[0]?[x[0],x[1],M[0],M[1]]:M[1]<=x[0]?[M[0],M[1],x[0],x[1]]:x[0]>=M[0]&&x[1]<=M[1]?[M[0],x[0],x[1],M[1]]:M[0]>=x[0]&&M[1]<=x[1]?[x[0],M[0],M[1],x[1]]:x[0]>M[0]&&x[0]0){var y,p,d=m[0],v=o-d,g=v*v,E=t/2,C=v/2,S=g-4*a,w=g+4*Math.abs(a),x=l-4*d,M=l+4*Math.abs(d);if(0>d||x*w>S*M){var A=Math.sqrt(x);y=A/2,p=0===A?0:(t*C-i)/A}else{var b=Math.sqrt(S);y=0===b?0:(t*C-i)/b,p=b/2}var T,O;0===E&&0===y?(T=0,O=0):e.sign(E)===e.sign(y)?(T=E+y,O=d/T):(O=E-y,T=d/O);var I,R;0===C&&0===p?(I=0,R=0):e.sign(C)===e.sign(p)?(I=C+p,R=a/I):(R=C-p,I=a/R);var N=n.realRoots(1,T,I),z=n.realRoots(1,O,R);if(0!==N.length)return 0!==z.length?N[1]<=z[0]?[N[0],N[1],z[0],z[1]]:z[1]<=N[0]?[z[0],z[1],N[0],N[1]]:N[0]>=z[0]&&N[1]<=z[1]?[z[0],N[0],N[1],z[1]]:z[0]>=N[0]&&z[1]<=N[1]?[N[0],z[0],z[1],N[1]]:N[0]>z[0]&&N[0]l?1:0;switch(m+=0>c?m+1:m,m+=0>f?m+1:m,m+=0>h?m+1:m){case 0:return o(l,c,f,h);case 1:return i(l,c,f,h);case 2:return i(l,c,f,h);case 3:return o(l,c,f,h);case 4:return o(l,c,f,h);case 5:return i(l,c,f,h);case 6:return o(l,c,f,h);case 7:return o(l,c,f,h);case 8:return i(l,c,f,h);case 9:return o(l,c,f,h);case 10:return o(l,c,f,h);case 11:return i(l,c,f,h);case 12:return o(l,c,f,h);case 13:return o(l,c,f,h);case 14:return o(l,c,f,h);case 15:return o(l,c,f,h);default:return void 0}},a}),define("Core/IntersectionTests",["./defined","./DeveloperError","./Math","./Cartesian3","./Cartographic","./Matrix3","./QuadraticRealPolynomial","./QuarticRealPolynomial"],function(t,e,r,n,o,i,a,s){"use strict";function u(t,e,n){var o=t+e;return r.sign(t)!==r.sign(e)&&Math.abs(o/Math.max(Math.abs(t),Math.abs(e)))F;++F){var D,P=f[F],_=P*P,B=Math.max(1-_,0),U=Math.sqrt(B);D=r.sign(y)===r.sign(d)?u(y*_+d,p*P,r.EPSILON12):r.sign(d)===r.sign(p*P)?u(y*_,p*P+d,r.EPSILON12):u(y*_+p*P,d,r.EPSILON12);var G=u(v*P,g,r.EPSILON15),q=D*G;0>q?E.push(new n(l,c*P,c*U)):q>0?E.push(new n(l,c*P,c*-U)):0!==U?(E.push(new n(l,c*P,c*-U)),E.push(new n(l,c*P,c*U)),++F):E.push(new n(l,c*P,c*U))}return E}var c={};c.rayPlane=function(t,e,o){var i=t.origin,a=t.direction,s=e.normal,u=n.dot(s,a);if(Math.abs(u)l?void 0:(o=n.multiplyByScalar(a,l,o),n.add(i,o,o))};var f=new n,h=new n;c.rayEllipsoid=function(t,e){var r,o,i,a,s,u=e.oneOverRadii,l=n.multiplyComponents(u,t.origin,f),c=n.multiplyComponents(u,t.direction,h),m=n.magnitudeSquared(l),y=n.dot(l,c);if(m>1){if(y>=0)return void 0;var p=y*y;if(r=m-1,o=n.magnitudeSquared(c),i=o*r,i>p)return void 0;if(p>i){a=y*y-i,s=-y+Math.sqrt(a);var d=s/o,v=r/s;return v>d?{start:d,stop:v}:{start:v,stop:d}}var g=Math.sqrt(r/o);return{start:g,stop:g}}return 1>m?(r=m-1,o=n.magnitudeSquared(c),i=o*r,a=y*y-i,s=-y+Math.sqrt(a),{start:0,stop:s/o}):0>y?(o=n.magnitudeSquared(c),{start:0,stop:-y/o}):void 0},c.grazingAltitudeLocation=function(e,a){var s=e.origin,u=e.direction,c=a.geodeticSurfaceNormal(s);if(n.dot(u,c)>=0)return s;var f,h,m=t(this.rayEllipsoid(e,a)),y=a.transformPositionToScaledSpace(u),p=n.normalize(y),d=n.mostOrthogonalAxis(y),v=n.normalize(n.cross(d,p)),g=n.normalize(n.cross(p,v)),E=new i(p.x,v.x,g.x,p.y,v.y,g.y,p.z,v.z,g.z),C=i.transpose(E),S=i.fromScale(a.radii),w=i.fromScale(a.oneOverRadii),x=new i(0,u.z,-u.y,-u.z,0,u.x,u.y,-u.x,0),M=i.multiply(i.multiply(C,w),x),A=i.multiply(i.multiply(M,S),E),b=i.multiplyByVector(M,s),T=l(A,n.negate(b),0,0,1),O=T.length;if(O>0){for(var I=n.ZERO,R=Number.NEGATIVE_INFINITY,N=0;O>N;++N){f=i.multiplyByVector(S,i.multiplyByVector(E,T[N]));var z=n.normalize(n.subtract(f,s)),L=n.dot(z,u);L>R&&(R=L,I=f)}var F=a.cartesianToCartographic(I);return R=r.clamp(R,0,1),h=n.magnitude(n.subtract(I,s))*Math.sqrt(1-R*R),h=m?-h:h,a.cartographicToCartesian(new o(F.longitude,F.latitude,h))}return void 0};var m=new n;return c.lineSegmentPlane=function(e,o,i,a){var s=n.subtract(o,e,m),u=i.normal,l=n.dot(u,s);if(Math.abs(l)f||f>1?void 0:(t(a)||(a=new n),n.multiplyByScalar(s,f,a),n.add(e,a,a),a)},c.trianglePlaneIntersection=function(t,e,r,o){var i=o.normal,a=o.distance,s=n.dot(i,t)+a<0,u=n.dot(i,e)+a<0,l=n.dot(i,r)+a<0,f=0;f+=s?1:0,f+=u?1:0,f+=l?1:0;var h,m;if((1===f||2===f)&&(h=new n,m=new n),1===f){if(s)return c.lineSegmentPlane(t,e,o,h),c.lineSegmentPlane(t,r,o,m),{positions:[t,e,r,h,m],indices:[0,3,4,1,2,4,1,4,3]};if(u)return c.lineSegmentPlane(e,r,o,h),c.lineSegmentPlane(e,t,o,m),{positions:[t,e,r,h,m],indices:[1,3,4,2,0,4,2,4,3]};if(l)return c.lineSegmentPlane(r,t,o,h),c.lineSegmentPlane(r,e,o,m),{positions:[t,e,r,h,m],indices:[2,3,4,0,1,4,0,4,3]}}else if(2===f){if(!s)return c.lineSegmentPlane(e,t,o,h),c.lineSegmentPlane(r,t,o,m),{positions:[t,e,r,h,m],indices:[1,2,4,1,4,3,0,3,4]};if(!u)return c.lineSegmentPlane(r,e,o,h),c.lineSegmentPlane(t,e,o,m),{positions:[t,e,r,h,m],indices:[2,0,4,2,4,3,1,3,4]};if(!l)return c.lineSegmentPlane(t,r,o,h),c.lineSegmentPlane(e,r,o,m),{positions:[t,e,r,h,m],indices:[0,1,4,0,4,3,2,3,4]}}return void 0},c}),define("Core/Plane",["./Cartesian3","./defined","./DeveloperError"],function(t,e){"use strict";var r=function(e,r){this.normal=t.clone(e),this.distance=r};return r.fromPointNormal=function(n,o,i){var a=-t.dot(o,n);return e(i)?(t.clone(o,i.normal),i.distance=a,i):new r(o,a)},r.getPointDistance=function(e,r){return t.dot(e.normal,r)+e.distance},r.prototype.getPointDistance=function(t){return r.getPointDistance(this,t)},r}),define("Core/Tipsify",["./defaultValue","./defined","./DeveloperError"],function(t,e){"use strict";var r={};return r.calculateACMR=function(r){r=t(r,t.EMPTY_OBJECT);var n=r.indices,o=r.maximumIndex,i=t(r.cacheSize,24),a=n.length;if(!e(o)){o=0;for(var s=0,u=n[s];a>s;)u>o&&(o=u),++s,u=n[s]}for(var l=[],c=0;o+1>c;c++)l[c]=0;for(var f=i+1,h=0;a>h;++h)f-l[n[h]]>i&&(l[n[h]]=f,++f);return(f-i+1)/(a/3)},r.tipsify=function(r){function n(t,e,r,n){for(;e.length>=1;){var o=e[e.length-1];if(e.splice(e.length-1,1),t[o].numLiveTriangles>0)return o}for(;n>i;){if(t[i].numLiveTriangles>0)return++i,i-1;++i}return-1}function o(t,e,r,o,i,a,s){for(var u,l=-1,c=-1,f=0;fc||-1===c)&&(c=u,l=h)),++f}return-1===l?n(o,a,t,s):l}r=t(r,t.EMPTY_OBJECT);var i,a=r.indices,s=r.maximumIndex,u=t(r.cacheSize,24),l=a.length,c=0,f=0,h=a[f],m=l;if(e(s))c=s+1;else{for(;m>f;)h>c&&(c=h),++f,h=a[f];if(-1===c)return 0;++c}for(var y=[],p=0;c>p;p++)y[p]={numLiveTriangles:0,timeStamp:0,vertexTriangles:[]};f=0;for(var d=0;m>f;)y[a[f]].vertexTriangles.push(d),++y[a[f]].numLiveTriangles,y[a[f+1]].vertexTriangles.push(d),++y[a[f+1]].numLiveTriangles,y[a[f+2]].vertexTriangles.push(d),++y[a[f+2]].numLiveTriangles,++d,f+=3;var v=0,g=u+1;i=1;var E,C,S=[],w=[],x=0,M=[],A=l/3,b=[];for(p=0;A>p;p++)b[p]=!1;for(var T,O;-1!==v;){S=[],C=y[v],O=C.vertexTriangles.length;for(var I=0;O>I;++I)if(d=C.vertexTriangles[I],!b[d]){b[d]=!0,f=d+d+d;for(var R=0;3>R;++R)T=a[f],S.push(T),w.push(T),M[x]=T,++x,E=y[T],--E.numLiveTriangles,g-E.timeStamp>u&&(E.timeStamp=g,++g),++f}v=o(a,u,S,y,g,w,c)}return M},r}),define("Core/GeometryPipeline",["./barycentricCoordinates","./defaultValue","./defined","./DeveloperError","./Cartesian2","./Cartesian3","./Cartesian4","./Cartographic","./EncodedCartesian3","./Intersect","./IntersectionTests","./Math","./Matrix3","./Matrix4","./Plane","./GeographicProjection","./ComponentDatatype","./IndexDatatype","./PrimitiveType","./Tipsify","./BoundingSphere","./Geometry","./GeometryAttribute"],function(t,e,r,n,o,i,a,s,u,l,c,f,h,m,y,p,d,v,g,E,C,S,w){"use strict";function x(t,e,r,n,o){t[e++]=r,t[e++]=n,t[e++]=n,t[e++]=o,t[e++]=o,t[e]=r}function M(t){for(var e=t.length,r=6*(e/3),n=v.createTypedArray(e,r),o=0,i=0;e>i;i+=3,o+=6)x(n,o,t[i],t[i+1],t[i+2]);return n}function A(t){var e=t.length;if(e>=3){var r=6*(e-2),n=v.createTypedArray(e,r);x(n,0,t[0],t[1],t[2]);for(var o=6,i=3;e>i;++i,o+=6)x(n,o,t[i-1],t[i],t[i-2]);return n}return new Uint16Array}function b(t){if(t.length>0){for(var e=t.length-1,r=6*(e-1),n=v.createTypedArray(e,r),o=t[0],i=0,a=1;e>a;++a,i+=6)x(n,i,o,t[a],t[a+1]);return n}return new Uint16Array}function T(t){var e={};for(var n in t)if(t.hasOwnProperty(n)&&r(t[n])&&r(t[n].values)){var o=t[n];e[n]=new w({componentDatatype:o.componentDatatype,componentsPerAttribute:o.componentsPerAttribute,normalize:o.normalize,values:[]})}return e}function O(t,e,n){for(var o in e)if(e.hasOwnProperty(o)&&r(e[o])&&r(e[o].values))for(var i=e[o],a=0;aa;a+=3)i.unpack(n,a,Z),m.multiplyByPoint(t,Z,Z),i.pack(Z,n,a)}function R(t,e){if(r(e))for(var n=e.values,o=n.length,a=0;o>a;a+=3)i.unpack(n,a,Z),h.multiplyByVector(t,Z,Z),Z=i.normalize(Z,Z),i.pack(Z,n,a)}function N(t){var e,n=t.length,o={},i=t[0].geometry.attributes;for(e in i)if(i.hasOwnProperty(e)&&r(i[e])&&r(i[e].values)){for(var a=i[e],s=a.values.length,u=!0,l=1;n>l;++l){var c=t[l].geometry.attributes[e];if(!r(c)||a.componentDatatype.value!==c.componentDatatype.value||a.componentsPerAttribute!==c.componentsPerAttribute||a.normalize!==c.normalize){u=!1;break}s+=c.values.length}u&&(o[e]=new w({componentDatatype:a.componentDatatype,componentsPerAttribute:a.componentsPerAttribute,normalize:a.normalize,values:d.createTypedArray(a.componentDatatype,s)}))}return o}function z(t){if(r(t.indices))return t;for(var e=S.computeNumberOfVertices(t),n=v.createTypedArray(e,e),o=0;e>o;++o)n[o]=o;return t.indices=n,t}function L(t){var e=S.computeNumberOfVertices(t),r=v.createTypedArray(e,3*(e-2));r[0]=1,r[1]=0,r[2]=2;for(var n=3,o=3;e>o;++o)r[n++]=o-1,r[n++]=0,r[n++]=o;return t.indices=r,t.primitiveType=g.TRIANGLES,t}function F(t){var e=S.computeNumberOfVertices(t),r=v.createTypedArray(e,3*(e-2));r[0]=0,r[1]=1,r[2]=2,e>3&&(r[3]=0,r[4]=2,r[5]=3);for(var n=6,o=3;e-1>o;o+=2)r[n++]=o,r[n++]=o-1,r[n++]=o+1,e>o+2&&(r[n++]=o,r[n++]=o+1,r[n++]=o+2);return t.indices=r,t.primitiveType=g.TRIANGLES,t}function D(t){if(r(t.indices))return t;for(var e=S.computeNumberOfVertices(t),n=v.createTypedArray(e,e),o=0;e>o;++o)n[o]=o;return t.indices=n,t}function P(t){var e=S.computeNumberOfVertices(t),r=v.createTypedArray(e,2*(e-1));r[0]=0,r[1]=1;for(var n=2,o=2;e>o;++o)r[n++]=o-1,r[n++]=o;return t.indices=r,t.primitiveType=g.LINES,t}function _(t){var e=S.computeNumberOfVertices(t),r=v.createTypedArray(e,2*e);r[0]=0,r[1]=1;for(var n=2,o=2;e>o;++o)r[n++]=o-1,r[n++]=o;return r[n++]=e-1,r[n]=0,t.indices=r,t.primitiveType=g.LINES,t}function B(t){switch(t.primitiveType){case g.TRIANGLE_FAN:return L(t);case g.TRIANGLE_STRIP:return F(t);case g.TRIANGLES:return z(t);case g.LINE_STRIP:return P(t);case g.LINE_LOOP:return _(t);case g.LINES:return D(t)}return t}function U(t,e){Math.abs(t.y)=0||e.x>=0||r.x>=0)return void 0;var n=t.y<0,o=e.y<0,i=r.y<0;U(t,n),U(e,o),U(r,i);var a=0;a+=n?1:0,a+=o?1:0,a+=i?1:0;var s=ce.indices;1===a?(s[1]=3,s[2]=4,s[5]=6,s[7]=6,s[8]=5,n?(G(t,e,ae,ue),G(t,r,se,le),s[0]=0,s[3]=1,s[4]=2,s[6]=1):o?(G(e,r,ae,ue),G(e,t,se,le),s[0]=1,s[3]=2,s[4]=0,s[6]=2):i&&(G(r,t,ae,ue),G(r,e,se,le),s[0]=2,s[3]=0,s[4]=1,s[6]=0)):2===a&&(s[2]=4,s[4]=4,s[5]=3,s[7]=5,s[8]=6,n?o?i||(G(r,t,ae,ue),G(r,e,se,le),s[0]=0,s[1]=1,s[3]=0,s[6]=2):(G(e,r,ae,ue),G(e,t,se,le),s[0]=2,s[1]=0,s[3]=2,s[6]=1):(G(t,e,ae,ue),G(t,r,se,le),s[0]=1,s[1]=2,s[3]=1,s[6]=0));var u=ce.positions;return u[0]=t,u[1]=e,u[2]=r,ce.length=3,(1===a||2===a)&&(u[3]=ae,u[4]=se,u[5]=ue,u[6]=le,ce.length=7),ce}function W(e,n,a,s,u,l,c,f){if(r(u)||r(l)||r(c)||r(f)){var h,m,y,p,d,v,g,E,C,S,w,x,M,A,b,T,O,I,R=s.positions,N=R[0],z=R[1],L=R[2];r(u)&&(h=i.fromArray(u,3*e),m=i.fromArray(u,3*n),y=i.fromArray(u,3*a)),r(l)&&(p=i.fromArray(l,3*e),d=i.fromArray(l,3*n),v=i.fromArray(l,3*a)),r(c)&&(g=i.fromArray(c,3*e),E=i.fromArray(c,3*n),C=i.fromArray(c,3*a)),r(f)&&(S=o.fromArray(f,2*e),w=o.fromArray(f,2*n),x=o.fromArray(f,2*a));for(var F=3;FE;E+=3){var C=l[E],w=l[E+1],x=l[E+2],M=i.fromArray(n,3*C),A=i.fromArray(n,3*w),b=i.fromArray(n,3*x),T=q(M,A,b);if(r(T))if(c[3*C+1]=T.positions[0].y,c[3*w+1]=T.positions[1].y,c[3*x+1]=T.positions[2].y,T.length>3){for(var O=c.length/3,I=0;IR?p.push(l[E+R]):p.push(R-3+O)}for(var N=3;Nh;h+=2){var m=o[h],p=o[h+1],d=i.fromArray(n,3*m),g=i.fromArray(n,3*p);if(Math.abs(d.y)c;c+=3)u[l++]=i[c],u[l++]=i[c+1],u[l++]=i[c+2],u[l++]=i[c]+a[c]*o,u[l++]=i[c+1]+a[c+1]*o,u[l++]=i[c+2]+a[c+2]*o;var f,h=t.boundingSphere;return r(h)&&(f=new C(h.center,h.radius+o)),new S({attributes:{position:new w({componentDatatype:d.DOUBLE,componentsPerAttribute:3,values:u})},primitiveType:g.LINES,boundingSphere:f})},H.createAttributeLocations=function(t){var e,n=["position","positionHigh","positionLow","position3DHigh","position3DLow","position2DHigh","position2DLow","pickColor","normal","st","binormal","tangent"],o=t.attributes,i={},a=0,s=n.length;for(e=0;s>e;++e){var u=n[e];r(o[u])&&(i[u]=a++)}for(var l in o)o.hasOwnProperty(l)&&!r(i[l])&&(i[l]=a++);return i},H.reorderForPreVertexCache=function(t){var e=S.computeNumberOfVertices(t),n=t.indices;if(r(n)){for(var o=new Int32Array(e),i=0;e>i;i++)o[i]=-1;for(var a,s=n,u=s.length,l=v.createTypedArray(e,u),c=0,f=0,h=0;u>c;)a=o[s[c]],-1!==a?l[f]=a:(a=s[c],o[a]=h,l[f]=h,++h),++c,++f;t.indices=l;var m=t.attributes;for(var y in m)if(m.hasOwnProperty(y)&&r(m[y])&&r(m[y].values)){for(var p=m[y],g=p.values,E=0,C=p.componentsPerAttribute,w=d.createTypedArray(p.componentDatatype,h*C);e>E;){var x=o[E];if(-1!==x)for(i=0;C>i;i++)w[C*x+i]=g[C*E+i];++E}p.values=w}}return t},H.reorderForPostVertexCache=function(t,e){var n=t.indices;if(t.primitiveType===g.TRIANGLES&&r(n)){for(var o=n.length,i=0,a=0;o>a;a++)n[a]>i&&(i=n[a]);t.indices=E.tipsify({indices:n,maximumIndex:i,cacheSize:e})}return t},H.fitToUnsignedShortIndices=function(t){var e=[],n=S.computeNumberOfVertices(t);if(r(t.indices)&&n>f.SIXTY_FOUR_KILOBYTES){var o,i=[],a=[],s=0,u=T(t.attributes),l=t.indices,c=l.length;t.primitiveType===g.TRIANGLES?o=3:t.primitiveType===g.LINES?o=2:t.primitiveType===g.POINTS&&(o=1);for(var h=0;c>h;h+=o){for(var m=0;o>m;++m){var y=l[h+m],p=i[y];r(p)||(p=s++,i[y]=p,O(u,t.attributes,y)),a.push(p)}s+o>f.SIXTY_FOUR_KILOBYTES&&(e.push(new S({attributes:u,indices:a,primitiveType:t.primitiveType,boundingSphere:t.boundingSphere})),i=[],a=[],s=0,u=T(t.attributes))}0!==a.length&&e.push(new S({attributes:u,indices:a,primitiveType:t.primitiveType,boundingSphere:t.boundingSphere}))}else e.push(t);return e};var k=new i,K=new s;H.projectTo2D=function(t,e,o,a,s){var u=t.attributes[e];s=r(s)?s:new p;for(var l=s.ellipsoid,c=u.values,f=new Float64Array(c.length),h=0,m=0;mc;++c)u.encode(i[c],j),s[c]=j.high,l[c]=j.low;var f=o.componentsPerAttribute;return t.attributes[r]=new w({componentDatatype:d.FLOAT,componentsPerAttribute:f,values:s}),t.attributes[n]=new w({componentDatatype:d.FLOAT,componentsPerAttribute:f,values:l}),delete t.attributes[e],t};var Z=new i,X=new m,Q=new h;H.transformToWorldCoordinates=function(t){var e=t.modelMatrix;if(m.equals(e,m.IDENTITY))return t;var n=t.geometry.attributes;I(e,n.position),I(e,n.prevPosition),I(e,n.nextPosition),(r(n.normal)||r(n.binormal)||r(n.tangent))&&(m.inverse(e,X),m.transpose(X,X),m.getRotation(X,Q),R(Q,n.normal),R(Q,n.binormal),R(Q,n.tangent));var o=t.geometry.boundingSphere;return r(o)&&(t.geometry.boundingSphere=C.transform(o,e,o)),t.modelMatrix=m.clone(m.IDENTITY),t},H.combine=function(t){var e,n,o,a,s=t.length;t[0].modelMatrix;var u,l,c,f=r(t[0].geometry.indices),h=t[0].geometry.primitiveType,m=N(t);for(e in m)if(m.hasOwnProperty(e))for(u=m[e].values,a=0,n=0;s>n;++n)for(l=t[n].geometry.attributes[e].values,c=l.length,o=0;c>o;++o)u[a++]=l[o];var y;if(f){var p=0;for(n=0;s>n;++n)p+=t[n].geometry.indices.length;var d=S.computeNumberOfVertices(new S({attributes:m,primitiveType:g.POINTS})),E=v.createTypedArray(d,p),w=0,x=0;for(n=0;s>n;++n){var M=t[n].geometry.indices,A=M.length;for(a=0;A>a;++a)E[w++]=x+M[a];x+=S.computeNumberOfVertices(t[n].geometry)}y=E}var b,T=new i,O=0;for(n=0;s>n;++n){if(b=t[n].geometry.boundingSphere,!r(b)){T=void 0;break}i.add(b.center,T,T)}if(r(T))for(i.divideByScalar(T,s,T),n=0;s>n;++n){b=t[n].geometry.boundingSphere;var I=i.magnitude(i.subtract(b.center,T))+b.radius;I>O&&(O=I)}return new S({attributes:m,indices:y,primitiveType:h,boundingSphere:r(T)?new C(T,O):void 0})};var J=new i,$=new i,te=new i,ee=new i;H.computeNormal=function(t){for(var e=t.indices,r=t.attributes,n=r.position.values,o=r.position.values.length/3,a=e.length,s=new Array(o),u=new Array(a/3),l=new Array(a),c=0;o>c;c++)s[c]={indexOffset:0,count:0,currentCount:0};var f=0;for(c=0;a>c;c+=3){var h=e[c],m=e[c+1],y=e[c+2],p=3*h,v=3*m,g=3*y;$.x=n[p],$.y=n[p+1],$.z=n[p+2],te.x=n[v],te.y=n[v+1],te.z=n[v+2],ee.x=n[g],ee.y=n[g+1],ee.z=n[g+2],s[h].count++,s[m].count++,s[y].count++,i.subtract(te,$,te),i.subtract(ee,$,ee),u[f]=i.cross(te,ee),f++}var E=0;for(c=0;o>c;c++)s[c].indexOffset+=E,E+=s[c].count;f=0;var C;for(c=0;a>c;c+=3){C=s[e[c]];var S=C.indexOffset+C.currentCount;l[S]=f,C.currentCount++,C=s[e[c+1]],S=C.indexOffset+C.currentCount,l[S]=f,C.currentCount++,C=s[e[c+2]],S=C.indexOffset+C.currentCount,l[S]=f,C.currentCount++,f++}var x=new Float32Array(3*o);for(c=0;o>c;c++){var M=3*c;if(C=s[c],C.count>0){for(i.clone(i.ZERO,J),f=0;fl;l+=3){var m=e[l],y=e[l+1],p=e[l+2];c=3*m,f=3*y,h=3*p;var v=2*m,g=2*y,E=2*p,C=r[c],S=r[c+1],x=r[c+2],M=o[v],A=o[v+1],b=o[g+1]-A,T=o[E+1]-A,O=1/((o[g]-M)*T-(o[E]-M)*b),I=(T*(r[f]-C)-b*(r[h]-C))*O,R=(T*(r[f+1]-S)-b*(r[h+1]-S))*O,N=(T*(r[f+2]-x)-b*(r[h+2]-x))*O;u[c]+=I,u[c+1]+=R,u[c+2]+=N,u[f]+=I,u[f+1]+=R,u[f+2]+=N,u[h]+=I,u[h+1]+=R,u[h+2]+=N}var z=new Float32Array(3*a),L=new Float32Array(3*a);for(l=0;a>l;l++){c=3*l,f=c+1,h=c+2;var F=i.fromArray(n,c,re),D=i.fromArray(u,c,oe),P=i.dot(F,D);i.multiplyByScalar(F,P,ne),i.normalize(i.subtract(D,ne,D),D),L[c]=D.x,L[f]=D.y,L[h]=D.z,i.normalize(i.cross(F,D,D),D),z[c]=D.x,z[f]=D.y,z[h]=D.z}return t.attributes.tangent=new w({componentDatatype:d.FLOAT,componentsPerAttribute:3,values:L}),t.attributes.binormal=new w({componentDatatype:d.FLOAT,componentsPerAttribute:3,values:z}),t};var ie=new i,ae=new i,se=new i,ue=new i,le=new i,ce={positions:new Array(7),indices:new Array(9)};return H.wrapLongitude=function(t){var e=t.boundingSphere;if(r(e)){var n=e.center.x-e.radius;if(n>0||C.intersect(e,a.UNIT_Y)!==l.INTERSECTING)return t}return B(t),t.primitiveType===g.TRIANGLES?Y(t):t.primitiveType===g.LINES&&V(t),t},H}),define("Scene/PrimitivePipeline",["../Core/defined","../Core/defaultValue","../Core/Color","../Core/ComponentDatatype","../Core/DeveloperError","../Core/FeatureDetection","../Core/Geometry","../Core/GeometryAttribute","../Core/GeometryPipeline","../Core/Matrix4"],function(t,e,r,n,o,i,a,s,u,l){"use strict";function c(t,e,r){var n,o=!r,i=t.length;if(!o&&i>1){var a=t[0].modelMatrix;for(n=1;i>n;++n)if(!l.equals(a,t[n].modelMatrix)){o=!0;break}}if(o)for(n=0;i>n;++n)u.transformToWorldCoordinates(t[n]);else l.clone(t[0].modelMatrix,e)}function f(t,e){for(var o=t.length,i=0;o>i;++i){var a=t[i],u=a.geometry,l=u.attributes,c=l.position,f=4*(c.values.length/c.componentsPerAttribute);l.pickColor=new s({componentDatatype:n.UNSIGNED_BYTE,componentsPerAttribute:4,normalize:!0,values:new Uint8Array(f)});for(var h=e[i],m=r.floatToByte(h.red),y=r.floatToByte(h.green),p=r.floatToByte(h.blue),d=r.floatToByte(h.alpha),v=l.pickColor.values,g=0;f>g;g+=4)v[g]=m,v[g+1]=y,v[g+2]=p,v[g+3]=d}}function h(e){var r,n=e.length,o=[],i=e[0].attributes;for(r in i)if(i.hasOwnProperty(r)){for(var a=i[r],s=!0,u=1;n>u;++u){var l=e[u].attributes[r];if(!t(l)||a.componentDatatype.value!==l.componentDatatype.value||a.componentsPerAttribute!==l.componentsPerAttribute||a.normalize!==l.normalize){s=!1;break}}s&&o.push(r)}return o}function m(t,e){for(var r=t.length,o=0;r>o;++o)for(var i=t[o],u=i.attributes,l=i.geometry,c=a.computeNumberOfVertices(l),f=e.length,h=0;f>h;++h){for(var m=e[h],y=u[m],p=y.componentDatatype,d=y.value,v=d.length,g=n.createTypedArray(p,c*v),E=0;c>E;++E)g.set(d,E*v);l.attributes[m]=new s({componentDatatype:p,componentsPerAttribute:v,normalize:y.normalize,values:g})}}function y(t){var e,r=t.instances,o=t.pickIds,i=t.projection,a=t.elementIndexUintSupported,s=t.allow3DOnly,l=t.allowPicking,y=t.vertexCacheOptimize,p=t.modelMatrix,d=r.length;if(r[0].geometry.primitiveType,c(r,p,s),!s)for(e=0;d>e;++e)u.wrapLongitude(r[e].geometry);l&&f(r,o);var v=h(r);if(m(r,v),y)for(e=0;d>e;++e)u.reorderForPostVertexCache(r[e].geometry),u.reorderForPreVertexCache(r[e].geometry);var g,E=u.combine(r),C=E.attributes;if(s)for(g in C)C.hasOwnProperty(g)&&C[g].componentDatatype.value===n.DOUBLE.value&&u.encodeAttribute(E,g,g+"3DHigh",g+"3DLow");else for(g in C)if(C.hasOwnProperty(g)&&C[g].componentDatatype.value===n.DOUBLE.value){var S=g+"3D",w=g+"2D";u.projectTo2D(E,g,S,w,i),u.encodeAttribute(E,S,S+"High",S+"Low"),u.encodeAttribute(E,w,w+"High",w+"Low")}return a?[E]:u.fitToUnsignedShortIndices(E)}function p(t,e,r){for(var o=[],i=t.attributes,a=r.length,s=0;a>s;++s){var u=r[s],l=i[u],c=l.componentDatatype;c.value===n.DOUBLE.value&&(c=n.FLOAT);var f=n.createTypedArray(c,l.values);o.push({index:e[u],componentDatatype:c,componentsPerAttribute:l.componentsPerAttribute,normalize:l.normalize,values:f}),delete i[u]}return o}function d(r,n,o){for(var i=[],s=h(r),u=r.length,l={},c={},f=0;u>f;++f)for(var m=r[f],y=a.computeNumberOfVertices(m.geometry),p=s.length,d=0;p>d;++d)for(var v=s[d],g=o[v],E=y;E>0;){for(var C,S=e(c[v],0),w=n[S],x=w.length,M=0;x>M&&(C=w[M],C.index!==g);++M);t(i[f])||(i[f]={}),t(i[f][v])||(i[f][v]={dirty:!1,value:m.attributes[v].value,indices:[]});var A,b=C.values.length/C.componentsPerAttribute,T=e(l[v],0);b>T+E?(A=E,i[f][v].indices.push({attribute:C,offset:T,count:A}),l[v]=T+E):(A=b-T,i[f][v].indices.push({attribute:C,offset:T,count:A}),l[v]=0,c[v]=S+1),E-=A}return i}function v(e){return t(e.constructor.name)?{type:e.constructor.name,buffer:e.buffer}:e}function g(e){return t(e.type)?new C[e.type](e.buffer):e}if(!i.supportsTypedArrays())return{};var E={};E.combineGeometry=function(t){for(var e={instances:t.instances,pickIds:t.pickIds,ellipsoid:t.ellipsoid,projection:t.projection,elementIndexUintSupported:t.elementIndexUintSupported,allow3DOnly:t.allow3DOnly,allowPicking:t.allowPicking,vertexCacheOptimize:t.vertexCacheOptimize,modelMatrix:l.clone(t.modelMatrix)},r=y(e),n=u.createAttributeLocations(r[0]),o=e.instances,i=h(o),a=[],s=r.length,c=0;s>c;++c){var f=r[c];a.push(p(f,n,i))}var m=d(o,a,n);return{geometries:r,modelMatrix:e.modelMatrix,attributeLocations:n,vaAttributes:a,vaAttributeLocations:m}};var C={Int8Array:Int8Array,Uint8Array:Uint8Array,Int16Array:Int16Array,Uint16Array:Uint16Array,Int32Array:Int32Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array};return E.transferGeometry=function(e,r){var n,o=e.attributes;for(var a in o)o.hasOwnProperty(a)&&t(o[a])&&t(o[a].values)&&(n=o[a].values,i.supportsTransferringArrayBuffers()&&r.indexOf(o[a].values.buffer)<0&&r.push(n.buffer),t(n.type)||(o[a].values=v(n)));t(e.indices)&&(n=e.indices,i.supportsTransferringArrayBuffers()&&r.push(n.buffer),t(n.type)||(e.indices=v(e.indices)))},E.transferGeometries=function(t,e){for(var r=t.length,n=0;r>n;++n)E.transferGeometry(t[n],e)},E.transferPerInstanceAttributes=function(t,e){for(var r=t.length,n=0;r>n;++n)for(var o=t[n],a=o.length,s=0;a>s;++s){var u=o[s].values;i.supportsTransferringArrayBuffers()&&e.push(u.buffer),o[s].values=v(u)}},E.transferInstances=function(t,e){for(var r=t.length,n=0;r>n;++n){var o=t[n];E.transferGeometry(o.geometry,e)}},E.receiveGeometry=function(e){var r=e.attributes;for(var n in r)r.hasOwnProperty(n)&&t(r[n])&&t(r[n].values)&&(r[n].values=g(r[n].values));t(e.indices)&&(e.indices=g(e.indices))},E.receiveGeometries=function(t){for(var e=t.length,r=0;e>r;++r)E.receiveGeometry(t[r])},E.receivePerInstanceAttributes=function(t){for(var e=t.length,r=0;e>r;++r)for(var n=t[r],o=n.length,i=0;o>i;++i)n[i].values=g(n[i].values)},E.receiveInstances=function(t){for(var e=t.length,r=0;e>r;++r){var n=t[r];E.receiveGeometry(n.geometry)}},E}),define("Workers/createTaskProcessorWorker",["../Core/defaultValue","../Core/defined"],function(t,e){"use strict";var r=function(r){var n,o=[],i={id:void 0,result:void 0,error:void 0};return function(a){var s=a.data;o.length=0,i.id=s.id,i.error=void 0,i.result=void 0;try{i.result=r(s.parameters,o)}catch(u){i.error=u}e(n)||(n=t(self.webkitPostMessage,self.postMessage));try{n(i,o)}catch(u){i.result=void 0,i.error="postMessage failed with error: "+u+"\n with responseMessage: "+JSON.stringify(i),n(i)}}};return r}),define("Workers/createExtentOutlineGeometry",["../Core/ExtentOutlineGeometry","../Core/Ellipsoid","../Core/Extent","../Scene/PrimitivePipeline","./createTaskProcessorWorker"],function(t,e,r,n,o){"use strict";function i(o,i){var a=o.geometry;a._ellipsoid=e.clone(a._ellipsoid),a._extent=r.clone(a._extent);var s=t.createGeometry(a);return n.transferGeometry(s,i),{geometry:s,index:o.index}}return o(i)})}(); \ No newline at end of file diff --git a/Cesium/Workers/createPolygonGeometry.js b/Cesium/Workers/createPolygonGeometry.js new file mode 100644 index 0000000..5df5641 --- /dev/null +++ b/Cesium/Workers/createPolygonGeometry.js @@ -0,0 +1,231 @@ +/** + * Cesium - https://github.com/AnalyticalGraphicsInc/cesium + * + * Copyright 2011-2014 Cesium Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Columbus View (Pat. Pend.) + * + * Portions licensed separately. + * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details. + */ +/** +@license +mersenne-twister.js - https://gist.github.com/banksean/300494 + + Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura, + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. The names of its contributors may not be used to endorse or promote + products derived from this software without specific prior written + permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/** + * @fileOverview + * @license + * + * Grauw URI utilities + * + * See: http://hg.grauw.nl/grauw-lib/file/tip/src/uri.js + * + * @author Laurens Holst (http://www.grauw.nl/) + * + * Copyright 2012 Laurens Holst + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +/** +@license +sprintf.js from the php.js project - https://github.com/kvz/phpjs +Directly from https://github.com/kvz/phpjs/blob/master/functions/strings/sprintf.js + +php.js is copyright 2012 Kevin van Zonneveld. + +Portions copyright Brett Zamir (http://brett-zamir.me), Kevin van Zonneveld +(http://kevin.vanzonneveld.net), Onno Marsman, Theriault, Michael White +(http://getsprink.com), Waldo Malqui Silva, Paulo Freitas, Jack, Jonas +Raoni Soares Silva (http://www.jsfromhell.com), Philip Peterson, Legaev +Andrey, Ates Goral (http://magnetiq.com), Alex, Ratheous, Martijn Wieringa, +Rafa? Kukawski (http://blog.kukawski.pl), lmeyrick +(https://sourceforge.net/projects/bcmath-js/), Nate, Philippe Baumann, +Enrique Gonzalez, Webtoolkit.info (http://www.webtoolkit.info/), Carlos R. +L. Rodrigues (http://www.jsfromhell.com), Ash Searle +(http://hexmen.com/blog/), Jani Hartikainen, travc, Ole Vrijenhoek, +Erkekjetter, Michael Grier, Rafa? Kukawski (http://kukawski.pl), Johnny +Mast (http://www.phpvrouwen.nl), T.Wild, d3x, +http://stackoverflow.com/questions/57803/how-to-convert-decimal-to-hex-in-javascript, +Rafa? Kukawski (http://blog.kukawski.pl/), stag019, pilus, WebDevHobo +(http://webdevhobo.blogspot.com/), marrtins, GeekFG +(http://geekfg.blogspot.com), Andrea Giammarchi +(http://webreflection.blogspot.com), Arpad Ray (mailto:arpad@php.net), +gorthaur, Paul Smith, Tim de Koning (http://www.kingsquare.nl), Joris, Oleg +Eremeev, Steve Hilder, majak, gettimeofday, KELAN, Josh Fraser +(http://onlineaspect.com/2007/06/08/auto-detect-a-time-zone-with-javascript/), +Marc Palau, Martin +(http://www.erlenwiese.de/), Breaking Par Consulting Inc +(http://www.breakingpar.com/bkp/home.nsf/0/87256B280015193F87256CFB006C45F7), +Chris, Mirek Slugen, saulius, Alfonso Jimenez +(http://www.alfonsojimenez.com), Diplom@t (http://difane.com/), felix, +Mailfaker (http://www.weedem.fr/), Tyler Akins (http://rumkin.com), Caio +Ariede (http://caioariede.com), Robin, Kankrelune +(http://www.webfaktory.info/), Karol Kowalski, Imgen Tata +(http://www.myipdf.com/), mdsjack (http://www.mdsjack.bo.it), Dreamer, +Felix Geisendoerfer (http://www.debuggable.com/felix), Lars Fischer, AJ, +David, Aman Gupta, Michael White, Public Domain +(http://www.json.org/json2.js), Steven Levithan +(http://blog.stevenlevithan.com), Sakimori, Pellentesque Malesuada, +Thunder.m, Dj (http://phpjs.org/functions/htmlentities:425#comment_134018), +Steve Clay, David James, Francois, class_exists, nobbler, T. Wild, Itsacon +(http://www.itsacon.net/), date, Ole Vrijenhoek (http://www.nervous.nl/), +Fox, Raphael (Ao RUDLER), Marco, noname, Mateusz "loonquawl" Zalega, Frank +Forte, Arno, ger, mktime, john (http://www.jd-tech.net), Nick Kolosov +(http://sammy.ru), marc andreu, Scott Cariss, Douglas Crockford +(http://javascript.crockford.com), madipta, Slawomir Kaniecki, +ReverseSyntax, Nathan, Alex Wilson, kenneth, Bayron Guevara, Adam Wallner +(http://web2.bitbaro.hu/), paulo kuong, jmweb, Lincoln Ramsay, djmix, +Pyerre, Jon Hohle, Thiago Mata (http://thiagomata.blog.com), lmeyrick +(https://sourceforge.net/projects/bcmath-js/this.), Linuxworld, duncan, +Gilbert, Sanjoy Roy, Shingo, sankai, Oskar Larsson H?gfeldt +(http://oskar-lh.name/), Denny Wardhana, 0m3r, Everlasto, Subhasis Deb, +josh, jd, Pier Paolo Ramon (http://www.mastersoup.com/), P, merabi, Soren +Hansen, Eugene Bulkin (http://doubleaw.com/), Der Simon +(http://innerdom.sourceforge.net/), echo is bad, Ozh, XoraX +(http://www.xorax.info), EdorFaus, JB, J A R, Marc Jansen, Francesco, LH, +Stoyan Kyosev (http://www.svest.org/), nord_ua, omid +(http://phpjs.org/functions/380:380#comment_137122), Brad Touesnard, MeEtc +(http://yass.meetcweb.com), Peter-Paul Koch +(http://www.quirksmode.org/js/beat.html), Olivier Louvignes +(http://mg-crea.com/), T0bsn, Tim Wiel, Bryan Elliott, Jalal Berrami, +Martin, JT, David Randall, Thomas Beaucourt (http://www.webapp.fr), taith, +vlado houba, Pierre-Luc Paour, Kristof Coomans (SCK-CEN Belgian Nucleair +Research Centre), Martin Pool, Kirk Strobeck, Rick Waldron, Brant Messenger +(http://www.brantmessenger.com/), Devan Penner-Woelk, Saulo Vallory, Wagner +B. Soares, Artur Tchernychev, Valentina De Rosa, Jason Wong +(http://carrot.org/), Christoph, Daniel Esteban, strftime, Mick@el, rezna, +Simon Willison (http://simonwillison.net), Anton Ongson, Gabriel Paderni, +Marco van Oort, penutbutterjelly, Philipp Lenssen, Bjorn Roesbeke +(http://www.bjornroesbeke.be/), Bug?, Eric Nagel, Tomasz Wesolowski, +Evertjan Garretsen, Bobby Drake, Blues (http://tech.bluesmoon.info/), Luke +Godfrey, Pul, uestla, Alan C, Ulrich, Rafal Kukawski, Yves Sucaet, +sowberry, Norman "zEh" Fuchs, hitwork, Zahlii, johnrembo, Nick Callen, +Steven Levithan (stevenlevithan.com), ejsanders, Scott Baker, Brian Tafoya +(http://www.premasolutions.com/), Philippe Jausions +(http://pear.php.net/user/jausions), Aidan Lister +(http://aidanlister.com/), Rob, e-mike, HKM, ChaosNo1, metjay, strcasecmp, +strcmp, Taras Bogach, jpfle, Alexander Ermolaev +(http://snippets.dzone.com/user/AlexanderErmolaev), DxGx, kilops, Orlando, +dptr1988, Le Torbi, James (http://www.james-bell.co.uk/), Pedro Tainha +(http://www.pedrotainha.com), James, Arnout Kazemier +(http://www.3rd-Eden.com), Chris McMacken, gabriel paderni, Yannoo, +FGFEmperor, baris ozdil, Tod Gentille, Greg Frazier, jakes, 3D-GRAF, Allan +Jensen (http://www.winternet.no), Howard Yeend, Benjamin Lupton, davook, +daniel airton wermann (http://wermann.com.br), Atli T¨®r, Maximusya, Ryan +W Tenney (http://ryan.10e.us), Alexander M Beedie, fearphage +(http://http/my.opera.com/fearphage/), Nathan Sepulveda, Victor, Matteo, +Billy, stensi, Cord, Manish, T.J. Leahy, Riddler +(http://www.frontierwebdev.com/), Rafa? Kukawski, FremyCompany, Matt +Bradley, Tim de Koning, Luis Salazar (http://www.freaky-media.com/), Diogo +Resende, Rival, Andrej Pavlovic, Garagoth, Le Torbi +(http://www.letorbi.de/), Dino, Josep Sanz (http://www.ws3.es/), rem, +Russell Walker (http://www.nbill.co.uk/), Jamie Beck +(http://www.terabit.ca/), setcookie, Michael, YUI Library: +http://developer.yahoo.com/yui/docs/YAHOO.util.DateLocale.html, Blues at +http://hacks.bluesmoon.info/strftime/strftime.js, Ben +(http://benblume.co.uk/), DtTvB +(http://dt.in.th/2008-09-16.string-length-in-bytes.html), Andreas, William, +meo, incidence, Cagri Ekin, Amirouche, Amir Habibi +(http://www.residence-mixte.com/), Luke Smith (http://lucassmith.name), +Kheang Hok Chin (http://www.distantia.ca/), Jay Klehr, Lorenzo Pisani, +Tony, Yen-Wei Liu, Greenseed, mk.keck, Leslie Hoare, dude, booeyOH, Ben +Bryan + +Licensed under the MIT (MIT-LICENSE.txt) license. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL KEVIN VAN ZONNEVELD BE LIABLE FOR ANY CLAIM, DAMAGES +OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. +*/ + +/** + @license + when.js - https://github.com/cujojs/when + + MIT License (c) copyright B Cavalier & J Hann + + * A lightweight CommonJS Promises/A and when() implementation + * when is part of the cujo.js family of libraries (http://cujojs.com/) + * + * Licensed under the MIT License at: + * http://www.opensource.org/licenses/mit-license.php + * + * @version 1.7.1 + */ + +!function(){define("Core/defined",[],function(){"use strict";var e=function(e){return void 0!==e};return e}),define("Core/freezeObject",["./defined"],function(e){"use strict";var t=Object.freeze;return e(t)||(t=function(e){return e}),t}),define("Core/defaultValue",["./freezeObject"],function(e){"use strict";var t=function(e,t){return void 0!==e?e:t};return t.EMPTY_OBJECT=e({}),t}),define("Core/DeveloperError",["./defined"],function(e){"use strict";var t=function(e){this.name="DeveloperError",this.message=e;var t;try{throw new Error}catch(r){t=r.stack}this.stack=t};return t.prototype.toString=function(){var t=this.name+": "+this.message;return e(this.stack)&&(t+="\n"+this.stack.toString()),t},t.throwInstantiationError=function(){throw new t("This function defines an interface and should not be called directly.")},t}),define("Core/Cartesian2",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,t,r,n){"use strict";var i=function(t,r){this.x=e(t,0),this.y=e(r,0)};i.fromElements=function(e,r,n){return t(n)?(n.x=e,n.y=r,n):new i(e,r)},i.clone=function(e,r){return t(e)?t(r)?(r.x=e.x,r.y=e.y,r):new i(e.x,e.y):void 0},i.fromCartesian3=i.clone,i.fromCartesian4=i.clone,i.packedLength=2,i.pack=function(t,r,n){n=e(n,0),r[n++]=t.x,r[n]=t.y},i.unpack=function(r,n,o){return n=e(n,0),t(o)||(o=new i),o.x=r[n++],o.y=r[n],o},i.fromArray=i.unpack,i.getMaximumComponent=function(e){return Math.max(e.x,e.y)},i.getMinimumComponent=function(e){return Math.min(e.x,e.y)},i.getMinimumByComponent=function(e,r,n){return t(n)||(n=new i),n.x=Math.min(e.x,r.x),n.y=Math.min(e.y,r.y),n},i.getMaximumByComponent=function(e,r,n){return t(n)||(n=new i),n.x=Math.max(e.x,r.x),n.y=Math.max(e.y,r.y),n},i.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y},i.magnitude=function(e){return Math.sqrt(i.magnitudeSquared(e))};var o=new i;i.distance=function(e,t){return i.subtract(e,t,o),i.magnitude(o)},i.normalize=function(e,r){var n=i.magnitude(e);return t(r)?(r.x=e.x/n,r.y=e.y/n,r):new i(e.x/n,e.y/n)},i.dot=function(e,t){return e.x*t.x+e.y*t.y},i.multiplyComponents=function(e,r,n){return t(n)?(n.x=e.x*r.x,n.y=e.y*r.y,n):new i(e.x*r.x,e.y*r.y)},i.add=function(e,r,n){return t(n)?(n.x=e.x+r.x,n.y=e.y+r.y,n):new i(e.x+r.x,e.y+r.y)},i.subtract=function(e,r,n){return t(n)?(n.x=e.x-r.x,n.y=e.y-r.y,n):new i(e.x-r.x,e.y-r.y)},i.multiplyByScalar=function(e,r,n){return t(n)?(n.x=e.x*r,n.y=e.y*r,n):new i(e.x*r,e.y*r)},i.divideByScalar=function(e,r,n){return t(n)?(n.x=e.x/r,n.y=e.y/r,n):new i(e.x/r,e.y/r)},i.negate=function(e,r){return t(r)?(r.x=-e.x,r.y=-e.y,r):new i(-e.x,-e.y)},i.abs=function(e,r){return t(r)?(r.x=Math.abs(e.x),r.y=Math.abs(e.y),r):new i(Math.abs(e.x),Math.abs(e.y))};var a=new i;i.lerp=function(e,t,r,n){return i.multiplyByScalar(t,r,a),n=i.multiplyByScalar(e,1-r,n),i.add(a,n,n)};var s=new i,u=new i;i.angleBetween=function(e,t){return i.normalize(e,s),i.normalize(t,u),Math.acos(i.dot(s,u))};var l=new i;return i.mostOrthogonalAxis=function(e,t){var r=i.normalize(e,l);return i.abs(r,r),t=r.x<=r.y?i.clone(i.UNIT_X,t):i.clone(i.UNIT_Y,t)},i.equals=function(e,r){return e===r||t(e)&&t(r)&&e.x===r.x&&e.y===r.y},i.equalsEpsilon=function(e,r,n){return e===r||t(e)&&t(r)&&Math.abs(e.x-r.x)<=n&&Math.abs(e.y-r.y)<=n},i.ZERO=n(new i(0,0)),i.UNIT_X=n(new i(1,0)),i.UNIT_Y=n(new i(0,1)),i.prototype.clone=function(e){return i.clone(this,e)},i.prototype.equals=function(e){return i.equals(this,e)},i.prototype.equalsEpsilon=function(e,t){return i.equalsEpsilon(this,e,t)},i.prototype.toString=function(){return"("+this.x+", "+this.y+")"},i}),define("ThirdParty/mersenne-twister",[],function(){var e=function(e){void 0==e&&(e=(new Date).getTime()),this.N=624,this.M=397,this.MATRIX_A=2567483615,this.UPPER_MASK=2147483648,this.LOWER_MASK=2147483647,this.mt=new Array(this.N),this.mti=this.N+1,this.init_genrand(e)};return e.prototype.init_genrand=function(e){for(this.mt[0]=e>>>0,this.mti=1;this.mti>>30;this.mt[this.mti]=(1812433253*((4294901760&e)>>>16)<<16)+1812433253*(65535&e)+this.mti,this.mt[this.mti]>>>=0}},e.prototype.genrand_int32=function(){var e,t=new Array(0,this.MATRIX_A);if(this.mti>=this.N){var r;for(this.mti==this.N+1&&this.init_genrand(5489),r=0;r>>1^t[1&e];for(;r>>1^t[1&e];e=this.mt[this.N-1]&this.UPPER_MASK|this.mt[0]&this.LOWER_MASK,this.mt[this.N-1]=this.mt[this.M-1]^e>>>1^t[1&e],this.mti=0}return e=this.mt[this.mti++],e^=e>>>11,e^=2636928640&e<<7,e^=4022730752&e<<15,e^=e>>>18,e>>>0},e.prototype.random=function(){return this.genrand_int32()*(1/4294967296)},e}),define("Core/Math",["./defaultValue","./defined","./DeveloperError","../ThirdParty/mersenne-twister"],function(e,t,r,n){"use strict";var i={};i.EPSILON1=.1,i.EPSILON2=.01,i.EPSILON3=.001,i.EPSILON4=1e-4,i.EPSILON5=1e-5,i.EPSILON6=1e-6,i.EPSILON7=1e-7,i.EPSILON8=1e-8,i.EPSILON9=1e-9,i.EPSILON10=1e-10,i.EPSILON11=1e-11,i.EPSILON12=1e-12,i.EPSILON13=1e-13,i.EPSILON14=1e-14,i.EPSILON15=1e-15,i.EPSILON16=1e-16,i.EPSILON17=1e-17,i.EPSILON18=1e-18,i.EPSILON19=1e-19,i.EPSILON20=1e-20,i.GRAVITATIONALPARAMETER=3986004418e5,i.SOLAR_RADIUS=6955e5,i.LUNAR_RADIUS=1737400,i.SIXTY_FOUR_KILOBYTES=65536,i.sign=function(e){return e>0?1:0>e?-1:0},i.sinh=function(e){var t=Math.pow(Math.E,e),r=Math.pow(Math.E,-1*e);return.5*(t-r)},i.cosh=function(e){var t=Math.pow(Math.E,e),r=Math.pow(Math.E,-1*e);return.5*(t+r)},i.lerp=function(e,t,r){return(1-r)*e+r*t},i.PI=Math.PI,i.ONE_OVER_PI=1/Math.PI,i.PI_OVER_TWO=.5*Math.PI,i.PI_OVER_THREE=Math.PI/3,i.PI_OVER_FOUR=Math.PI/4,i.PI_OVER_SIX=Math.PI/6,i.THREE_PI_OVER_TWO=.5*3*Math.PI,i.TWO_PI=2*Math.PI,i.ONE_OVER_TWO_PI=1/(2*Math.PI),i.RADIANS_PER_DEGREE=Math.PI/180,i.DEGREES_PER_RADIAN=180/Math.PI,i.RADIANS_PER_ARCSECOND=i.RADIANS_PER_DEGREE/3600,i.toRadians=function(e){return e*i.RADIANS_PER_DEGREE},i.toDegrees=function(e){return e*i.DEGREES_PER_RADIAN},i.convertLongitudeRange=function(e){var t=i.TWO_PI,r=e-Math.floor(e/t)*t;return r<-Math.PI?r+t:r>=Math.PI?r-t:r},i.negativePiToPi=function(e){for(var t=i.EPSILON10,r=i.PI,n=i.TWO_PI;-(r+t)>e;)e+=n;if(-r>e)return-r;for(;e>r+t;)e-=n;return e>r?r:e},i.zeroToTwoPi=function(e){var t=e%i.TWO_PI;return 0>t?(t+i.TWO_PI)%i.TWO_PI:t},i.equalsEpsilon=function(t,r,n){return n=e(n,0),Math.abs(t-r)<=n};var o=[1];i.factorial=function(e){var t=o.length;if(e>=t)for(var r=o[t-1],n=t;e>=n;n++)o.push(r*n);return o[e]},i.incrementWrap=function(t,r,n){return n=e(n,0),++t,t>r&&(t=n),t},i.isPowerOfTwo=function(e){return 0!==e&&0===(e&e-1)},i.nextPowerOfTwo=function(e){return--e,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,++e,e},i.clamp=function(e,t,r){return t>e?t:e>r?r:e};var a=new n;return i.setRandomNumberSeed=function(e){a=new n(e)},i.nextRandomNumber=function(){return a.random()},i}),define("Core/Cartographic",["./defaultValue","./defined","./DeveloperError","./freezeObject","./Math"],function(e,t,r,n,i){"use strict";var o=function(t,r,n){this.longitude=e(t,0),this.latitude=e(r,0),this.height=e(n,0)};return o.fromDegrees=function(r,n,a,s){return r=i.toRadians(e(r,0)),n=i.toRadians(e(n,0)),a=e(a,0),t(s)?(s.longitude=r,s.latitude=n,s.height=a,s):new o(r,n,a)},o.clone=function(e,r){return t(e)?t(r)?(r.longitude=e.longitude,r.latitude=e.latitude,r.height=e.height,r):new o(e.longitude,e.latitude,e.height):void 0},o.equals=function(e,r){return e===r||t(e)&&t(r)&&e.longitude===r.longitude&&e.latitude===r.latitude&&e.height===r.height},o.equalsEpsilon=function(e,r,n){return e===r||t(e)&&t(r)&&Math.abs(e.longitude-r.longitude)<=n&&Math.abs(e.latitude-r.latitude)<=n&&Math.abs(e.height-r.height)<=n},o.toString=function(e){return"("+e.longitude+", "+e.latitude+", "+e.height+")"},o.ZERO=n(new o(0,0,0)),o.prototype.clone=function(e){return o.clone(this,e)},o.prototype.equals=function(e){return o.equals(this,e)},o.prototype.equalsEpsilon=function(e,t){return o.equalsEpsilon(this,e,t)},o.prototype.toString=function(){return o.toString(this)},o}),define("Core/defineProperties",["./defined"],function(e){"use strict";var t=function(){try{return"x"in Object.defineProperty({},"x",{})}catch(e){return!1}}(),r=Object.defineProperties;return t&&e(r)||(r=function(e){return e}),r}),define("Core/Cartesian3",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,t,r,n){"use strict";var i=function(t,r,n){this.x=e(t,0),this.y=e(r,0),this.z=e(n,0)};i.fromSpherical=function(r,n){t(n)||(n=new i);var o=r.clock,a=r.cone,s=e(r.magnitude,1),u=s*Math.sin(a);return n.x=u*Math.cos(o),n.y=u*Math.sin(o),n.z=s*Math.cos(a),n},i.fromElements=function(e,r,n,o){return t(o)?(o.x=e,o.y=r,o.z=n,o):new i(e,r,n)},i.clone=function(e,r){return t(e)?t(r)?(r.x=e.x,r.y=e.y,r.z=e.z,r):new i(e.x,e.y,e.z):void 0},i.fromCartesian4=i.clone,i.packedLength=3,i.pack=function(t,r,n){n=e(n,0),r[n++]=t.x,r[n++]=t.y,r[n]=t.z},i.unpack=function(r,n,o){return n=e(n,0),t(o)||(o=new i),o.x=r[n++],o.y=r[n++],o.z=r[n],o},i.fromArray=i.unpack,i.getMaximumComponent=function(e){return Math.max(e.x,e.y,e.z)},i.getMinimumComponent=function(e){return Math.min(e.x,e.y,e.z)},i.getMinimumByComponent=function(e,r,n){return t(n)||(n=new i),n.x=Math.min(e.x,r.x),n.y=Math.min(e.y,r.y),n.z=Math.min(e.z,r.z),n},i.getMaximumByComponent=function(e,r,n){return t(n)||(n=new i),n.x=Math.max(e.x,r.x),n.y=Math.max(e.y,r.y),n.z=Math.max(e.z,r.z),n},i.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z},i.magnitude=function(e){return Math.sqrt(i.magnitudeSquared(e))};var o=new i;i.distance=function(e,t){return i.subtract(e,t,o),i.magnitude(o)},i.normalize=function(e,r){var n=i.magnitude(e);return t(r)?(r.x=e.x/n,r.y=e.y/n,r.z=e.z/n,r):new i(e.x/n,e.y/n,e.z/n)},i.dot=function(e,t){return e.x*t.x+e.y*t.y+e.z*t.z},i.multiplyComponents=function(e,r,n){return t(n)?(n.x=e.x*r.x,n.y=e.y*r.y,n.z=e.z*r.z,n):new i(e.x*r.x,e.y*r.y,e.z*r.z)},i.add=function(e,r,n){return t(n)?(n.x=e.x+r.x,n.y=e.y+r.y,n.z=e.z+r.z,n):new i(e.x+r.x,e.y+r.y,e.z+r.z)},i.subtract=function(e,r,n){return t(n)?(n.x=e.x-r.x,n.y=e.y-r.y,n.z=e.z-r.z,n):new i(e.x-r.x,e.y-r.y,e.z-r.z)},i.multiplyByScalar=function(e,r,n){return t(n)?(n.x=e.x*r,n.y=e.y*r,n.z=e.z*r,n):new i(e.x*r,e.y*r,e.z*r)},i.divideByScalar=function(e,r,n){return t(n)?(n.x=e.x/r,n.y=e.y/r,n.z=e.z/r,n):new i(e.x/r,e.y/r,e.z/r)},i.negate=function(e,r){return t(r)?(r.x=-e.x,r.y=-e.y,r.z=-e.z,r):new i(-e.x,-e.y,-e.z)},i.abs=function(e,r){return t(r)?(r.x=Math.abs(e.x),r.y=Math.abs(e.y),r.z=Math.abs(e.z),r):new i(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z))};var a=new i;i.lerp=function(e,t,r,n){return i.multiplyByScalar(t,r,a),n=i.multiplyByScalar(e,1-r,n),i.add(a,n,n)};var s=new i,u=new i;i.angleBetween=function(e,t){i.normalize(e,s),i.normalize(t,u);var r=i.dot(s,u),n=i.magnitude(i.cross(s,u,s));return Math.atan2(n,r)};var l=new i;return i.mostOrthogonalAxis=function(e,t){var r=i.normalize(e,l);return i.abs(r,r),t=r.x<=r.y?r.x<=r.z?i.clone(i.UNIT_X,t):i.clone(i.UNIT_Z,t):r.y<=r.z?i.clone(i.UNIT_Y,t):i.clone(i.UNIT_Z,t)},i.equals=function(e,r){return e===r||t(e)&&t(r)&&e.x===r.x&&e.y===r.y&&e.z===r.z},i.equalsEpsilon=function(e,r,n){return e===r||t(e)&&t(r)&&Math.abs(e.x-r.x)<=n&&Math.abs(e.y-r.y)<=n&&Math.abs(e.z-r.z)<=n},i.cross=function(e,r,n){var o=e.x,a=e.y,s=e.z,u=r.x,l=r.y,c=r.z,f=a*c-s*l,h=s*u-o*c,m=o*l-a*u;return t(n)?(n.x=f,n.y=h,n.z=m,n):new i(f,h,m)},i.ZERO=n(new i(0,0,0)),i.UNIT_X=n(new i(1,0,0)),i.UNIT_Y=n(new i(0,1,0)),i.UNIT_Z=n(new i(0,0,1)),i.prototype.clone=function(e){return i.clone(this,e)},i.prototype.equals=function(e){return i.equals(this,e)},i.prototype.equalsEpsilon=function(e,t){return i.equalsEpsilon(this,e,t)},i.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+")"},i}),define("Core/Ellipsoid",["./freezeObject","./defaultValue","./defined","./defineProperties","./DeveloperError","./Math","./Cartesian3","./Cartographic"],function(e,t,r,n,i,o,a,s){"use strict";var u=function(e,r,n){e=t(e,0),r=t(r,0),n=t(n,0),this._radii=new a(e,r,n),this._radiiSquared=new a(e*e,r*r,n*n),this._radiiToTheFourth=new a(e*e*e*e,r*r*r*r,n*n*n*n),this._oneOverRadii=new a(0===e?0:1/e,0===r?0:1/r,0===n?0:1/n),this._oneOverRadiiSquared=new a(0===e?0:1/(e*e),0===r?0:1/(r*r),0===n?0:1/(n*n)),this._minimumRadius=Math.min(e,r,n),this._maximumRadius=Math.max(e,r,n),this._centerToleranceSquared=o.EPSILON1};n(u.prototype,{radii:{get:function(){return this._radii}},radiiSquared:{get:function(){return this._radiiSquared}},radiiToTheFourth:{get:function(){return this._radiiToTheFourth}},oneOverRadii:{get:function(){return this._oneOverRadii}},oneOverRadiiSquared:{get:function(){return this._oneOverRadiiSquared}},minimumRadius:{get:function(){return this._minimumRadius}},maximumRadius:{get:function(){return this._maximumRadius}}}),u.clone=function(e,t){if(!r(e))return void 0;var n=e._radii;return r(t)?(a.clone(n,t._radii),a.clone(e._radiiSquared,t._radiiSquared),a.clone(e._radiiToTheFourth,t._radiiToTheFourth),a.clone(e._oneOverRadii,t._oneOverRadii),a.clone(e._oneOverRadiiSquared,t._oneOverRadiiSquared),t._minimumRadius=e._minimumRadius,t._maximumRadius=e._maximumRadius,t._centerToleranceSquared=e._centerToleranceSquared,t):new u(n.x,n.y,n.z)},u.fromCartesian3=function(e){return r(e)?new u(e.x,e.y,e.z):new u},u.WGS84=e(new u(6378137,6378137,6356752.314245179)),u.UNIT_SPHERE=e(new u(1,1,1)),u.MOON=e(new u(o.LUNAR_RADIUS,o.LUNAR_RADIUS,o.LUNAR_RADIUS)),u.prototype.clone=function(e){return u.clone(this,e)},u.prototype.geocentricSurfaceNormal=a.normalize,u.prototype.geodeticSurfaceNormalCartographic=function(e,t){var n=e.longitude,i=e.latitude,o=Math.cos(i),s=o*Math.cos(n),u=o*Math.sin(n),l=Math.sin(i);return r(t)||(t=new a),t.x=s,t.y=u,t.z=l,a.normalize(t,t)},u.prototype.geodeticSurfaceNormal=function(e,t){return t=a.multiplyComponents(e,this._oneOverRadiiSquared,t),a.normalize(t,t)};var l=new a,c=new a;u.prototype.cartographicToCartesian=function(e,t){var r=l,n=c;this.geodeticSurfaceNormalCartographic(e,r),a.multiplyComponents(this._radiiSquared,r,n);var i=Math.sqrt(a.dot(r,n));return a.divideByScalar(n,i,n),a.multiplyByScalar(r,e.height,r),a.add(n,r,t)},u.prototype.cartographicArrayToCartesianArray=function(e,t){var n=e.length;r(t)?t.length=n:t=new Array(n);for(var i=0;n>i;i++)t[i]=this.cartographicToCartesian(e[i],t[i]);return t};var f=new a,h=new a,m=new a;u.prototype.cartesianToCartographic=function(e,t){var n=this.scaleToGeodeticSurface(e,h);if(!r(n))return void 0;var i=this.geodeticSurfaceNormal(n,f),u=a.subtract(e,n,m),l=Math.atan2(i.y,i.x),c=Math.asin(i.z),d=o.sign(a.dot(u,e))*a.magnitude(u);return r(t)?(t.longitude=l,t.latitude=c,t.height=d,t):new s(l,c,d)},u.prototype.cartesianArrayToCartographicArray=function(e,t){var n=e.length;r(t)?t.length=n:t=new Array(n);for(var i=0;n>i;++i)t[i]=this.cartesianToCartographic(e[i],t[i]);return t};var d=new a,y=new a;return u.prototype.scaleToGeodeticSurface=function(e,t){var n=e.x,i=e.y,s=e.z,u=this._oneOverRadii,l=u.x,c=u.y,f=u.z,h=n*n*l*l,m=i*i*c*c,p=s*s*f*f,v=h+m+p,g=Math.sqrt(1/v),E=a.multiplyByScalar(e,g,d);if(vo.EPSILON12);return r(t)?(t.x=n*M,t.y=i*I,t.z=s*b,t):new a(n*M,i*I,s*b)},u.prototype.scaleToGeocentricSurface=function(e,t){var r=e.x,n=e.y,i=e.z,o=this._oneOverRadiiSquared,s=1/Math.sqrt(r*r*o.x+n*n*o.y+i*i*o.z);return a.multiplyByScalar(e,s,t)},u.prototype.transformPositionToScaledSpace=function(e,t){return a.multiplyComponents(e,this._oneOverRadii,t)},u.prototype.transformPositionFromScaledSpace=function(e,t){return a.multiplyComponents(e,this._radii,t)},u.prototype.equals=function(e){return this===e||r(e)&&a.equals(this._radii,e._radii)},u.prototype.toString=function(){return this._radii.toString()},u}),define("Core/GeographicProjection",["./defaultValue","./defined","./defineProperties","./Cartesian3","./Cartographic","./Ellipsoid"],function(e,t,r,n,i,o){"use strict";var a=function(t){this._ellipsoid=e(t,o.WGS84),this._semimajorAxis=this._ellipsoid.maximumRadius,this._oneOverSemimajorAxis=1/this._semimajorAxis};return r(a.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}}),a.prototype.project=function(e,r){var i=this._semimajorAxis,o=e.longitude*i,a=e.latitude*i,s=e.height;return t(r)?(r.x=o,r.y=a,r.z=s,r):new n(o,a,s)},a.prototype.unproject=function(e,r){var n=this._oneOverSemimajorAxis,o=e.x*n,a=e.y*n,s=e.z;return t(r)?(r.longitude=o,r.latitude=a,r.height=s,r):new i(o,a,s)},a}),define("Core/Enumeration",["./defined"],function(e){"use strict";var t=function(t,r,n){if(this.value=t,this.name=r,e(n))for(var i in n)n.hasOwnProperty(i)&&(this[i]=n[i])};return t.prototype.valueOf=function(){return this.value},t.prototype.toString=function(){return this.name},t}),define("Core/Intersect",["./Enumeration"],function(e){"use strict";var t={OUTSIDE:new e(-1,"OUTSIDE"),INTERSECTING:new e(0,"INTERSECTING"),INSIDE:new e(1,"INSIDE")};return t}),define("Core/BoundingRectangle",["./defaultValue","./defined","./DeveloperError","./Cartesian2","./Cartographic","./GeographicProjection","./Intersect"],function(e,t,r,n,i,o,a){"use strict";var s=function(t,r,n,i){this.x=e(t,0),this.y=e(r,0),this.width=e(n,0),this.height=e(i,0)};s.fromPoints=function(e,r){if(t(r)||(r=new s),!t(e)||0===e.length)return r.x=0,r.y=0,r.width=0,r.height=0,r;for(var n=e.length,i=e[0].x,o=e[0].y,a=e[0].x,u=e[0].y,l=1;n>l;l++){var c=e[l],f=c.x,h=c.y;i=Math.min(f,i),a=Math.max(f,a),o=Math.min(h,o),u=Math.max(h,u)}return r.x=i,r.y=o,r.width=a-i,r.height=u-o,r};var u=new o,l=new i,c=new i;return s.fromExtent=function(r,i,o){if(t(o)||(o=new s),!t(r))return o.x=0,o.y=0,o.width=0,o.height=0,o;i=e(i,u);var a=i.project(r.getSouthwest(l)),f=i.project(r.getNortheast(c));return n.subtract(f,a,f),o.x=a.x,o.y=a.y,o.width=f.x,o.height=f.y,o},s.clone=function(e,r){return t(e)?t(r)?(r.x=e.x,r.y=e.y,r.width=e.width,r.height=e.height,r):new s(e.x,e.y,e.width,e.height):void 0},s.union=function(e,r,n){t(n)||(n=new s);var i=Math.min(e.x,r.x),o=Math.min(e.y,r.y),a=Math.max(e.x+e.width,r.x+r.width),u=Math.max(e.y+e.height,r.y+r.height);return n.x=i,n.y=o,n.width=a-i,n.height=u-o,n},s.expand=function(e,t,r){r=s.clone(e,r);var n=t.x-r.x,i=t.y-r.y;return n>r.width?r.width=n:0>n&&(r.width-=n,r.x=t.x),i>r.height?r.height=i:0>i&&(r.height-=i,r.y=t.y),r},s.intersect=function(e,t){var r=e.x,n=e.y,i=t.x,o=t.y;return r>i+t.width||r+e.widtho+t.height?a.OUTSIDE:a.INTERSECTING},s.equals=function(e,r){return e===r||t(e)&&t(r)&&e.x===r.x&&e.y===r.y&&e.width===r.width&&e.height===r.height},s.prototype.clone=function(e){return s.clone(this,e)},s.prototype.union=function(e,t){return s.union(this,e,t)},s.prototype.expand=function(e,t){return s.expand(this,e,t)},s.prototype.intersect=function(e){return s.intersect(this,e)},s.prototype.equals=function(e){return s.equals(this,e)},s}),define("Core/Interval",["./defaultValue"],function(e){"use strict";var t=function(t,r){this.start=e(t,0),this.stop=e(r,0)};return t}),define("Core/Cartesian4",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,t,r,n){"use strict";var i=function(t,r,n,i){this.x=e(t,0),this.y=e(r,0),this.z=e(n,0),this.w=e(i,0)};i.fromElements=function(e,r,n,o,a){return t(a)?(a.x=e,a.y=r,a.z=n,a.w=o,a):new i(e,r,n,o)},i.clone=function(e,r){return t(e)?t(r)?(r.x=e.x,r.y=e.y,r.z=e.z,r.w=e.w,r):new i(e.x,e.y,e.z,e.w):void 0},i.packedLength=4,i.pack=function(t,r,n){n=e(n,0),r[n++]=t.x,r[n++]=t.y,r[n++]=t.z,r[n]=t.w},i.unpack=function(r,n,o){return n=e(n,0),t(o)||(o=new i),o.x=r[n++],o.y=r[n++],o.z=r[n++],o.w=r[n],o},i.fromArray=i.unpack,i.getMaximumComponent=function(e){return Math.max(e.x,e.y,e.z,e.w)},i.getMinimumComponent=function(e){return Math.min(e.x,e.y,e.z,e.w)},i.getMinimumByComponent=function(e,r,n){return t(n)||(n=new i),n.x=Math.min(e.x,r.x),n.y=Math.min(e.y,r.y),n.z=Math.min(e.z,r.z),n.w=Math.min(e.w,r.w),n},i.getMaximumByComponent=function(e,r,n){return t(n)||(n=new i),n.x=Math.max(e.x,r.x),n.y=Math.max(e.y,r.y),n.z=Math.max(e.z,r.z),n.w=Math.max(e.w,r.w),n},i.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w},i.magnitude=function(e){return Math.sqrt(i.magnitudeSquared(e))};var o=new i;i.distance=function(e,t){return i.subtract(e,t,o),i.magnitude(o)},i.normalize=function(e,r){var n=i.magnitude(e);return t(r)?(r.x=e.x/n,r.y=e.y/n,r.z=e.z/n,r.w=e.w/n,r):new i(e.x/n,e.y/n,e.z/n,e.w/n)},i.dot=function(e,t){return e.x*t.x+e.y*t.y+e.z*t.z+e.w*t.w},i.multiplyComponents=function(e,r,n){return t(n)?(n.x=e.x*r.x,n.y=e.y*r.y,n.z=e.z*r.z,n.w=e.w*r.w,n):new i(e.x*r.x,e.y*r.y,e.z*r.z,e.w*r.w)},i.add=function(e,r,n){return t(n)?(n.x=e.x+r.x,n.y=e.y+r.y,n.z=e.z+r.z,n.w=e.w+r.w,n):new i(e.x+r.x,e.y+r.y,e.z+r.z,e.w+r.w)},i.subtract=function(e,r,n){return t(n)?(n.x=e.x-r.x,n.y=e.y-r.y,n.z=e.z-r.z,n.w=e.w-r.w,n):new i(e.x-r.x,e.y-r.y,e.z-r.z,e.w-r.w)},i.multiplyByScalar=function(e,r,n){return t(n)?(n.x=e.x*r,n.y=e.y*r,n.z=e.z*r,n.w=e.w*r,n):new i(e.x*r,e.y*r,e.z*r,e.w*r)},i.divideByScalar=function(e,r,n){return t(n)?(n.x=e.x/r,n.y=e.y/r,n.z=e.z/r,n.w=e.w/r,n):new i(e.x/r,e.y/r,e.z/r,e.w/r)},i.negate=function(e,r){return t(r)?(r.x=-e.x,r.y=-e.y,r.z=-e.z,r.w=-e.w,r):new i(-e.x,-e.y,-e.z,-e.w)},i.abs=function(e,r){return t(r)?(r.x=Math.abs(e.x),r.y=Math.abs(e.y),r.z=Math.abs(e.z),r.w=Math.abs(e.w),r):new i(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z),Math.abs(e.w))};var a=new i;i.lerp=function(e,t,r,n){return i.multiplyByScalar(t,r,a),n=i.multiplyByScalar(e,1-r,n),i.add(a,n,n)};var s=new i;return i.mostOrthogonalAxis=function(e,t){var r=i.normalize(e,s);return i.abs(r,r),t=r.x<=r.y?r.x<=r.z?r.x<=r.w?i.clone(i.UNIT_X,t):i.clone(i.UNIT_W,t):r.z<=r.w?i.clone(i.UNIT_Z,t):i.clone(i.UNIT_W,t):r.y<=r.z?r.y<=r.w?i.clone(i.UNIT_Y,t):i.clone(i.UNIT_W,t):r.z<=r.w?i.clone(i.UNIT_Z,t):i.clone(i.UNIT_W,t)},i.equals=function(e,r){return e===r||t(e)&&t(r)&&e.x===r.x&&e.y===r.y&&e.z===r.z&&e.w===r.w},i.equalsEpsilon=function(e,r,n){return e===r||t(e)&&t(r)&&Math.abs(e.x-r.x)<=n&&Math.abs(e.y-r.y)<=n&&Math.abs(e.z-r.z)<=n&&Math.abs(e.w-r.w)<=n},i.ZERO=n(new i(0,0,0,0)),i.UNIT_X=n(new i(1,0,0,0)),i.UNIT_Y=n(new i(0,1,0,0)),i.UNIT_Z=n(new i(0,0,1,0)),i.UNIT_W=n(new i(0,0,0,1)),i.prototype.clone=function(e){return i.clone(this,e)},i.prototype.equals=function(e){return i.equals(this,e)},i.prototype.equalsEpsilon=function(e,t){return i.equalsEpsilon(this,e,t)},i.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+", "+this.w+")"},i}),define("Core/Matrix3",["./Cartesian3","./defaultValue","./defined","./DeveloperError","./freezeObject","./Math"],function(e,t,r,n,i,o){"use strict";function a(e){for(var t=0,r=0;9>r;++r){var n=e[r];t+=n*n}return Math.sqrt(t)}function s(e){for(var t=0,r=0;3>r;++r){var n=e[l.getElementIndex(f[r],c[r])];t+=2*n*n}return Math.sqrt(t)}function u(e,t){for(var r=o.EPSILON15,n=0,i=1,a=0;3>a;++a){var s=Math.abs(e[l.getElementIndex(f[a],c[a])]);s>n&&(i=a,n=s)}var u=1,h=0,m=c[i],d=f[i];if(Math.abs(e[l.getElementIndex(d,m)])>r){var y,p=e[l.getElementIndex(d,d)],v=e[l.getElementIndex(m,m)],g=e[l.getElementIndex(d,m)],E=(p-v)/2/g;y=0>E?-1/(-E+Math.sqrt(1+E*E)):1/(E+Math.sqrt(1+E*E)),u=1/Math.sqrt(1+y*y),h=y*u}return t=l.clone(l.IDENTITY,t),t[l.getElementIndex(m,m)]=t[l.getElementIndex(d,d)]=u,t[l.getElementIndex(d,m)]=h,t[l.getElementIndex(m,d)]=-h,t}var l=function(e,r,n,i,o,a,s,u,l){this[0]=t(e,0),this[1]=t(i,0),this[2]=t(s,0),this[3]=t(r,0),this[4]=t(o,0),this[5]=t(u,0),this[6]=t(n,0),this[7]=t(a,0),this[8]=t(l,0)};l.clone=function(e,t){return r(e)?r(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t):new l(e[0],e[3],e[6],e[1],e[4],e[7],e[2],e[5],e[8]):void 0},l.fromArray=function(e,n,i){return n=t(n,0),r(i)||(i=new l),i[0]=e[n],i[1]=e[n+1],i[2]=e[n+2],i[3]=e[n+3],i[4]=e[n+4],i[5]=e[n+5],i[6]=e[n+6],i[7]=e[n+7],i[8]=e[n+8],i[9]=e[n+9],i},l.fromColumnMajorArray=function(e,t){return l.clone(e,t)},l.fromRowMajorArray=function(e,t){return r(t)?(t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8],t):new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])},l.fromQuaternion=function(e,t){var n=e.x*e.x,i=e.x*e.y,o=e.x*e.z,a=e.x*e.w,s=e.y*e.y,u=e.y*e.z,c=e.y*e.w,f=e.z*e.z,h=e.z*e.w,m=e.w*e.w,d=n-s-f+m,y=2*(i-h),p=2*(o+c),v=2*(i+h),g=-n+s-f+m,E=2*(u-a),w=2*(o-c),S=2*(u+a),x=-n-s+f+m;return r(t)?(t[0]=d,t[1]=v,t[2]=w,t[3]=y,t[4]=g,t[5]=S,t[6]=p,t[7]=E,t[8]=x,t):new l(d,y,p,v,g,E,w,S,x)},l.fromScale=function(e,t){return r(t)?(t[0]=e.x,t[1]=0,t[2]=0,t[3]=0,t[4]=e.y,t[5]=0,t[6]=0,t[7]=0,t[8]=e.z,t):new l(e.x,0,0,0,e.y,0,0,0,e.z)},l.fromUniformScale=function(e,t){return r(t)?(t[0]=e,t[1]=0,t[2]=0,t[3]=0,t[4]=e,t[5]=0,t[6]=0,t[7]=0,t[8]=e,t):new l(e,0,0,0,e,0,0,0,e)},l.fromRotationX=function(e,t){var n=Math.cos(e),i=Math.sin(e);return r(t)?(t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=n,t[5]=i,t[6]=0,t[7]=-i,t[8]=n,t):new l(1,0,0,0,n,-i,0,i,n)},l.fromRotationY=function(e,t){var n=Math.cos(e),i=Math.sin(e);return r(t)?(t[0]=n,t[1]=0,t[2]=-i,t[3]=0,t[4]=1,t[5]=0,t[6]=i,t[7]=0,t[8]=n,t):new l(n,0,i,0,1,0,-i,0,n)},l.fromRotationZ=function(e,t){var n=Math.cos(e),i=Math.sin(e);return r(t)?(t[0]=n,t[1]=i,t[2]=0,t[3]=-i,t[4]=n,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t):new l(n,-i,0,i,n,0,0,0,1)},l.toArray=function(e,t){return r(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8]]},l.getElementIndex=function(e,t){return 3*e+t},l.getColumn=function(t,n,i){var o=3*n,a=t[o],s=t[o+1],u=t[o+2];return r(i)?(i.x=a,i.y=s,i.z=u,i):new e(a,s,u)},l.setColumn=function(e,t,r,n){n=l.clone(e,n);var i=3*t;return n[i]=r.x,n[i+1]=r.y,n[i+2]=r.z,n},l.getRow=function(t,n,i){var o=t[n],a=t[n+3],s=t[n+6];return r(i)?(i.x=o,i.y=a,i.z=s,i):new e(o,a,s)},l.setRow=function(e,t,r,n){return n=l.clone(e,n),n[t]=r.x,n[t+3]=r.y,n[t+6]=r.z,n},l.multiply=function(e,t,n){var i=e[0]*t[0]+e[3]*t[1]+e[6]*t[2],o=e[1]*t[0]+e[4]*t[1]+e[7]*t[2],a=e[2]*t[0]+e[5]*t[1]+e[8]*t[2],s=e[0]*t[3]+e[3]*t[4]+e[6]*t[5],u=e[1]*t[3]+e[4]*t[4]+e[7]*t[5],c=e[2]*t[3]+e[5]*t[4]+e[8]*t[5],f=e[0]*t[6]+e[3]*t[7]+e[6]*t[8],h=e[1]*t[6]+e[4]*t[7]+e[7]*t[8],m=e[2]*t[6]+e[5]*t[7]+e[8]*t[8];return r(n)?(n[0]=i,n[1]=o,n[2]=a,n[3]=s,n[4]=u,n[5]=c,n[6]=f,n[7]=h,n[8]=m,n):new l(i,s,f,o,u,h,a,c,m)},l.multiplyByVector=function(t,n,i){var o=n.x,a=n.y,s=n.z,u=t[0]*o+t[3]*a+t[6]*s,l=t[1]*o+t[4]*a+t[7]*s,c=t[2]*o+t[5]*a+t[8]*s;return r(i)?(i.x=u,i.y=l,i.z=c,i):new e(u,l,c)},l.multiplyByScalar=function(e,t,n){return r(n)?(n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n[4]=e[4]*t,n[5]=e[5]*t,n[6]=e[6]*t,n[7]=e[7]*t,n[8]=e[8]*t,n):new l(e[0]*t,e[3]*t,e[6]*t,e[1]*t,e[4]*t,e[7]*t,e[2]*t,e[5]*t,e[8]*t)},l.negate=function(e,t){return r(t)?(t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t[4]=-e[4],t[5]=-e[5],t[6]=-e[6],t[7]=-e[7],t[8]=-e[8],t):new l(-e[0],-e[3],-e[6],-e[1],-e[4],-e[7],-e[2],-e[5],-e[8])},l.transpose=function(e,t){var n=e[0],i=e[3],o=e[6],a=e[1],s=e[4],u=e[7],c=e[2],f=e[5],h=e[8];return r(t)?(t[0]=n,t[1]=i,t[2]=o,t[3]=a,t[4]=s,t[5]=u,t[6]=c,t[7]=f,t[8]=h,t):new l(n,a,c,i,s,f,o,u,h)};var c=[1,0,0],f=[2,2,1],h=new l,m=new l;return l.getEigenDecomposition=function(e,t){var n=o.EPSILON20,i=10,c=0,f=0;r(t)||(t={});for(var d=t.unitary=l.clone(l.IDENTITY,t.unitary),y=t.diagonal=l.clone(e,t.diagonal),p=n*a(y);i>f&&s(y)>p;)u(y,h),l.transpose(h,m),l.multiply(y,h,y),l.multiply(m,y,y),l.multiply(d,h,d),++c>2&&(++f,c=0);return t},l.abs=function(e,t){return r(t)?(t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t[3]=Math.abs(e[3]),t[4]=Math.abs(e[4]),t[5]=Math.abs(e[5]),t[6]=Math.abs(e[6]),t[7]=Math.abs(e[7]),t[8]=Math.abs(e[8]),t):new l(Math.abs(e[0]),Math.abs(e[3]),Math.abs(e[6]),Math.abs(e[1]),Math.abs(e[4]),Math.abs(e[7]),Math.abs(e[2]),Math.abs(e[5]),Math.abs(e[8]))},l.determinant=function(e){var t=e[0],r=e[3],n=e[6],i=e[1],o=e[4],a=e[7],s=e[2],u=e[5],l=e[8];return t*(o*l-u*a)+i*(u*n-r*l)+s*(r*a-o*n)},l.inverse=function(e,t){var r=e[0],i=e[1],a=e[2],s=e[3],u=e[4],c=e[5],f=e[6],h=e[7],m=e[8],d=l.determinant(e);if(Math.abs(d)<=o.EPSILON15)throw new n("matrix is not invertible");var y=new l(u*m-h*c,f*c-s*m,s*h-f*u,h*a-i*m,r*m-f*a,f*i-r*h,i*c-u*a,s*a-r*c,r*u-s*i),p=1/d;return l.multiplyByScalar(y,p,t)},l.equals=function(e,t){return e===t||r(e)&&r(t)&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]},l.equalsEpsilon=function(e,t,n){return e===t||r(e)&&r(t)&&Math.abs(e[0]-t[0])<=n&&Math.abs(e[1]-t[1])<=n&&Math.abs(e[2]-t[2])<=n&&Math.abs(e[3]-t[3])<=n&&Math.abs(e[4]-t[4])<=n&&Math.abs(e[5]-t[5])<=n&&Math.abs(e[6]-t[6])<=n&&Math.abs(e[7]-t[7])<=n&&Math.abs(e[8]-t[8])<=n},l.IDENTITY=i(new l(1,0,0,0,1,0,0,0,1)),l.COLUMN0ROW0=0,l.COLUMN0ROW1=1,l.COLUMN0ROW2=2,l.COLUMN1ROW0=3,l.COLUMN1ROW1=4,l.COLUMN1ROW2=5,l.COLUMN2ROW0=6,l.COLUMN2ROW1=7,l.COLUMN2ROW2=8,l.prototype.clone=function(e){return l.clone(this,e)},l.prototype.equals=function(e){return l.equals(this,e)},l.prototype.equalsEpsilon=function(e,t){return l.equalsEpsilon(this,e,t)},l.prototype.toString=function(){return"("+this[0]+", "+this[3]+", "+this[6]+")\n"+"("+this[1]+", "+this[4]+", "+this[7]+")\n"+"("+this[2]+", "+this[5]+", "+this[8]+")"},l}),define("Core/RuntimeError",["./defined"],function(e){"use strict";var t=function(e){this.name="RuntimeError",this.message=e;var t;try{throw new Error}catch(r){t=r.stack}this.stack=t};return t.prototype.toString=function(){var t=this.name+": "+this.message;return e(this.stack)&&(t+="\n"+this.stack.toString()),t},t}),define("Core/Matrix4",["./Cartesian3","./Cartesian4","./defaultValue","./defined","./DeveloperError","./freezeObject","./Math","./Matrix3","./RuntimeError"],function(e,t,r,n,i,o,a,s,u){"use strict";var l=function(e,t,n,i,o,a,s,u,l,c,f,h,m,d,y,p){this[0]=r(e,0),this[1]=r(o,0),this[2]=r(l,0),this[3]=r(m,0),this[4]=r(t,0),this[5]=r(a,0),this[6]=r(c,0),this[7]=r(d,0),this[8]=r(n,0),this[9]=r(s,0),this[10]=r(f,0),this[11]=r(y,0),this[12]=r(i,0),this[13]=r(u,0),this[14]=r(h,0),this[15]=r(p,0)};l.clone=function(e,t){return n(e)?n(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t):new l(e[0],e[4],e[8],e[12],e[1],e[5],e[9],e[13],e[2],e[6],e[10],e[14],e[3],e[7],e[11],e[15]):void 0},l.fromArray=function(e,t,i){return t=r(t,0),n(i)||(i=new l),i[0]=e[t],i[1]=e[t+1],i[2]=e[t+2],i[3]=e[t+3],i[4]=e[t+4],i[5]=e[t+5],i[6]=e[t+6],i[7]=e[t+7],i[8]=e[t+8],i[9]=e[t+9],i[10]=e[t+10],i[11]=e[t+11],i[12]=e[t+12],i[13]=e[t+13],i[14]=e[t+14],i[15]=e[t+15],i},l.fromColumnMajorArray=function(e,t){return l.clone(e,t)},l.fromRowMajorArray=function(e,t){return n(t)?(t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15],t):new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])},l.fromRotationTranslation=function(e,t,r){return n(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=0,r[4]=e[3],r[5]=e[4],r[6]=e[5],r[7]=0,r[8]=e[6],r[9]=e[7],r[10]=e[8],r[11]=0,r[12]=t.x,r[13]=t.y,r[14]=t.z,r[15]=1,r):new l(e[0],e[3],e[6],t.x,e[1],e[4],e[7],t.y,e[2],e[5],e[8],t.z,0,0,0,1)},new s,l.fromTranslationQuaternionRotationScale=function(e,t,r,i){n(i)||(i=new l);var o=r.x,a=r.y,s=r.z,u=t.x*t.x,c=t.x*t.y,f=t.x*t.z,h=t.x*t.w,m=t.y*t.y,d=t.y*t.z,y=t.y*t.w,p=t.z*t.z,v=t.z*t.w,g=t.w*t.w,E=u-m-p+g,w=2*(c-v),S=2*(f+y),x=2*(c+v),C=-u+m-p+g,O=2*(d-h),T=2*(f-y),A=2*(d+h),M=-u-m+p+g;return i[0]=E*o,i[1]=x*o,i[2]=T*o,i[3]=0,i[4]=w*a,i[5]=C*a,i[6]=A*a,i[7]=0,i[8]=S*s,i[9]=O*s,i[10]=M*s,i[11]=0,i[12]=e.x,i[13]=e.y,i[14]=e.z,i[15]=1,i +},l.fromTranslation=function(e,t){return l.fromRotationTranslation(s.IDENTITY,e,t)},l.fromScale=function(e,t){return n(t)?(t[0]=e.x,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e.y,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e.z,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t):new l(e.x,0,0,0,0,e.y,0,0,0,0,e.z,0,0,0,0,1)},l.fromUniformScale=function(e,t){return n(t)?(t[0]=e,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t):new l(e,0,0,0,0,e,0,0,0,0,e,0,0,0,0,1)};var c=new e,f=new e,h=new e;l.fromCamera=function(t,r){var i=t.eye,o=t.target,a=t.up;e.normalize(e.subtract(o,i,c),c),e.normalize(e.cross(c,a,f),f),e.normalize(e.cross(f,c,h),h);var s=f.x,u=f.y,m=f.z,d=c.x,y=c.y,p=c.z,v=h.x,g=h.y,E=h.z,w=i.x,S=i.y,x=i.z,C=s*-w+u*-S+m*-x,O=v*-w+g*-S+E*-x,T=d*w+y*S+p*x;return n(r)?(r[0]=s,r[1]=v,r[2]=-d,r[3]=0,r[4]=u,r[5]=g,r[6]=-y,r[7]=0,r[8]=m,r[9]=E,r[10]=-p,r[11]=0,r[12]=C,r[13]=O,r[14]=T,r[15]=1,r):new l(s,u,m,C,v,g,E,O,-d,-y,-p,T,0,0,0,1)},l.computePerspectiveFieldOfView=function(e,t,r,i,o){var a=Math.tan(.5*e),s=1/a,u=s/t,c=(i+r)/(r-i),f=2*i*r/(r-i);return n(o)?(o[0]=u,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=s,o[6]=0,o[7]=0,o[8]=0,o[9]=0,o[10]=c,o[11]=-1,o[12]=0,o[13]=0,o[14]=f,o[15]=0,o):new l(u,0,0,0,0,s,0,0,0,0,c,f,0,0,-1,0)},l.computeOrthographicOffCenter=function(e,t,r,i,o,a,s){var u=1/(t-e),c=1/(i-r),f=1/(a-o),h=-(t+e)*u,m=-(i+r)*c,d=-(a+o)*f;return u*=2,c*=2,f*=-2,n(s)?(s[0]=u,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=c,s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=f,s[11]=0,s[12]=h,s[13]=m,s[14]=d,s[15]=1,s):new l(u,0,0,h,0,c,0,m,0,0,f,d,0,0,0,1)},l.computePerspectiveOffCenter=function(e,t,r,i,o,a,s){var u=2*o/(t-e),c=2*o/(i-r),f=(t+e)/(t-e),h=(i+r)/(i-r),m=-(a+o)/(a-o),d=-1,y=-2*a*o/(a-o);return n(s)?(s[0]=u,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=c,s[6]=0,s[7]=0,s[8]=f,s[9]=h,s[10]=m,s[11]=d,s[12]=0,s[13]=0,s[14]=y,s[15]=0,s):new l(u,0,f,0,0,c,h,0,0,0,m,y,0,0,d,0)},l.computeInfinitePerspectiveOffCenter=function(e,t,r,i,o,a){var s=2*o/(t-e),u=2*o/(i-r),c=(t+e)/(t-e),f=(i+r)/(i-r),h=-1,m=-1,d=-2*o;return n(a)?(a[0]=s,a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=u,a[6]=0,a[7]=0,a[8]=c,a[9]=f,a[10]=h,a[11]=m,a[12]=0,a[13]=0,a[14]=d,a[15]=0,a):new l(s,0,c,0,0,u,f,0,0,0,h,d,0,0,m,0)},l.computeViewportTransformation=function(e,t,i,o){e=r(e,r.EMPTY_OBJECT);var a=r(e.x,0),s=r(e.y,0),u=r(e.width,0),c=r(e.height,0);t=r(t,0),i=r(i,1);var f=.5*u,h=.5*c,m=.5*(i-t),d=f,y=h,p=m,v=a+f,g=s+h,E=t+m,w=1;return n(o)?(o[0]=d,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=y,o[6]=0,o[7]=0,o[8]=0,o[9]=0,o[10]=p,o[11]=0,o[12]=v,o[13]=g,o[14]=E,o[15]=w,o):new l(d,0,0,v,0,y,0,g,0,0,p,E,0,0,0,w)},l.toArray=function(e,t){return n(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]]},l.getElementIndex=function(e,t){return 4*e+t},l.getColumn=function(e,r,i){var o=4*r,a=e[o],s=e[o+1],u=e[o+2],l=e[o+3];return n(i)?(i.x=a,i.y=s,i.z=u,i.w=l,i):new t(a,s,u,l)},l.setColumn=function(e,t,r,n){n=l.clone(e,n);var i=4*t;return n[i]=r.x,n[i+1]=r.y,n[i+2]=r.z,n[i+3]=r.w,n},l.getRow=function(e,r,i){var o=e[r],a=e[r+4],s=e[r+8],u=e[r+12];return n(i)?(i.x=o,i.y=a,i.z=s,i.w=u,i):new t(o,a,s,u)},l.setRow=function(e,t,r,n){return n=l.clone(e,n),n[t]=r.x,n[t+4]=r.y,n[t+8]=r.z,n[t+12]=r.w,n},l.multiply=function(e,t,r){var i=e[0],o=e[1],a=e[2],s=e[3],u=e[4],c=e[5],f=e[6],h=e[7],m=e[8],d=e[9],y=e[10],p=e[11],v=e[12],g=e[13],E=e[14],w=e[15],S=t[0],x=t[1],C=t[2],O=t[3],T=t[4],A=t[5],M=t[6],I=t[7],b=t[8],N=t[9],D=t[10],_=t[11],P=t[12],R=t[13],z=t[14],L=t[15],F=i*S+u*x+m*C+v*O,U=o*S+c*x+d*C+g*O,B=a*S+f*x+y*C+E*O,q=s*S+h*x+p*C+w*O,G=i*T+u*A+m*M+v*I,W=o*T+c*A+d*M+g*I,Y=a*T+f*A+y*M+E*I,j=s*T+h*A+p*M+w*I,V=i*b+u*N+m*D+v*_,H=o*b+c*N+d*D+g*_,k=a*b+f*N+y*D+E*_,K=s*b+h*N+p*D+w*_,Z=i*P+u*R+m*z+v*L,J=o*P+c*R+d*z+g*L,X=a*P+f*R+y*z+E*L,Q=s*P+h*R+p*z+w*L;return n(r)?(r[0]=F,r[1]=U,r[2]=B,r[3]=q,r[4]=G,r[5]=W,r[6]=Y,r[7]=j,r[8]=V,r[9]=H,r[10]=k,r[11]=K,r[12]=Z,r[13]=J,r[14]=X,r[15]=Q,r):new l(F,G,V,Z,U,W,H,J,B,Y,k,X,q,j,K,Q)},l.multiplyTransformation=function(e,t,r){var i=e[0],o=e[1],a=e[2],s=e[4],u=e[5],c=e[6],f=e[8],h=e[9],m=e[10],d=e[12],y=e[13],p=e[14],v=t[0],g=t[1],E=t[2],w=t[4],S=t[5],x=t[6],C=t[8],O=t[9],T=t[10],A=t[12],M=t[13],I=t[14],b=i*v+s*g+f*E,N=o*v+u*g+h*E,D=a*v+c*g+m*E,_=i*w+s*S+f*x,P=o*w+u*S+h*x,R=a*w+c*S+m*x,z=i*C+s*O+f*T,L=o*C+u*O+h*T,F=a*C+c*O+m*T,U=i*A+s*M+f*I+d,B=o*A+u*M+h*I+y,q=a*A+c*M+m*I+p;return n(r)?(r[0]=b,r[1]=N,r[2]=D,r[3]=0,r[4]=_,r[5]=P,r[6]=R,r[7]=0,r[8]=z,r[9]=L,r[10]=F,r[11]=0,r[12]=U,r[13]=B,r[14]=q,r[15]=1,r):new l(b,_,z,U,N,P,L,B,D,R,F,q,0,0,0,1)},l.multiplyByTranslation=function(e,t,r){var i=t.x,o=t.y,a=t.z,s=i*e[0]+o*e[4]+a*e[8]+e[12],u=i*e[1]+o*e[5]+a*e[9]+e[13],c=i*e[2]+o*e[6]+a*e[10]+e[14];return n(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r[9]=e[9],r[10]=e[10],r[11]=e[11],r[12]=s,r[13]=u,r[14]=c,r[15]=e[15],r):new l(e[0],e[4],e[8],s,e[1],e[5],e[9],u,e[2],e[6],e[10],c,e[3],e[7],e[11],e[15])};var m=new e;return l.multiplyByUniformScale=function(e,t,r){return m.x=t,m.y=t,m.z=t,l.multiplyByScale(e,m,r)},l.multiplyByScale=function(e,t,r){var i=t.x,o=t.y,a=t.z;return 1===i&&1===o&&1===a?l.clone(e,r):n(r)?(r[0]=i*e[0],r[1]=i*e[1],r[2]=i*e[2],r[3]=0,r[4]=o*e[4],r[5]=o*e[5],r[6]=o*e[6],r[7]=0,r[8]=a*e[8],r[9]=a*e[9],r[10]=a*e[10],r[11]=0,r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=1,r):new l(i*e[0],o*e[4],a*e[8],e[12],i*e[1],o*e[5],a*e[9],e[13],i*e[2],o*e[6],a*e[10],e[14],0,0,0,1)},l.multiplyByVector=function(e,r,i){var o=r.x,a=r.y,s=r.z,u=r.w,l=e[0]*o+e[4]*a+e[8]*s+e[12]*u,c=e[1]*o+e[5]*a+e[9]*s+e[13]*u,f=e[2]*o+e[6]*a+e[10]*s+e[14]*u,h=e[3]*o+e[7]*a+e[11]*s+e[15]*u;return n(i)?(i.x=l,i.y=c,i.z=f,i.w=h,i):new t(l,c,f,h)},l.multiplyByPointAsVector=function(t,r,i){var o=r.x,a=r.y,s=r.z,u=t[0]*o+t[4]*a+t[8]*s,l=t[1]*o+t[5]*a+t[9]*s,c=t[2]*o+t[6]*a+t[10]*s;return n(i)?(i.x=u,i.y=l,i.z=c,i):new e(u,l,c)},l.multiplyByPoint=function(t,r,i){var o=r.x,a=r.y,s=r.z,u=t[0]*o+t[4]*a+t[8]*s+t[12],l=t[1]*o+t[5]*a+t[9]*s+t[13],c=t[2]*o+t[6]*a+t[10]*s+t[14];return n(i)?(i.x=u,i.y=l,i.z=c,i):new e(u,l,c)},l.multiplyByScalar=function(e,t,r){return n(r)?(r[0]=e[0]*t,r[1]=e[1]*t,r[2]=e[2]*t,r[3]=e[3]*t,r[4]=e[4]*t,r[5]=e[5]*t,r[6]=e[6]*t,r[7]=e[7]*t,r[8]=e[8]*t,r[9]=e[9]*t,r[10]=e[10]*t,r[11]=e[11]*t,r[12]=e[12]*t,r[13]=e[13]*t,r[14]=e[14]*t,r[15]=e[15]*t,r):new l(e[0]*t,e[4]*t,e[8]*t,e[12]*t,e[1]*t,e[5]*t,e[9]*t,e[13]*t,e[2]*t,e[6]*t,e[10]*t,e[14]*t,e[3]*t,e[7]*t,e[11]*t,e[15]*t)},l.negate=function(e,t){return n(t)?(t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t[4]=-e[4],t[5]=-e[5],t[6]=-e[6],t[7]=-e[7],t[8]=-e[8],t[9]=-e[9],t[10]=-e[10],t[11]=-e[11],t[12]=-e[12],t[13]=-e[13],t[14]=-e[14],t[15]=-e[15],t):new l(-e[0],-e[4],-e[8],-e[12],-e[1],-e[5],-e[9],-e[13],-e[2],-e[6],-e[10],-e[14],-e[3],-e[7],-e[11],-e[15])},l.transpose=function(e,t){if(!n(t))return new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]);var r=e[1],i=e[2],o=e[3],a=e[6],s=e[7],u=e[11];return t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=r,t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=i,t[9]=a,t[10]=e[10],t[11]=e[14],t[12]=o,t[13]=s,t[14]=u,t[15]=e[15],t},l.abs=function(e,t){return n(t)?(t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t[3]=Math.abs(e[3]),t[4]=Math.abs(e[4]),t[5]=Math.abs(e[5]),t[6]=Math.abs(e[6]),t[7]=Math.abs(e[7]),t[8]=Math.abs(e[8]),t[9]=Math.abs(e[9]),t[10]=Math.abs(e[10]),t[11]=Math.abs(e[11]),t[12]=Math.abs(e[12]),t[13]=Math.abs(e[13]),t[14]=Math.abs(e[14]),t[15]=Math.abs(e[15]),t):new l(Math.abs(e[0]),Math.abs(e[4]),Math.abs(e[8]),Math.abs(e[12]),Math.abs(e[1]),Math.abs(e[5]),Math.abs(e[9]),Math.abs(e[13]),Math.abs(e[2]),Math.abs(e[6]),Math.abs(e[10]),Math.abs(e[14]),Math.abs(e[3]),Math.abs(e[7]),Math.abs(e[11]),Math.abs(e[15]))},l.equals=function(e,t){return e===t||n(e)&&n(t)&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15]},l.equalsEpsilon=function(e,t,r){return e===t||n(e)&&n(t)&&Math.abs(e[0]-t[0])<=r&&Math.abs(e[1]-t[1])<=r&&Math.abs(e[2]-t[2])<=r&&Math.abs(e[3]-t[3])<=r&&Math.abs(e[4]-t[4])<=r&&Math.abs(e[5]-t[5])<=r&&Math.abs(e[6]-t[6])<=r&&Math.abs(e[7]-t[7])<=r&&Math.abs(e[8]-t[8])<=r&&Math.abs(e[9]-t[9])<=r&&Math.abs(e[10]-t[10])<=r&&Math.abs(e[11]-t[11])<=r&&Math.abs(e[12]-t[12])<=r&&Math.abs(e[13]-t[13])<=r&&Math.abs(e[14]-t[14])<=r&&Math.abs(e[15]-t[15])<=r},l.getTranslation=function(t,r){return n(r)?(r.x=t[12],r.y=t[13],r.z=t[14],r):new e(t[12],t[13],t[14])},l.getRotation=function(e,t){return n(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[4],t[4]=e[5],t[5]=e[6],t[6]=e[8],t[7]=e[9],t[8]=e[10],t):new s(e[0],e[4],e[8],e[1],e[5],e[9],e[2],e[6],e[10])},l.inverse=function(e,t){var r=e[0],i=e[4],o=e[8],s=e[12],c=e[1],f=e[5],h=e[9],m=e[13],d=e[2],y=e[6],p=e[10],v=e[14],g=e[3],E=e[7],w=e[11],S=e[15],x=p*S,C=v*w,O=y*S,T=v*E,A=y*w,M=p*E,I=d*S,b=v*g,N=d*w,D=p*g,_=d*E,P=y*g,R=x*f+T*h+A*m-(C*f+O*h+M*m),z=C*c+I*h+D*m-(x*c+b*h+N*m),L=O*c+b*f+_*m-(T*c+I*f+P*m),F=M*c+N*f+P*h-(A*c+D*f+_*h),U=C*i+O*o+M*s-(x*i+T*o+A*s),B=x*r+b*o+N*s-(C*r+I*o+D*s),q=T*r+I*i+P*s-(O*r+b*i+_*s),G=A*r+D*i+_*o-(M*r+N*i+P*o);x=o*m,C=s*h,O=i*m,T=s*f,A=i*h,M=o*f,I=r*m,b=s*c,N=r*h,D=o*c,_=r*f,P=i*c;var W=x*E+T*w+A*S-(C*E+O*w+M*S),Y=C*g+I*w+D*S-(x*g+b*w+N*S),j=O*g+b*E+_*S-(T*g+I*E+P*S),V=M*g+N*E+P*w-(A*g+D*E+_*w),H=O*p+M*v+C*y-(A*v+x*y+T*p),k=N*v+x*d+b*p-(I*p+D*v+C*d),K=I*y+P*v+T*d-(_*v+O*d+b*y),Z=_*p+A*d+D*y-(N*y+P*p+M*d),J=r*R+i*z+o*L+s*F;if(Math.abs(J)T;T++){e.clone(t[T],i);var A=i.x,M=i.y,I=i.z;Au.x&&e.clone(i,u),Ml.y&&e.clone(i,l),IC.z&&e.clone(i,C)}var b=e.magnitudeSquared(e.subtract(u,o,g)),N=e.magnitudeSquared(e.subtract(l,a,g)),D=e.magnitudeSquared(e.subtract(C,s,g)),_=o,P=u,R=b;N>R&&(R=N,_=a,P=l),D>R&&(R=D,_=s,P=C);var z=E;z.x=.5*(_.x+P.x),z.y=.5*(_.y+P.y),z.z=.5*(_.z+P.z);var L=e.magnitudeSquared(e.subtract(P,z,g)),F=Math.sqrt(L),U=w;U.x=o.x,U.y=a.y,U.z=s.z;var B=S;B.x=u.x,B.y=l.y,B.z=C.z;var q=e.multiplyByScalar(e.add(U,B,g),.5,x),G=0;for(T=0;O>T;T++){e.clone(t[T],i);var W=e.magnitude(e.subtract(i,q,g));W>G&&(G=W);var Y=e.magnitudeSquared(e.subtract(i,z,g));if(Y>L){var j=Math.sqrt(Y);F=.5*(F+j),L=F*F;var V=j-F;z.x=(F*z.x+V*i.x)/j,z.y=(F*z.y+V*i.y)/j,z.z=(F*z.z+V*i.z)/j}}return G>F?(e.clone(z,r.center),r.radius=F):(e.clone(q,r.center),r.radius=G),r};var C=new a,O=new e,T=new e,A=new t,M=new t;c.fromExtent2D=function(e,t,r){return c.fromExtentWithHeights2D(e,t,0,0,r)},c.fromExtentWithHeights2D=function(t,i,o,a,s){if(n(s)||(s=new c),!n(t))return s.center=e.clone(e.ZERO,s.center),s.radius=0,s;i=r(i,C),t.getSouthwest(A),A.height=o,t.getNortheast(M),M.height=a;var u=i.project(A,O),l=i.project(M,T),f=l.x-u.x,h=l.y-u.y,m=l.z-u.z;s.radius=.5*Math.sqrt(f*f+h*h+m*m);var d=s.center;return d.x=u.x+.5*f,d.y=u.y+.5*h,d.z=u.z+.5*m,s};var I=[];c.fromExtent3D=function(e,t,i,a){t=r(t,o.WGS84),i=r(i,0);var s;return n(e)&&(s=e.subsample(t,i,I)),c.fromPoints(s,a)},c.fromVertices=function(t,i,o,a){if(n(a)||(a=new c),!n(t)||0===t.length)return a.center=e.clone(e.ZERO,a.center),a.radius=0,a;i=r(i,e.ZERO),o=r(o,3);var s=v;s.x=t[0]+i.x,s.y=t[1]+i.y,s.z=t[2]+i.z;for(var u=e.clone(s,f),l=e.clone(s,h),C=e.clone(s,m),O=e.clone(s,d),T=e.clone(s,y),A=e.clone(s,p),M=t.length,I=0;M>I;I+=o){var b=t[I]+i.x,N=t[I+1]+i.y,D=t[I+2]+i.z;s.x=b,s.y=N,s.z=D,bO.x&&e.clone(s,O),NT.y&&e.clone(s,T),DA.z&&e.clone(s,A)}var _=e.magnitudeSquared(e.subtract(O,u,g)),P=e.magnitudeSquared(e.subtract(T,l,g)),R=e.magnitudeSquared(e.subtract(A,C,g)),z=u,L=O,F=_;P>F&&(F=P,z=l,L=T),R>F&&(F=R,z=C,L=A);var U=E;U.x=.5*(z.x+L.x),U.y=.5*(z.y+L.y),U.z=.5*(z.z+L.z);var B=e.magnitudeSquared(e.subtract(L,U,g)),q=Math.sqrt(B),G=w;G.x=u.x,G.y=l.y,G.z=C.z;var W=S;W.x=O.x,W.y=T.y,W.z=A.z;var Y=e.multiplyByScalar(e.add(G,W,g),.5,x),j=0;for(I=0;M>I;I+=o){s.x=t[I]+i.x,s.y=t[I+1]+i.y,s.z=t[I+2]+i.z;var V=e.magnitude(e.subtract(s,Y,g));V>j&&(j=V);var H=e.magnitudeSquared(e.subtract(s,U,g));if(H>B){var k=Math.sqrt(H);q=.5*(q+k),B=q*q;var K=k-q;U.x=(q*U.x+K*s.x)/k,U.y=(q*U.y+K*s.y)/k,U.z=(q*U.z+K*s.z)/k}}return j>q?(e.clone(U,a.center),a.radius=q):(e.clone(Y,a.center),a.radius=j),a},c.fromCornerPoints=function(t,r,i){n(i)||(i=new c);var o=i.center;return e.add(t,r,o),e.multiplyByScalar(o,.5,o),i.radius=e.distance(o,r),i},c.fromEllipsoid=function(t,r){return n(r)||(r=new c),e.clone(e.ZERO,r.center),r.radius=t.maximumRadius,r},c.clone=function(t,r){return n(t)?n(r)?(r.center=e.clone(t.center,r.center),r.radius=t.radius,r):new c(t.center,t.radius):void 0};var b=new e,N=new e;c.union=function(t,r,i){n(i)||(i=new c);var o=t.center,a=r.center;e.add(o,a,N);var s=e.multiplyByScalar(N,.5,N),u=e.magnitude(e.subtract(o,s,b))+t.radius,l=e.magnitude(e.subtract(a,s,b))+r.radius;return i.radius=Math.max(u,l),e.clone(s,i.center),i};var D=new e;c.expand=function(t,r,n){n=c.clone(t,n);var i=e.magnitude(e.subtract(r,n.center,D));return i>n.radius&&(n.radius=i),n},c.intersect=function(t,r){var n=t.center,i=t.radius,o=e.dot(r,n)+r.w;return-i>o?s.OUTSIDE:i>o?s.INTERSECTING:s.INSIDE};var _=new e;c.transform=function(t,r,i){return n(i)||(i=new c),i.center=l.multiplyByPoint(r,t.center,i.center),i.radius=Math.max(e.magnitude(l.getColumn(r,0,_)),e.magnitude(l.getColumn(r,1,_)),e.magnitude(l.getColumn(r,2,_)))*t.radius,i},c.transformWithoutScale=function(e,t,r){return n(r)||(r=new c),r.center=l.multiplyByPoint(t,e.center,r.center),r.radius=e.radius,r};var P=new e;c.getPlaneDistances=function(t,r,i,o){n(o)||(o=new u);var a=e.subtract(t.center,r,P),s=e.multiplyByScalar(i,e.dot(i,a),P),l=e.magnitude(s);return o.start=l-t.radius,o.stop=l+t.radius,o};for(var R=new e,z=new e,L=new e,F=new e,U=new e,B=new t,q=new Array(8),G=0;8>G;++G)q[G]=new e;var W=new a;return c.projectTo2D=function(t,n,i){n=r(n,W);var o=n.ellipsoid,a=t.center,s=t.radius,u=o.geodeticSurfaceNormal(a,R),l=e.cross(e.UNIT_Z,u,z);e.normalize(l,l);var f=e.cross(u,l,L);e.normalize(f,f),e.multiplyByScalar(u,s,u),e.multiplyByScalar(f,s,f),e.multiplyByScalar(l,s,l);var h=e.negate(f,U),m=e.negate(l,F),d=q,y=d[0];e.add(u,f,y),e.add(y,l,y),y=d[1],e.add(u,f,y),e.add(y,m,y),y=d[2],e.add(u,h,y),e.add(y,m,y),y=d[3],e.add(u,h,y),e.add(y,l,y),e.negate(u,u),y=d[4],e.add(u,f,y),e.add(y,l,y),y=d[5],e.add(u,f,y),e.add(y,m,y),y=d[6],e.add(u,h,y),e.add(y,m,y),y=d[7],e.add(u,h,y),e.add(y,l,y);for(var p=d.length,v=0;p>v;++v){var g=d[v];e.add(a,g,g);var E=o.cartesianToCartographic(g,B);n.project(E,g)}i=c.fromPoints(d,i),a=i.center;var w=a.x,S=a.y,x=a.z;return a.x=x,a.y=w,a.z=S,i},c.equals=function(t,r){return t===r||n(t)&&n(r)&&e.equals(t.center,r.center)&&t.radius===r.radius},c.prototype.clone=function(e){return c.clone(this,e)},c.prototype.union=function(e,t){return c.union(this,e,t)},c.prototype.expand=function(e,t){return c.expand(this,e,t)},c.prototype.intersect=function(e){return c.intersect(this,e)},c.prototype.getPlaneDistances=function(e,t,r){return c.getPlaneDistances(this,e,t,r)},c.prototype.projectTo2D=function(e,t){return c.projectTo2D(this,e,t)},c.prototype.equals=function(e){return c.equals(this,e)},c}),define("Core/Fullscreen",["./defined"],function(e){"use strict";var t,r={requestFullscreen:void 0,exitFullscreen:void 0,fullscreenEnabled:void 0,fullscreenElement:void 0,fullscreenchange:void 0,fullscreenerror:void 0},n={};return n.supportsFullscreen=function(){if(e(t))return t;t=!1;var n=document.body;if("function"==typeof n.requestFullscreen)return r.requestFullscreen="requestFullscreen",r.exitFullscreen="exitFullscreen",r.fullscreenEnabled="fullscreenEnabled",r.fullscreenElement="fullscreenElement",r.fullscreenchange="fullscreenchange",r.fullscreenerror="fullscreenerror",t=!0;for(var i,o=["webkit","moz","o","ms","khtml"],a=0,s=o.length;s>a;++a){var u=o[a];i=u+"RequestFullscreen","function"==typeof n[i]?(r.requestFullscreen=i,t=!0):(i=u+"RequestFullScreen","function"==typeof n[i]&&(r.requestFullscreen=i,t=!0)),i=u+"ExitFullscreen","function"==typeof document[i]?r.exitFullscreen=i:(i=u+"CancelFullScreen","function"==typeof document[i]&&(r.exitFullscreen=i)),i=u+"FullscreenEnabled",e(document[i])?r.fullscreenEnabled=i:(i=u+"FullScreenEnabled",e(document[i])&&(r.fullscreenEnabled=i)),i=u+"FullscreenElement",e(document[i])?r.fullscreenElement=i:(i=u+"FullScreenElement",e(document[i])&&(r.fullscreenElement=i)),i=u+"fullscreenchange",e(document["on"+i])&&("ms"===u&&(i="MSFullscreenChange"),r.fullscreenchange=i),i=u+"fullscreenerror",e(document["on"+i])&&("ms"===u&&(i="MSFullscreenError"),r.fullscreenerror=i)}return t},n.requestFullscreen=function(e){n.supportsFullscreen()&&e[r.requestFullscreen]()},n.exitFullscreen=function(){n.supportsFullscreen()&&document[r.exitFullscreen]()},n.isFullscreenEnabled=function(){return n.supportsFullscreen()?document[r.fullscreenEnabled]:void 0},n.getFullscreenElement=function(){return n.supportsFullscreen()?document[r.fullscreenElement]:void 0},n.isFullscreen=function(){return n.supportsFullscreen()?null!==n.getFullscreenElement():void 0},n.getFullscreenChangeEventName=function(){return n.supportsFullscreen()?r.fullscreenchange:void 0},n.getFullscreenErrorEventName=function(){return n.supportsFullscreen()?r.fullscreenerror:void 0},n}),define("Core/FeatureDetection",["./defined","./Fullscreen"],function(e,t){"use strict";function r(e){for(var t=e.split("."),r=0,n=t.length;n>r;++r)t[r]=parseInt(t[r],10);return t}function n(){if(!e(f)){var t=/ Chrome\/([\.0-9]+)/.exec(navigator.userAgent);null===t?f=!1:(f=!0,h=r(t[1]))}return f}function i(){return n()&&h}function o(){if(!e(m))if(n()||!/ Safari\/[\.0-9]+/.test(navigator.userAgent))m=!1;else{var t=/ Version\/([\.0-9]+)/.exec(navigator.userAgent);null===t?m=!1:(m=!0,d=r(t[1]))}return m}function a(){return o()&&d}function s(){if(!e(y)){var t=/ AppleWebKit\/([\.0-9]+)(\+?)/.exec(navigator.userAgent);null===t?y=!1:(y=!0,p=r(t[1]),p.isNightly=!!t[2])}return y}function u(){return s()&&p}function l(){if(!e(v)){var t;"Microsoft Internet Explorer"===navigator.appName?(t=/MSIE ([0-9]{1,}[\.0-9]{0,})/.exec(navigator.userAgent),null!==t&&(v=!0,g=r(t[1]))):"Netscape"===navigator.appName?(t=/Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/.exec(navigator.userAgent),null!==t&&(v=!0,g=r(t[1]))):v=!1}return v}function c(){return l()&&g}var f,h,m,d,y,p,v,g,E={isChrome:n,chromeVersion:i,isSafari:o,safariVersion:a,isWebkit:s,webkitVersion:u,isInternetExplorer:l,internetExplorerVersion:c};E.supportsFullscreen=function(){return t.supportsFullscreen()},E.supportsTypedArrays=function(){return"undefined"!=typeof ArrayBuffer};var w;return E.supportsTransferringArrayBuffers=function(){if(!e(w)){if(!E.supportsTypedArrays())return w=!1,void 0;var t=new ArrayBuffer(1);try{postMessage({value:t},[t]),w=!0}catch(r){w=!1}}return w},E}),define("Core/ComponentDatatype",["./defaultValue","./defined","./DeveloperError","./FeatureDetection","./Enumeration"],function(e,t,r,n,i){"use strict";if(!n.supportsTypedArrays())return{};var o={BYTE:new i(5120,"BYTE",{sizeInBytes:Int8Array.BYTES_PER_ELEMENT}),UNSIGNED_BYTE:new i(5121,"UNSIGNED_BYTE",{sizeInBytes:Uint8Array.BYTES_PER_ELEMENT}),SHORT:new i(5122,"SHORT",{sizeInBytes:Int16Array.BYTES_PER_ELEMENT}),UNSIGNED_SHORT:new i(5123,"UNSIGNED_SHORT",{sizeInBytes:Uint16Array.BYTES_PER_ELEMENT}),FLOAT:new i(5126,"FLOAT",{sizeInBytes:Float32Array.BYTES_PER_ELEMENT}),DOUBLE:new i(5130,"DOUBLE",{sizeInBytes:Float64Array.BYTES_PER_ELEMENT})};return o.validate=function(e){return t(e)&&t(e.value)&&(e.value===o.BYTE.value||e.value===o.UNSIGNED_BYTE.value||e.value===o.SHORT.value||e.value===o.UNSIGNED_SHORT.value||e.value===o.FLOAT.value||e.value===o.DOUBLE.value)},o.createTypedArray=function(e,t){switch(e.value){case o.BYTE.value:return new Int8Array(t);case o.UNSIGNED_BYTE.value:return new Uint8Array(t);case o.SHORT.value:return new Int16Array(t);case o.UNSIGNED_SHORT.value:return new Uint16Array(t);case o.FLOAT.value:return new Float32Array(t);case o.DOUBLE.value:return new Float64Array(t);default:throw new r("componentDatatype is not a valid enumeration value.")}},o.createArrayBufferView=function(t,n,i,a){switch(i=e(i,0),a=e(a,(n.byteLength-i)/t.sizeInBytes),t.value){case o.BYTE.value:return new Int8Array(n,i,a);case o.UNSIGNED_BYTE.value:return new Uint8Array(n,i,a);case o.SHORT.value:return new Int16Array(n,i,a);case o.UNSIGNED_SHORT.value:return new Uint16Array(n,i,a);case o.FLOAT.value:return new Float32Array(n,i,a);case o.DOUBLE.value:return new Float64Array(n,i,a);default:throw new r("componentDatatype is not a valid enumeration value.")}},o}),define("ThirdParty/Uri",[],function(){function e(t){if(t instanceof e)this.scheme=t.scheme,this.authority=t.authority,this.path=t.path,this.query=t.query,this.fragment=t.fragment;else if(t){var r=n.exec(t);this.scheme=r[1],this.authority=r[2],this.path=r[3],this.query=r[4],this.fragment=r[5]}}function t(e){var t=unescape(e);return o.test(t)?t:e.toUpperCase()}function r(e,t,r,n){return(t||"")+r.toLowerCase()+(n||"")}e.prototype.scheme=null,e.prototype.authority=null,e.prototype.path="",e.prototype.query=null,e.prototype.fragment=null;var n=new RegExp("^(?:([^:/?#]+):)?(?://([^/?#]*))?([^?#]*)(?:\\?([^#]*))?(?:#(.*))?$");e.prototype.getScheme=function(){return this.scheme},e.prototype.getAuthority=function(){return this.authority},e.prototype.getPath=function(){return this.path},e.prototype.getQuery=function(){return this.query},e.prototype.getFragment=function(){return this.fragment},e.prototype.isAbsolute=function(){return!!this.scheme&&!this.fragment},e.prototype.isSameDocumentAs=function(e){return e.scheme==this.scheme&&e.authority==this.authority&&e.path==this.path&&e.query==this.query},e.prototype.equals=function(e){return this.isSameDocumentAs(e)&&e.fragment==this.fragment},e.prototype.normalize=function(){this.removeDotSegments(),this.scheme&&(this.scheme=this.scheme.toLowerCase()),this.authority&&(this.authority=this.authority.replace(a,r).replace(i,t)),this.path&&(this.path=this.path.replace(i,t)),this.query&&(this.query=this.query.replace(i,t)),this.fragment&&(this.fragment=this.fragment.replace(i,t))};var i=/%[0-9a-z]{2}/gi,o=/[a-zA-Z0-9\-\._~]/,a=/(.*@)?([^@:]*)(:.*)?/;return e.prototype.resolve=function(t){var r=new e;return this.scheme?(r.scheme=this.scheme,r.authority=this.authority,r.path=this.path,r.query=this.query):(r.scheme=t.scheme,this.authority?(r.authority=this.authority,r.path=this.path,r.query=this.query):(r.authority=t.authority,""==this.path?(r.path=t.path,r.query=this.query||t.query):("/"==this.path.charAt(0)?(r.path=this.path,r.removeDotSegments()):(r.path=t.authority&&""==t.path?"/"+this.path:t.path.substring(0,t.path.lastIndexOf("/")+1)+this.path,r.removeDotSegments()),r.query=this.query))),r.fragment=this.fragment,r},e.prototype.removeDotSegments=function(){var e,t=this.path.split("/"),r=[],n=""==t[0];for(n&&t.shift(),""==t[0]?t.shift():null;t.length;)e=t.shift(),".."==e?r.pop():"."!=e&&r.push(e);("."==e||".."==e)&&r.push(""),n&&r.unshift(""),this.path=r.join("/")},e.prototype.toString=function(){var e="";return this.scheme&&(e+=this.scheme+":"),this.authority&&(e+="//"+this.authority),e+=this.path,this.query&&(e+="?"+this.query),this.fragment&&(e+="#"+this.fragment),e},e}),define("Core/buildModuleUrl",["require","./defined","./DeveloperError","../ThirdParty/Uri"],function(e,t,r,n){"use strict";function i(){for(var e=document.getElementsByTagName("script"),t=0,r=e.length;r>t;++t){var n=e[t].getAttribute("src"),i=f.exec(n);if(null!==i)return i[1]}return void 0}function o(){if(t(u))return u;var e;if(e="undefined"!=typeof CESIUM_BASE_URL?CESIUM_BASE_URL:i(),!t(e))throw new r("Unable to determine Cesium base URL automatically, try defining a global variable called CESIUM_BASE_URL.");return u=new n(e).resolve(new n(document.location.href))}function a(t){return e.toUrl("../"+t)}function s(e){return new n(e).resolve(o()).toString()}var u,l,c,f=/((?:.*\/)|^)cesium[\w-]*\.js(?:\W|$)/i,h=function(r){t(l)||(l=t(e.toUrl)?a:s),t(c)||(c=document.createElement("a"));var n=l(r);return c.href=n,c.href=c.href,c.href};return h._cesiumScriptRegex=f,h}),define("Core/Iau2006XysSample",[],function(){"use strict";var e=function(e,t,r){this.x=e,this.y=t,this.s=r};return e}),define("Core/binarySearch",["./defined","./DeveloperError"],function(){"use strict";var e=function(e,t,r){for(var n,i,o=0,a=e.length-1;a>=o;)if(n=~~((o+a)/2),i=r(e[n],t),0>i)o=n+1;else{if(!(i>0))return n;a=n-1}return~(a+1)};return e}),define("Core/TimeConstants",[],function(){"use strict";var e={SECONDS_PER_MILLISECOND:.001,SECONDS_PER_MINUTE:60,MINUTES_PER_HOUR:60,HOURS_PER_DAY:24,SECONDS_PER_HOUR:3600,MINUTES_PER_DAY:1440,SECONDS_PER_DAY:86400,DAYS_PER_JULIAN_CENTURY:36525,PICOSECOND:1e-9,MODIFIED_JULIAN_DATE_DIFFERENCE:2400000.5};return e}),define("Core/isArray",["./defined"],function(e){"use strict";var t=Array.isArray;return e(t)||(t=function(e){return"[object Array]"===Object.prototype.toString.call(e)}),t}),define("Core/LeapSecond",["./defined","./DeveloperError","./isArray"],function(){"use strict";var e=function(e,t){this.julianDate=e,this.offset=t};return e.setLeapSeconds=function(t){e._leapSeconds=t,e._leapSeconds.sort(e.compareLeapSecondDate)},e.getLeapSeconds=function(){return e._leapSeconds},e.prototype.equals=function(e){return this.julianDate.equals(e.julianDate)&&this.offset===e.offset},e.compareLeapSecondDate=function(e,t){return e.julianDate.compareTo(t.julianDate)},e._leapSeconds=[],e}),define("Core/TimeStandard",[],function(){"use strict";var e={UTC:0,TAI:1};return e}),define("Core/isLeapYear",["./DeveloperError"],function(){"use strict";function e(e){return 0===e%4&&0!==e%100||0===e%400}return e}),define("ThirdParty/sprintf",[],function(){function e(){var e=/%%|%(\d+\$)?([-+\'#0 ]*)(\*\d+\$|\*|\d+)?(\.(\*\d+\$|\*|\d+))?([scboxXuideEfFgG])/g,t=arguments,r=0,n=t[r++],i=function(e,t,r,n){r||(r=" ");var i=e.length>=t?"":Array(1+t-e.length>>>0).join(r);return n?e+i:i+e},o=function(e,t,r,n,o,a){var s=n-e.length;return s>0&&(e=r||!o?i(e,n,a,r):e.slice(0,t.length)+i("",s,"0",!0)+e.slice(t.length)),e},a=function(e,t,r,n,a,s,u){var l=e>>>0;return r=r&&l&&{2:"0b",8:"0",16:"0x"}[t]||"",e=r+i(l.toString(t),s||0,"0",!1),o(e,r,n,a,u)},s=function(e,t,r,n,i,a){return null!=n&&(e=e.slice(0,n)),o(e,"",t,r,i,a)},u=function(e,n,u,l,c,f,h){var m,d,y,p,v;if("%%"==e)return"%";for(var g=!1,E="",w=!1,S=!1,x=" ",C=u.length,O=0;u&&C>O;O++)switch(u.charAt(O)){case" ":E=" ";break;case"+":E="+";break;case"-":g=!0;break;case"'":x=u.charAt(O+1);break;case"0":w=!0;break;case"#":S=!0}if(l=l?"*"==l?+t[r++]:"*"==l.charAt(0)?+t[l.slice(1,-1)]:+l:0,0>l&&(l=-l,g=!0),!isFinite(l))throw new Error("sprintf: (minimum-)width must be finite");switch(f=f?"*"==f?+t[r++]:"*"==f.charAt(0)?+t[f.slice(1,-1)]:+f:"fFeE".indexOf(h)>-1?6:"d"==h?0:void 0,v=n?t[n.slice(0,-1)]:t[r++],h){case"s":return s(String(v),g,l,f,w,x);case"c":return s(String.fromCharCode(+v),g,l,f,w);case"b":return a(v,2,S,g,l,f,w);case"o":return a(v,8,S,g,l,f,w);case"x":return a(v,16,S,g,l,f,w);case"X":return a(v,16,S,g,l,f,w).toUpperCase();case"u":return a(v,10,S,g,l,f,w);case"i":case"d":return m=+v||0,m=Math.round(m-m%1),d=0>m?"-":E,v=d+i(String(Math.abs(m)),f,"0",!1),o(v,d,g,l,w);case"e":case"E":case"f":case"F":case"g":case"G":return m=+v,d=0>m?"-":E,y=["toExponential","toFixed","toPrecision"]["efg".indexOf(h.toLowerCase())],p=["toString","toUpperCase"]["eEfFgG".indexOf(h)%2],v=d+Math.abs(m)[y](f),o(v,d,g,l,w)[p]();default:return e}};return n.replace(e,u)}return e}),define("Core/JulianDate",["./DeveloperError","./binarySearch","./defined","./defaultValue","./TimeConstants","./LeapSecond","./TimeStandard","./isLeapYear","../ThirdParty/sprintf"],function(e,t,r,n,i,o,a,s,u){"use strict";function l(e){v.julianDate=e;var r=o.getLeapSeconds(),n=t(r,v,o.compareLeapSecondDate);0>n&&(n=~n),n>=r.length&&(n=r.length-1);var i=r[n].offset;if(n>0){var a=e.getSecondsDifference(r[n].julianDate);a>i&&(n--,i=r[n].offset)}e.addSeconds(i,e)}function c(e,r){v.julianDate=e;var n=o.getLeapSeconds(),i=t(n,v,o.compareLeapSecondDate);if(0>i&&(i=~i),0===i)return e.addSeconds(-n[0].offset,r);if(i>=n.length)return e.addSeconds(-n[i-1].offset,r);var a=e.getSecondsDifference(n[i].julianDate);return 0===a?e.addSeconds(-n[i].offset,r):1>=a?void 0:e.addSeconds(-n[--i].offset,r)}function f(e,t,n){var o=0|t/i.SECONDS_PER_DAY;return e+=o,t-=i.SECONDS_PER_DAY*o,0>t&&(e--,t+=i.SECONDS_PER_DAY),r(n)?(n._julianDayNumber=e,n._secondsOfDay=t,n):new I(e,t,a.TAI)}function h(e,t,r,n,o,a,s){var u=0|(t-14)/12,l=e+4800+u,c=(0|1461*l/4)+(0|367*(t-2-12*u)/12)-(0|3*((l+100)/100)/4)+r-32075;n-=12,0>n&&(n+=24);var f=a+(n*i.SECONDS_PER_HOUR+o*i.SECONDS_PER_MINUTE+s*i.SECONDS_PER_MILLISECOND);return f>=43200&&(c-=1),[c,f]}function m(e){return h(e.getUTCFullYear(),e.getUTCMonth()+1,e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds())}var d=function(e,t,r,n,i,o,a,s){this.year=e,this.month=t,this.day=r,this.hour=n,this.minute=i,this.second=o,this.millisecond=a,this.isLeapSecond=s},y=[31,28,31,30,31,30,31,31,30,31,30,31],p=29,v={julianDate:void 0},g=/^(\d{4})$/,E=/^(\d{4})-(\d{2})$/,w=/^(\d{4})-?(\d{3})$/,S=/^(\d{4})-?W(\d{2})-?(\d{1})?$/,x=/^(\d{4})-?(\d{2})-?(\d{2})$/,C=/([Z+\-])?(\d{2})?:?(\d{2})?$/,O=/^(\d{2})(\.\d+)?/.source+C.source,T=/^(\d{2}):?(\d{2})(\.\d+)?/.source+C.source,A=/^(\d{2}):?(\d{2}):?(\d{2})(\.\d+)?/.source+C.source,M="Valid ISO 8601 date string required.",I=function(e,t,o){this._julianDayNumber=void 0,this._secondsOfDay=void 0;var s,u;if(r(e)||r(t)||r(o))o=n(o,a.UTC),s=0|e,u=t+(e-s)*i.SECONDS_PER_DAY;else{var c=new Date,h=m(c);s=h[0],u=h[1],o=a.UTC}f(s,u,this),o===a.UTC&&l(this)};I.clone=function(e,t){return r(e)?r(t)?(t._julianDayNumber=e._julianDayNumber,t._secondsOfDay=e._secondsOfDay,t):new I(e._julianDayNumber,e._secondsOfDay,a.TAI):void 0 +},I.fromDate=function(e,t){var r=m(e);return new I(r[0],r[1],t)},I.fromIso8601=function(t){t=t.replace(",",".");var n,i,o,u=t.split("T"),l=1,c=1,f=0,m=0,d=0,v=0,C=u[0],b=u[1];if(!r(C))throw new e(M);var N;if(u=C.match(x),null!==u){if(N=C.split("-").length-1,N>0&&2!==N)throw new e(M);n=+u[1],l=+u[2],c=+u[3]}else if(u=C.match(E),null!==u)n=+u[1],l=+u[2];else if(u=C.match(g),null!==u)n=+u[1];else{var D;if(u=C.match(w),null!==u){if(n=+u[1],D=+u[2],o=s(n),1>D||o&&D>366||!o&&D>365)throw new e(M)}else{if(u=C.match(S),null===u)throw new e(M);n=+u[1];var _=+u[2],P=+u[3]||0;if(N=C.split("-").length-1,N>0&&(!r(u[3])&&1!==N||r(u[3])&&2!==N))throw new e(M);var R=new Date(Date.UTC(n,0,4));D=7*_+P-R.getUTCDay()-3}i=new Date(Date.UTC(n,0,1)),i.setUTCDate(D),l=i.getUTCMonth()+1,c=i.getUTCDate()}if(o=s(n),1>l||l>12||1>c||(2!==l||!o)&&c>y[l-1]||o&&2===l&&c>p)throw new e(M);var z;if(r(b)){if(u=b.match(A),null!==u){if(N=b.split(":").length-1,N>0&&2!==N&&3!==N)throw new e(M);f=+u[1],m=+u[2],d=+u[3],v=1e3*+(u[4]||0),z=5}else if(u=b.match(T),null!==u){if(N=b.split(":").length-1,N>0&&1!==N)throw new e(M);f=+u[1],m=+u[2],d=60*+(u[3]||0),z=4}else{if(u=b.match(O),null===u)throw new e(M);f=+u[1],m=60*+(u[2]||0),z=3}if(m>=60||d>=61||f>24||24===f&&(m>0||d>0||v>0))throw new e(M);var L=u[z],F=+u[z+1],U=+(u[z+2]||0);switch(L){case"+":f-=F,m-=U;break;case"-":f+=F,m+=U;break;case"Z":break;default:m+=new Date(Date.UTC(n,l-1,c,f,m)).getTimezoneOffset()}}else m+=new Date(Date.UTC(n,l-1,c)).getTimezoneOffset();var B=60===d;for(B&&d--;m>=60;)m-=60,f++;for(;f>=24;)f-=24,c++;for(i=o&&2===l?p:y[l-1];c>i;)c-=i,l++,l>12&&(l-=12,n++),i=o&&2===l?p:y[l-1];for(;0>m;)m+=60,f--;for(;0>f;)f+=24,c--;for(;1>c;)l--,1>l&&(l+=12,n--),i=o&&2===l?p:y[l-1],c+=i;var q=h(n,l,c,f,m,d,v),G=new I(q[0],q[1],a.UTC);return B&&G.addSeconds(1,G),G},I.fromTotalDays=function(e,t){return new I(e,0,t)},I.compare=function(e,t){var r=e._julianDayNumber-t._julianDayNumber;return 0!==r?r:e._secondsOfDay-t._secondsOfDay},I.equals=function(e,t){return e===t||r(e)&&r(t)&&e._julianDayNumber===t._julianDayNumber&&e._secondsOfDay===t._secondsOfDay},I.equalsEpsilon=function(e,t,r){return Math.abs(e.getSecondsDifference(t))<=r},I.prototype.clone=function(e){return I.clone(this,e)},I.prototype.getTotalDays=function(){return this._julianDayNumber+this._secondsOfDay/i.SECONDS_PER_DAY},I.prototype.getJulianDayNumber=function(){return this._julianDayNumber},I.prototype.getJulianTimeFraction=function(){return this._secondsOfDay/i.SECONDS_PER_DAY},I.prototype.getSecondsOfDay=function(){return this._secondsOfDay};var b=new I(0,0,a.TAI);return I.prototype.toGregorianDate=function(){var e=!1,t=c(this,b);r(t)||(this.addSeconds(-1,b),t=c(b,b),e=!0);var n=t._julianDayNumber,o=t._secondsOfDay;o>=43200&&(n+=1);var a=0|n+68569,s=0|4*a/146097;a=0|a-(0|(146097*s+3)/4);var u=0|4e3*(a+1)/1461001;a=0|a-(0|1461*u/4)+31;var l=0|80*a/2447,f=0|a-(0|2447*l/80);a=0|l/11;var h=0|l+2-12*a,m=0|100*(s-49)+u+a,y=0|o/i.SECONDS_PER_HOUR,p=o-y*i.SECONDS_PER_HOUR,v=0|p/i.SECONDS_PER_MINUTE;p-=v*i.SECONDS_PER_MINUTE;var g=0|p,E=(p-g)/i.SECONDS_PER_MILLISECOND;return y+=12,y>23&&(y-=24),e&&(g+=1),new d(m,h,f,y,v,g,E,e)},I.prototype.toDate=function(){var e=this.toGregorianDate(),t=e.second;return e.isLeapSecond&&(t-=1),new Date(Date.UTC(e.year,e.month-1,e.day,e.hour,e.minute,t,e.millisecond))},I.prototype.toIso8601=function(e){var t,n=this.toGregorianDate();return r(e)||0===n.millisecond?r(e)&&0!==e?(t=(.01*n.millisecond).toFixed(e).replace(".","").slice(0,e),u("%04d-%02d-%02dT%02d:%02d:%02d.%sZ",n.year,n.month,n.day,n.hour,n.minute,n.second,t)):u("%04d-%02d-%02dT%02d:%02d:%02dZ",n.year,n.month,n.day,n.hour,n.minute,n.second):(t=(.01*n.millisecond).toString().replace(".",""),u("%04d-%02d-%02dT%02d:%02d:%02d.%sZ",n.year,n.month,n.day,n.hour,n.minute,n.second,t))},I.prototype.getSecondsDifference=function(e){var t=this,r=e,n=(r._julianDayNumber-t._julianDayNumber)*i.SECONDS_PER_DAY;return n+(r._secondsOfDay-t._secondsOfDay)},I.prototype.getMinutesDifference=function(e){return this.getSecondsDifference(e)/i.SECONDS_PER_MINUTE},I.prototype.getDaysDifference=function(e){var t=this,r=e,n=r._julianDayNumber-t._julianDayNumber,o=(r._secondsOfDay-t._secondsOfDay)/i.SECONDS_PER_DAY;return n+o},I.prototype.getTaiMinusUtc=function(){v.julianDate=this;var e=o.getLeapSeconds(),r=t(e,v,o.compareLeapSecondDate);return 0>r&&(r=~r,--r,0>r&&(r=0)),e[r].offset},I.prototype.addSeconds=function(e,t){return f(this._julianDayNumber,this._secondsOfDay+e,t)},I.prototype.addMinutes=function(e){var t=this._secondsOfDay+e*i.SECONDS_PER_MINUTE;return new I(this._julianDayNumber,t,a.TAI)},I.prototype.addHours=function(e){var t=this._secondsOfDay+e*i.SECONDS_PER_HOUR;return new I(this._julianDayNumber,t,a.TAI)},I.prototype.addDays=function(e){var t=this._julianDayNumber+e;return new I(t,this._secondsOfDay,a.TAI)},I.prototype.lessThan=function(e){return I.compare(this,e)<0},I.prototype.lessThanOrEquals=function(e){return I.compare(this,e)<=0},I.prototype.greaterThan=function(e){return I.compare(this,e)>0},I.prototype.greaterThanOrEquals=function(e){return I.compare(this,e)>=0},I.prototype.compareTo=function(e){return I.compare(this,e)},I.prototype.equals=function(e){return I.equals(this,e)},I.prototype.equalsEpsilon=function(e,t){return I.equalsEpsilon(this,e,t)},0===o._leapSeconds.length&&(o._leapSeconds=[new o(new I(2441317,43210,a.TAI),10),new o(new I(2441499,43211,a.TAI),11),new o(new I(2441683,43212,a.TAI),12),new o(new I(2442048,43213,a.TAI),13),new o(new I(2442413,43214,a.TAI),14),new o(new I(2442778,43215,a.TAI),15),new o(new I(2443144,43216,a.TAI),16),new o(new I(2443509,43217,a.TAI),17),new o(new I(2443874,43218,a.TAI),18),new o(new I(2444239,43219,a.TAI),19),new o(new I(2444786,43220,a.TAI),20),new o(new I(2445151,43221,a.TAI),21),new o(new I(2445516,43222,a.TAI),22),new o(new I(2446247,43223,a.TAI),23),new o(new I(2447161,43224,a.TAI),24),new o(new I(2447892,43225,a.TAI),25),new o(new I(2448257,43226,a.TAI),26),new o(new I(2448804,43227,a.TAI),27),new o(new I(2449169,43228,a.TAI),28),new o(new I(2449534,43229,a.TAI),29),new o(new I(2450083,43230,a.TAI),30),new o(new I(2450630,43231,a.TAI),31),new o(new I(2451179,43232,a.TAI),32),new o(new I(2453736,43233,a.TAI),33),new o(new I(2454832,43234,a.TAI),34),new o(new I(2456109,43235,a.TAI),35)]),I}),define("Core/clone",["./defaultValue"],function(e){"use strict";var t=function(r,n){if(null===r||"object"!=typeof r)return r;n=e(n,!1);var i=new r.constructor;for(var o in r)if(r.hasOwnProperty(o)){var a=r[o];n&&(a=t(a,n)),i[o]=a}return i};return t}),define("Core/parseResponseHeaders",[],function(){"use strict";var e=function(e){var t={};if(!e)return t;for(var r=e.split("\r\n"),n=0;n0){var a=i.substring(0,o),s=i.substring(o+2);t[a]=s}}return t};return e}),define("Core/RequestErrorEvent",["./defined","./parseResponseHeaders"],function(e,t){"use strict";var r=function(e,r,n){this.statusCode=e,this.response=r,this.responseHeaders=n,"string"==typeof this.responseHeaders&&(this.responseHeaders=t(this.responseHeaders))};return r.prototype.toString=function(){var t="Request has failed.";return e(this.statusCode)&&(t+=" Status Code: "+this.statusCode),t},r}),function(e){"use strict";e("ThirdParty/when",[],function(){function e(e,r,n,i){return t(e).then(r,n,i)}function t(e){var t,r;return e instanceof n?t=e:s(e)?(r=a(),e.then(function(e){r.resolve(e)},function(e){r.reject(e)},function(e){r.progress(e)}),t=r.promise):t=i(e),t}function r(t){return e(t,o)}function n(e){this.then=e}function i(e){var r=new n(function(r){try{return t(r?r(e):e)}catch(n){return o(n)}});return r}function o(e){var r=new n(function(r,n){try{return n?t(n(e)):o(e)}catch(i){return o(i)}});return r}function a(){function e(e,t,r){return h(e,t,r)}function r(e){return d(e)}function i(e){return d(o(e))}function s(e){return m(e)}var u,l,c,f,h,m,d;return l=new n(e),u={then:e,resolve:r,reject:i,progress:s,promise:l,resolver:{resolve:r,reject:i,progress:s}},c=[],f=[],h=function(e,t,r){var n,i;return n=a(),i="function"==typeof r?function(e){try{n.progress(r(e))}catch(t){n.progress(t)}}:function(e){n.progress(e)},c.push(function(r){r.then(e,t).then(n.resolve,n.reject,i)}),f.push(i),n.promise},m=function(e){return y(f,e),e},d=function(e){return e=t(e),h=e.then,d=t,m=v,y(c,e),f=c=S,e},u}function s(e){return e&&"function"==typeof e.then}function u(t,r,n,i,o){return p(2,arguments),e(t,function(t){function s(e){y(e)}function u(e){d(e)}var l,c,f,h,m,d,y,p,g,E;if(g=t.length>>>0,l=Math.max(0,Math.min(r,g)),f=[],c=g-l+1,h=[],m=a(),l)for(p=m.progress,y=function(e){h.push(e),--c||(d=y=v,m.reject(h))},d=function(e){f.push(e),--l||(d=y=v,m.resolve(f))},E=0;g>E;++E)E in t&&e(t[E],u,s,p);else m.resolve(f);return m.then(n,i,o)})}function l(e,t,r,n){function i(e){return t?t(e[0]):e[0]}return u(e,1,i,r,n)}function c(e,t,r,n){return p(1,arguments),h(e,g).then(t,r,n)}function f(){return h(arguments,g)}function h(t,r){return e(t,function(t){var n,i,o,s,u,l;if(o=i=t.length>>>0,n=[],l=a(),o)for(s=function(t,i){e(t,r).then(function(e){n[i]=e,--o||l.resolve(n)},l.reject)},u=0;i>u;u++)u in t?s(t[u],u):--o;else l.resolve(n);return l.promise})}function m(t,r){var n=w.call(arguments,1);return e(t,function(t){var i;return i=t.length,n[0]=function(t,n,o){return e(t,function(t){return e(n,function(e){return r(t,e,o,i)})})},E.apply(t,n)})}function d(t,r,n){var i=arguments.length>2;return e(t,function(e){return e=i?n:e,r.resolve(e),e},function(e){return r.reject(e),o(e)},r.progress)}function y(e,t){for(var r,n=0;r=e[n++];)r(t)}function p(e,t){for(var r,n=t.length;n>e;)if(r=t[--n],null!=r&&"function"!=typeof r)throw new Error("arg "+n+" must be a function")}function v(){}function g(e){return e}var E,w,S;return e.defer=a,e.resolve=t,e.reject=r,e.join=f,e.all=c,e.map=h,e.reduce=m,e.any=l,e.some=u,e.chain=d,e.isPromise=s,n.prototype={always:function(e,t){return this.then(e,e,t)},otherwise:function(e){return this.then(S,e)},yield:function(e){return this.then(function(){return e})},spread:function(e){return this.then(function(t){return c(t,function(t){return e.apply(S,t)})})}},w=[].slice,E=[].reduce||function(e){var t,r,n,i,o;if(o=0,t=Object(this),i=t.length>>>0,r=arguments,r.length<=1)for(;;){if(o in t){n=t[o++];break}if(++o>=i)throw new TypeError}else n=r[1];for(;i>o;++o)o in t&&(n=e(n,t[o],o,t));return n},e})}("function"==typeof define&&define.amd?define:function(e){"object"==typeof exports?module.exports=e():this.when=e()}),define("Core/loadWithXhr",["./defined","./defaultValue","./DeveloperError","./RequestErrorEvent","../ThirdParty/when"],function(e,t,r,n,i){"use strict";var o=function(e){e=t(e,t.EMPTY_OBJECT);var r=e.responseType,n=t(e.method,"GET"),a=e.data,s=e.headers;return i(e.url,function(e){var t=i.defer();return o.load(e,r,n,a,s,t),t.promise})};return o.load=function(t,r,i,o,a,s){var u=new XMLHttpRequest;if(u.open(i,t,!0),e(a))for(var l in a)a.hasOwnProperty(l)&&u.setRequestHeader(l,a[l]);e(r)&&(u.responseType=r),u.onload=function(){200===u.status?s.resolve(u.response):s.reject(new n(u.status,u.response,u.getAllResponseHeaders()))},u.onerror=function(){s.reject(new n)},u.send(o)},o.defaultLoad=o.load,o}),define("Core/loadText",["./loadWithXhr"],function(e){"use strict";var t=function(t,r){return e({url:t,headers:r})};return t}),define("Core/loadJson",["./clone","./defined","./loadText","./DeveloperError"],function(e,t,r){"use strict";var n={Accept:"application/json,*/*;q=0.01"},i=function(i,o){return t(o)?t(o.Accept)||(o=e(o),o.Accept=n.Accept):o=n,r(i,o).then(function(e){return JSON.parse(e)})};return i}),define("Core/Iau2006XysData",["./buildModuleUrl","./defaultValue","./defined","./Iau2006XysSample","./JulianDate","./loadJson","./TimeStandard","../ThirdParty/when"],function(e,t,r,n,i,o,a,s){"use strict";function u(e,t,r){var n=f;return n._julianDayNumber=t,n._secondsOfDay=r,e._sampleZeroDateTT.getDaysDifference(n)}function l(t,n){if(t._chunkDownloadsInProgress[n])return t._chunkDownloadsInProgress[n];var i=s.defer();t._chunkDownloadsInProgress[n]=i;var a,u=t._xysFileUrlTemplate;return a=r(u)?u.replace("{0}",n):e("Assets/IAU2006_XYS/IAU2006_XYS_"+n+".json"),s(o(a),function(e){t._chunkDownloadsInProgress[n]=!1;for(var r=t._samples,o=e.samples,a=3*n*t._samplesPerXysFile,s=0,u=o.length;u>s;++s)r[a+s]=o[s];i.resolve()}),i.promise}var c=function(e){e=t(e,t.EMPTY_OBJECT),this._xysFileUrlTemplate=e.xysFileUrlTemplate,this._interpolationOrder=t(e.interpolationOrder,9),this._sampleZeroJulianEphemerisDate=t(e.sampleZeroJulianEphemerisDate,2442396.5),this._sampleZeroDateTT=new i(this._sampleZeroJulianEphemerisDate,0,a.TAI),this._stepSizeDays=t(e.stepSizeDays,1),this._samplesPerXysFile=t(e.samplesPerXysFile,1e3),this._totalSamples=t(e.totalSamples,27426),this._samples=new Array(3*this._totalSamples),this._chunkDownloadsInProgress=[];for(var r=this._interpolationOrder,n=this._denominators=new Array(r+1),o=this._xTable=new Array(r+1),s=Math.pow(this._stepSizeDays,r),u=0;r>=u;++u){n[u]=s,o[u]=u*this._stepSizeDays;for(var l=0;r>=l;++l)l!==u&&(n[u]*=u-l);n[u]=1/n[u]}this._work=new Array(r+1),this._coef=new Array(r+1)},f=new i(0,0,a.TAI);return c.prototype.preload=function(e,t,r,n){var i=u(this,e,t),o=u(this,r,n),a=0|i/this._stepSizeDays-this._interpolationOrder/2;0>a&&(a=0);var c=o/this._stepSizeDays-this._interpolationOrder/2|0+this._interpolationOrder;c>=this._totalSamples&&(c=this._totalSamples-1);for(var f=0|a/this._samplesPerXysFile,h=0|c/this._samplesPerXysFile,m=[],d=f;h>=d;++d)m.push(l(this,d));return s.all(m)},c.prototype.computeXysRadians=function(e,t,i){var o=u(this,e,t);if(0>o)return void 0;var a=0|o/this._stepSizeDays;if(a>=this._totalSamples)return void 0;var s=this._interpolationOrder,c=a-(0|s/2);0>c&&(c=0);var f=c+s;f>=this._totalSamples&&(f=this._totalSamples-1,c=f-s,0>c&&(c=0));var h=!1,m=this._samples;if(r(m[3*c])||(l(this,0|c/this._samplesPerXysFile),h=!0),r(m[3*f])||(l(this,0|f/this._samplesPerXysFile),h=!0),h)return void 0;r(i)?(i.x=0,i.y=0,i.s=0):i=new n(0,0,0);var d,y,p=o-c*this._stepSizeDays,v=this._work,g=this._denominators,E=this._coef,w=this._xTable;for(d=0;s>=d;++d)v[d]=p-w[d];for(d=0;s>=d;++d){for(E[d]=1,y=0;s>=y;++y)y!==d&&(E[d]*=v[y]);E[d]*=g[d];var S=3*(c+d);i.x+=E[d]*m[S++],i.y+=E[d]*m[S++],i.s+=E[d]*m[S]}return i},c}),define("Core/EarthOrientationParametersSample",[],function(){"use strict";var e=function(e,t,r,n,i){this.xPoleWander=e,this.yPoleWander=t,this.xPoleOffset=r,this.yPoleOffset=n,this.ut1MinusUtc=i};return e}),define("Core/EarthOrientationParameters",["./binarySearch","./defaultValue","./defined","./EarthOrientationParametersSample","./freezeObject","./loadJson","./JulianDate","./LeapSecond","./RuntimeError","./TimeConstants","./TimeStandard","../ThirdParty/when"],function(e,t,r,n,i,o,a,s,u,l,c,f){"use strict";function h(e,t){return a.compare(e.julianDate,t)}function m(t,n){if(!r(n.columnNames))return t._dataError="Error in loaded EOP data: The columnNames property is required.",void 0;if(!r(n.samples))return t._dataError="Error in loaded EOP data: The samples property is required.",void 0;var i=n.columnNames.indexOf("modifiedJulianDateUtc"),o=n.columnNames.indexOf("xPoleWanderRadians"),u=n.columnNames.indexOf("yPoleWanderRadians"),f=n.columnNames.indexOf("ut1MinusUtcSeconds"),m=n.columnNames.indexOf("xCelestialPoleOffsetRadians"),d=n.columnNames.indexOf("yCelestialPoleOffsetRadians"),y=n.columnNames.indexOf("taiMinusUtcSeconds");if(0>i||0>o||0>u||0>f||0>m||0>d||0>y)return t._dataError="Error in loaded EOP data: The columnNames property must include modifiedJulianDateUtc, xPoleWanderRadians, yPoleWanderRadians, ut1MinusUtcSeconds, xCelestialPoleOffsetRadians, yCelestialPoleOffsetRadians, and taiMinusUtcSeconds columns",void 0;var p=t._samples=n.samples,v=t._dates=[];t._dateColumn=i,t._xPoleWanderRadiansColumn=o,t._yPoleWanderRadiansColumn=u,t._ut1MinusUtcSecondsColumn=f,t._xCelestialPoleOffsetRadiansColumn=m,t._yCelestialPoleOffsetRadiansColumn=d,t._taiMinusUtcSecondsColumn=y,t._columnCount=n.columnNames.length,t._lastIndex=void 0;for(var g,E=t._addNewLeapSeconds,w=0,S=p.length;S>w;w+=t._columnCount){var x=p[w+i],C=p[w+y],O=x+l.MODIFIED_JULIAN_DATE_DIFFERENCE,T=new a(O,C,c.TAI);if(v.push(T),E){if(C!==g&&r(g)){var A=s.getLeapSeconds(),M=e(A,T,h);if(0>M){var I=new s(T,C);A.splice(~M,0,I)}}g=C}}}function d(e,t,r,n,i){var o=r*n;i.xPoleWander=t[o+e._xPoleWanderRadiansColumn],i.yPoleWander=t[o+e._yPoleWanderRadiansColumn],i.xPoleOffset=t[o+e._xCelestialPoleOffsetRadiansColumn],i.yPoleOffset=t[o+e._yCelestialPoleOffsetRadiansColumn],i.ut1MinusUtc=t[o+e._ut1MinusUtcSecondsColumn]}function y(e,t,r){return t+e*(r-t)}function p(e,t,r,n,i,o,a){var s=e._columnCount;if(o>t.length-1)return a.xPoleWander=0,a.yPoleWander=0,a.xPoleOffset=0,a.yPoleOffset=0,a.ut1MinusUtc=0,a;var u=t[i],l=t[o];if(u.equals(l)||n.equals(u))return d(e,r,i,s,a),a;if(n.equals(l))return d(e,r,o,s,a),a;var c=u.getSecondsDifference(n)/u.getSecondsDifference(l),f=i*s,h=o*s,m=r[f+e._ut1MinusUtcSecondsColumn],p=r[h+e._ut1MinusUtcSecondsColumn],v=p-m;if(v>.5||-.5>v){var g=r[f+e._taiMinusUtcSecondsColumn],E=r[h+e._taiMinusUtcSecondsColumn];g!==E&&(l.equals(n)?m=p:p-=E-g)}return a.xPoleWander=y(c,r[f+e._xPoleWanderRadiansColumn],r[h+e._xPoleWanderRadiansColumn]),a.yPoleWander=y(c,r[f+e._yPoleWanderRadiansColumn],r[h+e._yPoleWanderRadiansColumn]),a.xPoleOffset=y(c,r[f+e._xCelestialPoleOffsetRadiansColumn],r[h+e._xCelestialPoleOffsetRadiansColumn]),a.yPoleOffset=y(c,r[f+e._yCelestialPoleOffsetRadiansColumn],r[h+e._yCelestialPoleOffsetRadiansColumn]),a.ut1MinusUtc=y(c,m,p),a}var v=function(e){if(e=t(e,t.EMPTY_OBJECT),this._dates=void 0,this._samples=void 0,this._dateColumn=-1,this._xPoleWanderRadiansColumn=-1,this._yPoleWanderRadiansColumn=-1,this._ut1MinusUtcSecondsColumn=-1,this._xCelestialPoleOffsetRadiansColumn=-1,this._yCelestialPoleOffsetRadiansColumn=-1,this._taiMinusUtcSecondsColumn=-1,this._columnCount=0,this._lastIndex=-1,this._downloadPromise=void 0,this._dataError=void 0,this._addNewLeapSeconds=t(e.addNewLeapSeconds,!0),r(e.data))m(this,e.data);else if(r(e.url)){var n=this;this._downloadPromise=f(o(e.url),function(e){m(n,e)},function(){n._dataError="An error occurred while retrieving the EOP data from the URL "+e.url+"."})}else m(this,{columnNames:["dateIso8601","modifiedJulianDateUtc","xPoleWanderRadians","yPoleWanderRadians","ut1MinusUtcSeconds","lengthOfDayCorrectionSeconds","xCelestialPoleOffsetRadians","yCelestialPoleOffsetRadians","taiMinusUtcSeconds"],samples:[]})};return v.NONE=i({getPromiseToLoad:function(){return f()},compute:function(e,t){return r(t)?(t.xPoleWander=0,t.yPoleWander=0,t.xPoleOffset=0,t.yPoleOffset=0,t.ut1MinusUtc=0):t=new n(0,0,0,0,0),t}}),v.prototype.getPromiseToLoad=function(){return f(this._downloadPromise)},v.prototype.compute=function(t,i){if(!r(this._samples)){if(r(this._dataError))throw new u(this._dataError);return void 0}if(r(i)||(i=new n(0,0,0,0,0)),0===this._samples.length)return i.xPoleWander=0,i.yPoleWander=0,i.xPoleOffset=0,i.yPoleOffset=0,i.ut1MinusUtc=0,i;var o=this._dates,s=this._lastIndex,l=0,c=0;if(r(s)){var f=o[s],h=o[s+1],m=f.lessThanOrEquals(t),d=!r(h),y=d||h.greaterThanOrEquals(t);if(m&&y)return l=s,!d&&h.equals(t)&&++l,c=l+1,p(this,o,this._samples,t,l,c,i),i}var v=e(o,t,a.compare,this._dateColumn);return v>=0?(vl&&(l=0)),this._lastIndex=l,p(this,o,this._samples,t,l,c,i),i},v}),define("Core/Transforms",["./defaultValue","./defined","./DeveloperError","./Iau2006XysData","./Iau2006XysSample","./Math","./Matrix3","./Matrix4","./Cartesian2","./Cartesian3","./Cartesian4","./TimeConstants","./Ellipsoid","./EarthOrientationParameters","./EarthOrientationParametersSample","../ThirdParty/when"],function(e,t,r,n,i,o,a,s,u,l,c,f,h,m,d,y){"use strict";var p={},v=new l,g=new l,E=new l;p.eastNorthUpToFixedFrame=function(r,n,i){if(o.equalsEpsilon(r.x,0,o.EPSILON14)&&o.equalsEpsilon(r.y,0,o.EPSILON14)){var a=o.sign(r.z);return t(i)?(i[0]=0,i[1]=1,i[2]=0,i[3]=0,i[4]=-a,i[5]=0,i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=a,i[11]=0,i[12]=r.x,i[13]=r.y,i[14]=r.z,i[15]=1,i):new s(0,-a,0,r.x,1,0,0,r.y,0,0,a,r.z,0,0,0,1)}var u=v,c=g,f=E;return n=e(n,h.WGS84),n.geodeticSurfaceNormal(r,u),c.x=-r.y,c.y=r.x,c.z=0,l.normalize(c,c),l.cross(u,c,f),t(i)?(i[0]=c.x,i[1]=c.y,i[2]=c.z,i[3]=0,i[4]=f.x,i[5]=f.y,i[6]=f.z,i[7]=0,i[8]=u.x,i[9]=u.y,i[10]=u.z,i[11]=0,i[12]=r.x,i[13]=r.y,i[14]=r.z,i[15]=1,i):new s(c.x,f.x,u.x,r.x,c.y,f.y,u.y,r.y,c.z,f.z,u.z,r.z,0,0,0,1)};var w=new l,S=new l,x=new l;p.northEastDownToFixedFrame=function(r,n,i){if(o.equalsEpsilon(r.x,0,o.EPSILON14)&&o.equalsEpsilon(r.y,0,o.EPSILON14)){var a=o.sign(r.z);return t(i)?(i[0]=-a,i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=1,i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=-a,i[11]=0,i[12]=r.x,i[13]=r.y,i[14]=r.z,i[15]=1,i):new s(-a,0,0,r.x,0,1,0,r.y,0,0,-a,r.z,0,0,0,1)}var u=w,c=S,f=x;return n=e(n,h.WGS84),n.geodeticSurfaceNormal(r,u),c.x=-r.y,c.y=r.x,c.z=0,l.normalize(c,c),l.cross(u,c,f),t(i)?(i[0]=f.x,i[1]=f.y,i[2]=f.z,i[3]=0,i[4]=c.x,i[5]=c.y,i[6]=c.z,i[7]=0,i[8]=-u.x,i[9]=-u.y,i[10]=-u.z,i[11]=0,i[12]=r.x,i[13]=r.y,i[14]=r.z,i[15]=1,i):new s(f.x,c.x,-u.x,r.x,f.y,c.y,-u.y,r.y,f.z,c.z,-u.z,r.z,0,0,0,1)};var C=24110.54841,O=8640184.812866,T=.093104,A=-62e-7,M=1.1772758384668e-19,I=72921158553e-15,b=o.TWO_PI/86400;p.computeTemeToPseudoFixedMatrix=function(e,r){var n,i=e.addSeconds(-e.getTaiMinusUtc()),s=i.getJulianDayNumber(),u=i.getSecondsOfDay(),l=s-2451545;n=u>=43200?(l+.5)/f.DAYS_PER_JULIAN_CENTURY:(l-.5)/f.DAYS_PER_JULIAN_CENTURY;var c=C+n*(O+n*(T+n*A)),h=c*b%o.TWO_PI,m=I+M*(s-2451545.5),d=(u+.5*f.SECONDS_PER_DAY)%f.SECONDS_PER_DAY,y=h+m*d,p=Math.cos(y),v=Math.sin(y);return t(r)?(r[0]=p,r[1]=-v,r[2]=0,r[3]=v,r[4]=p,r[5]=0,r[6]=0,r[7]=0,r[8]=1,r):new a(p,v,0,-v,p,0,0,0,1)},p.iau2006XysData=new n,p.earthOrientationParameters=m.NONE;var N=32.184,D=2451545;p.preloadIcrfFixed=function(e){var t=e.start.getJulianDayNumber(),r=e.start.getSecondsOfDay()+N,n=e.stop.getJulianDayNumber(),i=e.stop.getSecondsOfDay()+N,o=p.iau2006XysData.preload(t,r,n,i),a=p.earthOrientationParameters.getPromiseToLoad();return y.all([o,a])},p.computeIcrfToFixedMatrix=function(e,r){var n=p.computeFixedToIcrfMatrix(e,r);return t(n)?a.transpose(n,r):void 0};var _=new i(0,0,0),P=new d(0,0,0,0,0,0),R=new a,z=new a;p.computeFixedToIcrfMatrix=function(e,r){var n=p.earthOrientationParameters.compute(e,P);if(!t(n))return void 0;var i=e.getJulianDayNumber(),s=e.getSecondsOfDay()+N,u=p.iau2006XysData.computeXysRadians(i,s,_);if(!t(u))return void 0;var l=u.x+n.xPoleOffset,c=u.y+n.yPoleOffset,h=1/(1+Math.sqrt(1-l*l-c*c)),m=R;m[0]=1-h*l*l,m[3]=-h*l*c,m[6]=l,m[1]=-h*l*c,m[4]=1-h*c*c,m[7]=c,m[2]=-l,m[5]=-c,m[8]=1-h*(l*l+c*c);var d=a.fromRotationZ(-u.s,z),y=a.multiply(m,d,R),v=e.getJulianDayNumber(),g=e.getSecondsOfDay()-e.getTaiMinusUtc()+n.ut1MinusUtc,E=v-2451545,w=g/f.SECONDS_PER_DAY,S=.779057273264+w+.00273781191135448*(E+w);S=S%1*o.TWO_PI;var x=a.fromRotationZ(S,z),C=a.multiply(y,x,R),O=Math.cos(n.xPoleWander),T=Math.cos(n.yPoleWander),A=Math.sin(n.xPoleWander),M=Math.sin(n.yPoleWander),I=i-D+s/f.SECONDS_PER_DAY;I/=36525;var b=-47e-6*I*o.RADIANS_PER_DEGREE/3600,L=Math.cos(b),F=Math.sin(b),U=z;return U[0]=O*L,U[1]=O*F,U[2]=A,U[3]=-T*F+M*A*L,U[4]=T*L+M*A*F,U[5]=-M*O,U[6]=-M*F-T*A*L,U[7]=M*L-T*A*F,U[8]=T*O,a.multiply(C,U,r)};var L=new c;return p.pointToWindowCoordinates=function(e,t,r,n){var i=L;return s.multiplyByVector(e,c.fromElements(r.x,r.y,r.z,1,i),i),c.multiplyByScalar(i,1/i.w,i),s.multiplyByVector(t,i,i),u.fromCartesian4(i,n)},p}),define("Core/AxisAlignedBoundingBox",["./defaultValue","./defined","./DeveloperError","./Cartesian3","./Intersect"],function(e,t,r,n,i){"use strict";var o=function(r,i,o){this.minimum=n.clone(e(r,n.ZERO)),this.maximum=n.clone(e(i,n.ZERO)),t(o)?o=n.clone(o):(o=n.add(this.minimum,this.maximum),n.multiplyByScalar(o,.5,o)),this.center=o};o.fromPoints=function(e,r){if(t(r)||(r=new o),!t(e)||0===e.length)return r.minimum=n.clone(n.ZERO,r.minimum),r.maximum=n.clone(n.ZERO,r.maximum),r.center=n.clone(n.ZERO,r.center),r;for(var i=e[0].x,a=e[0].y,s=e[0].z,u=e[0].x,l=e[0].y,c=e[0].z,f=e.length,h=1;f>h;h++){var m=e[h],d=m.x,y=m.y,p=m.z;i=Math.min(d,i),u=Math.max(d,u),a=Math.min(y,a),l=Math.max(y,l),s=Math.min(p,s),c=Math.max(p,c)}var v=r.minimum;v.x=i,v.y=a,v.z=s;var g=r.maximum;g.x=u,g.y=l,g.z=c;var E=n.add(v,g,r.center);return n.multiplyByScalar(E,.5,E),r},o.clone=function(e,r){return t(e)?t(r)?(r.minimum=n.clone(e.minimum,r.minimum),r.maximum=n.clone(e.maximum,r.maximum),r.center=n.clone(e.center,r.center),r):new o(e.minimum,e.maximum):void 0},o.equals=function(e,r){return e===r||t(e)&&t(r)&&n.equals(e.center,r.center)&&n.equals(e.minimum,r.minimum)&&n.equals(e.maximum,r.maximum)};var a=new n;return o.intersect=function(e,t){a=n.subtract(e.maximum,e.minimum,a);var r=n.multiplyByScalar(a,.5,a),o=r.x*Math.abs(t.x)+r.y*Math.abs(t.y)+r.z*Math.abs(t.z),s=n.dot(e.center,t)+t.w;return s-o>0?i.INSIDE:0>s+o?i.OUTSIDE:i.INTERSECTING},o.prototype.clone=function(e){return o.clone(this,e)},o.prototype.intersect=function(e){return o.intersect(this,e)},o.prototype.equals=function(e){return o.equals(this,e)},o}),define("Core/QuadraticRealPolynomial",["./DeveloperError","./Math"],function(e,t){"use strict";function r(e,r,n){var i=e+r;return t.sign(e)!==t.sign(r)&&Math.abs(i/Math.max(Math.abs(e),Math.abs(r)))a&&a/ss&&s/ao)return[];var u=Math.sqrt(o);return[-u,u]}if(0===i)return o=-n/e,0>o?[o,0]:[0,o];var l=n*n,c=4*e*i,f=r(l,-c,t.EPSILON14);if(0>f)return[];var h=-.5*r(n,t.sign(n)*Math.sqrt(f),t.EPSILON14);return n>0?[h/e,i/h]:[i/h,h/e]},n}),define("Core/CubicRealPolynomial",["./DeveloperError","./QuadraticRealPolynomial"],function(e,t){"use strict";function r(e,t,r,n){var i,o,a=e,s=t/3,u=r/3,l=n,c=a*u,f=s*l,h=s*s,m=u*u,d=a*u-h,y=a*l-s*u,p=s*l-m,v=4*d*p-y*y;if(0>v){var g,E,w;h*f>=c*m?(g=a,E=d,w=-2*s*d+a*y):(g=l,E=p,w=-l*y+2*u*p);var S=0>w?-1:1,x=-S*Math.abs(g)*Math.sqrt(-v);o=-w+x;var C=o/2,O=0>C?-Math.pow(-C,1/3):Math.pow(C,1/3),T=o===x?-O:-E/O;return i=0>=E?O+T:-w/(O*O+T*T+E),h*f>=c*m?[(i-s)/a]:[-l/(i+u)]}var A=d,M=-2*s*d+a*y,I=p,b=-l*y+2*u*p,N=Math.sqrt(v),D=Math.sqrt(3)/2,_=Math.abs(Math.atan2(a*N,-M)/3);i=2*Math.sqrt(-A);var P=Math.cos(_);o=i*P;var R=i*(-P/2-D*Math.sin(_)),z=o+R>2*s?o-s:R-s,L=a,F=z/L;_=Math.abs(Math.atan2(l*N,-b)/3),i=2*Math.sqrt(-I),P=Math.cos(_),o=i*P,R=i*(-P/2-D*Math.sin(_));var U=-l,B=2*u>o+R?o+u:R+u,q=U/B,G=L*B,W=-z*B-L*U,Y=z*U,j=(u*W-s*Y)/(-s*W+u*G);return j>=F?q>=F?q>=j?[F,j,q]:[F,q,j]:[q,F,j]:q>=F?[j,F,q]:q>=j?[j,q,F]:[q,j,F]}var n={};return n.discriminant=function(e,t,r,n){var i=e*e,o=t*t,a=r*r,s=n*n,u=18*e*t*r*n+o*a-27*i*s-4*(e*a*r+o*t*n);return u},n.realRoots=function(e,n,i,o){var a,s;if(0===e)return t.realRoots(n,i,o);if(0===n){if(0===i){if(0===o)return[0,0,0];s=-o/e;var u=0>s?-Math.pow(-s,1/3):Math.pow(s,1/3);return[u,u,u]}return 0===o?(a=t.realRoots(e,0,i),0===a.Length?[0]:[a[0],0,a[1]]):r(e,0,i,o)}return 0===i?0===o?(s=-n/e,0>s?[s,0,0]:[0,0,s]):r(e,n,0,o):0===o?(a=t.realRoots(e,n,i),0===a.length?[0]:a[1]<=0?[a[0],a[1],0]:a[0]>=0?[0,a[0],a[1]]:[a[0],0,a[1]]):r(e,n,i,o)},n}),define("Core/QuarticRealPolynomial",["./DeveloperError","./Math","./CubicRealPolynomial","./QuadraticRealPolynomial"],function(e,t,r,n){"use strict";function i(e,i,o,a){var s=e*e,u=i-3*s/8,l=o-i*e/2+s*e/8,c=a-o*e/4+i*s/16-3*s*s/256,f=r.realRoots(1,2*u,u*u-4*c,-l*l);if(f.length>0){var h=-e/4,m=f[f.length-1];if(Math.abs(m)=0&&v>=0){var g=Math.sqrt(p),E=Math.sqrt(v);return[h-E,h-g,h+g,h+E]}if(p>=0&&0>v)return y=Math.sqrt(p),[h-y,h+y];if(0>p&&v>=0)return y=Math.sqrt(v),[h-y,h+y]}return[]}if(m>0){var w=Math.sqrt(m),S=(u+m-l/w)/2,x=(u+m+l/w)/2,C=n.realRoots(1,w,S),O=n.realRoots(1,-w,x);return 0!==C.length?(C[0]+=h,C[1]+=h,0!==O.length?(O[0]+=h,O[1]+=h,C[1]<=O[0]?[C[0],C[1],O[0],O[1]]:O[1]<=C[0]?[O[0],O[1],C[0],C[1]]:C[0]>=O[0]&&C[1]<=O[1]?[O[0],C[0],C[1],O[1]]:O[0]>=C[0]&&O[1]<=C[1]?[C[0],O[0],O[1],C[1]]:C[0]>O[0]&&C[0]0){var d,y,p=m[0],v=i-p,g=v*v,E=e/2,w=v/2,S=g-4*a,x=g+4*Math.abs(a),C=l-4*p,O=l+4*Math.abs(p);if(0>p||C*x>S*O){var T=Math.sqrt(C);d=T/2,y=0===T?0:(e*w-o)/T}else{var A=Math.sqrt(S);d=0===A?0:(e*w-o)/A,y=A/2}var M,I;0===E&&0===d?(M=0,I=0):t.sign(E)===t.sign(d)?(M=E+d,I=p/M):(I=E-d,M=p/I);var b,N;0===w&&0===y?(b=0,N=0):t.sign(w)===t.sign(y)?(b=w+y,N=a/b):(N=w-y,b=a/N);var D=n.realRoots(1,M,b),_=n.realRoots(1,I,N);if(0!==D.length)return 0!==_.length?D[1]<=_[0]?[D[0],D[1],_[0],_[1]]:_[1]<=D[0]?[_[0],_[1],D[0],D[1]]:D[0]>=_[0]&&D[1]<=_[1]?[_[0],D[0],D[1],_[1]]:_[0]>=D[0]&&_[1]<=D[1]?[D[0],_[0],_[1],D[1]]:D[0]>_[0]&&D[0]<_[1]?[_[0],D[0],_[1],D[1]]:[D[0],_[0],D[1],_[1]]:D;if(0!==_.length)return _}return[]}var a={};return a.discriminant=function(e,t,r,n,i){var o=e*e,a=o*e,s=t*t,u=s*t,l=r*r,c=l*r,f=n*n,h=f*n,m=i*i,d=m*i,y=s*l*f-4*u*h-4*e*c*f+18*e*t*r*h-27*o*f*f+256*a*d+i*(18*u*r*n-4*s*c+16*e*l*l-80*e*t*l*n-6*e*s*f+144*o*r*f)+m*(144*e*s*r-27*s*s-128*o*l-192*o*t*n);return y},a.realRoots=function(e,n,a,s,u){if(Math.abs(e)l?1:0;switch(m+=0>c?m+1:m,m+=0>f?m+1:m,m+=0>h?m+1:m){case 0:return i(l,c,f,h);case 1:return o(l,c,f,h);case 2:return o(l,c,f,h);case 3:return i(l,c,f,h);case 4:return i(l,c,f,h);case 5:return o(l,c,f,h);case 6:return i(l,c,f,h);case 7:return i(l,c,f,h);case 8:return o(l,c,f,h);case 9:return i(l,c,f,h);case 10:return i(l,c,f,h);case 11:return o(l,c,f,h);case 12:return i(l,c,f,h);case 13:return i(l,c,f,h);case 14:return i(l,c,f,h);case 15:return i(l,c,f,h);default:return void 0}},a}),define("Core/IntersectionTests",["./defined","./DeveloperError","./Math","./Cartesian3","./Cartographic","./Matrix3","./QuadraticRealPolynomial","./QuarticRealPolynomial"],function(e,t,r,n,i,o,a,s){"use strict";function u(e,t,n){var i=e+t;return r.sign(e)!==r.sign(t)&&Math.abs(i/Math.max(Math.abs(e),Math.abs(t)))R;++R){var z,L=f[R],F=L*L,U=Math.max(1-F,0),B=Math.sqrt(U);z=r.sign(d)===r.sign(p)?u(d*F+p,y*L,r.EPSILON12):r.sign(p)===r.sign(y*L)?u(d*F,y*L+p,r.EPSILON12):u(d*F+y*L,p,r.EPSILON12);var q=u(v*L,g,r.EPSILON15),G=z*q;0>G?E.push(new n(l,c*L,c*B)):G>0?E.push(new n(l,c*L,c*-B)):0!==B?(E.push(new n(l,c*L,c*-B)),E.push(new n(l,c*L,c*B)),++R):E.push(new n(l,c*L,c*B))}return E}var c={};c.rayPlane=function(e,t,i){var o=e.origin,a=e.direction,s=t.normal,u=n.dot(s,a);if(Math.abs(u)l?void 0:(i=n.multiplyByScalar(a,l,i),n.add(o,i,i))};var f=new n,h=new n;c.rayEllipsoid=function(e,t){var r,i,o,a,s,u=t.oneOverRadii,l=n.multiplyComponents(u,e.origin,f),c=n.multiplyComponents(u,e.direction,h),m=n.magnitudeSquared(l),d=n.dot(l,c);if(m>1){if(d>=0)return void 0;var y=d*d;if(r=m-1,i=n.magnitudeSquared(c),o=i*r,o>y)return void 0; +if(y>o){a=d*d-o,s=-d+Math.sqrt(a);var p=s/i,v=r/s;return v>p?{start:p,stop:v}:{start:v,stop:p}}var g=Math.sqrt(r/i);return{start:g,stop:g}}return 1>m?(r=m-1,i=n.magnitudeSquared(c),o=i*r,a=d*d-o,s=-d+Math.sqrt(a),{start:0,stop:s/i}):0>d?(i=n.magnitudeSquared(c),{start:0,stop:-d/i}):void 0},c.grazingAltitudeLocation=function(t,a){var s=t.origin,u=t.direction,c=a.geodeticSurfaceNormal(s);if(n.dot(u,c)>=0)return s;var f,h,m=e(this.rayEllipsoid(t,a)),d=a.transformPositionToScaledSpace(u),y=n.normalize(d),p=n.mostOrthogonalAxis(d),v=n.normalize(n.cross(p,y)),g=n.normalize(n.cross(y,v)),E=new o(y.x,v.x,g.x,y.y,v.y,g.y,y.z,v.z,g.z),w=o.transpose(E),S=o.fromScale(a.radii),x=o.fromScale(a.oneOverRadii),C=new o(0,u.z,-u.y,-u.z,0,u.x,u.y,-u.x,0),O=o.multiply(o.multiply(w,x),C),T=o.multiply(o.multiply(O,S),E),A=o.multiplyByVector(O,s),M=l(T,n.negate(A),0,0,1),I=M.length;if(I>0){for(var b=n.ZERO,N=Number.NEGATIVE_INFINITY,D=0;I>D;++D){f=o.multiplyByVector(S,o.multiplyByVector(E,M[D]));var _=n.normalize(n.subtract(f,s)),P=n.dot(_,u);P>N&&(N=P,b=f)}var R=a.cartesianToCartographic(b);return N=r.clamp(N,0,1),h=n.magnitude(n.subtract(b,s))*Math.sqrt(1-N*N),h=m?-h:h,a.cartographicToCartesian(new i(R.longitude,R.latitude,h))}return void 0};var m=new n;return c.lineSegmentPlane=function(t,i,o,a){var s=n.subtract(i,t,m),u=o.normal,l=n.dot(u,s);if(Math.abs(l)f||f>1?void 0:(e(a)||(a=new n),n.multiplyByScalar(s,f,a),n.add(t,a,a),a)},c.trianglePlaneIntersection=function(e,t,r,i){var o=i.normal,a=i.distance,s=n.dot(o,e)+a<0,u=n.dot(o,t)+a<0,l=n.dot(o,r)+a<0,f=0;f+=s?1:0,f+=u?1:0,f+=l?1:0;var h,m;if((1===f||2===f)&&(h=new n,m=new n),1===f){if(s)return c.lineSegmentPlane(e,t,i,h),c.lineSegmentPlane(e,r,i,m),{positions:[e,t,r,h,m],indices:[0,3,4,1,2,4,1,4,3]};if(u)return c.lineSegmentPlane(t,r,i,h),c.lineSegmentPlane(t,e,i,m),{positions:[e,t,r,h,m],indices:[1,3,4,2,0,4,2,4,3]};if(l)return c.lineSegmentPlane(r,e,i,h),c.lineSegmentPlane(r,t,i,m),{positions:[e,t,r,h,m],indices:[2,3,4,0,1,4,0,4,3]}}else if(2===f){if(!s)return c.lineSegmentPlane(t,e,i,h),c.lineSegmentPlane(r,e,i,m),{positions:[e,t,r,h,m],indices:[1,2,4,1,4,3,0,3,4]};if(!u)return c.lineSegmentPlane(r,t,i,h),c.lineSegmentPlane(e,t,i,m),{positions:[e,t,r,h,m],indices:[2,0,4,2,4,3,1,3,4]};if(!l)return c.lineSegmentPlane(e,r,i,h),c.lineSegmentPlane(t,r,i,m),{positions:[e,t,r,h,m],indices:[0,1,4,0,4,3,2,3,4]}}return void 0},c}),define("Core/Ray",["./DeveloperError","./defaultValue","./Cartesian3"],function(e,t,r){"use strict";var n=function(e,n){n=r.clone(t(n,r.ZERO)),r.equals(n,r.ZERO)||r.normalize(n,n),this.origin=r.clone(t(e,r.ZERO)),this.direction=n};return n.prototype.getPoint=function(e,t){return t=r.multiplyByScalar(this.direction,e,t),r.add(this.origin,t,t)},n}),define("Core/Plane",["./Cartesian3","./defined","./DeveloperError"],function(e,t){"use strict";var r=function(t,r){this.normal=e.clone(t),this.distance=r};return r.fromPointNormal=function(n,i,o){var a=-e.dot(i,n);return t(o)?(e.clone(i,o.normal),o.distance=a,o):new r(i,a)},r.getPointDistance=function(t,r){return e.dot(t.normal,r)+t.distance},r.prototype.getPointDistance=function(e){return r.getPointDistance(this,e)},r}),define("Core/EllipsoidTangentPlane",["./defaultValue","./defined","./defineProperties","./DeveloperError","./Transforms","./AxisAlignedBoundingBox","./IntersectionTests","./Cartesian2","./Cartesian3","./Ellipsoid","./Matrix4","./Ray","./Plane"],function(e,t,r,n,i,o,a,s,u,l,c,f,h){"use strict";var m=function(t,r){r=e(r,l.WGS84),t=r.scaleToGeodeticSurface(t);var n=i.eastNorthUpToFixedFrame(t,r);this._ellipsoid=r,this._origin=u.clone(t),this._xAxis=u.fromCartesian4(c.getColumn(n,0)),this._yAxis=u.fromCartesian4(c.getColumn(n,1));var o=u.fromCartesian4(c.getColumn(n,2));this._plane=h.fromPointNormal(t,o)};r(m.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},origin:{get:function(){return this._origin}}});var d=new o;m.fromPoints=function(e,t){var r=o.fromPoints(e,d);return new m(r.center,t)};var y=new f,p=new u;m.prototype.projectPointOntoPlane=function(e,r){var n=y;n.origin=e,u.normalize(e,n.direction);var i=a.rayPlane(n,this._plane,p);if(t(i)||(u.negate(n.direction,n.direction),i=a.rayPlane(n,this._plane,p)),t(i)){var o=u.subtract(i,this._origin,i),l=u.dot(this._xAxis,o),c=u.dot(this._yAxis,o);return t(r)?(r.x=l,r.y=c,r):new s(l,c)}return void 0},m.prototype.projectPointsOntoPlane=function(e,r){t(r)||(r=[]);for(var n=0,i=e.length,o=0;i>o;o++){var a=this.projectPointOntoPlane(e[o],r[n]);t(a)&&(r[n]=a,n++)}return r.length=n,r};var v=new u;return m.prototype.projectPointsOntoEllipsoid=function(e,r){var n=e.length;t(r)?r.length=n:r=new Array(n);for(var i=this._ellipsoid,o=this._origin,a=this._xAxis,s=this._yAxis,l=v,c=0;n>c;++c){var f=e[c];u.multiplyByScalar(a,f.x,l);var h=r[c]=u.add(o,l,r[c]);u.multiplyByScalar(s,f.y,l),u.add(h,l,h),i.scaleToGeocentricSurface(h,h)}return r},m}),define("Core/Geometry",["./defaultValue","./defined","./DeveloperError"],function(e,t,r){"use strict";var n=function(t){t=e(t,e.EMPTY_OBJECT),this.attributes=t.attributes,this.indices=t.indices,this.primitiveType=t.primitiveType,this.boundingSphere=t.boundingSphere};return n.computeNumberOfVertices=function(e){var n=-1;for(var i in e.attributes)if(e.attributes.hasOwnProperty(i)&&t(e.attributes[i])&&t(e.attributes[i].values)){var o=e.attributes[i],a=o.values.length/o.componentsPerAttribute;if(n!==a&&-1!==n)throw new r("All attribute lists must have the same number of attributes.");n=a}return n},n}),define("Core/GeometryAttribute",["./defaultValue","./defined","./DeveloperError"],function(e){"use strict";var t=function(t){t=e(t,e.EMPTY_OBJECT),this.componentDatatype=t.componentDatatype,this.componentsPerAttribute=t.componentsPerAttribute,this.normalize=e(t.normalize,!1),this.values=t.values};return t}),define("Core/GeometryAttributes",["./defaultValue"],function(e){"use strict";var t=function(t){t=e(t,e.EMPTY_OBJECT),this.position=t.position,this.normal=t.normal,this.st=t.st,this.binormal=t.binormal,this.tangent=t.tangent,this.color=t.color};return t}),define("Core/GeometryInstance",["./defaultValue","./defined","./DeveloperError","./Matrix4"],function(e,t,r,n){"use strict";var i=function(t){t=e(t,e.EMPTY_OBJECT),this.geometry=t.geometry,this.modelMatrix=n.clone(e(t.modelMatrix,n.IDENTITY)),this.id=t.id,this.pickPrimitive=t.pickPrimitive,this.attributes=e(t.attributes,{})};return i}),define("Core/barycentricCoordinates",["./Cartesian2","./Cartesian3","./defined","./DeveloperError"],function(e,t,r){"use strict";var n=new t,i=new t,o=new t,a=function(a,s,u,l,c){r(c)||(c=new t);var f,h,m,d,y,p,v,g;r(s.z)?(f=t.subtract(u,s,n),h=t.subtract(l,s,i),m=t.subtract(a,s,o),d=t.dot(f,f),y=t.dot(f,h),p=t.dot(f,m),v=t.dot(h,h),g=t.dot(h,m)):(f=e.subtract(u,s,n),h=e.subtract(l,s,i),m=e.subtract(a,s,o),d=e.dot(f,f),y=e.dot(f,h),p=e.dot(f,m),v=e.dot(h,h),g=e.dot(h,m));var E=1/(d*v-y*y);return c.y=(v*p-y*g)*E,c.z=(d*g-y*p)*E,c.x=1-c.y-c.z,c};return a}),define("Core/EncodedCartesian3",["./Cartesian3","./defined","./DeveloperError"],function(e,t){"use strict";var r=function(){this.high=e.clone(e.ZERO),this.low=e.clone(e.ZERO)};r.encode=function(e,r){t(r)||(r={high:0,low:0});var n;return e>=0?(n=65536*Math.floor(e/65536),r.high=n,r.low=e-n):(n=65536*Math.floor(-e/65536),r.high=-n,r.low=e+n),r};var n={high:0,low:0};r.fromCartesian=function(e,i){t(i)||(i=new r);var o=i.high,a=i.low;return r.encode(e.x,n),o.x=n.high,a.x=n.low,r.encode(e.y,n),o.y=n.high,a.y=n.low,r.encode(e.z,n),o.z=n.high,a.z=n.low,i};var i=new r;return r.writeElements=function(e,t,n){r.fromCartesian(e,i);var o=i.high,a=i.low;t[n]=o.x,t[n+1]=o.y,t[n+2]=o.z,t[n+3]=a.x,t[n+4]=a.y,t[n+5]=a.z},r}),define("Core/IndexDatatype",["./defined","./DeveloperError","./Math"],function(e,t,r){"use strict";var n={UNSIGNED_BYTE:5121,UNSIGNED_SHORT:5123,UNSIGNED_INT:5125};return n.getSizeInBytes=function(e){switch(e){case n.UNSIGNED_BYTE:return Uint8Array.BYTES_PER_ELEMENT;case n.UNSIGNED_SHORT:return Uint16Array.BYTES_PER_ELEMENT;case n.UNSIGNED_INT:return Uint32Array.BYTES_PER_ELEMENT}},n.validate=function(t){return e(t)&&(t===n.UNSIGNED_BYTE||t===n.UNSIGNED_SHORT||t===n.UNSIGNED_INT)},n.createTypedArray=function(e,t){return e>r.SIXTY_FOUR_KILOBYTES?new Uint32Array(t):new Uint16Array(t)},n}),define("Core/PrimitiveType",[],function(){"use strict";var e={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,validate:function(t){return t===e.POINTS||t===e.LINES||t===e.LINE_LOOP||t===e.LINE_STRIP||t===e.TRIANGLES||t===e.TRIANGLE_STRIP||t===e.TRIANGLE_FAN}};return e}),define("Core/Tipsify",["./defaultValue","./defined","./DeveloperError"],function(e,t){"use strict";var r={};return r.calculateACMR=function(r){r=e(r,e.EMPTY_OBJECT);var n=r.indices,i=r.maximumIndex,o=e(r.cacheSize,24),a=n.length;if(!t(i)){i=0;for(var s=0,u=n[s];a>s;)u>i&&(i=u),++s,u=n[s]}for(var l=[],c=0;i+1>c;c++)l[c]=0;for(var f=o+1,h=0;a>h;++h)f-l[n[h]]>o&&(l[n[h]]=f,++f);return(f-o+1)/(a/3)},r.tipsify=function(r){function n(e,t,r,n){for(;t.length>=1;){var i=t[t.length-1];if(t.splice(t.length-1,1),e[i].numLiveTriangles>0)return i}for(;n>o;){if(e[o].numLiveTriangles>0)return++o,o-1;++o}return-1}function i(e,t,r,i,o,a,s){for(var u,l=-1,c=-1,f=0;fc||-1===c)&&(c=u,l=h)),++f}return-1===l?n(i,a,e,s):l}r=e(r,e.EMPTY_OBJECT);var o,a=r.indices,s=r.maximumIndex,u=e(r.cacheSize,24),l=a.length,c=0,f=0,h=a[f],m=l;if(t(s))c=s+1;else{for(;m>f;)h>c&&(c=h),++f,h=a[f];if(-1===c)return 0;++c}for(var d=[],y=0;c>y;y++)d[y]={numLiveTriangles:0,timeStamp:0,vertexTriangles:[]};f=0;for(var p=0;m>f;)d[a[f]].vertexTriangles.push(p),++d[a[f]].numLiveTriangles,d[a[f+1]].vertexTriangles.push(p),++d[a[f+1]].numLiveTriangles,d[a[f+2]].vertexTriangles.push(p),++d[a[f+2]].numLiveTriangles,++p,f+=3;var v=0,g=u+1;o=1;var E,w,S=[],x=[],C=0,O=[],T=l/3,A=[];for(y=0;T>y;y++)A[y]=!1;for(var M,I;-1!==v;){S=[],w=d[v],I=w.vertexTriangles.length;for(var b=0;I>b;++b)if(p=w.vertexTriangles[b],!A[p]){A[p]=!0,f=p+p+p;for(var N=0;3>N;++N)M=a[f],S.push(M),x.push(M),O[C]=M,++C,E=d[M],--E.numLiveTriangles,g-E.timeStamp>u&&(E.timeStamp=g,++g),++f}v=i(a,u,S,d,g,x,c)}return O},r}),define("Core/GeometryPipeline",["./barycentricCoordinates","./defaultValue","./defined","./DeveloperError","./Cartesian2","./Cartesian3","./Cartesian4","./Cartographic","./EncodedCartesian3","./Intersect","./IntersectionTests","./Math","./Matrix3","./Matrix4","./Plane","./GeographicProjection","./ComponentDatatype","./IndexDatatype","./PrimitiveType","./Tipsify","./BoundingSphere","./Geometry","./GeometryAttribute"],function(e,t,r,n,i,o,a,s,u,l,c,f,h,m,d,y,p,v,g,E,w,S,x){"use strict";function C(e,t,r,n,i){e[t++]=r,e[t++]=n,e[t++]=n,e[t++]=i,e[t++]=i,e[t]=r}function O(e){for(var t=e.length,r=6*(t/3),n=v.createTypedArray(t,r),i=0,o=0;t>o;o+=3,i+=6)C(n,i,e[o],e[o+1],e[o+2]);return n}function T(e){var t=e.length;if(t>=3){var r=6*(t-2),n=v.createTypedArray(t,r);C(n,0,e[0],e[1],e[2]);for(var i=6,o=3;t>o;++o,i+=6)C(n,i,e[o-1],e[o],e[o-2]);return n}return new Uint16Array}function A(e){if(e.length>0){for(var t=e.length-1,r=6*(t-1),n=v.createTypedArray(t,r),i=e[0],o=0,a=1;t>a;++a,o+=6)C(n,o,i,e[a],e[a+1]);return n}return new Uint16Array}function M(e){var t={};for(var n in e)if(e.hasOwnProperty(n)&&r(e[n])&&r(e[n].values)){var i=e[n];t[n]=new x({componentDatatype:i.componentDatatype,componentsPerAttribute:i.componentsPerAttribute,normalize:i.normalize,values:[]})}return t}function I(e,t,n){for(var i in t)if(t.hasOwnProperty(i)&&r(t[i])&&r(t[i].values))for(var o=t[i],a=0;aa;a+=3)o.unpack(n,a,Z),m.multiplyByPoint(e,Z,Z),o.pack(Z,n,a)}function N(e,t){if(r(t))for(var n=t.values,i=n.length,a=0;i>a;a+=3)o.unpack(n,a,Z),h.multiplyByVector(e,Z,Z),Z=o.normalize(Z,Z),o.pack(Z,n,a)}function D(e){var t,n=e.length,i={},o=e[0].geometry.attributes;for(t in o)if(o.hasOwnProperty(t)&&r(o[t])&&r(o[t].values)){for(var a=o[t],s=a.values.length,u=!0,l=1;n>l;++l){var c=e[l].geometry.attributes[t];if(!r(c)||a.componentDatatype.value!==c.componentDatatype.value||a.componentsPerAttribute!==c.componentsPerAttribute||a.normalize!==c.normalize){u=!1;break}s+=c.values.length}u&&(i[t]=new x({componentDatatype:a.componentDatatype,componentsPerAttribute:a.componentsPerAttribute,normalize:a.normalize,values:p.createTypedArray(a.componentDatatype,s)}))}return i}function _(e){if(r(e.indices))return e;for(var t=S.computeNumberOfVertices(e),n=v.createTypedArray(t,t),i=0;t>i;++i)n[i]=i;return e.indices=n,e}function P(e){var t=S.computeNumberOfVertices(e),r=v.createTypedArray(t,3*(t-2));r[0]=1,r[1]=0,r[2]=2;for(var n=3,i=3;t>i;++i)r[n++]=i-1,r[n++]=0,r[n++]=i;return e.indices=r,e.primitiveType=g.TRIANGLES,e}function R(e){var t=S.computeNumberOfVertices(e),r=v.createTypedArray(t,3*(t-2));r[0]=0,r[1]=1,r[2]=2,t>3&&(r[3]=0,r[4]=2,r[5]=3);for(var n=6,i=3;t-1>i;i+=2)r[n++]=i,r[n++]=i-1,r[n++]=i+1,t>i+2&&(r[n++]=i,r[n++]=i+1,r[n++]=i+2);return e.indices=r,e.primitiveType=g.TRIANGLES,e}function z(e){if(r(e.indices))return e;for(var t=S.computeNumberOfVertices(e),n=v.createTypedArray(t,t),i=0;t>i;++i)n[i]=i;return e.indices=n,e}function L(e){var t=S.computeNumberOfVertices(e),r=v.createTypedArray(t,2*(t-1));r[0]=0,r[1]=1;for(var n=2,i=2;t>i;++i)r[n++]=i-1,r[n++]=i;return e.indices=r,e.primitiveType=g.LINES,e}function F(e){var t=S.computeNumberOfVertices(e),r=v.createTypedArray(t,2*t);r[0]=0,r[1]=1;for(var n=2,i=2;t>i;++i)r[n++]=i-1,r[n++]=i;return r[n++]=t-1,r[n]=0,e.indices=r,e.primitiveType=g.LINES,e}function U(e){switch(e.primitiveType){case g.TRIANGLE_FAN:return P(e);case g.TRIANGLE_STRIP:return R(e);case g.TRIANGLES:return _(e);case g.LINE_STRIP:return L(e);case g.LINE_LOOP:return F(e);case g.LINES:return z(e)}return e}function B(e,t){Math.abs(e.y)=0||t.x>=0||r.x>=0)return void 0;var n=e.y<0,i=t.y<0,o=r.y<0;B(e,n),B(t,i),B(r,o);var a=0;a+=n?1:0,a+=i?1:0,a+=o?1:0;var s=ct.indices;1===a?(s[1]=3,s[2]=4,s[5]=6,s[7]=6,s[8]=5,n?(q(e,t,at,ut),q(e,r,st,lt),s[0]=0,s[3]=1,s[4]=2,s[6]=1):i?(q(t,r,at,ut),q(t,e,st,lt),s[0]=1,s[3]=2,s[4]=0,s[6]=2):o&&(q(r,e,at,ut),q(r,t,st,lt),s[0]=2,s[3]=0,s[4]=1,s[6]=0)):2===a&&(s[2]=4,s[4]=4,s[5]=3,s[7]=5,s[8]=6,n?i?o||(q(r,e,at,ut),q(r,t,st,lt),s[0]=0,s[1]=1,s[3]=0,s[6]=2):(q(t,r,at,ut),q(t,e,st,lt),s[0]=2,s[1]=0,s[3]=2,s[6]=1):(q(e,t,at,ut),q(e,r,st,lt),s[0]=1,s[1]=2,s[3]=1,s[6]=0));var u=ct.positions;return u[0]=e,u[1]=t,u[2]=r,ct.length=3,(1===a||2===a)&&(u[3]=at,u[4]=st,u[5]=ut,u[6]=lt,ct.length=7),ct}function W(t,n,a,s,u,l,c,f){if(r(u)||r(l)||r(c)||r(f)){var h,m,d,y,p,v,g,E,w,S,x,C,O,T,A,M,I,b,N=s.positions,D=N[0],_=N[1],P=N[2];r(u)&&(h=o.fromArray(u,3*t),m=o.fromArray(u,3*n),d=o.fromArray(u,3*a)),r(l)&&(y=o.fromArray(l,3*t),p=o.fromArray(l,3*n),v=o.fromArray(l,3*a)),r(c)&&(g=o.fromArray(c,3*t),E=o.fromArray(c,3*n),w=o.fromArray(c,3*a)),r(f)&&(S=i.fromArray(f,2*t),x=i.fromArray(f,2*n),C=i.fromArray(f,2*a));for(var R=3;RE;E+=3){var w=l[E],x=l[E+1],C=l[E+2],O=o.fromArray(n,3*w),T=o.fromArray(n,3*x),A=o.fromArray(n,3*C),M=G(O,T,A);if(r(M))if(c[3*w+1]=M.positions[0].y,c[3*x+1]=M.positions[1].y,c[3*C+1]=M.positions[2].y,M.length>3){for(var I=c.length/3,b=0;bN?y.push(l[E+N]):y.push(N-3+I)}for(var D=3;Dh;h+=2){var m=i[h],y=i[h+1],p=o.fromArray(n,3*m),g=o.fromArray(n,3*y);if(Math.abs(p.y)c;c+=3)u[l++]=o[c],u[l++]=o[c+1],u[l++]=o[c+2],u[l++]=o[c]+a[c]*i,u[l++]=o[c+1]+a[c+1]*i,u[l++]=o[c+2]+a[c+2]*i;var f,h=e.boundingSphere;return r(h)&&(f=new w(h.center,h.radius+i)),new S({attributes:{position:new x({componentDatatype:p.DOUBLE,componentsPerAttribute:3,values:u})},primitiveType:g.LINES,boundingSphere:f})},V.createAttributeLocations=function(e){var t,n=["position","positionHigh","positionLow","position3DHigh","position3DLow","position2DHigh","position2DLow","pickColor","normal","st","binormal","tangent"],i=e.attributes,o={},a=0,s=n.length;for(t=0;s>t;++t){var u=n[t];r(i[u])&&(o[u]=a++)}for(var l in i)i.hasOwnProperty(l)&&!r(o[l])&&(o[l]=a++);return o},V.reorderForPreVertexCache=function(e){var t=S.computeNumberOfVertices(e),n=e.indices;if(r(n)){for(var i=new Int32Array(t),o=0;t>o;o++)i[o]=-1;for(var a,s=n,u=s.length,l=v.createTypedArray(t,u),c=0,f=0,h=0;u>c;)a=i[s[c]],-1!==a?l[f]=a:(a=s[c],i[a]=h,l[f]=h,++h),++c,++f;e.indices=l;var m=e.attributes;for(var d in m)if(m.hasOwnProperty(d)&&r(m[d])&&r(m[d].values)){for(var y=m[d],g=y.values,E=0,w=y.componentsPerAttribute,x=p.createTypedArray(y.componentDatatype,h*w);t>E;){var C=i[E];if(-1!==C)for(o=0;w>o;o++)x[w*C+o]=g[w*E+o];++E}y.values=x}}return e},V.reorderForPostVertexCache=function(e,t){var n=e.indices;if(e.primitiveType===g.TRIANGLES&&r(n)){for(var i=n.length,o=0,a=0;i>a;a++)n[a]>o&&(o=n[a]);e.indices=E.tipsify({indices:n,maximumIndex:o,cacheSize:t})}return e},V.fitToUnsignedShortIndices=function(e){var t=[],n=S.computeNumberOfVertices(e);if(r(e.indices)&&n>f.SIXTY_FOUR_KILOBYTES){var i,o=[],a=[],s=0,u=M(e.attributes),l=e.indices,c=l.length;e.primitiveType===g.TRIANGLES?i=3:e.primitiveType===g.LINES?i=2:e.primitiveType===g.POINTS&&(i=1);for(var h=0;c>h;h+=i){for(var m=0;i>m;++m){var d=l[h+m],y=o[d];r(y)||(y=s++,o[d]=y,I(u,e.attributes,d)),a.push(y)}s+i>f.SIXTY_FOUR_KILOBYTES&&(t.push(new S({attributes:u,indices:a,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere})),o=[],a=[],s=0,u=M(e.attributes))}0!==a.length&&t.push(new S({attributes:u,indices:a,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere}))}else t.push(e);return t};var H=new o,k=new s;V.projectTo2D=function(e,t,i,a,s){var u=e.attributes[t];s=r(s)?s:new y;for(var l=s.ellipsoid,c=u.values,f=new Float64Array(c.length),h=0,m=0;mc;++c)u.encode(o[c],K),s[c]=K.high,l[c]=K.low;var f=i.componentsPerAttribute;return e.attributes[r]=new x({componentDatatype:p.FLOAT,componentsPerAttribute:f,values:s}),e.attributes[n]=new x({componentDatatype:p.FLOAT,componentsPerAttribute:f,values:l}),delete e.attributes[t],e};var Z=new o,J=new m,X=new h;V.transformToWorldCoordinates=function(e){var t=e.modelMatrix;if(m.equals(t,m.IDENTITY))return e;var n=e.geometry.attributes;b(t,n.position),b(t,n.prevPosition),b(t,n.nextPosition),(r(n.normal)||r(n.binormal)||r(n.tangent))&&(m.inverse(t,J),m.transpose(J,J),m.getRotation(J,X),N(X,n.normal),N(X,n.binormal),N(X,n.tangent));var i=e.geometry.boundingSphere;return r(i)&&(e.geometry.boundingSphere=w.transform(i,t,i)),e.modelMatrix=m.clone(m.IDENTITY),e},V.combine=function(e){var t,n,i,a,s=e.length;e[0].modelMatrix;var u,l,c,f=r(e[0].geometry.indices),h=e[0].geometry.primitiveType,m=D(e);for(t in m)if(m.hasOwnProperty(t))for(u=m[t].values,a=0,n=0;s>n;++n)for(l=e[n].geometry.attributes[t].values,c=l.length,i=0;c>i;++i)u[a++]=l[i];var d;if(f){var y=0;for(n=0;s>n;++n)y+=e[n].geometry.indices.length;var p=S.computeNumberOfVertices(new S({attributes:m,primitiveType:g.POINTS})),E=v.createTypedArray(p,y),x=0,C=0;for(n=0;s>n;++n){var O=e[n].geometry.indices,T=O.length;for(a=0;T>a;++a)E[x++]=C+O[a];C+=S.computeNumberOfVertices(e[n].geometry)}d=E}var A,M=new o,I=0;for(n=0;s>n;++n){if(A=e[n].geometry.boundingSphere,!r(A)){M=void 0;break}o.add(A.center,M,M)}if(r(M))for(o.divideByScalar(M,s,M),n=0;s>n;++n){A=e[n].geometry.boundingSphere;var b=o.magnitude(o.subtract(A.center,M))+A.radius;b>I&&(I=b)}return new S({attributes:m,indices:d,primitiveType:h,boundingSphere:r(M)?new w(M,I):void 0})};var Q=new o,$=new o,et=new o,tt=new o;V.computeNormal=function(e){for(var t=e.indices,r=e.attributes,n=r.position.values,i=r.position.values.length/3,a=t.length,s=new Array(i),u=new Array(a/3),l=new Array(a),c=0;i>c;c++)s[c]={indexOffset:0,count:0,currentCount:0};var f=0;for(c=0;a>c;c+=3){var h=t[c],m=t[c+1],d=t[c+2],y=3*h,v=3*m,g=3*d;$.x=n[y],$.y=n[y+1],$.z=n[y+2],et.x=n[v],et.y=n[v+1],et.z=n[v+2],tt.x=n[g],tt.y=n[g+1],tt.z=n[g+2],s[h].count++,s[m].count++,s[d].count++,o.subtract(et,$,et),o.subtract(tt,$,tt),u[f]=o.cross(et,tt),f++}var E=0;for(c=0;i>c;c++)s[c].indexOffset+=E,E+=s[c].count;f=0;var w;for(c=0;a>c;c+=3){w=s[t[c]];var S=w.indexOffset+w.currentCount;l[S]=f,w.currentCount++,w=s[t[c+1]],S=w.indexOffset+w.currentCount,l[S]=f,w.currentCount++,w=s[t[c+2]],S=w.indexOffset+w.currentCount,l[S]=f,w.currentCount++,f++}var C=new Float32Array(3*i);for(c=0;i>c;c++){var O=3*c;if(w=s[c],w.count>0){for(o.clone(o.ZERO,Q),f=0;fl;l+=3){var m=t[l],d=t[l+1],y=t[l+2];c=3*m,f=3*d,h=3*y;var v=2*m,g=2*d,E=2*y,w=r[c],S=r[c+1],C=r[c+2],O=i[v],T=i[v+1],A=i[g+1]-T,M=i[E+1]-T,I=1/((i[g]-O)*M-(i[E]-O)*A),b=(M*(r[f]-w)-A*(r[h]-w))*I,N=(M*(r[f+1]-S)-A*(r[h+1]-S))*I,D=(M*(r[f+2]-C)-A*(r[h+2]-C))*I;u[c]+=b,u[c+1]+=N,u[c+2]+=D,u[f]+=b,u[f+1]+=N,u[f+2]+=D,u[h]+=b,u[h+1]+=N,u[h+2]+=D}var _=new Float32Array(3*a),P=new Float32Array(3*a);for(l=0;a>l;l++){c=3*l,f=c+1,h=c+2;var R=o.fromArray(n,c,rt),z=o.fromArray(u,c,it),L=o.dot(R,z);o.multiplyByScalar(R,L,nt),o.normalize(o.subtract(z,nt,z),z),P[c]=z.x,P[f]=z.y,P[h]=z.z,o.normalize(o.cross(R,z,z),z),_[c]=z.x,_[f]=z.y,_[h]=z.z}return e.attributes.tangent=new x({componentDatatype:p.FLOAT,componentsPerAttribute:3,values:P}),e.attributes.binormal=new x({componentDatatype:p.FLOAT,componentsPerAttribute:3,values:_}),e};var ot=new o,at=new o,st=new o,ut=new o,lt=new o,ct={positions:new Array(7),indices:new Array(9)};return V.wrapLongitude=function(e){var t=e.boundingSphere;if(r(t)){var n=t.center.x-t.radius;if(n>0||w.intersect(t,a.UNIT_Y)!==l.INTERSECTING)return e}return U(e),e.primitiveType===g.TRIANGLES?Y(e):e.primitiveType===g.LINES&&j(e),e},V}),define("Core/PolygonGeometryLibrary",["./defaultValue","./defined","./Cartesian3","./Ellipsoid"],function(e,t,r,n){"use strict";function i(e,t,n,i){return r.subtract(t,e,a),r.multiplyByScalar(a,n/i,a),r.add(e,a,a),[a.x,a.y,a.z]}var o={},a=new r;o.subdivideLine=function(e,t,n){var o=r.distance(e,t),a=r.angleBetween(e,t),s=a/n,u=Math.ceil(Math.log(s)/Math.log(2));1>u&&(u=0);var l=Math.pow(2,u),c=o/l,f=new Array(3*l),h=0;f[h++]=e.x,f[h++]=e.y,f[h++]=e.z;for(var m=1;l>m;m++){var d=i(e,t,m*c,o);f[h++]=d[0],f[h++]=d[1],f[h++]=d[2]}return f};var s=new r,u=new r,l=new r,c=new r;return o.scaleToGeodeticHeightExtruded=function(i,o,a,f,h){f=e(f,n.WGS84);var m=s,d=u,y=l,p=c;if(t(i)&&t(i.attributes)&&t(i.attributes.position))for(var v=i.attributes.position.values,g=v.length/2,E=0;g>E;E+=3)r.fromArray(v,E,y),f.geodeticSurfaceNormal(y,m),p=f.scaleToGeodeticSurface(y,p),d=r.multiplyByScalar(m,a,d),d=r.add(p,d,d),v[E+g]=d.x,v[E+1+g]=d.y,v[E+2+g]=d.z,h&&(p=r.clone(y,p)),d=r.multiplyByScalar(m,o,d),d=r.add(p,d,d),v[E]=d.x,v[E+1]=d.y,v[E+2]=d.z;return i},o}),define("Core/pointInsideTriangle",["./barycentricCoordinates","./Cartesian3"],function(e,t){"use strict";var r=new t,n=function(t,n,i,o){return e(t,n,i,o,r),r.x>0&&r.y>0&&r.z>0};return n}),define("Core/Queue",[],function(){"use strict";var e=function(){this._array=[],this._offset=0,this.length=0};return e.prototype.enqueue=function(e){this._array.push(e),this.length++},e.prototype.dequeue=function(){if(0===this.length)return void 0;var e=this._array,t=this._offset,r=e[t];return e[t]=void 0,t++,t>10&&2*t>e.length&&(this._array=e.slice(t),t=0),this._offset=t,this.length--,r},e.prototype.contains=function(e){return-1!==this._array.indexOf(e)},e.prototype.clear=function(){this._array.length=this._offset=this.length=0},e.prototype.sort=function(e){this._offset>0&&(this._array=this._array.slice(this._offset),this._offset=0),this._array.sort(e)},e}),define("Core/WindingOrder",["./Enumeration"],function(e){"use strict";var t={CLOCKWISE:new e(2304,"CLOCKWISE"),COUNTER_CLOCKWISE:new e(2305,"COUNTER_CLOCKWISE"),validate:function(e){return e===t.CLOCKWISE||e===t.COUNTER_CLOCKWISE}};return t}),define("Core/PolygonPipeline",["./DeveloperError","./Math","./Cartesian2","./Cartesian3","./defined","./Geometry","./GeometryAttribute","./Ellipsoid","./EllipsoidTangentPlane","./defaultValue","./pointInsideTriangle","./ComponentDatatype","./PrimitiveType","./Queue","./WindingOrder"],function(e,t,r,n,i,o,a,s,u,l,c,f,h,m,d){"use strict";function y(e,t,n){var i=r.subtract(t,e),o=r.subtract(n,t);return i.x*o.y-i.y*o.x>=0}function p(e){for(var t=e[0].x,r=0,n=0;nt&&(t=e[n].x,r=n);return r}function v(e){for(var t=e[0][0].x,r=0,n=0;nt&&(t=i,r=n)}return r}function g(e){for(var t=[],r=0;rc&&(c=t[f].x);c+=c-u;var h=new n(c,e.y,0);for(f=0;f=e.x||d.x>=e.x)&&(m.y>=e.y&&d.y<=e.y||m.y<=e.y&&d.y>=e.y)){var y=(d.y-m.y)*(h.x-e.x)-(d.x-m.x)*(h.y-e.y);if(0!==y){y=1/y;var v=((d.x-m.x)*(e.y-m.y)-(d.y-m.y)*(e.x-m.x))*y,g=((h.x-e.x)*(e.y-m.y)-(h.y-e.y)*(e.x-m.x))*y;if(v>=0&&1>=v&&g>=0&&1>=g){var E=new r(e.x+v*(h.x-e.x),e.y+v*(h.y-e.y)),w=r.subtract(E,e);y=r.magnitudeSquared(w),o>y&&(s=E,o=y,i[0]=f,i[1]=(f+1)%t.length)}}}}return s}function S(e,t){var n=v(t),i=t[n],o=p(i),a=i[o],s=[],u=w(a,e,s),l=E(e,u);if(-1!==l)return l;var f=r.magnitudeSquared(r.subtract(e[s[0]],a)),h=r.magnitudeSquared(r.subtract(e[s[1]],a)),m=h>f?e[s[0]]:e[s[1]],d=g(e),y=d.indexOf(m);-1!==y&&d.splice(y,1);for(var S=[],x=0;x0){var T=new r(1,0);for(x=0;xI&&(O=I,m=S[x])}}}return e.indexOf(m)}function x(e,t,r){for(var i=Y.computeWindingOrder2D(e),o=0;on&&(n=t.length-1),n===t.length&&(n=0),I(n,t),n}function I(t,i){var o=t-1,a=t+1;0>o&&(o=i.length-1),a===i.length&&(a=0);var s=r.subtract(i[o].position,i[t].position),u=r.subtract(i[a].position,i[t].position);if(s=new n(s.x,s.y,0),u=new n(u.x,u.y,0),b(s,u)){var l=new e("Superfluous vertex found.");throw l.vertexIndex=t,l}}function b(e,t){return 0===n.cross(e,t).z}function N(e,t){return n.cross(e,t).z<0}function D(e,t){return n.cross(e,t).z>0}function _(e,t,r){return n.cross(e,r).z>0&&n.cross(r,t).z>0}function P(e,t,r){return n.cross(e,r).z<0&&n.cross(r,t).z<0}function R(e,t,n){for(var i=0;it||e>r)&&(t>e||r>e)||t===r&&t===e}function F(t){var r=t.length;if(3===r)return z(t)?[]:[t[0].index,t[1].index,t[2].index];if(t.length<3)throw new e("Invalid polygon: must have at least three vertices.");for(var n=!1,i=0;!n;){var o=10*t.length;if(i>o)return[];i++;for(var a=C(t.length),s=a+1;Math.abs(a-s)<2||Math.abs(a-s)>t.length-2;)s=C(t.length);if(a>s){var u=a;a=s,s=u}try{if(O(a,s,t)){var l=t.splice(a,s-a+1,t[a],t[s]);return F(t).concat(F(l))}}catch(c){if(c.hasOwnProperty("vertexIndex"))return t.splice(c.vertexIndex,1),F(t);throw c}}}var U=0,B=-1,q=1,G=new n,W=new n,Y={removeDuplicates:function(e){for(var t=e.length,r=[],i=t-1,o=0;t>o;i=o++){var a=e[i],s=e[o];n.equals(a,s)||r.push(s)}return r},computeArea2D:function(e){for(var t=e.length,r=0,n=t-1,i=0;t>i;n=i++){var o=e[n],a=e[i];r+=o.x*a.y-a.x*o.y}return.5*r},computeWindingOrder2D:function(e){var t=Y.computeArea2D(e);return t>=0?d.COUNTER_CLOCKWISE:d.CLOCKWISE},triangulate:function(e){for(var t=e.length,r=[],n=0;t>n;++n)r[n]={position:e[n],index:n};return F(r)},resetSeed:function(e){U=l(e,0)},computeSubdivision:function(e,r,i){i=l(i,t.RADIANS_PER_DEGREE);for(var s=new m,u=r.length,c=0;u>c;c+=3)s.enqueue({i0:r[c],i1:r[c+1],i2:r[c+2]});for(var d,y=e.slice(0),p=[],v={};s.length>0;){var g,E,w=s.dequeue(),S=y[w.i0],x=y[w.i1],C=y[w.i2],O=n.angleBetween(S,x),T=n.angleBetween(x,C),A=n.angleBetween(C,S),M=Math.max(O,Math.max(T,A));M>i?O===M?(g=Math.min(w.i0,w.i1).toString()+" "+Math.max(w.i0,w.i1).toString(),d=v[g],d||(E=n.add(S,x),n.multiplyByScalar(E,.5,E),y.push(E),d=y.length-1,v[g]=d),s.enqueue({i0:w.i0,i1:d,i2:w.i2}),s.enqueue({i0:d,i1:w.i1,i2:w.i2})):T===M?(g=Math.min(w.i1,w.i2).toString()+" "+Math.max(w.i1,w.i2).toString(),d=v[g],d||(E=n.add(x,C),n.multiplyByScalar(E,.5,E),y.push(E),d=y.length-1,v[g]=d),s.enqueue({i0:w.i1,i1:d,i2:w.i0}),s.enqueue({i0:d,i1:w.i2,i2:w.i0})):A===M&&(g=Math.min(w.i2,w.i0).toString()+" "+Math.max(w.i2,w.i0).toString(),d=v[g],d||(E=n.add(C,S),n.multiplyByScalar(E,.5,E),y.push(E),d=y.length-1,v[g]=d),s.enqueue({i0:w.i2,i1:d,i2:w.i1}),s.enqueue({i0:d,i1:w.i0,i2:w.i1})):(p.push(w.i0),p.push(w.i1),p.push(w.i2))}var I=y.length,b=new Array(3*I),N=0;for(d=0;I>d;d++){var D=y[d];b[N++]=D.x,b[N++]=D.y,b[N++]=D.z}return new o({attributes:{position:new a({componentDatatype:f.DOUBLE,componentsPerAttribute:3,values:b})},indices:p,primitiveType:h.TRIANGLES})},scaleToGeodeticHeight:function(e,t,r,o){r=l(r,s.WGS84);var a=G,u=W;if(t=l(t,0),o=l(o,!0),i(e)&&i(e.attributes)&&i(e.attributes.position))for(var c=e.attributes.position.values,f=c.length,h=0;f>h;h+=3)n.fromArray(c,h,u),o&&(u=r.scaleToGeodeticSurface(u,u)),a=r.geodeticSurfaceNormal(u,a),n.multiplyByScalar(a,t,a),n.add(u,a,u),c[h]=u.x,c[h+1]=u.y,c[h+2]=u.z;return e},eliminateHoles:function(e,t,r){r=l(r,s.WGS84);for(var i=[],o=0;o0;)c=x(c,i,r);return c}};return Y}),define("Core/Quaternion",["./Cartesian3","./defaultValue","./defined","./DeveloperError","./FeatureDetection","./freezeObject","./Math","./Matrix3"],function(e,t,r,n,i,o,a,s){"use strict";var u,l=function(e,r,n,i){this.x=t(e,0),this.y=t(r,0),this.z=t(n,0),this.w=t(i,0)};l.fromAxisAngle=function(t,n,i){var o=n/2,a=Math.sin(o);u=e.normalize(t,u);var s=u.x*a,c=u.y*a,f=u.z*a,h=Math.cos(o);return r(i)?(i.x=s,i.y=c,i.z=f,i.w=h,i):new l(s,c,f,h)};var c=[1,2,0],f=new Array(3);l.fromRotationMatrix=function(e,t){var n,i,o,a,u,h=e[s.COLUMN0ROW0],m=e[s.COLUMN1ROW1],d=e[s.COLUMN2ROW2],y=h+m+d;if(y>0)n=Math.sqrt(y+1),u=.5*n,n=.5/n,i=(e[s.COLUMN1ROW2]-e[s.COLUMN2ROW1])*n,o=(e[s.COLUMN2ROW0]-e[s.COLUMN0ROW2])*n,a=(e[s.COLUMN0ROW1]-e[s.COLUMN1ROW0])*n;else{var p=c,v=0;m>h&&(v=1),d>h&&d>m&&(v=2);var g=p[v],E=p[g];n=Math.sqrt(e[s.getElementIndex(v,v)]-e[s.getElementIndex(g,g)]-e[s.getElementIndex(E,E)]+1);var w=f;w[v]=.5*n,n=.5/n,u=(e[s.getElementIndex(E,g)]-e[s.getElementIndex(g,E)])*n,w[g]=(e[s.getElementIndex(g,v)]+e[s.getElementIndex(v,g)])*n,w[E]=(e[s.getElementIndex(E,v)]+e[s.getElementIndex(v,E)])*n,i=-w[0],o=-w[1],a=-w[2]}return r(t)?(t.x=i,t.y=o,t.z=a,t.w=u,t):new l(i,o,a,u)};var h=new e,m=new e,d=new l,y=new l,p=new l;l.packedLength=4,l.pack=function(e,r,n){n=t(n,0),r[n++]=e.x,r[n++]=e.y,r[n++]=e.z,r[n]=e.w},l.unpack=function(e,n,i){return n=t(n,0),r(i)||(i=new l),i.x=e[n],i.y=e[n+1],i.z=e[n+2],i.w=e[n+3],i},l.packedInterpolationLength=3,l.convertPackedArrayForInterpolation=function(e,t,r,n){l.unpack(e,4*r,p),l.conjugate(p,p);for(var i=0,o=r-t+1;o>i;i++){var a=3*i;l.unpack(e,4*(t+i),d),l.multiply(d,p,d),d.w<0&&l.negate(d,d),l.getAxis(d,h);var s=l.getAngle(d);n[a]=h.x*s,n[a+1]=h.y*s,n[a+2]=h.z*s}},l.unpackInterpolationResult=function(t,n,i,o,a){r(a)||(a=new l),e.fromArray(t,0,m);var s=e.magnitude(m);return l.unpack(n,4*o,y),0===s?l.clone(l.IDENTITY,d):l.fromAxisAngle(m,s,d),l.multiply(d,y,a)},l.clone=function(e,t){return r(e)?r(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t):new l(e.x,e.y,e.z,e.w):void 0},l.conjugate=function(e,t){return r(t)?(t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=e.w,t):new l(-e.x,-e.y,-e.z,e.w)},l.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w},l.magnitude=function(e){return Math.sqrt(l.magnitudeSquared(e))},l.normalize=function(e,t){var n=1/l.magnitude(e),i=e.x*n,o=e.y*n,a=e.z*n,s=e.w*n;return r(t)?(t.x=i,t.y=o,t.z=a,t.w=s,t):new l(i,o,a,s)},l.inverse=function(e,t){var r=l.magnitudeSquared(e);return t=l.conjugate(e,t),l.multiplyByScalar(t,1/r,t)},l.add=function(e,t,n){return r(n)?(n.x=e.x+t.x,n.y=e.y+t.y,n.z=e.z+t.z,n.w=e.w+t.w,n):new l(e.x+t.x,e.y+t.y,e.z+t.z,e.w+t.w)},l.subtract=function(e,t,n){return r(n)?(n.x=e.x-t.x,n.y=e.y-t.y,n.z=e.z-t.z,n.w=e.w-t.w,n):new l(e.x-t.x,e.y-t.y,e.z-t.z,e.w-t.w)},l.negate=function(e,t){return r(t)?(t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=-e.w,t):new l(-e.x,-e.y,-e.z,-e.w)},l.dot=function(e,t){return e.x*t.x+e.y*t.y+e.z*t.z+e.w*t.w},l.multiply=function(e,t,n){var i=e.x,o=e.y,a=e.z,s=e.w,u=t.x,c=t.y,f=t.z,h=t.w,m=s*u+i*h+o*f-a*c,d=s*c-i*f+o*h+a*u,y=s*f+i*c-o*u+a*h,p=s*h-i*u-o*c-a*f;return r(n)?(n.x=m,n.y=d,n.z=y,n.w=p,n):new l(m,d,y,p)},l.multiplyByScalar=function(e,t,n){return r(n)?(n.x=e.x*t,n.y=e.y*t,n.z=e.z*t,n.w=e.w*t,n):new l(e.x*t,e.y*t,e.z*t,e.w*t)},l.divideByScalar=function(e,t,n){return r(n)?(n.x=e.x/t,n.y=e.y/t,n.z=e.z/t,n.w=e.w/t,n):new l(e.x/t,e.y/t,e.z/t,e.w/t)},l.getAxis=function(t,n){var i=t.w;if(Math.abs(i-1)i&&(i=-i,o=g=l.negate(t,g)),1-iD;++D){var _=D+1,P=2*_+1;M[D]=1/(_*P),I[D]=_/P}return M[7]=A/136,I[7]=8*A/17,l.fastSlerp=function(e,t,n,i){r(i)||(i=new l);var o,a=l.dot(e,t);a>=0?o=1:(o=-1,a=-a);for(var s=a-1,u=1-n,c=n*n,f=u*u,h=7;h>=0;--h)b[h]=(M[h]*c-I[h])*s,N[h]=(M[h]*f-I[h])*s;var m=o*n*(1+b[0]*(1+b[1]*(1+b[2]*(1+b[3]*(1+b[4]*(1+b[5]*(1+b[6]*(1+b[7])))))))),d=u*(1+N[0]*(1+N[1]*(1+N[2]*(1+N[3]*(1+N[4]*(1+N[5]*(1+N[6]*(1+N[7])))))))),y=l.multiplyByScalar(e,d,T);return l.multiplyByScalar(t,m,i),l.add(y,i,i)},l.fastSquad=function(e,t,r,n,i,o){var a=l.fastSlerp(e,t,i,C),s=l.fastSlerp(r,n,i,O);return l.fastSlerp(a,s,2*i*(1-i),o)},l.equals=function(e,t){return e===t||r(e)&&r(t)&&e.x===t.x&&e.y===t.y&&e.z===t.z&&e.w===t.w},l.equalsEpsilon=function(e,t,n){return e===t||r(e)&&r(t)&&Math.abs(e.x-t.x)<=n&&Math.abs(e.y-t.y)<=n&&Math.abs(e.z-t.z)<=n&&Math.abs(e.w-t.w)<=n},l.ZERO=o(new l(0,0,0,0)),l.IDENTITY=o(new l(0,0,0,1)),l.prototype.clone=function(e){return l.clone(this,e)},l.prototype.equals=function(e){return l.equals(this,e)},l.prototype.equalsEpsilon=function(e,t){return l.equalsEpsilon(this,e,t)},l.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+", "+this.w+")"},l}),define("Core/VertexFormat",["./defaultValue","./freezeObject"],function(e,t){"use strict";var r=function(t){t=e(t,e.EMPTY_OBJECT),this.position=e(t.position,!1),this.normal=e(t.normal,!1),this.st=e(t.st,!1),this.binormal=e(t.binormal,!1),this.tangent=e(t.tangent,!1)};return r.POSITION_ONLY=t(new r({position:!0})),r.POSITION_AND_NORMAL=t(new r({position:!0,normal:!0})),r.POSITION_NORMAL_AND_ST=t(new r({position:!0,normal:!0,st:!0})),r.POSITION_AND_ST=t(new r({position:!0,st:!0})),r.ALL=t(new r({position:!0,normal:!0,st:!0,binormal:!0,tangent:!0})),r.DEFAULT=r.POSITION_NORMAL_AND_ST,r}),define("Core/PolygonGeometry",["./defaultValue","./BoundingRectangle","./BoundingSphere","./Cartesian2","./Cartesian3","./ComponentDatatype","./defined","./DeveloperError","./Ellipsoid","./EllipsoidTangentPlane","./Geometry","./GeometryAttribute","./GeometryAttributes","./GeometryInstance","./GeometryPipeline","./IndexDatatype","./Math","./Matrix3","./PolygonGeometryLibrary","./PolygonPipeline","./PrimitiveType","./Quaternion","./Queue","./VertexFormat","./WindingOrder"],function(e,t,r,n,i,o,a,s,u,l,c,f,h,m,d,y,p,v,g,E,w,S,x,C,O){"use strict";function T(e,t,r,n){for(var o=S.fromAxisAngle(e._plane.normal,r,_),s=v.fromQuaternion(o,P),u=Number.POSITIVE_INFINITY,l=Number.NEGATIVE_INFINITY,c=Number.POSITIVE_INFINITY,f=Number.NEGATIVE_INFINITY,h=t.length,m=0;h>m;++m){var d=i.clone(t[m],D);v.multiplyByVector(s,d,d);var y=e.projectPointOntoPlane(d,N);a(y)&&(u=Math.min(u,y.x),l=Math.max(l,y.x),c=Math.min(c,y.y),f=Math.max(f,y.y))}return n.x=u,n.y=c,n.width=l-u,n.height=f-c,n}function A(e,t,r,n){var i=l.fromPoints(t,e),a=i.projectPointsOntoPlane(t,R),s=E.computeWindingOrder2D(a);s===O.CLOCKWISE&&(a.reverse(),t.reverse());var u=E.triangulate(a);u.length<3&&(u=[0,1,2]);var h;if(n){for(var d=t.length,y=new Array(3*d),p=0,v=0;d>v;v++){var g=t[v];y[p++]=g.x,y[p++]=g.y,y[p++]=g.z}h=new c({attributes:{position:new f({componentDatatype:o.DOUBLE,componentsPerAttribute:3,values:y})},indices:u,primitiveType:w.TRIANGLES})}else h=E.computeSubdivision(t,u,r);return new m({geometry:h})}function M(e,t,r,a,s,u,c){if(e.st||e.normal||e.tangent||e.binormal){var h=l.fromPoints(r,a),m=T(h,r,s,z),d=Y;d.x=m.x,d.y=m.y;var y=t.attributes.position.values,g=y.length,E=e.st?new Float32Array(2*(g/3)):void 0,w=e.normal?new Float32Array(g):void 0,x=e.tangent?new Float32Array(g):void 0,C=e.binormal?new Float32Array(g):void 0,O=0,A=0,M=F,I=U,b=B,N=!0,D=S.fromAxisAngle(h._plane.normal,s,H),_=v.fromQuaternion(D,k),P=g/2,R=g/3;u&&(g/=2);for(var q=0;g>q;q+=3){var K=i.fromArray(y,q,V);if(e.st){var Z=v.multiplyByVector(_,K,L),J=h.projectPointOntoPlane(Z,j);n.subtract(J,d,J),u&&(E[O+R]=J.x/m.width,E[O+1+R]=J.y/m.height),E[O]=J.x/m.width,E[O+1]=J.y/m.height,O+=2}if(e.normal||e.tangent||e.binormal){var X=A+1,Q=A+2;if(c){if(g>q+3){var $=i.fromArray(y,q+3,G);if(N){var et=i.fromArray(y,q+g,W);i.subtract($,K,$),i.subtract(et,K,et),M=i.normalize(i.cross(et,$,M),M),N=!1}i.equalsEpsilon($,K,p.EPSILON10)&&(N=!0)}(e.tangent||e.binormal)&&(b=a.geodeticSurfaceNormal(K,b),e.tangent&&(I=i.normalize(i.cross(b,M,I),I)))}else M=a.geodeticSurfaceNormal(K,M),(e.tangent||e.binormal)&&(I=i.cross(i.UNIT_Z,M,I),I=i.normalize(v.multiplyByVector(_,I,I),I),e.binormal&&(b=i.normalize(i.cross(M,I,b),b)));e.normal&&(u&&!c?(w[A+P]=-M.x,w[X+P]=-M.y,w[Q+P]=-M.z):(w[A+P]=M.x,w[X+P]=M.y,w[Q+P]=M.z),w[A]=M.x,w[X]=M.y,w[Q]=M.z),e.tangent&&(u&&!c?(x[A+P]=-I.x,x[X+P]=-I.y,x[Q+P]=-I.z):(x[A+P]=I.x,x[X+P]=I.y,x[Q+P]=I.z),x[A]=I.x,x[X]=I.y,x[Q]=I.z),e.binormal&&(u&&(C[A+P]=b.x,C[X+P]=b.y,C[Q+P]=b.z),C[A]=b.x,C[X]=b.y,C[Q]=b.z),A+=3}}e.st&&(t.attributes.st=new f({componentDatatype:o.FLOAT,componentsPerAttribute:2,values:E})),e.normal&&(t.attributes.normal=new f({componentDatatype:o.FLOAT,componentsPerAttribute:3,values:w})),e.tangent&&(t.attributes.tangent=new f({componentDatatype:o.FLOAT,componentsPerAttribute:3,values:x})),e.binormal&&(t.attributes.binormal=new f({componentDatatype:o.FLOAT,componentsPerAttribute:3,values:C}))}return t}function I(e,t,r){var n,a,s,u,l,m,d,v,E,S=[],x=e.length;if(r)for(d=0;x>d;d++)v=e[d],E=e[(d+1)%x],S.push(v.x,v.y,v.z,E.x,E.y,E.z);else for(d=0;x>d;d++)v=e[d],E=e[(d+1)%x],n=g.subdivideLine(v,E,t),n.push(E.x,E.y,E.z),S=S.concat(n);S=S.concat(S),x=S.length;var C=y.createTypedArray(x/3,x-6*e.length);for(a=0,x/=6,d=0;x>d;d++)s=d,u=s+1,v=i.fromArray(S,3*s,G),E=i.fromArray(S,3*u,W),i.equalsEpsilon(v,E,p.EPSILON6)||(l=s+x,m=l+1,C[a++]=s,C[a++]=l,C[a++]=u,C[a++]=u,C[a++]=l,C[a++]=m);return new c({attributes:new h({position:new f({componentDatatype:o.DOUBLE,componentsPerAttribute:3,values:S})}),indices:C,primitiveType:w.TRIANGLES})}function b(e,t,r,n,i){var a=A(e,t,r,i).geometry,s=a.attributes.position.values,u=a.indices,l=s.concat(s),d=l.length/3,p=y.createTypedArray(d,2*u.length);p.set(u);var v,g=u.length,w=d/2;for(v=0;g>v;v+=3){var S=p[v]+w,x=p[v+1]+w,C=p[v+2]+w;p[v+g]=C,p[v+1+g]=x,p[v+2+g]=S}var T=new c({attributes:new h({position:new f({componentDatatype:o.DOUBLE,componentsPerAttribute:3,values:l})}),indices:p,primitiveType:a.primitiveType}),M={topAndBottom:new m({geometry:T})};M.walls=[];var b=n.outerRing,N=E.computeWindingOrder2D(b);N===O.CLOCKWISE&&(b=b.reverse());var D=I(b,r,i);M.walls.push(new m({geometry:D}));var _=n.holes;for(v=0;v<_.length;v++){var P=_[v];N=E.computeWindingOrder2D(P),N!==O.CLOCKWISE&&(P=P.reverse()),D=I(P,r),M.walls.push(new m({geometry:D}))}return M}var N=new n,D=new i,_=new S,P=new v,R=[],z=new t,L=new i,F=new i,U=new i,B=new i,q=new r,G=new i,W=new i,Y=new n,j=new n,V=new i,H=new S,k=new v,K=function(t){t=e(t,e.EMPTY_OBJECT);var r=e(t.vertexFormat,C.DEFAULT),n=e(t.ellipsoid,u.WGS84),i=e(t.granularity,p.RADIANS_PER_DEGREE),o=e(t.stRotation,0),s=e(t.height,0),l=e(t.perPositionHeight,!1),c=t.extrudedHeight,f=a(c)&&(!p.equalsEpsilon(s,c,p.EPSILON6)||l);if(f){var h=c;c=Math.min(h,s),s=Math.max(h,s)}var m=t.polygonHierarchy;this._vertexFormat=r,this._ellipsoid=n,this._granularity=i,this._stRotation=o,this._height=s,this._extrudedHeight=c,this._extrude=f,this._polygonHierarchy=m,this._perPositionHeight=l,this._workerName="createPolygonGeometry"};return K.fromPositions=function(t){t=e(t,e.EMPTY_OBJECT);var r={polygonHierarchy:{positions:t.positions},height:t.height,extrudedHeight:t.extrudedHeight,vertexFormat:t.vertexFormat,stRotation:t.stRotation,ellipsoid:t.ellipsoid,granularity:t.granularity,perPositionHeight:t.perPositionHeight};return new K(r)},K.createGeometry=function(e){var t,n,o,u,l=e._vertexFormat,f=e._ellipsoid,h=e._granularity,m=e._stRotation,p=e._height,v=e._extrudedHeight,w=e._extrude,S=e._polygonHierarchy,C=e._perPositionHeight,O=[],T=new x;T.enqueue(S),S=[];for(var I;0!==T.length;){var N=T.dequeue(),D=N.positions,_=N.holes;if(D=E.removeDuplicates(D),D.length<3)throw new s("At least three positions are required.");var P=_?_.length:0;if(0===P)S.push({outerRing:D,holes:[]}),O.push(D);else{var R=[];for(I=0;P>I;I++){var z=_[I];if(z.positions=E.removeDuplicates(z.positions),z.positions.length<3)throw new s("At least three positions are required.");R.push(z.positions);var U=0;a(z.holes)&&(U=z.holes.length);for(var B=0;U>B;B++)T.enqueue(z.holes[B])}S.push({outerRing:D,holes:R});var G=E.eliminateHoles(D,R);O.push(G)}}u=O[0],t=r.fromPoints(u);var W,Y=[];if(w){for(I=0;Ir&&(r+=1),r>1&&(r-=1),1>6*r?e+6*(t-e)*r:1>2*r?t:2>3*r?e+6*(t-e)*(2/3-r):e}var s=function(t,r,n,i){this.red=e(t,1),this.green=e(r,1),this.blue=e(n,1),this.alpha=e(i,1)};s.fromBytes=function(t,r,n,i){return t=s.byteToFloat(e(t,255)),r=s.byteToFloat(e(r,255)),n=s.byteToFloat(e(n,255)),i=s.byteToFloat(e(i,255)),new s(t,r,n,i)};var u,l,c;i.supportsTypedArrays()&&(u=new ArrayBuffer(4),l=new Uint32Array(u),c=new Uint8Array(u)),s.fromRgba=function(e){return l[0]=e,s.fromBytes(c[0],c[1],c[2],c[3])},s.fromHsl=function(t,r,n,i){t=e(t,0)%1,r=e(r,0),n=e(n,0),i=e(i,1);var o=n,u=n,l=n;if(0!==r){var c;c=.5>n?n*(1+r):n+r-n*r;var f=2*n-c;o=a(f,c,t+1/3),u=a(f,c,t),l=a(f,c,t-1/3)}return new s(o,u,l,i)},s.fromRandom=function(r,n){r=e(r,e.EMPTY_OBJECT);var i=r.red;if(!t(i)){var a=e(r.minimumRed,0),u=e(r.maximumRed,1);i=a+o.nextRandomNumber()*(u-a)}var l=r.green;if(!t(l)){var c=e(r.minimumGreen,0),f=e(r.maximumGreen,1);l=c+o.nextRandomNumber()*(f-c)}var h=r.blue;if(!t(h)){var m=e(r.minimumBlue,0),d=e(r.maximumBlue,1);h=m+o.nextRandomNumber()*(d-m)}var y=r.alpha;if(!t(y)){var p=e(r.minimumAlpha,0),v=e(r.maximumAlpha,1);y=p+o.nextRandomNumber()*(v-p)}return t(n)?(n.red=i,n.green=l,n.blue=h,n.alpha=y,n):new s(i,l,h,y)};var f=/^#([0-9a-f])([0-9a-f])([0-9a-f])$/i,h=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i,m=/^rgba?\(\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)(?:\s*,\s*([0-9.]+))?\s*\)$/i,d=/^hsla?\(\s*([0-9.]+)\s*,\s*([0-9.]+%)\s*,\s*([0-9.]+%)(?:\s*,\s*([0-9.]+))?\s*\)$/i;return s.fromCssColorString=function(r){var n=s[r.toUpperCase()];if(t(n))return s.clone(n);var i=f.exec(r);return null!==i?new s(parseInt(i[1],16)/15,parseInt(i[2],16)/15,parseInt(i[3],16)/15):(i=h.exec(r),null!==i?new s(parseInt(i[1],16)/255,parseInt(i[2],16)/255,parseInt(i[3],16)/255):(i=m.exec(r),null!==i?new s(parseFloat(i[1])/("%"===i[1].substr(-1)?100:255),parseFloat(i[2])/("%"===i[2].substr(-1)?100:255),parseFloat(i[3])/("%"===i[3].substr(-1)?100:255),parseFloat(e(i[4],"1.0"))):(i=d.exec(r),null!==i?s.fromHsl(parseFloat(i[1])/360,parseFloat(i[2])/100,parseFloat(i[3])/100,parseFloat(e(i[4],"1.0"))):void 0)))},s.packedLength=4,s.pack=function(t,r,n){n=e(n,0),r[n++]=t.red,r[n++]=t.green,r[n++]=t.blue,r[n]=t.alpha},s.unpack=function(r,n,i){return n=e(n,0),t(i)||(i=new s),i.red=r[n++],i.green=r[n++],i.blue=r[n++],i.alpha=r[n],i},s.byteToFloat=function(e){return e/255},s.floatToByte=function(e){return 1===e?255:0|256*e},s.clone=function(e,r){return t(e)?t(r)?(r.red=e.red,r.green=e.green,r.blue=e.blue,r.alpha=e.alpha,r):new s(e.red,e.green,e.blue,e.alpha):void 0},s.equals=function(e,r){return e===r||t(e)&&t(r)&&e.red===r.red&&e.green===r.green&&e.blue===r.blue&&e.alpha===r.alpha},s.prototype.clone=function(e){return s.clone(this,e)},s.prototype.equals=function(e){return s.equals(this,e)},s.prototype.equalsEpsilon=function(e,r){return this===e||t(e)&&Math.abs(this.red-e.red)<=r&&Math.abs(this.green-e.green)<=r&&Math.abs(this.blue-e.blue)<=r&&Math.abs(this.alpha-e.alpha)<=r},s.prototype.toString=function(){return"("+this.red+", "+this.green+", "+this.blue+", "+this.alpha+")"},s.prototype.toCssColorString=function(){var e=s.floatToByte(this.red),t=s.floatToByte(this.green),r=s.floatToByte(this.blue);return 1===this.alpha?"rgb("+e+","+t+","+r+")":"rgba("+e+","+t+","+r+","+this.alpha+")"},s.prototype.toBytes=function(e){var r=s.floatToByte(this.red),n=s.floatToByte(this.green),i=s.floatToByte(this.blue),o=s.floatToByte(this.alpha);return t(e)?(e[0]=r,e[1]=n,e[2]=i,e[3]=o,e):[r,n,i,o]},s.prototype.toRgba=function(){return c[0]=s.floatToByte(this.red),c[1]=s.floatToByte(this.green),c[2]=s.floatToByte(this.blue),c[3]=s.floatToByte(this.alpha),l[0]},s.ALICEBLUE=r(s.fromCssColorString("#F0F8FF")),s.ANTIQUEWHITE=r(s.fromCssColorString("#FAEBD7")),s.AQUA=r(s.fromCssColorString("#00FFFF")),s.AQUAMARINE=r(s.fromCssColorString("#7FFFD4")),s.AZURE=r(s.fromCssColorString("#F0FFFF")),s.BEIGE=r(s.fromCssColorString("#F5F5DC")),s.BISQUE=r(s.fromCssColorString("#FFE4C4")),s.BLACK=r(s.fromCssColorString("#000000")),s.BLANCHEDALMOND=r(s.fromCssColorString("#FFEBCD")),s.BLUE=r(s.fromCssColorString("#0000FF")),s.BLUEVIOLET=r(s.fromCssColorString("#8A2BE2")),s.BROWN=r(s.fromCssColorString("#A52A2A")),s.BURLYWOOD=r(s.fromCssColorString("#DEB887")),s.CADETBLUE=r(s.fromCssColorString("#5F9EA0")),s.CHARTREUSE=r(s.fromCssColorString("#7FFF00")),s.CHOCOLATE=r(s.fromCssColorString("#D2691E")),s.CORAL=r(s.fromCssColorString("#FF7F50")),s.CORNFLOWERBLUE=r(s.fromCssColorString("#6495ED")),s.CORNSILK=r(s.fromCssColorString("#FFF8DC")),s.CRIMSON=r(s.fromCssColorString("#DC143C")),s.CYAN=r(s.fromCssColorString("#00FFFF")),s.DARKBLUE=r(s.fromCssColorString("#00008B")),s.DARKCYAN=r(s.fromCssColorString("#008B8B")),s.DARKGOLDENROD=r(s.fromCssColorString("#B8860B")),s.DARKGRAY=r(s.fromCssColorString("#A9A9A9")),s.DARKGREEN=r(s.fromCssColorString("#006400")),s.DARKGREY=s.DARKGRAY,s.DARKKHAKI=r(s.fromCssColorString("#BDB76B")),s.DARKMAGENTA=r(s.fromCssColorString("#8B008B")),s.DARKOLIVEGREEN=r(s.fromCssColorString("#556B2F")),s.DARKORANGE=r(s.fromCssColorString("#FF8C00")),s.DARKORCHID=r(s.fromCssColorString("#9932CC")),s.DARKRED=r(s.fromCssColorString("#8B0000")),s.DARKSALMON=r(s.fromCssColorString("#E9967A")),s.DARKSEAGREEN=r(s.fromCssColorString("#8FBC8F")),s.DARKSLATEBLUE=r(s.fromCssColorString("#483D8B")),s.DARKSLATEGRAY=r(s.fromCssColorString("#2F4F4F")),s.DARKSLATEGREY=s.DARKSLATEGRAY,s.DARKTURQUOISE=r(s.fromCssColorString("#00CED1")),s.DARKVIOLET=r(s.fromCssColorString("#9400D3")),s.DEEPPINK=r(s.fromCssColorString("#FF1493")),s.DEEPSKYBLUE=r(s.fromCssColorString("#00BFFF")),s.DIMGRAY=r(s.fromCssColorString("#696969")),s.DIMGREY=s.DIMGRAY,s.DODGERBLUE=r(s.fromCssColorString("#1E90FF")),s.FIREBRICK=r(s.fromCssColorString("#B22222")),s.FLORALWHITE=r(s.fromCssColorString("#FFFAF0")),s.FORESTGREEN=r(s.fromCssColorString("#228B22")),s.FUSCHIA=r(s.fromCssColorString("#FF00FF")),s.GAINSBORO=r(s.fromCssColorString("#DCDCDC")),s.GHOSTWHITE=r(s.fromCssColorString("#F8F8FF")),s.GOLD=r(s.fromCssColorString("#FFD700")),s.GOLDENROD=r(s.fromCssColorString("#DAA520")),s.GRAY=r(s.fromCssColorString("#808080")),s.GREEN=r(s.fromCssColorString("#008000")),s.GREENYELLOW=r(s.fromCssColorString("#ADFF2F")),s.GREY=s.GRAY,s.HONEYDEW=r(s.fromCssColorString("#F0FFF0")),s.HOTPINK=r(s.fromCssColorString("#FF69B4")),s.INDIANRED=r(s.fromCssColorString("#CD5C5C")),s.INDIGO=r(s.fromCssColorString("#4B0082")),s.IVORY=r(s.fromCssColorString("#FFFFF0")),s.KHAKI=r(s.fromCssColorString("#F0E68C")),s.LAVENDER=r(s.fromCssColorString("#E6E6FA")),s.LAVENDAR_BLUSH=r(s.fromCssColorString("#FFF0F5")),s.LAWNGREEN=r(s.fromCssColorString("#7CFC00")),s.LEMONCHIFFON=r(s.fromCssColorString("#FFFACD")),s.LIGHTBLUE=r(s.fromCssColorString("#ADD8E6")),s.LIGHTCORAL=r(s.fromCssColorString("#F08080")),s.LIGHTCYAN=r(s.fromCssColorString("#E0FFFF")),s.LIGHTGOLDENRODYELLOW=r(s.fromCssColorString("#FAFAD2")),s.LIGHTGRAY=r(s.fromCssColorString("#D3D3D3")),s.LIGHTGREEN=r(s.fromCssColorString("#90EE90")),s.LIGHTGREY=s.LIGHTGRAY,s.LIGHTPINK=r(s.fromCssColorString("#FFB6C1")),s.LIGHTSEAGREEN=r(s.fromCssColorString("#20B2AA")),s.LIGHTSKYBLUE=r(s.fromCssColorString("#87CEFA")),s.LIGHTSLATEGRAY=r(s.fromCssColorString("#778899")),s.LIGHTSLATEGREY=s.LIGHTSLATEGRAY,s.LIGHTSTEELBLUE=r(s.fromCssColorString("#B0C4DE")),s.LIGHTYELLOW=r(s.fromCssColorString("#FFFFE0")),s.LIME=r(s.fromCssColorString("#00FF00")),s.LIMEGREEN=r(s.fromCssColorString("#32CD32")),s.LINEN=r(s.fromCssColorString("#FAF0E6")),s.MAGENTA=r(s.fromCssColorString("#FF00FF")),s.MAROON=r(s.fromCssColorString("#800000")),s.MEDIUMAQUAMARINE=r(s.fromCssColorString("#66CDAA")),s.MEDIUMBLUE=r(s.fromCssColorString("#0000CD")),s.MEDIUMORCHID=r(s.fromCssColorString("#BA55D3")),s.MEDIUMPURPLE=r(s.fromCssColorString("#9370DB")),s.MEDIUMSEAGREEN=r(s.fromCssColorString("#3CB371")),s.MEDIUMSLATEBLUE=r(s.fromCssColorString("#7B68EE")),s.MEDIUMSPRINGGREEN=r(s.fromCssColorString("#00FA9A")),s.MEDIUMTURQUOISE=r(s.fromCssColorString("#48D1CC")),s.MEDIUMVIOLETRED=r(s.fromCssColorString("#C71585")),s.MIDNIGHTBLUE=r(s.fromCssColorString("#191970")),s.MINTCREAM=r(s.fromCssColorString("#F5FFFA")),s.MISTYROSE=r(s.fromCssColorString("#FFE4E1")),s.MOCCASIN=r(s.fromCssColorString("#FFE4B5")),s.NAVAJOWHITE=r(s.fromCssColorString("#FFDEAD")),s.NAVY=r(s.fromCssColorString("#000080")),s.OLDLACE=r(s.fromCssColorString("#FDF5E6")),s.OLIVE=r(s.fromCssColorString("#808000")),s.OLIVEDRAB=r(s.fromCssColorString("#6B8E23")),s.ORANGE=r(s.fromCssColorString("#FFA500")),s.ORANGERED=r(s.fromCssColorString("#FF4500")),s.ORCHID=r(s.fromCssColorString("#DA70D6")),s.PALEGOLDENROD=r(s.fromCssColorString("#EEE8AA")),s.PALEGREEN=r(s.fromCssColorString("#98FB98")),s.PALETURQUOISE=r(s.fromCssColorString("#AFEEEE")),s.PALEVIOLETRED=r(s.fromCssColorString("#DB7093")),s.PAPAYAWHIP=r(s.fromCssColorString("#FFEFD5")),s.PEACHPUFF=r(s.fromCssColorString("#FFDAB9")),s.PERU=r(s.fromCssColorString("#CD853F")),s.PINK=r(s.fromCssColorString("#FFC0CB")),s.PLUM=r(s.fromCssColorString("#DDA0DD")),s.POWDERBLUE=r(s.fromCssColorString("#B0E0E6")),s.PURPLE=r(s.fromCssColorString("#800080")),s.RED=r(s.fromCssColorString("#FF0000")),s.ROSYBROWN=r(s.fromCssColorString("#BC8F8F")),s.ROYALBLUE=r(s.fromCssColorString("#4169E1")),s.SADDLEBROWN=r(s.fromCssColorString("#8B4513")),s.SALMON=r(s.fromCssColorString("#FA8072")),s.SANDYBROWN=r(s.fromCssColorString("#F4A460")),s.SEAGREEN=r(s.fromCssColorString("#2E8B57")),s.SEASHELL=r(s.fromCssColorString("#FFF5EE")),s.SIENNA=r(s.fromCssColorString("#A0522D")),s.SILVER=r(s.fromCssColorString("#C0C0C0")),s.SKYBLUE=r(s.fromCssColorString("#87CEEB")),s.SLATEBLUE=r(s.fromCssColorString("#6A5ACD")),s.SLATEGRAY=r(s.fromCssColorString("#708090")),s.SLATEGREY=s.SLATEGRAY,s.SNOW=r(s.fromCssColorString("#FFFAFA")),s.SPRINGGREEN=r(s.fromCssColorString("#00FF7F")),s.STEELBLUE=r(s.fromCssColorString("#4682B4")),s.TAN=r(s.fromCssColorString("#D2B48C")),s.TEAL=r(s.fromCssColorString("#008080")),s.THISTLE=r(s.fromCssColorString("#D8BFD8")),s.TOMATO=r(s.fromCssColorString("#FF6347")),s.TURQUOISE=r(s.fromCssColorString("#40E0D0")),s.VIOLET=r(s.fromCssColorString("#EE82EE")),s.WHEAT=r(s.fromCssColorString("#F5DEB3")),s.WHITE=r(s.fromCssColorString("#FFFFFF")),s.WHITESMOKE=r(s.fromCssColorString("#F5F5F5")),s.YELLOW=r(s.fromCssColorString("#FFFF00")),s.YELLOWGREEN=r(s.fromCssColorString("#9ACD32")),s}),define("Scene/PrimitivePipeline",["../Core/defined","../Core/defaultValue","../Core/Color","../Core/ComponentDatatype","../Core/DeveloperError","../Core/FeatureDetection","../Core/Geometry","../Core/GeometryAttribute","../Core/GeometryPipeline","../Core/Matrix4"],function(e,t,r,n,i,o,a,s,u,l){"use strict";function c(e,t,r){var n,i=!r,o=e.length;if(!i&&o>1){var a=e[0].modelMatrix;for(n=1;o>n;++n)if(!l.equals(a,e[n].modelMatrix)){i=!0;break}}if(i)for(n=0;o>n;++n)u.transformToWorldCoordinates(e[n]);else l.clone(e[0].modelMatrix,t)}function f(e,t){for(var i=e.length,o=0;i>o;++o){var a=e[o],u=a.geometry,l=u.attributes,c=l.position,f=4*(c.values.length/c.componentsPerAttribute);l.pickColor=new s({componentDatatype:n.UNSIGNED_BYTE,componentsPerAttribute:4,normalize:!0,values:new Uint8Array(f)});for(var h=t[o],m=r.floatToByte(h.red),d=r.floatToByte(h.green),y=r.floatToByte(h.blue),p=r.floatToByte(h.alpha),v=l.pickColor.values,g=0;f>g;g+=4)v[g]=m,v[g+1]=d,v[g+2]=y,v[g+3]=p}}function h(t){var r,n=t.length,i=[],o=t[0].attributes;for(r in o)if(o.hasOwnProperty(r)){for(var a=o[r],s=!0,u=1;n>u;++u){var l=t[u].attributes[r];if(!e(l)||a.componentDatatype.value!==l.componentDatatype.value||a.componentsPerAttribute!==l.componentsPerAttribute||a.normalize!==l.normalize){s=!1;break}}s&&i.push(r)}return i}function m(e,t){for(var r=e.length,i=0;r>i;++i)for(var o=e[i],u=o.attributes,l=o.geometry,c=a.computeNumberOfVertices(l),f=t.length,h=0;f>h;++h){for(var m=t[h],d=u[m],y=d.componentDatatype,p=d.value,v=p.length,g=n.createTypedArray(y,c*v),E=0;c>E;++E)g.set(p,E*v);l.attributes[m]=new s({componentDatatype:y,componentsPerAttribute:v,normalize:d.normalize,values:g})}}function d(e){var t,r=e.instances,i=e.pickIds,o=e.projection,a=e.elementIndexUintSupported,s=e.allow3DOnly,l=e.allowPicking,d=e.vertexCacheOptimize,y=e.modelMatrix,p=r.length;if(r[0].geometry.primitiveType,c(r,y,s),!s)for(t=0;p>t;++t)u.wrapLongitude(r[t].geometry);l&&f(r,i);var v=h(r);if(m(r,v),d)for(t=0;p>t;++t)u.reorderForPostVertexCache(r[t].geometry),u.reorderForPreVertexCache(r[t].geometry);var g,E=u.combine(r),w=E.attributes;if(s)for(g in w)w.hasOwnProperty(g)&&w[g].componentDatatype.value===n.DOUBLE.value&&u.encodeAttribute(E,g,g+"3DHigh",g+"3DLow");else for(g in w)if(w.hasOwnProperty(g)&&w[g].componentDatatype.value===n.DOUBLE.value){var S=g+"3D",x=g+"2D";u.projectTo2D(E,g,S,x,o),u.encodeAttribute(E,S,S+"High",S+"Low"),u.encodeAttribute(E,x,x+"High",x+"Low")}return a?[E]:u.fitToUnsignedShortIndices(E)}function y(e,t,r){for(var i=[],o=e.attributes,a=r.length,s=0;a>s;++s){var u=r[s],l=o[u],c=l.componentDatatype;c.value===n.DOUBLE.value&&(c=n.FLOAT);var f=n.createTypedArray(c,l.values);i.push({index:t[u],componentDatatype:c,componentsPerAttribute:l.componentsPerAttribute,normalize:l.normalize,values:f}),delete o[u]}return i}function p(r,n,i){for(var o=[],s=h(r),u=r.length,l={},c={},f=0;u>f;++f)for(var m=r[f],d=a.computeNumberOfVertices(m.geometry),y=s.length,p=0;y>p;++p)for(var v=s[p],g=i[v],E=d;E>0;){for(var w,S=t(c[v],0),x=n[S],C=x.length,O=0;C>O&&(w=x[O],w.index!==g);++O);e(o[f])||(o[f]={}),e(o[f][v])||(o[f][v]={dirty:!1,value:m.attributes[v].value,indices:[]});var T,A=w.values.length/w.componentsPerAttribute,M=t(l[v],0);A>M+E?(T=E,o[f][v].indices.push({attribute:w,offset:M,count:T}),l[v]=M+E):(T=A-M,o[f][v].indices.push({attribute:w,offset:M,count:T}),l[v]=0,c[v]=S+1),E-=T}return o}function v(t){return e(t.constructor.name)?{type:t.constructor.name,buffer:t.buffer}:t}function g(t){return e(t.type)?new w[t.type](t.buffer):t}if(!o.supportsTypedArrays())return{};var E={};E.combineGeometry=function(e){for(var t={instances:e.instances,pickIds:e.pickIds,ellipsoid:e.ellipsoid,projection:e.projection,elementIndexUintSupported:e.elementIndexUintSupported,allow3DOnly:e.allow3DOnly,allowPicking:e.allowPicking,vertexCacheOptimize:e.vertexCacheOptimize,modelMatrix:l.clone(e.modelMatrix)},r=d(t),n=u.createAttributeLocations(r[0]),i=t.instances,o=h(i),a=[],s=r.length,c=0;s>c;++c){var f=r[c]; +a.push(y(f,n,o))}var m=p(i,a,n);return{geometries:r,modelMatrix:t.modelMatrix,attributeLocations:n,vaAttributes:a,vaAttributeLocations:m}};var w={Int8Array:Int8Array,Uint8Array:Uint8Array,Int16Array:Int16Array,Uint16Array:Uint16Array,Int32Array:Int32Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array};return E.transferGeometry=function(t,r){var n,i=t.attributes;for(var a in i)i.hasOwnProperty(a)&&e(i[a])&&e(i[a].values)&&(n=i[a].values,o.supportsTransferringArrayBuffers()&&r.indexOf(i[a].values.buffer)<0&&r.push(n.buffer),e(n.type)||(i[a].values=v(n)));e(t.indices)&&(n=t.indices,o.supportsTransferringArrayBuffers()&&r.push(n.buffer),e(n.type)||(t.indices=v(t.indices)))},E.transferGeometries=function(e,t){for(var r=e.length,n=0;r>n;++n)E.transferGeometry(e[n],t)},E.transferPerInstanceAttributes=function(e,t){for(var r=e.length,n=0;r>n;++n)for(var i=e[n],a=i.length,s=0;a>s;++s){var u=i[s].values;o.supportsTransferringArrayBuffers()&&t.push(u.buffer),i[s].values=v(u)}},E.transferInstances=function(e,t){for(var r=e.length,n=0;r>n;++n){var i=e[n];E.transferGeometry(i.geometry,t)}},E.receiveGeometry=function(t){var r=t.attributes;for(var n in r)r.hasOwnProperty(n)&&e(r[n])&&e(r[n].values)&&(r[n].values=g(r[n].values));e(t.indices)&&(t.indices=g(t.indices))},E.receiveGeometries=function(e){for(var t=e.length,r=0;t>r;++r)E.receiveGeometry(e[r])},E.receivePerInstanceAttributes=function(e){for(var t=e.length,r=0;t>r;++r)for(var n=e[r],i=n.length,o=0;i>o;++o)n[o].values=g(n[o].values)},E.receiveInstances=function(e){for(var t=e.length,r=0;t>r;++r){var n=e[r];E.receiveGeometry(n.geometry)}},E}),define("Workers/createTaskProcessorWorker",["../Core/defaultValue","../Core/defined"],function(e,t){"use strict";var r=function(r){var n,i=[],o={id:void 0,result:void 0,error:void 0};return function(a){var s=a.data;i.length=0,o.id=s.id,o.error=void 0,o.result=void 0;try{o.result=r(s.parameters,i)}catch(u){o.error=u}t(n)||(n=e(self.webkitPostMessage,self.postMessage));try{n(o,i)}catch(u){o.result=void 0,o.error="postMessage failed with error: "+u+"\n with responseMessage: "+JSON.stringify(o),n(o)}}};return r}),define("Workers/createPolygonGeometry",["../Core/PolygonGeometry","../Core/Ellipsoid","../Scene/PrimitivePipeline","./createTaskProcessorWorker"],function(e,t,r,n){"use strict";function i(n,i){var o=n.geometry;o._ellipsoid=t.clone(o._ellipsoid);var a=e.createGeometry(o);return r.transferGeometry(a,i),{geometry:a,index:n.index}}return n(i)})}(); \ No newline at end of file diff --git a/Cesium/Workers/createPolygonOutlineGeometry.js b/Cesium/Workers/createPolygonOutlineGeometry.js new file mode 100644 index 0000000..874e6e4 --- /dev/null +++ b/Cesium/Workers/createPolygonOutlineGeometry.js @@ -0,0 +1,230 @@ +/** + * Cesium - https://github.com/AnalyticalGraphicsInc/cesium + * + * Copyright 2011-2014 Cesium Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Columbus View (Pat. Pend.) + * + * Portions licensed separately. + * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details. + */ +/** +@license +mersenne-twister.js - https://gist.github.com/banksean/300494 + + Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura, + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. The names of its contributors may not be used to endorse or promote + products derived from this software without specific prior written + permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/** + * @fileOverview + * @license + * + * Grauw URI utilities + * + * See: http://hg.grauw.nl/grauw-lib/file/tip/src/uri.js + * + * @author Laurens Holst (http://www.grauw.nl/) + * + * Copyright 2012 Laurens Holst + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +/** +@license +sprintf.js from the php.js project - https://github.com/kvz/phpjs +Directly from https://github.com/kvz/phpjs/blob/master/functions/strings/sprintf.js + +php.js is copyright 2012 Kevin van Zonneveld. + +Portions copyright Brett Zamir (http://brett-zamir.me), Kevin van Zonneveld +(http://kevin.vanzonneveld.net), Onno Marsman, Theriault, Michael White +(http://getsprink.com), Waldo Malqui Silva, Paulo Freitas, Jack, Jonas +Raoni Soares Silva (http://www.jsfromhell.com), Philip Peterson, Legaev +Andrey, Ates Goral (http://magnetiq.com), Alex, Ratheous, Martijn Wieringa, +Rafa? Kukawski (http://blog.kukawski.pl), lmeyrick +(https://sourceforge.net/projects/bcmath-js/), Nate, Philippe Baumann, +Enrique Gonzalez, Webtoolkit.info (http://www.webtoolkit.info/), Carlos R. +L. Rodrigues (http://www.jsfromhell.com), Ash Searle +(http://hexmen.com/blog/), Jani Hartikainen, travc, Ole Vrijenhoek, +Erkekjetter, Michael Grier, Rafa? Kukawski (http://kukawski.pl), Johnny +Mast (http://www.phpvrouwen.nl), T.Wild, d3x, +http://stackoverflow.com/questions/57803/how-to-convert-decimal-to-hex-in-javascript, +Rafa? Kukawski (http://blog.kukawski.pl/), stag019, pilus, WebDevHobo +(http://webdevhobo.blogspot.com/), marrtins, GeekFG +(http://geekfg.blogspot.com), Andrea Giammarchi +(http://webreflection.blogspot.com), Arpad Ray (mailto:arpad@php.net), +gorthaur, Paul Smith, Tim de Koning (http://www.kingsquare.nl), Joris, Oleg +Eremeev, Steve Hilder, majak, gettimeofday, KELAN, Josh Fraser +(http://onlineaspect.com/2007/06/08/auto-detect-a-time-zone-with-javascript/), +Marc Palau, Martin +(http://www.erlenwiese.de/), Breaking Par Consulting Inc +(http://www.breakingpar.com/bkp/home.nsf/0/87256B280015193F87256CFB006C45F7), +Chris, Mirek Slugen, saulius, Alfonso Jimenez +(http://www.alfonsojimenez.com), Diplom@t (http://difane.com/), felix, +Mailfaker (http://www.weedem.fr/), Tyler Akins (http://rumkin.com), Caio +Ariede (http://caioariede.com), Robin, Kankrelune +(http://www.webfaktory.info/), Karol Kowalski, Imgen Tata +(http://www.myipdf.com/), mdsjack (http://www.mdsjack.bo.it), Dreamer, +Felix Geisendoerfer (http://www.debuggable.com/felix), Lars Fischer, AJ, +David, Aman Gupta, Michael White, Public Domain +(http://www.json.org/json2.js), Steven Levithan +(http://blog.stevenlevithan.com), Sakimori, Pellentesque Malesuada, +Thunder.m, Dj (http://phpjs.org/functions/htmlentities:425#comment_134018), +Steve Clay, David James, Francois, class_exists, nobbler, T. Wild, Itsacon +(http://www.itsacon.net/), date, Ole Vrijenhoek (http://www.nervous.nl/), +Fox, Raphael (Ao RUDLER), Marco, noname, Mateusz "loonquawl" Zalega, Frank +Forte, Arno, ger, mktime, john (http://www.jd-tech.net), Nick Kolosov +(http://sammy.ru), marc andreu, Scott Cariss, Douglas Crockford +(http://javascript.crockford.com), madipta, Slawomir Kaniecki, +ReverseSyntax, Nathan, Alex Wilson, kenneth, Bayron Guevara, Adam Wallner +(http://web2.bitbaro.hu/), paulo kuong, jmweb, Lincoln Ramsay, djmix, +Pyerre, Jon Hohle, Thiago Mata (http://thiagomata.blog.com), lmeyrick +(https://sourceforge.net/projects/bcmath-js/this.), Linuxworld, duncan, +Gilbert, Sanjoy Roy, Shingo, sankai, Oskar Larsson H?gfeldt +(http://oskar-lh.name/), Denny Wardhana, 0m3r, Everlasto, Subhasis Deb, +josh, jd, Pier Paolo Ramon (http://www.mastersoup.com/), P, merabi, Soren +Hansen, Eugene Bulkin (http://doubleaw.com/), Der Simon +(http://innerdom.sourceforge.net/), echo is bad, Ozh, XoraX +(http://www.xorax.info), EdorFaus, JB, J A R, Marc Jansen, Francesco, LH, +Stoyan Kyosev (http://www.svest.org/), nord_ua, omid +(http://phpjs.org/functions/380:380#comment_137122), Brad Touesnard, MeEtc +(http://yass.meetcweb.com), Peter-Paul Koch +(http://www.quirksmode.org/js/beat.html), Olivier Louvignes +(http://mg-crea.com/), T0bsn, Tim Wiel, Bryan Elliott, Jalal Berrami, +Martin, JT, David Randall, Thomas Beaucourt (http://www.webapp.fr), taith, +vlado houba, Pierre-Luc Paour, Kristof Coomans (SCK-CEN Belgian Nucleair +Research Centre), Martin Pool, Kirk Strobeck, Rick Waldron, Brant Messenger +(http://www.brantmessenger.com/), Devan Penner-Woelk, Saulo Vallory, Wagner +B. Soares, Artur Tchernychev, Valentina De Rosa, Jason Wong +(http://carrot.org/), Christoph, Daniel Esteban, strftime, Mick@el, rezna, +Simon Willison (http://simonwillison.net), Anton Ongson, Gabriel Paderni, +Marco van Oort, penutbutterjelly, Philipp Lenssen, Bjorn Roesbeke +(http://www.bjornroesbeke.be/), Bug?, Eric Nagel, Tomasz Wesolowski, +Evertjan Garretsen, Bobby Drake, Blues (http://tech.bluesmoon.info/), Luke +Godfrey, Pul, uestla, Alan C, Ulrich, Rafal Kukawski, Yves Sucaet, +sowberry, Norman "zEh" Fuchs, hitwork, Zahlii, johnrembo, Nick Callen, +Steven Levithan (stevenlevithan.com), ejsanders, Scott Baker, Brian Tafoya +(http://www.premasolutions.com/), Philippe Jausions +(http://pear.php.net/user/jausions), Aidan Lister +(http://aidanlister.com/), Rob, e-mike, HKM, ChaosNo1, metjay, strcasecmp, +strcmp, Taras Bogach, jpfle, Alexander Ermolaev +(http://snippets.dzone.com/user/AlexanderErmolaev), DxGx, kilops, Orlando, +dptr1988, Le Torbi, James (http://www.james-bell.co.uk/), Pedro Tainha +(http://www.pedrotainha.com), James, Arnout Kazemier +(http://www.3rd-Eden.com), Chris McMacken, gabriel paderni, Yannoo, +FGFEmperor, baris ozdil, Tod Gentille, Greg Frazier, jakes, 3D-GRAF, Allan +Jensen (http://www.winternet.no), Howard Yeend, Benjamin Lupton, davook, +daniel airton wermann (http://wermann.com.br), Atli T¨®r, Maximusya, Ryan +W Tenney (http://ryan.10e.us), Alexander M Beedie, fearphage +(http://http/my.opera.com/fearphage/), Nathan Sepulveda, Victor, Matteo, +Billy, stensi, Cord, Manish, T.J. Leahy, Riddler +(http://www.frontierwebdev.com/), Rafa? Kukawski, FremyCompany, Matt +Bradley, Tim de Koning, Luis Salazar (http://www.freaky-media.com/), Diogo +Resende, Rival, Andrej Pavlovic, Garagoth, Le Torbi +(http://www.letorbi.de/), Dino, Josep Sanz (http://www.ws3.es/), rem, +Russell Walker (http://www.nbill.co.uk/), Jamie Beck +(http://www.terabit.ca/), setcookie, Michael, YUI Library: +http://developer.yahoo.com/yui/docs/YAHOO.util.DateLocale.html, Blues at +http://hacks.bluesmoon.info/strftime/strftime.js, Ben +(http://benblume.co.uk/), DtTvB +(http://dt.in.th/2008-09-16.string-length-in-bytes.html), Andreas, William, +meo, incidence, Cagri Ekin, Amirouche, Amir Habibi +(http://www.residence-mixte.com/), Luke Smith (http://lucassmith.name), +Kheang Hok Chin (http://www.distantia.ca/), Jay Klehr, Lorenzo Pisani, +Tony, Yen-Wei Liu, Greenseed, mk.keck, Leslie Hoare, dude, booeyOH, Ben +Bryan + +Licensed under the MIT (MIT-LICENSE.txt) license. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL KEVIN VAN ZONNEVELD BE LIABLE FOR ANY CLAIM, DAMAGES +OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. +*/ + +/** + @license + when.js - https://github.com/cujojs/when + + MIT License (c) copyright B Cavalier & J Hann + + * A lightweight CommonJS Promises/A and when() implementation + * when is part of the cujo.js family of libraries (http://cujojs.com/) + * + * Licensed under the MIT License at: + * http://www.opensource.org/licenses/mit-license.php + * + * @version 1.7.1 + */ + +!function(){define("Core/defined",[],function(){"use strict";var e=function(e){return void 0!==e};return e}),define("Core/freezeObject",["./defined"],function(e){"use strict";var t=Object.freeze;return e(t)||(t=function(e){return e}),t}),define("Core/defaultValue",["./freezeObject"],function(e){"use strict";var t=function(e,t){return void 0!==e?e:t};return t.EMPTY_OBJECT=e({}),t}),define("Core/DeveloperError",["./defined"],function(e){"use strict";var t=function(e){this.name="DeveloperError",this.message=e;var t;try{throw new Error}catch(r){t=r.stack}this.stack=t};return t.prototype.toString=function(){var t=this.name+": "+this.message;return e(this.stack)&&(t+="\n"+this.stack.toString()),t},t.throwInstantiationError=function(){throw new t("This function defines an interface and should not be called directly.")},t}),define("Core/Cartesian3",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,t,r,n){"use strict";var i=function(t,r,n){this.x=e(t,0),this.y=e(r,0),this.z=e(n,0)};i.fromSpherical=function(r,n){t(n)||(n=new i);var o=r.clock,a=r.cone,s=e(r.magnitude,1),u=s*Math.sin(a);return n.x=u*Math.cos(o),n.y=u*Math.sin(o),n.z=s*Math.cos(a),n},i.fromElements=function(e,r,n,o){return t(o)?(o.x=e,o.y=r,o.z=n,o):new i(e,r,n)},i.clone=function(e,r){return t(e)?t(r)?(r.x=e.x,r.y=e.y,r.z=e.z,r):new i(e.x,e.y,e.z):void 0},i.fromCartesian4=i.clone,i.packedLength=3,i.pack=function(t,r,n){n=e(n,0),r[n++]=t.x,r[n++]=t.y,r[n]=t.z},i.unpack=function(r,n,o){return n=e(n,0),t(o)||(o=new i),o.x=r[n++],o.y=r[n++],o.z=r[n],o},i.fromArray=i.unpack,i.getMaximumComponent=function(e){return Math.max(e.x,e.y,e.z)},i.getMinimumComponent=function(e){return Math.min(e.x,e.y,e.z)},i.getMinimumByComponent=function(e,r,n){return t(n)||(n=new i),n.x=Math.min(e.x,r.x),n.y=Math.min(e.y,r.y),n.z=Math.min(e.z,r.z),n},i.getMaximumByComponent=function(e,r,n){return t(n)||(n=new i),n.x=Math.max(e.x,r.x),n.y=Math.max(e.y,r.y),n.z=Math.max(e.z,r.z),n},i.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z},i.magnitude=function(e){return Math.sqrt(i.magnitudeSquared(e))};var o=new i;i.distance=function(e,t){return i.subtract(e,t,o),i.magnitude(o)},i.normalize=function(e,r){var n=i.magnitude(e);return t(r)?(r.x=e.x/n,r.y=e.y/n,r.z=e.z/n,r):new i(e.x/n,e.y/n,e.z/n)},i.dot=function(e,t){return e.x*t.x+e.y*t.y+e.z*t.z},i.multiplyComponents=function(e,r,n){return t(n)?(n.x=e.x*r.x,n.y=e.y*r.y,n.z=e.z*r.z,n):new i(e.x*r.x,e.y*r.y,e.z*r.z)},i.add=function(e,r,n){return t(n)?(n.x=e.x+r.x,n.y=e.y+r.y,n.z=e.z+r.z,n):new i(e.x+r.x,e.y+r.y,e.z+r.z)},i.subtract=function(e,r,n){return t(n)?(n.x=e.x-r.x,n.y=e.y-r.y,n.z=e.z-r.z,n):new i(e.x-r.x,e.y-r.y,e.z-r.z)},i.multiplyByScalar=function(e,r,n){return t(n)?(n.x=e.x*r,n.y=e.y*r,n.z=e.z*r,n):new i(e.x*r,e.y*r,e.z*r)},i.divideByScalar=function(e,r,n){return t(n)?(n.x=e.x/r,n.y=e.y/r,n.z=e.z/r,n):new i(e.x/r,e.y/r,e.z/r)},i.negate=function(e,r){return t(r)?(r.x=-e.x,r.y=-e.y,r.z=-e.z,r):new i(-e.x,-e.y,-e.z)},i.abs=function(e,r){return t(r)?(r.x=Math.abs(e.x),r.y=Math.abs(e.y),r.z=Math.abs(e.z),r):new i(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z))};var a=new i;i.lerp=function(e,t,r,n){return i.multiplyByScalar(t,r,a),n=i.multiplyByScalar(e,1-r,n),i.add(a,n,n)};var s=new i,u=new i;i.angleBetween=function(e,t){i.normalize(e,s),i.normalize(t,u);var r=i.dot(s,u),n=i.magnitude(i.cross(s,u,s));return Math.atan2(n,r)};var l=new i;return i.mostOrthogonalAxis=function(e,t){var r=i.normalize(e,l);return i.abs(r,r),t=r.x<=r.y?r.x<=r.z?i.clone(i.UNIT_X,t):i.clone(i.UNIT_Z,t):r.y<=r.z?i.clone(i.UNIT_Y,t):i.clone(i.UNIT_Z,t)},i.equals=function(e,r){return e===r||t(e)&&t(r)&&e.x===r.x&&e.y===r.y&&e.z===r.z},i.equalsEpsilon=function(e,r,n){return e===r||t(e)&&t(r)&&Math.abs(e.x-r.x)<=n&&Math.abs(e.y-r.y)<=n&&Math.abs(e.z-r.z)<=n},i.cross=function(e,r,n){var o=e.x,a=e.y,s=e.z,u=r.x,l=r.y,c=r.z,f=a*c-s*l,h=s*u-o*c,d=o*l-a*u;return t(n)?(n.x=f,n.y=h,n.z=d,n):new i(f,h,d)},i.ZERO=n(new i(0,0,0)),i.UNIT_X=n(new i(1,0,0)),i.UNIT_Y=n(new i(0,1,0)),i.UNIT_Z=n(new i(0,0,1)),i.prototype.clone=function(e){return i.clone(this,e)},i.prototype.equals=function(e){return i.equals(this,e)},i.prototype.equalsEpsilon=function(e,t){return i.equalsEpsilon(this,e,t)},i.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+")"},i}),define("ThirdParty/mersenne-twister",[],function(){var e=function(e){void 0==e&&(e=(new Date).getTime()),this.N=624,this.M=397,this.MATRIX_A=2567483615,this.UPPER_MASK=2147483648,this.LOWER_MASK=2147483647,this.mt=new Array(this.N),this.mti=this.N+1,this.init_genrand(e)};return e.prototype.init_genrand=function(e){for(this.mt[0]=e>>>0,this.mti=1;this.mti>>30;this.mt[this.mti]=(1812433253*((4294901760&e)>>>16)<<16)+1812433253*(65535&e)+this.mti,this.mt[this.mti]>>>=0}},e.prototype.genrand_int32=function(){var e,t=new Array(0,this.MATRIX_A);if(this.mti>=this.N){var r;for(this.mti==this.N+1&&this.init_genrand(5489),r=0;r>>1^t[1&e];for(;r>>1^t[1&e];e=this.mt[this.N-1]&this.UPPER_MASK|this.mt[0]&this.LOWER_MASK,this.mt[this.N-1]=this.mt[this.M-1]^e>>>1^t[1&e],this.mti=0}return e=this.mt[this.mti++],e^=e>>>11,e^=2636928640&e<<7,e^=4022730752&e<<15,e^=e>>>18,e>>>0},e.prototype.random=function(){return this.genrand_int32()*(1/4294967296)},e}),define("Core/Math",["./defaultValue","./defined","./DeveloperError","../ThirdParty/mersenne-twister"],function(e,t,r,n){"use strict";var i={};i.EPSILON1=.1,i.EPSILON2=.01,i.EPSILON3=.001,i.EPSILON4=1e-4,i.EPSILON5=1e-5,i.EPSILON6=1e-6,i.EPSILON7=1e-7,i.EPSILON8=1e-8,i.EPSILON9=1e-9,i.EPSILON10=1e-10,i.EPSILON11=1e-11,i.EPSILON12=1e-12,i.EPSILON13=1e-13,i.EPSILON14=1e-14,i.EPSILON15=1e-15,i.EPSILON16=1e-16,i.EPSILON17=1e-17,i.EPSILON18=1e-18,i.EPSILON19=1e-19,i.EPSILON20=1e-20,i.GRAVITATIONALPARAMETER=3986004418e5,i.SOLAR_RADIUS=6955e5,i.LUNAR_RADIUS=1737400,i.SIXTY_FOUR_KILOBYTES=65536,i.sign=function(e){return e>0?1:0>e?-1:0},i.sinh=function(e){var t=Math.pow(Math.E,e),r=Math.pow(Math.E,-1*e);return.5*(t-r)},i.cosh=function(e){var t=Math.pow(Math.E,e),r=Math.pow(Math.E,-1*e);return.5*(t+r)},i.lerp=function(e,t,r){return(1-r)*e+r*t},i.PI=Math.PI,i.ONE_OVER_PI=1/Math.PI,i.PI_OVER_TWO=.5*Math.PI,i.PI_OVER_THREE=Math.PI/3,i.PI_OVER_FOUR=Math.PI/4,i.PI_OVER_SIX=Math.PI/6,i.THREE_PI_OVER_TWO=.5*3*Math.PI,i.TWO_PI=2*Math.PI,i.ONE_OVER_TWO_PI=1/(2*Math.PI),i.RADIANS_PER_DEGREE=Math.PI/180,i.DEGREES_PER_RADIAN=180/Math.PI,i.RADIANS_PER_ARCSECOND=i.RADIANS_PER_DEGREE/3600,i.toRadians=function(e){return e*i.RADIANS_PER_DEGREE},i.toDegrees=function(e){return e*i.DEGREES_PER_RADIAN},i.convertLongitudeRange=function(e){var t=i.TWO_PI,r=e-Math.floor(e/t)*t;return r<-Math.PI?r+t:r>=Math.PI?r-t:r},i.negativePiToPi=function(e){for(var t=i.EPSILON10,r=i.PI,n=i.TWO_PI;-(r+t)>e;)e+=n;if(-r>e)return-r;for(;e>r+t;)e-=n;return e>r?r:e},i.zeroToTwoPi=function(e){var t=e%i.TWO_PI;return 0>t?(t+i.TWO_PI)%i.TWO_PI:t},i.equalsEpsilon=function(t,r,n){return n=e(n,0),Math.abs(t-r)<=n};var o=[1];i.factorial=function(e){var t=o.length;if(e>=t)for(var r=o[t-1],n=t;e>=n;n++)o.push(r*n);return o[e]},i.incrementWrap=function(t,r,n){return n=e(n,0),++t,t>r&&(t=n),t},i.isPowerOfTwo=function(e){return 0!==e&&0===(e&e-1)},i.nextPowerOfTwo=function(e){return--e,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,++e,e},i.clamp=function(e,t,r){return t>e?t:e>r?r:e};var a=new n;return i.setRandomNumberSeed=function(e){a=new n(e)},i.nextRandomNumber=function(){return a.random()},i}),define("Core/Cartographic",["./defaultValue","./defined","./DeveloperError","./freezeObject","./Math"],function(e,t,r,n,i){"use strict";var o=function(t,r,n){this.longitude=e(t,0),this.latitude=e(r,0),this.height=e(n,0)};return o.fromDegrees=function(r,n,a,s){return r=i.toRadians(e(r,0)),n=i.toRadians(e(n,0)),a=e(a,0),t(s)?(s.longitude=r,s.latitude=n,s.height=a,s):new o(r,n,a)},o.clone=function(e,r){return t(e)?t(r)?(r.longitude=e.longitude,r.latitude=e.latitude,r.height=e.height,r):new o(e.longitude,e.latitude,e.height):void 0},o.equals=function(e,r){return e===r||t(e)&&t(r)&&e.longitude===r.longitude&&e.latitude===r.latitude&&e.height===r.height},o.equalsEpsilon=function(e,r,n){return e===r||t(e)&&t(r)&&Math.abs(e.longitude-r.longitude)<=n&&Math.abs(e.latitude-r.latitude)<=n&&Math.abs(e.height-r.height)<=n},o.toString=function(e){return"("+e.longitude+", "+e.latitude+", "+e.height+")"},o.ZERO=n(new o(0,0,0)),o.prototype.clone=function(e){return o.clone(this,e)},o.prototype.equals=function(e){return o.equals(this,e)},o.prototype.equalsEpsilon=function(e,t){return o.equalsEpsilon(this,e,t)},o.prototype.toString=function(){return o.toString(this)},o}),define("Core/defineProperties",["./defined"],function(e){"use strict";var t=function(){try{return"x"in Object.defineProperty({},"x",{})}catch(e){return!1}}(),r=Object.defineProperties;return t&&e(r)||(r=function(e){return e}),r}),define("Core/Ellipsoid",["./freezeObject","./defaultValue","./defined","./defineProperties","./DeveloperError","./Math","./Cartesian3","./Cartographic"],function(e,t,r,n,i,o,a,s){"use strict";var u=function(e,r,n){e=t(e,0),r=t(r,0),n=t(n,0),this._radii=new a(e,r,n),this._radiiSquared=new a(e*e,r*r,n*n),this._radiiToTheFourth=new a(e*e*e*e,r*r*r*r,n*n*n*n),this._oneOverRadii=new a(0===e?0:1/e,0===r?0:1/r,0===n?0:1/n),this._oneOverRadiiSquared=new a(0===e?0:1/(e*e),0===r?0:1/(r*r),0===n?0:1/(n*n)),this._minimumRadius=Math.min(e,r,n),this._maximumRadius=Math.max(e,r,n),this._centerToleranceSquared=o.EPSILON1};n(u.prototype,{radii:{get:function(){return this._radii}},radiiSquared:{get:function(){return this._radiiSquared}},radiiToTheFourth:{get:function(){return this._radiiToTheFourth}},oneOverRadii:{get:function(){return this._oneOverRadii}},oneOverRadiiSquared:{get:function(){return this._oneOverRadiiSquared}},minimumRadius:{get:function(){return this._minimumRadius}},maximumRadius:{get:function(){return this._maximumRadius}}}),u.clone=function(e,t){if(!r(e))return void 0;var n=e._radii;return r(t)?(a.clone(n,t._radii),a.clone(e._radiiSquared,t._radiiSquared),a.clone(e._radiiToTheFourth,t._radiiToTheFourth),a.clone(e._oneOverRadii,t._oneOverRadii),a.clone(e._oneOverRadiiSquared,t._oneOverRadiiSquared),t._minimumRadius=e._minimumRadius,t._maximumRadius=e._maximumRadius,t._centerToleranceSquared=e._centerToleranceSquared,t):new u(n.x,n.y,n.z)},u.fromCartesian3=function(e){return r(e)?new u(e.x,e.y,e.z):new u},u.WGS84=e(new u(6378137,6378137,6356752.314245179)),u.UNIT_SPHERE=e(new u(1,1,1)),u.MOON=e(new u(o.LUNAR_RADIUS,o.LUNAR_RADIUS,o.LUNAR_RADIUS)),u.prototype.clone=function(e){return u.clone(this,e)},u.prototype.geocentricSurfaceNormal=a.normalize,u.prototype.geodeticSurfaceNormalCartographic=function(e,t){var n=e.longitude,i=e.latitude,o=Math.cos(i),s=o*Math.cos(n),u=o*Math.sin(n),l=Math.sin(i);return r(t)||(t=new a),t.x=s,t.y=u,t.z=l,a.normalize(t,t)},u.prototype.geodeticSurfaceNormal=function(e,t){return t=a.multiplyComponents(e,this._oneOverRadiiSquared,t),a.normalize(t,t)};var l=new a,c=new a;u.prototype.cartographicToCartesian=function(e,t){var r=l,n=c;this.geodeticSurfaceNormalCartographic(e,r),a.multiplyComponents(this._radiiSquared,r,n);var i=Math.sqrt(a.dot(r,n));return a.divideByScalar(n,i,n),a.multiplyByScalar(r,e.height,r),a.add(n,r,t)},u.prototype.cartographicArrayToCartesianArray=function(e,t){var n=e.length;r(t)?t.length=n:t=new Array(n);for(var i=0;n>i;i++)t[i]=this.cartographicToCartesian(e[i],t[i]);return t};var f=new a,h=new a,d=new a;u.prototype.cartesianToCartographic=function(e,t){var n=this.scaleToGeodeticSurface(e,h);if(!r(n))return void 0;var i=this.geodeticSurfaceNormal(n,f),u=a.subtract(e,n,d),l=Math.atan2(i.y,i.x),c=Math.asin(i.z),m=o.sign(a.dot(u,e))*a.magnitude(u);return r(t)?(t.longitude=l,t.latitude=c,t.height=m,t):new s(l,c,m)},u.prototype.cartesianArrayToCartographicArray=function(e,t){var n=e.length;r(t)?t.length=n:t=new Array(n);for(var i=0;n>i;++i)t[i]=this.cartesianToCartographic(e[i],t[i]);return t};var m=new a,p=new a;return u.prototype.scaleToGeodeticSurface=function(e,t){var n=e.x,i=e.y,s=e.z,u=this._oneOverRadii,l=u.x,c=u.y,f=u.z,h=n*n*l*l,d=i*i*c*c,y=s*s*f*f,v=h+d+y,g=Math.sqrt(1/v),E=a.multiplyByScalar(e,g,m);if(vo.EPSILON12);return r(t)?(t.x=n*M,t.y=i*b,t.z=s*D,t):new a(n*M,i*b,s*D)},u.prototype.scaleToGeocentricSurface=function(e,t){var r=e.x,n=e.y,i=e.z,o=this._oneOverRadiiSquared,s=1/Math.sqrt(r*r*o.x+n*n*o.y+i*i*o.z);return a.multiplyByScalar(e,s,t)},u.prototype.transformPositionToScaledSpace=function(e,t){return a.multiplyComponents(e,this._oneOverRadii,t)},u.prototype.transformPositionFromScaledSpace=function(e,t){return a.multiplyComponents(e,this._radii,t)},u.prototype.equals=function(e){return this===e||r(e)&&a.equals(this._radii,e._radii)},u.prototype.toString=function(){return this._radii.toString()},u}),define("Core/GeographicProjection",["./defaultValue","./defined","./defineProperties","./Cartesian3","./Cartographic","./Ellipsoid"],function(e,t,r,n,i,o){"use strict";var a=function(t){this._ellipsoid=e(t,o.WGS84),this._semimajorAxis=this._ellipsoid.maximumRadius,this._oneOverSemimajorAxis=1/this._semimajorAxis};return r(a.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}}),a.prototype.project=function(e,r){var i=this._semimajorAxis,o=e.longitude*i,a=e.latitude*i,s=e.height;return t(r)?(r.x=o,r.y=a,r.z=s,r):new n(o,a,s)},a.prototype.unproject=function(e,r){var n=this._oneOverSemimajorAxis,o=e.x*n,a=e.y*n,s=e.z;return t(r)?(r.longitude=o,r.latitude=a,r.height=s,r):new i(o,a,s)},a}),define("Core/Enumeration",["./defined"],function(e){"use strict";var t=function(t,r,n){if(this.value=t,this.name=r,e(n))for(var i in n)n.hasOwnProperty(i)&&(this[i]=n[i])};return t.prototype.valueOf=function(){return this.value},t.prototype.toString=function(){return this.name},t}),define("Core/Intersect",["./Enumeration"],function(e){"use strict";var t={OUTSIDE:new e(-1,"OUTSIDE"),INTERSECTING:new e(0,"INTERSECTING"),INSIDE:new e(1,"INSIDE")};return t}),define("Core/Interval",["./defaultValue"],function(e){"use strict";var t=function(t,r){this.start=e(t,0),this.stop=e(r,0)};return t}),define("Core/Cartesian4",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,t,r,n){"use strict";var i=function(t,r,n,i){this.x=e(t,0),this.y=e(r,0),this.z=e(n,0),this.w=e(i,0)};i.fromElements=function(e,r,n,o,a){return t(a)?(a.x=e,a.y=r,a.z=n,a.w=o,a):new i(e,r,n,o)},i.clone=function(e,r){return t(e)?t(r)?(r.x=e.x,r.y=e.y,r.z=e.z,r.w=e.w,r):new i(e.x,e.y,e.z,e.w):void 0},i.packedLength=4,i.pack=function(t,r,n){n=e(n,0),r[n++]=t.x,r[n++]=t.y,r[n++]=t.z,r[n]=t.w},i.unpack=function(r,n,o){return n=e(n,0),t(o)||(o=new i),o.x=r[n++],o.y=r[n++],o.z=r[n++],o.w=r[n],o},i.fromArray=i.unpack,i.getMaximumComponent=function(e){return Math.max(e.x,e.y,e.z,e.w)},i.getMinimumComponent=function(e){return Math.min(e.x,e.y,e.z,e.w)},i.getMinimumByComponent=function(e,r,n){return t(n)||(n=new i),n.x=Math.min(e.x,r.x),n.y=Math.min(e.y,r.y),n.z=Math.min(e.z,r.z),n.w=Math.min(e.w,r.w),n},i.getMaximumByComponent=function(e,r,n){return t(n)||(n=new i),n.x=Math.max(e.x,r.x),n.y=Math.max(e.y,r.y),n.z=Math.max(e.z,r.z),n.w=Math.max(e.w,r.w),n},i.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w},i.magnitude=function(e){return Math.sqrt(i.magnitudeSquared(e))};var o=new i;i.distance=function(e,t){return i.subtract(e,t,o),i.magnitude(o)},i.normalize=function(e,r){var n=i.magnitude(e);return t(r)?(r.x=e.x/n,r.y=e.y/n,r.z=e.z/n,r.w=e.w/n,r):new i(e.x/n,e.y/n,e.z/n,e.w/n)},i.dot=function(e,t){return e.x*t.x+e.y*t.y+e.z*t.z+e.w*t.w},i.multiplyComponents=function(e,r,n){return t(n)?(n.x=e.x*r.x,n.y=e.y*r.y,n.z=e.z*r.z,n.w=e.w*r.w,n):new i(e.x*r.x,e.y*r.y,e.z*r.z,e.w*r.w)},i.add=function(e,r,n){return t(n)?(n.x=e.x+r.x,n.y=e.y+r.y,n.z=e.z+r.z,n.w=e.w+r.w,n):new i(e.x+r.x,e.y+r.y,e.z+r.z,e.w+r.w)},i.subtract=function(e,r,n){return t(n)?(n.x=e.x-r.x,n.y=e.y-r.y,n.z=e.z-r.z,n.w=e.w-r.w,n):new i(e.x-r.x,e.y-r.y,e.z-r.z,e.w-r.w)},i.multiplyByScalar=function(e,r,n){return t(n)?(n.x=e.x*r,n.y=e.y*r,n.z=e.z*r,n.w=e.w*r,n):new i(e.x*r,e.y*r,e.z*r,e.w*r)},i.divideByScalar=function(e,r,n){return t(n)?(n.x=e.x/r,n.y=e.y/r,n.z=e.z/r,n.w=e.w/r,n):new i(e.x/r,e.y/r,e.z/r,e.w/r)},i.negate=function(e,r){return t(r)?(r.x=-e.x,r.y=-e.y,r.z=-e.z,r.w=-e.w,r):new i(-e.x,-e.y,-e.z,-e.w)},i.abs=function(e,r){return t(r)?(r.x=Math.abs(e.x),r.y=Math.abs(e.y),r.z=Math.abs(e.z),r.w=Math.abs(e.w),r):new i(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z),Math.abs(e.w))};var a=new i;i.lerp=function(e,t,r,n){return i.multiplyByScalar(t,r,a),n=i.multiplyByScalar(e,1-r,n),i.add(a,n,n)};var s=new i;return i.mostOrthogonalAxis=function(e,t){var r=i.normalize(e,s);return i.abs(r,r),t=r.x<=r.y?r.x<=r.z?r.x<=r.w?i.clone(i.UNIT_X,t):i.clone(i.UNIT_W,t):r.z<=r.w?i.clone(i.UNIT_Z,t):i.clone(i.UNIT_W,t):r.y<=r.z?r.y<=r.w?i.clone(i.UNIT_Y,t):i.clone(i.UNIT_W,t):r.z<=r.w?i.clone(i.UNIT_Z,t):i.clone(i.UNIT_W,t)},i.equals=function(e,r){return e===r||t(e)&&t(r)&&e.x===r.x&&e.y===r.y&&e.z===r.z&&e.w===r.w},i.equalsEpsilon=function(e,r,n){return e===r||t(e)&&t(r)&&Math.abs(e.x-r.x)<=n&&Math.abs(e.y-r.y)<=n&&Math.abs(e.z-r.z)<=n&&Math.abs(e.w-r.w)<=n},i.ZERO=n(new i(0,0,0,0)),i.UNIT_X=n(new i(1,0,0,0)),i.UNIT_Y=n(new i(0,1,0,0)),i.UNIT_Z=n(new i(0,0,1,0)),i.UNIT_W=n(new i(0,0,0,1)),i.prototype.clone=function(e){return i.clone(this,e)},i.prototype.equals=function(e){return i.equals(this,e)},i.prototype.equalsEpsilon=function(e,t){return i.equalsEpsilon(this,e,t)},i.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+", "+this.w+")"},i}),define("Core/Matrix3",["./Cartesian3","./defaultValue","./defined","./DeveloperError","./freezeObject","./Math"],function(e,t,r,n,i,o){"use strict";function a(e){for(var t=0,r=0;9>r;++r){var n=e[r];t+=n*n}return Math.sqrt(t)}function s(e){for(var t=0,r=0;3>r;++r){var n=e[l.getElementIndex(f[r],c[r])];t+=2*n*n}return Math.sqrt(t)}function u(e,t){for(var r=o.EPSILON15,n=0,i=1,a=0;3>a;++a){var s=Math.abs(e[l.getElementIndex(f[a],c[a])]);s>n&&(i=a,n=s)}var u=1,h=0,d=c[i],m=f[i];if(Math.abs(e[l.getElementIndex(m,d)])>r){var p,y=e[l.getElementIndex(m,m)],v=e[l.getElementIndex(d,d)],g=e[l.getElementIndex(m,d)],E=(y-v)/2/g;p=0>E?-1/(-E+Math.sqrt(1+E*E)):1/(E+Math.sqrt(1+E*E)),u=1/Math.sqrt(1+p*p),h=p*u}return t=l.clone(l.IDENTITY,t),t[l.getElementIndex(d,d)]=t[l.getElementIndex(m,m)]=u,t[l.getElementIndex(m,d)]=h,t[l.getElementIndex(d,m)]=-h,t}var l=function(e,r,n,i,o,a,s,u,l){this[0]=t(e,0),this[1]=t(i,0),this[2]=t(s,0),this[3]=t(r,0),this[4]=t(o,0),this[5]=t(u,0),this[6]=t(n,0),this[7]=t(a,0),this[8]=t(l,0)};l.clone=function(e,t){return r(e)?r(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t):new l(e[0],e[3],e[6],e[1],e[4],e[7],e[2],e[5],e[8]):void 0},l.fromArray=function(e,n,i){return n=t(n,0),r(i)||(i=new l),i[0]=e[n],i[1]=e[n+1],i[2]=e[n+2],i[3]=e[n+3],i[4]=e[n+4],i[5]=e[n+5],i[6]=e[n+6],i[7]=e[n+7],i[8]=e[n+8],i[9]=e[n+9],i},l.fromColumnMajorArray=function(e,t){return l.clone(e,t)},l.fromRowMajorArray=function(e,t){return r(t)?(t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8],t):new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])},l.fromQuaternion=function(e,t){var n=e.x*e.x,i=e.x*e.y,o=e.x*e.z,a=e.x*e.w,s=e.y*e.y,u=e.y*e.z,c=e.y*e.w,f=e.z*e.z,h=e.z*e.w,d=e.w*e.w,m=n-s-f+d,p=2*(i-h),y=2*(o+c),v=2*(i+h),g=-n+s-f+d,E=2*(u-a),S=2*(o-c),C=2*(u+a),w=-n-s+f+d;return r(t)?(t[0]=m,t[1]=v,t[2]=S,t[3]=p,t[4]=g,t[5]=C,t[6]=y,t[7]=E,t[8]=w,t):new l(m,p,y,v,g,E,S,C,w)},l.fromScale=function(e,t){return r(t)?(t[0]=e.x,t[1]=0,t[2]=0,t[3]=0,t[4]=e.y,t[5]=0,t[6]=0,t[7]=0,t[8]=e.z,t):new l(e.x,0,0,0,e.y,0,0,0,e.z)},l.fromUniformScale=function(e,t){return r(t)?(t[0]=e,t[1]=0,t[2]=0,t[3]=0,t[4]=e,t[5]=0,t[6]=0,t[7]=0,t[8]=e,t):new l(e,0,0,0,e,0,0,0,e)},l.fromRotationX=function(e,t){var n=Math.cos(e),i=Math.sin(e);return r(t)?(t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=n,t[5]=i,t[6]=0,t[7]=-i,t[8]=n,t):new l(1,0,0,0,n,-i,0,i,n)},l.fromRotationY=function(e,t){var n=Math.cos(e),i=Math.sin(e);return r(t)?(t[0]=n,t[1]=0,t[2]=-i,t[3]=0,t[4]=1,t[5]=0,t[6]=i,t[7]=0,t[8]=n,t):new l(n,0,i,0,1,0,-i,0,n)},l.fromRotationZ=function(e,t){var n=Math.cos(e),i=Math.sin(e);return r(t)?(t[0]=n,t[1]=i,t[2]=0,t[3]=-i,t[4]=n,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t):new l(n,-i,0,i,n,0,0,0,1)},l.toArray=function(e,t){return r(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8]]},l.getElementIndex=function(e,t){return 3*e+t},l.getColumn=function(t,n,i){var o=3*n,a=t[o],s=t[o+1],u=t[o+2];return r(i)?(i.x=a,i.y=s,i.z=u,i):new e(a,s,u)},l.setColumn=function(e,t,r,n){n=l.clone(e,n);var i=3*t;return n[i]=r.x,n[i+1]=r.y,n[i+2]=r.z,n},l.getRow=function(t,n,i){var o=t[n],a=t[n+3],s=t[n+6];return r(i)?(i.x=o,i.y=a,i.z=s,i):new e(o,a,s)},l.setRow=function(e,t,r,n){return n=l.clone(e,n),n[t]=r.x,n[t+3]=r.y,n[t+6]=r.z,n},l.multiply=function(e,t,n){var i=e[0]*t[0]+e[3]*t[1]+e[6]*t[2],o=e[1]*t[0]+e[4]*t[1]+e[7]*t[2],a=e[2]*t[0]+e[5]*t[1]+e[8]*t[2],s=e[0]*t[3]+e[3]*t[4]+e[6]*t[5],u=e[1]*t[3]+e[4]*t[4]+e[7]*t[5],c=e[2]*t[3]+e[5]*t[4]+e[8]*t[5],f=e[0]*t[6]+e[3]*t[7]+e[6]*t[8],h=e[1]*t[6]+e[4]*t[7]+e[7]*t[8],d=e[2]*t[6]+e[5]*t[7]+e[8]*t[8];return r(n)?(n[0]=i,n[1]=o,n[2]=a,n[3]=s,n[4]=u,n[5]=c,n[6]=f,n[7]=h,n[8]=d,n):new l(i,s,f,o,u,h,a,c,d)},l.multiplyByVector=function(t,n,i){var o=n.x,a=n.y,s=n.z,u=t[0]*o+t[3]*a+t[6]*s,l=t[1]*o+t[4]*a+t[7]*s,c=t[2]*o+t[5]*a+t[8]*s;return r(i)?(i.x=u,i.y=l,i.z=c,i):new e(u,l,c)},l.multiplyByScalar=function(e,t,n){return r(n)?(n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n[4]=e[4]*t,n[5]=e[5]*t,n[6]=e[6]*t,n[7]=e[7]*t,n[8]=e[8]*t,n):new l(e[0]*t,e[3]*t,e[6]*t,e[1]*t,e[4]*t,e[7]*t,e[2]*t,e[5]*t,e[8]*t)},l.negate=function(e,t){return r(t)?(t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t[4]=-e[4],t[5]=-e[5],t[6]=-e[6],t[7]=-e[7],t[8]=-e[8],t):new l(-e[0],-e[3],-e[6],-e[1],-e[4],-e[7],-e[2],-e[5],-e[8])},l.transpose=function(e,t){var n=e[0],i=e[3],o=e[6],a=e[1],s=e[4],u=e[7],c=e[2],f=e[5],h=e[8];return r(t)?(t[0]=n,t[1]=i,t[2]=o,t[3]=a,t[4]=s,t[5]=u,t[6]=c,t[7]=f,t[8]=h,t):new l(n,a,c,i,s,f,o,u,h)};var c=[1,0,0],f=[2,2,1],h=new l,d=new l;return l.getEigenDecomposition=function(e,t){var n=o.EPSILON20,i=10,c=0,f=0;r(t)||(t={});for(var m=t.unitary=l.clone(l.IDENTITY,t.unitary),p=t.diagonal=l.clone(e,t.diagonal),y=n*a(p);i>f&&s(p)>y;)u(p,h),l.transpose(h,d),l.multiply(p,h,p),l.multiply(d,p,p),l.multiply(m,h,m),++c>2&&(++f,c=0);return t},l.abs=function(e,t){return r(t)?(t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t[3]=Math.abs(e[3]),t[4]=Math.abs(e[4]),t[5]=Math.abs(e[5]),t[6]=Math.abs(e[6]),t[7]=Math.abs(e[7]),t[8]=Math.abs(e[8]),t):new l(Math.abs(e[0]),Math.abs(e[3]),Math.abs(e[6]),Math.abs(e[1]),Math.abs(e[4]),Math.abs(e[7]),Math.abs(e[2]),Math.abs(e[5]),Math.abs(e[8]))},l.determinant=function(e){var t=e[0],r=e[3],n=e[6],i=e[1],o=e[4],a=e[7],s=e[2],u=e[5],l=e[8];return t*(o*l-u*a)+i*(u*n-r*l)+s*(r*a-o*n)},l.inverse=function(e,t){var r=e[0],i=e[1],a=e[2],s=e[3],u=e[4],c=e[5],f=e[6],h=e[7],d=e[8],m=l.determinant(e);if(Math.abs(m)<=o.EPSILON15)throw new n("matrix is not invertible");var p=new l(u*d-h*c,f*c-s*d,s*h-f*u,h*a-i*d,r*d-f*a,f*i-r*h,i*c-u*a,s*a-r*c,r*u-s*i),y=1/m;return l.multiplyByScalar(p,y,t)},l.equals=function(e,t){return e===t||r(e)&&r(t)&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]},l.equalsEpsilon=function(e,t,n){return e===t||r(e)&&r(t)&&Math.abs(e[0]-t[0])<=n&&Math.abs(e[1]-t[1])<=n&&Math.abs(e[2]-t[2])<=n&&Math.abs(e[3]-t[3])<=n&&Math.abs(e[4]-t[4])<=n&&Math.abs(e[5]-t[5])<=n&&Math.abs(e[6]-t[6])<=n&&Math.abs(e[7]-t[7])<=n&&Math.abs(e[8]-t[8])<=n},l.IDENTITY=i(new l(1,0,0,0,1,0,0,0,1)),l.COLUMN0ROW0=0,l.COLUMN0ROW1=1,l.COLUMN0ROW2=2,l.COLUMN1ROW0=3,l.COLUMN1ROW1=4,l.COLUMN1ROW2=5,l.COLUMN2ROW0=6,l.COLUMN2ROW1=7,l.COLUMN2ROW2=8,l.prototype.clone=function(e){return l.clone(this,e)},l.prototype.equals=function(e){return l.equals(this,e)},l.prototype.equalsEpsilon=function(e,t){return l.equalsEpsilon(this,e,t)},l.prototype.toString=function(){return"("+this[0]+", "+this[3]+", "+this[6]+")\n"+"("+this[1]+", "+this[4]+", "+this[7]+")\n"+"("+this[2]+", "+this[5]+", "+this[8]+")"},l}),define("Core/RuntimeError",["./defined"],function(e){"use strict";var t=function(e){this.name="RuntimeError",this.message=e;var t;try{throw new Error}catch(r){t=r.stack}this.stack=t};return t.prototype.toString=function(){var t=this.name+": "+this.message;return e(this.stack)&&(t+="\n"+this.stack.toString()),t},t}),define("Core/Matrix4",["./Cartesian3","./Cartesian4","./defaultValue","./defined","./DeveloperError","./freezeObject","./Math","./Matrix3","./RuntimeError"],function(e,t,r,n,i,o,a,s,u){"use strict";var l=function(e,t,n,i,o,a,s,u,l,c,f,h,d,m,p,y){this[0]=r(e,0),this[1]=r(o,0),this[2]=r(l,0),this[3]=r(d,0),this[4]=r(t,0),this[5]=r(a,0),this[6]=r(c,0),this[7]=r(m,0),this[8]=r(n,0),this[9]=r(s,0),this[10]=r(f,0),this[11]=r(p,0),this[12]=r(i,0),this[13]=r(u,0),this[14]=r(h,0),this[15]=r(y,0)};l.clone=function(e,t){return n(e)?n(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t):new l(e[0],e[4],e[8],e[12],e[1],e[5],e[9],e[13],e[2],e[6],e[10],e[14],e[3],e[7],e[11],e[15]):void 0},l.fromArray=function(e,t,i){return t=r(t,0),n(i)||(i=new l),i[0]=e[t],i[1]=e[t+1],i[2]=e[t+2],i[3]=e[t+3],i[4]=e[t+4],i[5]=e[t+5],i[6]=e[t+6],i[7]=e[t+7],i[8]=e[t+8],i[9]=e[t+9],i[10]=e[t+10],i[11]=e[t+11],i[12]=e[t+12],i[13]=e[t+13],i[14]=e[t+14],i[15]=e[t+15],i},l.fromColumnMajorArray=function(e,t){return l.clone(e,t)},l.fromRowMajorArray=function(e,t){return n(t)?(t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15],t):new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])},l.fromRotationTranslation=function(e,t,r){return n(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=0,r[4]=e[3],r[5]=e[4],r[6]=e[5],r[7]=0,r[8]=e[6],r[9]=e[7],r[10]=e[8],r[11]=0,r[12]=t.x,r[13]=t.y,r[14]=t.z,r[15]=1,r):new l(e[0],e[3],e[6],t.x,e[1],e[4],e[7],t.y,e[2],e[5],e[8],t.z,0,0,0,1)},new s,l.fromTranslationQuaternionRotationScale=function(e,t,r,i){n(i)||(i=new l);var o=r.x,a=r.y,s=r.z,u=t.x*t.x,c=t.x*t.y,f=t.x*t.z,h=t.x*t.w,d=t.y*t.y,m=t.y*t.z,p=t.y*t.w,y=t.z*t.z,v=t.z*t.w,g=t.w*t.w,E=u-d-y+g,S=2*(c-v),C=2*(f+p),w=2*(c+v),x=-u+d-y+g,O=2*(m-h),T=2*(f-p),A=2*(m+h),M=-u-d+y+g;return i[0]=E*o,i[1]=w*o,i[2]=T*o,i[3]=0,i[4]=S*a,i[5]=x*a,i[6]=A*a,i[7]=0,i[8]=C*s,i[9]=O*s,i[10]=M*s,i[11]=0,i[12]=e.x,i[13]=e.y,i[14]=e.z,i[15]=1,i},l.fromTranslation=function(e,t){return l.fromRotationTranslation(s.IDENTITY,e,t)},l.fromScale=function(e,t){return n(t)?(t[0]=e.x,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e.y,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e.z,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t):new l(e.x,0,0,0,0,e.y,0,0,0,0,e.z,0,0,0,0,1)},l.fromUniformScale=function(e,t){return n(t)?(t[0]=e,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t):new l(e,0,0,0,0,e,0,0,0,0,e,0,0,0,0,1)};var c=new e,f=new e,h=new e;l.fromCamera=function(t,r){var i=t.eye,o=t.target,a=t.up;e.normalize(e.subtract(o,i,c),c),e.normalize(e.cross(c,a,f),f),e.normalize(e.cross(f,c,h),h);var s=f.x,u=f.y,d=f.z,m=c.x,p=c.y,y=c.z,v=h.x,g=h.y,E=h.z,S=i.x,C=i.y,w=i.z,x=s*-S+u*-C+d*-w,O=v*-S+g*-C+E*-w,T=m*S+p*C+y*w;return n(r)?(r[0]=s,r[1]=v,r[2]=-m,r[3]=0,r[4]=u,r[5]=g,r[6]=-p,r[7]=0,r[8]=d,r[9]=E,r[10]=-y,r[11]=0,r[12]=x,r[13]=O,r[14]=T,r[15]=1,r):new l(s,u,d,x,v,g,E,O,-m,-p,-y,T,0,0,0,1)},l.computePerspectiveFieldOfView=function(e,t,r,i,o){var a=Math.tan(.5*e),s=1/a,u=s/t,c=(i+r)/(r-i),f=2*i*r/(r-i);return n(o)?(o[0]=u,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=s,o[6]=0,o[7]=0,o[8]=0,o[9]=0,o[10]=c,o[11]=-1,o[12]=0,o[13]=0,o[14]=f,o[15]=0,o):new l(u,0,0,0,0,s,0,0,0,0,c,f,0,0,-1,0)},l.computeOrthographicOffCenter=function(e,t,r,i,o,a,s){var u=1/(t-e),c=1/(i-r),f=1/(a-o),h=-(t+e)*u,d=-(i+r)*c,m=-(a+o)*f;return u*=2,c*=2,f*=-2,n(s)?(s[0]=u,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=c,s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=f,s[11]=0,s[12]=h,s[13]=d,s[14]=m,s[15]=1,s):new l(u,0,0,h,0,c,0,d,0,0,f,m,0,0,0,1)},l.computePerspectiveOffCenter=function(e,t,r,i,o,a,s){var u=2*o/(t-e),c=2*o/(i-r),f=(t+e)/(t-e),h=(i+r)/(i-r),d=-(a+o)/(a-o),m=-1,p=-2*a*o/(a-o);return n(s)?(s[0]=u,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=c,s[6]=0,s[7]=0,s[8]=f,s[9]=h,s[10]=d,s[11]=m,s[12]=0,s[13]=0,s[14]=p,s[15]=0,s):new l(u,0,f,0,0,c,h,0,0,0,d,p,0,0,m,0)},l.computeInfinitePerspectiveOffCenter=function(e,t,r,i,o,a){var s=2*o/(t-e),u=2*o/(i-r),c=(t+e)/(t-e),f=(i+r)/(i-r),h=-1,d=-1,m=-2*o;return n(a)?(a[0]=s,a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=u,a[6]=0,a[7]=0,a[8]=c,a[9]=f,a[10]=h,a[11]=d,a[12]=0,a[13]=0,a[14]=m,a[15]=0,a):new l(s,0,c,0,0,u,f,0,0,0,h,m,0,0,d,0)},l.computeViewportTransformation=function(e,t,i,o){e=r(e,r.EMPTY_OBJECT);var a=r(e.x,0),s=r(e.y,0),u=r(e.width,0),c=r(e.height,0);t=r(t,0),i=r(i,1);var f=.5*u,h=.5*c,d=.5*(i-t),m=f,p=h,y=d,v=a+f,g=s+h,E=t+d,S=1;return n(o)?(o[0]=m,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=p,o[6]=0,o[7]=0,o[8]=0,o[9]=0,o[10]=y,o[11]=0,o[12]=v,o[13]=g,o[14]=E,o[15]=S,o):new l(m,0,0,v,0,p,0,g,0,0,y,E,0,0,0,S)},l.toArray=function(e,t){return n(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]]},l.getElementIndex=function(e,t){return 4*e+t},l.getColumn=function(e,r,i){var o=4*r,a=e[o],s=e[o+1],u=e[o+2],l=e[o+3];return n(i)?(i.x=a,i.y=s,i.z=u,i.w=l,i):new t(a,s,u,l)},l.setColumn=function(e,t,r,n){n=l.clone(e,n);var i=4*t;return n[i]=r.x,n[i+1]=r.y,n[i+2]=r.z,n[i+3]=r.w,n},l.getRow=function(e,r,i){var o=e[r],a=e[r+4],s=e[r+8],u=e[r+12];return n(i)?(i.x=o,i.y=a,i.z=s,i.w=u,i):new t(o,a,s,u)},l.setRow=function(e,t,r,n){return n=l.clone(e,n),n[t]=r.x,n[t+4]=r.y,n[t+8]=r.z,n[t+12]=r.w,n},l.multiply=function(e,t,r){var i=e[0],o=e[1],a=e[2],s=e[3],u=e[4],c=e[5],f=e[6],h=e[7],d=e[8],m=e[9],p=e[10],y=e[11],v=e[12],g=e[13],E=e[14],S=e[15],C=t[0],w=t[1],x=t[2],O=t[3],T=t[4],A=t[5],M=t[6],b=t[7],D=t[8],I=t[9],_=t[10],N=t[11],P=t[12],R=t[13],z=t[14],L=t[15],F=i*C+u*w+d*x+v*O,U=o*C+c*w+m*x+g*O,B=a*C+f*w+p*x+E*O,q=s*C+h*w+y*x+S*O,G=i*T+u*A+d*M+v*b,W=o*T+c*A+m*M+g*b,Y=a*T+f*A+p*M+E*b,H=s*T+h*A+y*M+S*b,j=i*D+u*I+d*_+v*N,V=o*D+c*I+m*_+g*N,k=a*D+f*I+p*_+E*N,K=s*D+h*I+y*_+S*N,Z=i*P+u*R+d*z+v*L,J=o*P+c*R+m*z+g*L,X=a*P+f*R+p*z+E*L,Q=s*P+h*R+y*z+S*L;return n(r)?(r[0]=F,r[1]=U,r[2]=B,r[3]=q,r[4]=G,r[5]=W,r[6]=Y,r[7]=H,r[8]=j,r[9]=V,r[10]=k,r[11]=K,r[12]=Z,r[13]=J,r[14]=X,r[15]=Q,r):new l(F,G,j,Z,U,W,V,J,B,Y,k,X,q,H,K,Q)},l.multiplyTransformation=function(e,t,r){var i=e[0],o=e[1],a=e[2],s=e[4],u=e[5],c=e[6],f=e[8],h=e[9],d=e[10],m=e[12],p=e[13],y=e[14],v=t[0],g=t[1],E=t[2],S=t[4],C=t[5],w=t[6],x=t[8],O=t[9],T=t[10],A=t[12],M=t[13],b=t[14],D=i*v+s*g+f*E,I=o*v+u*g+h*E,_=a*v+c*g+d*E,N=i*S+s*C+f*w,P=o*S+u*C+h*w,R=a*S+c*C+d*w,z=i*x+s*O+f*T,L=o*x+u*O+h*T,F=a*x+c*O+d*T,U=i*A+s*M+f*b+m,B=o*A+u*M+h*b+p,q=a*A+c*M+d*b+y;return n(r)?(r[0]=D,r[1]=I,r[2]=_,r[3]=0,r[4]=N,r[5]=P,r[6]=R,r[7]=0,r[8]=z,r[9]=L,r[10]=F,r[11]=0,r[12]=U,r[13]=B,r[14]=q,r[15]=1,r):new l(D,N,z,U,I,P,L,B,_,R,F,q,0,0,0,1) +},l.multiplyByTranslation=function(e,t,r){var i=t.x,o=t.y,a=t.z,s=i*e[0]+o*e[4]+a*e[8]+e[12],u=i*e[1]+o*e[5]+a*e[9]+e[13],c=i*e[2]+o*e[6]+a*e[10]+e[14];return n(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r[9]=e[9],r[10]=e[10],r[11]=e[11],r[12]=s,r[13]=u,r[14]=c,r[15]=e[15],r):new l(e[0],e[4],e[8],s,e[1],e[5],e[9],u,e[2],e[6],e[10],c,e[3],e[7],e[11],e[15])};var d=new e;return l.multiplyByUniformScale=function(e,t,r){return d.x=t,d.y=t,d.z=t,l.multiplyByScale(e,d,r)},l.multiplyByScale=function(e,t,r){var i=t.x,o=t.y,a=t.z;return 1===i&&1===o&&1===a?l.clone(e,r):n(r)?(r[0]=i*e[0],r[1]=i*e[1],r[2]=i*e[2],r[3]=0,r[4]=o*e[4],r[5]=o*e[5],r[6]=o*e[6],r[7]=0,r[8]=a*e[8],r[9]=a*e[9],r[10]=a*e[10],r[11]=0,r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=1,r):new l(i*e[0],o*e[4],a*e[8],e[12],i*e[1],o*e[5],a*e[9],e[13],i*e[2],o*e[6],a*e[10],e[14],0,0,0,1)},l.multiplyByVector=function(e,r,i){var o=r.x,a=r.y,s=r.z,u=r.w,l=e[0]*o+e[4]*a+e[8]*s+e[12]*u,c=e[1]*o+e[5]*a+e[9]*s+e[13]*u,f=e[2]*o+e[6]*a+e[10]*s+e[14]*u,h=e[3]*o+e[7]*a+e[11]*s+e[15]*u;return n(i)?(i.x=l,i.y=c,i.z=f,i.w=h,i):new t(l,c,f,h)},l.multiplyByPointAsVector=function(t,r,i){var o=r.x,a=r.y,s=r.z,u=t[0]*o+t[4]*a+t[8]*s,l=t[1]*o+t[5]*a+t[9]*s,c=t[2]*o+t[6]*a+t[10]*s;return n(i)?(i.x=u,i.y=l,i.z=c,i):new e(u,l,c)},l.multiplyByPoint=function(t,r,i){var o=r.x,a=r.y,s=r.z,u=t[0]*o+t[4]*a+t[8]*s+t[12],l=t[1]*o+t[5]*a+t[9]*s+t[13],c=t[2]*o+t[6]*a+t[10]*s+t[14];return n(i)?(i.x=u,i.y=l,i.z=c,i):new e(u,l,c)},l.multiplyByScalar=function(e,t,r){return n(r)?(r[0]=e[0]*t,r[1]=e[1]*t,r[2]=e[2]*t,r[3]=e[3]*t,r[4]=e[4]*t,r[5]=e[5]*t,r[6]=e[6]*t,r[7]=e[7]*t,r[8]=e[8]*t,r[9]=e[9]*t,r[10]=e[10]*t,r[11]=e[11]*t,r[12]=e[12]*t,r[13]=e[13]*t,r[14]=e[14]*t,r[15]=e[15]*t,r):new l(e[0]*t,e[4]*t,e[8]*t,e[12]*t,e[1]*t,e[5]*t,e[9]*t,e[13]*t,e[2]*t,e[6]*t,e[10]*t,e[14]*t,e[3]*t,e[7]*t,e[11]*t,e[15]*t)},l.negate=function(e,t){return n(t)?(t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t[4]=-e[4],t[5]=-e[5],t[6]=-e[6],t[7]=-e[7],t[8]=-e[8],t[9]=-e[9],t[10]=-e[10],t[11]=-e[11],t[12]=-e[12],t[13]=-e[13],t[14]=-e[14],t[15]=-e[15],t):new l(-e[0],-e[4],-e[8],-e[12],-e[1],-e[5],-e[9],-e[13],-e[2],-e[6],-e[10],-e[14],-e[3],-e[7],-e[11],-e[15])},l.transpose=function(e,t){if(!n(t))return new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]);var r=e[1],i=e[2],o=e[3],a=e[6],s=e[7],u=e[11];return t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=r,t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=i,t[9]=a,t[10]=e[10],t[11]=e[14],t[12]=o,t[13]=s,t[14]=u,t[15]=e[15],t},l.abs=function(e,t){return n(t)?(t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t[3]=Math.abs(e[3]),t[4]=Math.abs(e[4]),t[5]=Math.abs(e[5]),t[6]=Math.abs(e[6]),t[7]=Math.abs(e[7]),t[8]=Math.abs(e[8]),t[9]=Math.abs(e[9]),t[10]=Math.abs(e[10]),t[11]=Math.abs(e[11]),t[12]=Math.abs(e[12]),t[13]=Math.abs(e[13]),t[14]=Math.abs(e[14]),t[15]=Math.abs(e[15]),t):new l(Math.abs(e[0]),Math.abs(e[4]),Math.abs(e[8]),Math.abs(e[12]),Math.abs(e[1]),Math.abs(e[5]),Math.abs(e[9]),Math.abs(e[13]),Math.abs(e[2]),Math.abs(e[6]),Math.abs(e[10]),Math.abs(e[14]),Math.abs(e[3]),Math.abs(e[7]),Math.abs(e[11]),Math.abs(e[15]))},l.equals=function(e,t){return e===t||n(e)&&n(t)&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15]},l.equalsEpsilon=function(e,t,r){return e===t||n(e)&&n(t)&&Math.abs(e[0]-t[0])<=r&&Math.abs(e[1]-t[1])<=r&&Math.abs(e[2]-t[2])<=r&&Math.abs(e[3]-t[3])<=r&&Math.abs(e[4]-t[4])<=r&&Math.abs(e[5]-t[5])<=r&&Math.abs(e[6]-t[6])<=r&&Math.abs(e[7]-t[7])<=r&&Math.abs(e[8]-t[8])<=r&&Math.abs(e[9]-t[9])<=r&&Math.abs(e[10]-t[10])<=r&&Math.abs(e[11]-t[11])<=r&&Math.abs(e[12]-t[12])<=r&&Math.abs(e[13]-t[13])<=r&&Math.abs(e[14]-t[14])<=r&&Math.abs(e[15]-t[15])<=r},l.getTranslation=function(t,r){return n(r)?(r.x=t[12],r.y=t[13],r.z=t[14],r):new e(t[12],t[13],t[14])},l.getRotation=function(e,t){return n(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[4],t[4]=e[5],t[5]=e[6],t[6]=e[8],t[7]=e[9],t[8]=e[10],t):new s(e[0],e[4],e[8],e[1],e[5],e[9],e[2],e[6],e[10])},l.inverse=function(e,t){var r=e[0],i=e[4],o=e[8],s=e[12],c=e[1],f=e[5],h=e[9],d=e[13],m=e[2],p=e[6],y=e[10],v=e[14],g=e[3],E=e[7],S=e[11],C=e[15],w=y*C,x=v*S,O=p*C,T=v*E,A=p*S,M=y*E,b=m*C,D=v*g,I=m*S,_=y*g,N=m*E,P=p*g,R=w*f+T*h+A*d-(x*f+O*h+M*d),z=x*c+b*h+_*d-(w*c+D*h+I*d),L=O*c+D*f+N*d-(T*c+b*f+P*d),F=M*c+I*f+P*h-(A*c+_*f+N*h),U=x*i+O*o+M*s-(w*i+T*o+A*s),B=w*r+D*o+I*s-(x*r+b*o+_*s),q=T*r+b*i+P*s-(O*r+D*i+N*s),G=A*r+_*i+N*o-(M*r+I*i+P*o);w=o*d,x=s*h,O=i*d,T=s*f,A=i*h,M=o*f,b=r*d,D=s*c,I=r*h,_=o*c,N=r*f,P=i*c;var W=w*E+T*S+A*C-(x*E+O*S+M*C),Y=x*g+b*S+_*C-(w*g+D*S+I*C),H=O*g+D*E+N*C-(T*g+b*E+P*C),j=M*g+I*E+P*S-(A*g+_*E+N*S),V=O*y+M*v+x*p-(A*v+w*p+T*y),k=I*v+w*m+D*y-(b*y+_*v+x*m),K=b*p+P*v+T*m-(N*v+O*m+D*p),Z=N*y+A*m+_*p-(I*p+P*y+M*m),J=r*R+i*z+o*L+s*F;if(Math.abs(J)T;T++){e.clone(t[T],i);var A=i.x,M=i.y,b=i.z;Au.x&&e.clone(i,u),Ml.y&&e.clone(i,l),bx.z&&e.clone(i,x)}var D=e.magnitudeSquared(e.subtract(u,o,g)),I=e.magnitudeSquared(e.subtract(l,a,g)),_=e.magnitudeSquared(e.subtract(x,s,g)),N=o,P=u,R=D;I>R&&(R=I,N=a,P=l),_>R&&(R=_,N=s,P=x);var z=E;z.x=.5*(N.x+P.x),z.y=.5*(N.y+P.y),z.z=.5*(N.z+P.z);var L=e.magnitudeSquared(e.subtract(P,z,g)),F=Math.sqrt(L),U=S;U.x=o.x,U.y=a.y,U.z=s.z;var B=C;B.x=u.x,B.y=l.y,B.z=x.z;var q=e.multiplyByScalar(e.add(U,B,g),.5,w),G=0;for(T=0;O>T;T++){e.clone(t[T],i);var W=e.magnitude(e.subtract(i,q,g));W>G&&(G=W);var Y=e.magnitudeSquared(e.subtract(i,z,g));if(Y>L){var H=Math.sqrt(Y);F=.5*(F+H),L=F*F;var j=H-F;z.x=(F*z.x+j*i.x)/H,z.y=(F*z.y+j*i.y)/H,z.z=(F*z.z+j*i.z)/H}}return G>F?(e.clone(z,r.center),r.radius=F):(e.clone(q,r.center),r.radius=G),r};var x=new a,O=new e,T=new e,A=new t,M=new t;c.fromExtent2D=function(e,t,r){return c.fromExtentWithHeights2D(e,t,0,0,r)},c.fromExtentWithHeights2D=function(t,i,o,a,s){if(n(s)||(s=new c),!n(t))return s.center=e.clone(e.ZERO,s.center),s.radius=0,s;i=r(i,x),t.getSouthwest(A),A.height=o,t.getNortheast(M),M.height=a;var u=i.project(A,O),l=i.project(M,T),f=l.x-u.x,h=l.y-u.y,d=l.z-u.z;s.radius=.5*Math.sqrt(f*f+h*h+d*d);var m=s.center;return m.x=u.x+.5*f,m.y=u.y+.5*h,m.z=u.z+.5*d,s};var b=[];c.fromExtent3D=function(e,t,i,a){t=r(t,o.WGS84),i=r(i,0);var s;return n(e)&&(s=e.subsample(t,i,b)),c.fromPoints(s,a)},c.fromVertices=function(t,i,o,a){if(n(a)||(a=new c),!n(t)||0===t.length)return a.center=e.clone(e.ZERO,a.center),a.radius=0,a;i=r(i,e.ZERO),o=r(o,3);var s=v;s.x=t[0]+i.x,s.y=t[1]+i.y,s.z=t[2]+i.z;for(var u=e.clone(s,f),l=e.clone(s,h),x=e.clone(s,d),O=e.clone(s,m),T=e.clone(s,p),A=e.clone(s,y),M=t.length,b=0;M>b;b+=o){var D=t[b]+i.x,I=t[b+1]+i.y,_=t[b+2]+i.z;s.x=D,s.y=I,s.z=_,DO.x&&e.clone(s,O),IT.y&&e.clone(s,T),_A.z&&e.clone(s,A)}var N=e.magnitudeSquared(e.subtract(O,u,g)),P=e.magnitudeSquared(e.subtract(T,l,g)),R=e.magnitudeSquared(e.subtract(A,x,g)),z=u,L=O,F=N;P>F&&(F=P,z=l,L=T),R>F&&(F=R,z=x,L=A);var U=E;U.x=.5*(z.x+L.x),U.y=.5*(z.y+L.y),U.z=.5*(z.z+L.z);var B=e.magnitudeSquared(e.subtract(L,U,g)),q=Math.sqrt(B),G=S;G.x=u.x,G.y=l.y,G.z=x.z;var W=C;W.x=O.x,W.y=T.y,W.z=A.z;var Y=e.multiplyByScalar(e.add(G,W,g),.5,w),H=0;for(b=0;M>b;b+=o){s.x=t[b]+i.x,s.y=t[b+1]+i.y,s.z=t[b+2]+i.z;var j=e.magnitude(e.subtract(s,Y,g));j>H&&(H=j);var V=e.magnitudeSquared(e.subtract(s,U,g));if(V>B){var k=Math.sqrt(V);q=.5*(q+k),B=q*q;var K=k-q;U.x=(q*U.x+K*s.x)/k,U.y=(q*U.y+K*s.y)/k,U.z=(q*U.z+K*s.z)/k}}return H>q?(e.clone(U,a.center),a.radius=q):(e.clone(Y,a.center),a.radius=H),a},c.fromCornerPoints=function(t,r,i){n(i)||(i=new c);var o=i.center;return e.add(t,r,o),e.multiplyByScalar(o,.5,o),i.radius=e.distance(o,r),i},c.fromEllipsoid=function(t,r){return n(r)||(r=new c),e.clone(e.ZERO,r.center),r.radius=t.maximumRadius,r},c.clone=function(t,r){return n(t)?n(r)?(r.center=e.clone(t.center,r.center),r.radius=t.radius,r):new c(t.center,t.radius):void 0};var D=new e,I=new e;c.union=function(t,r,i){n(i)||(i=new c);var o=t.center,a=r.center;e.add(o,a,I);var s=e.multiplyByScalar(I,.5,I),u=e.magnitude(e.subtract(o,s,D))+t.radius,l=e.magnitude(e.subtract(a,s,D))+r.radius;return i.radius=Math.max(u,l),e.clone(s,i.center),i};var _=new e;c.expand=function(t,r,n){n=c.clone(t,n);var i=e.magnitude(e.subtract(r,n.center,_));return i>n.radius&&(n.radius=i),n},c.intersect=function(t,r){var n=t.center,i=t.radius,o=e.dot(r,n)+r.w;return-i>o?s.OUTSIDE:i>o?s.INTERSECTING:s.INSIDE};var N=new e;c.transform=function(t,r,i){return n(i)||(i=new c),i.center=l.multiplyByPoint(r,t.center,i.center),i.radius=Math.max(e.magnitude(l.getColumn(r,0,N)),e.magnitude(l.getColumn(r,1,N)),e.magnitude(l.getColumn(r,2,N)))*t.radius,i},c.transformWithoutScale=function(e,t,r){return n(r)||(r=new c),r.center=l.multiplyByPoint(t,e.center,r.center),r.radius=e.radius,r};var P=new e;c.getPlaneDistances=function(t,r,i,o){n(o)||(o=new u);var a=e.subtract(t.center,r,P),s=e.multiplyByScalar(i,e.dot(i,a),P),l=e.magnitude(s);return o.start=l-t.radius,o.stop=l+t.radius,o};for(var R=new e,z=new e,L=new e,F=new e,U=new e,B=new t,q=new Array(8),G=0;8>G;++G)q[G]=new e;var W=new a;return c.projectTo2D=function(t,n,i){n=r(n,W);var o=n.ellipsoid,a=t.center,s=t.radius,u=o.geodeticSurfaceNormal(a,R),l=e.cross(e.UNIT_Z,u,z);e.normalize(l,l);var f=e.cross(u,l,L);e.normalize(f,f),e.multiplyByScalar(u,s,u),e.multiplyByScalar(f,s,f),e.multiplyByScalar(l,s,l);var h=e.negate(f,U),d=e.negate(l,F),m=q,p=m[0];e.add(u,f,p),e.add(p,l,p),p=m[1],e.add(u,f,p),e.add(p,d,p),p=m[2],e.add(u,h,p),e.add(p,d,p),p=m[3],e.add(u,h,p),e.add(p,l,p),e.negate(u,u),p=m[4],e.add(u,f,p),e.add(p,l,p),p=m[5],e.add(u,f,p),e.add(p,d,p),p=m[6],e.add(u,h,p),e.add(p,d,p),p=m[7],e.add(u,h,p),e.add(p,l,p);for(var y=m.length,v=0;y>v;++v){var g=m[v];e.add(a,g,g);var E=o.cartesianToCartographic(g,B);n.project(E,g)}i=c.fromPoints(m,i),a=i.center;var S=a.x,C=a.y,w=a.z;return a.x=w,a.y=S,a.z=C,i},c.equals=function(t,r){return t===r||n(t)&&n(r)&&e.equals(t.center,r.center)&&t.radius===r.radius},c.prototype.clone=function(e){return c.clone(this,e)},c.prototype.union=function(e,t){return c.union(this,e,t)},c.prototype.expand=function(e,t){return c.expand(this,e,t)},c.prototype.intersect=function(e){return c.intersect(this,e)},c.prototype.getPlaneDistances=function(e,t,r){return c.getPlaneDistances(this,e,t,r)},c.prototype.projectTo2D=function(e,t){return c.projectTo2D(this,e,t)},c.prototype.equals=function(e){return c.equals(this,e)},c}),define("Core/Fullscreen",["./defined"],function(e){"use strict";var t,r={requestFullscreen:void 0,exitFullscreen:void 0,fullscreenEnabled:void 0,fullscreenElement:void 0,fullscreenchange:void 0,fullscreenerror:void 0},n={};return n.supportsFullscreen=function(){if(e(t))return t;t=!1;var n=document.body;if("function"==typeof n.requestFullscreen)return r.requestFullscreen="requestFullscreen",r.exitFullscreen="exitFullscreen",r.fullscreenEnabled="fullscreenEnabled",r.fullscreenElement="fullscreenElement",r.fullscreenchange="fullscreenchange",r.fullscreenerror="fullscreenerror",t=!0;for(var i,o=["webkit","moz","o","ms","khtml"],a=0,s=o.length;s>a;++a){var u=o[a];i=u+"RequestFullscreen","function"==typeof n[i]?(r.requestFullscreen=i,t=!0):(i=u+"RequestFullScreen","function"==typeof n[i]&&(r.requestFullscreen=i,t=!0)),i=u+"ExitFullscreen","function"==typeof document[i]?r.exitFullscreen=i:(i=u+"CancelFullScreen","function"==typeof document[i]&&(r.exitFullscreen=i)),i=u+"FullscreenEnabled",e(document[i])?r.fullscreenEnabled=i:(i=u+"FullScreenEnabled",e(document[i])&&(r.fullscreenEnabled=i)),i=u+"FullscreenElement",e(document[i])?r.fullscreenElement=i:(i=u+"FullScreenElement",e(document[i])&&(r.fullscreenElement=i)),i=u+"fullscreenchange",e(document["on"+i])&&("ms"===u&&(i="MSFullscreenChange"),r.fullscreenchange=i),i=u+"fullscreenerror",e(document["on"+i])&&("ms"===u&&(i="MSFullscreenError"),r.fullscreenerror=i)}return t},n.requestFullscreen=function(e){n.supportsFullscreen()&&e[r.requestFullscreen]()},n.exitFullscreen=function(){n.supportsFullscreen()&&document[r.exitFullscreen]()},n.isFullscreenEnabled=function(){return n.supportsFullscreen()?document[r.fullscreenEnabled]:void 0},n.getFullscreenElement=function(){return n.supportsFullscreen()?document[r.fullscreenElement]:void 0},n.isFullscreen=function(){return n.supportsFullscreen()?null!==n.getFullscreenElement():void 0},n.getFullscreenChangeEventName=function(){return n.supportsFullscreen()?r.fullscreenchange:void 0},n.getFullscreenErrorEventName=function(){return n.supportsFullscreen()?r.fullscreenerror:void 0},n}),define("Core/FeatureDetection",["./defined","./Fullscreen"],function(e,t){"use strict";function r(e){for(var t=e.split("."),r=0,n=t.length;n>r;++r)t[r]=parseInt(t[r],10);return t}function n(){if(!e(f)){var t=/ Chrome\/([\.0-9]+)/.exec(navigator.userAgent);null===t?f=!1:(f=!0,h=r(t[1]))}return f}function i(){return n()&&h}function o(){if(!e(d))if(n()||!/ Safari\/[\.0-9]+/.test(navigator.userAgent))d=!1;else{var t=/ Version\/([\.0-9]+)/.exec(navigator.userAgent);null===t?d=!1:(d=!0,m=r(t[1]))}return d}function a(){return o()&&m}function s(){if(!e(p)){var t=/ AppleWebKit\/([\.0-9]+)(\+?)/.exec(navigator.userAgent);null===t?p=!1:(p=!0,y=r(t[1]),y.isNightly=!!t[2])}return p}function u(){return s()&&y}function l(){if(!e(v)){var t;"Microsoft Internet Explorer"===navigator.appName?(t=/MSIE ([0-9]{1,}[\.0-9]{0,})/.exec(navigator.userAgent),null!==t&&(v=!0,g=r(t[1]))):"Netscape"===navigator.appName?(t=/Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/.exec(navigator.userAgent),null!==t&&(v=!0,g=r(t[1]))):v=!1}return v}function c(){return l()&&g}var f,h,d,m,p,y,v,g,E={isChrome:n,chromeVersion:i,isSafari:o,safariVersion:a,isWebkit:s,webkitVersion:u,isInternetExplorer:l,internetExplorerVersion:c};E.supportsFullscreen=function(){return t.supportsFullscreen()},E.supportsTypedArrays=function(){return"undefined"!=typeof ArrayBuffer};var S;return E.supportsTransferringArrayBuffers=function(){if(!e(S)){if(!E.supportsTypedArrays())return S=!1,void 0;var t=new ArrayBuffer(1);try{postMessage({value:t},[t]),S=!0}catch(r){S=!1}}return S},E}),define("Core/ComponentDatatype",["./defaultValue","./defined","./DeveloperError","./FeatureDetection","./Enumeration"],function(e,t,r,n,i){"use strict";if(!n.supportsTypedArrays())return{};var o={BYTE:new i(5120,"BYTE",{sizeInBytes:Int8Array.BYTES_PER_ELEMENT}),UNSIGNED_BYTE:new i(5121,"UNSIGNED_BYTE",{sizeInBytes:Uint8Array.BYTES_PER_ELEMENT}),SHORT:new i(5122,"SHORT",{sizeInBytes:Int16Array.BYTES_PER_ELEMENT}),UNSIGNED_SHORT:new i(5123,"UNSIGNED_SHORT",{sizeInBytes:Uint16Array.BYTES_PER_ELEMENT}),FLOAT:new i(5126,"FLOAT",{sizeInBytes:Float32Array.BYTES_PER_ELEMENT}),DOUBLE:new i(5130,"DOUBLE",{sizeInBytes:Float64Array.BYTES_PER_ELEMENT})};return o.validate=function(e){return t(e)&&t(e.value)&&(e.value===o.BYTE.value||e.value===o.UNSIGNED_BYTE.value||e.value===o.SHORT.value||e.value===o.UNSIGNED_SHORT.value||e.value===o.FLOAT.value||e.value===o.DOUBLE.value)},o.createTypedArray=function(e,t){switch(e.value){case o.BYTE.value:return new Int8Array(t);case o.UNSIGNED_BYTE.value:return new Uint8Array(t);case o.SHORT.value:return new Int16Array(t);case o.UNSIGNED_SHORT.value:return new Uint16Array(t);case o.FLOAT.value:return new Float32Array(t);case o.DOUBLE.value:return new Float64Array(t);default:throw new r("componentDatatype is not a valid enumeration value.")}},o.createArrayBufferView=function(t,n,i,a){switch(i=e(i,0),a=e(a,(n.byteLength-i)/t.sizeInBytes),t.value){case o.BYTE.value:return new Int8Array(n,i,a);case o.UNSIGNED_BYTE.value:return new Uint8Array(n,i,a);case o.SHORT.value:return new Int16Array(n,i,a);case o.UNSIGNED_SHORT.value:return new Uint16Array(n,i,a);case o.FLOAT.value:return new Float32Array(n,i,a);case o.DOUBLE.value:return new Float64Array(n,i,a);default:throw new r("componentDatatype is not a valid enumeration value.")}},o}),define("ThirdParty/Uri",[],function(){function e(t){if(t instanceof e)this.scheme=t.scheme,this.authority=t.authority,this.path=t.path,this.query=t.query,this.fragment=t.fragment;else if(t){var r=n.exec(t);this.scheme=r[1],this.authority=r[2],this.path=r[3],this.query=r[4],this.fragment=r[5]}}function t(e){var t=unescape(e);return o.test(t)?t:e.toUpperCase()}function r(e,t,r,n){return(t||"")+r.toLowerCase()+(n||"")}e.prototype.scheme=null,e.prototype.authority=null,e.prototype.path="",e.prototype.query=null,e.prototype.fragment=null;var n=new RegExp("^(?:([^:/?#]+):)?(?://([^/?#]*))?([^?#]*)(?:\\?([^#]*))?(?:#(.*))?$");e.prototype.getScheme=function(){return this.scheme},e.prototype.getAuthority=function(){return this.authority},e.prototype.getPath=function(){return this.path},e.prototype.getQuery=function(){return this.query},e.prototype.getFragment=function(){return this.fragment},e.prototype.isAbsolute=function(){return!!this.scheme&&!this.fragment},e.prototype.isSameDocumentAs=function(e){return e.scheme==this.scheme&&e.authority==this.authority&&e.path==this.path&&e.query==this.query},e.prototype.equals=function(e){return this.isSameDocumentAs(e)&&e.fragment==this.fragment},e.prototype.normalize=function(){this.removeDotSegments(),this.scheme&&(this.scheme=this.scheme.toLowerCase()),this.authority&&(this.authority=this.authority.replace(a,r).replace(i,t)),this.path&&(this.path=this.path.replace(i,t)),this.query&&(this.query=this.query.replace(i,t)),this.fragment&&(this.fragment=this.fragment.replace(i,t))};var i=/%[0-9a-z]{2}/gi,o=/[a-zA-Z0-9\-\._~]/,a=/(.*@)?([^@:]*)(:.*)?/;return e.prototype.resolve=function(t){var r=new e;return this.scheme?(r.scheme=this.scheme,r.authority=this.authority,r.path=this.path,r.query=this.query):(r.scheme=t.scheme,this.authority?(r.authority=this.authority,r.path=this.path,r.query=this.query):(r.authority=t.authority,""==this.path?(r.path=t.path,r.query=this.query||t.query):("/"==this.path.charAt(0)?(r.path=this.path,r.removeDotSegments()):(r.path=t.authority&&""==t.path?"/"+this.path:t.path.substring(0,t.path.lastIndexOf("/")+1)+this.path,r.removeDotSegments()),r.query=this.query))),r.fragment=this.fragment,r},e.prototype.removeDotSegments=function(){var e,t=this.path.split("/"),r=[],n=""==t[0];for(n&&t.shift(),""==t[0]?t.shift():null;t.length;)e=t.shift(),".."==e?r.pop():"."!=e&&r.push(e);("."==e||".."==e)&&r.push(""),n&&r.unshift(""),this.path=r.join("/")},e.prototype.toString=function(){var e="";return this.scheme&&(e+=this.scheme+":"),this.authority&&(e+="//"+this.authority),e+=this.path,this.query&&(e+="?"+this.query),this.fragment&&(e+="#"+this.fragment),e},e}),define("Core/buildModuleUrl",["require","./defined","./DeveloperError","../ThirdParty/Uri"],function(e,t,r,n){"use strict";function i(){for(var e=document.getElementsByTagName("script"),t=0,r=e.length;r>t;++t){var n=e[t].getAttribute("src"),i=f.exec(n);if(null!==i)return i[1]}return void 0}function o(){if(t(u))return u;var e;if(e="undefined"!=typeof CESIUM_BASE_URL?CESIUM_BASE_URL:i(),!t(e))throw new r("Unable to determine Cesium base URL automatically, try defining a global variable called CESIUM_BASE_URL.");return u=new n(e).resolve(new n(document.location.href))}function a(t){return e.toUrl("../"+t)}function s(e){return new n(e).resolve(o()).toString()}var u,l,c,f=/((?:.*\/)|^)cesium[\w-]*\.js(?:\W|$)/i,h=function(r){t(l)||(l=t(e.toUrl)?a:s),t(c)||(c=document.createElement("a"));var n=l(r);return c.href=n,c.href=c.href,c.href};return h._cesiumScriptRegex=f,h}),define("Core/Iau2006XysSample",[],function(){"use strict";var e=function(e,t,r){this.x=e,this.y=t,this.s=r};return e}),define("Core/binarySearch",["./defined","./DeveloperError"],function(){"use strict";var e=function(e,t,r){for(var n,i,o=0,a=e.length-1;a>=o;)if(n=~~((o+a)/2),i=r(e[n],t),0>i)o=n+1;else{if(!(i>0))return n;a=n-1}return~(a+1)};return e}),define("Core/TimeConstants",[],function(){"use strict";var e={SECONDS_PER_MILLISECOND:.001,SECONDS_PER_MINUTE:60,MINUTES_PER_HOUR:60,HOURS_PER_DAY:24,SECONDS_PER_HOUR:3600,MINUTES_PER_DAY:1440,SECONDS_PER_DAY:86400,DAYS_PER_JULIAN_CENTURY:36525,PICOSECOND:1e-9,MODIFIED_JULIAN_DATE_DIFFERENCE:2400000.5};return e}),define("Core/isArray",["./defined"],function(e){"use strict";var t=Array.isArray;return e(t)||(t=function(e){return"[object Array]"===Object.prototype.toString.call(e)}),t}),define("Core/LeapSecond",["./defined","./DeveloperError","./isArray"],function(){"use strict";var e=function(e,t){this.julianDate=e,this.offset=t};return e.setLeapSeconds=function(t){e._leapSeconds=t,e._leapSeconds.sort(e.compareLeapSecondDate)},e.getLeapSeconds=function(){return e._leapSeconds},e.prototype.equals=function(e){return this.julianDate.equals(e.julianDate)&&this.offset===e.offset},e.compareLeapSecondDate=function(e,t){return e.julianDate.compareTo(t.julianDate)},e._leapSeconds=[],e}),define("Core/TimeStandard",[],function(){"use strict";var e={UTC:0,TAI:1};return e}),define("Core/isLeapYear",["./DeveloperError"],function(){"use strict";function e(e){return 0===e%4&&0!==e%100||0===e%400}return e}),define("ThirdParty/sprintf",[],function(){function e(){var e=/%%|%(\d+\$)?([-+\'#0 ]*)(\*\d+\$|\*|\d+)?(\.(\*\d+\$|\*|\d+))?([scboxXuideEfFgG])/g,t=arguments,r=0,n=t[r++],i=function(e,t,r,n){r||(r=" ");var i=e.length>=t?"":Array(1+t-e.length>>>0).join(r);return n?e+i:i+e},o=function(e,t,r,n,o,a){var s=n-e.length;return s>0&&(e=r||!o?i(e,n,a,r):e.slice(0,t.length)+i("",s,"0",!0)+e.slice(t.length)),e},a=function(e,t,r,n,a,s,u){var l=e>>>0;return r=r&&l&&{2:"0b",8:"0",16:"0x"}[t]||"",e=r+i(l.toString(t),s||0,"0",!1),o(e,r,n,a,u)},s=function(e,t,r,n,i,a){return null!=n&&(e=e.slice(0,n)),o(e,"",t,r,i,a)},u=function(e,n,u,l,c,f,h){var d,m,p,y,v;if("%%"==e)return"%";for(var g=!1,E="",S=!1,C=!1,w=" ",x=u.length,O=0;u&&x>O;O++)switch(u.charAt(O)){case" ":E=" ";break;case"+":E="+";break;case"-":g=!0;break;case"'":w=u.charAt(O+1);break;case"0":S=!0;break;case"#":C=!0}if(l=l?"*"==l?+t[r++]:"*"==l.charAt(0)?+t[l.slice(1,-1)]:+l:0,0>l&&(l=-l,g=!0),!isFinite(l))throw new Error("sprintf: (minimum-)width must be finite");switch(f=f?"*"==f?+t[r++]:"*"==f.charAt(0)?+t[f.slice(1,-1)]:+f:"fFeE".indexOf(h)>-1?6:"d"==h?0:void 0,v=n?t[n.slice(0,-1)]:t[r++],h){case"s":return s(String(v),g,l,f,S,w);case"c":return s(String.fromCharCode(+v),g,l,f,S);case"b":return a(v,2,C,g,l,f,S);case"o":return a(v,8,C,g,l,f,S);case"x":return a(v,16,C,g,l,f,S);case"X":return a(v,16,C,g,l,f,S).toUpperCase();case"u":return a(v,10,C,g,l,f,S);case"i":case"d":return d=+v||0,d=Math.round(d-d%1),m=0>d?"-":E,v=m+i(String(Math.abs(d)),f,"0",!1),o(v,m,g,l,S);case"e":case"E":case"f":case"F":case"g":case"G":return d=+v,m=0>d?"-":E,p=["toExponential","toFixed","toPrecision"]["efg".indexOf(h.toLowerCase())],y=["toString","toUpperCase"]["eEfFgG".indexOf(h)%2],v=m+Math.abs(d)[p](f),o(v,m,g,l,S)[y]();default:return e}};return n.replace(e,u)}return e}),define("Core/JulianDate",["./DeveloperError","./binarySearch","./defined","./defaultValue","./TimeConstants","./LeapSecond","./TimeStandard","./isLeapYear","../ThirdParty/sprintf"],function(e,t,r,n,i,o,a,s,u){"use strict";function l(e){v.julianDate=e;var r=o.getLeapSeconds(),n=t(r,v,o.compareLeapSecondDate);0>n&&(n=~n),n>=r.length&&(n=r.length-1);var i=r[n].offset;if(n>0){var a=e.getSecondsDifference(r[n].julianDate);a>i&&(n--,i=r[n].offset)}e.addSeconds(i,e)}function c(e,r){v.julianDate=e;var n=o.getLeapSeconds(),i=t(n,v,o.compareLeapSecondDate);if(0>i&&(i=~i),0===i)return e.addSeconds(-n[0].offset,r);if(i>=n.length)return e.addSeconds(-n[i-1].offset,r);var a=e.getSecondsDifference(n[i].julianDate);return 0===a?e.addSeconds(-n[i].offset,r):1>=a?void 0:e.addSeconds(-n[--i].offset,r)}function f(e,t,n){var o=0|t/i.SECONDS_PER_DAY;return e+=o,t-=i.SECONDS_PER_DAY*o,0>t&&(e--,t+=i.SECONDS_PER_DAY),r(n)?(n._julianDayNumber=e,n._secondsOfDay=t,n):new b(e,t,a.TAI)}function h(e,t,r,n,o,a,s){var u=0|(t-14)/12,l=e+4800+u,c=(0|1461*l/4)+(0|367*(t-2-12*u)/12)-(0|3*((l+100)/100)/4)+r-32075;n-=12,0>n&&(n+=24);var f=a+(n*i.SECONDS_PER_HOUR+o*i.SECONDS_PER_MINUTE+s*i.SECONDS_PER_MILLISECOND);return f>=43200&&(c-=1),[c,f]}function d(e){return h(e.getUTCFullYear(),e.getUTCMonth()+1,e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds())}var m=function(e,t,r,n,i,o,a,s){this.year=e,this.month=t,this.day=r,this.hour=n,this.minute=i,this.second=o,this.millisecond=a,this.isLeapSecond=s},p=[31,28,31,30,31,30,31,31,30,31,30,31],y=29,v={julianDate:void 0},g=/^(\d{4})$/,E=/^(\d{4})-(\d{2})$/,S=/^(\d{4})-?(\d{3})$/,C=/^(\d{4})-?W(\d{2})-?(\d{1})?$/,w=/^(\d{4})-?(\d{2})-?(\d{2})$/,x=/([Z+\-])?(\d{2})?:?(\d{2})?$/,O=/^(\d{2})(\.\d+)?/.source+x.source,T=/^(\d{2}):?(\d{2})(\.\d+)?/.source+x.source,A=/^(\d{2}):?(\d{2}):?(\d{2})(\.\d+)?/.source+x.source,M="Valid ISO 8601 date string required.",b=function(e,t,o){this._julianDayNumber=void 0,this._secondsOfDay=void 0;var s,u;if(r(e)||r(t)||r(o))o=n(o,a.UTC),s=0|e,u=t+(e-s)*i.SECONDS_PER_DAY;else{var c=new Date,h=d(c);s=h[0],u=h[1],o=a.UTC}f(s,u,this),o===a.UTC&&l(this)};b.clone=function(e,t){return r(e)?r(t)?(t._julianDayNumber=e._julianDayNumber,t._secondsOfDay=e._secondsOfDay,t):new b(e._julianDayNumber,e._secondsOfDay,a.TAI):void 0},b.fromDate=function(e,t){var r=d(e);return new b(r[0],r[1],t)},b.fromIso8601=function(t){t=t.replace(",",".");var n,i,o,u=t.split("T"),l=1,c=1,f=0,d=0,m=0,v=0,x=u[0],D=u[1];if(!r(x))throw new e(M);var I;if(u=x.match(w),null!==u){if(I=x.split("-").length-1,I>0&&2!==I)throw new e(M);n=+u[1],l=+u[2],c=+u[3]}else if(u=x.match(E),null!==u)n=+u[1],l=+u[2];else if(u=x.match(g),null!==u)n=+u[1];else{var _;if(u=x.match(S),null!==u){if(n=+u[1],_=+u[2],o=s(n),1>_||o&&_>366||!o&&_>365)throw new e(M)}else{if(u=x.match(C),null===u)throw new e(M);n=+u[1];var N=+u[2],P=+u[3]||0;if(I=x.split("-").length-1,I>0&&(!r(u[3])&&1!==I||r(u[3])&&2!==I))throw new e(M);var R=new Date(Date.UTC(n,0,4));_=7*N+P-R.getUTCDay()-3}i=new Date(Date.UTC(n,0,1)),i.setUTCDate(_),l=i.getUTCMonth()+1,c=i.getUTCDate()}if(o=s(n),1>l||l>12||1>c||(2!==l||!o)&&c>p[l-1]||o&&2===l&&c>y)throw new e(M);var z;if(r(D)){if(u=D.match(A),null!==u){if(I=D.split(":").length-1,I>0&&2!==I&&3!==I)throw new e(M);f=+u[1],d=+u[2],m=+u[3],v=1e3*+(u[4]||0),z=5}else if(u=D.match(T),null!==u){if(I=D.split(":").length-1,I>0&&1!==I)throw new e(M);f=+u[1],d=+u[2],m=60*+(u[3]||0),z=4}else{if(u=D.match(O),null===u)throw new e(M);f=+u[1],d=60*+(u[2]||0),z=3}if(d>=60||m>=61||f>24||24===f&&(d>0||m>0||v>0))throw new e(M);var L=u[z],F=+u[z+1],U=+(u[z+2]||0);switch(L){case"+":f-=F,d-=U;break;case"-":f+=F,d+=U;break;case"Z":break;default:d+=new Date(Date.UTC(n,l-1,c,f,d)).getTimezoneOffset()}}else d+=new Date(Date.UTC(n,l-1,c)).getTimezoneOffset();var B=60===m;for(B&&m--;d>=60;)d-=60,f++;for(;f>=24;)f-=24,c++;for(i=o&&2===l?y:p[l-1];c>i;)c-=i,l++,l>12&&(l-=12,n++),i=o&&2===l?y:p[l-1];for(;0>d;)d+=60,f--;for(;0>f;)f+=24,c--;for(;1>c;)l--,1>l&&(l+=12,n--),i=o&&2===l?y:p[l-1],c+=i;var q=h(n,l,c,f,d,m,v),G=new b(q[0],q[1],a.UTC);return B&&G.addSeconds(1,G),G},b.fromTotalDays=function(e,t){return new b(e,0,t)},b.compare=function(e,t){var r=e._julianDayNumber-t._julianDayNumber;return 0!==r?r:e._secondsOfDay-t._secondsOfDay},b.equals=function(e,t){return e===t||r(e)&&r(t)&&e._julianDayNumber===t._julianDayNumber&&e._secondsOfDay===t._secondsOfDay},b.equalsEpsilon=function(e,t,r){return Math.abs(e.getSecondsDifference(t))<=r},b.prototype.clone=function(e){return b.clone(this,e)},b.prototype.getTotalDays=function(){return this._julianDayNumber+this._secondsOfDay/i.SECONDS_PER_DAY},b.prototype.getJulianDayNumber=function(){return this._julianDayNumber},b.prototype.getJulianTimeFraction=function(){return this._secondsOfDay/i.SECONDS_PER_DAY},b.prototype.getSecondsOfDay=function(){return this._secondsOfDay};var D=new b(0,0,a.TAI);return b.prototype.toGregorianDate=function(){var e=!1,t=c(this,D);r(t)||(this.addSeconds(-1,D),t=c(D,D),e=!0);var n=t._julianDayNumber,o=t._secondsOfDay;o>=43200&&(n+=1);var a=0|n+68569,s=0|4*a/146097;a=0|a-(0|(146097*s+3)/4);var u=0|4e3*(a+1)/1461001;a=0|a-(0|1461*u/4)+31;var l=0|80*a/2447,f=0|a-(0|2447*l/80);a=0|l/11;var h=0|l+2-12*a,d=0|100*(s-49)+u+a,p=0|o/i.SECONDS_PER_HOUR,y=o-p*i.SECONDS_PER_HOUR,v=0|y/i.SECONDS_PER_MINUTE;y-=v*i.SECONDS_PER_MINUTE;var g=0|y,E=(y-g)/i.SECONDS_PER_MILLISECOND;return p+=12,p>23&&(p-=24),e&&(g+=1),new m(d,h,f,p,v,g,E,e)},b.prototype.toDate=function(){var e=this.toGregorianDate(),t=e.second;return e.isLeapSecond&&(t-=1),new Date(Date.UTC(e.year,e.month-1,e.day,e.hour,e.minute,t,e.millisecond))},b.prototype.toIso8601=function(e){var t,n=this.toGregorianDate();return r(e)||0===n.millisecond?r(e)&&0!==e?(t=(.01*n.millisecond).toFixed(e).replace(".","").slice(0,e),u("%04d-%02d-%02dT%02d:%02d:%02d.%sZ",n.year,n.month,n.day,n.hour,n.minute,n.second,t)):u("%04d-%02d-%02dT%02d:%02d:%02dZ",n.year,n.month,n.day,n.hour,n.minute,n.second):(t=(.01*n.millisecond).toString().replace(".",""),u("%04d-%02d-%02dT%02d:%02d:%02d.%sZ",n.year,n.month,n.day,n.hour,n.minute,n.second,t))},b.prototype.getSecondsDifference=function(e){var t=this,r=e,n=(r._julianDayNumber-t._julianDayNumber)*i.SECONDS_PER_DAY;return n+(r._secondsOfDay-t._secondsOfDay)},b.prototype.getMinutesDifference=function(e){return this.getSecondsDifference(e)/i.SECONDS_PER_MINUTE},b.prototype.getDaysDifference=function(e){var t=this,r=e,n=r._julianDayNumber-t._julianDayNumber,o=(r._secondsOfDay-t._secondsOfDay)/i.SECONDS_PER_DAY;return n+o},b.prototype.getTaiMinusUtc=function(){v.julianDate=this;var e=o.getLeapSeconds(),r=t(e,v,o.compareLeapSecondDate);return 0>r&&(r=~r,--r,0>r&&(r=0)),e[r].offset},b.prototype.addSeconds=function(e,t){return f(this._julianDayNumber,this._secondsOfDay+e,t)},b.prototype.addMinutes=function(e){var t=this._secondsOfDay+e*i.SECONDS_PER_MINUTE;return new b(this._julianDayNumber,t,a.TAI) +},b.prototype.addHours=function(e){var t=this._secondsOfDay+e*i.SECONDS_PER_HOUR;return new b(this._julianDayNumber,t,a.TAI)},b.prototype.addDays=function(e){var t=this._julianDayNumber+e;return new b(t,this._secondsOfDay,a.TAI)},b.prototype.lessThan=function(e){return b.compare(this,e)<0},b.prototype.lessThanOrEquals=function(e){return b.compare(this,e)<=0},b.prototype.greaterThan=function(e){return b.compare(this,e)>0},b.prototype.greaterThanOrEquals=function(e){return b.compare(this,e)>=0},b.prototype.compareTo=function(e){return b.compare(this,e)},b.prototype.equals=function(e){return b.equals(this,e)},b.prototype.equalsEpsilon=function(e,t){return b.equalsEpsilon(this,e,t)},0===o._leapSeconds.length&&(o._leapSeconds=[new o(new b(2441317,43210,a.TAI),10),new o(new b(2441499,43211,a.TAI),11),new o(new b(2441683,43212,a.TAI),12),new o(new b(2442048,43213,a.TAI),13),new o(new b(2442413,43214,a.TAI),14),new o(new b(2442778,43215,a.TAI),15),new o(new b(2443144,43216,a.TAI),16),new o(new b(2443509,43217,a.TAI),17),new o(new b(2443874,43218,a.TAI),18),new o(new b(2444239,43219,a.TAI),19),new o(new b(2444786,43220,a.TAI),20),new o(new b(2445151,43221,a.TAI),21),new o(new b(2445516,43222,a.TAI),22),new o(new b(2446247,43223,a.TAI),23),new o(new b(2447161,43224,a.TAI),24),new o(new b(2447892,43225,a.TAI),25),new o(new b(2448257,43226,a.TAI),26),new o(new b(2448804,43227,a.TAI),27),new o(new b(2449169,43228,a.TAI),28),new o(new b(2449534,43229,a.TAI),29),new o(new b(2450083,43230,a.TAI),30),new o(new b(2450630,43231,a.TAI),31),new o(new b(2451179,43232,a.TAI),32),new o(new b(2453736,43233,a.TAI),33),new o(new b(2454832,43234,a.TAI),34),new o(new b(2456109,43235,a.TAI),35)]),b}),define("Core/clone",["./defaultValue"],function(e){"use strict";var t=function(r,n){if(null===r||"object"!=typeof r)return r;n=e(n,!1);var i=new r.constructor;for(var o in r)if(r.hasOwnProperty(o)){var a=r[o];n&&(a=t(a,n)),i[o]=a}return i};return t}),define("Core/parseResponseHeaders",[],function(){"use strict";var e=function(e){var t={};if(!e)return t;for(var r=e.split("\r\n"),n=0;n0){var a=i.substring(0,o),s=i.substring(o+2);t[a]=s}}return t};return e}),define("Core/RequestErrorEvent",["./defined","./parseResponseHeaders"],function(e,t){"use strict";var r=function(e,r,n){this.statusCode=e,this.response=r,this.responseHeaders=n,"string"==typeof this.responseHeaders&&(this.responseHeaders=t(this.responseHeaders))};return r.prototype.toString=function(){var t="Request has failed.";return e(this.statusCode)&&(t+=" Status Code: "+this.statusCode),t},r}),function(e){"use strict";e("ThirdParty/when",[],function(){function e(e,r,n,i){return t(e).then(r,n,i)}function t(e){var t,r;return e instanceof n?t=e:s(e)?(r=a(),e.then(function(e){r.resolve(e)},function(e){r.reject(e)},function(e){r.progress(e)}),t=r.promise):t=i(e),t}function r(t){return e(t,o)}function n(e){this.then=e}function i(e){var r=new n(function(r){try{return t(r?r(e):e)}catch(n){return o(n)}});return r}function o(e){var r=new n(function(r,n){try{return n?t(n(e)):o(e)}catch(i){return o(i)}});return r}function a(){function e(e,t,r){return h(e,t,r)}function r(e){return m(e)}function i(e){return m(o(e))}function s(e){return d(e)}var u,l,c,f,h,d,m;return l=new n(e),u={then:e,resolve:r,reject:i,progress:s,promise:l,resolver:{resolve:r,reject:i,progress:s}},c=[],f=[],h=function(e,t,r){var n,i;return n=a(),i="function"==typeof r?function(e){try{n.progress(r(e))}catch(t){n.progress(t)}}:function(e){n.progress(e)},c.push(function(r){r.then(e,t).then(n.resolve,n.reject,i)}),f.push(i),n.promise},d=function(e){return p(f,e),e},m=function(e){return e=t(e),h=e.then,m=t,d=v,p(c,e),f=c=C,e},u}function s(e){return e&&"function"==typeof e.then}function u(t,r,n,i,o){return y(2,arguments),e(t,function(t){function s(e){p(e)}function u(e){m(e)}var l,c,f,h,d,m,p,y,g,E;if(g=t.length>>>0,l=Math.max(0,Math.min(r,g)),f=[],c=g-l+1,h=[],d=a(),l)for(y=d.progress,p=function(e){h.push(e),--c||(m=p=v,d.reject(h))},m=function(e){f.push(e),--l||(m=p=v,d.resolve(f))},E=0;g>E;++E)E in t&&e(t[E],u,s,y);else d.resolve(f);return d.then(n,i,o)})}function l(e,t,r,n){function i(e){return t?t(e[0]):e[0]}return u(e,1,i,r,n)}function c(e,t,r,n){return y(1,arguments),h(e,g).then(t,r,n)}function f(){return h(arguments,g)}function h(t,r){return e(t,function(t){var n,i,o,s,u,l;if(o=i=t.length>>>0,n=[],l=a(),o)for(s=function(t,i){e(t,r).then(function(e){n[i]=e,--o||l.resolve(n)},l.reject)},u=0;i>u;u++)u in t?s(t[u],u):--o;else l.resolve(n);return l.promise})}function d(t,r){var n=S.call(arguments,1);return e(t,function(t){var i;return i=t.length,n[0]=function(t,n,o){return e(t,function(t){return e(n,function(e){return r(t,e,o,i)})})},E.apply(t,n)})}function m(t,r,n){var i=arguments.length>2;return e(t,function(e){return e=i?n:e,r.resolve(e),e},function(e){return r.reject(e),o(e)},r.progress)}function p(e,t){for(var r,n=0;r=e[n++];)r(t)}function y(e,t){for(var r,n=t.length;n>e;)if(r=t[--n],null!=r&&"function"!=typeof r)throw new Error("arg "+n+" must be a function")}function v(){}function g(e){return e}var E,S,C;return e.defer=a,e.resolve=t,e.reject=r,e.join=f,e.all=c,e.map=h,e.reduce=d,e.any=l,e.some=u,e.chain=m,e.isPromise=s,n.prototype={always:function(e,t){return this.then(e,e,t)},otherwise:function(e){return this.then(C,e)},yield:function(e){return this.then(function(){return e})},spread:function(e){return this.then(function(t){return c(t,function(t){return e.apply(C,t)})})}},S=[].slice,E=[].reduce||function(e){var t,r,n,i,o;if(o=0,t=Object(this),i=t.length>>>0,r=arguments,r.length<=1)for(;;){if(o in t){n=t[o++];break}if(++o>=i)throw new TypeError}else n=r[1];for(;i>o;++o)o in t&&(n=e(n,t[o],o,t));return n},e})}("function"==typeof define&&define.amd?define:function(e){"object"==typeof exports?module.exports=e():this.when=e()}),define("Core/loadWithXhr",["./defined","./defaultValue","./DeveloperError","./RequestErrorEvent","../ThirdParty/when"],function(e,t,r,n,i){"use strict";var o=function(e){e=t(e,t.EMPTY_OBJECT);var r=e.responseType,n=t(e.method,"GET"),a=e.data,s=e.headers;return i(e.url,function(e){var t=i.defer();return o.load(e,r,n,a,s,t),t.promise})};return o.load=function(t,r,i,o,a,s){var u=new XMLHttpRequest;if(u.open(i,t,!0),e(a))for(var l in a)a.hasOwnProperty(l)&&u.setRequestHeader(l,a[l]);e(r)&&(u.responseType=r),u.onload=function(){200===u.status?s.resolve(u.response):s.reject(new n(u.status,u.response,u.getAllResponseHeaders()))},u.onerror=function(){s.reject(new n)},u.send(o)},o.defaultLoad=o.load,o}),define("Core/loadText",["./loadWithXhr"],function(e){"use strict";var t=function(t,r){return e({url:t,headers:r})};return t}),define("Core/loadJson",["./clone","./defined","./loadText","./DeveloperError"],function(e,t,r){"use strict";var n={Accept:"application/json,*/*;q=0.01"},i=function(i,o){return t(o)?t(o.Accept)||(o=e(o),o.Accept=n.Accept):o=n,r(i,o).then(function(e){return JSON.parse(e)})};return i}),define("Core/Iau2006XysData",["./buildModuleUrl","./defaultValue","./defined","./Iau2006XysSample","./JulianDate","./loadJson","./TimeStandard","../ThirdParty/when"],function(e,t,r,n,i,o,a,s){"use strict";function u(e,t,r){var n=f;return n._julianDayNumber=t,n._secondsOfDay=r,e._sampleZeroDateTT.getDaysDifference(n)}function l(t,n){if(t._chunkDownloadsInProgress[n])return t._chunkDownloadsInProgress[n];var i=s.defer();t._chunkDownloadsInProgress[n]=i;var a,u=t._xysFileUrlTemplate;return a=r(u)?u.replace("{0}",n):e("Assets/IAU2006_XYS/IAU2006_XYS_"+n+".json"),s(o(a),function(e){t._chunkDownloadsInProgress[n]=!1;for(var r=t._samples,o=e.samples,a=3*n*t._samplesPerXysFile,s=0,u=o.length;u>s;++s)r[a+s]=o[s];i.resolve()}),i.promise}var c=function(e){e=t(e,t.EMPTY_OBJECT),this._xysFileUrlTemplate=e.xysFileUrlTemplate,this._interpolationOrder=t(e.interpolationOrder,9),this._sampleZeroJulianEphemerisDate=t(e.sampleZeroJulianEphemerisDate,2442396.5),this._sampleZeroDateTT=new i(this._sampleZeroJulianEphemerisDate,0,a.TAI),this._stepSizeDays=t(e.stepSizeDays,1),this._samplesPerXysFile=t(e.samplesPerXysFile,1e3),this._totalSamples=t(e.totalSamples,27426),this._samples=new Array(3*this._totalSamples),this._chunkDownloadsInProgress=[];for(var r=this._interpolationOrder,n=this._denominators=new Array(r+1),o=this._xTable=new Array(r+1),s=Math.pow(this._stepSizeDays,r),u=0;r>=u;++u){n[u]=s,o[u]=u*this._stepSizeDays;for(var l=0;r>=l;++l)l!==u&&(n[u]*=u-l);n[u]=1/n[u]}this._work=new Array(r+1),this._coef=new Array(r+1)},f=new i(0,0,a.TAI);return c.prototype.preload=function(e,t,r,n){var i=u(this,e,t),o=u(this,r,n),a=0|i/this._stepSizeDays-this._interpolationOrder/2;0>a&&(a=0);var c=o/this._stepSizeDays-this._interpolationOrder/2|0+this._interpolationOrder;c>=this._totalSamples&&(c=this._totalSamples-1);for(var f=0|a/this._samplesPerXysFile,h=0|c/this._samplesPerXysFile,d=[],m=f;h>=m;++m)d.push(l(this,m));return s.all(d)},c.prototype.computeXysRadians=function(e,t,i){var o=u(this,e,t);if(0>o)return void 0;var a=0|o/this._stepSizeDays;if(a>=this._totalSamples)return void 0;var s=this._interpolationOrder,c=a-(0|s/2);0>c&&(c=0);var f=c+s;f>=this._totalSamples&&(f=this._totalSamples-1,c=f-s,0>c&&(c=0));var h=!1,d=this._samples;if(r(d[3*c])||(l(this,0|c/this._samplesPerXysFile),h=!0),r(d[3*f])||(l(this,0|f/this._samplesPerXysFile),h=!0),h)return void 0;r(i)?(i.x=0,i.y=0,i.s=0):i=new n(0,0,0);var m,p,y=o-c*this._stepSizeDays,v=this._work,g=this._denominators,E=this._coef,S=this._xTable;for(m=0;s>=m;++m)v[m]=y-S[m];for(m=0;s>=m;++m){for(E[m]=1,p=0;s>=p;++p)p!==m&&(E[m]*=v[p]);E[m]*=g[m];var C=3*(c+m);i.x+=E[m]*d[C++],i.y+=E[m]*d[C++],i.s+=E[m]*d[C]}return i},c}),define("Core/Cartesian2",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,t,r,n){"use strict";var i=function(t,r){this.x=e(t,0),this.y=e(r,0)};i.fromElements=function(e,r,n){return t(n)?(n.x=e,n.y=r,n):new i(e,r)},i.clone=function(e,r){return t(e)?t(r)?(r.x=e.x,r.y=e.y,r):new i(e.x,e.y):void 0},i.fromCartesian3=i.clone,i.fromCartesian4=i.clone,i.packedLength=2,i.pack=function(t,r,n){n=e(n,0),r[n++]=t.x,r[n]=t.y},i.unpack=function(r,n,o){return n=e(n,0),t(o)||(o=new i),o.x=r[n++],o.y=r[n],o},i.fromArray=i.unpack,i.getMaximumComponent=function(e){return Math.max(e.x,e.y)},i.getMinimumComponent=function(e){return Math.min(e.x,e.y)},i.getMinimumByComponent=function(e,r,n){return t(n)||(n=new i),n.x=Math.min(e.x,r.x),n.y=Math.min(e.y,r.y),n},i.getMaximumByComponent=function(e,r,n){return t(n)||(n=new i),n.x=Math.max(e.x,r.x),n.y=Math.max(e.y,r.y),n},i.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y},i.magnitude=function(e){return Math.sqrt(i.magnitudeSquared(e))};var o=new i;i.distance=function(e,t){return i.subtract(e,t,o),i.magnitude(o)},i.normalize=function(e,r){var n=i.magnitude(e);return t(r)?(r.x=e.x/n,r.y=e.y/n,r):new i(e.x/n,e.y/n)},i.dot=function(e,t){return e.x*t.x+e.y*t.y},i.multiplyComponents=function(e,r,n){return t(n)?(n.x=e.x*r.x,n.y=e.y*r.y,n):new i(e.x*r.x,e.y*r.y)},i.add=function(e,r,n){return t(n)?(n.x=e.x+r.x,n.y=e.y+r.y,n):new i(e.x+r.x,e.y+r.y)},i.subtract=function(e,r,n){return t(n)?(n.x=e.x-r.x,n.y=e.y-r.y,n):new i(e.x-r.x,e.y-r.y)},i.multiplyByScalar=function(e,r,n){return t(n)?(n.x=e.x*r,n.y=e.y*r,n):new i(e.x*r,e.y*r)},i.divideByScalar=function(e,r,n){return t(n)?(n.x=e.x/r,n.y=e.y/r,n):new i(e.x/r,e.y/r)},i.negate=function(e,r){return t(r)?(r.x=-e.x,r.y=-e.y,r):new i(-e.x,-e.y)},i.abs=function(e,r){return t(r)?(r.x=Math.abs(e.x),r.y=Math.abs(e.y),r):new i(Math.abs(e.x),Math.abs(e.y))};var a=new i;i.lerp=function(e,t,r,n){return i.multiplyByScalar(t,r,a),n=i.multiplyByScalar(e,1-r,n),i.add(a,n,n)};var s=new i,u=new i;i.angleBetween=function(e,t){return i.normalize(e,s),i.normalize(t,u),Math.acos(i.dot(s,u))};var l=new i;return i.mostOrthogonalAxis=function(e,t){var r=i.normalize(e,l);return i.abs(r,r),t=r.x<=r.y?i.clone(i.UNIT_X,t):i.clone(i.UNIT_Y,t)},i.equals=function(e,r){return e===r||t(e)&&t(r)&&e.x===r.x&&e.y===r.y},i.equalsEpsilon=function(e,r,n){return e===r||t(e)&&t(r)&&Math.abs(e.x-r.x)<=n&&Math.abs(e.y-r.y)<=n},i.ZERO=n(new i(0,0)),i.UNIT_X=n(new i(1,0)),i.UNIT_Y=n(new i(0,1)),i.prototype.clone=function(e){return i.clone(this,e)},i.prototype.equals=function(e){return i.equals(this,e)},i.prototype.equalsEpsilon=function(e,t){return i.equalsEpsilon(this,e,t)},i.prototype.toString=function(){return"("+this.x+", "+this.y+")"},i}),define("Core/EarthOrientationParametersSample",[],function(){"use strict";var e=function(e,t,r,n,i){this.xPoleWander=e,this.yPoleWander=t,this.xPoleOffset=r,this.yPoleOffset=n,this.ut1MinusUtc=i};return e}),define("Core/EarthOrientationParameters",["./binarySearch","./defaultValue","./defined","./EarthOrientationParametersSample","./freezeObject","./loadJson","./JulianDate","./LeapSecond","./RuntimeError","./TimeConstants","./TimeStandard","../ThirdParty/when"],function(e,t,r,n,i,o,a,s,u,l,c,f){"use strict";function h(e,t){return a.compare(e.julianDate,t)}function d(t,n){if(!r(n.columnNames))return t._dataError="Error in loaded EOP data: The columnNames property is required.",void 0;if(!r(n.samples))return t._dataError="Error in loaded EOP data: The samples property is required.",void 0;var i=n.columnNames.indexOf("modifiedJulianDateUtc"),o=n.columnNames.indexOf("xPoleWanderRadians"),u=n.columnNames.indexOf("yPoleWanderRadians"),f=n.columnNames.indexOf("ut1MinusUtcSeconds"),d=n.columnNames.indexOf("xCelestialPoleOffsetRadians"),m=n.columnNames.indexOf("yCelestialPoleOffsetRadians"),p=n.columnNames.indexOf("taiMinusUtcSeconds");if(0>i||0>o||0>u||0>f||0>d||0>m||0>p)return t._dataError="Error in loaded EOP data: The columnNames property must include modifiedJulianDateUtc, xPoleWanderRadians, yPoleWanderRadians, ut1MinusUtcSeconds, xCelestialPoleOffsetRadians, yCelestialPoleOffsetRadians, and taiMinusUtcSeconds columns",void 0;var y=t._samples=n.samples,v=t._dates=[];t._dateColumn=i,t._xPoleWanderRadiansColumn=o,t._yPoleWanderRadiansColumn=u,t._ut1MinusUtcSecondsColumn=f,t._xCelestialPoleOffsetRadiansColumn=d,t._yCelestialPoleOffsetRadiansColumn=m,t._taiMinusUtcSecondsColumn=p,t._columnCount=n.columnNames.length,t._lastIndex=void 0;for(var g,E=t._addNewLeapSeconds,S=0,C=y.length;C>S;S+=t._columnCount){var w=y[S+i],x=y[S+p],O=w+l.MODIFIED_JULIAN_DATE_DIFFERENCE,T=new a(O,x,c.TAI);if(v.push(T),E){if(x!==g&&r(g)){var A=s.getLeapSeconds(),M=e(A,T,h);if(0>M){var b=new s(T,x);A.splice(~M,0,b)}}g=x}}}function m(e,t,r,n,i){var o=r*n;i.xPoleWander=t[o+e._xPoleWanderRadiansColumn],i.yPoleWander=t[o+e._yPoleWanderRadiansColumn],i.xPoleOffset=t[o+e._xCelestialPoleOffsetRadiansColumn],i.yPoleOffset=t[o+e._yCelestialPoleOffsetRadiansColumn],i.ut1MinusUtc=t[o+e._ut1MinusUtcSecondsColumn]}function p(e,t,r){return t+e*(r-t)}function y(e,t,r,n,i,o,a){var s=e._columnCount;if(o>t.length-1)return a.xPoleWander=0,a.yPoleWander=0,a.xPoleOffset=0,a.yPoleOffset=0,a.ut1MinusUtc=0,a;var u=t[i],l=t[o];if(u.equals(l)||n.equals(u))return m(e,r,i,s,a),a;if(n.equals(l))return m(e,r,o,s,a),a;var c=u.getSecondsDifference(n)/u.getSecondsDifference(l),f=i*s,h=o*s,d=r[f+e._ut1MinusUtcSecondsColumn],y=r[h+e._ut1MinusUtcSecondsColumn],v=y-d;if(v>.5||-.5>v){var g=r[f+e._taiMinusUtcSecondsColumn],E=r[h+e._taiMinusUtcSecondsColumn];g!==E&&(l.equals(n)?d=y:y-=E-g)}return a.xPoleWander=p(c,r[f+e._xPoleWanderRadiansColumn],r[h+e._xPoleWanderRadiansColumn]),a.yPoleWander=p(c,r[f+e._yPoleWanderRadiansColumn],r[h+e._yPoleWanderRadiansColumn]),a.xPoleOffset=p(c,r[f+e._xCelestialPoleOffsetRadiansColumn],r[h+e._xCelestialPoleOffsetRadiansColumn]),a.yPoleOffset=p(c,r[f+e._yCelestialPoleOffsetRadiansColumn],r[h+e._yCelestialPoleOffsetRadiansColumn]),a.ut1MinusUtc=p(c,d,y),a}var v=function(e){if(e=t(e,t.EMPTY_OBJECT),this._dates=void 0,this._samples=void 0,this._dateColumn=-1,this._xPoleWanderRadiansColumn=-1,this._yPoleWanderRadiansColumn=-1,this._ut1MinusUtcSecondsColumn=-1,this._xCelestialPoleOffsetRadiansColumn=-1,this._yCelestialPoleOffsetRadiansColumn=-1,this._taiMinusUtcSecondsColumn=-1,this._columnCount=0,this._lastIndex=-1,this._downloadPromise=void 0,this._dataError=void 0,this._addNewLeapSeconds=t(e.addNewLeapSeconds,!0),r(e.data))d(this,e.data);else if(r(e.url)){var n=this;this._downloadPromise=f(o(e.url),function(e){d(n,e)},function(){n._dataError="An error occurred while retrieving the EOP data from the URL "+e.url+"."})}else d(this,{columnNames:["dateIso8601","modifiedJulianDateUtc","xPoleWanderRadians","yPoleWanderRadians","ut1MinusUtcSeconds","lengthOfDayCorrectionSeconds","xCelestialPoleOffsetRadians","yCelestialPoleOffsetRadians","taiMinusUtcSeconds"],samples:[]})};return v.NONE=i({getPromiseToLoad:function(){return f()},compute:function(e,t){return r(t)?(t.xPoleWander=0,t.yPoleWander=0,t.xPoleOffset=0,t.yPoleOffset=0,t.ut1MinusUtc=0):t=new n(0,0,0,0,0),t}}),v.prototype.getPromiseToLoad=function(){return f(this._downloadPromise)},v.prototype.compute=function(t,i){if(!r(this._samples)){if(r(this._dataError))throw new u(this._dataError);return void 0}if(r(i)||(i=new n(0,0,0,0,0)),0===this._samples.length)return i.xPoleWander=0,i.yPoleWander=0,i.xPoleOffset=0,i.yPoleOffset=0,i.ut1MinusUtc=0,i;var o=this._dates,s=this._lastIndex,l=0,c=0;if(r(s)){var f=o[s],h=o[s+1],d=f.lessThanOrEquals(t),m=!r(h),p=m||h.greaterThanOrEquals(t);if(d&&p)return l=s,!m&&h.equals(t)&&++l,c=l+1,y(this,o,this._samples,t,l,c,i),i}var v=e(o,t,a.compare,this._dateColumn);return v>=0?(vl&&(l=0)),this._lastIndex=l,y(this,o,this._samples,t,l,c,i),i},v}),define("Core/Transforms",["./defaultValue","./defined","./DeveloperError","./Iau2006XysData","./Iau2006XysSample","./Math","./Matrix3","./Matrix4","./Cartesian2","./Cartesian3","./Cartesian4","./TimeConstants","./Ellipsoid","./EarthOrientationParameters","./EarthOrientationParametersSample","../ThirdParty/when"],function(e,t,r,n,i,o,a,s,u,l,c,f,h,d,m,p){"use strict";var y={},v=new l,g=new l,E=new l;y.eastNorthUpToFixedFrame=function(r,n,i){if(o.equalsEpsilon(r.x,0,o.EPSILON14)&&o.equalsEpsilon(r.y,0,o.EPSILON14)){var a=o.sign(r.z);return t(i)?(i[0]=0,i[1]=1,i[2]=0,i[3]=0,i[4]=-a,i[5]=0,i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=a,i[11]=0,i[12]=r.x,i[13]=r.y,i[14]=r.z,i[15]=1,i):new s(0,-a,0,r.x,1,0,0,r.y,0,0,a,r.z,0,0,0,1)}var u=v,c=g,f=E;return n=e(n,h.WGS84),n.geodeticSurfaceNormal(r,u),c.x=-r.y,c.y=r.x,c.z=0,l.normalize(c,c),l.cross(u,c,f),t(i)?(i[0]=c.x,i[1]=c.y,i[2]=c.z,i[3]=0,i[4]=f.x,i[5]=f.y,i[6]=f.z,i[7]=0,i[8]=u.x,i[9]=u.y,i[10]=u.z,i[11]=0,i[12]=r.x,i[13]=r.y,i[14]=r.z,i[15]=1,i):new s(c.x,f.x,u.x,r.x,c.y,f.y,u.y,r.y,c.z,f.z,u.z,r.z,0,0,0,1)};var S=new l,C=new l,w=new l;y.northEastDownToFixedFrame=function(r,n,i){if(o.equalsEpsilon(r.x,0,o.EPSILON14)&&o.equalsEpsilon(r.y,0,o.EPSILON14)){var a=o.sign(r.z);return t(i)?(i[0]=-a,i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=1,i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=-a,i[11]=0,i[12]=r.x,i[13]=r.y,i[14]=r.z,i[15]=1,i):new s(-a,0,0,r.x,0,1,0,r.y,0,0,-a,r.z,0,0,0,1)}var u=S,c=C,f=w;return n=e(n,h.WGS84),n.geodeticSurfaceNormal(r,u),c.x=-r.y,c.y=r.x,c.z=0,l.normalize(c,c),l.cross(u,c,f),t(i)?(i[0]=f.x,i[1]=f.y,i[2]=f.z,i[3]=0,i[4]=c.x,i[5]=c.y,i[6]=c.z,i[7]=0,i[8]=-u.x,i[9]=-u.y,i[10]=-u.z,i[11]=0,i[12]=r.x,i[13]=r.y,i[14]=r.z,i[15]=1,i):new s(f.x,c.x,-u.x,r.x,f.y,c.y,-u.y,r.y,f.z,c.z,-u.z,r.z,0,0,0,1)};var x=24110.54841,O=8640184.812866,T=.093104,A=-62e-7,M=1.1772758384668e-19,b=72921158553e-15,D=o.TWO_PI/86400;y.computeTemeToPseudoFixedMatrix=function(e,r){var n,i=e.addSeconds(-e.getTaiMinusUtc()),s=i.getJulianDayNumber(),u=i.getSecondsOfDay(),l=s-2451545;n=u>=43200?(l+.5)/f.DAYS_PER_JULIAN_CENTURY:(l-.5)/f.DAYS_PER_JULIAN_CENTURY;var c=x+n*(O+n*(T+n*A)),h=c*D%o.TWO_PI,d=b+M*(s-2451545.5),m=(u+.5*f.SECONDS_PER_DAY)%f.SECONDS_PER_DAY,p=h+d*m,y=Math.cos(p),v=Math.sin(p);return t(r)?(r[0]=y,r[1]=-v,r[2]=0,r[3]=v,r[4]=y,r[5]=0,r[6]=0,r[7]=0,r[8]=1,r):new a(y,v,0,-v,y,0,0,0,1)},y.iau2006XysData=new n,y.earthOrientationParameters=d.NONE;var I=32.184,_=2451545;y.preloadIcrfFixed=function(e){var t=e.start.getJulianDayNumber(),r=e.start.getSecondsOfDay()+I,n=e.stop.getJulianDayNumber(),i=e.stop.getSecondsOfDay()+I,o=y.iau2006XysData.preload(t,r,n,i),a=y.earthOrientationParameters.getPromiseToLoad();return p.all([o,a])},y.computeIcrfToFixedMatrix=function(e,r){var n=y.computeFixedToIcrfMatrix(e,r);return t(n)?a.transpose(n,r):void 0};var N=new i(0,0,0),P=new m(0,0,0,0,0,0),R=new a,z=new a;y.computeFixedToIcrfMatrix=function(e,r){var n=y.earthOrientationParameters.compute(e,P);if(!t(n))return void 0;var i=e.getJulianDayNumber(),s=e.getSecondsOfDay()+I,u=y.iau2006XysData.computeXysRadians(i,s,N);if(!t(u))return void 0;var l=u.x+n.xPoleOffset,c=u.y+n.yPoleOffset,h=1/(1+Math.sqrt(1-l*l-c*c)),d=R;d[0]=1-h*l*l,d[3]=-h*l*c,d[6]=l,d[1]=-h*l*c,d[4]=1-h*c*c,d[7]=c,d[2]=-l,d[5]=-c,d[8]=1-h*(l*l+c*c);var m=a.fromRotationZ(-u.s,z),p=a.multiply(d,m,R),v=e.getJulianDayNumber(),g=e.getSecondsOfDay()-e.getTaiMinusUtc()+n.ut1MinusUtc,E=v-2451545,S=g/f.SECONDS_PER_DAY,C=.779057273264+S+.00273781191135448*(E+S);C=C%1*o.TWO_PI;var w=a.fromRotationZ(C,z),x=a.multiply(p,w,R),O=Math.cos(n.xPoleWander),T=Math.cos(n.yPoleWander),A=Math.sin(n.xPoleWander),M=Math.sin(n.yPoleWander),b=i-_+s/f.SECONDS_PER_DAY;b/=36525;var D=-47e-6*b*o.RADIANS_PER_DEGREE/3600,L=Math.cos(D),F=Math.sin(D),U=z;return U[0]=O*L,U[1]=O*F,U[2]=A,U[3]=-T*F+M*A*L,U[4]=T*L+M*A*F,U[5]=-M*O,U[6]=-M*F-T*A*L,U[7]=M*L-T*A*F,U[8]=T*O,a.multiply(x,U,r)};var L=new c;return y.pointToWindowCoordinates=function(e,t,r,n){var i=L;return s.multiplyByVector(e,c.fromElements(r.x,r.y,r.z,1,i),i),c.multiplyByScalar(i,1/i.w,i),s.multiplyByVector(t,i,i),u.fromCartesian4(i,n)},y}),define("Core/AxisAlignedBoundingBox",["./defaultValue","./defined","./DeveloperError","./Cartesian3","./Intersect"],function(e,t,r,n,i){"use strict";var o=function(r,i,o){this.minimum=n.clone(e(r,n.ZERO)),this.maximum=n.clone(e(i,n.ZERO)),t(o)?o=n.clone(o):(o=n.add(this.minimum,this.maximum),n.multiplyByScalar(o,.5,o)),this.center=o};o.fromPoints=function(e,r){if(t(r)||(r=new o),!t(e)||0===e.length)return r.minimum=n.clone(n.ZERO,r.minimum),r.maximum=n.clone(n.ZERO,r.maximum),r.center=n.clone(n.ZERO,r.center),r;for(var i=e[0].x,a=e[0].y,s=e[0].z,u=e[0].x,l=e[0].y,c=e[0].z,f=e.length,h=1;f>h;h++){var d=e[h],m=d.x,p=d.y,y=d.z;i=Math.min(m,i),u=Math.max(m,u),a=Math.min(p,a),l=Math.max(p,l),s=Math.min(y,s),c=Math.max(y,c)}var v=r.minimum;v.x=i,v.y=a,v.z=s;var g=r.maximum;g.x=u,g.y=l,g.z=c;var E=n.add(v,g,r.center);return n.multiplyByScalar(E,.5,E),r},o.clone=function(e,r){return t(e)?t(r)?(r.minimum=n.clone(e.minimum,r.minimum),r.maximum=n.clone(e.maximum,r.maximum),r.center=n.clone(e.center,r.center),r):new o(e.minimum,e.maximum):void 0},o.equals=function(e,r){return e===r||t(e)&&t(r)&&n.equals(e.center,r.center)&&n.equals(e.minimum,r.minimum)&&n.equals(e.maximum,r.maximum)};var a=new n;return o.intersect=function(e,t){a=n.subtract(e.maximum,e.minimum,a);var r=n.multiplyByScalar(a,.5,a),o=r.x*Math.abs(t.x)+r.y*Math.abs(t.y)+r.z*Math.abs(t.z),s=n.dot(e.center,t)+t.w;return s-o>0?i.INSIDE:0>s+o?i.OUTSIDE:i.INTERSECTING},o.prototype.clone=function(e){return o.clone(this,e)},o.prototype.intersect=function(e){return o.intersect(this,e)},o.prototype.equals=function(e){return o.equals(this,e)},o}),define("Core/QuadraticRealPolynomial",["./DeveloperError","./Math"],function(e,t){"use strict";function r(e,r,n){var i=e+r;return t.sign(e)!==t.sign(r)&&Math.abs(i/Math.max(Math.abs(e),Math.abs(r)))a&&a/ss&&s/ao)return[];var u=Math.sqrt(o);return[-u,u]}if(0===i)return o=-n/e,0>o?[o,0]:[0,o];var l=n*n,c=4*e*i,f=r(l,-c,t.EPSILON14);if(0>f)return[];var h=-.5*r(n,t.sign(n)*Math.sqrt(f),t.EPSILON14);return n>0?[h/e,i/h]:[i/h,h/e]},n}),define("Core/CubicRealPolynomial",["./DeveloperError","./QuadraticRealPolynomial"],function(e,t){"use strict";function r(e,t,r,n){var i,o,a=e,s=t/3,u=r/3,l=n,c=a*u,f=s*l,h=s*s,d=u*u,m=a*u-h,p=a*l-s*u,y=s*l-d,v=4*m*y-p*p;if(0>v){var g,E,S;h*f>=c*d?(g=a,E=m,S=-2*s*m+a*p):(g=l,E=y,S=-l*p+2*u*y);var C=0>S?-1:1,w=-C*Math.abs(g)*Math.sqrt(-v);o=-S+w;var x=o/2,O=0>x?-Math.pow(-x,1/3):Math.pow(x,1/3),T=o===w?-O:-E/O;return i=0>=E?O+T:-S/(O*O+T*T+E),h*f>=c*d?[(i-s)/a]:[-l/(i+u)]}var A=m,M=-2*s*m+a*p,b=y,D=-l*p+2*u*y,I=Math.sqrt(v),_=Math.sqrt(3)/2,N=Math.abs(Math.atan2(a*I,-M)/3);i=2*Math.sqrt(-A);var P=Math.cos(N);o=i*P;var R=i*(-P/2-_*Math.sin(N)),z=o+R>2*s?o-s:R-s,L=a,F=z/L;N=Math.abs(Math.atan2(l*I,-D)/3),i=2*Math.sqrt(-b),P=Math.cos(N),o=i*P,R=i*(-P/2-_*Math.sin(N));var U=-l,B=2*u>o+R?o+u:R+u,q=U/B,G=L*B,W=-z*B-L*U,Y=z*U,H=(u*W-s*Y)/(-s*W+u*G);return H>=F?q>=F?q>=H?[F,H,q]:[F,q,H]:[q,F,H]:q>=F?[H,F,q]:q>=H?[H,q,F]:[q,H,F]}var n={};return n.discriminant=function(e,t,r,n){var i=e*e,o=t*t,a=r*r,s=n*n,u=18*e*t*r*n+o*a-27*i*s-4*(e*a*r+o*t*n);return u},n.realRoots=function(e,n,i,o){var a,s;if(0===e)return t.realRoots(n,i,o);if(0===n){if(0===i){if(0===o)return[0,0,0];s=-o/e;var u=0>s?-Math.pow(-s,1/3):Math.pow(s,1/3);return[u,u,u]}return 0===o?(a=t.realRoots(e,0,i),0===a.Length?[0]:[a[0],0,a[1]]):r(e,0,i,o)}return 0===i?0===o?(s=-n/e,0>s?[s,0,0]:[0,0,s]):r(e,n,0,o):0===o?(a=t.realRoots(e,n,i),0===a.length?[0]:a[1]<=0?[a[0],a[1],0]:a[0]>=0?[0,a[0],a[1]]:[a[0],0,a[1]]):r(e,n,i,o)},n}),define("Core/QuarticRealPolynomial",["./DeveloperError","./Math","./CubicRealPolynomial","./QuadraticRealPolynomial"],function(e,t,r,n){"use strict";function i(e,i,o,a){var s=e*e,u=i-3*s/8,l=o-i*e/2+s*e/8,c=a-o*e/4+i*s/16-3*s*s/256,f=r.realRoots(1,2*u,u*u-4*c,-l*l);if(f.length>0){var h=-e/4,d=f[f.length-1];if(Math.abs(d)=0&&v>=0){var g=Math.sqrt(y),E=Math.sqrt(v);return[h-E,h-g,h+g,h+E]}if(y>=0&&0>v)return p=Math.sqrt(y),[h-p,h+p];if(0>y&&v>=0)return p=Math.sqrt(v),[h-p,h+p]}return[]}if(d>0){var S=Math.sqrt(d),C=(u+d-l/S)/2,w=(u+d+l/S)/2,x=n.realRoots(1,S,C),O=n.realRoots(1,-S,w);return 0!==x.length?(x[0]+=h,x[1]+=h,0!==O.length?(O[0]+=h,O[1]+=h,x[1]<=O[0]?[x[0],x[1],O[0],O[1]]:O[1]<=x[0]?[O[0],O[1],x[0],x[1]]:x[0]>=O[0]&&x[1]<=O[1]?[O[0],x[0],x[1],O[1]]:O[0]>=x[0]&&O[1]<=x[1]?[x[0],O[0],O[1],x[1]]:x[0]>O[0]&&x[0]0){var m,p,y=d[0],v=i-y,g=v*v,E=e/2,S=v/2,C=g-4*a,w=g+4*Math.abs(a),x=l-4*y,O=l+4*Math.abs(y);if(0>y||x*w>C*O){var T=Math.sqrt(x);m=T/2,p=0===T?0:(e*S-o)/T}else{var A=Math.sqrt(C);m=0===A?0:(e*S-o)/A,p=A/2}var M,b;0===E&&0===m?(M=0,b=0):t.sign(E)===t.sign(m)?(M=E+m,b=y/M):(b=E-m,M=y/b);var D,I;0===S&&0===p?(D=0,I=0):t.sign(S)===t.sign(p)?(D=S+p,I=a/D):(I=S-p,D=a/I);var _=n.realRoots(1,M,D),N=n.realRoots(1,b,I);if(0!==_.length)return 0!==N.length?_[1]<=N[0]?[_[0],_[1],N[0],N[1]]:N[1]<=_[0]?[N[0],N[1],_[0],_[1]]:_[0]>=N[0]&&_[1]<=N[1]?[N[0],_[0],_[1],N[1]]:N[0]>=_[0]&&N[1]<=_[1]?[_[0],N[0],N[1],_[1]]:_[0]>N[0]&&_[0]l?1:0;switch(d+=0>c?d+1:d,d+=0>f?d+1:d,d+=0>h?d+1:d){case 0:return i(l,c,f,h);case 1:return o(l,c,f,h);case 2:return o(l,c,f,h);case 3:return i(l,c,f,h);case 4:return i(l,c,f,h);case 5:return o(l,c,f,h);case 6:return i(l,c,f,h);case 7:return i(l,c,f,h);case 8:return o(l,c,f,h);case 9:return i(l,c,f,h);case 10:return i(l,c,f,h);case 11:return o(l,c,f,h);case 12:return i(l,c,f,h);case 13:return i(l,c,f,h);case 14:return i(l,c,f,h);case 15:return i(l,c,f,h);default:return void 0}},a}),define("Core/IntersectionTests",["./defined","./DeveloperError","./Math","./Cartesian3","./Cartographic","./Matrix3","./QuadraticRealPolynomial","./QuarticRealPolynomial"],function(e,t,r,n,i,o,a,s){"use strict";function u(e,t,n){var i=e+t;return r.sign(e)!==r.sign(t)&&Math.abs(i/Math.max(Math.abs(e),Math.abs(t)))R;++R){var z,L=f[R],F=L*L,U=Math.max(1-F,0),B=Math.sqrt(U);z=r.sign(m)===r.sign(y)?u(m*F+y,p*L,r.EPSILON12):r.sign(y)===r.sign(p*L)?u(m*F,p*L+y,r.EPSILON12):u(m*F+p*L,y,r.EPSILON12);var q=u(v*L,g,r.EPSILON15),G=z*q;0>G?E.push(new n(l,c*L,c*B)):G>0?E.push(new n(l,c*L,c*-B)):0!==B?(E.push(new n(l,c*L,c*-B)),E.push(new n(l,c*L,c*B)),++R):E.push(new n(l,c*L,c*B))}return E}var c={};c.rayPlane=function(e,t,i){var o=e.origin,a=e.direction,s=t.normal,u=n.dot(s,a);if(Math.abs(u)l?void 0:(i=n.multiplyByScalar(a,l,i),n.add(o,i,i))};var f=new n,h=new n;c.rayEllipsoid=function(e,t){var r,i,o,a,s,u=t.oneOverRadii,l=n.multiplyComponents(u,e.origin,f),c=n.multiplyComponents(u,e.direction,h),d=n.magnitudeSquared(l),m=n.dot(l,c);if(d>1){if(m>=0)return void 0;var p=m*m;if(r=d-1,i=n.magnitudeSquared(c),o=i*r,o>p)return void 0;if(p>o){a=m*m-o,s=-m+Math.sqrt(a);var y=s/i,v=r/s;return v>y?{start:y,stop:v}:{start:v,stop:y}}var g=Math.sqrt(r/i);return{start:g,stop:g}}return 1>d?(r=d-1,i=n.magnitudeSquared(c),o=i*r,a=m*m-o,s=-m+Math.sqrt(a),{start:0,stop:s/i}):0>m?(i=n.magnitudeSquared(c),{start:0,stop:-m/i}):void 0},c.grazingAltitudeLocation=function(t,a){var s=t.origin,u=t.direction,c=a.geodeticSurfaceNormal(s);if(n.dot(u,c)>=0)return s;var f,h,d=e(this.rayEllipsoid(t,a)),m=a.transformPositionToScaledSpace(u),p=n.normalize(m),y=n.mostOrthogonalAxis(m),v=n.normalize(n.cross(y,p)),g=n.normalize(n.cross(p,v)),E=new o(p.x,v.x,g.x,p.y,v.y,g.y,p.z,v.z,g.z),S=o.transpose(E),C=o.fromScale(a.radii),w=o.fromScale(a.oneOverRadii),x=new o(0,u.z,-u.y,-u.z,0,u.x,u.y,-u.x,0),O=o.multiply(o.multiply(S,w),x),T=o.multiply(o.multiply(O,C),E),A=o.multiplyByVector(O,s),M=l(T,n.negate(A),0,0,1),b=M.length;if(b>0){for(var D=n.ZERO,I=Number.NEGATIVE_INFINITY,_=0;b>_;++_){f=o.multiplyByVector(C,o.multiplyByVector(E,M[_]));var N=n.normalize(n.subtract(f,s)),P=n.dot(N,u);P>I&&(I=P,D=f)}var R=a.cartesianToCartographic(D);return I=r.clamp(I,0,1),h=n.magnitude(n.subtract(D,s))*Math.sqrt(1-I*I),h=d?-h:h,a.cartographicToCartesian(new i(R.longitude,R.latitude,h))}return void 0};var d=new n;return c.lineSegmentPlane=function(t,i,o,a){var s=n.subtract(i,t,d),u=o.normal,l=n.dot(u,s);if(Math.abs(l)f||f>1?void 0:(e(a)||(a=new n),n.multiplyByScalar(s,f,a),n.add(t,a,a),a)},c.trianglePlaneIntersection=function(e,t,r,i){var o=i.normal,a=i.distance,s=n.dot(o,e)+a<0,u=n.dot(o,t)+a<0,l=n.dot(o,r)+a<0,f=0;f+=s?1:0,f+=u?1:0,f+=l?1:0;var h,d;if((1===f||2===f)&&(h=new n,d=new n),1===f){if(s)return c.lineSegmentPlane(e,t,i,h),c.lineSegmentPlane(e,r,i,d),{positions:[e,t,r,h,d],indices:[0,3,4,1,2,4,1,4,3]};if(u)return c.lineSegmentPlane(t,r,i,h),c.lineSegmentPlane(t,e,i,d),{positions:[e,t,r,h,d],indices:[1,3,4,2,0,4,2,4,3]}; +if(l)return c.lineSegmentPlane(r,e,i,h),c.lineSegmentPlane(r,t,i,d),{positions:[e,t,r,h,d],indices:[2,3,4,0,1,4,0,4,3]}}else if(2===f){if(!s)return c.lineSegmentPlane(t,e,i,h),c.lineSegmentPlane(r,e,i,d),{positions:[e,t,r,h,d],indices:[1,2,4,1,4,3,0,3,4]};if(!u)return c.lineSegmentPlane(r,t,i,h),c.lineSegmentPlane(e,t,i,d),{positions:[e,t,r,h,d],indices:[2,0,4,2,4,3,1,3,4]};if(!l)return c.lineSegmentPlane(e,r,i,h),c.lineSegmentPlane(t,r,i,d),{positions:[e,t,r,h,d],indices:[0,1,4,0,4,3,2,3,4]}}return void 0},c}),define("Core/Ray",["./DeveloperError","./defaultValue","./Cartesian3"],function(e,t,r){"use strict";var n=function(e,n){n=r.clone(t(n,r.ZERO)),r.equals(n,r.ZERO)||r.normalize(n,n),this.origin=r.clone(t(e,r.ZERO)),this.direction=n};return n.prototype.getPoint=function(e,t){return t=r.multiplyByScalar(this.direction,e,t),r.add(this.origin,t,t)},n}),define("Core/Plane",["./Cartesian3","./defined","./DeveloperError"],function(e,t){"use strict";var r=function(t,r){this.normal=e.clone(t),this.distance=r};return r.fromPointNormal=function(n,i,o){var a=-e.dot(i,n);return t(o)?(e.clone(i,o.normal),o.distance=a,o):new r(i,a)},r.getPointDistance=function(t,r){return e.dot(t.normal,r)+t.distance},r.prototype.getPointDistance=function(e){return r.getPointDistance(this,e)},r}),define("Core/EllipsoidTangentPlane",["./defaultValue","./defined","./defineProperties","./DeveloperError","./Transforms","./AxisAlignedBoundingBox","./IntersectionTests","./Cartesian2","./Cartesian3","./Ellipsoid","./Matrix4","./Ray","./Plane"],function(e,t,r,n,i,o,a,s,u,l,c,f,h){"use strict";var d=function(t,r){r=e(r,l.WGS84),t=r.scaleToGeodeticSurface(t);var n=i.eastNorthUpToFixedFrame(t,r);this._ellipsoid=r,this._origin=u.clone(t),this._xAxis=u.fromCartesian4(c.getColumn(n,0)),this._yAxis=u.fromCartesian4(c.getColumn(n,1));var o=u.fromCartesian4(c.getColumn(n,2));this._plane=h.fromPointNormal(t,o)};r(d.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},origin:{get:function(){return this._origin}}});var m=new o;d.fromPoints=function(e,t){var r=o.fromPoints(e,m);return new d(r.center,t)};var p=new f,y=new u;d.prototype.projectPointOntoPlane=function(e,r){var n=p;n.origin=e,u.normalize(e,n.direction);var i=a.rayPlane(n,this._plane,y);if(t(i)||(u.negate(n.direction,n.direction),i=a.rayPlane(n,this._plane,y)),t(i)){var o=u.subtract(i,this._origin,i),l=u.dot(this._xAxis,o),c=u.dot(this._yAxis,o);return t(r)?(r.x=l,r.y=c,r):new s(l,c)}return void 0},d.prototype.projectPointsOntoPlane=function(e,r){t(r)||(r=[]);for(var n=0,i=e.length,o=0;i>o;o++){var a=this.projectPointOntoPlane(e[o],r[n]);t(a)&&(r[n]=a,n++)}return r.length=n,r};var v=new u;return d.prototype.projectPointsOntoEllipsoid=function(e,r){var n=e.length;t(r)?r.length=n:r=new Array(n);for(var i=this._ellipsoid,o=this._origin,a=this._xAxis,s=this._yAxis,l=v,c=0;n>c;++c){var f=e[c];u.multiplyByScalar(a,f.x,l);var h=r[c]=u.add(o,l,r[c]);u.multiplyByScalar(s,f.y,l),u.add(h,l,h),i.scaleToGeocentricSurface(h,h)}return r},d}),define("Core/Geometry",["./defaultValue","./defined","./DeveloperError"],function(e,t,r){"use strict";var n=function(t){t=e(t,e.EMPTY_OBJECT),this.attributes=t.attributes,this.indices=t.indices,this.primitiveType=t.primitiveType,this.boundingSphere=t.boundingSphere};return n.computeNumberOfVertices=function(e){var n=-1;for(var i in e.attributes)if(e.attributes.hasOwnProperty(i)&&t(e.attributes[i])&&t(e.attributes[i].values)){var o=e.attributes[i],a=o.values.length/o.componentsPerAttribute;if(n!==a&&-1!==n)throw new r("All attribute lists must have the same number of attributes.");n=a}return n},n}),define("Core/GeometryAttribute",["./defaultValue","./defined","./DeveloperError"],function(e){"use strict";var t=function(t){t=e(t,e.EMPTY_OBJECT),this.componentDatatype=t.componentDatatype,this.componentsPerAttribute=t.componentsPerAttribute,this.normalize=e(t.normalize,!1),this.values=t.values};return t}),define("Core/GeometryAttributes",["./defaultValue"],function(e){"use strict";var t=function(t){t=e(t,e.EMPTY_OBJECT),this.position=t.position,this.normal=t.normal,this.st=t.st,this.binormal=t.binormal,this.tangent=t.tangent,this.color=t.color};return t}),define("Core/GeometryInstance",["./defaultValue","./defined","./DeveloperError","./Matrix4"],function(e,t,r,n){"use strict";var i=function(t){t=e(t,e.EMPTY_OBJECT),this.geometry=t.geometry,this.modelMatrix=n.clone(e(t.modelMatrix,n.IDENTITY)),this.id=t.id,this.pickPrimitive=t.pickPrimitive,this.attributes=e(t.attributes,{})};return i}),define("Core/barycentricCoordinates",["./Cartesian2","./Cartesian3","./defined","./DeveloperError"],function(e,t,r){"use strict";var n=new t,i=new t,o=new t,a=function(a,s,u,l,c){r(c)||(c=new t);var f,h,d,m,p,y,v,g;r(s.z)?(f=t.subtract(u,s,n),h=t.subtract(l,s,i),d=t.subtract(a,s,o),m=t.dot(f,f),p=t.dot(f,h),y=t.dot(f,d),v=t.dot(h,h),g=t.dot(h,d)):(f=e.subtract(u,s,n),h=e.subtract(l,s,i),d=e.subtract(a,s,o),m=e.dot(f,f),p=e.dot(f,h),y=e.dot(f,d),v=e.dot(h,h),g=e.dot(h,d));var E=1/(m*v-p*p);return c.y=(v*y-p*g)*E,c.z=(m*g-p*y)*E,c.x=1-c.y-c.z,c};return a}),define("Core/EncodedCartesian3",["./Cartesian3","./defined","./DeveloperError"],function(e,t){"use strict";var r=function(){this.high=e.clone(e.ZERO),this.low=e.clone(e.ZERO)};r.encode=function(e,r){t(r)||(r={high:0,low:0});var n;return e>=0?(n=65536*Math.floor(e/65536),r.high=n,r.low=e-n):(n=65536*Math.floor(-e/65536),r.high=-n,r.low=e+n),r};var n={high:0,low:0};r.fromCartesian=function(e,i){t(i)||(i=new r);var o=i.high,a=i.low;return r.encode(e.x,n),o.x=n.high,a.x=n.low,r.encode(e.y,n),o.y=n.high,a.y=n.low,r.encode(e.z,n),o.z=n.high,a.z=n.low,i};var i=new r;return r.writeElements=function(e,t,n){r.fromCartesian(e,i);var o=i.high,a=i.low;t[n]=o.x,t[n+1]=o.y,t[n+2]=o.z,t[n+3]=a.x,t[n+4]=a.y,t[n+5]=a.z},r}),define("Core/IndexDatatype",["./defined","./DeveloperError","./Math"],function(e,t,r){"use strict";var n={UNSIGNED_BYTE:5121,UNSIGNED_SHORT:5123,UNSIGNED_INT:5125};return n.getSizeInBytes=function(e){switch(e){case n.UNSIGNED_BYTE:return Uint8Array.BYTES_PER_ELEMENT;case n.UNSIGNED_SHORT:return Uint16Array.BYTES_PER_ELEMENT;case n.UNSIGNED_INT:return Uint32Array.BYTES_PER_ELEMENT}},n.validate=function(t){return e(t)&&(t===n.UNSIGNED_BYTE||t===n.UNSIGNED_SHORT||t===n.UNSIGNED_INT)},n.createTypedArray=function(e,t){return e>r.SIXTY_FOUR_KILOBYTES?new Uint32Array(t):new Uint16Array(t)},n}),define("Core/PrimitiveType",[],function(){"use strict";var e={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,validate:function(t){return t===e.POINTS||t===e.LINES||t===e.LINE_LOOP||t===e.LINE_STRIP||t===e.TRIANGLES||t===e.TRIANGLE_STRIP||t===e.TRIANGLE_FAN}};return e}),define("Core/Tipsify",["./defaultValue","./defined","./DeveloperError"],function(e,t){"use strict";var r={};return r.calculateACMR=function(r){r=e(r,e.EMPTY_OBJECT);var n=r.indices,i=r.maximumIndex,o=e(r.cacheSize,24),a=n.length;if(!t(i)){i=0;for(var s=0,u=n[s];a>s;)u>i&&(i=u),++s,u=n[s]}for(var l=[],c=0;i+1>c;c++)l[c]=0;for(var f=o+1,h=0;a>h;++h)f-l[n[h]]>o&&(l[n[h]]=f,++f);return(f-o+1)/(a/3)},r.tipsify=function(r){function n(e,t,r,n){for(;t.length>=1;){var i=t[t.length-1];if(t.splice(t.length-1,1),e[i].numLiveTriangles>0)return i}for(;n>o;){if(e[o].numLiveTriangles>0)return++o,o-1;++o}return-1}function i(e,t,r,i,o,a,s){for(var u,l=-1,c=-1,f=0;fc||-1===c)&&(c=u,l=h)),++f}return-1===l?n(i,a,e,s):l}r=e(r,e.EMPTY_OBJECT);var o,a=r.indices,s=r.maximumIndex,u=e(r.cacheSize,24),l=a.length,c=0,f=0,h=a[f],d=l;if(t(s))c=s+1;else{for(;d>f;)h>c&&(c=h),++f,h=a[f];if(-1===c)return 0;++c}for(var m=[],p=0;c>p;p++)m[p]={numLiveTriangles:0,timeStamp:0,vertexTriangles:[]};f=0;for(var y=0;d>f;)m[a[f]].vertexTriangles.push(y),++m[a[f]].numLiveTriangles,m[a[f+1]].vertexTriangles.push(y),++m[a[f+1]].numLiveTriangles,m[a[f+2]].vertexTriangles.push(y),++m[a[f+2]].numLiveTriangles,++y,f+=3;var v=0,g=u+1;o=1;var E,S,C=[],w=[],x=0,O=[],T=l/3,A=[];for(p=0;T>p;p++)A[p]=!1;for(var M,b;-1!==v;){C=[],S=m[v],b=S.vertexTriangles.length;for(var D=0;b>D;++D)if(y=S.vertexTriangles[D],!A[y]){A[y]=!0,f=y+y+y;for(var I=0;3>I;++I)M=a[f],C.push(M),w.push(M),O[x]=M,++x,E=m[M],--E.numLiveTriangles,g-E.timeStamp>u&&(E.timeStamp=g,++g),++f}v=i(a,u,C,m,g,w,c)}return O},r}),define("Core/GeometryPipeline",["./barycentricCoordinates","./defaultValue","./defined","./DeveloperError","./Cartesian2","./Cartesian3","./Cartesian4","./Cartographic","./EncodedCartesian3","./Intersect","./IntersectionTests","./Math","./Matrix3","./Matrix4","./Plane","./GeographicProjection","./ComponentDatatype","./IndexDatatype","./PrimitiveType","./Tipsify","./BoundingSphere","./Geometry","./GeometryAttribute"],function(e,t,r,n,i,o,a,s,u,l,c,f,h,d,m,p,y,v,g,E,S,C,w){"use strict";function x(e,t,r,n,i){e[t++]=r,e[t++]=n,e[t++]=n,e[t++]=i,e[t++]=i,e[t]=r}function O(e){for(var t=e.length,r=6*(t/3),n=v.createTypedArray(t,r),i=0,o=0;t>o;o+=3,i+=6)x(n,i,e[o],e[o+1],e[o+2]);return n}function T(e){var t=e.length;if(t>=3){var r=6*(t-2),n=v.createTypedArray(t,r);x(n,0,e[0],e[1],e[2]);for(var i=6,o=3;t>o;++o,i+=6)x(n,i,e[o-1],e[o],e[o-2]);return n}return new Uint16Array}function A(e){if(e.length>0){for(var t=e.length-1,r=6*(t-1),n=v.createTypedArray(t,r),i=e[0],o=0,a=1;t>a;++a,o+=6)x(n,o,i,e[a],e[a+1]);return n}return new Uint16Array}function M(e){var t={};for(var n in e)if(e.hasOwnProperty(n)&&r(e[n])&&r(e[n].values)){var i=e[n];t[n]=new w({componentDatatype:i.componentDatatype,componentsPerAttribute:i.componentsPerAttribute,normalize:i.normalize,values:[]})}return t}function b(e,t,n){for(var i in t)if(t.hasOwnProperty(i)&&r(t[i])&&r(t[i].values))for(var o=t[i],a=0;aa;a+=3)o.unpack(n,a,Z),d.multiplyByPoint(e,Z,Z),o.pack(Z,n,a)}function I(e,t){if(r(t))for(var n=t.values,i=n.length,a=0;i>a;a+=3)o.unpack(n,a,Z),h.multiplyByVector(e,Z,Z),Z=o.normalize(Z,Z),o.pack(Z,n,a)}function _(e){var t,n=e.length,i={},o=e[0].geometry.attributes;for(t in o)if(o.hasOwnProperty(t)&&r(o[t])&&r(o[t].values)){for(var a=o[t],s=a.values.length,u=!0,l=1;n>l;++l){var c=e[l].geometry.attributes[t];if(!r(c)||a.componentDatatype.value!==c.componentDatatype.value||a.componentsPerAttribute!==c.componentsPerAttribute||a.normalize!==c.normalize){u=!1;break}s+=c.values.length}u&&(i[t]=new w({componentDatatype:a.componentDatatype,componentsPerAttribute:a.componentsPerAttribute,normalize:a.normalize,values:y.createTypedArray(a.componentDatatype,s)}))}return i}function N(e){if(r(e.indices))return e;for(var t=C.computeNumberOfVertices(e),n=v.createTypedArray(t,t),i=0;t>i;++i)n[i]=i;return e.indices=n,e}function P(e){var t=C.computeNumberOfVertices(e),r=v.createTypedArray(t,3*(t-2));r[0]=1,r[1]=0,r[2]=2;for(var n=3,i=3;t>i;++i)r[n++]=i-1,r[n++]=0,r[n++]=i;return e.indices=r,e.primitiveType=g.TRIANGLES,e}function R(e){var t=C.computeNumberOfVertices(e),r=v.createTypedArray(t,3*(t-2));r[0]=0,r[1]=1,r[2]=2,t>3&&(r[3]=0,r[4]=2,r[5]=3);for(var n=6,i=3;t-1>i;i+=2)r[n++]=i,r[n++]=i-1,r[n++]=i+1,t>i+2&&(r[n++]=i,r[n++]=i+1,r[n++]=i+2);return e.indices=r,e.primitiveType=g.TRIANGLES,e}function z(e){if(r(e.indices))return e;for(var t=C.computeNumberOfVertices(e),n=v.createTypedArray(t,t),i=0;t>i;++i)n[i]=i;return e.indices=n,e}function L(e){var t=C.computeNumberOfVertices(e),r=v.createTypedArray(t,2*(t-1));r[0]=0,r[1]=1;for(var n=2,i=2;t>i;++i)r[n++]=i-1,r[n++]=i;return e.indices=r,e.primitiveType=g.LINES,e}function F(e){var t=C.computeNumberOfVertices(e),r=v.createTypedArray(t,2*t);r[0]=0,r[1]=1;for(var n=2,i=2;t>i;++i)r[n++]=i-1,r[n++]=i;return r[n++]=t-1,r[n]=0,e.indices=r,e.primitiveType=g.LINES,e}function U(e){switch(e.primitiveType){case g.TRIANGLE_FAN:return P(e);case g.TRIANGLE_STRIP:return R(e);case g.TRIANGLES:return N(e);case g.LINE_STRIP:return L(e);case g.LINE_LOOP:return F(e);case g.LINES:return z(e)}return e}function B(e,t){Math.abs(e.y)=0||t.x>=0||r.x>=0)return void 0;var n=e.y<0,i=t.y<0,o=r.y<0;B(e,n),B(t,i),B(r,o);var a=0;a+=n?1:0,a+=i?1:0,a+=o?1:0;var s=ct.indices;1===a?(s[1]=3,s[2]=4,s[5]=6,s[7]=6,s[8]=5,n?(q(e,t,at,ut),q(e,r,st,lt),s[0]=0,s[3]=1,s[4]=2,s[6]=1):i?(q(t,r,at,ut),q(t,e,st,lt),s[0]=1,s[3]=2,s[4]=0,s[6]=2):o&&(q(r,e,at,ut),q(r,t,st,lt),s[0]=2,s[3]=0,s[4]=1,s[6]=0)):2===a&&(s[2]=4,s[4]=4,s[5]=3,s[7]=5,s[8]=6,n?i?o||(q(r,e,at,ut),q(r,t,st,lt),s[0]=0,s[1]=1,s[3]=0,s[6]=2):(q(t,r,at,ut),q(t,e,st,lt),s[0]=2,s[1]=0,s[3]=2,s[6]=1):(q(e,t,at,ut),q(e,r,st,lt),s[0]=1,s[1]=2,s[3]=1,s[6]=0));var u=ct.positions;return u[0]=e,u[1]=t,u[2]=r,ct.length=3,(1===a||2===a)&&(u[3]=at,u[4]=st,u[5]=ut,u[6]=lt,ct.length=7),ct}function W(t,n,a,s,u,l,c,f){if(r(u)||r(l)||r(c)||r(f)){var h,d,m,p,y,v,g,E,S,C,w,x,O,T,A,M,b,D,I=s.positions,_=I[0],N=I[1],P=I[2];r(u)&&(h=o.fromArray(u,3*t),d=o.fromArray(u,3*n),m=o.fromArray(u,3*a)),r(l)&&(p=o.fromArray(l,3*t),y=o.fromArray(l,3*n),v=o.fromArray(l,3*a)),r(c)&&(g=o.fromArray(c,3*t),E=o.fromArray(c,3*n),S=o.fromArray(c,3*a)),r(f)&&(C=i.fromArray(f,2*t),w=i.fromArray(f,2*n),x=i.fromArray(f,2*a));for(var R=3;RE;E+=3){var S=l[E],w=l[E+1],x=l[E+2],O=o.fromArray(n,3*S),T=o.fromArray(n,3*w),A=o.fromArray(n,3*x),M=G(O,T,A);if(r(M))if(c[3*S+1]=M.positions[0].y,c[3*w+1]=M.positions[1].y,c[3*x+1]=M.positions[2].y,M.length>3){for(var b=c.length/3,D=0;DI?p.push(l[E+I]):p.push(I-3+b)}for(var _=3;_h;h+=2){var d=i[h],p=i[h+1],y=o.fromArray(n,3*d),g=o.fromArray(n,3*p);if(Math.abs(y.y)c;c+=3)u[l++]=o[c],u[l++]=o[c+1],u[l++]=o[c+2],u[l++]=o[c]+a[c]*i,u[l++]=o[c+1]+a[c+1]*i,u[l++]=o[c+2]+a[c+2]*i;var f,h=e.boundingSphere;return r(h)&&(f=new S(h.center,h.radius+i)),new C({attributes:{position:new w({componentDatatype:y.DOUBLE,componentsPerAttribute:3,values:u})},primitiveType:g.LINES,boundingSphere:f})},j.createAttributeLocations=function(e){var t,n=["position","positionHigh","positionLow","position3DHigh","position3DLow","position2DHigh","position2DLow","pickColor","normal","st","binormal","tangent"],i=e.attributes,o={},a=0,s=n.length;for(t=0;s>t;++t){var u=n[t];r(i[u])&&(o[u]=a++)}for(var l in i)i.hasOwnProperty(l)&&!r(o[l])&&(o[l]=a++);return o},j.reorderForPreVertexCache=function(e){var t=C.computeNumberOfVertices(e),n=e.indices;if(r(n)){for(var i=new Int32Array(t),o=0;t>o;o++)i[o]=-1;for(var a,s=n,u=s.length,l=v.createTypedArray(t,u),c=0,f=0,h=0;u>c;)a=i[s[c]],-1!==a?l[f]=a:(a=s[c],i[a]=h,l[f]=h,++h),++c,++f;e.indices=l;var d=e.attributes;for(var m in d)if(d.hasOwnProperty(m)&&r(d[m])&&r(d[m].values)){for(var p=d[m],g=p.values,E=0,S=p.componentsPerAttribute,w=y.createTypedArray(p.componentDatatype,h*S);t>E;){var x=i[E];if(-1!==x)for(o=0;S>o;o++)w[S*x+o]=g[S*E+o];++E}p.values=w}}return e},j.reorderForPostVertexCache=function(e,t){var n=e.indices;if(e.primitiveType===g.TRIANGLES&&r(n)){for(var i=n.length,o=0,a=0;i>a;a++)n[a]>o&&(o=n[a]);e.indices=E.tipsify({indices:n,maximumIndex:o,cacheSize:t})}return e},j.fitToUnsignedShortIndices=function(e){var t=[],n=C.computeNumberOfVertices(e);if(r(e.indices)&&n>f.SIXTY_FOUR_KILOBYTES){var i,o=[],a=[],s=0,u=M(e.attributes),l=e.indices,c=l.length;e.primitiveType===g.TRIANGLES?i=3:e.primitiveType===g.LINES?i=2:e.primitiveType===g.POINTS&&(i=1);for(var h=0;c>h;h+=i){for(var d=0;i>d;++d){var m=l[h+d],p=o[m];r(p)||(p=s++,o[m]=p,b(u,e.attributes,m)),a.push(p)}s+i>f.SIXTY_FOUR_KILOBYTES&&(t.push(new C({attributes:u,indices:a,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere})),o=[],a=[],s=0,u=M(e.attributes))}0!==a.length&&t.push(new C({attributes:u,indices:a,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere}))}else t.push(e);return t};var V=new o,k=new s;j.projectTo2D=function(e,t,i,a,s){var u=e.attributes[t];s=r(s)?s:new p;for(var l=s.ellipsoid,c=u.values,f=new Float64Array(c.length),h=0,d=0;dc;++c)u.encode(o[c],K),s[c]=K.high,l[c]=K.low;var f=i.componentsPerAttribute;return e.attributes[r]=new w({componentDatatype:y.FLOAT,componentsPerAttribute:f,values:s}),e.attributes[n]=new w({componentDatatype:y.FLOAT,componentsPerAttribute:f,values:l}),delete e.attributes[t],e};var Z=new o,J=new d,X=new h;j.transformToWorldCoordinates=function(e){var t=e.modelMatrix;if(d.equals(t,d.IDENTITY))return e;var n=e.geometry.attributes;D(t,n.position),D(t,n.prevPosition),D(t,n.nextPosition),(r(n.normal)||r(n.binormal)||r(n.tangent))&&(d.inverse(t,J),d.transpose(J,J),d.getRotation(J,X),I(X,n.normal),I(X,n.binormal),I(X,n.tangent));var i=e.geometry.boundingSphere;return r(i)&&(e.geometry.boundingSphere=S.transform(i,t,i)),e.modelMatrix=d.clone(d.IDENTITY),e},j.combine=function(e){var t,n,i,a,s=e.length;e[0].modelMatrix;var u,l,c,f=r(e[0].geometry.indices),h=e[0].geometry.primitiveType,d=_(e);for(t in d)if(d.hasOwnProperty(t))for(u=d[t].values,a=0,n=0;s>n;++n)for(l=e[n].geometry.attributes[t].values,c=l.length,i=0;c>i;++i)u[a++]=l[i];var m;if(f){var p=0;for(n=0;s>n;++n)p+=e[n].geometry.indices.length;var y=C.computeNumberOfVertices(new C({attributes:d,primitiveType:g.POINTS})),E=v.createTypedArray(y,p),w=0,x=0;for(n=0;s>n;++n){var O=e[n].geometry.indices,T=O.length;for(a=0;T>a;++a)E[w++]=x+O[a];x+=C.computeNumberOfVertices(e[n].geometry)}m=E}var A,M=new o,b=0;for(n=0;s>n;++n){if(A=e[n].geometry.boundingSphere,!r(A)){M=void 0;break}o.add(A.center,M,M)}if(r(M))for(o.divideByScalar(M,s,M),n=0;s>n;++n){A=e[n].geometry.boundingSphere;var D=o.magnitude(o.subtract(A.center,M))+A.radius;D>b&&(b=D)}return new C({attributes:d,indices:m,primitiveType:h,boundingSphere:r(M)?new S(M,b):void 0})};var Q=new o,$=new o,et=new o,tt=new o;j.computeNormal=function(e){for(var t=e.indices,r=e.attributes,n=r.position.values,i=r.position.values.length/3,a=t.length,s=new Array(i),u=new Array(a/3),l=new Array(a),c=0;i>c;c++)s[c]={indexOffset:0,count:0,currentCount:0};var f=0;for(c=0;a>c;c+=3){var h=t[c],d=t[c+1],m=t[c+2],p=3*h,v=3*d,g=3*m;$.x=n[p],$.y=n[p+1],$.z=n[p+2],et.x=n[v],et.y=n[v+1],et.z=n[v+2],tt.x=n[g],tt.y=n[g+1],tt.z=n[g+2],s[h].count++,s[d].count++,s[m].count++,o.subtract(et,$,et),o.subtract(tt,$,tt),u[f]=o.cross(et,tt),f++}var E=0;for(c=0;i>c;c++)s[c].indexOffset+=E,E+=s[c].count;f=0;var S;for(c=0;a>c;c+=3){S=s[t[c]];var C=S.indexOffset+S.currentCount;l[C]=f,S.currentCount++,S=s[t[c+1]],C=S.indexOffset+S.currentCount,l[C]=f,S.currentCount++,S=s[t[c+2]],C=S.indexOffset+S.currentCount,l[C]=f,S.currentCount++,f++}var x=new Float32Array(3*i);for(c=0;i>c;c++){var O=3*c;if(S=s[c],S.count>0){for(o.clone(o.ZERO,Q),f=0;fl;l+=3){var d=t[l],m=t[l+1],p=t[l+2];c=3*d,f=3*m,h=3*p;var v=2*d,g=2*m,E=2*p,S=r[c],C=r[c+1],x=r[c+2],O=i[v],T=i[v+1],A=i[g+1]-T,M=i[E+1]-T,b=1/((i[g]-O)*M-(i[E]-O)*A),D=(M*(r[f]-S)-A*(r[h]-S))*b,I=(M*(r[f+1]-C)-A*(r[h+1]-C))*b,_=(M*(r[f+2]-x)-A*(r[h+2]-x))*b;u[c]+=D,u[c+1]+=I,u[c+2]+=_,u[f]+=D,u[f+1]+=I,u[f+2]+=_,u[h]+=D,u[h+1]+=I,u[h+2]+=_}var N=new Float32Array(3*a),P=new Float32Array(3*a);for(l=0;a>l;l++){c=3*l,f=c+1,h=c+2;var R=o.fromArray(n,c,rt),z=o.fromArray(u,c,it),L=o.dot(R,z);o.multiplyByScalar(R,L,nt),o.normalize(o.subtract(z,nt,z),z),P[c]=z.x,P[f]=z.y,P[h]=z.z,o.normalize(o.cross(R,z,z),z),N[c]=z.x,N[f]=z.y,N[h]=z.z}return e.attributes.tangent=new w({componentDatatype:y.FLOAT,componentsPerAttribute:3,values:P}),e.attributes.binormal=new w({componentDatatype:y.FLOAT,componentsPerAttribute:3,values:N}),e};var ot=new o,at=new o,st=new o,ut=new o,lt=new o,ct={positions:new Array(7),indices:new Array(9)};return j.wrapLongitude=function(e){var t=e.boundingSphere;if(r(t)){var n=t.center.x-t.radius;if(n>0||S.intersect(t,a.UNIT_Y)!==l.INTERSECTING)return e}return U(e),e.primitiveType===g.TRIANGLES?Y(e):e.primitiveType===g.LINES&&H(e),e},j}),define("Core/PolygonGeometryLibrary",["./defaultValue","./defined","./Cartesian3","./Ellipsoid"],function(e,t,r,n){"use strict";function i(e,t,n,i){return r.subtract(t,e,a),r.multiplyByScalar(a,n/i,a),r.add(e,a,a),[a.x,a.y,a.z]}var o={},a=new r;o.subdivideLine=function(e,t,n){var o=r.distance(e,t),a=r.angleBetween(e,t),s=a/n,u=Math.ceil(Math.log(s)/Math.log(2));1>u&&(u=0);var l=Math.pow(2,u),c=o/l,f=new Array(3*l),h=0;f[h++]=e.x,f[h++]=e.y,f[h++]=e.z;for(var d=1;l>d;d++){var m=i(e,t,d*c,o);f[h++]=m[0],f[h++]=m[1],f[h++]=m[2]}return f};var s=new r,u=new r,l=new r,c=new r;return o.scaleToGeodeticHeightExtruded=function(i,o,a,f,h){f=e(f,n.WGS84);var d=s,m=u,p=l,y=c;if(t(i)&&t(i.attributes)&&t(i.attributes.position))for(var v=i.attributes.position.values,g=v.length/2,E=0;g>E;E+=3)r.fromArray(v,E,p),f.geodeticSurfaceNormal(p,d),y=f.scaleToGeodeticSurface(p,y),m=r.multiplyByScalar(d,a,m),m=r.add(y,m,m),v[E+g]=m.x,v[E+1+g]=m.y,v[E+2+g]=m.z,h&&(y=r.clone(p,y)),m=r.multiplyByScalar(d,o,m),m=r.add(y,m,m),v[E]=m.x,v[E+1]=m.y,v[E+2]=m.z;return i},o}),define("Core/pointInsideTriangle",["./barycentricCoordinates","./Cartesian3"],function(e,t){"use strict";var r=new t,n=function(t,n,i,o){return e(t,n,i,o,r),r.x>0&&r.y>0&&r.z>0};return n}),define("Core/Queue",[],function(){"use strict";var e=function(){this._array=[],this._offset=0,this.length=0};return e.prototype.enqueue=function(e){this._array.push(e),this.length++},e.prototype.dequeue=function(){if(0===this.length)return void 0;var e=this._array,t=this._offset,r=e[t];return e[t]=void 0,t++,t>10&&2*t>e.length&&(this._array=e.slice(t),t=0),this._offset=t,this.length--,r},e.prototype.contains=function(e){return-1!==this._array.indexOf(e)},e.prototype.clear=function(){this._array.length=this._offset=this.length=0},e.prototype.sort=function(e){this._offset>0&&(this._array=this._array.slice(this._offset),this._offset=0),this._array.sort(e)},e}),define("Core/WindingOrder",["./Enumeration"],function(e){"use strict";var t={CLOCKWISE:new e(2304,"CLOCKWISE"),COUNTER_CLOCKWISE:new e(2305,"COUNTER_CLOCKWISE"),validate:function(e){return e===t.CLOCKWISE||e===t.COUNTER_CLOCKWISE}};return t}),define("Core/PolygonPipeline",["./DeveloperError","./Math","./Cartesian2","./Cartesian3","./defined","./Geometry","./GeometryAttribute","./Ellipsoid","./EllipsoidTangentPlane","./defaultValue","./pointInsideTriangle","./ComponentDatatype","./PrimitiveType","./Queue","./WindingOrder"],function(e,t,r,n,i,o,a,s,u,l,c,f,h,d,m){"use strict";function p(e,t,n){var i=r.subtract(t,e),o=r.subtract(n,t);return i.x*o.y-i.y*o.x>=0}function y(e){for(var t=e[0].x,r=0,n=0;nt&&(t=e[n].x,r=n);return r}function v(e){for(var t=e[0][0].x,r=0,n=0;nt&&(t=i,r=n)}return r}function g(e){for(var t=[],r=0;rc&&(c=t[f].x);c+=c-u;var h=new n(c,e.y,0);for(f=0;f=e.x||m.x>=e.x)&&(d.y>=e.y&&m.y<=e.y||d.y<=e.y&&m.y>=e.y)){var p=(m.y-d.y)*(h.x-e.x)-(m.x-d.x)*(h.y-e.y);if(0!==p){p=1/p;var v=((m.x-d.x)*(e.y-d.y)-(m.y-d.y)*(e.x-d.x))*p,g=((h.x-e.x)*(e.y-d.y)-(h.y-e.y)*(e.x-d.x))*p;if(v>=0&&1>=v&&g>=0&&1>=g){var E=new r(e.x+v*(h.x-e.x),e.y+v*(h.y-e.y)),S=r.subtract(E,e);p=r.magnitudeSquared(S),o>p&&(s=E,o=p,i[0]=f,i[1]=(f+1)%t.length)}}}}return s}function C(e,t){var n=v(t),i=t[n],o=y(i),a=i[o],s=[],u=S(a,e,s),l=E(e,u);if(-1!==l)return l;var f=r.magnitudeSquared(r.subtract(e[s[0]],a)),h=r.magnitudeSquared(r.subtract(e[s[1]],a)),d=h>f?e[s[0]]:e[s[1]],m=g(e),p=m.indexOf(d);-1!==p&&m.splice(p,1);for(var C=[],w=0;w0){var T=new r(1,0);for(w=0;wb&&(O=b,d=C[w])}}}return e.indexOf(d)}function w(e,t,r){for(var i=Y.computeWindingOrder2D(e),o=0;on&&(n=t.length-1),n===t.length&&(n=0),b(n,t),n}function b(t,i){var o=t-1,a=t+1;0>o&&(o=i.length-1),a===i.length&&(a=0);var s=r.subtract(i[o].position,i[t].position),u=r.subtract(i[a].position,i[t].position);if(s=new n(s.x,s.y,0),u=new n(u.x,u.y,0),D(s,u)){var l=new e("Superfluous vertex found.");throw l.vertexIndex=t,l}}function D(e,t){return 0===n.cross(e,t).z}function I(e,t){return n.cross(e,t).z<0}function _(e,t){return n.cross(e,t).z>0}function N(e,t,r){return n.cross(e,r).z>0&&n.cross(r,t).z>0}function P(e,t,r){return n.cross(e,r).z<0&&n.cross(r,t).z<0}function R(e,t,n){for(var i=0;it||e>r)&&(t>e||r>e)||t===r&&t===e}function F(t){var r=t.length;if(3===r)return z(t)?[]:[t[0].index,t[1].index,t[2].index];if(t.length<3)throw new e("Invalid polygon: must have at least three vertices.");for(var n=!1,i=0;!n;){var o=10*t.length;if(i>o)return[];i++;for(var a=x(t.length),s=a+1;Math.abs(a-s)<2||Math.abs(a-s)>t.length-2;)s=x(t.length);if(a>s){var u=a;a=s,s=u}try{if(O(a,s,t)){var l=t.splice(a,s-a+1,t[a],t[s]);return F(t).concat(F(l))}}catch(c){if(c.hasOwnProperty("vertexIndex"))return t.splice(c.vertexIndex,1),F(t);throw c}}}var U=0,B=-1,q=1,G=new n,W=new n,Y={removeDuplicates:function(e){for(var t=e.length,r=[],i=t-1,o=0;t>o;i=o++){var a=e[i],s=e[o];n.equals(a,s)||r.push(s)}return r},computeArea2D:function(e){for(var t=e.length,r=0,n=t-1,i=0;t>i;n=i++){var o=e[n],a=e[i];r+=o.x*a.y-a.x*o.y}return.5*r},computeWindingOrder2D:function(e){var t=Y.computeArea2D(e);return t>=0?m.COUNTER_CLOCKWISE:m.CLOCKWISE},triangulate:function(e){for(var t=e.length,r=[],n=0;t>n;++n)r[n]={position:e[n],index:n};return F(r)},resetSeed:function(e){U=l(e,0)},computeSubdivision:function(e,r,i){i=l(i,t.RADIANS_PER_DEGREE);for(var s=new d,u=r.length,c=0;u>c;c+=3)s.enqueue({i0:r[c],i1:r[c+1],i2:r[c+2]});for(var m,p=e.slice(0),y=[],v={};s.length>0;){var g,E,S=s.dequeue(),C=p[S.i0],w=p[S.i1],x=p[S.i2],O=n.angleBetween(C,w),T=n.angleBetween(w,x),A=n.angleBetween(x,C),M=Math.max(O,Math.max(T,A));M>i?O===M?(g=Math.min(S.i0,S.i1).toString()+" "+Math.max(S.i0,S.i1).toString(),m=v[g],m||(E=n.add(C,w),n.multiplyByScalar(E,.5,E),p.push(E),m=p.length-1,v[g]=m),s.enqueue({i0:S.i0,i1:m,i2:S.i2}),s.enqueue({i0:m,i1:S.i1,i2:S.i2})):T===M?(g=Math.min(S.i1,S.i2).toString()+" "+Math.max(S.i1,S.i2).toString(),m=v[g],m||(E=n.add(w,x),n.multiplyByScalar(E,.5,E),p.push(E),m=p.length-1,v[g]=m),s.enqueue({i0:S.i1,i1:m,i2:S.i0}),s.enqueue({i0:m,i1:S.i2,i2:S.i0})):A===M&&(g=Math.min(S.i2,S.i0).toString()+" "+Math.max(S.i2,S.i0).toString(),m=v[g],m||(E=n.add(x,C),n.multiplyByScalar(E,.5,E),p.push(E),m=p.length-1,v[g]=m),s.enqueue({i0:S.i2,i1:m,i2:S.i1}),s.enqueue({i0:m,i1:S.i0,i2:S.i1})):(y.push(S.i0),y.push(S.i1),y.push(S.i2)) +}var b=p.length,D=new Array(3*b),I=0;for(m=0;b>m;m++){var _=p[m];D[I++]=_.x,D[I++]=_.y,D[I++]=_.z}return new o({attributes:{position:new a({componentDatatype:f.DOUBLE,componentsPerAttribute:3,values:D})},indices:y,primitiveType:h.TRIANGLES})},scaleToGeodeticHeight:function(e,t,r,o){r=l(r,s.WGS84);var a=G,u=W;if(t=l(t,0),o=l(o,!0),i(e)&&i(e.attributes)&&i(e.attributes.position))for(var c=e.attributes.position.values,f=c.length,h=0;f>h;h+=3)n.fromArray(c,h,u),o&&(u=r.scaleToGeodeticSurface(u,u)),a=r.geodeticSurfaceNormal(u,a),n.multiplyByScalar(a,t,a),n.add(u,a,u),c[h]=u.x,c[h+1]=u.y,c[h+2]=u.z;return e},eliminateHoles:function(e,t,r){r=l(r,s.WGS84);for(var i=[],o=0;o0;)c=w(c,i,r);return c}};return Y}),define("Core/PolygonOutlineGeometry",["./defaultValue","./defined","./BoundingSphere","./Cartesian3","./ComponentDatatype","./DeveloperError","./Ellipsoid","./EllipsoidTangentPlane","./Geometry","./GeometryAttribute","./GeometryAttributes","./GeometryInstance","./GeometryPipeline","./IndexDatatype","./Math","./PolygonGeometryLibrary","./PolygonPipeline","./PrimitiveType","./Queue","./WindingOrder"],function(e,t,r,n,i,o,a,s,u,l,c,f,h,d,m,p,y,v,g,E){"use strict";function S(e,t,r,n){var o=y.removeDuplicates(t),a=s.fromPoints(o,e),h=a.projectPointsOntoPlane(o,w),m=y.computeWindingOrder2D(h);m===E.CLOCKWISE&&(h.reverse(),o.reverse());var g,S=[],C=o.length;if(n)for(g=0;C>g;g++){var x=o[g],O=o[(g+1)%C];S.push(x.x,x.y,x.z,O.x,O.y,O.z)}else for(g=0;C>g;g++)S=S.concat(p.subdivideLine(o[g],o[(g+1)%C],r));C=S.length/3;var T=2*C,A=d.createTypedArray(S.length/3,T),M=0;for(g=0;C-1>g;g++)A[M++]=g,A[M++]=g+1;return A[M++]=C-1,A[M++]=0,new f({geometry:new u({attributes:new c({position:new l({componentDatatype:i.DOUBLE,componentsPerAttribute:3,values:new Float64Array(S)})}),indices:A,primitiveType:v.LINES})})}function C(e,t,r,n){var o=y.removeDuplicates(t),a=s.fromPoints(o,e),h=a.projectPointsOntoPlane(o,w),m=y.computeWindingOrder2D(h);m===E.CLOCKWISE&&(h.reverse(),o.reverse());var g,S=[],C=o.length,x=new Array(C);if(x[0]=0,n){var O,T;for(g=0;C-1>g;g++)O=o[g],T=o[(g+1)%C],S.push(O.x,O.y,O.z,T.x,T.y,T.z),x[g+1]=S.length/3;O=o[C-1],T=o[0],S.push(O.x,O.y,O.z,T.x,T.y,T.z)}else{for(g=0;C-1>g;g++)S=S.concat(p.subdivideLine(o[g],o[g+1],r)),x[g+1]=S.length/3;S=S.concat(p.subdivideLine(o[C-1],o[0],r))}C=S.length/3;var A=2*(2*C+x.length),M=d.createTypedArray(S.length/3,A),b=0;for(g=0;C-1>g;g++)M[b++]=g,M[b++]=g+1,M[b++]=g+C,M[b++]=g+1+C;for(M[b++]=C-1,M[b++]=0,M[b++]=C+C-1,M[b++]=C,g=0;gA;A++){var I=M.holes[A];E.push(I.positions);var _=0;t(I.holes)&&(_=I.holes.length);for(var N=0;_>N;N++)w.enqueue(I.holes[N])}E.push(b)}a=E[0],i=r.fromPoints(a);var P,R=[];if(d)for(A=0;Ar&&(r+=1),r>1&&(r-=1),1>6*r?e+6*(t-e)*r:1>2*r?t:2>3*r?e+6*(t-e)*(2/3-r):e}var s=function(t,r,n,i){this.red=e(t,1),this.green=e(r,1),this.blue=e(n,1),this.alpha=e(i,1)};s.fromBytes=function(t,r,n,i){return t=s.byteToFloat(e(t,255)),r=s.byteToFloat(e(r,255)),n=s.byteToFloat(e(n,255)),i=s.byteToFloat(e(i,255)),new s(t,r,n,i)};var u,l,c;i.supportsTypedArrays()&&(u=new ArrayBuffer(4),l=new Uint32Array(u),c=new Uint8Array(u)),s.fromRgba=function(e){return l[0]=e,s.fromBytes(c[0],c[1],c[2],c[3])},s.fromHsl=function(t,r,n,i){t=e(t,0)%1,r=e(r,0),n=e(n,0),i=e(i,1);var o=n,u=n,l=n;if(0!==r){var c;c=.5>n?n*(1+r):n+r-n*r;var f=2*n-c;o=a(f,c,t+1/3),u=a(f,c,t),l=a(f,c,t-1/3)}return new s(o,u,l,i)},s.fromRandom=function(r,n){r=e(r,e.EMPTY_OBJECT);var i=r.red;if(!t(i)){var a=e(r.minimumRed,0),u=e(r.maximumRed,1);i=a+o.nextRandomNumber()*(u-a)}var l=r.green;if(!t(l)){var c=e(r.minimumGreen,0),f=e(r.maximumGreen,1);l=c+o.nextRandomNumber()*(f-c)}var h=r.blue;if(!t(h)){var d=e(r.minimumBlue,0),m=e(r.maximumBlue,1);h=d+o.nextRandomNumber()*(m-d)}var p=r.alpha;if(!t(p)){var y=e(r.minimumAlpha,0),v=e(r.maximumAlpha,1);p=y+o.nextRandomNumber()*(v-y)}return t(n)?(n.red=i,n.green=l,n.blue=h,n.alpha=p,n):new s(i,l,h,p)};var f=/^#([0-9a-f])([0-9a-f])([0-9a-f])$/i,h=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i,d=/^rgba?\(\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)(?:\s*,\s*([0-9.]+))?\s*\)$/i,m=/^hsla?\(\s*([0-9.]+)\s*,\s*([0-9.]+%)\s*,\s*([0-9.]+%)(?:\s*,\s*([0-9.]+))?\s*\)$/i;return s.fromCssColorString=function(r){var n=s[r.toUpperCase()];if(t(n))return s.clone(n);var i=f.exec(r);return null!==i?new s(parseInt(i[1],16)/15,parseInt(i[2],16)/15,parseInt(i[3],16)/15):(i=h.exec(r),null!==i?new s(parseInt(i[1],16)/255,parseInt(i[2],16)/255,parseInt(i[3],16)/255):(i=d.exec(r),null!==i?new s(parseFloat(i[1])/("%"===i[1].substr(-1)?100:255),parseFloat(i[2])/("%"===i[2].substr(-1)?100:255),parseFloat(i[3])/("%"===i[3].substr(-1)?100:255),parseFloat(e(i[4],"1.0"))):(i=m.exec(r),null!==i?s.fromHsl(parseFloat(i[1])/360,parseFloat(i[2])/100,parseFloat(i[3])/100,parseFloat(e(i[4],"1.0"))):void 0)))},s.packedLength=4,s.pack=function(t,r,n){n=e(n,0),r[n++]=t.red,r[n++]=t.green,r[n++]=t.blue,r[n]=t.alpha},s.unpack=function(r,n,i){return n=e(n,0),t(i)||(i=new s),i.red=r[n++],i.green=r[n++],i.blue=r[n++],i.alpha=r[n],i},s.byteToFloat=function(e){return e/255},s.floatToByte=function(e){return 1===e?255:0|256*e},s.clone=function(e,r){return t(e)?t(r)?(r.red=e.red,r.green=e.green,r.blue=e.blue,r.alpha=e.alpha,r):new s(e.red,e.green,e.blue,e.alpha):void 0},s.equals=function(e,r){return e===r||t(e)&&t(r)&&e.red===r.red&&e.green===r.green&&e.blue===r.blue&&e.alpha===r.alpha},s.prototype.clone=function(e){return s.clone(this,e)},s.prototype.equals=function(e){return s.equals(this,e)},s.prototype.equalsEpsilon=function(e,r){return this===e||t(e)&&Math.abs(this.red-e.red)<=r&&Math.abs(this.green-e.green)<=r&&Math.abs(this.blue-e.blue)<=r&&Math.abs(this.alpha-e.alpha)<=r},s.prototype.toString=function(){return"("+this.red+", "+this.green+", "+this.blue+", "+this.alpha+")"},s.prototype.toCssColorString=function(){var e=s.floatToByte(this.red),t=s.floatToByte(this.green),r=s.floatToByte(this.blue);return 1===this.alpha?"rgb("+e+","+t+","+r+")":"rgba("+e+","+t+","+r+","+this.alpha+")"},s.prototype.toBytes=function(e){var r=s.floatToByte(this.red),n=s.floatToByte(this.green),i=s.floatToByte(this.blue),o=s.floatToByte(this.alpha);return t(e)?(e[0]=r,e[1]=n,e[2]=i,e[3]=o,e):[r,n,i,o]},s.prototype.toRgba=function(){return c[0]=s.floatToByte(this.red),c[1]=s.floatToByte(this.green),c[2]=s.floatToByte(this.blue),c[3]=s.floatToByte(this.alpha),l[0]},s.ALICEBLUE=r(s.fromCssColorString("#F0F8FF")),s.ANTIQUEWHITE=r(s.fromCssColorString("#FAEBD7")),s.AQUA=r(s.fromCssColorString("#00FFFF")),s.AQUAMARINE=r(s.fromCssColorString("#7FFFD4")),s.AZURE=r(s.fromCssColorString("#F0FFFF")),s.BEIGE=r(s.fromCssColorString("#F5F5DC")),s.BISQUE=r(s.fromCssColorString("#FFE4C4")),s.BLACK=r(s.fromCssColorString("#000000")),s.BLANCHEDALMOND=r(s.fromCssColorString("#FFEBCD")),s.BLUE=r(s.fromCssColorString("#0000FF")),s.BLUEVIOLET=r(s.fromCssColorString("#8A2BE2")),s.BROWN=r(s.fromCssColorString("#A52A2A")),s.BURLYWOOD=r(s.fromCssColorString("#DEB887")),s.CADETBLUE=r(s.fromCssColorString("#5F9EA0")),s.CHARTREUSE=r(s.fromCssColorString("#7FFF00")),s.CHOCOLATE=r(s.fromCssColorString("#D2691E")),s.CORAL=r(s.fromCssColorString("#FF7F50")),s.CORNFLOWERBLUE=r(s.fromCssColorString("#6495ED")),s.CORNSILK=r(s.fromCssColorString("#FFF8DC")),s.CRIMSON=r(s.fromCssColorString("#DC143C")),s.CYAN=r(s.fromCssColorString("#00FFFF")),s.DARKBLUE=r(s.fromCssColorString("#00008B")),s.DARKCYAN=r(s.fromCssColorString("#008B8B")),s.DARKGOLDENROD=r(s.fromCssColorString("#B8860B")),s.DARKGRAY=r(s.fromCssColorString("#A9A9A9")),s.DARKGREEN=r(s.fromCssColorString("#006400")),s.DARKGREY=s.DARKGRAY,s.DARKKHAKI=r(s.fromCssColorString("#BDB76B")),s.DARKMAGENTA=r(s.fromCssColorString("#8B008B")),s.DARKOLIVEGREEN=r(s.fromCssColorString("#556B2F")),s.DARKORANGE=r(s.fromCssColorString("#FF8C00")),s.DARKORCHID=r(s.fromCssColorString("#9932CC")),s.DARKRED=r(s.fromCssColorString("#8B0000")),s.DARKSALMON=r(s.fromCssColorString("#E9967A")),s.DARKSEAGREEN=r(s.fromCssColorString("#8FBC8F")),s.DARKSLATEBLUE=r(s.fromCssColorString("#483D8B")),s.DARKSLATEGRAY=r(s.fromCssColorString("#2F4F4F")),s.DARKSLATEGREY=s.DARKSLATEGRAY,s.DARKTURQUOISE=r(s.fromCssColorString("#00CED1")),s.DARKVIOLET=r(s.fromCssColorString("#9400D3")),s.DEEPPINK=r(s.fromCssColorString("#FF1493")),s.DEEPSKYBLUE=r(s.fromCssColorString("#00BFFF")),s.DIMGRAY=r(s.fromCssColorString("#696969")),s.DIMGREY=s.DIMGRAY,s.DODGERBLUE=r(s.fromCssColorString("#1E90FF")),s.FIREBRICK=r(s.fromCssColorString("#B22222")),s.FLORALWHITE=r(s.fromCssColorString("#FFFAF0")),s.FORESTGREEN=r(s.fromCssColorString("#228B22")),s.FUSCHIA=r(s.fromCssColorString("#FF00FF")),s.GAINSBORO=r(s.fromCssColorString("#DCDCDC")),s.GHOSTWHITE=r(s.fromCssColorString("#F8F8FF")),s.GOLD=r(s.fromCssColorString("#FFD700")),s.GOLDENROD=r(s.fromCssColorString("#DAA520")),s.GRAY=r(s.fromCssColorString("#808080")),s.GREEN=r(s.fromCssColorString("#008000")),s.GREENYELLOW=r(s.fromCssColorString("#ADFF2F")),s.GREY=s.GRAY,s.HONEYDEW=r(s.fromCssColorString("#F0FFF0")),s.HOTPINK=r(s.fromCssColorString("#FF69B4")),s.INDIANRED=r(s.fromCssColorString("#CD5C5C")),s.INDIGO=r(s.fromCssColorString("#4B0082")),s.IVORY=r(s.fromCssColorString("#FFFFF0")),s.KHAKI=r(s.fromCssColorString("#F0E68C")),s.LAVENDER=r(s.fromCssColorString("#E6E6FA")),s.LAVENDAR_BLUSH=r(s.fromCssColorString("#FFF0F5")),s.LAWNGREEN=r(s.fromCssColorString("#7CFC00")),s.LEMONCHIFFON=r(s.fromCssColorString("#FFFACD")),s.LIGHTBLUE=r(s.fromCssColorString("#ADD8E6")),s.LIGHTCORAL=r(s.fromCssColorString("#F08080")),s.LIGHTCYAN=r(s.fromCssColorString("#E0FFFF")),s.LIGHTGOLDENRODYELLOW=r(s.fromCssColorString("#FAFAD2")),s.LIGHTGRAY=r(s.fromCssColorString("#D3D3D3")),s.LIGHTGREEN=r(s.fromCssColorString("#90EE90")),s.LIGHTGREY=s.LIGHTGRAY,s.LIGHTPINK=r(s.fromCssColorString("#FFB6C1")),s.LIGHTSEAGREEN=r(s.fromCssColorString("#20B2AA")),s.LIGHTSKYBLUE=r(s.fromCssColorString("#87CEFA")),s.LIGHTSLATEGRAY=r(s.fromCssColorString("#778899")),s.LIGHTSLATEGREY=s.LIGHTSLATEGRAY,s.LIGHTSTEELBLUE=r(s.fromCssColorString("#B0C4DE")),s.LIGHTYELLOW=r(s.fromCssColorString("#FFFFE0")),s.LIME=r(s.fromCssColorString("#00FF00")),s.LIMEGREEN=r(s.fromCssColorString("#32CD32")),s.LINEN=r(s.fromCssColorString("#FAF0E6")),s.MAGENTA=r(s.fromCssColorString("#FF00FF")),s.MAROON=r(s.fromCssColorString("#800000")),s.MEDIUMAQUAMARINE=r(s.fromCssColorString("#66CDAA")),s.MEDIUMBLUE=r(s.fromCssColorString("#0000CD")),s.MEDIUMORCHID=r(s.fromCssColorString("#BA55D3")),s.MEDIUMPURPLE=r(s.fromCssColorString("#9370DB")),s.MEDIUMSEAGREEN=r(s.fromCssColorString("#3CB371")),s.MEDIUMSLATEBLUE=r(s.fromCssColorString("#7B68EE")),s.MEDIUMSPRINGGREEN=r(s.fromCssColorString("#00FA9A")),s.MEDIUMTURQUOISE=r(s.fromCssColorString("#48D1CC")),s.MEDIUMVIOLETRED=r(s.fromCssColorString("#C71585")),s.MIDNIGHTBLUE=r(s.fromCssColorString("#191970")),s.MINTCREAM=r(s.fromCssColorString("#F5FFFA")),s.MISTYROSE=r(s.fromCssColorString("#FFE4E1")),s.MOCCASIN=r(s.fromCssColorString("#FFE4B5")),s.NAVAJOWHITE=r(s.fromCssColorString("#FFDEAD")),s.NAVY=r(s.fromCssColorString("#000080")),s.OLDLACE=r(s.fromCssColorString("#FDF5E6")),s.OLIVE=r(s.fromCssColorString("#808000")),s.OLIVEDRAB=r(s.fromCssColorString("#6B8E23")),s.ORANGE=r(s.fromCssColorString("#FFA500")),s.ORANGERED=r(s.fromCssColorString("#FF4500")),s.ORCHID=r(s.fromCssColorString("#DA70D6")),s.PALEGOLDENROD=r(s.fromCssColorString("#EEE8AA")),s.PALEGREEN=r(s.fromCssColorString("#98FB98")),s.PALETURQUOISE=r(s.fromCssColorString("#AFEEEE")),s.PALEVIOLETRED=r(s.fromCssColorString("#DB7093")),s.PAPAYAWHIP=r(s.fromCssColorString("#FFEFD5")),s.PEACHPUFF=r(s.fromCssColorString("#FFDAB9")),s.PERU=r(s.fromCssColorString("#CD853F")),s.PINK=r(s.fromCssColorString("#FFC0CB")),s.PLUM=r(s.fromCssColorString("#DDA0DD")),s.POWDERBLUE=r(s.fromCssColorString("#B0E0E6")),s.PURPLE=r(s.fromCssColorString("#800080")),s.RED=r(s.fromCssColorString("#FF0000")),s.ROSYBROWN=r(s.fromCssColorString("#BC8F8F")),s.ROYALBLUE=r(s.fromCssColorString("#4169E1")),s.SADDLEBROWN=r(s.fromCssColorString("#8B4513")),s.SALMON=r(s.fromCssColorString("#FA8072")),s.SANDYBROWN=r(s.fromCssColorString("#F4A460")),s.SEAGREEN=r(s.fromCssColorString("#2E8B57")),s.SEASHELL=r(s.fromCssColorString("#FFF5EE")),s.SIENNA=r(s.fromCssColorString("#A0522D")),s.SILVER=r(s.fromCssColorString("#C0C0C0")),s.SKYBLUE=r(s.fromCssColorString("#87CEEB")),s.SLATEBLUE=r(s.fromCssColorString("#6A5ACD")),s.SLATEGRAY=r(s.fromCssColorString("#708090")),s.SLATEGREY=s.SLATEGRAY,s.SNOW=r(s.fromCssColorString("#FFFAFA")),s.SPRINGGREEN=r(s.fromCssColorString("#00FF7F")),s.STEELBLUE=r(s.fromCssColorString("#4682B4")),s.TAN=r(s.fromCssColorString("#D2B48C")),s.TEAL=r(s.fromCssColorString("#008080")),s.THISTLE=r(s.fromCssColorString("#D8BFD8")),s.TOMATO=r(s.fromCssColorString("#FF6347")),s.TURQUOISE=r(s.fromCssColorString("#40E0D0")),s.VIOLET=r(s.fromCssColorString("#EE82EE")),s.WHEAT=r(s.fromCssColorString("#F5DEB3")),s.WHITE=r(s.fromCssColorString("#FFFFFF")),s.WHITESMOKE=r(s.fromCssColorString("#F5F5F5")),s.YELLOW=r(s.fromCssColorString("#FFFF00")),s.YELLOWGREEN=r(s.fromCssColorString("#9ACD32")),s}),define("Scene/PrimitivePipeline",["../Core/defined","../Core/defaultValue","../Core/Color","../Core/ComponentDatatype","../Core/DeveloperError","../Core/FeatureDetection","../Core/Geometry","../Core/GeometryAttribute","../Core/GeometryPipeline","../Core/Matrix4"],function(e,t,r,n,i,o,a,s,u,l){"use strict";function c(e,t,r){var n,i=!r,o=e.length;if(!i&&o>1){var a=e[0].modelMatrix;for(n=1;o>n;++n)if(!l.equals(a,e[n].modelMatrix)){i=!0;break}}if(i)for(n=0;o>n;++n)u.transformToWorldCoordinates(e[n]);else l.clone(e[0].modelMatrix,t)}function f(e,t){for(var i=e.length,o=0;i>o;++o){var a=e[o],u=a.geometry,l=u.attributes,c=l.position,f=4*(c.values.length/c.componentsPerAttribute);l.pickColor=new s({componentDatatype:n.UNSIGNED_BYTE,componentsPerAttribute:4,normalize:!0,values:new Uint8Array(f)});for(var h=t[o],d=r.floatToByte(h.red),m=r.floatToByte(h.green),p=r.floatToByte(h.blue),y=r.floatToByte(h.alpha),v=l.pickColor.values,g=0;f>g;g+=4)v[g]=d,v[g+1]=m,v[g+2]=p,v[g+3]=y}}function h(t){var r,n=t.length,i=[],o=t[0].attributes;for(r in o)if(o.hasOwnProperty(r)){for(var a=o[r],s=!0,u=1;n>u;++u){var l=t[u].attributes[r];if(!e(l)||a.componentDatatype.value!==l.componentDatatype.value||a.componentsPerAttribute!==l.componentsPerAttribute||a.normalize!==l.normalize){s=!1;break}}s&&i.push(r)}return i}function d(e,t){for(var r=e.length,i=0;r>i;++i)for(var o=e[i],u=o.attributes,l=o.geometry,c=a.computeNumberOfVertices(l),f=t.length,h=0;f>h;++h){for(var d=t[h],m=u[d],p=m.componentDatatype,y=m.value,v=y.length,g=n.createTypedArray(p,c*v),E=0;c>E;++E)g.set(y,E*v);l.attributes[d]=new s({componentDatatype:p,componentsPerAttribute:v,normalize:m.normalize,values:g})}}function m(e){var t,r=e.instances,i=e.pickIds,o=e.projection,a=e.elementIndexUintSupported,s=e.allow3DOnly,l=e.allowPicking,m=e.vertexCacheOptimize,p=e.modelMatrix,y=r.length;if(r[0].geometry.primitiveType,c(r,p,s),!s)for(t=0;y>t;++t)u.wrapLongitude(r[t].geometry);l&&f(r,i);var v=h(r);if(d(r,v),m)for(t=0;y>t;++t)u.reorderForPostVertexCache(r[t].geometry),u.reorderForPreVertexCache(r[t].geometry);var g,E=u.combine(r),S=E.attributes;if(s)for(g in S)S.hasOwnProperty(g)&&S[g].componentDatatype.value===n.DOUBLE.value&&u.encodeAttribute(E,g,g+"3DHigh",g+"3DLow");else for(g in S)if(S.hasOwnProperty(g)&&S[g].componentDatatype.value===n.DOUBLE.value){var C=g+"3D",w=g+"2D";u.projectTo2D(E,g,C,w,o),u.encodeAttribute(E,C,C+"High",C+"Low"),u.encodeAttribute(E,w,w+"High",w+"Low")}return a?[E]:u.fitToUnsignedShortIndices(E)}function p(e,t,r){for(var i=[],o=e.attributes,a=r.length,s=0;a>s;++s){var u=r[s],l=o[u],c=l.componentDatatype;c.value===n.DOUBLE.value&&(c=n.FLOAT);var f=n.createTypedArray(c,l.values);i.push({index:t[u],componentDatatype:c,componentsPerAttribute:l.componentsPerAttribute,normalize:l.normalize,values:f}),delete o[u]}return i}function y(r,n,i){for(var o=[],s=h(r),u=r.length,l={},c={},f=0;u>f;++f)for(var d=r[f],m=a.computeNumberOfVertices(d.geometry),p=s.length,y=0;p>y;++y)for(var v=s[y],g=i[v],E=m;E>0;){for(var S,C=t(c[v],0),w=n[C],x=w.length,O=0;x>O&&(S=w[O],S.index!==g);++O);e(o[f])||(o[f]={}),e(o[f][v])||(o[f][v]={dirty:!1,value:d.attributes[v].value,indices:[]});var T,A=S.values.length/S.componentsPerAttribute,M=t(l[v],0);A>M+E?(T=E,o[f][v].indices.push({attribute:S,offset:M,count:T}),l[v]=M+E):(T=A-M,o[f][v].indices.push({attribute:S,offset:M,count:T}),l[v]=0,c[v]=C+1),E-=T}return o}function v(t){return e(t.constructor.name)?{type:t.constructor.name,buffer:t.buffer}:t}function g(t){return e(t.type)?new S[t.type](t.buffer):t}if(!o.supportsTypedArrays())return{};var E={};E.combineGeometry=function(e){for(var t={instances:e.instances,pickIds:e.pickIds,ellipsoid:e.ellipsoid,projection:e.projection,elementIndexUintSupported:e.elementIndexUintSupported,allow3DOnly:e.allow3DOnly,allowPicking:e.allowPicking,vertexCacheOptimize:e.vertexCacheOptimize,modelMatrix:l.clone(e.modelMatrix)},r=m(t),n=u.createAttributeLocations(r[0]),i=t.instances,o=h(i),a=[],s=r.length,c=0;s>c;++c){var f=r[c];a.push(p(f,n,o))}var d=y(i,a,n);return{geometries:r,modelMatrix:t.modelMatrix,attributeLocations:n,vaAttributes:a,vaAttributeLocations:d}};var S={Int8Array:Int8Array,Uint8Array:Uint8Array,Int16Array:Int16Array,Uint16Array:Uint16Array,Int32Array:Int32Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array};return E.transferGeometry=function(t,r){var n,i=t.attributes;for(var a in i)i.hasOwnProperty(a)&&e(i[a])&&e(i[a].values)&&(n=i[a].values,o.supportsTransferringArrayBuffers()&&r.indexOf(i[a].values.buffer)<0&&r.push(n.buffer),e(n.type)||(i[a].values=v(n)));e(t.indices)&&(n=t.indices,o.supportsTransferringArrayBuffers()&&r.push(n.buffer),e(n.type)||(t.indices=v(t.indices)))},E.transferGeometries=function(e,t){for(var r=e.length,n=0;r>n;++n)E.transferGeometry(e[n],t)},E.transferPerInstanceAttributes=function(e,t){for(var r=e.length,n=0;r>n;++n)for(var i=e[n],a=i.length,s=0;a>s;++s){var u=i[s].values;o.supportsTransferringArrayBuffers()&&t.push(u.buffer),i[s].values=v(u)}},E.transferInstances=function(e,t){for(var r=e.length,n=0;r>n;++n){var i=e[n];E.transferGeometry(i.geometry,t)}},E.receiveGeometry=function(t){var r=t.attributes;for(var n in r)r.hasOwnProperty(n)&&e(r[n])&&e(r[n].values)&&(r[n].values=g(r[n].values));e(t.indices)&&(t.indices=g(t.indices))},E.receiveGeometries=function(e){for(var t=e.length,r=0;t>r;++r)E.receiveGeometry(e[r])},E.receivePerInstanceAttributes=function(e){for(var t=e.length,r=0;t>r;++r)for(var n=e[r],i=n.length,o=0;i>o;++o)n[o].values=g(n[o].values)},E.receiveInstances=function(e){for(var t=e.length,r=0;t>r;++r){var n=e[r];E.receiveGeometry(n.geometry)}},E}),define("Workers/createTaskProcessorWorker",["../Core/defaultValue","../Core/defined"],function(e,t){"use strict";var r=function(r){var n,i=[],o={id:void 0,result:void 0,error:void 0};return function(a){var s=a.data;i.length=0,o.id=s.id,o.error=void 0,o.result=void 0;try{o.result=r(s.parameters,i)}catch(u){o.error=u}t(n)||(n=e(self.webkitPostMessage,self.postMessage));try{n(o,i)}catch(u){o.result=void 0,o.error="postMessage failed with error: "+u+"\n with responseMessage: "+JSON.stringify(o),n(o)}}};return r}),define("Workers/createPolygonOutlineGeometry",["../Core/PolygonOutlineGeometry","../Core/Ellipsoid","../Scene/PrimitivePipeline","./createTaskProcessorWorker"],function(e,t,r,n){"use strict";function i(n,i){var o=n.geometry;o._ellipsoid=t.clone(o._ellipsoid);var a=e.createGeometry(o);return r.transferGeometry(a,i),{geometry:a,index:n.index}}return n(i)})}(); \ No newline at end of file diff --git a/Cesium/Workers/createPolylineGeometry.js b/Cesium/Workers/createPolylineGeometry.js new file mode 100644 index 0000000..4952a78 --- /dev/null +++ b/Cesium/Workers/createPolylineGeometry.js @@ -0,0 +1,61 @@ +/** + * Cesium - https://github.com/AnalyticalGraphicsInc/cesium + * + * Copyright 2011-2014 Cesium Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Columbus View (Pat. Pend.) + * + * Portions licensed separately. + * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details. + */ +/** +@license +mersenne-twister.js - https://gist.github.com/banksean/300494 + + Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura, + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. The names of its contributors may not be used to endorse or promote + products derived from this software without specific prior written + permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +!function(){define("Core/defined",[],function(){"use strict";var e=function(e){return void 0!==e};return e}),define("Core/DeveloperError",["./defined"],function(e){"use strict";var t=function(e){this.name="DeveloperError",this.message=e;var t;try{throw new Error}catch(r){t=r.stack}this.stack=t};return t.prototype.toString=function(){var t=this.name+": "+this.message;return e(this.stack)&&(t+="\n"+this.stack.toString()),t},t.throwInstantiationError=function(){throw new t("This function defines an interface and should not be called directly.")},t}),define("Core/freezeObject",["./defined"],function(e){"use strict";var t=Object.freeze;return e(t)||(t=function(e){return e}),t}),define("Core/defaultValue",["./freezeObject"],function(e){"use strict";var t=function(e,t){return void 0!==e?e:t};return t.EMPTY_OBJECT=e({}),t}),define("Core/Fullscreen",["./defined"],function(e){"use strict";var t,r={requestFullscreen:void 0,exitFullscreen:void 0,fullscreenEnabled:void 0,fullscreenElement:void 0,fullscreenchange:void 0,fullscreenerror:void 0},n={};return n.supportsFullscreen=function(){if(e(t))return t;t=!1;var n=document.body;if("function"==typeof n.requestFullscreen)return r.requestFullscreen="requestFullscreen",r.exitFullscreen="exitFullscreen",r.fullscreenEnabled="fullscreenEnabled",r.fullscreenElement="fullscreenElement",r.fullscreenchange="fullscreenchange",r.fullscreenerror="fullscreenerror",t=!0;for(var a,i=["webkit","moz","o","ms","khtml"],o=0,s=i.length;s>o;++o){var u=i[o];a=u+"RequestFullscreen","function"==typeof n[a]?(r.requestFullscreen=a,t=!0):(a=u+"RequestFullScreen","function"==typeof n[a]&&(r.requestFullscreen=a,t=!0)),a=u+"ExitFullscreen","function"==typeof document[a]?r.exitFullscreen=a:(a=u+"CancelFullScreen","function"==typeof document[a]&&(r.exitFullscreen=a)),a=u+"FullscreenEnabled",e(document[a])?r.fullscreenEnabled=a:(a=u+"FullScreenEnabled",e(document[a])&&(r.fullscreenEnabled=a)),a=u+"FullscreenElement",e(document[a])?r.fullscreenElement=a:(a=u+"FullScreenElement",e(document[a])&&(r.fullscreenElement=a)),a=u+"fullscreenchange",e(document["on"+a])&&("ms"===u&&(a="MSFullscreenChange"),r.fullscreenchange=a),a=u+"fullscreenerror",e(document["on"+a])&&("ms"===u&&(a="MSFullscreenError"),r.fullscreenerror=a)}return t},n.requestFullscreen=function(e){n.supportsFullscreen()&&e[r.requestFullscreen]()},n.exitFullscreen=function(){n.supportsFullscreen()&&document[r.exitFullscreen]()},n.isFullscreenEnabled=function(){return n.supportsFullscreen()?document[r.fullscreenEnabled]:void 0},n.getFullscreenElement=function(){return n.supportsFullscreen()?document[r.fullscreenElement]:void 0},n.isFullscreen=function(){return n.supportsFullscreen()?null!==n.getFullscreenElement():void 0},n.getFullscreenChangeEventName=function(){return n.supportsFullscreen()?r.fullscreenchange:void 0},n.getFullscreenErrorEventName=function(){return n.supportsFullscreen()?r.fullscreenerror:void 0},n}),define("Core/FeatureDetection",["./defined","./Fullscreen"],function(e,t){"use strict";function r(e){for(var t=e.split("."),r=0,n=t.length;n>r;++r)t[r]=parseInt(t[r],10);return t}function n(){if(!e(f)){var t=/ Chrome\/([\.0-9]+)/.exec(navigator.userAgent);null===t?f=!1:(f=!0,m=r(t[1]))}return f}function a(){return n()&&m}function i(){if(!e(h))if(n()||!/ Safari\/[\.0-9]+/.test(navigator.userAgent))h=!1;else{var t=/ Version\/([\.0-9]+)/.exec(navigator.userAgent);null===t?h=!1:(h=!0,y=r(t[1]))}return h}function o(){return i()&&y}function s(){if(!e(p)){var t=/ AppleWebKit\/([\.0-9]+)(\+?)/.exec(navigator.userAgent);null===t?p=!1:(p=!0,d=r(t[1]),d.isNightly=!!t[2])}return p}function u(){return s()&&d}function l(){if(!e(v)){var t;"Microsoft Internet Explorer"===navigator.appName?(t=/MSIE ([0-9]{1,}[\.0-9]{0,})/.exec(navigator.userAgent),null!==t&&(v=!0,g=r(t[1]))):"Netscape"===navigator.appName?(t=/Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/.exec(navigator.userAgent),null!==t&&(v=!0,g=r(t[1]))):v=!1}return v}function c(){return l()&&g}var f,m,h,y,p,d,v,g,E={isChrome:n,chromeVersion:a,isSafari:i,safariVersion:o,isWebkit:s,webkitVersion:u,isInternetExplorer:l,internetExplorerVersion:c};E.supportsFullscreen=function(){return t.supportsFullscreen()},E.supportsTypedArrays=function(){return"undefined"!=typeof ArrayBuffer};var S;return E.supportsTransferringArrayBuffers=function(){if(!e(S)){if(!E.supportsTypedArrays())return S=!1,void 0;var t=new ArrayBuffer(1);try{postMessage({value:t},[t]),S=!0}catch(r){S=!1}}return S},E}),define("Core/Enumeration",["./defined"],function(e){"use strict";var t=function(t,r,n){if(this.value=t,this.name=r,e(n))for(var a in n)n.hasOwnProperty(a)&&(this[a]=n[a])};return t.prototype.valueOf=function(){return this.value},t.prototype.toString=function(){return this.name},t}),define("Core/ComponentDatatype",["./defaultValue","./defined","./DeveloperError","./FeatureDetection","./Enumeration"],function(e,t,r,n,a){"use strict";if(!n.supportsTypedArrays())return{};var i={BYTE:new a(5120,"BYTE",{sizeInBytes:Int8Array.BYTES_PER_ELEMENT}),UNSIGNED_BYTE:new a(5121,"UNSIGNED_BYTE",{sizeInBytes:Uint8Array.BYTES_PER_ELEMENT}),SHORT:new a(5122,"SHORT",{sizeInBytes:Int16Array.BYTES_PER_ELEMENT}),UNSIGNED_SHORT:new a(5123,"UNSIGNED_SHORT",{sizeInBytes:Uint16Array.BYTES_PER_ELEMENT}),FLOAT:new a(5126,"FLOAT",{sizeInBytes:Float32Array.BYTES_PER_ELEMENT}),DOUBLE:new a(5130,"DOUBLE",{sizeInBytes:Float64Array.BYTES_PER_ELEMENT})};return i.validate=function(e){return t(e)&&t(e.value)&&(e.value===i.BYTE.value||e.value===i.UNSIGNED_BYTE.value||e.value===i.SHORT.value||e.value===i.UNSIGNED_SHORT.value||e.value===i.FLOAT.value||e.value===i.DOUBLE.value)},i.createTypedArray=function(e,t){switch(e.value){case i.BYTE.value:return new Int8Array(t);case i.UNSIGNED_BYTE.value:return new Uint8Array(t);case i.SHORT.value:return new Int16Array(t);case i.UNSIGNED_SHORT.value:return new Uint16Array(t);case i.FLOAT.value:return new Float32Array(t);case i.DOUBLE.value:return new Float64Array(t);default:throw new r("componentDatatype is not a valid enumeration value.")}},i.createArrayBufferView=function(t,n,a,o){switch(a=e(a,0),o=e(o,(n.byteLength-a)/t.sizeInBytes),t.value){case i.BYTE.value:return new Int8Array(n,a,o);case i.UNSIGNED_BYTE.value:return new Uint8Array(n,a,o);case i.SHORT.value:return new Int16Array(n,a,o);case i.UNSIGNED_SHORT.value:return new Uint16Array(n,a,o);case i.FLOAT.value:return new Float32Array(n,a,o);case i.DOUBLE.value:return new Float64Array(n,a,o);default:throw new r("componentDatatype is not a valid enumeration value.")}},i}),define("ThirdParty/mersenne-twister",[],function(){var e=function(e){void 0==e&&(e=(new Date).getTime()),this.N=624,this.M=397,this.MATRIX_A=2567483615,this.UPPER_MASK=2147483648,this.LOWER_MASK=2147483647,this.mt=new Array(this.N),this.mti=this.N+1,this.init_genrand(e)};return e.prototype.init_genrand=function(e){for(this.mt[0]=e>>>0,this.mti=1;this.mti>>30;this.mt[this.mti]=(1812433253*((4294901760&e)>>>16)<<16)+1812433253*(65535&e)+this.mti,this.mt[this.mti]>>>=0}},e.prototype.genrand_int32=function(){var e,t=new Array(0,this.MATRIX_A);if(this.mti>=this.N){var r;for(this.mti==this.N+1&&this.init_genrand(5489),r=0;r>>1^t[1&e];for(;r>>1^t[1&e];e=this.mt[this.N-1]&this.UPPER_MASK|this.mt[0]&this.LOWER_MASK,this.mt[this.N-1]=this.mt[this.M-1]^e>>>1^t[1&e],this.mti=0}return e=this.mt[this.mti++],e^=e>>>11,e^=2636928640&e<<7,e^=4022730752&e<<15,e^=e>>>18,e>>>0},e.prototype.random=function(){return this.genrand_int32()*(1/4294967296)},e}),define("Core/Math",["./defaultValue","./defined","./DeveloperError","../ThirdParty/mersenne-twister"],function(e,t,r,n){"use strict";var a={};a.EPSILON1=.1,a.EPSILON2=.01,a.EPSILON3=.001,a.EPSILON4=1e-4,a.EPSILON5=1e-5,a.EPSILON6=1e-6,a.EPSILON7=1e-7,a.EPSILON8=1e-8,a.EPSILON9=1e-9,a.EPSILON10=1e-10,a.EPSILON11=1e-11,a.EPSILON12=1e-12,a.EPSILON13=1e-13,a.EPSILON14=1e-14,a.EPSILON15=1e-15,a.EPSILON16=1e-16,a.EPSILON17=1e-17,a.EPSILON18=1e-18,a.EPSILON19=1e-19,a.EPSILON20=1e-20,a.GRAVITATIONALPARAMETER=3986004418e5,a.SOLAR_RADIUS=6955e5,a.LUNAR_RADIUS=1737400,a.SIXTY_FOUR_KILOBYTES=65536,a.sign=function(e){return e>0?1:0>e?-1:0},a.sinh=function(e){var t=Math.pow(Math.E,e),r=Math.pow(Math.E,-1*e);return.5*(t-r)},a.cosh=function(e){var t=Math.pow(Math.E,e),r=Math.pow(Math.E,-1*e);return.5*(t+r)},a.lerp=function(e,t,r){return(1-r)*e+r*t},a.PI=Math.PI,a.ONE_OVER_PI=1/Math.PI,a.PI_OVER_TWO=.5*Math.PI,a.PI_OVER_THREE=Math.PI/3,a.PI_OVER_FOUR=Math.PI/4,a.PI_OVER_SIX=Math.PI/6,a.THREE_PI_OVER_TWO=.5*3*Math.PI,a.TWO_PI=2*Math.PI,a.ONE_OVER_TWO_PI=1/(2*Math.PI),a.RADIANS_PER_DEGREE=Math.PI/180,a.DEGREES_PER_RADIAN=180/Math.PI,a.RADIANS_PER_ARCSECOND=a.RADIANS_PER_DEGREE/3600,a.toRadians=function(e){return e*a.RADIANS_PER_DEGREE},a.toDegrees=function(e){return e*a.DEGREES_PER_RADIAN},a.convertLongitudeRange=function(e){var t=a.TWO_PI,r=e-Math.floor(e/t)*t;return r<-Math.PI?r+t:r>=Math.PI?r-t:r},a.negativePiToPi=function(e){for(var t=a.EPSILON10,r=a.PI,n=a.TWO_PI;-(r+t)>e;)e+=n;if(-r>e)return-r;for(;e>r+t;)e-=n;return e>r?r:e},a.zeroToTwoPi=function(e){var t=e%a.TWO_PI;return 0>t?(t+a.TWO_PI)%a.TWO_PI:t},a.equalsEpsilon=function(t,r,n){return n=e(n,0),Math.abs(t-r)<=n};var i=[1];a.factorial=function(e){var t=i.length;if(e>=t)for(var r=i[t-1],n=t;e>=n;n++)i.push(r*n);return i[e]},a.incrementWrap=function(t,r,n){return n=e(n,0),++t,t>r&&(t=n),t},a.isPowerOfTwo=function(e){return 0!==e&&0===(e&e-1)},a.nextPowerOfTwo=function(e){return--e,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,++e,e},a.clamp=function(e,t,r){return t>e?t:e>r?r:e};var o=new n;return a.setRandomNumberSeed=function(e){o=new n(e)},a.nextRandomNumber=function(){return o.random()},a}),define("Core/IndexDatatype",["./defined","./DeveloperError","./Math"],function(e,t,r){"use strict";var n={UNSIGNED_BYTE:5121,UNSIGNED_SHORT:5123,UNSIGNED_INT:5125};return n.getSizeInBytes=function(e){switch(e){case n.UNSIGNED_BYTE:return Uint8Array.BYTES_PER_ELEMENT;case n.UNSIGNED_SHORT:return Uint16Array.BYTES_PER_ELEMENT;case n.UNSIGNED_INT:return Uint32Array.BYTES_PER_ELEMENT}},n.validate=function(t){return e(t)&&(t===n.UNSIGNED_BYTE||t===n.UNSIGNED_SHORT||t===n.UNSIGNED_INT)},n.createTypedArray=function(e,t){return e>r.SIXTY_FOUR_KILOBYTES?new Uint32Array(t):new Uint16Array(t)},n}),define("Core/PrimitiveType",[],function(){"use strict";var e={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,validate:function(t){return t===e.POINTS||t===e.LINES||t===e.LINE_LOOP||t===e.LINE_STRIP||t===e.TRIANGLES||t===e.TRIANGLE_STRIP||t===e.TRIANGLE_FAN}};return e}),define("Core/Cartesian3",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,t,r,n){"use strict";var a=function(t,r,n){this.x=e(t,0),this.y=e(r,0),this.z=e(n,0)};a.fromSpherical=function(r,n){t(n)||(n=new a);var i=r.clock,o=r.cone,s=e(r.magnitude,1),u=s*Math.sin(o);return n.x=u*Math.cos(i),n.y=u*Math.sin(i),n.z=s*Math.cos(o),n},a.fromElements=function(e,r,n,i){return t(i)?(i.x=e,i.y=r,i.z=n,i):new a(e,r,n)},a.clone=function(e,r){return t(e)?t(r)?(r.x=e.x,r.y=e.y,r.z=e.z,r):new a(e.x,e.y,e.z):void 0},a.fromCartesian4=a.clone,a.packedLength=3,a.pack=function(t,r,n){n=e(n,0),r[n++]=t.x,r[n++]=t.y,r[n]=t.z},a.unpack=function(r,n,i){return n=e(n,0),t(i)||(i=new a),i.x=r[n++],i.y=r[n++],i.z=r[n],i},a.fromArray=a.unpack,a.getMaximumComponent=function(e){return Math.max(e.x,e.y,e.z)},a.getMinimumComponent=function(e){return Math.min(e.x,e.y,e.z)},a.getMinimumByComponent=function(e,r,n){return t(n)||(n=new a),n.x=Math.min(e.x,r.x),n.y=Math.min(e.y,r.y),n.z=Math.min(e.z,r.z),n},a.getMaximumByComponent=function(e,r,n){return t(n)||(n=new a),n.x=Math.max(e.x,r.x),n.y=Math.max(e.y,r.y),n.z=Math.max(e.z,r.z),n},a.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z},a.magnitude=function(e){return Math.sqrt(a.magnitudeSquared(e))};var i=new a;a.distance=function(e,t){return a.subtract(e,t,i),a.magnitude(i)},a.normalize=function(e,r){var n=a.magnitude(e);return t(r)?(r.x=e.x/n,r.y=e.y/n,r.z=e.z/n,r):new a(e.x/n,e.y/n,e.z/n)},a.dot=function(e,t){return e.x*t.x+e.y*t.y+e.z*t.z},a.multiplyComponents=function(e,r,n){return t(n)?(n.x=e.x*r.x,n.y=e.y*r.y,n.z=e.z*r.z,n):new a(e.x*r.x,e.y*r.y,e.z*r.z)},a.add=function(e,r,n){return t(n)?(n.x=e.x+r.x,n.y=e.y+r.y,n.z=e.z+r.z,n):new a(e.x+r.x,e.y+r.y,e.z+r.z)},a.subtract=function(e,r,n){return t(n)?(n.x=e.x-r.x,n.y=e.y-r.y,n.z=e.z-r.z,n):new a(e.x-r.x,e.y-r.y,e.z-r.z)},a.multiplyByScalar=function(e,r,n){return t(n)?(n.x=e.x*r,n.y=e.y*r,n.z=e.z*r,n):new a(e.x*r,e.y*r,e.z*r)},a.divideByScalar=function(e,r,n){return t(n)?(n.x=e.x/r,n.y=e.y/r,n.z=e.z/r,n):new a(e.x/r,e.y/r,e.z/r)},a.negate=function(e,r){return t(r)?(r.x=-e.x,r.y=-e.y,r.z=-e.z,r):new a(-e.x,-e.y,-e.z)},a.abs=function(e,r){return t(r)?(r.x=Math.abs(e.x),r.y=Math.abs(e.y),r.z=Math.abs(e.z),r):new a(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z))};var o=new a;a.lerp=function(e,t,r,n){return a.multiplyByScalar(t,r,o),n=a.multiplyByScalar(e,1-r,n),a.add(o,n,n)};var s=new a,u=new a;a.angleBetween=function(e,t){a.normalize(e,s),a.normalize(t,u);var r=a.dot(s,u),n=a.magnitude(a.cross(s,u,s));return Math.atan2(n,r)};var l=new a;return a.mostOrthogonalAxis=function(e,t){var r=a.normalize(e,l);return a.abs(r,r),t=r.x<=r.y?r.x<=r.z?a.clone(a.UNIT_X,t):a.clone(a.UNIT_Z,t):r.y<=r.z?a.clone(a.UNIT_Y,t):a.clone(a.UNIT_Z,t)},a.equals=function(e,r){return e===r||t(e)&&t(r)&&e.x===r.x&&e.y===r.y&&e.z===r.z},a.equalsEpsilon=function(e,r,n){return e===r||t(e)&&t(r)&&Math.abs(e.x-r.x)<=n&&Math.abs(e.y-r.y)<=n&&Math.abs(e.z-r.z)<=n},a.cross=function(e,r,n){var i=e.x,o=e.y,s=e.z,u=r.x,l=r.y,c=r.z,f=o*c-s*l,m=s*u-i*c,h=i*l-o*u;return t(n)?(n.x=f,n.y=m,n.z=h,n):new a(f,m,h)},a.ZERO=n(new a(0,0,0)),a.UNIT_X=n(new a(1,0,0)),a.UNIT_Y=n(new a(0,1,0)),a.UNIT_Z=n(new a(0,0,1)),a.prototype.clone=function(e){return a.clone(this,e)},a.prototype.equals=function(e){return a.equals(this,e)},a.prototype.equalsEpsilon=function(e,t){return a.equalsEpsilon(this,e,t)},a.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+")"},a}),define("Core/Cartographic",["./defaultValue","./defined","./DeveloperError","./freezeObject","./Math"],function(e,t,r,n,a){"use strict";var i=function(t,r,n){this.longitude=e(t,0),this.latitude=e(r,0),this.height=e(n,0)};return i.fromDegrees=function(r,n,o,s){return r=a.toRadians(e(r,0)),n=a.toRadians(e(n,0)),o=e(o,0),t(s)?(s.longitude=r,s.latitude=n,s.height=o,s):new i(r,n,o)},i.clone=function(e,r){return t(e)?t(r)?(r.longitude=e.longitude,r.latitude=e.latitude,r.height=e.height,r):new i(e.longitude,e.latitude,e.height):void 0},i.equals=function(e,r){return e===r||t(e)&&t(r)&&e.longitude===r.longitude&&e.latitude===r.latitude&&e.height===r.height},i.equalsEpsilon=function(e,r,n){return e===r||t(e)&&t(r)&&Math.abs(e.longitude-r.longitude)<=n&&Math.abs(e.latitude-r.latitude)<=n&&Math.abs(e.height-r.height)<=n},i.toString=function(e){return"("+e.longitude+", "+e.latitude+", "+e.height+")"},i.ZERO=n(new i(0,0,0)),i.prototype.clone=function(e){return i.clone(this,e)},i.prototype.equals=function(e){return i.equals(this,e)},i.prototype.equalsEpsilon=function(e,t){return i.equalsEpsilon(this,e,t)},i.prototype.toString=function(){return i.toString(this)},i}),define("Core/defineProperties",["./defined"],function(e){"use strict";var t=function(){try{return"x"in Object.defineProperty({},"x",{})}catch(e){return!1}}(),r=Object.defineProperties;return t&&e(r)||(r=function(e){return e}),r}),define("Core/Ellipsoid",["./freezeObject","./defaultValue","./defined","./defineProperties","./DeveloperError","./Math","./Cartesian3","./Cartographic"],function(e,t,r,n,a,i,o,s){"use strict";var u=function(e,r,n){e=t(e,0),r=t(r,0),n=t(n,0),this._radii=new o(e,r,n),this._radiiSquared=new o(e*e,r*r,n*n),this._radiiToTheFourth=new o(e*e*e*e,r*r*r*r,n*n*n*n),this._oneOverRadii=new o(0===e?0:1/e,0===r?0:1/r,0===n?0:1/n),this._oneOverRadiiSquared=new o(0===e?0:1/(e*e),0===r?0:1/(r*r),0===n?0:1/(n*n)),this._minimumRadius=Math.min(e,r,n),this._maximumRadius=Math.max(e,r,n),this._centerToleranceSquared=i.EPSILON1};n(u.prototype,{radii:{get:function(){return this._radii}},radiiSquared:{get:function(){return this._radiiSquared}},radiiToTheFourth:{get:function(){return this._radiiToTheFourth}},oneOverRadii:{get:function(){return this._oneOverRadii}},oneOverRadiiSquared:{get:function(){return this._oneOverRadiiSquared}},minimumRadius:{get:function(){return this._minimumRadius}},maximumRadius:{get:function(){return this._maximumRadius}}}),u.clone=function(e,t){if(!r(e))return void 0;var n=e._radii;return r(t)?(o.clone(n,t._radii),o.clone(e._radiiSquared,t._radiiSquared),o.clone(e._radiiToTheFourth,t._radiiToTheFourth),o.clone(e._oneOverRadii,t._oneOverRadii),o.clone(e._oneOverRadiiSquared,t._oneOverRadiiSquared),t._minimumRadius=e._minimumRadius,t._maximumRadius=e._maximumRadius,t._centerToleranceSquared=e._centerToleranceSquared,t):new u(n.x,n.y,n.z)},u.fromCartesian3=function(e){return r(e)?new u(e.x,e.y,e.z):new u},u.WGS84=e(new u(6378137,6378137,6356752.314245179)),u.UNIT_SPHERE=e(new u(1,1,1)),u.MOON=e(new u(i.LUNAR_RADIUS,i.LUNAR_RADIUS,i.LUNAR_RADIUS)),u.prototype.clone=function(e){return u.clone(this,e)},u.prototype.geocentricSurfaceNormal=o.normalize,u.prototype.geodeticSurfaceNormalCartographic=function(e,t){var n=e.longitude,a=e.latitude,i=Math.cos(a),s=i*Math.cos(n),u=i*Math.sin(n),l=Math.sin(a);return r(t)||(t=new o),t.x=s,t.y=u,t.z=l,o.normalize(t,t)},u.prototype.geodeticSurfaceNormal=function(e,t){return t=o.multiplyComponents(e,this._oneOverRadiiSquared,t),o.normalize(t,t)};var l=new o,c=new o;u.prototype.cartographicToCartesian=function(e,t){var r=l,n=c;this.geodeticSurfaceNormalCartographic(e,r),o.multiplyComponents(this._radiiSquared,r,n);var a=Math.sqrt(o.dot(r,n));return o.divideByScalar(n,a,n),o.multiplyByScalar(r,e.height,r),o.add(n,r,t)},u.prototype.cartographicArrayToCartesianArray=function(e,t){var n=e.length;r(t)?t.length=n:t=new Array(n);for(var a=0;n>a;a++)t[a]=this.cartographicToCartesian(e[a],t[a]);return t};var f=new o,m=new o,h=new o;u.prototype.cartesianToCartographic=function(e,t){var n=this.scaleToGeodeticSurface(e,m);if(!r(n))return void 0;var a=this.geodeticSurfaceNormal(n,f),u=o.subtract(e,n,h),l=Math.atan2(a.y,a.x),c=Math.asin(a.z),y=i.sign(o.dot(u,e))*o.magnitude(u);return r(t)?(t.longitude=l,t.latitude=c,t.height=y,t):new s(l,c,y)},u.prototype.cartesianArrayToCartographicArray=function(e,t){var n=e.length;r(t)?t.length=n:t=new Array(n);for(var a=0;n>a;++a)t[a]=this.cartesianToCartographic(e[a],t[a]);return t};var y=new o,p=new o;return u.prototype.scaleToGeodeticSurface=function(e,t){var n=e.x,a=e.y,s=e.z,u=this._oneOverRadii,l=u.x,c=u.y,f=u.z,m=n*n*l*l,h=a*a*c*c,d=s*s*f*f,v=m+h+d,g=Math.sqrt(1/v),E=o.multiplyByScalar(e,g,y);if(vi.EPSILON12);return r(t)?(t.x=n*b,t.y=a*O,t.z=s*I,t):new o(n*b,a*O,s*I)},u.prototype.scaleToGeocentricSurface=function(e,t){var r=e.x,n=e.y,a=e.z,i=this._oneOverRadiiSquared,s=1/Math.sqrt(r*r*i.x+n*n*i.y+a*a*i.z);return o.multiplyByScalar(e,s,t)},u.prototype.transformPositionToScaledSpace=function(e,t){return o.multiplyComponents(e,this._oneOverRadii,t)},u.prototype.transformPositionFromScaledSpace=function(e,t){return o.multiplyComponents(e,this._radii,t)},u.prototype.equals=function(e){return this===e||r(e)&&o.equals(this._radii,e._radii)},u.prototype.toString=function(){return this._radii.toString()},u}),define("Core/GeographicProjection",["./defaultValue","./defined","./defineProperties","./Cartesian3","./Cartographic","./Ellipsoid"],function(e,t,r,n,a,i){"use strict";var o=function(t){this._ellipsoid=e(t,i.WGS84),this._semimajorAxis=this._ellipsoid.maximumRadius,this._oneOverSemimajorAxis=1/this._semimajorAxis};return r(o.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}}),o.prototype.project=function(e,r){var a=this._semimajorAxis,i=e.longitude*a,o=e.latitude*a,s=e.height;return t(r)?(r.x=i,r.y=o,r.z=s,r):new n(i,o,s)},o.prototype.unproject=function(e,r){var n=this._oneOverSemimajorAxis,i=e.x*n,o=e.y*n,s=e.z;return t(r)?(r.longitude=i,r.latitude=o,r.height=s,r):new a(i,o,s)},o}),define("Core/Intersect",["./Enumeration"],function(e){"use strict";var t={OUTSIDE:new e(-1,"OUTSIDE"),INTERSECTING:new e(0,"INTERSECTING"),INSIDE:new e(1,"INSIDE")};return t}),define("Core/Interval",["./defaultValue"],function(e){"use strict";var t=function(t,r){this.start=e(t,0),this.stop=e(r,0)};return t}),define("Core/Cartesian4",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,t,r,n){"use strict";var a=function(t,r,n,a){this.x=e(t,0),this.y=e(r,0),this.z=e(n,0),this.w=e(a,0)};a.fromElements=function(e,r,n,i,o){return t(o)?(o.x=e,o.y=r,o.z=n,o.w=i,o):new a(e,r,n,i)},a.clone=function(e,r){return t(e)?t(r)?(r.x=e.x,r.y=e.y,r.z=e.z,r.w=e.w,r):new a(e.x,e.y,e.z,e.w):void 0},a.packedLength=4,a.pack=function(t,r,n){n=e(n,0),r[n++]=t.x,r[n++]=t.y,r[n++]=t.z,r[n]=t.w},a.unpack=function(r,n,i){return n=e(n,0),t(i)||(i=new a),i.x=r[n++],i.y=r[n++],i.z=r[n++],i.w=r[n],i},a.fromArray=a.unpack,a.getMaximumComponent=function(e){return Math.max(e.x,e.y,e.z,e.w)},a.getMinimumComponent=function(e){return Math.min(e.x,e.y,e.z,e.w)},a.getMinimumByComponent=function(e,r,n){return t(n)||(n=new a),n.x=Math.min(e.x,r.x),n.y=Math.min(e.y,r.y),n.z=Math.min(e.z,r.z),n.w=Math.min(e.w,r.w),n},a.getMaximumByComponent=function(e,r,n){return t(n)||(n=new a),n.x=Math.max(e.x,r.x),n.y=Math.max(e.y,r.y),n.z=Math.max(e.z,r.z),n.w=Math.max(e.w,r.w),n},a.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w},a.magnitude=function(e){return Math.sqrt(a.magnitudeSquared(e))};var i=new a;a.distance=function(e,t){return a.subtract(e,t,i),a.magnitude(i)},a.normalize=function(e,r){var n=a.magnitude(e);return t(r)?(r.x=e.x/n,r.y=e.y/n,r.z=e.z/n,r.w=e.w/n,r):new a(e.x/n,e.y/n,e.z/n,e.w/n)},a.dot=function(e,t){return e.x*t.x+e.y*t.y+e.z*t.z+e.w*t.w},a.multiplyComponents=function(e,r,n){return t(n)?(n.x=e.x*r.x,n.y=e.y*r.y,n.z=e.z*r.z,n.w=e.w*r.w,n):new a(e.x*r.x,e.y*r.y,e.z*r.z,e.w*r.w)},a.add=function(e,r,n){return t(n)?(n.x=e.x+r.x,n.y=e.y+r.y,n.z=e.z+r.z,n.w=e.w+r.w,n):new a(e.x+r.x,e.y+r.y,e.z+r.z,e.w+r.w)},a.subtract=function(e,r,n){return t(n)?(n.x=e.x-r.x,n.y=e.y-r.y,n.z=e.z-r.z,n.w=e.w-r.w,n):new a(e.x-r.x,e.y-r.y,e.z-r.z,e.w-r.w)},a.multiplyByScalar=function(e,r,n){return t(n)?(n.x=e.x*r,n.y=e.y*r,n.z=e.z*r,n.w=e.w*r,n):new a(e.x*r,e.y*r,e.z*r,e.w*r)},a.divideByScalar=function(e,r,n){return t(n)?(n.x=e.x/r,n.y=e.y/r,n.z=e.z/r,n.w=e.w/r,n):new a(e.x/r,e.y/r,e.z/r,e.w/r)},a.negate=function(e,r){return t(r)?(r.x=-e.x,r.y=-e.y,r.z=-e.z,r.w=-e.w,r):new a(-e.x,-e.y,-e.z,-e.w)},a.abs=function(e,r){return t(r)?(r.x=Math.abs(e.x),r.y=Math.abs(e.y),r.z=Math.abs(e.z),r.w=Math.abs(e.w),r):new a(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z),Math.abs(e.w))};var o=new a;a.lerp=function(e,t,r,n){return a.multiplyByScalar(t,r,o),n=a.multiplyByScalar(e,1-r,n),a.add(o,n,n)};var s=new a;return a.mostOrthogonalAxis=function(e,t){var r=a.normalize(e,s);return a.abs(r,r),t=r.x<=r.y?r.x<=r.z?r.x<=r.w?a.clone(a.UNIT_X,t):a.clone(a.UNIT_W,t):r.z<=r.w?a.clone(a.UNIT_Z,t):a.clone(a.UNIT_W,t):r.y<=r.z?r.y<=r.w?a.clone(a.UNIT_Y,t):a.clone(a.UNIT_W,t):r.z<=r.w?a.clone(a.UNIT_Z,t):a.clone(a.UNIT_W,t)},a.equals=function(e,r){return e===r||t(e)&&t(r)&&e.x===r.x&&e.y===r.y&&e.z===r.z&&e.w===r.w},a.equalsEpsilon=function(e,r,n){return e===r||t(e)&&t(r)&&Math.abs(e.x-r.x)<=n&&Math.abs(e.y-r.y)<=n&&Math.abs(e.z-r.z)<=n&&Math.abs(e.w-r.w)<=n},a.ZERO=n(new a(0,0,0,0)),a.UNIT_X=n(new a(1,0,0,0)),a.UNIT_Y=n(new a(0,1,0,0)),a.UNIT_Z=n(new a(0,0,1,0)),a.UNIT_W=n(new a(0,0,0,1)),a.prototype.clone=function(e){return a.clone(this,e)},a.prototype.equals=function(e){return a.equals(this,e)},a.prototype.equalsEpsilon=function(e,t){return a.equalsEpsilon(this,e,t)},a.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+", "+this.w+")"},a}),define("Core/Matrix3",["./Cartesian3","./defaultValue","./defined","./DeveloperError","./freezeObject","./Math"],function(e,t,r,n,a,i){"use strict";function o(e){for(var t=0,r=0;9>r;++r){var n=e[r];t+=n*n}return Math.sqrt(t)}function s(e){for(var t=0,r=0;3>r;++r){var n=e[l.getElementIndex(f[r],c[r])];t+=2*n*n}return Math.sqrt(t)}function u(e,t){for(var r=i.EPSILON15,n=0,a=1,o=0;3>o;++o){var s=Math.abs(e[l.getElementIndex(f[o],c[o])]);s>n&&(a=o,n=s)}var u=1,m=0,h=c[a],y=f[a];if(Math.abs(e[l.getElementIndex(y,h)])>r){var p,d=e[l.getElementIndex(y,y)],v=e[l.getElementIndex(h,h)],g=e[l.getElementIndex(y,h)],E=(d-v)/2/g;p=0>E?-1/(-E+Math.sqrt(1+E*E)):1/(E+Math.sqrt(1+E*E)),u=1/Math.sqrt(1+p*p),m=p*u}return t=l.clone(l.IDENTITY,t),t[l.getElementIndex(h,h)]=t[l.getElementIndex(y,y)]=u,t[l.getElementIndex(y,h)]=m,t[l.getElementIndex(h,y)]=-m,t}var l=function(e,r,n,a,i,o,s,u,l){this[0]=t(e,0),this[1]=t(a,0),this[2]=t(s,0),this[3]=t(r,0),this[4]=t(i,0),this[5]=t(u,0),this[6]=t(n,0),this[7]=t(o,0),this[8]=t(l,0)};l.clone=function(e,t){return r(e)?r(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t):new l(e[0],e[3],e[6],e[1],e[4],e[7],e[2],e[5],e[8]):void 0},l.fromArray=function(e,n,a){return n=t(n,0),r(a)||(a=new l),a[0]=e[n],a[1]=e[n+1],a[2]=e[n+2],a[3]=e[n+3],a[4]=e[n+4],a[5]=e[n+5],a[6]=e[n+6],a[7]=e[n+7],a[8]=e[n+8],a[9]=e[n+9],a},l.fromColumnMajorArray=function(e,t){return l.clone(e,t)},l.fromRowMajorArray=function(e,t){return r(t)?(t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8],t):new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])},l.fromQuaternion=function(e,t){var n=e.x*e.x,a=e.x*e.y,i=e.x*e.z,o=e.x*e.w,s=e.y*e.y,u=e.y*e.z,c=e.y*e.w,f=e.z*e.z,m=e.z*e.w,h=e.w*e.w,y=n-s-f+h,p=2*(a-m),d=2*(i+c),v=2*(a+m),g=-n+s-f+h,E=2*(u-o),S=2*(i-c),C=2*(u+o),w=-n-s+f+h;return r(t)?(t[0]=y,t[1]=v,t[2]=S,t[3]=p,t[4]=g,t[5]=C,t[6]=d,t[7]=E,t[8]=w,t):new l(y,p,d,v,g,E,S,C,w)},l.fromScale=function(e,t){return r(t)?(t[0]=e.x,t[1]=0,t[2]=0,t[3]=0,t[4]=e.y,t[5]=0,t[6]=0,t[7]=0,t[8]=e.z,t):new l(e.x,0,0,0,e.y,0,0,0,e.z)},l.fromUniformScale=function(e,t){return r(t)?(t[0]=e,t[1]=0,t[2]=0,t[3]=0,t[4]=e,t[5]=0,t[6]=0,t[7]=0,t[8]=e,t):new l(e,0,0,0,e,0,0,0,e)},l.fromRotationX=function(e,t){var n=Math.cos(e),a=Math.sin(e);return r(t)?(t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=n,t[5]=a,t[6]=0,t[7]=-a,t[8]=n,t):new l(1,0,0,0,n,-a,0,a,n)},l.fromRotationY=function(e,t){var n=Math.cos(e),a=Math.sin(e);return r(t)?(t[0]=n,t[1]=0,t[2]=-a,t[3]=0,t[4]=1,t[5]=0,t[6]=a,t[7]=0,t[8]=n,t):new l(n,0,a,0,1,0,-a,0,n)},l.fromRotationZ=function(e,t){var n=Math.cos(e),a=Math.sin(e);return r(t)?(t[0]=n,t[1]=a,t[2]=0,t[3]=-a,t[4]=n,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t):new l(n,-a,0,a,n,0,0,0,1)},l.toArray=function(e,t){return r(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8]]},l.getElementIndex=function(e,t){return 3*e+t},l.getColumn=function(t,n,a){var i=3*n,o=t[i],s=t[i+1],u=t[i+2];return r(a)?(a.x=o,a.y=s,a.z=u,a):new e(o,s,u)},l.setColumn=function(e,t,r,n){n=l.clone(e,n);var a=3*t;return n[a]=r.x,n[a+1]=r.y,n[a+2]=r.z,n},l.getRow=function(t,n,a){var i=t[n],o=t[n+3],s=t[n+6];return r(a)?(a.x=i,a.y=o,a.z=s,a):new e(i,o,s)},l.setRow=function(e,t,r,n){return n=l.clone(e,n),n[t]=r.x,n[t+3]=r.y,n[t+6]=r.z,n},l.multiply=function(e,t,n){var a=e[0]*t[0]+e[3]*t[1]+e[6]*t[2],i=e[1]*t[0]+e[4]*t[1]+e[7]*t[2],o=e[2]*t[0]+e[5]*t[1]+e[8]*t[2],s=e[0]*t[3]+e[3]*t[4]+e[6]*t[5],u=e[1]*t[3]+e[4]*t[4]+e[7]*t[5],c=e[2]*t[3]+e[5]*t[4]+e[8]*t[5],f=e[0]*t[6]+e[3]*t[7]+e[6]*t[8],m=e[1]*t[6]+e[4]*t[7]+e[7]*t[8],h=e[2]*t[6]+e[5]*t[7]+e[8]*t[8];return r(n)?(n[0]=a,n[1]=i,n[2]=o,n[3]=s,n[4]=u,n[5]=c,n[6]=f,n[7]=m,n[8]=h,n):new l(a,s,f,i,u,m,o,c,h)},l.multiplyByVector=function(t,n,a){var i=n.x,o=n.y,s=n.z,u=t[0]*i+t[3]*o+t[6]*s,l=t[1]*i+t[4]*o+t[7]*s,c=t[2]*i+t[5]*o+t[8]*s;return r(a)?(a.x=u,a.y=l,a.z=c,a):new e(u,l,c)},l.multiplyByScalar=function(e,t,n){return r(n)?(n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n[4]=e[4]*t,n[5]=e[5]*t,n[6]=e[6]*t,n[7]=e[7]*t,n[8]=e[8]*t,n):new l(e[0]*t,e[3]*t,e[6]*t,e[1]*t,e[4]*t,e[7]*t,e[2]*t,e[5]*t,e[8]*t)},l.negate=function(e,t){return r(t)?(t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t[4]=-e[4],t[5]=-e[5],t[6]=-e[6],t[7]=-e[7],t[8]=-e[8],t):new l(-e[0],-e[3],-e[6],-e[1],-e[4],-e[7],-e[2],-e[5],-e[8])},l.transpose=function(e,t){var n=e[0],a=e[3],i=e[6],o=e[1],s=e[4],u=e[7],c=e[2],f=e[5],m=e[8];return r(t)?(t[0]=n,t[1]=a,t[2]=i,t[3]=o,t[4]=s,t[5]=u,t[6]=c,t[7]=f,t[8]=m,t):new l(n,o,c,a,s,f,i,u,m)};var c=[1,0,0],f=[2,2,1],m=new l,h=new l;return l.getEigenDecomposition=function(e,t){var n=i.EPSILON20,a=10,c=0,f=0;r(t)||(t={});for(var y=t.unitary=l.clone(l.IDENTITY,t.unitary),p=t.diagonal=l.clone(e,t.diagonal),d=n*o(p);a>f&&s(p)>d;)u(p,m),l.transpose(m,h),l.multiply(p,m,p),l.multiply(h,p,p),l.multiply(y,m,y),++c>2&&(++f,c=0);return t},l.abs=function(e,t){return r(t)?(t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t[3]=Math.abs(e[3]),t[4]=Math.abs(e[4]),t[5]=Math.abs(e[5]),t[6]=Math.abs(e[6]),t[7]=Math.abs(e[7]),t[8]=Math.abs(e[8]),t):new l(Math.abs(e[0]),Math.abs(e[3]),Math.abs(e[6]),Math.abs(e[1]),Math.abs(e[4]),Math.abs(e[7]),Math.abs(e[2]),Math.abs(e[5]),Math.abs(e[8]))},l.determinant=function(e){var t=e[0],r=e[3],n=e[6],a=e[1],i=e[4],o=e[7],s=e[2],u=e[5],l=e[8];return t*(i*l-u*o)+a*(u*n-r*l)+s*(r*o-i*n)},l.inverse=function(e,t){var r=e[0],a=e[1],o=e[2],s=e[3],u=e[4],c=e[5],f=e[6],m=e[7],h=e[8],y=l.determinant(e);if(Math.abs(y)<=i.EPSILON15)throw new n("matrix is not invertible");var p=new l(u*h-m*c,f*c-s*h,s*m-f*u,m*o-a*h,r*h-f*o,f*a-r*m,a*c-u*o,s*o-r*c,r*u-s*a),d=1/y;return l.multiplyByScalar(p,d,t)},l.equals=function(e,t){return e===t||r(e)&&r(t)&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]},l.equalsEpsilon=function(e,t,n){return e===t||r(e)&&r(t)&&Math.abs(e[0]-t[0])<=n&&Math.abs(e[1]-t[1])<=n&&Math.abs(e[2]-t[2])<=n&&Math.abs(e[3]-t[3])<=n&&Math.abs(e[4]-t[4])<=n&&Math.abs(e[5]-t[5])<=n&&Math.abs(e[6]-t[6])<=n&&Math.abs(e[7]-t[7])<=n&&Math.abs(e[8]-t[8])<=n},l.IDENTITY=a(new l(1,0,0,0,1,0,0,0,1)),l.COLUMN0ROW0=0,l.COLUMN0ROW1=1,l.COLUMN0ROW2=2,l.COLUMN1ROW0=3,l.COLUMN1ROW1=4,l.COLUMN1ROW2=5,l.COLUMN2ROW0=6,l.COLUMN2ROW1=7,l.COLUMN2ROW2=8,l.prototype.clone=function(e){return l.clone(this,e)},l.prototype.equals=function(e){return l.equals(this,e)},l.prototype.equalsEpsilon=function(e,t){return l.equalsEpsilon(this,e,t)},l.prototype.toString=function(){return"("+this[0]+", "+this[3]+", "+this[6]+")\n"+"("+this[1]+", "+this[4]+", "+this[7]+")\n"+"("+this[2]+", "+this[5]+", "+this[8]+")"},l}),define("Core/RuntimeError",["./defined"],function(e){"use strict";var t=function(e){this.name="RuntimeError",this.message=e;var t;try{throw new Error}catch(r){t=r.stack}this.stack=t};return t.prototype.toString=function(){var t=this.name+": "+this.message;return e(this.stack)&&(t+="\n"+this.stack.toString()),t},t}),define("Core/Matrix4",["./Cartesian3","./Cartesian4","./defaultValue","./defined","./DeveloperError","./freezeObject","./Math","./Matrix3","./RuntimeError"],function(e,t,r,n,a,i,o,s,u){"use strict";var l=function(e,t,n,a,i,o,s,u,l,c,f,m,h,y,p,d){this[0]=r(e,0),this[1]=r(i,0),this[2]=r(l,0),this[3]=r(h,0),this[4]=r(t,0),this[5]=r(o,0),this[6]=r(c,0),this[7]=r(y,0),this[8]=r(n,0),this[9]=r(s,0),this[10]=r(f,0),this[11]=r(p,0),this[12]=r(a,0),this[13]=r(u,0),this[14]=r(m,0),this[15]=r(d,0) +};l.clone=function(e,t){return n(e)?n(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t):new l(e[0],e[4],e[8],e[12],e[1],e[5],e[9],e[13],e[2],e[6],e[10],e[14],e[3],e[7],e[11],e[15]):void 0},l.fromArray=function(e,t,a){return t=r(t,0),n(a)||(a=new l),a[0]=e[t],a[1]=e[t+1],a[2]=e[t+2],a[3]=e[t+3],a[4]=e[t+4],a[5]=e[t+5],a[6]=e[t+6],a[7]=e[t+7],a[8]=e[t+8],a[9]=e[t+9],a[10]=e[t+10],a[11]=e[t+11],a[12]=e[t+12],a[13]=e[t+13],a[14]=e[t+14],a[15]=e[t+15],a},l.fromColumnMajorArray=function(e,t){return l.clone(e,t)},l.fromRowMajorArray=function(e,t){return n(t)?(t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15],t):new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])},l.fromRotationTranslation=function(e,t,r){return n(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=0,r[4]=e[3],r[5]=e[4],r[6]=e[5],r[7]=0,r[8]=e[6],r[9]=e[7],r[10]=e[8],r[11]=0,r[12]=t.x,r[13]=t.y,r[14]=t.z,r[15]=1,r):new l(e[0],e[3],e[6],t.x,e[1],e[4],e[7],t.y,e[2],e[5],e[8],t.z,0,0,0,1)},new s,l.fromTranslationQuaternionRotationScale=function(e,t,r,a){n(a)||(a=new l);var i=r.x,o=r.y,s=r.z,u=t.x*t.x,c=t.x*t.y,f=t.x*t.z,m=t.x*t.w,h=t.y*t.y,y=t.y*t.z,p=t.y*t.w,d=t.z*t.z,v=t.z*t.w,g=t.w*t.w,E=u-h-d+g,S=2*(c-v),C=2*(f+p),w=2*(c+v),A=-u+h-d+g,M=2*(y-m),x=2*(f-p),T=2*(y+m),b=-u-h+d+g;return a[0]=E*i,a[1]=w*i,a[2]=x*i,a[3]=0,a[4]=S*o,a[5]=A*o,a[6]=T*o,a[7]=0,a[8]=C*s,a[9]=M*s,a[10]=b*s,a[11]=0,a[12]=e.x,a[13]=e.y,a[14]=e.z,a[15]=1,a},l.fromTranslation=function(e,t){return l.fromRotationTranslation(s.IDENTITY,e,t)},l.fromScale=function(e,t){return n(t)?(t[0]=e.x,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e.y,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e.z,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t):new l(e.x,0,0,0,0,e.y,0,0,0,0,e.z,0,0,0,0,1)},l.fromUniformScale=function(e,t){return n(t)?(t[0]=e,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t):new l(e,0,0,0,0,e,0,0,0,0,e,0,0,0,0,1)};var c=new e,f=new e,m=new e;l.fromCamera=function(t,r){var a=t.eye,i=t.target,o=t.up;e.normalize(e.subtract(i,a,c),c),e.normalize(e.cross(c,o,f),f),e.normalize(e.cross(f,c,m),m);var s=f.x,u=f.y,h=f.z,y=c.x,p=c.y,d=c.z,v=m.x,g=m.y,E=m.z,S=a.x,C=a.y,w=a.z,A=s*-S+u*-C+h*-w,M=v*-S+g*-C+E*-w,x=y*S+p*C+d*w;return n(r)?(r[0]=s,r[1]=v,r[2]=-y,r[3]=0,r[4]=u,r[5]=g,r[6]=-p,r[7]=0,r[8]=h,r[9]=E,r[10]=-d,r[11]=0,r[12]=A,r[13]=M,r[14]=x,r[15]=1,r):new l(s,u,h,A,v,g,E,M,-y,-p,-d,x,0,0,0,1)},l.computePerspectiveFieldOfView=function(e,t,r,a,i){var o=Math.tan(.5*e),s=1/o,u=s/t,c=(a+r)/(r-a),f=2*a*r/(r-a);return n(i)?(i[0]=u,i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=s,i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=c,i[11]=-1,i[12]=0,i[13]=0,i[14]=f,i[15]=0,i):new l(u,0,0,0,0,s,0,0,0,0,c,f,0,0,-1,0)},l.computeOrthographicOffCenter=function(e,t,r,a,i,o,s){var u=1/(t-e),c=1/(a-r),f=1/(o-i),m=-(t+e)*u,h=-(a+r)*c,y=-(o+i)*f;return u*=2,c*=2,f*=-2,n(s)?(s[0]=u,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=c,s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=f,s[11]=0,s[12]=m,s[13]=h,s[14]=y,s[15]=1,s):new l(u,0,0,m,0,c,0,h,0,0,f,y,0,0,0,1)},l.computePerspectiveOffCenter=function(e,t,r,a,i,o,s){var u=2*i/(t-e),c=2*i/(a-r),f=(t+e)/(t-e),m=(a+r)/(a-r),h=-(o+i)/(o-i),y=-1,p=-2*o*i/(o-i);return n(s)?(s[0]=u,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=c,s[6]=0,s[7]=0,s[8]=f,s[9]=m,s[10]=h,s[11]=y,s[12]=0,s[13]=0,s[14]=p,s[15]=0,s):new l(u,0,f,0,0,c,m,0,0,0,h,p,0,0,y,0)},l.computeInfinitePerspectiveOffCenter=function(e,t,r,a,i,o){var s=2*i/(t-e),u=2*i/(a-r),c=(t+e)/(t-e),f=(a+r)/(a-r),m=-1,h=-1,y=-2*i;return n(o)?(o[0]=s,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=u,o[6]=0,o[7]=0,o[8]=c,o[9]=f,o[10]=m,o[11]=h,o[12]=0,o[13]=0,o[14]=y,o[15]=0,o):new l(s,0,c,0,0,u,f,0,0,0,m,y,0,0,h,0)},l.computeViewportTransformation=function(e,t,a,i){e=r(e,r.EMPTY_OBJECT);var o=r(e.x,0),s=r(e.y,0),u=r(e.width,0),c=r(e.height,0);t=r(t,0),a=r(a,1);var f=.5*u,m=.5*c,h=.5*(a-t),y=f,p=m,d=h,v=o+f,g=s+m,E=t+h,S=1;return n(i)?(i[0]=y,i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=p,i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=d,i[11]=0,i[12]=v,i[13]=g,i[14]=E,i[15]=S,i):new l(y,0,0,v,0,p,0,g,0,0,d,E,0,0,0,S)},l.toArray=function(e,t){return n(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]]},l.getElementIndex=function(e,t){return 4*e+t},l.getColumn=function(e,r,a){var i=4*r,o=e[i],s=e[i+1],u=e[i+2],l=e[i+3];return n(a)?(a.x=o,a.y=s,a.z=u,a.w=l,a):new t(o,s,u,l)},l.setColumn=function(e,t,r,n){n=l.clone(e,n);var a=4*t;return n[a]=r.x,n[a+1]=r.y,n[a+2]=r.z,n[a+3]=r.w,n},l.getRow=function(e,r,a){var i=e[r],o=e[r+4],s=e[r+8],u=e[r+12];return n(a)?(a.x=i,a.y=o,a.z=s,a.w=u,a):new t(i,o,s,u)},l.setRow=function(e,t,r,n){return n=l.clone(e,n),n[t]=r.x,n[t+4]=r.y,n[t+8]=r.z,n[t+12]=r.w,n},l.multiply=function(e,t,r){var a=e[0],i=e[1],o=e[2],s=e[3],u=e[4],c=e[5],f=e[6],m=e[7],h=e[8],y=e[9],p=e[10],d=e[11],v=e[12],g=e[13],E=e[14],S=e[15],C=t[0],w=t[1],A=t[2],M=t[3],x=t[4],T=t[5],b=t[6],O=t[7],I=t[8],N=t[9],R=t[10],z=t[11],L=t[12],P=t[13],D=t[14],F=t[15],_=a*C+u*w+h*A+v*M,B=i*C+c*w+y*A+g*M,U=o*C+f*w+p*A+E*M,G=s*C+m*w+d*A+S*M,q=a*x+u*T+h*b+v*O,Y=i*x+c*T+y*b+g*O,W=o*x+f*T+p*b+E*O,V=s*x+m*T+d*b+S*O,H=a*I+u*N+h*R+v*z,k=i*I+c*N+y*R+g*z,K=o*I+f*N+p*R+E*z,j=s*I+m*N+d*R+S*z,Z=a*L+u*P+h*D+v*F,Q=i*L+c*P+y*D+g*F,X=o*L+f*P+p*D+E*F,J=s*L+m*P+d*D+S*F;return n(r)?(r[0]=_,r[1]=B,r[2]=U,r[3]=G,r[4]=q,r[5]=Y,r[6]=W,r[7]=V,r[8]=H,r[9]=k,r[10]=K,r[11]=j,r[12]=Z,r[13]=Q,r[14]=X,r[15]=J,r):new l(_,q,H,Z,B,Y,k,Q,U,W,K,X,G,V,j,J)},l.multiplyTransformation=function(e,t,r){var a=e[0],i=e[1],o=e[2],s=e[4],u=e[5],c=e[6],f=e[8],m=e[9],h=e[10],y=e[12],p=e[13],d=e[14],v=t[0],g=t[1],E=t[2],S=t[4],C=t[5],w=t[6],A=t[8],M=t[9],x=t[10],T=t[12],b=t[13],O=t[14],I=a*v+s*g+f*E,N=i*v+u*g+m*E,R=o*v+c*g+h*E,z=a*S+s*C+f*w,L=i*S+u*C+m*w,P=o*S+c*C+h*w,D=a*A+s*M+f*x,F=i*A+u*M+m*x,_=o*A+c*M+h*x,B=a*T+s*b+f*O+y,U=i*T+u*b+m*O+p,G=o*T+c*b+h*O+d;return n(r)?(r[0]=I,r[1]=N,r[2]=R,r[3]=0,r[4]=z,r[5]=L,r[6]=P,r[7]=0,r[8]=D,r[9]=F,r[10]=_,r[11]=0,r[12]=B,r[13]=U,r[14]=G,r[15]=1,r):new l(I,z,D,B,N,L,F,U,R,P,_,G,0,0,0,1)},l.multiplyByTranslation=function(e,t,r){var a=t.x,i=t.y,o=t.z,s=a*e[0]+i*e[4]+o*e[8]+e[12],u=a*e[1]+i*e[5]+o*e[9]+e[13],c=a*e[2]+i*e[6]+o*e[10]+e[14];return n(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r[9]=e[9],r[10]=e[10],r[11]=e[11],r[12]=s,r[13]=u,r[14]=c,r[15]=e[15],r):new l(e[0],e[4],e[8],s,e[1],e[5],e[9],u,e[2],e[6],e[10],c,e[3],e[7],e[11],e[15])};var h=new e;return l.multiplyByUniformScale=function(e,t,r){return h.x=t,h.y=t,h.z=t,l.multiplyByScale(e,h,r)},l.multiplyByScale=function(e,t,r){var a=t.x,i=t.y,o=t.z;return 1===a&&1===i&&1===o?l.clone(e,r):n(r)?(r[0]=a*e[0],r[1]=a*e[1],r[2]=a*e[2],r[3]=0,r[4]=i*e[4],r[5]=i*e[5],r[6]=i*e[6],r[7]=0,r[8]=o*e[8],r[9]=o*e[9],r[10]=o*e[10],r[11]=0,r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=1,r):new l(a*e[0],i*e[4],o*e[8],e[12],a*e[1],i*e[5],o*e[9],e[13],a*e[2],i*e[6],o*e[10],e[14],0,0,0,1)},l.multiplyByVector=function(e,r,a){var i=r.x,o=r.y,s=r.z,u=r.w,l=e[0]*i+e[4]*o+e[8]*s+e[12]*u,c=e[1]*i+e[5]*o+e[9]*s+e[13]*u,f=e[2]*i+e[6]*o+e[10]*s+e[14]*u,m=e[3]*i+e[7]*o+e[11]*s+e[15]*u;return n(a)?(a.x=l,a.y=c,a.z=f,a.w=m,a):new t(l,c,f,m)},l.multiplyByPointAsVector=function(t,r,a){var i=r.x,o=r.y,s=r.z,u=t[0]*i+t[4]*o+t[8]*s,l=t[1]*i+t[5]*o+t[9]*s,c=t[2]*i+t[6]*o+t[10]*s;return n(a)?(a.x=u,a.y=l,a.z=c,a):new e(u,l,c)},l.multiplyByPoint=function(t,r,a){var i=r.x,o=r.y,s=r.z,u=t[0]*i+t[4]*o+t[8]*s+t[12],l=t[1]*i+t[5]*o+t[9]*s+t[13],c=t[2]*i+t[6]*o+t[10]*s+t[14];return n(a)?(a.x=u,a.y=l,a.z=c,a):new e(u,l,c)},l.multiplyByScalar=function(e,t,r){return n(r)?(r[0]=e[0]*t,r[1]=e[1]*t,r[2]=e[2]*t,r[3]=e[3]*t,r[4]=e[4]*t,r[5]=e[5]*t,r[6]=e[6]*t,r[7]=e[7]*t,r[8]=e[8]*t,r[9]=e[9]*t,r[10]=e[10]*t,r[11]=e[11]*t,r[12]=e[12]*t,r[13]=e[13]*t,r[14]=e[14]*t,r[15]=e[15]*t,r):new l(e[0]*t,e[4]*t,e[8]*t,e[12]*t,e[1]*t,e[5]*t,e[9]*t,e[13]*t,e[2]*t,e[6]*t,e[10]*t,e[14]*t,e[3]*t,e[7]*t,e[11]*t,e[15]*t)},l.negate=function(e,t){return n(t)?(t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t[4]=-e[4],t[5]=-e[5],t[6]=-e[6],t[7]=-e[7],t[8]=-e[8],t[9]=-e[9],t[10]=-e[10],t[11]=-e[11],t[12]=-e[12],t[13]=-e[13],t[14]=-e[14],t[15]=-e[15],t):new l(-e[0],-e[4],-e[8],-e[12],-e[1],-e[5],-e[9],-e[13],-e[2],-e[6],-e[10],-e[14],-e[3],-e[7],-e[11],-e[15])},l.transpose=function(e,t){if(!n(t))return new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]);var r=e[1],a=e[2],i=e[3],o=e[6],s=e[7],u=e[11];return t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=r,t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=a,t[9]=o,t[10]=e[10],t[11]=e[14],t[12]=i,t[13]=s,t[14]=u,t[15]=e[15],t},l.abs=function(e,t){return n(t)?(t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t[3]=Math.abs(e[3]),t[4]=Math.abs(e[4]),t[5]=Math.abs(e[5]),t[6]=Math.abs(e[6]),t[7]=Math.abs(e[7]),t[8]=Math.abs(e[8]),t[9]=Math.abs(e[9]),t[10]=Math.abs(e[10]),t[11]=Math.abs(e[11]),t[12]=Math.abs(e[12]),t[13]=Math.abs(e[13]),t[14]=Math.abs(e[14]),t[15]=Math.abs(e[15]),t):new l(Math.abs(e[0]),Math.abs(e[4]),Math.abs(e[8]),Math.abs(e[12]),Math.abs(e[1]),Math.abs(e[5]),Math.abs(e[9]),Math.abs(e[13]),Math.abs(e[2]),Math.abs(e[6]),Math.abs(e[10]),Math.abs(e[14]),Math.abs(e[3]),Math.abs(e[7]),Math.abs(e[11]),Math.abs(e[15]))},l.equals=function(e,t){return e===t||n(e)&&n(t)&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15]},l.equalsEpsilon=function(e,t,r){return e===t||n(e)&&n(t)&&Math.abs(e[0]-t[0])<=r&&Math.abs(e[1]-t[1])<=r&&Math.abs(e[2]-t[2])<=r&&Math.abs(e[3]-t[3])<=r&&Math.abs(e[4]-t[4])<=r&&Math.abs(e[5]-t[5])<=r&&Math.abs(e[6]-t[6])<=r&&Math.abs(e[7]-t[7])<=r&&Math.abs(e[8]-t[8])<=r&&Math.abs(e[9]-t[9])<=r&&Math.abs(e[10]-t[10])<=r&&Math.abs(e[11]-t[11])<=r&&Math.abs(e[12]-t[12])<=r&&Math.abs(e[13]-t[13])<=r&&Math.abs(e[14]-t[14])<=r&&Math.abs(e[15]-t[15])<=r},l.getTranslation=function(t,r){return n(r)?(r.x=t[12],r.y=t[13],r.z=t[14],r):new e(t[12],t[13],t[14])},l.getRotation=function(e,t){return n(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[4],t[4]=e[5],t[5]=e[6],t[6]=e[8],t[7]=e[9],t[8]=e[10],t):new s(e[0],e[4],e[8],e[1],e[5],e[9],e[2],e[6],e[10])},l.inverse=function(e,t){var r=e[0],a=e[4],i=e[8],s=e[12],c=e[1],f=e[5],m=e[9],h=e[13],y=e[2],p=e[6],d=e[10],v=e[14],g=e[3],E=e[7],S=e[11],C=e[15],w=d*C,A=v*S,M=p*C,x=v*E,T=p*S,b=d*E,O=y*C,I=v*g,N=y*S,R=d*g,z=y*E,L=p*g,P=w*f+x*m+T*h-(A*f+M*m+b*h),D=A*c+O*m+R*h-(w*c+I*m+N*h),F=M*c+I*f+z*h-(x*c+O*f+L*h),_=b*c+N*f+L*m-(T*c+R*f+z*m),B=A*a+M*i+b*s-(w*a+x*i+T*s),U=w*r+I*i+N*s-(A*r+O*i+R*s),G=x*r+O*a+L*s-(M*r+I*a+z*s),q=T*r+R*a+z*i-(b*r+N*a+L*i);w=i*h,A=s*m,M=a*h,x=s*f,T=a*m,b=i*f,O=r*h,I=s*c,N=r*m,R=i*c,z=r*f,L=a*c;var Y=w*E+x*S+T*C-(A*E+M*S+b*C),W=A*g+O*S+R*C-(w*g+I*S+N*C),V=M*g+I*E+z*C-(x*g+O*E+L*C),H=b*g+N*E+L*S-(T*g+R*E+z*S),k=M*d+b*v+A*p-(T*v+w*p+x*d),K=N*v+w*y+I*d-(O*d+R*v+A*y),j=O*p+L*v+x*y-(z*v+M*y+I*p),Z=z*d+T*y+R*p-(N*p+L*d+b*y),Q=r*P+a*D+i*F+s*_;if(Math.abs(Q)x;x++){e.clone(t[x],a);var T=a.x,b=a.y,O=a.z;Tu.x&&e.clone(a,u),bl.y&&e.clone(a,l),OA.z&&e.clone(a,A)}var I=e.magnitudeSquared(e.subtract(u,i,g)),N=e.magnitudeSquared(e.subtract(l,o,g)),R=e.magnitudeSquared(e.subtract(A,s,g)),z=i,L=u,P=I;N>P&&(P=N,z=o,L=l),R>P&&(P=R,z=s,L=A);var D=E;D.x=.5*(z.x+L.x),D.y=.5*(z.y+L.y),D.z=.5*(z.z+L.z);var F=e.magnitudeSquared(e.subtract(L,D,g)),_=Math.sqrt(F),B=S;B.x=i.x,B.y=o.y,B.z=s.z;var U=C;U.x=u.x,U.y=l.y,U.z=A.z;var G=e.multiplyByScalar(e.add(B,U,g),.5,w),q=0;for(x=0;M>x;x++){e.clone(t[x],a);var Y=e.magnitude(e.subtract(a,G,g));Y>q&&(q=Y);var W=e.magnitudeSquared(e.subtract(a,D,g));if(W>F){var V=Math.sqrt(W);_=.5*(_+V),F=_*_;var H=V-_;D.x=(_*D.x+H*a.x)/V,D.y=(_*D.y+H*a.y)/V,D.z=(_*D.z+H*a.z)/V}}return q>_?(e.clone(D,r.center),r.radius=_):(e.clone(G,r.center),r.radius=q),r};var A=new o,M=new e,x=new e,T=new t,b=new t;c.fromExtent2D=function(e,t,r){return c.fromExtentWithHeights2D(e,t,0,0,r)},c.fromExtentWithHeights2D=function(t,a,i,o,s){if(n(s)||(s=new c),!n(t))return s.center=e.clone(e.ZERO,s.center),s.radius=0,s;a=r(a,A),t.getSouthwest(T),T.height=i,t.getNortheast(b),b.height=o;var u=a.project(T,M),l=a.project(b,x),f=l.x-u.x,m=l.y-u.y,h=l.z-u.z;s.radius=.5*Math.sqrt(f*f+m*m+h*h);var y=s.center;return y.x=u.x+.5*f,y.y=u.y+.5*m,y.z=u.z+.5*h,s};var O=[];c.fromExtent3D=function(e,t,a,o){t=r(t,i.WGS84),a=r(a,0);var s;return n(e)&&(s=e.subsample(t,a,O)),c.fromPoints(s,o)},c.fromVertices=function(t,a,i,o){if(n(o)||(o=new c),!n(t)||0===t.length)return o.center=e.clone(e.ZERO,o.center),o.radius=0,o;a=r(a,e.ZERO),i=r(i,3);var s=v;s.x=t[0]+a.x,s.y=t[1]+a.y,s.z=t[2]+a.z;for(var u=e.clone(s,f),l=e.clone(s,m),A=e.clone(s,h),M=e.clone(s,y),x=e.clone(s,p),T=e.clone(s,d),b=t.length,O=0;b>O;O+=i){var I=t[O]+a.x,N=t[O+1]+a.y,R=t[O+2]+a.z;s.x=I,s.y=N,s.z=R,IM.x&&e.clone(s,M),Nx.y&&e.clone(s,x),RT.z&&e.clone(s,T)}var z=e.magnitudeSquared(e.subtract(M,u,g)),L=e.magnitudeSquared(e.subtract(x,l,g)),P=e.magnitudeSquared(e.subtract(T,A,g)),D=u,F=M,_=z;L>_&&(_=L,D=l,F=x),P>_&&(_=P,D=A,F=T);var B=E;B.x=.5*(D.x+F.x),B.y=.5*(D.y+F.y),B.z=.5*(D.z+F.z);var U=e.magnitudeSquared(e.subtract(F,B,g)),G=Math.sqrt(U),q=S;q.x=u.x,q.y=l.y,q.z=A.z;var Y=C;Y.x=M.x,Y.y=x.y,Y.z=T.z;var W=e.multiplyByScalar(e.add(q,Y,g),.5,w),V=0;for(O=0;b>O;O+=i){s.x=t[O]+a.x,s.y=t[O+1]+a.y,s.z=t[O+2]+a.z;var H=e.magnitude(e.subtract(s,W,g));H>V&&(V=H);var k=e.magnitudeSquared(e.subtract(s,B,g));if(k>U){var K=Math.sqrt(k);G=.5*(G+K),U=G*G;var j=K-G;B.x=(G*B.x+j*s.x)/K,B.y=(G*B.y+j*s.y)/K,B.z=(G*B.z+j*s.z)/K}}return V>G?(e.clone(B,o.center),o.radius=G):(e.clone(W,o.center),o.radius=V),o},c.fromCornerPoints=function(t,r,a){n(a)||(a=new c);var i=a.center;return e.add(t,r,i),e.multiplyByScalar(i,.5,i),a.radius=e.distance(i,r),a},c.fromEllipsoid=function(t,r){return n(r)||(r=new c),e.clone(e.ZERO,r.center),r.radius=t.maximumRadius,r},c.clone=function(t,r){return n(t)?n(r)?(r.center=e.clone(t.center,r.center),r.radius=t.radius,r):new c(t.center,t.radius):void 0};var I=new e,N=new e;c.union=function(t,r,a){n(a)||(a=new c);var i=t.center,o=r.center;e.add(i,o,N);var s=e.multiplyByScalar(N,.5,N),u=e.magnitude(e.subtract(i,s,I))+t.radius,l=e.magnitude(e.subtract(o,s,I))+r.radius;return a.radius=Math.max(u,l),e.clone(s,a.center),a};var R=new e;c.expand=function(t,r,n){n=c.clone(t,n);var a=e.magnitude(e.subtract(r,n.center,R));return a>n.radius&&(n.radius=a),n},c.intersect=function(t,r){var n=t.center,a=t.radius,i=e.dot(r,n)+r.w;return-a>i?s.OUTSIDE:a>i?s.INTERSECTING:s.INSIDE};var z=new e;c.transform=function(t,r,a){return n(a)||(a=new c),a.center=l.multiplyByPoint(r,t.center,a.center),a.radius=Math.max(e.magnitude(l.getColumn(r,0,z)),e.magnitude(l.getColumn(r,1,z)),e.magnitude(l.getColumn(r,2,z)))*t.radius,a},c.transformWithoutScale=function(e,t,r){return n(r)||(r=new c),r.center=l.multiplyByPoint(t,e.center,r.center),r.radius=e.radius,r};var L=new e;c.getPlaneDistances=function(t,r,a,i){n(i)||(i=new u);var o=e.subtract(t.center,r,L),s=e.multiplyByScalar(a,e.dot(a,o),L),l=e.magnitude(s);return i.start=l-t.radius,i.stop=l+t.radius,i};for(var P=new e,D=new e,F=new e,_=new e,B=new e,U=new t,G=new Array(8),q=0;8>q;++q)G[q]=new e;var Y=new o;return c.projectTo2D=function(t,n,a){n=r(n,Y);var i=n.ellipsoid,o=t.center,s=t.radius,u=i.geodeticSurfaceNormal(o,P),l=e.cross(e.UNIT_Z,u,D);e.normalize(l,l);var f=e.cross(u,l,F);e.normalize(f,f),e.multiplyByScalar(u,s,u),e.multiplyByScalar(f,s,f),e.multiplyByScalar(l,s,l);var m=e.negate(f,B),h=e.negate(l,_),y=G,p=y[0];e.add(u,f,p),e.add(p,l,p),p=y[1],e.add(u,f,p),e.add(p,h,p),p=y[2],e.add(u,m,p),e.add(p,h,p),p=y[3],e.add(u,m,p),e.add(p,l,p),e.negate(u,u),p=y[4],e.add(u,f,p),e.add(p,l,p),p=y[5],e.add(u,f,p),e.add(p,h,p),p=y[6],e.add(u,m,p),e.add(p,h,p),p=y[7],e.add(u,m,p),e.add(p,l,p);for(var d=y.length,v=0;d>v;++v){var g=y[v];e.add(o,g,g);var E=i.cartesianToCartographic(g,U);n.project(E,g)}a=c.fromPoints(y,a),o=a.center;var S=o.x,C=o.y,w=o.z;return o.x=w,o.y=S,o.z=C,a},c.equals=function(t,r){return t===r||n(t)&&n(r)&&e.equals(t.center,r.center)&&t.radius===r.radius},c.prototype.clone=function(e){return c.clone(this,e)},c.prototype.union=function(e,t){return c.union(this,e,t)},c.prototype.expand=function(e,t){return c.expand(this,e,t)},c.prototype.intersect=function(e){return c.intersect(this,e)},c.prototype.getPlaneDistances=function(e,t,r){return c.getPlaneDistances(this,e,t,r)},c.prototype.projectTo2D=function(e,t){return c.projectTo2D(this,e,t)},c.prototype.equals=function(e){return c.equals(this,e)},c}),define("Core/EllipsoidGeodesic",["./Cartesian3","./Cartographic","./defaultValue","./defined","./DeveloperError","./Ellipsoid","./Math"],function(e,t,r,n,a,i,o){"use strict";function s(e){var t=e._uSquared,r=e._ellipsoid.maximumRadius,n=e._ellipsoid.minimumRadius,a=(r-n)/r,i=Math.cos(e._startHeading),o=Math.sin(e._startHeading),s=(1-a)*Math.tan(e._start.latitude),u=1/Math.sqrt(1+s*s),l=u*s,c=Math.atan2(s,i),f=u*o,m=f*f,h=1-m,y=Math.sqrt(h),p=t/4,d=p*p,v=d*p,g=d*d,E=1+p-3*d/4+5*v/4-175*g/64,S=1-p+15*d/8-35*v/8,C=1-3*p+35*d/4,w=1-5*p,A=E*c-S*Math.sin(2*c)*p/2-C*Math.sin(4*c)*d/16-w*Math.sin(6*c)*v/48-5*Math.sin(8*c)*g/512,M=e._constants;M.a=r,M.b=n,M.f=a,M.cosineHeading=i,M.sineHeading=o,M.tanU=s,M.cosineU=u,M.sineU=l,M.sigma=c,M.sineAlpha=f,M.sineSquaredAlpha=m,M.cosineSquaredAlpha=h,M.cosineAlpha=y,M.u2Over4=p,M.u4Over16=d,M.u6Over64=v,M.u8Over256=g,M.a0=E,M.a1=S,M.a2=C,M.a3=w,M.distanceRatio=A}function u(e,t){return e*t*(4+e*(4-3*t))/16}function l(e,t,r,n,a,i,o){var s=u(e,r);return(1-s)*e*t*(n+s*a*(o+s*i*(2*o*o-1)))}function c(e,t,r,n,a,i,s){var u,c,f,m,h,y=(t-r)/t,p=i-n,d=Math.atan((1-y)*Math.tan(a)),v=Math.atan((1-y)*Math.tan(s)),g=Math.cos(d),E=Math.sin(d),S=Math.cos(v),C=Math.sin(v),w=g*S,A=g*C,M=E*C,x=E*S,T=p,b=o.TWO_PI,O=Math.cos(T),I=Math.sin(T);do{O=Math.cos(T),I=Math.sin(T);var N=A-x*O;f=Math.sqrt(S*S*I*I+N*N),c=M+w*O,u=Math.atan2(f,c);var R;0===f?(R=0,m=1):(R=w*I/f,m=1-R*R),b=T,h=c-2*M/m,isNaN(h)&&(h=0),T=p+l(y,R,m,u,f,c,h)}while(Math.abs(T-b)>o.EPSILON12);var z=m*(t*t-r*r)/(r*r),L=1+z*(4096+z*(z*(320-175*z)-768))/16384,P=z*(256+z*(z*(74-47*z)-128))/1024,D=h*h,F=P*f*(h+P*(c*(2*D-1)-P*h*(4*f*f-3)*(4*D-3)/6)/4),_=r*L*(u-F),B=Math.atan2(S*I,A-x*O),U=Math.atan2(g*I,A*O-x);e._distance=_,e._startHeading=B,e._endHeading=U,e._uSquared=z}function f(r,n,a,i){e.normalize(i.cartographicToCartesian(n,h),m),e.normalize(i.cartographicToCartesian(a,h),h),c(r,i.maximumRadius,i.minimumRadius,n.longitude,n.latitude,a.longitude,a.latitude),n.height=0,a.height=0,r._start=t.clone(n,r._start),r._end=t.clone(a,r._end),s(r)}var m=new e,h=new e,y=function(e,a,o){var s=r(o,i.WGS84);this._ellipsoid=s,this._start=new t,this._end=new t,this._constants={},this._startHeading=void 0,this._endHeading=void 0,this._distance=void 0,this._uSquared=void 0,n(e)&&n(a)&&f(this,e,a,s)};return y.prototype.getSurfaceDistance=function(){return this._distance},y.prototype.setEndPoints=function(e,t){f(this,e,t,this._ellipsoid)},y.prototype.getStart=function(){return this._start},y.prototype.getEnd=function(){return this._end},y.prototype.getStartHeading=function(){return this._startHeading},y.prototype.getEndHeading=function(){return this._endHeading},y.prototype.interpolateUsingFraction=function(e,t){return this.interpolateUsingSurfaceDistance(this._distance*e,t)},y.prototype.interpolateUsingSurfaceDistance=function(e,r){var a=this._constants,i=a.distanceRatio+e/a.b,o=Math.cos(2*i),s=Math.cos(4*i),u=Math.cos(6*i),c=Math.sin(2*i),f=Math.sin(4*i),m=Math.sin(6*i),h=Math.sin(8*i),y=i*i,p=i*y,d=a.u8Over256,v=a.u2Over4,g=a.u6Over64,E=a.u4Over16,S=2*p*d*o/3+i*(1-v+7*E/4-15*g/4+579*d/64-(E-15*g/4+187*d/16)*o-(5*g/4-115*d/16)*s-29*d*u/16)+(v/2-E+71*g/32-85*d/16)*c+(5*E/16-5*g/4+383*d/96)*f-y*((g-11*d/2)*c+5*d*f/2)+(29*g/96-29*d/16)*m+539*d*h/1536,C=Math.asin(Math.sin(S)*a.cosineAlpha),w=Math.atan(a.a/a.b*Math.tan(C));S-=a.sigma;var A=Math.cos(2*a.sigma+S),M=Math.sin(S),x=Math.cos(S),T=a.cosineU*x,b=a.sineU*M,O=Math.atan2(M*a.sineHeading,T-b*a.cosineHeading),I=O-l(a.f,a.sineAlpha,a.cosineSquaredAlpha,S,M,x,A);return n(r)?(r.longitude=this._start.longitude+I,r.latitude=w,r.height=0,r):new t(this._start.longitude+I,w,0)},y}),define("Core/QuadraticRealPolynomial",["./DeveloperError","./Math"],function(e,t){"use strict";function r(e,r,n){var a=e+r;return t.sign(e)!==t.sign(r)&&Math.abs(a/Math.max(Math.abs(e),Math.abs(r)))o&&o/ss&&s/oi)return[];var u=Math.sqrt(i);return[-u,u]}if(0===a)return i=-n/e,0>i?[i,0]:[0,i];var l=n*n,c=4*e*a,f=r(l,-c,t.EPSILON14);if(0>f)return[];var m=-.5*r(n,t.sign(n)*Math.sqrt(f),t.EPSILON14);return n>0?[m/e,a/m]:[a/m,m/e]},n}),define("Core/CubicRealPolynomial",["./DeveloperError","./QuadraticRealPolynomial"],function(e,t){"use strict";function r(e,t,r,n){var a,i,o=e,s=t/3,u=r/3,l=n,c=o*u,f=s*l,m=s*s,h=u*u,y=o*u-m,p=o*l-s*u,d=s*l-h,v=4*y*d-p*p;if(0>v){var g,E,S;m*f>=c*h?(g=o,E=y,S=-2*s*y+o*p):(g=l,E=d,S=-l*p+2*u*d);var C=0>S?-1:1,w=-C*Math.abs(g)*Math.sqrt(-v);i=-S+w;var A=i/2,M=0>A?-Math.pow(-A,1/3):Math.pow(A,1/3),x=i===w?-M:-E/M;return a=0>=E?M+x:-S/(M*M+x*x+E),m*f>=c*h?[(a-s)/o]:[-l/(a+u)]}var T=y,b=-2*s*y+o*p,O=d,I=-l*p+2*u*d,N=Math.sqrt(v),R=Math.sqrt(3)/2,z=Math.abs(Math.atan2(o*N,-b)/3);a=2*Math.sqrt(-T);var L=Math.cos(z);i=a*L;var P=a*(-L/2-R*Math.sin(z)),D=i+P>2*s?i-s:P-s,F=o,_=D/F;z=Math.abs(Math.atan2(l*N,-I)/3),a=2*Math.sqrt(-O),L=Math.cos(z),i=a*L,P=a*(-L/2-R*Math.sin(z));var B=-l,U=2*u>i+P?i+u:P+u,G=B/U,q=F*U,Y=-D*U-F*B,W=D*B,V=(u*Y-s*W)/(-s*Y+u*q);return V>=_?G>=_?G>=V?[_,V,G]:[_,G,V]:[G,_,V]:G>=_?[V,_,G]:G>=V?[V,G,_]:[G,V,_]}var n={};return n.discriminant=function(e,t,r,n){var a=e*e,i=t*t,o=r*r,s=n*n,u=18*e*t*r*n+i*o-27*a*s-4*(e*o*r+i*t*n);return u},n.realRoots=function(e,n,a,i){var o,s;if(0===e)return t.realRoots(n,a,i);if(0===n){if(0===a){if(0===i)return[0,0,0];s=-i/e;var u=0>s?-Math.pow(-s,1/3):Math.pow(s,1/3);return[u,u,u]}return 0===i?(o=t.realRoots(e,0,a),0===o.Length?[0]:[o[0],0,o[1]]):r(e,0,a,i)}return 0===a?0===i?(s=-n/e,0>s?[s,0,0]:[0,0,s]):r(e,n,0,i):0===i?(o=t.realRoots(e,n,a),0===o.length?[0]:o[1]<=0?[o[0],o[1],0]:o[0]>=0?[0,o[0],o[1]]:[o[0],0,o[1]]):r(e,n,a,i)},n}),define("Core/QuarticRealPolynomial",["./DeveloperError","./Math","./CubicRealPolynomial","./QuadraticRealPolynomial"],function(e,t,r,n){"use strict";function a(e,a,i,o){var s=e*e,u=a-3*s/8,l=i-a*e/2+s*e/8,c=o-i*e/4+a*s/16-3*s*s/256,f=r.realRoots(1,2*u,u*u-4*c,-l*l);if(f.length>0){var m=-e/4,h=f[f.length-1];if(Math.abs(h)=0&&v>=0){var g=Math.sqrt(d),E=Math.sqrt(v);return[m-E,m-g,m+g,m+E]}if(d>=0&&0>v)return p=Math.sqrt(d),[m-p,m+p];if(0>d&&v>=0)return p=Math.sqrt(v),[m-p,m+p]}return[]}if(h>0){var S=Math.sqrt(h),C=(u+h-l/S)/2,w=(u+h+l/S)/2,A=n.realRoots(1,S,C),M=n.realRoots(1,-S,w);return 0!==A.length?(A[0]+=m,A[1]+=m,0!==M.length?(M[0]+=m,M[1]+=m,A[1]<=M[0]?[A[0],A[1],M[0],M[1]]:M[1]<=A[0]?[M[0],M[1],A[0],A[1]]:A[0]>=M[0]&&A[1]<=M[1]?[M[0],A[0],A[1],M[1]]:M[0]>=A[0]&&M[1]<=A[1]?[A[0],M[0],M[1],A[1]]:A[0]>M[0]&&A[0]0){var y,p,d=h[0],v=a-d,g=v*v,E=e/2,S=v/2,C=g-4*o,w=g+4*Math.abs(o),A=l-4*d,M=l+4*Math.abs(d);if(0>d||A*w>C*M){var x=Math.sqrt(A);y=x/2,p=0===x?0:(e*S-i)/x}else{var T=Math.sqrt(C);y=0===T?0:(e*S-i)/T,p=T/2}var b,O;0===E&&0===y?(b=0,O=0):t.sign(E)===t.sign(y)?(b=E+y,O=d/b):(O=E-y,b=d/O);var I,N;0===S&&0===p?(I=0,N=0):t.sign(S)===t.sign(p)?(I=S+p,N=o/I):(N=S-p,I=o/N);var R=n.realRoots(1,b,I),z=n.realRoots(1,O,N);if(0!==R.length)return 0!==z.length?R[1]<=z[0]?[R[0],R[1],z[0],z[1]]:z[1]<=R[0]?[z[0],z[1],R[0],R[1]]:R[0]>=z[0]&&R[1]<=z[1]?[z[0],R[0],R[1],z[1]]:z[0]>=R[0]&&z[1]<=R[1]?[R[0],z[0],z[1],R[1]]:R[0]>z[0]&&R[0]l?1:0;switch(h+=0>c?h+1:h,h+=0>f?h+1:h,h+=0>m?h+1:h){case 0:return a(l,c,f,m);case 1:return i(l,c,f,m);case 2:return i(l,c,f,m);case 3:return a(l,c,f,m);case 4:return a(l,c,f,m);case 5:return i(l,c,f,m);case 6:return a(l,c,f,m);case 7:return a(l,c,f,m);case 8:return i(l,c,f,m);case 9:return a(l,c,f,m);case 10:return a(l,c,f,m);case 11:return i(l,c,f,m);case 12:return a(l,c,f,m);case 13:return a(l,c,f,m);case 14:return a(l,c,f,m);case 15:return a(l,c,f,m);default:return void 0}},o}),define("Core/IntersectionTests",["./defined","./DeveloperError","./Math","./Cartesian3","./Cartographic","./Matrix3","./QuadraticRealPolynomial","./QuarticRealPolynomial"],function(e,t,r,n,a,i,o,s){"use strict";function u(e,t,n){var a=e+t;return r.sign(e)!==r.sign(t)&&Math.abs(a/Math.max(Math.abs(e),Math.abs(t)))P;++P){var D,F=f[P],_=F*F,B=Math.max(1-_,0),U=Math.sqrt(B);D=r.sign(y)===r.sign(d)?u(y*_+d,p*F,r.EPSILON12):r.sign(d)===r.sign(p*F)?u(y*_,p*F+d,r.EPSILON12):u(y*_+p*F,d,r.EPSILON12);var G=u(v*F,g,r.EPSILON15),q=D*G;0>q?E.push(new n(l,c*F,c*U)):q>0?E.push(new n(l,c*F,c*-U)):0!==U?(E.push(new n(l,c*F,c*-U)),E.push(new n(l,c*F,c*U)),++P):E.push(new n(l,c*F,c*U))}return E}var c={};c.rayPlane=function(e,t,a){var i=e.origin,o=e.direction,s=t.normal,u=n.dot(s,o);if(Math.abs(u)l?void 0:(a=n.multiplyByScalar(o,l,a),n.add(i,a,a))};var f=new n,m=new n;c.rayEllipsoid=function(e,t){var r,a,i,o,s,u=t.oneOverRadii,l=n.multiplyComponents(u,e.origin,f),c=n.multiplyComponents(u,e.direction,m),h=n.magnitudeSquared(l),y=n.dot(l,c);if(h>1){if(y>=0)return void 0;var p=y*y;if(r=h-1,a=n.magnitudeSquared(c),i=a*r,i>p)return void 0;if(p>i){o=y*y-i,s=-y+Math.sqrt(o);var d=s/a,v=r/s;return v>d?{start:d,stop:v}:{start:v,stop:d}}var g=Math.sqrt(r/a);return{start:g,stop:g}}return 1>h?(r=h-1,a=n.magnitudeSquared(c),i=a*r,o=y*y-i,s=-y+Math.sqrt(o),{start:0,stop:s/a}):0>y?(a=n.magnitudeSquared(c),{start:0,stop:-y/a}):void 0},c.grazingAltitudeLocation=function(t,o){var s=t.origin,u=t.direction,c=o.geodeticSurfaceNormal(s);if(n.dot(u,c)>=0)return s;var f,m,h=e(this.rayEllipsoid(t,o)),y=o.transformPositionToScaledSpace(u),p=n.normalize(y),d=n.mostOrthogonalAxis(y),v=n.normalize(n.cross(d,p)),g=n.normalize(n.cross(p,v)),E=new i(p.x,v.x,g.x,p.y,v.y,g.y,p.z,v.z,g.z),S=i.transpose(E),C=i.fromScale(o.radii),w=i.fromScale(o.oneOverRadii),A=new i(0,u.z,-u.y,-u.z,0,u.x,u.y,-u.x,0),M=i.multiply(i.multiply(S,w),A),x=i.multiply(i.multiply(M,C),E),T=i.multiplyByVector(M,s),b=l(x,n.negate(T),0,0,1),O=b.length;if(O>0){for(var I=n.ZERO,N=Number.NEGATIVE_INFINITY,R=0;O>R;++R){f=i.multiplyByVector(C,i.multiplyByVector(E,b[R]));var z=n.normalize(n.subtract(f,s)),L=n.dot(z,u);L>N&&(N=L,I=f)}var P=o.cartesianToCartographic(I);return N=r.clamp(N,0,1),m=n.magnitude(n.subtract(I,s))*Math.sqrt(1-N*N),m=h?-m:m,o.cartographicToCartesian(new a(P.longitude,P.latitude,m))}return void 0};var h=new n;return c.lineSegmentPlane=function(t,a,i,o){var s=n.subtract(a,t,h),u=i.normal,l=n.dot(u,s);if(Math.abs(l)f||f>1?void 0:(e(o)||(o=new n),n.multiplyByScalar(s,f,o),n.add(t,o,o),o)},c.trianglePlaneIntersection=function(e,t,r,a){var i=a.normal,o=a.distance,s=n.dot(i,e)+o<0,u=n.dot(i,t)+o<0,l=n.dot(i,r)+o<0,f=0;f+=s?1:0,f+=u?1:0,f+=l?1:0;var m,h;if((1===f||2===f)&&(m=new n,h=new n),1===f){if(s)return c.lineSegmentPlane(e,t,a,m),c.lineSegmentPlane(e,r,a,h),{positions:[e,t,r,m,h],indices:[0,3,4,1,2,4,1,4,3]};if(u)return c.lineSegmentPlane(t,r,a,m),c.lineSegmentPlane(t,e,a,h),{positions:[e,t,r,m,h],indices:[1,3,4,2,0,4,2,4,3]};if(l)return c.lineSegmentPlane(r,e,a,m),c.lineSegmentPlane(r,t,a,h),{positions:[e,t,r,m,h],indices:[2,3,4,0,1,4,0,4,3]}}else if(2===f){if(!s)return c.lineSegmentPlane(t,e,a,m),c.lineSegmentPlane(r,e,a,h),{positions:[e,t,r,m,h],indices:[1,2,4,1,4,3,0,3,4]};if(!u)return c.lineSegmentPlane(r,t,a,m),c.lineSegmentPlane(e,t,a,h),{positions:[e,t,r,m,h],indices:[2,0,4,2,4,3,1,3,4]};if(!l)return c.lineSegmentPlane(e,r,a,m),c.lineSegmentPlane(t,r,a,h),{positions:[e,t,r,m,h],indices:[0,1,4,0,4,3,2,3,4]} +}return void 0},c}),define("Core/isArray",["./defined"],function(e){"use strict";var t=Array.isArray;return e(t)||(t=function(e){return"[object Array]"===Object.prototype.toString.call(e)}),t}),define("Core/Plane",["./Cartesian3","./defined","./DeveloperError"],function(e,t){"use strict";var r=function(t,r){this.normal=e.clone(t),this.distance=r};return r.fromPointNormal=function(n,a,i){var o=-e.dot(a,n);return t(i)?(e.clone(a,i.normal),i.distance=o,i):new r(a,o)},r.getPointDistance=function(t,r){return e.dot(t.normal,r)+t.distance},r.prototype.getPointDistance=function(e){return r.getPointDistance(this,e)},r}),define("Core/PolylinePipeline",["./Cartesian3","./Cartographic","./defaultValue","./defined","./DeveloperError","./Ellipsoid","./EllipsoidGeodesic","./IntersectionTests","./isArray","./Math","./Matrix4","./Plane"],function(e,t,r,n,a,i,o,s,u,l,c,f){"use strict";function m(t,r,n,a){var i=a.scaleToGeodeticSurface(t,T),o=a.scaleToGeodeticSurface(r,b),s=e.angleBetween(i,o),u=Math.ceil(s/n),l=new Array(3*u),c=a.cartesianToCartographic(i,A),f=a.cartesianToCartographic(o,M);O.setEndPoints(c,f);var m=O.getSurfaceDistance()/u,h=0;c.height=0;var y=a.cartographicToCartesian(c,x);l[h++]=y.x,l[h++]=y.y,l[h++]=y.z;for(var p=1;u>p;p++){var d=O.interpolateUsingSurfaceDistance(p*m,M);y=a.cartographicToCartesian(d,x),l[h++]=y.x,l[h++]=y.y,l[h++]=y.z}return l}function h(t,r,n){var a=I;return n.geodeticSurfaceNormal(t,a),e.multiplyByScalar(a,r,a),e.add(t,a,t),t}var y={},p=new c,d=new e,v=new e,g=new f(e.ZERO,0),E=new e,S=new f(e.ZERO,0),C=new e,w=new e,A=new t,M=new t,x=new e,T=new e,b=new e,O=new o,I=new e,N=new e;return y.wrapLongitude=function(t,a){var i=[],o=[];if(n(t)&&t.length>0){a=r(a,c.IDENTITY);var u=c.inverseTransformation(a,p),l=c.multiplyByPoint(u,e.ZERO,d),m=c.multiplyByPointAsVector(u,e.UNIT_Y,v),h=f.fromPointNormal(l,m,g),y=c.multiplyByPointAsVector(u,e.UNIT_X,E),A=f.fromPointNormal(l,y,S),M=1;i.push(e.clone(t[0]));for(var x=i[0],T=t.length,b=1;T>b;++b){var O=t[b];if(f.getPointDistance(A,x)<0||f.getPointDistance(A,O)<0){var I=s.lineSegmentPlane(x,O,h,C);if(n(I)){var N=e.multiplyByScalar(m,5e-9,w);f.getPointDistance(h,x)<0&&e.negate(N,N),i.push(e.add(I,N)),o.push(M+1),e.negate(N,N),i.push(e.add(I,N)),M=1}}i.push(e.clone(t[b])),M++,x=O}o.push(M)}return{positions:i,lengths:o}},y.removeDuplicates=function(t){var r=t.length;if(2>r)return t.slice(0);var n=[];n.push(t[0]);for(var a=1;r>a;++a){var i=t[a-1],o=t[a];e.equals(i,o)||n.push(o)}return n},y.scaleToSurface=function(e,t,n){t=r(t,l.RADIANS_PER_DEGREE),n=r(n,i.WGS84);for(var a=e.length,o=[],s=0;a-1>s;s++){var u=e[s],c=e[s+1];o=o.concat(m(u,c,t,n))}var f=e[a-1],h=n.cartesianToCartographic(f,A);h.height=0;var y=n.cartographicToCartesian(h,x);return o.push(y.x,y.y,y.z),o},y.scaleToGeodeticHeight=function(t,o,s,l){s=r(s,i.WGS84);var c,f,m=t.length,y=N;if(n(l)){if(l.length!==t.length)throw new a("result.length must be equal to positions.length");f=l}else f=new Array(t.length);if(0===o){for(c=0;m>c;c+=3)y=s.scaleToGeodeticSurface(e.fromArray(t,c,y),y),f[c]=y.x,f[c+1]=y.y,f[c+2]=y.z;return f}var p;if(u(o)){if(o.length!==m/3)throw new a("height.length must be equal to positions.length");for(c=0;m>c;c+=3)p=o[c/3],y=e.fromArray(t,c,y),y=h(y,p,s),f[c]=y.x,f[c+1]=y.y,f[c+2]=y.z}else for(p=o,c=0;m>c;c+=3)y=e.fromArray(t,c,y),y=h(y,p,s),f[c]=y.x,f[c+1]=y.y,f[c+2]=y.z;return f},y}),define("Core/VertexFormat",["./defaultValue","./freezeObject"],function(e,t){"use strict";var r=function(t){t=e(t,e.EMPTY_OBJECT),this.position=e(t.position,!1),this.normal=e(t.normal,!1),this.st=e(t.st,!1),this.binormal=e(t.binormal,!1),this.tangent=e(t.tangent,!1)};return r.POSITION_ONLY=t(new r({position:!0})),r.POSITION_AND_NORMAL=t(new r({position:!0,normal:!0})),r.POSITION_NORMAL_AND_ST=t(new r({position:!0,normal:!0,st:!0})),r.POSITION_AND_ST=t(new r({position:!0,st:!0})),r.ALL=t(new r({position:!0,normal:!0,st:!0,binormal:!0,tangent:!0})),r.DEFAULT=r.POSITION_NORMAL_AND_ST,r}),define("Core/Geometry",["./defaultValue","./defined","./DeveloperError"],function(e,t,r){"use strict";var n=function(t){t=e(t,e.EMPTY_OBJECT),this.attributes=t.attributes,this.indices=t.indices,this.primitiveType=t.primitiveType,this.boundingSphere=t.boundingSphere};return n.computeNumberOfVertices=function(e){var n=-1;for(var a in e.attributes)if(e.attributes.hasOwnProperty(a)&&t(e.attributes[a])&&t(e.attributes[a].values)){var i=e.attributes[a],o=i.values.length/i.componentsPerAttribute;if(n!==o&&-1!==n)throw new r("All attribute lists must have the same number of attributes.");n=o}return n},n}),define("Core/GeometryAttribute",["./defaultValue","./defined","./DeveloperError"],function(e){"use strict";var t=function(t){t=e(t,e.EMPTY_OBJECT),this.componentDatatype=t.componentDatatype,this.componentsPerAttribute=t.componentsPerAttribute,this.normalize=e(t.normalize,!1),this.values=t.values};return t}),define("Core/GeometryAttributes",["./defaultValue"],function(e){"use strict";var t=function(t){t=e(t,e.EMPTY_OBJECT),this.position=t.position,this.normal=t.normal,this.st=t.st,this.binormal=t.binormal,this.tangent=t.tangent,this.color=t.color};return t}),define("Core/Color",["./defaultValue","./defined","./freezeObject","./DeveloperError","./FeatureDetection","./Math"],function(e,t,r,n,a,i){"use strict";function o(e,t,r){return 0>r&&(r+=1),r>1&&(r-=1),1>6*r?e+6*(t-e)*r:1>2*r?t:2>3*r?e+6*(t-e)*(2/3-r):e}var s=function(t,r,n,a){this.red=e(t,1),this.green=e(r,1),this.blue=e(n,1),this.alpha=e(a,1)};s.fromBytes=function(t,r,n,a){return t=s.byteToFloat(e(t,255)),r=s.byteToFloat(e(r,255)),n=s.byteToFloat(e(n,255)),a=s.byteToFloat(e(a,255)),new s(t,r,n,a)};var u,l,c;a.supportsTypedArrays()&&(u=new ArrayBuffer(4),l=new Uint32Array(u),c=new Uint8Array(u)),s.fromRgba=function(e){return l[0]=e,s.fromBytes(c[0],c[1],c[2],c[3])},s.fromHsl=function(t,r,n,a){t=e(t,0)%1,r=e(r,0),n=e(n,0),a=e(a,1);var i=n,u=n,l=n;if(0!==r){var c;c=.5>n?n*(1+r):n+r-n*r;var f=2*n-c;i=o(f,c,t+1/3),u=o(f,c,t),l=o(f,c,t-1/3)}return new s(i,u,l,a)},s.fromRandom=function(r,n){r=e(r,e.EMPTY_OBJECT);var a=r.red;if(!t(a)){var o=e(r.minimumRed,0),u=e(r.maximumRed,1);a=o+i.nextRandomNumber()*(u-o)}var l=r.green;if(!t(l)){var c=e(r.minimumGreen,0),f=e(r.maximumGreen,1);l=c+i.nextRandomNumber()*(f-c)}var m=r.blue;if(!t(m)){var h=e(r.minimumBlue,0),y=e(r.maximumBlue,1);m=h+i.nextRandomNumber()*(y-h)}var p=r.alpha;if(!t(p)){var d=e(r.minimumAlpha,0),v=e(r.maximumAlpha,1);p=d+i.nextRandomNumber()*(v-d)}return t(n)?(n.red=a,n.green=l,n.blue=m,n.alpha=p,n):new s(a,l,m,p)};var f=/^#([0-9a-f])([0-9a-f])([0-9a-f])$/i,m=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i,h=/^rgba?\(\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)(?:\s*,\s*([0-9.]+))?\s*\)$/i,y=/^hsla?\(\s*([0-9.]+)\s*,\s*([0-9.]+%)\s*,\s*([0-9.]+%)(?:\s*,\s*([0-9.]+))?\s*\)$/i;return s.fromCssColorString=function(r){var n=s[r.toUpperCase()];if(t(n))return s.clone(n);var a=f.exec(r);return null!==a?new s(parseInt(a[1],16)/15,parseInt(a[2],16)/15,parseInt(a[3],16)/15):(a=m.exec(r),null!==a?new s(parseInt(a[1],16)/255,parseInt(a[2],16)/255,parseInt(a[3],16)/255):(a=h.exec(r),null!==a?new s(parseFloat(a[1])/("%"===a[1].substr(-1)?100:255),parseFloat(a[2])/("%"===a[2].substr(-1)?100:255),parseFloat(a[3])/("%"===a[3].substr(-1)?100:255),parseFloat(e(a[4],"1.0"))):(a=y.exec(r),null!==a?s.fromHsl(parseFloat(a[1])/360,parseFloat(a[2])/100,parseFloat(a[3])/100,parseFloat(e(a[4],"1.0"))):void 0)))},s.packedLength=4,s.pack=function(t,r,n){n=e(n,0),r[n++]=t.red,r[n++]=t.green,r[n++]=t.blue,r[n]=t.alpha},s.unpack=function(r,n,a){return n=e(n,0),t(a)||(a=new s),a.red=r[n++],a.green=r[n++],a.blue=r[n++],a.alpha=r[n],a},s.byteToFloat=function(e){return e/255},s.floatToByte=function(e){return 1===e?255:0|256*e},s.clone=function(e,r){return t(e)?t(r)?(r.red=e.red,r.green=e.green,r.blue=e.blue,r.alpha=e.alpha,r):new s(e.red,e.green,e.blue,e.alpha):void 0},s.equals=function(e,r){return e===r||t(e)&&t(r)&&e.red===r.red&&e.green===r.green&&e.blue===r.blue&&e.alpha===r.alpha},s.prototype.clone=function(e){return s.clone(this,e)},s.prototype.equals=function(e){return s.equals(this,e)},s.prototype.equalsEpsilon=function(e,r){return this===e||t(e)&&Math.abs(this.red-e.red)<=r&&Math.abs(this.green-e.green)<=r&&Math.abs(this.blue-e.blue)<=r&&Math.abs(this.alpha-e.alpha)<=r},s.prototype.toString=function(){return"("+this.red+", "+this.green+", "+this.blue+", "+this.alpha+")"},s.prototype.toCssColorString=function(){var e=s.floatToByte(this.red),t=s.floatToByte(this.green),r=s.floatToByte(this.blue);return 1===this.alpha?"rgb("+e+","+t+","+r+")":"rgba("+e+","+t+","+r+","+this.alpha+")"},s.prototype.toBytes=function(e){var r=s.floatToByte(this.red),n=s.floatToByte(this.green),a=s.floatToByte(this.blue),i=s.floatToByte(this.alpha);return t(e)?(e[0]=r,e[1]=n,e[2]=a,e[3]=i,e):[r,n,a,i]},s.prototype.toRgba=function(){return c[0]=s.floatToByte(this.red),c[1]=s.floatToByte(this.green),c[2]=s.floatToByte(this.blue),c[3]=s.floatToByte(this.alpha),l[0]},s.ALICEBLUE=r(s.fromCssColorString("#F0F8FF")),s.ANTIQUEWHITE=r(s.fromCssColorString("#FAEBD7")),s.AQUA=r(s.fromCssColorString("#00FFFF")),s.AQUAMARINE=r(s.fromCssColorString("#7FFFD4")),s.AZURE=r(s.fromCssColorString("#F0FFFF")),s.BEIGE=r(s.fromCssColorString("#F5F5DC")),s.BISQUE=r(s.fromCssColorString("#FFE4C4")),s.BLACK=r(s.fromCssColorString("#000000")),s.BLANCHEDALMOND=r(s.fromCssColorString("#FFEBCD")),s.BLUE=r(s.fromCssColorString("#0000FF")),s.BLUEVIOLET=r(s.fromCssColorString("#8A2BE2")),s.BROWN=r(s.fromCssColorString("#A52A2A")),s.BURLYWOOD=r(s.fromCssColorString("#DEB887")),s.CADETBLUE=r(s.fromCssColorString("#5F9EA0")),s.CHARTREUSE=r(s.fromCssColorString("#7FFF00")),s.CHOCOLATE=r(s.fromCssColorString("#D2691E")),s.CORAL=r(s.fromCssColorString("#FF7F50")),s.CORNFLOWERBLUE=r(s.fromCssColorString("#6495ED")),s.CORNSILK=r(s.fromCssColorString("#FFF8DC")),s.CRIMSON=r(s.fromCssColorString("#DC143C")),s.CYAN=r(s.fromCssColorString("#00FFFF")),s.DARKBLUE=r(s.fromCssColorString("#00008B")),s.DARKCYAN=r(s.fromCssColorString("#008B8B")),s.DARKGOLDENROD=r(s.fromCssColorString("#B8860B")),s.DARKGRAY=r(s.fromCssColorString("#A9A9A9")),s.DARKGREEN=r(s.fromCssColorString("#006400")),s.DARKGREY=s.DARKGRAY,s.DARKKHAKI=r(s.fromCssColorString("#BDB76B")),s.DARKMAGENTA=r(s.fromCssColorString("#8B008B")),s.DARKOLIVEGREEN=r(s.fromCssColorString("#556B2F")),s.DARKORANGE=r(s.fromCssColorString("#FF8C00")),s.DARKORCHID=r(s.fromCssColorString("#9932CC")),s.DARKRED=r(s.fromCssColorString("#8B0000")),s.DARKSALMON=r(s.fromCssColorString("#E9967A")),s.DARKSEAGREEN=r(s.fromCssColorString("#8FBC8F")),s.DARKSLATEBLUE=r(s.fromCssColorString("#483D8B")),s.DARKSLATEGRAY=r(s.fromCssColorString("#2F4F4F")),s.DARKSLATEGREY=s.DARKSLATEGRAY,s.DARKTURQUOISE=r(s.fromCssColorString("#00CED1")),s.DARKVIOLET=r(s.fromCssColorString("#9400D3")),s.DEEPPINK=r(s.fromCssColorString("#FF1493")),s.DEEPSKYBLUE=r(s.fromCssColorString("#00BFFF")),s.DIMGRAY=r(s.fromCssColorString("#696969")),s.DIMGREY=s.DIMGRAY,s.DODGERBLUE=r(s.fromCssColorString("#1E90FF")),s.FIREBRICK=r(s.fromCssColorString("#B22222")),s.FLORALWHITE=r(s.fromCssColorString("#FFFAF0")),s.FORESTGREEN=r(s.fromCssColorString("#228B22")),s.FUSCHIA=r(s.fromCssColorString("#FF00FF")),s.GAINSBORO=r(s.fromCssColorString("#DCDCDC")),s.GHOSTWHITE=r(s.fromCssColorString("#F8F8FF")),s.GOLD=r(s.fromCssColorString("#FFD700")),s.GOLDENROD=r(s.fromCssColorString("#DAA520")),s.GRAY=r(s.fromCssColorString("#808080")),s.GREEN=r(s.fromCssColorString("#008000")),s.GREENYELLOW=r(s.fromCssColorString("#ADFF2F")),s.GREY=s.GRAY,s.HONEYDEW=r(s.fromCssColorString("#F0FFF0")),s.HOTPINK=r(s.fromCssColorString("#FF69B4")),s.INDIANRED=r(s.fromCssColorString("#CD5C5C")),s.INDIGO=r(s.fromCssColorString("#4B0082")),s.IVORY=r(s.fromCssColorString("#FFFFF0")),s.KHAKI=r(s.fromCssColorString("#F0E68C")),s.LAVENDER=r(s.fromCssColorString("#E6E6FA")),s.LAVENDAR_BLUSH=r(s.fromCssColorString("#FFF0F5")),s.LAWNGREEN=r(s.fromCssColorString("#7CFC00")),s.LEMONCHIFFON=r(s.fromCssColorString("#FFFACD")),s.LIGHTBLUE=r(s.fromCssColorString("#ADD8E6")),s.LIGHTCORAL=r(s.fromCssColorString("#F08080")),s.LIGHTCYAN=r(s.fromCssColorString("#E0FFFF")),s.LIGHTGOLDENRODYELLOW=r(s.fromCssColorString("#FAFAD2")),s.LIGHTGRAY=r(s.fromCssColorString("#D3D3D3")),s.LIGHTGREEN=r(s.fromCssColorString("#90EE90")),s.LIGHTGREY=s.LIGHTGRAY,s.LIGHTPINK=r(s.fromCssColorString("#FFB6C1")),s.LIGHTSEAGREEN=r(s.fromCssColorString("#20B2AA")),s.LIGHTSKYBLUE=r(s.fromCssColorString("#87CEFA")),s.LIGHTSLATEGRAY=r(s.fromCssColorString("#778899")),s.LIGHTSLATEGREY=s.LIGHTSLATEGRAY,s.LIGHTSTEELBLUE=r(s.fromCssColorString("#B0C4DE")),s.LIGHTYELLOW=r(s.fromCssColorString("#FFFFE0")),s.LIME=r(s.fromCssColorString("#00FF00")),s.LIMEGREEN=r(s.fromCssColorString("#32CD32")),s.LINEN=r(s.fromCssColorString("#FAF0E6")),s.MAGENTA=r(s.fromCssColorString("#FF00FF")),s.MAROON=r(s.fromCssColorString("#800000")),s.MEDIUMAQUAMARINE=r(s.fromCssColorString("#66CDAA")),s.MEDIUMBLUE=r(s.fromCssColorString("#0000CD")),s.MEDIUMORCHID=r(s.fromCssColorString("#BA55D3")),s.MEDIUMPURPLE=r(s.fromCssColorString("#9370DB")),s.MEDIUMSEAGREEN=r(s.fromCssColorString("#3CB371")),s.MEDIUMSLATEBLUE=r(s.fromCssColorString("#7B68EE")),s.MEDIUMSPRINGGREEN=r(s.fromCssColorString("#00FA9A")),s.MEDIUMTURQUOISE=r(s.fromCssColorString("#48D1CC")),s.MEDIUMVIOLETRED=r(s.fromCssColorString("#C71585")),s.MIDNIGHTBLUE=r(s.fromCssColorString("#191970")),s.MINTCREAM=r(s.fromCssColorString("#F5FFFA")),s.MISTYROSE=r(s.fromCssColorString("#FFE4E1")),s.MOCCASIN=r(s.fromCssColorString("#FFE4B5")),s.NAVAJOWHITE=r(s.fromCssColorString("#FFDEAD")),s.NAVY=r(s.fromCssColorString("#000080")),s.OLDLACE=r(s.fromCssColorString("#FDF5E6")),s.OLIVE=r(s.fromCssColorString("#808000")),s.OLIVEDRAB=r(s.fromCssColorString("#6B8E23")),s.ORANGE=r(s.fromCssColorString("#FFA500")),s.ORANGERED=r(s.fromCssColorString("#FF4500")),s.ORCHID=r(s.fromCssColorString("#DA70D6")),s.PALEGOLDENROD=r(s.fromCssColorString("#EEE8AA")),s.PALEGREEN=r(s.fromCssColorString("#98FB98")),s.PALETURQUOISE=r(s.fromCssColorString("#AFEEEE")),s.PALEVIOLETRED=r(s.fromCssColorString("#DB7093")),s.PAPAYAWHIP=r(s.fromCssColorString("#FFEFD5")),s.PEACHPUFF=r(s.fromCssColorString("#FFDAB9")),s.PERU=r(s.fromCssColorString("#CD853F")),s.PINK=r(s.fromCssColorString("#FFC0CB")),s.PLUM=r(s.fromCssColorString("#DDA0DD")),s.POWDERBLUE=r(s.fromCssColorString("#B0E0E6")),s.PURPLE=r(s.fromCssColorString("#800080")),s.RED=r(s.fromCssColorString("#FF0000")),s.ROSYBROWN=r(s.fromCssColorString("#BC8F8F")),s.ROYALBLUE=r(s.fromCssColorString("#4169E1")),s.SADDLEBROWN=r(s.fromCssColorString("#8B4513")),s.SALMON=r(s.fromCssColorString("#FA8072")),s.SANDYBROWN=r(s.fromCssColorString("#F4A460")),s.SEAGREEN=r(s.fromCssColorString("#2E8B57")),s.SEASHELL=r(s.fromCssColorString("#FFF5EE")),s.SIENNA=r(s.fromCssColorString("#A0522D")),s.SILVER=r(s.fromCssColorString("#C0C0C0")),s.SKYBLUE=r(s.fromCssColorString("#87CEEB")),s.SLATEBLUE=r(s.fromCssColorString("#6A5ACD")),s.SLATEGRAY=r(s.fromCssColorString("#708090")),s.SLATEGREY=s.SLATEGRAY,s.SNOW=r(s.fromCssColorString("#FFFAFA")),s.SPRINGGREEN=r(s.fromCssColorString("#00FF7F")),s.STEELBLUE=r(s.fromCssColorString("#4682B4")),s.TAN=r(s.fromCssColorString("#D2B48C")),s.TEAL=r(s.fromCssColorString("#008080")),s.THISTLE=r(s.fromCssColorString("#D8BFD8")),s.TOMATO=r(s.fromCssColorString("#FF6347")),s.TURQUOISE=r(s.fromCssColorString("#40E0D0")),s.VIOLET=r(s.fromCssColorString("#EE82EE")),s.WHEAT=r(s.fromCssColorString("#F5DEB3")),s.WHITE=r(s.fromCssColorString("#FFFFFF")),s.WHITESMOKE=r(s.fromCssColorString("#F5F5F5")),s.YELLOW=r(s.fromCssColorString("#FFFF00")),s.YELLOWGREEN=r(s.fromCssColorString("#9ACD32")),s}),define("Core/PolylineGeometry",["./defined","./DeveloperError","./ComponentDatatype","./IndexDatatype","./PrimitiveType","./defaultValue","./BoundingSphere","./Cartesian3","./PolylinePipeline","./VertexFormat","./Geometry","./GeometryAttribute","./GeometryAttributes","./Color"],function(e,t,r,n,a,i,o,s,u,l,c,f,m,h){"use strict";var y=function(e){e=i(e,i.EMPTY_OBJECT);var t=e.positions,r=e.colors,n=i(e.width,1),a=i(e.colorsPerVertex,!1);this._positions=t,this._colors=r,this._width=n,this._perVertex=a,this._vertexFormat=i(e.vertexFormat,l.DEFAULT),this._workerName="createPolylineGeometry"},p=new s,d=new s,v=new s,g=new s;return y.createGeometry=function(t){var i,l,y,E=t._width,S=t._vertexFormat,C=t._colors,w=t._perVertex,A=u.wrapLongitude(t._positions),M=A.positions,x=A.lengths,T=0,b=x.length;for(i=0;b>i;++i)T+=4*x[i]-4;var O,I,N=new Float64Array(3*T),R=new Float64Array(3*T),z=new Float64Array(3*T),L=new Float32Array(2*T),P=S.st?new Float32Array(2*T):void 0,D=e(C)?new Uint8Array(4*T):void 0,F=0,_=0,B=0,U=0,G=0,q=0,Y=M.length;for(l=0;Y>l;++l){0===l?(I=p,s.subtract(M[0],M[1],I),s.add(M[0],I,I)):I=M[l-1],s.clone(I,v),s.clone(M[l],d),l===Y-1?(I=p,s.subtract(M[Y-1],M[Y-2],I),s.add(M[Y-1],I,I)):I=M[l+1],s.clone(I,g),O=x[G],l===q+O&&(q+=O,++G);var W,V,H=0===l-q,k=l===q+x[G]-1,K=H?2:0,j=k?2:4;if(e(D)){var Z=l-G;W=H||w?C[Z]:C[Z-1],k||(V=C[Z])}for(y=K;j>y;++y){s.pack(d,N,F),s.pack(v,R,F),s.pack(g,z,F),F+=3;var Q=0>y-2?-1:1;if(L[_++]=2*(y%2)-1,L[_++]=Q*E,S.st&&(P[B++]=l/(Y-1),P[B++]=Math.max(L[_-2],0)),e(D)){var X=2>y?W:V;D[U++]=h.floatToByte(X.red),D[U++]=h.floatToByte(X.green),D[U++]=h.floatToByte(X.blue),D[U++]=h.floatToByte(X.alpha)}}}var J=new m;J.position=new f({componentDatatype:r.DOUBLE,componentsPerAttribute:3,values:N}),J.prevPosition=new f({componentDatatype:r.DOUBLE,componentsPerAttribute:3,values:R}),J.nextPosition=new f({componentDatatype:r.DOUBLE,componentsPerAttribute:3,values:z}),J.expandAndWidth=new f({componentDatatype:r.FLOAT,componentsPerAttribute:2,values:L}),S.st&&(J.st=new f({componentDatatype:r.FLOAT,componentsPerAttribute:2,values:P})),e(D)&&(J.color=new f({componentDatatype:r.UNSIGNED_BYTE,componentsPerAttribute:4,values:D,normalize:!0})),b=x.length;var $=n.createTypedArray(T,6*M.length-6*b),et=0,tt=0;for(i=0;b>i;++i)for(O=x[i]-1,l=0;O>l;++l)$[tt++]=et,$[tt++]=et+2,$[tt++]=et+1,$[tt++]=et+1,$[tt++]=et+2,$[tt++]=et+3,et+=4;return new c({attributes:J,indices:$,primitiveType:a.TRIANGLES,boundingSphere:o.fromPoints(M)})},y}),define("Core/Cartesian2",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,t,r,n){"use strict";var a=function(t,r){this.x=e(t,0),this.y=e(r,0)};a.fromElements=function(e,r,n){return t(n)?(n.x=e,n.y=r,n):new a(e,r)},a.clone=function(e,r){return t(e)?t(r)?(r.x=e.x,r.y=e.y,r):new a(e.x,e.y):void 0},a.fromCartesian3=a.clone,a.fromCartesian4=a.clone,a.packedLength=2,a.pack=function(t,r,n){n=e(n,0),r[n++]=t.x,r[n]=t.y},a.unpack=function(r,n,i){return n=e(n,0),t(i)||(i=new a),i.x=r[n++],i.y=r[n],i},a.fromArray=a.unpack,a.getMaximumComponent=function(e){return Math.max(e.x,e.y)},a.getMinimumComponent=function(e){return Math.min(e.x,e.y)},a.getMinimumByComponent=function(e,r,n){return t(n)||(n=new a),n.x=Math.min(e.x,r.x),n.y=Math.min(e.y,r.y),n},a.getMaximumByComponent=function(e,r,n){return t(n)||(n=new a),n.x=Math.max(e.x,r.x),n.y=Math.max(e.y,r.y),n},a.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y},a.magnitude=function(e){return Math.sqrt(a.magnitudeSquared(e))};var i=new a;a.distance=function(e,t){return a.subtract(e,t,i),a.magnitude(i)},a.normalize=function(e,r){var n=a.magnitude(e);return t(r)?(r.x=e.x/n,r.y=e.y/n,r):new a(e.x/n,e.y/n)},a.dot=function(e,t){return e.x*t.x+e.y*t.y},a.multiplyComponents=function(e,r,n){return t(n)?(n.x=e.x*r.x,n.y=e.y*r.y,n):new a(e.x*r.x,e.y*r.y)},a.add=function(e,r,n){return t(n)?(n.x=e.x+r.x,n.y=e.y+r.y,n):new a(e.x+r.x,e.y+r.y)},a.subtract=function(e,r,n){return t(n)?(n.x=e.x-r.x,n.y=e.y-r.y,n):new a(e.x-r.x,e.y-r.y)},a.multiplyByScalar=function(e,r,n){return t(n)?(n.x=e.x*r,n.y=e.y*r,n):new a(e.x*r,e.y*r)},a.divideByScalar=function(e,r,n){return t(n)?(n.x=e.x/r,n.y=e.y/r,n):new a(e.x/r,e.y/r)},a.negate=function(e,r){return t(r)?(r.x=-e.x,r.y=-e.y,r):new a(-e.x,-e.y)},a.abs=function(e,r){return t(r)?(r.x=Math.abs(e.x),r.y=Math.abs(e.y),r):new a(Math.abs(e.x),Math.abs(e.y))};var o=new a;a.lerp=function(e,t,r,n){return a.multiplyByScalar(t,r,o),n=a.multiplyByScalar(e,1-r,n),a.add(o,n,n)};var s=new a,u=new a;a.angleBetween=function(e,t){return a.normalize(e,s),a.normalize(t,u),Math.acos(a.dot(s,u))};var l=new a;return a.mostOrthogonalAxis=function(e,t){var r=a.normalize(e,l);return a.abs(r,r),t=r.x<=r.y?a.clone(a.UNIT_X,t):a.clone(a.UNIT_Y,t)},a.equals=function(e,r){return e===r||t(e)&&t(r)&&e.x===r.x&&e.y===r.y},a.equalsEpsilon=function(e,r,n){return e===r||t(e)&&t(r)&&Math.abs(e.x-r.x)<=n&&Math.abs(e.y-r.y)<=n},a.ZERO=n(new a(0,0)),a.UNIT_X=n(new a(1,0)),a.UNIT_Y=n(new a(0,1)),a.prototype.clone=function(e){return a.clone(this,e)},a.prototype.equals=function(e){return a.equals(this,e)},a.prototype.equalsEpsilon=function(e,t){return a.equalsEpsilon(this,e,t)},a.prototype.toString=function(){return"("+this.x+", "+this.y+")"},a}),define("Core/barycentricCoordinates",["./Cartesian2","./Cartesian3","./defined","./DeveloperError"],function(e,t,r){"use strict";var n=new t,a=new t,i=new t,o=function(o,s,u,l,c){r(c)||(c=new t);var f,m,h,y,p,d,v,g;r(s.z)?(f=t.subtract(u,s,n),m=t.subtract(l,s,a),h=t.subtract(o,s,i),y=t.dot(f,f),p=t.dot(f,m),d=t.dot(f,h),v=t.dot(m,m),g=t.dot(m,h)):(f=e.subtract(u,s,n),m=e.subtract(l,s,a),h=e.subtract(o,s,i),y=e.dot(f,f),p=e.dot(f,m),d=e.dot(f,h),v=e.dot(m,m),g=e.dot(m,h));var E=1/(y*v-p*p);return c.y=(v*d-p*g)*E,c.z=(y*g-p*d)*E,c.x=1-c.y-c.z,c};return o}),define("Core/EncodedCartesian3",["./Cartesian3","./defined","./DeveloperError"],function(e,t){"use strict";var r=function(){this.high=e.clone(e.ZERO),this.low=e.clone(e.ZERO)};r.encode=function(e,r){t(r)||(r={high:0,low:0});var n;return e>=0?(n=65536*Math.floor(e/65536),r.high=n,r.low=e-n):(n=65536*Math.floor(-e/65536),r.high=-n,r.low=e+n),r};var n={high:0,low:0};r.fromCartesian=function(e,a){t(a)||(a=new r);var i=a.high,o=a.low;return r.encode(e.x,n),i.x=n.high,o.x=n.low,r.encode(e.y,n),i.y=n.high,o.y=n.low,r.encode(e.z,n),i.z=n.high,o.z=n.low,a};var a=new r;return r.writeElements=function(e,t,n){r.fromCartesian(e,a);var i=a.high,o=a.low;t[n]=i.x,t[n+1]=i.y,t[n+2]=i.z,t[n+3]=o.x,t[n+4]=o.y,t[n+5]=o.z},r}),define("Core/Tipsify",["./defaultValue","./defined","./DeveloperError"],function(e,t){"use strict";var r={};return r.calculateACMR=function(r){r=e(r,e.EMPTY_OBJECT);var n=r.indices,a=r.maximumIndex,i=e(r.cacheSize,24),o=n.length;if(!t(a)){a=0;for(var s=0,u=n[s];o>s;)u>a&&(a=u),++s,u=n[s]}for(var l=[],c=0;a+1>c;c++)l[c]=0;for(var f=i+1,m=0;o>m;++m)f-l[n[m]]>i&&(l[n[m]]=f,++f);return(f-i+1)/(o/3)},r.tipsify=function(r){function n(e,t,r,n){for(;t.length>=1;){var a=t[t.length-1];if(t.splice(t.length-1,1),e[a].numLiveTriangles>0)return a}for(;n>i;){if(e[i].numLiveTriangles>0)return++i,i-1;++i}return-1}function a(e,t,r,a,i,o,s){for(var u,l=-1,c=-1,f=0;fc||-1===c)&&(c=u,l=m)),++f}return-1===l?n(a,o,e,s):l}r=e(r,e.EMPTY_OBJECT);var i,o=r.indices,s=r.maximumIndex,u=e(r.cacheSize,24),l=o.length,c=0,f=0,m=o[f],h=l;if(t(s))c=s+1;else{for(;h>f;)m>c&&(c=m),++f,m=o[f];if(-1===c)return 0;++c}for(var y=[],p=0;c>p;p++)y[p]={numLiveTriangles:0,timeStamp:0,vertexTriangles:[]};f=0;for(var d=0;h>f;)y[o[f]].vertexTriangles.push(d),++y[o[f]].numLiveTriangles,y[o[f+1]].vertexTriangles.push(d),++y[o[f+1]].numLiveTriangles,y[o[f+2]].vertexTriangles.push(d),++y[o[f+2]].numLiveTriangles,++d,f+=3;var v=0,g=u+1;i=1;var E,S,C=[],w=[],A=0,M=[],x=l/3,T=[];for(p=0;x>p;p++)T[p]=!1;for(var b,O;-1!==v;){C=[],S=y[v],O=S.vertexTriangles.length;for(var I=0;O>I;++I)if(d=S.vertexTriangles[I],!T[d]){T[d]=!0,f=d+d+d;for(var N=0;3>N;++N)b=o[f],C.push(b),w.push(b),M[A]=b,++A,E=y[b],--E.numLiveTriangles,g-E.timeStamp>u&&(E.timeStamp=g,++g),++f}v=a(o,u,C,y,g,w,c)}return M},r}),define("Core/GeometryPipeline",["./barycentricCoordinates","./defaultValue","./defined","./DeveloperError","./Cartesian2","./Cartesian3","./Cartesian4","./Cartographic","./EncodedCartesian3","./Intersect","./IntersectionTests","./Math","./Matrix3","./Matrix4","./Plane","./GeographicProjection","./ComponentDatatype","./IndexDatatype","./PrimitiveType","./Tipsify","./BoundingSphere","./Geometry","./GeometryAttribute"],function(e,t,r,n,a,i,o,s,u,l,c,f,m,h,y,p,d,v,g,E,S,C,w){"use strict";function A(e,t,r,n,a){e[t++]=r,e[t++]=n,e[t++]=n,e[t++]=a,e[t++]=a,e[t]=r}function M(e){for(var t=e.length,r=6*(t/3),n=v.createTypedArray(t,r),a=0,i=0;t>i;i+=3,a+=6)A(n,a,e[i],e[i+1],e[i+2]);return n}function x(e){var t=e.length;if(t>=3){var r=6*(t-2),n=v.createTypedArray(t,r);A(n,0,e[0],e[1],e[2]);for(var a=6,i=3;t>i;++i,a+=6)A(n,a,e[i-1],e[i],e[i-2]);return n}return new Uint16Array}function T(e){if(e.length>0){for(var t=e.length-1,r=6*(t-1),n=v.createTypedArray(t,r),a=e[0],i=0,o=1;t>o;++o,i+=6)A(n,i,a,e[o],e[o+1]);return n}return new Uint16Array}function b(e){var t={};for(var n in e)if(e.hasOwnProperty(n)&&r(e[n])&&r(e[n].values)){var a=e[n];t[n]=new w({componentDatatype:a.componentDatatype,componentsPerAttribute:a.componentsPerAttribute,normalize:a.normalize,values:[]})}return t}function O(e,t,n){for(var a in t)if(t.hasOwnProperty(a)&&r(t[a])&&r(t[a].values))for(var i=t[a],o=0;oo;o+=3)i.unpack(n,o,Z),h.multiplyByPoint(e,Z,Z),i.pack(Z,n,o)}function N(e,t){if(r(t))for(var n=t.values,a=n.length,o=0;a>o;o+=3)i.unpack(n,o,Z),m.multiplyByVector(e,Z,Z),Z=i.normalize(Z,Z),i.pack(Z,n,o)}function R(e){var t,n=e.length,a={},i=e[0].geometry.attributes;for(t in i)if(i.hasOwnProperty(t)&&r(i[t])&&r(i[t].values)){for(var o=i[t],s=o.values.length,u=!0,l=1;n>l;++l){var c=e[l].geometry.attributes[t];if(!r(c)||o.componentDatatype.value!==c.componentDatatype.value||o.componentsPerAttribute!==c.componentsPerAttribute||o.normalize!==c.normalize){u=!1;break}s+=c.values.length}u&&(a[t]=new w({componentDatatype:o.componentDatatype,componentsPerAttribute:o.componentsPerAttribute,normalize:o.normalize,values:d.createTypedArray(o.componentDatatype,s)}))}return a}function z(e){if(r(e.indices))return e;for(var t=C.computeNumberOfVertices(e),n=v.createTypedArray(t,t),a=0;t>a;++a)n[a]=a;return e.indices=n,e}function L(e){var t=C.computeNumberOfVertices(e),r=v.createTypedArray(t,3*(t-2));r[0]=1,r[1]=0,r[2]=2;for(var n=3,a=3;t>a;++a)r[n++]=a-1,r[n++]=0,r[n++]=a;return e.indices=r,e.primitiveType=g.TRIANGLES,e}function P(e){var t=C.computeNumberOfVertices(e),r=v.createTypedArray(t,3*(t-2));r[0]=0,r[1]=1,r[2]=2,t>3&&(r[3]=0,r[4]=2,r[5]=3);for(var n=6,a=3;t-1>a;a+=2)r[n++]=a,r[n++]=a-1,r[n++]=a+1,t>a+2&&(r[n++]=a,r[n++]=a+1,r[n++]=a+2);return e.indices=r,e.primitiveType=g.TRIANGLES,e}function D(e){if(r(e.indices))return e;for(var t=C.computeNumberOfVertices(e),n=v.createTypedArray(t,t),a=0;t>a;++a)n[a]=a;return e.indices=n,e}function F(e){var t=C.computeNumberOfVertices(e),r=v.createTypedArray(t,2*(t-1));r[0]=0,r[1]=1;for(var n=2,a=2;t>a;++a)r[n++]=a-1,r[n++]=a;return e.indices=r,e.primitiveType=g.LINES,e}function _(e){var t=C.computeNumberOfVertices(e),r=v.createTypedArray(t,2*t);r[0]=0,r[1]=1;for(var n=2,a=2;t>a;++a)r[n++]=a-1,r[n++]=a;return r[n++]=t-1,r[n]=0,e.indices=r,e.primitiveType=g.LINES,e}function B(e){switch(e.primitiveType){case g.TRIANGLE_FAN:return L(e);case g.TRIANGLE_STRIP:return P(e);case g.TRIANGLES:return z(e);case g.LINE_STRIP:return F(e);case g.LINE_LOOP:return _(e);case g.LINES:return D(e)}return e}function U(e,t){Math.abs(e.y)=0||t.x>=0||r.x>=0)return void 0;var n=e.y<0,a=t.y<0,i=r.y<0;U(e,n),U(t,a),U(r,i);var o=0;o+=n?1:0,o+=a?1:0,o+=i?1:0;var s=ct.indices;1===o?(s[1]=3,s[2]=4,s[5]=6,s[7]=6,s[8]=5,n?(G(e,t,ot,ut),G(e,r,st,lt),s[0]=0,s[3]=1,s[4]=2,s[6]=1):a?(G(t,r,ot,ut),G(t,e,st,lt),s[0]=1,s[3]=2,s[4]=0,s[6]=2):i&&(G(r,e,ot,ut),G(r,t,st,lt),s[0]=2,s[3]=0,s[4]=1,s[6]=0)):2===o&&(s[2]=4,s[4]=4,s[5]=3,s[7]=5,s[8]=6,n?a?i||(G(r,e,ot,ut),G(r,t,st,lt),s[0]=0,s[1]=1,s[3]=0,s[6]=2):(G(t,r,ot,ut),G(t,e,st,lt),s[0]=2,s[1]=0,s[3]=2,s[6]=1):(G(e,t,ot,ut),G(e,r,st,lt),s[0]=1,s[1]=2,s[3]=1,s[6]=0));var u=ct.positions;return u[0]=e,u[1]=t,u[2]=r,ct.length=3,(1===o||2===o)&&(u[3]=ot,u[4]=st,u[5]=ut,u[6]=lt,ct.length=7),ct}function Y(t,n,o,s,u,l,c,f){if(r(u)||r(l)||r(c)||r(f)){var m,h,y,p,d,v,g,E,S,C,w,A,M,x,T,b,O,I,N=s.positions,R=N[0],z=N[1],L=N[2];r(u)&&(m=i.fromArray(u,3*t),h=i.fromArray(u,3*n),y=i.fromArray(u,3*o)),r(l)&&(p=i.fromArray(l,3*t),d=i.fromArray(l,3*n),v=i.fromArray(l,3*o)),r(c)&&(g=i.fromArray(c,3*t),E=i.fromArray(c,3*n),S=i.fromArray(c,3*o)),r(f)&&(C=a.fromArray(f,2*t),w=a.fromArray(f,2*n),A=a.fromArray(f,2*o));for(var P=3;PE;E+=3){var S=l[E],w=l[E+1],A=l[E+2],M=i.fromArray(n,3*S),x=i.fromArray(n,3*w),T=i.fromArray(n,3*A),b=q(M,x,T);if(r(b))if(c[3*S+1]=b.positions[0].y,c[3*w+1]=b.positions[1].y,c[3*A+1]=b.positions[2].y,b.length>3){for(var O=c.length/3,I=0;IN?p.push(l[E+N]):p.push(N-3+O)}for(var R=3;Rm;m+=2){var h=a[m],p=a[m+1],d=i.fromArray(n,3*h),g=i.fromArray(n,3*p);if(Math.abs(d.y)c;c+=3)u[l++]=i[c],u[l++]=i[c+1],u[l++]=i[c+2],u[l++]=i[c]+o[c]*a,u[l++]=i[c+1]+o[c+1]*a,u[l++]=i[c+2]+o[c+2]*a;var f,m=e.boundingSphere;return r(m)&&(f=new S(m.center,m.radius+a)),new C({attributes:{position:new w({componentDatatype:d.DOUBLE,componentsPerAttribute:3,values:u})},primitiveType:g.LINES,boundingSphere:f})},H.createAttributeLocations=function(e){var t,n=["position","positionHigh","positionLow","position3DHigh","position3DLow","position2DHigh","position2DLow","pickColor","normal","st","binormal","tangent"],a=e.attributes,i={},o=0,s=n.length;for(t=0;s>t;++t){var u=n[t];r(a[u])&&(i[u]=o++)}for(var l in a)a.hasOwnProperty(l)&&!r(i[l])&&(i[l]=o++);return i},H.reorderForPreVertexCache=function(e){var t=C.computeNumberOfVertices(e),n=e.indices;if(r(n)){for(var a=new Int32Array(t),i=0;t>i;i++)a[i]=-1;for(var o,s=n,u=s.length,l=v.createTypedArray(t,u),c=0,f=0,m=0;u>c;)o=a[s[c]],-1!==o?l[f]=o:(o=s[c],a[o]=m,l[f]=m,++m),++c,++f;e.indices=l;var h=e.attributes;for(var y in h)if(h.hasOwnProperty(y)&&r(h[y])&&r(h[y].values)){for(var p=h[y],g=p.values,E=0,S=p.componentsPerAttribute,w=d.createTypedArray(p.componentDatatype,m*S);t>E;){var A=a[E];if(-1!==A)for(i=0;S>i;i++)w[S*A+i]=g[S*E+i];++E}p.values=w}}return e},H.reorderForPostVertexCache=function(e,t){var n=e.indices;if(e.primitiveType===g.TRIANGLES&&r(n)){for(var a=n.length,i=0,o=0;a>o;o++)n[o]>i&&(i=n[o]);e.indices=E.tipsify({indices:n,maximumIndex:i,cacheSize:t})}return e},H.fitToUnsignedShortIndices=function(e){var t=[],n=C.computeNumberOfVertices(e);if(r(e.indices)&&n>f.SIXTY_FOUR_KILOBYTES){var a,i=[],o=[],s=0,u=b(e.attributes),l=e.indices,c=l.length;e.primitiveType===g.TRIANGLES?a=3:e.primitiveType===g.LINES?a=2:e.primitiveType===g.POINTS&&(a=1);for(var m=0;c>m;m+=a){for(var h=0;a>h;++h){var y=l[m+h],p=i[y];r(p)||(p=s++,i[y]=p,O(u,e.attributes,y)),o.push(p)}s+a>f.SIXTY_FOUR_KILOBYTES&&(t.push(new C({attributes:u,indices:o,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere})),i=[],o=[],s=0,u=b(e.attributes))}0!==o.length&&t.push(new C({attributes:u,indices:o,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere}))}else t.push(e);return t};var k=new i,K=new s;H.projectTo2D=function(e,t,a,o,s){var u=e.attributes[t];s=r(s)?s:new p;for(var l=s.ellipsoid,c=u.values,f=new Float64Array(c.length),m=0,h=0;hc;++c)u.encode(i[c],j),s[c]=j.high,l[c]=j.low;var f=a.componentsPerAttribute;return e.attributes[r]=new w({componentDatatype:d.FLOAT,componentsPerAttribute:f,values:s}),e.attributes[n]=new w({componentDatatype:d.FLOAT,componentsPerAttribute:f,values:l}),delete e.attributes[t],e};var Z=new i,Q=new h,X=new m;H.transformToWorldCoordinates=function(e){var t=e.modelMatrix;if(h.equals(t,h.IDENTITY))return e;var n=e.geometry.attributes;I(t,n.position),I(t,n.prevPosition),I(t,n.nextPosition),(r(n.normal)||r(n.binormal)||r(n.tangent))&&(h.inverse(t,Q),h.transpose(Q,Q),h.getRotation(Q,X),N(X,n.normal),N(X,n.binormal),N(X,n.tangent));var a=e.geometry.boundingSphere;return r(a)&&(e.geometry.boundingSphere=S.transform(a,t,a)),e.modelMatrix=h.clone(h.IDENTITY),e},H.combine=function(e){var t,n,a,o,s=e.length;e[0].modelMatrix;var u,l,c,f=r(e[0].geometry.indices),m=e[0].geometry.primitiveType,h=R(e);for(t in h)if(h.hasOwnProperty(t))for(u=h[t].values,o=0,n=0;s>n;++n)for(l=e[n].geometry.attributes[t].values,c=l.length,a=0;c>a;++a)u[o++]=l[a];var y;if(f){var p=0;for(n=0;s>n;++n)p+=e[n].geometry.indices.length;var d=C.computeNumberOfVertices(new C({attributes:h,primitiveType:g.POINTS})),E=v.createTypedArray(d,p),w=0,A=0;for(n=0;s>n;++n){var M=e[n].geometry.indices,x=M.length;for(o=0;x>o;++o)E[w++]=A+M[o];A+=C.computeNumberOfVertices(e[n].geometry)}y=E}var T,b=new i,O=0;for(n=0;s>n;++n){if(T=e[n].geometry.boundingSphere,!r(T)){b=void 0;break}i.add(T.center,b,b)}if(r(b))for(i.divideByScalar(b,s,b),n=0;s>n;++n){T=e[n].geometry.boundingSphere;var I=i.magnitude(i.subtract(T.center,b))+T.radius;I>O&&(O=I)}return new C({attributes:h,indices:y,primitiveType:m,boundingSphere:r(b)?new S(b,O):void 0})};var J=new i,$=new i,et=new i,tt=new i;H.computeNormal=function(e){for(var t=e.indices,r=e.attributes,n=r.position.values,a=r.position.values.length/3,o=t.length,s=new Array(a),u=new Array(o/3),l=new Array(o),c=0;a>c;c++)s[c]={indexOffset:0,count:0,currentCount:0};var f=0;for(c=0;o>c;c+=3){var m=t[c],h=t[c+1],y=t[c+2],p=3*m,v=3*h,g=3*y;$.x=n[p],$.y=n[p+1],$.z=n[p+2],et.x=n[v],et.y=n[v+1],et.z=n[v+2],tt.x=n[g],tt.y=n[g+1],tt.z=n[g+2],s[m].count++,s[h].count++,s[y].count++,i.subtract(et,$,et),i.subtract(tt,$,tt),u[f]=i.cross(et,tt),f++}var E=0;for(c=0;a>c;c++)s[c].indexOffset+=E,E+=s[c].count;f=0;var S;for(c=0;o>c;c+=3){S=s[t[c]];var C=S.indexOffset+S.currentCount;l[C]=f,S.currentCount++,S=s[t[c+1]],C=S.indexOffset+S.currentCount,l[C]=f,S.currentCount++,S=s[t[c+2]],C=S.indexOffset+S.currentCount,l[C]=f,S.currentCount++,f++}var A=new Float32Array(3*a);for(c=0;a>c;c++){var M=3*c;if(S=s[c],S.count>0){for(i.clone(i.ZERO,J),f=0;fl;l+=3){var h=t[l],y=t[l+1],p=t[l+2];c=3*h,f=3*y,m=3*p;var v=2*h,g=2*y,E=2*p,S=r[c],C=r[c+1],A=r[c+2],M=a[v],x=a[v+1],T=a[g+1]-x,b=a[E+1]-x,O=1/((a[g]-M)*b-(a[E]-M)*T),I=(b*(r[f]-S)-T*(r[m]-S))*O,N=(b*(r[f+1]-C)-T*(r[m+1]-C))*O,R=(b*(r[f+2]-A)-T*(r[m+2]-A))*O;u[c]+=I,u[c+1]+=N,u[c+2]+=R,u[f]+=I,u[f+1]+=N,u[f+2]+=R,u[m]+=I,u[m+1]+=N,u[m+2]+=R}var z=new Float32Array(3*o),L=new Float32Array(3*o);for(l=0;o>l;l++){c=3*l,f=c+1,m=c+2;var P=i.fromArray(n,c,rt),D=i.fromArray(u,c,at),F=i.dot(P,D);i.multiplyByScalar(P,F,nt),i.normalize(i.subtract(D,nt,D),D),L[c]=D.x,L[f]=D.y,L[m]=D.z,i.normalize(i.cross(P,D,D),D),z[c]=D.x,z[f]=D.y,z[m]=D.z}return e.attributes.tangent=new w({componentDatatype:d.FLOAT,componentsPerAttribute:3,values:L}),e.attributes.binormal=new w({componentDatatype:d.FLOAT,componentsPerAttribute:3,values:z}),e};var it=new i,ot=new i,st=new i,ut=new i,lt=new i,ct={positions:new Array(7),indices:new Array(9)};return H.wrapLongitude=function(e){var t=e.boundingSphere;if(r(t)){var n=t.center.x-t.radius;if(n>0||S.intersect(t,o.UNIT_Y)!==l.INTERSECTING)return e}return B(e),e.primitiveType===g.TRIANGLES?W(e):e.primitiveType===g.LINES&&V(e),e},H}),define("Scene/PrimitivePipeline",["../Core/defined","../Core/defaultValue","../Core/Color","../Core/ComponentDatatype","../Core/DeveloperError","../Core/FeatureDetection","../Core/Geometry","../Core/GeometryAttribute","../Core/GeometryPipeline","../Core/Matrix4"],function(e,t,r,n,a,i,o,s,u,l){"use strict";function c(e,t,r){var n,a=!r,i=e.length;if(!a&&i>1){var o=e[0].modelMatrix;for(n=1;i>n;++n)if(!l.equals(o,e[n].modelMatrix)){a=!0;break}}if(a)for(n=0;i>n;++n)u.transformToWorldCoordinates(e[n]);else l.clone(e[0].modelMatrix,t)}function f(e,t){for(var a=e.length,i=0;a>i;++i){var o=e[i],u=o.geometry,l=u.attributes,c=l.position,f=4*(c.values.length/c.componentsPerAttribute);l.pickColor=new s({componentDatatype:n.UNSIGNED_BYTE,componentsPerAttribute:4,normalize:!0,values:new Uint8Array(f)});for(var m=t[i],h=r.floatToByte(m.red),y=r.floatToByte(m.green),p=r.floatToByte(m.blue),d=r.floatToByte(m.alpha),v=l.pickColor.values,g=0;f>g;g+=4)v[g]=h,v[g+1]=y,v[g+2]=p,v[g+3]=d}}function m(t){var r,n=t.length,a=[],i=t[0].attributes;for(r in i)if(i.hasOwnProperty(r)){for(var o=i[r],s=!0,u=1;n>u;++u){var l=t[u].attributes[r];if(!e(l)||o.componentDatatype.value!==l.componentDatatype.value||o.componentsPerAttribute!==l.componentsPerAttribute||o.normalize!==l.normalize){s=!1;break}}s&&a.push(r)}return a}function h(e,t){for(var r=e.length,a=0;r>a;++a)for(var i=e[a],u=i.attributes,l=i.geometry,c=o.computeNumberOfVertices(l),f=t.length,m=0;f>m;++m){for(var h=t[m],y=u[h],p=y.componentDatatype,d=y.value,v=d.length,g=n.createTypedArray(p,c*v),E=0;c>E;++E)g.set(d,E*v);l.attributes[h]=new s({componentDatatype:p,componentsPerAttribute:v,normalize:y.normalize,values:g})}}function y(e){var t,r=e.instances,a=e.pickIds,i=e.projection,o=e.elementIndexUintSupported,s=e.allow3DOnly,l=e.allowPicking,y=e.vertexCacheOptimize,p=e.modelMatrix,d=r.length;if(r[0].geometry.primitiveType,c(r,p,s),!s)for(t=0;d>t;++t)u.wrapLongitude(r[t].geometry);l&&f(r,a);var v=m(r);if(h(r,v),y)for(t=0;d>t;++t)u.reorderForPostVertexCache(r[t].geometry),u.reorderForPreVertexCache(r[t].geometry);var g,E=u.combine(r),S=E.attributes;if(s)for(g in S)S.hasOwnProperty(g)&&S[g].componentDatatype.value===n.DOUBLE.value&&u.encodeAttribute(E,g,g+"3DHigh",g+"3DLow");else for(g in S)if(S.hasOwnProperty(g)&&S[g].componentDatatype.value===n.DOUBLE.value){var C=g+"3D",w=g+"2D";u.projectTo2D(E,g,C,w,i),u.encodeAttribute(E,C,C+"High",C+"Low"),u.encodeAttribute(E,w,w+"High",w+"Low")}return o?[E]:u.fitToUnsignedShortIndices(E)}function p(e,t,r){for(var a=[],i=e.attributes,o=r.length,s=0;o>s;++s){var u=r[s],l=i[u],c=l.componentDatatype;c.value===n.DOUBLE.value&&(c=n.FLOAT);var f=n.createTypedArray(c,l.values);a.push({index:t[u],componentDatatype:c,componentsPerAttribute:l.componentsPerAttribute,normalize:l.normalize,values:f}),delete i[u]}return a}function d(r,n,a){for(var i=[],s=m(r),u=r.length,l={},c={},f=0;u>f;++f)for(var h=r[f],y=o.computeNumberOfVertices(h.geometry),p=s.length,d=0;p>d;++d)for(var v=s[d],g=a[v],E=y;E>0;){for(var S,C=t(c[v],0),w=n[C],A=w.length,M=0;A>M&&(S=w[M],S.index!==g);++M);e(i[f])||(i[f]={}),e(i[f][v])||(i[f][v]={dirty:!1,value:h.attributes[v].value,indices:[]});var x,T=S.values.length/S.componentsPerAttribute,b=t(l[v],0);T>b+E?(x=E,i[f][v].indices.push({attribute:S,offset:b,count:x}),l[v]=b+E):(x=T-b,i[f][v].indices.push({attribute:S,offset:b,count:x}),l[v]=0,c[v]=C+1),E-=x}return i}function v(t){return e(t.constructor.name)?{type:t.constructor.name,buffer:t.buffer}:t}function g(t){return e(t.type)?new S[t.type](t.buffer):t}if(!i.supportsTypedArrays())return{};var E={};E.combineGeometry=function(e){for(var t={instances:e.instances,pickIds:e.pickIds,ellipsoid:e.ellipsoid,projection:e.projection,elementIndexUintSupported:e.elementIndexUintSupported,allow3DOnly:e.allow3DOnly,allowPicking:e.allowPicking,vertexCacheOptimize:e.vertexCacheOptimize,modelMatrix:l.clone(e.modelMatrix)},r=y(t),n=u.createAttributeLocations(r[0]),a=t.instances,i=m(a),o=[],s=r.length,c=0;s>c;++c){var f=r[c];o.push(p(f,n,i))}var h=d(a,o,n);return{geometries:r,modelMatrix:t.modelMatrix,attributeLocations:n,vaAttributes:o,vaAttributeLocations:h}};var S={Int8Array:Int8Array,Uint8Array:Uint8Array,Int16Array:Int16Array,Uint16Array:Uint16Array,Int32Array:Int32Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array};return E.transferGeometry=function(t,r){var n,a=t.attributes;for(var o in a)a.hasOwnProperty(o)&&e(a[o])&&e(a[o].values)&&(n=a[o].values,i.supportsTransferringArrayBuffers()&&r.indexOf(a[o].values.buffer)<0&&r.push(n.buffer),e(n.type)||(a[o].values=v(n)));e(t.indices)&&(n=t.indices,i.supportsTransferringArrayBuffers()&&r.push(n.buffer),e(n.type)||(t.indices=v(t.indices)))},E.transferGeometries=function(e,t){for(var r=e.length,n=0;r>n;++n)E.transferGeometry(e[n],t)},E.transferPerInstanceAttributes=function(e,t){for(var r=e.length,n=0;r>n;++n)for(var a=e[n],o=a.length,s=0;o>s;++s){var u=a[s].values;i.supportsTransferringArrayBuffers()&&t.push(u.buffer),a[s].values=v(u)}},E.transferInstances=function(e,t){for(var r=e.length,n=0;r>n;++n){var a=e[n];E.transferGeometry(a.geometry,t)}},E.receiveGeometry=function(t){var r=t.attributes;for(var n in r)r.hasOwnProperty(n)&&e(r[n])&&e(r[n].values)&&(r[n].values=g(r[n].values));e(t.indices)&&(t.indices=g(t.indices))},E.receiveGeometries=function(e){for(var t=e.length,r=0;t>r;++r)E.receiveGeometry(e[r])},E.receivePerInstanceAttributes=function(e){for(var t=e.length,r=0;t>r;++r)for(var n=e[r],a=n.length,i=0;a>i;++i)n[i].values=g(n[i].values)},E.receiveInstances=function(e){for(var t=e.length,r=0;t>r;++r){var n=e[r];E.receiveGeometry(n.geometry)}},E}),define("Workers/createTaskProcessorWorker",["../Core/defaultValue","../Core/defined"],function(e,t){"use strict";var r=function(r){var n,a=[],i={id:void 0,result:void 0,error:void 0};return function(o){var s=o.data;a.length=0,i.id=s.id,i.error=void 0,i.result=void 0;try{i.result=r(s.parameters,a)}catch(u){i.error=u}t(n)||(n=e(self.webkitPostMessage,self.postMessage));try{n(i,a)}catch(u){i.result=void 0,i.error="postMessage failed with error: "+u+"\n with responseMessage: "+JSON.stringify(i),n(i)}}};return r}),define("Workers/createPolylineGeometry",["../Core/PolylineGeometry","../Scene/PrimitivePipeline","./createTaskProcessorWorker"],function(e,t,r){"use strict";function n(r,n){var a=r.geometry,i=e.createGeometry(a);return t.transferGeometry(i,n),{geometry:i,index:r.index}}return r(n)})}(); \ No newline at end of file diff --git a/Cesium/Workers/createPolylineVolumeGeometry.js b/Cesium/Workers/createPolylineVolumeGeometry.js new file mode 100644 index 0000000..d5efa84 --- /dev/null +++ b/Cesium/Workers/createPolylineVolumeGeometry.js @@ -0,0 +1,231 @@ +/** + * Cesium - https://github.com/AnalyticalGraphicsInc/cesium + * + * Copyright 2011-2014 Cesium Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Columbus View (Pat. Pend.) + * + * Portions licensed separately. + * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details. + */ +/** +@license +mersenne-twister.js - https://gist.github.com/banksean/300494 + + Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura, + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. The names of its contributors may not be used to endorse or promote + products derived from this software without specific prior written + permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/** + * @fileOverview + * @license + * + * Grauw URI utilities + * + * See: http://hg.grauw.nl/grauw-lib/file/tip/src/uri.js + * + * @author Laurens Holst (http://www.grauw.nl/) + * + * Copyright 2012 Laurens Holst + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +/** +@license +sprintf.js from the php.js project - https://github.com/kvz/phpjs +Directly from https://github.com/kvz/phpjs/blob/master/functions/strings/sprintf.js + +php.js is copyright 2012 Kevin van Zonneveld. + +Portions copyright Brett Zamir (http://brett-zamir.me), Kevin van Zonneveld +(http://kevin.vanzonneveld.net), Onno Marsman, Theriault, Michael White +(http://getsprink.com), Waldo Malqui Silva, Paulo Freitas, Jack, Jonas +Raoni Soares Silva (http://www.jsfromhell.com), Philip Peterson, Legaev +Andrey, Ates Goral (http://magnetiq.com), Alex, Ratheous, Martijn Wieringa, +Rafa? Kukawski (http://blog.kukawski.pl), lmeyrick +(https://sourceforge.net/projects/bcmath-js/), Nate, Philippe Baumann, +Enrique Gonzalez, Webtoolkit.info (http://www.webtoolkit.info/), Carlos R. +L. Rodrigues (http://www.jsfromhell.com), Ash Searle +(http://hexmen.com/blog/), Jani Hartikainen, travc, Ole Vrijenhoek, +Erkekjetter, Michael Grier, Rafa? Kukawski (http://kukawski.pl), Johnny +Mast (http://www.phpvrouwen.nl), T.Wild, d3x, +http://stackoverflow.com/questions/57803/how-to-convert-decimal-to-hex-in-javascript, +Rafa? Kukawski (http://blog.kukawski.pl/), stag019, pilus, WebDevHobo +(http://webdevhobo.blogspot.com/), marrtins, GeekFG +(http://geekfg.blogspot.com), Andrea Giammarchi +(http://webreflection.blogspot.com), Arpad Ray (mailto:arpad@php.net), +gorthaur, Paul Smith, Tim de Koning (http://www.kingsquare.nl), Joris, Oleg +Eremeev, Steve Hilder, majak, gettimeofday, KELAN, Josh Fraser +(http://onlineaspect.com/2007/06/08/auto-detect-a-time-zone-with-javascript/), +Marc Palau, Martin +(http://www.erlenwiese.de/), Breaking Par Consulting Inc +(http://www.breakingpar.com/bkp/home.nsf/0/87256B280015193F87256CFB006C45F7), +Chris, Mirek Slugen, saulius, Alfonso Jimenez +(http://www.alfonsojimenez.com), Diplom@t (http://difane.com/), felix, +Mailfaker (http://www.weedem.fr/), Tyler Akins (http://rumkin.com), Caio +Ariede (http://caioariede.com), Robin, Kankrelune +(http://www.webfaktory.info/), Karol Kowalski, Imgen Tata +(http://www.myipdf.com/), mdsjack (http://www.mdsjack.bo.it), Dreamer, +Felix Geisendoerfer (http://www.debuggable.com/felix), Lars Fischer, AJ, +David, Aman Gupta, Michael White, Public Domain +(http://www.json.org/json2.js), Steven Levithan +(http://blog.stevenlevithan.com), Sakimori, Pellentesque Malesuada, +Thunder.m, Dj (http://phpjs.org/functions/htmlentities:425#comment_134018), +Steve Clay, David James, Francois, class_exists, nobbler, T. Wild, Itsacon +(http://www.itsacon.net/), date, Ole Vrijenhoek (http://www.nervous.nl/), +Fox, Raphael (Ao RUDLER), Marco, noname, Mateusz "loonquawl" Zalega, Frank +Forte, Arno, ger, mktime, john (http://www.jd-tech.net), Nick Kolosov +(http://sammy.ru), marc andreu, Scott Cariss, Douglas Crockford +(http://javascript.crockford.com), madipta, Slawomir Kaniecki, +ReverseSyntax, Nathan, Alex Wilson, kenneth, Bayron Guevara, Adam Wallner +(http://web2.bitbaro.hu/), paulo kuong, jmweb, Lincoln Ramsay, djmix, +Pyerre, Jon Hohle, Thiago Mata (http://thiagomata.blog.com), lmeyrick +(https://sourceforge.net/projects/bcmath-js/this.), Linuxworld, duncan, +Gilbert, Sanjoy Roy, Shingo, sankai, Oskar Larsson H?gfeldt +(http://oskar-lh.name/), Denny Wardhana, 0m3r, Everlasto, Subhasis Deb, +josh, jd, Pier Paolo Ramon (http://www.mastersoup.com/), P, merabi, Soren +Hansen, Eugene Bulkin (http://doubleaw.com/), Der Simon +(http://innerdom.sourceforge.net/), echo is bad, Ozh, XoraX +(http://www.xorax.info), EdorFaus, JB, J A R, Marc Jansen, Francesco, LH, +Stoyan Kyosev (http://www.svest.org/), nord_ua, omid +(http://phpjs.org/functions/380:380#comment_137122), Brad Touesnard, MeEtc +(http://yass.meetcweb.com), Peter-Paul Koch +(http://www.quirksmode.org/js/beat.html), Olivier Louvignes +(http://mg-crea.com/), T0bsn, Tim Wiel, Bryan Elliott, Jalal Berrami, +Martin, JT, David Randall, Thomas Beaucourt (http://www.webapp.fr), taith, +vlado houba, Pierre-Luc Paour, Kristof Coomans (SCK-CEN Belgian Nucleair +Research Centre), Martin Pool, Kirk Strobeck, Rick Waldron, Brant Messenger +(http://www.brantmessenger.com/), Devan Penner-Woelk, Saulo Vallory, Wagner +B. Soares, Artur Tchernychev, Valentina De Rosa, Jason Wong +(http://carrot.org/), Christoph, Daniel Esteban, strftime, Mick@el, rezna, +Simon Willison (http://simonwillison.net), Anton Ongson, Gabriel Paderni, +Marco van Oort, penutbutterjelly, Philipp Lenssen, Bjorn Roesbeke +(http://www.bjornroesbeke.be/), Bug?, Eric Nagel, Tomasz Wesolowski, +Evertjan Garretsen, Bobby Drake, Blues (http://tech.bluesmoon.info/), Luke +Godfrey, Pul, uestla, Alan C, Ulrich, Rafal Kukawski, Yves Sucaet, +sowberry, Norman "zEh" Fuchs, hitwork, Zahlii, johnrembo, Nick Callen, +Steven Levithan (stevenlevithan.com), ejsanders, Scott Baker, Brian Tafoya +(http://www.premasolutions.com/), Philippe Jausions +(http://pear.php.net/user/jausions), Aidan Lister +(http://aidanlister.com/), Rob, e-mike, HKM, ChaosNo1, metjay, strcasecmp, +strcmp, Taras Bogach, jpfle, Alexander Ermolaev +(http://snippets.dzone.com/user/AlexanderErmolaev), DxGx, kilops, Orlando, +dptr1988, Le Torbi, James (http://www.james-bell.co.uk/), Pedro Tainha +(http://www.pedrotainha.com), James, Arnout Kazemier +(http://www.3rd-Eden.com), Chris McMacken, gabriel paderni, Yannoo, +FGFEmperor, baris ozdil, Tod Gentille, Greg Frazier, jakes, 3D-GRAF, Allan +Jensen (http://www.winternet.no), Howard Yeend, Benjamin Lupton, davook, +daniel airton wermann (http://wermann.com.br), Atli T¨®r, Maximusya, Ryan +W Tenney (http://ryan.10e.us), Alexander M Beedie, fearphage +(http://http/my.opera.com/fearphage/), Nathan Sepulveda, Victor, Matteo, +Billy, stensi, Cord, Manish, T.J. Leahy, Riddler +(http://www.frontierwebdev.com/), Rafa? Kukawski, FremyCompany, Matt +Bradley, Tim de Koning, Luis Salazar (http://www.freaky-media.com/), Diogo +Resende, Rival, Andrej Pavlovic, Garagoth, Le Torbi +(http://www.letorbi.de/), Dino, Josep Sanz (http://www.ws3.es/), rem, +Russell Walker (http://www.nbill.co.uk/), Jamie Beck +(http://www.terabit.ca/), setcookie, Michael, YUI Library: +http://developer.yahoo.com/yui/docs/YAHOO.util.DateLocale.html, Blues at +http://hacks.bluesmoon.info/strftime/strftime.js, Ben +(http://benblume.co.uk/), DtTvB +(http://dt.in.th/2008-09-16.string-length-in-bytes.html), Andreas, William, +meo, incidence, Cagri Ekin, Amirouche, Amir Habibi +(http://www.residence-mixte.com/), Luke Smith (http://lucassmith.name), +Kheang Hok Chin (http://www.distantia.ca/), Jay Klehr, Lorenzo Pisani, +Tony, Yen-Wei Liu, Greenseed, mk.keck, Leslie Hoare, dude, booeyOH, Ben +Bryan + +Licensed under the MIT (MIT-LICENSE.txt) license. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL KEVIN VAN ZONNEVELD BE LIABLE FOR ANY CLAIM, DAMAGES +OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. +*/ + +/** + @license + when.js - https://github.com/cujojs/when + + MIT License (c) copyright B Cavalier & J Hann + + * A lightweight CommonJS Promises/A and when() implementation + * when is part of the cujo.js family of libraries (http://cujojs.com/) + * + * Licensed under the MIT License at: + * http://www.opensource.org/licenses/mit-license.php + * + * @version 1.7.1 + */ + +!function(){define("Core/defined",[],function(){"use strict";var e=function(e){return void 0!==e};return e}),define("Core/freezeObject",["./defined"],function(e){"use strict";var t=Object.freeze;return e(t)||(t=function(e){return e}),t}),define("Core/defaultValue",["./freezeObject"],function(e){"use strict";var t=function(e,t){return void 0!==e?e:t};return t.EMPTY_OBJECT=e({}),t}),define("Core/DeveloperError",["./defined"],function(e){"use strict";var t=function(e){this.name="DeveloperError",this.message=e;var t;try{throw new Error}catch(r){t=r.stack}this.stack=t};return t.prototype.toString=function(){var t=this.name+": "+this.message;return e(this.stack)&&(t+="\n"+this.stack.toString()),t},t.throwInstantiationError=function(){throw new t("This function defines an interface and should not be called directly.")},t}),define("Core/Cartesian2",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,t,r,n){"use strict";var i=function(t,r){this.x=e(t,0),this.y=e(r,0)};i.fromElements=function(e,r,n){return t(n)?(n.x=e,n.y=r,n):new i(e,r)},i.clone=function(e,r){return t(e)?t(r)?(r.x=e.x,r.y=e.y,r):new i(e.x,e.y):void 0},i.fromCartesian3=i.clone,i.fromCartesian4=i.clone,i.packedLength=2,i.pack=function(t,r,n){n=e(n,0),r[n++]=t.x,r[n]=t.y},i.unpack=function(r,n,a){return n=e(n,0),t(a)||(a=new i),a.x=r[n++],a.y=r[n],a},i.fromArray=i.unpack,i.getMaximumComponent=function(e){return Math.max(e.x,e.y)},i.getMinimumComponent=function(e){return Math.min(e.x,e.y)},i.getMinimumByComponent=function(e,r,n){return t(n)||(n=new i),n.x=Math.min(e.x,r.x),n.y=Math.min(e.y,r.y),n},i.getMaximumByComponent=function(e,r,n){return t(n)||(n=new i),n.x=Math.max(e.x,r.x),n.y=Math.max(e.y,r.y),n},i.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y},i.magnitude=function(e){return Math.sqrt(i.magnitudeSquared(e))};var a=new i;i.distance=function(e,t){return i.subtract(e,t,a),i.magnitude(a)},i.normalize=function(e,r){var n=i.magnitude(e);return t(r)?(r.x=e.x/n,r.y=e.y/n,r):new i(e.x/n,e.y/n)},i.dot=function(e,t){return e.x*t.x+e.y*t.y},i.multiplyComponents=function(e,r,n){return t(n)?(n.x=e.x*r.x,n.y=e.y*r.y,n):new i(e.x*r.x,e.y*r.y)},i.add=function(e,r,n){return t(n)?(n.x=e.x+r.x,n.y=e.y+r.y,n):new i(e.x+r.x,e.y+r.y)},i.subtract=function(e,r,n){return t(n)?(n.x=e.x-r.x,n.y=e.y-r.y,n):new i(e.x-r.x,e.y-r.y)},i.multiplyByScalar=function(e,r,n){return t(n)?(n.x=e.x*r,n.y=e.y*r,n):new i(e.x*r,e.y*r)},i.divideByScalar=function(e,r,n){return t(n)?(n.x=e.x/r,n.y=e.y/r,n):new i(e.x/r,e.y/r)},i.negate=function(e,r){return t(r)?(r.x=-e.x,r.y=-e.y,r):new i(-e.x,-e.y)},i.abs=function(e,r){return t(r)?(r.x=Math.abs(e.x),r.y=Math.abs(e.y),r):new i(Math.abs(e.x),Math.abs(e.y))};var o=new i;i.lerp=function(e,t,r,n){return i.multiplyByScalar(t,r,o),n=i.multiplyByScalar(e,1-r,n),i.add(o,n,n)};var s=new i,u=new i;i.angleBetween=function(e,t){return i.normalize(e,s),i.normalize(t,u),Math.acos(i.dot(s,u))};var l=new i;return i.mostOrthogonalAxis=function(e,t){var r=i.normalize(e,l);return i.abs(r,r),t=r.x<=r.y?i.clone(i.UNIT_X,t):i.clone(i.UNIT_Y,t)},i.equals=function(e,r){return e===r||t(e)&&t(r)&&e.x===r.x&&e.y===r.y},i.equalsEpsilon=function(e,r,n){return e===r||t(e)&&t(r)&&Math.abs(e.x-r.x)<=n&&Math.abs(e.y-r.y)<=n},i.ZERO=n(new i(0,0)),i.UNIT_X=n(new i(1,0)),i.UNIT_Y=n(new i(0,1)),i.prototype.clone=function(e){return i.clone(this,e)},i.prototype.equals=function(e){return i.equals(this,e)},i.prototype.equalsEpsilon=function(e,t){return i.equalsEpsilon(this,e,t)},i.prototype.toString=function(){return"("+this.x+", "+this.y+")"},i}),define("ThirdParty/mersenne-twister",[],function(){var e=function(e){void 0==e&&(e=(new Date).getTime()),this.N=624,this.M=397,this.MATRIX_A=2567483615,this.UPPER_MASK=2147483648,this.LOWER_MASK=2147483647,this.mt=new Array(this.N),this.mti=this.N+1,this.init_genrand(e)};return e.prototype.init_genrand=function(e){for(this.mt[0]=e>>>0,this.mti=1;this.mti>>30;this.mt[this.mti]=(1812433253*((4294901760&e)>>>16)<<16)+1812433253*(65535&e)+this.mti,this.mt[this.mti]>>>=0}},e.prototype.genrand_int32=function(){var e,t=new Array(0,this.MATRIX_A);if(this.mti>=this.N){var r;for(this.mti==this.N+1&&this.init_genrand(5489),r=0;r>>1^t[1&e];for(;r>>1^t[1&e];e=this.mt[this.N-1]&this.UPPER_MASK|this.mt[0]&this.LOWER_MASK,this.mt[this.N-1]=this.mt[this.M-1]^e>>>1^t[1&e],this.mti=0}return e=this.mt[this.mti++],e^=e>>>11,e^=2636928640&e<<7,e^=4022730752&e<<15,e^=e>>>18,e>>>0},e.prototype.random=function(){return this.genrand_int32()*(1/4294967296)},e}),define("Core/Math",["./defaultValue","./defined","./DeveloperError","../ThirdParty/mersenne-twister"],function(e,t,r,n){"use strict";var i={};i.EPSILON1=.1,i.EPSILON2=.01,i.EPSILON3=.001,i.EPSILON4=1e-4,i.EPSILON5=1e-5,i.EPSILON6=1e-6,i.EPSILON7=1e-7,i.EPSILON8=1e-8,i.EPSILON9=1e-9,i.EPSILON10=1e-10,i.EPSILON11=1e-11,i.EPSILON12=1e-12,i.EPSILON13=1e-13,i.EPSILON14=1e-14,i.EPSILON15=1e-15,i.EPSILON16=1e-16,i.EPSILON17=1e-17,i.EPSILON18=1e-18,i.EPSILON19=1e-19,i.EPSILON20=1e-20,i.GRAVITATIONALPARAMETER=3986004418e5,i.SOLAR_RADIUS=6955e5,i.LUNAR_RADIUS=1737400,i.SIXTY_FOUR_KILOBYTES=65536,i.sign=function(e){return e>0?1:0>e?-1:0},i.sinh=function(e){var t=Math.pow(Math.E,e),r=Math.pow(Math.E,-1*e);return.5*(t-r)},i.cosh=function(e){var t=Math.pow(Math.E,e),r=Math.pow(Math.E,-1*e);return.5*(t+r)},i.lerp=function(e,t,r){return(1-r)*e+r*t},i.PI=Math.PI,i.ONE_OVER_PI=1/Math.PI,i.PI_OVER_TWO=.5*Math.PI,i.PI_OVER_THREE=Math.PI/3,i.PI_OVER_FOUR=Math.PI/4,i.PI_OVER_SIX=Math.PI/6,i.THREE_PI_OVER_TWO=.5*3*Math.PI,i.TWO_PI=2*Math.PI,i.ONE_OVER_TWO_PI=1/(2*Math.PI),i.RADIANS_PER_DEGREE=Math.PI/180,i.DEGREES_PER_RADIAN=180/Math.PI,i.RADIANS_PER_ARCSECOND=i.RADIANS_PER_DEGREE/3600,i.toRadians=function(e){return e*i.RADIANS_PER_DEGREE},i.toDegrees=function(e){return e*i.DEGREES_PER_RADIAN},i.convertLongitudeRange=function(e){var t=i.TWO_PI,r=e-Math.floor(e/t)*t;return r<-Math.PI?r+t:r>=Math.PI?r-t:r},i.negativePiToPi=function(e){for(var t=i.EPSILON10,r=i.PI,n=i.TWO_PI;-(r+t)>e;)e+=n;if(-r>e)return-r;for(;e>r+t;)e-=n;return e>r?r:e},i.zeroToTwoPi=function(e){var t=e%i.TWO_PI;return 0>t?(t+i.TWO_PI)%i.TWO_PI:t},i.equalsEpsilon=function(t,r,n){return n=e(n,0),Math.abs(t-r)<=n};var a=[1];i.factorial=function(e){var t=a.length;if(e>=t)for(var r=a[t-1],n=t;e>=n;n++)a.push(r*n);return a[e]},i.incrementWrap=function(t,r,n){return n=e(n,0),++t,t>r&&(t=n),t},i.isPowerOfTwo=function(e){return 0!==e&&0===(e&e-1)},i.nextPowerOfTwo=function(e){return--e,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,++e,e},i.clamp=function(e,t,r){return t>e?t:e>r?r:e};var o=new n;return i.setRandomNumberSeed=function(e){o=new n(e)},i.nextRandomNumber=function(){return o.random()},i}),define("Core/Cartographic",["./defaultValue","./defined","./DeveloperError","./freezeObject","./Math"],function(e,t,r,n,i){"use strict";var a=function(t,r,n){this.longitude=e(t,0),this.latitude=e(r,0),this.height=e(n,0)};return a.fromDegrees=function(r,n,o,s){return r=i.toRadians(e(r,0)),n=i.toRadians(e(n,0)),o=e(o,0),t(s)?(s.longitude=r,s.latitude=n,s.height=o,s):new a(r,n,o)},a.clone=function(e,r){return t(e)?t(r)?(r.longitude=e.longitude,r.latitude=e.latitude,r.height=e.height,r):new a(e.longitude,e.latitude,e.height):void 0},a.equals=function(e,r){return e===r||t(e)&&t(r)&&e.longitude===r.longitude&&e.latitude===r.latitude&&e.height===r.height},a.equalsEpsilon=function(e,r,n){return e===r||t(e)&&t(r)&&Math.abs(e.longitude-r.longitude)<=n&&Math.abs(e.latitude-r.latitude)<=n&&Math.abs(e.height-r.height)<=n},a.toString=function(e){return"("+e.longitude+", "+e.latitude+", "+e.height+")"},a.ZERO=n(new a(0,0,0)),a.prototype.clone=function(e){return a.clone(this,e)},a.prototype.equals=function(e){return a.equals(this,e)},a.prototype.equalsEpsilon=function(e,t){return a.equalsEpsilon(this,e,t)},a.prototype.toString=function(){return a.toString(this)},a}),define("Core/defineProperties",["./defined"],function(e){"use strict";var t=function(){try{return"x"in Object.defineProperty({},"x",{})}catch(e){return!1}}(),r=Object.defineProperties;return t&&e(r)||(r=function(e){return e}),r}),define("Core/Cartesian3",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,t,r,n){"use strict";var i=function(t,r,n){this.x=e(t,0),this.y=e(r,0),this.z=e(n,0)};i.fromSpherical=function(r,n){t(n)||(n=new i);var a=r.clock,o=r.cone,s=e(r.magnitude,1),u=s*Math.sin(o);return n.x=u*Math.cos(a),n.y=u*Math.sin(a),n.z=s*Math.cos(o),n},i.fromElements=function(e,r,n,a){return t(a)?(a.x=e,a.y=r,a.z=n,a):new i(e,r,n)},i.clone=function(e,r){return t(e)?t(r)?(r.x=e.x,r.y=e.y,r.z=e.z,r):new i(e.x,e.y,e.z):void 0},i.fromCartesian4=i.clone,i.packedLength=3,i.pack=function(t,r,n){n=e(n,0),r[n++]=t.x,r[n++]=t.y,r[n]=t.z},i.unpack=function(r,n,a){return n=e(n,0),t(a)||(a=new i),a.x=r[n++],a.y=r[n++],a.z=r[n],a},i.fromArray=i.unpack,i.getMaximumComponent=function(e){return Math.max(e.x,e.y,e.z)},i.getMinimumComponent=function(e){return Math.min(e.x,e.y,e.z)},i.getMinimumByComponent=function(e,r,n){return t(n)||(n=new i),n.x=Math.min(e.x,r.x),n.y=Math.min(e.y,r.y),n.z=Math.min(e.z,r.z),n},i.getMaximumByComponent=function(e,r,n){return t(n)||(n=new i),n.x=Math.max(e.x,r.x),n.y=Math.max(e.y,r.y),n.z=Math.max(e.z,r.z),n},i.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z},i.magnitude=function(e){return Math.sqrt(i.magnitudeSquared(e))};var a=new i;i.distance=function(e,t){return i.subtract(e,t,a),i.magnitude(a)},i.normalize=function(e,r){var n=i.magnitude(e);return t(r)?(r.x=e.x/n,r.y=e.y/n,r.z=e.z/n,r):new i(e.x/n,e.y/n,e.z/n)},i.dot=function(e,t){return e.x*t.x+e.y*t.y+e.z*t.z},i.multiplyComponents=function(e,r,n){return t(n)?(n.x=e.x*r.x,n.y=e.y*r.y,n.z=e.z*r.z,n):new i(e.x*r.x,e.y*r.y,e.z*r.z)},i.add=function(e,r,n){return t(n)?(n.x=e.x+r.x,n.y=e.y+r.y,n.z=e.z+r.z,n):new i(e.x+r.x,e.y+r.y,e.z+r.z)},i.subtract=function(e,r,n){return t(n)?(n.x=e.x-r.x,n.y=e.y-r.y,n.z=e.z-r.z,n):new i(e.x-r.x,e.y-r.y,e.z-r.z)},i.multiplyByScalar=function(e,r,n){return t(n)?(n.x=e.x*r,n.y=e.y*r,n.z=e.z*r,n):new i(e.x*r,e.y*r,e.z*r)},i.divideByScalar=function(e,r,n){return t(n)?(n.x=e.x/r,n.y=e.y/r,n.z=e.z/r,n):new i(e.x/r,e.y/r,e.z/r)},i.negate=function(e,r){return t(r)?(r.x=-e.x,r.y=-e.y,r.z=-e.z,r):new i(-e.x,-e.y,-e.z)},i.abs=function(e,r){return t(r)?(r.x=Math.abs(e.x),r.y=Math.abs(e.y),r.z=Math.abs(e.z),r):new i(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z))};var o=new i;i.lerp=function(e,t,r,n){return i.multiplyByScalar(t,r,o),n=i.multiplyByScalar(e,1-r,n),i.add(o,n,n)};var s=new i,u=new i;i.angleBetween=function(e,t){i.normalize(e,s),i.normalize(t,u);var r=i.dot(s,u),n=i.magnitude(i.cross(s,u,s));return Math.atan2(n,r)};var l=new i;return i.mostOrthogonalAxis=function(e,t){var r=i.normalize(e,l);return i.abs(r,r),t=r.x<=r.y?r.x<=r.z?i.clone(i.UNIT_X,t):i.clone(i.UNIT_Z,t):r.y<=r.z?i.clone(i.UNIT_Y,t):i.clone(i.UNIT_Z,t)},i.equals=function(e,r){return e===r||t(e)&&t(r)&&e.x===r.x&&e.y===r.y&&e.z===r.z},i.equalsEpsilon=function(e,r,n){return e===r||t(e)&&t(r)&&Math.abs(e.x-r.x)<=n&&Math.abs(e.y-r.y)<=n&&Math.abs(e.z-r.z)<=n},i.cross=function(e,r,n){var a=e.x,o=e.y,s=e.z,u=r.x,l=r.y,c=r.z,f=o*c-s*l,h=s*u-a*c,d=a*l-o*u;return t(n)?(n.x=f,n.y=h,n.z=d,n):new i(f,h,d)},i.ZERO=n(new i(0,0,0)),i.UNIT_X=n(new i(1,0,0)),i.UNIT_Y=n(new i(0,1,0)),i.UNIT_Z=n(new i(0,0,1)),i.prototype.clone=function(e){return i.clone(this,e)},i.prototype.equals=function(e){return i.equals(this,e)},i.prototype.equalsEpsilon=function(e,t){return i.equalsEpsilon(this,e,t)},i.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+")"},i}),define("Core/Ellipsoid",["./freezeObject","./defaultValue","./defined","./defineProperties","./DeveloperError","./Math","./Cartesian3","./Cartographic"],function(e,t,r,n,i,a,o,s){"use strict";var u=function(e,r,n){e=t(e,0),r=t(r,0),n=t(n,0),this._radii=new o(e,r,n),this._radiiSquared=new o(e*e,r*r,n*n),this._radiiToTheFourth=new o(e*e*e*e,r*r*r*r,n*n*n*n),this._oneOverRadii=new o(0===e?0:1/e,0===r?0:1/r,0===n?0:1/n),this._oneOverRadiiSquared=new o(0===e?0:1/(e*e),0===r?0:1/(r*r),0===n?0:1/(n*n)),this._minimumRadius=Math.min(e,r,n),this._maximumRadius=Math.max(e,r,n),this._centerToleranceSquared=a.EPSILON1};n(u.prototype,{radii:{get:function(){return this._radii}},radiiSquared:{get:function(){return this._radiiSquared}},radiiToTheFourth:{get:function(){return this._radiiToTheFourth}},oneOverRadii:{get:function(){return this._oneOverRadii}},oneOverRadiiSquared:{get:function(){return this._oneOverRadiiSquared}},minimumRadius:{get:function(){return this._minimumRadius}},maximumRadius:{get:function(){return this._maximumRadius}}}),u.clone=function(e,t){if(!r(e))return void 0;var n=e._radii;return r(t)?(o.clone(n,t._radii),o.clone(e._radiiSquared,t._radiiSquared),o.clone(e._radiiToTheFourth,t._radiiToTheFourth),o.clone(e._oneOverRadii,t._oneOverRadii),o.clone(e._oneOverRadiiSquared,t._oneOverRadiiSquared),t._minimumRadius=e._minimumRadius,t._maximumRadius=e._maximumRadius,t._centerToleranceSquared=e._centerToleranceSquared,t):new u(n.x,n.y,n.z)},u.fromCartesian3=function(e){return r(e)?new u(e.x,e.y,e.z):new u},u.WGS84=e(new u(6378137,6378137,6356752.314245179)),u.UNIT_SPHERE=e(new u(1,1,1)),u.MOON=e(new u(a.LUNAR_RADIUS,a.LUNAR_RADIUS,a.LUNAR_RADIUS)),u.prototype.clone=function(e){return u.clone(this,e)},u.prototype.geocentricSurfaceNormal=o.normalize,u.prototype.geodeticSurfaceNormalCartographic=function(e,t){var n=e.longitude,i=e.latitude,a=Math.cos(i),s=a*Math.cos(n),u=a*Math.sin(n),l=Math.sin(i);return r(t)||(t=new o),t.x=s,t.y=u,t.z=l,o.normalize(t,t)},u.prototype.geodeticSurfaceNormal=function(e,t){return t=o.multiplyComponents(e,this._oneOverRadiiSquared,t),o.normalize(t,t)};var l=new o,c=new o;u.prototype.cartographicToCartesian=function(e,t){var r=l,n=c;this.geodeticSurfaceNormalCartographic(e,r),o.multiplyComponents(this._radiiSquared,r,n);var i=Math.sqrt(o.dot(r,n));return o.divideByScalar(n,i,n),o.multiplyByScalar(r,e.height,r),o.add(n,r,t)},u.prototype.cartographicArrayToCartesianArray=function(e,t){var n=e.length;r(t)?t.length=n:t=new Array(n);for(var i=0;n>i;i++)t[i]=this.cartographicToCartesian(e[i],t[i]);return t};var f=new o,h=new o,d=new o;u.prototype.cartesianToCartographic=function(e,t){var n=this.scaleToGeodeticSurface(e,h);if(!r(n))return void 0;var i=this.geodeticSurfaceNormal(n,f),u=o.subtract(e,n,d),l=Math.atan2(i.y,i.x),c=Math.asin(i.z),m=a.sign(o.dot(u,e))*o.magnitude(u);return r(t)?(t.longitude=l,t.latitude=c,t.height=m,t):new s(l,c,m)},u.prototype.cartesianArrayToCartographicArray=function(e,t){var n=e.length;r(t)?t.length=n:t=new Array(n);for(var i=0;n>i;++i)t[i]=this.cartesianToCartographic(e[i],t[i]);return t};var m=new o,p=new o;return u.prototype.scaleToGeodeticSurface=function(e,t){var n=e.x,i=e.y,s=e.z,u=this._oneOverRadii,l=u.x,c=u.y,f=u.z,h=n*n*l*l,d=i*i*c*c,y=s*s*f*f,v=h+d+y,g=Math.sqrt(1/v),E=o.multiplyByScalar(e,g,m);if(va.EPSILON12);return r(t)?(t.x=n*M,t.y=i*D,t.z=s*I,t):new o(n*M,i*D,s*I)},u.prototype.scaleToGeocentricSurface=function(e,t){var r=e.x,n=e.y,i=e.z,a=this._oneOverRadiiSquared,s=1/Math.sqrt(r*r*a.x+n*n*a.y+i*i*a.z);return o.multiplyByScalar(e,s,t)},u.prototype.transformPositionToScaledSpace=function(e,t){return o.multiplyComponents(e,this._oneOverRadii,t)},u.prototype.transformPositionFromScaledSpace=function(e,t){return o.multiplyComponents(e,this._radii,t)},u.prototype.equals=function(e){return this===e||r(e)&&o.equals(this._radii,e._radii)},u.prototype.toString=function(){return this._radii.toString()},u}),define("Core/GeographicProjection",["./defaultValue","./defined","./defineProperties","./Cartesian3","./Cartographic","./Ellipsoid"],function(e,t,r,n,i,a){"use strict";var o=function(t){this._ellipsoid=e(t,a.WGS84),this._semimajorAxis=this._ellipsoid.maximumRadius,this._oneOverSemimajorAxis=1/this._semimajorAxis};return r(o.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}}),o.prototype.project=function(e,r){var i=this._semimajorAxis,a=e.longitude*i,o=e.latitude*i,s=e.height;return t(r)?(r.x=a,r.y=o,r.z=s,r):new n(a,o,s)},o.prototype.unproject=function(e,r){var n=this._oneOverSemimajorAxis,a=e.x*n,o=e.y*n,s=e.z;return t(r)?(r.longitude=a,r.latitude=o,r.height=s,r):new i(a,o,s)},o}),define("Core/Enumeration",["./defined"],function(e){"use strict";var t=function(t,r,n){if(this.value=t,this.name=r,e(n))for(var i in n)n.hasOwnProperty(i)&&(this[i]=n[i])};return t.prototype.valueOf=function(){return this.value},t.prototype.toString=function(){return this.name},t}),define("Core/Intersect",["./Enumeration"],function(e){"use strict";var t={OUTSIDE:new e(-1,"OUTSIDE"),INTERSECTING:new e(0,"INTERSECTING"),INSIDE:new e(1,"INSIDE")};return t}),define("Core/BoundingRectangle",["./defaultValue","./defined","./DeveloperError","./Cartesian2","./Cartographic","./GeographicProjection","./Intersect"],function(e,t,r,n,i,a,o){"use strict";var s=function(t,r,n,i){this.x=e(t,0),this.y=e(r,0),this.width=e(n,0),this.height=e(i,0)};s.fromPoints=function(e,r){if(t(r)||(r=new s),!t(e)||0===e.length)return r.x=0,r.y=0,r.width=0,r.height=0,r;for(var n=e.length,i=e[0].x,a=e[0].y,o=e[0].x,u=e[0].y,l=1;n>l;l++){var c=e[l],f=c.x,h=c.y;i=Math.min(f,i),o=Math.max(f,o),a=Math.min(h,a),u=Math.max(h,u)}return r.x=i,r.y=a,r.width=o-i,r.height=u-a,r};var u=new a,l=new i,c=new i;return s.fromExtent=function(r,i,a){if(t(a)||(a=new s),!t(r))return a.x=0,a.y=0,a.width=0,a.height=0,a;i=e(i,u);var o=i.project(r.getSouthwest(l)),f=i.project(r.getNortheast(c));return n.subtract(f,o,f),a.x=o.x,a.y=o.y,a.width=f.x,a.height=f.y,a},s.clone=function(e,r){return t(e)?t(r)?(r.x=e.x,r.y=e.y,r.width=e.width,r.height=e.height,r):new s(e.x,e.y,e.width,e.height):void 0},s.union=function(e,r,n){t(n)||(n=new s);var i=Math.min(e.x,r.x),a=Math.min(e.y,r.y),o=Math.max(e.x+e.width,r.x+r.width),u=Math.max(e.y+e.height,r.y+r.height);return n.x=i,n.y=a,n.width=o-i,n.height=u-a,n},s.expand=function(e,t,r){r=s.clone(e,r);var n=t.x-r.x,i=t.y-r.y;return n>r.width?r.width=n:0>n&&(r.width-=n,r.x=t.x),i>r.height?r.height=i:0>i&&(r.height-=i,r.y=t.y),r},s.intersect=function(e,t){var r=e.x,n=e.y,i=t.x,a=t.y;return r>i+t.width||r+e.widtha+t.height?o.OUTSIDE:o.INTERSECTING},s.equals=function(e,r){return e===r||t(e)&&t(r)&&e.x===r.x&&e.y===r.y&&e.width===r.width&&e.height===r.height},s.prototype.clone=function(e){return s.clone(this,e)},s.prototype.union=function(e,t){return s.union(this,e,t)},s.prototype.expand=function(e,t){return s.expand(this,e,t)},s.prototype.intersect=function(e){return s.intersect(this,e)},s.prototype.equals=function(e){return s.equals(this,e)},s}),define("Core/Interval",["./defaultValue"],function(e){"use strict";var t=function(t,r){this.start=e(t,0),this.stop=e(r,0)};return t}),define("Core/Cartesian4",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,t,r,n){"use strict";var i=function(t,r,n,i){this.x=e(t,0),this.y=e(r,0),this.z=e(n,0),this.w=e(i,0)};i.fromElements=function(e,r,n,a,o){return t(o)?(o.x=e,o.y=r,o.z=n,o.w=a,o):new i(e,r,n,a)},i.clone=function(e,r){return t(e)?t(r)?(r.x=e.x,r.y=e.y,r.z=e.z,r.w=e.w,r):new i(e.x,e.y,e.z,e.w):void 0},i.packedLength=4,i.pack=function(t,r,n){n=e(n,0),r[n++]=t.x,r[n++]=t.y,r[n++]=t.z,r[n]=t.w},i.unpack=function(r,n,a){return n=e(n,0),t(a)||(a=new i),a.x=r[n++],a.y=r[n++],a.z=r[n++],a.w=r[n],a},i.fromArray=i.unpack,i.getMaximumComponent=function(e){return Math.max(e.x,e.y,e.z,e.w)},i.getMinimumComponent=function(e){return Math.min(e.x,e.y,e.z,e.w)},i.getMinimumByComponent=function(e,r,n){return t(n)||(n=new i),n.x=Math.min(e.x,r.x),n.y=Math.min(e.y,r.y),n.z=Math.min(e.z,r.z),n.w=Math.min(e.w,r.w),n},i.getMaximumByComponent=function(e,r,n){return t(n)||(n=new i),n.x=Math.max(e.x,r.x),n.y=Math.max(e.y,r.y),n.z=Math.max(e.z,r.z),n.w=Math.max(e.w,r.w),n},i.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w},i.magnitude=function(e){return Math.sqrt(i.magnitudeSquared(e))};var a=new i;i.distance=function(e,t){return i.subtract(e,t,a),i.magnitude(a)},i.normalize=function(e,r){var n=i.magnitude(e);return t(r)?(r.x=e.x/n,r.y=e.y/n,r.z=e.z/n,r.w=e.w/n,r):new i(e.x/n,e.y/n,e.z/n,e.w/n)},i.dot=function(e,t){return e.x*t.x+e.y*t.y+e.z*t.z+e.w*t.w},i.multiplyComponents=function(e,r,n){return t(n)?(n.x=e.x*r.x,n.y=e.y*r.y,n.z=e.z*r.z,n.w=e.w*r.w,n):new i(e.x*r.x,e.y*r.y,e.z*r.z,e.w*r.w)},i.add=function(e,r,n){return t(n)?(n.x=e.x+r.x,n.y=e.y+r.y,n.z=e.z+r.z,n.w=e.w+r.w,n):new i(e.x+r.x,e.y+r.y,e.z+r.z,e.w+r.w)},i.subtract=function(e,r,n){return t(n)?(n.x=e.x-r.x,n.y=e.y-r.y,n.z=e.z-r.z,n.w=e.w-r.w,n):new i(e.x-r.x,e.y-r.y,e.z-r.z,e.w-r.w)},i.multiplyByScalar=function(e,r,n){return t(n)?(n.x=e.x*r,n.y=e.y*r,n.z=e.z*r,n.w=e.w*r,n):new i(e.x*r,e.y*r,e.z*r,e.w*r)},i.divideByScalar=function(e,r,n){return t(n)?(n.x=e.x/r,n.y=e.y/r,n.z=e.z/r,n.w=e.w/r,n):new i(e.x/r,e.y/r,e.z/r,e.w/r)},i.negate=function(e,r){return t(r)?(r.x=-e.x,r.y=-e.y,r.z=-e.z,r.w=-e.w,r):new i(-e.x,-e.y,-e.z,-e.w)},i.abs=function(e,r){return t(r)?(r.x=Math.abs(e.x),r.y=Math.abs(e.y),r.z=Math.abs(e.z),r.w=Math.abs(e.w),r):new i(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z),Math.abs(e.w))};var o=new i;i.lerp=function(e,t,r,n){return i.multiplyByScalar(t,r,o),n=i.multiplyByScalar(e,1-r,n),i.add(o,n,n)};var s=new i;return i.mostOrthogonalAxis=function(e,t){var r=i.normalize(e,s);return i.abs(r,r),t=r.x<=r.y?r.x<=r.z?r.x<=r.w?i.clone(i.UNIT_X,t):i.clone(i.UNIT_W,t):r.z<=r.w?i.clone(i.UNIT_Z,t):i.clone(i.UNIT_W,t):r.y<=r.z?r.y<=r.w?i.clone(i.UNIT_Y,t):i.clone(i.UNIT_W,t):r.z<=r.w?i.clone(i.UNIT_Z,t):i.clone(i.UNIT_W,t)},i.equals=function(e,r){return e===r||t(e)&&t(r)&&e.x===r.x&&e.y===r.y&&e.z===r.z&&e.w===r.w},i.equalsEpsilon=function(e,r,n){return e===r||t(e)&&t(r)&&Math.abs(e.x-r.x)<=n&&Math.abs(e.y-r.y)<=n&&Math.abs(e.z-r.z)<=n&&Math.abs(e.w-r.w)<=n},i.ZERO=n(new i(0,0,0,0)),i.UNIT_X=n(new i(1,0,0,0)),i.UNIT_Y=n(new i(0,1,0,0)),i.UNIT_Z=n(new i(0,0,1,0)),i.UNIT_W=n(new i(0,0,0,1)),i.prototype.clone=function(e){return i.clone(this,e)},i.prototype.equals=function(e){return i.equals(this,e)},i.prototype.equalsEpsilon=function(e,t){return i.equalsEpsilon(this,e,t)},i.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+", "+this.w+")"},i}),define("Core/Matrix3",["./Cartesian3","./defaultValue","./defined","./DeveloperError","./freezeObject","./Math"],function(e,t,r,n,i,a){"use strict";function o(e){for(var t=0,r=0;9>r;++r){var n=e[r];t+=n*n}return Math.sqrt(t)}function s(e){for(var t=0,r=0;3>r;++r){var n=e[l.getElementIndex(f[r],c[r])];t+=2*n*n}return Math.sqrt(t)}function u(e,t){for(var r=a.EPSILON15,n=0,i=1,o=0;3>o;++o){var s=Math.abs(e[l.getElementIndex(f[o],c[o])]);s>n&&(i=o,n=s)}var u=1,h=0,d=c[i],m=f[i];if(Math.abs(e[l.getElementIndex(m,d)])>r){var p,y=e[l.getElementIndex(m,m)],v=e[l.getElementIndex(d,d)],g=e[l.getElementIndex(m,d)],E=(y-v)/2/g;p=0>E?-1/(-E+Math.sqrt(1+E*E)):1/(E+Math.sqrt(1+E*E)),u=1/Math.sqrt(1+p*p),h=p*u}return t=l.clone(l.IDENTITY,t),t[l.getElementIndex(d,d)]=t[l.getElementIndex(m,m)]=u,t[l.getElementIndex(m,d)]=h,t[l.getElementIndex(d,m)]=-h,t}var l=function(e,r,n,i,a,o,s,u,l){this[0]=t(e,0),this[1]=t(i,0),this[2]=t(s,0),this[3]=t(r,0),this[4]=t(a,0),this[5]=t(u,0),this[6]=t(n,0),this[7]=t(o,0),this[8]=t(l,0)};l.clone=function(e,t){return r(e)?r(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t):new l(e[0],e[3],e[6],e[1],e[4],e[7],e[2],e[5],e[8]):void 0},l.fromArray=function(e,n,i){return n=t(n,0),r(i)||(i=new l),i[0]=e[n],i[1]=e[n+1],i[2]=e[n+2],i[3]=e[n+3],i[4]=e[n+4],i[5]=e[n+5],i[6]=e[n+6],i[7]=e[n+7],i[8]=e[n+8],i[9]=e[n+9],i},l.fromColumnMajorArray=function(e,t){return l.clone(e,t)},l.fromRowMajorArray=function(e,t){return r(t)?(t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8],t):new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])},l.fromQuaternion=function(e,t){var n=e.x*e.x,i=e.x*e.y,a=e.x*e.z,o=e.x*e.w,s=e.y*e.y,u=e.y*e.z,c=e.y*e.w,f=e.z*e.z,h=e.z*e.w,d=e.w*e.w,m=n-s-f+d,p=2*(i-h),y=2*(a+c),v=2*(i+h),g=-n+s-f+d,E=2*(u-o),w=2*(a-c),S=2*(u+o),x=-n-s+f+d;return r(t)?(t[0]=m,t[1]=v,t[2]=w,t[3]=p,t[4]=g,t[5]=S,t[6]=y,t[7]=E,t[8]=x,t):new l(m,p,y,v,g,E,w,S,x)},l.fromScale=function(e,t){return r(t)?(t[0]=e.x,t[1]=0,t[2]=0,t[3]=0,t[4]=e.y,t[5]=0,t[6]=0,t[7]=0,t[8]=e.z,t):new l(e.x,0,0,0,e.y,0,0,0,e.z)},l.fromUniformScale=function(e,t){return r(t)?(t[0]=e,t[1]=0,t[2]=0,t[3]=0,t[4]=e,t[5]=0,t[6]=0,t[7]=0,t[8]=e,t):new l(e,0,0,0,e,0,0,0,e)},l.fromRotationX=function(e,t){var n=Math.cos(e),i=Math.sin(e);return r(t)?(t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=n,t[5]=i,t[6]=0,t[7]=-i,t[8]=n,t):new l(1,0,0,0,n,-i,0,i,n)},l.fromRotationY=function(e,t){var n=Math.cos(e),i=Math.sin(e);return r(t)?(t[0]=n,t[1]=0,t[2]=-i,t[3]=0,t[4]=1,t[5]=0,t[6]=i,t[7]=0,t[8]=n,t):new l(n,0,i,0,1,0,-i,0,n)},l.fromRotationZ=function(e,t){var n=Math.cos(e),i=Math.sin(e);return r(t)?(t[0]=n,t[1]=i,t[2]=0,t[3]=-i,t[4]=n,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t):new l(n,-i,0,i,n,0,0,0,1)},l.toArray=function(e,t){return r(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8]]},l.getElementIndex=function(e,t){return 3*e+t},l.getColumn=function(t,n,i){var a=3*n,o=t[a],s=t[a+1],u=t[a+2];return r(i)?(i.x=o,i.y=s,i.z=u,i):new e(o,s,u)},l.setColumn=function(e,t,r,n){n=l.clone(e,n);var i=3*t;return n[i]=r.x,n[i+1]=r.y,n[i+2]=r.z,n},l.getRow=function(t,n,i){var a=t[n],o=t[n+3],s=t[n+6];return r(i)?(i.x=a,i.y=o,i.z=s,i):new e(a,o,s)},l.setRow=function(e,t,r,n){return n=l.clone(e,n),n[t]=r.x,n[t+3]=r.y,n[t+6]=r.z,n},l.multiply=function(e,t,n){var i=e[0]*t[0]+e[3]*t[1]+e[6]*t[2],a=e[1]*t[0]+e[4]*t[1]+e[7]*t[2],o=e[2]*t[0]+e[5]*t[1]+e[8]*t[2],s=e[0]*t[3]+e[3]*t[4]+e[6]*t[5],u=e[1]*t[3]+e[4]*t[4]+e[7]*t[5],c=e[2]*t[3]+e[5]*t[4]+e[8]*t[5],f=e[0]*t[6]+e[3]*t[7]+e[6]*t[8],h=e[1]*t[6]+e[4]*t[7]+e[7]*t[8],d=e[2]*t[6]+e[5]*t[7]+e[8]*t[8];return r(n)?(n[0]=i,n[1]=a,n[2]=o,n[3]=s,n[4]=u,n[5]=c,n[6]=f,n[7]=h,n[8]=d,n):new l(i,s,f,a,u,h,o,c,d)},l.multiplyByVector=function(t,n,i){var a=n.x,o=n.y,s=n.z,u=t[0]*a+t[3]*o+t[6]*s,l=t[1]*a+t[4]*o+t[7]*s,c=t[2]*a+t[5]*o+t[8]*s;return r(i)?(i.x=u,i.y=l,i.z=c,i):new e(u,l,c)},l.multiplyByScalar=function(e,t,n){return r(n)?(n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n[4]=e[4]*t,n[5]=e[5]*t,n[6]=e[6]*t,n[7]=e[7]*t,n[8]=e[8]*t,n):new l(e[0]*t,e[3]*t,e[6]*t,e[1]*t,e[4]*t,e[7]*t,e[2]*t,e[5]*t,e[8]*t)},l.negate=function(e,t){return r(t)?(t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t[4]=-e[4],t[5]=-e[5],t[6]=-e[6],t[7]=-e[7],t[8]=-e[8],t):new l(-e[0],-e[3],-e[6],-e[1],-e[4],-e[7],-e[2],-e[5],-e[8])},l.transpose=function(e,t){var n=e[0],i=e[3],a=e[6],o=e[1],s=e[4],u=e[7],c=e[2],f=e[5],h=e[8];return r(t)?(t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=u,t[6]=c,t[7]=f,t[8]=h,t):new l(n,o,c,i,s,f,a,u,h)};var c=[1,0,0],f=[2,2,1],h=new l,d=new l;return l.getEigenDecomposition=function(e,t){var n=a.EPSILON20,i=10,c=0,f=0;r(t)||(t={});for(var m=t.unitary=l.clone(l.IDENTITY,t.unitary),p=t.diagonal=l.clone(e,t.diagonal),y=n*o(p);i>f&&s(p)>y;)u(p,h),l.transpose(h,d),l.multiply(p,h,p),l.multiply(d,p,p),l.multiply(m,h,m),++c>2&&(++f,c=0);return t},l.abs=function(e,t){return r(t)?(t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t[3]=Math.abs(e[3]),t[4]=Math.abs(e[4]),t[5]=Math.abs(e[5]),t[6]=Math.abs(e[6]),t[7]=Math.abs(e[7]),t[8]=Math.abs(e[8]),t):new l(Math.abs(e[0]),Math.abs(e[3]),Math.abs(e[6]),Math.abs(e[1]),Math.abs(e[4]),Math.abs(e[7]),Math.abs(e[2]),Math.abs(e[5]),Math.abs(e[8]))},l.determinant=function(e){var t=e[0],r=e[3],n=e[6],i=e[1],a=e[4],o=e[7],s=e[2],u=e[5],l=e[8];return t*(a*l-u*o)+i*(u*n-r*l)+s*(r*o-a*n)},l.inverse=function(e,t){var r=e[0],i=e[1],o=e[2],s=e[3],u=e[4],c=e[5],f=e[6],h=e[7],d=e[8],m=l.determinant(e);if(Math.abs(m)<=a.EPSILON15)throw new n("matrix is not invertible");var p=new l(u*d-h*c,f*c-s*d,s*h-f*u,h*o-i*d,r*d-f*o,f*i-r*h,i*c-u*o,s*o-r*c,r*u-s*i),y=1/m;return l.multiplyByScalar(p,y,t)},l.equals=function(e,t){return e===t||r(e)&&r(t)&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]},l.equalsEpsilon=function(e,t,n){return e===t||r(e)&&r(t)&&Math.abs(e[0]-t[0])<=n&&Math.abs(e[1]-t[1])<=n&&Math.abs(e[2]-t[2])<=n&&Math.abs(e[3]-t[3])<=n&&Math.abs(e[4]-t[4])<=n&&Math.abs(e[5]-t[5])<=n&&Math.abs(e[6]-t[6])<=n&&Math.abs(e[7]-t[7])<=n&&Math.abs(e[8]-t[8])<=n},l.IDENTITY=i(new l(1,0,0,0,1,0,0,0,1)),l.COLUMN0ROW0=0,l.COLUMN0ROW1=1,l.COLUMN0ROW2=2,l.COLUMN1ROW0=3,l.COLUMN1ROW1=4,l.COLUMN1ROW2=5,l.COLUMN2ROW0=6,l.COLUMN2ROW1=7,l.COLUMN2ROW2=8,l.prototype.clone=function(e){return l.clone(this,e)},l.prototype.equals=function(e){return l.equals(this,e)},l.prototype.equalsEpsilon=function(e,t){return l.equalsEpsilon(this,e,t)},l.prototype.toString=function(){return"("+this[0]+", "+this[3]+", "+this[6]+")\n"+"("+this[1]+", "+this[4]+", "+this[7]+")\n"+"("+this[2]+", "+this[5]+", "+this[8]+")"},l}),define("Core/RuntimeError",["./defined"],function(e){"use strict";var t=function(e){this.name="RuntimeError",this.message=e;var t;try{throw new Error}catch(r){t=r.stack}this.stack=t};return t.prototype.toString=function(){var t=this.name+": "+this.message;return e(this.stack)&&(t+="\n"+this.stack.toString()),t},t}),define("Core/Matrix4",["./Cartesian3","./Cartesian4","./defaultValue","./defined","./DeveloperError","./freezeObject","./Math","./Matrix3","./RuntimeError"],function(e,t,r,n,i,a,o,s,u){"use strict";var l=function(e,t,n,i,a,o,s,u,l,c,f,h,d,m,p,y){this[0]=r(e,0),this[1]=r(a,0),this[2]=r(l,0),this[3]=r(d,0),this[4]=r(t,0),this[5]=r(o,0),this[6]=r(c,0),this[7]=r(m,0),this[8]=r(n,0),this[9]=r(s,0),this[10]=r(f,0),this[11]=r(p,0),this[12]=r(i,0),this[13]=r(u,0),this[14]=r(h,0),this[15]=r(y,0)};l.clone=function(e,t){return n(e)?n(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t):new l(e[0],e[4],e[8],e[12],e[1],e[5],e[9],e[13],e[2],e[6],e[10],e[14],e[3],e[7],e[11],e[15]):void 0},l.fromArray=function(e,t,i){return t=r(t,0),n(i)||(i=new l),i[0]=e[t],i[1]=e[t+1],i[2]=e[t+2],i[3]=e[t+3],i[4]=e[t+4],i[5]=e[t+5],i[6]=e[t+6],i[7]=e[t+7],i[8]=e[t+8],i[9]=e[t+9],i[10]=e[t+10],i[11]=e[t+11],i[12]=e[t+12],i[13]=e[t+13],i[14]=e[t+14],i[15]=e[t+15],i},l.fromColumnMajorArray=function(e,t){return l.clone(e,t)},l.fromRowMajorArray=function(e,t){return n(t)?(t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15],t):new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])},l.fromRotationTranslation=function(e,t,r){return n(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=0,r[4]=e[3],r[5]=e[4],r[6]=e[5],r[7]=0,r[8]=e[6],r[9]=e[7],r[10]=e[8],r[11]=0,r[12]=t.x,r[13]=t.y,r[14]=t.z,r[15]=1,r):new l(e[0],e[3],e[6],t.x,e[1],e[4],e[7],t.y,e[2],e[5],e[8],t.z,0,0,0,1)},new s,l.fromTranslationQuaternionRotationScale=function(e,t,r,i){n(i)||(i=new l);var a=r.x,o=r.y,s=r.z,u=t.x*t.x,c=t.x*t.y,f=t.x*t.z,h=t.x*t.w,d=t.y*t.y,m=t.y*t.z,p=t.y*t.w,y=t.z*t.z,v=t.z*t.w,g=t.w*t.w,E=u-d-y+g,w=2*(c-v),S=2*(f+p),x=2*(c+v),C=-u+d-y+g,T=2*(m-h),O=2*(f-p),A=2*(m+h),M=-u-d+y+g;return i[0]=E*a,i[1]=x*a,i[2]=O*a,i[3]=0,i[4]=w*o,i[5]=C*o,i[6]=A*o,i[7]=0,i[8]=S*s,i[9]=T*s,i[10]=M*s,i[11]=0,i[12]=e.x,i[13]=e.y,i[14]=e.z,i[15]=1,i +},l.fromTranslation=function(e,t){return l.fromRotationTranslation(s.IDENTITY,e,t)},l.fromScale=function(e,t){return n(t)?(t[0]=e.x,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e.y,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e.z,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t):new l(e.x,0,0,0,0,e.y,0,0,0,0,e.z,0,0,0,0,1)},l.fromUniformScale=function(e,t){return n(t)?(t[0]=e,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t):new l(e,0,0,0,0,e,0,0,0,0,e,0,0,0,0,1)};var c=new e,f=new e,h=new e;l.fromCamera=function(t,r){var i=t.eye,a=t.target,o=t.up;e.normalize(e.subtract(a,i,c),c),e.normalize(e.cross(c,o,f),f),e.normalize(e.cross(f,c,h),h);var s=f.x,u=f.y,d=f.z,m=c.x,p=c.y,y=c.z,v=h.x,g=h.y,E=h.z,w=i.x,S=i.y,x=i.z,C=s*-w+u*-S+d*-x,T=v*-w+g*-S+E*-x,O=m*w+p*S+y*x;return n(r)?(r[0]=s,r[1]=v,r[2]=-m,r[3]=0,r[4]=u,r[5]=g,r[6]=-p,r[7]=0,r[8]=d,r[9]=E,r[10]=-y,r[11]=0,r[12]=C,r[13]=T,r[14]=O,r[15]=1,r):new l(s,u,d,C,v,g,E,T,-m,-p,-y,O,0,0,0,1)},l.computePerspectiveFieldOfView=function(e,t,r,i,a){var o=Math.tan(.5*e),s=1/o,u=s/t,c=(i+r)/(r-i),f=2*i*r/(r-i);return n(a)?(a[0]=u,a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=s,a[6]=0,a[7]=0,a[8]=0,a[9]=0,a[10]=c,a[11]=-1,a[12]=0,a[13]=0,a[14]=f,a[15]=0,a):new l(u,0,0,0,0,s,0,0,0,0,c,f,0,0,-1,0)},l.computeOrthographicOffCenter=function(e,t,r,i,a,o,s){var u=1/(t-e),c=1/(i-r),f=1/(o-a),h=-(t+e)*u,d=-(i+r)*c,m=-(o+a)*f;return u*=2,c*=2,f*=-2,n(s)?(s[0]=u,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=c,s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=f,s[11]=0,s[12]=h,s[13]=d,s[14]=m,s[15]=1,s):new l(u,0,0,h,0,c,0,d,0,0,f,m,0,0,0,1)},l.computePerspectiveOffCenter=function(e,t,r,i,a,o,s){var u=2*a/(t-e),c=2*a/(i-r),f=(t+e)/(t-e),h=(i+r)/(i-r),d=-(o+a)/(o-a),m=-1,p=-2*o*a/(o-a);return n(s)?(s[0]=u,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=c,s[6]=0,s[7]=0,s[8]=f,s[9]=h,s[10]=d,s[11]=m,s[12]=0,s[13]=0,s[14]=p,s[15]=0,s):new l(u,0,f,0,0,c,h,0,0,0,d,p,0,0,m,0)},l.computeInfinitePerspectiveOffCenter=function(e,t,r,i,a,o){var s=2*a/(t-e),u=2*a/(i-r),c=(t+e)/(t-e),f=(i+r)/(i-r),h=-1,d=-1,m=-2*a;return n(o)?(o[0]=s,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=u,o[6]=0,o[7]=0,o[8]=c,o[9]=f,o[10]=h,o[11]=d,o[12]=0,o[13]=0,o[14]=m,o[15]=0,o):new l(s,0,c,0,0,u,f,0,0,0,h,m,0,0,d,0)},l.computeViewportTransformation=function(e,t,i,a){e=r(e,r.EMPTY_OBJECT);var o=r(e.x,0),s=r(e.y,0),u=r(e.width,0),c=r(e.height,0);t=r(t,0),i=r(i,1);var f=.5*u,h=.5*c,d=.5*(i-t),m=f,p=h,y=d,v=o+f,g=s+h,E=t+d,w=1;return n(a)?(a[0]=m,a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=p,a[6]=0,a[7]=0,a[8]=0,a[9]=0,a[10]=y,a[11]=0,a[12]=v,a[13]=g,a[14]=E,a[15]=w,a):new l(m,0,0,v,0,p,0,g,0,0,y,E,0,0,0,w)},l.toArray=function(e,t){return n(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]]},l.getElementIndex=function(e,t){return 4*e+t},l.getColumn=function(e,r,i){var a=4*r,o=e[a],s=e[a+1],u=e[a+2],l=e[a+3];return n(i)?(i.x=o,i.y=s,i.z=u,i.w=l,i):new t(o,s,u,l)},l.setColumn=function(e,t,r,n){n=l.clone(e,n);var i=4*t;return n[i]=r.x,n[i+1]=r.y,n[i+2]=r.z,n[i+3]=r.w,n},l.getRow=function(e,r,i){var a=e[r],o=e[r+4],s=e[r+8],u=e[r+12];return n(i)?(i.x=a,i.y=o,i.z=s,i.w=u,i):new t(a,o,s,u)},l.setRow=function(e,t,r,n){return n=l.clone(e,n),n[t]=r.x,n[t+4]=r.y,n[t+8]=r.z,n[t+12]=r.w,n},l.multiply=function(e,t,r){var i=e[0],a=e[1],o=e[2],s=e[3],u=e[4],c=e[5],f=e[6],h=e[7],d=e[8],m=e[9],p=e[10],y=e[11],v=e[12],g=e[13],E=e[14],w=e[15],S=t[0],x=t[1],C=t[2],T=t[3],O=t[4],A=t[5],M=t[6],D=t[7],I=t[8],_=t[9],b=t[10],N=t[11],P=t[12],R=t[13],z=t[14],L=t[15],F=i*S+u*x+d*C+v*T,U=a*S+c*x+m*C+g*T,B=o*S+f*x+p*C+E*T,q=s*S+h*x+y*C+w*T,G=i*O+u*A+d*M+v*D,W=a*O+c*A+m*M+g*D,Y=o*O+f*A+p*M+E*D,V=s*O+h*A+y*M+w*D,j=i*I+u*_+d*b+v*N,H=a*I+c*_+m*b+g*N,k=o*I+f*_+p*b+E*N,K=s*I+h*_+y*b+w*N,Z=i*P+u*R+d*z+v*L,X=a*P+c*R+m*z+g*L,J=o*P+f*R+p*z+E*L,Q=s*P+h*R+y*z+w*L;return n(r)?(r[0]=F,r[1]=U,r[2]=B,r[3]=q,r[4]=G,r[5]=W,r[6]=Y,r[7]=V,r[8]=j,r[9]=H,r[10]=k,r[11]=K,r[12]=Z,r[13]=X,r[14]=J,r[15]=Q,r):new l(F,G,j,Z,U,W,H,X,B,Y,k,J,q,V,K,Q)},l.multiplyTransformation=function(e,t,r){var i=e[0],a=e[1],o=e[2],s=e[4],u=e[5],c=e[6],f=e[8],h=e[9],d=e[10],m=e[12],p=e[13],y=e[14],v=t[0],g=t[1],E=t[2],w=t[4],S=t[5],x=t[6],C=t[8],T=t[9],O=t[10],A=t[12],M=t[13],D=t[14],I=i*v+s*g+f*E,_=a*v+u*g+h*E,b=o*v+c*g+d*E,N=i*w+s*S+f*x,P=a*w+u*S+h*x,R=o*w+c*S+d*x,z=i*C+s*T+f*O,L=a*C+u*T+h*O,F=o*C+c*T+d*O,U=i*A+s*M+f*D+m,B=a*A+u*M+h*D+p,q=o*A+c*M+d*D+y;return n(r)?(r[0]=I,r[1]=_,r[2]=b,r[3]=0,r[4]=N,r[5]=P,r[6]=R,r[7]=0,r[8]=z,r[9]=L,r[10]=F,r[11]=0,r[12]=U,r[13]=B,r[14]=q,r[15]=1,r):new l(I,N,z,U,_,P,L,B,b,R,F,q,0,0,0,1)},l.multiplyByTranslation=function(e,t,r){var i=t.x,a=t.y,o=t.z,s=i*e[0]+a*e[4]+o*e[8]+e[12],u=i*e[1]+a*e[5]+o*e[9]+e[13],c=i*e[2]+a*e[6]+o*e[10]+e[14];return n(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r[9]=e[9],r[10]=e[10],r[11]=e[11],r[12]=s,r[13]=u,r[14]=c,r[15]=e[15],r):new l(e[0],e[4],e[8],s,e[1],e[5],e[9],u,e[2],e[6],e[10],c,e[3],e[7],e[11],e[15])};var d=new e;return l.multiplyByUniformScale=function(e,t,r){return d.x=t,d.y=t,d.z=t,l.multiplyByScale(e,d,r)},l.multiplyByScale=function(e,t,r){var i=t.x,a=t.y,o=t.z;return 1===i&&1===a&&1===o?l.clone(e,r):n(r)?(r[0]=i*e[0],r[1]=i*e[1],r[2]=i*e[2],r[3]=0,r[4]=a*e[4],r[5]=a*e[5],r[6]=a*e[6],r[7]=0,r[8]=o*e[8],r[9]=o*e[9],r[10]=o*e[10],r[11]=0,r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=1,r):new l(i*e[0],a*e[4],o*e[8],e[12],i*e[1],a*e[5],o*e[9],e[13],i*e[2],a*e[6],o*e[10],e[14],0,0,0,1)},l.multiplyByVector=function(e,r,i){var a=r.x,o=r.y,s=r.z,u=r.w,l=e[0]*a+e[4]*o+e[8]*s+e[12]*u,c=e[1]*a+e[5]*o+e[9]*s+e[13]*u,f=e[2]*a+e[6]*o+e[10]*s+e[14]*u,h=e[3]*a+e[7]*o+e[11]*s+e[15]*u;return n(i)?(i.x=l,i.y=c,i.z=f,i.w=h,i):new t(l,c,f,h)},l.multiplyByPointAsVector=function(t,r,i){var a=r.x,o=r.y,s=r.z,u=t[0]*a+t[4]*o+t[8]*s,l=t[1]*a+t[5]*o+t[9]*s,c=t[2]*a+t[6]*o+t[10]*s;return n(i)?(i.x=u,i.y=l,i.z=c,i):new e(u,l,c)},l.multiplyByPoint=function(t,r,i){var a=r.x,o=r.y,s=r.z,u=t[0]*a+t[4]*o+t[8]*s+t[12],l=t[1]*a+t[5]*o+t[9]*s+t[13],c=t[2]*a+t[6]*o+t[10]*s+t[14];return n(i)?(i.x=u,i.y=l,i.z=c,i):new e(u,l,c)},l.multiplyByScalar=function(e,t,r){return n(r)?(r[0]=e[0]*t,r[1]=e[1]*t,r[2]=e[2]*t,r[3]=e[3]*t,r[4]=e[4]*t,r[5]=e[5]*t,r[6]=e[6]*t,r[7]=e[7]*t,r[8]=e[8]*t,r[9]=e[9]*t,r[10]=e[10]*t,r[11]=e[11]*t,r[12]=e[12]*t,r[13]=e[13]*t,r[14]=e[14]*t,r[15]=e[15]*t,r):new l(e[0]*t,e[4]*t,e[8]*t,e[12]*t,e[1]*t,e[5]*t,e[9]*t,e[13]*t,e[2]*t,e[6]*t,e[10]*t,e[14]*t,e[3]*t,e[7]*t,e[11]*t,e[15]*t)},l.negate=function(e,t){return n(t)?(t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t[4]=-e[4],t[5]=-e[5],t[6]=-e[6],t[7]=-e[7],t[8]=-e[8],t[9]=-e[9],t[10]=-e[10],t[11]=-e[11],t[12]=-e[12],t[13]=-e[13],t[14]=-e[14],t[15]=-e[15],t):new l(-e[0],-e[4],-e[8],-e[12],-e[1],-e[5],-e[9],-e[13],-e[2],-e[6],-e[10],-e[14],-e[3],-e[7],-e[11],-e[15])},l.transpose=function(e,t){if(!n(t))return new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]);var r=e[1],i=e[2],a=e[3],o=e[6],s=e[7],u=e[11];return t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=r,t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=i,t[9]=o,t[10]=e[10],t[11]=e[14],t[12]=a,t[13]=s,t[14]=u,t[15]=e[15],t},l.abs=function(e,t){return n(t)?(t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t[3]=Math.abs(e[3]),t[4]=Math.abs(e[4]),t[5]=Math.abs(e[5]),t[6]=Math.abs(e[6]),t[7]=Math.abs(e[7]),t[8]=Math.abs(e[8]),t[9]=Math.abs(e[9]),t[10]=Math.abs(e[10]),t[11]=Math.abs(e[11]),t[12]=Math.abs(e[12]),t[13]=Math.abs(e[13]),t[14]=Math.abs(e[14]),t[15]=Math.abs(e[15]),t):new l(Math.abs(e[0]),Math.abs(e[4]),Math.abs(e[8]),Math.abs(e[12]),Math.abs(e[1]),Math.abs(e[5]),Math.abs(e[9]),Math.abs(e[13]),Math.abs(e[2]),Math.abs(e[6]),Math.abs(e[10]),Math.abs(e[14]),Math.abs(e[3]),Math.abs(e[7]),Math.abs(e[11]),Math.abs(e[15]))},l.equals=function(e,t){return e===t||n(e)&&n(t)&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15]},l.equalsEpsilon=function(e,t,r){return e===t||n(e)&&n(t)&&Math.abs(e[0]-t[0])<=r&&Math.abs(e[1]-t[1])<=r&&Math.abs(e[2]-t[2])<=r&&Math.abs(e[3]-t[3])<=r&&Math.abs(e[4]-t[4])<=r&&Math.abs(e[5]-t[5])<=r&&Math.abs(e[6]-t[6])<=r&&Math.abs(e[7]-t[7])<=r&&Math.abs(e[8]-t[8])<=r&&Math.abs(e[9]-t[9])<=r&&Math.abs(e[10]-t[10])<=r&&Math.abs(e[11]-t[11])<=r&&Math.abs(e[12]-t[12])<=r&&Math.abs(e[13]-t[13])<=r&&Math.abs(e[14]-t[14])<=r&&Math.abs(e[15]-t[15])<=r},l.getTranslation=function(t,r){return n(r)?(r.x=t[12],r.y=t[13],r.z=t[14],r):new e(t[12],t[13],t[14])},l.getRotation=function(e,t){return n(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[4],t[4]=e[5],t[5]=e[6],t[6]=e[8],t[7]=e[9],t[8]=e[10],t):new s(e[0],e[4],e[8],e[1],e[5],e[9],e[2],e[6],e[10])},l.inverse=function(e,t){var r=e[0],i=e[4],a=e[8],s=e[12],c=e[1],f=e[5],h=e[9],d=e[13],m=e[2],p=e[6],y=e[10],v=e[14],g=e[3],E=e[7],w=e[11],S=e[15],x=y*S,C=v*w,T=p*S,O=v*E,A=p*w,M=y*E,D=m*S,I=v*g,_=m*w,b=y*g,N=m*E,P=p*g,R=x*f+O*h+A*d-(C*f+T*h+M*d),z=C*c+D*h+b*d-(x*c+I*h+_*d),L=T*c+I*f+N*d-(O*c+D*f+P*d),F=M*c+_*f+P*h-(A*c+b*f+N*h),U=C*i+T*a+M*s-(x*i+O*a+A*s),B=x*r+I*a+_*s-(C*r+D*a+b*s),q=O*r+D*i+P*s-(T*r+I*i+N*s),G=A*r+b*i+N*a-(M*r+_*i+P*a);x=a*d,C=s*h,T=i*d,O=s*f,A=i*h,M=a*f,D=r*d,I=s*c,_=r*h,b=a*c,N=r*f,P=i*c;var W=x*E+O*w+A*S-(C*E+T*w+M*S),Y=C*g+D*w+b*S-(x*g+I*w+_*S),V=T*g+I*E+N*S-(O*g+D*E+P*S),j=M*g+_*E+P*w-(A*g+b*E+N*w),H=T*y+M*v+C*p-(A*v+x*p+O*y),k=_*v+x*m+I*y-(D*y+b*v+C*m),K=D*p+P*v+O*m-(N*v+T*m+I*p),Z=N*y+A*m+b*p-(_*p+P*y+M*m),X=r*R+i*z+a*L+s*F;if(Math.abs(X)O;O++){e.clone(t[O],i);var A=i.x,M=i.y,D=i.z;Au.x&&e.clone(i,u),Ml.y&&e.clone(i,l),DC.z&&e.clone(i,C)}var I=e.magnitudeSquared(e.subtract(u,a,g)),_=e.magnitudeSquared(e.subtract(l,o,g)),b=e.magnitudeSquared(e.subtract(C,s,g)),N=a,P=u,R=I;_>R&&(R=_,N=o,P=l),b>R&&(R=b,N=s,P=C);var z=E;z.x=.5*(N.x+P.x),z.y=.5*(N.y+P.y),z.z=.5*(N.z+P.z);var L=e.magnitudeSquared(e.subtract(P,z,g)),F=Math.sqrt(L),U=w;U.x=a.x,U.y=o.y,U.z=s.z;var B=S;B.x=u.x,B.y=l.y,B.z=C.z;var q=e.multiplyByScalar(e.add(U,B,g),.5,x),G=0;for(O=0;T>O;O++){e.clone(t[O],i);var W=e.magnitude(e.subtract(i,q,g));W>G&&(G=W);var Y=e.magnitudeSquared(e.subtract(i,z,g));if(Y>L){var V=Math.sqrt(Y);F=.5*(F+V),L=F*F;var j=V-F;z.x=(F*z.x+j*i.x)/V,z.y=(F*z.y+j*i.y)/V,z.z=(F*z.z+j*i.z)/V}}return G>F?(e.clone(z,r.center),r.radius=F):(e.clone(q,r.center),r.radius=G),r};var C=new o,T=new e,O=new e,A=new t,M=new t;c.fromExtent2D=function(e,t,r){return c.fromExtentWithHeights2D(e,t,0,0,r)},c.fromExtentWithHeights2D=function(t,i,a,o,s){if(n(s)||(s=new c),!n(t))return s.center=e.clone(e.ZERO,s.center),s.radius=0,s;i=r(i,C),t.getSouthwest(A),A.height=a,t.getNortheast(M),M.height=o;var u=i.project(A,T),l=i.project(M,O),f=l.x-u.x,h=l.y-u.y,d=l.z-u.z;s.radius=.5*Math.sqrt(f*f+h*h+d*d);var m=s.center;return m.x=u.x+.5*f,m.y=u.y+.5*h,m.z=u.z+.5*d,s};var D=[];c.fromExtent3D=function(e,t,i,o){t=r(t,a.WGS84),i=r(i,0);var s;return n(e)&&(s=e.subsample(t,i,D)),c.fromPoints(s,o)},c.fromVertices=function(t,i,a,o){if(n(o)||(o=new c),!n(t)||0===t.length)return o.center=e.clone(e.ZERO,o.center),o.radius=0,o;i=r(i,e.ZERO),a=r(a,3);var s=v;s.x=t[0]+i.x,s.y=t[1]+i.y,s.z=t[2]+i.z;for(var u=e.clone(s,f),l=e.clone(s,h),C=e.clone(s,d),T=e.clone(s,m),O=e.clone(s,p),A=e.clone(s,y),M=t.length,D=0;M>D;D+=a){var I=t[D]+i.x,_=t[D+1]+i.y,b=t[D+2]+i.z;s.x=I,s.y=_,s.z=b,IT.x&&e.clone(s,T),_O.y&&e.clone(s,O),bA.z&&e.clone(s,A)}var N=e.magnitudeSquared(e.subtract(T,u,g)),P=e.magnitudeSquared(e.subtract(O,l,g)),R=e.magnitudeSquared(e.subtract(A,C,g)),z=u,L=T,F=N;P>F&&(F=P,z=l,L=O),R>F&&(F=R,z=C,L=A);var U=E;U.x=.5*(z.x+L.x),U.y=.5*(z.y+L.y),U.z=.5*(z.z+L.z);var B=e.magnitudeSquared(e.subtract(L,U,g)),q=Math.sqrt(B),G=w;G.x=u.x,G.y=l.y,G.z=C.z;var W=S;W.x=T.x,W.y=O.y,W.z=A.z;var Y=e.multiplyByScalar(e.add(G,W,g),.5,x),V=0;for(D=0;M>D;D+=a){s.x=t[D]+i.x,s.y=t[D+1]+i.y,s.z=t[D+2]+i.z;var j=e.magnitude(e.subtract(s,Y,g));j>V&&(V=j);var H=e.magnitudeSquared(e.subtract(s,U,g));if(H>B){var k=Math.sqrt(H);q=.5*(q+k),B=q*q;var K=k-q;U.x=(q*U.x+K*s.x)/k,U.y=(q*U.y+K*s.y)/k,U.z=(q*U.z+K*s.z)/k}}return V>q?(e.clone(U,o.center),o.radius=q):(e.clone(Y,o.center),o.radius=V),o},c.fromCornerPoints=function(t,r,i){n(i)||(i=new c);var a=i.center;return e.add(t,r,a),e.multiplyByScalar(a,.5,a),i.radius=e.distance(a,r),i},c.fromEllipsoid=function(t,r){return n(r)||(r=new c),e.clone(e.ZERO,r.center),r.radius=t.maximumRadius,r},c.clone=function(t,r){return n(t)?n(r)?(r.center=e.clone(t.center,r.center),r.radius=t.radius,r):new c(t.center,t.radius):void 0};var I=new e,_=new e;c.union=function(t,r,i){n(i)||(i=new c);var a=t.center,o=r.center;e.add(a,o,_);var s=e.multiplyByScalar(_,.5,_),u=e.magnitude(e.subtract(a,s,I))+t.radius,l=e.magnitude(e.subtract(o,s,I))+r.radius;return i.radius=Math.max(u,l),e.clone(s,i.center),i};var b=new e;c.expand=function(t,r,n){n=c.clone(t,n);var i=e.magnitude(e.subtract(r,n.center,b));return i>n.radius&&(n.radius=i),n},c.intersect=function(t,r){var n=t.center,i=t.radius,a=e.dot(r,n)+r.w;return-i>a?s.OUTSIDE:i>a?s.INTERSECTING:s.INSIDE};var N=new e;c.transform=function(t,r,i){return n(i)||(i=new c),i.center=l.multiplyByPoint(r,t.center,i.center),i.radius=Math.max(e.magnitude(l.getColumn(r,0,N)),e.magnitude(l.getColumn(r,1,N)),e.magnitude(l.getColumn(r,2,N)))*t.radius,i},c.transformWithoutScale=function(e,t,r){return n(r)||(r=new c),r.center=l.multiplyByPoint(t,e.center,r.center),r.radius=e.radius,r};var P=new e;c.getPlaneDistances=function(t,r,i,a){n(a)||(a=new u);var o=e.subtract(t.center,r,P),s=e.multiplyByScalar(i,e.dot(i,o),P),l=e.magnitude(s);return a.start=l-t.radius,a.stop=l+t.radius,a};for(var R=new e,z=new e,L=new e,F=new e,U=new e,B=new t,q=new Array(8),G=0;8>G;++G)q[G]=new e;var W=new o;return c.projectTo2D=function(t,n,i){n=r(n,W);var a=n.ellipsoid,o=t.center,s=t.radius,u=a.geodeticSurfaceNormal(o,R),l=e.cross(e.UNIT_Z,u,z);e.normalize(l,l);var f=e.cross(u,l,L);e.normalize(f,f),e.multiplyByScalar(u,s,u),e.multiplyByScalar(f,s,f),e.multiplyByScalar(l,s,l);var h=e.negate(f,U),d=e.negate(l,F),m=q,p=m[0];e.add(u,f,p),e.add(p,l,p),p=m[1],e.add(u,f,p),e.add(p,d,p),p=m[2],e.add(u,h,p),e.add(p,d,p),p=m[3],e.add(u,h,p),e.add(p,l,p),e.negate(u,u),p=m[4],e.add(u,f,p),e.add(p,l,p),p=m[5],e.add(u,f,p),e.add(p,d,p),p=m[6],e.add(u,h,p),e.add(p,d,p),p=m[7],e.add(u,h,p),e.add(p,l,p);for(var y=m.length,v=0;y>v;++v){var g=m[v];e.add(o,g,g);var E=a.cartesianToCartographic(g,B);n.project(E,g)}i=c.fromPoints(m,i),o=i.center;var w=o.x,S=o.y,x=o.z;return o.x=x,o.y=w,o.z=S,i},c.equals=function(t,r){return t===r||n(t)&&n(r)&&e.equals(t.center,r.center)&&t.radius===r.radius},c.prototype.clone=function(e){return c.clone(this,e)},c.prototype.union=function(e,t){return c.union(this,e,t)},c.prototype.expand=function(e,t){return c.expand(this,e,t)},c.prototype.intersect=function(e){return c.intersect(this,e)},c.prototype.getPlaneDistances=function(e,t,r){return c.getPlaneDistances(this,e,t,r)},c.prototype.projectTo2D=function(e,t){return c.projectTo2D(this,e,t)},c.prototype.equals=function(e){return c.equals(this,e)},c}),define("Core/Fullscreen",["./defined"],function(e){"use strict";var t,r={requestFullscreen:void 0,exitFullscreen:void 0,fullscreenEnabled:void 0,fullscreenElement:void 0,fullscreenchange:void 0,fullscreenerror:void 0},n={};return n.supportsFullscreen=function(){if(e(t))return t;t=!1;var n=document.body;if("function"==typeof n.requestFullscreen)return r.requestFullscreen="requestFullscreen",r.exitFullscreen="exitFullscreen",r.fullscreenEnabled="fullscreenEnabled",r.fullscreenElement="fullscreenElement",r.fullscreenchange="fullscreenchange",r.fullscreenerror="fullscreenerror",t=!0;for(var i,a=["webkit","moz","o","ms","khtml"],o=0,s=a.length;s>o;++o){var u=a[o];i=u+"RequestFullscreen","function"==typeof n[i]?(r.requestFullscreen=i,t=!0):(i=u+"RequestFullScreen","function"==typeof n[i]&&(r.requestFullscreen=i,t=!0)),i=u+"ExitFullscreen","function"==typeof document[i]?r.exitFullscreen=i:(i=u+"CancelFullScreen","function"==typeof document[i]&&(r.exitFullscreen=i)),i=u+"FullscreenEnabled",e(document[i])?r.fullscreenEnabled=i:(i=u+"FullScreenEnabled",e(document[i])&&(r.fullscreenEnabled=i)),i=u+"FullscreenElement",e(document[i])?r.fullscreenElement=i:(i=u+"FullScreenElement",e(document[i])&&(r.fullscreenElement=i)),i=u+"fullscreenchange",e(document["on"+i])&&("ms"===u&&(i="MSFullscreenChange"),r.fullscreenchange=i),i=u+"fullscreenerror",e(document["on"+i])&&("ms"===u&&(i="MSFullscreenError"),r.fullscreenerror=i)}return t},n.requestFullscreen=function(e){n.supportsFullscreen()&&e[r.requestFullscreen]()},n.exitFullscreen=function(){n.supportsFullscreen()&&document[r.exitFullscreen]()},n.isFullscreenEnabled=function(){return n.supportsFullscreen()?document[r.fullscreenEnabled]:void 0},n.getFullscreenElement=function(){return n.supportsFullscreen()?document[r.fullscreenElement]:void 0},n.isFullscreen=function(){return n.supportsFullscreen()?null!==n.getFullscreenElement():void 0},n.getFullscreenChangeEventName=function(){return n.supportsFullscreen()?r.fullscreenchange:void 0},n.getFullscreenErrorEventName=function(){return n.supportsFullscreen()?r.fullscreenerror:void 0},n}),define("Core/FeatureDetection",["./defined","./Fullscreen"],function(e,t){"use strict";function r(e){for(var t=e.split("."),r=0,n=t.length;n>r;++r)t[r]=parseInt(t[r],10);return t}function n(){if(!e(f)){var t=/ Chrome\/([\.0-9]+)/.exec(navigator.userAgent);null===t?f=!1:(f=!0,h=r(t[1]))}return f}function i(){return n()&&h}function a(){if(!e(d))if(n()||!/ Safari\/[\.0-9]+/.test(navigator.userAgent))d=!1;else{var t=/ Version\/([\.0-9]+)/.exec(navigator.userAgent);null===t?d=!1:(d=!0,m=r(t[1]))}return d}function o(){return a()&&m}function s(){if(!e(p)){var t=/ AppleWebKit\/([\.0-9]+)(\+?)/.exec(navigator.userAgent);null===t?p=!1:(p=!0,y=r(t[1]),y.isNightly=!!t[2])}return p}function u(){return s()&&y}function l(){if(!e(v)){var t;"Microsoft Internet Explorer"===navigator.appName?(t=/MSIE ([0-9]{1,}[\.0-9]{0,})/.exec(navigator.userAgent),null!==t&&(v=!0,g=r(t[1]))):"Netscape"===navigator.appName?(t=/Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/.exec(navigator.userAgent),null!==t&&(v=!0,g=r(t[1]))):v=!1}return v}function c(){return l()&&g}var f,h,d,m,p,y,v,g,E={isChrome:n,chromeVersion:i,isSafari:a,safariVersion:o,isWebkit:s,webkitVersion:u,isInternetExplorer:l,internetExplorerVersion:c};E.supportsFullscreen=function(){return t.supportsFullscreen()},E.supportsTypedArrays=function(){return"undefined"!=typeof ArrayBuffer};var w;return E.supportsTransferringArrayBuffers=function(){if(!e(w)){if(!E.supportsTypedArrays())return w=!1,void 0;var t=new ArrayBuffer(1);try{postMessage({value:t},[t]),w=!0}catch(r){w=!1}}return w},E}),define("Core/ComponentDatatype",["./defaultValue","./defined","./DeveloperError","./FeatureDetection","./Enumeration"],function(e,t,r,n,i){"use strict";if(!n.supportsTypedArrays())return{};var a={BYTE:new i(5120,"BYTE",{sizeInBytes:Int8Array.BYTES_PER_ELEMENT}),UNSIGNED_BYTE:new i(5121,"UNSIGNED_BYTE",{sizeInBytes:Uint8Array.BYTES_PER_ELEMENT}),SHORT:new i(5122,"SHORT",{sizeInBytes:Int16Array.BYTES_PER_ELEMENT}),UNSIGNED_SHORT:new i(5123,"UNSIGNED_SHORT",{sizeInBytes:Uint16Array.BYTES_PER_ELEMENT}),FLOAT:new i(5126,"FLOAT",{sizeInBytes:Float32Array.BYTES_PER_ELEMENT}),DOUBLE:new i(5130,"DOUBLE",{sizeInBytes:Float64Array.BYTES_PER_ELEMENT})};return a.validate=function(e){return t(e)&&t(e.value)&&(e.value===a.BYTE.value||e.value===a.UNSIGNED_BYTE.value||e.value===a.SHORT.value||e.value===a.UNSIGNED_SHORT.value||e.value===a.FLOAT.value||e.value===a.DOUBLE.value)},a.createTypedArray=function(e,t){switch(e.value){case a.BYTE.value:return new Int8Array(t);case a.UNSIGNED_BYTE.value:return new Uint8Array(t);case a.SHORT.value:return new Int16Array(t);case a.UNSIGNED_SHORT.value:return new Uint16Array(t);case a.FLOAT.value:return new Float32Array(t);case a.DOUBLE.value:return new Float64Array(t);default:throw new r("componentDatatype is not a valid enumeration value.")}},a.createArrayBufferView=function(t,n,i,o){switch(i=e(i,0),o=e(o,(n.byteLength-i)/t.sizeInBytes),t.value){case a.BYTE.value:return new Int8Array(n,i,o);case a.UNSIGNED_BYTE.value:return new Uint8Array(n,i,o);case a.SHORT.value:return new Int16Array(n,i,o);case a.UNSIGNED_SHORT.value:return new Uint16Array(n,i,o);case a.FLOAT.value:return new Float32Array(n,i,o);case a.DOUBLE.value:return new Float64Array(n,i,o);default:throw new r("componentDatatype is not a valid enumeration value.")}},a}),define("Core/CornerType",["../Core/Enumeration"],function(e){"use strict";var t={ROUNDED:new e(0,"ROUNDED"),MITERED:new e(1,"MITERED"),BEVELED:new e(2,"BEVELED")};return t}),define("Core/Geometry",["./defaultValue","./defined","./DeveloperError"],function(e,t,r){"use strict";var n=function(t){t=e(t,e.EMPTY_OBJECT),this.attributes=t.attributes,this.indices=t.indices,this.primitiveType=t.primitiveType,this.boundingSphere=t.boundingSphere};return n.computeNumberOfVertices=function(e){var n=-1;for(var i in e.attributes)if(e.attributes.hasOwnProperty(i)&&t(e.attributes[i])&&t(e.attributes[i].values)){var a=e.attributes[i],o=a.values.length/a.componentsPerAttribute;if(n!==o&&-1!==n)throw new r("All attribute lists must have the same number of attributes.");n=o}return n},n}),define("Core/GeometryAttribute",["./defaultValue","./defined","./DeveloperError"],function(e){"use strict";var t=function(t){t=e(t,e.EMPTY_OBJECT),this.componentDatatype=t.componentDatatype,this.componentsPerAttribute=t.componentsPerAttribute,this.normalize=e(t.normalize,!1),this.values=t.values};return t}),define("Core/GeometryAttributes",["./defaultValue"],function(e){"use strict";var t=function(t){t=e(t,e.EMPTY_OBJECT),this.position=t.position,this.normal=t.normal,this.st=t.st,this.binormal=t.binormal,this.tangent=t.tangent,this.color=t.color};return t}),define("Core/barycentricCoordinates",["./Cartesian2","./Cartesian3","./defined","./DeveloperError"],function(e,t,r){"use strict";var n=new t,i=new t,a=new t,o=function(o,s,u,l,c){r(c)||(c=new t);var f,h,d,m,p,y,v,g;r(s.z)?(f=t.subtract(u,s,n),h=t.subtract(l,s,i),d=t.subtract(o,s,a),m=t.dot(f,f),p=t.dot(f,h),y=t.dot(f,d),v=t.dot(h,h),g=t.dot(h,d)):(f=e.subtract(u,s,n),h=e.subtract(l,s,i),d=e.subtract(o,s,a),m=e.dot(f,f),p=e.dot(f,h),y=e.dot(f,d),v=e.dot(h,h),g=e.dot(h,d));var E=1/(m*v-p*p);return c.y=(v*y-p*g)*E,c.z=(m*g-p*y)*E,c.x=1-c.y-c.z,c};return o}),define("Core/EncodedCartesian3",["./Cartesian3","./defined","./DeveloperError"],function(e,t){"use strict";var r=function(){this.high=e.clone(e.ZERO),this.low=e.clone(e.ZERO)};r.encode=function(e,r){t(r)||(r={high:0,low:0});var n;return e>=0?(n=65536*Math.floor(e/65536),r.high=n,r.low=e-n):(n=65536*Math.floor(-e/65536),r.high=-n,r.low=e+n),r};var n={high:0,low:0};r.fromCartesian=function(e,i){t(i)||(i=new r);var a=i.high,o=i.low;return r.encode(e.x,n),a.x=n.high,o.x=n.low,r.encode(e.y,n),a.y=n.high,o.y=n.low,r.encode(e.z,n),a.z=n.high,o.z=n.low,i};var i=new r;return r.writeElements=function(e,t,n){r.fromCartesian(e,i);var a=i.high,o=i.low;t[n]=a.x,t[n+1]=a.y,t[n+2]=a.z,t[n+3]=o.x,t[n+4]=o.y,t[n+5]=o.z},r}),define("Core/QuadraticRealPolynomial",["./DeveloperError","./Math"],function(e,t){"use strict";function r(e,r,n){var i=e+r;return t.sign(e)!==t.sign(r)&&Math.abs(i/Math.max(Math.abs(e),Math.abs(r)))o&&o/ss&&s/oa)return[];var u=Math.sqrt(a);return[-u,u]}if(0===i)return a=-n/e,0>a?[a,0]:[0,a];var l=n*n,c=4*e*i,f=r(l,-c,t.EPSILON14);if(0>f)return[];var h=-.5*r(n,t.sign(n)*Math.sqrt(f),t.EPSILON14);return n>0?[h/e,i/h]:[i/h,h/e]},n}),define("Core/CubicRealPolynomial",["./DeveloperError","./QuadraticRealPolynomial"],function(e,t){"use strict";function r(e,t,r,n){var i,a,o=e,s=t/3,u=r/3,l=n,c=o*u,f=s*l,h=s*s,d=u*u,m=o*u-h,p=o*l-s*u,y=s*l-d,v=4*m*y-p*p;if(0>v){var g,E,w;h*f>=c*d?(g=o,E=m,w=-2*s*m+o*p):(g=l,E=y,w=-l*p+2*u*y);var S=0>w?-1:1,x=-S*Math.abs(g)*Math.sqrt(-v);a=-w+x;var C=a/2,T=0>C?-Math.pow(-C,1/3):Math.pow(C,1/3),O=a===x?-T:-E/T;return i=0>=E?T+O:-w/(T*T+O*O+E),h*f>=c*d?[(i-s)/o]:[-l/(i+u)]}var A=m,M=-2*s*m+o*p,D=y,I=-l*p+2*u*y,_=Math.sqrt(v),b=Math.sqrt(3)/2,N=Math.abs(Math.atan2(o*_,-M)/3);i=2*Math.sqrt(-A);var P=Math.cos(N);a=i*P;var R=i*(-P/2-b*Math.sin(N)),z=a+R>2*s?a-s:R-s,L=o,F=z/L;N=Math.abs(Math.atan2(l*_,-I)/3),i=2*Math.sqrt(-D),P=Math.cos(N),a=i*P,R=i*(-P/2-b*Math.sin(N));var U=-l,B=2*u>a+R?a+u:R+u,q=U/B,G=L*B,W=-z*B-L*U,Y=z*U,V=(u*W-s*Y)/(-s*W+u*G);return V>=F?q>=F?q>=V?[F,V,q]:[F,q,V]:[q,F,V]:q>=F?[V,F,q]:q>=V?[V,q,F]:[q,V,F]}var n={};return n.discriminant=function(e,t,r,n){var i=e*e,a=t*t,o=r*r,s=n*n,u=18*e*t*r*n+a*o-27*i*s-4*(e*o*r+a*t*n);return u},n.realRoots=function(e,n,i,a){var o,s;if(0===e)return t.realRoots(n,i,a);if(0===n){if(0===i){if(0===a)return[0,0,0];s=-a/e;var u=0>s?-Math.pow(-s,1/3):Math.pow(s,1/3);return[u,u,u]}return 0===a?(o=t.realRoots(e,0,i),0===o.Length?[0]:[o[0],0,o[1]]):r(e,0,i,a)}return 0===i?0===a?(s=-n/e,0>s?[s,0,0]:[0,0,s]):r(e,n,0,a):0===a?(o=t.realRoots(e,n,i),0===o.length?[0]:o[1]<=0?[o[0],o[1],0]:o[0]>=0?[0,o[0],o[1]]:[o[0],0,o[1]]):r(e,n,i,a)},n}),define("Core/QuarticRealPolynomial",["./DeveloperError","./Math","./CubicRealPolynomial","./QuadraticRealPolynomial"],function(e,t,r,n){"use strict";function i(e,i,a,o){var s=e*e,u=i-3*s/8,l=a-i*e/2+s*e/8,c=o-a*e/4+i*s/16-3*s*s/256,f=r.realRoots(1,2*u,u*u-4*c,-l*l);if(f.length>0){var h=-e/4,d=f[f.length-1];if(Math.abs(d)=0&&v>=0){var g=Math.sqrt(y),E=Math.sqrt(v);return[h-E,h-g,h+g,h+E]}if(y>=0&&0>v)return p=Math.sqrt(y),[h-p,h+p];if(0>y&&v>=0)return p=Math.sqrt(v),[h-p,h+p]}return[]}if(d>0){var w=Math.sqrt(d),S=(u+d-l/w)/2,x=(u+d+l/w)/2,C=n.realRoots(1,w,S),T=n.realRoots(1,-w,x);return 0!==C.length?(C[0]+=h,C[1]+=h,0!==T.length?(T[0]+=h,T[1]+=h,C[1]<=T[0]?[C[0],C[1],T[0],T[1]]:T[1]<=C[0]?[T[0],T[1],C[0],C[1]]:C[0]>=T[0]&&C[1]<=T[1]?[T[0],C[0],C[1],T[1]]:T[0]>=C[0]&&T[1]<=C[1]?[C[0],T[0],T[1],C[1]]:C[0]>T[0]&&C[0]0){var m,p,y=d[0],v=i-y,g=v*v,E=e/2,w=v/2,S=g-4*o,x=g+4*Math.abs(o),C=l-4*y,T=l+4*Math.abs(y);if(0>y||C*x>S*T){var O=Math.sqrt(C);m=O/2,p=0===O?0:(e*w-a)/O}else{var A=Math.sqrt(S);m=0===A?0:(e*w-a)/A,p=A/2}var M,D;0===E&&0===m?(M=0,D=0):t.sign(E)===t.sign(m)?(M=E+m,D=y/M):(D=E-m,M=y/D);var I,_;0===w&&0===p?(I=0,_=0):t.sign(w)===t.sign(p)?(I=w+p,_=o/I):(_=w-p,I=o/_);var b=n.realRoots(1,M,I),N=n.realRoots(1,D,_);if(0!==b.length)return 0!==N.length?b[1]<=N[0]?[b[0],b[1],N[0],N[1]]:N[1]<=b[0]?[N[0],N[1],b[0],b[1]]:b[0]>=N[0]&&b[1]<=N[1]?[N[0],b[0],b[1],N[1]]:N[0]>=b[0]&&N[1]<=b[1]?[b[0],N[0],N[1],b[1]]:b[0]>N[0]&&b[0]l?1:0;switch(d+=0>c?d+1:d,d+=0>f?d+1:d,d+=0>h?d+1:d){case 0:return i(l,c,f,h);case 1:return a(l,c,f,h);case 2:return a(l,c,f,h);case 3:return i(l,c,f,h);case 4:return i(l,c,f,h);case 5:return a(l,c,f,h);case 6:return i(l,c,f,h);case 7:return i(l,c,f,h);case 8:return a(l,c,f,h);case 9:return i(l,c,f,h);case 10:return i(l,c,f,h);case 11:return a(l,c,f,h);case 12:return i(l,c,f,h);case 13:return i(l,c,f,h);case 14:return i(l,c,f,h);case 15:return i(l,c,f,h);default:return void 0}},o}),define("Core/IntersectionTests",["./defined","./DeveloperError","./Math","./Cartesian3","./Cartographic","./Matrix3","./QuadraticRealPolynomial","./QuarticRealPolynomial"],function(e,t,r,n,i,a,o,s){"use strict";function u(e,t,n){var i=e+t;return r.sign(e)!==r.sign(t)&&Math.abs(i/Math.max(Math.abs(e),Math.abs(t)))R;++R){var z,L=f[R],F=L*L,U=Math.max(1-F,0),B=Math.sqrt(U);z=r.sign(m)===r.sign(y)?u(m*F+y,p*L,r.EPSILON12):r.sign(y)===r.sign(p*L)?u(m*F,p*L+y,r.EPSILON12):u(m*F+p*L,y,r.EPSILON12);var q=u(v*L,g,r.EPSILON15),G=z*q;0>G?E.push(new n(l,c*L,c*B)):G>0?E.push(new n(l,c*L,c*-B)):0!==B?(E.push(new n(l,c*L,c*-B)),E.push(new n(l,c*L,c*B)),++R):E.push(new n(l,c*L,c*B))}return E}var c={};c.rayPlane=function(e,t,i){var a=e.origin,o=e.direction,s=t.normal,u=n.dot(s,o);if(Math.abs(u)l?void 0:(i=n.multiplyByScalar(o,l,i),n.add(a,i,i)) +};var f=new n,h=new n;c.rayEllipsoid=function(e,t){var r,i,a,o,s,u=t.oneOverRadii,l=n.multiplyComponents(u,e.origin,f),c=n.multiplyComponents(u,e.direction,h),d=n.magnitudeSquared(l),m=n.dot(l,c);if(d>1){if(m>=0)return void 0;var p=m*m;if(r=d-1,i=n.magnitudeSquared(c),a=i*r,a>p)return void 0;if(p>a){o=m*m-a,s=-m+Math.sqrt(o);var y=s/i,v=r/s;return v>y?{start:y,stop:v}:{start:v,stop:y}}var g=Math.sqrt(r/i);return{start:g,stop:g}}return 1>d?(r=d-1,i=n.magnitudeSquared(c),a=i*r,o=m*m-a,s=-m+Math.sqrt(o),{start:0,stop:s/i}):0>m?(i=n.magnitudeSquared(c),{start:0,stop:-m/i}):void 0},c.grazingAltitudeLocation=function(t,o){var s=t.origin,u=t.direction,c=o.geodeticSurfaceNormal(s);if(n.dot(u,c)>=0)return s;var f,h,d=e(this.rayEllipsoid(t,o)),m=o.transformPositionToScaledSpace(u),p=n.normalize(m),y=n.mostOrthogonalAxis(m),v=n.normalize(n.cross(y,p)),g=n.normalize(n.cross(p,v)),E=new a(p.x,v.x,g.x,p.y,v.y,g.y,p.z,v.z,g.z),w=a.transpose(E),S=a.fromScale(o.radii),x=a.fromScale(o.oneOverRadii),C=new a(0,u.z,-u.y,-u.z,0,u.x,u.y,-u.x,0),T=a.multiply(a.multiply(w,x),C),O=a.multiply(a.multiply(T,S),E),A=a.multiplyByVector(T,s),M=l(O,n.negate(A),0,0,1),D=M.length;if(D>0){for(var I=n.ZERO,_=Number.NEGATIVE_INFINITY,b=0;D>b;++b){f=a.multiplyByVector(S,a.multiplyByVector(E,M[b]));var N=n.normalize(n.subtract(f,s)),P=n.dot(N,u);P>_&&(_=P,I=f)}var R=o.cartesianToCartographic(I);return _=r.clamp(_,0,1),h=n.magnitude(n.subtract(I,s))*Math.sqrt(1-_*_),h=d?-h:h,o.cartographicToCartesian(new i(R.longitude,R.latitude,h))}return void 0};var d=new n;return c.lineSegmentPlane=function(t,i,a,o){var s=n.subtract(i,t,d),u=a.normal,l=n.dot(u,s);if(Math.abs(l)f||f>1?void 0:(e(o)||(o=new n),n.multiplyByScalar(s,f,o),n.add(t,o,o),o)},c.trianglePlaneIntersection=function(e,t,r,i){var a=i.normal,o=i.distance,s=n.dot(a,e)+o<0,u=n.dot(a,t)+o<0,l=n.dot(a,r)+o<0,f=0;f+=s?1:0,f+=u?1:0,f+=l?1:0;var h,d;if((1===f||2===f)&&(h=new n,d=new n),1===f){if(s)return c.lineSegmentPlane(e,t,i,h),c.lineSegmentPlane(e,r,i,d),{positions:[e,t,r,h,d],indices:[0,3,4,1,2,4,1,4,3]};if(u)return c.lineSegmentPlane(t,r,i,h),c.lineSegmentPlane(t,e,i,d),{positions:[e,t,r,h,d],indices:[1,3,4,2,0,4,2,4,3]};if(l)return c.lineSegmentPlane(r,e,i,h),c.lineSegmentPlane(r,t,i,d),{positions:[e,t,r,h,d],indices:[2,3,4,0,1,4,0,4,3]}}else if(2===f){if(!s)return c.lineSegmentPlane(t,e,i,h),c.lineSegmentPlane(r,e,i,d),{positions:[e,t,r,h,d],indices:[1,2,4,1,4,3,0,3,4]};if(!u)return c.lineSegmentPlane(r,t,i,h),c.lineSegmentPlane(e,t,i,d),{positions:[e,t,r,h,d],indices:[2,0,4,2,4,3,1,3,4]};if(!l)return c.lineSegmentPlane(e,r,i,h),c.lineSegmentPlane(t,r,i,d),{positions:[e,t,r,h,d],indices:[0,1,4,0,4,3,2,3,4]}}return void 0},c}),define("Core/Plane",["./Cartesian3","./defined","./DeveloperError"],function(e,t){"use strict";var r=function(t,r){this.normal=e.clone(t),this.distance=r};return r.fromPointNormal=function(n,i,a){var o=-e.dot(i,n);return t(a)?(e.clone(i,a.normal),a.distance=o,a):new r(i,o)},r.getPointDistance=function(t,r){return e.dot(t.normal,r)+t.distance},r.prototype.getPointDistance=function(e){return r.getPointDistance(this,e)},r}),define("Core/IndexDatatype",["./defined","./DeveloperError","./Math"],function(e,t,r){"use strict";var n={UNSIGNED_BYTE:5121,UNSIGNED_SHORT:5123,UNSIGNED_INT:5125};return n.getSizeInBytes=function(e){switch(e){case n.UNSIGNED_BYTE:return Uint8Array.BYTES_PER_ELEMENT;case n.UNSIGNED_SHORT:return Uint16Array.BYTES_PER_ELEMENT;case n.UNSIGNED_INT:return Uint32Array.BYTES_PER_ELEMENT}},n.validate=function(t){return e(t)&&(t===n.UNSIGNED_BYTE||t===n.UNSIGNED_SHORT||t===n.UNSIGNED_INT)},n.createTypedArray=function(e,t){return e>r.SIXTY_FOUR_KILOBYTES?new Uint32Array(t):new Uint16Array(t)},n}),define("Core/PrimitiveType",[],function(){"use strict";var e={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,validate:function(t){return t===e.POINTS||t===e.LINES||t===e.LINE_LOOP||t===e.LINE_STRIP||t===e.TRIANGLES||t===e.TRIANGLE_STRIP||t===e.TRIANGLE_FAN}};return e}),define("Core/Tipsify",["./defaultValue","./defined","./DeveloperError"],function(e,t){"use strict";var r={};return r.calculateACMR=function(r){r=e(r,e.EMPTY_OBJECT);var n=r.indices,i=r.maximumIndex,a=e(r.cacheSize,24),o=n.length;if(!t(i)){i=0;for(var s=0,u=n[s];o>s;)u>i&&(i=u),++s,u=n[s]}for(var l=[],c=0;i+1>c;c++)l[c]=0;for(var f=a+1,h=0;o>h;++h)f-l[n[h]]>a&&(l[n[h]]=f,++f);return(f-a+1)/(o/3)},r.tipsify=function(r){function n(e,t,r,n){for(;t.length>=1;){var i=t[t.length-1];if(t.splice(t.length-1,1),e[i].numLiveTriangles>0)return i}for(;n>a;){if(e[a].numLiveTriangles>0)return++a,a-1;++a}return-1}function i(e,t,r,i,a,o,s){for(var u,l=-1,c=-1,f=0;fc||-1===c)&&(c=u,l=h)),++f}return-1===l?n(i,o,e,s):l}r=e(r,e.EMPTY_OBJECT);var a,o=r.indices,s=r.maximumIndex,u=e(r.cacheSize,24),l=o.length,c=0,f=0,h=o[f],d=l;if(t(s))c=s+1;else{for(;d>f;)h>c&&(c=h),++f,h=o[f];if(-1===c)return 0;++c}for(var m=[],p=0;c>p;p++)m[p]={numLiveTriangles:0,timeStamp:0,vertexTriangles:[]};f=0;for(var y=0;d>f;)m[o[f]].vertexTriangles.push(y),++m[o[f]].numLiveTriangles,m[o[f+1]].vertexTriangles.push(y),++m[o[f+1]].numLiveTriangles,m[o[f+2]].vertexTriangles.push(y),++m[o[f+2]].numLiveTriangles,++y,f+=3;var v=0,g=u+1;a=1;var E,w,S=[],x=[],C=0,T=[],O=l/3,A=[];for(p=0;O>p;p++)A[p]=!1;for(var M,D;-1!==v;){S=[],w=m[v],D=w.vertexTriangles.length;for(var I=0;D>I;++I)if(y=w.vertexTriangles[I],!A[y]){A[y]=!0,f=y+y+y;for(var _=0;3>_;++_)M=o[f],S.push(M),x.push(M),T[C]=M,++C,E=m[M],--E.numLiveTriangles,g-E.timeStamp>u&&(E.timeStamp=g,++g),++f}v=i(o,u,S,m,g,x,c)}return T},r}),define("Core/GeometryPipeline",["./barycentricCoordinates","./defaultValue","./defined","./DeveloperError","./Cartesian2","./Cartesian3","./Cartesian4","./Cartographic","./EncodedCartesian3","./Intersect","./IntersectionTests","./Math","./Matrix3","./Matrix4","./Plane","./GeographicProjection","./ComponentDatatype","./IndexDatatype","./PrimitiveType","./Tipsify","./BoundingSphere","./Geometry","./GeometryAttribute"],function(e,t,r,n,i,a,o,s,u,l,c,f,h,d,m,p,y,v,g,E,w,S,x){"use strict";function C(e,t,r,n,i){e[t++]=r,e[t++]=n,e[t++]=n,e[t++]=i,e[t++]=i,e[t]=r}function T(e){for(var t=e.length,r=6*(t/3),n=v.createTypedArray(t,r),i=0,a=0;t>a;a+=3,i+=6)C(n,i,e[a],e[a+1],e[a+2]);return n}function O(e){var t=e.length;if(t>=3){var r=6*(t-2),n=v.createTypedArray(t,r);C(n,0,e[0],e[1],e[2]);for(var i=6,a=3;t>a;++a,i+=6)C(n,i,e[a-1],e[a],e[a-2]);return n}return new Uint16Array}function A(e){if(e.length>0){for(var t=e.length-1,r=6*(t-1),n=v.createTypedArray(t,r),i=e[0],a=0,o=1;t>o;++o,a+=6)C(n,a,i,e[o],e[o+1]);return n}return new Uint16Array}function M(e){var t={};for(var n in e)if(e.hasOwnProperty(n)&&r(e[n])&&r(e[n].values)){var i=e[n];t[n]=new x({componentDatatype:i.componentDatatype,componentsPerAttribute:i.componentsPerAttribute,normalize:i.normalize,values:[]})}return t}function D(e,t,n){for(var i in t)if(t.hasOwnProperty(i)&&r(t[i])&&r(t[i].values))for(var a=t[i],o=0;oo;o+=3)a.unpack(n,o,Z),d.multiplyByPoint(e,Z,Z),a.pack(Z,n,o)}function _(e,t){if(r(t))for(var n=t.values,i=n.length,o=0;i>o;o+=3)a.unpack(n,o,Z),h.multiplyByVector(e,Z,Z),Z=a.normalize(Z,Z),a.pack(Z,n,o)}function b(e){var t,n=e.length,i={},a=e[0].geometry.attributes;for(t in a)if(a.hasOwnProperty(t)&&r(a[t])&&r(a[t].values)){for(var o=a[t],s=o.values.length,u=!0,l=1;n>l;++l){var c=e[l].geometry.attributes[t];if(!r(c)||o.componentDatatype.value!==c.componentDatatype.value||o.componentsPerAttribute!==c.componentsPerAttribute||o.normalize!==c.normalize){u=!1;break}s+=c.values.length}u&&(i[t]=new x({componentDatatype:o.componentDatatype,componentsPerAttribute:o.componentsPerAttribute,normalize:o.normalize,values:y.createTypedArray(o.componentDatatype,s)}))}return i}function N(e){if(r(e.indices))return e;for(var t=S.computeNumberOfVertices(e),n=v.createTypedArray(t,t),i=0;t>i;++i)n[i]=i;return e.indices=n,e}function P(e){var t=S.computeNumberOfVertices(e),r=v.createTypedArray(t,3*(t-2));r[0]=1,r[1]=0,r[2]=2;for(var n=3,i=3;t>i;++i)r[n++]=i-1,r[n++]=0,r[n++]=i;return e.indices=r,e.primitiveType=g.TRIANGLES,e}function R(e){var t=S.computeNumberOfVertices(e),r=v.createTypedArray(t,3*(t-2));r[0]=0,r[1]=1,r[2]=2,t>3&&(r[3]=0,r[4]=2,r[5]=3);for(var n=6,i=3;t-1>i;i+=2)r[n++]=i,r[n++]=i-1,r[n++]=i+1,t>i+2&&(r[n++]=i,r[n++]=i+1,r[n++]=i+2);return e.indices=r,e.primitiveType=g.TRIANGLES,e}function z(e){if(r(e.indices))return e;for(var t=S.computeNumberOfVertices(e),n=v.createTypedArray(t,t),i=0;t>i;++i)n[i]=i;return e.indices=n,e}function L(e){var t=S.computeNumberOfVertices(e),r=v.createTypedArray(t,2*(t-1));r[0]=0,r[1]=1;for(var n=2,i=2;t>i;++i)r[n++]=i-1,r[n++]=i;return e.indices=r,e.primitiveType=g.LINES,e}function F(e){var t=S.computeNumberOfVertices(e),r=v.createTypedArray(t,2*t);r[0]=0,r[1]=1;for(var n=2,i=2;t>i;++i)r[n++]=i-1,r[n++]=i;return r[n++]=t-1,r[n]=0,e.indices=r,e.primitiveType=g.LINES,e}function U(e){switch(e.primitiveType){case g.TRIANGLE_FAN:return P(e);case g.TRIANGLE_STRIP:return R(e);case g.TRIANGLES:return N(e);case g.LINE_STRIP:return L(e);case g.LINE_LOOP:return F(e);case g.LINES:return z(e)}return e}function B(e,t){Math.abs(e.y)=0||t.x>=0||r.x>=0)return void 0;var n=e.y<0,i=t.y<0,a=r.y<0;B(e,n),B(t,i),B(r,a);var o=0;o+=n?1:0,o+=i?1:0,o+=a?1:0;var s=ct.indices;1===o?(s[1]=3,s[2]=4,s[5]=6,s[7]=6,s[8]=5,n?(q(e,t,ot,ut),q(e,r,st,lt),s[0]=0,s[3]=1,s[4]=2,s[6]=1):i?(q(t,r,ot,ut),q(t,e,st,lt),s[0]=1,s[3]=2,s[4]=0,s[6]=2):a&&(q(r,e,ot,ut),q(r,t,st,lt),s[0]=2,s[3]=0,s[4]=1,s[6]=0)):2===o&&(s[2]=4,s[4]=4,s[5]=3,s[7]=5,s[8]=6,n?i?a||(q(r,e,ot,ut),q(r,t,st,lt),s[0]=0,s[1]=1,s[3]=0,s[6]=2):(q(t,r,ot,ut),q(t,e,st,lt),s[0]=2,s[1]=0,s[3]=2,s[6]=1):(q(e,t,ot,ut),q(e,r,st,lt),s[0]=1,s[1]=2,s[3]=1,s[6]=0));var u=ct.positions;return u[0]=e,u[1]=t,u[2]=r,ct.length=3,(1===o||2===o)&&(u[3]=ot,u[4]=st,u[5]=ut,u[6]=lt,ct.length=7),ct}function W(t,n,o,s,u,l,c,f){if(r(u)||r(l)||r(c)||r(f)){var h,d,m,p,y,v,g,E,w,S,x,C,T,O,A,M,D,I,_=s.positions,b=_[0],N=_[1],P=_[2];r(u)&&(h=a.fromArray(u,3*t),d=a.fromArray(u,3*n),m=a.fromArray(u,3*o)),r(l)&&(p=a.fromArray(l,3*t),y=a.fromArray(l,3*n),v=a.fromArray(l,3*o)),r(c)&&(g=a.fromArray(c,3*t),E=a.fromArray(c,3*n),w=a.fromArray(c,3*o)),r(f)&&(S=i.fromArray(f,2*t),x=i.fromArray(f,2*n),C=i.fromArray(f,2*o));for(var R=3;R<_.length;++R){var z=_[R],L=e(z,b,N,P);if(r(u)){T=a.multiplyByScalar(h,L.x,T),O=a.multiplyByScalar(d,L.y,O),A=a.multiplyByScalar(m,L.z,A);var F=a.add(T,O);a.add(F,A,F),a.normalize(F,F),u.push(F.x,F.y,F.z)}if(r(l)){T=a.multiplyByScalar(p,L.x,T),O=a.multiplyByScalar(y,L.y,O),A=a.multiplyByScalar(v,L.z,A);var U=a.add(T,O);a.add(U,A,U),a.normalize(U,U),l.push(U.x,U.y,U.z)}if(r(c)){T=a.multiplyByScalar(g,L.x,T),O=a.multiplyByScalar(E,L.y,O),A=a.multiplyByScalar(w,L.z,A);var B=a.add(T,O);a.add(B,A,B),a.normalize(B,B),c.push(B.x,B.y,B.z)}if(r(f)){M=i.multiplyByScalar(S,L.x,M),D=i.multiplyByScalar(x,L.y,D),I=i.multiplyByScalar(C,L.z,I);var q=i.add(M,D);i.add(q,I,q),f.push(q.x,q.y)}}}}function Y(e){for(var t=e.attributes,n=t.position.values,i=r(t.normal)?t.normal.values:void 0,o=r(t.binormal)?t.binormal.values:void 0,s=r(t.tangent)?t.tangent.values:void 0,u=r(t.st)?t.st.values:void 0,l=e.indices,c=Array.prototype.slice.call(n,0),f=r(i)?Array.prototype.slice.call(i,0):void 0,h=r(o)?Array.prototype.slice.call(o,0):void 0,d=r(s)?Array.prototype.slice.call(s,0):void 0,m=r(u)?Array.prototype.slice.call(u,0):void 0,p=[],g=l.length,E=0;g>E;E+=3){var w=l[E],x=l[E+1],C=l[E+2],T=a.fromArray(n,3*w),O=a.fromArray(n,3*x),A=a.fromArray(n,3*C),M=G(T,O,A);if(r(M))if(c[3*w+1]=M.positions[0].y,c[3*x+1]=M.positions[1].y,c[3*C+1]=M.positions[2].y,M.length>3){for(var D=c.length/3,I=0;I_?p.push(l[E+_]):p.push(_-3+D)}for(var b=3;bh;h+=2){var d=i[h],p=i[h+1],y=a.fromArray(n,3*d),g=a.fromArray(n,3*p);if(Math.abs(y.y)c;c+=3)u[l++]=a[c],u[l++]=a[c+1],u[l++]=a[c+2],u[l++]=a[c]+o[c]*i,u[l++]=a[c+1]+o[c+1]*i,u[l++]=a[c+2]+o[c+2]*i;var f,h=e.boundingSphere;return r(h)&&(f=new w(h.center,h.radius+i)),new S({attributes:{position:new x({componentDatatype:y.DOUBLE,componentsPerAttribute:3,values:u})},primitiveType:g.LINES,boundingSphere:f})},j.createAttributeLocations=function(e){var t,n=["position","positionHigh","positionLow","position3DHigh","position3DLow","position2DHigh","position2DLow","pickColor","normal","st","binormal","tangent"],i=e.attributes,a={},o=0,s=n.length;for(t=0;s>t;++t){var u=n[t];r(i[u])&&(a[u]=o++)}for(var l in i)i.hasOwnProperty(l)&&!r(a[l])&&(a[l]=o++);return a},j.reorderForPreVertexCache=function(e){var t=S.computeNumberOfVertices(e),n=e.indices;if(r(n)){for(var i=new Int32Array(t),a=0;t>a;a++)i[a]=-1;for(var o,s=n,u=s.length,l=v.createTypedArray(t,u),c=0,f=0,h=0;u>c;)o=i[s[c]],-1!==o?l[f]=o:(o=s[c],i[o]=h,l[f]=h,++h),++c,++f;e.indices=l;var d=e.attributes;for(var m in d)if(d.hasOwnProperty(m)&&r(d[m])&&r(d[m].values)){for(var p=d[m],g=p.values,E=0,w=p.componentsPerAttribute,x=y.createTypedArray(p.componentDatatype,h*w);t>E;){var C=i[E];if(-1!==C)for(a=0;w>a;a++)x[w*C+a]=g[w*E+a];++E}p.values=x}}return e},j.reorderForPostVertexCache=function(e,t){var n=e.indices;if(e.primitiveType===g.TRIANGLES&&r(n)){for(var i=n.length,a=0,o=0;i>o;o++)n[o]>a&&(a=n[o]);e.indices=E.tipsify({indices:n,maximumIndex:a,cacheSize:t})}return e},j.fitToUnsignedShortIndices=function(e){var t=[],n=S.computeNumberOfVertices(e);if(r(e.indices)&&n>f.SIXTY_FOUR_KILOBYTES){var i,a=[],o=[],s=0,u=M(e.attributes),l=e.indices,c=l.length;e.primitiveType===g.TRIANGLES?i=3:e.primitiveType===g.LINES?i=2:e.primitiveType===g.POINTS&&(i=1);for(var h=0;c>h;h+=i){for(var d=0;i>d;++d){var m=l[h+d],p=a[m];r(p)||(p=s++,a[m]=p,D(u,e.attributes,m)),o.push(p)}s+i>f.SIXTY_FOUR_KILOBYTES&&(t.push(new S({attributes:u,indices:o,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere})),a=[],o=[],s=0,u=M(e.attributes))}0!==o.length&&t.push(new S({attributes:u,indices:o,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere}))}else t.push(e);return t};var H=new a,k=new s;j.projectTo2D=function(e,t,i,o,s){var u=e.attributes[t];s=r(s)?s:new p;for(var l=s.ellipsoid,c=u.values,f=new Float64Array(c.length),h=0,d=0;dc;++c)u.encode(a[c],K),s[c]=K.high,l[c]=K.low;var f=i.componentsPerAttribute;return e.attributes[r]=new x({componentDatatype:y.FLOAT,componentsPerAttribute:f,values:s}),e.attributes[n]=new x({componentDatatype:y.FLOAT,componentsPerAttribute:f,values:l}),delete e.attributes[t],e};var Z=new a,X=new d,J=new h;j.transformToWorldCoordinates=function(e){var t=e.modelMatrix;if(d.equals(t,d.IDENTITY))return e;var n=e.geometry.attributes;I(t,n.position),I(t,n.prevPosition),I(t,n.nextPosition),(r(n.normal)||r(n.binormal)||r(n.tangent))&&(d.inverse(t,X),d.transpose(X,X),d.getRotation(X,J),_(J,n.normal),_(J,n.binormal),_(J,n.tangent));var i=e.geometry.boundingSphere;return r(i)&&(e.geometry.boundingSphere=w.transform(i,t,i)),e.modelMatrix=d.clone(d.IDENTITY),e},j.combine=function(e){var t,n,i,o,s=e.length;e[0].modelMatrix;var u,l,c,f=r(e[0].geometry.indices),h=e[0].geometry.primitiveType,d=b(e);for(t in d)if(d.hasOwnProperty(t))for(u=d[t].values,o=0,n=0;s>n;++n)for(l=e[n].geometry.attributes[t].values,c=l.length,i=0;c>i;++i)u[o++]=l[i];var m;if(f){var p=0;for(n=0;s>n;++n)p+=e[n].geometry.indices.length;var y=S.computeNumberOfVertices(new S({attributes:d,primitiveType:g.POINTS})),E=v.createTypedArray(y,p),x=0,C=0;for(n=0;s>n;++n){var T=e[n].geometry.indices,O=T.length;for(o=0;O>o;++o)E[x++]=C+T[o];C+=S.computeNumberOfVertices(e[n].geometry)}m=E}var A,M=new a,D=0;for(n=0;s>n;++n){if(A=e[n].geometry.boundingSphere,!r(A)){M=void 0;break}a.add(A.center,M,M)}if(r(M))for(a.divideByScalar(M,s,M),n=0;s>n;++n){A=e[n].geometry.boundingSphere;var I=a.magnitude(a.subtract(A.center,M))+A.radius;I>D&&(D=I)}return new S({attributes:d,indices:m,primitiveType:h,boundingSphere:r(M)?new w(M,D):void 0})};var Q=new a,$=new a,et=new a,tt=new a;j.computeNormal=function(e){for(var t=e.indices,r=e.attributes,n=r.position.values,i=r.position.values.length/3,o=t.length,s=new Array(i),u=new Array(o/3),l=new Array(o),c=0;i>c;c++)s[c]={indexOffset:0,count:0,currentCount:0};var f=0;for(c=0;o>c;c+=3){var h=t[c],d=t[c+1],m=t[c+2],p=3*h,v=3*d,g=3*m;$.x=n[p],$.y=n[p+1],$.z=n[p+2],et.x=n[v],et.y=n[v+1],et.z=n[v+2],tt.x=n[g],tt.y=n[g+1],tt.z=n[g+2],s[h].count++,s[d].count++,s[m].count++,a.subtract(et,$,et),a.subtract(tt,$,tt),u[f]=a.cross(et,tt),f++}var E=0;for(c=0;i>c;c++)s[c].indexOffset+=E,E+=s[c].count;f=0;var w;for(c=0;o>c;c+=3){w=s[t[c]];var S=w.indexOffset+w.currentCount;l[S]=f,w.currentCount++,w=s[t[c+1]],S=w.indexOffset+w.currentCount,l[S]=f,w.currentCount++,w=s[t[c+2]],S=w.indexOffset+w.currentCount,l[S]=f,w.currentCount++,f++}var C=new Float32Array(3*i);for(c=0;i>c;c++){var T=3*c;if(w=s[c],w.count>0){for(a.clone(a.ZERO,Q),f=0;fl;l+=3){var d=t[l],m=t[l+1],p=t[l+2];c=3*d,f=3*m,h=3*p;var v=2*d,g=2*m,E=2*p,w=r[c],S=r[c+1],C=r[c+2],T=i[v],O=i[v+1],A=i[g+1]-O,M=i[E+1]-O,D=1/((i[g]-T)*M-(i[E]-T)*A),I=(M*(r[f]-w)-A*(r[h]-w))*D,_=(M*(r[f+1]-S)-A*(r[h+1]-S))*D,b=(M*(r[f+2]-C)-A*(r[h+2]-C))*D;u[c]+=I,u[c+1]+=_,u[c+2]+=b,u[f]+=I,u[f+1]+=_,u[f+2]+=b,u[h]+=I,u[h+1]+=_,u[h+2]+=b}var N=new Float32Array(3*o),P=new Float32Array(3*o);for(l=0;o>l;l++){c=3*l,f=c+1,h=c+2;var R=a.fromArray(n,c,rt),z=a.fromArray(u,c,it),L=a.dot(R,z);a.multiplyByScalar(R,L,nt),a.normalize(a.subtract(z,nt,z),z),P[c]=z.x,P[f]=z.y,P[h]=z.z,a.normalize(a.cross(R,z,z),z),N[c]=z.x,N[f]=z.y,N[h]=z.z}return e.attributes.tangent=new x({componentDatatype:y.FLOAT,componentsPerAttribute:3,values:P}),e.attributes.binormal=new x({componentDatatype:y.FLOAT,componentsPerAttribute:3,values:N}),e};var at=new a,ot=new a,st=new a,ut=new a,lt=new a,ct={positions:new Array(7),indices:new Array(9)};return j.wrapLongitude=function(e){var t=e.boundingSphere;if(r(t)){var n=t.center.x-t.radius;if(n>0||w.intersect(t,o.UNIT_Y)!==l.INTERSECTING)return e}return U(e),e.primitiveType===g.TRIANGLES?Y(e):e.primitiveType===g.LINES&&V(e),e},j}),define("ThirdParty/Uri",[],function(){function e(t){if(t instanceof e)this.scheme=t.scheme,this.authority=t.authority,this.path=t.path,this.query=t.query,this.fragment=t.fragment;else if(t){var r=n.exec(t);this.scheme=r[1],this.authority=r[2],this.path=r[3],this.query=r[4],this.fragment=r[5]}}function t(e){var t=unescape(e);return a.test(t)?t:e.toUpperCase()}function r(e,t,r,n){return(t||"")+r.toLowerCase()+(n||"")}e.prototype.scheme=null,e.prototype.authority=null,e.prototype.path="",e.prototype.query=null,e.prototype.fragment=null;var n=new RegExp("^(?:([^:/?#]+):)?(?://([^/?#]*))?([^?#]*)(?:\\?([^#]*))?(?:#(.*))?$");e.prototype.getScheme=function(){return this.scheme},e.prototype.getAuthority=function(){return this.authority},e.prototype.getPath=function(){return this.path},e.prototype.getQuery=function(){return this.query},e.prototype.getFragment=function(){return this.fragment},e.prototype.isAbsolute=function(){return!!this.scheme&&!this.fragment},e.prototype.isSameDocumentAs=function(e){return e.scheme==this.scheme&&e.authority==this.authority&&e.path==this.path&&e.query==this.query},e.prototype.equals=function(e){return this.isSameDocumentAs(e)&&e.fragment==this.fragment},e.prototype.normalize=function(){this.removeDotSegments(),this.scheme&&(this.scheme=this.scheme.toLowerCase()),this.authority&&(this.authority=this.authority.replace(o,r).replace(i,t)),this.path&&(this.path=this.path.replace(i,t)),this.query&&(this.query=this.query.replace(i,t)),this.fragment&&(this.fragment=this.fragment.replace(i,t))};var i=/%[0-9a-z]{2}/gi,a=/[a-zA-Z0-9\-\._~]/,o=/(.*@)?([^@:]*)(:.*)?/;return e.prototype.resolve=function(t){var r=new e;return this.scheme?(r.scheme=this.scheme,r.authority=this.authority,r.path=this.path,r.query=this.query):(r.scheme=t.scheme,this.authority?(r.authority=this.authority,r.path=this.path,r.query=this.query):(r.authority=t.authority,""==this.path?(r.path=t.path,r.query=this.query||t.query):("/"==this.path.charAt(0)?(r.path=this.path,r.removeDotSegments()):(r.path=t.authority&&""==t.path?"/"+this.path:t.path.substring(0,t.path.lastIndexOf("/")+1)+this.path,r.removeDotSegments()),r.query=this.query))),r.fragment=this.fragment,r},e.prototype.removeDotSegments=function(){var e,t=this.path.split("/"),r=[],n=""==t[0];for(n&&t.shift(),""==t[0]?t.shift():null;t.length;)e=t.shift(),".."==e?r.pop():"."!=e&&r.push(e);("."==e||".."==e)&&r.push(""),n&&r.unshift(""),this.path=r.join("/")},e.prototype.toString=function(){var e="";return this.scheme&&(e+=this.scheme+":"),this.authority&&(e+="//"+this.authority),e+=this.path,this.query&&(e+="?"+this.query),this.fragment&&(e+="#"+this.fragment),e},e}),define("Core/buildModuleUrl",["require","./defined","./DeveloperError","../ThirdParty/Uri"],function(e,t,r,n){"use strict";function i(){for(var e=document.getElementsByTagName("script"),t=0,r=e.length;r>t;++t){var n=e[t].getAttribute("src"),i=f.exec(n);if(null!==i)return i[1]}return void 0}function a(){if(t(u))return u;var e;if(e="undefined"!=typeof CESIUM_BASE_URL?CESIUM_BASE_URL:i(),!t(e))throw new r("Unable to determine Cesium base URL automatically, try defining a global variable called CESIUM_BASE_URL.");return u=new n(e).resolve(new n(document.location.href))}function o(t){return e.toUrl("../"+t)}function s(e){return new n(e).resolve(a()).toString()}var u,l,c,f=/((?:.*\/)|^)cesium[\w-]*\.js(?:\W|$)/i,h=function(r){t(l)||(l=t(e.toUrl)?o:s),t(c)||(c=document.createElement("a"));var n=l(r);return c.href=n,c.href=c.href,c.href};return h._cesiumScriptRegex=f,h}),define("Core/Iau2006XysSample",[],function(){"use strict";var e=function(e,t,r){this.x=e,this.y=t,this.s=r};return e}),define("Core/binarySearch",["./defined","./DeveloperError"],function(){"use strict";var e=function(e,t,r){for(var n,i,a=0,o=e.length-1;o>=a;)if(n=~~((a+o)/2),i=r(e[n],t),0>i)a=n+1;else{if(!(i>0))return n;o=n-1}return~(o+1)};return e}),define("Core/TimeConstants",[],function(){"use strict";var e={SECONDS_PER_MILLISECOND:.001,SECONDS_PER_MINUTE:60,MINUTES_PER_HOUR:60,HOURS_PER_DAY:24,SECONDS_PER_HOUR:3600,MINUTES_PER_DAY:1440,SECONDS_PER_DAY:86400,DAYS_PER_JULIAN_CENTURY:36525,PICOSECOND:1e-9,MODIFIED_JULIAN_DATE_DIFFERENCE:2400000.5};return e}),define("Core/isArray",["./defined"],function(e){"use strict";var t=Array.isArray;return e(t)||(t=function(e){return"[object Array]"===Object.prototype.toString.call(e)}),t}),define("Core/LeapSecond",["./defined","./DeveloperError","./isArray"],function(){"use strict";var e=function(e,t){this.julianDate=e,this.offset=t};return e.setLeapSeconds=function(t){e._leapSeconds=t,e._leapSeconds.sort(e.compareLeapSecondDate)},e.getLeapSeconds=function(){return e._leapSeconds},e.prototype.equals=function(e){return this.julianDate.equals(e.julianDate)&&this.offset===e.offset},e.compareLeapSecondDate=function(e,t){return e.julianDate.compareTo(t.julianDate)},e._leapSeconds=[],e}),define("Core/TimeStandard",[],function(){"use strict";var e={UTC:0,TAI:1};return e}),define("Core/isLeapYear",["./DeveloperError"],function(){"use strict";function e(e){return 0===e%4&&0!==e%100||0===e%400}return e}),define("ThirdParty/sprintf",[],function(){function e(){var e=/%%|%(\d+\$)?([-+\'#0 ]*)(\*\d+\$|\*|\d+)?(\.(\*\d+\$|\*|\d+))?([scboxXuideEfFgG])/g,t=arguments,r=0,n=t[r++],i=function(e,t,r,n){r||(r=" ");var i=e.length>=t?"":Array(1+t-e.length>>>0).join(r);return n?e+i:i+e},a=function(e,t,r,n,a,o){var s=n-e.length;return s>0&&(e=r||!a?i(e,n,o,r):e.slice(0,t.length)+i("",s,"0",!0)+e.slice(t.length)),e},o=function(e,t,r,n,o,s,u){var l=e>>>0;return r=r&&l&&{2:"0b",8:"0",16:"0x"}[t]||"",e=r+i(l.toString(t),s||0,"0",!1),a(e,r,n,o,u)},s=function(e,t,r,n,i,o){return null!=n&&(e=e.slice(0,n)),a(e,"",t,r,i,o)},u=function(e,n,u,l,c,f,h){var d,m,p,y,v;if("%%"==e)return"%";for(var g=!1,E="",w=!1,S=!1,x=" ",C=u.length,T=0;u&&C>T;T++)switch(u.charAt(T)){case" ":E=" ";break;case"+":E="+";break;case"-":g=!0;break;case"'":x=u.charAt(T+1);break;case"0":w=!0;break;case"#":S=!0}if(l=l?"*"==l?+t[r++]:"*"==l.charAt(0)?+t[l.slice(1,-1)]:+l:0,0>l&&(l=-l,g=!0),!isFinite(l))throw new Error("sprintf: (minimum-)width must be finite");switch(f=f?"*"==f?+t[r++]:"*"==f.charAt(0)?+t[f.slice(1,-1)]:+f:"fFeE".indexOf(h)>-1?6:"d"==h?0:void 0,v=n?t[n.slice(0,-1)]:t[r++],h){case"s":return s(String(v),g,l,f,w,x);case"c":return s(String.fromCharCode(+v),g,l,f,w);case"b":return o(v,2,S,g,l,f,w);case"o":return o(v,8,S,g,l,f,w);case"x":return o(v,16,S,g,l,f,w);case"X":return o(v,16,S,g,l,f,w).toUpperCase();case"u":return o(v,10,S,g,l,f,w);case"i":case"d":return d=+v||0,d=Math.round(d-d%1),m=0>d?"-":E,v=m+i(String(Math.abs(d)),f,"0",!1),a(v,m,g,l,w);case"e":case"E":case"f":case"F":case"g":case"G":return d=+v,m=0>d?"-":E,p=["toExponential","toFixed","toPrecision"]["efg".indexOf(h.toLowerCase())],y=["toString","toUpperCase"]["eEfFgG".indexOf(h)%2],v=m+Math.abs(d)[p](f),a(v,m,g,l,w)[y]();default:return e}};return n.replace(e,u)}return e}),define("Core/JulianDate",["./DeveloperError","./binarySearch","./defined","./defaultValue","./TimeConstants","./LeapSecond","./TimeStandard","./isLeapYear","../ThirdParty/sprintf"],function(e,t,r,n,i,a,o,s,u){"use strict";function l(e){v.julianDate=e;var r=a.getLeapSeconds(),n=t(r,v,a.compareLeapSecondDate);0>n&&(n=~n),n>=r.length&&(n=r.length-1);var i=r[n].offset;if(n>0){var o=e.getSecondsDifference(r[n].julianDate);o>i&&(n--,i=r[n].offset)}e.addSeconds(i,e)}function c(e,r){v.julianDate=e;var n=a.getLeapSeconds(),i=t(n,v,a.compareLeapSecondDate);if(0>i&&(i=~i),0===i)return e.addSeconds(-n[0].offset,r);if(i>=n.length)return e.addSeconds(-n[i-1].offset,r);var o=e.getSecondsDifference(n[i].julianDate);return 0===o?e.addSeconds(-n[i].offset,r):1>=o?void 0:e.addSeconds(-n[--i].offset,r)}function f(e,t,n){var a=0|t/i.SECONDS_PER_DAY;return e+=a,t-=i.SECONDS_PER_DAY*a,0>t&&(e--,t+=i.SECONDS_PER_DAY),r(n)?(n._julianDayNumber=e,n._secondsOfDay=t,n):new D(e,t,o.TAI)}function h(e,t,r,n,a,o,s){var u=0|(t-14)/12,l=e+4800+u,c=(0|1461*l/4)+(0|367*(t-2-12*u)/12)-(0|3*((l+100)/100)/4)+r-32075;n-=12,0>n&&(n+=24);var f=o+(n*i.SECONDS_PER_HOUR+a*i.SECONDS_PER_MINUTE+s*i.SECONDS_PER_MILLISECOND);return f>=43200&&(c-=1),[c,f]}function d(e){return h(e.getUTCFullYear(),e.getUTCMonth()+1,e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds())}var m=function(e,t,r,n,i,a,o,s){this.year=e,this.month=t,this.day=r,this.hour=n,this.minute=i,this.second=a,this.millisecond=o,this.isLeapSecond=s},p=[31,28,31,30,31,30,31,31,30,31,30,31],y=29,v={julianDate:void 0},g=/^(\d{4})$/,E=/^(\d{4})-(\d{2})$/,w=/^(\d{4})-?(\d{3})$/,S=/^(\d{4})-?W(\d{2})-?(\d{1})?$/,x=/^(\d{4})-?(\d{2})-?(\d{2})$/,C=/([Z+\-])?(\d{2})?:?(\d{2})?$/,T=/^(\d{2})(\.\d+)?/.source+C.source,O=/^(\d{2}):?(\d{2})(\.\d+)?/.source+C.source,A=/^(\d{2}):?(\d{2}):?(\d{2})(\.\d+)?/.source+C.source,M="Valid ISO 8601 date string required.",D=function(e,t,a){this._julianDayNumber=void 0,this._secondsOfDay=void 0;var s,u;if(r(e)||r(t)||r(a))a=n(a,o.UTC),s=0|e,u=t+(e-s)*i.SECONDS_PER_DAY;else{var c=new Date,h=d(c);s=h[0],u=h[1],a=o.UTC}f(s,u,this),a===o.UTC&&l(this)};D.clone=function(e,t){return r(e)?r(t)?(t._julianDayNumber=e._julianDayNumber,t._secondsOfDay=e._secondsOfDay,t):new D(e._julianDayNumber,e._secondsOfDay,o.TAI):void 0},D.fromDate=function(e,t){var r=d(e);return new D(r[0],r[1],t)},D.fromIso8601=function(t){t=t.replace(",",".");var n,i,a,u=t.split("T"),l=1,c=1,f=0,d=0,m=0,v=0,C=u[0],I=u[1];if(!r(C))throw new e(M);var _;if(u=C.match(x),null!==u){if(_=C.split("-").length-1,_>0&&2!==_)throw new e(M);n=+u[1],l=+u[2],c=+u[3]}else if(u=C.match(E),null!==u)n=+u[1],l=+u[2];else if(u=C.match(g),null!==u)n=+u[1];else{var b;if(u=C.match(w),null!==u){if(n=+u[1],b=+u[2],a=s(n),1>b||a&&b>366||!a&&b>365)throw new e(M)}else{if(u=C.match(S),null===u)throw new e(M);n=+u[1];var N=+u[2],P=+u[3]||0;if(_=C.split("-").length-1,_>0&&(!r(u[3])&&1!==_||r(u[3])&&2!==_))throw new e(M);var R=new Date(Date.UTC(n,0,4));b=7*N+P-R.getUTCDay()-3}i=new Date(Date.UTC(n,0,1)),i.setUTCDate(b),l=i.getUTCMonth()+1,c=i.getUTCDate()}if(a=s(n),1>l||l>12||1>c||(2!==l||!a)&&c>p[l-1]||a&&2===l&&c>y)throw new e(M);var z;if(r(I)){if(u=I.match(A),null!==u){if(_=I.split(":").length-1,_>0&&2!==_&&3!==_)throw new e(M);f=+u[1],d=+u[2],m=+u[3],v=1e3*+(u[4]||0),z=5}else if(u=I.match(O),null!==u){if(_=I.split(":").length-1,_>0&&1!==_)throw new e(M);f=+u[1],d=+u[2],m=60*+(u[3]||0),z=4}else{if(u=I.match(T),null===u)throw new e(M);f=+u[1],d=60*+(u[2]||0),z=3}if(d>=60||m>=61||f>24||24===f&&(d>0||m>0||v>0))throw new e(M);var L=u[z],F=+u[z+1],U=+(u[z+2]||0);switch(L){case"+":f-=F,d-=U;break;case"-":f+=F,d+=U;break;case"Z":break;default:d+=new Date(Date.UTC(n,l-1,c,f,d)).getTimezoneOffset()}}else d+=new Date(Date.UTC(n,l-1,c)).getTimezoneOffset();var B=60===m;for(B&&m--;d>=60;)d-=60,f++;for(;f>=24;)f-=24,c++;for(i=a&&2===l?y:p[l-1];c>i;)c-=i,l++,l>12&&(l-=12,n++),i=a&&2===l?y:p[l-1]; +for(;0>d;)d+=60,f--;for(;0>f;)f+=24,c--;for(;1>c;)l--,1>l&&(l+=12,n--),i=a&&2===l?y:p[l-1],c+=i;var q=h(n,l,c,f,d,m,v),G=new D(q[0],q[1],o.UTC);return B&&G.addSeconds(1,G),G},D.fromTotalDays=function(e,t){return new D(e,0,t)},D.compare=function(e,t){var r=e._julianDayNumber-t._julianDayNumber;return 0!==r?r:e._secondsOfDay-t._secondsOfDay},D.equals=function(e,t){return e===t||r(e)&&r(t)&&e._julianDayNumber===t._julianDayNumber&&e._secondsOfDay===t._secondsOfDay},D.equalsEpsilon=function(e,t,r){return Math.abs(e.getSecondsDifference(t))<=r},D.prototype.clone=function(e){return D.clone(this,e)},D.prototype.getTotalDays=function(){return this._julianDayNumber+this._secondsOfDay/i.SECONDS_PER_DAY},D.prototype.getJulianDayNumber=function(){return this._julianDayNumber},D.prototype.getJulianTimeFraction=function(){return this._secondsOfDay/i.SECONDS_PER_DAY},D.prototype.getSecondsOfDay=function(){return this._secondsOfDay};var I=new D(0,0,o.TAI);return D.prototype.toGregorianDate=function(){var e=!1,t=c(this,I);r(t)||(this.addSeconds(-1,I),t=c(I,I),e=!0);var n=t._julianDayNumber,a=t._secondsOfDay;a>=43200&&(n+=1);var o=0|n+68569,s=0|4*o/146097;o=0|o-(0|(146097*s+3)/4);var u=0|4e3*(o+1)/1461001;o=0|o-(0|1461*u/4)+31;var l=0|80*o/2447,f=0|o-(0|2447*l/80);o=0|l/11;var h=0|l+2-12*o,d=0|100*(s-49)+u+o,p=0|a/i.SECONDS_PER_HOUR,y=a-p*i.SECONDS_PER_HOUR,v=0|y/i.SECONDS_PER_MINUTE;y-=v*i.SECONDS_PER_MINUTE;var g=0|y,E=(y-g)/i.SECONDS_PER_MILLISECOND;return p+=12,p>23&&(p-=24),e&&(g+=1),new m(d,h,f,p,v,g,E,e)},D.prototype.toDate=function(){var e=this.toGregorianDate(),t=e.second;return e.isLeapSecond&&(t-=1),new Date(Date.UTC(e.year,e.month-1,e.day,e.hour,e.minute,t,e.millisecond))},D.prototype.toIso8601=function(e){var t,n=this.toGregorianDate();return r(e)||0===n.millisecond?r(e)&&0!==e?(t=(.01*n.millisecond).toFixed(e).replace(".","").slice(0,e),u("%04d-%02d-%02dT%02d:%02d:%02d.%sZ",n.year,n.month,n.day,n.hour,n.minute,n.second,t)):u("%04d-%02d-%02dT%02d:%02d:%02dZ",n.year,n.month,n.day,n.hour,n.minute,n.second):(t=(.01*n.millisecond).toString().replace(".",""),u("%04d-%02d-%02dT%02d:%02d:%02d.%sZ",n.year,n.month,n.day,n.hour,n.minute,n.second,t))},D.prototype.getSecondsDifference=function(e){var t=this,r=e,n=(r._julianDayNumber-t._julianDayNumber)*i.SECONDS_PER_DAY;return n+(r._secondsOfDay-t._secondsOfDay)},D.prototype.getMinutesDifference=function(e){return this.getSecondsDifference(e)/i.SECONDS_PER_MINUTE},D.prototype.getDaysDifference=function(e){var t=this,r=e,n=r._julianDayNumber-t._julianDayNumber,a=(r._secondsOfDay-t._secondsOfDay)/i.SECONDS_PER_DAY;return n+a},D.prototype.getTaiMinusUtc=function(){v.julianDate=this;var e=a.getLeapSeconds(),r=t(e,v,a.compareLeapSecondDate);return 0>r&&(r=~r,--r,0>r&&(r=0)),e[r].offset},D.prototype.addSeconds=function(e,t){return f(this._julianDayNumber,this._secondsOfDay+e,t)},D.prototype.addMinutes=function(e){var t=this._secondsOfDay+e*i.SECONDS_PER_MINUTE;return new D(this._julianDayNumber,t,o.TAI)},D.prototype.addHours=function(e){var t=this._secondsOfDay+e*i.SECONDS_PER_HOUR;return new D(this._julianDayNumber,t,o.TAI)},D.prototype.addDays=function(e){var t=this._julianDayNumber+e;return new D(t,this._secondsOfDay,o.TAI)},D.prototype.lessThan=function(e){return D.compare(this,e)<0},D.prototype.lessThanOrEquals=function(e){return D.compare(this,e)<=0},D.prototype.greaterThan=function(e){return D.compare(this,e)>0},D.prototype.greaterThanOrEquals=function(e){return D.compare(this,e)>=0},D.prototype.compareTo=function(e){return D.compare(this,e)},D.prototype.equals=function(e){return D.equals(this,e)},D.prototype.equalsEpsilon=function(e,t){return D.equalsEpsilon(this,e,t)},0===a._leapSeconds.length&&(a._leapSeconds=[new a(new D(2441317,43210,o.TAI),10),new a(new D(2441499,43211,o.TAI),11),new a(new D(2441683,43212,o.TAI),12),new a(new D(2442048,43213,o.TAI),13),new a(new D(2442413,43214,o.TAI),14),new a(new D(2442778,43215,o.TAI),15),new a(new D(2443144,43216,o.TAI),16),new a(new D(2443509,43217,o.TAI),17),new a(new D(2443874,43218,o.TAI),18),new a(new D(2444239,43219,o.TAI),19),new a(new D(2444786,43220,o.TAI),20),new a(new D(2445151,43221,o.TAI),21),new a(new D(2445516,43222,o.TAI),22),new a(new D(2446247,43223,o.TAI),23),new a(new D(2447161,43224,o.TAI),24),new a(new D(2447892,43225,o.TAI),25),new a(new D(2448257,43226,o.TAI),26),new a(new D(2448804,43227,o.TAI),27),new a(new D(2449169,43228,o.TAI),28),new a(new D(2449534,43229,o.TAI),29),new a(new D(2450083,43230,o.TAI),30),new a(new D(2450630,43231,o.TAI),31),new a(new D(2451179,43232,o.TAI),32),new a(new D(2453736,43233,o.TAI),33),new a(new D(2454832,43234,o.TAI),34),new a(new D(2456109,43235,o.TAI),35)]),D}),define("Core/clone",["./defaultValue"],function(e){"use strict";var t=function(r,n){if(null===r||"object"!=typeof r)return r;n=e(n,!1);var i=new r.constructor;for(var a in r)if(r.hasOwnProperty(a)){var o=r[a];n&&(o=t(o,n)),i[a]=o}return i};return t}),define("Core/parseResponseHeaders",[],function(){"use strict";var e=function(e){var t={};if(!e)return t;for(var r=e.split("\r\n"),n=0;n0){var o=i.substring(0,a),s=i.substring(a+2);t[o]=s}}return t};return e}),define("Core/RequestErrorEvent",["./defined","./parseResponseHeaders"],function(e,t){"use strict";var r=function(e,r,n){this.statusCode=e,this.response=r,this.responseHeaders=n,"string"==typeof this.responseHeaders&&(this.responseHeaders=t(this.responseHeaders))};return r.prototype.toString=function(){var t="Request has failed.";return e(this.statusCode)&&(t+=" Status Code: "+this.statusCode),t},r}),function(e){"use strict";e("ThirdParty/when",[],function(){function e(e,r,n,i){return t(e).then(r,n,i)}function t(e){var t,r;return e instanceof n?t=e:s(e)?(r=o(),e.then(function(e){r.resolve(e)},function(e){r.reject(e)},function(e){r.progress(e)}),t=r.promise):t=i(e),t}function r(t){return e(t,a)}function n(e){this.then=e}function i(e){var r=new n(function(r){try{return t(r?r(e):e)}catch(n){return a(n)}});return r}function a(e){var r=new n(function(r,n){try{return n?t(n(e)):a(e)}catch(i){return a(i)}});return r}function o(){function e(e,t,r){return h(e,t,r)}function r(e){return m(e)}function i(e){return m(a(e))}function s(e){return d(e)}var u,l,c,f,h,d,m;return l=new n(e),u={then:e,resolve:r,reject:i,progress:s,promise:l,resolver:{resolve:r,reject:i,progress:s}},c=[],f=[],h=function(e,t,r){var n,i;return n=o(),i="function"==typeof r?function(e){try{n.progress(r(e))}catch(t){n.progress(t)}}:function(e){n.progress(e)},c.push(function(r){r.then(e,t).then(n.resolve,n.reject,i)}),f.push(i),n.promise},d=function(e){return p(f,e),e},m=function(e){return e=t(e),h=e.then,m=t,d=v,p(c,e),f=c=S,e},u}function s(e){return e&&"function"==typeof e.then}function u(t,r,n,i,a){return y(2,arguments),e(t,function(t){function s(e){p(e)}function u(e){m(e)}var l,c,f,h,d,m,p,y,g,E;if(g=t.length>>>0,l=Math.max(0,Math.min(r,g)),f=[],c=g-l+1,h=[],d=o(),l)for(y=d.progress,p=function(e){h.push(e),--c||(m=p=v,d.reject(h))},m=function(e){f.push(e),--l||(m=p=v,d.resolve(f))},E=0;g>E;++E)E in t&&e(t[E],u,s,y);else d.resolve(f);return d.then(n,i,a)})}function l(e,t,r,n){function i(e){return t?t(e[0]):e[0]}return u(e,1,i,r,n)}function c(e,t,r,n){return y(1,arguments),h(e,g).then(t,r,n)}function f(){return h(arguments,g)}function h(t,r){return e(t,function(t){var n,i,a,s,u,l;if(a=i=t.length>>>0,n=[],l=o(),a)for(s=function(t,i){e(t,r).then(function(e){n[i]=e,--a||l.resolve(n)},l.reject)},u=0;i>u;u++)u in t?s(t[u],u):--a;else l.resolve(n);return l.promise})}function d(t,r){var n=w.call(arguments,1);return e(t,function(t){var i;return i=t.length,n[0]=function(t,n,a){return e(t,function(t){return e(n,function(e){return r(t,e,a,i)})})},E.apply(t,n)})}function m(t,r,n){var i=arguments.length>2;return e(t,function(e){return e=i?n:e,r.resolve(e),e},function(e){return r.reject(e),a(e)},r.progress)}function p(e,t){for(var r,n=0;r=e[n++];)r(t)}function y(e,t){for(var r,n=t.length;n>e;)if(r=t[--n],null!=r&&"function"!=typeof r)throw new Error("arg "+n+" must be a function")}function v(){}function g(e){return e}var E,w,S;return e.defer=o,e.resolve=t,e.reject=r,e.join=f,e.all=c,e.map=h,e.reduce=d,e.any=l,e.some=u,e.chain=m,e.isPromise=s,n.prototype={always:function(e,t){return this.then(e,e,t)},otherwise:function(e){return this.then(S,e)},yield:function(e){return this.then(function(){return e})},spread:function(e){return this.then(function(t){return c(t,function(t){return e.apply(S,t)})})}},w=[].slice,E=[].reduce||function(e){var t,r,n,i,a;if(a=0,t=Object(this),i=t.length>>>0,r=arguments,r.length<=1)for(;;){if(a in t){n=t[a++];break}if(++a>=i)throw new TypeError}else n=r[1];for(;i>a;++a)a in t&&(n=e(n,t[a],a,t));return n},e})}("function"==typeof define&&define.amd?define:function(e){"object"==typeof exports?module.exports=e():this.when=e()}),define("Core/loadWithXhr",["./defined","./defaultValue","./DeveloperError","./RequestErrorEvent","../ThirdParty/when"],function(e,t,r,n,i){"use strict";var a=function(e){e=t(e,t.EMPTY_OBJECT);var r=e.responseType,n=t(e.method,"GET"),o=e.data,s=e.headers;return i(e.url,function(e){var t=i.defer();return a.load(e,r,n,o,s,t),t.promise})};return a.load=function(t,r,i,a,o,s){var u=new XMLHttpRequest;if(u.open(i,t,!0),e(o))for(var l in o)o.hasOwnProperty(l)&&u.setRequestHeader(l,o[l]);e(r)&&(u.responseType=r),u.onload=function(){200===u.status?s.resolve(u.response):s.reject(new n(u.status,u.response,u.getAllResponseHeaders()))},u.onerror=function(){s.reject(new n)},u.send(a)},a.defaultLoad=a.load,a}),define("Core/loadText",["./loadWithXhr"],function(e){"use strict";var t=function(t,r){return e({url:t,headers:r})};return t}),define("Core/loadJson",["./clone","./defined","./loadText","./DeveloperError"],function(e,t,r){"use strict";var n={Accept:"application/json,*/*;q=0.01"},i=function(i,a){return t(a)?t(a.Accept)||(a=e(a),a.Accept=n.Accept):a=n,r(i,a).then(function(e){return JSON.parse(e)})};return i}),define("Core/Iau2006XysData",["./buildModuleUrl","./defaultValue","./defined","./Iau2006XysSample","./JulianDate","./loadJson","./TimeStandard","../ThirdParty/when"],function(e,t,r,n,i,a,o,s){"use strict";function u(e,t,r){var n=f;return n._julianDayNumber=t,n._secondsOfDay=r,e._sampleZeroDateTT.getDaysDifference(n)}function l(t,n){if(t._chunkDownloadsInProgress[n])return t._chunkDownloadsInProgress[n];var i=s.defer();t._chunkDownloadsInProgress[n]=i;var o,u=t._xysFileUrlTemplate;return o=r(u)?u.replace("{0}",n):e("Assets/IAU2006_XYS/IAU2006_XYS_"+n+".json"),s(a(o),function(e){t._chunkDownloadsInProgress[n]=!1;for(var r=t._samples,a=e.samples,o=3*n*t._samplesPerXysFile,s=0,u=a.length;u>s;++s)r[o+s]=a[s];i.resolve()}),i.promise}var c=function(e){e=t(e,t.EMPTY_OBJECT),this._xysFileUrlTemplate=e.xysFileUrlTemplate,this._interpolationOrder=t(e.interpolationOrder,9),this._sampleZeroJulianEphemerisDate=t(e.sampleZeroJulianEphemerisDate,2442396.5),this._sampleZeroDateTT=new i(this._sampleZeroJulianEphemerisDate,0,o.TAI),this._stepSizeDays=t(e.stepSizeDays,1),this._samplesPerXysFile=t(e.samplesPerXysFile,1e3),this._totalSamples=t(e.totalSamples,27426),this._samples=new Array(3*this._totalSamples),this._chunkDownloadsInProgress=[];for(var r=this._interpolationOrder,n=this._denominators=new Array(r+1),a=this._xTable=new Array(r+1),s=Math.pow(this._stepSizeDays,r),u=0;r>=u;++u){n[u]=s,a[u]=u*this._stepSizeDays;for(var l=0;r>=l;++l)l!==u&&(n[u]*=u-l);n[u]=1/n[u]}this._work=new Array(r+1),this._coef=new Array(r+1)},f=new i(0,0,o.TAI);return c.prototype.preload=function(e,t,r,n){var i=u(this,e,t),a=u(this,r,n),o=0|i/this._stepSizeDays-this._interpolationOrder/2;0>o&&(o=0);var c=a/this._stepSizeDays-this._interpolationOrder/2|0+this._interpolationOrder;c>=this._totalSamples&&(c=this._totalSamples-1);for(var f=0|o/this._samplesPerXysFile,h=0|c/this._samplesPerXysFile,d=[],m=f;h>=m;++m)d.push(l(this,m));return s.all(d)},c.prototype.computeXysRadians=function(e,t,i){var a=u(this,e,t);if(0>a)return void 0;var o=0|a/this._stepSizeDays;if(o>=this._totalSamples)return void 0;var s=this._interpolationOrder,c=o-(0|s/2);0>c&&(c=0);var f=c+s;f>=this._totalSamples&&(f=this._totalSamples-1,c=f-s,0>c&&(c=0));var h=!1,d=this._samples;if(r(d[3*c])||(l(this,0|c/this._samplesPerXysFile),h=!0),r(d[3*f])||(l(this,0|f/this._samplesPerXysFile),h=!0),h)return void 0;r(i)?(i.x=0,i.y=0,i.s=0):i=new n(0,0,0);var m,p,y=a-c*this._stepSizeDays,v=this._work,g=this._denominators,E=this._coef,w=this._xTable;for(m=0;s>=m;++m)v[m]=y-w[m];for(m=0;s>=m;++m){for(E[m]=1,p=0;s>=p;++p)p!==m&&(E[m]*=v[p]);E[m]*=g[m];var S=3*(c+m);i.x+=E[m]*d[S++],i.y+=E[m]*d[S++],i.s+=E[m]*d[S]}return i},c}),define("Core/EarthOrientationParametersSample",[],function(){"use strict";var e=function(e,t,r,n,i){this.xPoleWander=e,this.yPoleWander=t,this.xPoleOffset=r,this.yPoleOffset=n,this.ut1MinusUtc=i};return e}),define("Core/EarthOrientationParameters",["./binarySearch","./defaultValue","./defined","./EarthOrientationParametersSample","./freezeObject","./loadJson","./JulianDate","./LeapSecond","./RuntimeError","./TimeConstants","./TimeStandard","../ThirdParty/when"],function(e,t,r,n,i,a,o,s,u,l,c,f){"use strict";function h(e,t){return o.compare(e.julianDate,t)}function d(t,n){if(!r(n.columnNames))return t._dataError="Error in loaded EOP data: The columnNames property is required.",void 0;if(!r(n.samples))return t._dataError="Error in loaded EOP data: The samples property is required.",void 0;var i=n.columnNames.indexOf("modifiedJulianDateUtc"),a=n.columnNames.indexOf("xPoleWanderRadians"),u=n.columnNames.indexOf("yPoleWanderRadians"),f=n.columnNames.indexOf("ut1MinusUtcSeconds"),d=n.columnNames.indexOf("xCelestialPoleOffsetRadians"),m=n.columnNames.indexOf("yCelestialPoleOffsetRadians"),p=n.columnNames.indexOf("taiMinusUtcSeconds");if(0>i||0>a||0>u||0>f||0>d||0>m||0>p)return t._dataError="Error in loaded EOP data: The columnNames property must include modifiedJulianDateUtc, xPoleWanderRadians, yPoleWanderRadians, ut1MinusUtcSeconds, xCelestialPoleOffsetRadians, yCelestialPoleOffsetRadians, and taiMinusUtcSeconds columns",void 0;var y=t._samples=n.samples,v=t._dates=[];t._dateColumn=i,t._xPoleWanderRadiansColumn=a,t._yPoleWanderRadiansColumn=u,t._ut1MinusUtcSecondsColumn=f,t._xCelestialPoleOffsetRadiansColumn=d,t._yCelestialPoleOffsetRadiansColumn=m,t._taiMinusUtcSecondsColumn=p,t._columnCount=n.columnNames.length,t._lastIndex=void 0;for(var g,E=t._addNewLeapSeconds,w=0,S=y.length;S>w;w+=t._columnCount){var x=y[w+i],C=y[w+p],T=x+l.MODIFIED_JULIAN_DATE_DIFFERENCE,O=new o(T,C,c.TAI);if(v.push(O),E){if(C!==g&&r(g)){var A=s.getLeapSeconds(),M=e(A,O,h);if(0>M){var D=new s(O,C);A.splice(~M,0,D)}}g=C}}}function m(e,t,r,n,i){var a=r*n;i.xPoleWander=t[a+e._xPoleWanderRadiansColumn],i.yPoleWander=t[a+e._yPoleWanderRadiansColumn],i.xPoleOffset=t[a+e._xCelestialPoleOffsetRadiansColumn],i.yPoleOffset=t[a+e._yCelestialPoleOffsetRadiansColumn],i.ut1MinusUtc=t[a+e._ut1MinusUtcSecondsColumn]}function p(e,t,r){return t+e*(r-t)}function y(e,t,r,n,i,a,o){var s=e._columnCount;if(a>t.length-1)return o.xPoleWander=0,o.yPoleWander=0,o.xPoleOffset=0,o.yPoleOffset=0,o.ut1MinusUtc=0,o;var u=t[i],l=t[a];if(u.equals(l)||n.equals(u))return m(e,r,i,s,o),o;if(n.equals(l))return m(e,r,a,s,o),o;var c=u.getSecondsDifference(n)/u.getSecondsDifference(l),f=i*s,h=a*s,d=r[f+e._ut1MinusUtcSecondsColumn],y=r[h+e._ut1MinusUtcSecondsColumn],v=y-d;if(v>.5||-.5>v){var g=r[f+e._taiMinusUtcSecondsColumn],E=r[h+e._taiMinusUtcSecondsColumn];g!==E&&(l.equals(n)?d=y:y-=E-g)}return o.xPoleWander=p(c,r[f+e._xPoleWanderRadiansColumn],r[h+e._xPoleWanderRadiansColumn]),o.yPoleWander=p(c,r[f+e._yPoleWanderRadiansColumn],r[h+e._yPoleWanderRadiansColumn]),o.xPoleOffset=p(c,r[f+e._xCelestialPoleOffsetRadiansColumn],r[h+e._xCelestialPoleOffsetRadiansColumn]),o.yPoleOffset=p(c,r[f+e._yCelestialPoleOffsetRadiansColumn],r[h+e._yCelestialPoleOffsetRadiansColumn]),o.ut1MinusUtc=p(c,d,y),o}var v=function(e){if(e=t(e,t.EMPTY_OBJECT),this._dates=void 0,this._samples=void 0,this._dateColumn=-1,this._xPoleWanderRadiansColumn=-1,this._yPoleWanderRadiansColumn=-1,this._ut1MinusUtcSecondsColumn=-1,this._xCelestialPoleOffsetRadiansColumn=-1,this._yCelestialPoleOffsetRadiansColumn=-1,this._taiMinusUtcSecondsColumn=-1,this._columnCount=0,this._lastIndex=-1,this._downloadPromise=void 0,this._dataError=void 0,this._addNewLeapSeconds=t(e.addNewLeapSeconds,!0),r(e.data))d(this,e.data);else if(r(e.url)){var n=this;this._downloadPromise=f(a(e.url),function(e){d(n,e)},function(){n._dataError="An error occurred while retrieving the EOP data from the URL "+e.url+"."})}else d(this,{columnNames:["dateIso8601","modifiedJulianDateUtc","xPoleWanderRadians","yPoleWanderRadians","ut1MinusUtcSeconds","lengthOfDayCorrectionSeconds","xCelestialPoleOffsetRadians","yCelestialPoleOffsetRadians","taiMinusUtcSeconds"],samples:[]})};return v.NONE=i({getPromiseToLoad:function(){return f()},compute:function(e,t){return r(t)?(t.xPoleWander=0,t.yPoleWander=0,t.xPoleOffset=0,t.yPoleOffset=0,t.ut1MinusUtc=0):t=new n(0,0,0,0,0),t}}),v.prototype.getPromiseToLoad=function(){return f(this._downloadPromise)},v.prototype.compute=function(t,i){if(!r(this._samples)){if(r(this._dataError))throw new u(this._dataError);return void 0}if(r(i)||(i=new n(0,0,0,0,0)),0===this._samples.length)return i.xPoleWander=0,i.yPoleWander=0,i.xPoleOffset=0,i.yPoleOffset=0,i.ut1MinusUtc=0,i;var a=this._dates,s=this._lastIndex,l=0,c=0;if(r(s)){var f=a[s],h=a[s+1],d=f.lessThanOrEquals(t),m=!r(h),p=m||h.greaterThanOrEquals(t);if(d&&p)return l=s,!m&&h.equals(t)&&++l,c=l+1,y(this,a,this._samples,t,l,c,i),i}var v=e(a,t,o.compare,this._dateColumn);return v>=0?(vl&&(l=0)),this._lastIndex=l,y(this,a,this._samples,t,l,c,i),i},v}),define("Core/Transforms",["./defaultValue","./defined","./DeveloperError","./Iau2006XysData","./Iau2006XysSample","./Math","./Matrix3","./Matrix4","./Cartesian2","./Cartesian3","./Cartesian4","./TimeConstants","./Ellipsoid","./EarthOrientationParameters","./EarthOrientationParametersSample","../ThirdParty/when"],function(e,t,r,n,i,a,o,s,u,l,c,f,h,d,m,p){"use strict";var y={},v=new l,g=new l,E=new l;y.eastNorthUpToFixedFrame=function(r,n,i){if(a.equalsEpsilon(r.x,0,a.EPSILON14)&&a.equalsEpsilon(r.y,0,a.EPSILON14)){var o=a.sign(r.z);return t(i)?(i[0]=0,i[1]=1,i[2]=0,i[3]=0,i[4]=-o,i[5]=0,i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=o,i[11]=0,i[12]=r.x,i[13]=r.y,i[14]=r.z,i[15]=1,i):new s(0,-o,0,r.x,1,0,0,r.y,0,0,o,r.z,0,0,0,1)}var u=v,c=g,f=E;return n=e(n,h.WGS84),n.geodeticSurfaceNormal(r,u),c.x=-r.y,c.y=r.x,c.z=0,l.normalize(c,c),l.cross(u,c,f),t(i)?(i[0]=c.x,i[1]=c.y,i[2]=c.z,i[3]=0,i[4]=f.x,i[5]=f.y,i[6]=f.z,i[7]=0,i[8]=u.x,i[9]=u.y,i[10]=u.z,i[11]=0,i[12]=r.x,i[13]=r.y,i[14]=r.z,i[15]=1,i):new s(c.x,f.x,u.x,r.x,c.y,f.y,u.y,r.y,c.z,f.z,u.z,r.z,0,0,0,1)};var w=new l,S=new l,x=new l;y.northEastDownToFixedFrame=function(r,n,i){if(a.equalsEpsilon(r.x,0,a.EPSILON14)&&a.equalsEpsilon(r.y,0,a.EPSILON14)){var o=a.sign(r.z);return t(i)?(i[0]=-o,i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=1,i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=-o,i[11]=0,i[12]=r.x,i[13]=r.y,i[14]=r.z,i[15]=1,i):new s(-o,0,0,r.x,0,1,0,r.y,0,0,-o,r.z,0,0,0,1)}var u=w,c=S,f=x;return n=e(n,h.WGS84),n.geodeticSurfaceNormal(r,u),c.x=-r.y,c.y=r.x,c.z=0,l.normalize(c,c),l.cross(u,c,f),t(i)?(i[0]=f.x,i[1]=f.y,i[2]=f.z,i[3]=0,i[4]=c.x,i[5]=c.y,i[6]=c.z,i[7]=0,i[8]=-u.x,i[9]=-u.y,i[10]=-u.z,i[11]=0,i[12]=r.x,i[13]=r.y,i[14]=r.z,i[15]=1,i):new s(f.x,c.x,-u.x,r.x,f.y,c.y,-u.y,r.y,f.z,c.z,-u.z,r.z,0,0,0,1)};var C=24110.54841,T=8640184.812866,O=.093104,A=-62e-7,M=1.1772758384668e-19,D=72921158553e-15,I=a.TWO_PI/86400;y.computeTemeToPseudoFixedMatrix=function(e,r){var n,i=e.addSeconds(-e.getTaiMinusUtc()),s=i.getJulianDayNumber(),u=i.getSecondsOfDay(),l=s-2451545;n=u>=43200?(l+.5)/f.DAYS_PER_JULIAN_CENTURY:(l-.5)/f.DAYS_PER_JULIAN_CENTURY;var c=C+n*(T+n*(O+n*A)),h=c*I%a.TWO_PI,d=D+M*(s-2451545.5),m=(u+.5*f.SECONDS_PER_DAY)%f.SECONDS_PER_DAY,p=h+d*m,y=Math.cos(p),v=Math.sin(p);return t(r)?(r[0]=y,r[1]=-v,r[2]=0,r[3]=v,r[4]=y,r[5]=0,r[6]=0,r[7]=0,r[8]=1,r):new o(y,v,0,-v,y,0,0,0,1)},y.iau2006XysData=new n,y.earthOrientationParameters=d.NONE;var _=32.184,b=2451545;y.preloadIcrfFixed=function(e){var t=e.start.getJulianDayNumber(),r=e.start.getSecondsOfDay()+_,n=e.stop.getJulianDayNumber(),i=e.stop.getSecondsOfDay()+_,a=y.iau2006XysData.preload(t,r,n,i),o=y.earthOrientationParameters.getPromiseToLoad();return p.all([a,o])},y.computeIcrfToFixedMatrix=function(e,r){var n=y.computeFixedToIcrfMatrix(e,r);return t(n)?o.transpose(n,r):void 0};var N=new i(0,0,0),P=new m(0,0,0,0,0,0),R=new o,z=new o;y.computeFixedToIcrfMatrix=function(e,r){var n=y.earthOrientationParameters.compute(e,P);if(!t(n))return void 0;var i=e.getJulianDayNumber(),s=e.getSecondsOfDay()+_,u=y.iau2006XysData.computeXysRadians(i,s,N);if(!t(u))return void 0;var l=u.x+n.xPoleOffset,c=u.y+n.yPoleOffset,h=1/(1+Math.sqrt(1-l*l-c*c)),d=R;d[0]=1-h*l*l,d[3]=-h*l*c,d[6]=l,d[1]=-h*l*c,d[4]=1-h*c*c,d[7]=c,d[2]=-l,d[5]=-c,d[8]=1-h*(l*l+c*c);var m=o.fromRotationZ(-u.s,z),p=o.multiply(d,m,R),v=e.getJulianDayNumber(),g=e.getSecondsOfDay()-e.getTaiMinusUtc()+n.ut1MinusUtc,E=v-2451545,w=g/f.SECONDS_PER_DAY,S=.779057273264+w+.00273781191135448*(E+w);S=S%1*a.TWO_PI;var x=o.fromRotationZ(S,z),C=o.multiply(p,x,R),T=Math.cos(n.xPoleWander),O=Math.cos(n.yPoleWander),A=Math.sin(n.xPoleWander),M=Math.sin(n.yPoleWander),D=i-b+s/f.SECONDS_PER_DAY;D/=36525;var I=-47e-6*D*a.RADIANS_PER_DEGREE/3600,L=Math.cos(I),F=Math.sin(I),U=z;return U[0]=T*L,U[1]=T*F,U[2]=A,U[3]=-O*F+M*A*L,U[4]=O*L+M*A*F,U[5]=-M*T,U[6]=-M*F-O*A*L,U[7]=M*L-O*A*F,U[8]=O*T,o.multiply(C,U,r)};var L=new c;return y.pointToWindowCoordinates=function(e,t,r,n){var i=L;return s.multiplyByVector(e,c.fromElements(r.x,r.y,r.z,1,i),i),c.multiplyByScalar(i,1/i.w,i),s.multiplyByVector(t,i,i),u.fromCartesian4(i,n)},y}),define("Core/AxisAlignedBoundingBox",["./defaultValue","./defined","./DeveloperError","./Cartesian3","./Intersect"],function(e,t,r,n,i){"use strict";var a=function(r,i,a){this.minimum=n.clone(e(r,n.ZERO)),this.maximum=n.clone(e(i,n.ZERO)),t(a)?a=n.clone(a):(a=n.add(this.minimum,this.maximum),n.multiplyByScalar(a,.5,a)),this.center=a};a.fromPoints=function(e,r){if(t(r)||(r=new a),!t(e)||0===e.length)return r.minimum=n.clone(n.ZERO,r.minimum),r.maximum=n.clone(n.ZERO,r.maximum),r.center=n.clone(n.ZERO,r.center),r;for(var i=e[0].x,o=e[0].y,s=e[0].z,u=e[0].x,l=e[0].y,c=e[0].z,f=e.length,h=1;f>h;h++){var d=e[h],m=d.x,p=d.y,y=d.z;i=Math.min(m,i),u=Math.max(m,u),o=Math.min(p,o),l=Math.max(p,l),s=Math.min(y,s),c=Math.max(y,c)}var v=r.minimum;v.x=i,v.y=o,v.z=s;var g=r.maximum;g.x=u,g.y=l,g.z=c;var E=n.add(v,g,r.center);return n.multiplyByScalar(E,.5,E),r},a.clone=function(e,r){return t(e)?t(r)?(r.minimum=n.clone(e.minimum,r.minimum),r.maximum=n.clone(e.maximum,r.maximum),r.center=n.clone(e.center,r.center),r):new a(e.minimum,e.maximum):void 0},a.equals=function(e,r){return e===r||t(e)&&t(r)&&n.equals(e.center,r.center)&&n.equals(e.minimum,r.minimum)&&n.equals(e.maximum,r.maximum)};var o=new n;return a.intersect=function(e,t){o=n.subtract(e.maximum,e.minimum,o);var r=n.multiplyByScalar(o,.5,o),a=r.x*Math.abs(t.x)+r.y*Math.abs(t.y)+r.z*Math.abs(t.z),s=n.dot(e.center,t)+t.w;return s-a>0?i.INSIDE:0>s+a?i.OUTSIDE:i.INTERSECTING},a.prototype.clone=function(e){return a.clone(this,e)},a.prototype.intersect=function(e){return a.intersect(this,e)},a.prototype.equals=function(e){return a.equals(this,e)},a}),define("Core/Ray",["./DeveloperError","./defaultValue","./Cartesian3"],function(e,t,r){"use strict";var n=function(e,n){n=r.clone(t(n,r.ZERO)),r.equals(n,r.ZERO)||r.normalize(n,n),this.origin=r.clone(t(e,r.ZERO)),this.direction=n};return n.prototype.getPoint=function(e,t){return t=r.multiplyByScalar(this.direction,e,t),r.add(this.origin,t,t)},n}),define("Core/EllipsoidTangentPlane",["./defaultValue","./defined","./defineProperties","./DeveloperError","./Transforms","./AxisAlignedBoundingBox","./IntersectionTests","./Cartesian2","./Cartesian3","./Ellipsoid","./Matrix4","./Ray","./Plane"],function(e,t,r,n,i,a,o,s,u,l,c,f,h){"use strict";var d=function(t,r){r=e(r,l.WGS84),t=r.scaleToGeodeticSurface(t);var n=i.eastNorthUpToFixedFrame(t,r);this._ellipsoid=r,this._origin=u.clone(t),this._xAxis=u.fromCartesian4(c.getColumn(n,0)),this._yAxis=u.fromCartesian4(c.getColumn(n,1));var a=u.fromCartesian4(c.getColumn(n,2));this._plane=h.fromPointNormal(t,a)};r(d.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},origin:{get:function(){return this._origin}}});var m=new a;d.fromPoints=function(e,t){var r=a.fromPoints(e,m);return new d(r.center,t)};var p=new f,y=new u;d.prototype.projectPointOntoPlane=function(e,r){var n=p;n.origin=e,u.normalize(e,n.direction);var i=o.rayPlane(n,this._plane,y);if(t(i)||(u.negate(n.direction,n.direction),i=o.rayPlane(n,this._plane,y)),t(i)){var a=u.subtract(i,this._origin,i),l=u.dot(this._xAxis,a),c=u.dot(this._yAxis,a);return t(r)?(r.x=l,r.y=c,r):new s(l,c)}return void 0},d.prototype.projectPointsOntoPlane=function(e,r){t(r)||(r=[]);for(var n=0,i=e.length,a=0;i>a;a++){var o=this.projectPointOntoPlane(e[a],r[n]);t(o)&&(r[n]=o,n++)}return r.length=n,r};var v=new u;return d.prototype.projectPointsOntoEllipsoid=function(e,r){var n=e.length;t(r)?r.length=n:r=new Array(n);for(var i=this._ellipsoid,a=this._origin,o=this._xAxis,s=this._yAxis,l=v,c=0;n>c;++c){var f=e[c];u.multiplyByScalar(o,f.x,l);var h=r[c]=u.add(a,l,r[c]);u.multiplyByScalar(s,f.y,l),u.add(h,l,h),i.scaleToGeocentricSurface(h,h)}return r},d}),define("Core/pointInsideTriangle",["./barycentricCoordinates","./Cartesian3"],function(e,t){"use strict";var r=new t,n=function(t,n,i,a){return e(t,n,i,a,r),r.x>0&&r.y>0&&r.z>0};return n}),define("Core/Queue",[],function(){"use strict";var e=function(){this._array=[],this._offset=0,this.length=0};return e.prototype.enqueue=function(e){this._array.push(e),this.length++},e.prototype.dequeue=function(){if(0===this.length)return void 0;var e=this._array,t=this._offset,r=e[t];return e[t]=void 0,t++,t>10&&2*t>e.length&&(this._array=e.slice(t),t=0),this._offset=t,this.length--,r},e.prototype.contains=function(e){return-1!==this._array.indexOf(e)},e.prototype.clear=function(){this._array.length=this._offset=this.length=0},e.prototype.sort=function(e){this._offset>0&&(this._array=this._array.slice(this._offset),this._offset=0),this._array.sort(e)},e}),define("Core/WindingOrder",["./Enumeration"],function(e){"use strict";var t={CLOCKWISE:new e(2304,"CLOCKWISE"),COUNTER_CLOCKWISE:new e(2305,"COUNTER_CLOCKWISE"),validate:function(e){return e===t.CLOCKWISE||e===t.COUNTER_CLOCKWISE}};return t}),define("Core/PolygonPipeline",["./DeveloperError","./Math","./Cartesian2","./Cartesian3","./defined","./Geometry","./GeometryAttribute","./Ellipsoid","./EllipsoidTangentPlane","./defaultValue","./pointInsideTriangle","./ComponentDatatype","./PrimitiveType","./Queue","./WindingOrder"],function(e,t,r,n,i,a,o,s,u,l,c,f,h,d,m){"use strict";function p(e,t,n){var i=r.subtract(t,e),a=r.subtract(n,t);return i.x*a.y-i.y*a.x>=0}function y(e){for(var t=e[0].x,r=0,n=0;nt&&(t=e[n].x,r=n);return r}function v(e){for(var t=e[0][0].x,r=0,n=0;nt&&(t=i,r=n)}return r}function g(e){for(var t=[],r=0;rc&&(c=t[f].x);c+=c-u;var h=new n(c,e.y,0);for(f=0;f=e.x||m.x>=e.x)&&(d.y>=e.y&&m.y<=e.y||d.y<=e.y&&m.y>=e.y)){var p=(m.y-d.y)*(h.x-e.x)-(m.x-d.x)*(h.y-e.y);if(0!==p){p=1/p;var v=((m.x-d.x)*(e.y-d.y)-(m.y-d.y)*(e.x-d.x))*p,g=((h.x-e.x)*(e.y-d.y)-(h.y-e.y)*(e.x-d.x))*p;if(v>=0&&1>=v&&g>=0&&1>=g){var E=new r(e.x+v*(h.x-e.x),e.y+v*(h.y-e.y)),w=r.subtract(E,e);p=r.magnitudeSquared(w),a>p&&(s=E,a=p,i[0]=f,i[1]=(f+1)%t.length)}}}}return s}function S(e,t){var n=v(t),i=t[n],a=y(i),o=i[a],s=[],u=w(o,e,s),l=E(e,u);if(-1!==l)return l;var f=r.magnitudeSquared(r.subtract(e[s[0]],o)),h=r.magnitudeSquared(r.subtract(e[s[1]],o)),d=h>f?e[s[0]]:e[s[1]],m=g(e),p=m.indexOf(d);-1!==p&&m.splice(p,1);for(var S=[],x=0;x0){var O=new r(1,0);for(x=0;xD&&(T=D,d=S[x])}}}return e.indexOf(d)}function x(e,t,r){for(var i=Y.computeWindingOrder2D(e),a=0;an&&(n=t.length-1),n===t.length&&(n=0),D(n,t),n}function D(t,i){var a=t-1,o=t+1;0>a&&(a=i.length-1),o===i.length&&(o=0);var s=r.subtract(i[a].position,i[t].position),u=r.subtract(i[o].position,i[t].position);if(s=new n(s.x,s.y,0),u=new n(u.x,u.y,0),I(s,u)){var l=new e("Superfluous vertex found.");throw l.vertexIndex=t,l}}function I(e,t){return 0===n.cross(e,t).z}function _(e,t){return n.cross(e,t).z<0}function b(e,t){return n.cross(e,t).z>0}function N(e,t,r){return n.cross(e,r).z>0&&n.cross(r,t).z>0}function P(e,t,r){return n.cross(e,r).z<0&&n.cross(r,t).z<0}function R(e,t,n){for(var i=0;it||e>r)&&(t>e||r>e)||t===r&&t===e}function F(t){var r=t.length;if(3===r)return z(t)?[]:[t[0].index,t[1].index,t[2].index];if(t.length<3)throw new e("Invalid polygon: must have at least three vertices.");for(var n=!1,i=0;!n;){var a=10*t.length;if(i>a)return[];i++;for(var o=C(t.length),s=o+1;Math.abs(o-s)<2||Math.abs(o-s)>t.length-2;)s=C(t.length);if(o>s){var u=o;o=s,s=u}try{if(T(o,s,t)){var l=t.splice(o,s-o+1,t[o],t[s]);return F(t).concat(F(l))}}catch(c){if(c.hasOwnProperty("vertexIndex"))return t.splice(c.vertexIndex,1),F(t);throw c}}}var U=0,B=-1,q=1,G=new n,W=new n,Y={removeDuplicates:function(e){for(var t=e.length,r=[],i=t-1,a=0;t>a;i=a++){var o=e[i],s=e[a];n.equals(o,s)||r.push(s)}return r},computeArea2D:function(e){for(var t=e.length,r=0,n=t-1,i=0;t>i;n=i++){var a=e[n],o=e[i]; +r+=a.x*o.y-o.x*a.y}return.5*r},computeWindingOrder2D:function(e){var t=Y.computeArea2D(e);return t>=0?m.COUNTER_CLOCKWISE:m.CLOCKWISE},triangulate:function(e){for(var t=e.length,r=[],n=0;t>n;++n)r[n]={position:e[n],index:n};return F(r)},resetSeed:function(e){U=l(e,0)},computeSubdivision:function(e,r,i){i=l(i,t.RADIANS_PER_DEGREE);for(var s=new d,u=r.length,c=0;u>c;c+=3)s.enqueue({i0:r[c],i1:r[c+1],i2:r[c+2]});for(var m,p=e.slice(0),y=[],v={};s.length>0;){var g,E,w=s.dequeue(),S=p[w.i0],x=p[w.i1],C=p[w.i2],T=n.angleBetween(S,x),O=n.angleBetween(x,C),A=n.angleBetween(C,S),M=Math.max(T,Math.max(O,A));M>i?T===M?(g=Math.min(w.i0,w.i1).toString()+" "+Math.max(w.i0,w.i1).toString(),m=v[g],m||(E=n.add(S,x),n.multiplyByScalar(E,.5,E),p.push(E),m=p.length-1,v[g]=m),s.enqueue({i0:w.i0,i1:m,i2:w.i2}),s.enqueue({i0:m,i1:w.i1,i2:w.i2})):O===M?(g=Math.min(w.i1,w.i2).toString()+" "+Math.max(w.i1,w.i2).toString(),m=v[g],m||(E=n.add(x,C),n.multiplyByScalar(E,.5,E),p.push(E),m=p.length-1,v[g]=m),s.enqueue({i0:w.i1,i1:m,i2:w.i0}),s.enqueue({i0:m,i1:w.i2,i2:w.i0})):A===M&&(g=Math.min(w.i2,w.i0).toString()+" "+Math.max(w.i2,w.i0).toString(),m=v[g],m||(E=n.add(C,S),n.multiplyByScalar(E,.5,E),p.push(E),m=p.length-1,v[g]=m),s.enqueue({i0:w.i2,i1:m,i2:w.i1}),s.enqueue({i0:m,i1:w.i0,i2:w.i1})):(y.push(w.i0),y.push(w.i1),y.push(w.i2))}var D=p.length,I=new Array(3*D),_=0;for(m=0;D>m;m++){var b=p[m];I[_++]=b.x,I[_++]=b.y,I[_++]=b.z}return new a({attributes:{position:new o({componentDatatype:f.DOUBLE,componentsPerAttribute:3,values:I})},indices:y,primitiveType:h.TRIANGLES})},scaleToGeodeticHeight:function(e,t,r,a){r=l(r,s.WGS84);var o=G,u=W;if(t=l(t,0),a=l(a,!0),i(e)&&i(e.attributes)&&i(e.attributes.position))for(var c=e.attributes.position.values,f=c.length,h=0;f>h;h+=3)n.fromArray(c,h,u),a&&(u=r.scaleToGeodeticSurface(u,u)),o=r.geodeticSurfaceNormal(u,o),n.multiplyByScalar(o,t,o),n.add(u,o,u),c[h]=u.x,c[h+1]=u.y,c[h+2]=u.z;return e},eliminateHoles:function(e,t,r){r=l(r,s.WGS84);for(var i=[],a=0;a0;)c=x(c,i,r);return c}};return Y}),define("Core/EllipsoidGeodesic",["./Cartesian3","./Cartographic","./defaultValue","./defined","./DeveloperError","./Ellipsoid","./Math"],function(e,t,r,n,i,a,o){"use strict";function s(e){var t=e._uSquared,r=e._ellipsoid.maximumRadius,n=e._ellipsoid.minimumRadius,i=(r-n)/r,a=Math.cos(e._startHeading),o=Math.sin(e._startHeading),s=(1-i)*Math.tan(e._start.latitude),u=1/Math.sqrt(1+s*s),l=u*s,c=Math.atan2(s,a),f=u*o,h=f*f,d=1-h,m=Math.sqrt(d),p=t/4,y=p*p,v=y*p,g=y*y,E=1+p-3*y/4+5*v/4-175*g/64,w=1-p+15*y/8-35*v/8,S=1-3*p+35*y/4,x=1-5*p,C=E*c-w*Math.sin(2*c)*p/2-S*Math.sin(4*c)*y/16-x*Math.sin(6*c)*v/48-5*Math.sin(8*c)*g/512,T=e._constants;T.a=r,T.b=n,T.f=i,T.cosineHeading=a,T.sineHeading=o,T.tanU=s,T.cosineU=u,T.sineU=l,T.sigma=c,T.sineAlpha=f,T.sineSquaredAlpha=h,T.cosineSquaredAlpha=d,T.cosineAlpha=m,T.u2Over4=p,T.u4Over16=y,T.u6Over64=v,T.u8Over256=g,T.a0=E,T.a1=w,T.a2=S,T.a3=x,T.distanceRatio=C}function u(e,t){return e*t*(4+e*(4-3*t))/16}function l(e,t,r,n,i,a,o){var s=u(e,r);return(1-s)*e*t*(n+s*i*(o+s*a*(2*o*o-1)))}function c(e,t,r,n,i,a,s){var u,c,f,h,d,m=(t-r)/t,p=a-n,y=Math.atan((1-m)*Math.tan(i)),v=Math.atan((1-m)*Math.tan(s)),g=Math.cos(y),E=Math.sin(y),w=Math.cos(v),S=Math.sin(v),x=g*w,C=g*S,T=E*S,O=E*w,A=p,M=o.TWO_PI,D=Math.cos(A),I=Math.sin(A);do{D=Math.cos(A),I=Math.sin(A);var _=C-O*D;f=Math.sqrt(w*w*I*I+_*_),c=T+x*D,u=Math.atan2(f,c);var b;0===f?(b=0,h=1):(b=x*I/f,h=1-b*b),M=A,d=c-2*T/h,isNaN(d)&&(d=0),A=p+l(m,b,h,u,f,c,d)}while(Math.abs(A-M)>o.EPSILON12);var N=h*(t*t-r*r)/(r*r),P=1+N*(4096+N*(N*(320-175*N)-768))/16384,R=N*(256+N*(N*(74-47*N)-128))/1024,z=d*d,L=R*f*(d+R*(c*(2*z-1)-R*d*(4*f*f-3)*(4*z-3)/6)/4),F=r*P*(u-L),U=Math.atan2(w*I,C-O*D),B=Math.atan2(g*I,C*D-O);e._distance=F,e._startHeading=U,e._endHeading=B,e._uSquared=N}function f(r,n,i,a){e.normalize(a.cartographicToCartesian(n,d),h),e.normalize(a.cartographicToCartesian(i,d),d),c(r,a.maximumRadius,a.minimumRadius,n.longitude,n.latitude,i.longitude,i.latitude),n.height=0,i.height=0,r._start=t.clone(n,r._start),r._end=t.clone(i,r._end),s(r)}var h=new e,d=new e,m=function(e,i,o){var s=r(o,a.WGS84);this._ellipsoid=s,this._start=new t,this._end=new t,this._constants={},this._startHeading=void 0,this._endHeading=void 0,this._distance=void 0,this._uSquared=void 0,n(e)&&n(i)&&f(this,e,i,s)};return m.prototype.getSurfaceDistance=function(){return this._distance},m.prototype.setEndPoints=function(e,t){f(this,e,t,this._ellipsoid)},m.prototype.getStart=function(){return this._start},m.prototype.getEnd=function(){return this._end},m.prototype.getStartHeading=function(){return this._startHeading},m.prototype.getEndHeading=function(){return this._endHeading},m.prototype.interpolateUsingFraction=function(e,t){return this.interpolateUsingSurfaceDistance(this._distance*e,t)},m.prototype.interpolateUsingSurfaceDistance=function(e,r){var i=this._constants,a=i.distanceRatio+e/i.b,o=Math.cos(2*a),s=Math.cos(4*a),u=Math.cos(6*a),c=Math.sin(2*a),f=Math.sin(4*a),h=Math.sin(6*a),d=Math.sin(8*a),m=a*a,p=a*m,y=i.u8Over256,v=i.u2Over4,g=i.u6Over64,E=i.u4Over16,w=2*p*y*o/3+a*(1-v+7*E/4-15*g/4+579*y/64-(E-15*g/4+187*y/16)*o-(5*g/4-115*y/16)*s-29*y*u/16)+(v/2-E+71*g/32-85*y/16)*c+(5*E/16-5*g/4+383*y/96)*f-m*((g-11*y/2)*c+5*y*f/2)+(29*g/96-29*y/16)*h+539*y*d/1536,S=Math.asin(Math.sin(w)*i.cosineAlpha),x=Math.atan(i.a/i.b*Math.tan(S));w-=i.sigma;var C=Math.cos(2*i.sigma+w),T=Math.sin(w),O=Math.cos(w),A=i.cosineU*O,M=i.sineU*T,D=Math.atan2(T*i.sineHeading,A-M*i.cosineHeading),I=D-l(i.f,i.sineAlpha,i.cosineSquaredAlpha,w,T,O,C);return n(r)?(r.longitude=this._start.longitude+I,r.latitude=x,r.height=0,r):new t(this._start.longitude+I,x,0)},m}),define("Core/PolylinePipeline",["./Cartesian3","./Cartographic","./defaultValue","./defined","./DeveloperError","./Ellipsoid","./EllipsoidGeodesic","./IntersectionTests","./isArray","./Math","./Matrix4","./Plane"],function(e,t,r,n,i,a,o,s,u,l,c,f){"use strict";function h(t,r,n,i){var a=i.scaleToGeodeticSurface(t,A),o=i.scaleToGeodeticSurface(r,M),s=e.angleBetween(a,o),u=Math.ceil(s/n),l=new Array(3*u),c=i.cartesianToCartographic(a,C),f=i.cartesianToCartographic(o,T);D.setEndPoints(c,f);var h=D.getSurfaceDistance()/u,d=0;c.height=0;var m=i.cartographicToCartesian(c,O);l[d++]=m.x,l[d++]=m.y,l[d++]=m.z;for(var p=1;u>p;p++){var y=D.interpolateUsingSurfaceDistance(p*h,T);m=i.cartographicToCartesian(y,O),l[d++]=m.x,l[d++]=m.y,l[d++]=m.z}return l}function d(t,r,n){var i=I;return n.geodeticSurfaceNormal(t,i),e.multiplyByScalar(i,r,i),e.add(t,i,t),t}var m={},p=new c,y=new e,v=new e,g=new f(e.ZERO,0),E=new e,w=new f(e.ZERO,0),S=new e,x=new e,C=new t,T=new t,O=new e,A=new e,M=new e,D=new o,I=new e,_=new e;return m.wrapLongitude=function(t,i){var a=[],o=[];if(n(t)&&t.length>0){i=r(i,c.IDENTITY);var u=c.inverseTransformation(i,p),l=c.multiplyByPoint(u,e.ZERO,y),h=c.multiplyByPointAsVector(u,e.UNIT_Y,v),d=f.fromPointNormal(l,h,g),m=c.multiplyByPointAsVector(u,e.UNIT_X,E),C=f.fromPointNormal(l,m,w),T=1;a.push(e.clone(t[0]));for(var O=a[0],A=t.length,M=1;A>M;++M){var D=t[M];if(f.getPointDistance(C,O)<0||f.getPointDistance(C,D)<0){var I=s.lineSegmentPlane(O,D,d,S);if(n(I)){var _=e.multiplyByScalar(h,5e-9,x);f.getPointDistance(d,O)<0&&e.negate(_,_),a.push(e.add(I,_)),o.push(T+1),e.negate(_,_),a.push(e.add(I,_)),T=1}}a.push(e.clone(t[M])),T++,O=D}o.push(T)}return{positions:a,lengths:o}},m.removeDuplicates=function(t){var r=t.length;if(2>r)return t.slice(0);var n=[];n.push(t[0]);for(var i=1;r>i;++i){var a=t[i-1],o=t[i];e.equals(a,o)||n.push(o)}return n},m.scaleToSurface=function(e,t,n){t=r(t,l.RADIANS_PER_DEGREE),n=r(n,a.WGS84);for(var i=e.length,o=[],s=0;i-1>s;s++){var u=e[s],c=e[s+1];o=o.concat(h(u,c,t,n))}var f=e[i-1],d=n.cartesianToCartographic(f,C);d.height=0;var m=n.cartographicToCartesian(d,O);return o.push(m.x,m.y,m.z),o},m.scaleToGeodeticHeight=function(t,o,s,l){s=r(s,a.WGS84);var c,f,h=t.length,m=_;if(n(l)){if(l.length!==t.length)throw new i("result.length must be equal to positions.length");f=l}else f=new Array(t.length);if(0===o){for(c=0;h>c;c+=3)m=s.scaleToGeodeticSurface(e.fromArray(t,c,m),m),f[c]=m.x,f[c+1]=m.y,f[c+2]=m.z;return f}var p;if(u(o)){if(o.length!==h/3)throw new i("height.length must be equal to positions.length");for(c=0;h>c;c+=3)p=o[c/3],m=e.fromArray(t,c,m),m=d(m,p,s),f[c]=m.x,f[c+1]=m.y,f[c+2]=m.z}else for(p=o,c=0;h>c;c+=3)m=e.fromArray(t,c,m),m=d(m,p,s),f[c]=m.x,f[c+1]=m.y,f[c+2]=m.z;return f},m}),define("Core/Quaternion",["./Cartesian3","./defaultValue","./defined","./DeveloperError","./FeatureDetection","./freezeObject","./Math","./Matrix3"],function(e,t,r,n,i,a,o,s){"use strict";var u,l=function(e,r,n,i){this.x=t(e,0),this.y=t(r,0),this.z=t(n,0),this.w=t(i,0)};l.fromAxisAngle=function(t,n,i){var a=n/2,o=Math.sin(a);u=e.normalize(t,u);var s=u.x*o,c=u.y*o,f=u.z*o,h=Math.cos(a);return r(i)?(i.x=s,i.y=c,i.z=f,i.w=h,i):new l(s,c,f,h)};var c=[1,2,0],f=new Array(3);l.fromRotationMatrix=function(e,t){var n,i,a,o,u,h=e[s.COLUMN0ROW0],d=e[s.COLUMN1ROW1],m=e[s.COLUMN2ROW2],p=h+d+m;if(p>0)n=Math.sqrt(p+1),u=.5*n,n=.5/n,i=(e[s.COLUMN1ROW2]-e[s.COLUMN2ROW1])*n,a=(e[s.COLUMN2ROW0]-e[s.COLUMN0ROW2])*n,o=(e[s.COLUMN0ROW1]-e[s.COLUMN1ROW0])*n;else{var y=c,v=0;d>h&&(v=1),m>h&&m>d&&(v=2);var g=y[v],E=y[g];n=Math.sqrt(e[s.getElementIndex(v,v)]-e[s.getElementIndex(g,g)]-e[s.getElementIndex(E,E)]+1);var w=f;w[v]=.5*n,n=.5/n,u=(e[s.getElementIndex(E,g)]-e[s.getElementIndex(g,E)])*n,w[g]=(e[s.getElementIndex(g,v)]+e[s.getElementIndex(v,g)])*n,w[E]=(e[s.getElementIndex(E,v)]+e[s.getElementIndex(v,E)])*n,i=-w[0],a=-w[1],o=-w[2]}return r(t)?(t.x=i,t.y=a,t.z=o,t.w=u,t):new l(i,a,o,u)};var h=new e,d=new e,m=new l,p=new l,y=new l;l.packedLength=4,l.pack=function(e,r,n){n=t(n,0),r[n++]=e.x,r[n++]=e.y,r[n++]=e.z,r[n]=e.w},l.unpack=function(e,n,i){return n=t(n,0),r(i)||(i=new l),i.x=e[n],i.y=e[n+1],i.z=e[n+2],i.w=e[n+3],i},l.packedInterpolationLength=3,l.convertPackedArrayForInterpolation=function(e,t,r,n){l.unpack(e,4*r,y),l.conjugate(y,y);for(var i=0,a=r-t+1;a>i;i++){var o=3*i;l.unpack(e,4*(t+i),m),l.multiply(m,y,m),m.w<0&&l.negate(m,m),l.getAxis(m,h);var s=l.getAngle(m);n[o]=h.x*s,n[o+1]=h.y*s,n[o+2]=h.z*s}},l.unpackInterpolationResult=function(t,n,i,a,o){r(o)||(o=new l),e.fromArray(t,0,d);var s=e.magnitude(d);return l.unpack(n,4*a,p),0===s?l.clone(l.IDENTITY,m):l.fromAxisAngle(d,s,m),l.multiply(m,p,o)},l.clone=function(e,t){return r(e)?r(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t):new l(e.x,e.y,e.z,e.w):void 0},l.conjugate=function(e,t){return r(t)?(t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=e.w,t):new l(-e.x,-e.y,-e.z,e.w)},l.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w},l.magnitude=function(e){return Math.sqrt(l.magnitudeSquared(e))},l.normalize=function(e,t){var n=1/l.magnitude(e),i=e.x*n,a=e.y*n,o=e.z*n,s=e.w*n;return r(t)?(t.x=i,t.y=a,t.z=o,t.w=s,t):new l(i,a,o,s)},l.inverse=function(e,t){var r=l.magnitudeSquared(e);return t=l.conjugate(e,t),l.multiplyByScalar(t,1/r,t)},l.add=function(e,t,n){return r(n)?(n.x=e.x+t.x,n.y=e.y+t.y,n.z=e.z+t.z,n.w=e.w+t.w,n):new l(e.x+t.x,e.y+t.y,e.z+t.z,e.w+t.w)},l.subtract=function(e,t,n){return r(n)?(n.x=e.x-t.x,n.y=e.y-t.y,n.z=e.z-t.z,n.w=e.w-t.w,n):new l(e.x-t.x,e.y-t.y,e.z-t.z,e.w-t.w)},l.negate=function(e,t){return r(t)?(t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=-e.w,t):new l(-e.x,-e.y,-e.z,-e.w)},l.dot=function(e,t){return e.x*t.x+e.y*t.y+e.z*t.z+e.w*t.w},l.multiply=function(e,t,n){var i=e.x,a=e.y,o=e.z,s=e.w,u=t.x,c=t.y,f=t.z,h=t.w,d=s*u+i*h+a*f-o*c,m=s*c-i*f+a*h+o*u,p=s*f+i*c-a*u+o*h,y=s*h-i*u-a*c-o*f;return r(n)?(n.x=d,n.y=m,n.z=p,n.w=y,n):new l(d,m,p,y)},l.multiplyByScalar=function(e,t,n){return r(n)?(n.x=e.x*t,n.y=e.y*t,n.z=e.z*t,n.w=e.w*t,n):new l(e.x*t,e.y*t,e.z*t,e.w*t)},l.divideByScalar=function(e,t,n){return r(n)?(n.x=e.x/t,n.y=e.y/t,n.z=e.z/t,n.w=e.w/t,n):new l(e.x/t,e.y/t,e.z/t,e.w/t)},l.getAxis=function(t,n){var i=t.w;if(Math.abs(i-1)i&&(i=-i,a=g=l.negate(t,g)),1-ib;++b){var N=b+1,P=2*N+1;M[b]=1/(N*P),D[b]=N/P}return M[7]=A/136,D[7]=8*A/17,l.fastSlerp=function(e,t,n,i){r(i)||(i=new l);var a,o=l.dot(e,t);o>=0?a=1:(a=-1,o=-o);for(var s=o-1,u=1-n,c=n*n,f=u*u,h=7;h>=0;--h)I[h]=(M[h]*c-D[h])*s,_[h]=(M[h]*f-D[h])*s;var d=a*n*(1+I[0]*(1+I[1]*(1+I[2]*(1+I[3]*(1+I[4]*(1+I[5]*(1+I[6]*(1+I[7])))))))),m=u*(1+_[0]*(1+_[1]*(1+_[2]*(1+_[3]*(1+_[4]*(1+_[5]*(1+_[6]*(1+_[7])))))))),p=l.multiplyByScalar(e,m,O);return l.multiplyByScalar(t,d,i),l.add(p,i,i)},l.fastSquad=function(e,t,r,n,i,a){var o=l.fastSlerp(e,t,i,C),s=l.fastSlerp(r,n,i,T);return l.fastSlerp(o,s,2*i*(1-i),a)},l.equals=function(e,t){return e===t||r(e)&&r(t)&&e.x===t.x&&e.y===t.y&&e.z===t.z&&e.w===t.w},l.equalsEpsilon=function(e,t,n){return e===t||r(e)&&r(t)&&Math.abs(e.x-t.x)<=n&&Math.abs(e.y-t.y)<=n&&Math.abs(e.z-t.z)<=n&&Math.abs(e.w-t.w)<=n},l.ZERO=a(new l(0,0,0,0)),l.IDENTITY=a(new l(0,0,0,1)),l.prototype.clone=function(e){return l.clone(this,e)},l.prototype.equals=function(e){return l.equals(this,e)},l.prototype.equalsEpsilon=function(e,t){return l.equalsEpsilon(this,e,t)},l.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+", "+this.w+")"},l}),define("Core/PolylineVolumeGeometryLibrary",["./Cartesian2","./Cartesian3","./Cartesian4","./Cartographic","./CornerType","./EllipsoidTangentPlane","./Math","./Matrix3","./Matrix4","./PolylinePipeline","./Quaternion","./Transforms"],function(e,t,r,n,i,a,o,s,u,l,c,f){"use strict";function h(e,t){for(var r=new Array(e.length),n=0;na;a++)c[a]=r;return c.push(n),c}var f=n-r,h=f/l;for(a=1;l>a;a++){var d=r+a*h;c[a]=d}return c[0]=r,c.push(n),c}function m(r,n,i,o){var s=new a(i,o),u=s.projectPointOntoPlane(t.add(i,r,k),k),l=s.projectPointOntoPlane(t.add(i,n,K),K),c=e.angleBetween(u,l);return l.x*u.y-l.y*u.x>=0?-c:c}function p(e,r,n,i,a,o,l,c){var h=q,d=G;L=f.eastNorthUpToFixedFrame(e,a,L),h=u.multiplyByPointAsVector(L,z,h),h=t.normalize(h,h);var p=m(h,r,e,a);U=s.fromRotationZ(p,U),W.z=o,L=u.multiplyTransformation(L,u.fromRotationTranslation(U,W,F),L);var y=B;y[0]=l;for(var v=0;c>v;v++)for(var g=0;gu;u++){s=e[u];var l=s.x-a,c=s.y-o;n[i++]=l,n[i++]=0,n[i++]=c,n[i++]=l,n[i++]=0,n[i++]=c}return s=e[0],n[i++]=s.x-a,n[i++]=0,n[i++]=s.y-o,n}function g(e,t){for(var r=e.length,n=new Array(3*r),i=0,a=t.x+t.width/2,o=t.y+t.height/2,s=0;r>s;s++)n[i++]=e[s].x-a,n[i++]=0,n[i++]=e[s].y-o;return n}function E(e,r,n,a,u,l,f,h,d,m){var y,v=t.angleBetween(t.subtract(r,e,b),t.subtract(n,e,N)),g=a.value===i.BEVELED.value?0:Math.ceil(v/o.toRadians(5));y=u?s.fromQuaternion(c.fromAxisAngle(t.negate(e,b),v/(g+1),V),H):s.fromQuaternion(c.fromAxisAngle(e,v/(g+1),V),H);var E,w;if(r=t.clone(r,j),g>0)for(var S=m?2:1,x=0;g>x;x++)r=s.multiplyByVector(y,r,r),E=t.subtract(r,e,b),E=t.normalize(E,E),u||(E=t.negate(E,E)),w=l.scaleToGeodeticSurface(r,N),f=p(w,E,h,f,l,d,1,S);else E=t.subtract(r,e,b),E=t.normalize(E,E),u||(E=t.negate(E,E)),w=l.scaleToGeodeticSurface(r,N),f=p(w,E,h,f,l,d,1,1),n=t.clone(n,j),E=t.subtract(n,e,b),E=t.normalize(E,E),u||(E=t.negate(E,E)),w=l.scaleToGeodeticSurface(n,N),f=p(w,E,h,f,l,d,1,1);return f}function w(e,t){return o.equalsEpsilon(e.latitude,t.latitude,o.EPSILON6)&&o.equalsEpsilon(e.longitude,t.longitude,o.EPSILON6)}var S=[new t,new t],x=new t,C=new t,T=new t,O=new t,A=new t,M=new t,D=new t,I=new t,_=new t,b=new t,N=new t,P={},R=new n,z=new t(-1,0,0),L=new u,F=new u,U=new s,B=s.IDENTITY.clone(),q=new t,G=new r,W=new t,Y=new t,V=new c,j=new t,H=new s;P.removeDuplicatesFromShape=function(t){for(var r=t.length,n=[],i=r-1,a=0;r>a;i=a++){var o=t[i],s=t[a];e.equals(o,s)||n.push(s)}return n};var k=new t,K=new t;P.angleIsGreaterThanPi=function(e,r,n,i){var o=new a(n,i),s=o.projectPointOntoPlane(t.add(n,e,k),k),u=o.projectPointOntoPlane(t.add(n,r,K),K);return u.x*s.y-u.y*s.x>=0};var Z=new n,X=new n;return P.removeDuplicatesFromPositions=function(e,t){var r=e.length;if(2>r)return e.slice(0);var n=[];n.push(e[0]);for(var i=1;r>i;++i){var a=e[i-1],o=e[i],s=t.cartesianToCartographic(a,Z),u=t.cartesianToCartographic(o,X);w(s,u)||n.push(o)}return n},P.computePositions=function(e,r,n,a,s){var u=a._ellipsoid,c=h(e,u),f=a._granularity,m=a._cornerType,w=s?v(r,n):g(r,n),N=s?g(r,n):void 0,R=n.height/2,z=n.width/2,L=e.length,F=[],U=s?[]:void 0,B=x,q=C,G=T,W=O,Y=A,V=M,j=D,H=I,k=_,K=e[0],Z=e[1];W=u.geodeticSurfaceNormal(K,W),B=t.subtract(Z,K,B),B=t.normalize(B,B),H=t.cross(W,B,H),H=t.normalize(H,H);var X=c[0],J=c[1];s&&(U=p(K,H,N,U,u,X+R,1,1)),k=t.clone(K,k),K=Z,q=t.negate(B,q);for(var Q,$,et=1;L-1>et;et++){var tt=s?2:1;Z=e[et+1],B=t.subtract(Z,K,B),B=t.normalize(B,B),G=t.add(B,q,G),G=t.normalize(G,G),W=u.geodeticSurfaceNormal(K,W);var rt=!t.equalsEpsilon(t.negate(G,b),W,o.EPSILON2);if(rt){G=t.cross(G,W,G),G=t.cross(W,G,G),G=t.normalize(G,G);var nt=1/Math.max(.25,t.magnitude(t.cross(G,q,b))),it=P.angleIsGreaterThanPi(B,q,K,u);it?(Y=t.add(K,t.multiplyByScalar(G,nt*z,G),Y),V=t.add(Y,t.multiplyByScalar(H,z,V),V),S[0]=t.clone(k,S[0]),S[1]=t.clone(V,S[1]),Q=d(S,X+R,J+R,f),$=l.scaleToSurface(S),F=y($,H,w,F,u,Q,1),H=t.cross(W,B,H),H=t.normalize(H,H),j=t.add(Y,t.multiplyByScalar(H,z,j),j),m.value===i.ROUNDED.value||m.value===i.BEVELED.value?E(Y,V,j,m,it,u,F,w,J+R,s):(G=t.negate(G,G),F=p(K,G,w,F,u,J+R,nt,tt)),k=t.clone(j,k)):(Y=t.add(K,t.multiplyByScalar(G,nt*z,G),Y),V=t.add(Y,t.multiplyByScalar(H,-z,V),V),S[0]=t.clone(k,S[0]),S[1]=t.clone(V,S[1]),Q=d(S,X+R,J+R,f),$=l.scaleToSurface(S,f,u),F=y($,H,w,F,u,Q,1),H=t.cross(W,B,H),H=t.normalize(H,H),j=t.add(Y,t.multiplyByScalar(H,-z,j),j),m.value===i.ROUNDED.value||m.value===i.BEVELED.value?E(Y,V,j,m,it,u,F,w,J+R,s):F=p(K,G,w,F,u,J+R,nt,tt),k=t.clone(j,k)),q=t.negate(B,q)}else F=p(k,H,w,F,u,X+R,1,1),k=K;X=J,J=c[et+1],K=Z}S[0]=t.clone(k,S[0]),S[1]=t.clone(K,S[1]),Q=d(S,X+R,J+R,f),$=l.scaleToSurface(S,f,u),F=y($,H,w,F,u,Q,1),s&&(U=p(K,H,N,U,u,J+R,1,1)),L=F.length;var at=s?L+U.length:L,ot=new Float64Array(at);return ot.set(F),s&&ot.set(U,L),ot},P}),define("Core/VertexFormat",["./defaultValue","./freezeObject"],function(e,t){"use strict";var r=function(t){t=e(t,e.EMPTY_OBJECT),this.position=e(t.position,!1),this.normal=e(t.normal,!1),this.st=e(t.st,!1),this.binormal=e(t.binormal,!1),this.tangent=e(t.tangent,!1)};return r.POSITION_ONLY=t(new r({position:!0})),r.POSITION_AND_NORMAL=t(new r({position:!0,normal:!0})),r.POSITION_NORMAL_AND_ST=t(new r({position:!0,normal:!0,st:!0})),r.POSITION_AND_ST=t(new r({position:!0,st:!0})),r.ALL=t(new r({position:!0,normal:!0,st:!0,binormal:!0,tangent:!0})),r.DEFAULT=r.POSITION_NORMAL_AND_ST,r}),define("Core/PolylineVolumeGeometry",["./BoundingRectangle","./BoundingSphere","./ComponentDatatype","./CornerType","./defaultValue","./defined","./DeveloperError","./Ellipsoid","./Geometry","./GeometryAttribute","./GeometryAttributes","./GeometryPipeline","./IndexDatatype","./Math","./PolygonPipeline","./PolylineVolumeGeometryLibrary","./PrimitiveType","./VertexFormat","./WindingOrder"],function(e,t,r,n,i,a,o,s,u,l,c,f,h,d,m,p,y,v,g){"use strict";function E(e,n,i,a){var o=new c;a.position&&(o.position=new l({componentDatatype:r.DOUBLE,componentsPerAttribute:3,values:e}));var s,d,p,v,g,E,w=n.length,S=e.length/3,x=(S-2*w)/(2*w),C=m.triangulate(n),T=6*(x-1)*w+2*C.length,O=h.createTypedArray(S,T),A=2*w,M=0;for(s=0;x-1>s;s++){for(d=0;w-1>d;d++)p=2*d+2*s*w,E=p+A,v=p+1,g=v+A,O[M++]=v,O[M++]=p,O[M++]=g,O[M++]=g,O[M++]=p,O[M++]=E;p=2*w-2+2*s*w,v=p+1,g=v+A,E=p+A,O[M++]=v,O[M++]=p,O[M++]=g,O[M++]=g,O[M++]=p,O[M++]=E}if(a.st||a.tangent||a.binormal){var D,I,_=new Float32Array(2*S),b=1/(x-1),N=1/i.height,P=i.height/2,R=0;for(s=0;x>s;s++){for(D=s*b,I=N*(n[0].y+P),_[R++]=D,_[R++]=I,d=1;w>d;d++)I=N*(n[d].y+P),_[R++]=D,_[R++]=I,_[R++]=D,_[R++]=I;I=N*(n[0].y+P),_[R++]=D,_[R++]=I}for(d=0;w>d;d++)D=0,I=N*(n[d].y+P),_[R++]=D,_[R++]=I;for(d=0;w>d;d++)D=(x-1)*b,I=N*(n[d].y+P),_[R++]=D,_[R++]=I;o.st=new l({componentDatatype:r.FLOAT,componentsPerAttribute:2,values:new Float32Array(_)})}var z=S-2*w;for(s=0;sr&&(r+=1),r>1&&(r-=1),1>6*r?e+6*(t-e)*r:1>2*r?t:2>3*r?e+6*(t-e)*(2/3-r):e}var s=function(t,r,n,i){this.red=e(t,1),this.green=e(r,1),this.blue=e(n,1),this.alpha=e(i,1)};s.fromBytes=function(t,r,n,i){return t=s.byteToFloat(e(t,255)),r=s.byteToFloat(e(r,255)),n=s.byteToFloat(e(n,255)),i=s.byteToFloat(e(i,255)),new s(t,r,n,i)};var u,l,c;i.supportsTypedArrays()&&(u=new ArrayBuffer(4),l=new Uint32Array(u),c=new Uint8Array(u)),s.fromRgba=function(e){return l[0]=e,s.fromBytes(c[0],c[1],c[2],c[3])},s.fromHsl=function(t,r,n,i){t=e(t,0)%1,r=e(r,0),n=e(n,0),i=e(i,1);var a=n,u=n,l=n;if(0!==r){var c;c=.5>n?n*(1+r):n+r-n*r;var f=2*n-c;a=o(f,c,t+1/3),u=o(f,c,t),l=o(f,c,t-1/3)}return new s(a,u,l,i)},s.fromRandom=function(r,n){r=e(r,e.EMPTY_OBJECT);var i=r.red;if(!t(i)){var o=e(r.minimumRed,0),u=e(r.maximumRed,1);i=o+a.nextRandomNumber()*(u-o)}var l=r.green;if(!t(l)){var c=e(r.minimumGreen,0),f=e(r.maximumGreen,1);l=c+a.nextRandomNumber()*(f-c)}var h=r.blue;if(!t(h)){var d=e(r.minimumBlue,0),m=e(r.maximumBlue,1);h=d+a.nextRandomNumber()*(m-d)}var p=r.alpha;if(!t(p)){var y=e(r.minimumAlpha,0),v=e(r.maximumAlpha,1);p=y+a.nextRandomNumber()*(v-y)}return t(n)?(n.red=i,n.green=l,n.blue=h,n.alpha=p,n):new s(i,l,h,p)};var f=/^#([0-9a-f])([0-9a-f])([0-9a-f])$/i,h=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i,d=/^rgba?\(\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)(?:\s*,\s*([0-9.]+))?\s*\)$/i,m=/^hsla?\(\s*([0-9.]+)\s*,\s*([0-9.]+%)\s*,\s*([0-9.]+%)(?:\s*,\s*([0-9.]+))?\s*\)$/i;return s.fromCssColorString=function(r){var n=s[r.toUpperCase()];if(t(n))return s.clone(n);var i=f.exec(r);return null!==i?new s(parseInt(i[1],16)/15,parseInt(i[2],16)/15,parseInt(i[3],16)/15):(i=h.exec(r),null!==i?new s(parseInt(i[1],16)/255,parseInt(i[2],16)/255,parseInt(i[3],16)/255):(i=d.exec(r),null!==i?new s(parseFloat(i[1])/("%"===i[1].substr(-1)?100:255),parseFloat(i[2])/("%"===i[2].substr(-1)?100:255),parseFloat(i[3])/("%"===i[3].substr(-1)?100:255),parseFloat(e(i[4],"1.0"))):(i=m.exec(r),null!==i?s.fromHsl(parseFloat(i[1])/360,parseFloat(i[2])/100,parseFloat(i[3])/100,parseFloat(e(i[4],"1.0"))):void 0)))},s.packedLength=4,s.pack=function(t,r,n){n=e(n,0),r[n++]=t.red,r[n++]=t.green,r[n++]=t.blue,r[n]=t.alpha},s.unpack=function(r,n,i){return n=e(n,0),t(i)||(i=new s),i.red=r[n++],i.green=r[n++],i.blue=r[n++],i.alpha=r[n],i},s.byteToFloat=function(e){return e/255},s.floatToByte=function(e){return 1===e?255:0|256*e},s.clone=function(e,r){return t(e)?t(r)?(r.red=e.red,r.green=e.green,r.blue=e.blue,r.alpha=e.alpha,r):new s(e.red,e.green,e.blue,e.alpha):void 0},s.equals=function(e,r){return e===r||t(e)&&t(r)&&e.red===r.red&&e.green===r.green&&e.blue===r.blue&&e.alpha===r.alpha},s.prototype.clone=function(e){return s.clone(this,e)},s.prototype.equals=function(e){return s.equals(this,e)},s.prototype.equalsEpsilon=function(e,r){return this===e||t(e)&&Math.abs(this.red-e.red)<=r&&Math.abs(this.green-e.green)<=r&&Math.abs(this.blue-e.blue)<=r&&Math.abs(this.alpha-e.alpha)<=r},s.prototype.toString=function(){return"("+this.red+", "+this.green+", "+this.blue+", "+this.alpha+")"},s.prototype.toCssColorString=function(){var e=s.floatToByte(this.red),t=s.floatToByte(this.green),r=s.floatToByte(this.blue);return 1===this.alpha?"rgb("+e+","+t+","+r+")":"rgba("+e+","+t+","+r+","+this.alpha+")"},s.prototype.toBytes=function(e){var r=s.floatToByte(this.red),n=s.floatToByte(this.green),i=s.floatToByte(this.blue),a=s.floatToByte(this.alpha);return t(e)?(e[0]=r,e[1]=n,e[2]=i,e[3]=a,e):[r,n,i,a]},s.prototype.toRgba=function(){return c[0]=s.floatToByte(this.red),c[1]=s.floatToByte(this.green),c[2]=s.floatToByte(this.blue),c[3]=s.floatToByte(this.alpha),l[0]},s.ALICEBLUE=r(s.fromCssColorString("#F0F8FF")),s.ANTIQUEWHITE=r(s.fromCssColorString("#FAEBD7")),s.AQUA=r(s.fromCssColorString("#00FFFF")),s.AQUAMARINE=r(s.fromCssColorString("#7FFFD4")),s.AZURE=r(s.fromCssColorString("#F0FFFF")),s.BEIGE=r(s.fromCssColorString("#F5F5DC")),s.BISQUE=r(s.fromCssColorString("#FFE4C4")),s.BLACK=r(s.fromCssColorString("#000000")),s.BLANCHEDALMOND=r(s.fromCssColorString("#FFEBCD")),s.BLUE=r(s.fromCssColorString("#0000FF")),s.BLUEVIOLET=r(s.fromCssColorString("#8A2BE2")),s.BROWN=r(s.fromCssColorString("#A52A2A")),s.BURLYWOOD=r(s.fromCssColorString("#DEB887")),s.CADETBLUE=r(s.fromCssColorString("#5F9EA0")),s.CHARTREUSE=r(s.fromCssColorString("#7FFF00")),s.CHOCOLATE=r(s.fromCssColorString("#D2691E")),s.CORAL=r(s.fromCssColorString("#FF7F50")),s.CORNFLOWERBLUE=r(s.fromCssColorString("#6495ED")),s.CORNSILK=r(s.fromCssColorString("#FFF8DC")),s.CRIMSON=r(s.fromCssColorString("#DC143C")),s.CYAN=r(s.fromCssColorString("#00FFFF")),s.DARKBLUE=r(s.fromCssColorString("#00008B")),s.DARKCYAN=r(s.fromCssColorString("#008B8B")),s.DARKGOLDENROD=r(s.fromCssColorString("#B8860B")),s.DARKGRAY=r(s.fromCssColorString("#A9A9A9")),s.DARKGREEN=r(s.fromCssColorString("#006400")),s.DARKGREY=s.DARKGRAY,s.DARKKHAKI=r(s.fromCssColorString("#BDB76B")),s.DARKMAGENTA=r(s.fromCssColorString("#8B008B")),s.DARKOLIVEGREEN=r(s.fromCssColorString("#556B2F")),s.DARKORANGE=r(s.fromCssColorString("#FF8C00")),s.DARKORCHID=r(s.fromCssColorString("#9932CC")),s.DARKRED=r(s.fromCssColorString("#8B0000")),s.DARKSALMON=r(s.fromCssColorString("#E9967A")),s.DARKSEAGREEN=r(s.fromCssColorString("#8FBC8F")),s.DARKSLATEBLUE=r(s.fromCssColorString("#483D8B")),s.DARKSLATEGRAY=r(s.fromCssColorString("#2F4F4F")),s.DARKSLATEGREY=s.DARKSLATEGRAY,s.DARKTURQUOISE=r(s.fromCssColorString("#00CED1")),s.DARKVIOLET=r(s.fromCssColorString("#9400D3")),s.DEEPPINK=r(s.fromCssColorString("#FF1493")),s.DEEPSKYBLUE=r(s.fromCssColorString("#00BFFF")),s.DIMGRAY=r(s.fromCssColorString("#696969")),s.DIMGREY=s.DIMGRAY,s.DODGERBLUE=r(s.fromCssColorString("#1E90FF")),s.FIREBRICK=r(s.fromCssColorString("#B22222")),s.FLORALWHITE=r(s.fromCssColorString("#FFFAF0")),s.FORESTGREEN=r(s.fromCssColorString("#228B22")),s.FUSCHIA=r(s.fromCssColorString("#FF00FF")),s.GAINSBORO=r(s.fromCssColorString("#DCDCDC")),s.GHOSTWHITE=r(s.fromCssColorString("#F8F8FF")),s.GOLD=r(s.fromCssColorString("#FFD700")),s.GOLDENROD=r(s.fromCssColorString("#DAA520")),s.GRAY=r(s.fromCssColorString("#808080")),s.GREEN=r(s.fromCssColorString("#008000")),s.GREENYELLOW=r(s.fromCssColorString("#ADFF2F")),s.GREY=s.GRAY,s.HONEYDEW=r(s.fromCssColorString("#F0FFF0")),s.HOTPINK=r(s.fromCssColorString("#FF69B4")),s.INDIANRED=r(s.fromCssColorString("#CD5C5C")),s.INDIGO=r(s.fromCssColorString("#4B0082")),s.IVORY=r(s.fromCssColorString("#FFFFF0")),s.KHAKI=r(s.fromCssColorString("#F0E68C")),s.LAVENDER=r(s.fromCssColorString("#E6E6FA")),s.LAVENDAR_BLUSH=r(s.fromCssColorString("#FFF0F5")),s.LAWNGREEN=r(s.fromCssColorString("#7CFC00")),s.LEMONCHIFFON=r(s.fromCssColorString("#FFFACD")),s.LIGHTBLUE=r(s.fromCssColorString("#ADD8E6")),s.LIGHTCORAL=r(s.fromCssColorString("#F08080")),s.LIGHTCYAN=r(s.fromCssColorString("#E0FFFF")),s.LIGHTGOLDENRODYELLOW=r(s.fromCssColorString("#FAFAD2")),s.LIGHTGRAY=r(s.fromCssColorString("#D3D3D3")),s.LIGHTGREEN=r(s.fromCssColorString("#90EE90")),s.LIGHTGREY=s.LIGHTGRAY,s.LIGHTPINK=r(s.fromCssColorString("#FFB6C1")),s.LIGHTSEAGREEN=r(s.fromCssColorString("#20B2AA")),s.LIGHTSKYBLUE=r(s.fromCssColorString("#87CEFA")),s.LIGHTSLATEGRAY=r(s.fromCssColorString("#778899")),s.LIGHTSLATEGREY=s.LIGHTSLATEGRAY,s.LIGHTSTEELBLUE=r(s.fromCssColorString("#B0C4DE")),s.LIGHTYELLOW=r(s.fromCssColorString("#FFFFE0")),s.LIME=r(s.fromCssColorString("#00FF00")),s.LIMEGREEN=r(s.fromCssColorString("#32CD32")),s.LINEN=r(s.fromCssColorString("#FAF0E6")),s.MAGENTA=r(s.fromCssColorString("#FF00FF")),s.MAROON=r(s.fromCssColorString("#800000")),s.MEDIUMAQUAMARINE=r(s.fromCssColorString("#66CDAA")),s.MEDIUMBLUE=r(s.fromCssColorString("#0000CD")),s.MEDIUMORCHID=r(s.fromCssColorString("#BA55D3")),s.MEDIUMPURPLE=r(s.fromCssColorString("#9370DB")),s.MEDIUMSEAGREEN=r(s.fromCssColorString("#3CB371")),s.MEDIUMSLATEBLUE=r(s.fromCssColorString("#7B68EE")),s.MEDIUMSPRINGGREEN=r(s.fromCssColorString("#00FA9A")),s.MEDIUMTURQUOISE=r(s.fromCssColorString("#48D1CC")),s.MEDIUMVIOLETRED=r(s.fromCssColorString("#C71585")),s.MIDNIGHTBLUE=r(s.fromCssColorString("#191970")),s.MINTCREAM=r(s.fromCssColorString("#F5FFFA")),s.MISTYROSE=r(s.fromCssColorString("#FFE4E1")),s.MOCCASIN=r(s.fromCssColorString("#FFE4B5")),s.NAVAJOWHITE=r(s.fromCssColorString("#FFDEAD")),s.NAVY=r(s.fromCssColorString("#000080")),s.OLDLACE=r(s.fromCssColorString("#FDF5E6")),s.OLIVE=r(s.fromCssColorString("#808000")),s.OLIVEDRAB=r(s.fromCssColorString("#6B8E23")),s.ORANGE=r(s.fromCssColorString("#FFA500")),s.ORANGERED=r(s.fromCssColorString("#FF4500")),s.ORCHID=r(s.fromCssColorString("#DA70D6")),s.PALEGOLDENROD=r(s.fromCssColorString("#EEE8AA")),s.PALEGREEN=r(s.fromCssColorString("#98FB98")),s.PALETURQUOISE=r(s.fromCssColorString("#AFEEEE")),s.PALEVIOLETRED=r(s.fromCssColorString("#DB7093")),s.PAPAYAWHIP=r(s.fromCssColorString("#FFEFD5")),s.PEACHPUFF=r(s.fromCssColorString("#FFDAB9")),s.PERU=r(s.fromCssColorString("#CD853F")),s.PINK=r(s.fromCssColorString("#FFC0CB")),s.PLUM=r(s.fromCssColorString("#DDA0DD")),s.POWDERBLUE=r(s.fromCssColorString("#B0E0E6")),s.PURPLE=r(s.fromCssColorString("#800080")),s.RED=r(s.fromCssColorString("#FF0000")),s.ROSYBROWN=r(s.fromCssColorString("#BC8F8F")),s.ROYALBLUE=r(s.fromCssColorString("#4169E1")),s.SADDLEBROWN=r(s.fromCssColorString("#8B4513")),s.SALMON=r(s.fromCssColorString("#FA8072")),s.SANDYBROWN=r(s.fromCssColorString("#F4A460")),s.SEAGREEN=r(s.fromCssColorString("#2E8B57")),s.SEASHELL=r(s.fromCssColorString("#FFF5EE")),s.SIENNA=r(s.fromCssColorString("#A0522D")),s.SILVER=r(s.fromCssColorString("#C0C0C0")),s.SKYBLUE=r(s.fromCssColorString("#87CEEB")),s.SLATEBLUE=r(s.fromCssColorString("#6A5ACD")),s.SLATEGRAY=r(s.fromCssColorString("#708090")),s.SLATEGREY=s.SLATEGRAY,s.SNOW=r(s.fromCssColorString("#FFFAFA")),s.SPRINGGREEN=r(s.fromCssColorString("#00FF7F")),s.STEELBLUE=r(s.fromCssColorString("#4682B4")),s.TAN=r(s.fromCssColorString("#D2B48C")),s.TEAL=r(s.fromCssColorString("#008080")),s.THISTLE=r(s.fromCssColorString("#D8BFD8")),s.TOMATO=r(s.fromCssColorString("#FF6347")),s.TURQUOISE=r(s.fromCssColorString("#40E0D0")),s.VIOLET=r(s.fromCssColorString("#EE82EE")),s.WHEAT=r(s.fromCssColorString("#F5DEB3")),s.WHITE=r(s.fromCssColorString("#FFFFFF")),s.WHITESMOKE=r(s.fromCssColorString("#F5F5F5")),s.YELLOW=r(s.fromCssColorString("#FFFF00")),s.YELLOWGREEN=r(s.fromCssColorString("#9ACD32")),s +}),define("Scene/PrimitivePipeline",["../Core/defined","../Core/defaultValue","../Core/Color","../Core/ComponentDatatype","../Core/DeveloperError","../Core/FeatureDetection","../Core/Geometry","../Core/GeometryAttribute","../Core/GeometryPipeline","../Core/Matrix4"],function(e,t,r,n,i,a,o,s,u,l){"use strict";function c(e,t,r){var n,i=!r,a=e.length;if(!i&&a>1){var o=e[0].modelMatrix;for(n=1;a>n;++n)if(!l.equals(o,e[n].modelMatrix)){i=!0;break}}if(i)for(n=0;a>n;++n)u.transformToWorldCoordinates(e[n]);else l.clone(e[0].modelMatrix,t)}function f(e,t){for(var i=e.length,a=0;i>a;++a){var o=e[a],u=o.geometry,l=u.attributes,c=l.position,f=4*(c.values.length/c.componentsPerAttribute);l.pickColor=new s({componentDatatype:n.UNSIGNED_BYTE,componentsPerAttribute:4,normalize:!0,values:new Uint8Array(f)});for(var h=t[a],d=r.floatToByte(h.red),m=r.floatToByte(h.green),p=r.floatToByte(h.blue),y=r.floatToByte(h.alpha),v=l.pickColor.values,g=0;f>g;g+=4)v[g]=d,v[g+1]=m,v[g+2]=p,v[g+3]=y}}function h(t){var r,n=t.length,i=[],a=t[0].attributes;for(r in a)if(a.hasOwnProperty(r)){for(var o=a[r],s=!0,u=1;n>u;++u){var l=t[u].attributes[r];if(!e(l)||o.componentDatatype.value!==l.componentDatatype.value||o.componentsPerAttribute!==l.componentsPerAttribute||o.normalize!==l.normalize){s=!1;break}}s&&i.push(r)}return i}function d(e,t){for(var r=e.length,i=0;r>i;++i)for(var a=e[i],u=a.attributes,l=a.geometry,c=o.computeNumberOfVertices(l),f=t.length,h=0;f>h;++h){for(var d=t[h],m=u[d],p=m.componentDatatype,y=m.value,v=y.length,g=n.createTypedArray(p,c*v),E=0;c>E;++E)g.set(y,E*v);l.attributes[d]=new s({componentDatatype:p,componentsPerAttribute:v,normalize:m.normalize,values:g})}}function m(e){var t,r=e.instances,i=e.pickIds,a=e.projection,o=e.elementIndexUintSupported,s=e.allow3DOnly,l=e.allowPicking,m=e.vertexCacheOptimize,p=e.modelMatrix,y=r.length;if(r[0].geometry.primitiveType,c(r,p,s),!s)for(t=0;y>t;++t)u.wrapLongitude(r[t].geometry);l&&f(r,i);var v=h(r);if(d(r,v),m)for(t=0;y>t;++t)u.reorderForPostVertexCache(r[t].geometry),u.reorderForPreVertexCache(r[t].geometry);var g,E=u.combine(r),w=E.attributes;if(s)for(g in w)w.hasOwnProperty(g)&&w[g].componentDatatype.value===n.DOUBLE.value&&u.encodeAttribute(E,g,g+"3DHigh",g+"3DLow");else for(g in w)if(w.hasOwnProperty(g)&&w[g].componentDatatype.value===n.DOUBLE.value){var S=g+"3D",x=g+"2D";u.projectTo2D(E,g,S,x,a),u.encodeAttribute(E,S,S+"High",S+"Low"),u.encodeAttribute(E,x,x+"High",x+"Low")}return o?[E]:u.fitToUnsignedShortIndices(E)}function p(e,t,r){for(var i=[],a=e.attributes,o=r.length,s=0;o>s;++s){var u=r[s],l=a[u],c=l.componentDatatype;c.value===n.DOUBLE.value&&(c=n.FLOAT);var f=n.createTypedArray(c,l.values);i.push({index:t[u],componentDatatype:c,componentsPerAttribute:l.componentsPerAttribute,normalize:l.normalize,values:f}),delete a[u]}return i}function y(r,n,i){for(var a=[],s=h(r),u=r.length,l={},c={},f=0;u>f;++f)for(var d=r[f],m=o.computeNumberOfVertices(d.geometry),p=s.length,y=0;p>y;++y)for(var v=s[y],g=i[v],E=m;E>0;){for(var w,S=t(c[v],0),x=n[S],C=x.length,T=0;C>T&&(w=x[T],w.index!==g);++T);e(a[f])||(a[f]={}),e(a[f][v])||(a[f][v]={dirty:!1,value:d.attributes[v].value,indices:[]});var O,A=w.values.length/w.componentsPerAttribute,M=t(l[v],0);A>M+E?(O=E,a[f][v].indices.push({attribute:w,offset:M,count:O}),l[v]=M+E):(O=A-M,a[f][v].indices.push({attribute:w,offset:M,count:O}),l[v]=0,c[v]=S+1),E-=O}return a}function v(t){return e(t.constructor.name)?{type:t.constructor.name,buffer:t.buffer}:t}function g(t){return e(t.type)?new w[t.type](t.buffer):t}if(!a.supportsTypedArrays())return{};var E={};E.combineGeometry=function(e){for(var t={instances:e.instances,pickIds:e.pickIds,ellipsoid:e.ellipsoid,projection:e.projection,elementIndexUintSupported:e.elementIndexUintSupported,allow3DOnly:e.allow3DOnly,allowPicking:e.allowPicking,vertexCacheOptimize:e.vertexCacheOptimize,modelMatrix:l.clone(e.modelMatrix)},r=m(t),n=u.createAttributeLocations(r[0]),i=t.instances,a=h(i),o=[],s=r.length,c=0;s>c;++c){var f=r[c];o.push(p(f,n,a))}var d=y(i,o,n);return{geometries:r,modelMatrix:t.modelMatrix,attributeLocations:n,vaAttributes:o,vaAttributeLocations:d}};var w={Int8Array:Int8Array,Uint8Array:Uint8Array,Int16Array:Int16Array,Uint16Array:Uint16Array,Int32Array:Int32Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array};return E.transferGeometry=function(t,r){var n,i=t.attributes;for(var o in i)i.hasOwnProperty(o)&&e(i[o])&&e(i[o].values)&&(n=i[o].values,a.supportsTransferringArrayBuffers()&&r.indexOf(i[o].values.buffer)<0&&r.push(n.buffer),e(n.type)||(i[o].values=v(n)));e(t.indices)&&(n=t.indices,a.supportsTransferringArrayBuffers()&&r.push(n.buffer),e(n.type)||(t.indices=v(t.indices)))},E.transferGeometries=function(e,t){for(var r=e.length,n=0;r>n;++n)E.transferGeometry(e[n],t)},E.transferPerInstanceAttributes=function(e,t){for(var r=e.length,n=0;r>n;++n)for(var i=e[n],o=i.length,s=0;o>s;++s){var u=i[s].values;a.supportsTransferringArrayBuffers()&&t.push(u.buffer),i[s].values=v(u)}},E.transferInstances=function(e,t){for(var r=e.length,n=0;r>n;++n){var i=e[n];E.transferGeometry(i.geometry,t)}},E.receiveGeometry=function(t){var r=t.attributes;for(var n in r)r.hasOwnProperty(n)&&e(r[n])&&e(r[n].values)&&(r[n].values=g(r[n].values));e(t.indices)&&(t.indices=g(t.indices))},E.receiveGeometries=function(e){for(var t=e.length,r=0;t>r;++r)E.receiveGeometry(e[r])},E.receivePerInstanceAttributes=function(e){for(var t=e.length,r=0;t>r;++r)for(var n=e[r],i=n.length,a=0;i>a;++a)n[a].values=g(n[a].values)},E.receiveInstances=function(e){for(var t=e.length,r=0;t>r;++r){var n=e[r];E.receiveGeometry(n.geometry)}},E}),define("Workers/createTaskProcessorWorker",["../Core/defaultValue","../Core/defined"],function(e,t){"use strict";var r=function(r){var n,i=[],a={id:void 0,result:void 0,error:void 0};return function(o){var s=o.data;i.length=0,a.id=s.id,a.error=void 0,a.result=void 0;try{a.result=r(s.parameters,i)}catch(u){a.error=u}t(n)||(n=e(self.webkitPostMessage,self.postMessage));try{n(a,i)}catch(u){a.result=void 0,a.error="postMessage failed with error: "+u+"\n with responseMessage: "+JSON.stringify(a),n(a)}}};return r}),define("Workers/createPolylineVolumeGeometry",["../Core/PolylineVolumeGeometry","../Core/Ellipsoid","../Scene/PrimitivePipeline","./createTaskProcessorWorker"],function(e,t,r,n){"use strict";function i(n,i){var a=n.geometry;a._ellipsoid=t.clone(a._ellipsoid);var o=e.createGeometry(a);return r.transferGeometry(o,i),{geometry:o,index:n.index}}return n(i)})}(); \ No newline at end of file diff --git a/Cesium/Workers/createPolylineVolumeOutlineGeometry.js b/Cesium/Workers/createPolylineVolumeOutlineGeometry.js new file mode 100644 index 0000000..d92de26 --- /dev/null +++ b/Cesium/Workers/createPolylineVolumeOutlineGeometry.js @@ -0,0 +1,231 @@ +/** + * Cesium - https://github.com/AnalyticalGraphicsInc/cesium + * + * Copyright 2011-2014 Cesium Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Columbus View (Pat. Pend.) + * + * Portions licensed separately. + * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details. + */ +/** +@license +mersenne-twister.js - https://gist.github.com/banksean/300494 + + Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura, + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. The names of its contributors may not be used to endorse or promote + products derived from this software without specific prior written + permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/** + * @fileOverview + * @license + * + * Grauw URI utilities + * + * See: http://hg.grauw.nl/grauw-lib/file/tip/src/uri.js + * + * @author Laurens Holst (http://www.grauw.nl/) + * + * Copyright 2012 Laurens Holst + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +/** +@license +sprintf.js from the php.js project - https://github.com/kvz/phpjs +Directly from https://github.com/kvz/phpjs/blob/master/functions/strings/sprintf.js + +php.js is copyright 2012 Kevin van Zonneveld. + +Portions copyright Brett Zamir (http://brett-zamir.me), Kevin van Zonneveld +(http://kevin.vanzonneveld.net), Onno Marsman, Theriault, Michael White +(http://getsprink.com), Waldo Malqui Silva, Paulo Freitas, Jack, Jonas +Raoni Soares Silva (http://www.jsfromhell.com), Philip Peterson, Legaev +Andrey, Ates Goral (http://magnetiq.com), Alex, Ratheous, Martijn Wieringa, +Rafa? Kukawski (http://blog.kukawski.pl), lmeyrick +(https://sourceforge.net/projects/bcmath-js/), Nate, Philippe Baumann, +Enrique Gonzalez, Webtoolkit.info (http://www.webtoolkit.info/), Carlos R. +L. Rodrigues (http://www.jsfromhell.com), Ash Searle +(http://hexmen.com/blog/), Jani Hartikainen, travc, Ole Vrijenhoek, +Erkekjetter, Michael Grier, Rafa? Kukawski (http://kukawski.pl), Johnny +Mast (http://www.phpvrouwen.nl), T.Wild, d3x, +http://stackoverflow.com/questions/57803/how-to-convert-decimal-to-hex-in-javascript, +Rafa? Kukawski (http://blog.kukawski.pl/), stag019, pilus, WebDevHobo +(http://webdevhobo.blogspot.com/), marrtins, GeekFG +(http://geekfg.blogspot.com), Andrea Giammarchi +(http://webreflection.blogspot.com), Arpad Ray (mailto:arpad@php.net), +gorthaur, Paul Smith, Tim de Koning (http://www.kingsquare.nl), Joris, Oleg +Eremeev, Steve Hilder, majak, gettimeofday, KELAN, Josh Fraser +(http://onlineaspect.com/2007/06/08/auto-detect-a-time-zone-with-javascript/), +Marc Palau, Martin +(http://www.erlenwiese.de/), Breaking Par Consulting Inc +(http://www.breakingpar.com/bkp/home.nsf/0/87256B280015193F87256CFB006C45F7), +Chris, Mirek Slugen, saulius, Alfonso Jimenez +(http://www.alfonsojimenez.com), Diplom@t (http://difane.com/), felix, +Mailfaker (http://www.weedem.fr/), Tyler Akins (http://rumkin.com), Caio +Ariede (http://caioariede.com), Robin, Kankrelune +(http://www.webfaktory.info/), Karol Kowalski, Imgen Tata +(http://www.myipdf.com/), mdsjack (http://www.mdsjack.bo.it), Dreamer, +Felix Geisendoerfer (http://www.debuggable.com/felix), Lars Fischer, AJ, +David, Aman Gupta, Michael White, Public Domain +(http://www.json.org/json2.js), Steven Levithan +(http://blog.stevenlevithan.com), Sakimori, Pellentesque Malesuada, +Thunder.m, Dj (http://phpjs.org/functions/htmlentities:425#comment_134018), +Steve Clay, David James, Francois, class_exists, nobbler, T. Wild, Itsacon +(http://www.itsacon.net/), date, Ole Vrijenhoek (http://www.nervous.nl/), +Fox, Raphael (Ao RUDLER), Marco, noname, Mateusz "loonquawl" Zalega, Frank +Forte, Arno, ger, mktime, john (http://www.jd-tech.net), Nick Kolosov +(http://sammy.ru), marc andreu, Scott Cariss, Douglas Crockford +(http://javascript.crockford.com), madipta, Slawomir Kaniecki, +ReverseSyntax, Nathan, Alex Wilson, kenneth, Bayron Guevara, Adam Wallner +(http://web2.bitbaro.hu/), paulo kuong, jmweb, Lincoln Ramsay, djmix, +Pyerre, Jon Hohle, Thiago Mata (http://thiagomata.blog.com), lmeyrick +(https://sourceforge.net/projects/bcmath-js/this.), Linuxworld, duncan, +Gilbert, Sanjoy Roy, Shingo, sankai, Oskar Larsson H?gfeldt +(http://oskar-lh.name/), Denny Wardhana, 0m3r, Everlasto, Subhasis Deb, +josh, jd, Pier Paolo Ramon (http://www.mastersoup.com/), P, merabi, Soren +Hansen, Eugene Bulkin (http://doubleaw.com/), Der Simon +(http://innerdom.sourceforge.net/), echo is bad, Ozh, XoraX +(http://www.xorax.info), EdorFaus, JB, J A R, Marc Jansen, Francesco, LH, +Stoyan Kyosev (http://www.svest.org/), nord_ua, omid +(http://phpjs.org/functions/380:380#comment_137122), Brad Touesnard, MeEtc +(http://yass.meetcweb.com), Peter-Paul Koch +(http://www.quirksmode.org/js/beat.html), Olivier Louvignes +(http://mg-crea.com/), T0bsn, Tim Wiel, Bryan Elliott, Jalal Berrami, +Martin, JT, David Randall, Thomas Beaucourt (http://www.webapp.fr), taith, +vlado houba, Pierre-Luc Paour, Kristof Coomans (SCK-CEN Belgian Nucleair +Research Centre), Martin Pool, Kirk Strobeck, Rick Waldron, Brant Messenger +(http://www.brantmessenger.com/), Devan Penner-Woelk, Saulo Vallory, Wagner +B. Soares, Artur Tchernychev, Valentina De Rosa, Jason Wong +(http://carrot.org/), Christoph, Daniel Esteban, strftime, Mick@el, rezna, +Simon Willison (http://simonwillison.net), Anton Ongson, Gabriel Paderni, +Marco van Oort, penutbutterjelly, Philipp Lenssen, Bjorn Roesbeke +(http://www.bjornroesbeke.be/), Bug?, Eric Nagel, Tomasz Wesolowski, +Evertjan Garretsen, Bobby Drake, Blues (http://tech.bluesmoon.info/), Luke +Godfrey, Pul, uestla, Alan C, Ulrich, Rafal Kukawski, Yves Sucaet, +sowberry, Norman "zEh" Fuchs, hitwork, Zahlii, johnrembo, Nick Callen, +Steven Levithan (stevenlevithan.com), ejsanders, Scott Baker, Brian Tafoya +(http://www.premasolutions.com/), Philippe Jausions +(http://pear.php.net/user/jausions), Aidan Lister +(http://aidanlister.com/), Rob, e-mike, HKM, ChaosNo1, metjay, strcasecmp, +strcmp, Taras Bogach, jpfle, Alexander Ermolaev +(http://snippets.dzone.com/user/AlexanderErmolaev), DxGx, kilops, Orlando, +dptr1988, Le Torbi, James (http://www.james-bell.co.uk/), Pedro Tainha +(http://www.pedrotainha.com), James, Arnout Kazemier +(http://www.3rd-Eden.com), Chris McMacken, gabriel paderni, Yannoo, +FGFEmperor, baris ozdil, Tod Gentille, Greg Frazier, jakes, 3D-GRAF, Allan +Jensen (http://www.winternet.no), Howard Yeend, Benjamin Lupton, davook, +daniel airton wermann (http://wermann.com.br), Atli T¨®r, Maximusya, Ryan +W Tenney (http://ryan.10e.us), Alexander M Beedie, fearphage +(http://http/my.opera.com/fearphage/), Nathan Sepulveda, Victor, Matteo, +Billy, stensi, Cord, Manish, T.J. Leahy, Riddler +(http://www.frontierwebdev.com/), Rafa? Kukawski, FremyCompany, Matt +Bradley, Tim de Koning, Luis Salazar (http://www.freaky-media.com/), Diogo +Resende, Rival, Andrej Pavlovic, Garagoth, Le Torbi +(http://www.letorbi.de/), Dino, Josep Sanz (http://www.ws3.es/), rem, +Russell Walker (http://www.nbill.co.uk/), Jamie Beck +(http://www.terabit.ca/), setcookie, Michael, YUI Library: +http://developer.yahoo.com/yui/docs/YAHOO.util.DateLocale.html, Blues at +http://hacks.bluesmoon.info/strftime/strftime.js, Ben +(http://benblume.co.uk/), DtTvB +(http://dt.in.th/2008-09-16.string-length-in-bytes.html), Andreas, William, +meo, incidence, Cagri Ekin, Amirouche, Amir Habibi +(http://www.residence-mixte.com/), Luke Smith (http://lucassmith.name), +Kheang Hok Chin (http://www.distantia.ca/), Jay Klehr, Lorenzo Pisani, +Tony, Yen-Wei Liu, Greenseed, mk.keck, Leslie Hoare, dude, booeyOH, Ben +Bryan + +Licensed under the MIT (MIT-LICENSE.txt) license. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL KEVIN VAN ZONNEVELD BE LIABLE FOR ANY CLAIM, DAMAGES +OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. +*/ + +/** + @license + when.js - https://github.com/cujojs/when + + MIT License (c) copyright B Cavalier & J Hann + + * A lightweight CommonJS Promises/A and when() implementation + * when is part of the cujo.js family of libraries (http://cujojs.com/) + * + * Licensed under the MIT License at: + * http://www.opensource.org/licenses/mit-license.php + * + * @version 1.7.1 + */ + +!function(){define("Core/defined",[],function(){"use strict";var e=function(e){return void 0!==e};return e}),define("Core/freezeObject",["./defined"],function(e){"use strict";var t=Object.freeze;return e(t)||(t=function(e){return e}),t}),define("Core/defaultValue",["./freezeObject"],function(e){"use strict";var t=function(e,t){return void 0!==e?e:t};return t.EMPTY_OBJECT=e({}),t}),define("Core/DeveloperError",["./defined"],function(e){"use strict";var t=function(e){this.name="DeveloperError",this.message=e;var t;try{throw new Error}catch(r){t=r.stack}this.stack=t};return t.prototype.toString=function(){var t=this.name+": "+this.message;return e(this.stack)&&(t+="\n"+this.stack.toString()),t},t.throwInstantiationError=function(){throw new t("This function defines an interface and should not be called directly.")},t}),define("Core/Cartesian2",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,t,r,n){"use strict";var i=function(t,r){this.x=e(t,0),this.y=e(r,0)};i.fromElements=function(e,r,n){return t(n)?(n.x=e,n.y=r,n):new i(e,r)},i.clone=function(e,r){return t(e)?t(r)?(r.x=e.x,r.y=e.y,r):new i(e.x,e.y):void 0},i.fromCartesian3=i.clone,i.fromCartesian4=i.clone,i.packedLength=2,i.pack=function(t,r,n){n=e(n,0),r[n++]=t.x,r[n]=t.y},i.unpack=function(r,n,a){return n=e(n,0),t(a)||(a=new i),a.x=r[n++],a.y=r[n],a},i.fromArray=i.unpack,i.getMaximumComponent=function(e){return Math.max(e.x,e.y)},i.getMinimumComponent=function(e){return Math.min(e.x,e.y)},i.getMinimumByComponent=function(e,r,n){return t(n)||(n=new i),n.x=Math.min(e.x,r.x),n.y=Math.min(e.y,r.y),n},i.getMaximumByComponent=function(e,r,n){return t(n)||(n=new i),n.x=Math.max(e.x,r.x),n.y=Math.max(e.y,r.y),n},i.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y},i.magnitude=function(e){return Math.sqrt(i.magnitudeSquared(e))};var a=new i;i.distance=function(e,t){return i.subtract(e,t,a),i.magnitude(a)},i.normalize=function(e,r){var n=i.magnitude(e);return t(r)?(r.x=e.x/n,r.y=e.y/n,r):new i(e.x/n,e.y/n)},i.dot=function(e,t){return e.x*t.x+e.y*t.y},i.multiplyComponents=function(e,r,n){return t(n)?(n.x=e.x*r.x,n.y=e.y*r.y,n):new i(e.x*r.x,e.y*r.y)},i.add=function(e,r,n){return t(n)?(n.x=e.x+r.x,n.y=e.y+r.y,n):new i(e.x+r.x,e.y+r.y)},i.subtract=function(e,r,n){return t(n)?(n.x=e.x-r.x,n.y=e.y-r.y,n):new i(e.x-r.x,e.y-r.y)},i.multiplyByScalar=function(e,r,n){return t(n)?(n.x=e.x*r,n.y=e.y*r,n):new i(e.x*r,e.y*r)},i.divideByScalar=function(e,r,n){return t(n)?(n.x=e.x/r,n.y=e.y/r,n):new i(e.x/r,e.y/r)},i.negate=function(e,r){return t(r)?(r.x=-e.x,r.y=-e.y,r):new i(-e.x,-e.y)},i.abs=function(e,r){return t(r)?(r.x=Math.abs(e.x),r.y=Math.abs(e.y),r):new i(Math.abs(e.x),Math.abs(e.y))};var o=new i;i.lerp=function(e,t,r,n){return i.multiplyByScalar(t,r,o),n=i.multiplyByScalar(e,1-r,n),i.add(o,n,n)};var s=new i,u=new i;i.angleBetween=function(e,t){return i.normalize(e,s),i.normalize(t,u),Math.acos(i.dot(s,u))};var l=new i;return i.mostOrthogonalAxis=function(e,t){var r=i.normalize(e,l);return i.abs(r,r),t=r.x<=r.y?i.clone(i.UNIT_X,t):i.clone(i.UNIT_Y,t)},i.equals=function(e,r){return e===r||t(e)&&t(r)&&e.x===r.x&&e.y===r.y},i.equalsEpsilon=function(e,r,n){return e===r||t(e)&&t(r)&&Math.abs(e.x-r.x)<=n&&Math.abs(e.y-r.y)<=n},i.ZERO=n(new i(0,0)),i.UNIT_X=n(new i(1,0)),i.UNIT_Y=n(new i(0,1)),i.prototype.clone=function(e){return i.clone(this,e)},i.prototype.equals=function(e){return i.equals(this,e)},i.prototype.equalsEpsilon=function(e,t){return i.equalsEpsilon(this,e,t)},i.prototype.toString=function(){return"("+this.x+", "+this.y+")"},i}),define("ThirdParty/mersenne-twister",[],function(){var e=function(e){void 0==e&&(e=(new Date).getTime()),this.N=624,this.M=397,this.MATRIX_A=2567483615,this.UPPER_MASK=2147483648,this.LOWER_MASK=2147483647,this.mt=new Array(this.N),this.mti=this.N+1,this.init_genrand(e)};return e.prototype.init_genrand=function(e){for(this.mt[0]=e>>>0,this.mti=1;this.mti>>30;this.mt[this.mti]=(1812433253*((4294901760&e)>>>16)<<16)+1812433253*(65535&e)+this.mti,this.mt[this.mti]>>>=0}},e.prototype.genrand_int32=function(){var e,t=new Array(0,this.MATRIX_A);if(this.mti>=this.N){var r;for(this.mti==this.N+1&&this.init_genrand(5489),r=0;r>>1^t[1&e];for(;r>>1^t[1&e];e=this.mt[this.N-1]&this.UPPER_MASK|this.mt[0]&this.LOWER_MASK,this.mt[this.N-1]=this.mt[this.M-1]^e>>>1^t[1&e],this.mti=0}return e=this.mt[this.mti++],e^=e>>>11,e^=2636928640&e<<7,e^=4022730752&e<<15,e^=e>>>18,e>>>0},e.prototype.random=function(){return this.genrand_int32()*(1/4294967296)},e}),define("Core/Math",["./defaultValue","./defined","./DeveloperError","../ThirdParty/mersenne-twister"],function(e,t,r,n){"use strict";var i={};i.EPSILON1=.1,i.EPSILON2=.01,i.EPSILON3=.001,i.EPSILON4=1e-4,i.EPSILON5=1e-5,i.EPSILON6=1e-6,i.EPSILON7=1e-7,i.EPSILON8=1e-8,i.EPSILON9=1e-9,i.EPSILON10=1e-10,i.EPSILON11=1e-11,i.EPSILON12=1e-12,i.EPSILON13=1e-13,i.EPSILON14=1e-14,i.EPSILON15=1e-15,i.EPSILON16=1e-16,i.EPSILON17=1e-17,i.EPSILON18=1e-18,i.EPSILON19=1e-19,i.EPSILON20=1e-20,i.GRAVITATIONALPARAMETER=3986004418e5,i.SOLAR_RADIUS=6955e5,i.LUNAR_RADIUS=1737400,i.SIXTY_FOUR_KILOBYTES=65536,i.sign=function(e){return e>0?1:0>e?-1:0},i.sinh=function(e){var t=Math.pow(Math.E,e),r=Math.pow(Math.E,-1*e);return.5*(t-r)},i.cosh=function(e){var t=Math.pow(Math.E,e),r=Math.pow(Math.E,-1*e);return.5*(t+r)},i.lerp=function(e,t,r){return(1-r)*e+r*t},i.PI=Math.PI,i.ONE_OVER_PI=1/Math.PI,i.PI_OVER_TWO=.5*Math.PI,i.PI_OVER_THREE=Math.PI/3,i.PI_OVER_FOUR=Math.PI/4,i.PI_OVER_SIX=Math.PI/6,i.THREE_PI_OVER_TWO=.5*3*Math.PI,i.TWO_PI=2*Math.PI,i.ONE_OVER_TWO_PI=1/(2*Math.PI),i.RADIANS_PER_DEGREE=Math.PI/180,i.DEGREES_PER_RADIAN=180/Math.PI,i.RADIANS_PER_ARCSECOND=i.RADIANS_PER_DEGREE/3600,i.toRadians=function(e){return e*i.RADIANS_PER_DEGREE},i.toDegrees=function(e){return e*i.DEGREES_PER_RADIAN},i.convertLongitudeRange=function(e){var t=i.TWO_PI,r=e-Math.floor(e/t)*t;return r<-Math.PI?r+t:r>=Math.PI?r-t:r},i.negativePiToPi=function(e){for(var t=i.EPSILON10,r=i.PI,n=i.TWO_PI;-(r+t)>e;)e+=n;if(-r>e)return-r;for(;e>r+t;)e-=n;return e>r?r:e},i.zeroToTwoPi=function(e){var t=e%i.TWO_PI;return 0>t?(t+i.TWO_PI)%i.TWO_PI:t},i.equalsEpsilon=function(t,r,n){return n=e(n,0),Math.abs(t-r)<=n};var a=[1];i.factorial=function(e){var t=a.length;if(e>=t)for(var r=a[t-1],n=t;e>=n;n++)a.push(r*n);return a[e]},i.incrementWrap=function(t,r,n){return n=e(n,0),++t,t>r&&(t=n),t},i.isPowerOfTwo=function(e){return 0!==e&&0===(e&e-1)},i.nextPowerOfTwo=function(e){return--e,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,++e,e},i.clamp=function(e,t,r){return t>e?t:e>r?r:e};var o=new n;return i.setRandomNumberSeed=function(e){o=new n(e)},i.nextRandomNumber=function(){return o.random()},i}),define("Core/Cartographic",["./defaultValue","./defined","./DeveloperError","./freezeObject","./Math"],function(e,t,r,n,i){"use strict";var a=function(t,r,n){this.longitude=e(t,0),this.latitude=e(r,0),this.height=e(n,0)};return a.fromDegrees=function(r,n,o,s){return r=i.toRadians(e(r,0)),n=i.toRadians(e(n,0)),o=e(o,0),t(s)?(s.longitude=r,s.latitude=n,s.height=o,s):new a(r,n,o)},a.clone=function(e,r){return t(e)?t(r)?(r.longitude=e.longitude,r.latitude=e.latitude,r.height=e.height,r):new a(e.longitude,e.latitude,e.height):void 0},a.equals=function(e,r){return e===r||t(e)&&t(r)&&e.longitude===r.longitude&&e.latitude===r.latitude&&e.height===r.height},a.equalsEpsilon=function(e,r,n){return e===r||t(e)&&t(r)&&Math.abs(e.longitude-r.longitude)<=n&&Math.abs(e.latitude-r.latitude)<=n&&Math.abs(e.height-r.height)<=n},a.toString=function(e){return"("+e.longitude+", "+e.latitude+", "+e.height+")"},a.ZERO=n(new a(0,0,0)),a.prototype.clone=function(e){return a.clone(this,e)},a.prototype.equals=function(e){return a.equals(this,e)},a.prototype.equalsEpsilon=function(e,t){return a.equalsEpsilon(this,e,t)},a.prototype.toString=function(){return a.toString(this)},a}),define("Core/defineProperties",["./defined"],function(e){"use strict";var t=function(){try{return"x"in Object.defineProperty({},"x",{})}catch(e){return!1}}(),r=Object.defineProperties;return t&&e(r)||(r=function(e){return e}),r}),define("Core/Cartesian3",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,t,r,n){"use strict";var i=function(t,r,n){this.x=e(t,0),this.y=e(r,0),this.z=e(n,0)};i.fromSpherical=function(r,n){t(n)||(n=new i);var a=r.clock,o=r.cone,s=e(r.magnitude,1),u=s*Math.sin(o);return n.x=u*Math.cos(a),n.y=u*Math.sin(a),n.z=s*Math.cos(o),n},i.fromElements=function(e,r,n,a){return t(a)?(a.x=e,a.y=r,a.z=n,a):new i(e,r,n)},i.clone=function(e,r){return t(e)?t(r)?(r.x=e.x,r.y=e.y,r.z=e.z,r):new i(e.x,e.y,e.z):void 0},i.fromCartesian4=i.clone,i.packedLength=3,i.pack=function(t,r,n){n=e(n,0),r[n++]=t.x,r[n++]=t.y,r[n]=t.z},i.unpack=function(r,n,a){return n=e(n,0),t(a)||(a=new i),a.x=r[n++],a.y=r[n++],a.z=r[n],a},i.fromArray=i.unpack,i.getMaximumComponent=function(e){return Math.max(e.x,e.y,e.z)},i.getMinimumComponent=function(e){return Math.min(e.x,e.y,e.z)},i.getMinimumByComponent=function(e,r,n){return t(n)||(n=new i),n.x=Math.min(e.x,r.x),n.y=Math.min(e.y,r.y),n.z=Math.min(e.z,r.z),n},i.getMaximumByComponent=function(e,r,n){return t(n)||(n=new i),n.x=Math.max(e.x,r.x),n.y=Math.max(e.y,r.y),n.z=Math.max(e.z,r.z),n},i.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z},i.magnitude=function(e){return Math.sqrt(i.magnitudeSquared(e))};var a=new i;i.distance=function(e,t){return i.subtract(e,t,a),i.magnitude(a)},i.normalize=function(e,r){var n=i.magnitude(e);return t(r)?(r.x=e.x/n,r.y=e.y/n,r.z=e.z/n,r):new i(e.x/n,e.y/n,e.z/n)},i.dot=function(e,t){return e.x*t.x+e.y*t.y+e.z*t.z},i.multiplyComponents=function(e,r,n){return t(n)?(n.x=e.x*r.x,n.y=e.y*r.y,n.z=e.z*r.z,n):new i(e.x*r.x,e.y*r.y,e.z*r.z)},i.add=function(e,r,n){return t(n)?(n.x=e.x+r.x,n.y=e.y+r.y,n.z=e.z+r.z,n):new i(e.x+r.x,e.y+r.y,e.z+r.z)},i.subtract=function(e,r,n){return t(n)?(n.x=e.x-r.x,n.y=e.y-r.y,n.z=e.z-r.z,n):new i(e.x-r.x,e.y-r.y,e.z-r.z)},i.multiplyByScalar=function(e,r,n){return t(n)?(n.x=e.x*r,n.y=e.y*r,n.z=e.z*r,n):new i(e.x*r,e.y*r,e.z*r)},i.divideByScalar=function(e,r,n){return t(n)?(n.x=e.x/r,n.y=e.y/r,n.z=e.z/r,n):new i(e.x/r,e.y/r,e.z/r)},i.negate=function(e,r){return t(r)?(r.x=-e.x,r.y=-e.y,r.z=-e.z,r):new i(-e.x,-e.y,-e.z)},i.abs=function(e,r){return t(r)?(r.x=Math.abs(e.x),r.y=Math.abs(e.y),r.z=Math.abs(e.z),r):new i(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z))};var o=new i;i.lerp=function(e,t,r,n){return i.multiplyByScalar(t,r,o),n=i.multiplyByScalar(e,1-r,n),i.add(o,n,n)};var s=new i,u=new i;i.angleBetween=function(e,t){i.normalize(e,s),i.normalize(t,u);var r=i.dot(s,u),n=i.magnitude(i.cross(s,u,s));return Math.atan2(n,r)};var l=new i;return i.mostOrthogonalAxis=function(e,t){var r=i.normalize(e,l);return i.abs(r,r),t=r.x<=r.y?r.x<=r.z?i.clone(i.UNIT_X,t):i.clone(i.UNIT_Z,t):r.y<=r.z?i.clone(i.UNIT_Y,t):i.clone(i.UNIT_Z,t)},i.equals=function(e,r){return e===r||t(e)&&t(r)&&e.x===r.x&&e.y===r.y&&e.z===r.z},i.equalsEpsilon=function(e,r,n){return e===r||t(e)&&t(r)&&Math.abs(e.x-r.x)<=n&&Math.abs(e.y-r.y)<=n&&Math.abs(e.z-r.z)<=n},i.cross=function(e,r,n){var a=e.x,o=e.y,s=e.z,u=r.x,l=r.y,c=r.z,f=o*c-s*l,h=s*u-a*c,d=a*l-o*u;return t(n)?(n.x=f,n.y=h,n.z=d,n):new i(f,h,d)},i.ZERO=n(new i(0,0,0)),i.UNIT_X=n(new i(1,0,0)),i.UNIT_Y=n(new i(0,1,0)),i.UNIT_Z=n(new i(0,0,1)),i.prototype.clone=function(e){return i.clone(this,e)},i.prototype.equals=function(e){return i.equals(this,e)},i.prototype.equalsEpsilon=function(e,t){return i.equalsEpsilon(this,e,t)},i.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+")"},i}),define("Core/Ellipsoid",["./freezeObject","./defaultValue","./defined","./defineProperties","./DeveloperError","./Math","./Cartesian3","./Cartographic"],function(e,t,r,n,i,a,o,s){"use strict";var u=function(e,r,n){e=t(e,0),r=t(r,0),n=t(n,0),this._radii=new o(e,r,n),this._radiiSquared=new o(e*e,r*r,n*n),this._radiiToTheFourth=new o(e*e*e*e,r*r*r*r,n*n*n*n),this._oneOverRadii=new o(0===e?0:1/e,0===r?0:1/r,0===n?0:1/n),this._oneOverRadiiSquared=new o(0===e?0:1/(e*e),0===r?0:1/(r*r),0===n?0:1/(n*n)),this._minimumRadius=Math.min(e,r,n),this._maximumRadius=Math.max(e,r,n),this._centerToleranceSquared=a.EPSILON1};n(u.prototype,{radii:{get:function(){return this._radii}},radiiSquared:{get:function(){return this._radiiSquared}},radiiToTheFourth:{get:function(){return this._radiiToTheFourth}},oneOverRadii:{get:function(){return this._oneOverRadii}},oneOverRadiiSquared:{get:function(){return this._oneOverRadiiSquared}},minimumRadius:{get:function(){return this._minimumRadius}},maximumRadius:{get:function(){return this._maximumRadius}}}),u.clone=function(e,t){if(!r(e))return void 0;var n=e._radii;return r(t)?(o.clone(n,t._radii),o.clone(e._radiiSquared,t._radiiSquared),o.clone(e._radiiToTheFourth,t._radiiToTheFourth),o.clone(e._oneOverRadii,t._oneOverRadii),o.clone(e._oneOverRadiiSquared,t._oneOverRadiiSquared),t._minimumRadius=e._minimumRadius,t._maximumRadius=e._maximumRadius,t._centerToleranceSquared=e._centerToleranceSquared,t):new u(n.x,n.y,n.z)},u.fromCartesian3=function(e){return r(e)?new u(e.x,e.y,e.z):new u},u.WGS84=e(new u(6378137,6378137,6356752.314245179)),u.UNIT_SPHERE=e(new u(1,1,1)),u.MOON=e(new u(a.LUNAR_RADIUS,a.LUNAR_RADIUS,a.LUNAR_RADIUS)),u.prototype.clone=function(e){return u.clone(this,e)},u.prototype.geocentricSurfaceNormal=o.normalize,u.prototype.geodeticSurfaceNormalCartographic=function(e,t){var n=e.longitude,i=e.latitude,a=Math.cos(i),s=a*Math.cos(n),u=a*Math.sin(n),l=Math.sin(i);return r(t)||(t=new o),t.x=s,t.y=u,t.z=l,o.normalize(t,t)},u.prototype.geodeticSurfaceNormal=function(e,t){return t=o.multiplyComponents(e,this._oneOverRadiiSquared,t),o.normalize(t,t)};var l=new o,c=new o;u.prototype.cartographicToCartesian=function(e,t){var r=l,n=c;this.geodeticSurfaceNormalCartographic(e,r),o.multiplyComponents(this._radiiSquared,r,n);var i=Math.sqrt(o.dot(r,n));return o.divideByScalar(n,i,n),o.multiplyByScalar(r,e.height,r),o.add(n,r,t)},u.prototype.cartographicArrayToCartesianArray=function(e,t){var n=e.length;r(t)?t.length=n:t=new Array(n);for(var i=0;n>i;i++)t[i]=this.cartographicToCartesian(e[i],t[i]);return t};var f=new o,h=new o,d=new o;u.prototype.cartesianToCartographic=function(e,t){var n=this.scaleToGeodeticSurface(e,h);if(!r(n))return void 0;var i=this.geodeticSurfaceNormal(n,f),u=o.subtract(e,n,d),l=Math.atan2(i.y,i.x),c=Math.asin(i.z),m=a.sign(o.dot(u,e))*o.magnitude(u);return r(t)?(t.longitude=l,t.latitude=c,t.height=m,t):new s(l,c,m)},u.prototype.cartesianArrayToCartographicArray=function(e,t){var n=e.length;r(t)?t.length=n:t=new Array(n);for(var i=0;n>i;++i)t[i]=this.cartesianToCartographic(e[i],t[i]);return t};var m=new o,y=new o;return u.prototype.scaleToGeodeticSurface=function(e,t){var n=e.x,i=e.y,s=e.z,u=this._oneOverRadii,l=u.x,c=u.y,f=u.z,h=n*n*l*l,d=i*i*c*c,p=s*s*f*f,v=h+d+p,g=Math.sqrt(1/v),E=o.multiplyByScalar(e,g,m);if(va.EPSILON12);return r(t)?(t.x=n*A,t.y=i*D,t.z=s*I,t):new o(n*A,i*D,s*I)},u.prototype.scaleToGeocentricSurface=function(e,t){var r=e.x,n=e.y,i=e.z,a=this._oneOverRadiiSquared,s=1/Math.sqrt(r*r*a.x+n*n*a.y+i*i*a.z);return o.multiplyByScalar(e,s,t)},u.prototype.transformPositionToScaledSpace=function(e,t){return o.multiplyComponents(e,this._oneOverRadii,t)},u.prototype.transformPositionFromScaledSpace=function(e,t){return o.multiplyComponents(e,this._radii,t)},u.prototype.equals=function(e){return this===e||r(e)&&o.equals(this._radii,e._radii)},u.prototype.toString=function(){return this._radii.toString()},u}),define("Core/GeographicProjection",["./defaultValue","./defined","./defineProperties","./Cartesian3","./Cartographic","./Ellipsoid"],function(e,t,r,n,i,a){"use strict";var o=function(t){this._ellipsoid=e(t,a.WGS84),this._semimajorAxis=this._ellipsoid.maximumRadius,this._oneOverSemimajorAxis=1/this._semimajorAxis};return r(o.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}}),o.prototype.project=function(e,r){var i=this._semimajorAxis,a=e.longitude*i,o=e.latitude*i,s=e.height;return t(r)?(r.x=a,r.y=o,r.z=s,r):new n(a,o,s)},o.prototype.unproject=function(e,r){var n=this._oneOverSemimajorAxis,a=e.x*n,o=e.y*n,s=e.z;return t(r)?(r.longitude=a,r.latitude=o,r.height=s,r):new i(a,o,s)},o}),define("Core/Enumeration",["./defined"],function(e){"use strict";var t=function(t,r,n){if(this.value=t,this.name=r,e(n))for(var i in n)n.hasOwnProperty(i)&&(this[i]=n[i])};return t.prototype.valueOf=function(){return this.value},t.prototype.toString=function(){return this.name},t}),define("Core/Intersect",["./Enumeration"],function(e){"use strict";var t={OUTSIDE:new e(-1,"OUTSIDE"),INTERSECTING:new e(0,"INTERSECTING"),INSIDE:new e(1,"INSIDE")};return t}),define("Core/BoundingRectangle",["./defaultValue","./defined","./DeveloperError","./Cartesian2","./Cartographic","./GeographicProjection","./Intersect"],function(e,t,r,n,i,a,o){"use strict";var s=function(t,r,n,i){this.x=e(t,0),this.y=e(r,0),this.width=e(n,0),this.height=e(i,0)};s.fromPoints=function(e,r){if(t(r)||(r=new s),!t(e)||0===e.length)return r.x=0,r.y=0,r.width=0,r.height=0,r;for(var n=e.length,i=e[0].x,a=e[0].y,o=e[0].x,u=e[0].y,l=1;n>l;l++){var c=e[l],f=c.x,h=c.y;i=Math.min(f,i),o=Math.max(f,o),a=Math.min(h,a),u=Math.max(h,u)}return r.x=i,r.y=a,r.width=o-i,r.height=u-a,r};var u=new a,l=new i,c=new i;return s.fromExtent=function(r,i,a){if(t(a)||(a=new s),!t(r))return a.x=0,a.y=0,a.width=0,a.height=0,a;i=e(i,u);var o=i.project(r.getSouthwest(l)),f=i.project(r.getNortheast(c));return n.subtract(f,o,f),a.x=o.x,a.y=o.y,a.width=f.x,a.height=f.y,a},s.clone=function(e,r){return t(e)?t(r)?(r.x=e.x,r.y=e.y,r.width=e.width,r.height=e.height,r):new s(e.x,e.y,e.width,e.height):void 0},s.union=function(e,r,n){t(n)||(n=new s);var i=Math.min(e.x,r.x),a=Math.min(e.y,r.y),o=Math.max(e.x+e.width,r.x+r.width),u=Math.max(e.y+e.height,r.y+r.height);return n.x=i,n.y=a,n.width=o-i,n.height=u-a,n},s.expand=function(e,t,r){r=s.clone(e,r);var n=t.x-r.x,i=t.y-r.y;return n>r.width?r.width=n:0>n&&(r.width-=n,r.x=t.x),i>r.height?r.height=i:0>i&&(r.height-=i,r.y=t.y),r},s.intersect=function(e,t){var r=e.x,n=e.y,i=t.x,a=t.y;return r>i+t.width||r+e.widtha+t.height?o.OUTSIDE:o.INTERSECTING},s.equals=function(e,r){return e===r||t(e)&&t(r)&&e.x===r.x&&e.y===r.y&&e.width===r.width&&e.height===r.height},s.prototype.clone=function(e){return s.clone(this,e)},s.prototype.union=function(e,t){return s.union(this,e,t)},s.prototype.expand=function(e,t){return s.expand(this,e,t)},s.prototype.intersect=function(e){return s.intersect(this,e)},s.prototype.equals=function(e){return s.equals(this,e)},s}),define("Core/Interval",["./defaultValue"],function(e){"use strict";var t=function(t,r){this.start=e(t,0),this.stop=e(r,0)};return t}),define("Core/Cartesian4",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,t,r,n){"use strict";var i=function(t,r,n,i){this.x=e(t,0),this.y=e(r,0),this.z=e(n,0),this.w=e(i,0)};i.fromElements=function(e,r,n,a,o){return t(o)?(o.x=e,o.y=r,o.z=n,o.w=a,o):new i(e,r,n,a)},i.clone=function(e,r){return t(e)?t(r)?(r.x=e.x,r.y=e.y,r.z=e.z,r.w=e.w,r):new i(e.x,e.y,e.z,e.w):void 0},i.packedLength=4,i.pack=function(t,r,n){n=e(n,0),r[n++]=t.x,r[n++]=t.y,r[n++]=t.z,r[n]=t.w},i.unpack=function(r,n,a){return n=e(n,0),t(a)||(a=new i),a.x=r[n++],a.y=r[n++],a.z=r[n++],a.w=r[n],a},i.fromArray=i.unpack,i.getMaximumComponent=function(e){return Math.max(e.x,e.y,e.z,e.w)},i.getMinimumComponent=function(e){return Math.min(e.x,e.y,e.z,e.w)},i.getMinimumByComponent=function(e,r,n){return t(n)||(n=new i),n.x=Math.min(e.x,r.x),n.y=Math.min(e.y,r.y),n.z=Math.min(e.z,r.z),n.w=Math.min(e.w,r.w),n},i.getMaximumByComponent=function(e,r,n){return t(n)||(n=new i),n.x=Math.max(e.x,r.x),n.y=Math.max(e.y,r.y),n.z=Math.max(e.z,r.z),n.w=Math.max(e.w,r.w),n},i.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w},i.magnitude=function(e){return Math.sqrt(i.magnitudeSquared(e))};var a=new i;i.distance=function(e,t){return i.subtract(e,t,a),i.magnitude(a)},i.normalize=function(e,r){var n=i.magnitude(e);return t(r)?(r.x=e.x/n,r.y=e.y/n,r.z=e.z/n,r.w=e.w/n,r):new i(e.x/n,e.y/n,e.z/n,e.w/n)},i.dot=function(e,t){return e.x*t.x+e.y*t.y+e.z*t.z+e.w*t.w},i.multiplyComponents=function(e,r,n){return t(n)?(n.x=e.x*r.x,n.y=e.y*r.y,n.z=e.z*r.z,n.w=e.w*r.w,n):new i(e.x*r.x,e.y*r.y,e.z*r.z,e.w*r.w)},i.add=function(e,r,n){return t(n)?(n.x=e.x+r.x,n.y=e.y+r.y,n.z=e.z+r.z,n.w=e.w+r.w,n):new i(e.x+r.x,e.y+r.y,e.z+r.z,e.w+r.w)},i.subtract=function(e,r,n){return t(n)?(n.x=e.x-r.x,n.y=e.y-r.y,n.z=e.z-r.z,n.w=e.w-r.w,n):new i(e.x-r.x,e.y-r.y,e.z-r.z,e.w-r.w)},i.multiplyByScalar=function(e,r,n){return t(n)?(n.x=e.x*r,n.y=e.y*r,n.z=e.z*r,n.w=e.w*r,n):new i(e.x*r,e.y*r,e.z*r,e.w*r)},i.divideByScalar=function(e,r,n){return t(n)?(n.x=e.x/r,n.y=e.y/r,n.z=e.z/r,n.w=e.w/r,n):new i(e.x/r,e.y/r,e.z/r,e.w/r)},i.negate=function(e,r){return t(r)?(r.x=-e.x,r.y=-e.y,r.z=-e.z,r.w=-e.w,r):new i(-e.x,-e.y,-e.z,-e.w)},i.abs=function(e,r){return t(r)?(r.x=Math.abs(e.x),r.y=Math.abs(e.y),r.z=Math.abs(e.z),r.w=Math.abs(e.w),r):new i(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z),Math.abs(e.w))};var o=new i;i.lerp=function(e,t,r,n){return i.multiplyByScalar(t,r,o),n=i.multiplyByScalar(e,1-r,n),i.add(o,n,n)};var s=new i;return i.mostOrthogonalAxis=function(e,t){var r=i.normalize(e,s);return i.abs(r,r),t=r.x<=r.y?r.x<=r.z?r.x<=r.w?i.clone(i.UNIT_X,t):i.clone(i.UNIT_W,t):r.z<=r.w?i.clone(i.UNIT_Z,t):i.clone(i.UNIT_W,t):r.y<=r.z?r.y<=r.w?i.clone(i.UNIT_Y,t):i.clone(i.UNIT_W,t):r.z<=r.w?i.clone(i.UNIT_Z,t):i.clone(i.UNIT_W,t)},i.equals=function(e,r){return e===r||t(e)&&t(r)&&e.x===r.x&&e.y===r.y&&e.z===r.z&&e.w===r.w},i.equalsEpsilon=function(e,r,n){return e===r||t(e)&&t(r)&&Math.abs(e.x-r.x)<=n&&Math.abs(e.y-r.y)<=n&&Math.abs(e.z-r.z)<=n&&Math.abs(e.w-r.w)<=n},i.ZERO=n(new i(0,0,0,0)),i.UNIT_X=n(new i(1,0,0,0)),i.UNIT_Y=n(new i(0,1,0,0)),i.UNIT_Z=n(new i(0,0,1,0)),i.UNIT_W=n(new i(0,0,0,1)),i.prototype.clone=function(e){return i.clone(this,e)},i.prototype.equals=function(e){return i.equals(this,e)},i.prototype.equalsEpsilon=function(e,t){return i.equalsEpsilon(this,e,t)},i.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+", "+this.w+")"},i}),define("Core/Matrix3",["./Cartesian3","./defaultValue","./defined","./DeveloperError","./freezeObject","./Math"],function(e,t,r,n,i,a){"use strict";function o(e){for(var t=0,r=0;9>r;++r){var n=e[r];t+=n*n}return Math.sqrt(t)}function s(e){for(var t=0,r=0;3>r;++r){var n=e[l.getElementIndex(f[r],c[r])];t+=2*n*n}return Math.sqrt(t)}function u(e,t){for(var r=a.EPSILON15,n=0,i=1,o=0;3>o;++o){var s=Math.abs(e[l.getElementIndex(f[o],c[o])]);s>n&&(i=o,n=s)}var u=1,h=0,d=c[i],m=f[i];if(Math.abs(e[l.getElementIndex(m,d)])>r){var y,p=e[l.getElementIndex(m,m)],v=e[l.getElementIndex(d,d)],g=e[l.getElementIndex(m,d)],E=(p-v)/2/g;y=0>E?-1/(-E+Math.sqrt(1+E*E)):1/(E+Math.sqrt(1+E*E)),u=1/Math.sqrt(1+y*y),h=y*u}return t=l.clone(l.IDENTITY,t),t[l.getElementIndex(d,d)]=t[l.getElementIndex(m,m)]=u,t[l.getElementIndex(m,d)]=h,t[l.getElementIndex(d,m)]=-h,t}var l=function(e,r,n,i,a,o,s,u,l){this[0]=t(e,0),this[1]=t(i,0),this[2]=t(s,0),this[3]=t(r,0),this[4]=t(a,0),this[5]=t(u,0),this[6]=t(n,0),this[7]=t(o,0),this[8]=t(l,0)};l.clone=function(e,t){return r(e)?r(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t):new l(e[0],e[3],e[6],e[1],e[4],e[7],e[2],e[5],e[8]):void 0},l.fromArray=function(e,n,i){return n=t(n,0),r(i)||(i=new l),i[0]=e[n],i[1]=e[n+1],i[2]=e[n+2],i[3]=e[n+3],i[4]=e[n+4],i[5]=e[n+5],i[6]=e[n+6],i[7]=e[n+7],i[8]=e[n+8],i[9]=e[n+9],i},l.fromColumnMajorArray=function(e,t){return l.clone(e,t)},l.fromRowMajorArray=function(e,t){return r(t)?(t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8],t):new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])},l.fromQuaternion=function(e,t){var n=e.x*e.x,i=e.x*e.y,a=e.x*e.z,o=e.x*e.w,s=e.y*e.y,u=e.y*e.z,c=e.y*e.w,f=e.z*e.z,h=e.z*e.w,d=e.w*e.w,m=n-s-f+d,y=2*(i-h),p=2*(a+c),v=2*(i+h),g=-n+s-f+d,E=2*(u-o),w=2*(a-c),S=2*(u+o),C=-n-s+f+d;return r(t)?(t[0]=m,t[1]=v,t[2]=w,t[3]=y,t[4]=g,t[5]=S,t[6]=p,t[7]=E,t[8]=C,t):new l(m,y,p,v,g,E,w,S,C)},l.fromScale=function(e,t){return r(t)?(t[0]=e.x,t[1]=0,t[2]=0,t[3]=0,t[4]=e.y,t[5]=0,t[6]=0,t[7]=0,t[8]=e.z,t):new l(e.x,0,0,0,e.y,0,0,0,e.z)},l.fromUniformScale=function(e,t){return r(t)?(t[0]=e,t[1]=0,t[2]=0,t[3]=0,t[4]=e,t[5]=0,t[6]=0,t[7]=0,t[8]=e,t):new l(e,0,0,0,e,0,0,0,e)},l.fromRotationX=function(e,t){var n=Math.cos(e),i=Math.sin(e);return r(t)?(t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=n,t[5]=i,t[6]=0,t[7]=-i,t[8]=n,t):new l(1,0,0,0,n,-i,0,i,n)},l.fromRotationY=function(e,t){var n=Math.cos(e),i=Math.sin(e);return r(t)?(t[0]=n,t[1]=0,t[2]=-i,t[3]=0,t[4]=1,t[5]=0,t[6]=i,t[7]=0,t[8]=n,t):new l(n,0,i,0,1,0,-i,0,n)},l.fromRotationZ=function(e,t){var n=Math.cos(e),i=Math.sin(e);return r(t)?(t[0]=n,t[1]=i,t[2]=0,t[3]=-i,t[4]=n,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t):new l(n,-i,0,i,n,0,0,0,1)},l.toArray=function(e,t){return r(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8]]},l.getElementIndex=function(e,t){return 3*e+t},l.getColumn=function(t,n,i){var a=3*n,o=t[a],s=t[a+1],u=t[a+2];return r(i)?(i.x=o,i.y=s,i.z=u,i):new e(o,s,u)},l.setColumn=function(e,t,r,n){n=l.clone(e,n);var i=3*t;return n[i]=r.x,n[i+1]=r.y,n[i+2]=r.z,n},l.getRow=function(t,n,i){var a=t[n],o=t[n+3],s=t[n+6];return r(i)?(i.x=a,i.y=o,i.z=s,i):new e(a,o,s)},l.setRow=function(e,t,r,n){return n=l.clone(e,n),n[t]=r.x,n[t+3]=r.y,n[t+6]=r.z,n},l.multiply=function(e,t,n){var i=e[0]*t[0]+e[3]*t[1]+e[6]*t[2],a=e[1]*t[0]+e[4]*t[1]+e[7]*t[2],o=e[2]*t[0]+e[5]*t[1]+e[8]*t[2],s=e[0]*t[3]+e[3]*t[4]+e[6]*t[5],u=e[1]*t[3]+e[4]*t[4]+e[7]*t[5],c=e[2]*t[3]+e[5]*t[4]+e[8]*t[5],f=e[0]*t[6]+e[3]*t[7]+e[6]*t[8],h=e[1]*t[6]+e[4]*t[7]+e[7]*t[8],d=e[2]*t[6]+e[5]*t[7]+e[8]*t[8];return r(n)?(n[0]=i,n[1]=a,n[2]=o,n[3]=s,n[4]=u,n[5]=c,n[6]=f,n[7]=h,n[8]=d,n):new l(i,s,f,a,u,h,o,c,d)},l.multiplyByVector=function(t,n,i){var a=n.x,o=n.y,s=n.z,u=t[0]*a+t[3]*o+t[6]*s,l=t[1]*a+t[4]*o+t[7]*s,c=t[2]*a+t[5]*o+t[8]*s;return r(i)?(i.x=u,i.y=l,i.z=c,i):new e(u,l,c)},l.multiplyByScalar=function(e,t,n){return r(n)?(n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n[4]=e[4]*t,n[5]=e[5]*t,n[6]=e[6]*t,n[7]=e[7]*t,n[8]=e[8]*t,n):new l(e[0]*t,e[3]*t,e[6]*t,e[1]*t,e[4]*t,e[7]*t,e[2]*t,e[5]*t,e[8]*t)},l.negate=function(e,t){return r(t)?(t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t[4]=-e[4],t[5]=-e[5],t[6]=-e[6],t[7]=-e[7],t[8]=-e[8],t):new l(-e[0],-e[3],-e[6],-e[1],-e[4],-e[7],-e[2],-e[5],-e[8])},l.transpose=function(e,t){var n=e[0],i=e[3],a=e[6],o=e[1],s=e[4],u=e[7],c=e[2],f=e[5],h=e[8];return r(t)?(t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=u,t[6]=c,t[7]=f,t[8]=h,t):new l(n,o,c,i,s,f,a,u,h)};var c=[1,0,0],f=[2,2,1],h=new l,d=new l;return l.getEigenDecomposition=function(e,t){var n=a.EPSILON20,i=10,c=0,f=0;r(t)||(t={});for(var m=t.unitary=l.clone(l.IDENTITY,t.unitary),y=t.diagonal=l.clone(e,t.diagonal),p=n*o(y);i>f&&s(y)>p;)u(y,h),l.transpose(h,d),l.multiply(y,h,y),l.multiply(d,y,y),l.multiply(m,h,m),++c>2&&(++f,c=0);return t},l.abs=function(e,t){return r(t)?(t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t[3]=Math.abs(e[3]),t[4]=Math.abs(e[4]),t[5]=Math.abs(e[5]),t[6]=Math.abs(e[6]),t[7]=Math.abs(e[7]),t[8]=Math.abs(e[8]),t):new l(Math.abs(e[0]),Math.abs(e[3]),Math.abs(e[6]),Math.abs(e[1]),Math.abs(e[4]),Math.abs(e[7]),Math.abs(e[2]),Math.abs(e[5]),Math.abs(e[8]))},l.determinant=function(e){var t=e[0],r=e[3],n=e[6],i=e[1],a=e[4],o=e[7],s=e[2],u=e[5],l=e[8];return t*(a*l-u*o)+i*(u*n-r*l)+s*(r*o-a*n)},l.inverse=function(e,t){var r=e[0],i=e[1],o=e[2],s=e[3],u=e[4],c=e[5],f=e[6],h=e[7],d=e[8],m=l.determinant(e);if(Math.abs(m)<=a.EPSILON15)throw new n("matrix is not invertible");var y=new l(u*d-h*c,f*c-s*d,s*h-f*u,h*o-i*d,r*d-f*o,f*i-r*h,i*c-u*o,s*o-r*c,r*u-s*i),p=1/m;return l.multiplyByScalar(y,p,t)},l.equals=function(e,t){return e===t||r(e)&&r(t)&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]},l.equalsEpsilon=function(e,t,n){return e===t||r(e)&&r(t)&&Math.abs(e[0]-t[0])<=n&&Math.abs(e[1]-t[1])<=n&&Math.abs(e[2]-t[2])<=n&&Math.abs(e[3]-t[3])<=n&&Math.abs(e[4]-t[4])<=n&&Math.abs(e[5]-t[5])<=n&&Math.abs(e[6]-t[6])<=n&&Math.abs(e[7]-t[7])<=n&&Math.abs(e[8]-t[8])<=n},l.IDENTITY=i(new l(1,0,0,0,1,0,0,0,1)),l.COLUMN0ROW0=0,l.COLUMN0ROW1=1,l.COLUMN0ROW2=2,l.COLUMN1ROW0=3,l.COLUMN1ROW1=4,l.COLUMN1ROW2=5,l.COLUMN2ROW0=6,l.COLUMN2ROW1=7,l.COLUMN2ROW2=8,l.prototype.clone=function(e){return l.clone(this,e)},l.prototype.equals=function(e){return l.equals(this,e)},l.prototype.equalsEpsilon=function(e,t){return l.equalsEpsilon(this,e,t)},l.prototype.toString=function(){return"("+this[0]+", "+this[3]+", "+this[6]+")\n"+"("+this[1]+", "+this[4]+", "+this[7]+")\n"+"("+this[2]+", "+this[5]+", "+this[8]+")"},l}),define("Core/RuntimeError",["./defined"],function(e){"use strict";var t=function(e){this.name="RuntimeError",this.message=e;var t;try{throw new Error}catch(r){t=r.stack}this.stack=t};return t.prototype.toString=function(){var t=this.name+": "+this.message;return e(this.stack)&&(t+="\n"+this.stack.toString()),t},t}),define("Core/Matrix4",["./Cartesian3","./Cartesian4","./defaultValue","./defined","./DeveloperError","./freezeObject","./Math","./Matrix3","./RuntimeError"],function(e,t,r,n,i,a,o,s,u){"use strict";var l=function(e,t,n,i,a,o,s,u,l,c,f,h,d,m,y,p){this[0]=r(e,0),this[1]=r(a,0),this[2]=r(l,0),this[3]=r(d,0),this[4]=r(t,0),this[5]=r(o,0),this[6]=r(c,0),this[7]=r(m,0),this[8]=r(n,0),this[9]=r(s,0),this[10]=r(f,0),this[11]=r(y,0),this[12]=r(i,0),this[13]=r(u,0),this[14]=r(h,0),this[15]=r(p,0)};l.clone=function(e,t){return n(e)?n(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t):new l(e[0],e[4],e[8],e[12],e[1],e[5],e[9],e[13],e[2],e[6],e[10],e[14],e[3],e[7],e[11],e[15]):void 0},l.fromArray=function(e,t,i){return t=r(t,0),n(i)||(i=new l),i[0]=e[t],i[1]=e[t+1],i[2]=e[t+2],i[3]=e[t+3],i[4]=e[t+4],i[5]=e[t+5],i[6]=e[t+6],i[7]=e[t+7],i[8]=e[t+8],i[9]=e[t+9],i[10]=e[t+10],i[11]=e[t+11],i[12]=e[t+12],i[13]=e[t+13],i[14]=e[t+14],i[15]=e[t+15],i},l.fromColumnMajorArray=function(e,t){return l.clone(e,t)},l.fromRowMajorArray=function(e,t){return n(t)?(t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15],t):new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])},l.fromRotationTranslation=function(e,t,r){return n(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=0,r[4]=e[3],r[5]=e[4],r[6]=e[5],r[7]=0,r[8]=e[6],r[9]=e[7],r[10]=e[8],r[11]=0,r[12]=t.x,r[13]=t.y,r[14]=t.z,r[15]=1,r):new l(e[0],e[3],e[6],t.x,e[1],e[4],e[7],t.y,e[2],e[5],e[8],t.z,0,0,0,1)},new s,l.fromTranslationQuaternionRotationScale=function(e,t,r,i){n(i)||(i=new l);var a=r.x,o=r.y,s=r.z,u=t.x*t.x,c=t.x*t.y,f=t.x*t.z,h=t.x*t.w,d=t.y*t.y,m=t.y*t.z,y=t.y*t.w,p=t.z*t.z,v=t.z*t.w,g=t.w*t.w,E=u-d-p+g,w=2*(c-v),S=2*(f+y),C=2*(c+v),x=-u+d-p+g,T=2*(m-h),O=2*(f-y),M=2*(m+h),A=-u-d+p+g;return i[0]=E*a,i[1]=C*a,i[2]=O*a,i[3]=0,i[4]=w*o,i[5]=x*o,i[6]=M*o,i[7]=0,i[8]=S*s,i[9]=T*s,i[10]=A*s,i[11]=0,i[12]=e.x,i[13]=e.y,i[14]=e.z,i[15]=1,i +},l.fromTranslation=function(e,t){return l.fromRotationTranslation(s.IDENTITY,e,t)},l.fromScale=function(e,t){return n(t)?(t[0]=e.x,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e.y,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e.z,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t):new l(e.x,0,0,0,0,e.y,0,0,0,0,e.z,0,0,0,0,1)},l.fromUniformScale=function(e,t){return n(t)?(t[0]=e,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t):new l(e,0,0,0,0,e,0,0,0,0,e,0,0,0,0,1)};var c=new e,f=new e,h=new e;l.fromCamera=function(t,r){var i=t.eye,a=t.target,o=t.up;e.normalize(e.subtract(a,i,c),c),e.normalize(e.cross(c,o,f),f),e.normalize(e.cross(f,c,h),h);var s=f.x,u=f.y,d=f.z,m=c.x,y=c.y,p=c.z,v=h.x,g=h.y,E=h.z,w=i.x,S=i.y,C=i.z,x=s*-w+u*-S+d*-C,T=v*-w+g*-S+E*-C,O=m*w+y*S+p*C;return n(r)?(r[0]=s,r[1]=v,r[2]=-m,r[3]=0,r[4]=u,r[5]=g,r[6]=-y,r[7]=0,r[8]=d,r[9]=E,r[10]=-p,r[11]=0,r[12]=x,r[13]=T,r[14]=O,r[15]=1,r):new l(s,u,d,x,v,g,E,T,-m,-y,-p,O,0,0,0,1)},l.computePerspectiveFieldOfView=function(e,t,r,i,a){var o=Math.tan(.5*e),s=1/o,u=s/t,c=(i+r)/(r-i),f=2*i*r/(r-i);return n(a)?(a[0]=u,a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=s,a[6]=0,a[7]=0,a[8]=0,a[9]=0,a[10]=c,a[11]=-1,a[12]=0,a[13]=0,a[14]=f,a[15]=0,a):new l(u,0,0,0,0,s,0,0,0,0,c,f,0,0,-1,0)},l.computeOrthographicOffCenter=function(e,t,r,i,a,o,s){var u=1/(t-e),c=1/(i-r),f=1/(o-a),h=-(t+e)*u,d=-(i+r)*c,m=-(o+a)*f;return u*=2,c*=2,f*=-2,n(s)?(s[0]=u,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=c,s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=f,s[11]=0,s[12]=h,s[13]=d,s[14]=m,s[15]=1,s):new l(u,0,0,h,0,c,0,d,0,0,f,m,0,0,0,1)},l.computePerspectiveOffCenter=function(e,t,r,i,a,o,s){var u=2*a/(t-e),c=2*a/(i-r),f=(t+e)/(t-e),h=(i+r)/(i-r),d=-(o+a)/(o-a),m=-1,y=-2*o*a/(o-a);return n(s)?(s[0]=u,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=c,s[6]=0,s[7]=0,s[8]=f,s[9]=h,s[10]=d,s[11]=m,s[12]=0,s[13]=0,s[14]=y,s[15]=0,s):new l(u,0,f,0,0,c,h,0,0,0,d,y,0,0,m,0)},l.computeInfinitePerspectiveOffCenter=function(e,t,r,i,a,o){var s=2*a/(t-e),u=2*a/(i-r),c=(t+e)/(t-e),f=(i+r)/(i-r),h=-1,d=-1,m=-2*a;return n(o)?(o[0]=s,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=u,o[6]=0,o[7]=0,o[8]=c,o[9]=f,o[10]=h,o[11]=d,o[12]=0,o[13]=0,o[14]=m,o[15]=0,o):new l(s,0,c,0,0,u,f,0,0,0,h,m,0,0,d,0)},l.computeViewportTransformation=function(e,t,i,a){e=r(e,r.EMPTY_OBJECT);var o=r(e.x,0),s=r(e.y,0),u=r(e.width,0),c=r(e.height,0);t=r(t,0),i=r(i,1);var f=.5*u,h=.5*c,d=.5*(i-t),m=f,y=h,p=d,v=o+f,g=s+h,E=t+d,w=1;return n(a)?(a[0]=m,a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=y,a[6]=0,a[7]=0,a[8]=0,a[9]=0,a[10]=p,a[11]=0,a[12]=v,a[13]=g,a[14]=E,a[15]=w,a):new l(m,0,0,v,0,y,0,g,0,0,p,E,0,0,0,w)},l.toArray=function(e,t){return n(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]]},l.getElementIndex=function(e,t){return 4*e+t},l.getColumn=function(e,r,i){var a=4*r,o=e[a],s=e[a+1],u=e[a+2],l=e[a+3];return n(i)?(i.x=o,i.y=s,i.z=u,i.w=l,i):new t(o,s,u,l)},l.setColumn=function(e,t,r,n){n=l.clone(e,n);var i=4*t;return n[i]=r.x,n[i+1]=r.y,n[i+2]=r.z,n[i+3]=r.w,n},l.getRow=function(e,r,i){var a=e[r],o=e[r+4],s=e[r+8],u=e[r+12];return n(i)?(i.x=a,i.y=o,i.z=s,i.w=u,i):new t(a,o,s,u)},l.setRow=function(e,t,r,n){return n=l.clone(e,n),n[t]=r.x,n[t+4]=r.y,n[t+8]=r.z,n[t+12]=r.w,n},l.multiply=function(e,t,r){var i=e[0],a=e[1],o=e[2],s=e[3],u=e[4],c=e[5],f=e[6],h=e[7],d=e[8],m=e[9],y=e[10],p=e[11],v=e[12],g=e[13],E=e[14],w=e[15],S=t[0],C=t[1],x=t[2],T=t[3],O=t[4],M=t[5],A=t[6],D=t[7],I=t[8],_=t[9],b=t[10],N=t[11],R=t[12],P=t[13],z=t[14],L=t[15],F=i*S+u*C+d*x+v*T,U=a*S+c*C+m*x+g*T,B=o*S+f*C+y*x+E*T,q=s*S+h*C+p*x+w*T,G=i*O+u*M+d*A+v*D,W=a*O+c*M+m*A+g*D,Y=o*O+f*M+y*A+E*D,V=s*O+h*M+p*A+w*D,j=i*I+u*_+d*b+v*N,H=a*I+c*_+m*b+g*N,k=o*I+f*_+y*b+E*N,K=s*I+h*_+p*b+w*N,Z=i*R+u*P+d*z+v*L,X=a*R+c*P+m*z+g*L,J=o*R+f*P+y*z+E*L,Q=s*R+h*P+p*z+w*L;return n(r)?(r[0]=F,r[1]=U,r[2]=B,r[3]=q,r[4]=G,r[5]=W,r[6]=Y,r[7]=V,r[8]=j,r[9]=H,r[10]=k,r[11]=K,r[12]=Z,r[13]=X,r[14]=J,r[15]=Q,r):new l(F,G,j,Z,U,W,H,X,B,Y,k,J,q,V,K,Q)},l.multiplyTransformation=function(e,t,r){var i=e[0],a=e[1],o=e[2],s=e[4],u=e[5],c=e[6],f=e[8],h=e[9],d=e[10],m=e[12],y=e[13],p=e[14],v=t[0],g=t[1],E=t[2],w=t[4],S=t[5],C=t[6],x=t[8],T=t[9],O=t[10],M=t[12],A=t[13],D=t[14],I=i*v+s*g+f*E,_=a*v+u*g+h*E,b=o*v+c*g+d*E,N=i*w+s*S+f*C,R=a*w+u*S+h*C,P=o*w+c*S+d*C,z=i*x+s*T+f*O,L=a*x+u*T+h*O,F=o*x+c*T+d*O,U=i*M+s*A+f*D+m,B=a*M+u*A+h*D+y,q=o*M+c*A+d*D+p;return n(r)?(r[0]=I,r[1]=_,r[2]=b,r[3]=0,r[4]=N,r[5]=R,r[6]=P,r[7]=0,r[8]=z,r[9]=L,r[10]=F,r[11]=0,r[12]=U,r[13]=B,r[14]=q,r[15]=1,r):new l(I,N,z,U,_,R,L,B,b,P,F,q,0,0,0,1)},l.multiplyByTranslation=function(e,t,r){var i=t.x,a=t.y,o=t.z,s=i*e[0]+a*e[4]+o*e[8]+e[12],u=i*e[1]+a*e[5]+o*e[9]+e[13],c=i*e[2]+a*e[6]+o*e[10]+e[14];return n(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r[9]=e[9],r[10]=e[10],r[11]=e[11],r[12]=s,r[13]=u,r[14]=c,r[15]=e[15],r):new l(e[0],e[4],e[8],s,e[1],e[5],e[9],u,e[2],e[6],e[10],c,e[3],e[7],e[11],e[15])};var d=new e;return l.multiplyByUniformScale=function(e,t,r){return d.x=t,d.y=t,d.z=t,l.multiplyByScale(e,d,r)},l.multiplyByScale=function(e,t,r){var i=t.x,a=t.y,o=t.z;return 1===i&&1===a&&1===o?l.clone(e,r):n(r)?(r[0]=i*e[0],r[1]=i*e[1],r[2]=i*e[2],r[3]=0,r[4]=a*e[4],r[5]=a*e[5],r[6]=a*e[6],r[7]=0,r[8]=o*e[8],r[9]=o*e[9],r[10]=o*e[10],r[11]=0,r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=1,r):new l(i*e[0],a*e[4],o*e[8],e[12],i*e[1],a*e[5],o*e[9],e[13],i*e[2],a*e[6],o*e[10],e[14],0,0,0,1)},l.multiplyByVector=function(e,r,i){var a=r.x,o=r.y,s=r.z,u=r.w,l=e[0]*a+e[4]*o+e[8]*s+e[12]*u,c=e[1]*a+e[5]*o+e[9]*s+e[13]*u,f=e[2]*a+e[6]*o+e[10]*s+e[14]*u,h=e[3]*a+e[7]*o+e[11]*s+e[15]*u;return n(i)?(i.x=l,i.y=c,i.z=f,i.w=h,i):new t(l,c,f,h)},l.multiplyByPointAsVector=function(t,r,i){var a=r.x,o=r.y,s=r.z,u=t[0]*a+t[4]*o+t[8]*s,l=t[1]*a+t[5]*o+t[9]*s,c=t[2]*a+t[6]*o+t[10]*s;return n(i)?(i.x=u,i.y=l,i.z=c,i):new e(u,l,c)},l.multiplyByPoint=function(t,r,i){var a=r.x,o=r.y,s=r.z,u=t[0]*a+t[4]*o+t[8]*s+t[12],l=t[1]*a+t[5]*o+t[9]*s+t[13],c=t[2]*a+t[6]*o+t[10]*s+t[14];return n(i)?(i.x=u,i.y=l,i.z=c,i):new e(u,l,c)},l.multiplyByScalar=function(e,t,r){return n(r)?(r[0]=e[0]*t,r[1]=e[1]*t,r[2]=e[2]*t,r[3]=e[3]*t,r[4]=e[4]*t,r[5]=e[5]*t,r[6]=e[6]*t,r[7]=e[7]*t,r[8]=e[8]*t,r[9]=e[9]*t,r[10]=e[10]*t,r[11]=e[11]*t,r[12]=e[12]*t,r[13]=e[13]*t,r[14]=e[14]*t,r[15]=e[15]*t,r):new l(e[0]*t,e[4]*t,e[8]*t,e[12]*t,e[1]*t,e[5]*t,e[9]*t,e[13]*t,e[2]*t,e[6]*t,e[10]*t,e[14]*t,e[3]*t,e[7]*t,e[11]*t,e[15]*t)},l.negate=function(e,t){return n(t)?(t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t[4]=-e[4],t[5]=-e[5],t[6]=-e[6],t[7]=-e[7],t[8]=-e[8],t[9]=-e[9],t[10]=-e[10],t[11]=-e[11],t[12]=-e[12],t[13]=-e[13],t[14]=-e[14],t[15]=-e[15],t):new l(-e[0],-e[4],-e[8],-e[12],-e[1],-e[5],-e[9],-e[13],-e[2],-e[6],-e[10],-e[14],-e[3],-e[7],-e[11],-e[15])},l.transpose=function(e,t){if(!n(t))return new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]);var r=e[1],i=e[2],a=e[3],o=e[6],s=e[7],u=e[11];return t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=r,t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=i,t[9]=o,t[10]=e[10],t[11]=e[14],t[12]=a,t[13]=s,t[14]=u,t[15]=e[15],t},l.abs=function(e,t){return n(t)?(t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t[3]=Math.abs(e[3]),t[4]=Math.abs(e[4]),t[5]=Math.abs(e[5]),t[6]=Math.abs(e[6]),t[7]=Math.abs(e[7]),t[8]=Math.abs(e[8]),t[9]=Math.abs(e[9]),t[10]=Math.abs(e[10]),t[11]=Math.abs(e[11]),t[12]=Math.abs(e[12]),t[13]=Math.abs(e[13]),t[14]=Math.abs(e[14]),t[15]=Math.abs(e[15]),t):new l(Math.abs(e[0]),Math.abs(e[4]),Math.abs(e[8]),Math.abs(e[12]),Math.abs(e[1]),Math.abs(e[5]),Math.abs(e[9]),Math.abs(e[13]),Math.abs(e[2]),Math.abs(e[6]),Math.abs(e[10]),Math.abs(e[14]),Math.abs(e[3]),Math.abs(e[7]),Math.abs(e[11]),Math.abs(e[15]))},l.equals=function(e,t){return e===t||n(e)&&n(t)&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15]},l.equalsEpsilon=function(e,t,r){return e===t||n(e)&&n(t)&&Math.abs(e[0]-t[0])<=r&&Math.abs(e[1]-t[1])<=r&&Math.abs(e[2]-t[2])<=r&&Math.abs(e[3]-t[3])<=r&&Math.abs(e[4]-t[4])<=r&&Math.abs(e[5]-t[5])<=r&&Math.abs(e[6]-t[6])<=r&&Math.abs(e[7]-t[7])<=r&&Math.abs(e[8]-t[8])<=r&&Math.abs(e[9]-t[9])<=r&&Math.abs(e[10]-t[10])<=r&&Math.abs(e[11]-t[11])<=r&&Math.abs(e[12]-t[12])<=r&&Math.abs(e[13]-t[13])<=r&&Math.abs(e[14]-t[14])<=r&&Math.abs(e[15]-t[15])<=r},l.getTranslation=function(t,r){return n(r)?(r.x=t[12],r.y=t[13],r.z=t[14],r):new e(t[12],t[13],t[14])},l.getRotation=function(e,t){return n(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[4],t[4]=e[5],t[5]=e[6],t[6]=e[8],t[7]=e[9],t[8]=e[10],t):new s(e[0],e[4],e[8],e[1],e[5],e[9],e[2],e[6],e[10])},l.inverse=function(e,t){var r=e[0],i=e[4],a=e[8],s=e[12],c=e[1],f=e[5],h=e[9],d=e[13],m=e[2],y=e[6],p=e[10],v=e[14],g=e[3],E=e[7],w=e[11],S=e[15],C=p*S,x=v*w,T=y*S,O=v*E,M=y*w,A=p*E,D=m*S,I=v*g,_=m*w,b=p*g,N=m*E,R=y*g,P=C*f+O*h+M*d-(x*f+T*h+A*d),z=x*c+D*h+b*d-(C*c+I*h+_*d),L=T*c+I*f+N*d-(O*c+D*f+R*d),F=A*c+_*f+R*h-(M*c+b*f+N*h),U=x*i+T*a+A*s-(C*i+O*a+M*s),B=C*r+I*a+_*s-(x*r+D*a+b*s),q=O*r+D*i+R*s-(T*r+I*i+N*s),G=M*r+b*i+N*a-(A*r+_*i+R*a);C=a*d,x=s*h,T=i*d,O=s*f,M=i*h,A=a*f,D=r*d,I=s*c,_=r*h,b=a*c,N=r*f,R=i*c;var W=C*E+O*w+M*S-(x*E+T*w+A*S),Y=x*g+D*w+b*S-(C*g+I*w+_*S),V=T*g+I*E+N*S-(O*g+D*E+R*S),j=A*g+_*E+R*w-(M*g+b*E+N*w),H=T*p+A*v+x*y-(M*v+C*y+O*p),k=_*v+C*m+I*p-(D*p+b*v+x*m),K=D*y+R*v+O*m-(N*v+T*m+I*y),Z=N*p+M*m+b*y-(_*y+R*p+A*m),X=r*P+i*z+a*L+s*F;if(Math.abs(X)O;O++){e.clone(t[O],i);var M=i.x,A=i.y,D=i.z;Mu.x&&e.clone(i,u),Al.y&&e.clone(i,l),Dx.z&&e.clone(i,x)}var I=e.magnitudeSquared(e.subtract(u,a,g)),_=e.magnitudeSquared(e.subtract(l,o,g)),b=e.magnitudeSquared(e.subtract(x,s,g)),N=a,R=u,P=I;_>P&&(P=_,N=o,R=l),b>P&&(P=b,N=s,R=x);var z=E;z.x=.5*(N.x+R.x),z.y=.5*(N.y+R.y),z.z=.5*(N.z+R.z);var L=e.magnitudeSquared(e.subtract(R,z,g)),F=Math.sqrt(L),U=w;U.x=a.x,U.y=o.y,U.z=s.z;var B=S;B.x=u.x,B.y=l.y,B.z=x.z;var q=e.multiplyByScalar(e.add(U,B,g),.5,C),G=0;for(O=0;T>O;O++){e.clone(t[O],i);var W=e.magnitude(e.subtract(i,q,g));W>G&&(G=W);var Y=e.magnitudeSquared(e.subtract(i,z,g));if(Y>L){var V=Math.sqrt(Y);F=.5*(F+V),L=F*F;var j=V-F;z.x=(F*z.x+j*i.x)/V,z.y=(F*z.y+j*i.y)/V,z.z=(F*z.z+j*i.z)/V}}return G>F?(e.clone(z,r.center),r.radius=F):(e.clone(q,r.center),r.radius=G),r};var x=new o,T=new e,O=new e,M=new t,A=new t;c.fromExtent2D=function(e,t,r){return c.fromExtentWithHeights2D(e,t,0,0,r)},c.fromExtentWithHeights2D=function(t,i,a,o,s){if(n(s)||(s=new c),!n(t))return s.center=e.clone(e.ZERO,s.center),s.radius=0,s;i=r(i,x),t.getSouthwest(M),M.height=a,t.getNortheast(A),A.height=o;var u=i.project(M,T),l=i.project(A,O),f=l.x-u.x,h=l.y-u.y,d=l.z-u.z;s.radius=.5*Math.sqrt(f*f+h*h+d*d);var m=s.center;return m.x=u.x+.5*f,m.y=u.y+.5*h,m.z=u.z+.5*d,s};var D=[];c.fromExtent3D=function(e,t,i,o){t=r(t,a.WGS84),i=r(i,0);var s;return n(e)&&(s=e.subsample(t,i,D)),c.fromPoints(s,o)},c.fromVertices=function(t,i,a,o){if(n(o)||(o=new c),!n(t)||0===t.length)return o.center=e.clone(e.ZERO,o.center),o.radius=0,o;i=r(i,e.ZERO),a=r(a,3);var s=v;s.x=t[0]+i.x,s.y=t[1]+i.y,s.z=t[2]+i.z;for(var u=e.clone(s,f),l=e.clone(s,h),x=e.clone(s,d),T=e.clone(s,m),O=e.clone(s,y),M=e.clone(s,p),A=t.length,D=0;A>D;D+=a){var I=t[D]+i.x,_=t[D+1]+i.y,b=t[D+2]+i.z;s.x=I,s.y=_,s.z=b,IT.x&&e.clone(s,T),_O.y&&e.clone(s,O),bM.z&&e.clone(s,M)}var N=e.magnitudeSquared(e.subtract(T,u,g)),R=e.magnitudeSquared(e.subtract(O,l,g)),P=e.magnitudeSquared(e.subtract(M,x,g)),z=u,L=T,F=N;R>F&&(F=R,z=l,L=O),P>F&&(F=P,z=x,L=M);var U=E;U.x=.5*(z.x+L.x),U.y=.5*(z.y+L.y),U.z=.5*(z.z+L.z);var B=e.magnitudeSquared(e.subtract(L,U,g)),q=Math.sqrt(B),G=w;G.x=u.x,G.y=l.y,G.z=x.z;var W=S;W.x=T.x,W.y=O.y,W.z=M.z;var Y=e.multiplyByScalar(e.add(G,W,g),.5,C),V=0;for(D=0;A>D;D+=a){s.x=t[D]+i.x,s.y=t[D+1]+i.y,s.z=t[D+2]+i.z;var j=e.magnitude(e.subtract(s,Y,g));j>V&&(V=j);var H=e.magnitudeSquared(e.subtract(s,U,g));if(H>B){var k=Math.sqrt(H);q=.5*(q+k),B=q*q;var K=k-q;U.x=(q*U.x+K*s.x)/k,U.y=(q*U.y+K*s.y)/k,U.z=(q*U.z+K*s.z)/k}}return V>q?(e.clone(U,o.center),o.radius=q):(e.clone(Y,o.center),o.radius=V),o},c.fromCornerPoints=function(t,r,i){n(i)||(i=new c);var a=i.center;return e.add(t,r,a),e.multiplyByScalar(a,.5,a),i.radius=e.distance(a,r),i},c.fromEllipsoid=function(t,r){return n(r)||(r=new c),e.clone(e.ZERO,r.center),r.radius=t.maximumRadius,r},c.clone=function(t,r){return n(t)?n(r)?(r.center=e.clone(t.center,r.center),r.radius=t.radius,r):new c(t.center,t.radius):void 0};var I=new e,_=new e;c.union=function(t,r,i){n(i)||(i=new c);var a=t.center,o=r.center;e.add(a,o,_);var s=e.multiplyByScalar(_,.5,_),u=e.magnitude(e.subtract(a,s,I))+t.radius,l=e.magnitude(e.subtract(o,s,I))+r.radius;return i.radius=Math.max(u,l),e.clone(s,i.center),i};var b=new e;c.expand=function(t,r,n){n=c.clone(t,n);var i=e.magnitude(e.subtract(r,n.center,b));return i>n.radius&&(n.radius=i),n},c.intersect=function(t,r){var n=t.center,i=t.radius,a=e.dot(r,n)+r.w;return-i>a?s.OUTSIDE:i>a?s.INTERSECTING:s.INSIDE};var N=new e;c.transform=function(t,r,i){return n(i)||(i=new c),i.center=l.multiplyByPoint(r,t.center,i.center),i.radius=Math.max(e.magnitude(l.getColumn(r,0,N)),e.magnitude(l.getColumn(r,1,N)),e.magnitude(l.getColumn(r,2,N)))*t.radius,i},c.transformWithoutScale=function(e,t,r){return n(r)||(r=new c),r.center=l.multiplyByPoint(t,e.center,r.center),r.radius=e.radius,r};var R=new e;c.getPlaneDistances=function(t,r,i,a){n(a)||(a=new u);var o=e.subtract(t.center,r,R),s=e.multiplyByScalar(i,e.dot(i,o),R),l=e.magnitude(s);return a.start=l-t.radius,a.stop=l+t.radius,a};for(var P=new e,z=new e,L=new e,F=new e,U=new e,B=new t,q=new Array(8),G=0;8>G;++G)q[G]=new e;var W=new o;return c.projectTo2D=function(t,n,i){n=r(n,W);var a=n.ellipsoid,o=t.center,s=t.radius,u=a.geodeticSurfaceNormal(o,P),l=e.cross(e.UNIT_Z,u,z);e.normalize(l,l);var f=e.cross(u,l,L);e.normalize(f,f),e.multiplyByScalar(u,s,u),e.multiplyByScalar(f,s,f),e.multiplyByScalar(l,s,l);var h=e.negate(f,U),d=e.negate(l,F),m=q,y=m[0];e.add(u,f,y),e.add(y,l,y),y=m[1],e.add(u,f,y),e.add(y,d,y),y=m[2],e.add(u,h,y),e.add(y,d,y),y=m[3],e.add(u,h,y),e.add(y,l,y),e.negate(u,u),y=m[4],e.add(u,f,y),e.add(y,l,y),y=m[5],e.add(u,f,y),e.add(y,d,y),y=m[6],e.add(u,h,y),e.add(y,d,y),y=m[7],e.add(u,h,y),e.add(y,l,y);for(var p=m.length,v=0;p>v;++v){var g=m[v];e.add(o,g,g);var E=a.cartesianToCartographic(g,B);n.project(E,g)}i=c.fromPoints(m,i),o=i.center;var w=o.x,S=o.y,C=o.z;return o.x=C,o.y=w,o.z=S,i},c.equals=function(t,r){return t===r||n(t)&&n(r)&&e.equals(t.center,r.center)&&t.radius===r.radius},c.prototype.clone=function(e){return c.clone(this,e)},c.prototype.union=function(e,t){return c.union(this,e,t)},c.prototype.expand=function(e,t){return c.expand(this,e,t)},c.prototype.intersect=function(e){return c.intersect(this,e)},c.prototype.getPlaneDistances=function(e,t,r){return c.getPlaneDistances(this,e,t,r)},c.prototype.projectTo2D=function(e,t){return c.projectTo2D(this,e,t)},c.prototype.equals=function(e){return c.equals(this,e)},c}),define("Core/Fullscreen",["./defined"],function(e){"use strict";var t,r={requestFullscreen:void 0,exitFullscreen:void 0,fullscreenEnabled:void 0,fullscreenElement:void 0,fullscreenchange:void 0,fullscreenerror:void 0},n={};return n.supportsFullscreen=function(){if(e(t))return t;t=!1;var n=document.body;if("function"==typeof n.requestFullscreen)return r.requestFullscreen="requestFullscreen",r.exitFullscreen="exitFullscreen",r.fullscreenEnabled="fullscreenEnabled",r.fullscreenElement="fullscreenElement",r.fullscreenchange="fullscreenchange",r.fullscreenerror="fullscreenerror",t=!0;for(var i,a=["webkit","moz","o","ms","khtml"],o=0,s=a.length;s>o;++o){var u=a[o];i=u+"RequestFullscreen","function"==typeof n[i]?(r.requestFullscreen=i,t=!0):(i=u+"RequestFullScreen","function"==typeof n[i]&&(r.requestFullscreen=i,t=!0)),i=u+"ExitFullscreen","function"==typeof document[i]?r.exitFullscreen=i:(i=u+"CancelFullScreen","function"==typeof document[i]&&(r.exitFullscreen=i)),i=u+"FullscreenEnabled",e(document[i])?r.fullscreenEnabled=i:(i=u+"FullScreenEnabled",e(document[i])&&(r.fullscreenEnabled=i)),i=u+"FullscreenElement",e(document[i])?r.fullscreenElement=i:(i=u+"FullScreenElement",e(document[i])&&(r.fullscreenElement=i)),i=u+"fullscreenchange",e(document["on"+i])&&("ms"===u&&(i="MSFullscreenChange"),r.fullscreenchange=i),i=u+"fullscreenerror",e(document["on"+i])&&("ms"===u&&(i="MSFullscreenError"),r.fullscreenerror=i)}return t},n.requestFullscreen=function(e){n.supportsFullscreen()&&e[r.requestFullscreen]()},n.exitFullscreen=function(){n.supportsFullscreen()&&document[r.exitFullscreen]()},n.isFullscreenEnabled=function(){return n.supportsFullscreen()?document[r.fullscreenEnabled]:void 0},n.getFullscreenElement=function(){return n.supportsFullscreen()?document[r.fullscreenElement]:void 0},n.isFullscreen=function(){return n.supportsFullscreen()?null!==n.getFullscreenElement():void 0},n.getFullscreenChangeEventName=function(){return n.supportsFullscreen()?r.fullscreenchange:void 0},n.getFullscreenErrorEventName=function(){return n.supportsFullscreen()?r.fullscreenerror:void 0},n}),define("Core/FeatureDetection",["./defined","./Fullscreen"],function(e,t){"use strict";function r(e){for(var t=e.split("."),r=0,n=t.length;n>r;++r)t[r]=parseInt(t[r],10);return t}function n(){if(!e(f)){var t=/ Chrome\/([\.0-9]+)/.exec(navigator.userAgent);null===t?f=!1:(f=!0,h=r(t[1]))}return f}function i(){return n()&&h}function a(){if(!e(d))if(n()||!/ Safari\/[\.0-9]+/.test(navigator.userAgent))d=!1;else{var t=/ Version\/([\.0-9]+)/.exec(navigator.userAgent);null===t?d=!1:(d=!0,m=r(t[1]))}return d}function o(){return a()&&m}function s(){if(!e(y)){var t=/ AppleWebKit\/([\.0-9]+)(\+?)/.exec(navigator.userAgent);null===t?y=!1:(y=!0,p=r(t[1]),p.isNightly=!!t[2])}return y}function u(){return s()&&p}function l(){if(!e(v)){var t;"Microsoft Internet Explorer"===navigator.appName?(t=/MSIE ([0-9]{1,}[\.0-9]{0,})/.exec(navigator.userAgent),null!==t&&(v=!0,g=r(t[1]))):"Netscape"===navigator.appName?(t=/Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/.exec(navigator.userAgent),null!==t&&(v=!0,g=r(t[1]))):v=!1}return v}function c(){return l()&&g}var f,h,d,m,y,p,v,g,E={isChrome:n,chromeVersion:i,isSafari:a,safariVersion:o,isWebkit:s,webkitVersion:u,isInternetExplorer:l,internetExplorerVersion:c};E.supportsFullscreen=function(){return t.supportsFullscreen()},E.supportsTypedArrays=function(){return"undefined"!=typeof ArrayBuffer};var w;return E.supportsTransferringArrayBuffers=function(){if(!e(w)){if(!E.supportsTypedArrays())return w=!1,void 0;var t=new ArrayBuffer(1);try{postMessage({value:t},[t]),w=!0}catch(r){w=!1}}return w},E}),define("Core/ComponentDatatype",["./defaultValue","./defined","./DeveloperError","./FeatureDetection","./Enumeration"],function(e,t,r,n,i){"use strict";if(!n.supportsTypedArrays())return{};var a={BYTE:new i(5120,"BYTE",{sizeInBytes:Int8Array.BYTES_PER_ELEMENT}),UNSIGNED_BYTE:new i(5121,"UNSIGNED_BYTE",{sizeInBytes:Uint8Array.BYTES_PER_ELEMENT}),SHORT:new i(5122,"SHORT",{sizeInBytes:Int16Array.BYTES_PER_ELEMENT}),UNSIGNED_SHORT:new i(5123,"UNSIGNED_SHORT",{sizeInBytes:Uint16Array.BYTES_PER_ELEMENT}),FLOAT:new i(5126,"FLOAT",{sizeInBytes:Float32Array.BYTES_PER_ELEMENT}),DOUBLE:new i(5130,"DOUBLE",{sizeInBytes:Float64Array.BYTES_PER_ELEMENT})};return a.validate=function(e){return t(e)&&t(e.value)&&(e.value===a.BYTE.value||e.value===a.UNSIGNED_BYTE.value||e.value===a.SHORT.value||e.value===a.UNSIGNED_SHORT.value||e.value===a.FLOAT.value||e.value===a.DOUBLE.value)},a.createTypedArray=function(e,t){switch(e.value){case a.BYTE.value:return new Int8Array(t);case a.UNSIGNED_BYTE.value:return new Uint8Array(t);case a.SHORT.value:return new Int16Array(t);case a.UNSIGNED_SHORT.value:return new Uint16Array(t);case a.FLOAT.value:return new Float32Array(t);case a.DOUBLE.value:return new Float64Array(t);default:throw new r("componentDatatype is not a valid enumeration value.")}},a.createArrayBufferView=function(t,n,i,o){switch(i=e(i,0),o=e(o,(n.byteLength-i)/t.sizeInBytes),t.value){case a.BYTE.value:return new Int8Array(n,i,o);case a.UNSIGNED_BYTE.value:return new Uint8Array(n,i,o);case a.SHORT.value:return new Int16Array(n,i,o);case a.UNSIGNED_SHORT.value:return new Uint16Array(n,i,o);case a.FLOAT.value:return new Float32Array(n,i,o);case a.DOUBLE.value:return new Float64Array(n,i,o);default:throw new r("componentDatatype is not a valid enumeration value.")}},a}),define("Core/CornerType",["../Core/Enumeration"],function(e){"use strict";var t={ROUNDED:new e(0,"ROUNDED"),MITERED:new e(1,"MITERED"),BEVELED:new e(2,"BEVELED")};return t}),define("Core/Geometry",["./defaultValue","./defined","./DeveloperError"],function(e,t,r){"use strict";var n=function(t){t=e(t,e.EMPTY_OBJECT),this.attributes=t.attributes,this.indices=t.indices,this.primitiveType=t.primitiveType,this.boundingSphere=t.boundingSphere};return n.computeNumberOfVertices=function(e){var n=-1;for(var i in e.attributes)if(e.attributes.hasOwnProperty(i)&&t(e.attributes[i])&&t(e.attributes[i].values)){var a=e.attributes[i],o=a.values.length/a.componentsPerAttribute;if(n!==o&&-1!==n)throw new r("All attribute lists must have the same number of attributes.");n=o}return n},n}),define("Core/GeometryAttribute",["./defaultValue","./defined","./DeveloperError"],function(e){"use strict";var t=function(t){t=e(t,e.EMPTY_OBJECT),this.componentDatatype=t.componentDatatype,this.componentsPerAttribute=t.componentsPerAttribute,this.normalize=e(t.normalize,!1),this.values=t.values};return t}),define("Core/GeometryAttributes",["./defaultValue"],function(e){"use strict";var t=function(t){t=e(t,e.EMPTY_OBJECT),this.position=t.position,this.normal=t.normal,this.st=t.st,this.binormal=t.binormal,this.tangent=t.tangent,this.color=t.color};return t}),define("Core/IndexDatatype",["./defined","./DeveloperError","./Math"],function(e,t,r){"use strict";var n={UNSIGNED_BYTE:5121,UNSIGNED_SHORT:5123,UNSIGNED_INT:5125};return n.getSizeInBytes=function(e){switch(e){case n.UNSIGNED_BYTE:return Uint8Array.BYTES_PER_ELEMENT;case n.UNSIGNED_SHORT:return Uint16Array.BYTES_PER_ELEMENT;case n.UNSIGNED_INT:return Uint32Array.BYTES_PER_ELEMENT}},n.validate=function(t){return e(t)&&(t===n.UNSIGNED_BYTE||t===n.UNSIGNED_SHORT||t===n.UNSIGNED_INT)},n.createTypedArray=function(e,t){return e>r.SIXTY_FOUR_KILOBYTES?new Uint32Array(t):new Uint16Array(t)},n}),define("ThirdParty/Uri",[],function(){function e(t){if(t instanceof e)this.scheme=t.scheme,this.authority=t.authority,this.path=t.path,this.query=t.query,this.fragment=t.fragment;else if(t){var r=n.exec(t);this.scheme=r[1],this.authority=r[2],this.path=r[3],this.query=r[4],this.fragment=r[5]}}function t(e){var t=unescape(e);return a.test(t)?t:e.toUpperCase()}function r(e,t,r,n){return(t||"")+r.toLowerCase()+(n||"")}e.prototype.scheme=null,e.prototype.authority=null,e.prototype.path="",e.prototype.query=null,e.prototype.fragment=null;var n=new RegExp("^(?:([^:/?#]+):)?(?://([^/?#]*))?([^?#]*)(?:\\?([^#]*))?(?:#(.*))?$");e.prototype.getScheme=function(){return this.scheme},e.prototype.getAuthority=function(){return this.authority},e.prototype.getPath=function(){return this.path},e.prototype.getQuery=function(){return this.query},e.prototype.getFragment=function(){return this.fragment},e.prototype.isAbsolute=function(){return!!this.scheme&&!this.fragment},e.prototype.isSameDocumentAs=function(e){return e.scheme==this.scheme&&e.authority==this.authority&&e.path==this.path&&e.query==this.query},e.prototype.equals=function(e){return this.isSameDocumentAs(e)&&e.fragment==this.fragment},e.prototype.normalize=function(){this.removeDotSegments(),this.scheme&&(this.scheme=this.scheme.toLowerCase()),this.authority&&(this.authority=this.authority.replace(o,r).replace(i,t)),this.path&&(this.path=this.path.replace(i,t)),this.query&&(this.query=this.query.replace(i,t)),this.fragment&&(this.fragment=this.fragment.replace(i,t))};var i=/%[0-9a-z]{2}/gi,a=/[a-zA-Z0-9\-\._~]/,o=/(.*@)?([^@:]*)(:.*)?/;return e.prototype.resolve=function(t){var r=new e;return this.scheme?(r.scheme=this.scheme,r.authority=this.authority,r.path=this.path,r.query=this.query):(r.scheme=t.scheme,this.authority?(r.authority=this.authority,r.path=this.path,r.query=this.query):(r.authority=t.authority,""==this.path?(r.path=t.path,r.query=this.query||t.query):("/"==this.path.charAt(0)?(r.path=this.path,r.removeDotSegments()):(r.path=t.authority&&""==t.path?"/"+this.path:t.path.substring(0,t.path.lastIndexOf("/")+1)+this.path,r.removeDotSegments()),r.query=this.query))),r.fragment=this.fragment,r},e.prototype.removeDotSegments=function(){var e,t=this.path.split("/"),r=[],n=""==t[0];for(n&&t.shift(),""==t[0]?t.shift():null;t.length;)e=t.shift(),".."==e?r.pop():"."!=e&&r.push(e);("."==e||".."==e)&&r.push(""),n&&r.unshift(""),this.path=r.join("/")},e.prototype.toString=function(){var e="";return this.scheme&&(e+=this.scheme+":"),this.authority&&(e+="//"+this.authority),e+=this.path,this.query&&(e+="?"+this.query),this.fragment&&(e+="#"+this.fragment),e},e}),define("Core/buildModuleUrl",["require","./defined","./DeveloperError","../ThirdParty/Uri"],function(e,t,r,n){"use strict";function i(){for(var e=document.getElementsByTagName("script"),t=0,r=e.length;r>t;++t){var n=e[t].getAttribute("src"),i=f.exec(n);if(null!==i)return i[1]}return void 0}function a(){if(t(u))return u;var e;if(e="undefined"!=typeof CESIUM_BASE_URL?CESIUM_BASE_URL:i(),!t(e))throw new r("Unable to determine Cesium base URL automatically, try defining a global variable called CESIUM_BASE_URL.");return u=new n(e).resolve(new n(document.location.href))}function o(t){return e.toUrl("../"+t)}function s(e){return new n(e).resolve(a()).toString()}var u,l,c,f=/((?:.*\/)|^)cesium[\w-]*\.js(?:\W|$)/i,h=function(r){t(l)||(l=t(e.toUrl)?o:s),t(c)||(c=document.createElement("a"));var n=l(r);return c.href=n,c.href=c.href,c.href};return h._cesiumScriptRegex=f,h}),define("Core/Iau2006XysSample",[],function(){"use strict";var e=function(e,t,r){this.x=e,this.y=t,this.s=r};return e}),define("Core/binarySearch",["./defined","./DeveloperError"],function(){"use strict";var e=function(e,t,r){for(var n,i,a=0,o=e.length-1;o>=a;)if(n=~~((a+o)/2),i=r(e[n],t),0>i)a=n+1;else{if(!(i>0))return n;o=n-1}return~(o+1)};return e}),define("Core/TimeConstants",[],function(){"use strict";var e={SECONDS_PER_MILLISECOND:.001,SECONDS_PER_MINUTE:60,MINUTES_PER_HOUR:60,HOURS_PER_DAY:24,SECONDS_PER_HOUR:3600,MINUTES_PER_DAY:1440,SECONDS_PER_DAY:86400,DAYS_PER_JULIAN_CENTURY:36525,PICOSECOND:1e-9,MODIFIED_JULIAN_DATE_DIFFERENCE:2400000.5};return e}),define("Core/isArray",["./defined"],function(e){"use strict";var t=Array.isArray;return e(t)||(t=function(e){return"[object Array]"===Object.prototype.toString.call(e)}),t}),define("Core/LeapSecond",["./defined","./DeveloperError","./isArray"],function(){"use strict";var e=function(e,t){this.julianDate=e,this.offset=t};return e.setLeapSeconds=function(t){e._leapSeconds=t,e._leapSeconds.sort(e.compareLeapSecondDate)},e.getLeapSeconds=function(){return e._leapSeconds},e.prototype.equals=function(e){return this.julianDate.equals(e.julianDate)&&this.offset===e.offset},e.compareLeapSecondDate=function(e,t){return e.julianDate.compareTo(t.julianDate)},e._leapSeconds=[],e}),define("Core/TimeStandard",[],function(){"use strict";var e={UTC:0,TAI:1};return e}),define("Core/isLeapYear",["./DeveloperError"],function(){"use strict";function e(e){return 0===e%4&&0!==e%100||0===e%400}return e}),define("ThirdParty/sprintf",[],function(){function e(){var e=/%%|%(\d+\$)?([-+\'#0 ]*)(\*\d+\$|\*|\d+)?(\.(\*\d+\$|\*|\d+))?([scboxXuideEfFgG])/g,t=arguments,r=0,n=t[r++],i=function(e,t,r,n){r||(r=" ");var i=e.length>=t?"":Array(1+t-e.length>>>0).join(r);return n?e+i:i+e},a=function(e,t,r,n,a,o){var s=n-e.length;return s>0&&(e=r||!a?i(e,n,o,r):e.slice(0,t.length)+i("",s,"0",!0)+e.slice(t.length)),e},o=function(e,t,r,n,o,s,u){var l=e>>>0;return r=r&&l&&{2:"0b",8:"0",16:"0x"}[t]||"",e=r+i(l.toString(t),s||0,"0",!1),a(e,r,n,o,u)},s=function(e,t,r,n,i,o){return null!=n&&(e=e.slice(0,n)),a(e,"",t,r,i,o)},u=function(e,n,u,l,c,f,h){var d,m,y,p,v;if("%%"==e)return"%";for(var g=!1,E="",w=!1,S=!1,C=" ",x=u.length,T=0;u&&x>T;T++)switch(u.charAt(T)){case" ":E=" ";break;case"+":E="+";break;case"-":g=!0;break;case"'":C=u.charAt(T+1);break;case"0":w=!0;break;case"#":S=!0}if(l=l?"*"==l?+t[r++]:"*"==l.charAt(0)?+t[l.slice(1,-1)]:+l:0,0>l&&(l=-l,g=!0),!isFinite(l))throw new Error("sprintf: (minimum-)width must be finite");switch(f=f?"*"==f?+t[r++]:"*"==f.charAt(0)?+t[f.slice(1,-1)]:+f:"fFeE".indexOf(h)>-1?6:"d"==h?0:void 0,v=n?t[n.slice(0,-1)]:t[r++],h){case"s":return s(String(v),g,l,f,w,C);case"c":return s(String.fromCharCode(+v),g,l,f,w);case"b":return o(v,2,S,g,l,f,w);case"o":return o(v,8,S,g,l,f,w);case"x":return o(v,16,S,g,l,f,w);case"X":return o(v,16,S,g,l,f,w).toUpperCase();case"u":return o(v,10,S,g,l,f,w);case"i":case"d":return d=+v||0,d=Math.round(d-d%1),m=0>d?"-":E,v=m+i(String(Math.abs(d)),f,"0",!1),a(v,m,g,l,w);case"e":case"E":case"f":case"F":case"g":case"G":return d=+v,m=0>d?"-":E,y=["toExponential","toFixed","toPrecision"]["efg".indexOf(h.toLowerCase())],p=["toString","toUpperCase"]["eEfFgG".indexOf(h)%2],v=m+Math.abs(d)[y](f),a(v,m,g,l,w)[p]();default:return e}};return n.replace(e,u)}return e}),define("Core/JulianDate",["./DeveloperError","./binarySearch","./defined","./defaultValue","./TimeConstants","./LeapSecond","./TimeStandard","./isLeapYear","../ThirdParty/sprintf"],function(e,t,r,n,i,a,o,s,u){"use strict";function l(e){v.julianDate=e;var r=a.getLeapSeconds(),n=t(r,v,a.compareLeapSecondDate);0>n&&(n=~n),n>=r.length&&(n=r.length-1); +var i=r[n].offset;if(n>0){var o=e.getSecondsDifference(r[n].julianDate);o>i&&(n--,i=r[n].offset)}e.addSeconds(i,e)}function c(e,r){v.julianDate=e;var n=a.getLeapSeconds(),i=t(n,v,a.compareLeapSecondDate);if(0>i&&(i=~i),0===i)return e.addSeconds(-n[0].offset,r);if(i>=n.length)return e.addSeconds(-n[i-1].offset,r);var o=e.getSecondsDifference(n[i].julianDate);return 0===o?e.addSeconds(-n[i].offset,r):1>=o?void 0:e.addSeconds(-n[--i].offset,r)}function f(e,t,n){var a=0|t/i.SECONDS_PER_DAY;return e+=a,t-=i.SECONDS_PER_DAY*a,0>t&&(e--,t+=i.SECONDS_PER_DAY),r(n)?(n._julianDayNumber=e,n._secondsOfDay=t,n):new D(e,t,o.TAI)}function h(e,t,r,n,a,o,s){var u=0|(t-14)/12,l=e+4800+u,c=(0|1461*l/4)+(0|367*(t-2-12*u)/12)-(0|3*((l+100)/100)/4)+r-32075;n-=12,0>n&&(n+=24);var f=o+(n*i.SECONDS_PER_HOUR+a*i.SECONDS_PER_MINUTE+s*i.SECONDS_PER_MILLISECOND);return f>=43200&&(c-=1),[c,f]}function d(e){return h(e.getUTCFullYear(),e.getUTCMonth()+1,e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds())}var m=function(e,t,r,n,i,a,o,s){this.year=e,this.month=t,this.day=r,this.hour=n,this.minute=i,this.second=a,this.millisecond=o,this.isLeapSecond=s},y=[31,28,31,30,31,30,31,31,30,31,30,31],p=29,v={julianDate:void 0},g=/^(\d{4})$/,E=/^(\d{4})-(\d{2})$/,w=/^(\d{4})-?(\d{3})$/,S=/^(\d{4})-?W(\d{2})-?(\d{1})?$/,C=/^(\d{4})-?(\d{2})-?(\d{2})$/,x=/([Z+\-])?(\d{2})?:?(\d{2})?$/,T=/^(\d{2})(\.\d+)?/.source+x.source,O=/^(\d{2}):?(\d{2})(\.\d+)?/.source+x.source,M=/^(\d{2}):?(\d{2}):?(\d{2})(\.\d+)?/.source+x.source,A="Valid ISO 8601 date string required.",D=function(e,t,a){this._julianDayNumber=void 0,this._secondsOfDay=void 0;var s,u;if(r(e)||r(t)||r(a))a=n(a,o.UTC),s=0|e,u=t+(e-s)*i.SECONDS_PER_DAY;else{var c=new Date,h=d(c);s=h[0],u=h[1],a=o.UTC}f(s,u,this),a===o.UTC&&l(this)};D.clone=function(e,t){return r(e)?r(t)?(t._julianDayNumber=e._julianDayNumber,t._secondsOfDay=e._secondsOfDay,t):new D(e._julianDayNumber,e._secondsOfDay,o.TAI):void 0},D.fromDate=function(e,t){var r=d(e);return new D(r[0],r[1],t)},D.fromIso8601=function(t){t=t.replace(",",".");var n,i,a,u=t.split("T"),l=1,c=1,f=0,d=0,m=0,v=0,x=u[0],I=u[1];if(!r(x))throw new e(A);var _;if(u=x.match(C),null!==u){if(_=x.split("-").length-1,_>0&&2!==_)throw new e(A);n=+u[1],l=+u[2],c=+u[3]}else if(u=x.match(E),null!==u)n=+u[1],l=+u[2];else if(u=x.match(g),null!==u)n=+u[1];else{var b;if(u=x.match(w),null!==u){if(n=+u[1],b=+u[2],a=s(n),1>b||a&&b>366||!a&&b>365)throw new e(A)}else{if(u=x.match(S),null===u)throw new e(A);n=+u[1];var N=+u[2],R=+u[3]||0;if(_=x.split("-").length-1,_>0&&(!r(u[3])&&1!==_||r(u[3])&&2!==_))throw new e(A);var P=new Date(Date.UTC(n,0,4));b=7*N+R-P.getUTCDay()-3}i=new Date(Date.UTC(n,0,1)),i.setUTCDate(b),l=i.getUTCMonth()+1,c=i.getUTCDate()}if(a=s(n),1>l||l>12||1>c||(2!==l||!a)&&c>y[l-1]||a&&2===l&&c>p)throw new e(A);var z;if(r(I)){if(u=I.match(M),null!==u){if(_=I.split(":").length-1,_>0&&2!==_&&3!==_)throw new e(A);f=+u[1],d=+u[2],m=+u[3],v=1e3*+(u[4]||0),z=5}else if(u=I.match(O),null!==u){if(_=I.split(":").length-1,_>0&&1!==_)throw new e(A);f=+u[1],d=+u[2],m=60*+(u[3]||0),z=4}else{if(u=I.match(T),null===u)throw new e(A);f=+u[1],d=60*+(u[2]||0),z=3}if(d>=60||m>=61||f>24||24===f&&(d>0||m>0||v>0))throw new e(A);var L=u[z],F=+u[z+1],U=+(u[z+2]||0);switch(L){case"+":f-=F,d-=U;break;case"-":f+=F,d+=U;break;case"Z":break;default:d+=new Date(Date.UTC(n,l-1,c,f,d)).getTimezoneOffset()}}else d+=new Date(Date.UTC(n,l-1,c)).getTimezoneOffset();var B=60===m;for(B&&m--;d>=60;)d-=60,f++;for(;f>=24;)f-=24,c++;for(i=a&&2===l?p:y[l-1];c>i;)c-=i,l++,l>12&&(l-=12,n++),i=a&&2===l?p:y[l-1];for(;0>d;)d+=60,f--;for(;0>f;)f+=24,c--;for(;1>c;)l--,1>l&&(l+=12,n--),i=a&&2===l?p:y[l-1],c+=i;var q=h(n,l,c,f,d,m,v),G=new D(q[0],q[1],o.UTC);return B&&G.addSeconds(1,G),G},D.fromTotalDays=function(e,t){return new D(e,0,t)},D.compare=function(e,t){var r=e._julianDayNumber-t._julianDayNumber;return 0!==r?r:e._secondsOfDay-t._secondsOfDay},D.equals=function(e,t){return e===t||r(e)&&r(t)&&e._julianDayNumber===t._julianDayNumber&&e._secondsOfDay===t._secondsOfDay},D.equalsEpsilon=function(e,t,r){return Math.abs(e.getSecondsDifference(t))<=r},D.prototype.clone=function(e){return D.clone(this,e)},D.prototype.getTotalDays=function(){return this._julianDayNumber+this._secondsOfDay/i.SECONDS_PER_DAY},D.prototype.getJulianDayNumber=function(){return this._julianDayNumber},D.prototype.getJulianTimeFraction=function(){return this._secondsOfDay/i.SECONDS_PER_DAY},D.prototype.getSecondsOfDay=function(){return this._secondsOfDay};var I=new D(0,0,o.TAI);return D.prototype.toGregorianDate=function(){var e=!1,t=c(this,I);r(t)||(this.addSeconds(-1,I),t=c(I,I),e=!0);var n=t._julianDayNumber,a=t._secondsOfDay;a>=43200&&(n+=1);var o=0|n+68569,s=0|4*o/146097;o=0|o-(0|(146097*s+3)/4);var u=0|4e3*(o+1)/1461001;o=0|o-(0|1461*u/4)+31;var l=0|80*o/2447,f=0|o-(0|2447*l/80);o=0|l/11;var h=0|l+2-12*o,d=0|100*(s-49)+u+o,y=0|a/i.SECONDS_PER_HOUR,p=a-y*i.SECONDS_PER_HOUR,v=0|p/i.SECONDS_PER_MINUTE;p-=v*i.SECONDS_PER_MINUTE;var g=0|p,E=(p-g)/i.SECONDS_PER_MILLISECOND;return y+=12,y>23&&(y-=24),e&&(g+=1),new m(d,h,f,y,v,g,E,e)},D.prototype.toDate=function(){var e=this.toGregorianDate(),t=e.second;return e.isLeapSecond&&(t-=1),new Date(Date.UTC(e.year,e.month-1,e.day,e.hour,e.minute,t,e.millisecond))},D.prototype.toIso8601=function(e){var t,n=this.toGregorianDate();return r(e)||0===n.millisecond?r(e)&&0!==e?(t=(.01*n.millisecond).toFixed(e).replace(".","").slice(0,e),u("%04d-%02d-%02dT%02d:%02d:%02d.%sZ",n.year,n.month,n.day,n.hour,n.minute,n.second,t)):u("%04d-%02d-%02dT%02d:%02d:%02dZ",n.year,n.month,n.day,n.hour,n.minute,n.second):(t=(.01*n.millisecond).toString().replace(".",""),u("%04d-%02d-%02dT%02d:%02d:%02d.%sZ",n.year,n.month,n.day,n.hour,n.minute,n.second,t))},D.prototype.getSecondsDifference=function(e){var t=this,r=e,n=(r._julianDayNumber-t._julianDayNumber)*i.SECONDS_PER_DAY;return n+(r._secondsOfDay-t._secondsOfDay)},D.prototype.getMinutesDifference=function(e){return this.getSecondsDifference(e)/i.SECONDS_PER_MINUTE},D.prototype.getDaysDifference=function(e){var t=this,r=e,n=r._julianDayNumber-t._julianDayNumber,a=(r._secondsOfDay-t._secondsOfDay)/i.SECONDS_PER_DAY;return n+a},D.prototype.getTaiMinusUtc=function(){v.julianDate=this;var e=a.getLeapSeconds(),r=t(e,v,a.compareLeapSecondDate);return 0>r&&(r=~r,--r,0>r&&(r=0)),e[r].offset},D.prototype.addSeconds=function(e,t){return f(this._julianDayNumber,this._secondsOfDay+e,t)},D.prototype.addMinutes=function(e){var t=this._secondsOfDay+e*i.SECONDS_PER_MINUTE;return new D(this._julianDayNumber,t,o.TAI)},D.prototype.addHours=function(e){var t=this._secondsOfDay+e*i.SECONDS_PER_HOUR;return new D(this._julianDayNumber,t,o.TAI)},D.prototype.addDays=function(e){var t=this._julianDayNumber+e;return new D(t,this._secondsOfDay,o.TAI)},D.prototype.lessThan=function(e){return D.compare(this,e)<0},D.prototype.lessThanOrEquals=function(e){return D.compare(this,e)<=0},D.prototype.greaterThan=function(e){return D.compare(this,e)>0},D.prototype.greaterThanOrEquals=function(e){return D.compare(this,e)>=0},D.prototype.compareTo=function(e){return D.compare(this,e)},D.prototype.equals=function(e){return D.equals(this,e)},D.prototype.equalsEpsilon=function(e,t){return D.equalsEpsilon(this,e,t)},0===a._leapSeconds.length&&(a._leapSeconds=[new a(new D(2441317,43210,o.TAI),10),new a(new D(2441499,43211,o.TAI),11),new a(new D(2441683,43212,o.TAI),12),new a(new D(2442048,43213,o.TAI),13),new a(new D(2442413,43214,o.TAI),14),new a(new D(2442778,43215,o.TAI),15),new a(new D(2443144,43216,o.TAI),16),new a(new D(2443509,43217,o.TAI),17),new a(new D(2443874,43218,o.TAI),18),new a(new D(2444239,43219,o.TAI),19),new a(new D(2444786,43220,o.TAI),20),new a(new D(2445151,43221,o.TAI),21),new a(new D(2445516,43222,o.TAI),22),new a(new D(2446247,43223,o.TAI),23),new a(new D(2447161,43224,o.TAI),24),new a(new D(2447892,43225,o.TAI),25),new a(new D(2448257,43226,o.TAI),26),new a(new D(2448804,43227,o.TAI),27),new a(new D(2449169,43228,o.TAI),28),new a(new D(2449534,43229,o.TAI),29),new a(new D(2450083,43230,o.TAI),30),new a(new D(2450630,43231,o.TAI),31),new a(new D(2451179,43232,o.TAI),32),new a(new D(2453736,43233,o.TAI),33),new a(new D(2454832,43234,o.TAI),34),new a(new D(2456109,43235,o.TAI),35)]),D}),define("Core/clone",["./defaultValue"],function(e){"use strict";var t=function(r,n){if(null===r||"object"!=typeof r)return r;n=e(n,!1);var i=new r.constructor;for(var a in r)if(r.hasOwnProperty(a)){var o=r[a];n&&(o=t(o,n)),i[a]=o}return i};return t}),define("Core/parseResponseHeaders",[],function(){"use strict";var e=function(e){var t={};if(!e)return t;for(var r=e.split("\r\n"),n=0;n0){var o=i.substring(0,a),s=i.substring(a+2);t[o]=s}}return t};return e}),define("Core/RequestErrorEvent",["./defined","./parseResponseHeaders"],function(e,t){"use strict";var r=function(e,r,n){this.statusCode=e,this.response=r,this.responseHeaders=n,"string"==typeof this.responseHeaders&&(this.responseHeaders=t(this.responseHeaders))};return r.prototype.toString=function(){var t="Request has failed.";return e(this.statusCode)&&(t+=" Status Code: "+this.statusCode),t},r}),function(e){"use strict";e("ThirdParty/when",[],function(){function e(e,r,n,i){return t(e).then(r,n,i)}function t(e){var t,r;return e instanceof n?t=e:s(e)?(r=o(),e.then(function(e){r.resolve(e)},function(e){r.reject(e)},function(e){r.progress(e)}),t=r.promise):t=i(e),t}function r(t){return e(t,a)}function n(e){this.then=e}function i(e){var r=new n(function(r){try{return t(r?r(e):e)}catch(n){return a(n)}});return r}function a(e){var r=new n(function(r,n){try{return n?t(n(e)):a(e)}catch(i){return a(i)}});return r}function o(){function e(e,t,r){return h(e,t,r)}function r(e){return m(e)}function i(e){return m(a(e))}function s(e){return d(e)}var u,l,c,f,h,d,m;return l=new n(e),u={then:e,resolve:r,reject:i,progress:s,promise:l,resolver:{resolve:r,reject:i,progress:s}},c=[],f=[],h=function(e,t,r){var n,i;return n=o(),i="function"==typeof r?function(e){try{n.progress(r(e))}catch(t){n.progress(t)}}:function(e){n.progress(e)},c.push(function(r){r.then(e,t).then(n.resolve,n.reject,i)}),f.push(i),n.promise},d=function(e){return y(f,e),e},m=function(e){return e=t(e),h=e.then,m=t,d=v,y(c,e),f=c=S,e},u}function s(e){return e&&"function"==typeof e.then}function u(t,r,n,i,a){return p(2,arguments),e(t,function(t){function s(e){y(e)}function u(e){m(e)}var l,c,f,h,d,m,y,p,g,E;if(g=t.length>>>0,l=Math.max(0,Math.min(r,g)),f=[],c=g-l+1,h=[],d=o(),l)for(p=d.progress,y=function(e){h.push(e),--c||(m=y=v,d.reject(h))},m=function(e){f.push(e),--l||(m=y=v,d.resolve(f))},E=0;g>E;++E)E in t&&e(t[E],u,s,p);else d.resolve(f);return d.then(n,i,a)})}function l(e,t,r,n){function i(e){return t?t(e[0]):e[0]}return u(e,1,i,r,n)}function c(e,t,r,n){return p(1,arguments),h(e,g).then(t,r,n)}function f(){return h(arguments,g)}function h(t,r){return e(t,function(t){var n,i,a,s,u,l;if(a=i=t.length>>>0,n=[],l=o(),a)for(s=function(t,i){e(t,r).then(function(e){n[i]=e,--a||l.resolve(n)},l.reject)},u=0;i>u;u++)u in t?s(t[u],u):--a;else l.resolve(n);return l.promise})}function d(t,r){var n=w.call(arguments,1);return e(t,function(t){var i;return i=t.length,n[0]=function(t,n,a){return e(t,function(t){return e(n,function(e){return r(t,e,a,i)})})},E.apply(t,n)})}function m(t,r,n){var i=arguments.length>2;return e(t,function(e){return e=i?n:e,r.resolve(e),e},function(e){return r.reject(e),a(e)},r.progress)}function y(e,t){for(var r,n=0;r=e[n++];)r(t)}function p(e,t){for(var r,n=t.length;n>e;)if(r=t[--n],null!=r&&"function"!=typeof r)throw new Error("arg "+n+" must be a function")}function v(){}function g(e){return e}var E,w,S;return e.defer=o,e.resolve=t,e.reject=r,e.join=f,e.all=c,e.map=h,e.reduce=d,e.any=l,e.some=u,e.chain=m,e.isPromise=s,n.prototype={always:function(e,t){return this.then(e,e,t)},otherwise:function(e){return this.then(S,e)},yield:function(e){return this.then(function(){return e})},spread:function(e){return this.then(function(t){return c(t,function(t){return e.apply(S,t)})})}},w=[].slice,E=[].reduce||function(e){var t,r,n,i,a;if(a=0,t=Object(this),i=t.length>>>0,r=arguments,r.length<=1)for(;;){if(a in t){n=t[a++];break}if(++a>=i)throw new TypeError}else n=r[1];for(;i>a;++a)a in t&&(n=e(n,t[a],a,t));return n},e})}("function"==typeof define&&define.amd?define:function(e){"object"==typeof exports?module.exports=e():this.when=e()}),define("Core/loadWithXhr",["./defined","./defaultValue","./DeveloperError","./RequestErrorEvent","../ThirdParty/when"],function(e,t,r,n,i){"use strict";var a=function(e){e=t(e,t.EMPTY_OBJECT);var r=e.responseType,n=t(e.method,"GET"),o=e.data,s=e.headers;return i(e.url,function(e){var t=i.defer();return a.load(e,r,n,o,s,t),t.promise})};return a.load=function(t,r,i,a,o,s){var u=new XMLHttpRequest;if(u.open(i,t,!0),e(o))for(var l in o)o.hasOwnProperty(l)&&u.setRequestHeader(l,o[l]);e(r)&&(u.responseType=r),u.onload=function(){200===u.status?s.resolve(u.response):s.reject(new n(u.status,u.response,u.getAllResponseHeaders()))},u.onerror=function(){s.reject(new n)},u.send(a)},a.defaultLoad=a.load,a}),define("Core/loadText",["./loadWithXhr"],function(e){"use strict";var t=function(t,r){return e({url:t,headers:r})};return t}),define("Core/loadJson",["./clone","./defined","./loadText","./DeveloperError"],function(e,t,r){"use strict";var n={Accept:"application/json,*/*;q=0.01"},i=function(i,a){return t(a)?t(a.Accept)||(a=e(a),a.Accept=n.Accept):a=n,r(i,a).then(function(e){return JSON.parse(e)})};return i}),define("Core/Iau2006XysData",["./buildModuleUrl","./defaultValue","./defined","./Iau2006XysSample","./JulianDate","./loadJson","./TimeStandard","../ThirdParty/when"],function(e,t,r,n,i,a,o,s){"use strict";function u(e,t,r){var n=f;return n._julianDayNumber=t,n._secondsOfDay=r,e._sampleZeroDateTT.getDaysDifference(n)}function l(t,n){if(t._chunkDownloadsInProgress[n])return t._chunkDownloadsInProgress[n];var i=s.defer();t._chunkDownloadsInProgress[n]=i;var o,u=t._xysFileUrlTemplate;return o=r(u)?u.replace("{0}",n):e("Assets/IAU2006_XYS/IAU2006_XYS_"+n+".json"),s(a(o),function(e){t._chunkDownloadsInProgress[n]=!1;for(var r=t._samples,a=e.samples,o=3*n*t._samplesPerXysFile,s=0,u=a.length;u>s;++s)r[o+s]=a[s];i.resolve()}),i.promise}var c=function(e){e=t(e,t.EMPTY_OBJECT),this._xysFileUrlTemplate=e.xysFileUrlTemplate,this._interpolationOrder=t(e.interpolationOrder,9),this._sampleZeroJulianEphemerisDate=t(e.sampleZeroJulianEphemerisDate,2442396.5),this._sampleZeroDateTT=new i(this._sampleZeroJulianEphemerisDate,0,o.TAI),this._stepSizeDays=t(e.stepSizeDays,1),this._samplesPerXysFile=t(e.samplesPerXysFile,1e3),this._totalSamples=t(e.totalSamples,27426),this._samples=new Array(3*this._totalSamples),this._chunkDownloadsInProgress=[];for(var r=this._interpolationOrder,n=this._denominators=new Array(r+1),a=this._xTable=new Array(r+1),s=Math.pow(this._stepSizeDays,r),u=0;r>=u;++u){n[u]=s,a[u]=u*this._stepSizeDays;for(var l=0;r>=l;++l)l!==u&&(n[u]*=u-l);n[u]=1/n[u]}this._work=new Array(r+1),this._coef=new Array(r+1)},f=new i(0,0,o.TAI);return c.prototype.preload=function(e,t,r,n){var i=u(this,e,t),a=u(this,r,n),o=0|i/this._stepSizeDays-this._interpolationOrder/2;0>o&&(o=0);var c=a/this._stepSizeDays-this._interpolationOrder/2|0+this._interpolationOrder;c>=this._totalSamples&&(c=this._totalSamples-1);for(var f=0|o/this._samplesPerXysFile,h=0|c/this._samplesPerXysFile,d=[],m=f;h>=m;++m)d.push(l(this,m));return s.all(d)},c.prototype.computeXysRadians=function(e,t,i){var a=u(this,e,t);if(0>a)return void 0;var o=0|a/this._stepSizeDays;if(o>=this._totalSamples)return void 0;var s=this._interpolationOrder,c=o-(0|s/2);0>c&&(c=0);var f=c+s;f>=this._totalSamples&&(f=this._totalSamples-1,c=f-s,0>c&&(c=0));var h=!1,d=this._samples;if(r(d[3*c])||(l(this,0|c/this._samplesPerXysFile),h=!0),r(d[3*f])||(l(this,0|f/this._samplesPerXysFile),h=!0),h)return void 0;r(i)?(i.x=0,i.y=0,i.s=0):i=new n(0,0,0);var m,y,p=a-c*this._stepSizeDays,v=this._work,g=this._denominators,E=this._coef,w=this._xTable;for(m=0;s>=m;++m)v[m]=p-w[m];for(m=0;s>=m;++m){for(E[m]=1,y=0;s>=y;++y)y!==m&&(E[m]*=v[y]);E[m]*=g[m];var S=3*(c+m);i.x+=E[m]*d[S++],i.y+=E[m]*d[S++],i.s+=E[m]*d[S]}return i},c}),define("Core/EarthOrientationParametersSample",[],function(){"use strict";var e=function(e,t,r,n,i){this.xPoleWander=e,this.yPoleWander=t,this.xPoleOffset=r,this.yPoleOffset=n,this.ut1MinusUtc=i};return e}),define("Core/EarthOrientationParameters",["./binarySearch","./defaultValue","./defined","./EarthOrientationParametersSample","./freezeObject","./loadJson","./JulianDate","./LeapSecond","./RuntimeError","./TimeConstants","./TimeStandard","../ThirdParty/when"],function(e,t,r,n,i,a,o,s,u,l,c,f){"use strict";function h(e,t){return o.compare(e.julianDate,t)}function d(t,n){if(!r(n.columnNames))return t._dataError="Error in loaded EOP data: The columnNames property is required.",void 0;if(!r(n.samples))return t._dataError="Error in loaded EOP data: The samples property is required.",void 0;var i=n.columnNames.indexOf("modifiedJulianDateUtc"),a=n.columnNames.indexOf("xPoleWanderRadians"),u=n.columnNames.indexOf("yPoleWanderRadians"),f=n.columnNames.indexOf("ut1MinusUtcSeconds"),d=n.columnNames.indexOf("xCelestialPoleOffsetRadians"),m=n.columnNames.indexOf("yCelestialPoleOffsetRadians"),y=n.columnNames.indexOf("taiMinusUtcSeconds");if(0>i||0>a||0>u||0>f||0>d||0>m||0>y)return t._dataError="Error in loaded EOP data: The columnNames property must include modifiedJulianDateUtc, xPoleWanderRadians, yPoleWanderRadians, ut1MinusUtcSeconds, xCelestialPoleOffsetRadians, yCelestialPoleOffsetRadians, and taiMinusUtcSeconds columns",void 0;var p=t._samples=n.samples,v=t._dates=[];t._dateColumn=i,t._xPoleWanderRadiansColumn=a,t._yPoleWanderRadiansColumn=u,t._ut1MinusUtcSecondsColumn=f,t._xCelestialPoleOffsetRadiansColumn=d,t._yCelestialPoleOffsetRadiansColumn=m,t._taiMinusUtcSecondsColumn=y,t._columnCount=n.columnNames.length,t._lastIndex=void 0;for(var g,E=t._addNewLeapSeconds,w=0,S=p.length;S>w;w+=t._columnCount){var C=p[w+i],x=p[w+y],T=C+l.MODIFIED_JULIAN_DATE_DIFFERENCE,O=new o(T,x,c.TAI);if(v.push(O),E){if(x!==g&&r(g)){var M=s.getLeapSeconds(),A=e(M,O,h);if(0>A){var D=new s(O,x);M.splice(~A,0,D)}}g=x}}}function m(e,t,r,n,i){var a=r*n;i.xPoleWander=t[a+e._xPoleWanderRadiansColumn],i.yPoleWander=t[a+e._yPoleWanderRadiansColumn],i.xPoleOffset=t[a+e._xCelestialPoleOffsetRadiansColumn],i.yPoleOffset=t[a+e._yCelestialPoleOffsetRadiansColumn],i.ut1MinusUtc=t[a+e._ut1MinusUtcSecondsColumn]}function y(e,t,r){return t+e*(r-t)}function p(e,t,r,n,i,a,o){var s=e._columnCount;if(a>t.length-1)return o.xPoleWander=0,o.yPoleWander=0,o.xPoleOffset=0,o.yPoleOffset=0,o.ut1MinusUtc=0,o;var u=t[i],l=t[a];if(u.equals(l)||n.equals(u))return m(e,r,i,s,o),o;if(n.equals(l))return m(e,r,a,s,o),o;var c=u.getSecondsDifference(n)/u.getSecondsDifference(l),f=i*s,h=a*s,d=r[f+e._ut1MinusUtcSecondsColumn],p=r[h+e._ut1MinusUtcSecondsColumn],v=p-d;if(v>.5||-.5>v){var g=r[f+e._taiMinusUtcSecondsColumn],E=r[h+e._taiMinusUtcSecondsColumn];g!==E&&(l.equals(n)?d=p:p-=E-g)}return o.xPoleWander=y(c,r[f+e._xPoleWanderRadiansColumn],r[h+e._xPoleWanderRadiansColumn]),o.yPoleWander=y(c,r[f+e._yPoleWanderRadiansColumn],r[h+e._yPoleWanderRadiansColumn]),o.xPoleOffset=y(c,r[f+e._xCelestialPoleOffsetRadiansColumn],r[h+e._xCelestialPoleOffsetRadiansColumn]),o.yPoleOffset=y(c,r[f+e._yCelestialPoleOffsetRadiansColumn],r[h+e._yCelestialPoleOffsetRadiansColumn]),o.ut1MinusUtc=y(c,d,p),o}var v=function(e){if(e=t(e,t.EMPTY_OBJECT),this._dates=void 0,this._samples=void 0,this._dateColumn=-1,this._xPoleWanderRadiansColumn=-1,this._yPoleWanderRadiansColumn=-1,this._ut1MinusUtcSecondsColumn=-1,this._xCelestialPoleOffsetRadiansColumn=-1,this._yCelestialPoleOffsetRadiansColumn=-1,this._taiMinusUtcSecondsColumn=-1,this._columnCount=0,this._lastIndex=-1,this._downloadPromise=void 0,this._dataError=void 0,this._addNewLeapSeconds=t(e.addNewLeapSeconds,!0),r(e.data))d(this,e.data);else if(r(e.url)){var n=this;this._downloadPromise=f(a(e.url),function(e){d(n,e)},function(){n._dataError="An error occurred while retrieving the EOP data from the URL "+e.url+"."})}else d(this,{columnNames:["dateIso8601","modifiedJulianDateUtc","xPoleWanderRadians","yPoleWanderRadians","ut1MinusUtcSeconds","lengthOfDayCorrectionSeconds","xCelestialPoleOffsetRadians","yCelestialPoleOffsetRadians","taiMinusUtcSeconds"],samples:[]})};return v.NONE=i({getPromiseToLoad:function(){return f()},compute:function(e,t){return r(t)?(t.xPoleWander=0,t.yPoleWander=0,t.xPoleOffset=0,t.yPoleOffset=0,t.ut1MinusUtc=0):t=new n(0,0,0,0,0),t}}),v.prototype.getPromiseToLoad=function(){return f(this._downloadPromise)},v.prototype.compute=function(t,i){if(!r(this._samples)){if(r(this._dataError))throw new u(this._dataError);return void 0}if(r(i)||(i=new n(0,0,0,0,0)),0===this._samples.length)return i.xPoleWander=0,i.yPoleWander=0,i.xPoleOffset=0,i.yPoleOffset=0,i.ut1MinusUtc=0,i;var a=this._dates,s=this._lastIndex,l=0,c=0;if(r(s)){var f=a[s],h=a[s+1],d=f.lessThanOrEquals(t),m=!r(h),y=m||h.greaterThanOrEquals(t);if(d&&y)return l=s,!m&&h.equals(t)&&++l,c=l+1,p(this,a,this._samples,t,l,c,i),i}var v=e(a,t,o.compare,this._dateColumn);return v>=0?(vl&&(l=0)),this._lastIndex=l,p(this,a,this._samples,t,l,c,i),i},v}),define("Core/Transforms",["./defaultValue","./defined","./DeveloperError","./Iau2006XysData","./Iau2006XysSample","./Math","./Matrix3","./Matrix4","./Cartesian2","./Cartesian3","./Cartesian4","./TimeConstants","./Ellipsoid","./EarthOrientationParameters","./EarthOrientationParametersSample","../ThirdParty/when"],function(e,t,r,n,i,a,o,s,u,l,c,f,h,d,m,y){"use strict";var p={},v=new l,g=new l,E=new l;p.eastNorthUpToFixedFrame=function(r,n,i){if(a.equalsEpsilon(r.x,0,a.EPSILON14)&&a.equalsEpsilon(r.y,0,a.EPSILON14)){var o=a.sign(r.z);return t(i)?(i[0]=0,i[1]=1,i[2]=0,i[3]=0,i[4]=-o,i[5]=0,i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=o,i[11]=0,i[12]=r.x,i[13]=r.y,i[14]=r.z,i[15]=1,i):new s(0,-o,0,r.x,1,0,0,r.y,0,0,o,r.z,0,0,0,1)}var u=v,c=g,f=E;return n=e(n,h.WGS84),n.geodeticSurfaceNormal(r,u),c.x=-r.y,c.y=r.x,c.z=0,l.normalize(c,c),l.cross(u,c,f),t(i)?(i[0]=c.x,i[1]=c.y,i[2]=c.z,i[3]=0,i[4]=f.x,i[5]=f.y,i[6]=f.z,i[7]=0,i[8]=u.x,i[9]=u.y,i[10]=u.z,i[11]=0,i[12]=r.x,i[13]=r.y,i[14]=r.z,i[15]=1,i):new s(c.x,f.x,u.x,r.x,c.y,f.y,u.y,r.y,c.z,f.z,u.z,r.z,0,0,0,1)};var w=new l,S=new l,C=new l;p.northEastDownToFixedFrame=function(r,n,i){if(a.equalsEpsilon(r.x,0,a.EPSILON14)&&a.equalsEpsilon(r.y,0,a.EPSILON14)){var o=a.sign(r.z);return t(i)?(i[0]=-o,i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=1,i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=-o,i[11]=0,i[12]=r.x,i[13]=r.y,i[14]=r.z,i[15]=1,i):new s(-o,0,0,r.x,0,1,0,r.y,0,0,-o,r.z,0,0,0,1)}var u=w,c=S,f=C;return n=e(n,h.WGS84),n.geodeticSurfaceNormal(r,u),c.x=-r.y,c.y=r.x,c.z=0,l.normalize(c,c),l.cross(u,c,f),t(i)?(i[0]=f.x,i[1]=f.y,i[2]=f.z,i[3]=0,i[4]=c.x,i[5]=c.y,i[6]=c.z,i[7]=0,i[8]=-u.x,i[9]=-u.y,i[10]=-u.z,i[11]=0,i[12]=r.x,i[13]=r.y,i[14]=r.z,i[15]=1,i):new s(f.x,c.x,-u.x,r.x,f.y,c.y,-u.y,r.y,f.z,c.z,-u.z,r.z,0,0,0,1)};var x=24110.54841,T=8640184.812866,O=.093104,M=-62e-7,A=1.1772758384668e-19,D=72921158553e-15,I=a.TWO_PI/86400;p.computeTemeToPseudoFixedMatrix=function(e,r){var n,i=e.addSeconds(-e.getTaiMinusUtc()),s=i.getJulianDayNumber(),u=i.getSecondsOfDay(),l=s-2451545;n=u>=43200?(l+.5)/f.DAYS_PER_JULIAN_CENTURY:(l-.5)/f.DAYS_PER_JULIAN_CENTURY;var c=x+n*(T+n*(O+n*M)),h=c*I%a.TWO_PI,d=D+A*(s-2451545.5),m=(u+.5*f.SECONDS_PER_DAY)%f.SECONDS_PER_DAY,y=h+d*m,p=Math.cos(y),v=Math.sin(y);return t(r)?(r[0]=p,r[1]=-v,r[2]=0,r[3]=v,r[4]=p,r[5]=0,r[6]=0,r[7]=0,r[8]=1,r):new o(p,v,0,-v,p,0,0,0,1)},p.iau2006XysData=new n,p.earthOrientationParameters=d.NONE;var _=32.184,b=2451545;p.preloadIcrfFixed=function(e){var t=e.start.getJulianDayNumber(),r=e.start.getSecondsOfDay()+_,n=e.stop.getJulianDayNumber(),i=e.stop.getSecondsOfDay()+_,a=p.iau2006XysData.preload(t,r,n,i),o=p.earthOrientationParameters.getPromiseToLoad();return y.all([a,o])},p.computeIcrfToFixedMatrix=function(e,r){var n=p.computeFixedToIcrfMatrix(e,r);return t(n)?o.transpose(n,r):void 0};var N=new i(0,0,0),R=new m(0,0,0,0,0,0),P=new o,z=new o;p.computeFixedToIcrfMatrix=function(e,r){var n=p.earthOrientationParameters.compute(e,R);if(!t(n))return void 0;var i=e.getJulianDayNumber(),s=e.getSecondsOfDay()+_,u=p.iau2006XysData.computeXysRadians(i,s,N);if(!t(u))return void 0;var l=u.x+n.xPoleOffset,c=u.y+n.yPoleOffset,h=1/(1+Math.sqrt(1-l*l-c*c)),d=P;d[0]=1-h*l*l,d[3]=-h*l*c,d[6]=l,d[1]=-h*l*c,d[4]=1-h*c*c,d[7]=c,d[2]=-l,d[5]=-c,d[8]=1-h*(l*l+c*c);var m=o.fromRotationZ(-u.s,z),y=o.multiply(d,m,P),v=e.getJulianDayNumber(),g=e.getSecondsOfDay()-e.getTaiMinusUtc()+n.ut1MinusUtc,E=v-2451545,w=g/f.SECONDS_PER_DAY,S=.779057273264+w+.00273781191135448*(E+w);S=S%1*a.TWO_PI;var C=o.fromRotationZ(S,z),x=o.multiply(y,C,P),T=Math.cos(n.xPoleWander),O=Math.cos(n.yPoleWander),M=Math.sin(n.xPoleWander),A=Math.sin(n.yPoleWander),D=i-b+s/f.SECONDS_PER_DAY;D/=36525;var I=-47e-6*D*a.RADIANS_PER_DEGREE/3600,L=Math.cos(I),F=Math.sin(I),U=z;return U[0]=T*L,U[1]=T*F,U[2]=M,U[3]=-O*F+A*M*L,U[4]=O*L+A*M*F,U[5]=-A*T,U[6]=-A*F-O*M*L,U[7]=A*L-O*M*F,U[8]=O*T,o.multiply(x,U,r)};var L=new c;return p.pointToWindowCoordinates=function(e,t,r,n){var i=L;return s.multiplyByVector(e,c.fromElements(r.x,r.y,r.z,1,i),i),c.multiplyByScalar(i,1/i.w,i),s.multiplyByVector(t,i,i),u.fromCartesian4(i,n)},p}),define("Core/AxisAlignedBoundingBox",["./defaultValue","./defined","./DeveloperError","./Cartesian3","./Intersect"],function(e,t,r,n,i){"use strict";var a=function(r,i,a){this.minimum=n.clone(e(r,n.ZERO)),this.maximum=n.clone(e(i,n.ZERO)),t(a)?a=n.clone(a):(a=n.add(this.minimum,this.maximum),n.multiplyByScalar(a,.5,a)),this.center=a};a.fromPoints=function(e,r){if(t(r)||(r=new a),!t(e)||0===e.length)return r.minimum=n.clone(n.ZERO,r.minimum),r.maximum=n.clone(n.ZERO,r.maximum),r.center=n.clone(n.ZERO,r.center),r;for(var i=e[0].x,o=e[0].y,s=e[0].z,u=e[0].x,l=e[0].y,c=e[0].z,f=e.length,h=1;f>h;h++){var d=e[h],m=d.x,y=d.y,p=d.z;i=Math.min(m,i),u=Math.max(m,u),o=Math.min(y,o),l=Math.max(y,l),s=Math.min(p,s),c=Math.max(p,c)}var v=r.minimum;v.x=i,v.y=o,v.z=s;var g=r.maximum;g.x=u,g.y=l,g.z=c;var E=n.add(v,g,r.center);return n.multiplyByScalar(E,.5,E),r},a.clone=function(e,r){return t(e)?t(r)?(r.minimum=n.clone(e.minimum,r.minimum),r.maximum=n.clone(e.maximum,r.maximum),r.center=n.clone(e.center,r.center),r):new a(e.minimum,e.maximum):void 0},a.equals=function(e,r){return e===r||t(e)&&t(r)&&n.equals(e.center,r.center)&&n.equals(e.minimum,r.minimum)&&n.equals(e.maximum,r.maximum)};var o=new n;return a.intersect=function(e,t){o=n.subtract(e.maximum,e.minimum,o);var r=n.multiplyByScalar(o,.5,o),a=r.x*Math.abs(t.x)+r.y*Math.abs(t.y)+r.z*Math.abs(t.z),s=n.dot(e.center,t)+t.w;return s-a>0?i.INSIDE:0>s+a?i.OUTSIDE:i.INTERSECTING},a.prototype.clone=function(e){return a.clone(this,e)},a.prototype.intersect=function(e){return a.intersect(this,e)},a.prototype.equals=function(e){return a.equals(this,e)},a}),define("Core/QuadraticRealPolynomial",["./DeveloperError","./Math"],function(e,t){"use strict";function r(e,r,n){var i=e+r;return t.sign(e)!==t.sign(r)&&Math.abs(i/Math.max(Math.abs(e),Math.abs(r)))o&&o/ss&&s/oa)return[];var u=Math.sqrt(a);return[-u,u]}if(0===i)return a=-n/e,0>a?[a,0]:[0,a];var l=n*n,c=4*e*i,f=r(l,-c,t.EPSILON14);if(0>f)return[];var h=-.5*r(n,t.sign(n)*Math.sqrt(f),t.EPSILON14);return n>0?[h/e,i/h]:[i/h,h/e]},n}),define("Core/CubicRealPolynomial",["./DeveloperError","./QuadraticRealPolynomial"],function(e,t){"use strict";function r(e,t,r,n){var i,a,o=e,s=t/3,u=r/3,l=n,c=o*u,f=s*l,h=s*s,d=u*u,m=o*u-h,y=o*l-s*u,p=s*l-d,v=4*m*p-y*y;if(0>v){var g,E,w;h*f>=c*d?(g=o,E=m,w=-2*s*m+o*y):(g=l,E=p,w=-l*y+2*u*p);var S=0>w?-1:1,C=-S*Math.abs(g)*Math.sqrt(-v);a=-w+C;var x=a/2,T=0>x?-Math.pow(-x,1/3):Math.pow(x,1/3),O=a===C?-T:-E/T;return i=0>=E?T+O:-w/(T*T+O*O+E),h*f>=c*d?[(i-s)/o]:[-l/(i+u)]}var M=m,A=-2*s*m+o*y,D=p,I=-l*y+2*u*p,_=Math.sqrt(v),b=Math.sqrt(3)/2,N=Math.abs(Math.atan2(o*_,-A)/3);i=2*Math.sqrt(-M);var R=Math.cos(N);a=i*R;var P=i*(-R/2-b*Math.sin(N)),z=a+P>2*s?a-s:P-s,L=o,F=z/L;N=Math.abs(Math.atan2(l*_,-I)/3),i=2*Math.sqrt(-D),R=Math.cos(N),a=i*R,P=i*(-R/2-b*Math.sin(N));var U=-l,B=2*u>a+P?a+u:P+u,q=U/B,G=L*B,W=-z*B-L*U,Y=z*U,V=(u*W-s*Y)/(-s*W+u*G);return V>=F?q>=F?q>=V?[F,V,q]:[F,q,V]:[q,F,V]:q>=F?[V,F,q]:q>=V?[V,q,F]:[q,V,F]}var n={};return n.discriminant=function(e,t,r,n){var i=e*e,a=t*t,o=r*r,s=n*n,u=18*e*t*r*n+a*o-27*i*s-4*(e*o*r+a*t*n);return u},n.realRoots=function(e,n,i,a){var o,s;if(0===e)return t.realRoots(n,i,a);if(0===n){if(0===i){if(0===a)return[0,0,0];s=-a/e;var u=0>s?-Math.pow(-s,1/3):Math.pow(s,1/3);return[u,u,u]}return 0===a?(o=t.realRoots(e,0,i),0===o.Length?[0]:[o[0],0,o[1]]):r(e,0,i,a)}return 0===i?0===a?(s=-n/e,0>s?[s,0,0]:[0,0,s]):r(e,n,0,a):0===a?(o=t.realRoots(e,n,i),0===o.length?[0]:o[1]<=0?[o[0],o[1],0]:o[0]>=0?[0,o[0],o[1]]:[o[0],0,o[1]]):r(e,n,i,a)},n}),define("Core/QuarticRealPolynomial",["./DeveloperError","./Math","./CubicRealPolynomial","./QuadraticRealPolynomial"],function(e,t,r,n){"use strict";function i(e,i,a,o){var s=e*e,u=i-3*s/8,l=a-i*e/2+s*e/8,c=o-a*e/4+i*s/16-3*s*s/256,f=r.realRoots(1,2*u,u*u-4*c,-l*l);if(f.length>0){var h=-e/4,d=f[f.length-1];if(Math.abs(d)=0&&v>=0){var g=Math.sqrt(p),E=Math.sqrt(v);return[h-E,h-g,h+g,h+E]}if(p>=0&&0>v)return y=Math.sqrt(p),[h-y,h+y];if(0>p&&v>=0)return y=Math.sqrt(v),[h-y,h+y]}return[]}if(d>0){var w=Math.sqrt(d),S=(u+d-l/w)/2,C=(u+d+l/w)/2,x=n.realRoots(1,w,S),T=n.realRoots(1,-w,C);return 0!==x.length?(x[0]+=h,x[1]+=h,0!==T.length?(T[0]+=h,T[1]+=h,x[1]<=T[0]?[x[0],x[1],T[0],T[1]]:T[1]<=x[0]?[T[0],T[1],x[0],x[1]]:x[0]>=T[0]&&x[1]<=T[1]?[T[0],x[0],x[1],T[1]]:T[0]>=x[0]&&T[1]<=x[1]?[x[0],T[0],T[1],x[1]]:x[0]>T[0]&&x[0]0){var m,y,p=d[0],v=i-p,g=v*v,E=e/2,w=v/2,S=g-4*o,C=g+4*Math.abs(o),x=l-4*p,T=l+4*Math.abs(p);if(0>p||x*C>S*T){var O=Math.sqrt(x);m=O/2,y=0===O?0:(e*w-a)/O}else{var M=Math.sqrt(S);m=0===M?0:(e*w-a)/M,y=M/2}var A,D;0===E&&0===m?(A=0,D=0):t.sign(E)===t.sign(m)?(A=E+m,D=p/A):(D=E-m,A=p/D);var I,_;0===w&&0===y?(I=0,_=0):t.sign(w)===t.sign(y)?(I=w+y,_=o/I):(_=w-y,I=o/_);var b=n.realRoots(1,A,I),N=n.realRoots(1,D,_);if(0!==b.length)return 0!==N.length?b[1]<=N[0]?[b[0],b[1],N[0],N[1]]:N[1]<=b[0]?[N[0],N[1],b[0],b[1]]:b[0]>=N[0]&&b[1]<=N[1]?[N[0],b[0],b[1],N[1]]:N[0]>=b[0]&&N[1]<=b[1]?[b[0],N[0],N[1],b[1]]:b[0]>N[0]&&b[0]l?1:0;switch(d+=0>c?d+1:d,d+=0>f?d+1:d,d+=0>h?d+1:d){case 0:return i(l,c,f,h);case 1:return a(l,c,f,h);case 2:return a(l,c,f,h);case 3:return i(l,c,f,h);case 4:return i(l,c,f,h);case 5:return a(l,c,f,h);case 6:return i(l,c,f,h);case 7:return i(l,c,f,h);case 8:return a(l,c,f,h);case 9:return i(l,c,f,h);case 10:return i(l,c,f,h);case 11:return a(l,c,f,h);case 12:return i(l,c,f,h);case 13:return i(l,c,f,h);case 14:return i(l,c,f,h);case 15:return i(l,c,f,h);default:return void 0 +}},o}),define("Core/IntersectionTests",["./defined","./DeveloperError","./Math","./Cartesian3","./Cartographic","./Matrix3","./QuadraticRealPolynomial","./QuarticRealPolynomial"],function(e,t,r,n,i,a,o,s){"use strict";function u(e,t,n){var i=e+t;return r.sign(e)!==r.sign(t)&&Math.abs(i/Math.max(Math.abs(e),Math.abs(t)))P;++P){var z,L=f[P],F=L*L,U=Math.max(1-F,0),B=Math.sqrt(U);z=r.sign(m)===r.sign(p)?u(m*F+p,y*L,r.EPSILON12):r.sign(p)===r.sign(y*L)?u(m*F,y*L+p,r.EPSILON12):u(m*F+y*L,p,r.EPSILON12);var q=u(v*L,g,r.EPSILON15),G=z*q;0>G?E.push(new n(l,c*L,c*B)):G>0?E.push(new n(l,c*L,c*-B)):0!==B?(E.push(new n(l,c*L,c*-B)),E.push(new n(l,c*L,c*B)),++P):E.push(new n(l,c*L,c*B))}return E}var c={};c.rayPlane=function(e,t,i){var a=e.origin,o=e.direction,s=t.normal,u=n.dot(s,o);if(Math.abs(u)l?void 0:(i=n.multiplyByScalar(o,l,i),n.add(a,i,i))};var f=new n,h=new n;c.rayEllipsoid=function(e,t){var r,i,a,o,s,u=t.oneOverRadii,l=n.multiplyComponents(u,e.origin,f),c=n.multiplyComponents(u,e.direction,h),d=n.magnitudeSquared(l),m=n.dot(l,c);if(d>1){if(m>=0)return void 0;var y=m*m;if(r=d-1,i=n.magnitudeSquared(c),a=i*r,a>y)return void 0;if(y>a){o=m*m-a,s=-m+Math.sqrt(o);var p=s/i,v=r/s;return v>p?{start:p,stop:v}:{start:v,stop:p}}var g=Math.sqrt(r/i);return{start:g,stop:g}}return 1>d?(r=d-1,i=n.magnitudeSquared(c),a=i*r,o=m*m-a,s=-m+Math.sqrt(o),{start:0,stop:s/i}):0>m?(i=n.magnitudeSquared(c),{start:0,stop:-m/i}):void 0},c.grazingAltitudeLocation=function(t,o){var s=t.origin,u=t.direction,c=o.geodeticSurfaceNormal(s);if(n.dot(u,c)>=0)return s;var f,h,d=e(this.rayEllipsoid(t,o)),m=o.transformPositionToScaledSpace(u),y=n.normalize(m),p=n.mostOrthogonalAxis(m),v=n.normalize(n.cross(p,y)),g=n.normalize(n.cross(y,v)),E=new a(y.x,v.x,g.x,y.y,v.y,g.y,y.z,v.z,g.z),w=a.transpose(E),S=a.fromScale(o.radii),C=a.fromScale(o.oneOverRadii),x=new a(0,u.z,-u.y,-u.z,0,u.x,u.y,-u.x,0),T=a.multiply(a.multiply(w,C),x),O=a.multiply(a.multiply(T,S),E),M=a.multiplyByVector(T,s),A=l(O,n.negate(M),0,0,1),D=A.length;if(D>0){for(var I=n.ZERO,_=Number.NEGATIVE_INFINITY,b=0;D>b;++b){f=a.multiplyByVector(S,a.multiplyByVector(E,A[b]));var N=n.normalize(n.subtract(f,s)),R=n.dot(N,u);R>_&&(_=R,I=f)}var P=o.cartesianToCartographic(I);return _=r.clamp(_,0,1),h=n.magnitude(n.subtract(I,s))*Math.sqrt(1-_*_),h=d?-h:h,o.cartographicToCartesian(new i(P.longitude,P.latitude,h))}return void 0};var d=new n;return c.lineSegmentPlane=function(t,i,a,o){var s=n.subtract(i,t,d),u=a.normal,l=n.dot(u,s);if(Math.abs(l)f||f>1?void 0:(e(o)||(o=new n),n.multiplyByScalar(s,f,o),n.add(t,o,o),o)},c.trianglePlaneIntersection=function(e,t,r,i){var a=i.normal,o=i.distance,s=n.dot(a,e)+o<0,u=n.dot(a,t)+o<0,l=n.dot(a,r)+o<0,f=0;f+=s?1:0,f+=u?1:0,f+=l?1:0;var h,d;if((1===f||2===f)&&(h=new n,d=new n),1===f){if(s)return c.lineSegmentPlane(e,t,i,h),c.lineSegmentPlane(e,r,i,d),{positions:[e,t,r,h,d],indices:[0,3,4,1,2,4,1,4,3]};if(u)return c.lineSegmentPlane(t,r,i,h),c.lineSegmentPlane(t,e,i,d),{positions:[e,t,r,h,d],indices:[1,3,4,2,0,4,2,4,3]};if(l)return c.lineSegmentPlane(r,e,i,h),c.lineSegmentPlane(r,t,i,d),{positions:[e,t,r,h,d],indices:[2,3,4,0,1,4,0,4,3]}}else if(2===f){if(!s)return c.lineSegmentPlane(t,e,i,h),c.lineSegmentPlane(r,e,i,d),{positions:[e,t,r,h,d],indices:[1,2,4,1,4,3,0,3,4]};if(!u)return c.lineSegmentPlane(r,t,i,h),c.lineSegmentPlane(e,t,i,d),{positions:[e,t,r,h,d],indices:[2,0,4,2,4,3,1,3,4]};if(!l)return c.lineSegmentPlane(e,r,i,h),c.lineSegmentPlane(t,r,i,d),{positions:[e,t,r,h,d],indices:[0,1,4,0,4,3,2,3,4]}}return void 0},c}),define("Core/Ray",["./DeveloperError","./defaultValue","./Cartesian3"],function(e,t,r){"use strict";var n=function(e,n){n=r.clone(t(n,r.ZERO)),r.equals(n,r.ZERO)||r.normalize(n,n),this.origin=r.clone(t(e,r.ZERO)),this.direction=n};return n.prototype.getPoint=function(e,t){return t=r.multiplyByScalar(this.direction,e,t),r.add(this.origin,t,t)},n}),define("Core/Plane",["./Cartesian3","./defined","./DeveloperError"],function(e,t){"use strict";var r=function(t,r){this.normal=e.clone(t),this.distance=r};return r.fromPointNormal=function(n,i,a){var o=-e.dot(i,n);return t(a)?(e.clone(i,a.normal),a.distance=o,a):new r(i,o)},r.getPointDistance=function(t,r){return e.dot(t.normal,r)+t.distance},r.prototype.getPointDistance=function(e){return r.getPointDistance(this,e)},r}),define("Core/EllipsoidTangentPlane",["./defaultValue","./defined","./defineProperties","./DeveloperError","./Transforms","./AxisAlignedBoundingBox","./IntersectionTests","./Cartesian2","./Cartesian3","./Ellipsoid","./Matrix4","./Ray","./Plane"],function(e,t,r,n,i,a,o,s,u,l,c,f,h){"use strict";var d=function(t,r){r=e(r,l.WGS84),t=r.scaleToGeodeticSurface(t);var n=i.eastNorthUpToFixedFrame(t,r);this._ellipsoid=r,this._origin=u.clone(t),this._xAxis=u.fromCartesian4(c.getColumn(n,0)),this._yAxis=u.fromCartesian4(c.getColumn(n,1));var a=u.fromCartesian4(c.getColumn(n,2));this._plane=h.fromPointNormal(t,a)};r(d.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},origin:{get:function(){return this._origin}}});var m=new a;d.fromPoints=function(e,t){var r=a.fromPoints(e,m);return new d(r.center,t)};var y=new f,p=new u;d.prototype.projectPointOntoPlane=function(e,r){var n=y;n.origin=e,u.normalize(e,n.direction);var i=o.rayPlane(n,this._plane,p);if(t(i)||(u.negate(n.direction,n.direction),i=o.rayPlane(n,this._plane,p)),t(i)){var a=u.subtract(i,this._origin,i),l=u.dot(this._xAxis,a),c=u.dot(this._yAxis,a);return t(r)?(r.x=l,r.y=c,r):new s(l,c)}return void 0},d.prototype.projectPointsOntoPlane=function(e,r){t(r)||(r=[]);for(var n=0,i=e.length,a=0;i>a;a++){var o=this.projectPointOntoPlane(e[a],r[n]);t(o)&&(r[n]=o,n++)}return r.length=n,r};var v=new u;return d.prototype.projectPointsOntoEllipsoid=function(e,r){var n=e.length;t(r)?r.length=n:r=new Array(n);for(var i=this._ellipsoid,a=this._origin,o=this._xAxis,s=this._yAxis,l=v,c=0;n>c;++c){var f=e[c];u.multiplyByScalar(o,f.x,l);var h=r[c]=u.add(a,l,r[c]);u.multiplyByScalar(s,f.y,l),u.add(h,l,h),i.scaleToGeocentricSurface(h,h)}return r},d}),define("Core/barycentricCoordinates",["./Cartesian2","./Cartesian3","./defined","./DeveloperError"],function(e,t,r){"use strict";var n=new t,i=new t,a=new t,o=function(o,s,u,l,c){r(c)||(c=new t);var f,h,d,m,y,p,v,g;r(s.z)?(f=t.subtract(u,s,n),h=t.subtract(l,s,i),d=t.subtract(o,s,a),m=t.dot(f,f),y=t.dot(f,h),p=t.dot(f,d),v=t.dot(h,h),g=t.dot(h,d)):(f=e.subtract(u,s,n),h=e.subtract(l,s,i),d=e.subtract(o,s,a),m=e.dot(f,f),y=e.dot(f,h),p=e.dot(f,d),v=e.dot(h,h),g=e.dot(h,d));var E=1/(m*v-y*y);return c.y=(v*p-y*g)*E,c.z=(m*g-y*p)*E,c.x=1-c.y-c.z,c};return o}),define("Core/pointInsideTriangle",["./barycentricCoordinates","./Cartesian3"],function(e,t){"use strict";var r=new t,n=function(t,n,i,a){return e(t,n,i,a,r),r.x>0&&r.y>0&&r.z>0};return n}),define("Core/PrimitiveType",[],function(){"use strict";var e={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,validate:function(t){return t===e.POINTS||t===e.LINES||t===e.LINE_LOOP||t===e.LINE_STRIP||t===e.TRIANGLES||t===e.TRIANGLE_STRIP||t===e.TRIANGLE_FAN}};return e}),define("Core/Queue",[],function(){"use strict";var e=function(){this._array=[],this._offset=0,this.length=0};return e.prototype.enqueue=function(e){this._array.push(e),this.length++},e.prototype.dequeue=function(){if(0===this.length)return void 0;var e=this._array,t=this._offset,r=e[t];return e[t]=void 0,t++,t>10&&2*t>e.length&&(this._array=e.slice(t),t=0),this._offset=t,this.length--,r},e.prototype.contains=function(e){return-1!==this._array.indexOf(e)},e.prototype.clear=function(){this._array.length=this._offset=this.length=0},e.prototype.sort=function(e){this._offset>0&&(this._array=this._array.slice(this._offset),this._offset=0),this._array.sort(e)},e}),define("Core/WindingOrder",["./Enumeration"],function(e){"use strict";var t={CLOCKWISE:new e(2304,"CLOCKWISE"),COUNTER_CLOCKWISE:new e(2305,"COUNTER_CLOCKWISE"),validate:function(e){return e===t.CLOCKWISE||e===t.COUNTER_CLOCKWISE}};return t}),define("Core/PolygonPipeline",["./DeveloperError","./Math","./Cartesian2","./Cartesian3","./defined","./Geometry","./GeometryAttribute","./Ellipsoid","./EllipsoidTangentPlane","./defaultValue","./pointInsideTriangle","./ComponentDatatype","./PrimitiveType","./Queue","./WindingOrder"],function(e,t,r,n,i,a,o,s,u,l,c,f,h,d,m){"use strict";function y(e,t,n){var i=r.subtract(t,e),a=r.subtract(n,t);return i.x*a.y-i.y*a.x>=0}function p(e){for(var t=e[0].x,r=0,n=0;nt&&(t=e[n].x,r=n);return r}function v(e){for(var t=e[0][0].x,r=0,n=0;nt&&(t=i,r=n)}return r}function g(e){for(var t=[],r=0;rc&&(c=t[f].x);c+=c-u;var h=new n(c,e.y,0);for(f=0;f=e.x||m.x>=e.x)&&(d.y>=e.y&&m.y<=e.y||d.y<=e.y&&m.y>=e.y)){var y=(m.y-d.y)*(h.x-e.x)-(m.x-d.x)*(h.y-e.y);if(0!==y){y=1/y;var v=((m.x-d.x)*(e.y-d.y)-(m.y-d.y)*(e.x-d.x))*y,g=((h.x-e.x)*(e.y-d.y)-(h.y-e.y)*(e.x-d.x))*y;if(v>=0&&1>=v&&g>=0&&1>=g){var E=new r(e.x+v*(h.x-e.x),e.y+v*(h.y-e.y)),w=r.subtract(E,e);y=r.magnitudeSquared(w),a>y&&(s=E,a=y,i[0]=f,i[1]=(f+1)%t.length)}}}}return s}function S(e,t){var n=v(t),i=t[n],a=p(i),o=i[a],s=[],u=w(o,e,s),l=E(e,u);if(-1!==l)return l;var f=r.magnitudeSquared(r.subtract(e[s[0]],o)),h=r.magnitudeSquared(r.subtract(e[s[1]],o)),d=h>f?e[s[0]]:e[s[1]],m=g(e),y=m.indexOf(d);-1!==y&&m.splice(y,1);for(var S=[],C=0;C0){var O=new r(1,0);for(C=0;CD&&(T=D,d=S[C])}}}return e.indexOf(d)}function C(e,t,r){for(var i=Y.computeWindingOrder2D(e),a=0;an&&(n=t.length-1),n===t.length&&(n=0),D(n,t),n}function D(t,i){var a=t-1,o=t+1;0>a&&(a=i.length-1),o===i.length&&(o=0);var s=r.subtract(i[a].position,i[t].position),u=r.subtract(i[o].position,i[t].position);if(s=new n(s.x,s.y,0),u=new n(u.x,u.y,0),I(s,u)){var l=new e("Superfluous vertex found.");throw l.vertexIndex=t,l}}function I(e,t){return 0===n.cross(e,t).z}function _(e,t){return n.cross(e,t).z<0}function b(e,t){return n.cross(e,t).z>0}function N(e,t,r){return n.cross(e,r).z>0&&n.cross(r,t).z>0}function R(e,t,r){return n.cross(e,r).z<0&&n.cross(r,t).z<0}function P(e,t,n){for(var i=0;it||e>r)&&(t>e||r>e)||t===r&&t===e}function F(t){var r=t.length;if(3===r)return z(t)?[]:[t[0].index,t[1].index,t[2].index];if(t.length<3)throw new e("Invalid polygon: must have at least three vertices.");for(var n=!1,i=0;!n;){var a=10*t.length;if(i>a)return[];i++;for(var o=x(t.length),s=o+1;Math.abs(o-s)<2||Math.abs(o-s)>t.length-2;)s=x(t.length);if(o>s){var u=o;o=s,s=u}try{if(T(o,s,t)){var l=t.splice(o,s-o+1,t[o],t[s]);return F(t).concat(F(l))}}catch(c){if(c.hasOwnProperty("vertexIndex"))return t.splice(c.vertexIndex,1),F(t);throw c}}}var U=0,B=-1,q=1,G=new n,W=new n,Y={removeDuplicates:function(e){for(var t=e.length,r=[],i=t-1,a=0;t>a;i=a++){var o=e[i],s=e[a];n.equals(o,s)||r.push(s)}return r},computeArea2D:function(e){for(var t=e.length,r=0,n=t-1,i=0;t>i;n=i++){var a=e[n],o=e[i];r+=a.x*o.y-o.x*a.y}return.5*r},computeWindingOrder2D:function(e){var t=Y.computeArea2D(e);return t>=0?m.COUNTER_CLOCKWISE:m.CLOCKWISE},triangulate:function(e){for(var t=e.length,r=[],n=0;t>n;++n)r[n]={position:e[n],index:n};return F(r)},resetSeed:function(e){U=l(e,0)},computeSubdivision:function(e,r,i){i=l(i,t.RADIANS_PER_DEGREE);for(var s=new d,u=r.length,c=0;u>c;c+=3)s.enqueue({i0:r[c],i1:r[c+1],i2:r[c+2]});for(var m,y=e.slice(0),p=[],v={};s.length>0;){var g,E,w=s.dequeue(),S=y[w.i0],C=y[w.i1],x=y[w.i2],T=n.angleBetween(S,C),O=n.angleBetween(C,x),M=n.angleBetween(x,S),A=Math.max(T,Math.max(O,M));A>i?T===A?(g=Math.min(w.i0,w.i1).toString()+" "+Math.max(w.i0,w.i1).toString(),m=v[g],m||(E=n.add(S,C),n.multiplyByScalar(E,.5,E),y.push(E),m=y.length-1,v[g]=m),s.enqueue({i0:w.i0,i1:m,i2:w.i2}),s.enqueue({i0:m,i1:w.i1,i2:w.i2})):O===A?(g=Math.min(w.i1,w.i2).toString()+" "+Math.max(w.i1,w.i2).toString(),m=v[g],m||(E=n.add(C,x),n.multiplyByScalar(E,.5,E),y.push(E),m=y.length-1,v[g]=m),s.enqueue({i0:w.i1,i1:m,i2:w.i0}),s.enqueue({i0:m,i1:w.i2,i2:w.i0})):M===A&&(g=Math.min(w.i2,w.i0).toString()+" "+Math.max(w.i2,w.i0).toString(),m=v[g],m||(E=n.add(x,S),n.multiplyByScalar(E,.5,E),y.push(E),m=y.length-1,v[g]=m),s.enqueue({i0:w.i2,i1:m,i2:w.i1}),s.enqueue({i0:m,i1:w.i0,i2:w.i1})):(p.push(w.i0),p.push(w.i1),p.push(w.i2))}var D=y.length,I=new Array(3*D),_=0;for(m=0;D>m;m++){var b=y[m];I[_++]=b.x,I[_++]=b.y,I[_++]=b.z}return new a({attributes:{position:new o({componentDatatype:f.DOUBLE,componentsPerAttribute:3,values:I})},indices:p,primitiveType:h.TRIANGLES})},scaleToGeodeticHeight:function(e,t,r,a){r=l(r,s.WGS84);var o=G,u=W;if(t=l(t,0),a=l(a,!0),i(e)&&i(e.attributes)&&i(e.attributes.position))for(var c=e.attributes.position.values,f=c.length,h=0;f>h;h+=3)n.fromArray(c,h,u),a&&(u=r.scaleToGeodeticSurface(u,u)),o=r.geodeticSurfaceNormal(u,o),n.multiplyByScalar(o,t,o),n.add(u,o,u),c[h]=u.x,c[h+1]=u.y,c[h+2]=u.z;return e},eliminateHoles:function(e,t,r){r=l(r,s.WGS84);for(var i=[],a=0;a0;)c=C(c,i,r);return c}};return Y}),define("Core/EllipsoidGeodesic",["./Cartesian3","./Cartographic","./defaultValue","./defined","./DeveloperError","./Ellipsoid","./Math"],function(e,t,r,n,i,a,o){"use strict";function s(e){var t=e._uSquared,r=e._ellipsoid.maximumRadius,n=e._ellipsoid.minimumRadius,i=(r-n)/r,a=Math.cos(e._startHeading),o=Math.sin(e._startHeading),s=(1-i)*Math.tan(e._start.latitude),u=1/Math.sqrt(1+s*s),l=u*s,c=Math.atan2(s,a),f=u*o,h=f*f,d=1-h,m=Math.sqrt(d),y=t/4,p=y*y,v=p*y,g=p*p,E=1+y-3*p/4+5*v/4-175*g/64,w=1-y+15*p/8-35*v/8,S=1-3*y+35*p/4,C=1-5*y,x=E*c-w*Math.sin(2*c)*y/2-S*Math.sin(4*c)*p/16-C*Math.sin(6*c)*v/48-5*Math.sin(8*c)*g/512,T=e._constants;T.a=r,T.b=n,T.f=i,T.cosineHeading=a,T.sineHeading=o,T.tanU=s,T.cosineU=u,T.sineU=l,T.sigma=c,T.sineAlpha=f,T.sineSquaredAlpha=h,T.cosineSquaredAlpha=d,T.cosineAlpha=m,T.u2Over4=y,T.u4Over16=p,T.u6Over64=v,T.u8Over256=g,T.a0=E,T.a1=w,T.a2=S,T.a3=C,T.distanceRatio=x}function u(e,t){return e*t*(4+e*(4-3*t))/16}function l(e,t,r,n,i,a,o){var s=u(e,r);return(1-s)*e*t*(n+s*i*(o+s*a*(2*o*o-1)))}function c(e,t,r,n,i,a,s){var u,c,f,h,d,m=(t-r)/t,y=a-n,p=Math.atan((1-m)*Math.tan(i)),v=Math.atan((1-m)*Math.tan(s)),g=Math.cos(p),E=Math.sin(p),w=Math.cos(v),S=Math.sin(v),C=g*w,x=g*S,T=E*S,O=E*w,M=y,A=o.TWO_PI,D=Math.cos(M),I=Math.sin(M);do{D=Math.cos(M),I=Math.sin(M);var _=x-O*D;f=Math.sqrt(w*w*I*I+_*_),c=T+C*D,u=Math.atan2(f,c);var b;0===f?(b=0,h=1):(b=C*I/f,h=1-b*b),A=M,d=c-2*T/h,isNaN(d)&&(d=0),M=y+l(m,b,h,u,f,c,d)}while(Math.abs(M-A)>o.EPSILON12);var N=h*(t*t-r*r)/(r*r),R=1+N*(4096+N*(N*(320-175*N)-768))/16384,P=N*(256+N*(N*(74-47*N)-128))/1024,z=d*d,L=P*f*(d+P*(c*(2*z-1)-P*d*(4*f*f-3)*(4*z-3)/6)/4),F=r*R*(u-L),U=Math.atan2(w*I,x-O*D),B=Math.atan2(g*I,x*D-O);e._distance=F,e._startHeading=U,e._endHeading=B,e._uSquared=N}function f(r,n,i,a){e.normalize(a.cartographicToCartesian(n,d),h),e.normalize(a.cartographicToCartesian(i,d),d),c(r,a.maximumRadius,a.minimumRadius,n.longitude,n.latitude,i.longitude,i.latitude),n.height=0,i.height=0,r._start=t.clone(n,r._start),r._end=t.clone(i,r._end),s(r)}var h=new e,d=new e,m=function(e,i,o){var s=r(o,a.WGS84);this._ellipsoid=s,this._start=new t,this._end=new t,this._constants={},this._startHeading=void 0,this._endHeading=void 0,this._distance=void 0,this._uSquared=void 0,n(e)&&n(i)&&f(this,e,i,s)};return m.prototype.getSurfaceDistance=function(){return this._distance},m.prototype.setEndPoints=function(e,t){f(this,e,t,this._ellipsoid)},m.prototype.getStart=function(){return this._start},m.prototype.getEnd=function(){return this._end},m.prototype.getStartHeading=function(){return this._startHeading},m.prototype.getEndHeading=function(){return this._endHeading},m.prototype.interpolateUsingFraction=function(e,t){return this.interpolateUsingSurfaceDistance(this._distance*e,t)},m.prototype.interpolateUsingSurfaceDistance=function(e,r){var i=this._constants,a=i.distanceRatio+e/i.b,o=Math.cos(2*a),s=Math.cos(4*a),u=Math.cos(6*a),c=Math.sin(2*a),f=Math.sin(4*a),h=Math.sin(6*a),d=Math.sin(8*a),m=a*a,y=a*m,p=i.u8Over256,v=i.u2Over4,g=i.u6Over64,E=i.u4Over16,w=2*y*p*o/3+a*(1-v+7*E/4-15*g/4+579*p/64-(E-15*g/4+187*p/16)*o-(5*g/4-115*p/16)*s-29*p*u/16)+(v/2-E+71*g/32-85*p/16)*c+(5*E/16-5*g/4+383*p/96)*f-m*((g-11*p/2)*c+5*p*f/2)+(29*g/96-29*p/16)*h+539*p*d/1536,S=Math.asin(Math.sin(w)*i.cosineAlpha),C=Math.atan(i.a/i.b*Math.tan(S));w-=i.sigma;var x=Math.cos(2*i.sigma+w),T=Math.sin(w),O=Math.cos(w),M=i.cosineU*O,A=i.sineU*T,D=Math.atan2(T*i.sineHeading,M-A*i.cosineHeading),I=D-l(i.f,i.sineAlpha,i.cosineSquaredAlpha,w,T,O,x);return n(r)?(r.longitude=this._start.longitude+I,r.latitude=C,r.height=0,r):new t(this._start.longitude+I,C,0)},m}),define("Core/PolylinePipeline",["./Cartesian3","./Cartographic","./defaultValue","./defined","./DeveloperError","./Ellipsoid","./EllipsoidGeodesic","./IntersectionTests","./isArray","./Math","./Matrix4","./Plane"],function(e,t,r,n,i,a,o,s,u,l,c,f){"use strict";function h(t,r,n,i){var a=i.scaleToGeodeticSurface(t,M),o=i.scaleToGeodeticSurface(r,A),s=e.angleBetween(a,o),u=Math.ceil(s/n),l=new Array(3*u),c=i.cartesianToCartographic(a,x),f=i.cartesianToCartographic(o,T);D.setEndPoints(c,f);var h=D.getSurfaceDistance()/u,d=0;c.height=0;var m=i.cartographicToCartesian(c,O);l[d++]=m.x,l[d++]=m.y,l[d++]=m.z;for(var y=1;u>y;y++){var p=D.interpolateUsingSurfaceDistance(y*h,T);m=i.cartographicToCartesian(p,O),l[d++]=m.x,l[d++]=m.y,l[d++]=m.z}return l}function d(t,r,n){var i=I;return n.geodeticSurfaceNormal(t,i),e.multiplyByScalar(i,r,i),e.add(t,i,t),t}var m={},y=new c,p=new e,v=new e,g=new f(e.ZERO,0),E=new e,w=new f(e.ZERO,0),S=new e,C=new e,x=new t,T=new t,O=new e,M=new e,A=new e,D=new o,I=new e,_=new e;return m.wrapLongitude=function(t,i){var a=[],o=[];if(n(t)&&t.length>0){i=r(i,c.IDENTITY);var u=c.inverseTransformation(i,y),l=c.multiplyByPoint(u,e.ZERO,p),h=c.multiplyByPointAsVector(u,e.UNIT_Y,v),d=f.fromPointNormal(l,h,g),m=c.multiplyByPointAsVector(u,e.UNIT_X,E),x=f.fromPointNormal(l,m,w),T=1;a.push(e.clone(t[0]));for(var O=a[0],M=t.length,A=1;M>A;++A){var D=t[A];if(f.getPointDistance(x,O)<0||f.getPointDistance(x,D)<0){var I=s.lineSegmentPlane(O,D,d,S);if(n(I)){var _=e.multiplyByScalar(h,5e-9,C);f.getPointDistance(d,O)<0&&e.negate(_,_),a.push(e.add(I,_)),o.push(T+1),e.negate(_,_),a.push(e.add(I,_)),T=1}}a.push(e.clone(t[A])),T++,O=D}o.push(T)}return{positions:a,lengths:o}},m.removeDuplicates=function(t){var r=t.length;if(2>r)return t.slice(0);var n=[];n.push(t[0]);for(var i=1;r>i;++i){var a=t[i-1],o=t[i];e.equals(a,o)||n.push(o)}return n},m.scaleToSurface=function(e,t,n){t=r(t,l.RADIANS_PER_DEGREE),n=r(n,a.WGS84);for(var i=e.length,o=[],s=0;i-1>s;s++){var u=e[s],c=e[s+1];o=o.concat(h(u,c,t,n))}var f=e[i-1],d=n.cartesianToCartographic(f,x);d.height=0;var m=n.cartographicToCartesian(d,O);return o.push(m.x,m.y,m.z),o},m.scaleToGeodeticHeight=function(t,o,s,l){s=r(s,a.WGS84);var c,f,h=t.length,m=_;if(n(l)){if(l.length!==t.length)throw new i("result.length must be equal to positions.length");f=l}else f=new Array(t.length);if(0===o){for(c=0;h>c;c+=3)m=s.scaleToGeodeticSurface(e.fromArray(t,c,m),m),f[c]=m.x,f[c+1]=m.y,f[c+2]=m.z;return f}var y;if(u(o)){if(o.length!==h/3)throw new i("height.length must be equal to positions.length");for(c=0;h>c;c+=3)y=o[c/3],m=e.fromArray(t,c,m),m=d(m,y,s),f[c]=m.x,f[c+1]=m.y,f[c+2]=m.z}else for(y=o,c=0;h>c;c+=3)m=e.fromArray(t,c,m),m=d(m,y,s),f[c]=m.x,f[c+1]=m.y,f[c+2]=m.z;return f},m}),define("Core/Quaternion",["./Cartesian3","./defaultValue","./defined","./DeveloperError","./FeatureDetection","./freezeObject","./Math","./Matrix3"],function(e,t,r,n,i,a,o,s){"use strict";var u,l=function(e,r,n,i){this.x=t(e,0),this.y=t(r,0),this.z=t(n,0),this.w=t(i,0)};l.fromAxisAngle=function(t,n,i){var a=n/2,o=Math.sin(a);u=e.normalize(t,u);var s=u.x*o,c=u.y*o,f=u.z*o,h=Math.cos(a);return r(i)?(i.x=s,i.y=c,i.z=f,i.w=h,i):new l(s,c,f,h)};var c=[1,2,0],f=new Array(3);l.fromRotationMatrix=function(e,t){var n,i,a,o,u,h=e[s.COLUMN0ROW0],d=e[s.COLUMN1ROW1],m=e[s.COLUMN2ROW2],y=h+d+m;if(y>0)n=Math.sqrt(y+1),u=.5*n,n=.5/n,i=(e[s.COLUMN1ROW2]-e[s.COLUMN2ROW1])*n,a=(e[s.COLUMN2ROW0]-e[s.COLUMN0ROW2])*n,o=(e[s.COLUMN0ROW1]-e[s.COLUMN1ROW0])*n;else{var p=c,v=0;d>h&&(v=1),m>h&&m>d&&(v=2);var g=p[v],E=p[g];n=Math.sqrt(e[s.getElementIndex(v,v)]-e[s.getElementIndex(g,g)]-e[s.getElementIndex(E,E)]+1);var w=f;w[v]=.5*n,n=.5/n,u=(e[s.getElementIndex(E,g)]-e[s.getElementIndex(g,E)])*n,w[g]=(e[s.getElementIndex(g,v)]+e[s.getElementIndex(v,g)])*n,w[E]=(e[s.getElementIndex(E,v)]+e[s.getElementIndex(v,E)])*n,i=-w[0],a=-w[1],o=-w[2]}return r(t)?(t.x=i,t.y=a,t.z=o,t.w=u,t):new l(i,a,o,u)};var h=new e,d=new e,m=new l,y=new l,p=new l;l.packedLength=4,l.pack=function(e,r,n){n=t(n,0),r[n++]=e.x,r[n++]=e.y,r[n++]=e.z,r[n]=e.w},l.unpack=function(e,n,i){return n=t(n,0),r(i)||(i=new l),i.x=e[n],i.y=e[n+1],i.z=e[n+2],i.w=e[n+3],i},l.packedInterpolationLength=3,l.convertPackedArrayForInterpolation=function(e,t,r,n){l.unpack(e,4*r,p),l.conjugate(p,p);for(var i=0,a=r-t+1;a>i;i++){var o=3*i;l.unpack(e,4*(t+i),m),l.multiply(m,p,m),m.w<0&&l.negate(m,m),l.getAxis(m,h);var s=l.getAngle(m);n[o]=h.x*s,n[o+1]=h.y*s,n[o+2]=h.z*s}},l.unpackInterpolationResult=function(t,n,i,a,o){r(o)||(o=new l),e.fromArray(t,0,d);var s=e.magnitude(d);return l.unpack(n,4*a,y),0===s?l.clone(l.IDENTITY,m):l.fromAxisAngle(d,s,m),l.multiply(m,y,o)},l.clone=function(e,t){return r(e)?r(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t):new l(e.x,e.y,e.z,e.w):void 0},l.conjugate=function(e,t){return r(t)?(t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=e.w,t):new l(-e.x,-e.y,-e.z,e.w)},l.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w},l.magnitude=function(e){return Math.sqrt(l.magnitudeSquared(e))},l.normalize=function(e,t){var n=1/l.magnitude(e),i=e.x*n,a=e.y*n,o=e.z*n,s=e.w*n;return r(t)?(t.x=i,t.y=a,t.z=o,t.w=s,t):new l(i,a,o,s)},l.inverse=function(e,t){var r=l.magnitudeSquared(e);return t=l.conjugate(e,t),l.multiplyByScalar(t,1/r,t)},l.add=function(e,t,n){return r(n)?(n.x=e.x+t.x,n.y=e.y+t.y,n.z=e.z+t.z,n.w=e.w+t.w,n):new l(e.x+t.x,e.y+t.y,e.z+t.z,e.w+t.w)},l.subtract=function(e,t,n){return r(n)?(n.x=e.x-t.x,n.y=e.y-t.y,n.z=e.z-t.z,n.w=e.w-t.w,n):new l(e.x-t.x,e.y-t.y,e.z-t.z,e.w-t.w)},l.negate=function(e,t){return r(t)?(t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=-e.w,t):new l(-e.x,-e.y,-e.z,-e.w)},l.dot=function(e,t){return e.x*t.x+e.y*t.y+e.z*t.z+e.w*t.w},l.multiply=function(e,t,n){var i=e.x,a=e.y,o=e.z,s=e.w,u=t.x,c=t.y,f=t.z,h=t.w,d=s*u+i*h+a*f-o*c,m=s*c-i*f+a*h+o*u,y=s*f+i*c-a*u+o*h,p=s*h-i*u-a*c-o*f;return r(n)?(n.x=d,n.y=m,n.z=y,n.w=p,n):new l(d,m,y,p)},l.multiplyByScalar=function(e,t,n){return r(n)?(n.x=e.x*t,n.y=e.y*t,n.z=e.z*t,n.w=e.w*t,n):new l(e.x*t,e.y*t,e.z*t,e.w*t)},l.divideByScalar=function(e,t,n){return r(n)?(n.x=e.x/t,n.y=e.y/t,n.z=e.z/t,n.w=e.w/t,n):new l(e.x/t,e.y/t,e.z/t,e.w/t)},l.getAxis=function(t,n){var i=t.w;if(Math.abs(i-1)i&&(i=-i,a=g=l.negate(t,g)),1-ib;++b){var N=b+1,R=2*N+1;A[b]=1/(N*R),D[b]=N/R}return A[7]=M/136,D[7]=8*M/17,l.fastSlerp=function(e,t,n,i){r(i)||(i=new l);var a,o=l.dot(e,t);o>=0?a=1:(a=-1,o=-o);for(var s=o-1,u=1-n,c=n*n,f=u*u,h=7;h>=0;--h)I[h]=(A[h]*c-D[h])*s,_[h]=(A[h]*f-D[h])*s;var d=a*n*(1+I[0]*(1+I[1]*(1+I[2]*(1+I[3]*(1+I[4]*(1+I[5]*(1+I[6]*(1+I[7])))))))),m=u*(1+_[0]*(1+_[1]*(1+_[2]*(1+_[3]*(1+_[4]*(1+_[5]*(1+_[6]*(1+_[7])))))))),y=l.multiplyByScalar(e,m,O);return l.multiplyByScalar(t,d,i),l.add(y,i,i)},l.fastSquad=function(e,t,r,n,i,a){var o=l.fastSlerp(e,t,i,x),s=l.fastSlerp(r,n,i,T);return l.fastSlerp(o,s,2*i*(1-i),a)},l.equals=function(e,t){return e===t||r(e)&&r(t)&&e.x===t.x&&e.y===t.y&&e.z===t.z&&e.w===t.w},l.equalsEpsilon=function(e,t,n){return e===t||r(e)&&r(t)&&Math.abs(e.x-t.x)<=n&&Math.abs(e.y-t.y)<=n&&Math.abs(e.z-t.z)<=n&&Math.abs(e.w-t.w)<=n},l.ZERO=a(new l(0,0,0,0)),l.IDENTITY=a(new l(0,0,0,1)),l.prototype.clone=function(e){return l.clone(this,e)},l.prototype.equals=function(e){return l.equals(this,e)},l.prototype.equalsEpsilon=function(e,t){return l.equalsEpsilon(this,e,t)},l.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+", "+this.w+")"},l}),define("Core/PolylineVolumeGeometryLibrary",["./Cartesian2","./Cartesian3","./Cartesian4","./Cartographic","./CornerType","./EllipsoidTangentPlane","./Math","./Matrix3","./Matrix4","./PolylinePipeline","./Quaternion","./Transforms"],function(e,t,r,n,i,a,o,s,u,l,c,f){"use strict";function h(e,t){for(var r=new Array(e.length),n=0;na;a++)c[a]=r;return c.push(n),c}var f=n-r,h=f/l;for(a=1;l>a;a++){var d=r+a*h;c[a]=d}return c[0]=r,c.push(n),c}function m(r,n,i,o){var s=new a(i,o),u=s.projectPointOntoPlane(t.add(i,r,k),k),l=s.projectPointOntoPlane(t.add(i,n,K),K),c=e.angleBetween(u,l);return l.x*u.y-l.y*u.x>=0?-c:c}function y(e,r,n,i,a,o,l,c){var h=q,d=G;L=f.eastNorthUpToFixedFrame(e,a,L),h=u.multiplyByPointAsVector(L,z,h),h=t.normalize(h,h);var y=m(h,r,e,a);U=s.fromRotationZ(y,U),W.z=o,L=u.multiplyTransformation(L,u.fromRotationTranslation(U,W,F),L);var p=B;p[0]=l;for(var v=0;c>v;v++)for(var g=0;gu;u++){s=e[u];var l=s.x-a,c=s.y-o;n[i++]=l,n[i++]=0,n[i++]=c,n[i++]=l,n[i++]=0,n[i++]=c}return s=e[0],n[i++]=s.x-a,n[i++]=0,n[i++]=s.y-o,n}function g(e,t){for(var r=e.length,n=new Array(3*r),i=0,a=t.x+t.width/2,o=t.y+t.height/2,s=0;r>s;s++)n[i++]=e[s].x-a,n[i++]=0,n[i++]=e[s].y-o;return n}function E(e,r,n,a,u,l,f,h,d,m){var p,v=t.angleBetween(t.subtract(r,e,b),t.subtract(n,e,N)),g=a.value===i.BEVELED.value?0:Math.ceil(v/o.toRadians(5));p=u?s.fromQuaternion(c.fromAxisAngle(t.negate(e,b),v/(g+1),V),H):s.fromQuaternion(c.fromAxisAngle(e,v/(g+1),V),H);var E,w;if(r=t.clone(r,j),g>0)for(var S=m?2:1,C=0;g>C;C++)r=s.multiplyByVector(p,r,r),E=t.subtract(r,e,b),E=t.normalize(E,E),u||(E=t.negate(E,E)),w=l.scaleToGeodeticSurface(r,N),f=y(w,E,h,f,l,d,1,S);else E=t.subtract(r,e,b),E=t.normalize(E,E),u||(E=t.negate(E,E)),w=l.scaleToGeodeticSurface(r,N),f=y(w,E,h,f,l,d,1,1),n=t.clone(n,j),E=t.subtract(n,e,b),E=t.normalize(E,E),u||(E=t.negate(E,E)),w=l.scaleToGeodeticSurface(n,N),f=y(w,E,h,f,l,d,1,1);return f}function w(e,t){return o.equalsEpsilon(e.latitude,t.latitude,o.EPSILON6)&&o.equalsEpsilon(e.longitude,t.longitude,o.EPSILON6)}var S=[new t,new t],C=new t,x=new t,T=new t,O=new t,M=new t,A=new t,D=new t,I=new t,_=new t,b=new t,N=new t,R={},P=new n,z=new t(-1,0,0),L=new u,F=new u,U=new s,B=s.IDENTITY.clone(),q=new t,G=new r,W=new t,Y=new t,V=new c,j=new t,H=new s;R.removeDuplicatesFromShape=function(t){for(var r=t.length,n=[],i=r-1,a=0;r>a;i=a++){var o=t[i],s=t[a];e.equals(o,s)||n.push(s)}return n};var k=new t,K=new t;R.angleIsGreaterThanPi=function(e,r,n,i){var o=new a(n,i),s=o.projectPointOntoPlane(t.add(n,e,k),k),u=o.projectPointOntoPlane(t.add(n,r,K),K); +return u.x*s.y-u.y*s.x>=0};var Z=new n,X=new n;return R.removeDuplicatesFromPositions=function(e,t){var r=e.length;if(2>r)return e.slice(0);var n=[];n.push(e[0]);for(var i=1;r>i;++i){var a=e[i-1],o=e[i],s=t.cartesianToCartographic(a,Z),u=t.cartesianToCartographic(o,X);w(s,u)||n.push(o)}return n},R.computePositions=function(e,r,n,a,s){var u=a._ellipsoid,c=h(e,u),f=a._granularity,m=a._cornerType,w=s?v(r,n):g(r,n),N=s?g(r,n):void 0,P=n.height/2,z=n.width/2,L=e.length,F=[],U=s?[]:void 0,B=C,q=x,G=T,W=O,Y=M,V=A,j=D,H=I,k=_,K=e[0],Z=e[1];W=u.geodeticSurfaceNormal(K,W),B=t.subtract(Z,K,B),B=t.normalize(B,B),H=t.cross(W,B,H),H=t.normalize(H,H);var X=c[0],J=c[1];s&&(U=y(K,H,N,U,u,X+P,1,1)),k=t.clone(K,k),K=Z,q=t.negate(B,q);for(var Q,$,et=1;L-1>et;et++){var tt=s?2:1;Z=e[et+1],B=t.subtract(Z,K,B),B=t.normalize(B,B),G=t.add(B,q,G),G=t.normalize(G,G),W=u.geodeticSurfaceNormal(K,W);var rt=!t.equalsEpsilon(t.negate(G,b),W,o.EPSILON2);if(rt){G=t.cross(G,W,G),G=t.cross(W,G,G),G=t.normalize(G,G);var nt=1/Math.max(.25,t.magnitude(t.cross(G,q,b))),it=R.angleIsGreaterThanPi(B,q,K,u);it?(Y=t.add(K,t.multiplyByScalar(G,nt*z,G),Y),V=t.add(Y,t.multiplyByScalar(H,z,V),V),S[0]=t.clone(k,S[0]),S[1]=t.clone(V,S[1]),Q=d(S,X+P,J+P,f),$=l.scaleToSurface(S),F=p($,H,w,F,u,Q,1),H=t.cross(W,B,H),H=t.normalize(H,H),j=t.add(Y,t.multiplyByScalar(H,z,j),j),m.value===i.ROUNDED.value||m.value===i.BEVELED.value?E(Y,V,j,m,it,u,F,w,J+P,s):(G=t.negate(G,G),F=y(K,G,w,F,u,J+P,nt,tt)),k=t.clone(j,k)):(Y=t.add(K,t.multiplyByScalar(G,nt*z,G),Y),V=t.add(Y,t.multiplyByScalar(H,-z,V),V),S[0]=t.clone(k,S[0]),S[1]=t.clone(V,S[1]),Q=d(S,X+P,J+P,f),$=l.scaleToSurface(S,f,u),F=p($,H,w,F,u,Q,1),H=t.cross(W,B,H),H=t.normalize(H,H),j=t.add(Y,t.multiplyByScalar(H,-z,j),j),m.value===i.ROUNDED.value||m.value===i.BEVELED.value?E(Y,V,j,m,it,u,F,w,J+P,s):F=y(K,G,w,F,u,J+P,nt,tt),k=t.clone(j,k)),q=t.negate(B,q)}else F=y(k,H,w,F,u,X+P,1,1),k=K;X=J,J=c[et+1],K=Z}S[0]=t.clone(k,S[0]),S[1]=t.clone(K,S[1]),Q=d(S,X+P,J+P,f),$=l.scaleToSurface(S,f,u),F=p($,H,w,F,u,Q,1),s&&(U=y(K,H,N,U,u,J+P,1,1)),L=F.length;var at=s?L+U.length:L,ot=new Float64Array(at);return ot.set(F),s&&ot.set(U,L),ot},R}),define("Core/PolylineVolumeOutlineGeometry",["./BoundingRectangle","./BoundingSphere","./ComponentDatatype","./CornerType","./defaultValue","./defined","./DeveloperError","./Ellipsoid","./Geometry","./GeometryAttribute","./GeometryAttributes","./IndexDatatype","./Math","./PolygonPipeline","./PolylineVolumeGeometryLibrary","./PrimitiveType","./WindingOrder"],function(e,t,r,n,i,a,o,s,u,l,c,f,h,d,m,y,p){"use strict";function v(e,n){var i=new c;i.position=new l({componentDatatype:r.DOUBLE,componentsPerAttribute:3,values:e});var a,o,s=n.length,h=i.position.values.length/3,d=e.length/3,m=d/s,p=f.createTypedArray(h,2*s*(m+1)),v=0;a=0;var g=a*s;for(o=0;s-1>o;o++)p[v++]=o+g,p[v++]=o+g+1;for(p[v++]=s-1+g,p[v++]=g,a=m-1,g=a*s,o=0;s-1>o;o++)p[v++]=o+g,p[v++]=o+g+1;for(p[v++]=s-1+g,p[v++]=g,a=0;m-1>a;a++){var E=s*a,w=E+s;for(o=0;s>o;o++)p[v++]=o+E,p[v++]=o+w}var S=new u({attributes:i,indices:f.createTypedArray(h,p),boundingSphere:t.fromVertices(e),primitiveType:y.LINES});return S}var g=function(e){e=i(e,i.EMPTY_OBJECT);var t=e.polylinePositions,r=e.shapePositions;this._positions=t,this._shape=r,this._ellipsoid=i(e.ellipsoid,s.WGS84),this._cornerType=i(e.cornerType,n.ROUNDED),this._granularity=i(e.granularity,h.RADIANS_PER_DEGREE),this._workerName="createPolylineVolumeOutlineGeometry"},E=new e;return g.createGeometry=function(t){var r=t._positions,n=m.removeDuplicatesFromPositions(r,t._ellipsoid),i=t._shape;i=m.removeDuplicatesFromShape(i),d.computeWindingOrder2D(i).value===p.CLOCKWISE.value&&i.reverse();var a=e.fromPoints(i,E),o=m.computePositions(n,i,a,t,!1);return v(o,i)},g}),define("Core/Color",["./defaultValue","./defined","./freezeObject","./DeveloperError","./FeatureDetection","./Math"],function(e,t,r,n,i,a){"use strict";function o(e,t,r){return 0>r&&(r+=1),r>1&&(r-=1),1>6*r?e+6*(t-e)*r:1>2*r?t:2>3*r?e+6*(t-e)*(2/3-r):e}var s=function(t,r,n,i){this.red=e(t,1),this.green=e(r,1),this.blue=e(n,1),this.alpha=e(i,1)};s.fromBytes=function(t,r,n,i){return t=s.byteToFloat(e(t,255)),r=s.byteToFloat(e(r,255)),n=s.byteToFloat(e(n,255)),i=s.byteToFloat(e(i,255)),new s(t,r,n,i)};var u,l,c;i.supportsTypedArrays()&&(u=new ArrayBuffer(4),l=new Uint32Array(u),c=new Uint8Array(u)),s.fromRgba=function(e){return l[0]=e,s.fromBytes(c[0],c[1],c[2],c[3])},s.fromHsl=function(t,r,n,i){t=e(t,0)%1,r=e(r,0),n=e(n,0),i=e(i,1);var a=n,u=n,l=n;if(0!==r){var c;c=.5>n?n*(1+r):n+r-n*r;var f=2*n-c;a=o(f,c,t+1/3),u=o(f,c,t),l=o(f,c,t-1/3)}return new s(a,u,l,i)},s.fromRandom=function(r,n){r=e(r,e.EMPTY_OBJECT);var i=r.red;if(!t(i)){var o=e(r.minimumRed,0),u=e(r.maximumRed,1);i=o+a.nextRandomNumber()*(u-o)}var l=r.green;if(!t(l)){var c=e(r.minimumGreen,0),f=e(r.maximumGreen,1);l=c+a.nextRandomNumber()*(f-c)}var h=r.blue;if(!t(h)){var d=e(r.minimumBlue,0),m=e(r.maximumBlue,1);h=d+a.nextRandomNumber()*(m-d)}var y=r.alpha;if(!t(y)){var p=e(r.minimumAlpha,0),v=e(r.maximumAlpha,1);y=p+a.nextRandomNumber()*(v-p)}return t(n)?(n.red=i,n.green=l,n.blue=h,n.alpha=y,n):new s(i,l,h,y)};var f=/^#([0-9a-f])([0-9a-f])([0-9a-f])$/i,h=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i,d=/^rgba?\(\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)(?:\s*,\s*([0-9.]+))?\s*\)$/i,m=/^hsla?\(\s*([0-9.]+)\s*,\s*([0-9.]+%)\s*,\s*([0-9.]+%)(?:\s*,\s*([0-9.]+))?\s*\)$/i;return s.fromCssColorString=function(r){var n=s[r.toUpperCase()];if(t(n))return s.clone(n);var i=f.exec(r);return null!==i?new s(parseInt(i[1],16)/15,parseInt(i[2],16)/15,parseInt(i[3],16)/15):(i=h.exec(r),null!==i?new s(parseInt(i[1],16)/255,parseInt(i[2],16)/255,parseInt(i[3],16)/255):(i=d.exec(r),null!==i?new s(parseFloat(i[1])/("%"===i[1].substr(-1)?100:255),parseFloat(i[2])/("%"===i[2].substr(-1)?100:255),parseFloat(i[3])/("%"===i[3].substr(-1)?100:255),parseFloat(e(i[4],"1.0"))):(i=m.exec(r),null!==i?s.fromHsl(parseFloat(i[1])/360,parseFloat(i[2])/100,parseFloat(i[3])/100,parseFloat(e(i[4],"1.0"))):void 0)))},s.packedLength=4,s.pack=function(t,r,n){n=e(n,0),r[n++]=t.red,r[n++]=t.green,r[n++]=t.blue,r[n]=t.alpha},s.unpack=function(r,n,i){return n=e(n,0),t(i)||(i=new s),i.red=r[n++],i.green=r[n++],i.blue=r[n++],i.alpha=r[n],i},s.byteToFloat=function(e){return e/255},s.floatToByte=function(e){return 1===e?255:0|256*e},s.clone=function(e,r){return t(e)?t(r)?(r.red=e.red,r.green=e.green,r.blue=e.blue,r.alpha=e.alpha,r):new s(e.red,e.green,e.blue,e.alpha):void 0},s.equals=function(e,r){return e===r||t(e)&&t(r)&&e.red===r.red&&e.green===r.green&&e.blue===r.blue&&e.alpha===r.alpha},s.prototype.clone=function(e){return s.clone(this,e)},s.prototype.equals=function(e){return s.equals(this,e)},s.prototype.equalsEpsilon=function(e,r){return this===e||t(e)&&Math.abs(this.red-e.red)<=r&&Math.abs(this.green-e.green)<=r&&Math.abs(this.blue-e.blue)<=r&&Math.abs(this.alpha-e.alpha)<=r},s.prototype.toString=function(){return"("+this.red+", "+this.green+", "+this.blue+", "+this.alpha+")"},s.prototype.toCssColorString=function(){var e=s.floatToByte(this.red),t=s.floatToByte(this.green),r=s.floatToByte(this.blue);return 1===this.alpha?"rgb("+e+","+t+","+r+")":"rgba("+e+","+t+","+r+","+this.alpha+")"},s.prototype.toBytes=function(e){var r=s.floatToByte(this.red),n=s.floatToByte(this.green),i=s.floatToByte(this.blue),a=s.floatToByte(this.alpha);return t(e)?(e[0]=r,e[1]=n,e[2]=i,e[3]=a,e):[r,n,i,a]},s.prototype.toRgba=function(){return c[0]=s.floatToByte(this.red),c[1]=s.floatToByte(this.green),c[2]=s.floatToByte(this.blue),c[3]=s.floatToByte(this.alpha),l[0]},s.ALICEBLUE=r(s.fromCssColorString("#F0F8FF")),s.ANTIQUEWHITE=r(s.fromCssColorString("#FAEBD7")),s.AQUA=r(s.fromCssColorString("#00FFFF")),s.AQUAMARINE=r(s.fromCssColorString("#7FFFD4")),s.AZURE=r(s.fromCssColorString("#F0FFFF")),s.BEIGE=r(s.fromCssColorString("#F5F5DC")),s.BISQUE=r(s.fromCssColorString("#FFE4C4")),s.BLACK=r(s.fromCssColorString("#000000")),s.BLANCHEDALMOND=r(s.fromCssColorString("#FFEBCD")),s.BLUE=r(s.fromCssColorString("#0000FF")),s.BLUEVIOLET=r(s.fromCssColorString("#8A2BE2")),s.BROWN=r(s.fromCssColorString("#A52A2A")),s.BURLYWOOD=r(s.fromCssColorString("#DEB887")),s.CADETBLUE=r(s.fromCssColorString("#5F9EA0")),s.CHARTREUSE=r(s.fromCssColorString("#7FFF00")),s.CHOCOLATE=r(s.fromCssColorString("#D2691E")),s.CORAL=r(s.fromCssColorString("#FF7F50")),s.CORNFLOWERBLUE=r(s.fromCssColorString("#6495ED")),s.CORNSILK=r(s.fromCssColorString("#FFF8DC")),s.CRIMSON=r(s.fromCssColorString("#DC143C")),s.CYAN=r(s.fromCssColorString("#00FFFF")),s.DARKBLUE=r(s.fromCssColorString("#00008B")),s.DARKCYAN=r(s.fromCssColorString("#008B8B")),s.DARKGOLDENROD=r(s.fromCssColorString("#B8860B")),s.DARKGRAY=r(s.fromCssColorString("#A9A9A9")),s.DARKGREEN=r(s.fromCssColorString("#006400")),s.DARKGREY=s.DARKGRAY,s.DARKKHAKI=r(s.fromCssColorString("#BDB76B")),s.DARKMAGENTA=r(s.fromCssColorString("#8B008B")),s.DARKOLIVEGREEN=r(s.fromCssColorString("#556B2F")),s.DARKORANGE=r(s.fromCssColorString("#FF8C00")),s.DARKORCHID=r(s.fromCssColorString("#9932CC")),s.DARKRED=r(s.fromCssColorString("#8B0000")),s.DARKSALMON=r(s.fromCssColorString("#E9967A")),s.DARKSEAGREEN=r(s.fromCssColorString("#8FBC8F")),s.DARKSLATEBLUE=r(s.fromCssColorString("#483D8B")),s.DARKSLATEGRAY=r(s.fromCssColorString("#2F4F4F")),s.DARKSLATEGREY=s.DARKSLATEGRAY,s.DARKTURQUOISE=r(s.fromCssColorString("#00CED1")),s.DARKVIOLET=r(s.fromCssColorString("#9400D3")),s.DEEPPINK=r(s.fromCssColorString("#FF1493")),s.DEEPSKYBLUE=r(s.fromCssColorString("#00BFFF")),s.DIMGRAY=r(s.fromCssColorString("#696969")),s.DIMGREY=s.DIMGRAY,s.DODGERBLUE=r(s.fromCssColorString("#1E90FF")),s.FIREBRICK=r(s.fromCssColorString("#B22222")),s.FLORALWHITE=r(s.fromCssColorString("#FFFAF0")),s.FORESTGREEN=r(s.fromCssColorString("#228B22")),s.FUSCHIA=r(s.fromCssColorString("#FF00FF")),s.GAINSBORO=r(s.fromCssColorString("#DCDCDC")),s.GHOSTWHITE=r(s.fromCssColorString("#F8F8FF")),s.GOLD=r(s.fromCssColorString("#FFD700")),s.GOLDENROD=r(s.fromCssColorString("#DAA520")),s.GRAY=r(s.fromCssColorString("#808080")),s.GREEN=r(s.fromCssColorString("#008000")),s.GREENYELLOW=r(s.fromCssColorString("#ADFF2F")),s.GREY=s.GRAY,s.HONEYDEW=r(s.fromCssColorString("#F0FFF0")),s.HOTPINK=r(s.fromCssColorString("#FF69B4")),s.INDIANRED=r(s.fromCssColorString("#CD5C5C")),s.INDIGO=r(s.fromCssColorString("#4B0082")),s.IVORY=r(s.fromCssColorString("#FFFFF0")),s.KHAKI=r(s.fromCssColorString("#F0E68C")),s.LAVENDER=r(s.fromCssColorString("#E6E6FA")),s.LAVENDAR_BLUSH=r(s.fromCssColorString("#FFF0F5")),s.LAWNGREEN=r(s.fromCssColorString("#7CFC00")),s.LEMONCHIFFON=r(s.fromCssColorString("#FFFACD")),s.LIGHTBLUE=r(s.fromCssColorString("#ADD8E6")),s.LIGHTCORAL=r(s.fromCssColorString("#F08080")),s.LIGHTCYAN=r(s.fromCssColorString("#E0FFFF")),s.LIGHTGOLDENRODYELLOW=r(s.fromCssColorString("#FAFAD2")),s.LIGHTGRAY=r(s.fromCssColorString("#D3D3D3")),s.LIGHTGREEN=r(s.fromCssColorString("#90EE90")),s.LIGHTGREY=s.LIGHTGRAY,s.LIGHTPINK=r(s.fromCssColorString("#FFB6C1")),s.LIGHTSEAGREEN=r(s.fromCssColorString("#20B2AA")),s.LIGHTSKYBLUE=r(s.fromCssColorString("#87CEFA")),s.LIGHTSLATEGRAY=r(s.fromCssColorString("#778899")),s.LIGHTSLATEGREY=s.LIGHTSLATEGRAY,s.LIGHTSTEELBLUE=r(s.fromCssColorString("#B0C4DE")),s.LIGHTYELLOW=r(s.fromCssColorString("#FFFFE0")),s.LIME=r(s.fromCssColorString("#00FF00")),s.LIMEGREEN=r(s.fromCssColorString("#32CD32")),s.LINEN=r(s.fromCssColorString("#FAF0E6")),s.MAGENTA=r(s.fromCssColorString("#FF00FF")),s.MAROON=r(s.fromCssColorString("#800000")),s.MEDIUMAQUAMARINE=r(s.fromCssColorString("#66CDAA")),s.MEDIUMBLUE=r(s.fromCssColorString("#0000CD")),s.MEDIUMORCHID=r(s.fromCssColorString("#BA55D3")),s.MEDIUMPURPLE=r(s.fromCssColorString("#9370DB")),s.MEDIUMSEAGREEN=r(s.fromCssColorString("#3CB371")),s.MEDIUMSLATEBLUE=r(s.fromCssColorString("#7B68EE")),s.MEDIUMSPRINGGREEN=r(s.fromCssColorString("#00FA9A")),s.MEDIUMTURQUOISE=r(s.fromCssColorString("#48D1CC")),s.MEDIUMVIOLETRED=r(s.fromCssColorString("#C71585")),s.MIDNIGHTBLUE=r(s.fromCssColorString("#191970")),s.MINTCREAM=r(s.fromCssColorString("#F5FFFA")),s.MISTYROSE=r(s.fromCssColorString("#FFE4E1")),s.MOCCASIN=r(s.fromCssColorString("#FFE4B5")),s.NAVAJOWHITE=r(s.fromCssColorString("#FFDEAD")),s.NAVY=r(s.fromCssColorString("#000080")),s.OLDLACE=r(s.fromCssColorString("#FDF5E6")),s.OLIVE=r(s.fromCssColorString("#808000")),s.OLIVEDRAB=r(s.fromCssColorString("#6B8E23")),s.ORANGE=r(s.fromCssColorString("#FFA500")),s.ORANGERED=r(s.fromCssColorString("#FF4500")),s.ORCHID=r(s.fromCssColorString("#DA70D6")),s.PALEGOLDENROD=r(s.fromCssColorString("#EEE8AA")),s.PALEGREEN=r(s.fromCssColorString("#98FB98")),s.PALETURQUOISE=r(s.fromCssColorString("#AFEEEE")),s.PALEVIOLETRED=r(s.fromCssColorString("#DB7093")),s.PAPAYAWHIP=r(s.fromCssColorString("#FFEFD5")),s.PEACHPUFF=r(s.fromCssColorString("#FFDAB9")),s.PERU=r(s.fromCssColorString("#CD853F")),s.PINK=r(s.fromCssColorString("#FFC0CB")),s.PLUM=r(s.fromCssColorString("#DDA0DD")),s.POWDERBLUE=r(s.fromCssColorString("#B0E0E6")),s.PURPLE=r(s.fromCssColorString("#800080")),s.RED=r(s.fromCssColorString("#FF0000")),s.ROSYBROWN=r(s.fromCssColorString("#BC8F8F")),s.ROYALBLUE=r(s.fromCssColorString("#4169E1")),s.SADDLEBROWN=r(s.fromCssColorString("#8B4513")),s.SALMON=r(s.fromCssColorString("#FA8072")),s.SANDYBROWN=r(s.fromCssColorString("#F4A460")),s.SEAGREEN=r(s.fromCssColorString("#2E8B57")),s.SEASHELL=r(s.fromCssColorString("#FFF5EE")),s.SIENNA=r(s.fromCssColorString("#A0522D")),s.SILVER=r(s.fromCssColorString("#C0C0C0")),s.SKYBLUE=r(s.fromCssColorString("#87CEEB")),s.SLATEBLUE=r(s.fromCssColorString("#6A5ACD")),s.SLATEGRAY=r(s.fromCssColorString("#708090")),s.SLATEGREY=s.SLATEGRAY,s.SNOW=r(s.fromCssColorString("#FFFAFA")),s.SPRINGGREEN=r(s.fromCssColorString("#00FF7F")),s.STEELBLUE=r(s.fromCssColorString("#4682B4")),s.TAN=r(s.fromCssColorString("#D2B48C")),s.TEAL=r(s.fromCssColorString("#008080")),s.THISTLE=r(s.fromCssColorString("#D8BFD8")),s.TOMATO=r(s.fromCssColorString("#FF6347")),s.TURQUOISE=r(s.fromCssColorString("#40E0D0")),s.VIOLET=r(s.fromCssColorString("#EE82EE")),s.WHEAT=r(s.fromCssColorString("#F5DEB3")),s.WHITE=r(s.fromCssColorString("#FFFFFF")),s.WHITESMOKE=r(s.fromCssColorString("#F5F5F5")),s.YELLOW=r(s.fromCssColorString("#FFFF00")),s.YELLOWGREEN=r(s.fromCssColorString("#9ACD32")),s}),define("Core/EncodedCartesian3",["./Cartesian3","./defined","./DeveloperError"],function(e,t){"use strict";var r=function(){this.high=e.clone(e.ZERO),this.low=e.clone(e.ZERO)};r.encode=function(e,r){t(r)||(r={high:0,low:0});var n;return e>=0?(n=65536*Math.floor(e/65536),r.high=n,r.low=e-n):(n=65536*Math.floor(-e/65536),r.high=-n,r.low=e+n),r};var n={high:0,low:0};r.fromCartesian=function(e,i){t(i)||(i=new r);var a=i.high,o=i.low;return r.encode(e.x,n),a.x=n.high,o.x=n.low,r.encode(e.y,n),a.y=n.high,o.y=n.low,r.encode(e.z,n),a.z=n.high,o.z=n.low,i};var i=new r;return r.writeElements=function(e,t,n){r.fromCartesian(e,i);var a=i.high,o=i.low;t[n]=a.x,t[n+1]=a.y,t[n+2]=a.z,t[n+3]=o.x,t[n+4]=o.y,t[n+5]=o.z},r}),define("Core/Tipsify",["./defaultValue","./defined","./DeveloperError"],function(e,t){"use strict";var r={};return r.calculateACMR=function(r){r=e(r,e.EMPTY_OBJECT);var n=r.indices,i=r.maximumIndex,a=e(r.cacheSize,24),o=n.length;if(!t(i)){i=0;for(var s=0,u=n[s];o>s;)u>i&&(i=u),++s,u=n[s]}for(var l=[],c=0;i+1>c;c++)l[c]=0;for(var f=a+1,h=0;o>h;++h)f-l[n[h]]>a&&(l[n[h]]=f,++f);return(f-a+1)/(o/3)},r.tipsify=function(r){function n(e,t,r,n){for(;t.length>=1;){var i=t[t.length-1];if(t.splice(t.length-1,1),e[i].numLiveTriangles>0)return i}for(;n>a;){if(e[a].numLiveTriangles>0)return++a,a-1;++a}return-1}function i(e,t,r,i,a,o,s){for(var u,l=-1,c=-1,f=0;fc||-1===c)&&(c=u,l=h)),++f}return-1===l?n(i,o,e,s):l}r=e(r,e.EMPTY_OBJECT);var a,o=r.indices,s=r.maximumIndex,u=e(r.cacheSize,24),l=o.length,c=0,f=0,h=o[f],d=l;if(t(s))c=s+1;else{for(;d>f;)h>c&&(c=h),++f,h=o[f];if(-1===c)return 0;++c}for(var m=[],y=0;c>y;y++)m[y]={numLiveTriangles:0,timeStamp:0,vertexTriangles:[]};f=0;for(var p=0;d>f;)m[o[f]].vertexTriangles.push(p),++m[o[f]].numLiveTriangles,m[o[f+1]].vertexTriangles.push(p),++m[o[f+1]].numLiveTriangles,m[o[f+2]].vertexTriangles.push(p),++m[o[f+2]].numLiveTriangles,++p,f+=3;var v=0,g=u+1;a=1;var E,w,S=[],C=[],x=0,T=[],O=l/3,M=[];for(y=0;O>y;y++)M[y]=!1;for(var A,D;-1!==v;){S=[],w=m[v],D=w.vertexTriangles.length;for(var I=0;D>I;++I)if(p=w.vertexTriangles[I],!M[p]){M[p]=!0,f=p+p+p;for(var _=0;3>_;++_)A=o[f],S.push(A),C.push(A),T[x]=A,++x,E=m[A],--E.numLiveTriangles,g-E.timeStamp>u&&(E.timeStamp=g,++g),++f}v=i(o,u,S,m,g,C,c)}return T},r}),define("Core/GeometryPipeline",["./barycentricCoordinates","./defaultValue","./defined","./DeveloperError","./Cartesian2","./Cartesian3","./Cartesian4","./Cartographic","./EncodedCartesian3","./Intersect","./IntersectionTests","./Math","./Matrix3","./Matrix4","./Plane","./GeographicProjection","./ComponentDatatype","./IndexDatatype","./PrimitiveType","./Tipsify","./BoundingSphere","./Geometry","./GeometryAttribute"],function(e,t,r,n,i,a,o,s,u,l,c,f,h,d,m,y,p,v,g,E,w,S,C){"use strict";function x(e,t,r,n,i){e[t++]=r,e[t++]=n,e[t++]=n,e[t++]=i,e[t++]=i,e[t]=r}function T(e){for(var t=e.length,r=6*(t/3),n=v.createTypedArray(t,r),i=0,a=0;t>a;a+=3,i+=6)x(n,i,e[a],e[a+1],e[a+2]);return n}function O(e){var t=e.length;if(t>=3){var r=6*(t-2),n=v.createTypedArray(t,r);x(n,0,e[0],e[1],e[2]);for(var i=6,a=3;t>a;++a,i+=6)x(n,i,e[a-1],e[a],e[a-2]);return n}return new Uint16Array}function M(e){if(e.length>0){for(var t=e.length-1,r=6*(t-1),n=v.createTypedArray(t,r),i=e[0],a=0,o=1;t>o;++o,a+=6)x(n,a,i,e[o],e[o+1]);return n}return new Uint16Array}function A(e){var t={};for(var n in e)if(e.hasOwnProperty(n)&&r(e[n])&&r(e[n].values)){var i=e[n];t[n]=new C({componentDatatype:i.componentDatatype,componentsPerAttribute:i.componentsPerAttribute,normalize:i.normalize,values:[]})}return t}function D(e,t,n){for(var i in t)if(t.hasOwnProperty(i)&&r(t[i])&&r(t[i].values))for(var a=t[i],o=0;oo;o+=3)a.unpack(n,o,Z),d.multiplyByPoint(e,Z,Z),a.pack(Z,n,o)}function _(e,t){if(r(t))for(var n=t.values,i=n.length,o=0;i>o;o+=3)a.unpack(n,o,Z),h.multiplyByVector(e,Z,Z),Z=a.normalize(Z,Z),a.pack(Z,n,o)}function b(e){var t,n=e.length,i={},a=e[0].geometry.attributes;for(t in a)if(a.hasOwnProperty(t)&&r(a[t])&&r(a[t].values)){for(var o=a[t],s=o.values.length,u=!0,l=1;n>l;++l){var c=e[l].geometry.attributes[t];if(!r(c)||o.componentDatatype.value!==c.componentDatatype.value||o.componentsPerAttribute!==c.componentsPerAttribute||o.normalize!==c.normalize){u=!1;break}s+=c.values.length}u&&(i[t]=new C({componentDatatype:o.componentDatatype,componentsPerAttribute:o.componentsPerAttribute,normalize:o.normalize,values:p.createTypedArray(o.componentDatatype,s)}))}return i}function N(e){if(r(e.indices))return e;for(var t=S.computeNumberOfVertices(e),n=v.createTypedArray(t,t),i=0;t>i;++i)n[i]=i;return e.indices=n,e}function R(e){var t=S.computeNumberOfVertices(e),r=v.createTypedArray(t,3*(t-2));r[0]=1,r[1]=0,r[2]=2;for(var n=3,i=3;t>i;++i)r[n++]=i-1,r[n++]=0,r[n++]=i;return e.indices=r,e.primitiveType=g.TRIANGLES,e}function P(e){var t=S.computeNumberOfVertices(e),r=v.createTypedArray(t,3*(t-2));r[0]=0,r[1]=1,r[2]=2,t>3&&(r[3]=0,r[4]=2,r[5]=3);for(var n=6,i=3;t-1>i;i+=2)r[n++]=i,r[n++]=i-1,r[n++]=i+1,t>i+2&&(r[n++]=i,r[n++]=i+1,r[n++]=i+2);return e.indices=r,e.primitiveType=g.TRIANGLES,e}function z(e){if(r(e.indices))return e;for(var t=S.computeNumberOfVertices(e),n=v.createTypedArray(t,t),i=0;t>i;++i)n[i]=i;return e.indices=n,e}function L(e){var t=S.computeNumberOfVertices(e),r=v.createTypedArray(t,2*(t-1));r[0]=0,r[1]=1;for(var n=2,i=2;t>i;++i)r[n++]=i-1,r[n++]=i;return e.indices=r,e.primitiveType=g.LINES,e}function F(e){var t=S.computeNumberOfVertices(e),r=v.createTypedArray(t,2*t);r[0]=0,r[1]=1;for(var n=2,i=2;t>i;++i)r[n++]=i-1,r[n++]=i;return r[n++]=t-1,r[n]=0,e.indices=r,e.primitiveType=g.LINES,e}function U(e){switch(e.primitiveType){case g.TRIANGLE_FAN:return R(e);case g.TRIANGLE_STRIP:return P(e);case g.TRIANGLES:return N(e);case g.LINE_STRIP:return L(e);case g.LINE_LOOP:return F(e);case g.LINES:return z(e)}return e}function B(e,t){Math.abs(e.y)=0||t.x>=0||r.x>=0)return void 0;var n=e.y<0,i=t.y<0,a=r.y<0;B(e,n),B(t,i),B(r,a);var o=0;o+=n?1:0,o+=i?1:0,o+=a?1:0;var s=ct.indices;1===o?(s[1]=3,s[2]=4,s[5]=6,s[7]=6,s[8]=5,n?(q(e,t,ot,ut),q(e,r,st,lt),s[0]=0,s[3]=1,s[4]=2,s[6]=1):i?(q(t,r,ot,ut),q(t,e,st,lt),s[0]=1,s[3]=2,s[4]=0,s[6]=2):a&&(q(r,e,ot,ut),q(r,t,st,lt),s[0]=2,s[3]=0,s[4]=1,s[6]=0)):2===o&&(s[2]=4,s[4]=4,s[5]=3,s[7]=5,s[8]=6,n?i?a||(q(r,e,ot,ut),q(r,t,st,lt),s[0]=0,s[1]=1,s[3]=0,s[6]=2):(q(t,r,ot,ut),q(t,e,st,lt),s[0]=2,s[1]=0,s[3]=2,s[6]=1):(q(e,t,ot,ut),q(e,r,st,lt),s[0]=1,s[1]=2,s[3]=1,s[6]=0));var u=ct.positions;return u[0]=e,u[1]=t,u[2]=r,ct.length=3,(1===o||2===o)&&(u[3]=ot,u[4]=st,u[5]=ut,u[6]=lt,ct.length=7),ct}function W(t,n,o,s,u,l,c,f){if(r(u)||r(l)||r(c)||r(f)){var h,d,m,y,p,v,g,E,w,S,C,x,T,O,M,A,D,I,_=s.positions,b=_[0],N=_[1],R=_[2];r(u)&&(h=a.fromArray(u,3*t),d=a.fromArray(u,3*n),m=a.fromArray(u,3*o)),r(l)&&(y=a.fromArray(l,3*t),p=a.fromArray(l,3*n),v=a.fromArray(l,3*o)),r(c)&&(g=a.fromArray(c,3*t),E=a.fromArray(c,3*n),w=a.fromArray(c,3*o)),r(f)&&(S=i.fromArray(f,2*t),C=i.fromArray(f,2*n),x=i.fromArray(f,2*o));for(var P=3;P<_.length;++P){var z=_[P],L=e(z,b,N,R);if(r(u)){T=a.multiplyByScalar(h,L.x,T),O=a.multiplyByScalar(d,L.y,O),M=a.multiplyByScalar(m,L.z,M);var F=a.add(T,O);a.add(F,M,F),a.normalize(F,F),u.push(F.x,F.y,F.z)}if(r(l)){T=a.multiplyByScalar(y,L.x,T),O=a.multiplyByScalar(p,L.y,O),M=a.multiplyByScalar(v,L.z,M);var U=a.add(T,O);a.add(U,M,U),a.normalize(U,U),l.push(U.x,U.y,U.z)}if(r(c)){T=a.multiplyByScalar(g,L.x,T),O=a.multiplyByScalar(E,L.y,O),M=a.multiplyByScalar(w,L.z,M);var B=a.add(T,O);a.add(B,M,B),a.normalize(B,B),c.push(B.x,B.y,B.z)}if(r(f)){A=i.multiplyByScalar(S,L.x,A),D=i.multiplyByScalar(C,L.y,D),I=i.multiplyByScalar(x,L.z,I);var q=i.add(A,D);i.add(q,I,q),f.push(q.x,q.y)}}}}function Y(e){for(var t=e.attributes,n=t.position.values,i=r(t.normal)?t.normal.values:void 0,o=r(t.binormal)?t.binormal.values:void 0,s=r(t.tangent)?t.tangent.values:void 0,u=r(t.st)?t.st.values:void 0,l=e.indices,c=Array.prototype.slice.call(n,0),f=r(i)?Array.prototype.slice.call(i,0):void 0,h=r(o)?Array.prototype.slice.call(o,0):void 0,d=r(s)?Array.prototype.slice.call(s,0):void 0,m=r(u)?Array.prototype.slice.call(u,0):void 0,y=[],g=l.length,E=0;g>E;E+=3){var w=l[E],C=l[E+1],x=l[E+2],T=a.fromArray(n,3*w),O=a.fromArray(n,3*C),M=a.fromArray(n,3*x),A=G(T,O,M);if(r(A))if(c[3*w+1]=A.positions[0].y,c[3*C+1]=A.positions[1].y,c[3*x+1]=A.positions[2].y,A.length>3){for(var D=c.length/3,I=0;I_?y.push(l[E+_]):y.push(_-3+D)}for(var b=3;bh;h+=2){var d=i[h],y=i[h+1],p=a.fromArray(n,3*d),g=a.fromArray(n,3*y);if(Math.abs(p.y)c;c+=3)u[l++]=a[c],u[l++]=a[c+1],u[l++]=a[c+2],u[l++]=a[c]+o[c]*i,u[l++]=a[c+1]+o[c+1]*i,u[l++]=a[c+2]+o[c+2]*i;var f,h=e.boundingSphere;return r(h)&&(f=new w(h.center,h.radius+i)),new S({attributes:{position:new C({componentDatatype:p.DOUBLE,componentsPerAttribute:3,values:u})},primitiveType:g.LINES,boundingSphere:f})},j.createAttributeLocations=function(e){var t,n=["position","positionHigh","positionLow","position3DHigh","position3DLow","position2DHigh","position2DLow","pickColor","normal","st","binormal","tangent"],i=e.attributes,a={},o=0,s=n.length;for(t=0;s>t;++t){var u=n[t];r(i[u])&&(a[u]=o++)}for(var l in i)i.hasOwnProperty(l)&&!r(a[l])&&(a[l]=o++);return a},j.reorderForPreVertexCache=function(e){var t=S.computeNumberOfVertices(e),n=e.indices;if(r(n)){for(var i=new Int32Array(t),a=0;t>a;a++)i[a]=-1;for(var o,s=n,u=s.length,l=v.createTypedArray(t,u),c=0,f=0,h=0;u>c;)o=i[s[c]],-1!==o?l[f]=o:(o=s[c],i[o]=h,l[f]=h,++h),++c,++f;e.indices=l;var d=e.attributes;for(var m in d)if(d.hasOwnProperty(m)&&r(d[m])&&r(d[m].values)){for(var y=d[m],g=y.values,E=0,w=y.componentsPerAttribute,C=p.createTypedArray(y.componentDatatype,h*w);t>E;){var x=i[E];if(-1!==x)for(a=0;w>a;a++)C[w*x+a]=g[w*E+a];++E}y.values=C}}return e},j.reorderForPostVertexCache=function(e,t){var n=e.indices;if(e.primitiveType===g.TRIANGLES&&r(n)){for(var i=n.length,a=0,o=0;i>o;o++)n[o]>a&&(a=n[o]);e.indices=E.tipsify({indices:n,maximumIndex:a,cacheSize:t})}return e},j.fitToUnsignedShortIndices=function(e){var t=[],n=S.computeNumberOfVertices(e);if(r(e.indices)&&n>f.SIXTY_FOUR_KILOBYTES){var i,a=[],o=[],s=0,u=A(e.attributes),l=e.indices,c=l.length;e.primitiveType===g.TRIANGLES?i=3:e.primitiveType===g.LINES?i=2:e.primitiveType===g.POINTS&&(i=1);for(var h=0;c>h;h+=i){for(var d=0;i>d;++d){var m=l[h+d],y=a[m];r(y)||(y=s++,a[m]=y,D(u,e.attributes,m)),o.push(y)}s+i>f.SIXTY_FOUR_KILOBYTES&&(t.push(new S({attributes:u,indices:o,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere})),a=[],o=[],s=0,u=A(e.attributes))}0!==o.length&&t.push(new S({attributes:u,indices:o,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere}))}else t.push(e);return t};var H=new a,k=new s;j.projectTo2D=function(e,t,i,o,s){var u=e.attributes[t];s=r(s)?s:new y;for(var l=s.ellipsoid,c=u.values,f=new Float64Array(c.length),h=0,d=0;dc;++c)u.encode(a[c],K),s[c]=K.high,l[c]=K.low;var f=i.componentsPerAttribute;return e.attributes[r]=new C({componentDatatype:p.FLOAT,componentsPerAttribute:f,values:s}),e.attributes[n]=new C({componentDatatype:p.FLOAT,componentsPerAttribute:f,values:l}),delete e.attributes[t],e};var Z=new a,X=new d,J=new h;j.transformToWorldCoordinates=function(e){var t=e.modelMatrix;if(d.equals(t,d.IDENTITY))return e;var n=e.geometry.attributes;I(t,n.position),I(t,n.prevPosition),I(t,n.nextPosition),(r(n.normal)||r(n.binormal)||r(n.tangent))&&(d.inverse(t,X),d.transpose(X,X),d.getRotation(X,J),_(J,n.normal),_(J,n.binormal),_(J,n.tangent));var i=e.geometry.boundingSphere;return r(i)&&(e.geometry.boundingSphere=w.transform(i,t,i)),e.modelMatrix=d.clone(d.IDENTITY),e},j.combine=function(e){var t,n,i,o,s=e.length;e[0].modelMatrix;var u,l,c,f=r(e[0].geometry.indices),h=e[0].geometry.primitiveType,d=b(e);for(t in d)if(d.hasOwnProperty(t))for(u=d[t].values,o=0,n=0;s>n;++n)for(l=e[n].geometry.attributes[t].values,c=l.length,i=0;c>i;++i)u[o++]=l[i];var m;if(f){var y=0;for(n=0;s>n;++n)y+=e[n].geometry.indices.length;var p=S.computeNumberOfVertices(new S({attributes:d,primitiveType:g.POINTS})),E=v.createTypedArray(p,y),C=0,x=0;for(n=0;s>n;++n){var T=e[n].geometry.indices,O=T.length;for(o=0;O>o;++o)E[C++]=x+T[o];x+=S.computeNumberOfVertices(e[n].geometry)}m=E}var M,A=new a,D=0;for(n=0;s>n;++n){if(M=e[n].geometry.boundingSphere,!r(M)){A=void 0;break}a.add(M.center,A,A)}if(r(A))for(a.divideByScalar(A,s,A),n=0;s>n;++n){M=e[n].geometry.boundingSphere;var I=a.magnitude(a.subtract(M.center,A))+M.radius;I>D&&(D=I)}return new S({attributes:d,indices:m,primitiveType:h,boundingSphere:r(A)?new w(A,D):void 0})};var Q=new a,$=new a,et=new a,tt=new a;j.computeNormal=function(e){for(var t=e.indices,r=e.attributes,n=r.position.values,i=r.position.values.length/3,o=t.length,s=new Array(i),u=new Array(o/3),l=new Array(o),c=0;i>c;c++)s[c]={indexOffset:0,count:0,currentCount:0};var f=0;for(c=0;o>c;c+=3){var h=t[c],d=t[c+1],m=t[c+2],y=3*h,v=3*d,g=3*m;$.x=n[y],$.y=n[y+1],$.z=n[y+2],et.x=n[v],et.y=n[v+1],et.z=n[v+2],tt.x=n[g],tt.y=n[g+1],tt.z=n[g+2],s[h].count++,s[d].count++,s[m].count++,a.subtract(et,$,et),a.subtract(tt,$,tt),u[f]=a.cross(et,tt),f++}var E=0;for(c=0;i>c;c++)s[c].indexOffset+=E,E+=s[c].count;f=0;var w;for(c=0;o>c;c+=3){w=s[t[c]];var S=w.indexOffset+w.currentCount;l[S]=f,w.currentCount++,w=s[t[c+1]],S=w.indexOffset+w.currentCount,l[S]=f,w.currentCount++,w=s[t[c+2]],S=w.indexOffset+w.currentCount,l[S]=f,w.currentCount++,f++}var x=new Float32Array(3*i);for(c=0;i>c;c++){var T=3*c;if(w=s[c],w.count>0){for(a.clone(a.ZERO,Q),f=0;fl;l+=3){var d=t[l],m=t[l+1],y=t[l+2];c=3*d,f=3*m,h=3*y;var v=2*d,g=2*m,E=2*y,w=r[c],S=r[c+1],x=r[c+2],T=i[v],O=i[v+1],M=i[g+1]-O,A=i[E+1]-O,D=1/((i[g]-T)*A-(i[E]-T)*M),I=(A*(r[f]-w)-M*(r[h]-w))*D,_=(A*(r[f+1]-S)-M*(r[h+1]-S))*D,b=(A*(r[f+2]-x)-M*(r[h+2]-x))*D;u[c]+=I,u[c+1]+=_,u[c+2]+=b,u[f]+=I,u[f+1]+=_,u[f+2]+=b,u[h]+=I,u[h+1]+=_,u[h+2]+=b}var N=new Float32Array(3*o),R=new Float32Array(3*o);for(l=0;o>l;l++){c=3*l,f=c+1,h=c+2;var P=a.fromArray(n,c,rt),z=a.fromArray(u,c,it),L=a.dot(P,z);a.multiplyByScalar(P,L,nt),a.normalize(a.subtract(z,nt,z),z),R[c]=z.x,R[f]=z.y,R[h]=z.z,a.normalize(a.cross(P,z,z),z),N[c]=z.x,N[f]=z.y,N[h]=z.z}return e.attributes.tangent=new C({componentDatatype:p.FLOAT,componentsPerAttribute:3,values:R}),e.attributes.binormal=new C({componentDatatype:p.FLOAT,componentsPerAttribute:3,values:N}),e};var at=new a,ot=new a,st=new a,ut=new a,lt=new a,ct={positions:new Array(7),indices:new Array(9)};return j.wrapLongitude=function(e){var t=e.boundingSphere;if(r(t)){var n=t.center.x-t.radius;if(n>0||w.intersect(t,o.UNIT_Y)!==l.INTERSECTING)return e +}return U(e),e.primitiveType===g.TRIANGLES?Y(e):e.primitiveType===g.LINES&&V(e),e},j}),define("Scene/PrimitivePipeline",["../Core/defined","../Core/defaultValue","../Core/Color","../Core/ComponentDatatype","../Core/DeveloperError","../Core/FeatureDetection","../Core/Geometry","../Core/GeometryAttribute","../Core/GeometryPipeline","../Core/Matrix4"],function(e,t,r,n,i,a,o,s,u,l){"use strict";function c(e,t,r){var n,i=!r,a=e.length;if(!i&&a>1){var o=e[0].modelMatrix;for(n=1;a>n;++n)if(!l.equals(o,e[n].modelMatrix)){i=!0;break}}if(i)for(n=0;a>n;++n)u.transformToWorldCoordinates(e[n]);else l.clone(e[0].modelMatrix,t)}function f(e,t){for(var i=e.length,a=0;i>a;++a){var o=e[a],u=o.geometry,l=u.attributes,c=l.position,f=4*(c.values.length/c.componentsPerAttribute);l.pickColor=new s({componentDatatype:n.UNSIGNED_BYTE,componentsPerAttribute:4,normalize:!0,values:new Uint8Array(f)});for(var h=t[a],d=r.floatToByte(h.red),m=r.floatToByte(h.green),y=r.floatToByte(h.blue),p=r.floatToByte(h.alpha),v=l.pickColor.values,g=0;f>g;g+=4)v[g]=d,v[g+1]=m,v[g+2]=y,v[g+3]=p}}function h(t){var r,n=t.length,i=[],a=t[0].attributes;for(r in a)if(a.hasOwnProperty(r)){for(var o=a[r],s=!0,u=1;n>u;++u){var l=t[u].attributes[r];if(!e(l)||o.componentDatatype.value!==l.componentDatatype.value||o.componentsPerAttribute!==l.componentsPerAttribute||o.normalize!==l.normalize){s=!1;break}}s&&i.push(r)}return i}function d(e,t){for(var r=e.length,i=0;r>i;++i)for(var a=e[i],u=a.attributes,l=a.geometry,c=o.computeNumberOfVertices(l),f=t.length,h=0;f>h;++h){for(var d=t[h],m=u[d],y=m.componentDatatype,p=m.value,v=p.length,g=n.createTypedArray(y,c*v),E=0;c>E;++E)g.set(p,E*v);l.attributes[d]=new s({componentDatatype:y,componentsPerAttribute:v,normalize:m.normalize,values:g})}}function m(e){var t,r=e.instances,i=e.pickIds,a=e.projection,o=e.elementIndexUintSupported,s=e.allow3DOnly,l=e.allowPicking,m=e.vertexCacheOptimize,y=e.modelMatrix,p=r.length;if(r[0].geometry.primitiveType,c(r,y,s),!s)for(t=0;p>t;++t)u.wrapLongitude(r[t].geometry);l&&f(r,i);var v=h(r);if(d(r,v),m)for(t=0;p>t;++t)u.reorderForPostVertexCache(r[t].geometry),u.reorderForPreVertexCache(r[t].geometry);var g,E=u.combine(r),w=E.attributes;if(s)for(g in w)w.hasOwnProperty(g)&&w[g].componentDatatype.value===n.DOUBLE.value&&u.encodeAttribute(E,g,g+"3DHigh",g+"3DLow");else for(g in w)if(w.hasOwnProperty(g)&&w[g].componentDatatype.value===n.DOUBLE.value){var S=g+"3D",C=g+"2D";u.projectTo2D(E,g,S,C,a),u.encodeAttribute(E,S,S+"High",S+"Low"),u.encodeAttribute(E,C,C+"High",C+"Low")}return o?[E]:u.fitToUnsignedShortIndices(E)}function y(e,t,r){for(var i=[],a=e.attributes,o=r.length,s=0;o>s;++s){var u=r[s],l=a[u],c=l.componentDatatype;c.value===n.DOUBLE.value&&(c=n.FLOAT);var f=n.createTypedArray(c,l.values);i.push({index:t[u],componentDatatype:c,componentsPerAttribute:l.componentsPerAttribute,normalize:l.normalize,values:f}),delete a[u]}return i}function p(r,n,i){for(var a=[],s=h(r),u=r.length,l={},c={},f=0;u>f;++f)for(var d=r[f],m=o.computeNumberOfVertices(d.geometry),y=s.length,p=0;y>p;++p)for(var v=s[p],g=i[v],E=m;E>0;){for(var w,S=t(c[v],0),C=n[S],x=C.length,T=0;x>T&&(w=C[T],w.index!==g);++T);e(a[f])||(a[f]={}),e(a[f][v])||(a[f][v]={dirty:!1,value:d.attributes[v].value,indices:[]});var O,M=w.values.length/w.componentsPerAttribute,A=t(l[v],0);M>A+E?(O=E,a[f][v].indices.push({attribute:w,offset:A,count:O}),l[v]=A+E):(O=M-A,a[f][v].indices.push({attribute:w,offset:A,count:O}),l[v]=0,c[v]=S+1),E-=O}return a}function v(t){return e(t.constructor.name)?{type:t.constructor.name,buffer:t.buffer}:t}function g(t){return e(t.type)?new w[t.type](t.buffer):t}if(!a.supportsTypedArrays())return{};var E={};E.combineGeometry=function(e){for(var t={instances:e.instances,pickIds:e.pickIds,ellipsoid:e.ellipsoid,projection:e.projection,elementIndexUintSupported:e.elementIndexUintSupported,allow3DOnly:e.allow3DOnly,allowPicking:e.allowPicking,vertexCacheOptimize:e.vertexCacheOptimize,modelMatrix:l.clone(e.modelMatrix)},r=m(t),n=u.createAttributeLocations(r[0]),i=t.instances,a=h(i),o=[],s=r.length,c=0;s>c;++c){var f=r[c];o.push(y(f,n,a))}var d=p(i,o,n);return{geometries:r,modelMatrix:t.modelMatrix,attributeLocations:n,vaAttributes:o,vaAttributeLocations:d}};var w={Int8Array:Int8Array,Uint8Array:Uint8Array,Int16Array:Int16Array,Uint16Array:Uint16Array,Int32Array:Int32Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array};return E.transferGeometry=function(t,r){var n,i=t.attributes;for(var o in i)i.hasOwnProperty(o)&&e(i[o])&&e(i[o].values)&&(n=i[o].values,a.supportsTransferringArrayBuffers()&&r.indexOf(i[o].values.buffer)<0&&r.push(n.buffer),e(n.type)||(i[o].values=v(n)));e(t.indices)&&(n=t.indices,a.supportsTransferringArrayBuffers()&&r.push(n.buffer),e(n.type)||(t.indices=v(t.indices)))},E.transferGeometries=function(e,t){for(var r=e.length,n=0;r>n;++n)E.transferGeometry(e[n],t)},E.transferPerInstanceAttributes=function(e,t){for(var r=e.length,n=0;r>n;++n)for(var i=e[n],o=i.length,s=0;o>s;++s){var u=i[s].values;a.supportsTransferringArrayBuffers()&&t.push(u.buffer),i[s].values=v(u)}},E.transferInstances=function(e,t){for(var r=e.length,n=0;r>n;++n){var i=e[n];E.transferGeometry(i.geometry,t)}},E.receiveGeometry=function(t){var r=t.attributes;for(var n in r)r.hasOwnProperty(n)&&e(r[n])&&e(r[n].values)&&(r[n].values=g(r[n].values));e(t.indices)&&(t.indices=g(t.indices))},E.receiveGeometries=function(e){for(var t=e.length,r=0;t>r;++r)E.receiveGeometry(e[r])},E.receivePerInstanceAttributes=function(e){for(var t=e.length,r=0;t>r;++r)for(var n=e[r],i=n.length,a=0;i>a;++a)n[a].values=g(n[a].values)},E.receiveInstances=function(e){for(var t=e.length,r=0;t>r;++r){var n=e[r];E.receiveGeometry(n.geometry)}},E}),define("Workers/createTaskProcessorWorker",["../Core/defaultValue","../Core/defined"],function(e,t){"use strict";var r=function(r){var n,i=[],a={id:void 0,result:void 0,error:void 0};return function(o){var s=o.data;i.length=0,a.id=s.id,a.error=void 0,a.result=void 0;try{a.result=r(s.parameters,i)}catch(u){a.error=u}t(n)||(n=e(self.webkitPostMessage,self.postMessage));try{n(a,i)}catch(u){a.result=void 0,a.error="postMessage failed with error: "+u+"\n with responseMessage: "+JSON.stringify(a),n(a)}}};return r}),define("Workers/createPolylineVolumeOutlineGeometry",["../Core/PolylineVolumeOutlineGeometry","../Core/Ellipsoid","../Scene/PrimitivePipeline","./createTaskProcessorWorker"],function(e,t,r,n){"use strict";function i(n,i){var a=n.geometry;a._ellipsoid=t.clone(a._ellipsoid);var o=e.createGeometry(a);return r.transferGeometry(o,i),{geometry:o,index:n.index}}return n(i)})}(); \ No newline at end of file diff --git a/Cesium/Workers/createSimplePolylineGeometry.js b/Cesium/Workers/createSimplePolylineGeometry.js new file mode 100644 index 0000000..bacc486 --- /dev/null +++ b/Cesium/Workers/createSimplePolylineGeometry.js @@ -0,0 +1,61 @@ +/** + * Cesium - https://github.com/AnalyticalGraphicsInc/cesium + * + * Copyright 2011-2014 Cesium Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Columbus View (Pat. Pend.) + * + * Portions licensed separately. + * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details. + */ +/** +@license +mersenne-twister.js - https://gist.github.com/banksean/300494 + + Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura, + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. The names of its contributors may not be used to endorse or promote + products derived from this software without specific prior written + permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +!function(){define("Core/defined",[],function(){"use strict";var e=function(e){return void 0!==e};return e}),define("Core/DeveloperError",["./defined"],function(e){"use strict";var r=function(e){this.name="DeveloperError",this.message=e;var r;try{throw new Error}catch(t){r=t.stack}this.stack=r};return r.prototype.toString=function(){var r=this.name+": "+this.message;return e(this.stack)&&(r+="\n"+this.stack.toString()),r},r.throwInstantiationError=function(){throw new r("This function defines an interface and should not be called directly.")},r}),define("Core/freezeObject",["./defined"],function(e){"use strict";var r=Object.freeze;return e(r)||(r=function(e){return e}),r}),define("Core/defaultValue",["./freezeObject"],function(e){"use strict";var r=function(e,r){return void 0!==e?e:r};return r.EMPTY_OBJECT=e({}),r}),define("Core/Fullscreen",["./defined"],function(e){"use strict";var r,t={requestFullscreen:void 0,exitFullscreen:void 0,fullscreenEnabled:void 0,fullscreenElement:void 0,fullscreenchange:void 0,fullscreenerror:void 0},n={};return n.supportsFullscreen=function(){if(e(r))return r;r=!1;var n=document.body;if("function"==typeof n.requestFullscreen)return t.requestFullscreen="requestFullscreen",t.exitFullscreen="exitFullscreen",t.fullscreenEnabled="fullscreenEnabled",t.fullscreenElement="fullscreenElement",t.fullscreenchange="fullscreenchange",t.fullscreenerror="fullscreenerror",r=!0;for(var o,i=["webkit","moz","o","ms","khtml"],a=0,s=i.length;s>a;++a){var u=i[a];o=u+"RequestFullscreen","function"==typeof n[o]?(t.requestFullscreen=o,r=!0):(o=u+"RequestFullScreen","function"==typeof n[o]&&(t.requestFullscreen=o,r=!0)),o=u+"ExitFullscreen","function"==typeof document[o]?t.exitFullscreen=o:(o=u+"CancelFullScreen","function"==typeof document[o]&&(t.exitFullscreen=o)),o=u+"FullscreenEnabled",e(document[o])?t.fullscreenEnabled=o:(o=u+"FullScreenEnabled",e(document[o])&&(t.fullscreenEnabled=o)),o=u+"FullscreenElement",e(document[o])?t.fullscreenElement=o:(o=u+"FullScreenElement",e(document[o])&&(t.fullscreenElement=o)),o=u+"fullscreenchange",e(document["on"+o])&&("ms"===u&&(o="MSFullscreenChange"),t.fullscreenchange=o),o=u+"fullscreenerror",e(document["on"+o])&&("ms"===u&&(o="MSFullscreenError"),t.fullscreenerror=o)}return r},n.requestFullscreen=function(e){n.supportsFullscreen()&&e[t.requestFullscreen]()},n.exitFullscreen=function(){n.supportsFullscreen()&&document[t.exitFullscreen]()},n.isFullscreenEnabled=function(){return n.supportsFullscreen()?document[t.fullscreenEnabled]:void 0},n.getFullscreenElement=function(){return n.supportsFullscreen()?document[t.fullscreenElement]:void 0},n.isFullscreen=function(){return n.supportsFullscreen()?null!==n.getFullscreenElement():void 0},n.getFullscreenChangeEventName=function(){return n.supportsFullscreen()?t.fullscreenchange:void 0},n.getFullscreenErrorEventName=function(){return n.supportsFullscreen()?t.fullscreenerror:void 0},n}),define("Core/FeatureDetection",["./defined","./Fullscreen"],function(e,r){"use strict";function t(e){for(var r=e.split("."),t=0,n=r.length;n>t;++t)r[t]=parseInt(r[t],10);return r}function n(){if(!e(f)){var r=/ Chrome\/([\.0-9]+)/.exec(navigator.userAgent);null===r?f=!1:(f=!0,m=t(r[1]))}return f}function o(){return n()&&m}function i(){if(!e(y))if(n()||!/ Safari\/[\.0-9]+/.test(navigator.userAgent))y=!1;else{var r=/ Version\/([\.0-9]+)/.exec(navigator.userAgent);null===r?y=!1:(y=!0,h=t(r[1]))}return y}function a(){return i()&&h}function s(){if(!e(p)){var r=/ AppleWebKit\/([\.0-9]+)(\+?)/.exec(navigator.userAgent);null===r?p=!1:(p=!0,d=t(r[1]),d.isNightly=!!r[2])}return p}function u(){return s()&&d}function l(){if(!e(v)){var r;"Microsoft Internet Explorer"===navigator.appName?(r=/MSIE ([0-9]{1,}[\.0-9]{0,})/.exec(navigator.userAgent),null!==r&&(v=!0,g=t(r[1]))):"Netscape"===navigator.appName?(r=/Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/.exec(navigator.userAgent),null!==r&&(v=!0,g=t(r[1]))):v=!1}return v}function c(){return l()&&g}var f,m,y,h,p,d,v,g,E={isChrome:n,chromeVersion:o,isSafari:i,safariVersion:a,isWebkit:s,webkitVersion:u,isInternetExplorer:l,internetExplorerVersion:c};E.supportsFullscreen=function(){return r.supportsFullscreen()},E.supportsTypedArrays=function(){return"undefined"!=typeof ArrayBuffer};var C;return E.supportsTransferringArrayBuffers=function(){if(!e(C)){if(!E.supportsTypedArrays())return C=!1,void 0;var r=new ArrayBuffer(1);try{postMessage({value:r},[r]),C=!0}catch(t){C=!1}}return C},E}),define("Core/Enumeration",["./defined"],function(e){"use strict";var r=function(r,t,n){if(this.value=r,this.name=t,e(n))for(var o in n)n.hasOwnProperty(o)&&(this[o]=n[o])};return r.prototype.valueOf=function(){return this.value},r.prototype.toString=function(){return this.name},r}),define("Core/ComponentDatatype",["./defaultValue","./defined","./DeveloperError","./FeatureDetection","./Enumeration"],function(e,r,t,n,o){"use strict";if(!n.supportsTypedArrays())return{};var i={BYTE:new o(5120,"BYTE",{sizeInBytes:Int8Array.BYTES_PER_ELEMENT}),UNSIGNED_BYTE:new o(5121,"UNSIGNED_BYTE",{sizeInBytes:Uint8Array.BYTES_PER_ELEMENT}),SHORT:new o(5122,"SHORT",{sizeInBytes:Int16Array.BYTES_PER_ELEMENT}),UNSIGNED_SHORT:new o(5123,"UNSIGNED_SHORT",{sizeInBytes:Uint16Array.BYTES_PER_ELEMENT}),FLOAT:new o(5126,"FLOAT",{sizeInBytes:Float32Array.BYTES_PER_ELEMENT}),DOUBLE:new o(5130,"DOUBLE",{sizeInBytes:Float64Array.BYTES_PER_ELEMENT})};return i.validate=function(e){return r(e)&&r(e.value)&&(e.value===i.BYTE.value||e.value===i.UNSIGNED_BYTE.value||e.value===i.SHORT.value||e.value===i.UNSIGNED_SHORT.value||e.value===i.FLOAT.value||e.value===i.DOUBLE.value)},i.createTypedArray=function(e,r){switch(e.value){case i.BYTE.value:return new Int8Array(r);case i.UNSIGNED_BYTE.value:return new Uint8Array(r);case i.SHORT.value:return new Int16Array(r);case i.UNSIGNED_SHORT.value:return new Uint16Array(r);case i.FLOAT.value:return new Float32Array(r);case i.DOUBLE.value:return new Float64Array(r);default:throw new t("componentDatatype is not a valid enumeration value.")}},i.createArrayBufferView=function(r,n,o,a){switch(o=e(o,0),a=e(a,(n.byteLength-o)/r.sizeInBytes),r.value){case i.BYTE.value:return new Int8Array(n,o,a);case i.UNSIGNED_BYTE.value:return new Uint8Array(n,o,a);case i.SHORT.value:return new Int16Array(n,o,a);case i.UNSIGNED_SHORT.value:return new Uint16Array(n,o,a);case i.FLOAT.value:return new Float32Array(n,o,a);case i.DOUBLE.value:return new Float64Array(n,o,a);default:throw new t("componentDatatype is not a valid enumeration value.")}},i}),define("ThirdParty/mersenne-twister",[],function(){var e=function(e){void 0==e&&(e=(new Date).getTime()),this.N=624,this.M=397,this.MATRIX_A=2567483615,this.UPPER_MASK=2147483648,this.LOWER_MASK=2147483647,this.mt=new Array(this.N),this.mti=this.N+1,this.init_genrand(e)};return e.prototype.init_genrand=function(e){for(this.mt[0]=e>>>0,this.mti=1;this.mti>>30;this.mt[this.mti]=(1812433253*((4294901760&e)>>>16)<<16)+1812433253*(65535&e)+this.mti,this.mt[this.mti]>>>=0}},e.prototype.genrand_int32=function(){var e,r=new Array(0,this.MATRIX_A);if(this.mti>=this.N){var t;for(this.mti==this.N+1&&this.init_genrand(5489),t=0;t>>1^r[1&e];for(;t>>1^r[1&e];e=this.mt[this.N-1]&this.UPPER_MASK|this.mt[0]&this.LOWER_MASK,this.mt[this.N-1]=this.mt[this.M-1]^e>>>1^r[1&e],this.mti=0}return e=this.mt[this.mti++],e^=e>>>11,e^=2636928640&e<<7,e^=4022730752&e<<15,e^=e>>>18,e>>>0},e.prototype.random=function(){return this.genrand_int32()*(1/4294967296)},e}),define("Core/Math",["./defaultValue","./defined","./DeveloperError","../ThirdParty/mersenne-twister"],function(e,r,t,n){"use strict";var o={};o.EPSILON1=.1,o.EPSILON2=.01,o.EPSILON3=.001,o.EPSILON4=1e-4,o.EPSILON5=1e-5,o.EPSILON6=1e-6,o.EPSILON7=1e-7,o.EPSILON8=1e-8,o.EPSILON9=1e-9,o.EPSILON10=1e-10,o.EPSILON11=1e-11,o.EPSILON12=1e-12,o.EPSILON13=1e-13,o.EPSILON14=1e-14,o.EPSILON15=1e-15,o.EPSILON16=1e-16,o.EPSILON17=1e-17,o.EPSILON18=1e-18,o.EPSILON19=1e-19,o.EPSILON20=1e-20,o.GRAVITATIONALPARAMETER=3986004418e5,o.SOLAR_RADIUS=6955e5,o.LUNAR_RADIUS=1737400,o.SIXTY_FOUR_KILOBYTES=65536,o.sign=function(e){return e>0?1:0>e?-1:0},o.sinh=function(e){var r=Math.pow(Math.E,e),t=Math.pow(Math.E,-1*e);return.5*(r-t)},o.cosh=function(e){var r=Math.pow(Math.E,e),t=Math.pow(Math.E,-1*e);return.5*(r+t)},o.lerp=function(e,r,t){return(1-t)*e+t*r},o.PI=Math.PI,o.ONE_OVER_PI=1/Math.PI,o.PI_OVER_TWO=.5*Math.PI,o.PI_OVER_THREE=Math.PI/3,o.PI_OVER_FOUR=Math.PI/4,o.PI_OVER_SIX=Math.PI/6,o.THREE_PI_OVER_TWO=.5*3*Math.PI,o.TWO_PI=2*Math.PI,o.ONE_OVER_TWO_PI=1/(2*Math.PI),o.RADIANS_PER_DEGREE=Math.PI/180,o.DEGREES_PER_RADIAN=180/Math.PI,o.RADIANS_PER_ARCSECOND=o.RADIANS_PER_DEGREE/3600,o.toRadians=function(e){return e*o.RADIANS_PER_DEGREE},o.toDegrees=function(e){return e*o.DEGREES_PER_RADIAN},o.convertLongitudeRange=function(e){var r=o.TWO_PI,t=e-Math.floor(e/r)*r;return t<-Math.PI?t+r:t>=Math.PI?t-r:t},o.negativePiToPi=function(e){for(var r=o.EPSILON10,t=o.PI,n=o.TWO_PI;-(t+r)>e;)e+=n;if(-t>e)return-t;for(;e>t+r;)e-=n;return e>t?t:e},o.zeroToTwoPi=function(e){var r=e%o.TWO_PI;return 0>r?(r+o.TWO_PI)%o.TWO_PI:r},o.equalsEpsilon=function(r,t,n){return n=e(n,0),Math.abs(r-t)<=n};var i=[1];o.factorial=function(e){var r=i.length;if(e>=r)for(var t=i[r-1],n=r;e>=n;n++)i.push(t*n);return i[e]},o.incrementWrap=function(r,t,n){return n=e(n,0),++r,r>t&&(r=n),r},o.isPowerOfTwo=function(e){return 0!==e&&0===(e&e-1)},o.nextPowerOfTwo=function(e){return--e,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,++e,e},o.clamp=function(e,r,t){return r>e?r:e>t?t:e};var a=new n;return o.setRandomNumberSeed=function(e){a=new n(e)},o.nextRandomNumber=function(){return a.random()},o}),define("Core/IndexDatatype",["./defined","./DeveloperError","./Math"],function(e,r,t){"use strict";var n={UNSIGNED_BYTE:5121,UNSIGNED_SHORT:5123,UNSIGNED_INT:5125};return n.getSizeInBytes=function(e){switch(e){case n.UNSIGNED_BYTE:return Uint8Array.BYTES_PER_ELEMENT;case n.UNSIGNED_SHORT:return Uint16Array.BYTES_PER_ELEMENT;case n.UNSIGNED_INT:return Uint32Array.BYTES_PER_ELEMENT}},n.validate=function(r){return e(r)&&(r===n.UNSIGNED_BYTE||r===n.UNSIGNED_SHORT||r===n.UNSIGNED_INT)},n.createTypedArray=function(e,r){return e>t.SIXTY_FOUR_KILOBYTES?new Uint32Array(r):new Uint16Array(r)},n}),define("Core/PrimitiveType",[],function(){"use strict";var e={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,validate:function(r){return r===e.POINTS||r===e.LINES||r===e.LINE_LOOP||r===e.LINE_STRIP||r===e.TRIANGLES||r===e.TRIANGLE_STRIP||r===e.TRIANGLE_FAN}};return e}),define("Core/Cartesian3",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,r,t,n){"use strict";var o=function(r,t,n){this.x=e(r,0),this.y=e(t,0),this.z=e(n,0)};o.fromSpherical=function(t,n){r(n)||(n=new o);var i=t.clock,a=t.cone,s=e(t.magnitude,1),u=s*Math.sin(a);return n.x=u*Math.cos(i),n.y=u*Math.sin(i),n.z=s*Math.cos(a),n},o.fromElements=function(e,t,n,i){return r(i)?(i.x=e,i.y=t,i.z=n,i):new o(e,t,n)},o.clone=function(e,t){return r(e)?r(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t):new o(e.x,e.y,e.z):void 0},o.fromCartesian4=o.clone,o.packedLength=3,o.pack=function(r,t,n){n=e(n,0),t[n++]=r.x,t[n++]=r.y,t[n]=r.z},o.unpack=function(t,n,i){return n=e(n,0),r(i)||(i=new o),i.x=t[n++],i.y=t[n++],i.z=t[n],i},o.fromArray=o.unpack,o.getMaximumComponent=function(e){return Math.max(e.x,e.y,e.z)},o.getMinimumComponent=function(e){return Math.min(e.x,e.y,e.z)},o.getMinimumByComponent=function(e,t,n){return r(n)||(n=new o),n.x=Math.min(e.x,t.x),n.y=Math.min(e.y,t.y),n.z=Math.min(e.z,t.z),n},o.getMaximumByComponent=function(e,t,n){return r(n)||(n=new o),n.x=Math.max(e.x,t.x),n.y=Math.max(e.y,t.y),n.z=Math.max(e.z,t.z),n},o.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z},o.magnitude=function(e){return Math.sqrt(o.magnitudeSquared(e))};var i=new o;o.distance=function(e,r){return o.subtract(e,r,i),o.magnitude(i)},o.normalize=function(e,t){var n=o.magnitude(e);return r(t)?(t.x=e.x/n,t.y=e.y/n,t.z=e.z/n,t):new o(e.x/n,e.y/n,e.z/n)},o.dot=function(e,r){return e.x*r.x+e.y*r.y+e.z*r.z},o.multiplyComponents=function(e,t,n){return r(n)?(n.x=e.x*t.x,n.y=e.y*t.y,n.z=e.z*t.z,n):new o(e.x*t.x,e.y*t.y,e.z*t.z)},o.add=function(e,t,n){return r(n)?(n.x=e.x+t.x,n.y=e.y+t.y,n.z=e.z+t.z,n):new o(e.x+t.x,e.y+t.y,e.z+t.z)},o.subtract=function(e,t,n){return r(n)?(n.x=e.x-t.x,n.y=e.y-t.y,n.z=e.z-t.z,n):new o(e.x-t.x,e.y-t.y,e.z-t.z)},o.multiplyByScalar=function(e,t,n){return r(n)?(n.x=e.x*t,n.y=e.y*t,n.z=e.z*t,n):new o(e.x*t,e.y*t,e.z*t)},o.divideByScalar=function(e,t,n){return r(n)?(n.x=e.x/t,n.y=e.y/t,n.z=e.z/t,n):new o(e.x/t,e.y/t,e.z/t)},o.negate=function(e,t){return r(t)?(t.x=-e.x,t.y=-e.y,t.z=-e.z,t):new o(-e.x,-e.y,-e.z)},o.abs=function(e,t){return r(t)?(t.x=Math.abs(e.x),t.y=Math.abs(e.y),t.z=Math.abs(e.z),t):new o(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z))};var a=new o;o.lerp=function(e,r,t,n){return o.multiplyByScalar(r,t,a),n=o.multiplyByScalar(e,1-t,n),o.add(a,n,n)};var s=new o,u=new o;o.angleBetween=function(e,r){o.normalize(e,s),o.normalize(r,u);var t=o.dot(s,u),n=o.magnitude(o.cross(s,u,s));return Math.atan2(n,t)};var l=new o;return o.mostOrthogonalAxis=function(e,r){var t=o.normalize(e,l);return o.abs(t,t),r=t.x<=t.y?t.x<=t.z?o.clone(o.UNIT_X,r):o.clone(o.UNIT_Z,r):t.y<=t.z?o.clone(o.UNIT_Y,r):o.clone(o.UNIT_Z,r)},o.equals=function(e,t){return e===t||r(e)&&r(t)&&e.x===t.x&&e.y===t.y&&e.z===t.z},o.equalsEpsilon=function(e,t,n){return e===t||r(e)&&r(t)&&Math.abs(e.x-t.x)<=n&&Math.abs(e.y-t.y)<=n&&Math.abs(e.z-t.z)<=n},o.cross=function(e,t,n){var i=e.x,a=e.y,s=e.z,u=t.x,l=t.y,c=t.z,f=a*c-s*l,m=s*u-i*c,y=i*l-a*u;return r(n)?(n.x=f,n.y=m,n.z=y,n):new o(f,m,y)},o.ZERO=n(new o(0,0,0)),o.UNIT_X=n(new o(1,0,0)),o.UNIT_Y=n(new o(0,1,0)),o.UNIT_Z=n(new o(0,0,1)),o.prototype.clone=function(e){return o.clone(this,e)},o.prototype.equals=function(e){return o.equals(this,e)},o.prototype.equalsEpsilon=function(e,r){return o.equalsEpsilon(this,e,r)},o.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+")"},o}),define("Core/Cartographic",["./defaultValue","./defined","./DeveloperError","./freezeObject","./Math"],function(e,r,t,n,o){"use strict";var i=function(r,t,n){this.longitude=e(r,0),this.latitude=e(t,0),this.height=e(n,0)};return i.fromDegrees=function(t,n,a,s){return t=o.toRadians(e(t,0)),n=o.toRadians(e(n,0)),a=e(a,0),r(s)?(s.longitude=t,s.latitude=n,s.height=a,s):new i(t,n,a)},i.clone=function(e,t){return r(e)?r(t)?(t.longitude=e.longitude,t.latitude=e.latitude,t.height=e.height,t):new i(e.longitude,e.latitude,e.height):void 0},i.equals=function(e,t){return e===t||r(e)&&r(t)&&e.longitude===t.longitude&&e.latitude===t.latitude&&e.height===t.height},i.equalsEpsilon=function(e,t,n){return e===t||r(e)&&r(t)&&Math.abs(e.longitude-t.longitude)<=n&&Math.abs(e.latitude-t.latitude)<=n&&Math.abs(e.height-t.height)<=n},i.toString=function(e){return"("+e.longitude+", "+e.latitude+", "+e.height+")"},i.ZERO=n(new i(0,0,0)),i.prototype.clone=function(e){return i.clone(this,e)},i.prototype.equals=function(e){return i.equals(this,e)},i.prototype.equalsEpsilon=function(e,r){return i.equalsEpsilon(this,e,r)},i.prototype.toString=function(){return i.toString(this)},i}),define("Core/defineProperties",["./defined"],function(e){"use strict";var r=function(){try{return"x"in Object.defineProperty({},"x",{})}catch(e){return!1}}(),t=Object.defineProperties;return r&&e(t)||(t=function(e){return e}),t}),define("Core/Ellipsoid",["./freezeObject","./defaultValue","./defined","./defineProperties","./DeveloperError","./Math","./Cartesian3","./Cartographic"],function(e,r,t,n,o,i,a,s){"use strict";var u=function(e,t,n){e=r(e,0),t=r(t,0),n=r(n,0),this._radii=new a(e,t,n),this._radiiSquared=new a(e*e,t*t,n*n),this._radiiToTheFourth=new a(e*e*e*e,t*t*t*t,n*n*n*n),this._oneOverRadii=new a(0===e?0:1/e,0===t?0:1/t,0===n?0:1/n),this._oneOverRadiiSquared=new a(0===e?0:1/(e*e),0===t?0:1/(t*t),0===n?0:1/(n*n)),this._minimumRadius=Math.min(e,t,n),this._maximumRadius=Math.max(e,t,n),this._centerToleranceSquared=i.EPSILON1};n(u.prototype,{radii:{get:function(){return this._radii}},radiiSquared:{get:function(){return this._radiiSquared}},radiiToTheFourth:{get:function(){return this._radiiToTheFourth}},oneOverRadii:{get:function(){return this._oneOverRadii}},oneOverRadiiSquared:{get:function(){return this._oneOverRadiiSquared}},minimumRadius:{get:function(){return this._minimumRadius}},maximumRadius:{get:function(){return this._maximumRadius}}}),u.clone=function(e,r){if(!t(e))return void 0;var n=e._radii;return t(r)?(a.clone(n,r._radii),a.clone(e._radiiSquared,r._radiiSquared),a.clone(e._radiiToTheFourth,r._radiiToTheFourth),a.clone(e._oneOverRadii,r._oneOverRadii),a.clone(e._oneOverRadiiSquared,r._oneOverRadiiSquared),r._minimumRadius=e._minimumRadius,r._maximumRadius=e._maximumRadius,r._centerToleranceSquared=e._centerToleranceSquared,r):new u(n.x,n.y,n.z)},u.fromCartesian3=function(e){return t(e)?new u(e.x,e.y,e.z):new u},u.WGS84=e(new u(6378137,6378137,6356752.314245179)),u.UNIT_SPHERE=e(new u(1,1,1)),u.MOON=e(new u(i.LUNAR_RADIUS,i.LUNAR_RADIUS,i.LUNAR_RADIUS)),u.prototype.clone=function(e){return u.clone(this,e)},u.prototype.geocentricSurfaceNormal=a.normalize,u.prototype.geodeticSurfaceNormalCartographic=function(e,r){var n=e.longitude,o=e.latitude,i=Math.cos(o),s=i*Math.cos(n),u=i*Math.sin(n),l=Math.sin(o);return t(r)||(r=new a),r.x=s,r.y=u,r.z=l,a.normalize(r,r)},u.prototype.geodeticSurfaceNormal=function(e,r){return r=a.multiplyComponents(e,this._oneOverRadiiSquared,r),a.normalize(r,r)};var l=new a,c=new a;u.prototype.cartographicToCartesian=function(e,r){var t=l,n=c;this.geodeticSurfaceNormalCartographic(e,t),a.multiplyComponents(this._radiiSquared,t,n);var o=Math.sqrt(a.dot(t,n));return a.divideByScalar(n,o,n),a.multiplyByScalar(t,e.height,t),a.add(n,t,r)},u.prototype.cartographicArrayToCartesianArray=function(e,r){var n=e.length;t(r)?r.length=n:r=new Array(n);for(var o=0;n>o;o++)r[o]=this.cartographicToCartesian(e[o],r[o]);return r};var f=new a,m=new a,y=new a;u.prototype.cartesianToCartographic=function(e,r){var n=this.scaleToGeodeticSurface(e,m);if(!t(n))return void 0;var o=this.geodeticSurfaceNormal(n,f),u=a.subtract(e,n,y),l=Math.atan2(o.y,o.x),c=Math.asin(o.z),h=i.sign(a.dot(u,e))*a.magnitude(u);return t(r)?(r.longitude=l,r.latitude=c,r.height=h,r):new s(l,c,h)},u.prototype.cartesianArrayToCartographicArray=function(e,r){var n=e.length;t(r)?r.length=n:r=new Array(n);for(var o=0;n>o;++o)r[o]=this.cartesianToCartographic(e[o],r[o]);return r};var h=new a,p=new a;return u.prototype.scaleToGeodeticSurface=function(e,r){var n=e.x,o=e.y,s=e.z,u=this._oneOverRadii,l=u.x,c=u.y,f=u.z,m=n*n*l*l,y=o*o*c*c,d=s*s*f*f,v=m+y+d,g=Math.sqrt(1/v),E=a.multiplyByScalar(e,g,h);if(vi.EPSILON12);return t(r)?(r.x=n*T,r.y=o*I,r.z=s*O,r):new a(n*T,o*I,s*O)},u.prototype.scaleToGeocentricSurface=function(e,r){var t=e.x,n=e.y,o=e.z,i=this._oneOverRadiiSquared,s=1/Math.sqrt(t*t*i.x+n*n*i.y+o*o*i.z);return a.multiplyByScalar(e,s,r)},u.prototype.transformPositionToScaledSpace=function(e,r){return a.multiplyComponents(e,this._oneOverRadii,r)},u.prototype.transformPositionFromScaledSpace=function(e,r){return a.multiplyComponents(e,this._radii,r)},u.prototype.equals=function(e){return this===e||t(e)&&a.equals(this._radii,e._radii)},u.prototype.toString=function(){return this._radii.toString()},u}),define("Core/GeographicProjection",["./defaultValue","./defined","./defineProperties","./Cartesian3","./Cartographic","./Ellipsoid"],function(e,r,t,n,o,i){"use strict";var a=function(r){this._ellipsoid=e(r,i.WGS84),this._semimajorAxis=this._ellipsoid.maximumRadius,this._oneOverSemimajorAxis=1/this._semimajorAxis};return t(a.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}}),a.prototype.project=function(e,t){var o=this._semimajorAxis,i=e.longitude*o,a=e.latitude*o,s=e.height;return r(t)?(t.x=i,t.y=a,t.z=s,t):new n(i,a,s)},a.prototype.unproject=function(e,t){var n=this._oneOverSemimajorAxis,i=e.x*n,a=e.y*n,s=e.z;return r(t)?(t.longitude=i,t.latitude=a,t.height=s,t):new o(i,a,s)},a}),define("Core/Intersect",["./Enumeration"],function(e){"use strict";var r={OUTSIDE:new e(-1,"OUTSIDE"),INTERSECTING:new e(0,"INTERSECTING"),INSIDE:new e(1,"INSIDE")};return r}),define("Core/Interval",["./defaultValue"],function(e){"use strict";var r=function(r,t){this.start=e(r,0),this.stop=e(t,0)};return r}),define("Core/Cartesian4",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,r,t,n){"use strict";var o=function(r,t,n,o){this.x=e(r,0),this.y=e(t,0),this.z=e(n,0),this.w=e(o,0)};o.fromElements=function(e,t,n,i,a){return r(a)?(a.x=e,a.y=t,a.z=n,a.w=i,a):new o(e,t,n,i)},o.clone=function(e,t){return r(e)?r(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t):new o(e.x,e.y,e.z,e.w):void 0},o.packedLength=4,o.pack=function(r,t,n){n=e(n,0),t[n++]=r.x,t[n++]=r.y,t[n++]=r.z,t[n]=r.w},o.unpack=function(t,n,i){return n=e(n,0),r(i)||(i=new o),i.x=t[n++],i.y=t[n++],i.z=t[n++],i.w=t[n],i},o.fromArray=o.unpack,o.getMaximumComponent=function(e){return Math.max(e.x,e.y,e.z,e.w)},o.getMinimumComponent=function(e){return Math.min(e.x,e.y,e.z,e.w)},o.getMinimumByComponent=function(e,t,n){return r(n)||(n=new o),n.x=Math.min(e.x,t.x),n.y=Math.min(e.y,t.y),n.z=Math.min(e.z,t.z),n.w=Math.min(e.w,t.w),n},o.getMaximumByComponent=function(e,t,n){return r(n)||(n=new o),n.x=Math.max(e.x,t.x),n.y=Math.max(e.y,t.y),n.z=Math.max(e.z,t.z),n.w=Math.max(e.w,t.w),n},o.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w},o.magnitude=function(e){return Math.sqrt(o.magnitudeSquared(e))};var i=new o;o.distance=function(e,r){return o.subtract(e,r,i),o.magnitude(i)},o.normalize=function(e,t){var n=o.magnitude(e);return r(t)?(t.x=e.x/n,t.y=e.y/n,t.z=e.z/n,t.w=e.w/n,t):new o(e.x/n,e.y/n,e.z/n,e.w/n)},o.dot=function(e,r){return e.x*r.x+e.y*r.y+e.z*r.z+e.w*r.w},o.multiplyComponents=function(e,t,n){return r(n)?(n.x=e.x*t.x,n.y=e.y*t.y,n.z=e.z*t.z,n.w=e.w*t.w,n):new o(e.x*t.x,e.y*t.y,e.z*t.z,e.w*t.w)},o.add=function(e,t,n){return r(n)?(n.x=e.x+t.x,n.y=e.y+t.y,n.z=e.z+t.z,n.w=e.w+t.w,n):new o(e.x+t.x,e.y+t.y,e.z+t.z,e.w+t.w)},o.subtract=function(e,t,n){return r(n)?(n.x=e.x-t.x,n.y=e.y-t.y,n.z=e.z-t.z,n.w=e.w-t.w,n):new o(e.x-t.x,e.y-t.y,e.z-t.z,e.w-t.w)},o.multiplyByScalar=function(e,t,n){return r(n)?(n.x=e.x*t,n.y=e.y*t,n.z=e.z*t,n.w=e.w*t,n):new o(e.x*t,e.y*t,e.z*t,e.w*t)},o.divideByScalar=function(e,t,n){return r(n)?(n.x=e.x/t,n.y=e.y/t,n.z=e.z/t,n.w=e.w/t,n):new o(e.x/t,e.y/t,e.z/t,e.w/t)},o.negate=function(e,t){return r(t)?(t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=-e.w,t):new o(-e.x,-e.y,-e.z,-e.w)},o.abs=function(e,t){return r(t)?(t.x=Math.abs(e.x),t.y=Math.abs(e.y),t.z=Math.abs(e.z),t.w=Math.abs(e.w),t):new o(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z),Math.abs(e.w))};var a=new o;o.lerp=function(e,r,t,n){return o.multiplyByScalar(r,t,a),n=o.multiplyByScalar(e,1-t,n),o.add(a,n,n)};var s=new o;return o.mostOrthogonalAxis=function(e,r){var t=o.normalize(e,s);return o.abs(t,t),r=t.x<=t.y?t.x<=t.z?t.x<=t.w?o.clone(o.UNIT_X,r):o.clone(o.UNIT_W,r):t.z<=t.w?o.clone(o.UNIT_Z,r):o.clone(o.UNIT_W,r):t.y<=t.z?t.y<=t.w?o.clone(o.UNIT_Y,r):o.clone(o.UNIT_W,r):t.z<=t.w?o.clone(o.UNIT_Z,r):o.clone(o.UNIT_W,r)},o.equals=function(e,t){return e===t||r(e)&&r(t)&&e.x===t.x&&e.y===t.y&&e.z===t.z&&e.w===t.w},o.equalsEpsilon=function(e,t,n){return e===t||r(e)&&r(t)&&Math.abs(e.x-t.x)<=n&&Math.abs(e.y-t.y)<=n&&Math.abs(e.z-t.z)<=n&&Math.abs(e.w-t.w)<=n},o.ZERO=n(new o(0,0,0,0)),o.UNIT_X=n(new o(1,0,0,0)),o.UNIT_Y=n(new o(0,1,0,0)),o.UNIT_Z=n(new o(0,0,1,0)),o.UNIT_W=n(new o(0,0,0,1)),o.prototype.clone=function(e){return o.clone(this,e)},o.prototype.equals=function(e){return o.equals(this,e)},o.prototype.equalsEpsilon=function(e,r){return o.equalsEpsilon(this,e,r)},o.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+", "+this.w+")"},o}),define("Core/Matrix3",["./Cartesian3","./defaultValue","./defined","./DeveloperError","./freezeObject","./Math"],function(e,r,t,n,o,i){"use strict";function a(e){for(var r=0,t=0;9>t;++t){var n=e[t];r+=n*n}return Math.sqrt(r)}function s(e){for(var r=0,t=0;3>t;++t){var n=e[l.getElementIndex(f[t],c[t])];r+=2*n*n}return Math.sqrt(r)}function u(e,r){for(var t=i.EPSILON15,n=0,o=1,a=0;3>a;++a){var s=Math.abs(e[l.getElementIndex(f[a],c[a])]);s>n&&(o=a,n=s)}var u=1,m=0,y=c[o],h=f[o];if(Math.abs(e[l.getElementIndex(h,y)])>t){var p,d=e[l.getElementIndex(h,h)],v=e[l.getElementIndex(y,y)],g=e[l.getElementIndex(h,y)],E=(d-v)/2/g;p=0>E?-1/(-E+Math.sqrt(1+E*E)):1/(E+Math.sqrt(1+E*E)),u=1/Math.sqrt(1+p*p),m=p*u}return r=l.clone(l.IDENTITY,r),r[l.getElementIndex(y,y)]=r[l.getElementIndex(h,h)]=u,r[l.getElementIndex(h,y)]=m,r[l.getElementIndex(y,h)]=-m,r}var l=function(e,t,n,o,i,a,s,u,l){this[0]=r(e,0),this[1]=r(o,0),this[2]=r(s,0),this[3]=r(t,0),this[4]=r(i,0),this[5]=r(u,0),this[6]=r(n,0),this[7]=r(a,0),this[8]=r(l,0)};l.clone=function(e,r){return t(e)?t(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r):new l(e[0],e[3],e[6],e[1],e[4],e[7],e[2],e[5],e[8]):void 0},l.fromArray=function(e,n,o){return n=r(n,0),t(o)||(o=new l),o[0]=e[n],o[1]=e[n+1],o[2]=e[n+2],o[3]=e[n+3],o[4]=e[n+4],o[5]=e[n+5],o[6]=e[n+6],o[7]=e[n+7],o[8]=e[n+8],o[9]=e[n+9],o},l.fromColumnMajorArray=function(e,r){return l.clone(e,r)},l.fromRowMajorArray=function(e,r){return t(r)?(r[0]=e[0],r[1]=e[3],r[2]=e[6],r[3]=e[1],r[4]=e[4],r[5]=e[7],r[6]=e[2],r[7]=e[5],r[8]=e[8],r):new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])},l.fromQuaternion=function(e,r){var n=e.x*e.x,o=e.x*e.y,i=e.x*e.z,a=e.x*e.w,s=e.y*e.y,u=e.y*e.z,c=e.y*e.w,f=e.z*e.z,m=e.z*e.w,y=e.w*e.w,h=n-s-f+y,p=2*(o-m),d=2*(i+c),v=2*(o+m),g=-n+s-f+y,E=2*(u-a),C=2*(i-c),S=2*(u+a),w=-n-s+f+y;return t(r)?(r[0]=h,r[1]=v,r[2]=C,r[3]=p,r[4]=g,r[5]=S,r[6]=d,r[7]=E,r[8]=w,r):new l(h,p,d,v,g,E,C,S,w)},l.fromScale=function(e,r){return t(r)?(r[0]=e.x,r[1]=0,r[2]=0,r[3]=0,r[4]=e.y,r[5]=0,r[6]=0,r[7]=0,r[8]=e.z,r):new l(e.x,0,0,0,e.y,0,0,0,e.z)},l.fromUniformScale=function(e,r){return t(r)?(r[0]=e,r[1]=0,r[2]=0,r[3]=0,r[4]=e,r[5]=0,r[6]=0,r[7]=0,r[8]=e,r):new l(e,0,0,0,e,0,0,0,e)},l.fromRotationX=function(e,r){var n=Math.cos(e),o=Math.sin(e);return t(r)?(r[0]=1,r[1]=0,r[2]=0,r[3]=0,r[4]=n,r[5]=o,r[6]=0,r[7]=-o,r[8]=n,r):new l(1,0,0,0,n,-o,0,o,n)},l.fromRotationY=function(e,r){var n=Math.cos(e),o=Math.sin(e);return t(r)?(r[0]=n,r[1]=0,r[2]=-o,r[3]=0,r[4]=1,r[5]=0,r[6]=o,r[7]=0,r[8]=n,r):new l(n,0,o,0,1,0,-o,0,n)},l.fromRotationZ=function(e,r){var n=Math.cos(e),o=Math.sin(e);return t(r)?(r[0]=n,r[1]=o,r[2]=0,r[3]=-o,r[4]=n,r[5]=0,r[6]=0,r[7]=0,r[8]=1,r):new l(n,-o,0,o,n,0,0,0,1)},l.toArray=function(e,r){return t(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8]]},l.getElementIndex=function(e,r){return 3*e+r},l.getColumn=function(r,n,o){var i=3*n,a=r[i],s=r[i+1],u=r[i+2];return t(o)?(o.x=a,o.y=s,o.z=u,o):new e(a,s,u)},l.setColumn=function(e,r,t,n){n=l.clone(e,n);var o=3*r;return n[o]=t.x,n[o+1]=t.y,n[o+2]=t.z,n},l.getRow=function(r,n,o){var i=r[n],a=r[n+3],s=r[n+6];return t(o)?(o.x=i,o.y=a,o.z=s,o):new e(i,a,s)},l.setRow=function(e,r,t,n){return n=l.clone(e,n),n[r]=t.x,n[r+3]=t.y,n[r+6]=t.z,n},l.multiply=function(e,r,n){var o=e[0]*r[0]+e[3]*r[1]+e[6]*r[2],i=e[1]*r[0]+e[4]*r[1]+e[7]*r[2],a=e[2]*r[0]+e[5]*r[1]+e[8]*r[2],s=e[0]*r[3]+e[3]*r[4]+e[6]*r[5],u=e[1]*r[3]+e[4]*r[4]+e[7]*r[5],c=e[2]*r[3]+e[5]*r[4]+e[8]*r[5],f=e[0]*r[6]+e[3]*r[7]+e[6]*r[8],m=e[1]*r[6]+e[4]*r[7]+e[7]*r[8],y=e[2]*r[6]+e[5]*r[7]+e[8]*r[8];return t(n)?(n[0]=o,n[1]=i,n[2]=a,n[3]=s,n[4]=u,n[5]=c,n[6]=f,n[7]=m,n[8]=y,n):new l(o,s,f,i,u,m,a,c,y)},l.multiplyByVector=function(r,n,o){var i=n.x,a=n.y,s=n.z,u=r[0]*i+r[3]*a+r[6]*s,l=r[1]*i+r[4]*a+r[7]*s,c=r[2]*i+r[5]*a+r[8]*s;return t(o)?(o.x=u,o.y=l,o.z=c,o):new e(u,l,c)},l.multiplyByScalar=function(e,r,n){return t(n)?(n[0]=e[0]*r,n[1]=e[1]*r,n[2]=e[2]*r,n[3]=e[3]*r,n[4]=e[4]*r,n[5]=e[5]*r,n[6]=e[6]*r,n[7]=e[7]*r,n[8]=e[8]*r,n):new l(e[0]*r,e[3]*r,e[6]*r,e[1]*r,e[4]*r,e[7]*r,e[2]*r,e[5]*r,e[8]*r)},l.negate=function(e,r){return t(r)?(r[0]=-e[0],r[1]=-e[1],r[2]=-e[2],r[3]=-e[3],r[4]=-e[4],r[5]=-e[5],r[6]=-e[6],r[7]=-e[7],r[8]=-e[8],r):new l(-e[0],-e[3],-e[6],-e[1],-e[4],-e[7],-e[2],-e[5],-e[8])},l.transpose=function(e,r){var n=e[0],o=e[3],i=e[6],a=e[1],s=e[4],u=e[7],c=e[2],f=e[5],m=e[8];return t(r)?(r[0]=n,r[1]=o,r[2]=i,r[3]=a,r[4]=s,r[5]=u,r[6]=c,r[7]=f,r[8]=m,r):new l(n,a,c,o,s,f,i,u,m)};var c=[1,0,0],f=[2,2,1],m=new l,y=new l;return l.getEigenDecomposition=function(e,r){var n=i.EPSILON20,o=10,c=0,f=0;t(r)||(r={});for(var h=r.unitary=l.clone(l.IDENTITY,r.unitary),p=r.diagonal=l.clone(e,r.diagonal),d=n*a(p);o>f&&s(p)>d;)u(p,m),l.transpose(m,y),l.multiply(p,m,p),l.multiply(y,p,p),l.multiply(h,m,h),++c>2&&(++f,c=0);return r},l.abs=function(e,r){return t(r)?(r[0]=Math.abs(e[0]),r[1]=Math.abs(e[1]),r[2]=Math.abs(e[2]),r[3]=Math.abs(e[3]),r[4]=Math.abs(e[4]),r[5]=Math.abs(e[5]),r[6]=Math.abs(e[6]),r[7]=Math.abs(e[7]),r[8]=Math.abs(e[8]),r):new l(Math.abs(e[0]),Math.abs(e[3]),Math.abs(e[6]),Math.abs(e[1]),Math.abs(e[4]),Math.abs(e[7]),Math.abs(e[2]),Math.abs(e[5]),Math.abs(e[8]))},l.determinant=function(e){var r=e[0],t=e[3],n=e[6],o=e[1],i=e[4],a=e[7],s=e[2],u=e[5],l=e[8];return r*(i*l-u*a)+o*(u*n-t*l)+s*(t*a-i*n)},l.inverse=function(e,r){var t=e[0],o=e[1],a=e[2],s=e[3],u=e[4],c=e[5],f=e[6],m=e[7],y=e[8],h=l.determinant(e);if(Math.abs(h)<=i.EPSILON15)throw new n("matrix is not invertible");var p=new l(u*y-m*c,f*c-s*y,s*m-f*u,m*a-o*y,t*y-f*a,f*o-t*m,o*c-u*a,s*a-t*c,t*u-s*o),d=1/h;return l.multiplyByScalar(p,d,r)},l.equals=function(e,r){return e===r||t(e)&&t(r)&&e[0]===r[0]&&e[1]===r[1]&&e[2]===r[2]&&e[3]===r[3]&&e[4]===r[4]&&e[5]===r[5]&&e[6]===r[6]&&e[7]===r[7]&&e[8]===r[8]},l.equalsEpsilon=function(e,r,n){return e===r||t(e)&&t(r)&&Math.abs(e[0]-r[0])<=n&&Math.abs(e[1]-r[1])<=n&&Math.abs(e[2]-r[2])<=n&&Math.abs(e[3]-r[3])<=n&&Math.abs(e[4]-r[4])<=n&&Math.abs(e[5]-r[5])<=n&&Math.abs(e[6]-r[6])<=n&&Math.abs(e[7]-r[7])<=n&&Math.abs(e[8]-r[8])<=n},l.IDENTITY=o(new l(1,0,0,0,1,0,0,0,1)),l.COLUMN0ROW0=0,l.COLUMN0ROW1=1,l.COLUMN0ROW2=2,l.COLUMN1ROW0=3,l.COLUMN1ROW1=4,l.COLUMN1ROW2=5,l.COLUMN2ROW0=6,l.COLUMN2ROW1=7,l.COLUMN2ROW2=8,l.prototype.clone=function(e){return l.clone(this,e)},l.prototype.equals=function(e){return l.equals(this,e)},l.prototype.equalsEpsilon=function(e,r){return l.equalsEpsilon(this,e,r)},l.prototype.toString=function(){return"("+this[0]+", "+this[3]+", "+this[6]+")\n"+"("+this[1]+", "+this[4]+", "+this[7]+")\n"+"("+this[2]+", "+this[5]+", "+this[8]+")"},l}),define("Core/RuntimeError",["./defined"],function(e){"use strict";var r=function(e){this.name="RuntimeError",this.message=e;var r;try{throw new Error}catch(t){r=t.stack}this.stack=r};return r.prototype.toString=function(){var r=this.name+": "+this.message;return e(this.stack)&&(r+="\n"+this.stack.toString()),r},r}),define("Core/Matrix4",["./Cartesian3","./Cartesian4","./defaultValue","./defined","./DeveloperError","./freezeObject","./Math","./Matrix3","./RuntimeError"],function(e,r,t,n,o,i,a,s,u){"use strict";var l=function(e,r,n,o,i,a,s,u,l,c,f,m,y,h,p,d){this[0]=t(e,0),this[1]=t(i,0),this[2]=t(l,0),this[3]=t(y,0),this[4]=t(r,0),this[5]=t(a,0),this[6]=t(c,0),this[7]=t(h,0),this[8]=t(n,0),this[9]=t(s,0),this[10]=t(f,0),this[11]=t(p,0),this[12]=t(o,0),this[13]=t(u,0),this[14]=t(m,0),this[15]=t(d,0) +};l.clone=function(e,r){return n(e)?n(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r[9]=e[9],r[10]=e[10],r[11]=e[11],r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15],r):new l(e[0],e[4],e[8],e[12],e[1],e[5],e[9],e[13],e[2],e[6],e[10],e[14],e[3],e[7],e[11],e[15]):void 0},l.fromArray=function(e,r,o){return r=t(r,0),n(o)||(o=new l),o[0]=e[r],o[1]=e[r+1],o[2]=e[r+2],o[3]=e[r+3],o[4]=e[r+4],o[5]=e[r+5],o[6]=e[r+6],o[7]=e[r+7],o[8]=e[r+8],o[9]=e[r+9],o[10]=e[r+10],o[11]=e[r+11],o[12]=e[r+12],o[13]=e[r+13],o[14]=e[r+14],o[15]=e[r+15],o},l.fromColumnMajorArray=function(e,r){return l.clone(e,r)},l.fromRowMajorArray=function(e,r){return n(r)?(r[0]=e[0],r[1]=e[4],r[2]=e[8],r[3]=e[12],r[4]=e[1],r[5]=e[5],r[6]=e[9],r[7]=e[13],r[8]=e[2],r[9]=e[6],r[10]=e[10],r[11]=e[14],r[12]=e[3],r[13]=e[7],r[14]=e[11],r[15]=e[15],r):new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])},l.fromRotationTranslation=function(e,r,t){return n(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=0,t[4]=e[3],t[5]=e[4],t[6]=e[5],t[7]=0,t[8]=e[6],t[9]=e[7],t[10]=e[8],t[11]=0,t[12]=r.x,t[13]=r.y,t[14]=r.z,t[15]=1,t):new l(e[0],e[3],e[6],r.x,e[1],e[4],e[7],r.y,e[2],e[5],e[8],r.z,0,0,0,1)},new s,l.fromTranslationQuaternionRotationScale=function(e,r,t,o){n(o)||(o=new l);var i=t.x,a=t.y,s=t.z,u=r.x*r.x,c=r.x*r.y,f=r.x*r.z,m=r.x*r.w,y=r.y*r.y,h=r.y*r.z,p=r.y*r.w,d=r.z*r.z,v=r.z*r.w,g=r.w*r.w,E=u-y-d+g,C=2*(c-v),S=2*(f+p),w=2*(c+v),x=-u+y-d+g,A=2*(h-m),M=2*(f-p),b=2*(h+m),T=-u-y+d+g;return o[0]=E*i,o[1]=w*i,o[2]=M*i,o[3]=0,o[4]=C*a,o[5]=x*a,o[6]=b*a,o[7]=0,o[8]=S*s,o[9]=A*s,o[10]=T*s,o[11]=0,o[12]=e.x,o[13]=e.y,o[14]=e.z,o[15]=1,o},l.fromTranslation=function(e,r){return l.fromRotationTranslation(s.IDENTITY,e,r)},l.fromScale=function(e,r){return n(r)?(r[0]=e.x,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=e.y,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=e.z,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r):new l(e.x,0,0,0,0,e.y,0,0,0,0,e.z,0,0,0,0,1)},l.fromUniformScale=function(e,r){return n(r)?(r[0]=e,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=e,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=e,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r):new l(e,0,0,0,0,e,0,0,0,0,e,0,0,0,0,1)};var c=new e,f=new e,m=new e;l.fromCamera=function(r,t){var o=r.eye,i=r.target,a=r.up;e.normalize(e.subtract(i,o,c),c),e.normalize(e.cross(c,a,f),f),e.normalize(e.cross(f,c,m),m);var s=f.x,u=f.y,y=f.z,h=c.x,p=c.y,d=c.z,v=m.x,g=m.y,E=m.z,C=o.x,S=o.y,w=o.z,x=s*-C+u*-S+y*-w,A=v*-C+g*-S+E*-w,M=h*C+p*S+d*w;return n(t)?(t[0]=s,t[1]=v,t[2]=-h,t[3]=0,t[4]=u,t[5]=g,t[6]=-p,t[7]=0,t[8]=y,t[9]=E,t[10]=-d,t[11]=0,t[12]=x,t[13]=A,t[14]=M,t[15]=1,t):new l(s,u,y,x,v,g,E,A,-h,-p,-d,M,0,0,0,1)},l.computePerspectiveFieldOfView=function(e,r,t,o,i){var a=Math.tan(.5*e),s=1/a,u=s/r,c=(o+t)/(t-o),f=2*o*t/(t-o);return n(i)?(i[0]=u,i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=s,i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=c,i[11]=-1,i[12]=0,i[13]=0,i[14]=f,i[15]=0,i):new l(u,0,0,0,0,s,0,0,0,0,c,f,0,0,-1,0)},l.computeOrthographicOffCenter=function(e,r,t,o,i,a,s){var u=1/(r-e),c=1/(o-t),f=1/(a-i),m=-(r+e)*u,y=-(o+t)*c,h=-(a+i)*f;return u*=2,c*=2,f*=-2,n(s)?(s[0]=u,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=c,s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=f,s[11]=0,s[12]=m,s[13]=y,s[14]=h,s[15]=1,s):new l(u,0,0,m,0,c,0,y,0,0,f,h,0,0,0,1)},l.computePerspectiveOffCenter=function(e,r,t,o,i,a,s){var u=2*i/(r-e),c=2*i/(o-t),f=(r+e)/(r-e),m=(o+t)/(o-t),y=-(a+i)/(a-i),h=-1,p=-2*a*i/(a-i);return n(s)?(s[0]=u,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=c,s[6]=0,s[7]=0,s[8]=f,s[9]=m,s[10]=y,s[11]=h,s[12]=0,s[13]=0,s[14]=p,s[15]=0,s):new l(u,0,f,0,0,c,m,0,0,0,y,p,0,0,h,0)},l.computeInfinitePerspectiveOffCenter=function(e,r,t,o,i,a){var s=2*i/(r-e),u=2*i/(o-t),c=(r+e)/(r-e),f=(o+t)/(o-t),m=-1,y=-1,h=-2*i;return n(a)?(a[0]=s,a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=u,a[6]=0,a[7]=0,a[8]=c,a[9]=f,a[10]=m,a[11]=y,a[12]=0,a[13]=0,a[14]=h,a[15]=0,a):new l(s,0,c,0,0,u,f,0,0,0,m,h,0,0,y,0)},l.computeViewportTransformation=function(e,r,o,i){e=t(e,t.EMPTY_OBJECT);var a=t(e.x,0),s=t(e.y,0),u=t(e.width,0),c=t(e.height,0);r=t(r,0),o=t(o,1);var f=.5*u,m=.5*c,y=.5*(o-r),h=f,p=m,d=y,v=a+f,g=s+m,E=r+y,C=1;return n(i)?(i[0]=h,i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=p,i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=d,i[11]=0,i[12]=v,i[13]=g,i[14]=E,i[15]=C,i):new l(h,0,0,v,0,p,0,g,0,0,d,E,0,0,0,C)},l.toArray=function(e,r){return n(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r[9]=e[9],r[10]=e[10],r[11]=e[11],r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15],r):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]]},l.getElementIndex=function(e,r){return 4*e+r},l.getColumn=function(e,t,o){var i=4*t,a=e[i],s=e[i+1],u=e[i+2],l=e[i+3];return n(o)?(o.x=a,o.y=s,o.z=u,o.w=l,o):new r(a,s,u,l)},l.setColumn=function(e,r,t,n){n=l.clone(e,n);var o=4*r;return n[o]=t.x,n[o+1]=t.y,n[o+2]=t.z,n[o+3]=t.w,n},l.getRow=function(e,t,o){var i=e[t],a=e[t+4],s=e[t+8],u=e[t+12];return n(o)?(o.x=i,o.y=a,o.z=s,o.w=u,o):new r(i,a,s,u)},l.setRow=function(e,r,t,n){return n=l.clone(e,n),n[r]=t.x,n[r+4]=t.y,n[r+8]=t.z,n[r+12]=t.w,n},l.multiply=function(e,r,t){var o=e[0],i=e[1],a=e[2],s=e[3],u=e[4],c=e[5],f=e[6],m=e[7],y=e[8],h=e[9],p=e[10],d=e[11],v=e[12],g=e[13],E=e[14],C=e[15],S=r[0],w=r[1],x=r[2],A=r[3],M=r[4],b=r[5],T=r[6],I=r[7],O=r[8],N=r[9],R=r[10],z=r[11],L=r[12],F=r[13],D=r[14],P=r[15],B=o*S+u*w+y*x+v*A,_=i*S+c*w+h*x+g*A,U=a*S+f*w+p*x+E*A,G=s*S+m*w+d*x+C*A,q=o*M+u*b+y*T+v*I,Y=i*M+c*b+h*T+g*I,W=a*M+f*b+p*T+E*I,V=s*M+m*b+d*T+C*I,H=o*O+u*N+y*R+v*z,k=i*O+c*N+h*R+g*z,K=a*O+f*N+p*R+E*z,j=s*O+m*N+d*R+C*z,Z=o*L+u*F+y*D+v*P,Q=i*L+c*F+h*D+g*P,X=a*L+f*F+p*D+E*P,J=s*L+m*F+d*D+C*P;return n(t)?(t[0]=B,t[1]=_,t[2]=U,t[3]=G,t[4]=q,t[5]=Y,t[6]=W,t[7]=V,t[8]=H,t[9]=k,t[10]=K,t[11]=j,t[12]=Z,t[13]=Q,t[14]=X,t[15]=J,t):new l(B,q,H,Z,_,Y,k,Q,U,W,K,X,G,V,j,J)},l.multiplyTransformation=function(e,r,t){var o=e[0],i=e[1],a=e[2],s=e[4],u=e[5],c=e[6],f=e[8],m=e[9],y=e[10],h=e[12],p=e[13],d=e[14],v=r[0],g=r[1],E=r[2],C=r[4],S=r[5],w=r[6],x=r[8],A=r[9],M=r[10],b=r[12],T=r[13],I=r[14],O=o*v+s*g+f*E,N=i*v+u*g+m*E,R=a*v+c*g+y*E,z=o*C+s*S+f*w,L=i*C+u*S+m*w,F=a*C+c*S+y*w,D=o*x+s*A+f*M,P=i*x+u*A+m*M,B=a*x+c*A+y*M,_=o*b+s*T+f*I+h,U=i*b+u*T+m*I+p,G=a*b+c*T+y*I+d;return n(t)?(t[0]=O,t[1]=N,t[2]=R,t[3]=0,t[4]=z,t[5]=L,t[6]=F,t[7]=0,t[8]=D,t[9]=P,t[10]=B,t[11]=0,t[12]=_,t[13]=U,t[14]=G,t[15]=1,t):new l(O,z,D,_,N,L,P,U,R,F,B,G,0,0,0,1)},l.multiplyByTranslation=function(e,r,t){var o=r.x,i=r.y,a=r.z,s=o*e[0]+i*e[4]+a*e[8]+e[12],u=o*e[1]+i*e[5]+a*e[9]+e[13],c=o*e[2]+i*e[6]+a*e[10]+e[14];return n(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=s,t[13]=u,t[14]=c,t[15]=e[15],t):new l(e[0],e[4],e[8],s,e[1],e[5],e[9],u,e[2],e[6],e[10],c,e[3],e[7],e[11],e[15])};var y=new e;return l.multiplyByUniformScale=function(e,r,t){return y.x=r,y.y=r,y.z=r,l.multiplyByScale(e,y,t)},l.multiplyByScale=function(e,r,t){var o=r.x,i=r.y,a=r.z;return 1===o&&1===i&&1===a?l.clone(e,t):n(t)?(t[0]=o*e[0],t[1]=o*e[1],t[2]=o*e[2],t[3]=0,t[4]=i*e[4],t[5]=i*e[5],t[6]=i*e[6],t[7]=0,t[8]=a*e[8],t[9]=a*e[9],t[10]=a*e[10],t[11]=0,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=1,t):new l(o*e[0],i*e[4],a*e[8],e[12],o*e[1],i*e[5],a*e[9],e[13],o*e[2],i*e[6],a*e[10],e[14],0,0,0,1)},l.multiplyByVector=function(e,t,o){var i=t.x,a=t.y,s=t.z,u=t.w,l=e[0]*i+e[4]*a+e[8]*s+e[12]*u,c=e[1]*i+e[5]*a+e[9]*s+e[13]*u,f=e[2]*i+e[6]*a+e[10]*s+e[14]*u,m=e[3]*i+e[7]*a+e[11]*s+e[15]*u;return n(o)?(o.x=l,o.y=c,o.z=f,o.w=m,o):new r(l,c,f,m)},l.multiplyByPointAsVector=function(r,t,o){var i=t.x,a=t.y,s=t.z,u=r[0]*i+r[4]*a+r[8]*s,l=r[1]*i+r[5]*a+r[9]*s,c=r[2]*i+r[6]*a+r[10]*s;return n(o)?(o.x=u,o.y=l,o.z=c,o):new e(u,l,c)},l.multiplyByPoint=function(r,t,o){var i=t.x,a=t.y,s=t.z,u=r[0]*i+r[4]*a+r[8]*s+r[12],l=r[1]*i+r[5]*a+r[9]*s+r[13],c=r[2]*i+r[6]*a+r[10]*s+r[14];return n(o)?(o.x=u,o.y=l,o.z=c,o):new e(u,l,c)},l.multiplyByScalar=function(e,r,t){return n(t)?(t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*r,t[9]=e[9]*r,t[10]=e[10]*r,t[11]=e[11]*r,t[12]=e[12]*r,t[13]=e[13]*r,t[14]=e[14]*r,t[15]=e[15]*r,t):new l(e[0]*r,e[4]*r,e[8]*r,e[12]*r,e[1]*r,e[5]*r,e[9]*r,e[13]*r,e[2]*r,e[6]*r,e[10]*r,e[14]*r,e[3]*r,e[7]*r,e[11]*r,e[15]*r)},l.negate=function(e,r){return n(r)?(r[0]=-e[0],r[1]=-e[1],r[2]=-e[2],r[3]=-e[3],r[4]=-e[4],r[5]=-e[5],r[6]=-e[6],r[7]=-e[7],r[8]=-e[8],r[9]=-e[9],r[10]=-e[10],r[11]=-e[11],r[12]=-e[12],r[13]=-e[13],r[14]=-e[14],r[15]=-e[15],r):new l(-e[0],-e[4],-e[8],-e[12],-e[1],-e[5],-e[9],-e[13],-e[2],-e[6],-e[10],-e[14],-e[3],-e[7],-e[11],-e[15])},l.transpose=function(e,r){if(!n(r))return new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]);var t=e[1],o=e[2],i=e[3],a=e[6],s=e[7],u=e[11];return r[0]=e[0],r[1]=e[4],r[2]=e[8],r[3]=e[12],r[4]=t,r[5]=e[5],r[6]=e[9],r[7]=e[13],r[8]=o,r[9]=a,r[10]=e[10],r[11]=e[14],r[12]=i,r[13]=s,r[14]=u,r[15]=e[15],r},l.abs=function(e,r){return n(r)?(r[0]=Math.abs(e[0]),r[1]=Math.abs(e[1]),r[2]=Math.abs(e[2]),r[3]=Math.abs(e[3]),r[4]=Math.abs(e[4]),r[5]=Math.abs(e[5]),r[6]=Math.abs(e[6]),r[7]=Math.abs(e[7]),r[8]=Math.abs(e[8]),r[9]=Math.abs(e[9]),r[10]=Math.abs(e[10]),r[11]=Math.abs(e[11]),r[12]=Math.abs(e[12]),r[13]=Math.abs(e[13]),r[14]=Math.abs(e[14]),r[15]=Math.abs(e[15]),r):new l(Math.abs(e[0]),Math.abs(e[4]),Math.abs(e[8]),Math.abs(e[12]),Math.abs(e[1]),Math.abs(e[5]),Math.abs(e[9]),Math.abs(e[13]),Math.abs(e[2]),Math.abs(e[6]),Math.abs(e[10]),Math.abs(e[14]),Math.abs(e[3]),Math.abs(e[7]),Math.abs(e[11]),Math.abs(e[15]))},l.equals=function(e,r){return e===r||n(e)&&n(r)&&e[0]===r[0]&&e[1]===r[1]&&e[2]===r[2]&&e[3]===r[3]&&e[4]===r[4]&&e[5]===r[5]&&e[6]===r[6]&&e[7]===r[7]&&e[8]===r[8]&&e[9]===r[9]&&e[10]===r[10]&&e[11]===r[11]&&e[12]===r[12]&&e[13]===r[13]&&e[14]===r[14]&&e[15]===r[15]},l.equalsEpsilon=function(e,r,t){return e===r||n(e)&&n(r)&&Math.abs(e[0]-r[0])<=t&&Math.abs(e[1]-r[1])<=t&&Math.abs(e[2]-r[2])<=t&&Math.abs(e[3]-r[3])<=t&&Math.abs(e[4]-r[4])<=t&&Math.abs(e[5]-r[5])<=t&&Math.abs(e[6]-r[6])<=t&&Math.abs(e[7]-r[7])<=t&&Math.abs(e[8]-r[8])<=t&&Math.abs(e[9]-r[9])<=t&&Math.abs(e[10]-r[10])<=t&&Math.abs(e[11]-r[11])<=t&&Math.abs(e[12]-r[12])<=t&&Math.abs(e[13]-r[13])<=t&&Math.abs(e[14]-r[14])<=t&&Math.abs(e[15]-r[15])<=t},l.getTranslation=function(r,t){return n(t)?(t.x=r[12],t.y=r[13],t.z=r[14],t):new e(r[12],r[13],r[14])},l.getRotation=function(e,r){return n(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[4],r[4]=e[5],r[5]=e[6],r[6]=e[8],r[7]=e[9],r[8]=e[10],r):new s(e[0],e[4],e[8],e[1],e[5],e[9],e[2],e[6],e[10])},l.inverse=function(e,r){var t=e[0],o=e[4],i=e[8],s=e[12],c=e[1],f=e[5],m=e[9],y=e[13],h=e[2],p=e[6],d=e[10],v=e[14],g=e[3],E=e[7],C=e[11],S=e[15],w=d*S,x=v*C,A=p*S,M=v*E,b=p*C,T=d*E,I=h*S,O=v*g,N=h*C,R=d*g,z=h*E,L=p*g,F=w*f+M*m+b*y-(x*f+A*m+T*y),D=x*c+I*m+R*y-(w*c+O*m+N*y),P=A*c+O*f+z*y-(M*c+I*f+L*y),B=T*c+N*f+L*m-(b*c+R*f+z*m),_=x*o+A*i+T*s-(w*o+M*i+b*s),U=w*t+O*i+N*s-(x*t+I*i+R*s),G=M*t+I*o+L*s-(A*t+O*o+z*s),q=b*t+R*o+z*i-(T*t+N*o+L*i);w=i*y,x=s*m,A=o*y,M=s*f,b=o*m,T=i*f,I=t*y,O=s*c,N=t*m,R=i*c,z=t*f,L=o*c;var Y=w*E+M*C+b*S-(x*E+A*C+T*S),W=x*g+I*C+R*S-(w*g+O*C+N*S),V=A*g+O*E+z*S-(M*g+I*E+L*S),H=T*g+N*E+L*C-(b*g+R*E+z*C),k=A*d+T*v+x*p-(b*v+w*p+M*d),K=N*v+w*h+O*d-(I*d+R*v+x*h),j=I*p+L*v+M*h-(z*v+A*h+O*p),Z=z*d+b*h+R*p-(N*p+L*d+T*h),Q=t*F+o*D+i*P+s*B;if(Math.abs(Q)M;M++){e.clone(r[M],o);var b=o.x,T=o.y,I=o.z;bu.x&&e.clone(o,u),Tl.y&&e.clone(o,l),Ix.z&&e.clone(o,x)}var O=e.magnitudeSquared(e.subtract(u,i,g)),N=e.magnitudeSquared(e.subtract(l,a,g)),R=e.magnitudeSquared(e.subtract(x,s,g)),z=i,L=u,F=O;N>F&&(F=N,z=a,L=l),R>F&&(F=R,z=s,L=x);var D=E;D.x=.5*(z.x+L.x),D.y=.5*(z.y+L.y),D.z=.5*(z.z+L.z);var P=e.magnitudeSquared(e.subtract(L,D,g)),B=Math.sqrt(P),_=C;_.x=i.x,_.y=a.y,_.z=s.z;var U=S;U.x=u.x,U.y=l.y,U.z=x.z;var G=e.multiplyByScalar(e.add(_,U,g),.5,w),q=0;for(M=0;A>M;M++){e.clone(r[M],o);var Y=e.magnitude(e.subtract(o,G,g));Y>q&&(q=Y);var W=e.magnitudeSquared(e.subtract(o,D,g));if(W>P){var V=Math.sqrt(W);B=.5*(B+V),P=B*B;var H=V-B;D.x=(B*D.x+H*o.x)/V,D.y=(B*D.y+H*o.y)/V,D.z=(B*D.z+H*o.z)/V}}return q>B?(e.clone(D,t.center),t.radius=B):(e.clone(G,t.center),t.radius=q),t};var x=new a,A=new e,M=new e,b=new r,T=new r;c.fromExtent2D=function(e,r,t){return c.fromExtentWithHeights2D(e,r,0,0,t)},c.fromExtentWithHeights2D=function(r,o,i,a,s){if(n(s)||(s=new c),!n(r))return s.center=e.clone(e.ZERO,s.center),s.radius=0,s;o=t(o,x),r.getSouthwest(b),b.height=i,r.getNortheast(T),T.height=a;var u=o.project(b,A),l=o.project(T,M),f=l.x-u.x,m=l.y-u.y,y=l.z-u.z;s.radius=.5*Math.sqrt(f*f+m*m+y*y);var h=s.center;return h.x=u.x+.5*f,h.y=u.y+.5*m,h.z=u.z+.5*y,s};var I=[];c.fromExtent3D=function(e,r,o,a){r=t(r,i.WGS84),o=t(o,0);var s;return n(e)&&(s=e.subsample(r,o,I)),c.fromPoints(s,a)},c.fromVertices=function(r,o,i,a){if(n(a)||(a=new c),!n(r)||0===r.length)return a.center=e.clone(e.ZERO,a.center),a.radius=0,a;o=t(o,e.ZERO),i=t(i,3);var s=v;s.x=r[0]+o.x,s.y=r[1]+o.y,s.z=r[2]+o.z;for(var u=e.clone(s,f),l=e.clone(s,m),x=e.clone(s,y),A=e.clone(s,h),M=e.clone(s,p),b=e.clone(s,d),T=r.length,I=0;T>I;I+=i){var O=r[I]+o.x,N=r[I+1]+o.y,R=r[I+2]+o.z;s.x=O,s.y=N,s.z=R,OA.x&&e.clone(s,A),NM.y&&e.clone(s,M),Rb.z&&e.clone(s,b)}var z=e.magnitudeSquared(e.subtract(A,u,g)),L=e.magnitudeSquared(e.subtract(M,l,g)),F=e.magnitudeSquared(e.subtract(b,x,g)),D=u,P=A,B=z;L>B&&(B=L,D=l,P=M),F>B&&(B=F,D=x,P=b);var _=E;_.x=.5*(D.x+P.x),_.y=.5*(D.y+P.y),_.z=.5*(D.z+P.z);var U=e.magnitudeSquared(e.subtract(P,_,g)),G=Math.sqrt(U),q=C;q.x=u.x,q.y=l.y,q.z=x.z;var Y=S;Y.x=A.x,Y.y=M.y,Y.z=b.z;var W=e.multiplyByScalar(e.add(q,Y,g),.5,w),V=0;for(I=0;T>I;I+=i){s.x=r[I]+o.x,s.y=r[I+1]+o.y,s.z=r[I+2]+o.z;var H=e.magnitude(e.subtract(s,W,g));H>V&&(V=H);var k=e.magnitudeSquared(e.subtract(s,_,g));if(k>U){var K=Math.sqrt(k);G=.5*(G+K),U=G*G;var j=K-G;_.x=(G*_.x+j*s.x)/K,_.y=(G*_.y+j*s.y)/K,_.z=(G*_.z+j*s.z)/K}}return V>G?(e.clone(_,a.center),a.radius=G):(e.clone(W,a.center),a.radius=V),a},c.fromCornerPoints=function(r,t,o){n(o)||(o=new c);var i=o.center;return e.add(r,t,i),e.multiplyByScalar(i,.5,i),o.radius=e.distance(i,t),o},c.fromEllipsoid=function(r,t){return n(t)||(t=new c),e.clone(e.ZERO,t.center),t.radius=r.maximumRadius,t},c.clone=function(r,t){return n(r)?n(t)?(t.center=e.clone(r.center,t.center),t.radius=r.radius,t):new c(r.center,r.radius):void 0};var O=new e,N=new e;c.union=function(r,t,o){n(o)||(o=new c);var i=r.center,a=t.center;e.add(i,a,N);var s=e.multiplyByScalar(N,.5,N),u=e.magnitude(e.subtract(i,s,O))+r.radius,l=e.magnitude(e.subtract(a,s,O))+t.radius;return o.radius=Math.max(u,l),e.clone(s,o.center),o};var R=new e;c.expand=function(r,t,n){n=c.clone(r,n);var o=e.magnitude(e.subtract(t,n.center,R));return o>n.radius&&(n.radius=o),n},c.intersect=function(r,t){var n=r.center,o=r.radius,i=e.dot(t,n)+t.w;return-o>i?s.OUTSIDE:o>i?s.INTERSECTING:s.INSIDE};var z=new e;c.transform=function(r,t,o){return n(o)||(o=new c),o.center=l.multiplyByPoint(t,r.center,o.center),o.radius=Math.max(e.magnitude(l.getColumn(t,0,z)),e.magnitude(l.getColumn(t,1,z)),e.magnitude(l.getColumn(t,2,z)))*r.radius,o},c.transformWithoutScale=function(e,r,t){return n(t)||(t=new c),t.center=l.multiplyByPoint(r,e.center,t.center),t.radius=e.radius,t};var L=new e;c.getPlaneDistances=function(r,t,o,i){n(i)||(i=new u);var a=e.subtract(r.center,t,L),s=e.multiplyByScalar(o,e.dot(o,a),L),l=e.magnitude(s);return i.start=l-r.radius,i.stop=l+r.radius,i};for(var F=new e,D=new e,P=new e,B=new e,_=new e,U=new r,G=new Array(8),q=0;8>q;++q)G[q]=new e;var Y=new a;return c.projectTo2D=function(r,n,o){n=t(n,Y);var i=n.ellipsoid,a=r.center,s=r.radius,u=i.geodeticSurfaceNormal(a,F),l=e.cross(e.UNIT_Z,u,D);e.normalize(l,l);var f=e.cross(u,l,P);e.normalize(f,f),e.multiplyByScalar(u,s,u),e.multiplyByScalar(f,s,f),e.multiplyByScalar(l,s,l);var m=e.negate(f,_),y=e.negate(l,B),h=G,p=h[0];e.add(u,f,p),e.add(p,l,p),p=h[1],e.add(u,f,p),e.add(p,y,p),p=h[2],e.add(u,m,p),e.add(p,y,p),p=h[3],e.add(u,m,p),e.add(p,l,p),e.negate(u,u),p=h[4],e.add(u,f,p),e.add(p,l,p),p=h[5],e.add(u,f,p),e.add(p,y,p),p=h[6],e.add(u,m,p),e.add(p,y,p),p=h[7],e.add(u,m,p),e.add(p,l,p);for(var d=h.length,v=0;d>v;++v){var g=h[v];e.add(a,g,g);var E=i.cartesianToCartographic(g,U);n.project(E,g)}o=c.fromPoints(h,o),a=o.center;var C=a.x,S=a.y,w=a.z;return a.x=w,a.y=C,a.z=S,o},c.equals=function(r,t){return r===t||n(r)&&n(t)&&e.equals(r.center,t.center)&&r.radius===t.radius},c.prototype.clone=function(e){return c.clone(this,e)},c.prototype.union=function(e,r){return c.union(this,e,r)},c.prototype.expand=function(e,r){return c.expand(this,e,r)},c.prototype.intersect=function(e){return c.intersect(this,e)},c.prototype.getPlaneDistances=function(e,r,t){return c.getPlaneDistances(this,e,r,t)},c.prototype.projectTo2D=function(e,r){return c.projectTo2D(this,e,r)},c.prototype.equals=function(e){return c.equals(this,e)},c}),define("Core/Geometry",["./defaultValue","./defined","./DeveloperError"],function(e,r,t){"use strict";var n=function(r){r=e(r,e.EMPTY_OBJECT),this.attributes=r.attributes,this.indices=r.indices,this.primitiveType=r.primitiveType,this.boundingSphere=r.boundingSphere};return n.computeNumberOfVertices=function(e){var n=-1;for(var o in e.attributes)if(e.attributes.hasOwnProperty(o)&&r(e.attributes[o])&&r(e.attributes[o].values)){var i=e.attributes[o],a=i.values.length/i.componentsPerAttribute;if(n!==a&&-1!==n)throw new t("All attribute lists must have the same number of attributes.");n=a}return n},n}),define("Core/GeometryAttribute",["./defaultValue","./defined","./DeveloperError"],function(e){"use strict";var r=function(r){r=e(r,e.EMPTY_OBJECT),this.componentDatatype=r.componentDatatype,this.componentsPerAttribute=r.componentsPerAttribute,this.normalize=e(r.normalize,!1),this.values=r.values};return r}),define("Core/GeometryAttributes",["./defaultValue"],function(e){"use strict";var r=function(r){r=e(r,e.EMPTY_OBJECT),this.position=r.position,this.normal=r.normal,this.st=r.st,this.binormal=r.binormal,this.tangent=r.tangent,this.color=r.color};return r}),define("Core/Color",["./defaultValue","./defined","./freezeObject","./DeveloperError","./FeatureDetection","./Math"],function(e,r,t,n,o,i){"use strict";function a(e,r,t){return 0>t&&(t+=1),t>1&&(t-=1),1>6*t?e+6*(r-e)*t:1>2*t?r:2>3*t?e+6*(r-e)*(2/3-t):e}var s=function(r,t,n,o){this.red=e(r,1),this.green=e(t,1),this.blue=e(n,1),this.alpha=e(o,1)};s.fromBytes=function(r,t,n,o){return r=s.byteToFloat(e(r,255)),t=s.byteToFloat(e(t,255)),n=s.byteToFloat(e(n,255)),o=s.byteToFloat(e(o,255)),new s(r,t,n,o)};var u,l,c;o.supportsTypedArrays()&&(u=new ArrayBuffer(4),l=new Uint32Array(u),c=new Uint8Array(u)),s.fromRgba=function(e){return l[0]=e,s.fromBytes(c[0],c[1],c[2],c[3])},s.fromHsl=function(r,t,n,o){r=e(r,0)%1,t=e(t,0),n=e(n,0),o=e(o,1);var i=n,u=n,l=n;if(0!==t){var c;c=.5>n?n*(1+t):n+t-n*t;var f=2*n-c;i=a(f,c,r+1/3),u=a(f,c,r),l=a(f,c,r-1/3)}return new s(i,u,l,o)},s.fromRandom=function(t,n){t=e(t,e.EMPTY_OBJECT);var o=t.red;if(!r(o)){var a=e(t.minimumRed,0),u=e(t.maximumRed,1);o=a+i.nextRandomNumber()*(u-a)}var l=t.green;if(!r(l)){var c=e(t.minimumGreen,0),f=e(t.maximumGreen,1);l=c+i.nextRandomNumber()*(f-c)}var m=t.blue;if(!r(m)){var y=e(t.minimumBlue,0),h=e(t.maximumBlue,1);m=y+i.nextRandomNumber()*(h-y)}var p=t.alpha;if(!r(p)){var d=e(t.minimumAlpha,0),v=e(t.maximumAlpha,1);p=d+i.nextRandomNumber()*(v-d)}return r(n)?(n.red=o,n.green=l,n.blue=m,n.alpha=p,n):new s(o,l,m,p)};var f=/^#([0-9a-f])([0-9a-f])([0-9a-f])$/i,m=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i,y=/^rgba?\(\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)(?:\s*,\s*([0-9.]+))?\s*\)$/i,h=/^hsla?\(\s*([0-9.]+)\s*,\s*([0-9.]+%)\s*,\s*([0-9.]+%)(?:\s*,\s*([0-9.]+))?\s*\)$/i;return s.fromCssColorString=function(t){var n=s[t.toUpperCase()];if(r(n))return s.clone(n);var o=f.exec(t);return null!==o?new s(parseInt(o[1],16)/15,parseInt(o[2],16)/15,parseInt(o[3],16)/15):(o=m.exec(t),null!==o?new s(parseInt(o[1],16)/255,parseInt(o[2],16)/255,parseInt(o[3],16)/255):(o=y.exec(t),null!==o?new s(parseFloat(o[1])/("%"===o[1].substr(-1)?100:255),parseFloat(o[2])/("%"===o[2].substr(-1)?100:255),parseFloat(o[3])/("%"===o[3].substr(-1)?100:255),parseFloat(e(o[4],"1.0"))):(o=h.exec(t),null!==o?s.fromHsl(parseFloat(o[1])/360,parseFloat(o[2])/100,parseFloat(o[3])/100,parseFloat(e(o[4],"1.0"))):void 0)))},s.packedLength=4,s.pack=function(r,t,n){n=e(n,0),t[n++]=r.red,t[n++]=r.green,t[n++]=r.blue,t[n]=r.alpha},s.unpack=function(t,n,o){return n=e(n,0),r(o)||(o=new s),o.red=t[n++],o.green=t[n++],o.blue=t[n++],o.alpha=t[n],o},s.byteToFloat=function(e){return e/255},s.floatToByte=function(e){return 1===e?255:0|256*e},s.clone=function(e,t){return r(e)?r(t)?(t.red=e.red,t.green=e.green,t.blue=e.blue,t.alpha=e.alpha,t):new s(e.red,e.green,e.blue,e.alpha):void 0},s.equals=function(e,t){return e===t||r(e)&&r(t)&&e.red===t.red&&e.green===t.green&&e.blue===t.blue&&e.alpha===t.alpha},s.prototype.clone=function(e){return s.clone(this,e)},s.prototype.equals=function(e){return s.equals(this,e)},s.prototype.equalsEpsilon=function(e,t){return this===e||r(e)&&Math.abs(this.red-e.red)<=t&&Math.abs(this.green-e.green)<=t&&Math.abs(this.blue-e.blue)<=t&&Math.abs(this.alpha-e.alpha)<=t},s.prototype.toString=function(){return"("+this.red+", "+this.green+", "+this.blue+", "+this.alpha+")"},s.prototype.toCssColorString=function(){var e=s.floatToByte(this.red),r=s.floatToByte(this.green),t=s.floatToByte(this.blue);return 1===this.alpha?"rgb("+e+","+r+","+t+")":"rgba("+e+","+r+","+t+","+this.alpha+")"},s.prototype.toBytes=function(e){var t=s.floatToByte(this.red),n=s.floatToByte(this.green),o=s.floatToByte(this.blue),i=s.floatToByte(this.alpha);return r(e)?(e[0]=t,e[1]=n,e[2]=o,e[3]=i,e):[t,n,o,i]},s.prototype.toRgba=function(){return c[0]=s.floatToByte(this.red),c[1]=s.floatToByte(this.green),c[2]=s.floatToByte(this.blue),c[3]=s.floatToByte(this.alpha),l[0]},s.ALICEBLUE=t(s.fromCssColorString("#F0F8FF")),s.ANTIQUEWHITE=t(s.fromCssColorString("#FAEBD7")),s.AQUA=t(s.fromCssColorString("#00FFFF")),s.AQUAMARINE=t(s.fromCssColorString("#7FFFD4")),s.AZURE=t(s.fromCssColorString("#F0FFFF")),s.BEIGE=t(s.fromCssColorString("#F5F5DC")),s.BISQUE=t(s.fromCssColorString("#FFE4C4")),s.BLACK=t(s.fromCssColorString("#000000")),s.BLANCHEDALMOND=t(s.fromCssColorString("#FFEBCD")),s.BLUE=t(s.fromCssColorString("#0000FF")),s.BLUEVIOLET=t(s.fromCssColorString("#8A2BE2")),s.BROWN=t(s.fromCssColorString("#A52A2A")),s.BURLYWOOD=t(s.fromCssColorString("#DEB887")),s.CADETBLUE=t(s.fromCssColorString("#5F9EA0")),s.CHARTREUSE=t(s.fromCssColorString("#7FFF00")),s.CHOCOLATE=t(s.fromCssColorString("#D2691E")),s.CORAL=t(s.fromCssColorString("#FF7F50")),s.CORNFLOWERBLUE=t(s.fromCssColorString("#6495ED")),s.CORNSILK=t(s.fromCssColorString("#FFF8DC")),s.CRIMSON=t(s.fromCssColorString("#DC143C")),s.CYAN=t(s.fromCssColorString("#00FFFF")),s.DARKBLUE=t(s.fromCssColorString("#00008B")),s.DARKCYAN=t(s.fromCssColorString("#008B8B")),s.DARKGOLDENROD=t(s.fromCssColorString("#B8860B")),s.DARKGRAY=t(s.fromCssColorString("#A9A9A9")),s.DARKGREEN=t(s.fromCssColorString("#006400")),s.DARKGREY=s.DARKGRAY,s.DARKKHAKI=t(s.fromCssColorString("#BDB76B")),s.DARKMAGENTA=t(s.fromCssColorString("#8B008B")),s.DARKOLIVEGREEN=t(s.fromCssColorString("#556B2F")),s.DARKORANGE=t(s.fromCssColorString("#FF8C00")),s.DARKORCHID=t(s.fromCssColorString("#9932CC")),s.DARKRED=t(s.fromCssColorString("#8B0000")),s.DARKSALMON=t(s.fromCssColorString("#E9967A")),s.DARKSEAGREEN=t(s.fromCssColorString("#8FBC8F")),s.DARKSLATEBLUE=t(s.fromCssColorString("#483D8B")),s.DARKSLATEGRAY=t(s.fromCssColorString("#2F4F4F")),s.DARKSLATEGREY=s.DARKSLATEGRAY,s.DARKTURQUOISE=t(s.fromCssColorString("#00CED1")),s.DARKVIOLET=t(s.fromCssColorString("#9400D3")),s.DEEPPINK=t(s.fromCssColorString("#FF1493")),s.DEEPSKYBLUE=t(s.fromCssColorString("#00BFFF")),s.DIMGRAY=t(s.fromCssColorString("#696969")),s.DIMGREY=s.DIMGRAY,s.DODGERBLUE=t(s.fromCssColorString("#1E90FF")),s.FIREBRICK=t(s.fromCssColorString("#B22222")),s.FLORALWHITE=t(s.fromCssColorString("#FFFAF0")),s.FORESTGREEN=t(s.fromCssColorString("#228B22")),s.FUSCHIA=t(s.fromCssColorString("#FF00FF")),s.GAINSBORO=t(s.fromCssColorString("#DCDCDC")),s.GHOSTWHITE=t(s.fromCssColorString("#F8F8FF")),s.GOLD=t(s.fromCssColorString("#FFD700")),s.GOLDENROD=t(s.fromCssColorString("#DAA520")),s.GRAY=t(s.fromCssColorString("#808080")),s.GREEN=t(s.fromCssColorString("#008000")),s.GREENYELLOW=t(s.fromCssColorString("#ADFF2F")),s.GREY=s.GRAY,s.HONEYDEW=t(s.fromCssColorString("#F0FFF0")),s.HOTPINK=t(s.fromCssColorString("#FF69B4")),s.INDIANRED=t(s.fromCssColorString("#CD5C5C")),s.INDIGO=t(s.fromCssColorString("#4B0082")),s.IVORY=t(s.fromCssColorString("#FFFFF0")),s.KHAKI=t(s.fromCssColorString("#F0E68C")),s.LAVENDER=t(s.fromCssColorString("#E6E6FA")),s.LAVENDAR_BLUSH=t(s.fromCssColorString("#FFF0F5")),s.LAWNGREEN=t(s.fromCssColorString("#7CFC00")),s.LEMONCHIFFON=t(s.fromCssColorString("#FFFACD")),s.LIGHTBLUE=t(s.fromCssColorString("#ADD8E6")),s.LIGHTCORAL=t(s.fromCssColorString("#F08080")),s.LIGHTCYAN=t(s.fromCssColorString("#E0FFFF")),s.LIGHTGOLDENRODYELLOW=t(s.fromCssColorString("#FAFAD2")),s.LIGHTGRAY=t(s.fromCssColorString("#D3D3D3")),s.LIGHTGREEN=t(s.fromCssColorString("#90EE90")),s.LIGHTGREY=s.LIGHTGRAY,s.LIGHTPINK=t(s.fromCssColorString("#FFB6C1")),s.LIGHTSEAGREEN=t(s.fromCssColorString("#20B2AA")),s.LIGHTSKYBLUE=t(s.fromCssColorString("#87CEFA")),s.LIGHTSLATEGRAY=t(s.fromCssColorString("#778899")),s.LIGHTSLATEGREY=s.LIGHTSLATEGRAY,s.LIGHTSTEELBLUE=t(s.fromCssColorString("#B0C4DE")),s.LIGHTYELLOW=t(s.fromCssColorString("#FFFFE0")),s.LIME=t(s.fromCssColorString("#00FF00")),s.LIMEGREEN=t(s.fromCssColorString("#32CD32")),s.LINEN=t(s.fromCssColorString("#FAF0E6")),s.MAGENTA=t(s.fromCssColorString("#FF00FF")),s.MAROON=t(s.fromCssColorString("#800000")),s.MEDIUMAQUAMARINE=t(s.fromCssColorString("#66CDAA")),s.MEDIUMBLUE=t(s.fromCssColorString("#0000CD")),s.MEDIUMORCHID=t(s.fromCssColorString("#BA55D3")),s.MEDIUMPURPLE=t(s.fromCssColorString("#9370DB")),s.MEDIUMSEAGREEN=t(s.fromCssColorString("#3CB371")),s.MEDIUMSLATEBLUE=t(s.fromCssColorString("#7B68EE")),s.MEDIUMSPRINGGREEN=t(s.fromCssColorString("#00FA9A")),s.MEDIUMTURQUOISE=t(s.fromCssColorString("#48D1CC")),s.MEDIUMVIOLETRED=t(s.fromCssColorString("#C71585")),s.MIDNIGHTBLUE=t(s.fromCssColorString("#191970")),s.MINTCREAM=t(s.fromCssColorString("#F5FFFA")),s.MISTYROSE=t(s.fromCssColorString("#FFE4E1")),s.MOCCASIN=t(s.fromCssColorString("#FFE4B5")),s.NAVAJOWHITE=t(s.fromCssColorString("#FFDEAD")),s.NAVY=t(s.fromCssColorString("#000080")),s.OLDLACE=t(s.fromCssColorString("#FDF5E6")),s.OLIVE=t(s.fromCssColorString("#808000")),s.OLIVEDRAB=t(s.fromCssColorString("#6B8E23")),s.ORANGE=t(s.fromCssColorString("#FFA500")),s.ORANGERED=t(s.fromCssColorString("#FF4500")),s.ORCHID=t(s.fromCssColorString("#DA70D6")),s.PALEGOLDENROD=t(s.fromCssColorString("#EEE8AA")),s.PALEGREEN=t(s.fromCssColorString("#98FB98")),s.PALETURQUOISE=t(s.fromCssColorString("#AFEEEE")),s.PALEVIOLETRED=t(s.fromCssColorString("#DB7093")),s.PAPAYAWHIP=t(s.fromCssColorString("#FFEFD5")),s.PEACHPUFF=t(s.fromCssColorString("#FFDAB9")),s.PERU=t(s.fromCssColorString("#CD853F")),s.PINK=t(s.fromCssColorString("#FFC0CB")),s.PLUM=t(s.fromCssColorString("#DDA0DD")),s.POWDERBLUE=t(s.fromCssColorString("#B0E0E6")),s.PURPLE=t(s.fromCssColorString("#800080")),s.RED=t(s.fromCssColorString("#FF0000")),s.ROSYBROWN=t(s.fromCssColorString("#BC8F8F")),s.ROYALBLUE=t(s.fromCssColorString("#4169E1")),s.SADDLEBROWN=t(s.fromCssColorString("#8B4513")),s.SALMON=t(s.fromCssColorString("#FA8072")),s.SANDYBROWN=t(s.fromCssColorString("#F4A460")),s.SEAGREEN=t(s.fromCssColorString("#2E8B57")),s.SEASHELL=t(s.fromCssColorString("#FFF5EE")),s.SIENNA=t(s.fromCssColorString("#A0522D")),s.SILVER=t(s.fromCssColorString("#C0C0C0")),s.SKYBLUE=t(s.fromCssColorString("#87CEEB")),s.SLATEBLUE=t(s.fromCssColorString("#6A5ACD")),s.SLATEGRAY=t(s.fromCssColorString("#708090")),s.SLATEGREY=s.SLATEGRAY,s.SNOW=t(s.fromCssColorString("#FFFAFA")),s.SPRINGGREEN=t(s.fromCssColorString("#00FF7F")),s.STEELBLUE=t(s.fromCssColorString("#4682B4")),s.TAN=t(s.fromCssColorString("#D2B48C")),s.TEAL=t(s.fromCssColorString("#008080")),s.THISTLE=t(s.fromCssColorString("#D8BFD8")),s.TOMATO=t(s.fromCssColorString("#FF6347")),s.TURQUOISE=t(s.fromCssColorString("#40E0D0")),s.VIOLET=t(s.fromCssColorString("#EE82EE")),s.WHEAT=t(s.fromCssColorString("#F5DEB3")),s.WHITE=t(s.fromCssColorString("#FFFFFF")),s.WHITESMOKE=t(s.fromCssColorString("#F5F5F5")),s.YELLOW=t(s.fromCssColorString("#FFFF00")),s.YELLOWGREEN=t(s.fromCssColorString("#9ACD32")),s}),define("Core/SimplePolylineGeometry",["./defined","./DeveloperError","./ComponentDatatype","./IndexDatatype","./PrimitiveType","./defaultValue","./BoundingSphere","./Geometry","./GeometryAttribute","./GeometryAttributes","./Color","./Cartesian3"],function(e,r,t,n,o,i,a,s,u,l,c,f){"use strict";var m=function(e){e=i(e,i.EMPTY_OBJECT);var r=e.positions,t=e.colors,n=i(e.colorsPerVertex,!1);this._positions=r,this._colors=t,this._perVertex=n,this._workerName="createSimplePolylineGeometry"};return m.createGeometry=function(r){var i,m=r._positions,y=r._colors,h=r._perVertex,p=e(y)&&!h,d=0,v=0,g=m.length,E=p?2*m.length-2:m.length,C=new Float64Array(3*E),S=e(y)?new Uint8Array(4*E):void 0;for(i=0;g>i;++i){var w,x=m[i];if(p&&i>0&&(f.pack(x,C,d),d+=3,w=y[i-1],S[v++]=c.floatToByte(w.red),S[v++]=c.floatToByte(w.green),S[v++]=c.floatToByte(w.blue),S[v++]=c.floatToByte(w.alpha)),p&&i===g-1)break;f.pack(x,C,d),d+=3,e(y)&&(w=y[i],S[v++]=c.floatToByte(w.red),S[v++]=c.floatToByte(w.green),S[v++]=c.floatToByte(w.blue),S[v++]=c.floatToByte(w.alpha))}var A=new l;A.position=new u({componentDatatype:t.DOUBLE,componentsPerAttribute:3,values:C}),e(y)&&(A.color=new u({componentDatatype:t.UNSIGNED_BYTE,componentsPerAttribute:4,values:S,normalize:!0})); +var M=p?E:2*(E-1),b=n.createTypedArray(E,M),T=p?2:1;for(d=0,i=0;E-1>i;i+=T)b[d++]=i,b[d++]=i+1;return new s({attributes:A,indices:b,primitiveType:o.LINES,boundingSphere:a.fromPoints(m)})},m}),define("Core/Cartesian2",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,r,t,n){"use strict";var o=function(r,t){this.x=e(r,0),this.y=e(t,0)};o.fromElements=function(e,t,n){return r(n)?(n.x=e,n.y=t,n):new o(e,t)},o.clone=function(e,t){return r(e)?r(t)?(t.x=e.x,t.y=e.y,t):new o(e.x,e.y):void 0},o.fromCartesian3=o.clone,o.fromCartesian4=o.clone,o.packedLength=2,o.pack=function(r,t,n){n=e(n,0),t[n++]=r.x,t[n]=r.y},o.unpack=function(t,n,i){return n=e(n,0),r(i)||(i=new o),i.x=t[n++],i.y=t[n],i},o.fromArray=o.unpack,o.getMaximumComponent=function(e){return Math.max(e.x,e.y)},o.getMinimumComponent=function(e){return Math.min(e.x,e.y)},o.getMinimumByComponent=function(e,t,n){return r(n)||(n=new o),n.x=Math.min(e.x,t.x),n.y=Math.min(e.y,t.y),n},o.getMaximumByComponent=function(e,t,n){return r(n)||(n=new o),n.x=Math.max(e.x,t.x),n.y=Math.max(e.y,t.y),n},o.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y},o.magnitude=function(e){return Math.sqrt(o.magnitudeSquared(e))};var i=new o;o.distance=function(e,r){return o.subtract(e,r,i),o.magnitude(i)},o.normalize=function(e,t){var n=o.magnitude(e);return r(t)?(t.x=e.x/n,t.y=e.y/n,t):new o(e.x/n,e.y/n)},o.dot=function(e,r){return e.x*r.x+e.y*r.y},o.multiplyComponents=function(e,t,n){return r(n)?(n.x=e.x*t.x,n.y=e.y*t.y,n):new o(e.x*t.x,e.y*t.y)},o.add=function(e,t,n){return r(n)?(n.x=e.x+t.x,n.y=e.y+t.y,n):new o(e.x+t.x,e.y+t.y)},o.subtract=function(e,t,n){return r(n)?(n.x=e.x-t.x,n.y=e.y-t.y,n):new o(e.x-t.x,e.y-t.y)},o.multiplyByScalar=function(e,t,n){return r(n)?(n.x=e.x*t,n.y=e.y*t,n):new o(e.x*t,e.y*t)},o.divideByScalar=function(e,t,n){return r(n)?(n.x=e.x/t,n.y=e.y/t,n):new o(e.x/t,e.y/t)},o.negate=function(e,t){return r(t)?(t.x=-e.x,t.y=-e.y,t):new o(-e.x,-e.y)},o.abs=function(e,t){return r(t)?(t.x=Math.abs(e.x),t.y=Math.abs(e.y),t):new o(Math.abs(e.x),Math.abs(e.y))};var a=new o;o.lerp=function(e,r,t,n){return o.multiplyByScalar(r,t,a),n=o.multiplyByScalar(e,1-t,n),o.add(a,n,n)};var s=new o,u=new o;o.angleBetween=function(e,r){return o.normalize(e,s),o.normalize(r,u),Math.acos(o.dot(s,u))};var l=new o;return o.mostOrthogonalAxis=function(e,r){var t=o.normalize(e,l);return o.abs(t,t),r=t.x<=t.y?o.clone(o.UNIT_X,r):o.clone(o.UNIT_Y,r)},o.equals=function(e,t){return e===t||r(e)&&r(t)&&e.x===t.x&&e.y===t.y},o.equalsEpsilon=function(e,t,n){return e===t||r(e)&&r(t)&&Math.abs(e.x-t.x)<=n&&Math.abs(e.y-t.y)<=n},o.ZERO=n(new o(0,0)),o.UNIT_X=n(new o(1,0)),o.UNIT_Y=n(new o(0,1)),o.prototype.clone=function(e){return o.clone(this,e)},o.prototype.equals=function(e){return o.equals(this,e)},o.prototype.equalsEpsilon=function(e,r){return o.equalsEpsilon(this,e,r)},o.prototype.toString=function(){return"("+this.x+", "+this.y+")"},o}),define("Core/barycentricCoordinates",["./Cartesian2","./Cartesian3","./defined","./DeveloperError"],function(e,r,t){"use strict";var n=new r,o=new r,i=new r,a=function(a,s,u,l,c){t(c)||(c=new r);var f,m,y,h,p,d,v,g;t(s.z)?(f=r.subtract(u,s,n),m=r.subtract(l,s,o),y=r.subtract(a,s,i),h=r.dot(f,f),p=r.dot(f,m),d=r.dot(f,y),v=r.dot(m,m),g=r.dot(m,y)):(f=e.subtract(u,s,n),m=e.subtract(l,s,o),y=e.subtract(a,s,i),h=e.dot(f,f),p=e.dot(f,m),d=e.dot(f,y),v=e.dot(m,m),g=e.dot(m,y));var E=1/(h*v-p*p);return c.y=(v*d-p*g)*E,c.z=(h*g-p*d)*E,c.x=1-c.y-c.z,c};return a}),define("Core/EncodedCartesian3",["./Cartesian3","./defined","./DeveloperError"],function(e,r){"use strict";var t=function(){this.high=e.clone(e.ZERO),this.low=e.clone(e.ZERO)};t.encode=function(e,t){r(t)||(t={high:0,low:0});var n;return e>=0?(n=65536*Math.floor(e/65536),t.high=n,t.low=e-n):(n=65536*Math.floor(-e/65536),t.high=-n,t.low=e+n),t};var n={high:0,low:0};t.fromCartesian=function(e,o){r(o)||(o=new t);var i=o.high,a=o.low;return t.encode(e.x,n),i.x=n.high,a.x=n.low,t.encode(e.y,n),i.y=n.high,a.y=n.low,t.encode(e.z,n),i.z=n.high,a.z=n.low,o};var o=new t;return t.writeElements=function(e,r,n){t.fromCartesian(e,o);var i=o.high,a=o.low;r[n]=i.x,r[n+1]=i.y,r[n+2]=i.z,r[n+3]=a.x,r[n+4]=a.y,r[n+5]=a.z},t}),define("Core/QuadraticRealPolynomial",["./DeveloperError","./Math"],function(e,r){"use strict";function t(e,t,n){var o=e+t;return r.sign(e)!==r.sign(t)&&Math.abs(o/Math.max(Math.abs(e),Math.abs(t)))a&&a/ss&&s/ai)return[];var u=Math.sqrt(i);return[-u,u]}if(0===o)return i=-n/e,0>i?[i,0]:[0,i];var l=n*n,c=4*e*o,f=t(l,-c,r.EPSILON14);if(0>f)return[];var m=-.5*t(n,r.sign(n)*Math.sqrt(f),r.EPSILON14);return n>0?[m/e,o/m]:[o/m,m/e]},n}),define("Core/CubicRealPolynomial",["./DeveloperError","./QuadraticRealPolynomial"],function(e,r){"use strict";function t(e,r,t,n){var o,i,a=e,s=r/3,u=t/3,l=n,c=a*u,f=s*l,m=s*s,y=u*u,h=a*u-m,p=a*l-s*u,d=s*l-y,v=4*h*d-p*p;if(0>v){var g,E,C;m*f>=c*y?(g=a,E=h,C=-2*s*h+a*p):(g=l,E=d,C=-l*p+2*u*d);var S=0>C?-1:1,w=-S*Math.abs(g)*Math.sqrt(-v);i=-C+w;var x=i/2,A=0>x?-Math.pow(-x,1/3):Math.pow(x,1/3),M=i===w?-A:-E/A;return o=0>=E?A+M:-C/(A*A+M*M+E),m*f>=c*y?[(o-s)/a]:[-l/(o+u)]}var b=h,T=-2*s*h+a*p,I=d,O=-l*p+2*u*d,N=Math.sqrt(v),R=Math.sqrt(3)/2,z=Math.abs(Math.atan2(a*N,-T)/3);o=2*Math.sqrt(-b);var L=Math.cos(z);i=o*L;var F=o*(-L/2-R*Math.sin(z)),D=i+F>2*s?i-s:F-s,P=a,B=D/P;z=Math.abs(Math.atan2(l*N,-O)/3),o=2*Math.sqrt(-I),L=Math.cos(z),i=o*L,F=o*(-L/2-R*Math.sin(z));var _=-l,U=2*u>i+F?i+u:F+u,G=_/U,q=P*U,Y=-D*U-P*_,W=D*_,V=(u*Y-s*W)/(-s*Y+u*q);return V>=B?G>=B?G>=V?[B,V,G]:[B,G,V]:[G,B,V]:G>=B?[V,B,G]:G>=V?[V,G,B]:[G,V,B]}var n={};return n.discriminant=function(e,r,t,n){var o=e*e,i=r*r,a=t*t,s=n*n,u=18*e*r*t*n+i*a-27*o*s-4*(e*a*t+i*r*n);return u},n.realRoots=function(e,n,o,i){var a,s;if(0===e)return r.realRoots(n,o,i);if(0===n){if(0===o){if(0===i)return[0,0,0];s=-i/e;var u=0>s?-Math.pow(-s,1/3):Math.pow(s,1/3);return[u,u,u]}return 0===i?(a=r.realRoots(e,0,o),0===a.Length?[0]:[a[0],0,a[1]]):t(e,0,o,i)}return 0===o?0===i?(s=-n/e,0>s?[s,0,0]:[0,0,s]):t(e,n,0,i):0===i?(a=r.realRoots(e,n,o),0===a.length?[0]:a[1]<=0?[a[0],a[1],0]:a[0]>=0?[0,a[0],a[1]]:[a[0],0,a[1]]):t(e,n,o,i)},n}),define("Core/QuarticRealPolynomial",["./DeveloperError","./Math","./CubicRealPolynomial","./QuadraticRealPolynomial"],function(e,r,t,n){"use strict";function o(e,o,i,a){var s=e*e,u=o-3*s/8,l=i-o*e/2+s*e/8,c=a-i*e/4+o*s/16-3*s*s/256,f=t.realRoots(1,2*u,u*u-4*c,-l*l);if(f.length>0){var m=-e/4,y=f[f.length-1];if(Math.abs(y)=0&&v>=0){var g=Math.sqrt(d),E=Math.sqrt(v);return[m-E,m-g,m+g,m+E]}if(d>=0&&0>v)return p=Math.sqrt(d),[m-p,m+p];if(0>d&&v>=0)return p=Math.sqrt(v),[m-p,m+p]}return[]}if(y>0){var C=Math.sqrt(y),S=(u+y-l/C)/2,w=(u+y+l/C)/2,x=n.realRoots(1,C,S),A=n.realRoots(1,-C,w);return 0!==x.length?(x[0]+=m,x[1]+=m,0!==A.length?(A[0]+=m,A[1]+=m,x[1]<=A[0]?[x[0],x[1],A[0],A[1]]:A[1]<=x[0]?[A[0],A[1],x[0],x[1]]:x[0]>=A[0]&&x[1]<=A[1]?[A[0],x[0],x[1],A[1]]:A[0]>=x[0]&&A[1]<=x[1]?[x[0],A[0],A[1],x[1]]:x[0]>A[0]&&x[0]0){var h,p,d=y[0],v=o-d,g=v*v,E=e/2,C=v/2,S=g-4*a,w=g+4*Math.abs(a),x=l-4*d,A=l+4*Math.abs(d);if(0>d||x*w>S*A){var M=Math.sqrt(x);h=M/2,p=0===M?0:(e*C-i)/M}else{var b=Math.sqrt(S);h=0===b?0:(e*C-i)/b,p=b/2}var T,I;0===E&&0===h?(T=0,I=0):r.sign(E)===r.sign(h)?(T=E+h,I=d/T):(I=E-h,T=d/I);var O,N;0===C&&0===p?(O=0,N=0):r.sign(C)===r.sign(p)?(O=C+p,N=a/O):(N=C-p,O=a/N);var R=n.realRoots(1,T,O),z=n.realRoots(1,I,N);if(0!==R.length)return 0!==z.length?R[1]<=z[0]?[R[0],R[1],z[0],z[1]]:z[1]<=R[0]?[z[0],z[1],R[0],R[1]]:R[0]>=z[0]&&R[1]<=z[1]?[z[0],R[0],R[1],z[1]]:z[0]>=R[0]&&z[1]<=R[1]?[R[0],z[0],z[1],R[1]]:R[0]>z[0]&&R[0]l?1:0;switch(y+=0>c?y+1:y,y+=0>f?y+1:y,y+=0>m?y+1:y){case 0:return o(l,c,f,m);case 1:return i(l,c,f,m);case 2:return i(l,c,f,m);case 3:return o(l,c,f,m);case 4:return o(l,c,f,m);case 5:return i(l,c,f,m);case 6:return o(l,c,f,m);case 7:return o(l,c,f,m);case 8:return i(l,c,f,m);case 9:return o(l,c,f,m);case 10:return o(l,c,f,m);case 11:return i(l,c,f,m);case 12:return o(l,c,f,m);case 13:return o(l,c,f,m);case 14:return o(l,c,f,m);case 15:return o(l,c,f,m);default:return void 0}},a}),define("Core/IntersectionTests",["./defined","./DeveloperError","./Math","./Cartesian3","./Cartographic","./Matrix3","./QuadraticRealPolynomial","./QuarticRealPolynomial"],function(e,r,t,n,o,i,a,s){"use strict";function u(e,r,n){var o=e+r;return t.sign(e)!==t.sign(r)&&Math.abs(o/Math.max(Math.abs(e),Math.abs(r)))F;++F){var D,P=f[F],B=P*P,_=Math.max(1-B,0),U=Math.sqrt(_);D=t.sign(h)===t.sign(d)?u(h*B+d,p*P,t.EPSILON12):t.sign(d)===t.sign(p*P)?u(h*B,p*P+d,t.EPSILON12):u(h*B+p*P,d,t.EPSILON12);var G=u(v*P,g,t.EPSILON15),q=D*G;0>q?E.push(new n(l,c*P,c*U)):q>0?E.push(new n(l,c*P,c*-U)):0!==U?(E.push(new n(l,c*P,c*-U)),E.push(new n(l,c*P,c*U)),++F):E.push(new n(l,c*P,c*U))}return E}var c={};c.rayPlane=function(e,r,o){var i=e.origin,a=e.direction,s=r.normal,u=n.dot(s,a);if(Math.abs(u)l?void 0:(o=n.multiplyByScalar(a,l,o),n.add(i,o,o))};var f=new n,m=new n;c.rayEllipsoid=function(e,r){var t,o,i,a,s,u=r.oneOverRadii,l=n.multiplyComponents(u,e.origin,f),c=n.multiplyComponents(u,e.direction,m),y=n.magnitudeSquared(l),h=n.dot(l,c);if(y>1){if(h>=0)return void 0;var p=h*h;if(t=y-1,o=n.magnitudeSquared(c),i=o*t,i>p)return void 0;if(p>i){a=h*h-i,s=-h+Math.sqrt(a);var d=s/o,v=t/s;return v>d?{start:d,stop:v}:{start:v,stop:d}}var g=Math.sqrt(t/o);return{start:g,stop:g}}return 1>y?(t=y-1,o=n.magnitudeSquared(c),i=o*t,a=h*h-i,s=-h+Math.sqrt(a),{start:0,stop:s/o}):0>h?(o=n.magnitudeSquared(c),{start:0,stop:-h/o}):void 0},c.grazingAltitudeLocation=function(r,a){var s=r.origin,u=r.direction,c=a.geodeticSurfaceNormal(s);if(n.dot(u,c)>=0)return s;var f,m,y=e(this.rayEllipsoid(r,a)),h=a.transformPositionToScaledSpace(u),p=n.normalize(h),d=n.mostOrthogonalAxis(h),v=n.normalize(n.cross(d,p)),g=n.normalize(n.cross(p,v)),E=new i(p.x,v.x,g.x,p.y,v.y,g.y,p.z,v.z,g.z),C=i.transpose(E),S=i.fromScale(a.radii),w=i.fromScale(a.oneOverRadii),x=new i(0,u.z,-u.y,-u.z,0,u.x,u.y,-u.x,0),A=i.multiply(i.multiply(C,w),x),M=i.multiply(i.multiply(A,S),E),b=i.multiplyByVector(A,s),T=l(M,n.negate(b),0,0,1),I=T.length;if(I>0){for(var O=n.ZERO,N=Number.NEGATIVE_INFINITY,R=0;I>R;++R){f=i.multiplyByVector(S,i.multiplyByVector(E,T[R]));var z=n.normalize(n.subtract(f,s)),L=n.dot(z,u);L>N&&(N=L,O=f)}var F=a.cartesianToCartographic(O);return N=t.clamp(N,0,1),m=n.magnitude(n.subtract(O,s))*Math.sqrt(1-N*N),m=y?-m:m,a.cartographicToCartesian(new o(F.longitude,F.latitude,m))}return void 0};var y=new n;return c.lineSegmentPlane=function(r,o,i,a){var s=n.subtract(o,r,y),u=i.normal,l=n.dot(u,s);if(Math.abs(l)f||f>1?void 0:(e(a)||(a=new n),n.multiplyByScalar(s,f,a),n.add(r,a,a),a)},c.trianglePlaneIntersection=function(e,r,t,o){var i=o.normal,a=o.distance,s=n.dot(i,e)+a<0,u=n.dot(i,r)+a<0,l=n.dot(i,t)+a<0,f=0;f+=s?1:0,f+=u?1:0,f+=l?1:0;var m,y;if((1===f||2===f)&&(m=new n,y=new n),1===f){if(s)return c.lineSegmentPlane(e,r,o,m),c.lineSegmentPlane(e,t,o,y),{positions:[e,r,t,m,y],indices:[0,3,4,1,2,4,1,4,3]};if(u)return c.lineSegmentPlane(r,t,o,m),c.lineSegmentPlane(r,e,o,y),{positions:[e,r,t,m,y],indices:[1,3,4,2,0,4,2,4,3]};if(l)return c.lineSegmentPlane(t,e,o,m),c.lineSegmentPlane(t,r,o,y),{positions:[e,r,t,m,y],indices:[2,3,4,0,1,4,0,4,3]}}else if(2===f){if(!s)return c.lineSegmentPlane(r,e,o,m),c.lineSegmentPlane(t,e,o,y),{positions:[e,r,t,m,y],indices:[1,2,4,1,4,3,0,3,4]};if(!u)return c.lineSegmentPlane(t,r,o,m),c.lineSegmentPlane(e,r,o,y),{positions:[e,r,t,m,y],indices:[2,0,4,2,4,3,1,3,4]};if(!l)return c.lineSegmentPlane(e,t,o,m),c.lineSegmentPlane(r,t,o,y),{positions:[e,r,t,m,y],indices:[0,1,4,0,4,3,2,3,4]}}return void 0},c}),define("Core/Plane",["./Cartesian3","./defined","./DeveloperError"],function(e,r){"use strict";var t=function(r,t){this.normal=e.clone(r),this.distance=t};return t.fromPointNormal=function(n,o,i){var a=-e.dot(o,n);return r(i)?(e.clone(o,i.normal),i.distance=a,i):new t(o,a)},t.getPointDistance=function(r,t){return e.dot(r.normal,t)+r.distance},t.prototype.getPointDistance=function(e){return t.getPointDistance(this,e)},t}),define("Core/Tipsify",["./defaultValue","./defined","./DeveloperError"],function(e,r){"use strict";var t={};return t.calculateACMR=function(t){t=e(t,e.EMPTY_OBJECT);var n=t.indices,o=t.maximumIndex,i=e(t.cacheSize,24),a=n.length;if(!r(o)){o=0;for(var s=0,u=n[s];a>s;)u>o&&(o=u),++s,u=n[s]}for(var l=[],c=0;o+1>c;c++)l[c]=0;for(var f=i+1,m=0;a>m;++m)f-l[n[m]]>i&&(l[n[m]]=f,++f);return(f-i+1)/(a/3)},t.tipsify=function(t){function n(e,r,t,n){for(;r.length>=1;){var o=r[r.length-1];if(r.splice(r.length-1,1),e[o].numLiveTriangles>0)return o}for(;n>i;){if(e[i].numLiveTriangles>0)return++i,i-1;++i}return-1}function o(e,r,t,o,i,a,s){for(var u,l=-1,c=-1,f=0;fc||-1===c)&&(c=u,l=m)),++f}return-1===l?n(o,a,e,s):l}t=e(t,e.EMPTY_OBJECT);var i,a=t.indices,s=t.maximumIndex,u=e(t.cacheSize,24),l=a.length,c=0,f=0,m=a[f],y=l;if(r(s))c=s+1;else{for(;y>f;)m>c&&(c=m),++f,m=a[f];if(-1===c)return 0;++c}for(var h=[],p=0;c>p;p++)h[p]={numLiveTriangles:0,timeStamp:0,vertexTriangles:[]};f=0;for(var d=0;y>f;)h[a[f]].vertexTriangles.push(d),++h[a[f]].numLiveTriangles,h[a[f+1]].vertexTriangles.push(d),++h[a[f+1]].numLiveTriangles,h[a[f+2]].vertexTriangles.push(d),++h[a[f+2]].numLiveTriangles,++d,f+=3;var v=0,g=u+1;i=1;var E,C,S=[],w=[],x=0,A=[],M=l/3,b=[];for(p=0;M>p;p++)b[p]=!1;for(var T,I;-1!==v;){S=[],C=h[v],I=C.vertexTriangles.length;for(var O=0;I>O;++O)if(d=C.vertexTriangles[O],!b[d]){b[d]=!0,f=d+d+d;for(var N=0;3>N;++N)T=a[f],S.push(T),w.push(T),A[x]=T,++x,E=h[T],--E.numLiveTriangles,g-E.timeStamp>u&&(E.timeStamp=g,++g),++f}v=o(a,u,S,h,g,w,c)}return A},t}),define("Core/GeometryPipeline",["./barycentricCoordinates","./defaultValue","./defined","./DeveloperError","./Cartesian2","./Cartesian3","./Cartesian4","./Cartographic","./EncodedCartesian3","./Intersect","./IntersectionTests","./Math","./Matrix3","./Matrix4","./Plane","./GeographicProjection","./ComponentDatatype","./IndexDatatype","./PrimitiveType","./Tipsify","./BoundingSphere","./Geometry","./GeometryAttribute"],function(e,r,t,n,o,i,a,s,u,l,c,f,m,y,h,p,d,v,g,E,C,S,w){"use strict";function x(e,r,t,n,o){e[r++]=t,e[r++]=n,e[r++]=n,e[r++]=o,e[r++]=o,e[r]=t}function A(e){for(var r=e.length,t=6*(r/3),n=v.createTypedArray(r,t),o=0,i=0;r>i;i+=3,o+=6)x(n,o,e[i],e[i+1],e[i+2]);return n}function M(e){var r=e.length;if(r>=3){var t=6*(r-2),n=v.createTypedArray(r,t);x(n,0,e[0],e[1],e[2]);for(var o=6,i=3;r>i;++i,o+=6)x(n,o,e[i-1],e[i],e[i-2]);return n}return new Uint16Array}function b(e){if(e.length>0){for(var r=e.length-1,t=6*(r-1),n=v.createTypedArray(r,t),o=e[0],i=0,a=1;r>a;++a,i+=6)x(n,i,o,e[a],e[a+1]);return n}return new Uint16Array}function T(e){var r={};for(var n in e)if(e.hasOwnProperty(n)&&t(e[n])&&t(e[n].values)){var o=e[n];r[n]=new w({componentDatatype:o.componentDatatype,componentsPerAttribute:o.componentsPerAttribute,normalize:o.normalize,values:[]})}return r}function I(e,r,n){for(var o in r)if(r.hasOwnProperty(o)&&t(r[o])&&t(r[o].values))for(var i=r[o],a=0;aa;a+=3)i.unpack(n,a,Z),y.multiplyByPoint(e,Z,Z),i.pack(Z,n,a)}function N(e,r){if(t(r))for(var n=r.values,o=n.length,a=0;o>a;a+=3)i.unpack(n,a,Z),m.multiplyByVector(e,Z,Z),Z=i.normalize(Z,Z),i.pack(Z,n,a)}function R(e){var r,n=e.length,o={},i=e[0].geometry.attributes;for(r in i)if(i.hasOwnProperty(r)&&t(i[r])&&t(i[r].values)){for(var a=i[r],s=a.values.length,u=!0,l=1;n>l;++l){var c=e[l].geometry.attributes[r];if(!t(c)||a.componentDatatype.value!==c.componentDatatype.value||a.componentsPerAttribute!==c.componentsPerAttribute||a.normalize!==c.normalize){u=!1;break}s+=c.values.length}u&&(o[r]=new w({componentDatatype:a.componentDatatype,componentsPerAttribute:a.componentsPerAttribute,normalize:a.normalize,values:d.createTypedArray(a.componentDatatype,s)}))}return o}function z(e){if(t(e.indices))return e;for(var r=S.computeNumberOfVertices(e),n=v.createTypedArray(r,r),o=0;r>o;++o)n[o]=o;return e.indices=n,e}function L(e){var r=S.computeNumberOfVertices(e),t=v.createTypedArray(r,3*(r-2));t[0]=1,t[1]=0,t[2]=2;for(var n=3,o=3;r>o;++o)t[n++]=o-1,t[n++]=0,t[n++]=o;return e.indices=t,e.primitiveType=g.TRIANGLES,e}function F(e){var r=S.computeNumberOfVertices(e),t=v.createTypedArray(r,3*(r-2));t[0]=0,t[1]=1,t[2]=2,r>3&&(t[3]=0,t[4]=2,t[5]=3);for(var n=6,o=3;r-1>o;o+=2)t[n++]=o,t[n++]=o-1,t[n++]=o+1,r>o+2&&(t[n++]=o,t[n++]=o+1,t[n++]=o+2);return e.indices=t,e.primitiveType=g.TRIANGLES,e}function D(e){if(t(e.indices))return e;for(var r=S.computeNumberOfVertices(e),n=v.createTypedArray(r,r),o=0;r>o;++o)n[o]=o;return e.indices=n,e}function P(e){var r=S.computeNumberOfVertices(e),t=v.createTypedArray(r,2*(r-1));t[0]=0,t[1]=1;for(var n=2,o=2;r>o;++o)t[n++]=o-1,t[n++]=o;return e.indices=t,e.primitiveType=g.LINES,e}function B(e){var r=S.computeNumberOfVertices(e),t=v.createTypedArray(r,2*r);t[0]=0,t[1]=1;for(var n=2,o=2;r>o;++o)t[n++]=o-1,t[n++]=o;return t[n++]=r-1,t[n]=0,e.indices=t,e.primitiveType=g.LINES,e}function _(e){switch(e.primitiveType){case g.TRIANGLE_FAN:return L(e);case g.TRIANGLE_STRIP:return F(e);case g.TRIANGLES:return z(e);case g.LINE_STRIP:return P(e);case g.LINE_LOOP:return B(e);case g.LINES:return D(e)}return e}function U(e,r){Math.abs(e.y)=0||r.x>=0||t.x>=0)return void 0;var n=e.y<0,o=r.y<0,i=t.y<0;U(e,n),U(r,o),U(t,i);var a=0;a+=n?1:0,a+=o?1:0,a+=i?1:0;var s=cr.indices;1===a?(s[1]=3,s[2]=4,s[5]=6,s[7]=6,s[8]=5,n?(G(e,r,ar,ur),G(e,t,sr,lr),s[0]=0,s[3]=1,s[4]=2,s[6]=1):o?(G(r,t,ar,ur),G(r,e,sr,lr),s[0]=1,s[3]=2,s[4]=0,s[6]=2):i&&(G(t,e,ar,ur),G(t,r,sr,lr),s[0]=2,s[3]=0,s[4]=1,s[6]=0)):2===a&&(s[2]=4,s[4]=4,s[5]=3,s[7]=5,s[8]=6,n?o?i||(G(t,e,ar,ur),G(t,r,sr,lr),s[0]=0,s[1]=1,s[3]=0,s[6]=2):(G(r,t,ar,ur),G(r,e,sr,lr),s[0]=2,s[1]=0,s[3]=2,s[6]=1):(G(e,r,ar,ur),G(e,t,sr,lr),s[0]=1,s[1]=2,s[3]=1,s[6]=0));var u=cr.positions;return u[0]=e,u[1]=r,u[2]=t,cr.length=3,(1===a||2===a)&&(u[3]=ar,u[4]=sr,u[5]=ur,u[6]=lr,cr.length=7),cr}function Y(r,n,a,s,u,l,c,f){if(t(u)||t(l)||t(c)||t(f)){var m,y,h,p,d,v,g,E,C,S,w,x,A,M,b,T,I,O,N=s.positions,R=N[0],z=N[1],L=N[2];t(u)&&(m=i.fromArray(u,3*r),y=i.fromArray(u,3*n),h=i.fromArray(u,3*a)),t(l)&&(p=i.fromArray(l,3*r),d=i.fromArray(l,3*n),v=i.fromArray(l,3*a)),t(c)&&(g=i.fromArray(c,3*r),E=i.fromArray(c,3*n),C=i.fromArray(c,3*a)),t(f)&&(S=o.fromArray(f,2*r),w=o.fromArray(f,2*n),x=o.fromArray(f,2*a));for(var F=3;FE;E+=3){var C=l[E],w=l[E+1],x=l[E+2],A=i.fromArray(n,3*C),M=i.fromArray(n,3*w),b=i.fromArray(n,3*x),T=q(A,M,b);if(t(T))if(c[3*C+1]=T.positions[0].y,c[3*w+1]=T.positions[1].y,c[3*x+1]=T.positions[2].y,T.length>3){for(var I=c.length/3,O=0;ON?p.push(l[E+N]):p.push(N-3+I)}for(var R=3;Rm;m+=2){var y=o[m],p=o[m+1],d=i.fromArray(n,3*y),g=i.fromArray(n,3*p);if(Math.abs(d.y)c;c+=3)u[l++]=i[c],u[l++]=i[c+1],u[l++]=i[c+2],u[l++]=i[c]+a[c]*o,u[l++]=i[c+1]+a[c+1]*o,u[l++]=i[c+2]+a[c+2]*o;var f,m=e.boundingSphere;return t(m)&&(f=new C(m.center,m.radius+o)),new S({attributes:{position:new w({componentDatatype:d.DOUBLE,componentsPerAttribute:3,values:u})},primitiveType:g.LINES,boundingSphere:f})},H.createAttributeLocations=function(e){var r,n=["position","positionHigh","positionLow","position3DHigh","position3DLow","position2DHigh","position2DLow","pickColor","normal","st","binormal","tangent"],o=e.attributes,i={},a=0,s=n.length;for(r=0;s>r;++r){var u=n[r];t(o[u])&&(i[u]=a++)}for(var l in o)o.hasOwnProperty(l)&&!t(i[l])&&(i[l]=a++);return i},H.reorderForPreVertexCache=function(e){var r=S.computeNumberOfVertices(e),n=e.indices;if(t(n)){for(var o=new Int32Array(r),i=0;r>i;i++)o[i]=-1;for(var a,s=n,u=s.length,l=v.createTypedArray(r,u),c=0,f=0,m=0;u>c;)a=o[s[c]],-1!==a?l[f]=a:(a=s[c],o[a]=m,l[f]=m,++m),++c,++f;e.indices=l;var y=e.attributes;for(var h in y)if(y.hasOwnProperty(h)&&t(y[h])&&t(y[h].values)){for(var p=y[h],g=p.values,E=0,C=p.componentsPerAttribute,w=d.createTypedArray(p.componentDatatype,m*C);r>E;){var x=o[E];if(-1!==x)for(i=0;C>i;i++)w[C*x+i]=g[C*E+i];++E}p.values=w}}return e},H.reorderForPostVertexCache=function(e,r){var n=e.indices;if(e.primitiveType===g.TRIANGLES&&t(n)){for(var o=n.length,i=0,a=0;o>a;a++)n[a]>i&&(i=n[a]);e.indices=E.tipsify({indices:n,maximumIndex:i,cacheSize:r})}return e},H.fitToUnsignedShortIndices=function(e){var r=[],n=S.computeNumberOfVertices(e);if(t(e.indices)&&n>f.SIXTY_FOUR_KILOBYTES){var o,i=[],a=[],s=0,u=T(e.attributes),l=e.indices,c=l.length;e.primitiveType===g.TRIANGLES?o=3:e.primitiveType===g.LINES?o=2:e.primitiveType===g.POINTS&&(o=1);for(var m=0;c>m;m+=o){for(var y=0;o>y;++y){var h=l[m+y],p=i[h];t(p)||(p=s++,i[h]=p,I(u,e.attributes,h)),a.push(p)}s+o>f.SIXTY_FOUR_KILOBYTES&&(r.push(new S({attributes:u,indices:a,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere})),i=[],a=[],s=0,u=T(e.attributes))}0!==a.length&&r.push(new S({attributes:u,indices:a,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere}))}else r.push(e);return r};var k=new i,K=new s;H.projectTo2D=function(e,r,o,a,s){var u=e.attributes[r];s=t(s)?s:new p;for(var l=s.ellipsoid,c=u.values,f=new Float64Array(c.length),m=0,y=0;yc;++c)u.encode(i[c],j),s[c]=j.high,l[c]=j.low;var f=o.componentsPerAttribute;return e.attributes[t]=new w({componentDatatype:d.FLOAT,componentsPerAttribute:f,values:s}),e.attributes[n]=new w({componentDatatype:d.FLOAT,componentsPerAttribute:f,values:l}),delete e.attributes[r],e};var Z=new i,Q=new y,X=new m;H.transformToWorldCoordinates=function(e){var r=e.modelMatrix;if(y.equals(r,y.IDENTITY))return e;var n=e.geometry.attributes;O(r,n.position),O(r,n.prevPosition),O(r,n.nextPosition),(t(n.normal)||t(n.binormal)||t(n.tangent))&&(y.inverse(r,Q),y.transpose(Q,Q),y.getRotation(Q,X),N(X,n.normal),N(X,n.binormal),N(X,n.tangent));var o=e.geometry.boundingSphere;return t(o)&&(e.geometry.boundingSphere=C.transform(o,r,o)),e.modelMatrix=y.clone(y.IDENTITY),e},H.combine=function(e){var r,n,o,a,s=e.length;e[0].modelMatrix;var u,l,c,f=t(e[0].geometry.indices),m=e[0].geometry.primitiveType,y=R(e);for(r in y)if(y.hasOwnProperty(r))for(u=y[r].values,a=0,n=0;s>n;++n)for(l=e[n].geometry.attributes[r].values,c=l.length,o=0;c>o;++o)u[a++]=l[o];var h;if(f){var p=0;for(n=0;s>n;++n)p+=e[n].geometry.indices.length;var d=S.computeNumberOfVertices(new S({attributes:y,primitiveType:g.POINTS})),E=v.createTypedArray(d,p),w=0,x=0;for(n=0;s>n;++n){var A=e[n].geometry.indices,M=A.length;for(a=0;M>a;++a)E[w++]=x+A[a];x+=S.computeNumberOfVertices(e[n].geometry)}h=E}var b,T=new i,I=0;for(n=0;s>n;++n){if(b=e[n].geometry.boundingSphere,!t(b)){T=void 0;break}i.add(b.center,T,T)}if(t(T))for(i.divideByScalar(T,s,T),n=0;s>n;++n){b=e[n].geometry.boundingSphere;var O=i.magnitude(i.subtract(b.center,T))+b.radius;O>I&&(I=O)}return new S({attributes:y,indices:h,primitiveType:m,boundingSphere:t(T)?new C(T,I):void 0})};var J=new i,$=new i,er=new i,rr=new i;H.computeNormal=function(e){for(var r=e.indices,t=e.attributes,n=t.position.values,o=t.position.values.length/3,a=r.length,s=new Array(o),u=new Array(a/3),l=new Array(a),c=0;o>c;c++)s[c]={indexOffset:0,count:0,currentCount:0};var f=0;for(c=0;a>c;c+=3){var m=r[c],y=r[c+1],h=r[c+2],p=3*m,v=3*y,g=3*h;$.x=n[p],$.y=n[p+1],$.z=n[p+2],er.x=n[v],er.y=n[v+1],er.z=n[v+2],rr.x=n[g],rr.y=n[g+1],rr.z=n[g+2],s[m].count++,s[y].count++,s[h].count++,i.subtract(er,$,er),i.subtract(rr,$,rr),u[f]=i.cross(er,rr),f++}var E=0;for(c=0;o>c;c++)s[c].indexOffset+=E,E+=s[c].count;f=0;var C;for(c=0;a>c;c+=3){C=s[r[c]];var S=C.indexOffset+C.currentCount;l[S]=f,C.currentCount++,C=s[r[c+1]],S=C.indexOffset+C.currentCount,l[S]=f,C.currentCount++,C=s[r[c+2]],S=C.indexOffset+C.currentCount,l[S]=f,C.currentCount++,f++}var x=new Float32Array(3*o);for(c=0;o>c;c++){var A=3*c;if(C=s[c],C.count>0){for(i.clone(i.ZERO,J),f=0;fl;l+=3){var y=r[l],h=r[l+1],p=r[l+2];c=3*y,f=3*h,m=3*p;var v=2*y,g=2*h,E=2*p,C=t[c],S=t[c+1],x=t[c+2],A=o[v],M=o[v+1],b=o[g+1]-M,T=o[E+1]-M,I=1/((o[g]-A)*T-(o[E]-A)*b),O=(T*(t[f]-C)-b*(t[m]-C))*I,N=(T*(t[f+1]-S)-b*(t[m+1]-S))*I,R=(T*(t[f+2]-x)-b*(t[m+2]-x))*I;u[c]+=O,u[c+1]+=N,u[c+2]+=R,u[f]+=O,u[f+1]+=N,u[f+2]+=R,u[m]+=O,u[m+1]+=N,u[m+2]+=R}var z=new Float32Array(3*a),L=new Float32Array(3*a);for(l=0;a>l;l++){c=3*l,f=c+1,m=c+2;var F=i.fromArray(n,c,tr),D=i.fromArray(u,c,or),P=i.dot(F,D);i.multiplyByScalar(F,P,nr),i.normalize(i.subtract(D,nr,D),D),L[c]=D.x,L[f]=D.y,L[m]=D.z,i.normalize(i.cross(F,D,D),D),z[c]=D.x,z[f]=D.y,z[m]=D.z}return e.attributes.tangent=new w({componentDatatype:d.FLOAT,componentsPerAttribute:3,values:L}),e.attributes.binormal=new w({componentDatatype:d.FLOAT,componentsPerAttribute:3,values:z}),e};var ir=new i,ar=new i,sr=new i,ur=new i,lr=new i,cr={positions:new Array(7),indices:new Array(9)};return H.wrapLongitude=function(e){var r=e.boundingSphere;if(t(r)){var n=r.center.x-r.radius;if(n>0||C.intersect(r,a.UNIT_Y)!==l.INTERSECTING)return e}return _(e),e.primitiveType===g.TRIANGLES?W(e):e.primitiveType===g.LINES&&V(e),e},H}),define("Scene/PrimitivePipeline",["../Core/defined","../Core/defaultValue","../Core/Color","../Core/ComponentDatatype","../Core/DeveloperError","../Core/FeatureDetection","../Core/Geometry","../Core/GeometryAttribute","../Core/GeometryPipeline","../Core/Matrix4"],function(e,r,t,n,o,i,a,s,u,l){"use strict";function c(e,r,t){var n,o=!t,i=e.length;if(!o&&i>1){var a=e[0].modelMatrix;for(n=1;i>n;++n)if(!l.equals(a,e[n].modelMatrix)){o=!0;break}}if(o)for(n=0;i>n;++n)u.transformToWorldCoordinates(e[n]);else l.clone(e[0].modelMatrix,r)}function f(e,r){for(var o=e.length,i=0;o>i;++i){var a=e[i],u=a.geometry,l=u.attributes,c=l.position,f=4*(c.values.length/c.componentsPerAttribute);l.pickColor=new s({componentDatatype:n.UNSIGNED_BYTE,componentsPerAttribute:4,normalize:!0,values:new Uint8Array(f)});for(var m=r[i],y=t.floatToByte(m.red),h=t.floatToByte(m.green),p=t.floatToByte(m.blue),d=t.floatToByte(m.alpha),v=l.pickColor.values,g=0;f>g;g+=4)v[g]=y,v[g+1]=h,v[g+2]=p,v[g+3]=d +}}function m(r){var t,n=r.length,o=[],i=r[0].attributes;for(t in i)if(i.hasOwnProperty(t)){for(var a=i[t],s=!0,u=1;n>u;++u){var l=r[u].attributes[t];if(!e(l)||a.componentDatatype.value!==l.componentDatatype.value||a.componentsPerAttribute!==l.componentsPerAttribute||a.normalize!==l.normalize){s=!1;break}}s&&o.push(t)}return o}function y(e,r){for(var t=e.length,o=0;t>o;++o)for(var i=e[o],u=i.attributes,l=i.geometry,c=a.computeNumberOfVertices(l),f=r.length,m=0;f>m;++m){for(var y=r[m],h=u[y],p=h.componentDatatype,d=h.value,v=d.length,g=n.createTypedArray(p,c*v),E=0;c>E;++E)g.set(d,E*v);l.attributes[y]=new s({componentDatatype:p,componentsPerAttribute:v,normalize:h.normalize,values:g})}}function h(e){var r,t=e.instances,o=e.pickIds,i=e.projection,a=e.elementIndexUintSupported,s=e.allow3DOnly,l=e.allowPicking,h=e.vertexCacheOptimize,p=e.modelMatrix,d=t.length;if(t[0].geometry.primitiveType,c(t,p,s),!s)for(r=0;d>r;++r)u.wrapLongitude(t[r].geometry);l&&f(t,o);var v=m(t);if(y(t,v),h)for(r=0;d>r;++r)u.reorderForPostVertexCache(t[r].geometry),u.reorderForPreVertexCache(t[r].geometry);var g,E=u.combine(t),C=E.attributes;if(s)for(g in C)C.hasOwnProperty(g)&&C[g].componentDatatype.value===n.DOUBLE.value&&u.encodeAttribute(E,g,g+"3DHigh",g+"3DLow");else for(g in C)if(C.hasOwnProperty(g)&&C[g].componentDatatype.value===n.DOUBLE.value){var S=g+"3D",w=g+"2D";u.projectTo2D(E,g,S,w,i),u.encodeAttribute(E,S,S+"High",S+"Low"),u.encodeAttribute(E,w,w+"High",w+"Low")}return a?[E]:u.fitToUnsignedShortIndices(E)}function p(e,r,t){for(var o=[],i=e.attributes,a=t.length,s=0;a>s;++s){var u=t[s],l=i[u],c=l.componentDatatype;c.value===n.DOUBLE.value&&(c=n.FLOAT);var f=n.createTypedArray(c,l.values);o.push({index:r[u],componentDatatype:c,componentsPerAttribute:l.componentsPerAttribute,normalize:l.normalize,values:f}),delete i[u]}return o}function d(t,n,o){for(var i=[],s=m(t),u=t.length,l={},c={},f=0;u>f;++f)for(var y=t[f],h=a.computeNumberOfVertices(y.geometry),p=s.length,d=0;p>d;++d)for(var v=s[d],g=o[v],E=h;E>0;){for(var C,S=r(c[v],0),w=n[S],x=w.length,A=0;x>A&&(C=w[A],C.index!==g);++A);e(i[f])||(i[f]={}),e(i[f][v])||(i[f][v]={dirty:!1,value:y.attributes[v].value,indices:[]});var M,b=C.values.length/C.componentsPerAttribute,T=r(l[v],0);b>T+E?(M=E,i[f][v].indices.push({attribute:C,offset:T,count:M}),l[v]=T+E):(M=b-T,i[f][v].indices.push({attribute:C,offset:T,count:M}),l[v]=0,c[v]=S+1),E-=M}return i}function v(r){return e(r.constructor.name)?{type:r.constructor.name,buffer:r.buffer}:r}function g(r){return e(r.type)?new C[r.type](r.buffer):r}if(!i.supportsTypedArrays())return{};var E={};E.combineGeometry=function(e){for(var r={instances:e.instances,pickIds:e.pickIds,ellipsoid:e.ellipsoid,projection:e.projection,elementIndexUintSupported:e.elementIndexUintSupported,allow3DOnly:e.allow3DOnly,allowPicking:e.allowPicking,vertexCacheOptimize:e.vertexCacheOptimize,modelMatrix:l.clone(e.modelMatrix)},t=h(r),n=u.createAttributeLocations(t[0]),o=r.instances,i=m(o),a=[],s=t.length,c=0;s>c;++c){var f=t[c];a.push(p(f,n,i))}var y=d(o,a,n);return{geometries:t,modelMatrix:r.modelMatrix,attributeLocations:n,vaAttributes:a,vaAttributeLocations:y}};var C={Int8Array:Int8Array,Uint8Array:Uint8Array,Int16Array:Int16Array,Uint16Array:Uint16Array,Int32Array:Int32Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array};return E.transferGeometry=function(r,t){var n,o=r.attributes;for(var a in o)o.hasOwnProperty(a)&&e(o[a])&&e(o[a].values)&&(n=o[a].values,i.supportsTransferringArrayBuffers()&&t.indexOf(o[a].values.buffer)<0&&t.push(n.buffer),e(n.type)||(o[a].values=v(n)));e(r.indices)&&(n=r.indices,i.supportsTransferringArrayBuffers()&&t.push(n.buffer),e(n.type)||(r.indices=v(r.indices)))},E.transferGeometries=function(e,r){for(var t=e.length,n=0;t>n;++n)E.transferGeometry(e[n],r)},E.transferPerInstanceAttributes=function(e,r){for(var t=e.length,n=0;t>n;++n)for(var o=e[n],a=o.length,s=0;a>s;++s){var u=o[s].values;i.supportsTransferringArrayBuffers()&&r.push(u.buffer),o[s].values=v(u)}},E.transferInstances=function(e,r){for(var t=e.length,n=0;t>n;++n){var o=e[n];E.transferGeometry(o.geometry,r)}},E.receiveGeometry=function(r){var t=r.attributes;for(var n in t)t.hasOwnProperty(n)&&e(t[n])&&e(t[n].values)&&(t[n].values=g(t[n].values));e(r.indices)&&(r.indices=g(r.indices))},E.receiveGeometries=function(e){for(var r=e.length,t=0;r>t;++t)E.receiveGeometry(e[t])},E.receivePerInstanceAttributes=function(e){for(var r=e.length,t=0;r>t;++t)for(var n=e[t],o=n.length,i=0;o>i;++i)n[i].values=g(n[i].values)},E.receiveInstances=function(e){for(var r=e.length,t=0;r>t;++t){var n=e[t];E.receiveGeometry(n.geometry)}},E}),define("Workers/createTaskProcessorWorker",["../Core/defaultValue","../Core/defined"],function(e,r){"use strict";var t=function(t){var n,o=[],i={id:void 0,result:void 0,error:void 0};return function(a){var s=a.data;o.length=0,i.id=s.id,i.error=void 0,i.result=void 0;try{i.result=t(s.parameters,o)}catch(u){i.error=u}r(n)||(n=e(self.webkitPostMessage,self.postMessage));try{n(i,o)}catch(u){i.result=void 0,i.error="postMessage failed with error: "+u+"\n with responseMessage: "+JSON.stringify(i),n(i)}}};return t}),define("Workers/createSimplePolylineGeometry",["../Core/SimplePolylineGeometry","../Scene/PrimitivePipeline","./createTaskProcessorWorker"],function(e,r,t){"use strict";function n(t,n){var o=t.geometry,i=e.createGeometry(o);return r.transferGeometry(i,n),{geometry:i,index:t.index}}return t(n)})}(); \ No newline at end of file diff --git a/Cesium/Workers/createSphereGeometry.js b/Cesium/Workers/createSphereGeometry.js new file mode 100644 index 0000000..1e2c898 --- /dev/null +++ b/Cesium/Workers/createSphereGeometry.js @@ -0,0 +1,61 @@ +/** + * Cesium - https://github.com/AnalyticalGraphicsInc/cesium + * + * Copyright 2011-2014 Cesium Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Columbus View (Pat. Pend.) + * + * Portions licensed separately. + * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details. + */ +/** +@license +mersenne-twister.js - https://gist.github.com/banksean/300494 + + Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura, + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. The names of its contributors may not be used to endorse or promote + products derived from this software without specific prior written + permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +!function(){define("Core/defined",[],function(){"use strict";var e=function(e){return void 0!==e};return e}),define("Core/freezeObject",["./defined"],function(e){"use strict";var r=Object.freeze;return e(r)||(r=function(e){return e}),r}),define("Core/defaultValue",["./freezeObject"],function(e){"use strict";var r=function(e,r){return void 0!==e?e:r};return r.EMPTY_OBJECT=e({}),r}),define("Core/DeveloperError",["./defined"],function(e){"use strict";var r=function(e){this.name="DeveloperError",this.message=e;var r;try{throw new Error}catch(t){r=t.stack}this.stack=r};return r.prototype.toString=function(){var r=this.name+": "+this.message;return e(this.stack)&&(r+="\n"+this.stack.toString()),r},r.throwInstantiationError=function(){throw new r("This function defines an interface and should not be called directly.")},r}),define("Core/Cartesian3",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,r,t,n){"use strict";var o=function(r,t,n){this.x=e(r,0),this.y=e(t,0),this.z=e(n,0)};o.fromSpherical=function(t,n){r(n)||(n=new o);var i=t.clock,a=t.cone,s=e(t.magnitude,1),u=s*Math.sin(a);return n.x=u*Math.cos(i),n.y=u*Math.sin(i),n.z=s*Math.cos(a),n},o.fromElements=function(e,t,n,i){return r(i)?(i.x=e,i.y=t,i.z=n,i):new o(e,t,n)},o.clone=function(e,t){return r(e)?r(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t):new o(e.x,e.y,e.z):void 0},o.fromCartesian4=o.clone,o.packedLength=3,o.pack=function(r,t,n){n=e(n,0),t[n++]=r.x,t[n++]=r.y,t[n]=r.z},o.unpack=function(t,n,i){return n=e(n,0),r(i)||(i=new o),i.x=t[n++],i.y=t[n++],i.z=t[n],i},o.fromArray=o.unpack,o.getMaximumComponent=function(e){return Math.max(e.x,e.y,e.z)},o.getMinimumComponent=function(e){return Math.min(e.x,e.y,e.z)},o.getMinimumByComponent=function(e,t,n){return r(n)||(n=new o),n.x=Math.min(e.x,t.x),n.y=Math.min(e.y,t.y),n.z=Math.min(e.z,t.z),n},o.getMaximumByComponent=function(e,t,n){return r(n)||(n=new o),n.x=Math.max(e.x,t.x),n.y=Math.max(e.y,t.y),n.z=Math.max(e.z,t.z),n},o.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z},o.magnitude=function(e){return Math.sqrt(o.magnitudeSquared(e))};var i=new o;o.distance=function(e,r){return o.subtract(e,r,i),o.magnitude(i)},o.normalize=function(e,t){var n=o.magnitude(e);return r(t)?(t.x=e.x/n,t.y=e.y/n,t.z=e.z/n,t):new o(e.x/n,e.y/n,e.z/n)},o.dot=function(e,r){return e.x*r.x+e.y*r.y+e.z*r.z},o.multiplyComponents=function(e,t,n){return r(n)?(n.x=e.x*t.x,n.y=e.y*t.y,n.z=e.z*t.z,n):new o(e.x*t.x,e.y*t.y,e.z*t.z)},o.add=function(e,t,n){return r(n)?(n.x=e.x+t.x,n.y=e.y+t.y,n.z=e.z+t.z,n):new o(e.x+t.x,e.y+t.y,e.z+t.z)},o.subtract=function(e,t,n){return r(n)?(n.x=e.x-t.x,n.y=e.y-t.y,n.z=e.z-t.z,n):new o(e.x-t.x,e.y-t.y,e.z-t.z)},o.multiplyByScalar=function(e,t,n){return r(n)?(n.x=e.x*t,n.y=e.y*t,n.z=e.z*t,n):new o(e.x*t,e.y*t,e.z*t)},o.divideByScalar=function(e,t,n){return r(n)?(n.x=e.x/t,n.y=e.y/t,n.z=e.z/t,n):new o(e.x/t,e.y/t,e.z/t)},o.negate=function(e,t){return r(t)?(t.x=-e.x,t.y=-e.y,t.z=-e.z,t):new o(-e.x,-e.y,-e.z)},o.abs=function(e,t){return r(t)?(t.x=Math.abs(e.x),t.y=Math.abs(e.y),t.z=Math.abs(e.z),t):new o(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z))};var a=new o;o.lerp=function(e,r,t,n){return o.multiplyByScalar(r,t,a),n=o.multiplyByScalar(e,1-t,n),o.add(a,n,n)};var s=new o,u=new o;o.angleBetween=function(e,r){o.normalize(e,s),o.normalize(r,u);var t=o.dot(s,u),n=o.magnitude(o.cross(s,u,s));return Math.atan2(n,t)};var l=new o;return o.mostOrthogonalAxis=function(e,r){var t=o.normalize(e,l);return o.abs(t,t),r=t.x<=t.y?t.x<=t.z?o.clone(o.UNIT_X,r):o.clone(o.UNIT_Z,r):t.y<=t.z?o.clone(o.UNIT_Y,r):o.clone(o.UNIT_Z,r)},o.equals=function(e,t){return e===t||r(e)&&r(t)&&e.x===t.x&&e.y===t.y&&e.z===t.z},o.equalsEpsilon=function(e,t,n){return e===t||r(e)&&r(t)&&Math.abs(e.x-t.x)<=n&&Math.abs(e.y-t.y)<=n&&Math.abs(e.z-t.z)<=n},o.cross=function(e,t,n){var i=e.x,a=e.y,s=e.z,u=t.x,l=t.y,c=t.z,f=a*c-s*l,m=s*u-i*c,y=i*l-a*u;return r(n)?(n.x=f,n.y=m,n.z=y,n):new o(f,m,y)},o.ZERO=n(new o(0,0,0)),o.UNIT_X=n(new o(1,0,0)),o.UNIT_Y=n(new o(0,1,0)),o.UNIT_Z=n(new o(0,0,1)),o.prototype.clone=function(e){return o.clone(this,e)},o.prototype.equals=function(e){return o.equals(this,e)},o.prototype.equalsEpsilon=function(e,r){return o.equalsEpsilon(this,e,r)},o.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+")"},o}),define("Core/Cartesian2",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,r,t,n){"use strict";var o=function(r,t){this.x=e(r,0),this.y=e(t,0)};o.fromElements=function(e,t,n){return r(n)?(n.x=e,n.y=t,n):new o(e,t)},o.clone=function(e,t){return r(e)?r(t)?(t.x=e.x,t.y=e.y,t):new o(e.x,e.y):void 0},o.fromCartesian3=o.clone,o.fromCartesian4=o.clone,o.packedLength=2,o.pack=function(r,t,n){n=e(n,0),t[n++]=r.x,t[n]=r.y},o.unpack=function(t,n,i){return n=e(n,0),r(i)||(i=new o),i.x=t[n++],i.y=t[n],i},o.fromArray=o.unpack,o.getMaximumComponent=function(e){return Math.max(e.x,e.y)},o.getMinimumComponent=function(e){return Math.min(e.x,e.y)},o.getMinimumByComponent=function(e,t,n){return r(n)||(n=new o),n.x=Math.min(e.x,t.x),n.y=Math.min(e.y,t.y),n},o.getMaximumByComponent=function(e,t,n){return r(n)||(n=new o),n.x=Math.max(e.x,t.x),n.y=Math.max(e.y,t.y),n},o.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y},o.magnitude=function(e){return Math.sqrt(o.magnitudeSquared(e))};var i=new o;o.distance=function(e,r){return o.subtract(e,r,i),o.magnitude(i)},o.normalize=function(e,t){var n=o.magnitude(e);return r(t)?(t.x=e.x/n,t.y=e.y/n,t):new o(e.x/n,e.y/n)},o.dot=function(e,r){return e.x*r.x+e.y*r.y},o.multiplyComponents=function(e,t,n){return r(n)?(n.x=e.x*t.x,n.y=e.y*t.y,n):new o(e.x*t.x,e.y*t.y)},o.add=function(e,t,n){return r(n)?(n.x=e.x+t.x,n.y=e.y+t.y,n):new o(e.x+t.x,e.y+t.y)},o.subtract=function(e,t,n){return r(n)?(n.x=e.x-t.x,n.y=e.y-t.y,n):new o(e.x-t.x,e.y-t.y)},o.multiplyByScalar=function(e,t,n){return r(n)?(n.x=e.x*t,n.y=e.y*t,n):new o(e.x*t,e.y*t)},o.divideByScalar=function(e,t,n){return r(n)?(n.x=e.x/t,n.y=e.y/t,n):new o(e.x/t,e.y/t)},o.negate=function(e,t){return r(t)?(t.x=-e.x,t.y=-e.y,t):new o(-e.x,-e.y)},o.abs=function(e,t){return r(t)?(t.x=Math.abs(e.x),t.y=Math.abs(e.y),t):new o(Math.abs(e.x),Math.abs(e.y))};var a=new o;o.lerp=function(e,r,t,n){return o.multiplyByScalar(r,t,a),n=o.multiplyByScalar(e,1-t,n),o.add(a,n,n)};var s=new o,u=new o;o.angleBetween=function(e,r){return o.normalize(e,s),o.normalize(r,u),Math.acos(o.dot(s,u))};var l=new o;return o.mostOrthogonalAxis=function(e,r){var t=o.normalize(e,l);return o.abs(t,t),r=t.x<=t.y?o.clone(o.UNIT_X,r):o.clone(o.UNIT_Y,r)},o.equals=function(e,t){return e===t||r(e)&&r(t)&&e.x===t.x&&e.y===t.y},o.equalsEpsilon=function(e,t,n){return e===t||r(e)&&r(t)&&Math.abs(e.x-t.x)<=n&&Math.abs(e.y-t.y)<=n},o.ZERO=n(new o(0,0)),o.UNIT_X=n(new o(1,0)),o.UNIT_Y=n(new o(0,1)),o.prototype.clone=function(e){return o.clone(this,e)},o.prototype.equals=function(e){return o.equals(this,e)},o.prototype.equalsEpsilon=function(e,r){return o.equalsEpsilon(this,e,r)},o.prototype.toString=function(){return"("+this.x+", "+this.y+")"},o}),define("ThirdParty/mersenne-twister",[],function(){var e=function(e){void 0==e&&(e=(new Date).getTime()),this.N=624,this.M=397,this.MATRIX_A=2567483615,this.UPPER_MASK=2147483648,this.LOWER_MASK=2147483647,this.mt=new Array(this.N),this.mti=this.N+1,this.init_genrand(e)};return e.prototype.init_genrand=function(e){for(this.mt[0]=e>>>0,this.mti=1;this.mti>>30;this.mt[this.mti]=(1812433253*((4294901760&e)>>>16)<<16)+1812433253*(65535&e)+this.mti,this.mt[this.mti]>>>=0}},e.prototype.genrand_int32=function(){var e,r=new Array(0,this.MATRIX_A);if(this.mti>=this.N){var t;for(this.mti==this.N+1&&this.init_genrand(5489),t=0;t>>1^r[1&e];for(;t>>1^r[1&e];e=this.mt[this.N-1]&this.UPPER_MASK|this.mt[0]&this.LOWER_MASK,this.mt[this.N-1]=this.mt[this.M-1]^e>>>1^r[1&e],this.mti=0}return e=this.mt[this.mti++],e^=e>>>11,e^=2636928640&e<<7,e^=4022730752&e<<15,e^=e>>>18,e>>>0},e.prototype.random=function(){return this.genrand_int32()*(1/4294967296)},e}),define("Core/Math",["./defaultValue","./defined","./DeveloperError","../ThirdParty/mersenne-twister"],function(e,r,t,n){"use strict";var o={};o.EPSILON1=.1,o.EPSILON2=.01,o.EPSILON3=.001,o.EPSILON4=1e-4,o.EPSILON5=1e-5,o.EPSILON6=1e-6,o.EPSILON7=1e-7,o.EPSILON8=1e-8,o.EPSILON9=1e-9,o.EPSILON10=1e-10,o.EPSILON11=1e-11,o.EPSILON12=1e-12,o.EPSILON13=1e-13,o.EPSILON14=1e-14,o.EPSILON15=1e-15,o.EPSILON16=1e-16,o.EPSILON17=1e-17,o.EPSILON18=1e-18,o.EPSILON19=1e-19,o.EPSILON20=1e-20,o.GRAVITATIONALPARAMETER=3986004418e5,o.SOLAR_RADIUS=6955e5,o.LUNAR_RADIUS=1737400,o.SIXTY_FOUR_KILOBYTES=65536,o.sign=function(e){return e>0?1:0>e?-1:0},o.sinh=function(e){var r=Math.pow(Math.E,e),t=Math.pow(Math.E,-1*e);return.5*(r-t)},o.cosh=function(e){var r=Math.pow(Math.E,e),t=Math.pow(Math.E,-1*e);return.5*(r+t)},o.lerp=function(e,r,t){return(1-t)*e+t*r},o.PI=Math.PI,o.ONE_OVER_PI=1/Math.PI,o.PI_OVER_TWO=.5*Math.PI,o.PI_OVER_THREE=Math.PI/3,o.PI_OVER_FOUR=Math.PI/4,o.PI_OVER_SIX=Math.PI/6,o.THREE_PI_OVER_TWO=.5*3*Math.PI,o.TWO_PI=2*Math.PI,o.ONE_OVER_TWO_PI=1/(2*Math.PI),o.RADIANS_PER_DEGREE=Math.PI/180,o.DEGREES_PER_RADIAN=180/Math.PI,o.RADIANS_PER_ARCSECOND=o.RADIANS_PER_DEGREE/3600,o.toRadians=function(e){return e*o.RADIANS_PER_DEGREE},o.toDegrees=function(e){return e*o.DEGREES_PER_RADIAN},o.convertLongitudeRange=function(e){var r=o.TWO_PI,t=e-Math.floor(e/r)*r;return t<-Math.PI?t+r:t>=Math.PI?t-r:t},o.negativePiToPi=function(e){for(var r=o.EPSILON10,t=o.PI,n=o.TWO_PI;-(t+r)>e;)e+=n;if(-t>e)return-t;for(;e>t+r;)e-=n;return e>t?t:e},o.zeroToTwoPi=function(e){var r=e%o.TWO_PI;return 0>r?(r+o.TWO_PI)%o.TWO_PI:r},o.equalsEpsilon=function(r,t,n){return n=e(n,0),Math.abs(r-t)<=n};var i=[1];o.factorial=function(e){var r=i.length;if(e>=r)for(var t=i[r-1],n=r;e>=n;n++)i.push(t*n);return i[e]},o.incrementWrap=function(r,t,n){return n=e(n,0),++r,r>t&&(r=n),r},o.isPowerOfTwo=function(e){return 0!==e&&0===(e&e-1)},o.nextPowerOfTwo=function(e){return--e,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,++e,e},o.clamp=function(e,r,t){return r>e?r:e>t?t:e};var a=new n;return o.setRandomNumberSeed=function(e){a=new n(e)},o.nextRandomNumber=function(){return a.random()},o}),define("Core/defineProperties",["./defined"],function(e){"use strict";var r=function(){try{return"x"in Object.defineProperty({},"x",{})}catch(e){return!1}}(),t=Object.defineProperties;return r&&e(t)||(t=function(e){return e}),t}),define("Core/Cartographic",["./defaultValue","./defined","./DeveloperError","./freezeObject","./Math"],function(e,r,t,n,o){"use strict";var i=function(r,t,n){this.longitude=e(r,0),this.latitude=e(t,0),this.height=e(n,0)};return i.fromDegrees=function(t,n,a,s){return t=o.toRadians(e(t,0)),n=o.toRadians(e(n,0)),a=e(a,0),r(s)?(s.longitude=t,s.latitude=n,s.height=a,s):new i(t,n,a)},i.clone=function(e,t){return r(e)?r(t)?(t.longitude=e.longitude,t.latitude=e.latitude,t.height=e.height,t):new i(e.longitude,e.latitude,e.height):void 0},i.equals=function(e,t){return e===t||r(e)&&r(t)&&e.longitude===t.longitude&&e.latitude===t.latitude&&e.height===t.height},i.equalsEpsilon=function(e,t,n){return e===t||r(e)&&r(t)&&Math.abs(e.longitude-t.longitude)<=n&&Math.abs(e.latitude-t.latitude)<=n&&Math.abs(e.height-t.height)<=n},i.toString=function(e){return"("+e.longitude+", "+e.latitude+", "+e.height+")"},i.ZERO=n(new i(0,0,0)),i.prototype.clone=function(e){return i.clone(this,e)},i.prototype.equals=function(e){return i.equals(this,e)},i.prototype.equalsEpsilon=function(e,r){return i.equalsEpsilon(this,e,r)},i.prototype.toString=function(){return i.toString(this)},i}),define("Core/Ellipsoid",["./freezeObject","./defaultValue","./defined","./defineProperties","./DeveloperError","./Math","./Cartesian3","./Cartographic"],function(e,r,t,n,o,i,a,s){"use strict";var u=function(e,t,n){e=r(e,0),t=r(t,0),n=r(n,0),this._radii=new a(e,t,n),this._radiiSquared=new a(e*e,t*t,n*n),this._radiiToTheFourth=new a(e*e*e*e,t*t*t*t,n*n*n*n),this._oneOverRadii=new a(0===e?0:1/e,0===t?0:1/t,0===n?0:1/n),this._oneOverRadiiSquared=new a(0===e?0:1/(e*e),0===t?0:1/(t*t),0===n?0:1/(n*n)),this._minimumRadius=Math.min(e,t,n),this._maximumRadius=Math.max(e,t,n),this._centerToleranceSquared=i.EPSILON1};n(u.prototype,{radii:{get:function(){return this._radii}},radiiSquared:{get:function(){return this._radiiSquared}},radiiToTheFourth:{get:function(){return this._radiiToTheFourth}},oneOverRadii:{get:function(){return this._oneOverRadii}},oneOverRadiiSquared:{get:function(){return this._oneOverRadiiSquared}},minimumRadius:{get:function(){return this._minimumRadius}},maximumRadius:{get:function(){return this._maximumRadius}}}),u.clone=function(e,r){if(!t(e))return void 0;var n=e._radii;return t(r)?(a.clone(n,r._radii),a.clone(e._radiiSquared,r._radiiSquared),a.clone(e._radiiToTheFourth,r._radiiToTheFourth),a.clone(e._oneOverRadii,r._oneOverRadii),a.clone(e._oneOverRadiiSquared,r._oneOverRadiiSquared),r._minimumRadius=e._minimumRadius,r._maximumRadius=e._maximumRadius,r._centerToleranceSquared=e._centerToleranceSquared,r):new u(n.x,n.y,n.z)},u.fromCartesian3=function(e){return t(e)?new u(e.x,e.y,e.z):new u},u.WGS84=e(new u(6378137,6378137,6356752.314245179)),u.UNIT_SPHERE=e(new u(1,1,1)),u.MOON=e(new u(i.LUNAR_RADIUS,i.LUNAR_RADIUS,i.LUNAR_RADIUS)),u.prototype.clone=function(e){return u.clone(this,e)},u.prototype.geocentricSurfaceNormal=a.normalize,u.prototype.geodeticSurfaceNormalCartographic=function(e,r){var n=e.longitude,o=e.latitude,i=Math.cos(o),s=i*Math.cos(n),u=i*Math.sin(n),l=Math.sin(o);return t(r)||(r=new a),r.x=s,r.y=u,r.z=l,a.normalize(r,r)},u.prototype.geodeticSurfaceNormal=function(e,r){return r=a.multiplyComponents(e,this._oneOverRadiiSquared,r),a.normalize(r,r)};var l=new a,c=new a;u.prototype.cartographicToCartesian=function(e,r){var t=l,n=c;this.geodeticSurfaceNormalCartographic(e,t),a.multiplyComponents(this._radiiSquared,t,n);var o=Math.sqrt(a.dot(t,n));return a.divideByScalar(n,o,n),a.multiplyByScalar(t,e.height,t),a.add(n,t,r)},u.prototype.cartographicArrayToCartesianArray=function(e,r){var n=e.length;t(r)?r.length=n:r=new Array(n);for(var o=0;n>o;o++)r[o]=this.cartographicToCartesian(e[o],r[o]);return r};var f=new a,m=new a,y=new a;u.prototype.cartesianToCartographic=function(e,r){var n=this.scaleToGeodeticSurface(e,m);if(!t(n))return void 0;var o=this.geodeticSurfaceNormal(n,f),u=a.subtract(e,n,y),l=Math.atan2(o.y,o.x),c=Math.asin(o.z),h=i.sign(a.dot(u,e))*a.magnitude(u);return t(r)?(r.longitude=l,r.latitude=c,r.height=h,r):new s(l,c,h)},u.prototype.cartesianArrayToCartographicArray=function(e,r){var n=e.length;t(r)?r.length=n:r=new Array(n);for(var o=0;n>o;++o)r[o]=this.cartesianToCartographic(e[o],r[o]);return r};var h=new a,p=new a;return u.prototype.scaleToGeodeticSurface=function(e,r){var n=e.x,o=e.y,s=e.z,u=this._oneOverRadii,l=u.x,c=u.y,f=u.z,m=n*n*l*l,y=o*o*c*c,d=s*s*f*f,v=m+y+d,g=Math.sqrt(1/v),E=a.multiplyByScalar(e,g,h);if(vi.EPSILON12);return t(r)?(r.x=n*b,r.y=o*I,r.z=s*O,r):new a(n*b,o*I,s*O)},u.prototype.scaleToGeocentricSurface=function(e,r){var t=e.x,n=e.y,o=e.z,i=this._oneOverRadiiSquared,s=1/Math.sqrt(t*t*i.x+n*n*i.y+o*o*i.z);return a.multiplyByScalar(e,s,r)},u.prototype.transformPositionToScaledSpace=function(e,r){return a.multiplyComponents(e,this._oneOverRadii,r)},u.prototype.transformPositionFromScaledSpace=function(e,r){return a.multiplyComponents(e,this._radii,r)},u.prototype.equals=function(e){return this===e||t(e)&&a.equals(this._radii,e._radii)},u.prototype.toString=function(){return this._radii.toString()},u}),define("Core/Fullscreen",["./defined"],function(e){"use strict";var r,t={requestFullscreen:void 0,exitFullscreen:void 0,fullscreenEnabled:void 0,fullscreenElement:void 0,fullscreenchange:void 0,fullscreenerror:void 0},n={};return n.supportsFullscreen=function(){if(e(r))return r;r=!1;var n=document.body;if("function"==typeof n.requestFullscreen)return t.requestFullscreen="requestFullscreen",t.exitFullscreen="exitFullscreen",t.fullscreenEnabled="fullscreenEnabled",t.fullscreenElement="fullscreenElement",t.fullscreenchange="fullscreenchange",t.fullscreenerror="fullscreenerror",r=!0;for(var o,i=["webkit","moz","o","ms","khtml"],a=0,s=i.length;s>a;++a){var u=i[a];o=u+"RequestFullscreen","function"==typeof n[o]?(t.requestFullscreen=o,r=!0):(o=u+"RequestFullScreen","function"==typeof n[o]&&(t.requestFullscreen=o,r=!0)),o=u+"ExitFullscreen","function"==typeof document[o]?t.exitFullscreen=o:(o=u+"CancelFullScreen","function"==typeof document[o]&&(t.exitFullscreen=o)),o=u+"FullscreenEnabled",e(document[o])?t.fullscreenEnabled=o:(o=u+"FullScreenEnabled",e(document[o])&&(t.fullscreenEnabled=o)),o=u+"FullscreenElement",e(document[o])?t.fullscreenElement=o:(o=u+"FullScreenElement",e(document[o])&&(t.fullscreenElement=o)),o=u+"fullscreenchange",e(document["on"+o])&&("ms"===u&&(o="MSFullscreenChange"),t.fullscreenchange=o),o=u+"fullscreenerror",e(document["on"+o])&&("ms"===u&&(o="MSFullscreenError"),t.fullscreenerror=o)}return r},n.requestFullscreen=function(e){n.supportsFullscreen()&&e[t.requestFullscreen]()},n.exitFullscreen=function(){n.supportsFullscreen()&&document[t.exitFullscreen]()},n.isFullscreenEnabled=function(){return n.supportsFullscreen()?document[t.fullscreenEnabled]:void 0},n.getFullscreenElement=function(){return n.supportsFullscreen()?document[t.fullscreenElement]:void 0},n.isFullscreen=function(){return n.supportsFullscreen()?null!==n.getFullscreenElement():void 0},n.getFullscreenChangeEventName=function(){return n.supportsFullscreen()?t.fullscreenchange:void 0},n.getFullscreenErrorEventName=function(){return n.supportsFullscreen()?t.fullscreenerror:void 0},n}),define("Core/FeatureDetection",["./defined","./Fullscreen"],function(e,r){"use strict";function t(e){for(var r=e.split("."),t=0,n=r.length;n>t;++t)r[t]=parseInt(r[t],10);return r}function n(){if(!e(f)){var r=/ Chrome\/([\.0-9]+)/.exec(navigator.userAgent);null===r?f=!1:(f=!0,m=t(r[1]))}return f}function o(){return n()&&m}function i(){if(!e(y))if(n()||!/ Safari\/[\.0-9]+/.test(navigator.userAgent))y=!1;else{var r=/ Version\/([\.0-9]+)/.exec(navigator.userAgent);null===r?y=!1:(y=!0,h=t(r[1]))}return y}function a(){return i()&&h}function s(){if(!e(p)){var r=/ AppleWebKit\/([\.0-9]+)(\+?)/.exec(navigator.userAgent);null===r?p=!1:(p=!0,d=t(r[1]),d.isNightly=!!r[2])}return p}function u(){return s()&&d}function l(){if(!e(v)){var r;"Microsoft Internet Explorer"===navigator.appName?(r=/MSIE ([0-9]{1,}[\.0-9]{0,})/.exec(navigator.userAgent),null!==r&&(v=!0,g=t(r[1]))):"Netscape"===navigator.appName?(r=/Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/.exec(navigator.userAgent),null!==r&&(v=!0,g=t(r[1]))):v=!1}return v}function c(){return l()&&g}var f,m,y,h,p,d,v,g,E={isChrome:n,chromeVersion:o,isSafari:i,safariVersion:a,isWebkit:s,webkitVersion:u,isInternetExplorer:l,internetExplorerVersion:c};E.supportsFullscreen=function(){return r.supportsFullscreen()},E.supportsTypedArrays=function(){return"undefined"!=typeof ArrayBuffer};var C;return E.supportsTransferringArrayBuffers=function(){if(!e(C)){if(!E.supportsTypedArrays())return C=!1,void 0;var r=new ArrayBuffer(1);try{postMessage({value:r},[r]),C=!0}catch(t){C=!1}}return C},E}),define("Core/Enumeration",["./defined"],function(e){"use strict";var r=function(r,t,n){if(this.value=r,this.name=t,e(n))for(var o in n)n.hasOwnProperty(o)&&(this[o]=n[o])};return r.prototype.valueOf=function(){return this.value},r.prototype.toString=function(){return this.name},r}),define("Core/ComponentDatatype",["./defaultValue","./defined","./DeveloperError","./FeatureDetection","./Enumeration"],function(e,r,t,n,o){"use strict";if(!n.supportsTypedArrays())return{};var i={BYTE:new o(5120,"BYTE",{sizeInBytes:Int8Array.BYTES_PER_ELEMENT}),UNSIGNED_BYTE:new o(5121,"UNSIGNED_BYTE",{sizeInBytes:Uint8Array.BYTES_PER_ELEMENT}),SHORT:new o(5122,"SHORT",{sizeInBytes:Int16Array.BYTES_PER_ELEMENT}),UNSIGNED_SHORT:new o(5123,"UNSIGNED_SHORT",{sizeInBytes:Uint16Array.BYTES_PER_ELEMENT}),FLOAT:new o(5126,"FLOAT",{sizeInBytes:Float32Array.BYTES_PER_ELEMENT}),DOUBLE:new o(5130,"DOUBLE",{sizeInBytes:Float64Array.BYTES_PER_ELEMENT})};return i.validate=function(e){return r(e)&&r(e.value)&&(e.value===i.BYTE.value||e.value===i.UNSIGNED_BYTE.value||e.value===i.SHORT.value||e.value===i.UNSIGNED_SHORT.value||e.value===i.FLOAT.value||e.value===i.DOUBLE.value)},i.createTypedArray=function(e,r){switch(e.value){case i.BYTE.value:return new Int8Array(r);case i.UNSIGNED_BYTE.value:return new Uint8Array(r);case i.SHORT.value:return new Int16Array(r);case i.UNSIGNED_SHORT.value:return new Uint16Array(r);case i.FLOAT.value:return new Float32Array(r);case i.DOUBLE.value:return new Float64Array(r);default:throw new t("componentDatatype is not a valid enumeration value.")}},i.createArrayBufferView=function(r,n,o,a){switch(o=e(o,0),a=e(a,(n.byteLength-o)/r.sizeInBytes),r.value){case i.BYTE.value:return new Int8Array(n,o,a);case i.UNSIGNED_BYTE.value:return new Uint8Array(n,o,a);case i.SHORT.value:return new Int16Array(n,o,a);case i.UNSIGNED_SHORT.value:return new Uint16Array(n,o,a);case i.FLOAT.value:return new Float32Array(n,o,a);case i.DOUBLE.value:return new Float64Array(n,o,a);default:throw new t("componentDatatype is not a valid enumeration value.")}},i}),define("Core/IndexDatatype",["./defined","./DeveloperError","./Math"],function(e,r,t){"use strict";var n={UNSIGNED_BYTE:5121,UNSIGNED_SHORT:5123,UNSIGNED_INT:5125};return n.getSizeInBytes=function(e){switch(e){case n.UNSIGNED_BYTE:return Uint8Array.BYTES_PER_ELEMENT;case n.UNSIGNED_SHORT:return Uint16Array.BYTES_PER_ELEMENT;case n.UNSIGNED_INT:return Uint32Array.BYTES_PER_ELEMENT}},n.validate=function(r){return e(r)&&(r===n.UNSIGNED_BYTE||r===n.UNSIGNED_SHORT||r===n.UNSIGNED_INT)},n.createTypedArray=function(e,r){return e>t.SIXTY_FOUR_KILOBYTES?new Uint32Array(r):new Uint16Array(r)},n}),define("Core/PrimitiveType",[],function(){"use strict";var e={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,validate:function(r){return r===e.POINTS||r===e.LINES||r===e.LINE_LOOP||r===e.LINE_STRIP||r===e.TRIANGLES||r===e.TRIANGLE_STRIP||r===e.TRIANGLE_FAN}};return e}),define("Core/GeographicProjection",["./defaultValue","./defined","./defineProperties","./Cartesian3","./Cartographic","./Ellipsoid"],function(e,r,t,n,o,i){"use strict";var a=function(r){this._ellipsoid=e(r,i.WGS84),this._semimajorAxis=this._ellipsoid.maximumRadius,this._oneOverSemimajorAxis=1/this._semimajorAxis};return t(a.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}}),a.prototype.project=function(e,t){var o=this._semimajorAxis,i=e.longitude*o,a=e.latitude*o,s=e.height;return r(t)?(t.x=i,t.y=a,t.z=s,t):new n(i,a,s)},a.prototype.unproject=function(e,t){var n=this._oneOverSemimajorAxis,i=e.x*n,a=e.y*n,s=e.z;return r(t)?(t.longitude=i,t.latitude=a,t.height=s,t):new o(i,a,s)},a}),define("Core/Intersect",["./Enumeration"],function(e){"use strict";var r={OUTSIDE:new e(-1,"OUTSIDE"),INTERSECTING:new e(0,"INTERSECTING"),INSIDE:new e(1,"INSIDE")};return r}),define("Core/Interval",["./defaultValue"],function(e){"use strict";var r=function(r,t){this.start=e(r,0),this.stop=e(t,0)};return r}),define("Core/Cartesian4",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,r,t,n){"use strict";var o=function(r,t,n,o){this.x=e(r,0),this.y=e(t,0),this.z=e(n,0),this.w=e(o,0)};o.fromElements=function(e,t,n,i,a){return r(a)?(a.x=e,a.y=t,a.z=n,a.w=i,a):new o(e,t,n,i)},o.clone=function(e,t){return r(e)?r(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t):new o(e.x,e.y,e.z,e.w):void 0},o.packedLength=4,o.pack=function(r,t,n){n=e(n,0),t[n++]=r.x,t[n++]=r.y,t[n++]=r.z,t[n]=r.w},o.unpack=function(t,n,i){return n=e(n,0),r(i)||(i=new o),i.x=t[n++],i.y=t[n++],i.z=t[n++],i.w=t[n],i},o.fromArray=o.unpack,o.getMaximumComponent=function(e){return Math.max(e.x,e.y,e.z,e.w)},o.getMinimumComponent=function(e){return Math.min(e.x,e.y,e.z,e.w)},o.getMinimumByComponent=function(e,t,n){return r(n)||(n=new o),n.x=Math.min(e.x,t.x),n.y=Math.min(e.y,t.y),n.z=Math.min(e.z,t.z),n.w=Math.min(e.w,t.w),n},o.getMaximumByComponent=function(e,t,n){return r(n)||(n=new o),n.x=Math.max(e.x,t.x),n.y=Math.max(e.y,t.y),n.z=Math.max(e.z,t.z),n.w=Math.max(e.w,t.w),n},o.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w},o.magnitude=function(e){return Math.sqrt(o.magnitudeSquared(e))};var i=new o;o.distance=function(e,r){return o.subtract(e,r,i),o.magnitude(i)},o.normalize=function(e,t){var n=o.magnitude(e);return r(t)?(t.x=e.x/n,t.y=e.y/n,t.z=e.z/n,t.w=e.w/n,t):new o(e.x/n,e.y/n,e.z/n,e.w/n)},o.dot=function(e,r){return e.x*r.x+e.y*r.y+e.z*r.z+e.w*r.w},o.multiplyComponents=function(e,t,n){return r(n)?(n.x=e.x*t.x,n.y=e.y*t.y,n.z=e.z*t.z,n.w=e.w*t.w,n):new o(e.x*t.x,e.y*t.y,e.z*t.z,e.w*t.w)},o.add=function(e,t,n){return r(n)?(n.x=e.x+t.x,n.y=e.y+t.y,n.z=e.z+t.z,n.w=e.w+t.w,n):new o(e.x+t.x,e.y+t.y,e.z+t.z,e.w+t.w)},o.subtract=function(e,t,n){return r(n)?(n.x=e.x-t.x,n.y=e.y-t.y,n.z=e.z-t.z,n.w=e.w-t.w,n):new o(e.x-t.x,e.y-t.y,e.z-t.z,e.w-t.w)},o.multiplyByScalar=function(e,t,n){return r(n)?(n.x=e.x*t,n.y=e.y*t,n.z=e.z*t,n.w=e.w*t,n):new o(e.x*t,e.y*t,e.z*t,e.w*t)},o.divideByScalar=function(e,t,n){return r(n)?(n.x=e.x/t,n.y=e.y/t,n.z=e.z/t,n.w=e.w/t,n):new o(e.x/t,e.y/t,e.z/t,e.w/t)},o.negate=function(e,t){return r(t)?(t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=-e.w,t):new o(-e.x,-e.y,-e.z,-e.w)},o.abs=function(e,t){return r(t)?(t.x=Math.abs(e.x),t.y=Math.abs(e.y),t.z=Math.abs(e.z),t.w=Math.abs(e.w),t):new o(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z),Math.abs(e.w))};var a=new o;o.lerp=function(e,r,t,n){return o.multiplyByScalar(r,t,a),n=o.multiplyByScalar(e,1-t,n),o.add(a,n,n)};var s=new o;return o.mostOrthogonalAxis=function(e,r){var t=o.normalize(e,s);return o.abs(t,t),r=t.x<=t.y?t.x<=t.z?t.x<=t.w?o.clone(o.UNIT_X,r):o.clone(o.UNIT_W,r):t.z<=t.w?o.clone(o.UNIT_Z,r):o.clone(o.UNIT_W,r):t.y<=t.z?t.y<=t.w?o.clone(o.UNIT_Y,r):o.clone(o.UNIT_W,r):t.z<=t.w?o.clone(o.UNIT_Z,r):o.clone(o.UNIT_W,r)},o.equals=function(e,t){return e===t||r(e)&&r(t)&&e.x===t.x&&e.y===t.y&&e.z===t.z&&e.w===t.w},o.equalsEpsilon=function(e,t,n){return e===t||r(e)&&r(t)&&Math.abs(e.x-t.x)<=n&&Math.abs(e.y-t.y)<=n&&Math.abs(e.z-t.z)<=n&&Math.abs(e.w-t.w)<=n},o.ZERO=n(new o(0,0,0,0)),o.UNIT_X=n(new o(1,0,0,0)),o.UNIT_Y=n(new o(0,1,0,0)),o.UNIT_Z=n(new o(0,0,1,0)),o.UNIT_W=n(new o(0,0,0,1)),o.prototype.clone=function(e){return o.clone(this,e)},o.prototype.equals=function(e){return o.equals(this,e)},o.prototype.equalsEpsilon=function(e,r){return o.equalsEpsilon(this,e,r)},o.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+", "+this.w+")"},o}),define("Core/Matrix3",["./Cartesian3","./defaultValue","./defined","./DeveloperError","./freezeObject","./Math"],function(e,r,t,n,o,i){"use strict";function a(e){for(var r=0,t=0;9>t;++t){var n=e[t];r+=n*n}return Math.sqrt(r)}function s(e){for(var r=0,t=0;3>t;++t){var n=e[l.getElementIndex(f[t],c[t])];r+=2*n*n}return Math.sqrt(r)}function u(e,r){for(var t=i.EPSILON15,n=0,o=1,a=0;3>a;++a){var s=Math.abs(e[l.getElementIndex(f[a],c[a])]);s>n&&(o=a,n=s)}var u=1,m=0,y=c[o],h=f[o];if(Math.abs(e[l.getElementIndex(h,y)])>t){var p,d=e[l.getElementIndex(h,h)],v=e[l.getElementIndex(y,y)],g=e[l.getElementIndex(h,y)],E=(d-v)/2/g;p=0>E?-1/(-E+Math.sqrt(1+E*E)):1/(E+Math.sqrt(1+E*E)),u=1/Math.sqrt(1+p*p),m=p*u}return r=l.clone(l.IDENTITY,r),r[l.getElementIndex(y,y)]=r[l.getElementIndex(h,h)]=u,r[l.getElementIndex(h,y)]=m,r[l.getElementIndex(y,h)]=-m,r}var l=function(e,t,n,o,i,a,s,u,l){this[0]=r(e,0),this[1]=r(o,0),this[2]=r(s,0),this[3]=r(t,0),this[4]=r(i,0),this[5]=r(u,0),this[6]=r(n,0),this[7]=r(a,0),this[8]=r(l,0)};l.clone=function(e,r){return t(e)?t(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r):new l(e[0],e[3],e[6],e[1],e[4],e[7],e[2],e[5],e[8]):void 0},l.fromArray=function(e,n,o){return n=r(n,0),t(o)||(o=new l),o[0]=e[n],o[1]=e[n+1],o[2]=e[n+2],o[3]=e[n+3],o[4]=e[n+4],o[5]=e[n+5],o[6]=e[n+6],o[7]=e[n+7],o[8]=e[n+8],o[9]=e[n+9],o},l.fromColumnMajorArray=function(e,r){return l.clone(e,r)},l.fromRowMajorArray=function(e,r){return t(r)?(r[0]=e[0],r[1]=e[3],r[2]=e[6],r[3]=e[1],r[4]=e[4],r[5]=e[7],r[6]=e[2],r[7]=e[5],r[8]=e[8],r):new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])},l.fromQuaternion=function(e,r){var n=e.x*e.x,o=e.x*e.y,i=e.x*e.z,a=e.x*e.w,s=e.y*e.y,u=e.y*e.z,c=e.y*e.w,f=e.z*e.z,m=e.z*e.w,y=e.w*e.w,h=n-s-f+y,p=2*(o-m),d=2*(i+c),v=2*(o+m),g=-n+s-f+y,E=2*(u-a),C=2*(i-c),S=2*(u+a),w=-n-s+f+y;return t(r)?(r[0]=h,r[1]=v,r[2]=C,r[3]=p,r[4]=g,r[5]=S,r[6]=d,r[7]=E,r[8]=w,r):new l(h,p,d,v,g,E,C,S,w)},l.fromScale=function(e,r){return t(r)?(r[0]=e.x,r[1]=0,r[2]=0,r[3]=0,r[4]=e.y,r[5]=0,r[6]=0,r[7]=0,r[8]=e.z,r):new l(e.x,0,0,0,e.y,0,0,0,e.z)},l.fromUniformScale=function(e,r){return t(r)?(r[0]=e,r[1]=0,r[2]=0,r[3]=0,r[4]=e,r[5]=0,r[6]=0,r[7]=0,r[8]=e,r):new l(e,0,0,0,e,0,0,0,e)},l.fromRotationX=function(e,r){var n=Math.cos(e),o=Math.sin(e);return t(r)?(r[0]=1,r[1]=0,r[2]=0,r[3]=0,r[4]=n,r[5]=o,r[6]=0,r[7]=-o,r[8]=n,r):new l(1,0,0,0,n,-o,0,o,n)},l.fromRotationY=function(e,r){var n=Math.cos(e),o=Math.sin(e);return t(r)?(r[0]=n,r[1]=0,r[2]=-o,r[3]=0,r[4]=1,r[5]=0,r[6]=o,r[7]=0,r[8]=n,r):new l(n,0,o,0,1,0,-o,0,n)},l.fromRotationZ=function(e,r){var n=Math.cos(e),o=Math.sin(e);return t(r)?(r[0]=n,r[1]=o,r[2]=0,r[3]=-o,r[4]=n,r[5]=0,r[6]=0,r[7]=0,r[8]=1,r):new l(n,-o,0,o,n,0,0,0,1)},l.toArray=function(e,r){return t(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8]]},l.getElementIndex=function(e,r){return 3*e+r},l.getColumn=function(r,n,o){var i=3*n,a=r[i],s=r[i+1],u=r[i+2];return t(o)?(o.x=a,o.y=s,o.z=u,o):new e(a,s,u)},l.setColumn=function(e,r,t,n){n=l.clone(e,n);var o=3*r;return n[o]=t.x,n[o+1]=t.y,n[o+2]=t.z,n},l.getRow=function(r,n,o){var i=r[n],a=r[n+3],s=r[n+6];return t(o)?(o.x=i,o.y=a,o.z=s,o):new e(i,a,s)},l.setRow=function(e,r,t,n){return n=l.clone(e,n),n[r]=t.x,n[r+3]=t.y,n[r+6]=t.z,n},l.multiply=function(e,r,n){var o=e[0]*r[0]+e[3]*r[1]+e[6]*r[2],i=e[1]*r[0]+e[4]*r[1]+e[7]*r[2],a=e[2]*r[0]+e[5]*r[1]+e[8]*r[2],s=e[0]*r[3]+e[3]*r[4]+e[6]*r[5],u=e[1]*r[3]+e[4]*r[4]+e[7]*r[5],c=e[2]*r[3]+e[5]*r[4]+e[8]*r[5],f=e[0]*r[6]+e[3]*r[7]+e[6]*r[8],m=e[1]*r[6]+e[4]*r[7]+e[7]*r[8],y=e[2]*r[6]+e[5]*r[7]+e[8]*r[8];return t(n)?(n[0]=o,n[1]=i,n[2]=a,n[3]=s,n[4]=u,n[5]=c,n[6]=f,n[7]=m,n[8]=y,n):new l(o,s,f,i,u,m,a,c,y)},l.multiplyByVector=function(r,n,o){var i=n.x,a=n.y,s=n.z,u=r[0]*i+r[3]*a+r[6]*s,l=r[1]*i+r[4]*a+r[7]*s,c=r[2]*i+r[5]*a+r[8]*s;return t(o)?(o.x=u,o.y=l,o.z=c,o):new e(u,l,c)},l.multiplyByScalar=function(e,r,n){return t(n)?(n[0]=e[0]*r,n[1]=e[1]*r,n[2]=e[2]*r,n[3]=e[3]*r,n[4]=e[4]*r,n[5]=e[5]*r,n[6]=e[6]*r,n[7]=e[7]*r,n[8]=e[8]*r,n):new l(e[0]*r,e[3]*r,e[6]*r,e[1]*r,e[4]*r,e[7]*r,e[2]*r,e[5]*r,e[8]*r)},l.negate=function(e,r){return t(r)?(r[0]=-e[0],r[1]=-e[1],r[2]=-e[2],r[3]=-e[3],r[4]=-e[4],r[5]=-e[5],r[6]=-e[6],r[7]=-e[7],r[8]=-e[8],r):new l(-e[0],-e[3],-e[6],-e[1],-e[4],-e[7],-e[2],-e[5],-e[8])},l.transpose=function(e,r){var n=e[0],o=e[3],i=e[6],a=e[1],s=e[4],u=e[7],c=e[2],f=e[5],m=e[8];return t(r)?(r[0]=n,r[1]=o,r[2]=i,r[3]=a,r[4]=s,r[5]=u,r[6]=c,r[7]=f,r[8]=m,r):new l(n,a,c,o,s,f,i,u,m)};var c=[1,0,0],f=[2,2,1],m=new l,y=new l;return l.getEigenDecomposition=function(e,r){var n=i.EPSILON20,o=10,c=0,f=0;t(r)||(r={});for(var h=r.unitary=l.clone(l.IDENTITY,r.unitary),p=r.diagonal=l.clone(e,r.diagonal),d=n*a(p);o>f&&s(p)>d;)u(p,m),l.transpose(m,y),l.multiply(p,m,p),l.multiply(y,p,p),l.multiply(h,m,h),++c>2&&(++f,c=0); +return r},l.abs=function(e,r){return t(r)?(r[0]=Math.abs(e[0]),r[1]=Math.abs(e[1]),r[2]=Math.abs(e[2]),r[3]=Math.abs(e[3]),r[4]=Math.abs(e[4]),r[5]=Math.abs(e[5]),r[6]=Math.abs(e[6]),r[7]=Math.abs(e[7]),r[8]=Math.abs(e[8]),r):new l(Math.abs(e[0]),Math.abs(e[3]),Math.abs(e[6]),Math.abs(e[1]),Math.abs(e[4]),Math.abs(e[7]),Math.abs(e[2]),Math.abs(e[5]),Math.abs(e[8]))},l.determinant=function(e){var r=e[0],t=e[3],n=e[6],o=e[1],i=e[4],a=e[7],s=e[2],u=e[5],l=e[8];return r*(i*l-u*a)+o*(u*n-t*l)+s*(t*a-i*n)},l.inverse=function(e,r){var t=e[0],o=e[1],a=e[2],s=e[3],u=e[4],c=e[5],f=e[6],m=e[7],y=e[8],h=l.determinant(e);if(Math.abs(h)<=i.EPSILON15)throw new n("matrix is not invertible");var p=new l(u*y-m*c,f*c-s*y,s*m-f*u,m*a-o*y,t*y-f*a,f*o-t*m,o*c-u*a,s*a-t*c,t*u-s*o),d=1/h;return l.multiplyByScalar(p,d,r)},l.equals=function(e,r){return e===r||t(e)&&t(r)&&e[0]===r[0]&&e[1]===r[1]&&e[2]===r[2]&&e[3]===r[3]&&e[4]===r[4]&&e[5]===r[5]&&e[6]===r[6]&&e[7]===r[7]&&e[8]===r[8]},l.equalsEpsilon=function(e,r,n){return e===r||t(e)&&t(r)&&Math.abs(e[0]-r[0])<=n&&Math.abs(e[1]-r[1])<=n&&Math.abs(e[2]-r[2])<=n&&Math.abs(e[3]-r[3])<=n&&Math.abs(e[4]-r[4])<=n&&Math.abs(e[5]-r[5])<=n&&Math.abs(e[6]-r[6])<=n&&Math.abs(e[7]-r[7])<=n&&Math.abs(e[8]-r[8])<=n},l.IDENTITY=o(new l(1,0,0,0,1,0,0,0,1)),l.COLUMN0ROW0=0,l.COLUMN0ROW1=1,l.COLUMN0ROW2=2,l.COLUMN1ROW0=3,l.COLUMN1ROW1=4,l.COLUMN1ROW2=5,l.COLUMN2ROW0=6,l.COLUMN2ROW1=7,l.COLUMN2ROW2=8,l.prototype.clone=function(e){return l.clone(this,e)},l.prototype.equals=function(e){return l.equals(this,e)},l.prototype.equalsEpsilon=function(e,r){return l.equalsEpsilon(this,e,r)},l.prototype.toString=function(){return"("+this[0]+", "+this[3]+", "+this[6]+")\n"+"("+this[1]+", "+this[4]+", "+this[7]+")\n"+"("+this[2]+", "+this[5]+", "+this[8]+")"},l}),define("Core/RuntimeError",["./defined"],function(e){"use strict";var r=function(e){this.name="RuntimeError",this.message=e;var r;try{throw new Error}catch(t){r=t.stack}this.stack=r};return r.prototype.toString=function(){var r=this.name+": "+this.message;return e(this.stack)&&(r+="\n"+this.stack.toString()),r},r}),define("Core/Matrix4",["./Cartesian3","./Cartesian4","./defaultValue","./defined","./DeveloperError","./freezeObject","./Math","./Matrix3","./RuntimeError"],function(e,r,t,n,o,i,a,s,u){"use strict";var l=function(e,r,n,o,i,a,s,u,l,c,f,m,y,h,p,d){this[0]=t(e,0),this[1]=t(i,0),this[2]=t(l,0),this[3]=t(y,0),this[4]=t(r,0),this[5]=t(a,0),this[6]=t(c,0),this[7]=t(h,0),this[8]=t(n,0),this[9]=t(s,0),this[10]=t(f,0),this[11]=t(p,0),this[12]=t(o,0),this[13]=t(u,0),this[14]=t(m,0),this[15]=t(d,0)};l.clone=function(e,r){return n(e)?n(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r[9]=e[9],r[10]=e[10],r[11]=e[11],r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15],r):new l(e[0],e[4],e[8],e[12],e[1],e[5],e[9],e[13],e[2],e[6],e[10],e[14],e[3],e[7],e[11],e[15]):void 0},l.fromArray=function(e,r,o){return r=t(r,0),n(o)||(o=new l),o[0]=e[r],o[1]=e[r+1],o[2]=e[r+2],o[3]=e[r+3],o[4]=e[r+4],o[5]=e[r+5],o[6]=e[r+6],o[7]=e[r+7],o[8]=e[r+8],o[9]=e[r+9],o[10]=e[r+10],o[11]=e[r+11],o[12]=e[r+12],o[13]=e[r+13],o[14]=e[r+14],o[15]=e[r+15],o},l.fromColumnMajorArray=function(e,r){return l.clone(e,r)},l.fromRowMajorArray=function(e,r){return n(r)?(r[0]=e[0],r[1]=e[4],r[2]=e[8],r[3]=e[12],r[4]=e[1],r[5]=e[5],r[6]=e[9],r[7]=e[13],r[8]=e[2],r[9]=e[6],r[10]=e[10],r[11]=e[14],r[12]=e[3],r[13]=e[7],r[14]=e[11],r[15]=e[15],r):new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])},l.fromRotationTranslation=function(e,r,t){return n(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=0,t[4]=e[3],t[5]=e[4],t[6]=e[5],t[7]=0,t[8]=e[6],t[9]=e[7],t[10]=e[8],t[11]=0,t[12]=r.x,t[13]=r.y,t[14]=r.z,t[15]=1,t):new l(e[0],e[3],e[6],r.x,e[1],e[4],e[7],r.y,e[2],e[5],e[8],r.z,0,0,0,1)},new s,l.fromTranslationQuaternionRotationScale=function(e,r,t,o){n(o)||(o=new l);var i=t.x,a=t.y,s=t.z,u=r.x*r.x,c=r.x*r.y,f=r.x*r.z,m=r.x*r.w,y=r.y*r.y,h=r.y*r.z,p=r.y*r.w,d=r.z*r.z,v=r.z*r.w,g=r.w*r.w,E=u-y-d+g,C=2*(c-v),S=2*(f+p),w=2*(c+v),A=-u+y-d+g,x=2*(h-m),M=2*(f-p),T=2*(h+m),b=-u-y+d+g;return o[0]=E*i,o[1]=w*i,o[2]=M*i,o[3]=0,o[4]=C*a,o[5]=A*a,o[6]=T*a,o[7]=0,o[8]=S*s,o[9]=x*s,o[10]=b*s,o[11]=0,o[12]=e.x,o[13]=e.y,o[14]=e.z,o[15]=1,o},l.fromTranslation=function(e,r){return l.fromRotationTranslation(s.IDENTITY,e,r)},l.fromScale=function(e,r){return n(r)?(r[0]=e.x,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=e.y,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=e.z,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r):new l(e.x,0,0,0,0,e.y,0,0,0,0,e.z,0,0,0,0,1)},l.fromUniformScale=function(e,r){return n(r)?(r[0]=e,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=e,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=e,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r):new l(e,0,0,0,0,e,0,0,0,0,e,0,0,0,0,1)};var c=new e,f=new e,m=new e;l.fromCamera=function(r,t){var o=r.eye,i=r.target,a=r.up;e.normalize(e.subtract(i,o,c),c),e.normalize(e.cross(c,a,f),f),e.normalize(e.cross(f,c,m),m);var s=f.x,u=f.y,y=f.z,h=c.x,p=c.y,d=c.z,v=m.x,g=m.y,E=m.z,C=o.x,S=o.y,w=o.z,A=s*-C+u*-S+y*-w,x=v*-C+g*-S+E*-w,M=h*C+p*S+d*w;return n(t)?(t[0]=s,t[1]=v,t[2]=-h,t[3]=0,t[4]=u,t[5]=g,t[6]=-p,t[7]=0,t[8]=y,t[9]=E,t[10]=-d,t[11]=0,t[12]=A,t[13]=x,t[14]=M,t[15]=1,t):new l(s,u,y,A,v,g,E,x,-h,-p,-d,M,0,0,0,1)},l.computePerspectiveFieldOfView=function(e,r,t,o,i){var a=Math.tan(.5*e),s=1/a,u=s/r,c=(o+t)/(t-o),f=2*o*t/(t-o);return n(i)?(i[0]=u,i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=s,i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=c,i[11]=-1,i[12]=0,i[13]=0,i[14]=f,i[15]=0,i):new l(u,0,0,0,0,s,0,0,0,0,c,f,0,0,-1,0)},l.computeOrthographicOffCenter=function(e,r,t,o,i,a,s){var u=1/(r-e),c=1/(o-t),f=1/(a-i),m=-(r+e)*u,y=-(o+t)*c,h=-(a+i)*f;return u*=2,c*=2,f*=-2,n(s)?(s[0]=u,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=c,s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=f,s[11]=0,s[12]=m,s[13]=y,s[14]=h,s[15]=1,s):new l(u,0,0,m,0,c,0,y,0,0,f,h,0,0,0,1)},l.computePerspectiveOffCenter=function(e,r,t,o,i,a,s){var u=2*i/(r-e),c=2*i/(o-t),f=(r+e)/(r-e),m=(o+t)/(o-t),y=-(a+i)/(a-i),h=-1,p=-2*a*i/(a-i);return n(s)?(s[0]=u,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=c,s[6]=0,s[7]=0,s[8]=f,s[9]=m,s[10]=y,s[11]=h,s[12]=0,s[13]=0,s[14]=p,s[15]=0,s):new l(u,0,f,0,0,c,m,0,0,0,y,p,0,0,h,0)},l.computeInfinitePerspectiveOffCenter=function(e,r,t,o,i,a){var s=2*i/(r-e),u=2*i/(o-t),c=(r+e)/(r-e),f=(o+t)/(o-t),m=-1,y=-1,h=-2*i;return n(a)?(a[0]=s,a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=u,a[6]=0,a[7]=0,a[8]=c,a[9]=f,a[10]=m,a[11]=y,a[12]=0,a[13]=0,a[14]=h,a[15]=0,a):new l(s,0,c,0,0,u,f,0,0,0,m,h,0,0,y,0)},l.computeViewportTransformation=function(e,r,o,i){e=t(e,t.EMPTY_OBJECT);var a=t(e.x,0),s=t(e.y,0),u=t(e.width,0),c=t(e.height,0);r=t(r,0),o=t(o,1);var f=.5*u,m=.5*c,y=.5*(o-r),h=f,p=m,d=y,v=a+f,g=s+m,E=r+y,C=1;return n(i)?(i[0]=h,i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=p,i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=d,i[11]=0,i[12]=v,i[13]=g,i[14]=E,i[15]=C,i):new l(h,0,0,v,0,p,0,g,0,0,d,E,0,0,0,C)},l.toArray=function(e,r){return n(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r[9]=e[9],r[10]=e[10],r[11]=e[11],r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15],r):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]]},l.getElementIndex=function(e,r){return 4*e+r},l.getColumn=function(e,t,o){var i=4*t,a=e[i],s=e[i+1],u=e[i+2],l=e[i+3];return n(o)?(o.x=a,o.y=s,o.z=u,o.w=l,o):new r(a,s,u,l)},l.setColumn=function(e,r,t,n){n=l.clone(e,n);var o=4*r;return n[o]=t.x,n[o+1]=t.y,n[o+2]=t.z,n[o+3]=t.w,n},l.getRow=function(e,t,o){var i=e[t],a=e[t+4],s=e[t+8],u=e[t+12];return n(o)?(o.x=i,o.y=a,o.z=s,o.w=u,o):new r(i,a,s,u)},l.setRow=function(e,r,t,n){return n=l.clone(e,n),n[r]=t.x,n[r+4]=t.y,n[r+8]=t.z,n[r+12]=t.w,n},l.multiply=function(e,r,t){var o=e[0],i=e[1],a=e[2],s=e[3],u=e[4],c=e[5],f=e[6],m=e[7],y=e[8],h=e[9],p=e[10],d=e[11],v=e[12],g=e[13],E=e[14],C=e[15],S=r[0],w=r[1],A=r[2],x=r[3],M=r[4],T=r[5],b=r[6],I=r[7],O=r[8],N=r[9],R=r[10],z=r[11],L=r[12],F=r[13],P=r[14],D=r[15],B=o*S+u*w+y*A+v*x,_=i*S+c*w+h*A+g*x,U=a*S+f*w+p*A+E*x,G=s*S+m*w+d*A+C*x,q=o*M+u*T+y*b+v*I,Y=i*M+c*T+h*b+g*I,W=a*M+f*T+p*b+E*I,V=s*M+m*T+d*b+C*I,H=o*O+u*N+y*R+v*z,k=i*O+c*N+h*R+g*z,K=a*O+f*N+p*R+E*z,j=s*O+m*N+d*R+C*z,Z=o*L+u*F+y*P+v*D,Q=i*L+c*F+h*P+g*D,X=a*L+f*F+p*P+E*D,J=s*L+m*F+d*P+C*D;return n(t)?(t[0]=B,t[1]=_,t[2]=U,t[3]=G,t[4]=q,t[5]=Y,t[6]=W,t[7]=V,t[8]=H,t[9]=k,t[10]=K,t[11]=j,t[12]=Z,t[13]=Q,t[14]=X,t[15]=J,t):new l(B,q,H,Z,_,Y,k,Q,U,W,K,X,G,V,j,J)},l.multiplyTransformation=function(e,r,t){var o=e[0],i=e[1],a=e[2],s=e[4],u=e[5],c=e[6],f=e[8],m=e[9],y=e[10],h=e[12],p=e[13],d=e[14],v=r[0],g=r[1],E=r[2],C=r[4],S=r[5],w=r[6],A=r[8],x=r[9],M=r[10],T=r[12],b=r[13],I=r[14],O=o*v+s*g+f*E,N=i*v+u*g+m*E,R=a*v+c*g+y*E,z=o*C+s*S+f*w,L=i*C+u*S+m*w,F=a*C+c*S+y*w,P=o*A+s*x+f*M,D=i*A+u*x+m*M,B=a*A+c*x+y*M,_=o*T+s*b+f*I+h,U=i*T+u*b+m*I+p,G=a*T+c*b+y*I+d;return n(t)?(t[0]=O,t[1]=N,t[2]=R,t[3]=0,t[4]=z,t[5]=L,t[6]=F,t[7]=0,t[8]=P,t[9]=D,t[10]=B,t[11]=0,t[12]=_,t[13]=U,t[14]=G,t[15]=1,t):new l(O,z,P,_,N,L,D,U,R,F,B,G,0,0,0,1)},l.multiplyByTranslation=function(e,r,t){var o=r.x,i=r.y,a=r.z,s=o*e[0]+i*e[4]+a*e[8]+e[12],u=o*e[1]+i*e[5]+a*e[9]+e[13],c=o*e[2]+i*e[6]+a*e[10]+e[14];return n(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=s,t[13]=u,t[14]=c,t[15]=e[15],t):new l(e[0],e[4],e[8],s,e[1],e[5],e[9],u,e[2],e[6],e[10],c,e[3],e[7],e[11],e[15])};var y=new e;return l.multiplyByUniformScale=function(e,r,t){return y.x=r,y.y=r,y.z=r,l.multiplyByScale(e,y,t)},l.multiplyByScale=function(e,r,t){var o=r.x,i=r.y,a=r.z;return 1===o&&1===i&&1===a?l.clone(e,t):n(t)?(t[0]=o*e[0],t[1]=o*e[1],t[2]=o*e[2],t[3]=0,t[4]=i*e[4],t[5]=i*e[5],t[6]=i*e[6],t[7]=0,t[8]=a*e[8],t[9]=a*e[9],t[10]=a*e[10],t[11]=0,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=1,t):new l(o*e[0],i*e[4],a*e[8],e[12],o*e[1],i*e[5],a*e[9],e[13],o*e[2],i*e[6],a*e[10],e[14],0,0,0,1)},l.multiplyByVector=function(e,t,o){var i=t.x,a=t.y,s=t.z,u=t.w,l=e[0]*i+e[4]*a+e[8]*s+e[12]*u,c=e[1]*i+e[5]*a+e[9]*s+e[13]*u,f=e[2]*i+e[6]*a+e[10]*s+e[14]*u,m=e[3]*i+e[7]*a+e[11]*s+e[15]*u;return n(o)?(o.x=l,o.y=c,o.z=f,o.w=m,o):new r(l,c,f,m)},l.multiplyByPointAsVector=function(r,t,o){var i=t.x,a=t.y,s=t.z,u=r[0]*i+r[4]*a+r[8]*s,l=r[1]*i+r[5]*a+r[9]*s,c=r[2]*i+r[6]*a+r[10]*s;return n(o)?(o.x=u,o.y=l,o.z=c,o):new e(u,l,c)},l.multiplyByPoint=function(r,t,o){var i=t.x,a=t.y,s=t.z,u=r[0]*i+r[4]*a+r[8]*s+r[12],l=r[1]*i+r[5]*a+r[9]*s+r[13],c=r[2]*i+r[6]*a+r[10]*s+r[14];return n(o)?(o.x=u,o.y=l,o.z=c,o):new e(u,l,c)},l.multiplyByScalar=function(e,r,t){return n(t)?(t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*r,t[9]=e[9]*r,t[10]=e[10]*r,t[11]=e[11]*r,t[12]=e[12]*r,t[13]=e[13]*r,t[14]=e[14]*r,t[15]=e[15]*r,t):new l(e[0]*r,e[4]*r,e[8]*r,e[12]*r,e[1]*r,e[5]*r,e[9]*r,e[13]*r,e[2]*r,e[6]*r,e[10]*r,e[14]*r,e[3]*r,e[7]*r,e[11]*r,e[15]*r)},l.negate=function(e,r){return n(r)?(r[0]=-e[0],r[1]=-e[1],r[2]=-e[2],r[3]=-e[3],r[4]=-e[4],r[5]=-e[5],r[6]=-e[6],r[7]=-e[7],r[8]=-e[8],r[9]=-e[9],r[10]=-e[10],r[11]=-e[11],r[12]=-e[12],r[13]=-e[13],r[14]=-e[14],r[15]=-e[15],r):new l(-e[0],-e[4],-e[8],-e[12],-e[1],-e[5],-e[9],-e[13],-e[2],-e[6],-e[10],-e[14],-e[3],-e[7],-e[11],-e[15])},l.transpose=function(e,r){if(!n(r))return new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]);var t=e[1],o=e[2],i=e[3],a=e[6],s=e[7],u=e[11];return r[0]=e[0],r[1]=e[4],r[2]=e[8],r[3]=e[12],r[4]=t,r[5]=e[5],r[6]=e[9],r[7]=e[13],r[8]=o,r[9]=a,r[10]=e[10],r[11]=e[14],r[12]=i,r[13]=s,r[14]=u,r[15]=e[15],r},l.abs=function(e,r){return n(r)?(r[0]=Math.abs(e[0]),r[1]=Math.abs(e[1]),r[2]=Math.abs(e[2]),r[3]=Math.abs(e[3]),r[4]=Math.abs(e[4]),r[5]=Math.abs(e[5]),r[6]=Math.abs(e[6]),r[7]=Math.abs(e[7]),r[8]=Math.abs(e[8]),r[9]=Math.abs(e[9]),r[10]=Math.abs(e[10]),r[11]=Math.abs(e[11]),r[12]=Math.abs(e[12]),r[13]=Math.abs(e[13]),r[14]=Math.abs(e[14]),r[15]=Math.abs(e[15]),r):new l(Math.abs(e[0]),Math.abs(e[4]),Math.abs(e[8]),Math.abs(e[12]),Math.abs(e[1]),Math.abs(e[5]),Math.abs(e[9]),Math.abs(e[13]),Math.abs(e[2]),Math.abs(e[6]),Math.abs(e[10]),Math.abs(e[14]),Math.abs(e[3]),Math.abs(e[7]),Math.abs(e[11]),Math.abs(e[15]))},l.equals=function(e,r){return e===r||n(e)&&n(r)&&e[0]===r[0]&&e[1]===r[1]&&e[2]===r[2]&&e[3]===r[3]&&e[4]===r[4]&&e[5]===r[5]&&e[6]===r[6]&&e[7]===r[7]&&e[8]===r[8]&&e[9]===r[9]&&e[10]===r[10]&&e[11]===r[11]&&e[12]===r[12]&&e[13]===r[13]&&e[14]===r[14]&&e[15]===r[15]},l.equalsEpsilon=function(e,r,t){return e===r||n(e)&&n(r)&&Math.abs(e[0]-r[0])<=t&&Math.abs(e[1]-r[1])<=t&&Math.abs(e[2]-r[2])<=t&&Math.abs(e[3]-r[3])<=t&&Math.abs(e[4]-r[4])<=t&&Math.abs(e[5]-r[5])<=t&&Math.abs(e[6]-r[6])<=t&&Math.abs(e[7]-r[7])<=t&&Math.abs(e[8]-r[8])<=t&&Math.abs(e[9]-r[9])<=t&&Math.abs(e[10]-r[10])<=t&&Math.abs(e[11]-r[11])<=t&&Math.abs(e[12]-r[12])<=t&&Math.abs(e[13]-r[13])<=t&&Math.abs(e[14]-r[14])<=t&&Math.abs(e[15]-r[15])<=t},l.getTranslation=function(r,t){return n(t)?(t.x=r[12],t.y=r[13],t.z=r[14],t):new e(r[12],r[13],r[14])},l.getRotation=function(e,r){return n(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[4],r[4]=e[5],r[5]=e[6],r[6]=e[8],r[7]=e[9],r[8]=e[10],r):new s(e[0],e[4],e[8],e[1],e[5],e[9],e[2],e[6],e[10])},l.inverse=function(e,r){var t=e[0],o=e[4],i=e[8],s=e[12],c=e[1],f=e[5],m=e[9],y=e[13],h=e[2],p=e[6],d=e[10],v=e[14],g=e[3],E=e[7],C=e[11],S=e[15],w=d*S,A=v*C,x=p*S,M=v*E,T=p*C,b=d*E,I=h*S,O=v*g,N=h*C,R=d*g,z=h*E,L=p*g,F=w*f+M*m+T*y-(A*f+x*m+b*y),P=A*c+I*m+R*y-(w*c+O*m+N*y),D=x*c+O*f+z*y-(M*c+I*f+L*y),B=b*c+N*f+L*m-(T*c+R*f+z*m),_=A*o+x*i+b*s-(w*o+M*i+T*s),U=w*t+O*i+N*s-(A*t+I*i+R*s),G=M*t+I*o+L*s-(x*t+O*o+z*s),q=T*t+R*o+z*i-(b*t+N*o+L*i);w=i*y,A=s*m,x=o*y,M=s*f,T=o*m,b=i*f,I=t*y,O=s*c,N=t*m,R=i*c,z=t*f,L=o*c;var Y=w*E+M*C+T*S-(A*E+x*C+b*S),W=A*g+I*C+R*S-(w*g+O*C+N*S),V=x*g+O*E+z*S-(M*g+I*E+L*S),H=b*g+N*E+L*C-(T*g+R*E+z*C),k=x*d+b*v+A*p-(T*v+w*p+M*d),K=N*v+w*h+O*d-(I*d+R*v+A*h),j=I*p+L*v+M*h-(z*v+x*h+O*p),Z=z*d+T*h+R*p-(N*p+L*d+b*h),Q=t*F+o*P+i*D+s*B;if(Math.abs(Q)M;M++){e.clone(r[M],o);var T=o.x,b=o.y,I=o.z;Tu.x&&e.clone(o,u),bl.y&&e.clone(o,l),IA.z&&e.clone(o,A)}var O=e.magnitudeSquared(e.subtract(u,i,g)),N=e.magnitudeSquared(e.subtract(l,a,g)),R=e.magnitudeSquared(e.subtract(A,s,g)),z=i,L=u,F=O;N>F&&(F=N,z=a,L=l),R>F&&(F=R,z=s,L=A);var P=E;P.x=.5*(z.x+L.x),P.y=.5*(z.y+L.y),P.z=.5*(z.z+L.z);var D=e.magnitudeSquared(e.subtract(L,P,g)),B=Math.sqrt(D),_=C;_.x=i.x,_.y=a.y,_.z=s.z;var U=S;U.x=u.x,U.y=l.y,U.z=A.z;var G=e.multiplyByScalar(e.add(_,U,g),.5,w),q=0;for(M=0;x>M;M++){e.clone(r[M],o);var Y=e.magnitude(e.subtract(o,G,g));Y>q&&(q=Y);var W=e.magnitudeSquared(e.subtract(o,P,g));if(W>D){var V=Math.sqrt(W);B=.5*(B+V),D=B*B;var H=V-B;P.x=(B*P.x+H*o.x)/V,P.y=(B*P.y+H*o.y)/V,P.z=(B*P.z+H*o.z)/V}}return q>B?(e.clone(P,t.center),t.radius=B):(e.clone(G,t.center),t.radius=q),t};var A=new a,x=new e,M=new e,T=new r,b=new r;c.fromExtent2D=function(e,r,t){return c.fromExtentWithHeights2D(e,r,0,0,t)},c.fromExtentWithHeights2D=function(r,o,i,a,s){if(n(s)||(s=new c),!n(r))return s.center=e.clone(e.ZERO,s.center),s.radius=0,s;o=t(o,A),r.getSouthwest(T),T.height=i,r.getNortheast(b),b.height=a;var u=o.project(T,x),l=o.project(b,M),f=l.x-u.x,m=l.y-u.y,y=l.z-u.z;s.radius=.5*Math.sqrt(f*f+m*m+y*y);var h=s.center;return h.x=u.x+.5*f,h.y=u.y+.5*m,h.z=u.z+.5*y,s};var I=[];c.fromExtent3D=function(e,r,o,a){r=t(r,i.WGS84),o=t(o,0);var s;return n(e)&&(s=e.subsample(r,o,I)),c.fromPoints(s,a)},c.fromVertices=function(r,o,i,a){if(n(a)||(a=new c),!n(r)||0===r.length)return a.center=e.clone(e.ZERO,a.center),a.radius=0,a;o=t(o,e.ZERO),i=t(i,3);var s=v;s.x=r[0]+o.x,s.y=r[1]+o.y,s.z=r[2]+o.z;for(var u=e.clone(s,f),l=e.clone(s,m),A=e.clone(s,y),x=e.clone(s,h),M=e.clone(s,p),T=e.clone(s,d),b=r.length,I=0;b>I;I+=i){var O=r[I]+o.x,N=r[I+1]+o.y,R=r[I+2]+o.z;s.x=O,s.y=N,s.z=R,Ox.x&&e.clone(s,x),NM.y&&e.clone(s,M),RT.z&&e.clone(s,T)}var z=e.magnitudeSquared(e.subtract(x,u,g)),L=e.magnitudeSquared(e.subtract(M,l,g)),F=e.magnitudeSquared(e.subtract(T,A,g)),P=u,D=x,B=z;L>B&&(B=L,P=l,D=M),F>B&&(B=F,P=A,D=T);var _=E;_.x=.5*(P.x+D.x),_.y=.5*(P.y+D.y),_.z=.5*(P.z+D.z);var U=e.magnitudeSquared(e.subtract(D,_,g)),G=Math.sqrt(U),q=C;q.x=u.x,q.y=l.y,q.z=A.z;var Y=S;Y.x=x.x,Y.y=M.y,Y.z=T.z;var W=e.multiplyByScalar(e.add(q,Y,g),.5,w),V=0;for(I=0;b>I;I+=i){s.x=r[I]+o.x,s.y=r[I+1]+o.y,s.z=r[I+2]+o.z;var H=e.magnitude(e.subtract(s,W,g));H>V&&(V=H);var k=e.magnitudeSquared(e.subtract(s,_,g));if(k>U){var K=Math.sqrt(k);G=.5*(G+K),U=G*G;var j=K-G;_.x=(G*_.x+j*s.x)/K,_.y=(G*_.y+j*s.y)/K,_.z=(G*_.z+j*s.z)/K}}return V>G?(e.clone(_,a.center),a.radius=G):(e.clone(W,a.center),a.radius=V),a},c.fromCornerPoints=function(r,t,o){n(o)||(o=new c);var i=o.center;return e.add(r,t,i),e.multiplyByScalar(i,.5,i),o.radius=e.distance(i,t),o},c.fromEllipsoid=function(r,t){return n(t)||(t=new c),e.clone(e.ZERO,t.center),t.radius=r.maximumRadius,t},c.clone=function(r,t){return n(r)?n(t)?(t.center=e.clone(r.center,t.center),t.radius=r.radius,t):new c(r.center,r.radius):void 0};var O=new e,N=new e;c.union=function(r,t,o){n(o)||(o=new c);var i=r.center,a=t.center;e.add(i,a,N);var s=e.multiplyByScalar(N,.5,N),u=e.magnitude(e.subtract(i,s,O))+r.radius,l=e.magnitude(e.subtract(a,s,O))+t.radius;return o.radius=Math.max(u,l),e.clone(s,o.center),o};var R=new e;c.expand=function(r,t,n){n=c.clone(r,n);var o=e.magnitude(e.subtract(t,n.center,R));return o>n.radius&&(n.radius=o),n},c.intersect=function(r,t){var n=r.center,o=r.radius,i=e.dot(t,n)+t.w;return-o>i?s.OUTSIDE:o>i?s.INTERSECTING:s.INSIDE};var z=new e;c.transform=function(r,t,o){return n(o)||(o=new c),o.center=l.multiplyByPoint(t,r.center,o.center),o.radius=Math.max(e.magnitude(l.getColumn(t,0,z)),e.magnitude(l.getColumn(t,1,z)),e.magnitude(l.getColumn(t,2,z)))*r.radius,o},c.transformWithoutScale=function(e,r,t){return n(t)||(t=new c),t.center=l.multiplyByPoint(r,e.center,t.center),t.radius=e.radius,t};var L=new e;c.getPlaneDistances=function(r,t,o,i){n(i)||(i=new u);var a=e.subtract(r.center,t,L),s=e.multiplyByScalar(o,e.dot(o,a),L),l=e.magnitude(s);return i.start=l-r.radius,i.stop=l+r.radius,i};for(var F=new e,P=new e,D=new e,B=new e,_=new e,U=new r,G=new Array(8),q=0;8>q;++q)G[q]=new e;var Y=new a;return c.projectTo2D=function(r,n,o){n=t(n,Y);var i=n.ellipsoid,a=r.center,s=r.radius,u=i.geodeticSurfaceNormal(a,F),l=e.cross(e.UNIT_Z,u,P);e.normalize(l,l);var f=e.cross(u,l,D);e.normalize(f,f),e.multiplyByScalar(u,s,u),e.multiplyByScalar(f,s,f),e.multiplyByScalar(l,s,l);var m=e.negate(f,_),y=e.negate(l,B),h=G,p=h[0];e.add(u,f,p),e.add(p,l,p),p=h[1],e.add(u,f,p),e.add(p,y,p),p=h[2],e.add(u,m,p),e.add(p,y,p),p=h[3],e.add(u,m,p),e.add(p,l,p),e.negate(u,u),p=h[4],e.add(u,f,p),e.add(p,l,p),p=h[5],e.add(u,f,p),e.add(p,y,p),p=h[6],e.add(u,m,p),e.add(p,y,p),p=h[7],e.add(u,m,p),e.add(p,l,p);for(var d=h.length,v=0;d>v;++v){var g=h[v];e.add(a,g,g);var E=i.cartesianToCartographic(g,U);n.project(E,g)}o=c.fromPoints(h,o),a=o.center;var C=a.x,S=a.y,w=a.z;return a.x=w,a.y=C,a.z=S,o},c.equals=function(r,t){return r===t||n(r)&&n(t)&&e.equals(r.center,t.center)&&r.radius===t.radius},c.prototype.clone=function(e){return c.clone(this,e)},c.prototype.union=function(e,r){return c.union(this,e,r)},c.prototype.expand=function(e,r){return c.expand(this,e,r)},c.prototype.intersect=function(e){return c.intersect(this,e)},c.prototype.getPlaneDistances=function(e,r,t){return c.getPlaneDistances(this,e,r,t)},c.prototype.projectTo2D=function(e,r){return c.projectTo2D(this,e,r)},c.prototype.equals=function(e){return c.equals(this,e)},c}),define("Core/Geometry",["./defaultValue","./defined","./DeveloperError"],function(e,r,t){"use strict";var n=function(r){r=e(r,e.EMPTY_OBJECT),this.attributes=r.attributes,this.indices=r.indices,this.primitiveType=r.primitiveType,this.boundingSphere=r.boundingSphere};return n.computeNumberOfVertices=function(e){var n=-1;for(var o in e.attributes)if(e.attributes.hasOwnProperty(o)&&r(e.attributes[o])&&r(e.attributes[o].values)){var i=e.attributes[o],a=i.values.length/i.componentsPerAttribute;if(n!==a&&-1!==n)throw new t("All attribute lists must have the same number of attributes.");n=a}return n},n}),define("Core/GeometryAttribute",["./defaultValue","./defined","./DeveloperError"],function(e){"use strict";var r=function(r){r=e(r,e.EMPTY_OBJECT),this.componentDatatype=r.componentDatatype,this.componentsPerAttribute=r.componentsPerAttribute,this.normalize=e(r.normalize,!1),this.values=r.values};return r}),define("Core/GeometryAttributes",["./defaultValue"],function(e){"use strict";var r=function(r){r=e(r,e.EMPTY_OBJECT),this.position=r.position,this.normal=r.normal,this.st=r.st,this.binormal=r.binormal,this.tangent=r.tangent,this.color=r.color};return r}),define("Core/VertexFormat",["./defaultValue","./freezeObject"],function(e,r){"use strict";var t=function(r){r=e(r,e.EMPTY_OBJECT),this.position=e(r.position,!1),this.normal=e(r.normal,!1),this.st=e(r.st,!1),this.binormal=e(r.binormal,!1),this.tangent=e(r.tangent,!1)};return t.POSITION_ONLY=r(new t({position:!0})),t.POSITION_AND_NORMAL=r(new t({position:!0,normal:!0})),t.POSITION_NORMAL_AND_ST=r(new t({position:!0,normal:!0,st:!0})),t.POSITION_AND_ST=r(new t({position:!0,st:!0})),t.ALL=r(new t({position:!0,normal:!0,st:!0,binormal:!0,tangent:!0})),t.DEFAULT=t.POSITION_NORMAL_AND_ST,t}),define("Core/EllipsoidGeometry",["./defaultValue","./DeveloperError","./Cartesian2","./Cartesian3","./Math","./Ellipsoid","./ComponentDatatype","./IndexDatatype","./PrimitiveType","./BoundingSphere","./Geometry","./GeometryAttribute","./GeometryAttributes","./VertexFormat"],function(e,r,t,n,o,i,a,s,u,l,c,f,m,y){"use strict";var h=new n,p=new n,d=new n,v=new n,g=new n,E=new n(1,1,1),C=Math.cos,S=Math.sin,w=function(r){r=e(r,e.EMPTY_OBJECT);var t=e(r.radii,E),o=e(r.stackPartitions,64),i=e(r.slicePartitions,64),a=e(r.vertexFormat,y.DEFAULT);this._radii=n.clone(t),this._stackPartitions=o,this._slicePartitions=i,this._vertexFormat=a,this._workerName="createEllipsoidGeometry"};return w.createGeometry=function(e){var r,y,E=e._radii,w=i.fromCartesian3(E),A=e._vertexFormat,x=e._slicePartitions+1,M=e._stackPartitions+1,T=M*x,b=new Float64Array(3*T),I=6*(x-1)*(M-1),O=s.createTypedArray(T,I),N=A.normal?new Float32Array(3*T):void 0,R=A.tangent?new Float32Array(3*T):void 0,z=A.binormal?new Float32Array(3*T):void 0,L=A.st?new Float32Array(2*T):void 0,F=new Array(x),P=new Array(x),D=0;for(r=0;x>r;r++){var B=o.TWO_PI*r/(x-1);F[r]=C(B),P[r]=S(B),b[D++]=0,b[D++]=0,b[D++]=E.z}for(r=1;M-1>r;r++){var _=Math.PI*r/(M-1),U=S(_),G=E.x*U,q=E.y*U,Y=E.z*C(_);for(y=0;x>y;y++)b[D++]=F[y]*G,b[D++]=P[y]*q,b[D++]=Y}for(r=0;x>r;r++)b[D++]=0,b[D++]=0,b[D++]=-E.z;var W=new m;A.position&&(W.position=new f({componentDatatype:a.DOUBLE,componentsPerAttribute:3,values:b}));var V=0,H=0,k=0,K=0;if(A.st||A.normal||A.tangent||A.binormal){for(r=0;T>r;r++){var j=n.fromArray(b,3*r,h),Z=w.geodeticSurfaceNormal(j,p);if(A.st){var Q=t.negate(Z,g);t.magnitude(Q)b.length&&(D=3*(r-x*Math.floor(.5*M))),n.fromArray(b,D,Q),w.geodeticSurfaceNormal(Q,Q),t.negate(Q,Q)),L[V++]=Math.atan2(Q.y,Q.x)/o.TWO_PI+.5,L[V++]=Math.asin(Z.z)/Math.PI+.5}if(A.normal&&(N[H++]=Z.x,N[H++]=Z.y,N[H++]=Z.z),A.tangent||A.binormal){var X=d;if(x>r||r>T-x-1?(n.cross(n.UNIT_X,Z,X),n.normalize(X,X)):(n.cross(n.UNIT_Z,Z,X),n.normalize(X,X)),A.tangent&&(R[k++]=X.x,R[k++]=X.y,R[k++]=X.z),A.binormal){var J=n.cross(Z,X,v);n.normalize(J,J),z[K++]=J.x,z[K++]=J.y,z[K++]=J.z}}}A.st&&(W.st=new f({componentDatatype:a.FLOAT,componentsPerAttribute:2,values:L})),A.normal&&(W.normal=new f({componentDatatype:a.FLOAT,componentsPerAttribute:3,values:N})),A.tangent&&(W.tangent=new f({componentDatatype:a.FLOAT,componentsPerAttribute:3,values:R})),A.binormal&&(W.binormal=new f({componentDatatype:a.FLOAT,componentsPerAttribute:3,values:z}))}for(D=0,r=0;M>r;r++){var $=r*x,er=(r+1)*x;for(y=0;x-1>y;y++)O[D++]=er+y,O[D++]=er+y+1,O[D++]=$+y+1,O[D++]=er+y,O[D++]=$+y+1,O[D++]=$+y}return new c({attributes:W,indices:O,primitiveType:u.TRIANGLES,boundingSphere:l.fromEllipsoid(w)})},w}),define("Core/SphereGeometry",["./defaultValue","./Cartesian3","./EllipsoidGeometry"],function(e,r,t){"use strict";var n=function(n){var o=e(n.radius,1),i=new r(o,o,o),a={radii:i,stackPartitions:n.stackPartitions,slicePartitions:n.slicePartitions,vertexFormat:n.vertexFormat};this._ellipsoidGeometry=new t(a),this._workerName="createSphereGeometry"};return n.createGeometry=function(e){return t.createGeometry(e._ellipsoidGeometry)},n}),define("Core/Color",["./defaultValue","./defined","./freezeObject","./DeveloperError","./FeatureDetection","./Math"],function(e,r,t,n,o,i){"use strict";function a(e,r,t){return 0>t&&(t+=1),t>1&&(t-=1),1>6*t?e+6*(r-e)*t:1>2*t?r:2>3*t?e+6*(r-e)*(2/3-t):e}var s=function(r,t,n,o){this.red=e(r,1),this.green=e(t,1),this.blue=e(n,1),this.alpha=e(o,1)};s.fromBytes=function(r,t,n,o){return r=s.byteToFloat(e(r,255)),t=s.byteToFloat(e(t,255)),n=s.byteToFloat(e(n,255)),o=s.byteToFloat(e(o,255)),new s(r,t,n,o)};var u,l,c;o.supportsTypedArrays()&&(u=new ArrayBuffer(4),l=new Uint32Array(u),c=new Uint8Array(u)),s.fromRgba=function(e){return l[0]=e,s.fromBytes(c[0],c[1],c[2],c[3])},s.fromHsl=function(r,t,n,o){r=e(r,0)%1,t=e(t,0),n=e(n,0),o=e(o,1);var i=n,u=n,l=n;if(0!==t){var c;c=.5>n?n*(1+t):n+t-n*t;var f=2*n-c;i=a(f,c,r+1/3),u=a(f,c,r),l=a(f,c,r-1/3)}return new s(i,u,l,o)},s.fromRandom=function(t,n){t=e(t,e.EMPTY_OBJECT);var o=t.red;if(!r(o)){var a=e(t.minimumRed,0),u=e(t.maximumRed,1);o=a+i.nextRandomNumber()*(u-a)}var l=t.green;if(!r(l)){var c=e(t.minimumGreen,0),f=e(t.maximumGreen,1);l=c+i.nextRandomNumber()*(f-c)}var m=t.blue;if(!r(m)){var y=e(t.minimumBlue,0),h=e(t.maximumBlue,1);m=y+i.nextRandomNumber()*(h-y)}var p=t.alpha;if(!r(p)){var d=e(t.minimumAlpha,0),v=e(t.maximumAlpha,1);p=d+i.nextRandomNumber()*(v-d)}return r(n)?(n.red=o,n.green=l,n.blue=m,n.alpha=p,n):new s(o,l,m,p)};var f=/^#([0-9a-f])([0-9a-f])([0-9a-f])$/i,m=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i,y=/^rgba?\(\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)(?:\s*,\s*([0-9.]+))?\s*\)$/i,h=/^hsla?\(\s*([0-9.]+)\s*,\s*([0-9.]+%)\s*,\s*([0-9.]+%)(?:\s*,\s*([0-9.]+))?\s*\)$/i;return s.fromCssColorString=function(t){var n=s[t.toUpperCase()];if(r(n))return s.clone(n);var o=f.exec(t);return null!==o?new s(parseInt(o[1],16)/15,parseInt(o[2],16)/15,parseInt(o[3],16)/15):(o=m.exec(t),null!==o?new s(parseInt(o[1],16)/255,parseInt(o[2],16)/255,parseInt(o[3],16)/255):(o=y.exec(t),null!==o?new s(parseFloat(o[1])/("%"===o[1].substr(-1)?100:255),parseFloat(o[2])/("%"===o[2].substr(-1)?100:255),parseFloat(o[3])/("%"===o[3].substr(-1)?100:255),parseFloat(e(o[4],"1.0"))):(o=h.exec(t),null!==o?s.fromHsl(parseFloat(o[1])/360,parseFloat(o[2])/100,parseFloat(o[3])/100,parseFloat(e(o[4],"1.0"))):void 0)))},s.packedLength=4,s.pack=function(r,t,n){n=e(n,0),t[n++]=r.red,t[n++]=r.green,t[n++]=r.blue,t[n]=r.alpha},s.unpack=function(t,n,o){return n=e(n,0),r(o)||(o=new s),o.red=t[n++],o.green=t[n++],o.blue=t[n++],o.alpha=t[n],o},s.byteToFloat=function(e){return e/255},s.floatToByte=function(e){return 1===e?255:0|256*e},s.clone=function(e,t){return r(e)?r(t)?(t.red=e.red,t.green=e.green,t.blue=e.blue,t.alpha=e.alpha,t):new s(e.red,e.green,e.blue,e.alpha):void 0},s.equals=function(e,t){return e===t||r(e)&&r(t)&&e.red===t.red&&e.green===t.green&&e.blue===t.blue&&e.alpha===t.alpha},s.prototype.clone=function(e){return s.clone(this,e)},s.prototype.equals=function(e){return s.equals(this,e)},s.prototype.equalsEpsilon=function(e,t){return this===e||r(e)&&Math.abs(this.red-e.red)<=t&&Math.abs(this.green-e.green)<=t&&Math.abs(this.blue-e.blue)<=t&&Math.abs(this.alpha-e.alpha)<=t},s.prototype.toString=function(){return"("+this.red+", "+this.green+", "+this.blue+", "+this.alpha+")"},s.prototype.toCssColorString=function(){var e=s.floatToByte(this.red),r=s.floatToByte(this.green),t=s.floatToByte(this.blue);return 1===this.alpha?"rgb("+e+","+r+","+t+")":"rgba("+e+","+r+","+t+","+this.alpha+")"},s.prototype.toBytes=function(e){var t=s.floatToByte(this.red),n=s.floatToByte(this.green),o=s.floatToByte(this.blue),i=s.floatToByte(this.alpha);return r(e)?(e[0]=t,e[1]=n,e[2]=o,e[3]=i,e):[t,n,o,i]},s.prototype.toRgba=function(){return c[0]=s.floatToByte(this.red),c[1]=s.floatToByte(this.green),c[2]=s.floatToByte(this.blue),c[3]=s.floatToByte(this.alpha),l[0]},s.ALICEBLUE=t(s.fromCssColorString("#F0F8FF")),s.ANTIQUEWHITE=t(s.fromCssColorString("#FAEBD7")),s.AQUA=t(s.fromCssColorString("#00FFFF")),s.AQUAMARINE=t(s.fromCssColorString("#7FFFD4")),s.AZURE=t(s.fromCssColorString("#F0FFFF")),s.BEIGE=t(s.fromCssColorString("#F5F5DC")),s.BISQUE=t(s.fromCssColorString("#FFE4C4")),s.BLACK=t(s.fromCssColorString("#000000")),s.BLANCHEDALMOND=t(s.fromCssColorString("#FFEBCD")),s.BLUE=t(s.fromCssColorString("#0000FF")),s.BLUEVIOLET=t(s.fromCssColorString("#8A2BE2")),s.BROWN=t(s.fromCssColorString("#A52A2A")),s.BURLYWOOD=t(s.fromCssColorString("#DEB887")),s.CADETBLUE=t(s.fromCssColorString("#5F9EA0")),s.CHARTREUSE=t(s.fromCssColorString("#7FFF00")),s.CHOCOLATE=t(s.fromCssColorString("#D2691E")),s.CORAL=t(s.fromCssColorString("#FF7F50")),s.CORNFLOWERBLUE=t(s.fromCssColorString("#6495ED")),s.CORNSILK=t(s.fromCssColorString("#FFF8DC")),s.CRIMSON=t(s.fromCssColorString("#DC143C")),s.CYAN=t(s.fromCssColorString("#00FFFF")),s.DARKBLUE=t(s.fromCssColorString("#00008B")),s.DARKCYAN=t(s.fromCssColorString("#008B8B")),s.DARKGOLDENROD=t(s.fromCssColorString("#B8860B")),s.DARKGRAY=t(s.fromCssColorString("#A9A9A9")),s.DARKGREEN=t(s.fromCssColorString("#006400")),s.DARKGREY=s.DARKGRAY,s.DARKKHAKI=t(s.fromCssColorString("#BDB76B")),s.DARKMAGENTA=t(s.fromCssColorString("#8B008B")),s.DARKOLIVEGREEN=t(s.fromCssColorString("#556B2F")),s.DARKORANGE=t(s.fromCssColorString("#FF8C00")),s.DARKORCHID=t(s.fromCssColorString("#9932CC")),s.DARKRED=t(s.fromCssColorString("#8B0000")),s.DARKSALMON=t(s.fromCssColorString("#E9967A")),s.DARKSEAGREEN=t(s.fromCssColorString("#8FBC8F")),s.DARKSLATEBLUE=t(s.fromCssColorString("#483D8B")),s.DARKSLATEGRAY=t(s.fromCssColorString("#2F4F4F")),s.DARKSLATEGREY=s.DARKSLATEGRAY,s.DARKTURQUOISE=t(s.fromCssColorString("#00CED1")),s.DARKVIOLET=t(s.fromCssColorString("#9400D3")),s.DEEPPINK=t(s.fromCssColorString("#FF1493")),s.DEEPSKYBLUE=t(s.fromCssColorString("#00BFFF")),s.DIMGRAY=t(s.fromCssColorString("#696969")),s.DIMGREY=s.DIMGRAY,s.DODGERBLUE=t(s.fromCssColorString("#1E90FF")),s.FIREBRICK=t(s.fromCssColorString("#B22222")),s.FLORALWHITE=t(s.fromCssColorString("#FFFAF0")),s.FORESTGREEN=t(s.fromCssColorString("#228B22")),s.FUSCHIA=t(s.fromCssColorString("#FF00FF")),s.GAINSBORO=t(s.fromCssColorString("#DCDCDC")),s.GHOSTWHITE=t(s.fromCssColorString("#F8F8FF")),s.GOLD=t(s.fromCssColorString("#FFD700")),s.GOLDENROD=t(s.fromCssColorString("#DAA520")),s.GRAY=t(s.fromCssColorString("#808080")),s.GREEN=t(s.fromCssColorString("#008000")),s.GREENYELLOW=t(s.fromCssColorString("#ADFF2F")),s.GREY=s.GRAY,s.HONEYDEW=t(s.fromCssColorString("#F0FFF0")),s.HOTPINK=t(s.fromCssColorString("#FF69B4")),s.INDIANRED=t(s.fromCssColorString("#CD5C5C")),s.INDIGO=t(s.fromCssColorString("#4B0082")),s.IVORY=t(s.fromCssColorString("#FFFFF0")),s.KHAKI=t(s.fromCssColorString("#F0E68C")),s.LAVENDER=t(s.fromCssColorString("#E6E6FA")),s.LAVENDAR_BLUSH=t(s.fromCssColorString("#FFF0F5")),s.LAWNGREEN=t(s.fromCssColorString("#7CFC00")),s.LEMONCHIFFON=t(s.fromCssColorString("#FFFACD")),s.LIGHTBLUE=t(s.fromCssColorString("#ADD8E6")),s.LIGHTCORAL=t(s.fromCssColorString("#F08080")),s.LIGHTCYAN=t(s.fromCssColorString("#E0FFFF")),s.LIGHTGOLDENRODYELLOW=t(s.fromCssColorString("#FAFAD2")),s.LIGHTGRAY=t(s.fromCssColorString("#D3D3D3")),s.LIGHTGREEN=t(s.fromCssColorString("#90EE90")),s.LIGHTGREY=s.LIGHTGRAY,s.LIGHTPINK=t(s.fromCssColorString("#FFB6C1")),s.LIGHTSEAGREEN=t(s.fromCssColorString("#20B2AA")),s.LIGHTSKYBLUE=t(s.fromCssColorString("#87CEFA")),s.LIGHTSLATEGRAY=t(s.fromCssColorString("#778899")),s.LIGHTSLATEGREY=s.LIGHTSLATEGRAY,s.LIGHTSTEELBLUE=t(s.fromCssColorString("#B0C4DE")),s.LIGHTYELLOW=t(s.fromCssColorString("#FFFFE0")),s.LIME=t(s.fromCssColorString("#00FF00")),s.LIMEGREEN=t(s.fromCssColorString("#32CD32")),s.LINEN=t(s.fromCssColorString("#FAF0E6")),s.MAGENTA=t(s.fromCssColorString("#FF00FF")),s.MAROON=t(s.fromCssColorString("#800000")),s.MEDIUMAQUAMARINE=t(s.fromCssColorString("#66CDAA")),s.MEDIUMBLUE=t(s.fromCssColorString("#0000CD")),s.MEDIUMORCHID=t(s.fromCssColorString("#BA55D3")),s.MEDIUMPURPLE=t(s.fromCssColorString("#9370DB")),s.MEDIUMSEAGREEN=t(s.fromCssColorString("#3CB371")),s.MEDIUMSLATEBLUE=t(s.fromCssColorString("#7B68EE")),s.MEDIUMSPRINGGREEN=t(s.fromCssColorString("#00FA9A")),s.MEDIUMTURQUOISE=t(s.fromCssColorString("#48D1CC")),s.MEDIUMVIOLETRED=t(s.fromCssColorString("#C71585")),s.MIDNIGHTBLUE=t(s.fromCssColorString("#191970")),s.MINTCREAM=t(s.fromCssColorString("#F5FFFA")),s.MISTYROSE=t(s.fromCssColorString("#FFE4E1")),s.MOCCASIN=t(s.fromCssColorString("#FFE4B5")),s.NAVAJOWHITE=t(s.fromCssColorString("#FFDEAD")),s.NAVY=t(s.fromCssColorString("#000080")),s.OLDLACE=t(s.fromCssColorString("#FDF5E6")),s.OLIVE=t(s.fromCssColorString("#808000")),s.OLIVEDRAB=t(s.fromCssColorString("#6B8E23")),s.ORANGE=t(s.fromCssColorString("#FFA500")),s.ORANGERED=t(s.fromCssColorString("#FF4500")),s.ORCHID=t(s.fromCssColorString("#DA70D6")),s.PALEGOLDENROD=t(s.fromCssColorString("#EEE8AA")),s.PALEGREEN=t(s.fromCssColorString("#98FB98")),s.PALETURQUOISE=t(s.fromCssColorString("#AFEEEE")),s.PALEVIOLETRED=t(s.fromCssColorString("#DB7093")),s.PAPAYAWHIP=t(s.fromCssColorString("#FFEFD5")),s.PEACHPUFF=t(s.fromCssColorString("#FFDAB9")),s.PERU=t(s.fromCssColorString("#CD853F")),s.PINK=t(s.fromCssColorString("#FFC0CB")),s.PLUM=t(s.fromCssColorString("#DDA0DD")),s.POWDERBLUE=t(s.fromCssColorString("#B0E0E6")),s.PURPLE=t(s.fromCssColorString("#800080")),s.RED=t(s.fromCssColorString("#FF0000")),s.ROSYBROWN=t(s.fromCssColorString("#BC8F8F")),s.ROYALBLUE=t(s.fromCssColorString("#4169E1")),s.SADDLEBROWN=t(s.fromCssColorString("#8B4513")),s.SALMON=t(s.fromCssColorString("#FA8072")),s.SANDYBROWN=t(s.fromCssColorString("#F4A460")),s.SEAGREEN=t(s.fromCssColorString("#2E8B57")),s.SEASHELL=t(s.fromCssColorString("#FFF5EE")),s.SIENNA=t(s.fromCssColorString("#A0522D")),s.SILVER=t(s.fromCssColorString("#C0C0C0")),s.SKYBLUE=t(s.fromCssColorString("#87CEEB")),s.SLATEBLUE=t(s.fromCssColorString("#6A5ACD")),s.SLATEGRAY=t(s.fromCssColorString("#708090")),s.SLATEGREY=s.SLATEGRAY,s.SNOW=t(s.fromCssColorString("#FFFAFA")),s.SPRINGGREEN=t(s.fromCssColorString("#00FF7F")),s.STEELBLUE=t(s.fromCssColorString("#4682B4")),s.TAN=t(s.fromCssColorString("#D2B48C")),s.TEAL=t(s.fromCssColorString("#008080")),s.THISTLE=t(s.fromCssColorString("#D8BFD8")),s.TOMATO=t(s.fromCssColorString("#FF6347")),s.TURQUOISE=t(s.fromCssColorString("#40E0D0")),s.VIOLET=t(s.fromCssColorString("#EE82EE")),s.WHEAT=t(s.fromCssColorString("#F5DEB3")),s.WHITE=t(s.fromCssColorString("#FFFFFF")),s.WHITESMOKE=t(s.fromCssColorString("#F5F5F5")),s.YELLOW=t(s.fromCssColorString("#FFFF00")),s.YELLOWGREEN=t(s.fromCssColorString("#9ACD32")),s +}),define("Core/barycentricCoordinates",["./Cartesian2","./Cartesian3","./defined","./DeveloperError"],function(e,r,t){"use strict";var n=new r,o=new r,i=new r,a=function(a,s,u,l,c){t(c)||(c=new r);var f,m,y,h,p,d,v,g;t(s.z)?(f=r.subtract(u,s,n),m=r.subtract(l,s,o),y=r.subtract(a,s,i),h=r.dot(f,f),p=r.dot(f,m),d=r.dot(f,y),v=r.dot(m,m),g=r.dot(m,y)):(f=e.subtract(u,s,n),m=e.subtract(l,s,o),y=e.subtract(a,s,i),h=e.dot(f,f),p=e.dot(f,m),d=e.dot(f,y),v=e.dot(m,m),g=e.dot(m,y));var E=1/(h*v-p*p);return c.y=(v*d-p*g)*E,c.z=(h*g-p*d)*E,c.x=1-c.y-c.z,c};return a}),define("Core/EncodedCartesian3",["./Cartesian3","./defined","./DeveloperError"],function(e,r){"use strict";var t=function(){this.high=e.clone(e.ZERO),this.low=e.clone(e.ZERO)};t.encode=function(e,t){r(t)||(t={high:0,low:0});var n;return e>=0?(n=65536*Math.floor(e/65536),t.high=n,t.low=e-n):(n=65536*Math.floor(-e/65536),t.high=-n,t.low=e+n),t};var n={high:0,low:0};t.fromCartesian=function(e,o){r(o)||(o=new t);var i=o.high,a=o.low;return t.encode(e.x,n),i.x=n.high,a.x=n.low,t.encode(e.y,n),i.y=n.high,a.y=n.low,t.encode(e.z,n),i.z=n.high,a.z=n.low,o};var o=new t;return t.writeElements=function(e,r,n){t.fromCartesian(e,o);var i=o.high,a=o.low;r[n]=i.x,r[n+1]=i.y,r[n+2]=i.z,r[n+3]=a.x,r[n+4]=a.y,r[n+5]=a.z},t}),define("Core/QuadraticRealPolynomial",["./DeveloperError","./Math"],function(e,r){"use strict";function t(e,t,n){var o=e+t;return r.sign(e)!==r.sign(t)&&Math.abs(o/Math.max(Math.abs(e),Math.abs(t)))a&&a/ss&&s/ai)return[];var u=Math.sqrt(i);return[-u,u]}if(0===o)return i=-n/e,0>i?[i,0]:[0,i];var l=n*n,c=4*e*o,f=t(l,-c,r.EPSILON14);if(0>f)return[];var m=-.5*t(n,r.sign(n)*Math.sqrt(f),r.EPSILON14);return n>0?[m/e,o/m]:[o/m,m/e]},n}),define("Core/CubicRealPolynomial",["./DeveloperError","./QuadraticRealPolynomial"],function(e,r){"use strict";function t(e,r,t,n){var o,i,a=e,s=r/3,u=t/3,l=n,c=a*u,f=s*l,m=s*s,y=u*u,h=a*u-m,p=a*l-s*u,d=s*l-y,v=4*h*d-p*p;if(0>v){var g,E,C;m*f>=c*y?(g=a,E=h,C=-2*s*h+a*p):(g=l,E=d,C=-l*p+2*u*d);var S=0>C?-1:1,w=-S*Math.abs(g)*Math.sqrt(-v);i=-C+w;var A=i/2,x=0>A?-Math.pow(-A,1/3):Math.pow(A,1/3),M=i===w?-x:-E/x;return o=0>=E?x+M:-C/(x*x+M*M+E),m*f>=c*y?[(o-s)/a]:[-l/(o+u)]}var T=h,b=-2*s*h+a*p,I=d,O=-l*p+2*u*d,N=Math.sqrt(v),R=Math.sqrt(3)/2,z=Math.abs(Math.atan2(a*N,-b)/3);o=2*Math.sqrt(-T);var L=Math.cos(z);i=o*L;var F=o*(-L/2-R*Math.sin(z)),P=i+F>2*s?i-s:F-s,D=a,B=P/D;z=Math.abs(Math.atan2(l*N,-O)/3),o=2*Math.sqrt(-I),L=Math.cos(z),i=o*L,F=o*(-L/2-R*Math.sin(z));var _=-l,U=2*u>i+F?i+u:F+u,G=_/U,q=D*U,Y=-P*U-D*_,W=P*_,V=(u*Y-s*W)/(-s*Y+u*q);return V>=B?G>=B?G>=V?[B,V,G]:[B,G,V]:[G,B,V]:G>=B?[V,B,G]:G>=V?[V,G,B]:[G,V,B]}var n={};return n.discriminant=function(e,r,t,n){var o=e*e,i=r*r,a=t*t,s=n*n,u=18*e*r*t*n+i*a-27*o*s-4*(e*a*t+i*r*n);return u},n.realRoots=function(e,n,o,i){var a,s;if(0===e)return r.realRoots(n,o,i);if(0===n){if(0===o){if(0===i)return[0,0,0];s=-i/e;var u=0>s?-Math.pow(-s,1/3):Math.pow(s,1/3);return[u,u,u]}return 0===i?(a=r.realRoots(e,0,o),0===a.Length?[0]:[a[0],0,a[1]]):t(e,0,o,i)}return 0===o?0===i?(s=-n/e,0>s?[s,0,0]:[0,0,s]):t(e,n,0,i):0===i?(a=r.realRoots(e,n,o),0===a.length?[0]:a[1]<=0?[a[0],a[1],0]:a[0]>=0?[0,a[0],a[1]]:[a[0],0,a[1]]):t(e,n,o,i)},n}),define("Core/QuarticRealPolynomial",["./DeveloperError","./Math","./CubicRealPolynomial","./QuadraticRealPolynomial"],function(e,r,t,n){"use strict";function o(e,o,i,a){var s=e*e,u=o-3*s/8,l=i-o*e/2+s*e/8,c=a-i*e/4+o*s/16-3*s*s/256,f=t.realRoots(1,2*u,u*u-4*c,-l*l);if(f.length>0){var m=-e/4,y=f[f.length-1];if(Math.abs(y)=0&&v>=0){var g=Math.sqrt(d),E=Math.sqrt(v);return[m-E,m-g,m+g,m+E]}if(d>=0&&0>v)return p=Math.sqrt(d),[m-p,m+p];if(0>d&&v>=0)return p=Math.sqrt(v),[m-p,m+p]}return[]}if(y>0){var C=Math.sqrt(y),S=(u+y-l/C)/2,w=(u+y+l/C)/2,A=n.realRoots(1,C,S),x=n.realRoots(1,-C,w);return 0!==A.length?(A[0]+=m,A[1]+=m,0!==x.length?(x[0]+=m,x[1]+=m,A[1]<=x[0]?[A[0],A[1],x[0],x[1]]:x[1]<=A[0]?[x[0],x[1],A[0],A[1]]:A[0]>=x[0]&&A[1]<=x[1]?[x[0],A[0],A[1],x[1]]:x[0]>=A[0]&&x[1]<=A[1]?[A[0],x[0],x[1],A[1]]:A[0]>x[0]&&A[0]0){var h,p,d=y[0],v=o-d,g=v*v,E=e/2,C=v/2,S=g-4*a,w=g+4*Math.abs(a),A=l-4*d,x=l+4*Math.abs(d);if(0>d||A*w>S*x){var M=Math.sqrt(A);h=M/2,p=0===M?0:(e*C-i)/M}else{var T=Math.sqrt(S);h=0===T?0:(e*C-i)/T,p=T/2}var b,I;0===E&&0===h?(b=0,I=0):r.sign(E)===r.sign(h)?(b=E+h,I=d/b):(I=E-h,b=d/I);var O,N;0===C&&0===p?(O=0,N=0):r.sign(C)===r.sign(p)?(O=C+p,N=a/O):(N=C-p,O=a/N);var R=n.realRoots(1,b,O),z=n.realRoots(1,I,N);if(0!==R.length)return 0!==z.length?R[1]<=z[0]?[R[0],R[1],z[0],z[1]]:z[1]<=R[0]?[z[0],z[1],R[0],R[1]]:R[0]>=z[0]&&R[1]<=z[1]?[z[0],R[0],R[1],z[1]]:z[0]>=R[0]&&z[1]<=R[1]?[R[0],z[0],z[1],R[1]]:R[0]>z[0]&&R[0]l?1:0;switch(y+=0>c?y+1:y,y+=0>f?y+1:y,y+=0>m?y+1:y){case 0:return o(l,c,f,m);case 1:return i(l,c,f,m);case 2:return i(l,c,f,m);case 3:return o(l,c,f,m);case 4:return o(l,c,f,m);case 5:return i(l,c,f,m);case 6:return o(l,c,f,m);case 7:return o(l,c,f,m);case 8:return i(l,c,f,m);case 9:return o(l,c,f,m);case 10:return o(l,c,f,m);case 11:return i(l,c,f,m);case 12:return o(l,c,f,m);case 13:return o(l,c,f,m);case 14:return o(l,c,f,m);case 15:return o(l,c,f,m);default:return void 0}},a}),define("Core/IntersectionTests",["./defined","./DeveloperError","./Math","./Cartesian3","./Cartographic","./Matrix3","./QuadraticRealPolynomial","./QuarticRealPolynomial"],function(e,r,t,n,o,i,a,s){"use strict";function u(e,r,n){var o=e+r;return t.sign(e)!==t.sign(r)&&Math.abs(o/Math.max(Math.abs(e),Math.abs(r)))F;++F){var P,D=f[F],B=D*D,_=Math.max(1-B,0),U=Math.sqrt(_);P=t.sign(h)===t.sign(d)?u(h*B+d,p*D,t.EPSILON12):t.sign(d)===t.sign(p*D)?u(h*B,p*D+d,t.EPSILON12):u(h*B+p*D,d,t.EPSILON12);var G=u(v*D,g,t.EPSILON15),q=P*G;0>q?E.push(new n(l,c*D,c*U)):q>0?E.push(new n(l,c*D,c*-U)):0!==U?(E.push(new n(l,c*D,c*-U)),E.push(new n(l,c*D,c*U)),++F):E.push(new n(l,c*D,c*U))}return E}var c={};c.rayPlane=function(e,r,o){var i=e.origin,a=e.direction,s=r.normal,u=n.dot(s,a);if(Math.abs(u)l?void 0:(o=n.multiplyByScalar(a,l,o),n.add(i,o,o))};var f=new n,m=new n;c.rayEllipsoid=function(e,r){var t,o,i,a,s,u=r.oneOverRadii,l=n.multiplyComponents(u,e.origin,f),c=n.multiplyComponents(u,e.direction,m),y=n.magnitudeSquared(l),h=n.dot(l,c);if(y>1){if(h>=0)return void 0;var p=h*h;if(t=y-1,o=n.magnitudeSquared(c),i=o*t,i>p)return void 0;if(p>i){a=h*h-i,s=-h+Math.sqrt(a);var d=s/o,v=t/s;return v>d?{start:d,stop:v}:{start:v,stop:d}}var g=Math.sqrt(t/o);return{start:g,stop:g}}return 1>y?(t=y-1,o=n.magnitudeSquared(c),i=o*t,a=h*h-i,s=-h+Math.sqrt(a),{start:0,stop:s/o}):0>h?(o=n.magnitudeSquared(c),{start:0,stop:-h/o}):void 0},c.grazingAltitudeLocation=function(r,a){var s=r.origin,u=r.direction,c=a.geodeticSurfaceNormal(s);if(n.dot(u,c)>=0)return s;var f,m,y=e(this.rayEllipsoid(r,a)),h=a.transformPositionToScaledSpace(u),p=n.normalize(h),d=n.mostOrthogonalAxis(h),v=n.normalize(n.cross(d,p)),g=n.normalize(n.cross(p,v)),E=new i(p.x,v.x,g.x,p.y,v.y,g.y,p.z,v.z,g.z),C=i.transpose(E),S=i.fromScale(a.radii),w=i.fromScale(a.oneOverRadii),A=new i(0,u.z,-u.y,-u.z,0,u.x,u.y,-u.x,0),x=i.multiply(i.multiply(C,w),A),M=i.multiply(i.multiply(x,S),E),T=i.multiplyByVector(x,s),b=l(M,n.negate(T),0,0,1),I=b.length;if(I>0){for(var O=n.ZERO,N=Number.NEGATIVE_INFINITY,R=0;I>R;++R){f=i.multiplyByVector(S,i.multiplyByVector(E,b[R]));var z=n.normalize(n.subtract(f,s)),L=n.dot(z,u);L>N&&(N=L,O=f)}var F=a.cartesianToCartographic(O);return N=t.clamp(N,0,1),m=n.magnitude(n.subtract(O,s))*Math.sqrt(1-N*N),m=y?-m:m,a.cartographicToCartesian(new o(F.longitude,F.latitude,m))}return void 0};var y=new n;return c.lineSegmentPlane=function(r,o,i,a){var s=n.subtract(o,r,y),u=i.normal,l=n.dot(u,s);if(Math.abs(l)f||f>1?void 0:(e(a)||(a=new n),n.multiplyByScalar(s,f,a),n.add(r,a,a),a)},c.trianglePlaneIntersection=function(e,r,t,o){var i=o.normal,a=o.distance,s=n.dot(i,e)+a<0,u=n.dot(i,r)+a<0,l=n.dot(i,t)+a<0,f=0;f+=s?1:0,f+=u?1:0,f+=l?1:0;var m,y;if((1===f||2===f)&&(m=new n,y=new n),1===f){if(s)return c.lineSegmentPlane(e,r,o,m),c.lineSegmentPlane(e,t,o,y),{positions:[e,r,t,m,y],indices:[0,3,4,1,2,4,1,4,3]};if(u)return c.lineSegmentPlane(r,t,o,m),c.lineSegmentPlane(r,e,o,y),{positions:[e,r,t,m,y],indices:[1,3,4,2,0,4,2,4,3]};if(l)return c.lineSegmentPlane(t,e,o,m),c.lineSegmentPlane(t,r,o,y),{positions:[e,r,t,m,y],indices:[2,3,4,0,1,4,0,4,3]}}else if(2===f){if(!s)return c.lineSegmentPlane(r,e,o,m),c.lineSegmentPlane(t,e,o,y),{positions:[e,r,t,m,y],indices:[1,2,4,1,4,3,0,3,4]};if(!u)return c.lineSegmentPlane(t,r,o,m),c.lineSegmentPlane(e,r,o,y),{positions:[e,r,t,m,y],indices:[2,0,4,2,4,3,1,3,4]};if(!l)return c.lineSegmentPlane(e,t,o,m),c.lineSegmentPlane(r,t,o,y),{positions:[e,r,t,m,y],indices:[0,1,4,0,4,3,2,3,4]}}return void 0},c}),define("Core/Plane",["./Cartesian3","./defined","./DeveloperError"],function(e,r){"use strict";var t=function(r,t){this.normal=e.clone(r),this.distance=t};return t.fromPointNormal=function(n,o,i){var a=-e.dot(o,n);return r(i)?(e.clone(o,i.normal),i.distance=a,i):new t(o,a)},t.getPointDistance=function(r,t){return e.dot(r.normal,t)+r.distance},t.prototype.getPointDistance=function(e){return t.getPointDistance(this,e)},t}),define("Core/Tipsify",["./defaultValue","./defined","./DeveloperError"],function(e,r){"use strict";var t={};return t.calculateACMR=function(t){t=e(t,e.EMPTY_OBJECT);var n=t.indices,o=t.maximumIndex,i=e(t.cacheSize,24),a=n.length;if(!r(o)){o=0;for(var s=0,u=n[s];a>s;)u>o&&(o=u),++s,u=n[s]}for(var l=[],c=0;o+1>c;c++)l[c]=0;for(var f=i+1,m=0;a>m;++m)f-l[n[m]]>i&&(l[n[m]]=f,++f);return(f-i+1)/(a/3)},t.tipsify=function(t){function n(e,r,t,n){for(;r.length>=1;){var o=r[r.length-1];if(r.splice(r.length-1,1),e[o].numLiveTriangles>0)return o}for(;n>i;){if(e[i].numLiveTriangles>0)return++i,i-1;++i}return-1}function o(e,r,t,o,i,a,s){for(var u,l=-1,c=-1,f=0;fc||-1===c)&&(c=u,l=m)),++f}return-1===l?n(o,a,e,s):l}t=e(t,e.EMPTY_OBJECT);var i,a=t.indices,s=t.maximumIndex,u=e(t.cacheSize,24),l=a.length,c=0,f=0,m=a[f],y=l;if(r(s))c=s+1;else{for(;y>f;)m>c&&(c=m),++f,m=a[f];if(-1===c)return 0;++c}for(var h=[],p=0;c>p;p++)h[p]={numLiveTriangles:0,timeStamp:0,vertexTriangles:[]};f=0;for(var d=0;y>f;)h[a[f]].vertexTriangles.push(d),++h[a[f]].numLiveTriangles,h[a[f+1]].vertexTriangles.push(d),++h[a[f+1]].numLiveTriangles,h[a[f+2]].vertexTriangles.push(d),++h[a[f+2]].numLiveTriangles,++d,f+=3;var v=0,g=u+1;i=1;var E,C,S=[],w=[],A=0,x=[],M=l/3,T=[];for(p=0;M>p;p++)T[p]=!1;for(var b,I;-1!==v;){S=[],C=h[v],I=C.vertexTriangles.length;for(var O=0;I>O;++O)if(d=C.vertexTriangles[O],!T[d]){T[d]=!0,f=d+d+d;for(var N=0;3>N;++N)b=a[f],S.push(b),w.push(b),x[A]=b,++A,E=h[b],--E.numLiveTriangles,g-E.timeStamp>u&&(E.timeStamp=g,++g),++f}v=o(a,u,S,h,g,w,c)}return x},t}),define("Core/GeometryPipeline",["./barycentricCoordinates","./defaultValue","./defined","./DeveloperError","./Cartesian2","./Cartesian3","./Cartesian4","./Cartographic","./EncodedCartesian3","./Intersect","./IntersectionTests","./Math","./Matrix3","./Matrix4","./Plane","./GeographicProjection","./ComponentDatatype","./IndexDatatype","./PrimitiveType","./Tipsify","./BoundingSphere","./Geometry","./GeometryAttribute"],function(e,r,t,n,o,i,a,s,u,l,c,f,m,y,h,p,d,v,g,E,C,S,w){"use strict";function A(e,r,t,n,o){e[r++]=t,e[r++]=n,e[r++]=n,e[r++]=o,e[r++]=o,e[r]=t}function x(e){for(var r=e.length,t=6*(r/3),n=v.createTypedArray(r,t),o=0,i=0;r>i;i+=3,o+=6)A(n,o,e[i],e[i+1],e[i+2]);return n}function M(e){var r=e.length;if(r>=3){var t=6*(r-2),n=v.createTypedArray(r,t);A(n,0,e[0],e[1],e[2]);for(var o=6,i=3;r>i;++i,o+=6)A(n,o,e[i-1],e[i],e[i-2]);return n}return new Uint16Array}function T(e){if(e.length>0){for(var r=e.length-1,t=6*(r-1),n=v.createTypedArray(r,t),o=e[0],i=0,a=1;r>a;++a,i+=6)A(n,i,o,e[a],e[a+1]);return n}return new Uint16Array}function b(e){var r={};for(var n in e)if(e.hasOwnProperty(n)&&t(e[n])&&t(e[n].values)){var o=e[n];r[n]=new w({componentDatatype:o.componentDatatype,componentsPerAttribute:o.componentsPerAttribute,normalize:o.normalize,values:[]})}return r}function I(e,r,n){for(var o in r)if(r.hasOwnProperty(o)&&t(r[o])&&t(r[o].values))for(var i=r[o],a=0;aa;a+=3)i.unpack(n,a,Z),y.multiplyByPoint(e,Z,Z),i.pack(Z,n,a)}function N(e,r){if(t(r))for(var n=r.values,o=n.length,a=0;o>a;a+=3)i.unpack(n,a,Z),m.multiplyByVector(e,Z,Z),Z=i.normalize(Z,Z),i.pack(Z,n,a)}function R(e){var r,n=e.length,o={},i=e[0].geometry.attributes;for(r in i)if(i.hasOwnProperty(r)&&t(i[r])&&t(i[r].values)){for(var a=i[r],s=a.values.length,u=!0,l=1;n>l;++l){var c=e[l].geometry.attributes[r];if(!t(c)||a.componentDatatype.value!==c.componentDatatype.value||a.componentsPerAttribute!==c.componentsPerAttribute||a.normalize!==c.normalize){u=!1;break}s+=c.values.length}u&&(o[r]=new w({componentDatatype:a.componentDatatype,componentsPerAttribute:a.componentsPerAttribute,normalize:a.normalize,values:d.createTypedArray(a.componentDatatype,s)}))}return o}function z(e){if(t(e.indices))return e;for(var r=S.computeNumberOfVertices(e),n=v.createTypedArray(r,r),o=0;r>o;++o)n[o]=o;return e.indices=n,e}function L(e){var r=S.computeNumberOfVertices(e),t=v.createTypedArray(r,3*(r-2));t[0]=1,t[1]=0,t[2]=2;for(var n=3,o=3;r>o;++o)t[n++]=o-1,t[n++]=0,t[n++]=o;return e.indices=t,e.primitiveType=g.TRIANGLES,e}function F(e){var r=S.computeNumberOfVertices(e),t=v.createTypedArray(r,3*(r-2));t[0]=0,t[1]=1,t[2]=2,r>3&&(t[3]=0,t[4]=2,t[5]=3);for(var n=6,o=3;r-1>o;o+=2)t[n++]=o,t[n++]=o-1,t[n++]=o+1,r>o+2&&(t[n++]=o,t[n++]=o+1,t[n++]=o+2);return e.indices=t,e.primitiveType=g.TRIANGLES,e}function P(e){if(t(e.indices))return e;for(var r=S.computeNumberOfVertices(e),n=v.createTypedArray(r,r),o=0;r>o;++o)n[o]=o;return e.indices=n,e}function D(e){var r=S.computeNumberOfVertices(e),t=v.createTypedArray(r,2*(r-1));t[0]=0,t[1]=1;for(var n=2,o=2;r>o;++o)t[n++]=o-1,t[n++]=o;return e.indices=t,e.primitiveType=g.LINES,e}function B(e){var r=S.computeNumberOfVertices(e),t=v.createTypedArray(r,2*r);t[0]=0,t[1]=1;for(var n=2,o=2;r>o;++o)t[n++]=o-1,t[n++]=o;return t[n++]=r-1,t[n]=0,e.indices=t,e.primitiveType=g.LINES,e}function _(e){switch(e.primitiveType){case g.TRIANGLE_FAN:return L(e);case g.TRIANGLE_STRIP:return F(e);case g.TRIANGLES:return z(e);case g.LINE_STRIP:return D(e);case g.LINE_LOOP:return B(e);case g.LINES:return P(e)}return e}function U(e,r){Math.abs(e.y)=0||r.x>=0||t.x>=0)return void 0;var n=e.y<0,o=r.y<0,i=t.y<0;U(e,n),U(r,o),U(t,i);var a=0;a+=n?1:0,a+=o?1:0,a+=i?1:0;var s=cr.indices;1===a?(s[1]=3,s[2]=4,s[5]=6,s[7]=6,s[8]=5,n?(G(e,r,ar,ur),G(e,t,sr,lr),s[0]=0,s[3]=1,s[4]=2,s[6]=1):o?(G(r,t,ar,ur),G(r,e,sr,lr),s[0]=1,s[3]=2,s[4]=0,s[6]=2):i&&(G(t,e,ar,ur),G(t,r,sr,lr),s[0]=2,s[3]=0,s[4]=1,s[6]=0)):2===a&&(s[2]=4,s[4]=4,s[5]=3,s[7]=5,s[8]=6,n?o?i||(G(t,e,ar,ur),G(t,r,sr,lr),s[0]=0,s[1]=1,s[3]=0,s[6]=2):(G(r,t,ar,ur),G(r,e,sr,lr),s[0]=2,s[1]=0,s[3]=2,s[6]=1):(G(e,r,ar,ur),G(e,t,sr,lr),s[0]=1,s[1]=2,s[3]=1,s[6]=0));var u=cr.positions;return u[0]=e,u[1]=r,u[2]=t,cr.length=3,(1===a||2===a)&&(u[3]=ar,u[4]=sr,u[5]=ur,u[6]=lr,cr.length=7),cr}function Y(r,n,a,s,u,l,c,f){if(t(u)||t(l)||t(c)||t(f)){var m,y,h,p,d,v,g,E,C,S,w,A,x,M,T,b,I,O,N=s.positions,R=N[0],z=N[1],L=N[2];t(u)&&(m=i.fromArray(u,3*r),y=i.fromArray(u,3*n),h=i.fromArray(u,3*a)),t(l)&&(p=i.fromArray(l,3*r),d=i.fromArray(l,3*n),v=i.fromArray(l,3*a)),t(c)&&(g=i.fromArray(c,3*r),E=i.fromArray(c,3*n),C=i.fromArray(c,3*a)),t(f)&&(S=o.fromArray(f,2*r),w=o.fromArray(f,2*n),A=o.fromArray(f,2*a));for(var F=3;FE;E+=3){var C=l[E],w=l[E+1],A=l[E+2],x=i.fromArray(n,3*C),M=i.fromArray(n,3*w),T=i.fromArray(n,3*A),b=q(x,M,T);if(t(b))if(c[3*C+1]=b.positions[0].y,c[3*w+1]=b.positions[1].y,c[3*A+1]=b.positions[2].y,b.length>3){for(var I=c.length/3,O=0;ON?p.push(l[E+N]):p.push(N-3+I)}for(var R=3;Rm;m+=2){var y=o[m],p=o[m+1],d=i.fromArray(n,3*y),g=i.fromArray(n,3*p);if(Math.abs(d.y)c;c+=3)u[l++]=i[c],u[l++]=i[c+1],u[l++]=i[c+2],u[l++]=i[c]+a[c]*o,u[l++]=i[c+1]+a[c+1]*o,u[l++]=i[c+2]+a[c+2]*o;var f,m=e.boundingSphere;return t(m)&&(f=new C(m.center,m.radius+o)),new S({attributes:{position:new w({componentDatatype:d.DOUBLE,componentsPerAttribute:3,values:u})},primitiveType:g.LINES,boundingSphere:f})},H.createAttributeLocations=function(e){var r,n=["position","positionHigh","positionLow","position3DHigh","position3DLow","position2DHigh","position2DLow","pickColor","normal","st","binormal","tangent"],o=e.attributes,i={},a=0,s=n.length;for(r=0;s>r;++r){var u=n[r];t(o[u])&&(i[u]=a++)}for(var l in o)o.hasOwnProperty(l)&&!t(i[l])&&(i[l]=a++);return i},H.reorderForPreVertexCache=function(e){var r=S.computeNumberOfVertices(e),n=e.indices;if(t(n)){for(var o=new Int32Array(r),i=0;r>i;i++)o[i]=-1;for(var a,s=n,u=s.length,l=v.createTypedArray(r,u),c=0,f=0,m=0;u>c;)a=o[s[c]],-1!==a?l[f]=a:(a=s[c],o[a]=m,l[f]=m,++m),++c,++f;e.indices=l;var y=e.attributes;for(var h in y)if(y.hasOwnProperty(h)&&t(y[h])&&t(y[h].values)){for(var p=y[h],g=p.values,E=0,C=p.componentsPerAttribute,w=d.createTypedArray(p.componentDatatype,m*C);r>E;){var A=o[E];if(-1!==A)for(i=0;C>i;i++)w[C*A+i]=g[C*E+i];++E}p.values=w}}return e},H.reorderForPostVertexCache=function(e,r){var n=e.indices;if(e.primitiveType===g.TRIANGLES&&t(n)){for(var o=n.length,i=0,a=0;o>a;a++)n[a]>i&&(i=n[a]);e.indices=E.tipsify({indices:n,maximumIndex:i,cacheSize:r})}return e},H.fitToUnsignedShortIndices=function(e){var r=[],n=S.computeNumberOfVertices(e);if(t(e.indices)&&n>f.SIXTY_FOUR_KILOBYTES){var o,i=[],a=[],s=0,u=b(e.attributes),l=e.indices,c=l.length;e.primitiveType===g.TRIANGLES?o=3:e.primitiveType===g.LINES?o=2:e.primitiveType===g.POINTS&&(o=1);for(var m=0;c>m;m+=o){for(var y=0;o>y;++y){var h=l[m+y],p=i[h];t(p)||(p=s++,i[h]=p,I(u,e.attributes,h)),a.push(p)}s+o>f.SIXTY_FOUR_KILOBYTES&&(r.push(new S({attributes:u,indices:a,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere})),i=[],a=[],s=0,u=b(e.attributes))}0!==a.length&&r.push(new S({attributes:u,indices:a,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere}))}else r.push(e);return r};var k=new i,K=new s;H.projectTo2D=function(e,r,o,a,s){var u=e.attributes[r];s=t(s)?s:new p;for(var l=s.ellipsoid,c=u.values,f=new Float64Array(c.length),m=0,y=0;yc;++c)u.encode(i[c],j),s[c]=j.high,l[c]=j.low;var f=o.componentsPerAttribute;return e.attributes[t]=new w({componentDatatype:d.FLOAT,componentsPerAttribute:f,values:s}),e.attributes[n]=new w({componentDatatype:d.FLOAT,componentsPerAttribute:f,values:l}),delete e.attributes[r],e};var Z=new i,Q=new y,X=new m;H.transformToWorldCoordinates=function(e){var r=e.modelMatrix;if(y.equals(r,y.IDENTITY))return e;var n=e.geometry.attributes;O(r,n.position),O(r,n.prevPosition),O(r,n.nextPosition),(t(n.normal)||t(n.binormal)||t(n.tangent))&&(y.inverse(r,Q),y.transpose(Q,Q),y.getRotation(Q,X),N(X,n.normal),N(X,n.binormal),N(X,n.tangent));var o=e.geometry.boundingSphere;return t(o)&&(e.geometry.boundingSphere=C.transform(o,r,o)),e.modelMatrix=y.clone(y.IDENTITY),e},H.combine=function(e){var r,n,o,a,s=e.length;e[0].modelMatrix;var u,l,c,f=t(e[0].geometry.indices),m=e[0].geometry.primitiveType,y=R(e);for(r in y)if(y.hasOwnProperty(r))for(u=y[r].values,a=0,n=0;s>n;++n)for(l=e[n].geometry.attributes[r].values,c=l.length,o=0;c>o;++o)u[a++]=l[o];var h;if(f){var p=0;for(n=0;s>n;++n)p+=e[n].geometry.indices.length;var d=S.computeNumberOfVertices(new S({attributes:y,primitiveType:g.POINTS})),E=v.createTypedArray(d,p),w=0,A=0;for(n=0;s>n;++n){var x=e[n].geometry.indices,M=x.length;for(a=0;M>a;++a)E[w++]=A+x[a];A+=S.computeNumberOfVertices(e[n].geometry)}h=E}var T,b=new i,I=0;for(n=0;s>n;++n){if(T=e[n].geometry.boundingSphere,!t(T)){b=void 0;break}i.add(T.center,b,b)}if(t(b))for(i.divideByScalar(b,s,b),n=0;s>n;++n){T=e[n].geometry.boundingSphere;var O=i.magnitude(i.subtract(T.center,b))+T.radius;O>I&&(I=O)}return new S({attributes:y,indices:h,primitiveType:m,boundingSphere:t(b)?new C(b,I):void 0})};var J=new i,$=new i,er=new i,rr=new i;H.computeNormal=function(e){for(var r=e.indices,t=e.attributes,n=t.position.values,o=t.position.values.length/3,a=r.length,s=new Array(o),u=new Array(a/3),l=new Array(a),c=0;o>c;c++)s[c]={indexOffset:0,count:0,currentCount:0};var f=0;for(c=0;a>c;c+=3){var m=r[c],y=r[c+1],h=r[c+2],p=3*m,v=3*y,g=3*h;$.x=n[p],$.y=n[p+1],$.z=n[p+2],er.x=n[v],er.y=n[v+1],er.z=n[v+2],rr.x=n[g],rr.y=n[g+1],rr.z=n[g+2],s[m].count++,s[y].count++,s[h].count++,i.subtract(er,$,er),i.subtract(rr,$,rr),u[f]=i.cross(er,rr),f++}var E=0;for(c=0;o>c;c++)s[c].indexOffset+=E,E+=s[c].count;f=0;var C;for(c=0;a>c;c+=3){C=s[r[c]];var S=C.indexOffset+C.currentCount;l[S]=f,C.currentCount++,C=s[r[c+1]],S=C.indexOffset+C.currentCount,l[S]=f,C.currentCount++,C=s[r[c+2]],S=C.indexOffset+C.currentCount,l[S]=f,C.currentCount++,f++}var A=new Float32Array(3*o);for(c=0;o>c;c++){var x=3*c;if(C=s[c],C.count>0){for(i.clone(i.ZERO,J),f=0;fl;l+=3){var y=r[l],h=r[l+1],p=r[l+2];c=3*y,f=3*h,m=3*p;var v=2*y,g=2*h,E=2*p,C=t[c],S=t[c+1],A=t[c+2],x=o[v],M=o[v+1],T=o[g+1]-M,b=o[E+1]-M,I=1/((o[g]-x)*b-(o[E]-x)*T),O=(b*(t[f]-C)-T*(t[m]-C))*I,N=(b*(t[f+1]-S)-T*(t[m+1]-S))*I,R=(b*(t[f+2]-A)-T*(t[m+2]-A))*I;u[c]+=O,u[c+1]+=N,u[c+2]+=R,u[f]+=O,u[f+1]+=N,u[f+2]+=R,u[m]+=O,u[m+1]+=N,u[m+2]+=R}var z=new Float32Array(3*a),L=new Float32Array(3*a);for(l=0;a>l;l++){c=3*l,f=c+1,m=c+2;var F=i.fromArray(n,c,tr),P=i.fromArray(u,c,or),D=i.dot(F,P);i.multiplyByScalar(F,D,nr),i.normalize(i.subtract(P,nr,P),P),L[c]=P.x,L[f]=P.y,L[m]=P.z,i.normalize(i.cross(F,P,P),P),z[c]=P.x,z[f]=P.y,z[m]=P.z}return e.attributes.tangent=new w({componentDatatype:d.FLOAT,componentsPerAttribute:3,values:L}),e.attributes.binormal=new w({componentDatatype:d.FLOAT,componentsPerAttribute:3,values:z}),e};var ir=new i,ar=new i,sr=new i,ur=new i,lr=new i,cr={positions:new Array(7),indices:new Array(9)};return H.wrapLongitude=function(e){var r=e.boundingSphere;if(t(r)){var n=r.center.x-r.radius;if(n>0||C.intersect(r,a.UNIT_Y)!==l.INTERSECTING)return e}return _(e),e.primitiveType===g.TRIANGLES?W(e):e.primitiveType===g.LINES&&V(e),e},H}),define("Scene/PrimitivePipeline",["../Core/defined","../Core/defaultValue","../Core/Color","../Core/ComponentDatatype","../Core/DeveloperError","../Core/FeatureDetection","../Core/Geometry","../Core/GeometryAttribute","../Core/GeometryPipeline","../Core/Matrix4"],function(e,r,t,n,o,i,a,s,u,l){"use strict";function c(e,r,t){var n,o=!t,i=e.length;if(!o&&i>1){var a=e[0].modelMatrix;for(n=1;i>n;++n)if(!l.equals(a,e[n].modelMatrix)){o=!0;break}}if(o)for(n=0;i>n;++n)u.transformToWorldCoordinates(e[n]);else l.clone(e[0].modelMatrix,r)}function f(e,r){for(var o=e.length,i=0;o>i;++i){var a=e[i],u=a.geometry,l=u.attributes,c=l.position,f=4*(c.values.length/c.componentsPerAttribute);l.pickColor=new s({componentDatatype:n.UNSIGNED_BYTE,componentsPerAttribute:4,normalize:!0,values:new Uint8Array(f)});for(var m=r[i],y=t.floatToByte(m.red),h=t.floatToByte(m.green),p=t.floatToByte(m.blue),d=t.floatToByte(m.alpha),v=l.pickColor.values,g=0;f>g;g+=4)v[g]=y,v[g+1]=h,v[g+2]=p,v[g+3]=d}}function m(r){var t,n=r.length,o=[],i=r[0].attributes;for(t in i)if(i.hasOwnProperty(t)){for(var a=i[t],s=!0,u=1;n>u;++u){var l=r[u].attributes[t];if(!e(l)||a.componentDatatype.value!==l.componentDatatype.value||a.componentsPerAttribute!==l.componentsPerAttribute||a.normalize!==l.normalize){s=!1;break}}s&&o.push(t)}return o}function y(e,r){for(var t=e.length,o=0;t>o;++o)for(var i=e[o],u=i.attributes,l=i.geometry,c=a.computeNumberOfVertices(l),f=r.length,m=0;f>m;++m){for(var y=r[m],h=u[y],p=h.componentDatatype,d=h.value,v=d.length,g=n.createTypedArray(p,c*v),E=0;c>E;++E)g.set(d,E*v);l.attributes[y]=new s({componentDatatype:p,componentsPerAttribute:v,normalize:h.normalize,values:g})}}function h(e){var r,t=e.instances,o=e.pickIds,i=e.projection,a=e.elementIndexUintSupported,s=e.allow3DOnly,l=e.allowPicking,h=e.vertexCacheOptimize,p=e.modelMatrix,d=t.length;if(t[0].geometry.primitiveType,c(t,p,s),!s)for(r=0;d>r;++r)u.wrapLongitude(t[r].geometry);l&&f(t,o);var v=m(t);if(y(t,v),h)for(r=0;d>r;++r)u.reorderForPostVertexCache(t[r].geometry),u.reorderForPreVertexCache(t[r].geometry);var g,E=u.combine(t),C=E.attributes;if(s)for(g in C)C.hasOwnProperty(g)&&C[g].componentDatatype.value===n.DOUBLE.value&&u.encodeAttribute(E,g,g+"3DHigh",g+"3DLow");else for(g in C)if(C.hasOwnProperty(g)&&C[g].componentDatatype.value===n.DOUBLE.value){var S=g+"3D",w=g+"2D";u.projectTo2D(E,g,S,w,i),u.encodeAttribute(E,S,S+"High",S+"Low"),u.encodeAttribute(E,w,w+"High",w+"Low")}return a?[E]:u.fitToUnsignedShortIndices(E)}function p(e,r,t){for(var o=[],i=e.attributes,a=t.length,s=0;a>s;++s){var u=t[s],l=i[u],c=l.componentDatatype;c.value===n.DOUBLE.value&&(c=n.FLOAT);var f=n.createTypedArray(c,l.values);o.push({index:r[u],componentDatatype:c,componentsPerAttribute:l.componentsPerAttribute,normalize:l.normalize,values:f}),delete i[u]}return o}function d(t,n,o){for(var i=[],s=m(t),u=t.length,l={},c={},f=0;u>f;++f)for(var y=t[f],h=a.computeNumberOfVertices(y.geometry),p=s.length,d=0;p>d;++d)for(var v=s[d],g=o[v],E=h;E>0;){for(var C,S=r(c[v],0),w=n[S],A=w.length,x=0;A>x&&(C=w[x],C.index!==g);++x);e(i[f])||(i[f]={}),e(i[f][v])||(i[f][v]={dirty:!1,value:y.attributes[v].value,indices:[]});var M,T=C.values.length/C.componentsPerAttribute,b=r(l[v],0);T>b+E?(M=E,i[f][v].indices.push({attribute:C,offset:b,count:M}),l[v]=b+E):(M=T-b,i[f][v].indices.push({attribute:C,offset:b,count:M}),l[v]=0,c[v]=S+1),E-=M}return i}function v(r){return e(r.constructor.name)?{type:r.constructor.name,buffer:r.buffer}:r}function g(r){return e(r.type)?new C[r.type](r.buffer):r}if(!i.supportsTypedArrays())return{};var E={};E.combineGeometry=function(e){for(var r={instances:e.instances,pickIds:e.pickIds,ellipsoid:e.ellipsoid,projection:e.projection,elementIndexUintSupported:e.elementIndexUintSupported,allow3DOnly:e.allow3DOnly,allowPicking:e.allowPicking,vertexCacheOptimize:e.vertexCacheOptimize,modelMatrix:l.clone(e.modelMatrix)},t=h(r),n=u.createAttributeLocations(t[0]),o=r.instances,i=m(o),a=[],s=t.length,c=0;s>c;++c){var f=t[c]; +a.push(p(f,n,i))}var y=d(o,a,n);return{geometries:t,modelMatrix:r.modelMatrix,attributeLocations:n,vaAttributes:a,vaAttributeLocations:y}};var C={Int8Array:Int8Array,Uint8Array:Uint8Array,Int16Array:Int16Array,Uint16Array:Uint16Array,Int32Array:Int32Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array};return E.transferGeometry=function(r,t){var n,o=r.attributes;for(var a in o)o.hasOwnProperty(a)&&e(o[a])&&e(o[a].values)&&(n=o[a].values,i.supportsTransferringArrayBuffers()&&t.indexOf(o[a].values.buffer)<0&&t.push(n.buffer),e(n.type)||(o[a].values=v(n)));e(r.indices)&&(n=r.indices,i.supportsTransferringArrayBuffers()&&t.push(n.buffer),e(n.type)||(r.indices=v(r.indices)))},E.transferGeometries=function(e,r){for(var t=e.length,n=0;t>n;++n)E.transferGeometry(e[n],r)},E.transferPerInstanceAttributes=function(e,r){for(var t=e.length,n=0;t>n;++n)for(var o=e[n],a=o.length,s=0;a>s;++s){var u=o[s].values;i.supportsTransferringArrayBuffers()&&r.push(u.buffer),o[s].values=v(u)}},E.transferInstances=function(e,r){for(var t=e.length,n=0;t>n;++n){var o=e[n];E.transferGeometry(o.geometry,r)}},E.receiveGeometry=function(r){var t=r.attributes;for(var n in t)t.hasOwnProperty(n)&&e(t[n])&&e(t[n].values)&&(t[n].values=g(t[n].values));e(r.indices)&&(r.indices=g(r.indices))},E.receiveGeometries=function(e){for(var r=e.length,t=0;r>t;++t)E.receiveGeometry(e[t])},E.receivePerInstanceAttributes=function(e){for(var r=e.length,t=0;r>t;++t)for(var n=e[t],o=n.length,i=0;o>i;++i)n[i].values=g(n[i].values)},E.receiveInstances=function(e){for(var r=e.length,t=0;r>t;++t){var n=e[t];E.receiveGeometry(n.geometry)}},E}),define("Workers/createTaskProcessorWorker",["../Core/defaultValue","../Core/defined"],function(e,r){"use strict";var t=function(t){var n,o=[],i={id:void 0,result:void 0,error:void 0};return function(a){var s=a.data;o.length=0,i.id=s.id,i.error=void 0,i.result=void 0;try{i.result=t(s.parameters,o)}catch(u){i.error=u}r(n)||(n=e(self.webkitPostMessage,self.postMessage));try{n(i,o)}catch(u){i.result=void 0,i.error="postMessage failed with error: "+u+"\n with responseMessage: "+JSON.stringify(i),n(i)}}};return t}),define("Workers/createSphereGeometry",["../Core/SphereGeometry","../Scene/PrimitivePipeline","./createTaskProcessorWorker"],function(e,r,t){"use strict";function n(t,n){var o=t.geometry,i=e.createGeometry(o);return r.transferGeometry(i,n),{geometry:i,index:t.index}}return t(n)})}(); \ No newline at end of file diff --git a/Cesium/Workers/createSphereOutlineGeometry.js b/Cesium/Workers/createSphereOutlineGeometry.js new file mode 100644 index 0000000..d9ad5cd --- /dev/null +++ b/Cesium/Workers/createSphereOutlineGeometry.js @@ -0,0 +1,61 @@ +/** + * Cesium - https://github.com/AnalyticalGraphicsInc/cesium + * + * Copyright 2011-2014 Cesium Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Columbus View (Pat. Pend.) + * + * Portions licensed separately. + * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details. + */ +/** +@license +mersenne-twister.js - https://gist.github.com/banksean/300494 + + Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura, + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. The names of its contributors may not be used to endorse or promote + products derived from this software without specific prior written + permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +!function(){define("Core/defined",[],function(){"use strict";var e=function(e){return void 0!==e};return e}),define("Core/freezeObject",["./defined"],function(e){"use strict";var r=Object.freeze;return e(r)||(r=function(e){return e}),r}),define("Core/defaultValue",["./freezeObject"],function(e){"use strict";var r=function(e,r){return void 0!==e?e:r};return r.EMPTY_OBJECT=e({}),r}),define("Core/DeveloperError",["./defined"],function(e){"use strict";var r=function(e){this.name="DeveloperError",this.message=e;var r;try{throw new Error}catch(t){r=t.stack}this.stack=r};return r.prototype.toString=function(){var r=this.name+": "+this.message;return e(this.stack)&&(r+="\n"+this.stack.toString()),r},r.throwInstantiationError=function(){throw new r("This function defines an interface and should not be called directly.")},r}),define("Core/Cartesian3",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,r,t,n){"use strict";var i=function(r,t,n){this.x=e(r,0),this.y=e(t,0),this.z=e(n,0)};i.fromSpherical=function(t,n){r(n)||(n=new i);var o=t.clock,a=t.cone,s=e(t.magnitude,1),u=s*Math.sin(a);return n.x=u*Math.cos(o),n.y=u*Math.sin(o),n.z=s*Math.cos(a),n},i.fromElements=function(e,t,n,o){return r(o)?(o.x=e,o.y=t,o.z=n,o):new i(e,t,n)},i.clone=function(e,t){return r(e)?r(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t):new i(e.x,e.y,e.z):void 0},i.fromCartesian4=i.clone,i.packedLength=3,i.pack=function(r,t,n){n=e(n,0),t[n++]=r.x,t[n++]=r.y,t[n]=r.z},i.unpack=function(t,n,o){return n=e(n,0),r(o)||(o=new i),o.x=t[n++],o.y=t[n++],o.z=t[n],o},i.fromArray=i.unpack,i.getMaximumComponent=function(e){return Math.max(e.x,e.y,e.z)},i.getMinimumComponent=function(e){return Math.min(e.x,e.y,e.z)},i.getMinimumByComponent=function(e,t,n){return r(n)||(n=new i),n.x=Math.min(e.x,t.x),n.y=Math.min(e.y,t.y),n.z=Math.min(e.z,t.z),n},i.getMaximumByComponent=function(e,t,n){return r(n)||(n=new i),n.x=Math.max(e.x,t.x),n.y=Math.max(e.y,t.y),n.z=Math.max(e.z,t.z),n},i.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z},i.magnitude=function(e){return Math.sqrt(i.magnitudeSquared(e))};var o=new i;i.distance=function(e,r){return i.subtract(e,r,o),i.magnitude(o)},i.normalize=function(e,t){var n=i.magnitude(e);return r(t)?(t.x=e.x/n,t.y=e.y/n,t.z=e.z/n,t):new i(e.x/n,e.y/n,e.z/n)},i.dot=function(e,r){return e.x*r.x+e.y*r.y+e.z*r.z},i.multiplyComponents=function(e,t,n){return r(n)?(n.x=e.x*t.x,n.y=e.y*t.y,n.z=e.z*t.z,n):new i(e.x*t.x,e.y*t.y,e.z*t.z)},i.add=function(e,t,n){return r(n)?(n.x=e.x+t.x,n.y=e.y+t.y,n.z=e.z+t.z,n):new i(e.x+t.x,e.y+t.y,e.z+t.z)},i.subtract=function(e,t,n){return r(n)?(n.x=e.x-t.x,n.y=e.y-t.y,n.z=e.z-t.z,n):new i(e.x-t.x,e.y-t.y,e.z-t.z)},i.multiplyByScalar=function(e,t,n){return r(n)?(n.x=e.x*t,n.y=e.y*t,n.z=e.z*t,n):new i(e.x*t,e.y*t,e.z*t)},i.divideByScalar=function(e,t,n){return r(n)?(n.x=e.x/t,n.y=e.y/t,n.z=e.z/t,n):new i(e.x/t,e.y/t,e.z/t)},i.negate=function(e,t){return r(t)?(t.x=-e.x,t.y=-e.y,t.z=-e.z,t):new i(-e.x,-e.y,-e.z)},i.abs=function(e,t){return r(t)?(t.x=Math.abs(e.x),t.y=Math.abs(e.y),t.z=Math.abs(e.z),t):new i(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z))};var a=new i;i.lerp=function(e,r,t,n){return i.multiplyByScalar(r,t,a),n=i.multiplyByScalar(e,1-t,n),i.add(a,n,n)};var s=new i,u=new i;i.angleBetween=function(e,r){i.normalize(e,s),i.normalize(r,u);var t=i.dot(s,u),n=i.magnitude(i.cross(s,u,s));return Math.atan2(n,t)};var l=new i;return i.mostOrthogonalAxis=function(e,r){var t=i.normalize(e,l);return i.abs(t,t),r=t.x<=t.y?t.x<=t.z?i.clone(i.UNIT_X,r):i.clone(i.UNIT_Z,r):t.y<=t.z?i.clone(i.UNIT_Y,r):i.clone(i.UNIT_Z,r)},i.equals=function(e,t){return e===t||r(e)&&r(t)&&e.x===t.x&&e.y===t.y&&e.z===t.z},i.equalsEpsilon=function(e,t,n){return e===t||r(e)&&r(t)&&Math.abs(e.x-t.x)<=n&&Math.abs(e.y-t.y)<=n&&Math.abs(e.z-t.z)<=n},i.cross=function(e,t,n){var o=e.x,a=e.y,s=e.z,u=t.x,l=t.y,c=t.z,f=a*c-s*l,m=s*u-o*c,y=o*l-a*u;return r(n)?(n.x=f,n.y=m,n.z=y,n):new i(f,m,y)},i.ZERO=n(new i(0,0,0)),i.UNIT_X=n(new i(1,0,0)),i.UNIT_Y=n(new i(0,1,0)),i.UNIT_Z=n(new i(0,0,1)),i.prototype.clone=function(e){return i.clone(this,e)},i.prototype.equals=function(e){return i.equals(this,e)},i.prototype.equalsEpsilon=function(e,r){return i.equalsEpsilon(this,e,r)},i.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+")"},i}),define("ThirdParty/mersenne-twister",[],function(){var e=function(e){void 0==e&&(e=(new Date).getTime()),this.N=624,this.M=397,this.MATRIX_A=2567483615,this.UPPER_MASK=2147483648,this.LOWER_MASK=2147483647,this.mt=new Array(this.N),this.mti=this.N+1,this.init_genrand(e)};return e.prototype.init_genrand=function(e){for(this.mt[0]=e>>>0,this.mti=1;this.mti>>30;this.mt[this.mti]=(1812433253*((4294901760&e)>>>16)<<16)+1812433253*(65535&e)+this.mti,this.mt[this.mti]>>>=0}},e.prototype.genrand_int32=function(){var e,r=new Array(0,this.MATRIX_A);if(this.mti>=this.N){var t;for(this.mti==this.N+1&&this.init_genrand(5489),t=0;t>>1^r[1&e];for(;t>>1^r[1&e];e=this.mt[this.N-1]&this.UPPER_MASK|this.mt[0]&this.LOWER_MASK,this.mt[this.N-1]=this.mt[this.M-1]^e>>>1^r[1&e],this.mti=0}return e=this.mt[this.mti++],e^=e>>>11,e^=2636928640&e<<7,e^=4022730752&e<<15,e^=e>>>18,e>>>0},e.prototype.random=function(){return this.genrand_int32()*(1/4294967296)},e}),define("Core/Math",["./defaultValue","./defined","./DeveloperError","../ThirdParty/mersenne-twister"],function(e,r,t,n){"use strict";var i={};i.EPSILON1=.1,i.EPSILON2=.01,i.EPSILON3=.001,i.EPSILON4=1e-4,i.EPSILON5=1e-5,i.EPSILON6=1e-6,i.EPSILON7=1e-7,i.EPSILON8=1e-8,i.EPSILON9=1e-9,i.EPSILON10=1e-10,i.EPSILON11=1e-11,i.EPSILON12=1e-12,i.EPSILON13=1e-13,i.EPSILON14=1e-14,i.EPSILON15=1e-15,i.EPSILON16=1e-16,i.EPSILON17=1e-17,i.EPSILON18=1e-18,i.EPSILON19=1e-19,i.EPSILON20=1e-20,i.GRAVITATIONALPARAMETER=3986004418e5,i.SOLAR_RADIUS=6955e5,i.LUNAR_RADIUS=1737400,i.SIXTY_FOUR_KILOBYTES=65536,i.sign=function(e){return e>0?1:0>e?-1:0},i.sinh=function(e){var r=Math.pow(Math.E,e),t=Math.pow(Math.E,-1*e);return.5*(r-t)},i.cosh=function(e){var r=Math.pow(Math.E,e),t=Math.pow(Math.E,-1*e);return.5*(r+t)},i.lerp=function(e,r,t){return(1-t)*e+t*r},i.PI=Math.PI,i.ONE_OVER_PI=1/Math.PI,i.PI_OVER_TWO=.5*Math.PI,i.PI_OVER_THREE=Math.PI/3,i.PI_OVER_FOUR=Math.PI/4,i.PI_OVER_SIX=Math.PI/6,i.THREE_PI_OVER_TWO=.5*3*Math.PI,i.TWO_PI=2*Math.PI,i.ONE_OVER_TWO_PI=1/(2*Math.PI),i.RADIANS_PER_DEGREE=Math.PI/180,i.DEGREES_PER_RADIAN=180/Math.PI,i.RADIANS_PER_ARCSECOND=i.RADIANS_PER_DEGREE/3600,i.toRadians=function(e){return e*i.RADIANS_PER_DEGREE},i.toDegrees=function(e){return e*i.DEGREES_PER_RADIAN},i.convertLongitudeRange=function(e){var r=i.TWO_PI,t=e-Math.floor(e/r)*r;return t<-Math.PI?t+r:t>=Math.PI?t-r:t},i.negativePiToPi=function(e){for(var r=i.EPSILON10,t=i.PI,n=i.TWO_PI;-(t+r)>e;)e+=n;if(-t>e)return-t;for(;e>t+r;)e-=n;return e>t?t:e},i.zeroToTwoPi=function(e){var r=e%i.TWO_PI;return 0>r?(r+i.TWO_PI)%i.TWO_PI:r},i.equalsEpsilon=function(r,t,n){return n=e(n,0),Math.abs(r-t)<=n};var o=[1];i.factorial=function(e){var r=o.length;if(e>=r)for(var t=o[r-1],n=r;e>=n;n++)o.push(t*n);return o[e]},i.incrementWrap=function(r,t,n){return n=e(n,0),++r,r>t&&(r=n),r},i.isPowerOfTwo=function(e){return 0!==e&&0===(e&e-1)},i.nextPowerOfTwo=function(e){return--e,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,++e,e},i.clamp=function(e,r,t){return r>e?r:e>t?t:e};var a=new n;return i.setRandomNumberSeed=function(e){a=new n(e)},i.nextRandomNumber=function(){return a.random()},i}),define("Core/defineProperties",["./defined"],function(e){"use strict";var r=function(){try{return"x"in Object.defineProperty({},"x",{})}catch(e){return!1}}(),t=Object.defineProperties;return r&&e(t)||(t=function(e){return e}),t}),define("Core/Cartographic",["./defaultValue","./defined","./DeveloperError","./freezeObject","./Math"],function(e,r,t,n,i){"use strict";var o=function(r,t,n){this.longitude=e(r,0),this.latitude=e(t,0),this.height=e(n,0)};return o.fromDegrees=function(t,n,a,s){return t=i.toRadians(e(t,0)),n=i.toRadians(e(n,0)),a=e(a,0),r(s)?(s.longitude=t,s.latitude=n,s.height=a,s):new o(t,n,a)},o.clone=function(e,t){return r(e)?r(t)?(t.longitude=e.longitude,t.latitude=e.latitude,t.height=e.height,t):new o(e.longitude,e.latitude,e.height):void 0},o.equals=function(e,t){return e===t||r(e)&&r(t)&&e.longitude===t.longitude&&e.latitude===t.latitude&&e.height===t.height},o.equalsEpsilon=function(e,t,n){return e===t||r(e)&&r(t)&&Math.abs(e.longitude-t.longitude)<=n&&Math.abs(e.latitude-t.latitude)<=n&&Math.abs(e.height-t.height)<=n},o.toString=function(e){return"("+e.longitude+", "+e.latitude+", "+e.height+")"},o.ZERO=n(new o(0,0,0)),o.prototype.clone=function(e){return o.clone(this,e)},o.prototype.equals=function(e){return o.equals(this,e)},o.prototype.equalsEpsilon=function(e,r){return o.equalsEpsilon(this,e,r)},o.prototype.toString=function(){return o.toString(this)},o}),define("Core/Ellipsoid",["./freezeObject","./defaultValue","./defined","./defineProperties","./DeveloperError","./Math","./Cartesian3","./Cartographic"],function(e,r,t,n,i,o,a,s){"use strict";var u=function(e,t,n){e=r(e,0),t=r(t,0),n=r(n,0),this._radii=new a(e,t,n),this._radiiSquared=new a(e*e,t*t,n*n),this._radiiToTheFourth=new a(e*e*e*e,t*t*t*t,n*n*n*n),this._oneOverRadii=new a(0===e?0:1/e,0===t?0:1/t,0===n?0:1/n),this._oneOverRadiiSquared=new a(0===e?0:1/(e*e),0===t?0:1/(t*t),0===n?0:1/(n*n)),this._minimumRadius=Math.min(e,t,n),this._maximumRadius=Math.max(e,t,n),this._centerToleranceSquared=o.EPSILON1};n(u.prototype,{radii:{get:function(){return this._radii}},radiiSquared:{get:function(){return this._radiiSquared}},radiiToTheFourth:{get:function(){return this._radiiToTheFourth}},oneOverRadii:{get:function(){return this._oneOverRadii}},oneOverRadiiSquared:{get:function(){return this._oneOverRadiiSquared}},minimumRadius:{get:function(){return this._minimumRadius}},maximumRadius:{get:function(){return this._maximumRadius}}}),u.clone=function(e,r){if(!t(e))return void 0;var n=e._radii;return t(r)?(a.clone(n,r._radii),a.clone(e._radiiSquared,r._radiiSquared),a.clone(e._radiiToTheFourth,r._radiiToTheFourth),a.clone(e._oneOverRadii,r._oneOverRadii),a.clone(e._oneOverRadiiSquared,r._oneOverRadiiSquared),r._minimumRadius=e._minimumRadius,r._maximumRadius=e._maximumRadius,r._centerToleranceSquared=e._centerToleranceSquared,r):new u(n.x,n.y,n.z)},u.fromCartesian3=function(e){return t(e)?new u(e.x,e.y,e.z):new u},u.WGS84=e(new u(6378137,6378137,6356752.314245179)),u.UNIT_SPHERE=e(new u(1,1,1)),u.MOON=e(new u(o.LUNAR_RADIUS,o.LUNAR_RADIUS,o.LUNAR_RADIUS)),u.prototype.clone=function(e){return u.clone(this,e)},u.prototype.geocentricSurfaceNormal=a.normalize,u.prototype.geodeticSurfaceNormalCartographic=function(e,r){var n=e.longitude,i=e.latitude,o=Math.cos(i),s=o*Math.cos(n),u=o*Math.sin(n),l=Math.sin(i);return t(r)||(r=new a),r.x=s,r.y=u,r.z=l,a.normalize(r,r)},u.prototype.geodeticSurfaceNormal=function(e,r){return r=a.multiplyComponents(e,this._oneOverRadiiSquared,r),a.normalize(r,r)};var l=new a,c=new a;u.prototype.cartographicToCartesian=function(e,r){var t=l,n=c;this.geodeticSurfaceNormalCartographic(e,t),a.multiplyComponents(this._radiiSquared,t,n);var i=Math.sqrt(a.dot(t,n));return a.divideByScalar(n,i,n),a.multiplyByScalar(t,e.height,t),a.add(n,t,r)},u.prototype.cartographicArrayToCartesianArray=function(e,r){var n=e.length;t(r)?r.length=n:r=new Array(n);for(var i=0;n>i;i++)r[i]=this.cartographicToCartesian(e[i],r[i]);return r};var f=new a,m=new a,y=new a;u.prototype.cartesianToCartographic=function(e,r){var n=this.scaleToGeodeticSurface(e,m);if(!t(n))return void 0;var i=this.geodeticSurfaceNormal(n,f),u=a.subtract(e,n,y),l=Math.atan2(i.y,i.x),c=Math.asin(i.z),h=o.sign(a.dot(u,e))*a.magnitude(u);return t(r)?(r.longitude=l,r.latitude=c,r.height=h,r):new s(l,c,h)},u.prototype.cartesianArrayToCartographicArray=function(e,r){var n=e.length;t(r)?r.length=n:r=new Array(n);for(var i=0;n>i;++i)r[i]=this.cartesianToCartographic(e[i],r[i]);return r};var h=new a,p=new a;return u.prototype.scaleToGeodeticSurface=function(e,r){var n=e.x,i=e.y,s=e.z,u=this._oneOverRadii,l=u.x,c=u.y,f=u.z,m=n*n*l*l,y=i*i*c*c,d=s*s*f*f,v=m+y+d,g=Math.sqrt(1/v),E=a.multiplyByScalar(e,g,h);if(vo.EPSILON12);return t(r)?(r.x=n*T,r.y=i*I,r.z=s*O,r):new a(n*T,i*I,s*O)},u.prototype.scaleToGeocentricSurface=function(e,r){var t=e.x,n=e.y,i=e.z,o=this._oneOverRadiiSquared,s=1/Math.sqrt(t*t*o.x+n*n*o.y+i*i*o.z);return a.multiplyByScalar(e,s,r)},u.prototype.transformPositionToScaledSpace=function(e,r){return a.multiplyComponents(e,this._oneOverRadii,r)},u.prototype.transformPositionFromScaledSpace=function(e,r){return a.multiplyComponents(e,this._radii,r)},u.prototype.equals=function(e){return this===e||t(e)&&a.equals(this._radii,e._radii)},u.prototype.toString=function(){return this._radii.toString()},u}),define("Core/Fullscreen",["./defined"],function(e){"use strict";var r,t={requestFullscreen:void 0,exitFullscreen:void 0,fullscreenEnabled:void 0,fullscreenElement:void 0,fullscreenchange:void 0,fullscreenerror:void 0},n={};return n.supportsFullscreen=function(){if(e(r))return r;r=!1;var n=document.body;if("function"==typeof n.requestFullscreen)return t.requestFullscreen="requestFullscreen",t.exitFullscreen="exitFullscreen",t.fullscreenEnabled="fullscreenEnabled",t.fullscreenElement="fullscreenElement",t.fullscreenchange="fullscreenchange",t.fullscreenerror="fullscreenerror",r=!0;for(var i,o=["webkit","moz","o","ms","khtml"],a=0,s=o.length;s>a;++a){var u=o[a];i=u+"RequestFullscreen","function"==typeof n[i]?(t.requestFullscreen=i,r=!0):(i=u+"RequestFullScreen","function"==typeof n[i]&&(t.requestFullscreen=i,r=!0)),i=u+"ExitFullscreen","function"==typeof document[i]?t.exitFullscreen=i:(i=u+"CancelFullScreen","function"==typeof document[i]&&(t.exitFullscreen=i)),i=u+"FullscreenEnabled",e(document[i])?t.fullscreenEnabled=i:(i=u+"FullScreenEnabled",e(document[i])&&(t.fullscreenEnabled=i)),i=u+"FullscreenElement",e(document[i])?t.fullscreenElement=i:(i=u+"FullScreenElement",e(document[i])&&(t.fullscreenElement=i)),i=u+"fullscreenchange",e(document["on"+i])&&("ms"===u&&(i="MSFullscreenChange"),t.fullscreenchange=i),i=u+"fullscreenerror",e(document["on"+i])&&("ms"===u&&(i="MSFullscreenError"),t.fullscreenerror=i)}return r},n.requestFullscreen=function(e){n.supportsFullscreen()&&e[t.requestFullscreen]()},n.exitFullscreen=function(){n.supportsFullscreen()&&document[t.exitFullscreen]()},n.isFullscreenEnabled=function(){return n.supportsFullscreen()?document[t.fullscreenEnabled]:void 0},n.getFullscreenElement=function(){return n.supportsFullscreen()?document[t.fullscreenElement]:void 0},n.isFullscreen=function(){return n.supportsFullscreen()?null!==n.getFullscreenElement():void 0},n.getFullscreenChangeEventName=function(){return n.supportsFullscreen()?t.fullscreenchange:void 0},n.getFullscreenErrorEventName=function(){return n.supportsFullscreen()?t.fullscreenerror:void 0},n}),define("Core/FeatureDetection",["./defined","./Fullscreen"],function(e,r){"use strict";function t(e){for(var r=e.split("."),t=0,n=r.length;n>t;++t)r[t]=parseInt(r[t],10);return r}function n(){if(!e(f)){var r=/ Chrome\/([\.0-9]+)/.exec(navigator.userAgent);null===r?f=!1:(f=!0,m=t(r[1]))}return f}function i(){return n()&&m}function o(){if(!e(y))if(n()||!/ Safari\/[\.0-9]+/.test(navigator.userAgent))y=!1;else{var r=/ Version\/([\.0-9]+)/.exec(navigator.userAgent);null===r?y=!1:(y=!0,h=t(r[1]))}return y}function a(){return o()&&h}function s(){if(!e(p)){var r=/ AppleWebKit\/([\.0-9]+)(\+?)/.exec(navigator.userAgent);null===r?p=!1:(p=!0,d=t(r[1]),d.isNightly=!!r[2])}return p}function u(){return s()&&d}function l(){if(!e(v)){var r;"Microsoft Internet Explorer"===navigator.appName?(r=/MSIE ([0-9]{1,}[\.0-9]{0,})/.exec(navigator.userAgent),null!==r&&(v=!0,g=t(r[1]))):"Netscape"===navigator.appName?(r=/Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/.exec(navigator.userAgent),null!==r&&(v=!0,g=t(r[1]))):v=!1}return v}function c(){return l()&&g}var f,m,y,h,p,d,v,g,E={isChrome:n,chromeVersion:i,isSafari:o,safariVersion:a,isWebkit:s,webkitVersion:u,isInternetExplorer:l,internetExplorerVersion:c};E.supportsFullscreen=function(){return r.supportsFullscreen()},E.supportsTypedArrays=function(){return"undefined"!=typeof ArrayBuffer};var C;return E.supportsTransferringArrayBuffers=function(){if(!e(C)){if(!E.supportsTypedArrays())return C=!1,void 0;var r=new ArrayBuffer(1);try{postMessage({value:r},[r]),C=!0}catch(t){C=!1}}return C},E}),define("Core/Enumeration",["./defined"],function(e){"use strict";var r=function(r,t,n){if(this.value=r,this.name=t,e(n))for(var i in n)n.hasOwnProperty(i)&&(this[i]=n[i])};return r.prototype.valueOf=function(){return this.value},r.prototype.toString=function(){return this.name},r}),define("Core/ComponentDatatype",["./defaultValue","./defined","./DeveloperError","./FeatureDetection","./Enumeration"],function(e,r,t,n,i){"use strict";if(!n.supportsTypedArrays())return{};var o={BYTE:new i(5120,"BYTE",{sizeInBytes:Int8Array.BYTES_PER_ELEMENT}),UNSIGNED_BYTE:new i(5121,"UNSIGNED_BYTE",{sizeInBytes:Uint8Array.BYTES_PER_ELEMENT}),SHORT:new i(5122,"SHORT",{sizeInBytes:Int16Array.BYTES_PER_ELEMENT}),UNSIGNED_SHORT:new i(5123,"UNSIGNED_SHORT",{sizeInBytes:Uint16Array.BYTES_PER_ELEMENT}),FLOAT:new i(5126,"FLOAT",{sizeInBytes:Float32Array.BYTES_PER_ELEMENT}),DOUBLE:new i(5130,"DOUBLE",{sizeInBytes:Float64Array.BYTES_PER_ELEMENT})};return o.validate=function(e){return r(e)&&r(e.value)&&(e.value===o.BYTE.value||e.value===o.UNSIGNED_BYTE.value||e.value===o.SHORT.value||e.value===o.UNSIGNED_SHORT.value||e.value===o.FLOAT.value||e.value===o.DOUBLE.value)},o.createTypedArray=function(e,r){switch(e.value){case o.BYTE.value:return new Int8Array(r);case o.UNSIGNED_BYTE.value:return new Uint8Array(r);case o.SHORT.value:return new Int16Array(r);case o.UNSIGNED_SHORT.value:return new Uint16Array(r);case o.FLOAT.value:return new Float32Array(r);case o.DOUBLE.value:return new Float64Array(r);default:throw new t("componentDatatype is not a valid enumeration value.")}},o.createArrayBufferView=function(r,n,i,a){switch(i=e(i,0),a=e(a,(n.byteLength-i)/r.sizeInBytes),r.value){case o.BYTE.value:return new Int8Array(n,i,a);case o.UNSIGNED_BYTE.value:return new Uint8Array(n,i,a);case o.SHORT.value:return new Int16Array(n,i,a);case o.UNSIGNED_SHORT.value:return new Uint16Array(n,i,a);case o.FLOAT.value:return new Float32Array(n,i,a);case o.DOUBLE.value:return new Float64Array(n,i,a);default:throw new t("componentDatatype is not a valid enumeration value.")}},o}),define("Core/IndexDatatype",["./defined","./DeveloperError","./Math"],function(e,r,t){"use strict";var n={UNSIGNED_BYTE:5121,UNSIGNED_SHORT:5123,UNSIGNED_INT:5125};return n.getSizeInBytes=function(e){switch(e){case n.UNSIGNED_BYTE:return Uint8Array.BYTES_PER_ELEMENT;case n.UNSIGNED_SHORT:return Uint16Array.BYTES_PER_ELEMENT;case n.UNSIGNED_INT:return Uint32Array.BYTES_PER_ELEMENT}},n.validate=function(r){return e(r)&&(r===n.UNSIGNED_BYTE||r===n.UNSIGNED_SHORT||r===n.UNSIGNED_INT)},n.createTypedArray=function(e,r){return e>t.SIXTY_FOUR_KILOBYTES?new Uint32Array(r):new Uint16Array(r)},n}),define("Core/PrimitiveType",[],function(){"use strict";var e={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,validate:function(r){return r===e.POINTS||r===e.LINES||r===e.LINE_LOOP||r===e.LINE_STRIP||r===e.TRIANGLES||r===e.TRIANGLE_STRIP||r===e.TRIANGLE_FAN}};return e}),define("Core/GeographicProjection",["./defaultValue","./defined","./defineProperties","./Cartesian3","./Cartographic","./Ellipsoid"],function(e,r,t,n,i,o){"use strict";var a=function(r){this._ellipsoid=e(r,o.WGS84),this._semimajorAxis=this._ellipsoid.maximumRadius,this._oneOverSemimajorAxis=1/this._semimajorAxis};return t(a.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}}),a.prototype.project=function(e,t){var i=this._semimajorAxis,o=e.longitude*i,a=e.latitude*i,s=e.height;return r(t)?(t.x=o,t.y=a,t.z=s,t):new n(o,a,s)},a.prototype.unproject=function(e,t){var n=this._oneOverSemimajorAxis,o=e.x*n,a=e.y*n,s=e.z;return r(t)?(t.longitude=o,t.latitude=a,t.height=s,t):new i(o,a,s)},a}),define("Core/Intersect",["./Enumeration"],function(e){"use strict";var r={OUTSIDE:new e(-1,"OUTSIDE"),INTERSECTING:new e(0,"INTERSECTING"),INSIDE:new e(1,"INSIDE")};return r}),define("Core/Interval",["./defaultValue"],function(e){"use strict";var r=function(r,t){this.start=e(r,0),this.stop=e(t,0)};return r}),define("Core/Cartesian4",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,r,t,n){"use strict";var i=function(r,t,n,i){this.x=e(r,0),this.y=e(t,0),this.z=e(n,0),this.w=e(i,0)};i.fromElements=function(e,t,n,o,a){return r(a)?(a.x=e,a.y=t,a.z=n,a.w=o,a):new i(e,t,n,o)},i.clone=function(e,t){return r(e)?r(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t):new i(e.x,e.y,e.z,e.w):void 0},i.packedLength=4,i.pack=function(r,t,n){n=e(n,0),t[n++]=r.x,t[n++]=r.y,t[n++]=r.z,t[n]=r.w},i.unpack=function(t,n,o){return n=e(n,0),r(o)||(o=new i),o.x=t[n++],o.y=t[n++],o.z=t[n++],o.w=t[n],o},i.fromArray=i.unpack,i.getMaximumComponent=function(e){return Math.max(e.x,e.y,e.z,e.w)},i.getMinimumComponent=function(e){return Math.min(e.x,e.y,e.z,e.w)},i.getMinimumByComponent=function(e,t,n){return r(n)||(n=new i),n.x=Math.min(e.x,t.x),n.y=Math.min(e.y,t.y),n.z=Math.min(e.z,t.z),n.w=Math.min(e.w,t.w),n},i.getMaximumByComponent=function(e,t,n){return r(n)||(n=new i),n.x=Math.max(e.x,t.x),n.y=Math.max(e.y,t.y),n.z=Math.max(e.z,t.z),n.w=Math.max(e.w,t.w),n},i.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w},i.magnitude=function(e){return Math.sqrt(i.magnitudeSquared(e))};var o=new i;i.distance=function(e,r){return i.subtract(e,r,o),i.magnitude(o)},i.normalize=function(e,t){var n=i.magnitude(e);return r(t)?(t.x=e.x/n,t.y=e.y/n,t.z=e.z/n,t.w=e.w/n,t):new i(e.x/n,e.y/n,e.z/n,e.w/n)},i.dot=function(e,r){return e.x*r.x+e.y*r.y+e.z*r.z+e.w*r.w},i.multiplyComponents=function(e,t,n){return r(n)?(n.x=e.x*t.x,n.y=e.y*t.y,n.z=e.z*t.z,n.w=e.w*t.w,n):new i(e.x*t.x,e.y*t.y,e.z*t.z,e.w*t.w)},i.add=function(e,t,n){return r(n)?(n.x=e.x+t.x,n.y=e.y+t.y,n.z=e.z+t.z,n.w=e.w+t.w,n):new i(e.x+t.x,e.y+t.y,e.z+t.z,e.w+t.w)},i.subtract=function(e,t,n){return r(n)?(n.x=e.x-t.x,n.y=e.y-t.y,n.z=e.z-t.z,n.w=e.w-t.w,n):new i(e.x-t.x,e.y-t.y,e.z-t.z,e.w-t.w)},i.multiplyByScalar=function(e,t,n){return r(n)?(n.x=e.x*t,n.y=e.y*t,n.z=e.z*t,n.w=e.w*t,n):new i(e.x*t,e.y*t,e.z*t,e.w*t)},i.divideByScalar=function(e,t,n){return r(n)?(n.x=e.x/t,n.y=e.y/t,n.z=e.z/t,n.w=e.w/t,n):new i(e.x/t,e.y/t,e.z/t,e.w/t)},i.negate=function(e,t){return r(t)?(t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=-e.w,t):new i(-e.x,-e.y,-e.z,-e.w)},i.abs=function(e,t){return r(t)?(t.x=Math.abs(e.x),t.y=Math.abs(e.y),t.z=Math.abs(e.z),t.w=Math.abs(e.w),t):new i(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z),Math.abs(e.w))};var a=new i;i.lerp=function(e,r,t,n){return i.multiplyByScalar(r,t,a),n=i.multiplyByScalar(e,1-t,n),i.add(a,n,n)};var s=new i;return i.mostOrthogonalAxis=function(e,r){var t=i.normalize(e,s);return i.abs(t,t),r=t.x<=t.y?t.x<=t.z?t.x<=t.w?i.clone(i.UNIT_X,r):i.clone(i.UNIT_W,r):t.z<=t.w?i.clone(i.UNIT_Z,r):i.clone(i.UNIT_W,r):t.y<=t.z?t.y<=t.w?i.clone(i.UNIT_Y,r):i.clone(i.UNIT_W,r):t.z<=t.w?i.clone(i.UNIT_Z,r):i.clone(i.UNIT_W,r)},i.equals=function(e,t){return e===t||r(e)&&r(t)&&e.x===t.x&&e.y===t.y&&e.z===t.z&&e.w===t.w},i.equalsEpsilon=function(e,t,n){return e===t||r(e)&&r(t)&&Math.abs(e.x-t.x)<=n&&Math.abs(e.y-t.y)<=n&&Math.abs(e.z-t.z)<=n&&Math.abs(e.w-t.w)<=n},i.ZERO=n(new i(0,0,0,0)),i.UNIT_X=n(new i(1,0,0,0)),i.UNIT_Y=n(new i(0,1,0,0)),i.UNIT_Z=n(new i(0,0,1,0)),i.UNIT_W=n(new i(0,0,0,1)),i.prototype.clone=function(e){return i.clone(this,e)},i.prototype.equals=function(e){return i.equals(this,e)},i.prototype.equalsEpsilon=function(e,r){return i.equalsEpsilon(this,e,r)},i.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+", "+this.w+")"},i}),define("Core/Matrix3",["./Cartesian3","./defaultValue","./defined","./DeveloperError","./freezeObject","./Math"],function(e,r,t,n,i,o){"use strict";function a(e){for(var r=0,t=0;9>t;++t){var n=e[t];r+=n*n}return Math.sqrt(r)}function s(e){for(var r=0,t=0;3>t;++t){var n=e[l.getElementIndex(f[t],c[t])];r+=2*n*n}return Math.sqrt(r)}function u(e,r){for(var t=o.EPSILON15,n=0,i=1,a=0;3>a;++a){var s=Math.abs(e[l.getElementIndex(f[a],c[a])]);s>n&&(i=a,n=s)}var u=1,m=0,y=c[i],h=f[i];if(Math.abs(e[l.getElementIndex(h,y)])>t){var p,d=e[l.getElementIndex(h,h)],v=e[l.getElementIndex(y,y)],g=e[l.getElementIndex(h,y)],E=(d-v)/2/g;p=0>E?-1/(-E+Math.sqrt(1+E*E)):1/(E+Math.sqrt(1+E*E)),u=1/Math.sqrt(1+p*p),m=p*u}return r=l.clone(l.IDENTITY,r),r[l.getElementIndex(y,y)]=r[l.getElementIndex(h,h)]=u,r[l.getElementIndex(h,y)]=m,r[l.getElementIndex(y,h)]=-m,r}var l=function(e,t,n,i,o,a,s,u,l){this[0]=r(e,0),this[1]=r(i,0),this[2]=r(s,0),this[3]=r(t,0),this[4]=r(o,0),this[5]=r(u,0),this[6]=r(n,0),this[7]=r(a,0),this[8]=r(l,0)};l.clone=function(e,r){return t(e)?t(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r):new l(e[0],e[3],e[6],e[1],e[4],e[7],e[2],e[5],e[8]):void 0},l.fromArray=function(e,n,i){return n=r(n,0),t(i)||(i=new l),i[0]=e[n],i[1]=e[n+1],i[2]=e[n+2],i[3]=e[n+3],i[4]=e[n+4],i[5]=e[n+5],i[6]=e[n+6],i[7]=e[n+7],i[8]=e[n+8],i[9]=e[n+9],i},l.fromColumnMajorArray=function(e,r){return l.clone(e,r)},l.fromRowMajorArray=function(e,r){return t(r)?(r[0]=e[0],r[1]=e[3],r[2]=e[6],r[3]=e[1],r[4]=e[4],r[5]=e[7],r[6]=e[2],r[7]=e[5],r[8]=e[8],r):new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])},l.fromQuaternion=function(e,r){var n=e.x*e.x,i=e.x*e.y,o=e.x*e.z,a=e.x*e.w,s=e.y*e.y,u=e.y*e.z,c=e.y*e.w,f=e.z*e.z,m=e.z*e.w,y=e.w*e.w,h=n-s-f+y,p=2*(i-m),d=2*(o+c),v=2*(i+m),g=-n+s-f+y,E=2*(u-a),C=2*(o-c),S=2*(u+a),w=-n-s+f+y;return t(r)?(r[0]=h,r[1]=v,r[2]=C,r[3]=p,r[4]=g,r[5]=S,r[6]=d,r[7]=E,r[8]=w,r):new l(h,p,d,v,g,E,C,S,w)},l.fromScale=function(e,r){return t(r)?(r[0]=e.x,r[1]=0,r[2]=0,r[3]=0,r[4]=e.y,r[5]=0,r[6]=0,r[7]=0,r[8]=e.z,r):new l(e.x,0,0,0,e.y,0,0,0,e.z)},l.fromUniformScale=function(e,r){return t(r)?(r[0]=e,r[1]=0,r[2]=0,r[3]=0,r[4]=e,r[5]=0,r[6]=0,r[7]=0,r[8]=e,r):new l(e,0,0,0,e,0,0,0,e)},l.fromRotationX=function(e,r){var n=Math.cos(e),i=Math.sin(e);return t(r)?(r[0]=1,r[1]=0,r[2]=0,r[3]=0,r[4]=n,r[5]=i,r[6]=0,r[7]=-i,r[8]=n,r):new l(1,0,0,0,n,-i,0,i,n)},l.fromRotationY=function(e,r){var n=Math.cos(e),i=Math.sin(e);return t(r)?(r[0]=n,r[1]=0,r[2]=-i,r[3]=0,r[4]=1,r[5]=0,r[6]=i,r[7]=0,r[8]=n,r):new l(n,0,i,0,1,0,-i,0,n)},l.fromRotationZ=function(e,r){var n=Math.cos(e),i=Math.sin(e);return t(r)?(r[0]=n,r[1]=i,r[2]=0,r[3]=-i,r[4]=n,r[5]=0,r[6]=0,r[7]=0,r[8]=1,r):new l(n,-i,0,i,n,0,0,0,1)},l.toArray=function(e,r){return t(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8]]},l.getElementIndex=function(e,r){return 3*e+r},l.getColumn=function(r,n,i){var o=3*n,a=r[o],s=r[o+1],u=r[o+2];return t(i)?(i.x=a,i.y=s,i.z=u,i):new e(a,s,u)},l.setColumn=function(e,r,t,n){n=l.clone(e,n);var i=3*r;return n[i]=t.x,n[i+1]=t.y,n[i+2]=t.z,n},l.getRow=function(r,n,i){var o=r[n],a=r[n+3],s=r[n+6];return t(i)?(i.x=o,i.y=a,i.z=s,i):new e(o,a,s)},l.setRow=function(e,r,t,n){return n=l.clone(e,n),n[r]=t.x,n[r+3]=t.y,n[r+6]=t.z,n},l.multiply=function(e,r,n){var i=e[0]*r[0]+e[3]*r[1]+e[6]*r[2],o=e[1]*r[0]+e[4]*r[1]+e[7]*r[2],a=e[2]*r[0]+e[5]*r[1]+e[8]*r[2],s=e[0]*r[3]+e[3]*r[4]+e[6]*r[5],u=e[1]*r[3]+e[4]*r[4]+e[7]*r[5],c=e[2]*r[3]+e[5]*r[4]+e[8]*r[5],f=e[0]*r[6]+e[3]*r[7]+e[6]*r[8],m=e[1]*r[6]+e[4]*r[7]+e[7]*r[8],y=e[2]*r[6]+e[5]*r[7]+e[8]*r[8];return t(n)?(n[0]=i,n[1]=o,n[2]=a,n[3]=s,n[4]=u,n[5]=c,n[6]=f,n[7]=m,n[8]=y,n):new l(i,s,f,o,u,m,a,c,y)},l.multiplyByVector=function(r,n,i){var o=n.x,a=n.y,s=n.z,u=r[0]*o+r[3]*a+r[6]*s,l=r[1]*o+r[4]*a+r[7]*s,c=r[2]*o+r[5]*a+r[8]*s;return t(i)?(i.x=u,i.y=l,i.z=c,i):new e(u,l,c)},l.multiplyByScalar=function(e,r,n){return t(n)?(n[0]=e[0]*r,n[1]=e[1]*r,n[2]=e[2]*r,n[3]=e[3]*r,n[4]=e[4]*r,n[5]=e[5]*r,n[6]=e[6]*r,n[7]=e[7]*r,n[8]=e[8]*r,n):new l(e[0]*r,e[3]*r,e[6]*r,e[1]*r,e[4]*r,e[7]*r,e[2]*r,e[5]*r,e[8]*r)},l.negate=function(e,r){return t(r)?(r[0]=-e[0],r[1]=-e[1],r[2]=-e[2],r[3]=-e[3],r[4]=-e[4],r[5]=-e[5],r[6]=-e[6],r[7]=-e[7],r[8]=-e[8],r):new l(-e[0],-e[3],-e[6],-e[1],-e[4],-e[7],-e[2],-e[5],-e[8])},l.transpose=function(e,r){var n=e[0],i=e[3],o=e[6],a=e[1],s=e[4],u=e[7],c=e[2],f=e[5],m=e[8];return t(r)?(r[0]=n,r[1]=i,r[2]=o,r[3]=a,r[4]=s,r[5]=u,r[6]=c,r[7]=f,r[8]=m,r):new l(n,a,c,i,s,f,o,u,m)};var c=[1,0,0],f=[2,2,1],m=new l,y=new l;return l.getEigenDecomposition=function(e,r){var n=o.EPSILON20,i=10,c=0,f=0;t(r)||(r={});for(var h=r.unitary=l.clone(l.IDENTITY,r.unitary),p=r.diagonal=l.clone(e,r.diagonal),d=n*a(p);i>f&&s(p)>d;)u(p,m),l.transpose(m,y),l.multiply(p,m,p),l.multiply(y,p,p),l.multiply(h,m,h),++c>2&&(++f,c=0);return r},l.abs=function(e,r){return t(r)?(r[0]=Math.abs(e[0]),r[1]=Math.abs(e[1]),r[2]=Math.abs(e[2]),r[3]=Math.abs(e[3]),r[4]=Math.abs(e[4]),r[5]=Math.abs(e[5]),r[6]=Math.abs(e[6]),r[7]=Math.abs(e[7]),r[8]=Math.abs(e[8]),r):new l(Math.abs(e[0]),Math.abs(e[3]),Math.abs(e[6]),Math.abs(e[1]),Math.abs(e[4]),Math.abs(e[7]),Math.abs(e[2]),Math.abs(e[5]),Math.abs(e[8]))},l.determinant=function(e){var r=e[0],t=e[3],n=e[6],i=e[1],o=e[4],a=e[7],s=e[2],u=e[5],l=e[8];return r*(o*l-u*a)+i*(u*n-t*l)+s*(t*a-o*n)},l.inverse=function(e,r){var t=e[0],i=e[1],a=e[2],s=e[3],u=e[4],c=e[5],f=e[6],m=e[7],y=e[8],h=l.determinant(e);if(Math.abs(h)<=o.EPSILON15)throw new n("matrix is not invertible");var p=new l(u*y-m*c,f*c-s*y,s*m-f*u,m*a-i*y,t*y-f*a,f*i-t*m,i*c-u*a,s*a-t*c,t*u-s*i),d=1/h;return l.multiplyByScalar(p,d,r)},l.equals=function(e,r){return e===r||t(e)&&t(r)&&e[0]===r[0]&&e[1]===r[1]&&e[2]===r[2]&&e[3]===r[3]&&e[4]===r[4]&&e[5]===r[5]&&e[6]===r[6]&&e[7]===r[7]&&e[8]===r[8]},l.equalsEpsilon=function(e,r,n){return e===r||t(e)&&t(r)&&Math.abs(e[0]-r[0])<=n&&Math.abs(e[1]-r[1])<=n&&Math.abs(e[2]-r[2])<=n&&Math.abs(e[3]-r[3])<=n&&Math.abs(e[4]-r[4])<=n&&Math.abs(e[5]-r[5])<=n&&Math.abs(e[6]-r[6])<=n&&Math.abs(e[7]-r[7])<=n&&Math.abs(e[8]-r[8])<=n},l.IDENTITY=i(new l(1,0,0,0,1,0,0,0,1)),l.COLUMN0ROW0=0,l.COLUMN0ROW1=1,l.COLUMN0ROW2=2,l.COLUMN1ROW0=3,l.COLUMN1ROW1=4,l.COLUMN1ROW2=5,l.COLUMN2ROW0=6,l.COLUMN2ROW1=7,l.COLUMN2ROW2=8,l.prototype.clone=function(e){return l.clone(this,e)},l.prototype.equals=function(e){return l.equals(this,e)},l.prototype.equalsEpsilon=function(e,r){return l.equalsEpsilon(this,e,r)},l.prototype.toString=function(){return"("+this[0]+", "+this[3]+", "+this[6]+")\n"+"("+this[1]+", "+this[4]+", "+this[7]+")\n"+"("+this[2]+", "+this[5]+", "+this[8]+")"},l}),define("Core/RuntimeError",["./defined"],function(e){"use strict";var r=function(e){this.name="RuntimeError",this.message=e;var r;try{throw new Error}catch(t){r=t.stack}this.stack=r};return r.prototype.toString=function(){var r=this.name+": "+this.message;return e(this.stack)&&(r+="\n"+this.stack.toString()),r},r}),define("Core/Matrix4",["./Cartesian3","./Cartesian4","./defaultValue","./defined","./DeveloperError","./freezeObject","./Math","./Matrix3","./RuntimeError"],function(e,r,t,n,i,o,a,s,u){"use strict";var l=function(e,r,n,i,o,a,s,u,l,c,f,m,y,h,p,d){this[0]=t(e,0),this[1]=t(o,0),this[2]=t(l,0),this[3]=t(y,0),this[4]=t(r,0),this[5]=t(a,0),this[6]=t(c,0),this[7]=t(h,0),this[8]=t(n,0),this[9]=t(s,0),this[10]=t(f,0),this[11]=t(p,0),this[12]=t(i,0),this[13]=t(u,0),this[14]=t(m,0),this[15]=t(d,0) +};l.clone=function(e,r){return n(e)?n(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r[9]=e[9],r[10]=e[10],r[11]=e[11],r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15],r):new l(e[0],e[4],e[8],e[12],e[1],e[5],e[9],e[13],e[2],e[6],e[10],e[14],e[3],e[7],e[11],e[15]):void 0},l.fromArray=function(e,r,i){return r=t(r,0),n(i)||(i=new l),i[0]=e[r],i[1]=e[r+1],i[2]=e[r+2],i[3]=e[r+3],i[4]=e[r+4],i[5]=e[r+5],i[6]=e[r+6],i[7]=e[r+7],i[8]=e[r+8],i[9]=e[r+9],i[10]=e[r+10],i[11]=e[r+11],i[12]=e[r+12],i[13]=e[r+13],i[14]=e[r+14],i[15]=e[r+15],i},l.fromColumnMajorArray=function(e,r){return l.clone(e,r)},l.fromRowMajorArray=function(e,r){return n(r)?(r[0]=e[0],r[1]=e[4],r[2]=e[8],r[3]=e[12],r[4]=e[1],r[5]=e[5],r[6]=e[9],r[7]=e[13],r[8]=e[2],r[9]=e[6],r[10]=e[10],r[11]=e[14],r[12]=e[3],r[13]=e[7],r[14]=e[11],r[15]=e[15],r):new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])},l.fromRotationTranslation=function(e,r,t){return n(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=0,t[4]=e[3],t[5]=e[4],t[6]=e[5],t[7]=0,t[8]=e[6],t[9]=e[7],t[10]=e[8],t[11]=0,t[12]=r.x,t[13]=r.y,t[14]=r.z,t[15]=1,t):new l(e[0],e[3],e[6],r.x,e[1],e[4],e[7],r.y,e[2],e[5],e[8],r.z,0,0,0,1)},new s,l.fromTranslationQuaternionRotationScale=function(e,r,t,i){n(i)||(i=new l);var o=t.x,a=t.y,s=t.z,u=r.x*r.x,c=r.x*r.y,f=r.x*r.z,m=r.x*r.w,y=r.y*r.y,h=r.y*r.z,p=r.y*r.w,d=r.z*r.z,v=r.z*r.w,g=r.w*r.w,E=u-y-d+g,C=2*(c-v),S=2*(f+p),w=2*(c+v),x=-u+y-d+g,A=2*(h-m),M=2*(f-p),b=2*(h+m),T=-u-y+d+g;return i[0]=E*o,i[1]=w*o,i[2]=M*o,i[3]=0,i[4]=C*a,i[5]=x*a,i[6]=b*a,i[7]=0,i[8]=S*s,i[9]=A*s,i[10]=T*s,i[11]=0,i[12]=e.x,i[13]=e.y,i[14]=e.z,i[15]=1,i},l.fromTranslation=function(e,r){return l.fromRotationTranslation(s.IDENTITY,e,r)},l.fromScale=function(e,r){return n(r)?(r[0]=e.x,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=e.y,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=e.z,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r):new l(e.x,0,0,0,0,e.y,0,0,0,0,e.z,0,0,0,0,1)},l.fromUniformScale=function(e,r){return n(r)?(r[0]=e,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=e,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=e,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r):new l(e,0,0,0,0,e,0,0,0,0,e,0,0,0,0,1)};var c=new e,f=new e,m=new e;l.fromCamera=function(r,t){var i=r.eye,o=r.target,a=r.up;e.normalize(e.subtract(o,i,c),c),e.normalize(e.cross(c,a,f),f),e.normalize(e.cross(f,c,m),m);var s=f.x,u=f.y,y=f.z,h=c.x,p=c.y,d=c.z,v=m.x,g=m.y,E=m.z,C=i.x,S=i.y,w=i.z,x=s*-C+u*-S+y*-w,A=v*-C+g*-S+E*-w,M=h*C+p*S+d*w;return n(t)?(t[0]=s,t[1]=v,t[2]=-h,t[3]=0,t[4]=u,t[5]=g,t[6]=-p,t[7]=0,t[8]=y,t[9]=E,t[10]=-d,t[11]=0,t[12]=x,t[13]=A,t[14]=M,t[15]=1,t):new l(s,u,y,x,v,g,E,A,-h,-p,-d,M,0,0,0,1)},l.computePerspectiveFieldOfView=function(e,r,t,i,o){var a=Math.tan(.5*e),s=1/a,u=s/r,c=(i+t)/(t-i),f=2*i*t/(t-i);return n(o)?(o[0]=u,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=s,o[6]=0,o[7]=0,o[8]=0,o[9]=0,o[10]=c,o[11]=-1,o[12]=0,o[13]=0,o[14]=f,o[15]=0,o):new l(u,0,0,0,0,s,0,0,0,0,c,f,0,0,-1,0)},l.computeOrthographicOffCenter=function(e,r,t,i,o,a,s){var u=1/(r-e),c=1/(i-t),f=1/(a-o),m=-(r+e)*u,y=-(i+t)*c,h=-(a+o)*f;return u*=2,c*=2,f*=-2,n(s)?(s[0]=u,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=c,s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=f,s[11]=0,s[12]=m,s[13]=y,s[14]=h,s[15]=1,s):new l(u,0,0,m,0,c,0,y,0,0,f,h,0,0,0,1)},l.computePerspectiveOffCenter=function(e,r,t,i,o,a,s){var u=2*o/(r-e),c=2*o/(i-t),f=(r+e)/(r-e),m=(i+t)/(i-t),y=-(a+o)/(a-o),h=-1,p=-2*a*o/(a-o);return n(s)?(s[0]=u,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=c,s[6]=0,s[7]=0,s[8]=f,s[9]=m,s[10]=y,s[11]=h,s[12]=0,s[13]=0,s[14]=p,s[15]=0,s):new l(u,0,f,0,0,c,m,0,0,0,y,p,0,0,h,0)},l.computeInfinitePerspectiveOffCenter=function(e,r,t,i,o,a){var s=2*o/(r-e),u=2*o/(i-t),c=(r+e)/(r-e),f=(i+t)/(i-t),m=-1,y=-1,h=-2*o;return n(a)?(a[0]=s,a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=u,a[6]=0,a[7]=0,a[8]=c,a[9]=f,a[10]=m,a[11]=y,a[12]=0,a[13]=0,a[14]=h,a[15]=0,a):new l(s,0,c,0,0,u,f,0,0,0,m,h,0,0,y,0)},l.computeViewportTransformation=function(e,r,i,o){e=t(e,t.EMPTY_OBJECT);var a=t(e.x,0),s=t(e.y,0),u=t(e.width,0),c=t(e.height,0);r=t(r,0),i=t(i,1);var f=.5*u,m=.5*c,y=.5*(i-r),h=f,p=m,d=y,v=a+f,g=s+m,E=r+y,C=1;return n(o)?(o[0]=h,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=p,o[6]=0,o[7]=0,o[8]=0,o[9]=0,o[10]=d,o[11]=0,o[12]=v,o[13]=g,o[14]=E,o[15]=C,o):new l(h,0,0,v,0,p,0,g,0,0,d,E,0,0,0,C)},l.toArray=function(e,r){return n(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r[9]=e[9],r[10]=e[10],r[11]=e[11],r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15],r):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]]},l.getElementIndex=function(e,r){return 4*e+r},l.getColumn=function(e,t,i){var o=4*t,a=e[o],s=e[o+1],u=e[o+2],l=e[o+3];return n(i)?(i.x=a,i.y=s,i.z=u,i.w=l,i):new r(a,s,u,l)},l.setColumn=function(e,r,t,n){n=l.clone(e,n);var i=4*r;return n[i]=t.x,n[i+1]=t.y,n[i+2]=t.z,n[i+3]=t.w,n},l.getRow=function(e,t,i){var o=e[t],a=e[t+4],s=e[t+8],u=e[t+12];return n(i)?(i.x=o,i.y=a,i.z=s,i.w=u,i):new r(o,a,s,u)},l.setRow=function(e,r,t,n){return n=l.clone(e,n),n[r]=t.x,n[r+4]=t.y,n[r+8]=t.z,n[r+12]=t.w,n},l.multiply=function(e,r,t){var i=e[0],o=e[1],a=e[2],s=e[3],u=e[4],c=e[5],f=e[6],m=e[7],y=e[8],h=e[9],p=e[10],d=e[11],v=e[12],g=e[13],E=e[14],C=e[15],S=r[0],w=r[1],x=r[2],A=r[3],M=r[4],b=r[5],T=r[6],I=r[7],O=r[8],N=r[9],R=r[10],z=r[11],L=r[12],F=r[13],P=r[14],D=r[15],B=i*S+u*w+y*x+v*A,_=o*S+c*w+h*x+g*A,U=a*S+f*w+p*x+E*A,G=s*S+m*w+d*x+C*A,q=i*M+u*b+y*T+v*I,Y=o*M+c*b+h*T+g*I,W=a*M+f*b+p*T+E*I,V=s*M+m*b+d*T+C*I,H=i*O+u*N+y*R+v*z,k=o*O+c*N+h*R+g*z,K=a*O+f*N+p*R+E*z,j=s*O+m*N+d*R+C*z,Z=i*L+u*F+y*P+v*D,Q=o*L+c*F+h*P+g*D,X=a*L+f*F+p*P+E*D,J=s*L+m*F+d*P+C*D;return n(t)?(t[0]=B,t[1]=_,t[2]=U,t[3]=G,t[4]=q,t[5]=Y,t[6]=W,t[7]=V,t[8]=H,t[9]=k,t[10]=K,t[11]=j,t[12]=Z,t[13]=Q,t[14]=X,t[15]=J,t):new l(B,q,H,Z,_,Y,k,Q,U,W,K,X,G,V,j,J)},l.multiplyTransformation=function(e,r,t){var i=e[0],o=e[1],a=e[2],s=e[4],u=e[5],c=e[6],f=e[8],m=e[9],y=e[10],h=e[12],p=e[13],d=e[14],v=r[0],g=r[1],E=r[2],C=r[4],S=r[5],w=r[6],x=r[8],A=r[9],M=r[10],b=r[12],T=r[13],I=r[14],O=i*v+s*g+f*E,N=o*v+u*g+m*E,R=a*v+c*g+y*E,z=i*C+s*S+f*w,L=o*C+u*S+m*w,F=a*C+c*S+y*w,P=i*x+s*A+f*M,D=o*x+u*A+m*M,B=a*x+c*A+y*M,_=i*b+s*T+f*I+h,U=o*b+u*T+m*I+p,G=a*b+c*T+y*I+d;return n(t)?(t[0]=O,t[1]=N,t[2]=R,t[3]=0,t[4]=z,t[5]=L,t[6]=F,t[7]=0,t[8]=P,t[9]=D,t[10]=B,t[11]=0,t[12]=_,t[13]=U,t[14]=G,t[15]=1,t):new l(O,z,P,_,N,L,D,U,R,F,B,G,0,0,0,1)},l.multiplyByTranslation=function(e,r,t){var i=r.x,o=r.y,a=r.z,s=i*e[0]+o*e[4]+a*e[8]+e[12],u=i*e[1]+o*e[5]+a*e[9]+e[13],c=i*e[2]+o*e[6]+a*e[10]+e[14];return n(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=s,t[13]=u,t[14]=c,t[15]=e[15],t):new l(e[0],e[4],e[8],s,e[1],e[5],e[9],u,e[2],e[6],e[10],c,e[3],e[7],e[11],e[15])};var y=new e;return l.multiplyByUniformScale=function(e,r,t){return y.x=r,y.y=r,y.z=r,l.multiplyByScale(e,y,t)},l.multiplyByScale=function(e,r,t){var i=r.x,o=r.y,a=r.z;return 1===i&&1===o&&1===a?l.clone(e,t):n(t)?(t[0]=i*e[0],t[1]=i*e[1],t[2]=i*e[2],t[3]=0,t[4]=o*e[4],t[5]=o*e[5],t[6]=o*e[6],t[7]=0,t[8]=a*e[8],t[9]=a*e[9],t[10]=a*e[10],t[11]=0,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=1,t):new l(i*e[0],o*e[4],a*e[8],e[12],i*e[1],o*e[5],a*e[9],e[13],i*e[2],o*e[6],a*e[10],e[14],0,0,0,1)},l.multiplyByVector=function(e,t,i){var o=t.x,a=t.y,s=t.z,u=t.w,l=e[0]*o+e[4]*a+e[8]*s+e[12]*u,c=e[1]*o+e[5]*a+e[9]*s+e[13]*u,f=e[2]*o+e[6]*a+e[10]*s+e[14]*u,m=e[3]*o+e[7]*a+e[11]*s+e[15]*u;return n(i)?(i.x=l,i.y=c,i.z=f,i.w=m,i):new r(l,c,f,m)},l.multiplyByPointAsVector=function(r,t,i){var o=t.x,a=t.y,s=t.z,u=r[0]*o+r[4]*a+r[8]*s,l=r[1]*o+r[5]*a+r[9]*s,c=r[2]*o+r[6]*a+r[10]*s;return n(i)?(i.x=u,i.y=l,i.z=c,i):new e(u,l,c)},l.multiplyByPoint=function(r,t,i){var o=t.x,a=t.y,s=t.z,u=r[0]*o+r[4]*a+r[8]*s+r[12],l=r[1]*o+r[5]*a+r[9]*s+r[13],c=r[2]*o+r[6]*a+r[10]*s+r[14];return n(i)?(i.x=u,i.y=l,i.z=c,i):new e(u,l,c)},l.multiplyByScalar=function(e,r,t){return n(t)?(t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*r,t[9]=e[9]*r,t[10]=e[10]*r,t[11]=e[11]*r,t[12]=e[12]*r,t[13]=e[13]*r,t[14]=e[14]*r,t[15]=e[15]*r,t):new l(e[0]*r,e[4]*r,e[8]*r,e[12]*r,e[1]*r,e[5]*r,e[9]*r,e[13]*r,e[2]*r,e[6]*r,e[10]*r,e[14]*r,e[3]*r,e[7]*r,e[11]*r,e[15]*r)},l.negate=function(e,r){return n(r)?(r[0]=-e[0],r[1]=-e[1],r[2]=-e[2],r[3]=-e[3],r[4]=-e[4],r[5]=-e[5],r[6]=-e[6],r[7]=-e[7],r[8]=-e[8],r[9]=-e[9],r[10]=-e[10],r[11]=-e[11],r[12]=-e[12],r[13]=-e[13],r[14]=-e[14],r[15]=-e[15],r):new l(-e[0],-e[4],-e[8],-e[12],-e[1],-e[5],-e[9],-e[13],-e[2],-e[6],-e[10],-e[14],-e[3],-e[7],-e[11],-e[15])},l.transpose=function(e,r){if(!n(r))return new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]);var t=e[1],i=e[2],o=e[3],a=e[6],s=e[7],u=e[11];return r[0]=e[0],r[1]=e[4],r[2]=e[8],r[3]=e[12],r[4]=t,r[5]=e[5],r[6]=e[9],r[7]=e[13],r[8]=i,r[9]=a,r[10]=e[10],r[11]=e[14],r[12]=o,r[13]=s,r[14]=u,r[15]=e[15],r},l.abs=function(e,r){return n(r)?(r[0]=Math.abs(e[0]),r[1]=Math.abs(e[1]),r[2]=Math.abs(e[2]),r[3]=Math.abs(e[3]),r[4]=Math.abs(e[4]),r[5]=Math.abs(e[5]),r[6]=Math.abs(e[6]),r[7]=Math.abs(e[7]),r[8]=Math.abs(e[8]),r[9]=Math.abs(e[9]),r[10]=Math.abs(e[10]),r[11]=Math.abs(e[11]),r[12]=Math.abs(e[12]),r[13]=Math.abs(e[13]),r[14]=Math.abs(e[14]),r[15]=Math.abs(e[15]),r):new l(Math.abs(e[0]),Math.abs(e[4]),Math.abs(e[8]),Math.abs(e[12]),Math.abs(e[1]),Math.abs(e[5]),Math.abs(e[9]),Math.abs(e[13]),Math.abs(e[2]),Math.abs(e[6]),Math.abs(e[10]),Math.abs(e[14]),Math.abs(e[3]),Math.abs(e[7]),Math.abs(e[11]),Math.abs(e[15]))},l.equals=function(e,r){return e===r||n(e)&&n(r)&&e[0]===r[0]&&e[1]===r[1]&&e[2]===r[2]&&e[3]===r[3]&&e[4]===r[4]&&e[5]===r[5]&&e[6]===r[6]&&e[7]===r[7]&&e[8]===r[8]&&e[9]===r[9]&&e[10]===r[10]&&e[11]===r[11]&&e[12]===r[12]&&e[13]===r[13]&&e[14]===r[14]&&e[15]===r[15]},l.equalsEpsilon=function(e,r,t){return e===r||n(e)&&n(r)&&Math.abs(e[0]-r[0])<=t&&Math.abs(e[1]-r[1])<=t&&Math.abs(e[2]-r[2])<=t&&Math.abs(e[3]-r[3])<=t&&Math.abs(e[4]-r[4])<=t&&Math.abs(e[5]-r[5])<=t&&Math.abs(e[6]-r[6])<=t&&Math.abs(e[7]-r[7])<=t&&Math.abs(e[8]-r[8])<=t&&Math.abs(e[9]-r[9])<=t&&Math.abs(e[10]-r[10])<=t&&Math.abs(e[11]-r[11])<=t&&Math.abs(e[12]-r[12])<=t&&Math.abs(e[13]-r[13])<=t&&Math.abs(e[14]-r[14])<=t&&Math.abs(e[15]-r[15])<=t},l.getTranslation=function(r,t){return n(t)?(t.x=r[12],t.y=r[13],t.z=r[14],t):new e(r[12],r[13],r[14])},l.getRotation=function(e,r){return n(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[4],r[4]=e[5],r[5]=e[6],r[6]=e[8],r[7]=e[9],r[8]=e[10],r):new s(e[0],e[4],e[8],e[1],e[5],e[9],e[2],e[6],e[10])},l.inverse=function(e,r){var t=e[0],i=e[4],o=e[8],s=e[12],c=e[1],f=e[5],m=e[9],y=e[13],h=e[2],p=e[6],d=e[10],v=e[14],g=e[3],E=e[7],C=e[11],S=e[15],w=d*S,x=v*C,A=p*S,M=v*E,b=p*C,T=d*E,I=h*S,O=v*g,N=h*C,R=d*g,z=h*E,L=p*g,F=w*f+M*m+b*y-(x*f+A*m+T*y),P=x*c+I*m+R*y-(w*c+O*m+N*y),D=A*c+O*f+z*y-(M*c+I*f+L*y),B=T*c+N*f+L*m-(b*c+R*f+z*m),_=x*i+A*o+T*s-(w*i+M*o+b*s),U=w*t+O*o+N*s-(x*t+I*o+R*s),G=M*t+I*i+L*s-(A*t+O*i+z*s),q=b*t+R*i+z*o-(T*t+N*i+L*o);w=o*y,x=s*m,A=i*y,M=s*f,b=i*m,T=o*f,I=t*y,O=s*c,N=t*m,R=o*c,z=t*f,L=i*c;var Y=w*E+M*C+b*S-(x*E+A*C+T*S),W=x*g+I*C+R*S-(w*g+O*C+N*S),V=A*g+O*E+z*S-(M*g+I*E+L*S),H=T*g+N*E+L*C-(b*g+R*E+z*C),k=A*d+T*v+x*p-(b*v+w*p+M*d),K=N*v+w*h+O*d-(I*d+R*v+x*h),j=I*p+L*v+M*h-(z*v+A*h+O*p),Z=z*d+b*h+R*p-(N*p+L*d+T*h),Q=t*F+i*P+o*D+s*B;if(Math.abs(Q)M;M++){e.clone(r[M],i);var b=i.x,T=i.y,I=i.z;bu.x&&e.clone(i,u),Tl.y&&e.clone(i,l),Ix.z&&e.clone(i,x)}var O=e.magnitudeSquared(e.subtract(u,o,g)),N=e.magnitudeSquared(e.subtract(l,a,g)),R=e.magnitudeSquared(e.subtract(x,s,g)),z=o,L=u,F=O;N>F&&(F=N,z=a,L=l),R>F&&(F=R,z=s,L=x);var P=E;P.x=.5*(z.x+L.x),P.y=.5*(z.y+L.y),P.z=.5*(z.z+L.z);var D=e.magnitudeSquared(e.subtract(L,P,g)),B=Math.sqrt(D),_=C;_.x=o.x,_.y=a.y,_.z=s.z;var U=S;U.x=u.x,U.y=l.y,U.z=x.z;var G=e.multiplyByScalar(e.add(_,U,g),.5,w),q=0;for(M=0;A>M;M++){e.clone(r[M],i);var Y=e.magnitude(e.subtract(i,G,g));Y>q&&(q=Y);var W=e.magnitudeSquared(e.subtract(i,P,g));if(W>D){var V=Math.sqrt(W);B=.5*(B+V),D=B*B;var H=V-B;P.x=(B*P.x+H*i.x)/V,P.y=(B*P.y+H*i.y)/V,P.z=(B*P.z+H*i.z)/V}}return q>B?(e.clone(P,t.center),t.radius=B):(e.clone(G,t.center),t.radius=q),t};var x=new a,A=new e,M=new e,b=new r,T=new r;c.fromExtent2D=function(e,r,t){return c.fromExtentWithHeights2D(e,r,0,0,t)},c.fromExtentWithHeights2D=function(r,i,o,a,s){if(n(s)||(s=new c),!n(r))return s.center=e.clone(e.ZERO,s.center),s.radius=0,s;i=t(i,x),r.getSouthwest(b),b.height=o,r.getNortheast(T),T.height=a;var u=i.project(b,A),l=i.project(T,M),f=l.x-u.x,m=l.y-u.y,y=l.z-u.z;s.radius=.5*Math.sqrt(f*f+m*m+y*y);var h=s.center;return h.x=u.x+.5*f,h.y=u.y+.5*m,h.z=u.z+.5*y,s};var I=[];c.fromExtent3D=function(e,r,i,a){r=t(r,o.WGS84),i=t(i,0);var s;return n(e)&&(s=e.subsample(r,i,I)),c.fromPoints(s,a)},c.fromVertices=function(r,i,o,a){if(n(a)||(a=new c),!n(r)||0===r.length)return a.center=e.clone(e.ZERO,a.center),a.radius=0,a;i=t(i,e.ZERO),o=t(o,3);var s=v;s.x=r[0]+i.x,s.y=r[1]+i.y,s.z=r[2]+i.z;for(var u=e.clone(s,f),l=e.clone(s,m),x=e.clone(s,y),A=e.clone(s,h),M=e.clone(s,p),b=e.clone(s,d),T=r.length,I=0;T>I;I+=o){var O=r[I]+i.x,N=r[I+1]+i.y,R=r[I+2]+i.z;s.x=O,s.y=N,s.z=R,OA.x&&e.clone(s,A),NM.y&&e.clone(s,M),Rb.z&&e.clone(s,b)}var z=e.magnitudeSquared(e.subtract(A,u,g)),L=e.magnitudeSquared(e.subtract(M,l,g)),F=e.magnitudeSquared(e.subtract(b,x,g)),P=u,D=A,B=z;L>B&&(B=L,P=l,D=M),F>B&&(B=F,P=x,D=b);var _=E;_.x=.5*(P.x+D.x),_.y=.5*(P.y+D.y),_.z=.5*(P.z+D.z);var U=e.magnitudeSquared(e.subtract(D,_,g)),G=Math.sqrt(U),q=C;q.x=u.x,q.y=l.y,q.z=x.z;var Y=S;Y.x=A.x,Y.y=M.y,Y.z=b.z;var W=e.multiplyByScalar(e.add(q,Y,g),.5,w),V=0;for(I=0;T>I;I+=o){s.x=r[I]+i.x,s.y=r[I+1]+i.y,s.z=r[I+2]+i.z;var H=e.magnitude(e.subtract(s,W,g));H>V&&(V=H);var k=e.magnitudeSquared(e.subtract(s,_,g));if(k>U){var K=Math.sqrt(k);G=.5*(G+K),U=G*G;var j=K-G;_.x=(G*_.x+j*s.x)/K,_.y=(G*_.y+j*s.y)/K,_.z=(G*_.z+j*s.z)/K}}return V>G?(e.clone(_,a.center),a.radius=G):(e.clone(W,a.center),a.radius=V),a},c.fromCornerPoints=function(r,t,i){n(i)||(i=new c);var o=i.center;return e.add(r,t,o),e.multiplyByScalar(o,.5,o),i.radius=e.distance(o,t),i},c.fromEllipsoid=function(r,t){return n(t)||(t=new c),e.clone(e.ZERO,t.center),t.radius=r.maximumRadius,t},c.clone=function(r,t){return n(r)?n(t)?(t.center=e.clone(r.center,t.center),t.radius=r.radius,t):new c(r.center,r.radius):void 0};var O=new e,N=new e;c.union=function(r,t,i){n(i)||(i=new c);var o=r.center,a=t.center;e.add(o,a,N);var s=e.multiplyByScalar(N,.5,N),u=e.magnitude(e.subtract(o,s,O))+r.radius,l=e.magnitude(e.subtract(a,s,O))+t.radius;return i.radius=Math.max(u,l),e.clone(s,i.center),i};var R=new e;c.expand=function(r,t,n){n=c.clone(r,n);var i=e.magnitude(e.subtract(t,n.center,R));return i>n.radius&&(n.radius=i),n},c.intersect=function(r,t){var n=r.center,i=r.radius,o=e.dot(t,n)+t.w;return-i>o?s.OUTSIDE:i>o?s.INTERSECTING:s.INSIDE};var z=new e;c.transform=function(r,t,i){return n(i)||(i=new c),i.center=l.multiplyByPoint(t,r.center,i.center),i.radius=Math.max(e.magnitude(l.getColumn(t,0,z)),e.magnitude(l.getColumn(t,1,z)),e.magnitude(l.getColumn(t,2,z)))*r.radius,i},c.transformWithoutScale=function(e,r,t){return n(t)||(t=new c),t.center=l.multiplyByPoint(r,e.center,t.center),t.radius=e.radius,t};var L=new e;c.getPlaneDistances=function(r,t,i,o){n(o)||(o=new u);var a=e.subtract(r.center,t,L),s=e.multiplyByScalar(i,e.dot(i,a),L),l=e.magnitude(s);return o.start=l-r.radius,o.stop=l+r.radius,o};for(var F=new e,P=new e,D=new e,B=new e,_=new e,U=new r,G=new Array(8),q=0;8>q;++q)G[q]=new e;var Y=new a;return c.projectTo2D=function(r,n,i){n=t(n,Y);var o=n.ellipsoid,a=r.center,s=r.radius,u=o.geodeticSurfaceNormal(a,F),l=e.cross(e.UNIT_Z,u,P);e.normalize(l,l);var f=e.cross(u,l,D);e.normalize(f,f),e.multiplyByScalar(u,s,u),e.multiplyByScalar(f,s,f),e.multiplyByScalar(l,s,l);var m=e.negate(f,_),y=e.negate(l,B),h=G,p=h[0];e.add(u,f,p),e.add(p,l,p),p=h[1],e.add(u,f,p),e.add(p,y,p),p=h[2],e.add(u,m,p),e.add(p,y,p),p=h[3],e.add(u,m,p),e.add(p,l,p),e.negate(u,u),p=h[4],e.add(u,f,p),e.add(p,l,p),p=h[5],e.add(u,f,p),e.add(p,y,p),p=h[6],e.add(u,m,p),e.add(p,y,p),p=h[7],e.add(u,m,p),e.add(p,l,p);for(var d=h.length,v=0;d>v;++v){var g=h[v];e.add(a,g,g);var E=o.cartesianToCartographic(g,U);n.project(E,g)}i=c.fromPoints(h,i),a=i.center;var C=a.x,S=a.y,w=a.z;return a.x=w,a.y=C,a.z=S,i},c.equals=function(r,t){return r===t||n(r)&&n(t)&&e.equals(r.center,t.center)&&r.radius===t.radius},c.prototype.clone=function(e){return c.clone(this,e)},c.prototype.union=function(e,r){return c.union(this,e,r)},c.prototype.expand=function(e,r){return c.expand(this,e,r)},c.prototype.intersect=function(e){return c.intersect(this,e)},c.prototype.getPlaneDistances=function(e,r,t){return c.getPlaneDistances(this,e,r,t)},c.prototype.projectTo2D=function(e,r){return c.projectTo2D(this,e,r)},c.prototype.equals=function(e){return c.equals(this,e)},c}),define("Core/Geometry",["./defaultValue","./defined","./DeveloperError"],function(e,r,t){"use strict";var n=function(r){r=e(r,e.EMPTY_OBJECT),this.attributes=r.attributes,this.indices=r.indices,this.primitiveType=r.primitiveType,this.boundingSphere=r.boundingSphere};return n.computeNumberOfVertices=function(e){var n=-1;for(var i in e.attributes)if(e.attributes.hasOwnProperty(i)&&r(e.attributes[i])&&r(e.attributes[i].values)){var o=e.attributes[i],a=o.values.length/o.componentsPerAttribute;if(n!==a&&-1!==n)throw new t("All attribute lists must have the same number of attributes.");n=a}return n},n}),define("Core/GeometryAttribute",["./defaultValue","./defined","./DeveloperError"],function(e){"use strict";var r=function(r){r=e(r,e.EMPTY_OBJECT),this.componentDatatype=r.componentDatatype,this.componentsPerAttribute=r.componentsPerAttribute,this.normalize=e(r.normalize,!1),this.values=r.values};return r}),define("Core/GeometryAttributes",["./defaultValue"],function(e){"use strict";var r=function(r){r=e(r,e.EMPTY_OBJECT),this.position=r.position,this.normal=r.normal,this.st=r.st,this.binormal=r.binormal,this.tangent=r.tangent,this.color=r.color};return r}),define("Core/EllipsoidOutlineGeometry",["./defaultValue","./DeveloperError","./Cartesian3","./Math","./Ellipsoid","./ComponentDatatype","./IndexDatatype","./PrimitiveType","./BoundingSphere","./Geometry","./GeometryAttribute","./GeometryAttributes"],function(e,r,t,n,i,o,a,s,u,l,c,f){"use strict";var m=new t(1,1,1),y=Math.cos,h=Math.sin,p=function(r){r=e(r,e.EMPTY_OBJECT);var n=e(r.radii,m),i=e(r.stackPartitions,10),o=e(r.slicePartitions,8),a=e(r.subdivisions,128);this._radii=t.clone(n),this._stackPartitions=i,this._slicePartitions=o,this._subdivisions=a,this._workerName="createEllipsoidOutlineGeometry"};return p.createGeometry=function(e){var r,t,m,p,d,v,g=e._radii,E=i.fromCartesian3(g),C=e._stackPartitions,S=e._slicePartitions,w=e._subdivisions,x=w*(C+S-1),A=x-S+2,M=new Float64Array(3*A),b=a.createTypedArray(A,2*x),T=0,I=new Array(w),O=new Array(w);for(r=0;w>r;r++)m=n.TWO_PI*r/w,I[r]=y(m),O[r]=h(m);for(r=1;C>r;r++)for(p=Math.PI*r/C,d=y(p),v=h(p),t=0;w>t;t++)M[T++]=g.x*I[t]*v,M[T++]=g.y*O[t]*v,M[T++]=g.z*d;for(I.length=S,O.length=S,r=0;S>r;r++)m=n.TWO_PI*r/S,I[r]=y(m),O[r]=h(m);for(M[T++]=0,M[T++]=0,M[T++]=g.z,r=1;w>r;r++)for(p=Math.PI*r/w,d=y(p),v=h(p),t=0;S>t;t++)M[T++]=g.x*I[t]*v,M[T++]=g.y*O[t]*v,M[T++]=g.z*d;for(M[T++]=0,M[T++]=0,M[T++]=-g.z,T=0,r=0;C-1>r;++r){var N=r*w;for(t=0;w-1>t;++t)b[T++]=N+t,b[T++]=N+t+1;b[T++]=N+w-1,b[T++]=N}var R=w*(C-1);for(t=1;S+1>t;++t)b[T++]=R,b[T++]=R+t;for(r=0;w-2>r;++r){var z=r*S+1+R,L=(r+1)*S+1+R;for(t=0;S-1>t;++t)b[T++]=L+t,b[T++]=z+t;b[T++]=L+S-1,b[T++]=z+S-1}var F=M.length/3-1;for(t=F-1;t>F-S-1;--t)b[T++]=F,b[T++]=t;var P=new f({position:new c({componentDatatype:o.DOUBLE,componentsPerAttribute:3,values:M})});return new l({attributes:P,indices:b,primitiveType:s.LINES,boundingSphere:u.fromEllipsoid(E)})},p}),define("Core/SphereOutlineGeometry",["./defaultValue","./Cartesian3","./EllipsoidOutlineGeometry"],function(e,r,t){"use strict";var n=function(n){var i=e(n.radius,1),o=new r(i,i,i),a={radii:o,stackPartitions:n.stackPartitions,slicePartitions:n.slicePartitions,subdivisions:n.subdivisions};this._ellipsoidGeometry=new t(a),this._workerName="createSphereOutlineGeometry"};return n.createGeometry=function(e){return t.createGeometry(e._ellipsoidGeometry)},n}),define("Core/Color",["./defaultValue","./defined","./freezeObject","./DeveloperError","./FeatureDetection","./Math"],function(e,r,t,n,i,o){"use strict";function a(e,r,t){return 0>t&&(t+=1),t>1&&(t-=1),1>6*t?e+6*(r-e)*t:1>2*t?r:2>3*t?e+6*(r-e)*(2/3-t):e}var s=function(r,t,n,i){this.red=e(r,1),this.green=e(t,1),this.blue=e(n,1),this.alpha=e(i,1)};s.fromBytes=function(r,t,n,i){return r=s.byteToFloat(e(r,255)),t=s.byteToFloat(e(t,255)),n=s.byteToFloat(e(n,255)),i=s.byteToFloat(e(i,255)),new s(r,t,n,i)};var u,l,c;i.supportsTypedArrays()&&(u=new ArrayBuffer(4),l=new Uint32Array(u),c=new Uint8Array(u)),s.fromRgba=function(e){return l[0]=e,s.fromBytes(c[0],c[1],c[2],c[3])},s.fromHsl=function(r,t,n,i){r=e(r,0)%1,t=e(t,0),n=e(n,0),i=e(i,1);var o=n,u=n,l=n;if(0!==t){var c;c=.5>n?n*(1+t):n+t-n*t;var f=2*n-c;o=a(f,c,r+1/3),u=a(f,c,r),l=a(f,c,r-1/3)}return new s(o,u,l,i)},s.fromRandom=function(t,n){t=e(t,e.EMPTY_OBJECT);var i=t.red;if(!r(i)){var a=e(t.minimumRed,0),u=e(t.maximumRed,1);i=a+o.nextRandomNumber()*(u-a)}var l=t.green;if(!r(l)){var c=e(t.minimumGreen,0),f=e(t.maximumGreen,1);l=c+o.nextRandomNumber()*(f-c)}var m=t.blue;if(!r(m)){var y=e(t.minimumBlue,0),h=e(t.maximumBlue,1);m=y+o.nextRandomNumber()*(h-y)}var p=t.alpha;if(!r(p)){var d=e(t.minimumAlpha,0),v=e(t.maximumAlpha,1);p=d+o.nextRandomNumber()*(v-d)}return r(n)?(n.red=i,n.green=l,n.blue=m,n.alpha=p,n):new s(i,l,m,p)};var f=/^#([0-9a-f])([0-9a-f])([0-9a-f])$/i,m=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i,y=/^rgba?\(\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)(?:\s*,\s*([0-9.]+))?\s*\)$/i,h=/^hsla?\(\s*([0-9.]+)\s*,\s*([0-9.]+%)\s*,\s*([0-9.]+%)(?:\s*,\s*([0-9.]+))?\s*\)$/i;return s.fromCssColorString=function(t){var n=s[t.toUpperCase()];if(r(n))return s.clone(n);var i=f.exec(t);return null!==i?new s(parseInt(i[1],16)/15,parseInt(i[2],16)/15,parseInt(i[3],16)/15):(i=m.exec(t),null!==i?new s(parseInt(i[1],16)/255,parseInt(i[2],16)/255,parseInt(i[3],16)/255):(i=y.exec(t),null!==i?new s(parseFloat(i[1])/("%"===i[1].substr(-1)?100:255),parseFloat(i[2])/("%"===i[2].substr(-1)?100:255),parseFloat(i[3])/("%"===i[3].substr(-1)?100:255),parseFloat(e(i[4],"1.0"))):(i=h.exec(t),null!==i?s.fromHsl(parseFloat(i[1])/360,parseFloat(i[2])/100,parseFloat(i[3])/100,parseFloat(e(i[4],"1.0"))):void 0)))},s.packedLength=4,s.pack=function(r,t,n){n=e(n,0),t[n++]=r.red,t[n++]=r.green,t[n++]=r.blue,t[n]=r.alpha},s.unpack=function(t,n,i){return n=e(n,0),r(i)||(i=new s),i.red=t[n++],i.green=t[n++],i.blue=t[n++],i.alpha=t[n],i},s.byteToFloat=function(e){return e/255},s.floatToByte=function(e){return 1===e?255:0|256*e},s.clone=function(e,t){return r(e)?r(t)?(t.red=e.red,t.green=e.green,t.blue=e.blue,t.alpha=e.alpha,t):new s(e.red,e.green,e.blue,e.alpha):void 0},s.equals=function(e,t){return e===t||r(e)&&r(t)&&e.red===t.red&&e.green===t.green&&e.blue===t.blue&&e.alpha===t.alpha},s.prototype.clone=function(e){return s.clone(this,e)},s.prototype.equals=function(e){return s.equals(this,e)},s.prototype.equalsEpsilon=function(e,t){return this===e||r(e)&&Math.abs(this.red-e.red)<=t&&Math.abs(this.green-e.green)<=t&&Math.abs(this.blue-e.blue)<=t&&Math.abs(this.alpha-e.alpha)<=t},s.prototype.toString=function(){return"("+this.red+", "+this.green+", "+this.blue+", "+this.alpha+")"},s.prototype.toCssColorString=function(){var e=s.floatToByte(this.red),r=s.floatToByte(this.green),t=s.floatToByte(this.blue);return 1===this.alpha?"rgb("+e+","+r+","+t+")":"rgba("+e+","+r+","+t+","+this.alpha+")"},s.prototype.toBytes=function(e){var t=s.floatToByte(this.red),n=s.floatToByte(this.green),i=s.floatToByte(this.blue),o=s.floatToByte(this.alpha);return r(e)?(e[0]=t,e[1]=n,e[2]=i,e[3]=o,e):[t,n,i,o]},s.prototype.toRgba=function(){return c[0]=s.floatToByte(this.red),c[1]=s.floatToByte(this.green),c[2]=s.floatToByte(this.blue),c[3]=s.floatToByte(this.alpha),l[0]},s.ALICEBLUE=t(s.fromCssColorString("#F0F8FF")),s.ANTIQUEWHITE=t(s.fromCssColorString("#FAEBD7")),s.AQUA=t(s.fromCssColorString("#00FFFF")),s.AQUAMARINE=t(s.fromCssColorString("#7FFFD4")),s.AZURE=t(s.fromCssColorString("#F0FFFF")),s.BEIGE=t(s.fromCssColorString("#F5F5DC")),s.BISQUE=t(s.fromCssColorString("#FFE4C4")),s.BLACK=t(s.fromCssColorString("#000000")),s.BLANCHEDALMOND=t(s.fromCssColorString("#FFEBCD")),s.BLUE=t(s.fromCssColorString("#0000FF")),s.BLUEVIOLET=t(s.fromCssColorString("#8A2BE2")),s.BROWN=t(s.fromCssColorString("#A52A2A")),s.BURLYWOOD=t(s.fromCssColorString("#DEB887")),s.CADETBLUE=t(s.fromCssColorString("#5F9EA0")),s.CHARTREUSE=t(s.fromCssColorString("#7FFF00")),s.CHOCOLATE=t(s.fromCssColorString("#D2691E")),s.CORAL=t(s.fromCssColorString("#FF7F50")),s.CORNFLOWERBLUE=t(s.fromCssColorString("#6495ED")),s.CORNSILK=t(s.fromCssColorString("#FFF8DC")),s.CRIMSON=t(s.fromCssColorString("#DC143C")),s.CYAN=t(s.fromCssColorString("#00FFFF")),s.DARKBLUE=t(s.fromCssColorString("#00008B")),s.DARKCYAN=t(s.fromCssColorString("#008B8B")),s.DARKGOLDENROD=t(s.fromCssColorString("#B8860B")),s.DARKGRAY=t(s.fromCssColorString("#A9A9A9")),s.DARKGREEN=t(s.fromCssColorString("#006400")),s.DARKGREY=s.DARKGRAY,s.DARKKHAKI=t(s.fromCssColorString("#BDB76B")),s.DARKMAGENTA=t(s.fromCssColorString("#8B008B")),s.DARKOLIVEGREEN=t(s.fromCssColorString("#556B2F")),s.DARKORANGE=t(s.fromCssColorString("#FF8C00")),s.DARKORCHID=t(s.fromCssColorString("#9932CC")),s.DARKRED=t(s.fromCssColorString("#8B0000")),s.DARKSALMON=t(s.fromCssColorString("#E9967A")),s.DARKSEAGREEN=t(s.fromCssColorString("#8FBC8F")),s.DARKSLATEBLUE=t(s.fromCssColorString("#483D8B")),s.DARKSLATEGRAY=t(s.fromCssColorString("#2F4F4F")),s.DARKSLATEGREY=s.DARKSLATEGRAY,s.DARKTURQUOISE=t(s.fromCssColorString("#00CED1")),s.DARKVIOLET=t(s.fromCssColorString("#9400D3")),s.DEEPPINK=t(s.fromCssColorString("#FF1493")),s.DEEPSKYBLUE=t(s.fromCssColorString("#00BFFF")),s.DIMGRAY=t(s.fromCssColorString("#696969")),s.DIMGREY=s.DIMGRAY,s.DODGERBLUE=t(s.fromCssColorString("#1E90FF")),s.FIREBRICK=t(s.fromCssColorString("#B22222")),s.FLORALWHITE=t(s.fromCssColorString("#FFFAF0")),s.FORESTGREEN=t(s.fromCssColorString("#228B22")),s.FUSCHIA=t(s.fromCssColorString("#FF00FF")),s.GAINSBORO=t(s.fromCssColorString("#DCDCDC")),s.GHOSTWHITE=t(s.fromCssColorString("#F8F8FF")),s.GOLD=t(s.fromCssColorString("#FFD700")),s.GOLDENROD=t(s.fromCssColorString("#DAA520")),s.GRAY=t(s.fromCssColorString("#808080")),s.GREEN=t(s.fromCssColorString("#008000")),s.GREENYELLOW=t(s.fromCssColorString("#ADFF2F")),s.GREY=s.GRAY,s.HONEYDEW=t(s.fromCssColorString("#F0FFF0")),s.HOTPINK=t(s.fromCssColorString("#FF69B4")),s.INDIANRED=t(s.fromCssColorString("#CD5C5C")),s.INDIGO=t(s.fromCssColorString("#4B0082")),s.IVORY=t(s.fromCssColorString("#FFFFF0")),s.KHAKI=t(s.fromCssColorString("#F0E68C")),s.LAVENDER=t(s.fromCssColorString("#E6E6FA")),s.LAVENDAR_BLUSH=t(s.fromCssColorString("#FFF0F5")),s.LAWNGREEN=t(s.fromCssColorString("#7CFC00")),s.LEMONCHIFFON=t(s.fromCssColorString("#FFFACD")),s.LIGHTBLUE=t(s.fromCssColorString("#ADD8E6")),s.LIGHTCORAL=t(s.fromCssColorString("#F08080")),s.LIGHTCYAN=t(s.fromCssColorString("#E0FFFF")),s.LIGHTGOLDENRODYELLOW=t(s.fromCssColorString("#FAFAD2")),s.LIGHTGRAY=t(s.fromCssColorString("#D3D3D3")),s.LIGHTGREEN=t(s.fromCssColorString("#90EE90")),s.LIGHTGREY=s.LIGHTGRAY,s.LIGHTPINK=t(s.fromCssColorString("#FFB6C1")),s.LIGHTSEAGREEN=t(s.fromCssColorString("#20B2AA")),s.LIGHTSKYBLUE=t(s.fromCssColorString("#87CEFA")),s.LIGHTSLATEGRAY=t(s.fromCssColorString("#778899")),s.LIGHTSLATEGREY=s.LIGHTSLATEGRAY,s.LIGHTSTEELBLUE=t(s.fromCssColorString("#B0C4DE")),s.LIGHTYELLOW=t(s.fromCssColorString("#FFFFE0")),s.LIME=t(s.fromCssColorString("#00FF00")),s.LIMEGREEN=t(s.fromCssColorString("#32CD32")),s.LINEN=t(s.fromCssColorString("#FAF0E6")),s.MAGENTA=t(s.fromCssColorString("#FF00FF")),s.MAROON=t(s.fromCssColorString("#800000")),s.MEDIUMAQUAMARINE=t(s.fromCssColorString("#66CDAA")),s.MEDIUMBLUE=t(s.fromCssColorString("#0000CD")),s.MEDIUMORCHID=t(s.fromCssColorString("#BA55D3")),s.MEDIUMPURPLE=t(s.fromCssColorString("#9370DB")),s.MEDIUMSEAGREEN=t(s.fromCssColorString("#3CB371")),s.MEDIUMSLATEBLUE=t(s.fromCssColorString("#7B68EE")),s.MEDIUMSPRINGGREEN=t(s.fromCssColorString("#00FA9A")),s.MEDIUMTURQUOISE=t(s.fromCssColorString("#48D1CC")),s.MEDIUMVIOLETRED=t(s.fromCssColorString("#C71585")),s.MIDNIGHTBLUE=t(s.fromCssColorString("#191970")),s.MINTCREAM=t(s.fromCssColorString("#F5FFFA")),s.MISTYROSE=t(s.fromCssColorString("#FFE4E1")),s.MOCCASIN=t(s.fromCssColorString("#FFE4B5")),s.NAVAJOWHITE=t(s.fromCssColorString("#FFDEAD")),s.NAVY=t(s.fromCssColorString("#000080")),s.OLDLACE=t(s.fromCssColorString("#FDF5E6")),s.OLIVE=t(s.fromCssColorString("#808000")),s.OLIVEDRAB=t(s.fromCssColorString("#6B8E23")),s.ORANGE=t(s.fromCssColorString("#FFA500")),s.ORANGERED=t(s.fromCssColorString("#FF4500")),s.ORCHID=t(s.fromCssColorString("#DA70D6")),s.PALEGOLDENROD=t(s.fromCssColorString("#EEE8AA")),s.PALEGREEN=t(s.fromCssColorString("#98FB98")),s.PALETURQUOISE=t(s.fromCssColorString("#AFEEEE")),s.PALEVIOLETRED=t(s.fromCssColorString("#DB7093")),s.PAPAYAWHIP=t(s.fromCssColorString("#FFEFD5")),s.PEACHPUFF=t(s.fromCssColorString("#FFDAB9")),s.PERU=t(s.fromCssColorString("#CD853F")),s.PINK=t(s.fromCssColorString("#FFC0CB")),s.PLUM=t(s.fromCssColorString("#DDA0DD")),s.POWDERBLUE=t(s.fromCssColorString("#B0E0E6")),s.PURPLE=t(s.fromCssColorString("#800080")),s.RED=t(s.fromCssColorString("#FF0000")),s.ROSYBROWN=t(s.fromCssColorString("#BC8F8F")),s.ROYALBLUE=t(s.fromCssColorString("#4169E1")),s.SADDLEBROWN=t(s.fromCssColorString("#8B4513")),s.SALMON=t(s.fromCssColorString("#FA8072")),s.SANDYBROWN=t(s.fromCssColorString("#F4A460")),s.SEAGREEN=t(s.fromCssColorString("#2E8B57")),s.SEASHELL=t(s.fromCssColorString("#FFF5EE")),s.SIENNA=t(s.fromCssColorString("#A0522D")),s.SILVER=t(s.fromCssColorString("#C0C0C0")),s.SKYBLUE=t(s.fromCssColorString("#87CEEB")),s.SLATEBLUE=t(s.fromCssColorString("#6A5ACD")),s.SLATEGRAY=t(s.fromCssColorString("#708090")),s.SLATEGREY=s.SLATEGRAY,s.SNOW=t(s.fromCssColorString("#FFFAFA")),s.SPRINGGREEN=t(s.fromCssColorString("#00FF7F")),s.STEELBLUE=t(s.fromCssColorString("#4682B4")),s.TAN=t(s.fromCssColorString("#D2B48C")),s.TEAL=t(s.fromCssColorString("#008080")),s.THISTLE=t(s.fromCssColorString("#D8BFD8")),s.TOMATO=t(s.fromCssColorString("#FF6347")),s.TURQUOISE=t(s.fromCssColorString("#40E0D0")),s.VIOLET=t(s.fromCssColorString("#EE82EE")),s.WHEAT=t(s.fromCssColorString("#F5DEB3")),s.WHITE=t(s.fromCssColorString("#FFFFFF")),s.WHITESMOKE=t(s.fromCssColorString("#F5F5F5")),s.YELLOW=t(s.fromCssColorString("#FFFF00")),s.YELLOWGREEN=t(s.fromCssColorString("#9ACD32")),s +}),define("Core/Cartesian2",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,r,t,n){"use strict";var i=function(r,t){this.x=e(r,0),this.y=e(t,0)};i.fromElements=function(e,t,n){return r(n)?(n.x=e,n.y=t,n):new i(e,t)},i.clone=function(e,t){return r(e)?r(t)?(t.x=e.x,t.y=e.y,t):new i(e.x,e.y):void 0},i.fromCartesian3=i.clone,i.fromCartesian4=i.clone,i.packedLength=2,i.pack=function(r,t,n){n=e(n,0),t[n++]=r.x,t[n]=r.y},i.unpack=function(t,n,o){return n=e(n,0),r(o)||(o=new i),o.x=t[n++],o.y=t[n],o},i.fromArray=i.unpack,i.getMaximumComponent=function(e){return Math.max(e.x,e.y)},i.getMinimumComponent=function(e){return Math.min(e.x,e.y)},i.getMinimumByComponent=function(e,t,n){return r(n)||(n=new i),n.x=Math.min(e.x,t.x),n.y=Math.min(e.y,t.y),n},i.getMaximumByComponent=function(e,t,n){return r(n)||(n=new i),n.x=Math.max(e.x,t.x),n.y=Math.max(e.y,t.y),n},i.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y},i.magnitude=function(e){return Math.sqrt(i.magnitudeSquared(e))};var o=new i;i.distance=function(e,r){return i.subtract(e,r,o),i.magnitude(o)},i.normalize=function(e,t){var n=i.magnitude(e);return r(t)?(t.x=e.x/n,t.y=e.y/n,t):new i(e.x/n,e.y/n)},i.dot=function(e,r){return e.x*r.x+e.y*r.y},i.multiplyComponents=function(e,t,n){return r(n)?(n.x=e.x*t.x,n.y=e.y*t.y,n):new i(e.x*t.x,e.y*t.y)},i.add=function(e,t,n){return r(n)?(n.x=e.x+t.x,n.y=e.y+t.y,n):new i(e.x+t.x,e.y+t.y)},i.subtract=function(e,t,n){return r(n)?(n.x=e.x-t.x,n.y=e.y-t.y,n):new i(e.x-t.x,e.y-t.y)},i.multiplyByScalar=function(e,t,n){return r(n)?(n.x=e.x*t,n.y=e.y*t,n):new i(e.x*t,e.y*t)},i.divideByScalar=function(e,t,n){return r(n)?(n.x=e.x/t,n.y=e.y/t,n):new i(e.x/t,e.y/t)},i.negate=function(e,t){return r(t)?(t.x=-e.x,t.y=-e.y,t):new i(-e.x,-e.y)},i.abs=function(e,t){return r(t)?(t.x=Math.abs(e.x),t.y=Math.abs(e.y),t):new i(Math.abs(e.x),Math.abs(e.y))};var a=new i;i.lerp=function(e,r,t,n){return i.multiplyByScalar(r,t,a),n=i.multiplyByScalar(e,1-t,n),i.add(a,n,n)};var s=new i,u=new i;i.angleBetween=function(e,r){return i.normalize(e,s),i.normalize(r,u),Math.acos(i.dot(s,u))};var l=new i;return i.mostOrthogonalAxis=function(e,r){var t=i.normalize(e,l);return i.abs(t,t),r=t.x<=t.y?i.clone(i.UNIT_X,r):i.clone(i.UNIT_Y,r)},i.equals=function(e,t){return e===t||r(e)&&r(t)&&e.x===t.x&&e.y===t.y},i.equalsEpsilon=function(e,t,n){return e===t||r(e)&&r(t)&&Math.abs(e.x-t.x)<=n&&Math.abs(e.y-t.y)<=n},i.ZERO=n(new i(0,0)),i.UNIT_X=n(new i(1,0)),i.UNIT_Y=n(new i(0,1)),i.prototype.clone=function(e){return i.clone(this,e)},i.prototype.equals=function(e){return i.equals(this,e)},i.prototype.equalsEpsilon=function(e,r){return i.equalsEpsilon(this,e,r)},i.prototype.toString=function(){return"("+this.x+", "+this.y+")"},i}),define("Core/barycentricCoordinates",["./Cartesian2","./Cartesian3","./defined","./DeveloperError"],function(e,r,t){"use strict";var n=new r,i=new r,o=new r,a=function(a,s,u,l,c){t(c)||(c=new r);var f,m,y,h,p,d,v,g;t(s.z)?(f=r.subtract(u,s,n),m=r.subtract(l,s,i),y=r.subtract(a,s,o),h=r.dot(f,f),p=r.dot(f,m),d=r.dot(f,y),v=r.dot(m,m),g=r.dot(m,y)):(f=e.subtract(u,s,n),m=e.subtract(l,s,i),y=e.subtract(a,s,o),h=e.dot(f,f),p=e.dot(f,m),d=e.dot(f,y),v=e.dot(m,m),g=e.dot(m,y));var E=1/(h*v-p*p);return c.y=(v*d-p*g)*E,c.z=(h*g-p*d)*E,c.x=1-c.y-c.z,c};return a}),define("Core/EncodedCartesian3",["./Cartesian3","./defined","./DeveloperError"],function(e,r){"use strict";var t=function(){this.high=e.clone(e.ZERO),this.low=e.clone(e.ZERO)};t.encode=function(e,t){r(t)||(t={high:0,low:0});var n;return e>=0?(n=65536*Math.floor(e/65536),t.high=n,t.low=e-n):(n=65536*Math.floor(-e/65536),t.high=-n,t.low=e+n),t};var n={high:0,low:0};t.fromCartesian=function(e,i){r(i)||(i=new t);var o=i.high,a=i.low;return t.encode(e.x,n),o.x=n.high,a.x=n.low,t.encode(e.y,n),o.y=n.high,a.y=n.low,t.encode(e.z,n),o.z=n.high,a.z=n.low,i};var i=new t;return t.writeElements=function(e,r,n){t.fromCartesian(e,i);var o=i.high,a=i.low;r[n]=o.x,r[n+1]=o.y,r[n+2]=o.z,r[n+3]=a.x,r[n+4]=a.y,r[n+5]=a.z},t}),define("Core/QuadraticRealPolynomial",["./DeveloperError","./Math"],function(e,r){"use strict";function t(e,t,n){var i=e+t;return r.sign(e)!==r.sign(t)&&Math.abs(i/Math.max(Math.abs(e),Math.abs(t)))a&&a/ss&&s/ao)return[];var u=Math.sqrt(o);return[-u,u]}if(0===i)return o=-n/e,0>o?[o,0]:[0,o];var l=n*n,c=4*e*i,f=t(l,-c,r.EPSILON14);if(0>f)return[];var m=-.5*t(n,r.sign(n)*Math.sqrt(f),r.EPSILON14);return n>0?[m/e,i/m]:[i/m,m/e]},n}),define("Core/CubicRealPolynomial",["./DeveloperError","./QuadraticRealPolynomial"],function(e,r){"use strict";function t(e,r,t,n){var i,o,a=e,s=r/3,u=t/3,l=n,c=a*u,f=s*l,m=s*s,y=u*u,h=a*u-m,p=a*l-s*u,d=s*l-y,v=4*h*d-p*p;if(0>v){var g,E,C;m*f>=c*y?(g=a,E=h,C=-2*s*h+a*p):(g=l,E=d,C=-l*p+2*u*d);var S=0>C?-1:1,w=-S*Math.abs(g)*Math.sqrt(-v);o=-C+w;var x=o/2,A=0>x?-Math.pow(-x,1/3):Math.pow(x,1/3),M=o===w?-A:-E/A;return i=0>=E?A+M:-C/(A*A+M*M+E),m*f>=c*y?[(i-s)/a]:[-l/(i+u)]}var b=h,T=-2*s*h+a*p,I=d,O=-l*p+2*u*d,N=Math.sqrt(v),R=Math.sqrt(3)/2,z=Math.abs(Math.atan2(a*N,-T)/3);i=2*Math.sqrt(-b);var L=Math.cos(z);o=i*L;var F=i*(-L/2-R*Math.sin(z)),P=o+F>2*s?o-s:F-s,D=a,B=P/D;z=Math.abs(Math.atan2(l*N,-O)/3),i=2*Math.sqrt(-I),L=Math.cos(z),o=i*L,F=i*(-L/2-R*Math.sin(z));var _=-l,U=2*u>o+F?o+u:F+u,G=_/U,q=D*U,Y=-P*U-D*_,W=P*_,V=(u*Y-s*W)/(-s*Y+u*q);return V>=B?G>=B?G>=V?[B,V,G]:[B,G,V]:[G,B,V]:G>=B?[V,B,G]:G>=V?[V,G,B]:[G,V,B]}var n={};return n.discriminant=function(e,r,t,n){var i=e*e,o=r*r,a=t*t,s=n*n,u=18*e*r*t*n+o*a-27*i*s-4*(e*a*t+o*r*n);return u},n.realRoots=function(e,n,i,o){var a,s;if(0===e)return r.realRoots(n,i,o);if(0===n){if(0===i){if(0===o)return[0,0,0];s=-o/e;var u=0>s?-Math.pow(-s,1/3):Math.pow(s,1/3);return[u,u,u]}return 0===o?(a=r.realRoots(e,0,i),0===a.Length?[0]:[a[0],0,a[1]]):t(e,0,i,o)}return 0===i?0===o?(s=-n/e,0>s?[s,0,0]:[0,0,s]):t(e,n,0,o):0===o?(a=r.realRoots(e,n,i),0===a.length?[0]:a[1]<=0?[a[0],a[1],0]:a[0]>=0?[0,a[0],a[1]]:[a[0],0,a[1]]):t(e,n,i,o)},n}),define("Core/QuarticRealPolynomial",["./DeveloperError","./Math","./CubicRealPolynomial","./QuadraticRealPolynomial"],function(e,r,t,n){"use strict";function i(e,i,o,a){var s=e*e,u=i-3*s/8,l=o-i*e/2+s*e/8,c=a-o*e/4+i*s/16-3*s*s/256,f=t.realRoots(1,2*u,u*u-4*c,-l*l);if(f.length>0){var m=-e/4,y=f[f.length-1];if(Math.abs(y)=0&&v>=0){var g=Math.sqrt(d),E=Math.sqrt(v);return[m-E,m-g,m+g,m+E]}if(d>=0&&0>v)return p=Math.sqrt(d),[m-p,m+p];if(0>d&&v>=0)return p=Math.sqrt(v),[m-p,m+p]}return[]}if(y>0){var C=Math.sqrt(y),S=(u+y-l/C)/2,w=(u+y+l/C)/2,x=n.realRoots(1,C,S),A=n.realRoots(1,-C,w);return 0!==x.length?(x[0]+=m,x[1]+=m,0!==A.length?(A[0]+=m,A[1]+=m,x[1]<=A[0]?[x[0],x[1],A[0],A[1]]:A[1]<=x[0]?[A[0],A[1],x[0],x[1]]:x[0]>=A[0]&&x[1]<=A[1]?[A[0],x[0],x[1],A[1]]:A[0]>=x[0]&&A[1]<=x[1]?[x[0],A[0],A[1],x[1]]:x[0]>A[0]&&x[0]0){var h,p,d=y[0],v=i-d,g=v*v,E=e/2,C=v/2,S=g-4*a,w=g+4*Math.abs(a),x=l-4*d,A=l+4*Math.abs(d);if(0>d||x*w>S*A){var M=Math.sqrt(x);h=M/2,p=0===M?0:(e*C-o)/M}else{var b=Math.sqrt(S);h=0===b?0:(e*C-o)/b,p=b/2}var T,I;0===E&&0===h?(T=0,I=0):r.sign(E)===r.sign(h)?(T=E+h,I=d/T):(I=E-h,T=d/I);var O,N;0===C&&0===p?(O=0,N=0):r.sign(C)===r.sign(p)?(O=C+p,N=a/O):(N=C-p,O=a/N);var R=n.realRoots(1,T,O),z=n.realRoots(1,I,N);if(0!==R.length)return 0!==z.length?R[1]<=z[0]?[R[0],R[1],z[0],z[1]]:z[1]<=R[0]?[z[0],z[1],R[0],R[1]]:R[0]>=z[0]&&R[1]<=z[1]?[z[0],R[0],R[1],z[1]]:z[0]>=R[0]&&z[1]<=R[1]?[R[0],z[0],z[1],R[1]]:R[0]>z[0]&&R[0]l?1:0;switch(y+=0>c?y+1:y,y+=0>f?y+1:y,y+=0>m?y+1:y){case 0:return i(l,c,f,m);case 1:return o(l,c,f,m);case 2:return o(l,c,f,m);case 3:return i(l,c,f,m);case 4:return i(l,c,f,m);case 5:return o(l,c,f,m);case 6:return i(l,c,f,m);case 7:return i(l,c,f,m);case 8:return o(l,c,f,m);case 9:return i(l,c,f,m);case 10:return i(l,c,f,m);case 11:return o(l,c,f,m);case 12:return i(l,c,f,m);case 13:return i(l,c,f,m);case 14:return i(l,c,f,m);case 15:return i(l,c,f,m);default:return void 0}},a}),define("Core/IntersectionTests",["./defined","./DeveloperError","./Math","./Cartesian3","./Cartographic","./Matrix3","./QuadraticRealPolynomial","./QuarticRealPolynomial"],function(e,r,t,n,i,o,a,s){"use strict";function u(e,r,n){var i=e+r;return t.sign(e)!==t.sign(r)&&Math.abs(i/Math.max(Math.abs(e),Math.abs(r)))F;++F){var P,D=f[F],B=D*D,_=Math.max(1-B,0),U=Math.sqrt(_);P=t.sign(h)===t.sign(d)?u(h*B+d,p*D,t.EPSILON12):t.sign(d)===t.sign(p*D)?u(h*B,p*D+d,t.EPSILON12):u(h*B+p*D,d,t.EPSILON12);var G=u(v*D,g,t.EPSILON15),q=P*G;0>q?E.push(new n(l,c*D,c*U)):q>0?E.push(new n(l,c*D,c*-U)):0!==U?(E.push(new n(l,c*D,c*-U)),E.push(new n(l,c*D,c*U)),++F):E.push(new n(l,c*D,c*U))}return E}var c={};c.rayPlane=function(e,r,i){var o=e.origin,a=e.direction,s=r.normal,u=n.dot(s,a);if(Math.abs(u)l?void 0:(i=n.multiplyByScalar(a,l,i),n.add(o,i,i))};var f=new n,m=new n;c.rayEllipsoid=function(e,r){var t,i,o,a,s,u=r.oneOverRadii,l=n.multiplyComponents(u,e.origin,f),c=n.multiplyComponents(u,e.direction,m),y=n.magnitudeSquared(l),h=n.dot(l,c);if(y>1){if(h>=0)return void 0;var p=h*h;if(t=y-1,i=n.magnitudeSquared(c),o=i*t,o>p)return void 0;if(p>o){a=h*h-o,s=-h+Math.sqrt(a);var d=s/i,v=t/s;return v>d?{start:d,stop:v}:{start:v,stop:d}}var g=Math.sqrt(t/i);return{start:g,stop:g}}return 1>y?(t=y-1,i=n.magnitudeSquared(c),o=i*t,a=h*h-o,s=-h+Math.sqrt(a),{start:0,stop:s/i}):0>h?(i=n.magnitudeSquared(c),{start:0,stop:-h/i}):void 0},c.grazingAltitudeLocation=function(r,a){var s=r.origin,u=r.direction,c=a.geodeticSurfaceNormal(s);if(n.dot(u,c)>=0)return s;var f,m,y=e(this.rayEllipsoid(r,a)),h=a.transformPositionToScaledSpace(u),p=n.normalize(h),d=n.mostOrthogonalAxis(h),v=n.normalize(n.cross(d,p)),g=n.normalize(n.cross(p,v)),E=new o(p.x,v.x,g.x,p.y,v.y,g.y,p.z,v.z,g.z),C=o.transpose(E),S=o.fromScale(a.radii),w=o.fromScale(a.oneOverRadii),x=new o(0,u.z,-u.y,-u.z,0,u.x,u.y,-u.x,0),A=o.multiply(o.multiply(C,w),x),M=o.multiply(o.multiply(A,S),E),b=o.multiplyByVector(A,s),T=l(M,n.negate(b),0,0,1),I=T.length;if(I>0){for(var O=n.ZERO,N=Number.NEGATIVE_INFINITY,R=0;I>R;++R){f=o.multiplyByVector(S,o.multiplyByVector(E,T[R]));var z=n.normalize(n.subtract(f,s)),L=n.dot(z,u);L>N&&(N=L,O=f)}var F=a.cartesianToCartographic(O);return N=t.clamp(N,0,1),m=n.magnitude(n.subtract(O,s))*Math.sqrt(1-N*N),m=y?-m:m,a.cartographicToCartesian(new i(F.longitude,F.latitude,m))}return void 0};var y=new n;return c.lineSegmentPlane=function(r,i,o,a){var s=n.subtract(i,r,y),u=o.normal,l=n.dot(u,s);if(Math.abs(l)f||f>1?void 0:(e(a)||(a=new n),n.multiplyByScalar(s,f,a),n.add(r,a,a),a)},c.trianglePlaneIntersection=function(e,r,t,i){var o=i.normal,a=i.distance,s=n.dot(o,e)+a<0,u=n.dot(o,r)+a<0,l=n.dot(o,t)+a<0,f=0;f+=s?1:0,f+=u?1:0,f+=l?1:0;var m,y;if((1===f||2===f)&&(m=new n,y=new n),1===f){if(s)return c.lineSegmentPlane(e,r,i,m),c.lineSegmentPlane(e,t,i,y),{positions:[e,r,t,m,y],indices:[0,3,4,1,2,4,1,4,3]};if(u)return c.lineSegmentPlane(r,t,i,m),c.lineSegmentPlane(r,e,i,y),{positions:[e,r,t,m,y],indices:[1,3,4,2,0,4,2,4,3]};if(l)return c.lineSegmentPlane(t,e,i,m),c.lineSegmentPlane(t,r,i,y),{positions:[e,r,t,m,y],indices:[2,3,4,0,1,4,0,4,3]}}else if(2===f){if(!s)return c.lineSegmentPlane(r,e,i,m),c.lineSegmentPlane(t,e,i,y),{positions:[e,r,t,m,y],indices:[1,2,4,1,4,3,0,3,4]};if(!u)return c.lineSegmentPlane(t,r,i,m),c.lineSegmentPlane(e,r,i,y),{positions:[e,r,t,m,y],indices:[2,0,4,2,4,3,1,3,4]};if(!l)return c.lineSegmentPlane(e,t,i,m),c.lineSegmentPlane(r,t,i,y),{positions:[e,r,t,m,y],indices:[0,1,4,0,4,3,2,3,4]}}return void 0},c}),define("Core/Plane",["./Cartesian3","./defined","./DeveloperError"],function(e,r){"use strict";var t=function(r,t){this.normal=e.clone(r),this.distance=t};return t.fromPointNormal=function(n,i,o){var a=-e.dot(i,n);return r(o)?(e.clone(i,o.normal),o.distance=a,o):new t(i,a)},t.getPointDistance=function(r,t){return e.dot(r.normal,t)+r.distance},t.prototype.getPointDistance=function(e){return t.getPointDistance(this,e)},t}),define("Core/Tipsify",["./defaultValue","./defined","./DeveloperError"],function(e,r){"use strict";var t={};return t.calculateACMR=function(t){t=e(t,e.EMPTY_OBJECT);var n=t.indices,i=t.maximumIndex,o=e(t.cacheSize,24),a=n.length;if(!r(i)){i=0;for(var s=0,u=n[s];a>s;)u>i&&(i=u),++s,u=n[s]}for(var l=[],c=0;i+1>c;c++)l[c]=0;for(var f=o+1,m=0;a>m;++m)f-l[n[m]]>o&&(l[n[m]]=f,++f);return(f-o+1)/(a/3)},t.tipsify=function(t){function n(e,r,t,n){for(;r.length>=1;){var i=r[r.length-1];if(r.splice(r.length-1,1),e[i].numLiveTriangles>0)return i}for(;n>o;){if(e[o].numLiveTriangles>0)return++o,o-1;++o}return-1}function i(e,r,t,i,o,a,s){for(var u,l=-1,c=-1,f=0;fc||-1===c)&&(c=u,l=m)),++f}return-1===l?n(i,a,e,s):l}t=e(t,e.EMPTY_OBJECT);var o,a=t.indices,s=t.maximumIndex,u=e(t.cacheSize,24),l=a.length,c=0,f=0,m=a[f],y=l;if(r(s))c=s+1;else{for(;y>f;)m>c&&(c=m),++f,m=a[f];if(-1===c)return 0;++c}for(var h=[],p=0;c>p;p++)h[p]={numLiveTriangles:0,timeStamp:0,vertexTriangles:[]};f=0;for(var d=0;y>f;)h[a[f]].vertexTriangles.push(d),++h[a[f]].numLiveTriangles,h[a[f+1]].vertexTriangles.push(d),++h[a[f+1]].numLiveTriangles,h[a[f+2]].vertexTriangles.push(d),++h[a[f+2]].numLiveTriangles,++d,f+=3;var v=0,g=u+1;o=1;var E,C,S=[],w=[],x=0,A=[],M=l/3,b=[];for(p=0;M>p;p++)b[p]=!1;for(var T,I;-1!==v;){S=[],C=h[v],I=C.vertexTriangles.length;for(var O=0;I>O;++O)if(d=C.vertexTriangles[O],!b[d]){b[d]=!0,f=d+d+d;for(var N=0;3>N;++N)T=a[f],S.push(T),w.push(T),A[x]=T,++x,E=h[T],--E.numLiveTriangles,g-E.timeStamp>u&&(E.timeStamp=g,++g),++f}v=i(a,u,S,h,g,w,c)}return A},t}),define("Core/GeometryPipeline",["./barycentricCoordinates","./defaultValue","./defined","./DeveloperError","./Cartesian2","./Cartesian3","./Cartesian4","./Cartographic","./EncodedCartesian3","./Intersect","./IntersectionTests","./Math","./Matrix3","./Matrix4","./Plane","./GeographicProjection","./ComponentDatatype","./IndexDatatype","./PrimitiveType","./Tipsify","./BoundingSphere","./Geometry","./GeometryAttribute"],function(e,r,t,n,i,o,a,s,u,l,c,f,m,y,h,p,d,v,g,E,C,S,w){"use strict";function x(e,r,t,n,i){e[r++]=t,e[r++]=n,e[r++]=n,e[r++]=i,e[r++]=i,e[r]=t}function A(e){for(var r=e.length,t=6*(r/3),n=v.createTypedArray(r,t),i=0,o=0;r>o;o+=3,i+=6)x(n,i,e[o],e[o+1],e[o+2]);return n}function M(e){var r=e.length;if(r>=3){var t=6*(r-2),n=v.createTypedArray(r,t);x(n,0,e[0],e[1],e[2]);for(var i=6,o=3;r>o;++o,i+=6)x(n,i,e[o-1],e[o],e[o-2]);return n}return new Uint16Array}function b(e){if(e.length>0){for(var r=e.length-1,t=6*(r-1),n=v.createTypedArray(r,t),i=e[0],o=0,a=1;r>a;++a,o+=6)x(n,o,i,e[a],e[a+1]);return n}return new Uint16Array}function T(e){var r={};for(var n in e)if(e.hasOwnProperty(n)&&t(e[n])&&t(e[n].values)){var i=e[n];r[n]=new w({componentDatatype:i.componentDatatype,componentsPerAttribute:i.componentsPerAttribute,normalize:i.normalize,values:[]})}return r}function I(e,r,n){for(var i in r)if(r.hasOwnProperty(i)&&t(r[i])&&t(r[i].values))for(var o=r[i],a=0;aa;a+=3)o.unpack(n,a,Z),y.multiplyByPoint(e,Z,Z),o.pack(Z,n,a)}function N(e,r){if(t(r))for(var n=r.values,i=n.length,a=0;i>a;a+=3)o.unpack(n,a,Z),m.multiplyByVector(e,Z,Z),Z=o.normalize(Z,Z),o.pack(Z,n,a)}function R(e){var r,n=e.length,i={},o=e[0].geometry.attributes;for(r in o)if(o.hasOwnProperty(r)&&t(o[r])&&t(o[r].values)){for(var a=o[r],s=a.values.length,u=!0,l=1;n>l;++l){var c=e[l].geometry.attributes[r];if(!t(c)||a.componentDatatype.value!==c.componentDatatype.value||a.componentsPerAttribute!==c.componentsPerAttribute||a.normalize!==c.normalize){u=!1;break}s+=c.values.length}u&&(i[r]=new w({componentDatatype:a.componentDatatype,componentsPerAttribute:a.componentsPerAttribute,normalize:a.normalize,values:d.createTypedArray(a.componentDatatype,s)}))}return i}function z(e){if(t(e.indices))return e;for(var r=S.computeNumberOfVertices(e),n=v.createTypedArray(r,r),i=0;r>i;++i)n[i]=i;return e.indices=n,e}function L(e){var r=S.computeNumberOfVertices(e),t=v.createTypedArray(r,3*(r-2));t[0]=1,t[1]=0,t[2]=2;for(var n=3,i=3;r>i;++i)t[n++]=i-1,t[n++]=0,t[n++]=i;return e.indices=t,e.primitiveType=g.TRIANGLES,e}function F(e){var r=S.computeNumberOfVertices(e),t=v.createTypedArray(r,3*(r-2));t[0]=0,t[1]=1,t[2]=2,r>3&&(t[3]=0,t[4]=2,t[5]=3);for(var n=6,i=3;r-1>i;i+=2)t[n++]=i,t[n++]=i-1,t[n++]=i+1,r>i+2&&(t[n++]=i,t[n++]=i+1,t[n++]=i+2);return e.indices=t,e.primitiveType=g.TRIANGLES,e}function P(e){if(t(e.indices))return e;for(var r=S.computeNumberOfVertices(e),n=v.createTypedArray(r,r),i=0;r>i;++i)n[i]=i;return e.indices=n,e}function D(e){var r=S.computeNumberOfVertices(e),t=v.createTypedArray(r,2*(r-1));t[0]=0,t[1]=1;for(var n=2,i=2;r>i;++i)t[n++]=i-1,t[n++]=i;return e.indices=t,e.primitiveType=g.LINES,e}function B(e){var r=S.computeNumberOfVertices(e),t=v.createTypedArray(r,2*r);t[0]=0,t[1]=1;for(var n=2,i=2;r>i;++i)t[n++]=i-1,t[n++]=i;return t[n++]=r-1,t[n]=0,e.indices=t,e.primitiveType=g.LINES,e}function _(e){switch(e.primitiveType){case g.TRIANGLE_FAN:return L(e);case g.TRIANGLE_STRIP:return F(e);case g.TRIANGLES:return z(e);case g.LINE_STRIP:return D(e);case g.LINE_LOOP:return B(e);case g.LINES:return P(e)}return e}function U(e,r){Math.abs(e.y)=0||r.x>=0||t.x>=0)return void 0;var n=e.y<0,i=r.y<0,o=t.y<0;U(e,n),U(r,i),U(t,o);var a=0;a+=n?1:0,a+=i?1:0,a+=o?1:0;var s=cr.indices;1===a?(s[1]=3,s[2]=4,s[5]=6,s[7]=6,s[8]=5,n?(G(e,r,ar,ur),G(e,t,sr,lr),s[0]=0,s[3]=1,s[4]=2,s[6]=1):i?(G(r,t,ar,ur),G(r,e,sr,lr),s[0]=1,s[3]=2,s[4]=0,s[6]=2):o&&(G(t,e,ar,ur),G(t,r,sr,lr),s[0]=2,s[3]=0,s[4]=1,s[6]=0)):2===a&&(s[2]=4,s[4]=4,s[5]=3,s[7]=5,s[8]=6,n?i?o||(G(t,e,ar,ur),G(t,r,sr,lr),s[0]=0,s[1]=1,s[3]=0,s[6]=2):(G(r,t,ar,ur),G(r,e,sr,lr),s[0]=2,s[1]=0,s[3]=2,s[6]=1):(G(e,r,ar,ur),G(e,t,sr,lr),s[0]=1,s[1]=2,s[3]=1,s[6]=0));var u=cr.positions;return u[0]=e,u[1]=r,u[2]=t,cr.length=3,(1===a||2===a)&&(u[3]=ar,u[4]=sr,u[5]=ur,u[6]=lr,cr.length=7),cr}function Y(r,n,a,s,u,l,c,f){if(t(u)||t(l)||t(c)||t(f)){var m,y,h,p,d,v,g,E,C,S,w,x,A,M,b,T,I,O,N=s.positions,R=N[0],z=N[1],L=N[2];t(u)&&(m=o.fromArray(u,3*r),y=o.fromArray(u,3*n),h=o.fromArray(u,3*a)),t(l)&&(p=o.fromArray(l,3*r),d=o.fromArray(l,3*n),v=o.fromArray(l,3*a)),t(c)&&(g=o.fromArray(c,3*r),E=o.fromArray(c,3*n),C=o.fromArray(c,3*a)),t(f)&&(S=i.fromArray(f,2*r),w=i.fromArray(f,2*n),x=i.fromArray(f,2*a));for(var F=3;FE;E+=3){var C=l[E],w=l[E+1],x=l[E+2],A=o.fromArray(n,3*C),M=o.fromArray(n,3*w),b=o.fromArray(n,3*x),T=q(A,M,b);if(t(T))if(c[3*C+1]=T.positions[0].y,c[3*w+1]=T.positions[1].y,c[3*x+1]=T.positions[2].y,T.length>3){for(var I=c.length/3,O=0;ON?p.push(l[E+N]):p.push(N-3+I)}for(var R=3;Rm;m+=2){var y=i[m],p=i[m+1],d=o.fromArray(n,3*y),g=o.fromArray(n,3*p);if(Math.abs(d.y)c;c+=3)u[l++]=o[c],u[l++]=o[c+1],u[l++]=o[c+2],u[l++]=o[c]+a[c]*i,u[l++]=o[c+1]+a[c+1]*i,u[l++]=o[c+2]+a[c+2]*i;var f,m=e.boundingSphere;return t(m)&&(f=new C(m.center,m.radius+i)),new S({attributes:{position:new w({componentDatatype:d.DOUBLE,componentsPerAttribute:3,values:u})},primitiveType:g.LINES,boundingSphere:f})},H.createAttributeLocations=function(e){var r,n=["position","positionHigh","positionLow","position3DHigh","position3DLow","position2DHigh","position2DLow","pickColor","normal","st","binormal","tangent"],i=e.attributes,o={},a=0,s=n.length;for(r=0;s>r;++r){var u=n[r];t(i[u])&&(o[u]=a++)}for(var l in i)i.hasOwnProperty(l)&&!t(o[l])&&(o[l]=a++);return o},H.reorderForPreVertexCache=function(e){var r=S.computeNumberOfVertices(e),n=e.indices;if(t(n)){for(var i=new Int32Array(r),o=0;r>o;o++)i[o]=-1;for(var a,s=n,u=s.length,l=v.createTypedArray(r,u),c=0,f=0,m=0;u>c;)a=i[s[c]],-1!==a?l[f]=a:(a=s[c],i[a]=m,l[f]=m,++m),++c,++f;e.indices=l;var y=e.attributes;for(var h in y)if(y.hasOwnProperty(h)&&t(y[h])&&t(y[h].values)){for(var p=y[h],g=p.values,E=0,C=p.componentsPerAttribute,w=d.createTypedArray(p.componentDatatype,m*C);r>E;){var x=i[E];if(-1!==x)for(o=0;C>o;o++)w[C*x+o]=g[C*E+o];++E}p.values=w}}return e},H.reorderForPostVertexCache=function(e,r){var n=e.indices;if(e.primitiveType===g.TRIANGLES&&t(n)){for(var i=n.length,o=0,a=0;i>a;a++)n[a]>o&&(o=n[a]);e.indices=E.tipsify({indices:n,maximumIndex:o,cacheSize:r})}return e},H.fitToUnsignedShortIndices=function(e){var r=[],n=S.computeNumberOfVertices(e);if(t(e.indices)&&n>f.SIXTY_FOUR_KILOBYTES){var i,o=[],a=[],s=0,u=T(e.attributes),l=e.indices,c=l.length;e.primitiveType===g.TRIANGLES?i=3:e.primitiveType===g.LINES?i=2:e.primitiveType===g.POINTS&&(i=1);for(var m=0;c>m;m+=i){for(var y=0;i>y;++y){var h=l[m+y],p=o[h];t(p)||(p=s++,o[h]=p,I(u,e.attributes,h)),a.push(p)}s+i>f.SIXTY_FOUR_KILOBYTES&&(r.push(new S({attributes:u,indices:a,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere})),o=[],a=[],s=0,u=T(e.attributes))}0!==a.length&&r.push(new S({attributes:u,indices:a,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere}))}else r.push(e);return r};var k=new o,K=new s;H.projectTo2D=function(e,r,i,a,s){var u=e.attributes[r];s=t(s)?s:new p;for(var l=s.ellipsoid,c=u.values,f=new Float64Array(c.length),m=0,y=0;yc;++c)u.encode(o[c],j),s[c]=j.high,l[c]=j.low;var f=i.componentsPerAttribute;return e.attributes[t]=new w({componentDatatype:d.FLOAT,componentsPerAttribute:f,values:s}),e.attributes[n]=new w({componentDatatype:d.FLOAT,componentsPerAttribute:f,values:l}),delete e.attributes[r],e};var Z=new o,Q=new y,X=new m;H.transformToWorldCoordinates=function(e){var r=e.modelMatrix;if(y.equals(r,y.IDENTITY))return e;var n=e.geometry.attributes;O(r,n.position),O(r,n.prevPosition),O(r,n.nextPosition),(t(n.normal)||t(n.binormal)||t(n.tangent))&&(y.inverse(r,Q),y.transpose(Q,Q),y.getRotation(Q,X),N(X,n.normal),N(X,n.binormal),N(X,n.tangent));var i=e.geometry.boundingSphere;return t(i)&&(e.geometry.boundingSphere=C.transform(i,r,i)),e.modelMatrix=y.clone(y.IDENTITY),e},H.combine=function(e){var r,n,i,a,s=e.length;e[0].modelMatrix;var u,l,c,f=t(e[0].geometry.indices),m=e[0].geometry.primitiveType,y=R(e);for(r in y)if(y.hasOwnProperty(r))for(u=y[r].values,a=0,n=0;s>n;++n)for(l=e[n].geometry.attributes[r].values,c=l.length,i=0;c>i;++i)u[a++]=l[i];var h;if(f){var p=0;for(n=0;s>n;++n)p+=e[n].geometry.indices.length;var d=S.computeNumberOfVertices(new S({attributes:y,primitiveType:g.POINTS})),E=v.createTypedArray(d,p),w=0,x=0;for(n=0;s>n;++n){var A=e[n].geometry.indices,M=A.length;for(a=0;M>a;++a)E[w++]=x+A[a];x+=S.computeNumberOfVertices(e[n].geometry)}h=E}var b,T=new o,I=0;for(n=0;s>n;++n){if(b=e[n].geometry.boundingSphere,!t(b)){T=void 0;break}o.add(b.center,T,T)}if(t(T))for(o.divideByScalar(T,s,T),n=0;s>n;++n){b=e[n].geometry.boundingSphere;var O=o.magnitude(o.subtract(b.center,T))+b.radius;O>I&&(I=O)}return new S({attributes:y,indices:h,primitiveType:m,boundingSphere:t(T)?new C(T,I):void 0})};var J=new o,$=new o,er=new o,rr=new o;H.computeNormal=function(e){for(var r=e.indices,t=e.attributes,n=t.position.values,i=t.position.values.length/3,a=r.length,s=new Array(i),u=new Array(a/3),l=new Array(a),c=0;i>c;c++)s[c]={indexOffset:0,count:0,currentCount:0};var f=0;for(c=0;a>c;c+=3){var m=r[c],y=r[c+1],h=r[c+2],p=3*m,v=3*y,g=3*h;$.x=n[p],$.y=n[p+1],$.z=n[p+2],er.x=n[v],er.y=n[v+1],er.z=n[v+2],rr.x=n[g],rr.y=n[g+1],rr.z=n[g+2],s[m].count++,s[y].count++,s[h].count++,o.subtract(er,$,er),o.subtract(rr,$,rr),u[f]=o.cross(er,rr),f++}var E=0;for(c=0;i>c;c++)s[c].indexOffset+=E,E+=s[c].count;f=0;var C;for(c=0;a>c;c+=3){C=s[r[c]];var S=C.indexOffset+C.currentCount;l[S]=f,C.currentCount++,C=s[r[c+1]],S=C.indexOffset+C.currentCount,l[S]=f,C.currentCount++,C=s[r[c+2]],S=C.indexOffset+C.currentCount,l[S]=f,C.currentCount++,f++}var x=new Float32Array(3*i);for(c=0;i>c;c++){var A=3*c;if(C=s[c],C.count>0){for(o.clone(o.ZERO,J),f=0;fl;l+=3){var y=r[l],h=r[l+1],p=r[l+2];c=3*y,f=3*h,m=3*p;var v=2*y,g=2*h,E=2*p,C=t[c],S=t[c+1],x=t[c+2],A=i[v],M=i[v+1],b=i[g+1]-M,T=i[E+1]-M,I=1/((i[g]-A)*T-(i[E]-A)*b),O=(T*(t[f]-C)-b*(t[m]-C))*I,N=(T*(t[f+1]-S)-b*(t[m+1]-S))*I,R=(T*(t[f+2]-x)-b*(t[m+2]-x))*I;u[c]+=O,u[c+1]+=N,u[c+2]+=R,u[f]+=O,u[f+1]+=N,u[f+2]+=R,u[m]+=O,u[m+1]+=N,u[m+2]+=R}var z=new Float32Array(3*a),L=new Float32Array(3*a);for(l=0;a>l;l++){c=3*l,f=c+1,m=c+2;var F=o.fromArray(n,c,tr),P=o.fromArray(u,c,ir),D=o.dot(F,P);o.multiplyByScalar(F,D,nr),o.normalize(o.subtract(P,nr,P),P),L[c]=P.x,L[f]=P.y,L[m]=P.z,o.normalize(o.cross(F,P,P),P),z[c]=P.x,z[f]=P.y,z[m]=P.z}return e.attributes.tangent=new w({componentDatatype:d.FLOAT,componentsPerAttribute:3,values:L}),e.attributes.binormal=new w({componentDatatype:d.FLOAT,componentsPerAttribute:3,values:z}),e};var or=new o,ar=new o,sr=new o,ur=new o,lr=new o,cr={positions:new Array(7),indices:new Array(9)};return H.wrapLongitude=function(e){var r=e.boundingSphere;if(t(r)){var n=r.center.x-r.radius;if(n>0||C.intersect(r,a.UNIT_Y)!==l.INTERSECTING)return e}return _(e),e.primitiveType===g.TRIANGLES?W(e):e.primitiveType===g.LINES&&V(e),e},H}),define("Scene/PrimitivePipeline",["../Core/defined","../Core/defaultValue","../Core/Color","../Core/ComponentDatatype","../Core/DeveloperError","../Core/FeatureDetection","../Core/Geometry","../Core/GeometryAttribute","../Core/GeometryPipeline","../Core/Matrix4"],function(e,r,t,n,i,o,a,s,u,l){"use strict";function c(e,r,t){var n,i=!t,o=e.length;if(!i&&o>1){var a=e[0].modelMatrix;for(n=1;o>n;++n)if(!l.equals(a,e[n].modelMatrix)){i=!0;break}}if(i)for(n=0;o>n;++n)u.transformToWorldCoordinates(e[n]);else l.clone(e[0].modelMatrix,r)}function f(e,r){for(var i=e.length,o=0;i>o;++o){var a=e[o],u=a.geometry,l=u.attributes,c=l.position,f=4*(c.values.length/c.componentsPerAttribute);l.pickColor=new s({componentDatatype:n.UNSIGNED_BYTE,componentsPerAttribute:4,normalize:!0,values:new Uint8Array(f)});for(var m=r[o],y=t.floatToByte(m.red),h=t.floatToByte(m.green),p=t.floatToByte(m.blue),d=t.floatToByte(m.alpha),v=l.pickColor.values,g=0;f>g;g+=4)v[g]=y,v[g+1]=h,v[g+2]=p,v[g+3]=d}}function m(r){var t,n=r.length,i=[],o=r[0].attributes;for(t in o)if(o.hasOwnProperty(t)){for(var a=o[t],s=!0,u=1;n>u;++u){var l=r[u].attributes[t]; +if(!e(l)||a.componentDatatype.value!==l.componentDatatype.value||a.componentsPerAttribute!==l.componentsPerAttribute||a.normalize!==l.normalize){s=!1;break}}s&&i.push(t)}return i}function y(e,r){for(var t=e.length,i=0;t>i;++i)for(var o=e[i],u=o.attributes,l=o.geometry,c=a.computeNumberOfVertices(l),f=r.length,m=0;f>m;++m){for(var y=r[m],h=u[y],p=h.componentDatatype,d=h.value,v=d.length,g=n.createTypedArray(p,c*v),E=0;c>E;++E)g.set(d,E*v);l.attributes[y]=new s({componentDatatype:p,componentsPerAttribute:v,normalize:h.normalize,values:g})}}function h(e){var r,t=e.instances,i=e.pickIds,o=e.projection,a=e.elementIndexUintSupported,s=e.allow3DOnly,l=e.allowPicking,h=e.vertexCacheOptimize,p=e.modelMatrix,d=t.length;if(t[0].geometry.primitiveType,c(t,p,s),!s)for(r=0;d>r;++r)u.wrapLongitude(t[r].geometry);l&&f(t,i);var v=m(t);if(y(t,v),h)for(r=0;d>r;++r)u.reorderForPostVertexCache(t[r].geometry),u.reorderForPreVertexCache(t[r].geometry);var g,E=u.combine(t),C=E.attributes;if(s)for(g in C)C.hasOwnProperty(g)&&C[g].componentDatatype.value===n.DOUBLE.value&&u.encodeAttribute(E,g,g+"3DHigh",g+"3DLow");else for(g in C)if(C.hasOwnProperty(g)&&C[g].componentDatatype.value===n.DOUBLE.value){var S=g+"3D",w=g+"2D";u.projectTo2D(E,g,S,w,o),u.encodeAttribute(E,S,S+"High",S+"Low"),u.encodeAttribute(E,w,w+"High",w+"Low")}return a?[E]:u.fitToUnsignedShortIndices(E)}function p(e,r,t){for(var i=[],o=e.attributes,a=t.length,s=0;a>s;++s){var u=t[s],l=o[u],c=l.componentDatatype;c.value===n.DOUBLE.value&&(c=n.FLOAT);var f=n.createTypedArray(c,l.values);i.push({index:r[u],componentDatatype:c,componentsPerAttribute:l.componentsPerAttribute,normalize:l.normalize,values:f}),delete o[u]}return i}function d(t,n,i){for(var o=[],s=m(t),u=t.length,l={},c={},f=0;u>f;++f)for(var y=t[f],h=a.computeNumberOfVertices(y.geometry),p=s.length,d=0;p>d;++d)for(var v=s[d],g=i[v],E=h;E>0;){for(var C,S=r(c[v],0),w=n[S],x=w.length,A=0;x>A&&(C=w[A],C.index!==g);++A);e(o[f])||(o[f]={}),e(o[f][v])||(o[f][v]={dirty:!1,value:y.attributes[v].value,indices:[]});var M,b=C.values.length/C.componentsPerAttribute,T=r(l[v],0);b>T+E?(M=E,o[f][v].indices.push({attribute:C,offset:T,count:M}),l[v]=T+E):(M=b-T,o[f][v].indices.push({attribute:C,offset:T,count:M}),l[v]=0,c[v]=S+1),E-=M}return o}function v(r){return e(r.constructor.name)?{type:r.constructor.name,buffer:r.buffer}:r}function g(r){return e(r.type)?new C[r.type](r.buffer):r}if(!o.supportsTypedArrays())return{};var E={};E.combineGeometry=function(e){for(var r={instances:e.instances,pickIds:e.pickIds,ellipsoid:e.ellipsoid,projection:e.projection,elementIndexUintSupported:e.elementIndexUintSupported,allow3DOnly:e.allow3DOnly,allowPicking:e.allowPicking,vertexCacheOptimize:e.vertexCacheOptimize,modelMatrix:l.clone(e.modelMatrix)},t=h(r),n=u.createAttributeLocations(t[0]),i=r.instances,o=m(i),a=[],s=t.length,c=0;s>c;++c){var f=t[c];a.push(p(f,n,o))}var y=d(i,a,n);return{geometries:t,modelMatrix:r.modelMatrix,attributeLocations:n,vaAttributes:a,vaAttributeLocations:y}};var C={Int8Array:Int8Array,Uint8Array:Uint8Array,Int16Array:Int16Array,Uint16Array:Uint16Array,Int32Array:Int32Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array};return E.transferGeometry=function(r,t){var n,i=r.attributes;for(var a in i)i.hasOwnProperty(a)&&e(i[a])&&e(i[a].values)&&(n=i[a].values,o.supportsTransferringArrayBuffers()&&t.indexOf(i[a].values.buffer)<0&&t.push(n.buffer),e(n.type)||(i[a].values=v(n)));e(r.indices)&&(n=r.indices,o.supportsTransferringArrayBuffers()&&t.push(n.buffer),e(n.type)||(r.indices=v(r.indices)))},E.transferGeometries=function(e,r){for(var t=e.length,n=0;t>n;++n)E.transferGeometry(e[n],r)},E.transferPerInstanceAttributes=function(e,r){for(var t=e.length,n=0;t>n;++n)for(var i=e[n],a=i.length,s=0;a>s;++s){var u=i[s].values;o.supportsTransferringArrayBuffers()&&r.push(u.buffer),i[s].values=v(u)}},E.transferInstances=function(e,r){for(var t=e.length,n=0;t>n;++n){var i=e[n];E.transferGeometry(i.geometry,r)}},E.receiveGeometry=function(r){var t=r.attributes;for(var n in t)t.hasOwnProperty(n)&&e(t[n])&&e(t[n].values)&&(t[n].values=g(t[n].values));e(r.indices)&&(r.indices=g(r.indices))},E.receiveGeometries=function(e){for(var r=e.length,t=0;r>t;++t)E.receiveGeometry(e[t])},E.receivePerInstanceAttributes=function(e){for(var r=e.length,t=0;r>t;++t)for(var n=e[t],i=n.length,o=0;i>o;++o)n[o].values=g(n[o].values)},E.receiveInstances=function(e){for(var r=e.length,t=0;r>t;++t){var n=e[t];E.receiveGeometry(n.geometry)}},E}),define("Workers/createTaskProcessorWorker",["../Core/defaultValue","../Core/defined"],function(e,r){"use strict";var t=function(t){var n,i=[],o={id:void 0,result:void 0,error:void 0};return function(a){var s=a.data;i.length=0,o.id=s.id,o.error=void 0,o.result=void 0;try{o.result=t(s.parameters,i)}catch(u){o.error=u}r(n)||(n=e(self.webkitPostMessage,self.postMessage));try{n(o,i)}catch(u){o.result=void 0,o.error="postMessage failed with error: "+u+"\n with responseMessage: "+JSON.stringify(o),n(o)}}};return t}),define("Workers/createSphereOutlineGeometry",["../Core/SphereOutlineGeometry","../Scene/PrimitivePipeline","./createTaskProcessorWorker"],function(e,r,t){"use strict";function n(t,n){var i=t.geometry,o=e.createGeometry(i);return r.transferGeometry(o,n),{geometry:o,index:t.index}}return t(n)})}(); \ No newline at end of file diff --git a/Cesium/Workers/createVerticesFromHeightmap.js b/Cesium/Workers/createVerticesFromHeightmap.js new file mode 100644 index 0000000..b15bd32 --- /dev/null +++ b/Cesium/Workers/createVerticesFromHeightmap.js @@ -0,0 +1,59 @@ +/** + * Cesium - https://github.com/AnalyticalGraphicsInc/cesium + * + * Copyright 2011-2014 Cesium Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Columbus View (Pat. Pend.) + * + * Portions licensed separately. + * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details. + */ +/** +@license +mersenne-twister.js - https://gist.github.com/banksean/300494 + + Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura, + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. The names of its contributors may not be used to endorse or promote + products derived from this software without specific prior written + permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +!function(){define("Core/defined",[],function(){"use strict";var t=function(t){return void 0!==t};return t}),define("Core/freezeObject",["./defined"],function(t){"use strict";var e=Object.freeze;return t(e)||(e=function(t){return t}),e}),define("Core/defaultValue",["./freezeObject"],function(t){"use strict";var e=function(t,e){return void 0!==t?t:e};return e.EMPTY_OBJECT=t({}),e}),define("Core/DeveloperError",["./defined"],function(t){"use strict";var e=function(t){this.name="DeveloperError",this.message=t;var e;try{throw new Error}catch(n){e=n.stack}this.stack=e};return e.prototype.toString=function(){var e=this.name+": "+this.message;return t(this.stack)&&(e+="\n"+this.stack.toString()),e},e.throwInstantiationError=function(){throw new e("This function defines an interface and should not be called directly.")},e}),define("Core/Cartesian3",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(t,e,n,r){"use strict";var i=function(e,n,r){this.x=t(e,0),this.y=t(n,0),this.z=t(r,0)};i.fromSpherical=function(n,r){e(r)||(r=new i);var a=n.clock,o=n.cone,u=t(n.magnitude,1),s=u*Math.sin(o);return r.x=s*Math.cos(a),r.y=s*Math.sin(a),r.z=u*Math.cos(o),r},i.fromElements=function(t,n,r,a){return e(a)?(a.x=t,a.y=n,a.z=r,a):new i(t,n,r)},i.clone=function(t,n){return e(t)?e(n)?(n.x=t.x,n.y=t.y,n.z=t.z,n):new i(t.x,t.y,t.z):void 0},i.fromCartesian4=i.clone,i.packedLength=3,i.pack=function(e,n,r){r=t(r,0),n[r++]=e.x,n[r++]=e.y,n[r]=e.z},i.unpack=function(n,r,a){return r=t(r,0),e(a)||(a=new i),a.x=n[r++],a.y=n[r++],a.z=n[r],a},i.fromArray=i.unpack,i.getMaximumComponent=function(t){return Math.max(t.x,t.y,t.z)},i.getMinimumComponent=function(t){return Math.min(t.x,t.y,t.z)},i.getMinimumByComponent=function(t,n,r){return e(r)||(r=new i),r.x=Math.min(t.x,n.x),r.y=Math.min(t.y,n.y),r.z=Math.min(t.z,n.z),r},i.getMaximumByComponent=function(t,n,r){return e(r)||(r=new i),r.x=Math.max(t.x,n.x),r.y=Math.max(t.y,n.y),r.z=Math.max(t.z,n.z),r},i.magnitudeSquared=function(t){return t.x*t.x+t.y*t.y+t.z*t.z},i.magnitude=function(t){return Math.sqrt(i.magnitudeSquared(t))};var a=new i;i.distance=function(t,e){return i.subtract(t,e,a),i.magnitude(a)},i.normalize=function(t,n){var r=i.magnitude(t);return e(n)?(n.x=t.x/r,n.y=t.y/r,n.z=t.z/r,n):new i(t.x/r,t.y/r,t.z/r)},i.dot=function(t,e){return t.x*e.x+t.y*e.y+t.z*e.z},i.multiplyComponents=function(t,n,r){return e(r)?(r.x=t.x*n.x,r.y=t.y*n.y,r.z=t.z*n.z,r):new i(t.x*n.x,t.y*n.y,t.z*n.z)},i.add=function(t,n,r){return e(r)?(r.x=t.x+n.x,r.y=t.y+n.y,r.z=t.z+n.z,r):new i(t.x+n.x,t.y+n.y,t.z+n.z)},i.subtract=function(t,n,r){return e(r)?(r.x=t.x-n.x,r.y=t.y-n.y,r.z=t.z-n.z,r):new i(t.x-n.x,t.y-n.y,t.z-n.z)},i.multiplyByScalar=function(t,n,r){return e(r)?(r.x=t.x*n,r.y=t.y*n,r.z=t.z*n,r):new i(t.x*n,t.y*n,t.z*n)},i.divideByScalar=function(t,n,r){return e(r)?(r.x=t.x/n,r.y=t.y/n,r.z=t.z/n,r):new i(t.x/n,t.y/n,t.z/n)},i.negate=function(t,n){return e(n)?(n.x=-t.x,n.y=-t.y,n.z=-t.z,n):new i(-t.x,-t.y,-t.z)},i.abs=function(t,n){return e(n)?(n.x=Math.abs(t.x),n.y=Math.abs(t.y),n.z=Math.abs(t.z),n):new i(Math.abs(t.x),Math.abs(t.y),Math.abs(t.z))};var o=new i;i.lerp=function(t,e,n,r){return i.multiplyByScalar(e,n,o),r=i.multiplyByScalar(t,1-n,r),i.add(o,r,r)};var u=new i,s=new i;i.angleBetween=function(t,e){i.normalize(t,u),i.normalize(e,s);var n=i.dot(u,s),r=i.magnitude(i.cross(u,s,u));return Math.atan2(r,n)};var c=new i;return i.mostOrthogonalAxis=function(t,e){var n=i.normalize(t,c);return i.abs(n,n),e=n.x<=n.y?n.x<=n.z?i.clone(i.UNIT_X,e):i.clone(i.UNIT_Z,e):n.y<=n.z?i.clone(i.UNIT_Y,e):i.clone(i.UNIT_Z,e)},i.equals=function(t,n){return t===n||e(t)&&e(n)&&t.x===n.x&&t.y===n.y&&t.z===n.z},i.equalsEpsilon=function(t,n,r){return t===n||e(t)&&e(n)&&Math.abs(t.x-n.x)<=r&&Math.abs(t.y-n.y)<=r&&Math.abs(t.z-n.z)<=r},i.cross=function(t,n,r){var a=t.x,o=t.y,u=t.z,s=n.x,c=n.y,l=n.z,h=o*l-u*c,f=u*s-a*l,d=a*c-o*s;return e(r)?(r.x=h,r.y=f,r.z=d,r):new i(h,f,d)},i.ZERO=r(new i(0,0,0)),i.UNIT_X=r(new i(1,0,0)),i.UNIT_Y=r(new i(0,1,0)),i.UNIT_Z=r(new i(0,0,1)),i.prototype.clone=function(t){return i.clone(this,t)},i.prototype.equals=function(t){return i.equals(this,t)},i.prototype.equalsEpsilon=function(t,e){return i.equalsEpsilon(this,t,e)},i.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+")"},i}),define("ThirdParty/mersenne-twister",[],function(){var t=function(t){void 0==t&&(t=(new Date).getTime()),this.N=624,this.M=397,this.MATRIX_A=2567483615,this.UPPER_MASK=2147483648,this.LOWER_MASK=2147483647,this.mt=new Array(this.N),this.mti=this.N+1,this.init_genrand(t)};return t.prototype.init_genrand=function(t){for(this.mt[0]=t>>>0,this.mti=1;this.mti>>30;this.mt[this.mti]=(1812433253*((4294901760&t)>>>16)<<16)+1812433253*(65535&t)+this.mti,this.mt[this.mti]>>>=0}},t.prototype.genrand_int32=function(){var t,e=new Array(0,this.MATRIX_A);if(this.mti>=this.N){var n;for(this.mti==this.N+1&&this.init_genrand(5489),n=0;n>>1^e[1&t];for(;n>>1^e[1&t];t=this.mt[this.N-1]&this.UPPER_MASK|this.mt[0]&this.LOWER_MASK,this.mt[this.N-1]=this.mt[this.M-1]^t>>>1^e[1&t],this.mti=0}return t=this.mt[this.mti++],t^=t>>>11,t^=2636928640&t<<7,t^=4022730752&t<<15,t^=t>>>18,t>>>0},t.prototype.random=function(){return this.genrand_int32()*(1/4294967296)},t}),define("Core/Math",["./defaultValue","./defined","./DeveloperError","../ThirdParty/mersenne-twister"],function(t,e,n,r){"use strict";var i={};i.EPSILON1=.1,i.EPSILON2=.01,i.EPSILON3=.001,i.EPSILON4=1e-4,i.EPSILON5=1e-5,i.EPSILON6=1e-6,i.EPSILON7=1e-7,i.EPSILON8=1e-8,i.EPSILON9=1e-9,i.EPSILON10=1e-10,i.EPSILON11=1e-11,i.EPSILON12=1e-12,i.EPSILON13=1e-13,i.EPSILON14=1e-14,i.EPSILON15=1e-15,i.EPSILON16=1e-16,i.EPSILON17=1e-17,i.EPSILON18=1e-18,i.EPSILON19=1e-19,i.EPSILON20=1e-20,i.GRAVITATIONALPARAMETER=3986004418e5,i.SOLAR_RADIUS=6955e5,i.LUNAR_RADIUS=1737400,i.SIXTY_FOUR_KILOBYTES=65536,i.sign=function(t){return t>0?1:0>t?-1:0},i.sinh=function(t){var e=Math.pow(Math.E,t),n=Math.pow(Math.E,-1*t);return.5*(e-n)},i.cosh=function(t){var e=Math.pow(Math.E,t),n=Math.pow(Math.E,-1*t);return.5*(e+n)},i.lerp=function(t,e,n){return(1-n)*t+n*e},i.PI=Math.PI,i.ONE_OVER_PI=1/Math.PI,i.PI_OVER_TWO=.5*Math.PI,i.PI_OVER_THREE=Math.PI/3,i.PI_OVER_FOUR=Math.PI/4,i.PI_OVER_SIX=Math.PI/6,i.THREE_PI_OVER_TWO=.5*3*Math.PI,i.TWO_PI=2*Math.PI,i.ONE_OVER_TWO_PI=1/(2*Math.PI),i.RADIANS_PER_DEGREE=Math.PI/180,i.DEGREES_PER_RADIAN=180/Math.PI,i.RADIANS_PER_ARCSECOND=i.RADIANS_PER_DEGREE/3600,i.toRadians=function(t){return t*i.RADIANS_PER_DEGREE},i.toDegrees=function(t){return t*i.DEGREES_PER_RADIAN},i.convertLongitudeRange=function(t){var e=i.TWO_PI,n=t-Math.floor(t/e)*e;return n<-Math.PI?n+e:n>=Math.PI?n-e:n},i.negativePiToPi=function(t){for(var e=i.EPSILON10,n=i.PI,r=i.TWO_PI;-(n+e)>t;)t+=r;if(-n>t)return-n;for(;t>n+e;)t-=r;return t>n?n:t},i.zeroToTwoPi=function(t){var e=t%i.TWO_PI;return 0>e?(e+i.TWO_PI)%i.TWO_PI:e},i.equalsEpsilon=function(e,n,r){return r=t(r,0),Math.abs(e-n)<=r};var a=[1];i.factorial=function(t){var e=a.length;if(t>=e)for(var n=a[e-1],r=e;t>=r;r++)a.push(n*r);return a[t]},i.incrementWrap=function(e,n,r){return r=t(r,0),++e,e>n&&(e=r),e},i.isPowerOfTwo=function(t){return 0!==t&&0===(t&t-1)},i.nextPowerOfTwo=function(t){return--t,t|=t>>1,t|=t>>2,t|=t>>4,t|=t>>8,t|=t>>16,++t,t},i.clamp=function(t,e,n){return e>t?e:t>n?n:t};var o=new r;return i.setRandomNumberSeed=function(t){o=new r(t)},i.nextRandomNumber=function(){return o.random()},i}),define("Core/Cartographic",["./defaultValue","./defined","./DeveloperError","./freezeObject","./Math"],function(t,e,n,r,i){"use strict";var a=function(e,n,r){this.longitude=t(e,0),this.latitude=t(n,0),this.height=t(r,0)};return a.fromDegrees=function(n,r,o,u){return n=i.toRadians(t(n,0)),r=i.toRadians(t(r,0)),o=t(o,0),e(u)?(u.longitude=n,u.latitude=r,u.height=o,u):new a(n,r,o)},a.clone=function(t,n){return e(t)?e(n)?(n.longitude=t.longitude,n.latitude=t.latitude,n.height=t.height,n):new a(t.longitude,t.latitude,t.height):void 0},a.equals=function(t,n){return t===n||e(t)&&e(n)&&t.longitude===n.longitude&&t.latitude===n.latitude&&t.height===n.height},a.equalsEpsilon=function(t,n,r){return t===n||e(t)&&e(n)&&Math.abs(t.longitude-n.longitude)<=r&&Math.abs(t.latitude-n.latitude)<=r&&Math.abs(t.height-n.height)<=r},a.toString=function(t){return"("+t.longitude+", "+t.latitude+", "+t.height+")"},a.ZERO=r(new a(0,0,0)),a.prototype.clone=function(t){return a.clone(this,t)},a.prototype.equals=function(t){return a.equals(this,t)},a.prototype.equalsEpsilon=function(t,e){return a.equalsEpsilon(this,t,e)},a.prototype.toString=function(){return a.toString(this)},a}),define("Core/defineProperties",["./defined"],function(t){"use strict";var e=function(){try{return"x"in Object.defineProperty({},"x",{})}catch(t){return!1}}(),n=Object.defineProperties;return e&&t(n)||(n=function(t){return t}),n}),define("Core/Ellipsoid",["./freezeObject","./defaultValue","./defined","./defineProperties","./DeveloperError","./Math","./Cartesian3","./Cartographic"],function(t,e,n,r,i,a,o,u){"use strict";var s=function(t,n,r){t=e(t,0),n=e(n,0),r=e(r,0),this._radii=new o(t,n,r),this._radiiSquared=new o(t*t,n*n,r*r),this._radiiToTheFourth=new o(t*t*t*t,n*n*n*n,r*r*r*r),this._oneOverRadii=new o(0===t?0:1/t,0===n?0:1/n,0===r?0:1/r),this._oneOverRadiiSquared=new o(0===t?0:1/(t*t),0===n?0:1/(n*n),0===r?0:1/(r*r)),this._minimumRadius=Math.min(t,n,r),this._maximumRadius=Math.max(t,n,r),this._centerToleranceSquared=a.EPSILON1};r(s.prototype,{radii:{get:function(){return this._radii}},radiiSquared:{get:function(){return this._radiiSquared}},radiiToTheFourth:{get:function(){return this._radiiToTheFourth}},oneOverRadii:{get:function(){return this._oneOverRadii}},oneOverRadiiSquared:{get:function(){return this._oneOverRadiiSquared}},minimumRadius:{get:function(){return this._minimumRadius}},maximumRadius:{get:function(){return this._maximumRadius}}}),s.clone=function(t,e){if(!n(t))return void 0;var r=t._radii;return n(e)?(o.clone(r,e._radii),o.clone(t._radiiSquared,e._radiiSquared),o.clone(t._radiiToTheFourth,e._radiiToTheFourth),o.clone(t._oneOverRadii,e._oneOverRadii),o.clone(t._oneOverRadiiSquared,e._oneOverRadiiSquared),e._minimumRadius=t._minimumRadius,e._maximumRadius=t._maximumRadius,e._centerToleranceSquared=t._centerToleranceSquared,e):new s(r.x,r.y,r.z)},s.fromCartesian3=function(t){return n(t)?new s(t.x,t.y,t.z):new s},s.WGS84=t(new s(6378137,6378137,6356752.314245179)),s.UNIT_SPHERE=t(new s(1,1,1)),s.MOON=t(new s(a.LUNAR_RADIUS,a.LUNAR_RADIUS,a.LUNAR_RADIUS)),s.prototype.clone=function(t){return s.clone(this,t)},s.prototype.geocentricSurfaceNormal=o.normalize,s.prototype.geodeticSurfaceNormalCartographic=function(t,e){var r=t.longitude,i=t.latitude,a=Math.cos(i),u=a*Math.cos(r),s=a*Math.sin(r),c=Math.sin(i);return n(e)||(e=new o),e.x=u,e.y=s,e.z=c,o.normalize(e,e)},s.prototype.geodeticSurfaceNormal=function(t,e){return e=o.multiplyComponents(t,this._oneOverRadiiSquared,e),o.normalize(e,e)};var c=new o,l=new o;s.prototype.cartographicToCartesian=function(t,e){var n=c,r=l;this.geodeticSurfaceNormalCartographic(t,n),o.multiplyComponents(this._radiiSquared,n,r);var i=Math.sqrt(o.dot(n,r));return o.divideByScalar(r,i,r),o.multiplyByScalar(n,t.height,n),o.add(r,n,e)},s.prototype.cartographicArrayToCartesianArray=function(t,e){var r=t.length;n(e)?e.length=r:e=new Array(r);for(var i=0;r>i;i++)e[i]=this.cartographicToCartesian(t[i],e[i]);return e};var h=new o,f=new o,d=new o;s.prototype.cartesianToCartographic=function(t,e){var r=this.scaleToGeodeticSurface(t,f);if(!n(r))return void 0;var i=this.geodeticSurfaceNormal(r,h),s=o.subtract(t,r,d),c=Math.atan2(i.y,i.x),l=Math.asin(i.z),m=a.sign(o.dot(s,t))*o.magnitude(s);return n(e)?(e.longitude=c,e.latitude=l,e.height=m,e):new u(c,l,m)},s.prototype.cartesianArrayToCartographicArray=function(t,e){var r=t.length;n(e)?e.length=r:e=new Array(r);for(var i=0;r>i;++i)e[i]=this.cartesianToCartographic(t[i],e[i]);return e};var m=new o,p=new o;return s.prototype.scaleToGeodeticSurface=function(t,e){var r=t.x,i=t.y,u=t.z,s=this._oneOverRadii,c=s.x,l=s.y,h=s.z,f=r*r*c*c,d=i*i*l*l,y=u*u*h*h,w=f+d+y,v=Math.sqrt(1/w),g=o.multiplyByScalar(t,v,m);if(wa.EPSILON12);return n(e)?(e.x=r*R,e.y=i*_,e.z=u*T,e):new o(r*R,i*_,u*T)},s.prototype.scaleToGeocentricSurface=function(t,e){var n=t.x,r=t.y,i=t.z,a=this._oneOverRadiiSquared,u=1/Math.sqrt(n*n*a.x+r*r*a.y+i*i*a.z);return o.multiplyByScalar(t,u,e)},s.prototype.transformPositionToScaledSpace=function(t,e){return o.multiplyComponents(t,this._oneOverRadii,e)},s.prototype.transformPositionFromScaledSpace=function(t,e){return o.multiplyComponents(t,this._radii,e)},s.prototype.equals=function(t){return this===t||n(t)&&o.equals(this._radii,t._radii)},s.prototype.toString=function(){return this._radii.toString()},s}),define("Core/GeographicProjection",["./defaultValue","./defined","./defineProperties","./Cartesian3","./Cartographic","./Ellipsoid"],function(t,e,n,r,i,a){"use strict";var o=function(e){this._ellipsoid=t(e,a.WGS84),this._semimajorAxis=this._ellipsoid.maximumRadius,this._oneOverSemimajorAxis=1/this._semimajorAxis};return n(o.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}}),o.prototype.project=function(t,n){var i=this._semimajorAxis,a=t.longitude*i,o=t.latitude*i,u=t.height;return e(n)?(n.x=a,n.y=o,n.z=u,n):new r(a,o,u)},o.prototype.unproject=function(t,n){var r=this._oneOverSemimajorAxis,a=t.x*r,o=t.y*r,u=t.z;return e(n)?(n.longitude=a,n.latitude=o,n.height=u,n):new i(a,o,u)},o}),define("Core/Enumeration",["./defined"],function(t){"use strict";var e=function(e,n,r){if(this.value=e,this.name=n,t(r))for(var i in r)r.hasOwnProperty(i)&&(this[i]=r[i])};return e.prototype.valueOf=function(){return this.value},e.prototype.toString=function(){return this.name},e}),define("Core/Intersect",["./Enumeration"],function(t){"use strict";var e={OUTSIDE:new t(-1,"OUTSIDE"),INTERSECTING:new t(0,"INTERSECTING"),INSIDE:new t(1,"INSIDE")};return e}),define("Core/Interval",["./defaultValue"],function(t){"use strict";var e=function(e,n){this.start=t(e,0),this.stop=t(n,0)};return e}),define("Core/Cartesian4",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(t,e,n,r){"use strict";var i=function(e,n,r,i){this.x=t(e,0),this.y=t(n,0),this.z=t(r,0),this.w=t(i,0)};i.fromElements=function(t,n,r,a,o){return e(o)?(o.x=t,o.y=n,o.z=r,o.w=a,o):new i(t,n,r,a)},i.clone=function(t,n){return e(t)?e(n)?(n.x=t.x,n.y=t.y,n.z=t.z,n.w=t.w,n):new i(t.x,t.y,t.z,t.w):void 0},i.packedLength=4,i.pack=function(e,n,r){r=t(r,0),n[r++]=e.x,n[r++]=e.y,n[r++]=e.z,n[r]=e.w},i.unpack=function(n,r,a){return r=t(r,0),e(a)||(a=new i),a.x=n[r++],a.y=n[r++],a.z=n[r++],a.w=n[r],a},i.fromArray=i.unpack,i.getMaximumComponent=function(t){return Math.max(t.x,t.y,t.z,t.w)},i.getMinimumComponent=function(t){return Math.min(t.x,t.y,t.z,t.w)},i.getMinimumByComponent=function(t,n,r){return e(r)||(r=new i),r.x=Math.min(t.x,n.x),r.y=Math.min(t.y,n.y),r.z=Math.min(t.z,n.z),r.w=Math.min(t.w,n.w),r},i.getMaximumByComponent=function(t,n,r){return e(r)||(r=new i),r.x=Math.max(t.x,n.x),r.y=Math.max(t.y,n.y),r.z=Math.max(t.z,n.z),r.w=Math.max(t.w,n.w),r},i.magnitudeSquared=function(t){return t.x*t.x+t.y*t.y+t.z*t.z+t.w*t.w},i.magnitude=function(t){return Math.sqrt(i.magnitudeSquared(t))};var a=new i;i.distance=function(t,e){return i.subtract(t,e,a),i.magnitude(a)},i.normalize=function(t,n){var r=i.magnitude(t);return e(n)?(n.x=t.x/r,n.y=t.y/r,n.z=t.z/r,n.w=t.w/r,n):new i(t.x/r,t.y/r,t.z/r,t.w/r)},i.dot=function(t,e){return t.x*e.x+t.y*e.y+t.z*e.z+t.w*e.w},i.multiplyComponents=function(t,n,r){return e(r)?(r.x=t.x*n.x,r.y=t.y*n.y,r.z=t.z*n.z,r.w=t.w*n.w,r):new i(t.x*n.x,t.y*n.y,t.z*n.z,t.w*n.w)},i.add=function(t,n,r){return e(r)?(r.x=t.x+n.x,r.y=t.y+n.y,r.z=t.z+n.z,r.w=t.w+n.w,r):new i(t.x+n.x,t.y+n.y,t.z+n.z,t.w+n.w)},i.subtract=function(t,n,r){return e(r)?(r.x=t.x-n.x,r.y=t.y-n.y,r.z=t.z-n.z,r.w=t.w-n.w,r):new i(t.x-n.x,t.y-n.y,t.z-n.z,t.w-n.w)},i.multiplyByScalar=function(t,n,r){return e(r)?(r.x=t.x*n,r.y=t.y*n,r.z=t.z*n,r.w=t.w*n,r):new i(t.x*n,t.y*n,t.z*n,t.w*n)},i.divideByScalar=function(t,n,r){return e(r)?(r.x=t.x/n,r.y=t.y/n,r.z=t.z/n,r.w=t.w/n,r):new i(t.x/n,t.y/n,t.z/n,t.w/n)},i.negate=function(t,n){return e(n)?(n.x=-t.x,n.y=-t.y,n.z=-t.z,n.w=-t.w,n):new i(-t.x,-t.y,-t.z,-t.w)},i.abs=function(t,n){return e(n)?(n.x=Math.abs(t.x),n.y=Math.abs(t.y),n.z=Math.abs(t.z),n.w=Math.abs(t.w),n):new i(Math.abs(t.x),Math.abs(t.y),Math.abs(t.z),Math.abs(t.w))};var o=new i;i.lerp=function(t,e,n,r){return i.multiplyByScalar(e,n,o),r=i.multiplyByScalar(t,1-n,r),i.add(o,r,r)};var u=new i;return i.mostOrthogonalAxis=function(t,e){var n=i.normalize(t,u);return i.abs(n,n),e=n.x<=n.y?n.x<=n.z?n.x<=n.w?i.clone(i.UNIT_X,e):i.clone(i.UNIT_W,e):n.z<=n.w?i.clone(i.UNIT_Z,e):i.clone(i.UNIT_W,e):n.y<=n.z?n.y<=n.w?i.clone(i.UNIT_Y,e):i.clone(i.UNIT_W,e):n.z<=n.w?i.clone(i.UNIT_Z,e):i.clone(i.UNIT_W,e)},i.equals=function(t,n){return t===n||e(t)&&e(n)&&t.x===n.x&&t.y===n.y&&t.z===n.z&&t.w===n.w},i.equalsEpsilon=function(t,n,r){return t===n||e(t)&&e(n)&&Math.abs(t.x-n.x)<=r&&Math.abs(t.y-n.y)<=r&&Math.abs(t.z-n.z)<=r&&Math.abs(t.w-n.w)<=r},i.ZERO=r(new i(0,0,0,0)),i.UNIT_X=r(new i(1,0,0,0)),i.UNIT_Y=r(new i(0,1,0,0)),i.UNIT_Z=r(new i(0,0,1,0)),i.UNIT_W=r(new i(0,0,0,1)),i.prototype.clone=function(t){return i.clone(this,t)},i.prototype.equals=function(t){return i.equals(this,t)},i.prototype.equalsEpsilon=function(t,e){return i.equalsEpsilon(this,t,e)},i.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+", "+this.w+")"},i}),define("Core/Matrix3",["./Cartesian3","./defaultValue","./defined","./DeveloperError","./freezeObject","./Math"],function(t,e,n,r,i,a){"use strict";function o(t){for(var e=0,n=0;9>n;++n){var r=t[n];e+=r*r}return Math.sqrt(e)}function u(t){for(var e=0,n=0;3>n;++n){var r=t[c.getElementIndex(h[n],l[n])];e+=2*r*r}return Math.sqrt(e)}function s(t,e){for(var n=a.EPSILON15,r=0,i=1,o=0;3>o;++o){var u=Math.abs(t[c.getElementIndex(h[o],l[o])]);u>r&&(i=o,r=u)}var s=1,f=0,d=l[i],m=h[i];if(Math.abs(t[c.getElementIndex(m,d)])>n){var p,y=t[c.getElementIndex(m,m)],w=t[c.getElementIndex(d,d)],v=t[c.getElementIndex(m,d)],g=(y-w)/2/v;p=0>g?-1/(-g+Math.sqrt(1+g*g)):1/(g+Math.sqrt(1+g*g)),s=1/Math.sqrt(1+p*p),f=p*s}return e=c.clone(c.IDENTITY,e),e[c.getElementIndex(d,d)]=e[c.getElementIndex(m,m)]=s,e[c.getElementIndex(m,d)]=f,e[c.getElementIndex(d,m)]=-f,e}var c=function(t,n,r,i,a,o,u,s,c){this[0]=e(t,0),this[1]=e(i,0),this[2]=e(u,0),this[3]=e(n,0),this[4]=e(a,0),this[5]=e(s,0),this[6]=e(r,0),this[7]=e(o,0),this[8]=e(c,0)};c.clone=function(t,e){return n(t)?n(e)?(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e):new c(t[0],t[3],t[6],t[1],t[4],t[7],t[2],t[5],t[8]):void 0},c.fromArray=function(t,r,i){return r=e(r,0),n(i)||(i=new c),i[0]=t[r],i[1]=t[r+1],i[2]=t[r+2],i[3]=t[r+3],i[4]=t[r+4],i[5]=t[r+5],i[6]=t[r+6],i[7]=t[r+7],i[8]=t[r+8],i[9]=t[r+9],i},c.fromColumnMajorArray=function(t,e){return c.clone(t,e)},c.fromRowMajorArray=function(t,e){return n(e)?(e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8],e):new c(t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},c.fromQuaternion=function(t,e){var r=t.x*t.x,i=t.x*t.y,a=t.x*t.z,o=t.x*t.w,u=t.y*t.y,s=t.y*t.z,l=t.y*t.w,h=t.z*t.z,f=t.z*t.w,d=t.w*t.w,m=r-u-h+d,p=2*(i-f),y=2*(a+l),w=2*(i+f),v=-r+u-h+d,g=2*(s-o),x=2*(a-l),M=2*(s+o),z=-r-u+h+d;return n(e)?(e[0]=m,e[1]=w,e[2]=x,e[3]=p,e[4]=v,e[5]=M,e[6]=y,e[7]=g,e[8]=z,e):new c(m,p,y,w,v,g,x,M,z)},c.fromScale=function(t,e){return n(e)?(e[0]=t.x,e[1]=0,e[2]=0,e[3]=0,e[4]=t.y,e[5]=0,e[6]=0,e[7]=0,e[8]=t.z,e):new c(t.x,0,0,0,t.y,0,0,0,t.z)},c.fromUniformScale=function(t,e){return n(e)?(e[0]=t,e[1]=0,e[2]=0,e[3]=0,e[4]=t,e[5]=0,e[6]=0,e[7]=0,e[8]=t,e):new c(t,0,0,0,t,0,0,0,t)},c.fromRotationX=function(t,e){var r=Math.cos(t),i=Math.sin(t);return n(e)?(e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=r,e[5]=i,e[6]=0,e[7]=-i,e[8]=r,e):new c(1,0,0,0,r,-i,0,i,r)},c.fromRotationY=function(t,e){var r=Math.cos(t),i=Math.sin(t);return n(e)?(e[0]=r,e[1]=0,e[2]=-i,e[3]=0,e[4]=1,e[5]=0,e[6]=i,e[7]=0,e[8]=r,e):new c(r,0,i,0,1,0,-i,0,r)},c.fromRotationZ=function(t,e){var r=Math.cos(t),i=Math.sin(t);return n(e)?(e[0]=r,e[1]=i,e[2]=0,e[3]=-i,e[4]=r,e[5]=0,e[6]=0,e[7]=0,e[8]=1,e):new c(r,-i,0,i,r,0,0,0,1)},c.toArray=function(t,e){return n(e)?(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e):[t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]]},c.getElementIndex=function(t,e){return 3*t+e},c.getColumn=function(e,r,i){var a=3*r,o=e[a],u=e[a+1],s=e[a+2];return n(i)?(i.x=o,i.y=u,i.z=s,i):new t(o,u,s)},c.setColumn=function(t,e,n,r){r=c.clone(t,r);var i=3*e;return r[i]=n.x,r[i+1]=n.y,r[i+2]=n.z,r},c.getRow=function(e,r,i){var a=e[r],o=e[r+3],u=e[r+6];return n(i)?(i.x=a,i.y=o,i.z=u,i):new t(a,o,u)},c.setRow=function(t,e,n,r){return r=c.clone(t,r),r[e]=n.x,r[e+3]=n.y,r[e+6]=n.z,r},c.multiply=function(t,e,r){var i=t[0]*e[0]+t[3]*e[1]+t[6]*e[2],a=t[1]*e[0]+t[4]*e[1]+t[7]*e[2],o=t[2]*e[0]+t[5]*e[1]+t[8]*e[2],u=t[0]*e[3]+t[3]*e[4]+t[6]*e[5],s=t[1]*e[3]+t[4]*e[4]+t[7]*e[5],l=t[2]*e[3]+t[5]*e[4]+t[8]*e[5],h=t[0]*e[6]+t[3]*e[7]+t[6]*e[8],f=t[1]*e[6]+t[4]*e[7]+t[7]*e[8],d=t[2]*e[6]+t[5]*e[7]+t[8]*e[8];return n(r)?(r[0]=i,r[1]=a,r[2]=o,r[3]=u,r[4]=s,r[5]=l,r[6]=h,r[7]=f,r[8]=d,r):new c(i,u,h,a,s,f,o,l,d)},c.multiplyByVector=function(e,r,i){var a=r.x,o=r.y,u=r.z,s=e[0]*a+e[3]*o+e[6]*u,c=e[1]*a+e[4]*o+e[7]*u,l=e[2]*a+e[5]*o+e[8]*u;return n(i)?(i.x=s,i.y=c,i.z=l,i):new t(s,c,l)},c.multiplyByScalar=function(t,e,r){return n(r)?(r[0]=t[0]*e,r[1]=t[1]*e,r[2]=t[2]*e,r[3]=t[3]*e,r[4]=t[4]*e,r[5]=t[5]*e,r[6]=t[6]*e,r[7]=t[7]*e,r[8]=t[8]*e,r):new c(t[0]*e,t[3]*e,t[6]*e,t[1]*e,t[4]*e,t[7]*e,t[2]*e,t[5]*e,t[8]*e)},c.negate=function(t,e){return n(e)?(e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=-t[3],e[4]=-t[4],e[5]=-t[5],e[6]=-t[6],e[7]=-t[7],e[8]=-t[8],e):new c(-t[0],-t[3],-t[6],-t[1],-t[4],-t[7],-t[2],-t[5],-t[8])},c.transpose=function(t,e){var r=t[0],i=t[3],a=t[6],o=t[1],u=t[4],s=t[7],l=t[2],h=t[5],f=t[8];return n(e)?(e[0]=r,e[1]=i,e[2]=a,e[3]=o,e[4]=u,e[5]=s,e[6]=l,e[7]=h,e[8]=f,e):new c(r,o,l,i,u,h,a,s,f)};var l=[1,0,0],h=[2,2,1],f=new c,d=new c;return c.getEigenDecomposition=function(t,e){var r=a.EPSILON20,i=10,l=0,h=0;n(e)||(e={});for(var m=e.unitary=c.clone(c.IDENTITY,e.unitary),p=e.diagonal=c.clone(t,e.diagonal),y=r*o(p);i>h&&u(p)>y;)s(p,f),c.transpose(f,d),c.multiply(p,f,p),c.multiply(d,p,p),c.multiply(m,f,m),++l>2&&(++h,l=0);return e},c.abs=function(t,e){return n(e)?(e[0]=Math.abs(t[0]),e[1]=Math.abs(t[1]),e[2]=Math.abs(t[2]),e[3]=Math.abs(t[3]),e[4]=Math.abs(t[4]),e[5]=Math.abs(t[5]),e[6]=Math.abs(t[6]),e[7]=Math.abs(t[7]),e[8]=Math.abs(t[8]),e):new c(Math.abs(t[0]),Math.abs(t[3]),Math.abs(t[6]),Math.abs(t[1]),Math.abs(t[4]),Math.abs(t[7]),Math.abs(t[2]),Math.abs(t[5]),Math.abs(t[8]))},c.determinant=function(t){var e=t[0],n=t[3],r=t[6],i=t[1],a=t[4],o=t[7],u=t[2],s=t[5],c=t[8];return e*(a*c-s*o)+i*(s*r-n*c)+u*(n*o-a*r)},c.inverse=function(t,e){var n=t[0],i=t[1],o=t[2],u=t[3],s=t[4],l=t[5],h=t[6],f=t[7],d=t[8],m=c.determinant(t);if(Math.abs(m)<=a.EPSILON15)throw new r("matrix is not invertible");var p=new c(s*d-f*l,h*l-u*d,u*f-h*s,f*o-i*d,n*d-h*o,h*i-n*f,i*l-s*o,u*o-n*l,n*s-u*i),y=1/m;return c.multiplyByScalar(p,y,e)},c.equals=function(t,e){return t===e||n(t)&&n(e)&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]&&t[6]===e[6]&&t[7]===e[7]&&t[8]===e[8]},c.equalsEpsilon=function(t,e,r){return t===e||n(t)&&n(e)&&Math.abs(t[0]-e[0])<=r&&Math.abs(t[1]-e[1])<=r&&Math.abs(t[2]-e[2])<=r&&Math.abs(t[3]-e[3])<=r&&Math.abs(t[4]-e[4])<=r&&Math.abs(t[5]-e[5])<=r&&Math.abs(t[6]-e[6])<=r&&Math.abs(t[7]-e[7])<=r&&Math.abs(t[8]-e[8])<=r},c.IDENTITY=i(new c(1,0,0,0,1,0,0,0,1)),c.COLUMN0ROW0=0,c.COLUMN0ROW1=1,c.COLUMN0ROW2=2,c.COLUMN1ROW0=3,c.COLUMN1ROW1=4,c.COLUMN1ROW2=5,c.COLUMN2ROW0=6,c.COLUMN2ROW1=7,c.COLUMN2ROW2=8,c.prototype.clone=function(t){return c.clone(this,t)},c.prototype.equals=function(t){return c.equals(this,t)},c.prototype.equalsEpsilon=function(t,e){return c.equalsEpsilon(this,t,e)},c.prototype.toString=function(){return"("+this[0]+", "+this[3]+", "+this[6]+")\n"+"("+this[1]+", "+this[4]+", "+this[7]+")\n"+"("+this[2]+", "+this[5]+", "+this[8]+")"},c}),define("Core/RuntimeError",["./defined"],function(t){"use strict";var e=function(t){this.name="RuntimeError",this.message=t;var e;try{throw new Error}catch(n){e=n.stack}this.stack=e};return e.prototype.toString=function(){var e=this.name+": "+this.message;return t(this.stack)&&(e+="\n"+this.stack.toString()),e},e}),define("Core/Matrix4",["./Cartesian3","./Cartesian4","./defaultValue","./defined","./DeveloperError","./freezeObject","./Math","./Matrix3","./RuntimeError"],function(t,e,n,r,i,a,o,u,s){"use strict";var c=function(t,e,r,i,a,o,u,s,c,l,h,f,d,m,p,y){this[0]=n(t,0),this[1]=n(a,0),this[2]=n(c,0),this[3]=n(d,0),this[4]=n(e,0),this[5]=n(o,0),this[6]=n(l,0),this[7]=n(m,0),this[8]=n(r,0),this[9]=n(u,0),this[10]=n(h,0),this[11]=n(p,0),this[12]=n(i,0),this[13]=n(s,0),this[14]=n(f,0),this[15]=n(y,0)};c.clone=function(t,e){return r(t)?r(e)?(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e):new c(t[0],t[4],t[8],t[12],t[1],t[5],t[9],t[13],t[2],t[6],t[10],t[14],t[3],t[7],t[11],t[15]):void 0},c.fromArray=function(t,e,i){return e=n(e,0),r(i)||(i=new c),i[0]=t[e],i[1]=t[e+1],i[2]=t[e+2],i[3]=t[e+3],i[4]=t[e+4],i[5]=t[e+5],i[6]=t[e+6],i[7]=t[e+7],i[8]=t[e+8],i[9]=t[e+9],i[10]=t[e+10],i[11]=t[e+11],i[12]=t[e+12],i[13]=t[e+13],i[14]=t[e+14],i[15]=t[e+15],i},c.fromColumnMajorArray=function(t,e){return c.clone(t,e)},c.fromRowMajorArray=function(t,e){return r(e)?(e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15],e):new c(t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15])},c.fromRotationTranslation=function(t,e,n){return r(n)?(n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=0,n[4]=t[3],n[5]=t[4],n[6]=t[5],n[7]=0,n[8]=t[6],n[9]=t[7],n[10]=t[8],n[11]=0,n[12]=e.x,n[13]=e.y,n[14]=e.z,n[15]=1,n):new c(t[0],t[3],t[6],e.x,t[1],t[4],t[7],e.y,t[2],t[5],t[8],e.z,0,0,0,1)},new u,c.fromTranslationQuaternionRotationScale=function(t,e,n,i){r(i)||(i=new c);var a=n.x,o=n.y,u=n.z,s=e.x*e.x,l=e.x*e.y,h=e.x*e.z,f=e.x*e.w,d=e.y*e.y,m=e.y*e.z,p=e.y*e.w,y=e.z*e.z,w=e.z*e.w,v=e.w*e.w,g=s-d-y+v,x=2*(l-w),M=2*(h+p),z=2*(l+w),E=-s+d-y+v,S=2*(m-f),b=2*(h-p),O=2*(m+f),R=-s-d+y+v;return i[0]=g*a,i[1]=z*a,i[2]=b*a,i[3]=0,i[4]=x*o,i[5]=E*o,i[6]=O*o,i[7]=0,i[8]=M*u,i[9]=S*u,i[10]=R*u,i[11]=0,i[12]=t.x,i[13]=t.y,i[14]=t.z,i[15]=1,i},c.fromTranslation=function(t,e){return c.fromRotationTranslation(u.IDENTITY,t,e)},c.fromScale=function(t,e){return r(e)?(e[0]=t.x,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t.y,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=t.z,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e):new c(t.x,0,0,0,0,t.y,0,0,0,0,t.z,0,0,0,0,1)},c.fromUniformScale=function(t,e){return r(e)?(e[0]=t,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=t,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e):new c(t,0,0,0,0,t,0,0,0,0,t,0,0,0,0,1)};var l=new t,h=new t,f=new t;c.fromCamera=function(e,n){var i=e.eye,a=e.target,o=e.up;t.normalize(t.subtract(a,i,l),l),t.normalize(t.cross(l,o,h),h),t.normalize(t.cross(h,l,f),f);var u=h.x,s=h.y,d=h.z,m=l.x,p=l.y,y=l.z,w=f.x,v=f.y,g=f.z,x=i.x,M=i.y,z=i.z,E=u*-x+s*-M+d*-z,S=w*-x+v*-M+g*-z,b=m*x+p*M+y*z;return r(n)?(n[0]=u,n[1]=w,n[2]=-m,n[3]=0,n[4]=s,n[5]=v,n[6]=-p,n[7]=0,n[8]=d,n[9]=g,n[10]=-y,n[11]=0,n[12]=E,n[13]=S,n[14]=b,n[15]=1,n):new c(u,s,d,E,w,v,g,S,-m,-p,-y,b,0,0,0,1)},c.computePerspectiveFieldOfView=function(t,e,n,i,a){var o=Math.tan(.5*t),u=1/o,s=u/e,l=(i+n)/(n-i),h=2*i*n/(n-i);return r(a)?(a[0]=s,a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=u,a[6]=0,a[7]=0,a[8]=0,a[9]=0,a[10]=l,a[11]=-1,a[12]=0,a[13]=0,a[14]=h,a[15]=0,a):new c(s,0,0,0,0,u,0,0,0,0,l,h,0,0,-1,0)},c.computeOrthographicOffCenter=function(t,e,n,i,a,o,u){var s=1/(e-t),l=1/(i-n),h=1/(o-a),f=-(e+t)*s,d=-(i+n)*l,m=-(o+a)*h;return s*=2,l*=2,h*=-2,r(u)?(u[0]=s,u[1]=0,u[2]=0,u[3]=0,u[4]=0,u[5]=l,u[6]=0,u[7]=0,u[8]=0,u[9]=0,u[10]=h,u[11]=0,u[12]=f,u[13]=d,u[14]=m,u[15]=1,u):new c(s,0,0,f,0,l,0,d,0,0,h,m,0,0,0,1)},c.computePerspectiveOffCenter=function(t,e,n,i,a,o,u){var s=2*a/(e-t),l=2*a/(i-n),h=(e+t)/(e-t),f=(i+n)/(i-n),d=-(o+a)/(o-a),m=-1,p=-2*o*a/(o-a);return r(u)?(u[0]=s,u[1]=0,u[2]=0,u[3]=0,u[4]=0,u[5]=l,u[6]=0,u[7]=0,u[8]=h,u[9]=f,u[10]=d,u[11]=m,u[12]=0,u[13]=0,u[14]=p,u[15]=0,u):new c(s,0,h,0,0,l,f,0,0,0,d,p,0,0,m,0)},c.computeInfinitePerspectiveOffCenter=function(t,e,n,i,a,o){var u=2*a/(e-t),s=2*a/(i-n),l=(e+t)/(e-t),h=(i+n)/(i-n),f=-1,d=-1,m=-2*a;return r(o)?(o[0]=u,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=s,o[6]=0,o[7]=0,o[8]=l,o[9]=h,o[10]=f,o[11]=d,o[12]=0,o[13]=0,o[14]=m,o[15]=0,o):new c(u,0,l,0,0,s,h,0,0,0,f,m,0,0,d,0)},c.computeViewportTransformation=function(t,e,i,a){t=n(t,n.EMPTY_OBJECT);var o=n(t.x,0),u=n(t.y,0),s=n(t.width,0),l=n(t.height,0);e=n(e,0),i=n(i,1);var h=.5*s,f=.5*l,d=.5*(i-e),m=h,p=f,y=d,w=o+h,v=u+f,g=e+d,x=1;return r(a)?(a[0]=m,a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=p,a[6]=0,a[7]=0,a[8]=0,a[9]=0,a[10]=y,a[11]=0,a[12]=w,a[13]=v,a[14]=g,a[15]=x,a):new c(m,0,0,w,0,p,0,v,0,0,y,g,0,0,0,x)},c.toArray=function(t,e){return r(e)?(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e):[t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15]]},c.getElementIndex=function(t,e){return 4*t+e},c.getColumn=function(t,n,i){var a=4*n,o=t[a],u=t[a+1],s=t[a+2],c=t[a+3];return r(i)?(i.x=o,i.y=u,i.z=s,i.w=c,i):new e(o,u,s,c)},c.setColumn=function(t,e,n,r){r=c.clone(t,r);var i=4*e;return r[i]=n.x,r[i+1]=n.y,r[i+2]=n.z,r[i+3]=n.w,r},c.getRow=function(t,n,i){var a=t[n],o=t[n+4],u=t[n+8],s=t[n+12];return r(i)?(i.x=a,i.y=o,i.z=u,i.w=s,i):new e(a,o,u,s)},c.setRow=function(t,e,n,r){return r=c.clone(t,r),r[e]=n.x,r[e+4]=n.y,r[e+8]=n.z,r[e+12]=n.w,r},c.multiply=function(t,e,n){var i=t[0],a=t[1],o=t[2],u=t[3],s=t[4],l=t[5],h=t[6],f=t[7],d=t[8],m=t[9],p=t[10],y=t[11],w=t[12],v=t[13],g=t[14],x=t[15],M=e[0],z=e[1],E=e[2],S=e[3],b=e[4],O=e[5],R=e[6],_=e[7],T=e[8],I=e[9],C=e[10],P=e[11],N=e[12],q=e[13],A=e[14],U=e[15],L=i*M+s*z+d*E+w*S,F=a*M+l*z+m*E+v*S,D=o*M+h*z+p*E+g*S,W=u*M+f*z+y*E+x*S,B=i*b+s*O+d*R+w*_,V=a*b+l*O+m*R+v*_,j=o*b+h*O+p*R+g*_,k=u*b+f*O+y*R+x*_,H=i*T+s*I+d*C+w*P,G=a*T+l*I+m*C+v*P,Z=o*T+h*I+p*C+g*P,X=u*T+f*I+y*C+x*P,Y=i*N+s*q+d*A+w*U,K=a*N+l*q+m*A+v*U,J=o*N+h*q+p*A+g*U,Q=u*N+f*q+y*A+x*U;return r(n)?(n[0]=L,n[1]=F,n[2]=D,n[3]=W,n[4]=B,n[5]=V,n[6]=j,n[7]=k,n[8]=H,n[9]=G,n[10]=Z,n[11]=X,n[12]=Y,n[13]=K,n[14]=J,n[15]=Q,n):new c(L,B,H,Y,F,V,G,K,D,j,Z,J,W,k,X,Q)},c.multiplyTransformation=function(t,e,n){var i=t[0],a=t[1],o=t[2],u=t[4],s=t[5],l=t[6],h=t[8],f=t[9],d=t[10],m=t[12],p=t[13],y=t[14],w=e[0],v=e[1],g=e[2],x=e[4],M=e[5],z=e[6],E=e[8],S=e[9],b=e[10],O=e[12],R=e[13],_=e[14],T=i*w+u*v+h*g,I=a*w+s*v+f*g,C=o*w+l*v+d*g,P=i*x+u*M+h*z,N=a*x+s*M+f*z,q=o*x+l*M+d*z,A=i*E+u*S+h*b,U=a*E+s*S+f*b,L=o*E+l*S+d*b,F=i*O+u*R+h*_+m,D=a*O+s*R+f*_+p,W=o*O+l*R+d*_+y;return r(n)?(n[0]=T,n[1]=I,n[2]=C,n[3]=0,n[4]=P,n[5]=N,n[6]=q,n[7]=0,n[8]=A,n[9]=U,n[10]=L,n[11]=0,n[12]=F,n[13]=D,n[14]=W,n[15]=1,n):new c(T,P,A,F,I,N,U,D,C,q,L,W,0,0,0,1) +},c.multiplyByTranslation=function(t,e,n){var i=e.x,a=e.y,o=e.z,u=i*t[0]+a*t[4]+o*t[8]+t[12],s=i*t[1]+a*t[5]+o*t[9]+t[13],l=i*t[2]+a*t[6]+o*t[10]+t[14];return r(n)?(n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n[4]=t[4],n[5]=t[5],n[6]=t[6],n[7]=t[7],n[8]=t[8],n[9]=t[9],n[10]=t[10],n[11]=t[11],n[12]=u,n[13]=s,n[14]=l,n[15]=t[15],n):new c(t[0],t[4],t[8],u,t[1],t[5],t[9],s,t[2],t[6],t[10],l,t[3],t[7],t[11],t[15])};var d=new t;return c.multiplyByUniformScale=function(t,e,n){return d.x=e,d.y=e,d.z=e,c.multiplyByScale(t,d,n)},c.multiplyByScale=function(t,e,n){var i=e.x,a=e.y,o=e.z;return 1===i&&1===a&&1===o?c.clone(t,n):r(n)?(n[0]=i*t[0],n[1]=i*t[1],n[2]=i*t[2],n[3]=0,n[4]=a*t[4],n[5]=a*t[5],n[6]=a*t[6],n[7]=0,n[8]=o*t[8],n[9]=o*t[9],n[10]=o*t[10],n[11]=0,n[12]=t[12],n[13]=t[13],n[14]=t[14],n[15]=1,n):new c(i*t[0],a*t[4],o*t[8],t[12],i*t[1],a*t[5],o*t[9],t[13],i*t[2],a*t[6],o*t[10],t[14],0,0,0,1)},c.multiplyByVector=function(t,n,i){var a=n.x,o=n.y,u=n.z,s=n.w,c=t[0]*a+t[4]*o+t[8]*u+t[12]*s,l=t[1]*a+t[5]*o+t[9]*u+t[13]*s,h=t[2]*a+t[6]*o+t[10]*u+t[14]*s,f=t[3]*a+t[7]*o+t[11]*u+t[15]*s;return r(i)?(i.x=c,i.y=l,i.z=h,i.w=f,i):new e(c,l,h,f)},c.multiplyByPointAsVector=function(e,n,i){var a=n.x,o=n.y,u=n.z,s=e[0]*a+e[4]*o+e[8]*u,c=e[1]*a+e[5]*o+e[9]*u,l=e[2]*a+e[6]*o+e[10]*u;return r(i)?(i.x=s,i.y=c,i.z=l,i):new t(s,c,l)},c.multiplyByPoint=function(e,n,i){var a=n.x,o=n.y,u=n.z,s=e[0]*a+e[4]*o+e[8]*u+e[12],c=e[1]*a+e[5]*o+e[9]*u+e[13],l=e[2]*a+e[6]*o+e[10]*u+e[14];return r(i)?(i.x=s,i.y=c,i.z=l,i):new t(s,c,l)},c.multiplyByScalar=function(t,e,n){return r(n)?(n[0]=t[0]*e,n[1]=t[1]*e,n[2]=t[2]*e,n[3]=t[3]*e,n[4]=t[4]*e,n[5]=t[5]*e,n[6]=t[6]*e,n[7]=t[7]*e,n[8]=t[8]*e,n[9]=t[9]*e,n[10]=t[10]*e,n[11]=t[11]*e,n[12]=t[12]*e,n[13]=t[13]*e,n[14]=t[14]*e,n[15]=t[15]*e,n):new c(t[0]*e,t[4]*e,t[8]*e,t[12]*e,t[1]*e,t[5]*e,t[9]*e,t[13]*e,t[2]*e,t[6]*e,t[10]*e,t[14]*e,t[3]*e,t[7]*e,t[11]*e,t[15]*e)},c.negate=function(t,e){return r(e)?(e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=-t[3],e[4]=-t[4],e[5]=-t[5],e[6]=-t[6],e[7]=-t[7],e[8]=-t[8],e[9]=-t[9],e[10]=-t[10],e[11]=-t[11],e[12]=-t[12],e[13]=-t[13],e[14]=-t[14],e[15]=-t[15],e):new c(-t[0],-t[4],-t[8],-t[12],-t[1],-t[5],-t[9],-t[13],-t[2],-t[6],-t[10],-t[14],-t[3],-t[7],-t[11],-t[15])},c.transpose=function(t,e){if(!r(e))return new c(t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15]);var n=t[1],i=t[2],a=t[3],o=t[6],u=t[7],s=t[11];return e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=n,e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=i,e[9]=o,e[10]=t[10],e[11]=t[14],e[12]=a,e[13]=u,e[14]=s,e[15]=t[15],e},c.abs=function(t,e){return r(e)?(e[0]=Math.abs(t[0]),e[1]=Math.abs(t[1]),e[2]=Math.abs(t[2]),e[3]=Math.abs(t[3]),e[4]=Math.abs(t[4]),e[5]=Math.abs(t[5]),e[6]=Math.abs(t[6]),e[7]=Math.abs(t[7]),e[8]=Math.abs(t[8]),e[9]=Math.abs(t[9]),e[10]=Math.abs(t[10]),e[11]=Math.abs(t[11]),e[12]=Math.abs(t[12]),e[13]=Math.abs(t[13]),e[14]=Math.abs(t[14]),e[15]=Math.abs(t[15]),e):new c(Math.abs(t[0]),Math.abs(t[4]),Math.abs(t[8]),Math.abs(t[12]),Math.abs(t[1]),Math.abs(t[5]),Math.abs(t[9]),Math.abs(t[13]),Math.abs(t[2]),Math.abs(t[6]),Math.abs(t[10]),Math.abs(t[14]),Math.abs(t[3]),Math.abs(t[7]),Math.abs(t[11]),Math.abs(t[15]))},c.equals=function(t,e){return t===e||r(t)&&r(e)&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]&&t[6]===e[6]&&t[7]===e[7]&&t[8]===e[8]&&t[9]===e[9]&&t[10]===e[10]&&t[11]===e[11]&&t[12]===e[12]&&t[13]===e[13]&&t[14]===e[14]&&t[15]===e[15]},c.equalsEpsilon=function(t,e,n){return t===e||r(t)&&r(e)&&Math.abs(t[0]-e[0])<=n&&Math.abs(t[1]-e[1])<=n&&Math.abs(t[2]-e[2])<=n&&Math.abs(t[3]-e[3])<=n&&Math.abs(t[4]-e[4])<=n&&Math.abs(t[5]-e[5])<=n&&Math.abs(t[6]-e[6])<=n&&Math.abs(t[7]-e[7])<=n&&Math.abs(t[8]-e[8])<=n&&Math.abs(t[9]-e[9])<=n&&Math.abs(t[10]-e[10])<=n&&Math.abs(t[11]-e[11])<=n&&Math.abs(t[12]-e[12])<=n&&Math.abs(t[13]-e[13])<=n&&Math.abs(t[14]-e[14])<=n&&Math.abs(t[15]-e[15])<=n},c.getTranslation=function(e,n){return r(n)?(n.x=e[12],n.y=e[13],n.z=e[14],n):new t(e[12],e[13],e[14])},c.getRotation=function(t,e){return r(e)?(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[4],e[4]=t[5],e[5]=t[6],e[6]=t[8],e[7]=t[9],e[8]=t[10],e):new u(t[0],t[4],t[8],t[1],t[5],t[9],t[2],t[6],t[10])},c.inverse=function(t,e){var n=t[0],i=t[4],a=t[8],u=t[12],l=t[1],h=t[5],f=t[9],d=t[13],m=t[2],p=t[6],y=t[10],w=t[14],v=t[3],g=t[7],x=t[11],M=t[15],z=y*M,E=w*x,S=p*M,b=w*g,O=p*x,R=y*g,_=m*M,T=w*v,I=m*x,C=y*v,P=m*g,N=p*v,q=z*h+b*f+O*d-(E*h+S*f+R*d),A=E*l+_*f+C*d-(z*l+T*f+I*d),U=S*l+T*h+P*d-(b*l+_*h+N*d),L=R*l+I*h+N*f-(O*l+C*h+P*f),F=E*i+S*a+R*u-(z*i+b*a+O*u),D=z*n+T*a+I*u-(E*n+_*a+C*u),W=b*n+_*i+N*u-(S*n+T*i+P*u),B=O*n+C*i+P*a-(R*n+I*i+N*a);z=a*d,E=u*f,S=i*d,b=u*h,O=i*f,R=a*h,_=n*d,T=u*l,I=n*f,C=a*l,P=n*h,N=i*l;var V=z*g+b*x+O*M-(E*g+S*x+R*M),j=E*v+_*x+C*M-(z*v+T*x+I*M),k=S*v+T*g+P*M-(b*v+_*g+N*M),H=R*v+I*g+N*x-(O*v+C*g+P*x),G=S*y+R*w+E*p-(O*w+z*p+b*y),Z=I*w+z*m+T*y-(_*y+C*w+E*m),X=_*p+N*w+b*m-(P*w+S*m+T*p),Y=P*y+O*m+C*p-(I*p+N*y+R*m),K=n*q+i*A+a*U+u*L;if(Math.abs(K)b;b++){t.clone(e[b],i);var O=i.x,R=i.y,_=i.z;Os.x&&t.clone(i,s),Rc.y&&t.clone(i,c),_E.z&&t.clone(i,E)}var T=t.magnitudeSquared(t.subtract(s,a,v)),I=t.magnitudeSquared(t.subtract(c,o,v)),C=t.magnitudeSquared(t.subtract(E,u,v)),P=a,N=s,q=T;I>q&&(q=I,P=o,N=c),C>q&&(q=C,P=u,N=E);var A=g;A.x=.5*(P.x+N.x),A.y=.5*(P.y+N.y),A.z=.5*(P.z+N.z);var U=t.magnitudeSquared(t.subtract(N,A,v)),L=Math.sqrt(U),F=x;F.x=a.x,F.y=o.y,F.z=u.z;var D=M;D.x=s.x,D.y=c.y,D.z=E.z;var W=t.multiplyByScalar(t.add(F,D,v),.5,z),B=0;for(b=0;S>b;b++){t.clone(e[b],i);var V=t.magnitude(t.subtract(i,W,v));V>B&&(B=V);var j=t.magnitudeSquared(t.subtract(i,A,v));if(j>U){var k=Math.sqrt(j);L=.5*(L+k),U=L*L;var H=k-L;A.x=(L*A.x+H*i.x)/k,A.y=(L*A.y+H*i.y)/k,A.z=(L*A.z+H*i.z)/k}}return B>L?(t.clone(A,n.center),n.radius=L):(t.clone(W,n.center),n.radius=B),n};var E=new o,S=new t,b=new t,O=new e,R=new e;l.fromExtent2D=function(t,e,n){return l.fromExtentWithHeights2D(t,e,0,0,n)},l.fromExtentWithHeights2D=function(e,i,a,o,u){if(r(u)||(u=new l),!r(e))return u.center=t.clone(t.ZERO,u.center),u.radius=0,u;i=n(i,E),e.getSouthwest(O),O.height=a,e.getNortheast(R),R.height=o;var s=i.project(O,S),c=i.project(R,b),h=c.x-s.x,f=c.y-s.y,d=c.z-s.z;u.radius=.5*Math.sqrt(h*h+f*f+d*d);var m=u.center;return m.x=s.x+.5*h,m.y=s.y+.5*f,m.z=s.z+.5*d,u};var _=[];l.fromExtent3D=function(t,e,i,o){e=n(e,a.WGS84),i=n(i,0);var u;return r(t)&&(u=t.subsample(e,i,_)),l.fromPoints(u,o)},l.fromVertices=function(e,i,a,o){if(r(o)||(o=new l),!r(e)||0===e.length)return o.center=t.clone(t.ZERO,o.center),o.radius=0,o;i=n(i,t.ZERO),a=n(a,3);var u=w;u.x=e[0]+i.x,u.y=e[1]+i.y,u.z=e[2]+i.z;for(var s=t.clone(u,h),c=t.clone(u,f),E=t.clone(u,d),S=t.clone(u,m),b=t.clone(u,p),O=t.clone(u,y),R=e.length,_=0;R>_;_+=a){var T=e[_]+i.x,I=e[_+1]+i.y,C=e[_+2]+i.z;u.x=T,u.y=I,u.z=C,TS.x&&t.clone(u,S),Ib.y&&t.clone(u,b),CO.z&&t.clone(u,O)}var P=t.magnitudeSquared(t.subtract(S,s,v)),N=t.magnitudeSquared(t.subtract(b,c,v)),q=t.magnitudeSquared(t.subtract(O,E,v)),A=s,U=S,L=P;N>L&&(L=N,A=c,U=b),q>L&&(L=q,A=E,U=O);var F=g;F.x=.5*(A.x+U.x),F.y=.5*(A.y+U.y),F.z=.5*(A.z+U.z);var D=t.magnitudeSquared(t.subtract(U,F,v)),W=Math.sqrt(D),B=x;B.x=s.x,B.y=c.y,B.z=E.z;var V=M;V.x=S.x,V.y=b.y,V.z=O.z;var j=t.multiplyByScalar(t.add(B,V,v),.5,z),k=0;for(_=0;R>_;_+=a){u.x=e[_]+i.x,u.y=e[_+1]+i.y,u.z=e[_+2]+i.z;var H=t.magnitude(t.subtract(u,j,v));H>k&&(k=H);var G=t.magnitudeSquared(t.subtract(u,F,v));if(G>D){var Z=Math.sqrt(G);W=.5*(W+Z),D=W*W;var X=Z-W;F.x=(W*F.x+X*u.x)/Z,F.y=(W*F.y+X*u.y)/Z,F.z=(W*F.z+X*u.z)/Z}}return k>W?(t.clone(F,o.center),o.radius=W):(t.clone(j,o.center),o.radius=k),o},l.fromCornerPoints=function(e,n,i){r(i)||(i=new l);var a=i.center;return t.add(e,n,a),t.multiplyByScalar(a,.5,a),i.radius=t.distance(a,n),i},l.fromEllipsoid=function(e,n){return r(n)||(n=new l),t.clone(t.ZERO,n.center),n.radius=e.maximumRadius,n},l.clone=function(e,n){return r(e)?r(n)?(n.center=t.clone(e.center,n.center),n.radius=e.radius,n):new l(e.center,e.radius):void 0};var T=new t,I=new t;l.union=function(e,n,i){r(i)||(i=new l);var a=e.center,o=n.center;t.add(a,o,I);var u=t.multiplyByScalar(I,.5,I),s=t.magnitude(t.subtract(a,u,T))+e.radius,c=t.magnitude(t.subtract(o,u,T))+n.radius;return i.radius=Math.max(s,c),t.clone(u,i.center),i};var C=new t;l.expand=function(e,n,r){r=l.clone(e,r);var i=t.magnitude(t.subtract(n,r.center,C));return i>r.radius&&(r.radius=i),r},l.intersect=function(e,n){var r=e.center,i=e.radius,a=t.dot(n,r)+n.w;return-i>a?u.OUTSIDE:i>a?u.INTERSECTING:u.INSIDE};var P=new t;l.transform=function(e,n,i){return r(i)||(i=new l),i.center=c.multiplyByPoint(n,e.center,i.center),i.radius=Math.max(t.magnitude(c.getColumn(n,0,P)),t.magnitude(c.getColumn(n,1,P)),t.magnitude(c.getColumn(n,2,P)))*e.radius,i},l.transformWithoutScale=function(t,e,n){return r(n)||(n=new l),n.center=c.multiplyByPoint(e,t.center,n.center),n.radius=t.radius,n};var N=new t;l.getPlaneDistances=function(e,n,i,a){r(a)||(a=new s);var o=t.subtract(e.center,n,N),u=t.multiplyByScalar(i,t.dot(i,o),N),c=t.magnitude(u);return a.start=c-e.radius,a.stop=c+e.radius,a};for(var q=new t,A=new t,U=new t,L=new t,F=new t,D=new e,W=new Array(8),B=0;8>B;++B)W[B]=new t;var V=new o;return l.projectTo2D=function(e,r,i){r=n(r,V);var a=r.ellipsoid,o=e.center,u=e.radius,s=a.geodeticSurfaceNormal(o,q),c=t.cross(t.UNIT_Z,s,A);t.normalize(c,c);var h=t.cross(s,c,U);t.normalize(h,h),t.multiplyByScalar(s,u,s),t.multiplyByScalar(h,u,h),t.multiplyByScalar(c,u,c);var f=t.negate(h,F),d=t.negate(c,L),m=W,p=m[0];t.add(s,h,p),t.add(p,c,p),p=m[1],t.add(s,h,p),t.add(p,d,p),p=m[2],t.add(s,f,p),t.add(p,d,p),p=m[3],t.add(s,f,p),t.add(p,c,p),t.negate(s,s),p=m[4],t.add(s,h,p),t.add(p,c,p),p=m[5],t.add(s,h,p),t.add(p,d,p),p=m[6],t.add(s,f,p),t.add(p,d,p),p=m[7],t.add(s,f,p),t.add(p,c,p);for(var y=m.length,w=0;y>w;++w){var v=m[w];t.add(o,v,v);var g=a.cartesianToCartographic(v,D);r.project(g,v)}i=l.fromPoints(m,i),o=i.center;var x=o.x,M=o.y,z=o.z;return o.x=z,o.y=x,o.z=M,i},l.equals=function(e,n){return e===n||r(e)&&r(n)&&t.equals(e.center,n.center)&&e.radius===n.radius},l.prototype.clone=function(t){return l.clone(this,t)},l.prototype.union=function(t,e){return l.union(this,t,e)},l.prototype.expand=function(t,e){return l.expand(this,t,e)},l.prototype.intersect=function(t){return l.intersect(this,t)},l.prototype.getPlaneDistances=function(t,e,n){return l.getPlaneDistances(this,t,e,n)},l.prototype.projectTo2D=function(t,e){return l.projectTo2D(this,t,e)},l.prototype.equals=function(t){return l.equals(this,t)},l}),define("Core/EllipsoidalOccluder",["./defaultValue","./defined","./defineProperties","./DeveloperError","./Cartesian3","./BoundingSphere"],function(t,e,n,r,i,a){"use strict";function o(t,e,n){var r=t.transformPositionToScaledSpace(e,d),a=i.magnitudeSquared(r),o=Math.sqrt(a),u=i.divideByScalar(r,o,m);a=Math.max(1,a),o=Math.max(1,o);var s=i.dot(u,n),c=i.magnitude(i.cross(u,n)),l=1/o,h=Math.sqrt(a-1)*l;return 1/(s*l-c*h)}function u(t,e,n){return 0>=e||e===1/0||e!==e?void 0:i.multiplyByScalar(t,e,n)}function s(t,e){return t.transformPositionToScaledSpace(e,p),i.normalize(p,p)}var c=function(t,n){this._ellipsoid=t,this._cameraPosition=new i,this._cameraPositionInScaledSpace=new i,this._distanceToLimbInScaledSpaceSquared=0,e(n)&&(this.cameraPosition=n)};n(c.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},cameraPosition:{get:function(){return this._cameraPosition},set:function(t){var e=this._ellipsoid,n=e.transformPositionToScaledSpace(t,this._cameraPositionInScaledSpace),r=i.magnitudeSquared(n)-1;i.clone(t,this._cameraPosition),this._cameraPositionInScaledSpace=n,this._distanceToLimbInScaledSpaceSquared=r}}});var l=new i;c.prototype.isPointVisible=function(t){var e=this._ellipsoid,n=e.transformPositionToScaledSpace(t,l);return this.isScaledSpacePointVisible(n)},c.prototype.isScaledSpacePointVisible=function(t){var e=this._cameraPositionInScaledSpace,n=this._distanceToLimbInScaledSpaceSquared,r=i.subtract(t,e,l),a=-i.dot(r,e),o=a>n&&a*a/i.magnitudeSquared(r)>n;return!o},c.prototype.computeHorizonCullingPoint=function(t,e,n){for(var r=this._ellipsoid,i=s(r,t),a=0,c=0,l=e.length;l>c;++c){var h=e[c],f=o(r,h,i);a=Math.max(a,f)}return u(i,a,n)};var h=new i;c.prototype.computeHorizonCullingPointFromVertices=function(e,n,r,a,c){a=t(a,i.ZERO);for(var l=this._ellipsoid,f=s(l,e),d=0,m=0,p=n.length;p>m;m+=r){h.x=n[m]+a.x,h.y=n[m+1]+a.y,h.z=n[m+2]+a.z;var y=o(l,h,f);d=Math.max(d,y)}return u(f,d,c)};var f=[];c.prototype.computeHorizonCullingPointFromExtent=function(t,e,n){var r=t.subsample(e,0,f),o=a.fromPoints(r);return i.magnitude(o.center)<.1*e.minimumRadius?void 0:this.computeHorizonCullingPoint(o.center,r,n)};var d=new i,m=new i,p=new i;return c}),define("Core/Extent",["./freezeObject","./defaultValue","./defined","./Ellipsoid","./Cartographic","./DeveloperError","./Math"],function(t,e,n,r,i,a,o){"use strict";var u=function(t,n,r,i){this.west=e(t,0),this.south=e(n,0),this.east=e(r,0),this.north=e(i,0)};u.fromDegrees=function(t,r,i,a,s){return t=o.toRadians(e(t,0)),r=o.toRadians(e(r,0)),i=o.toRadians(e(i,0)),a=o.toRadians(e(a,0)),n(s)?(s.west=t,s.south=r,s.east=i,s.north=a,s):new u(t,r,i,a)},u.fromCartographicArray=function(t,e){for(var r=Number.MAX_VALUE,i=-Number.MAX_VALUE,a=Number.MAX_VALUE,o=-Number.MAX_VALUE,s=0,c=t.length;c>s;s++){var l=t[s];r=Math.min(r,l.longitude),i=Math.max(i,l.longitude),a=Math.min(a,l.latitude),o=Math.max(o,l.latitude)}return n(e)?(e.west=r,e.south=a,e.east=i,e.north=o,e):new u(r,a,i,o)},u.clone=function(t,e){return n(t)?n(e)?(e.west=t.west,e.south=t.south,e.east=t.east,e.north=t.north,e):new u(t.west,t.south,t.east,t.north):void 0},u.prototype.clone=function(t){return u.clone(this,t)},u.prototype.equals=function(t){return u.equals(this,t)},u.equals=function(t,e){return t===e||n(t)&&n(e)&&t.west===e.west&&t.south===e.south&&t.east===e.east&&t.north===e.north},u.prototype.equalsEpsilon=function(t,e){return n(t)&&Math.abs(this.west-t.west)<=e&&Math.abs(this.south-t.south)<=e&&Math.abs(this.east-t.east)<=e&&Math.abs(this.north-t.north)<=e},u.prototype.validate=function(){},u.prototype.getSouthwest=function(t){return n(t)?(t.longitude=this.west,t.latitude=this.south,t.height=0,t):new i(this.west,this.south)},u.prototype.getNorthwest=function(t){return n(t)?(t.longitude=this.west,t.latitude=this.north,t.height=0,t):new i(this.west,this.north)},u.prototype.getNortheast=function(t){return n(t)?(t.longitude=this.east,t.latitude=this.north,t.height=0,t):new i(this.east,this.north)},u.prototype.getSoutheast=function(t){return n(t)?(t.longitude=this.east,t.latitude=this.south,t.height=0,t):new i(this.east,this.south)},u.prototype.getCenter=function(t){return n(t)?(t.longitude=.5*(this.west+this.east),t.latitude=.5*(this.south+this.north),t.height=0,t):new i(.5*(this.west+this.east),.5*(this.south+this.north))},u.prototype.intersectWith=function(t,e){var r=Math.max(this.west,t.west),i=Math.max(this.south,t.south),a=Math.min(this.east,t.east),o=Math.min(this.north,t.north);return n(e)?(e.west=r,e.south=i,e.east=a,e.north=o,e):new u(r,i,a,o)},u.prototype.contains=function(t){return t.longitude>=this.west&&t.longitude<=this.east&&t.latitude>=this.south&&t.latitude<=this.north},u.prototype.isEmpty=function(){return this.west>=this.east||this.south>=this.north};var s=new i;return u.prototype.subsample=function(t,i,a){t=e(t,r.WGS84),i=e(i,0),n(a)||(a=[]);var u=0,c=this.north,l=this.south,h=this.east,f=this.west,d=s;d.height=i,d.longitude=f,d.latitude=c,a[u]=t.cartographicToCartesian(d,a[u]),u++,d.longitude=h,a[u]=t.cartographicToCartesian(d,a[u]),u++,d.latitude=l,a[u]=t.cartographicToCartesian(d,a[u]),u++,d.longitude=f,a[u]=t.cartographicToCartesian(d,a[u]),u++,d.latitude=0>c?c:l>0?l:0;for(var m=1;8>m;++m){var p=-Math.PI+m*o.PI_OVER_TWO;p>f&&h>p&&(d.longitude=p,a[u]=t.cartographicToCartesian(d,a[u]),u++)}return 0===d.latitude&&(d.longitude=f,a[u]=t.cartographicToCartesian(d,a[u]),u++,d.longitude=h,a[u]=t.cartographicToCartesian(d,a[u]),u++),a.length=u,a},u.MAX_VALUE=t(new u(-Math.PI,-o.PI_OVER_TWO,Math.PI,o.PI_OVER_TWO)),u}),define("Core/Fullscreen",["./defined"],function(t){"use strict";var e,n={requestFullscreen:void 0,exitFullscreen:void 0,fullscreenEnabled:void 0,fullscreenElement:void 0,fullscreenchange:void 0,fullscreenerror:void 0},r={};return r.supportsFullscreen=function(){if(t(e))return e;e=!1;var r=document.body;if("function"==typeof r.requestFullscreen)return n.requestFullscreen="requestFullscreen",n.exitFullscreen="exitFullscreen",n.fullscreenEnabled="fullscreenEnabled",n.fullscreenElement="fullscreenElement",n.fullscreenchange="fullscreenchange",n.fullscreenerror="fullscreenerror",e=!0;for(var i,a=["webkit","moz","o","ms","khtml"],o=0,u=a.length;u>o;++o){var s=a[o];i=s+"RequestFullscreen","function"==typeof r[i]?(n.requestFullscreen=i,e=!0):(i=s+"RequestFullScreen","function"==typeof r[i]&&(n.requestFullscreen=i,e=!0)),i=s+"ExitFullscreen","function"==typeof document[i]?n.exitFullscreen=i:(i=s+"CancelFullScreen","function"==typeof document[i]&&(n.exitFullscreen=i)),i=s+"FullscreenEnabled",t(document[i])?n.fullscreenEnabled=i:(i=s+"FullScreenEnabled",t(document[i])&&(n.fullscreenEnabled=i)),i=s+"FullscreenElement",t(document[i])?n.fullscreenElement=i:(i=s+"FullScreenElement",t(document[i])&&(n.fullscreenElement=i)),i=s+"fullscreenchange",t(document["on"+i])&&("ms"===s&&(i="MSFullscreenChange"),n.fullscreenchange=i),i=s+"fullscreenerror",t(document["on"+i])&&("ms"===s&&(i="MSFullscreenError"),n.fullscreenerror=i)}return e},r.requestFullscreen=function(t){r.supportsFullscreen()&&t[n.requestFullscreen]()},r.exitFullscreen=function(){r.supportsFullscreen()&&document[n.exitFullscreen]()},r.isFullscreenEnabled=function(){return r.supportsFullscreen()?document[n.fullscreenEnabled]:void 0},r.getFullscreenElement=function(){return r.supportsFullscreen()?document[n.fullscreenElement]:void 0},r.isFullscreen=function(){return r.supportsFullscreen()?null!==r.getFullscreenElement():void 0},r.getFullscreenChangeEventName=function(){return r.supportsFullscreen()?n.fullscreenchange:void 0},r.getFullscreenErrorEventName=function(){return r.supportsFullscreen()?n.fullscreenerror:void 0},r}),define("Core/FeatureDetection",["./defined","./Fullscreen"],function(t,e){"use strict";function n(t){for(var e=t.split("."),n=0,r=e.length;r>n;++n)e[n]=parseInt(e[n],10);return e}function r(){if(!t(h)){var e=/ Chrome\/([\.0-9]+)/.exec(navigator.userAgent);null===e?h=!1:(h=!0,f=n(e[1]))}return h}function i(){return r()&&f}function a(){if(!t(d))if(r()||!/ Safari\/[\.0-9]+/.test(navigator.userAgent))d=!1;else{var e=/ Version\/([\.0-9]+)/.exec(navigator.userAgent);null===e?d=!1:(d=!0,m=n(e[1]))}return d}function o(){return a()&&m}function u(){if(!t(p)){var e=/ AppleWebKit\/([\.0-9]+)(\+?)/.exec(navigator.userAgent);null===e?p=!1:(p=!0,y=n(e[1]),y.isNightly=!!e[2])}return p}function s(){return u()&&y}function c(){if(!t(w)){var e;"Microsoft Internet Explorer"===navigator.appName?(e=/MSIE ([0-9]{1,}[\.0-9]{0,})/.exec(navigator.userAgent),null!==e&&(w=!0,v=n(e[1]))):"Netscape"===navigator.appName?(e=/Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/.exec(navigator.userAgent),null!==e&&(w=!0,v=n(e[1]))):w=!1}return w}function l(){return c()&&v}var h,f,d,m,p,y,w,v,g={isChrome:r,chromeVersion:i,isSafari:a,safariVersion:o,isWebkit:u,webkitVersion:s,isInternetExplorer:c,internetExplorerVersion:l};g.supportsFullscreen=function(){return e.supportsFullscreen()},g.supportsTypedArrays=function(){return"undefined"!=typeof ArrayBuffer};var x;return g.supportsTransferringArrayBuffers=function(){if(!t(x)){if(!g.supportsTypedArrays())return x=!1,void 0;var e=new ArrayBuffer(1);try{postMessage({value:e},[e]),x=!0}catch(n){x=!1}}return x},g}),define("Core/HeightmapTessellator",["./defaultValue","./defined","./freezeObject","./DeveloperError","./Cartesian3","./Ellipsoid","./Math"],function(t,e,n,r,i,a,o){"use strict";var u={};return u.DEFAULT_STRUCTURE=n({heightScale:1,heightOffset:0,elementsPerHeight:1,stride:1,elementMultiplier:256,isBigEndian:!1}),u.computeVertices=function(n){var r,s,c,l,h=Math.cos,f=Math.sin,d=Math.sqrt,m=Math.atan,p=Math.exp,y=o.PI_OVER_TWO,w=o.toRadians,v=n.vertices,g=n.heightmap,x=n.width,M=n.height,z=n.skirtHeight,E=t(n.isGeographic,!0),S=t(n.ellipsoid,a.WGS84),b=1/S.maximumRadius,O=n.nativeExtent,R=n.extent;e(R)?(r=R.west,s=R.south,c=R.east,l=R.north):E?(r=w(O.west),s=w(O.south),c=w(O.east),l=w(O.north)):(r=O.west*b,s=y-2*m(p(-O.south*b)),c=O.east*b,l=y-2*m(p(-O.north*b)));var _=t(n.relativeToCenter,i.ZERO),T=t(n.structure,u.DEFAULT_STRUCTURE),I=t(T.heightScale,u.DEFAULT_STRUCTURE.heightScale),C=t(T.heightOffset,u.DEFAULT_STRUCTURE.heightOffset),P=t(T.elementsPerHeight,u.DEFAULT_STRUCTURE.elementsPerHeight),N=t(T.stride,u.DEFAULT_STRUCTURE.stride),q=t(T.elementMultiplier,u.DEFAULT_STRUCTURE.elementMultiplier),A=t(T.isBigEndian,u.DEFAULT_STRUCTURE.isBigEndian),U=(O.east-O.west)/(x-1),L=(O.north-O.south)/(M-1),F=S.radiiSquared,D=F.x,W=F.y,B=F.z,V=0,j=65536,k=-65536,H=0,G=M,Z=0,X=x;z>0&&(--H,++G,--Z,++X);for(var Y=H;G>Y;++Y){var K=Y;0>K&&(K=0),K>=M&&(K=M-1);var J=O.north-L*K;J=E?w(J):y-2*m(p(-J*b));for(var Q=h(J),$=f(J),te=B*$,ee=(J-s)/(l-s),ne=Z;X>ne;++ne){var re=ne;0>re&&(re=0),re>=x&&(re=x-1);var ie=O.west+U*re;E?ie=w(ie):ie*=b;var ae,oe=K*x*N+re*N;if(1===P)ae=g[oe];else{ae=0;var ue;if(A)for(ue=0;P>ue;++ue)ae=ae*q+g[oe+ue];else for(ue=P-1;ue>=0;--ue)ae=ae*q+g[oe+ue]}ae=ae*I+C,k=Math.max(k,ae),j=Math.min(j,ae),(ne!==re||Y!==K)&&(ae-=z);var se=Q*h(ie),ce=Q*f(ie),le=D*se,he=W*ce,fe=d(le*se+he*ce+te*$),de=1/fe,me=le*de,pe=he*de,ye=te*de;v[V++]=me+se*ae-_.x,v[V++]=pe+ce*ae-_.y,v[V++]=ye+$*ae-_.z,v[V++]=ae;var we=(ie-r)/(c-r);v[V++]=we,v[V++]=ee}}return{maximumHeight:k,minimumHeight:j}},u}),define("Workers/createTaskProcessorWorker",["../Core/defaultValue","../Core/defined"],function(t,e){"use strict";var n=function(n){var r,i=[],a={id:void 0,result:void 0,error:void 0};return function(o){var u=o.data;i.length=0,a.id=u.id,a.error=void 0,a.result=void 0;try{a.result=n(u.parameters,i)}catch(s){a.error=s}e(r)||(r=t(self.webkitPostMessage,self.postMessage));try{r(a,i)}catch(s){a.result=void 0,a.error="postMessage failed with error: "+s+"\n with responseMessage: "+JSON.stringify(a),r(a)}}};return n}),define("Workers/createVerticesFromHeightmap",["../Core/BoundingSphere","../Core/Ellipsoid","../Core/EllipsoidalOccluder","../Core/Extent","../Core/FeatureDetection","../Core/HeightmapTessellator","./createTaskProcessorWorker"],function(t,e,n,r,i,a,o){"use strict";function u(o,u){var s=6,c=o.width,l=o.height;o.skirtHeight>0&&(c+=2,l+=2);var h=new Float32Array(c*l*s);i.supportsTransferringArrayBuffers()&&u.push(h.buffer),o.ellipsoid=e.clone(o.ellipsoid),o.extent=r.clone(o.extent),o.vertices=h;var f=a.computeVertices(o),d=t.fromVertices(h,o.relativeToCenter,s),m=o.ellipsoid,p=new n(m),y=p.computeHorizonCullingPointFromVertices(o.relativeToCenter,h,s,o.relativeToCenter);return{vertices:h.buffer,numberOfAttributes:s,minimumHeight:f.minimumHeight,maximumHeight:f.maximumHeight,gridWidth:c,gridHeight:l,boundingSphere3D:d,occludeePointInScaledSpace:y}}return o(u)})}(); \ No newline at end of file diff --git a/Cesium/Workers/createVerticesFromQuantizedTerrainMesh.js b/Cesium/Workers/createVerticesFromQuantizedTerrainMesh.js new file mode 100644 index 0000000..ebea9ea --- /dev/null +++ b/Cesium/Workers/createVerticesFromQuantizedTerrainMesh.js @@ -0,0 +1,58 @@ +/** + * Cesium - https://github.com/AnalyticalGraphicsInc/cesium + * + * Copyright 2011-2014 Cesium Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Columbus View (Pat. Pend.) + * + * Portions licensed separately. + * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details. + */ +/** +@license +mersenne-twister.js - https://gist.github.com/banksean/300494 + + Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura, + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. The names of its contributors may not be used to endorse or promote + products derived from this software without specific prior written + permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +!function(){define("Core/defined",[],function(){"use strict";var e=function(e){return void 0!==e};return e}),define("Core/freezeObject",["./defined"],function(e){"use strict";var t=Object.freeze;return e(t)||(t=function(e){return e}),t}),define("Core/defaultValue",["./freezeObject"],function(e){"use strict";var t=function(e,t){return void 0!==e?e:t};return t.EMPTY_OBJECT=e({}),t}),define("Core/DeveloperError",["./defined"],function(e){"use strict";var t=function(e){this.name="DeveloperError",this.message=e;var t;try{throw new Error}catch(r){t=r.stack}this.stack=t};return t.prototype.toString=function(){var t=this.name+": "+this.message;return e(this.stack)&&(t+="\n"+this.stack.toString()),t},t.throwInstantiationError=function(){throw new t("This function defines an interface and should not be called directly.")},t}),define("Core/Cartesian3",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,t,r,n){"use strict";var i=function(t,r,n){this.x=e(t,0),this.y=e(r,0),this.z=e(n,0)};i.fromSpherical=function(r,n){t(n)||(n=new i);var o=r.clock,u=r.cone,a=e(r.magnitude,1),s=a*Math.sin(u);return n.x=s*Math.cos(o),n.y=s*Math.sin(o),n.z=a*Math.cos(u),n},i.fromElements=function(e,r,n,o){return t(o)?(o.x=e,o.y=r,o.z=n,o):new i(e,r,n)},i.clone=function(e,r){return t(e)?t(r)?(r.x=e.x,r.y=e.y,r.z=e.z,r):new i(e.x,e.y,e.z):void 0},i.fromCartesian4=i.clone,i.packedLength=3,i.pack=function(t,r,n){n=e(n,0),r[n++]=t.x,r[n++]=t.y,r[n]=t.z},i.unpack=function(r,n,o){return n=e(n,0),t(o)||(o=new i),o.x=r[n++],o.y=r[n++],o.z=r[n],o},i.fromArray=i.unpack,i.getMaximumComponent=function(e){return Math.max(e.x,e.y,e.z)},i.getMinimumComponent=function(e){return Math.min(e.x,e.y,e.z)},i.getMinimumByComponent=function(e,r,n){return t(n)||(n=new i),n.x=Math.min(e.x,r.x),n.y=Math.min(e.y,r.y),n.z=Math.min(e.z,r.z),n},i.getMaximumByComponent=function(e,r,n){return t(n)||(n=new i),n.x=Math.max(e.x,r.x),n.y=Math.max(e.y,r.y),n.z=Math.max(e.z,r.z),n},i.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z},i.magnitude=function(e){return Math.sqrt(i.magnitudeSquared(e))};var o=new i;i.distance=function(e,t){return i.subtract(e,t,o),i.magnitude(o)},i.normalize=function(e,r){var n=i.magnitude(e);return t(r)?(r.x=e.x/n,r.y=e.y/n,r.z=e.z/n,r):new i(e.x/n,e.y/n,e.z/n)},i.dot=function(e,t){return e.x*t.x+e.y*t.y+e.z*t.z},i.multiplyComponents=function(e,r,n){return t(n)?(n.x=e.x*r.x,n.y=e.y*r.y,n.z=e.z*r.z,n):new i(e.x*r.x,e.y*r.y,e.z*r.z)},i.add=function(e,r,n){return t(n)?(n.x=e.x+r.x,n.y=e.y+r.y,n.z=e.z+r.z,n):new i(e.x+r.x,e.y+r.y,e.z+r.z)},i.subtract=function(e,r,n){return t(n)?(n.x=e.x-r.x,n.y=e.y-r.y,n.z=e.z-r.z,n):new i(e.x-r.x,e.y-r.y,e.z-r.z)},i.multiplyByScalar=function(e,r,n){return t(n)?(n.x=e.x*r,n.y=e.y*r,n.z=e.z*r,n):new i(e.x*r,e.y*r,e.z*r)},i.divideByScalar=function(e,r,n){return t(n)?(n.x=e.x/r,n.y=e.y/r,n.z=e.z/r,n):new i(e.x/r,e.y/r,e.z/r)},i.negate=function(e,r){return t(r)?(r.x=-e.x,r.y=-e.y,r.z=-e.z,r):new i(-e.x,-e.y,-e.z)},i.abs=function(e,r){return t(r)?(r.x=Math.abs(e.x),r.y=Math.abs(e.y),r.z=Math.abs(e.z),r):new i(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z))};var u=new i;i.lerp=function(e,t,r,n){return i.multiplyByScalar(t,r,u),n=i.multiplyByScalar(e,1-r,n),i.add(u,n,n)};var a=new i,s=new i;i.angleBetween=function(e,t){i.normalize(e,a),i.normalize(t,s);var r=i.dot(a,s),n=i.magnitude(i.cross(a,s,a));return Math.atan2(n,r)};var c=new i;return i.mostOrthogonalAxis=function(e,t){var r=i.normalize(e,c);return i.abs(r,r),t=r.x<=r.y?r.x<=r.z?i.clone(i.UNIT_X,t):i.clone(i.UNIT_Z,t):r.y<=r.z?i.clone(i.UNIT_Y,t):i.clone(i.UNIT_Z,t)},i.equals=function(e,r){return e===r||t(e)&&t(r)&&e.x===r.x&&e.y===r.y&&e.z===r.z},i.equalsEpsilon=function(e,r,n){return e===r||t(e)&&t(r)&&Math.abs(e.x-r.x)<=n&&Math.abs(e.y-r.y)<=n&&Math.abs(e.z-r.z)<=n},i.cross=function(e,r,n){var o=e.x,u=e.y,a=e.z,s=r.x,c=r.y,l=r.z,h=u*l-a*c,f=a*s-o*l,d=o*c-u*s;return t(n)?(n.x=h,n.y=f,n.z=d,n):new i(h,f,d)},i.ZERO=n(new i(0,0,0)),i.UNIT_X=n(new i(1,0,0)),i.UNIT_Y=n(new i(0,1,0)),i.UNIT_Z=n(new i(0,0,1)),i.prototype.clone=function(e){return i.clone(this,e)},i.prototype.equals=function(e){return i.equals(this,e)},i.prototype.equalsEpsilon=function(e,t){return i.equalsEpsilon(this,e,t)},i.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+")"},i}),define("ThirdParty/mersenne-twister",[],function(){var e=function(e){void 0==e&&(e=(new Date).getTime()),this.N=624,this.M=397,this.MATRIX_A=2567483615,this.UPPER_MASK=2147483648,this.LOWER_MASK=2147483647,this.mt=new Array(this.N),this.mti=this.N+1,this.init_genrand(e)};return e.prototype.init_genrand=function(e){for(this.mt[0]=e>>>0,this.mti=1;this.mti>>30;this.mt[this.mti]=(1812433253*((4294901760&e)>>>16)<<16)+1812433253*(65535&e)+this.mti,this.mt[this.mti]>>>=0}},e.prototype.genrand_int32=function(){var e,t=new Array(0,this.MATRIX_A);if(this.mti>=this.N){var r;for(this.mti==this.N+1&&this.init_genrand(5489),r=0;r>>1^t[1&e];for(;r>>1^t[1&e];e=this.mt[this.N-1]&this.UPPER_MASK|this.mt[0]&this.LOWER_MASK,this.mt[this.N-1]=this.mt[this.M-1]^e>>>1^t[1&e],this.mti=0}return e=this.mt[this.mti++],e^=e>>>11,e^=2636928640&e<<7,e^=4022730752&e<<15,e^=e>>>18,e>>>0},e.prototype.random=function(){return this.genrand_int32()*(1/4294967296)},e}),define("Core/Math",["./defaultValue","./defined","./DeveloperError","../ThirdParty/mersenne-twister"],function(e,t,r,n){"use strict";var i={};i.EPSILON1=.1,i.EPSILON2=.01,i.EPSILON3=.001,i.EPSILON4=1e-4,i.EPSILON5=1e-5,i.EPSILON6=1e-6,i.EPSILON7=1e-7,i.EPSILON8=1e-8,i.EPSILON9=1e-9,i.EPSILON10=1e-10,i.EPSILON11=1e-11,i.EPSILON12=1e-12,i.EPSILON13=1e-13,i.EPSILON14=1e-14,i.EPSILON15=1e-15,i.EPSILON16=1e-16,i.EPSILON17=1e-17,i.EPSILON18=1e-18,i.EPSILON19=1e-19,i.EPSILON20=1e-20,i.GRAVITATIONALPARAMETER=3986004418e5,i.SOLAR_RADIUS=6955e5,i.LUNAR_RADIUS=1737400,i.SIXTY_FOUR_KILOBYTES=65536,i.sign=function(e){return e>0?1:0>e?-1:0},i.sinh=function(e){var t=Math.pow(Math.E,e),r=Math.pow(Math.E,-1*e);return.5*(t-r)},i.cosh=function(e){var t=Math.pow(Math.E,e),r=Math.pow(Math.E,-1*e);return.5*(t+r)},i.lerp=function(e,t,r){return(1-r)*e+r*t},i.PI=Math.PI,i.ONE_OVER_PI=1/Math.PI,i.PI_OVER_TWO=.5*Math.PI,i.PI_OVER_THREE=Math.PI/3,i.PI_OVER_FOUR=Math.PI/4,i.PI_OVER_SIX=Math.PI/6,i.THREE_PI_OVER_TWO=.5*3*Math.PI,i.TWO_PI=2*Math.PI,i.ONE_OVER_TWO_PI=1/(2*Math.PI),i.RADIANS_PER_DEGREE=Math.PI/180,i.DEGREES_PER_RADIAN=180/Math.PI,i.RADIANS_PER_ARCSECOND=i.RADIANS_PER_DEGREE/3600,i.toRadians=function(e){return e*i.RADIANS_PER_DEGREE},i.toDegrees=function(e){return e*i.DEGREES_PER_RADIAN},i.convertLongitudeRange=function(e){var t=i.TWO_PI,r=e-Math.floor(e/t)*t;return r<-Math.PI?r+t:r>=Math.PI?r-t:r},i.negativePiToPi=function(e){for(var t=i.EPSILON10,r=i.PI,n=i.TWO_PI;-(r+t)>e;)e+=n;if(-r>e)return-r;for(;e>r+t;)e-=n;return e>r?r:e},i.zeroToTwoPi=function(e){var t=e%i.TWO_PI;return 0>t?(t+i.TWO_PI)%i.TWO_PI:t},i.equalsEpsilon=function(t,r,n){return n=e(n,0),Math.abs(t-r)<=n};var o=[1];i.factorial=function(e){var t=o.length;if(e>=t)for(var r=o[t-1],n=t;e>=n;n++)o.push(r*n);return o[e]},i.incrementWrap=function(t,r,n){return n=e(n,0),++t,t>r&&(t=n),t},i.isPowerOfTwo=function(e){return 0!==e&&0===(e&e-1)},i.nextPowerOfTwo=function(e){return--e,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,++e,e},i.clamp=function(e,t,r){return t>e?t:e>r?r:e};var u=new n;return i.setRandomNumberSeed=function(e){u=new n(e)},i.nextRandomNumber=function(){return u.random()},i}),define("Core/Cartographic",["./defaultValue","./defined","./DeveloperError","./freezeObject","./Math"],function(e,t,r,n,i){"use strict";var o=function(t,r,n){this.longitude=e(t,0),this.latitude=e(r,0),this.height=e(n,0)};return o.fromDegrees=function(r,n,u,a){return r=i.toRadians(e(r,0)),n=i.toRadians(e(n,0)),u=e(u,0),t(a)?(a.longitude=r,a.latitude=n,a.height=u,a):new o(r,n,u)},o.clone=function(e,r){return t(e)?t(r)?(r.longitude=e.longitude,r.latitude=e.latitude,r.height=e.height,r):new o(e.longitude,e.latitude,e.height):void 0},o.equals=function(e,r){return e===r||t(e)&&t(r)&&e.longitude===r.longitude&&e.latitude===r.latitude&&e.height===r.height},o.equalsEpsilon=function(e,r,n){return e===r||t(e)&&t(r)&&Math.abs(e.longitude-r.longitude)<=n&&Math.abs(e.latitude-r.latitude)<=n&&Math.abs(e.height-r.height)<=n},o.toString=function(e){return"("+e.longitude+", "+e.latitude+", "+e.height+")"},o.ZERO=n(new o(0,0,0)),o.prototype.clone=function(e){return o.clone(this,e)},o.prototype.equals=function(e){return o.equals(this,e)},o.prototype.equalsEpsilon=function(e,t){return o.equalsEpsilon(this,e,t)},o.prototype.toString=function(){return o.toString(this)},o}),define("Core/defineProperties",["./defined"],function(e){"use strict";var t=function(){try{return"x"in Object.defineProperty({},"x",{})}catch(e){return!1}}(),r=Object.defineProperties;return t&&e(r)||(r=function(e){return e}),r}),define("Core/Ellipsoid",["./freezeObject","./defaultValue","./defined","./defineProperties","./DeveloperError","./Math","./Cartesian3","./Cartographic"],function(e,t,r,n,i,o,u,a){"use strict";var s=function(e,r,n){e=t(e,0),r=t(r,0),n=t(n,0),this._radii=new u(e,r,n),this._radiiSquared=new u(e*e,r*r,n*n),this._radiiToTheFourth=new u(e*e*e*e,r*r*r*r,n*n*n*n),this._oneOverRadii=new u(0===e?0:1/e,0===r?0:1/r,0===n?0:1/n),this._oneOverRadiiSquared=new u(0===e?0:1/(e*e),0===r?0:1/(r*r),0===n?0:1/(n*n)),this._minimumRadius=Math.min(e,r,n),this._maximumRadius=Math.max(e,r,n),this._centerToleranceSquared=o.EPSILON1};n(s.prototype,{radii:{get:function(){return this._radii}},radiiSquared:{get:function(){return this._radiiSquared}},radiiToTheFourth:{get:function(){return this._radiiToTheFourth}},oneOverRadii:{get:function(){return this._oneOverRadii}},oneOverRadiiSquared:{get:function(){return this._oneOverRadiiSquared}},minimumRadius:{get:function(){return this._minimumRadius}},maximumRadius:{get:function(){return this._maximumRadius}}}),s.clone=function(e,t){if(!r(e))return void 0;var n=e._radii;return r(t)?(u.clone(n,t._radii),u.clone(e._radiiSquared,t._radiiSquared),u.clone(e._radiiToTheFourth,t._radiiToTheFourth),u.clone(e._oneOverRadii,t._oneOverRadii),u.clone(e._oneOverRadiiSquared,t._oneOverRadiiSquared),t._minimumRadius=e._minimumRadius,t._maximumRadius=e._maximumRadius,t._centerToleranceSquared=e._centerToleranceSquared,t):new s(n.x,n.y,n.z)},s.fromCartesian3=function(e){return r(e)?new s(e.x,e.y,e.z):new s},s.WGS84=e(new s(6378137,6378137,6356752.314245179)),s.UNIT_SPHERE=e(new s(1,1,1)),s.MOON=e(new s(o.LUNAR_RADIUS,o.LUNAR_RADIUS,o.LUNAR_RADIUS)),s.prototype.clone=function(e){return s.clone(this,e)},s.prototype.geocentricSurfaceNormal=u.normalize,s.prototype.geodeticSurfaceNormalCartographic=function(e,t){var n=e.longitude,i=e.latitude,o=Math.cos(i),a=o*Math.cos(n),s=o*Math.sin(n),c=Math.sin(i);return r(t)||(t=new u),t.x=a,t.y=s,t.z=c,u.normalize(t,t)},s.prototype.geodeticSurfaceNormal=function(e,t){return t=u.multiplyComponents(e,this._oneOverRadiiSquared,t),u.normalize(t,t)};var c=new u,l=new u;s.prototype.cartographicToCartesian=function(e,t){var r=c,n=l;this.geodeticSurfaceNormalCartographic(e,r),u.multiplyComponents(this._radiiSquared,r,n);var i=Math.sqrt(u.dot(r,n));return u.divideByScalar(n,i,n),u.multiplyByScalar(r,e.height,r),u.add(n,r,t)},s.prototype.cartographicArrayToCartesianArray=function(e,t){var n=e.length;r(t)?t.length=n:t=new Array(n);for(var i=0;n>i;i++)t[i]=this.cartographicToCartesian(e[i],t[i]);return t};var h=new u,f=new u,d=new u;s.prototype.cartesianToCartographic=function(e,t){var n=this.scaleToGeodeticSurface(e,f);if(!r(n))return void 0;var i=this.geodeticSurfaceNormal(n,h),s=u.subtract(e,n,d),c=Math.atan2(i.y,i.x),l=Math.asin(i.z),m=o.sign(u.dot(s,e))*u.magnitude(s);return r(t)?(t.longitude=c,t.latitude=l,t.height=m,t):new a(c,l,m)},s.prototype.cartesianArrayToCartographicArray=function(e,t){var n=e.length;r(t)?t.length=n:t=new Array(n);for(var i=0;n>i;++i)t[i]=this.cartesianToCartographic(e[i],t[i]);return t};var m=new u,p=new u;return s.prototype.scaleToGeodeticSurface=function(e,t){var n=e.x,i=e.y,a=e.z,s=this._oneOverRadii,c=s.x,l=s.y,h=s.z,f=n*n*c*c,d=i*i*l*l,y=a*a*h*h,g=f+d+y,v=Math.sqrt(1/g),E=u.multiplyByScalar(e,v,m);if(go.EPSILON12);return r(t)?(t.x=n*R,t.y=i*P,t.z=a*O,t):new u(n*R,i*P,a*O)},s.prototype.scaleToGeocentricSurface=function(e,t){var r=e.x,n=e.y,i=e.z,o=this._oneOverRadiiSquared,a=1/Math.sqrt(r*r*o.x+n*n*o.y+i*i*o.z);return u.multiplyByScalar(e,a,t)},s.prototype.transformPositionToScaledSpace=function(e,t){return u.multiplyComponents(e,this._oneOverRadii,t)},s.prototype.transformPositionFromScaledSpace=function(e,t){return u.multiplyComponents(e,this._radii,t)},s.prototype.equals=function(e){return this===e||r(e)&&u.equals(this._radii,e._radii)},s.prototype.toString=function(){return this._radii.toString()},s}),define("Core/Fullscreen",["./defined"],function(e){"use strict";var t,r={requestFullscreen:void 0,exitFullscreen:void 0,fullscreenEnabled:void 0,fullscreenElement:void 0,fullscreenchange:void 0,fullscreenerror:void 0},n={};return n.supportsFullscreen=function(){if(e(t))return t;t=!1;var n=document.body;if("function"==typeof n.requestFullscreen)return r.requestFullscreen="requestFullscreen",r.exitFullscreen="exitFullscreen",r.fullscreenEnabled="fullscreenEnabled",r.fullscreenElement="fullscreenElement",r.fullscreenchange="fullscreenchange",r.fullscreenerror="fullscreenerror",t=!0;for(var i,o=["webkit","moz","o","ms","khtml"],u=0,a=o.length;a>u;++u){var s=o[u];i=s+"RequestFullscreen","function"==typeof n[i]?(r.requestFullscreen=i,t=!0):(i=s+"RequestFullScreen","function"==typeof n[i]&&(r.requestFullscreen=i,t=!0)),i=s+"ExitFullscreen","function"==typeof document[i]?r.exitFullscreen=i:(i=s+"CancelFullScreen","function"==typeof document[i]&&(r.exitFullscreen=i)),i=s+"FullscreenEnabled",e(document[i])?r.fullscreenEnabled=i:(i=s+"FullScreenEnabled",e(document[i])&&(r.fullscreenEnabled=i)),i=s+"FullscreenElement",e(document[i])?r.fullscreenElement=i:(i=s+"FullScreenElement",e(document[i])&&(r.fullscreenElement=i)),i=s+"fullscreenchange",e(document["on"+i])&&("ms"===s&&(i="MSFullscreenChange"),r.fullscreenchange=i),i=s+"fullscreenerror",e(document["on"+i])&&("ms"===s&&(i="MSFullscreenError"),r.fullscreenerror=i)}return t},n.requestFullscreen=function(e){n.supportsFullscreen()&&e[r.requestFullscreen]()},n.exitFullscreen=function(){n.supportsFullscreen()&&document[r.exitFullscreen]()},n.isFullscreenEnabled=function(){return n.supportsFullscreen()?document[r.fullscreenEnabled]:void 0},n.getFullscreenElement=function(){return n.supportsFullscreen()?document[r.fullscreenElement]:void 0},n.isFullscreen=function(){return n.supportsFullscreen()?null!==n.getFullscreenElement():void 0},n.getFullscreenChangeEventName=function(){return n.supportsFullscreen()?r.fullscreenchange:void 0},n.getFullscreenErrorEventName=function(){return n.supportsFullscreen()?r.fullscreenerror:void 0},n}),define("Core/FeatureDetection",["./defined","./Fullscreen"],function(e,t){"use strict";function r(e){for(var t=e.split("."),r=0,n=t.length;n>r;++r)t[r]=parseInt(t[r],10);return t}function n(){if(!e(h)){var t=/ Chrome\/([\.0-9]+)/.exec(navigator.userAgent);null===t?h=!1:(h=!0,f=r(t[1]))}return h}function i(){return n()&&f}function o(){if(!e(d))if(n()||!/ Safari\/[\.0-9]+/.test(navigator.userAgent))d=!1;else{var t=/ Version\/([\.0-9]+)/.exec(navigator.userAgent);null===t?d=!1:(d=!0,m=r(t[1]))}return d}function u(){return o()&&m}function a(){if(!e(p)){var t=/ AppleWebKit\/([\.0-9]+)(\+?)/.exec(navigator.userAgent);null===t?p=!1:(p=!0,y=r(t[1]),y.isNightly=!!t[2])}return p}function s(){return a()&&y}function c(){if(!e(g)){var t;"Microsoft Internet Explorer"===navigator.appName?(t=/MSIE ([0-9]{1,}[\.0-9]{0,})/.exec(navigator.userAgent),null!==t&&(g=!0,v=r(t[1]))):"Netscape"===navigator.appName?(t=/Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/.exec(navigator.userAgent),null!==t&&(g=!0,v=r(t[1]))):g=!1}return g}function l(){return c()&&v}var h,f,d,m,p,y,g,v,E={isChrome:n,chromeVersion:i,isSafari:o,safariVersion:u,isWebkit:a,webkitVersion:s,isInternetExplorer:c,internetExplorerVersion:l};E.supportsFullscreen=function(){return t.supportsFullscreen()},E.supportsTypedArrays=function(){return"undefined"!=typeof ArrayBuffer};var S;return E.supportsTransferringArrayBuffers=function(){if(!e(S)){if(!E.supportsTypedArrays())return S=!1,void 0;var t=new ArrayBuffer(1);try{postMessage({value:t},[t]),S=!0}catch(r){S=!1}}return S},E}),define("Workers/createTaskProcessorWorker",["../Core/defaultValue","../Core/defined"],function(e,t){"use strict";var r=function(r){var n,i=[],o={id:void 0,result:void 0,error:void 0};return function(u){var a=u.data;i.length=0,o.id=a.id,o.error=void 0,o.result=void 0;try{o.result=r(a.parameters,i)}catch(s){o.error=s}t(n)||(n=e(self.webkitPostMessage,self.postMessage));try{n(o,i)}catch(s){o.result=void 0,o.error="postMessage failed with error: "+s+"\n with responseMessage: "+JSON.stringify(o),n(o)}}};return r}),define("Workers/createVerticesFromQuantizedTerrainMesh",["../Core/Cartesian3","../Core/Cartographic","../Core/Ellipsoid","../Core/FeatureDetection","../Core/Math","./createTaskProcessorWorker"],function(e,t,r,n,i,o){"use strict";function u(e,t){for(var o=e.quantizedVertices,u=o.length/3,v=e.westIndices.length+e.eastIndices.length+e.southIndices.length+e.northIndices.length,E=e.minimumHeight,S=e.maximumHeight,x=e.relativeToCenter,_=e.extent,M=_.west,I=_.south,z=_.east,w=_.north,R=r.clone(e.ellipsoid),P=o.subarray(0,u),O=o.subarray(u,2*u),T=o.subarray(2*u,3*u),N=new Float32Array(u*s+v*s),A=0,F=0;u>A;++A,F+=s){var C=P[A]/c,b=O[A]/c,q=i.lerp(E,S,T[A]/c);g.longitude=i.lerp(M,z,C),g.latitude=i.lerp(I,w,b),g.height=q,R.cartographicToCartesian(g,y),N[F+l]=y.x-x.x,N[F+h]=y.y-x.y,N[F+f]=y.z-x.z,N[F+d]=q,N[F+m]=C,N[F+p]=b}var L=Math.max(0,2*(v-4)),D=new Uint16Array(e.indices.length+3*L);D.set(e.indices,0);var k=u*s,U=e.indices.length;return U=a(N,k,D,U,e.westIndices,x,R,_,e.westSkirtHeight,!0),k+=e.westIndices.length*s,U=a(N,k,D,U,e.southIndices,x,R,_,e.southSkirtHeight,!1),k+=e.southIndices.length*s,U=a(N,k,D,U,e.eastIndices,x,R,_,e.eastSkirtHeight,!1),k+=e.eastIndices.length*s,U=a(N,k,D,U,e.northIndices,x,R,_,e.northSkirtHeight,!0),k+=e.northIndices.length*s,n.supportsTransferringArrayBuffers()&&(t.push(N.buffer),t.push(D.buffer)),{vertices:N.buffer,indices:D.buffer}}function a(t,r,n,o,u,a,c,l,h,f){var v,E,S;f?(v=u.length-1,E=-1,S=-1):(v=0,E=u.length,S=1);for(var x=-1,_=r/s,M=v;M!==E;M+=S){var I=u[M],z=I*s,w=t[z+m],R=t[z+p],P=t[z+d];g.longitude=i.lerp(l.west,l.east,w),g.latitude=i.lerp(l.south,l.north,R),g.height=P-h;var O=c.cartographicToCartesian(g,y);e.subtract(O,a,O),t[r++]=O.x,t[r++]=O.y,t[r++]=O.z,t[r++]=g.height,t[r++]=w,t[r++]=R,-1!==x&&(n[o++]=x,n[o++]=_-1,n[o++]=I,n[o++]=_-1,n[o++]=_,n[o++]=I),x=I,++_}return o}var s=6,c=32767,l=0,h=1,f=2,d=3,m=4,p=5,y=new e,g=new t;return o(u)})}(); \ No newline at end of file diff --git a/Cesium/Workers/createWallGeometry.js b/Cesium/Workers/createWallGeometry.js new file mode 100644 index 0000000..e3fed9e --- /dev/null +++ b/Cesium/Workers/createWallGeometry.js @@ -0,0 +1,230 @@ +/** + * Cesium - https://github.com/AnalyticalGraphicsInc/cesium + * + * Copyright 2011-2014 Cesium Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Columbus View (Pat. Pend.) + * + * Portions licensed separately. + * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details. + */ +/** +@license +mersenne-twister.js - https://gist.github.com/banksean/300494 + + Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura, + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. The names of its contributors may not be used to endorse or promote + products derived from this software without specific prior written + permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/** + * @fileOverview + * @license + * + * Grauw URI utilities + * + * See: http://hg.grauw.nl/grauw-lib/file/tip/src/uri.js + * + * @author Laurens Holst (http://www.grauw.nl/) + * + * Copyright 2012 Laurens Holst + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +/** +@license +sprintf.js from the php.js project - https://github.com/kvz/phpjs +Directly from https://github.com/kvz/phpjs/blob/master/functions/strings/sprintf.js + +php.js is copyright 2012 Kevin van Zonneveld. + +Portions copyright Brett Zamir (http://brett-zamir.me), Kevin van Zonneveld +(http://kevin.vanzonneveld.net), Onno Marsman, Theriault, Michael White +(http://getsprink.com), Waldo Malqui Silva, Paulo Freitas, Jack, Jonas +Raoni Soares Silva (http://www.jsfromhell.com), Philip Peterson, Legaev +Andrey, Ates Goral (http://magnetiq.com), Alex, Ratheous, Martijn Wieringa, +Rafa? Kukawski (http://blog.kukawski.pl), lmeyrick +(https://sourceforge.net/projects/bcmath-js/), Nate, Philippe Baumann, +Enrique Gonzalez, Webtoolkit.info (http://www.webtoolkit.info/), Carlos R. +L. Rodrigues (http://www.jsfromhell.com), Ash Searle +(http://hexmen.com/blog/), Jani Hartikainen, travc, Ole Vrijenhoek, +Erkekjetter, Michael Grier, Rafa? Kukawski (http://kukawski.pl), Johnny +Mast (http://www.phpvrouwen.nl), T.Wild, d3x, +http://stackoverflow.com/questions/57803/how-to-convert-decimal-to-hex-in-javascript, +Rafa? Kukawski (http://blog.kukawski.pl/), stag019, pilus, WebDevHobo +(http://webdevhobo.blogspot.com/), marrtins, GeekFG +(http://geekfg.blogspot.com), Andrea Giammarchi +(http://webreflection.blogspot.com), Arpad Ray (mailto:arpad@php.net), +gorthaur, Paul Smith, Tim de Koning (http://www.kingsquare.nl), Joris, Oleg +Eremeev, Steve Hilder, majak, gettimeofday, KELAN, Josh Fraser +(http://onlineaspect.com/2007/06/08/auto-detect-a-time-zone-with-javascript/), +Marc Palau, Martin +(http://www.erlenwiese.de/), Breaking Par Consulting Inc +(http://www.breakingpar.com/bkp/home.nsf/0/87256B280015193F87256CFB006C45F7), +Chris, Mirek Slugen, saulius, Alfonso Jimenez +(http://www.alfonsojimenez.com), Diplom@t (http://difane.com/), felix, +Mailfaker (http://www.weedem.fr/), Tyler Akins (http://rumkin.com), Caio +Ariede (http://caioariede.com), Robin, Kankrelune +(http://www.webfaktory.info/), Karol Kowalski, Imgen Tata +(http://www.myipdf.com/), mdsjack (http://www.mdsjack.bo.it), Dreamer, +Felix Geisendoerfer (http://www.debuggable.com/felix), Lars Fischer, AJ, +David, Aman Gupta, Michael White, Public Domain +(http://www.json.org/json2.js), Steven Levithan +(http://blog.stevenlevithan.com), Sakimori, Pellentesque Malesuada, +Thunder.m, Dj (http://phpjs.org/functions/htmlentities:425#comment_134018), +Steve Clay, David James, Francois, class_exists, nobbler, T. Wild, Itsacon +(http://www.itsacon.net/), date, Ole Vrijenhoek (http://www.nervous.nl/), +Fox, Raphael (Ao RUDLER), Marco, noname, Mateusz "loonquawl" Zalega, Frank +Forte, Arno, ger, mktime, john (http://www.jd-tech.net), Nick Kolosov +(http://sammy.ru), marc andreu, Scott Cariss, Douglas Crockford +(http://javascript.crockford.com), madipta, Slawomir Kaniecki, +ReverseSyntax, Nathan, Alex Wilson, kenneth, Bayron Guevara, Adam Wallner +(http://web2.bitbaro.hu/), paulo kuong, jmweb, Lincoln Ramsay, djmix, +Pyerre, Jon Hohle, Thiago Mata (http://thiagomata.blog.com), lmeyrick +(https://sourceforge.net/projects/bcmath-js/this.), Linuxworld, duncan, +Gilbert, Sanjoy Roy, Shingo, sankai, Oskar Larsson H?gfeldt +(http://oskar-lh.name/), Denny Wardhana, 0m3r, Everlasto, Subhasis Deb, +josh, jd, Pier Paolo Ramon (http://www.mastersoup.com/), P, merabi, Soren +Hansen, Eugene Bulkin (http://doubleaw.com/), Der Simon +(http://innerdom.sourceforge.net/), echo is bad, Ozh, XoraX +(http://www.xorax.info), EdorFaus, JB, J A R, Marc Jansen, Francesco, LH, +Stoyan Kyosev (http://www.svest.org/), nord_ua, omid +(http://phpjs.org/functions/380:380#comment_137122), Brad Touesnard, MeEtc +(http://yass.meetcweb.com), Peter-Paul Koch +(http://www.quirksmode.org/js/beat.html), Olivier Louvignes +(http://mg-crea.com/), T0bsn, Tim Wiel, Bryan Elliott, Jalal Berrami, +Martin, JT, David Randall, Thomas Beaucourt (http://www.webapp.fr), taith, +vlado houba, Pierre-Luc Paour, Kristof Coomans (SCK-CEN Belgian Nucleair +Research Centre), Martin Pool, Kirk Strobeck, Rick Waldron, Brant Messenger +(http://www.brantmessenger.com/), Devan Penner-Woelk, Saulo Vallory, Wagner +B. Soares, Artur Tchernychev, Valentina De Rosa, Jason Wong +(http://carrot.org/), Christoph, Daniel Esteban, strftime, Mick@el, rezna, +Simon Willison (http://simonwillison.net), Anton Ongson, Gabriel Paderni, +Marco van Oort, penutbutterjelly, Philipp Lenssen, Bjorn Roesbeke +(http://www.bjornroesbeke.be/), Bug?, Eric Nagel, Tomasz Wesolowski, +Evertjan Garretsen, Bobby Drake, Blues (http://tech.bluesmoon.info/), Luke +Godfrey, Pul, uestla, Alan C, Ulrich, Rafal Kukawski, Yves Sucaet, +sowberry, Norman "zEh" Fuchs, hitwork, Zahlii, johnrembo, Nick Callen, +Steven Levithan (stevenlevithan.com), ejsanders, Scott Baker, Brian Tafoya +(http://www.premasolutions.com/), Philippe Jausions +(http://pear.php.net/user/jausions), Aidan Lister +(http://aidanlister.com/), Rob, e-mike, HKM, ChaosNo1, metjay, strcasecmp, +strcmp, Taras Bogach, jpfle, Alexander Ermolaev +(http://snippets.dzone.com/user/AlexanderErmolaev), DxGx, kilops, Orlando, +dptr1988, Le Torbi, James (http://www.james-bell.co.uk/), Pedro Tainha +(http://www.pedrotainha.com), James, Arnout Kazemier +(http://www.3rd-Eden.com), Chris McMacken, gabriel paderni, Yannoo, +FGFEmperor, baris ozdil, Tod Gentille, Greg Frazier, jakes, 3D-GRAF, Allan +Jensen (http://www.winternet.no), Howard Yeend, Benjamin Lupton, davook, +daniel airton wermann (http://wermann.com.br), Atli T¨®r, Maximusya, Ryan +W Tenney (http://ryan.10e.us), Alexander M Beedie, fearphage +(http://http/my.opera.com/fearphage/), Nathan Sepulveda, Victor, Matteo, +Billy, stensi, Cord, Manish, T.J. Leahy, Riddler +(http://www.frontierwebdev.com/), Rafa? Kukawski, FremyCompany, Matt +Bradley, Tim de Koning, Luis Salazar (http://www.freaky-media.com/), Diogo +Resende, Rival, Andrej Pavlovic, Garagoth, Le Torbi +(http://www.letorbi.de/), Dino, Josep Sanz (http://www.ws3.es/), rem, +Russell Walker (http://www.nbill.co.uk/), Jamie Beck +(http://www.terabit.ca/), setcookie, Michael, YUI Library: +http://developer.yahoo.com/yui/docs/YAHOO.util.DateLocale.html, Blues at +http://hacks.bluesmoon.info/strftime/strftime.js, Ben +(http://benblume.co.uk/), DtTvB +(http://dt.in.th/2008-09-16.string-length-in-bytes.html), Andreas, William, +meo, incidence, Cagri Ekin, Amirouche, Amir Habibi +(http://www.residence-mixte.com/), Luke Smith (http://lucassmith.name), +Kheang Hok Chin (http://www.distantia.ca/), Jay Klehr, Lorenzo Pisani, +Tony, Yen-Wei Liu, Greenseed, mk.keck, Leslie Hoare, dude, booeyOH, Ben +Bryan + +Licensed under the MIT (MIT-LICENSE.txt) license. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL KEVIN VAN ZONNEVELD BE LIABLE FOR ANY CLAIM, DAMAGES +OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. +*/ + +/** + @license + when.js - https://github.com/cujojs/when + + MIT License (c) copyright B Cavalier & J Hann + + * A lightweight CommonJS Promises/A and when() implementation + * when is part of the cujo.js family of libraries (http://cujojs.com/) + * + * Licensed under the MIT License at: + * http://www.opensource.org/licenses/mit-license.php + * + * @version 1.7.1 + */ + +!function(){define("Core/defined",[],function(){"use strict";var e=function(e){return void 0!==e};return e}),define("Core/freezeObject",["./defined"],function(e){"use strict";var t=Object.freeze;return e(t)||(t=function(e){return e}),t}),define("Core/defaultValue",["./freezeObject"],function(e){"use strict";var t=function(e,t){return void 0!==e?e:t};return t.EMPTY_OBJECT=e({}),t}),define("Core/DeveloperError",["./defined"],function(e){"use strict";var t=function(e){this.name="DeveloperError",this.message=e;var t;try{throw new Error}catch(r){t=r.stack}this.stack=t};return t.prototype.toString=function(){var t=this.name+": "+this.message;return e(this.stack)&&(t+="\n"+this.stack.toString()),t},t.throwInstantiationError=function(){throw new t("This function defines an interface and should not be called directly.")},t}),define("Core/Cartesian3",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,t,r,n){"use strict";var i=function(t,r,n){this.x=e(t,0),this.y=e(r,0),this.z=e(n,0)};i.fromSpherical=function(r,n){t(n)||(n=new i);var a=r.clock,o=r.cone,s=e(r.magnitude,1),u=s*Math.sin(o);return n.x=u*Math.cos(a),n.y=u*Math.sin(a),n.z=s*Math.cos(o),n},i.fromElements=function(e,r,n,a){return t(a)?(a.x=e,a.y=r,a.z=n,a):new i(e,r,n)},i.clone=function(e,r){return t(e)?t(r)?(r.x=e.x,r.y=e.y,r.z=e.z,r):new i(e.x,e.y,e.z):void 0},i.fromCartesian4=i.clone,i.packedLength=3,i.pack=function(t,r,n){n=e(n,0),r[n++]=t.x,r[n++]=t.y,r[n]=t.z},i.unpack=function(r,n,a){return n=e(n,0),t(a)||(a=new i),a.x=r[n++],a.y=r[n++],a.z=r[n],a},i.fromArray=i.unpack,i.getMaximumComponent=function(e){return Math.max(e.x,e.y,e.z)},i.getMinimumComponent=function(e){return Math.min(e.x,e.y,e.z)},i.getMinimumByComponent=function(e,r,n){return t(n)||(n=new i),n.x=Math.min(e.x,r.x),n.y=Math.min(e.y,r.y),n.z=Math.min(e.z,r.z),n},i.getMaximumByComponent=function(e,r,n){return t(n)||(n=new i),n.x=Math.max(e.x,r.x),n.y=Math.max(e.y,r.y),n.z=Math.max(e.z,r.z),n},i.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z},i.magnitude=function(e){return Math.sqrt(i.magnitudeSquared(e))};var a=new i;i.distance=function(e,t){return i.subtract(e,t,a),i.magnitude(a)},i.normalize=function(e,r){var n=i.magnitude(e);return t(r)?(r.x=e.x/n,r.y=e.y/n,r.z=e.z/n,r):new i(e.x/n,e.y/n,e.z/n)},i.dot=function(e,t){return e.x*t.x+e.y*t.y+e.z*t.z},i.multiplyComponents=function(e,r,n){return t(n)?(n.x=e.x*r.x,n.y=e.y*r.y,n.z=e.z*r.z,n):new i(e.x*r.x,e.y*r.y,e.z*r.z)},i.add=function(e,r,n){return t(n)?(n.x=e.x+r.x,n.y=e.y+r.y,n.z=e.z+r.z,n):new i(e.x+r.x,e.y+r.y,e.z+r.z)},i.subtract=function(e,r,n){return t(n)?(n.x=e.x-r.x,n.y=e.y-r.y,n.z=e.z-r.z,n):new i(e.x-r.x,e.y-r.y,e.z-r.z)},i.multiplyByScalar=function(e,r,n){return t(n)?(n.x=e.x*r,n.y=e.y*r,n.z=e.z*r,n):new i(e.x*r,e.y*r,e.z*r)},i.divideByScalar=function(e,r,n){return t(n)?(n.x=e.x/r,n.y=e.y/r,n.z=e.z/r,n):new i(e.x/r,e.y/r,e.z/r)},i.negate=function(e,r){return t(r)?(r.x=-e.x,r.y=-e.y,r.z=-e.z,r):new i(-e.x,-e.y,-e.z)},i.abs=function(e,r){return t(r)?(r.x=Math.abs(e.x),r.y=Math.abs(e.y),r.z=Math.abs(e.z),r):new i(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z))};var o=new i;i.lerp=function(e,t,r,n){return i.multiplyByScalar(t,r,o),n=i.multiplyByScalar(e,1-r,n),i.add(o,n,n)};var s=new i,u=new i;i.angleBetween=function(e,t){i.normalize(e,s),i.normalize(t,u);var r=i.dot(s,u),n=i.magnitude(i.cross(s,u,s));return Math.atan2(n,r)};var l=new i;return i.mostOrthogonalAxis=function(e,t){var r=i.normalize(e,l);return i.abs(r,r),t=r.x<=r.y?r.x<=r.z?i.clone(i.UNIT_X,t):i.clone(i.UNIT_Z,t):r.y<=r.z?i.clone(i.UNIT_Y,t):i.clone(i.UNIT_Z,t)},i.equals=function(e,r){return e===r||t(e)&&t(r)&&e.x===r.x&&e.y===r.y&&e.z===r.z},i.equalsEpsilon=function(e,r,n){return e===r||t(e)&&t(r)&&Math.abs(e.x-r.x)<=n&&Math.abs(e.y-r.y)<=n&&Math.abs(e.z-r.z)<=n},i.cross=function(e,r,n){var a=e.x,o=e.y,s=e.z,u=r.x,l=r.y,c=r.z,f=o*c-s*l,h=s*u-a*c,m=a*l-o*u;return t(n)?(n.x=f,n.y=h,n.z=m,n):new i(f,h,m)},i.ZERO=n(new i(0,0,0)),i.UNIT_X=n(new i(1,0,0)),i.UNIT_Y=n(new i(0,1,0)),i.UNIT_Z=n(new i(0,0,1)),i.prototype.clone=function(e){return i.clone(this,e)},i.prototype.equals=function(e){return i.equals(this,e)},i.prototype.equalsEpsilon=function(e,t){return i.equalsEpsilon(this,e,t)},i.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+")"},i}),define("ThirdParty/mersenne-twister",[],function(){var e=function(e){void 0==e&&(e=(new Date).getTime()),this.N=624,this.M=397,this.MATRIX_A=2567483615,this.UPPER_MASK=2147483648,this.LOWER_MASK=2147483647,this.mt=new Array(this.N),this.mti=this.N+1,this.init_genrand(e)};return e.prototype.init_genrand=function(e){for(this.mt[0]=e>>>0,this.mti=1;this.mti>>30;this.mt[this.mti]=(1812433253*((4294901760&e)>>>16)<<16)+1812433253*(65535&e)+this.mti,this.mt[this.mti]>>>=0}},e.prototype.genrand_int32=function(){var e,t=new Array(0,this.MATRIX_A);if(this.mti>=this.N){var r;for(this.mti==this.N+1&&this.init_genrand(5489),r=0;r>>1^t[1&e];for(;r>>1^t[1&e];e=this.mt[this.N-1]&this.UPPER_MASK|this.mt[0]&this.LOWER_MASK,this.mt[this.N-1]=this.mt[this.M-1]^e>>>1^t[1&e],this.mti=0}return e=this.mt[this.mti++],e^=e>>>11,e^=2636928640&e<<7,e^=4022730752&e<<15,e^=e>>>18,e>>>0},e.prototype.random=function(){return this.genrand_int32()*(1/4294967296)},e}),define("Core/Math",["./defaultValue","./defined","./DeveloperError","../ThirdParty/mersenne-twister"],function(e,t,r,n){"use strict";var i={};i.EPSILON1=.1,i.EPSILON2=.01,i.EPSILON3=.001,i.EPSILON4=1e-4,i.EPSILON5=1e-5,i.EPSILON6=1e-6,i.EPSILON7=1e-7,i.EPSILON8=1e-8,i.EPSILON9=1e-9,i.EPSILON10=1e-10,i.EPSILON11=1e-11,i.EPSILON12=1e-12,i.EPSILON13=1e-13,i.EPSILON14=1e-14,i.EPSILON15=1e-15,i.EPSILON16=1e-16,i.EPSILON17=1e-17,i.EPSILON18=1e-18,i.EPSILON19=1e-19,i.EPSILON20=1e-20,i.GRAVITATIONALPARAMETER=3986004418e5,i.SOLAR_RADIUS=6955e5,i.LUNAR_RADIUS=1737400,i.SIXTY_FOUR_KILOBYTES=65536,i.sign=function(e){return e>0?1:0>e?-1:0},i.sinh=function(e){var t=Math.pow(Math.E,e),r=Math.pow(Math.E,-1*e);return.5*(t-r)},i.cosh=function(e){var t=Math.pow(Math.E,e),r=Math.pow(Math.E,-1*e);return.5*(t+r)},i.lerp=function(e,t,r){return(1-r)*e+r*t},i.PI=Math.PI,i.ONE_OVER_PI=1/Math.PI,i.PI_OVER_TWO=.5*Math.PI,i.PI_OVER_THREE=Math.PI/3,i.PI_OVER_FOUR=Math.PI/4,i.PI_OVER_SIX=Math.PI/6,i.THREE_PI_OVER_TWO=.5*3*Math.PI,i.TWO_PI=2*Math.PI,i.ONE_OVER_TWO_PI=1/(2*Math.PI),i.RADIANS_PER_DEGREE=Math.PI/180,i.DEGREES_PER_RADIAN=180/Math.PI,i.RADIANS_PER_ARCSECOND=i.RADIANS_PER_DEGREE/3600,i.toRadians=function(e){return e*i.RADIANS_PER_DEGREE},i.toDegrees=function(e){return e*i.DEGREES_PER_RADIAN},i.convertLongitudeRange=function(e){var t=i.TWO_PI,r=e-Math.floor(e/t)*t;return r<-Math.PI?r+t:r>=Math.PI?r-t:r},i.negativePiToPi=function(e){for(var t=i.EPSILON10,r=i.PI,n=i.TWO_PI;-(r+t)>e;)e+=n;if(-r>e)return-r;for(;e>r+t;)e-=n;return e>r?r:e},i.zeroToTwoPi=function(e){var t=e%i.TWO_PI;return 0>t?(t+i.TWO_PI)%i.TWO_PI:t},i.equalsEpsilon=function(t,r,n){return n=e(n,0),Math.abs(t-r)<=n};var a=[1];i.factorial=function(e){var t=a.length;if(e>=t)for(var r=a[t-1],n=t;e>=n;n++)a.push(r*n);return a[e]},i.incrementWrap=function(t,r,n){return n=e(n,0),++t,t>r&&(t=n),t},i.isPowerOfTwo=function(e){return 0!==e&&0===(e&e-1)},i.nextPowerOfTwo=function(e){return--e,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,++e,e},i.clamp=function(e,t,r){return t>e?t:e>r?r:e};var o=new n;return i.setRandomNumberSeed=function(e){o=new n(e)},i.nextRandomNumber=function(){return o.random()},i}),define("Core/Cartographic",["./defaultValue","./defined","./DeveloperError","./freezeObject","./Math"],function(e,t,r,n,i){"use strict";var a=function(t,r,n){this.longitude=e(t,0),this.latitude=e(r,0),this.height=e(n,0)};return a.fromDegrees=function(r,n,o,s){return r=i.toRadians(e(r,0)),n=i.toRadians(e(n,0)),o=e(o,0),t(s)?(s.longitude=r,s.latitude=n,s.height=o,s):new a(r,n,o)},a.clone=function(e,r){return t(e)?t(r)?(r.longitude=e.longitude,r.latitude=e.latitude,r.height=e.height,r):new a(e.longitude,e.latitude,e.height):void 0},a.equals=function(e,r){return e===r||t(e)&&t(r)&&e.longitude===r.longitude&&e.latitude===r.latitude&&e.height===r.height},a.equalsEpsilon=function(e,r,n){return e===r||t(e)&&t(r)&&Math.abs(e.longitude-r.longitude)<=n&&Math.abs(e.latitude-r.latitude)<=n&&Math.abs(e.height-r.height)<=n},a.toString=function(e){return"("+e.longitude+", "+e.latitude+", "+e.height+")"},a.ZERO=n(new a(0,0,0)),a.prototype.clone=function(e){return a.clone(this,e)},a.prototype.equals=function(e){return a.equals(this,e)},a.prototype.equalsEpsilon=function(e,t){return a.equalsEpsilon(this,e,t)},a.prototype.toString=function(){return a.toString(this)},a}),define("Core/defineProperties",["./defined"],function(e){"use strict";var t=function(){try{return"x"in Object.defineProperty({},"x",{})}catch(e){return!1}}(),r=Object.defineProperties;return t&&e(r)||(r=function(e){return e}),r}),define("Core/Ellipsoid",["./freezeObject","./defaultValue","./defined","./defineProperties","./DeveloperError","./Math","./Cartesian3","./Cartographic"],function(e,t,r,n,i,a,o,s){"use strict";var u=function(e,r,n){e=t(e,0),r=t(r,0),n=t(n,0),this._radii=new o(e,r,n),this._radiiSquared=new o(e*e,r*r,n*n),this._radiiToTheFourth=new o(e*e*e*e,r*r*r*r,n*n*n*n),this._oneOverRadii=new o(0===e?0:1/e,0===r?0:1/r,0===n?0:1/n),this._oneOverRadiiSquared=new o(0===e?0:1/(e*e),0===r?0:1/(r*r),0===n?0:1/(n*n)),this._minimumRadius=Math.min(e,r,n),this._maximumRadius=Math.max(e,r,n),this._centerToleranceSquared=a.EPSILON1};n(u.prototype,{radii:{get:function(){return this._radii}},radiiSquared:{get:function(){return this._radiiSquared}},radiiToTheFourth:{get:function(){return this._radiiToTheFourth}},oneOverRadii:{get:function(){return this._oneOverRadii}},oneOverRadiiSquared:{get:function(){return this._oneOverRadiiSquared}},minimumRadius:{get:function(){return this._minimumRadius}},maximumRadius:{get:function(){return this._maximumRadius}}}),u.clone=function(e,t){if(!r(e))return void 0;var n=e._radii;return r(t)?(o.clone(n,t._radii),o.clone(e._radiiSquared,t._radiiSquared),o.clone(e._radiiToTheFourth,t._radiiToTheFourth),o.clone(e._oneOverRadii,t._oneOverRadii),o.clone(e._oneOverRadiiSquared,t._oneOverRadiiSquared),t._minimumRadius=e._minimumRadius,t._maximumRadius=e._maximumRadius,t._centerToleranceSquared=e._centerToleranceSquared,t):new u(n.x,n.y,n.z)},u.fromCartesian3=function(e){return r(e)?new u(e.x,e.y,e.z):new u},u.WGS84=e(new u(6378137,6378137,6356752.314245179)),u.UNIT_SPHERE=e(new u(1,1,1)),u.MOON=e(new u(a.LUNAR_RADIUS,a.LUNAR_RADIUS,a.LUNAR_RADIUS)),u.prototype.clone=function(e){return u.clone(this,e)},u.prototype.geocentricSurfaceNormal=o.normalize,u.prototype.geodeticSurfaceNormalCartographic=function(e,t){var n=e.longitude,i=e.latitude,a=Math.cos(i),s=a*Math.cos(n),u=a*Math.sin(n),l=Math.sin(i);return r(t)||(t=new o),t.x=s,t.y=u,t.z=l,o.normalize(t,t)},u.prototype.geodeticSurfaceNormal=function(e,t){return t=o.multiplyComponents(e,this._oneOverRadiiSquared,t),o.normalize(t,t)};var l=new o,c=new o;u.prototype.cartographicToCartesian=function(e,t){var r=l,n=c;this.geodeticSurfaceNormalCartographic(e,r),o.multiplyComponents(this._radiiSquared,r,n);var i=Math.sqrt(o.dot(r,n));return o.divideByScalar(n,i,n),o.multiplyByScalar(r,e.height,r),o.add(n,r,t)},u.prototype.cartographicArrayToCartesianArray=function(e,t){var n=e.length;r(t)?t.length=n:t=new Array(n);for(var i=0;n>i;i++)t[i]=this.cartographicToCartesian(e[i],t[i]);return t};var f=new o,h=new o,m=new o;u.prototype.cartesianToCartographic=function(e,t){var n=this.scaleToGeodeticSurface(e,h);if(!r(n))return void 0;var i=this.geodeticSurfaceNormal(n,f),u=o.subtract(e,n,m),l=Math.atan2(i.y,i.x),c=Math.asin(i.z),d=a.sign(o.dot(u,e))*o.magnitude(u);return r(t)?(t.longitude=l,t.latitude=c,t.height=d,t):new s(l,c,d)},u.prototype.cartesianArrayToCartographicArray=function(e,t){var n=e.length;r(t)?t.length=n:t=new Array(n);for(var i=0;n>i;++i)t[i]=this.cartesianToCartographic(e[i],t[i]);return t};var d=new o,p=new o;return u.prototype.scaleToGeodeticSurface=function(e,t){var n=e.x,i=e.y,s=e.z,u=this._oneOverRadii,l=u.x,c=u.y,f=u.z,h=n*n*l*l,m=i*i*c*c,y=s*s*f*f,v=h+m+y,g=Math.sqrt(1/v),E=o.multiplyByScalar(e,g,d);if(va.EPSILON12);return r(t)?(t.x=n*M,t.y=i*_,t.z=s*b,t):new o(n*M,i*_,s*b)},u.prototype.scaleToGeocentricSurface=function(e,t){var r=e.x,n=e.y,i=e.z,a=this._oneOverRadiiSquared,s=1/Math.sqrt(r*r*a.x+n*n*a.y+i*i*a.z);return o.multiplyByScalar(e,s,t)},u.prototype.transformPositionToScaledSpace=function(e,t){return o.multiplyComponents(e,this._oneOverRadii,t)},u.prototype.transformPositionFromScaledSpace=function(e,t){return o.multiplyComponents(e,this._radii,t)},u.prototype.equals=function(e){return this===e||r(e)&&o.equals(this._radii,e._radii)},u.prototype.toString=function(){return this._radii.toString()},u}),define("Core/GeographicProjection",["./defaultValue","./defined","./defineProperties","./Cartesian3","./Cartographic","./Ellipsoid"],function(e,t,r,n,i,a){"use strict";var o=function(t){this._ellipsoid=e(t,a.WGS84),this._semimajorAxis=this._ellipsoid.maximumRadius,this._oneOverSemimajorAxis=1/this._semimajorAxis};return r(o.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}}),o.prototype.project=function(e,r){var i=this._semimajorAxis,a=e.longitude*i,o=e.latitude*i,s=e.height;return t(r)?(r.x=a,r.y=o,r.z=s,r):new n(a,o,s)},o.prototype.unproject=function(e,r){var n=this._oneOverSemimajorAxis,a=e.x*n,o=e.y*n,s=e.z;return t(r)?(r.longitude=a,r.latitude=o,r.height=s,r):new i(a,o,s)},o}),define("Core/Enumeration",["./defined"],function(e){"use strict";var t=function(t,r,n){if(this.value=t,this.name=r,e(n))for(var i in n)n.hasOwnProperty(i)&&(this[i]=n[i])};return t.prototype.valueOf=function(){return this.value},t.prototype.toString=function(){return this.name},t}),define("Core/Intersect",["./Enumeration"],function(e){"use strict";var t={OUTSIDE:new e(-1,"OUTSIDE"),INTERSECTING:new e(0,"INTERSECTING"),INSIDE:new e(1,"INSIDE")};return t}),define("Core/Interval",["./defaultValue"],function(e){"use strict";var t=function(t,r){this.start=e(t,0),this.stop=e(r,0)};return t}),define("Core/Cartesian4",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,t,r,n){"use strict";var i=function(t,r,n,i){this.x=e(t,0),this.y=e(r,0),this.z=e(n,0),this.w=e(i,0)};i.fromElements=function(e,r,n,a,o){return t(o)?(o.x=e,o.y=r,o.z=n,o.w=a,o):new i(e,r,n,a)},i.clone=function(e,r){return t(e)?t(r)?(r.x=e.x,r.y=e.y,r.z=e.z,r.w=e.w,r):new i(e.x,e.y,e.z,e.w):void 0},i.packedLength=4,i.pack=function(t,r,n){n=e(n,0),r[n++]=t.x,r[n++]=t.y,r[n++]=t.z,r[n]=t.w},i.unpack=function(r,n,a){return n=e(n,0),t(a)||(a=new i),a.x=r[n++],a.y=r[n++],a.z=r[n++],a.w=r[n],a},i.fromArray=i.unpack,i.getMaximumComponent=function(e){return Math.max(e.x,e.y,e.z,e.w)},i.getMinimumComponent=function(e){return Math.min(e.x,e.y,e.z,e.w)},i.getMinimumByComponent=function(e,r,n){return t(n)||(n=new i),n.x=Math.min(e.x,r.x),n.y=Math.min(e.y,r.y),n.z=Math.min(e.z,r.z),n.w=Math.min(e.w,r.w),n},i.getMaximumByComponent=function(e,r,n){return t(n)||(n=new i),n.x=Math.max(e.x,r.x),n.y=Math.max(e.y,r.y),n.z=Math.max(e.z,r.z),n.w=Math.max(e.w,r.w),n},i.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w},i.magnitude=function(e){return Math.sqrt(i.magnitudeSquared(e))};var a=new i;i.distance=function(e,t){return i.subtract(e,t,a),i.magnitude(a)},i.normalize=function(e,r){var n=i.magnitude(e);return t(r)?(r.x=e.x/n,r.y=e.y/n,r.z=e.z/n,r.w=e.w/n,r):new i(e.x/n,e.y/n,e.z/n,e.w/n)},i.dot=function(e,t){return e.x*t.x+e.y*t.y+e.z*t.z+e.w*t.w},i.multiplyComponents=function(e,r,n){return t(n)?(n.x=e.x*r.x,n.y=e.y*r.y,n.z=e.z*r.z,n.w=e.w*r.w,n):new i(e.x*r.x,e.y*r.y,e.z*r.z,e.w*r.w)},i.add=function(e,r,n){return t(n)?(n.x=e.x+r.x,n.y=e.y+r.y,n.z=e.z+r.z,n.w=e.w+r.w,n):new i(e.x+r.x,e.y+r.y,e.z+r.z,e.w+r.w)},i.subtract=function(e,r,n){return t(n)?(n.x=e.x-r.x,n.y=e.y-r.y,n.z=e.z-r.z,n.w=e.w-r.w,n):new i(e.x-r.x,e.y-r.y,e.z-r.z,e.w-r.w)},i.multiplyByScalar=function(e,r,n){return t(n)?(n.x=e.x*r,n.y=e.y*r,n.z=e.z*r,n.w=e.w*r,n):new i(e.x*r,e.y*r,e.z*r,e.w*r)},i.divideByScalar=function(e,r,n){return t(n)?(n.x=e.x/r,n.y=e.y/r,n.z=e.z/r,n.w=e.w/r,n):new i(e.x/r,e.y/r,e.z/r,e.w/r)},i.negate=function(e,r){return t(r)?(r.x=-e.x,r.y=-e.y,r.z=-e.z,r.w=-e.w,r):new i(-e.x,-e.y,-e.z,-e.w)},i.abs=function(e,r){return t(r)?(r.x=Math.abs(e.x),r.y=Math.abs(e.y),r.z=Math.abs(e.z),r.w=Math.abs(e.w),r):new i(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z),Math.abs(e.w))};var o=new i;i.lerp=function(e,t,r,n){return i.multiplyByScalar(t,r,o),n=i.multiplyByScalar(e,1-r,n),i.add(o,n,n)};var s=new i;return i.mostOrthogonalAxis=function(e,t){var r=i.normalize(e,s);return i.abs(r,r),t=r.x<=r.y?r.x<=r.z?r.x<=r.w?i.clone(i.UNIT_X,t):i.clone(i.UNIT_W,t):r.z<=r.w?i.clone(i.UNIT_Z,t):i.clone(i.UNIT_W,t):r.y<=r.z?r.y<=r.w?i.clone(i.UNIT_Y,t):i.clone(i.UNIT_W,t):r.z<=r.w?i.clone(i.UNIT_Z,t):i.clone(i.UNIT_W,t)},i.equals=function(e,r){return e===r||t(e)&&t(r)&&e.x===r.x&&e.y===r.y&&e.z===r.z&&e.w===r.w},i.equalsEpsilon=function(e,r,n){return e===r||t(e)&&t(r)&&Math.abs(e.x-r.x)<=n&&Math.abs(e.y-r.y)<=n&&Math.abs(e.z-r.z)<=n&&Math.abs(e.w-r.w)<=n},i.ZERO=n(new i(0,0,0,0)),i.UNIT_X=n(new i(1,0,0,0)),i.UNIT_Y=n(new i(0,1,0,0)),i.UNIT_Z=n(new i(0,0,1,0)),i.UNIT_W=n(new i(0,0,0,1)),i.prototype.clone=function(e){return i.clone(this,e)},i.prototype.equals=function(e){return i.equals(this,e)},i.prototype.equalsEpsilon=function(e,t){return i.equalsEpsilon(this,e,t)},i.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+", "+this.w+")"},i}),define("Core/Matrix3",["./Cartesian3","./defaultValue","./defined","./DeveloperError","./freezeObject","./Math"],function(e,t,r,n,i,a){"use strict";function o(e){for(var t=0,r=0;9>r;++r){var n=e[r];t+=n*n}return Math.sqrt(t)}function s(e){for(var t=0,r=0;3>r;++r){var n=e[l.getElementIndex(f[r],c[r])];t+=2*n*n}return Math.sqrt(t)}function u(e,t){for(var r=a.EPSILON15,n=0,i=1,o=0;3>o;++o){var s=Math.abs(e[l.getElementIndex(f[o],c[o])]);s>n&&(i=o,n=s)}var u=1,h=0,m=c[i],d=f[i];if(Math.abs(e[l.getElementIndex(d,m)])>r){var p,y=e[l.getElementIndex(d,d)],v=e[l.getElementIndex(m,m)],g=e[l.getElementIndex(d,m)],E=(y-v)/2/g;p=0>E?-1/(-E+Math.sqrt(1+E*E)):1/(E+Math.sqrt(1+E*E)),u=1/Math.sqrt(1+p*p),h=p*u}return t=l.clone(l.IDENTITY,t),t[l.getElementIndex(m,m)]=t[l.getElementIndex(d,d)]=u,t[l.getElementIndex(d,m)]=h,t[l.getElementIndex(m,d)]=-h,t}var l=function(e,r,n,i,a,o,s,u,l){this[0]=t(e,0),this[1]=t(i,0),this[2]=t(s,0),this[3]=t(r,0),this[4]=t(a,0),this[5]=t(u,0),this[6]=t(n,0),this[7]=t(o,0),this[8]=t(l,0)};l.clone=function(e,t){return r(e)?r(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t):new l(e[0],e[3],e[6],e[1],e[4],e[7],e[2],e[5],e[8]):void 0},l.fromArray=function(e,n,i){return n=t(n,0),r(i)||(i=new l),i[0]=e[n],i[1]=e[n+1],i[2]=e[n+2],i[3]=e[n+3],i[4]=e[n+4],i[5]=e[n+5],i[6]=e[n+6],i[7]=e[n+7],i[8]=e[n+8],i[9]=e[n+9],i},l.fromColumnMajorArray=function(e,t){return l.clone(e,t)},l.fromRowMajorArray=function(e,t){return r(t)?(t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8],t):new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])},l.fromQuaternion=function(e,t){var n=e.x*e.x,i=e.x*e.y,a=e.x*e.z,o=e.x*e.w,s=e.y*e.y,u=e.y*e.z,c=e.y*e.w,f=e.z*e.z,h=e.z*e.w,m=e.w*e.w,d=n-s-f+m,p=2*(i-h),y=2*(a+c),v=2*(i+h),g=-n+s-f+m,E=2*(u-o),S=2*(a-c),C=2*(u+o),w=-n-s+f+m;return r(t)?(t[0]=d,t[1]=v,t[2]=S,t[3]=p,t[4]=g,t[5]=C,t[6]=y,t[7]=E,t[8]=w,t):new l(d,p,y,v,g,E,S,C,w)},l.fromScale=function(e,t){return r(t)?(t[0]=e.x,t[1]=0,t[2]=0,t[3]=0,t[4]=e.y,t[5]=0,t[6]=0,t[7]=0,t[8]=e.z,t):new l(e.x,0,0,0,e.y,0,0,0,e.z)},l.fromUniformScale=function(e,t){return r(t)?(t[0]=e,t[1]=0,t[2]=0,t[3]=0,t[4]=e,t[5]=0,t[6]=0,t[7]=0,t[8]=e,t):new l(e,0,0,0,e,0,0,0,e)},l.fromRotationX=function(e,t){var n=Math.cos(e),i=Math.sin(e);return r(t)?(t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=n,t[5]=i,t[6]=0,t[7]=-i,t[8]=n,t):new l(1,0,0,0,n,-i,0,i,n)},l.fromRotationY=function(e,t){var n=Math.cos(e),i=Math.sin(e);return r(t)?(t[0]=n,t[1]=0,t[2]=-i,t[3]=0,t[4]=1,t[5]=0,t[6]=i,t[7]=0,t[8]=n,t):new l(n,0,i,0,1,0,-i,0,n)},l.fromRotationZ=function(e,t){var n=Math.cos(e),i=Math.sin(e);return r(t)?(t[0]=n,t[1]=i,t[2]=0,t[3]=-i,t[4]=n,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t):new l(n,-i,0,i,n,0,0,0,1)},l.toArray=function(e,t){return r(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8]]},l.getElementIndex=function(e,t){return 3*e+t},l.getColumn=function(t,n,i){var a=3*n,o=t[a],s=t[a+1],u=t[a+2];return r(i)?(i.x=o,i.y=s,i.z=u,i):new e(o,s,u)},l.setColumn=function(e,t,r,n){n=l.clone(e,n);var i=3*t;return n[i]=r.x,n[i+1]=r.y,n[i+2]=r.z,n},l.getRow=function(t,n,i){var a=t[n],o=t[n+3],s=t[n+6];return r(i)?(i.x=a,i.y=o,i.z=s,i):new e(a,o,s)},l.setRow=function(e,t,r,n){return n=l.clone(e,n),n[t]=r.x,n[t+3]=r.y,n[t+6]=r.z,n},l.multiply=function(e,t,n){var i=e[0]*t[0]+e[3]*t[1]+e[6]*t[2],a=e[1]*t[0]+e[4]*t[1]+e[7]*t[2],o=e[2]*t[0]+e[5]*t[1]+e[8]*t[2],s=e[0]*t[3]+e[3]*t[4]+e[6]*t[5],u=e[1]*t[3]+e[4]*t[4]+e[7]*t[5],c=e[2]*t[3]+e[5]*t[4]+e[8]*t[5],f=e[0]*t[6]+e[3]*t[7]+e[6]*t[8],h=e[1]*t[6]+e[4]*t[7]+e[7]*t[8],m=e[2]*t[6]+e[5]*t[7]+e[8]*t[8];return r(n)?(n[0]=i,n[1]=a,n[2]=o,n[3]=s,n[4]=u,n[5]=c,n[6]=f,n[7]=h,n[8]=m,n):new l(i,s,f,a,u,h,o,c,m)},l.multiplyByVector=function(t,n,i){var a=n.x,o=n.y,s=n.z,u=t[0]*a+t[3]*o+t[6]*s,l=t[1]*a+t[4]*o+t[7]*s,c=t[2]*a+t[5]*o+t[8]*s;return r(i)?(i.x=u,i.y=l,i.z=c,i):new e(u,l,c)},l.multiplyByScalar=function(e,t,n){return r(n)?(n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n[4]=e[4]*t,n[5]=e[5]*t,n[6]=e[6]*t,n[7]=e[7]*t,n[8]=e[8]*t,n):new l(e[0]*t,e[3]*t,e[6]*t,e[1]*t,e[4]*t,e[7]*t,e[2]*t,e[5]*t,e[8]*t)},l.negate=function(e,t){return r(t)?(t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t[4]=-e[4],t[5]=-e[5],t[6]=-e[6],t[7]=-e[7],t[8]=-e[8],t):new l(-e[0],-e[3],-e[6],-e[1],-e[4],-e[7],-e[2],-e[5],-e[8])},l.transpose=function(e,t){var n=e[0],i=e[3],a=e[6],o=e[1],s=e[4],u=e[7],c=e[2],f=e[5],h=e[8];return r(t)?(t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=u,t[6]=c,t[7]=f,t[8]=h,t):new l(n,o,c,i,s,f,a,u,h)};var c=[1,0,0],f=[2,2,1],h=new l,m=new l;return l.getEigenDecomposition=function(e,t){var n=a.EPSILON20,i=10,c=0,f=0;r(t)||(t={});for(var d=t.unitary=l.clone(l.IDENTITY,t.unitary),p=t.diagonal=l.clone(e,t.diagonal),y=n*o(p);i>f&&s(p)>y;)u(p,h),l.transpose(h,m),l.multiply(p,h,p),l.multiply(m,p,p),l.multiply(d,h,d),++c>2&&(++f,c=0);return t},l.abs=function(e,t){return r(t)?(t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t[3]=Math.abs(e[3]),t[4]=Math.abs(e[4]),t[5]=Math.abs(e[5]),t[6]=Math.abs(e[6]),t[7]=Math.abs(e[7]),t[8]=Math.abs(e[8]),t):new l(Math.abs(e[0]),Math.abs(e[3]),Math.abs(e[6]),Math.abs(e[1]),Math.abs(e[4]),Math.abs(e[7]),Math.abs(e[2]),Math.abs(e[5]),Math.abs(e[8]))},l.determinant=function(e){var t=e[0],r=e[3],n=e[6],i=e[1],a=e[4],o=e[7],s=e[2],u=e[5],l=e[8];return t*(a*l-u*o)+i*(u*n-r*l)+s*(r*o-a*n)},l.inverse=function(e,t){var r=e[0],i=e[1],o=e[2],s=e[3],u=e[4],c=e[5],f=e[6],h=e[7],m=e[8],d=l.determinant(e);if(Math.abs(d)<=a.EPSILON15)throw new n("matrix is not invertible");var p=new l(u*m-h*c,f*c-s*m,s*h-f*u,h*o-i*m,r*m-f*o,f*i-r*h,i*c-u*o,s*o-r*c,r*u-s*i),y=1/d;return l.multiplyByScalar(p,y,t)},l.equals=function(e,t){return e===t||r(e)&&r(t)&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]},l.equalsEpsilon=function(e,t,n){return e===t||r(e)&&r(t)&&Math.abs(e[0]-t[0])<=n&&Math.abs(e[1]-t[1])<=n&&Math.abs(e[2]-t[2])<=n&&Math.abs(e[3]-t[3])<=n&&Math.abs(e[4]-t[4])<=n&&Math.abs(e[5]-t[5])<=n&&Math.abs(e[6]-t[6])<=n&&Math.abs(e[7]-t[7])<=n&&Math.abs(e[8]-t[8])<=n},l.IDENTITY=i(new l(1,0,0,0,1,0,0,0,1)),l.COLUMN0ROW0=0,l.COLUMN0ROW1=1,l.COLUMN0ROW2=2,l.COLUMN1ROW0=3,l.COLUMN1ROW1=4,l.COLUMN1ROW2=5,l.COLUMN2ROW0=6,l.COLUMN2ROW1=7,l.COLUMN2ROW2=8,l.prototype.clone=function(e){return l.clone(this,e)},l.prototype.equals=function(e){return l.equals(this,e)},l.prototype.equalsEpsilon=function(e,t){return l.equalsEpsilon(this,e,t)},l.prototype.toString=function(){return"("+this[0]+", "+this[3]+", "+this[6]+")\n"+"("+this[1]+", "+this[4]+", "+this[7]+")\n"+"("+this[2]+", "+this[5]+", "+this[8]+")"},l}),define("Core/RuntimeError",["./defined"],function(e){"use strict";var t=function(e){this.name="RuntimeError",this.message=e;var t;try{throw new Error}catch(r){t=r.stack}this.stack=t};return t.prototype.toString=function(){var t=this.name+": "+this.message;return e(this.stack)&&(t+="\n"+this.stack.toString()),t},t}),define("Core/Matrix4",["./Cartesian3","./Cartesian4","./defaultValue","./defined","./DeveloperError","./freezeObject","./Math","./Matrix3","./RuntimeError"],function(e,t,r,n,i,a,o,s,u){"use strict";var l=function(e,t,n,i,a,o,s,u,l,c,f,h,m,d,p,y){this[0]=r(e,0),this[1]=r(a,0),this[2]=r(l,0),this[3]=r(m,0),this[4]=r(t,0),this[5]=r(o,0),this[6]=r(c,0),this[7]=r(d,0),this[8]=r(n,0),this[9]=r(s,0),this[10]=r(f,0),this[11]=r(p,0),this[12]=r(i,0),this[13]=r(u,0),this[14]=r(h,0),this[15]=r(y,0)};l.clone=function(e,t){return n(e)?n(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t):new l(e[0],e[4],e[8],e[12],e[1],e[5],e[9],e[13],e[2],e[6],e[10],e[14],e[3],e[7],e[11],e[15]):void 0},l.fromArray=function(e,t,i){return t=r(t,0),n(i)||(i=new l),i[0]=e[t],i[1]=e[t+1],i[2]=e[t+2],i[3]=e[t+3],i[4]=e[t+4],i[5]=e[t+5],i[6]=e[t+6],i[7]=e[t+7],i[8]=e[t+8],i[9]=e[t+9],i[10]=e[t+10],i[11]=e[t+11],i[12]=e[t+12],i[13]=e[t+13],i[14]=e[t+14],i[15]=e[t+15],i},l.fromColumnMajorArray=function(e,t){return l.clone(e,t)},l.fromRowMajorArray=function(e,t){return n(t)?(t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15],t):new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])},l.fromRotationTranslation=function(e,t,r){return n(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=0,r[4]=e[3],r[5]=e[4],r[6]=e[5],r[7]=0,r[8]=e[6],r[9]=e[7],r[10]=e[8],r[11]=0,r[12]=t.x,r[13]=t.y,r[14]=t.z,r[15]=1,r):new l(e[0],e[3],e[6],t.x,e[1],e[4],e[7],t.y,e[2],e[5],e[8],t.z,0,0,0,1)},new s,l.fromTranslationQuaternionRotationScale=function(e,t,r,i){n(i)||(i=new l);var a=r.x,o=r.y,s=r.z,u=t.x*t.x,c=t.x*t.y,f=t.x*t.z,h=t.x*t.w,m=t.y*t.y,d=t.y*t.z,p=t.y*t.w,y=t.z*t.z,v=t.z*t.w,g=t.w*t.w,E=u-m-y+g,S=2*(c-v),C=2*(f+p),w=2*(c+v),x=-u+m-y+g,T=2*(d-h),O=2*(f-p),A=2*(d+h),M=-u-m+y+g;return i[0]=E*a,i[1]=w*a,i[2]=O*a,i[3]=0,i[4]=S*o,i[5]=x*o,i[6]=A*o,i[7]=0,i[8]=C*s,i[9]=T*s,i[10]=M*s,i[11]=0,i[12]=e.x,i[13]=e.y,i[14]=e.z,i[15]=1,i},l.fromTranslation=function(e,t){return l.fromRotationTranslation(s.IDENTITY,e,t)},l.fromScale=function(e,t){return n(t)?(t[0]=e.x,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e.y,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e.z,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t):new l(e.x,0,0,0,0,e.y,0,0,0,0,e.z,0,0,0,0,1)},l.fromUniformScale=function(e,t){return n(t)?(t[0]=e,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t):new l(e,0,0,0,0,e,0,0,0,0,e,0,0,0,0,1)};var c=new e,f=new e,h=new e;l.fromCamera=function(t,r){var i=t.eye,a=t.target,o=t.up;e.normalize(e.subtract(a,i,c),c),e.normalize(e.cross(c,o,f),f),e.normalize(e.cross(f,c,h),h);var s=f.x,u=f.y,m=f.z,d=c.x,p=c.y,y=c.z,v=h.x,g=h.y,E=h.z,S=i.x,C=i.y,w=i.z,x=s*-S+u*-C+m*-w,T=v*-S+g*-C+E*-w,O=d*S+p*C+y*w;return n(r)?(r[0]=s,r[1]=v,r[2]=-d,r[3]=0,r[4]=u,r[5]=g,r[6]=-p,r[7]=0,r[8]=m,r[9]=E,r[10]=-y,r[11]=0,r[12]=x,r[13]=T,r[14]=O,r[15]=1,r):new l(s,u,m,x,v,g,E,T,-d,-p,-y,O,0,0,0,1)},l.computePerspectiveFieldOfView=function(e,t,r,i,a){var o=Math.tan(.5*e),s=1/o,u=s/t,c=(i+r)/(r-i),f=2*i*r/(r-i);return n(a)?(a[0]=u,a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=s,a[6]=0,a[7]=0,a[8]=0,a[9]=0,a[10]=c,a[11]=-1,a[12]=0,a[13]=0,a[14]=f,a[15]=0,a):new l(u,0,0,0,0,s,0,0,0,0,c,f,0,0,-1,0)},l.computeOrthographicOffCenter=function(e,t,r,i,a,o,s){var u=1/(t-e),c=1/(i-r),f=1/(o-a),h=-(t+e)*u,m=-(i+r)*c,d=-(o+a)*f;return u*=2,c*=2,f*=-2,n(s)?(s[0]=u,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=c,s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=f,s[11]=0,s[12]=h,s[13]=m,s[14]=d,s[15]=1,s):new l(u,0,0,h,0,c,0,m,0,0,f,d,0,0,0,1)},l.computePerspectiveOffCenter=function(e,t,r,i,a,o,s){var u=2*a/(t-e),c=2*a/(i-r),f=(t+e)/(t-e),h=(i+r)/(i-r),m=-(o+a)/(o-a),d=-1,p=-2*o*a/(o-a);return n(s)?(s[0]=u,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=c,s[6]=0,s[7]=0,s[8]=f,s[9]=h,s[10]=m,s[11]=d,s[12]=0,s[13]=0,s[14]=p,s[15]=0,s):new l(u,0,f,0,0,c,h,0,0,0,m,p,0,0,d,0)},l.computeInfinitePerspectiveOffCenter=function(e,t,r,i,a,o){var s=2*a/(t-e),u=2*a/(i-r),c=(t+e)/(t-e),f=(i+r)/(i-r),h=-1,m=-1,d=-2*a;return n(o)?(o[0]=s,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=u,o[6]=0,o[7]=0,o[8]=c,o[9]=f,o[10]=h,o[11]=m,o[12]=0,o[13]=0,o[14]=d,o[15]=0,o):new l(s,0,c,0,0,u,f,0,0,0,h,d,0,0,m,0)},l.computeViewportTransformation=function(e,t,i,a){e=r(e,r.EMPTY_OBJECT);var o=r(e.x,0),s=r(e.y,0),u=r(e.width,0),c=r(e.height,0);t=r(t,0),i=r(i,1);var f=.5*u,h=.5*c,m=.5*(i-t),d=f,p=h,y=m,v=o+f,g=s+h,E=t+m,S=1;return n(a)?(a[0]=d,a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=p,a[6]=0,a[7]=0,a[8]=0,a[9]=0,a[10]=y,a[11]=0,a[12]=v,a[13]=g,a[14]=E,a[15]=S,a):new l(d,0,0,v,0,p,0,g,0,0,y,E,0,0,0,S)},l.toArray=function(e,t){return n(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]]},l.getElementIndex=function(e,t){return 4*e+t},l.getColumn=function(e,r,i){var a=4*r,o=e[a],s=e[a+1],u=e[a+2],l=e[a+3];return n(i)?(i.x=o,i.y=s,i.z=u,i.w=l,i):new t(o,s,u,l)},l.setColumn=function(e,t,r,n){n=l.clone(e,n);var i=4*t;return n[i]=r.x,n[i+1]=r.y,n[i+2]=r.z,n[i+3]=r.w,n},l.getRow=function(e,r,i){var a=e[r],o=e[r+4],s=e[r+8],u=e[r+12];return n(i)?(i.x=a,i.y=o,i.z=s,i.w=u,i):new t(a,o,s,u)},l.setRow=function(e,t,r,n){return n=l.clone(e,n),n[t]=r.x,n[t+4]=r.y,n[t+8]=r.z,n[t+12]=r.w,n},l.multiply=function(e,t,r){var i=e[0],a=e[1],o=e[2],s=e[3],u=e[4],c=e[5],f=e[6],h=e[7],m=e[8],d=e[9],p=e[10],y=e[11],v=e[12],g=e[13],E=e[14],S=e[15],C=t[0],w=t[1],x=t[2],T=t[3],O=t[4],A=t[5],M=t[6],_=t[7],b=t[8],D=t[9],I=t[10],N=t[11],P=t[12],R=t[13],z=t[14],L=t[15],F=i*C+u*w+m*x+v*T,U=a*C+c*w+d*x+g*T,B=o*C+f*w+p*x+E*T,q=s*C+h*w+y*x+S*T,G=i*O+u*A+m*M+v*_,W=a*O+c*A+d*M+g*_,Y=o*O+f*A+p*M+E*_,H=s*O+h*A+y*M+S*_,V=i*b+u*D+m*I+v*N,j=a*b+c*D+d*I+g*N,k=o*b+f*D+p*I+E*N,K=s*b+h*D+y*I+S*N,Z=i*P+u*R+m*z+v*L,J=a*P+c*R+d*z+g*L,X=o*P+f*R+p*z+E*L,Q=s*P+h*R+y*z+S*L;return n(r)?(r[0]=F,r[1]=U,r[2]=B,r[3]=q,r[4]=G,r[5]=W,r[6]=Y,r[7]=H,r[8]=V,r[9]=j,r[10]=k,r[11]=K,r[12]=Z,r[13]=J,r[14]=X,r[15]=Q,r):new l(F,G,V,Z,U,W,j,J,B,Y,k,X,q,H,K,Q)},l.multiplyTransformation=function(e,t,r){var i=e[0],a=e[1],o=e[2],s=e[4],u=e[5],c=e[6],f=e[8],h=e[9],m=e[10],d=e[12],p=e[13],y=e[14],v=t[0],g=t[1],E=t[2],S=t[4],C=t[5],w=t[6],x=t[8],T=t[9],O=t[10],A=t[12],M=t[13],_=t[14],b=i*v+s*g+f*E,D=a*v+u*g+h*E,I=o*v+c*g+m*E,N=i*S+s*C+f*w,P=a*S+u*C+h*w,R=o*S+c*C+m*w,z=i*x+s*T+f*O,L=a*x+u*T+h*O,F=o*x+c*T+m*O,U=i*A+s*M+f*_+d,B=a*A+u*M+h*_+p,q=o*A+c*M+m*_+y;return n(r)?(r[0]=b,r[1]=D,r[2]=I,r[3]=0,r[4]=N,r[5]=P,r[6]=R,r[7]=0,r[8]=z,r[9]=L,r[10]=F,r[11]=0,r[12]=U,r[13]=B,r[14]=q,r[15]=1,r):new l(b,N,z,U,D,P,L,B,I,R,F,q,0,0,0,1) +},l.multiplyByTranslation=function(e,t,r){var i=t.x,a=t.y,o=t.z,s=i*e[0]+a*e[4]+o*e[8]+e[12],u=i*e[1]+a*e[5]+o*e[9]+e[13],c=i*e[2]+a*e[6]+o*e[10]+e[14];return n(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r[9]=e[9],r[10]=e[10],r[11]=e[11],r[12]=s,r[13]=u,r[14]=c,r[15]=e[15],r):new l(e[0],e[4],e[8],s,e[1],e[5],e[9],u,e[2],e[6],e[10],c,e[3],e[7],e[11],e[15])};var m=new e;return l.multiplyByUniformScale=function(e,t,r){return m.x=t,m.y=t,m.z=t,l.multiplyByScale(e,m,r)},l.multiplyByScale=function(e,t,r){var i=t.x,a=t.y,o=t.z;return 1===i&&1===a&&1===o?l.clone(e,r):n(r)?(r[0]=i*e[0],r[1]=i*e[1],r[2]=i*e[2],r[3]=0,r[4]=a*e[4],r[5]=a*e[5],r[6]=a*e[6],r[7]=0,r[8]=o*e[8],r[9]=o*e[9],r[10]=o*e[10],r[11]=0,r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=1,r):new l(i*e[0],a*e[4],o*e[8],e[12],i*e[1],a*e[5],o*e[9],e[13],i*e[2],a*e[6],o*e[10],e[14],0,0,0,1)},l.multiplyByVector=function(e,r,i){var a=r.x,o=r.y,s=r.z,u=r.w,l=e[0]*a+e[4]*o+e[8]*s+e[12]*u,c=e[1]*a+e[5]*o+e[9]*s+e[13]*u,f=e[2]*a+e[6]*o+e[10]*s+e[14]*u,h=e[3]*a+e[7]*o+e[11]*s+e[15]*u;return n(i)?(i.x=l,i.y=c,i.z=f,i.w=h,i):new t(l,c,f,h)},l.multiplyByPointAsVector=function(t,r,i){var a=r.x,o=r.y,s=r.z,u=t[0]*a+t[4]*o+t[8]*s,l=t[1]*a+t[5]*o+t[9]*s,c=t[2]*a+t[6]*o+t[10]*s;return n(i)?(i.x=u,i.y=l,i.z=c,i):new e(u,l,c)},l.multiplyByPoint=function(t,r,i){var a=r.x,o=r.y,s=r.z,u=t[0]*a+t[4]*o+t[8]*s+t[12],l=t[1]*a+t[5]*o+t[9]*s+t[13],c=t[2]*a+t[6]*o+t[10]*s+t[14];return n(i)?(i.x=u,i.y=l,i.z=c,i):new e(u,l,c)},l.multiplyByScalar=function(e,t,r){return n(r)?(r[0]=e[0]*t,r[1]=e[1]*t,r[2]=e[2]*t,r[3]=e[3]*t,r[4]=e[4]*t,r[5]=e[5]*t,r[6]=e[6]*t,r[7]=e[7]*t,r[8]=e[8]*t,r[9]=e[9]*t,r[10]=e[10]*t,r[11]=e[11]*t,r[12]=e[12]*t,r[13]=e[13]*t,r[14]=e[14]*t,r[15]=e[15]*t,r):new l(e[0]*t,e[4]*t,e[8]*t,e[12]*t,e[1]*t,e[5]*t,e[9]*t,e[13]*t,e[2]*t,e[6]*t,e[10]*t,e[14]*t,e[3]*t,e[7]*t,e[11]*t,e[15]*t)},l.negate=function(e,t){return n(t)?(t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t[4]=-e[4],t[5]=-e[5],t[6]=-e[6],t[7]=-e[7],t[8]=-e[8],t[9]=-e[9],t[10]=-e[10],t[11]=-e[11],t[12]=-e[12],t[13]=-e[13],t[14]=-e[14],t[15]=-e[15],t):new l(-e[0],-e[4],-e[8],-e[12],-e[1],-e[5],-e[9],-e[13],-e[2],-e[6],-e[10],-e[14],-e[3],-e[7],-e[11],-e[15])},l.transpose=function(e,t){if(!n(t))return new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]);var r=e[1],i=e[2],a=e[3],o=e[6],s=e[7],u=e[11];return t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=r,t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=i,t[9]=o,t[10]=e[10],t[11]=e[14],t[12]=a,t[13]=s,t[14]=u,t[15]=e[15],t},l.abs=function(e,t){return n(t)?(t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t[3]=Math.abs(e[3]),t[4]=Math.abs(e[4]),t[5]=Math.abs(e[5]),t[6]=Math.abs(e[6]),t[7]=Math.abs(e[7]),t[8]=Math.abs(e[8]),t[9]=Math.abs(e[9]),t[10]=Math.abs(e[10]),t[11]=Math.abs(e[11]),t[12]=Math.abs(e[12]),t[13]=Math.abs(e[13]),t[14]=Math.abs(e[14]),t[15]=Math.abs(e[15]),t):new l(Math.abs(e[0]),Math.abs(e[4]),Math.abs(e[8]),Math.abs(e[12]),Math.abs(e[1]),Math.abs(e[5]),Math.abs(e[9]),Math.abs(e[13]),Math.abs(e[2]),Math.abs(e[6]),Math.abs(e[10]),Math.abs(e[14]),Math.abs(e[3]),Math.abs(e[7]),Math.abs(e[11]),Math.abs(e[15]))},l.equals=function(e,t){return e===t||n(e)&&n(t)&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15]},l.equalsEpsilon=function(e,t,r){return e===t||n(e)&&n(t)&&Math.abs(e[0]-t[0])<=r&&Math.abs(e[1]-t[1])<=r&&Math.abs(e[2]-t[2])<=r&&Math.abs(e[3]-t[3])<=r&&Math.abs(e[4]-t[4])<=r&&Math.abs(e[5]-t[5])<=r&&Math.abs(e[6]-t[6])<=r&&Math.abs(e[7]-t[7])<=r&&Math.abs(e[8]-t[8])<=r&&Math.abs(e[9]-t[9])<=r&&Math.abs(e[10]-t[10])<=r&&Math.abs(e[11]-t[11])<=r&&Math.abs(e[12]-t[12])<=r&&Math.abs(e[13]-t[13])<=r&&Math.abs(e[14]-t[14])<=r&&Math.abs(e[15]-t[15])<=r},l.getTranslation=function(t,r){return n(r)?(r.x=t[12],r.y=t[13],r.z=t[14],r):new e(t[12],t[13],t[14])},l.getRotation=function(e,t){return n(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[4],t[4]=e[5],t[5]=e[6],t[6]=e[8],t[7]=e[9],t[8]=e[10],t):new s(e[0],e[4],e[8],e[1],e[5],e[9],e[2],e[6],e[10])},l.inverse=function(e,t){var r=e[0],i=e[4],a=e[8],s=e[12],c=e[1],f=e[5],h=e[9],m=e[13],d=e[2],p=e[6],y=e[10],v=e[14],g=e[3],E=e[7],S=e[11],C=e[15],w=y*C,x=v*S,T=p*C,O=v*E,A=p*S,M=y*E,_=d*C,b=v*g,D=d*S,I=y*g,N=d*E,P=p*g,R=w*f+O*h+A*m-(x*f+T*h+M*m),z=x*c+_*h+I*m-(w*c+b*h+D*m),L=T*c+b*f+N*m-(O*c+_*f+P*m),F=M*c+D*f+P*h-(A*c+I*f+N*h),U=x*i+T*a+M*s-(w*i+O*a+A*s),B=w*r+b*a+D*s-(x*r+_*a+I*s),q=O*r+_*i+P*s-(T*r+b*i+N*s),G=A*r+I*i+N*a-(M*r+D*i+P*a);w=a*m,x=s*h,T=i*m,O=s*f,A=i*h,M=a*f,_=r*m,b=s*c,D=r*h,I=a*c,N=r*f,P=i*c;var W=w*E+O*S+A*C-(x*E+T*S+M*C),Y=x*g+_*S+I*C-(w*g+b*S+D*C),H=T*g+b*E+N*C-(O*g+_*E+P*C),V=M*g+D*E+P*S-(A*g+I*E+N*S),j=T*y+M*v+x*p-(A*v+w*p+O*y),k=D*v+w*d+b*y-(_*y+I*v+x*d),K=_*p+P*v+O*d-(N*v+T*d+b*p),Z=N*y+A*d+I*p-(D*p+P*y+M*d),J=r*R+i*z+a*L+s*F;if(Math.abs(J)O;O++){e.clone(t[O],i);var A=i.x,M=i.y,_=i.z;Au.x&&e.clone(i,u),Ml.y&&e.clone(i,l),_x.z&&e.clone(i,x)}var b=e.magnitudeSquared(e.subtract(u,a,g)),D=e.magnitudeSquared(e.subtract(l,o,g)),I=e.magnitudeSquared(e.subtract(x,s,g)),N=a,P=u,R=b;D>R&&(R=D,N=o,P=l),I>R&&(R=I,N=s,P=x);var z=E;z.x=.5*(N.x+P.x),z.y=.5*(N.y+P.y),z.z=.5*(N.z+P.z);var L=e.magnitudeSquared(e.subtract(P,z,g)),F=Math.sqrt(L),U=S;U.x=a.x,U.y=o.y,U.z=s.z;var B=C;B.x=u.x,B.y=l.y,B.z=x.z;var q=e.multiplyByScalar(e.add(U,B,g),.5,w),G=0;for(O=0;T>O;O++){e.clone(t[O],i);var W=e.magnitude(e.subtract(i,q,g));W>G&&(G=W);var Y=e.magnitudeSquared(e.subtract(i,z,g));if(Y>L){var H=Math.sqrt(Y);F=.5*(F+H),L=F*F;var V=H-F;z.x=(F*z.x+V*i.x)/H,z.y=(F*z.y+V*i.y)/H,z.z=(F*z.z+V*i.z)/H}}return G>F?(e.clone(z,r.center),r.radius=F):(e.clone(q,r.center),r.radius=G),r};var x=new o,T=new e,O=new e,A=new t,M=new t;c.fromExtent2D=function(e,t,r){return c.fromExtentWithHeights2D(e,t,0,0,r)},c.fromExtentWithHeights2D=function(t,i,a,o,s){if(n(s)||(s=new c),!n(t))return s.center=e.clone(e.ZERO,s.center),s.radius=0,s;i=r(i,x),t.getSouthwest(A),A.height=a,t.getNortheast(M),M.height=o;var u=i.project(A,T),l=i.project(M,O),f=l.x-u.x,h=l.y-u.y,m=l.z-u.z;s.radius=.5*Math.sqrt(f*f+h*h+m*m);var d=s.center;return d.x=u.x+.5*f,d.y=u.y+.5*h,d.z=u.z+.5*m,s};var _=[];c.fromExtent3D=function(e,t,i,o){t=r(t,a.WGS84),i=r(i,0);var s;return n(e)&&(s=e.subsample(t,i,_)),c.fromPoints(s,o)},c.fromVertices=function(t,i,a,o){if(n(o)||(o=new c),!n(t)||0===t.length)return o.center=e.clone(e.ZERO,o.center),o.radius=0,o;i=r(i,e.ZERO),a=r(a,3);var s=v;s.x=t[0]+i.x,s.y=t[1]+i.y,s.z=t[2]+i.z;for(var u=e.clone(s,f),l=e.clone(s,h),x=e.clone(s,m),T=e.clone(s,d),O=e.clone(s,p),A=e.clone(s,y),M=t.length,_=0;M>_;_+=a){var b=t[_]+i.x,D=t[_+1]+i.y,I=t[_+2]+i.z;s.x=b,s.y=D,s.z=I,bT.x&&e.clone(s,T),DO.y&&e.clone(s,O),IA.z&&e.clone(s,A)}var N=e.magnitudeSquared(e.subtract(T,u,g)),P=e.magnitudeSquared(e.subtract(O,l,g)),R=e.magnitudeSquared(e.subtract(A,x,g)),z=u,L=T,F=N;P>F&&(F=P,z=l,L=O),R>F&&(F=R,z=x,L=A);var U=E;U.x=.5*(z.x+L.x),U.y=.5*(z.y+L.y),U.z=.5*(z.z+L.z);var B=e.magnitudeSquared(e.subtract(L,U,g)),q=Math.sqrt(B),G=S;G.x=u.x,G.y=l.y,G.z=x.z;var W=C;W.x=T.x,W.y=O.y,W.z=A.z;var Y=e.multiplyByScalar(e.add(G,W,g),.5,w),H=0;for(_=0;M>_;_+=a){s.x=t[_]+i.x,s.y=t[_+1]+i.y,s.z=t[_+2]+i.z;var V=e.magnitude(e.subtract(s,Y,g));V>H&&(H=V);var j=e.magnitudeSquared(e.subtract(s,U,g));if(j>B){var k=Math.sqrt(j);q=.5*(q+k),B=q*q;var K=k-q;U.x=(q*U.x+K*s.x)/k,U.y=(q*U.y+K*s.y)/k,U.z=(q*U.z+K*s.z)/k}}return H>q?(e.clone(U,o.center),o.radius=q):(e.clone(Y,o.center),o.radius=H),o},c.fromCornerPoints=function(t,r,i){n(i)||(i=new c);var a=i.center;return e.add(t,r,a),e.multiplyByScalar(a,.5,a),i.radius=e.distance(a,r),i},c.fromEllipsoid=function(t,r){return n(r)||(r=new c),e.clone(e.ZERO,r.center),r.radius=t.maximumRadius,r},c.clone=function(t,r){return n(t)?n(r)?(r.center=e.clone(t.center,r.center),r.radius=t.radius,r):new c(t.center,t.radius):void 0};var b=new e,D=new e;c.union=function(t,r,i){n(i)||(i=new c);var a=t.center,o=r.center;e.add(a,o,D);var s=e.multiplyByScalar(D,.5,D),u=e.magnitude(e.subtract(a,s,b))+t.radius,l=e.magnitude(e.subtract(o,s,b))+r.radius;return i.radius=Math.max(u,l),e.clone(s,i.center),i};var I=new e;c.expand=function(t,r,n){n=c.clone(t,n);var i=e.magnitude(e.subtract(r,n.center,I));return i>n.radius&&(n.radius=i),n},c.intersect=function(t,r){var n=t.center,i=t.radius,a=e.dot(r,n)+r.w;return-i>a?s.OUTSIDE:i>a?s.INTERSECTING:s.INSIDE};var N=new e;c.transform=function(t,r,i){return n(i)||(i=new c),i.center=l.multiplyByPoint(r,t.center,i.center),i.radius=Math.max(e.magnitude(l.getColumn(r,0,N)),e.magnitude(l.getColumn(r,1,N)),e.magnitude(l.getColumn(r,2,N)))*t.radius,i},c.transformWithoutScale=function(e,t,r){return n(r)||(r=new c),r.center=l.multiplyByPoint(t,e.center,r.center),r.radius=e.radius,r};var P=new e;c.getPlaneDistances=function(t,r,i,a){n(a)||(a=new u);var o=e.subtract(t.center,r,P),s=e.multiplyByScalar(i,e.dot(i,o),P),l=e.magnitude(s);return a.start=l-t.radius,a.stop=l+t.radius,a};for(var R=new e,z=new e,L=new e,F=new e,U=new e,B=new t,q=new Array(8),G=0;8>G;++G)q[G]=new e;var W=new o;return c.projectTo2D=function(t,n,i){n=r(n,W);var a=n.ellipsoid,o=t.center,s=t.radius,u=a.geodeticSurfaceNormal(o,R),l=e.cross(e.UNIT_Z,u,z);e.normalize(l,l);var f=e.cross(u,l,L);e.normalize(f,f),e.multiplyByScalar(u,s,u),e.multiplyByScalar(f,s,f),e.multiplyByScalar(l,s,l);var h=e.negate(f,U),m=e.negate(l,F),d=q,p=d[0];e.add(u,f,p),e.add(p,l,p),p=d[1],e.add(u,f,p),e.add(p,m,p),p=d[2],e.add(u,h,p),e.add(p,m,p),p=d[3],e.add(u,h,p),e.add(p,l,p),e.negate(u,u),p=d[4],e.add(u,f,p),e.add(p,l,p),p=d[5],e.add(u,f,p),e.add(p,m,p),p=d[6],e.add(u,h,p),e.add(p,m,p),p=d[7],e.add(u,h,p),e.add(p,l,p);for(var y=d.length,v=0;y>v;++v){var g=d[v];e.add(o,g,g);var E=a.cartesianToCartographic(g,B);n.project(E,g)}i=c.fromPoints(d,i),o=i.center;var S=o.x,C=o.y,w=o.z;return o.x=w,o.y=S,o.z=C,i},c.equals=function(t,r){return t===r||n(t)&&n(r)&&e.equals(t.center,r.center)&&t.radius===r.radius},c.prototype.clone=function(e){return c.clone(this,e)},c.prototype.union=function(e,t){return c.union(this,e,t)},c.prototype.expand=function(e,t){return c.expand(this,e,t)},c.prototype.intersect=function(e){return c.intersect(this,e)},c.prototype.getPlaneDistances=function(e,t,r){return c.getPlaneDistances(this,e,t,r)},c.prototype.projectTo2D=function(e,t){return c.projectTo2D(this,e,t)},c.prototype.equals=function(e){return c.equals(this,e)},c}),define("Core/Fullscreen",["./defined"],function(e){"use strict";var t,r={requestFullscreen:void 0,exitFullscreen:void 0,fullscreenEnabled:void 0,fullscreenElement:void 0,fullscreenchange:void 0,fullscreenerror:void 0},n={};return n.supportsFullscreen=function(){if(e(t))return t;t=!1;var n=document.body;if("function"==typeof n.requestFullscreen)return r.requestFullscreen="requestFullscreen",r.exitFullscreen="exitFullscreen",r.fullscreenEnabled="fullscreenEnabled",r.fullscreenElement="fullscreenElement",r.fullscreenchange="fullscreenchange",r.fullscreenerror="fullscreenerror",t=!0;for(var i,a=["webkit","moz","o","ms","khtml"],o=0,s=a.length;s>o;++o){var u=a[o];i=u+"RequestFullscreen","function"==typeof n[i]?(r.requestFullscreen=i,t=!0):(i=u+"RequestFullScreen","function"==typeof n[i]&&(r.requestFullscreen=i,t=!0)),i=u+"ExitFullscreen","function"==typeof document[i]?r.exitFullscreen=i:(i=u+"CancelFullScreen","function"==typeof document[i]&&(r.exitFullscreen=i)),i=u+"FullscreenEnabled",e(document[i])?r.fullscreenEnabled=i:(i=u+"FullScreenEnabled",e(document[i])&&(r.fullscreenEnabled=i)),i=u+"FullscreenElement",e(document[i])?r.fullscreenElement=i:(i=u+"FullScreenElement",e(document[i])&&(r.fullscreenElement=i)),i=u+"fullscreenchange",e(document["on"+i])&&("ms"===u&&(i="MSFullscreenChange"),r.fullscreenchange=i),i=u+"fullscreenerror",e(document["on"+i])&&("ms"===u&&(i="MSFullscreenError"),r.fullscreenerror=i)}return t},n.requestFullscreen=function(e){n.supportsFullscreen()&&e[r.requestFullscreen]()},n.exitFullscreen=function(){n.supportsFullscreen()&&document[r.exitFullscreen]()},n.isFullscreenEnabled=function(){return n.supportsFullscreen()?document[r.fullscreenEnabled]:void 0},n.getFullscreenElement=function(){return n.supportsFullscreen()?document[r.fullscreenElement]:void 0},n.isFullscreen=function(){return n.supportsFullscreen()?null!==n.getFullscreenElement():void 0},n.getFullscreenChangeEventName=function(){return n.supportsFullscreen()?r.fullscreenchange:void 0},n.getFullscreenErrorEventName=function(){return n.supportsFullscreen()?r.fullscreenerror:void 0},n}),define("Core/FeatureDetection",["./defined","./Fullscreen"],function(e,t){"use strict";function r(e){for(var t=e.split("."),r=0,n=t.length;n>r;++r)t[r]=parseInt(t[r],10);return t}function n(){if(!e(f)){var t=/ Chrome\/([\.0-9]+)/.exec(navigator.userAgent);null===t?f=!1:(f=!0,h=r(t[1]))}return f}function i(){return n()&&h}function a(){if(!e(m))if(n()||!/ Safari\/[\.0-9]+/.test(navigator.userAgent))m=!1;else{var t=/ Version\/([\.0-9]+)/.exec(navigator.userAgent);null===t?m=!1:(m=!0,d=r(t[1]))}return m}function o(){return a()&&d}function s(){if(!e(p)){var t=/ AppleWebKit\/([\.0-9]+)(\+?)/.exec(navigator.userAgent);null===t?p=!1:(p=!0,y=r(t[1]),y.isNightly=!!t[2])}return p}function u(){return s()&&y}function l(){if(!e(v)){var t;"Microsoft Internet Explorer"===navigator.appName?(t=/MSIE ([0-9]{1,}[\.0-9]{0,})/.exec(navigator.userAgent),null!==t&&(v=!0,g=r(t[1]))):"Netscape"===navigator.appName?(t=/Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/.exec(navigator.userAgent),null!==t&&(v=!0,g=r(t[1]))):v=!1}return v}function c(){return l()&&g}var f,h,m,d,p,y,v,g,E={isChrome:n,chromeVersion:i,isSafari:a,safariVersion:o,isWebkit:s,webkitVersion:u,isInternetExplorer:l,internetExplorerVersion:c};E.supportsFullscreen=function(){return t.supportsFullscreen()},E.supportsTypedArrays=function(){return"undefined"!=typeof ArrayBuffer};var S;return E.supportsTransferringArrayBuffers=function(){if(!e(S)){if(!E.supportsTypedArrays())return S=!1,void 0;var t=new ArrayBuffer(1);try{postMessage({value:t},[t]),S=!0}catch(r){S=!1}}return S},E}),define("Core/ComponentDatatype",["./defaultValue","./defined","./DeveloperError","./FeatureDetection","./Enumeration"],function(e,t,r,n,i){"use strict";if(!n.supportsTypedArrays())return{};var a={BYTE:new i(5120,"BYTE",{sizeInBytes:Int8Array.BYTES_PER_ELEMENT}),UNSIGNED_BYTE:new i(5121,"UNSIGNED_BYTE",{sizeInBytes:Uint8Array.BYTES_PER_ELEMENT}),SHORT:new i(5122,"SHORT",{sizeInBytes:Int16Array.BYTES_PER_ELEMENT}),UNSIGNED_SHORT:new i(5123,"UNSIGNED_SHORT",{sizeInBytes:Uint16Array.BYTES_PER_ELEMENT}),FLOAT:new i(5126,"FLOAT",{sizeInBytes:Float32Array.BYTES_PER_ELEMENT}),DOUBLE:new i(5130,"DOUBLE",{sizeInBytes:Float64Array.BYTES_PER_ELEMENT})};return a.validate=function(e){return t(e)&&t(e.value)&&(e.value===a.BYTE.value||e.value===a.UNSIGNED_BYTE.value||e.value===a.SHORT.value||e.value===a.UNSIGNED_SHORT.value||e.value===a.FLOAT.value||e.value===a.DOUBLE.value)},a.createTypedArray=function(e,t){switch(e.value){case a.BYTE.value:return new Int8Array(t);case a.UNSIGNED_BYTE.value:return new Uint8Array(t);case a.SHORT.value:return new Int16Array(t);case a.UNSIGNED_SHORT.value:return new Uint16Array(t);case a.FLOAT.value:return new Float32Array(t);case a.DOUBLE.value:return new Float64Array(t);default:throw new r("componentDatatype is not a valid enumeration value.")}},a.createArrayBufferView=function(t,n,i,o){switch(i=e(i,0),o=e(o,(n.byteLength-i)/t.sizeInBytes),t.value){case a.BYTE.value:return new Int8Array(n,i,o);case a.UNSIGNED_BYTE.value:return new Uint8Array(n,i,o);case a.SHORT.value:return new Int16Array(n,i,o);case a.UNSIGNED_SHORT.value:return new Uint16Array(n,i,o);case a.FLOAT.value:return new Float32Array(n,i,o);case a.DOUBLE.value:return new Float64Array(n,i,o);default:throw new r("componentDatatype is not a valid enumeration value.")}},a}),define("Core/IndexDatatype",["./defined","./DeveloperError","./Math"],function(e,t,r){"use strict";var n={UNSIGNED_BYTE:5121,UNSIGNED_SHORT:5123,UNSIGNED_INT:5125};return n.getSizeInBytes=function(e){switch(e){case n.UNSIGNED_BYTE:return Uint8Array.BYTES_PER_ELEMENT;case n.UNSIGNED_SHORT:return Uint16Array.BYTES_PER_ELEMENT;case n.UNSIGNED_INT:return Uint32Array.BYTES_PER_ELEMENT}},n.validate=function(t){return e(t)&&(t===n.UNSIGNED_BYTE||t===n.UNSIGNED_SHORT||t===n.UNSIGNED_INT)},n.createTypedArray=function(e,t){return e>r.SIXTY_FOUR_KILOBYTES?new Uint32Array(t):new Uint16Array(t)},n}),define("Core/Geometry",["./defaultValue","./defined","./DeveloperError"],function(e,t,r){"use strict";var n=function(t){t=e(t,e.EMPTY_OBJECT),this.attributes=t.attributes,this.indices=t.indices,this.primitiveType=t.primitiveType,this.boundingSphere=t.boundingSphere};return n.computeNumberOfVertices=function(e){var n=-1;for(var i in e.attributes)if(e.attributes.hasOwnProperty(i)&&t(e.attributes[i])&&t(e.attributes[i].values)){var a=e.attributes[i],o=a.values.length/a.componentsPerAttribute;if(n!==o&&-1!==n)throw new r("All attribute lists must have the same number of attributes.");n=o}return n},n}),define("Core/GeometryAttribute",["./defaultValue","./defined","./DeveloperError"],function(e){"use strict";var t=function(t){t=e(t,e.EMPTY_OBJECT),this.componentDatatype=t.componentDatatype,this.componentsPerAttribute=t.componentsPerAttribute,this.normalize=e(t.normalize,!1),this.values=t.values};return t}),define("Core/GeometryAttributes",["./defaultValue"],function(e){"use strict";var t=function(t){t=e(t,e.EMPTY_OBJECT),this.position=t.position,this.normal=t.normal,this.st=t.st,this.binormal=t.binormal,this.tangent=t.tangent,this.color=t.color};return t}),define("Core/PrimitiveType",[],function(){"use strict";var e={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,validate:function(t){return t===e.POINTS||t===e.LINES||t===e.LINE_LOOP||t===e.LINE_STRIP||t===e.TRIANGLES||t===e.TRIANGLE_STRIP||t===e.TRIANGLE_FAN}};return e}),define("Core/VertexFormat",["./defaultValue","./freezeObject"],function(e,t){"use strict";var r=function(t){t=e(t,e.EMPTY_OBJECT),this.position=e(t.position,!1),this.normal=e(t.normal,!1),this.st=e(t.st,!1),this.binormal=e(t.binormal,!1),this.tangent=e(t.tangent,!1)};return r.POSITION_ONLY=t(new r({position:!0})),r.POSITION_AND_NORMAL=t(new r({position:!0,normal:!0})),r.POSITION_NORMAL_AND_ST=t(new r({position:!0,normal:!0,st:!0})),r.POSITION_AND_ST=t(new r({position:!0,st:!0})),r.ALL=t(new r({position:!0,normal:!0,st:!0,binormal:!0,tangent:!0})),r.DEFAULT=r.POSITION_NORMAL_AND_ST,r}),define("ThirdParty/Uri",[],function(){function e(t){if(t instanceof e)this.scheme=t.scheme,this.authority=t.authority,this.path=t.path,this.query=t.query,this.fragment=t.fragment;else if(t){var r=n.exec(t);this.scheme=r[1],this.authority=r[2],this.path=r[3],this.query=r[4],this.fragment=r[5]}}function t(e){var t=unescape(e);return a.test(t)?t:e.toUpperCase()}function r(e,t,r,n){return(t||"")+r.toLowerCase()+(n||"")}e.prototype.scheme=null,e.prototype.authority=null,e.prototype.path="",e.prototype.query=null,e.prototype.fragment=null;var n=new RegExp("^(?:([^:/?#]+):)?(?://([^/?#]*))?([^?#]*)(?:\\?([^#]*))?(?:#(.*))?$");e.prototype.getScheme=function(){return this.scheme},e.prototype.getAuthority=function(){return this.authority},e.prototype.getPath=function(){return this.path},e.prototype.getQuery=function(){return this.query},e.prototype.getFragment=function(){return this.fragment},e.prototype.isAbsolute=function(){return!!this.scheme&&!this.fragment},e.prototype.isSameDocumentAs=function(e){return e.scheme==this.scheme&&e.authority==this.authority&&e.path==this.path&&e.query==this.query},e.prototype.equals=function(e){return this.isSameDocumentAs(e)&&e.fragment==this.fragment},e.prototype.normalize=function(){this.removeDotSegments(),this.scheme&&(this.scheme=this.scheme.toLowerCase()),this.authority&&(this.authority=this.authority.replace(o,r).replace(i,t)),this.path&&(this.path=this.path.replace(i,t)),this.query&&(this.query=this.query.replace(i,t)),this.fragment&&(this.fragment=this.fragment.replace(i,t))};var i=/%[0-9a-z]{2}/gi,a=/[a-zA-Z0-9\-\._~]/,o=/(.*@)?([^@:]*)(:.*)?/;return e.prototype.resolve=function(t){var r=new e;return this.scheme?(r.scheme=this.scheme,r.authority=this.authority,r.path=this.path,r.query=this.query):(r.scheme=t.scheme,this.authority?(r.authority=this.authority,r.path=this.path,r.query=this.query):(r.authority=t.authority,""==this.path?(r.path=t.path,r.query=this.query||t.query):("/"==this.path.charAt(0)?(r.path=this.path,r.removeDotSegments()):(r.path=t.authority&&""==t.path?"/"+this.path:t.path.substring(0,t.path.lastIndexOf("/")+1)+this.path,r.removeDotSegments()),r.query=this.query))),r.fragment=this.fragment,r},e.prototype.removeDotSegments=function(){var e,t=this.path.split("/"),r=[],n=""==t[0];for(n&&t.shift(),""==t[0]?t.shift():null;t.length;)e=t.shift(),".."==e?r.pop():"."!=e&&r.push(e);("."==e||".."==e)&&r.push(""),n&&r.unshift(""),this.path=r.join("/")},e.prototype.toString=function(){var e="";return this.scheme&&(e+=this.scheme+":"),this.authority&&(e+="//"+this.authority),e+=this.path,this.query&&(e+="?"+this.query),this.fragment&&(e+="#"+this.fragment),e},e}),define("Core/buildModuleUrl",["require","./defined","./DeveloperError","../ThirdParty/Uri"],function(e,t,r,n){"use strict";function i(){for(var e=document.getElementsByTagName("script"),t=0,r=e.length;r>t;++t){var n=e[t].getAttribute("src"),i=f.exec(n);if(null!==i)return i[1]}return void 0}function a(){if(t(u))return u;var e;if(e="undefined"!=typeof CESIUM_BASE_URL?CESIUM_BASE_URL:i(),!t(e))throw new r("Unable to determine Cesium base URL automatically, try defining a global variable called CESIUM_BASE_URL.");return u=new n(e).resolve(new n(document.location.href))}function o(t){return e.toUrl("../"+t)}function s(e){return new n(e).resolve(a()).toString()}var u,l,c,f=/((?:.*\/)|^)cesium[\w-]*\.js(?:\W|$)/i,h=function(r){t(l)||(l=t(e.toUrl)?o:s),t(c)||(c=document.createElement("a"));var n=l(r);return c.href=n,c.href=c.href,c.href};return h._cesiumScriptRegex=f,h}),define("Core/Iau2006XysSample",[],function(){"use strict";var e=function(e,t,r){this.x=e,this.y=t,this.s=r};return e}),define("Core/binarySearch",["./defined","./DeveloperError"],function(){"use strict";var e=function(e,t,r){for(var n,i,a=0,o=e.length-1;o>=a;)if(n=~~((a+o)/2),i=r(e[n],t),0>i)a=n+1;else{if(!(i>0))return n;o=n-1}return~(o+1)};return e}),define("Core/TimeConstants",[],function(){"use strict";var e={SECONDS_PER_MILLISECOND:.001,SECONDS_PER_MINUTE:60,MINUTES_PER_HOUR:60,HOURS_PER_DAY:24,SECONDS_PER_HOUR:3600,MINUTES_PER_DAY:1440,SECONDS_PER_DAY:86400,DAYS_PER_JULIAN_CENTURY:36525,PICOSECOND:1e-9,MODIFIED_JULIAN_DATE_DIFFERENCE:2400000.5};return e}),define("Core/isArray",["./defined"],function(e){"use strict";var t=Array.isArray;return e(t)||(t=function(e){return"[object Array]"===Object.prototype.toString.call(e)}),t}),define("Core/LeapSecond",["./defined","./DeveloperError","./isArray"],function(){"use strict";var e=function(e,t){this.julianDate=e,this.offset=t};return e.setLeapSeconds=function(t){e._leapSeconds=t,e._leapSeconds.sort(e.compareLeapSecondDate)},e.getLeapSeconds=function(){return e._leapSeconds},e.prototype.equals=function(e){return this.julianDate.equals(e.julianDate)&&this.offset===e.offset},e.compareLeapSecondDate=function(e,t){return e.julianDate.compareTo(t.julianDate)},e._leapSeconds=[],e}),define("Core/TimeStandard",[],function(){"use strict";var e={UTC:0,TAI:1};return e}),define("Core/isLeapYear",["./DeveloperError"],function(){"use strict";function e(e){return 0===e%4&&0!==e%100||0===e%400}return e}),define("ThirdParty/sprintf",[],function(){function e(){var e=/%%|%(\d+\$)?([-+\'#0 ]*)(\*\d+\$|\*|\d+)?(\.(\*\d+\$|\*|\d+))?([scboxXuideEfFgG])/g,t=arguments,r=0,n=t[r++],i=function(e,t,r,n){r||(r=" ");var i=e.length>=t?"":Array(1+t-e.length>>>0).join(r);return n?e+i:i+e},a=function(e,t,r,n,a,o){var s=n-e.length;return s>0&&(e=r||!a?i(e,n,o,r):e.slice(0,t.length)+i("",s,"0",!0)+e.slice(t.length)),e},o=function(e,t,r,n,o,s,u){var l=e>>>0;return r=r&&l&&{2:"0b",8:"0",16:"0x"}[t]||"",e=r+i(l.toString(t),s||0,"0",!1),a(e,r,n,o,u)},s=function(e,t,r,n,i,o){return null!=n&&(e=e.slice(0,n)),a(e,"",t,r,i,o)},u=function(e,n,u,l,c,f,h){var m,d,p,y,v;if("%%"==e)return"%";for(var g=!1,E="",S=!1,C=!1,w=" ",x=u.length,T=0;u&&x>T;T++)switch(u.charAt(T)){case" ":E=" ";break;case"+":E="+";break;case"-":g=!0;break;case"'":w=u.charAt(T+1);break;case"0":S=!0;break;case"#":C=!0}if(l=l?"*"==l?+t[r++]:"*"==l.charAt(0)?+t[l.slice(1,-1)]:+l:0,0>l&&(l=-l,g=!0),!isFinite(l))throw new Error("sprintf: (minimum-)width must be finite");switch(f=f?"*"==f?+t[r++]:"*"==f.charAt(0)?+t[f.slice(1,-1)]:+f:"fFeE".indexOf(h)>-1?6:"d"==h?0:void 0,v=n?t[n.slice(0,-1)]:t[r++],h){case"s":return s(String(v),g,l,f,S,w);case"c":return s(String.fromCharCode(+v),g,l,f,S);case"b":return o(v,2,C,g,l,f,S);case"o":return o(v,8,C,g,l,f,S);case"x":return o(v,16,C,g,l,f,S);case"X":return o(v,16,C,g,l,f,S).toUpperCase();case"u":return o(v,10,C,g,l,f,S);case"i":case"d":return m=+v||0,m=Math.round(m-m%1),d=0>m?"-":E,v=d+i(String(Math.abs(m)),f,"0",!1),a(v,d,g,l,S);case"e":case"E":case"f":case"F":case"g":case"G":return m=+v,d=0>m?"-":E,p=["toExponential","toFixed","toPrecision"]["efg".indexOf(h.toLowerCase())],y=["toString","toUpperCase"]["eEfFgG".indexOf(h)%2],v=d+Math.abs(m)[p](f),a(v,d,g,l,S)[y]();default:return e}};return n.replace(e,u)}return e}),define("Core/JulianDate",["./DeveloperError","./binarySearch","./defined","./defaultValue","./TimeConstants","./LeapSecond","./TimeStandard","./isLeapYear","../ThirdParty/sprintf"],function(e,t,r,n,i,a,o,s,u){"use strict";function l(e){v.julianDate=e;var r=a.getLeapSeconds(),n=t(r,v,a.compareLeapSecondDate);0>n&&(n=~n),n>=r.length&&(n=r.length-1);var i=r[n].offset;if(n>0){var o=e.getSecondsDifference(r[n].julianDate);o>i&&(n--,i=r[n].offset)}e.addSeconds(i,e)}function c(e,r){v.julianDate=e;var n=a.getLeapSeconds(),i=t(n,v,a.compareLeapSecondDate);if(0>i&&(i=~i),0===i)return e.addSeconds(-n[0].offset,r);if(i>=n.length)return e.addSeconds(-n[i-1].offset,r);var o=e.getSecondsDifference(n[i].julianDate);return 0===o?e.addSeconds(-n[i].offset,r):1>=o?void 0:e.addSeconds(-n[--i].offset,r)}function f(e,t,n){var a=0|t/i.SECONDS_PER_DAY;return e+=a,t-=i.SECONDS_PER_DAY*a,0>t&&(e--,t+=i.SECONDS_PER_DAY),r(n)?(n._julianDayNumber=e,n._secondsOfDay=t,n):new _(e,t,o.TAI)}function h(e,t,r,n,a,o,s){var u=0|(t-14)/12,l=e+4800+u,c=(0|1461*l/4)+(0|367*(t-2-12*u)/12)-(0|3*((l+100)/100)/4)+r-32075;n-=12,0>n&&(n+=24);var f=o+(n*i.SECONDS_PER_HOUR+a*i.SECONDS_PER_MINUTE+s*i.SECONDS_PER_MILLISECOND);return f>=43200&&(c-=1),[c,f]}function m(e){return h(e.getUTCFullYear(),e.getUTCMonth()+1,e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds())}var d=function(e,t,r,n,i,a,o,s){this.year=e,this.month=t,this.day=r,this.hour=n,this.minute=i,this.second=a,this.millisecond=o,this.isLeapSecond=s},p=[31,28,31,30,31,30,31,31,30,31,30,31],y=29,v={julianDate:void 0},g=/^(\d{4})$/,E=/^(\d{4})-(\d{2})$/,S=/^(\d{4})-?(\d{3})$/,C=/^(\d{4})-?W(\d{2})-?(\d{1})?$/,w=/^(\d{4})-?(\d{2})-?(\d{2})$/,x=/([Z+\-])?(\d{2})?:?(\d{2})?$/,T=/^(\d{2})(\.\d+)?/.source+x.source,O=/^(\d{2}):?(\d{2})(\.\d+)?/.source+x.source,A=/^(\d{2}):?(\d{2}):?(\d{2})(\.\d+)?/.source+x.source,M="Valid ISO 8601 date string required.",_=function(e,t,a){this._julianDayNumber=void 0,this._secondsOfDay=void 0;var s,u;if(r(e)||r(t)||r(a))a=n(a,o.UTC),s=0|e,u=t+(e-s)*i.SECONDS_PER_DAY;else{var c=new Date,h=m(c);s=h[0],u=h[1],a=o.UTC}f(s,u,this),a===o.UTC&&l(this)};_.clone=function(e,t){return r(e)?r(t)?(t._julianDayNumber=e._julianDayNumber,t._secondsOfDay=e._secondsOfDay,t):new _(e._julianDayNumber,e._secondsOfDay,o.TAI):void 0},_.fromDate=function(e,t){var r=m(e);return new _(r[0],r[1],t)},_.fromIso8601=function(t){t=t.replace(",",".");var n,i,a,u=t.split("T"),l=1,c=1,f=0,m=0,d=0,v=0,x=u[0],b=u[1];if(!r(x))throw new e(M);var D;if(u=x.match(w),null!==u){if(D=x.split("-").length-1,D>0&&2!==D)throw new e(M);n=+u[1],l=+u[2],c=+u[3]}else if(u=x.match(E),null!==u)n=+u[1],l=+u[2];else if(u=x.match(g),null!==u)n=+u[1];else{var I;if(u=x.match(S),null!==u){if(n=+u[1],I=+u[2],a=s(n),1>I||a&&I>366||!a&&I>365)throw new e(M)}else{if(u=x.match(C),null===u)throw new e(M);n=+u[1];var N=+u[2],P=+u[3]||0;if(D=x.split("-").length-1,D>0&&(!r(u[3])&&1!==D||r(u[3])&&2!==D))throw new e(M);var R=new Date(Date.UTC(n,0,4));I=7*N+P-R.getUTCDay()-3}i=new Date(Date.UTC(n,0,1)),i.setUTCDate(I),l=i.getUTCMonth()+1,c=i.getUTCDate()}if(a=s(n),1>l||l>12||1>c||(2!==l||!a)&&c>p[l-1]||a&&2===l&&c>y)throw new e(M);var z;if(r(b)){if(u=b.match(A),null!==u){if(D=b.split(":").length-1,D>0&&2!==D&&3!==D)throw new e(M);f=+u[1],m=+u[2],d=+u[3],v=1e3*+(u[4]||0),z=5}else if(u=b.match(O),null!==u){if(D=b.split(":").length-1,D>0&&1!==D)throw new e(M);f=+u[1],m=+u[2],d=60*+(u[3]||0),z=4}else{if(u=b.match(T),null===u)throw new e(M);f=+u[1],m=60*+(u[2]||0),z=3}if(m>=60||d>=61||f>24||24===f&&(m>0||d>0||v>0))throw new e(M);var L=u[z],F=+u[z+1],U=+(u[z+2]||0);switch(L){case"+":f-=F,m-=U;break;case"-":f+=F,m+=U;break;case"Z":break;default:m+=new Date(Date.UTC(n,l-1,c,f,m)).getTimezoneOffset()}}else m+=new Date(Date.UTC(n,l-1,c)).getTimezoneOffset();var B=60===d;for(B&&d--;m>=60;)m-=60,f++;for(;f>=24;)f-=24,c++;for(i=a&&2===l?y:p[l-1];c>i;)c-=i,l++,l>12&&(l-=12,n++),i=a&&2===l?y:p[l-1];for(;0>m;)m+=60,f--;for(;0>f;)f+=24,c--;for(;1>c;)l--,1>l&&(l+=12,n--),i=a&&2===l?y:p[l-1],c+=i;var q=h(n,l,c,f,m,d,v),G=new _(q[0],q[1],o.UTC);return B&&G.addSeconds(1,G),G},_.fromTotalDays=function(e,t){return new _(e,0,t)},_.compare=function(e,t){var r=e._julianDayNumber-t._julianDayNumber;return 0!==r?r:e._secondsOfDay-t._secondsOfDay +},_.equals=function(e,t){return e===t||r(e)&&r(t)&&e._julianDayNumber===t._julianDayNumber&&e._secondsOfDay===t._secondsOfDay},_.equalsEpsilon=function(e,t,r){return Math.abs(e.getSecondsDifference(t))<=r},_.prototype.clone=function(e){return _.clone(this,e)},_.prototype.getTotalDays=function(){return this._julianDayNumber+this._secondsOfDay/i.SECONDS_PER_DAY},_.prototype.getJulianDayNumber=function(){return this._julianDayNumber},_.prototype.getJulianTimeFraction=function(){return this._secondsOfDay/i.SECONDS_PER_DAY},_.prototype.getSecondsOfDay=function(){return this._secondsOfDay};var b=new _(0,0,o.TAI);return _.prototype.toGregorianDate=function(){var e=!1,t=c(this,b);r(t)||(this.addSeconds(-1,b),t=c(b,b),e=!0);var n=t._julianDayNumber,a=t._secondsOfDay;a>=43200&&(n+=1);var o=0|n+68569,s=0|4*o/146097;o=0|o-(0|(146097*s+3)/4);var u=0|4e3*(o+1)/1461001;o=0|o-(0|1461*u/4)+31;var l=0|80*o/2447,f=0|o-(0|2447*l/80);o=0|l/11;var h=0|l+2-12*o,m=0|100*(s-49)+u+o,p=0|a/i.SECONDS_PER_HOUR,y=a-p*i.SECONDS_PER_HOUR,v=0|y/i.SECONDS_PER_MINUTE;y-=v*i.SECONDS_PER_MINUTE;var g=0|y,E=(y-g)/i.SECONDS_PER_MILLISECOND;return p+=12,p>23&&(p-=24),e&&(g+=1),new d(m,h,f,p,v,g,E,e)},_.prototype.toDate=function(){var e=this.toGregorianDate(),t=e.second;return e.isLeapSecond&&(t-=1),new Date(Date.UTC(e.year,e.month-1,e.day,e.hour,e.minute,t,e.millisecond))},_.prototype.toIso8601=function(e){var t,n=this.toGregorianDate();return r(e)||0===n.millisecond?r(e)&&0!==e?(t=(.01*n.millisecond).toFixed(e).replace(".","").slice(0,e),u("%04d-%02d-%02dT%02d:%02d:%02d.%sZ",n.year,n.month,n.day,n.hour,n.minute,n.second,t)):u("%04d-%02d-%02dT%02d:%02d:%02dZ",n.year,n.month,n.day,n.hour,n.minute,n.second):(t=(.01*n.millisecond).toString().replace(".",""),u("%04d-%02d-%02dT%02d:%02d:%02d.%sZ",n.year,n.month,n.day,n.hour,n.minute,n.second,t))},_.prototype.getSecondsDifference=function(e){var t=this,r=e,n=(r._julianDayNumber-t._julianDayNumber)*i.SECONDS_PER_DAY;return n+(r._secondsOfDay-t._secondsOfDay)},_.prototype.getMinutesDifference=function(e){return this.getSecondsDifference(e)/i.SECONDS_PER_MINUTE},_.prototype.getDaysDifference=function(e){var t=this,r=e,n=r._julianDayNumber-t._julianDayNumber,a=(r._secondsOfDay-t._secondsOfDay)/i.SECONDS_PER_DAY;return n+a},_.prototype.getTaiMinusUtc=function(){v.julianDate=this;var e=a.getLeapSeconds(),r=t(e,v,a.compareLeapSecondDate);return 0>r&&(r=~r,--r,0>r&&(r=0)),e[r].offset},_.prototype.addSeconds=function(e,t){return f(this._julianDayNumber,this._secondsOfDay+e,t)},_.prototype.addMinutes=function(e){var t=this._secondsOfDay+e*i.SECONDS_PER_MINUTE;return new _(this._julianDayNumber,t,o.TAI)},_.prototype.addHours=function(e){var t=this._secondsOfDay+e*i.SECONDS_PER_HOUR;return new _(this._julianDayNumber,t,o.TAI)},_.prototype.addDays=function(e){var t=this._julianDayNumber+e;return new _(t,this._secondsOfDay,o.TAI)},_.prototype.lessThan=function(e){return _.compare(this,e)<0},_.prototype.lessThanOrEquals=function(e){return _.compare(this,e)<=0},_.prototype.greaterThan=function(e){return _.compare(this,e)>0},_.prototype.greaterThanOrEquals=function(e){return _.compare(this,e)>=0},_.prototype.compareTo=function(e){return _.compare(this,e)},_.prototype.equals=function(e){return _.equals(this,e)},_.prototype.equalsEpsilon=function(e,t){return _.equalsEpsilon(this,e,t)},0===a._leapSeconds.length&&(a._leapSeconds=[new a(new _(2441317,43210,o.TAI),10),new a(new _(2441499,43211,o.TAI),11),new a(new _(2441683,43212,o.TAI),12),new a(new _(2442048,43213,o.TAI),13),new a(new _(2442413,43214,o.TAI),14),new a(new _(2442778,43215,o.TAI),15),new a(new _(2443144,43216,o.TAI),16),new a(new _(2443509,43217,o.TAI),17),new a(new _(2443874,43218,o.TAI),18),new a(new _(2444239,43219,o.TAI),19),new a(new _(2444786,43220,o.TAI),20),new a(new _(2445151,43221,o.TAI),21),new a(new _(2445516,43222,o.TAI),22),new a(new _(2446247,43223,o.TAI),23),new a(new _(2447161,43224,o.TAI),24),new a(new _(2447892,43225,o.TAI),25),new a(new _(2448257,43226,o.TAI),26),new a(new _(2448804,43227,o.TAI),27),new a(new _(2449169,43228,o.TAI),28),new a(new _(2449534,43229,o.TAI),29),new a(new _(2450083,43230,o.TAI),30),new a(new _(2450630,43231,o.TAI),31),new a(new _(2451179,43232,o.TAI),32),new a(new _(2453736,43233,o.TAI),33),new a(new _(2454832,43234,o.TAI),34),new a(new _(2456109,43235,o.TAI),35)]),_}),define("Core/clone",["./defaultValue"],function(e){"use strict";var t=function(r,n){if(null===r||"object"!=typeof r)return r;n=e(n,!1);var i=new r.constructor;for(var a in r)if(r.hasOwnProperty(a)){var o=r[a];n&&(o=t(o,n)),i[a]=o}return i};return t}),define("Core/parseResponseHeaders",[],function(){"use strict";var e=function(e){var t={};if(!e)return t;for(var r=e.split("\r\n"),n=0;n0){var o=i.substring(0,a),s=i.substring(a+2);t[o]=s}}return t};return e}),define("Core/RequestErrorEvent",["./defined","./parseResponseHeaders"],function(e,t){"use strict";var r=function(e,r,n){this.statusCode=e,this.response=r,this.responseHeaders=n,"string"==typeof this.responseHeaders&&(this.responseHeaders=t(this.responseHeaders))};return r.prototype.toString=function(){var t="Request has failed.";return e(this.statusCode)&&(t+=" Status Code: "+this.statusCode),t},r}),function(e){"use strict";e("ThirdParty/when",[],function(){function e(e,r,n,i){return t(e).then(r,n,i)}function t(e){var t,r;return e instanceof n?t=e:s(e)?(r=o(),e.then(function(e){r.resolve(e)},function(e){r.reject(e)},function(e){r.progress(e)}),t=r.promise):t=i(e),t}function r(t){return e(t,a)}function n(e){this.then=e}function i(e){var r=new n(function(r){try{return t(r?r(e):e)}catch(n){return a(n)}});return r}function a(e){var r=new n(function(r,n){try{return n?t(n(e)):a(e)}catch(i){return a(i)}});return r}function o(){function e(e,t,r){return h(e,t,r)}function r(e){return d(e)}function i(e){return d(a(e))}function s(e){return m(e)}var u,l,c,f,h,m,d;return l=new n(e),u={then:e,resolve:r,reject:i,progress:s,promise:l,resolver:{resolve:r,reject:i,progress:s}},c=[],f=[],h=function(e,t,r){var n,i;return n=o(),i="function"==typeof r?function(e){try{n.progress(r(e))}catch(t){n.progress(t)}}:function(e){n.progress(e)},c.push(function(r){r.then(e,t).then(n.resolve,n.reject,i)}),f.push(i),n.promise},m=function(e){return p(f,e),e},d=function(e){return e=t(e),h=e.then,d=t,m=v,p(c,e),f=c=C,e},u}function s(e){return e&&"function"==typeof e.then}function u(t,r,n,i,a){return y(2,arguments),e(t,function(t){function s(e){p(e)}function u(e){d(e)}var l,c,f,h,m,d,p,y,g,E;if(g=t.length>>>0,l=Math.max(0,Math.min(r,g)),f=[],c=g-l+1,h=[],m=o(),l)for(y=m.progress,p=function(e){h.push(e),--c||(d=p=v,m.reject(h))},d=function(e){f.push(e),--l||(d=p=v,m.resolve(f))},E=0;g>E;++E)E in t&&e(t[E],u,s,y);else m.resolve(f);return m.then(n,i,a)})}function l(e,t,r,n){function i(e){return t?t(e[0]):e[0]}return u(e,1,i,r,n)}function c(e,t,r,n){return y(1,arguments),h(e,g).then(t,r,n)}function f(){return h(arguments,g)}function h(t,r){return e(t,function(t){var n,i,a,s,u,l;if(a=i=t.length>>>0,n=[],l=o(),a)for(s=function(t,i){e(t,r).then(function(e){n[i]=e,--a||l.resolve(n)},l.reject)},u=0;i>u;u++)u in t?s(t[u],u):--a;else l.resolve(n);return l.promise})}function m(t,r){var n=S.call(arguments,1);return e(t,function(t){var i;return i=t.length,n[0]=function(t,n,a){return e(t,function(t){return e(n,function(e){return r(t,e,a,i)})})},E.apply(t,n)})}function d(t,r,n){var i=arguments.length>2;return e(t,function(e){return e=i?n:e,r.resolve(e),e},function(e){return r.reject(e),a(e)},r.progress)}function p(e,t){for(var r,n=0;r=e[n++];)r(t)}function y(e,t){for(var r,n=t.length;n>e;)if(r=t[--n],null!=r&&"function"!=typeof r)throw new Error("arg "+n+" must be a function")}function v(){}function g(e){return e}var E,S,C;return e.defer=o,e.resolve=t,e.reject=r,e.join=f,e.all=c,e.map=h,e.reduce=m,e.any=l,e.some=u,e.chain=d,e.isPromise=s,n.prototype={always:function(e,t){return this.then(e,e,t)},otherwise:function(e){return this.then(C,e)},yield:function(e){return this.then(function(){return e})},spread:function(e){return this.then(function(t){return c(t,function(t){return e.apply(C,t)})})}},S=[].slice,E=[].reduce||function(e){var t,r,n,i,a;if(a=0,t=Object(this),i=t.length>>>0,r=arguments,r.length<=1)for(;;){if(a in t){n=t[a++];break}if(++a>=i)throw new TypeError}else n=r[1];for(;i>a;++a)a in t&&(n=e(n,t[a],a,t));return n},e})}("function"==typeof define&&define.amd?define:function(e){"object"==typeof exports?module.exports=e():this.when=e()}),define("Core/loadWithXhr",["./defined","./defaultValue","./DeveloperError","./RequestErrorEvent","../ThirdParty/when"],function(e,t,r,n,i){"use strict";var a=function(e){e=t(e,t.EMPTY_OBJECT);var r=e.responseType,n=t(e.method,"GET"),o=e.data,s=e.headers;return i(e.url,function(e){var t=i.defer();return a.load(e,r,n,o,s,t),t.promise})};return a.load=function(t,r,i,a,o,s){var u=new XMLHttpRequest;if(u.open(i,t,!0),e(o))for(var l in o)o.hasOwnProperty(l)&&u.setRequestHeader(l,o[l]);e(r)&&(u.responseType=r),u.onload=function(){200===u.status?s.resolve(u.response):s.reject(new n(u.status,u.response,u.getAllResponseHeaders()))},u.onerror=function(){s.reject(new n)},u.send(a)},a.defaultLoad=a.load,a}),define("Core/loadText",["./loadWithXhr"],function(e){"use strict";var t=function(t,r){return e({url:t,headers:r})};return t}),define("Core/loadJson",["./clone","./defined","./loadText","./DeveloperError"],function(e,t,r){"use strict";var n={Accept:"application/json,*/*;q=0.01"},i=function(i,a){return t(a)?t(a.Accept)||(a=e(a),a.Accept=n.Accept):a=n,r(i,a).then(function(e){return JSON.parse(e)})};return i}),define("Core/Iau2006XysData",["./buildModuleUrl","./defaultValue","./defined","./Iau2006XysSample","./JulianDate","./loadJson","./TimeStandard","../ThirdParty/when"],function(e,t,r,n,i,a,o,s){"use strict";function u(e,t,r){var n=f;return n._julianDayNumber=t,n._secondsOfDay=r,e._sampleZeroDateTT.getDaysDifference(n)}function l(t,n){if(t._chunkDownloadsInProgress[n])return t._chunkDownloadsInProgress[n];var i=s.defer();t._chunkDownloadsInProgress[n]=i;var o,u=t._xysFileUrlTemplate;return o=r(u)?u.replace("{0}",n):e("Assets/IAU2006_XYS/IAU2006_XYS_"+n+".json"),s(a(o),function(e){t._chunkDownloadsInProgress[n]=!1;for(var r=t._samples,a=e.samples,o=3*n*t._samplesPerXysFile,s=0,u=a.length;u>s;++s)r[o+s]=a[s];i.resolve()}),i.promise}var c=function(e){e=t(e,t.EMPTY_OBJECT),this._xysFileUrlTemplate=e.xysFileUrlTemplate,this._interpolationOrder=t(e.interpolationOrder,9),this._sampleZeroJulianEphemerisDate=t(e.sampleZeroJulianEphemerisDate,2442396.5),this._sampleZeroDateTT=new i(this._sampleZeroJulianEphemerisDate,0,o.TAI),this._stepSizeDays=t(e.stepSizeDays,1),this._samplesPerXysFile=t(e.samplesPerXysFile,1e3),this._totalSamples=t(e.totalSamples,27426),this._samples=new Array(3*this._totalSamples),this._chunkDownloadsInProgress=[];for(var r=this._interpolationOrder,n=this._denominators=new Array(r+1),a=this._xTable=new Array(r+1),s=Math.pow(this._stepSizeDays,r),u=0;r>=u;++u){n[u]=s,a[u]=u*this._stepSizeDays;for(var l=0;r>=l;++l)l!==u&&(n[u]*=u-l);n[u]=1/n[u]}this._work=new Array(r+1),this._coef=new Array(r+1)},f=new i(0,0,o.TAI);return c.prototype.preload=function(e,t,r,n){var i=u(this,e,t),a=u(this,r,n),o=0|i/this._stepSizeDays-this._interpolationOrder/2;0>o&&(o=0);var c=a/this._stepSizeDays-this._interpolationOrder/2|0+this._interpolationOrder;c>=this._totalSamples&&(c=this._totalSamples-1);for(var f=0|o/this._samplesPerXysFile,h=0|c/this._samplesPerXysFile,m=[],d=f;h>=d;++d)m.push(l(this,d));return s.all(m)},c.prototype.computeXysRadians=function(e,t,i){var a=u(this,e,t);if(0>a)return void 0;var o=0|a/this._stepSizeDays;if(o>=this._totalSamples)return void 0;var s=this._interpolationOrder,c=o-(0|s/2);0>c&&(c=0);var f=c+s;f>=this._totalSamples&&(f=this._totalSamples-1,c=f-s,0>c&&(c=0));var h=!1,m=this._samples;if(r(m[3*c])||(l(this,0|c/this._samplesPerXysFile),h=!0),r(m[3*f])||(l(this,0|f/this._samplesPerXysFile),h=!0),h)return void 0;r(i)?(i.x=0,i.y=0,i.s=0):i=new n(0,0,0);var d,p,y=a-c*this._stepSizeDays,v=this._work,g=this._denominators,E=this._coef,S=this._xTable;for(d=0;s>=d;++d)v[d]=y-S[d];for(d=0;s>=d;++d){for(E[d]=1,p=0;s>=p;++p)p!==d&&(E[d]*=v[p]);E[d]*=g[d];var C=3*(c+d);i.x+=E[d]*m[C++],i.y+=E[d]*m[C++],i.s+=E[d]*m[C]}return i},c}),define("Core/Cartesian2",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,t,r,n){"use strict";var i=function(t,r){this.x=e(t,0),this.y=e(r,0)};i.fromElements=function(e,r,n){return t(n)?(n.x=e,n.y=r,n):new i(e,r)},i.clone=function(e,r){return t(e)?t(r)?(r.x=e.x,r.y=e.y,r):new i(e.x,e.y):void 0},i.fromCartesian3=i.clone,i.fromCartesian4=i.clone,i.packedLength=2,i.pack=function(t,r,n){n=e(n,0),r[n++]=t.x,r[n]=t.y},i.unpack=function(r,n,a){return n=e(n,0),t(a)||(a=new i),a.x=r[n++],a.y=r[n],a},i.fromArray=i.unpack,i.getMaximumComponent=function(e){return Math.max(e.x,e.y)},i.getMinimumComponent=function(e){return Math.min(e.x,e.y)},i.getMinimumByComponent=function(e,r,n){return t(n)||(n=new i),n.x=Math.min(e.x,r.x),n.y=Math.min(e.y,r.y),n},i.getMaximumByComponent=function(e,r,n){return t(n)||(n=new i),n.x=Math.max(e.x,r.x),n.y=Math.max(e.y,r.y),n},i.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y},i.magnitude=function(e){return Math.sqrt(i.magnitudeSquared(e))};var a=new i;i.distance=function(e,t){return i.subtract(e,t,a),i.magnitude(a)},i.normalize=function(e,r){var n=i.magnitude(e);return t(r)?(r.x=e.x/n,r.y=e.y/n,r):new i(e.x/n,e.y/n)},i.dot=function(e,t){return e.x*t.x+e.y*t.y},i.multiplyComponents=function(e,r,n){return t(n)?(n.x=e.x*r.x,n.y=e.y*r.y,n):new i(e.x*r.x,e.y*r.y)},i.add=function(e,r,n){return t(n)?(n.x=e.x+r.x,n.y=e.y+r.y,n):new i(e.x+r.x,e.y+r.y)},i.subtract=function(e,r,n){return t(n)?(n.x=e.x-r.x,n.y=e.y-r.y,n):new i(e.x-r.x,e.y-r.y)},i.multiplyByScalar=function(e,r,n){return t(n)?(n.x=e.x*r,n.y=e.y*r,n):new i(e.x*r,e.y*r)},i.divideByScalar=function(e,r,n){return t(n)?(n.x=e.x/r,n.y=e.y/r,n):new i(e.x/r,e.y/r)},i.negate=function(e,r){return t(r)?(r.x=-e.x,r.y=-e.y,r):new i(-e.x,-e.y)},i.abs=function(e,r){return t(r)?(r.x=Math.abs(e.x),r.y=Math.abs(e.y),r):new i(Math.abs(e.x),Math.abs(e.y))};var o=new i;i.lerp=function(e,t,r,n){return i.multiplyByScalar(t,r,o),n=i.multiplyByScalar(e,1-r,n),i.add(o,n,n)};var s=new i,u=new i;i.angleBetween=function(e,t){return i.normalize(e,s),i.normalize(t,u),Math.acos(i.dot(s,u))};var l=new i;return i.mostOrthogonalAxis=function(e,t){var r=i.normalize(e,l);return i.abs(r,r),t=r.x<=r.y?i.clone(i.UNIT_X,t):i.clone(i.UNIT_Y,t)},i.equals=function(e,r){return e===r||t(e)&&t(r)&&e.x===r.x&&e.y===r.y},i.equalsEpsilon=function(e,r,n){return e===r||t(e)&&t(r)&&Math.abs(e.x-r.x)<=n&&Math.abs(e.y-r.y)<=n},i.ZERO=n(new i(0,0)),i.UNIT_X=n(new i(1,0)),i.UNIT_Y=n(new i(0,1)),i.prototype.clone=function(e){return i.clone(this,e)},i.prototype.equals=function(e){return i.equals(this,e)},i.prototype.equalsEpsilon=function(e,t){return i.equalsEpsilon(this,e,t)},i.prototype.toString=function(){return"("+this.x+", "+this.y+")"},i}),define("Core/EarthOrientationParametersSample",[],function(){"use strict";var e=function(e,t,r,n,i){this.xPoleWander=e,this.yPoleWander=t,this.xPoleOffset=r,this.yPoleOffset=n,this.ut1MinusUtc=i};return e}),define("Core/EarthOrientationParameters",["./binarySearch","./defaultValue","./defined","./EarthOrientationParametersSample","./freezeObject","./loadJson","./JulianDate","./LeapSecond","./RuntimeError","./TimeConstants","./TimeStandard","../ThirdParty/when"],function(e,t,r,n,i,a,o,s,u,l,c,f){"use strict";function h(e,t){return o.compare(e.julianDate,t)}function m(t,n){if(!r(n.columnNames))return t._dataError="Error in loaded EOP data: The columnNames property is required.",void 0;if(!r(n.samples))return t._dataError="Error in loaded EOP data: The samples property is required.",void 0;var i=n.columnNames.indexOf("modifiedJulianDateUtc"),a=n.columnNames.indexOf("xPoleWanderRadians"),u=n.columnNames.indexOf("yPoleWanderRadians"),f=n.columnNames.indexOf("ut1MinusUtcSeconds"),m=n.columnNames.indexOf("xCelestialPoleOffsetRadians"),d=n.columnNames.indexOf("yCelestialPoleOffsetRadians"),p=n.columnNames.indexOf("taiMinusUtcSeconds");if(0>i||0>a||0>u||0>f||0>m||0>d||0>p)return t._dataError="Error in loaded EOP data: The columnNames property must include modifiedJulianDateUtc, xPoleWanderRadians, yPoleWanderRadians, ut1MinusUtcSeconds, xCelestialPoleOffsetRadians, yCelestialPoleOffsetRadians, and taiMinusUtcSeconds columns",void 0;var y=t._samples=n.samples,v=t._dates=[];t._dateColumn=i,t._xPoleWanderRadiansColumn=a,t._yPoleWanderRadiansColumn=u,t._ut1MinusUtcSecondsColumn=f,t._xCelestialPoleOffsetRadiansColumn=m,t._yCelestialPoleOffsetRadiansColumn=d,t._taiMinusUtcSecondsColumn=p,t._columnCount=n.columnNames.length,t._lastIndex=void 0;for(var g,E=t._addNewLeapSeconds,S=0,C=y.length;C>S;S+=t._columnCount){var w=y[S+i],x=y[S+p],T=w+l.MODIFIED_JULIAN_DATE_DIFFERENCE,O=new o(T,x,c.TAI);if(v.push(O),E){if(x!==g&&r(g)){var A=s.getLeapSeconds(),M=e(A,O,h);if(0>M){var _=new s(O,x);A.splice(~M,0,_)}}g=x}}}function d(e,t,r,n,i){var a=r*n;i.xPoleWander=t[a+e._xPoleWanderRadiansColumn],i.yPoleWander=t[a+e._yPoleWanderRadiansColumn],i.xPoleOffset=t[a+e._xCelestialPoleOffsetRadiansColumn],i.yPoleOffset=t[a+e._yCelestialPoleOffsetRadiansColumn],i.ut1MinusUtc=t[a+e._ut1MinusUtcSecondsColumn]}function p(e,t,r){return t+e*(r-t)}function y(e,t,r,n,i,a,o){var s=e._columnCount;if(a>t.length-1)return o.xPoleWander=0,o.yPoleWander=0,o.xPoleOffset=0,o.yPoleOffset=0,o.ut1MinusUtc=0,o;var u=t[i],l=t[a];if(u.equals(l)||n.equals(u))return d(e,r,i,s,o),o;if(n.equals(l))return d(e,r,a,s,o),o;var c=u.getSecondsDifference(n)/u.getSecondsDifference(l),f=i*s,h=a*s,m=r[f+e._ut1MinusUtcSecondsColumn],y=r[h+e._ut1MinusUtcSecondsColumn],v=y-m;if(v>.5||-.5>v){var g=r[f+e._taiMinusUtcSecondsColumn],E=r[h+e._taiMinusUtcSecondsColumn];g!==E&&(l.equals(n)?m=y:y-=E-g)}return o.xPoleWander=p(c,r[f+e._xPoleWanderRadiansColumn],r[h+e._xPoleWanderRadiansColumn]),o.yPoleWander=p(c,r[f+e._yPoleWanderRadiansColumn],r[h+e._yPoleWanderRadiansColumn]),o.xPoleOffset=p(c,r[f+e._xCelestialPoleOffsetRadiansColumn],r[h+e._xCelestialPoleOffsetRadiansColumn]),o.yPoleOffset=p(c,r[f+e._yCelestialPoleOffsetRadiansColumn],r[h+e._yCelestialPoleOffsetRadiansColumn]),o.ut1MinusUtc=p(c,m,y),o}var v=function(e){if(e=t(e,t.EMPTY_OBJECT),this._dates=void 0,this._samples=void 0,this._dateColumn=-1,this._xPoleWanderRadiansColumn=-1,this._yPoleWanderRadiansColumn=-1,this._ut1MinusUtcSecondsColumn=-1,this._xCelestialPoleOffsetRadiansColumn=-1,this._yCelestialPoleOffsetRadiansColumn=-1,this._taiMinusUtcSecondsColumn=-1,this._columnCount=0,this._lastIndex=-1,this._downloadPromise=void 0,this._dataError=void 0,this._addNewLeapSeconds=t(e.addNewLeapSeconds,!0),r(e.data))m(this,e.data);else if(r(e.url)){var n=this;this._downloadPromise=f(a(e.url),function(e){m(n,e)},function(){n._dataError="An error occurred while retrieving the EOP data from the URL "+e.url+"."})}else m(this,{columnNames:["dateIso8601","modifiedJulianDateUtc","xPoleWanderRadians","yPoleWanderRadians","ut1MinusUtcSeconds","lengthOfDayCorrectionSeconds","xCelestialPoleOffsetRadians","yCelestialPoleOffsetRadians","taiMinusUtcSeconds"],samples:[]})};return v.NONE=i({getPromiseToLoad:function(){return f()},compute:function(e,t){return r(t)?(t.xPoleWander=0,t.yPoleWander=0,t.xPoleOffset=0,t.yPoleOffset=0,t.ut1MinusUtc=0):t=new n(0,0,0,0,0),t}}),v.prototype.getPromiseToLoad=function(){return f(this._downloadPromise)},v.prototype.compute=function(t,i){if(!r(this._samples)){if(r(this._dataError))throw new u(this._dataError);return void 0}if(r(i)||(i=new n(0,0,0,0,0)),0===this._samples.length)return i.xPoleWander=0,i.yPoleWander=0,i.xPoleOffset=0,i.yPoleOffset=0,i.ut1MinusUtc=0,i;var a=this._dates,s=this._lastIndex,l=0,c=0;if(r(s)){var f=a[s],h=a[s+1],m=f.lessThanOrEquals(t),d=!r(h),p=d||h.greaterThanOrEquals(t);if(m&&p)return l=s,!d&&h.equals(t)&&++l,c=l+1,y(this,a,this._samples,t,l,c,i),i}var v=e(a,t,o.compare,this._dateColumn);return v>=0?(vl&&(l=0)),this._lastIndex=l,y(this,a,this._samples,t,l,c,i),i},v}),define("Core/Transforms",["./defaultValue","./defined","./DeveloperError","./Iau2006XysData","./Iau2006XysSample","./Math","./Matrix3","./Matrix4","./Cartesian2","./Cartesian3","./Cartesian4","./TimeConstants","./Ellipsoid","./EarthOrientationParameters","./EarthOrientationParametersSample","../ThirdParty/when"],function(e,t,r,n,i,a,o,s,u,l,c,f,h,m,d,p){"use strict";var y={},v=new l,g=new l,E=new l;y.eastNorthUpToFixedFrame=function(r,n,i){if(a.equalsEpsilon(r.x,0,a.EPSILON14)&&a.equalsEpsilon(r.y,0,a.EPSILON14)){var o=a.sign(r.z);return t(i)?(i[0]=0,i[1]=1,i[2]=0,i[3]=0,i[4]=-o,i[5]=0,i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=o,i[11]=0,i[12]=r.x,i[13]=r.y,i[14]=r.z,i[15]=1,i):new s(0,-o,0,r.x,1,0,0,r.y,0,0,o,r.z,0,0,0,1)}var u=v,c=g,f=E;return n=e(n,h.WGS84),n.geodeticSurfaceNormal(r,u),c.x=-r.y,c.y=r.x,c.z=0,l.normalize(c,c),l.cross(u,c,f),t(i)?(i[0]=c.x,i[1]=c.y,i[2]=c.z,i[3]=0,i[4]=f.x,i[5]=f.y,i[6]=f.z,i[7]=0,i[8]=u.x,i[9]=u.y,i[10]=u.z,i[11]=0,i[12]=r.x,i[13]=r.y,i[14]=r.z,i[15]=1,i):new s(c.x,f.x,u.x,r.x,c.y,f.y,u.y,r.y,c.z,f.z,u.z,r.z,0,0,0,1)};var S=new l,C=new l,w=new l;y.northEastDownToFixedFrame=function(r,n,i){if(a.equalsEpsilon(r.x,0,a.EPSILON14)&&a.equalsEpsilon(r.y,0,a.EPSILON14)){var o=a.sign(r.z);return t(i)?(i[0]=-o,i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=1,i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=-o,i[11]=0,i[12]=r.x,i[13]=r.y,i[14]=r.z,i[15]=1,i):new s(-o,0,0,r.x,0,1,0,r.y,0,0,-o,r.z,0,0,0,1)}var u=S,c=C,f=w;return n=e(n,h.WGS84),n.geodeticSurfaceNormal(r,u),c.x=-r.y,c.y=r.x,c.z=0,l.normalize(c,c),l.cross(u,c,f),t(i)?(i[0]=f.x,i[1]=f.y,i[2]=f.z,i[3]=0,i[4]=c.x,i[5]=c.y,i[6]=c.z,i[7]=0,i[8]=-u.x,i[9]=-u.y,i[10]=-u.z,i[11]=0,i[12]=r.x,i[13]=r.y,i[14]=r.z,i[15]=1,i):new s(f.x,c.x,-u.x,r.x,f.y,c.y,-u.y,r.y,f.z,c.z,-u.z,r.z,0,0,0,1)};var x=24110.54841,T=8640184.812866,O=.093104,A=-62e-7,M=1.1772758384668e-19,_=72921158553e-15,b=a.TWO_PI/86400;y.computeTemeToPseudoFixedMatrix=function(e,r){var n,i=e.addSeconds(-e.getTaiMinusUtc()),s=i.getJulianDayNumber(),u=i.getSecondsOfDay(),l=s-2451545;n=u>=43200?(l+.5)/f.DAYS_PER_JULIAN_CENTURY:(l-.5)/f.DAYS_PER_JULIAN_CENTURY;var c=x+n*(T+n*(O+n*A)),h=c*b%a.TWO_PI,m=_+M*(s-2451545.5),d=(u+.5*f.SECONDS_PER_DAY)%f.SECONDS_PER_DAY,p=h+m*d,y=Math.cos(p),v=Math.sin(p);return t(r)?(r[0]=y,r[1]=-v,r[2]=0,r[3]=v,r[4]=y,r[5]=0,r[6]=0,r[7]=0,r[8]=1,r):new o(y,v,0,-v,y,0,0,0,1)},y.iau2006XysData=new n,y.earthOrientationParameters=m.NONE;var D=32.184,I=2451545;y.preloadIcrfFixed=function(e){var t=e.start.getJulianDayNumber(),r=e.start.getSecondsOfDay()+D,n=e.stop.getJulianDayNumber(),i=e.stop.getSecondsOfDay()+D,a=y.iau2006XysData.preload(t,r,n,i),o=y.earthOrientationParameters.getPromiseToLoad();return p.all([a,o])},y.computeIcrfToFixedMatrix=function(e,r){var n=y.computeFixedToIcrfMatrix(e,r);return t(n)?o.transpose(n,r):void 0};var N=new i(0,0,0),P=new d(0,0,0,0,0,0),R=new o,z=new o;y.computeFixedToIcrfMatrix=function(e,r){var n=y.earthOrientationParameters.compute(e,P);if(!t(n))return void 0;var i=e.getJulianDayNumber(),s=e.getSecondsOfDay()+D,u=y.iau2006XysData.computeXysRadians(i,s,N);if(!t(u))return void 0;var l=u.x+n.xPoleOffset,c=u.y+n.yPoleOffset,h=1/(1+Math.sqrt(1-l*l-c*c)),m=R;m[0]=1-h*l*l,m[3]=-h*l*c,m[6]=l,m[1]=-h*l*c,m[4]=1-h*c*c,m[7]=c,m[2]=-l,m[5]=-c,m[8]=1-h*(l*l+c*c);var d=o.fromRotationZ(-u.s,z),p=o.multiply(m,d,R),v=e.getJulianDayNumber(),g=e.getSecondsOfDay()-e.getTaiMinusUtc()+n.ut1MinusUtc,E=v-2451545,S=g/f.SECONDS_PER_DAY,C=.779057273264+S+.00273781191135448*(E+S);C=C%1*a.TWO_PI;var w=o.fromRotationZ(C,z),x=o.multiply(p,w,R),T=Math.cos(n.xPoleWander),O=Math.cos(n.yPoleWander),A=Math.sin(n.xPoleWander),M=Math.sin(n.yPoleWander),_=i-I+s/f.SECONDS_PER_DAY;_/=36525;var b=-47e-6*_*a.RADIANS_PER_DEGREE/3600,L=Math.cos(b),F=Math.sin(b),U=z;return U[0]=T*L,U[1]=T*F,U[2]=A,U[3]=-O*F+M*A*L,U[4]=O*L+M*A*F,U[5]=-M*T,U[6]=-M*F-O*A*L,U[7]=M*L-O*A*F,U[8]=O*T,o.multiply(x,U,r)};var L=new c;return y.pointToWindowCoordinates=function(e,t,r,n){var i=L;return s.multiplyByVector(e,c.fromElements(r.x,r.y,r.z,1,i),i),c.multiplyByScalar(i,1/i.w,i),s.multiplyByVector(t,i,i),u.fromCartesian4(i,n)},y}),define("Core/AxisAlignedBoundingBox",["./defaultValue","./defined","./DeveloperError","./Cartesian3","./Intersect"],function(e,t,r,n,i){"use strict";var a=function(r,i,a){this.minimum=n.clone(e(r,n.ZERO)),this.maximum=n.clone(e(i,n.ZERO)),t(a)?a=n.clone(a):(a=n.add(this.minimum,this.maximum),n.multiplyByScalar(a,.5,a)),this.center=a};a.fromPoints=function(e,r){if(t(r)||(r=new a),!t(e)||0===e.length)return r.minimum=n.clone(n.ZERO,r.minimum),r.maximum=n.clone(n.ZERO,r.maximum),r.center=n.clone(n.ZERO,r.center),r;for(var i=e[0].x,o=e[0].y,s=e[0].z,u=e[0].x,l=e[0].y,c=e[0].z,f=e.length,h=1;f>h;h++){var m=e[h],d=m.x,p=m.y,y=m.z;i=Math.min(d,i),u=Math.max(d,u),o=Math.min(p,o),l=Math.max(p,l),s=Math.min(y,s),c=Math.max(y,c)}var v=r.minimum;v.x=i,v.y=o,v.z=s;var g=r.maximum;g.x=u,g.y=l,g.z=c;var E=n.add(v,g,r.center);return n.multiplyByScalar(E,.5,E),r},a.clone=function(e,r){return t(e)?t(r)?(r.minimum=n.clone(e.minimum,r.minimum),r.maximum=n.clone(e.maximum,r.maximum),r.center=n.clone(e.center,r.center),r):new a(e.minimum,e.maximum):void 0},a.equals=function(e,r){return e===r||t(e)&&t(r)&&n.equals(e.center,r.center)&&n.equals(e.minimum,r.minimum)&&n.equals(e.maximum,r.maximum)};var o=new n;return a.intersect=function(e,t){o=n.subtract(e.maximum,e.minimum,o);var r=n.multiplyByScalar(o,.5,o),a=r.x*Math.abs(t.x)+r.y*Math.abs(t.y)+r.z*Math.abs(t.z),s=n.dot(e.center,t)+t.w;return s-a>0?i.INSIDE:0>s+a?i.OUTSIDE:i.INTERSECTING},a.prototype.clone=function(e){return a.clone(this,e)},a.prototype.intersect=function(e){return a.intersect(this,e)},a.prototype.equals=function(e){return a.equals(this,e)},a}),define("Core/QuadraticRealPolynomial",["./DeveloperError","./Math"],function(e,t){"use strict";function r(e,r,n){var i=e+r;return t.sign(e)!==t.sign(r)&&Math.abs(i/Math.max(Math.abs(e),Math.abs(r)))o&&o/ss&&s/oa)return[];var u=Math.sqrt(a);return[-u,u]}if(0===i)return a=-n/e,0>a?[a,0]:[0,a];var l=n*n,c=4*e*i,f=r(l,-c,t.EPSILON14);if(0>f)return[];var h=-.5*r(n,t.sign(n)*Math.sqrt(f),t.EPSILON14);return n>0?[h/e,i/h]:[i/h,h/e]},n}),define("Core/CubicRealPolynomial",["./DeveloperError","./QuadraticRealPolynomial"],function(e,t){"use strict";function r(e,t,r,n){var i,a,o=e,s=t/3,u=r/3,l=n,c=o*u,f=s*l,h=s*s,m=u*u,d=o*u-h,p=o*l-s*u,y=s*l-m,v=4*d*y-p*p;if(0>v){var g,E,S;h*f>=c*m?(g=o,E=d,S=-2*s*d+o*p):(g=l,E=y,S=-l*p+2*u*y);var C=0>S?-1:1,w=-C*Math.abs(g)*Math.sqrt(-v);a=-S+w;var x=a/2,T=0>x?-Math.pow(-x,1/3):Math.pow(x,1/3),O=a===w?-T:-E/T;return i=0>=E?T+O:-S/(T*T+O*O+E),h*f>=c*m?[(i-s)/o]:[-l/(i+u)]}var A=d,M=-2*s*d+o*p,_=y,b=-l*p+2*u*y,D=Math.sqrt(v),I=Math.sqrt(3)/2,N=Math.abs(Math.atan2(o*D,-M)/3);i=2*Math.sqrt(-A);var P=Math.cos(N);a=i*P;var R=i*(-P/2-I*Math.sin(N)),z=a+R>2*s?a-s:R-s,L=o,F=z/L;N=Math.abs(Math.atan2(l*D,-b)/3),i=2*Math.sqrt(-_),P=Math.cos(N),a=i*P,R=i*(-P/2-I*Math.sin(N));var U=-l,B=2*u>a+R?a+u:R+u,q=U/B,G=L*B,W=-z*B-L*U,Y=z*U,H=(u*W-s*Y)/(-s*W+u*G);return H>=F?q>=F?q>=H?[F,H,q]:[F,q,H]:[q,F,H]:q>=F?[H,F,q]:q>=H?[H,q,F]:[q,H,F]}var n={};return n.discriminant=function(e,t,r,n){var i=e*e,a=t*t,o=r*r,s=n*n,u=18*e*t*r*n+a*o-27*i*s-4*(e*o*r+a*t*n);return u},n.realRoots=function(e,n,i,a){var o,s;if(0===e)return t.realRoots(n,i,a);if(0===n){if(0===i){if(0===a)return[0,0,0];s=-a/e;var u=0>s?-Math.pow(-s,1/3):Math.pow(s,1/3);return[u,u,u]}return 0===a?(o=t.realRoots(e,0,i),0===o.Length?[0]:[o[0],0,o[1]]):r(e,0,i,a)}return 0===i?0===a?(s=-n/e,0>s?[s,0,0]:[0,0,s]):r(e,n,0,a):0===a?(o=t.realRoots(e,n,i),0===o.length?[0]:o[1]<=0?[o[0],o[1],0]:o[0]>=0?[0,o[0],o[1]]:[o[0],0,o[1]]):r(e,n,i,a)},n}),define("Core/QuarticRealPolynomial",["./DeveloperError","./Math","./CubicRealPolynomial","./QuadraticRealPolynomial"],function(e,t,r,n){"use strict";function i(e,i,a,o){var s=e*e,u=i-3*s/8,l=a-i*e/2+s*e/8,c=o-a*e/4+i*s/16-3*s*s/256,f=r.realRoots(1,2*u,u*u-4*c,-l*l);if(f.length>0){var h=-e/4,m=f[f.length-1];if(Math.abs(m)=0&&v>=0){var g=Math.sqrt(y),E=Math.sqrt(v);return[h-E,h-g,h+g,h+E]}if(y>=0&&0>v)return p=Math.sqrt(y),[h-p,h+p];if(0>y&&v>=0)return p=Math.sqrt(v),[h-p,h+p]}return[]}if(m>0){var S=Math.sqrt(m),C=(u+m-l/S)/2,w=(u+m+l/S)/2,x=n.realRoots(1,S,C),T=n.realRoots(1,-S,w);return 0!==x.length?(x[0]+=h,x[1]+=h,0!==T.length?(T[0]+=h,T[1]+=h,x[1]<=T[0]?[x[0],x[1],T[0],T[1]]:T[1]<=x[0]?[T[0],T[1],x[0],x[1]]:x[0]>=T[0]&&x[1]<=T[1]?[T[0],x[0],x[1],T[1]]:T[0]>=x[0]&&T[1]<=x[1]?[x[0],T[0],T[1],x[1]]:x[0]>T[0]&&x[0]0){var d,p,y=m[0],v=i-y,g=v*v,E=e/2,S=v/2,C=g-4*o,w=g+4*Math.abs(o),x=l-4*y,T=l+4*Math.abs(y);if(0>y||x*w>C*T){var O=Math.sqrt(x);d=O/2,p=0===O?0:(e*S-a)/O}else{var A=Math.sqrt(C);d=0===A?0:(e*S-a)/A,p=A/2}var M,_;0===E&&0===d?(M=0,_=0):t.sign(E)===t.sign(d)?(M=E+d,_=y/M):(_=E-d,M=y/_);var b,D;0===S&&0===p?(b=0,D=0):t.sign(S)===t.sign(p)?(b=S+p,D=o/b):(D=S-p,b=o/D);var I=n.realRoots(1,M,b),N=n.realRoots(1,_,D);if(0!==I.length)return 0!==N.length?I[1]<=N[0]?[I[0],I[1],N[0],N[1]]:N[1]<=I[0]?[N[0],N[1],I[0],I[1]]:I[0]>=N[0]&&I[1]<=N[1]?[N[0],I[0],I[1],N[1]]:N[0]>=I[0]&&N[1]<=I[1]?[I[0],N[0],N[1],I[1]]:I[0]>N[0]&&I[0]l?1:0;switch(m+=0>c?m+1:m,m+=0>f?m+1:m,m+=0>h?m+1:m){case 0:return i(l,c,f,h);case 1:return a(l,c,f,h);case 2:return a(l,c,f,h);case 3:return i(l,c,f,h);case 4:return i(l,c,f,h);case 5:return a(l,c,f,h);case 6:return i(l,c,f,h);case 7:return i(l,c,f,h);case 8:return a(l,c,f,h);case 9:return i(l,c,f,h);case 10:return i(l,c,f,h);case 11:return a(l,c,f,h);case 12:return i(l,c,f,h);case 13:return i(l,c,f,h);case 14:return i(l,c,f,h);case 15:return i(l,c,f,h);default:return void 0}},o}),define("Core/IntersectionTests",["./defined","./DeveloperError","./Math","./Cartesian3","./Cartographic","./Matrix3","./QuadraticRealPolynomial","./QuarticRealPolynomial"],function(e,t,r,n,i,a,o,s){"use strict";function u(e,t,n){var i=e+t;return r.sign(e)!==r.sign(t)&&Math.abs(i/Math.max(Math.abs(e),Math.abs(t)))R;++R){var z,L=f[R],F=L*L,U=Math.max(1-F,0),B=Math.sqrt(U);z=r.sign(d)===r.sign(y)?u(d*F+y,p*L,r.EPSILON12):r.sign(y)===r.sign(p*L)?u(d*F,p*L+y,r.EPSILON12):u(d*F+p*L,y,r.EPSILON12); +var q=u(v*L,g,r.EPSILON15),G=z*q;0>G?E.push(new n(l,c*L,c*B)):G>0?E.push(new n(l,c*L,c*-B)):0!==B?(E.push(new n(l,c*L,c*-B)),E.push(new n(l,c*L,c*B)),++R):E.push(new n(l,c*L,c*B))}return E}var c={};c.rayPlane=function(e,t,i){var a=e.origin,o=e.direction,s=t.normal,u=n.dot(s,o);if(Math.abs(u)l?void 0:(i=n.multiplyByScalar(o,l,i),n.add(a,i,i))};var f=new n,h=new n;c.rayEllipsoid=function(e,t){var r,i,a,o,s,u=t.oneOverRadii,l=n.multiplyComponents(u,e.origin,f),c=n.multiplyComponents(u,e.direction,h),m=n.magnitudeSquared(l),d=n.dot(l,c);if(m>1){if(d>=0)return void 0;var p=d*d;if(r=m-1,i=n.magnitudeSquared(c),a=i*r,a>p)return void 0;if(p>a){o=d*d-a,s=-d+Math.sqrt(o);var y=s/i,v=r/s;return v>y?{start:y,stop:v}:{start:v,stop:y}}var g=Math.sqrt(r/i);return{start:g,stop:g}}return 1>m?(r=m-1,i=n.magnitudeSquared(c),a=i*r,o=d*d-a,s=-d+Math.sqrt(o),{start:0,stop:s/i}):0>d?(i=n.magnitudeSquared(c),{start:0,stop:-d/i}):void 0},c.grazingAltitudeLocation=function(t,o){var s=t.origin,u=t.direction,c=o.geodeticSurfaceNormal(s);if(n.dot(u,c)>=0)return s;var f,h,m=e(this.rayEllipsoid(t,o)),d=o.transformPositionToScaledSpace(u),p=n.normalize(d),y=n.mostOrthogonalAxis(d),v=n.normalize(n.cross(y,p)),g=n.normalize(n.cross(p,v)),E=new a(p.x,v.x,g.x,p.y,v.y,g.y,p.z,v.z,g.z),S=a.transpose(E),C=a.fromScale(o.radii),w=a.fromScale(o.oneOverRadii),x=new a(0,u.z,-u.y,-u.z,0,u.x,u.y,-u.x,0),T=a.multiply(a.multiply(S,w),x),O=a.multiply(a.multiply(T,C),E),A=a.multiplyByVector(T,s),M=l(O,n.negate(A),0,0,1),_=M.length;if(_>0){for(var b=n.ZERO,D=Number.NEGATIVE_INFINITY,I=0;_>I;++I){f=a.multiplyByVector(C,a.multiplyByVector(E,M[I]));var N=n.normalize(n.subtract(f,s)),P=n.dot(N,u);P>D&&(D=P,b=f)}var R=o.cartesianToCartographic(b);return D=r.clamp(D,0,1),h=n.magnitude(n.subtract(b,s))*Math.sqrt(1-D*D),h=m?-h:h,o.cartographicToCartesian(new i(R.longitude,R.latitude,h))}return void 0};var m=new n;return c.lineSegmentPlane=function(t,i,a,o){var s=n.subtract(i,t,m),u=a.normal,l=n.dot(u,s);if(Math.abs(l)f||f>1?void 0:(e(o)||(o=new n),n.multiplyByScalar(s,f,o),n.add(t,o,o),o)},c.trianglePlaneIntersection=function(e,t,r,i){var a=i.normal,o=i.distance,s=n.dot(a,e)+o<0,u=n.dot(a,t)+o<0,l=n.dot(a,r)+o<0,f=0;f+=s?1:0,f+=u?1:0,f+=l?1:0;var h,m;if((1===f||2===f)&&(h=new n,m=new n),1===f){if(s)return c.lineSegmentPlane(e,t,i,h),c.lineSegmentPlane(e,r,i,m),{positions:[e,t,r,h,m],indices:[0,3,4,1,2,4,1,4,3]};if(u)return c.lineSegmentPlane(t,r,i,h),c.lineSegmentPlane(t,e,i,m),{positions:[e,t,r,h,m],indices:[1,3,4,2,0,4,2,4,3]};if(l)return c.lineSegmentPlane(r,e,i,h),c.lineSegmentPlane(r,t,i,m),{positions:[e,t,r,h,m],indices:[2,3,4,0,1,4,0,4,3]}}else if(2===f){if(!s)return c.lineSegmentPlane(t,e,i,h),c.lineSegmentPlane(r,e,i,m),{positions:[e,t,r,h,m],indices:[1,2,4,1,4,3,0,3,4]};if(!u)return c.lineSegmentPlane(r,t,i,h),c.lineSegmentPlane(e,t,i,m),{positions:[e,t,r,h,m],indices:[2,0,4,2,4,3,1,3,4]};if(!l)return c.lineSegmentPlane(e,r,i,h),c.lineSegmentPlane(t,r,i,m),{positions:[e,t,r,h,m],indices:[0,1,4,0,4,3,2,3,4]}}return void 0},c}),define("Core/Ray",["./DeveloperError","./defaultValue","./Cartesian3"],function(e,t,r){"use strict";var n=function(e,n){n=r.clone(t(n,r.ZERO)),r.equals(n,r.ZERO)||r.normalize(n,n),this.origin=r.clone(t(e,r.ZERO)),this.direction=n};return n.prototype.getPoint=function(e,t){return t=r.multiplyByScalar(this.direction,e,t),r.add(this.origin,t,t)},n}),define("Core/Plane",["./Cartesian3","./defined","./DeveloperError"],function(e,t){"use strict";var r=function(t,r){this.normal=e.clone(t),this.distance=r};return r.fromPointNormal=function(n,i,a){var o=-e.dot(i,n);return t(a)?(e.clone(i,a.normal),a.distance=o,a):new r(i,o)},r.getPointDistance=function(t,r){return e.dot(t.normal,r)+t.distance},r.prototype.getPointDistance=function(e){return r.getPointDistance(this,e)},r}),define("Core/EllipsoidTangentPlane",["./defaultValue","./defined","./defineProperties","./DeveloperError","./Transforms","./AxisAlignedBoundingBox","./IntersectionTests","./Cartesian2","./Cartesian3","./Ellipsoid","./Matrix4","./Ray","./Plane"],function(e,t,r,n,i,a,o,s,u,l,c,f,h){"use strict";var m=function(t,r){r=e(r,l.WGS84),t=r.scaleToGeodeticSurface(t);var n=i.eastNorthUpToFixedFrame(t,r);this._ellipsoid=r,this._origin=u.clone(t),this._xAxis=u.fromCartesian4(c.getColumn(n,0)),this._yAxis=u.fromCartesian4(c.getColumn(n,1));var a=u.fromCartesian4(c.getColumn(n,2));this._plane=h.fromPointNormal(t,a)};r(m.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},origin:{get:function(){return this._origin}}});var d=new a;m.fromPoints=function(e,t){var r=a.fromPoints(e,d);return new m(r.center,t)};var p=new f,y=new u;m.prototype.projectPointOntoPlane=function(e,r){var n=p;n.origin=e,u.normalize(e,n.direction);var i=o.rayPlane(n,this._plane,y);if(t(i)||(u.negate(n.direction,n.direction),i=o.rayPlane(n,this._plane,y)),t(i)){var a=u.subtract(i,this._origin,i),l=u.dot(this._xAxis,a),c=u.dot(this._yAxis,a);return t(r)?(r.x=l,r.y=c,r):new s(l,c)}return void 0},m.prototype.projectPointsOntoPlane=function(e,r){t(r)||(r=[]);for(var n=0,i=e.length,a=0;i>a;a++){var o=this.projectPointOntoPlane(e[a],r[n]);t(o)&&(r[n]=o,n++)}return r.length=n,r};var v=new u;return m.prototype.projectPointsOntoEllipsoid=function(e,r){var n=e.length;t(r)?r.length=n:r=new Array(n);for(var i=this._ellipsoid,a=this._origin,o=this._xAxis,s=this._yAxis,l=v,c=0;n>c;++c){var f=e[c];u.multiplyByScalar(o,f.x,l);var h=r[c]=u.add(a,l,r[c]);u.multiplyByScalar(s,f.y,l),u.add(h,l,h),i.scaleToGeocentricSurface(h,h)}return r},m}),define("Core/barycentricCoordinates",["./Cartesian2","./Cartesian3","./defined","./DeveloperError"],function(e,t,r){"use strict";var n=new t,i=new t,a=new t,o=function(o,s,u,l,c){r(c)||(c=new t);var f,h,m,d,p,y,v,g;r(s.z)?(f=t.subtract(u,s,n),h=t.subtract(l,s,i),m=t.subtract(o,s,a),d=t.dot(f,f),p=t.dot(f,h),y=t.dot(f,m),v=t.dot(h,h),g=t.dot(h,m)):(f=e.subtract(u,s,n),h=e.subtract(l,s,i),m=e.subtract(o,s,a),d=e.dot(f,f),p=e.dot(f,h),y=e.dot(f,m),v=e.dot(h,h),g=e.dot(h,m));var E=1/(d*v-p*p);return c.y=(v*y-p*g)*E,c.z=(d*g-p*y)*E,c.x=1-c.y-c.z,c};return o}),define("Core/pointInsideTriangle",["./barycentricCoordinates","./Cartesian3"],function(e,t){"use strict";var r=new t,n=function(t,n,i,a){return e(t,n,i,a,r),r.x>0&&r.y>0&&r.z>0};return n}),define("Core/Queue",[],function(){"use strict";var e=function(){this._array=[],this._offset=0,this.length=0};return e.prototype.enqueue=function(e){this._array.push(e),this.length++},e.prototype.dequeue=function(){if(0===this.length)return void 0;var e=this._array,t=this._offset,r=e[t];return e[t]=void 0,t++,t>10&&2*t>e.length&&(this._array=e.slice(t),t=0),this._offset=t,this.length--,r},e.prototype.contains=function(e){return-1!==this._array.indexOf(e)},e.prototype.clear=function(){this._array.length=this._offset=this.length=0},e.prototype.sort=function(e){this._offset>0&&(this._array=this._array.slice(this._offset),this._offset=0),this._array.sort(e)},e}),define("Core/WindingOrder",["./Enumeration"],function(e){"use strict";var t={CLOCKWISE:new e(2304,"CLOCKWISE"),COUNTER_CLOCKWISE:new e(2305,"COUNTER_CLOCKWISE"),validate:function(e){return e===t.CLOCKWISE||e===t.COUNTER_CLOCKWISE}};return t}),define("Core/PolygonPipeline",["./DeveloperError","./Math","./Cartesian2","./Cartesian3","./defined","./Geometry","./GeometryAttribute","./Ellipsoid","./EllipsoidTangentPlane","./defaultValue","./pointInsideTriangle","./ComponentDatatype","./PrimitiveType","./Queue","./WindingOrder"],function(e,t,r,n,i,a,o,s,u,l,c,f,h,m,d){"use strict";function p(e,t,n){var i=r.subtract(t,e),a=r.subtract(n,t);return i.x*a.y-i.y*a.x>=0}function y(e){for(var t=e[0].x,r=0,n=0;nt&&(t=e[n].x,r=n);return r}function v(e){for(var t=e[0][0].x,r=0,n=0;nt&&(t=i,r=n)}return r}function g(e){for(var t=[],r=0;rc&&(c=t[f].x);c+=c-u;var h=new n(c,e.y,0);for(f=0;f=e.x||d.x>=e.x)&&(m.y>=e.y&&d.y<=e.y||m.y<=e.y&&d.y>=e.y)){var p=(d.y-m.y)*(h.x-e.x)-(d.x-m.x)*(h.y-e.y);if(0!==p){p=1/p;var v=((d.x-m.x)*(e.y-m.y)-(d.y-m.y)*(e.x-m.x))*p,g=((h.x-e.x)*(e.y-m.y)-(h.y-e.y)*(e.x-m.x))*p;if(v>=0&&1>=v&&g>=0&&1>=g){var E=new r(e.x+v*(h.x-e.x),e.y+v*(h.y-e.y)),S=r.subtract(E,e);p=r.magnitudeSquared(S),a>p&&(s=E,a=p,i[0]=f,i[1]=(f+1)%t.length)}}}}return s}function C(e,t){var n=v(t),i=t[n],a=y(i),o=i[a],s=[],u=S(o,e,s),l=E(e,u);if(-1!==l)return l;var f=r.magnitudeSquared(r.subtract(e[s[0]],o)),h=r.magnitudeSquared(r.subtract(e[s[1]],o)),m=h>f?e[s[0]]:e[s[1]],d=g(e),p=d.indexOf(m);-1!==p&&d.splice(p,1);for(var C=[],w=0;w0){var O=new r(1,0);for(w=0;w_&&(T=_,m=C[w])}}}return e.indexOf(m)}function w(e,t,r){for(var i=Y.computeWindingOrder2D(e),a=0;an&&(n=t.length-1),n===t.length&&(n=0),_(n,t),n}function _(t,i){var a=t-1,o=t+1;0>a&&(a=i.length-1),o===i.length&&(o=0);var s=r.subtract(i[a].position,i[t].position),u=r.subtract(i[o].position,i[t].position);if(s=new n(s.x,s.y,0),u=new n(u.x,u.y,0),b(s,u)){var l=new e("Superfluous vertex found.");throw l.vertexIndex=t,l}}function b(e,t){return 0===n.cross(e,t).z}function D(e,t){return n.cross(e,t).z<0}function I(e,t){return n.cross(e,t).z>0}function N(e,t,r){return n.cross(e,r).z>0&&n.cross(r,t).z>0}function P(e,t,r){return n.cross(e,r).z<0&&n.cross(r,t).z<0}function R(e,t,n){for(var i=0;it||e>r)&&(t>e||r>e)||t===r&&t===e}function F(t){var r=t.length;if(3===r)return z(t)?[]:[t[0].index,t[1].index,t[2].index];if(t.length<3)throw new e("Invalid polygon: must have at least three vertices.");for(var n=!1,i=0;!n;){var a=10*t.length;if(i>a)return[];i++;for(var o=x(t.length),s=o+1;Math.abs(o-s)<2||Math.abs(o-s)>t.length-2;)s=x(t.length);if(o>s){var u=o;o=s,s=u}try{if(T(o,s,t)){var l=t.splice(o,s-o+1,t[o],t[s]);return F(t).concat(F(l))}}catch(c){if(c.hasOwnProperty("vertexIndex"))return t.splice(c.vertexIndex,1),F(t);throw c}}}var U=0,B=-1,q=1,G=new n,W=new n,Y={removeDuplicates:function(e){for(var t=e.length,r=[],i=t-1,a=0;t>a;i=a++){var o=e[i],s=e[a];n.equals(o,s)||r.push(s)}return r},computeArea2D:function(e){for(var t=e.length,r=0,n=t-1,i=0;t>i;n=i++){var a=e[n],o=e[i];r+=a.x*o.y-o.x*a.y}return.5*r},computeWindingOrder2D:function(e){var t=Y.computeArea2D(e);return t>=0?d.COUNTER_CLOCKWISE:d.CLOCKWISE},triangulate:function(e){for(var t=e.length,r=[],n=0;t>n;++n)r[n]={position:e[n],index:n};return F(r)},resetSeed:function(e){U=l(e,0)},computeSubdivision:function(e,r,i){i=l(i,t.RADIANS_PER_DEGREE);for(var s=new m,u=r.length,c=0;u>c;c+=3)s.enqueue({i0:r[c],i1:r[c+1],i2:r[c+2]});for(var d,p=e.slice(0),y=[],v={};s.length>0;){var g,E,S=s.dequeue(),C=p[S.i0],w=p[S.i1],x=p[S.i2],T=n.angleBetween(C,w),O=n.angleBetween(w,x),A=n.angleBetween(x,C),M=Math.max(T,Math.max(O,A));M>i?T===M?(g=Math.min(S.i0,S.i1).toString()+" "+Math.max(S.i0,S.i1).toString(),d=v[g],d||(E=n.add(C,w),n.multiplyByScalar(E,.5,E),p.push(E),d=p.length-1,v[g]=d),s.enqueue({i0:S.i0,i1:d,i2:S.i2}),s.enqueue({i0:d,i1:S.i1,i2:S.i2})):O===M?(g=Math.min(S.i1,S.i2).toString()+" "+Math.max(S.i1,S.i2).toString(),d=v[g],d||(E=n.add(w,x),n.multiplyByScalar(E,.5,E),p.push(E),d=p.length-1,v[g]=d),s.enqueue({i0:S.i1,i1:d,i2:S.i0}),s.enqueue({i0:d,i1:S.i2,i2:S.i0})):A===M&&(g=Math.min(S.i2,S.i0).toString()+" "+Math.max(S.i2,S.i0).toString(),d=v[g],d||(E=n.add(x,C),n.multiplyByScalar(E,.5,E),p.push(E),d=p.length-1,v[g]=d),s.enqueue({i0:S.i2,i1:d,i2:S.i1}),s.enqueue({i0:d,i1:S.i0,i2:S.i1})):(y.push(S.i0),y.push(S.i1),y.push(S.i2))}var _=p.length,b=new Array(3*_),D=0;for(d=0;_>d;d++){var I=p[d];b[D++]=I.x,b[D++]=I.y,b[D++]=I.z}return new a({attributes:{position:new o({componentDatatype:f.DOUBLE,componentsPerAttribute:3,values:b})},indices:y,primitiveType:h.TRIANGLES})},scaleToGeodeticHeight:function(e,t,r,a){r=l(r,s.WGS84);var o=G,u=W;if(t=l(t,0),a=l(a,!0),i(e)&&i(e.attributes)&&i(e.attributes.position))for(var c=e.attributes.position.values,f=c.length,h=0;f>h;h+=3)n.fromArray(c,h,u),a&&(u=r.scaleToGeodeticSurface(u,u)),o=r.geodeticSurfaceNormal(u,o),n.multiplyByScalar(o,t,o),n.add(u,o,u),c[h]=u.x,c[h+1]=u.y,c[h+2]=u.z;return e},eliminateHoles:function(e,t,r){r=l(r,s.WGS84);for(var i=[],a=0;a0;)c=w(c,i,r);return c}};return Y}),define("Core/EllipsoidGeodesic",["./Cartesian3","./Cartographic","./defaultValue","./defined","./DeveloperError","./Ellipsoid","./Math"],function(e,t,r,n,i,a,o){"use strict";function s(e){var t=e._uSquared,r=e._ellipsoid.maximumRadius,n=e._ellipsoid.minimumRadius,i=(r-n)/r,a=Math.cos(e._startHeading),o=Math.sin(e._startHeading),s=(1-i)*Math.tan(e._start.latitude),u=1/Math.sqrt(1+s*s),l=u*s,c=Math.atan2(s,a),f=u*o,h=f*f,m=1-h,d=Math.sqrt(m),p=t/4,y=p*p,v=y*p,g=y*y,E=1+p-3*y/4+5*v/4-175*g/64,S=1-p+15*y/8-35*v/8,C=1-3*p+35*y/4,w=1-5*p,x=E*c-S*Math.sin(2*c)*p/2-C*Math.sin(4*c)*y/16-w*Math.sin(6*c)*v/48-5*Math.sin(8*c)*g/512,T=e._constants;T.a=r,T.b=n,T.f=i,T.cosineHeading=a,T.sineHeading=o,T.tanU=s,T.cosineU=u,T.sineU=l,T.sigma=c,T.sineAlpha=f,T.sineSquaredAlpha=h,T.cosineSquaredAlpha=m,T.cosineAlpha=d,T.u2Over4=p,T.u4Over16=y,T.u6Over64=v,T.u8Over256=g,T.a0=E,T.a1=S,T.a2=C,T.a3=w,T.distanceRatio=x}function u(e,t){return e*t*(4+e*(4-3*t))/16}function l(e,t,r,n,i,a,o){var s=u(e,r);return(1-s)*e*t*(n+s*i*(o+s*a*(2*o*o-1)))}function c(e,t,r,n,i,a,s){var u,c,f,h,m,d=(t-r)/t,p=a-n,y=Math.atan((1-d)*Math.tan(i)),v=Math.atan((1-d)*Math.tan(s)),g=Math.cos(y),E=Math.sin(y),S=Math.cos(v),C=Math.sin(v),w=g*S,x=g*C,T=E*C,O=E*S,A=p,M=o.TWO_PI,_=Math.cos(A),b=Math.sin(A);do{_=Math.cos(A),b=Math.sin(A);var D=x-O*_;f=Math.sqrt(S*S*b*b+D*D),c=T+w*_,u=Math.atan2(f,c);var I;0===f?(I=0,h=1):(I=w*b/f,h=1-I*I),M=A,m=c-2*T/h,isNaN(m)&&(m=0),A=p+l(d,I,h,u,f,c,m)}while(Math.abs(A-M)>o.EPSILON12);var N=h*(t*t-r*r)/(r*r),P=1+N*(4096+N*(N*(320-175*N)-768))/16384,R=N*(256+N*(N*(74-47*N)-128))/1024,z=m*m,L=R*f*(m+R*(c*(2*z-1)-R*m*(4*f*f-3)*(4*z-3)/6)/4),F=r*P*(u-L),U=Math.atan2(S*b,x-O*_),B=Math.atan2(g*b,x*_-O);e._distance=F,e._startHeading=U,e._endHeading=B,e._uSquared=N}function f(r,n,i,a){e.normalize(a.cartographicToCartesian(n,m),h),e.normalize(a.cartographicToCartesian(i,m),m),c(r,a.maximumRadius,a.minimumRadius,n.longitude,n.latitude,i.longitude,i.latitude),n.height=0,i.height=0,r._start=t.clone(n,r._start),r._end=t.clone(i,r._end),s(r)}var h=new e,m=new e,d=function(e,i,o){var s=r(o,a.WGS84);this._ellipsoid=s,this._start=new t,this._end=new t,this._constants={},this._startHeading=void 0,this._endHeading=void 0,this._distance=void 0,this._uSquared=void 0,n(e)&&n(i)&&f(this,e,i,s)};return d.prototype.getSurfaceDistance=function(){return this._distance},d.prototype.setEndPoints=function(e,t){f(this,e,t,this._ellipsoid)},d.prototype.getStart=function(){return this._start},d.prototype.getEnd=function(){return this._end},d.prototype.getStartHeading=function(){return this._startHeading},d.prototype.getEndHeading=function(){return this._endHeading},d.prototype.interpolateUsingFraction=function(e,t){return this.interpolateUsingSurfaceDistance(this._distance*e,t)},d.prototype.interpolateUsingSurfaceDistance=function(e,r){var i=this._constants,a=i.distanceRatio+e/i.b,o=Math.cos(2*a),s=Math.cos(4*a),u=Math.cos(6*a),c=Math.sin(2*a),f=Math.sin(4*a),h=Math.sin(6*a),m=Math.sin(8*a),d=a*a,p=a*d,y=i.u8Over256,v=i.u2Over4,g=i.u6Over64,E=i.u4Over16,S=2*p*y*o/3+a*(1-v+7*E/4-15*g/4+579*y/64-(E-15*g/4+187*y/16)*o-(5*g/4-115*y/16)*s-29*y*u/16)+(v/2-E+71*g/32-85*y/16)*c+(5*E/16-5*g/4+383*y/96)*f-d*((g-11*y/2)*c+5*y*f/2)+(29*g/96-29*y/16)*h+539*y*m/1536,C=Math.asin(Math.sin(S)*i.cosineAlpha),w=Math.atan(i.a/i.b*Math.tan(C));S-=i.sigma;var x=Math.cos(2*i.sigma+S),T=Math.sin(S),O=Math.cos(S),A=i.cosineU*O,M=i.sineU*T,_=Math.atan2(T*i.sineHeading,A-M*i.cosineHeading),b=_-l(i.f,i.sineAlpha,i.cosineSquaredAlpha,S,T,O,x);return n(r)?(r.longitude=this._start.longitude+b,r.latitude=w,r.height=0,r):new t(this._start.longitude+b,w,0)},d}),define("Core/PolylinePipeline",["./Cartesian3","./Cartographic","./defaultValue","./defined","./DeveloperError","./Ellipsoid","./EllipsoidGeodesic","./IntersectionTests","./isArray","./Math","./Matrix4","./Plane"],function(e,t,r,n,i,a,o,s,u,l,c,f){"use strict";function h(t,r,n,i){var a=i.scaleToGeodeticSurface(t,A),o=i.scaleToGeodeticSurface(r,M),s=e.angleBetween(a,o),u=Math.ceil(s/n),l=new Array(3*u),c=i.cartesianToCartographic(a,x),f=i.cartesianToCartographic(o,T);_.setEndPoints(c,f);var h=_.getSurfaceDistance()/u,m=0;c.height=0;var d=i.cartographicToCartesian(c,O);l[m++]=d.x,l[m++]=d.y,l[m++]=d.z;for(var p=1;u>p;p++){var y=_.interpolateUsingSurfaceDistance(p*h,T);d=i.cartographicToCartesian(y,O),l[m++]=d.x,l[m++]=d.y,l[m++]=d.z}return l}function m(t,r,n){var i=b;return n.geodeticSurfaceNormal(t,i),e.multiplyByScalar(i,r,i),e.add(t,i,t),t}var d={},p=new c,y=new e,v=new e,g=new f(e.ZERO,0),E=new e,S=new f(e.ZERO,0),C=new e,w=new e,x=new t,T=new t,O=new e,A=new e,M=new e,_=new o,b=new e,D=new e;return d.wrapLongitude=function(t,i){var a=[],o=[];if(n(t)&&t.length>0){i=r(i,c.IDENTITY);var u=c.inverseTransformation(i,p),l=c.multiplyByPoint(u,e.ZERO,y),h=c.multiplyByPointAsVector(u,e.UNIT_Y,v),m=f.fromPointNormal(l,h,g),d=c.multiplyByPointAsVector(u,e.UNIT_X,E),x=f.fromPointNormal(l,d,S),T=1;a.push(e.clone(t[0]));for(var O=a[0],A=t.length,M=1;A>M;++M){var _=t[M];if(f.getPointDistance(x,O)<0||f.getPointDistance(x,_)<0){var b=s.lineSegmentPlane(O,_,m,C);if(n(b)){var D=e.multiplyByScalar(h,5e-9,w);f.getPointDistance(m,O)<0&&e.negate(D,D),a.push(e.add(b,D)),o.push(T+1),e.negate(D,D),a.push(e.add(b,D)),T=1}}a.push(e.clone(t[M])),T++,O=_}o.push(T)}return{positions:a,lengths:o}},d.removeDuplicates=function(t){var r=t.length;if(2>r)return t.slice(0);var n=[];n.push(t[0]);for(var i=1;r>i;++i){var a=t[i-1],o=t[i];e.equals(a,o)||n.push(o)}return n},d.scaleToSurface=function(e,t,n){t=r(t,l.RADIANS_PER_DEGREE),n=r(n,a.WGS84);for(var i=e.length,o=[],s=0;i-1>s;s++){var u=e[s],c=e[s+1];o=o.concat(h(u,c,t,n))}var f=e[i-1],m=n.cartesianToCartographic(f,x);m.height=0;var d=n.cartographicToCartesian(m,O);return o.push(d.x,d.y,d.z),o},d.scaleToGeodeticHeight=function(t,o,s,l){s=r(s,a.WGS84);var c,f,h=t.length,d=D;if(n(l)){if(l.length!==t.length)throw new i("result.length must be equal to positions.length");f=l}else f=new Array(t.length);if(0===o){for(c=0;h>c;c+=3)d=s.scaleToGeodeticSurface(e.fromArray(t,c,d),d),f[c]=d.x,f[c+1]=d.y,f[c+2]=d.z;return f}var p;if(u(o)){if(o.length!==h/3)throw new i("height.length must be equal to positions.length");for(c=0;h>c;c+=3)p=o[c/3],d=e.fromArray(t,c,d),d=m(d,p,s),f[c]=d.x,f[c+1]=d.y,f[c+2]=d.z}else for(p=o,c=0;h>c;c+=3)d=e.fromArray(t,c,d),d=m(d,p,s),f[c]=d.x,f[c+1]=d.y,f[c+2]=d.z;return f},d}),define("Core/WallGeometryLibrary",["./defined","./Cartographic","./Cartesian3","./DeveloperError","./EllipsoidTangentPlane","./PolygonPipeline","./PolylinePipeline","./Math","./WindingOrder"],function(e,t,r,n,i,a,o,s,u){"use strict";function l(e,t,n,i,a){var o,s=r.angleBetween(e,t),u=Math.ceil(s/a),l=new Array(u);if(n===i){for(o=0;u>o;o++)l[o]=n;return l}var c=i-n,f=c/u;for(o=1;u>o;o++){var h=n+o*f;l[o]=h}return l[0]=n,l}function c(e,t){return s.equalsEpsilon(e.latitude,t.latitude,s.EPSILON14)&&s.equalsEpsilon(e.longitude,t.longitude,s.EPSILON14)}function f(r,n,i,a){var o=e(a),s=e(i),u=[],l=[],f=o?[]:void 0,h=n.length;if(2>h)return{positions:n};var p=n[0];u.push(p);var y=r.cartesianToCartographic(p,m);s&&(y.height=i[0]),l.push(y.height),o&&f.push(a[0]);for(var v=1;h>v;++v){var g=n[v],E=r.cartesianToCartographic(g,d);s&&(E.height=i[v]),c(y,E)?y.height=3){var p=i.fromPoints(r,t),y=p.projectPointsOntoPlane(r);a.computeWindingOrder2D(y)===u.CLOCKWISE&&(r.reverse(),n.reverse(),d&&s.reverse())}var v,g=r.length,E=[],S=d?[]:void 0,C=[];for(v=0;g-1>v;v++){var w=r[v],x=r[v+1],T=n[v],O=n[v+1];E=E.concat(l(w,x,T,O,c)),h&&E.push(O),d&&(w=r[v],x=r[v+1],T=s[v],O=s[v+1],S=S.concat(l(w,x,T,O,c)),h&&S.push(O)),h&&(C=C.concat(o.scaleToSurface([w,x],c,t)))}h||(C=o.scaleToSurface(r,c,t),E.push(n[g-1]),d&&S.push(s[g-1]));var A=d?o.scaleToGeodeticHeight(C,S,t):C.slice(0),M=o.scaleToGeodeticHeight(C,E,t);return{newWallPositions:C,bottomPositions:A,topPositions:M}},h}),define("Core/WallGeometry",["./defaultValue","./defined","./BoundingSphere","./Cartesian3","./ComponentDatatype","./IndexDatatype","./DeveloperError","./Ellipsoid","./Geometry","./GeometryAttribute","./GeometryAttributes","./Math","./PrimitiveType","./VertexFormat","./WallGeometryLibrary"],function(e,t,r,n,i,a,o,s,u,l,c,f,h,m,d){"use strict";var p=new n,y=new n,v=new n,g=new n,E=new n,S=new n,C=new n,w=new n,x=function(t){t=e(t,e.EMPTY_OBJECT);var r=t.positions,n=t.maximumHeights,i=t.minimumHeights,a=e(t.vertexFormat,m.DEFAULT),o=e(t.granularity,f.RADIANS_PER_DEGREE),u=e(t.ellipsoid,s.WGS84);this._positions=r,this._minimumHeights=i,this._maximumHeights=n,this._vertexFormat=a,this._granularity=o,this._ellipsoid=u,this._workerName="createWallGeometry"};return x.fromConstantHeights=function(r){r=e(r,e.EMPTY_OBJECT);var n,i,a=r.positions,o=r.minimumHeight,s=r.maximumHeight,u=t(o),l=t(s);if(u||l){var c=a.length;n=u?new Array(c):void 0,i=l?new Array(c):void 0;for(var f=0;c>f;++f)u&&(n[f]=o),l&&(i[f]=s)}var h={positions:a,maximumHeights:i,minimumHeights:n,ellipsoid:r.ellipsoid,vertexFormat:r.vertexFormat};return new x(h)},x.createGeometry=function(e){var t=e._positions,o=e._minimumHeights,s=e._maximumHeights,m=e._vertexFormat,x=e._granularity,T=e._ellipsoid,O=d.computePositions(T,t,s,o,x,!0),A=O.newWallPositions,M=O.bottomPositions,_=O.topPositions,b=A.length,D=2*b,I=m.position?new Float64Array(D):void 0,N=m.normal?new Float32Array(D):void 0,P=m.tangent?new Float32Array(D):void 0,R=m.binormal?new Float32Array(D):void 0,z=m.st?new Float32Array(2*(D/3)):void 0,L=0,F=0,U=0,B=0,q=0,G=w,W=C,Y=S,H=!0;b/=3;var V;for(V=0;b>V;++V){var j=3*V,k=n.fromArray(_,j,p),K=n.fromArray(M,j,y);if(m.position&&(I[L++]=K.x,I[L++]=K.y,I[L++]=K.z,I[L++]=k.x,I[L++]=k.y,I[L++]=k.z),m.normal||m.tangent||m.binormal){var Z,J=new n,X=n.fromArray(A,j,y);if(b>V+1&&(Z=n.fromArray(A,j+3,v),J=n.fromArray(_,j+3,E)),H){var Q=n.subtract(J,k,g),$=n.subtract(X,k,p);G=n.normalize(n.cross($,Q,G),G),H=!1}n.equalsEpsilon(Z,X,f.EPSILON6)?H=!0:(m.tangent&&(W=n.normalize(n.subtract(Z,X,W),W)),m.binormal&&(Y=n.normalize(n.cross(G,W,Y),Y))),m.normal&&(N[F++]=G.x,N[F++]=G.y,N[F++]=G.z,N[F++]=G.x,N[F++]=G.y,N[F++]=G.z),m.tangent&&(P[B++]=W.x,P[B++]=W.y,P[B++]=W.z,P[B++]=W.x,P[B++]=W.y,P[B++]=W.z),m.binormal&&(R[U++]=Y.x,R[U++]=Y.y,R[U++]=Y.z,R[U++]=Y.x,R[U++]=Y.y,R[U++]=Y.z)}if(m.st){var et=V/(b-1);z[q++]=et,z[q++]=0,z[q++]=et,z[q++]=1}}var tt=new c;m.position&&(tt.position=new l({componentDatatype:i.DOUBLE,componentsPerAttribute:3,values:I})),m.normal&&(tt.normal=new l({componentDatatype:i.FLOAT,componentsPerAttribute:3,values:N})),m.tangent&&(tt.tangent=new l({componentDatatype:i.FLOAT,componentsPerAttribute:3,values:P})),m.binormal&&(tt.binormal=new l({componentDatatype:i.FLOAT,componentsPerAttribute:3,values:R})),m.st&&(tt.st=new l({componentDatatype:i.FLOAT,componentsPerAttribute:2,values:z}));var rt=D/3;D-=6;var nt=a.createTypedArray(rt,D),it=0;for(V=0;rt-2>V;V+=2){var at=V,ot=V+2,st=n.fromArray(I,3*at,p),ut=n.fromArray(I,3*ot,y);if(!n.equalsEpsilon(st,ut,f.EPSILON6)){var lt=V+1,ct=V+3;nt[it++]=lt,nt[it++]=at,nt[it++]=ct,nt[it++]=ct,nt[it++]=at,nt[it++]=ot}}return new u({attributes:tt,indices:nt,primitiveType:h.TRIANGLES,boundingSphere:new r.fromVertices(I)})},x}),define("Core/Color",["./defaultValue","./defined","./freezeObject","./DeveloperError","./FeatureDetection","./Math"],function(e,t,r,n,i,a){"use strict";function o(e,t,r){return 0>r&&(r+=1),r>1&&(r-=1),1>6*r?e+6*(t-e)*r:1>2*r?t:2>3*r?e+6*(t-e)*(2/3-r):e}var s=function(t,r,n,i){this.red=e(t,1),this.green=e(r,1),this.blue=e(n,1),this.alpha=e(i,1)};s.fromBytes=function(t,r,n,i){return t=s.byteToFloat(e(t,255)),r=s.byteToFloat(e(r,255)),n=s.byteToFloat(e(n,255)),i=s.byteToFloat(e(i,255)),new s(t,r,n,i)};var u,l,c;i.supportsTypedArrays()&&(u=new ArrayBuffer(4),l=new Uint32Array(u),c=new Uint8Array(u)),s.fromRgba=function(e){return l[0]=e,s.fromBytes(c[0],c[1],c[2],c[3])},s.fromHsl=function(t,r,n,i){t=e(t,0)%1,r=e(r,0),n=e(n,0),i=e(i,1);var a=n,u=n,l=n;if(0!==r){var c;c=.5>n?n*(1+r):n+r-n*r;var f=2*n-c;a=o(f,c,t+1/3),u=o(f,c,t),l=o(f,c,t-1/3)}return new s(a,u,l,i)},s.fromRandom=function(r,n){r=e(r,e.EMPTY_OBJECT);var i=r.red;if(!t(i)){var o=e(r.minimumRed,0),u=e(r.maximumRed,1);i=o+a.nextRandomNumber()*(u-o)}var l=r.green;if(!t(l)){var c=e(r.minimumGreen,0),f=e(r.maximumGreen,1);l=c+a.nextRandomNumber()*(f-c)}var h=r.blue;if(!t(h)){var m=e(r.minimumBlue,0),d=e(r.maximumBlue,1);h=m+a.nextRandomNumber()*(d-m)}var p=r.alpha;if(!t(p)){var y=e(r.minimumAlpha,0),v=e(r.maximumAlpha,1);p=y+a.nextRandomNumber()*(v-y)}return t(n)?(n.red=i,n.green=l,n.blue=h,n.alpha=p,n):new s(i,l,h,p)};var f=/^#([0-9a-f])([0-9a-f])([0-9a-f])$/i,h=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i,m=/^rgba?\(\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)(?:\s*,\s*([0-9.]+))?\s*\)$/i,d=/^hsla?\(\s*([0-9.]+)\s*,\s*([0-9.]+%)\s*,\s*([0-9.]+%)(?:\s*,\s*([0-9.]+))?\s*\)$/i;return s.fromCssColorString=function(r){var n=s[r.toUpperCase()];if(t(n))return s.clone(n);var i=f.exec(r);return null!==i?new s(parseInt(i[1],16)/15,parseInt(i[2],16)/15,parseInt(i[3],16)/15):(i=h.exec(r),null!==i?new s(parseInt(i[1],16)/255,parseInt(i[2],16)/255,parseInt(i[3],16)/255):(i=m.exec(r),null!==i?new s(parseFloat(i[1])/("%"===i[1].substr(-1)?100:255),parseFloat(i[2])/("%"===i[2].substr(-1)?100:255),parseFloat(i[3])/("%"===i[3].substr(-1)?100:255),parseFloat(e(i[4],"1.0"))):(i=d.exec(r),null!==i?s.fromHsl(parseFloat(i[1])/360,parseFloat(i[2])/100,parseFloat(i[3])/100,parseFloat(e(i[4],"1.0"))):void 0)))},s.packedLength=4,s.pack=function(t,r,n){n=e(n,0),r[n++]=t.red,r[n++]=t.green,r[n++]=t.blue,r[n]=t.alpha},s.unpack=function(r,n,i){return n=e(n,0),t(i)||(i=new s),i.red=r[n++],i.green=r[n++],i.blue=r[n++],i.alpha=r[n],i},s.byteToFloat=function(e){return e/255},s.floatToByte=function(e){return 1===e?255:0|256*e},s.clone=function(e,r){return t(e)?t(r)?(r.red=e.red,r.green=e.green,r.blue=e.blue,r.alpha=e.alpha,r):new s(e.red,e.green,e.blue,e.alpha):void 0},s.equals=function(e,r){return e===r||t(e)&&t(r)&&e.red===r.red&&e.green===r.green&&e.blue===r.blue&&e.alpha===r.alpha},s.prototype.clone=function(e){return s.clone(this,e)},s.prototype.equals=function(e){return s.equals(this,e)},s.prototype.equalsEpsilon=function(e,r){return this===e||t(e)&&Math.abs(this.red-e.red)<=r&&Math.abs(this.green-e.green)<=r&&Math.abs(this.blue-e.blue)<=r&&Math.abs(this.alpha-e.alpha)<=r},s.prototype.toString=function(){return"("+this.red+", "+this.green+", "+this.blue+", "+this.alpha+")"},s.prototype.toCssColorString=function(){var e=s.floatToByte(this.red),t=s.floatToByte(this.green),r=s.floatToByte(this.blue);return 1===this.alpha?"rgb("+e+","+t+","+r+")":"rgba("+e+","+t+","+r+","+this.alpha+")"},s.prototype.toBytes=function(e){var r=s.floatToByte(this.red),n=s.floatToByte(this.green),i=s.floatToByte(this.blue),a=s.floatToByte(this.alpha);return t(e)?(e[0]=r,e[1]=n,e[2]=i,e[3]=a,e):[r,n,i,a]},s.prototype.toRgba=function(){return c[0]=s.floatToByte(this.red),c[1]=s.floatToByte(this.green),c[2]=s.floatToByte(this.blue),c[3]=s.floatToByte(this.alpha),l[0]},s.ALICEBLUE=r(s.fromCssColorString("#F0F8FF")),s.ANTIQUEWHITE=r(s.fromCssColorString("#FAEBD7")),s.AQUA=r(s.fromCssColorString("#00FFFF")),s.AQUAMARINE=r(s.fromCssColorString("#7FFFD4")),s.AZURE=r(s.fromCssColorString("#F0FFFF")),s.BEIGE=r(s.fromCssColorString("#F5F5DC")),s.BISQUE=r(s.fromCssColorString("#FFE4C4")),s.BLACK=r(s.fromCssColorString("#000000")),s.BLANCHEDALMOND=r(s.fromCssColorString("#FFEBCD")),s.BLUE=r(s.fromCssColorString("#0000FF")),s.BLUEVIOLET=r(s.fromCssColorString("#8A2BE2")),s.BROWN=r(s.fromCssColorString("#A52A2A")),s.BURLYWOOD=r(s.fromCssColorString("#DEB887")),s.CADETBLUE=r(s.fromCssColorString("#5F9EA0")),s.CHARTREUSE=r(s.fromCssColorString("#7FFF00")),s.CHOCOLATE=r(s.fromCssColorString("#D2691E")),s.CORAL=r(s.fromCssColorString("#FF7F50")),s.CORNFLOWERBLUE=r(s.fromCssColorString("#6495ED")),s.CORNSILK=r(s.fromCssColorString("#FFF8DC")),s.CRIMSON=r(s.fromCssColorString("#DC143C")),s.CYAN=r(s.fromCssColorString("#00FFFF")),s.DARKBLUE=r(s.fromCssColorString("#00008B")),s.DARKCYAN=r(s.fromCssColorString("#008B8B")),s.DARKGOLDENROD=r(s.fromCssColorString("#B8860B")),s.DARKGRAY=r(s.fromCssColorString("#A9A9A9")),s.DARKGREEN=r(s.fromCssColorString("#006400")),s.DARKGREY=s.DARKGRAY,s.DARKKHAKI=r(s.fromCssColorString("#BDB76B")),s.DARKMAGENTA=r(s.fromCssColorString("#8B008B")),s.DARKOLIVEGREEN=r(s.fromCssColorString("#556B2F")),s.DARKORANGE=r(s.fromCssColorString("#FF8C00")),s.DARKORCHID=r(s.fromCssColorString("#9932CC")),s.DARKRED=r(s.fromCssColorString("#8B0000")),s.DARKSALMON=r(s.fromCssColorString("#E9967A")),s.DARKSEAGREEN=r(s.fromCssColorString("#8FBC8F")),s.DARKSLATEBLUE=r(s.fromCssColorString("#483D8B")),s.DARKSLATEGRAY=r(s.fromCssColorString("#2F4F4F")),s.DARKSLATEGREY=s.DARKSLATEGRAY,s.DARKTURQUOISE=r(s.fromCssColorString("#00CED1")),s.DARKVIOLET=r(s.fromCssColorString("#9400D3")),s.DEEPPINK=r(s.fromCssColorString("#FF1493")),s.DEEPSKYBLUE=r(s.fromCssColorString("#00BFFF")),s.DIMGRAY=r(s.fromCssColorString("#696969")),s.DIMGREY=s.DIMGRAY,s.DODGERBLUE=r(s.fromCssColorString("#1E90FF")),s.FIREBRICK=r(s.fromCssColorString("#B22222")),s.FLORALWHITE=r(s.fromCssColorString("#FFFAF0")),s.FORESTGREEN=r(s.fromCssColorString("#228B22")),s.FUSCHIA=r(s.fromCssColorString("#FF00FF")),s.GAINSBORO=r(s.fromCssColorString("#DCDCDC")),s.GHOSTWHITE=r(s.fromCssColorString("#F8F8FF")),s.GOLD=r(s.fromCssColorString("#FFD700")),s.GOLDENROD=r(s.fromCssColorString("#DAA520")),s.GRAY=r(s.fromCssColorString("#808080")),s.GREEN=r(s.fromCssColorString("#008000")),s.GREENYELLOW=r(s.fromCssColorString("#ADFF2F")),s.GREY=s.GRAY,s.HONEYDEW=r(s.fromCssColorString("#F0FFF0")),s.HOTPINK=r(s.fromCssColorString("#FF69B4")),s.INDIANRED=r(s.fromCssColorString("#CD5C5C")),s.INDIGO=r(s.fromCssColorString("#4B0082")),s.IVORY=r(s.fromCssColorString("#FFFFF0")),s.KHAKI=r(s.fromCssColorString("#F0E68C")),s.LAVENDER=r(s.fromCssColorString("#E6E6FA")),s.LAVENDAR_BLUSH=r(s.fromCssColorString("#FFF0F5")),s.LAWNGREEN=r(s.fromCssColorString("#7CFC00")),s.LEMONCHIFFON=r(s.fromCssColorString("#FFFACD")),s.LIGHTBLUE=r(s.fromCssColorString("#ADD8E6")),s.LIGHTCORAL=r(s.fromCssColorString("#F08080")),s.LIGHTCYAN=r(s.fromCssColorString("#E0FFFF")),s.LIGHTGOLDENRODYELLOW=r(s.fromCssColorString("#FAFAD2")),s.LIGHTGRAY=r(s.fromCssColorString("#D3D3D3")),s.LIGHTGREEN=r(s.fromCssColorString("#90EE90")),s.LIGHTGREY=s.LIGHTGRAY,s.LIGHTPINK=r(s.fromCssColorString("#FFB6C1")),s.LIGHTSEAGREEN=r(s.fromCssColorString("#20B2AA")),s.LIGHTSKYBLUE=r(s.fromCssColorString("#87CEFA")),s.LIGHTSLATEGRAY=r(s.fromCssColorString("#778899")),s.LIGHTSLATEGREY=s.LIGHTSLATEGRAY,s.LIGHTSTEELBLUE=r(s.fromCssColorString("#B0C4DE")),s.LIGHTYELLOW=r(s.fromCssColorString("#FFFFE0")),s.LIME=r(s.fromCssColorString("#00FF00")),s.LIMEGREEN=r(s.fromCssColorString("#32CD32")),s.LINEN=r(s.fromCssColorString("#FAF0E6")),s.MAGENTA=r(s.fromCssColorString("#FF00FF")),s.MAROON=r(s.fromCssColorString("#800000")),s.MEDIUMAQUAMARINE=r(s.fromCssColorString("#66CDAA")),s.MEDIUMBLUE=r(s.fromCssColorString("#0000CD")),s.MEDIUMORCHID=r(s.fromCssColorString("#BA55D3")),s.MEDIUMPURPLE=r(s.fromCssColorString("#9370DB")),s.MEDIUMSEAGREEN=r(s.fromCssColorString("#3CB371")),s.MEDIUMSLATEBLUE=r(s.fromCssColorString("#7B68EE")),s.MEDIUMSPRINGGREEN=r(s.fromCssColorString("#00FA9A")),s.MEDIUMTURQUOISE=r(s.fromCssColorString("#48D1CC")),s.MEDIUMVIOLETRED=r(s.fromCssColorString("#C71585")),s.MIDNIGHTBLUE=r(s.fromCssColorString("#191970")),s.MINTCREAM=r(s.fromCssColorString("#F5FFFA")),s.MISTYROSE=r(s.fromCssColorString("#FFE4E1")),s.MOCCASIN=r(s.fromCssColorString("#FFE4B5")),s.NAVAJOWHITE=r(s.fromCssColorString("#FFDEAD")),s.NAVY=r(s.fromCssColorString("#000080")),s.OLDLACE=r(s.fromCssColorString("#FDF5E6")),s.OLIVE=r(s.fromCssColorString("#808000")),s.OLIVEDRAB=r(s.fromCssColorString("#6B8E23")),s.ORANGE=r(s.fromCssColorString("#FFA500")),s.ORANGERED=r(s.fromCssColorString("#FF4500")),s.ORCHID=r(s.fromCssColorString("#DA70D6")),s.PALEGOLDENROD=r(s.fromCssColorString("#EEE8AA")),s.PALEGREEN=r(s.fromCssColorString("#98FB98")),s.PALETURQUOISE=r(s.fromCssColorString("#AFEEEE")),s.PALEVIOLETRED=r(s.fromCssColorString("#DB7093")),s.PAPAYAWHIP=r(s.fromCssColorString("#FFEFD5")),s.PEACHPUFF=r(s.fromCssColorString("#FFDAB9")),s.PERU=r(s.fromCssColorString("#CD853F")),s.PINK=r(s.fromCssColorString("#FFC0CB")),s.PLUM=r(s.fromCssColorString("#DDA0DD")),s.POWDERBLUE=r(s.fromCssColorString("#B0E0E6")),s.PURPLE=r(s.fromCssColorString("#800080")),s.RED=r(s.fromCssColorString("#FF0000")),s.ROSYBROWN=r(s.fromCssColorString("#BC8F8F")),s.ROYALBLUE=r(s.fromCssColorString("#4169E1")),s.SADDLEBROWN=r(s.fromCssColorString("#8B4513")),s.SALMON=r(s.fromCssColorString("#FA8072")),s.SANDYBROWN=r(s.fromCssColorString("#F4A460")),s.SEAGREEN=r(s.fromCssColorString("#2E8B57")),s.SEASHELL=r(s.fromCssColorString("#FFF5EE")),s.SIENNA=r(s.fromCssColorString("#A0522D")),s.SILVER=r(s.fromCssColorString("#C0C0C0")),s.SKYBLUE=r(s.fromCssColorString("#87CEEB")),s.SLATEBLUE=r(s.fromCssColorString("#6A5ACD")),s.SLATEGRAY=r(s.fromCssColorString("#708090")),s.SLATEGREY=s.SLATEGRAY,s.SNOW=r(s.fromCssColorString("#FFFAFA")),s.SPRINGGREEN=r(s.fromCssColorString("#00FF7F")),s.STEELBLUE=r(s.fromCssColorString("#4682B4")),s.TAN=r(s.fromCssColorString("#D2B48C")),s.TEAL=r(s.fromCssColorString("#008080")),s.THISTLE=r(s.fromCssColorString("#D8BFD8")),s.TOMATO=r(s.fromCssColorString("#FF6347")),s.TURQUOISE=r(s.fromCssColorString("#40E0D0")),s.VIOLET=r(s.fromCssColorString("#EE82EE")),s.WHEAT=r(s.fromCssColorString("#F5DEB3")),s.WHITE=r(s.fromCssColorString("#FFFFFF")),s.WHITESMOKE=r(s.fromCssColorString("#F5F5F5")),s.YELLOW=r(s.fromCssColorString("#FFFF00")),s.YELLOWGREEN=r(s.fromCssColorString("#9ACD32")),s +}),define("Core/EncodedCartesian3",["./Cartesian3","./defined","./DeveloperError"],function(e,t){"use strict";var r=function(){this.high=e.clone(e.ZERO),this.low=e.clone(e.ZERO)};r.encode=function(e,r){t(r)||(r={high:0,low:0});var n;return e>=0?(n=65536*Math.floor(e/65536),r.high=n,r.low=e-n):(n=65536*Math.floor(-e/65536),r.high=-n,r.low=e+n),r};var n={high:0,low:0};r.fromCartesian=function(e,i){t(i)||(i=new r);var a=i.high,o=i.low;return r.encode(e.x,n),a.x=n.high,o.x=n.low,r.encode(e.y,n),a.y=n.high,o.y=n.low,r.encode(e.z,n),a.z=n.high,o.z=n.low,i};var i=new r;return r.writeElements=function(e,t,n){r.fromCartesian(e,i);var a=i.high,o=i.low;t[n]=a.x,t[n+1]=a.y,t[n+2]=a.z,t[n+3]=o.x,t[n+4]=o.y,t[n+5]=o.z},r}),define("Core/Tipsify",["./defaultValue","./defined","./DeveloperError"],function(e,t){"use strict";var r={};return r.calculateACMR=function(r){r=e(r,e.EMPTY_OBJECT);var n=r.indices,i=r.maximumIndex,a=e(r.cacheSize,24),o=n.length;if(!t(i)){i=0;for(var s=0,u=n[s];o>s;)u>i&&(i=u),++s,u=n[s]}for(var l=[],c=0;i+1>c;c++)l[c]=0;for(var f=a+1,h=0;o>h;++h)f-l[n[h]]>a&&(l[n[h]]=f,++f);return(f-a+1)/(o/3)},r.tipsify=function(r){function n(e,t,r,n){for(;t.length>=1;){var i=t[t.length-1];if(t.splice(t.length-1,1),e[i].numLiveTriangles>0)return i}for(;n>a;){if(e[a].numLiveTriangles>0)return++a,a-1;++a}return-1}function i(e,t,r,i,a,o,s){for(var u,l=-1,c=-1,f=0;fc||-1===c)&&(c=u,l=h)),++f}return-1===l?n(i,o,e,s):l}r=e(r,e.EMPTY_OBJECT);var a,o=r.indices,s=r.maximumIndex,u=e(r.cacheSize,24),l=o.length,c=0,f=0,h=o[f],m=l;if(t(s))c=s+1;else{for(;m>f;)h>c&&(c=h),++f,h=o[f];if(-1===c)return 0;++c}for(var d=[],p=0;c>p;p++)d[p]={numLiveTriangles:0,timeStamp:0,vertexTriangles:[]};f=0;for(var y=0;m>f;)d[o[f]].vertexTriangles.push(y),++d[o[f]].numLiveTriangles,d[o[f+1]].vertexTriangles.push(y),++d[o[f+1]].numLiveTriangles,d[o[f+2]].vertexTriangles.push(y),++d[o[f+2]].numLiveTriangles,++y,f+=3;var v=0,g=u+1;a=1;var E,S,C=[],w=[],x=0,T=[],O=l/3,A=[];for(p=0;O>p;p++)A[p]=!1;for(var M,_;-1!==v;){C=[],S=d[v],_=S.vertexTriangles.length;for(var b=0;_>b;++b)if(y=S.vertexTriangles[b],!A[y]){A[y]=!0,f=y+y+y;for(var D=0;3>D;++D)M=o[f],C.push(M),w.push(M),T[x]=M,++x,E=d[M],--E.numLiveTriangles,g-E.timeStamp>u&&(E.timeStamp=g,++g),++f}v=i(o,u,C,d,g,w,c)}return T},r}),define("Core/GeometryPipeline",["./barycentricCoordinates","./defaultValue","./defined","./DeveloperError","./Cartesian2","./Cartesian3","./Cartesian4","./Cartographic","./EncodedCartesian3","./Intersect","./IntersectionTests","./Math","./Matrix3","./Matrix4","./Plane","./GeographicProjection","./ComponentDatatype","./IndexDatatype","./PrimitiveType","./Tipsify","./BoundingSphere","./Geometry","./GeometryAttribute"],function(e,t,r,n,i,a,o,s,u,l,c,f,h,m,d,p,y,v,g,E,S,C,w){"use strict";function x(e,t,r,n,i){e[t++]=r,e[t++]=n,e[t++]=n,e[t++]=i,e[t++]=i,e[t]=r}function T(e){for(var t=e.length,r=6*(t/3),n=v.createTypedArray(t,r),i=0,a=0;t>a;a+=3,i+=6)x(n,i,e[a],e[a+1],e[a+2]);return n}function O(e){var t=e.length;if(t>=3){var r=6*(t-2),n=v.createTypedArray(t,r);x(n,0,e[0],e[1],e[2]);for(var i=6,a=3;t>a;++a,i+=6)x(n,i,e[a-1],e[a],e[a-2]);return n}return new Uint16Array}function A(e){if(e.length>0){for(var t=e.length-1,r=6*(t-1),n=v.createTypedArray(t,r),i=e[0],a=0,o=1;t>o;++o,a+=6)x(n,a,i,e[o],e[o+1]);return n}return new Uint16Array}function M(e){var t={};for(var n in e)if(e.hasOwnProperty(n)&&r(e[n])&&r(e[n].values)){var i=e[n];t[n]=new w({componentDatatype:i.componentDatatype,componentsPerAttribute:i.componentsPerAttribute,normalize:i.normalize,values:[]})}return t}function _(e,t,n){for(var i in t)if(t.hasOwnProperty(i)&&r(t[i])&&r(t[i].values))for(var a=t[i],o=0;oo;o+=3)a.unpack(n,o,Z),m.multiplyByPoint(e,Z,Z),a.pack(Z,n,o)}function D(e,t){if(r(t))for(var n=t.values,i=n.length,o=0;i>o;o+=3)a.unpack(n,o,Z),h.multiplyByVector(e,Z,Z),Z=a.normalize(Z,Z),a.pack(Z,n,o)}function I(e){var t,n=e.length,i={},a=e[0].geometry.attributes;for(t in a)if(a.hasOwnProperty(t)&&r(a[t])&&r(a[t].values)){for(var o=a[t],s=o.values.length,u=!0,l=1;n>l;++l){var c=e[l].geometry.attributes[t];if(!r(c)||o.componentDatatype.value!==c.componentDatatype.value||o.componentsPerAttribute!==c.componentsPerAttribute||o.normalize!==c.normalize){u=!1;break}s+=c.values.length}u&&(i[t]=new w({componentDatatype:o.componentDatatype,componentsPerAttribute:o.componentsPerAttribute,normalize:o.normalize,values:y.createTypedArray(o.componentDatatype,s)}))}return i}function N(e){if(r(e.indices))return e;for(var t=C.computeNumberOfVertices(e),n=v.createTypedArray(t,t),i=0;t>i;++i)n[i]=i;return e.indices=n,e}function P(e){var t=C.computeNumberOfVertices(e),r=v.createTypedArray(t,3*(t-2));r[0]=1,r[1]=0,r[2]=2;for(var n=3,i=3;t>i;++i)r[n++]=i-1,r[n++]=0,r[n++]=i;return e.indices=r,e.primitiveType=g.TRIANGLES,e}function R(e){var t=C.computeNumberOfVertices(e),r=v.createTypedArray(t,3*(t-2));r[0]=0,r[1]=1,r[2]=2,t>3&&(r[3]=0,r[4]=2,r[5]=3);for(var n=6,i=3;t-1>i;i+=2)r[n++]=i,r[n++]=i-1,r[n++]=i+1,t>i+2&&(r[n++]=i,r[n++]=i+1,r[n++]=i+2);return e.indices=r,e.primitiveType=g.TRIANGLES,e}function z(e){if(r(e.indices))return e;for(var t=C.computeNumberOfVertices(e),n=v.createTypedArray(t,t),i=0;t>i;++i)n[i]=i;return e.indices=n,e}function L(e){var t=C.computeNumberOfVertices(e),r=v.createTypedArray(t,2*(t-1));r[0]=0,r[1]=1;for(var n=2,i=2;t>i;++i)r[n++]=i-1,r[n++]=i;return e.indices=r,e.primitiveType=g.LINES,e}function F(e){var t=C.computeNumberOfVertices(e),r=v.createTypedArray(t,2*t);r[0]=0,r[1]=1;for(var n=2,i=2;t>i;++i)r[n++]=i-1,r[n++]=i;return r[n++]=t-1,r[n]=0,e.indices=r,e.primitiveType=g.LINES,e}function U(e){switch(e.primitiveType){case g.TRIANGLE_FAN:return P(e);case g.TRIANGLE_STRIP:return R(e);case g.TRIANGLES:return N(e);case g.LINE_STRIP:return L(e);case g.LINE_LOOP:return F(e);case g.LINES:return z(e)}return e}function B(e,t){Math.abs(e.y)=0||t.x>=0||r.x>=0)return void 0;var n=e.y<0,i=t.y<0,a=r.y<0;B(e,n),B(t,i),B(r,a);var o=0;o+=n?1:0,o+=i?1:0,o+=a?1:0;var s=ct.indices;1===o?(s[1]=3,s[2]=4,s[5]=6,s[7]=6,s[8]=5,n?(q(e,t,ot,ut),q(e,r,st,lt),s[0]=0,s[3]=1,s[4]=2,s[6]=1):i?(q(t,r,ot,ut),q(t,e,st,lt),s[0]=1,s[3]=2,s[4]=0,s[6]=2):a&&(q(r,e,ot,ut),q(r,t,st,lt),s[0]=2,s[3]=0,s[4]=1,s[6]=0)):2===o&&(s[2]=4,s[4]=4,s[5]=3,s[7]=5,s[8]=6,n?i?a||(q(r,e,ot,ut),q(r,t,st,lt),s[0]=0,s[1]=1,s[3]=0,s[6]=2):(q(t,r,ot,ut),q(t,e,st,lt),s[0]=2,s[1]=0,s[3]=2,s[6]=1):(q(e,t,ot,ut),q(e,r,st,lt),s[0]=1,s[1]=2,s[3]=1,s[6]=0));var u=ct.positions;return u[0]=e,u[1]=t,u[2]=r,ct.length=3,(1===o||2===o)&&(u[3]=ot,u[4]=st,u[5]=ut,u[6]=lt,ct.length=7),ct}function W(t,n,o,s,u,l,c,f){if(r(u)||r(l)||r(c)||r(f)){var h,m,d,p,y,v,g,E,S,C,w,x,T,O,A,M,_,b,D=s.positions,I=D[0],N=D[1],P=D[2];r(u)&&(h=a.fromArray(u,3*t),m=a.fromArray(u,3*n),d=a.fromArray(u,3*o)),r(l)&&(p=a.fromArray(l,3*t),y=a.fromArray(l,3*n),v=a.fromArray(l,3*o)),r(c)&&(g=a.fromArray(c,3*t),E=a.fromArray(c,3*n),S=a.fromArray(c,3*o)),r(f)&&(C=i.fromArray(f,2*t),w=i.fromArray(f,2*n),x=i.fromArray(f,2*o));for(var R=3;RE;E+=3){var S=l[E],w=l[E+1],x=l[E+2],T=a.fromArray(n,3*S),O=a.fromArray(n,3*w),A=a.fromArray(n,3*x),M=G(T,O,A);if(r(M))if(c[3*S+1]=M.positions[0].y,c[3*w+1]=M.positions[1].y,c[3*x+1]=M.positions[2].y,M.length>3){for(var _=c.length/3,b=0;bD?p.push(l[E+D]):p.push(D-3+_)}for(var I=3;Ih;h+=2){var m=i[h],p=i[h+1],y=a.fromArray(n,3*m),g=a.fromArray(n,3*p);if(Math.abs(y.y)c;c+=3)u[l++]=a[c],u[l++]=a[c+1],u[l++]=a[c+2],u[l++]=a[c]+o[c]*i,u[l++]=a[c+1]+o[c+1]*i,u[l++]=a[c+2]+o[c+2]*i;var f,h=e.boundingSphere;return r(h)&&(f=new S(h.center,h.radius+i)),new C({attributes:{position:new w({componentDatatype:y.DOUBLE,componentsPerAttribute:3,values:u})},primitiveType:g.LINES,boundingSphere:f})},V.createAttributeLocations=function(e){var t,n=["position","positionHigh","positionLow","position3DHigh","position3DLow","position2DHigh","position2DLow","pickColor","normal","st","binormal","tangent"],i=e.attributes,a={},o=0,s=n.length;for(t=0;s>t;++t){var u=n[t];r(i[u])&&(a[u]=o++)}for(var l in i)i.hasOwnProperty(l)&&!r(a[l])&&(a[l]=o++);return a},V.reorderForPreVertexCache=function(e){var t=C.computeNumberOfVertices(e),n=e.indices;if(r(n)){for(var i=new Int32Array(t),a=0;t>a;a++)i[a]=-1;for(var o,s=n,u=s.length,l=v.createTypedArray(t,u),c=0,f=0,h=0;u>c;)o=i[s[c]],-1!==o?l[f]=o:(o=s[c],i[o]=h,l[f]=h,++h),++c,++f;e.indices=l;var m=e.attributes;for(var d in m)if(m.hasOwnProperty(d)&&r(m[d])&&r(m[d].values)){for(var p=m[d],g=p.values,E=0,S=p.componentsPerAttribute,w=y.createTypedArray(p.componentDatatype,h*S);t>E;){var x=i[E];if(-1!==x)for(a=0;S>a;a++)w[S*x+a]=g[S*E+a];++E}p.values=w}}return e},V.reorderForPostVertexCache=function(e,t){var n=e.indices;if(e.primitiveType===g.TRIANGLES&&r(n)){for(var i=n.length,a=0,o=0;i>o;o++)n[o]>a&&(a=n[o]);e.indices=E.tipsify({indices:n,maximumIndex:a,cacheSize:t})}return e},V.fitToUnsignedShortIndices=function(e){var t=[],n=C.computeNumberOfVertices(e);if(r(e.indices)&&n>f.SIXTY_FOUR_KILOBYTES){var i,a=[],o=[],s=0,u=M(e.attributes),l=e.indices,c=l.length;e.primitiveType===g.TRIANGLES?i=3:e.primitiveType===g.LINES?i=2:e.primitiveType===g.POINTS&&(i=1);for(var h=0;c>h;h+=i){for(var m=0;i>m;++m){var d=l[h+m],p=a[d];r(p)||(p=s++,a[d]=p,_(u,e.attributes,d)),o.push(p)}s+i>f.SIXTY_FOUR_KILOBYTES&&(t.push(new C({attributes:u,indices:o,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere})),a=[],o=[],s=0,u=M(e.attributes))}0!==o.length&&t.push(new C({attributes:u,indices:o,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere}))}else t.push(e);return t};var j=new a,k=new s;V.projectTo2D=function(e,t,i,o,s){var u=e.attributes[t];s=r(s)?s:new p;for(var l=s.ellipsoid,c=u.values,f=new Float64Array(c.length),h=0,m=0;mc;++c)u.encode(a[c],K),s[c]=K.high,l[c]=K.low;var f=i.componentsPerAttribute;return e.attributes[r]=new w({componentDatatype:y.FLOAT,componentsPerAttribute:f,values:s}),e.attributes[n]=new w({componentDatatype:y.FLOAT,componentsPerAttribute:f,values:l}),delete e.attributes[t],e};var Z=new a,J=new m,X=new h;V.transformToWorldCoordinates=function(e){var t=e.modelMatrix;if(m.equals(t,m.IDENTITY))return e;var n=e.geometry.attributes;b(t,n.position),b(t,n.prevPosition),b(t,n.nextPosition),(r(n.normal)||r(n.binormal)||r(n.tangent))&&(m.inverse(t,J),m.transpose(J,J),m.getRotation(J,X),D(X,n.normal),D(X,n.binormal),D(X,n.tangent));var i=e.geometry.boundingSphere;return r(i)&&(e.geometry.boundingSphere=S.transform(i,t,i)),e.modelMatrix=m.clone(m.IDENTITY),e},V.combine=function(e){var t,n,i,o,s=e.length;e[0].modelMatrix;var u,l,c,f=r(e[0].geometry.indices),h=e[0].geometry.primitiveType,m=I(e);for(t in m)if(m.hasOwnProperty(t))for(u=m[t].values,o=0,n=0;s>n;++n)for(l=e[n].geometry.attributes[t].values,c=l.length,i=0;c>i;++i)u[o++]=l[i];var d;if(f){var p=0;for(n=0;s>n;++n)p+=e[n].geometry.indices.length;var y=C.computeNumberOfVertices(new C({attributes:m,primitiveType:g.POINTS})),E=v.createTypedArray(y,p),w=0,x=0;for(n=0;s>n;++n){var T=e[n].geometry.indices,O=T.length;for(o=0;O>o;++o)E[w++]=x+T[o];x+=C.computeNumberOfVertices(e[n].geometry)}d=E}var A,M=new a,_=0;for(n=0;s>n;++n){if(A=e[n].geometry.boundingSphere,!r(A)){M=void 0;break}a.add(A.center,M,M)}if(r(M))for(a.divideByScalar(M,s,M),n=0;s>n;++n){A=e[n].geometry.boundingSphere;var b=a.magnitude(a.subtract(A.center,M))+A.radius;b>_&&(_=b)}return new C({attributes:m,indices:d,primitiveType:h,boundingSphere:r(M)?new S(M,_):void 0})};var Q=new a,$=new a,et=new a,tt=new a;V.computeNormal=function(e){for(var t=e.indices,r=e.attributes,n=r.position.values,i=r.position.values.length/3,o=t.length,s=new Array(i),u=new Array(o/3),l=new Array(o),c=0;i>c;c++)s[c]={indexOffset:0,count:0,currentCount:0};var f=0;for(c=0;o>c;c+=3){var h=t[c],m=t[c+1],d=t[c+2],p=3*h,v=3*m,g=3*d;$.x=n[p],$.y=n[p+1],$.z=n[p+2],et.x=n[v],et.y=n[v+1],et.z=n[v+2],tt.x=n[g],tt.y=n[g+1],tt.z=n[g+2],s[h].count++,s[m].count++,s[d].count++,a.subtract(et,$,et),a.subtract(tt,$,tt),u[f]=a.cross(et,tt),f++}var E=0;for(c=0;i>c;c++)s[c].indexOffset+=E,E+=s[c].count;f=0;var S;for(c=0;o>c;c+=3){S=s[t[c]];var C=S.indexOffset+S.currentCount;l[C]=f,S.currentCount++,S=s[t[c+1]],C=S.indexOffset+S.currentCount,l[C]=f,S.currentCount++,S=s[t[c+2]],C=S.indexOffset+S.currentCount,l[C]=f,S.currentCount++,f++}var x=new Float32Array(3*i);for(c=0;i>c;c++){var T=3*c;if(S=s[c],S.count>0){for(a.clone(a.ZERO,Q),f=0;fl;l+=3){var m=t[l],d=t[l+1],p=t[l+2];c=3*m,f=3*d,h=3*p;var v=2*m,g=2*d,E=2*p,S=r[c],C=r[c+1],x=r[c+2],T=i[v],O=i[v+1],A=i[g+1]-O,M=i[E+1]-O,_=1/((i[g]-T)*M-(i[E]-T)*A),b=(M*(r[f]-S)-A*(r[h]-S))*_,D=(M*(r[f+1]-C)-A*(r[h+1]-C))*_,I=(M*(r[f+2]-x)-A*(r[h+2]-x))*_;u[c]+=b,u[c+1]+=D,u[c+2]+=I,u[f]+=b,u[f+1]+=D,u[f+2]+=I,u[h]+=b,u[h+1]+=D,u[h+2]+=I}var N=new Float32Array(3*o),P=new Float32Array(3*o);for(l=0;o>l;l++){c=3*l,f=c+1,h=c+2;var R=a.fromArray(n,c,rt),z=a.fromArray(u,c,it),L=a.dot(R,z);a.multiplyByScalar(R,L,nt),a.normalize(a.subtract(z,nt,z),z),P[c]=z.x,P[f]=z.y,P[h]=z.z,a.normalize(a.cross(R,z,z),z),N[c]=z.x,N[f]=z.y,N[h]=z.z}return e.attributes.tangent=new w({componentDatatype:y.FLOAT,componentsPerAttribute:3,values:P}),e.attributes.binormal=new w({componentDatatype:y.FLOAT,componentsPerAttribute:3,values:N}),e};var at=new a,ot=new a,st=new a,ut=new a,lt=new a,ct={positions:new Array(7),indices:new Array(9)};return V.wrapLongitude=function(e){var t=e.boundingSphere;if(r(t)){var n=t.center.x-t.radius;if(n>0||S.intersect(t,o.UNIT_Y)!==l.INTERSECTING)return e}return U(e),e.primitiveType===g.TRIANGLES?Y(e):e.primitiveType===g.LINES&&H(e),e},V}),define("Scene/PrimitivePipeline",["../Core/defined","../Core/defaultValue","../Core/Color","../Core/ComponentDatatype","../Core/DeveloperError","../Core/FeatureDetection","../Core/Geometry","../Core/GeometryAttribute","../Core/GeometryPipeline","../Core/Matrix4"],function(e,t,r,n,i,a,o,s,u,l){"use strict";function c(e,t,r){var n,i=!r,a=e.length;if(!i&&a>1){var o=e[0].modelMatrix;for(n=1;a>n;++n)if(!l.equals(o,e[n].modelMatrix)){i=!0;break}}if(i)for(n=0;a>n;++n)u.transformToWorldCoordinates(e[n]);else l.clone(e[0].modelMatrix,t)}function f(e,t){for(var i=e.length,a=0;i>a;++a){var o=e[a],u=o.geometry,l=u.attributes,c=l.position,f=4*(c.values.length/c.componentsPerAttribute);l.pickColor=new s({componentDatatype:n.UNSIGNED_BYTE,componentsPerAttribute:4,normalize:!0,values:new Uint8Array(f)});for(var h=t[a],m=r.floatToByte(h.red),d=r.floatToByte(h.green),p=r.floatToByte(h.blue),y=r.floatToByte(h.alpha),v=l.pickColor.values,g=0;f>g;g+=4)v[g]=m,v[g+1]=d,v[g+2]=p,v[g+3]=y}}function h(t){var r,n=t.length,i=[],a=t[0].attributes;for(r in a)if(a.hasOwnProperty(r)){for(var o=a[r],s=!0,u=1;n>u;++u){var l=t[u].attributes[r];if(!e(l)||o.componentDatatype.value!==l.componentDatatype.value||o.componentsPerAttribute!==l.componentsPerAttribute||o.normalize!==l.normalize){s=!1;break}}s&&i.push(r)}return i}function m(e,t){for(var r=e.length,i=0;r>i;++i)for(var a=e[i],u=a.attributes,l=a.geometry,c=o.computeNumberOfVertices(l),f=t.length,h=0;f>h;++h){for(var m=t[h],d=u[m],p=d.componentDatatype,y=d.value,v=y.length,g=n.createTypedArray(p,c*v),E=0;c>E;++E)g.set(y,E*v);l.attributes[m]=new s({componentDatatype:p,componentsPerAttribute:v,normalize:d.normalize,values:g})}}function d(e){var t,r=e.instances,i=e.pickIds,a=e.projection,o=e.elementIndexUintSupported,s=e.allow3DOnly,l=e.allowPicking,d=e.vertexCacheOptimize,p=e.modelMatrix,y=r.length;if(r[0].geometry.primitiveType,c(r,p,s),!s)for(t=0;y>t;++t)u.wrapLongitude(r[t].geometry);l&&f(r,i);var v=h(r);if(m(r,v),d)for(t=0;y>t;++t)u.reorderForPostVertexCache(r[t].geometry),u.reorderForPreVertexCache(r[t].geometry);var g,E=u.combine(r),S=E.attributes;if(s)for(g in S)S.hasOwnProperty(g)&&S[g].componentDatatype.value===n.DOUBLE.value&&u.encodeAttribute(E,g,g+"3DHigh",g+"3DLow");else for(g in S)if(S.hasOwnProperty(g)&&S[g].componentDatatype.value===n.DOUBLE.value){var C=g+"3D",w=g+"2D";u.projectTo2D(E,g,C,w,a),u.encodeAttribute(E,C,C+"High",C+"Low"),u.encodeAttribute(E,w,w+"High",w+"Low")}return o?[E]:u.fitToUnsignedShortIndices(E)}function p(e,t,r){for(var i=[],a=e.attributes,o=r.length,s=0;o>s;++s){var u=r[s],l=a[u],c=l.componentDatatype;c.value===n.DOUBLE.value&&(c=n.FLOAT);var f=n.createTypedArray(c,l.values);i.push({index:t[u],componentDatatype:c,componentsPerAttribute:l.componentsPerAttribute,normalize:l.normalize,values:f}),delete a[u]}return i}function y(r,n,i){for(var a=[],s=h(r),u=r.length,l={},c={},f=0;u>f;++f)for(var m=r[f],d=o.computeNumberOfVertices(m.geometry),p=s.length,y=0;p>y;++y)for(var v=s[y],g=i[v],E=d;E>0;){for(var S,C=t(c[v],0),w=n[C],x=w.length,T=0;x>T&&(S=w[T],S.index!==g);++T);e(a[f])||(a[f]={}),e(a[f][v])||(a[f][v]={dirty:!1,value:m.attributes[v].value,indices:[]});var O,A=S.values.length/S.componentsPerAttribute,M=t(l[v],0);A>M+E?(O=E,a[f][v].indices.push({attribute:S,offset:M,count:O}),l[v]=M+E):(O=A-M,a[f][v].indices.push({attribute:S,offset:M,count:O}),l[v]=0,c[v]=C+1),E-=O}return a}function v(t){return e(t.constructor.name)?{type:t.constructor.name,buffer:t.buffer}:t}function g(t){return e(t.type)?new S[t.type](t.buffer):t}if(!a.supportsTypedArrays())return{};var E={};E.combineGeometry=function(e){for(var t={instances:e.instances,pickIds:e.pickIds,ellipsoid:e.ellipsoid,projection:e.projection,elementIndexUintSupported:e.elementIndexUintSupported,allow3DOnly:e.allow3DOnly,allowPicking:e.allowPicking,vertexCacheOptimize:e.vertexCacheOptimize,modelMatrix:l.clone(e.modelMatrix)},r=d(t),n=u.createAttributeLocations(r[0]),i=t.instances,a=h(i),o=[],s=r.length,c=0;s>c;++c){var f=r[c];o.push(p(f,n,a))}var m=y(i,o,n);return{geometries:r,modelMatrix:t.modelMatrix,attributeLocations:n,vaAttributes:o,vaAttributeLocations:m}};var S={Int8Array:Int8Array,Uint8Array:Uint8Array,Int16Array:Int16Array,Uint16Array:Uint16Array,Int32Array:Int32Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array};return E.transferGeometry=function(t,r){var n,i=t.attributes;for(var o in i)i.hasOwnProperty(o)&&e(i[o])&&e(i[o].values)&&(n=i[o].values,a.supportsTransferringArrayBuffers()&&r.indexOf(i[o].values.buffer)<0&&r.push(n.buffer),e(n.type)||(i[o].values=v(n)));e(t.indices)&&(n=t.indices,a.supportsTransferringArrayBuffers()&&r.push(n.buffer),e(n.type)||(t.indices=v(t.indices)))},E.transferGeometries=function(e,t){for(var r=e.length,n=0;r>n;++n)E.transferGeometry(e[n],t)},E.transferPerInstanceAttributes=function(e,t){for(var r=e.length,n=0;r>n;++n)for(var i=e[n],o=i.length,s=0;o>s;++s){var u=i[s].values;a.supportsTransferringArrayBuffers()&&t.push(u.buffer),i[s].values=v(u)}},E.transferInstances=function(e,t){for(var r=e.length,n=0;r>n;++n){var i=e[n];E.transferGeometry(i.geometry,t)}},E.receiveGeometry=function(t){var r=t.attributes;for(var n in r)r.hasOwnProperty(n)&&e(r[n])&&e(r[n].values)&&(r[n].values=g(r[n].values));e(t.indices)&&(t.indices=g(t.indices))},E.receiveGeometries=function(e){for(var t=e.length,r=0;t>r;++r)E.receiveGeometry(e[r])},E.receivePerInstanceAttributes=function(e){for(var t=e.length,r=0;t>r;++r)for(var n=e[r],i=n.length,a=0;i>a;++a)n[a].values=g(n[a].values)},E.receiveInstances=function(e){for(var t=e.length,r=0;t>r;++r){var n=e[r];E.receiveGeometry(n.geometry)}},E}),define("Workers/createTaskProcessorWorker",["../Core/defaultValue","../Core/defined"],function(e,t){"use strict";var r=function(r){var n,i=[],a={id:void 0,result:void 0,error:void 0};return function(o){var s=o.data;i.length=0,a.id=s.id,a.error=void 0,a.result=void 0;try{a.result=r(s.parameters,i)}catch(u){a.error=u}t(n)||(n=e(self.webkitPostMessage,self.postMessage));try{n(a,i)}catch(u){a.result=void 0,a.error="postMessage failed with error: "+u+"\n with responseMessage: "+JSON.stringify(a),n(a)}}};return r}),define("Workers/createWallGeometry",["../Core/WallGeometry","../Core/Ellipsoid","../Scene/PrimitivePipeline","./createTaskProcessorWorker"],function(e,t,r,n){"use strict";function i(n,i){var a=n.geometry;a._ellipsoid=t.clone(a._ellipsoid);var o=e.createGeometry(a);return r.transferGeometry(o,i),{geometry:o,index:n.index}}return n(i)})}(); \ No newline at end of file diff --git a/Cesium/Workers/createWallOutlineGeometry.js b/Cesium/Workers/createWallOutlineGeometry.js new file mode 100644 index 0000000..41b917c --- /dev/null +++ b/Cesium/Workers/createWallOutlineGeometry.js @@ -0,0 +1,230 @@ +/** + * Cesium - https://github.com/AnalyticalGraphicsInc/cesium + * + * Copyright 2011-2014 Cesium Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Columbus View (Pat. Pend.) + * + * Portions licensed separately. + * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details. + */ +/** +@license +mersenne-twister.js - https://gist.github.com/banksean/300494 + + Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura, + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. The names of its contributors may not be used to endorse or promote + products derived from this software without specific prior written + permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/** + * @fileOverview + * @license + * + * Grauw URI utilities + * + * See: http://hg.grauw.nl/grauw-lib/file/tip/src/uri.js + * + * @author Laurens Holst (http://www.grauw.nl/) + * + * Copyright 2012 Laurens Holst + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +/** +@license +sprintf.js from the php.js project - https://github.com/kvz/phpjs +Directly from https://github.com/kvz/phpjs/blob/master/functions/strings/sprintf.js + +php.js is copyright 2012 Kevin van Zonneveld. + +Portions copyright Brett Zamir (http://brett-zamir.me), Kevin van Zonneveld +(http://kevin.vanzonneveld.net), Onno Marsman, Theriault, Michael White +(http://getsprink.com), Waldo Malqui Silva, Paulo Freitas, Jack, Jonas +Raoni Soares Silva (http://www.jsfromhell.com), Philip Peterson, Legaev +Andrey, Ates Goral (http://magnetiq.com), Alex, Ratheous, Martijn Wieringa, +Rafa? Kukawski (http://blog.kukawski.pl), lmeyrick +(https://sourceforge.net/projects/bcmath-js/), Nate, Philippe Baumann, +Enrique Gonzalez, Webtoolkit.info (http://www.webtoolkit.info/), Carlos R. +L. Rodrigues (http://www.jsfromhell.com), Ash Searle +(http://hexmen.com/blog/), Jani Hartikainen, travc, Ole Vrijenhoek, +Erkekjetter, Michael Grier, Rafa? Kukawski (http://kukawski.pl), Johnny +Mast (http://www.phpvrouwen.nl), T.Wild, d3x, +http://stackoverflow.com/questions/57803/how-to-convert-decimal-to-hex-in-javascript, +Rafa? Kukawski (http://blog.kukawski.pl/), stag019, pilus, WebDevHobo +(http://webdevhobo.blogspot.com/), marrtins, GeekFG +(http://geekfg.blogspot.com), Andrea Giammarchi +(http://webreflection.blogspot.com), Arpad Ray (mailto:arpad@php.net), +gorthaur, Paul Smith, Tim de Koning (http://www.kingsquare.nl), Joris, Oleg +Eremeev, Steve Hilder, majak, gettimeofday, KELAN, Josh Fraser +(http://onlineaspect.com/2007/06/08/auto-detect-a-time-zone-with-javascript/), +Marc Palau, Martin +(http://www.erlenwiese.de/), Breaking Par Consulting Inc +(http://www.breakingpar.com/bkp/home.nsf/0/87256B280015193F87256CFB006C45F7), +Chris, Mirek Slugen, saulius, Alfonso Jimenez +(http://www.alfonsojimenez.com), Diplom@t (http://difane.com/), felix, +Mailfaker (http://www.weedem.fr/), Tyler Akins (http://rumkin.com), Caio +Ariede (http://caioariede.com), Robin, Kankrelune +(http://www.webfaktory.info/), Karol Kowalski, Imgen Tata +(http://www.myipdf.com/), mdsjack (http://www.mdsjack.bo.it), Dreamer, +Felix Geisendoerfer (http://www.debuggable.com/felix), Lars Fischer, AJ, +David, Aman Gupta, Michael White, Public Domain +(http://www.json.org/json2.js), Steven Levithan +(http://blog.stevenlevithan.com), Sakimori, Pellentesque Malesuada, +Thunder.m, Dj (http://phpjs.org/functions/htmlentities:425#comment_134018), +Steve Clay, David James, Francois, class_exists, nobbler, T. Wild, Itsacon +(http://www.itsacon.net/), date, Ole Vrijenhoek (http://www.nervous.nl/), +Fox, Raphael (Ao RUDLER), Marco, noname, Mateusz "loonquawl" Zalega, Frank +Forte, Arno, ger, mktime, john (http://www.jd-tech.net), Nick Kolosov +(http://sammy.ru), marc andreu, Scott Cariss, Douglas Crockford +(http://javascript.crockford.com), madipta, Slawomir Kaniecki, +ReverseSyntax, Nathan, Alex Wilson, kenneth, Bayron Guevara, Adam Wallner +(http://web2.bitbaro.hu/), paulo kuong, jmweb, Lincoln Ramsay, djmix, +Pyerre, Jon Hohle, Thiago Mata (http://thiagomata.blog.com), lmeyrick +(https://sourceforge.net/projects/bcmath-js/this.), Linuxworld, duncan, +Gilbert, Sanjoy Roy, Shingo, sankai, Oskar Larsson H?gfeldt +(http://oskar-lh.name/), Denny Wardhana, 0m3r, Everlasto, Subhasis Deb, +josh, jd, Pier Paolo Ramon (http://www.mastersoup.com/), P, merabi, Soren +Hansen, Eugene Bulkin (http://doubleaw.com/), Der Simon +(http://innerdom.sourceforge.net/), echo is bad, Ozh, XoraX +(http://www.xorax.info), EdorFaus, JB, J A R, Marc Jansen, Francesco, LH, +Stoyan Kyosev (http://www.svest.org/), nord_ua, omid +(http://phpjs.org/functions/380:380#comment_137122), Brad Touesnard, MeEtc +(http://yass.meetcweb.com), Peter-Paul Koch +(http://www.quirksmode.org/js/beat.html), Olivier Louvignes +(http://mg-crea.com/), T0bsn, Tim Wiel, Bryan Elliott, Jalal Berrami, +Martin, JT, David Randall, Thomas Beaucourt (http://www.webapp.fr), taith, +vlado houba, Pierre-Luc Paour, Kristof Coomans (SCK-CEN Belgian Nucleair +Research Centre), Martin Pool, Kirk Strobeck, Rick Waldron, Brant Messenger +(http://www.brantmessenger.com/), Devan Penner-Woelk, Saulo Vallory, Wagner +B. Soares, Artur Tchernychev, Valentina De Rosa, Jason Wong +(http://carrot.org/), Christoph, Daniel Esteban, strftime, Mick@el, rezna, +Simon Willison (http://simonwillison.net), Anton Ongson, Gabriel Paderni, +Marco van Oort, penutbutterjelly, Philipp Lenssen, Bjorn Roesbeke +(http://www.bjornroesbeke.be/), Bug?, Eric Nagel, Tomasz Wesolowski, +Evertjan Garretsen, Bobby Drake, Blues (http://tech.bluesmoon.info/), Luke +Godfrey, Pul, uestla, Alan C, Ulrich, Rafal Kukawski, Yves Sucaet, +sowberry, Norman "zEh" Fuchs, hitwork, Zahlii, johnrembo, Nick Callen, +Steven Levithan (stevenlevithan.com), ejsanders, Scott Baker, Brian Tafoya +(http://www.premasolutions.com/), Philippe Jausions +(http://pear.php.net/user/jausions), Aidan Lister +(http://aidanlister.com/), Rob, e-mike, HKM, ChaosNo1, metjay, strcasecmp, +strcmp, Taras Bogach, jpfle, Alexander Ermolaev +(http://snippets.dzone.com/user/AlexanderErmolaev), DxGx, kilops, Orlando, +dptr1988, Le Torbi, James (http://www.james-bell.co.uk/), Pedro Tainha +(http://www.pedrotainha.com), James, Arnout Kazemier +(http://www.3rd-Eden.com), Chris McMacken, gabriel paderni, Yannoo, +FGFEmperor, baris ozdil, Tod Gentille, Greg Frazier, jakes, 3D-GRAF, Allan +Jensen (http://www.winternet.no), Howard Yeend, Benjamin Lupton, davook, +daniel airton wermann (http://wermann.com.br), Atli T¨®r, Maximusya, Ryan +W Tenney (http://ryan.10e.us), Alexander M Beedie, fearphage +(http://http/my.opera.com/fearphage/), Nathan Sepulveda, Victor, Matteo, +Billy, stensi, Cord, Manish, T.J. Leahy, Riddler +(http://www.frontierwebdev.com/), Rafa? Kukawski, FremyCompany, Matt +Bradley, Tim de Koning, Luis Salazar (http://www.freaky-media.com/), Diogo +Resende, Rival, Andrej Pavlovic, Garagoth, Le Torbi +(http://www.letorbi.de/), Dino, Josep Sanz (http://www.ws3.es/), rem, +Russell Walker (http://www.nbill.co.uk/), Jamie Beck +(http://www.terabit.ca/), setcookie, Michael, YUI Library: +http://developer.yahoo.com/yui/docs/YAHOO.util.DateLocale.html, Blues at +http://hacks.bluesmoon.info/strftime/strftime.js, Ben +(http://benblume.co.uk/), DtTvB +(http://dt.in.th/2008-09-16.string-length-in-bytes.html), Andreas, William, +meo, incidence, Cagri Ekin, Amirouche, Amir Habibi +(http://www.residence-mixte.com/), Luke Smith (http://lucassmith.name), +Kheang Hok Chin (http://www.distantia.ca/), Jay Klehr, Lorenzo Pisani, +Tony, Yen-Wei Liu, Greenseed, mk.keck, Leslie Hoare, dude, booeyOH, Ben +Bryan + +Licensed under the MIT (MIT-LICENSE.txt) license. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL KEVIN VAN ZONNEVELD BE LIABLE FOR ANY CLAIM, DAMAGES +OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. +*/ + +/** + @license + when.js - https://github.com/cujojs/when + + MIT License (c) copyright B Cavalier & J Hann + + * A lightweight CommonJS Promises/A and when() implementation + * when is part of the cujo.js family of libraries (http://cujojs.com/) + * + * Licensed under the MIT License at: + * http://www.opensource.org/licenses/mit-license.php + * + * @version 1.7.1 + */ + +!function(){define("Core/defined",[],function(){"use strict";var e=function(e){return void 0!==e};return e}),define("Core/freezeObject",["./defined"],function(e){"use strict";var t=Object.freeze;return e(t)||(t=function(e){return e}),t}),define("Core/defaultValue",["./freezeObject"],function(e){"use strict";var t=function(e,t){return void 0!==e?e:t};return t.EMPTY_OBJECT=e({}),t}),define("Core/DeveloperError",["./defined"],function(e){"use strict";var t=function(e){this.name="DeveloperError",this.message=e;var t;try{throw new Error}catch(r){t=r.stack}this.stack=t};return t.prototype.toString=function(){var t=this.name+": "+this.message;return e(this.stack)&&(t+="\n"+this.stack.toString()),t},t.throwInstantiationError=function(){throw new t("This function defines an interface and should not be called directly.")},t}),define("Core/Cartesian3",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,t,r,n){"use strict";var i=function(t,r,n){this.x=e(t,0),this.y=e(r,0),this.z=e(n,0)};i.fromSpherical=function(r,n){t(n)||(n=new i);var a=r.clock,o=r.cone,s=e(r.magnitude,1),u=s*Math.sin(o);return n.x=u*Math.cos(a),n.y=u*Math.sin(a),n.z=s*Math.cos(o),n},i.fromElements=function(e,r,n,a){return t(a)?(a.x=e,a.y=r,a.z=n,a):new i(e,r,n)},i.clone=function(e,r){return t(e)?t(r)?(r.x=e.x,r.y=e.y,r.z=e.z,r):new i(e.x,e.y,e.z):void 0},i.fromCartesian4=i.clone,i.packedLength=3,i.pack=function(t,r,n){n=e(n,0),r[n++]=t.x,r[n++]=t.y,r[n]=t.z},i.unpack=function(r,n,a){return n=e(n,0),t(a)||(a=new i),a.x=r[n++],a.y=r[n++],a.z=r[n],a},i.fromArray=i.unpack,i.getMaximumComponent=function(e){return Math.max(e.x,e.y,e.z)},i.getMinimumComponent=function(e){return Math.min(e.x,e.y,e.z)},i.getMinimumByComponent=function(e,r,n){return t(n)||(n=new i),n.x=Math.min(e.x,r.x),n.y=Math.min(e.y,r.y),n.z=Math.min(e.z,r.z),n},i.getMaximumByComponent=function(e,r,n){return t(n)||(n=new i),n.x=Math.max(e.x,r.x),n.y=Math.max(e.y,r.y),n.z=Math.max(e.z,r.z),n},i.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z},i.magnitude=function(e){return Math.sqrt(i.magnitudeSquared(e))};var a=new i;i.distance=function(e,t){return i.subtract(e,t,a),i.magnitude(a)},i.normalize=function(e,r){var n=i.magnitude(e);return t(r)?(r.x=e.x/n,r.y=e.y/n,r.z=e.z/n,r):new i(e.x/n,e.y/n,e.z/n)},i.dot=function(e,t){return e.x*t.x+e.y*t.y+e.z*t.z},i.multiplyComponents=function(e,r,n){return t(n)?(n.x=e.x*r.x,n.y=e.y*r.y,n.z=e.z*r.z,n):new i(e.x*r.x,e.y*r.y,e.z*r.z)},i.add=function(e,r,n){return t(n)?(n.x=e.x+r.x,n.y=e.y+r.y,n.z=e.z+r.z,n):new i(e.x+r.x,e.y+r.y,e.z+r.z)},i.subtract=function(e,r,n){return t(n)?(n.x=e.x-r.x,n.y=e.y-r.y,n.z=e.z-r.z,n):new i(e.x-r.x,e.y-r.y,e.z-r.z)},i.multiplyByScalar=function(e,r,n){return t(n)?(n.x=e.x*r,n.y=e.y*r,n.z=e.z*r,n):new i(e.x*r,e.y*r,e.z*r)},i.divideByScalar=function(e,r,n){return t(n)?(n.x=e.x/r,n.y=e.y/r,n.z=e.z/r,n):new i(e.x/r,e.y/r,e.z/r)},i.negate=function(e,r){return t(r)?(r.x=-e.x,r.y=-e.y,r.z=-e.z,r):new i(-e.x,-e.y,-e.z)},i.abs=function(e,r){return t(r)?(r.x=Math.abs(e.x),r.y=Math.abs(e.y),r.z=Math.abs(e.z),r):new i(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z))};var o=new i;i.lerp=function(e,t,r,n){return i.multiplyByScalar(t,r,o),n=i.multiplyByScalar(e,1-r,n),i.add(o,n,n)};var s=new i,u=new i;i.angleBetween=function(e,t){i.normalize(e,s),i.normalize(t,u);var r=i.dot(s,u),n=i.magnitude(i.cross(s,u,s));return Math.atan2(n,r)};var l=new i;return i.mostOrthogonalAxis=function(e,t){var r=i.normalize(e,l);return i.abs(r,r),t=r.x<=r.y?r.x<=r.z?i.clone(i.UNIT_X,t):i.clone(i.UNIT_Z,t):r.y<=r.z?i.clone(i.UNIT_Y,t):i.clone(i.UNIT_Z,t)},i.equals=function(e,r){return e===r||t(e)&&t(r)&&e.x===r.x&&e.y===r.y&&e.z===r.z},i.equalsEpsilon=function(e,r,n){return e===r||t(e)&&t(r)&&Math.abs(e.x-r.x)<=n&&Math.abs(e.y-r.y)<=n&&Math.abs(e.z-r.z)<=n},i.cross=function(e,r,n){var a=e.x,o=e.y,s=e.z,u=r.x,l=r.y,c=r.z,f=o*c-s*l,h=s*u-a*c,d=a*l-o*u;return t(n)?(n.x=f,n.y=h,n.z=d,n):new i(f,h,d)},i.ZERO=n(new i(0,0,0)),i.UNIT_X=n(new i(1,0,0)),i.UNIT_Y=n(new i(0,1,0)),i.UNIT_Z=n(new i(0,0,1)),i.prototype.clone=function(e){return i.clone(this,e)},i.prototype.equals=function(e){return i.equals(this,e)},i.prototype.equalsEpsilon=function(e,t){return i.equalsEpsilon(this,e,t)},i.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+")"},i}),define("ThirdParty/mersenne-twister",[],function(){var e=function(e){void 0==e&&(e=(new Date).getTime()),this.N=624,this.M=397,this.MATRIX_A=2567483615,this.UPPER_MASK=2147483648,this.LOWER_MASK=2147483647,this.mt=new Array(this.N),this.mti=this.N+1,this.init_genrand(e)};return e.prototype.init_genrand=function(e){for(this.mt[0]=e>>>0,this.mti=1;this.mti>>30;this.mt[this.mti]=(1812433253*((4294901760&e)>>>16)<<16)+1812433253*(65535&e)+this.mti,this.mt[this.mti]>>>=0}},e.prototype.genrand_int32=function(){var e,t=new Array(0,this.MATRIX_A);if(this.mti>=this.N){var r;for(this.mti==this.N+1&&this.init_genrand(5489),r=0;r>>1^t[1&e];for(;r>>1^t[1&e];e=this.mt[this.N-1]&this.UPPER_MASK|this.mt[0]&this.LOWER_MASK,this.mt[this.N-1]=this.mt[this.M-1]^e>>>1^t[1&e],this.mti=0}return e=this.mt[this.mti++],e^=e>>>11,e^=2636928640&e<<7,e^=4022730752&e<<15,e^=e>>>18,e>>>0},e.prototype.random=function(){return this.genrand_int32()*(1/4294967296)},e}),define("Core/Math",["./defaultValue","./defined","./DeveloperError","../ThirdParty/mersenne-twister"],function(e,t,r,n){"use strict";var i={};i.EPSILON1=.1,i.EPSILON2=.01,i.EPSILON3=.001,i.EPSILON4=1e-4,i.EPSILON5=1e-5,i.EPSILON6=1e-6,i.EPSILON7=1e-7,i.EPSILON8=1e-8,i.EPSILON9=1e-9,i.EPSILON10=1e-10,i.EPSILON11=1e-11,i.EPSILON12=1e-12,i.EPSILON13=1e-13,i.EPSILON14=1e-14,i.EPSILON15=1e-15,i.EPSILON16=1e-16,i.EPSILON17=1e-17,i.EPSILON18=1e-18,i.EPSILON19=1e-19,i.EPSILON20=1e-20,i.GRAVITATIONALPARAMETER=3986004418e5,i.SOLAR_RADIUS=6955e5,i.LUNAR_RADIUS=1737400,i.SIXTY_FOUR_KILOBYTES=65536,i.sign=function(e){return e>0?1:0>e?-1:0},i.sinh=function(e){var t=Math.pow(Math.E,e),r=Math.pow(Math.E,-1*e);return.5*(t-r)},i.cosh=function(e){var t=Math.pow(Math.E,e),r=Math.pow(Math.E,-1*e);return.5*(t+r)},i.lerp=function(e,t,r){return(1-r)*e+r*t},i.PI=Math.PI,i.ONE_OVER_PI=1/Math.PI,i.PI_OVER_TWO=.5*Math.PI,i.PI_OVER_THREE=Math.PI/3,i.PI_OVER_FOUR=Math.PI/4,i.PI_OVER_SIX=Math.PI/6,i.THREE_PI_OVER_TWO=.5*3*Math.PI,i.TWO_PI=2*Math.PI,i.ONE_OVER_TWO_PI=1/(2*Math.PI),i.RADIANS_PER_DEGREE=Math.PI/180,i.DEGREES_PER_RADIAN=180/Math.PI,i.RADIANS_PER_ARCSECOND=i.RADIANS_PER_DEGREE/3600,i.toRadians=function(e){return e*i.RADIANS_PER_DEGREE},i.toDegrees=function(e){return e*i.DEGREES_PER_RADIAN},i.convertLongitudeRange=function(e){var t=i.TWO_PI,r=e-Math.floor(e/t)*t;return r<-Math.PI?r+t:r>=Math.PI?r-t:r},i.negativePiToPi=function(e){for(var t=i.EPSILON10,r=i.PI,n=i.TWO_PI;-(r+t)>e;)e+=n;if(-r>e)return-r;for(;e>r+t;)e-=n;return e>r?r:e},i.zeroToTwoPi=function(e){var t=e%i.TWO_PI;return 0>t?(t+i.TWO_PI)%i.TWO_PI:t},i.equalsEpsilon=function(t,r,n){return n=e(n,0),Math.abs(t-r)<=n};var a=[1];i.factorial=function(e){var t=a.length;if(e>=t)for(var r=a[t-1],n=t;e>=n;n++)a.push(r*n);return a[e]},i.incrementWrap=function(t,r,n){return n=e(n,0),++t,t>r&&(t=n),t},i.isPowerOfTwo=function(e){return 0!==e&&0===(e&e-1)},i.nextPowerOfTwo=function(e){return--e,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,++e,e},i.clamp=function(e,t,r){return t>e?t:e>r?r:e};var o=new n;return i.setRandomNumberSeed=function(e){o=new n(e)},i.nextRandomNumber=function(){return o.random()},i}),define("Core/Cartographic",["./defaultValue","./defined","./DeveloperError","./freezeObject","./Math"],function(e,t,r,n,i){"use strict";var a=function(t,r,n){this.longitude=e(t,0),this.latitude=e(r,0),this.height=e(n,0)};return a.fromDegrees=function(r,n,o,s){return r=i.toRadians(e(r,0)),n=i.toRadians(e(n,0)),o=e(o,0),t(s)?(s.longitude=r,s.latitude=n,s.height=o,s):new a(r,n,o)},a.clone=function(e,r){return t(e)?t(r)?(r.longitude=e.longitude,r.latitude=e.latitude,r.height=e.height,r):new a(e.longitude,e.latitude,e.height):void 0},a.equals=function(e,r){return e===r||t(e)&&t(r)&&e.longitude===r.longitude&&e.latitude===r.latitude&&e.height===r.height},a.equalsEpsilon=function(e,r,n){return e===r||t(e)&&t(r)&&Math.abs(e.longitude-r.longitude)<=n&&Math.abs(e.latitude-r.latitude)<=n&&Math.abs(e.height-r.height)<=n},a.toString=function(e){return"("+e.longitude+", "+e.latitude+", "+e.height+")"},a.ZERO=n(new a(0,0,0)),a.prototype.clone=function(e){return a.clone(this,e)},a.prototype.equals=function(e){return a.equals(this,e)},a.prototype.equalsEpsilon=function(e,t){return a.equalsEpsilon(this,e,t)},a.prototype.toString=function(){return a.toString(this)},a}),define("Core/defineProperties",["./defined"],function(e){"use strict";var t=function(){try{return"x"in Object.defineProperty({},"x",{})}catch(e){return!1}}(),r=Object.defineProperties;return t&&e(r)||(r=function(e){return e}),r}),define("Core/Ellipsoid",["./freezeObject","./defaultValue","./defined","./defineProperties","./DeveloperError","./Math","./Cartesian3","./Cartographic"],function(e,t,r,n,i,a,o,s){"use strict";var u=function(e,r,n){e=t(e,0),r=t(r,0),n=t(n,0),this._radii=new o(e,r,n),this._radiiSquared=new o(e*e,r*r,n*n),this._radiiToTheFourth=new o(e*e*e*e,r*r*r*r,n*n*n*n),this._oneOverRadii=new o(0===e?0:1/e,0===r?0:1/r,0===n?0:1/n),this._oneOverRadiiSquared=new o(0===e?0:1/(e*e),0===r?0:1/(r*r),0===n?0:1/(n*n)),this._minimumRadius=Math.min(e,r,n),this._maximumRadius=Math.max(e,r,n),this._centerToleranceSquared=a.EPSILON1};n(u.prototype,{radii:{get:function(){return this._radii}},radiiSquared:{get:function(){return this._radiiSquared}},radiiToTheFourth:{get:function(){return this._radiiToTheFourth}},oneOverRadii:{get:function(){return this._oneOverRadii}},oneOverRadiiSquared:{get:function(){return this._oneOverRadiiSquared}},minimumRadius:{get:function(){return this._minimumRadius}},maximumRadius:{get:function(){return this._maximumRadius}}}),u.clone=function(e,t){if(!r(e))return void 0;var n=e._radii;return r(t)?(o.clone(n,t._radii),o.clone(e._radiiSquared,t._radiiSquared),o.clone(e._radiiToTheFourth,t._radiiToTheFourth),o.clone(e._oneOverRadii,t._oneOverRadii),o.clone(e._oneOverRadiiSquared,t._oneOverRadiiSquared),t._minimumRadius=e._minimumRadius,t._maximumRadius=e._maximumRadius,t._centerToleranceSquared=e._centerToleranceSquared,t):new u(n.x,n.y,n.z)},u.fromCartesian3=function(e){return r(e)?new u(e.x,e.y,e.z):new u},u.WGS84=e(new u(6378137,6378137,6356752.314245179)),u.UNIT_SPHERE=e(new u(1,1,1)),u.MOON=e(new u(a.LUNAR_RADIUS,a.LUNAR_RADIUS,a.LUNAR_RADIUS)),u.prototype.clone=function(e){return u.clone(this,e)},u.prototype.geocentricSurfaceNormal=o.normalize,u.prototype.geodeticSurfaceNormalCartographic=function(e,t){var n=e.longitude,i=e.latitude,a=Math.cos(i),s=a*Math.cos(n),u=a*Math.sin(n),l=Math.sin(i);return r(t)||(t=new o),t.x=s,t.y=u,t.z=l,o.normalize(t,t)},u.prototype.geodeticSurfaceNormal=function(e,t){return t=o.multiplyComponents(e,this._oneOverRadiiSquared,t),o.normalize(t,t)};var l=new o,c=new o;u.prototype.cartographicToCartesian=function(e,t){var r=l,n=c;this.geodeticSurfaceNormalCartographic(e,r),o.multiplyComponents(this._radiiSquared,r,n);var i=Math.sqrt(o.dot(r,n));return o.divideByScalar(n,i,n),o.multiplyByScalar(r,e.height,r),o.add(n,r,t)},u.prototype.cartographicArrayToCartesianArray=function(e,t){var n=e.length;r(t)?t.length=n:t=new Array(n);for(var i=0;n>i;i++)t[i]=this.cartographicToCartesian(e[i],t[i]);return t};var f=new o,h=new o,d=new o;u.prototype.cartesianToCartographic=function(e,t){var n=this.scaleToGeodeticSurface(e,h);if(!r(n))return void 0;var i=this.geodeticSurfaceNormal(n,f),u=o.subtract(e,n,d),l=Math.atan2(i.y,i.x),c=Math.asin(i.z),m=a.sign(o.dot(u,e))*o.magnitude(u);return r(t)?(t.longitude=l,t.latitude=c,t.height=m,t):new s(l,c,m)},u.prototype.cartesianArrayToCartographicArray=function(e,t){var n=e.length;r(t)?t.length=n:t=new Array(n);for(var i=0;n>i;++i)t[i]=this.cartesianToCartographic(e[i],t[i]);return t};var m=new o,p=new o;return u.prototype.scaleToGeodeticSurface=function(e,t){var n=e.x,i=e.y,s=e.z,u=this._oneOverRadii,l=u.x,c=u.y,f=u.z,h=n*n*l*l,d=i*i*c*c,y=s*s*f*f,v=h+d+y,g=Math.sqrt(1/v),E=o.multiplyByScalar(e,g,m);if(va.EPSILON12);return r(t)?(t.x=n*M,t.y=i*_,t.z=s*D,t):new o(n*M,i*_,s*D)},u.prototype.scaleToGeocentricSurface=function(e,t){var r=e.x,n=e.y,i=e.z,a=this._oneOverRadiiSquared,s=1/Math.sqrt(r*r*a.x+n*n*a.y+i*i*a.z);return o.multiplyByScalar(e,s,t)},u.prototype.transformPositionToScaledSpace=function(e,t){return o.multiplyComponents(e,this._oneOverRadii,t)},u.prototype.transformPositionFromScaledSpace=function(e,t){return o.multiplyComponents(e,this._radii,t)},u.prototype.equals=function(e){return this===e||r(e)&&o.equals(this._radii,e._radii)},u.prototype.toString=function(){return this._radii.toString()},u}),define("Core/GeographicProjection",["./defaultValue","./defined","./defineProperties","./Cartesian3","./Cartographic","./Ellipsoid"],function(e,t,r,n,i,a){"use strict";var o=function(t){this._ellipsoid=e(t,a.WGS84),this._semimajorAxis=this._ellipsoid.maximumRadius,this._oneOverSemimajorAxis=1/this._semimajorAxis};return r(o.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}}),o.prototype.project=function(e,r){var i=this._semimajorAxis,a=e.longitude*i,o=e.latitude*i,s=e.height;return t(r)?(r.x=a,r.y=o,r.z=s,r):new n(a,o,s)},o.prototype.unproject=function(e,r){var n=this._oneOverSemimajorAxis,a=e.x*n,o=e.y*n,s=e.z;return t(r)?(r.longitude=a,r.latitude=o,r.height=s,r):new i(a,o,s)},o}),define("Core/Enumeration",["./defined"],function(e){"use strict";var t=function(t,r,n){if(this.value=t,this.name=r,e(n))for(var i in n)n.hasOwnProperty(i)&&(this[i]=n[i])};return t.prototype.valueOf=function(){return this.value},t.prototype.toString=function(){return this.name},t}),define("Core/Intersect",["./Enumeration"],function(e){"use strict";var t={OUTSIDE:new e(-1,"OUTSIDE"),INTERSECTING:new e(0,"INTERSECTING"),INSIDE:new e(1,"INSIDE")};return t}),define("Core/Interval",["./defaultValue"],function(e){"use strict";var t=function(t,r){this.start=e(t,0),this.stop=e(r,0)};return t}),define("Core/Cartesian4",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,t,r,n){"use strict";var i=function(t,r,n,i){this.x=e(t,0),this.y=e(r,0),this.z=e(n,0),this.w=e(i,0)};i.fromElements=function(e,r,n,a,o){return t(o)?(o.x=e,o.y=r,o.z=n,o.w=a,o):new i(e,r,n,a)},i.clone=function(e,r){return t(e)?t(r)?(r.x=e.x,r.y=e.y,r.z=e.z,r.w=e.w,r):new i(e.x,e.y,e.z,e.w):void 0},i.packedLength=4,i.pack=function(t,r,n){n=e(n,0),r[n++]=t.x,r[n++]=t.y,r[n++]=t.z,r[n]=t.w},i.unpack=function(r,n,a){return n=e(n,0),t(a)||(a=new i),a.x=r[n++],a.y=r[n++],a.z=r[n++],a.w=r[n],a},i.fromArray=i.unpack,i.getMaximumComponent=function(e){return Math.max(e.x,e.y,e.z,e.w)},i.getMinimumComponent=function(e){return Math.min(e.x,e.y,e.z,e.w)},i.getMinimumByComponent=function(e,r,n){return t(n)||(n=new i),n.x=Math.min(e.x,r.x),n.y=Math.min(e.y,r.y),n.z=Math.min(e.z,r.z),n.w=Math.min(e.w,r.w),n},i.getMaximumByComponent=function(e,r,n){return t(n)||(n=new i),n.x=Math.max(e.x,r.x),n.y=Math.max(e.y,r.y),n.z=Math.max(e.z,r.z),n.w=Math.max(e.w,r.w),n},i.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w},i.magnitude=function(e){return Math.sqrt(i.magnitudeSquared(e))};var a=new i;i.distance=function(e,t){return i.subtract(e,t,a),i.magnitude(a)},i.normalize=function(e,r){var n=i.magnitude(e);return t(r)?(r.x=e.x/n,r.y=e.y/n,r.z=e.z/n,r.w=e.w/n,r):new i(e.x/n,e.y/n,e.z/n,e.w/n)},i.dot=function(e,t){return e.x*t.x+e.y*t.y+e.z*t.z+e.w*t.w},i.multiplyComponents=function(e,r,n){return t(n)?(n.x=e.x*r.x,n.y=e.y*r.y,n.z=e.z*r.z,n.w=e.w*r.w,n):new i(e.x*r.x,e.y*r.y,e.z*r.z,e.w*r.w)},i.add=function(e,r,n){return t(n)?(n.x=e.x+r.x,n.y=e.y+r.y,n.z=e.z+r.z,n.w=e.w+r.w,n):new i(e.x+r.x,e.y+r.y,e.z+r.z,e.w+r.w)},i.subtract=function(e,r,n){return t(n)?(n.x=e.x-r.x,n.y=e.y-r.y,n.z=e.z-r.z,n.w=e.w-r.w,n):new i(e.x-r.x,e.y-r.y,e.z-r.z,e.w-r.w)},i.multiplyByScalar=function(e,r,n){return t(n)?(n.x=e.x*r,n.y=e.y*r,n.z=e.z*r,n.w=e.w*r,n):new i(e.x*r,e.y*r,e.z*r,e.w*r)},i.divideByScalar=function(e,r,n){return t(n)?(n.x=e.x/r,n.y=e.y/r,n.z=e.z/r,n.w=e.w/r,n):new i(e.x/r,e.y/r,e.z/r,e.w/r)},i.negate=function(e,r){return t(r)?(r.x=-e.x,r.y=-e.y,r.z=-e.z,r.w=-e.w,r):new i(-e.x,-e.y,-e.z,-e.w)},i.abs=function(e,r){return t(r)?(r.x=Math.abs(e.x),r.y=Math.abs(e.y),r.z=Math.abs(e.z),r.w=Math.abs(e.w),r):new i(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z),Math.abs(e.w))};var o=new i;i.lerp=function(e,t,r,n){return i.multiplyByScalar(t,r,o),n=i.multiplyByScalar(e,1-r,n),i.add(o,n,n)};var s=new i;return i.mostOrthogonalAxis=function(e,t){var r=i.normalize(e,s);return i.abs(r,r),t=r.x<=r.y?r.x<=r.z?r.x<=r.w?i.clone(i.UNIT_X,t):i.clone(i.UNIT_W,t):r.z<=r.w?i.clone(i.UNIT_Z,t):i.clone(i.UNIT_W,t):r.y<=r.z?r.y<=r.w?i.clone(i.UNIT_Y,t):i.clone(i.UNIT_W,t):r.z<=r.w?i.clone(i.UNIT_Z,t):i.clone(i.UNIT_W,t)},i.equals=function(e,r){return e===r||t(e)&&t(r)&&e.x===r.x&&e.y===r.y&&e.z===r.z&&e.w===r.w},i.equalsEpsilon=function(e,r,n){return e===r||t(e)&&t(r)&&Math.abs(e.x-r.x)<=n&&Math.abs(e.y-r.y)<=n&&Math.abs(e.z-r.z)<=n&&Math.abs(e.w-r.w)<=n},i.ZERO=n(new i(0,0,0,0)),i.UNIT_X=n(new i(1,0,0,0)),i.UNIT_Y=n(new i(0,1,0,0)),i.UNIT_Z=n(new i(0,0,1,0)),i.UNIT_W=n(new i(0,0,0,1)),i.prototype.clone=function(e){return i.clone(this,e)},i.prototype.equals=function(e){return i.equals(this,e)},i.prototype.equalsEpsilon=function(e,t){return i.equalsEpsilon(this,e,t)},i.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+", "+this.w+")"},i}),define("Core/Matrix3",["./Cartesian3","./defaultValue","./defined","./DeveloperError","./freezeObject","./Math"],function(e,t,r,n,i,a){"use strict";function o(e){for(var t=0,r=0;9>r;++r){var n=e[r];t+=n*n}return Math.sqrt(t)}function s(e){for(var t=0,r=0;3>r;++r){var n=e[l.getElementIndex(f[r],c[r])];t+=2*n*n}return Math.sqrt(t)}function u(e,t){for(var r=a.EPSILON15,n=0,i=1,o=0;3>o;++o){var s=Math.abs(e[l.getElementIndex(f[o],c[o])]);s>n&&(i=o,n=s)}var u=1,h=0,d=c[i],m=f[i];if(Math.abs(e[l.getElementIndex(m,d)])>r){var p,y=e[l.getElementIndex(m,m)],v=e[l.getElementIndex(d,d)],g=e[l.getElementIndex(m,d)],E=(y-v)/2/g;p=0>E?-1/(-E+Math.sqrt(1+E*E)):1/(E+Math.sqrt(1+E*E)),u=1/Math.sqrt(1+p*p),h=p*u}return t=l.clone(l.IDENTITY,t),t[l.getElementIndex(d,d)]=t[l.getElementIndex(m,m)]=u,t[l.getElementIndex(m,d)]=h,t[l.getElementIndex(d,m)]=-h,t}var l=function(e,r,n,i,a,o,s,u,l){this[0]=t(e,0),this[1]=t(i,0),this[2]=t(s,0),this[3]=t(r,0),this[4]=t(a,0),this[5]=t(u,0),this[6]=t(n,0),this[7]=t(o,0),this[8]=t(l,0)};l.clone=function(e,t){return r(e)?r(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t):new l(e[0],e[3],e[6],e[1],e[4],e[7],e[2],e[5],e[8]):void 0},l.fromArray=function(e,n,i){return n=t(n,0),r(i)||(i=new l),i[0]=e[n],i[1]=e[n+1],i[2]=e[n+2],i[3]=e[n+3],i[4]=e[n+4],i[5]=e[n+5],i[6]=e[n+6],i[7]=e[n+7],i[8]=e[n+8],i[9]=e[n+9],i},l.fromColumnMajorArray=function(e,t){return l.clone(e,t)},l.fromRowMajorArray=function(e,t){return r(t)?(t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8],t):new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])},l.fromQuaternion=function(e,t){var n=e.x*e.x,i=e.x*e.y,a=e.x*e.z,o=e.x*e.w,s=e.y*e.y,u=e.y*e.z,c=e.y*e.w,f=e.z*e.z,h=e.z*e.w,d=e.w*e.w,m=n-s-f+d,p=2*(i-h),y=2*(a+c),v=2*(i+h),g=-n+s-f+d,E=2*(u-o),S=2*(a-c),C=2*(u+o),w=-n-s+f+d;return r(t)?(t[0]=m,t[1]=v,t[2]=S,t[3]=p,t[4]=g,t[5]=C,t[6]=y,t[7]=E,t[8]=w,t):new l(m,p,y,v,g,E,S,C,w)},l.fromScale=function(e,t){return r(t)?(t[0]=e.x,t[1]=0,t[2]=0,t[3]=0,t[4]=e.y,t[5]=0,t[6]=0,t[7]=0,t[8]=e.z,t):new l(e.x,0,0,0,e.y,0,0,0,e.z)},l.fromUniformScale=function(e,t){return r(t)?(t[0]=e,t[1]=0,t[2]=0,t[3]=0,t[4]=e,t[5]=0,t[6]=0,t[7]=0,t[8]=e,t):new l(e,0,0,0,e,0,0,0,e)},l.fromRotationX=function(e,t){var n=Math.cos(e),i=Math.sin(e);return r(t)?(t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=n,t[5]=i,t[6]=0,t[7]=-i,t[8]=n,t):new l(1,0,0,0,n,-i,0,i,n)},l.fromRotationY=function(e,t){var n=Math.cos(e),i=Math.sin(e);return r(t)?(t[0]=n,t[1]=0,t[2]=-i,t[3]=0,t[4]=1,t[5]=0,t[6]=i,t[7]=0,t[8]=n,t):new l(n,0,i,0,1,0,-i,0,n)},l.fromRotationZ=function(e,t){var n=Math.cos(e),i=Math.sin(e);return r(t)?(t[0]=n,t[1]=i,t[2]=0,t[3]=-i,t[4]=n,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t):new l(n,-i,0,i,n,0,0,0,1)},l.toArray=function(e,t){return r(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8]]},l.getElementIndex=function(e,t){return 3*e+t},l.getColumn=function(t,n,i){var a=3*n,o=t[a],s=t[a+1],u=t[a+2];return r(i)?(i.x=o,i.y=s,i.z=u,i):new e(o,s,u)},l.setColumn=function(e,t,r,n){n=l.clone(e,n);var i=3*t;return n[i]=r.x,n[i+1]=r.y,n[i+2]=r.z,n},l.getRow=function(t,n,i){var a=t[n],o=t[n+3],s=t[n+6];return r(i)?(i.x=a,i.y=o,i.z=s,i):new e(a,o,s)},l.setRow=function(e,t,r,n){return n=l.clone(e,n),n[t]=r.x,n[t+3]=r.y,n[t+6]=r.z,n},l.multiply=function(e,t,n){var i=e[0]*t[0]+e[3]*t[1]+e[6]*t[2],a=e[1]*t[0]+e[4]*t[1]+e[7]*t[2],o=e[2]*t[0]+e[5]*t[1]+e[8]*t[2],s=e[0]*t[3]+e[3]*t[4]+e[6]*t[5],u=e[1]*t[3]+e[4]*t[4]+e[7]*t[5],c=e[2]*t[3]+e[5]*t[4]+e[8]*t[5],f=e[0]*t[6]+e[3]*t[7]+e[6]*t[8],h=e[1]*t[6]+e[4]*t[7]+e[7]*t[8],d=e[2]*t[6]+e[5]*t[7]+e[8]*t[8];return r(n)?(n[0]=i,n[1]=a,n[2]=o,n[3]=s,n[4]=u,n[5]=c,n[6]=f,n[7]=h,n[8]=d,n):new l(i,s,f,a,u,h,o,c,d)},l.multiplyByVector=function(t,n,i){var a=n.x,o=n.y,s=n.z,u=t[0]*a+t[3]*o+t[6]*s,l=t[1]*a+t[4]*o+t[7]*s,c=t[2]*a+t[5]*o+t[8]*s;return r(i)?(i.x=u,i.y=l,i.z=c,i):new e(u,l,c)},l.multiplyByScalar=function(e,t,n){return r(n)?(n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n[4]=e[4]*t,n[5]=e[5]*t,n[6]=e[6]*t,n[7]=e[7]*t,n[8]=e[8]*t,n):new l(e[0]*t,e[3]*t,e[6]*t,e[1]*t,e[4]*t,e[7]*t,e[2]*t,e[5]*t,e[8]*t)},l.negate=function(e,t){return r(t)?(t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t[4]=-e[4],t[5]=-e[5],t[6]=-e[6],t[7]=-e[7],t[8]=-e[8],t):new l(-e[0],-e[3],-e[6],-e[1],-e[4],-e[7],-e[2],-e[5],-e[8])},l.transpose=function(e,t){var n=e[0],i=e[3],a=e[6],o=e[1],s=e[4],u=e[7],c=e[2],f=e[5],h=e[8];return r(t)?(t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=u,t[6]=c,t[7]=f,t[8]=h,t):new l(n,o,c,i,s,f,a,u,h)};var c=[1,0,0],f=[2,2,1],h=new l,d=new l;return l.getEigenDecomposition=function(e,t){var n=a.EPSILON20,i=10,c=0,f=0;r(t)||(t={});for(var m=t.unitary=l.clone(l.IDENTITY,t.unitary),p=t.diagonal=l.clone(e,t.diagonal),y=n*o(p);i>f&&s(p)>y;)u(p,h),l.transpose(h,d),l.multiply(p,h,p),l.multiply(d,p,p),l.multiply(m,h,m),++c>2&&(++f,c=0);return t},l.abs=function(e,t){return r(t)?(t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t[3]=Math.abs(e[3]),t[4]=Math.abs(e[4]),t[5]=Math.abs(e[5]),t[6]=Math.abs(e[6]),t[7]=Math.abs(e[7]),t[8]=Math.abs(e[8]),t):new l(Math.abs(e[0]),Math.abs(e[3]),Math.abs(e[6]),Math.abs(e[1]),Math.abs(e[4]),Math.abs(e[7]),Math.abs(e[2]),Math.abs(e[5]),Math.abs(e[8]))},l.determinant=function(e){var t=e[0],r=e[3],n=e[6],i=e[1],a=e[4],o=e[7],s=e[2],u=e[5],l=e[8];return t*(a*l-u*o)+i*(u*n-r*l)+s*(r*o-a*n)},l.inverse=function(e,t){var r=e[0],i=e[1],o=e[2],s=e[3],u=e[4],c=e[5],f=e[6],h=e[7],d=e[8],m=l.determinant(e);if(Math.abs(m)<=a.EPSILON15)throw new n("matrix is not invertible");var p=new l(u*d-h*c,f*c-s*d,s*h-f*u,h*o-i*d,r*d-f*o,f*i-r*h,i*c-u*o,s*o-r*c,r*u-s*i),y=1/m;return l.multiplyByScalar(p,y,t)},l.equals=function(e,t){return e===t||r(e)&&r(t)&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]},l.equalsEpsilon=function(e,t,n){return e===t||r(e)&&r(t)&&Math.abs(e[0]-t[0])<=n&&Math.abs(e[1]-t[1])<=n&&Math.abs(e[2]-t[2])<=n&&Math.abs(e[3]-t[3])<=n&&Math.abs(e[4]-t[4])<=n&&Math.abs(e[5]-t[5])<=n&&Math.abs(e[6]-t[6])<=n&&Math.abs(e[7]-t[7])<=n&&Math.abs(e[8]-t[8])<=n},l.IDENTITY=i(new l(1,0,0,0,1,0,0,0,1)),l.COLUMN0ROW0=0,l.COLUMN0ROW1=1,l.COLUMN0ROW2=2,l.COLUMN1ROW0=3,l.COLUMN1ROW1=4,l.COLUMN1ROW2=5,l.COLUMN2ROW0=6,l.COLUMN2ROW1=7,l.COLUMN2ROW2=8,l.prototype.clone=function(e){return l.clone(this,e)},l.prototype.equals=function(e){return l.equals(this,e)},l.prototype.equalsEpsilon=function(e,t){return l.equalsEpsilon(this,e,t)},l.prototype.toString=function(){return"("+this[0]+", "+this[3]+", "+this[6]+")\n"+"("+this[1]+", "+this[4]+", "+this[7]+")\n"+"("+this[2]+", "+this[5]+", "+this[8]+")"},l}),define("Core/RuntimeError",["./defined"],function(e){"use strict";var t=function(e){this.name="RuntimeError",this.message=e;var t;try{throw new Error}catch(r){t=r.stack}this.stack=t};return t.prototype.toString=function(){var t=this.name+": "+this.message;return e(this.stack)&&(t+="\n"+this.stack.toString()),t},t}),define("Core/Matrix4",["./Cartesian3","./Cartesian4","./defaultValue","./defined","./DeveloperError","./freezeObject","./Math","./Matrix3","./RuntimeError"],function(e,t,r,n,i,a,o,s,u){"use strict";var l=function(e,t,n,i,a,o,s,u,l,c,f,h,d,m,p,y){this[0]=r(e,0),this[1]=r(a,0),this[2]=r(l,0),this[3]=r(d,0),this[4]=r(t,0),this[5]=r(o,0),this[6]=r(c,0),this[7]=r(m,0),this[8]=r(n,0),this[9]=r(s,0),this[10]=r(f,0),this[11]=r(p,0),this[12]=r(i,0),this[13]=r(u,0),this[14]=r(h,0),this[15]=r(y,0)};l.clone=function(e,t){return n(e)?n(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t):new l(e[0],e[4],e[8],e[12],e[1],e[5],e[9],e[13],e[2],e[6],e[10],e[14],e[3],e[7],e[11],e[15]):void 0},l.fromArray=function(e,t,i){return t=r(t,0),n(i)||(i=new l),i[0]=e[t],i[1]=e[t+1],i[2]=e[t+2],i[3]=e[t+3],i[4]=e[t+4],i[5]=e[t+5],i[6]=e[t+6],i[7]=e[t+7],i[8]=e[t+8],i[9]=e[t+9],i[10]=e[t+10],i[11]=e[t+11],i[12]=e[t+12],i[13]=e[t+13],i[14]=e[t+14],i[15]=e[t+15],i},l.fromColumnMajorArray=function(e,t){return l.clone(e,t)},l.fromRowMajorArray=function(e,t){return n(t)?(t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15],t):new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])},l.fromRotationTranslation=function(e,t,r){return n(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=0,r[4]=e[3],r[5]=e[4],r[6]=e[5],r[7]=0,r[8]=e[6],r[9]=e[7],r[10]=e[8],r[11]=0,r[12]=t.x,r[13]=t.y,r[14]=t.z,r[15]=1,r):new l(e[0],e[3],e[6],t.x,e[1],e[4],e[7],t.y,e[2],e[5],e[8],t.z,0,0,0,1)},new s,l.fromTranslationQuaternionRotationScale=function(e,t,r,i){n(i)||(i=new l);var a=r.x,o=r.y,s=r.z,u=t.x*t.x,c=t.x*t.y,f=t.x*t.z,h=t.x*t.w,d=t.y*t.y,m=t.y*t.z,p=t.y*t.w,y=t.z*t.z,v=t.z*t.w,g=t.w*t.w,E=u-d-y+g,S=2*(c-v),C=2*(f+p),w=2*(c+v),x=-u+d-y+g,T=2*(m-h),O=2*(f-p),A=2*(m+h),M=-u-d+y+g;return i[0]=E*a,i[1]=w*a,i[2]=O*a,i[3]=0,i[4]=S*o,i[5]=x*o,i[6]=A*o,i[7]=0,i[8]=C*s,i[9]=T*s,i[10]=M*s,i[11]=0,i[12]=e.x,i[13]=e.y,i[14]=e.z,i[15]=1,i},l.fromTranslation=function(e,t){return l.fromRotationTranslation(s.IDENTITY,e,t)},l.fromScale=function(e,t){return n(t)?(t[0]=e.x,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e.y,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e.z,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t):new l(e.x,0,0,0,0,e.y,0,0,0,0,e.z,0,0,0,0,1)},l.fromUniformScale=function(e,t){return n(t)?(t[0]=e,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t):new l(e,0,0,0,0,e,0,0,0,0,e,0,0,0,0,1)};var c=new e,f=new e,h=new e;l.fromCamera=function(t,r){var i=t.eye,a=t.target,o=t.up;e.normalize(e.subtract(a,i,c),c),e.normalize(e.cross(c,o,f),f),e.normalize(e.cross(f,c,h),h);var s=f.x,u=f.y,d=f.z,m=c.x,p=c.y,y=c.z,v=h.x,g=h.y,E=h.z,S=i.x,C=i.y,w=i.z,x=s*-S+u*-C+d*-w,T=v*-S+g*-C+E*-w,O=m*S+p*C+y*w;return n(r)?(r[0]=s,r[1]=v,r[2]=-m,r[3]=0,r[4]=u,r[5]=g,r[6]=-p,r[7]=0,r[8]=d,r[9]=E,r[10]=-y,r[11]=0,r[12]=x,r[13]=T,r[14]=O,r[15]=1,r):new l(s,u,d,x,v,g,E,T,-m,-p,-y,O,0,0,0,1)},l.computePerspectiveFieldOfView=function(e,t,r,i,a){var o=Math.tan(.5*e),s=1/o,u=s/t,c=(i+r)/(r-i),f=2*i*r/(r-i);return n(a)?(a[0]=u,a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=s,a[6]=0,a[7]=0,a[8]=0,a[9]=0,a[10]=c,a[11]=-1,a[12]=0,a[13]=0,a[14]=f,a[15]=0,a):new l(u,0,0,0,0,s,0,0,0,0,c,f,0,0,-1,0)},l.computeOrthographicOffCenter=function(e,t,r,i,a,o,s){var u=1/(t-e),c=1/(i-r),f=1/(o-a),h=-(t+e)*u,d=-(i+r)*c,m=-(o+a)*f;return u*=2,c*=2,f*=-2,n(s)?(s[0]=u,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=c,s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=f,s[11]=0,s[12]=h,s[13]=d,s[14]=m,s[15]=1,s):new l(u,0,0,h,0,c,0,d,0,0,f,m,0,0,0,1)},l.computePerspectiveOffCenter=function(e,t,r,i,a,o,s){var u=2*a/(t-e),c=2*a/(i-r),f=(t+e)/(t-e),h=(i+r)/(i-r),d=-(o+a)/(o-a),m=-1,p=-2*o*a/(o-a);return n(s)?(s[0]=u,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=c,s[6]=0,s[7]=0,s[8]=f,s[9]=h,s[10]=d,s[11]=m,s[12]=0,s[13]=0,s[14]=p,s[15]=0,s):new l(u,0,f,0,0,c,h,0,0,0,d,p,0,0,m,0)},l.computeInfinitePerspectiveOffCenter=function(e,t,r,i,a,o){var s=2*a/(t-e),u=2*a/(i-r),c=(t+e)/(t-e),f=(i+r)/(i-r),h=-1,d=-1,m=-2*a;return n(o)?(o[0]=s,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=u,o[6]=0,o[7]=0,o[8]=c,o[9]=f,o[10]=h,o[11]=d,o[12]=0,o[13]=0,o[14]=m,o[15]=0,o):new l(s,0,c,0,0,u,f,0,0,0,h,m,0,0,d,0)},l.computeViewportTransformation=function(e,t,i,a){e=r(e,r.EMPTY_OBJECT);var o=r(e.x,0),s=r(e.y,0),u=r(e.width,0),c=r(e.height,0);t=r(t,0),i=r(i,1);var f=.5*u,h=.5*c,d=.5*(i-t),m=f,p=h,y=d,v=o+f,g=s+h,E=t+d,S=1;return n(a)?(a[0]=m,a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=p,a[6]=0,a[7]=0,a[8]=0,a[9]=0,a[10]=y,a[11]=0,a[12]=v,a[13]=g,a[14]=E,a[15]=S,a):new l(m,0,0,v,0,p,0,g,0,0,y,E,0,0,0,S)},l.toArray=function(e,t){return n(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]]},l.getElementIndex=function(e,t){return 4*e+t},l.getColumn=function(e,r,i){var a=4*r,o=e[a],s=e[a+1],u=e[a+2],l=e[a+3];return n(i)?(i.x=o,i.y=s,i.z=u,i.w=l,i):new t(o,s,u,l)},l.setColumn=function(e,t,r,n){n=l.clone(e,n);var i=4*t;return n[i]=r.x,n[i+1]=r.y,n[i+2]=r.z,n[i+3]=r.w,n},l.getRow=function(e,r,i){var a=e[r],o=e[r+4],s=e[r+8],u=e[r+12];return n(i)?(i.x=a,i.y=o,i.z=s,i.w=u,i):new t(a,o,s,u)},l.setRow=function(e,t,r,n){return n=l.clone(e,n),n[t]=r.x,n[t+4]=r.y,n[t+8]=r.z,n[t+12]=r.w,n},l.multiply=function(e,t,r){var i=e[0],a=e[1],o=e[2],s=e[3],u=e[4],c=e[5],f=e[6],h=e[7],d=e[8],m=e[9],p=e[10],y=e[11],v=e[12],g=e[13],E=e[14],S=e[15],C=t[0],w=t[1],x=t[2],T=t[3],O=t[4],A=t[5],M=t[6],_=t[7],D=t[8],b=t[9],I=t[10],N=t[11],P=t[12],R=t[13],z=t[14],L=t[15],F=i*C+u*w+d*x+v*T,U=a*C+c*w+m*x+g*T,B=o*C+f*w+p*x+E*T,q=s*C+h*w+y*x+S*T,G=i*O+u*A+d*M+v*_,W=a*O+c*A+m*M+g*_,Y=o*O+f*A+p*M+E*_,H=s*O+h*A+y*M+S*_,j=i*D+u*b+d*I+v*N,V=a*D+c*b+m*I+g*N,k=o*D+f*b+p*I+E*N,K=s*D+h*b+y*I+S*N,Z=i*P+u*R+d*z+v*L,X=a*P+c*R+m*z+g*L,J=o*P+f*R+p*z+E*L,Q=s*P+h*R+y*z+S*L;return n(r)?(r[0]=F,r[1]=U,r[2]=B,r[3]=q,r[4]=G,r[5]=W,r[6]=Y,r[7]=H,r[8]=j,r[9]=V,r[10]=k,r[11]=K,r[12]=Z,r[13]=X,r[14]=J,r[15]=Q,r):new l(F,G,j,Z,U,W,V,X,B,Y,k,J,q,H,K,Q)},l.multiplyTransformation=function(e,t,r){var i=e[0],a=e[1],o=e[2],s=e[4],u=e[5],c=e[6],f=e[8],h=e[9],d=e[10],m=e[12],p=e[13],y=e[14],v=t[0],g=t[1],E=t[2],S=t[4],C=t[5],w=t[6],x=t[8],T=t[9],O=t[10],A=t[12],M=t[13],_=t[14],D=i*v+s*g+f*E,b=a*v+u*g+h*E,I=o*v+c*g+d*E,N=i*S+s*C+f*w,P=a*S+u*C+h*w,R=o*S+c*C+d*w,z=i*x+s*T+f*O,L=a*x+u*T+h*O,F=o*x+c*T+d*O,U=i*A+s*M+f*_+m,B=a*A+u*M+h*_+p,q=o*A+c*M+d*_+y;return n(r)?(r[0]=D,r[1]=b,r[2]=I,r[3]=0,r[4]=N,r[5]=P,r[6]=R,r[7]=0,r[8]=z,r[9]=L,r[10]=F,r[11]=0,r[12]=U,r[13]=B,r[14]=q,r[15]=1,r):new l(D,N,z,U,b,P,L,B,I,R,F,q,0,0,0,1) +},l.multiplyByTranslation=function(e,t,r){var i=t.x,a=t.y,o=t.z,s=i*e[0]+a*e[4]+o*e[8]+e[12],u=i*e[1]+a*e[5]+o*e[9]+e[13],c=i*e[2]+a*e[6]+o*e[10]+e[14];return n(r)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r[9]=e[9],r[10]=e[10],r[11]=e[11],r[12]=s,r[13]=u,r[14]=c,r[15]=e[15],r):new l(e[0],e[4],e[8],s,e[1],e[5],e[9],u,e[2],e[6],e[10],c,e[3],e[7],e[11],e[15])};var d=new e;return l.multiplyByUniformScale=function(e,t,r){return d.x=t,d.y=t,d.z=t,l.multiplyByScale(e,d,r)},l.multiplyByScale=function(e,t,r){var i=t.x,a=t.y,o=t.z;return 1===i&&1===a&&1===o?l.clone(e,r):n(r)?(r[0]=i*e[0],r[1]=i*e[1],r[2]=i*e[2],r[3]=0,r[4]=a*e[4],r[5]=a*e[5],r[6]=a*e[6],r[7]=0,r[8]=o*e[8],r[9]=o*e[9],r[10]=o*e[10],r[11]=0,r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=1,r):new l(i*e[0],a*e[4],o*e[8],e[12],i*e[1],a*e[5],o*e[9],e[13],i*e[2],a*e[6],o*e[10],e[14],0,0,0,1)},l.multiplyByVector=function(e,r,i){var a=r.x,o=r.y,s=r.z,u=r.w,l=e[0]*a+e[4]*o+e[8]*s+e[12]*u,c=e[1]*a+e[5]*o+e[9]*s+e[13]*u,f=e[2]*a+e[6]*o+e[10]*s+e[14]*u,h=e[3]*a+e[7]*o+e[11]*s+e[15]*u;return n(i)?(i.x=l,i.y=c,i.z=f,i.w=h,i):new t(l,c,f,h)},l.multiplyByPointAsVector=function(t,r,i){var a=r.x,o=r.y,s=r.z,u=t[0]*a+t[4]*o+t[8]*s,l=t[1]*a+t[5]*o+t[9]*s,c=t[2]*a+t[6]*o+t[10]*s;return n(i)?(i.x=u,i.y=l,i.z=c,i):new e(u,l,c)},l.multiplyByPoint=function(t,r,i){var a=r.x,o=r.y,s=r.z,u=t[0]*a+t[4]*o+t[8]*s+t[12],l=t[1]*a+t[5]*o+t[9]*s+t[13],c=t[2]*a+t[6]*o+t[10]*s+t[14];return n(i)?(i.x=u,i.y=l,i.z=c,i):new e(u,l,c)},l.multiplyByScalar=function(e,t,r){return n(r)?(r[0]=e[0]*t,r[1]=e[1]*t,r[2]=e[2]*t,r[3]=e[3]*t,r[4]=e[4]*t,r[5]=e[5]*t,r[6]=e[6]*t,r[7]=e[7]*t,r[8]=e[8]*t,r[9]=e[9]*t,r[10]=e[10]*t,r[11]=e[11]*t,r[12]=e[12]*t,r[13]=e[13]*t,r[14]=e[14]*t,r[15]=e[15]*t,r):new l(e[0]*t,e[4]*t,e[8]*t,e[12]*t,e[1]*t,e[5]*t,e[9]*t,e[13]*t,e[2]*t,e[6]*t,e[10]*t,e[14]*t,e[3]*t,e[7]*t,e[11]*t,e[15]*t)},l.negate=function(e,t){return n(t)?(t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t[4]=-e[4],t[5]=-e[5],t[6]=-e[6],t[7]=-e[7],t[8]=-e[8],t[9]=-e[9],t[10]=-e[10],t[11]=-e[11],t[12]=-e[12],t[13]=-e[13],t[14]=-e[14],t[15]=-e[15],t):new l(-e[0],-e[4],-e[8],-e[12],-e[1],-e[5],-e[9],-e[13],-e[2],-e[6],-e[10],-e[14],-e[3],-e[7],-e[11],-e[15])},l.transpose=function(e,t){if(!n(t))return new l(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]);var r=e[1],i=e[2],a=e[3],o=e[6],s=e[7],u=e[11];return t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=r,t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=i,t[9]=o,t[10]=e[10],t[11]=e[14],t[12]=a,t[13]=s,t[14]=u,t[15]=e[15],t},l.abs=function(e,t){return n(t)?(t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t[3]=Math.abs(e[3]),t[4]=Math.abs(e[4]),t[5]=Math.abs(e[5]),t[6]=Math.abs(e[6]),t[7]=Math.abs(e[7]),t[8]=Math.abs(e[8]),t[9]=Math.abs(e[9]),t[10]=Math.abs(e[10]),t[11]=Math.abs(e[11]),t[12]=Math.abs(e[12]),t[13]=Math.abs(e[13]),t[14]=Math.abs(e[14]),t[15]=Math.abs(e[15]),t):new l(Math.abs(e[0]),Math.abs(e[4]),Math.abs(e[8]),Math.abs(e[12]),Math.abs(e[1]),Math.abs(e[5]),Math.abs(e[9]),Math.abs(e[13]),Math.abs(e[2]),Math.abs(e[6]),Math.abs(e[10]),Math.abs(e[14]),Math.abs(e[3]),Math.abs(e[7]),Math.abs(e[11]),Math.abs(e[15]))},l.equals=function(e,t){return e===t||n(e)&&n(t)&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15]},l.equalsEpsilon=function(e,t,r){return e===t||n(e)&&n(t)&&Math.abs(e[0]-t[0])<=r&&Math.abs(e[1]-t[1])<=r&&Math.abs(e[2]-t[2])<=r&&Math.abs(e[3]-t[3])<=r&&Math.abs(e[4]-t[4])<=r&&Math.abs(e[5]-t[5])<=r&&Math.abs(e[6]-t[6])<=r&&Math.abs(e[7]-t[7])<=r&&Math.abs(e[8]-t[8])<=r&&Math.abs(e[9]-t[9])<=r&&Math.abs(e[10]-t[10])<=r&&Math.abs(e[11]-t[11])<=r&&Math.abs(e[12]-t[12])<=r&&Math.abs(e[13]-t[13])<=r&&Math.abs(e[14]-t[14])<=r&&Math.abs(e[15]-t[15])<=r},l.getTranslation=function(t,r){return n(r)?(r.x=t[12],r.y=t[13],r.z=t[14],r):new e(t[12],t[13],t[14])},l.getRotation=function(e,t){return n(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[4],t[4]=e[5],t[5]=e[6],t[6]=e[8],t[7]=e[9],t[8]=e[10],t):new s(e[0],e[4],e[8],e[1],e[5],e[9],e[2],e[6],e[10])},l.inverse=function(e,t){var r=e[0],i=e[4],a=e[8],s=e[12],c=e[1],f=e[5],h=e[9],d=e[13],m=e[2],p=e[6],y=e[10],v=e[14],g=e[3],E=e[7],S=e[11],C=e[15],w=y*C,x=v*S,T=p*C,O=v*E,A=p*S,M=y*E,_=m*C,D=v*g,b=m*S,I=y*g,N=m*E,P=p*g,R=w*f+O*h+A*d-(x*f+T*h+M*d),z=x*c+_*h+I*d-(w*c+D*h+b*d),L=T*c+D*f+N*d-(O*c+_*f+P*d),F=M*c+b*f+P*h-(A*c+I*f+N*h),U=x*i+T*a+M*s-(w*i+O*a+A*s),B=w*r+D*a+b*s-(x*r+_*a+I*s),q=O*r+_*i+P*s-(T*r+D*i+N*s),G=A*r+I*i+N*a-(M*r+b*i+P*a);w=a*d,x=s*h,T=i*d,O=s*f,A=i*h,M=a*f,_=r*d,D=s*c,b=r*h,I=a*c,N=r*f,P=i*c;var W=w*E+O*S+A*C-(x*E+T*S+M*C),Y=x*g+_*S+I*C-(w*g+D*S+b*C),H=T*g+D*E+N*C-(O*g+_*E+P*C),j=M*g+b*E+P*S-(A*g+I*E+N*S),V=T*y+M*v+x*p-(A*v+w*p+O*y),k=b*v+w*m+D*y-(_*y+I*v+x*m),K=_*p+P*v+O*m-(N*v+T*m+D*p),Z=N*y+A*m+I*p-(b*p+P*y+M*m),X=r*R+i*z+a*L+s*F;if(Math.abs(X)O;O++){e.clone(t[O],i);var A=i.x,M=i.y,_=i.z;Au.x&&e.clone(i,u),Ml.y&&e.clone(i,l),_x.z&&e.clone(i,x)}var D=e.magnitudeSquared(e.subtract(u,a,g)),b=e.magnitudeSquared(e.subtract(l,o,g)),I=e.magnitudeSquared(e.subtract(x,s,g)),N=a,P=u,R=D;b>R&&(R=b,N=o,P=l),I>R&&(R=I,N=s,P=x);var z=E;z.x=.5*(N.x+P.x),z.y=.5*(N.y+P.y),z.z=.5*(N.z+P.z);var L=e.magnitudeSquared(e.subtract(P,z,g)),F=Math.sqrt(L),U=S;U.x=a.x,U.y=o.y,U.z=s.z;var B=C;B.x=u.x,B.y=l.y,B.z=x.z;var q=e.multiplyByScalar(e.add(U,B,g),.5,w),G=0;for(O=0;T>O;O++){e.clone(t[O],i);var W=e.magnitude(e.subtract(i,q,g));W>G&&(G=W);var Y=e.magnitudeSquared(e.subtract(i,z,g));if(Y>L){var H=Math.sqrt(Y);F=.5*(F+H),L=F*F;var j=H-F;z.x=(F*z.x+j*i.x)/H,z.y=(F*z.y+j*i.y)/H,z.z=(F*z.z+j*i.z)/H}}return G>F?(e.clone(z,r.center),r.radius=F):(e.clone(q,r.center),r.radius=G),r};var x=new o,T=new e,O=new e,A=new t,M=new t;c.fromExtent2D=function(e,t,r){return c.fromExtentWithHeights2D(e,t,0,0,r)},c.fromExtentWithHeights2D=function(t,i,a,o,s){if(n(s)||(s=new c),!n(t))return s.center=e.clone(e.ZERO,s.center),s.radius=0,s;i=r(i,x),t.getSouthwest(A),A.height=a,t.getNortheast(M),M.height=o;var u=i.project(A,T),l=i.project(M,O),f=l.x-u.x,h=l.y-u.y,d=l.z-u.z;s.radius=.5*Math.sqrt(f*f+h*h+d*d);var m=s.center;return m.x=u.x+.5*f,m.y=u.y+.5*h,m.z=u.z+.5*d,s};var _=[];c.fromExtent3D=function(e,t,i,o){t=r(t,a.WGS84),i=r(i,0);var s;return n(e)&&(s=e.subsample(t,i,_)),c.fromPoints(s,o)},c.fromVertices=function(t,i,a,o){if(n(o)||(o=new c),!n(t)||0===t.length)return o.center=e.clone(e.ZERO,o.center),o.radius=0,o;i=r(i,e.ZERO),a=r(a,3);var s=v;s.x=t[0]+i.x,s.y=t[1]+i.y,s.z=t[2]+i.z;for(var u=e.clone(s,f),l=e.clone(s,h),x=e.clone(s,d),T=e.clone(s,m),O=e.clone(s,p),A=e.clone(s,y),M=t.length,_=0;M>_;_+=a){var D=t[_]+i.x,b=t[_+1]+i.y,I=t[_+2]+i.z;s.x=D,s.y=b,s.z=I,DT.x&&e.clone(s,T),bO.y&&e.clone(s,O),IA.z&&e.clone(s,A)}var N=e.magnitudeSquared(e.subtract(T,u,g)),P=e.magnitudeSquared(e.subtract(O,l,g)),R=e.magnitudeSquared(e.subtract(A,x,g)),z=u,L=T,F=N;P>F&&(F=P,z=l,L=O),R>F&&(F=R,z=x,L=A);var U=E;U.x=.5*(z.x+L.x),U.y=.5*(z.y+L.y),U.z=.5*(z.z+L.z);var B=e.magnitudeSquared(e.subtract(L,U,g)),q=Math.sqrt(B),G=S;G.x=u.x,G.y=l.y,G.z=x.z;var W=C;W.x=T.x,W.y=O.y,W.z=A.z;var Y=e.multiplyByScalar(e.add(G,W,g),.5,w),H=0;for(_=0;M>_;_+=a){s.x=t[_]+i.x,s.y=t[_+1]+i.y,s.z=t[_+2]+i.z;var j=e.magnitude(e.subtract(s,Y,g));j>H&&(H=j);var V=e.magnitudeSquared(e.subtract(s,U,g));if(V>B){var k=Math.sqrt(V);q=.5*(q+k),B=q*q;var K=k-q;U.x=(q*U.x+K*s.x)/k,U.y=(q*U.y+K*s.y)/k,U.z=(q*U.z+K*s.z)/k}}return H>q?(e.clone(U,o.center),o.radius=q):(e.clone(Y,o.center),o.radius=H),o},c.fromCornerPoints=function(t,r,i){n(i)||(i=new c);var a=i.center;return e.add(t,r,a),e.multiplyByScalar(a,.5,a),i.radius=e.distance(a,r),i},c.fromEllipsoid=function(t,r){return n(r)||(r=new c),e.clone(e.ZERO,r.center),r.radius=t.maximumRadius,r},c.clone=function(t,r){return n(t)?n(r)?(r.center=e.clone(t.center,r.center),r.radius=t.radius,r):new c(t.center,t.radius):void 0};var D=new e,b=new e;c.union=function(t,r,i){n(i)||(i=new c);var a=t.center,o=r.center;e.add(a,o,b);var s=e.multiplyByScalar(b,.5,b),u=e.magnitude(e.subtract(a,s,D))+t.radius,l=e.magnitude(e.subtract(o,s,D))+r.radius;return i.radius=Math.max(u,l),e.clone(s,i.center),i};var I=new e;c.expand=function(t,r,n){n=c.clone(t,n);var i=e.magnitude(e.subtract(r,n.center,I));return i>n.radius&&(n.radius=i),n},c.intersect=function(t,r){var n=t.center,i=t.radius,a=e.dot(r,n)+r.w;return-i>a?s.OUTSIDE:i>a?s.INTERSECTING:s.INSIDE};var N=new e;c.transform=function(t,r,i){return n(i)||(i=new c),i.center=l.multiplyByPoint(r,t.center,i.center),i.radius=Math.max(e.magnitude(l.getColumn(r,0,N)),e.magnitude(l.getColumn(r,1,N)),e.magnitude(l.getColumn(r,2,N)))*t.radius,i},c.transformWithoutScale=function(e,t,r){return n(r)||(r=new c),r.center=l.multiplyByPoint(t,e.center,r.center),r.radius=e.radius,r};var P=new e;c.getPlaneDistances=function(t,r,i,a){n(a)||(a=new u);var o=e.subtract(t.center,r,P),s=e.multiplyByScalar(i,e.dot(i,o),P),l=e.magnitude(s);return a.start=l-t.radius,a.stop=l+t.radius,a};for(var R=new e,z=new e,L=new e,F=new e,U=new e,B=new t,q=new Array(8),G=0;8>G;++G)q[G]=new e;var W=new o;return c.projectTo2D=function(t,n,i){n=r(n,W);var a=n.ellipsoid,o=t.center,s=t.radius,u=a.geodeticSurfaceNormal(o,R),l=e.cross(e.UNIT_Z,u,z);e.normalize(l,l);var f=e.cross(u,l,L);e.normalize(f,f),e.multiplyByScalar(u,s,u),e.multiplyByScalar(f,s,f),e.multiplyByScalar(l,s,l);var h=e.negate(f,U),d=e.negate(l,F),m=q,p=m[0];e.add(u,f,p),e.add(p,l,p),p=m[1],e.add(u,f,p),e.add(p,d,p),p=m[2],e.add(u,h,p),e.add(p,d,p),p=m[3],e.add(u,h,p),e.add(p,l,p),e.negate(u,u),p=m[4],e.add(u,f,p),e.add(p,l,p),p=m[5],e.add(u,f,p),e.add(p,d,p),p=m[6],e.add(u,h,p),e.add(p,d,p),p=m[7],e.add(u,h,p),e.add(p,l,p);for(var y=m.length,v=0;y>v;++v){var g=m[v];e.add(o,g,g);var E=a.cartesianToCartographic(g,B);n.project(E,g)}i=c.fromPoints(m,i),o=i.center;var S=o.x,C=o.y,w=o.z;return o.x=w,o.y=S,o.z=C,i},c.equals=function(t,r){return t===r||n(t)&&n(r)&&e.equals(t.center,r.center)&&t.radius===r.radius},c.prototype.clone=function(e){return c.clone(this,e)},c.prototype.union=function(e,t){return c.union(this,e,t)},c.prototype.expand=function(e,t){return c.expand(this,e,t)},c.prototype.intersect=function(e){return c.intersect(this,e)},c.prototype.getPlaneDistances=function(e,t,r){return c.getPlaneDistances(this,e,t,r)},c.prototype.projectTo2D=function(e,t){return c.projectTo2D(this,e,t)},c.prototype.equals=function(e){return c.equals(this,e)},c}),define("Core/Fullscreen",["./defined"],function(e){"use strict";var t,r={requestFullscreen:void 0,exitFullscreen:void 0,fullscreenEnabled:void 0,fullscreenElement:void 0,fullscreenchange:void 0,fullscreenerror:void 0},n={};return n.supportsFullscreen=function(){if(e(t))return t;t=!1;var n=document.body;if("function"==typeof n.requestFullscreen)return r.requestFullscreen="requestFullscreen",r.exitFullscreen="exitFullscreen",r.fullscreenEnabled="fullscreenEnabled",r.fullscreenElement="fullscreenElement",r.fullscreenchange="fullscreenchange",r.fullscreenerror="fullscreenerror",t=!0;for(var i,a=["webkit","moz","o","ms","khtml"],o=0,s=a.length;s>o;++o){var u=a[o];i=u+"RequestFullscreen","function"==typeof n[i]?(r.requestFullscreen=i,t=!0):(i=u+"RequestFullScreen","function"==typeof n[i]&&(r.requestFullscreen=i,t=!0)),i=u+"ExitFullscreen","function"==typeof document[i]?r.exitFullscreen=i:(i=u+"CancelFullScreen","function"==typeof document[i]&&(r.exitFullscreen=i)),i=u+"FullscreenEnabled",e(document[i])?r.fullscreenEnabled=i:(i=u+"FullScreenEnabled",e(document[i])&&(r.fullscreenEnabled=i)),i=u+"FullscreenElement",e(document[i])?r.fullscreenElement=i:(i=u+"FullScreenElement",e(document[i])&&(r.fullscreenElement=i)),i=u+"fullscreenchange",e(document["on"+i])&&("ms"===u&&(i="MSFullscreenChange"),r.fullscreenchange=i),i=u+"fullscreenerror",e(document["on"+i])&&("ms"===u&&(i="MSFullscreenError"),r.fullscreenerror=i)}return t},n.requestFullscreen=function(e){n.supportsFullscreen()&&e[r.requestFullscreen]()},n.exitFullscreen=function(){n.supportsFullscreen()&&document[r.exitFullscreen]()},n.isFullscreenEnabled=function(){return n.supportsFullscreen()?document[r.fullscreenEnabled]:void 0},n.getFullscreenElement=function(){return n.supportsFullscreen()?document[r.fullscreenElement]:void 0},n.isFullscreen=function(){return n.supportsFullscreen()?null!==n.getFullscreenElement():void 0},n.getFullscreenChangeEventName=function(){return n.supportsFullscreen()?r.fullscreenchange:void 0},n.getFullscreenErrorEventName=function(){return n.supportsFullscreen()?r.fullscreenerror:void 0},n}),define("Core/FeatureDetection",["./defined","./Fullscreen"],function(e,t){"use strict";function r(e){for(var t=e.split("."),r=0,n=t.length;n>r;++r)t[r]=parseInt(t[r],10);return t}function n(){if(!e(f)){var t=/ Chrome\/([\.0-9]+)/.exec(navigator.userAgent);null===t?f=!1:(f=!0,h=r(t[1]))}return f}function i(){return n()&&h}function a(){if(!e(d))if(n()||!/ Safari\/[\.0-9]+/.test(navigator.userAgent))d=!1;else{var t=/ Version\/([\.0-9]+)/.exec(navigator.userAgent);null===t?d=!1:(d=!0,m=r(t[1]))}return d}function o(){return a()&&m}function s(){if(!e(p)){var t=/ AppleWebKit\/([\.0-9]+)(\+?)/.exec(navigator.userAgent);null===t?p=!1:(p=!0,y=r(t[1]),y.isNightly=!!t[2])}return p}function u(){return s()&&y}function l(){if(!e(v)){var t;"Microsoft Internet Explorer"===navigator.appName?(t=/MSIE ([0-9]{1,}[\.0-9]{0,})/.exec(navigator.userAgent),null!==t&&(v=!0,g=r(t[1]))):"Netscape"===navigator.appName?(t=/Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/.exec(navigator.userAgent),null!==t&&(v=!0,g=r(t[1]))):v=!1}return v}function c(){return l()&&g}var f,h,d,m,p,y,v,g,E={isChrome:n,chromeVersion:i,isSafari:a,safariVersion:o,isWebkit:s,webkitVersion:u,isInternetExplorer:l,internetExplorerVersion:c};E.supportsFullscreen=function(){return t.supportsFullscreen()},E.supportsTypedArrays=function(){return"undefined"!=typeof ArrayBuffer};var S;return E.supportsTransferringArrayBuffers=function(){if(!e(S)){if(!E.supportsTypedArrays())return S=!1,void 0;var t=new ArrayBuffer(1);try{postMessage({value:t},[t]),S=!0}catch(r){S=!1}}return S},E}),define("Core/ComponentDatatype",["./defaultValue","./defined","./DeveloperError","./FeatureDetection","./Enumeration"],function(e,t,r,n,i){"use strict";if(!n.supportsTypedArrays())return{};var a={BYTE:new i(5120,"BYTE",{sizeInBytes:Int8Array.BYTES_PER_ELEMENT}),UNSIGNED_BYTE:new i(5121,"UNSIGNED_BYTE",{sizeInBytes:Uint8Array.BYTES_PER_ELEMENT}),SHORT:new i(5122,"SHORT",{sizeInBytes:Int16Array.BYTES_PER_ELEMENT}),UNSIGNED_SHORT:new i(5123,"UNSIGNED_SHORT",{sizeInBytes:Uint16Array.BYTES_PER_ELEMENT}),FLOAT:new i(5126,"FLOAT",{sizeInBytes:Float32Array.BYTES_PER_ELEMENT}),DOUBLE:new i(5130,"DOUBLE",{sizeInBytes:Float64Array.BYTES_PER_ELEMENT})};return a.validate=function(e){return t(e)&&t(e.value)&&(e.value===a.BYTE.value||e.value===a.UNSIGNED_BYTE.value||e.value===a.SHORT.value||e.value===a.UNSIGNED_SHORT.value||e.value===a.FLOAT.value||e.value===a.DOUBLE.value)},a.createTypedArray=function(e,t){switch(e.value){case a.BYTE.value:return new Int8Array(t);case a.UNSIGNED_BYTE.value:return new Uint8Array(t);case a.SHORT.value:return new Int16Array(t);case a.UNSIGNED_SHORT.value:return new Uint16Array(t);case a.FLOAT.value:return new Float32Array(t);case a.DOUBLE.value:return new Float64Array(t);default:throw new r("componentDatatype is not a valid enumeration value.")}},a.createArrayBufferView=function(t,n,i,o){switch(i=e(i,0),o=e(o,(n.byteLength-i)/t.sizeInBytes),t.value){case a.BYTE.value:return new Int8Array(n,i,o);case a.UNSIGNED_BYTE.value:return new Uint8Array(n,i,o);case a.SHORT.value:return new Int16Array(n,i,o);case a.UNSIGNED_SHORT.value:return new Uint16Array(n,i,o);case a.FLOAT.value:return new Float32Array(n,i,o);case a.DOUBLE.value:return new Float64Array(n,i,o);default:throw new r("componentDatatype is not a valid enumeration value.")}},a}),define("Core/Geometry",["./defaultValue","./defined","./DeveloperError"],function(e,t,r){"use strict";var n=function(t){t=e(t,e.EMPTY_OBJECT),this.attributes=t.attributes,this.indices=t.indices,this.primitiveType=t.primitiveType,this.boundingSphere=t.boundingSphere};return n.computeNumberOfVertices=function(e){var n=-1;for(var i in e.attributes)if(e.attributes.hasOwnProperty(i)&&t(e.attributes[i])&&t(e.attributes[i].values)){var a=e.attributes[i],o=a.values.length/a.componentsPerAttribute;if(n!==o&&-1!==n)throw new r("All attribute lists must have the same number of attributes.");n=o}return n},n}),define("Core/GeometryAttribute",["./defaultValue","./defined","./DeveloperError"],function(e){"use strict";var t=function(t){t=e(t,e.EMPTY_OBJECT),this.componentDatatype=t.componentDatatype,this.componentsPerAttribute=t.componentsPerAttribute,this.normalize=e(t.normalize,!1),this.values=t.values};return t}),define("Core/GeometryAttributes",["./defaultValue"],function(e){"use strict";var t=function(t){t=e(t,e.EMPTY_OBJECT),this.position=t.position,this.normal=t.normal,this.st=t.st,this.binormal=t.binormal,this.tangent=t.tangent,this.color=t.color};return t}),define("Core/IndexDatatype",["./defined","./DeveloperError","./Math"],function(e,t,r){"use strict";var n={UNSIGNED_BYTE:5121,UNSIGNED_SHORT:5123,UNSIGNED_INT:5125};return n.getSizeInBytes=function(e){switch(e){case n.UNSIGNED_BYTE:return Uint8Array.BYTES_PER_ELEMENT;case n.UNSIGNED_SHORT:return Uint16Array.BYTES_PER_ELEMENT;case n.UNSIGNED_INT:return Uint32Array.BYTES_PER_ELEMENT}},n.validate=function(t){return e(t)&&(t===n.UNSIGNED_BYTE||t===n.UNSIGNED_SHORT||t===n.UNSIGNED_INT)},n.createTypedArray=function(e,t){return e>r.SIXTY_FOUR_KILOBYTES?new Uint32Array(t):new Uint16Array(t)},n}),define("Core/PrimitiveType",[],function(){"use strict";var e={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,validate:function(t){return t===e.POINTS||t===e.LINES||t===e.LINE_LOOP||t===e.LINE_STRIP||t===e.TRIANGLES||t===e.TRIANGLE_STRIP||t===e.TRIANGLE_FAN}};return e}),define("ThirdParty/Uri",[],function(){function e(t){if(t instanceof e)this.scheme=t.scheme,this.authority=t.authority,this.path=t.path,this.query=t.query,this.fragment=t.fragment;else if(t){var r=n.exec(t);this.scheme=r[1],this.authority=r[2],this.path=r[3],this.query=r[4],this.fragment=r[5]}}function t(e){var t=unescape(e);return a.test(t)?t:e.toUpperCase()}function r(e,t,r,n){return(t||"")+r.toLowerCase()+(n||"")}e.prototype.scheme=null,e.prototype.authority=null,e.prototype.path="",e.prototype.query=null,e.prototype.fragment=null;var n=new RegExp("^(?:([^:/?#]+):)?(?://([^/?#]*))?([^?#]*)(?:\\?([^#]*))?(?:#(.*))?$");e.prototype.getScheme=function(){return this.scheme},e.prototype.getAuthority=function(){return this.authority},e.prototype.getPath=function(){return this.path},e.prototype.getQuery=function(){return this.query},e.prototype.getFragment=function(){return this.fragment},e.prototype.isAbsolute=function(){return!!this.scheme&&!this.fragment},e.prototype.isSameDocumentAs=function(e){return e.scheme==this.scheme&&e.authority==this.authority&&e.path==this.path&&e.query==this.query},e.prototype.equals=function(e){return this.isSameDocumentAs(e)&&e.fragment==this.fragment},e.prototype.normalize=function(){this.removeDotSegments(),this.scheme&&(this.scheme=this.scheme.toLowerCase()),this.authority&&(this.authority=this.authority.replace(o,r).replace(i,t)),this.path&&(this.path=this.path.replace(i,t)),this.query&&(this.query=this.query.replace(i,t)),this.fragment&&(this.fragment=this.fragment.replace(i,t))};var i=/%[0-9a-z]{2}/gi,a=/[a-zA-Z0-9\-\._~]/,o=/(.*@)?([^@:]*)(:.*)?/;return e.prototype.resolve=function(t){var r=new e;return this.scheme?(r.scheme=this.scheme,r.authority=this.authority,r.path=this.path,r.query=this.query):(r.scheme=t.scheme,this.authority?(r.authority=this.authority,r.path=this.path,r.query=this.query):(r.authority=t.authority,""==this.path?(r.path=t.path,r.query=this.query||t.query):("/"==this.path.charAt(0)?(r.path=this.path,r.removeDotSegments()):(r.path=t.authority&&""==t.path?"/"+this.path:t.path.substring(0,t.path.lastIndexOf("/")+1)+this.path,r.removeDotSegments()),r.query=this.query))),r.fragment=this.fragment,r},e.prototype.removeDotSegments=function(){var e,t=this.path.split("/"),r=[],n=""==t[0];for(n&&t.shift(),""==t[0]?t.shift():null;t.length;)e=t.shift(),".."==e?r.pop():"."!=e&&r.push(e);("."==e||".."==e)&&r.push(""),n&&r.unshift(""),this.path=r.join("/")},e.prototype.toString=function(){var e="";return this.scheme&&(e+=this.scheme+":"),this.authority&&(e+="//"+this.authority),e+=this.path,this.query&&(e+="?"+this.query),this.fragment&&(e+="#"+this.fragment),e},e}),define("Core/buildModuleUrl",["require","./defined","./DeveloperError","../ThirdParty/Uri"],function(e,t,r,n){"use strict";function i(){for(var e=document.getElementsByTagName("script"),t=0,r=e.length;r>t;++t){var n=e[t].getAttribute("src"),i=f.exec(n);if(null!==i)return i[1]}return void 0}function a(){if(t(u))return u;var e;if(e="undefined"!=typeof CESIUM_BASE_URL?CESIUM_BASE_URL:i(),!t(e))throw new r("Unable to determine Cesium base URL automatically, try defining a global variable called CESIUM_BASE_URL.");return u=new n(e).resolve(new n(document.location.href))}function o(t){return e.toUrl("../"+t)}function s(e){return new n(e).resolve(a()).toString()}var u,l,c,f=/((?:.*\/)|^)cesium[\w-]*\.js(?:\W|$)/i,h=function(r){t(l)||(l=t(e.toUrl)?o:s),t(c)||(c=document.createElement("a"));var n=l(r);return c.href=n,c.href=c.href,c.href};return h._cesiumScriptRegex=f,h}),define("Core/Iau2006XysSample",[],function(){"use strict";var e=function(e,t,r){this.x=e,this.y=t,this.s=r};return e}),define("Core/binarySearch",["./defined","./DeveloperError"],function(){"use strict";var e=function(e,t,r){for(var n,i,a=0,o=e.length-1;o>=a;)if(n=~~((a+o)/2),i=r(e[n],t),0>i)a=n+1;else{if(!(i>0))return n;o=n-1}return~(o+1)};return e}),define("Core/TimeConstants",[],function(){"use strict";var e={SECONDS_PER_MILLISECOND:.001,SECONDS_PER_MINUTE:60,MINUTES_PER_HOUR:60,HOURS_PER_DAY:24,SECONDS_PER_HOUR:3600,MINUTES_PER_DAY:1440,SECONDS_PER_DAY:86400,DAYS_PER_JULIAN_CENTURY:36525,PICOSECOND:1e-9,MODIFIED_JULIAN_DATE_DIFFERENCE:2400000.5};return e}),define("Core/isArray",["./defined"],function(e){"use strict";var t=Array.isArray;return e(t)||(t=function(e){return"[object Array]"===Object.prototype.toString.call(e)}),t}),define("Core/LeapSecond",["./defined","./DeveloperError","./isArray"],function(){"use strict";var e=function(e,t){this.julianDate=e,this.offset=t};return e.setLeapSeconds=function(t){e._leapSeconds=t,e._leapSeconds.sort(e.compareLeapSecondDate)},e.getLeapSeconds=function(){return e._leapSeconds},e.prototype.equals=function(e){return this.julianDate.equals(e.julianDate)&&this.offset===e.offset},e.compareLeapSecondDate=function(e,t){return e.julianDate.compareTo(t.julianDate)},e._leapSeconds=[],e}),define("Core/TimeStandard",[],function(){"use strict";var e={UTC:0,TAI:1};return e}),define("Core/isLeapYear",["./DeveloperError"],function(){"use strict";function e(e){return 0===e%4&&0!==e%100||0===e%400}return e}),define("ThirdParty/sprintf",[],function(){function e(){var e=/%%|%(\d+\$)?([-+\'#0 ]*)(\*\d+\$|\*|\d+)?(\.(\*\d+\$|\*|\d+))?([scboxXuideEfFgG])/g,t=arguments,r=0,n=t[r++],i=function(e,t,r,n){r||(r=" ");var i=e.length>=t?"":Array(1+t-e.length>>>0).join(r);return n?e+i:i+e},a=function(e,t,r,n,a,o){var s=n-e.length;return s>0&&(e=r||!a?i(e,n,o,r):e.slice(0,t.length)+i("",s,"0",!0)+e.slice(t.length)),e},o=function(e,t,r,n,o,s,u){var l=e>>>0;return r=r&&l&&{2:"0b",8:"0",16:"0x"}[t]||"",e=r+i(l.toString(t),s||0,"0",!1),a(e,r,n,o,u)},s=function(e,t,r,n,i,o){return null!=n&&(e=e.slice(0,n)),a(e,"",t,r,i,o)},u=function(e,n,u,l,c,f,h){var d,m,p,y,v;if("%%"==e)return"%";for(var g=!1,E="",S=!1,C=!1,w=" ",x=u.length,T=0;u&&x>T;T++)switch(u.charAt(T)){case" ":E=" ";break;case"+":E="+";break;case"-":g=!0;break;case"'":w=u.charAt(T+1);break;case"0":S=!0;break;case"#":C=!0}if(l=l?"*"==l?+t[r++]:"*"==l.charAt(0)?+t[l.slice(1,-1)]:+l:0,0>l&&(l=-l,g=!0),!isFinite(l))throw new Error("sprintf: (minimum-)width must be finite");switch(f=f?"*"==f?+t[r++]:"*"==f.charAt(0)?+t[f.slice(1,-1)]:+f:"fFeE".indexOf(h)>-1?6:"d"==h?0:void 0,v=n?t[n.slice(0,-1)]:t[r++],h){case"s":return s(String(v),g,l,f,S,w);case"c":return s(String.fromCharCode(+v),g,l,f,S);case"b":return o(v,2,C,g,l,f,S);case"o":return o(v,8,C,g,l,f,S);case"x":return o(v,16,C,g,l,f,S);case"X":return o(v,16,C,g,l,f,S).toUpperCase();case"u":return o(v,10,C,g,l,f,S);case"i":case"d":return d=+v||0,d=Math.round(d-d%1),m=0>d?"-":E,v=m+i(String(Math.abs(d)),f,"0",!1),a(v,m,g,l,S);case"e":case"E":case"f":case"F":case"g":case"G":return d=+v,m=0>d?"-":E,p=["toExponential","toFixed","toPrecision"]["efg".indexOf(h.toLowerCase())],y=["toString","toUpperCase"]["eEfFgG".indexOf(h)%2],v=m+Math.abs(d)[p](f),a(v,m,g,l,S)[y]();default:return e}};return n.replace(e,u)}return e}),define("Core/JulianDate",["./DeveloperError","./binarySearch","./defined","./defaultValue","./TimeConstants","./LeapSecond","./TimeStandard","./isLeapYear","../ThirdParty/sprintf"],function(e,t,r,n,i,a,o,s,u){"use strict";function l(e){v.julianDate=e;var r=a.getLeapSeconds(),n=t(r,v,a.compareLeapSecondDate);0>n&&(n=~n),n>=r.length&&(n=r.length-1);var i=r[n].offset;if(n>0){var o=e.getSecondsDifference(r[n].julianDate);o>i&&(n--,i=r[n].offset)}e.addSeconds(i,e)}function c(e,r){v.julianDate=e;var n=a.getLeapSeconds(),i=t(n,v,a.compareLeapSecondDate);if(0>i&&(i=~i),0===i)return e.addSeconds(-n[0].offset,r);if(i>=n.length)return e.addSeconds(-n[i-1].offset,r);var o=e.getSecondsDifference(n[i].julianDate);return 0===o?e.addSeconds(-n[i].offset,r):1>=o?void 0:e.addSeconds(-n[--i].offset,r)}function f(e,t,n){var a=0|t/i.SECONDS_PER_DAY;return e+=a,t-=i.SECONDS_PER_DAY*a,0>t&&(e--,t+=i.SECONDS_PER_DAY),r(n)?(n._julianDayNumber=e,n._secondsOfDay=t,n):new _(e,t,o.TAI)}function h(e,t,r,n,a,o,s){var u=0|(t-14)/12,l=e+4800+u,c=(0|1461*l/4)+(0|367*(t-2-12*u)/12)-(0|3*((l+100)/100)/4)+r-32075;n-=12,0>n&&(n+=24);var f=o+(n*i.SECONDS_PER_HOUR+a*i.SECONDS_PER_MINUTE+s*i.SECONDS_PER_MILLISECOND);return f>=43200&&(c-=1),[c,f]}function d(e){return h(e.getUTCFullYear(),e.getUTCMonth()+1,e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds())}var m=function(e,t,r,n,i,a,o,s){this.year=e,this.month=t,this.day=r,this.hour=n,this.minute=i,this.second=a,this.millisecond=o,this.isLeapSecond=s},p=[31,28,31,30,31,30,31,31,30,31,30,31],y=29,v={julianDate:void 0},g=/^(\d{4})$/,E=/^(\d{4})-(\d{2})$/,S=/^(\d{4})-?(\d{3})$/,C=/^(\d{4})-?W(\d{2})-?(\d{1})?$/,w=/^(\d{4})-?(\d{2})-?(\d{2})$/,x=/([Z+\-])?(\d{2})?:?(\d{2})?$/,T=/^(\d{2})(\.\d+)?/.source+x.source,O=/^(\d{2}):?(\d{2})(\.\d+)?/.source+x.source,A=/^(\d{2}):?(\d{2}):?(\d{2})(\.\d+)?/.source+x.source,M="Valid ISO 8601 date string required.",_=function(e,t,a){this._julianDayNumber=void 0,this._secondsOfDay=void 0;var s,u;if(r(e)||r(t)||r(a))a=n(a,o.UTC),s=0|e,u=t+(e-s)*i.SECONDS_PER_DAY;else{var c=new Date,h=d(c);s=h[0],u=h[1],a=o.UTC}f(s,u,this),a===o.UTC&&l(this)};_.clone=function(e,t){return r(e)?r(t)?(t._julianDayNumber=e._julianDayNumber,t._secondsOfDay=e._secondsOfDay,t):new _(e._julianDayNumber,e._secondsOfDay,o.TAI):void 0},_.fromDate=function(e,t){var r=d(e);return new _(r[0],r[1],t)},_.fromIso8601=function(t){t=t.replace(",",".");var n,i,a,u=t.split("T"),l=1,c=1,f=0,d=0,m=0,v=0,x=u[0],D=u[1];if(!r(x))throw new e(M);var b;if(u=x.match(w),null!==u){if(b=x.split("-").length-1,b>0&&2!==b)throw new e(M);n=+u[1],l=+u[2],c=+u[3]}else if(u=x.match(E),null!==u)n=+u[1],l=+u[2];else if(u=x.match(g),null!==u)n=+u[1];else{var I;if(u=x.match(S),null!==u){if(n=+u[1],I=+u[2],a=s(n),1>I||a&&I>366||!a&&I>365)throw new e(M)}else{if(u=x.match(C),null===u)throw new e(M);n=+u[1];var N=+u[2],P=+u[3]||0;if(b=x.split("-").length-1,b>0&&(!r(u[3])&&1!==b||r(u[3])&&2!==b))throw new e(M);var R=new Date(Date.UTC(n,0,4));I=7*N+P-R.getUTCDay()-3}i=new Date(Date.UTC(n,0,1)),i.setUTCDate(I),l=i.getUTCMonth()+1,c=i.getUTCDate()}if(a=s(n),1>l||l>12||1>c||(2!==l||!a)&&c>p[l-1]||a&&2===l&&c>y)throw new e(M);var z;if(r(D)){if(u=D.match(A),null!==u){if(b=D.split(":").length-1,b>0&&2!==b&&3!==b)throw new e(M);f=+u[1],d=+u[2],m=+u[3],v=1e3*+(u[4]||0),z=5}else if(u=D.match(O),null!==u){if(b=D.split(":").length-1,b>0&&1!==b)throw new e(M);f=+u[1],d=+u[2],m=60*+(u[3]||0),z=4}else{if(u=D.match(T),null===u)throw new e(M);f=+u[1],d=60*+(u[2]||0),z=3}if(d>=60||m>=61||f>24||24===f&&(d>0||m>0||v>0))throw new e(M);var L=u[z],F=+u[z+1],U=+(u[z+2]||0);switch(L){case"+":f-=F,d-=U;break;case"-":f+=F,d+=U;break;case"Z":break;default:d+=new Date(Date.UTC(n,l-1,c,f,d)).getTimezoneOffset()}}else d+=new Date(Date.UTC(n,l-1,c)).getTimezoneOffset();var B=60===m;for(B&&m--;d>=60;)d-=60,f++;for(;f>=24;)f-=24,c++;for(i=a&&2===l?y:p[l-1];c>i;)c-=i,l++,l>12&&(l-=12,n++),i=a&&2===l?y:p[l-1];for(;0>d;)d+=60,f--;for(;0>f;)f+=24,c--;for(;1>c;)l--,1>l&&(l+=12,n--),i=a&&2===l?y:p[l-1],c+=i;var q=h(n,l,c,f,d,m,v),G=new _(q[0],q[1],o.UTC);return B&&G.addSeconds(1,G),G},_.fromTotalDays=function(e,t){return new _(e,0,t)},_.compare=function(e,t){var r=e._julianDayNumber-t._julianDayNumber;return 0!==r?r:e._secondsOfDay-t._secondsOfDay},_.equals=function(e,t){return e===t||r(e)&&r(t)&&e._julianDayNumber===t._julianDayNumber&&e._secondsOfDay===t._secondsOfDay},_.equalsEpsilon=function(e,t,r){return Math.abs(e.getSecondsDifference(t))<=r},_.prototype.clone=function(e){return _.clone(this,e)},_.prototype.getTotalDays=function(){return this._julianDayNumber+this._secondsOfDay/i.SECONDS_PER_DAY},_.prototype.getJulianDayNumber=function(){return this._julianDayNumber},_.prototype.getJulianTimeFraction=function(){return this._secondsOfDay/i.SECONDS_PER_DAY},_.prototype.getSecondsOfDay=function(){return this._secondsOfDay +};var D=new _(0,0,o.TAI);return _.prototype.toGregorianDate=function(){var e=!1,t=c(this,D);r(t)||(this.addSeconds(-1,D),t=c(D,D),e=!0);var n=t._julianDayNumber,a=t._secondsOfDay;a>=43200&&(n+=1);var o=0|n+68569,s=0|4*o/146097;o=0|o-(0|(146097*s+3)/4);var u=0|4e3*(o+1)/1461001;o=0|o-(0|1461*u/4)+31;var l=0|80*o/2447,f=0|o-(0|2447*l/80);o=0|l/11;var h=0|l+2-12*o,d=0|100*(s-49)+u+o,p=0|a/i.SECONDS_PER_HOUR,y=a-p*i.SECONDS_PER_HOUR,v=0|y/i.SECONDS_PER_MINUTE;y-=v*i.SECONDS_PER_MINUTE;var g=0|y,E=(y-g)/i.SECONDS_PER_MILLISECOND;return p+=12,p>23&&(p-=24),e&&(g+=1),new m(d,h,f,p,v,g,E,e)},_.prototype.toDate=function(){var e=this.toGregorianDate(),t=e.second;return e.isLeapSecond&&(t-=1),new Date(Date.UTC(e.year,e.month-1,e.day,e.hour,e.minute,t,e.millisecond))},_.prototype.toIso8601=function(e){var t,n=this.toGregorianDate();return r(e)||0===n.millisecond?r(e)&&0!==e?(t=(.01*n.millisecond).toFixed(e).replace(".","").slice(0,e),u("%04d-%02d-%02dT%02d:%02d:%02d.%sZ",n.year,n.month,n.day,n.hour,n.minute,n.second,t)):u("%04d-%02d-%02dT%02d:%02d:%02dZ",n.year,n.month,n.day,n.hour,n.minute,n.second):(t=(.01*n.millisecond).toString().replace(".",""),u("%04d-%02d-%02dT%02d:%02d:%02d.%sZ",n.year,n.month,n.day,n.hour,n.minute,n.second,t))},_.prototype.getSecondsDifference=function(e){var t=this,r=e,n=(r._julianDayNumber-t._julianDayNumber)*i.SECONDS_PER_DAY;return n+(r._secondsOfDay-t._secondsOfDay)},_.prototype.getMinutesDifference=function(e){return this.getSecondsDifference(e)/i.SECONDS_PER_MINUTE},_.prototype.getDaysDifference=function(e){var t=this,r=e,n=r._julianDayNumber-t._julianDayNumber,a=(r._secondsOfDay-t._secondsOfDay)/i.SECONDS_PER_DAY;return n+a},_.prototype.getTaiMinusUtc=function(){v.julianDate=this;var e=a.getLeapSeconds(),r=t(e,v,a.compareLeapSecondDate);return 0>r&&(r=~r,--r,0>r&&(r=0)),e[r].offset},_.prototype.addSeconds=function(e,t){return f(this._julianDayNumber,this._secondsOfDay+e,t)},_.prototype.addMinutes=function(e){var t=this._secondsOfDay+e*i.SECONDS_PER_MINUTE;return new _(this._julianDayNumber,t,o.TAI)},_.prototype.addHours=function(e){var t=this._secondsOfDay+e*i.SECONDS_PER_HOUR;return new _(this._julianDayNumber,t,o.TAI)},_.prototype.addDays=function(e){var t=this._julianDayNumber+e;return new _(t,this._secondsOfDay,o.TAI)},_.prototype.lessThan=function(e){return _.compare(this,e)<0},_.prototype.lessThanOrEquals=function(e){return _.compare(this,e)<=0},_.prototype.greaterThan=function(e){return _.compare(this,e)>0},_.prototype.greaterThanOrEquals=function(e){return _.compare(this,e)>=0},_.prototype.compareTo=function(e){return _.compare(this,e)},_.prototype.equals=function(e){return _.equals(this,e)},_.prototype.equalsEpsilon=function(e,t){return _.equalsEpsilon(this,e,t)},0===a._leapSeconds.length&&(a._leapSeconds=[new a(new _(2441317,43210,o.TAI),10),new a(new _(2441499,43211,o.TAI),11),new a(new _(2441683,43212,o.TAI),12),new a(new _(2442048,43213,o.TAI),13),new a(new _(2442413,43214,o.TAI),14),new a(new _(2442778,43215,o.TAI),15),new a(new _(2443144,43216,o.TAI),16),new a(new _(2443509,43217,o.TAI),17),new a(new _(2443874,43218,o.TAI),18),new a(new _(2444239,43219,o.TAI),19),new a(new _(2444786,43220,o.TAI),20),new a(new _(2445151,43221,o.TAI),21),new a(new _(2445516,43222,o.TAI),22),new a(new _(2446247,43223,o.TAI),23),new a(new _(2447161,43224,o.TAI),24),new a(new _(2447892,43225,o.TAI),25),new a(new _(2448257,43226,o.TAI),26),new a(new _(2448804,43227,o.TAI),27),new a(new _(2449169,43228,o.TAI),28),new a(new _(2449534,43229,o.TAI),29),new a(new _(2450083,43230,o.TAI),30),new a(new _(2450630,43231,o.TAI),31),new a(new _(2451179,43232,o.TAI),32),new a(new _(2453736,43233,o.TAI),33),new a(new _(2454832,43234,o.TAI),34),new a(new _(2456109,43235,o.TAI),35)]),_}),define("Core/clone",["./defaultValue"],function(e){"use strict";var t=function(r,n){if(null===r||"object"!=typeof r)return r;n=e(n,!1);var i=new r.constructor;for(var a in r)if(r.hasOwnProperty(a)){var o=r[a];n&&(o=t(o,n)),i[a]=o}return i};return t}),define("Core/parseResponseHeaders",[],function(){"use strict";var e=function(e){var t={};if(!e)return t;for(var r=e.split("\r\n"),n=0;n0){var o=i.substring(0,a),s=i.substring(a+2);t[o]=s}}return t};return e}),define("Core/RequestErrorEvent",["./defined","./parseResponseHeaders"],function(e,t){"use strict";var r=function(e,r,n){this.statusCode=e,this.response=r,this.responseHeaders=n,"string"==typeof this.responseHeaders&&(this.responseHeaders=t(this.responseHeaders))};return r.prototype.toString=function(){var t="Request has failed.";return e(this.statusCode)&&(t+=" Status Code: "+this.statusCode),t},r}),function(e){"use strict";e("ThirdParty/when",[],function(){function e(e,r,n,i){return t(e).then(r,n,i)}function t(e){var t,r;return e instanceof n?t=e:s(e)?(r=o(),e.then(function(e){r.resolve(e)},function(e){r.reject(e)},function(e){r.progress(e)}),t=r.promise):t=i(e),t}function r(t){return e(t,a)}function n(e){this.then=e}function i(e){var r=new n(function(r){try{return t(r?r(e):e)}catch(n){return a(n)}});return r}function a(e){var r=new n(function(r,n){try{return n?t(n(e)):a(e)}catch(i){return a(i)}});return r}function o(){function e(e,t,r){return h(e,t,r)}function r(e){return m(e)}function i(e){return m(a(e))}function s(e){return d(e)}var u,l,c,f,h,d,m;return l=new n(e),u={then:e,resolve:r,reject:i,progress:s,promise:l,resolver:{resolve:r,reject:i,progress:s}},c=[],f=[],h=function(e,t,r){var n,i;return n=o(),i="function"==typeof r?function(e){try{n.progress(r(e))}catch(t){n.progress(t)}}:function(e){n.progress(e)},c.push(function(r){r.then(e,t).then(n.resolve,n.reject,i)}),f.push(i),n.promise},d=function(e){return p(f,e),e},m=function(e){return e=t(e),h=e.then,m=t,d=v,p(c,e),f=c=C,e},u}function s(e){return e&&"function"==typeof e.then}function u(t,r,n,i,a){return y(2,arguments),e(t,function(t){function s(e){p(e)}function u(e){m(e)}var l,c,f,h,d,m,p,y,g,E;if(g=t.length>>>0,l=Math.max(0,Math.min(r,g)),f=[],c=g-l+1,h=[],d=o(),l)for(y=d.progress,p=function(e){h.push(e),--c||(m=p=v,d.reject(h))},m=function(e){f.push(e),--l||(m=p=v,d.resolve(f))},E=0;g>E;++E)E in t&&e(t[E],u,s,y);else d.resolve(f);return d.then(n,i,a)})}function l(e,t,r,n){function i(e){return t?t(e[0]):e[0]}return u(e,1,i,r,n)}function c(e,t,r,n){return y(1,arguments),h(e,g).then(t,r,n)}function f(){return h(arguments,g)}function h(t,r){return e(t,function(t){var n,i,a,s,u,l;if(a=i=t.length>>>0,n=[],l=o(),a)for(s=function(t,i){e(t,r).then(function(e){n[i]=e,--a||l.resolve(n)},l.reject)},u=0;i>u;u++)u in t?s(t[u],u):--a;else l.resolve(n);return l.promise})}function d(t,r){var n=S.call(arguments,1);return e(t,function(t){var i;return i=t.length,n[0]=function(t,n,a){return e(t,function(t){return e(n,function(e){return r(t,e,a,i)})})},E.apply(t,n)})}function m(t,r,n){var i=arguments.length>2;return e(t,function(e){return e=i?n:e,r.resolve(e),e},function(e){return r.reject(e),a(e)},r.progress)}function p(e,t){for(var r,n=0;r=e[n++];)r(t)}function y(e,t){for(var r,n=t.length;n>e;)if(r=t[--n],null!=r&&"function"!=typeof r)throw new Error("arg "+n+" must be a function")}function v(){}function g(e){return e}var E,S,C;return e.defer=o,e.resolve=t,e.reject=r,e.join=f,e.all=c,e.map=h,e.reduce=d,e.any=l,e.some=u,e.chain=m,e.isPromise=s,n.prototype={always:function(e,t){return this.then(e,e,t)},otherwise:function(e){return this.then(C,e)},yield:function(e){return this.then(function(){return e})},spread:function(e){return this.then(function(t){return c(t,function(t){return e.apply(C,t)})})}},S=[].slice,E=[].reduce||function(e){var t,r,n,i,a;if(a=0,t=Object(this),i=t.length>>>0,r=arguments,r.length<=1)for(;;){if(a in t){n=t[a++];break}if(++a>=i)throw new TypeError}else n=r[1];for(;i>a;++a)a in t&&(n=e(n,t[a],a,t));return n},e})}("function"==typeof define&&define.amd?define:function(e){"object"==typeof exports?module.exports=e():this.when=e()}),define("Core/loadWithXhr",["./defined","./defaultValue","./DeveloperError","./RequestErrorEvent","../ThirdParty/when"],function(e,t,r,n,i){"use strict";var a=function(e){e=t(e,t.EMPTY_OBJECT);var r=e.responseType,n=t(e.method,"GET"),o=e.data,s=e.headers;return i(e.url,function(e){var t=i.defer();return a.load(e,r,n,o,s,t),t.promise})};return a.load=function(t,r,i,a,o,s){var u=new XMLHttpRequest;if(u.open(i,t,!0),e(o))for(var l in o)o.hasOwnProperty(l)&&u.setRequestHeader(l,o[l]);e(r)&&(u.responseType=r),u.onload=function(){200===u.status?s.resolve(u.response):s.reject(new n(u.status,u.response,u.getAllResponseHeaders()))},u.onerror=function(){s.reject(new n)},u.send(a)},a.defaultLoad=a.load,a}),define("Core/loadText",["./loadWithXhr"],function(e){"use strict";var t=function(t,r){return e({url:t,headers:r})};return t}),define("Core/loadJson",["./clone","./defined","./loadText","./DeveloperError"],function(e,t,r){"use strict";var n={Accept:"application/json,*/*;q=0.01"},i=function(i,a){return t(a)?t(a.Accept)||(a=e(a),a.Accept=n.Accept):a=n,r(i,a).then(function(e){return JSON.parse(e)})};return i}),define("Core/Iau2006XysData",["./buildModuleUrl","./defaultValue","./defined","./Iau2006XysSample","./JulianDate","./loadJson","./TimeStandard","../ThirdParty/when"],function(e,t,r,n,i,a,o,s){"use strict";function u(e,t,r){var n=f;return n._julianDayNumber=t,n._secondsOfDay=r,e._sampleZeroDateTT.getDaysDifference(n)}function l(t,n){if(t._chunkDownloadsInProgress[n])return t._chunkDownloadsInProgress[n];var i=s.defer();t._chunkDownloadsInProgress[n]=i;var o,u=t._xysFileUrlTemplate;return o=r(u)?u.replace("{0}",n):e("Assets/IAU2006_XYS/IAU2006_XYS_"+n+".json"),s(a(o),function(e){t._chunkDownloadsInProgress[n]=!1;for(var r=t._samples,a=e.samples,o=3*n*t._samplesPerXysFile,s=0,u=a.length;u>s;++s)r[o+s]=a[s];i.resolve()}),i.promise}var c=function(e){e=t(e,t.EMPTY_OBJECT),this._xysFileUrlTemplate=e.xysFileUrlTemplate,this._interpolationOrder=t(e.interpolationOrder,9),this._sampleZeroJulianEphemerisDate=t(e.sampleZeroJulianEphemerisDate,2442396.5),this._sampleZeroDateTT=new i(this._sampleZeroJulianEphemerisDate,0,o.TAI),this._stepSizeDays=t(e.stepSizeDays,1),this._samplesPerXysFile=t(e.samplesPerXysFile,1e3),this._totalSamples=t(e.totalSamples,27426),this._samples=new Array(3*this._totalSamples),this._chunkDownloadsInProgress=[];for(var r=this._interpolationOrder,n=this._denominators=new Array(r+1),a=this._xTable=new Array(r+1),s=Math.pow(this._stepSizeDays,r),u=0;r>=u;++u){n[u]=s,a[u]=u*this._stepSizeDays;for(var l=0;r>=l;++l)l!==u&&(n[u]*=u-l);n[u]=1/n[u]}this._work=new Array(r+1),this._coef=new Array(r+1)},f=new i(0,0,o.TAI);return c.prototype.preload=function(e,t,r,n){var i=u(this,e,t),a=u(this,r,n),o=0|i/this._stepSizeDays-this._interpolationOrder/2;0>o&&(o=0);var c=a/this._stepSizeDays-this._interpolationOrder/2|0+this._interpolationOrder;c>=this._totalSamples&&(c=this._totalSamples-1);for(var f=0|o/this._samplesPerXysFile,h=0|c/this._samplesPerXysFile,d=[],m=f;h>=m;++m)d.push(l(this,m));return s.all(d)},c.prototype.computeXysRadians=function(e,t,i){var a=u(this,e,t);if(0>a)return void 0;var o=0|a/this._stepSizeDays;if(o>=this._totalSamples)return void 0;var s=this._interpolationOrder,c=o-(0|s/2);0>c&&(c=0);var f=c+s;f>=this._totalSamples&&(f=this._totalSamples-1,c=f-s,0>c&&(c=0));var h=!1,d=this._samples;if(r(d[3*c])||(l(this,0|c/this._samplesPerXysFile),h=!0),r(d[3*f])||(l(this,0|f/this._samplesPerXysFile),h=!0),h)return void 0;r(i)?(i.x=0,i.y=0,i.s=0):i=new n(0,0,0);var m,p,y=a-c*this._stepSizeDays,v=this._work,g=this._denominators,E=this._coef,S=this._xTable;for(m=0;s>=m;++m)v[m]=y-S[m];for(m=0;s>=m;++m){for(E[m]=1,p=0;s>=p;++p)p!==m&&(E[m]*=v[p]);E[m]*=g[m];var C=3*(c+m);i.x+=E[m]*d[C++],i.y+=E[m]*d[C++],i.s+=E[m]*d[C]}return i},c}),define("Core/Cartesian2",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,t,r,n){"use strict";var i=function(t,r){this.x=e(t,0),this.y=e(r,0)};i.fromElements=function(e,r,n){return t(n)?(n.x=e,n.y=r,n):new i(e,r)},i.clone=function(e,r){return t(e)?t(r)?(r.x=e.x,r.y=e.y,r):new i(e.x,e.y):void 0},i.fromCartesian3=i.clone,i.fromCartesian4=i.clone,i.packedLength=2,i.pack=function(t,r,n){n=e(n,0),r[n++]=t.x,r[n]=t.y},i.unpack=function(r,n,a){return n=e(n,0),t(a)||(a=new i),a.x=r[n++],a.y=r[n],a},i.fromArray=i.unpack,i.getMaximumComponent=function(e){return Math.max(e.x,e.y)},i.getMinimumComponent=function(e){return Math.min(e.x,e.y)},i.getMinimumByComponent=function(e,r,n){return t(n)||(n=new i),n.x=Math.min(e.x,r.x),n.y=Math.min(e.y,r.y),n},i.getMaximumByComponent=function(e,r,n){return t(n)||(n=new i),n.x=Math.max(e.x,r.x),n.y=Math.max(e.y,r.y),n},i.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y},i.magnitude=function(e){return Math.sqrt(i.magnitudeSquared(e))};var a=new i;i.distance=function(e,t){return i.subtract(e,t,a),i.magnitude(a)},i.normalize=function(e,r){var n=i.magnitude(e);return t(r)?(r.x=e.x/n,r.y=e.y/n,r):new i(e.x/n,e.y/n)},i.dot=function(e,t){return e.x*t.x+e.y*t.y},i.multiplyComponents=function(e,r,n){return t(n)?(n.x=e.x*r.x,n.y=e.y*r.y,n):new i(e.x*r.x,e.y*r.y)},i.add=function(e,r,n){return t(n)?(n.x=e.x+r.x,n.y=e.y+r.y,n):new i(e.x+r.x,e.y+r.y)},i.subtract=function(e,r,n){return t(n)?(n.x=e.x-r.x,n.y=e.y-r.y,n):new i(e.x-r.x,e.y-r.y)},i.multiplyByScalar=function(e,r,n){return t(n)?(n.x=e.x*r,n.y=e.y*r,n):new i(e.x*r,e.y*r)},i.divideByScalar=function(e,r,n){return t(n)?(n.x=e.x/r,n.y=e.y/r,n):new i(e.x/r,e.y/r)},i.negate=function(e,r){return t(r)?(r.x=-e.x,r.y=-e.y,r):new i(-e.x,-e.y)},i.abs=function(e,r){return t(r)?(r.x=Math.abs(e.x),r.y=Math.abs(e.y),r):new i(Math.abs(e.x),Math.abs(e.y))};var o=new i;i.lerp=function(e,t,r,n){return i.multiplyByScalar(t,r,o),n=i.multiplyByScalar(e,1-r,n),i.add(o,n,n)};var s=new i,u=new i;i.angleBetween=function(e,t){return i.normalize(e,s),i.normalize(t,u),Math.acos(i.dot(s,u))};var l=new i;return i.mostOrthogonalAxis=function(e,t){var r=i.normalize(e,l);return i.abs(r,r),t=r.x<=r.y?i.clone(i.UNIT_X,t):i.clone(i.UNIT_Y,t)},i.equals=function(e,r){return e===r||t(e)&&t(r)&&e.x===r.x&&e.y===r.y},i.equalsEpsilon=function(e,r,n){return e===r||t(e)&&t(r)&&Math.abs(e.x-r.x)<=n&&Math.abs(e.y-r.y)<=n},i.ZERO=n(new i(0,0)),i.UNIT_X=n(new i(1,0)),i.UNIT_Y=n(new i(0,1)),i.prototype.clone=function(e){return i.clone(this,e)},i.prototype.equals=function(e){return i.equals(this,e)},i.prototype.equalsEpsilon=function(e,t){return i.equalsEpsilon(this,e,t)},i.prototype.toString=function(){return"("+this.x+", "+this.y+")"},i}),define("Core/EarthOrientationParametersSample",[],function(){"use strict";var e=function(e,t,r,n,i){this.xPoleWander=e,this.yPoleWander=t,this.xPoleOffset=r,this.yPoleOffset=n,this.ut1MinusUtc=i};return e}),define("Core/EarthOrientationParameters",["./binarySearch","./defaultValue","./defined","./EarthOrientationParametersSample","./freezeObject","./loadJson","./JulianDate","./LeapSecond","./RuntimeError","./TimeConstants","./TimeStandard","../ThirdParty/when"],function(e,t,r,n,i,a,o,s,u,l,c,f){"use strict";function h(e,t){return o.compare(e.julianDate,t)}function d(t,n){if(!r(n.columnNames))return t._dataError="Error in loaded EOP data: The columnNames property is required.",void 0;if(!r(n.samples))return t._dataError="Error in loaded EOP data: The samples property is required.",void 0;var i=n.columnNames.indexOf("modifiedJulianDateUtc"),a=n.columnNames.indexOf("xPoleWanderRadians"),u=n.columnNames.indexOf("yPoleWanderRadians"),f=n.columnNames.indexOf("ut1MinusUtcSeconds"),d=n.columnNames.indexOf("xCelestialPoleOffsetRadians"),m=n.columnNames.indexOf("yCelestialPoleOffsetRadians"),p=n.columnNames.indexOf("taiMinusUtcSeconds");if(0>i||0>a||0>u||0>f||0>d||0>m||0>p)return t._dataError="Error in loaded EOP data: The columnNames property must include modifiedJulianDateUtc, xPoleWanderRadians, yPoleWanderRadians, ut1MinusUtcSeconds, xCelestialPoleOffsetRadians, yCelestialPoleOffsetRadians, and taiMinusUtcSeconds columns",void 0;var y=t._samples=n.samples,v=t._dates=[];t._dateColumn=i,t._xPoleWanderRadiansColumn=a,t._yPoleWanderRadiansColumn=u,t._ut1MinusUtcSecondsColumn=f,t._xCelestialPoleOffsetRadiansColumn=d,t._yCelestialPoleOffsetRadiansColumn=m,t._taiMinusUtcSecondsColumn=p,t._columnCount=n.columnNames.length,t._lastIndex=void 0;for(var g,E=t._addNewLeapSeconds,S=0,C=y.length;C>S;S+=t._columnCount){var w=y[S+i],x=y[S+p],T=w+l.MODIFIED_JULIAN_DATE_DIFFERENCE,O=new o(T,x,c.TAI);if(v.push(O),E){if(x!==g&&r(g)){var A=s.getLeapSeconds(),M=e(A,O,h);if(0>M){var _=new s(O,x);A.splice(~M,0,_)}}g=x}}}function m(e,t,r,n,i){var a=r*n;i.xPoleWander=t[a+e._xPoleWanderRadiansColumn],i.yPoleWander=t[a+e._yPoleWanderRadiansColumn],i.xPoleOffset=t[a+e._xCelestialPoleOffsetRadiansColumn],i.yPoleOffset=t[a+e._yCelestialPoleOffsetRadiansColumn],i.ut1MinusUtc=t[a+e._ut1MinusUtcSecondsColumn]}function p(e,t,r){return t+e*(r-t)}function y(e,t,r,n,i,a,o){var s=e._columnCount;if(a>t.length-1)return o.xPoleWander=0,o.yPoleWander=0,o.xPoleOffset=0,o.yPoleOffset=0,o.ut1MinusUtc=0,o;var u=t[i],l=t[a];if(u.equals(l)||n.equals(u))return m(e,r,i,s,o),o;if(n.equals(l))return m(e,r,a,s,o),o;var c=u.getSecondsDifference(n)/u.getSecondsDifference(l),f=i*s,h=a*s,d=r[f+e._ut1MinusUtcSecondsColumn],y=r[h+e._ut1MinusUtcSecondsColumn],v=y-d;if(v>.5||-.5>v){var g=r[f+e._taiMinusUtcSecondsColumn],E=r[h+e._taiMinusUtcSecondsColumn];g!==E&&(l.equals(n)?d=y:y-=E-g)}return o.xPoleWander=p(c,r[f+e._xPoleWanderRadiansColumn],r[h+e._xPoleWanderRadiansColumn]),o.yPoleWander=p(c,r[f+e._yPoleWanderRadiansColumn],r[h+e._yPoleWanderRadiansColumn]),o.xPoleOffset=p(c,r[f+e._xCelestialPoleOffsetRadiansColumn],r[h+e._xCelestialPoleOffsetRadiansColumn]),o.yPoleOffset=p(c,r[f+e._yCelestialPoleOffsetRadiansColumn],r[h+e._yCelestialPoleOffsetRadiansColumn]),o.ut1MinusUtc=p(c,d,y),o}var v=function(e){if(e=t(e,t.EMPTY_OBJECT),this._dates=void 0,this._samples=void 0,this._dateColumn=-1,this._xPoleWanderRadiansColumn=-1,this._yPoleWanderRadiansColumn=-1,this._ut1MinusUtcSecondsColumn=-1,this._xCelestialPoleOffsetRadiansColumn=-1,this._yCelestialPoleOffsetRadiansColumn=-1,this._taiMinusUtcSecondsColumn=-1,this._columnCount=0,this._lastIndex=-1,this._downloadPromise=void 0,this._dataError=void 0,this._addNewLeapSeconds=t(e.addNewLeapSeconds,!0),r(e.data))d(this,e.data);else if(r(e.url)){var n=this;this._downloadPromise=f(a(e.url),function(e){d(n,e)},function(){n._dataError="An error occurred while retrieving the EOP data from the URL "+e.url+"."})}else d(this,{columnNames:["dateIso8601","modifiedJulianDateUtc","xPoleWanderRadians","yPoleWanderRadians","ut1MinusUtcSeconds","lengthOfDayCorrectionSeconds","xCelestialPoleOffsetRadians","yCelestialPoleOffsetRadians","taiMinusUtcSeconds"],samples:[]})};return v.NONE=i({getPromiseToLoad:function(){return f()},compute:function(e,t){return r(t)?(t.xPoleWander=0,t.yPoleWander=0,t.xPoleOffset=0,t.yPoleOffset=0,t.ut1MinusUtc=0):t=new n(0,0,0,0,0),t}}),v.prototype.getPromiseToLoad=function(){return f(this._downloadPromise)},v.prototype.compute=function(t,i){if(!r(this._samples)){if(r(this._dataError))throw new u(this._dataError);return void 0}if(r(i)||(i=new n(0,0,0,0,0)),0===this._samples.length)return i.xPoleWander=0,i.yPoleWander=0,i.xPoleOffset=0,i.yPoleOffset=0,i.ut1MinusUtc=0,i;var a=this._dates,s=this._lastIndex,l=0,c=0;if(r(s)){var f=a[s],h=a[s+1],d=f.lessThanOrEquals(t),m=!r(h),p=m||h.greaterThanOrEquals(t);if(d&&p)return l=s,!m&&h.equals(t)&&++l,c=l+1,y(this,a,this._samples,t,l,c,i),i}var v=e(a,t,o.compare,this._dateColumn);return v>=0?(vl&&(l=0)),this._lastIndex=l,y(this,a,this._samples,t,l,c,i),i},v}),define("Core/Transforms",["./defaultValue","./defined","./DeveloperError","./Iau2006XysData","./Iau2006XysSample","./Math","./Matrix3","./Matrix4","./Cartesian2","./Cartesian3","./Cartesian4","./TimeConstants","./Ellipsoid","./EarthOrientationParameters","./EarthOrientationParametersSample","../ThirdParty/when"],function(e,t,r,n,i,a,o,s,u,l,c,f,h,d,m,p){"use strict";var y={},v=new l,g=new l,E=new l;y.eastNorthUpToFixedFrame=function(r,n,i){if(a.equalsEpsilon(r.x,0,a.EPSILON14)&&a.equalsEpsilon(r.y,0,a.EPSILON14)){var o=a.sign(r.z);return t(i)?(i[0]=0,i[1]=1,i[2]=0,i[3]=0,i[4]=-o,i[5]=0,i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=o,i[11]=0,i[12]=r.x,i[13]=r.y,i[14]=r.z,i[15]=1,i):new s(0,-o,0,r.x,1,0,0,r.y,0,0,o,r.z,0,0,0,1)}var u=v,c=g,f=E;return n=e(n,h.WGS84),n.geodeticSurfaceNormal(r,u),c.x=-r.y,c.y=r.x,c.z=0,l.normalize(c,c),l.cross(u,c,f),t(i)?(i[0]=c.x,i[1]=c.y,i[2]=c.z,i[3]=0,i[4]=f.x,i[5]=f.y,i[6]=f.z,i[7]=0,i[8]=u.x,i[9]=u.y,i[10]=u.z,i[11]=0,i[12]=r.x,i[13]=r.y,i[14]=r.z,i[15]=1,i):new s(c.x,f.x,u.x,r.x,c.y,f.y,u.y,r.y,c.z,f.z,u.z,r.z,0,0,0,1)};var S=new l,C=new l,w=new l;y.northEastDownToFixedFrame=function(r,n,i){if(a.equalsEpsilon(r.x,0,a.EPSILON14)&&a.equalsEpsilon(r.y,0,a.EPSILON14)){var o=a.sign(r.z);return t(i)?(i[0]=-o,i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=1,i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=-o,i[11]=0,i[12]=r.x,i[13]=r.y,i[14]=r.z,i[15]=1,i):new s(-o,0,0,r.x,0,1,0,r.y,0,0,-o,r.z,0,0,0,1)}var u=S,c=C,f=w;return n=e(n,h.WGS84),n.geodeticSurfaceNormal(r,u),c.x=-r.y,c.y=r.x,c.z=0,l.normalize(c,c),l.cross(u,c,f),t(i)?(i[0]=f.x,i[1]=f.y,i[2]=f.z,i[3]=0,i[4]=c.x,i[5]=c.y,i[6]=c.z,i[7]=0,i[8]=-u.x,i[9]=-u.y,i[10]=-u.z,i[11]=0,i[12]=r.x,i[13]=r.y,i[14]=r.z,i[15]=1,i):new s(f.x,c.x,-u.x,r.x,f.y,c.y,-u.y,r.y,f.z,c.z,-u.z,r.z,0,0,0,1)};var x=24110.54841,T=8640184.812866,O=.093104,A=-62e-7,M=1.1772758384668e-19,_=72921158553e-15,D=a.TWO_PI/86400;y.computeTemeToPseudoFixedMatrix=function(e,r){var n,i=e.addSeconds(-e.getTaiMinusUtc()),s=i.getJulianDayNumber(),u=i.getSecondsOfDay(),l=s-2451545;n=u>=43200?(l+.5)/f.DAYS_PER_JULIAN_CENTURY:(l-.5)/f.DAYS_PER_JULIAN_CENTURY;var c=x+n*(T+n*(O+n*A)),h=c*D%a.TWO_PI,d=_+M*(s-2451545.5),m=(u+.5*f.SECONDS_PER_DAY)%f.SECONDS_PER_DAY,p=h+d*m,y=Math.cos(p),v=Math.sin(p);return t(r)?(r[0]=y,r[1]=-v,r[2]=0,r[3]=v,r[4]=y,r[5]=0,r[6]=0,r[7]=0,r[8]=1,r):new o(y,v,0,-v,y,0,0,0,1)},y.iau2006XysData=new n,y.earthOrientationParameters=d.NONE;var b=32.184,I=2451545;y.preloadIcrfFixed=function(e){var t=e.start.getJulianDayNumber(),r=e.start.getSecondsOfDay()+b,n=e.stop.getJulianDayNumber(),i=e.stop.getSecondsOfDay()+b,a=y.iau2006XysData.preload(t,r,n,i),o=y.earthOrientationParameters.getPromiseToLoad();return p.all([a,o])},y.computeIcrfToFixedMatrix=function(e,r){var n=y.computeFixedToIcrfMatrix(e,r);return t(n)?o.transpose(n,r):void 0};var N=new i(0,0,0),P=new m(0,0,0,0,0,0),R=new o,z=new o;y.computeFixedToIcrfMatrix=function(e,r){var n=y.earthOrientationParameters.compute(e,P);if(!t(n))return void 0;var i=e.getJulianDayNumber(),s=e.getSecondsOfDay()+b,u=y.iau2006XysData.computeXysRadians(i,s,N);if(!t(u))return void 0;var l=u.x+n.xPoleOffset,c=u.y+n.yPoleOffset,h=1/(1+Math.sqrt(1-l*l-c*c)),d=R;d[0]=1-h*l*l,d[3]=-h*l*c,d[6]=l,d[1]=-h*l*c,d[4]=1-h*c*c,d[7]=c,d[2]=-l,d[5]=-c,d[8]=1-h*(l*l+c*c);var m=o.fromRotationZ(-u.s,z),p=o.multiply(d,m,R),v=e.getJulianDayNumber(),g=e.getSecondsOfDay()-e.getTaiMinusUtc()+n.ut1MinusUtc,E=v-2451545,S=g/f.SECONDS_PER_DAY,C=.779057273264+S+.00273781191135448*(E+S);C=C%1*a.TWO_PI;var w=o.fromRotationZ(C,z),x=o.multiply(p,w,R),T=Math.cos(n.xPoleWander),O=Math.cos(n.yPoleWander),A=Math.sin(n.xPoleWander),M=Math.sin(n.yPoleWander),_=i-I+s/f.SECONDS_PER_DAY;_/=36525;var D=-47e-6*_*a.RADIANS_PER_DEGREE/3600,L=Math.cos(D),F=Math.sin(D),U=z;return U[0]=T*L,U[1]=T*F,U[2]=A,U[3]=-O*F+M*A*L,U[4]=O*L+M*A*F,U[5]=-M*T,U[6]=-M*F-O*A*L,U[7]=M*L-O*A*F,U[8]=O*T,o.multiply(x,U,r)};var L=new c;return y.pointToWindowCoordinates=function(e,t,r,n){var i=L;return s.multiplyByVector(e,c.fromElements(r.x,r.y,r.z,1,i),i),c.multiplyByScalar(i,1/i.w,i),s.multiplyByVector(t,i,i),u.fromCartesian4(i,n)},y}),define("Core/AxisAlignedBoundingBox",["./defaultValue","./defined","./DeveloperError","./Cartesian3","./Intersect"],function(e,t,r,n,i){"use strict";var a=function(r,i,a){this.minimum=n.clone(e(r,n.ZERO)),this.maximum=n.clone(e(i,n.ZERO)),t(a)?a=n.clone(a):(a=n.add(this.minimum,this.maximum),n.multiplyByScalar(a,.5,a)),this.center=a};a.fromPoints=function(e,r){if(t(r)||(r=new a),!t(e)||0===e.length)return r.minimum=n.clone(n.ZERO,r.minimum),r.maximum=n.clone(n.ZERO,r.maximum),r.center=n.clone(n.ZERO,r.center),r;for(var i=e[0].x,o=e[0].y,s=e[0].z,u=e[0].x,l=e[0].y,c=e[0].z,f=e.length,h=1;f>h;h++){var d=e[h],m=d.x,p=d.y,y=d.z;i=Math.min(m,i),u=Math.max(m,u),o=Math.min(p,o),l=Math.max(p,l),s=Math.min(y,s),c=Math.max(y,c)}var v=r.minimum;v.x=i,v.y=o,v.z=s;var g=r.maximum;g.x=u,g.y=l,g.z=c;var E=n.add(v,g,r.center);return n.multiplyByScalar(E,.5,E),r},a.clone=function(e,r){return t(e)?t(r)?(r.minimum=n.clone(e.minimum,r.minimum),r.maximum=n.clone(e.maximum,r.maximum),r.center=n.clone(e.center,r.center),r):new a(e.minimum,e.maximum):void 0},a.equals=function(e,r){return e===r||t(e)&&t(r)&&n.equals(e.center,r.center)&&n.equals(e.minimum,r.minimum)&&n.equals(e.maximum,r.maximum)};var o=new n;return a.intersect=function(e,t){o=n.subtract(e.maximum,e.minimum,o);var r=n.multiplyByScalar(o,.5,o),a=r.x*Math.abs(t.x)+r.y*Math.abs(t.y)+r.z*Math.abs(t.z),s=n.dot(e.center,t)+t.w;return s-a>0?i.INSIDE:0>s+a?i.OUTSIDE:i.INTERSECTING},a.prototype.clone=function(e){return a.clone(this,e)},a.prototype.intersect=function(e){return a.intersect(this,e)},a.prototype.equals=function(e){return a.equals(this,e)},a}),define("Core/QuadraticRealPolynomial",["./DeveloperError","./Math"],function(e,t){"use strict";function r(e,r,n){var i=e+r;return t.sign(e)!==t.sign(r)&&Math.abs(i/Math.max(Math.abs(e),Math.abs(r)))o&&o/ss&&s/oa)return[];var u=Math.sqrt(a);return[-u,u]}if(0===i)return a=-n/e,0>a?[a,0]:[0,a];var l=n*n,c=4*e*i,f=r(l,-c,t.EPSILON14);if(0>f)return[];var h=-.5*r(n,t.sign(n)*Math.sqrt(f),t.EPSILON14);return n>0?[h/e,i/h]:[i/h,h/e]},n}),define("Core/CubicRealPolynomial",["./DeveloperError","./QuadraticRealPolynomial"],function(e,t){"use strict";function r(e,t,r,n){var i,a,o=e,s=t/3,u=r/3,l=n,c=o*u,f=s*l,h=s*s,d=u*u,m=o*u-h,p=o*l-s*u,y=s*l-d,v=4*m*y-p*p;if(0>v){var g,E,S;h*f>=c*d?(g=o,E=m,S=-2*s*m+o*p):(g=l,E=y,S=-l*p+2*u*y);var C=0>S?-1:1,w=-C*Math.abs(g)*Math.sqrt(-v);a=-S+w;var x=a/2,T=0>x?-Math.pow(-x,1/3):Math.pow(x,1/3),O=a===w?-T:-E/T;return i=0>=E?T+O:-S/(T*T+O*O+E),h*f>=c*d?[(i-s)/o]:[-l/(i+u)]}var A=m,M=-2*s*m+o*p,_=y,D=-l*p+2*u*y,b=Math.sqrt(v),I=Math.sqrt(3)/2,N=Math.abs(Math.atan2(o*b,-M)/3);i=2*Math.sqrt(-A);var P=Math.cos(N);a=i*P;var R=i*(-P/2-I*Math.sin(N)),z=a+R>2*s?a-s:R-s,L=o,F=z/L;N=Math.abs(Math.atan2(l*b,-D)/3),i=2*Math.sqrt(-_),P=Math.cos(N),a=i*P,R=i*(-P/2-I*Math.sin(N));var U=-l,B=2*u>a+R?a+u:R+u,q=U/B,G=L*B,W=-z*B-L*U,Y=z*U,H=(u*W-s*Y)/(-s*W+u*G);return H>=F?q>=F?q>=H?[F,H,q]:[F,q,H]:[q,F,H]:q>=F?[H,F,q]:q>=H?[H,q,F]:[q,H,F]}var n={};return n.discriminant=function(e,t,r,n){var i=e*e,a=t*t,o=r*r,s=n*n,u=18*e*t*r*n+a*o-27*i*s-4*(e*o*r+a*t*n);return u},n.realRoots=function(e,n,i,a){var o,s;if(0===e)return t.realRoots(n,i,a);if(0===n){if(0===i){if(0===a)return[0,0,0];s=-a/e;var u=0>s?-Math.pow(-s,1/3):Math.pow(s,1/3);return[u,u,u]}return 0===a?(o=t.realRoots(e,0,i),0===o.Length?[0]:[o[0],0,o[1]]):r(e,0,i,a)}return 0===i?0===a?(s=-n/e,0>s?[s,0,0]:[0,0,s]):r(e,n,0,a):0===a?(o=t.realRoots(e,n,i),0===o.length?[0]:o[1]<=0?[o[0],o[1],0]:o[0]>=0?[0,o[0],o[1]]:[o[0],0,o[1]]):r(e,n,i,a)},n}),define("Core/QuarticRealPolynomial",["./DeveloperError","./Math","./CubicRealPolynomial","./QuadraticRealPolynomial"],function(e,t,r,n){"use strict";function i(e,i,a,o){var s=e*e,u=i-3*s/8,l=a-i*e/2+s*e/8,c=o-a*e/4+i*s/16-3*s*s/256,f=r.realRoots(1,2*u,u*u-4*c,-l*l);if(f.length>0){var h=-e/4,d=f[f.length-1];if(Math.abs(d)=0&&v>=0){var g=Math.sqrt(y),E=Math.sqrt(v);return[h-E,h-g,h+g,h+E]}if(y>=0&&0>v)return p=Math.sqrt(y),[h-p,h+p];if(0>y&&v>=0)return p=Math.sqrt(v),[h-p,h+p]}return[]}if(d>0){var S=Math.sqrt(d),C=(u+d-l/S)/2,w=(u+d+l/S)/2,x=n.realRoots(1,S,C),T=n.realRoots(1,-S,w);return 0!==x.length?(x[0]+=h,x[1]+=h,0!==T.length?(T[0]+=h,T[1]+=h,x[1]<=T[0]?[x[0],x[1],T[0],T[1]]:T[1]<=x[0]?[T[0],T[1],x[0],x[1]]:x[0]>=T[0]&&x[1]<=T[1]?[T[0],x[0],x[1],T[1]]:T[0]>=x[0]&&T[1]<=x[1]?[x[0],T[0],T[1],x[1]]:x[0]>T[0]&&x[0]0){var m,p,y=d[0],v=i-y,g=v*v,E=e/2,S=v/2,C=g-4*o,w=g+4*Math.abs(o),x=l-4*y,T=l+4*Math.abs(y);if(0>y||x*w>C*T){var O=Math.sqrt(x);m=O/2,p=0===O?0:(e*S-a)/O}else{var A=Math.sqrt(C);m=0===A?0:(e*S-a)/A,p=A/2}var M,_;0===E&&0===m?(M=0,_=0):t.sign(E)===t.sign(m)?(M=E+m,_=y/M):(_=E-m,M=y/_);var D,b;0===S&&0===p?(D=0,b=0):t.sign(S)===t.sign(p)?(D=S+p,b=o/D):(b=S-p,D=o/b);var I=n.realRoots(1,M,D),N=n.realRoots(1,_,b);if(0!==I.length)return 0!==N.length?I[1]<=N[0]?[I[0],I[1],N[0],N[1]]:N[1]<=I[0]?[N[0],N[1],I[0],I[1]]:I[0]>=N[0]&&I[1]<=N[1]?[N[0],I[0],I[1],N[1]]:N[0]>=I[0]&&N[1]<=I[1]?[I[0],N[0],N[1],I[1]]:I[0]>N[0]&&I[0]l?1:0;switch(d+=0>c?d+1:d,d+=0>f?d+1:d,d+=0>h?d+1:d){case 0:return i(l,c,f,h);case 1:return a(l,c,f,h);case 2:return a(l,c,f,h);case 3:return i(l,c,f,h);case 4:return i(l,c,f,h);case 5:return a(l,c,f,h);case 6:return i(l,c,f,h);case 7:return i(l,c,f,h);case 8:return a(l,c,f,h);case 9:return i(l,c,f,h);case 10:return i(l,c,f,h);case 11:return a(l,c,f,h);case 12:return i(l,c,f,h);case 13:return i(l,c,f,h);case 14:return i(l,c,f,h);case 15:return i(l,c,f,h);default:return void 0}},o}),define("Core/IntersectionTests",["./defined","./DeveloperError","./Math","./Cartesian3","./Cartographic","./Matrix3","./QuadraticRealPolynomial","./QuarticRealPolynomial"],function(e,t,r,n,i,a,o,s){"use strict";function u(e,t,n){var i=e+t;return r.sign(e)!==r.sign(t)&&Math.abs(i/Math.max(Math.abs(e),Math.abs(t)))R;++R){var z,L=f[R],F=L*L,U=Math.max(1-F,0),B=Math.sqrt(U);z=r.sign(m)===r.sign(y)?u(m*F+y,p*L,r.EPSILON12):r.sign(y)===r.sign(p*L)?u(m*F,p*L+y,r.EPSILON12):u(m*F+p*L,y,r.EPSILON12);var q=u(v*L,g,r.EPSILON15),G=z*q;0>G?E.push(new n(l,c*L,c*B)):G>0?E.push(new n(l,c*L,c*-B)):0!==B?(E.push(new n(l,c*L,c*-B)),E.push(new n(l,c*L,c*B)),++R):E.push(new n(l,c*L,c*B))}return E}var c={};c.rayPlane=function(e,t,i){var a=e.origin,o=e.direction,s=t.normal,u=n.dot(s,o);if(Math.abs(u)l?void 0:(i=n.multiplyByScalar(o,l,i),n.add(a,i,i))};var f=new n,h=new n;c.rayEllipsoid=function(e,t){var r,i,a,o,s,u=t.oneOverRadii,l=n.multiplyComponents(u,e.origin,f),c=n.multiplyComponents(u,e.direction,h),d=n.magnitudeSquared(l),m=n.dot(l,c); +if(d>1){if(m>=0)return void 0;var p=m*m;if(r=d-1,i=n.magnitudeSquared(c),a=i*r,a>p)return void 0;if(p>a){o=m*m-a,s=-m+Math.sqrt(o);var y=s/i,v=r/s;return v>y?{start:y,stop:v}:{start:v,stop:y}}var g=Math.sqrt(r/i);return{start:g,stop:g}}return 1>d?(r=d-1,i=n.magnitudeSquared(c),a=i*r,o=m*m-a,s=-m+Math.sqrt(o),{start:0,stop:s/i}):0>m?(i=n.magnitudeSquared(c),{start:0,stop:-m/i}):void 0},c.grazingAltitudeLocation=function(t,o){var s=t.origin,u=t.direction,c=o.geodeticSurfaceNormal(s);if(n.dot(u,c)>=0)return s;var f,h,d=e(this.rayEllipsoid(t,o)),m=o.transformPositionToScaledSpace(u),p=n.normalize(m),y=n.mostOrthogonalAxis(m),v=n.normalize(n.cross(y,p)),g=n.normalize(n.cross(p,v)),E=new a(p.x,v.x,g.x,p.y,v.y,g.y,p.z,v.z,g.z),S=a.transpose(E),C=a.fromScale(o.radii),w=a.fromScale(o.oneOverRadii),x=new a(0,u.z,-u.y,-u.z,0,u.x,u.y,-u.x,0),T=a.multiply(a.multiply(S,w),x),O=a.multiply(a.multiply(T,C),E),A=a.multiplyByVector(T,s),M=l(O,n.negate(A),0,0,1),_=M.length;if(_>0){for(var D=n.ZERO,b=Number.NEGATIVE_INFINITY,I=0;_>I;++I){f=a.multiplyByVector(C,a.multiplyByVector(E,M[I]));var N=n.normalize(n.subtract(f,s)),P=n.dot(N,u);P>b&&(b=P,D=f)}var R=o.cartesianToCartographic(D);return b=r.clamp(b,0,1),h=n.magnitude(n.subtract(D,s))*Math.sqrt(1-b*b),h=d?-h:h,o.cartographicToCartesian(new i(R.longitude,R.latitude,h))}return void 0};var d=new n;return c.lineSegmentPlane=function(t,i,a,o){var s=n.subtract(i,t,d),u=a.normal,l=n.dot(u,s);if(Math.abs(l)f||f>1?void 0:(e(o)||(o=new n),n.multiplyByScalar(s,f,o),n.add(t,o,o),o)},c.trianglePlaneIntersection=function(e,t,r,i){var a=i.normal,o=i.distance,s=n.dot(a,e)+o<0,u=n.dot(a,t)+o<0,l=n.dot(a,r)+o<0,f=0;f+=s?1:0,f+=u?1:0,f+=l?1:0;var h,d;if((1===f||2===f)&&(h=new n,d=new n),1===f){if(s)return c.lineSegmentPlane(e,t,i,h),c.lineSegmentPlane(e,r,i,d),{positions:[e,t,r,h,d],indices:[0,3,4,1,2,4,1,4,3]};if(u)return c.lineSegmentPlane(t,r,i,h),c.lineSegmentPlane(t,e,i,d),{positions:[e,t,r,h,d],indices:[1,3,4,2,0,4,2,4,3]};if(l)return c.lineSegmentPlane(r,e,i,h),c.lineSegmentPlane(r,t,i,d),{positions:[e,t,r,h,d],indices:[2,3,4,0,1,4,0,4,3]}}else if(2===f){if(!s)return c.lineSegmentPlane(t,e,i,h),c.lineSegmentPlane(r,e,i,d),{positions:[e,t,r,h,d],indices:[1,2,4,1,4,3,0,3,4]};if(!u)return c.lineSegmentPlane(r,t,i,h),c.lineSegmentPlane(e,t,i,d),{positions:[e,t,r,h,d],indices:[2,0,4,2,4,3,1,3,4]};if(!l)return c.lineSegmentPlane(e,r,i,h),c.lineSegmentPlane(t,r,i,d),{positions:[e,t,r,h,d],indices:[0,1,4,0,4,3,2,3,4]}}return void 0},c}),define("Core/Ray",["./DeveloperError","./defaultValue","./Cartesian3"],function(e,t,r){"use strict";var n=function(e,n){n=r.clone(t(n,r.ZERO)),r.equals(n,r.ZERO)||r.normalize(n,n),this.origin=r.clone(t(e,r.ZERO)),this.direction=n};return n.prototype.getPoint=function(e,t){return t=r.multiplyByScalar(this.direction,e,t),r.add(this.origin,t,t)},n}),define("Core/Plane",["./Cartesian3","./defined","./DeveloperError"],function(e,t){"use strict";var r=function(t,r){this.normal=e.clone(t),this.distance=r};return r.fromPointNormal=function(n,i,a){var o=-e.dot(i,n);return t(a)?(e.clone(i,a.normal),a.distance=o,a):new r(i,o)},r.getPointDistance=function(t,r){return e.dot(t.normal,r)+t.distance},r.prototype.getPointDistance=function(e){return r.getPointDistance(this,e)},r}),define("Core/EllipsoidTangentPlane",["./defaultValue","./defined","./defineProperties","./DeveloperError","./Transforms","./AxisAlignedBoundingBox","./IntersectionTests","./Cartesian2","./Cartesian3","./Ellipsoid","./Matrix4","./Ray","./Plane"],function(e,t,r,n,i,a,o,s,u,l,c,f,h){"use strict";var d=function(t,r){r=e(r,l.WGS84),t=r.scaleToGeodeticSurface(t);var n=i.eastNorthUpToFixedFrame(t,r);this._ellipsoid=r,this._origin=u.clone(t),this._xAxis=u.fromCartesian4(c.getColumn(n,0)),this._yAxis=u.fromCartesian4(c.getColumn(n,1));var a=u.fromCartesian4(c.getColumn(n,2));this._plane=h.fromPointNormal(t,a)};r(d.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},origin:{get:function(){return this._origin}}});var m=new a;d.fromPoints=function(e,t){var r=a.fromPoints(e,m);return new d(r.center,t)};var p=new f,y=new u;d.prototype.projectPointOntoPlane=function(e,r){var n=p;n.origin=e,u.normalize(e,n.direction);var i=o.rayPlane(n,this._plane,y);if(t(i)||(u.negate(n.direction,n.direction),i=o.rayPlane(n,this._plane,y)),t(i)){var a=u.subtract(i,this._origin,i),l=u.dot(this._xAxis,a),c=u.dot(this._yAxis,a);return t(r)?(r.x=l,r.y=c,r):new s(l,c)}return void 0},d.prototype.projectPointsOntoPlane=function(e,r){t(r)||(r=[]);for(var n=0,i=e.length,a=0;i>a;a++){var o=this.projectPointOntoPlane(e[a],r[n]);t(o)&&(r[n]=o,n++)}return r.length=n,r};var v=new u;return d.prototype.projectPointsOntoEllipsoid=function(e,r){var n=e.length;t(r)?r.length=n:r=new Array(n);for(var i=this._ellipsoid,a=this._origin,o=this._xAxis,s=this._yAxis,l=v,c=0;n>c;++c){var f=e[c];u.multiplyByScalar(o,f.x,l);var h=r[c]=u.add(a,l,r[c]);u.multiplyByScalar(s,f.y,l),u.add(h,l,h),i.scaleToGeocentricSurface(h,h)}return r},d}),define("Core/barycentricCoordinates",["./Cartesian2","./Cartesian3","./defined","./DeveloperError"],function(e,t,r){"use strict";var n=new t,i=new t,a=new t,o=function(o,s,u,l,c){r(c)||(c=new t);var f,h,d,m,p,y,v,g;r(s.z)?(f=t.subtract(u,s,n),h=t.subtract(l,s,i),d=t.subtract(o,s,a),m=t.dot(f,f),p=t.dot(f,h),y=t.dot(f,d),v=t.dot(h,h),g=t.dot(h,d)):(f=e.subtract(u,s,n),h=e.subtract(l,s,i),d=e.subtract(o,s,a),m=e.dot(f,f),p=e.dot(f,h),y=e.dot(f,d),v=e.dot(h,h),g=e.dot(h,d));var E=1/(m*v-p*p);return c.y=(v*y-p*g)*E,c.z=(m*g-p*y)*E,c.x=1-c.y-c.z,c};return o}),define("Core/pointInsideTriangle",["./barycentricCoordinates","./Cartesian3"],function(e,t){"use strict";var r=new t,n=function(t,n,i,a){return e(t,n,i,a,r),r.x>0&&r.y>0&&r.z>0};return n}),define("Core/Queue",[],function(){"use strict";var e=function(){this._array=[],this._offset=0,this.length=0};return e.prototype.enqueue=function(e){this._array.push(e),this.length++},e.prototype.dequeue=function(){if(0===this.length)return void 0;var e=this._array,t=this._offset,r=e[t];return e[t]=void 0,t++,t>10&&2*t>e.length&&(this._array=e.slice(t),t=0),this._offset=t,this.length--,r},e.prototype.contains=function(e){return-1!==this._array.indexOf(e)},e.prototype.clear=function(){this._array.length=this._offset=this.length=0},e.prototype.sort=function(e){this._offset>0&&(this._array=this._array.slice(this._offset),this._offset=0),this._array.sort(e)},e}),define("Core/WindingOrder",["./Enumeration"],function(e){"use strict";var t={CLOCKWISE:new e(2304,"CLOCKWISE"),COUNTER_CLOCKWISE:new e(2305,"COUNTER_CLOCKWISE"),validate:function(e){return e===t.CLOCKWISE||e===t.COUNTER_CLOCKWISE}};return t}),define("Core/PolygonPipeline",["./DeveloperError","./Math","./Cartesian2","./Cartesian3","./defined","./Geometry","./GeometryAttribute","./Ellipsoid","./EllipsoidTangentPlane","./defaultValue","./pointInsideTriangle","./ComponentDatatype","./PrimitiveType","./Queue","./WindingOrder"],function(e,t,r,n,i,a,o,s,u,l,c,f,h,d,m){"use strict";function p(e,t,n){var i=r.subtract(t,e),a=r.subtract(n,t);return i.x*a.y-i.y*a.x>=0}function y(e){for(var t=e[0].x,r=0,n=0;nt&&(t=e[n].x,r=n);return r}function v(e){for(var t=e[0][0].x,r=0,n=0;nt&&(t=i,r=n)}return r}function g(e){for(var t=[],r=0;rc&&(c=t[f].x);c+=c-u;var h=new n(c,e.y,0);for(f=0;f=e.x||m.x>=e.x)&&(d.y>=e.y&&m.y<=e.y||d.y<=e.y&&m.y>=e.y)){var p=(m.y-d.y)*(h.x-e.x)-(m.x-d.x)*(h.y-e.y);if(0!==p){p=1/p;var v=((m.x-d.x)*(e.y-d.y)-(m.y-d.y)*(e.x-d.x))*p,g=((h.x-e.x)*(e.y-d.y)-(h.y-e.y)*(e.x-d.x))*p;if(v>=0&&1>=v&&g>=0&&1>=g){var E=new r(e.x+v*(h.x-e.x),e.y+v*(h.y-e.y)),S=r.subtract(E,e);p=r.magnitudeSquared(S),a>p&&(s=E,a=p,i[0]=f,i[1]=(f+1)%t.length)}}}}return s}function C(e,t){var n=v(t),i=t[n],a=y(i),o=i[a],s=[],u=S(o,e,s),l=E(e,u);if(-1!==l)return l;var f=r.magnitudeSquared(r.subtract(e[s[0]],o)),h=r.magnitudeSquared(r.subtract(e[s[1]],o)),d=h>f?e[s[0]]:e[s[1]],m=g(e),p=m.indexOf(d);-1!==p&&m.splice(p,1);for(var C=[],w=0;w0){var O=new r(1,0);for(w=0;w_&&(T=_,d=C[w])}}}return e.indexOf(d)}function w(e,t,r){for(var i=Y.computeWindingOrder2D(e),a=0;an&&(n=t.length-1),n===t.length&&(n=0),_(n,t),n}function _(t,i){var a=t-1,o=t+1;0>a&&(a=i.length-1),o===i.length&&(o=0);var s=r.subtract(i[a].position,i[t].position),u=r.subtract(i[o].position,i[t].position);if(s=new n(s.x,s.y,0),u=new n(u.x,u.y,0),D(s,u)){var l=new e("Superfluous vertex found.");throw l.vertexIndex=t,l}}function D(e,t){return 0===n.cross(e,t).z}function b(e,t){return n.cross(e,t).z<0}function I(e,t){return n.cross(e,t).z>0}function N(e,t,r){return n.cross(e,r).z>0&&n.cross(r,t).z>0}function P(e,t,r){return n.cross(e,r).z<0&&n.cross(r,t).z<0}function R(e,t,n){for(var i=0;it||e>r)&&(t>e||r>e)||t===r&&t===e}function F(t){var r=t.length;if(3===r)return z(t)?[]:[t[0].index,t[1].index,t[2].index];if(t.length<3)throw new e("Invalid polygon: must have at least three vertices.");for(var n=!1,i=0;!n;){var a=10*t.length;if(i>a)return[];i++;for(var o=x(t.length),s=o+1;Math.abs(o-s)<2||Math.abs(o-s)>t.length-2;)s=x(t.length);if(o>s){var u=o;o=s,s=u}try{if(T(o,s,t)){var l=t.splice(o,s-o+1,t[o],t[s]);return F(t).concat(F(l))}}catch(c){if(c.hasOwnProperty("vertexIndex"))return t.splice(c.vertexIndex,1),F(t);throw c}}}var U=0,B=-1,q=1,G=new n,W=new n,Y={removeDuplicates:function(e){for(var t=e.length,r=[],i=t-1,a=0;t>a;i=a++){var o=e[i],s=e[a];n.equals(o,s)||r.push(s)}return r},computeArea2D:function(e){for(var t=e.length,r=0,n=t-1,i=0;t>i;n=i++){var a=e[n],o=e[i];r+=a.x*o.y-o.x*a.y}return.5*r},computeWindingOrder2D:function(e){var t=Y.computeArea2D(e);return t>=0?m.COUNTER_CLOCKWISE:m.CLOCKWISE},triangulate:function(e){for(var t=e.length,r=[],n=0;t>n;++n)r[n]={position:e[n],index:n};return F(r)},resetSeed:function(e){U=l(e,0)},computeSubdivision:function(e,r,i){i=l(i,t.RADIANS_PER_DEGREE);for(var s=new d,u=r.length,c=0;u>c;c+=3)s.enqueue({i0:r[c],i1:r[c+1],i2:r[c+2]});for(var m,p=e.slice(0),y=[],v={};s.length>0;){var g,E,S=s.dequeue(),C=p[S.i0],w=p[S.i1],x=p[S.i2],T=n.angleBetween(C,w),O=n.angleBetween(w,x),A=n.angleBetween(x,C),M=Math.max(T,Math.max(O,A));M>i?T===M?(g=Math.min(S.i0,S.i1).toString()+" "+Math.max(S.i0,S.i1).toString(),m=v[g],m||(E=n.add(C,w),n.multiplyByScalar(E,.5,E),p.push(E),m=p.length-1,v[g]=m),s.enqueue({i0:S.i0,i1:m,i2:S.i2}),s.enqueue({i0:m,i1:S.i1,i2:S.i2})):O===M?(g=Math.min(S.i1,S.i2).toString()+" "+Math.max(S.i1,S.i2).toString(),m=v[g],m||(E=n.add(w,x),n.multiplyByScalar(E,.5,E),p.push(E),m=p.length-1,v[g]=m),s.enqueue({i0:S.i1,i1:m,i2:S.i0}),s.enqueue({i0:m,i1:S.i2,i2:S.i0})):A===M&&(g=Math.min(S.i2,S.i0).toString()+" "+Math.max(S.i2,S.i0).toString(),m=v[g],m||(E=n.add(x,C),n.multiplyByScalar(E,.5,E),p.push(E),m=p.length-1,v[g]=m),s.enqueue({i0:S.i2,i1:m,i2:S.i1}),s.enqueue({i0:m,i1:S.i0,i2:S.i1})):(y.push(S.i0),y.push(S.i1),y.push(S.i2))}var _=p.length,D=new Array(3*_),b=0;for(m=0;_>m;m++){var I=p[m];D[b++]=I.x,D[b++]=I.y,D[b++]=I.z}return new a({attributes:{position:new o({componentDatatype:f.DOUBLE,componentsPerAttribute:3,values:D})},indices:y,primitiveType:h.TRIANGLES})},scaleToGeodeticHeight:function(e,t,r,a){r=l(r,s.WGS84);var o=G,u=W;if(t=l(t,0),a=l(a,!0),i(e)&&i(e.attributes)&&i(e.attributes.position))for(var c=e.attributes.position.values,f=c.length,h=0;f>h;h+=3)n.fromArray(c,h,u),a&&(u=r.scaleToGeodeticSurface(u,u)),o=r.geodeticSurfaceNormal(u,o),n.multiplyByScalar(o,t,o),n.add(u,o,u),c[h]=u.x,c[h+1]=u.y,c[h+2]=u.z;return e},eliminateHoles:function(e,t,r){r=l(r,s.WGS84);for(var i=[],a=0;a0;)c=w(c,i,r);return c}};return Y}),define("Core/EllipsoidGeodesic",["./Cartesian3","./Cartographic","./defaultValue","./defined","./DeveloperError","./Ellipsoid","./Math"],function(e,t,r,n,i,a,o){"use strict";function s(e){var t=e._uSquared,r=e._ellipsoid.maximumRadius,n=e._ellipsoid.minimumRadius,i=(r-n)/r,a=Math.cos(e._startHeading),o=Math.sin(e._startHeading),s=(1-i)*Math.tan(e._start.latitude),u=1/Math.sqrt(1+s*s),l=u*s,c=Math.atan2(s,a),f=u*o,h=f*f,d=1-h,m=Math.sqrt(d),p=t/4,y=p*p,v=y*p,g=y*y,E=1+p-3*y/4+5*v/4-175*g/64,S=1-p+15*y/8-35*v/8,C=1-3*p+35*y/4,w=1-5*p,x=E*c-S*Math.sin(2*c)*p/2-C*Math.sin(4*c)*y/16-w*Math.sin(6*c)*v/48-5*Math.sin(8*c)*g/512,T=e._constants;T.a=r,T.b=n,T.f=i,T.cosineHeading=a,T.sineHeading=o,T.tanU=s,T.cosineU=u,T.sineU=l,T.sigma=c,T.sineAlpha=f,T.sineSquaredAlpha=h,T.cosineSquaredAlpha=d,T.cosineAlpha=m,T.u2Over4=p,T.u4Over16=y,T.u6Over64=v,T.u8Over256=g,T.a0=E,T.a1=S,T.a2=C,T.a3=w,T.distanceRatio=x}function u(e,t){return e*t*(4+e*(4-3*t))/16}function l(e,t,r,n,i,a,o){var s=u(e,r);return(1-s)*e*t*(n+s*i*(o+s*a*(2*o*o-1)))}function c(e,t,r,n,i,a,s){var u,c,f,h,d,m=(t-r)/t,p=a-n,y=Math.atan((1-m)*Math.tan(i)),v=Math.atan((1-m)*Math.tan(s)),g=Math.cos(y),E=Math.sin(y),S=Math.cos(v),C=Math.sin(v),w=g*S,x=g*C,T=E*C,O=E*S,A=p,M=o.TWO_PI,_=Math.cos(A),D=Math.sin(A);do{_=Math.cos(A),D=Math.sin(A);var b=x-O*_;f=Math.sqrt(S*S*D*D+b*b),c=T+w*_,u=Math.atan2(f,c);var I;0===f?(I=0,h=1):(I=w*D/f,h=1-I*I),M=A,d=c-2*T/h,isNaN(d)&&(d=0),A=p+l(m,I,h,u,f,c,d)}while(Math.abs(A-M)>o.EPSILON12);var N=h*(t*t-r*r)/(r*r),P=1+N*(4096+N*(N*(320-175*N)-768))/16384,R=N*(256+N*(N*(74-47*N)-128))/1024,z=d*d,L=R*f*(d+R*(c*(2*z-1)-R*d*(4*f*f-3)*(4*z-3)/6)/4),F=r*P*(u-L),U=Math.atan2(S*D,x-O*_),B=Math.atan2(g*D,x*_-O);e._distance=F,e._startHeading=U,e._endHeading=B,e._uSquared=N}function f(r,n,i,a){e.normalize(a.cartographicToCartesian(n,d),h),e.normalize(a.cartographicToCartesian(i,d),d),c(r,a.maximumRadius,a.minimumRadius,n.longitude,n.latitude,i.longitude,i.latitude),n.height=0,i.height=0,r._start=t.clone(n,r._start),r._end=t.clone(i,r._end),s(r)}var h=new e,d=new e,m=function(e,i,o){var s=r(o,a.WGS84);this._ellipsoid=s,this._start=new t,this._end=new t,this._constants={},this._startHeading=void 0,this._endHeading=void 0,this._distance=void 0,this._uSquared=void 0,n(e)&&n(i)&&f(this,e,i,s)};return m.prototype.getSurfaceDistance=function(){return this._distance},m.prototype.setEndPoints=function(e,t){f(this,e,t,this._ellipsoid)},m.prototype.getStart=function(){return this._start},m.prototype.getEnd=function(){return this._end},m.prototype.getStartHeading=function(){return this._startHeading},m.prototype.getEndHeading=function(){return this._endHeading},m.prototype.interpolateUsingFraction=function(e,t){return this.interpolateUsingSurfaceDistance(this._distance*e,t)},m.prototype.interpolateUsingSurfaceDistance=function(e,r){var i=this._constants,a=i.distanceRatio+e/i.b,o=Math.cos(2*a),s=Math.cos(4*a),u=Math.cos(6*a),c=Math.sin(2*a),f=Math.sin(4*a),h=Math.sin(6*a),d=Math.sin(8*a),m=a*a,p=a*m,y=i.u8Over256,v=i.u2Over4,g=i.u6Over64,E=i.u4Over16,S=2*p*y*o/3+a*(1-v+7*E/4-15*g/4+579*y/64-(E-15*g/4+187*y/16)*o-(5*g/4-115*y/16)*s-29*y*u/16)+(v/2-E+71*g/32-85*y/16)*c+(5*E/16-5*g/4+383*y/96)*f-m*((g-11*y/2)*c+5*y*f/2)+(29*g/96-29*y/16)*h+539*y*d/1536,C=Math.asin(Math.sin(S)*i.cosineAlpha),w=Math.atan(i.a/i.b*Math.tan(C));S-=i.sigma;var x=Math.cos(2*i.sigma+S),T=Math.sin(S),O=Math.cos(S),A=i.cosineU*O,M=i.sineU*T,_=Math.atan2(T*i.sineHeading,A-M*i.cosineHeading),D=_-l(i.f,i.sineAlpha,i.cosineSquaredAlpha,S,T,O,x);return n(r)?(r.longitude=this._start.longitude+D,r.latitude=w,r.height=0,r):new t(this._start.longitude+D,w,0)},m}),define("Core/PolylinePipeline",["./Cartesian3","./Cartographic","./defaultValue","./defined","./DeveloperError","./Ellipsoid","./EllipsoidGeodesic","./IntersectionTests","./isArray","./Math","./Matrix4","./Plane"],function(e,t,r,n,i,a,o,s,u,l,c,f){"use strict";function h(t,r,n,i){var a=i.scaleToGeodeticSurface(t,A),o=i.scaleToGeodeticSurface(r,M),s=e.angleBetween(a,o),u=Math.ceil(s/n),l=new Array(3*u),c=i.cartesianToCartographic(a,x),f=i.cartesianToCartographic(o,T);_.setEndPoints(c,f);var h=_.getSurfaceDistance()/u,d=0;c.height=0;var m=i.cartographicToCartesian(c,O);l[d++]=m.x,l[d++]=m.y,l[d++]=m.z;for(var p=1;u>p;p++){var y=_.interpolateUsingSurfaceDistance(p*h,T);m=i.cartographicToCartesian(y,O),l[d++]=m.x,l[d++]=m.y,l[d++]=m.z}return l}function d(t,r,n){var i=D;return n.geodeticSurfaceNormal(t,i),e.multiplyByScalar(i,r,i),e.add(t,i,t),t}var m={},p=new c,y=new e,v=new e,g=new f(e.ZERO,0),E=new e,S=new f(e.ZERO,0),C=new e,w=new e,x=new t,T=new t,O=new e,A=new e,M=new e,_=new o,D=new e,b=new e;return m.wrapLongitude=function(t,i){var a=[],o=[];if(n(t)&&t.length>0){i=r(i,c.IDENTITY);var u=c.inverseTransformation(i,p),l=c.multiplyByPoint(u,e.ZERO,y),h=c.multiplyByPointAsVector(u,e.UNIT_Y,v),d=f.fromPointNormal(l,h,g),m=c.multiplyByPointAsVector(u,e.UNIT_X,E),x=f.fromPointNormal(l,m,S),T=1;a.push(e.clone(t[0]));for(var O=a[0],A=t.length,M=1;A>M;++M){var _=t[M];if(f.getPointDistance(x,O)<0||f.getPointDistance(x,_)<0){var D=s.lineSegmentPlane(O,_,d,C);if(n(D)){var b=e.multiplyByScalar(h,5e-9,w);f.getPointDistance(d,O)<0&&e.negate(b,b),a.push(e.add(D,b)),o.push(T+1),e.negate(b,b),a.push(e.add(D,b)),T=1}}a.push(e.clone(t[M])),T++,O=_}o.push(T)}return{positions:a,lengths:o}},m.removeDuplicates=function(t){var r=t.length;if(2>r)return t.slice(0);var n=[];n.push(t[0]);for(var i=1;r>i;++i){var a=t[i-1],o=t[i];e.equals(a,o)||n.push(o)}return n},m.scaleToSurface=function(e,t,n){t=r(t,l.RADIANS_PER_DEGREE),n=r(n,a.WGS84);for(var i=e.length,o=[],s=0;i-1>s;s++){var u=e[s],c=e[s+1];o=o.concat(h(u,c,t,n))}var f=e[i-1],d=n.cartesianToCartographic(f,x);d.height=0;var m=n.cartographicToCartesian(d,O);return o.push(m.x,m.y,m.z),o},m.scaleToGeodeticHeight=function(t,o,s,l){s=r(s,a.WGS84);var c,f,h=t.length,m=b;if(n(l)){if(l.length!==t.length)throw new i("result.length must be equal to positions.length");f=l}else f=new Array(t.length);if(0===o){for(c=0;h>c;c+=3)m=s.scaleToGeodeticSurface(e.fromArray(t,c,m),m),f[c]=m.x,f[c+1]=m.y,f[c+2]=m.z;return f}var p;if(u(o)){if(o.length!==h/3)throw new i("height.length must be equal to positions.length");for(c=0;h>c;c+=3)p=o[c/3],m=e.fromArray(t,c,m),m=d(m,p,s),f[c]=m.x,f[c+1]=m.y,f[c+2]=m.z}else for(p=o,c=0;h>c;c+=3)m=e.fromArray(t,c,m),m=d(m,p,s),f[c]=m.x,f[c+1]=m.y,f[c+2]=m.z;return f},m}),define("Core/WallGeometryLibrary",["./defined","./Cartographic","./Cartesian3","./DeveloperError","./EllipsoidTangentPlane","./PolygonPipeline","./PolylinePipeline","./Math","./WindingOrder"],function(e,t,r,n,i,a,o,s,u){"use strict";function l(e,t,n,i,a){var o,s=r.angleBetween(e,t),u=Math.ceil(s/a),l=new Array(u);if(n===i){for(o=0;u>o;o++)l[o]=n;return l}var c=i-n,f=c/u;for(o=1;u>o;o++){var h=n+o*f;l[o]=h}return l[0]=n,l}function c(e,t){return s.equalsEpsilon(e.latitude,t.latitude,s.EPSILON14)&&s.equalsEpsilon(e.longitude,t.longitude,s.EPSILON14)}function f(r,n,i,a){var o=e(a),s=e(i),u=[],l=[],f=o?[]:void 0,h=n.length;if(2>h)return{positions:n};var p=n[0];u.push(p);var y=r.cartesianToCartographic(p,d);s&&(y.height=i[0]),l.push(y.height),o&&f.push(a[0]);for(var v=1;h>v;++v){var g=n[v],E=r.cartesianToCartographic(g,m);s&&(E.height=i[v]),c(y,E)?y.height=3){var p=i.fromPoints(r,t),y=p.projectPointsOntoPlane(r);a.computeWindingOrder2D(y)===u.CLOCKWISE&&(r.reverse(),n.reverse(),m&&s.reverse())}var v,g=r.length,E=[],S=m?[]:void 0,C=[];for(v=0;g-1>v;v++){var w=r[v],x=r[v+1],T=n[v],O=n[v+1];E=E.concat(l(w,x,T,O,c)),h&&E.push(O),m&&(w=r[v],x=r[v+1],T=s[v],O=s[v+1],S=S.concat(l(w,x,T,O,c)),h&&S.push(O)),h&&(C=C.concat(o.scaleToSurface([w,x],c,t)))}h||(C=o.scaleToSurface(r,c,t),E.push(n[g-1]),m&&S.push(s[g-1]));var A=m?o.scaleToGeodeticHeight(C,S,t):C.slice(0),M=o.scaleToGeodeticHeight(C,E,t);return{newWallPositions:C,bottomPositions:A,topPositions:M}},h}),define("Core/WallOutlineGeometry",["./BoundingSphere","./Cartesian3","./ComponentDatatype","./defaultValue","./defined","./DeveloperError","./Ellipsoid","./Geometry","./GeometryAttribute","./GeometryAttributes","./IndexDatatype","./Math","./PrimitiveType","./WallGeometryLibrary"],function(e,t,r,n,i,a,o,s,u,l,c,f,h,d){"use strict";var m=new t,p=new t,y=function(e){e=n(e,n.EMPTY_OBJECT);var t=e.positions,r=e.maximumHeights,i=e.minimumHeights,a=n(e.granularity,f.RADIANS_PER_DEGREE),s=n(e.ellipsoid,o.WGS84);this._positions=t,this._minimumHeights=i,this._maximumHeights=r,this._granularity=a,this._ellipsoid=s,this._workerName="createWallOutlineGeometry"};return y.fromConstantHeights=function(e){e=n(e,n.EMPTY_OBJECT);var t,r,a=e.positions,o=e.minimumHeight,s=e.maximumHeight,u=i(o),l=i(s);if(u||l){var c=a.length;t=u?new Array(c):void 0,r=l?new Array(c):void 0;for(var f=0;c>f;++f)u&&(t[f]=o),l&&(r[f]=s)}var h={positions:a,maximumHeights:r,minimumHeights:t,ellipsoid:e.ellipsoid};return new y(h)},y.createGeometry=function(n){var i=n._positions,a=n._minimumHeights,o=n._maximumHeights,y=n._granularity,v=n._ellipsoid,g=d.computePositions(v,i,o,a,y,!1),E=g.newWallPositions,S=g.bottomPositions,C=g.topPositions,w=E.length,x=2*w,T=new Float64Array(x),O=0;w/=3;var A;for(A=0;w>A;++A){var M=3*A,_=t.fromArray(C,M,m),D=t.fromArray(S,M,p);T[O++]=D.x,T[O++]=D.y,T[O++]=D.z,T[O++]=_.x,T[O++]=_.y,T[O++]=_.z}var b=new l({position:new u({componentDatatype:r.DOUBLE,componentsPerAttribute:3,values:T})}),I=x/3;x=2*I-4+I;var N=c.createTypedArray(I,x),P=0;for(A=0;I-2>A;A+=2){var R=A,z=A+2,L=t.fromArray(T,3*R,m),F=t.fromArray(T,3*z,p);if(!t.equalsEpsilon(L,F,f.EPSILON6)){var U=A+1,B=A+3;N[P++]=U,N[P++]=R,N[P++]=U,N[P++]=B,N[P++]=R,N[P++]=z}}return N[P++]=I-2,N[P++]=I-1,new s({attributes:b,indices:N,primitiveType:h.LINES,boundingSphere:new e.fromVertices(T)})},y}),define("Core/Color",["./defaultValue","./defined","./freezeObject","./DeveloperError","./FeatureDetection","./Math"],function(e,t,r,n,i,a){"use strict";function o(e,t,r){return 0>r&&(r+=1),r>1&&(r-=1),1>6*r?e+6*(t-e)*r:1>2*r?t:2>3*r?e+6*(t-e)*(2/3-r):e}var s=function(t,r,n,i){this.red=e(t,1),this.green=e(r,1),this.blue=e(n,1),this.alpha=e(i,1)};s.fromBytes=function(t,r,n,i){return t=s.byteToFloat(e(t,255)),r=s.byteToFloat(e(r,255)),n=s.byteToFloat(e(n,255)),i=s.byteToFloat(e(i,255)),new s(t,r,n,i)};var u,l,c;i.supportsTypedArrays()&&(u=new ArrayBuffer(4),l=new Uint32Array(u),c=new Uint8Array(u)),s.fromRgba=function(e){return l[0]=e,s.fromBytes(c[0],c[1],c[2],c[3])},s.fromHsl=function(t,r,n,i){t=e(t,0)%1,r=e(r,0),n=e(n,0),i=e(i,1);var a=n,u=n,l=n;if(0!==r){var c;c=.5>n?n*(1+r):n+r-n*r;var f=2*n-c;a=o(f,c,t+1/3),u=o(f,c,t),l=o(f,c,t-1/3)}return new s(a,u,l,i)},s.fromRandom=function(r,n){r=e(r,e.EMPTY_OBJECT);var i=r.red;if(!t(i)){var o=e(r.minimumRed,0),u=e(r.maximumRed,1);i=o+a.nextRandomNumber()*(u-o)}var l=r.green;if(!t(l)){var c=e(r.minimumGreen,0),f=e(r.maximumGreen,1);l=c+a.nextRandomNumber()*(f-c)}var h=r.blue;if(!t(h)){var d=e(r.minimumBlue,0),m=e(r.maximumBlue,1);h=d+a.nextRandomNumber()*(m-d)}var p=r.alpha;if(!t(p)){var y=e(r.minimumAlpha,0),v=e(r.maximumAlpha,1);p=y+a.nextRandomNumber()*(v-y)}return t(n)?(n.red=i,n.green=l,n.blue=h,n.alpha=p,n):new s(i,l,h,p)};var f=/^#([0-9a-f])([0-9a-f])([0-9a-f])$/i,h=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i,d=/^rgba?\(\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)\s*,\s*([0-9.]+%?)(?:\s*,\s*([0-9.]+))?\s*\)$/i,m=/^hsla?\(\s*([0-9.]+)\s*,\s*([0-9.]+%)\s*,\s*([0-9.]+%)(?:\s*,\s*([0-9.]+))?\s*\)$/i;return s.fromCssColorString=function(r){var n=s[r.toUpperCase()];if(t(n))return s.clone(n);var i=f.exec(r);return null!==i?new s(parseInt(i[1],16)/15,parseInt(i[2],16)/15,parseInt(i[3],16)/15):(i=h.exec(r),null!==i?new s(parseInt(i[1],16)/255,parseInt(i[2],16)/255,parseInt(i[3],16)/255):(i=d.exec(r),null!==i?new s(parseFloat(i[1])/("%"===i[1].substr(-1)?100:255),parseFloat(i[2])/("%"===i[2].substr(-1)?100:255),parseFloat(i[3])/("%"===i[3].substr(-1)?100:255),parseFloat(e(i[4],"1.0"))):(i=m.exec(r),null!==i?s.fromHsl(parseFloat(i[1])/360,parseFloat(i[2])/100,parseFloat(i[3])/100,parseFloat(e(i[4],"1.0"))):void 0)))},s.packedLength=4,s.pack=function(t,r,n){n=e(n,0),r[n++]=t.red,r[n++]=t.green,r[n++]=t.blue,r[n]=t.alpha},s.unpack=function(r,n,i){return n=e(n,0),t(i)||(i=new s),i.red=r[n++],i.green=r[n++],i.blue=r[n++],i.alpha=r[n],i},s.byteToFloat=function(e){return e/255},s.floatToByte=function(e){return 1===e?255:0|256*e},s.clone=function(e,r){return t(e)?t(r)?(r.red=e.red,r.green=e.green,r.blue=e.blue,r.alpha=e.alpha,r):new s(e.red,e.green,e.blue,e.alpha):void 0},s.equals=function(e,r){return e===r||t(e)&&t(r)&&e.red===r.red&&e.green===r.green&&e.blue===r.blue&&e.alpha===r.alpha},s.prototype.clone=function(e){return s.clone(this,e)},s.prototype.equals=function(e){return s.equals(this,e)},s.prototype.equalsEpsilon=function(e,r){return this===e||t(e)&&Math.abs(this.red-e.red)<=r&&Math.abs(this.green-e.green)<=r&&Math.abs(this.blue-e.blue)<=r&&Math.abs(this.alpha-e.alpha)<=r},s.prototype.toString=function(){return"("+this.red+", "+this.green+", "+this.blue+", "+this.alpha+")"},s.prototype.toCssColorString=function(){var e=s.floatToByte(this.red),t=s.floatToByte(this.green),r=s.floatToByte(this.blue);return 1===this.alpha?"rgb("+e+","+t+","+r+")":"rgba("+e+","+t+","+r+","+this.alpha+")"},s.prototype.toBytes=function(e){var r=s.floatToByte(this.red),n=s.floatToByte(this.green),i=s.floatToByte(this.blue),a=s.floatToByte(this.alpha);return t(e)?(e[0]=r,e[1]=n,e[2]=i,e[3]=a,e):[r,n,i,a]},s.prototype.toRgba=function(){return c[0]=s.floatToByte(this.red),c[1]=s.floatToByte(this.green),c[2]=s.floatToByte(this.blue),c[3]=s.floatToByte(this.alpha),l[0]},s.ALICEBLUE=r(s.fromCssColorString("#F0F8FF")),s.ANTIQUEWHITE=r(s.fromCssColorString("#FAEBD7")),s.AQUA=r(s.fromCssColorString("#00FFFF")),s.AQUAMARINE=r(s.fromCssColorString("#7FFFD4")),s.AZURE=r(s.fromCssColorString("#F0FFFF")),s.BEIGE=r(s.fromCssColorString("#F5F5DC")),s.BISQUE=r(s.fromCssColorString("#FFE4C4")),s.BLACK=r(s.fromCssColorString("#000000")),s.BLANCHEDALMOND=r(s.fromCssColorString("#FFEBCD")),s.BLUE=r(s.fromCssColorString("#0000FF")),s.BLUEVIOLET=r(s.fromCssColorString("#8A2BE2")),s.BROWN=r(s.fromCssColorString("#A52A2A")),s.BURLYWOOD=r(s.fromCssColorString("#DEB887")),s.CADETBLUE=r(s.fromCssColorString("#5F9EA0")),s.CHARTREUSE=r(s.fromCssColorString("#7FFF00")),s.CHOCOLATE=r(s.fromCssColorString("#D2691E")),s.CORAL=r(s.fromCssColorString("#FF7F50")),s.CORNFLOWERBLUE=r(s.fromCssColorString("#6495ED")),s.CORNSILK=r(s.fromCssColorString("#FFF8DC")),s.CRIMSON=r(s.fromCssColorString("#DC143C")),s.CYAN=r(s.fromCssColorString("#00FFFF")),s.DARKBLUE=r(s.fromCssColorString("#00008B")),s.DARKCYAN=r(s.fromCssColorString("#008B8B")),s.DARKGOLDENROD=r(s.fromCssColorString("#B8860B")),s.DARKGRAY=r(s.fromCssColorString("#A9A9A9")),s.DARKGREEN=r(s.fromCssColorString("#006400")),s.DARKGREY=s.DARKGRAY,s.DARKKHAKI=r(s.fromCssColorString("#BDB76B")),s.DARKMAGENTA=r(s.fromCssColorString("#8B008B")),s.DARKOLIVEGREEN=r(s.fromCssColorString("#556B2F")),s.DARKORANGE=r(s.fromCssColorString("#FF8C00")),s.DARKORCHID=r(s.fromCssColorString("#9932CC")),s.DARKRED=r(s.fromCssColorString("#8B0000")),s.DARKSALMON=r(s.fromCssColorString("#E9967A")),s.DARKSEAGREEN=r(s.fromCssColorString("#8FBC8F")),s.DARKSLATEBLUE=r(s.fromCssColorString("#483D8B")),s.DARKSLATEGRAY=r(s.fromCssColorString("#2F4F4F")),s.DARKSLATEGREY=s.DARKSLATEGRAY,s.DARKTURQUOISE=r(s.fromCssColorString("#00CED1")),s.DARKVIOLET=r(s.fromCssColorString("#9400D3")),s.DEEPPINK=r(s.fromCssColorString("#FF1493")),s.DEEPSKYBLUE=r(s.fromCssColorString("#00BFFF")),s.DIMGRAY=r(s.fromCssColorString("#696969")),s.DIMGREY=s.DIMGRAY,s.DODGERBLUE=r(s.fromCssColorString("#1E90FF")),s.FIREBRICK=r(s.fromCssColorString("#B22222")),s.FLORALWHITE=r(s.fromCssColorString("#FFFAF0")),s.FORESTGREEN=r(s.fromCssColorString("#228B22")),s.FUSCHIA=r(s.fromCssColorString("#FF00FF")),s.GAINSBORO=r(s.fromCssColorString("#DCDCDC")),s.GHOSTWHITE=r(s.fromCssColorString("#F8F8FF")),s.GOLD=r(s.fromCssColorString("#FFD700")),s.GOLDENROD=r(s.fromCssColorString("#DAA520")),s.GRAY=r(s.fromCssColorString("#808080")),s.GREEN=r(s.fromCssColorString("#008000")),s.GREENYELLOW=r(s.fromCssColorString("#ADFF2F")),s.GREY=s.GRAY,s.HONEYDEW=r(s.fromCssColorString("#F0FFF0")),s.HOTPINK=r(s.fromCssColorString("#FF69B4")),s.INDIANRED=r(s.fromCssColorString("#CD5C5C")),s.INDIGO=r(s.fromCssColorString("#4B0082")),s.IVORY=r(s.fromCssColorString("#FFFFF0")),s.KHAKI=r(s.fromCssColorString("#F0E68C")),s.LAVENDER=r(s.fromCssColorString("#E6E6FA")),s.LAVENDAR_BLUSH=r(s.fromCssColorString("#FFF0F5")),s.LAWNGREEN=r(s.fromCssColorString("#7CFC00")),s.LEMONCHIFFON=r(s.fromCssColorString("#FFFACD")),s.LIGHTBLUE=r(s.fromCssColorString("#ADD8E6")),s.LIGHTCORAL=r(s.fromCssColorString("#F08080")),s.LIGHTCYAN=r(s.fromCssColorString("#E0FFFF")),s.LIGHTGOLDENRODYELLOW=r(s.fromCssColorString("#FAFAD2")),s.LIGHTGRAY=r(s.fromCssColorString("#D3D3D3")),s.LIGHTGREEN=r(s.fromCssColorString("#90EE90")),s.LIGHTGREY=s.LIGHTGRAY,s.LIGHTPINK=r(s.fromCssColorString("#FFB6C1")),s.LIGHTSEAGREEN=r(s.fromCssColorString("#20B2AA")),s.LIGHTSKYBLUE=r(s.fromCssColorString("#87CEFA")),s.LIGHTSLATEGRAY=r(s.fromCssColorString("#778899")),s.LIGHTSLATEGREY=s.LIGHTSLATEGRAY,s.LIGHTSTEELBLUE=r(s.fromCssColorString("#B0C4DE")),s.LIGHTYELLOW=r(s.fromCssColorString("#FFFFE0")),s.LIME=r(s.fromCssColorString("#00FF00")),s.LIMEGREEN=r(s.fromCssColorString("#32CD32")),s.LINEN=r(s.fromCssColorString("#FAF0E6")),s.MAGENTA=r(s.fromCssColorString("#FF00FF")),s.MAROON=r(s.fromCssColorString("#800000")),s.MEDIUMAQUAMARINE=r(s.fromCssColorString("#66CDAA")),s.MEDIUMBLUE=r(s.fromCssColorString("#0000CD")),s.MEDIUMORCHID=r(s.fromCssColorString("#BA55D3")),s.MEDIUMPURPLE=r(s.fromCssColorString("#9370DB")),s.MEDIUMSEAGREEN=r(s.fromCssColorString("#3CB371")),s.MEDIUMSLATEBLUE=r(s.fromCssColorString("#7B68EE")),s.MEDIUMSPRINGGREEN=r(s.fromCssColorString("#00FA9A")),s.MEDIUMTURQUOISE=r(s.fromCssColorString("#48D1CC")),s.MEDIUMVIOLETRED=r(s.fromCssColorString("#C71585")),s.MIDNIGHTBLUE=r(s.fromCssColorString("#191970")),s.MINTCREAM=r(s.fromCssColorString("#F5FFFA")),s.MISTYROSE=r(s.fromCssColorString("#FFE4E1")),s.MOCCASIN=r(s.fromCssColorString("#FFE4B5")),s.NAVAJOWHITE=r(s.fromCssColorString("#FFDEAD")),s.NAVY=r(s.fromCssColorString("#000080")),s.OLDLACE=r(s.fromCssColorString("#FDF5E6")),s.OLIVE=r(s.fromCssColorString("#808000")),s.OLIVEDRAB=r(s.fromCssColorString("#6B8E23")),s.ORANGE=r(s.fromCssColorString("#FFA500")),s.ORANGERED=r(s.fromCssColorString("#FF4500")),s.ORCHID=r(s.fromCssColorString("#DA70D6")),s.PALEGOLDENROD=r(s.fromCssColorString("#EEE8AA")),s.PALEGREEN=r(s.fromCssColorString("#98FB98")),s.PALETURQUOISE=r(s.fromCssColorString("#AFEEEE")),s.PALEVIOLETRED=r(s.fromCssColorString("#DB7093")),s.PAPAYAWHIP=r(s.fromCssColorString("#FFEFD5")),s.PEACHPUFF=r(s.fromCssColorString("#FFDAB9")),s.PERU=r(s.fromCssColorString("#CD853F")),s.PINK=r(s.fromCssColorString("#FFC0CB")),s.PLUM=r(s.fromCssColorString("#DDA0DD")),s.POWDERBLUE=r(s.fromCssColorString("#B0E0E6")),s.PURPLE=r(s.fromCssColorString("#800080")),s.RED=r(s.fromCssColorString("#FF0000")),s.ROSYBROWN=r(s.fromCssColorString("#BC8F8F")),s.ROYALBLUE=r(s.fromCssColorString("#4169E1")),s.SADDLEBROWN=r(s.fromCssColorString("#8B4513")),s.SALMON=r(s.fromCssColorString("#FA8072")),s.SANDYBROWN=r(s.fromCssColorString("#F4A460")),s.SEAGREEN=r(s.fromCssColorString("#2E8B57")),s.SEASHELL=r(s.fromCssColorString("#FFF5EE")),s.SIENNA=r(s.fromCssColorString("#A0522D")),s.SILVER=r(s.fromCssColorString("#C0C0C0")),s.SKYBLUE=r(s.fromCssColorString("#87CEEB")),s.SLATEBLUE=r(s.fromCssColorString("#6A5ACD")),s.SLATEGRAY=r(s.fromCssColorString("#708090")),s.SLATEGREY=s.SLATEGRAY,s.SNOW=r(s.fromCssColorString("#FFFAFA")),s.SPRINGGREEN=r(s.fromCssColorString("#00FF7F")),s.STEELBLUE=r(s.fromCssColorString("#4682B4")),s.TAN=r(s.fromCssColorString("#D2B48C")),s.TEAL=r(s.fromCssColorString("#008080")),s.THISTLE=r(s.fromCssColorString("#D8BFD8")),s.TOMATO=r(s.fromCssColorString("#FF6347")),s.TURQUOISE=r(s.fromCssColorString("#40E0D0")),s.VIOLET=r(s.fromCssColorString("#EE82EE")),s.WHEAT=r(s.fromCssColorString("#F5DEB3")),s.WHITE=r(s.fromCssColorString("#FFFFFF")),s.WHITESMOKE=r(s.fromCssColorString("#F5F5F5")),s.YELLOW=r(s.fromCssColorString("#FFFF00")),s.YELLOWGREEN=r(s.fromCssColorString("#9ACD32")),s +}),define("Core/EncodedCartesian3",["./Cartesian3","./defined","./DeveloperError"],function(e,t){"use strict";var r=function(){this.high=e.clone(e.ZERO),this.low=e.clone(e.ZERO)};r.encode=function(e,r){t(r)||(r={high:0,low:0});var n;return e>=0?(n=65536*Math.floor(e/65536),r.high=n,r.low=e-n):(n=65536*Math.floor(-e/65536),r.high=-n,r.low=e+n),r};var n={high:0,low:0};r.fromCartesian=function(e,i){t(i)||(i=new r);var a=i.high,o=i.low;return r.encode(e.x,n),a.x=n.high,o.x=n.low,r.encode(e.y,n),a.y=n.high,o.y=n.low,r.encode(e.z,n),a.z=n.high,o.z=n.low,i};var i=new r;return r.writeElements=function(e,t,n){r.fromCartesian(e,i);var a=i.high,o=i.low;t[n]=a.x,t[n+1]=a.y,t[n+2]=a.z,t[n+3]=o.x,t[n+4]=o.y,t[n+5]=o.z},r}),define("Core/Tipsify",["./defaultValue","./defined","./DeveloperError"],function(e,t){"use strict";var r={};return r.calculateACMR=function(r){r=e(r,e.EMPTY_OBJECT);var n=r.indices,i=r.maximumIndex,a=e(r.cacheSize,24),o=n.length;if(!t(i)){i=0;for(var s=0,u=n[s];o>s;)u>i&&(i=u),++s,u=n[s]}for(var l=[],c=0;i+1>c;c++)l[c]=0;for(var f=a+1,h=0;o>h;++h)f-l[n[h]]>a&&(l[n[h]]=f,++f);return(f-a+1)/(o/3)},r.tipsify=function(r){function n(e,t,r,n){for(;t.length>=1;){var i=t[t.length-1];if(t.splice(t.length-1,1),e[i].numLiveTriangles>0)return i}for(;n>a;){if(e[a].numLiveTriangles>0)return++a,a-1;++a}return-1}function i(e,t,r,i,a,o,s){for(var u,l=-1,c=-1,f=0;fc||-1===c)&&(c=u,l=h)),++f}return-1===l?n(i,o,e,s):l}r=e(r,e.EMPTY_OBJECT);var a,o=r.indices,s=r.maximumIndex,u=e(r.cacheSize,24),l=o.length,c=0,f=0,h=o[f],d=l;if(t(s))c=s+1;else{for(;d>f;)h>c&&(c=h),++f,h=o[f];if(-1===c)return 0;++c}for(var m=[],p=0;c>p;p++)m[p]={numLiveTriangles:0,timeStamp:0,vertexTriangles:[]};f=0;for(var y=0;d>f;)m[o[f]].vertexTriangles.push(y),++m[o[f]].numLiveTriangles,m[o[f+1]].vertexTriangles.push(y),++m[o[f+1]].numLiveTriangles,m[o[f+2]].vertexTriangles.push(y),++m[o[f+2]].numLiveTriangles,++y,f+=3;var v=0,g=u+1;a=1;var E,S,C=[],w=[],x=0,T=[],O=l/3,A=[];for(p=0;O>p;p++)A[p]=!1;for(var M,_;-1!==v;){C=[],S=m[v],_=S.vertexTriangles.length;for(var D=0;_>D;++D)if(y=S.vertexTriangles[D],!A[y]){A[y]=!0,f=y+y+y;for(var b=0;3>b;++b)M=o[f],C.push(M),w.push(M),T[x]=M,++x,E=m[M],--E.numLiveTriangles,g-E.timeStamp>u&&(E.timeStamp=g,++g),++f}v=i(o,u,C,m,g,w,c)}return T},r}),define("Core/GeometryPipeline",["./barycentricCoordinates","./defaultValue","./defined","./DeveloperError","./Cartesian2","./Cartesian3","./Cartesian4","./Cartographic","./EncodedCartesian3","./Intersect","./IntersectionTests","./Math","./Matrix3","./Matrix4","./Plane","./GeographicProjection","./ComponentDatatype","./IndexDatatype","./PrimitiveType","./Tipsify","./BoundingSphere","./Geometry","./GeometryAttribute"],function(e,t,r,n,i,a,o,s,u,l,c,f,h,d,m,p,y,v,g,E,S,C,w){"use strict";function x(e,t,r,n,i){e[t++]=r,e[t++]=n,e[t++]=n,e[t++]=i,e[t++]=i,e[t]=r}function T(e){for(var t=e.length,r=6*(t/3),n=v.createTypedArray(t,r),i=0,a=0;t>a;a+=3,i+=6)x(n,i,e[a],e[a+1],e[a+2]);return n}function O(e){var t=e.length;if(t>=3){var r=6*(t-2),n=v.createTypedArray(t,r);x(n,0,e[0],e[1],e[2]);for(var i=6,a=3;t>a;++a,i+=6)x(n,i,e[a-1],e[a],e[a-2]);return n}return new Uint16Array}function A(e){if(e.length>0){for(var t=e.length-1,r=6*(t-1),n=v.createTypedArray(t,r),i=e[0],a=0,o=1;t>o;++o,a+=6)x(n,a,i,e[o],e[o+1]);return n}return new Uint16Array}function M(e){var t={};for(var n in e)if(e.hasOwnProperty(n)&&r(e[n])&&r(e[n].values)){var i=e[n];t[n]=new w({componentDatatype:i.componentDatatype,componentsPerAttribute:i.componentsPerAttribute,normalize:i.normalize,values:[]})}return t}function _(e,t,n){for(var i in t)if(t.hasOwnProperty(i)&&r(t[i])&&r(t[i].values))for(var a=t[i],o=0;oo;o+=3)a.unpack(n,o,Z),d.multiplyByPoint(e,Z,Z),a.pack(Z,n,o)}function b(e,t){if(r(t))for(var n=t.values,i=n.length,o=0;i>o;o+=3)a.unpack(n,o,Z),h.multiplyByVector(e,Z,Z),Z=a.normalize(Z,Z),a.pack(Z,n,o)}function I(e){var t,n=e.length,i={},a=e[0].geometry.attributes;for(t in a)if(a.hasOwnProperty(t)&&r(a[t])&&r(a[t].values)){for(var o=a[t],s=o.values.length,u=!0,l=1;n>l;++l){var c=e[l].geometry.attributes[t];if(!r(c)||o.componentDatatype.value!==c.componentDatatype.value||o.componentsPerAttribute!==c.componentsPerAttribute||o.normalize!==c.normalize){u=!1;break}s+=c.values.length}u&&(i[t]=new w({componentDatatype:o.componentDatatype,componentsPerAttribute:o.componentsPerAttribute,normalize:o.normalize,values:y.createTypedArray(o.componentDatatype,s)}))}return i}function N(e){if(r(e.indices))return e;for(var t=C.computeNumberOfVertices(e),n=v.createTypedArray(t,t),i=0;t>i;++i)n[i]=i;return e.indices=n,e}function P(e){var t=C.computeNumberOfVertices(e),r=v.createTypedArray(t,3*(t-2));r[0]=1,r[1]=0,r[2]=2;for(var n=3,i=3;t>i;++i)r[n++]=i-1,r[n++]=0,r[n++]=i;return e.indices=r,e.primitiveType=g.TRIANGLES,e}function R(e){var t=C.computeNumberOfVertices(e),r=v.createTypedArray(t,3*(t-2));r[0]=0,r[1]=1,r[2]=2,t>3&&(r[3]=0,r[4]=2,r[5]=3);for(var n=6,i=3;t-1>i;i+=2)r[n++]=i,r[n++]=i-1,r[n++]=i+1,t>i+2&&(r[n++]=i,r[n++]=i+1,r[n++]=i+2);return e.indices=r,e.primitiveType=g.TRIANGLES,e}function z(e){if(r(e.indices))return e;for(var t=C.computeNumberOfVertices(e),n=v.createTypedArray(t,t),i=0;t>i;++i)n[i]=i;return e.indices=n,e}function L(e){var t=C.computeNumberOfVertices(e),r=v.createTypedArray(t,2*(t-1));r[0]=0,r[1]=1;for(var n=2,i=2;t>i;++i)r[n++]=i-1,r[n++]=i;return e.indices=r,e.primitiveType=g.LINES,e}function F(e){var t=C.computeNumberOfVertices(e),r=v.createTypedArray(t,2*t);r[0]=0,r[1]=1;for(var n=2,i=2;t>i;++i)r[n++]=i-1,r[n++]=i;return r[n++]=t-1,r[n]=0,e.indices=r,e.primitiveType=g.LINES,e}function U(e){switch(e.primitiveType){case g.TRIANGLE_FAN:return P(e);case g.TRIANGLE_STRIP:return R(e);case g.TRIANGLES:return N(e);case g.LINE_STRIP:return L(e);case g.LINE_LOOP:return F(e);case g.LINES:return z(e)}return e}function B(e,t){Math.abs(e.y)=0||t.x>=0||r.x>=0)return void 0;var n=e.y<0,i=t.y<0,a=r.y<0;B(e,n),B(t,i),B(r,a);var o=0;o+=n?1:0,o+=i?1:0,o+=a?1:0;var s=ct.indices;1===o?(s[1]=3,s[2]=4,s[5]=6,s[7]=6,s[8]=5,n?(q(e,t,ot,ut),q(e,r,st,lt),s[0]=0,s[3]=1,s[4]=2,s[6]=1):i?(q(t,r,ot,ut),q(t,e,st,lt),s[0]=1,s[3]=2,s[4]=0,s[6]=2):a&&(q(r,e,ot,ut),q(r,t,st,lt),s[0]=2,s[3]=0,s[4]=1,s[6]=0)):2===o&&(s[2]=4,s[4]=4,s[5]=3,s[7]=5,s[8]=6,n?i?a||(q(r,e,ot,ut),q(r,t,st,lt),s[0]=0,s[1]=1,s[3]=0,s[6]=2):(q(t,r,ot,ut),q(t,e,st,lt),s[0]=2,s[1]=0,s[3]=2,s[6]=1):(q(e,t,ot,ut),q(e,r,st,lt),s[0]=1,s[1]=2,s[3]=1,s[6]=0));var u=ct.positions;return u[0]=e,u[1]=t,u[2]=r,ct.length=3,(1===o||2===o)&&(u[3]=ot,u[4]=st,u[5]=ut,u[6]=lt,ct.length=7),ct}function W(t,n,o,s,u,l,c,f){if(r(u)||r(l)||r(c)||r(f)){var h,d,m,p,y,v,g,E,S,C,w,x,T,O,A,M,_,D,b=s.positions,I=b[0],N=b[1],P=b[2];r(u)&&(h=a.fromArray(u,3*t),d=a.fromArray(u,3*n),m=a.fromArray(u,3*o)),r(l)&&(p=a.fromArray(l,3*t),y=a.fromArray(l,3*n),v=a.fromArray(l,3*o)),r(c)&&(g=a.fromArray(c,3*t),E=a.fromArray(c,3*n),S=a.fromArray(c,3*o)),r(f)&&(C=i.fromArray(f,2*t),w=i.fromArray(f,2*n),x=i.fromArray(f,2*o));for(var R=3;RE;E+=3){var S=l[E],w=l[E+1],x=l[E+2],T=a.fromArray(n,3*S),O=a.fromArray(n,3*w),A=a.fromArray(n,3*x),M=G(T,O,A);if(r(M))if(c[3*S+1]=M.positions[0].y,c[3*w+1]=M.positions[1].y,c[3*x+1]=M.positions[2].y,M.length>3){for(var _=c.length/3,D=0;Db?p.push(l[E+b]):p.push(b-3+_)}for(var I=3;Ih;h+=2){var d=i[h],p=i[h+1],y=a.fromArray(n,3*d),g=a.fromArray(n,3*p);if(Math.abs(y.y)c;c+=3)u[l++]=a[c],u[l++]=a[c+1],u[l++]=a[c+2],u[l++]=a[c]+o[c]*i,u[l++]=a[c+1]+o[c+1]*i,u[l++]=a[c+2]+o[c+2]*i;var f,h=e.boundingSphere;return r(h)&&(f=new S(h.center,h.radius+i)),new C({attributes:{position:new w({componentDatatype:y.DOUBLE,componentsPerAttribute:3,values:u})},primitiveType:g.LINES,boundingSphere:f})},j.createAttributeLocations=function(e){var t,n=["position","positionHigh","positionLow","position3DHigh","position3DLow","position2DHigh","position2DLow","pickColor","normal","st","binormal","tangent"],i=e.attributes,a={},o=0,s=n.length;for(t=0;s>t;++t){var u=n[t];r(i[u])&&(a[u]=o++)}for(var l in i)i.hasOwnProperty(l)&&!r(a[l])&&(a[l]=o++);return a},j.reorderForPreVertexCache=function(e){var t=C.computeNumberOfVertices(e),n=e.indices;if(r(n)){for(var i=new Int32Array(t),a=0;t>a;a++)i[a]=-1;for(var o,s=n,u=s.length,l=v.createTypedArray(t,u),c=0,f=0,h=0;u>c;)o=i[s[c]],-1!==o?l[f]=o:(o=s[c],i[o]=h,l[f]=h,++h),++c,++f;e.indices=l;var d=e.attributes;for(var m in d)if(d.hasOwnProperty(m)&&r(d[m])&&r(d[m].values)){for(var p=d[m],g=p.values,E=0,S=p.componentsPerAttribute,w=y.createTypedArray(p.componentDatatype,h*S);t>E;){var x=i[E];if(-1!==x)for(a=0;S>a;a++)w[S*x+a]=g[S*E+a];++E}p.values=w}}return e},j.reorderForPostVertexCache=function(e,t){var n=e.indices;if(e.primitiveType===g.TRIANGLES&&r(n)){for(var i=n.length,a=0,o=0;i>o;o++)n[o]>a&&(a=n[o]);e.indices=E.tipsify({indices:n,maximumIndex:a,cacheSize:t})}return e},j.fitToUnsignedShortIndices=function(e){var t=[],n=C.computeNumberOfVertices(e);if(r(e.indices)&&n>f.SIXTY_FOUR_KILOBYTES){var i,a=[],o=[],s=0,u=M(e.attributes),l=e.indices,c=l.length;e.primitiveType===g.TRIANGLES?i=3:e.primitiveType===g.LINES?i=2:e.primitiveType===g.POINTS&&(i=1);for(var h=0;c>h;h+=i){for(var d=0;i>d;++d){var m=l[h+d],p=a[m];r(p)||(p=s++,a[m]=p,_(u,e.attributes,m)),o.push(p)}s+i>f.SIXTY_FOUR_KILOBYTES&&(t.push(new C({attributes:u,indices:o,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere})),a=[],o=[],s=0,u=M(e.attributes))}0!==o.length&&t.push(new C({attributes:u,indices:o,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere}))}else t.push(e);return t};var V=new a,k=new s;j.projectTo2D=function(e,t,i,o,s){var u=e.attributes[t];s=r(s)?s:new p;for(var l=s.ellipsoid,c=u.values,f=new Float64Array(c.length),h=0,d=0;dc;++c)u.encode(a[c],K),s[c]=K.high,l[c]=K.low;var f=i.componentsPerAttribute;return e.attributes[r]=new w({componentDatatype:y.FLOAT,componentsPerAttribute:f,values:s}),e.attributes[n]=new w({componentDatatype:y.FLOAT,componentsPerAttribute:f,values:l}),delete e.attributes[t],e};var Z=new a,X=new d,J=new h;j.transformToWorldCoordinates=function(e){var t=e.modelMatrix;if(d.equals(t,d.IDENTITY))return e;var n=e.geometry.attributes;D(t,n.position),D(t,n.prevPosition),D(t,n.nextPosition),(r(n.normal)||r(n.binormal)||r(n.tangent))&&(d.inverse(t,X),d.transpose(X,X),d.getRotation(X,J),b(J,n.normal),b(J,n.binormal),b(J,n.tangent));var i=e.geometry.boundingSphere;return r(i)&&(e.geometry.boundingSphere=S.transform(i,t,i)),e.modelMatrix=d.clone(d.IDENTITY),e},j.combine=function(e){var t,n,i,o,s=e.length;e[0].modelMatrix;var u,l,c,f=r(e[0].geometry.indices),h=e[0].geometry.primitiveType,d=I(e);for(t in d)if(d.hasOwnProperty(t))for(u=d[t].values,o=0,n=0;s>n;++n)for(l=e[n].geometry.attributes[t].values,c=l.length,i=0;c>i;++i)u[o++]=l[i];var m;if(f){var p=0;for(n=0;s>n;++n)p+=e[n].geometry.indices.length;var y=C.computeNumberOfVertices(new C({attributes:d,primitiveType:g.POINTS})),E=v.createTypedArray(y,p),w=0,x=0;for(n=0;s>n;++n){var T=e[n].geometry.indices,O=T.length;for(o=0;O>o;++o)E[w++]=x+T[o];x+=C.computeNumberOfVertices(e[n].geometry)}m=E}var A,M=new a,_=0;for(n=0;s>n;++n){if(A=e[n].geometry.boundingSphere,!r(A)){M=void 0;break}a.add(A.center,M,M)}if(r(M))for(a.divideByScalar(M,s,M),n=0;s>n;++n){A=e[n].geometry.boundingSphere;var D=a.magnitude(a.subtract(A.center,M))+A.radius;D>_&&(_=D)}return new C({attributes:d,indices:m,primitiveType:h,boundingSphere:r(M)?new S(M,_):void 0})};var Q=new a,$=new a,et=new a,tt=new a;j.computeNormal=function(e){for(var t=e.indices,r=e.attributes,n=r.position.values,i=r.position.values.length/3,o=t.length,s=new Array(i),u=new Array(o/3),l=new Array(o),c=0;i>c;c++)s[c]={indexOffset:0,count:0,currentCount:0};var f=0;for(c=0;o>c;c+=3){var h=t[c],d=t[c+1],m=t[c+2],p=3*h,v=3*d,g=3*m;$.x=n[p],$.y=n[p+1],$.z=n[p+2],et.x=n[v],et.y=n[v+1],et.z=n[v+2],tt.x=n[g],tt.y=n[g+1],tt.z=n[g+2],s[h].count++,s[d].count++,s[m].count++,a.subtract(et,$,et),a.subtract(tt,$,tt),u[f]=a.cross(et,tt),f++}var E=0;for(c=0;i>c;c++)s[c].indexOffset+=E,E+=s[c].count;f=0;var S;for(c=0;o>c;c+=3){S=s[t[c]];var C=S.indexOffset+S.currentCount;l[C]=f,S.currentCount++,S=s[t[c+1]],C=S.indexOffset+S.currentCount,l[C]=f,S.currentCount++,S=s[t[c+2]],C=S.indexOffset+S.currentCount,l[C]=f,S.currentCount++,f++}var x=new Float32Array(3*i);for(c=0;i>c;c++){var T=3*c;if(S=s[c],S.count>0){for(a.clone(a.ZERO,Q),f=0;fl;l+=3){var d=t[l],m=t[l+1],p=t[l+2];c=3*d,f=3*m,h=3*p;var v=2*d,g=2*m,E=2*p,S=r[c],C=r[c+1],x=r[c+2],T=i[v],O=i[v+1],A=i[g+1]-O,M=i[E+1]-O,_=1/((i[g]-T)*M-(i[E]-T)*A),D=(M*(r[f]-S)-A*(r[h]-S))*_,b=(M*(r[f+1]-C)-A*(r[h+1]-C))*_,I=(M*(r[f+2]-x)-A*(r[h+2]-x))*_;u[c]+=D,u[c+1]+=b,u[c+2]+=I,u[f]+=D,u[f+1]+=b,u[f+2]+=I,u[h]+=D,u[h+1]+=b,u[h+2]+=I}var N=new Float32Array(3*o),P=new Float32Array(3*o);for(l=0;o>l;l++){c=3*l,f=c+1,h=c+2;var R=a.fromArray(n,c,rt),z=a.fromArray(u,c,it),L=a.dot(R,z);a.multiplyByScalar(R,L,nt),a.normalize(a.subtract(z,nt,z),z),P[c]=z.x,P[f]=z.y,P[h]=z.z,a.normalize(a.cross(R,z,z),z),N[c]=z.x,N[f]=z.y,N[h]=z.z}return e.attributes.tangent=new w({componentDatatype:y.FLOAT,componentsPerAttribute:3,values:P}),e.attributes.binormal=new w({componentDatatype:y.FLOAT,componentsPerAttribute:3,values:N}),e};var at=new a,ot=new a,st=new a,ut=new a,lt=new a,ct={positions:new Array(7),indices:new Array(9)};return j.wrapLongitude=function(e){var t=e.boundingSphere;if(r(t)){var n=t.center.x-t.radius;if(n>0||S.intersect(t,o.UNIT_Y)!==l.INTERSECTING)return e}return U(e),e.primitiveType===g.TRIANGLES?Y(e):e.primitiveType===g.LINES&&H(e),e},j}),define("Scene/PrimitivePipeline",["../Core/defined","../Core/defaultValue","../Core/Color","../Core/ComponentDatatype","../Core/DeveloperError","../Core/FeatureDetection","../Core/Geometry","../Core/GeometryAttribute","../Core/GeometryPipeline","../Core/Matrix4"],function(e,t,r,n,i,a,o,s,u,l){"use strict";function c(e,t,r){var n,i=!r,a=e.length;if(!i&&a>1){var o=e[0].modelMatrix;for(n=1;a>n;++n)if(!l.equals(o,e[n].modelMatrix)){i=!0;break}}if(i)for(n=0;a>n;++n)u.transformToWorldCoordinates(e[n]);else l.clone(e[0].modelMatrix,t)}function f(e,t){for(var i=e.length,a=0;i>a;++a){var o=e[a],u=o.geometry,l=u.attributes,c=l.position,f=4*(c.values.length/c.componentsPerAttribute);l.pickColor=new s({componentDatatype:n.UNSIGNED_BYTE,componentsPerAttribute:4,normalize:!0,values:new Uint8Array(f)});for(var h=t[a],d=r.floatToByte(h.red),m=r.floatToByte(h.green),p=r.floatToByte(h.blue),y=r.floatToByte(h.alpha),v=l.pickColor.values,g=0;f>g;g+=4)v[g]=d,v[g+1]=m,v[g+2]=p,v[g+3]=y}}function h(t){var r,n=t.length,i=[],a=t[0].attributes;for(r in a)if(a.hasOwnProperty(r)){for(var o=a[r],s=!0,u=1;n>u;++u){var l=t[u].attributes[r];if(!e(l)||o.componentDatatype.value!==l.componentDatatype.value||o.componentsPerAttribute!==l.componentsPerAttribute||o.normalize!==l.normalize){s=!1;break}}s&&i.push(r)}return i}function d(e,t){for(var r=e.length,i=0;r>i;++i)for(var a=e[i],u=a.attributes,l=a.geometry,c=o.computeNumberOfVertices(l),f=t.length,h=0;f>h;++h){for(var d=t[h],m=u[d],p=m.componentDatatype,y=m.value,v=y.length,g=n.createTypedArray(p,c*v),E=0;c>E;++E)g.set(y,E*v);l.attributes[d]=new s({componentDatatype:p,componentsPerAttribute:v,normalize:m.normalize,values:g})}}function m(e){var t,r=e.instances,i=e.pickIds,a=e.projection,o=e.elementIndexUintSupported,s=e.allow3DOnly,l=e.allowPicking,m=e.vertexCacheOptimize,p=e.modelMatrix,y=r.length;if(r[0].geometry.primitiveType,c(r,p,s),!s)for(t=0;y>t;++t)u.wrapLongitude(r[t].geometry);l&&f(r,i);var v=h(r);if(d(r,v),m)for(t=0;y>t;++t)u.reorderForPostVertexCache(r[t].geometry),u.reorderForPreVertexCache(r[t].geometry);var g,E=u.combine(r),S=E.attributes;if(s)for(g in S)S.hasOwnProperty(g)&&S[g].componentDatatype.value===n.DOUBLE.value&&u.encodeAttribute(E,g,g+"3DHigh",g+"3DLow");else for(g in S)if(S.hasOwnProperty(g)&&S[g].componentDatatype.value===n.DOUBLE.value){var C=g+"3D",w=g+"2D";u.projectTo2D(E,g,C,w,a),u.encodeAttribute(E,C,C+"High",C+"Low"),u.encodeAttribute(E,w,w+"High",w+"Low")}return o?[E]:u.fitToUnsignedShortIndices(E)}function p(e,t,r){for(var i=[],a=e.attributes,o=r.length,s=0;o>s;++s){var u=r[s],l=a[u],c=l.componentDatatype;c.value===n.DOUBLE.value&&(c=n.FLOAT);var f=n.createTypedArray(c,l.values);i.push({index:t[u],componentDatatype:c,componentsPerAttribute:l.componentsPerAttribute,normalize:l.normalize,values:f}),delete a[u]}return i}function y(r,n,i){for(var a=[],s=h(r),u=r.length,l={},c={},f=0;u>f;++f)for(var d=r[f],m=o.computeNumberOfVertices(d.geometry),p=s.length,y=0;p>y;++y)for(var v=s[y],g=i[v],E=m;E>0;){for(var S,C=t(c[v],0),w=n[C],x=w.length,T=0;x>T&&(S=w[T],S.index!==g);++T);e(a[f])||(a[f]={}),e(a[f][v])||(a[f][v]={dirty:!1,value:d.attributes[v].value,indices:[]});var O,A=S.values.length/S.componentsPerAttribute,M=t(l[v],0);A>M+E?(O=E,a[f][v].indices.push({attribute:S,offset:M,count:O}),l[v]=M+E):(O=A-M,a[f][v].indices.push({attribute:S,offset:M,count:O}),l[v]=0,c[v]=C+1),E-=O}return a}function v(t){return e(t.constructor.name)?{type:t.constructor.name,buffer:t.buffer}:t}function g(t){return e(t.type)?new S[t.type](t.buffer):t}if(!a.supportsTypedArrays())return{};var E={};E.combineGeometry=function(e){for(var t={instances:e.instances,pickIds:e.pickIds,ellipsoid:e.ellipsoid,projection:e.projection,elementIndexUintSupported:e.elementIndexUintSupported,allow3DOnly:e.allow3DOnly,allowPicking:e.allowPicking,vertexCacheOptimize:e.vertexCacheOptimize,modelMatrix:l.clone(e.modelMatrix)},r=m(t),n=u.createAttributeLocations(r[0]),i=t.instances,a=h(i),o=[],s=r.length,c=0;s>c;++c){var f=r[c];o.push(p(f,n,a))}var d=y(i,o,n);return{geometries:r,modelMatrix:t.modelMatrix,attributeLocations:n,vaAttributes:o,vaAttributeLocations:d}};var S={Int8Array:Int8Array,Uint8Array:Uint8Array,Int16Array:Int16Array,Uint16Array:Uint16Array,Int32Array:Int32Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array};return E.transferGeometry=function(t,r){var n,i=t.attributes;for(var o in i)i.hasOwnProperty(o)&&e(i[o])&&e(i[o].values)&&(n=i[o].values,a.supportsTransferringArrayBuffers()&&r.indexOf(i[o].values.buffer)<0&&r.push(n.buffer),e(n.type)||(i[o].values=v(n)));e(t.indices)&&(n=t.indices,a.supportsTransferringArrayBuffers()&&r.push(n.buffer),e(n.type)||(t.indices=v(t.indices)))},E.transferGeometries=function(e,t){for(var r=e.length,n=0;r>n;++n)E.transferGeometry(e[n],t)},E.transferPerInstanceAttributes=function(e,t){for(var r=e.length,n=0;r>n;++n)for(var i=e[n],o=i.length,s=0;o>s;++s){var u=i[s].values;a.supportsTransferringArrayBuffers()&&t.push(u.buffer),i[s].values=v(u)}},E.transferInstances=function(e,t){for(var r=e.length,n=0;r>n;++n){var i=e[n];E.transferGeometry(i.geometry,t)}},E.receiveGeometry=function(t){var r=t.attributes;for(var n in r)r.hasOwnProperty(n)&&e(r[n])&&e(r[n].values)&&(r[n].values=g(r[n].values));e(t.indices)&&(t.indices=g(t.indices))},E.receiveGeometries=function(e){for(var t=e.length,r=0;t>r;++r)E.receiveGeometry(e[r])},E.receivePerInstanceAttributes=function(e){for(var t=e.length,r=0;t>r;++r)for(var n=e[r],i=n.length,a=0;i>a;++a)n[a].values=g(n[a].values)},E.receiveInstances=function(e){for(var t=e.length,r=0;t>r;++r){var n=e[r];E.receiveGeometry(n.geometry)}},E}),define("Workers/createTaskProcessorWorker",["../Core/defaultValue","../Core/defined"],function(e,t){"use strict";var r=function(r){var n,i=[],a={id:void 0,result:void 0,error:void 0};return function(o){var s=o.data;i.length=0,a.id=s.id,a.error=void 0,a.result=void 0;try{a.result=r(s.parameters,i)}catch(u){a.error=u}t(n)||(n=e(self.webkitPostMessage,self.postMessage));try{n(a,i)}catch(u){a.result=void 0,a.error="postMessage failed with error: "+u+"\n with responseMessage: "+JSON.stringify(a),n(a)}}};return r}),define("Workers/createWallOutlineGeometry",["../Core/WallOutlineGeometry","../Core/Ellipsoid","../Scene/PrimitivePipeline","./createTaskProcessorWorker"],function(e,t,r,n){"use strict";function i(n,i){var a=n.geometry;a._ellipsoid=t.clone(a._ellipsoid);var o=e.createGeometry(a);return r.transferGeometry(o,i),{geometry:o,index:n.index}}return n(i)})}(); \ No newline at end of file diff --git a/Cesium/Workers/sanitizeHtml.js b/Cesium/Workers/sanitizeHtml.js new file mode 100644 index 0000000..21d8e22 --- /dev/null +++ b/Cesium/Workers/sanitizeHtml.js @@ -0,0 +1,23 @@ +/** + * Cesium - https://github.com/AnalyticalGraphicsInc/cesium + * + * Copyright 2011-2014 Cesium Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Columbus View (Pat. Pend.) + * + * Portions licensed separately. + * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details. + */ +!function(){define("Core/defined",[],function(){"use strict";var e=function(e){return void 0!==e};return e}),define("Core/RuntimeError",["./defined"],function(e){"use strict";var r=function(e){this.name="RuntimeError",this.message=e;var r;try{throw new Error}catch(t){r=t.stack}this.stack=r};return r.prototype.toString=function(){var r=this.name+": "+this.message;return e(this.stack)&&(r+="\n"+this.stack.toString()),r},r}),define("Core/freezeObject",["./defined"],function(e){"use strict";var r=Object.freeze;return e(r)||(r=function(e){return e}),r}),define("Core/defaultValue",["./freezeObject"],function(e){"use strict";var r=function(e,r){return void 0!==e?e:r};return r.EMPTY_OBJECT=e({}),r}),define("Workers/createTaskProcessorWorker",["../Core/defaultValue","../Core/defined"],function(e,r){"use strict";var t=function(t){var i,n=[],o={id:void 0,result:void 0,error:void 0};return function(s){var a=s.data;n.length=0,o.id=a.id,o.error=void 0,o.result=void 0;try{o.result=t(a.parameters,n)}catch(u){o.error=u}r(i)||(i=e(self.webkitPostMessage,self.postMessage));try{i(o,n)}catch(u){o.result=void 0,o.error="postMessage failed with error: "+u+"\n with responseMessage: "+JSON.stringify(o),i(o)}}};return t}),define("Workers/sanitizeHtml",["../Core/defined","../Core/RuntimeError","./createTaskProcessorWorker"],function(e,r,t){"use strict";var i,n="//caja.appspot.com/html-css-sanitizer-minified.js",o=function(t){if(!e(i)&&(self.window={},importScripts(n),i=window.html_sanitize,!e(i)))throw new r("Unable to load Google Caja sanitizer script.");return i(t)};return t(o)})}(); \ No newline at end of file diff --git a/Cesium/Workers/taskDispatcher.js b/Cesium/Workers/taskDispatcher.js new file mode 100644 index 0000000..5c071a6 --- /dev/null +++ b/Cesium/Workers/taskDispatcher.js @@ -0,0 +1,23 @@ +/** + * Cesium - https://github.com/AnalyticalGraphicsInc/cesium + * + * Copyright 2011-2014 Cesium Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Columbus View (Pat. Pend.) + * + * Portions licensed separately. + * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details. + */ +!function(){define("Core/defined",[],function(){"use strict";var e=function(e){return void 0!==e};return e}),define("Workers/taskDispatcher",["require","../Core/defined"],function(e,r){"use strict";var n={},t=function(t){var i=t.data.parameters.task,u=n[i];r(u)?u(t):e(["./"+i],function(e){n[i]=e,e(t)})};return t})}(); \ No newline at end of file diff --git a/Cesium/Workers/upsampleQuantizedTerrainMesh.js b/Cesium/Workers/upsampleQuantizedTerrainMesh.js new file mode 100644 index 0000000..977da51 --- /dev/null +++ b/Cesium/Workers/upsampleQuantizedTerrainMesh.js @@ -0,0 +1,59 @@ +/** + * Cesium - https://github.com/AnalyticalGraphicsInc/cesium + * + * Copyright 2011-2014 Cesium Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Columbus View (Pat. Pend.) + * + * Portions licensed separately. + * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details. + */ +/** +@license +mersenne-twister.js - https://gist.github.com/banksean/300494 + + Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura, + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. The names of its contributors may not be used to endorse or promote + products derived from this software without specific prior written + permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +!function(){define("Core/defined",[],function(){"use strict";var e=function(e){return void 0!==e};return e}),define("Core/freezeObject",["./defined"],function(e){"use strict";var t=Object.freeze;return e(t)||(t=function(e){return e}),t}),define("Core/defaultValue",["./freezeObject"],function(e){"use strict";var t=function(e,t){return void 0!==e?e:t};return t.EMPTY_OBJECT=e({}),t}),define("Core/DeveloperError",["./defined"],function(e){"use strict";var t=function(e){this.name="DeveloperError",this.message=e;var t;try{throw new Error}catch(n){t=n.stack}this.stack=t};return t.prototype.toString=function(){var t=this.name+": "+this.message;return e(this.stack)&&(t+="\n"+this.stack.toString()),t},t.throwInstantiationError=function(){throw new t("This function defines an interface and should not be called directly.")},t}),define("Core/Cartesian3",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,t,n,r){"use strict";var i=function(t,n,r){this.x=e(t,0),this.y=e(n,0),this.z=e(r,0)};i.fromSpherical=function(n,r){t(r)||(r=new i);var a=n.clock,o=n.cone,u=e(n.magnitude,1),s=u*Math.sin(o);return r.x=s*Math.cos(a),r.y=s*Math.sin(a),r.z=u*Math.cos(o),r},i.fromElements=function(e,n,r,a){return t(a)?(a.x=e,a.y=n,a.z=r,a):new i(e,n,r)},i.clone=function(e,n){return t(e)?t(n)?(n.x=e.x,n.y=e.y,n.z=e.z,n):new i(e.x,e.y,e.z):void 0},i.fromCartesian4=i.clone,i.packedLength=3,i.pack=function(t,n,r){r=e(r,0),n[r++]=t.x,n[r++]=t.y,n[r]=t.z},i.unpack=function(n,r,a){return r=e(r,0),t(a)||(a=new i),a.x=n[r++],a.y=n[r++],a.z=n[r],a},i.fromArray=i.unpack,i.getMaximumComponent=function(e){return Math.max(e.x,e.y,e.z)},i.getMinimumComponent=function(e){return Math.min(e.x,e.y,e.z)},i.getMinimumByComponent=function(e,n,r){return t(r)||(r=new i),r.x=Math.min(e.x,n.x),r.y=Math.min(e.y,n.y),r.z=Math.min(e.z,n.z),r},i.getMaximumByComponent=function(e,n,r){return t(r)||(r=new i),r.x=Math.max(e.x,n.x),r.y=Math.max(e.y,n.y),r.z=Math.max(e.z,n.z),r},i.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z},i.magnitude=function(e){return Math.sqrt(i.magnitudeSquared(e))};var a=new i;i.distance=function(e,t){return i.subtract(e,t,a),i.magnitude(a)},i.normalize=function(e,n){var r=i.magnitude(e);return t(n)?(n.x=e.x/r,n.y=e.y/r,n.z=e.z/r,n):new i(e.x/r,e.y/r,e.z/r)},i.dot=function(e,t){return e.x*t.x+e.y*t.y+e.z*t.z},i.multiplyComponents=function(e,n,r){return t(r)?(r.x=e.x*n.x,r.y=e.y*n.y,r.z=e.z*n.z,r):new i(e.x*n.x,e.y*n.y,e.z*n.z)},i.add=function(e,n,r){return t(r)?(r.x=e.x+n.x,r.y=e.y+n.y,r.z=e.z+n.z,r):new i(e.x+n.x,e.y+n.y,e.z+n.z)},i.subtract=function(e,n,r){return t(r)?(r.x=e.x-n.x,r.y=e.y-n.y,r.z=e.z-n.z,r):new i(e.x-n.x,e.y-n.y,e.z-n.z)},i.multiplyByScalar=function(e,n,r){return t(r)?(r.x=e.x*n,r.y=e.y*n,r.z=e.z*n,r):new i(e.x*n,e.y*n,e.z*n)},i.divideByScalar=function(e,n,r){return t(r)?(r.x=e.x/n,r.y=e.y/n,r.z=e.z/n,r):new i(e.x/n,e.y/n,e.z/n)},i.negate=function(e,n){return t(n)?(n.x=-e.x,n.y=-e.y,n.z=-e.z,n):new i(-e.x,-e.y,-e.z)},i.abs=function(e,n){return t(n)?(n.x=Math.abs(e.x),n.y=Math.abs(e.y),n.z=Math.abs(e.z),n):new i(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z))};var o=new i;i.lerp=function(e,t,n,r){return i.multiplyByScalar(t,n,o),r=i.multiplyByScalar(e,1-n,r),i.add(o,r,r)};var u=new i,s=new i;i.angleBetween=function(e,t){i.normalize(e,u),i.normalize(t,s);var n=i.dot(u,s),r=i.magnitude(i.cross(u,s,u));return Math.atan2(r,n)};var c=new i;return i.mostOrthogonalAxis=function(e,t){var n=i.normalize(e,c);return i.abs(n,n),t=n.x<=n.y?n.x<=n.z?i.clone(i.UNIT_X,t):i.clone(i.UNIT_Z,t):n.y<=n.z?i.clone(i.UNIT_Y,t):i.clone(i.UNIT_Z,t)},i.equals=function(e,n){return e===n||t(e)&&t(n)&&e.x===n.x&&e.y===n.y&&e.z===n.z},i.equalsEpsilon=function(e,n,r){return e===n||t(e)&&t(n)&&Math.abs(e.x-n.x)<=r&&Math.abs(e.y-n.y)<=r&&Math.abs(e.z-n.z)<=r},i.cross=function(e,n,r){var a=e.x,o=e.y,u=e.z,s=n.x,c=n.y,l=n.z,h=o*l-u*c,f=u*s-a*l,d=a*c-o*s;return t(r)?(r.x=h,r.y=f,r.z=d,r):new i(h,f,d)},i.ZERO=r(new i(0,0,0)),i.UNIT_X=r(new i(1,0,0)),i.UNIT_Y=r(new i(0,1,0)),i.UNIT_Z=r(new i(0,0,1)),i.prototype.clone=function(e){return i.clone(this,e)},i.prototype.equals=function(e){return i.equals(this,e)},i.prototype.equalsEpsilon=function(e,t){return i.equalsEpsilon(this,e,t)},i.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+")"},i}),define("ThirdParty/mersenne-twister",[],function(){var e=function(e){void 0==e&&(e=(new Date).getTime()),this.N=624,this.M=397,this.MATRIX_A=2567483615,this.UPPER_MASK=2147483648,this.LOWER_MASK=2147483647,this.mt=new Array(this.N),this.mti=this.N+1,this.init_genrand(e)};return e.prototype.init_genrand=function(e){for(this.mt[0]=e>>>0,this.mti=1;this.mti>>30;this.mt[this.mti]=(1812433253*((4294901760&e)>>>16)<<16)+1812433253*(65535&e)+this.mti,this.mt[this.mti]>>>=0}},e.prototype.genrand_int32=function(){var e,t=new Array(0,this.MATRIX_A);if(this.mti>=this.N){var n;for(this.mti==this.N+1&&this.init_genrand(5489),n=0;n>>1^t[1&e];for(;n>>1^t[1&e];e=this.mt[this.N-1]&this.UPPER_MASK|this.mt[0]&this.LOWER_MASK,this.mt[this.N-1]=this.mt[this.M-1]^e>>>1^t[1&e],this.mti=0}return e=this.mt[this.mti++],e^=e>>>11,e^=2636928640&e<<7,e^=4022730752&e<<15,e^=e>>>18,e>>>0},e.prototype.random=function(){return this.genrand_int32()*(1/4294967296)},e}),define("Core/Math",["./defaultValue","./defined","./DeveloperError","../ThirdParty/mersenne-twister"],function(e,t,n,r){"use strict";var i={};i.EPSILON1=.1,i.EPSILON2=.01,i.EPSILON3=.001,i.EPSILON4=1e-4,i.EPSILON5=1e-5,i.EPSILON6=1e-6,i.EPSILON7=1e-7,i.EPSILON8=1e-8,i.EPSILON9=1e-9,i.EPSILON10=1e-10,i.EPSILON11=1e-11,i.EPSILON12=1e-12,i.EPSILON13=1e-13,i.EPSILON14=1e-14,i.EPSILON15=1e-15,i.EPSILON16=1e-16,i.EPSILON17=1e-17,i.EPSILON18=1e-18,i.EPSILON19=1e-19,i.EPSILON20=1e-20,i.GRAVITATIONALPARAMETER=3986004418e5,i.SOLAR_RADIUS=6955e5,i.LUNAR_RADIUS=1737400,i.SIXTY_FOUR_KILOBYTES=65536,i.sign=function(e){return e>0?1:0>e?-1:0},i.sinh=function(e){var t=Math.pow(Math.E,e),n=Math.pow(Math.E,-1*e);return.5*(t-n)},i.cosh=function(e){var t=Math.pow(Math.E,e),n=Math.pow(Math.E,-1*e);return.5*(t+n)},i.lerp=function(e,t,n){return(1-n)*e+n*t},i.PI=Math.PI,i.ONE_OVER_PI=1/Math.PI,i.PI_OVER_TWO=.5*Math.PI,i.PI_OVER_THREE=Math.PI/3,i.PI_OVER_FOUR=Math.PI/4,i.PI_OVER_SIX=Math.PI/6,i.THREE_PI_OVER_TWO=.5*3*Math.PI,i.TWO_PI=2*Math.PI,i.ONE_OVER_TWO_PI=1/(2*Math.PI),i.RADIANS_PER_DEGREE=Math.PI/180,i.DEGREES_PER_RADIAN=180/Math.PI,i.RADIANS_PER_ARCSECOND=i.RADIANS_PER_DEGREE/3600,i.toRadians=function(e){return e*i.RADIANS_PER_DEGREE},i.toDegrees=function(e){return e*i.DEGREES_PER_RADIAN},i.convertLongitudeRange=function(e){var t=i.TWO_PI,n=e-Math.floor(e/t)*t;return n<-Math.PI?n+t:n>=Math.PI?n-t:n},i.negativePiToPi=function(e){for(var t=i.EPSILON10,n=i.PI,r=i.TWO_PI;-(n+t)>e;)e+=r;if(-n>e)return-n;for(;e>n+t;)e-=r;return e>n?n:e},i.zeroToTwoPi=function(e){var t=e%i.TWO_PI;return 0>t?(t+i.TWO_PI)%i.TWO_PI:t},i.equalsEpsilon=function(t,n,r){return r=e(r,0),Math.abs(t-n)<=r};var a=[1];i.factorial=function(e){var t=a.length;if(e>=t)for(var n=a[t-1],r=t;e>=r;r++)a.push(n*r);return a[e]},i.incrementWrap=function(t,n,r){return r=e(r,0),++t,t>n&&(t=r),t},i.isPowerOfTwo=function(e){return 0!==e&&0===(e&e-1)},i.nextPowerOfTwo=function(e){return--e,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,++e,e},i.clamp=function(e,t,n){return t>e?t:e>n?n:e};var o=new r;return i.setRandomNumberSeed=function(e){o=new r(e)},i.nextRandomNumber=function(){return o.random()},i}),define("Core/Cartographic",["./defaultValue","./defined","./DeveloperError","./freezeObject","./Math"],function(e,t,n,r,i){"use strict";var a=function(t,n,r){this.longitude=e(t,0),this.latitude=e(n,0),this.height=e(r,0)};return a.fromDegrees=function(n,r,o,u){return n=i.toRadians(e(n,0)),r=i.toRadians(e(r,0)),o=e(o,0),t(u)?(u.longitude=n,u.latitude=r,u.height=o,u):new a(n,r,o)},a.clone=function(e,n){return t(e)?t(n)?(n.longitude=e.longitude,n.latitude=e.latitude,n.height=e.height,n):new a(e.longitude,e.latitude,e.height):void 0},a.equals=function(e,n){return e===n||t(e)&&t(n)&&e.longitude===n.longitude&&e.latitude===n.latitude&&e.height===n.height},a.equalsEpsilon=function(e,n,r){return e===n||t(e)&&t(n)&&Math.abs(e.longitude-n.longitude)<=r&&Math.abs(e.latitude-n.latitude)<=r&&Math.abs(e.height-n.height)<=r},a.toString=function(e){return"("+e.longitude+", "+e.latitude+", "+e.height+")"},a.ZERO=r(new a(0,0,0)),a.prototype.clone=function(e){return a.clone(this,e)},a.prototype.equals=function(e){return a.equals(this,e)},a.prototype.equalsEpsilon=function(e,t){return a.equalsEpsilon(this,e,t)},a.prototype.toString=function(){return a.toString(this)},a}),define("Core/defineProperties",["./defined"],function(e){"use strict";var t=function(){try{return"x"in Object.defineProperty({},"x",{})}catch(e){return!1}}(),n=Object.defineProperties;return t&&e(n)||(n=function(e){return e}),n}),define("Core/Ellipsoid",["./freezeObject","./defaultValue","./defined","./defineProperties","./DeveloperError","./Math","./Cartesian3","./Cartographic"],function(e,t,n,r,i,a,o,u){"use strict";var s=function(e,n,r){e=t(e,0),n=t(n,0),r=t(r,0),this._radii=new o(e,n,r),this._radiiSquared=new o(e*e,n*n,r*r),this._radiiToTheFourth=new o(e*e*e*e,n*n*n*n,r*r*r*r),this._oneOverRadii=new o(0===e?0:1/e,0===n?0:1/n,0===r?0:1/r),this._oneOverRadiiSquared=new o(0===e?0:1/(e*e),0===n?0:1/(n*n),0===r?0:1/(r*r)),this._minimumRadius=Math.min(e,n,r),this._maximumRadius=Math.max(e,n,r),this._centerToleranceSquared=a.EPSILON1};r(s.prototype,{radii:{get:function(){return this._radii}},radiiSquared:{get:function(){return this._radiiSquared}},radiiToTheFourth:{get:function(){return this._radiiToTheFourth}},oneOverRadii:{get:function(){return this._oneOverRadii}},oneOverRadiiSquared:{get:function(){return this._oneOverRadiiSquared}},minimumRadius:{get:function(){return this._minimumRadius}},maximumRadius:{get:function(){return this._maximumRadius}}}),s.clone=function(e,t){if(!n(e))return void 0;var r=e._radii;return n(t)?(o.clone(r,t._radii),o.clone(e._radiiSquared,t._radiiSquared),o.clone(e._radiiToTheFourth,t._radiiToTheFourth),o.clone(e._oneOverRadii,t._oneOverRadii),o.clone(e._oneOverRadiiSquared,t._oneOverRadiiSquared),t._minimumRadius=e._minimumRadius,t._maximumRadius=e._maximumRadius,t._centerToleranceSquared=e._centerToleranceSquared,t):new s(r.x,r.y,r.z)},s.fromCartesian3=function(e){return n(e)?new s(e.x,e.y,e.z):new s},s.WGS84=e(new s(6378137,6378137,6356752.314245179)),s.UNIT_SPHERE=e(new s(1,1,1)),s.MOON=e(new s(a.LUNAR_RADIUS,a.LUNAR_RADIUS,a.LUNAR_RADIUS)),s.prototype.clone=function(e){return s.clone(this,e)},s.prototype.geocentricSurfaceNormal=o.normalize,s.prototype.geodeticSurfaceNormalCartographic=function(e,t){var r=e.longitude,i=e.latitude,a=Math.cos(i),u=a*Math.cos(r),s=a*Math.sin(r),c=Math.sin(i);return n(t)||(t=new o),t.x=u,t.y=s,t.z=c,o.normalize(t,t)},s.prototype.geodeticSurfaceNormal=function(e,t){return t=o.multiplyComponents(e,this._oneOverRadiiSquared,t),o.normalize(t,t)};var c=new o,l=new o;s.prototype.cartographicToCartesian=function(e,t){var n=c,r=l;this.geodeticSurfaceNormalCartographic(e,n),o.multiplyComponents(this._radiiSquared,n,r);var i=Math.sqrt(o.dot(n,r));return o.divideByScalar(r,i,r),o.multiplyByScalar(n,e.height,n),o.add(r,n,t)},s.prototype.cartographicArrayToCartesianArray=function(e,t){var r=e.length;n(t)?t.length=r:t=new Array(r);for(var i=0;r>i;i++)t[i]=this.cartographicToCartesian(e[i],t[i]);return t};var h=new o,f=new o,d=new o;s.prototype.cartesianToCartographic=function(e,t){var r=this.scaleToGeodeticSurface(e,f);if(!n(r))return void 0;var i=this.geodeticSurfaceNormal(r,h),s=o.subtract(e,r,d),c=Math.atan2(i.y,i.x),l=Math.asin(i.z),p=a.sign(o.dot(s,e))*o.magnitude(s);return n(t)?(t.longitude=c,t.latitude=l,t.height=p,t):new u(c,l,p)},s.prototype.cartesianArrayToCartographicArray=function(e,t){var r=e.length;n(t)?t.length=r:t=new Array(r);for(var i=0;r>i;++i)t[i]=this.cartesianToCartographic(e[i],t[i]);return t};var p=new o,m=new o;return s.prototype.scaleToGeodeticSurface=function(e,t){var r=e.x,i=e.y,u=e.z,s=this._oneOverRadii,c=s.x,l=s.y,h=s.z,f=r*r*c*c,d=i*i*l*l,y=u*u*h*h,x=f+d+y,v=Math.sqrt(1/x),w=o.multiplyByScalar(e,v,p);if(xa.EPSILON12);return n(t)?(t.x=r*O,t.y=i*R,t.z=u*_,t):new o(r*O,i*R,u*_)},s.prototype.scaleToGeocentricSurface=function(e,t){var n=e.x,r=e.y,i=e.z,a=this._oneOverRadiiSquared,u=1/Math.sqrt(n*n*a.x+r*r*a.y+i*i*a.z);return o.multiplyByScalar(e,u,t)},s.prototype.transformPositionToScaledSpace=function(e,t){return o.multiplyComponents(e,this._oneOverRadii,t)},s.prototype.transformPositionFromScaledSpace=function(e,t){return o.multiplyComponents(e,this._radii,t)},s.prototype.equals=function(e){return this===e||n(e)&&o.equals(this._radii,e._radii)},s.prototype.toString=function(){return this._radii.toString()},s}),define("Core/GeographicProjection",["./defaultValue","./defined","./defineProperties","./Cartesian3","./Cartographic","./Ellipsoid"],function(e,t,n,r,i,a){"use strict";var o=function(t){this._ellipsoid=e(t,a.WGS84),this._semimajorAxis=this._ellipsoid.maximumRadius,this._oneOverSemimajorAxis=1/this._semimajorAxis};return n(o.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}}),o.prototype.project=function(e,n){var i=this._semimajorAxis,a=e.longitude*i,o=e.latitude*i,u=e.height;return t(n)?(n.x=a,n.y=o,n.z=u,n):new r(a,o,u)},o.prototype.unproject=function(e,n){var r=this._oneOverSemimajorAxis,a=e.x*r,o=e.y*r,u=e.z;return t(n)?(n.longitude=a,n.latitude=o,n.height=u,n):new i(a,o,u)},o}),define("Core/Enumeration",["./defined"],function(e){"use strict";var t=function(t,n,r){if(this.value=t,this.name=n,e(r))for(var i in r)r.hasOwnProperty(i)&&(this[i]=r[i])};return t.prototype.valueOf=function(){return this.value},t.prototype.toString=function(){return this.name},t}),define("Core/Intersect",["./Enumeration"],function(e){"use strict";var t={OUTSIDE:new e(-1,"OUTSIDE"),INTERSECTING:new e(0,"INTERSECTING"),INSIDE:new e(1,"INSIDE")};return t}),define("Core/Interval",["./defaultValue"],function(e){"use strict";var t=function(t,n){this.start=e(t,0),this.stop=e(n,0)};return t}),define("Core/Cartesian4",["./defaultValue","./defined","./DeveloperError","./freezeObject"],function(e,t,n,r){"use strict";var i=function(t,n,r,i){this.x=e(t,0),this.y=e(n,0),this.z=e(r,0),this.w=e(i,0)};i.fromElements=function(e,n,r,a,o){return t(o)?(o.x=e,o.y=n,o.z=r,o.w=a,o):new i(e,n,r,a)},i.clone=function(e,n){return t(e)?t(n)?(n.x=e.x,n.y=e.y,n.z=e.z,n.w=e.w,n):new i(e.x,e.y,e.z,e.w):void 0},i.packedLength=4,i.pack=function(t,n,r){r=e(r,0),n[r++]=t.x,n[r++]=t.y,n[r++]=t.z,n[r]=t.w},i.unpack=function(n,r,a){return r=e(r,0),t(a)||(a=new i),a.x=n[r++],a.y=n[r++],a.z=n[r++],a.w=n[r],a},i.fromArray=i.unpack,i.getMaximumComponent=function(e){return Math.max(e.x,e.y,e.z,e.w)},i.getMinimumComponent=function(e){return Math.min(e.x,e.y,e.z,e.w)},i.getMinimumByComponent=function(e,n,r){return t(r)||(r=new i),r.x=Math.min(e.x,n.x),r.y=Math.min(e.y,n.y),r.z=Math.min(e.z,n.z),r.w=Math.min(e.w,n.w),r},i.getMaximumByComponent=function(e,n,r){return t(r)||(r=new i),r.x=Math.max(e.x,n.x),r.y=Math.max(e.y,n.y),r.z=Math.max(e.z,n.z),r.w=Math.max(e.w,n.w),r},i.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w},i.magnitude=function(e){return Math.sqrt(i.magnitudeSquared(e))};var a=new i;i.distance=function(e,t){return i.subtract(e,t,a),i.magnitude(a)},i.normalize=function(e,n){var r=i.magnitude(e);return t(n)?(n.x=e.x/r,n.y=e.y/r,n.z=e.z/r,n.w=e.w/r,n):new i(e.x/r,e.y/r,e.z/r,e.w/r)},i.dot=function(e,t){return e.x*t.x+e.y*t.y+e.z*t.z+e.w*t.w},i.multiplyComponents=function(e,n,r){return t(r)?(r.x=e.x*n.x,r.y=e.y*n.y,r.z=e.z*n.z,r.w=e.w*n.w,r):new i(e.x*n.x,e.y*n.y,e.z*n.z,e.w*n.w)},i.add=function(e,n,r){return t(r)?(r.x=e.x+n.x,r.y=e.y+n.y,r.z=e.z+n.z,r.w=e.w+n.w,r):new i(e.x+n.x,e.y+n.y,e.z+n.z,e.w+n.w)},i.subtract=function(e,n,r){return t(r)?(r.x=e.x-n.x,r.y=e.y-n.y,r.z=e.z-n.z,r.w=e.w-n.w,r):new i(e.x-n.x,e.y-n.y,e.z-n.z,e.w-n.w)},i.multiplyByScalar=function(e,n,r){return t(r)?(r.x=e.x*n,r.y=e.y*n,r.z=e.z*n,r.w=e.w*n,r):new i(e.x*n,e.y*n,e.z*n,e.w*n)},i.divideByScalar=function(e,n,r){return t(r)?(r.x=e.x/n,r.y=e.y/n,r.z=e.z/n,r.w=e.w/n,r):new i(e.x/n,e.y/n,e.z/n,e.w/n)},i.negate=function(e,n){return t(n)?(n.x=-e.x,n.y=-e.y,n.z=-e.z,n.w=-e.w,n):new i(-e.x,-e.y,-e.z,-e.w)},i.abs=function(e,n){return t(n)?(n.x=Math.abs(e.x),n.y=Math.abs(e.y),n.z=Math.abs(e.z),n.w=Math.abs(e.w),n):new i(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z),Math.abs(e.w))};var o=new i;i.lerp=function(e,t,n,r){return i.multiplyByScalar(t,n,o),r=i.multiplyByScalar(e,1-n,r),i.add(o,r,r)};var u=new i;return i.mostOrthogonalAxis=function(e,t){var n=i.normalize(e,u);return i.abs(n,n),t=n.x<=n.y?n.x<=n.z?n.x<=n.w?i.clone(i.UNIT_X,t):i.clone(i.UNIT_W,t):n.z<=n.w?i.clone(i.UNIT_Z,t):i.clone(i.UNIT_W,t):n.y<=n.z?n.y<=n.w?i.clone(i.UNIT_Y,t):i.clone(i.UNIT_W,t):n.z<=n.w?i.clone(i.UNIT_Z,t):i.clone(i.UNIT_W,t)},i.equals=function(e,n){return e===n||t(e)&&t(n)&&e.x===n.x&&e.y===n.y&&e.z===n.z&&e.w===n.w},i.equalsEpsilon=function(e,n,r){return e===n||t(e)&&t(n)&&Math.abs(e.x-n.x)<=r&&Math.abs(e.y-n.y)<=r&&Math.abs(e.z-n.z)<=r&&Math.abs(e.w-n.w)<=r},i.ZERO=r(new i(0,0,0,0)),i.UNIT_X=r(new i(1,0,0,0)),i.UNIT_Y=r(new i(0,1,0,0)),i.UNIT_Z=r(new i(0,0,1,0)),i.UNIT_W=r(new i(0,0,0,1)),i.prototype.clone=function(e){return i.clone(this,e)},i.prototype.equals=function(e){return i.equals(this,e)},i.prototype.equalsEpsilon=function(e,t){return i.equalsEpsilon(this,e,t)},i.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+", "+this.w+")"},i}),define("Core/Matrix3",["./Cartesian3","./defaultValue","./defined","./DeveloperError","./freezeObject","./Math"],function(e,t,n,r,i,a){"use strict";function o(e){for(var t=0,n=0;9>n;++n){var r=e[n];t+=r*r}return Math.sqrt(t)}function u(e){for(var t=0,n=0;3>n;++n){var r=e[c.getElementIndex(h[n],l[n])];t+=2*r*r}return Math.sqrt(t)}function s(e,t){for(var n=a.EPSILON15,r=0,i=1,o=0;3>o;++o){var u=Math.abs(e[c.getElementIndex(h[o],l[o])]);u>r&&(i=o,r=u)}var s=1,f=0,d=l[i],p=h[i];if(Math.abs(e[c.getElementIndex(p,d)])>n){var m,y=e[c.getElementIndex(p,p)],x=e[c.getElementIndex(d,d)],v=e[c.getElementIndex(p,d)],w=(y-x)/2/v;m=0>w?-1/(-w+Math.sqrt(1+w*w)):1/(w+Math.sqrt(1+w*w)),s=1/Math.sqrt(1+m*m),f=m*s}return t=c.clone(c.IDENTITY,t),t[c.getElementIndex(d,d)]=t[c.getElementIndex(p,p)]=s,t[c.getElementIndex(p,d)]=f,t[c.getElementIndex(d,p)]=-f,t}var c=function(e,n,r,i,a,o,u,s,c){this[0]=t(e,0),this[1]=t(i,0),this[2]=t(u,0),this[3]=t(n,0),this[4]=t(a,0),this[5]=t(s,0),this[6]=t(r,0),this[7]=t(o,0),this[8]=t(c,0)};c.clone=function(e,t){return n(e)?n(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t):new c(e[0],e[3],e[6],e[1],e[4],e[7],e[2],e[5],e[8]):void 0},c.fromArray=function(e,r,i){return r=t(r,0),n(i)||(i=new c),i[0]=e[r],i[1]=e[r+1],i[2]=e[r+2],i[3]=e[r+3],i[4]=e[r+4],i[5]=e[r+5],i[6]=e[r+6],i[7]=e[r+7],i[8]=e[r+8],i[9]=e[r+9],i},c.fromColumnMajorArray=function(e,t){return c.clone(e,t)},c.fromRowMajorArray=function(e,t){return n(t)?(t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8],t):new c(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])},c.fromQuaternion=function(e,t){var r=e.x*e.x,i=e.x*e.y,a=e.x*e.z,o=e.x*e.w,u=e.y*e.y,s=e.y*e.z,l=e.y*e.w,h=e.z*e.z,f=e.z*e.w,d=e.w*e.w,p=r-u-h+d,m=2*(i-f),y=2*(a+l),x=2*(i+f),v=-r+u-h+d,w=2*(s-o),g=2*(a-l),M=2*(s+o),z=-r-u+h+d;return n(t)?(t[0]=p,t[1]=x,t[2]=g,t[3]=m,t[4]=v,t[5]=M,t[6]=y,t[7]=w,t[8]=z,t):new c(p,m,y,x,v,w,g,M,z)},c.fromScale=function(e,t){return n(t)?(t[0]=e.x,t[1]=0,t[2]=0,t[3]=0,t[4]=e.y,t[5]=0,t[6]=0,t[7]=0,t[8]=e.z,t):new c(e.x,0,0,0,e.y,0,0,0,e.z)},c.fromUniformScale=function(e,t){return n(t)?(t[0]=e,t[1]=0,t[2]=0,t[3]=0,t[4]=e,t[5]=0,t[6]=0,t[7]=0,t[8]=e,t):new c(e,0,0,0,e,0,0,0,e)},c.fromRotationX=function(e,t){var r=Math.cos(e),i=Math.sin(e);return n(t)?(t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=r,t[5]=i,t[6]=0,t[7]=-i,t[8]=r,t):new c(1,0,0,0,r,-i,0,i,r)},c.fromRotationY=function(e,t){var r=Math.cos(e),i=Math.sin(e);return n(t)?(t[0]=r,t[1]=0,t[2]=-i,t[3]=0,t[4]=1,t[5]=0,t[6]=i,t[7]=0,t[8]=r,t):new c(r,0,i,0,1,0,-i,0,r)},c.fromRotationZ=function(e,t){var r=Math.cos(e),i=Math.sin(e);return n(t)?(t[0]=r,t[1]=i,t[2]=0,t[3]=-i,t[4]=r,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t):new c(r,-i,0,i,r,0,0,0,1)},c.toArray=function(e,t){return n(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8]]},c.getElementIndex=function(e,t){return 3*e+t},c.getColumn=function(t,r,i){var a=3*r,o=t[a],u=t[a+1],s=t[a+2];return n(i)?(i.x=o,i.y=u,i.z=s,i):new e(o,u,s)},c.setColumn=function(e,t,n,r){r=c.clone(e,r);var i=3*t;return r[i]=n.x,r[i+1]=n.y,r[i+2]=n.z,r},c.getRow=function(t,r,i){var a=t[r],o=t[r+3],u=t[r+6];return n(i)?(i.x=a,i.y=o,i.z=u,i):new e(a,o,u)},c.setRow=function(e,t,n,r){return r=c.clone(e,r),r[t]=n.x,r[t+3]=n.y,r[t+6]=n.z,r},c.multiply=function(e,t,r){var i=e[0]*t[0]+e[3]*t[1]+e[6]*t[2],a=e[1]*t[0]+e[4]*t[1]+e[7]*t[2],o=e[2]*t[0]+e[5]*t[1]+e[8]*t[2],u=e[0]*t[3]+e[3]*t[4]+e[6]*t[5],s=e[1]*t[3]+e[4]*t[4]+e[7]*t[5],l=e[2]*t[3]+e[5]*t[4]+e[8]*t[5],h=e[0]*t[6]+e[3]*t[7]+e[6]*t[8],f=e[1]*t[6]+e[4]*t[7]+e[7]*t[8],d=e[2]*t[6]+e[5]*t[7]+e[8]*t[8];return n(r)?(r[0]=i,r[1]=a,r[2]=o,r[3]=u,r[4]=s,r[5]=l,r[6]=h,r[7]=f,r[8]=d,r):new c(i,u,h,a,s,f,o,l,d)},c.multiplyByVector=function(t,r,i){var a=r.x,o=r.y,u=r.z,s=t[0]*a+t[3]*o+t[6]*u,c=t[1]*a+t[4]*o+t[7]*u,l=t[2]*a+t[5]*o+t[8]*u;return n(i)?(i.x=s,i.y=c,i.z=l,i):new e(s,c,l)},c.multiplyByScalar=function(e,t,r){return n(r)?(r[0]=e[0]*t,r[1]=e[1]*t,r[2]=e[2]*t,r[3]=e[3]*t,r[4]=e[4]*t,r[5]=e[5]*t,r[6]=e[6]*t,r[7]=e[7]*t,r[8]=e[8]*t,r):new c(e[0]*t,e[3]*t,e[6]*t,e[1]*t,e[4]*t,e[7]*t,e[2]*t,e[5]*t,e[8]*t)},c.negate=function(e,t){return n(t)?(t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t[4]=-e[4],t[5]=-e[5],t[6]=-e[6],t[7]=-e[7],t[8]=-e[8],t):new c(-e[0],-e[3],-e[6],-e[1],-e[4],-e[7],-e[2],-e[5],-e[8])},c.transpose=function(e,t){var r=e[0],i=e[3],a=e[6],o=e[1],u=e[4],s=e[7],l=e[2],h=e[5],f=e[8];return n(t)?(t[0]=r,t[1]=i,t[2]=a,t[3]=o,t[4]=u,t[5]=s,t[6]=l,t[7]=h,t[8]=f,t):new c(r,o,l,i,u,h,a,s,f)};var l=[1,0,0],h=[2,2,1],f=new c,d=new c;return c.getEigenDecomposition=function(e,t){var r=a.EPSILON20,i=10,l=0,h=0;n(t)||(t={});for(var p=t.unitary=c.clone(c.IDENTITY,t.unitary),m=t.diagonal=c.clone(e,t.diagonal),y=r*o(m);i>h&&u(m)>y;)s(m,f),c.transpose(f,d),c.multiply(m,f,m),c.multiply(d,m,m),c.multiply(p,f,p),++l>2&&(++h,l=0);return t},c.abs=function(e,t){return n(t)?(t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t[3]=Math.abs(e[3]),t[4]=Math.abs(e[4]),t[5]=Math.abs(e[5]),t[6]=Math.abs(e[6]),t[7]=Math.abs(e[7]),t[8]=Math.abs(e[8]),t):new c(Math.abs(e[0]),Math.abs(e[3]),Math.abs(e[6]),Math.abs(e[1]),Math.abs(e[4]),Math.abs(e[7]),Math.abs(e[2]),Math.abs(e[5]),Math.abs(e[8]))},c.determinant=function(e){var t=e[0],n=e[3],r=e[6],i=e[1],a=e[4],o=e[7],u=e[2],s=e[5],c=e[8];return t*(a*c-s*o)+i*(s*r-n*c)+u*(n*o-a*r)},c.inverse=function(e,t){var n=e[0],i=e[1],o=e[2],u=e[3],s=e[4],l=e[5],h=e[6],f=e[7],d=e[8],p=c.determinant(e);if(Math.abs(p)<=a.EPSILON15)throw new r("matrix is not invertible");var m=new c(s*d-f*l,h*l-u*d,u*f-h*s,f*o-i*d,n*d-h*o,h*i-n*f,i*l-s*o,u*o-n*l,n*s-u*i),y=1/p;return c.multiplyByScalar(m,y,t)},c.equals=function(e,t){return e===t||n(e)&&n(t)&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]},c.equalsEpsilon=function(e,t,r){return e===t||n(e)&&n(t)&&Math.abs(e[0]-t[0])<=r&&Math.abs(e[1]-t[1])<=r&&Math.abs(e[2]-t[2])<=r&&Math.abs(e[3]-t[3])<=r&&Math.abs(e[4]-t[4])<=r&&Math.abs(e[5]-t[5])<=r&&Math.abs(e[6]-t[6])<=r&&Math.abs(e[7]-t[7])<=r&&Math.abs(e[8]-t[8])<=r},c.IDENTITY=i(new c(1,0,0,0,1,0,0,0,1)),c.COLUMN0ROW0=0,c.COLUMN0ROW1=1,c.COLUMN0ROW2=2,c.COLUMN1ROW0=3,c.COLUMN1ROW1=4,c.COLUMN1ROW2=5,c.COLUMN2ROW0=6,c.COLUMN2ROW1=7,c.COLUMN2ROW2=8,c.prototype.clone=function(e){return c.clone(this,e)},c.prototype.equals=function(e){return c.equals(this,e)},c.prototype.equalsEpsilon=function(e,t){return c.equalsEpsilon(this,e,t)},c.prototype.toString=function(){return"("+this[0]+", "+this[3]+", "+this[6]+")\n"+"("+this[1]+", "+this[4]+", "+this[7]+")\n"+"("+this[2]+", "+this[5]+", "+this[8]+")"},c}),define("Core/RuntimeError",["./defined"],function(e){"use strict";var t=function(e){this.name="RuntimeError",this.message=e;var t;try{throw new Error}catch(n){t=n.stack}this.stack=t};return t.prototype.toString=function(){var t=this.name+": "+this.message;return e(this.stack)&&(t+="\n"+this.stack.toString()),t},t}),define("Core/Matrix4",["./Cartesian3","./Cartesian4","./defaultValue","./defined","./DeveloperError","./freezeObject","./Math","./Matrix3","./RuntimeError"],function(e,t,n,r,i,a,o,u,s){"use strict";var c=function(e,t,r,i,a,o,u,s,c,l,h,f,d,p,m,y){this[0]=n(e,0),this[1]=n(a,0),this[2]=n(c,0),this[3]=n(d,0),this[4]=n(t,0),this[5]=n(o,0),this[6]=n(l,0),this[7]=n(p,0),this[8]=n(r,0),this[9]=n(u,0),this[10]=n(h,0),this[11]=n(m,0),this[12]=n(i,0),this[13]=n(s,0),this[14]=n(f,0),this[15]=n(y,0)};c.clone=function(e,t){return r(e)?r(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t):new c(e[0],e[4],e[8],e[12],e[1],e[5],e[9],e[13],e[2],e[6],e[10],e[14],e[3],e[7],e[11],e[15]):void 0},c.fromArray=function(e,t,i){return t=n(t,0),r(i)||(i=new c),i[0]=e[t],i[1]=e[t+1],i[2]=e[t+2],i[3]=e[t+3],i[4]=e[t+4],i[5]=e[t+5],i[6]=e[t+6],i[7]=e[t+7],i[8]=e[t+8],i[9]=e[t+9],i[10]=e[t+10],i[11]=e[t+11],i[12]=e[t+12],i[13]=e[t+13],i[14]=e[t+14],i[15]=e[t+15],i},c.fromColumnMajorArray=function(e,t){return c.clone(e,t)},c.fromRowMajorArray=function(e,t){return r(t)?(t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15],t):new c(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])},c.fromRotationTranslation=function(e,t,n){return r(n)?(n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=0,n[4]=e[3],n[5]=e[4],n[6]=e[5],n[7]=0,n[8]=e[6],n[9]=e[7],n[10]=e[8],n[11]=0,n[12]=t.x,n[13]=t.y,n[14]=t.z,n[15]=1,n):new c(e[0],e[3],e[6],t.x,e[1],e[4],e[7],t.y,e[2],e[5],e[8],t.z,0,0,0,1)},new u,c.fromTranslationQuaternionRotationScale=function(e,t,n,i){r(i)||(i=new c);var a=n.x,o=n.y,u=n.z,s=t.x*t.x,l=t.x*t.y,h=t.x*t.z,f=t.x*t.w,d=t.y*t.y,p=t.y*t.z,m=t.y*t.w,y=t.z*t.z,x=t.z*t.w,v=t.w*t.w,w=s-d-y+v,g=2*(l-x),M=2*(h+m),z=2*(l+x),S=-s+d-y+v,E=2*(p-f),b=2*(h-m),I=2*(p+f),O=-s-d+y+v;return i[0]=w*a,i[1]=z*a,i[2]=b*a,i[3]=0,i[4]=g*o,i[5]=S*o,i[6]=I*o,i[7]=0,i[8]=M*u,i[9]=E*u,i[10]=O*u,i[11]=0,i[12]=e.x,i[13]=e.y,i[14]=e.z,i[15]=1,i},c.fromTranslation=function(e,t){return c.fromRotationTranslation(u.IDENTITY,e,t)},c.fromScale=function(e,t){return r(t)?(t[0]=e.x,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e.y,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e.z,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t):new c(e.x,0,0,0,0,e.y,0,0,0,0,e.z,0,0,0,0,1)},c.fromUniformScale=function(e,t){return r(t)?(t[0]=e,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t):new c(e,0,0,0,0,e,0,0,0,0,e,0,0,0,0,1)};var l=new e,h=new e,f=new e;c.fromCamera=function(t,n){var i=t.eye,a=t.target,o=t.up;e.normalize(e.subtract(a,i,l),l),e.normalize(e.cross(l,o,h),h),e.normalize(e.cross(h,l,f),f);var u=h.x,s=h.y,d=h.z,p=l.x,m=l.y,y=l.z,x=f.x,v=f.y,w=f.z,g=i.x,M=i.y,z=i.z,S=u*-g+s*-M+d*-z,E=x*-g+v*-M+w*-z,b=p*g+m*M+y*z;return r(n)?(n[0]=u,n[1]=x,n[2]=-p,n[3]=0,n[4]=s,n[5]=v,n[6]=-m,n[7]=0,n[8]=d,n[9]=w,n[10]=-y,n[11]=0,n[12]=S,n[13]=E,n[14]=b,n[15]=1,n):new c(u,s,d,S,x,v,w,E,-p,-m,-y,b,0,0,0,1)},c.computePerspectiveFieldOfView=function(e,t,n,i,a){var o=Math.tan(.5*e),u=1/o,s=u/t,l=(i+n)/(n-i),h=2*i*n/(n-i);return r(a)?(a[0]=s,a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=u,a[6]=0,a[7]=0,a[8]=0,a[9]=0,a[10]=l,a[11]=-1,a[12]=0,a[13]=0,a[14]=h,a[15]=0,a):new c(s,0,0,0,0,u,0,0,0,0,l,h,0,0,-1,0)},c.computeOrthographicOffCenter=function(e,t,n,i,a,o,u){var s=1/(t-e),l=1/(i-n),h=1/(o-a),f=-(t+e)*s,d=-(i+n)*l,p=-(o+a)*h;return s*=2,l*=2,h*=-2,r(u)?(u[0]=s,u[1]=0,u[2]=0,u[3]=0,u[4]=0,u[5]=l,u[6]=0,u[7]=0,u[8]=0,u[9]=0,u[10]=h,u[11]=0,u[12]=f,u[13]=d,u[14]=p,u[15]=1,u):new c(s,0,0,f,0,l,0,d,0,0,h,p,0,0,0,1)},c.computePerspectiveOffCenter=function(e,t,n,i,a,o,u){var s=2*a/(t-e),l=2*a/(i-n),h=(t+e)/(t-e),f=(i+n)/(i-n),d=-(o+a)/(o-a),p=-1,m=-2*o*a/(o-a);return r(u)?(u[0]=s,u[1]=0,u[2]=0,u[3]=0,u[4]=0,u[5]=l,u[6]=0,u[7]=0,u[8]=h,u[9]=f,u[10]=d,u[11]=p,u[12]=0,u[13]=0,u[14]=m,u[15]=0,u):new c(s,0,h,0,0,l,f,0,0,0,d,m,0,0,p,0)},c.computeInfinitePerspectiveOffCenter=function(e,t,n,i,a,o){var u=2*a/(t-e),s=2*a/(i-n),l=(t+e)/(t-e),h=(i+n)/(i-n),f=-1,d=-1,p=-2*a;return r(o)?(o[0]=u,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=s,o[6]=0,o[7]=0,o[8]=l,o[9]=h,o[10]=f,o[11]=d,o[12]=0,o[13]=0,o[14]=p,o[15]=0,o):new c(u,0,l,0,0,s,h,0,0,0,f,p,0,0,d,0)},c.computeViewportTransformation=function(e,t,i,a){e=n(e,n.EMPTY_OBJECT);var o=n(e.x,0),u=n(e.y,0),s=n(e.width,0),l=n(e.height,0);t=n(t,0),i=n(i,1);var h=.5*s,f=.5*l,d=.5*(i-t),p=h,m=f,y=d,x=o+h,v=u+f,w=t+d,g=1;return r(a)?(a[0]=p,a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=m,a[6]=0,a[7]=0,a[8]=0,a[9]=0,a[10]=y,a[11]=0,a[12]=x,a[13]=v,a[14]=w,a[15]=g,a):new c(p,0,0,x,0,m,0,v,0,0,y,w,0,0,0,g)},c.toArray=function(e,t){return r(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]]},c.getElementIndex=function(e,t){return 4*e+t},c.getColumn=function(e,n,i){var a=4*n,o=e[a],u=e[a+1],s=e[a+2],c=e[a+3];return r(i)?(i.x=o,i.y=u,i.z=s,i.w=c,i):new t(o,u,s,c)},c.setColumn=function(e,t,n,r){r=c.clone(e,r);var i=4*t;return r[i]=n.x,r[i+1]=n.y,r[i+2]=n.z,r[i+3]=n.w,r},c.getRow=function(e,n,i){var a=e[n],o=e[n+4],u=e[n+8],s=e[n+12];return r(i)?(i.x=a,i.y=o,i.z=u,i.w=s,i):new t(a,o,u,s)},c.setRow=function(e,t,n,r){return r=c.clone(e,r),r[t]=n.x,r[t+4]=n.y,r[t+8]=n.z,r[t+12]=n.w,r},c.multiply=function(e,t,n){var i=e[0],a=e[1],o=e[2],u=e[3],s=e[4],l=e[5],h=e[6],f=e[7],d=e[8],p=e[9],m=e[10],y=e[11],x=e[12],v=e[13],w=e[14],g=e[15],M=t[0],z=t[1],S=t[2],E=t[3],b=t[4],I=t[5],O=t[6],R=t[7],_=t[8],C=t[9],N=t[10],T=t[11],P=t[12],q=t[13],A=t[14],U=t[15],L=i*M+s*z+d*S+x*E,B=a*M+l*z+p*S+v*E,F=o*M+h*z+m*S+w*E,D=u*M+f*z+y*S+g*E,W=i*b+s*I+d*O+x*R,V=a*b+l*I+p*O+v*R,j=o*b+h*I+m*O+w*R,k=u*b+f*I+y*O+g*R,Z=i*_+s*C+d*N+x*T,H=a*_+l*C+p*N+v*T,G=o*_+h*C+m*N+w*T,K=u*_+f*C+y*N+g*T,Y=i*P+s*q+d*A+x*U,X=a*P+l*q+p*A+v*U,J=o*P+h*q+m*A+w*U,Q=u*P+f*q+y*A+g*U;return r(n)?(n[0]=L,n[1]=B,n[2]=F,n[3]=D,n[4]=W,n[5]=V,n[6]=j,n[7]=k,n[8]=Z,n[9]=H,n[10]=G,n[11]=K,n[12]=Y,n[13]=X,n[14]=J,n[15]=Q,n):new c(L,W,Z,Y,B,V,H,X,F,j,G,J,D,k,K,Q)},c.multiplyTransformation=function(e,t,n){var i=e[0],a=e[1],o=e[2],u=e[4],s=e[5],l=e[6],h=e[8],f=e[9],d=e[10],p=e[12],m=e[13],y=e[14],x=t[0],v=t[1],w=t[2],g=t[4],M=t[5],z=t[6],S=t[8],E=t[9],b=t[10],I=t[12],O=t[13],R=t[14],_=i*x+u*v+h*w,C=a*x+s*v+f*w,N=o*x+l*v+d*w,T=i*g+u*M+h*z,P=a*g+s*M+f*z,q=o*g+l*M+d*z,A=i*S+u*E+h*b,U=a*S+s*E+f*b,L=o*S+l*E+d*b,B=i*I+u*O+h*R+p,F=a*I+s*O+f*R+m,D=o*I+l*O+d*R+y;return r(n)?(n[0]=_,n[1]=C,n[2]=N,n[3]=0,n[4]=T,n[5]=P,n[6]=q,n[7]=0,n[8]=A,n[9]=U,n[10]=L,n[11]=0,n[12]=B,n[13]=F,n[14]=D,n[15]=1,n):new c(_,T,A,B,C,P,U,F,N,q,L,D,0,0,0,1) +},c.multiplyByTranslation=function(e,t,n){var i=t.x,a=t.y,o=t.z,u=i*e[0]+a*e[4]+o*e[8]+e[12],s=i*e[1]+a*e[5]+o*e[9]+e[13],l=i*e[2]+a*e[6]+o*e[10]+e[14];return r(n)?(n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=e[3],n[4]=e[4],n[5]=e[5],n[6]=e[6],n[7]=e[7],n[8]=e[8],n[9]=e[9],n[10]=e[10],n[11]=e[11],n[12]=u,n[13]=s,n[14]=l,n[15]=e[15],n):new c(e[0],e[4],e[8],u,e[1],e[5],e[9],s,e[2],e[6],e[10],l,e[3],e[7],e[11],e[15])};var d=new e;return c.multiplyByUniformScale=function(e,t,n){return d.x=t,d.y=t,d.z=t,c.multiplyByScale(e,d,n)},c.multiplyByScale=function(e,t,n){var i=t.x,a=t.y,o=t.z;return 1===i&&1===a&&1===o?c.clone(e,n):r(n)?(n[0]=i*e[0],n[1]=i*e[1],n[2]=i*e[2],n[3]=0,n[4]=a*e[4],n[5]=a*e[5],n[6]=a*e[6],n[7]=0,n[8]=o*e[8],n[9]=o*e[9],n[10]=o*e[10],n[11]=0,n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=1,n):new c(i*e[0],a*e[4],o*e[8],e[12],i*e[1],a*e[5],o*e[9],e[13],i*e[2],a*e[6],o*e[10],e[14],0,0,0,1)},c.multiplyByVector=function(e,n,i){var a=n.x,o=n.y,u=n.z,s=n.w,c=e[0]*a+e[4]*o+e[8]*u+e[12]*s,l=e[1]*a+e[5]*o+e[9]*u+e[13]*s,h=e[2]*a+e[6]*o+e[10]*u+e[14]*s,f=e[3]*a+e[7]*o+e[11]*u+e[15]*s;return r(i)?(i.x=c,i.y=l,i.z=h,i.w=f,i):new t(c,l,h,f)},c.multiplyByPointAsVector=function(t,n,i){var a=n.x,o=n.y,u=n.z,s=t[0]*a+t[4]*o+t[8]*u,c=t[1]*a+t[5]*o+t[9]*u,l=t[2]*a+t[6]*o+t[10]*u;return r(i)?(i.x=s,i.y=c,i.z=l,i):new e(s,c,l)},c.multiplyByPoint=function(t,n,i){var a=n.x,o=n.y,u=n.z,s=t[0]*a+t[4]*o+t[8]*u+t[12],c=t[1]*a+t[5]*o+t[9]*u+t[13],l=t[2]*a+t[6]*o+t[10]*u+t[14];return r(i)?(i.x=s,i.y=c,i.z=l,i):new e(s,c,l)},c.multiplyByScalar=function(e,t,n){return r(n)?(n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n[4]=e[4]*t,n[5]=e[5]*t,n[6]=e[6]*t,n[7]=e[7]*t,n[8]=e[8]*t,n[9]=e[9]*t,n[10]=e[10]*t,n[11]=e[11]*t,n[12]=e[12]*t,n[13]=e[13]*t,n[14]=e[14]*t,n[15]=e[15]*t,n):new c(e[0]*t,e[4]*t,e[8]*t,e[12]*t,e[1]*t,e[5]*t,e[9]*t,e[13]*t,e[2]*t,e[6]*t,e[10]*t,e[14]*t,e[3]*t,e[7]*t,e[11]*t,e[15]*t)},c.negate=function(e,t){return r(t)?(t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t[4]=-e[4],t[5]=-e[5],t[6]=-e[6],t[7]=-e[7],t[8]=-e[8],t[9]=-e[9],t[10]=-e[10],t[11]=-e[11],t[12]=-e[12],t[13]=-e[13],t[14]=-e[14],t[15]=-e[15],t):new c(-e[0],-e[4],-e[8],-e[12],-e[1],-e[5],-e[9],-e[13],-e[2],-e[6],-e[10],-e[14],-e[3],-e[7],-e[11],-e[15])},c.transpose=function(e,t){if(!r(t))return new c(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]);var n=e[1],i=e[2],a=e[3],o=e[6],u=e[7],s=e[11];return t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=n,t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=i,t[9]=o,t[10]=e[10],t[11]=e[14],t[12]=a,t[13]=u,t[14]=s,t[15]=e[15],t},c.abs=function(e,t){return r(t)?(t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t[3]=Math.abs(e[3]),t[4]=Math.abs(e[4]),t[5]=Math.abs(e[5]),t[6]=Math.abs(e[6]),t[7]=Math.abs(e[7]),t[8]=Math.abs(e[8]),t[9]=Math.abs(e[9]),t[10]=Math.abs(e[10]),t[11]=Math.abs(e[11]),t[12]=Math.abs(e[12]),t[13]=Math.abs(e[13]),t[14]=Math.abs(e[14]),t[15]=Math.abs(e[15]),t):new c(Math.abs(e[0]),Math.abs(e[4]),Math.abs(e[8]),Math.abs(e[12]),Math.abs(e[1]),Math.abs(e[5]),Math.abs(e[9]),Math.abs(e[13]),Math.abs(e[2]),Math.abs(e[6]),Math.abs(e[10]),Math.abs(e[14]),Math.abs(e[3]),Math.abs(e[7]),Math.abs(e[11]),Math.abs(e[15]))},c.equals=function(e,t){return e===t||r(e)&&r(t)&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15]},c.equalsEpsilon=function(e,t,n){return e===t||r(e)&&r(t)&&Math.abs(e[0]-t[0])<=n&&Math.abs(e[1]-t[1])<=n&&Math.abs(e[2]-t[2])<=n&&Math.abs(e[3]-t[3])<=n&&Math.abs(e[4]-t[4])<=n&&Math.abs(e[5]-t[5])<=n&&Math.abs(e[6]-t[6])<=n&&Math.abs(e[7]-t[7])<=n&&Math.abs(e[8]-t[8])<=n&&Math.abs(e[9]-t[9])<=n&&Math.abs(e[10]-t[10])<=n&&Math.abs(e[11]-t[11])<=n&&Math.abs(e[12]-t[12])<=n&&Math.abs(e[13]-t[13])<=n&&Math.abs(e[14]-t[14])<=n&&Math.abs(e[15]-t[15])<=n},c.getTranslation=function(t,n){return r(n)?(n.x=t[12],n.y=t[13],n.z=t[14],n):new e(t[12],t[13],t[14])},c.getRotation=function(e,t){return r(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[4],t[4]=e[5],t[5]=e[6],t[6]=e[8],t[7]=e[9],t[8]=e[10],t):new u(e[0],e[4],e[8],e[1],e[5],e[9],e[2],e[6],e[10])},c.inverse=function(e,t){var n=e[0],i=e[4],a=e[8],u=e[12],l=e[1],h=e[5],f=e[9],d=e[13],p=e[2],m=e[6],y=e[10],x=e[14],v=e[3],w=e[7],g=e[11],M=e[15],z=y*M,S=x*g,E=m*M,b=x*w,I=m*g,O=y*w,R=p*M,_=x*v,C=p*g,N=y*v,T=p*w,P=m*v,q=z*h+b*f+I*d-(S*h+E*f+O*d),A=S*l+R*f+N*d-(z*l+_*f+C*d),U=E*l+_*h+T*d-(b*l+R*h+P*d),L=O*l+C*h+P*f-(I*l+N*h+T*f),B=S*i+E*a+O*u-(z*i+b*a+I*u),F=z*n+_*a+C*u-(S*n+R*a+N*u),D=b*n+R*i+P*u-(E*n+_*i+T*u),W=I*n+N*i+T*a-(O*n+C*i+P*a);z=a*d,S=u*f,E=i*d,b=u*h,I=i*f,O=a*h,R=n*d,_=u*l,C=n*f,N=a*l,T=n*h,P=i*l;var V=z*w+b*g+I*M-(S*w+E*g+O*M),j=S*v+R*g+N*M-(z*v+_*g+C*M),k=E*v+_*w+T*M-(b*v+R*w+P*M),Z=O*v+C*w+P*g-(I*v+N*w+T*g),H=E*y+O*x+S*m-(I*x+z*m+b*y),G=C*x+z*p+_*y-(R*y+N*x+S*p),K=R*m+P*x+b*p-(T*x+E*p+_*m),Y=T*y+I*p+N*m-(C*m+P*y+O*p),X=n*q+i*A+a*U+u*L;if(Math.abs(X)b;b++){e.clone(t[b],i);var I=i.x,O=i.y,R=i.z;Is.x&&e.clone(i,s),Oc.y&&e.clone(i,c),RS.z&&e.clone(i,S)}var _=e.magnitudeSquared(e.subtract(s,a,v)),C=e.magnitudeSquared(e.subtract(c,o,v)),N=e.magnitudeSquared(e.subtract(S,u,v)),T=a,P=s,q=_;C>q&&(q=C,T=o,P=c),N>q&&(q=N,T=u,P=S);var A=w;A.x=.5*(T.x+P.x),A.y=.5*(T.y+P.y),A.z=.5*(T.z+P.z);var U=e.magnitudeSquared(e.subtract(P,A,v)),L=Math.sqrt(U),B=g;B.x=a.x,B.y=o.y,B.z=u.z;var F=M;F.x=s.x,F.y=c.y,F.z=S.z;var D=e.multiplyByScalar(e.add(B,F,v),.5,z),W=0;for(b=0;E>b;b++){e.clone(t[b],i);var V=e.magnitude(e.subtract(i,D,v));V>W&&(W=V);var j=e.magnitudeSquared(e.subtract(i,A,v));if(j>U){var k=Math.sqrt(j);L=.5*(L+k),U=L*L;var Z=k-L;A.x=(L*A.x+Z*i.x)/k,A.y=(L*A.y+Z*i.y)/k,A.z=(L*A.z+Z*i.z)/k}}return W>L?(e.clone(A,n.center),n.radius=L):(e.clone(D,n.center),n.radius=W),n};var S=new o,E=new e,b=new e,I=new t,O=new t;l.fromExtent2D=function(e,t,n){return l.fromExtentWithHeights2D(e,t,0,0,n)},l.fromExtentWithHeights2D=function(t,i,a,o,u){if(r(u)||(u=new l),!r(t))return u.center=e.clone(e.ZERO,u.center),u.radius=0,u;i=n(i,S),t.getSouthwest(I),I.height=a,t.getNortheast(O),O.height=o;var s=i.project(I,E),c=i.project(O,b),h=c.x-s.x,f=c.y-s.y,d=c.z-s.z;u.radius=.5*Math.sqrt(h*h+f*f+d*d);var p=u.center;return p.x=s.x+.5*h,p.y=s.y+.5*f,p.z=s.z+.5*d,u};var R=[];l.fromExtent3D=function(e,t,i,o){t=n(t,a.WGS84),i=n(i,0);var u;return r(e)&&(u=e.subsample(t,i,R)),l.fromPoints(u,o)},l.fromVertices=function(t,i,a,o){if(r(o)||(o=new l),!r(t)||0===t.length)return o.center=e.clone(e.ZERO,o.center),o.radius=0,o;i=n(i,e.ZERO),a=n(a,3);var u=x;u.x=t[0]+i.x,u.y=t[1]+i.y,u.z=t[2]+i.z;for(var s=e.clone(u,h),c=e.clone(u,f),S=e.clone(u,d),E=e.clone(u,p),b=e.clone(u,m),I=e.clone(u,y),O=t.length,R=0;O>R;R+=a){var _=t[R]+i.x,C=t[R+1]+i.y,N=t[R+2]+i.z;u.x=_,u.y=C,u.z=N,_E.x&&e.clone(u,E),Cb.y&&e.clone(u,b),NI.z&&e.clone(u,I)}var T=e.magnitudeSquared(e.subtract(E,s,v)),P=e.magnitudeSquared(e.subtract(b,c,v)),q=e.magnitudeSquared(e.subtract(I,S,v)),A=s,U=E,L=T;P>L&&(L=P,A=c,U=b),q>L&&(L=q,A=S,U=I);var B=w;B.x=.5*(A.x+U.x),B.y=.5*(A.y+U.y),B.z=.5*(A.z+U.z);var F=e.magnitudeSquared(e.subtract(U,B,v)),D=Math.sqrt(F),W=g;W.x=s.x,W.y=c.y,W.z=S.z;var V=M;V.x=E.x,V.y=b.y,V.z=I.z;var j=e.multiplyByScalar(e.add(W,V,v),.5,z),k=0;for(R=0;O>R;R+=a){u.x=t[R]+i.x,u.y=t[R+1]+i.y,u.z=t[R+2]+i.z;var Z=e.magnitude(e.subtract(u,j,v));Z>k&&(k=Z);var H=e.magnitudeSquared(e.subtract(u,B,v));if(H>F){var G=Math.sqrt(H);D=.5*(D+G),F=D*D;var K=G-D;B.x=(D*B.x+K*u.x)/G,B.y=(D*B.y+K*u.y)/G,B.z=(D*B.z+K*u.z)/G}}return k>D?(e.clone(B,o.center),o.radius=D):(e.clone(j,o.center),o.radius=k),o},l.fromCornerPoints=function(t,n,i){r(i)||(i=new l);var a=i.center;return e.add(t,n,a),e.multiplyByScalar(a,.5,a),i.radius=e.distance(a,n),i},l.fromEllipsoid=function(t,n){return r(n)||(n=new l),e.clone(e.ZERO,n.center),n.radius=t.maximumRadius,n},l.clone=function(t,n){return r(t)?r(n)?(n.center=e.clone(t.center,n.center),n.radius=t.radius,n):new l(t.center,t.radius):void 0};var _=new e,C=new e;l.union=function(t,n,i){r(i)||(i=new l);var a=t.center,o=n.center;e.add(a,o,C);var u=e.multiplyByScalar(C,.5,C),s=e.magnitude(e.subtract(a,u,_))+t.radius,c=e.magnitude(e.subtract(o,u,_))+n.radius;return i.radius=Math.max(s,c),e.clone(u,i.center),i};var N=new e;l.expand=function(t,n,r){r=l.clone(t,r);var i=e.magnitude(e.subtract(n,r.center,N));return i>r.radius&&(r.radius=i),r},l.intersect=function(t,n){var r=t.center,i=t.radius,a=e.dot(n,r)+n.w;return-i>a?u.OUTSIDE:i>a?u.INTERSECTING:u.INSIDE};var T=new e;l.transform=function(t,n,i){return r(i)||(i=new l),i.center=c.multiplyByPoint(n,t.center,i.center),i.radius=Math.max(e.magnitude(c.getColumn(n,0,T)),e.magnitude(c.getColumn(n,1,T)),e.magnitude(c.getColumn(n,2,T)))*t.radius,i},l.transformWithoutScale=function(e,t,n){return r(n)||(n=new l),n.center=c.multiplyByPoint(t,e.center,n.center),n.radius=e.radius,n};var P=new e;l.getPlaneDistances=function(t,n,i,a){r(a)||(a=new s);var o=e.subtract(t.center,n,P),u=e.multiplyByScalar(i,e.dot(i,o),P),c=e.magnitude(u);return a.start=c-t.radius,a.stop=c+t.radius,a};for(var q=new e,A=new e,U=new e,L=new e,B=new e,F=new t,D=new Array(8),W=0;8>W;++W)D[W]=new e;var V=new o;return l.projectTo2D=function(t,r,i){r=n(r,V);var a=r.ellipsoid,o=t.center,u=t.radius,s=a.geodeticSurfaceNormal(o,q),c=e.cross(e.UNIT_Z,s,A);e.normalize(c,c);var h=e.cross(s,c,U);e.normalize(h,h),e.multiplyByScalar(s,u,s),e.multiplyByScalar(h,u,h),e.multiplyByScalar(c,u,c);var f=e.negate(h,B),d=e.negate(c,L),p=D,m=p[0];e.add(s,h,m),e.add(m,c,m),m=p[1],e.add(s,h,m),e.add(m,d,m),m=p[2],e.add(s,f,m),e.add(m,d,m),m=p[3],e.add(s,f,m),e.add(m,c,m),e.negate(s,s),m=p[4],e.add(s,h,m),e.add(m,c,m),m=p[5],e.add(s,h,m),e.add(m,d,m),m=p[6],e.add(s,f,m),e.add(m,d,m),m=p[7],e.add(s,f,m),e.add(m,c,m);for(var y=p.length,x=0;y>x;++x){var v=p[x];e.add(o,v,v);var w=a.cartesianToCartographic(v,F);r.project(w,v)}i=l.fromPoints(p,i),o=i.center;var g=o.x,M=o.y,z=o.z;return o.x=z,o.y=g,o.z=M,i},l.equals=function(t,n){return t===n||r(t)&&r(n)&&e.equals(t.center,n.center)&&t.radius===n.radius},l.prototype.clone=function(e){return l.clone(this,e)},l.prototype.union=function(e,t){return l.union(this,e,t)},l.prototype.expand=function(e,t){return l.expand(this,e,t)},l.prototype.intersect=function(e){return l.intersect(this,e)},l.prototype.getPlaneDistances=function(e,t,n){return l.getPlaneDistances(this,e,t,n)},l.prototype.projectTo2D=function(e,t){return l.projectTo2D(this,e,t)},l.prototype.equals=function(e){return l.equals(this,e)},l}),define("Core/EllipsoidalOccluder",["./defaultValue","./defined","./defineProperties","./DeveloperError","./Cartesian3","./BoundingSphere"],function(e,t,n,r,i,a){"use strict";function o(e,t,n){var r=e.transformPositionToScaledSpace(t,d),a=i.magnitudeSquared(r),o=Math.sqrt(a),u=i.divideByScalar(r,o,p);a=Math.max(1,a),o=Math.max(1,o);var s=i.dot(u,n),c=i.magnitude(i.cross(u,n)),l=1/o,h=Math.sqrt(a-1)*l;return 1/(s*l-c*h)}function u(e,t,n){return 0>=t||t===1/0||t!==t?void 0:i.multiplyByScalar(e,t,n)}function s(e,t){return e.transformPositionToScaledSpace(t,m),i.normalize(m,m)}var c=function(e,n){this._ellipsoid=e,this._cameraPosition=new i,this._cameraPositionInScaledSpace=new i,this._distanceToLimbInScaledSpaceSquared=0,t(n)&&(this.cameraPosition=n)};n(c.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},cameraPosition:{get:function(){return this._cameraPosition},set:function(e){var t=this._ellipsoid,n=t.transformPositionToScaledSpace(e,this._cameraPositionInScaledSpace),r=i.magnitudeSquared(n)-1;i.clone(e,this._cameraPosition),this._cameraPositionInScaledSpace=n,this._distanceToLimbInScaledSpaceSquared=r}}});var l=new i;c.prototype.isPointVisible=function(e){var t=this._ellipsoid,n=t.transformPositionToScaledSpace(e,l);return this.isScaledSpacePointVisible(n)},c.prototype.isScaledSpacePointVisible=function(e){var t=this._cameraPositionInScaledSpace,n=this._distanceToLimbInScaledSpaceSquared,r=i.subtract(e,t,l),a=-i.dot(r,t),o=a>n&&a*a/i.magnitudeSquared(r)>n;return!o},c.prototype.computeHorizonCullingPoint=function(e,t,n){for(var r=this._ellipsoid,i=s(r,e),a=0,c=0,l=t.length;l>c;++c){var h=t[c],f=o(r,h,i);a=Math.max(a,f)}return u(i,a,n)};var h=new i;c.prototype.computeHorizonCullingPointFromVertices=function(t,n,r,a,c){a=e(a,i.ZERO);for(var l=this._ellipsoid,f=s(l,t),d=0,p=0,m=n.length;m>p;p+=r){h.x=n[p]+a.x,h.y=n[p+1]+a.y,h.z=n[p+2]+a.z;var y=o(l,h,f);d=Math.max(d,y)}return u(f,d,c)};var f=[];c.prototype.computeHorizonCullingPointFromExtent=function(e,t,n){var r=e.subsample(t,0,f),o=a.fromPoints(r);return i.magnitude(o.center)<.1*t.minimumRadius?void 0:this.computeHorizonCullingPoint(o.center,r,n)};var d=new i,p=new i,m=new i;return c}),define("Core/Fullscreen",["./defined"],function(e){"use strict";var t,n={requestFullscreen:void 0,exitFullscreen:void 0,fullscreenEnabled:void 0,fullscreenElement:void 0,fullscreenchange:void 0,fullscreenerror:void 0},r={};return r.supportsFullscreen=function(){if(e(t))return t;t=!1;var r=document.body;if("function"==typeof r.requestFullscreen)return n.requestFullscreen="requestFullscreen",n.exitFullscreen="exitFullscreen",n.fullscreenEnabled="fullscreenEnabled",n.fullscreenElement="fullscreenElement",n.fullscreenchange="fullscreenchange",n.fullscreenerror="fullscreenerror",t=!0;for(var i,a=["webkit","moz","o","ms","khtml"],o=0,u=a.length;u>o;++o){var s=a[o];i=s+"RequestFullscreen","function"==typeof r[i]?(n.requestFullscreen=i,t=!0):(i=s+"RequestFullScreen","function"==typeof r[i]&&(n.requestFullscreen=i,t=!0)),i=s+"ExitFullscreen","function"==typeof document[i]?n.exitFullscreen=i:(i=s+"CancelFullScreen","function"==typeof document[i]&&(n.exitFullscreen=i)),i=s+"FullscreenEnabled",e(document[i])?n.fullscreenEnabled=i:(i=s+"FullScreenEnabled",e(document[i])&&(n.fullscreenEnabled=i)),i=s+"FullscreenElement",e(document[i])?n.fullscreenElement=i:(i=s+"FullScreenElement",e(document[i])&&(n.fullscreenElement=i)),i=s+"fullscreenchange",e(document["on"+i])&&("ms"===s&&(i="MSFullscreenChange"),n.fullscreenchange=i),i=s+"fullscreenerror",e(document["on"+i])&&("ms"===s&&(i="MSFullscreenError"),n.fullscreenerror=i)}return t},r.requestFullscreen=function(e){r.supportsFullscreen()&&e[n.requestFullscreen]()},r.exitFullscreen=function(){r.supportsFullscreen()&&document[n.exitFullscreen]()},r.isFullscreenEnabled=function(){return r.supportsFullscreen()?document[n.fullscreenEnabled]:void 0},r.getFullscreenElement=function(){return r.supportsFullscreen()?document[n.fullscreenElement]:void 0},r.isFullscreen=function(){return r.supportsFullscreen()?null!==r.getFullscreenElement():void 0},r.getFullscreenChangeEventName=function(){return r.supportsFullscreen()?n.fullscreenchange:void 0},r.getFullscreenErrorEventName=function(){return r.supportsFullscreen()?n.fullscreenerror:void 0},r}),define("Core/FeatureDetection",["./defined","./Fullscreen"],function(e,t){"use strict";function n(e){for(var t=e.split("."),n=0,r=t.length;r>n;++n)t[n]=parseInt(t[n],10);return t}function r(){if(!e(h)){var t=/ Chrome\/([\.0-9]+)/.exec(navigator.userAgent);null===t?h=!1:(h=!0,f=n(t[1]))}return h}function i(){return r()&&f}function a(){if(!e(d))if(r()||!/ Safari\/[\.0-9]+/.test(navigator.userAgent))d=!1;else{var t=/ Version\/([\.0-9]+)/.exec(navigator.userAgent);null===t?d=!1:(d=!0,p=n(t[1]))}return d}function o(){return a()&&p}function u(){if(!e(m)){var t=/ AppleWebKit\/([\.0-9]+)(\+?)/.exec(navigator.userAgent);null===t?m=!1:(m=!0,y=n(t[1]),y.isNightly=!!t[2])}return m}function s(){return u()&&y}function c(){if(!e(x)){var t;"Microsoft Internet Explorer"===navigator.appName?(t=/MSIE ([0-9]{1,}[\.0-9]{0,})/.exec(navigator.userAgent),null!==t&&(x=!0,v=n(t[1]))):"Netscape"===navigator.appName?(t=/Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/.exec(navigator.userAgent),null!==t&&(x=!0,v=n(t[1]))):x=!1}return x}function l(){return c()&&v}var h,f,d,p,m,y,x,v,w={isChrome:r,chromeVersion:i,isSafari:a,safariVersion:o,isWebkit:u,webkitVersion:s,isInternetExplorer:c,internetExplorerVersion:l};w.supportsFullscreen=function(){return t.supportsFullscreen()},w.supportsTypedArrays=function(){return"undefined"!=typeof ArrayBuffer};var g;return w.supportsTransferringArrayBuffers=function(){if(!e(g)){if(!w.supportsTypedArrays())return g=!1,void 0;var t=new ArrayBuffer(1);try{postMessage({value:t},[t]),g=!0}catch(n){g=!1}}return g},w}),define("Core/Intersections2D",["./Cartesian3","./defined","./DeveloperError"],function(e,t){"use strict";var n={};return n.clipTriangleAtAxisAlignedThreshold=function(e,n,r,i,a,o){t(o)?o.length=0:o=[];var u,s,c;n?(u=e>r,s=e>i,c=e>a):(u=r>e,s=i>e,c=a>e);var l,h,f,d,p,m,y=u+s+c;return 1===y?u?(l=(e-r)/(i-r),h=(e-r)/(a-r),o.push(1),o.push(2),1!==h&&(o.push(-1),o.push(0),o.push(2),o.push(h)),1!==l&&(o.push(-1),o.push(0),o.push(1),o.push(l))):s?(f=(e-i)/(a-i),d=(e-i)/(r-i),o.push(2),o.push(0),1!==d&&(o.push(-1),o.push(1),o.push(0),o.push(d)),1!==f&&(o.push(-1),o.push(1),o.push(2),o.push(f))):c&&(p=(e-a)/(r-a),m=(e-a)/(i-a),o.push(0),o.push(1),1!==m&&(o.push(-1),o.push(2),o.push(1),o.push(m)),1!==p&&(o.push(-1),o.push(2),o.push(0),o.push(p))):2===y?u||r===e?s||i===e?c||a===e||(h=(e-r)/(a-r),f=(e-i)/(a-i),o.push(2),o.push(-1),o.push(0),o.push(2),o.push(h),o.push(-1),o.push(1),o.push(2),o.push(f)):(m=(e-a)/(i-a),l=(e-r)/(i-r),o.push(1),o.push(-1),o.push(2),o.push(1),o.push(m),o.push(-1),o.push(0),o.push(1),o.push(l)):(d=(e-i)/(r-i),p=(e-a)/(r-a),o.push(0),o.push(-1),o.push(1),o.push(0),o.push(d),o.push(-1),o.push(2),o.push(0),o.push(p)):3===y||(o.push(0),o.push(1),o.push(2)),o},n.computeBarycentricCoordinates=function(n,r,i,a,o,u,s,c,l){var h=i-s,f=s-o,d=u-c,p=a-c,m=1/(d*h+f*p),y=r-c,x=n-s,v=(d*x+f*y)*m,w=(-p*x+h*y)*m,g=1-v-w;return t(l)?(l.x=v,l.y=w,l.z=g,l):new e(v,w,g)},n}),define("Workers/createTaskProcessorWorker",["../Core/defaultValue","../Core/defined"],function(e,t){"use strict";var n=function(n){var r,i=[],a={id:void 0,result:void 0,error:void 0};return function(o){var u=o.data;i.length=0,a.id=u.id,a.error=void 0,a.result=void 0;try{a.result=n(u.parameters,i)}catch(s){a.error=s}t(r)||(r=e(self.webkitPostMessage,self.postMessage));try{r(a,i)}catch(s){a.result=void 0,a.error="postMessage failed with error: "+s+"\n with responseMessage: "+JSON.stringify(a),r(a)}}};return n}),define("Workers/upsampleQuantizedTerrainMesh",["../Core/BoundingSphere","../Core/Cartesian3","../Core/Cartographic","../Core/defined","../Core/Ellipsoid","../Core/EllipsoidalOccluder","../Core/FeatureDetection","../Core/Intersections2D","../Core/Math","./createTaskProcessorWorker"],function(e,t,n,r,i,a,o,u,s,c){"use strict";function l(n,r){var c=n.isEastChild,l=n.isNorthChild,b=c?.5:0,I=c?1:.5,O=l?.5:0,R=l?1:.5,_=w,C=g,N=M;_.length=0,C.length=0,N.length=0;var T=z;T.length=0;var P,q,A,U={},L=n.vertices,B=n.indices,F=L.length/3,D=L.subarray(0,F),W=L.subarray(F,2*F),V=L.subarray(2*F,3*F),j=0;for(P=0;F>P;++P)q=D[P]/d,A=W[P]/d,(c&&q>=.5||!c&&.5>=q)&&(l&&A>=.5||!l&&.5>=A)&&(U[P]=j,_.push(q),C.push(A),N.push(V[P]),++j);var k=[];k.push(new h),k.push(new h),k.push(new h);var Z=[];Z.push(new h),Z.push(new h),Z.push(new h);var H,G;for(P=0;P=et.length||(H=Z[0].initializeFromClipResult(et,H,k),H>=et.length||(H=Z[1].initializeFromClipResult(et,H,k),H>=et.length||(H=Z[2].initializeFromClipResult(et,H,k),G=u.clipTriangleAtAxisAlignedThreshold(.5,l,Z[0].getV(),Z[1].getV(),Z[2].getV(),m),f(_,C,N,T,U,G,Z),H=q?(at.push(P),q=0):q>=I?(ut.push(P),q=1):q=2*q+tt,_[P]=q,A=C[P],O>=A?(ot.push(P),A=0):A>=R?(st.push(P),A=1):A=2*A+nt,C[P]=A;var pt=s.lerp(rt,it,N[P]/d);ct>pt&&(ct=pt),pt>lt&&(lt=pt),N[P]=pt,x.longitude=s.lerp(dt.west,dt.east,q),x.latitude=s.lerp(dt.south,dt.north,A),x.height=pt,ft.cartographicToCartesian(x,v),ht.push(v.x),ht.push(v.y),ht.push(v.z)}var mt=e.fromVertices(ht,t.ZERO,3,E),yt=new a(ft),xt=yt.computeHorizonCullingPointFromVertices(mt.center,ht,3,mt.center,S),vt=lt-ct,wt=new Uint16Array(_.length+C.length+N.length);for(P=0;P<_.length;++P)wt[P]=_[P]*d;var gt=_.length;for(P=0;Pl;++l){var h=b[l];if(h.isIndexed())h.newIndex=a[h.index],h.uBuffer=e,h.vBuffer=t,h.heightBuffer=n;else{var f=h.getKey();if(r(a[f]))h.newIndex=a[f];else{var d=e.length;e.push(h.getU()),t.push(h.getV()),n.push(h.getH()),h.newIndex=d,a[f]=d}}}3===s?(i.push(b[0].newIndex),i.push(b[1].newIndex),i.push(b[2].newIndex)):4===s&&(i.push(b[0].newIndex),i.push(b[1].newIndex),i.push(b[2].newIndex),i.push(b[0].newIndex),i.push(b[2].newIndex),i.push(b[3].newIndex))}}var d=32767,p=[],m=[],y=[],x=new n,v=new t,w=[],g=[],M=[],z=[],S=new t,E=new e;h.prototype.clone=function(e){return r(e)||(e=new h),e.uBuffer=this.uBuffer,e.vBuffer=this.vBuffer,e.heightBuffer=this.heightBuffer,e.index=this.index,e.first=this.first,e.second=this.second,e.ratio=this.ratio,e},h.prototype.initializeIndexed=function(e,t,n,r){this.uBuffer=e,this.vBuffer=t,this.heightBuffer=n,this.index=r,this.first=void 0,this.second=void 0,this.ratio=void 0},h.prototype.initializeInterpolated=function(e,t,n){this.vertexBuffer=void 0,this.index=void 0,this.newIndex=void 0,this.first=e,this.second=t,this.ratio=n},h.prototype.initializeFromClipResult=function(e,t,n){var r=t+1;return-1!==e[t]?n[e[t]].clone(this):(this.vertexBuffer=void 0,this.index=void 0,this.first=n[e[r]],++r,this.second=n[e[r]],++r,this.ratio=e[r],++r),r},h.prototype.getKey=function(){return this.isIndexed()?this.index:JSON.stringify({first:this.first.getKey(),second:this.second.getKey(),ratio:this.ratio})},h.prototype.isIndexed=function(){return r(this.index)},h.prototype.getH=function(){return r(this.index)?this.heightBuffer[this.index]:s.lerp(this.first.getH(),this.second.getH(),this.ratio)},h.prototype.getU=function(){return r(this.index)?this.uBuffer[this.index]/d:s.lerp(this.first.getU(),this.second.getU(),this.ratio)},h.prototype.getV=function(){return r(this.index)?this.vBuffer[this.index]/d:s.lerp(this.first.getV(),this.second.getV(),this.ratio)};var b=[];return b.push(new h),b.push(new h),b.push(new h),b.push(new h),c(l)})}(); \ No newline at end of file diff --git a/DrawHelper.css b/DrawHelper.css index fa82c67..b0599c7 100644 --- a/DrawHelper.css +++ b/DrawHelper.css @@ -69,7 +69,34 @@ css rules for the draw helper components background: #eee; } -.toolbar > .divider { - margin: 10px 5px; - border-top: 1px solid grey; +/* +css rules for the infowindow +*/ + +.infoWindow { + position: absolute; + min-width: 100px; + max-width: 300px; +} +.infoWindow #frame { + padding: 10px; + border: 1px solid black; + background: white; +} +.infoWindow #close { + float: right; + margin: 5px 2px; + font-size: small; + color: gray; + cursor: pointer; } +.infoWindow #arrow { + position: absolute; + bottom: -8px; + left: 50%; + margin-left: -10px; + border-right: 10px solid transparent; + border-left: 10px solid transparent; + border-top: 10px solid white; +} + diff --git a/DrawHelper.js b/DrawHelper.js index 9c99803..b7dd08c 100644 --- a/DrawHelper.js +++ b/DrawHelper.js @@ -29,7 +29,7 @@ var DrawHelper = (function() { var scene = this._scene; var _self = this; // scene events - var handler = new Cesium.ScreenSpaceEventHandler(scene.getCanvas()); + var handler = new Cesium.ScreenSpaceEventHandler(scene.canvas); function callPrimitiveCallback(name, position) { if(_self._handlersMuted == true) return; var pickedObject = scene.pick(position); @@ -40,7 +40,7 @@ var DrawHelper = (function() { handler.setInputAction( function (movement) { callPrimitiveCallback('leftClick', movement.position); - }, Cesium.ScreenSpaceEventType.LEFT_CLICK); + }, Cesium.ScreenSpaceEventType.LEFT_CLICK); handler.setInputAction( function (movement) { callPrimitiveCallback('leftDoubleClick', movement.position); @@ -131,7 +131,7 @@ var DrawHelper = (function() { } _.prototype.setHighlighted = function(surface) { - if(this._highlightedSurface && !this._highlightedSurface.isDestroyed()) { + if(this._highlightedSurface && !this._highlightedSurface.isDestroyed() && this._highlightedSurface != surface) { this._highlightedSurface.setHighlighted(false); } this._highlightedSurface = surface; @@ -162,9 +162,9 @@ var DrawHelper = (function() { var defaultSurfaceOptions = copyOptions(defaultShapeOptions, { appearance: new Cesium.EllipsoidSurfaceAppearance({ - material: material, aboveGround : false }), + material : material, granularity: Math.PI / 180.0 }); @@ -178,11 +178,16 @@ var DrawHelper = (function() { geodesic: true, granularity: 10000, appearance: new Cesium.PolylineMaterialAppearance({ - material : material, aboveGround : false - }) + }), + material : material }); +// Cesium.Polygon.prototype.setStrokeStyle = setStrokeStyle; +// +// Cesium.Polygon.prototype.drawOutline = drawOutline; +// + var ChangeablePrimitive = (function() { function _() { } @@ -200,6 +205,7 @@ var DrawHelper = (function() { // set the flags to initiate a first drawing this._createPrimitive = true; this._primitive = undefined; + this._outlinePolygon = undefined; } @@ -268,11 +274,35 @@ var DrawHelper = (function() { appearance : this.appearance, asynchronous : this.asynchronous }); + + this._outlinePolygon = this._outlinePolygon && this._outlinePolygon.destroy(); + if(this.strokeColor && this.getOutlineGeometry) { + // create the highlighting frame + this._outlinePolygon = new Cesium.Primitive({ + geometryInstances : new Cesium.GeometryInstance({ + geometry : this.getOutlineGeometry(), + attributes : { + color : Cesium.ColorGeometryInstanceAttribute.fromColor(this.strokeColor) + } + }), + appearance : new Cesium.PerInstanceColorAppearance({ + flat : true, + renderState : { + depthTest : { + enabled : true + }, + lineWidth : Math.min(this.strokeWidth || 4.0, context._aliasedLineWidthRange[1]) + } + }) + }); + } } var primitive = this._primitive; + primitive.appearance.material = this.material; primitive.debugShowBoundingVolume = this.debugShowBoundingVolume; primitive.update(context, frameState, commandList); + this._outlinePolygon && this._outlinePolygon.update(context, frameState, commandList); }; @@ -285,10 +315,116 @@ var DrawHelper = (function() { return Cesium.destroyObject(this); }; + _.prototype.setStrokeStyle = function(strokeColor, strokeWidth) { + if(!this.strokeColor || !this.strokeColor.equals(strokeColor) || this.strokeWidth != strokeWidth) { + this._createPrimitive = true; + this.strokeColor = strokeColor; + this.strokeWidth = strokeWidth; + } + } + + return _; + })(); + + _.ExtentPrimitive = (function() { + function _(options) { + + if(!Cesium.defined(options.extent)) { + throw new Cesium.DeveloperError('Extent is required'); + } + + options = copyOptions(options, defaultSurfaceOptions); + + this.initialiseOptions(options); + + this.setExtent(options.extent); + + } + + _.prototype = new ChangeablePrimitive(); + + _.prototype.setExtent = function(extent) { + this.setAttribute('extent', extent); + }; + + _.prototype.getExtent = function() { + return this.getAttribute('extent'); + }; + + _.prototype.getGeometry = function() { + + if (!Cesium.defined(this.extent)) { + return; + } + + return new Cesium.RectangleGeometry({ + rectangle : this.extent, + height : this.height, + vertexFormat : Cesium.EllipsoidSurfaceAppearance.VERTEX_FORMAT, + stRotation : this.textureRotationAngle, + ellipsoid : this.ellipsoid, + granularity : this.granularity + }); + }; + + _.prototype.getOutlineGeometry = function() { + return new Cesium.RectangleOutlineGeometry({ + rectangle: this.extent + }); + } + + return _; + })(); + + _.PolygonPrimitive = (function() { + + function _(options) { + + options = copyOptions(options, defaultSurfaceOptions); + + this.initialiseOptions(options); + + this.isPolygon = true; + + } + + _.prototype = new ChangeablePrimitive(); + + _.prototype.setPositions = function(positions) { + this.setAttribute('positions', positions); + }; + + _.prototype.getPositions = function() { + return this.getAttribute('positions'); + }; + + _.prototype.getGeometry = function() { + + if (!Cesium.defined(this.positions) || this.positions.length < 3) { + return; + } + + return Cesium.PolygonGeometry.fromPositions({ + positions : this.positions, + height : this.height, + vertexFormat : Cesium.EllipsoidSurfaceAppearance.VERTEX_FORMAT, + stRotation : this.textureRotationAngle, + ellipsoid : this.ellipsoid, + granularity : this.granularity + }); + }; + + _.prototype.getOutlineGeometry = function() { + return Cesium.PolygonOutlineGeometry.fromPositions({ + positions : this.getPositions() + }); + } + return _; })(); _.CirclePrimitive = (function() { + function _(options) { if(!(Cesium.defined(options.center) && Cesium.defined(options.radius))) { @@ -338,6 +474,13 @@ var DrawHelper = (function() { }); }; + _.prototype.getOutlineGeometry = function() { + return new Cesium.CircleOutlineGeometry({ + center: this.getCenter(), + radius: this.getRadius() + }); + } + return _; })(); @@ -397,39 +540,33 @@ var DrawHelper = (function() { } return new Cesium.EllipseGeometry({ - ellipsoid : this.ellipsoid, - center : this.center, - semiMajorAxis : this.semiMajorAxis, - semiMinorAxis : this.semiMinorAxis, - rotation : this.rotation, - height : this.height, - vertexFormat : Cesium.EllipsoidSurfaceAppearance.VERTEX_FORMAT, - stRotation : this.textureRotationAngle, - ellipsoid : this.ellipsoid, - granularity : this.granularity - }); + ellipsoid : this.ellipsoid, + center : this.center, + semiMajorAxis : this.semiMajorAxis, + semiMinorAxis : this.semiMinorAxis, + rotation : this.rotation, + height : this.height, + vertexFormat : Cesium.EllipsoidSurfaceAppearance.VERTEX_FORMAT, + stRotation : this.textureRotationAngle, + ellipsoid : this.ellipsoid, + granularity : this.granularity + }); }; - return _; - })(); - - function getGeodesicPath(cartesians, granularity) { - var index, cartographicPath = ellipsoid.cartesianArrayToCartographicArray(cartesians), geodesic, increment, ellipsoidCartographicPath = []; - for(index = 0; index < cartographicPath.length - 1; index++) { - geodesic = new Cesium.EllipsoidGeodesic(cartographicPath[index], cartographicPath[index + 1]); - // add a point every granularity - var totalDistance = geodesic.getSurfaceDistance(), - distance = 0; - for(; distance < totalDistance; distance += granularity) { - ellipsoidCartographicPath.push(geodesic.interpolateUsingSurfaceDistance(distance)); - } + _.prototype.getOutlineGeometry = function() { + return new Cesium.EllipseOutlineGeometry({ + center: this.getCenter(), + semiMajorAxis: this.getSemiMajorAxis(), + semiMinorAxis: this.getSemiMinorAxis(), + rotation: this.getRotation() + }); } - ellipsoidCartographicPath.push(cartographicPath[cartographicPath.length - 1]); - return ellipsoid.cartographicArrayToCartesianArray(ellipsoidCartographicPath); - } + return _; + })(); _.PolylinePrimitive = (function() { + function _(options) { options = copyOptions(options, defaultPolylineOptions); @@ -465,19 +602,20 @@ var DrawHelper = (function() { }; _.prototype.getGeometry = function() { + if (!Cesium.defined(this.positions) || this.positions.length < 2) { return; } return new Cesium.PolylineGeometry({ - positions: this.geodesic ? getGeodesicPath(this.positions, Math.max(this.granularity, 50000)) : this.positions, - height : this.height, - width: this.width, - vertexFormat : Cesium.EllipsoidSurfaceAppearance.VERTEX_FORMAT, - ellipsoid : this.ellipsoid - }); + positions: this.positions, + height : this.height, + width: this.width < 1 ? 1 : this.width, + vertexFormat : Cesium.EllipsoidSurfaceAppearance.VERTEX_FORMAT, + ellipsoid : this.ellipsoid + }); } - + return _; })(); @@ -514,21 +652,10 @@ var DrawHelper = (function() { // create one common billboard collection for all billboards var b = new Cesium.BillboardCollection(); - var a = this._scene.getContext().createTextureAtlas(); - b.setTextureAtlas(a); - this._scene.getPrimitives().add(b); + this._scene.primitives.add(b); this._billboards = b; - this._textureAtlas = a; // keep an ordered list of billboards this._orderedBillboards = []; - - // create the image for the billboards - var image = new Image(); - var _self = this; - image.onload = function() { - a.addImage(image); - }; - image.src = options.iconUrl; } _.BillboardGroup.prototype.createBillboard = function(position, callbacks) { @@ -541,14 +668,14 @@ var DrawHelper = (function() { horizontalOrigin : Cesium.HorizontalOrigin.CENTER, verticalOrigin : Cesium.VerticalOrigin.CENTER, scale : 1.0, - imageIndex : 0, + image: this._options.iconUrl, color : new Cesium.Color(1.0, 1.0, 1.0, 1.0) }); // if editable if(callbacks) { var _self = this; - var screenSpaceCameraController = this._scene.getScreenSpaceCameraController(); + var screenSpaceCameraController = this._scene.screenSpaceCameraController; function enableRotation(enable) { screenSpaceCameraController.enableRotate = enable; } @@ -563,7 +690,7 @@ var DrawHelper = (function() { // TODO - start the drag handlers here // create handlers for mouseOut and leftUp for the billboard and a mouseMove function onDrag(position) { - billboard.setPosition(position); + billboard.position = position; // find index for (var i = 0, I = _self._orderedBillboards.length; i < I && _self._orderedBillboards[i] != billboard; ++i); callbacks.dragHandlers.onDrag && callbacks.dragHandlers.onDrag(getIndex(), position); @@ -574,10 +701,10 @@ var DrawHelper = (function() { callbacks.dragHandlers.onDragEnd && callbacks.dragHandlers.onDragEnd(getIndex(), position); } - var handler = new Cesium.ScreenSpaceEventHandler(_self._scene.getCanvas()); + var handler = new Cesium.ScreenSpaceEventHandler(_self._scene.canvas); handler.setInputAction(function(movement) { - var cartesian = _self._scene.getCamera().controller.pickEllipsoid(movement.endPosition, ellipsoid); + var cartesian = _self._scene.camera.pickEllipsoid(movement.endPosition, ellipsoid); if (cartesian) { onDrag(cartesian); } else { @@ -586,12 +713,12 @@ var DrawHelper = (function() { }, Cesium.ScreenSpaceEventType.MOUSE_MOVE); handler.setInputAction(function(movement) { - onDragEnd(_self._scene.getCamera().controller.pickEllipsoid(movement.position, ellipsoid)); + onDragEnd(_self._scene.camera.pickEllipsoid(movement.position, ellipsoid)); }, Cesium.ScreenSpaceEventType.LEFT_UP); enableRotation(false); - callbacks.dragHandlers.onDragStart && callbacks.dragHandlers.onDragStart(getIndex(), _self._scene.getCamera().controller.pickEllipsoid(position, ellipsoid)); + callbacks.dragHandlers.onDragStart && callbacks.dragHandlers.onDragStart(getIndex(), _self._scene.camera.pickEllipsoid(position, ellipsoid)); }); } if(callbacks.onDoubleClick) { @@ -635,7 +762,7 @@ var DrawHelper = (function() { _.BillboardGroup.prototype.updateBillboardsPositions = function(positions) { var index = 0; for(; index < positions.length; index++) { - this.getBillboard(index).setPosition(positions[index]); + this.getBillboard(index).position = positions[index]; } } @@ -657,7 +784,7 @@ var DrawHelper = (function() { } _.BillboardGroup.prototype.setOnTop = function() { - this._scene.getPrimitives().raiseToTop(this._billboards); + this._scene.primitives.raiseToTop(this._billboards); } _.prototype.startDrawingMarker = function(options) { @@ -674,17 +801,17 @@ var DrawHelper = (function() { var _self = this; var scene = this._scene; - var primitives = scene.getPrimitives(); + var primitives = scene.primitives; var tooltip = this._tooltip; var markers = new _.BillboardGroup(this, options); - var mouseHandler = new Cesium.ScreenSpaceEventHandler(scene.getCanvas()); + var mouseHandler = new Cesium.ScreenSpaceEventHandler(scene.canvas); // Now wait for start mouseHandler.setInputAction(function(movement) { if(movement.position != null) { - var cartesian = scene.getCamera().controller.pickEllipsoid(movement.position, ellipsoid); + var cartesian = scene.camera.pickEllipsoid(movement.position, ellipsoid); if (cartesian) { markers.addBillboard(cartesian); _self.stopDrawing(); @@ -696,7 +823,7 @@ var DrawHelper = (function() { mouseHandler.setInputAction(function(movement) { var position = movement.endPosition; if(position != null) { - var cartesian = scene.getCamera().controller.pickEllipsoid(position, ellipsoid); + var cartesian = scene.camera.pickEllipsoid(position, ellipsoid); if (cartesian) { tooltip.showAt(position, "

Click to add your marker. Position is:

" + getDisplayLatLngString(ellipsoid.cartesianToCartographic(cartesian))); } else { @@ -730,13 +857,13 @@ var DrawHelper = (function() { var _self = this; var scene = this._scene; - var primitives = scene.getPrimitives(); + var primitives = scene.primitives; var tooltip = this._tooltip; var minPoints = isPolygon ? 3 : 2; var poly; if(isPolygon) { - poly = new Cesium.Polygon(options); + poly = new DrawHelper.PolygonPrimitive(options); } else { poly = new DrawHelper.PolylinePrimitive(options); } @@ -746,12 +873,12 @@ var DrawHelper = (function() { var positions = []; var markers = new _.BillboardGroup(this, defaultBillboard); - var mouseHandler = new Cesium.ScreenSpaceEventHandler(scene.getCanvas()); + var mouseHandler = new Cesium.ScreenSpaceEventHandler(scene.canvas); // Now wait for start mouseHandler.setInputAction(function(movement) { if(movement.position != null) { - var cartesian = scene.getCamera().controller.pickEllipsoid(movement.position, ellipsoid); + var cartesian = scene.camera.pickEllipsoid(movement.position, ellipsoid); if (cartesian) { // first click if(positions.length == 0) { @@ -759,7 +886,8 @@ var DrawHelper = (function() { markers.addBillboard(positions[0]); } if(positions.length >= minPoints) { - poly.setPositions(positions); + poly.positions = positions; + poly._createPrimitive = true; } // add new point to polygon // this one will move with the mouse @@ -776,17 +904,18 @@ var DrawHelper = (function() { if(positions.length == 0) { tooltip.showAt(position, "

Click to add first point

"); } else { - var cartesian = scene.getCamera().controller.pickEllipsoid(position, ellipsoid); + var cartesian = scene.camera.pickEllipsoid(position, ellipsoid); if (cartesian) { positions.pop(); // make sure it is slightly different cartesian.y += (1 + Math.random()); positions.push(cartesian); if(positions.length >= minPoints) { - poly.setPositions(positions); + poly.positions = positions; + poly._createPrimitive = true; } // update marker - markers.getBillboard(positions.length - 1).setPosition(cartesian); + markers.getBillboard(positions.length - 1).position = cartesian; // show tooltip tooltip.showAt(position, "

Click to add new point (" + positions.length + ")

" + (positions.length > minPoints ? "

Double click to finish drawing

" : "")); } @@ -800,16 +929,13 @@ var DrawHelper = (function() { if(positions.length < minPoints + 2) { return; } else { - var cartesian = scene.getCamera().controller.pickEllipsoid(position, ellipsoid); + var cartesian = scene.camera.pickEllipsoid(position, ellipsoid); if (cartesian) { _self.stopDrawing(); if(typeof options.callback == 'function') { // remove overlapping ones var index = positions.length - 1; - // TODO - calculate some epsilon based on the zoom level - var epsilon = Cesium.Math.EPSILON3; - for(; index > 0 && positions[index].equalsEpsilon(positions[index - 1], epsilon); index--) {} - options.callback(positions.splice(0, index + 1)); + options.callback(positions); } } } @@ -818,6 +944,10 @@ var DrawHelper = (function() { } + function getExtentCorners(value) { + return ellipsoid.cartographicArrayToCartesianArray([Cesium.Rectangle.northwest(value), Cesium.Rectangle.northeast(value), Cesium.Rectangle.southeast(value), Cesium.Rectangle.southwest(value)]); + } + _.prototype.startDrawingExtent = function(options) { var options = copyOptions(options, defaultSurfaceOptions); @@ -835,24 +965,24 @@ var DrawHelper = (function() { var _self = this; var scene = this._scene; - var primitives = this._scene.getPrimitives(); + var primitives = this._scene.primitives; var tooltip = this._tooltip; var firstPoint = null; var extent = null; var markers = null; - var mouseHandler = new Cesium.ScreenSpaceEventHandler(scene.getCanvas()); + var mouseHandler = new Cesium.ScreenSpaceEventHandler(scene.canvas); function updateExtent(value) { if(extent == null) { - extent = new Cesium.ExtentPrimitive(); + extent = new Cesium.RectanglePrimitive(); extent.asynchronous = false; primitives.add(extent); } - extent.extent = value; + extent.rectangle = value; // update the markers - var corners = ellipsoid.cartographicArrayToCartesianArray([value.getNortheast(), value.getNorthwest(), value.getSoutheast(), value.getSouthwest()]); + var corners = getExtentCorners(value); // create if they do not yet exist if(markers == null) { markers = new _.BillboardGroup(_self, defaultBillboard); @@ -860,19 +990,19 @@ var DrawHelper = (function() { } else { markers.updateBillboardsPositions(corners); } - } + } // Now wait for start mouseHandler.setInputAction(function(movement) { if(movement.position != null) { - var cartesian = scene.getCamera().controller.pickEllipsoid(movement.position, ellipsoid); + var cartesian = scene.camera.pickEllipsoid(movement.position, ellipsoid); if (cartesian) { if(extent == null) { // create the rectangle firstPoint = ellipsoid.cartesianToCartographic(cartesian); var value = getExtent(firstPoint, firstPoint); updateExtent(value); - } else { + } else { _self.stopDrawing(); if(typeof options.callback == 'function') { options.callback(getExtent(firstPoint, ellipsoid.cartesianToCartographic(cartesian))); @@ -888,7 +1018,7 @@ var DrawHelper = (function() { if(extent == null) { tooltip.showAt(position, "

Click to start drawing rectangle

"); } else { - var cartesian = scene.getCamera().controller.pickEllipsoid(position, ellipsoid); + var cartesian = scene.camera.pickEllipsoid(position, ellipsoid); if (cartesian) { var value = getExtent(firstPoint, ellipsoid.cartesianToCartographic(cartesian)); updateExtent(value); @@ -917,18 +1047,18 @@ var DrawHelper = (function() { var _self = this; var scene = this._scene; - var primitives = this._scene.getPrimitives(); + var primitives = this._scene.primitives; var tooltip = this._tooltip; var circle = null; var markers = null; - var mouseHandler = new Cesium.ScreenSpaceEventHandler(scene.getCanvas()); + var mouseHandler = new Cesium.ScreenSpaceEventHandler(scene.canvas); // Now wait for start mouseHandler.setInputAction(function(movement) { if(movement.position != null) { - var cartesian = scene.getCamera().controller.pickEllipsoid(movement.position, ellipsoid); + var cartesian = scene.camera.pickEllipsoid(movement.position, ellipsoid); if (cartesian) { if(circle == null) { // create the circle @@ -936,9 +1066,7 @@ var DrawHelper = (function() { center: cartesian, radius: 0, asynchronous: false, - appearance : new Cesium.EllipsoidSurfaceAppearance({ - material : options.material - }) + material : options.material }); primitives.add(circle); markers = new _.BillboardGroup(_self, defaultBillboard); @@ -959,7 +1087,7 @@ var DrawHelper = (function() { if(circle == null) { tooltip.showAt(position, "

Click to start drawing the circle

"); } else { - var cartesian = scene.getCamera().controller.pickEllipsoid(position, ellipsoid); + var cartesian = scene.camera.pickEllipsoid(position, ellipsoid); if (cartesian) { circle.setRadius(Cesium.Cartesian3.distance(circle.getCenter(), cartesian)); markers.updateBillboardsPositions(cartesian); @@ -988,14 +1116,14 @@ var DrawHelper = (function() { var _self = this; function enableRotation(enable) { - drawHelper._scene.getScreenSpaceCameraController().enableRotate = enable; + drawHelper._scene.screenSpaceCameraController.enableRotate = enable; } setListener(billboard, 'leftDown', function(position) { // TODO - start the drag handlers here // create handlers for mouseOut and leftUp for the billboard and a mouseMove function onDrag(position) { - billboard.setPosition(position); + billboard.position = position; _self.executeListeners({name: 'drag', positions: position}); } function onDragEnd(position) { @@ -1004,10 +1132,10 @@ var DrawHelper = (function() { _self.executeListeners({name: 'dragEnd', positions: position}); } - var handler = new Cesium.ScreenSpaceEventHandler(drawHelper._scene.getCanvas()); + var handler = new Cesium.ScreenSpaceEventHandler(drawHelper._scene.canvas); handler.setInputAction(function(movement) { - var cartesian = drawHelper._scene.getCamera().controller.pickEllipsoid(movement.endPosition, ellipsoid); + var cartesian = drawHelper._scene.camera.pickEllipsoid(movement.endPosition, ellipsoid); if (cartesian) { onDrag(cartesian); } else { @@ -1016,7 +1144,7 @@ var DrawHelper = (function() { }, Cesium.ScreenSpaceEventType.MOUSE_MOVE); handler.setInputAction(function(movement) { - onDragEnd(drawHelper._scene.getCamera().controller.pickEllipsoid(movement.position, ellipsoid)); + onDragEnd(drawHelper._scene.camera.pickEllipsoid(movement.position, ellipsoid)); }, Cesium.ScreenSpaceEventType.LEFT_UP); enableRotation(false); @@ -1026,204 +1154,167 @@ var DrawHelper = (function() { enhanceWithListeners(billboard); } - + function setHighlighted(highlighted) { var scene = drawHelper._scene; // if no change // if already highlighted, the outline polygon will be available - if((this._outlinePolygon != null) == highlighted) { + if(this._highlighted && this._highlighted == highlighted) { return; } // disable if already in edit mode if(this._editMode === true) { return; } - var primitives = scene.getPrimitives(); + this._highlighted = highlighted; // highlight by creating an outline polygon matching the polygon points if(highlighted) { // make sure all other shapes are not highlighted drawHelper.setHighlighted(this); - // create the highlighting frame - this._outlinePolygon = primitives.add(new Cesium.Primitive({ - geometryInstances : new Cesium.GeometryInstance({ - geometry : this.getOutlineGeometry(), - attributes : { - color : Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.WHITE) - } - }), - appearance : new Cesium.PerInstanceColorAppearance({ - flat : true, - renderState : { - depthTest : { - enabled : true - }, - lineWidth : Math.min(4.0, scene.getContext().getMaximumAliasedLineWidth()) - } - }) - })); + this._strokeColor = this.strokeColor; + this.setStrokeStyle(Cesium.Color.fromCssColorString('white'), this.strokeWidth); } else { - primitives.remove(this._outlinePolygon); - this._outlinePolygon = null; + if(this._strokeColor) { + this.setStrokeStyle(this._strokeColor, this.strokeWidth); + } else { + this.setStrokeStyle(undefined, undefined); + } } } function setEditMode(editMode) { - // if no change - if(this._editMode == editMode) { - return; - } - // make sure all other shapes are not in edit mode before starting the editing of this shape - drawHelper.disableAllHighlights(); - // display markers - if(editMode) { - drawHelper.setEdited(this); - var scene = drawHelper._scene; - var _self = this; - // create the markers and handlers for the editing - if(this._markers == null) { - var markers = new _.BillboardGroup(drawHelper, dragBillboard); - var editMarkers = new _.BillboardGroup(drawHelper, dragHalfBillboard); - var positions = this.getPositions(); - // function for updating the edit markers around a certain point - function updateHalfMarkers(index, positions) { - // update the half markers before and after the index - var editIndex = index - 1 < 0 ? positions.length - 1 : index - 1; - if(editIndex < editMarkers.countBillboards()) { - editMarkers.getBillboard(editIndex).setPosition(calculateHalfMarkerPosition(editIndex)); - } - editIndex = index; - if(editIndex < editMarkers.countBillboards()) { - editMarkers.getBillboard(editIndex).setPosition(calculateHalfMarkerPosition(editIndex)); - } - } - function onEdited() { - _self.executeListeners({name: 'onEdited', positions: _self.getPositions()}); - } - var handleMarkerChanges = { - dragHandlers: { - onDrag: function(index, position) { - positions = _self.getPositions(); - positions[index] = position; - _self.setPositions(positions); - updateHalfMarkers(index, positions); - }, - onDragEnd: function(index, position) { - onEdited(); - } - }, - onDoubleClick: function(index) { - if(_self.getPositions().length < 4) { - return; + // if no change + if(this._editMode == editMode) { + return; + } + // make sure all other shapes are not in edit mode before starting the editing of this shape + drawHelper.disableAllHighlights(); + // display markers + if(editMode) { + drawHelper.setEdited(this); + var scene = drawHelper._scene; + var _self = this; + // create the markers and handlers for the editing + if(this._markers == null) { + var markers = new _.BillboardGroup(drawHelper, dragBillboard); + var editMarkers = new _.BillboardGroup(drawHelper, dragHalfBillboard); + // function for updating the edit markers around a certain point + function updateHalfMarkers(index, positions) { + // update the half markers before and after the index + var editIndex = index - 1 < 0 ? positions.length - 1 : index - 1; + if(editIndex < editMarkers.countBillboards()) { + editMarkers.getBillboard(editIndex).position = calculateHalfMarkerPosition(editIndex); } - // remove the point and the corresponding markers - positions = _self.getPositions(); - positions.splice(index, 1); - markers.removeBillboard(index); - editMarkers.removeBillboard(index); - _self.setPositions(positions); - updateHalfMarkers(index, positions); - onEdited(); - }, - tooltip: function() { - if(_self.getPositions().length > 3) { - return "Double click to remove this point"; + editIndex = index; + if(editIndex < editMarkers.countBillboards()) { + editMarkers.getBillboard(editIndex).position = calculateHalfMarkerPosition(editIndex); } } - }; - // add billboards and keep an ordered list of them for the polygon edges - markers.addBillboards(positions, handleMarkerChanges); - this._markers = markers; - function calculateHalfMarkerPosition(index) { - positions = _self.getPositions(); - return ellipsoid.scaleToGeodeticSurface(Cesium.Cartesian3.lerp(positions[index], positions[index < positions.length - 1 ? index + 1 : 0], 0.5)); - } - var halfPositions = []; - var index = 0; - var length = positions.length + (this.isPolygon ? 0 : -1); - for(; index < length; index++) { - halfPositions.push(calculateHalfMarkerPosition(index)); - } - var handleEditMarkerChanges = { - dragHandlers: { - onDragStart: function(index, position) { - // add a new position to the polygon but not a new marker yet - positions = _self.getPositions(); - this.index = index + 1; - positions.splice(this.index, 0, position); - _self.setPositions(positions); - }, - onDrag: function(index, position) { - positions = _self.getPositions(); - positions[this.index] = position; - _self.setPositions(positions); + function onEdited() { + _self.executeListeners({name: 'onEdited', positions: _self.positions}); + } + var handleMarkerChanges = { + dragHandlers: { + onDrag: function(index, position) { + _self.positions[index] = position; + updateHalfMarkers(index, _self.positions); + _self._createPrimitive = true; + }, + onDragEnd: function(index, position) { + _self._createPrimitive = true; + onEdited(); + } }, - onDragEnd: function(index, position) { - // create new sets of makers for editing - markers.insertBillboard(this.index, position, handleMarkerChanges); - editMarkers.getBillboard(this.index - 1).setPosition(calculateHalfMarkerPosition(this.index - 1)); - editMarkers.insertBillboard(this.index, calculateHalfMarkerPosition(this.index), handleEditMarkerChanges); + onDoubleClick: function(index) { + if(_self.positions.length < 4) { + return; + } + // remove the point and the corresponding markers + _self.positions.splice(index, 1); + _self._createPrimitive = true; + markers.removeBillboard(index); + editMarkers.removeBillboard(index); + updateHalfMarkers(index, _self.positions); onEdited(); + }, + tooltip: function() { + if(_self.positions.length > 3) { + return "Double click to remove this point"; + } } - }, - tooltip: function() { - return "Drag to create a new point"; + }; + // add billboards and keep an ordered list of them for the polygon edges + markers.addBillboards(_self.positions, handleMarkerChanges); + this._markers = markers; + function calculateHalfMarkerPosition(index) { + var positions = _self.positions; + return ellipsoid.cartographicToCartesian( + new Cesium.EllipsoidGeodesic(ellipsoid.cartesianToCartographic(positions[index]), + ellipsoid.cartesianToCartographic(positions[index < positions.length - 1 ? index + 1 : 0])). + interpolateUsingFraction(0.5) + ); } - }; - editMarkers.addBillboards(halfPositions, handleEditMarkerChanges); - this._editMarkers = editMarkers; - // add a handler for clicking in the globe - this._globeClickhandler = new Cesium.ScreenSpaceEventHandler(scene.getCanvas()); - this._globeClickhandler.setInputAction( - function (movement) { - var pickedObject = scene.pick(movement.position); - if(!(pickedObject && pickedObject.primitive)) { - _self.setEditMode(false); + var halfPositions = []; + var index = 0; + var length = _self.positions.length + (this.isPolygon ? 0 : -1); + for(; index < length; index++) { + halfPositions.push(calculateHalfMarkerPosition(index)); + } + var handleEditMarkerChanges = { + dragHandlers: { + onDragStart: function(index, position) { + // add a new position to the polygon but not a new marker yet + this.index = index + 1; + _self.positions.splice(this.index, 0, position); + _self._createPrimitive = true; + }, + onDrag: function(index, position) { + _self.positions[this.index] = position; + _self._createPrimitive = true; + }, + onDragEnd: function(index, position) { + // create new sets of makers for editing + markers.insertBillboard(this.index, position, handleMarkerChanges); + editMarkers.getBillboard(this.index - 1).position = calculateHalfMarkerPosition(this.index - 1); + editMarkers.insertBillboard(this.index, calculateHalfMarkerPosition(this.index), handleEditMarkerChanges); + _self._createPrimitive = true; + onEdited(); + } + }, + tooltip: function() { + return "Drag to create a new point"; } - }, Cesium.ScreenSpaceEventType.LEFT_CLICK); - - // set on top of the polygon - markers.setOnTop(); - editMarkers.setOnTop(); - /* - // add frame controls - function drawExtent() { - var frameExtent = _self.getExtent(); - this._extent = scene.getPrimitives().add(new Cesium.Primitive({ - geometryInstances : new Cesium.GeometryInstance({ - geometry : new Cesium.ExtentOutlineGeometry({ - extent : frameExtent - }), - attributes : { - color : Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.WHITE) - } - }), - appearance : new Cesium.PerInstanceColorAppearance({ - flat : true, - renderState : { - depthTest : { - enabled : true - }, - lineWidth : Math.min(4.0, scene.getContext().getMaximumAliasedLineWidth()) - } - }) - })); - } - drawExtent(); - */ - } - this._editMode = true; - } else { - if(this._markers != null) { - this._markers.remove(); - this._editMarkers.remove(); - this._markers = null; - this._editMarkers = null; - this._globeClickhandler.destroy(); + }; + editMarkers.addBillboards(halfPositions, handleEditMarkerChanges); + this._editMarkers = editMarkers; + // add a handler for clicking in the globe + this._globeClickhandler = new Cesium.ScreenSpaceEventHandler(scene.canvas); + this._globeClickhandler.setInputAction( + function (movement) { + var pickedObject = scene.pick(movement.position); + if(!(pickedObject && pickedObject.primitive)) { + _self.setEditMode(false); + } + }, Cesium.ScreenSpaceEventType.LEFT_CLICK); + + // set on top of the polygon + markers.setOnTop(); + editMarkers.setOnTop(); + } + this._editMode = true; + } else { + if(this._markers != null) { + this._markers.remove(); + this._editMarkers.remove(); + this._markers = null; + this._editMarkers = null; + this._globeClickhandler.destroy(); + } + this._editMode = false; } - this._editMode = false; - } + } DrawHelper.PolylinePrimitive.prototype.setEditable = function() { @@ -1232,7 +1323,7 @@ var DrawHelper = (function() { return; } - var polyline = this; + var polyline = this; polyline.isPolygon = false; polyline.asynchronous = false; @@ -1240,7 +1331,7 @@ var DrawHelper = (function() { polyline.setEditMode = setEditMode; - var originalWidth = this.getWidth(); + var originalWidth = this.width; polyline.setHighlighted = function(highlighted) { // disable if already in edit mode @@ -1256,7 +1347,7 @@ var DrawHelper = (function() { } polyline.getExtent = function() { - return Cesium.Extent.fromCartographicArray(ellipsoid.cartesianArrayToCartographicArray(this.getPositions())); + return Cesium.Extent.fromCartographicArray(ellipsoid.cartesianArrayToCartographicArray(this.positions)); } enhanceWithListeners(polyline); @@ -1265,7 +1356,7 @@ var DrawHelper = (function() { } - Cesium.Polygon.prototype.setEditable = function() { + DrawHelper.PolygonPrimitive.prototype.setEditable = function() { var polygon = this; polygon.asynchronous = false; @@ -1278,19 +1369,13 @@ var DrawHelper = (function() { polygon.setHighlighted = setHighlighted; - polygon.getOutlineGeometry = function() { - return Cesium.PolygonOutlineGeometry.fromPositions({ - positions : this.getPositions() - }); - } - enhanceWithListeners(polygon); polygon.setEditMode(false); } - Cesium.ExtentPrimitive.prototype.setEditable = function() { + DrawHelper.ExtentPrimitive.prototype.setEditable = function() { if(this.setEditMode) { return; @@ -1314,9 +1399,6 @@ var DrawHelper = (function() { drawHelper.setEdited(this); // create the markers and handlers for the editing if(this._markers == null) { - function getCorners(extent) { - return ellipsoid.cartographicArrayToCartesianArray([extent.getNortheast(), extent.getNorthwest(), extent.getSouthwest(), extent.getSoutheast()]); - } var markers = new _.BillboardGroup(drawHelper, dragBillboard); function onEdited() { extent.executeListeners({name: 'onEdited', extent: extent.extent}); @@ -1324,9 +1406,9 @@ var DrawHelper = (function() { var handleMarkerChanges = { dragHandlers: { onDrag: function(index, position) { - var corner = markers.getBillboard((index + 2) % 4).getPosition(); - extent.extent = getExtent(ellipsoid.cartesianToCartographic(corner), ellipsoid.cartesianToCartographic(position)); - markers.updateBillboardsPositions(getCorners(extent.extent)); + var corner = markers.getBillboard((index + 2) % 4).position; + extent.setExtent(getExtent(ellipsoid.cartesianToCartographic(corner), ellipsoid.cartesianToCartographic(position))); + markers.updateBillboardsPositions(getExtentCorners(extent.extent)); }, onDragEnd: function(index, position) { onEdited(); @@ -1336,14 +1418,15 @@ var DrawHelper = (function() { return "Drag to change the corners of this extent"; } }; - markers.addBillboards(getCorners(extent.extent), handleMarkerChanges); + markers.addBillboards(getExtentCorners(extent.extent), handleMarkerChanges); this._markers = markers; // add a handler for clicking in the globe - this._globeClickhandler = new Cesium.ScreenSpaceEventHandler(scene.getCanvas()); + this._globeClickhandler = new Cesium.ScreenSpaceEventHandler(scene.canvas); this._globeClickhandler.setInputAction( function (movement) { var pickedObject = scene.pick(movement.position); - if(!(pickedObject && pickedObject.primitive)) { + // disable edit if pickedobject is different or not an object + if(!(pickedObject && !pickedObject.isDestroyed() && pickedObject.primitive)) { extent.setEditMode(false); } }, Cesium.ScreenSpaceEventType.LEFT_CLICK); @@ -1364,12 +1447,6 @@ var DrawHelper = (function() { extent.setHighlighted = setHighlighted; - extent.getOutlineGeometry = function() { - return new Cesium.ExtentOutlineGeometry({ - extent: this.extent - }); - } - enhanceWithListeners(extent); extent.setEditMode(false); @@ -1431,7 +1508,7 @@ var DrawHelper = (function() { markers.addBillboards(getMarkerPositions(), handleMarkerChanges); this._markers = markers; // add a handler for clicking in the globe - this._globeClickhandler = new Cesium.ScreenSpaceEventHandler(scene.getCanvas()); + this._globeClickhandler = new Cesium.ScreenSpaceEventHandler(scene.canvas); this._globeClickhandler.setInputAction( function (movement) { var pickedObject = scene.pick(movement.position); @@ -1456,20 +1533,21 @@ var DrawHelper = (function() { ellipse.setHighlighted = setHighlighted; - ellipse.getOutlineGeometry = function() { - return new Cesium.EllipseOutlineGeometry({ - center: ellipse.getCenter(), - semiMajorAxis: ellipse.getSemiMajorAxis(), - semiMinorAxis: ellipse.getSemiMinorAxis(), - rotation: ellipse.getRotation() - }); - } - enhanceWithListeners(ellipse); ellipse.setEditMode(false); } + _.CirclePrimitive.prototype.getCircleCartesianCoordinates = function (granularity) { + var geometry = Cesium.CircleOutlineGeometry.createGeometry(new Cesium.CircleOutlineGeometry({ellipsoid: ellipsoid, center: this.getCenter(), radius: this.getRadius(), granularity: granularity})); + var count = 0, value, values = []; + for(; count < geometry.attributes.position.values.length; count+=3) { + value = geometry.attributes.position.values; + values.push(new Cesium.Cartesian3(value[count], value[count + 1], value[count + 2])); + } + return values; + }; + _.CirclePrimitive.prototype.setEditable = function() { if(this.setEditMode) { @@ -1498,7 +1576,7 @@ var DrawHelper = (function() { if(this._markers == null) { var markers = new _.BillboardGroup(drawHelper, dragBillboard); function getMarkerPositions() { - return Cesium.Shapes.computeCircleBoundary(ellipsoid, circle.getCenter(), circle.getRadius(), Math.PI / 2.0).splice(0, 4); + return _self.getCircleCartesianCoordinates(Cesium.Math.PI_OVER_TWO); } function onEdited() { circle.executeListeners({name: 'onEdited', center: circle.getCenter(), radius: circle.getRadius()}); @@ -1520,7 +1598,7 @@ var DrawHelper = (function() { markers.addBillboards(getMarkerPositions(), handleMarkerChanges); this._markers = markers; // add a handler for clicking in the globe - this._globeClickhandler = new Cesium.ScreenSpaceEventHandler(scene.getCanvas()); + this._globeClickhandler = new Cesium.ScreenSpaceEventHandler(scene.canvas); this._globeClickhandler.setInputAction( function (movement) { var pickedObject = scene.pick(movement.position); @@ -1543,14 +1621,7 @@ var DrawHelper = (function() { } } - circle.setHighlighted = setHighlighted - - circle.getOutlineGeometry = function() { - return new Cesium.CircleOutlineGeometry({ - center: circle.getCenter(), - radius: circle.getRadius() - }); - } + circle.setHighlighted = setHighlighted; enhanceWithListeners(circle); @@ -1570,7 +1641,6 @@ var DrawHelper = (function() { } var drawOptions = { - buttons: [], markerIcon: "./img/glyphicons_242_google_maps.png", polylineIcon: "./img/glyphicons_097_vector_path_line.png", polygonIcon: "./img/glyphicons_096_vector_path_polygon.png", @@ -1607,65 +1677,55 @@ var DrawHelper = (function() { var scene = drawHelper._scene; - var index; - for(index = 0; index < options.buttons.length; index++) { - addButton(options.buttons[index]); - } + addIcon('marker', options.markerIcon, 'Click to start drawing a 2D marker', function() { + drawHelper.startDrawingMarker({ + callback: function(position) { + _self.executeListeners({name: 'markerCreated', position: position}); + } + }); + }) + + addIcon('polyline', options.polylineIcon, 'Click to start drawing a 2D polyline', function() { + drawHelper.startDrawingPolyline({ + callback: function(positions) { + _self.executeListeners({name: 'polylineCreated', positions: positions}); + } + }); + }) + + addIcon('polygon', options.polygonIcon, 'Click to start drawing a 2D polygon', function() { + drawHelper.startDrawingPolygon({ + callback: function(positions) { + _self.executeListeners({name: 'polygonCreated', positions: positions}); + } + }); + }) + + addIcon('extent', options.extentIcon, 'Click to start drawing an Extent', function() { + drawHelper.startDrawingExtent({ + callback: function(extent) { + _self.executeListeners({name: 'extentCreated', extent: extent}); + } + }); + }) + + addIcon('circle', options.circleIcon, 'Click to start drawing a Circle', function() { + drawHelper.startDrawingCircle({ + callback: function(center, radius) { + _self.executeListeners({name: 'circleCreated', center: center, radius: radius}); + } + }); + }) + // add a clear button at the end // add a divider first var div = document.createElement('DIV'); div.className = 'divider'; toolbar.appendChild(div); addIcon('clear', options.clearIcon, 'Remove all primitives', function() { - scene.getPrimitives().removeAll(); + scene.primitives.removeAll(); }); - function addButton(button) { - - if(button == 'marker') { - addIcon('marker', options.markerIcon, 'Click to start drawing a 2D marker', function() { - drawHelper.startDrawingMarker({ - callback: function(position) { - _self.executeListeners({name: 'markerCreated', position: position}); - } - }); - }); - } else if(button == 'polyline') { - addIcon('polyline', options.polylineIcon, 'Click to start drawing a 2D polyline', function() { - drawHelper.startDrawingPolyline({ - callback: function(positions) { - _self.executeListeners({name: 'polylineCreated', positions: positions}); - } - }); - }); - } else if(button == 'polygon') { - addIcon('polygon', options.polygonIcon, 'Click to start drawing a 2D polygon', function() { - drawHelper.startDrawingPolygon({ - callback: function(positions) { - _self.executeListeners({name: 'polygonCreated', positions: positions}); - } - }); - }); - } else if(button == 'extent') { - addIcon('extent', options.extentIcon, 'Click to start drawing an Extent', function() { - drawHelper.startDrawingExtent({ - callback: function(extent) { - _self.executeListeners({name: 'extentCreated', extent: extent}); - } - }); - }); - } else if(button == 'circle') { - addIcon('circle', options.circleIcon, 'Click to start drawing a Circle', function() { - drawHelper.startDrawingCircle({ - callback: function(center, radius) { - _self.executeListeners({name: 'circleCreated', center: center, radius: radius}); - } - }); - }); - } - - } - enhanceWithListeners(this); } @@ -1680,7 +1740,7 @@ var DrawHelper = (function() { } function getExtent(mn, mx) { - var e = new Cesium.Extent(); + var e = new Cesium.Rectangle(); // Re-order so west < east and south < north e.west = Math.min(mn.longitude, mx.longitude); @@ -1744,25 +1804,38 @@ var DrawHelper = (function() { return cartographic.longitude.toFixed(precision || 3) + ", " + cartographic.latitude.toFixed(precision || 3); } + function clone(from, to) { + if (from == null || typeof from != "object") return from; + if (from.constructor != Object && from.constructor != Array) return from; + if (from.constructor == Date || from.constructor == RegExp || from.constructor == Function || + from.constructor == String || from.constructor == Number || from.constructor == Boolean) + return new from.constructor(from); + + to = to || new from.constructor(); + + for (var name in from) { + to[name] = typeof to[name] == "undefined" ? clone(from[name], null) : to[name]; + } + + return to; + } + function fillOptions(options, defaultOptions) { options = options || {}; var option; for(option in defaultOptions) { if(options[option] === undefined) { - options[option] = defaultOptions[option]; + options[option] = clone(defaultOptions[option]); } } } // shallow copy function copyOptions(options, defaultOptions) { - var newOptions = {}, option; - for(option in options) { - newOptions[option] = options[option]; - } + var newOptions = clone(options), option; for(option in defaultOptions) { if(newOptions[option] === undefined) { - newOptions[option] = defaultOptions[option]; + newOptions[option] = clone(defaultOptions[option]); } } return newOptions; @@ -1799,3 +1872,4 @@ var DrawHelper = (function() { return _; })(); + diff --git a/README.md b/README.md index 08f1dd4..d5e53d2 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ cesium-drawhelper DrawHelper: A very early stage shape editor for Cesium. Currently limited to 2D and simple shapes. -Cesium version: Tested against b24. +Cesium version: Tested against Cesium v1.0. License: Apache 2.0. Free for commercial and non-commercial use. See LICENSE.md. diff --git a/bower.json b/bower.json new file mode 100644 index 0000000..eda708a --- /dev/null +++ b/bower.json @@ -0,0 +1,21 @@ +{ + "name": "cesium-drawhelper", + "version": "0.0.0", + "homepage": "https://github.com/leforthomas/cesium-drawhelper", + "authors": [ + "Thomas Lefort" + ], + "description": "A very early stage shape editor for Cesium. Currently limited to 2D and simple shapes.", + "main": ["DrawHelper.js", "DrawHelper.css"], + "keywords": [ + "cesiumjs" + ], + "license": "Apache 2.0", + "ignore": [ + "**/.*", + "node_modules", + "bower_components", + "test", + "tests" + ] +} diff --git a/img/glyphicons_067_cleaning.png b/img/glyphicons_067_cleaning.png new file mode 100644 index 0000000..b6346de Binary files /dev/null and b/img/glyphicons_067_cleaning.png differ diff --git a/index.html b/index.html index 1958d39..7738bb3 100644 --- a/index.html +++ b/index.html @@ -46,20 +46,27 @@ -
-
-
-
-
+
+
+
+
+